Commit Graph

166 Commits

Author SHA1 Message Date
Vincent Li
8d178105b1 go: add go for loongarch64
add go in build for packages depending on go

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-13 18:27:35 -08:00
Vincent Li
23ae73dde4 loongarch64: major changes for flash image and iso
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>
2024-12-19 11:42:59 -08:00
Vincent Li
a0eed98b22 Add linker path to toolchain build
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-16 18:46:13 -08:00
Vincent Li
8a0ca16bae Loongarch64: initial change for tool chain build
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>
2024-12-15 09:09:28 -08:00
Michael Tremer
f2fce26932 Config: Don't interpret file names as regular expressions
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>
2024-12-14 12:06:30 +00:00
Arne Fitzenreiter
da8dc5e86a Config: add ROOTFILE_APPEND variable to select rootfile
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>
2024-10-27 13:47:57 +01:00
Arne Fitzenreiter
16fd55e550 lfs/Config: fix used rootfile for linux headers
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-10-16 21:33:58 +02:00
Michael Tremer
b5caa92612 Config: Fix determining the package size
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-09-21 12:24:58 +00:00
Michael Tremer
20719b4ce3 core-updates: Honour the excluded file list
This was not implement when refactoring the code to compress the
updater's tarball.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-27 09:39:27 +00:00
Michael Tremer
048d2be91a make.sh: Remove all traces of KCFG
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>
2024-08-20 16:08:32 +00:00
Michael Tremer
9db251ee0b linux: Tidy up the messy KVER variable
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>
2024-08-19 18:09:17 +00:00
Michael Tremer
d04dd6f2cd Config: Fix computing the package file size
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-02 16:48:59 +00:00
Michael Tremer
df84336ef8 Config: Use the correct variable for the package release
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-02 16:48:39 +00:00
Michael Tremer
5cee82ee5c Config: Fix the path for the stripper
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:21 +00:00
Michael Tremer
75d3cb0626 Config: Build packages with the new macros
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
bde9073d0c Config: Show the transformed paths when creating tarballs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
a8892acefe Config: Make the ARCHIVE_* variables generally available
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
3e41d45e7b Config: Remove ./ from filenames in archives
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>
2024-07-22 15:21:20 +00:00
Michael Tremer
18a4a1f27b Config: Don't quote arguments in Makefiles
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
c166e83f1d Config: Reorganise the arguments for COPY_FILES
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
708f26352a core-updates: Refactor how we package the archive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
c6043558fb Config: Unexport lots of environment variables
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
c08841bb49 make.sh: Export BUILD_DIR and LOG_DIR
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
4830e79f3c make.sh: Rewrite how we are looking for rootfiles
No function changes, just performance.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
20280ed337 images: Ensure that all mount points are created
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
d4ad987a5d make.sh: Drop stripping
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>
2024-07-22 15:21:20 +00:00
Michael Tremer
8f1c5b617d make.sh: Correctly pass ZSTD_OPT
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
f8aa7ceda3 Config: Create common functions to create archives
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>
2024-07-22 15:21:20 +00:00
Michael Tremer
15b38c6387 Config: Remove debugging code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
20e4920621 make.sh: Refactor building packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
03c51a4e67 Config: Drop toolchain URL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
9773290176 make.sh: Refactor uploading sources
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:18 +00:00
Michael Tremer
3396c74303 Config: Update source upload URL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-03-20 09:56:14 +00:00
Arne Fitzenreiter
1b6047b3ee riscv64: enable EFI support and tools for riscv64
grub is still buggy! grub-install fails with an error:
Relocation 0x13 is not implented!

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-03-04 14:01:43 +00:00
Michael Tremer
39f94ee8eb Drop support for armv6l (and armv7hl)
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>
2023-02-10 09:26:37 +00:00
Michael Tremer
761d036622 Config: Support rootfiles with spaces in filenames
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>
2023-01-18 23:26:59 +00:00
Michael Tremer
62d9b7bd2c Config: Fix calling b2sum
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-04-04 16:03:18 +00:00
Peter Müller
678327a8fd Config: Fix missing bracket
Reported-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-04-03 16:49:02 +00:00
Peter Müller
9a7e4d8506 Switch checksums from MD5 to BLAKE2
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>
2022-04-02 14:19:25 +00:00
Michael Tremer
9b1f666eae Config: Disable parallel builds for Cargo on riscv64
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>
2022-02-22 19:41:39 +00:00
Michael Tremer
5fec125684 rust: Rust's arch for riscv64 is called riscv64gc
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-22 19:41:39 +00:00
Peter Müller
66c3619872 Early spring clean: Remove trailing whitespaces, and correct licence headers
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>
2022-02-18 23:54:57 +00:00
Robin Roevens
a9d98b3491 buildprocess: Add extra metadata to meta-* files
* 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>
2022-02-11 15:08:57 +00:00
Michael Tremer
bbedf54c52 Config: Globally permit using 32 bit time_t
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>
2022-02-05 12:13:43 +00:00
Michael Tremer
06fd5cdd8c Config: Remove /root/.cargo
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-01 13:50:44 +00:00
Michael Tremer
f50da967e8 rust: Upgrade to nightly build from today
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-01 13:50:32 +00:00
Michael Tremer
4f6d6c4123 rust: Enable more checks for when to install package files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-01 13:50:32 +00:00
Michael Tremer
c16dd3aa0c rust: Add switch to skip bin check
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>
2022-02-01 13:50:32 +00:00
Michael Tremer
1aab9dfb5d rust: Avoid requiring development dependencies
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>
2022-02-01 13:50:32 +00:00
Michael Tremer
942b7d0d41 rust: List all files copied
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-01 13:50:32 +00:00