- From: Patrick McDermott <patrick DОТ mcdermott АТ libiquity DОТ com>
- To: proteanos-dev АТ lists DОТ proteanos DОТ com
- Date: Fri, 10 Jul 2020 18:47:30 -0400
- Message-id: 20200710184730 DОТ patrick DОТ mcdermott АТ libiquity DОТ com
About ===== opkbuild is a distribution build system -- a set of tools for building software packages. From source packages it builds binary packages for use with the opkg package manager. Currently one format of source package is supported by opkbuild: ProteanOS Source Package Format 2.0: http://specs.proteanos.com/spf-2.0/ opkbuild is similar in function to the development library and utilities of dpkg, the Debian package manager: https://packages.debian.org/sid/dpkg-dev https://packages.debian.org/sid/libdpkg-perl https://wiki.debian.org/Teams/Dpkg/ Downloading =========== Source archives are available from the files site by HTTP or FTP: http://files.proteanos.com/pub/opkbuild/4.2.0/ ftp://files.proteanos.com/pub/opkbuild/4.2.0/ Here are the MD5 checksums: 11f97280b2ecf8a1ca5ea409ae6a264c opkbuild-4.2.0.tar.gz 0620591808e452029b15442b472b8db8 opkbuild-4.2.0.tar.bz2 9a47347616812a34bc7c21bdc3368653 opkbuild-4.2.0.tar.xz Here are the SHA-256 checksums: 6099ad0aba5a8468dfda7c85e8b1217bbe2b6c4bd775083c19fa86e1e277ef47 opkbuild-4.2.0.tar.gz 368d362da0f78e8f27e63b4a58f1659cee904cae931a5ece667ef224f6bae12f opkbuild-4.2.0.tar.bz2 4eaed8a54551749f80ddf8797496be6a14a34795506fe3150b65d4f7ed1d8699 opkbuild-4.2.0.tar.xz The sources are maintained in a Git repository: http://git.proteanos.com/opkbuild/opkbuild.git/ git://git.proteanos.com/opkbuild/opkbuild.git/ This release is marked by the "opkbuild/4.2.0" tag. NEWS for Version 4.2.0 ====================== The major new features in this version are the utilization of package archive sections and the architecture qualification of the names of coinstallable packages, both necessary for multiarch (and therefore cross building) in ProteanOS. Utilities: * ob-buildopk now correctly checks for the BusyBox tar reverse ordering bug. * ob-gencontrol now generates a "Format" field to indicate the source package format version. * ob-gencontrol now generates a "Section" field when defined for a binary package. * ob-genchanges now organizes source packages into section "src" instead of "base". * ob-genchanges now organizes binary packages into sections specified by "Section" field when present. * Names of packages in certain sections ("lib" on ProteanOS) are now qualified with their host architectures (in the form "<pkg>:<arch>"): - ob-installdocs qualifies names in package documentation directories. - ob-gencontrol qualifies names in "Package" fields. - ob-buildopk and ob-genchanges qualify names in "*.opk" file names. * ob-buildopk no longer sets the owner and group of all data files to 0:0, as done since version 4.1.0. This is not expected to change file owners or groups in any ProteanOS packages at this time, because: - oh-fixperms (used in most packages) also sets owners and groups - "build" makefile "install" targets are run with (fake) superuser privileges. * opkbuild now runs the "build" makefile's "install" target and all ob-* commands under the same (fake) superuser environment. This was the behavior in versions 3.0.0-alpha1 through 3.0.0-beta7. Since version 4.0.0, commands were run in separate (fake) superuser environments, which may not preserve superuser ownership of files. * Source package names are now prefixed with "src:" instead of "src-". pro-archman has supported this in its package name hashing since version 2.0.0. * With ob_get_binary_packages() becoming always pure (see below), all utilities now scan the file system for binary packages only once. libopkbuild: * ob_get_source_parameter() now supports a "Format" field to get the source package formate version. * An optional "Section" control field has been added to source package format 2.x. * The modification time in manual pages is now parsed and formatted correctly. * New functions ob_validate_section() and ob_qualify_package_name() have been added. * ob_get_binary_packages() is now always pure (without side effects that would preclude use in a subshell environment). Side effects have been factored out into a new internal function called by ob_init_package(). Shortlog of Changes Since Version 4.1.4 ======================================= Patrick McDermott (38): NEWS, configure.ac: Set version to 4.1.4+dev ob-buildopk: Really check for BB tar reverse ordering bug ob-gencontrol: Generate a "Format" field tools/mtime.sh: Fix ls parsing NEWS: Fix spelling Clean up "if :; then" from commit 3bc002a3 ob-gencontrol: Generate a "Section" field ob-genchanges: Put source packages in src section ob-genchanges: Use "Section" field when present ob_qualify_package_name(): New function ob-*: Architecture-qualify package names ob-buildopk: Fix crash on src packages TODO: Should ob-buildopk chown all data? TODO: Note s/src-/src:/ also affects pro-archman TODO: pro-archman already handles s/src-/src:/ ob-buildopk: Don't chown data opkbuild: Run ob-* commands from a child shell NEWS, configure.ac: Set version to 4.2.0 ob-*, opkbuild: s/src-/src:/ config.sh.in: Add SH TODO: Always arch-qualify docs paths Revert "TODO: Always arch-qualify docs paths" tests: Verify arch-qualification tests/exe/ob-installdocs.sh: Check link dest NEWS: Highlight major features ob_validate_section(): New function ob_get_binary_packages(): Validate section _ob_parse_package_metadata_2(): Validate section _ob_set_binary_packages(): Remove ob_get_binary_packages(): Factor out side effects _ob_parse_package_metadata_2(): Validate sections only if present tests: s/utils/util/ in Section ob-genchanges: Sort Binary and drop trailing space notes/*: Remove old opkbuild 2.0.0 design notes NEWS: Explain significance of major new features ob_init_package(): Defend against CDPATH in Bash ob-buildopk: chown data of src packages NEWS: Release opkbuild 4.2.0 Diffstat of Changes Since Version 4.1.4 ======================================= NEWS | 62 ++++++++++++++++++++++ TODO | 1 - config.sh.in | 1 + configure.ac | 2 +- lib/metadata.sh | 43 +++++++++++++++ lib/metadata/proteanos.sh | 30 +++++++++++ lib/package.sh | 96 +++++++++++++++------------------- lib/package/2.sh | 15 +++--- locale/en_US/libopkbuild_2.sh | 3 ++ man/local.mk | 2 + notes/libopkbuild.1.txt | 38 -------------- notes/opkbuild.txt | 41 --------------- src/ob-buildopk.sh | 31 +++++++---- src/ob-genchanges.sh | 17 ++++-- src/ob-gencontrol.sh | 84 +++++++++++++++-------------- src/ob-installdocs.sh | 7 ++- src/opkbuild.sh | 19 ++++--- tests/data/pkg/bar.pkg/control | 1 + tests/data/pkg/foo.pkg/control | 1 + tests/exe/ob-buildopk.sh | 5 +- tests/exe/ob-genchanges.sh | 8 +-- tests/exe/ob-gencontrol.sh | 9 ++-- tests/exe/ob-installdocs.sh | 10 ++-- tests/exe/opkbuild.sh | 22 ++++---- tools/mtime.sh | 3 +- 25 files changed, 323 insertions(+), 228 deletions(-) -- Patrick McDermott, CEO Libiquity Putting customers in control of high-quality technologies http://www.libiquity.com/
Attachment:
pgpxjML9zhCZj.pgp
Description: OpenPGP digital signature
- opkbuild 4.2.0 released, Patrick McDermott