From: Danny van Dyk <kugelfang@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] repoman: check for deprecated eclasses
Date: Sat, 2 Sep 2006 01:37:26 +0200 [thread overview]
Message-ID: <200609020137.26939.kugelfang@gentoo.org> (raw)
In-Reply-To: <20060901173744.GA5169@seldon>
Am Freitag, 1. September 2006 19:37 schrieb Brian Harring:
> > >
> > > old new
> > > ----- ------
> > > foo.eclass new-foo.eclass
> >
> > We don't need a new file for that IMHO. I'd propose to add
> > something like
> >
> > ECLASS_DEPRECATED="${ECLASS_DEPRECATED} foo"
> > ECLASS_REPLACEMENTS="${ECLASS_REPLACEMENT} new-foo"
> >
> > to foo.eclass. In my eyes this is much less work as repoman merely
> > has to check for 2 envvars.
>
> As much as I'm a fan of embedding the metadata into the object
> itself, this sucks; reliant on either
>
> 1) grepping it out of the file (which means there is the potential
> for rare false positives to occur).
Correct, i don't like to grep for it.
>
> 2) bastardizing inherit to grab it, thus forcing a sourcing for every
> single ebuild regardless of staleness
Exactly.
> Your example above seems to indicate preferring #2, which folks will
> probably tell you to get stuffed on, forcing a regen of the packages
> they're examining they won't like (will slow repoman down even
> further).
Well, one has to decide between functionality and speed at times. I
think it's better to have the ebuild sourced on every run instead of
sourcing it only when it cache is stale.
> Also, the new-foo renaming can't be reversed cleanly; consider if the
> old class was kernel-mod, new class is kernels, how do you know where
> to split old/new? You can search ECLASS_DEPRECATED, but potential
> for collision there makes it a crappy option, in the previous example
> consider if kernel-mode and kernel were two deprecated eclasses, it
> would falsely label the new class as mod-kernels.
ECLASS_DEPRECATED="${ECLASS_DEPRECATED} foo:new-foo,new-foo-modules"
> Meanwhile; I'd just stick a file up somewhere on gentoo.org, and
> mangle repoman to pull down a copy every N days as needed and have it
> use that; code can be reused from metadata.dtd usage.
I like this option better than sticking another file into the public
tree that no user will ever need.
Danny
--
Danny van Dyk <kugelfang@gentoo.org>
Gentoo/AMD64 Project, Gentoo Scientific Project
--
gentoo-dev@gentoo.org mailing list
next prev parent reply other threads:[~2006-09-02 3:17 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-01 11:56 [gentoo-dev] repoman: check for deprecated eclasses Stefan Schweizer
2006-09-01 15:05 ` Alec Warner
2006-09-01 16:57 ` Danny van Dyk
2006-09-01 17:37 ` Brian Harring
2006-09-01 23:37 ` Danny van Dyk [this message]
2006-09-02 3:51 ` Brian Harring
2006-09-02 4:54 ` Daniel Ostrow
2006-09-02 5:57 ` Brian Harring
2006-09-01 15:39 ` Carsten Lohrke
2006-09-01 16:47 ` [gentoo-dev] " Stefan Schweizer
2006-09-01 16:47 ` [gentoo-dev] " Alec Warner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200609020137.26939.kugelfang@gentoo.org \
--to=kugelfang@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox