Commit Graph

609 Commits

Author SHA1 Message Date
Andrius Štikonas 8fbc5b06c7 Build util-linux without cramfs that fails to build with new binutils.
Enable libuuid that might be useful for python later.

Also fixes #244.
2023-03-02 22:08:43 +00:00
Andrius Štikonas 57b55b8652 Use newer autotools. 2023-03-02 22:08:43 +00:00
Andrius Štikonas 1a2a4c1c6c Update to xz-5.4.1. 2023-03-02 22:08:43 +00:00
Andrius Štikonas d8c033aa79 Remove set -x hack. 2023-03-02 22:08:43 +00:00
Andrius Štikonas 241717ee8d Move automake-1.15.1 to sysa. 2023-03-02 22:08:43 +00:00
Andrius Štikonas da9a2c6c50 Move bash rebuild to sysa. 2023-03-02 22:08:43 +00:00
Andrius Štikonas 58d1206c83 Add bc-1.07.1. 2023-03-02 22:08:43 +00:00
Andrius Štikonas b8446054f2 Add ed 1.4. 2023-03-02 22:08:43 +00:00
Andrius Štikonas ae7e1f9498 Fix checksum of binutils. 2023-02-28 10:28:29 +08:00
Andrius Štikonas e242f5539d Remove more pre-generated files from binutils 2.38. 2023-02-26 12:03:38 +08:00
Andrius Štikonas 2c559bb49d Remove some autotools stages. 2023-02-25 12:22:44 +08:00
Andrius Štikonas 3b90aae529 Upgrade to binutils 2.24:
* Move libtool 2.2.4 before binutils.
* Remove libtool 1.4.
* Switch from binutils 2.14 to 2.24.
2023-02-25 12:22:44 +08:00
Andrius Štikonas ea96519332 Move autoconf-2.69 to sysa. 2023-02-22 10:27:56 +08:00
Andrius Štikonas da11c40e37 Move automake-1.11.2 to sysa. 2023-02-22 10:27:56 +08:00
Andrius Štikonas cd396db5d5 Bootstrap newer autotools versions before binutils. 2023-02-22 10:27:56 +08:00
Andrius Štikonas d4eeba9d7a Improvements to early package creation:
* get_files produces list without extra ./ between extra subdirectories.
* Emtry directories are also included.
* Simplified src_pkg function.
* Use local variables instead of unsetting global variables in src_apply.
2023-02-22 10:27:56 +08:00
Paul Dersey c67306cfde Update mes to version 0.24.2
A rebuild of mes libc is required after building tcc 0.9.27 for the
first time.
2023-02-21 15:24:14 -05:00
fosslinux c170152d14 Apply CRC regen to GCC 4.7
CRC generated table is regenerated using the same method as GCC 10.

Closes #243
2023-02-13 22:15:58 +11:00
fosslinux 946dd8ee33 Fix GCC 10
stripping breaks it
2023-02-13 19:49:11 +11:00
fosslinux 495b985173 Update checksums for misc packages
The various toolchain changes recently required a few checksum updates.
2023-02-12 09:21:24 +11:00
fosslinux dd8bf0921f Add GCC 10.4.0
Last version of GCC that can be compiled with GCC 4.7.
2023-02-12 09:21:24 +11:00
fosslinux d854915ad3 Add file-5.44 2023-02-12 09:21:24 +11:00
fosslinux e5f62ba49e Add missing linux-headers asm-generic header
asm/param.h, from asm-generic, is required for GCC 10.
2023-02-12 09:21:24 +11:00
fosslinux 0d81d85e05 Fix --with-sysroot in binutils (again)
--with-sysroot removal is insufficient.

There is bad behaviour somewhere that causes --with-sysroot=no as the
default, and then sysroot to be set to 'no'. In reality, we should have
literally no sysroot; so set --with-sysroot=
2023-02-12 09:21:24 +11:00
fosslinux ca9d3aa51f Patch GCC 4.7 for GCC 10
A couple of backports that ease the building of GCC 10.
2023-02-12 09:21:24 +11:00
fosslinux 712175af44 Make crt*.o available in /usr/lib
This is expected by GCC 10+ - they must be at a well defined path.
2023-02-11 20:25:47 +11:00
rick-masters 71d82c783b Set perl config vars needed to create help2man shebang. 2023-02-08 19:43:49 +00:00
fosslinux 35efcc4223 Rebase checksums 2023-02-06 16:58:10 +11:00
fosslinux eb607794cd Clean up TCC buildcode
It was unstandard & some files were not correctly in DESTDIR
2023-02-06 16:58:10 +11:00
fosslinux 5f7ae7d964 Fix LIBDIR before musl built
Strictly, LIBDIR=/usr/lib/mes pre-musl.
2023-02-06 16:58:10 +11:00
fosslinux 73b8916e1f Remove with-sysroot from binutils
This option is erroneous and only worked by chance.

sysroot is prepended to all library search paths when working correctly,
eg, /usr/lib turns into /usr/usr/lib when --with-sysroot=/usr.
2023-02-06 16:58:10 +11:00
fosslinux 2577d2e704 Fix a packaging bug
Previously, symlinks to directories were followed early
in the bootstrap. This is incorrect behaviour.

While never actually encountered (hence no checksum changes),
this could be a problem.
2023-02-06 16:58:10 +11:00
fosslinux 070e9dacc5 Fix binutils 2.14 install
Programs shouldn't install to outdated usr/<target> location
2023-02-06 16:58:10 +11:00
fosslinux f4d39516d1 Fix bad util-linux installation
Programs shouldn't install to usr/triplet (this is obsolete)
2023-02-06 16:58:10 +11:00
fosslinux 5509e6bb6e Change binutils to unknown-linux-musl triplet 2023-02-06 16:58:10 +11:00
Seppo Yli-Olli 56cab8bb71 Support building only sysa with chroot mode
This is intended primarily for external build systems that directly
bind into sysa and sysc rather than using rootfs Python wrapper.
2023-02-02 09:12:49 +02:00
Dor Askayo 74c852b166 Add /dev/shm for sysc
This allows named semaphores to be created. See sem_overview(7).
2023-02-02 01:55:33 +02:00
Dor Askayo 4204a180e1 Rename /usr/lib/musl to /usr/lib/i386-unknown-linux-musl 2023-01-29 00:09:39 +02:00
Dor Askayo 59a13f0d09 Add LIBDIR variable for the musl library directory
LIBDIR should be used where possible to avoid unnecessary
duplication in build scripts that target the musl toolchain.

No change in package hashes.
2023-01-29 00:09:38 +02:00
fosslinux 5e768d3752
Merge pull request #197 from doraskayo/avoid-variable-export
Avoid exporting variables in build scripts
2023-01-28 08:37:12 +11:00
Dor Askayo 3921660396 Avoid exporting variables in build scripts
Environment variables "pollute" the build environment of packages and
can affect their output.

This change results in the removal of some files from packages that
were not meant to be packaged. It also removes the need for a
workaround in automake 1.10.3 to manually remove such files.

Variables are now saved in an .env file for each system and included
in scripts that need them using the dot operation.
2023-01-27 22:19:52 +02:00
Andrius Štikonas a35196a5e4 Build python 3.11 statically. 2023-01-27 19:10:48 +00:00
Dor Askayo a74f3166f3 Pass variables to make explicitly in musl-1.1.24 2023-01-27 10:17:04 +02:00
Andrius Štikonas 4f9f56f006 Use relative symlinks for python installs. 2023-01-25 18:26:22 +00:00
Andrius Štikonas 26872c01bf Add --enable-ipv6 to some versions of python to make builds reproducible 2023-01-25 02:39:14 +00:00
Andrius Štikonas f2e542ef0c Do not build doc directory of automake 2.11 and 2.15.
There is a race condition there that often causes builds to fail.
Fixes: #184
2023-01-24 22:45:52 +00:00
Andrius Štikonas 20173fbee1 Update stage0-posix to pull in a fix for kaem-optional seed. 2023-01-22 23:19:59 +00:00
Andrius Štikonas 8413534072 Remove some unnecessary cleanup code that was broken anyway. 2023-01-21 11:50:32 +00:00
Andrius Štikonas 89c7c10b8e Add artificial symlinks to musl package to ease its use. 2023-01-21 02:00:36 +00:00
Andrius Štikonas 5f805e65f3 Fix reproducibility issue in curl. 2023-01-20 22:16:31 +00:00
Andrius Štikonas 4148b5da72
Merge pull request #222 from fosslinux/python
Python
2023-01-18 18:46:27 +00:00
Paul Dersey 91c168bb7d Eliminate make 3.80 and use 3.82 instead when building with tcc
Unlike make 3.80, make 3.82 makes a call to putenv which does not exist
in mes libc so a stub was created for this function.

The checksum for the util-linux package required an update.
When built with original make 3.80 it resulted in an extra file
/usr/share/man/man8/.8 that does not exist when building with 3.82
2023-01-18 11:40:50 -05:00
fosslinux 6ec368ce37 Change Python -> python
(lowercase convention)
2023-01-18 22:57:04 +11:00
fosslinux d0a522113f Fix QEMU/chroot differences in outputs for Python 2023-01-18 08:20:34 +11:00
fosslinux 42fa6c24c1 Add Python-3.11.1 2023-01-18 08:20:34 +11:00
fosslinux d28ea08295 Add Python-3.8.16 2023-01-18 08:20:34 +11:00
fosslinux d1d422abc5 Add Python-3.4.10 2023-01-18 08:20:34 +11:00
fosslinux f34defc485 Add Python-3.3.7 2023-01-18 08:20:34 +11:00
fosslinux 2325df7f38 Add Python-3.1.5 2023-01-18 08:20:34 +11:00
fosslinux eadc92cf38 Add Python-2.5.6 2023-01-18 08:20:34 +11:00
fosslinux a94c8dbdce Add Python-2.3.7 2023-01-18 08:20:34 +11:00
fosslinux 13eaba86e8 Add Python-2.0.1 2023-01-18 08:20:34 +11:00
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