summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'TODO')
-rw-r--r--TODO47
1 files changed, 45 insertions, 2 deletions
diff --git a/TODO b/TODO
index 0c27c89..56d1a7f 100644
--- a/TODO
+++ b/TODO
@@ -4,7 +4,50 @@ Future Tasks
Functional Changes
------------------
- * ob-buildopk, ob-genchanges, ob-gencontrol, opkbuild: s/src-/src:/
+ * 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 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.
+ - `ob_set_package_substvars()` needs a second optional (for API
+ compatibility) `archplat_indep` parameter (default `false`) that, if
+ `false`, enables checking for variables in the aforementioned separate
+ array.
+ - In `_ob_set_package_substvars_2()`, replace:
+ ob_set_source_substvar 'Host-Arch' "${OPK_HOST_ARCH}"
+ ob_set_source_substvar 'Host-Plat' "${OPK_HOST_PLAT}"
+ with:
+ ob_set_source_substvar 'Host-Arch' "${OPK_HOST_ARCH}" true
+ ob_set_source_substvar 'Host-Plat' "${OPK_HOST_PLAT}" true
+ - In ob-gencontrol, replace:
+ desc="$(ob_substvars "${desc}" "${pkg}")"
+ with:
+ desc="$(ob_substvars "${desc}" "${pkg}" true)"
+ - Add `${Host-Arch}` (which should be copied verbatim to output control
+ file) to `Description` in tests **BEFORE** above changes to verify correct
+ behavior.
* Split distribution packaging from upstream sources in source packages.
- Non-native package:
* `src:foo` is the distribution packaging, and it depends on
@@ -22,7 +65,7 @@ Functional Changes
Copyright
=========
-Copyright (C) 2018, 2019 Patrick McDermott
+Copyright (C) 2018, 2019, 2023 Patrick McDermott
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright