Dag iedereen, In de git-opslagplaats webwml werd de vertaling van dutch/ports/hurd/hurd-devel-debian.wml bijgewerkt. In bijlage de bijgewerkte vertaling en een diff-bestand met de wijzigingen tegenover de vorige versie. -- Met vriendelijke groet, Frans Spiesschaert
diff --git a/dutch/ports/hurd/hurd-devel-debian.wml b/dutch/ports/hurd/hurd-devel-debian.wml index fcaca357f49..106701759c8 100644 --- a/dutch/ports/hurd/hurd-devel-debian.wml +++ b/dutch/ports/hurd/hurd-devel-debian.wml @@ -1,6 +1,6 @@ #use wml::debian::template title="Debian GNU/Hurd --- Ontwikkeling" NOHEADER="yes" #include "$(ENGLISHDIR)/ports/hurd/menu.inc" -#use wml::debian::translation-check translation="34422e94132789c2bcd0f6d41dc8680b49c7f3ab" +#use wml::debian::translation-check translation="8f3db59aacd73ab4251427a34f4599208e3700f4" <h1> Debian GNU/Hurd</h1> @@ -70,22 +70,22 @@ Aan welk pakket gewerkt moet worden? Wel, elk pakket dat nog niet overgezet werd, maar wel overgezet moet worden. Dit verandert constant, dus is het beter om u eerst te concentreren op pakketten die door veel andere pakketten vereist worden, hetgeen te zien is in de grafiek met pakketvereisten -<url "https://people.debian.org/~sthibault/graph-radial.pdf">, +<url "https://people.debian.org/~sthibault/hurd-i386/graph-radial.pdf">, die elke dag bijgewerkt wordt, of op de lijst met de meest gevraagde pakketten -<url "https://people.debian.org/~sthibault/graph-total-top.txt"> +<url "https://people.debian.org/~sthibault/hurd-i386/graph-total-top.txt"> (dit is de lijst met veelgevraagde pakketten op de lange termijn; de lijst met veelgevraagde pakketten op de korte termijn is -<url "https://people.debian.org/~sthibault/graph-top.txt">). +<url "https://people.debian.org/~sthibault/hurd-i386/graph-top.txt">). Het is meestal ook een goed idee om te kiezen uit de lijsten met verouderde pakketten -<url "https://people.debian.org/~sthibault/out_of_date2.txt"> en -<url "https://people.debian.org/~sthibault/out_of_date.txt">, +<url "https://people.debian.org/~sthibault/hurd-i386/out_of_date2.txt"> en +<url "https://people.debian.org/~sthibault/hurd-i386/out_of_date.txt">, omdat die vroeger werkten en nu waarschijnlijk om slechts een paar redenen defect zijn. U kunt ook gewoon willekeurig één van de ontbrekende pakketten kiezen, of letten op de autobuild-logs op de mailinglijst van het bouwlogboek van debian-hurd, of gebruik maken van de wanna-build-lijst van -<url "https://people.debian.org/~sthibault/failed_packages.txt">. +<url "https://people.debian.org/~sthibault/hurd-i386/failed_packages.txt">. Sommige bouwproblemen zijn gemakkelijker op te lossen dan andere. Een typisch probleem is "undefined reference to foo", waarbij foo zoiets is als pthread_create, dlopen, cos, ... (die uiteraard beschikbaar zijn op hurd-i386), @@ -102,6 +102,16 @@ en de levensstatus van pakketten op buildd.debian.org, bijv. <url "https://buildd.debian.org/util-linux">. </p> +<p> +Het is beter om de oplossing voor de overzetting naar de bovenstroomse +ontwikkelaars zelf te sturen, want daar is het dat die uiteindelijk zal moeten +terechtkomen; u kunt beter rechtstreeks met hen communiceren dan via de Debian +beheerder van het Debian pakket. We kunnen de oplossing makkelijk toepassen als +een upload naar de suite <tt>unreleased</tt> van Debian in afwachting tot de +patch uitgebracht wordt door de bovenstroomse ontwikkelaars en in Debian +belandt. +</p> <h4> Pakketten die niet overgezet zullen worden</h4> <p> @@ -130,13 +140,13 @@ misschien gebruiken.</li> </ul> <h3> <a name="porting_issues"> -Algemene overdrachtsproblemen</a></h3> +Algemene overzettingsproblemen</a></h3> <p> <a href=https://www.gnu.org/software/hurd/hurd/porting/guidelines.html>Een lijst met veelvoorkomende problemen</a> is te vinden op de bovenstroomse website. De volgende veelvoorkomende problemen zijn specifiek voor Debian.</p> <p>Voordat u iets probeert op te lossen, moet u nagaan of de overzetting naar -kfreebsd* niet al een oplossing heeft die gewoon een uitbreiding naar hurd-i386 +kfreebsd* niet al een oplossing heeft die gewoon een uitbreiding naar hurd-any nodig heeft.</p> <ul> @@ -144,7 +154,7 @@ nodig heeft.</p> <code>foo : Depends: foo-data (= 1.2.3-1) but it is not going to be installed</code> (foo : Vereist: foo-data (= 1.2.3-1) maar dat zal niet geïnstalleerd worden) <p> Het korte antwoord is: pakket <code>foo</code> kon niet gebouwd worden op -hurd-i386, en dat moet opgelost worden; bekijk de bouwfout op zijn +hurd-any, en dat moet opgelost worden; bekijk de bouwfout op zijn statuspagina van buildd.debian.org. </p> <p> @@ -158,7 +168,7 @@ gedeeld worden met alle architecturen, waardoor dus, wanneer een recentere versie van het broncodepakket <code>foo</code> (waaruit de binaire pakketten <code>foo</code> en <code>foo-data</code> gebouwd worden) geüpload wordt, het recentere arch:all pakket <code>foo-data</code> geïnstalleerd wordt, zelfs -wanneer het recentere hurd-i386 binaire pakket <code>foo</code> niet gebouwd +wanneer het recentere hurd-any binaire pakket <code>foo</code> niet gebouwd kan worden, hetgeen dus leidt tot incompatibele versies. Om dat op te lossen moet het debian-ports archief dak gebruiken in plaats van mini-dak, en daaraan wordt nog steeds gewerkt.
#use wml::debian::template title="Debian GNU/Hurd --- Ontwikkeling" NOHEADER="yes" #include "$(ENGLISHDIR)/ports/hurd/menu.inc" #use wml::debian::translation-check translation="8f3db59aacd73ab4251427a34f4599208e3700f4" <h1> Debian GNU/Hurd</h1> <h2> De ontwikkeling van de distributie</h2> <h3> Hurd-software verpakken</h3> <p> De Hurd-specifieke pakketten worden onderhouden op <url "https://salsa.debian.org/hurd-team/">. </p> <h3> Debian pakketten geschikt maken</h3> <p> Als u de overzetting van Debian naar GNU/Hurd wilt helpen, moet u zichzelf vertrouwd maken met het Debian-verpakkingssysteem. Eens u dit gedaan heeft door de beschikbare documentatie te lezen en de <a href="$(HOME)/devel/">Hoek voor Ontwikkelaars</a> te bezoeken, zou u moeten weten hoe u Debian broncodepakketten uitpakt en een Debian pakket bouwt. Hier volgt een spoedcursus voor de zeer luie mensen:</p> <h3> Broncode verkrijgen en pakketten bouwen</h3> <p> De broncode verkrijgen kan door eenvoudig <code>apt source package</code> uit te voeren, dat ook de broncode zal uitpakken. </p> <p> Voor het uitpakken van een broncodepakket van Debian is het bestand <code>package_version.dsc</code> vereist en de erin vermelde bestanden. U bouwt de compilatiemap van Debian met het commando <code>dpkg-source -x package_version.dsc</code> </p> <p> Het bouwen van een pakket gebeurt in de nu bestaande compilatiemap van de Debian <code>pakket-versie</code> met het commando <code>dpkg-buildpackage -B "-mMijnNaam <MijnEmail>"</code>. In plaats van <code>-B</code> kunt u <code>-b</code> gebruiken, als u ook de architectuur-onafhankelijke delen van het pakket wilt bouwen (maar dat is meestal nutteloos omdat deze al beschikbaar zijn in het archief, en het bouwen ervan extra afhankelijkheden kan vereisen). U kunt <code>-uc</code> toevoegen om te vermijden dat het pakket ondertekend wordt met uw OpenPGP-sleutel.</p> <p> Voor het bouwen zijn mogelijk extra geïnstalleerde pakketten nodig. De eenvoudigste manier is om <code>apt build-dep package</code> uit te voeren, dat alle vereiste pakketten zal installeren. </p> <p> Het gebruik van pbuilder kan handig zijn. Het kan gebouwd worden met <code>sudo pbuilder create --mirror http://deb.debian.org/debian-ports/ --debootstrapopts --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg --debootstrapopts --extra-suites=unreleased --extrapackages debian-ports-archive-keyring</code> en dan kan men <code>pdebuild -- --binary-arch</code> gebruiken dat het downloaden van de bouwvereisten zal afhandelen, enz. en het resultaat in <code>/var/cache/pbuilder/result</code> zal plaatsen. </p> <h3> Er een uitkiezen</h3> <p> Aan welk pakket gewerkt moet worden? Wel, elk pakket dat nog niet overgezet werd, maar wel overgezet moet worden. Dit verandert constant, dus is het beter om u eerst te concentreren op pakketten die door veel andere pakketten vereist worden, hetgeen te zien is in de grafiek met pakketvereisten <url "https://people.debian.org/~sthibault/hurd-i386/graph-radial.pdf">, die elke dag bijgewerkt wordt, of op de lijst met de meest gevraagde pakketten <url "https://people.debian.org/~sthibault/hurd-i386/graph-total-top.txt"> (dit is de lijst met veelgevraagde pakketten op de lange termijn; de lijst met veelgevraagde pakketten op de korte termijn is <url "https://people.debian.org/~sthibault/hurd-i386/graph-top.txt">). Het is meestal ook een goed idee om te kiezen uit de lijsten met verouderde pakketten <url "https://people.debian.org/~sthibault/hurd-i386/out_of_date2.txt"> en <url "https://people.debian.org/~sthibault/hurd-i386/out_of_date.txt">, omdat die vroeger werkten en nu waarschijnlijk om slechts een paar redenen defect zijn. U kunt ook gewoon willekeurig één van de ontbrekende pakketten kiezen, of letten op de autobuild-logs op de mailinglijst van het bouwlogboek van debian-hurd, of gebruik maken van de wanna-build-lijst van <url "https://people.debian.org/~sthibault/hurd-i386/failed_packages.txt">. Sommige bouwproblemen zijn gemakkelijker op te lossen dan andere. Een typisch probleem is "undefined reference to foo", waarbij foo zoiets is als pthread_create, dlopen, cos, ... (die uiteraard beschikbaar zijn op hurd-i386), wat alleen laat zien dat men in de configuratiestap van het pakket vergeten is om ook op de Hurd -lpthread, -ldl, -lm, enz. op te nemen. Houd er echter rekening mee dat ALSA MIDI-functies niet beschikbaar zijn. </p> <p> Controleer ook of er al werk gedaan werd op <url "https://alioth.debian.org/tracker/?atid=410472&group_id=30628&func=browse">, <url "https://alioth.debian.org/tracker/?atid=411594&group_id=30628&func=browse">, en op het BTS (<url "https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=debian-hurd@lists.debian.org;tag=hurd">), en op <url "https://wiki.debian.org/Debian_GNU/Hurd">, en de levensstatus van pakketten op buildd.debian.org, bijv. <url "https://buildd.debian.org/util-linux">. </p> <p> Het is beter om de oplossing voor de overzetting naar de bovenstroomse ontwikkelaars zelf te sturen, want daar is het dat die uiteindelijk zal moeten terechtkomen; u kunt beter rechtstreeks met hen communiceren dan via de Debian beheerder van het Debian pakket. We kunnen de oplossing makkelijk toepassen als een upload naar de suite <tt>unreleased</tt> van Debian in afwachting tot de patch uitgebracht wordt door de bovenstroomse ontwikkelaars en in Debian belandt. </p> <h4> Pakketten die niet overgezet zullen worden</h4> <p> Sommige van deze pakketten, of delen ervan, kunnen later overzetbaar worden, maar op zijn minst op dit moment worden deze als niet-overzetbaar beschouwd. Ze worden normaal gemarkeerd als NotForUs in de database van buildd. </p> <ul> <li> <code>base/makedev</code>, omdat de Hurd met zijn eigen versie van dit script komt. Het Debian bronpakket bevat alleen een Linux-specifieke versie.</li> <li> <code>base/modconf</code> en <code>base/modutils</code>, omdat modules een concept zijn dat specifiek is voor Linux.</li> <li> <code>base/netbase</code>, omdat wat daar nog rest, zeer specifiek is voor de Linux-kernel. In plaats daarvan gebruikt de Hurd <code>inetutils</code>.</li> <li> <code>base/pcmcia-cs</code>, omdat dit pakket Linux-specifiek is.</li> <li> <code>base/setserial</code>, omdat dit specifiek is voor de Linux-kernel. Maar met de overzetting van Linux char-stuurprogramma's naar GNU Mach kunnen we dit misschien gebruiken.</li> </ul> <h3> <a name="porting_issues"> Algemene overzettingsproblemen</a></h3> <p> <a href=https://www.gnu.org/software/hurd/hurd/porting/guidelines.html>Een lijst met veelvoorkomende problemen</a> is te vinden op de bovenstroomse website. De volgende veelvoorkomende problemen zijn specifiek voor Debian.</p> <p>Voordat u iets probeert op te lossen, moet u nagaan of de overzetting naar kfreebsd* niet al een oplossing heeft die gewoon een uitbreiding naar hurd-any nodig heeft.</p> <ul> <li> <code>foo : Depends: foo-data (= 1.2.3-1) but it is not going to be installed</code> (foo : Vereist: foo-data (= 1.2.3-1) maar dat zal niet geïnstalleerd worden) <p> Het korte antwoord is: pakket <code>foo</code> kon niet gebouwd worden op hurd-any, en dat moet opgelost worden; bekijk de bouwfout op zijn statuspagina van buildd.debian.org. </p> <p> Dit gebeurt meestal wanneer pakket <code>foo</code> momenteel niet gebouwd kan worden, terwijl dit voorheen wel goed liep. Gebruik <code>apt-cache policy foo foo-data</code> om vast te stellen dat bijvoorbeeld versie <code>1.2.3-1</code> van <code>foo</code> beschikbaar is en er een recentere versie <code>2.0-1</code> van <code>foo-data</code> beschikbaar is. Dit is omdat op debian-ports architectuur-onafhankelijke (arch:all) pakketten gedeeld worden met alle architecturen, waardoor dus, wanneer een recentere versie van het broncodepakket <code>foo</code> (waaruit de binaire pakketten <code>foo</code> en <code>foo-data</code> gebouwd worden) geüpload wordt, het recentere arch:all pakket <code>foo-data</code> geïnstalleerd wordt, zelfs wanneer het recentere hurd-any binaire pakket <code>foo</code> niet gebouwd kan worden, hetgeen dus leidt tot incompatibele versies. Om dat op te lossen moet het debian-ports archief dak gebruiken in plaats van mini-dak, en daaraan wordt nog steeds gewerkt. </p> </li> <li> <code>sommige symbolen of patronen zijn verdwenen uit het symbolenbestand</code> <p> Sommige pakketten houden een lijst bij van de symbolen die naar verwachting in bibliotheken zullen verschijnen. Deze lijst wordt echter meestal verkregen op een Linux-systeem en bevat dus symbolen die mogelijk niet logisch zijn op niet-Linux-systemen (bijvoorbeeld door functionaliteit die alleen in linux gebruikt wordt). Men kan echter wel conditionele constructies invoeren in het bestand <code>.symbols</code>, bijvoorbeeld: </p> <table><tr><td> </td><td class=example><pre> (arch=linux-any)linuxspecifieke_functie@Base 1.23 </pre></td></tr></table> </li> <li> <code>Defecte libc6-vereiste</code> <p> Sommige pakketten gebruiken een foutieve afhankelijkheid van <code>libc6-dev</code>. Dit is onjuist omdat <code>libc6</code> specifiek is voor sommige architecturen van GNU/Linux. Het corresponderende pakket voor GNU is <code>libc0.3-dev</code>, maar andere besturingssystemen zullen er een ander hebben. U kunt het probleem vinden in het bestand <code>debian/control</code> van de broncodeboom. Typische oplossingen zijn onder meer het detecteren van het besturingssysteem met behulp van <code>dpkg-architecture</code> en de soname in de code verankeren, of beter, een logische OR gebruiken, bijv.: <code>libc6-dev | libc6.1-dev | libc0.3-dev | libc0.1-dev | libc-dev</code>. De vermelding <code>libc-dev</code> betreft een virtueel pakket dat voor elke soname werkt, maar u moet deze optie enkel als laatste plaatsen.</p></li> <li> <code>ongedefinieerde verwijzing naar snd_*, SND_* niet gedeclareerd</code> <p> Sommige pakketten gebruiken ALSA zelfs op niet-Linux architecturen. Het pakket oss-libsalsa biedt enige emulatie over OSS, maar het is beperkt tot 1.0.5, en sommige functies zijn niet beschikbaar, zoals alle sequencer-bewerkingen. </p> <p> Als het pakket dit toelaat, zou alsa-ondersteuning moeten worden uitgeschakeld op de architecturen <code>!linux-any</code> (bijvoorbeeld via een optie voor <code>configure</code>), en een kwalificatie <code>[linux-any] </code> zou toegevoegd moeten worden aan de <code>Build-Depends</code> van alsa, en het omgekeerde zou moeten toegevoegd worden aan <code>Build-Conflicts</code>, zoals <code>Build-Conflicts: libasound2-dev [!linux-any]</code>. </p> </li> <li> <code>dh_install: Kan geen (overeenkomsten voor) "foo" vinden (geprobeerd in ., debian/tmp)</code> <p> Dit gebeurt meestal wanneer de bovenstroomse code iets niet installeerde omdat die het besturingssysteem niet herkende. Soms is de code gewoon dom (ze weet bijvoorbeeld niet dat het bouwen van een gedeelde bibliotheek op GNU/Hurd precies hetzelfde is als op GNU/Linux) en dat moet worden gerepareerd. Soms is het echt logisch (bijv. Systemd-servicebestanden niet installeren). In dat geval kan men dh-exec gebruiken: een bouwvereiste instellen op <tt>dh-exec</tt>, het commando <tt>chmod +x</tt> uitvoeren voor het bestand <tt>.install</tt> en aan het begin van de problematische lijnen bijv. <tt>[linux-any]</tt> of <tt>[!hurd-any]</tt> invoegen. </p> </li> </ul> <h3> <a name="debian_installer"> Ontwikkelen van het Debian-installatieprogramma</a></h3> <p> De eenvoudigste manier om een ISO-image te bouwen is te beginnen met een bestaand image van de pagina met <a href=hurd-cd>Hurd cd-images</a>. U kunt dit dan aankoppelen en kopiëren: </p> <table><tr><td> </td><td class=example><pre> mount debian-sid-hurd-i386-NETINST-1.iso /mnt cp -a /mnt /tmp/myimage umount /mnt chmod -R +w /tmp/myimage </pre></td></tr></table> <p> U kunt de initiële ram-schijf aankoppelen, en bijv. een translator (vertaler) vervangen door uw eigen versie: </p> <table><tr><td> </td><td class=example><pre> gunzip /tmp/myimage/initrd.gz mount /tmp/myimage/initrd /mnt cp ~/hurd/rumpdisk/rumpdisk /mnt/hurd/ umount /mnt gzip /tmp/myimage/initrd </pre></td></tr></table> <p> Nu kunt u het ISO-image opnieuw bouwen met grub-mkrescue: </p> <table><tr><td> </td><td class=example><pre> rm -fr /tmp/myimage/boot/grub/i386-pc grub-mkrescue -o /tmp/myimage.iso /tmp/myimage </pre></td></tr></table>
Attachment:
signature.asc
Description: This is a digitally signed message part