[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#484948: marked as done (gnat-4.3: FTBFS when converted to new source format 3.0 (quilt): due to patches that require -p0)



Your message dated Tue, 25 May 2010 09:19:18 +0200
with message-id <20100525071918.GA30204@rivendell>
and subject line Release goal 3.0-quilt-by-default is dropped
has caused the Debian Bug report #484948,
regarding gnat-4.3: FTBFS when converted to new source format 3.0 (quilt): due to patches that require -p0
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
484948: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484948
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gnat-4.3
Version: 4.3.0-6
Severity: minor
Usertags: 3.0-quilt-by-default

To prepare a possible switch to the new source package format "3.0
(quilt)" [1], I converted all source packages and tried to rebuild them.
Unfortunately, gnat-4.3 failed, you can try yourself with those
commands (and dpkg-dev >= 1.14.19 [2]) :

$ apt-get source gnat-4.3
$ sed -i -e '/^Source:/ aFormat: 3.0 (quilt)' gnat-4.3-4.3.0/debian/control
$ dpkg-source -b gnat-4.3-4.3.0
$ dpkg-source -x gnat-4.3_4.3.0-6.dsc
$ cd gnat-4.3-4.3.0 && debuild -us -uc

In this process, if the .diff.gz contains changes to upstream files,
dpkg-source will have created a corresponding patch in
debian/patches/debian-changes-4.3.0-6 and will have registered that
patch in a quilt series (debian/patches/series, it is created if needed).
All the patches listed in the "series" file are applied directly during
the extraction (dpkg-source -x). quilt itself is used if available (and
will thus lead to the creation of the .pc directory), otherwise
dpkg-source applies the patches by itself. For more information about the
new source package format see the manual page dpkg-source(1).

In the case of gnat-4.3, it already uses quilt but some of the patches
require the '-p0' option of patch to be properly applied and this
option has been hardcoded in the series file. The new source package
format doesn't support this quilt feature and requires patches
to be applicable with the '-p1' option.

You can use the following command to easily update all the patches
that use the '-p0' option:
$ awk '{ if ($2 == "-p0") print $1 }' debian/patches/series | while read f; do perl -pi -e 's|^--- (?:\./)?|--- a/|; s|^\+\+\+ (?:\./)?|+++ b/|;' debian/patches/$f ; done

Not that you can replace "a" by "gnat-4.3-4.3.0.orig" and
"b" by "gnat-4.3-4.3.0" if you prefer.

Then don't forget to strip the "-p0" options from debian/patches/series.

As a side note, you must also pay attention to the following points in your
quilt usage to guarantee compatibility with the new source package
format:
- the patches must be in debian/patches/ together with the "series" file
  (you can use QUILT_PATCHES=debian/patches if needed)
- you should not override QUILT_PC to change the location of quilt's
  internal directory (".pc" by default)
- the patches should not reference absolute filenames (in +++/--- lines)
- your clean target must work even if the patches are already applied
- your build target must work with patches applied even if the clean
  target is supposed to unapply them (because dpkg-source -b might
  have applied them back)

Cheers,

[1] http://lists.debian.org/debian-devel-announce/2008/04/msg00004.html
[2] the upcoming dpkg-dev 1.14.20 is more tolerant with patches, you can
grab it here if you want to try with that version:
http://people.debian.org/~hertzog/packages/dpkg-dev_1.14.20_all.deb
-- 
Raphael Hertzog




--- End Message ---
--- Begin Message ---
Hello,

as announced in http://lists.debian.org/debian-devel-announce/2010/05/msg00010.html
the dpkg team no longer has any plan to switch the default source format
to "3.0 (quilt)" and as such this bug is meaningless.

However you have to create a debian/source/format file and be explicit
about the format that you want. That file will become mandatory in the
future. You are still highly encouraged to use one of the newer formats:
either "3.0 (quilt)" or "3.0 (native)".

http://lintian.debian.org/tags/missing-debian-source-format.html

Thanks for your work.

Regards,
-- 
Raphaël Hertzog

Like what I do? Sponsor me: http://ouaza.com/wp/2010/01/05/5-years-of-freexian/
My Debian goals: http://ouaza.com/wp/2010/01/09/debian-related-goals-for-2010/


--- End Message ---

Reply to: