[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Recherche volontaire pour classer les paquets



Julien Louis wrote:
>
> Pour contrôler les paquets créer, il y a le fichier control dans le
> répertoire debian qui liste les paquets.

Ok, merci.

Voici donc un petit script qui récupère les paquets KDE.
Il se base sur le référentiel courrant de KDE qui contient donc une version en 
cours de développement. Peut être qu'il serait posible d'utiliser des tags 
CVS pour récupérer les paquets qui sont dans les versions finales utilisées 
par Debian.

A+,
Christian.
#! /usr/bin/perl -w

use strict;

my $cvsroot = ':pserver:anonymous@anoncvs.kde.org:/home/kde';

my $tmp_dir = '/tmp';



# Go to a temp dir
chdir($tmp_dir);

##
# Get the modules from the CVS repository
##

# Get the CVSROOT/modules file from the repository
`cvs -d $cvsroot checkout CVSROOT/modules`;

# Read the modules in that file
open MODULES, 'CVSROOT/modules' or die "Could not open CVSROOT/modules !\n";
my @modules = <MODULES>;
close MODULES;

# Delete that file
`rm -rf CVSROOT`;

# Clean up the modules
@modules = grep { chomp; s/^(\S*)\s*.*$/$1/ } @modules;

##
# Get the packages from the modules
##

my @packages = ();
foreach my $mod (@modules) {

  # Get the debian/control file from each module if possible
  print STDERR "cvs -d $cvsroot checkout '$mod/debian/control'\n";
  `cvs -d $cvsroot checkout '$mod/debian/control'`;

  # Read that file
  if (open CONTROL, "$mod/debian/control") {
    my @infos = <CONTROL>;
    close CONTROL;

    # Delete that file
    `rm -rf '$mod'`;

    # Find the packages in that file
    @infos = grep { chomp; s/^Package: (.*)$/$1/ } @infos;

    # Add them to the packages list
    push @packages, @infos;
  }
}

print "packages : @packages \n";



Reply to: