чување b0a8f9dbaed1c15d43d98a31465f2fe1b563a717
родитељ 909d252853ab7c7b3e98ef5371894d3c2ea0c34b
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Tue, 12 Jul 2022 12:53:11 +0200
Chroot up to gzip
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 4, додавања: 330(+), брисања: 75(-)
diff --git a/02-prep-chroot.sh b/02-prep-chroot.sh
@@ -97,8 +97,10 @@ if [ -e ${GR}/etc/profile ]; then
else
msg info "Generating %s" "${GR}/etc/profile"
cat <<! >${GR}/etc/profile
+LC_ALL=
+LANG=C.UTF-8
PATH=/${TLD}/bin:/bin:/sbin:/sucks/bin:/sucks/sbin:/plan9/bin
-export PATH
+export LC_ALL LANG PATH
# A more familiar ls
lc()
diff --git a/03-chroot.sh b/03-chroot.sh
@@ -115,8 +115,8 @@ else
run_configure . --prefix=/${TLD}
run_make
run_make install
+ remove_dir ${G_SRC}/${pkg}
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -233,7 +233,7 @@ fi
end_substep
msg info "Cleaning up environment"
-PATH=/local/bin:/bin:/sucks/bin:/tools/bin:/plan9/bin
+PATH=/local/bin:/bin:/sucks/bin:/${TLD}/bin:/plan9/bin
export PATH
unset CC CXX AR AS RANLIB LD STRIP
@@ -248,7 +248,7 @@ fi
msg info "Adjusting specs"
SPECFILE=$(realpath $(dirname $(gcc -print-libgcc-file-name)))/specs
export SPECFILE
-gcc -dumpspecs | sed -e 's,/tools,,g' \
+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 '\
@@ -291,7 +291,6 @@ mkpk_install()
remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -321,7 +320,6 @@ mkpk_install()
}
!
mkpk ${pkg}
- remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
remove_dir ${G_SRC}/${pkg}
@@ -353,15 +351,14 @@ mkpk_install()
--disable-static \\
--docdir=/sucks/share/doc/readline-8.1 \\
CFLAGS='-O3 -march=native -mtune=native -pipe'
- make ${JN} SHLIB_LIBS='-L/tools/lib -lncursesw'
- make SHLIB_LIBS='-L/tools/lib -lncursesw' DESTDIR=/build install
+ make ${JN} SHLIB_LIBS='-L/'${TLD}'/lib -lncursesw'
+ make SHLIB_LIBS='-L/'${TLD}'/lib -lncursesw' DESTDIR=/build install
}
!
mkpk ${pkg}
remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -396,7 +393,6 @@ mkpk_install()
remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -441,9 +437,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -516,7 +512,7 @@ else
if [ ! -e config.mk.orig ]; then
cp config.mk config.mk.orig
- /tools/bin/sed -i -e 's,/usr/local\(/plan9\),\1,g' \
+ /${TLD}/bin/sed -i -e 's,/usr/local\(/plan9\),\1,g' \
-e 's,^CFLAGS\s\++= ,&-static --static -fcommon ,g' \
-e 's,^LDFLAGS\s\++= ,&-static --static -fcommon ,g' \
-e 's,^OBJTYPE\s\+= 386,#&,g' \
@@ -525,7 +521,7 @@ else
fi
if [ ! -e std.mk.orig ]; then
cp std.mk std.mk.orig
- /tools/bin/sed -i -e 's,^#\(\s\+@strip.*\),\1,' std.mk
+ /${TLD}/bin/sed -i -e 's,^#\(\s\+@strip.*\),\1,' std.mk
fi
cat <<! >MKPK
mkpk_name()
@@ -562,7 +558,7 @@ checked-for-s.patch \
done
msg info "Cleaning empty man pages"
- /tools/bin/find . -name '[a-z]*\.[0-9]*' -empty -exec rm -f {} \;
+ /${TLD}/bin/find . -name '[a-z]*\.[0-9]*' -empty -exec rm -f {} \;
cat <<! >MKPK
mkpk_name()
@@ -614,9 +610,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -786,14 +782,14 @@ else
extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.xz
(
cd_or_fail ${G_SRC}/${pkg}
- /tools/bin/sed -i \
+ /${TLD}/bin/sed -i \
-e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \
-e 's@/var/spool/mail@/var/mail@' etc/login.defs
# The limit has been lowered in musl, and it remained the same
# in shadow 4.9
# - *Not* fixed in 4.11.1, so this is still needed.
- /tools/bin/sed -i \
+ /${TLD}/bin/sed -i \
-e 's/^\(#define SHA_ROUNDS_MAX 9999999\)99/\1/' \
libmisc/salt.c
@@ -832,7 +828,7 @@ end_substep
msg info "Setting up /etc/default/useradd"
useradd -D --gid 999
-/tools/bin/sed -i \
+/${TLD}/bin/sed -i \
-e 's/yes/no/' \
-e 's,/bin/bash,/bin/mksh,' \
/etc/default/useradd
@@ -880,7 +876,7 @@ mkpk_install()
export CFLAGS CXXFLAGS DESTDIR
if false; then
- SED=/tools/bin/sed libat_cv_have_ifunc=no \\
+ SED=/${TLD}/bin/sed libat_cv_have_ifunc=no \\
./configure \\
--prefix=/sucks \\
--build=${GR_TRI} \\
@@ -951,9 +947,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -967,7 +963,7 @@ LD=ld
STRIP=strip
export CC CXX AR AS RANLIB LD STRIP
-PATH=/bin:/sucks/bin:/tools/bin
+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
@@ -1006,18 +1002,19 @@ mkpk_install()
--docdir=/share/doc/${pkg} \\
--sharedir=/share \\
--config-musl \\
- --sysincludepaths=/include:/sucks/include \\
+ --sysincludepaths=/local/include:/include:/sucks/include \\
--crtprefix=/lib \\
- --libpaths=/lib:/sucks/lib
+ --libpaths=/local/lib:/lib:/sucks/lib
+ make clean
make ${JN}
make install-strip
}
!
mkpk ${pkg}
+ #remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- #remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1071,9 +1068,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1111,9 +1108,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1152,9 +1149,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1191,9 +1188,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1230,9 +1227,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1263,9 +1260,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1306,9 +1303,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1335,9 +1332,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1371,9 +1368,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1407,9 +1404,9 @@ mkpk_install()
}
!
mkpk ${pkg}
- #unpack_pkg ${pkg} /
+ remove_dir ${G_SRC}/${pkg}
+ unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1442,9 +1439,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1480,9 +1477,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1518,9 +1515,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1556,9 +1553,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1604,9 +1601,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1676,9 +1673,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1709,9 +1706,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1750,9 +1747,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1786,9 +1783,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1822,9 +1819,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1858,9 +1855,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1897,9 +1894,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1936,9 +1933,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -1975,9 +1972,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2020,9 +2017,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2067,9 +2064,9 @@ LDFLAGS=-static --static -fcommon
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2100,9 +2097,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2147,7 +2144,6 @@ mkpk_install()
remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2193,9 +2189,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2236,9 +2232,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2280,9 +2276,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2349,9 +2345,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2385,9 +2381,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2418,9 +2414,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2483,9 +2479,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2565,9 +2561,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2601,9 +2597,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2642,9 +2638,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2686,9 +2682,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2734,9 +2730,9 @@ mkpk_install()
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
) || exit 1
- remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2745,6 +2741,14 @@ if [ -x /bin/locale ]; then
msg info "%s exists, skipping %s" /bin/locale ${pkg}
elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then
unpack_pkg ${pkg} /
+ msg warn "Note: If this is the first time you are running this"
+ msg warn "installation script, at this point you should recom-"
+ msg warn "pile all packages with i18n built thus far, to make "
+ msg warn "use of the newly-built locale support. If having lo-"
+ msg warn "cale support in packages built thus far is not im-"
+ msg warn "portant to you, ignore this. "
+ msg query "Press Enter"
+ read -r enter
else
(
cd_or_fail ${G_SRC}/${pkg}
@@ -2762,15 +2766,25 @@ mkpk_install()
DESTDIR=/build
export CFLAGS LDFLAGS DESTDIR
- cmake --install-prefix / -B../build . || exit 1
- make -C ../build ${JN} || exit 1
- make -C ../build install
+ mkdir /cmake-build
+ cd /cmake-build
+ cmake --install-prefix / ../${pkg} || exit 1
+ make -C /cmake-build ${JN} || exit 1
+ make -C /cmake-build install
}
!
mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
unpack_pkg ${pkg} /
+ msg warn "Note: If this is the first time you are running this"
+ msg warn "installation script, at this point you should recom-"
+ msg warn "pile all packages with i18n built thus far, to make "
+ msg warn "use of the newly-built locale support. If having lo-"
+ msg warn "cale support in packages built thus far is not im-"
+ msg warn "portant to you, ignore this. "
+ msg query "Press Enter"
+ read -r enter
) || exit 1
- #remove_dir ${G_SRC}/${pkg}
fi
end_substep
@@ -2779,12 +2793,19 @@ if [ -x /bin/mandoc ]; then
msg info "%s exists, skipping %s" /bin/mandoc ${pkg}
elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then
unpack_pkg ${pkg} /
+ msg warn "You need to run \`makewhatis [dir]\` for every direc-"
+ msg warn "tory in MANPATH_*: "
+ msg warn "/share/man:/X11R6/man:/sucks/share/man:/plan9/share/man"
else
extract_pkg ${G_SRC} mdocml-1.14.1 mdocml-1.14.1.tar.gz
extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.gz
(
cd_or_fail ${G_SRC}/${pkg}
+ # mandoc passes NULL to recvmsg, which it shouldn't
+ apply_patch final-system -Np0 -i \
+ ${G_PAT}/mandoc-galeb/test-recvmsg.patch
+
cat <<! >MKPK
mkpk_name()
{
@@ -2799,8 +2820,8 @@ mkpk_install()
export CFLAGS LDFLAGS DESTDIR
cat <<@ >configure.local
-MANPATH_DEFAULT=/share/man:/X11R6/man:/sucks/share/man
-MANPATH_BASE=/share/man:/X11R6/man:/sucks/share/man
+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=/
SBINDIR=/bin
@@ -2815,14 +2836,235 @@ BUILD_CATMAN=1
./configure || exit 1
make ${JN} || exit 1
+ make install
+}
+!
+ mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
+ unpack_pkg ${pkg} /
+ msg warn "You need to run \`makewhatis [dir]\` for every direc-"
+ msg warn "tory in MANPATH_*: "
+ msg warn "/share/man:/X11R6/man:/sucks/share/man:/plan9/share/man"
+ ) || exit 1
+fi
+end_substep
+
+begin_substep gzip-1.12
+if [ -e /bin/gzip ]; then
+ msg info "%s exists, skipping %s" /bin/gzip ${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='-O3 -march=native -mtune=native -pipe -static --static -fcommon'
+ CXXFLAGS=\${CFLAGS}
+ LDFLAGS='-static --static -fcommon'
+ DESTDIR=/build
+ export CFLAGS CXXFLAGS LDFLAGS DESTDIR
+
+ DEFS=NO_ASM gl_cv_func_fflush_stdin=yes \\
+ ./configure --prefix=/
+
+ make ${JN} || exit 1
make install-strip
}
!
mkpk ${pkg}
- #unpack_pkg ${pkg} /
+ remove_dir ${G_SRC}/${pkg}
+ unpack_pkg ${pkg} /
) || exit 1
- #remove_dir ${G_SRC}/${pkg}
fi
end_substep
+begin_substep mksh-20220709
+if [ -e /bin/mksh ] && [ ! -L /bin/mksh ]; then
+ msg info "%s exists, skipping %s" /bin/mksh ${pkg}
+elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then
+ unpack_pkg ${pkg} /
+else
+ (
+ cd_or_fail ${G_SRC}/${pkg}
+
+ cat <<! >MKPK
+mkpk_name()
+{
+ printf "%s" "${pkg}"
+}
+
+mkpk_install()
+{
+ CFLAGS='-O3 -march=native -mtune=native -pipe -static --static -fcommon'
+ LDSTATIC='-static --static -fcommon'
+ TARGET_OS=Linux
+ DESTDIR=/build
+ export CFLAGS LDSTATIC TARGET_OS DESTDIR
+
+ cp() { /${TLD}/bin/cp \$*; }
+ mkdir() { /${TLD}/bin/mkdir \$*; }
+ mv() { /${TLD}/bin/mv \$*; }
+
+ mkdir -v build-mksh
+ cd build-mksh
+ sh ../Build.sh || exit 1
+
+ mkdir -pvv /build/bin
+ mkdir -pv /build/share/doc/${pkg}/examples
+ ln -s ${pkg} /build/share/doc/mksh
+ mkdir -pv /build/share/man/man1
+
+ install -c -s -o root -g root -m 555 mksh /build/bin/mksh
+ install -c -o root -g root -m 444 ../dot.mkshrc \\
+ /build/share/doc/mksh/examples/
+ install -c -o root -g root -m 444 FAQ.htm \\
+ /build/share/doc/mksh/
+ install -c -o root -g root -m 444 ../lksh.1 ../mksh.1 \\
+ /build/share/man/man1/
+
+ cd ..
+ CPPFLAGS=-DMKSH_BINSHPOSIX
+ export CPPFLAGS
+ mkdir -v build-lksh
+ cd build-lksh
+ sh ../Build.sh -L || exit 1
+
+ install -c -s -o root -g root -m 555 lksh /build/bin/lksh
+ ln -sf lksh /build/bin/sh
+}
+!
+ mkpk ${pkg}
+ #remove_dir ${G_SRC}/${pkg}
+ unpack_pkg ${pkg} /
+ ) || exit 1
+fi
+end_substep
+
+begin_substep sbase-20220709
+if [ -e /bin/ls ] && [ ! -L /bin/ls ]; then
+ msg info "%s exists, skipping %s" /bin/ls ${pkg}
+elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then
+ unpack_pkg ${pkg} /
+else
+ (
+ cd_or_fail ${G_SRC}/${pkg}
+
+ cat <<! >MKPK
+mkpk_name()
+{
+ printf "%s" "${pkg}"
+}
+
+mkpk_install()
+{
+ AR=ar
+ CC=tcc
+ export AR CC
+
+ if [ ! -e config.mk.orig ]; then
+ cp config.mk config.mk.orig
+ /${TLD}/bin/sed -i -e "s,/usr/local,,g;s, \\<cc\\>, "\\
+"\${CC},g" \\
+ -e "s, \\<ar\\>, ${AR},g" \\
+ -e "s,^CFLAGS\\s\\+= ,&-static -fcommon ,g" \\
+ -e "s,^LDFLAGS\\s\\+= ,&-static -fcommon ,g" config.mk
+ fi
+
+ make ${JN} || exit 1
+ make DESTDIR=/build install
+}
+!
+ mkpk ${pkg}
+ #remove_dir ${G_SRC}/${pkg}
+ unpack_pkg ${pkg} /
+ ) || exit 1
+fi
+end_substep
+
+begin_substep ubase-20220709
+if [ -x /bin/id ]; then
+ msg info "%s exists, skipping %s" /bin/id ${pkg}
+elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then
+ unpack_pkg ${pkg} /
+else
+ (
+ cd_or_fail ${G_SRC}/${pkg}
+
+ cat <<! >MKPK
+mkpk_name()
+{
+ printf "%s" "${pkg}"
+}
+
+mkpk_install()
+{
+ AR=ar
+ CC=tcc
+ export AR CC
+
+ if [ ! -e mknod.c.orig ]; then
+ cp mknod.c mknod.c.orig
+ /${TLD}/bin/sed -i -z "s,<sys/types.h>\\n,&#include "\\
+"<sys/sysmacros.h>\\n," mknod.c
+ fi
+ if [ ! -e util.h.orig ]; then
+ cp util.h util.h.orig
+ /${TLD}/bin/sed -i -z "s,\\"arg.h\\"\\n,&#include "\\
+"<sys/sysmacros.h>\\n," util.h
+ fi
+ if [ ! -e config.mk.orig ]; then
+ cp config.mk config.mk.orig
+ /${TLD}/bin/sed -i -e "s,/usr/local,,g;s, \\<cc\\>, "\\
+"\${CC},g" \\
+ -e "s, \\<ar\\>, ${AR},g" \\
+ -e "s,^CFLAGS\\s\\+= ,&-static -fcommon ,g" \\
+ -e "s,^LDFLAGS\\s\\+= ,&-static -fcommon ,g" \\
+ -e "s,^LDLIBS\\s\\+= ,&-lc ,g" config.mk
+ fi
+
+ make ${JN} || exit 1
+ make DESTDIR=/build install
+
+ mkdir -p /build/var/run
+ :>/build/var/run/utmp
+ chown root:utmp /build/var/run/utmp
+ chmod 664 /build/var/run/utmp
+}
+!
+ mkpk ${pkg}
+ #remove_dir ${G_SRC}/${pkg}
+ unpack_pkg ${pkg} /
+ ) || exit 1
+fi
+end_substep
+
+
+msg info "Regenerating /etc/profile"
+cat <<! >/etc/profile
+LC_ALL=
+LANG=C.UTF-8
+PATH=/local/bin:/bin:/sucks/bin:/plan9/bin:/${TLD}/bin
+export LC_ALL LANG PATH
+
+# A more familiar ls
+lc()
+{
+ /bin/ls \$* | cols
+}
+
+[ -e /etc/mkshrc ] && . /etc/mkshrc
+!
+
+#msg info "Executing /bin/mksh -l +h"
+#/bin/mksh -l +h
+
end_step
diff --git a/lib/fun.sh b/lib/fun.sh
@@ -244,7 +244,7 @@ git_clone()
link_if_ne()
{
eval dest=\$$#
- if [ -L "${dest}" ]; then
+ if [ -e "${dest}" ]; then
#msg info "Symlink %s exists" "${dest}"
return
fi
@@ -346,7 +346,8 @@ mkpk()
if [ ${fail} -eq 0 ]; then
msg info "mkpk packing..."
cd ../build
- tar -c $(find . \( -type b -o -type c -o -type f -o -type l \) \
+ tar -c $(/${TLD}/bin/find . \( -type b -o -type c -o \
+ -type f -o -type l \) \
-cnewer ../timestamp | sort | uniq) | \
xz -9 > ${G_SPKG}/$(mkpk_name).tar.xz && \
cd ${G_SPKG} && \
diff --git a/pat-11.2.1/mandoc-galeb/test-recvmsg.patch b/pat-11.2.1/mandoc-galeb/test-recvmsg.patch
@@ -0,0 +1,10 @@
+--- test-recvmsg.c.orig 2022-07-12 10:05:29.206306683 +0200
++++ test-recvmsg.c 2022-07-12 10:05:54.116403025 +0200
+@@ -4,5 +4,6 @@
+ int
+ main(void)
+ {
+- return recvmsg(-1, NULL, 0) != -1;
++ struct msghdr mh;
++ return recvmsg(-1, &mh, 0) != -1;
+ }