summaryrefslogtreecommitdiffstats
path: root/TODO
blob: e5a615f5c05cf529f154a5d20662a25896838c52 (plain)
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
Tasks for 4.0.0
===============

General Cleanup
---------------

  * Add more error handling?
  * Finish manual pages for functions and utilities.
  * Improve in-place locale loading, including the safety of
    `printf "${_OB_LOCALE_PATH}"`.  Handle libopkbuild and the application
    separately, as one may be running in-place while the other is installed.
  * Make ob- executables work without environment variables from opkbuild?
  * Add unit tests for executables.
  * Drop mksysconf.

Functional Changes
------------------

  * ob-installdocs: Handle non-directory non-regular files?
  * ob-applypatches: Track and skip applied patches in `.opkbuild/patches` file:
    - `ob-applypatches: Skipping applied patch "01_foo.patch"...`
  * ob-unpacksource: Support xz upstream archive decompression.
  * ob-unpacksource: Maybe call separate decompressor utilities instead of using
    tar's seamless decompression.  This enables support for xz with
    BusyBox < 1.21.0 (commit dfc2473).  (Not really needed, since ProteanOS has
    used a sufficiently recent BusyBox since early 2014.)
  * Read `tmp/<binpkg>.substvars` files and use them when generating each
    specific binary package's `control` file.  This is needed for automatic
    shared library dependencies.
    - Rename `ob_set_substvar()` to `ob_set_source_substvar()`.
    - Add `ob_set_binary_substvar()` and `ob_clear_binary_substvars()`.
    - Split `ob_set_package_substvars()` into `ob_set_source_substvars()` and
      ob_set_binary_substvars()`.  Set `Binary-Version` in the latter.
  * ob-buildopk, ob-genchanges, ob-gencontrol, opkbuild: s/src-/src:/

Future Tasks
============

Functional Changes
------------------

  * ob-buildopk: Build external archives with ar, not tar.  prokit and
    pro-archman must first be modified to unpack ar archives.
  * 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.
  * 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  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.