Megoldva!! Solaris 10 x86 package keszites

Hali,

valamit nagyon elrontok, de biztos annyira egyszeru, hogy kiveri a szemem, ezert nem is latom.


battila@:~/BATapp$ ls -al
total 12
drwxr-xr-x   2 battila  people         5 Nov 10 12:54 .
drwxr-xr-x   7 battila  people         9 Nov 10 12:54 ..
-rwxr-xr-x   1 battila  people        44 Nov 10 12:42 HelloVilag
-rw-r--r--   1 battila  people        88 Nov 10 12:48 pkginfo
-rw-r--r--   1 battila  people        63 Nov 10 12:52 prototype
battila@:~/BATapp$ cat pkginfo 
PKG=BATapp
NAME=test app
VERSION=10
ARCH=x86
CLASSES=none
CATEGORY=utility
BASEDIR=/opt
battila@:~/BATapp$ cat prototype 
i pkginfo
i checkinstall
f none HelloVilag 0755 battila people
battila@:~/BATapp$ pkgmk 
## Building pkgmap from package prototype file.
ERROR in prototype:
    no object for <checkinstall> found in search path
pkgmk: ERROR: unable to build pkgmap from prototype file
## Packaging was not successful.
battila@:~/BATapp$ 

Ugy nez ki, hogy csak akkor zavarja, ha az allomanyon rajta van a vegrehajtasi jog.

Mit rontok el?

szerkesztes: megsem, mindig zavarja.

Megoldas: a -b kapcsolo hasznalata az uj csomag gyokereben. Tehat jelen esetben a -b ${PWD}

Hozzászólások

Hello,

A man pkgmk nekem azt mondja -f prototype mondja meg a prototype file-omat.
Kipróbálod?

Üdv

Kicst jatszottam, es ugy nez ki, hogy megvan. Csak nem ertem:)

Szoval, ha a csomag gyokerebe berakom az allomanyt, akkor orul es boldog. Ha nem rakom be, csak a helyere, akkor hisztizik:


$ find .
.
./bin
./bin/HelloVilag
./Makefile
./HelloVilag
./prototype
./pkginfo
$

$ cat Makefile 

PKG=BATapp
#possible ARCH values are i386, sparc, all
ARCH=all
PKGFILE=$(PKG)-$(ARCH).pkg

pkg:
        pkgmk -o -d /tmp -a $(ARCH)
        touch $(PKGFILE)
        pkgtrans -s /tmp $(PKGFILE) $(PKG) 
        rm -r /tmp/$(PKG)
        @echo check current directory for .pkg files

$
$ cat pkginfo 
PKG=BATapp
NAME=test app
VERSION=10
ARCH=x86
CLASSES=none
CATEGORY=utility
BASEDIR=/opt
$
$ cat prototype 
i pkginfo
!default 0755 root bin
d none bin ? ? ?
f none bin/HelloVilag ? ? ?
$
$ /usr/sfw/bin/make pkg
pkgmk -o -d /tmp -a all
## Building pkgmap from package prototype file.
## Processing pkginfo file.
WARNING: parameter <PSTAMP> set to "cs-infra-mail-t20141110141609"
## Attempting to volumize 2 entries in pkgmap.
part  1 -- 36 blocks, 7 entries
## Packaging one part.
/tmp/BATapp/pkgmap
/tmp/BATapp/pkginfo
/tmp/BATapp/reloc/bin/HelloVilag
## Validating control scripts.
## Packaging complete.
touch BATapp-all.pkg
pkgtrans -s /tmp BATapp-all.pkg BATapp 
Transferring <BATapp> package instance
rm -r /tmp/BATapp
check current directory for .pkg files
$
$ ls -la *.pkg
-rw-r--r--   1 battila  people      2560 Nov 10 14:16 BATapp-all.pkg
$
$ /usr/sbin/pkgchk -d BATapp-all.pkg BATapp
Checking uninstalled stream format package <BATapp> from </export/home/battila/HelloVilag/BATapp-all.pkg>
## Checking control scripts.
## Checking package objects.
## Checking is complete.
$

$ rm BATapp-all.pkg HelloVilag 
$ /usr/sfw/bin/make pkg
pkgmk -o -d /tmp -a all
## Building pkgmap from package prototype file.
ERROR in prototype:
    no object for <bin/HelloVilag> found in search path
pkgmk: ERROR: unable to build pkgmap from prototype file
## Packaging was not successful.
make: *** [pkg] Error 1
$

Nem lehet, hogy valami keresesi utvonal nincs jol beallitva? Tehat nem is talalja az allomanyt a helyen?

Kovetkezo erdekesseg, amit szinten nem vartam a doksik olvasgatasa alapjan (biztos kihagytam valamit):


$ mv bin/HelloVilag ./
$ ls -la bin/
total 6
drwxr-xr-x   2 battila  people         2 Nov 10 14:19 .
drwxr-xr-x   3 battila  people         8 Nov 10 14:19 ..
$
$ /usr/sfw/bin/make pkg
pkgmk -o -d /tmp -a all
## Building pkgmap from package prototype file.
## Processing pkginfo file.
WARNING: parameter <PSTAMP> set to "cs-infra-mail-t20141110141953"
## Attempting to volumize 2 entries in pkgmap.
part  1 -- 36 blocks, 7 entries
## Packaging one part.
/tmp/BATapp/pkgmap
/tmp/BATapp/pkginfo
/tmp/BATapp/reloc/bin/HelloVilag
## Validating control scripts.
## Packaging complete.
touch BATapp-all.pkg
pkgtrans -s /tmp BATapp-all.pkg BATapp 
Transferring <BATapp> package instance
rm -r /tmp/BATapp
check current directory for .pkg files

Amiket neztem idaig:
http://www.bolthole.com/solaris/makeapackage.html
http://www.shrubbery.net/solaris9ab/SUNWdev/PACKINSTALL/p4.html#CH2BUIL…

Nem lehet, hogy ott tevedtem el, hogy valami base root-ot kellene neki megadnom? Mert o most szerencsetlen nem is ott keresi, ahova raktam?