Kaip įdiegt programą (ar naują versiją), jei nerandam nei APT/PPA saugyklos nei .deb paketo failo

Created by Mantas Kriaučiūnas
Keywords:
backport apt install update software ppa

Ką daryt jei norimai įdiegti programai (ar norimai programos versijai) nerandate nei saugyklos nei .deb paketo failo, ne bėda - va keli būdai kaip pačiam pasidaryti .deb paketą iš programos kodo (source code) arba konvertuoti kitų formatų paketus (pvz. rpm) į deb:

1. Kaip sukurti paketa naujai programinės įrangos versijai (saugyklose/PPA radom kitą versiją)

Šiuo atveju reiktų sukurti reikiamos versijos .deb paketą pasinaudojant kitos rastos versijos pakavimo failais, angliškai tai vadinama backport. Ubuntu atveju naujausia programos versija dažniausiai būna dar neišleistoj (kūrimo/"development" stadijoje) OS versijoje arba kokioj nors PPA saugykloje, tai patikrinti galima nuėjus adresu:

https://launchpad.net/ubuntu/+source/programinės-irangos-source-paketo-pavadinimas (pvz https://launchpad.net/ubuntu/+source/libreoffice )
Jei nerandam reikiamos versijos - spaudžiam ant nuorodos apačioje "Other versions of 'programines-iranga' in untrusted archives." arba einam tiesiai ieškoti tarp neoficialių saugyklų (PPA - Personal Package Archives): https://launchpad.net/ubuntu/+ppas

Programinės įrangos source paketo pavadinimą galima sužinoti su apt-cache show paketo-pavadinimas |grep Source: komanda arba http://packages.debian.org a http://packages.ubuntu.com

Jei https://launchpad.net sistemoje rasta norima paketo versija yra sukompiliuota tik naujesniai Ubuntu OS versijai tai padaryti "backport" galima su Launchpad "Copy" įrankiu kopijuojant iš PPA ar pagr. (primary) Ubuntu programų archyvo į savo saugyklą pasirenkant reikiamą Ubuntu OS versiją kaip target. Kopijavimui iš pagr. (primary) Ubuntu saugyklų (official Ubuntu archive) naudot šį URL:

 https://launchpad.net/ubuntu/+archive/primary/+copy-packages?field.name_filter=paketo-source-vardas

2. Kaip sukurti .deb paketą nuo nulio (nesinaudojant kitų sukurtu /debian aplanku)

Įprastai .deb paketai yra padaromi iš programos išeities kodo (source code), kuriame sukuriamas debian aplankas su specialiais failais (control, changelog, rules, install ir kt.). Kam reikalingas kiekvienas failas ir ką ten reik įrašyti aprašoma čia: http://packaging.ubuntu.com/

Kaip aktyvuoti asmeninę saugyklą (PPA) parašyta čia: https://help.launchpad.net/Packaging/PPA

Kaip ten įkelti paketo kodą (Source) žr.: https://help.launchpad.net/Packaging/PPA/BuildingASourcePackage

Bet geriausia naudotis recipe, nes tuomet source koda automatiškai paima iš GIT, žr.: https://help.launchpad.net/Packaging/SourceBuilds/Recipes bei https://help.launchpad.net/Packaging/SourceBuilds/GettingStarted

Va mano padarytas pvz.: https://code.launchpad.net/~gnome-shell-extensions/+recipe/gnome-shell-ext-notifications-alert

Jei neturim programinės įrangos kodo, reik daryt taip: https://wiki.ubuntu.com/MOTU/School/PackagingWithoutCompiling