GNOME Bugzilla – Bug 760099
Revert tarball compression back to gzip
Last modified: 2016-01-18 17:43:56 UTC
It appears that Debian has deprecated the use of bzip2 for source code tarballs. I am basing this on the status of the GParted 0.24.0-1 package in Debian, which appears to be held up due to the use of bzip2. Debian Bug Tracker https://tracker.debian.org/pkg/gparted uses-deprecated-compression-for-data-tarball https://lintian.debian.org/tags/uses-deprecated-compression-for-data-tarball.html Patch to follow. Curtis
Created attachment 318186 [details] [review] Change tarball compression to xz patch (v1) Hi Mike, Patch (v1) will change the default tarball compression from xz to bzip2. Currently the Debian packager will not permit acceptance of Debian packages that store the source code using deprecated bzip2 compression. Curtis
Hi Mike, Typo in comment #1. Should read: Patch (v1) will change the default tarball compression *TO* xz *FROM* bzip2. Thanks, Curtis
Created attachment 318213 [details] [review] Change tarball compression to xz (v2) Hi Curtis, Aren't autotools complicated ... This change further breaks [1] the build from git on the old, but still supported RedHat/CentOS 5 distro like this: $ git clone git://git.gnome.org/gparted $ cd gparted $ ./autogen.sh ... Running automake-1.9... configure.ac:8: option `dist-xz' not recognized A build from a released tarball on RedHat/CentOS 5 still works though. [1] On RedHat/CentOS 5 I already have to lower the minimum required version of intltool to build from git. (I vaguely remember reading that intltool version 0.35.5 was needed to fix some GNOME build type issue. I assume Red Hat back ported a fix for that issue into intltool 0.35.0 on RedHat/CentOS 5). I use this extra step to build from git on RedHat/CentOS 5: $ git clone git://git.gnome.org/gparted $ cd gparted >>> $ sed -i '/IT_PROG_INTLTOOL/s/0.35.5/0.35.0/' configure.ac $ ./autogen.sh ... After some research of automake versions I determined that the dist-xz option was newly introduced in automake 1.11. To continue to use the dist-xz option and distribute .tar.xz archives and require automake 1.11 the line in configure.ac should be: AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz]) Instead to distribute .tar.gz archives and only require automake 1.9 the like in configure.ac should be: AM_INIT_AUTOMAKE([1.9]) I see from SourceForge that we last distributed gzip archive for gparted-0.3.3 in 2006-12-06. From gparted-0.3.5 in 2008-02-04 bzip2 archives were produced. From a size point of view I don't think it really matters that gzips are a lot larger than xz. For the record here are the sizes: $ ls -lrt gparted-0.24.0-git.tar.* -rw-rw-r--. 1 mike mike 1898572 Jan 4 11:27 gparted-0.24.0-git.tar.xz -rw-rw-r--. 1 mike mike 2255663 Jan 4 11:54 gparted-0.24.0-git.tar.bz2 -rw-rw-r--. 1 mike mike 3189094 Jan 4 11:55 gparted-0.24.0-git.tar.gz I've just had a read through the Fedora Packaging Guidelines [2][3] and didn't see any preference to archive format, other than when creating an RPM to pick the smallest if upstream sources are available in multiple archive formats [4]. [2] Packaging Guidelines https://fedoraproject.org/wiki/Packaging:Guidelines [3] How to create an RPM package https://fedoraproject.org/wiki/How_to_create_an_RPM_package [4] Source URL / Referencing Source https://fedoraproject.org/wiki/Packaging:SourceURL#Referencing_Source Lets move to the newer xz compressed archives, but get the automake version requirement correct. Also added release date of dpkg 1.17.7 to the commit message as just a version number is meaningless to me. I've successfully run "make distcheck" on CentOS 6, CentOS 7. On recent Fedoras "make distcheck" is failing with: The following files contain translations and are currently not in use. Please consider adding these to the POTFILES.in file, located in the po/ directory. sub/gparted.desktop.in If some of these files are left out on purpose then please add them to POTFILES.skip instead of POTFILES.in. A file 'missing' containing this list of left out files has been written in the current directory. Please report to https://bugzilla.gnome.org/enter_bug.cgi?product=gparted However "make dist && tar xf gparted-0.24.0-git.tar.xz && cd gparted-0.24.0-git && ./configure && make" does succeed on Fedora 22 and Fedora 23. With this updated patch then the build from git correctly stops on RedHat/CentOS 5 like this: $ ./autogen.sh ... Running automake-1.9... configure.ac:8: require Automake 1.11, but have 1.9.6 Now fix with this extra sed substitution and the build from git works and even successfully passes "make distcheck" and creates a larger gzip archive. $ sed -i '/IT_PROG_INTLTOOL/s/0.35.5/0.35.0/;/AM_INIT_AUTOMAKE/s/1.11 no-dist-gzip dist-xz/1.9/' configure.ac $ ./autogen.sh $ make distcheck ... ==================================================== gparted-0.24.0-git archives ready for distribution: gparted-0.24.0-git.tar.gz ==================================================== Thanks, Mike
Since changing the tarball compression from bzip2 to xz causes other issues with older distros, instead revert back to gzip compression. Change title from: Change tarball compression to xz from deprecated bzip2 to: Revert tarball compression back to gzip
Created attachment 318221 [details] [review] Revert tarball compression to gzip patch (v3) After a brief discussion on IRC, Mike and I came to the conclusion that it would be best for backward compatibility and also ease release efforts if we use gzip instead of xz. Reasons are: 1) Bandwidth is not really an issue (Live image much more popular): SF.net shows 1,500 downloads of GParted 0.24.0 source at 2.3 MiB. But 31,000 downloads of GParted live CD image at 260 MiB. 2) All supported distros support gzip. The accompanying patch (v3) reverts tarball compression back to gzip.
Hi Curtis, I've successfully tested "make disk" works and the .tar.gz archive builds on CentOS 5[1], 6, 7 and Fedora 23. I've pushed the commit upstream to the GIT repository for inclusion in the next release of GParted. [1] With build from git workaround on RedHat/CentOS 5 described in above in comment 3. Revert tarball compression to gzip (#760099) https://git.gnome.org/browse/gparted/commit/?id=2f6325d0efd91597ee35e298dfe060be010517da Thanks, Mike
This enhancement was included in the GParted 0.25.0 release on January 18, 2016.