On 29.05.2009 15:30, Peter Stuge wrote:
The issue is that we do not create the snapshot tarballs. We should, and part of that process would be to replace SVNDEF in Makefile.
We do provide snapshots of all repositories, but they are scattered all over the place and I can't remember where flashrom ends up. I agree that we need to have a page which points to all snapshots.
I didn't quite understand what patch you propose though. :\
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.
Thanks to Peter Stuge for the suggestion to fix SVNDEF in the Makefile.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-packaging_export/Makefile =================================================================== --- flashrom-packaging_export/Makefile (Revision 555) +++ flashrom-packaging_export/Makefile (Arbeitskopie) @@ -40,9 +40,14 @@
# 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 subversion. +SVNVERSION := $(shell LANG=C svnversion -cn . | sed -e "s/.*://" -e "s/([0-9]*).*/\1/" | grep "[0-9]" || echo unknown)
+VERSION := 0.9.0-r$(SVNVERSION) + +SVNDEF := -D'FLASHROM_VERSION="$(VERSION)"' + $(PROGRAM): $(OBJS) $(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
@@ -80,6 +85,15 @@ $(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin $(INSTALL) -m 0644 $(PROGRAM).8 $(DESTDIR)$(MANDIR)/man8
+export: + @svn export . flashrom-$(VERSION) + @sed "s/^SVNVERSION.*/SVNVERSION := $(SVNVERSION)/" Makefile >flashrom-$(VERSION)/Makefile + @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 555) +++ flashrom-packaging_export/README (Arbeitskopie) @@ -15,6 +15,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 modify +Makefile in that directory to contain the svn revision of the tree. + +make tarball will simply tar up the result of make export and gzip compress it. + + Build Instructions ------------------