diff options
author | Rob Austein <sra@hactrn.net> | 2012-12-20 18:25:05 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2012-12-20 18:25:05 +0000 |
commit | a2b3951f39aca9c210ef564e931e2290296dce72 (patch) | |
tree | efc49ecd264ced542d9ddf0d2e4a33b2543c8cf2 | |
parent | 78e94ec122deb64e74860833be736b2999a0fcc3 (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.in | 10 | ||||
-rw-r--r-- | h/Makefile.in | 2 | ||||
-rw-r--r-- | openssl/Makefile.in | 3 | ||||
-rw-r--r-- | rcynic/Makefile.in | 3 | ||||
-rw-r--r-- | rcynic/installation-scripts/manifest.sh | 23 | ||||
-rw-r--r-- | rpkid/Makefile.in | 13 | ||||
-rw-r--r-- | rpkid/portal-gui/Makefile.in | 15 | ||||
-rw-r--r-- | rtr-origin/Makefile.in | 3 | ||||
-rw-r--r-- | utils/Makefile.in | 2 | ||||
-rw-r--r-- | utils/find_roa/Makefile.in | 3 | ||||
-rw-r--r-- | utils/hashdir/Makefile.in | 3 | ||||
-rw-r--r-- | utils/print_roa/Makefile.in | 3 | ||||
-rw-r--r-- | utils/print_rpki_manifest/Makefile.in | 3 | ||||
-rw-r--r-- | utils/scan_roas/Makefile.in | 3 | ||||
-rw-r--r-- | utils/uri/Makefile.in | 2 |
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 |