Explorar el Código

Implement support for Tag field

Guillem Jover hace 19 años
padre
commit
d8ce44bf7c

+ 9 - 0
ChangeLog

@@ -1,3 +1,12 @@
+2007-08-31  Guillem Jover  <guillem@debian.org>
+
+	* dpkg-deb/build.c (arbitrary_fields): Add Tag.
+	* scripts/dpkg-genchanges.pl: Ignore Tag field.
+	* scripts/dpkg-gencontrol.pl: Parse Tag from binary package stanza.
+	(@control_fields): Add Tag.
+	* scripts/dpkg-scanpackages.pl (@fieldpri): Add Tag.
+	* scripts/dpkg-source.pl: Ignore Tag field from binary package stanza.
+
 2007-08-31  Guillem Jover  <guillem@debian.org>
 2007-08-31  Guillem Jover  <guillem@debian.org>
 
 
 	* scripts/dpkg-genchanges.pl: Ignore Vcs-Browser, Vcs-Arch, Vcs-Bzr,
 	* scripts/dpkg-genchanges.pl: Ignore Vcs-Browser, Vcs-Arch, Vcs-Bzr,

+ 0 - 2
TODO

@@ -18,8 +18,6 @@ lenny
    - Add field Package-Type and friends.
    - Add field Package-Type and friends.
    - Generate proper Packages files. (#383916)
    - Generate proper Packages files. (#383916)
 
 
- * Support Tag field.
-
 1.14.y
 1.14.y
 ------
 ------
 
 

+ 1 - 0
debian/changelog

@@ -45,6 +45,7 @@ dpkg (1.14.6) UNRELEASED; urgency=low
   * Implement support for Vcs-Browser, Vcs-Arch, Vcs-Bzr, Vcs-Cvs, Vcs-Darcs,
   * Implement support for Vcs-Browser, Vcs-Arch, Vcs-Bzr, Vcs-Cvs, Vcs-Darcs,
     Vcs-Git, Vcs-Hg, Vcs-Mtn and Vcs-Svn fields in control file source
     Vcs-Git, Vcs-Hg, Vcs-Mtn and Vcs-Svn fields in control file source
     package stanza.
     package stanza.
+  * Implement support for Tag field.
 
 
   [ Updated scripts translations ]
   [ Updated scripts translations ]
   * French (Frédéric Bothamy, Christian Perrier).
   * French (Frédéric Bothamy, Christian Perrier).

+ 1 - 0
dpkg-deb/build.c

@@ -58,6 +58,7 @@ struct _finfo {
 
 
 const char *arbitrary_fields[]= {
 const char *arbitrary_fields[]= {
   "Homepage",
   "Homepage",
+  "Tag",
   NULL
   NULL
 };
 };
 
 

+ 5 - 0
man/ChangeLog

@@ -1,3 +1,8 @@
+2007-08-31  Guillem Jover  <guillem@debian.org>
+
+	* deb-control.5: Document Tag field.
+	* dpkg-query.1: Document Tag as a recognized field.
+
 2007-08-25  Peter Karlsson  <peterk@debian.org>
 2007-08-25  Peter Karlsson  <peterk@debian.org>
 
 
 	* po/sv.po: Updated to 1285t.
 	* po/sv.po: Updated to 1285t.

+ 6 - 1
man/deb-control.5

@@ -1,6 +1,6 @@
 .\" Author: Raul Miller
 .\" Author: Raul Miller
 .\" Includes text from the debian Guidelines by Ian Jackson, Ian Murdock
 .\" Includes text from the debian Guidelines by Ian Jackson, Ian Murdock
-.TH deb\-control 5 "2007-05-15" "Debian Project" "Debian"
+.TH deb\-control 5 "2007-08-31" "Debian Project" "Debian"
 .SH NAME
 .SH NAME
 deb\-control \- Debian packages' master control file format
 deb\-control \- Debian packages' master control file format
 .
 .
@@ -88,6 +88,10 @@ of this are shell and Perl scripts, and documentation.
 .BR Homepage: " <url>"
 .BR Homepage: " <url>"
 The upstream project home page URL.
 The upstream project home page URL.
 .TP
 .TP
+.BR Tag: " <tag list>"
+List of tags describing the qualities of the package. The description and
+list of supported tags can be found in the \fBdebtags\fP package.
+.TP
 .BR Source: " <source name>"
 .BR Source: " <source name>"
 The name of the source package that this binary package came from, if
 The name of the source package that this binary package came from, if
 different than the name of the package itself.
 different than the name of the package itself.
@@ -216,5 +220,6 @@ Description: GNU grep, egrep and fgrep.
 .
 .
 .SH SEE ALSO
 .SH SEE ALSO
 .BR deb (5),
 .BR deb (5),
+.BR debtags (1),
 .BR dpkg (1),
 .BR dpkg (1),
 .BR dpkg-deb (1).
 .BR dpkg-deb (1).

+ 1 - 0
man/dpkg-query.1

@@ -127,6 +127,7 @@ alignment will be used. The following \fIfield\fRs are recognised:
     \fBSource\fP
     \fBSource\fP
     \fBStatus\fP
     \fBStatus\fP
     \fBSuggests\fP
     \fBSuggests\fP
+    \fBTag\fP
     \fBVersion\fP
     \fBVersion\fP
 .fi
 .fi
 
 

+ 1 - 0
scripts/dpkg-genchanges.pl

@@ -256,6 +256,7 @@ for $_ (keys %fi) {
 		push(@archvalues,$v) unless !$v || $archadded{$v}++;
 		push(@archvalues,$v) unless !$v || $archadded{$v}++;
 	    } elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/ ||
 	    } elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/ ||
 		     m/^(Recommends|Suggests|Enhances|Optional|Conflicts|Breaks|Replaces)$/ ||
 		     m/^(Recommends|Suggests|Enhances|Optional|Conflicts|Breaks|Replaces)$/ ||
+		     m/^Tag$/i ||
 		     m/^X[BS]+-/i) {
 		     m/^X[BS]+-/i) {
 	    } else {
 	    } else {
 		&unknown(_g("package's section of control info file"));
 		&unknown(_g("package's section of control info file"));

+ 2 - 2
scripts/dpkg-gencontrol.pl

@@ -23,7 +23,7 @@ textdomain("dpkg-dev");
 
 
 my @control_fields = (qw(Package Source Version Architecture Essential Origin
 my @control_fields = (qw(Package Source Version Architecture Essential Origin
                          Bugs Maintainer Installed-Size), @pkg_dep_fields,
                          Bugs Maintainer Installed-Size), @pkg_dep_fields,
-                      qw(Section Priority Homepage Description));
+                      qw(Section Priority Homepage Description Tag));
 
 
 my $controlfile = 'debian/control';
 my $controlfile = 'debian/control';
 my $changelogfile = 'debian/changelog';
 my $changelogfile = 'debian/changelog';
@@ -161,7 +161,7 @@ for $_ (keys %fi) {
         else { $_ = "C $_"; &unknown(_g('general section of control info file')); }
         else { $_ = "C $_"; &unknown(_g('general section of control info file')); }
     } elsif (s/^C$myindex //) {
     } elsif (s/^C$myindex //) {
 #print STDERR "P key >$_< value >$v<\n";
 #print STDERR "P key >$_< value >$v<\n";
-        if (m/^(Package|Description|Homepage|Essential|Optional)$/) {
+        if (m/^(Package|Description|Homepage|Tag|Essential|Optional)$/) {
             $f{$_}= $v;
             $f{$_}= $v;
         } elsif (exists($pkg_dep_fields{$_})) {
         } elsif (exists($pkg_dep_fields{$_})) {
 	    # Delay the parsing until later
 	    # Delay the parsing until later

+ 1 - 1
scripts/dpkg-scanpackages.pl

@@ -26,7 +26,7 @@ my %kmap= (optional         => 'suggests',
 
 
 my @fieldpri = (qw(Package Source Version Architecture Essential Origin Bugs
 my @fieldpri = (qw(Package Source Version Architecture Essential Origin Bugs
                    Maintainer Installed-Size), @pkg_dep_fields, qw(Filename
                    Maintainer Installed-Size), @pkg_dep_fields, qw(Filename
-                   Size MD5sum Section Priority Homepage Description));
+                   Size MD5sum Section Priority Homepage Description Tag));
 
 
 # This maps the fields into the proper case
 # This maps the fields into the proper case
 my %field_case;
 my %field_case;

+ 1 - 1
scripts/dpkg-source.pl

@@ -286,7 +286,7 @@ if ($opmode eq 'build') {
                 $f{$_}= $v;
                 $f{$_}= $v;
             } elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/i ||
             } elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/i ||
                      m/^(Recommends|Suggests|Optional|Conflicts|Replaces)$/i ||
                      m/^(Recommends|Suggests|Optional|Conflicts|Replaces)$/i ||
-                     m/^(Breaks|Enhances|Description|Section|Priority)$/i ||
+                     m/^(Breaks|Enhances|Description|Tag|Section|Priority)$/i ||
                      m/^X[BC]+-/i) {
                      m/^X[BC]+-/i) {
             } else {
             } else {
                 &unknown(_g("package's section of control info file"));
                 &unknown(_g("package's section of control info file"));