From cddd29f630639172c426891d8a84fa3797e0f201 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Sun, 06 Aug 2017 21:54:39 -0400 Subject: dev/pkg/opkg: Move to dev/pkg/opkg/future --- (limited to 'dev/pkg/opkg.mdwn') diff --git a/dev/pkg/opkg.mdwn b/dev/pkg/opkg.mdwn deleted file mode 100644 index fe4b4b3..0000000 --- a/dev/pkg/opkg.mdwn +++ /dev/null @@ -1,90 +0,0 @@ -[[!meta title="Opkg in ProteanOS"]] - -Background -========== - -ProteanOS uses [opkg][opkg] to manage packages after installation with -[[prokit|dev/prokit]]. opkg has a long history through different umbrella -projects and maintainers. After [more than three years since the 0.1.8 -release][pbarker-maint], regular releases were resumed in August/September 2013 -with the [0.2.x series][0.2.x-NEWS]. [Starting in December 2013][yocto-move], -development of opkg was moved from Google Code to infrastructure of the Yocto -Project, a project of the Linux Foundation that also serves as a home for -BitBake, OpenEmbedded, and Poky. - -[opkg]: https://git.yoctoproject.org/cgit/cgit.cgi/opkg/tree/README -[pbarker-maint]: https://groups.google.com/forum/?_escaped_fragment_=topic/opkg-devel/R_yo9Qj1eZI -[0.2.x-NEWS]: https://git.yoctoproject.org/cgit/cgit.cgi/opkg/log/NEWS?h=opkg-0.2.x -[yocto-move]: https://groups.google.com/forum/?_escaped_fragment_=topic/opkg-devel/gjQG7Qv1cQU - -The Growing Lightweight Package Management System -================================================= - -Development has continued in the 0.3.x series. Multiple maintainers and -contributors have added various bugfixes, new features, and architectural -improvements to make opkg a more modern and maintainable codebase. - -For a long time, opkg had an embedded copy of BusyBox's libbb for reading -archives (as packages supported by opkg are doubly nested archive files). This -copy of libbb had grown -[[stale_and_heavily_patched|dev/todo/removing-libbb-from-opkg]]. Finally, [in -2013/2014][drop-libbb-git], libbb was [replaced][add-libarchive] with -[libarchive][libarchive]. This removed a large amount of old code from opkg, -however it added a dependency on a large library that was never designed with -the code size restraints of embedded systems in mind. - -And in August 2015, support for external dependency solver libraries was added, -so as to remove additional complexity from opkg and leave dependency solving to -another project. Unfortunately, this also [pulls][solver] in -[another][solver-patch] large [library][oe-pw-libsolv], openSUSE's -[libsolv][libsolv]. As of now, this dependency is still optional, and the -original internal solver can still be used. However, the current maintainer has -[indicated][libsolv-focus] that the internal solver will eventually be -deprecated. - -[drop-libbb-git]: https://git.yoctoproject.org/cgit/cgit.cgi/opkg/log/?id=04015d5 -[add-libarchive]: https://groups.google.com/forum/?_escaped_fragment_=topic/opkg-devel/HYBBK8YeazI -[libarchive]: https://www.libarchive.org/ -[solver]: https://groups.google.com/forum/?_escaped_fragment_=msg/opkg-devel/r4qbmhjbSNo/YH7cCjRtIQAJ -[solver-patch]: https://groups.google.com/forum/?_escaped_fragment_=msg/opkg-devel/bCtXIGQpvoM/PE_Pbi07IwAJ -[oe-pw-libsolv]: https://patchwork.openembedded.org/patch/137903/ -[libsolv]: https://github.com/openSUSE/libsolv -[libsolv-focus]: https://groups.google.com/forum/?_escaped_fragment_=msg/opkg-devel/ZI1e5tmGcjM/w-1LFw4LCAAJ - -The Future of the Past -====================== - -ProteanOS currently [still uses][pro-opkg-cl] the [0.2.x series][0.2.x]. The -increasing size of modern opkg (starting with the 0.3.x series) and its -dependencies makes it increasingly unsuitable for small system distributions -like ProteanOS. We will need to find a solution going forward. - -[OpenWrt][owrt] and [libreCMC][lcmc] use a [0.1.8+r618][opkg-owrt-lcmc] version -(SVN revision 618, between 0.1.8 and 0.2.0) with [numerous local -patches][owrt-patches]. LEDE [switched][lede-switch] their [opkg -package][lede-pkgdata] to [their own fork][lede-fork], which is based on the -same 0.1.8+r618 version that OpenWrt and libreCMC use. - -LEDE actively maintains their opkg fork and backports changes from upstream. -This may be the best and easiest option for ProteanOS, although there are a -couple of minor problems: - - 1. It still has [libbb][lede-opkg-libbb], and - 2. It pulls in a new, but small, dependency: LEDE's [libubox][lede-libubox]. - -Note also that the original Autoconf/Automake-based build system was -[removed][lede-opkg-at] and [replaced][lede-opkg-cm] with CMake. - -[pro-opkg-cl]: http://git.proteanos.com/pkg/opkg.git/tree/changelog -[0.2.x]: http://git.yoctoproject.org/cgit/cgit.cgi/opkg/log/?h=opkg-0.2.x -[owrt]: https://github.com/openwrt/openwrt/blob/4e47861/package/system/opkg/Makefile#L14 -[lcmc]: https://gogs.librecmc.org/libreCMC/libreCMC/src/ae523302b1506e48f8448454c5f8904ad415c524/package/system/opkg/Makefile#L19 -[opkg-owrt-lcmc]: http://git.yoctoproject.org/cgit/cgit.cgi/opkg/log/?id=9c97d5e -[owrt-patches]: https://github.com/openwrt/openwrt/tree/4e47861/package/system/opkg/patches -[lede-switch]: https://git.lede-project.org/?p=source.git;a=commit;h=5aa97e3 -[lede-pkgdata]: https://lede-project.org/packages/pkgdata/opkg -[lede-fork]: https://git.lede-project.org/?p=project/opkg-lede.git -[lede-opkg-libbb]: https://git.lede-project.org/?p=project/opkg-lede.git;a=tree;f=libbb -[lede-libubox]: https://git.lede-project.org/?p=project/libubox.git;a=summary -[lede-opkg-at]: https://git.lede-project.org/?p=project/opkg-lede.git;a=commit;h=6215c27 -[lede-opkg-cm]: https://git.lede-project.org/?p=project/opkg-lede.git;a=commit;h=e6e6c5a -- cgit v0.9.1