aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2012-12-20 18:25:05 +0000
committerRob Austein <sra@hactrn.net>2012-12-20 18:25:05 +0000
commita2b3951f39aca9c210ef564e931e2290296dce72 (patch)
treeefc49ecd264ced542d9ddf0d2e4a33b2543c8cf2
parent78e94ec122deb64e74860833be736b2999a0fcc3 (diff)
Add "make instalation-manifest" as a first cut at something that will
automate construction of things like the pkg-plist for a FreeBSD port. This is a fairly nasty kludge, but we're kind of trapped at the intersection of two different build systems (autoconf and disttools) and a laundry list of platform-specific packaging systems, so anything we do here is likely to be nasty, and almost anything is better than trying to maintain packing lists for all those systems by hand. svn path=/trunk/; revision=4938
-rw-r--r--Makefile.in10
-rw-r--r--h/Makefile.in2
-rw-r--r--openssl/Makefile.in3
-rw-r--r--rcynic/Makefile.in3
-rw-r--r--rcynic/installation-scripts/manifest.sh23
-rw-r--r--rpkid/Makefile.in13
-rw-r--r--rpkid/portal-gui/Makefile.in15
-rw-r--r--rtr-origin/Makefile.in3
-rw-r--r--utils/Makefile.in2
-rw-r--r--utils/find_roa/Makefile.in3
-rw-r--r--utils/hashdir/Makefile.in3
-rw-r--r--utils/print_roa/Makefile.in3
-rw-r--r--utils/print_rpki_manifest/Makefile.in3
-rw-r--r--utils/scan_roas/Makefile.in3
-rw-r--r--utils/uri/Makefile.in2
15 files changed, 87 insertions, 4 deletions
diff --git a/Makefile.in b/Makefile.in
index 801443d8..3599b2d6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,5 +1,7 @@
# $Id$
+abs_top_builddir = @abs_top_builddir@
+
SUBDIRS = @TOP_LEVEL_SUBDIRS@
default: all
@@ -16,3 +18,11 @@ export:
svn export http://subvert-rpki.hactrn.net/
tar czf subvert-rpki.hactrn.net-$$(date +%Y.%m.%d).tar.gz subvert-rpki.hactrn.net
rm -rf subvert-rpki.hactrn.net
+
+installation-manifest: Makefile
+ cp /dev/null ${abs_top_builddir}/installation-manifest
+ @for i in ${SUBDIRS}; do echo "Making $@ in $$i"; (cd $$i && ${MAKE} installation-manifest); done
+ sort -u -o ${abs_top_builddir}/installation-manifest ${abs_top_builddir}/installation-manifest
+
+clean::
+ rm -f installation-manifest
diff --git a/h/Makefile.in b/h/Makefile.in
index d976661b..6202d6d7 100644
--- a/h/Makefile.in
+++ b/h/Makefile.in
@@ -17,7 +17,7 @@ rpki/sk_roa.h: rpki/roa.h
clean:
rm -f *.h.tmp
-test install deinstall uninstall:
+test install deinstall uninstall installation-manifest:
@true
distclean: clean
diff --git a/openssl/Makefile.in b/openssl/Makefile.in
index f7bb6b5b..72bba460 100644
--- a/openssl/Makefile.in
+++ b/openssl/Makefile.in
@@ -74,3 +74,6 @@ sandblast:
test: all
cd tests; ${MAKE} $@
+
+installation-manifest:
+ @true
diff --git a/rcynic/Makefile.in b/rcynic/Makefile.in
index 0370f33a..bbcc587a 100644
--- a/rcynic/Makefile.in
+++ b/rcynic/Makefile.in
@@ -57,6 +57,9 @@ install: ${BIN} installation-scripts/install.sh
uninstall deinstall:
cd installation-scripts; host_os="${host_os}"; DESTDIR="${DESTDIR}"; . ./deinstall.sh
+installation-manifest:
+ cd installation-scripts; host_os="${host_os}"; abs_top_builddir="${abs_top_builddir}"; . ./manifest.sh
+
distclean: clean
cd static-rsync; ${MAKE} $@
rm -f installation-scripts/linux/install.sh Makefile
diff --git a/rcynic/installation-scripts/manifest.sh b/rcynic/installation-scripts/manifest.sh
new file mode 100644
index 00000000..26872b1a
--- /dev/null
+++ b/rcynic/installation-scripts/manifest.sh
@@ -0,0 +1,23 @@
+#!/bin/sh -
+# $Id$
+
+echo >>${abs_top_builddir}/installation-manifest D %%RCYNICJAILDIR%%
+echo >>${abs_top_builddir}/installation-manifest D %%RCYNICJAILDIR%%/bin
+echo >>${abs_top_builddir}/installation-manifest D %%RCYNICJAILDIR%%/dev
+echo >>${abs_top_builddir}/installation-manifest D %%RCYNICJAILDIR%%/etc
+echo >>${abs_top_builddir}/installation-manifest D %%RCYNICJAILDIR%%/etc/trust-anchors
+echo >>${abs_top_builddir}/installation-manifest D %%RCYNICJAILDIR%%/var
+echo >>${abs_top_builddir}/installation-manifest D %%RCYNICJAILDIR%%/data
+
+echo >>${abs_top_builddir}/installation-manifest F %%RCYNICJAILDIR%%/bin/rcynic
+echo >>${abs_top_builddir}/installation-manifest F %%RCYNICJAILDIR%%/bin/rsync
+echo >>${abs_top_builddir}/installation-manifest F %%RCYNICJAILDIR%%/bin/rcynic-html
+
+# Not sure what to do about %%RCYNICJAILDIR%%/${libdir}/* on Linux, as we
+# don't know what goes there until we compute the transitive closure
+# of ldd dependencies. Ick. Ignore for now.
+
+case "${host_os}" in
+freebsd*) echo >>${abs_top_builddir}/installation-manifest F %%RCDIR%%/rcynic;;
+darwin*) echo >>${abs_top_builddir}/installation-manifest F /Library/StartupItems/RCynic;;
+esac
diff --git a/rpkid/Makefile.in b/rpkid/Makefile.in
index 35008fdc..c83787d9 100644
--- a/rpkid/Makefile.in
+++ b/rpkid/Makefile.in
@@ -120,6 +120,17 @@ uninstall deinstall::
distclean::
rm -f installed
+installation-manifest::
+ for i in ${SCRIPTS}; do echo >>${abs_top_builddir}/installation-manifest F %%SBINDIR%%/$$i; done
+ for i in ${AUX_SCRIPTS}; do echo >>${abs_top_builddir}/installation-manifest F %%LIBEXECDIR%%/$$i; done
+ find rpki -name .svn -prune -o -name TODO -prune -o -type f -print | awk '\
+ {print "F %%PYTHON_SITELIBDIR%%/" $$0} \
+ /\.py$$/ {print "F %%PYTHON_SITELIBDIR%%/" $$0 "c"} \
+ ' >>${abs_top_builddir}/installation-manifest
+ find rpki -name .svn -prune -o -type d -print | awk '\
+ {print "D %%PYTHON_SITELIBDIR%%/" $$0} \
+ ' >>${abs_top_builddir}/installation-manifest
+
dont-run-trang:
touch *.rng
@@ -188,7 +199,7 @@ distclean:: clean docclean
cd tests; ${MAKE} $@
rm -f TAGS Makefile
-all install clean test distclean deinstall uninstall::
+all install clean test distclean deinstall uninstall installation-manifest::
@for i in ${SUBDIRS}; do echo "Making $@ in $$i"; (cd $$i && ${MAKE} $@); done
# Scripts
diff --git a/rpkid/portal-gui/Makefile.in b/rpkid/portal-gui/Makefile.in
index 0f747f6d..0e5da9d8 100644
--- a/rpkid/portal-gui/Makefile.in
+++ b/rpkid/portal-gui/Makefile.in
@@ -59,5 +59,20 @@ deinstall uninstall:
rm -rf $(INSTDIR)/media $(INSTDIR)/wsgi
rm -rf $(SYSCONFDIR)/apache.conf $(SYSCONFDIR)/settings.py $(SYSCONFDIR)/settings.pyc
+installation-manifest:
+ echo >>${abs_top_builddir}/installation-manifest D %%SYSCONFDIR%%/rpki
+ echo >>${abs_top_builddir}/installation-manifest D %%DATAROOTDIR%%/rpki
+ echo >>${abs_top_builddir}/installation-manifest D %%DATAROOTDIR%%/rpki/wsgi
+ echo >>${abs_top_builddir}/installation-manifest D %%DATAROOTDIR%%/rpki/media
+ echo >>${abs_top_builddir}/installation-manifest D %%DATAROOTDIR%%/rpki/media/css
+ echo >>${abs_top_builddir}/installation-manifest D %%DATAROOTDIR%%/rpki/media/img
+ echo >>${abs_top_builddir}/installation-manifest D %%DATAROOTDIR%%/rpki/media/js
+ echo >>${abs_top_builddir}/installation-manifest F %%SYSCONFDIR%%/rpki/apache.conf
+ echo >>${abs_top_builddir}/installation-manifest F %%SYSCONFDIR%%/rpki/settings.py
+ echo >>${abs_top_builddir}/installation-manifest F %%DATAROOTDIR%%/rpki/wsgi/rpki.wsgi
+ find $(srcdir)/../rpki/gui/app/static/css $(srcdir)/../rpki/gui/app/static/js $(srcdir)/../rpki/gui/app/static/img \
+ -name .svn -prune -o -type f -print | \
+ sed 's=$(srcdir)/../rpki/gui/app/static=F %%DATAROOTDIR%%/rpki/media=' >>${abs_top_builddir}/installation-manifest
+
test:
@true
diff --git a/rtr-origin/Makefile.in b/rtr-origin/Makefile.in
index 8a50e528..80ff2b50 100644
--- a/rtr-origin/Makefile.in
+++ b/rtr-origin/Makefile.in
@@ -34,6 +34,9 @@ install: all
deinstall uninstall:
rm -f ${DESTDIR}${bindir}/${BIN}
+installation-manifest:
+ echo >>${abs_top_builddir}/installation-manifest F %%BINDIR%%/${BIN}
+
distclean: clean
rm -rf current sockets *.ax *.ix.*
rm -f Makefile
diff --git a/utils/Makefile.in b/utils/Makefile.in
index 11c8d17b..7f59f132 100644
--- a/utils/Makefile.in
+++ b/utils/Makefile.in
@@ -2,7 +2,7 @@
SUBDIRS = uri print_rpki_manifest print_roa hashdir find_roa scan_roas
-all clean test distclean install deinstall uninstall::
+all clean test distclean install deinstall uninstall installation-manifest::
@for i in ${SUBDIRS}; do echo "Making $@ in $$i"; (cd $$i && ${MAKE} $@); done
distclean::
diff --git a/utils/find_roa/Makefile.in b/utils/find_roa/Makefile.in
index ebb77106..438071d9 100644
--- a/utils/find_roa/Makefile.in
+++ b/utils/find_roa/Makefile.in
@@ -49,6 +49,9 @@ install: all
deinstall uninstall:
rm -f ${DESTDIR}${bindir}/${BIN}
+installation-manifest:
+ echo >>${abs_top_builddir}/installation-manifest F %%BINDIR%%/${BIN}
+
distclean: clean
rm -rf hashed-pem-dir
rm -f Makefile
diff --git a/utils/hashdir/Makefile.in b/utils/hashdir/Makefile.in
index c0cf448a..66b2cc25 100644
--- a/utils/hashdir/Makefile.in
+++ b/utils/hashdir/Makefile.in
@@ -48,6 +48,9 @@ install: all
if test -d ${DESTDIR}${bindir} ; then :; else ${INSTALL} -d ${DESTDIR}${bindir}; fi
${INSTALL} ${BIN} ${DESTDIR}${bindir}
+installation-manifest:
+ echo >>${abs_top_builddir}/installation-manifest F %%BINDIR%%/${BIN}
+
deinstall uninstall:
rm -f ${DESTDIR}${bindir}/${BIN}
diff --git a/utils/print_roa/Makefile.in b/utils/print_roa/Makefile.in
index 5999b351..9bb83bc2 100644
--- a/utils/print_roa/Makefile.in
+++ b/utils/print_roa/Makefile.in
@@ -48,5 +48,8 @@ install: all
deinstall uninstall:
rm -f ${DESTDIR}${bindir}/${BIN}
+installation-manifest:
+ echo >>${abs_top_builddir}/installation-manifest F %%BINDIR%%/${BIN}
+
distclean: clean
rm -f Makefile
diff --git a/utils/print_rpki_manifest/Makefile.in b/utils/print_rpki_manifest/Makefile.in
index 22f1b16b..513afa34 100644
--- a/utils/print_rpki_manifest/Makefile.in
+++ b/utils/print_rpki_manifest/Makefile.in
@@ -48,5 +48,8 @@ install: all
deinstall uninstall:
rm -f ${DESTDIR}${bindir}/${BIN}
+installation-manifest:
+ echo >>${abs_top_builddir}/installation-manifest F %%BINDIR%%/${BIN}
+
distclean: clean
rm -f Makefile
diff --git a/utils/scan_roas/Makefile.in b/utils/scan_roas/Makefile.in
index 3d86532d..f61ebd3c 100644
--- a/utils/scan_roas/Makefile.in
+++ b/utils/scan_roas/Makefile.in
@@ -48,5 +48,8 @@ install: all
deinstall uninstall:
rm -f ${DESTDIR}${bindir}/${BIN}
+installation-manifest:
+ echo >>${abs_top_builddir}/installation-manifest F %%BINDIR%%/${BIN}
+
distclean: clean
rm -f Makefile
diff --git a/utils/uri/Makefile.in b/utils/uri/Makefile.in
index fc545060..79ffe3d0 100644
--- a/utils/uri/Makefile.in
+++ b/utils/uri/Makefile.in
@@ -24,7 +24,7 @@ ${BIN}: ${SRC}
test:
@true
-install deinstall uninstall:
+install deinstall uninstall installation-manifest:
@true
distclean: clean