чување 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:
измењених датотека: 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