Admin/solaris
Solaris
У нас используется OpenSolaris Indiana svn_86.
Скрипт использует subst из altlinux-build-compat
- FTN build##
- FTN pkg-get##
- FTN pkg##
Сборка пакетов
http://www.sunhelp.ru/archives/85-Kak_sozdat_paket_v_Solaris.html
Итак, вы скомпилировали свою собственную программу для Solaris и хотите создать установочный пакет. Делается это просто: предположим, что ваша программа называется MyApp и все необходимые файлы лежат в директории /opt/MyApp:
# cd /opt; ls -l MyApp/ total 16 drwxr-xr-x 2 root root 69 мая 22 13:42 bin drwxr-xr-x 2 root root 69 мая 22 13:42 lib
В bin лежат бинарники, в lib - библиотеки. Вы можете создать также man-страницы, можете вообще расположить ваши исполняемые файлы, скажем, в /usr/sbin или /usr/local/sbin, а библиотеки и документацию также положить в соответствующие директории Solaris. Словом, все файлы должны лежать в тех директориях, где вы хотели бы чтобы они находились после установки пакета. В нашем случае для примера весь пакет должен устанавливаться в директорию /opt/MyApp.
Далее идем в /tmp и создаем необходимые файлы:
# cd /tmp # echo 'i pkginfo' > prototype # pkgproto /export/home/ivanov/MyApp >>prototype
Файл prototype содержат все пути к вашим файлам.
Далее создаем файл pkginfo со следующим содержимым:
BASEDIR=/opt/MyApp TZ=PST PATH=/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin PKG=MyApp ARCH=здесь указываем - sparc или x86 NAME=myapp VERSION=1.0 CATEGORY=application DESC=Краткое описание программы VENDOR=Ivanov Ivan Ivanovich EMAIL=ivanov@mail.ru PKGSAV=/var/sadm/pkg/MyApp/save
Теперь создаем пакет:
# pkgmk -d /tmp -r /
Можно конечно дать и полную команду :
# pkgmk -d /tmp -b /opt/MyApp BASEDIR=/opt/MyApp"
Затем:
# pkgtrans -s /tmp MyApp.pkg
Для блеска можно еще и сжать пакет:
# pkgtrans -s /tmp /dev/fd/1 MyApp.pkg | gzip >/tmp/MyApp.pkg.gz
PKG-GET
Установка пакетов из свободного репозитория
- pkgadd -d http://www.opencsw.org/pkg_get.pkg
Они ставятся в /opt/csw, поэтому:
export PATH=/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/opt/csw/bin:/opt/csw/sbin:
или например
/opt/csw/bin/pkg-get install mc
* http://www.bolthole.com/solaris/pkg-get.html
* http://www.opencsw.org/pkg-get
PKG
Включен в дистрибутив, но на всякий случай
1. Obtain the IPS pkg client:
% hg clone ssh://anon@hg.opensolaris.org/hg/pkg/gate
2. Build and install IPS
% cd gate/src % make % make install % su # make link
3. Add the repository.
# pkg image-create -F -a webstack=http://pkg.opensolaris.org/ /
SUNWhea -- SunOS Header Files
FSWxorg-headers -- Additional X.Org Foundation X11 client headers
SUNWgcc -- The GNU C compiler
SUNWgmake -- GNU make
SUNWxorg-clientlibs
SUNWflexlex
SUNWbison
SUNWwget
SUNWgtar
SUNWarc
pkg install <pkg>
Сборка на свободном репозитории
Устанавливал с помощью pkg-get install:
gcc4core
bintutils
И через pkg install:
SUNWarc
(для линковки)
В /etc/profile уставлены след. пути:
export PATH=/opt/csw/bin:/opt/csw/gcc4/bin:/opt/csw/i386-pc-solaris2.8/bin:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin
Обновление
- pfexec pkg refresh
- pfexec pkg image-update
Состояние
Конфигурирование проходит без:
configure: libXxf86vm development files not found, XFree86 Vidmode won't be supported.
configure: libxrandr development files not found, XRandr won't be supported.
configure: libGLU development files not found, GLU won't be supported.
configure: libhal development files not found, no dynamic device support.
configure: libsane development files not found, scanners won't be supported.
configure: libcapi20 development files not found, ISDN won't be supported.
configure: libcups development files not found, CUPS won't be supported.
configure: libldap (OpenLDAP) development files not found, LDAP won't be supported.