Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 99740 Details for
Bug 151484
KDE split-ebuilds
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
CZ KDE Split ebuilds
KDE_Split_ebuilds.xml (text/plain), 17.39 KB, created by
Ondrej
on 2006-10-15 10:46:12 UTC
(
hide
)
Description:
CZ KDE Split ebuilds
Filename:
MIME Type:
Creator:
Ondrej
Created:
2006-10-15 10:46:12 UTC
Size:
17.39 KB
patch
obsolete
><?xml version='1.0' encoding='UTF-8'?> > ><!-- $Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/kde-split-ebuilds.xml,v 1.10 2006/01/02 10:05:11 neysx Exp $ --> > ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> > ><guide link="/doc/en/kde-split-ebuilds.xml"> > ><title>Jak na RozdÄlené KDE Ebuilds</title> > ><author title="Author"> > <mail link="danarmak@gentoo.org">Dan Armak</mail> ></author> ><author title="Editor"> > <mail link="greg_g@gentoo.org">Gregorio Guidi</mail> ></author> > ><abstract> >KDE 3.4, 'rozdÄlené ebuildy' byly pÅedstaveny v Portage. Tato stránka >popisuje důvody za pÅechodem, pÅinášà nové vlastnosti a způsob jak >aktualizovat ze starých 'monolitických' ebuildů. ></abstract> > ><!-- The content of this document is licensed under the CC-BY-SA license --> ><!-- See http://creativecommons.org/licenses/by-sa/2.5 --> ><license/> > ><version>1.7</version> ><date>2005-11-30</date> > ><chapter> ><title>RozdÄlené KDE Ebuilds</title> ><section> ><title>Co jsou zaÄ</title> ><body> > ><p> >Do ledna 2005, byli pouze KDE ebuildy v Portage 'monolitické'. >To jest, bylo pouze 15 ebuildů (kdebase, kdenetwork, ...), a každý z nich >instalovaný mnoha aplikacemi které, ve skuteÄnosti, nebyli na sobÄ závislé. >Toto byla zÅejmÄ "optimálnÃ" situace, a né velmi pÅátelská s Gentoo, ale bylo to >tolerováno po dlouho dobu. ></p> > ><p> >Nové 'rozdÄlené' ebuildy (pro konqueror, kmail, ...) upÅesnili situaci poskytovánÃm >oddÄlených ebuildů pro vÅ¡echny oddÄlené KDE aplikace. To nám dalo veliký úhrn >okolo 330 nových ebuildů v kategorii kde-base. ></p> > ><p> >Stále poskytujem monolitické ebuildy pro KDE 3.4 a 3.5 a jsou schopné jasnÄ spolupracovat >s rozdÄlenými. NicménÄ, rozdÄlené ebuildy jsou nový standard, a už nebudou žádné monolitické ebuildy >pro KDE 4.0. ></p> > ><p> >Nakonec, by mÄlo být zmÃnÄno že jsou rovnÄž rozdÄlené ebuildy pro Koffice. >Tyto poskytujà kword, kugar atd. jako oddÄlené balÃÄky ></p> > ></body> ></section> ><section> ><title>Jak instalovat rozdÄlené ebuildy</title> ><body> > ><p> >Poslednà stabilnà uvolnÄné KDE, jako u tohoto psanÃ, je 3.4.3. Poslednà >nestabilnà (package.masked) je 3.5.0_beta2. RozdÄlené a monolitické >ebuildy pro obÄ uvolnÄnà jsou pÅÃtomné v Portage. ></p> > ><ul> > <li> > K emergovánà jednotlivých balÃÄků, jako je kmail, jednoduÅ¡e <c>emerge > kmail</c>. > </li> > <li> > K emergovánà základnÃho prostÅedà KDE umožÅujÃcà pÅihlášenà > do minimálnÃho "sezenÃ" KDE , <c>emerge kdebase-startkde</c>. > </li> > <li> > Nakonec, pro pÅesný ekvivalent jednoho z monolitických balÃÄků &ndash pro > instance, pro obdrženà vÅ¡ech aplikacà zahrnutých v <c>kdebase</c> použÃvajÃcà > rozdÄlené ebuildy &ndash můžete <c>emerge kdebase-meta</c> (nebo kdepim-meta, atd.) > K obdrženà absolutnÄ vÅ¡ech rozdÄlených KDE ebuildů, <c>emerge kde-meta</c>. > </li> ></ul> > ></body> ></section> ><section> ><title>Jak aktualizovat z monolitických do rozdÄlených ebuildů</title> ><body> > ><p> >Máte-li nainstalován KDE 3.3.x, můžete jednoduÅ¡e zadat <c>emerge kde-meta</c> >k instalaci 3.4.x rozdÄlených ebuildů bez naruÅ¡enà existujÃcà instalace. >To samé se dá použÃt i na 3.5.x ></p> > ><p> >Máte-li nainstalovány KDE 3.4.x monolitické ebuildy, musÃte je odebrat (pomocà >unmerge) pÅed pÅidánÃm rozdÄlených ebuildů. NicménÄ, tento proces může být >udÄlán pro každý monolitický ebuild zvlášť; nemusÃte odebÃrat vÅ¡e z KDE >najednou. ></p> > ><p> >Pochybujete-li, pamatujte si, že existujà blokováné Äásti v mÃstech mezi >každým monolitickým ebuildem a z toho plynou odvozené rozdÄlené ebuildy. Portage >vám neumožnà vytvoÅit nedovolený stav, takže jakékoliv emerge >nebo unmerge, které povolà je v poÅádku. ></p> > ></body> ></section> ><section> ><title>Výhody rozdÄlených ebuildů</title> ><body> > ><p> >StruÄný seznam toho, co zÃskáme pÅechodem na rozdÄlené ebuildy: ></p> > ><ul> > <li> > VÄtÅ¡ina KDE balÃÄků se vůbec nezmÄnà mezi menÅ¡Ãm uvolnÄnÃm KDE (minor releases). > NapÅÃklad, aktualizace z 3.3.1 na 3.3.2 zmÄnà ménÄ než 100 balÃÄků z 320. > RozdÄlené balÃÄky umožÅujà vytvoÅit nové ebuildy pouze pro aktuálnÄ zmÄnÄné > balÃÄky, což uÅ¡etÅà (v tomto pÅÃpadÄ) vÃc než dvÄ tÅetiny Äasu kompilace > pÅi aktualizaci. > </li> > <li> > Záplaty (patche) obvykle zasáhnou specifické balÃÄky. S rozdÄlenými ebuildy, > můžou být rychleji otestovány, schváleny a odevzdány, vývojáÅi majà mÄnÄ práce; > a jak bylo zmÃnÄno výše, uživatel strávà mÄnÄ Äasu aktualizacÃ. Toto je zvláštÄ > důležité pÅi bezpeÄnostnà aktualizaci. > </li> > <li> > Uživatelé jiných desktopů a naklonÄnà WMs mohou pÅidat (emerge) nÄkolik > KDE aplikacÃ, které se jim lÃbÃ, bez (docela velké) režije zbytku, > ÅeknÄme, kdebase nebo kdepim. > </li> > <li> > Uživatelé mohou doladit balÃÄky, které si již nainstalovali. Důvody jsou > takové: > <ul> > <li> > BojÃte se doby pÅekladu? <c>emerge kdebase kdepim kdenetwork</c> > vezme straÅ¡nÄ dlouhý Äas a to co skuteÄnÄ potÅebujete je konqueror, > kmail a kopete. KromÄ toho, Äas CPU jsou penÃze... nÄkde :-) > </li> > <li> > BojÃte se zaplnÄnà disku?. Každý nepoužÃtý balÃÄek je mnoho > megabajtů blokujÃcà póry mezi VaÅ¡imi sektory disku. PrázdnÄjÅ¡Ã > disk dýchá svobodnÄji; je rychlý, Å¡Å¥astný to disk :-) > </li> > <li> > Máte strach o bezpeÄnost systému?. VeÅ¡kerý instalovaný software je > potencionálnà zdroj zranitelnosti, a nenà žádné omluvi pro nepoužÃtý > software jen tak ležÃcà na disku. > </li> > <li> > PoctivÄ se držÃte <uri link="/main/en/philosophy.xml">Gentoo > smÄru</uri> a nemůžete vystát dohromady svázané balÃÄky a nutit to > uživateli. (My také ne) > </li> > </ul> > </li> > <li> > Nakonec, rozdÄlené ebuildy také umožÅujà vÃce flexibilnà Äas kompilace s > použitÃm parametrů USE. > </li> ></ul> > ></body> ></section> ><section> ><title>SluÄitelnost rozdÄlených a monolitických ebuildů</title> ><body> > ><p> >RozdÄlené a monolitické ebuildy mohou být volnÄ mÃchany. Jediné omezenà je, že >monolitické ebuildy nemůžou být instalovány ve stejnou dobu jako, od nich >odvozené, rozdÄlené ebuildy. V rozdÄlených ebuildech existujà blokujÃcà depy >(deps), které si to vynutÃ, tak můžete udÄlat cokoliv co vám pÅÃdánà (emerge) >umožnà udÄlat. ></p> > ><p> >BÄžnÄ vÅ¡ak nenà důvod použÃt takové mÃchané konfigurace. Ve skuteÄnosti, >kromÄ speciálnÃch pÅÃpadů jako velmi pomalé pÅekládané krabiÄky (mips), by >jste mÄli použÃt rozdÄlené ebuildy pro vÅ¡e co potÅebujete. ></p> > ><p> >RozdÄlené ebuildy jsou rovnÄž výchozà ebuildy. TÃm se myslÃ, že když nÄjáký >dalÅ¡Ã ebuild závisà na KDE aplikaci, bude chtÃt nainstalovat rozdÄlený >ebuild. NicménÄ, odpovÃdajÃcà monolitický ebuild rovnÄž splnà takový dep, >tak můžete emergovat monolitické ebuildy manuálnÄ a potom emergovat >ebuild, který na tom byl zavislý ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Výkonové problémy</title> ><section> ><title>ProÄ jsou rozdÄlené ebuildy pomalé</title> ><body> > ><p> >Jak bylo dÅÃve <uri link="http://bugs.gentoo.org/show_bug.cgi?id=11123">ÅeÄeno ></uri> rozdÄlené ebuildy by mohli zabrat vÃce Äasu k emergovánà než >monolitické, kvůli režiji rozbalovanà a spouÅ¡tÄnà konfigurace pro každý balÃk. >Kompletnà <c>emerge kde-meta</c> by mohlo trvat o 20-30% déle než klasické ><c>emerge kde</c>, nepÅijatelné v už tak dlouhé kompilaci. ></p> > ><p> >NavÃc, v souÄasnosti rozdÄlené ebuildy vždy spouÅ¡tà <c>make -f >admin/Makefile.cvs</c> (tÃm se myslà spuÅ¡tÄnà autoconf, automake, atd. a >nÄkolika souvisejÃcÃh kde-specifickým skriptů). To pÅidává dalÅ¡Ã zpomalenà >pÅibližnÄ stejného poÅadà jako configure run. ></p> > ><p> >Nakonec, rozdÄlené ebuildy potÅebujà rozbalit specifické soubory mimo velké >„tarbally“. To je pomalejÅ¡Ã než rozbalit vyhrazené, malé >„tarbally“. NicménÄ, vytvoÅenà takových malÃch „tarballů“ >pro „autotools-based“ (nástroje které se samy spustà zavedou atd.) >buildy systému KDE 3.x je obtÞné. > ></p> > ><p> >Je tÅeba zdůraznit, že s rozdÄlenými ebuildy a KDE aktualizaÄnÃm >kompilaÄnÃm Äasem může být velice zredukován pouze aktualizovanÃm balÃÄku, >který se aktuálnÄ zmÄnil. Výhody od takovýchto samostatných aktualizacà Äasto >zastÃnà režiji způsobenou behem původnà instalace. ></p> > ><p> >Nakonec, instalovánà vÅ¡eho z KDE dává smysl pouze pokud chcete prohlÞet >dostupné balÃÄky nebo nastavit multi-uživatelské prostÅedÃ; nicménÄ, vÄtÅ¡ina >lidà použÃvá pouze nÄkolik z 300+ KDE dostupných aplikacÃ. Kdokoliv kdo se >opravdu stará o kompilaÄnà Äas, to jsou zejména vlastnÃcà starých poÄÃtaÄů, >můžou zÃskat vÃce Äasu pÅi kompilaci vybránÃm instalaÄnÃch balÃÄků, než aby >ztratili režijnà náklady. ></p> > ></body> ></section> ><section> ><title>Jak rozdÄlené ebuildy můžeme udÄlat rychlejÅ¡Ã</title> ><body> > ><p> >VÄtÅ¡ina nebo dokonce vÅ¡echno z rozdÄlených výkonových problémů ebuildů jsou >pÅivázána k auto-nástrojům - autoconf, automake a dalÅ¡Ãch nástrojů, které >zpravujà <c>./configure;make;make install</c> build systém v KDE 3.x. ></p> > ><p> >KDE 4 pÅijme (pokud to ovÅ¡em můžem ÅÃci) kompletnÄ nový build systém, >který mezi dalÅ¡Ãmi vÄci vysoce zredukuje Äas, ten vezme jen ekvivalent ><c>make -f admin/Makefile.common; ./configure</c>. Doufejme, že to také udÄlá >mnohem snažšà vytvoÅit malé tarbally pro každý rozdÄlený ebuild snÞenÃm ceny >generovánà tohoto ekvivalentu - konfiguraÄnÃch skriptů (pokud nÄjákých). ></p> > ><p> >DÅÃve, confcache bylo považováno jako cesta ke snÞenà ceny opakovanÄ bÄžÃcÃch >autoconf-generovaných konfiguraÄnÃch skriptů. Confcache je metoda zapamatovánà >(odloženà do pamÄti cache) výsledku konfiguraÄnÃch testů. NicménÄ, poÅád tady >nenà implementace confcache ve stabilnÃm (2.0) portage stromu. Dokonce, pokud >se pÅidá v budoucnu, nemusà pro nás pÅijÃt dostateÄnÄ brzy,aby se mohla >použÃvat v KDE ebuildech; můžeme akorát poÄkat na KDE 4. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>RozdÄlené balÃÄky FAQ</title> ><section> ><title>ProÄ nÄkteré rozdÄlené balÃÄky postrádajà novÄjÅ¡Ã verze ebuildů?</title> ><body> > ><p> >Jak bylo vysvÄtleno výše, né vÅ¡echny aplikace jsou opravdu aktualizovány mezi >hlavnÃmi KDE vydánÃmi (releases), a tak né vÅ¡echny aplikace obdržà novou verzi >ebuildu. NapÅÃklad, libkdenetwork nebyl aktualizován v 3.5.0_beta2, >takže nejnovÄjÅ¡Ã dostupný ebuild s tÃmto vydánÃm (release) byl 3.5_beta1. ></p> > ><p> >Takto je to udÄláné ÄistÄ k omezenà kompilaÄnÃho Äasu bÄhem aktualizace. Jesliže >jsme udÄlali ebuild libkdenetwork-3.5.0_beta2, mÄl by instalovat pÅesnÄ ty >samé soubory jako ebuild 3.5_beta1. RozdÃlné závislosti jsou aktualizovány tak >aby pracovaly správnÄ. (napÅ. žádný ebuild nebude závislý na >libkdenetwork-3.5.0_beta2). ></p> > ></body> ></section> ><section> ><title>Nemůžeme to udÄlat už s DO_NOT_COMPILE?</title> ><body> > ><p> >DO_NOT_COMPILE je vnitÅnà promÄnná prostÅedà KDE build systému. To dovoluje >výbÄrové vypnutà podadresáÅů z kompilace. NÄkteÅà lidé mÄli ve zvyku použÃvat >to ke kompilaci subsetů monolitických KDE ebuildů. NapÅÃklad, spuÅ¡tÄnÃm ><c>DO_NOT_COMPILE=konqueror emerge kdebase</c> by se nainstaloval kdebase bez >konqueror aplikace. ></p> > ><p> >NicménÄ, DO_NOT_COMPILE nebyla nikdy urÄená aby se použila k zásahu do operace >balÃÄků automatizovaného manažeru buildů. To nefunguje, může zniÄit váš systém, >a nebylo to nikdy podporováno. Žádáme každého aby se vyvaroval použità této >promÄnné. ></p> > ><p> >Tady je ÄásteÄný seznam problémů s DO_NOT_COMPILE: ></p> > ><ul> > <li> > KompletnÄ rozbije hledánà závislostà portage. Portage nevà > o DO_NOT_COMPILE, a myslà že celkový monolitický balÃk byl nainstalován > a že může uspokojit dalÅ¡Ã depy balÃÄků. To může spůsobit, že dalÅ¡Ã > balÃÄky se nebudou emergovat nebo nepobÄžÃ. > </li> > <li> > VyvÃjà tlak na uživatele aby znali jména a myÅ¡lenà vÅ¡ech rozdÃlných > existujÃcich podadresáÅů KDE modulů. Velmi málo uživatelů to vÃ, dokud > nejsou vývojáÅi KDE, tak nemůžou ÅádnÄ použÃvat DO_NOT_COMPILE. > </li> > <li> > KDE modul podadresáÅů může mÃt vzájemnou závislost mezi nima, vyžadujÃce > ÄásteÄné build poÅadÃ, jiný adresáŠaby byl pÅÃtomný dokonce > i když nebyl nainstalován a tak dále. Vkládáme mnoho práce do rozdÄlených > ebuildů aby v tomto ohledu správnÄ fungovali. DO_NOT_COMPILE nenà vůbec > dostateÄný nástroj k dosáhnutà stejného výsledku, dokonce i s danými > potÅebnými znalostmi na uživatelské stranÄ. Jediná vÄc, kterou s tÃm můžete > dÄlat je vyÅadit nÄkolik málo aplikacà z pÅekládánÃ. Je prakticky > nemožné použÃt to k instalaci pouze nÄkolika málo vybraných aplikacà > z modulů jako kdebase nebo kdepim. > </li> > <li> > Jestliže jsem vÄera instaloval kmail a dnes chci pÅidat korn, použità > DO_NOT_COMPILE způsobà ronÄž i rekompilaci kmailu. TÃm se myslÃ, že > DO_NOT_COMPILE je vždycky mnohem pomalejÅ¡Ã než rozdÄlené ebuildy. > </li> > <li> > DO_NOT_COMPILE nemůže být použit k udÄlánà pÅedkompilovaných balÃÄků > (jako GRP) obsahujÃcà samostatné KDE aplikace. > </li> ></ul> > ></body> ></section> ><section> ><title>Nevkládáte pÅÃliÅ¡ velké nároky na údržbáÅe Gentoo KDE?</title> ><body> > ><p> >PÅekvapivÄ, tato otázka žádá hodnÄ. Jsem rád, že uživatelé jsou tak >ohleduplný k nám udržbáÅům. Dovolte mi vzÃt tuto pÅÃležitost k vaÅ¡emu ujiÅ¡tÄnÃ, >že se vÄnujeme rozdÄleným ebuildům pouze z naÅ¡Ã svobodné vůle; že vÄÅÃme >že budeme schopni dobÅe pokraÄovat v udržovanÃ; a že nenà žádná Å¡ance vymluvit >se z toho :-) ></p> > ><p> >Pro úplnost bych mÄl zmÃnit že údržbáÅi z jiných archů si v důsledku stÄžovali >na zvýšené pracovnà zatÞenà ohlednÄ testovánà a klÃÄovánà slov tak hodnÄ >oddÄlených ebuildů. Pracujeme na vyÅeÅ¡enà a to je hlavnà důvod proÄ >jsou vlastnÄ monolitické ebuildy stále dostupné pro KDE 3.4. ></p> > ></body> ></section> ><section> ><title>Chystáte se odstranit zastaralé (monolitické) ebuildy?</title> ><body> > ><p> >ZamýšlÃme to udÄlat až nakonec. NicménÄ, monolitické a rozdÄlené >ebildy budou pro vÅ¡echny KDE 3.x releases. ></p> > ><p> >Pokud dáváte pÅednost monolitickým ebuildům pÅed rozdÄlenými, prosÃm ><uri link="http://bugs.gentoo.org">ÅeknÄte nám</uri> vaÅ¡e důvody. ></p> > ></body> ></section> ><section> ><title>Existuje hodnÄ ebuildů! Jak najdu ten který potÅebuji?</title> ><body> > ><p> >No, pÅedevÅ¡Ãm, jestli znáte hledaný balÃÄek, který pÅÃjde s kdebase, >můžete stále <c>emerge kdebase-meta</c>, s vÄtÅ¡Ãm poÄtem stejných výsledků, >jako když jste emergovali monolitické <c>kdebase</c>. VÄci se ve skuteÄnosti >nestali horÅ¡Ãmi kvůli rozdÄleným ebuildům ;-) ></p> > ><p> >SamozÅejmÄ, vÅ¡echny obvyklé cesty k nalezenà balÃÄku také použijte. Jak by jste >naÅ¡li Váš ebuild, kdyby to byla Gnome aplikace? Jako minimum, musÃte znát jméno >aplikace kterou hledáte. ></p> > ><p> >Situace by se mohla, snad, zlepÅ¡it uvedenÃm nÄjákých vÃce -meta ebuildů. Jsou >pouze seznamem závislostÃ, tak nás nic nestojÃ. Ale to zatÃm nebylo rozhodnuto. >Také by bylo pÄkné mÃt nastavenou funkÄnost Portage pÅed tÃm než to udÄláme >rozsáhlejÅ¡Ã. ></p> > ></body> ></section> ><section> ><title>Jak mohu vypsat (vyjmenovat)/odemergovat rozdÄlené ebuildy z daného balÃÄku?</title> ><body> > ><p> >CÃlem je vypsat vÅ¡echny rozdÄlené ebuildy odvozených od, ÅeknÄme, kdebase >monolitického ebuildu. OpÄt, Åádná implementace (jako je <uri >link="/proj/en/glep/glep-0021.html">GLEP 21</uri>) by toto udÄlala triviálnà >vÄcÃ. NicménÄ dneska, se musÃte do urÄité mÃry spojit s detaily implementace KDE >eclasses. Tak, pokud použÃváte nÄjáký z tÄchto kroků ve skriptů, tak to nenà >pro soukromé úÄely ale ÅeknÄte nám o tom. ></p> > ><p> >kde-fukce.eclass definujà funkce nazývané get-paren-package() a >get-child-packages(), které udÄlajà pÅeklad za vás. Tyto dvÄ funkce jsou >správnou cestou k provedenà tohoto úkolu z ebuildu nebo z externÃho >bash skriptu. PÅÃklad: ></p> > ><pre caption="PÅÃklad použità fukcà kde-functions"> >$ <i>function die() { echo $@; } # report chyb</i> >$ <i>source /usr/portage/eclass/kde-functions.eclass</i> >$ <i>get-parent-package konqueror # nechce-li fungovat, musÃte specifikovat plné jméno</i> ><i>Package konqueror not found in KDE_DERIVATION_MAP, please report bug # chyba</i> >$ <i>get-parent-package kde-base/konqueror # plnÄ kompetentnà jméno balÃku</i> ><i>kde-base/kdebase # výsledek vypsaný</i> >$ <i>get-child-packages kde-base/kdebase</i> ><i> # (následuje dlouhý seznam balÃÄků)</i> ></pre> > ><p> >Pokdu váš skript nenà v bash, můžete grep kde-functions.eclass k vytáhnutà >(vÃceÅákovÄ) definicà promÄnné KDE_DERIVATION_MAP, která výše uvedené funkce >použÃvá. Tato promÄnná obsahuje mezerou oddÄlený seznam slov a každé dvÄ za >sebou jdoucà slova mapujà rodiÄovský (parent) balÃÄek k potomku (child) >rozdÄleného ebuildu. ></p> > ></body> ></section> ></chapter> ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 151484
:
99739
| 99740