From e7250eaeebaca1448ed2acc95c949cc47719bc2c Mon Sep 17 00:00:00 2001
From: Patrick McDermott <patrick.mcdermott@libiquity.com>
Date: Wed, 21 Feb 2024 22:52:55 -0500
Subject: TODO: Transitional package field

Also, specify arch- and plat-indep Description field in SPF 2.0.
---
diff --git a/TODO b/TODO
index 835229c..be75858 100644
--- a/TODO
+++ b/TODO
@@ -4,9 +4,33 @@ Future Tasks
 Functional Changes
 ------------------
 
+  * Support a field for annotating transitional packages, to help notify
+    maintainers when their source packages depend on development packages for
+    old library SONAME versions.
+    - Add optional `Deprecated: yes[ <replacement-pkg>]` binary package field to
+      SPF 2.0.  Note that this does not replace package relationship fields like
+      `Depends`.
+    - (Debian uses `Section: oldlibs` for this, but ProteanOS uses `Section` to
+      separate packages into smaller indices that not all systems use, so we
+      shouldn't just dump all transitional packages into one big section.  Also,
+      ProteanOS uses `Section` to determine whether to architecture-qualify
+      names of multiarch coinstallable packages.)
+    - Add `Deprecated` to `lib/package/2.sh` `_OB_BINARY_FIELDS_OPTIONAL_2`.
+    - Add an option to opkbuild to disable build dependency deprecation
+      failures.  Maybe replace `-D`.  Set an environment variable for
+      ob-checkbuilddeps.
+    - Run `opkg info` instead of `opkg status` in ob-checkbuilddeps
+      `check_dep()`.  If a `Deprecated` field exists, call `ob_error()` with the
+      name of the replacement package (if any).  If build dependency deprecation
+      failures are enabled, exit with an error status.
+    - Make opkbuild always run ob-checkbuilddeps regardless of `-d` option and
+      only exit with an error status if ob-checkbuilddeps fails and `-d` is
+      specified.
   * Make binary package `Description` fields architecture- and platform-
     independent (so a packages index Web site can show one description for a
     binary package for all its architectures and platforms).
+    - Specify in SPF 2.0 #substvars-defined that `Host-Arch` and `Host-Plat`
+      substitution variables shall not be set for `Description` fields.
     - `ob_set_source_substvar()` needs a third optional (for API compatibility)
       `archplat_dep` parameter (default `false`) that, if `true`, causes
       variable to be stored in a separate array.
--
cgit v0.9.1