diff --git a/parts.rst b/parts.rst index 81cdfc0..960d496 100644 --- a/parts.rst +++ b/parts.rst @@ -131,7 +131,7 @@ mescc-tools-extra ``mescc-tools-extra`` contains some additional programs, namely filesystem utilities ``cp`` and ``chown``. This allows us to have one unified -directory for our binaries. Futhermore, we also build ``sha256sum``, a +directory for our binaries. Furthermore, we also build ``sha256sum``, a checksumming tool, that we use to ensure reproducibility and authenticity of generated binaries. We also build initial ``untar``, ``ungz`` and ``unbz2`` utilities to deal with compressed archives. @@ -167,7 +167,7 @@ complies with all C89 and most of C99 standards. First, we compile janneke’s fork of tcc 0.9.26 using ``mescc``, containing 27 patches to make it operate well in the bootstrap environment and make it compilable using ``mescc``. This is a -non-trivial process and as seen within tcc.kaem has many different parts +non-trivial process and as seen within tcc. kaem has many different parts within it: a. tcc 0.9.26 is first compiled using ``mescc``. b. The mes libc is recompiled using tcc (``mescc`` has a non-standard ``.a`` format), including some additions for later programs. c. tcc 0.9.26 is @@ -200,7 +200,7 @@ gzip 1.2.4 ========== ``gzip`` is the most common compression format used for software source -code. It is more capble than ``ungz`` from ``stage0-posix`` and also supports +code. It is more capable than ``ungz`` from ``stage0-posix`` and also supports compression. tar 1.12 @@ -669,7 +669,7 @@ is built. Firstly, Linux kernel version 4.9.x is used because newer versions require much more stringent requirements on the make, GCC, binutils versions. However, the docs are also wrong, as the latest of the 4.9.x series does not work with our version of binutils. However, a much earlier 4.9.10 does -(selected arbitarily, could go newer but did not test), with a small amount +(selected arbitrarily, could go newer but did not test), with a small amount of patching. This is also modern enough for most hardware and to cause few problems with software built in sysc. Secondly, the linux-libre scripts are used to deblob the kernel. Every other pregenerated file is appended with ``_shipped`` @@ -868,8 +868,8 @@ gcc 4.7.4 ========= GCC 4.7.4 is the last version written in C. This time we build both C and C++ backends. -C++ backend has some dependency on ``gperf`` which is written in C++. Fortunately, it is -easy to patch it out and resulting ``g++`` compiler is capable of building ``gperf``. +The C++ backend has a dependency on ``gperf``, which is written in C++. Fortunately, it is +easy to patch it out; the resulting ``g++`` compiler is capable of building ``gperf``. We also add in two patchsets to the compiler; * one to add support for musl shared library support @@ -943,10 +943,13 @@ sed keep executable bit on after in place editing. autogen 5.18.16 =============== -GNU Autogen is a tool designed to simplify the creation and maintenance of programs that contain large amounts of repetitious text. Unfortunately, the source is full of pregenerated files that require ``autogen`` to rebuild. +GNU Autogen is a tool designed to simplify the creation and maintenance of +programs that contain large amounts of repetitious text. Unfortunately, the +source is full of pregenerated files that require ``autogen`` to rebuild. -We will use `gnu-autogen-bootstrapping `_ project to rebuild -those and create slightly crippled ``autogen`` that is then able to build full-featured version. +We use the `gnu-autogen-bootstrapping `_ +project to rebuild those and create (slightly crippled) ``autogen`` that +is then able to build a full-featured version. musl 1.2.3 ========== diff --git a/sysa.py b/sysa.py index 9fc1efd..7aa57a8 100755 --- a/sysa.py +++ b/sysa.py @@ -80,7 +80,7 @@ class SysA(SysGeneral): def sysc(self, create_initramfs): """Copy in sysc files for sysc.""" - if create_initramfs: + if create_initramfs or not self.external_sources: ignore = shutil.ignore_patterns('tmp', 'distfiles') else: ignore = shutil.ignore_patterns('tmp') diff --git a/sysa/SHA256SUMS.pkgs b/sysa/SHA256SUMS.pkgs index 28cc4c6..1ecc25d 100644 --- a/sysa/SHA256SUMS.pkgs +++ b/sysa/SHA256SUMS.pkgs @@ -9,33 +9,33 @@ d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_ 298dcf17a439adb306237b308e3c4ed3d376cb863ae0f0f08bfdf1f3199a548b autoconf-2.69_0.tar.bz2 8c2401edf1c68910005bbcb8b8e84727a46f7d9643d2ad1267bd0259078dadc4 autoconf-2.71_0.tar.bz2 6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2 -de6e6d994a0ba722c28a4d3a623bdcf26fc29b99aed2fa4fea42fc6adbe3ad80 autogen-5.18.16_0.tar.bz2 +986995c084f3542b61938d11ddb6f1dc3b33263e4681abdce5ede2b724a1d5ea autogen-5.18.16_0.tar.bz2 02a426e82a52d4a2cd7e73fe3dc5a2c58b3ed100f24a92c57e42511fd86e247c automake-1.10.3_0.tar.bz2 34925adeaa2876a5e068adeb17b71fe7c7105244c3cb5439d33f7406310674da automake-1.11.2_0.tar.bz2 a7bd12bd0c639783ce1c0e9f640cf004a87460bbda8154bc550c5e6884457b48 automake-1.15.1_0.tar.bz2 57100612d902537b72ee2fd3dfecc903f2ea3959f1a480af87c6a1ef9a9d7c03 automake-1.16.3_0.tar.bz2 1c7e09ac08f156960420fca1f6e8560c1855bf01b001a0648b56153d6ceb9c28 automake-1.6.3_0.tar.bz2 444131776779d1f27628088a817bfb8c9aa85f4b036b934794a71e484ec9bd70 automake-1.6.3_1.tar.bz2 -e8ff13753943e43972a8cf1672819f001718ed38e5497cf7b554c21a507ba22b automake-1.7.8_0.tar.bz2 ef08694bf8e78ffcf56f9c8a63b0f189e301c06f02ab240e15e4c7fe354c2a0d automake-1.7_0.tar.bz2 +e8ff13753943e43972a8cf1672819f001718ed38e5497cf7b554c21a507ba22b automake-1.7.8_0.tar.bz2 9922651b64ad2e29b944082f26db223008220155048f25d64df1f6d82071ff1c automake-1.8.5_0.tar.bz2 c5807850a377e4bb9aa4121d9781d145bdd80327626a9419630a75ce2c8d9c71 automake-1.9.6_0.tar.bz2 ca49c0338d6aed5131f907d375384bf42e70f2875f58973da0015b4fb73156cc bash-5.2.15_0.tar.bz2 438f0b623af8d7a558696d47554554d3a6c9e9a655569d059bfd1e679723d037 bc-1.07.1_0.tar.bz2 25fc6ea74005ae5677ea790e228a710fb82a80d9a7a56b5a8ddc5789aff4e209 binutils-2.30_0.tar.bz2 -1669443c1aa95c21a98a9f13f4c011d97e71eb267c7c6502d33298cc4b7170ce binutils-2.38_0.tar.bz2 -3adc15234e0ea7ad85f6e24f488851532831602a1ae91d77c13f570cc8e0734b bison-2.3_0.tar.bz2 +a21157791cb5e7ec941de09f275286d90efe1b463dc4302b238af9ba53fae49e binutils-2.38_0.tar.bz2 +2e2102a9a41f3ad35683e67f6f9cc09e4edad25b7acb1ae0ca3ad94e19fbbdaf bison-2.3_0.tar.bz2 b2e45aec68221e6874ea8aa7d5b6a0aab7879a3dbee493536e034b246a884b05 bison-3.4.1_0.tar.bz2 4b2fa2ddde419e9cc47f68e4aad4e4bd403570664c02a7d0d488417baecafd03 bison-3.4.1_1.tar.bz2 6a6111b1e8ca906406482053cf0af8c9dea46dc55e4bac9662c8fe47f94221cb bison-3.4.1_2.tar.bz2 -7bb0f997d84c190d36bf2c378ae08ebdac141c70cb0ab8ccaf776d77a72edb61 bison-3.4.2_0.tar.bz2 +e38ed21c4b4fa514e9a64d2b84bad72f3d242568183b6b84a6a2d0e8c49d0af2 bison-3.4.2_0.tar.bz2 c6369fcf4ba1fae200a4a67f110563a11d6c51fa8ca80792dbc4630e3dba6f4d bzip2-1.0.8_0.tar.bz2 47ae56c19754ecab991aaa7ec5f68f294c6ddcad4e73253935fbaf10df42ee9b ca-certificates-3.86_0.tar.bz2 0d02d37d02d6def11b5f12eab5d97f47dc1e4abd53627deb2d99994e1ab9c6a8 coreutils-5.0_0.tar.bz2 27d0d3e84794f080f01c7c22547a308d1d781d8ce85d5b3f682c379f17bbeb47 coreutils-6.10_0.tar.bz2 -84b86e2b2f2fbf1c729acb78b750873c18d8995263aeebf2ee07add41fefcd25 coreutils-8.32_0.tar.bz2 +e41aba2caa7514704731d3b7a49f63ff8ffb2d22a64f14afdbaadbd0b24073f0 coreutils-8.32_0.tar.bz2 b72e6a7b2ec147e2892322b1f0dcefc20f00f6ce0b5e1cee8d75192598fc67ce curl-7.83.0_0.tar.bz2 -f66f71328c6848f5dfa3d53e3dcab29c147b0223a0f9dd1edce1db6dadd3f519 curl-7.83.0_1.tar.bz2 +c16709184a6ec2312746242379065f71fcbd7165749c9d58a9b0846f4bfc5dc0 curl-7.83.0_1.tar.bz2 0b832d3efef962c10b61559052373267e9c85bbff37572b736a6996823e2d5b2 dhcpcd-9.4.1_0.tar.bz2 f1a17f3d1c65140a6d3043ecb710e5fffe9c019cb3d2eaa982be03706876e534 diffutils-2.7_0.tar.bz2 bda6afcd3a390a34a57443269a4857ccc470129f7a557981778c145fd841cbd1 dist-3.5-236_0.tar.bz2 @@ -44,71 +44,71 @@ a5695b0014c0f0fa8a1cb6ff85b14e578664d8d0da949007dc77fd0243755ec6 ed-1.4_0.tar.b 258282c136145d8fba4d66f7e150800e7ca33e024483083a15d0dba3aeb5e86b file-5.44_0.tar.bz2 8a0405a66c09c6e1647078c919ae54948f069632214c8430af7adbdb176f62e2 findutils-4.2.33_0.tar.bz2 3c85ce52e37c313d699a21cc741d24e808048461b105f58445a645a54ea55436 flex-2.5.11_0.tar.bz2 -3095a6769c24b52d889f5d776b308afab9c0ee0f1b2d4e53fbf5942cc3e93075 flex-2.5.33_0.tar.bz2 +88d5e3cc92eaeb21f62635d2ca8bfa116d1ccc4067a782b0c3a45488125b358a flex-2.5.33_0.tar.bz2 3ad2660bff8b84ddb47cc5f9f57f10a7370fab1e1b7f94e8e36d472a4783871c flex-2.6.4_0.tar.bz2 6e04827921b5f23de5c4d9367509b5644af0162189f007094447bc5f527b17c4 gawk-3.0.4_0.tar.bz2 -458b64a564ca1ef32ed1c682187caa59743a772210fc51a2bc7f11859bdc98f8 gc-8.0.4_0.tar.bz2 -5271e45a746be6e82fd42e4b403c718b1586e4fac4dc0a12107ad76ae4d26419 gcc-10.4.0_0.tar.bz2 +6de1c1380026ef9948387e665610185b6014f47a80453177a6c81898c95cbbd3 gc-8.0.4_0.tar.bz2 +4ed230542823160a4b1a469847cc2cc0ae1985611f2e1b831e13f2a3a7122efb gcc-10.4.0_0.tar.bz2 72b5ba8ce1f20f0e94a852b04dba147ff2e6232de75628338bc90fea89eaa492 gcc-4.0.4_0.tar.bz2 bcc8a0549af3542b23005ea666c721a8449007b6b3954abf3eb07dad5a221e76 gcc-4.0.4_1.tar.bz2 -32e569821cf1e8335fb451242f50e815a6e3432a96448a2f03ee97c4d2a48c6d gcc-4.7.4_0.tar.bz2 -8b202009e6adec4215476b77c7d613d345feef61f02b74b1cd8168fb61007ed8 gettext-0.21_0.tar.bz2 -5fbb65d90f3b64034ddb74fe2cf666b348356cdf2c4f437c77dea57dc0cc1c9b gmp-6.2.1_0.tar.bz2 -02b8c1ceaafb621bea9c1e583f12dd5a40003c4b551be0790f37305f6f78cb10 gperf-3.1_0.tar.bz2 +a2301d8dbbfbfcdd18444f01848e8e4366780281009640acbd3af0fab9b11aea gcc-4.7.4_0.tar.bz2 +7711d40dce10aae6d7e8a2a011f01affeed6f559eb4f4bde791401e4af122981 gettext-0.21_0.tar.bz2 +5a98486bccf976d9077f52ce56ab6a1db94d2888d17fdb87ba81ad2140f206f6 gmp-6.2.1_0.tar.bz2 +db3f8088a8aa74a7ff300b45c2070397ed7538fe5cc45480ea968014ccf7bc20 gperf-3.1_0.tar.bz2 c963b667dd0ac1e8cef4b2525fcd5d53237d83d16b6f70855c199472a0dc419f grep-2.4_0.tar.bz2 -c3b54377ea461e73a171158cef90e3f744c4bb18d2981e2cb1cf8948dd56dcf4 grep-3.7_0.tar.bz2 -057c134b9866d1ba8da6cd24d8daefcca13da0012deb9350e4cdef2688f3ac23 guile-3.0.7_0.tar.bz2 +d85cff8f9ff76533287891ec2019416fa585815e514743e5b76efd9f17f5ef5c grep-3.7_0.tar.bz2 +adcd3633d004a608cb36e306dd887d96e2ab77bfc5d5b4d6fa93ccc871ae2285 guile-3.0.7_0.tar.bz2 911d2f496ce02e8b95e0f3bf6eb94460b4b083dd13601f81d45f68b896ac9ef4 help2man-1.36.4_0.tar.bz2 e7f9cecc03f7746b67a74de6ce15f83628dcd08e7896ffbb707990cc575f6c7e kbd-1.15_0.tar.bz2 bc92c7cc72df7dc5190cbce3439be3ec10f461f9f85d9b0283428e467fa43e7c kexec-tools-2.0.22_0.tar.bz2 -743d52bfe2260bd648f78e90b81c9d999576fdf1375d8e936f9a7112c2a31ca2 libarchive-3.5.2_0.tar.bz2 -e479b8ba2e13081bf31a416c463be98feb3f747630418de7ed40f309005c3412 libatomic_ops-7.6.10_0.tar.bz2 -fcf30550a8e84be824fd2296a7964c404cb54e9df2f31af484a504342342c0fe libffi-3.3_0.tar.bz2 +e89e4fc8ba4f917f4f609ba781fc13e43d31479d47a9da2ba3bc7ce5fcbbe6b3 libarchive-3.5.2_0.tar.bz2 +36550df491767bb24d2ccab304ce70a3b4956e7c0c0e0c343d922fd57cdafbdd libatomic_ops-7.6.10_0.tar.bz2 +b39826742e236890f3562cdf19492e7ef4224b271f3e75ddeab1f07982b03ebe libffi-3.3_0.tar.bz2 daae709e98d2df2190d1d13b4e86f7f3fe90fa7a975282fe0bb03289b6539f29 libtool-2.2.4_0.tar.bz2 -9572bfed88a59af351856cb56e7afe3ffe5c14aae50880d3a77c80eab65deac1 libtool-2.4.7_0.tar.bz2 -564fcf89cb762b99e58dddb39c3812084a701447209bd4cf0dc06661e337c265 libunistring-0.9.10_0.tar.bz2 +f255cfb75f1764460e60febccfa70fa20bc2ebb7f8ad2629be21fc188fb6dbcd libtool-2.4.7_0.tar.bz2 +503007bbcddcf4e49d26514c59b4c9501f8b42f0c994a59dfdc388b1ae6b7900 libunistring-0.9.10_0.tar.bz2 1d07aaf7049be45853fd409340cdb52bb3a1b6dfa4dbc8b69358c1ee966cd67f linux-4.9.10_0.tar.bz2 2fd5bec0c086cb89596f14894cbf078b3d1e990d297ba02b6cc4135e7d64996b linux-headers-5.10.41_0.tar.bz2 a8e75e491322f09b90e0685b9468c589ec38a52529c362e14516cb32e5e57fe3 m4-1.4.7_0.tar.bz2 128c5247064a9677d1037113707d8d4c92cea51ab21058a1f85c6df566e22162 make-3.82_0.tar.bz2 -ddbdaf535eb56c7a334e715fbdc7177abc56ec6bc2ae5594fd171c7db160f5ce make-4.2.1_0.tar.bz2 -2d060023cb87e992746d2836690e6579c3c2990ec006e4475aadfffe15e31c72 mpc-1.2.1_0.tar.bz2 +7f08b1f57f55f4a2898454c27538e54902b82f3e8ce7cdbeba824211004f067a make-4.2.1_0.tar.bz2 +17cd976bc0f6e897c6fffe43dd7c55d93ce0adadf1b4dc72925b80e2d266519f mpc-1.2.1_0.tar.bz2 6ddf27c49c59e241ad3dadbb5d7ef94b8c24e6de7b9f8717d5643352e46233e2 mpfr-4.1.0_0.tar.bz2 d06f045be683f7a2cdc3eb79592f75517100d0bcda4fe7924200c065ff52c9f5 musl-1.1.24_0.tar.bz2 280b05d6c2f7458cf3bde6985c3b2f876e9c361943b0ba3044e389e033d97622 musl-1.1.24_1.tar.bz2 a12d2442623de67e837c5f42f44bea8e15ecb534d1f23efa182c3603795515d3 musl-1.1.24_2.tar.bz2 054c6a5f1c07d124b701e590267aa8fb2ba1c88bed9a69a473724f8534cdb728 musl-1.2.3_0.tar.bz2 -ab70ad217e736de89441817124f44eee39b0bbc7e005b67788974f08264074da musl-1.2.3_1.tar.bz2 -e928ee2fc7afb0c3c70db12ab145031bb52287f70fc7aedca5bc54f0504cf808 openssl-1.1.1l_0.tar.bz2 -77bebd3a87b0f6c92837d28b9e5767e334386981c628c54da03b7c131432bfa7 patch-2.7.6_0.tar.bz2 +3260f0c8bfa1160a2f252c6e0d3ca5f98635ec8f9d9f211a30ef1a0313cac853 musl-1.2.3_1.tar.bz2 +e0c91898e771c65e6a462600243a7858b069db5726680193f86d7dbac3f740ae openssl-1.1.1l_0.tar.bz2 +69daf6ffbf26fea500426c6936e5a16e82833f03ad0dc6109697f69a8516b4c7 patch-2.7.6_0.tar.bz2 8edc149d22a1202938c8ed2c46488115a422fbc44ddfe606727fbe4d362fb07b perl-5.000_0.tar.bz2 85653922ee1fd39ef6e8ba6f3720d51c9585800767163f4f502296f4a39f4474 perl-5.003_0.tar.bz2 -8eff45c5e272ad9ff611e0704e9581cd742b7dc648ae4e28607c633e7a3bdba0 perl-5.10.1_0.tar.bz2 -e73e58f3bcb2d15a9f6738d77733b746a20d9ac8d367162fabbd6c053d0517de perl-5.32.1_0.tar.bz2 -89ae6fb13483b93623aa42f678eee076b42d9a6e2a80147a14e20807b097f940 perl-5.6.2_0.tar.bz2 9bba76361c28da9a0c19054ccaf8432bbf7ce779584151600ad90c439f0baef5 perl5.004-05_0.tar.bz2 8efe3102f341c232510e6e24ab51337f15a9d1b3a344962f85131fe31bc50516 perl5.005-03_0.tar.bz2 -8a8dbbe1bc878c373d646c9f1e4d8417697dd4fdab9af924a900accb8a09c5bf pkg-config-0.29.2_0.tar.bz2 -9cca79b23473f8d2171ee84533abf24bdce976f6149967bdac8b274b9aa4e2a4 python-2.0.1_0.tar.bz2 -bd42838105f7c8c4088f95fe9248fec209f76e2614943dd611990e23b2b8c234 python-2.0.1_1.tar.bz2 -b66dcc0cb5500955009357ac48725f0e4d9f75e45c134925c579f81f36144fb6 python-2.3.7_0.tar.bz2 -201f3e4af49041bb7b7e6b64b591d838fed147b69b3e1c8f7f2923881c6c27e9 python-2.3.7_1.tar.bz2 -903687e7463c7c09746eee7941308c8dbd288a471c9b8e7ab372da3a08515968 python-2.5.6_0.tar.bz2 -e4eaa4a29502df433019d0c76a6783e9c43eedcedf3afc463b2c516523bd3dae python-3.1.5_0.tar.bz2 -18300a5259fe6dcbaf212c9ff9c42862d5b5f3c80e1cb4077ce9fe8ee1a81d34 python-3.1.5_1.tar.bz2 -af7a6b0d65ee049cd7a01afc26970e9f7a88e0f0f61e3d4aedd79eaecfd32944 python-3.11.1_0.tar.bz2 -22fd33e93718ceabf9dfb8ddcf8c0f460bd70c99ff6819848849ea35456ad797 python-3.3.7_0.tar.bz2 -453ba593d4c986906d96e972356f51a4e15d9f197a4fde2aa614b19107147a23 python-3.4.10_0.tar.bz2 -f7b069492f9cc0bd403b6afdb5d0f406dfb58fef34d4684d4ca5eda2715a8cc2 python-3.8.16_0.tar.bz2 +a2e1f93eeaa3985c660cc73645930489bad6d68011e4ae6892c6b09c8f02395b perl-5.10.1_0.tar.bz2 +8f2730b029a4e62792460ea0448b8f1806d15e5175f3004b31b153d16cb7f4d1 perl-5.32.1_0.tar.bz2 +89ae6fb13483b93623aa42f678eee076b42d9a6e2a80147a14e20807b097f940 perl-5.6.2_0.tar.bz2 +d0c03003eaf21045e13afd2551df952a568e97cea91dec7edb0b829016d434b4 pkg-config-0.29.2_0.tar.bz2 +bbe7955df4eec1e4c21ae397545943abc0ef55d1b136d6f30f1550f82cf0cb22 python-2.0.1_0.tar.bz2 +281cc79f24007f4667ae5914f89c671be3b2d008fb5296d66b65314d30a7e768 python-2.0.1_1.tar.bz2 +66f1571ecc2f00cee322e419f0d53127b2465330bbd8fe01d2fe0af91b9084fc python-2.3.7_0.tar.bz2 +7c65497273651adda57d156f7380f07bbeb73dfa96fd6432ed0e3b82a44b7d65 python-2.3.7_1.tar.bz2 +203119d5d6bc56f9253abbf6583c9a8bccd00e7b34d2a126b7f4c61294abb0d5 python-2.5.6_0.tar.bz2 +b899fc076277a90eea8d3ffa1fa79d9715d70d51aac85c0f00bfe267e143bbed python-3.11.1_0.tar.bz2 +d6ff771608eafd13b4feba725ce5f1d6ecd86058ca1a8b6e4086925633267dee python-3.1.5_0.tar.bz2 +d3f363ca6545892626a13604a92af055a317c85690fc99ecf5c0303bdf910f30 python-3.1.5_1.tar.bz2 +ae6feaec667062cdaf172d4d82d1254423fb0e3b8bef8bcc51dec53742ee5793 python-3.3.7_0.tar.bz2 +9d4ee47a3169bb1cdf3c73088280ddd493511548afd2ddafbb89f7d728543488 python-3.4.10_0.tar.bz2 +a915b7f56d80c1e96f963c49f2e4bba1759124e4974e6415f4784933622f4855 python-3.8.16_0.tar.bz2 e1eb72972dc5eb4bd0fd1fc6a477026440dd292b71f4ef0052f59d89869ab3e3 sed-4.0.9_0.tar.bz2 -4c4c0d811e43373541c2e8a684d0fd536ace7f749445d4e987d9fc3b0c6c228a sed-4.8_0.tar.bz2 -4123d171fee4de741c4d54dd0898c86c008495150e6b56afc623d1247c15b178 tar-1.34_0.tar.bz2 +b3dfb430d6657233cd129c9838c2ab0de3cb02762b15a448b1a82d42fb69ffc5 sed-4.8_0.tar.bz2 +edcb2a8665c58c08ca90f4e612c6931fd7a6dc95b3d6f38d1d08c1971d29773c tar-1.34_0.tar.bz2 a07edeebe88d27afe01ae4b9c2fec7d26f54d87928976927f73d9dba5f50782b tcc-0.9.27_0.tar.bz2 6d2b9b7d7970ab06b56ec59785b7c7246ea1da4835893fa7aa0e80eebefe57ff tcc-0.9.27_1.tar.bz2 afe30ba8abf45ac3605c09df93ec3b2fec29c242bf5193a2086ef32340c6ebc6 tcc-0.9.27_2.tar.bz2 90ccfdd7d8ff855183cd873af027262b525c63c65b438e49deeb9e84bef1542c tcc-0.9.27_3.tar.bz2 -9be7c52bb8f8508bcc0aabed36cec6b5cdceb8bec4596b91bef0ced0c0d7a5a2 texinfo-6.7_0.tar.bz2 +ff1ccbe06d00d4c16f76640372e5370b6cf87fc5b9ea4f180c988188a3becc0b texinfo-6.7_0.tar.bz2 11d471567f28e9ef67d9381246f0684d21ab33d27ea2e0d721c82c469f5f2f8b util-linux-2.19.1_0.tar.bz2 -145bdcd8866199839f112cb1ccdef26b6d337c7aa651e95b9c8a6dc770450b3e which-2.21_0.tar.bz2 +c992ffabed4278588590352c824df2018e6a4492ca83865eba560692765fde11 which-2.21_0.tar.bz2 5ebfb0894b25606432d120eefabe5335abcbf123bbad23fb11871b74acd6a7e5 xz-5.4.1_0.tar.bz2 -8824a6b328f4ab0ce5d1380b1e202441edadbb70410bbd3b6cc46a6ee789f4a2 zlib-1.2.13_0.tar.bz2 +195c26bb0642eb146c6f113fe3dbbe516a35a514aee7d2fe4bcd15addf1b0f43 zlib-1.2.13_0.tar.bz2 diff --git a/sysa/helpers.sh b/sysa/helpers.sh index ba495b2..2e3ca93 100755 --- a/sysa/helpers.sh +++ b/sysa/helpers.sh @@ -175,6 +175,10 @@ build() { build_stage=src_install call $build_stage + echo "${pkg}: postprocess binaries." + build_stage=src_postprocess + call $build_stage + echo "${pkg}: creating package." get_revision "${pkg}" cd "${DESTDIR}" @@ -194,7 +198,7 @@ build() { cd "${SOURCES}" - unset -f src_unpack src_prepare src_configure src_compile src_install + unset -f src_unpack src_prepare src_configure src_compile src_install src_postprocess } interpret_source_line() { @@ -326,6 +330,27 @@ default_src_install() { make -f Makefile install PREFIX="${PREFIX}" DESTDIR="${DESTDIR}" } +# Default function for postprocessing binaries. +default_src_postprocess() { + if (command -v find && command -v file && command -v strip) >/dev/null 2>&1; then + # Logic largely taken from void linux 06-strip-and-debug-pkgs.sh + # shellcheck disable=SC2162 + find "${DESTDIR}" -type f | while read f; do + case "$(file -bi "${f}")" in + application/x-executable*) strip "${f}" ;; + application/x-sharedlib*|application/x-pie-executable*) + machine_set="$(file -b "${f}")" + case "${machine_set}" in + *no\ machine*) ;; # don't strip ELF container-only + *) strip --strip-unneeded "${f}" ;; + esac + ;; + application/x-archive*) strip --strip-debug "${f}" ;; + esac + done + fi +} + src_pkg() { touch -t 197001010000.00 . reset_timestamp diff --git a/sysa/linux-4.9.10/linux-4.9.10.sh b/sysa/linux-4.9.10/linux-4.9.10.sh index a893361..94bc925 100644 --- a/sysa/linux-4.9.10/linux-4.9.10.sh +++ b/sysa/linux-4.9.10/linux-4.9.10.sh @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: GPL-3.0-or-later +# XXX: Fix package after builder-hex0 + src_unpack() { mkdir "${pkg}" mv "${DISTFILES}/deblob-4.9" "${pkg}/" @@ -48,7 +50,6 @@ src_compile() { generate_autoconf_h # Allow use of patched initramfs_list.sh (which is required anyway) - export PATH=$PWD/usr:$PATH make ARCH=i386 prepare make ARCH=i386 @@ -57,8 +58,7 @@ src_compile() { } src_install() { - mkdir -p "${PREFIX}/boot" - cp arch/i386/boot/bzImage "${PREFIX}/boot/linux-4.9.10" - cp usr/gen_init_cpio "${PREFIX}/bin" - cp scripts/gen_initramfs_list.sh "${PREFIX}/bin" + install -D -m 644 arch/i386/boot/bzImage "/boot/linux-4.9.10" + install -D -m 755 usr/gen_init_cpio "${PREFIX}/bin/gen_init_cpio" + install -D -m 755 scripts/gen_initramfs_list.sh "${PREFIX}/bin/gen_initramfs_list.sh" } diff --git a/sysa/run.sh b/sysa/run.sh index 8e3c1a1..a2be81f 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -27,7 +27,7 @@ create_sysb() { sys_transfer /sysb_image /sysb gzip patch cp -rl /sysc /sysb_image/sysc_src echo "Creating sysb initramfs" - gen_initramfs_list.sh -o "${PREFIX}/boot/initramfs-sysb.cpio.gz" /sysb_image + gen_initramfs_list.sh -o "/boot/initramfs-sysb.cpio.gz" /sysb_image rm -rf /sysb /sysb_image # Cleanup } @@ -37,8 +37,8 @@ go_sysb() { mount -t proc proc /proc # kexec time echo "Loading kernel + sysb initramfs using kexec" - kexec -l "${PREFIX}/boot/linux-4.9.10" --console-serial \ - --initrd="${PREFIX}/boot/initramfs-sysb.cpio.gz" \ + kexec -l "/boot/linux-4.9.10" --console-serial \ + --initrd="/boot/initramfs-sysb.cpio.gz" \ --append="init=/init console=ttyS0" echo "kexecing into sysb" kexec -e diff --git a/sysc/mpfr-4.1.0/mpfr-4.1.0.sh b/sysc/mpfr-4.1.0/mpfr-4.1.0.sh index ab76de0..8c96021 100755 --- a/sysc/mpfr-4.1.0/mpfr-4.1.0.sh +++ b/sysc/mpfr-4.1.0/mpfr-4.1.0.sh @@ -26,3 +26,9 @@ src_compile() { src_install() { make MAKEINFO=true DESTDIR="${DESTDIR}" install } + +src_postprocess() { + # For some unexplainable reason, stripping mpfr breaks GCC 10 build. + # I cannot make any sense of the error, so skip for now. + : +} diff --git a/sysc/musl-1.2.3/musl-1.2.3.sh b/sysc/musl-1.2.3/musl-1.2.3.sh index 1ae0656..6dbe7e7 100755 --- a/sysc/musl-1.2.3/musl-1.2.3.sh +++ b/sysc/musl-1.2.3/musl-1.2.3.sh @@ -44,3 +44,8 @@ src_install() { ln --symbolic --relative "${DESTDIR}/${PREFIX}/lib" "${DESTDIR}/lib" ln --symbolic --relative "${DESTDIR}/${PREFIX}/bin" "${DESTDIR}/bin" } + +src_postprocess() { + # Stripping libc can cause some strange brokenness + : +}