By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 1782

Summary: [Packaging] Switch debian/ubuntu package format to quilt
Product: TDE Reporter: Slávek Banko <slavek.banko>
Component: debianAssignee: Timothy Pearson <kb9vqf>
Status: RESOLVED FIXED    
Severity: major CC: bugwatch, kb9vqf, slavek.banko
Priority: P5    
Version: R14.0.0 [Trinity]   
Hardware: Other   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name:

Description Slávek Banko 2013-12-23 19:46:43 CST
Newer versions of dpkg includes version control, whether native packages do not contain revision. See:

http://anonscm.debian.org/gitweb/?p=dpkg/dpkg.git;a=commitdiff;h=acc1f37
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700177

This makes it impossible to continue using the native package format in our way of labeling versions. Since the new version of dpkg has been accepted into Jessie (From Debian PTS: [2013-12-23] dpkg 1.17.5 MIGRATED to testing), switch to quilt format will no longer be "forward-looking" but "necessary".

Notes: Thanks to the recent transition of patching mechanisms from "simple" and "dpatch" to "quilt" is packages ready to change the format from native to quilt. In my scripts to prepare deb packages I already converting native => quilt automatically. For SRU version is already used quilt package format for a long time.
Comment 1 Timothy Pearson 2013-12-28 04:49:07 CST
The automated build system has been updated to use the quilt 3.0 format (overriding the debian/source/format file for all packages).  Builds are now under way.

Do you mind pushing a patch to tde-packaging for Debian and Ubuntu that updates all the debian/source/format to use quilt 3.0?  Obviously I prefer have the tde-packaging GIT files match the package control files from the autobuild system. ;-)

Thanks!
Comment 2 Slávek Banko 2013-12-28 05:24:58 CST
For me, I have no problem with the change format in tde-packaging. As I indicated in my scripts this change I also doing. Along with change to quilt can be commented out in debian/rules (except for lenny):

include /usr/share/cdbs/1/rules/patchsys-quilt.mk

For information, if the compression orig tarball use xz instead gz, source tarballs would be smaller by about 25%.
Comment 3 Timothy Pearson 2013-12-28 05:29:49 CST
(In reply to comment #2)
> For me, I have no problem with the change format in tde-packaging. As I
> indicated in my scripts this change I also doing. Along with change to quilt
> can be commented out in debian/rules (except for lenny):
> 
> include /usr/share/cdbs/1/rules/patchsys-quilt.mk

Feel free to make the appropriate changes in GIT.

> For information, if the compression orig tarball use xz instead gz, source
> tarballs would be smaller by about 25%.

I saw that and fixed it shortly after that first .gz test upload.  When tdelibs receives an update .xz will be used when it is rebuilt. ;-)

Thanks!

Tim
Comment 4 Slávek Banko 2013-12-28 06:21:06 CST
Patch pushed to GIT in hash 14678cd6.

If for any package problems arise, we can re-open this bug.

By the way, how did you deal with version orig.tar.xz for meta packages and default settings packages?

I'm in my script as a version count commits in tde-packaging across all supported versions (except debian folder). For 'packaging' version then count only debian folder in the appropriate distribution / package. As a result, I have, for example:

kubuntu-meta-trinity_14.0.0~pre9-0ubuntu13.10.0+5
redmond-default-settings-trinity_14.0.0~pre22-0ubuntu13.10.0+11
Comment 5 Timothy Pearson 2013-12-28 17:22:11 CST
(In reply to comment #4)
> Patch pushed to GIT in hash 14678cd6.
> 
> If for any package problems arise, we can re-open this bug.
> 
> By the way, how did you deal with version orig.tar.xz for meta packages and
> default settings packages?

I thought I had it dealt with; on further testing I guess not!

I am exploring a couple different options to fix this.

> I'm in my script as a version count commits in tde-packaging across all
> supported versions (except debian folder). For 'packaging' version then count
> only debian folder in the appropriate distribution / package. As a result, I
> have, for example:
> 
> kubuntu-meta-trinity_14.0.0~pre9-0ubuntu13.10.0+5
> redmond-default-settings-trinity_14.0.0~pre22-0ubuntu13.10.0+11
Comment 6 Timothy Pearson 2013-12-28 18:18:57 CST
There was no good way to fix this as quilt does not support binary files and I did not want to prevent distro maintainers from changing binaries on different distributions and/or versions.  Additionally, I did not want any distro-specific files to end up in the main TDE GIT repository.

The only way I found out of this mess was to move the distro-specific files (i.e. everything!) into a subfolder of the debian/ folder, then move the files back out immediately before launching the build process.  This way the distro-specific files (including all the binary files) are compressed into the debian.tar.xz file as they should be, while the .orig.tar.xz file is an empty placeholder.

This method requires --source-option=--include-binaries to be passed to debuild, but this is a small price to pay IMHO for navigating the quilt morass. ;-)
Comment 7 Slávek Banko 2013-12-28 18:35:03 CST
I had tested that all defaultsettings and metapackages have the same content (regardless of the debian folder, but even that is now also identical) == may be a common orig.tar.xz common to all Debianu/Ubuntu distributions.

That's why I prepared this way in my script. And script seemed to be working successfully. That was before the moving everything into debian folder...
Comment 8 Timothy Pearson 2013-12-28 20:30:31 CST
(In reply to comment #7)
> I had tested that all defaultsettings and metapackages have the same content
> (regardless of the debian folder, but even that is now also identical) == may
> be a common orig.tar.xz common to all Debianu/Ubuntu distributions.
> 
> That's why I prepared this way in my script. And script seemed to be working
> successfully. That was before the moving everything into debian folder...

Right, but if there was any change desired (even a different wallpaper for e.g. Ubuntu Saucy vs. other Ubuntu versions) it could not be done due to the common source file.  This way we have the option of customizing the default settings packages for any particular distribution and/or version *if desired*. ;-)
Comment 9 Slávek Banko 2013-12-28 21:18:21 CST
(Odpověď na komentář #8)
> (In reply to comment #7)
> > I had tested that all defaultsettings and metapackages have the same content
> > (regardless of the debian folder, but even that is now also identical) == may
> > be a common orig.tar.xz common to all Debianu/Ubuntu distributions.
> > 
> > That's why I prepared this way in my script. And script seemed to be working
> > successfully. That was before the moving everything into debian folder...
> 
> Right, but if there was any change desired (even a different wallpaper for e.g.
> Ubuntu Saucy vs. other Ubuntu versions) it could not be done due to the common
> source file.  This way we have the option of customizing the default settings
> packages for any particular distribution and/or version *if desired*. ;-)

I understand, but even so, it might be useful to keep the same files in common orig.tar.xz and to deal only differences - when it will be desirable. This could then serve by classic patch or individual files in debian folder - can be also binary, if the file name will be added into file debian/source/include-binaries. Such a solution would not require any additional work.

Or it could be used possibility have multiple source tarballs - for example kubuntu-default-settings-trinity_14.0.0~pre22.orig-saucy-r1.tar.xz, that will be extracted to a folder sauce-r1 in sources. However, such a solution would have required more work on the script for the creating deb sources.
Comment 10 Timothy Pearson 2013-12-28 21:48:59 CST
I tried to do something like that, but when I found that quilt did not support binary files I abandoned the attempt.  I want people to be able to pull the files from GIT and build the package without needing a fancy script to do it for them. ;-)

Tim
Comment 11 Slávek Banko 2013-12-28 23:48:18 CST
(Odpověď na komentář #10)
> I tried to do something like that, but when I found that quilt did not support
> binary files I abandoned the attempt.  I want people to be able to pull the
> files from GIT and build the package without needing a fancy script to do it
> for them. ;-)
> 
> Tim

Sure, so exactly what is possible without the fancy script when binary patches and files are listed in debian/source/include-binaries ;)
Comment 12 Slávek Banko 2013-12-30 21:30:29 CST
In commit 74552080 was added lists include-binaries. Thanks to this lists is no longer needed extra options related to binaries.