StormGrind | Cantiere | Rake Tasks

This is a DRAFT.
rake rpm:PACKAGE_NAME

It will download  all sources specified in PACKAGE_NAME.spec file  (Source:  and  Source[nb]: directives) from web and store them locally.  After that  PACKAGE_NAME RPM will be build.

rake rpm:all

It will  build all packages (surprisingly).

rake rpm:sign:all

It  will sign all packages with selected key. To be able to sign packages  you need to edit (or create) your .rpmmacros located in your  home  directory and add following lines:

%_signature gpg
%_gpg_name  Your Key Name

First  line must be as-is, second line should be you generated key name. You  can search for installed gpg keys using gpg -K command. If you  don't have one, generate it, it's  simple.

rake rpm:upload:all

This command will upload all  RPMs (implies rpm:all task) to a remote location specified in StormGrind | BoxGrinder Build | Configuration File. To be able to upload  files you need to create a ~/.boxgrinder/config file with  following content:

remote_rpm_path: /opt/packages_upload_directory   # directory on server where should be packages uploaded
username: your_username                           # your username on server
host: yourhost.com                                # server address

At  this time you will be only able to send packages to a server which uses a public key authorization (without password). On server there will be created a whole directory structure for RPM packages.

$remote_rpm_path/$os_name/$os_version/SRPMS       # will contain all SRPMs files
$remote_rpm_path/$os_name/$os_version/i386        # will contain i386 RPMs files
$remote_rpm_path/$os_name/$os_version/noarch      # will contain noarch RPMs files
$remote_rpm_path/$os_name/$os_version/x86_64      # will contain x86_64 RPMs files

A  sample directory structure may look like this:

+-$remote_rpm_path/
  +-fedora/
    +-10/
       +-SRPMS/
       +-i386/
       +-noarch/
       +-x86_64/
    + rawhide/
       +-SRPMS/
       +-i386/
       +-noarch/
       +-x86_64/

In  every directory containing RPM packages will be created a repository  for YUM using createrepo command. (if there  is already a repo,  it will be refreshed).

 

Note, that createrepo package must be  installed on server.