This patch introduces two new targets which are designed to make the life of packagers easier. In particular, it should no longer be necessary to patch the makefile for hassle-free compilation.
The two new targets are: make export make tarball Both preserve svn revisions and the exported tree does not depend on subversion in any way or shape.
Documentation for this feature has been added to README.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-packaging_export/Makefile =================================================================== --- flashrom-packaging_export/Makefile (Revision 505) +++ flashrom-packaging_export/Makefile (Arbeitskopie) @@ -41,9 +41,15 @@
# Set the flashrom version string from the highest revision number # of the checked out flashrom files. -SVNDEF := -D'FLASHROM_VERSION="0.9.0-r$(shell svnversion -cn . \ - | sed -e "s/.*://" -e "s/([0-9]*).*/\1/")"' +# Note to packagers: Any tree exported with "make export" or "make tarball" +# will not require any working subversion command. +SVNVERSION := $(shell (LANG=C svnversion -cn . | grep -v exported || cat .svnversion) \ + | sed -e "s/.*://" -e "s/([0-9]*).*/\1/")
+VERSION := 0.9.0-r$(SVNVERSION) + +SVNDEF := -D'FLASHROM_VERSION="$(VERSION)"' + $(PROGRAM): $(OBJS) $(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS) $(STRIP) $(STRIP_ARGS) $(PROGRAM) @@ -78,6 +84,15 @@ mkdir -p $(PREFIX)/share/man/man8 $(INSTALL) $(PROGRAM).8 $(PREFIX)/share/man/man8
+export: + @svn export . flashrom-$(VERSION) + @echo -n $(SVNVERSION) >flashrom-$(VERSION)/.svnversion + @echo Exported flashrom repository contents to flashrom-$(VERSION)/ + +tarball: export + @tar cfz flashrom-$(VERSION).tar.gz flashrom-$(VERSION)/ + @echo Created tarball of repository contents at flashrom-$(VERSION).tar.gz + .PHONY: all clean distclean dep pciutils
-include .dependencies Index: flashrom-packaging_export/README =================================================================== --- flashrom-packaging_export/README (Revision 505) +++ flashrom-packaging_export/README (Arbeitskopie) @@ -12,6 +12,21 @@ (see http://coreboot.org for details on coreboot)
+Packaging +--------- + +To package flashrom and remove dependencies on subversion, either use +make export +or +make tarball + +make export will export all flashrom files from the subversion repository into +a directory named flashrom-$VERSION-r$SVNREVISION and will additionally create +a file .svnversion in that directory which stores the svn revision of the tree. + +make tarball will simply tar up the result of make export and gzip compress it. + + Build Requirements ------------------