public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
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



  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