garoeda | (log note: start of translation) |
garoeda | Nu is het aan Nicolas Jones, de Portage maintainer van Gentoo |
garoeda | carpaski: |
garoeda | Gentoo is een, zoals jullie daarnet gehoord hebben, een op ports gebaseede Linux metadistributie |
garoeda | een meta distributie waarmee ik wil zeggen dat het gehele systeem eigenlijk van scripts afgeleidt is. de scripts en applicaties die ze draaien worden tesamen Portage genoemd |
garoeda | elk script (ook gekend als ebuild) biedt beschrijvende gegevens, dependencies en compilatie code van een specifiek package |
garoeda | de beschrijvende informatie bevat dingen zoals: licenties, package beschrijvingen, homepages en tarball locaties.. Redelijk gelijkaardig op wat je zou vinden in een rpm spec file of de pkg-* en Makefiles van FreeBSD |
garoeda | Portage biedt de mogelijkheid om op zulke beschrijvingen en titels te zoeken dmv een simpele 'emerge -s package' or 'emerge -S woord'. |
garoeda | dit biedt de administrators een eenvoudige manier om de gebruikers de packages te geven die ze nodig hebben om productief te zijn |
garoeda | het zoeken op beschrijvinen is vrij traag in de gecombineerde meta-data en build data, dus portage anticipeert hierop door een gedistribueerde meta data -cache te gebruiken die pre-parsed data van de ebuilds bevat |
garoeda | het volgen van dependancies is een sterk punt van het Gentoo portage systeem |
garoeda | de USE flags bieden een goed gedefinieerde verzameling van opties die verschillende belangrijke optionele componenten beschrijft |
garoeda | er zijn 120 opties die optionele componenten zoals Arts en XMMS ondersteuning, database types, grafische bibliotheken en X windows ondersteuning |
garoeda | elk van deze opties is bedoeld om de gebruiker de grootste controle over zijn systeem te geven met minimale inspanning |
garoeda | Portage tracht eenvoud en geavanceerde configuratie controle samen te brengen zodat de administrator het meest optimale en gebruiksvriendelijk systeem kan krijgen dat hij wil |
garoeda | Portage bekijkt ook geinstalleerde packages en voegt USE opties aan je systeem toe |
garoeda | een jre installeren zoal er toe leiden dat 'java' aan je USE opties wordt toegevoegd |
garoeda | natuurlijk kan je dwingen dat alle automatische opties verwijderdt worden door ze in make.conf uit te schakelen. Als je een bv een package wil hebben maar niet wil dat andere er afhankelijk van zijn |
garoeda | 'Virtuals' zijn een systeem waardoor portage verschillende packages die een zelfde functie uitoefenen kan associeren |
garoeda | de JDK's en JRE's zijn hier een goed voorbeeld van |
garoeda | iedere architectuur heeft een profiel waarop het gebaseerd is |
garoeda | in dat profiel zitten de definities voor de automatische USE flags, vereiste systeem packages en een standaard lijst van virtuals |
garoeda | de scripts (ebuilds) die portage gebruikt om te compileren zijn eenvoudige bash scripts |
garoeda | ze definieren een verzameling operaties die een package compileren |
garoeda | deze stappen zijn exact hetzelfde alsof je het package manueel zou compileren |
garoeda | Portagen en de ondersteunende bestanden bieden vele additionele functies om het het werken met verschillende architecturen en opties te versnellen |
garoeda | Packages kunnen 'eclasses' erven die comlete functies bieden om gebruikelijke taken zoals het filteren van opties, het werken met CVS, of zelfs het compleet automatiseren van een compilatie door een paar variablen te declareren mogelijk maken |
garoeda | in het compilatie proces gebruikt portage een feature dat 'sandboxing' heet |
garoeda | sandboxing zorgt ervoor dat de compilatie van een package beperkt wordt tot een aantal directories zodat de aanpassing van bestanden gevolgd kan worden |
garoeda | configuratie bestanden worden eveneens bijgehouden |
garoeda | Portage gebruikt een feature dat 'Config Protection' heet om er zeker van te zijn dat belangrijke bestanden niet overschreven worden |
garoeda | bij default wijst deze naar het merendeel van de inhoud van /etc maar andere direcotories kunnen toegevoegd worden via de variabele CONFIG_PROTECT |
garoeda | dit is gelijklopend met de manier waarop FreeBSD werkt met het updaten van configuratiebestanden, men gebruikt vimdiff om een onmiddellijke vergelijking met de huidige en de nieuwe configuratie mogelijk te maken |
garoeda | Portage houdt eveneens een lijst bij van alle geinstalleerde configuraties zodat bij herinstallatie van een package de configuratie bestanden niet opnieuw geupdated moeten worden |
garoeda | terwijl men packages installeert houdt portage een lijst bij hiervan in een bestand, het "world" bestand |
garoeda | dit bestand wordt gebruikt om updates te doen zoda enkel de packages die je wilt en gebruikt geupgraded worden |
garoeda | 'emerge gnome' zal alles wat gnome nodig heeft compileren en het zal gnome toevoegen aan de 'world file' |
garoeda | het updaten van Gentoo is redelijk eenvoudig, doe 'emerge sync' om de laatste tree te verkrijgen, dan 'emerge --update world' dat alles zal updaten wat je geinstalleerd hebt en eventuele updates |
garoeda | je kan portage ook zeggen om 'diep' te gaan, alles updaten wat mogelijk is, zelfs al is het niet expliciet gedefinieerd. 'emerge --update --deep world' |
garoeda | je kan voorbeelden zien op http://gentoo.twobit.net/portage_shots/ |
garoeda | Portage biedt ook een paar methoden om de stabiliteit van packages te testen, de geunificeerde tree die we gebruiken laat iedereen toe om met een volledig stabiel systeem te beginnen en het helemaal cutting edge te maken door een paar simpele aanpassingen van de configuratie bestanden |
garoeda | het gebruik van 'masking' laat Gentoo toe om op een snelle en eenvoudige manier packages te distribueren, terwijl de stabiele gebruikers stabiel blijven en de anderen het nieuwst van het nieuwste hebben |
garoeda | een nieuw feature dat in portage gaat komen zal de meeste gebruikers echt helpen |
garoeda | 'Sticky flags' laat de gebruiker toe om stabiele en niet stabiele packages te mixen zonder expliciet voor het ene of anderste uiterste te kiezen |
garoeda | 'Fakeroot' en compilatie met user privileges haalt de root gebruiker uit het compileren en verhoogt de security |
garoeda | Op dit moment worden 'digests' gebruikt op alle ebuilds om te voorkomen dat gebruikers kwaadwillige code afhalen van de mirrors, zoals recentelijk voorgevallen is. Gentoo gebruikers hebben hiervan de eerste berichten gebracht |
garoeda | in de toekomst gaan ook 'reverse dependencies' verschijnen, ze informeren gebruikers hoe het veranderen van hun configuratie en het de-installeren van packages hun systeem zal beinvloeden |
garoeda | tesamen met 'reverse dependencies' gaat portage de mogelijkheid krijgen om packages te hercompileren. Afhankelijkheid van packages zoals QT kan volledig weggehaald worden van alle gelinkte packages op je systeem en je systeem zal verder functioneren zonder verdere tussenkomst |
garoeda | een van de features die momenteel bestudeerd worden is het gebruik van verschillende rsync trees. dit zou portage toelaten om verschillende niet-gentoo package verzamelingen en trees te gebruiken met minimale inspanningen |
garoeda | vraag: hoe zit het met de ondersteuning van het patchen van source code met diffs ipv de volledige tarball af the halen en parallelle download ondersteuning? |
garoeda | het patchen van source code is een redelijk moeilijk probleem |
garoeda | het wordt in beschouwing genomen maar het zal nog een tijdje duren eer er iets aan gedaan wordt, tenzij iemand de uitdaging wil aangaan |
garoeda | parallelle download ondersteuning zal hopelijk in het begin van volgend jaar mogelijk zijn |
garoeda | zijn er nog vragen? |
garoeda | parallel mergen zal binnenkort ook in portage komen |
casanegra [abre@141satb5.codetel.net.do] has joined #taee |
garoeda | vraag: hoe moeilijk is het om uitbreidingen aan portage toe te voegen |
garoeda | dat hangt er vanaf wat je bedoelt met uitbreidingen |
garoeda | vraag: zoals bv de implementatie van paralle ebuilds |
garoeda | parallel 2 emerges draaien is niet zo moelijk, het vereist wel dat de lijsten van packages niet overlappen en de database gelocked wordt |
garoeda | het gebruik van paralles ebuilds maar onder de vorm van threading is veel ingewikkelder aangezien portage dan gedeeltelijk aangepast moet worden om enkele globale variabelen te verijderen |
garoeda | het uiteindelijke doel is om portage pluggable te maken en zo je toelaat de kiezen wat je wilt |
garoeda | dingen zoals syslog messages vs console messages |
garoeda | hoe de db opgeslagen wordt |
garoeda | vraag: is het mogelijk om CFLAGS te maken die dingen compileert met -O3 een veel optimisatie en andere dingen met meer behoudende opties |
garoeda | ja, dat is de bedoeling an sticky |
garoeda | stickies=["KEYWORDS_ACCEPT","USE","CFLAGS","CXXFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EMAKE"] |
garoeda | dat zijn de opties die onderhouden gaan worden wanneer sticky actief wordt in portage |
garoeda | elk van deze variabelen aanwezig in je omgeving zal behouden worden wanneer je een 'emerge -u world' of een 'emerge -e world' doet |
garoeda | EXTRA_ECONF en EXTRA_EMAKE zijn niet gedocumenteerd maar zullen gebruikers toelaten om specifieke opties aan configure en make mee te geven. tesamen met STICKY gaat dit een zeer nauwkeurige controle geven over de package opties |
garoeda | vraag: mensen zoals ik hebben een talent om Gentoo kapot te maken, zou het mogelijk zijn om een FEATURE optie in te voeren voor debug, die alles blokkeert wat slecht kan zijn voor debuggin, zodat we feedback kunnen geven aan onze geliefde ontwikkelaars |
garoeda | dat is een echt goed idee, wil je dat als bug posten voor mij? ;) |
garoeda | ok, heeft er nog iemand anders vragen of opmerkingen? |
garoeda | vraag: portage heft al een optie voor strip/nostrip |
garoeda | FEATURES=nostrip --denk ik |
garoeda | het kan een beperking zijn, ik zou er naar moeten kijken |
garoeda | vraag: een vraag naar een feature : voeg een licensie toe aan de kleine beschrijving |
garoeda | dat is doenbaar |
garoeda | nog iets anders? |
garoeda | opmerking: de bug is gesubmit als http://bugs.gentoo.org/show_bug.cgi?id=12272 |
garoeda | als er niets anders is, zou ik Nicholas en Seemant willen bedanken voor hun presentatie en onze vertalers voor al hun inspanningen |
garoeda | vraag: oh, en een ebuild niet altijd laten herbeginnen |
garoeda | FEATURES=noauto zou in make.conf moeten staan |
garoeda | ik denk dat dat alles is |
garoeda | (log note: end of translation) |