Debian Developers - mass RC bug filing: data splitting

This is Interesting: Free IT Magazines  
Home > Archive > Debian Developers > March 2004 > mass RC bug filing: data splitting





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author mass RC bug filing: data splitting
Adrian Bunk

2004-03-11, 6:35 pm

Hi Steve,

just a note that the "Inefficient packaging of arch independent data in
package" bugs you have sent have caused many RC bugs:

When moving files from one package to another, the package that gets the
files needs Replaces _and_ Conflicts with older versions of the other
package.

Most packages contain the Replaces since otherwise upgrades break, but
they lack the Conflicts leading to the following problem:
The package dependencies allow installing the new -data package and
later an older (pre-split) version of the main package resulting in a
file overwrite error by dpkg [1].

This mail is also sent to debian-devel since I expect that I'll have to
send 20-40 RC bugs for this issue over the weekend.

cu
Adrian

[1] Don't ask:
Why should someone do this?
Estimate the number of Debian users, imagine a few unlikely
scenarios where this can happen, and then multiply an estimated
probability of such an scenario with the estimated number of Debian
users.

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Frank Lichtenheld

2004-03-11, 7:34 pm

On Fri, Mar 12, 2004 at 12:10:56AM +0100, Adrian Bunk wrote:
> This mail is also sent to debian-devel since I expect that I'll have to
> send 20-40 RC bugs for this issue over the weekend.


I hate it to be right

http://lists.debian.org/debian-deve...2/msg01042.html

Sorry for the plug, couldn't resist.

Gruesse,
--
Frank Lichtenheld <djpig@debian.org>
www: http://www.djpig.de/


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Rene Engelhard

2004-03-11, 7:34 pm

Hi,

Adrian Bunk wrote:
> When moving files from one package to another, the package that gets the
> files needs Replaces _and_ Conflicts with older versions of the other
> package.
>
> Most packages contain the Replaces since otherwise upgrades break, but
> they lack the Conflicts leading to the following problem:
> The package dependencies allow installing the new -data package and
> later an older (pre-split) version of the main package resulting in a
> file overwrite error by dpkg [1].


I (currently) don't agree.

See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=236308 for a
similar problem on which I currently do not see the sense of modifying
Conflicts:

DO you have _strong_ arguments for that?

> [1] Don't ask:
> Why should someone do this?
> Estimate the number of Debian users, imagine a few unlikely
> scenarios where this can happen, and then multiply an estimated


user errors mostly (as in the above case)

> probability of such an scenario with the estimated number of Debian
> users.


and? when they do dumb things they do dumb things.

Grüße/Regards,

René
--
.''`. René Engelhard -- Debian GNU/Linux Developer
: :' : http://www.debian.org | http://people.debian.org/~rene/
`. `' rene@debian.org | GnuPG-Key ID: 248AEB73
`- Fingerprint: 41FA F208 28D4 7CA5 19BB 7AD9 F859 90B0 248A EB73


Josip Rodin

2004-03-11, 7:34 pm

On Fri, Mar 12, 2004 at 12:10:56AM +0100, Adrian Bunk wrote:
> When moving files from one package to another, the package that gets the
> files needs Replaces _and_ Conflicts with older versions of the other
> package.


Actually, a combination of Replaces and Conflicts has a different meaning,
it will cause dpkg to completely remove the "old" package in favor of the
"new" one, which is most likely not what one wants when shifting files
around.

--
2. That which causes joy or happiness.


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Adrian Bunk

2004-03-11, 7:34 pm

On Fri, Mar 12, 2004 at 01:14:03AM +0100, Josip Rodin wrote:
> On Fri, Mar 12, 2004 at 12:10:56AM +0100, Adrian Bunk wrote:
>
> Actually, a combination of Replaces and Conflicts has a different meaning,
> it will cause dpkg to completely remove the "old" package in favor of the
> "new" one, which is most likely not what one wants when shifting files
> around.


???

An upgrade of xlibs-dev from 4.2.1 to 4.3.0 works fine. If I understand
you correctly, you claim it should have failed due to the
Conflicts&Replaces in e.g. libsm-dev?

Are you confusing Conflicts&Replaces with replacing all files in another
package?

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Adrian Bunk

2004-03-11, 8:35 pm

On Fri, Mar 12, 2004 at 12:56:59AM +0100, Rene Engelhard wrote:
> Hi,


Hi René,

> Adrian Bunk wrote:
>
> I (currently) don't agree.
>
> See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=236308 for a
> similar problem on which I currently do not see the sense of modifying
> Conflicts:
>
> DO you have _strong_ arguments for that?


after a quich look, it seems #236308 covers a case of packages that
weren't even in unstable?

That's a different matter.

>
> user errors mostly (as in the above case)


- user uses apt pinning e.g. between testing and unstable
- user installs package from unstable (pulls -data)
- user uninstalls package (but doesn't uninstall -data)
- user installs package from testing
- *boom*

Is the usage of apt pinning consideres to be a user error?


>
> and? when they do dumb things they do dumb things.


There'a a big difference between dumb things that are expected to work
and dumb things that are not expected to work.

Only because it happens in some dumb cases this should not be an excuse
for Debian maintainers who don't set package depencies correctly.

> Grüße/Regards,
>
> René


cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Colin Watson

2004-03-11, 9:34 pm

On Fri, Mar 12, 2004 at 12:10:56AM +0100, Adrian Bunk wrote:
> Hi Steve,
>
> just a note that the "Inefficient packaging of arch independent data in
> package" bugs you have sent have caused many RC bugs:
>
> When moving files from one package to another, the package that gets the
> files needs Replaces _and_ Conflicts with older versions of the other
> package.


No, they should *not*. Please don't advocate this.

The fact that Replaces doesn't work properly when you try to reinstall
the package with replaced files is a bug in dpkg, which should simply be
fixed. Replaces and Conflicts is already explicitly reserved by Debian
policy to mean something different, namely the total replacement of the
other package, and is already used by dpkg for this purpose: it's on the
code path that prints "dpkg: considering removing %s in favour of %s" if
you want to look for it yourself.

Excessive use of Conflicts also makes upgrade ordering more difficult
for the packaging tools, and leads to subtle upgrade problems that few
people anticipate. Been there, debugged that.

> Most packages contain the Replaces since otherwise upgrades break, but
> they lack the Conflicts leading to the following problem:
> The package dependencies allow installing the new -data package and
> later an older (pre-split) version of the main package resulting in a
> file overwrite error by dpkg [1].
>
> This mail is also sent to debian-devel since I expect that I'll have to
> send 20-40 RC bugs for this issue over the weekend.


I object, and if you do this I will downgrade the bugs as being clearly
not release-critical as soon as I notice them. (Not everything that
breaks in some strange situations is release-critical.) The only case
where there's much of a justification for a bug at all is if the package
with replaced files hasn't yet had a new version uploaded with the
replaced files removed.

I would consider excessive use of Replaces/Conflicts to be a bug in
itself. Installing older versions of packages is not anywhere near as
important as the current versions working properly, and it may well
already require you to go through a few extra manual steps for various
reasons. By contrast, excessive Replaces/Conflicts is a hacky workaround
that'll take us ages to remove again when the bug is finally fixed in
the right place.

Cheers,

--
Colin Watson [cjwatson@flatline.org.uk]


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Colin Watson

2004-03-11, 9:34 pm

On Fri, Mar 12, 2004 at 01:44:09AM +0100, Adrian Bunk wrote:
> On Fri, Mar 12, 2004 at 12:56:59AM +0100, Rene Engelhard wrote:
>
> - user uses apt pinning e.g. between testing and unstable
> - user installs package from unstable (pulls -data)
> - user uninstalls package (but doesn't uninstall -data)
> - user installs package from testing
> - *boom*
>
> Is the usage of apt pinning consideres to be a user error?


Apt pinning can quite easily break for all kinds of reasons. If you mix
distributions, I'm pretty convinced that you get to keep both pieces
when it breaks.

> Only because it happens in some dumb cases this should not be an excuse
> for Debian maintainers who don't set package depencies correctly.


That's "incorrectly to work around minor problems in the wrong place".

Cheers,

--
Colin Watson [cjwatson@flatline.org.uk]


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Colin Watson

2004-03-11, 11:34 pm

On Fri, Mar 12, 2004 at 02:20:19AM +0000, Colin Watson wrote:
> The fact that Replaces doesn't work properly when you try to reinstall
> the package with replaced files is a bug in dpkg, which should simply be
> fixed. Replaces and Conflicts is already explicitly reserved by Debian
> policy to mean something different, namely the total replacement of the
> other package, and is already used by dpkg for this purpose: it's on the
> code path that prints "dpkg: considering removing %s in favour of %s" if
> you want to look for it yourself.
>
> Excessive use of Conflicts also makes upgrade ordering more difficult
> for the packaging tools, and leads to subtle upgrade problems that few
> people anticipate. Been there, debugged that.


Oh, furthermore, your proposal is almost equivalent to abolishing
Replaces for all but its meaning in conjunction with Conflicts of
"package A completely replaces package B". As policy says, Replaces only
takes effect when the two packages are present on the system (at least
half-installed) at the same time; but Conflicts guarantees that the two
packages cannot be at least half-installed simultaneously!

(I think there might be a corner case with configuration files, but
that's not what's under discussion here.)

It's clear to me that a corner-case problem with file replacements
should be fixed by fixing the package manager to handle them properly,
not by "fixing" hundreds of packages to abolish the use of the feature.

Cheers,

--
Colin Watson [cjwatson@flatline.org.uk]


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
John Lightsey

2004-03-11, 11:34 pm

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday 11 March 2004 06:44 pm, Adrian Bunk wrote:
> - user uses apt pinning e.g. between testing and unstable
> - user installs package from unstable (pulls -data)
> - user uninstalls package (but doesn't uninstall -data)
> - user installs package from testing
> - *boom*
>
> Is the usage of apt pinning consideres to be a user error?
>


If whatever-data depends on whatever is this scenario possible?
Wouldn't the -data package come out when the regular package is removed?


John
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAUQ10BYeybkXz+/ kRAkrKAKDfxFWm0Vgauw9vTf9dLF9Y6TlX4wCgwA
3S
i9xtBJFIZy3Yn9pS7Hu3kag=
=HNEg
-----END PGP SIGNATURE-----


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Frank Küster

2004-03-12, 4:34 am

John Lightsey <john@nixnuts.net> schrieb:

> On Thursday 11 March 2004 06:44 pm, Adrian Bunk wrote:
>
> If whatever-data depends on whatever is this scenario possible?
> Wouldn't the -data package come out when the regular package is removed?


It's often the other way round: whatever-bin depends on
whatever-data. YMMV, but all the examples that come to my mind fast are
like this:

tetex-bin (arch: any) depends on tetex-base (arch: all)=20
xserver-common (arch: any=B9) depends on xfree86-common (arch: all)
tuxracer (arch: any=B9) depends on tuxracer-data (arch: all)
wmaker (arch: any=B9) depends on wmaker-data (arch: all)

Regards, Frank

=B9or at least "some", didn't check that
--=20
Frank K=FCster, Biozentrum der Univ. Basel
Abt. Biophysikalische Chemie


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Josip Rodin

2004-03-12, 2:35 pm

On Fri, Mar 12, 2004 at 01:26:12AM +0100, Adrian Bunk wrote:
>
> ???
>
> An upgrade of xlibs-dev from 4.2.1 to 4.3.0 works fine. If I understand
> you correctly, you claim it should have failed due to the
> Conflicts&Replaces in e.g. libsm-dev?


libsm-dev conflicts and replaces an older version of xlibs-dev, and even
that is wrong, because installing libsm-dev over such an old version of
xlibs-dev would cause a complete removal of the old xlibs-dev package, which
is obviously not what one wants.

Not that this situation should ever exist in practice (the ordering stuff in
apt will make sure it doesn't on most systems), but it's still wrong.

> Are you confusing Conflicts&Replaces with replacing all files in another
> package?


Using both Conflicts and Replaces on the same package version _is_ replacing
all files in another package. RTFM.

--
2. That which causes joy or happiness.


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Andreas Metzler

2004-03-12, 6:34 pm

Josip Rodin <joy@srce.hr> wrote:
> On Fri, Mar 12, 2004 at 01:26:12AM +0100, Adrian Bunk wrote:

[....]
[color=darkred]
> Using both Conflicts and Replaces on the same package version _is_
> replacing all files in another package. RTFM.


Policy says the opposite, please reread 7.5.1 and 7.5.2.

7.5.1 describes Replaces as used to allow overwriting and taking over
files in another package (if this happens to all files in the other
package this package is marged uninstalled automatially and its postrm
is run with argument disappear).

OTOH if two packages Conflicts *and* Replaces with each other one of
them is properly removed (no overwriting files, postrm uninstall) and
afterwards the other is installed, see 7.5.2.
cu andreas
--
NMUs aren't an insult, they're not an attack, and they're
not something to avoid or be ashamed of.
Anthony Towns in 2004-02 on debian-devel


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Josip Rodin

2004-03-12, 8:34 pm

On Fri, Mar 12, 2004 at 11:09:13PM +0100, Andreas Metzler wrote:
>
>
> Policy says the opposite, please reread 7.5.1 and 7.5.2.


It does not, I merely used a slightly imprecise wording trying to answer
your sentence, which was flawed from the start anyway.

> 7.5.1 describes Replaces as used to allow overwriting and taking over
> files in another package (if this happens to all files in the other
> package this package is marged uninstalled automatially and its postrm
> is run with argument disappear).
>
> OTOH if two packages Conflicts *and* Replaces with each other one of
> them is properly removed (no overwriting files, postrm uninstall) and
> afterwards the other is installed, see 7.5.2.


And that's _not_ what you want when moving files between packages.

--
2. That which causes joy or happiness.


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Brian May

2004-03-13, 4:33 am

>>>>> "Colin" == Colin Watson <cjwatson@debian.org> writes:

Colin> The fact that Replaces doesn't work properly when you try
Colin> to reinstall the package with replaced files is a bug in
Colin> dpkg, which should simply be fixed. Replaces and Conflicts
Colin> is already explicitly reserved by Debian policy to mean
Colin> something different, namely the total replacement of the
Colin> other package, and is already used by dpkg for this
Colin> purpose: it's on the code path that prints "dpkg:
Colin> considering removing %s in favour of %s" if you want to
Colin> look for it yourself.

Has a bug report been filled against dpkg?
--
Brian May <bam@debian.org>


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Colin Watson

2004-03-13, 5:33 am

On Sat, Mar 13, 2004 at 07:11:03PM +1100, Brian May wrote:
>
> Colin> The fact that Replaces doesn't work properly when you try
> Colin> to reinstall the package with replaced files is a bug in
> Colin> dpkg, which should simply be fixed. Replaces and Conflicts
> Colin> is already explicitly reserved by Debian policy to mean
> Colin> something different, namely the total replacement of the
> Colin> other package, and is already used by dpkg for this
> Colin> purpose: it's on the code path that prints "dpkg:
> Colin> considering removing %s in favour of %s" if you want to
> Colin> look for it yourself.
>
> Has a bug report been filled against dpkg?


So many times.

--
Colin Watson [cjwatson@flatline.org.uk]


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Adrian Bunk

2004-03-15, 5:34 am

On Fri, Mar 12, 2004 at 02:24:02AM +0000, Colin Watson wrote:
> On Fri, Mar 12, 2004 at 01:44:09AM +0100, Adrian Bunk wrote:
>
> Apt pinning can quite easily break for all kinds of reasons. If you mix
> distributions, I'm pretty convinced that you get to keep both pieces
> when it breaks.
>...


This is quite surprising considering that several Debian developers have
actively promoted the use of apt pinning e.g. through articles in
computer magazines...

> Cheers,
> Colin Watson [cjwatson@flatline.org.uk]


cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Colin Watson

2004-03-15, 9:36 am

On Mon, Mar 15, 2004 at 11:12:24AM +0100, Adrian Bunk wrote:
> On Fri, Mar 12, 2004 at 02:24:02AM +0000, Colin Watson wrote:
>
> This is quite surprising considering that several Debian developers have
> actively promoted the use of apt pinning e.g. through articles in
> computer magazines...


They have a right to do so; but I strongly disagree. Given its history
of causing thorough confusion (well-documented in the debian-user
archives), I think it should be reserved for expert users only, and not
recommended to new users.

--
Colin Watson [cjwatson@flatline.org.uk]


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Adrian Bunk

2004-03-15, 9:36 am

Thanks for all explanations why my proposal was wrong.

I'll remember this issue as an example why it's better to ask on
debian-devel before starting a mass-filing of bugs.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2009 webservertalk.com