Initial list of changes required to build iso
and flash image successfully:
1 softwares require config.guess and config.stub
update with loongarch support
2 no rust build and no suricata which depends on rust
3 comment out python 3.10 lib-dynload and config-3.10-xxxMACHINExxx-linux-gnu
4 lfs/cdrom lfs/Config loongarch seems requiring capital EFI boot image name
to boot properly
5 comment out a few softwares that are not needed for now
iso can be installed to loongarch PC hard drive, but
fail to boot.
flash image can be dd to USB drive, then boot loongarch
PC from USB drive, then dd from USB drive to loongarch
PC hard drive
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
1. add loongarch64 in make.sh
2. updated many source tar balls with config.guss
and config.sub with loongarch64 support
3. remove rust and surricata for now
4. workaround binary env dynamic linker missing
by symbolic link tools_loongarch64/lib to lib64
when ./make.sh build
cd build_loongarch64; ln -s tools_loongarch64/lib lib64
./make.sh toolchain to build tool chain
./make clean to start fresh
./make.sh gettoolchain to extract tool chaina from cache
./make.sh build to build software and image
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
When we are searching for changes in rootfiles, we walk through each
file that we have found in the build and check if it exists in the
rootfile. That check interpreted filenames as regular expressions which
caused a problem in the case of "/usr/bin/[".
This patch changes that grep will only search for an exact string match
(-F) and the string must be the entire line (-x).
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
also gcc on riscv64 has to different rootfile at build so make
the selection of an additional rootfile univarsal.
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This variable is no longer been used and has been abused way too much in
the past. May it rest in pieces.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This variable never actually held the kernel version. There were always
suffixes appended and other things changed about it. This makes it a lot
simpler as this variable now holds the actual kernel version.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
I am not sure if this would actually create any problems, but it looks
ugly and is inconsistent with the older code.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This will massively improve the build process because we will only strip
the files that we need. The build system will remain as is.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
The compression code is very messy because it has changed so many times.
This cleans this up and creates common functions that can be used for
the ISO images as well as packages.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This removes support for building IPFire for 32 bit ARM architectures.
This has been decided in August 2022 with six months notice as there are
not very many users and hardware is generally not available any more.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Our build scripts can't handle any spaces in filenames. This is being
fixed by this patch with only a slightly changed set of shell commands.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Acked-by: Peter Müller <peter.mueller@ipfire.org>
Historically, the MD5 checksums in our LFS files serve as a protection
against broken downloads, or accidentally corrupted source files.
While the sources are nowadays downloaded via HTTPS, it make sense to
beef up integrity protection for them, since transparently intercepting
TLS is believed to be feasible for more powerful actors, and the state
of the public PKI ecosystem is clearly not helping.
Therefore, this patch switches from MD5 to BLAKE2, updating all LFS
files as well as make.sh to deal with this checksum algorithm. BLAKE2 is
notably faster (and more secure) than SHA2, so the performance penalty
introduced by this patch is negligible, if noticeable at all.
In preparation of this patch, the toolchain files currently used have
been supplied with BLAKE2 checksums as well on
https://source.ipfire.org/.
Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremeripfire.org>
There seems to be some problem where Cargo deadlocks during the build
when running on mutliple cores simulteneously.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Bumping across one of our scripts with very long trailing whitespaces, I
thought it might be a good idea to clean these up. Doing so, some
missing or inconsistent licence headers were fixed.
There is no need in shipping all these files en bloc, as their
functionality won't change.
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
* Add a Summary and Services field to the meta-* addon files.
* Add an INSTALL_INITSCRIPTS macro that takes a space seperated
list of initscripts to install.
* I kept the original INSTALL_INITSCRIPT as a method to install
individual initscripts for backwards compatibility and possible corner
cases.
Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
This is required because some packages do not recommend building with
time_t when it is 32 bit (Y2038 problem).
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This does not seem to work very reliable, so we need manually disable
this for some packages.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Cargo will always require all depenendencies, even if the package is not
being built against them. In order to avoid that, we will need the
nightly build of the Rust compiler which supports skipping those
dependencies.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>