Merge pull request #144 from doraskayo/rootless-prep-sysa
Preparations for rootless bootstrap of sysa
This commit is contained in:
commit
c202b663b0
|
@ -23,7 +23,7 @@ NYACC_PKG=nyacc-1.00.2
|
||||||
MES_PKG=mes
|
MES_PKG=mes
|
||||||
MES_PREFIX=${sources}/${MES_PKG}/src/mes-m2-dad1744fa80f52b3b428803c06b09d39c285f500
|
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
|
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}
|
cd ${prefix}
|
||||||
|
|
||||||
# Remove remaining dependencies on /bin (stage0-posix directory)
|
# Remove remaining dependencies on /bin (stage0-posix directory)
|
||||||
|
|
|
@ -12,7 +12,7 @@ mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
# Extract
|
# Extract
|
||||||
gunzip ../src/${pkg}.tar.gz
|
gunzip -f ../src/${pkg}.tar.gz
|
||||||
tar xf ../src/${pkg}.tar
|
tar xf ../src/${pkg}.tar
|
||||||
cd ${pkg}
|
cd ${pkg}
|
||||||
cp ../../mk/main.mk Makefile
|
cp ../../mk/main.mk Makefile
|
||||||
|
|
|
@ -11,7 +11,7 @@ mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
# Extract
|
# Extract
|
||||||
gunzip ../src/${pkg}.tar.gz
|
gunzip -f ../src/${pkg}.tar.gz
|
||||||
tar xf ../src/${pkg}.tar
|
tar xf ../src/${pkg}.tar
|
||||||
cd ${pkg}
|
cd ${pkg}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
# Extract
|
# Extract
|
||||||
bunzip2 ../src/${pkg}.tar.bz2
|
bunzip2 -f ../src/${pkg}.tar.bz2
|
||||||
tar xf ../src/${pkg}.tar
|
tar xf ../src/${pkg}.tar
|
||||||
cd ${pkg}
|
cd ${pkg}
|
||||||
cp ../../mk/main.mk Makefile
|
cp ../../mk/main.mk Makefile
|
||||||
|
|
|
@ -4,6 +4,10 @@
|
||||||
|
|
||||||
src_unpack() {
|
src_unpack() {
|
||||||
src_dir="${base_dir}/src"
|
src_dir="${base_dir}/src"
|
||||||
|
|
||||||
|
# Remove previous source diretory
|
||||||
|
rm -rf "${pkg}"
|
||||||
|
|
||||||
tar -xf "${src_dir}/${pkg}.tar"
|
tar -xf "${src_dir}/${pkg}.tar"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
. ../../import-gnulib.sh
|
. ../../import-gnulib.sh
|
||||||
|
|
||||||
|
default_src_prepare
|
||||||
|
|
||||||
autoreconf-2.61 -f
|
autoreconf-2.61 -f
|
||||||
|
|
||||||
# Pre-built texinfo files
|
# Pre-built texinfo files
|
||||||
|
|
|
@ -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)
|
|
@ -13,7 +13,7 @@ cd build
|
||||||
lexdir=/lex
|
lexdir=/lex
|
||||||
|
|
||||||
# Extract
|
# Extract
|
||||||
bunzip2 ../src/${pkg}.tar.bz2
|
bunzip2 -f ../src/${pkg}.tar.bz2
|
||||||
tar xf ../src/${pkg}.tar ${pkg}/yacc ${pkg}/lex
|
tar xf ../src/${pkg}.tar ${pkg}/yacc ${pkg}/lex
|
||||||
cd ${pkg}
|
cd ${pkg}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,9 @@ src_compile() {
|
||||||
make MAKEINFO=true
|
make MAKEINFO=true
|
||||||
|
|
||||||
# fix a broken shebang
|
# fix a broken shebang
|
||||||
|
chmod +w help2man
|
||||||
tail -n +6 help2man > help2man.tmp
|
tail -n +6 help2man > help2man.tmp
|
||||||
echo "#!/${PREFIX}/bin/perl" > help2man
|
echo "#!${PREFIX}/bin/perl" > help2man
|
||||||
cat help2man.tmp >> help2man
|
cat help2man.tmp >> help2man
|
||||||
rm help2man.tmp
|
rm help2man.tmp
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
# Extract
|
# Extract
|
||||||
gunzip ../src/${pkg}.tar.gz
|
gunzip -f ../src/${pkg}.tar.gz
|
||||||
tar xf ../src/${pkg}.tar
|
tar xf ../src/${pkg}.tar
|
||||||
cd ${pkg}
|
cd ${pkg}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
# Extract
|
# Extract
|
||||||
gunzip ../src/${pkg}.tar.gz
|
gunzip -f ../src/${pkg}.tar.gz
|
||||||
tar xf ../src/${pkg}.tar
|
tar xf ../src/${pkg}.tar
|
||||||
cd ${pkg}
|
cd ${pkg}
|
||||||
|
|
||||||
|
|
|
@ -12,22 +12,22 @@ src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
# Remove and regenerate bison files
|
# Remove and regenerate bison files
|
||||||
rm perly.c perly.h
|
rm -f perly.c perly.h
|
||||||
bison -d perly.y
|
bison -d perly.y
|
||||||
mv perly.tab.c perly.c
|
mv perly.tab.c perly.c
|
||||||
mv perly.tab.h perly.h
|
mv perly.tab.h perly.h
|
||||||
|
|
||||||
# Regenerate embed.h
|
# Regenerate embed.h
|
||||||
rm embed.h
|
rm -f embed.h
|
||||||
./embed_h.SH
|
./embed_h.SH
|
||||||
|
|
||||||
# Regenerate keywords.h
|
# Regenerate keywords.h
|
||||||
rm keywords.h
|
rm -f keywords.h
|
||||||
chmod +x keywords.sh
|
chmod +x keywords.sh
|
||||||
./keywords.sh
|
./keywords.sh
|
||||||
|
|
||||||
# Regenerate opcode.h
|
# Regenerate opcode.h
|
||||||
rm opcode.h
|
rm -f opcode.h
|
||||||
chmod +x opcode.sh
|
chmod +x opcode.sh
|
||||||
./opcode.sh
|
./opcode.sh
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,14 +12,14 @@ src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
# Regenerate bison files
|
# Regenerate bison files
|
||||||
rm perly.c perly.h
|
rm -f perly.c perly.h
|
||||||
bison -d perly.y
|
bison -d perly.y
|
||||||
mv perly.tab.c perly.c
|
mv perly.tab.c perly.c
|
||||||
mv perly.tab.h perly.h
|
mv perly.tab.h perly.h
|
||||||
|
|
||||||
# Regenerate other prebuilt header files
|
# Regenerate other prebuilt header files
|
||||||
for file in embed keywords opcode; do
|
for file in embed keywords opcode; do
|
||||||
rm ${file}.h
|
rm -f ${file}.h
|
||||||
perl ${file}.pl
|
perl ${file}.pl
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,21 +7,21 @@ src_prepare() {
|
||||||
|
|
||||||
# Regenerate bison files
|
# Regenerate bison files
|
||||||
sed -i '/yydestruct/d' perly.y
|
sed -i '/yydestruct/d' perly.y
|
||||||
rm perly.c perly.h
|
rm -f perly.c perly.h
|
||||||
bison -d perly.y
|
bison -d perly.y
|
||||||
mv perly.tab.c perly.c
|
mv perly.tab.c perly.c
|
||||||
mv perly.tab.h perly.h
|
mv perly.tab.h perly.h
|
||||||
|
|
||||||
# Regenerate other prebuilt header files
|
# Regenerate other prebuilt header files
|
||||||
for file in embed keywords opcode; do
|
for file in embed keywords opcode; do
|
||||||
rm ${file}.h
|
rm -f ${file}.h
|
||||||
perl ${file}.pl
|
perl ${file}.pl
|
||||||
done
|
done
|
||||||
rm regnodes.h
|
rm -f regnodes.h
|
||||||
perl regcomp.pl
|
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
|
perl bytecode.pl
|
||||||
rm warnings.h lib/warnings.pm
|
rm -f warnings.h lib/warnings.pm
|
||||||
perl warnings.pl
|
perl warnings.pl
|
||||||
|
|
||||||
# Workaround for some linking problems, remove if possible
|
# Workaround for some linking problems, remove if possible
|
||||||
|
|
|
@ -6,14 +6,14 @@ src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
# Regenerate bison files
|
# Regenerate bison files
|
||||||
rm perly.c perly.h
|
rm -f perly.c perly.h
|
||||||
bison -d perly.y
|
bison -d perly.y
|
||||||
mv perly.tab.c perly.c
|
mv perly.tab.c perly.c
|
||||||
mv perly.tab.h perly.h
|
mv perly.tab.h perly.h
|
||||||
|
|
||||||
# Regenerate other prebuilt header files
|
# Regenerate other prebuilt header files
|
||||||
for file in embed keywords opcode; do
|
for file in embed keywords opcode; do
|
||||||
rm ${file}.h
|
rm -f ${file}.h
|
||||||
perl ${file}.pl
|
perl ${file}.pl
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,19 +6,19 @@ src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
# Regenerate bison files
|
# Regenerate bison files
|
||||||
rm perly.c perly.h
|
rm -f perly.c perly.h
|
||||||
bison -d perly.y
|
bison -d perly.y
|
||||||
mv perly.tab.c perly.c
|
mv perly.tab.c perly.c
|
||||||
mv perly.tab.h perly.h
|
mv perly.tab.h perly.h
|
||||||
|
|
||||||
# Regenerate other prebuilt header files
|
# Regenerate other prebuilt header files
|
||||||
for file in embed keywords opcode; do
|
for file in embed keywords opcode; do
|
||||||
rm ${file}.h
|
rm -f ${file}.h
|
||||||
perl ${file}.pl
|
perl ${file}.pl
|
||||||
done
|
done
|
||||||
rm regnodes.h
|
rm -f regnodes.h
|
||||||
perl regcomp.pl
|
perl regcomp.pl
|
||||||
rm byterun.h byterun.c
|
rm -f fbyterun.h byterun.c
|
||||||
perl bytecode.pl
|
perl bytecode.pl
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
# Extract
|
# Extract
|
||||||
gunzip ../src/${pkg}.tar.gz
|
gunzip -f ../src/${pkg}.tar.gz
|
||||||
tar xf ../src/${pkg}.tar
|
tar xf ../src/${pkg}.tar
|
||||||
cd ${pkg}
|
cd ${pkg}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
# Extract
|
# Extract
|
||||||
gunzip ../src/${pkg}.tar.gz
|
gunzip -f ../src/${pkg}.tar.gz
|
||||||
untar ../src/${pkg}.tar
|
untar ../src/${pkg}.tar
|
||||||
|
|
||||||
cd ${pkg}
|
cd ${pkg}
|
||||||
|
|
|
@ -11,7 +11,7 @@ mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
# Extract
|
# Extract
|
||||||
bunzip2 ../src/${pkg}.tar.bz2
|
bunzip2 -f ../src/${pkg}.tar.bz2
|
||||||
tar xf ../src/${pkg}.tar
|
tar xf ../src/${pkg}.tar
|
||||||
cd ${pkg}
|
cd ${pkg}
|
||||||
|
|
||||||
|
|
|
@ -12,14 +12,14 @@ src_prepare() {
|
||||||
# is not dependent on perly.y any more.
|
# is not dependent on perly.y any more.
|
||||||
perl regen_perly.pl -b bison-2.3
|
perl regen_perly.pl -b bison-2.3
|
||||||
# Remove the source file so make works.
|
# Remove the source file so make works.
|
||||||
rm perly.y
|
rm -f perly.y
|
||||||
|
|
||||||
# Regenerate other prebuilt header files
|
# Regenerate other prebuilt header files
|
||||||
# Taken from headers of regen scripts
|
# Taken from headers of regen scripts
|
||||||
rm lib/warnings.pm warnings.h regnodes.h reentr.h reentr.c overload.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 \
|
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 \
|
pp.sym keywords.h embed.h embedvar.h global.sym perlapi.c perlapi.h \
|
||||||
proto.h
|
proto.h
|
||||||
perl regen.pl
|
perl regen.pl
|
||||||
|
|
||||||
mkdir -p ext/File ext/Digest ext/Data
|
mkdir -p ext/File ext/Digest ext/Data
|
||||||
|
|
|
@ -14,15 +14,15 @@ src_prepare() {
|
||||||
|
|
||||||
# Regenerate other prebuilt header files
|
# Regenerate other prebuilt header files
|
||||||
# Taken from headers of regen scripts
|
# Taken from headers of regen scripts
|
||||||
rm embed.h embedvar.h perlapi.c perlapi.h proto.h mg_names.inc mg_raw.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 \
|
mg_vtable.h opcode.h opnames.h pp_proto.h \
|
||||||
lib/B/Op_private.pm overload.h overload.inc lib/overload/numbers.pm \
|
lib/B/Op_private.pm overload.h overload.inc lib/overload/numbers.pm \
|
||||||
reentr.h reentr.c regnodes.h lib/warnings.pm \
|
reentr.h reentr.c regnodes.h lib/warnings.pm \
|
||||||
warnings.h lib/feature.pm feature.h
|
warnings.h lib/feature.pm feature.h
|
||||||
perl regen.pl
|
perl regen.pl
|
||||||
|
|
||||||
# Regenerate configure + config_h.SH
|
# 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/.package .
|
||||||
ln -s ../perl-5f2dc80/regen-configure/U .
|
ln -s ../perl-5f2dc80/regen-configure/U .
|
||||||
metaconfig -m
|
metaconfig -m
|
||||||
|
|
|
@ -10,6 +10,8 @@ set -e
|
||||||
|
|
||||||
# shellcheck source=sysglobal/helpers.sh
|
# shellcheck source=sysglobal/helpers.sh
|
||||||
. helpers.sh
|
. helpers.sh
|
||||||
|
# shellcheck source=/dev/null
|
||||||
|
. bootstrap.cfg
|
||||||
|
|
||||||
export PATH=/usr/bin:/usr/sbin
|
export PATH=/usr/bin:/usr/sbin
|
||||||
export PREFIX=/usr
|
export PREFIX=/usr
|
||||||
|
|
|
@ -172,9 +172,12 @@ populate_device_nodes() {
|
||||||
mkdir -p "${1}/dev"
|
mkdir -p "${1}/dev"
|
||||||
test -c "${1}/dev/null" || mknod -m 666 "${1}/dev/null" c 1 3
|
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/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/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/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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue