From 1dad1f84df84a91f24ff3a0801accd19f70ef08e Mon Sep 17 00:00:00 2001
From: Michał Górny
Date: Sun, 19 Jan 2020 21:11:18 +0100
Subject: Update wrt =-dep and abs symlink policies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Michał Górny
---
_sources/dependencies.rst.txt | 28 ++++++++++++++++++++++++++++
_sources/filesystem.rst.txt | 26 ++++++++++++++++++++++++++
dependencies.html | 37 ++++++++++++++++++++++++++++++++++---
filesystem.html | 29 +++++++++++++++++++++++++++++
genindex.html | 27 ++++++++++++++++++---------
index.html | 2 ++
other-metadata.html | 7 ++++---
searchindex.js | 2 +-
8 files changed, 142 insertions(+), 16 deletions(-)
diff --git a/_sources/dependencies.rst.txt b/_sources/dependencies.rst.txt
index ff6756f..51038be 100644
--- a/_sources/dependencies.rst.txt
+++ b/_sources/dependencies.rst.txt
@@ -30,6 +30,34 @@ This is especially important for packages that take long time to build.
by the Council but no reference implementation has been written.
+.. index:: dependency; = with no revision
+
+=-dependencies with no revision
+-------------------------------
+:Source: QA
+:Reported: by repoman and pkgcheck
+
+Whenever a non-wildcard ``=`` (equals) dependency is used on a package,
+the requested revision must be specified explicitly. When the zeroth
+revision is requested, ``-r0`` must be used. When no specific revision
+is necessary, the ``~`` (tilde) operator must be used instead.
+
+*Example*::
+
+ # BAD:
+ =dev-libs/libfrobnicate-1.2.3
+ # GOOD:
+ =dev-libs/libfrobnicate-1.2.3-r0
+ =dev-libs/libfrobnicate-1.2.3-r3
+ ~dev-libs/libfrobnicate-1.2.3
+
+*Rationale*: using ``=`` operator in place of ``~`` to mean a specific
+version has been a common mistake. This policy uses the fact that
+no revision and explicit ``-r0`` are equivalent. By explicitly
+requesting the latter, it warns developers to reconsider whether they
+used the correct operator.
+
+
.. index::
pair: slot/subslot; dependency
diff --git a/_sources/filesystem.rst.txt b/_sources/filesystem.rst.txt
index 9173042..081ab99 100644
--- a/_sources/filesystem.rst.txt
+++ b/_sources/filesystem.rst.txt
@@ -154,3 +154,29 @@ inconsistent with the use in other distributions where it was used to
share data files. Since the latter implied users must not be added
to the games group, a new group (gamestat) needed to be created to
fulfill that purpose.
+
+
+.. index:: symbolic link; absolute target
+
+Absolute symbolic link targets
+------------------------------
+:Source: QA
+:Reported: by repoman and pkgcheck (when ebuild-generated)
+
+Packages must not install symbolic links with absolute targets.
+Instead, relative paths must be used. An exception is granted
+for symlinks to specially mounted filesystems (such as /proc, /run)
+when symlinks are supposed to always reference the running host system.
+
+*Example*::
+
+ # BAD:
+ dosym /usr/lib/frobnicate/frobnicate /usr/bin/frobnicate
+ # GOOD:
+ dosym ../lib/frobnicate/frobnicate /usr/bin/frobnicate
+ # ACCEPTABLE EXCEPTION:
+ dosym /proc/self/mounts /etc/mtab
+
+*Rationale*: absolute symlinks work correctly only when the root
+filesystem is mounted at /. They point at the wrong location whenever
+it is mounted in another location, e.g. for the purposes of recovery.
diff --git a/dependencies.html b/dependencies.html
index 95040d3..f7eea2c 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -145,8 +145,37 @@ rebuilding package in question. It has been tentatively approved
by the Council but no reference implementation has been written.
Whenever a non-wildcard = (equals) dependency is used on a package,
+the requested revision must be specified explicitly. When the zeroth
+revision is requested, -r0 must be used. When no specific revision
+is necessary, the ~ (tilde) operator must be used instead.
Rationale: using = operator in place of ~ to mean a specific
+version has been a common mistake. This policy uses the fact that
+no revision and explicit -r0 are equivalent. By explicitly
+requesting the latter, it warns developers to reconsider whether they
+used the correct operator.
diff --git a/filesystem.html b/filesystem.html
index 733458b..12e066f 100644
--- a/filesystem.html
+++ b/filesystem.html
@@ -286,6 +286,33 @@ share data files. Since the latter implied users must not be added
to the games group, a new group (gamestat) needed to be created to
fulfill that purpose.
Packages must not install symbolic links with absolute targets.
+Instead, relative paths must be used. An exception is granted
+for symlinks to specially mounted filesystems (such as /proc, /run)
+when symlinks are supposed to always reference the running host system.
Rationale: absolute symlinks work correctly only when the root
+filesystem is mounted at /. They point at the wrong location whenever
+it is mounted in another location, e.g. for the purposes of recovery.
diff --git a/index.html b/index.html
index 1ae837a..6d0456f 100644
--- a/index.html
+++ b/index.html
@@ -149,6 +149,7 @@ in which the policy can be updated.
diff --git a/searchindex.js b/searchindex.js
index c0244a8..78c47f9 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["basics","dependencies","ebuild-format","filesystem","index","installed-files","keywords","languages","maintainer","motivation","other-docs","other-metadata","preface","use-flags","user-group"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":2,sphinx:56},filenames:["basics.rst","dependencies.rst","ebuild-format.rst","filesystem.rst","index.rst","installed-files.rst","keywords.rst","languages.rst","maintainer.rst","motivation.rst","other-docs.rst","other-metadata.rst","preface.rst","use-flags.rst","user-group.rst"],objects:{},objnames:{},objtypes:{},terms:{"08gentoo":3,"2fuse":11,"80librari":3,"80multilib":3,"9cae3a92412a007febe7ac0612d50f5f":1,"break":[2,7],"case":[0,3,6],"class":0,"default":5,"final":[0,9,10],"function":[0,2,3,7],"g\u00f3rny":12,"import":[1,7,14],"long":[1,6,7,11],"micha\u0142":12,"new":[3,4,7,9,13,14],"public":1,"static":4,"switch":13,"true":14,"try":[0,2,8],"var":3,"while":[0,1,2,5,11],Adding:4,For:[1,3,8],Its:[0,9],PMS:[9,10,11],Such:[5,11],The:[0,1,2,3,4,6,7,8,9,10,11,12,13,14],There:[1,5,8,9],USE:[1,4,5,11],Use:2,Using:1,With:3,abi:[1,3],abil:9,abolish:0,accept:[1,11,14],access:3,accident:7,account:[1,2,4],acct:14,achiev:0,across:[0,9],action:0,activ:10,actual:8,add:[2,8],added:[3,5,8],adding:[1,8,14],addit:[2,3,5,9,10],addition:0,address:9,adjust:13,adopt:14,advantag:[2,13],affect:[0,2,6],aforement:[3,9],after:[0,1,3],afterward:13,against:[0,2,9],agre:8,aid:14,aim:[0,1,4,8,12,13],align:2,all:[0,2,4,5,6,7,8,9,10,11,12,13,14],alloc:14,allow:[2,11],along:[3,9],alreadi:[1,3,7],also:[0,7,9,13],alter:11,alwai:2,amd64:3,amount:9,analyz:0,ani:[1,2,5,8,9,10,11,13],anymor:[3,6],api:1,app:5,appeal:4,appli:[0,1,6,8,9,10],applic:[1,3,5,9,10],appropri:3,approv:[1,10,14],arbitrari:14,arch:6,architectur:[0,3,6],archiv:[1,5,13],area:0,argu:1,aris:[9,13,14],ask:[0,6],assign:[8,14],assum:[1,13],attempt:[2,5,9,13],attribut:12,author:4,autom:0,autotool:5,avail:[1,9,13],avoid:[2,5],awar:8,backup:8,base:5,baselayout:14,bash:[2,5],basic:[4,10],becom:[1,4,8,12],been:[1,3,5,11,13,14],befor:[0,6,13,14],behavior:[0,1,5,11],being:[1,5,6,7,8,11],besid:10,better:[7,9],between:[3,7,11,13,14],bin:3,bind:[4,9,12],bit:3,blurri:3,bodi:[0,4,9,12],boot:3,both:[0,2,4,5,7,12,13],boundari:3,bracket:2,breakag:[1,6],broken:3,brought:5,browser:3,bug:[2,6,8,14],build:[0,1,3,5,7,13],builtin:2,bump:[4,14],burden:8,cach:11,call:[1,7],can:[0,1,3,4,6,9,10,11,12,13,14],care:8,categori:5,caus:[1,5,6,7,11,13],cf3f5a59ac918335766632bd02438722:13,chanc:[7,8],chang:[2,4,7,10],check:[3,4],choic:[2,13],choos:[11,13],chosen:14,chost:3,circumst:1,claim:1,clarifi:3,clean:1,clear:[4,9,12,13],close:6,code:[0,1,4,7],collect:9,collis:14,combin:[0,4,9,12],comment:8,commit:0,common:[2,12],compar:8,compat:[3,7],compil:0,complet:[5,9],compli:10,complianc:4,compon:0,concept:0,concis:9,condit:2,config:5,conform:[9,10],confus:[2,6,13],consent:8,consequ:5,consid:[5,13],consist:[0,2,7,13],construct:2,contact:0,contain:[4,8,10,13],content:4,context:5,contribut:0,control:[1,3,5,13],controlled_optional_rdepend:1,convert:[2,13],copi:2,correct:3,correctli:[0,3],correspond:[1,3],cost:[5,7],could:[5,8,11],council:[0,1,3,4,9,10,12,13],creat:[0,3,9,10,13,14],creativ:12,cross:14,ctarget:3,cumbersom:1,current:[0,3,4,8,12],dai:6,data:3,debat:1,decid:1,decis:[0,9],declar:11,dedic:8,defer:7,defici:9,defin:[1,7,10,13],definit:[4,12],delai:[7,14],depclean:11,depend:[2,4,5,6,7,11,13],dependent_slot:11,deprec:14,design:[2,4,12],desir:14,detail:10,detect:[0,1],dev:[1,3,8,13],develop:[0,1,2,3,4,6,8,9,12,13,14],devmanu:[9,10],did:[5,9],die:5,differ:[0,1,2],difficult:3,direct:[0,11],directli:[0,7,9],directori:[2,3],disabl:[1,11],disagre:[0,10],disciplinari:0,discourag:[5,13],discov:13,discuss:[10,13],distinguish:[8,13],distribut:[3,10],distro:14,doc:3,document:[0,4,12],doe:[1,5,6,8,10],done:10,doubt:[0,14],down:[0,9],downward:14,drop:[4,8],dropping_stable_keyword:6,due:[1,3,5,6],duplic:6,dure:[1,3],dynam:[1,2,3,4,14],each:[0,1,9,11],eapi:10,earli:[3,7],easi:0,easier:[0,13],easili:8,eblit:2,ebuild:[0,1,4,5,7,9,10,11],eclass:[1,4,11,14],edit:[2,9],editor:2,educ:0,effort:[0,6],eight:9,either:[1,3,5,6,7,13],elog:1,emerg:11,enabl:[1,5,11,13],encourag:2,end:[0,7,8,13],enforc:[2,4,10],ensur:[1,3,7],entri:[2,14],equival:1,error:[2,11],especi:[1,3],establish:9,etc:[0,3],eval:2,even:[1,13],everi:9,exampl:[1,3,5,8],except:[1,3,6],execut:[0,3],exempt:6,exist:[1,7,13,14],expect:0,experi:0,experienc:[0,1],experiment:6,explan:9,explicit:[1,11],explicitli:[1,2,5,7,8,9,11,13,14],exponenti:7,express:13,extend:13,extern:[2,4],fact:1,facto:9,fallback:5,far:[0,9],fatal:[3,11],favor:14,featur:[1,11],few:[2,13],file:[0,4,6,8,9],filesystem:[3,10],find:[5,8,9],first:[5,6],fit:8,fix:[0,8,14],flag:[0,1,4,5],flat:[9,13],flip:1,focu:0,focus:[0,9],follow:[0,3,5,6,8,10,14],foo:2,forbidden:[2,8,11],form:[2,9,13],formal:9,format:[4,10],former:[1,9],found:[3,9],free:14,frequent:[7,8],from:[1,2,3,6,8,9,11,14],fulfil:3,full:[3,5],fulli:2,further:[0,14],furthermor:[2,3,8,9],futur:[1,6,8,10,13,14],game:4,gamestat:3,gap:14,gener:[2,5,10,13],gentoo:[0,1,2,3,6,7,8,9,11,12,13,14],get:1,gid:14,git:3,github:2,gitweb:3,give:7,glep:[0,1,14],global:[4,11,12,13],gnu:3,goal:[4,5],goe:2,going:[5,9],good:14,govern:0,grab:8,gracefulli:7,grant:3,graph:[1,6,7],grep:[2,8],group:[3,4,8],grow:7,gtk2:13,gtk3:13,gtk:13,guarante:7,gui:4,guid:[10,12],guidelin:[3,10],guix:3,hack:3,had:[1,6],hand:2,handl:[7,11],hard:[2,8,9,13],hardcod:[3,5],harder:2,harm:5,has:[1,3,5,7,11,13,14],have:[1,2,5,6,7,14],help:[0,1,2,8],helper:7,here:[5,6,9],hierarch:13,hierarchi:3,high:3,highest:10,highlight:2,his:[0,7],histor:[1,2,3,4,5,11,13,14],histori:4,hold:3,homepag:4,hour:5,how:[1,9,10],howev:[5,6,9,10],http:[1,2,3,6,7,11,13,14],huge:5,hyphen:13,idea:1,imit:13,immedi:[1,6],immin:14,implement:[0,1,7,10],impli:3,implicitli:1,impos:10,imposs:5,improv:13,inappropri:8,incident:2,includ:[0,1,2,3,5,8,11],inconsist:3,increas:[1,8],indent:2,independ:6,index:[1,2,4,6,11,13],indic:[0,3,9,12],individu:2,infer:11,inform:[1,4,8,9],initramf:3,instal:[0,1,4,7,11,13],install_mask:5,instead:[3,7],instruct:10,intend:9,interchang:1,interest:[6,8],intern:12,introduc:[5,7,13],introduct:[4,13],invalid:11,invari:11,investig:2,involv:0,ish:2,isol:3,issu:[0,5,7,13],its:[3,7,9,10],itself:10,justifi:14,keep:5,kept:6,keyword:4,kind:0,knowledg:8,known:[0,6],lack:9,languag:4,larg:[8,9],larger:3,last:[6,8],later:7,latter:[1,3,9,13],layout:[4,10],lead:14,least:[1,2,6],leav:[2,14],lengthen:13,less:[0,2,9],level:[2,3,10],lib64:3,lib:[3,5],libexec:3,libfoo:1,libpython:7,librari:[1,4],libreoffic:5,libtool:4,licens:4,life:7,like:13,likeli:0,likewis:1,limit:0,liner:5,link:[1,3,5,7],linker:[0,3],lint:[0,2],linux:10,list:[0,3,5,8,9,10,14],littl:2,load:2,loader:[3,5],local:[5,13],locat:[2,4,5],log:[1,3,9,13],logic:[1,9],longer:[3,8],lose:[1,7],lost:8,lot:9,low:13,lowest:14,made:[3,13],mai:[1,3,5,10,13],mail:[0,6,8,10],maintain:[0,3,4,6,7,9,10,12],mainten:[2,7,8],major:[0,7,10,14],make:[2,3,4,5,7,8,9,13],manag:[0,1,3,11],mani:[1,3,5,7,8,10],manual:13,match:[1,7,14],mean:[1,13],meant:[4,6,8,12],measur:0,meet:[1,3,9,13],member:[0,8],mention:9,mere:8,messag:[1,13],metadata:[3,4,8],method:2,mgorni:12,might:5,migrat:14,minim:7,minor:[0,6],mismatch:13,miss:1,mistak:0,modern:3,modul:7,moment:1,more:[2,5,9,10,13],most:2,motiv:4,mount:3,move:[2,3],much:5,multi:2,multilib:4,multipl:[2,11,13],multislot:4,must:[1,3,4,5,6,7,8,13,14],name:[2,3,4,5],necessari:[5,8,13],need:[1,3,5,8,9,10,13,14],needless:1,neg:[5,6],neglect:6,neither:8,never:[3,5,9],nevertheless:10,newest:1,newli:13,next:14,nix:3,non:[0,1,2,3,6,9,11],nonfunct:1,nor:[1,8],normal:3,notic:[1,5],number:[7,8,14],obsolet:9,obtain:13,offer:13,often:[6,8],old:[1,3,6,7,8,11],oldid:[1,6,11,13],onc:[1,6,8],one:[1,3,5,6,7,8],ones:14,onli:[1,3,5,6,9,10],open:[1,14],oper:10,oppon:1,opportun:1,opt:3,option:[4,11,13],order:[0,1,3,5,7,9],org:[1,2,3,6,7,11,13,14],organ:9,origin:[8,9,11],other:[0,1,2,3,4,5,6,7,8,9,12,13],otherwis:[1,5],out:[1,7,8,9,13],over:[0,6],overlai:11,overlap:2,overrid:[0,10],own:3,ownership:4,packag:[0,2,3,4,5,6,7,11,13,14],page:[2,4,9,10],paludi:1,parallel:11,part:[1,2,3,9],partial:[2,9,10],particular:[5,9],partit:3,past:[2,9],path:[0,4,5],per:13,period:0,permit:[1,2,3,8,11],person:[0,6,13],phase:[0,2,7,13],php:[1,6,11,13],pkg:5,pkgcheck:[0,1,2,6,7,13,14],place:[1,5,6],plain:[1,2],pleas:8,plugin:5,point:[1,5,9],pointless:14,polici:[1,5,6,8,11,12,13],port:7,portabl:[0,1,5],portag:[1,3],posix:2,possibl:[0,1,2,7,8,9],potenti:5,practic:[0,5],pre:11,precis:9,predict:1,prefac:4,prefer:[1,7,13],prepar:7,preprocess:2,prevent:[1,8,14],previou:[0,1,6],primari:9,primit:14,principl:2,prioriti:13,privat:1,privileg:3,problem:[0,1],proceed:6,process:[4,6,10,12,14],profil:[3,8],program:[5,7,8],proj:3,project:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],prolifer:5,prone:2,propag:1,proper:13,propon:1,propos:1,provid:[0,5,7,9,10,11,14],pull:1,purpos:[3,4],push:[0,14],pypi:2,python:[4,8],python_2_end:7,python_compat:7,python_gen_cond_dep:7,python_single_target:7,python_single_usedep:7,python_target:7,python_usedep:7,qt4:13,qt5:13,qualiti:0,quality_assur:[1,6,11,13],queri:[9,11],question:[0,1,3,6,8],rang:[1,14],rapid:14,rather:[2,9,10,13],rational:[1,2,3,4,5,6,7,8,9,11,12,13,14],reach:7,readabl:3,readi:7,readm:1,realli:[5,9],reason:[1,3,14],reassign:8,rebuild:[1,5],recommend:[2,5,10,13,14],recoveri:5,reduc:[0,2,7],refer:[1,3,4,6,7,9,11,13,14],refus:[0,8],regard:0,regular:[13,14],reject:9,rekeyword:4,relat:[0,9],relev:[0,6],reli:[1,3],reliabl:[0,7],remain:6,remov:[1,4,5,7,11,13,14],render:2,repair:3,repeat:[0,2],replac:[5,9,13],repo:3,repoman:[0,1,2,6,14],report:[0,1,2,3,5,6,7,8,11,13,14],repositori:[0,9,10,11],request:[0,6,14],requir:[1,3,5,7,9,10,11,14],resembl:13,reserv:[13,14],resign:8,resolv:[0,11],respond:6,respons:[1,11,13,14],restrict:[3,9,10],result:[1,14],retest:6,retir:7,reus:14,revers:[1,5,7],review:[10,14],revis:[3,4],risk:0,rite:6,role:0,root:3,rootf:3,rule:[2,6,10,13,14],run:0,runtim:[4,7],same:[0,11,14],sbin:3,scale:9,scan:0,scatter:9,scope:11,score:3,script:[3,7],search:4,second:14,secur:5,select:14,send:8,separ:[4,11],serv:14,servic:[0,5],set:[1,2,4,9,12,13],setgid:3,setup:[0,3],share:[3,5],sharealik:12,shell:5,shorter:13,should:[0,1,3,5,6,7,9,10,13,14],side:1,silent:8,simpl:[13,14],simpli:1,simplifi:14,simultan:11,sinc:[2,3,5,13],singl:[2,9],size:5,slack:6,slot:[4,7],small:[3,4,8],smaller:5,softwar:[0,3,10],sole:8,solut:1,some:[3,6,9],soon:7,sooner:7,sourc:[1,2,3,4,5,6,7,8,9,11,12,13,14],space:3,span:1,special:13,specif:[0,1,4,5,9,12,13],specifi:[1,2,10],spend:5,spirit:9,split:8,src:3,src_uri:4,srv:3,stabil:4,stabl:[1,4],stale:9,standard:[2,4],start:[1,9,14],state:[3,4,11],still:[1,3,6,13],strict:4,strictli:3,strip:5,strongli:5,style:4,subdirectori:3,subsequ:10,subset:6,subslot:4,subtli:3,success:14,suffer:8,suffici:9,suffix:3,suggest:10,summari:[1,3,13],supplement:[0,5],suppli:[4,12],support:[0,2,4,5,7,11,13],sure:8,surpris:[0,2],symlink:3,sync:14,synchron:14,syntax:2,system:[0,4,5,10,14],systemd:[0,5],tab:2,take:[0,1,6,8],task:0,team:[0,3,4,6,8,9,12,13],technic:[3,5,8,9,10,11,13],tent:1,term:7,termin:2,test:[0,2],text:12,than:[0,2,5,7,9,10,13],thei:[0,1,5,6,8,13],them:[0,3,5,8,9,10,13],themselv:5,therefor:[1,3,4,9,12],thi:[0,1,2,3,5,6,8,9,10,11,12,13,14],those:[0,2,3,7,8],three:0,through:[7,10],time:[0,1,6,7,9],timefram:1,tini:5,tip:9,titl:[1,6,11,13],todai:5,toggl:1,tool:[0,2,5],toolchain:[3,11],toolkit:13,top:3,tree:[0,3,4,9,10,12],trigger:[0,11],triplet:3,trivial:0,turn:[9,11],two:[0,1,11],txt:[1,3,13,14],udev:3,uid:14,unclear:9,uncommon:[1,5],uncondition:[5,11],undefin:11,under:[1,12],underscor:4,understand:9,unfair:8,unit:[0,5],unless:[1,5,7,8,14],unmaintain:8,unnecessari:[2,5,6,7,13],unnecessarili:[1,13],unpredict:11,unprefix:13,unreli:1,until:7,unus:2,unwilling:0,updat:[1,4,9,10,12,14],upgrad:[7,11],upon:10,upstream:[3,7],uri:2,usag:[1,9],use:[0,2,3,5,7,9,11,13,14],use_expand:13,used:[1,2,3,5,7,8,11,13,14],usefulness:2,user:[0,1,3,4,5,7,8,11,13],uses:[1,7,13],using:[0,1,2,3,5,7,14],usr:4,usual:1,valid:13,valu:[1,2,3,11],variabl:[4,7],variant:3,variou:[0,8,9,13],verbatim:2,veri:[1,3,5,8,9,13,14],verifi:1,version:[1,2,3,4,11,14],versioned_use_flag:13,via:[2,3,9,10,11,13,14],violat:[0,11],wai:[1,9,13],want:[6,13],wast:3,web:3,well:[2,4,6,9,10,11,12],were:[1,2,5,6,9,11,14],what:8,when:[0,1,2,5,8,10,11,13],whenev:[1,2,3,5,6,10,13],where:3,whether:[0,1,6],which:[1,2,4,6,9,11,12,13],who:[1,5,6,8,9,13],whole:7,why:8,wide:0,wider:9,widget:13,width:2,wiki:[1,6,7,9,10,11,13],wish:[5,13],within:[1,3,4,6,8,13],without:[0,1,2,3,4],word:9,work:[0,2,3,6,12,13],world:3,wors:8,would:[3,9],writabl:3,written:[0,1,8,9],xml:8,yet:1,you:1,your:1},titles:["Basic information","Dependencies","Ebuild file format","File system layout","Gentoo Policy Guide","Installed files","Keywording and stabilization","Language-specific policies","Package Maintainers","Motivation and history","Other policy documents","Other metadata variables","Preface","USE flags","Users and groups"],titleterms:{"case":1,"new":[6,8],"static":[3,5],Adding:8,FHS:10,USE:13,account:14,appeal:0,author:12,basic:0,bump:1,chang:[0,1],check:0,code:2,complianc:0,contain:2,depend:1,deprec:7,develop:10,document:[9,10],drop:6,dynam:11,ebuild:2,eclass:[2,7],enforc:0,extern:10,file:[2,3,5],flag:[11,13],format:2,game:3,gentoo:[4,10],glep:10,goal:0,group:14,gui:13,guid:[4,9],histor:9,histori:9,homepag:2,indic:4,inform:0,instal:[3,5],introduct:12,keyword:6,languag:7,layout:3,librari:[3,5],libtool:[3,5],licens:12,locat:3,maintain:8,make:0,manag:10,manual:10,metadata:11,motiv:9,multilib:3,multislot:11,must:2,name:13,oper:1,option:1,other:[10,11],ownership:3,packag:[1,8,10],path:3,polici:[0,4,7,9,10,14],posix:10,prefac:12,proactiv:1,purpos:9,python:7,refer:2,rekeyword:6,remov:[6,8],revis:1,runtim:1,separ:3,slot:[1,11],small:5,special:1,specif:[7,10],src_uri:2,stabil:6,stabl:6,standard:10,state:9,strict:3,style:2,sub:1,subslot:1,support:3,system:3,tabl:4,todo:[3,6,13],underscor:13,usag:7,use:1,user:14,usr:3,variabl:[2,11],version:[6,13],within:2,without:8}})
\ No newline at end of file
+Search.setIndex({docnames:["basics","dependencies","ebuild-format","filesystem","index","installed-files","keywords","languages","maintainer","motivation","other-docs","other-metadata","preface","use-flags","user-group"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":2,sphinx:56},filenames:["basics.rst","dependencies.rst","ebuild-format.rst","filesystem.rst","index.rst","installed-files.rst","keywords.rst","languages.rst","maintainer.rst","motivation.rst","other-docs.rst","other-metadata.rst","preface.rst","use-flags.rst","user-group.rst"],objects:{},objnames:{},objtypes:{},terms:{"08gentoo":3,"2fuse":11,"80librari":3,"80multilib":3,"83cc5bbd7bbe8bdf04dd3c3bc7f8a035":[],"9cae3a92412a007febe7ac0612d50f5f":1,"break":[2,7],"case":[0,3,6],"class":0,"default":5,"final":[0,9,10],"function":[0,2,3,7],"g\u00f3rny":12,"import":[1,7,14],"long":[1,6,7,11],"micha\u0142":12,"new":[3,4,7,9,13,14],"public":1,"static":4,"switch":13,"true":14,"try":[0,2,8],"var":3,"while":[0,1,2,5,11],Adding:4,For:[1,3,8],Its:[0,9],PMS:[9,10,11],Such:[5,11],The:[0,1,2,3,4,6,7,8,9,10,11,12,13,14],There:[1,5,8,9],USE:[1,4,5,11],Use:2,Using:1,With:3,abi:[1,3],abil:9,abolish:0,about:[],absolut:4,accept:[1,3,11,14],access:3,accident:7,account:[1,2,4],acct:14,achiev:0,across:[0,9],action:0,activ:10,actual:8,add:[2,8],added:[3,5,8],adding:[1,8,14],addit:[2,3,5,9,10],addition:0,address:9,adjust:13,adopt:14,advantag:[2,13],affect:[0,2,6],aforement:[3,9],after:[0,1,3],afterward:13,against:[0,2,9],agre:8,aid:14,aim:[0,1,4,8,12,13],align:2,all:[0,2,4,5,6,7,8,9,10,11,12,13,14],alloc:14,allow:[2,11],along:[3,9],alreadi:[1,3,7],also:[0,7,9,13],alter:11,alwai:[2,3],amd64:3,amount:9,analyz:0,ani:[1,2,5,8,9,10,11,13],anoth:3,anymor:[3,6],anywher:[],api:1,app:5,appeal:4,appli:[0,1,6,8,9,10],applic:[1,3,5,9,10],appropri:3,approv:[1,10,14],arbitrari:14,arch:6,architectur:[0,3,6],archiv:[1,5,13],area:0,argu:1,aris:[9,13,14],ask:[0,6],assign:[8,14],assum:[1,13],attempt:[2,5,9,13],attribut:12,author:4,autom:0,autotool:5,avail:[1,9,13],avoid:[2,5],awar:8,backup:8,bad:[1,3],base:5,baselayout:14,bash:[2,5],basic:[4,10],becom:[1,4,8,12],been:[1,3,5,11,13,14],befor:[0,6,13,14],behavior:[0,1,5,11],being:[1,5,6,7,8,11],besid:10,better:[7,9],between:[3,7,11,13,14],bin:3,bind:[4,9,12],bit:3,blurri:3,bodi:[0,4,9,12],boot:3,both:[0,2,4,5,7,12,13],boundari:3,bracket:2,breakag:[1,6],broken:3,brought:5,browser:3,bug:[2,6,8,14],build:[0,1,3,5,7,13],builtin:2,bump:[4,14],burden:8,cach:11,call:[1,7],can:[0,1,3,4,6,9,10,11,12,13,14],care:8,categori:5,caus:[1,5,6,7,11,13],cf3f5a59ac918335766632bd02438722:13,chanc:[7,8],chang:[2,4,7,10],check:[3,4],choic:[2,13],choos:[11,13],chosen:14,chost:3,circumst:1,claim:1,clarifi:3,clean:1,clear:[4,9,12,13],close:6,code:[0,1,4,7],collect:9,collis:14,combin:[0,4,9,12],comment:8,commit:0,common:[1,2,12],compar:8,compat:[3,7],compil:0,complet:[5,9],compli:10,complianc:4,compon:0,concept:0,concis:9,condit:2,config:5,conform:[9,10],confus:[2,6,13],consent:8,consequ:5,consid:[5,13],consist:[0,2,7,13],construct:2,contact:0,contain:[4,8,10,13],content:4,context:5,contribut:0,control:[1,3,5,13],controlled_optional_rdepend:1,convert:[2,13],copi:2,correct:[1,3],correctli:[0,3],correspond:[1,3],cost:[5,7],could:[5,8,11],council:[0,1,3,4,9,10,12,13],creat:[0,3,9,10,13,14],creativ:12,cross:14,ctarget:3,cumbersom:1,current:[0,3,4,8,12],dai:6,data:3,debat:1,decid:1,decis:[0,9],declar:11,dedic:8,defer:7,defici:9,defin:[1,7,10,13],definit:[4,12],delai:[7,14],depclean:11,depend:[2,4,5,6,7,11,13],dependent_slot:11,deprec:14,design:[2,4,12],desir:14,detail:10,detect:[0,1],dev:[1,3,8,13],develop:[0,1,2,3,4,6,8,9,12,13,14],devmanu:[9,10],did:[5,9],die:5,differ:[0,1,2],difficult:3,direct:[0,11],directli:[0,7,9],directori:[2,3],disabl:[1,11],disagre:[0,10],disciplinari:0,discourag:[5,13],discov:13,discuss:[10,13],distinguish:[8,13],distribut:[3,10],distro:14,doc:3,document:[0,4,12],doe:[1,5,6,8,10],done:10,dosym:3,doubt:[0,14],down:[0,9],download:[],downward:14,drop:[4,8],dropping_stable_keyword:6,due:[1,3,5,6],duplic:6,dure:[1,3],dynam:[1,2,3,4,14],each:[0,1,9,11],eapi:10,earli:[3,7],easi:0,easier:[0,13],easili:8,eblit:2,ebuild:[0,1,3,4,5,7,9,10,11],eclass:[1,4,11,14],edit:[2,9],editor:2,educ:0,effort:[0,6],eight:9,either:[1,3,5,6,7,13],elog:1,emerg:11,enabl:[1,5,11,13],encourag:2,end:[0,7,8,13],enforc:[2,4,10],ensur:[1,3,7],entri:[2,14],eprefix:[],equal:1,equival:1,error:[2,11],especi:[1,3],establish:9,etc:[0,3],eval:2,even:[1,13],everi:9,exampl:[1,3,5,8],except:[1,3,6],execut:[0,3],exempt:6,exist:[1,7,13,14],expect:0,experi:0,experienc:[0,1],experiment:6,explan:9,explicit:[1,11],explicitli:[1,2,5,7,8,9,11,13,14],exponenti:7,express:13,extend:13,extern:[2,4],fact:1,facto:9,fallback:5,far:[0,9],fatal:[3,11],favor:14,featur:[1,11],few:[2,13],file:[0,4,6,8,9],filesystem:[3,10],find:[5,8,9],first:[5,6],fit:8,fix:[0,8,14],flag:[0,1,4,5],flat:[9,13],flip:1,focu:0,focus:[0,9],follow:[0,3,5,6,8,10,14],foo:2,forbidden:[2,8,11],form:[2,9,13],formal:9,format:[4,10],former:[1,9],found:[3,9],free:14,frequent:[7,8],frobnic:3,from:[1,2,3,6,8,9,11,14],fulfil:3,full:[3,5],fulli:2,further:[0,14],furthermor:[2,3,8,9],futur:[1,6,8,10,13,14],game:4,gamestat:3,gap:14,gener:[2,3,5,10,13],gentoo:[0,1,2,3,6,7,8,9,11,12,13,14],get:1,gid:14,git:3,github:2,gitweb:3,give:7,glep:[0,1,14],global:[4,11,12,13],gnu:3,goal:[4,5],goe:2,going:[5,9],good:[1,3,14],govern:0,grab:8,gracefulli:7,grant:3,graph:[1,6,7],grep:[2,8],group:[3,4,8],grow:7,gtk2:13,gtk3:13,gtk:13,guarante:7,gui:4,guid:[10,12],guidelin:[3,10],guix:3,hack:3,had:[1,6],hand:2,handl:[7,11],hard:[2,8,9,13],hardcod:[3,5],harder:2,harm:5,has:[1,3,5,7,11,13,14],have:[1,2,5,6,7,14],help:[0,1,2,8],helper:7,here:[5,6,9],hierarch:13,hierarchi:3,high:3,highest:10,highlight:2,his:[0,7],histor:[1,2,3,4,5,11,13,14],histori:4,hold:3,homepag:4,host:3,hour:5,how:[1,9,10],howev:[5,6,9,10],http:[1,2,3,6,7,11,13,14],huge:5,hyphen:13,idea:1,identifi:[],imit:13,immedi:[1,6],immin:14,implement:[0,1,7,10],impli:3,implicitli:1,impos:10,imposs:5,improv:13,inappropri:8,incident:2,includ:[0,1,2,3,5,8,11],inconsist:3,increas:[1,8],indent:2,independ:6,index:[1,2,4,6,11,13],indic:[0,3,9,12],individu:2,infer:11,inform:[1,4,8,9],initramf:3,instal:[0,1,4,7,11,13],install_mask:5,instead:[1,3,7],instruct:10,intend:9,interchang:1,interest:[6,8],intern:12,introduc:[5,7,13],introduct:[4,13],invalid:11,invari:11,investig:2,involv:0,ish:2,isol:3,issu:[0,5,7,13],its:[3,7,9,10],itself:10,job:[],justifi:14,keep:5,kept:6,keyword:4,kind:0,knowledg:8,known:[0,6],lack:9,languag:4,larg:[8,9],larger:3,last:[6,8],later:7,latter:[1,3,9,13],layout:[4,10],lead:14,least:[1,2,6],leav:[2,14],lengthen:13,less:[0,2,9],level:[2,3,10],lib64:3,lib:[1,3,5],libexec:3,libfoo:1,libfrobn:1,libpython:7,librari:[1,4],libreoffic:5,libtool:4,licens:4,life:7,like:13,likeli:0,likewis:1,limit:0,liner:5,link:[1,4,5,7],linker:[0,3],lint:[0,2],linux:10,list:[0,3,5,8,9,10,14],littl:2,load:2,loader:[3,5],local:[5,13],locat:[2,4,5],log:[1,3,9,13],logic:[1,9],longer:[3,8],lose:[1,7],lost:8,lot:9,low:13,lowest:14,made:[3,13],mai:[1,3,5,10,13],mail:[0,6,8,10],maintain:[0,3,4,6,7,9,10,12],mainten:[2,7,8],major:[0,7,10,14],make:[2,3,4,5,7,8,9,13],manag:[0,1,3,11],mani:[1,3,5,7,8,10],manual:13,marker:[],match:[1,7,14],mean:[1,13],meaning:[],meant:[4,6,8,12],measur:0,meet:[1,3,9,13],member:[0,8],mention:9,mere:8,messag:[1,13],metadata:[3,4,8],method:2,mgorni:12,might:5,migrat:14,minim:7,minor:[0,6],mismatch:13,miss:1,mistak:[0,1],modern:3,modul:7,moment:1,more:[2,5,9,10,13],most:2,motiv:4,mount:3,move:[2,3],mtab:3,much:5,multi:2,multilib:4,multipl:[2,11,13],multislot:4,must:[1,3,4,5,6,7,8,13,14],name:[2,3,4,5],necessari:[1,5,8,13],need:[1,3,5,8,9,10,13,14],needless:1,neg:[5,6],neglect:6,neither:8,never:[3,5,9],nevertheless:10,newest:1,newli:13,next:14,nix:3,no_homepag:[],non:[0,1,2,3,6,9,11],nonfunct:1,nor:[1,8],normal:3,notic:[1,5],number:[7,8,14],obsolet:9,obtain:13,offer:13,often:[6,8],old:[1,3,6,7,8,11],oldid:[1,6,11,13],onc:[1,6,8],one:[1,3,5,6,7,8],ones:14,onli:[1,3,5,6,9,10],open:[1,14],oper:10,oppon:1,opportun:1,opt:3,option:[4,11,13],order:[0,1,3,5,7,9],org:[1,2,3,6,7,11,13,14],organ:9,origin:[8,9,11],other:[0,1,2,3,4,5,6,7,8,9,12,13],otherwis:[1,5],out:[1,7,8,9,13],over:[0,6],overlai:11,overlap:2,overrid:[0,10],own:3,ownership:4,packag:[0,2,3,4,5,6,7,11,13,14],page:[2,4,9,10],paludi:1,parallel:11,part:[1,2,3,9],partial:[2,9,10],particular:[5,9],partit:3,past:[2,9],path:[0,4,5],per:13,period:0,permit:[1,2,3,8,11],person:[0,6,13],phase:[0,2,7,13],php:[1,6,11,13],pkg:5,pkgcheck:[0,1,2,3,6,7,13,14],place:[1,5,6],plain:[1,2],pleas:8,plugin:5,point:[1,3,5,9],pointless:14,polici:[1,5,6,8,11,12,13],port:7,portabl:[0,1,5],portag:[1,3],posix:2,possibl:[0,1,2,7,8,9],potenti:5,practic:[0,5],pre:11,precis:9,predict:1,prefac:4,prefer:[1,7,13],prefix:[],prepar:7,prepend:[],preprocess:2,prevent:[1,8,14],previou:[0,1,6],primari:9,primit:14,principl:2,prioriti:13,privat:1,privileg:3,problem:[0,1],proc:3,proceed:6,process:[4,6,10,12,14],profil:[3,8],program:[5,7,8],proj:3,project:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],prolifer:5,prone:2,propag:1,proper:13,propon:1,propos:1,provid:[0,5,7,9,10,11,14],pull:1,purpos:[3,4],push:[0,14],pypi:2,python:[4,8],python_2_end:7,python_compat:7,python_gen_cond_dep:7,python_single_target:7,python_single_usedep:7,python_target:7,python_usedep:7,qt4:13,qt5:13,qualiti:0,quality_assur:[1,6,11,13],queri:[9,11],question:[0,1,3,6,8],rang:[1,14],rapid:14,rather:[2,9,10,13],rational:[1,2,3,4,5,6,7,8,9,11,12,13,14],reach:7,readabl:3,readi:7,readm:1,realli:[5,9],reason:[1,3,14],reassign:8,rebuild:[1,5],recommend:[2,5,10,13,14],reconsid:1,recoveri:[3,5],reduc:[0,2,7],refer:[1,3,4,6,7,9,11,13,14],refus:[0,8],regard:0,regular:[13,14],reject:9,rekeyword:4,rel:3,relat:[0,9],relev:[0,6],reli:[1,3],reliabl:[0,7],remain:6,remov:[1,4,5,7,11,13,14],render:2,repair:3,repeat:[0,2],replac:[5,9,13],repo:3,repoman:[0,1,2,3,6,14],report:[0,1,2,3,5,6,7,8,11,13,14],repositori:[0,9,10,11],request:[0,1,6,14],requir:[1,3,5,7,9,10,11,14],resembl:13,reserv:[13,14],resign:8,resolv:[0,11],respond:6,respons:[1,11,13,14],restrict:[3,9,10],result:[1,14],retest:6,retir:7,reus:14,revers:[1,5,7],review:[10,14],revis:[3,4],risk:0,rite:6,role:0,root:3,rootf:3,rule:[2,6,10,13,14],run:[0,3],runtim:[4,7],same:[0,11,14],sbin:3,scale:9,scan:0,scatter:9,scope:11,score:3,script:[3,7],search:4,second:14,secur:5,select:14,self:3,send:8,separ:[4,11],serv:14,servic:[0,5],set:[1,2,4,9,12,13],setgid:3,setup:[0,3],share:[3,5],sharealik:12,shell:5,shorter:13,should:[0,1,3,5,6,7,9,10,13,14],side:1,silent:8,similar:[],simpl:[13,14],simpli:1,simplifi:14,simultan:11,sinc:[2,3,5,13],singl:[2,9],size:5,slack:6,slot:[4,7],small:[3,4,8],smaller:5,softwar:[0,3,10],sole:8,solut:1,some:[3,6,9],soon:7,sooner:7,sourc:[1,2,3,4,5,6,7,8,9,11,12,13,14],space:3,span:1,special:[3,13],specif:[0,1,4,5,9,12,13],specifi:[1,2,10],spend:5,spirit:9,split:8,src:3,src_uri:4,srv:3,stabil:4,stabl:[1,4],stale:9,standard:[2,4],start:[1,9,14],state:[3,4,11],still:[1,3,6,13],strict:4,strictli:3,strip:5,strongli:5,style:4,subdirectori:3,subpag:[],subsequ:10,subset:6,subslot:4,subtli:3,success:14,suffer:8,suffici:9,suffix:3,suggest:10,summari:[1,3,13],supplement:[0,5],suppli:[4,12],support:[0,2,4,5,7,11,13],suppos:3,sure:8,surpris:[0,2],symbol:4,symlink:3,sync:14,synchron:14,syntax:2,system:[0,4,5,10,14],systemd:[0,5],tab:2,take:[0,1,6,8],target:4,task:0,team:[0,3,4,6,8,9,12,13],technic:[3,5,8,9,10,11,13],tent:1,term:7,termin:2,test:[0,2],text:12,than:[0,2,5,7,9,10,13],thei:[0,1,3,5,6,8,13],them:[0,3,5,8,9,10,13],themselv:5,therefor:[1,3,4,9,12],thi:[0,1,2,3,5,6,8,9,10,11,12,13,14],those:[0,2,3,7,8],three:0,through:[7,10],tild:1,time:[0,1,6,7,9],timefram:1,tini:5,tip:9,titl:[1,6,11,13],todai:5,toggl:1,tool:[0,2,5],toolchain:[3,11],toolkit:13,top:3,tracker:[],tree:[0,3,4,9,10,12],trigger:[0,11],triplet:3,trivial:0,turn:[9,11],two:[0,1,11],txt:[1,3,13,14],udev:3,uid:14,unclear:9,uncommon:[1,5],uncondition:[5,11],undefin:11,under:[1,12],underscor:4,understand:9,unfair:8,unit:[0,5],unless:[1,5,7,8,14],unmaintain:8,unnecessari:[2,5,6,7,13],unnecessarili:[1,13],unpredict:11,unprefix:13,unreli:1,until:7,unus:2,unwilling:0,updat:[1,4,9,10,12,14],upgrad:[7,11],upon:10,upstream:[3,7],uri:2,usag:[1,9],use:[0,2,3,5,7,9,11,13,14],use_expand:13,used:[1,2,3,5,7,8,11,13,14],usefulness:2,user:[0,1,3,4,5,7,8,11,13],uses:[1,7,13],using:[0,1,2,3,5,7,14],usr:4,usual:1,valid:13,valu:[1,2,3,11],variabl:[4,7],variant:3,variou:[0,8,9,13],verbatim:2,veri:[1,3,5,8,9,13,14],verifi:1,version:[1,2,3,4,11,14],versioned_use_flag:13,via:[2,3,9,10,11,13,14],violat:[0,11],wai:[1,9,13],want:[6,13],warn:1,wast:3,web:3,well:[2,4,6,9,10,11,12],were:[1,2,5,6,9,11,14],what:8,when:[0,1,2,3,5,8,10,11,13],whenev:[1,2,3,5,6,10,13],where:3,whether:[0,1,6],which:[1,2,4,6,9,11,12,13],who:[1,5,6,8,9,13],whole:7,why:8,wide:0,wider:9,widget:13,width:2,wiki:[1,6,7,9,10,11,13],wildcard:1,wish:[5,13],within:[1,3,4,6,8,13],without:[0,1,2,3,4],word:9,work:[0,2,3,6,12,13],world:3,wors:8,would:[3,9],writabl:3,written:[0,1,8,9],wrong:3,xml:8,yet:1,you:1,your:1,zeroth:1},titles:["Basic information","Dependencies","Ebuild file format","File system layout","Gentoo Policy Guide","Installed files","Keywording and stabilization","Language-specific policies","Package Maintainers","Motivation and history","Other policy documents","Other metadata variables","Preface","USE flags","Users and groups"],titleterms:{"case":1,"new":[6,8],"static":[3,5],Adding:8,FHS:10,USE:13,absolut:3,account:14,appeal:0,author:12,basic:0,bump:1,chang:[0,1],check:0,code:2,complianc:0,contain:2,depend:1,deprec:7,develop:10,document:[9,10],drop:6,dynam:11,ebuild:2,eclass:[2,7],enforc:0,extern:10,file:[2,3,5],flag:[11,13],format:2,game:3,gentoo:[4,10],glep:10,goal:0,group:14,gui:13,guid:[4,9],histor:9,histori:9,homepag:2,indic:4,inform:0,instal:[3,5],introduct:12,keyword:6,languag:7,layout:3,librari:[3,5],libtool:[3,5],licens:12,link:3,locat:3,maintain:8,make:0,manag:10,manual:10,meaning:[],metadata:11,motiv:9,multilib:3,multislot:11,must:2,name:13,oper:1,option:1,other:[10,11],ownership:3,packag:[1,8,10],path:3,polici:[0,4,7,9,10,14],posix:10,prefac:12,proactiv:1,purpos:9,python:7,refer:2,rekeyword:6,remov:[6,8],revis:1,runtim:1,separ:3,slot:[1,11],small:5,special:1,specif:[7,10],src_uri:2,stabil:6,stabl:6,standard:10,state:9,strict:3,style:2,sub:1,subslot:1,support:3,symbol:3,system:3,tabl:4,target:3,todo:[3,6,13],underscor:13,usag:7,use:1,user:14,usr:3,valu:[],variabl:[2,11],version:[6,13],within:2,without:8}})
\ No newline at end of file
--
cgit v1.2.3-65-gdbad