List Archive: gentoo-dev
Patrick Lauer schrieb:
> On Saturday 14 June 2008 11:53:51 Jorge Manuel B. S. Vicetto wrote:
>> What's the need for a GLEP covering "live" ebuilds and what's wrong with
>> -9999 ebuilds? I made myself that question when GLEP54 was submitted and
>> during the initial discussion. At that time, I wasn't convinced of the
>> need for such a GLEP. Now I think it can be very useful.
>> Why did I change my mind? Let's have a concrete use case.
>>
>> Updating the live ebuilds for compiz, can be a mess. If the ebuilds
>> aren't updated in the correct order, the process will fail and leave
>> users wondering why it failed. What we need is a way to ask the PM to
>> update compiz-fusion and or fusion-icon and all its "live" deps.
>
> Ok, here's a silly idea -
>
> tag the ebuilds with metadata. We already have RESTRICT, why not add a "LIVE"
> variable. The package manager can then treat all ebuilds with that tag
> differently. Scripts can find them easily. It is forwards and backwards
> compatible and doesn't cause any user-visible changes.
>
> Portage 2.2 and others support sets, portage 2.2 even supports dynamic sets
> like the "@preserved-rebuild". Shouldn't be that hard to add a "live-ebuilds"
> dynamic set.
> (Comments on the feasibility of my idea from portage people appreciated)
>
>> Currently, users with Portage have to run something like:
>> ~ emerge -av1 compiz compiz-bcop compiz-fusion-plugins-main \
>> ~ compiz-fusion-plugins-extra compiz-fusion-plugins-unsupported \
>> ~ emerald emerald-themes libcompizconfig compizconfig-python \
>> ~ ccsm compizconfig-backend-gconf compizconfig-backend-kconfig \
>> ~ compiz-fusion fusion-icon
>
> That is the situation where you really love the sets in portage 2.2 - by
> default portage will re-merge every ebuild from a set when run as "emerge
> @your-custom-set". Now the overlay maintainer just has to provide the sets
> with the overlay and users are happy.
>
>> The problem with the -9999 ebuilds is that we need to force manually the
>> reinstalls and that the PM isn't able to determine if a dep needs to be
>> updated or not from the ebuild revision.
>
> If you use sets the updating part is easy, and in situations like emerge -e
> world you want to update them anyway.
>
>> So, running a reinstall with a world update is not desirable and having
>> to manually mask/unmask live ebuilds can also be a mess.
>
> I don't follow - if you want to update everything everything gets upgraded.
>
> What you seem to want is a way to make certain revisions "sticky" so that they
> don't get updated, that would need something like a "package.revisions" file
> like package.keywords containing "category/package revision" lines.
>
>> Having a method that lets the user choose to reinstall all the live
>> ebuilds every N days is an interesting option. Having a method that lets
>> the user choose that the PM should check the scm tree and update the
>> package if there's a new revision would be even better.
>
> I think that can be easily done if there's an easy way to pull the installed
> revision and currently available. The last discussions about that stalled
> without reaching agreement.
>
>> But for most cases, if we define a method to identify "live" ebuilds so
>> that the PM can implement a "--dl-reinstall-scm" like option, would be
>> "good enough" or at least a "very good start".
>
> I agree
>
>> Another case where having a method to let PMs identify "live" ebuilds is
>> important is for running QA scripts like repoman or pcheck.
>> Instead of having pcheck complain about dropped keywords for version
>> 9999, I would like to have pcheck complain about "live" ebuilds with
>> keywords. Not all "live" trees are unstable and thus some might not like
>> this change. However, if a PM is able to determine "live" ebuilds, it
>> might be easier to have alternative tests that allow testing for dropped
>> keywords or for the existence of keywords just for "live" ebuilds.
>
> That's what metadata is there for. And ebuilds don't mind carrying a bit
> more ... after all it's just one line of text.
So, what you want to do is to read every ebuild, if you want to find all
live ebuilds?
--
gentoo-dev@g.o mailing list
|
|