← Back to team overview

yellow team mailing list archive

[Merge] lp:~frankban/juju-gui/distfile-fixes into lp:juju-gui

 

Francesco Banconi has proposed merging lp:~frankban/juju-gui/distfile-fixes into lp:juju-gui.

Requested reviews:
  Juju GUI Hackers (juju-gui)
Related bugs:
  Bug #1092083 in juju-gui: "Symbolic links are broken in release tarballs."
  https://bugs.launchpad.net/juju-gui/+bug/1092083

For more details, see:
https://code.launchpad.net/~frankban/juju-gui/distfile-fixes/+merge/140662

Fix broken symbolic links in release tarballs.

Now, when the release is created (make distfile) the symbolic links
are followed.

Another solution could be to create relative links in "make build*".
However, I preferred to dereference the links for two reasons:
- it is simple;
- it allows uncompresing our release also in filesystems not supporting
  symlinks.

https://codereview.appspot.com/6962044/

-- 
https://code.launchpad.net/~frankban/juju-gui/distfile-fixes/+merge/140662
Your team Juju GUI Hackers is requested to review the proposed merge of lp:~frankban/juju-gui/distfile-fixes into lp:juju-gui.
=== modified file 'Makefile'
--- Makefile	2012-12-18 22:18:29 +0000
+++ Makefile	2012-12-19 13:09:29 +0000
@@ -399,8 +399,9 @@
 	@echo "$(BRANCH_IS_CLEAN)"
 ifdef BRANCH_IS_GOOD
 	mkdir -p releases
-	tar c --auto-compress --exclude-vcs --exclude releases \
-	    --transform "s|^|$(RELEASE_NAME)/|" -f $(RELEASE_FILE) *
+	# When creating the tarball, ensure all symbolic links are followed.
+	tar -c --auto-compress --exclude-vcs --exclude releases \
+	    --dereference --transform "s|^|$(RELEASE_NAME)/|" -f $(RELEASE_FILE) *
 	@echo "Release was created in $(RELEASE_FILE)."
 else
 	@echo "**************************************************************"


Follow ups