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";\
}\
}\
}'