After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 760099 - Revert tarball compression back to gzip
Revert tarball compression back to gzip
Status: RESOLVED FIXED
Product: gparted
Classification: Other
Component: application
0.24.0
Other Linux
: Normal normal
: ---
Assigned To: gparted maintainers alias
gparted maintainers alias
Depends on:
Blocks:
 
 
Reported: 2016-01-03 18:15 UTC by Curtis Gedak
Modified: 2016-01-18 17:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Change tarball compression to xz patch (v1) (989 bytes, patch)
2016-01-03 18:36 UTC, Curtis Gedak
none Details | Review
Change tarball compression to xz (v2) (1008 bytes, patch)
2016-01-04 14:20 UTC, Mike Fleetwood
none Details | Review
Revert tarball compression to gzip patch (v3) (1.00 KB, patch)
2016-01-04 17:02 UTC, Curtis Gedak
none Details | Review

Description Curtis Gedak 2016-01-03 18:15:35 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
Comment 1 Curtis Gedak 2016-01-03 18:36:52 UTC
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
Comment 2 Curtis Gedak 2016-01-03 18:39:41 UTC
Hi Mike,

Typo in comment #1.

Should read:

Patch (v1) will change the default tarball compression *TO* xz *FROM* bzip2.

Thanks,
Curtis
Comment 3 Mike Fleetwood 2016-01-04 14:20:20 UTC
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
Comment 4 Curtis Gedak 2016-01-04 16:47:57 UTC
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
Comment 5 Curtis Gedak 2016-01-04 17:02:10 UTC
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.
Comment 6 Mike Fleetwood 2016-01-05 09:10:17 UTC
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
Comment 7 Curtis Gedak 2016-01-18 17:43:56 UTC
This enhancement was included in the GParted 0.25.0 release on January 18, 2016.