From d4eeba9d7a80f957797d16a94bd726ad40831f21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sun, 19 Feb 2023 08:10:00 +0800 Subject: [PATCH] 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. --- sysa/SHA256SUMS.pkgs | 96 ++++++++++++++++++++++---------------------- sysa/helpers.sh | 57 ++++++++++++++------------ 2 files changed, 79 insertions(+), 74 deletions(-) diff --git a/sysa/SHA256SUMS.pkgs b/sysa/SHA256SUMS.pkgs index 45fa7c1..e7b2661 100644 --- a/sysa/SHA256SUMS.pkgs +++ b/sysa/SHA256SUMS.pkgs @@ -1,13 +1,13 @@ -2fde9f584a275efc5c8bf23adaa690e06ab6922ecbc35108731e87f565ddb2b6 autoconf-2.12_0.tar.bz2 -40d88d4b1048ab70eaecf753fb77713dfcaa9c9c72252cd36459236034cdcdfd autoconf-2.13_0.tar.bz2 -38f0de4c816088c514dbfb1536779f2204426a95bd6f57fa87b83bffefcaa390 autoconf-2.52_0.tar.bz2 -912dd3cc26c14eda0810758661892c53cdd715e2224893c4b467f210e9af0d4a autoconf-2.52_1.tar.bz2 -44c8ffbcfb7afd82e079ca779a5e8812d93edcb44caf6db7cf5d5e999f04bab6 autoconf-2.53_0.tar.bz2 -b4ac026701baaefbf1bcd923fbe58f734714e794977af8b3f2006ba9d75c7492 autoconf-2.54_0.tar.bz2 -2aec71fb4cd8a65b531d5ab0cc7fd299e479b2bc83d627f27271d4c5fc51ce5e autoconf-2.55_0.tar.bz2 -cbc432ed535d2d1d7ed3f4ccc2b1fd13b41ae1c821f70d6710db2d8c7a04b646 autoconf-2.57_0.tar.bz2 -b6e5ee431382e64b1465c5ba14d3feee847c2574b6ce3a0cb1d3d4be22457017 autoconf-2.59_0.tar.bz2 -096276278309959cea467ecc3da92f004203065f90b6f73e389d6d6757440f7c autoconf-2.61_0.tar.bz2 +6fd4d09b3dfc5866cce714264493b0be92f5bada16e0fac36f8f2d110cc5a2b7 autoconf-2.12_0.tar.bz2 +00b8c5bd3e1d5262262994d5598ddbb301c00e264a7996adce660323561b275e autoconf-2.13_0.tar.bz2 +2dac610769286171ca81e736d729f5227938596cf44a0a8a764009715c55d23b autoconf-2.52_0.tar.bz2 +2a0171e6c1aaad392a997de99341858053e4f00b07faf3c2132e8baa3866e8f8 autoconf-2.52_1.tar.bz2 +7345a49227ed69774e01097c514f1ebd3abaeed0b2b9136b7f5ee1b0fe573390 autoconf-2.53_0.tar.bz2 +6acc512d0a0ea3a860f708893a157609b93947c257df25ae324230c5aeca405e autoconf-2.54_0.tar.bz2 +234e67c19653777fed7779c0c88c7592ca21d916b3e08eb366f85ed0f3ad6a9a autoconf-2.55_0.tar.bz2 +8881440a9d105ca313eaa2149e7eb89263284bd5cef7bbdd953da9ca79997879 autoconf-2.57_0.tar.bz2 +35925617e155087cc34bd71bd609d49098dedf7c051cac5c231eac19852d247f autoconf-2.59_0.tar.bz2 +8912ae2a24ea40a7cd3ccab5e97dd109db7be4a86f40458ac836568aa7437b6a autoconf-2.61_0.tar.bz2 d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_0.tar.bz2 298dcf17a439adb306237b308e3c4ed3d376cb863ae0f0f08bfdf1f3199a548b autoconf-2.69_0.tar.bz2 8c2401edf1c68910005bbcb8b8e84727a46f7d9643d2ad1267bd0259078dadc4 autoconf-2.71_0.tar.bz2 @@ -17,39 +17,39 @@ fbd8739c8f69b388e2c54893faa1180cc38f2718339da82788312adb0201c5d0 automake-1.10. 7014bcba2fc112f3c22129a69b32dd3939eac97267d0ee271aa35853fdeee9fe automake-1.11.2_0.tar.bz2 a7bd12bd0c639783ce1c0e9f640cf004a87460bbda8154bc550c5e6884457b48 automake-1.15.1_0.tar.bz2 57100612d902537b72ee2fd3dfecc903f2ea3959f1a480af87c6a1ef9a9d7c03 automake-1.16.3_0.tar.bz2 -51ef85383c0afe88c17a25f8b49c4dfdd77c1cc6aa81568ec09d45a15d580de8 automake-1.4-p6_0.tar.bz2 -8ec3af09fd23256f89b27833a8311ed347caf93d611b1209232ce104bb6fb4ef automake-1.6.3_0.tar.bz2 -031119cb14859c8bf80d5df5e0bbc475cf67f04b645dc55c80bcabe1bb31a8cd automake-1.6.3_1.tar.bz2 -b2eab85c4a22060cc18945f6cb24cdf928fee370fff3fe12482e866a1cace586 automake-1.6.3_2.tar.bz2 -76e897ec8e683eb15ab621c3a0d86613bc7cae43631c94e9c6388eb08db191ca automake-1.7.8_0.tar.bz2 -58a9ccbba82dda35673404135a855c19351ac758b2ac0c1e112d193b1dfb7df5 automake-1.7_0.tar.bz2 -75c5f2c2f636c4d763eef650ffdf638ff372444dce74e5c9bfe7c5ec824c2a26 automake-1.8.5_0.tar.bz2 -42fe9a42c457193e7bebf31b71eb28bc71e179ed9f2c78be242a5f6b03bbbbfe automake-1.9.6_0.tar.bz2 +ffdc0060708c37924ebac9dd6f1ce68602c5f39727fc7cd9d40115da847325d6 automake-1.4-p6_0.tar.bz2 +1c7e09ac08f156960420fca1f6e8560c1855bf01b001a0648b56153d6ceb9c28 automake-1.6.3_0.tar.bz2 +444131776779d1f27628088a817bfb8c9aa85f4b036b934794a71e484ec9bd70 automake-1.6.3_1.tar.bz2 +c6bb649dfe72027395f4017a361b6e53773b21d19b307fc4d71088c4217449c1 automake-1.6.3_2.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 b2729f1d776d26fbf7781aeeb569e2550c484fb9d2722dd207542480de0d4879 bash-5.1_0.tar.bz2 -49c95bfed9c22f940a844eca43f8edf3e36343de48185b60248cbdf01c0c44ad binutils-2.14_0.tar.bz2 +ca67baf07b9a034805d5b9719531bec958b4cd288067266ec37ba439b652dcfc binutils-2.14_0.tar.bz2 1611e61cd7040cee029215eb5af3d62e649a823035372a54feeed5e6050f7f0b binutils-2.38_0.tar.bz2 78035718b7ad659ba83f120405ad591f8ab0afb01f09805da7b3ab793d22a12c bison-2.3_0.tar.bz2 -87dae598915deabe95a4ee75ec6cfed3a6e6da1a655c3ad90ee60ec07a7d87fa bison-3.4.1_0.tar.bz2 -ae452f08ad9f7ab01f2a9bd882170e71ee6200a06f044f4aadb446cc68700016 bison-3.4.1_1.tar.bz2 -becc8ea1f24c531c35b520ce8bac9e8bf6e30e362fe77bf7833aed9d28af0ae6 bison-3.4.1_2.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 679a4207b70d22d96aa3afd6ca9053acabdde0092b7c225e0049b899739969e3 bison-3.4.2_0.tar.bz2 -09bef4ec506ccafc42ad925f9c038af9885cd8ebca294cf042e63a7d39e91bb5 bzip2-1.0.8_0.tar.bz2 +c6369fcf4ba1fae200a4a67f110563a11d6c51fa8ca80792dbc4630e3dba6f4d bzip2-1.0.8_0.tar.bz2 ee54199d62226e22a10f9d816902d71e220ca4bcf5f7508c259702c6f480c446 ca-certificates-3.86_0.tar.bz2 -c4d59e759f7349b96f74e62d867e419f3d85fbb81eaf5f79f996abf48f0d3170 coreutils-5.0_0.tar.bz2 -776ef3e13870fba6fc9cec64eaf40fb658abecc99c65724968013f8f8a177802 coreutils-6.10_0.tar.bz2 +0d02d37d02d6def11b5f12eab5d97f47dc1e4abd53627deb2d99994e1ab9c6a8 coreutils-5.0_0.tar.bz2 +27d0d3e84794f080f01c7c22547a308d1d781d8ce85d5b3f682c379f17bbeb47 coreutils-6.10_0.tar.bz2 b8992f675350658b106c3066cac0ee31440020bc9d6128bfc2fdf1fde60efd74 coreutils-8.32_0.tar.bz2 56f7a46ebd48966fe8f5c8874e1b7d0e5d53be645f65d7e790053fcf4fe3ee4d curl-7.83.0_0.tar.bz2 c0d6500bd04e377b25d80aca98c4459394cd3f2633d96fb1c1c417a3c75ff168 curl-7.83.0_1.tar.bz2 8cbaebe94bc256ab236d291fe38b13299b6719bfdba5f710c2d50a558cbcb956 dhcpcd-9.4.1_0.tar.bz2 -ca91a67d5d0c0ee46d064d9bf7c26efcafe712a9f86866991028478df3b34f21 diffutils-2.7_0.tar.bz2 +f1a17f3d1c65140a6d3043ecb710e5fffe9c019cb3d2eaa982be03706876e534 diffutils-2.7_0.tar.bz2 de6d9df33107ae63b8e0f30902fe9d00e42f78f44a60b256bb0b3c82ff75bd45 dist-3.5-236_0.tar.bz2 9ed3eb8e598317d00c0f9467c956abdc5857542b699095fcc9e80c3e2d0bfc04 e2fsprogs-1.45.7_0.tar.bz2 -f55c11b091361536774b436abe86b17f759cd7a66522cd20c7a2190da92db67a findutils-4.2.33_0.tar.bz2 0454c8376cebad7aeb6d732dd21558d4b3cf05377940520a249bd8eb8bc25c61 file-5.44_0.tar.bz2 -c2e10a7859cbbf8e2a4d7eaf8055c2cef61b2a1cf9e89f3adc5997fca1cf5114 flex-2.5.11_0.tar.bz2 +ce5cf04a0ed558b16f65b75a7a00198c37afd46c9096941f9406a21fc9102b76 findutils-4.2.33_0.tar.bz2 +3c85ce52e37c313d699a21cc741d24e808048461b105f58445a645a54ea55436 flex-2.5.11_0.tar.bz2 8f84b8af3d6a16312858d1d6b18d0e31f03976e6d1103d0e93b50d1313985db1 flex-2.5.33_0.tar.bz2 -000147c1a33feff5c5b4cb10c2cf6c2b2f4ef92a90c9e659b25f1766a83d4afc flex-2.6.4_0.tar.bz2 -92fe0ffd0971a40fd98c70b075d5bb12f2d8093ef8fb3333aac2b532bd53a591 gawk-3.0.4_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 4ab9a66ad64fb2b989eac3eaca338ae56ed13c4742031a2174b1d22da519e5b9 gcc-10.4.0_0.tar.bz2 ebbc144e18ca908295845c707f10df82a3337732cc167fcc251b6e6c508d454e gcc-4.0.4_0.tar.bz2 @@ -58,41 +58,40 @@ ebbc144e18ca908295845c707f10df82a3337732cc167fcc251b6e6c508d454e gcc-4.0.4_0.ta 99891d9413e7d3923bd1466d1bb24fdad5c0b41735a4b614d4029ec9512df0c9 gettext-0.21_0.tar.bz2 8906ece680934b78ea0fb5f950595b6480b8fbd06481039547ec7a370cb6e6bf gmp-6.2.1_0.tar.bz2 d39ef0324c447d4a2a2caba235dd56ef4931f467fe688fd222b08febc7a07d2a gperf-3.1_0.tar.bz2 -390840f2bc9c2a3196c28e06f8650f408e33b5d4ffe5539e174682ed13960bc9 grep-2.4_0.tar.bz2 +c963b667dd0ac1e8cef4b2525fcd5d53237d83d16b6f70855c199472a0dc419f grep-2.4_0.tar.bz2 14de36d2edfbcca89810510b04a9060750ef1b68fdfbf6a7d28703aa96672504 grep-3.7_0.tar.bz2 e7abb6c187a8add06858bce97f693756757f8271d0e7dce92cb57b961fdc617c guile-3.0.7_0.tar.bz2 -2b28d723aa804bd6f898483994be21b7289d365be12976062f494dba4f31e195 help2man-1.36.4_0.tar.bz2 +911d2f496ce02e8b95e0f3bf6eb94460b4b083dd13601f81d45f68b896ac9ef4 help2man-1.36.4_0.tar.bz2 2ef01fe7252be680382bee5df890ad3f6dae26744104ccdaa2d1236bc19ab44a kbd-1.15_0.tar.bz2 ca060691a62d9a4e56406aa984c6fcc60db718e0f953991a961c4fe2b18cf04f kexec-tools-2.0.22_0.tar.bz2 bb53d9d46fe787a09d5ddaf3d7bcd335f00ae192511a9e393f12149d74557952 libarchive-3.5.2_0.tar.bz2 e479b8ba2e13081bf31a416c463be98feb3f747630418de7ed40f309005c3412 libatomic_ops-7.6.10_0.tar.bz2 fcf30550a8e84be824fd2296a7964c404cb54e9df2f31af484a504342342c0fe libffi-3.3_0.tar.bz2 -680f574536735dd9519e8d9505872df1396daaea319e669ebb55ab8b53958915 libtool-1.4_0.tar.bz2 +21184c86d51a315211ac1a8257bf288b2c948076177735cdd9aecdd254aa6984 libtool-1.4_0.tar.bz2 a153fe22c4cd96b95e870edc351bee3bff8e6419f33b8a6b0ff81010cf786df0 libtool-2.2.4_0.tar.bz2 1896a7a093a0eb6665cc022d42ed3fbab16a1c627522ed679753ea010edd46a5 libtool-2.4.7_0.tar.bz2 564fcf89cb762b99e58dddb39c3812084a701447209bd4cf0dc06661e337c265 libunistring-0.9.10_0.tar.bz2 1d07aaf7049be45853fd409340cdb52bb3a1b6dfa4dbc8b69358c1ee966cd67f linux-4.9.10_0.tar.bz2 2fd5bec0c086cb89596f14894cbf078b3d1e990d297ba02b6cc4135e7d64996b linux-headers-5.10.41_0.tar.bz2 -5cda10550198e613c426e45c5fffe0f7e8761296e7339e9e9a1f9da995b4865a m4-1.4.7_0.tar.bz2 +a8e75e491322f09b90e0685b9468c589ec38a52529c362e14516cb32e5e57fe3 m4-1.4.7_0.tar.bz2 c4fc071e0911a01efae11b8735c8e69a8963d9a545befffd01486de7589b201a make-3.82_0.tar.bz2 47470be468d66a85e71cbecbbf22038260c6e91408105ba0684c3ee61b39085f make-4.2.1_0.tar.bz2 29572dea62b19dcc8c4aa5df7edfba9755881d9b56ec488b65a779a5193515a9 mpc-1.2.1_0.tar.bz2 dabb21e7b8b447e0ec2578e3cd13a96eb0a6d0508a6ce47854b7505a0d4c645e mpfr-4.1.0_0.tar.bz2 -cfcbd78bd4818a3543e0f63659640472e3307746d4c894676bc21e72e9d30717 musl-1.1.24_0.tar.bz2 -d336f2c1999ec74b36062d48b70d47593cc12f6273d54d19eae26859f9feaebe musl-1.1.24_1.tar.bz2 -63dbcae0202f1546d0c7e9dfa168f8b28c0c6bd9fc44573f0f2c9f899743b77b musl-1.1.24_2.tar.bz2 +d06f045be683f7a2cdc3eb79592f75517100d0bcda4fe7924200c065ff52c9f5 musl-1.1.24_0.tar.bz2 +280b05d6c2f7458cf3bde6985c3b2f876e9c361943b0ba3044e389e033d97622 musl-1.1.24_1.tar.bz2 +8df8ecdb28625bd7da20412dee161ab479a2789f655bd51afc51a869aa76a667 musl-1.1.24_2.tar.bz2 969a1b9467308de7546bcec8c149f1cfa5c9abf0a4b2f86b9724e75ada220c24 musl-1.2.3_0.tar.bz2 6a82830b3e27ed1b3b1e5228537491946ded389e52aca01e417d10a908220f8d musl-1.2.3_1.tar.bz2 94cda4ceabe2313f57e067a3f4324c4f40ecdcb69e8a8e2669a6b65ef4b82fb5 openssl-1.1.1l_0.tar.bz2 028d6ed9f0a41b275d763964313b88f58e944b72d8a7d45c72f5ef7b2e64fa92 patch-2.7.6_0.tar.bz2 -75fffc4bb14f14281bc1853455888d1d818b7027efc1e4014af1a755771a64e8 perl-5.000_0.tar.bz2 -3a709c914e7d01f5bfd12d8d859ac7135d9ac57528cb2e325448f91cfb4869b8 perl-5.003_0.tar.bz2 +8edc149d22a1202938c8ed2c46488115a422fbc44ddfe606727fbe4d362fb07b perl-5.000_0.tar.bz2 +85653922ee1fd39ef6e8ba6f3720d51c9585800767163f4f502296f4a39f4474 perl-5.003_0.tar.bz2 +9bba76361c28da9a0c19054ccaf8432bbf7ce779584151600ad90c439f0baef5 perl5.004-05_0.tar.bz2 +8efe3102f341c232510e6e24ab51337f15a9d1b3a344962f85131fe31bc50516 perl5.005-03_0.tar.bz2 4b79a1694c471663391793939f60c810aec65b03ef80f8dd811cea181f8e7fb2 perl-5.10.1_0.tar.bz2 8ec923d35e6296932409f613da990d61d6ed86806c34fb4c1cc812df624ef77c perl-5.32.1_0.tar.bz2 -0eda5aa300193b8e08d285d2af33bdc5bf330c183c9a8aea4fa2eb8c0710c6e9 perl-5.6.2_0.tar.bz2 -23ea39db272dcbbeedf2ea6e758052228b0a764be462c0562339b58ae472d83d perl5.004-05_0.tar.bz2 -041aed738c039a8c437c6d29530fe44f55bd5fc9ac2bb54f793f6fe3a9df16fd perl5.005-03_0.tar.bz2 -abe4b7bb3a66ae5b7f0dfdbaeb1c28717115f5a49bc52e429739227adfec3fbf pkg-config-0.29.2_0.tar.bz2 +89ae6fb13483b93623aa42f678eee076b42d9a6e2a80147a14e20807b097f940 perl-5.6.2_0.tar.bz2 819fbaaeec0e3fe386d399681a414855eacb217e857140e7b50cf8167192e189 python-2.0.1_0.tar.bz2 6fa1ef3f5a1d5307cf94b973c6d739ce7146ed3a6894e026ae675c32ba343136 python-2.0.1_1.tar.bz2 ef683ef8806a7fe79a950d0cfa1d9dad3000a15da5a82a23b9d74283ab6db8c6 python-2.3.7_0.tar.bz2 @@ -104,13 +103,14 @@ a55f917679334383e990facacc875f71ccc53d38b0d7b32b15288987b198db45 python-3.11.1_ 16348a9dfae0c7673e00efe82b81e71c96df5e3a704db7008fcc98482b4d6e97 python-3.3.7_0.tar.bz2 c4e226de2d3500b15e37db686cd2e81e76921d41a82935f224e6b5dd00aa6c83 python-3.4.10_0.tar.bz2 39360e10e1d9bbb24c22fd99de9cbbb529756260e74e3d390a2243aab735a635 python-3.8.16_0.tar.bz2 -8a0248fbf8fe1764580698415cc3628585d4dd054ddf63040f400e18cbaef7a4 sed-4.0.9_0.tar.bz2 +abe4b7bb3a66ae5b7f0dfdbaeb1c28717115f5a49bc52e429739227adfec3fbf pkg-config-0.29.2_0.tar.bz2 +e1eb72972dc5eb4bd0fd1fc6a477026440dd292b71f4ef0052f59d89869ab3e3 sed-4.0.9_0.tar.bz2 c304efd11fe7ef01c1e950fad7850365eae7ddfede5a6e188c5482fc35297a99 sed-4.8_0.tar.bz2 40040522e886fbd2634a115651089658d30935ff47f0649b08988cbade8ef418 tar-1.34_0.tar.bz2 -efc5a5d25caad04cb4e6e059788a7fc1651898ffeb1879fcf629590dbb80247f tcc-0.9.27_0.tar.bz2 -1ec4d08220131bef47442006e781f9d698c4a353e05352b7c6dc2398c3a1ae56 tcc-0.9.27_1.tar.bz2 -9de3d8e470f5e5ce773790ea4058d057cceda5cfca9c61411fda754a25c29210 tcc-0.9.27_2.tar.bz2 -7fb6d95e08fa90ef5d75cd26f650984b18a96bd65465d4be1a50bb097bb30075 tcc-0.9.27_3.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 +9d026133fc49c873a8b7dd59e71ec4e38be6d6bc5277491603ecf8dcd81b83d9 tcc-0.9.27_3.tar.bz2 4e27d5af7c7b9c6a38aebbedd09cc62ef7bc9d491afb3fd4c95de6b843423590 texinfo-6.7_0.tar.bz2 058ed60defd254a65046477b5db6431b9aad4455faa1b245952c18e5215ca0e7 util-linux-2.19.1_0.tar.bz2 14a193143d32d826bf76b69b016b972f13c0ba686db9b64714bb8c7a20c9ae9b which-2.21_0.tar.bz2 diff --git a/sysa/helpers.sh b/sysa/helpers.sh index af7f115..ba495b2 100755 --- a/sysa/helpers.sh +++ b/sysa/helpers.sh @@ -12,23 +12,29 @@ # Get a list of files get_files() { + echo "." + _get_files "${1}" +} + +_get_files() { local prefix prefix="${1}" fs= if [ -n "$(ls 2>/dev/null)" ]; then - fs=$(echo ./*) + # This can be removed once Debian 12 is stable + # shellcheck disable=SC2035 + fs=$(echo *) fi if [ -n "$(ls .[0-z]* 2>/dev/null)" ]; then fs="${fs} $(echo .[0-z]*)" fi for f in ${fs}; do # Archive symlinks to directories as symlinks + echo "${prefix}/${f}" if [ -d "${f}" ] && ! [ -h "${f}" ]; then cd "${f}" - get_files "${prefix}/${f}" + _get_files "${prefix}/${f}" cd .. - else - echo -n "${prefix}/${f} " fi done } @@ -324,33 +330,33 @@ src_pkg() { touch -t 197001010000.00 . reset_timestamp + local tar_basename="${pkg}_${revision}.tar" + local dest_tar="/usr/src/repo/${tar_basename}" + local filelist=/tmp/filelist.txt + + cd /usr/src/repo # If grep is unavailable, then tar --sort is unavailable. # So this does not need a command -v grep. - tar_basename="${pkg}_${revision}.tar" - dest_tar="/usr/src/repo/${tar_basename}" - if command -v find >/dev/null 2>&1 && command -v sort >/dev/null 2>&1; then - find . -print0 | LC_ALL=C sort -z > /tmp/filelist.txt - fi - cd /usr/src/repo - if tar --help | grep ' \-\-sort' >/dev/null 2>&1; then tar -C "${DESTDIR}" --sort=name --hard-dereference \ --numeric-owner --owner=0 --group=0 --mode=go=rX,u+rw,a-s -cf "${dest_tar}" . - elif command -v find >/dev/null 2>&1 && command -v sort >/dev/null 2>&1; then - cd "${DESTDIR}" - tar --no-recursion --null -T /tmp/filelist.txt \ - --numeric-owner --owner=0 --group=0 --mode=go=rX,u+rw,a-s -cf "${dest_tar}" - cd - else - echo -n > /dev/null - tar --numeric-owner --owner=0 --group=0 --mode=go=rX,u+rw,a-s \ - -cf "${dest_tar}" -T /dev/null + local olddir + olddir=$PWD cd "${DESTDIR}" - for f in $(get_files .); do - tar --numeric-owner --owner=0 --group=0 --mode=go=rX,u+rw,a-s \ - -rf "${dest_tar}" "${f}" - done - cd - + local null + if command -v find >/dev/null 2>&1 && command -v sort >/dev/null 2>&1; then + find . -print0 | LC_ALL=C sort -z > "${filelist}" + null="--null" + elif command -v sort >/dev/null 2>&1; then + get_files . | LC_ALL=C sort > "${filelist}" + else + get_files . > ${filelist} + fi + tar --no-recursion ${null} --files-from "${filelist}" \ + --numeric-owner --owner=0 --group=0 --mode=go=rX,u+rw,a-s -cf "${dest_tar}" + rm -f "$filelist" + cd "$olddir" fi touch -t 197001010000.00 "${tar_basename}" bzip2 --best "${tar_basename}" @@ -377,6 +383,7 @@ src_checksum() { src_apply() { local pkg="${1}" revision="${2}" + local TAR_PREFIX BZIP2_PREFIX # Make sure we have at least one copy of tar if [[ "${pkg}" == tar-* ]]; then @@ -401,8 +408,6 @@ src_apply() { fi "${BZIP2_PREFIX}bzip2" -dc "/usr/src/repo/${pkg}_${revision}.tar.bz2" | \ "${TAR_PREFIX}tar" -C / -xpf - - unset BZIP2_PREFIX - unset TAR_PREFIX rm -f "/tmp/bzip2" "/tmp/tar" }