Skip to content

jmrenouard/myrpm

Repository files navigation

Usage
    MyRPM [OPTION]

    MyRPM is a automatic spec file generator and builder.

    Myrpm allow you to install freely software on a rpm compliant system and
    realize a binary package from a list of file.

    This program manages rigths and users. It s a simple tool that simplify
    packaging in chroot mode.

General Options
     -h, --help                             : Print this help.
     -v, --verbose                          : Print debug information, verbose mode.
     -m, --multiple                         : Split into 3 packages : main, doc and config
     -b, --build                            : Build the package automatically at the end.
     -a, --archive=filename                 : RPM Creation based on a archive file
     -u, --uid=user id or name              : User id for archive file
     -g, --gid=user id or name              : Group id for archive file
     -n, --nodoc                            : Avoid documentation file detection
     -i, --nostip                           : Avoid binary stripping 
     -c, --noconfig                         : Avoid config file detection
     -s, --noreserved                       : Avoid reserved directory
     -t, --template=filename                        : Generate the spec skeleton from this template.
     -x, --exclude="pattern1,pattern2"      : Exclude some file patterns.
     -r, --root-directory=<directory>       : Root directory ( / by default ).
     -d, --directory=<directory>            : Directory where is the tree to package
     by default, list of files is build from the stdin data
     -o, --optimize                         : Try to perform a file list optimisation
      --sign                                 : GPG Signing RPM package after building
      --password                             : GPG Signing password
Package Options
     -N, --name=<name>                      : Package name - This option is mandatory
     -V, --version=<version>                : Package version - This option is mandatory
     -R, --release=<release>                : Package release - This option is mandatory
     -C, --changelog=<changelog>            : Package changeLog
     -D, --description=<description>        : Package Description.
     -S, --summary=<summary>                : Package Summary.
     -P, --packager=<packager>              : Packager identity.
     -U, --vendor-url=<vendor url>          : Vendor URL.
     -O, --vendor=<vendor>                  : Vendor name.
     -A, --architecture=<archi>             : Target architecture.
     -T, --distribution=<distro>            : Target distribution.
     --requires=<dependency>,...            : Dependency list.
     --build-script=<filename>              : Script filename to include in the %build session.
     --pre-script=<filename>                : Script filename to include in the %pre session.
     --post-script=<filename>               : Script filename to include in the %post session.
     --preun-script=<filename>              : Script filename to include in the %preun session.
     --postun-script=<filename>             : Script filename to include in the %postun session.

Examples
  Realize a kick rpm snapshot of /home/jmrenouard/myrpmBuildDir
    MyRPM -v -d /home/jmrenouard/myrpmBuildDir -r
    /home/jmrenouard/myrpmBuildDir -N toto -V 1.0 -R 1 -b

  An other version
    cd /home/jmrenouard/myrpmBuildDir && MyRPM -v -d . -r . -N toto -V 1.0
    -R 1 -b

  The same with UNIX tools interaction
    cd /home/jmrenouard/myrpmBuildDir && find `pwd` -iname '*' -print |
    MyRPM -v -r /home/jmrenouard/myrpmBuildDir -N toto -V 1.0 -R 1 -b

    find /home/jmrenouard/myrpmBuildDir | MyRPM -r
    /home/jmrenouard/myrpmBuildDir -N toto -V 1.0 -R 1

  Explanations
    This script performs the following operations :

    Find build the list of all the files in /home/jmrenouard/myrpmBuildDir.

    MyRPM packages all the files /home/jmrenouard/myrpmBuildDir in a package
    with toto as name.

    MyRPM consider /home/jmrenouard/myrpmBuildDir as the root of all the
    files so all this files will be installed from the root file system by
    the rpm program.

  GPG signing all rpm file
    MyRPM --sign --password=truc *.rpm
  
  Repackage existing configuration
    rpm -ql yum | MyRPM -v -N yum -V 2.7 -R 1_jmr -b

  Explanations
    Rpm gives the list of the files in the yum package installed on the
    system.

    MyRPM packages all the files in a package with yum as name and 1_jmr as
    release.

    This is a new way to package modification on a installed system.

Others features as is
    This tools handles user and group creation. When building RPM, myrpm
    embeds groups and users information and build a package which check
    groups and users before installing files.

    MyRPM supports also symbolic links so that you can easy substitute
    "current" link after install.

    MyRPM is proven in production environment can build big RPM easily.
    MyRPM supports fuzzy file names such as innner class files generated by
    javac.

    MyRPM supports pre and post install uninstall scripts.

Configuration file samples
    Myrpm tool is an ecology-friendly configurated.

  Standard $HOME/.rpmmacros sample
    %_topdir /home/jmrenouard/redhat %packager Jean-Marie
    Renouard<[email protected]> %vendor LightPath %vendor_url
    https://www.jmrenouard.fr %distribution Red Hat Enterprise 4/5/6
    %dist_tag .1 %_tmppath /var/tmp

Help to improve this tool
  Submit bugs or remarks at https://code.google.com/p/myrpm/issues/list
  You can also contact me at Jean-Marie Renouard <jmrenouard at gmail.com>

About

RPM Packaging utilities

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published