pf-tools commit: r718 [ccaillet-guest] - in /branches/0.33-stable: README.doc debian/changelog lib/PFTools/Update.pm

parmelan-guest at users.alioth.debian.org parmelan-guest at users.alioth.debian.org
Wed Sep 16 14:30:33 UTC 2009


Author: ccaillet-guest
Date: Wed Sep 16 14:30:33 2009
New Revision: 718

URL: http://svn.debian.org/wsvn/pf-tools/?sc=1&rev=718
Log:
in $FUNCTION->{'apt-get'} : adding handler for version directive which
specifies a version to install (NEED TESTING!!). A control is done for
the availability of the specified version.

Modified:
    branches/0.33-stable/README.doc
    branches/0.33-stable/debian/changelog
    branches/0.33-stable/lib/PFTools/Update.pm

Modified: branches/0.33-stable/README.doc
URL: http://svn.debian.org/wsvn/pf-tools/branches/0.33-stable/README.doc?rev=718&op=diff
==============================================================================
--- branches/0.33-stable/README.doc (original)
+++ branches/0.33-stable/README.doc Wed Sep 16 14:30:33 2009
@@ -263,4 +263,19 @@
 	name_filter = echo %SECTIONNAME%-%OS_RELEASE%
 	action = apt-get
 
-
+* version
+
+  The version directive is valid for the 'apt-get' action only. It permits
+  to install a specified version of a package. A control is made for the
+  availability of the specified version.
+
+  Sample use :
+
+    To install the version 0.8.6i-aurelien16 of the vlc-nox package, you can
+    do this :
+
+    [vlc-nox]
+	action	= apt-get
+	version	= 0.8.6i-aurelien16
+
+

Modified: branches/0.33-stable/debian/changelog
URL: http://svn.debian.org/wsvn/pf-tools/branches/0.33-stable/debian/changelog?rev=718&op=diff
==============================================================================
--- branches/0.33-stable/debian/changelog (original)
+++ branches/0.33-stable/debian/changelog Wed Sep 16 14:30:33 2009
@@ -4,8 +4,11 @@
   * lib/PFTools/Update.pm
     - in Do_updateloop : skipping circular dependancies for avoiding infinite
       loop
-
- -- Christophe Caillet <tof at sitadelle.com>  Wed, 16 Sep 2009 14:04:21 +0200
+    - in $FUNCTION->{'apt-get'} : adding handler for version directive which
+      specifies a version to install (NEED TESTING!!). A control is done for
+      the availability of the specified version.
+
+ -- Christophe Caillet <tof at sitadelle.com>  Wed, 16 Sep 2009 16:26:53 +0200
 
 pf-tools (0.33.18-1) unstable; urgency=low
 

Modified: branches/0.33-stable/lib/PFTools/Update.pm
URL: http://svn.debian.org/wsvn/pf-tools/branches/0.33-stable/lib/PFTools/Update.pm?rev=718&op=diff
==============================================================================
--- branches/0.33-stable/lib/PFTools/Update.pm (original)
+++ branches/0.33-stable/lib/PFTools/Update.pm Wed Sep 16 14:30:33 2009
@@ -622,6 +622,7 @@
 
     my $installed_version;
     my $available_version;
+    my $specified_version = 0;
     my $install;
 
     my $name_filter = $S->{'name_filter'};
@@ -654,11 +655,18 @@
 	elsif (m/^  Candidate: (.*)$/) {
 	    $available_version = $1;
 	}
+	elsif ( defined $S->{'version'} && /\Q$S->{'version'}\E/ ) {
+	    $specified_version = 1 ;
+	}
     }
     close(APTPOLICY);
 
     if ( !defined($available_version) ) {
 	Warn( $ERR_OPEN, "Package " . $dest . " indisponible" );
+	return 1;
+    }
+    if ( defined $S->{'version'} && ! $specified_version ) {
+	Warn( $ERR_OPEN, "Package " . $dest . " en version " . $S->{'version'} . " indisponible" );
 	return 1;
     }
 
@@ -736,6 +744,10 @@
 	}
 
 	if ( !$options->{'simul'} ) {
+	    my $install_cmd = $install . " " . $APT_GET . " install '" . $dest . "'";
+	    if ( $specified_version ) {
+		$install_cmd = $install . " " . $APT_GET . " install '" . $dest . "=". $S->{'version'} ."'";
+	    }
 	    if (deferredlogsystem(
 		    $install . " " . $APT_GET . " install '" . $dest . "'"
 		)
@@ -1698,6 +1710,7 @@
 					. "] circular dependancy detected, skipping this depend"
 			    );
 			    FlushLog();
+			    next;
 			}
 			push @depends, $d;
 			if ( $C->{$d}->{'action'} eq 'addmount' ) {




More information about the pf-tools-commits mailing list