Portál AbcLinuxu, 6. května 2025 16:43
Ale je zajímavý že jsem se setkal s lidmi kteří frčej na Gentoo a LFS se báli že je prej těžký.Mají pravdu. Protože v Gentoo si v každou jednotlivou chvíli můžeš vybrat, zda necháš ten systém pracovat nebo si i detailně prohlížíš, jak pracuje, popřípadě do toho nějak zasahuješ. Při LFS musíš udělat všechno sám, jediná (a tím pádem nejdůležitější) pomůcka je manuál sepsaný někým, kdo už vychytal problémy v postupu.
Přitom já si gento ani neumim nainstalovatJe to stejné, jen postupuješ podle jednoduššího návodu, jehož součástí je postahování nástrojů na ty aktivity, které bys jinak dělal ručně. Jen nesmíš poslouchat různé „chytré“ napovídače, co ti říkají, že máš použít testing apod. Nainstaluješ cokoliv, Gentoo ti ale značně pomůže s následnou údržbou, pokud bys ten systém chtěl skutečně používat.
S LFS se můžeš zbavit třeba kýblu závislostíStejně jako s Gentoo.
Ani s gentoo nedosáhnete takové konfigurovatelnostiVzhledem k tomu, že v Gentoo ebuildech můžeš naskriptovat víceméně ty stejné akce, které děláš v LFS, tak si úplně nejsem jistý, jak chceš takové tvrzení podložit.
viz například můj problém, kdy jsem chtěl emergnout GTK3 a vnucovalo mi to GTK2, kterýho se nešlo zbavitGentoo má svá (alespoň teoretická) omezení, ale rozhodně se netýkají způsobu kompilace GTK aplikací, to si můžeš v ebuildech upravit dle potřeby. Bude to pak pracné udržovat, ale to bude v čistém LFS ještě horší.
Ale i s LFS je to problémPokud by ses na Gentoo díváš jako na automatizaci nad LFS, tak by tě nepřekvapilo, že je tenhle problém společný.
typu autoolsAutotools mají své výhody. Nepoužívají se jen z rozmaru. Na druhou stranu jsou autotools build závislost. Pokud je program v autotools udělaný dobře, tak je zároveň připravený i na crosskompilaci a tam by se ti víc než Gentoo mohlo líbit OpenEmbedded, kde si můžeš postavit celou vlastní zautomatizovanou linuxovou distribuci stejně jako nad Gentoo, ale máš zároveň oddělenou build a runtime platformu. Ty sračky se ti pak natahají jenom do té build platformy.
Lenže to sa musíš naučiť ebuildiť a k tomu som sa ešte nedostal, keby som spával o hodinu menej tak ma už rovno odnesú do márnice, no netvrdím že Gentoo nieje fajn, skôr naopak.Ani s gentoo nedosáhnete takové konfigurovatelnostiVzhledem k tomu, že v Gentoo ebuildech můžeš naskriptovat víceméně ty stejné akce, které děláš v LFS, tak si úplně nejsem jistý, jak chceš takové tvrzení podložit.
Lenže to sa musíš naučiť ebuildiť a k tomu som sa ešte nedostalOsobně mi to přijde jednodušší než balíčkování v jakémkoli jiném systému včetně RPM. Navíc se dá hodně opisovat od existujících ;).
Osobně mi to přijde jednodušší než balíčkování v jakémkoli jiném systému včetně RPM. Navíc se dá hodně opisovat od existujících ;).Podívej se na balíčkovací systém Archu, a změníš názor.
cdrkit
# Gentoo ebuild EAPI=5 inherit cmake-utils eutils DESCRIPTION="A set of tools for CD/DVD reading and recording, including cdrecord" HOMEPAGE="http://cdrkit.org" SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}.orig.tar.gz http://dev.gentoo.org/~ssuominen/${P}-libcdio-paranoia.tar.xz" LICENSE="GPL-2 LGPL-2.1" SLOT="0" KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~arm-linux ~x86-linux" IUSE="debug hfs unicode" RDEPEND="app-arch/bzip2 !app-cdr/cdrtools dev-libs/libcdio-paranoia sys-apps/file sys-libs/zlib unicode? ( virtual/libiconv ) kernel_linux? ( sys-libs/libcap )" DEPEND="${RDEPEND} hfs? ( sys-apps/file )" src_prepare() { epatch \ "${FILESDIR}"/${P}-cmakewarn.patch \ "${WORKDIR}"/patches/${P}-paranoiacdda.patch \ "${WORKDIR}"/patches/${P}-paranoiacdio.patch echo '.so wodim.1' > ${T}/cdrecord.1 echo '.so genisoimage.1' > ${T}/mkisofs.1 echo '.so icedax.1' > ${T}/cdda2wav.1 echo '.so readom.1' > ${T}/readcd.1 } src_install() { cmake-utils_src_install dosym wodim /usr/bin/cdrecord dosym genisoimage /usr/bin/mkisofs dosym icedax /usr/bin/cdda2wav dosym readom /usr/bin/readcd dodoc ABOUT Changelog FAQ FORK TODO doc/{PORTABILITY,WHY} local x for x in genisoimage plattforms wodim icedax; do docinto ${x} dodoc doc/${x}/* done insinto /etc newins wodim/wodim.dfl wodim.conf newins netscsid/netscsid.dfl netscsid.conf insinto /usr/include/scsilib doins include/*.h insinto /usr/include/scsilib/usal doins include/usal/*.h dosym usal /usr/include/scsilib/scg doman "${T}"/*.1 }
# Arch Linux PKGBUILD pkgname=cdrkit pkgver=1.1.11 pkgrel=3 pkgdesc="Suite of programs for CD/DVD recording, ISO image creation, and audio CD extraction" arch=('i686' 'x86_64') url="http://cdrkit.org/" license=('GPL2') depends=('file' 'bzip2') optdepends=('perl: for dirsplit') makedepends=('cmake') source=(http://cdrkit.org/releases/$pkgname-$pkgver.tar.gz) md5sums=('efe08e2f3ca478486037b053acd512e9') prepare() { cd "$srcdir/$pkgname-$pkgver" sed -i "s#sbin#bin#" netscsid/CMakeLists.txt } build() { cd "$srcdir/$pkgname-$pkgver" make } package() { cd "$srcdir/$pkgname-$pkgver" make PREFIX="$pkgdir/usr" install # Make symlinks for cdrtools compatibility cd "$pkgdir/usr/bin" ln -s wodim cdrecord ln -s readom readcd ln -s genisoimage mkisofs ln -s genisoimage mkhybrid ln -s icedax cdda2wav cd "$pkgdir/usr/share/man/man1" ln -s wodim.1 cdrecord.1 ln -s readom.1 readcd.1 ln -s genisoimage.1 mkisofs.1 ln -s genisoimage.1 mkhybrid.1 ln -s icedax.1 cdda2wav.1 }
Osobně mi to přijde jednodušší než balíčkování v jakémkoli jiném systémuV Archu je PKGBUILD úplně stupidně jednoduchý a na první pohled pochopitelný. Tohle v Gentoo neplatí. Nemám na tom co dál vysvětlovat.
Tohle v Gentoo neplatí. Nemám na tom co dál vysvětlovat.V tom případě nezbývá než se smířit s tím, že na to máme každý jiný názor a že tvé hurónské prohlášení, že změním názor, vyšlo jaksi naprázdno.
A nebo když jsem kompiloval Scribus, tak se zkompiloval bez podpory češtiny, ačkoliv v seznamu v ebuildu byla - pomohl jsem si tím, že jsem z tama výběr jazyků vyhodil úplně, pak se čeština zkompilovala. Když je to tak strašně jednoduché, proč teda tolik balíčků chybí, proč jsou v některých zbytečné chybyTo asi nebude otázka na mě, vzhledem k tomu, že Gentoo používám a kdykoliv mi něco chybí, tak si během chvíle splácám ebuild včetně několika kol kompilace a dolaďování parametrů.
proč jsou v některých zbytečné chybyPokud najdeš v některém z mých ebuildů chybu, můžeš mě veřejně pomluvit.
a proč (znovu se ptám) potřebuješ opisovat z hotových ebuildů?Nepotřebuju, tudíž otázka ztrácí smysl. Vyhovuje mi to a dělám to i u spec souborů a dělal bych to i u pkgbuildů.
Gentoo má svá (alespoň teoretická) omezení, ale rozhodně se netýkají způsobu kompilace GTK aplikací, to si můžeš v ebuildech upravit dle potřeby. Bude to pak pracné udržovat, ale to bude v čistém LFS ještě horší.Program gtk-update-icon-cache sa nachádza v Gtk+2 a aj v Gtk+3 a v Gentoo sa rozhodli, že sa bude vždy používať tá verzia z Gtk+2 (a kvôli tomu je vyžadovené Gtk+2, aj keď žiadny program Gtk+2 nepotrebuje).
Na druhou stranu jsou autotools build závislost.Tak to je někdo používá hodně špatně. Celá komplikovanost autotools je dána právě tím, že do vydaného tarballu se musí vygenerovat něco, co už nezávisí na žádných speciálních nástrojích -- stačí shell, make, kompilátor, etc.
Tak to je někdo používá hodně špatně.Nikoliv. 1) Pokud je potřeba patchovat Makefile.am, configure.ac a jiné, autotools se automaticky stávají build závislostí. Patchovat generované soubory je nepraktické, protože takový patch upstream nemůže přijmout. 2) Pokud se používají snapshoty z gitu, opět se autotools stávají build závislostí, vzhledem k tomu, že není vůbec rozumné dávat do Gitu soubory, které lze vygenerovat na základě toho, co už tam je.
Celá komplikovanost autotools je dána právě tím, že do vydaného tarballu se musí vygenerovat něco, co už nezávisí na žádných speciálních nástrojích -- stačí shell, make, kompilátor, etc.Máš pravdu v tom, že autotools takovou funkcionalitu nabízí, ale při buildování linuxových distribucí je to jen minimální výhoda. Například cmake nic takového nenabízí. Z mého osobního pohledu autotools nabízejí zajímavější věci než přípravu buildu pro nějaký obskurní UNIX, kam nejdou doinstalovat nástroje na Linuxu běžné.
Celkem by mě zajímalo, jestli v dnešní hektické době má někdo čas si vařit OS od nuly (kromě developerů dister, pochopitelně).Dnešní doba je hektická právě tím, že mají lidi k dispozici spoustu všemožných sraček jak zabít čas. LFS nabízí možnost na chvíli odsednout od facebooku nebo televize a vyzkoušet si skládání operačního systému z dílů ;).
I když jako "B" kurz na VŠ by to nebylo špatné.Nejsem si vědom toho, že by někdo tvrdil, že má LFS jiný než výukový účel.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.