Merge pull request #144 from doraskayo/rootless-prep-sysa

Preparations for rootless bootstrap of sysa
This commit is contained in:
fosslinux 2022-01-21 10:42:42 +11:00 committed by GitHub
commit c202b663b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 72 additions and 42 deletions

View File

@ -23,7 +23,7 @@ NYACC_PKG=nyacc-1.00.2
MES_PKG=mes
MES_PREFIX=${sources}/${MES_PKG}/src/mes-m2-dad1744fa80f52b3b428803c06b09d39c285f500
GUILE_LOAD_PATH=${MES_PREFIX}/mes/module:${MES_PREFIX}/module:${sources}/${MES_PKG}/src/${NYACC_PKG}/module
mkdir ${prefix} ${bindir} ${libdir} ${incdir} ${tmpdir}
mkdir -p ${prefix} ${bindir} ${libdir} ${incdir} ${tmpdir}
cd ${prefix}
# Remove remaining dependencies on /bin (stage0-posix directory)

View File

@ -12,7 +12,7 @@ mkdir build
cd build
# Extract
gunzip ../src/${pkg}.tar.gz
gunzip -f ../src/${pkg}.tar.gz
tar xf ../src/${pkg}.tar
cd ${pkg}
cp ../../mk/main.mk Makefile

View File

@ -11,7 +11,7 @@ mkdir build
cd build
# Extract
gunzip ../src/${pkg}.tar.gz
gunzip -f ../src/${pkg}.tar.gz
tar xf ../src/${pkg}.tar
cd ${pkg}

View File

@ -12,7 +12,7 @@ mkdir build
cd build
# Extract
bunzip2 ../src/${pkg}.tar.bz2
bunzip2 -f ../src/${pkg}.tar.bz2
tar xf ../src/${pkg}.tar
cd ${pkg}
cp ../../mk/main.mk Makefile

View File

@ -4,6 +4,10 @@
src_unpack() {
src_dir="${base_dir}/src"
# Remove previous source diretory
rm -rf "${pkg}"
tar -xf "${src_dir}/${pkg}.tar"
}

View File

@ -5,6 +5,8 @@
src_prepare() {
. ../../import-gnulib.sh
default_src_prepare
autoreconf-2.61 -f
# Pre-built texinfo files

View File

@ -0,0 +1,18 @@
SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
SPDX-License-Identifier: GPL-3.0-or-later
Use the fallback implementations of getcwd to get the same /usr/bin/find
checksum when building across FUSE and non-FUSE filesystems.
--- gnulib/m4/getcwd-path-max.m4 2022-01-08 13:16:54.412709192 +0200
+++ gnulib/m4/getcwd-path-max.m4 2022-01-16 11:38:02.658606802 +0200
@@ -81,7 +81,7 @@
char *cwd = getcwd (buf, PATH_MAX);
size_t initial_cwd_len;
size_t cwd_len;
- int fail = 0;
+ int fail = 1;
size_t n_chdirs = 0;
if (cwd == NULL)

View File

@ -13,7 +13,7 @@ cd build
lexdir=/lex
# Extract
bunzip2 ../src/${pkg}.tar.bz2
bunzip2 -f ../src/${pkg}.tar.bz2
tar xf ../src/${pkg}.tar ${pkg}/yacc ${pkg}/lex
cd ${pkg}

View File

@ -17,8 +17,9 @@ src_compile() {
make MAKEINFO=true
# fix a broken shebang
chmod +w help2man
tail -n +6 help2man > help2man.tmp
echo "#!/${PREFIX}/bin/perl" > help2man
echo "#!${PREFIX}/bin/perl" > help2man
cat help2man.tmp >> help2man
rm help2man.tmp
}

View File

@ -10,7 +10,7 @@ mkdir build
cd build
# Extract
gunzip ../src/${pkg}.tar.gz
gunzip -f ../src/${pkg}.tar.gz
tar xf ../src/${pkg}.tar
cd ${pkg}

View File

@ -10,7 +10,7 @@ mkdir build
cd build
# Extract
gunzip ../src/${pkg}.tar.gz
gunzip -f ../src/${pkg}.tar.gz
tar xf ../src/${pkg}.tar
cd ${pkg}

View File

@ -12,22 +12,22 @@ src_prepare() {
default
# Remove and regenerate bison files
rm perly.c perly.h
rm -f perly.c perly.h
bison -d perly.y
mv perly.tab.c perly.c
mv perly.tab.h perly.h
# Regenerate embed.h
rm embed.h
rm -f embed.h
./embed_h.SH
# Regenerate keywords.h
rm keywords.h
rm -f keywords.h
chmod +x keywords.sh
./keywords.sh
# Regenerate opcode.h
rm opcode.h
rm -f opcode.h
chmod +x opcode.sh
./opcode.sh
}

View File

@ -12,14 +12,14 @@ src_prepare() {
default
# Regenerate bison files
rm perly.c perly.h
rm -f perly.c perly.h
bison -d perly.y
mv perly.tab.c perly.c
mv perly.tab.h perly.h
# Regenerate other prebuilt header files
for file in embed keywords opcode; do
rm ${file}.h
rm -f ${file}.h
perl ${file}.pl
done
}

View File

@ -7,21 +7,21 @@ src_prepare() {
# Regenerate bison files
sed -i '/yydestruct/d' perly.y
rm perly.c perly.h
rm -f perly.c perly.h
bison -d perly.y
mv perly.tab.c perly.c
mv perly.tab.h perly.h
# Regenerate other prebuilt header files
for file in embed keywords opcode; do
rm ${file}.h
rm -f ${file}.h
perl ${file}.pl
done
rm regnodes.h
rm -f regnodes.h
perl regcomp.pl
rm ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c
rm -f ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c
perl bytecode.pl
rm warnings.h lib/warnings.pm
rm -f warnings.h lib/warnings.pm
perl warnings.pl
# Workaround for some linking problems, remove if possible

View File

@ -6,14 +6,14 @@ src_prepare() {
default
# Regenerate bison files
rm perly.c perly.h
rm -f perly.c perly.h
bison -d perly.y
mv perly.tab.c perly.c
mv perly.tab.h perly.h
# Regenerate other prebuilt header files
for file in embed keywords opcode; do
rm ${file}.h
rm -f ${file}.h
perl ${file}.pl
done
}

View File

@ -6,19 +6,19 @@ src_prepare() {
default
# Regenerate bison files
rm perly.c perly.h
rm -f perly.c perly.h
bison -d perly.y
mv perly.tab.c perly.c
mv perly.tab.h perly.h
# Regenerate other prebuilt header files
for file in embed keywords opcode; do
rm ${file}.h
rm -f ${file}.h
perl ${file}.pl
done
rm regnodes.h
rm -f regnodes.h
perl regcomp.pl
rm byterun.h byterun.c
rm -f fbyterun.h byterun.c
perl bytecode.pl
}

View File

@ -12,7 +12,7 @@ mkdir build
cd build
# Extract
gunzip ../src/${pkg}.tar.gz
gunzip -f ../src/${pkg}.tar.gz
tar xf ../src/${pkg}.tar
cd ${pkg}

View File

@ -12,7 +12,7 @@ mkdir build
cd build
# Extract
gunzip ../src/${pkg}.tar.gz
gunzip -f ../src/${pkg}.tar.gz
untar ../src/${pkg}.tar
cd ${pkg}

View File

@ -11,7 +11,7 @@ mkdir build
cd build
# Extract
bunzip2 ../src/${pkg}.tar.bz2
bunzip2 -f ../src/${pkg}.tar.bz2
tar xf ../src/${pkg}.tar
cd ${pkg}

View File

@ -12,14 +12,14 @@ src_prepare() {
# is not dependent on perly.y any more.
perl regen_perly.pl -b bison-2.3
# Remove the source file so make works.
rm perly.y
rm -f perly.y
# Regenerate other prebuilt header files
# Taken from headers of regen scripts
rm lib/warnings.pm warnings.h regnodes.h reentr.h reentr.c overload.h \
overload.c lib/overload/numbers.pm opcode.h opnames.h pp_proto.h \
pp.sym keywords.h embed.h embedvar.h global.sym perlapi.c perlapi.h \
proto.h
rm -f lib/warnings.pm warnings.h regnodes.h reentr.h reentr.c overload.h \
overload.c lib/overload/numbers.pm opcode.h opnames.h pp_proto.h \
pp.sym keywords.h embed.h embedvar.h global.sym perlapi.c perlapi.h \
proto.h
perl regen.pl
mkdir -p ext/File ext/Digest ext/Data

View File

@ -14,15 +14,15 @@ src_prepare() {
# Regenerate other prebuilt header files
# Taken from headers of regen scripts
rm embed.h embedvar.h perlapi.c perlapi.h proto.h mg_names.inc mg_raw.h \
mg_vtable.h opcode.h opnames.h pp_proto.h \
lib/B/Op_private.pm overload.h overload.inc lib/overload/numbers.pm \
reentr.h reentr.c regnodes.h lib/warnings.pm \
warnings.h lib/feature.pm feature.h
rm -f embed.h embedvar.h perlapi.c perlapi.h proto.h mg_names.inc mg_raw.h \
mg_vtable.h opcode.h opnames.h pp_proto.h \
lib/B/Op_private.pm overload.h overload.inc lib/overload/numbers.pm \
reentr.h reentr.c regnodes.h lib/warnings.pm \
warnings.h lib/feature.pm feature.h
perl regen.pl
# Regenerate configure + config_h.SH
rm Configure config_h.SH
rm -f Configure config_h.SH
ln -s ../perl-5f2dc80/regen-configure/.package .
ln -s ../perl-5f2dc80/regen-configure/U .
metaconfig -m

View File

@ -10,6 +10,8 @@ set -e
# shellcheck source=sysglobal/helpers.sh
. helpers.sh
# shellcheck source=/dev/null
. bootstrap.cfg
export PATH=/usr/bin:/usr/sbin
export PREFIX=/usr

View File

@ -172,9 +172,12 @@ populate_device_nodes() {
mkdir -p "${1}/dev"
test -c "${1}/dev/null" || mknod -m 666 "${1}/dev/null" c 1 3
test -c "${1}/dev/zero" || mknod -m 666 "${1}/dev/zero" c 1 5
test -c "${1}/dev/ptmx" || mknod -m 666 "${1}/dev/ptmx" c 5 2
test -c "${1}/dev/tty" || mknod -m 666 "${1}/dev/tty" c 5 0
test -c "${1}/dev/random" || mknod -m 444 "${1}/dev/random" c 1 8
test -c "${1}/dev/urandom" || mknod -m 444 "${1}/dev/urandom" c 1 9
test -c "${1}/dev/console" || mknod -m 666 "${1}/dev/console" c 5 1
if [ "${CHROOT}" = False ]; then
test -c "${1}/dev/ptmx" || mknod -m 666 "${1}/dev/ptmx" c 5 2
test -c "${1}/dev/tty" || mknod -m 666 "${1}/dev/tty" c 5 0
test -c "${1}/dev/console" || mknod -m 666 "${1}/dev/console" c 5 1
fi
}