Re: Bug in Portage oder "PEBCAC"..?
Johann Schmitz <[email protected]>
| Newsgroups | gmane.linux.gentoo.user.german |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Moinsen, > soweit so gut - emerge an sich funktioniert schon mal korrekt und > meine Version aus dem local Overlay überstimmt die selbe Version > aus dem main-Tree.. Bei gleichen Version wird das Paket aus dem Overlay verwendet, da der Inhalt deiner PORTDIR_OVERLAY das PORTDIR überlagert (wie der Name schon sagt). > # echo "app-foo/bar::gentoo" > > /usr/local/portage/profiles/package.mask # echo > "app-foo/bar::meins" > /usr/local/portage/profiles/package.unmask > > jetzt bekomme ich bei *jedem* emerge die Warnung(en): > > --- Invalid atom in /usr/local/portage/profiles/package.mask: > app-foo/bar::gentoo --- Invalid atom in > /usr/local/portage/profiles/package.unmask: app-foo/bar::meins Weil afaik in der package.mask keine Repository Constraints erlaubt sind. In der Manpage steht bei package.mask: "one DEPEND atom per line". Ein DEPEND besteht aus CP und Version/(Sub)Slot; kein repository. Dort wird zwar auch von atoms als Einträge geredet, mir ist aber noch nie ein Repository in *.mask untergekommen. Wenn man darüber nachdenkt, macht es auch Sinn: - - Vom Tree aus "ignorieren" wir Overlays. Wir versuchen zwar weitestgehend kompatibel zu sein, aber am Ende des Tages ist der Overlay Maintainer für die Kompatibilität verantwortlich. - - In einem Overlay übersteuert die gleiche Version die aus dem Tree (weil in PORTDIR_OVERLAY) - - In Overlay A Ebuilds aus Overlay B masken ist schon ein sehr außergewöhnlicher Spezialfall. Es gibt sicherliche Use-Cases aber im Zweifelsfall muss der User entscheiden was er installieren will. > ... aber: es funktioniert wie gewollt! und "eix" zeigt das sogar > richtig an.. Das kommt glaube ich eher durch eine weite Auslegung der PMS. Ich habe da jetzt gerade nicht reingeschaut (zu wenig Kaffee), ich könnte mir aber vorstellen, dass das nicht explizit definiert ist ob RC's erlaubt sind. > Also die Warnungen beomme ich ja weg, indem ich in die overlay > package.mask nur "app-foo/bar" (ohne ::gentoo) reinschreibe und > dann in *jedem* lokalen /etc/portage/package.unmask dann > "app-foo/bar::meins" wieder freischalte.. aber das ist ja unschön > ;-) Entweder das, oder du machst es über die Versionen: <app-foo/bar-1.0 > app-foo/bar-1.0 Das haut dir alle Versionen ungleich 1.0 raus, und die 1.0 in deinem Overlay wird ja sowieso vor der Tree-Version genommen. Sauberer fände ich es allerdings, ein -r1 draus zu machen und ggf. Patches auf b.g.o. einzureichen, damit alle was davon haben :) Johann. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJSivQFAAoJEKCEBkJ3xQHt6fUIAIL8uro/b5aCfyct/N6hdgXc TIjKcPCf377xuXNhHYghPus8g1jx8xub+qkg1UEGQxzFCFTBZ5kZVD/XnGy7wPQD FRapwMqbQ6mYeaVNwByID/I6qEStkoBHlu1fWUGwUXCt+1UvTipqpaJoor8DYEZp Ra9R2vBXyw0uSni3kCdmMxtRI/qGiSR+DjobaveL9e2O+sVUvlSdbsctqHb89o/l 0fHJ3xlis8H1bvde2GEsGaEKwoDuF6meahmPnCpMAGQUlsc5xmrQSXnPnnzDqe2p LtRadajttpeR4phD3qNslpT1yO1ma1FqPFTC0QO/I1yMC3WM2U72kLaXV3Wc5LU= =arft -----END PGP SIGNATURE-----