Dear Martin, On 07.11.2021 21:25, Martin Michel wrote:
On the other hand, being a CRUX newbie and just looking at the error, it was not obvious to me that this results from not having run various pre/post-installation scripts in the docbook dependencies.
True, but there is no real good way for us to actually step in there and make this more obvious, unfortunately. READMEs along Pkgfiles are often ignored as well, so writing them might feel like a useless task, it might be better to make this more clear and explain the severity in the handbook.
So far, CRUX is really awesome and I am wondering more and more why package (and system) management I have experienced in other distributions had to be so complicated/opaque/unsatisfactory.
Well, it has it's own shortcomings. You can't say anywhere e.g. to build libreoffice with qt support and without gtk3, it will always build gtk3, and optionally enable qt support when you have qt5 installed, or other scenarios. CRUX chooses to be simple, but that also means that you might need to dig into stuff when you expect/want certain stuff, because best we can do is enable stuff optionally (extreme examples might be ffmpeg and mpd), but if you uninstall any of that, your install might break. Few further tipps: - If you haven't already found out about revdep, this is something you might want to look into (opt/prt-utils). - Even CRUX veterans often forget simple procedures, so your hick up today wasn't anything special ;-) Another thing you might trip over in the future is when ports (usually when changing from autotools to something more modern like cmake or meson) stop providing la files, the following script is something I have stored as a shell function to use at convenience whenever neccessary: ```sh rebuild-lib() { prt-cache update -fr \ `for f in $(/usr/bin/grep -lr "$*" /usr/lib/ 2> /dev/null | sed 's|.*/||'); \ do prt-get fsearch $f | /usr/bin/grep '^Found in' | sed -e 's|.*/||' -e 's|:$||'; \ done | sort -u | xargs prt-cache isinst | /usr/bin/grep -e 'is installed' | awk '{ print $2 }'`; ``` It takes the la file, say `libfreetype.la`, and will find any library that references the la file (it's just autotools trash) and rebuild it. See the following commit from not too long ago [1] and see that libfreetype.la is not longer around [1]. Glad you like your experience so far! All the best, Tim [1] https://crux.nu/gitweb/?p=ports/opt.git;a=commitdiff;h=0a0506972c45a330511ca...