Vaříme IPS balíčky s PKGBuildem

Obrázek uživatele Kenji

Nejprve si nainstalujeme SunStudio a GCC kompilátory a pár dalších nástrojů.

pfexec pkg install sunstudio SUNWgcc SUNWsvn SUNWxorg-headers SUNWxwinc SUNWsfwhea SUNWgit SUNWaconf SUNWgnu-automake-110 SUNWgnu-automake-19 SUNWbison SUNWflexlex SUNWgnu-gettext SUNWlibtool SUNWgmake

IPS nejsou balíčky v pravém slova smyslu, proto abychom mohli instalovat balíček, pokud tedy chceme vytvářet IPS balíčky namísto SRV4, musíme mít nejprve vlastní repozitář.

pfexec svcadm enable pkg/server
pfexec pkg set-authority -O http://localhost mypkgs

Pak nainstalujeme JDS CBE (Desktop Common Build Environment), což jsou nástroje, nutné ke zpracovávání SPEC souborů a vytváření vlastních balíčků (IPS i SVR4). Musíme mít oprávnění Primary Administrator nebo Software Installation.

svn co svn+ssh://anon@svn.opensolaris.org/svn/jds/jds-cbe/trunk jds-cbe
cd jds-cbe
./cbe-install

A projdeme instalačním průvodcem. Instalační adresář necháme defaulní a to /opt/dtbld.
Pak bychom měli vždy načíst soubor /opt/dtbld/bin/env.sh, který nám vytvoří správné prostředí pro používání CBE. Sám se nám načte např. tak, že do ~/.profile, ~/.bashrc nebo ~/.zshrc vložíme řádek:

source /opt/dtbld/bin/env.sh

Tím jsme zapnuli vlastní IPS server a přidali si ho do seznamu repozitářů, takže z něj budeme moci instalovat software (samozřejmě až tam nějaký budeme mít).
Teď bychom měli být připraveni na sestavování vlastních balíčků, takže si sosneme repozitář s recepty, SFE (Source-Files Extra), tedy SPEC soubory.

a hned si něco uvaříme, třeba GNUPG (GNU Privacy Guard).

pkgtool build --download --interactive SFEgnupg.spec

a potom nainstalujeme...
pfexec pkg install SFEgnupg

Kromě --download a --interactive direktiv můžeme použít ještě třeba --autodeps, kdy se pkgtool pokusí automaticky najít a nainstalovat i závislosti. Direktivita --interactive způsobí, že výstup kompilace se zobrazí na terminálu. Pokud bychom ji nepoužili, výstup by se ukládal do /tmp/SFEgnupg.log a výstup bychom mohli sledovat například takto:

tail -f /tmp/SFEgnupg.log

Přeji dobrou chuť :-)

Errory pri instalaci cbe

Ahoj,

nepotkali jste nekdo pri instalaci vyse zmineneho (BTW skvely clanek)
Neni mi moc jasne jestli je to nejaky fatalni error nebo jestli se to da ignorovat.

pkgparam: ERROR: unable to locate parameter information for "SUNWcar"
pkgparam: ERROR: unable to locate parameter information for "SUNWkvm"

Honza

Tuším, že chyba fatální není.

Obrázek uživatele Kenji

Tuším, že chyba fatální není. Dostal jsem stejné chyby a CBE funguje, takže to klidně ignoruj.

Drobnost

SUNWsfwha -> SUNWsfwhea

A diky za vyborny clanek :-)

Díky, opraveno ;)

Díky, opraveno ;)