[Debichem-devel] Moving information from tasks files into Vcs

Andreas Tille andreas at an3as.eu
Thu Jun 7 12:27:24 UTC 2012


[For the not so scientific Blends teams: the intend to work on
 scientific publication data has lead to other improvements also for your
 maintenence of tasks files ... even if I'm afraid that some teams do not
 really maintain their tasks files and possibly do not even know that
 these exist.]

Hi,

I intend to get rid of all Publication-* fields in the Blends tasks
files which had some other interesting side effects.  While publication
data can very easily be moved to debian/upstream[2] files for just
uploaded packages sligthly more work is needed for not yet packaged
software.  To solve this problem I wrote a gatherer for machine-readable
files in Vcs and an UDD[3] table is feeded with this information.  This
has two consequences I'm personally consider quite handy:

  1. You can remove all additional information from prospective
     packages if it is just in Vcs.  In case you might have watched
     the changes in med-bio task you mighht have noticed my step
     by step removals of additional information after checking SVN
     status.
  2. If a package is not even in Vcs you can actively move the
     information from tasks files to Vcs.  This minor effort has the
     advantage that a part of the actual packaging work is done (well,
     if you do not intend to package this software it could simply be
     removed from the tasks file - we are not just another list of
     software.)  The result is that you have a better structured way
     to keep the information.

The good thing in this approach is that the duplication of data between
Vcs and tasks files could be stopped which simplifies the maintenance.
Moreover the gatherer for machine-readable files is doing some checks
for mistakes (I was able to fix some broken Vcs URLs for instance).

If you wonder what machine readable files are parsed you could use
the template files in

   svn://svn.debian.org/svn/debian-med/trunk/package_template

The following information is parsed:

  debian/changelog:
    - source name
    - Version
    - WNPP bug number (if it is closed in the *latest* changelog entry)
    - Uploader
  debian/control:
    - Homepage
    - Vcs-Browser (which is verified against the location were the
      packaging stuff was really found in the Vcs tree)
    - Description
    - Maintainer
  debian/copyright
    - Short name of license which belongs to the section "Files: *"
  debian/upstream:
    - citation information (if exists)

This is basically the information in a complete entry for a prospective
package.  The code for the Vcs parser is available at

  svn://svn.debian.org/svn/blends/blends/trunk/machine_readable

It is a pure sh script and parses the following Vcs URLs:

SVNDIRS="debian-med/trunk/packages
         debian-science/packages
         pkg-scicomp
         debichem/unstable
         debichem/wnpp
         pkg-games/packages
         pkg-grass/packages
         pkg-multimedia/unstable
         demudi"

GITDIRS="debian-med
         debian-science/packages
         pkg-scicomp
         pkg-exppsy
         pkg-games
         pkg-grass
         pkg-multimedia
         demudi"

These are dirs on alioth and the script is running on Alioth once per day.

If you know other Vcs locations which might be relevant for your Blend
just tell me (if it is some non-SVN / non-Git repository I might need
some technical help how to extract the relevant files).

Short summary:

   1. Maintain your tasks files[1]
   2. Add your packages (binary package names!) in Vcs and
      the appropriate sections will automagically show up in
      the prospective packages section (so the Blends doc[1]
      needs some update about the now depreciated Vcs fields)
   3. Clean up your task file from now useless stuff if the
      packaging is in Vcs.
   4. Turn information from tasks files into packaging code
      in Vcs if not yet there
   5. Move Publication-* fields from tasks files to Vcs

I hope you like these modifications that are intended to simplify
maintenance.

Kind regards

       Andreas.

PS: Reply-To set to debian-blends list.

[1] http://blends.alioth.debian.org/blends/ch-sentinel.en.html#s-packageslist
[2] https://wiki.debian.org/UpstreamMetadata
[3] https://wiki.debian.org/UltimateDebianDatabase

-- 
http://fam-tille.de



More information about the Debichem-devel mailing list