]> err.no Git - dpkg/commitdiff
lib/parse.c: add Enhances to fieldinfos[]
authorWichert Akkerman <wakkerma@debian.org>
Thu, 15 Jun 2000 16:32:52 +0000 (16:32 +0000)
committerWichert Akkerman <wakkerma@debian.org>
Thu, 15 Jun 2000 16:32:52 +0000 (16:32 +0000)
lib/fields.c:
+ initialize dop->backrev as well when creating new dependency
+ only allow exact version relations when dealing with provides
TODO: remove versioned provides
debian/rules: don't fail of make clean fails (which happens on a cvsclean tree)

ChangeLog
TODO
debian/rules
lib/fields.c
lib/parse.c

index 699764f455856f342f4f2e7ef789f85158b9853f..07ac8b0e4cde1aa6dcf1f4b6bce1f957d2d2b89d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Thu Jun 15 13:41:28 CEST 2000 Wichert Akkerman <wakkerma@debian.org>
+
+  * lib/parse.c: add Enhances to fieldinfos[]
+  * lib/fields.c:
+    + initialize dop->backrev as well when creating new dependency
+    + only allow exact version relations when dealing with provides
+  * TODO: remove versioned provides
+  * debian/rules: don't fail of make clean fails (which happens on a
+    cvsclean tree)
+
 Thu Jun 15 10:09:03 EDT 2000 Ben Collins <bcollins@debian.org>
 
   * main/depcon.c: remove if() that prevented versioned deps from checking
diff --git a/TODO b/TODO
index d0203dc14767fc30a03777ea622366ca8298f802..dd81151ab2398041af85d4eec7c8c93530a720a5 100644 (file)
--- a/TODO
+++ b/TODO
@@ -15,12 +15,10 @@ dpkg
 * allow external program to specify how to handle conffiles
 * log our actions
 * try to remove directories again after removing conffiles
-* allow versioned provides
 * verify Enhances works (ie don't trigger some assertion)
 
 dselect:
 * support Enhances (GNU/FSF)
-* allow versioned provides
 * toggle for searching through descriptions
 
 dpkg-source
index f72f2782c0d7df7998a9a2816927a9077502fea5..c9db2b3b8a392020f04d1b197d3039b9c8908c42 100755 (executable)
@@ -37,7 +37,7 @@ $(BUILD)/config.status:
 
 clean:
        $(checkdir)
-       $(MAKE) $(MFLAGS) -C $(BUILD) distclean
+       -$(MAKE) $(MFLAGS) -C $(BUILD) distclean
        rm -f debian/files debian/substvars
        rm -f debian/dpkg.substvars
        rm -fr $(BUILD) $(TMP) $(TMP_DPKG) $(TMP_DPKG_DEV) $(TMP_DPKG_DOC)
index 36bc241d45b1ea87dfc18c366f4964c657478e6d..2d0a10e4fe1badc99ea63c2c6844f1ad6d26ef73 100644 (file)
@@ -289,8 +289,8 @@ void f_dependency(struct pkginfo *pigp, struct pkginfoperfile *pifp,
       dop->up= dyp;
       dop->ed= findpackage(depname.buf);
       dop->next= 0; *ldopp= dop; ldopp= &dop->next;
-      dop->nextrev= 0; /* Don't link this (which is after all only `newpig' from
-      dop->backrev= 0;  * the main parsing loop in parsedb) into the depended on
+      dop->nextrev= 0; /* Don't link this (which is after all only `newpig' from */
+      dop->backrev= 0; /* the main parsing loop in parsedb) into the depended on
                         * packages' lists yet.  This will be done later when we
                         * install this (in parse.c).  For the moment we do the
                         * `forward' links in deppossi (`ed') only, and the backward
@@ -334,6 +334,10 @@ void f_dependency(struct pkginfo *pigp, struct pkginfoperfile *pifp,
                    fip->name,depname.buf);
           dop->verrel= dvr_exact;
         }
+       if ((dop->verrel!=dvr_exact) && (fip->integer==dep_provides))
+         parseerr(0,filename,lno,warnto,warncount,pigp,0,
+                 _("Only exact versions may be used for Provides"));
+
         if (!isspace(*p) && !isalnum(*p)) {
           parseerr(0,filename,lno, warnto,warncount,pigp,1,
                    _("`%s' field, reference to `%.255s':\n"
index 1cdff0885c9d4b82628a69fca46b7591d4c1b34b..85a6d95726e2e2ed0c705d7b977e2c16b346b6ad 100644 (file)
@@ -50,6 +50,7 @@ const struct fieldinfo fieldinfos[]= {
   { "Recommends",       f_dependency,      w_dependency,     dep_recommends           },
   { "Suggests",         f_dependency,      w_dependency,     dep_suggests             },
   { "Conflicts",        f_dependency,      w_dependency,     dep_conflicts            },
+  { "Enhances",         f_dependency,      w_dependency,     dep_enhances             },
   { "Conffiles",        f_conffiles,       w_conffiles                                },
   { "Filename",         f_filecharf,       w_filecharf,      FILEFOFF(name)           },
   { "Size",             f_filecharf,       w_filecharf,      FILEFOFF(size)           },