galeb

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

чување 096560298562c874d35e0c447c6fc9519e7c7264
родитељ 110b45b58e00569fc54434049dfba3bd53a194f9
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Tue, 13 Sep 2022 18:16:27 +0200

Convert majority of packages and libraries to static; LibreSSL -> OpenSSL, NetBSD-curses -> ncurses

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

Diffstat:
M01-cross.sh | 23++++++++++++++++++++++-
M03-packages.sh | 2269++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------
M04-finale.sh | 16++++++++--------
M05-mkbootimage.sh | 2+-
MBOOTING | 4++--
MBUGS | 6------
MFAQ | 1-
MTODO | 23+++++++++++++++++++----
Mart/galeb | 2+-
Mart/galeb-bw.ansi | 2+-
Mart/galeb.ansi | 2+-
Mfil/README.1st | 3++-
Mfil/man/man8/galeb.8 | 4++--
Mfil/smdev-phkr/etc/smdev/add/01-uuid | 2+-
Mlib/dirs.tsv | 1+
Mlib/env.sh | 2+-
Mlib/fun.sh | 9++++++---
Mlib/pkgs.tsv | 13+++++++++----
Mpat/proot-galeb/proot-makefile.patch | 4++--
Apat/ttf2pt1-galeb/fix-makefile-malformed-utf-8.patch | 26++++++++++++++++++++++++++
измењених датотека: 20, додавања: 1553(+), брисања: 861(-)

diff --git a/01-cross.sh b/01-cross.sh @@ -332,6 +332,9 @@ else fi end_substep +LD_LIBRARY_PATH=/tools/lib:${LD_LIBRARY_PATH} +export LD_LIBRARY_PATH + begin_substep file-5.41 if [ -x ${CT}/bin/file ]; then msg info "%s exists, skipping %s" ${CT}/bin/file ${pkg} @@ -1282,7 +1285,7 @@ end_step # tools begin_step utilities -totalsubsteps=2 +totalsubsteps=3 substep=1 begin_substep mksh-20220709 @@ -1335,6 +1338,24 @@ else fi end_substep +begin_substep which-2.21 +if [ -x ${TL}/bin/which ]; then + msg info "%s exists, skipping %s" ${TL}/bin/which ${pkg} +else + extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.gz + ( + cd_or_fail ${G_SRC}/${pkg} + run_configure . \ + --prefix=/${TLD} \ + --build=${G_HOST} \ + --host=${G_TARGET} + run_make ${JN} + run_make install + ) || exit 1 + remove_dir ${G_SRC}/${pkg} +fi +end_substep + begin_substep sled-0.10.8 if [ -x ${TL}/bin/sled ]; then msg info "%s exists, skipping %s" ${TL}/bin/sled ${pkg} diff --git a/03-packages.sh b/03-packages.sh @@ -33,7 +33,7 @@ msg info "Creating symlinks" begin_step "packages" -totalsubsteps=128 +totalsubsteps=133 substep=1 msg info "Creating temporary links" @@ -203,7 +203,7 @@ mkpk_install() ( CC=${G_TARGET}-gcc CXX=${G_TARGET}-g++ - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -fPIC' PATH=/${TLD}/bin:${PATH} export CC CXX CFLAGS PATH @@ -302,7 +302,7 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -fPIC' export CFLAGS ./configure --prefix=/ \\ --libdir=/lib \\ @@ -342,7 +342,7 @@ mkpk_install() { ./configure --prefix=/ \\ --enable-static \\ - CFLAGS='-Os -pipe -static --static -fcommon' \\ + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' \\ LDFLAGS='-static --static -fcommon' make ${JN} make DESTDIR=/build install-strip @@ -358,8 +358,8 @@ printf "%s\t%s\t%s\n" file 5.41 "${timestamp}" >>${G_PKGDB} end_substep begin_substep readline-8.1 -if [ -e /sucks/lib/libreadline.so.8.1 ]; then - msg info "%s exists, skipping %s" /bin/file ${pkg} +if [ -e /lib/libreadline.a ]; then + msg info "%s exists, skipping %s" /lib/libreadline.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -378,12 +378,18 @@ mkpk_name() mkpk_install() { - ./configure --prefix=/sucks \\ - --disable-static \\ - --docdir=/sucks/share/doc/readline-8.1 \\ - CFLAGS='-Os -pipe' - make ${JN} SHLIB_LIBS='-L/'${TLD}'/lib -lncursesw' - make SHLIB_LIBS='-L/'${TLD}'/lib -lncursesw' DESTDIR=/build install + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ + DESTDIR=/build + export CFLAGS LDFLAGS PREFIX DESTDIR + + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ + --docdir=/share/doc/readline-8.1 + + make ${JN} + make DESTDIR="\${DESTDIR}" install } ! mkpk ${pkg} @@ -396,8 +402,8 @@ printf "%s\t%s\t%s\n" readline 8.1 "${timestamp}" >>${G_PKGDB} end_substep begin_substep m4-1.4.19 -if [ -x /sucks/bin/m4 ]; then - msg info "%s exists, skipping %s" /sucks/bin/m4 ${pkg} +if [ -x /bin/m4 ]; then + msg info "%s exists, skipping %s" /bin/m4 ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -416,10 +422,16 @@ mkpk_name() mkpk_install() { - ./configure --prefix=/sucks \\ - CFLAGS='-Os -pipe' - make ${JN} - make DESTDIR=/build install-strip + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ + DESTDIR=/build + export CFLAGS LDFLAGS PREFIX DESTDIR + + ./configure --prefix="\${PREFIX}" || exit 1 + + make ${JN} || exit 1 + make DESTDIR="\${DESTDIR}" install-strip } ! mkpk ${pkg} @@ -432,8 +444,8 @@ printf "%s\t%s\t%s\n" m4 1.4.19 "${timestamp}" >>${G_PKGDB} end_substep begin_substep pkgconf-1.8.0 -if [ -L /sucks/bin/pkg-config ]; then - msg info "%s exists, skipping %s" /sucks/bin/pkg-config ${pkg} +if [ -L /bin/pkg-config ]; then + msg info "%s exists, skipping %s" /bin/pkg-config ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -448,8 +460,14 @@ mkpk_name() mkpk_install() { - ./configure --prefix=/sucks \\ - --docdir=/sucks/share/doc/pkgconf-1.80 \\ + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ + DESTDIR=/build + export CFLAGS LDFLAGS PREFIX DESTDIR + + ./configure --prefix="\${PREFIX}" \\ + --docdir=/share/doc/pkgconf-1.8.0 \\ --sysconfdir=/etc \\ --localstatedir=/var \\ --with-pkg-config-dir=/local/lib/pkgconfig:\\ @@ -457,18 +475,24 @@ mkpk_install() /sucks/lib/pkgconfig:/sucks/share/pkgconfig:/opt/qt5/lib/pkgconfig \\ --with-system-includedir=/local/include:/include:\\ /sucks/include \\ - --with-system-libdir=/local/lib:/lib:/sucks/lib - make ${JN} - make DESTDIR=/build install + --with-system-libdir=/local/lib:/lib:/sucks/lib || exit 1 - mkdir -pv ../build/sucks/bin + make ${JN} || exit 1 + make DESTDIR="\${DESTDIR}" install || exit 1 + + mkdir -pv \${DESTDIR}\${PREFIX}/bin - ln -sv pkgconf ../build/sucks/bin/${G_TARGET}-pkg-config - ln -sv pkgconf ../build/sucks/bin/pkg-config + ln -sv pkgconf \${DESTDIR}\${PREFIX}/bin/${G_TARGET}-pkg-config + ln -sv pkgconf \${DESTDIR}\${PREFIX}/bin/pkg-config - mkdir -pv ../build/sucks/share/man/man1 + mkdir -pv \${DESTDIR}\${PREFIX}/share/man/man1 - ln -sv pkgconf.1 ../build/sucks/share/man/man1/pkg-config.1 + ln -sv pkgconf.1 \${DESTDIR}\${PREFIX}/share/man/man1/pkg-config.1 + + mkdir -p /build/sucks/share/aclocal + mv /build/share/aclocal/* /build/sucks/share/aclocal/ + rmdir /build/share/aclocal || true + rmdir /build/share || true } ! mkpk ${pkg} @@ -591,8 +615,8 @@ mv_or_fail specs ${SPECFILE} unset SPECFILE begin_substep binutils-2.38 -if [ -x /sucks/bin/ar ]; then - msg info "%s exists, skipping %s" /sucks/bin/ar ${pkg} +if [ -x /bin/ar ]; then + msg info "%s exists, skipping %s" /bin/ar ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -621,18 +645,21 @@ mkpk_install() { CC=${G_TARGET}-gcc CXX=${G_TARGET}-g++ - CFLAGS='-Os -pipe -I/include -I/sucks/include' + CFLAGS='-Os -pipe -I/include -I/sucks/include ' + CFLAGS+='-static --static -fcommon -fPIC' CXXFLAGS=\${CFLAGS} CPPFLAGS='' + LDFLAGS='-static --static -fcommon -s' PATH=/${TLD}/bin:${PATH} + PREFIX=/ DESTDIR=/build EXTRA_CONFIG=' --enable-targets=x86_64-pep ' TARGET_LIB_PATH=/local/lib:/lib:/sucks/lib - export CC CXX CFLAGS CXXFLAGS CPPFLAGS DESTDIR EXTRA_CONFIG - export TARGET_LIB_PATH PATH + export CC CXX CFLAGS CXXFLAGS CPPFLAGS LDFLAGS DESTDIR EXTRA_CONFIG + export TARGET_LIB_PATH PATH PREFIX ./configure \\ - --prefix=/sucks \\ + --prefix="\${PREFIX}" \\ --enable-gold \\ --enable-ld=default \\ --enable-plugins \\ @@ -654,7 +681,7 @@ mkpk_install() make ${JN} tooldir=/sucks || exit 1 make tooldir=/sucks install-strip - ln -sf ld.bfd ../build/sucks/bin/ld + ln -sf ld.bfd ../build/bin/ld mkdir -p ../build/include install -m 644 include/libiberty.h ../build/include/ install -m 644 include/demangle.h ../build/include/ @@ -675,8 +702,8 @@ printf "%s\t%s\t%s\n" binutils 2.38 "${timestamp}" >>${G_PKGDB} end_substep begin_substep libgmp-6.2.1 -if [ -x /sucks/lib/libgmp.so.10.4.1 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libgmp.so.10.4.1 ${pkg} +if [ -e /lib/libgmp.a ]; then + msg info "%s exists, skipping %s" /lib/libgmp.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -691,18 +718,20 @@ mkpk_name() mkpk_install() { - CFLAGS= + CFLAGS='-Os -pipe -fPIC' + LDFLAGS='-s' + PREFIX=/ DESTDIR=/build export CFLAGS DESTDIR ./configure \\ - --prefix=/sucks \\ + --prefix="\${PREFIX}" \\ --enable-cxx \\ - --disable-static \\ + --enable-static \\ --docdir=/share/doc/${pkg} make ${JN} - make install + make DESTDIR="\${DESTDIR}" install } ! mkpk ${pkg} @@ -715,8 +744,8 @@ printf "%s\t%s\t%s\n" libgmp 6.2.1 "${timestamp}" >>${G_PKGDB} end_substep begin_substep libmpfr-4.1.0 -if [ -x /sucks/lib/libmpfr.so.6.1.0 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libmpfr.so.6.1.0 ${pkg} +if [ -e /lib/libmpfr.a ]; then + msg info "%s exists, skipping %s" /lib/libmpfr.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -731,15 +760,18 @@ mkpk_name() mkpk_install() { - CC=gcc - CFLAGS= + CFLAGS='-Os -pipe -fPIC' + LDFLAGS='-s' + PREFIX=/ DESTDIR=/build - export CFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR + CC=/${TLD}/bin/${G_TARGET}-gcc \\ + CXX=/${TLD}/bin/${G_TARGET}-g++ \\ ./configure \\ - --prefix=/sucks \\ - --disable-static \\ - --with-gmp-include=/sucks/include \\ + --prefix="\${PREFIX}" \\ + --with-gmp-include=/include \\ + --enable-static \\ --enable-thread-safe \\ --docdir=/share/doc/${pkg} @@ -757,8 +789,8 @@ printf "%s\t%s\t%s\n" libmpfr 4.1.0 "${timestamp}" >>${G_PKGDB} end_substep begin_substep libmpc-1.2.1 -if [ -x /sucks/lib/libmpc.so.3.2.1 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libmpc.so.3.2.1 ${pkg} +if [ -e /lib/libmpc.a ]; then + msg info "%s exists, skipping %s" /lib/libmpc.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -773,14 +805,17 @@ mkpk_name() mkpk_install() { - CC=gcc - CFLAGS= + CFLAGS='-Os -pipe -fPIC' + CPPFLAGS='-I/sucks/include -I/include' + LDFLAGS='-s' + PREFIX=/ DESTDIR=/build - export CFLAGS DESTDIR + export CFLAGS CPPFLAGS LDFLAGS PREFIX DESTDIR + CC=/${TLD}/bin/${G_TARGET}-gcc \\ ./configure \\ - --prefix=/sucks \\ - --disable-static \\ + --prefix="\${PREFIX}" \\ + --with-gmp-include=/include \\ --docdir=/share/doc/${pkg} make ${JN} @@ -797,8 +832,8 @@ printf "%s\t%s\t%s\n" libmpc 1.2.1 "${timestamp}" >>${G_PKGDB} end_substep begin_substep libisl-0.24 -if [ -x /sucks/lib/libisl.so.23.1.0 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libisl.so.23.1.0 ${pkg} +if [ -e /lib/libisl.a ]; then + msg info "%s exists, skipping %s" /lib/libisl.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -813,17 +848,20 @@ mkpk_name() mkpk_install() { - CC=gcc - CFLAGS= - LIBS='-lgmp -lmpfr -lmpc' + CFLAGS='-Os -pipe -fPIC' + CPPFLAGS='-I/sucks/include -I/include' + LDFLAGS='-s' + PREFIX=/ DESTDIR=/build - export CFLAGS DESTDIR LIBS + export CFLAGS CPPFLAGS LDFLAGS PREFIX DESTDIR echo '#!/bin/sh' >missing + CC=/${TLD}/bin/${G_TARGET}-gcc \\ ./configure \\ - --prefix=/sucks \\ - --disable-static \\ + --prefix="\${PREFIX}" \\ + --with-gmp=system \\ + --with-gmp-prefix=/ \\ --docdir=/share/doc/${pkg} make ${JN} @@ -850,7 +888,7 @@ else cd_or_fail ${G_SRC}/${pkg} /${TLD}/bin/sed -i \ -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \ - -e 's@/var/spool/mail@/var/mail@' etc/login.defs + etc/login.defs # The limit has been lowered in musl, and it remained the same # in shadow 4.9 @@ -868,11 +906,12 @@ mkpk_name() mkpk_install() { CFLAGS='-Os -pipe -static --static -fcommon '\ -'-DENCRYPTMETHOD_SELECT' +'-DENCRYPTMETHOD_SELECT -fPIC' LDFLAGS='-static --static -fcommon' DESTDIR=/build export CFLAGS LDFLAGS DESTDIR + CC=/${TLD}/bin/${G_TARGET}-gcc \\ ./configure \\ --with-group-name-max-length=32 \\ --with-sha-crypt \\ @@ -912,12 +951,11 @@ if [ ! -e ${G_SRC}/pwchanged ]; then fi begin_substep gcc-11-20220101 -if [ -x /sucks/bin/gcc ]; then - msg info "%s exists, skipping %s" /sucks/bin/gcc ${pkg} +if [ -x /bin/gcc ]; then + msg info "%s exists, skipping %s" /bin/gcc ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else - remove_dir ${G_SRC}/${pkg} extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.xz ( cd_or_fail ${G_SRC}/${pkg} @@ -938,18 +976,25 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -I/sucks/include -I/include -L/sucks/lib -L/lib' + CFLAGS='-Os -pipe -static --static -fcommon ' + CFLAGS+='-I/sucks/include -I/include ' + CFLAGS+='-static-libgcc -static-libstdc++ -fPIC' CXXFLAGS=\${CFLAGS} CPPFLAGS='' + LDFLAGS='-L/sucks/lib -L/lib -static --static -fcommon -s ' + #LDFLAGS+='-L./x86_64-linux-musl/libgcc' + PREFIX=/ DESTDIR=/build - export CFLAGS CXXFLAGS CPPFLAGS DESTDIR + export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS PREFIX DESTDIR + CC=/${TLD}/bin/${G_TARGET}-gcc \\ SED=/${TLD}/bin/sed libat_cv_have_ifunc=no \\ ./configure \\ - --prefix=/sucks \\ + --prefix="\${PREFIX}" \\ --build=${GR_TRI} \\ + --disable-shared \\ --enable-languages=c,c++,lto \\ - --with-pkgversion='Galeb 2.0-20220707' \\ + --with-pkgversion='Galeb 2.1-20220909' \\ --with-arch=${G_ARCH_EXT} \\ --with-ppl=yes \\ --with-cloog=yes \\ @@ -982,15 +1027,23 @@ mkpk_install() --with-linker-hash-style=gnu \\ --with-isl || exit 1 + cd libiberty + CC=/${TLD}/bin/${G_TARGET}-gcc \\ + SED=/${TLD}/bin/sed libat_cv_have_ifunc=no \\ + ./configure \\ + --prefix="\${PREFIX}" \\ + --build=${GR_TRI} || exit 1 + cd - >/dev/null + make ${JN} || exit 1 make install-strip - CFLAGS+='-static --static -fcommon' - LDFLAGS='-static --static -fcommon' - export CFLAGS LDFLAGS - cc -fpie \${CFLAGS} ../${FLD}/musl/getent.c -o getent - cc -fpie \${CFLAGS} ../${FLD}/musl/getconf.c -o getconf - cc -fpie \${CFLAGS} ../${FLD}/musl/iconv.c -o iconv + #CFLAGS+='-static --static -fcommon' + #LDFLAGS='-static --static -fcommon' + #export CFLAGS LDFLAGS + cc \${CFLAGS} ../${FLD}/musl/getent.c -o getent + cc \${CFLAGS} ../${FLD}/musl/getconf.c -o getconf + cc \${CFLAGS} ../${FLD}/musl/iconv.c -o iconv install -dm 755 ../build/bin install -m 755 getent ../build/bin/ @@ -1000,17 +1053,20 @@ mkpk_install() install -m 644 ../${FLD}/musl/getent.1 ../build/share/man/man1/ install -m 644 ../${FLD}/musl/getconf.1 ../build/share/man/man1/ - install -dm 755 ../build/sucks/lib - ln -s ../bin/cpp ../build/sucks/lib - ln -s gcc ../build/sucks/bin/cc + install -dm 755 ../build/lib + ln -s ../bin/cpp ../build/lib + ln -s gcc ../build/bin/cc - install -dm 755 ../build/sucks/lib/bfd-plugins + install -dm 755 ../build/lib/bfd-plugins ln -s ../../libexec/gcc/$(gcc -dumpmachine)/11.2.1/liblto_plugin.so \\ - ../build/sucks/lib/bfd-plugins/ + ../build/lib/bfd-plugins/ install -dm 755 ../build/share/gdb/auto-load/usr/lib find ../build -name '*gdb.py' -exec mv {} \\ ../build/share/gdb/auto-load/usr/lib \\; + + mv ../build/lib64/* ../build/lib/ + rmdir ../build/lib64 } ! mkpk ${pkg} @@ -1040,17 +1096,18 @@ gcc -dumpspecs | sed -e 's,/'${TLD}',,g' \ -e '/\*startfile_prefix_spec:/{n;s,.*,/local/lib/ /lib/ /sucks/lib/ '\ ',}' \ -e '/\*cpp:/{n;s,$, -I /local/include -I /include -I /sucks/include '\ -',}' > specs +',}' \ + -e 's,lib64,lib,g'> specs mv_or_fail specs ${SPECFILE} unset SPECFILE PATH=/bin:/sucks/bin:/${TLD}/bin export PATH -for lib in gcc_s.so gcc_s.so.1 stdc++.a stdc++.so stdc++.so.6 -do - remove_file /lib/lib${lib} -done +#for lib in gcc_s.so gcc_s.so.1 stdc++.a stdc++.so stdc++.so.6 +#do +# remove_file /lib/lib${lib} +#done begin_substep tinycc-20220708 if [ -x /bin/tcc ]; then @@ -1084,10 +1141,10 @@ mkpk_install() --config-musl \\ --sysincludepaths=/local/include:/include:/sucks/include \\ --crtprefix=/lib \\ - --libpaths=/local/lib:/lib:/sucks/lib + --libpaths=/local/lib:/lib:/sucks/lib || exit 1 - make clean - make ${JN} + make clean || exit 1 + make ${JN} || exit 1 make install-strip } ! @@ -1100,6 +1157,92 @@ timestamp=$(date +'%Y-%m-%d %T') printf "%s\t%s\t%s\n" tinycc 20220708 "${timestamp}" >>${G_PKGDB} end_substep +begin_substep grep-3.7 +if [ -x /sucks/bin/grep ]; then + msg info "%s exists, skipping %s" /sucks/bin/grep ${pkg} +elif [ -e ${G_SPKG}/gnu-grep-3.7.tar.xz ]; then + unpack_pkg ${pkg} / +else + extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.xz gnu-grep-3.7 + ( + cd_or_fail ${G_SRC}/gnu-grep-3.7 + + cat <<! >MKPK +mkpk_name() +{ + printf "%s" "gnu-grep-3.7" +} + +mkpk_install() +{ + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon' + PREFIX=/sucks + DESTDIR=/build + export CFLAGS LDFLAGS PREFIX DESTDIR + + ./configure --prefix="\${PREFIX}" || exit 1 + + make ${JN} || exit 1 + make install-strip || exit 1 + + for m in \${DESTDIR}\${PREFIX}/share/man/man1/*.1 + do + mv \$m \${DESTDIR}\${PREFIX}/share/man/man1/gnu-\${m##*/} + done +} +! + mkpk gnu-grep-3.7 + remove_dir ${G_SRC}/gnu-grep-3.7 + unpack_pkg gnu-grep-3.7 / + ) || exit 1 +fi +timestamp=$(date +'%Y-%m-%d %T') +printf "%s\t%s\t%s\n" gnu-grep 3.7 "${timestamp}" >>${G_PKGDB} +end_substep + +begin_substep sed-4.8 +if [ -x /sucks/bin/sed ]; then + msg info "%s exists, skipping %s" /sucks/bin/sed ${pkg} +elif [ -e ${G_SPKG}/gnu-sed-4.8.tar.xz ]; then + unpack_pkg ${pkg} / +else + extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.xz gnu-sed-4.8 + ( + cd_or_fail ${G_SRC}/gnu-sed-4.8 + + cat <<! >MKPK +mkpk_name() +{ + printf "%s" "gnu-sed-4.8" +} + +mkpk_install() +{ + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon' + PREFIX=/sucks + DESTDIR=/build + export CFLAGS LDFLAGS PREFIX DESTDIR + + ./configure --prefix="\${PREFIX}" || exit 1 + + make ${JN} || exit 1 + make install-strip || exit 1 + + mv \${DESTDIR}\${PREFIX}/share/man/man1/sed.1 \\ + \${DESTDIR}\${PREFIX}/share/man/man1/gnu-sed.1 +} +! + mkpk gnu-sed-4.8 + remove_dir ${G_SRC}/gnu-sed-4.8 + unpack_pkg gnu-sed-4.8 / + ) || exit 1 +fi +timestamp=$(date +'%Y-%m-%d %T') +printf "%s\t%s\t%s\n" gnu-sed 4.8 "${timestamp}" >>${G_PKGDB} +end_substep + begin_substep bzip2-1.0.8 if [ -x /bin/bzip2 ]; then msg info "%s exists, skipping %s" /bin/bzip2 ${pkg} @@ -1130,22 +1273,22 @@ mkpk_install() { CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' + PREFIX=/ DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure \\ - --prefix=/ + ./configure --prefix="\${PREFIX}" || exit 1 - make ${JN} - make install-strip + make ${JN} || exit 1 + make install-strip || exit 1 - mv -v ../build/lib/libbz2.so.1.0.0 ../build/lib/libbz2.so.1.0.8 - rm -v ../build/lib/libbz2.so ../build/lib/libbz2.so.1 - ln -sv libbz2.so.1.0.8../build/lib/libbz2.so - ln -sv libbz2.so.1.0.8../build/lib/libbz2.so.1 + #mv ../build/lib/libbz2.so.1.0.0 ../build/lib/libbz2.so.1.0.8 + #rm ../build/lib/libbz2.so ../build/lib/libbz2.so.1 + #ln -s libbz2.so.1.0.8../build/lib/libbz2.so + #ln -s libbz2.so.1.0.8../build/lib/libbz2.so.1 - ln -sv bzip2 ../build/bin/bunzip2 - ln -sv bzip2 ../build/bin/bzcat + ln -s bzip2 ../build/bin/bunzip2 + ln -s bzip2 ../build/bin/bzcat } ! mkpk ${pkg} @@ -1158,8 +1301,8 @@ printf "%s\t%s\t%s\n" bzip2 1.0.8 "${timestamp}" >>${G_PKGDB} end_substep begin_substep zstd-1.5.0 -if [ -x /sucks/bin/zstd ]; then - msg info "%s exists, skipping %s" /sucks/bin/zstd ${pkg} +if [ -x /bin/zstd ]; then + msg info "%s exists, skipping %s" /bin/zstd ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -1175,19 +1318,30 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' CXXFLAGS=\${CFLAGS} + PREFIX=/ # Deliberate for meson DESTDIR=/build LIBS=-lstdc++ - export CFLAGS CXXFLAGS DESTDIR LIBS + export CFLAGS LDFLAGS CXXFLAGS PREFIX DESTDIR LIBS - make ${JN} || exit 1 - make -C contrib/pzstd || exit 1 - make prefix=/sucks install || exit 1 - make prefix=/sucks -C contrib/pzstd install || exit 1 + (cd build/meson + meson setup \\ + --prefix="\${PREFIX}" \\ + -Dbin_programs=true \\ + -Dbin_contrib=true \\ + -Ddefault_library=static \\ + -Dstatic_runtime=true \\ + b - mv -v ../build/usr/local/bin/pzstd ../build/sucks/bin || exit 1 - rm -frv ../build/usr/local || exit 1 + cd b + /${TLD}/bin/sed -i 's,/lib/libz.so,/lib/libz.a,g' \\ + meson-info/intro-dependencies.json + /${TLD}/bin/sed -i 's,/lib/libz.so,/lib/libz.a,g' \\ + build.ninja + ninja ${JN} + ninja install) } ! mkpk ${pkg} @@ -1199,13 +1353,51 @@ timestamp=$(date +'%Y-%m-%d %T') printf "%s\t%s\t%s\n" zstd 1.5.0 "${timestamp}" >>${G_PKGDB} end_substep -begin_substep netbsd-curses-0.3.2 -if [ -e /lib/libncurses.so ]; then - msg info "%s exists, skipping %s" /lib/libncurses.so ${pkg} +# Had to switch to ncurses for neomutt +# begin_substep netbsd-curses-0.3.2 +# if [ -e /lib/libncurses.so ]; then +# msg info "%s exists, skipping %s" /lib/libncurses.so ${pkg} +# elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then +# unpack_pkg ${pkg} / +# else +# #extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.xz +# ( +# cd_or_fail ${G_SRC}/${pkg} +# +# cat <<! >MKPK +# mkpk_name() +# { +# printf "%s" "${pkg}" +# } +# +# mkpk_install() +# { +# CFLAGS='-Os -pipe -static --static -fcommon -fPIC' +# LDFLAGS='-static --static -fcommon' +# DESTDIR=/build +# export CFLAGS DESTDIR LDFLAGS +# +# make ${JN} PREFIX=/ all install || exit 1 +# } +# ! +# mkpk ${pkg} +# remove_dir ${G_SRC}/${pkg} +# unpack_pkg ${pkg} / +# ) || exit 1 +# fi +# +# timestamp=$(date +'%Y-%m-%d %T') +# printf "%s\t%s\t%s\n" netbsd-curses 0.3.2 "${timestamp}" >>${G_PKGDB} +# end_substep + + +begin_substep ncurses-6.2 +if [ -e /lib/libncursesw.a ]; then + msg info "%s exists, skipping %s" /lib/libncursesw.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else - extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.xz + extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.gz ( cd_or_fail ${G_SRC}/${pkg} @@ -1217,12 +1409,44 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + CXXFLAGS=\${CFLAGS} + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS DESTDIR LDFLAGS + export CFLAGS CXXFLAGS LDFLAGS PREFIX DESTDIR + + /${TLD}/bin/sed -i s/mawk// configure + + ./configure --prefix="\${PREFIX}" \\ + --without-shared \\ + --without-debug \\ + --without-ada \\ + --with-pkg-config-libdir=/lib/pkgconfig \\ + --with-termpath=/etc/termcap:/share/misc/termcap \\ + --enable-pc-files \\ + --enable-widec \\ + --enable-ext-colors \\ + --enable-ext-mouse \\ + --enable-sigwinch \\ + --enable-overwrite + + make ${JN} PREFIX="\${PREFIX}" DESTDIR="\${DESTDIR}" all install \\ + || exit 1 + + for lib in ncurses ncurses++ form panel menu + do + ln -s lib\${lib}w.a \${DESTDIR}/lib/lib\${lib}.a + ln -s \${lib}w.pc \${DESTDIR}/lib/pkgconfig/\${lib}.pc + done - make ${JN} PREFIX=/ all install || exit 1 + ln -s libncursesw.a \${DESTDIR}/lib/libcursesw.a + ln -s libncurses.a \${DESTDIR}/lib/libcurses.a + + for lib in tic tinfo + do + ln -s ncursesw.pc \${DESTDIR}/lib/pkgconfig/\${lib}.pc + done } ! mkpk ${pkg} @@ -1230,8 +1454,10 @@ mkpk_install() unpack_pkg ${pkg} / ) || exit 1 fi +end_substep + timestamp=$(date +'%Y-%m-%d %T') -printf "%s\t%s\t%s\n" netbsd-curses 0.3.2 "${timestamp}" >>${G_PKGDB} +printf "%s\t%s\t%s\n" ncurses 6.2 "${timestamp}" >>${G_PKGDB} end_substep begin_substep attr-2.5.1 @@ -1252,14 +1478,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' DESTDIR=/build export CFLAGS LDFLAGS DESTDIR - ./configure --prefix=/ \ - --bindir=/bin \ - --sysconfdir=/etc \ + ./configure --prefix="\${PREFIX}" \\ + --bindir=/bin \\ + --sysconfdir=/etc \\ --docdir=/share/doc/${pkg} make ${JN} || exit 1 @@ -1293,14 +1519,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' DESTDIR=/build export CFLAGS LDFLAGS DESTDIR - ./configure --prefix=/ \ - --bindir=/bin \ - --libexecdir=/lib \ + ./configure --prefix="\${PREFIX}" \\ + --bindir=/bin \\ + --libexecdir=/lib \\ --docdir=/share/doc/${pkg} make ${JN} || exit 1 @@ -1317,8 +1543,8 @@ printf "%s\t%s\t%s\n" acl 2.3.1 "${timestamp}" >>${G_PKGDB} end_substep begin_substep libcap-2.62 -if [ -x /sucks/bin/getcap ]; then - msg info "%s exists, skipping %s" /sucks/bin/getcap ${pkg} +if [ -x /bin/getcap ]; then + msg info "%s exists, skipping %s" /bin/getcap ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -1334,12 +1560,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' DESTDIR=/build - export CFLAGS DESTDIR + export CFLAGS LDFLAGS DESTDIR - make ${JN} prefix=/sucks lib=lib || exit 1 - make prefix=/sucks lib=lib PKGCONFDIR=/sucks/lib/pkgconfig install + make ${JN} prefix="\${PREFIX}" lib=lib SHARED=no GOLANG=no \\ + DESTDIR="\${DESTDIR}" PKGCONFDIR=\${PREFIX}/lib/pkgconfig install } ! mkpk ${pkg} @@ -1353,8 +1580,8 @@ end_substep # Needed for libxslt begin_substep libxml2-2.9.12 -if [ -e /sucks/lib/libxml2.so.2.9.12 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libxml2.so.2.9.12 ${pkg} +if [ -e /lib/libxml2.a ]; then + msg info "%s exists, skipping %s" /lib/libxml2.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -1373,20 +1600,27 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ DESTDIR=/build - export CFLAGS DESTDIR LDFLAGS + export CFLAGS LDFLAGS PREFIX DESTDIR autoreconf -vif - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ --with-history \\ - --with-python=/sucks/bin/python3 \\ + --with-python=/bin/python3 \\ --with-icu \\ --with-threads make ${JN} DESTDIR=\${DESTDIR} install || exit 1 + + mkdir -p /build/sucks/share/aclocal + mv /build/share/aclocal/* /build/sucks/share/aclocal/ + rmdir /build/share/aclocal || true + rmdir /build/share || true } ! mkpk ${pkg} @@ -1400,8 +1634,8 @@ end_substep # Needed for PRoot begin_substep libxslt-1.1.35 -if [ -e /sucks/lib/libxslt.so.1.1.35 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libxslt.so.1.1.35 ${pkg} +if [ -e /lib/libxslt.a ]; then + msg info "%s exists, skipping %s" /lib/libxslt.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -1417,17 +1651,23 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ DESTDIR=/build - export CFLAGS DESTDIR LDFLAGS + export CFLAGS LDFLAGS PREFIX DESTDIR /${TLD}/bin/sed -i s/3000/5000/ libxslt/transform.c doc/xsltproc.1 \\ doc/xsltproc.xml - ./configure --prefix=/sucks + ./configure --prefix="\${PREFIX}" --disable-shared || exit 1 make ${JN} DESTDIR=\${DESTDIR} install || exit 1 + + mkdir -p /build/sucks/share/aclocal + mv /build/share/aclocal/* /build/sucks/share/aclocal/ + rmdir /build/share/aclocal || true + rmdir /build/share || true } ! mkpk ${pkg} @@ -1457,14 +1697,15 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build export CFLAGS LDFLAGS DESTDIR ac_cv_func_malloc_0_nonnull=yes \ ac_cv_func_realloc_0_nonnull=yes \ - ./configure --prefix=/ \ + ./configure --prefix="\${PREFIX}" \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-selinux \ @@ -1533,15 +1774,20 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' + PREFIX=/sucks DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ + --enable-static make ${JN} || exit 1 make install-strip + + mkdir -p /build/sucks/share/aclocal } ! mkpk ${pkg} @@ -1571,12 +1817,15 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/ + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ + --enable-static make ${JN} || exit 1 make install-strip @@ -1609,14 +1858,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' - export CFLAGS LDFLAGS + PREFIX='' + DESTDIR=/build + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/build/ --sysconfdir=/etc + ./configure --prefix="\${PREFIX}" --sysconfdir=/etc make ${JN} || exit 1 - make install-strip + make DESTDIR="\${DESTDIR}" install-strip } ! mkpk ${pkg} @@ -1629,8 +1880,8 @@ printf "%s\t%s\t%s\n" less 590 "${timestamp}" >>${G_PKGDB} end_substep begin_substep gdbm-1.20 -if [ -x /sucks/bin/gdbmtool ]; then - msg info "%s exists, skipping %s" /sucks/bin/gdbmtool ${pkg} +if [ -x /bin/gdbmtool ]; then + msg info "%s exists, skipping %s" /bin/gdbmtool ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -1646,13 +1897,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS= + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon' DESTDIR=/build export CFLAGS LDFLAGS DESTDIR - ./configure --prefix=/sucks \ - --disable-static \ + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ --enable-libgdbm-compat make ${JN} || exit 1 @@ -1669,8 +1920,8 @@ printf "%s\t%s\t%s\n" gdbm 1.20 "${timestamp}" >>${G_PKGDB} end_substep begin_substep gperf-3.1 -if [ -x /sucks/bin/gperf ]; then - msg info "%s exists, skipping %s" /sucks/bin/gperf ${pkg} +if [ -x /bin/gperf ]; then + msg info "%s exists, skipping %s" /bin/gperf ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -1686,13 +1937,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - CXXFLAGS='-Os -pipe' - LDFLAGS= + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + CXXFLAGS=\${CFLAGS} + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS CXXFLAGS LDFLAGS DESTDIR + export CFLAGS CXXFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \ + ./configure --prefix="\${PREFIX}" \\ --docdir=/share/doc/${pkg} make ${JN} || exit 1 @@ -1709,8 +1961,8 @@ printf "%s\t%s\t%s\n" gperf 3.1 "${timestamp}" >>${G_PKGDB} end_substep begin_substep expat-2.4.8 -if [ -x /sucks/bin/xmlwf ]; then - msg info "%s exists, skipping %s" /sucks/bin/xmlwf ${pkg} +if [ -x /bin/xmlwf ]; then + msg info "%s exists, skipping %s" /bin/xmlwf ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -1726,13 +1978,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS= + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \ - --disable-static \ + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ --docdir=/share/doc/${pkg} make ${JN} || exit 1 @@ -1766,23 +2019,26 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - sed -i 's|_GL_WARN_ON_USE (gets|//_GL_WARN_ON_USE (gets|' lib/stdio.in.h - echo '#define PATH_PROCNET_DEV "/proc/net/dev"' >> ifconfig/system/linux.h - sed -i 's|port : "whois"|port : "nicname"|' whois/whois.c + /${TLD}/bin/sed -i 's|_GL_WARN_ON_USE (gets|//_GL_WARN_ON_USE (gets|' \\ + lib/stdio.in.h + echo '#define PATH_PROCNET_DEV "/proc/net/dev"' \\ + >> ifconfig/system/linux.h + /${TLD}/bin/sed -i 's|port : "whois"|port : "nicname"|' whois/whois.c - ./configure --prefix=/ \ - --localstatedir=/var \ - --disable-logger \ - --disable-whois \ - --disable-rcp \ - --disable-rexec \ - --disable-rlogin \ - --disable-rsh \ + ./configure --prefix="\${PREFIX}" \\ + --localstatedir=/var \\ + --disable-logger \\ + --disable-whois \\ + --disable-rcp \\ + --disable-rexec \\ + --disable-rlogin \\ + --disable-rsh \\ --disable-servers make ${JN} || exit 1 @@ -1855,8 +2111,7 @@ mkpk_install() -Dusethreads \ -Dcccdlflags='-fPIC' -Dccdlflags='-rdynamic' - make || exit 1 - #make ${JN} || exit 1 + make ${JN} || exit 1 make install-strip mkdir -p ../build/bin @@ -1925,20 +2180,24 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR - PERL=/sucks/bin/perl - export PERL + export CFLAGS LDFLAGS PREFIX DESTDIR PERL - sed -i 's:\\\${:\\\$\\{:' intltool-update.in + /${TLD}/bin/sed -i 's:\\\${:\\\$\\{:' intltool-update.in - ./configure --prefix=/ + ./configure --prefix="\${PREFIX}" make ${JN} || exit 1 make install-strip + + mkdir -p /build/sucks/share/aclocal + mv /build/share/aclocal/* /build/sucks/share/aclocal/ + rmdir /build/share/aclocal || true + rmdir /build/share || true } ! mkpk ${pkg} @@ -1951,8 +2210,8 @@ printf "%s\t%s\t%s\n" intltool 0.51.0 "${timestamp}" >>${G_PKGDB} end_substep begin_substep help2man-1.49.2 -if [ -x /sucks/bin/help2man ]; then - msg info "%s exists, skipping %s" /sucks/bin/help2man ${pkg} +if [ -x /bin/help2man ]; then + msg info "%s exists, skipping %s" /bin/help2man ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -1968,15 +2227,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS= + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks + ./configure --prefix="\${PREFIX}" make ${JN} || exit 1 - make install DESTDIR=/build + make DESTDIR="\${DESTDIR}" install } ! mkpk ${pkg} @@ -2006,12 +2266,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS= + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon' + PREFIX=/sucks DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks + ./configure --prefix="\${PREFIX}" make ${JN} || exit 1 make install-strip @@ -2044,12 +2305,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS= - DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/sucks + DESTDIR=/build + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks --docdir=/sucks/share/doc/${pkg} + ./configure --prefix="\${PREFIX}" \\ + --docdir=/sucks/share/doc/${pkg} make ${JN} || exit 1 make install-strip @@ -2083,12 +2346,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS= + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/sucks DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks + ./configure --prefix="\${PREFIX}" make install } @@ -2103,8 +2367,8 @@ printf "%s\t%s\t%s\n" autoconf-archive 2022.02.11 "${timestamp}" >>${G_PKGDB} end_substep begin_substep musl-fts-1.2.7 -if [ -x /lib/libfts.so.0.0.0 ]; then - msg info "%s exists, skipping %s" /lib/libfts.so.0.0.0 ${pkg} +if [ -e /lib/libfts.a ]; then + msg info "%s exists, skipping %s" /lib/libfts.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.gz ]; then unpack_pkg ${pkg} / else @@ -2120,15 +2384,19 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -fPIC' - LDFLAGS= + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - sed -i '/pkgconfig_DATA/i pkgconfigdir=/lib/pkgconfig' Makefile.am + /${TLD}/bin/sed -i '/pkgconfig_DATA/i pkgconfigdir=/lib/pkgconfig' \\ + Makefile.am ./bootstrap.sh - ./configure --prefix=/ --sysconfdir=/etc --localstatedir=/var + ./configure --prefix="\${PREFIX}" \\ + --sysconfdir=/etc \\ + --localstatedir=/var make ${JN} || exit 1 make install-strip @@ -2161,15 +2429,19 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -fPIC' - LDFLAGS= + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - sed -i '/pkgconfig_DATA/i pkgconfigdir=/lib/pkgconfig' Makefile.am + /${TLD}/bin/sed -i '/pkgconfig_DATA/i pkgconfigdir=/lib/pkgconfig' \\ + Makefile.am ./bootstrap.sh - ./configure --prefix=/ --sysconfdir=/etc --localstatedir=/var + ./configure --prefix="\${PREFIX}" \\ + --sysconfdir=/etc \\ + --localstatedir=/var make ${JN} || exit 1 make install-strip @@ -2243,15 +2515,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/ \ - --sysconfdir=/etc \ - --with-xz \ - --with-zlib \ + ./configure --prefix="\${PREFIX}" \\ + --sysconfdir=/etc \\ + --with-xz \\ + --with-zlib \\ --with-zstd make ${JN} || exit 1 @@ -2259,7 +2532,7 @@ mkpk_install() for p in depmod insmod lsmod modinfo modprobe rmmod do - ln -sfv kmod /build/bin/\$p + ln -sf kmod /build/bin/\$p done } ! @@ -2293,23 +2566,25 @@ mkpk_name() mkpk_install() { + PREFIX='' + DESTDIR=/build + export PREFIX DESTDIR + cat <<@ >config.mak -CFLAGS=-Os -pipe -static --static -fcommon -LDFLAGS=-static --static -fcommon +CFLAGS=-Os -pipe -static --static -fcommon -fPIC +LDFLAGS=-static --static -fcommon -s @ - sed -i 's,/usr/local,,g' Makefile + /${TLD}/bin/sed -i 's,/usr/local,,g' Makefile make LIBINTL=MUSL ${JN} || exit 1 - make LIBINTL=MUSL DESTDIR=/build prefix=/ install + make LIBINTL=MUSL DESTDIR="\${DESTDIR}" prefix="\${PREFIX}" install - # Fix sucky aclocal mkdir -p /build/sucks/share/aclocal - cd /build/share/aclocal - find . -type l -cnewer /timestamp | \\ - while read -r link; do - ln -sv ../../../share/aclocal/\$(readlink \${link}) \\ - /build/sucks/share/aclocal/ + rm -fr /build/share/aclocal + for f in /build/share/gettext-tiny/m4/* + do + ln -s ../../../share/gettext-tiny/m4/\${f##*/} \\ + /build/sucks/share/aclocal/\${f##*/} done - cd - >/dev/null 2>&1 } ! mkpk ${pkg} @@ -2380,10 +2655,15 @@ mkpk_install() { chmod +x configure - CFLAGS='-Os -pipe -fPIC' \\ - ./configure --prefix=/ \\ + PREFIX='' + export PREFIX + + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' \\ + LDFLAGS='-static --static -fcommon -s' \\ + ./configure --prefix="\${PREFIX}" \\ --sysconfdir=/etc \\ --localstatedir=/var + make ${JN} || exit 1 mkdir -p /build/lib @@ -2402,6 +2682,8 @@ timestamp=$(date +'%Y-%m-%d %T') printf "%s\t%s\t%s\n" argp-standalone 1.4.1 "${timestamp}" >>${G_PKGDB} end_substep +# libelf's autoconf script explicitly tests for __thread support +# by hardcoding -shared, thus: sucks. begin_substep libelf-0.186 if [ -e /sucks/lib/libelf-0.186.so ]; then msg info "%s exists, skipping %s" /sucks/lib/libelf-0.186.so ${pkg} @@ -2422,16 +2704,17 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -fPIC' CFLAGS+=' -DFNM_EXTMATCH=0 -Wno-error -Wno-error=null-dereference' CFLAGS+=' -Wl,-z,stack-size=2097152' - LDFLAGS='' + LDFLAGS='-s' + PREFIX='/sucks' DESTDIR=/build export CFLAGS LDFLAGS DESTDIR autoreconf -vif - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ --disable-debuginfod \\ --enable-libdebuginfod=dummy || exit 1 @@ -2453,8 +2736,8 @@ printf "%s\t%s\t%s\n" libelf 0.186 "${timestamp}" >>${G_PKGDB} end_substep begin_substep libffi-3.4.2 -if [ -e /sucks/lib/libffi.so.8.1.0 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libffi.so.8.1.0 ${pkg} +if [ -e /lib/libffi.a ]; then + msg info "%s exists, skipping %s" /lib/libffi.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -2473,15 +2756,17 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' + INCDIR=/include DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX INCDIR DESTDIR - ./configure --prefix=/sucks \\ - --enable-shared \\ + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ --enable-static \\ - --includedir=/sucks/include \\ + --includedir="\${INCDIR}" \\ --disable-multi-os-directory \\ --with-pic @@ -2498,10 +2783,9 @@ timestamp=$(date +'%Y-%m-%d %T') printf "%s\t%s\t%s\n" libffi 3.4.2 "${timestamp}" >>${G_PKGDB} end_substep -# LibreSSL doesn't suck, even though technically IMHO it should belong in /sucks -# since currently I don't see a clear way to produce both static and dynamic -# libraries while keeping binaries static -begin_substep libressl-3.4.2 +# Switched to OpenSSL because of (later potentially installed) fetchmail's legal +# requirements... -_- +begin_substep openssl-3.0.5 if [ -e /lib/libssl.a ]; then msg info "%s exists, skipping %s" /lib/libssl.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then @@ -2519,20 +2803,19 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ # deliberate (config requires absolute path) DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR - - autoreconf -vif - - ./configure --prefix=/ \\ - --sysconfdir=/etc \\ - --mandir=/share/man \\ - --localstatedir=/var + export CFLAGS LDFLAGS PREFIX DESTDIR + + ./config --prefix="\${PREFIX}" \\ + --openssldir=/etc/ssl \\ + --libdir=/lib \\ + no-shared zlib make ${JN} || exit 1 - make install-strip + make MANSUFFIX=ssl DESTDIR=\${DESTDIR} install } ! mkpk ${pkg} @@ -2541,9 +2824,55 @@ mkpk_install() ) || exit 1 fi timestamp=$(date +'%Y-%m-%d %T') -printf "%s\t%s\t%s\n" libressl 3.4.2 "${timestamp}" >>${G_PKGDB} +printf "%s\t%s\t%s\n" openssl 3.0.5 "${timestamp}" >>${G_PKGDB} end_substep +# # LibreSSL doesn't suck, even though technically IMHO it should belong in /sucks +# # since currently I don't see a clear way to produce both static and dynamic +# # libraries while keeping binaries static +# begin_substep libressl-3.4.2 +# if [ -e /lib/libssl.a ]; then +# msg info "%s exists, skipping %s" /lib/libssl.a ${pkg} +# elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then +# unpack_pkg ${pkg} / +# else +# extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.gz +# ( +# cd_or_fail ${G_SRC}/${pkg} +# +# cat <<! >MKPK +# mkpk_name() +# { +# printf "%s" "${pkg}" +# } +# +# mkpk_install() +# { +# CFLAGS='-Os -pipe' +# LDFLAGS='' +# DESTDIR=/build +# export CFLAGS LDFLAGS DESTDIR +# +# autoreconf -vif +# +# ./configure --prefix=/ \\ +# --sysconfdir=/etc \\ +# --mandir=/share/man \\ +# --localstatedir=/var +# +# make ${JN} || exit 1 +# make install-strip +# } +# ! +# mkpk ${pkg} +# remove_dir ${G_SRC}/${pkg} +# unpack_pkg ${pkg} / +# ) || exit 1 +# fi +# timestamp=$(date +'%Y-%m-%d %T') +# printf "%s\t%s\t%s\n" libressl 3.4.2 "${timestamp}" >>${G_PKGDB} +# end_substep + begin_substep ca-certificates-20211016 if [ -e /bin/update-ca-certificates ]; then msg info "%s exists, skipping %s" /bin/update-ca-certificates ${pkg} @@ -2552,7 +2881,6 @@ elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then mkdir -p /etc/ssl/certs update-ca-certificates chmod 0644 /share/ca-certificates/*.crt - chmod 0644 /share/ca-certificates/mozilla/*.crt else extract_pkg ${G_SRC} work ${pkg}.tar.xz ${pkg} ( @@ -2572,8 +2900,10 @@ mkpk_name() mkpk_install() { + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' DESTDIR=/build - export DESTDIR + export CFLAGS LDFLAGS DESTDIR cc \${CFLAGS} -o mozilla/certdata2pem certdata2pem.c @@ -2617,7 +2947,6 @@ mkpk_install() mkdir -p /etc/ssl/certs update-ca-certificates chmod 0644 /share/ca-certificates/*.crt - chmod 0644 /share/ca-certificates/mozilla/*.crt ) || exit 1 fi timestamp=$(date +'%Y-%m-%d %T') @@ -2625,7 +2954,7 @@ printf "%s\t%s\t%s\n" ca-certificates 20211016 "${timestamp}" >>${G_PKGDB} end_substep begin_substep curl-7.84.0 -if [ -e /sucks/bin/curl ]; then +if [ -e /bin/curl ]; then msg info "%s exists, skipping %s" /sucks/bin/curl ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / @@ -2642,41 +2971,47 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' CFLAGS+=' -D_FORTIFY_SOURCE=2 -I/include' CPPFLAGS='-D_FORTIFY_SOURCE=2' - LDFLAGS='' + LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR autoreconf -vif || exit 1 ac_cv_sizeof_off_t=8 \\ - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ --enable-threaded-resolver \\ --with-ca-path=/etc/ssl/certs \\ --enable-ipv6 \\ --enable-unix-sockets \\ --with-pic \\ --with-openssl \\ - --disable-static \\ + --disable-shared \\ --without-libssh2 || exit 1 make ${JN} || exit 1 make install-strip + + mkdir -p /build/sucks/share/aclocal + mv /build/share/aclocal/* /build/sucks/share/aclocal/ + rmdir /build/share/aclocal || true + rmdir /build/share || true } ! mkpk ${pkg} - #remove_dir ${G_SRC}/${pkg} - #unpack_pkg ${pkg} / + remove_dir ${G_SRC}/${pkg} + unpack_pkg ${pkg} / ) || exit 1 fi timestamp=$(date +'%Y-%m-%d %T') printf "%s\t%s\t%s\n" curl 7.84.0 "${timestamp}" >>${G_PKGDB} end_substep -begin_substep Python-3.9.9 +begin_substep Python-3.10.7 if [ -x /sucks/bin/python3 ]; then msg info "%s exists, skipping %s" /sucks/bin/python3 ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then @@ -2704,38 +3039,36 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -fPIC' + LDFLAGS='-s' + PREFIX='/sucks' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \ - --enable-shared \ - --with-system-expat \ - --with-system-ffi \ - --with-ensurepip=yes \ - --enable-ipv6 \ - --with-threads \ - --enable-loadable-sqlite-extensions \ - --with-computed-gotos + ax_cv_c_float_words_bigendian=no \\ + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ + --with-system-expat \\ + --with-system-ffi \\ + --with-ensurepip=yes \\ + --enable-ipv6 \\ + --with-threads \\ + --enable-loadable-sqlite-extensions \\ + --with-computed-gotos \\ + --with-static-libpython make ${JN} || exit 1 - make install - - chmod 755 /build/sucks/lib/libpython3.9.so + make DESTDIR=\${DESTDIR} install - ln -sv python3.9 /build/sucks/bin/python - ln -sv python3.9-config /build/sucks/bin/python-config - ln -sv idle3.9 /build/sucks/bin/idle - ln -sv pydoc3.9 /build/sucks/bin/pydoc - ln -sv python3.9.1 /build/sucks/share/man/man1/python.1 + ln -s python3.10 /build/sucks/bin/python + ln -s python3.10-config /build/sucks/bin/python-config + ln -s idle3.10 /build/sucks/bin/idle + ln -s pydoc3.10 /build/sucks/bin/pydoc + ln -s python3.10.7 /build/sucks/share/man/man1/python.1 - # To get around Python scripts which hardcode shebang as /usr/bin/python - # or /usr/bin/python3 + # Account for /usr/bin/python shebangs mkdir -p /build/bin - ln -sv /sucks/bin/python3.9 /build/bin/python - ln -sv /sucks/bin/python3.9 /build/bin/python3 - ln -sv /sucks/bin/python3.9 /build/bin/python3.9 + ln -s /sucks/bin/python3.10 /build/bin/python } ! mkpk ${pkg} @@ -2744,7 +3077,7 @@ mkpk_install() ) || exit 1 fi timestamp=$(date +'%Y-%m-%d %T') -printf "%s\t%s\t%s\n" Python 3.9.9 "${timestamp}" >>${G_PKGDB} +printf "%s\t%s\t%s\n" Python 3.10.7 "${timestamp}" >>${G_PKGDB} end_substep begin_substep samurai-1.2 @@ -2765,15 +3098,17 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - make PREFIX=/ ${JN} || exit 1 - make PREFIX=/ install + make PREFIX="\${PREFIX}" ${JN} || exit 1 + make PREFIX="\${PREFIX}" install - ln -sv samu /build/bin/ninja + /${TLD}/bin/ln -s samu /build/bin/ninja + /${TLD}/bin/ln -s samu.1 /build/share/man/man1/ninja.1 } ! mkpk ${pkg} @@ -2803,12 +3138,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' - export CFLAGS LDFLAGS + CFLAGS='-Os -pipe -static --static -fcommon' + LDFLAGS='-static --static -fcommon -s' + DESTDIR=/build + export CFLAGS LDFLAGS DESTDIR python3 setup.py build - python3 setup.py install --root=/build + python3 setup.py install --root="\${DESTDIR}" } ! mkpk ${pkg} @@ -2821,8 +3157,8 @@ printf "%s\t%s\t%s\n" meson 0.61.3 "${timestamp}" >>${G_PKGDB} end_substep begin_substep procps-ng-3.3.17 -if [ -e /sucks/bin/top ]; then - msg info "%s exists, skipping %s" /sucks/bin/top ${pkg} +if [ -e /bin/top ]; then + msg info "%s exists, skipping %s" /bin/top ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -2838,48 +3174,35 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' # Fix utmp CFLAGS+=' -DUT_NAMESIZE=0 -DUT_LINESIZE=0 -DUT_HOSTSIZE=0' CFLAGS+=' -D__UT_NAMESIZE=0 -D__UT_LINESIZE=0 -D__UT_HOSTSIZE=0' - LDFLAGS='' + LDFLAGS='-static --static -fcommon -fPIC -s' + PREFIX='' DESTDIR=/build export CFLAGS LDFLAGS DESTDIR - autoreconf -vif || exit 1 - /${TLD}/bin/sed -i '1i#include <langinfo.h>' proc/escape.c ac_cv_func_malloc_0_nonnull=yes \ ac_cv_func_realloc_0_nonnull=yes \ - ./configure --prefix=/sucks \ - --exec-prefix= \ - --libdir=/sucks/lib \ - --docdir=/sucks/share/doc/${pkg} \ - --disable-kill \ - --without-systemd \ + ./configure --prefix="\${PREFIX}" \\ + --exec-prefix='' \\ + --libdir=/lib \\ + --docdir=/share/doc/${pkg} \\ + --disable-kill \\ + --without-systemd \\ --disable-modern-top make ${JN} || exit 1 make DESTDIR=\${DESTDIR} install - mkdir -p /build/sucks/bin - ln -s bin /build/sucks/sbin - /${TLD}/bin/find /build/bin -type f -cnewer /timestamp | \\ - xargs -I{} mv {} /build/sucks/bin/ - /${TLD}/bin/find /build/sbin -type f -cnewer /timestamp | \\ - xargs -I{} mv {} /build/sucks/sbin/ - - # Fix sucky install scripts - mv /build/bin/* /build/sucks/bin/ - mv /build/sbin/* /build/sucks/sbin/ - rm -fr /build/bin /build/sbin - # Overlap with ubase for duplicate in free pidof ps pwdx sysctl uptime watch do - rm -f /build/sucks/bin/\${duplicate} - rm -f /build/sucks/share/man/man1/\${duplicate}.1 + rm -f /build/bin/\${duplicate} + rm -f /build/share/man/man1/\${duplicate}.1 done } ! @@ -2909,8 +3232,8 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' DESTDIR=/build export CFLAGS LDFLAGS DESTDIR @@ -2940,8 +3263,8 @@ printf "%s\t%s\t%s\n" awk 20220709 "${timestamp}" >>${G_PKGDB} end_substep begin_substep check-0.15.2 -if [ -e /sucks/bin/checkmk ]; then - msg info "%s exists, skipping %s" /sucks/bin/checkmk ${pkg} +if [ -e /bin/checkmk ]; then + msg info "%s exists, skipping %s" /bin/checkmk ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -2957,17 +3280,23 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks --disable-static + ./configure --prefix="\${PREFIX}" --disable-shared make ${JN} || exit 1 - make install + make install-strip - sed -i '1s,/tools,,' /build/sucks/bin/checkmk + /${TLD}/bin/sed -i '1s,/tools,,' /build/bin/checkmk + + mkdir -p /build/sucks/share/aclocal + mv /build/share/aclocal/* /build/sucks/share/aclocal/ + rmdir /build/share/aclocal || true + rmdir /build/share || true } ! mkpk ${pkg} @@ -2980,8 +3309,8 @@ printf "%s\t%s\t%s\n" check 0.15.2 "${timestamp}" >>${G_PKGDB} end_substep begin_substep diffutils-3.8 -if [ -e /sucks/bin/diff ]; then - msg info "%s exists, skipping %s" /sucks/bin/diff ${pkg} +if [ -e /bin/diff ]; then + msg info "%s exists, skipping %s" /bin/diff ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -2997,15 +3326,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks + ./configure --prefix="\${PREFIX}" make ${JN} || exit 1 - make install + make DESTDIR="\${DESTDIR}" install } ! mkpk ${pkg} @@ -3017,16 +3347,20 @@ timestamp=$(date +'%Y-%m-%d %T') printf "%s\t%s\t%s\n" diffutils 3.8 "${timestamp}" >>${G_PKGDB} end_substep -begin_substep groff-1.22.4 -if [ -e /sucks/bin/groff ]; then - msg info "%s exists, skipping %s" /sucks/bin/groff ${pkg} +begin_substep libuv-1.44.1 +if [ -e /lib/libuv.a ]; then + msg info "%s exists, skipping %s" /lib/libuv.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else - extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.gz + extract_pkg ${G_SRC} libuv-v1.44.1 ${pkg}.tar.gz ${pkg} ( cd_or_fail ${G_SRC}/${pkg} + + apply_patch packages -Np1 -i \ + ${G_PAT}/libuv-mlfs/autogen-hardcode.patch + cat <<! >MKPK mkpk_name() { @@ -3035,19 +3369,19 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' - DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR - PAGE=A4 \\ - ./configure --prefix=/sucks \\ - --with-urw-fonts-dir=/sucks/share/fonts/type1/gsfonts + CFLAGS='-pipe ' + CFLAGS+='-Os -ffat-lto-objects -flto=4 ' + LDFLAGS='-flto=4 -Wl,-O2 -Wl,--as-needed -pthread ' + PREFIX='' + DESTDIR=/build + export CFLAGS LDFLAGS PREFIX DESTDIR -#'--with-urw-fonts-dir=DIR' -#http://downloads.ghostscript.com/public/fonts/urw-base35-v1.10.zip + NOCONFIGURE=1 ./autogen.sh || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --disable-shared - make || exit 1 + make ${JN} || exit 1 make install } ! @@ -3057,22 +3391,79 @@ mkpk_install() ) || exit 1 fi timestamp=$(date +'%Y-%m-%d %T') -printf "%s\t%s\t%s\n" groff 1.22.4 "${timestamp}" >>${G_PKGDB} +printf "%s\t%s\t%s\n" libuv 1.44.1 "${timestamp}" >>${G_PKGDB} end_substep -begin_substep libuv-1.44.1 -if [ -e /sucks/lib/libuv.so.1.0.0 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libuv.so.1.0.0 ${pkg} +begin_substep cmake-3.23.2 +if [ -e /sucks/bin/cmake ]; then + msg info "%s exists, skipping %s" /sucks/bin/cmake ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else - extract_pkg ${G_SRC} libuv-v1.44.1 ${pkg}.tar.gz ${pkg} + extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.gz ( cd_or_fail ${G_SRC}/${pkg} + cat <<! >MKPK +mkpk_name() +{ + printf "%s" "${pkg}" +} - apply_patch packages -Np1 -i \ - ${G_PAT}/libuv-mlfs/autogen-hardcode.patch +mkpk_install() +{ + # - Can't be (easily) statically compiled + # - -O3 is deliberate + # - Recompiling takes ages, comparable to GCC + # - cmake is a huge mess; "sucks" is an understatement! + CFLAGS='-O3 -pipe -ffat-lto-objects -flto=auto ' + CXXFLAGS=\${CFLAGS} + LDFLAGS='-flto=auto -Wl,-O3 -Wl,--as-needed -s ' + PREFIX=/sucks + DESTDIR=/build + export CFLAGS CXXFLAGS LDFLAGS DESTDIR + + /${TLD}/bin/sed -i '/"lib64"/s,lib64,sucks/lib,' \\ + Modules/GNUInstallDirs.cmake + + ./bootstrap --prefix="\${PREFIX}" \\ + --system-libs \\ + --mandir=/sucks/share/man \\ + --no-system-jsoncpp \\ + --no-system-librhash \\ + --no-system-curl \\ + --no-system-nghttp2 \\ + --no-system-libarchive \\ + --docdir=/share/doc/${pkg} + + make ${JN} || exit 1 + make DESTDIR="\${DESTDIR}" install + + mkdir -p /build/sucks/share/aclocal + mv /build/share/aclocal/* /build/sucks/share/aclocal/ + rmdir /build/share/aclocal || true + rmdir /build/share || true +} +! + mkpk ${pkg} + remove_dir ${G_SRC}/${pkg} + unpack_pkg ${pkg} / + ) || exit 1 +fi +timestamp=$(date +'%Y-%m-%d %T') +printf "%s\t%s\t%s\n" cmake 3.23.2 "${timestamp}" >>${G_PKGDB} +end_substep + +# Needed for groff +begin_substep uchardet-0.0.7 +if [ -e /bin/groff ]; then + msg info "%s exists, skipping %s" /sucks/bin/groff ${pkg} +elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then + unpack_pkg ${pkg} / +else + extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.xz + ( + cd_or_fail ${G_SRC}/${pkg} cat <<! >MKPK mkpk_name() @@ -3082,18 +3473,66 @@ mkpk_name() mkpk_install() { + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + CXXFLAGS=\${CFLAGS} + LDFLAGS='-static --static -fcommon -fPIC -s' + PREFIX='' + DESTDIR=/build + LIBDIR=lib + export CFLAGS CXXFLAGS LDFLAGS PREFIX DESTDIR - CFLAGS='-pipe ' - CFLAGS+='-Os -ffat-lto-objects -flto=4 ' - LDFLAGS='-flto=4 -Wl,-O2 -Wl,--as-needed -pthread ' + cmake -DCMAKE_INSTALL_PREFIX="\${PREFIX}" -DCMAKE_BUILD_TYPE=Release \\ + -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_LIBDIR="\${LIBDIR}" \\ + || exit 1 + + make || exit 1 + make DESTDIR="\${DESTDIR}" install + + mv /build/usr/* /build/ + rm -fr /build/usr +} +! + mkpk ${pkg} + remove_dir ${G_SRC}/${pkg} + unpack_pkg ${pkg} / + ) || exit 1 +fi +timestamp=$(date +'%Y-%m-%d %T') +printf "%s\t%s\t%s\n" uchardet 0.0.7 "${timestamp}" >>${G_PKGDB} +end_substep + +# Needed for groff to convert fonts to pfb +begin_substep ttf2pt1-3.4.4 +if [ -e /bin/ttf2pt1 ]; then + msg info "%s exists, skipping %s" /bin/ttf2pt1 ${pkg} +elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then + unpack_pkg ${pkg} / +else + extract_pkg ${G_SRC} ${pkg} ${pkg}.tgz + ( + cd_or_fail ${G_SRC}/${pkg} + cp ${G_PAT}/ttf2pt1-galeb/fix-makefile-malformed-utf-8.patch . + + cat <<! >MKPK +mkpk_name() +{ + printf "%s" "${pkg}" +} + +mkpk_install() +{ + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -fPIC -s' DESTDIR=/build + MANDIR='\$(INSTDIR)/share/man' export CFLAGS LDFLAGS DESTDIR - NOCONFIGURE=1 ./autogen.sh || exit 1 - ./configure --prefix=/sucks \\ - --disable-static - - make ${JN} || exit 1 + /${TLD}/bin/sed -i 's,^\\(CFLAGS_SYS= \\).*,\\1'"\${CFLAGS}"',;'\ +'s,^\\(INSTDIR = \\).*,\\1'"\${DESTDIR}"',;'\ +'s,^\\(MANDIR = \\).*,\\1'"\${MANDIR}"',;'\ +'s,^\\(\\s\\)\\+sed ,\\1'"/${TLD}/bin/sed"' ,g' Makefile + patch -Np1 -i fix-makefile-malformed-utf-8.patch + make all || exit 1 make install } ! @@ -3103,16 +3542,21 @@ mkpk_install() ) || exit 1 fi timestamp=$(date +'%Y-%m-%d %T') -printf "%s\t%s\t%s\n" libuv 1.44.1 "${timestamp}" >>${G_PKGDB} +printf "%s\t%s\t%s\n" ttf2pt1 3.4.4 "${timestamp}" >>${G_PKGDB} end_substep -begin_substep cmake-3.23.2 -if [ -e /sucks/bin/cmake ]; then - msg info "%s exists, skipping %s" /sucks/bin/cmake ${pkg} +# # Required for groff (TODO) +# begin_substep ghostscript +# end_substep + +begin_substep groff-1.22.4 +if [ -e /bin/groff ]; then + msg info "%s exists, skipping %s" /sucks/bin/groff ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.gz + extract_pkg ${G_SRC} urw-base35-fonts-20200910 urw-base35-20200910.tar.gz ( cd_or_fail ${G_SRC}/${pkg} @@ -3124,36 +3568,48 @@ mkpk_name() mkpk_install() { - CFLAGS='-pipe ' - CFLAGS+='-Os -ffat-lto-objects -flto=auto ' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' CXXFLAGS=\${CFLAGS} - LDFLAGS='-flto=auto -Wl,-O2 -Wl,--as-needed ' + LDFLAGS='-static --static -fcommon -fPIC -s' + PREFIX='' DESTDIR=/build - export CFLAGS CXXFLAGS LDFLAGS DESTDIR - - sed -i '/"lib64"/s,lib64,sucks/lib,' Modules/GNUInstallDirs.cmake + export CFLAGS CXXFLAGS LDFLAGS PREFIX DESTDIR - ./bootstrap --prefix=/sucks \\ - --system-libs \\ - --mandir=/sucks/share/man \\ - --no-system-jsoncpp \\ - --no-system-librhash \\ - --no-system-curl \\ - --no-system-nghttp2 \\ - --no-system-libarchive \\ - --docdir=/share/doc/${pkg} + mkdir -p /build/share/fonts/type1/gsfonts + cp -r ../urw-base35-fonts-20200910/fonts/* \\ + /build/share/fonts/type1/gsfonts || exit 1 + for f in /build/share/fonts/type1/gsfonts/*.ttf + do + ttf2pt1 -b \$f + done + mkdir -p /build/share/legal/${PKG}/urw-base35-fonts + cp ../urw-base35-fonts-20200910/LICENSE \\ + ../urw-base35-fonts-20200910/COPYING \\ + /build/share/legal/${PKG}/urw-base35-fonts/ || exit 1 + mkdir -p /build/etc/fonts/conf.avail + cp -r ../urw-base35-fonts-20200910/fontconfig/* \\ + /build/etc/fonts/conf.avail/ || exit 1 + rm /build/etc/fonts/conf.avail/README.md + + # TODO: Add ghostscript, because the URW fonts aren't properly + # recognized without it + + PAGE=A4 \\ + ./configure --prefix="\${PREFIX}" \\ + --with-urw-fonts-dir=/build/share/fonts/type1/gsfonts || exit 1 - make ${JN} || exit 1 - make DESTDIR=/build install + make || exit 1 + make install } ! mkpk ${pkg} remove_dir ${G_SRC}/${pkg} + remove_dir ${G_SRC}/urw-base35-fonts-20200910 unpack_pkg ${pkg} / ) || exit 1 fi timestamp=$(date +'%Y-%m-%d %T') -printf "%s\t%s\t%s\n" cmake 3.23.2 "${timestamp}" >>${G_PKGDB} +printf "%s\t%s\t%s\n" groff 1.22.4 "${timestamp}" >>${G_PKGDB} end_substep begin_substep musl-locales-20220708 @@ -3183,12 +3639,13 @@ mkpk_install() { CFLAGS='-Os -pipe -static --static -fcommon' LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR mkdir /cmake-build cd /cmake-build - cmake -DCMAKE_INSTALL_PREFIX=/ \\ + cmake -DCMAKE_INSTALL_PREFIX="\${PREFIX}" \\ -DCMAKE_BUILD_TYPE=Release \\ ../${pkg} || exit 1 make -C /cmake-build ${JN} || exit 1 @@ -3197,7 +3654,7 @@ mkpk_install() -e 's,/usr,,' \\ -e 's,//,,g' 00locale.sh - make -C /cmake-build install + make -C /cmake-build DESTDIR="\${DESTDIR}" install rm -fr /cmake-build } @@ -3246,23 +3703,23 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' DESTDIR=/build export CFLAGS LDFLAGS DESTDIR cat <<@ >configure.local MANPATH_DEFAULT=/share/man:/X11R6/man:/sucks/share/man:/plan9/share/man MANPATH_BASE=/share/man:/X11R6/man:/sucks/share/man:/plan9/share/man -OSNAME='Galeb 2.0' -PREFIX=/ +OSNAME='Galeb 2.1' +PREFIX='' SBINDIR=/bin MANDIR=/share/man BINM_SOELIM=msoelim MANM_ROFF=mandoc_roff -CFLAGS='-Os -pipe' -LDFLAGS='-Wl,-z,relro' -STATIC='-static --static -fcommon' +CFLAGS="\${CFLAGS}" +LDFLAGS="\${LDFLAGS}" +STATIC='-static --static -fcommon -s' BUILD_CATMAN=1 @ ./configure || exit 1 @@ -3301,9 +3758,9 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' CXXFLAGS=\${CFLAGS} - LDFLAGS='-static --static -fcommon' + LDFLAGS='-static --static -fcommon -s' DESTDIR=/build export CFLAGS CXXFLAGS LDFLAGS DESTDIR @@ -3348,8 +3805,8 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' - LDSTATIC='-static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDSTATIC='-static --static -fcommon -s' TARGET_OS=Linux DESTDIR=/build export CFLAGS LDSTATIC TARGET_OS DESTDIR @@ -3456,15 +3913,24 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR + mkdir -p \${DESTDIR}/etc/cron.d \\ + \${DESTDIR}/var/spool/cron/crontabs \\ + \${DESTDIR}/var/spool/cron/cronstamps + + # Badly marked source for copyright (it's GPL*) + sed 11q main.c > COPYING + make ${JN} CFLAGS="\${CFLAGS}" LDFLAGS="\${LDFLAGS}" \\ - DESTDIR=\${DESTDIR} PREFIX= CRONTAB_GROUP=cron || exit 1 + DESTDIR=\${DESTDIR} PREFIX="\${PREFIX}" CRONTAB_GROUP=cron \\ + || exit 1 make CFLAGS="\${CFLAGS}" LDFLAGS="\${LDFLAGS}" DESTDIR=\${DESTDIR} \\ - PREFIX= CRONTAB_GROUP=cron install || exit 1 + PREFIX="\${PREFIX}" CRONTAB_GROUP=cron install || exit 1 chmod 4750 ../build/bin/crontab chmod 4700 ../build/sbin/crond @@ -3502,13 +3968,14 @@ mkpk_install() CFLAGS='-Os -pipe' LDFLAGS='-s' + PREFIX=/sucks DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR YACC + export CFLAGS LDFLAGS PREFIX DESTDIR python3 setup.py build || exit 1 python3 setup.py install --optimize=1 \\ - --prefix=/sucks --root=/build - for py in \$(find /build/sucks/bin -name '*.py') + --prefix="\${PREFIX}" --root="\${DESTDIR}" + for py in \$(find \${DESTDIR}\${PREFIX}/bin -name '*.py') do ln -s \${py##*/} \${py%%.py} done @@ -3541,12 +4008,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/ \\ + ./configure --prefix="\${PREFIX}" \\ --enable-compat-symlinks \\ --mandir=/share/man \\ --docdir=/share/doc/${pkg} || exit 1 @@ -3565,8 +4033,8 @@ printf "%s\t%s\t%s\n" dosfstools 4.2 "${timestamp}" >>${G_PKGDB} end_substep begin_substep pcre-8.45 -if [ -x /sucks/lib/libpcre.so ]; then - msg info "%s exists, skipping %s" /sucks/lib/libpcre.so ${pkg} +if [ -e /lib/libpcre.a ]; then + msg info "%s exists, skipping %s" /lib/libpcre.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -3582,15 +4050,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \\ - --docdir=/sucks/share/doc/${pkg} \\ + ./configure --prefix="\${PREFIX}" \\ + --docdir=/share/doc/${pkg} \\ --enable-static \\ - --enable-shared \\ + --disable-shared \\ --enable-unicode-properties \\ --enable-pcre16 \\ --enable-pcre32 \\ @@ -3613,9 +4082,8 @@ printf "%s\t%s\t%s\n" pcre 8.45 "${timestamp}" >>${G_PKGDB} end_substep begin_substep pcre2-10.39 -if [ -x /sucks/lib/libpcre2-32.so.0.10.4 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libpcre2-32.so.0.10.4 \ - ${pkg} +if [ -e /lib/libpcre2-32.a ]; then + msg info "%s exists, skipping %s" /lib/libpcre2-32.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -3631,15 +4099,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \\ - --docdir=/sucks/share/doc/${pkg} \\ + ./configure --prefix="\${PREFIX}" \\ + --docdir=/share/doc/${pkg} \\ --enable-static \\ - --enable-shared \\ + --disable-shared \\ --enable-unicode \\ --enable-pcre2-16 \\ --enable-pcre2-32 \\ @@ -3662,8 +4131,8 @@ printf "%s\t%s\t%s\n" pcre2 10.39 "${timestamp}" >>${G_PKGDB} end_substep begin_substep git-2.37.1 -if [ -x /sucks/bin/git ]; then - msg info "%s exists, skipping %s" /sucks/bin/git ${pkg} +if [ -x /bin/git ]; then + msg info "%s exists, skipping %s" /bin/git ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -3679,14 +4148,19 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - TAR=/tools/bin/tar - export CFLAGS LDFLAGS DESTDIR TAR + TAR=/${TLD}/bin/tar + export CFLAGS LDFLAGS PREFIX DESTDIR TAR - ./configure --prefix=/sucks \\ + # Have to trick sucky configure into not believing we don't have curl + # (which we *do* have) -_- + ac_cv_lib_curl_curl_global_init=yes \\ + ./configure --prefix="\${PREFIX}" \\ --with-curl \\ + --with-expat \\ --with-openssl \\ --with-libpcre2 \\ --with-gitconfig=/etc/gitconfig || exit 1 @@ -3694,6 +4168,14 @@ mkpk_install() make ${JN} || exit 1 make DESTDIR=\${DESTDIR} perllibdir=/lib/perl5/5.32/site_perl \\ TAR=\${TAR} install + + # Without this, complains about SSL certificate and refuses to clone + # https:// URLs + mkdir -p \${DESTDIR}\${PREFIX}/etc + cat <<'@' >\${DESTDIR}\${PREFIX}/etc/gitconfig +[http] + sslCAinfo = /etc/ssl/certs/ca-certificates.crt +@ } ! mkpk ${pkg} @@ -3723,16 +4205,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' DESTDIR=/build YACC=yacc export CFLAGS LDFLAGS DESTDIR YACC - sed -i '/ARPD/d' Makefile + /${TLD}/bin/sed -i '/ARPD/d' Makefile rm -f man/man8/arpd.8 - sed -i 's/.m_ipt.o//' tc/Makefile - sed -i 's/^LDLIBS\\s*+=.*/& -lz/' Makefile + /${TLD}/bin/sed -i 's/.m_ipt.o//' tc/Makefile + /${TLD}/bin/sed -i 's/^LDLIBS\\s*+=.*/& -lz/' Makefile make NETNS_RUN_DIR=/run/netns ${JN} make DOCDIR=/share/doc/${pkg} install @@ -3749,8 +4231,8 @@ end_substep # Needed for PRoot begin_substep libarchive-3.6.1 -if [ -e /sucks/lib/libarchive.so.13.6.1 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libarchive.so.13.6.1 ${pkg} +if [ -e /lib/libarchive.a ]; then + msg info "%s exists, skipping %s" /lib/libarchive.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -3766,12 +4248,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR YACC + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ --disable-bsdcat \\ --disable-bsdcpio \\ --disable-bsdtar || exit 1 @@ -3838,16 +4321,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' DESTDIR=/build YACC=yacc export CFLAGS LDFLAGS DESTDIR YACC autoreconf -fvi || exit 1 - sed -e '/^PKG_CHECK_MODULES.*/d' -i configure.ac - sed -e 's,tests ,,g' -i Makefile.am + /${TLD}/bin/sed -e '/^PKG_CHECK_MODULES.*/d' -i configure.ac + /${TLD}/bin/sed -e 's,tests ,,g' -i Makefile.am ./configure --prefix=/ --disable-vlock || exit 1 @@ -3872,8 +4355,8 @@ printf "%s\t%s\t%s\n" kbd 2.4.0 "${timestamp}" >>${G_PKGDB} end_substep begin_substep make-4.3 -if [ -x /sucks/bin/make ]; then - msg info "%s exists, skipping %s" /sucks/bin/make ${pkg} +if [ -x /bin/make ]; then + msg info "%s exists, skipping %s" /bin/make ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -3889,12 +4372,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os ' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks + ./configure --prefix="\${PREFIX}" + make ${JN} make install } @@ -3909,8 +4394,8 @@ printf "%s\t%s\t%s\n" make 4.3 "${timestamp}" >>${G_PKGDB} end_substep begin_substep patch-2.7.6 -if [ -x /sucks/bin/patch ]; then - msg info "%s exists, skipping %s" /sucks/bin/patch ${pkg} +if [ -x /bin/patch ]; then + msg info "%s exists, skipping %s" /bin/patch ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -3926,12 +4411,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os ' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks + ./configure --prefix="\${PREFIX}" + make ${JN} make install } @@ -3946,8 +4433,8 @@ printf "%s\t%s\t%s\n" patch 2.7.6 "${timestamp}" >>${G_PKGDB} end_substep begin_substep metalog-20220214 -if [ -x /sucks/sbin/metalog ]; then - msg info "%s exists, skipping %s" /sucks/sbin/metalog ${pkg} +if [ -x /sbin/metalog ]; then + msg info "%s exists, skipping %s" /sbin/metalog ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -3963,14 +4450,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./autogen.sh + autoreconf -vif - ./configure --prefix=/sucks --sysconfdir=/etc || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --sysconfdir=/etc || exit 1 make ${JN} || exit 1 make install-strip @@ -4003,16 +4492,17 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/ + ./configure --prefix="\${PREFIX}" make ${JN} make install - ln -sv reflex /build/bin/flex + ln -s reflex /build/bin/flex } ! mkpk ${pkg} @@ -4067,8 +4557,8 @@ end_substep # Needed for PRoot begin_substep talloc-2.3.4 -if [ -e /sucks/lib/libtalloc.so.2.3.4 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libtalloc.so.2.3.4 ${pkg} +if [ -e /sucks/lib/libtalloc.a ]; then + msg info "%s exists, skipping %s" /sucks/lib/libtalloc.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -4084,20 +4574,22 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -fPIC' LDFLAGS='-s' - DESTDIR=/build PREFIX=/sucks - export CFLAGS LDFLAGS DESTDIR PREFIX + DESTDIR=/build + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=\${PREFIX} || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --disable-rpath \\ + --disable-python || exit 1 make install || exit 1 # Thanks: # https://github.com/green-green-avk/build-proot-android/blob/master/\ # make-talloc-static.sh mkdir -p dummy-bin - PATH="dumm-bin:\${PATH}" + PATH="dummy-bin:\${PATH}" export PATH CFLAGS='-Os -static --static -fcommon -pipe' @@ -4107,7 +4599,7 @@ mkpk_install() ./configure --prefix=\${PREFIX} \\ --disable-rpath \\ --disable-python || exit 1 - ar rcs \${DESTDIR}/\${PREFIX}/lib/libtalloc.a bin/default/talloc*.o + ar rcs \${DESTDIR}\${PREFIX}/lib/libtalloc.a bin/default/talloc*.o } ! mkpk ${pkg} @@ -4120,8 +4612,8 @@ printf "%s\t%s\t%s\n" talloc 2.3.4 "${timestamp}" >>${G_PKGDB} end_substep begin_substep proot-5.3.1 -if [ -x /sucks/bin/proot ]; then - msg info "%s exists, skipping %s" /sucks/bin/proot ${pkg} +if [ -x /bin/proot ]; then + msg info "%s exists, skipping %s" /bin/proot ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -4129,6 +4621,7 @@ else ( cd_or_fail ${G_SRC}/${pkg} + # PRoot's makefile sucks apply_patch packages -Np0 -i \ ${G_PAT}/proot-galeb/proot-makefile.patch @@ -4140,22 +4633,24 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR YACC + export CFLAGS LDFLAGS PREFIX DESTDIR make -C src loader.elf loader-m32.elf build.h || exit 1 make -C src proot || exit 1 make -C doc || exit 1 - install -Dm755 src/proot /build/sucks/bin/proot - install -Dm644 doc/proot/man.1 /build/sucks/share/man/man1/proot.1 + install -Dm755 src/proot \${DESTDIR}\${PREFIX}/bin/proot + install -Dm644 doc/proot/man.1 \\ + \${DESTDIR}\${PREFIX}/share/man/man1/proot.1 install -Dm644 doc/proot/index.html \\ - /build/sucks/share/doc/${pkg}/index.html - install -dm755 /build/sucks/share/doc/${pkg}/stylesheets + \${DESTDIR}\${PREFIX}/share/doc/${pkg}/index.html + install -dm755 \${DESTDIR}\${PREFIX}/share/doc/${pkg}/stylesheets install -m644 doc/proot/stylesheets/* \\ - /build/sucks/share/doc/${pkg}/stylesheets/ + \${DESTDIR}\${PREFIX}/share/doc/${pkg}/stylesheets/ } ! mkpk ${pkg} @@ -4168,8 +4663,8 @@ printf "%s\t%s\t%s\n" proot 5.3.1 "${timestamp}" >>${G_PKGDB} end_substep begin_substep texinfo-6.8 -if [ -x /sucks/bin/texi2dvi ]; then - msg info "%s exists, skipping %s" /sucks/bin/texi2dvi ${pkg} +if [ -x /bin/texi2dvi ]; then + msg info "%s exists, skipping %s" /bin/texi2dvi ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -4185,12 +4680,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os ' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks --disable-static + ./configure --prefix="\${PREFIX}" \\ + --disable-static make ${JN} make install } @@ -4222,12 +4719,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -static --static -fcommon' + CFLAGS='-Os -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/ --enable-mpers=no + ./configure --prefix="\${PREFIX}" \\ + --enable-mpers=no make ${JN} make install-strip @@ -4259,13 +4758,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -static --static -fcommon' - LDFLAGS='-static --static -fcommon' - PREFIX=/build/bin - export CFLAGS LDFLAGS DESTDIR + CFLAGS='-Os -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/build/bin # Deliberate; usleep's makefile is not using + # the usual DESTDIR/PREFIX + export CFLAGS LDFLAGS PREFIX make ${JN} CFLAGS="\${CFLAGS}" LDFLAGS="\${LDFLAGS}" || exit 1 - make install + make PREFIX="\${PREFIX}" install } ! mkpk ${pkg} @@ -4328,8 +4828,8 @@ end_substep # end_substep begin_substep libtermkey-0.22 -if [ -e /lib/libtermkey.so.1.14.2 ]; then - msg info "%s exists, skipping %s" /lib/libtermkey.so.1.14.2 ${pkg} +if [ -e /lib/libtermkey.a ]; then + msg info "%s exists, skipping %s" /lib/libtermkey.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -4345,15 +4845,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os ' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - sed -i -e '/^PREFIX/s,/usr/local,,' Makefile + /${TLD}/bin/sed -i -e '/^PREFIX/s,/usr/local,,' Makefile make ${JN} - make DESTDIR=\${DESTDIR} install + make DESTDIR="\${DESTDIR}" install } ! mkpk ${pkg} @@ -4529,12 +5030,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/ \\ + ./configure --prefix="\${PREFIX}" \\ --sysconfdir=/etc \\ --docdir=/share/doc/${pkg} \\ --disable-selinux \\ @@ -4591,8 +5093,8 @@ end_substep # ERROR: You must have bison installed to build the util-linux. # - Riiiight. begin_substep util-linux-2.38 -if [ -x /sucks/bin/lsblk ]; then - msg info "%s exists, skipping %s" /sucks/bin/lsblk ${pkg} +if [ -x /bin/lsblk ]; then + msg info "%s exists, skipping %s" /bin/lsblk ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -4607,6 +5109,9 @@ else ${G_PAT}/util-linux-mlfs/use-tiparm-when-compiling-\ with-netbsd_curses.patch + cp ${G_FIL}/util-linux-adelie/ttydefaults.h \ + include/ttydefaults.h + cat <<! >MKPK mkpk_name() { @@ -4616,32 +5121,24 @@ mkpk_name() mkpk_install() { CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + CFLAGS+=' -D_DIRENT_HAVE_D_TYPE ' LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build YACC=/${TLD}/bin/yacc - export CFLAGS LDFLAGS DESTDIR YACC + export CFLAGS LDFLAGS PREFIX DESTDIR YACC - mkdir -pv /build/var/lib/hwclock - - cp -v ${G_FIL}/util-linux-adelie/ttydefaults.h include/ + mkdir -p /build/var/lib/hwclock :>config/config.rpath :>config.h.in - libtoolize --force || exit 1 - aclocal -I m4 || exit 1 - autoconf -v || exit 1 - automake --add-missing || exit 1 - - CFLAGS+=' -D_DIRENT_HAVE_D_TYPE ' - export CFLAGS - NOCONFIGURE=1 ./autogen.sh || exit 1 ./configure \\ - --prefix=/sucks \\ + --prefix="\${PREFIX}" \\ ADJTIME_PATH=/var/lib/hwclock/adjtime \\ - --docdir=/sucks/share/doc/util-linux-2.37.4 \\ + --docdir=\${PREFIX}/share/doc/util-linux-2.37.4 \\ --disable-cal \\ --disable-chfn-chsh \\ --disable-eject \\ @@ -4663,13 +5160,13 @@ mkpk_install() --disable-runuser \\ --disable-pylibmount \\ --disable-unshare \\ - --disable-static \\ + --disable-shared \\ --without-python \\ --without-systemd \\ --without-systemdsystemunitdir \\ - --sbindir=/sucks/sbin \\ - --bindir=/sucks/bin \\ - --libdir=/sucks/lib || exit 1 + --sbindir=\${PREFIX}/sbin \\ + --bindir=\${PREFIX}/bin \\ + --libdir=\${PREFIX}/lib || exit 1 make ${JN} || exit 1 make install-strip @@ -4693,9 +5190,10 @@ end_substep # sbase lacks stty as of the making of this script, so using what is available begin_substep stty-9.1 -if [ -x /sucks/bin/stty ]; then - msg info "%s exists, skipping %s" /sucks/bin/stty ${pkg} -elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then +#if [ -x /bin/stty ]; then +# msg info "%s exists, skipping %s" /bin/stty ${pkg} +#elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then +if [ -e ${G_SPKG}/${pkg}.tar.xz ]; then rm /bin/stty unpack_pkg ${pkg} / else @@ -4711,32 +5209,49 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -fPIC' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build YACC=/${TLD}/bin/yacc - export CFLAGS LDFLAGS DESTDIR YACC + CFLAGS+=' -DLOCALEDIR="\"\${PREFIX}/share/locale\""' + CFLAGS+=' -DO_BINARY=0 -DO_TEXT=0' + export CFLAGS LDFLAGS PREFIX DESTDIR YACC - if false; then autoreconf -v FORCE_UNSAFE_CONFIGURE=1 \\ - ./configure --prefix=/sucks || exit 1 - fi + ./configure --prefix="\${PREFIX}" \\ + --datarootdir="\${PREFIX}/share" \\ + --localedir="\${PREFIX}/share/locale" \\ + || exit 1 CFLAGS+=' -I../lib ' export CFLAGS - make ${JN} || exit 1 + make || true + + # Hack sucky auto*hell + set -x + /${TLD}/bin/sed -i 's/^\\(# *if \\)\$/\\10/g' lib/stdint.h + /${TLD}/bin/sed -i \\ + -e 's/^\\(# *if \\)\$/\\10/g' \\ + -e 's/^\\(# *if defined __MINGW32__ && !\\)\$/\\11/g' \\ + lib/wctype.h + /${TLD}/bin/sed -i 's/^\\(# *if \\)\$/\\10/g' lib/wchar.h + set +x + + # This should be enough, but it doesn't work, so have to 'make all' + #make src/stty || exit 1 + make || exit 1 # All that for one binary - mkdir -p ../build/sucks/bin - cp src/stty ../build/sucks/bin + mkdir -p \${DESTDIR}\${PREFIX}/bin + cp src/stty \${DESTDIR}\${PREFIX}/bin } ! mkpk ${pkg} remove_dir ${G_SRC}/${pkg} - rm /bin/stty unpack_pkg ${pkg} / ) || exit 1 fi @@ -4762,22 +5277,23 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os ' - LDFLAGS='' + CFLAGS='-Os -pipe -fPIC' + LDFLAGS='-s' + PREFIX=/sucks DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \\ - --with-root-prefix="" \\ - --enable-elf-shlibs \\ - --disable-libblkid \\ - --disable-libuuid \\ - --disable-uuidd \\ - --disable-fsck \\ - --enable-e2initrd-helper \\ - --disable-rpath \\ - --sbindir=/sucks/sbin \\ - --libdir=/sucks/lib + ./configure --prefix="\${PREFIX}" \\ + --with-root-prefix="" \\ + --enable-elf-shlibs \\ + --disable-libblkid \\ + --disable-libuuid \\ + --disable-uuidd \\ + --disable-fsck \\ + --enable-e2initrd-helper \\ + --disable-rpath \\ + --sbindir=\${PREFIX}/sbin \\ + --libdir=\${PREFIX}/lib make ${JN} make install-strip @@ -4785,12 +5301,12 @@ mkpk_install() for lib in libcom_err libe2p libext2fs libss do - chmod u+w /build/sucks/lib/\${lib}.a + chmod u+w \${DESTDIR}\${PREFIX}/lib/\${lib}.a done - gunzip -v /build/sucks/share/info/libext2fs.info.gz - install-info --dir-file=/build/sucks/share/info/dir \\ - /build/sucks/share/info/libext2fs.info + gunzip -v \${DESTDIR}\${PREFIX}/share/info/libext2fs.info.gz + install-info --dir-file=\${DESTDIR}\${PREFIX}/share/info/dir \\ + \${DESTDIR}\${PREFIX}/share/info/libext2fs.info } ! mkpk ${pkg} @@ -4820,16 +5336,17 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -static --static -fcommon' - LDFLAGS='-static --static -fcommon' + CFLAGS='-Os -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR autoreconf -vif - sed -i '/The name/,+2 d' src/global.c + /${TLD}/bin/sed -i '/The name/,+2 d' src/global.c - ./configure --prefix=/ \\ + ./configure --prefix="\${PREFIX}" \\ --bindir=/bin \\ --enable-mt \\ --with-rmt=/libexec/rmt @@ -4840,7 +5357,7 @@ mkpk_install() ! mkpk ${pkg} remove_dir ${G_SRC}/${pkg} - #unpack_pkg ${pkg} / + unpack_pkg ${pkg} / ) || exit 1 fi timestamp=$(date +'%Y-%m-%d %T') @@ -4867,8 +5384,8 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -static -fcommon' - LDFLAGS='-static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' LDLIBS=-lc export CFLAGS LDFLAGS LDLIBS @@ -4912,7 +5429,7 @@ mkpk_install() { AR=ar CC=tcc - CFLAGS='-static -fcommon' + CFLAGS='-Os -static -fcommon' LDFLAGS='-static -fcommon' LDLIBS=-lc export AR CC CFLAGS LDFLAGS LDLIBS @@ -4928,9 +5445,9 @@ mkpk_install() make ${JN} || exit 1 make DESTDIR=/build install - ln -sfv bin ../build/sbin + ln -sf bin ../build/sbin cd ../build/sbin - ln -sfv sinit init + ln -sf sinit init } ! mkpk ${pkg} @@ -4943,8 +5460,8 @@ printf "%s\t%s\t%s\n" sinit 20220713 "${timestamp}" >>${G_PKGDB} end_substep begin_substep dropbear-2022.82 -if [ -x /sucks/bin/dropbear ]; then - msg info "%s exists, skipping %s" /sucks/lib/libpopt.so.0.0.1 ${pkg} +if [ -x /bin/dropbear ]; then + msg info "%s exists, skipping %s" /bin/dropbear ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -4960,19 +5477,20 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" - export CFLAGS LDFLAGS DESTDIR PROGRAMS + export CFLAGS LDFLAGS PREFIX DESTDIR PROGRAMS - ./configure --prefix=/ \\ + ./configure --prefix="\${PREFIX}" \\ --sysconfdir=/etc \\ --localstatedir=/var \\ --enable-static make ${JN} PROGRAMS="\${PROGRAMS}" MULTI=1 || exit 1 - make DESTDIR=/build PROGRAMS="\${PROGRAMS}" MULTI=1 install + make DESTDIR="\${DESTDIR}" PROGRAMS="\${PROGRAMS}" MULTI=1 install } ! mkpk ${pkg} @@ -5025,8 +5543,8 @@ end_substep # Needed for efibootmgr begin_substep popt-1.18 -if [ -x /sucks/lib/libpopt.so.0.0.1 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libpopt.so.0.0.1 ${pkg} +if [ -e /lib/libpopt.a ]; then + msg info "%s exists, skipping %s" /lib/libpopt.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5042,18 +5560,21 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -fdata-sections -ffunction-sections ' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC ' + CFLAGS+='-fdata-sections -ffunction-sections ' CFLAGS+='-fno-lto -fno-semantic-interposition ' - LDFLAGS='' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR mkdir -p build-aux :>build-aux/config.rpath autoreconf -vif - ./configure --prefix=/sucks --disable-static + ./configure --prefix="\${PREFIX}" \\ + --disable-shared make ${JN} || exit 1 make DESTDIR=/build install @@ -5070,8 +5591,8 @@ end_substep # Needed for efibootmgr begin_substep efivar-37 -if [ -x /sucks/lib/libefivar.so.1.37 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libefivar.so.1.37 ${pkg} +if [ -e /lib/libefivar.a ]; then + msg info "%s exists, skipping %s" /lib/libefivar.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5094,18 +5615,59 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os ' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC ' CFLAGS+='-D_GNU_SOURCE -Wno-error=address-of-packed-member ' - LDFLAGS='' + LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - make ${JN} PREFIX=/sucks DESTDIR=/build install + make ${JN} PREFIX="\${PREFIX}" DESTDIR="\${DESTDIR}" \\ + -C src \\ + libefiboot.a libefivar.a \\ + efiboot.pc efivar.pc - mv -v /build/sucks/lib64 /build/sucks/lib - cp -v src/include/efivar/efivar-guids.h /build/sucks/include/efivar/ + LDFLAGS+=' -s' + export LDFLAGS + make ${JN} PREFIX="\${PREFIX}" DESTDIR="\${DESTDIR}" \\ + efivar-static - sh + /${TLD}/bin/sed -i 's,/lib64,/lib,g' src/efiboot.pc + /${TLD}/bin/sed -i 's,/lib64,/lib,g' src/efivar.pc + + mkdir -p \${DESTDIR}\${PREFIX}/bin + install -Dm0755 src/efivar-static \${DESTDIR}\${PREFIX}/bin/efivar + + mkdir -p \${DESTDIR}\${PREFIX}/include/efivar + for f in src/include/efivar/*.h + do + install -Dm0644 \$f \\ + \${DESTDIR}\${PREFIX}/include/efivar/\${f##*/} + done + + mkdir -p \${DESTDIR}\${PREFIX}/lib/pkgconfig + install -Dm0644 src/efiboot.pc \\ + \${DESTDIR}\${PREFIX}/lib/pkgconfig/efiboot.pc + install -Dm0644 src/efivar.pc \\ + \${DESTDIR}\${PREFIX}/lib/pkgconfig/efivar.pc + + install -Dm0644 src/libefiboot.a \${DESTDIR}\${PREFIX}/lib/libefiboot.a + install -Dm0644 src/libefivar.a \${DESTDIR}\${PREFIX}/lib/libefivar.a + + mkdir -p \${DESTDIR}\${PREFIX}/share/man/man1 + mkdir -p \${DESTDIR}\${PREFIX}/share/man/man3 + + for manpage in \$(find docs -name '*.1') + do + install -Dm0644 \${manpage} \\ + \${DESTDIR}\${PREFIX}/share/man/man1/\${manpage##*/} + done + + for manpage in \$(find docs -name '*.3') + do + install -Dm0644 \${manpage} \\ + \${DESTDIR}\${PREFIX}/share/man/man3/\${manpage##*/} + done } ! mkpk ${pkg} @@ -5118,8 +5680,8 @@ printf "%s\t%s\t%s\n" efivar 37 "${timestamp}" >>${G_PKGDB} end_substep begin_substep efibootmgr-17 -if [ -x /sucks/sbin/efibootmgr ]; then - msg info "%s exists, skipping %s" /sucks/sbin/efibootmgr ${pkg} +if [ -x /sbin/efibootmgr ]; then + msg info "%s exists, skipping %s" /sbin/efibootmgr ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5135,24 +5697,26 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build EFI_LOADER='grubx64.efi' - export CFLAGS LDFLAGS DESTDIR EFILOADER + export CFLAGS LDFLAGS PREFIX DESTDIR EFILOADER - sed -e '/extern int efi_set_verbose/d' -i src/efibootmgr.c + /${TLD}/bin/sed -e '/extern int efi_set_verbose/d' -i src/efibootmgr.c - make ${JN} PREFIX=/sucks EXTRA_FLAGS="\${CFLAGS}" EFIDIR=GALEB \\ - EFI_LOADER="\${EFI_LOADER}" - make ${JN} PREFIX=/sucks DESTDIR=/build \\ + make ${JN} PREFIX="\${PREFIX}" EXTRA_FLAGS="\${CFLAGS}" EFIDIR=GALEB \\ + EFI_LOADER="\${EFI_LOADER}" || { sh; exit 1; } + + make ${JN} PREFIX="\${PREFIX}" DESTDIR="\${DESTDIR}" \\ EXTRA_FLAGS="\${CFLAGS}" EFIDIR=GALEB \\ - EFI_LOADER="\${EFI_LOADER}" install + EFI_LOADER="\${EFI_LOADER}" install || exit 1 - mkdir -pv /build/sucks/share - mv -v /build/usr/share/* /build/sucks/share/ - mkdir -pv /build/sucks/sbin - mv -v /build/usr/sbin/* /build/sucks/sbin/ + mkdir -p \${DESTDIR}\${PREFIX}/share + mv \${DESTDIR}/usr/share/* \${DESTDIR}\${PREFIX}/share/ + mkdir -p \${DESTDIR}\${PREFIX}/sbin + mv \${DESTDIR}/usr/sbin/* \${DESTDIR}\${PREFIX}/sbin/ } ! mkpk ${pkg} @@ -5164,9 +5728,10 @@ timestamp=$(date +'%Y-%m-%d %T') printf "%s\t%s\t%s\n" efibootmgr 17 "${timestamp}" >>${G_PKGDB} end_substep +# Hardcodes shared lib generation = sucks begin_substep gpm-1.20.7 -if [ -x /bin/gpm ]; then - msg info "%s exists, skipping %s" /bin/gpm ${pkg} +if [ -x /sucks/bin/gpm ]; then + msg info "%s exists, skipping %s" /sucks/bin/gpm ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5190,15 +5755,18 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -fcommon' - LDFLAGS='-s -fcommon' + CFLAGS='-Os -pipe -fcommon -fPIC' + LDFLAGS='-fcommon -zmuldefs -s' + PREFIX=/sucks DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR - + export CFLAGS LDFLAGS PREFIX DESTDIR ./autogen.sh - ./configure --prefix=/sucks --sysconfdir=/etc || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ + --enable-static \\ + --sysconfdir=/etc || exit 1 patch -Np1 -i fix-doc.patch || exit 1 @@ -5208,13 +5776,11 @@ mkpk_install() #install-info --dir-file=../build/sucks/share/info/dir \\ # ../build/sucks/share/info/gpm.info - mkdir -p ../build/sucks/lib - ln -sf libgpm.so.2.1.0 ../build/sucks/lib/libgpm.so - install -dm755 ../build/sucks/share/doc/${pkg}/support - install -m644 doc/support/* ../build/sucks/share/doc/${pkg}/support - install -m644 doc/FAQ ../build/sucks/share/doc/${pkg} - install -m644 doc/HACK_GPM ../build/sucks/share/doc/${pkg} - install -m644 doc/README* ../build/sucks/share/doc/${pkg} + install -dm755 \${DESTDIR}\${PREFIX}/share/doc/${pkg}/support + install -m644 doc/support/* \${DESTDIR}\${PREFIX}/share/doc/${pkg}/support + install -m644 doc/FAQ \${DESTDIR}\${PREFIX}/share/doc/${pkg} + install -m644 doc/HACK_GPM \${DESTDIR}\${PREFIX}/share/doc/${pkg} + install -m644 doc/README* \${DESTDIR}\${PREFIX}/share/doc/${pkg} } ! mkpk ${pkg} @@ -5244,13 +5810,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon -DVA_COPY=va_copy' + CFLAGS='-Os -pipe -static --static -fcommon -DVA_COPY=va_copy -fPIC' CPPFLAGS=\${CFLAGS} LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS CPPFLAGS LDFLAGS DESTDIR + export CFLAGS CPPFLAGS LDFLAGS PREFIX DESTDIR - CC='cc -static' ./configure --prefix=/ \\ + CC='cc -static' ./configure --prefix="\${PREFIX}" \\ --sysconfdir=/etc \\ --mandir=/share/man \\ --localstatedir=/var \\ @@ -5317,12 +5884,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/ || exit 1 + ./configure --prefix="\${PREFIX}" || exit 1 make ${JN} || exit 1 make install @@ -5338,9 +5906,8 @@ printf "%s\t%s\t%s\n" nasm 2.15.05 "${timestamp}" >>${G_PKGDB} end_substep begin_substep libjpeg-turbo-2.1.3 -if [ -e /sucks/lib/libturbojpeg.so.0.2.0 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libturbojpeg.so.0.2.0 \ - ${pkg} +if [ -e /lib/libturbojpeg.a ]; then + msg info "%s exists, skipping %s" /lib/libturbojpeg.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5356,24 +5923,27 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR mkdir b cd b - cmake -DCMAKE_INSTALL_PREFIX=/sucks \\ - -DCMAKE_BUILD_TYPE=RELEASE \\ - -DENABLE_STATIC=True \\ - -DWITH_JPEG8=1 \\ - -DBUILD_SHARED_LIBS=True \\ - -DCMAKE_INSTALL_DOCDIR=/sucks/share/doc/${pkg} \\ + + cmake -DCMAKE_INSTALL_PREFIX="\${PREFIX}" \\ + -DCMAKE_BUILD_TYPE=RELEASE \\ + -DENABLE_SHARED=False \\ + -DENABLE_STATIC=True \\ + -DWITH_JPEG8=1 \\ + -DBUILD_SHARED_LIBS=False \\ + -DCMAKE_INSTALL_DOCDIR=\${PREFIX}/share/doc/${pkg} \\ -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \\ .. make ${JN} || exit 1 - make DESTDIR=\${DESTDIR} install + make DESTDIR="\${DESTDIR}" install cd - >/dev/null } @@ -5388,8 +5958,8 @@ printf "%s\t%s\t%s\n" libjpeg-turbo 2.1.3 "${timestamp}" >>${G_PKGDB} end_substep begin_substep libpng-1.6.37 -if [ -e /sucks/lib/libpng16.so.16.37.0 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libpng16.so.16.37.0 ${pkg} +if [ -e /lib/libpng16.a ]; then + msg info "%s exists, skipping %s" /lib/libpng16.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5408,13 +5978,16 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR LIBS=-lpthread \\ - ./configure --prefix=/sucks || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --enable-static \\ + --disable-shared || exit 1 make ${JN} || exit 1 make install-strip @@ -5502,10 +6075,11 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR if [ ! -e config.mk.orig ]; then cp config.mk config.mk.orig @@ -5522,7 +6096,7 @@ mkpk_install() ! mkpk ${pkg} #remove_dir ${G_SRC}/${pkg} - #unpack_pkg ${pkg} / + unpack_pkg ${pkg} / ) || exit 1 fi timestamp=$(date +'%Y-%m-%d %T') @@ -5531,8 +6105,8 @@ end_substep # Needed fpr gnupg begin_substep libtasn1-4.18.0 -if [ -e /sucks/lib/libtasn1.so.6.6.2 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libtasn1.so.6.6.2 ${pkg} +if [ -e /lib/libtasn1.a ]; then + msg info "%s exists, skipping %s" /lib/libtasn1.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5548,15 +6122,18 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ + --enable-static || exit 1 make ${JN} || exit 1 - make install + make DESTDIR="\${DESTDIR}" install } ! mkpk ${pkg} @@ -5570,8 +6147,8 @@ end_substep # Needed fpr gnupg begin_substep nettle-3.8 -if [ -e /sucks/bin/nettle-hash ]; then - msg info "%s exists, skipping %s" /sucks/bin/nettle-hash ${pkg} +if [ -e /bin/nettle-hash ]; then + msg info "%s exists, skipping %s" /bin/nettle-hash ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5587,12 +6164,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -zmuldefs -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --disable-shared || exit 1 make ${JN} || exit 1 make install @@ -5609,8 +6188,8 @@ end_substep # Needed fpr gnupg begin_substep libunistring-1.0 -if [ -e /sucks/lib/libunistring.so.2.2.0 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libunistring.so.2.2.0 \ +if [ -e /lib/libunistring.a ]; then + msg info "%s exists, skipping %s" /lib/libunistring.a \ ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / @@ -5627,16 +6206,19 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ + --enable-static \\ + --disable-shared \\ --docdir=/share/doc/${pkg} || exit 1 make ${JN} || exit 1 - make install + make DESTDIR="\${DESTDIR}" install } ! mkpk ${pkg} @@ -5650,8 +6232,8 @@ end_substep # Needed fpr gnupg begin_substep p11-kit-0.24.1 -if [ -x /sucks/bin/p11-kit ]; then - msg info "%s exists, skipping %s" /sucks/bin/p11-kit ${pkg} +if [ -x /bin/p11-kit ]; then + msg info "%s exists, skipping %s" /bin/p11-kit ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5667,22 +6249,25 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR # Supress warning about missing include dir mkdir -p /local/include NOCONFIGURE=1 autoreconf -vif || exit 1 - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ --sysconfdir=/etc \\ --with-trust-paths=/etc/pki/anchors || exit 1 make ${JN} || exit 1 - make install + make DESTDIR="\${DESTDIR}" install + + rm -fr /local/include } ! mkpk ${pkg} @@ -5696,8 +6281,8 @@ end_substep # Needed fpr gnupg begin_substep gnutls-3.7.2 -if [ -x /sucks/bin/gnutls-cli ]; then - msg info "%s exists, skipping %s" /sucks/bin/gnutls-cli ${pkg} +if [ -x /bin/gnutls-cli ]; then + msg info "%s exists, skipping %s" /bin/gnutls-cli ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5713,16 +6298,22 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' CXXFLAGS=\${CFLAGS} - LDFLAGS='-s' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ DESTDIR=/build - export CFLAGS CXXFLAGS LDFLAGS DESTDIR + GMP_LIBS='-l:libgmp.a' + HOGWEED_LIBS='-lhogweed -l:libgmp.a -lnettle' + export CFLAGS CXXFLAGS LDFLAGS PREFIX DESTDIR + export GMP_LIBS HOGWEED_LIBS # Supress warning about missing include dir mkdir -p /local/include - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ + --enable-static \\ + --disable-shared \\ --with-default-trust-store-pkcs11="pkcs11:" \\ --enable-openssl-compatibility \\ --with-zlib \\ @@ -5730,8 +6321,8 @@ mkpk_install() --disable-valgrind-tests \\ --disable-rpath || exit 1 - make ${JN} || exit 1 - make install + make V=1 ${JN} || exit 1 + make DESTDIR="\${DESTDIR}" install-strip } ! mkpk ${pkg} @@ -5745,8 +6336,8 @@ end_substep # Needed fpr gnupg begin_substep libgpg-error-1.45 -if [ -x /sucks/bin/gpg-error ]; then - msg info "%s exists, skipping %s" /sucks/bin/gpg-error ${pkg} +if [ -x /bin/gpg-error ]; then + msg info "%s exists, skipping %s" /bin/gpg-error ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5762,21 +6353,23 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' CXXFLAGS=\${CFLAGS} - LDFLAGS='-s' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ DESTDIR=/build export CFLAGS CXXFLAGS LDFLAGS DESTDIR # Supress warning about missing include dir mkdir -p /local/include - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ --enable-static \\ + --disable-shared \\ --disable-nls || exit 1 make ${JN} || exit 1 - make install + make DESTDIR="\${DESTDIR}" install } ! mkpk ${pkg} @@ -5790,8 +6383,8 @@ end_substep # Needed fpr gnupg begin_substep libassuan-2.5.5 -if [ -e /sucks/lib/libassuan.so.0.8.5 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libassuan.so.0.8.5 ${pkg} +if [ -e /lib/libassuan.a ]; then + msg info "%s exists, skipping %s" /lib/libassuan.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5807,15 +6400,18 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks --enable-static || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ + --enable-static || exit 1 make ${JN} || exit 1 - make install + make DESTDIR="\${DESTDIR}" install } ! mkpk ${pkg} @@ -5829,8 +6425,8 @@ end_substep # Needed fpr gnupg begin_substep libgcrypt-1.10.1 -if [ -e /sucks/lib/libgcrypt.so.20.4.1 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libgcrypt.so.20.4.1 ${pkg} +if [ -e /lib/libgcrypt.a ]; then + msg info "%s exists, skipping %s" /lib/libgcrypt.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5846,16 +6442,19 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX=/ DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ + --enable-static \\ + --disable-shared \\ --enable-padlock-support || exit 1 make ${JN} || exit 1 - make install + make DESTDIR="\${DESTDIR}" install-strip } ! mkpk ${pkg} @@ -5869,8 +6468,8 @@ end_substep # Needed fpr gnupg begin_substep libksba-1.6.0 -if [ -e /sucks/lib/libksba.so.8.14.0 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libksba.so.8.14.0 ${pkg} +if [ -e /lib/libksba.a ]; then + msg info "%s exists, skipping %s" /lib/libksba.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5886,12 +6485,15 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ + --enable-static || exit 1 make ${JN} || exit 1 make install @@ -5908,8 +6510,8 @@ end_substep # Needed fpr gnupg begin_substep npth-1.6 -if [ -e /sucks/lib/libnpth.so.0.1.2 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libnpth.so.0.1.2 ${pkg} +if [ -e /lib/libnpth.a ]; then + msg info "%s exists, skipping %s" /lib/libnpth.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5925,12 +6527,15 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --disable-shared \\ + --enable-static || exit 1 make ${JN} || exit 1 make install @@ -5947,8 +6552,8 @@ end_substep # Needed fpr gnupg begin_substep pinentry-1.2.0 -if [ -x /sucks/bin/pinentry-tty ]; then - msg info "%s exists, skipping %s" /sucks/bin/pinentry-tty ${pkg} +if [ -x /bin/pinentry-tty ]; then + msg info "%s exists, skipping %s" /bin/pinentry-tty ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -5964,12 +6569,13 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ --enable-pinentry-tty \\ --enable-pinentry-qt=no \\ --enable-pinentry-gtk2=no \\ @@ -5981,7 +6587,7 @@ mkpk_install() make ${JN} || exit 1 make install - ln -sf pinentry-tty ../build/sucks/bin/pinentry + ln -sf pinentry-tty \${DESTDIR}\${PREFIX}/bin/pinentry } ! mkpk ${pkg} @@ -5994,8 +6600,8 @@ printf "%s\t%s\t%s\n" pinentry 1.2.0 "${timestamp}" >>${G_PKGDB} end_substep begin_substep gnupg-2.3.7 -if [ -x /sucks/bin/gpg ]; then - msg info "%s exists, skipping %s" /sucks/bin/gpg ${pkg} +if [ -x /bin/gpg ]; then + msg info "%s exists, skipping %s" /bin/gpg ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -6017,15 +6623,20 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='-s' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR /${TLD}/bin/sed -e '/noinst_SCRIPTS = gpg-zip/c '\\ 'sbin_SCRIPTS += gpg-zip' -i tools/Makefile.in - ./configure --prefix=/sucks \\ + # ,--- This is why pkg-config sucks: static linking requires to manually + # | add dependencies of dependencies. It is cleaner to just add + # v everything manually from the get-go. + LDLIBS='-ltasn -lnettle' \\ + ./configure --prefix="\${PREFIX}" \\ --enable-symcryptrun \\ --sysconfdir=/etc \\ --localstatedir=/var \\ @@ -6034,7 +6645,7 @@ mkpk_install() --enable-bzip2 || exit 1 make ${JN} || exit 1 - make install-strip + make install } ! mkpk ${pkg} @@ -6047,8 +6658,8 @@ printf "%s\t%s\t%s\n" gnupg 2.3.7 "${timestamp}" >>${G_PKGDB} end_substep begin_substep gpgme-1.17.1 -if [ -x /sucks/bin/gpgme-config ]; then - msg info "%s exists, skipping %s" /sucks/bin/gpgme-config ${pkg} +if [ -x /bin/gpgme-config ]; then + msg info "%s exists, skipping %s" /bin/gpgme-config ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -6064,14 +6675,15 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks \\ + ./configure --prefix="\${PREFIX}" \\ --enable-static \\ - --enable-shared \\ + --disable-shared \\ --disable-gpg-test \\ --enable-languages=cl,cpp || exit 1 @@ -6106,25 +6718,30 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/ --with-timestamp || exit 1 + BINDIR=\${PREFIX}/bin \\ + SHAREDIR=\${PREFIX}/share \\ + MANDIR=\${PREFIX}/share/man \\ + ./configure --prefix="\${PREFIX}" \\ + --with-timestamp || exit 1 make ${JN} || exit 1 - make install + make DESTDIR="\${DESTDIR}" install - mkdir -p ../build/etc + mkdir -p \${DESTDIR}/etc # Adjust as necessary - cat <<@ >../build/etc/doas.conf + cat <<@ >\${DESTDIR}/etc/doas.conf deny root permit nopass setenv { PATH=/bin:/sucks/bin:/plan9/bin EDITOR } :wheel @ - chmod 4755 ../build/bin/doas + chmod 4755 \${DESTDIR}\${PREFIX}/bin/doas } ! mkpk ${pkg} @@ -6153,16 +6770,17 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR /${TLD}/bin/sed -i -e 's,\\<encrypt\\>,pass_encrypt,g' pass.c cat <<@ >config.mk -PREFIX= -MANPREFIX=/share/man +PREFIX=\${PREFIX} +MANPREFIX=\${PREFIX}/share/man CFLAGS=\${CFLAGS} -DVERSION=\\"\\\${VERSION}\\" LDFLAGS=\${LDFLAGS} @@ -6259,13 +6877,14 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix='' \\ + ./configure --prefix="\${PREFIX}" \\ --disable-md2man \\ --disable-lz4 || exit 1 make ${JN} || exit 1 @@ -6282,8 +6901,8 @@ printf "%s\t%s\t%s\n" rsync 3.2.5pre2 "${timestamp}" >>${G_PKGDB} end_substep begin_substep shim-15.6 -if [ -x /share/shim ]; then - msg info "%s exists, skipping %s" /share/shim \ +if [ -e /share/shim-15.6/shimx64.efi ]; then + msg info "%s exists, skipping %s" /share/shim-15.6/shimx64.efi \ ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / @@ -6311,10 +6930,11 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR if [ -e \${HOME}/.gitconfig ]; then mv \${HOME}/.gitconfig \${HOME}/.gitconfig-old @@ -6326,11 +6946,11 @@ mkpk_install() make ${JN} EFIDIR='GALEB' || exit 1 make DATATARGETDIR=/share/${pkg} DESTDIR=\${DESTDIR} install-as-data - install -Dm0644 BUILDING /build/share/doc/${pkg} - install -Dm0644 README.md /build/share/doc/${pkg} - install -Dm0644 README.fallback /build/share/doc/${pkg} - install -Dm0644 README.tpm /build/share/doc/${pkg} - install -Dm0644 TODO /build/share/doc/${pkg} + install -Dm0644 BUILDING \${DESTDIR}/share/doc/${pkg} + install -Dm0644 README.md \${DESTDIR}/share/doc/${pkg} + install -Dm0644 README.fallback \${DESTDIR}/share/doc/${pkg} + install -Dm0644 README.tpm \${DESTDIR}/share/doc/${pkg} + install -Dm0644 TODO \${DESTDIR}/share/doc/${pkg} rm \${HOME}/.gitconfig if [ -e \${HOME}/.gitconfig-old ]; then @@ -6348,9 +6968,8 @@ printf "%s\t%s\t%s\n" shim 15.6 "${timestamp}" >>${G_PKGDB} end_substep begin_substep libevent-2.1.12 -if [ -x /sucks/lib/libevent-2.1.so.7.0.1 ]; then - msg info "%s exists, skipping %s" /sucks/lib/libevent-2.1.so.7.0.1 \ - ${pkg} +if [ -e /lib/libevent.a ]; then + msg info "%s exists, skipping %s" /lib/libevent.a ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else @@ -6366,14 +6985,20 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe' - LDFLAGS='' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' + LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/sucks || exit 1 + ./configure --prefix="\${PREFIX}" \\ + --enable-static \\ + --disable-shared || exit 1 - make ${JN} || exit 1 + # Needs to be hacked in? + /${TLD}/bin/sed -i 's/\(-lssl -lcrypto\)/\1 -lz/g' Makefile + + make V=1 ${JN} || exit 1 make install } ! @@ -6404,14 +7029,15 @@ mkpk_name() mkpk_install() { - CFLAGS='-Os -pipe -static --static -fcommon' + CFLAGS='-Os -pipe -static --static -fcommon -fPIC' LDFLAGS='-static --static -fcommon' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - ./configure --prefix=/ \\ + ./configure --prefix="\${PREFIX}" \\ --enable-static \\ - --datarootdir=/share || exit 1 + --datarootdir=\${PREFIX}/share || exit 1 make ${JN} || exit 1 make install-strip @@ -6446,10 +7072,11 @@ mkpk_install() { CFLAGS='-Os -pipe -static --static -fcommon' LDFLAGS='-static --static -fcommon -s' + PREFIX='' DESTDIR=/build - export CFLAGS LDFLAGS DESTDIR + export CFLAGS LDFLAGS PREFIX DESTDIR - /${TLD}/bin/sed -i -e 's,/usr/local,/build,' \\ + /${TLD}/bin/sed -i -e 's,/usr/local,'\${DESTDIR}',' \\ -e '/^MANDIR/s,/man,/share&,' \\ -e "/^CFLAGS/s,\\(CFLAGS=\\).*,\\1\${CFLAGS}," \\ -e "/^LDFLAGS/s,\\(LDFLAGS=\\).*,\\1\${LDFLAGS}," \\ diff --git a/04-finale.sh b/04-finale.sh @@ -86,6 +86,8 @@ else ${G_PAT}/smdev-galeb/smdev-$p.patch done + make config.h + apply_patch final -Np0 -i \ ${G_PAT}/smdev-phkr/smdev-config_h.patch for p in scan_all usb_nodes @@ -165,7 +167,7 @@ mkpk_install() make DESTDIR=/build install # Overlap with dcron - /${TLD}/bin/rm -v ../build/bin/cron ../build/share/man/man1/cron.1 + rm ../build/bin/cron ../build/share/man/man1/cron.1 || true } ! mkpk ${pkg} @@ -245,7 +247,7 @@ timestamp=$(date +'%Y-%m-%d %T') printf "%s\t%s\t%s\n" ubase 20220709 "${timestamp}" >>${G_PKGDB} end_substep -begin_substep svc-20220813 +begin_substep svc-20220913 if [ -x /bin/svc ]; then msg info "%s exists, skipping %s" /bin/svc ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then @@ -279,13 +281,13 @@ timestamp=$(date +'%Y-%m-%d %T') printf "%s\t%s\t%s\n" svc 20220813 "${timestamp}" >>${G_PKGDB} end_substep -begin_substep mkpk-0.1.4 +begin_substep mkpk-0.1.6 if [ -x /bin/mkpk ]; then msg info "%s exists, skipping %s" /bin/mkpk ${pkg} elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then unpack_pkg ${pkg} / else - extract_pkg ${G_SRC} mkpk-v0.1.4 ${pkg}.tar.gz ${pkg} + extract_pkg ${G_SRC} mkpk-v0.1.6 ${pkg}.tar.gz ${pkg} ( cd_or_fail ${G_SRC}/${pkg} @@ -330,10 +332,8 @@ msg info "makewhatis /share/man" makewhatis /share/man msg info "makewhatis /sucks/share/man" makewhatis /sucks/share/man -msg info "libtool --finish /lib" -libtool --finish /lib -msg info "libtool --finish /sucks/lib" -libtool --finish /sucks/lib +msg info "libtool --finish /lib /sucks/lib" +libtool --finish /lib /sucks/lib msg info "Generating /etc/galeb-release" cat <<! >/etc/galeb-release diff --git a/05-mkbootimage.sh b/05-mkbootimage.sh @@ -9,7 +9,7 @@ if [ "$(id -u)" -ne 0 ]; then fi ( -ver=2.0 +ver=${G_VER} arch=x86_64 timestamp=$(date +'%Y%m%d') diskimg=galeb-${ver}-${arch}-${timestamp}.raw diff --git a/BOOTING b/BOOTING @@ -122,11 +122,11 @@ After the boot scripts have finished, you will be presented with a choice to create a boot image. The boot image will be compressed with xz and needs to be sent to a USB flash medium, for example: - # xz -dc galeb-2.0-x86_64-20220813.raw.xz > /dev/sdb + # xz -dc galeb-2.1-x86_64-20220813.raw.xz > /dev/sdb or, if you have pv[4]: - # xz -dc galeb-2.0-x86_64-20220813.raw.xz | pv > /dev/sdb + # xz -dc galeb-2.1-x86_64-20220813.raw.xz | pv > /dev/sdb _Be careful when specifying the device you send the output to, in order to not overwrite any existing partitions (your hard disk, etc)!_ You can find out the diff --git a/BUGS b/BUGS @@ -4,12 +4,6 @@ Known bugs/Errata * x86_64 is assumed. Other architectures are not planned for now, although patches supporting them are welcome. -* Packages having dynamic binaries in /bin instead of having them in /sucks/bin - only until a fix): - - LibreSSL - - mandoc - See lib/impostors for a current report when building (needs table(1)). - * Ethernet connection is assumed. wpa_supplicant is included in the build script, as well as the needed libnl, but both are commented out. It has dbus stripped out, and I haven't been able to test how well it would behave. diff --git a/FAQ b/FAQ @@ -105,7 +105,6 @@ 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/TODO b/TODO @@ -1,10 +1,6 @@ TODO ==== -[ ] Check libtool; it has references to /tools/bin/sed and grep - - Maybe add a package putting GNU sed/grep into /sucks/bin? - - Low priority ------------ @@ -27,6 +23,25 @@ Low priority Done ---- +[x] Check libtool; it has references to /tools/bin/sed and grep + - Not a problem in bootstrap scripts, but it could be when using libtool in + the built system + [x] ~Maybe~ add a package putting GNU sed/grep into /sucks/bin? + - Added. + +[x] /sbin/poweroff: stty: inaccessible or not found + +[x] Correct /sucks in /bin/svc.d/* + +[x] Fix git remote-https + +[x] Fix dropbear + - Run: + mkdir /etc/dropbear + dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key + +[x] Convert more packages to static + [x] Add information about boot image to BOOTING [x] Add rsync to lib/mkbootimage diff --git a/art/galeb b/art/galeb @@ -6,6 +6,6 @@ #====@DD DD DD DD DD#==@DD#==@DD DD#==== #====@DD DD DD DD DD D DD D@DD DD#==== @^^^^ ^^ ^^ ^^^^^ ^^^^^ ^^^^^ - #==(%musl/Linux 2.0#)== + #==(%musl/Linux 2.1#)== $sinit * sbase * ubase * 9base~ diff --git a/art/galeb-bw.ansi b/art/galeb-bw.ansi @@ -6,6 +6,6 @@ ==== ██ ██ ██ ██ ██ == ██ == ██ ██ ==== ==== ██ ██ ██ ██ ██ █ ██ █ ██ ██ ==== ▀▀▀▀ ▀▀ ▀▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀ - ==( musl/Linux 2.0 )== + ==( musl/Linux 2.1 )== sinit * sbase * ubase * 9base diff --git a/art/galeb.ansi b/art/galeb.ansi @@ -6,6 +6,6 @@  ==== ██ ██ ██ ██ ██ == ██ == ██ ██ ====  ==== ██ ██ ██ ██ ██ █ ██ █ ██ ██ ====  ▀▀▀▀ ▀▀ ▀▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀ -  ==( musl/Linux 2.0 )== +  ==( musl/Linux 2.1 )==  sinit * sbase * ubase * 9base diff --git a/fil/README.1st b/fil/README.1st @@ -1,4 +1,4 @@ -README for Galeb 2.0 July 26 2022 +README for Galeb 2.1 Sep 09 2022 ==================== This is a short introduction to Galeb. This document is currently shown in a @@ -35,6 +35,7 @@ and so on. File transfer curl(1) Init system sinit(8) Logging service metalog(8) + Mail client s-nail: mail(1) Package manager mkpk(8) Password management pass Privilege escalation doas(1), su(1) diff --git a/fil/man/man8/galeb.8 b/fil/man/man8/galeb.8 @@ -1,7 +1,7 @@ \" vim: ft=groff -.Dd July 24 2022 +.Dd Sep 09 2022 .Dt GALEB 8 SMM -.Os Galeb 2.0 +.Os Galeb 2.1 .Sh NAME .Nm Galeb .Nd simple musl-based static distro diff --git a/fil/smdev-phkr/etc/smdev/add/01-uuid b/fil/smdev-phkr/etc/smdev/add/01-uuid @@ -1,6 +1,6 @@ [ "$DEVNAME" ] && [ "$DEVTYPE" = "disk" -o "$DEVTYPE" = "partition" ] && /bin/sh -c ' test -d /dev/disk || mkdir -p /dev/disk - export $(/sucks/bin/blkid --info -p -o udev /dev/$DEVNAME | grep UUID) + export $(/bin/blkid --info -p -o udev /dev/$DEVNAME | grep UUID) [ $ID_FS_UUID ] && { test -d /dev/disk/by-uuid || mkdir -p /dev/disk/by-uuid ln -sf /dev/$DEVNAME /dev/disk/by-uuid/$ID_FS_UUID diff --git a/lib/dirs.tsv b/lib/dirs.tsv @@ -17,6 +17,7 @@ Path Mode Owner Group Step /local/lib 0755 root root 01-cross.sh,02-chroot.sh-start /mnt 0755 root root 01-cross.sh,02-chroot.sh-start /proc 0755 root root 01-cross.sh,02-chroot.sh-start +/plan9 0755 root root 01-cross.sh,02-chroot.sh-start /root 0700 root root 01-cross.sh,02-chroot.sh-start /run 0755 root root 01-cross.sh,02-chroot.sh-start /share 0755 root root 01-cross.sh,02-chroot.sh-start diff --git a/lib/env.sh b/lib/env.sh @@ -41,7 +41,7 @@ G_PAT=${G_SRC}/${PTD} G_PKG=${G_SRC}/pkg G_SHORTLOG=${G_LOG}/shortlog G_TARGET=x86_64-galeb-linux-musl -G_VER=2.0 +G_VER=2.1 JN=${JN:- -j$(($(grep ^processor /proc/cpuinfo | wc -l) * 3))} G_PKGDB=${G_SPKG}/pkgdb.tsv diff --git a/lib/fun.sh b/lib/fun.sh @@ -347,7 +347,7 @@ mkpk() fi cd .. - mkdir -p bin build dev etc include plan9 share sucks tmp tools + mkdir -p bin build dev etc include libexec plan9 share sucks tmp tools bm() { @@ -368,6 +368,7 @@ mkpk() rbm etc rbm include rbm lib + rbm libexec rbm plan9 rbm share rbm sucks @@ -404,7 +405,8 @@ mkpk() for lfile in ${legalfiles} do if [ -n "${lfile}" ]; then - cp_or_fail "${lfile}*" ../build/${G_LGL}/${pkg}/ + cp_or_fail -r "${lfile}*" \ + ../build/${G_LGL}/${pkg}/ fi done fi @@ -416,6 +418,7 @@ mkpk() umount ../sucks umount ../share umount ../plan9 + umount ../libexec umount ../lib umount ../include umount ../etc @@ -442,7 +445,7 @@ mkpk() rm -fr sucks rm -fr share rm usr - rmdir bin dev etc include plan9 tmp tools + rmdir bin dev etc include libexec plan9 tmp tools exit ${fail} ) || { msg err "mkpk failed" diff --git a/lib/pkgs.tsv b/lib/pkgs.tsv @@ -3,7 +3,7 @@ ftp://ftp.vim.org/pub/vim/unix/vim-8.1.tar.bz2 141074bdc25d68f7ced9b596da3b5c6e git+https://git.adelielinux.org/adelie/musl-locales.git musl-locales-20220708 git+https://git.sr.ht/~strahinja/reflow reflow-20220716 git+https://git.sr.ht/~strahinja/sbase sbase-20220801 -git+https://git.sr.ht/~strahinja/svc svc-20220813 +git+https://git.sr.ht/~strahinja/svc svc-20220913 git+https://github.com/cpeuvrel/usleep-aur usleep-20220718 git+https://github.com/mirbsd/mksh mksh-20220709 git+https://github.com/onetrueawk/awk awk-20220709 @@ -23,6 +23,7 @@ http://www.jimpryor.net/linux/releases/dcron-4.5.tar.gz 08521391d16ba5adf80278e http://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz 512f90a2584f1c5811429274b97c64a2cedf37b9fdeffb1bcd0ea64afd9ecc19a2d7877ca8f1e05393aa324153fc9f39ea51dacbf8d25a7d5a2d7728c925dba7 http://xmlsoft.org/sources/libxml2-2.9.12.tar.gz df1c6486e80f0fcf3c506f3599bcfb94b620c00d0b5d26831bc983daa78d58ec58b5057b1ec7c1a26c694f40199c6234ee2a6dcabf65abfa10c447cb5705abbd https://astron.com/pub/file/file-5.41.tar.gz bbf2d8e39450b31d0ba8d76d202790fea953775657f942f06e6dc9091798d4a395f7205e542388e4a25b6a4506d07f36c5c4da37cfce0734133e9203a3b00654 +https://bearssl.org/bearssl-0.6.tar.gz f9ed25683cfc6c4abe7f1203a2b82ed101ee4c9e0f9ab60755b6a09c8d1e8e4f64d413624e7bb9c4b0033f909a2e4568a1d916cc6ce4736222900691e1f8359a https://cmake.org/files/v3.23/cmake-3.23.2.tar.gz 0925adf973d642fd76d4089b61b3882babb0a85050c4c57d5f5f3bd6b17564a9feb0beed236cd636e25f69072fa30b67ea3f80932380b6b6576f2dd78b8e6931 https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz c4609495cc5ca34952f61876a690ef76d42eee6689d1bedb8036c9eab918525ec5213f1639c7178c029ee0f8765a2ca5eb0197f6e39b8be6d5dbc3f3c1d0b389 https://curl.se/download/curl-7.84.0.tar.xz 86231866a35593a1637fbc0c6af3b6761bdfd99fb35580cc52970c36f19604f93dce59fea67a1d5bb4b455f719307599c7916c77d14f2b661f6bf7fb1ca716ce @@ -69,12 +70,12 @@ https://ftp.gnu.org/gnu/readline/readline-8.1.tar.gz 27790d0461da3093a7fee6e89a https://ftp.gnu.org/gnu/sed/sed-4.8.tar.xz 7de25d9bc2981c63321c2223f3fbcab61d7b0df4fcf7d4394b72400b91993e1288d8bf53948ed5fffcf5a98c75265726a68ad4fb98e1d571bf768603a108c1c8 https://ftp.gnu.org/gnu/tar/tar-1.34.tar.xz 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902 https://ftp.gnu.org/gnu/texinfo/texinfo-6.8.tar.xz 0ff9290b14e4d83e32b889cfa24e6d065f98b2a764daf6b92c6c895fddbb35258398da6257c113220d5a4d886f7b54b09c4b117ca5eacfee6797f9bffde0f909 -https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.4.2.tar.gz ae91a840b29330681dc2a4f55a9bd760e6fe1bdfb3399017aae3a16bd21b413e97cbb8ba504400f0a1f42757f6128b3fa763d06bae4fc9f2b9dbeea867a57ad2 https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2022.02.11.tar.xz 243e06a356ea2c0fddc527febd4241da49fe4c11fb64b548873744a54e079860739d7a1da842833b99540acde3f6a2ebfddc41897306cc2e61e2c6037a7d22ff https://gcc.gnu.org/pub/gcc/snapshots/11-20220101/gcc-11-20220101.tar.xz 33ae3f00c48e19659b9fc26e2dd2ccf98d52babd97c4fc2bf02171507572e1324892699b80e9c5036daec1453b04fc431366317c0456a3a2f59465a2374182a4 -https://git.sr.ht/~strahinja/mkpk/archive/v0.1.4.tar.gz mkpk-0.1.4.tar.gz 674eec4ee0b836ed56f11da51d0a5115fb9970864504ac0a24257f7ae8456336df0a62c21737d6913f414988dde32e28dc2a26c5c2bfee7881f1af1d6b1b470a +https://git.sr.ht/~strahinja/mkpk/archive/v0.1.6.tar.gz mkpk-0.1.6.tar.gz e7cb71c3a52745305d8df1b1cfb0332f456b07c39be0dc3e0b6ea4bb3b740a6d7e83abc1c1e7c51c22a09ae5e5df536e724f67b44badb985e0ef6620853caf87 https://git.sr.ht/~strahinja/sled/archive/v0.10.8.tar.gz sled-0.10.8.tar.gz 9a1992bdf75f6a9a8b564563af3d7e5e61e93deae480e3aa643ae249a8fa8572d16bad6959cf6a7d339022c41fb4347d1e146aecc246257ebf6108439c1b0654 https://git.sr.ht/~strahinja/table/archive/v0.6.4.tar.gz table-0.6.4.tar.gz a86c8bca4cc2250aa8fcdb49508e802fb3b78d950a4f95c8d2d214ad1dd72ffdda78ed20165317041c1afdf0f039b1a8b594bed5ab0d43c61cb21140e7adc37a +https://github.com/ArtifexSoftware/urw-base35-fonts/archive/refs/tags/20200910.tar.gz urw-base35-20200910.tar.gz 71fb27baadf5abc4ff624cdede02038681acd5fffdc728a5b2e7808713b80cb2f2174f90a1862e69d390c4434c49d5167ab095100032fa3ba80b586eb8ae51d1 https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.1.tar.gz xxhash-0.8.1.tar.gz 12feedd6a1859ef55e27218dbd6dcceccbb5a4da34cd80240d2f7d44cd246c7afdeb59830c2d5b90189bb5159293532208bf5bb622250102e12d6e1bad14a193 https://github.com/Duncaen/OpenDoas/releases/download/v6.8.2/opendoas-6.8.2.tar.xz 5f349763dcc56b60f3707af3b3b7557e4721427a093dff725235c54b741670e0606272063527d00442eb7510dfd96482f7c6f38f15ece148bea41c9aa514865c https://github.com/Mic92/iana-etc/releases/download/20210611/iana-etc-20210611.tar.gz 3db4d509699930bb48950b54d916d0aafbd6eb6ecbd98d6ffdf77f79fb9dd644754b2d479b675f1f0afb094e49e70fa583bbdb4432d976fa980b8696ca2387a7 @@ -124,6 +125,7 @@ https://matt.ucc.asn.au/dropbear/releases/dropbear-2022.82.tar.bz2 94c664e0d56b https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/man-pages-5.13.tar.xz a68c0bd5f078aff2f13f962060863e5d30734c1c562e8e9e3d5eda5a329b18ad3e9b4ebb883d31cacfc0a476f91fccb8dd4257598acd75d09dd21351893d3499 https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.1.tar.xz 3c9cad6b4757f425ee53996d8d80db2226b246513cbcec9011022e02e4235d7ec38c7c1aada73bb3c9279a91d1aaf8664633356ce1dce847e0d371f702a5b766 https://musl.libc.org/releases/musl-1.2.3.tar.gz 9332f713d3eb7de4369bc0327d99252275ee52abf523ee34b894b24a387f67579787f7c72a46cf652e090cffdb0bc3719a4e7b84dca66890b6a37f12e8ad089c +https://netix.dl.sourceforge.net/project/ttf2pt1/ttf2pt1/3.4.4/ttf2pt1-3.4.4.tgz ff2b41b0d54c2feb8565c4bcf9fbc2ce799aa6228815c2787e26127f6c0ca380114b3ab7a12fa50a52279a3452bcb91dbad5c661e83078f25036f69a4d1cf014 https://prdownloads.sourceforge.net/expat/expat-2.4.8.tar.xz d19b0d6469537aed20c54bd9cfa4089d39e4acaaddde57809de7c6aec55dc870677c02480e7f65dac5620bd5454b889370453613518f9da647c74a831a2a1b7b https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.bz2 91bff52eed4a2dfc3f3bfdc9c672b88e7e2ffcf3c4b121540af8a4ae8c1ce05178430aa6b8000658b9bb7b4252239357250890e20ceb84b79cdfcde05154061a https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-3.3.17.tar.xz 59e9a5013430fd9da508c4655d58375dc32e025bb502bb28fb9a92a48e4f2838b3355e92b4648f7384b2050064d17079bf4595d889822ebb5030006bc154a1a7 @@ -134,6 +136,7 @@ https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz 083f5e675d73f3233c7930ebe20 https://tukaani.org/xz/xz-5.2.5.tar.xz 59266068a51cb616eb31b67cd8f07ffeb2288d1391c61665ae2ec6814465afac80fec69248f6a2f2db45b44475af001296a99af6a32287226a9c41419173ccbb https://www.cairographics.org/releases/pixman-0.40.0.tar.gz 063776e132f5d59a6d3f94497da41d6fc1c7dca0d269149c78247f0e0d7f520a25208d908cf5e421d1564889a91da44267b12d61c0bd7934cd54261729a7de5f https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz 3443c75aea91f0fe3712fee576239f1946d2301b8f7390b690e2f5d070fe71af8f9fa7769e42086c2d33d5f84370f80368fa9350b4f10cc0ac3e6c1f6209d8f9 +https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.7.tar.xz ddb7b63dd09c1d9acbe620d86217e583d9aa5340780ab4010ec9faa4fd331498859d5efa7829bf8847da89325accf8f7304b51d410210178fc1ffa6658064a6f https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.2.tar.xz 5d01d561a05379da71e4847e30ba13c2abe09f7a5c4359fd539d8bd19abad0ce87120f82ee7b6264e787bd3edbc5ae16beffa892983cbc3d59f11a1811c10329 https://www.greenwoodsoftware.com/less/less-590.tar.gz 426fa5840fd43c17bd5a452ad35ad24f2d6684623c6914403fd0059af62266bf2138e6828c7d73a1cef26a736c0d2b8ed4ab180eea8297281dae79a4228eb903 https://www.iana.org/time-zones/repository/releases/tzcode2022a.tar.gz 3f047a6f414ae3df4a3d6bb9b39a1790833d191ae48e6320ab9438cd326dc455475186a02c44e4cde96b48101ab000880919b1e0e8092aed7254443ed2c831ed @@ -145,6 +148,8 @@ https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-29.tar.xz 557cdcaec75e5 https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-5.17.0.tar.xz fcffe96fb4819305ddf5c3764b100bd1d204069cf53a6bd776c2716144f574b4fc17963fc231a83ad253cce6a563814556eeb60b211ba9b0b87330186259b34d https://www.leonerd.org.uk/code/libtermkey/libtermkey-0.22.tar.gz 2e8242cd1e6acb8900125dcee9fd47f7554c359363f760b88858c82667e1f3871bdd87358b14c8a133ef3cd2699947a5045477e64cdf7f96d4ead1723e73a219 https://www.nico.schottelius.org/software/gpm/archives/gpm-1.20.7.tar.bz2 51c1141ed502f8b6bc846485a8e315bafe3cf2b7c9d1ea8a710d9748ff2058f29c7ab5715fc1730a8437c613181d2050f37b134e9288c69ba8ff7fb0be7ec0d1 -https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz 0ab29fb9a7ecb808bd08d84d28908d5a934e0f021853da0f7a9c94670eb30c8dbbc233d461afdb3995b0de59275ef7e1de43e82d7f848802cbd6e6e50b7b25a6 +https://www.openssl.org/source/openssl-3.0.5.tar.gz 782b0df3d0252468aa696bd74a3b661810499819c0df849aa9698ba0e06a845820dc856aac650fced4be234f1271e576d4317ac3ab1406cf0ffe087d695d20fe +https://www.python.org/ftp/python/3.10.7/Python-3.10.7.tar.xz dc3432d72ee7382617318c9645204876d13bb61d4caf3fbbb65e6b14897261123c743049657c95e159e5566daf4dcde613d2e393f025de758f610b44eb958313 https://www.samba.org/ftp/talloc/talloc-2.3.4.tar.gz c46488deda99753fd79566d42cae88899b71196513a127813be2cb855e7f36b77132f0552297ee4153ba4d8f177cea3bb0dc93340caabf321c026657744684d9 https://www.zlib.net/pigz/pigz-2.7.tar.gz 9f9f61de4a0307fc057dc4e31a98bd8d706d9e709ecde0be02a871534fddf6a1fe1321158aa72708603aaaece43f83d2423b127f7689b6219b23aea4f989e8f5 +https://ftp.gnu.org/gnu/which/which-2.21.tar.gz d2f04a5c5291f2d7d1226982da7cf999d36cfe24d3f7bda145508efcfb359511251d3c68b860c0ddcedd66b15a0587b648a35ab6d1f173707565305c506dfc61 diff --git a/pat/proot-galeb/proot-makefile.patch b/pat/proot-galeb/proot-makefile.patch @@ -29,13 +29,13 @@ +# echo should just be a simple output of args +# - using "! -z" when there is "-n"... +# - just set the fallback and drop the redundant test altogether! -+CHECK_VERSION = /bin/printf "\#undef VERSION\n\#define VERSION \"%s\"\n" \ ++CHECK_VERSION = printf "\#undef VERSION\n\#define VERSION \"%s\"\n" \ + "$(VERSION)" +# Again with the nonstandard echo. ifneq ($(and $(HAS_SWIG),$(HAS_PYTHON_CONFIG)),) - CHECK_PYTHON_EXTENSION = /bin/echo -e "\#define HAVE_PYTHON_EXTENSION" -+ CHECK_PYTHON_EXTENSION = /bin/printf "\#define HAVE_PYTHON_EXTENSION\n" ++ CHECK_PYTHON_EXTENSION = printf "\#define HAVE_PYTHON_EXTENSION\n" endif CHECK_FEATURES = process_vm seccomp_filter diff --git a/pat/ttf2pt1-galeb/fix-makefile-malformed-utf-8.patch b/pat/ttf2pt1-galeb/fix-makefile-malformed-utf-8.patch @@ -0,0 +1,26 @@ +--- a/Makefile 2022-09-08 16:45:58.726353187 +0200 ++++ b/Makefile 2022-09-08 16:45:32.769565052 +0200 +@@ -244,17 +244,17 @@ + chmod -R go-w $(SHAREDIR) + scripts/inst_file ttf2pt1 $(BINDIR)/ttf2pt1 $(OWNER) $(GROUP) 0755 + [ -f $(BINDIR)/t1asm ] || scripts/inst_file t1asm $(LIBXDIR)/t1asm $(OWNER) $(GROUP) 0755 +- /tools/bin/sed 's|^TTF2PT1_BINDIR=$$|TTF2PT1_BINDIR=$(BINDIR)|;\ +- s|^TTF2PT1_LIBXDIR=$$|TTF2PT1_LIBXDIR=$(LIBXDIR)|;\ +- s|^TTF2PT1_SHAREDIR=$$|TTF2PT1_SHAREDIR=$(SHAREDIR)|;' <scripts/convert >cvt.tmp ++ /tools/bin/sed -e 's|^TTF2PT1_BINDIR=$$|TTF2PT1_BINDIR=$(BINDIR)|' \ ++ -e 's|^TTF2PT1_LIBXDIR=$$|TTF2PT1_LIBXDIR=$(LIBXDIR)|' \ ++ -e 's|^TTF2PT1_SHAREDIR=$$|TTF2PT1_SHAREDIR=$(SHAREDIR)|' <scripts/convert >cvt.tmp + scripts/inst_file cvt.tmp $(BINDIR)/ttf2pt1_convert $(OWNER) $(GROUP) 0755 + scripts/inst_file cvt.tmp $(SHAREDIR)/scripts/convert $(OWNER) $(GROUP) 0755 + rm cvt.tmp + scripts/inst_file scripts/x2gs $(BINDIR)/ttf2pt1_x2gs $(OWNER) $(GROUP) 0755 + for i in $(MANS1); do { \ +- /tools/bin/sed 's|TTF2PT1_BINDIR|$(BINDIR)|;\ +- s|TTF2PT1_LIBXDIR|$(LIBXDIR)|;\ +- s|TTF2PT1_SHAREDIR|$(SHAREDIR)|;' <$$i >$(MANDIR)/man1/$$i \ ++ /tools/bin/sed -e 's|TTF2PT1_BINDIR|$(BINDIR)|' \ ++ -e 's|TTF2PT1_LIBXDIR|$(LIBXDIR)|' \ ++ -e 's|TTF2PT1_SHAREDIR|$(SHAREDIR)|' <$$i >$(MANDIR)/man1/$$i \ + && chown $(OWNER) $(MANDIR)/man1/$$i \ + && chgrp $(GROUP) $(MANDIR)/man1/$$i \ + && chmod 0644 $(MANDIR)/man1/$$i \