MAKEPKG(8)

NAMN
makepkg - skapa Slackware paket

ÖVERSIKT
makepkg [ -l, --linkadd y|n ] [ -c, --chown y|n ] paketnamn

BESKRIVNING
makepkg skapar en ny Slackware kompatibelt paket. Paketet är konstruerad med hjälp av innehållet i den aktuella katalogen och alla underkataloger. Om symboliska länkar finns, kommer de att konverteras till skript kod för att återskapa dem när paketet är installerat. Denna kod kommer att läggas till den primära installations skriptet (install/doinst.sh), eller, om detta skript inte existerar kommer den att skapas med detta innehåll. Paketet kommer att skrivas ut till filen paketnamn som bör vara fullständigt namn, inklusive filändelse. Detta är oftast .tgz, men .tbz, .tlz och .txz accepteras också. De rätta komprimeringsverktygen (gzip, bzip2, lzma eller xz) måste vara installerat på maskinen.

ALTERNATIV

-l, --linkadd y|n
    Om y, lägg till symboliska länkar funna till installationsskriptet (doinst.sh) och ta bort dem. Detta är den rekommenderade åtgärden. Om det här alternativet inte används, kommer makepkg att fråga om symboliska länkar hittas.

-p, --prepend
    Om det här alternativet ges, då eventuella symboliska länkar som läggs till doinst.sh kommer att läggas till i början av det befintliga skriptet. Detta är användbart för paket som innehåller delade bibliotek som måste länkas först eftersom programmen kommer att använda dem senare i doinst.sh skriptet.

-c, --chown y|n
    Om y, kommer makepkg återställa alla katalogbehörighet till 755 och ägande till root:root. I allmänhet bör du ha behörigheter och ägarskap utarbetat själv, så att förlitar sig på att sätta detta alternativ till y är något slarvigt. Det är inte standard. Om ett alternativ inte finns, kommer makepkg att fråga.

INSTALLATIONS-SKRIPT
Det finns 3 typer av installationsskript som stöds i Slackware paketsystem.

Den första är
    primära installationsskript. Detta finns i katalogen ./install och måste ha namnet doinst.sh för att kännas igen. Detta (och andra installationsskript) bör skrivas med den grundläggande Bourne shell syntax som känns igen av ash skalet, eftersom det är detta skal som kommer att användas för att köra skriptet vid installation från en Slackware installations diskett. Detta är en vanlig fälla - akta dig för att använda bash syntaxtillägg, eftersom skriptet kommer att fungera bra när den installeras från hårddisken, men kommer att bomba ut när de installeras från diskett. Om förpackningen är för personligt bruk, är detta inte ett problem. Var dock försiktig, om du planerar att dela ditt paket med andra användare. Det primära installationsskriptet körs omedelbart efter att paketet är installerat med installpkg, pkgtool, eller setup.

Den andra typen av skript är
    konfiguration skript. Detta finns i katalogen ./var/log/setup och måste ha ett namn som börjar med setup. För att kunna kännas igen. Ett exempel är tidszons-skriptet: /var/log/setup/setup.timeconfig. Dessa skript körs under CONFIGURE fasen av setup, och körs igen varje gång användaren kör CONFIGURE alternativet från setup. Typiskt kommer användaren att gå igenom denna fas av installationen efter installation av alla paket. Något som måste vara interaktiv bör gå i en av dessa skript för att undvika att stoppa paketinstallationsprocessen under installationen.

Den tredje typen av skript är
    onlyonce skript. Precis som namnet antyder utförs dessa endast en gång efter att paketet har installerats, i motsats till de vanliga configuration skripten. Dessa skript finns också i ./var/log/setup katalogen och måste ha ett namn som börjar med setup., Dessutom måste namnet innehålla strängen onlyonce. Ett exempel kan vara ett skript med namnet /var/log/setup/setup.onlyonce.testscript

PAKETFORMAT
makepkg använder GNU tar plus GNU gzip för att skapa sina paket. Ett enkelt sätt att extrahera innehållet i en förpackning (utan att köra installationsskript, förstås) är att använda ett kommando som det här:

explodepkg paket.tgz

Eller, något som detta:

gzip -dc paket.tgz | tar xvvf -

FÖRFATTARE
Patrick J. Volkerding <volkerdi@slackware.com>

SE OCKSÅ
installpkg(8), explodepkg(8), removepkg(8), pkgtool(8), upgradepkg(8)