Hi,
On Sat, 12 Feb 2022, Paul Spooren wrote:
Hi all,
For the last year or so[1] I’ve been working on replacing the package manager
OPKG with APK (Alpine Package Keeper)[2]. Different from our OPKG fork is APK
an actively developed project. OPKG is replaced entirely, both on device as
well as the build system.
One thing that excites me about this is that, while it's not yet possible,
it will eventually be possible to use any APK ecosystem build tool
(through the magic of `apk mkpkg`) to build packages which targets
OpenWrt (as long as the build recipe is aware of OpenWrt, of course).
So, this means that a project could have a CI pipeline which generates
packages for Alpine (e.g. for server roles), and also for OpenWrt (e.g.
for embedded). This will unlock a lot of new possibilities for OpenWrt
outside the traditional "router" space I think.
Using some CI I started to build all available snapshot firmware images and
published them for others to test[3]. Some targets fail to build but I’m
working on it. Please feel free to give it a try and provide feedback!
At this point only the base system is compiled without the community feeds, the
installation of remote packages already works (e.g. `apk add tc-full`). Other
commands like `apk audit` allow system integrity checks and more.
The SDK already works to create `.apk` packages, the ImageBuilder requires a
bit more work. Overall APK still depends on OpenSSL and libfetch, after getting
the base up and running I’ll start to look into replacing those with more
lightweight alternatives like WolfSSL and uclient-fetch.
I should actually have patches for this next week, just need to finish up
the packaging for Alpine first. Alpine is not particularly attached to
OpenSSL.
Within the next month I hope to create documentation in collaboration with
Daniel to explain how APK, uvol and uxc can work together. Essentially it
allows to install containers on OpenWrt devices. Just a few days ago we ran
Alpine Linux within a container on a Belkin RT3200, simply installed from an
`alpine.apk` package, the same works for Debian containers. In future this
could allow to run arbitrary container setups on routers.
Interestingly, I have been proposing a similar idea in the OCI world, to
use ADB (the underlying APKv3 structured data + filesystem image format)
as a way to represent container layers. So, I am very curious to see what
you all have come up with on the OpenWrt side.
Ariadne
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel