mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-12 06:15:29 +01:00
Remove the notion of "sys*"
- This idea originates from very early in the project and was, at the
time, a very easy way to categorise things.
- Now, it doesn't really make much sense - it is fairly arbitary, often
occuring when there is a change in kernel, but not from builder-hex0
to fiwix, and sysb is in reality completely unnecessary.
- In short, the sys* stuff is a bit of a mess that makes the project
more difficult to understand.
- This puts everything down into one folder and has a manifest file that
is used to generate the build scripts on the fly rather than using
coded scripts.
- This is created in the "seed" stage.
stage0-posix -- (calls) --> seed -- (generates) --> main steps
Alongside this change there are a variety of other smaller fixups to the
general structure of the live-bootstrap rootfs.
- Creating a rootfs has become much simpler and is defined as code in
go.sh. The new structure, for an about-to-be booted system, is
/
-- /steps (direct copy of steps/)
-- /distfiles (direct copy of distfiles/)
-- all files from seed/*
-- all files from seed/stage0-posix/*
- There is no longer such a thing as /usr/include/musl, this didn't
really make any sense, as musl is the final libc used. Rather, to
separate musl and mes, we have /usr/include/mes, which is much easier
to work with.
- This also makes mes easier to blow away later.
- A few things that weren't properly in packages have been changed;
checksum-transcriber, simple-patch, kexec-fiwix have all been given
fully qualified package names.
- Highly breaking change, scripts now exist in their package directory
but NOT WITH THE packagename.sh. Rather, they use pass1.sh, pass2.sh,
etc. This avoids manual definition of passes.
- Ditto with patches; default directory is patches, but then any patch
series specific to a pass are named patches-passX.
This commit is contained in:
parent
0907cfd073
commit
6ed2e09f3a
546 changed files with 700 additions and 1299 deletions
55
steps/bison-2.3/import-gnulib.sh
Executable file
55
steps/bison-2.3/import-gnulib.sh
Executable file
|
|
@ -0,0 +1,55 @@
|
|||
#!/bin/sh
|
||||
|
||||
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
set -e
|
||||
|
||||
gnulib_modules='
|
||||
argmatch
|
||||
dirname
|
||||
error
|
||||
exitfail
|
||||
extensions
|
||||
getopt
|
||||
gettext
|
||||
hard-locale
|
||||
hash
|
||||
malloc
|
||||
mbswidth
|
||||
obstack
|
||||
quote
|
||||
quotearg
|
||||
stdbool
|
||||
stdio-safer
|
||||
strerror
|
||||
strtoul
|
||||
strverscmp
|
||||
unistd-safer
|
||||
unlocked-io
|
||||
verify
|
||||
xalloc
|
||||
xalloc-die
|
||||
xstrndup
|
||||
'
|
||||
|
||||
# Copy over needed files
|
||||
for i in ${gnulib_modules}; do
|
||||
for f in $(../gnulib-b28236b/gnulib-tool --extract-filelist "${i}") \
|
||||
lib/wcwidth.h; do
|
||||
cp -pf "../gnulib-b28236b/${f}" "./${f}"
|
||||
done
|
||||
done
|
||||
|
||||
# Generate the things
|
||||
(echo '# This file is generated automatically by "bootstrap".' &&
|
||||
echo 'AC_DEFUN([GNULIB_AUTOCONF_SNIPPET],[' &&
|
||||
../gnulib-b28236b/gnulib-tool --extract-autoconf-snippet $gnulib_modules &&
|
||||
echo '])'
|
||||
) > m4/gnulib.m4
|
||||
|
||||
(echo '# This file is generated automatically by "bootstrap".' &&
|
||||
../gnulib-b28236b/gnulib-tool --extract-automake-snippet $gnulib_modules |
|
||||
sed 's/^[ ]*AM_CPPFLAGS[ ]*+=/# (commented out by bootstrap) &/'
|
||||
) > lib/gnulib.mk
|
||||
34
steps/bison-2.3/pass1.sh
Executable file
34
steps/bison-2.3/pass1.sh
Executable file
|
|
@ -0,0 +1,34 @@
|
|||
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
# SPDX-FileCopyrightText: 2022 Andrius Štikonas <andrius@stikonas.eu>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
../../import-gnulib.sh
|
||||
|
||||
AUTOPOINT=true AUTOMAKE=automake-1.15 ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
|
||||
|
||||
# Remove pregenerated files
|
||||
rm src/parse-gram.c src/parse-gram.h src/scan-skel.c src/scan-gram.c
|
||||
|
||||
# Remove pregenerated .info
|
||||
rm doc/bison.info
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
LEX=flex-2.5.33 ./configure \
|
||||
--prefix="${PREFIX}" \
|
||||
--libdir="${LIBDIR}" \
|
||||
--program-suffix=-2.3 \
|
||||
--datarootdir="${PREFIX}/share/bison-2.3"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
make -j1 MAKEINFO=true
|
||||
}
|
||||
|
||||
src_install() {
|
||||
make MAKEINFO=true DESTDIR="${DESTDIR}" install
|
||||
}
|
||||
17
steps/bison-2.3/patches/autover-mismatch.patch
Normal file
17
steps/bison-2.3/patches/autover-mismatch.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
This macro does not exist in newer versions of autoconf and is unrequired.
|
||||
There is no version of autoconf supporting this project + gnulib + this macro.
|
||||
|
||||
--- m4/po_gl.m4 2021-04-11 18:39:53.353069610 +1000
|
||||
+++ m4/po_gl.m4 2021-04-11 18:40:20.422242498 +1000
|
||||
@@ -24,7 +24,6 @@
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
|
||||
AC_REQUIRE([AM_NLS])dnl
|
||||
|
||||
dnl Perform the following tests also if --disable-nls has been given,
|
||||
18
steps/bison-2.3/patches/fopen-safer.patch
Normal file
18
steps/bison-2.3/patches/fopen-safer.patch
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
fopen-safer.c for whatever reason does not exist when added by gnulib.
|
||||
|
||||
--- lib/Makefile.am 2021-04-11 19:01:01.265993928 +1000
|
||||
+++ lib/Makefile.am 2021-04-11 19:01:40.413232722 +1000
|
||||
@@ -31,7 +31,8 @@
|
||||
lib_SOURCES = \
|
||||
get-errno.h get-errno.c \
|
||||
subpipe.h subpipe.c \
|
||||
- $(bitsets_sources) $(additional_bitsets_sources) $(timevars_sources)
|
||||
+ $(bitsets_sources) $(additional_bitsets_sources) $(timevars_sources) \
|
||||
+ fopen-safer.c
|
||||
|
||||
# Implementation of bitsets
|
||||
bitsets_sources = \
|
||||
17
steps/bison-2.3/patches/gnulib-fix.patch
Normal file
17
steps/bison-2.3/patches/gnulib-fix.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
This should be declared for gnulib, but for some reason is not, most likely
|
||||
use of a different version (but CVS history no longer exists).
|
||||
|
||||
--- lib/Makefile.am 2021-04-11 13:49:09.414805465 +1000
|
||||
+++ lib/Makefile.am 2021-04-11 13:49:26.418916036 +1000
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
BUILT_SOURCES =
|
||||
EXTRA_DIST =
|
||||
+EXTRA_lib_SOURCES =
|
||||
MOSTLYCLEANFILES =
|
||||
|
||||
lib_LIBRARIES = $(YACC_LIBRARY)
|
||||
20
steps/bison-2.3/patches/our-bison.patch
Normal file
20
steps/bison-2.3/patches/our-bison.patch
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
This doesn't actually make sense, you can't use the built bison to bootstrap
|
||||
itself. Make it use our bison instead.
|
||||
|
||||
--- src/Makefile.am 2021-04-10 21:37:11.570390316 +1000
|
||||
+++ src/Makefile.am 2021-04-10 21:38:01.805804332 +1000
|
||||
@@ -23,10 +23,6 @@
|
||||
|
||||
LDADD = ../lib/libbison.a $(LIBINTL)
|
||||
|
||||
-# Use our own Bison to build the parser. Of course, you ought to
|
||||
-# keep a sane version of Bison nearby...
|
||||
-YACC = ../tests/bison -y
|
||||
-
|
||||
bin_PROGRAMS = bison
|
||||
bin_SCRIPTS = $(YACC_SCRIPT)
|
||||
EXTRA_SCRIPTS = yacc
|
||||
2
steps/bison-2.3/sources
Normal file
2
steps/bison-2.3/sources
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
http://mirrors.kernel.org/gnu/bison/bison-2.3.tar.bz2 b10d7e9e354be72aee4e4911cf19dd27b5c527d4e7200857365b5fcdeea0dffb
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-b28236b.tar.gz 0190f28cb155fedd22bf8558c3e8705eed9eacfb7ae29e7508d025a68eb90899
|
||||
Loading…
Add table
Add a link
Reference in a new issue