1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
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.
- `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
`src:foo:upstream`
* If the revision isn't "1", don't build and upload upstream sources.
* pro-archman will need some modifications to handle this.
- Native package:
* `src:foo` is the whole package.
* Upload everything always.
* ob-installdocs: Handle non-directory non-regular files?
* Someday restore (removed in commit 3cc4e19) and implement
`ob_summarize_package_arch()` and `ob_summarize_package_plat()` to queue
source packages for build daemons.
Copyright
=========
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
notice and this notice are preserved. This file is offered as-is,
without any warranty.
|