Tasks ===== 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}"`. * Make ob- executables work without environment variables from opkbuild? * Add unit tests for executables. 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-buildopk: Build internal archives with ar, not tar. * ob-buildopk, ob-genchanges, ob-gencontrol, opkbuild: s/src-/src:/ * 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. - Native package: * `src:foo` is the whole package. * Upload everything always. * Drop mksysconf. * 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.) 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.