[rosa-devel] Packaging-tools - several handful scripts to facilitate maintainer's life

Denis Silakov denis.silakov at rosalab.ru
Tue May 21 13:19:45 MSK 2013

Hi all,

I've recently built "packaging-tools" for ROSA - a set of scripts 
originally developed by Bero for Ark Linux and recently ported to 

The tools include a simple general-purpose spec generator called 
'''vs''' which creates a spec template and opens it in '''vim''' (or in 
the editor specified in the EDITOR or VISUAL environment variables).
There are also specialized spec generators for different kind of packages:
* '''vl''' for libraries
* '''vp''' for Perl modules
* '''vj''' for Java packages

These generators create spec files that take into account package 
specific (e.g., it creates proper subpackages for libraries, installs 
Java stuff to proper places in file system, etc.).

Another useful tool is '''e''' - a simple helper for gendiff. If you 
want to prepare a patch for some package, then you should unpack the 
sources and edit the file you want to modify using '''e'''.
This script will actually call you favorite editor (set in the EDITOR or 
VISUAL environment variables; '''vim''' is used by default) but vefor 
this it will create a backup file with a predefined suffix (for ROSA 
Desktop Fresh, '''rosa2012.1~''' will be used) which can be overridden 
using the '''-s''' option. After all modifications to the source code 
are done, you can use '''gendiff' to generate the patch.

As an example, let's take '''someapp-1.2.3''' tarball, modify test.c 
file in it using '''geany''' and then prepare a patch with our 

   $ tar xzvf someapp-1.2.3.tar.xz
   $ cd someapp-1.2.3
   $ export EDITOR=geany
   $ e test.c
   $ cd ..
   $ gendiff someapp-1.2.3 .rosa2012.1~ >my.patch

This way can seem to be a little complex, but it is really convenient 
and fast when you need to prepare a small patch for a large tarball.

Denis Silakov, ROSA Laboratory.

More information about the rosa-devel mailing list