On Mon, Sep 05, 2011 at 01:34:38PM +0800, Thomas Goirand wrote:
> On 09/05/2011 06:16 AM, Stanislav Maslovski wrote:
> > On Mon, Sep 05, 2011 at 03:25:19AM +0800, Thomas Goirand wrote:
> >> thanks a lot for your work, but could you provide a "git format-patch"
> >> type of patch against what's in the Git instead? That'd be really helpful.
> >
> > Here goes a patch against your current git, please check. I applied my
> > changes on top of yours (with adaptations where necessary). Check my
> > changes regarding Breaks:/Replaces: in debian/control. I think the new
> > libnatpmp1 package does not need to specify any Breaks: or Replaces:
> >
> > If in doubt, ask in debian-mentors.
>
> Hi,
>
> Since libnatpmp1 is an update to libnatpmp0, I believe we need to
> declare it, otherwise libnatpmp0 wont be replaced.
First of all, libnatpmp1 is not an upgrade to libnatpmp0, as its
soname is different. When packaged correctly, libraries with different
sonames should be able to coexist on the same system.
Imagine a situation with someone who in the past installed libnatpmp0
and the corresponding dev package and built some local software
against it. Then, even if you have the control over all the packages
from the Debian repositories that depend on libnatpmp, you will not be
able to prevent breakage of that software if you force an uninstall of
libnatpmp0 in favour of libnatpmp1.
The wrong thing with your packaging was that you shipped unversioned
files within the shared library package, therefore, installation of
libnatpmp1 was impossible without Breaks:/Replaces: wrt libnatpmp0.
The corrected libnatpmp1 package has no such problem, so that it may
be even installed alongside libnatpmp0.
> I tried upgrading, and unfortunately, I needed to "apt-get install
> libnatpmp1", otherwise apt would say "libnatpmp0 will be kept back",
> so I guess that what I did was wrong.
This should not happen with the corrected package.
> Never the less, something has to be done about it, if we don't want
> people to keep the obsolete libnatpmp0 on their system.
Well, as I explained above, you really must not force uninstallation
of a shared library in this way.
> You've set libnatpmp-dev to depend on libc6-dev | libc-dev, I don't
> think that's needed since this is a build-essential anyway.
Yes, you are right, this dependency is not necessary.
> Also, you did this:
>
> -Replaces: libnatpmp0 (<= 20110808-2)
> +Replaces: libnatpmp0, libnatpmp1 (<< ${binary:Version})
>
> I think what I did was right, because after version 20110808-2, we don't
> have the upgrade issue.
Here you are also right, it was a thinko on my side, sorry.
> Also, why are you doing this?
>
> - dh_installchangelogs Changelog.txt
> + dh_installchangelogs
>
> I think it's cool to package upstream's Changelog.txt ... Or is it that
> your patch is missing a debian/*.docs file?
No, as you may check, the upstream changelog is installed with this
change. It is not needed to mention Changelog.txt explicitly as
debhelper finds it anyway.
--
Stanislav
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]