galeb

Једноставна статичка дистрибуција заснована на musl-у
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување 65a2815d1fd79bc34b1b0472130dd575dff7b8f3
родитељ f9ade8d993f2a71b5d5b0d1f3c820b531803b5f4
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Wed, 13 Jul 2022 13:34:26 +0200

Bugfix for netbsd-curses MKPK script, small documentation changes; lib/impostors: New file

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
M03-chroot.sh | 7+++++--
MBUGS | 5+++++
MFAQ | 1+
Alib/impostors | 29+++++++++++++++++++++++++++++
измењених датотека: 4, додавања: 40(+), брисања: 2(-)

diff --git a/03-chroot.sh b/03-chroot.sh @@ -1125,9 +1125,12 @@ mkpk_name() printf "%s" "${pkg}" } - CFLAGS='-O3 -march=native -mtune=native -pipe' +mkpk_install() +{ + CFLAGS='-O3 -march=native -mtune=native -pipe -static --static -fcommon' + LDFLAGS='-static --static -fcommon' DESTDIR=/build - export CFLAGS DESTDIR + export CFLAGS DESTDIR LDFLAGS make ${JN} PREFIX=/ all install || exit 1 } diff --git a/BUGS b/BUGS @@ -7,6 +7,11 @@ Known bugs/Errata everything from the start just because of that. If you are compiling from source, they should compile statically and go to /bin as intended. +* Other packages having dynamic binaries in /bin (only until a workaround): + - LibreSSL + - mandoc + See lib/impostors for a current report when building (needs table(1)). + * utmp is nonfunctional as I have been reluctant to include skalibs. That might change in a future version of Galeb. diff --git a/FAQ b/FAQ @@ -85,6 +85,7 @@ A: Galeb doesn't follow FHS. Instead, it builds on https://sta.li/filesystem/ - Programs I couldn't easily configure to be statically compiled yet (eg. Perl) - that could change over time, - Programs which in my opinion suck. + Also see BUGS. * There is also /local serving the purpose of /usr/local. diff --git a/lib/impostors b/lib/impostors @@ -0,0 +1,29 @@ +#!/bin/sh + +. ./lib/env.sh + +cols='' +if [ -n "$1" ]; then + cols="-c $1" +fi + +{ + cd ${GR} + printf "Program\tStatic/Dynamic\tDirectory\n" + find bin sucks/bin -type f | \ + while read -r file; do + type=$(file ${file}) + printf "%s\t" ${file##*/} + case ${type} in + *static*) printf "S\t";; + *dynamic*) printf "D\t";; + *) printf "\t";; + esac + printf "%s\n" ${file%/*} + done + cd - >/dev/null 2>&1 +} | awk '{ + FS="\t" + if (NR==1 || ($2=="D" && $3=="bin") || ($2=="S" && $3=="sucks/bin")) + print; +}' | table -d "$(printf '\t')" ${cols} | less -S