MAKEPKG(8)

NAVN
makepkg - lag Slackware pakker.

SAMMENDRAG
makepkg [ -l, --linkadd y|n ] [ -c, --chown y|n ] pakkenavn

BESKRIVELSE
makepkg lager en ny Slackware kompatibel pakke. Pakken lages med innholdet i den gjeldende filkatalogen og alle dets undermapper. Hvis symbolske lenker ligger her vil de bli konvertert til en skript kode som gjenskaper dem når pakken installeres. Denne koden legges til i hoved installasjons skriptet ( install/doinst.sh ), eller hvis dette skriptet ikke eksisterer, vil det bli opprettet med disse instruksene. Pakken vil lagres som filen pakkenavn, som bør være et komplett filnavn inkludert filendelse. Filendelsen er vanligvis .tgz men .tbz, .tlz og .txz er også tillatt. PS! Komprimeringsverktøyet som benyttes (gzip, bzip2, lzma eller xz) må være installert på maskinen.

VALGMULIGHETER

-l, --linkadd y|n
    Hvis 'y', legg til symbolske lenker i installasjons skriptet (doinst.sh) og slett deretter filene. Dette er den anbefalte fremgangsmåten. Uten dette vil makepkg spørre brukeren om instrukser hvis det kommer over symbolske lenker.

-p, --prepend
    Med dette valget vil symbolske lenker bli lagt til i starten av doinst.sh skriptet. Dette er nyttig for pakker som inneholder delte biblioteker som trenger å linkes tidlig i installasjons skriptet fordi progammer trenger dem senere under installasjonen.

-c, --chown y|n
    Hvis 'y', vil makepkg resette alle filkataloger med tilgangsrettighetene "755" og eierskap "root:root". Generelt sett bør du sortere ut disse tilgangsrettighetene manuelt, det er derfor litt slurvete å benytte seg av dette valget. Dette er ikke standard. Hvis du ikke spesifiserer noe alternativ vil makepkg spørre brukeren om instrukser.

INSTALLASJONS SKRIPT
I pakke systemet til Slackware støttes 3 forskjellige typer installasjons skript.

Den første er
    hoved installasjons skriptet. Denne ligger i undermappen ./install og må ha filnavnet doinst.sh. Dette (og andre installasjons skript) bør skrives med standard 'Bourne shell' syntaks og gjenkjennes av terminal programmet ash, dette programmet brukes for å kjøre skriptet når man installerer fra en diskett. PS! Typisk feiltrinn; vær forsiktig med å bruke ustandard syntakstillegg fra bash, skriptet vil fungere fint når det kjøres fra harddisken, men vil krasje hvis det kjøres fra en diskett. Dette er ikke et problem hvis pakken er kun til personlig bruk. Men vær oppmerksom på dette hvis du har tenkt å dele pakken med andre. hoved installasjons skriptet kjøres rett etter at pakken er installert med installpkg, pkgtool, eller setup.

Den andre skript typen er
    konfigurasjons skriptet. Denne ligger i undermappen ./var/log/setup og må ha et filnavn som starter med setup.. F.eks heter skriptet for konfigurasjon av tidssone: /var/log/setup/setup.timeconfig. Disse skriptene kjøres under KONFIGURASJON fasen i setup, og kjøres på nytt hver etterfølgende gang brukeren velger KONFIGURASJON i setup igjen. Vanligvis vil brukeren gå igjennom denne fasen i setup etter å ha installert alle Slackware pakkene. Derfor bør alle interaktive funksjoner puttes i et slikt skript for ikke å avbryte flyten under installasjon av Slackware.

Den tredje skript typen er
    engangs skript. Som navnet tilsier kjøres disse bare en gang etter at pakken er installert, i motsetning til et standard konfigurasjons skript. Disse engangs skriptene ligger også i ./var/log/setup og må ha et filnavn som begynner med setup., men i tillegg til dette må navnet inneholde tekststrengen onlyonce. F.eks /var/log/setup/setup.onlyonce.testscript

PAKKEFORMAT
makepkg bruker GNU versjonene av tar og gzip for å lage pakkene. En enkel måte å pakke ut innholdet (uten å bruke installasjons skriptene naturligvis) er å kjøre en kommando som f.eks:

explodepkg pakke.tgz

Eller:

gzip -dc pakke.tgz | tar xvvf -

PROGRAMMERER
Patrick J. Volkerding <volkerdi@slackware.com>

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