Verpakken met Debhelper
Belangrijk Vereisten: De vereisten uit de sectie genaamd "Packaging from Scratch" plus debhelper en dh-make Als een packager, zal je zelden pakketten helemaal opnieuw creëren zoals we in het vorige gedeelte hebben gedaan. Zoals je je kunt voorstellen, veel van de taken en informatie in de reglement bestand, bijvoorbeeld, zijn gemeenschappelijk voor pakketten. Om verpakkingen eenvoudiger en efficiënter te maken, kunt u gebruiken debhelper om te helpen met deze taken. Debhelper is een set Perl-scripts (voorafgegaan door dh_) die het proces van pakketopbouw automatiseren. Met deze scripts wordt het bouwen van een Debian-pakket heel eenvoudig. In dit voorbeeld zullen we opnieuw het GNU Hello-pakket bouwen, maar deze keer zullen we ons werk vergelijken met de Ubuntu hello-debhelper pakket. Maak opnieuw een map aan waar je gaat werken: Haal dan het Ubuntu-bronpakket op: Net als het vorige voorbeeld is het eerste wat we moeten doen, de originele (stroomopwaartse) tarball uitpakken. In plaats van de stroomopwaartse tarball te kopiëren naar hello_2.1.1.orig.tar.gz zoals we in het vorige voorbeeld hebben gedaan, zullen we het laten dh_make doe het werk voor ons. Het enige dat u hoeft te doen is de bronmap hernoemen, zodat het in de vorm is van
Om de initiële "debianisatie" van de bron te maken die we zullen gebruiken dh_make. dh_make zal je dan een reeks vragen stellen: Voorzichtigheid Alleen rennen dh_make -e een keer. Als u het de eerste keer opnieuw uitvoert nadat u het de eerste keer hebt gedaan, zal het niet goed werken. Als je dit wilt wijzigen of een fout hebt gemaakt, verwijder dan de brondirectory en maak de upstream-tarball opnieuw leeg. Vervolgens kunt u migreren naar de brondirectory en het opnieuw proberen. hardlopen dh_make -e doet twee dingen: De Hallo programma is niet erg ingewikkeld, en zoals we hebben gezien in de paragraaf genaamd "Packaging From Scratch", heeft het niet veel meer nodig dan de standaardbestanden. Laten we daarom de .ex bestanden: Voor Hallo, dat doe je ook niet * Licentie * Ubuntu Packaging Guide Index nodig hebben README.Debian (README-bestand voor specifieke Debian-problemen, niet README van het programma), dirs (gebruikt door dh_installdirs om benodigde mappen aan te maken), docs (gebruikt door dh_installdocs om programmadocumentatie te installeren), of info (gebruikt door dh_installinfo om het infobestand te installeren) bestanden in de debian directory. Zie de sectie "dh_make voorbeeldbestanden" voor meer informatie over deze bestanden. Op dit punt zou je alleen moeten hebben changelog, compat, controle, auteursrechten, en reglement bestanden in de debian directory. Van de sectie genaamd "Packaging from Scratch", is het enige bestand dat nieuw is compat, dat is een bestand met de debhelper versie (in dit geval 4) die wordt gebruikt. U moet het aanpassen changelogiets in dit geval om aan te geven dat dit pakket een naam heeft hello-debhelper in plaats van alleen Hallo: Door het gebruiken van debhelper, de enige dingen waar we in moeten veranderen controle zijn de naam (substitueren Hallo voor hello-debhelper) en toevoegen debhelper (> = 4.0.0) naar de Build-depends veld voor het bronpakket. Het Ubuntu-pakket voor hello-debhelper lijkt op: We kunnen het kopiëren auteursrechten bestand en de postinst en prerm scripts van de Ubuntu hello-debhelper pakket, omdat ze niet zijn veranderd sinds het onderdeel "Packaging From Scratch". We zullen ook het reglement bestand zodat we het kunnen inspecteren. Het laatste bestand dat we moeten bekijken is reglement, waar de kracht van debhelper scripts kunnen worden gezien. De debhelper versie van reglement is iets kleiner (54 regels in tegenstelling tot 72 regels in de versie van de sectie genaamd "regels"). De debhelper versie lijkt op: touch build binary-indep: install # Er zijn geen architectuur-onafhankelijke bestanden om te uploaden # gegenereerd door dit pakket. Als die er waren, zouden ze hier # worden gemaakt. binary-arch: installeer dh_testdir -a dh_testroot -a dh_installdocs -a NIEUWS dh_installchangelogs -a ChangeLog dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binair: binary-indep binary- ARCH.: binaire binaire binaire-indep schone terugslag Merk op dat taken zoals testen of u zich in de juiste directory bevindt (dh_testdir), zorg ervoor dat u het pakket bouwt met rootprivileges (dh_testroot), documentatie installeren (dh_installdocs en dh_installchangelogs) en opruimen na de build (dh_clean) worden automatisch afgehandeld. Veel pakketten veel ingewikkelder dan Hallo hebben reglement bestanden niet groter omdat de debhelper scripts verwerken de meeste taken. Voor een volledige lijst van debhelper scripts, zie de sectie genaamd "Lijst van debhelper scripts ". Ze zijn ook goed gedocumenteerd in hun respectieve man pagina's. Het is een nuttige oefening om de man-pagina te lezen (ze zijn goed geschreven en niet lang) voor elk helper-script dat in het bovenstaande wordt gebruikt reglement het dossier.




