= Porting on HP-UX = == HP-UX packages == [http://bizsupport1.austin.hp.com/bc/docs/support/SupportManual/c02029174/c02029174.pdf Software Package Builder 7.0 User's Guide] [http://bizsupport1.austin.hp.com/bc/docs/support/SupportManual/c02023876/c02023876.pdf Software Distributor Administration Guide] == Port from scratch == These notes are taken as the HP-UX 11.23 port is occuring * Working on a pre-installed HP-UX machine * Download the source of project-builder.org {{{ $ wget ftp://ftp.project-builder.org/src/project-builder-latest.tar.gz $ wget ftp://ftp.project-builder.org/src/ProjectBuilder-latest.tar.gz }}} * Extract the sources {{{ $ gzip -cd ProjectBuilder-latest.tar.gz | tar xf - $ gzip -cd project-builder-latest.tar.gz | tar xf - }}} * Install the project {{{ $ cd ProjectBuilder-0.10.1/ $ perl Makefile.PL $ make $ sudo make install $ cd ../project-builder-0.10.1/ $ perl Makefile.PL $ make $ sudo make install }}} * Test that project-builder is installed and working correctly * Build project-builder.org with itself to create native packages {{{ $ echo > ~/.pbrc << EOF pburl pb = svn+ssh://bruno@mondo.hpintelco.net/mondo/svn/pb pbconfurl pb = svn+ssh://svn.project-builder.net/mondo/svn/pb/pbconf pbdefdir default = $ENV{'HOME'}/pb/projects pbdefdir pb = $ENV{'HOME'} pbconfdir pb = $ENV{'HOME'}/pb/pbconf EOF $ pb -p pb -r devel cms2pkg [...] }}} == Make depot for HP-UX software distribution == * Create control files for ProjectBuilder {{{ # vi postinstall "postinstall" 11 lines, 860 characters #!/usr/bin/sh export PATH=/opt/perl_32/bin pod2man --section=1 $SOURCELOC/bin/pbdistrocheck > /opt/perl_32/man/man1/pbdistrocheck.1 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Base.pm > /opt/perl_32/man/man3/ProjectBuilder::Base.3 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Conf.pm > /opt/perl_32/man/man3/ProjectBuilder::Conf.3 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Display.pm > /opt/perl_32/man/man3/ProjectBuilder::Display.3 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Distrobution.pm > /opt/perl_32/man/man3/ProjectBuilder::Distrobution.3 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Log/Item.pm > /opt/perl_32/man/man3/ProjectBuilder::Item.3 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Log.pm > /opt/perl_32/man/man3/ProjectBuilder::Log.3 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Version.pm > /opt/perl_32/man/man3/ProjectBuilder::Version.3 pod2man --section=5 $SOURCELOC/etc/pb.conf.pod > /usr/local/share/man/man5/pb.conf.5 # vi postremove "postremove" 11 lines, 458 characters #!/usr/bin/sh export PATH=/usr/bin rm -f /opt/perl_32/man/man1/pbdistrocheck.1 rm -f /opt/perl_32/man/man3/ProjectBuilder::Base.3 rm -f /opt/perl_32/man/man3/ProjectBuilder::Conf.3 rm -f /opt/perl_32/man/man3/ProjectBuilder::Display.3 rm -f /opt/perl_32/man/man3/ProjectBuilder::Distrobution.3 rm -f /opt/perl_32/man/man3/ProjectBuilder::Item.3 rm -f /opt/perl_32/man/man3/ProjectBuilder::Log.3 rm -f /opt/perl_32/man/man3/ProjectBuilder::Version.3 rm -f /usr/local/share/man/man5/pb.conf.5 }}} * Create pb psf(product specification file) for ProjectBuilder {{{ # vi pb.psf "pb.psf" 41 lines, 874 characters depot layout_version 1.0 vendor tag HP description HP EMEA CME solution center title HP Intel Redhat Lab category tag package_tool description packags source code to different OS platform product tag PB architecture HP-UX_B.11.23_32/64 category package_tool # copyright /opt/perl_32/man/man1/pb.1 pod2man --section=1 $SOURCELOC/bin/pbg > /opt/perl_32/man/man1/pbg.1 pod2man --section=1 $SOURCELOC/bin/pbvi > /opt/perl_32/man/man1/pbvi.1 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Changelog.pm > /opt/perl_32/man/man3/ProjectBuilder::Changelog.3 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/CMS.pm > /opt/perl_32/man/man3/ProjectBuilder::CMS.3 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Env.pm > /opt/perl_32/man/man3/ProjectBuilder::Env.3 pod2man --section=3 $SOURCELOC/lib/ProjectBuilder/Filter.pm > /opt/perl_32/man/man3/ProjectBuilder::Filter.3 # vi postremove "postremove" 7 lines, 311 characters #!/usr/bin/sh export PATH=/usr/bin rm -f /opt/perl_32/man/man1/pb.1 rm -f /opt/perl_32/man/man1/pbg.1 rm -f /opt/perl_32/man/man1/pbvi.1 rm -f /opt/perl_32/man/man3/ProjectBuilder::Changelog.3 rm -f /opt/perl_32/man/man3/ProjectBuilder::CMS.3 rm -f /opt/perl_32/man/man3/ProjectBuilder::Env.3 rm -f /opt/perl_32/man/man3/ProjectBuilder::Filter.3 }}} * Create pb psf(product specification file) for project-builder {{{ # vi p-b.psf "p-b.psf" 41 lines, 874 characters depot layout_version 1.0 vendor tag HP depot layout_version 1.0 vendor tag HP description HP EMEA CME solution center title HP Intel Redhat Lab category tag package_tool description packags source code to different OS platform product tag p-b architecture HP-UX_B.11.23_32/64 category package_tool # copyright 0.10.1 ProjectBuilder ^ │ ││ p-b -> 0.10.1 project-builder 1 │ ││ pb -> 0.9.10 project-builder │ ││ │ ││ │ ││ │ ││ │ ││ │ ││ v │ │ <─────────────────────────────────────────────────────────────────────────>┘ │ │ │ └──────────────────────────────────────────────────────────────────────────────┘ }}} then follow the instruction to install pb project, please ignore the incompatible warning message. * to check the product of pb installed successfully by swlist command or run the command pb {{{ # swlist -l file PB # Initializing... # Contacting target "ux14230"... # # Target: ux14230:/ # # PB 0.10.1 ProjectBuilder # PB.commands /opt/perl_32/bin/pbdistrocheck /opt/perl_32/lib/5.8.8/ProjectBuilder /opt/perl_32/lib/5.8.8/ProjectBuilder/Base.pm /opt/perl_32/lib/5.8.8/ProjectBuilder/Conf.pm /opt/perl_32/lib/5.8.8/ProjectBuilder/Display.pm /opt/perl_32/lib/5.8.8/ProjectBuilder/Distribution.pm /opt/perl_32/lib/5.8.8/ProjectBuilder/Log /opt/perl_32/lib/5.8.8/ProjectBuilder/Log.pm /opt/perl_32/lib/5.8.8/ProjectBuilder/Log/Item.pm /opt/perl_32/lib/5.8.8/ProjectBuilder/Version.pm # swlist -l file p-b # Initializing... # Contacting target "ux14230"... # # Target: ux14230:/ # # p-b 0.10.1 project-builder # p-b.commands /opt/perl_32/bin/pb /opt/perl_32/bin/pbg /opt/perl_32/bin/pbvi /opt/perl_32/lib/5.8.8/ProjectBuilder /opt/perl_32/lib/5.8.8/ProjectBuilder/CMS.pm /opt/perl_32/lib/5.8.8/ProjectBuilder/Changelog.pm /opt/perl_32/lib/5.8.8/ProjectBuilder/Env.pm /opt/perl_32/lib/5.8.8/ProjectBuilder/Filter.pm # pb pb (aka project-builder.org) Version 0.10.1-1162 Usage: pb [-vhSq][-r pbroot][-p project][[-s script -a account -P port][-t os-ver-arch][-m os-ver-arch[,...]]][-g][-i iso] [ ...] pb [--verbose][--help][--man][--quiet][--snapshot][--revision pbroot][--project project][[--script script --account account --port port][--target os-ver-arch][--machine os-ver-arch[,...]]][--nographic][--iso iso] [ ...] Options: -v|--verbose Print a brief help message and exits. ... }}}