Darren Tucker
2002-Mar-02 04:55 UTC
Support for AIX native (.bff) packages: patch available
Hello All, I've written basic support for creating AIX native packages (ie installp/SMIT installable .bff's) that lives in contrib/aix. It is based on Ben Lindstrom's Solaris buildpkg.sh. It requires no special tools and all code was either written by me or derived from the openssh distribution itself. It is made available under the same terms as buildpkg.sh (ie public domain). There's still some rough edges but it works for me. The script has been tested on AIX 4.2.1 and the resulting package installs on 4.2.1 and 4.3.3. My intention is to get it merged into the OpenSSH portable distribution once it's in a fit condition. I'm very interested in feedback and suggestions to improve the quality and suitablity for inclusion. The (~12 KB) patch can be downloaded from : http://www.zip.com.au/~dtucker/openssh-3.0.2p1-aixbff.patch http://home.usf.advantra.com.au/~dtucker/openssh-3.0.2p1-aixbff.patch -Daz.
Ben Lindstrom
2002-Mar-02 16:43 UTC
Support for AIX native (.bff) packages: patch available
Nice. However since it has a lot of fixed information (unlike the Solaris' package) you are going to have to be willing to maintain it or convert it to a pure dynamic system. That was the main reason why the Solaris buildpkg.sh was rewritten to ensure that I did not have to muck with it very offen. =) However, if you are willing to ensure it is up-to-date on future releases I'd be happy to include it. - Ben On Sat, 2 Mar 2002, Darren Tucker wrote:> Hello All, > I've written basic support for creating AIX native packages (ie installp/SMIT installable .bff's) that lives in contrib/aix. It is based on Ben Lindstrom's Solaris buildpkg.sh. It requires no special tools and all code was either written by me or derived from the openssh distribution itself. It is made available under the same terms as buildpkg.sh (ie public domain). > > There's still some rough edges but it works for me. The script has been tested on AIX 4.2.1 and the resulting package installs on 4.2.1 and 4.3.3. My intention is to get it merged into the OpenSSH portable distribution once it's in a fit condition. > > I'm very interested in feedback and suggestions to improve the quality and suitablity for inclusion. > > The (~12 KB) patch can be downloaded from : > http://www.zip.com.au/~dtucker/openssh-3.0.2p1-aixbff.patch > http://home.usf.advantra.com.au/~dtucker/openssh-3.0.2p1-aixbff.patch > > -Daz. > _______________________________________________ > openssh-unix-dev at mindrot.org mailing list > http://www.mindrot.org/mailman/listinfo/openssh-unix-dev >
Ben Lindstrom
2002-Mar-02 18:07 UTC
Support for AIX native (.bff) packages: patch available
Since I don't have AIX I can't test this. But this is a quick script to automate building your inventory file. If I knew what type of checksum it wanted I would throw the code in (see attachment). However, you should beable to extract out the $PREFIX by doing like: PREFIX=`grep "^prefix=" Makefile | cut -d = -f 2` And the script should be pretty much be automated. Allowing the package builder to build to their --prefix targed location. We are getting close to 3.1 release.. so I think this will have to go in at the start of 3.2. Unless Damien and Markus think that this is an non-issue and I'll important the current version now. - Ben -------------- next part -------------- find fake/ -ls | awk '{\ if (NR != 1) {\ ## Encode permissions in oct u=0; g=0; o=0;\ if (substr($3,2,1) == "r") u=u+4;\ if (substr($3,3,1) == "w") u=u+2;\ if (substr($3,4,1) == "x") u=u+1;\ if (substr($3,5,1) == "r") g=g+4;\ if (substr($3,6,1) == "w") g=g+2;\ if (substr($3,7,1) == "x") g=g+1;\ if (substr($3,8,1) == "r") o=o+4;\ if (substr($3,9,1) == "w") o=o+2;\ if (substr($3,10,1) == "x") o=o+1;\ ## Start to display inventory information print substr($11, 5, length($11) - 1)":";\ print "\tclass=apply,inventory,openssh";\ print "\towner=root";\ print "\tgroup=system";\ print "\tmode="u""g""o;\ if (substr($3, 0, 1) == "-") { ## Entry is File print "\ttype=FILE";\ print "\tsize="$7;\ ## One should system() out do a checksum print "\tchecksum=VOLATILE";\ } else if (substr($3, 0, 1) == "l") { \ ## Entry is SymLink print "\ttype=SYMLINK";\ print "\ttarget="$13;\ } else {\ ## Entry Assumed (wrongly?) Directory print "\ttype=DIRECTORY";\ }\ }\ }'