Co mam robit, ked nechcem nejaky balik vobec instalovat? V ziadnej verzii. V mojom pripade kdepim.
Uviedol som ho /etc/portage/package.mask, co vsak zapricini, ze prikaz "emerge -avuDp --newuse world" nezbehne. Error: "Depgraph creation failed." pretoze kdepim je vyzadovane balikom kdeaddons.
Som si isty, ze kdepim pouzivat nebudem. Som ochotny niest nasledky, ze som znasilnil kdeaddons a obcas nieco moze nefungovat, pretoze nema splnene vsetky zavislosti. Avsak napriek vsetkej mojej uvedomelosti ho neviem dokopat do mnou vyzadovaneho stavu.
Aha, neuplne som to napisal. Rucne to dostat do stavu bez kdepim samozrejme ide. Ale ked chcem hromadne upgradeovat, tak mi ho tam chce pridat. Ak ho zamaskujem, tak z hromadneho upgradu nebude nic, lebo error.
Teda v podstate ma zaujima, kde a ako systemu povedat, ze tento balik nikdy nechcem, aj za cenu rozbitia zavislosti.
Ehm, nebylo by lepsi tu kravinu nainstalovat, nez si mrsit system?! Pokud na tom opravdu trvate, tak korektni postup je nakopirovani upraveneho ebuildu do portage overlay, odinstalovani puvodniho baliku a nainstalovani upraveneho z overlay. Upraveny ebuild se nebude pri emerge sync nic prepisovat - a bohuzel ani aktualizovat.
Viz http://www.gentoo-wiki.com/HOWTO_Create_an_Updated_Ebuild
> nebylo by lepsi tu kravinu nainstalovat, nez si mrsit system?!
neviem o ziadnom mrseni systemu, proste nechcem nejaku aplikaciu, pretoze ju nepouzivam (mimochodom je obrovska, a kompilacia by trvala pekne dlho). Nutnost ju nainstalovat je pre mna niecim uplne inym ako sloboda, ktoru (podla kadekoho) gentoo prinasa. Toto nie je to, co o sebe gentoo prehlasuje: sloboda vybrat si co chcete a nebrat co nechcete.
V redhatom up2date sa trivialne da vypnut akekolvek instalovanie (pri upgradeoch) balikov, ktore clovek navoli. Toto tu proste nie je. Sam si musim upravovat ebuildy pre kazdu vydanu verziu, aby sa mi tam nanacpal moloch, o ktoreho nestojim.
Termin "Dependency hell" sa podla mna ovela hodi na tento pripad ako na tolko preklinane rpm-ka. Aj ked chapem, ze toto nie je problem filozofie ebuildov, ale neexistencie jedneho filu, kde budu baliky, ktore nikdy nechcem, aj za cenu prasenia zavislosti.
Inac, dik za radu. Asi to fakt budem musiet manageovat rucne cez upravu ebuildov.
BTW: skript dep nefunguje. Prinajmensom cistenie world filu nezvlada. Zastane po tom, co sed zacne cakat na vstup z stdin (po tom, co si nekontroluje premenne)
emerge -avuD gcc zase pre zmenu odmietne zbehnut. Pretoze tranzitivne cez zavislosti chce nainstalovar sucase linux-headers a linux26-headers, ktore sa neznesu spolu. Tak skonci s chybou.
Ad kdepim: Dejte sem vypis USE flags z prikazu "emerge info", jinak to asi nedoresime. V RPM se trivialne neda vypnout vubec nic, pokud maji nainstalovane baliky korektne fungovat. Pokud up2date instaluje baliky bez potrebnych zavislosti, tak funguje spatne.
Ad linux-headers: pokud mate jadro 2.6, tak:
emerge -Cav linux-headers
emerge -av linux26-headers
emerge -av glibc
emerge -av gcc
Je to dokumentovano v Bugzille i na http://forums.gentoo.org. Je vhodne se tam podivat, pokud je nejaky problem.
1.) moje USE flagy:
3dnow aalib acpi alsa bash-completation -bonobo cdr directfb divx4linux dvd ethereal fbcon -f77 flac -fortran ftp -gnome -gnustep iconvicq imagemagick imap ipv6 java mbox mmap mmx nptl oss pic pie samba shared sharedmem sockets sse tetex theora tiff usb wmf xpm xvid
2.) up2date sa da povedat aby neinstalovalo baliky s urcitym menom.
3.) linux-headers som vyriesil prave takto aj bez bugzilly. Vyhodil som linux-headers, nahodil linux26-headers a glibc a gcc som zhodou okolnosti potom tiez prekompiloval. Nebolo to cele zase az tak zlozite. Taketo nieco ma nezastavi, aj ked prekvapi.
4.) neslo by vytvorit (mozno virtualnu) vlastnost kdepim a spravit vlastny lokalny (nic nerobiaci) ebuild, ktory by ju splnal? Nemuselo by sa to potom s kazdou aktualizacou KDEciek riesit.
ehm, ehm, som lama
skopiroval som veci z make.conf a nie z emerge info. Takze este raz:
3dnow X aalib acpi alsa apm arts avi bash-completation berkdb bitmap-fonts cdr crypt cups directfb divx4linux dvd encode ethereal fam fbcon flac foomaticdb ftp gdbm gif gpm gtk gtk2 iconv icq imagemagick imap imlib ipv6 java jpeg kde libg++ libwww mad mbox mikmod mmap mmx motif mpeg ncurses nls nptl oggvorbis opengl oss pam pdflib perl pic pie png python qt quicktime readline samba sdl shared sharedmem slang sockets spell sse ssl svga tcpd tetex theora tiff truetype usb wmf x86 xml2 xmms xpm xv xvid zlib linguas_en linguas_cs linguas_sk
Ad 2/ Ano, to se da u emerge taky. Akorat kdyz do prislusneho konfiguraku napisete blbosti, tak to narozdil od up2date _spravne_ prestane fungovat, protoze se porusily zavislosti.
Ad 4/ Pokud lze kdeaddons zkompilovat do plne funkcniho stavu bez kdepim prostym vypustenim prislusneho DEPEND, tak to nahlaste jako bug.
Lenze ja som nikdy nepovedal, ze ho chcem. Presne preto som neinstaloval kde cez eclass, ale postupne rucne, po balikoch. Vo world-file taktiez nie je. A predsa sa mi cpe do systemu.
Vcera som si prave vsimol, ze toto maju pekne vyriesene v PLD. Kazda KDE aplikacia ma samostatne rpm-ko. Takze ak sa cloveku paci kfig, tak si ho nahodi, ale nemusi kvoli tomu cpat do systemu cely balik kde-education.
Tohle se asi fakt neda udelat ciste. Jestli je to uvedeno jako zavislost, tak to asi k necemu bude dobre a kdyz to vynechate, tak to neco bude ve finale chybet...
Ale pokud si chcete pridelat problemy, portage vam tu moznost poskytuje tusim pres --inject. Teda pokud Vam jde ciste o to abyste ten balik nekompiloval.
Tak --inject nakoniec nepriamo pomohlo. Je to sice deprecated, ale help, co to k tomu vypise pomohol.
V /etc/portage/profile/package.provided by mali byt zapisane baliky, ktore si managujete sami. Takze som tam vrazil kde-base/kdepim-3.3.2 a do /etc/portage/package.mask >kde-base/kdepim-3.3.2, aby som to nahodou nekompiloval nabuduce.
<cite>
Vcera som si prave vsimol, ze toto maju pekne vyriesene v PLD. Kazda KDE aplikacia ma samostatne rpm-ko. Takze ak sa cloveku paci kfig, tak si ho nahodi, ale nemusi kvoli tomu cpat do systemu cely balik kde-education.
</cite>
To ma Gentoo momentalne v planu takto udelat taky. Chapu to, ale treba mne se to nelibi, protoze si s oblibou instaluju vsechno co kde najdu ;-). Tak doufam, ze to vyresej nejak rafinovane, aby kazda aplikace z jednoho baliku KDE nerozbalovala a nekonfigurovala vsechno znova...
DEPEND="~kde-base/kdepim-${PV}
~kde-base/kdemultimedia-${PV}
arts? ( ~kde-base/arts-${PV//3.3/1.3} )
esd? ( media-sound/esound )
sdl? ( >=media-libs/libsdl-1.2 )
svga? ( media-libs/svgalib )
xmms? ( media-sound/xmms )"
Smula. Takze pokud to tazatel povazuje za chybu, necht to zada do Bugzilly. Nadavanim tady nic nevyresi.
A to má být výpis čeho a dokazovat co ?
Padla tu spousta dojmů a pojmů až sem to vyzkoušel, a na základě toho trvám na svém:
kdepim není nutno mít instalován s ostatníma kde* a nezpůsobuje to žádné problémy ani se to nechce instalovat při emerge world !
Zakladatel tohoto vlákna má chybu asi někde mezi židlí a USE.
jednoducho: --nodeps
Ostatne zavislosti som si zistil a splnil rucne. kdepim som mu nedal.
Odpoved na prispevok o par riadkov vyssie:
> Nadavanim tady nic nevyresi.
Nepisal som to tu preto, aby som si zanadaval, ale aby som zistil, ci sa Gentoo neda presvedcit, aby robilo to, co chcem JA, a nie to, co chce ONO.
Zatial som zisitl, ze asi jedina cesta bude cez vytvaranie vlastnych ebuildov pre kazdu verziu. Alebo cez rucne upgradeovanie KDEciek.
No tak --nodeps jsem opravdu nemyslel. A ne, opravdu se portage neda zprznit tak, aby byly ignorovany zavislosti. Nevim, jak byste si predstavoval, ze by to melo fungovat. Pokud jsou v ebuildu nejake zavislosti, tak tam jsou proto, ze jsou nutne pro uspesnou kompilaci a fungovani daneho baliku, ne pro srandu kralikum. Pokud balik kdeaddons lze zkompilovat a funguje i bez kdepim, tak to nahlaste jako bug. V opacnem pripade nic nehlaste, protoze vas maintaineri poslou do haje.
S Gentoo jako takovym nebo s portage to nema nic spolecneho, je to maximalne problem jednoho konkretniho ebuildu, ktery vam holt z nejakeho duvodu nevyhovuje. Tak si napiste vlastni nebo to poslete do bugzilly, ale takove vyroky jako dependency hell jsou uplne mimo.
Ehm .... http://bugs.gentoo.org/show_bug.cgi?id=12512 ... naprosto zbytecna zavislost sawfish na gnome zpusobena rep-gtk, ktere jde prelozit i bez gnome ...
Druha vec je, ze je to vlastnost konkretniho ebuildu. Kdyby prislusny maintaineri meli rozum, neni problem to odstranit.
Njn, vsude se holt najde nejaky blbec. :) Co se tyce kdeaddons:
http://bugs.gentoo.org/show_bug.cgi?id=59969
Maintaineri KDE a Gnome baliku patrne trpi jakousi spolecnou uchylkou, ze si musi nacpat do pocitace co nejvic nepotrebnych baliku. No, suma sumarum tazatel ma holt smulu a bude si ten ebuild muset holt resit sam.