apt-build: gebruiken jullie het?

Pagina: 1
Acties:

  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 22:12
ik zat eens wat te zoeken en ik stuitte op het pakketje apt-build. de manpage ziet er veelbelovend uit: dingen installeren van source voor optimized binaries. ik heb de manpage doorgelezen, na googlen kwam ik op deze site waar ook een rtf te halen was met een tutorial over hoe je het gebruikt. toen ik apt-build update wilde doen kon hij een file /etc/apt/apt-build.list niet vinden. blijkbaar is dit de file waarin je de packages moet zetten die in de repository komen voor het rebuilden van je systeem, getuige dit forum.
apt-build install tuxracer heb ik geprobeerd en het werkt. niks mis mee, wat je zou verwachten. maar het rebuilden van m'n systeem is me nog niet helemaal gelukt, volgens een post in dat forum zou je met dpkg --get-selections | awk '{print $1}' > /etc/apt/apt-build.list een lijst kunnen genereren van packages die je op je systeem geinstalleerd hebt staan.
nu zit ik hiermee: er staan meer packages in dan op m'n systeem staan, ik heb gisteren met gnome-apt een paar uur zitten neuzen welke packages ik allemaal weg kon doen omdat ik wilde opschonen, maar dingen die ik weggedaan heb zie ik nu wel in het lijstje terugkomen. nu laat apt wel netjes zien wat echt geinstalleerd is, dus ik ben benieuwd naar hoe je apt dat lijstje in gewone tekst kunt laten uitspugen :) .

naja, ik zal verder m'n bevindingen hier posten, als dit lukt weet ik helemaal zeker dat ik geen gentoo meer nodig zal hebben :) .

overigens:
• als jullie zo weten hoe je apt een lijstje geinstalleerde packages kunt laten uitspugen zou het fijn zijn
• ik heb niet echt een goeie draad gevonden hier
• google gaf ook niet bijster veel

[ Voor 10% gewijzigd door Bananenplant op 20-06-2004 20:48 ]

❤️‍🩹 Bezuinigen op armen en zieken 🤕 ? Welnee, Zucmantaks, nu 💰 !


Verwijderd

Hmmm, ik heb voor 't gemak vaak een pakketje geinstalleerd dat apt-show-versions heet. Dit pakketje spuwt een lijst uit met geinstalleerde pakketjes en de versies ervan. Ik weet alleen niet hoe betrouwbaar dit is in vergelijking met je eerder genoemde methode.

Voor de rest heb ik nog niet zoveel ervaring met het zelf bouwen van .deb's. Ik zal er eens in gaan kijken binnenkort, lijkt me best interessant :)

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 21:54

odysseus

Debian GNU/Linux Sid

Je wilt waarschijnlijk nog een beetje specifieker zijn: 'dpkg --get-selections | grep install | awk '{print $1}' > /etc/apt/apt-build.list'. Zonder die extra grep komen namelijk ook packages die gedeïnstalleerd (maar niet gepurged) zijn erbij, en die wil je waarschijnlijk niet gaan compileren :). Overigens is het dus ook heel eenvoudig om een lijst met geïnstalleerde packages te krijgen: 'dpkg --get-selections | grep install' is genoeg. Overigens neem ik aan dat apt-build intern gewoon gebruik maakt van apt en waarschijnlijk voor elke package een 'apt-get source -b' doet - de mogelijkheid om zelf geoptimaliseerde packages te compileren te installeren zit namelijk al jaren in Debian, alleen lijkt bijna niemand het te weten en te gebruiken :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 22:12
dat met die extra grep had ik zelf kunnen verzinnen *schaam*...

er is dus een aparte repository op je schijf waar de zelfbouwpakketjes komen te staan, ik zal zo ook eens kijken of je het compileren apart kunt doen en pas later daadwerkelijk zou kunnen installeren. en voordat ik met het feest begin vraag ik me ook af hoe sterk ik die optimalisatie moet zetten en welke flags slim zijn om mee te geven... het is voor een athlon-xp, O3 lijkt me wat eng namelijk daarbij. maar misschien is hierover wat te vinden op de gentoo-fora. en verder... het lijkt me erg spannend :) .

ik vraag me af of bij de installatie van apt-build ook een soort prioriteit geconfigureerd is voor de apt-sources. het lijkt me namelijk vrij but als ie doodleuk je lokale repository overslaat ten gunste van de binaire distributie... maar dat zijn apt-dingen die ik zelf nog even uit moet vissen...

iig bedankt voor de tips tot nu toe :)

update
ik heb wat geprobeerd, als je | grep 'install' | grep -v 'deinstall' doet krijg je het goeie lijstje. ik heb nu apt-build --reinstall --build-only world gedaan, het daadwerkelijke installeren komt daarna wel, ik ben eerst benieuwd :) !

nog een update
hierbij gaat het niet goed, er zijn dependencies nodig voor het bouwen van abiword (eerste uit het lijstje blijkbaar), die worden niet gehaald en het faalt. nu doe ik abiword los: apt-build --reinstall install abiword en de dependencies worden nu wel opgehaald.

en ik vraag me nog iets af... waarom zetten ze erbij dat je gcc niet zelf zou moeten willen compilen :?

alweer een update
abiword bouwde en hij loopt. de verschillen die ik zie met de poging alles opnieuw te bouwen zijn:
• deze keer geen --build-only
• deze keer een los pakketje

morgen ga ik wel meer prutsen :z

[ Voor 37% gewijzigd door Bananenplant op 20-06-2004 22:03 ]

❤️‍🩹 Bezuinigen op armen en zieken 🤕 ? Welnee, Zucmantaks, nu 💰 !


  • M55
  • Registratie: September 2003
  • Niet online

M55

Alles bouwen met optimalisatie is volgens mij niet zomaar
aan te bevelen:

Dit probleem:
[rml][ Debian] Kde Arts raar 'wop' geluid[/rml]

was dus ook de oorzaak van te hoge optimalisatie. Er mag bij mpeglib zelfs helemaal geen optimalisatie gebruikt worden.

edit:

typo's

[ Voor 9% gewijzigd door M55 op 21-06-2004 08:47 ]


  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 22:12
hm, ik heb nu wat dingen uit het lijstje verwijderd (gcc en g++ enzo, ook java-dingen omdat die toch niet te herbouwen zijn, zelfde voor fonts) en hij is nu bezig de world te rebuilden.

ik besef me wel dat ik dingen kan verkloten, maar als er zo weinig mensen zijn waar ik van kan horen of dit iets nuttigs is moet ik het zelf maar doen :) . plus, de binaire distributie van alle apt-sources blijft gewoon bestaan en ik heb systeem en data netjes gescheiden, dus als het echt grondig fout mocht gaan is het ook weer niet ZO'n groot probleem :) .

update
apt-build vindt het niet fijn als er voor een pakketje geen sources te vinden blijken te zijn, dan stopt ie met alles. als je dan opnieuw apt-build --reinstall world doet begint ie ook echt overnieuw. wat ik nu dus moet doen:

• betreffende pakketje uit /etc/apt/apt-build.list verwijderen
• in /var/cache/apt-build/repository kijken welke debjes er allemaal gemaakt zijn en indien ze in /etc/apt/apt-build.list staan daaruit verwijderen

ik had het net op een tty gedaan en het was me nog niet helemaal duidelijk of de gebouwde debjes ook daadwerkelijk zijn geinstalleerd, ik draai het nu in een Eterm zodat ik wat eenvoudiger kan scrollen.

met ls *.deb krijg ik overigens dus een lijst pakketjes, maar het zou handig zijn als daar alleen de naam totaan de eerste _ van overbleef, dan zou ik met diff wat handuitzoekwerk kunnen besparen. hoewel er tussen die debs ook dingen staan die niet in /etc/apt/apt-build.list staan... :/

ik snap iig nu wel dat debtoo wel een nuttig project is, dit is wel priegelen :)

hm, hij kan nu utillinux niet vinden... zoals ik het nu zie is het nuttiger om zelf de apps uit te kiezen die hij moet optimaliseren, ik ga eens kijken of het met XFree86 en alle X-apps alleen wel wil... :/

[ Voor 60% gewijzigd door Bananenplant op 21-06-2004 11:46 ]

❤️‍🩹 Bezuinigen op armen en zieken 🤕 ? Welnee, Zucmantaks, nu 💰 !


  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 22:12
niet om te spammen, maar ik zal weer even wat bevindingen posten:

• bouwen kost ongans veel ruimte
• build trees worden niet altijd netjes opgeruimd
• sommige packages zijn geen sources voor beschikbaar, hier loopt apt-build op stuk
• bouwen duurt lang
• als je na het bouwen apt-get -u upgrade doet neemt ie wel netjes de lokale repository

ik heb nu gtk-, qt-libraries, xserver- en libraries, glibc, libc6 en tuxracer ( 8)7 ) geoptimaliseerd, -O3 voor athlon-xp, ze lopen iig niet vast, ik zie wel hoe het verder loopt en hoe het upgraden van dingen gaat zodra dat aan bod komt :) .

❤️‍🩹 Bezuinigen op armen en zieken 🤕 ? Welnee, Zucmantaks, nu 💰 !


Verwijderd

Het ziet er iig leuk uit, maar nog niet echt bruikbaar genoeg, lijkt me. Desondanks ben ik zeker ook geinteresseerd in dit project. Lijkt me erg leuk :)
Maar wat bedoel je precies met "bouwen duurt lang" ? Langer dan normaal? Heb je dat getest of baseer je dat op het gevoel dat het lang duurt?
Voor de rest lijkt het me een kwestie van afwachten tot apt-build bruikbaar genoeg is (bugs eruit gewerkt etc.).

  • ge-flopt
  • Registratie: Februari 2001
  • Laatst online: 22:58
ecchan, merk je ook enig verschil op dit moment?

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 21:54

odysseus

Debian GNU/Linux Sid

ucchan schreef op 24 juni 2004 @ 23:44:
• sommige packages zijn geen sources voor beschikbaar, hier loopt apt-build op stuk
Het probleem is hier waarschijnlijk dat er geen één-op-één match is tussen de source packages en de binary packages. Het is vrij normaal dat één source package na compilatie meerdere binary packages oplevert - de XFree86-source is hier een duidelijk voorbeeld van. Eigenlijk moet je even de lijst met source packages doornemen en daaruit kiezen welke je wilt compileren, niet de lijst van binary packages. Het moet wel mogelijk zijn om bij een gegeven binary package de source package terug te vinden - dit staat volgens mij in ieder geval op packages.debian.org en is waarschijnlijk ook in de headers van zo'n packet wel terug te vinden.

Overigens zou ik gewoon een lijst met binary packages aanleggen die je wilt compileren en dan daarna iets als het volgende draaien:
code:
1
2
cd /mijn/builddirectory
for i in `cat /mijn/lijst/met/binary/packages`; do apt-get source -b $i; done

Vervolgens heb je gewoon een lijst met gecompileerde packages en klaar ben je :). Als één package niet wil werken gaat hij gewoon door met de volgende en door nog wat met DEB_OPTS (of DEB_OPTIONS, weet ik niet zeker meer) te spelen kan je ook heel eenvoudig optimalisaties meegeven :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

* smokalot komt het topic binnen en schreeuwt hard "gentoo, lalala, gentoo, lalalala" :+

[serieus]
jammer dat het niet zo goed lukt om de voordelen van debian en gentoo te combineren.

automatisch bouwen gaat in gentoo prima, en in debian blijkbaar niet, maar automatisch installeren van binaries gaat in gentoo niet/lastig en in debian prima...

of is die andere, archlinux hier een oplossing voor?

It sounds like it could be either bad hardware or software


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Het installeren van volledige binaries gaat in Archlinux erg goed; vooral omdat er momenteel nog een redelijk gedreven team achter de packages zit wat een redelijke update frequentie tot gevolg heeft. Ervaring met het installeren en builden van sources in Archlinux heb ik geen ervaring mee helaas. Ik snap trouwens sowieso het geschetste probleem niet helemaal; in mijn optiek heb je alleen precompiled binaries als packages nodig; sources kun je direct bij de programmeur vandaan halen toch? Waarom zou je daar apt voor (willen) gebruiken? Wat is het voordeel boven ./configure && make &&make install?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

ik had begrepen dat archlinux ook source-based is? nou ja, ik ga het wel een keertje proberen eigenlijk...

het voordeel is dat je geoptimaliseerde pakketjes hebt, en dat je mee kunt compileren wat je mee wilt hebben, en weglaten van wat je niet gebruikt. ondersteuning voor X bijvoorbeeld, bij sommige pakketjes is dat optioneel, je kunt aangeven in een configbestand dat je geen X gebruikt, en dan wordt eventuele support voor X dus niet meegecompileerd, en dus is het ook geen dependancy.

./configure && make && make install doet alles met standaard-opties, dat is bij de meeste pakketjes ver van bevredigend (al is het maar omdat het in /usr/local/ terecht komt), bovendien wordt er geen dependancy-check gedaan, moet je eventueel benodigde patches zelf installeren, en vaak zelf nog een aantal aanpassingen doen, dingen op de juiste plaats zetten, symlinks veranderen, enz. Verder heeft het gewoon een hoop voordelen als een packagemanager afweet van alles wat geinstalleerd is.

het compileren duurt nog steeds lang, maar je hoeft je amper druk te maken om opties e.d., dat doet portage voor je.

It sounds like it could be either bad hardware or software


  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 22:12
met 'bouwen duurt lang' bedoel ik dat ik m'n machine aan moest laten staan tijdens het slapen :) .

overigens, ik probeer nu de upgrade-functie uit... apt-get update, apt-build --remove-builddep upgrade. en wat ik zie... hij gaat nu van alle packages die een update moeten hebben na of ze herbouwd moeten worden, hij is bv atm bezig met nautilus, ookal stond die niet /etc/apt/apt-build.list. zolang ie er niet op stuk loopt heb ik er niet zo'n probleem mee eigenlijk :) .

en of ik het gemerkt heb: nog niet eigenlijk... het zal allicht al veel besproken zijn in NOS waar ik naar moet zoeken, maar ik hoor ook veel scepsis van alle kanten over zelfbouw ipv voorgecompileerde binaries.

en als ik er flauw van ben en de winst me te mager is verwijder ik apt-build en verdwijnen bij upgrades die pakketjes vanzelf weer :) .

en waarom je er apt voor wilt gebruiken:
• dependencies hoef je je niet druk om te maken
• je hoeft niet zelf uit te zoeken of er updates zijn
• alles netjes op 1 plek (/etc/apt/sources.list)
• het is netter en geeft minder problemen, zie ook een passage uit de NOS-faq waarin wordt verteld dat het verstandig is je package manager te gebruiken :)

apt-build voorziet trouwens in opties om de build-tree te verwijderen (disk space :) ) en ook om -dev-packages die hij op eigen houtje installeert om dingen te kunnen bouwen achteraf weer te verwijderen.

***

ah, hij is nu klaar... resumerend even :) :
code:
1
2
3
apt-get update # triviaal :+
apt-build --remove-builddep upgrade # upgraden, bouwen en dependencies voor het bouwen daarna weer verwijderen
apt-build clean-build # de debjes zijn af, dus de build-tree kan weg :)


ging uitstekend :)

[ Voor 49% gewijzigd door Bananenplant op 25-06-2004 13:22 ]

❤️‍🩹 Bezuinigen op armen en zieken 🤕 ? Welnee, Zucmantaks, nu 💰 !


  • M55
  • Registratie: September 2003
  • Niet online

M55

Ik gebruik apt-build wel eens omdat ik denk dat een applicatie dan sneller is :).. maar of dat werkelijk zo is kan ik niet zeggen.

Verder kan je met apt-build (via dpkg-reconfigure) niet zo veel instellen. Behalve Optimalisatie level en CPU.

Echter als je CFLAGS in je ~/.bashrc zet gebruikt hij deze ook:)
Ik heb deze CFLAGS (en CXXFLAGS)

~/.bashrc
code:
1
2
3
CFLAGS="-Wall -O3 -march=athlon-tbird -mcpu=athlon-tbird -fstrength-reduce -finline-functions -freduce-all-givs -ffast-math -fomit-frame-pointer"
CXXFLAGS=$CFLAGS
export CFLAGS CXXFLAGS

  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 22:12
eh, uit mijn /etc/apt/apt-build.conf:

code:
1
options = -pipe -fomit-frame-pointer


als je dpkg-reconfigure apt-build doet kun je dat ook invullen :)

❤️‍🩹 Bezuinigen op armen en zieken 🤕 ? Welnee, Zucmantaks, nu 💰 !


  • FailFr8er
  • Registratie: Juli 2001
  • Laatst online: 19:56
Kun je dan niet beter gewoon Gentoo gebruiken?
Een goeie source based distro waarin alles duidelijk wordt uitgelegd aan de hand van tutorials ed (incl de beste optimizations), en incl een goeie package manager?

[ Voor 8% gewijzigd door FailFr8er op 25-06-2004 19:21 ]


  • M55
  • Registratie: September 2003
  • Niet online

M55

ucchan schreef op 25 juni 2004 @ 19:02:
eh, uit mijn /etc/apt/apt-build.conf:

code:
1
options = -pipe -fomit-frame-pointer


als je dpkg-reconfigure apt-build doet kun je dat ook invullen :)
Ik dacht dat in de release notes stond dat die options nog niet gebruikt werd. Dus je kan wel wat invullen maar het doet niks :)

  • M55
  • Registratie: September 2003
  • Niet online

M55

Red Nalie schreef op 25 juni 2004 @ 19:21:
Kun je dan niet beter gewoon Gentoo gebruiken?
Een goeie source based distro waarin alles duidelijk wordt uitgelegd aan de hand van tutorials ed (incl de beste optimizations), en incl een goeie package manager?
apt-build is gewoon handig als je een paar geoptimaliseerde packages wilt.. verder is debian superieur tov gentoo. Maar dat wist je natuurlijk al :+

  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 22:12
^^^ met stom >:) ^^^

en wat die opties betreft.... als ik apathisch naar die gcc-output zit te staren zie ik die switches er aldoor netjes bijstaan :) .

trouwens, M55, waar heb je die flags vandaangetoverd...? (toch eens op de gentoo-fora spieken :X)

[ Voor 26% gewijzigd door Bananenplant op 25-06-2004 23:14 ]

❤️‍🩹 Bezuinigen op armen en zieken 🤕 ? Welnee, Zucmantaks, nu 💰 !


  • M55
  • Registratie: September 2003
  • Niet online

M55

ucchan schreef op 25 juni 2004 @ 23:08:
^^^ met stom >:) ^^^

en wat die opties betreft.... als ik apathisch naar die gcc-output zit te staren zie ik die switches er aldoor netjes bijstaan :) .
Ok dan weet ik dat ookweer :)
trouwens, M55, waar heb je die flags vandaangetoverd...? (toch eens op de gentoo-fora spieken :X)
Die flags heb ik van het compileren van mplayer. Die doet automatisch optimalisaties en heb toen de cflags gekopieerd uit de Makefile :)

Mplayer orginele source.. deze zit niet in apt (officiele apt sources)

[ Voor 56% gewijzigd door M55 op 26-06-2004 18:28 ]


  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 13-02 09:40

Valium

- rustig maar -

M55 schreef op 26 juni 2004 @ 10:01:
[...]

Mplayer orginele source.. deze zit niet in apt.
Deze zit zeker wel in apt. Alleen wordt het niet door debian zelf verspreid. Kijk maar eens op apt-get.org. Daar kun je genoeg andere servers vinden. Ik heb zelf een k7-geoptimaliseerde mplayer direct ge-apt-get.

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Valium schreef op 26 juni 2004 @ 14:15:
[...]

Deze zit zeker wel in apt. Alleen wordt het niet door debian zelf verspreid. Kijk maar eens op apt-get.org. Daar kun je genoeg andere servers vinden. Ik heb zelf een k7-geoptimaliseerde mplayer direct ge-apt-get.
Dan zit ie dus niet in de officiele debian reps, en dat is wat gezegt werd ;)

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 13-02 09:40

Valium

- rustig maar -

Zwerver schreef op 26 juni 2004 @ 14:22:
[...]


Dan zit ie dus niet in de officiele debian reps, en dat is wat gezegt werd ;)
Nou, dat is wat er bedoeld werd. Maar er is slordig met de taal omgegaan waardoor het leek alsof het überhaupt niet te apt-getten was. Die onbedoelde insinuatie wou ik alleen even tegengaan.

Maar even over apt-build. Leuk en aardig hoor, maar je gebruikt over 3 maanden weer gewoon apt-get install. Dat zie bij de meesten gebeuren. Ik heb zelf enige jaren geleden ook een apt-build geschreven (cast). Die deed zo'n beetje hetzelfde als apt-build. In de praktijk merk je weinig verschil met de standaardpakketten. Je hebt meer baat bij het installeren van bijvoorbeeld prelink, bepaalde geoptimaliseerde pakketten van grote programma's (via apt-get.org) en de (door debian) geoptimaliseerde pakketten voor libc6 enzo. (er is een libc6-686 pakket).

Ik zeg niet dat het zinloos is hoor, het heeft wel voordelen. Maar gewoon lang niet zo veel als het op het eerste gezicht lijkt. Je moet het vooral doen omdat je het leuk/interessant vind.

  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 22:12
offtopic:
ik heb prelink geinstalleerd, maar als ik prelink -n -all doe krijg ik gezeur, zoek ik wel buiten dit topic uit.


tot nu toe heb ik zelf niet echt de indruk dat alles sneller is geworden, ik zal eens zien of dat prelinken ook effect heeft en eens nagaan hoeveel disk space er tijdelijk gebruikt wordt bij het herbouwen van dingen bij updates.

ik bedacht me vandaag ook dat het wel zinvol kan zijn als je de repository (of de hele apt-build-directory) via NFS deelt als je meerdere machines met dezelfde architectuur hebt, ik wil misschien een flaptop kopen, dus ik hoop dat ik voor een prikkie een athlon-xp vind :) .

[ Voor 54% gewijzigd door Bananenplant op 26-06-2004 16:29 ]

❤️‍🩹 Bezuinigen op armen en zieken 🤕 ? Welnee, Zucmantaks, nu 💰 !

Pagina: 1