Commit Graph

497 Commits

Author SHA1 Message Date
Andrius Štikonas 938d919503 Fix creation of binary tar packages.
Closes #223
2023-01-13 01:09:57 +00:00
fosslinux f4ebc241ac Fix linters (whoops!) 2023-01-07 19:12:50 +11:00
Andrius Štikonas c63d7ae89f Remove unnecessary mkdir call. 2023-01-07 01:11:47 +00:00
fosslinux b46b776404 Support .tgz files in extract phase 2023-01-05 21:20:18 +11:00
fosslinux 6f76fd2071 Add early preseed
Speeds up development cycle, allows for the pre-kaem stages to be
extracted as a tarball
2023-01-05 20:44:19 +11:00
fosslinux d91deb50c9 Remove XBPS 2023-01-05 20:44:19 +11:00
Andrius Štikonas bd29c5f855 Update stage0-posix. 2023-01-02 12:33:24 +00:00
fosslinux a89c76cc73 Fix musl-1.2.3 when umask on host system is not 022 2023-01-02 16:44:23 +11:00
Andrius Štikonas 20c2d4c36e Build tcc 0.9.27 immediately after tcc 0.9.26. 2022-12-25 01:49:54 +00:00
Andrius Štikonas 278b2390f7 Update stage0-posix to include unbz2. 2022-12-24 11:04:52 +00:00
Andrius Štikonas e5edc55847 Update ca-certificates to 3.86.
This temporarily should fix checksum error due to certificate expiry.
2022-12-12 00:54:06 +00:00
rick-masters d2c669e0fc Always use file for checksums, mes built sha256sum doesn't support stdin. 2022-12-05 18:14:19 +00:00
Andrius Štikonas 58c538330e Minor simplification of coreutils-6 makefile. 2022-12-01 21:40:07 +00:00
fosslinux 9634b6d059
Merge pull request #215 from eduardosm/dl-distfiles-script
Add script to automatically download all sysa and sysc distfiles without Python
2022-11-29 16:58:25 +11:00
Eduardo Sánchez Muñoz 6f4afb4e3f Make shellcheck happy 2022-11-28 20:10:30 +01:00
fosslinux bd97b1f86c
Merge pull request #217 from rick-masters/fix-zero-terminate-wstrcpy
Zero terminate strings in wstrcpy. Resolves #216.
2022-11-28 18:59:59 +11:00
rick-masters 4e13e9ba11 Zero terminate strings in wstrcpy. Resolves #216. 2022-11-27 20:39:18 +00:00
rick-masters 267eb69452 Restore missing checksums for packages used in QEMU build. Resolves #213. 2022-11-27 19:16:39 +00:00
Andrius Štikonas 44c35017e7 Update musl 1.2.3 checksum. 2022-11-15 01:03:51 +02:00
Andrius Štikonas 33362c0783 Update stage0-posix. 2022-11-14 21:48:05 +02:00
fosslinux 1c6c9a404d Hotfix shellcheck 2022-11-02 14:35:48 +11:00
fosslinux 31bc944dd3 Establish different XBPS packages for different versions 2022-10-30 21:07:57 +11:00
fosslinux c523eb9b47 Fix repo preseed in update_checksums mode 2022-10-30 21:07:57 +11:00
fosslinux 38b90d6a96 Make preseed work in sysc
- TODO: tar-1.34 does not work properly with preseed.
2022-10-30 21:07:57 +11:00
Andrius Štikonas effac229c1 Update to zlib-1.2.13 and fix its download url. 2022-10-21 12:14:50 +02:00
Andrius Štikonas 70b43cb63c Update to mes 0.24.1 2022-10-17 09:58:03 +02:00
fosslinux 042deed5e5 Fix extract-only for old tar 2022-10-10 22:23:04 +11:00
fosslinux e6d4eccd41 Transpose linux-headers extract-only to new sources 2022-10-10 22:22:31 +11:00
Andrius Štikonas 3900cf04ca Move musl build with shared libraries after autogen. 2022-10-05 01:33:19 +01:00
fosslinux 10a55522a2 Change sources getting method.
- Rather than defining the urls where they are gotten (python sysa,
  python sysc, inside sysc), a spec file is now used that is easily
  interpretable and tool-independent.
- This is interpreted by rootfs.py and inside sysc.
- This is also used to make sources available and extract sources.
- Manual dirname selection is no longer required as is tarball renaming
  upon download - all of this is handled automatically.

Fixes #188
2022-10-02 09:48:20 +11:00
fosslinux 64ae760529 Add checksum-transcriber utility
To convert from sources format to sha256sum format.
2022-10-02 09:47:54 +11:00
Andrius Štikonas 0d4abd0223 Add autogen-5.18.16. 2022-09-29 00:00:02 +01:00
Andrius Štikonas 997cd15453 Add sed 4.8 2022-09-23 22:03:32 +01:00
Andrius Štikonas f9d83f3a35 Add grep 3.7. 2022-09-20 00:16:43 +01:00
Andrius Štikonas e748d62a62 Build gperf statically
Build both static and shared libraries for:
* libunistring
* libatomic_ops
* libffi
* gc
2022-09-19 14:33:36 +01:00
Andrius Štikonas ee853d91fe
Merge pull request #200 from stikonas/which
Add which 2.21.
2022-09-17 14:31:30 +01:00
Andrius Štikonas 9f3f65f146 Add which 2.21. 2022-09-17 11:12:10 +01:00
fosslinux 838dc99325
Merge pull request #198 from rick-masters/fix-gzip-misplaced-catm
Remove misplaced commands. These are run later in the script.
2022-09-17 08:59:42 +10:00
rick-masters f8a68153ad Remove misplaced commands. These are run later in the script. 2022-09-16 17:48:51 +00:00
Dor Askayo 9d84539a70 Set --libdir when configuring gettext 0.21 2022-09-16 00:04:38 +03:00
Dor Askayo 3e3f7036f2 Set --libdir when configuring curl 7.83.0 2022-09-16 00:01:48 +03:00
Dor Askayo 916541707a Set --libdir when configuring bison 2.3 2022-09-16 00:01:39 +03:00
Dor Askayo 8208831e5a Set --libdir when configuring dhcpcd 9.4.1 2022-09-15 23:56:49 +03:00
Andrius Štikonas a16440f7c2
Merge pull request #194 from doraskayo/musl-dynamic-linking
musl dynamic linking support
2022-09-15 21:53:24 +01:00
Andrius Štikonas fa0abaa342
Merge pull request #191 from doraskayo/modern-binutils
Add binutils 2.38 and libtool 2.4.7
2022-09-15 21:52:27 +01:00
Dor Askayo 4c75d729b5 Add symlink for ldd
musl's ldd functionality is built into its dynamic linker.
2022-09-15 09:16:56 +03:00
Dor Askayo 9bde9d1afe Rebuild musl 1.2.3 with support for dynamic linking
Now that GCC and binutils support musl's toolchain natively, musl can
have its dynamic linking support enabled without ill-effects.
2022-09-15 09:16:56 +03:00
Dor Askayo d78fcdfa99 Remove pregenerated opcodes files in binutils 2.14 2022-09-14 13:05:23 +03:00
Dor Askayo 238520fee7 Patch GCC 4.7.4 for native musl support
Backport upstream patches to enable native musl toolchain support in
GCC. Only the changes required for i386 were taken, excluding
changes for libgo and libfortran.

These patches enable binaries built using gcc and g++ to automatically
use musl's dynamic linker as their interpreter when present during the
build.
2022-09-14 12:37:32 +03:00
Dor Askayo 4113d60b24 Add binutils 2.38 2022-09-14 12:36:32 +03:00
Dor Askayo 5aae443d65 Add libtool 2.4.7
Instead of using the pre-generated "bootstrap" script, execute the
relevant bootstrap operations manually. This doesn't actually change
the build output; the final package hash remains identical.
2022-09-11 09:19:16 +03:00
Dor Askayo 555a06b469 Create a symlink for GCC
This is required when the "CC" environment variable isn't set
explicitly, which is to be expected when using sysc_image in
downstream projects.
2022-09-02 22:09:38 +03:00
Andrius Štikonas 7e95cbbefb Switch to unversioned automake. 2022-07-07 20:43:53 +01:00
Andrius Štikonas 5209078684 Switch to unversioned autoconf.
Remove unversioned autoconf symlink from all but the latest autoconf.

This makes it clearer which autoconf is used.
2022-07-07 20:43:46 +01:00
Andrius Štikonas 511a0f71c5 Use replace to build mescc.scm. 2022-06-26 16:39:04 +01:00
Andrius Štikonas a0cb0dfd60 Add tac to coreutils-5.0. 2022-06-22 18:47:42 +01:00
Andrius Štikonas 0717485993
Merge pull request #178 from fosslinux/network
Network
2022-06-18 10:51:26 +01:00
fosslinux 25f37ba926 Various fixes from rebase
This took a while so a bunch of stuff got broken in rebase.
2022-06-18 09:10:11 +10:00
Andrius Štikonas ff67cd6508 Remove dircolors.h from coreutils 5.
It's not used but we can delete it anyway.

Fixes #176
2022-06-15 21:04:55 +01:00
Andrius Štikonas 119c96b9da Rebuild false.c in coreutils 5.
This was spotted in #176.

Note that coreutils 8.32 does not need to rebuild false.c as it
implements it via compile-time #defines.
2022-06-14 23:13:05 +01:00
Andrius Štikonas b2027df490 Update stage0-posix. 2022-06-12 23:13:01 +01:00
Andrius Štikonas 9b5c6ca3a1 Do not install pre-generated manpages.
Also remove redundant autotools stages.

Early manpages in autoconf 2.52-2.59 are removed from output.
Later ones are regenerated with help2man.

Fixes #182
2022-06-12 17:39:23 +01:00
fosslinux b614b3021d Add dhcpcd 9.4.1 2022-06-10 13:33:16 +10:00
fosslinux 0ce50a6393 Add options for;
- disk to be created (blank disk given to live-bootstrap) (default)
- disk to already exist but sources downloaded within live-bootstrap
- sources to be downloaded outside live-bootstrap (non-blank disk given
  to live-bootstrap)

Also migrate sysb to use sys_transfer in QEMU mode also.

Note that this means copy_sysc is now irrelevant. sysc is *always*
sourced from sysa.
2022-06-10 13:33:16 +10:00
fosslinux 6ea1b8e295 Add e2fsprogs 1.45.7
Additionally, fix downloading in chunks for some files.
2022-06-10 13:30:58 +10:00
fosslinux 8008de8e73 Add file downloading logic
Add urls to sysc, and modify some tarballs to http (non s) before ssl
2022-06-10 13:30:58 +10:00
fosslinux 060f44e5a5 Add curl 7.83.0 2022-06-10 13:30:58 +10:00
Andrius Štikonas a23f9d76b0 Fix reproducibility of automake manpages.
Fixes #180
2022-06-08 23:54:23 +01:00
Andrius Štikonas 3d202c5bce Fix --update-checksums mode after /usr/bin/factor was removed. 2022-06-08 21:51:16 +01:00
Andrius Štikonas 45924ae12a Remove factor binary (issue #176)
Only coreutils 5 is affected. We don't build factor in coreutils 6
and coreutils 8.32 does not use pregenerated headers in its implementation
of factor.
2022-06-06 21:42:24 +02:00
Andrius Štikonas 4923a79a70 Actually apply patch removing date from generated manpages.
Fixes #180
2022-06-06 00:19:45 +02:00
Andrius Štikonas 79c532cd2c Update hash of automake-1.11.2
Turns out we still hardcode current date in the manpage.
This needs fixing but in the meantime update the hash.
2022-06-05 19:57:27 +01:00
Andrius Štikonas ae811bde5d Remove pregenerated files (ppsyntax) in mes.
They appear to be unused.

Fixes #164
2022-06-03 21:05:24 +01:00
Andrius Štikonas 407b02d6b4 Update stage0-posix to latest snapshot. 2022-06-02 22:44:02 +01:00
Andrius Štikonas b0f0fa3a95 Fix return from bin_preseed. 2022-06-02 20:25:23 +01:00
Andrius Štikonas 0b3782d61b Allow preseeding with binary packages. 2022-05-29 00:04:57 +01:00
Andrius Štikonas 9d15314ebc Checksum source tarballs during bootstrap. 2022-05-21 23:49:37 +01:00
Dor Askayo cf1964b3bf Fix file permissions for run2.kaem 2022-05-22 00:23:53 +03:00
Dor Askayo 7adff2dcd3 Update mes to the latest git snapshot
This should include a fix for S_ISUID that we "lost" when switching
away from mes-m2's libc.

See http://git.savannah.gnu.org/cgit/mes.git/commit/?id=ce54ccc2c04b0a6ec9105522e4b8b4cc278c5106
2022-05-21 21:48:23 +03:00
Dor Askayo 653f31b59f Add support for --update-checksums in early bootstrap
This allows creating *.checksums files instead of checking against
them when UPDATE_CHECKSUMS is set to True in bootstrap.cfg.

The checksums are also copied to /usr/src so they can be accessed
easily after the bootstrap completes.
2022-05-21 20:51:41 +03:00
Dor Askayo 18fa642100 Rename checksums to ${pkg}.checksums 2022-05-21 02:34:23 +03:00
Dor Askayo d12d0e0f9c Make bootstrap.cfg available during early bootstrap 2022-05-20 19:49:19 +03:00
Dor Askayo d1fea647ee Use ${bindir} in after.kaem 2022-05-20 19:33:36 +03:00
fosslinux fc0368aa6a
Merge pull request #169 from stikonas/links
Merge symlinks into tarball packages.
2022-05-20 22:46:30 +10:00
fosslinux b199aa3396
Merge pull request #163 from doraskayo/rootless-prep-2
Additional preparations for rootless bootstrap
2022-05-20 22:45:37 +10:00
Andrius Štikonas 8f61b8400e Merge symlinks into tarball packages. 2022-05-20 09:39:57 +01:00
Andrius Štikonas 081912058f
Merge pull request #161 from doraskayo/local-bootstrap-config
Don't export variables from bootstrap.cfg
2022-05-19 20:45:35 +01:00
Dor Askayo 0a98a6e13d Use "rm -f" in libtool to avoid an interactive prompt 2022-05-19 21:55:25 +03:00
Dor Askayo 507f945419 Remove /dev/null only if it's not a character device 2022-05-19 21:55:25 +03:00
Andrius Štikonas 21f4174dc3 Fix packaging issues
* Bzip2 was manually installed directly into filesystem, so bzip2 package was empty.
  Fixed by installing it to destdir. bzip2 moves out its binary before installing
  its own package.
* sha256sum from stage0-posix was not checking any checksums because it does not
  accept piped input. Fixed by using temporary file.
* grep was broken for a short time (but with fixed bzip2 package this caused failures)
  due to touch creating grep file of zero size (egrep symlink was touched).
  Fixed by implementing touch -h

Resolves #156, resolves #166, resolves #167
2022-05-17 10:19:50 +01:00
Andrius Štikonas 3e4f823ffb
Merge pull request #165 from doraskayo/reproducible-packages
Improve reproduciblity of tarball and XBPS packages
2022-05-15 19:26:35 +01:00
Dor Askayo fcea28eb38 Don't export variables from bootstrap.cfg
These variables should only affect live-bootstrap's scripts, yet they
currently "pollute" the build environment of most packages during the
bootstrap unnecessarily.

This change also makes bootstrap.cfg keep the same format between the
different bootstrap stages, which simplifies the input to each step.
2022-05-15 18:15:30 +03:00
Dor Askayo fde1bbc571 Update bootstrap.cfg immediately after interactive prompts
This improves the readablility of the scripts. It also helps avoid
cases where a variable could be set twice in bootstrap.cfg, such as
the DISK variable.
2022-05-15 18:15:30 +03:00
Andrius Štikonas 6bf53927de Readd gunzip. 2022-05-15 14:05:12 +01:00
Dor Askayo 3c60bdebc3 Improve reproducibility of tarball packages
This ensures the user running the bootstrap and its umask don't
affect the permission metadata in the tar archive.
2022-05-15 10:46:18 +03:00
fosslinux fba7ecf96a
Merge pull request #162 from doraskayo/libtool-archive-order
Fix libtool archive reproducibility
2022-05-15 13:48:15 +10:00
Dor Askayo 24e3fa3601 Fix libtool archive reproducibility
This makes the order of objects in archives created by libtool
consistent.

It is known to affect cases where the *_LIBADD automake variable is
used to add extra objects from a separate archive.

Fixing this allows us to remove a few workarounds.
2022-05-15 00:35:39 +03:00
Andrius Štikonas 3fd451a909 Swamp make and gzip. 2022-05-14 19:40:52 +01:00
Andrius Štikonas e4f5342ee4 Swap make and tar. 2022-05-14 12:42:03 +01:00
Andrius Štikonas b9079045db Swap sed and make.
This allows to use makefile rather than kaem script for building sed.
Makefiles for musl and mes are unified into one makefile with some
conditional code.
2022-05-14 12:41:27 +01:00