THE WRITER MUST EAT -> patreon.com/trn1ty <- | \ | | blah! |\ | `\|\ | the rantings and ravings |/ |(_|| | * of a depraved lunatic <^> 2023-10-21 : fuck unrar I run Chimera Linux, an Alpine-based operating system still in its very early stages but stable enough that I trust it for my meager, mostly console and X11 based workflow. It can run a C compiler, so good enough for me. The only issue is, despite being based on Alpine, a popular operating system not for desktop but for embedded environments like containers, for which a lot of software is packaged and available in system repositories, Chimera does not have a lot of packages. I'm going to package UNRAR, a non-free ("freeware") tool that has no dependencies aside from the C++ standard library, to get a feel for Alpine packaging. UNRAR is an almost delightful little tool with the unfortunate, heinous problem of being non-free, and its license forbidding the use of the provided source code for reimplementation - otherwise I would just rewrite it in sane C89 without encumbrence. But we don't need to read the source code in order to compile the C++. The Alpine Wiki section on Creating an Alpine package says to apk add alpine-sdk but Chimera has no such thing so hopefully that's fine. It says to check out the aports tree but I don't want to put my packages upstream (dealing with large software projects is tiresome and I know Chimera is in a constant state of flux). I did this: # mkdir -p /var/cache/distfiles # chmod a+w /var/cache/distfiles I now need abuild-keygen according to the wiki but it isn't installed. $ apk search abuild-keygen pulled up nothing. Nor did a package contents search. Maybe it's fine? On a whim I searched cbuild* in the contents search and found apk:base-cbuild-progs. # apk add base-cbuild-progs (1/1) Installing base-cbuild-progs (0.1-r2) OK: 2083 MiB in 896 packages On the Chimera Linux website I found the Chimera-specific packaging stuff. There is a cports repository with Packaging.md but it's kind of long so I'll use it as a reference while following the less complete Alpine guide. This is the rat bastard approach to software but I am doing this for my own uses and for pleasure and I don't wanna spend five hours contributing to this project right now because I am tired. I need newapkbuild but don't have it so I'll try to find the default template on-line or go off an existing thingy. I found contrib/jq/template.py so I'll copy that. pkgname = "unrar" What's the pkgver? $ cd /usr/local/src/unrar -sh: 5: cd: can't cd to /usr/local/src/unrar $ cd /usr/local/src $ ls $ Connection to tebibyte.media closed. ; # oops ; cd /usr/local/src/unrar ; cat version.hpp #define RARVER_MAJOR 6 #define RARVER_MINOR 24 #define RARVER_BETA 1 #define RARVER_DAY 17 #define RARVER_MONTH 9 #define RARVER_YEAR 2023 # apk del qemu-system-x86_64 <^> No rights reserved, all rights exercised, rights turned to lefts, left in this corner of the web.