Skip to main content

Search

Items tagged with: alpinelinux


The #AlpineLinux maintainers have enabled crash reporting for #Firefox and the very first reports are trickling in. I want to thank them publicly because this will help us keep Firefox stable on the platform.

For users, remember that crash reports are strictly opt-in, so send them our way if you experience instability.


If you are upgrading your #alpinelinux please pay attention if ifupdown-ng-openrc is uninstalled:

(1/53) Purging ifupdown-ng-openrc (0.12.1-r3)

If that happens, then please run `apk fix openrc`, or you may not have network next reboot.


Day #7

I've documented my findings from yesterday and created two tickets on the yextend projects and commented it on the Alpine Linux yextend package request ticket. I could fix the compatibility issues with musl, but I will wait how active the project is. The different branches mess need to be fixed first in order to work with it. If there is no movement in that direction, I may need to fork the repo.

So, let's grab something more promising today: rinetd, a ip/port forwarder, which seemed active. Creating the APKBUILD file was easy, but "abuild" hang on entering the fakeroot. Could not find the issue in time, so this is the task for tomorrow.

#DecemberAdventure #AlpineLinux


Day #6

After poking around a little bit, the first issue was the off64_t type, which is not needed (and non existent in musl) because it is already 64 bit. So changing this to off_t solved the first problem.

The next issue was several undefined "TRUE" and "FALSE" defines. These are also not part of musl and was easily fixed by changing this to "true" and "false".

The third problem was a weird one. It seemed that this is not an Alpine Linux or musl related problem because a function had a missing parameter. After a long journey to m4, automake and autoconf, I ended up by the "yara" dependency. And indeed, the function got a third parameter years ago. After checking the issue tracker of yextend, the problem was obvious: There are several branches for several versions of yara, up to 4.0.0. But Alpine Linux is shipped with version 4.4.0, which is nowhere compatible with yextend.

So, the main problem here is that yextend need to be fixed to work with yara 4.4.x in order to get this thing compiled nicely. At this point I am not sure if I want to go deeper into yara and fix all the problems here upstream. I will create a new issue in the issue tracker for that and move on. Same goes for the Alpine Linux issue, so everybody is informed of the current status and the next action which need to be taken. But this is a part for tomorrow.

#DecemberAdventure #AlpineLinux


Day #5

Time to build some packages. I've started by reading through the wiki entry for creating Alpine Linux packages, which is fairly comprehensive. yextend (the package I want to build) is not on ArchLinux, so I can not cheat and have a look at the PKGBUILD from ArchLinux to find out which dependencies are needed, how to build the package, what files need to be installed after build and so on. Its a perfect start to do all from scratch.

The "newapkbuild" command gives me a starting point. First obstacle: The makedepends, which need to be installed before building the package. In order to find all dependencies, I ran ./configure in a loop and search missing pieces on the package file search. Some times I consult the APKBUILD files itself to find the subpackages. This is a really nice system on Alpine Linux: Each package is split into the binary distribution, a "-dev" package which contain all headers (like -devel on Debian) and a "-doc" package which contain all documentation (manpages, infopages, example configuration, ...). Also nice is the "abuild checksum" tool, which will update the sha512sums in the APKBUILD file itself.

After a while, "./configure" exits without an error, so next step was "make" -- which failed right after the start. And this is probably the hardest part of creating and maintaining packages on Alpine Linux: Make it work on musl lib. I need to fix yextend to work with musl, but that is a task for tomorrow.

#DecemberAdventure #AlpineLinux


Day #4

Back to something familiar: Maintaining packages. I maintain a bunch of packages on ArchLinux and the PKGBUILD format is quite similar to apk, so it looks fairly easy to adopt some packages or fix some package related issues. Along the way I found a package request for an abandoned project. I've commented this, so it can be closed. The package request for yextend (a zip extension for yara, a malware search tool) seems to be essential as a companion tool to yara. This seems to be the ideal candidate for a start. To actually build some packages, I need some build environment, which I've created.

(As a side note: My #DecemberAdventure log is here: https://okoyono.de/~f/december-adventure.gmi)

https://git.okoyono.de/f/alpinelinux-abuild-workbench

#AlpineLinux


Day #8

My Docker solution to build a dev environment to create Alpine Linux packages did not worked well and I thought to myself: "I can't be the only one with that problem", so I searched a little bit and found a blogpost from @orhun which already build a nice tool for exactly that. I get it up and running, but I struggled with zellij a little (a tiling terminal window manager like screen or tmux). That's all for today, had no time left.

https://blog.orhun.dev/alpine-packaging-setup/

#DecemberAdventure #AlpineLinux


Alpine Linux 3.19.0 Released

We are pleased to announce the release of Alpine Linux 3.19.0, the first in the v3.19 stable series.

Most notably it comes with Linux 6.6 as the new LTS kernel. For other changes, see: https://alpinelinux.org/posts/Alpine-3.19.0-released.html

#AlpineLinux


You can turn any shell command into a powerful TUI with custom keybindings using "**watchbind**" 🚀

🦀 Watch a program's output and execute commands on its lines through keybindings.

⭐ GitHub: https://github.com/fritzrehde/watchbind (written in #rustlang)

🐧 Packaged for #AlpineLinux / #ArchLinux

#commandline #linux #tui #terminal


New #ArchLinux / #AlpineLinux package: `cargo-modules` 🚀

🦀 Render your crate's module/item structure as a tree or graph.

⭐ GitHub: https://github.com/regexident/cargo-modules

🐧https://archlinux.org/packages/extra/x86_64/cargo-modules/

🐧https://pkgs.alpinelinux.org/package/edge/testing/x86_64/cargo-modules

#rustlang #cargo #commandline #dependencies


New #rustlang package dropped for #ArchLinux & #AlpineLinux! 🚀

🦀 **wiki-tui**: A simple and easy to use Wikipedia Text User Interface

⭐ GitHub: https://github.com/Builditluc/wiki-tui

🐧 https://archlinux.org/packages/extra/x86_64/wiki-tui/
🐧 https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/49188

#wikipedia #tui


Here is one of my favorite #rustlang tools ever 🦀

🚀 **tere**:** **A faster alternative to cd + ls

⭐ GitHub: https://github.com/mgunyho/tere

🐧 Also, submitted a package to #AlpineLinux: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/49128

#linux #cli #commandline


systeroid is now available in the #AlpineLinux community repository!

🦀 A more powerful alternative to sysctl(8) with a terminal user interface.

⭐ GitHub: https://github.com/orhun/systeroid/

🐧 Alpine: https://pkgs.alpinelinux.org/package/edge/community/x86/systeroid

#linux #kernel #rustlang


New package dropped for #ArchLinux & #AlpineLinux! 🚀

🦀 cargo-machete: Remove unused #rustlang dependencies with this one weird trick!

⭐ GitHub: https://github.com/bnjbvr/cargo-machete

Arch: https://archlinux.org/packages/extra/x86_64/cargo-machete/

Alpine: https://pkgs.alpinelinux.org/package/edge/testing/x86_64/cargo-machete