Commit Graph

130 Commits

Author SHA1 Message Date
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
Arne Fitzenreiter
289a86a320 rootfiles: change MACHINE to xxxMACHINExxx
berkeley has a file that nane contain MACHINE wich should not
replaced by the build architecture.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-05-10 17:27:28 +00:00
Michael Tremer
b4863d7d14 Config: Set some Go environment variables
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-04-20 15:24:25 +00:00
Arne Fitzenreiter
702b59cd02 paks: fix meta size entry
remove the doublequotes around the size because pakfire not
accept this.

fixes: #12348

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-04-02 16:28:39 +00:00
Michael Tremer
258bc2e318 Config: Refactor mastering packages
Those are now created in their own temporary directory, so that
no other files can be included by accident.

We also package with fewer temporary files.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-24 08:57:56 +00:00
Michael Tremer
cde41c2e6f Go: Cleanup Go Path after build
Go leaves temporary build files in the directory
which we do not need and we should clean up after
every build.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-01-12 08:19:17 +00:00
Arne Fitzenreiter
590f879b34 python3: exclude __pycache__ from iso, core and packages
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-01-11 21:22:07 +01:00
Arne Fitzenreiter
6ede197501 pathon: update to 3.8 and move pyhton to core
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-01-11 14:35:11 +01:00
Michael Tremer
0bc5b1de6d Config: Disable XZ parallelism by default
Exporting XZ_OPT caused that every time xz was called, it automatically
enabled parallelism. The make systemm also launches multiple processes
at the same time to use more processor cores at the same time.

The combination of this causes memory exhaustion even on large systems
and has no performance gain. Therefore this is disabled by default
and only enabled where we need it which is already the case.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-05-10 04:16:08 +01:00
Michael Tremer
d53537ced9 Config: Builds don't seem to like the space
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-03-04 11:57:22 +00:00
Michael Tremer
7691a1bfe7 make.sh: Introduce MAX_PARALLELISM
This will now adjust MAKETUNING to not launch more processes
than MAX_PARALLELISM. Handy to limit builds that use a lot of memory.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-03-04 11:51:08 +00:00
Michael Tremer
77c863a2f1 make.sh: Introduce DEFAULT_PARALLELISM
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-03-04 11:43:47 +00:00
Arne Fitzenreiter
ebaecf2c96 Revert "make.sh: Log into subdirectory for each architecture"
This reverts commit 35ce207ff7.
2018-10-30 15:07:12 +01:00
Michael Tremer
35ce207ff7 make.sh: Log into subdirectory for each architecture
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-10-29 13:42:51 +00:00
Michael Tremer
b26071d378 Config: Set IS_32BIT when running on 32 bit
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-10-24 17:27:10 +01:00
Michael Tremer
de7c8df83e cdrom: Move list of EFI modules to lfs/cdrom
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-25 10:54:35 +01:00
Michael Tremer
a1eb776199 cdrom: Fix building GRUB image for aarch64
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:53 +01:00
Michael Tremer
582aba0534 Enable EFI on aarch64
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:51 +01:00
Michael Tremer
5f387a1b86 cdrom: Install GRUB into EFI image
This will start GRUB on EFI systems when booting from CD

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:50 +01:00
Michael Tremer
ba3cbb0cfb Adjust variables that have been renamed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:50 +01:00
Michael Tremer
72d40cfddd Config: Have a simple configuration variable that enables EFI
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:50 +01:00
Matthias Fischer
c22976907e tar: Update to 1.30 (V3)
For details see:
https://www.gnu.org/software/tar/

Since new 'tar' has changes in commandline option parsing,
it was necessary to adjust 'lfs/Config, 'lfs/cdrom' and
'lfs/core-updates' (thanks to Marcel for diffs and Michael for
corrections).

I have tried to make only the most necessary changes.

As always, please check.

Best,
Matthias

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-06-06 14:03:07 +01:00
Arne Fitzenreiter
a4923c7f75 Config: follow symlinks at rootfile check
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2018-06-06 11:28:11 +02:00
Michael Tremer
0d1df90f70 Config: Add macro to update automake scripts on aarch64
Some packages ship an older version which does not recognise
aarch64. To overcome this, we just update these scripts when
necessary.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-05-31 11:56:28 +01:00
Michael Tremer
65a736981b Don't compress packages three times. Once is enough.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-05-25 18:36:37 +01:00
Michael Tremer
0054a52bd8 tar seems to ignore the XZ_OPT variable sometimes
This caused that the xz command was called without any
extra arguments. This will now create the tar archive
first and then pass the archive through xz with our
command line switches.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-05-21 20:59:06 +01:00