Commit Graph

155 Commits

Author SHA1 Message Date
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
Michael Tremer
4f2a9813c0 make.sh: Add some commands to build Rust packages
This is a small set of commands that will be needed to build Rust
packages.

The idea is to have a couple of macros which do not have to rewritten,
but can be customised across the lfs files.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-01 13:50:32 +00:00
Michael Tremer
6cf219c427 Drop support for i586
This patch removes support for i586 according to the decision being
taken over a year ago.

It removes the architecture from the build system and removes all
required hacks and other quirks that have been necessary before.

There is no need to ship any changed files to the remaining
architectures as the removed code branches have not been used.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-04 23:27:26 +01:00
Michael Tremer
112441db22 rust: Drop Cargo home directory after build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-11-24 09:06:55 +00:00
Michael Tremer
5621b0ef0a cdrom: Compress file system image using Zstandard
This patch uses the new Zstandard algorithm to compress the file system
image on the ISO image. This comes with these advantages:

* Compression is about twice as fast than XZ with the parameters we have
  selected here
* We use a lot less memory during compression and can therefore utilise
  all processor cores of the build machines
* Decompression (when installing IPFire and when creating the
  flash-image) is substantically faster

The downside is that the generated ISO image is slighty larger (~10MiB)
which I am okay with as a trade-off for the points mentioned above.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-14 08:28:46 +00:00
Arne Fitzenreiter
aafdd71b04 switch arm 32 bit arch from armv5tel to armv6l
we have no supported armv5tel board left so we can switch to the higher
arch. This now can use the vpu (still in softfp calling convention to
not break existing installations.)
this fix many compile problems, also boost is now working again.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:39 +02:00
Michael Tremer
6a8be3e1f7 Config: Break when packaged files are missing
Fixes: #12609
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-04-20 11:52:43 +00:00
Arne Fitzenreiter
99d987bd4a lfs/Config: fix build if MAX_PARALLELISM is lower than one
If you have 2GB RAM the build of dnsdist will fail because MAX_PARALLELISM was
set to zero by RAM/2048 because a bit of RAM is used by the system.

This patch ensure that the lowest PARALLELISM value is 1.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-03-29 10:33:19 +00:00
Michael Tremer
5c36c8dd60 autoconf: Update automake scripts for riscv64
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-03-06 11:14:50 +00:00
Michael Tremer
000ff407b9 Config: riscv64 is a 64 bit architecture
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-03-06 11:14:49 +00:00
Michael Tremer
1ebdfb0e4e Config: Enable UPDATE_AUTOMAKE for riscv64
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-03-06 11:14:49 +00:00
Michael Tremer
b37678e922 Package extended attributes in distro.img and Core Updates
System capabilities are stored in extended file system attributes
which are by default not stored in tar balls.

This patch ensures that they are packaged and extracted.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-01-06 14:45:02 +00:00