* [gentoo-dev] repoman: check for deprecated eclasses @ 2006-09-01 11:56 Stefan Schweizer 2006-09-01 15:05 ` Alec Warner 2006-09-01 15:39 ` Carsten Lohrke 0 siblings, 2 replies; 11+ messages in thread From: Stefan Schweizer @ 2006-09-01 11:56 UTC (permalink / raw To: gentoo-dev Hi, Repoman needs to check for deprecated eclasses, see http://bugs.gentoo.org/141677 As a result of the discussion in the bug, we would like to add $PORTDIR/qa-data/eclass.deprecated to allow to deprecate eclasses properly and make repoman fail. This will allow us to avoid problems with new ebuilds for deprecated eclasses which result in bugs like Bug 141629 dev-util/systemtap-20060325.ebuild uses deprecated kernel-mod.eclass I believe the developer has not known anything about that kernel-mod is deprecated when making that ebuild. Now he ignores the bug and we have that old eclass used again :( Best regards, - Stefan -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] repoman: check for deprecated eclasses 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 15:39 ` Carsten Lohrke 1 sibling, 1 reply; 11+ messages in thread From: Alec Warner @ 2006-09-01 15:05 UTC (permalink / raw To: gentoo-dev Stefan Schweizer wrote: > Hi, > > Repoman needs to check for deprecated eclasses, see > http://bugs.gentoo.org/141677 > > As a result of the discussion in the bug, we would like to add > $PORTDIR/qa-data/eclass.deprecated > to allow to deprecate eclasses properly and make repoman fail. > > This will allow us to avoid problems with new ebuilds for deprecated > eclasses which result in bugs like > Bug 141629 dev-util/systemtap-20060325.ebuild uses deprecated > kernel-mod.eclass > I believe the developer has not known anything about that kernel-mod is > deprecated when making that ebuild. Now he ignores the bug and we have that > old eclass used again :( > > Best regards, > - Stefan > I would prefer to see a patch for this first, and then modify gentoo-x86 second; but I agree in principle. What of the conversation about 2 files, one for "this eclass is currently being deprecated" -> repoman warning; and "this eclass is no longer usable" -> repoman failure. Also the deprecated -> new-eclass mapping. Afaik that didn't go so well for me; but I still like it ;) old new ----- ------ foo.eclass new-foo.eclass -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] repoman: check for deprecated eclasses 2006-09-01 15:05 ` Alec Warner @ 2006-09-01 16:57 ` Danny van Dyk 2006-09-01 17:37 ` Brian Harring 0 siblings, 1 reply; 11+ messages in thread From: Danny van Dyk @ 2006-09-01 16:57 UTC (permalink / raw To: gentoo-dev Am Freitag, 1. September 2006 17:05 schrieb Alec Warner: > Stefan Schweizer wrote: > > Hi, > > > > Repoman needs to check for deprecated eclasses, see > > http://bugs.gentoo.org/141677 > > > > As a result of the discussion in the bug, we would like to add > > $PORTDIR/qa-data/eclass.deprecated > > to allow to deprecate eclasses properly and make repoman fail. > > > > This will allow us to avoid problems with new ebuilds for > > deprecated eclasses which result in bugs like > > Bug 141629 dev-util/systemtap-20060325.ebuild uses deprecated > > kernel-mod.eclass > > I believe the developer has not known anything about that > > kernel-mod is deprecated when making that ebuild. Now he ignores > > the bug and we have that old eclass used again :( > > > > Best regards, > > - Stefan > > I would prefer to see a patch for this first, and then modify > gentoo-x86 second; but I agree in principle. What of the > conversation about 2 files, one for "this eclass is currently being > deprecated" -> repoman warning; and "this eclass is no longer usable" > -> repoman failure. > > Also the deprecated -> new-eclass mapping. Afaik that didn't go so > well for me; but I still like it ;) > > 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. Danny -- Danny van Dyk <kugelfang@gentoo.org> Gentoo/AMD64 Project, Gentoo Scientific Project -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] repoman: check for deprecated eclasses 2006-09-01 16:57 ` Danny van Dyk @ 2006-09-01 17:37 ` Brian Harring 2006-09-01 23:37 ` Danny van Dyk 0 siblings, 1 reply; 11+ messages in thread From: Brian Harring @ 2006-09-01 17:37 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2871 bytes --] On Fri, Sep 01, 2006 at 06:57:22PM +0200, Danny van Dyk wrote: > Am Freitag, 1. September 2006 17:05 schrieb Alec Warner: > > Stefan Schweizer wrote: > > > Hi, > > > > > > Repoman needs to check for deprecated eclasses, see > > > http://bugs.gentoo.org/141677 > > > > > > As a result of the discussion in the bug, we would like to add > > > $PORTDIR/qa-data/eclass.deprecated > > > to allow to deprecate eclasses properly and make repoman fail. > > > > > > This will allow us to avoid problems with new ebuilds for > > > deprecated eclasses which result in bugs like > > > Bug 141629 dev-util/systemtap-20060325.ebuild uses deprecated > > > kernel-mod.eclass > > > I believe the developer has not known anything about that > > > kernel-mod is deprecated when making that ebuild. Now he ignores > > > the bug and we have that old eclass used again :( > > > > > > Best regards, > > > - Stefan > > > > I would prefer to see a patch for this first, and then modify > > gentoo-x86 second; but I agree in principle. What of the > > conversation about 2 files, one for "this eclass is currently being > > deprecated" -> repoman warning; and "this eclass is no longer usable" > > -> repoman failure. > > > > Also the deprecated -> new-eclass mapping. Afaik that didn't go so > > well for me; but I still like it ;) > > > > 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). 2) bastardizing inherit to grab it, thus forcing a sourcing for every single ebuild regardless of staleness 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). 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. 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. ~harring [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] repoman: check for deprecated eclasses 2006-09-01 17:37 ` Brian Harring @ 2006-09-01 23:37 ` Danny van Dyk 2006-09-02 3:51 ` Brian Harring 0 siblings, 1 reply; 11+ messages in thread From: Danny van Dyk @ 2006-09-01 23:37 UTC (permalink / raw To: gentoo-dev 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 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] repoman: check for deprecated eclasses 2006-09-01 23:37 ` Danny van Dyk @ 2006-09-02 3:51 ` Brian Harring 2006-09-02 4:54 ` Daniel Ostrow 0 siblings, 1 reply; 11+ messages in thread From: Brian Harring @ 2006-09-02 3:51 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 3646 bytes --] On Sat, Sep 02, 2006 at 01:37:26AM +0200, Danny van Dyk wrote: > 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. Reasoning? Forcing repoman to be slower sounds pretty damn dumb to me without a damn good reason to go with it (this doesn't qualify imo). Additionally, for all implementations that will attempt to support this, it'll require bastardizing the cache regeneration to also pull out these two vars in select instances; adds some special casing into a codepath that must never screw up (thus should be kept as simple as possible). Really doesn't strike me as a good idea, especially in light of the lifetime of these vars (see below). > > 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. Instead, modifying the eclass metadata and adding two new keys, that users will never need is fine? :) This isn't really user data, tiz developer data; thus the user bit doesn't matter. Sarcasm aside, what *does* matter as that the purpose of this is a temporary hack to cover portages ass. Have to mark eclasses as deprecated because eclasses cannot be removed; lose that restriction, no longer need to deprecate the eclass, just punt the sucker. As such, plan for doing it right, thus the repoman addition should be easy reversible. Mangling the entire cache generation codepath with a nasty hack that doesn't have a good reason to be forced that way, that further is _temporary_ doesn't strike me as wise. Really, stick a list up somewhere easily accessible, write a check to scan for those eclasses. Dirt simple, no reason to make this complex. ~harring [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] repoman: check for deprecated eclasses 2006-09-02 3:51 ` Brian Harring @ 2006-09-02 4:54 ` Daniel Ostrow 2006-09-02 5:57 ` Brian Harring 0 siblings, 1 reply; 11+ messages in thread From: Daniel Ostrow @ 2006-09-02 4:54 UTC (permalink / raw To: gentoo-dev <snip> > > I like this option better than sticking another file into the public > > tree that no user will ever need. > > Instead, modifying the eclass metadata and adding two new keys, that > users will never need is fine? :) > > This isn't really user data, tiz developer data; thus the user bit > doesn't matter. Sarcasm aside, what *does* matter as that the > purpose of this is a temporary hack to cover portages ass. </snip> In light of it being useless data for users is there any reason not to add the files to CVS and then pull them out before the tree is synced with the master mirror as part of that script? --Dan -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] repoman: check for deprecated eclasses 2006-09-02 4:54 ` Daniel Ostrow @ 2006-09-02 5:57 ` Brian Harring 0 siblings, 0 replies; 11+ messages in thread From: Brian Harring @ 2006-09-02 5:57 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1101 bytes --] On Fri, Sep 01, 2006 at 09:54:09PM -0700, Daniel Ostrow wrote: > <snip> > > > > I like this option better than sticking another file into the public > > > tree that no user will ever need. > > > > Instead, modifying the eclass metadata and adding two new keys, that > > users will never need is fine? :) > > > > This isn't really user data, tiz developer data; thus the user bit > > doesn't matter. Sarcasm aside, what *does* matter as that the > > purpose of this is a temporary hack to cover portages ass. > </snip> > > In light of it being useless data for users is there any reason not to > add the files to CVS and then pull them out before the tree is synced > with the master mirror as part of that script? Devs are lazy and don't always do a full cvs up, same reason the repoman metadata.xml check relies on pulling metadata.dtd down, instead of having a copy pushed into the cvs repository. Re: yoinking the file from the cvs->rsync transfer, frankly who cares. It's one file out of 124 _thousand_ files; <400 bytes. Really ain't worth it. ~brian [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] repoman: check for deprecated eclasses 2006-09-01 11:56 [gentoo-dev] repoman: check for deprecated eclasses Stefan Schweizer 2006-09-01 15:05 ` Alec Warner @ 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 1 sibling, 2 replies; 11+ messages in thread From: Carsten Lohrke @ 2006-09-01 15:39 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 142 bytes --] The file listing the derecated overlays is fine. What about revdep-rebuild and emerge regarding installed stuff and overlays? Carsten [-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* [gentoo-dev] Re: repoman: check for deprecated eclasses 2006-09-01 15:39 ` Carsten Lohrke @ 2006-09-01 16:47 ` Stefan Schweizer 2006-09-01 16:47 ` [gentoo-dev] " Alec Warner 1 sibling, 0 replies; 11+ messages in thread From: Stefan Schweizer @ 2006-09-01 16:47 UTC (permalink / raw To: gentoo-dev Carsten Lohrke wrote: > What about revdep-rebuild and > emerge regarding installed stuff and overlays? what do you mean? Please elaborate I have only repoman in mind for now. - Stefan -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] repoman: check for deprecated eclasses 2006-09-01 15:39 ` Carsten Lohrke 2006-09-01 16:47 ` [gentoo-dev] " Stefan Schweizer @ 2006-09-01 16:47 ` Alec Warner 1 sibling, 0 replies; 11+ messages in thread From: Alec Warner @ 2006-09-01 16:47 UTC (permalink / raw To: gentoo-dev Carsten Lohrke wrote: > The file listing the derecated overlays is fine. What about revdep-rebuild and > emerge regarding installed stuff and overlays? > > > Carsten We are talking eclasses...not overlays... -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2006-09-02 6:00 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox