← Back to team overview

sslug-teknik team mailing list archive

Re: Gentoo: At finde årsag til masked

 

On Sat, Aug 28, 2004 at 11:52:57AM +0200, donald_j_axel wrote:
>   Nogle pakker blokerer for hinanden.
>     typisk filer med nameclash

Nej, det er ikke normalt at en pakke er masked fordi der er
navnesammenfald. Prøv f.eks. at emerge mldonkey, så vil du få at vide at
både app-emacs/mldonkey og net-p2p/mldonkey findes og at du bliver nødt
til at skrive gruppen også for at emerge den.

>   Nogle pakker er "MASKED" ikke anbefalelsesværdige
>     typisk udrangeret / fejlfyldt "featurerich"

Her skal du være opmærksom på at der er to typer MASKED. Der er keyword
masking hvor de pakker der er masked blot regnes for "unstable", hvilket
sådan set bare betyder at ikke nok har meldt at de virker fint for dem.
Så er der hard-masked som er når udviklerne endnu ikke har fået en pakke
til at virke helt endnu, eller hvis der f.eks. er diskussion om hvordan
en ebuild skal være, eller om den overhoved skal være med i Gentoo.
Keyword masking er styret af keywords i de enkelte ebuilds og
hard-masking er styret af et central fil hvor pakker og evt. versioner
er listet.

Keywords er f.eks. x86 som betyder at den pågældende ebuild er "stable"
på x86 platformen mens ~x86 betyder at den er "unstable" på platformen.
Hvis det er -x86 betyder det at pakken slet ikke virker på x86
platforme. Hvis der slet ikke er nogen x86 keywords i en ebuild er
status ukendt for platformen og ebuilden vil ikke blive installeret på
x86 platforme medmindre man tvinger den.
Det samme gælder for keywords til andre platforme, f.eks. amd64, sparc,
ppc osv.

>   Men hvorfor er en pakke masked, hvis der fx. ikke er
> navnesammenstød?
>   Jeg prøver at finde ud af hvorfor den "gamle" netcat som har
> source fra 1996 med patches fra 2003, er den der ikke masked.
> GNU-netcat ser nyere ud, januar-2004, men det garanterer
> selvfølgelig ingenting :-)
> pluto:/ #emerge -a gnu-netcat                                              
> These are the packages that I would merge, in order:
> 
> Calculating dependencies   
> !!! all ebuilds that could satisfy "gnu-netcat" have been masked.
> !!! possible candidates are:
> - net-analyzer/gnu-netcat-0.7.1 (masked by: ~keyword)

"masked by: ~keyword"
Altså er den keyword-masked. Du kan så rette din ACCEPT_KEYWORDS
fra x86 til ~x86 i /etc/make.conf, hvilket har system-wide effekt og vil
gøre at alle fremtidige emerges bliver med "unstable" pakker. Det er
ikke altid at det er hvad man ønsker, så istedet kan du sætte ~x86
keyword for kun gnu-netcat pakken ved at indsætte følgende:

net-analyzer/gnu-netcat ~x86

på en linie for sig selv i /etc/portage/package.keywords
Hvis /etc/portage ikke findes opretter du det bare.
Det er også muligt at pille ved hard-masking på den måde via filerne
/etc/portage/package.unmask og .mask. Det er muligt via package.use at
sætte USE-flag for enkelte pakker.
På en samling servere jeg administrerer har jeg f.eks. snmp support
slået til, til apcupsd pakken, så den daemon kan kommunikere med UPS'en
via SNMP. Men da jeg ikke ønsker at andre pakker skal compiles med SNMP
support har jeg kun slået snmp keywordet til for apcupsd, ikke
system-wide.

Vær opmærksom på at man også kan angiver versionsnumre for pakker deri
med =, < og >. F.eks. vil =net-analyzer/gnu-netcat-0.7.1 kun gælde for
version 0.7.1 mens =>net-analyzer/gnu-netcat-0.7 gælder for version 0.7
og højere.

-- 
Anders
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/O d--@ s:+ a-- C++ UL+++$ P++ L+++ E- W+ N(+) o K? w O-- M- V
PS+ PE@ Y+ PGP+ t 5 X R+ tv+ b++ DI+++ D+ G e- h !r y?
------END GEEK CODE BLOCK------
PGPKey: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8BFECB41


Follow ups

References