Bazaar Export Command Not Handling Long Path Names
John Arbash Meinel
john at arbash-meinel.com
Thu May 22 14:57:58 BST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Andrew Cowie wrote:
| On Wed, 2008-05-21 at 12:49 -0500, John Arbash Meinel wrote:
|> You can always 'bzr export ../directory; cd ..; tar cvjf directory.tar.bz2
|> directory'
|
| Yeah, close to what we do when we do `make dist`. This allows us to
| remove a few things that just don't need to be in the tarball we
| release.
|
| (didn't know about the length limitation)
|
|
| Our Makefile target is something like this:
|
| dist: all
| @echo -e "CHECK fully committed state"
| bzr diff > /dev/null || kaboom
|
| @echo -e "EXPORT tmp/java-gnome-$(VERSION)"
| -rm -rf tmp/java-gnome-$(VERSION)
| bzr export --format=dir tmp/java-gnome-$(VERSION)
|
| @echo -e "RM non essential files"
| rm -r tmp/java-gnome-$(VERSION)/lib
| rm -r tmp/java-gnome-$(VERSION)/web
| rm tmp/java-gnome-$(VERSION)/.aspell.en.pws
|
| @echo -e "TAR java-gnome-$(VERSION).tar.bz2"
| tar cjf java-gnome-$(VERSION).tar.bz2 -C tmp java-gnome-$(VERSION)
| rm -r tmp/java-gnome-$(VERSION)
|
|
| (where $VERSION is something we have our ./configure script populate
| into the .config that is sourced by the Makefile)
|
| We do the export into a directory in tmp/ and then use the `tar ... -C
| tmp` idiom to switch there first so that all the paths in the .tar.bz2
| are projectname-version/* , since that is Good Form in open source
| release engineering terms.
Sure. It is actually something that 'bzr export --format=tar' also supports. I
believe it takes the basename of the export file, sans extension. So doing:
bzr export ../releases/foo-1.5.tar.gz
will export the files to
foo-1.5/bzr
foo-1.5/Makefile
etc.
We've talked about the ability to add filtering to export. However for bzr
itself, we need to be able to *add* files. Specifically we run 'make' so that we
will have access to the '*.c' files.
Sort of like running automake/autoconf for a released tarball. (AIUI, people who
use the full system don't version their Makefile.in files, or their 'configure'
script, but build all of that as part of 'make dist'.)
|
| AfC
| Sydney
|
I suppose tarballs can be appended to. So you *could* create a tarball with bzr
export foo.tar and then just append the extra files you need into it. Exporting
to a directory works a bit better, though.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkg1e+YACgkQJdeBCYSNAAOzgQCfRczNyZHoewCPxDv9MEI5xLuz
wwkAoMOFwLU/KHj5c+rmdonqJaZRtVZ9
=zgcc
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list