Zdravim
Dobrej clanek, ale pro me bohuzel uz s krizkem po funuse, okolnosti me prinutili checkinstall nainstalovat a pouzit dneska (no vlastne uz vcera) odpoledne.
Cekal jsem ale aspon zakladni popis konfiguraku. Ve slackwaru je checkinstall v extra balicku a ma konfigurak prefabrikovany pro slackware, takze automaticky vytvari slackware balicky a hned ho nainstaluje. Je pravda ze konfigurak je trivilani, ale mohl jsi aspon napsat kde se nachazi (/etc/checkinstall/checkinstallrc).
Zdenek
skoda jen ze neni vubec zminka o moznosti pomoci "make DESTDIR=foodir install" kdy je mozne balik vyrobit mimo system, treba nekde v tmp a az kdyz je vse v baliku pripravene a OK tak ho zabalit a pak teprve nainstalovat. a kdyz uz nejde tato varianta vetsinou do jde zaridit nejak jinak aby se neinstalovalo primo do systemu.
Zkusil jsem ho na MDK 10 s jádrem 2.6.x a nefunguje. V checkinstallím listu se takové zprávy objevují a jakýsi Slackwarista mi potvrdil, že musel nabootovat s jádrem 2.4.x, aby se checkinstall rozběhl. Čili není to problém Mandraku ale jádra, resp. interakce checkinstallu a jádra.
..komu prijde LD_PRELOAD na open/mkdir v libc jako hnusny DIRTY HACK? Vzdyt je to zasadni pitomost, ma milion problemu, a zadelava na dalsi. Napada mne treba:
- 'make install' musim spoustet pod rootem, tj checkinstall nejde pouzit pro audit toho, co se skript pokousi delat- coz bych velice rad vedel predem, protoze tam muze byt trojan a Makefile vytvoreny pomoci toho dementniho automake je samozrejme prakticky necitelny.
- Instalacni skript muze byt staticky linkovana binarka, pak mi checkinstall vsechny zmeny ve FS neodchyti, a balicek bude nefunkcni.
- To same kdyz chovani instalacniho skriptu zavisi na predchozim stavu systemu. Vytvoreny balicek to samozrejme nemuze reflektovat.
Pripomina to muj stary DOSovy rezident "viktor cistic". Nacetl do pameti seznam souboru v . a podadresarich, a hooknul open/creat/exec. Pak stacilo parkat aplikaci spustit, a rezident nakonec vyblil .BAT na smazani vsech nepotrebnych souboru.
Spatne reseni, ale tehdy nebyla jina moznost. Dnes je spravne reseni trivialni: zachovat (v ramci moznosti) soucasny build proces, ale zahodit target install (resp by pouze vygeneroval/customizoval nejaky .spec file), ktery by ale v zadnem pripade neobsahoval zadne skripty. Skriptovani operaci jako instalace/deinstalace baliku je cesta do pekla, nechapu proc se tam vsichni zenou.
checkinstall je podle meho take jen dirty nastroj pro opravdu line kteri toho nebuilduji moc.
protoze pokud pouziju DESTDIR jak pisu vyse tak mam mnohem vetsi kontrolu. muzu vse provest jako user, a jen vysledny balik pak zabalit jako root a nainstalovat. dokonce cela tvorba baliku jde udelat bez pouziti prav roota a ten je pak treba jen pro instalaci. mnohem bezpecnejsi zpusob myslim a odpada ryziko ze mi make treba neco smaze nebo sahne nekam kam nechci.
Jsem zatim prilis zaneradem windows "myslenim", tak jsem predpokladal, ze se tam deje jeste neco dalsiho, krome kopceni... ale kdyz se nad tim tak zamyslim, tak me nenapada co :-).
Jinak jsem myslel (zas tak moc jsem to neresil), ze checkinstall jede na slepo (ze ve skutecnosti nic nikam neinstaluje). Diky za trknuti (na vytvareni baliku bez roota a pod.).
No mne se to taky nelibi...
Na tyhle veci mam nejradsi stow, ktery udrzuje system symlinku v /usr/local. Kazdy balicek ma svuj adresar, instaluje se pod uzivatelem do /usr/local/stow/jmeno_baliku a pod rootem se jenom udela chown -R a stow jmeno_baliku. Odstraneni je zalezitosti stow -D a rm -r.
mne se checkinstall docela libi, je to velka uspora casu, hlavne kdyz clovek narazi na nestandardni makefile (bez prefixu a destdir). Koneckoncu, instalace pomoci ./configure && make && make install taky predstavuje bezpecnostni riziko (uplne stejne jako pouziti checkinstallu)
sure, but you can exclude your dev,proc,sys,log etc. directories from find and it works on any unix like system... no need for LD_PRELOAD magic... ;))) usualy i takes aprox. about 1min. on my 2TB systems, but only stupid fires make install on production system.. ;) go, and take your shower, cold shower.. ;)))
Diky ovlfs (ovlfs.sourceforge.net) je mozne "premountovat" nejaky read-only adresar jinym adresarem a veskere zmeny jsou ukladany do tretiho adresare. Zni to komplikovane ale je to super vec :)
az jednou nekdo udela development moduly pro slax (s GCCckem atd) tak potom staci jen ./configure; make; make install a cely balik najdem v /mnt/livecd/changes :)