Hoe Deb Packages te maken met Debreate
Ubuntu's pakketbeheersysteem, dat het dankt aan zijn grote broer Debian, maakt het zo eenvoudig als het kan om uw systeem up-to-date te houden. Of het nu door GUI-programma's of het gebruik van " apt-get ", maakt constant indruk op me. Maar er zijn nog steeds gevallen waarin u een bepaald programma niet in DEB-indeling kunt krijgen, of misschien wilt u uw eigen software voor andere Debian- en Ubuntu-gebruikers distribueren. Het met de hand samenstellen van een DEB-pakket is een hele klus ... Gelukkig maakt Debreate het gemakkelijk om software te verpakken voor eenvoudige installatie.
Opmerking : dit is het tweede deel van het maken van de deb-pakkettenreeks. Je kunt het eerste deel lezen: De grondbeginselen van Debian Package Management: DEB-pakketten [Linux 101] hier.
Debreate installeren en starten
Het eerste dat we moeten doen is Debreate installeren. U kunt het pakket hier downloaden van Sourceforge, vervolgens installeren met de pakketbeheerder van uw keuze of met de volgende opdracht:
sudo dpkg -i debreate_0.7.7_all.deb
Dan kunnen we Debreate van KRunner starten door " debreate " uit te voeren, of door op het item in de "Ontwikkeling" -sectie van het applicatiemenu te klikken.
Start het programma en je krijgt het volgende (eerste) scherm, zoals hieronder links wordt getoond, gevolgd door een infoscherm, hieronder rechts.
Controle Info
Als u op de pijl in de bovenhoek klikt, komen we bij een scherm met de naam 'Control'. Hier vullen we de gegevens in die in het gedeelte 'control.tar.gz' van het pakket terechtkomen. U moet de volgende velden invullen die hieronder worden weergegeven:
- Pakket: de naam van het pakket mag alleen uit kleine letters, cijfers, "+, " "-, " of "." -symbolen bestaan.
- Versie: een versienummer - ik gebruik 0.0.1 voor deze eerste versie.
- Beheerder: de naam van de persoon die deze applicatie verpakt (dat ben ik).
- E-mail: zijn / haar (mijn) e-mailadres.
- Architectuur: als dit een binair pakket is (dus geen pakket met broncode dat wordt gecompileerd), zal dit waarschijnlijk een van de volgende zijn: "i386" (voor 32-bits processors, zoals Pentium- of Core-processors), "amd64" ( 64-bit processors, zoals de AMD Phenom of nieuwere Intel Core i3 / 5/7), of "all", wat betekent dat het niet afhankelijk is van de processor. Omdat dit een shellscript is dat op elke versie van Ubuntu zal draaien, selecteer ik "alles" .
- Sectie: Dit is de categorie waarin het pakket zich in een grotere repository bevindt. Omdat ons script ons in staat stelt om documenten eenvoudig uit tekst op te maken, heb ik het gedeelte "Tekst" geselecteerd (Pandoc zelf bevindt zich ook in de sectie "Tekst").
- Prioriteit: volgens de FAQ van Debian / GNU zou dit "Optioneel" moeten zijn (en nogmaals, Pandoc zelf is ook "Optioneel").
- Korte beschrijving: deze beschrijving van het pakket wordt bijvoorbeeld weergegeven in een lijstweergave in een softwaremanager zoals het Software Center of Muon.
- Lange beschrijving: deze langere beschrijving wordt weergegeven in een gedetailleerde weergave, bijvoorbeeld wanneer een pakket wordt geselecteerd in een softwaremanager of door
apt-cache show [package]"
.
Klik op de rechterpijl in de rechterbovenhoek om naar het volgende scherm te gaan.
De afhankelijkheden
Het volgende dat we moeten voorbereiden is een lijst met alle andere pakketten die dit programma zal gebruiken. Het is duidelijk dat we "Pandoc" moeten installeren, omdat het script dat programma oproept en omdat we een GUI toevoegen, moeten we ervoor zorgen dat "Zenity" ook is geïnstalleerd. We moeten dit allemaal invoeren op het scherm Afhankelijkheden (we kunnen ook een versienummer toevoegen, maar voor dit script moet elke versie van Pandoc en Zenity de distributie volstaan) en op de knop "Toevoegen" klikken om het toe te voegen naar de lijst.
Laten we nu enkele bestanden inpakken!
De bestanden
Het eerste dat u moet doen, is alle bestanden verzamelen die u wilt includen en ze rangschikken in de hierboven beschreven mappenstructuur. Voor dit artikel ga ik het pandoc-pub.sh- script inpakken dat ik in een vorig artikel heb gemaakt. In het scherm Bestanden kunt u bestanden één voor één selecteren en aangeven naar welke map ze moeten worden geïnstalleerd, zoals hieronder wordt weergegeven. Ik heb drie bestanden die ik zou willen opnemen:
- Het script zelf ... Omdat dit programma een shellscript is, is het onafhankelijk. Ik moet dit in "/ usr / bin" plaatsen volgens FHS.
- Vervolgens ga ik een kort README-bestand met gebruiksinstructies opnemen. Dit gaat in "/ usr / share / doc".
- Ten slotte ga ik een pictogram toevoegen. Ik plaats dit in "/ usr / share / icons".
Scripts, Changelog, auteursrecht
In het volgende scherm kunt u de scripts "preinst", "postinst", "prerm" en / of "postrm" specificeren die in het vorige artikel over DEB-basics zijn beschreven. Er volgen er nog drie: Changelog (waarmee u wijzigingen sinds de laatste versie kunt beschrijven), Copyright (een verklaring over hoe de software kan worden gebruikt) en Menu Launcher (waarmee u een item in het hoofdmenu van het bureaublad kunt automatiseren) . Voor de doeleinden van dit testpakket gebruik ik geen van deze.
Bouw het!
Het laatste scherm geeft je een aantal "Extra Opties" die we veilig kunnen negeren ... laten we gaan bouwen. Klik op de grote groene knop!
Mijn pakket had een aantal waarschuwingen (wat de ontwikkelaar spreekt is anders dan fouten, die als het ware "show-stoppers" zijn) zoals een ontbrekende copyright-verklaring, ontbrekende man-pagina, enz ... omdat dit pakket alleen voor mijn eigen gebruik is, dit is OK. Maar het is gebouwd! U kunt installeren met de volgende standaard opdracht "dpkg":
sudo dpkg -i pandoc-pub_0.0.1_all.deb
Maar het lukt niet ... waarom? Omdat het afhankelijk is van Zenity en Pandoc (die ik zojuist heb verwijderd om deze functie te testen). Als u dubbelklikt op het pakket in een bestandsbeheerder, kan GDebi de afhankelijkheidsinstallatie voor ons uitvoeren, zoals hieronder wordt weergegeven:
Eenmaal geïnstalleerd, kan ik dit nu aan mijn vrienden (die over het algemeen veel betere programmeurs dan ik zijn) verspreiden. Dus zoek enkele van uw nuttigere scripts of programma's en pak de verpakking. Het verspreiden van nuttige software naar anderen is wat de FOSS-gemeenschap zo geweldig maakt!