<!-- keep this as a security measure: * Set ALLOWTOPICCHANGE = Main.TWikiAdminGroup,Main.LCGAdminGroup * Set ALLOWTOPICRENAME = Main.TWikiAdminGroup,Main.LCGAdminGroup #uncomment this if you want the page only be viewable by the internal people #* Set ALLOWTOPICVIEW = Main.TWikiAdminGroup,Main.LCGAdminGroup --> KeyWords: SysAdmin, [[Solaris]] ---+ Notes on Creating Solaris packages I make this note as a reminder of the correct incantation of the Solaris 10 commands to make a package in _datastream_ (i.e., file) format. Follow the instructions in [[http://www.ibiblio.org/pub/packages/solaris/sparc/html/creating.solaris.packages.html Creating Solaris Packages]] to prepare the files required by the ==pkgmk== command to actually build the software package. The actual package is built with the command: <verbatim> pkgmk -o -r `pwd` -d /tmp/ -f prototype </verbatim> Caveat: * The =-r `pwd`= switch tells ==pkgmk== to use the base directory =`pwd`= for resolving any relative pathname in the =prototype= file; that is, the files included in the package will be those under the =`pwd`= tree. This is the behaviour you expect if you are used to Linux software packaging. Using =-r /= as advised by Solaris packaging guides will include in the package the files that are actually copied from the =/= filesystem, i.e., the live running system! * The =-d /tmp= switch tells ==pkgmk== to put the generated package _directory_ in =/tmp=. If you have your package sources (the files to be packaged) under /tmp/packagename, then you are asking for trouble. Solaris packages come in two formats: the _filesystem_ format (all files in the package are grouped in a directory tree), and the _datastream_ format (all files are packed into an archive file, similarly to what is customary in Linux). The ==pkgtrans== command is used to convert from one format to the other. The ==pkgmk== utility will generate packages in filesystem format; the correct incantation to convert it to datastream format is as follows: <verbatim> pkgtrans -n -s /tmp /tmp/CSCSsmf-cfengine-1.1.3.pkg CSCSsmf-cfengine </verbatim> Caveat: * Option =-s= specifies that ==pkgtrans== converts _to_ a datastream package * Option =-n= specifies that the destination file is created if it does not exist. * First argument =/tmp= specified the directory the source package(s) should be searched for in. * Second argument (=/tmp/CSCSsmf-cfengine-1.1.3.pkg=) specifies the _destination_ package datastream * Third (and following, if any) arguments specify the source package _names_, which are searched for in the directory specified as first argument. -- Main.RiccardoMurri - 05 Nov 2008 ---++ References * [[http://www.ibiblio.org/pub/packages/solaris/sparc/html/creating.solaris.packages.html Creating Solaris Packages]] * [[http://docs.sun.com/app/docs/doc/806-0624/6j9vek5d0?a=view pkgmk man page]] * [[http://docs.sun.com/app/docs/doc/816-5165/pkgtrans-1?l=en&a=view&q=pkgtrans pkgtrans man page]] ---++ Readers' comments %COMMENT{type="below"}%
This topic: LCGTier2
>
WebHome
>
PhoenixClusterBlog
>
PhoenixBlog20081105x0950
Topic revision: r1 - 2008-11-05 - RiccardoMurri
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback