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.
This commit is contained in:
Andrius Štikonas 2023-02-19 08:10:00 +08:00
parent cd67dfbf07
commit d4eeba9d7a
2 changed files with 79 additions and 74 deletions

View File

@ -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

View File

@ -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"
}