/*---------- README-rpm-3.0.3.os2  ----------------------------------------*/

                                                              

     ******   ****  ****** ******     ***** ****  *****       

     ****** ***********************   ******************      

     *******************************  *******************     

        *******  ***   *****     ****   ****   ****   ***     

        *****          ****       ***   ***    ***    ***     

        ****           ***        ****  ***    ***    ***     

        ***            ***         ***  ***    ***    ***     

        ***            ***         ***  ***    ***    ***     

        ***            ***         ***  ***    ***    ***     

        ***            ****       ****  ***    ***    ***     

        ***            *****     ****   ***    ***    ***     

    *************      *************  *******  *****  *****   

    *************      *** ********   *******  *****  *****   

    *************      ***  *****     *******  *****  *****   

                       ***                                    

                       ***                                    

                       ***                                    

                    **********                                

                    **********                   version 3.0.3

                    **********              OS/2 patch level 5

                                                    1999.10.20

                                                              

Table of contents

=================



Introduction                         @int

History of OS/2 port                 Read `CHANGES.os2'

Problems of OS/2 ported rpm          Read `PROBLEMS.os2'

Required Executables and DLLs        @req

OS/2 Note                            @os2

Installation                         @ins

IMPORTANT NOTICE                     @imp

Setup Language                       @lan

Initialize database                  @ini

Check installed rpm system           @che

Documentations                       @doc

Manpages                             @man

Sample Usage of RPM                  Read `EXAMPLE.os2'

Sample Usage of Tools                Read `EXAMPLE.os2'

Compile from Source                  @com

Make rpm package for rpm             @mak

What I want to do                    See  `TODO.os2'

Supplemental scripts                 @sup









Introduction    @int

============



  Quite a lot of OS/2 users may use Linux. But they might not be able to treat 

RedHat's RPM package as they do with "tar + gzip" archives. 

  I ported RPM version 2.5.5 for OS/2, later version 3.0.3. 

  First I intended to extract source files from RPM package. Later, I realized 

that RPM is very useful to make OS/2 distribution. Someday, I will put RPM 

package for OS/2 in my web page. 

  Not all of RPM features are available and some bugs do exist, but this copy

is suffice to unpack or make RPM package. 

  If you have questions and suggestions, please mail me. 

 





                                             SAWATAISHI Jun, YOKOHAMA JAPAN

                                                      <jsawa@attglobal.net>

                           http://www2s.biglobe.ne.jp/~vtgf3mpr/indxos2.htm





Required Executables and DLLs    @req

=============================



DLL files of zlib, gdbm, bzip2 : Included in this package



GNU cpio version 2.4.1 or later : `cpio.exe' is included (2.4.2)

     I used a patch file of OS/2 ported cpio:

        ftp://hobbes.nmsu.edu/pub/os2/util/archiver/

               gnucpio.zip  243656 1996/01/07  GNU cpio v2.4.1 archiver 

     I made a patch for 2.4.2 and included it:

               `emx\src\redhat\SOURCES\cpio-2.4.2-OS2.diff.gz'





emx runtime version 0.9d (or later): Not included

     ftp://hobbes.nmsu.edu/pub/os2/dev/emx/v0.9d/

       emxrt.zip        549675 1998/12/22  emx runtime package





OS/2 Note @os2

=========



Changes made for OS/2 file system are as follows:



1. Rpm depends on three configration file, `.rpmrc', `.rpmmacros', and

  `.popt' in the HOME directory. Original rpm reads other files too. 



2. You can set a drive to install files from RPM binary package with

   environmental variable `RPMDRV'. If RPMDRV is not set, binary rpm 

   is installed in the current drive. 



3. Rpm can handle file names with drive letters. 



4. When we install RPM binary packages, compatibility check for platform, 

   for OS, or for shared libraries are omitted. 





Installation @ins

============



1. Unzip `rpm303.zip' in some HPFS drive

    `README-rpm-3.0.3.os2'(this file) and `emx-rpm.zip' will be extracted in 

  the current directory. 



2-a. Simple installation

    If you have installed emx in drive X and your environment variable HOME 

  is "X:\emx", installation can be simple. If you'd like to install this pa-

  ckage as your own plan, read the next section "2-b". 

    

       > unzip emx-rpm -d X:\





    Now, configration files are installed in `X:\emx';

             .rpmrc

             .rpmmacros

             .popt



         executables      in `X:\emx\bin';

         DLLs             in `X:\emx\dll';

         documents        in `X:\emx\doc\rpm-3.0.3';

         C include files  in `X:\emx\include';

         C library files  in `X:\emx\lib';

         manpages         in `X:\emx\man';

         message files    in `X:\emx\share\locale';

         patch files      in `X:\emx\src\redhat\SOURCES';

             rpm-3.0.3-OS2.diff.gz ------- for rpm version 3.0.3

             bzip2-0.9.0c.OS2.diff.gz ---- for bzip2 version 0.9.0c

             cpio-2.4.2-OS2.diff.gz ------ for GNU cpio version 2.4.2

         spec file        in `X:\emx\src\redhat\SOURCES';

             rpm-3.0.3-os2.spec ---------- spec file for OS/2 ported rpm

             hello.spec ------------------ spec file for test



         RPM binary file  in `X:\emx\src\redhat\RPMS\i386';

             hello-1.0-1.i386-OS2.rpm ---- test program

         RPM source file  in `X:\emx\src\redhat\SRPMS';

             hello-1.0-1.src.rpm --------- test program





    Be sure that `X:\emx\dll' is specifiled by LIBPATH and `X:\emx\bin' by 

  environment variable PATH in your `config.sys'. If not, add these diretories

  to LIBPATH and/or PATH. 





    Add a line in your `config.sys':

    

         set GNULOCALEDIR=X:/emx/share/locale   # Do not use '\'





    If you have manpage system,  "X:\emx\man" should be included in 

  environment variable MANPATH. 





    If you don't have emx/gcc, you can delete `X:\emx\lib' and 

  `X:\emx\include'. 





    If you have installed emx/gcc, `X:\emx\lib' and `X:\emx\include' may 

   not be suitable directories. If needed, move C include files and library

   files to proper directories. 





    Edit `X:\emx\.rpmmacros':

    

       line  20:  %_usr                   g:/emx

       line  21:  %_usrsrc                %{_usr}/src

       line  22:  %_var                   g:/emx

       line  66:  %__find_provides        g:/emx/lib/rpm/find-provides

       line  67:  %__find_requires        g:/emx/lib/rpm/find-requires

       line  84:  %_signature             none

       line  88:  %_tmppath               %{_var}/tmp

       line 157:  %_prefix                g:/emx

       line 109:  #%packager



    Change "g:" to "X:". 



    If you'd like to sign rpm package using GNU gpg:



       line  84:  %_signature             gpg

                            ( Because of my poor C language ability, 

                                                PGP cannot be used. )



    If you don't like `X:\emx\tmp' as temporary directory for rpm, 

  freely change "%_tmppath" like this. 



       line  88:  %_tmppath               c:/tmp



    You should define ``packager'' as your name and email address like this. 



       line 109:  %packager  SAWAIAISHI Jun <jsawa@attglobal.net>





NOW GOTO section 3, "Set environmental variable RPMDRV"







2-b. Custom installation



    If a drive specifiled by environment variable HOME doesn't have enough 

  space, you can install files for rpm in other places. 

  

    Note that `.rpmrc', `.rpmmacros' and `popt' MUST BE INSTALLED in HOME 

  directory. 

  

    First of all, unzip `emx-rpm.zip' somewhere.

  

           y:\tmp> unzip emx-rpm.zip

           y:\tmp> cd emx

           y:\tmp\emx>

  

    Executables, DLLs, C include files, C library files, message files, 

  manpages, and other documents can be freely installed anywhere.  

  

    @ According to your definitions of LIPATH, PATH, MANPATH, and LIBPATH in 

       `conifig.sys' install *.exe, *.dll, *.h, *.a, *.lib, and *.8 in right 

       directories. 

    

    @ Decide where to install message files, and do like this. 



           y:\tmp\emx> xcopy /e /s share\locale\* X:\FOO\BAR

    

       Add a line "set GNULOCALEDIR=X:/FOO/BAR" to `config.sys'





    Finally, you must specify directories for rpm by editing `.rpmmacros' 

  in HOME directory. 



         A - Top directory : Parent directory of BUILD, RPMS, SOURCES, 

                             SPECS, and SRPMS

                            

         B - Database directory : Where rpm database is created 



         C - Directory for `find-provides' and other library files



         D - Directory for temporary files

         

         E - "prefix" for Makefile

         

         F - ``packager'': Your name and address





     Open `y:\tmp\emx\.rpmmacros' by your editor. You will see following 

   lines. 

     

       line  20:  %_usr                   g:/emx

       line  21:  %_usrsrc                %{_usr}/src

       line  22:  %_var                   g:/emx

       line  63:  %_dbpath                %{_var}/lib/rpm ---------------- B

       line  64:  %_defaultdocdir         %{_usr}/doc

       line  66:  %__find_provides        g:/emx/lib/rpm/find-provides --- C

       line  67:  %__find_requires        g:/emx/lib/rpm/find-requires --- C

       line  89:  %_topdir                %{_usrsrc}/redhat  ------------- A

       line  60:  %_builddir              %{_topdir}/BUILD

       line  85:  %_sourcedir             %{_topdir}/SOURCES

       line  84:  %_signature             none

       line  86:  %_specdir               %{_topdir}/SPECS

       line  87:  %_srcrpmdir             %{_topdir}/SRPMS

       line  89:  %_topdir                %{_usrsrc}/redhat

       line  88:  %_tmppath               %{_var}/tmp -------------------- D

       line 157:  %_prefix                g:/emx ------------------------- E

       line 109:  #%packager                                               F



        

    @ Top directory

      If you prefer `g:\RedHat', change a line 89



       line  89:  %_topdir                g:/RedHat



      And copy a directory tree to `g:/RedHat'

      

         y:\tmp\emx> mkdir g:\RedHat

         y:\tmp\emx> xcopy /e /s src\redhat\* g:\RedHat





    @ Rpm database directory and library directory

      If you'd like `c:\etc\rpm':



       line  63:  %_dbpath                c:/etc/rpm

       line  66:  %__find_provides        c:/etc/rpm

       line  67:  %__find_requires        c:/etc/rpm

       line 109:  #

       

           y:\tmp\emx> mkdir c:\etc

           y:\tmp\emx> mkdir c:\etc\rpm

         y:\tmp\emx> copy lib\rpm\* c:\etc\rpm

         



    @ Temporary directory

      To define it as `c:\tmp'   

       line  88:  %_tmppath               c:/tmp

    

    @ "prefix" for Makefile

      If your emx/gcc in installed in `d:/emx'

       line 157:  %_prefix                d:/emx





    @ Signature

     If you'd like to sign rpm package using GNU gpg:

       line  84:  %_signature             gpg

 

     Because of my poor C language ability, PGP cannot be used. 



    You should define ``packager'' as your name and email address like this. 



       line 109:  %packager  SAWAIAISHI Jun <jsawa@attglobal.net>





NOW go to the next section





3. Set environmental variable `RPMDRV'



    RPM binary packages (binaries, etc...) are extracted in a drive

  specified by `RPMDRV'.

   

    Add a line "set RPMDRV=Y" to `config.sys' 

                 ( `Y' is your  preffered drive to install)



NOW enter the next section





IMPORTANT NOTICE  @not

================



 `.rpmrc', `.rpmmacros' and `.popt' must be DOS way text files.

  If you make rpm from source, newline of `rpmpopt' may be UNIX way. To convert

newline into DOS way, open `rpmpopt' by E editor (e.exe) and make meaningless

change (c.f. add one SPACE ) and save the file. Now, `rpmpopt' has DOS way 

newline. Then, copy `rpmpopt' in your HOME directory as the name `popt'. 

  

 

  You can get newline code converter from hobbes ftp site.



         ftp://hobbes.nmsu.edu/pub/os2/apps/wp/



              ux_dos.zip  32985 1996/01/14  

                      Unix<->DOS, convert text files between Unix and DOS

         

         ftp://hobbes.nmsu.edu/pub/os2/util/file/

              flip1os2.zip 34194 1995/01/30  

                      Convert Unix text files to OS/2 & vice-versera





Setup Language    @lan

==============

   

    Installation of message files have finished and `config.sys' has 

  a line "set GNULOCALEDIR=...." ? 



    Then, specify an environmental variable `LANGUAGE'.



         To know what kind of languages are prepared, do like this;



            \emx> dir /s share\locale\rpm.mo

         

         You will see 13 MO files are installed; de, es, fr, .....



                           cs    Czech

                           de    German

                           es    Spanish

                           fi    Finnish

                           fr    French

                           ja    Japanese (SJIS)

                           pl    Polish

                           pt_Br Portuguese

                           ru    Russian

                           sk    Slovak

                           sr    Serbian

                           sv    Swedish

                           tr    Turkish



         

         Add a line in your `config.sys'



                set LANGUAGE=LANG

         

                           "LANG" represents an abbreviation of language name



         If you are an Swedish: 



                set LANGUAGE=sv





       Good way to test many kinds of language is to use one of GNU shell 

     utilities `env.exe'. 

       In OS/2 command shell

       

           > set GNULOCALEDIR=X:/emx/share/locale  

           > env LANGUAGE=it rpm --help            #  If you have done cus-

           > env LANGUAGE=ja rpm --help            #  tom installaion, GNU

           > env LANGUAGE=fr rpm --help            #  LOCALEDIR may be di-

                                                   #  fferent. 

         



      If you cannot use `env.exe', test messages like this.

                  (Be sure that *.exe and *.dll has been installed)

    

           > set GNULOCALEDIR=X:/emx/share/locale

           > set LANGUAGE=fr

           > rpm --help

        

                       You will see French messages

        

           > set LANGUAGE=es

           > rpm --help

    

                       Now Spanish messages will appear







    Now you had better confirm that environment variables, RPMDRV, 

  GNULOCALEDIR, LANGUAGE, HOME, PATH, and LIBPATH in `config.sys'

  are properly set. 

    Did you use '\' as directory separator in your `.rpmmacros' at HOME 

  directory? If so, change all '\' to '/'. 

  

    

    

REBOOT YOUR MACHINE, and read the next chapter ! 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





Initializing database    @ini

=====================



   If you installed RPM for the first time, setup database. 



           > rpm --initdb



   If you already have installed old verstion (2.5.5 or 2.5.6), you have to

  reformat database. 



           > rpm --rebuilddb





   Confirm initial database is created or rebuilt in database directory.



           > dir X:\emx\lib\rpm\*.rpm   # If you have done simple installation

           > dir X:\FOO\BAR\rpm\*.rpm   # If you have done custom installation



[I:\src]dir j:\RedHat\rpm\*.rpm         # This my case



Directory of J:\RedHat\rpm



99-10-25  11:47       2048           0  conflictsindex.rpm

99-10-25  11:47      42496           0  fileindex.rpm

99-10-25  11:47       2048           0  groupindex.rpm

99-10-25  11:47       2048           0  nameindex.rpm

99-10-25  11:47     113480           0  packages.rpm

99-10-25  11:47       2048           0  providesindex.rpm

99-10-25  11:47       2048           0  requiredby.rpm

99-10-25  11:47       2048           0  triggerindex.rpm

        8 file(s)     168264 bytes used

                            34697728 bytes free

                            

     If you see an output like this, installation can be okay. 





Check installed rpm system @che

==========================



  If you installed this package properly, both RPM binary file,

`hello-1.0-1.i386-OS2.rpm', and RPM source fle, hello-1.0-1.src.rpm, should 

have been installed. These two files are for testing. 



  I assume these files are installed like this. 



       X:/emx/src/redhat/RPMS/i386/hello-1.0-1.i386-OS2.rpm

       X:/emx/src/redhat/SRPMS/hello-1.0-1.src.rpm



  If you have done custum installation, interprete ``X:/emx/src/redhat'' 

as rpm top directory of yours. 





Test 1: Querying



      > rpm -qip X:/emx/src/redhat/RPMS/i386/hello-1.0-1.i386-OS2.rpm

                                # ``-qip'' is equivalent to ``-p -i -p''

# begining of output



Name        : hello                        Relocations: /usr

Version     : 1.0                               Vendor: Red Hat Software

Release     : 1                             Build Date: Sun Oct 24 16:53:30

1999



Install date: (not installed)               Build Host: localhost

Group       : Utilities                     Source RPM: hello-1.0-1.src.rpm

Size        : 14069                            License: GPL

Packager    : Red Hat Software <bugs@redhat.com>

URL         : http://www.redhat.com

Summary     : hello -- hello, world rpm

Description :

Simple rpm demonstration.



# end of output



      > rpm -qip X:/emx/src/redhat/RPMS/i386/hello-1.0-1.i386-OS2.rpm

                                                      # Query package list

# begin



/emx/doc/hello-1.0

/emx/doc/hello-1.0/FAQ

/usr/local/bin/hello.exe



#end



   If you are not able to get these outputs, installation is not successful. 





Test 2: Install binary package



      > rpm -i X:/emx/src/redhat/RPMS/i386/hello-1.0-1.i386-OS2.rpm



   If an environment variable RPMDRV is 'c', files are installed like this. 



              c:/emx/doc/hello-1.0

              c:/emx/doc/hello-1.0/FAQ

              c:/usr/local/bin/hello.exe



IF you are ready to use emx/gcc system, do the next test, or step to the next

chapter. 





Test3: Make rpm package (NOTE: for this test you have emx/gcc )



   First of all, install source package for testing. 

   

      > rpm -i X:/emx/src/redhat/SRPMS/hello-1.0-1.src.rpm

   

   Confirm spec file and "tar + gzipped" source are installed. 



      > dir X:\emx\src\redhat\SPECS\hello*.*



        99-10-22   2:25        819           0  hello.spec

                1 file(s)        819 bytes used







      > dir X:\emx\src\redhat\SOURCES\hello*.*



        99-10-22   2:32      10240           0  hello-1.0.tar.gz

                1 file(s)      10240 bytes used





   Now, make binary and source package. 

   

   

      > rpm -ba X:/emx/src/redhat/SPECS/hello.spec

   Or  

      > rpm -ba X:/emx/src/redhat/SPECS/hello.spec 2>&1 | tee rpm.log

                                               # If you have `tee.exe'



    If successful, tail of an output read like this.

  

              Conflicts: goodbye

              Obsoletes: howdy

              Wrote: x:/emx/src/redhat/SRPMS/hello-1.0-1.src.rpm

              Wrote: x:/emx/src/redhat/RPMS/i386/hello-1.0-1.i386.rpm

              Executing: %clean

              + umask 022

              + cd x:/emx/src/RedHat/BUILD

              + cd hello-1.0

              + rm -rf /var/tmp/hello-root

              + exit 0

  

If some tests failed, read this manual again and recheck your installation. 







Mannuals    @doc

========



Documentations are in `doc\rpm-3.0.3'. 



OS/2 specific docs

      README-rpm-3.0.3.os2

      CHANGES.os2

      PROBLEMES.os2

      EXAMPLE.os2

      TODO.os2



Basic docs

    63177 Oct  5 05:18 CHANGES

      656 Mar 17  1999 GROUPS

     2751 Feb 25  1997 RPM-PGP-KEY

     3589 Sep  8 01:24 buildroot

     8051 Sep  8 01:24 dependencies

     9911 Jul 20 07:13 format

     7988 Sep  8 00:46 macros

     1793 Sep  8 00:46 multiplebuilds

     5253 Jul 20 07:13 queryformat

     1957 Jul 20 07:13 relocatable

     2435 Aug 19 03:28 signatures

     3416 Sep  8 00:46 spec

     5295 Aug 21 04:11 triggers



                                                                                                5295 Aug 21 04:11 triggers

Linux HOWTOs (in `doc\rpm-3.0.3\LinuxDoc')

    RPM-HOWTO.txt.gz

    RPM-HOWTO.euc.gz







Manpages    @man

========



Manpages are in `man'

    rpm.8

    rpm2cpio.8

    popt.3





  If you have not installed manpage system, you can get OS/2 ported copy 

from following URLs. 

  

    English only version



      ftp://hobbes,hobbes.nmsu.edu/pub/os2/dev/help/

         gnuman.zip        44610 1995/01/31  GNU man 1.0 (for use with groff)



      ftp://hobbes,hobbes.nmsu.edu/pub/os2/tex/

         gnugroff.zip    2153647 1996/05/07  GNU groff v1.10



    Japanized version ( in my web page)



       http://www2s.biglobe.ne.jp/~vtgf3mpr/manpage/groff-man.tar.bz2

          





Compile from source    @com

===================



    RPM source can be retrieved from ftp site. 



        ftp://ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/rpm-3.0.3.tar.gz

    ftp://ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/rpm-3.0.3-6x.src.rpm



                                         # Release number ``6x'' may not be

                               # always valid



    Via ftp client, simplly get one of them.

    Direct installaion using rpm can be easily done like this.



         x:/foo> rpm -i ftp://ftp.rpm.org/pub/rpm/dist/\ # Do not misunder-

                     rpm-3.0.x/rpm-3.0.3-6x.src.rpm  # stand line is

                                     # braking



    If you `rpm-3.0.3-6x.src.rpm':

          

         x:/foo> rpm -i SOMEWHERE/rpm-3.0.3-6x.src.rpm

          

    If `rpm-3.0.3.tar.gz':

          

         x:/foo> copy SOMEWHERE/rpm-3.0.3.tar.gz X:\emx\src\redhat\SOURCES



     

To run shell script in `Makefile', `sh.exe' must be available. 

     You can get it from ftp sites:

        ftp.leo.org/pub/comp/os/os2/leo/shells/pdksh-5.2.13-emx.zip



Use GNU patch, `patch.exe' or `gpatch.exe': OS/2 default `patch.exe' can't

be used. 





GNU gcc and GNU file utilities must be available. 





Libraries and utilities that I used to compile RPM are as follows:



       Zlib library version 1.13

         XFree86 for OS/2 distribution contains this library, but

         for convenience I included headers and library in this package.



       Bzip2 version 0.9.0c

           http://www.muraroa.demon.co.uk/

         I included OS/2 patch in this package:

               `emx\src\redhat\SOURCES\bzip2-0.9.0c.OS2.diff.gz'

         For convenience I included headers and library in this package.



     

       GNU gettext 0.10.35 with Japanese Shift JIS availability

           http://www.netpassport.or.jp/~wjsawa/os2_gettext-0.10.35.zip

           You need `msgfmt.exe' and `xgettext.exe'.

           If you need only English message, you do not have to get 

       GNU gettext. 



       Multi-thread version "db.a" or "db.lib"

           I forgot the URL of "db_mt.zip" which contains db library 

         with GCC option "-Zmtd".

           So I included them in this package. 



       GNU gdbm-1.7.3 for OS/2 which is ported by Hung-Chi Chu 

                                                  <hcchu@r350.ee.ntu.edu.tw>

           `gdbm173.a' is included in this package









1. Uncompress source and apply a patch



       x:\> mkdir src

       x:\> cd src

       x:\src> tar zxvf SOMEWHERE/rpm-3.0.3.tar.gz

       x:\src> cd rpm-3.0.3

       x:\src\rpm-3.0.3> gzip -d < ANYWHERE/rpm-3.0.3-OS2.diff.gz | patch -p1





2. Edit `config.status' in both current and popt directory 



  For the former

    

        line  57:    s%@prefix@%g:/emx%g

        line  55:    s%@LIBS@%-lintl_d -L$(prefix)/lib -lsocket -ldb \

                   -lz113 -llibbzip2%g

        line 141         s%@INTLDEPS@%$(top_builddir)/intl/intl_d.a%g

    line 142         s%@INTLLIBS@%$(top_builddir)/intl/intl_d.a%g



  For the latter



        line  47         s%@prefix@%g:/emx%g

        line 109         s%@INTLDEPS@%$(top_builddir)/intl/intl_d.a%g

    line 110         s%@INTLLIBS@%$(top_builddir)/intl/intl_d.a%g



    

    Change ``g:/emx'' according to your environment. ``prefix'' should be

  your HOME directory.

    If you do not link zlib library included in my package, ``-lz113''

  and/or ``-llibbzip2'' may be wrong. 

    If you do not link "db.a" or "db.lib" included in this package, 

  remove "-Zmtd" from `CFLAGS' and 'LDFLAGS'. In this case, all other

  C library must be compiled without ``-Zmtd''. 





3. Make `Makefile's and configration files 



   DO

       x:\src\rpm-3.0.3> sh Config.os2



   Or manualy do it

   

       x:\src\rpm-3.0.3> touch config.cache

       x:\src\rpm-3.0.3> touch config.status

       x:\src\rpm-3.0.3> sh config.status

       x:\src\rpm-3.0.3> cd popt

       x:\src\rpm-3.0.3\popt> sh config.status

       x:\src\rpm-3.0.3\popt> cd ..

       x:\src\rpm-3.0.3> 



4. Compile and link



       x:\src\rpm-3.0.3> make 

         

5. Install



       x:\src\rpm-3.0.3> make

   Or

       x:\src\rpm-3.0.3> make install prefix=SOMEWHERE





6. Setup environmental variables and edit `~/.rpmmacros' 

   as described in earlier chapters. 

   

  





Make rpm package for rpm version 3.0.3    @mak

======================================



  Using OS/2 ported RPM, you can easily make binary or source RPM package. 



  I included a sample spec file, `rpm-OS2-3.0.3-5.2.spec', which is to make 

OS/2 ported RPM package. If you have already installed RPM, you can make 

packages in the following way. 



 

  Be sure that both `rpm-3.0.3.tar.gz' and `rpm-3.0.3-OS2.diff.gz' exists

in `SOURCES' directory, and `rpm-3.0.3-os2.spec' in SPECS directory.



        

  Do like this





        x:\foo> rpm -ba X:/emx/src/redhat/SPECS/rpm-3.0.3-OS2.diff.gz





  A binary package, `rpm-3.0.3-1.0.i386-OS2.rpm' will be created in 

`X:/emx/src/redhat/RPMS/i386' and a source package, `rpm-3.0.3-1.0.src.rpm',

in `X:/emx/src/redhat/SRPMS'. 



  To confirm newly created rpm packages are flawless, do some tests:



  Show information

     x:\foo> rpm -qip X:/emx/src/redhat/RPMS/i386/rpm-3.0.3-1.0.i386-OS2.rpm

             

  List files

     x:\foo> rpm -qlp  X:/emx/src/redhat/RPMS/i386/rpm-3.0.3-1.0.i386-OS2.rpm

          

  Install

     x:\foo> rpm -i  X:/emx/src/redhat/RPMS/i386/rpm-3.0.3-1.0.i386-OS2.rpm







Supplemental Scripts  @sup

====================



/emx/bin/unrpm.cmd  : Extact files from rpm package 

                      using `rpm.exe' and `cpio.exe'



     x:\foo> rpm -i  X:/emx/src/redhat/RPMS/i386/rpm-3.0.3-1.0.i386-OS2.rpm



  In this way, all files in `rpm-3.0.3-1.0.i386-OS2.rpm' are extracted in 

  current directory with subdirectories. 



/emx/bin/os2conf.cmd : Sed script to modify `configure'



     x:\foo\src\bar> cp configure configure.orig

     x:\foo\src\bar> os2conf configure.orig > configure

     x:\foo\src\bar> ksh

     x:/foo/src/bar> configure 

     x:\foo\src\bar> make



  Almost always, you can run modified `configure' successfully. 

  Prior to using `os2conf.cmd', you must modify it according to

  instruction described in it. 





That' all. 









                                             SAWATAISHI JUN, YOKOHAMA JAPAN

                                                       <jsawa@attblobal.net>

                           http://www2s.biglobe.ne.jp/~vtgf3mpr/indxos2.htm





/*----- end of document --------------------------------------------------*/



