générer des rpms sous AIX

Creation: 06 decembre 2014
Mise à jour:
Version: 1.0
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2014 Jean-Louis BICQUELET-SALAÜN

créer un rpm sous AIX

Le répertoire de génération des rpms par défaut sous AIX est /opt/freeware/src/packages.

  1. On va donc éditer le fichier epm.spec dans le répertoire /opt/freeware/src/packages/SPECS.

    Celui-ci va ressembler à ceci:

    Name: epm
    Version: 4.2
    Release: 0
    License: 1999-2007 by Easy Software Products, All Rights Reserved.
    Packager: root@sxtaix61.intranet
    Vendor: Easy Software Products
    Summary: ESP Package Manager
    Group: Applications
    %description
    Universal software packaging tool for UNIX.
    %files
    %attr(0555,root,sys) "/usr/bin/epm"
    %attr(0555,root,sys) "/usr/bin/epminstall"
    %attr(0555,root,sys) "/usr/bin/mkepmlist"
    %package documentation
    Summary: ESP Package Manager - Documentation
    Group: Applications
    %description  documentation
    Documentation
    %files documentation
    %attr(0444,root,sys) "/usr/share/doc/epm/COPYING"
    %attr(0444,root,sys) "/usr/share/doc/epm/README"
    %attr(0444,root,sys) "/usr/share/doc/epm/epm-book.html"
    %package man
    Summary: ESP Package Manager - Man pages
    Group: Applications
    %description  man
    Man pages
    %files man
    %attr(0444,root,sys) "/usr/share/man/man1/epm.1"
    %attr(0444,root,sys) "/usr/share/man/man1/epminstall.1"
    %attr(0444,root,sys) "/usr/share/man/man1/mkepmlist.1"
    %attr(0444,root,sys) "/usr/share/man/man5/epm.list.5"
    

  2. on va recopier en conservant l'arborescence les fichiers dans /opt/freeware/src/packages/BUILD.

    La structure va ressembler par exemple à :

    usr/bin
    usr/man/man
    usr/share/doc
    usr/share/man
    

    On génère le rpm avec la commande rpm -bb

    #rpm -bb /opt/freeware/src/packages/SPECS/epm.spec
    Processing files: epm-4.2-0
    Finding  Provides: (using /opt/freeware/lib/rpm/find-provides)...
    Finding  Requires: (using /opt/freeware/lib/rpm/find-requires)...
    Requires: libc.a(shr.o)
    Processing files: epm-documentation-4.2-0
    Finding  Provides: (using /opt/freeware/lib/rpm/find-provides)...
    Finding  Requires: (using /opt/freeware/lib/rpm/find-requires)...
    Processing files: epm-man-4.2-0
    Finding  Provides: (using /opt/freeware/lib/rpm/find-provides)...
    Finding  Requires: (using /opt/freeware/lib/rpm/find-requires)...
    Wrote: /opt/freeware/src/packages/RPMS/ppc/epm-4.2-0.aix6.1.ppc.rpm
    Wrote: /opt/freeware/src/packages/RPMS/ppc/epm-documentation-4.2-0.aix6.1.ppc.rpm
    Wrote: /opt/freeware/src/packages/RPMS/ppc/epm-man-4.2-0.aix6.1.ppc.rpm
    

    Le ou les rpms qui en résulte se trouve dans le répertoire RPM/architecture. Dans le cas qui nous interesse RPM/ppc

    vérification du rpm généré

    On peut vérifier un rpm avant installation. Pour celà, on liste les informations suivantes:

    1. la liste des fichiers qui vont être installés

      #rpm  -qpl epm-4.2-0.aix6.1.ppc.rpm
      /usr/bin/epm
      /usr/bin/epminstall
      /usr/bin/mkepmlist
      

    2. la description du package

      #rpm  -qpi  epm-4.2-0.aix6.1.ppc.rpm
      Name        : epm                          Relocations: (not relocateable)
      Version     : 4.2                               Vendor: Easy Software Products
      Release     : 0                             Build Date: Fri Dec  5 12:13:10 NFT 2014
      Install date: (not installed)               Build Host: sxtaix61.intranet
      Group       : Applications                  Source RPM: epm-4.2-0.src.rpm
      Size        : 375506                           License: 1999-2007 by Easy Software Products, All Rights Reserved.
      Packager    : root@sxtaix61.intranet
      Summary     : ESP Package Manager
      Description :
      Universal software packaging tool for UNIX.
      

    3. les dépendances liées au package

      #rpm --requires -qp epm-4.2-0.aix6.1.ppc.rpm
      libc.a(shr.o)
      

    4. afficher les scripts de pré et de post installation si ils existent

      rpm --scripts -qp epm-4.2-0.aix6.1.ppc.rpm
      

      Ici il n'y en a pas.

    5. extraire le contenu du rpm

      #opt/freeware/bin/cpio -idvmv                
      usr/bin/epm
      usr/bin/epminstall
      usr/bin/mkepmlist
      735 blocks
      

      On créé alors un répertoire avec toute l'arborescence des fichiers contenus dans le rpm. 735 blocks

    installation du rpm

    1. installation du package

      #rpm -Uvh epm-4.2-0.aix6.1.ppc.rpm
      epm                         ##################################################
      

      L'option U effectue l'update du package même si celui-ci n'existe pas. On peut aussi utiliser l'option i pour l'installation initiale.

    2. pour lister les packages installés

      #rpm -qa
      

    3. pour lister les fichiers installés pour un package donné

      #rpm -ql epm-man-4.2-0
      /usr/share/man/man1/epm.1
      /usr/share/man/man1/epminstall.1
      /usr/share/man/man1/mkepmlist.1
      /usr/share/man/man5/epm.list.5
      

    4. pour obtenir la description d'un package installé

      #rpm -qi epm
      Name        : epm                          Relocations: (not relocateable)
      Version     : 4.2                               Vendor: Easy Software Products
      Release     : 0                             Build Date: Fri Dec  5 12:13:10 NFT 2014
      Install date: Fri Dec  5 12:56:06 NFT 2014      Build Host: sxtaix61.intranet
      Group       : Applications                  Source RPM: epm-4.2-0.src.rpm
      Size        : 375506                           License: 1999-2007 by Easy Software Products, All Rights Reserved.
      Packager    : root@sxtaix61.intranet
      Summary     : ESP Package Manager
      Description :
      Universal software packaging tool for UNIX.
      

    5. pour lister les fichiers installés pour un package donné

      #rpm -qf /usr/share/man/man1/epm.1
      epm-man-4.2-0
      

    6. pour désinstaller un package

      #rrpm -e epm
      

      #ls -ltr /opt/freeware/src/packages/RPMS/ppc/
      total 392
      -rw-r--r--    1 root     system         7214 Dec 05 12:13 epm-man-4.2-0.aix6.1.ppc.rpm
      -rw-r--r--    1 root     system        41914 Dec 05 12:13 epm-documentation-4.2-0.aix6.1.ppc.rpm
      -rw-r--r--    1 root     system       146070 Dec 05 12:13 epm-4.2-0.aix6.1.ppc.rpm
      

    créer des rpms sous AIX