Mailing List Archive

What are blocks used for?
What all are blocks used for?

a) Marking that two unrelated packages are mutually incompatible at
runtime because they happen to collide, for example on a commonly named
executable.

b) Marking that two related implementations are mutually incompatible at
runtime because they both provide the same binary.

c) Marking that a file that used to be provided by one package is now
provided by another package that is either depending upon or depended
upon by the original package.

d) Marking that a package has been moved into another package.

Are there any other uses?

For future EAPIs, being able to tell the package manager that your
block is of one of the types above will help the package manager smooth
out the upgrade path for users. For example, for class d) blocks such
as the recent coreutils / mktemp mess, the package manager can suggest
to the user to install the new package and then uninstall the old
package, rather than forcing the user to uninstall the old package by
hand (possibly leaving their system without critical utilities) and then
install the new package.

I strongly suspect that in many (but not all) cases the package manager
could be making users' lives a lot easier than it currently is...

--
Ciaran McCreesh
Re: What are blocks used for? [ In reply to ]
Ciaran McCreesh pisze:
> What all are blocks used for?
>
> a) Marking that two unrelated packages are mutually incompatible at
> runtime because they happen to collide, for example on a commonly named
> executable.
>
> b) Marking that two related implementations are mutually incompatible at
> runtime because they both provide the same binary.
>
> c) Marking that a file that used to be provided by one package is now
> provided by another package that is either depending upon or depended
> upon by the original package.
>
> d) Marking that a package has been moved into another package.
>
> Are there any other uses?
>
> For future EAPIs, being able to tell the package manager that your
> block is of one of the types above will help the package manager smooth
> out the upgrade path for users.
Yes, but You should be able to get upgrade without crashing Your system.
> For example, for class d) blocks such
> as the recent coreutils / mktemp mess, the package manager can suggest
> to the user to install the new package and then uninstall the old
> package, rather than forcing the user to uninstall the old package by
> hand (possibly leaving their system without critical utilities) and then
> install the new package.
>
It's good Idea until we get binary using different libs. When binaries
are rewritten to use new libs and this makes them placed in other
packages then emerge (as installing mechanism) _SOULD_NOT_ install that
package until user decide what should do. Just as it is now. People are
designed to use brain so uninstall package is no problem. This is also
in some part warning to try revdep-rebuild because some dependencies
could be changed. Revdep-rebuild allso should be running by emerge?
> I strongly suspect that in many (but not all) cases the package manager
> could be making users' lives a lot easier than it currently is...
>
>
And I strongly suggest to leave old mechanism of portage, because we saw
couple times what _GREAT_ automatic makes with distro - eg. Mandriva
with all creators and cheap installer - couple apps not running, low
performance.

Don't get me wrong - I also have that problems, and they make me
nervous, but when I think what could I done by automatic replace package
or binary then I get to thinking that everything is ok...
--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ciaran McCreesh wrote:
| On Wed, 16 Apr 2008 07:54:48 +0200
| "Mateusz A. Mierzwin'ski" <mateuszmierzwinski@o2.pl> wrote:
|> And I strongly suggest to leave old mechanism of portage, because we
|> saw couple times what _GREAT_ automatic makes with distro - eg.
|> Mandriva with all creators and cheap installer - couple apps not
|> running, low performance.
|>
|> Don't get me wrong - I also have that problems, and they make me
|> nervous, but when I think what could I done by automatic replace
|> package or binary then I get to thinking that everything is ok...
|
| I'm not suggesting automatic anything. Here's what I am suggesting.
|
| Case A, Current Behaviour: User tries to install superfoo. User has
| foobar installed. User is presented with a big red blocking message,
| with no explanation. User has to work out that he is expected to
| uninstall foobar, then install superfoo (which is a problem if superfoo
| fails).
|
| Case A, Suggested New Behaviour: User is instead presented with
| something like this:
|
| [block] app-misc/foobar is blocking app-misc/superfoo.
| Explanation: foobar and superfoo both provide /usr/bin/foo
| More information: http://www.gentoo.org/blah/blah.xml
| [install] app-misc/superfoo
| [uninstall] app-misc/foobar
|
| Error: the above resolution will uninstall 1 package. To accept
| this uninstall, use --permit-uninstalls.
|
| Case B is similar to Case A in resolution, but it's probably nice to
| make the distinction.
|
| Case C, Current Behaviour: User tries to upgrade foo. User is presented
| with a big red blocking message saying foo blocks libfoo or libfoo
| blocks foo, with no explanation (assuming it's not one of the subset of
| issues that can be solved automatically).
|
| Case C, Suggested New Behaviour: The package manager realises that so
| long as both foo and libfoo are upgraded during the same session,
| there's no real block, and the block is merely a way of getting around
| limitations in collision detection. No block is shown to the user.
|
| Case D, Current Behaviour: User tries to upgrade coreutils. User gets a
| big flashy block error saying coreutils blocks mktemp. User doesn't
| realise that the safe upgrade path is to force the package manager to
| ignore the block, then manually uninstall mktemp straight afterwards.
| User instead uninstalls mktemp, which is a moderately critical binary.
|
| Case D, Suggested New Behaviour: User is presented with something like
| this:
|
| [block] sys-apps/coreutils is blocking sys-apps/mktemp
| Explanation: mktemp is now part of coreutils
| More information: http://www.gentoo.org/blah/blah.xml
| [upgrade] sys-apps/coreutils
| [uninstall] sys-apps/mktemp
|

Very good idea.


- --

Luis F. Araujo "araujo at gentoo.org"
Gentoo Linux

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkgFl1AACgkQBCmRZan6aeg9wwCdE0tOEUtinfV5iUyxqQbuKFG5
O1MAoIgUmY5HTLNMgDAaYtgKvm4Me4ru
=T31v
-----END PGP SIGNATURE-----
--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
On Wed, 16 Apr 2008 07:54:48 +0200
"Mateusz A. Mierzwin'ski" <mateuszmierzwinski@o2.pl> wrote:
> And I strongly suggest to leave old mechanism of portage, because we
> saw couple times what _GREAT_ automatic makes with distro - eg.
> Mandriva with all creators and cheap installer - couple apps not
> running, low performance.
>
> Don't get me wrong - I also have that problems, and they make me
> nervous, but when I think what could I done by automatic replace
> package or binary then I get to thinking that everything is ok...

I'm not suggesting automatic anything. Here's what I am suggesting.

Case A, Current Behaviour: User tries to install superfoo. User has
foobar installed. User is presented with a big red blocking message,
with no explanation. User has to work out that he is expected to
uninstall foobar, then install superfoo (which is a problem if superfoo
fails).

Case A, Suggested New Behaviour: User is instead presented with
something like this:

[block] app-misc/foobar is blocking app-misc/superfoo.
Explanation: foobar and superfoo both provide /usr/bin/foo
More information: http://www.gentoo.org/blah/blah.xml
[install] app-misc/superfoo
[uninstall] app-misc/foobar

Error: the above resolution will uninstall 1 package. To accept
this uninstall, use --permit-uninstalls.

Case B is similar to Case A in resolution, but it's probably nice to
make the distinction.

Case C, Current Behaviour: User tries to upgrade foo. User is presented
with a big red blocking message saying foo blocks libfoo or libfoo
blocks foo, with no explanation (assuming it's not one of the subset of
issues that can be solved automatically).

Case C, Suggested New Behaviour: The package manager realises that so
long as both foo and libfoo are upgraded during the same session,
there's no real block, and the block is merely a way of getting around
limitations in collision detection. No block is shown to the user.

Case D, Current Behaviour: User tries to upgrade coreutils. User gets a
big flashy block error saying coreutils blocks mktemp. User doesn't
realise that the safe upgrade path is to force the package manager to
ignore the block, then manually uninstall mktemp straight afterwards.
User instead uninstalls mktemp, which is a moderately critical binary.

Case D, Suggested New Behaviour: User is presented with something like
this:

[block] sys-apps/coreutils is blocking sys-apps/mktemp
Explanation: mktemp is now part of coreutils
More information: http://www.gentoo.org/blah/blah.xml
[upgrade] sys-apps/coreutils
[uninstall] sys-apps/mktemp

Error: the above resolution will uninstall 1 package. To accept
this uninstall, use --permit-uninstalls.

Note how mktemp is uninstalled *after* coreutils has been upgraded.

In none of these scenarios is it necessary to uninstall the blocked
package before installing the package doing the blocking. But such
scenarios probably exist, and ideally we'd have nice ways of dealing
with that, so I'd like to know what all the current and projected
future uses for blockers are.

--
Ciaran McCreesh
Re: What are blocks used for? [ In reply to ]
On 06:24 Wed 16 Apr , Ciaran McCreesh wrote:
> What all are blocks used for?
>
> a) Marking that two unrelated packages are mutually incompatible at
> runtime because they happen to collide, for example on a commonly named
> executable.
>
> b) Marking that two related implementations are mutually incompatible at
> runtime because they both provide the same binary.
>
> c) Marking that a file that used to be provided by one package is now
> provided by another package that is either depending upon or depended
> upon by the original package.
>
> d) Marking that a package has been moved into another package.
>
> Are there any other uses?

A slight tweak that you may have already considered: a single package is
split into multiple packages with a metabuild (named the same as the
original single package) in a newer version -- for example, modularized
X.

> For future EAPIs, being able to tell the package manager that your
> block is of one of the types above will help the package manager smooth
> out the upgrade path for users. For example, for class d) blocks such
> as the recent coreutils / mktemp mess, the package manager can suggest
> to the user to install the new package and then uninstall the old
> package, rather than forcing the user to uninstall the old package by
> hand (possibly leaving their system without critical utilities) and then
> install the new package.
>
> I strongly suspect that in many (but not all) cases the package manager
> could be making users' lives a lot easier than it currently is...

Sounds like a great idea.

Thanks,
Donnie
--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
On Wed, 2008-04-16 at 07:34 +0100, Ciaran McCreesh wrote:
<snip>
> Case D, Current Behaviour: User tries to upgrade coreutils. User gets a
> big flashy block error saying coreutils blocks mktemp. User doesn't
> realise that the safe upgrade path is to force the package manager to
> ignore the block, then manually uninstall mktemp straight afterwards.
> User instead uninstalls mktemp, which is a moderately critical binary.

Or user uninstalls coreutils - yes, a colleague of mine actually did...

/haubi/
--
Michael Haubenwallner
Gentoo on a different level

--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
Michael Haubenwallner wrote:
> On Wed, 2008-04-16 at 07:34 +0100, Ciaran McCreesh wrote:
> <snip>
>
>> Case D, Current Behaviour: User tries to upgrade coreutils. User gets a
>> big flashy block error saying coreutils blocks mktemp. User doesn't
>> realise that the safe upgrade path is to force the package manager to
>> ignore the block, then manually uninstall mktemp straight afterwards.
>> User instead uninstalls mktemp, which is a moderately critical binary.
>>
>
> Or user uninstalls coreutils - yes, a colleague of mine actually did...
>
> /haubi/
>
So did I BTW. At the time, I understood the portage as if it wanted me
to remove coreutils in order to be replaced by mktemp.
Well, if thing says that it feels bothered by this blockage and would
feel better if I removed it, I obliged it.
Obviously, coreutils implied something with system importance, but I
thought that portage feels confident about it, like it is going to be
replaced with a mktemp in a second or two anyway and portage doesn't
need ot for itself...

Well, I was wrong, and had to make coreutils binpkg on main server and
unpack it on "blocked" machine.

Ofcourse, server was running selinux, so this emand borrowing also a few
libs until I could revive portage...


Regards

--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
On Wed, 16 Apr 2008 09:52:13 +0200
"Mateusz A. Mierzwin'ski" <mateuszmierzwinski@o2.pl> wrote:
> Yes... and then all trashes like old libs are inside system. Other
> thing is when some files gets from one package to other. If You
> install old version of package "A" and then some of files get to
> package "A1" as an update and some part of package "A" get's into "B"
> package. When we update package "A" to "A1" we can be in trouble when
> installing automaticly B and uninstalling "A". Think about that.

Huh. I don't get what you're on about. We're discussing making the
package manager suggest and do what the user should be doing anyway
here.

--
Ciaran McCreesh
Re: What are blocks used for? [ In reply to ]
Donnie Berkholz pisze:
> On 06:24 Wed 16 Apr , Ciaran McCreesh wrote:
>
>> What all are blocks used for?
>>
>> a) Marking that two unrelated packages are mutually incompatible at
>> runtime because they happen to collide, for example on a commonly named
>> executable.
>>
>> b) Marking that two related implementations are mutually incompatible at
>> runtime because they both provide the same binary.
>>
>> c) Marking that a file that used to be provided by one package is now
>> provided by another package that is either depending upon or depended
>> upon by the original package.
>>
>> d) Marking that a package has been moved into another package.
>>
>> Are there any other uses?
>>
>
> A slight tweak that you may have already considered: a single package is
> split into multiple packages with a metabuild (named the same as the
> original single package) in a newer version -- for example, modularized
> X.
>
>
>> For future EAPIs, being able to tell the package manager that your
>> block is of one of the types above will help the package manager smooth
>> out the upgrade path for users. For example, for class d) blocks such
>> as the recent coreutils / mktemp mess, the package manager can suggest
>> to the user to install the new package and then uninstall the old
>> package, rather than forcing the user to uninstall the old package by
>> hand (possibly leaving their system without critical utilities) and then
>> install the new package.
>>
>> I strongly suspect that in many (but not all) cases the package manager
>> could be making users' lives a lot easier than it currently is...
>>
>
> Sounds like a great idea.
>
> Thanks,
> Donnie
>
Yes... and then all trashes like old libs are inside system. Other thing
is when some files gets from one package to other. If You install old
version of package "A" and then some of files get to package "A1" as an
update and some part of package "A" get's into "B" package. When we
update package "A" to "A1" we can be in trouble when installing
automaticly B and uninstalling "A". Think about that.
--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
On Wednesday 16 April 2008 09:56:04 Mateusz A. Mierzwiński wrote:
> My Prof from US used to say - if something is working good why we should
> replace it? When we do that we can be "sent to the tree with bananas
> straighting proposition" by OS.

I think it has been made quite clear in this thread that the current solution
isn't "working good". Look at the cases where people mistakenly uninstalled
coreutils instead of mktemp. Not to mention the fact that uninstalling mktemp
before upgrading coreutils is indeed the wrong solution.

--
Bo Andresen
Gentoo KDE Dev
Re: What are blocks used for? [ In reply to ]
Donnie Berkholz pisze:
> On 06:24 Wed 16 Apr , Ciaran McCreesh wrote:
>
>> What all are blocks used for?
>>
>> a) Marking that two unrelated packages are mutually incompatible at
>> runtime because they happen to collide, for example on a commonly named
>> executable.
>>
>> b) Marking that two related implementations are mutually incompatible at
>> runtime because they both provide the same binary.
>>
>> c) Marking that a file that used to be provided by one package is now
>> provided by another package that is either depending upon or depended
>> upon by the original package.
>>
>> d) Marking that a package has been moved into another package.
>>
>> Are there any other uses?
>>
>
> A slight tweak that you may have already considered: a single package is
> split into multiple packages with a metabuild (named the same as the
> original single package) in a newer version -- for example, modularized
> X.
>
>
>> For future EAPIs, being able to tell the package manager that your
>> block is of one of the types above will help the package manager smooth
>> out the upgrade path for users. For example, for class d) blocks such
>> as the recent coreutils / mktemp mess, the package manager can suggest
>> to the user to install the new package and then uninstall the old
>> package, rather than forcing the user to uninstall the old package by
>> hand (possibly leaving their system without critical utilities) and then
>> install the new package.
>>
>> I strongly suspect that in many (but not all) cases the package manager
>> could be making users' lives a lot easier than it currently is...
>>
>
> Sounds like a great idea.
>
> Thanks,
> Donnie
>
My Prof from US used to say - if something is working good why we should
replace it? When we do that we can be "sent to the tree with bananas
straighting proposition" by OS.

In PL: "możemy być wysłani na drzewo z propozycją prostowania bananów".
--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
On Wed, 16 Apr 2008 09:56:04 +0200
"Mateusz A. Mierzwiński" <mateuszmierzwinski@o2.pl> wrote:
> My Prof from US used to say - if something is working good why we
> should replace it? When we do that we can be "sent to the tree with
> bananas straighting proposition" by OS.

Blocks do not work:

* It's often not obvious what the user's supposed to do to resolve a
block.

* Once the user has worked out how to resolve the block correctly, it's
often hard to do so since resolving some blocks is best done by
forcibly ignoring the block, doing the install and then doing the
uninstall.

* It's often not obvious why a block is even there.

* They force the user to do a lot of work that isn't really necessary.
The package manager can be told how to resolve the block in many cases,
and the package manager can, with the user's permission, do all the
work is itself.

--
Ciaran McCreesh
Re: What are blocks used for? [ In reply to ]
"Mateusz A. Mierzwiński" wrote:
> Yes, You have right but I have thinking about something like OPTION for
> emerge or switch to enable that function. Emerge could provide two options
> of working - with replace and with sending error. Maybe switch like
> "--force-install"?

This is not a thread about a specific implementation of PMS. This thread is
about adding specs to PMS that allow implementations (i.e. paludis or portage
etc.) to "do it right".

-markus
Re: What are blocks used for? [ In reply to ]
Bo Ørsted Andresen pisze:
> On Wednesday 16 April 2008 09:56:04 Mateusz A. Mierzwiński wrote:
>
>> My Prof from US used to say - if something is working good why we should
>> replace it? When we do that we can be "sent to the tree with bananas
>> straighting proposition" by OS.
>>
>
> I think it has been made quite clear in this thread that the current solution
> isn't "working good". Look at the cases where people mistakenly uninstalled
> coreutils instead of mktemp. Not to mention the fact that uninstalling mktemp
> before upgrading coreutils is indeed the wrong solution.
>
>
So why not to send on screen info about what to do rather then "ERROR"?
This will only make problem with question "What to install to get
working gentoo?". Maybe emerge should be updated by something like INFO
about error? Like that - If emerge found TXT/HTML/MAN file in package
directory in portage it should display it when error occurred. This
makes more easy to get some help without package granulation changes.

like:

TREE:
/usr/portage/net-misc/asterisk-chan_unicall
+- asterisk-chan_unicall-0.0.3_pre9.ebuild
+- ChangeLog
+- Manifest
+- metadata.xml
+- errorhelp-info.bz2

Where errorhelp-info.bz2 is manpage with errors information and repair
infos.

I think this is good idea.
--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
Ciaran McCreesh pisze:
> On Wed, 16 Apr 2008 09:56:04 +0200
> "Mateusz A. Mierzwiński" <mateuszmierzwinski@o2.pl> wrote:
>
>> My Prof from US used to say - if something is working good why we
>> should replace it? When we do that we can be "sent to the tree with
>> bananas straighting proposition" by OS.
>>
>
> Blocks do not work:
>
> * It's often not obvious what the user's supposed to do to resolve a
> block.
>
> * Once the user has worked out how to resolve the block correctly, it's
> often hard to do so since resolving some blocks is best done by
> forcibly ignoring the block, doing the install and then doing the
> uninstall.
>
> * It's often not obvious why a block is even there.
>
> * They force the user to do a lot of work that isn't really necessary.
> The package manager can be told how to resolve the block in many cases,
> and the package manager can, with the user's permission, do all the
> work is itself.
>
>

Yes, You have right but I have thinking about something like OPTION for
emerge or switch to enable that function. Emerge could provide two
options of working - with replace and with sending error. Maybe switch
like "--force-install"?


--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
On Wednesday 16 April 2008 10:15:16 Mateusz A. Mierzwiński wrote:
> So why not to send on screen info about what to do rather then "ERROR"?

Please reread this entire thread. That's exactly what is being proposed.

[...]
> I think this is good idea.

I think this is a terrible idea.

--
Bo Andresen
Gentoo KDE Dev
Re: What are blocks used for? [ In reply to ]
>>>>> On Wed, 16 Apr 2008, Ciaran McCreesh wrote:

> Blocks do not work:

> * It's often not obvious what the user's supposed to do to resolve a
> block.

> * Once the user has worked out how to resolve the block correctly,
> it's often hard to do so since resolving some blocks is best done by
> forcibly ignoring the block, doing the install and then doing the
> uninstall.

> * It's often not obvious why a block is even there.

> * They force the user to do a lot of work that isn't really
> necessary. The package manager can be told how to resolve the block
> in many cases, and the package manager can, with the user's
> permission, do all the work is itself.

I don't know if it would be feasible from a package manager point of
view, but couldn't some (most?) blockers be avoided if there was some
means to transfer ownership of installed files from one package to
another?

>> c) Marking that a file that used to be provided by one package is
>> now provided by another package that is either depending upon or
>> depended upon by the original package.

>> d) Marking that a package has been moved into another package.

At least these two common cases could then be avoided most of the
time.

Ulrich
--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
On Wed, 16 Apr 2008 10:40:49 +0200
Ulrich Mueller <ulm@gentoo.org> wrote:
> I don't know if it would be feasible from a package manager point of
> view, but couldn't some (most?) blockers be avoided if there was some
> means to transfer ownership of installed files from one package to
> another?

From a package manager point of view, it's probably easier to know that
a transfer of ownership will take place (or, more specifically, that
collisions between two packages as part of an upgrade or replace
process are ok) than to deal with specific files. It's probably easier
to write ebuilds that way too -- providing explicit lists gets very
messy if we start talking about things that include libdir or bits of
CHOST or Ruby versions or whatever in their filenames.

--
Ciaran McCreesh
Re: What are blocks used for? [ In reply to ]
On Wed, 16 Apr 2008 11:07:20 +0200
"Mateusz A. Mierzwiński" <mateuszmierzwinski@o2.pl> wrote:
> I think that this thread is about making Gentoo unstable, unusable
> and user non-friendly.

I think you really don't have the slightest clue what this thread is
about.

--
Ciaran McCreesh
Re: What are blocks used for? [ In reply to ]
Markus Rothe pisze:
> "Mateusz A. Mierzwiñski" wrote:
>
>> Yes, You have right but I have thinking about something like OPTION for
>> emerge or switch to enable that function. Emerge could provide two options
>> of working - with replace and with sending error. Maybe switch like
>> "--force-install"?
>>
>
> This is not a thread about a specific implementation of PMS. This thread is
> about adding specs to PMS that allow implementations (i.e. paludis or portage
> etc.) to "do it right".
>
> -markus
>
Yeah! Right...

You know what? I think that this thread is about making Gentoo unstable,
unusable and user non-friendly. Bad things are happend in Gentoo and I
freezing distfiles and gentoo stages on my disk. Destroy that distro as
much as You can. See yourself at DistroWatch what place have Gentoo
today? Couple months ago it was 7-th place, and now? People are escaping
from Gentoo - tell me Why? Maybe because bad programing practices and
adding something that is not needed, and most needed things are sent
back to archive of sick people complains?

Try to hear others, not only Your pride...
--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
On Wednesday, 16. April 2008 11:03:29 Ciaran McCreesh wrote:
> > I think that this thread is about making Gentoo unstable, unusable
> > and user non-friendly.
> I think you really don't have the slightest clue what this thread is
> about.

Don't feed the trolls...

--
Best regards, Wulf
Re: What are blocks used for? [ In reply to ]
Ciaran McCreesh schrieb:
> What all are blocks used for?
>
> a) Marking that two unrelated packages are mutually incompatible at
> runtime because they happen to collide, for example on a commonly named
> executable.
>
> b) Marking that two related implementations are mutually incompatible at
> runtime because they both provide the same binary.
>
> c) Marking that a file that used to be provided by one package is now
> provided by another package that is either depending upon or depended
> upon by the original package.
>
> d) Marking that a package has been moved into another package.
>
> Are there any other uses?
>
> For future EAPIs, being able to tell the package manager that your
> block is of one of the types above will help the package manager smooth
> out the upgrade path for users. For example, for class d) blocks such
> as the recent coreutils / mktemp mess, the package manager can suggest
> to the user to install the new package and then uninstall the old
> package, rather than forcing the user to uninstall the old package by
> hand (possibly leaving their system without critical utilities) and then
> install the new package.
>
> I strongly suspect that in many (but not all) cases the package manager
> could be making users' lives a lot easier than it currently is...
>
There is another case.

e) A package needs a newer version of another package, but doesn't depend on it.

This was the case with KDE4. kdelibs-4.0.x block these packages:
!<kde-base/kdebase-3.5.7-r6
!<kde-base/kdebase-startkde-3.5.7-r1
!=kde-base/kdebase-3.5.8
!=kde-base/kdebase-3.5.8-r1
!=kde-base/kdebase-3.5.8-r2
!=kde-base/kdebase-startkde-3.5.8

The reason is, that a newer revision has to be installed. (But of course
kdelibs-4.0.x can't depend on a kde3 package.)
So in this case the behaviour would be different ((keyword and) upgrade one
package, then install the other package) and the given block reason would be
different.
--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
"Mateusz A. Mierzwin'ski" <mateuszmierzwinski@o2.pl> posted
4805B02D.2000405@o2.pl, excerpted below, on Wed, 16 Apr 2008 09:52:13
+0200:

> Yes... and then all trashes like old libs are inside system.

Long since solved problem. emerge --depclean

> Other thing
> is when some files gets from one package to other. If You install old
> version of package "A" and then some of files get to package "A1" as an
> update and some part of package "A" get's into "B" package. When we
> update package "A" to "A1" we can be in trouble when installing
> automaticly B and uninstalling "A". Think about that.

Again, a long since solved problem in the context of the current
discussion, as when package A is uninstalled, the PM verifies files
against the package database entry for that package, and doesn't remove
changed files. Otherwise the normal upgrade procedure of installing the
new then uninstalling the old wouldn't work.

--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman

--
gentoo-dev@lists.gentoo.org mailing list
Re: What are blocks used for? [ In reply to ]
"Mateusz A. Mierzwiński" <mateuszmierzwinski@o2.pl> posted
4805B65D.8050200@o2.pl, excerpted below, on Wed, 16 Apr 2008 10:18:37
+0200:

> Yes, You have right but I have thinking about something like OPTION for
> emerge or switch to enable that function. Emerge could provide two
> options of working - with replace and with sending error. Maybe switch
> like "--force-install"?

RTFM as they say, and ask on the user list if you still don't
understand. This is a devel list not a user help list. The option (in
portage anyway) has been there for some time.

--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman

--
gentoo-dev@lists.gentoo.org mailing list
Re: Re: What are blocks used for? [ In reply to ]
Duncan pisze:
> "Mateusz A. Mierzwiński" <mateuszmierzwinski@o2.pl> posted
> 4805B65D.8050200@o2.pl, excerpted below, on Wed, 16 Apr 2008 10:18:37
> +0200:
>
>
>> Yes, You have right but I have thinking about something like OPTION for
>> emerge or switch to enable that function. Emerge could provide two
>> options of working - with replace and with sending error. Maybe switch
>> like "--force-install"?
>>
>
> RTFM as they say, and ask on the user list if you still don't
> understand. This is a devel list not a user help list. The option (in
> portage anyway) has been there for some time.
>
>
And what user list will make if this is post for adding something to
emerge mechanism? Users should do that or devs?
--
gentoo-dev@lists.gentoo.org mailing list

1 2  View All