Просмотр исходного кода

dpkg: Print correct feature name on --assert-* failures

Guillem Jover лет назад: 17
Родитель
Сommit
7efb708a1f
3 измененных файлов с 18 добавлено и 8 удалено
  1. 6 0
      ChangeLog
  2. 1 0
      debian/changelog
  3. 11 8
      src/enquiry.c

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+2009-02-10  Guillem Jover  <guillem@debian.org>
+
+	* src/enquiry.c (assert_version_support): Add new feature_name
+	argument, and use it when printing the output messages. Fix all
+	callers.
+
 2009-02-10  Guillem Jover  <guillem@debian.org>
 
 	* src/enquiry.c (assert_version_support): Remove reqversion argument.

+ 1 - 0
debian/changelog

@@ -59,6 +59,7 @@ dpkg (1.15.0) UNRELEASED; urgency=low
   * Add kopensolaris support to ostable and triplettable. Closes: #509312
   * Document in deb.5 in detail the currently supported format, ar member
     names, types of tar archives and data.tar members.
+  * Print correct feature name on «dpkg --assert-*» failures.
 
   [ Raphael Hertzog ]
   * Enhance dpkg-shlibdeps's error message when a library can't be found to

+ 11 - 8
src/enquiry.c

@@ -239,7 +239,8 @@ void unpackchk(const char *const *argv) {
 
 static void
 assert_version_support(const char *const *argv,
-                       struct versionrevision *verrev_buf)
+                       struct versionrevision *verrev_buf,
+                       const char *feature_name)
 {
   struct pkginfo *pkg;
 
@@ -257,33 +258,35 @@ assert_version_support(const char *const *argv,
   case stat_triggersawaited:
     if (versionsatisfied3(&pkg->configversion,verrev_buf,dvr_laterequal))
       break;
-    printf(_("Version of dpkg with working epoch support not yet configured.\n"
-           " Please use `dpkg --configure dpkg', and then try again.\n"));
+    printf(_("Version of dpkg with working %s support not yet configured.\n"
+             " Please use 'dpkg --configure dpkg', and then try again.\n"),
+           feature_name);
     exit(1);
   default:
-    printf(_("dpkg not recorded as installed, cannot check for epoch support !\n"));
+    printf(_("dpkg not recorded as installed, cannot check for %s support!\n"),
+           feature_name);
     exit(1);
   }
 }
 
 void assertpredep(const char *const *argv) {
   struct versionrevision version = { 0, "1.1.0", NULL };
-  assert_version_support(argv, &version);
+  assert_version_support(argv, &version, _("Pre-Depends field"));
 }
 
 void assertepoch(const char *const *argv) {
   struct versionrevision version = { 0, "1.4.0.7", NULL };
-  assert_version_support(argv, &version);
+  assert_version_support(argv, &version, _("epoch"));
 }
 
 void assertlongfilenames(const char *const *argv) {
   struct versionrevision version = { 0, "1.4.1.17", NULL };
-  assert_version_support(argv, &version);
+  assert_version_support(argv, &version, _("long filenames"));
 }
 
 void assertmulticonrep(const char *const *argv) {
   struct versionrevision version = { 0, "1.4.1.19", NULL };
-  assert_version_support(argv, &version);
+  assert_version_support(argv, &version, _("multiple Conflicts and Replaces"));
 }
 
 void predeppackage(const char *const *argv) {