mrrl

Minimal Reliable Reproducible Linux
git clone https://ccx.te2000.cz/git/mrrl
Log | Files | Refs | Submodules | README

commit 0ffe47e442e2e5f514af6dd715d1c36f71e112ff
parent 517ffb09f16a4e0923f7cd73c7c06118161aa28b
Author: ccx <ccx@te2000.cz>
Date:   Fri,  1 Mar 2024 13:59:13 +0000

Installs Alpine containers

Diffstat:
Afiles/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub | 9+++++++++
Afiles/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub | 9+++++++++
Afiles/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub | 9+++++++++
Afiles/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub | 9+++++++++
Afiles/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub | 9+++++++++
Afiles/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub | 9+++++++++
Afiles/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub | 9+++++++++
Afiles/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub | 9+++++++++
Afiles/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub | 9+++++++++
Afiles/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub | 14++++++++++++++
Afiles/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub | 14++++++++++++++
Afiles/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub | 14++++++++++++++
Afiles/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub | 14++++++++++++++
Afiles/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub | 14++++++++++++++
Afiles/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub | 14++++++++++++++
Afiles/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub | 14++++++++++++++
Afiles/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub | 14++++++++++++++
Afiles/pidns_run.c | 94+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apackages/alpine-keys | 109+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/containers | 24+++++++++++++++++++++---
Mpackages/containers.environment | 15++++++++++-----
Mpackages/core-system-init | 12++++++------
Mpackages/core-system-rc | 2+-
Mpackages/default.environment | 27+++++++++++++++------------
Mpackages/execline | 7+++++++
Apackages/getconf | 91+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apackages/getent | 91+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apackages/iconv | 91+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/logincaps | 2+-
Mpackages/mdevd | 2+-
Apackages/pidns_run | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/s6 | 2+-
Mpackages/s6-linux-init | 4++--
Mpackages/s6-networking | 4++--
Mpackages/s6-rc | 4++--
Mpackages/userspace.environment | 23+++++++++++++----------
Atemplates/pkg/alpine-keys | 56++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtemplates/pkg/containers | 23++++++++++++++++++++++-
Mtemplates/pkg/containers.environment | 5+++++
Mtemplates/pkg/execline | 9+++++++++
Atemplates/pkg/getconf | 23+++++++++++++++++++++++
Atemplates/pkg/getent | 23+++++++++++++++++++++++
Atemplates/pkg/iconv | 23+++++++++++++++++++++++
Atemplates/pkg/pidns_run | 24++++++++++++++++++++++++
Mtemplates/pkg/userspace.environment | 3+++
Mtemplates/skaware | 2++
46 files changed, 1033 insertions(+), 47 deletions(-)

diff --git a/files/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1yHJxQgsHQREclQu4Ohe +qxTxd1tHcNnvnQTu/UrTky8wWvgXT+jpveroeWWnzmsYlDI93eLI2ORakxb3gA2O +Q0Ry4ws8vhaxLQGC74uQR5+/yYrLuTKydFzuPaS1dK19qJPXB8GMdmFOijnXX4SA +jixuHLe1WW7kZVtjL7nufvpXkWBGjsfrvskdNA/5MfxAeBbqPgaq0QMEfxMAn6/R +L5kNepi/Vr4S39Xvf2DzWkTLEK8pcnjNkt9/aafhWqFVW7m3HCAII6h/qlQNQKSo +GuH34Q8GsFG30izUENV9avY7hSLq7nggsvknlNBZtFUcmGoQrtx3FmyYsIC8/R+B +ywIDAQAB +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNijDxJ8kloskKQpJdx+ +mTMVFFUGDoDCbulnhZMJoKNkSuZOzBoFC94omYPtxnIcBdWBGnrm6ncbKRlR+6oy +DO0W7c44uHKCFGFqBhDasdI4RCYP+fcIX/lyMh6MLbOxqS22TwSLhCVjTyJeeH7K +aA7vqk+QSsF4TGbYzQDDpg7+6aAcNzg6InNePaywA6hbT0JXbxnDWsB+2/LLSF2G +mnhJlJrWB1WGjkz23ONIWk85W4S0XB/ewDefd4Ly/zyIciastA7Zqnh7p3Ody6Q0 +sS2MJzo7p3os1smGjUF158s6m/JbVh4DN6YIsxwl2OjDOz9R0OycfJSDaBVIGZzg +cQIDAQAB +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr8s1q88XpuJWLCZALdKj +lN8wg2ePB2T9aIcaxryYE/Jkmtu+ZQ5zKq6BT3y/udt5jAsMrhHTwroOjIsF9DeG +e8Y3vjz+Hh4L8a7hZDaw8jy3CPag47L7nsZFwQOIo2Cl1SnzUc6/owoyjRU7ab0p +iWG5HK8IfiybRbZxnEbNAfT4R53hyI6z5FhyXGS2Ld8zCoU/R4E1P0CUuXKEN4p0 +64dyeUoOLXEWHjgKiU1mElIQj3k/IF02W89gDj285YgwqA49deLUM7QOd53QLnx+ +xrIrPv3A+eyXMFgexNwCKQU9ZdmWa00MjjHlegSGK8Y2NPnRoXhzqSP9T9i2HiXL +VQIDAQAB +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlzMkl7b5PBdfMzGdCT0 +cGloRr5xGgVmsdq5EtJvFkFAiN8Ac9MCFy/vAFmS8/7ZaGOXoCDWbYVLTLOO2qtX +yHRl+7fJVh2N6qrDDFPmdgCi8NaE+3rITWXGrrQ1spJ0B6HIzTDNEjRKnD4xyg4j +g01FMcJTU6E+V2JBY45CKN9dWr1JDM/nei/Pf0byBJlMp/mSSfjodykmz4Oe13xB +Ca1WTwgFykKYthoLGYrmo+LKIGpMoeEbY1kuUe04UiDe47l6Oggwnl+8XD1MeRWY +sWgj8sF4dTcSfCMavK4zHRFFQbGp/YFJ/Ww6U9lA3Vq0wyEI6MCMQnoSMFwrbgZw +wwIDAQAB +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3v8/ye/V/t5xf4JiXLXa +hWFRozsnmn3hobON20GdmkrzKzO/eUqPOKTpg2GtvBhK30fu5oY5uN2ORiv2Y2ht +eLiZ9HVz3XP8Fm9frha60B7KNu66FO5P2o3i+E+DWTPqqPcCG6t4Znk2BypILcit +wiPKTsgbBQR2qo/cO01eLLdt6oOzAaF94NH0656kvRewdo6HG4urbO46tCAizvCR +CA7KGFMyad8WdKkTjxh8YLDLoOCtoZmXmQAiwfRe9pKXRH/XXGop8SYptLqyVVQ+ +tegOD9wRs2tOlgcLx4F/uMzHN7uoho6okBPiifRX+Pf38Vx+ozXh056tjmdZkCaV +aQIDAQAB +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoSPnuAGKtRIS5fEgYPXD +8pSGvKAmIv3A08LBViDUe+YwhilSHbYXUEAcSH1KZvOo1WT1x2FNEPBEFEFU1Eyc ++qGzbA03UFgBNvArurHQ5Z/GngGqE7IarSQFSoqewYRtFSfp+TL9CUNBvM0rT7vz +2eMu3/wWG+CBmb92lkmyWwC1WSWFKO3x8w+Br2IFWvAZqHRt8oiG5QtYvcZL6jym +Y8T6sgdDlj+Y+wWaLHs9Fc+7vBuyK9C4O1ORdMPW15qVSl4Lc2Wu1QVwRiKnmA+c +DsH/m7kDNRHM7TjWnuj+nrBOKAHzYquiu5iB3Qmx+0gwnrSVf27Arc3ozUmmJbLj +zQIDAQAB +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvBxJN9ErBgdRcPr5g4hV +qyUSGZEKuvQliq2Z9SRHLh2J43+EdB6A+yzVvLnzcHVpBJ+BZ9RV30EM9guck9sh +r+bryZcRHyjG2wiIEoduxF2a8KeWeQH7QlpwGhuobo1+gA8L0AGImiA6UP3LOirl +I0G2+iaKZowME8/tydww4jx5vG132JCOScMjTalRsYZYJcjFbebQQolpqRaGB4iG +WqhytWQGWuKiB1A22wjmIYf3t96l1Mp+FmM2URPxD1gk/BIBnX7ew+2gWppXOK9j +1BJpo0/HaX5XoZ/uMqISAAtgHZAqq+g3IUPouxTphgYQRTRYpz2COw3NF43VYQrR +bQIDAQAB +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwXEJ8uVwJPODshTkf2BH +pH5fVVDppOa974+IQJsZDmGd3Ny0dcd+WwYUhNFUW3bAfc3/egaMWCaprfaHn+oS +4ddbOFgbX8JCHdru/QMAAU0aEWSMybfJGA569c38fNUF/puX6XK/y0lD2SS3YQ/a +oJ5jb5eNrQGR1HHMAd0G9WC4JeZ6WkVTkrcOw55F00aUPGEjejreXBerhTyFdabo +dSfc1TILWIYD742Lkm82UBOPsOSdSfOdsMOOkSXxhdCJuCQQ70DHkw7Epy9r+X33 +ybI4r1cARcV75OviyhD8CFhAlapLKaYnRFqFxlA515e6h8i8ih/v3MSEW17cCK0b +QwIDAQAB +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwR4uJVtJOnOFGchnMW5Y +j5/waBdG1u5BTMlH+iQMcV5+VgWhmpZHJCBz3ocD+0IGk2I68S5TDOHec/GSC0lv +6R9o6F7h429GmgPgVKQsc8mPTPtbjJMuLLs4xKc+viCplXc0Nc0ZoHmCH4da6fCV +tdpHQjVe6F9zjdquZ4RjV6R6JTiN9v924dGMAkbW/xXmamtz51FzondKC52Gh8Mo +/oA0/T0KsCMCi7tb4QNQUYrf+Xcha9uus4ww1kWNZyfXJB87a2kORLiWMfs2IBBJ +TmZ2Fnk0JnHDb8Oknxd9PvJPT0mvyT8DA+KIAPqNvOjUXP4bnjEHJcoCP9S5HkGC +IQIDAQAB +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAutQkua2CAig4VFSJ7v54 +ALyu/J1WB3oni7qwCZD3veURw7HxpNAj9hR+S5N/pNeZgubQvJWyaPuQDm7PTs1+ +tFGiYNfAsiibX6Rv0wci3M+z2XEVAeR9Vzg6v4qoofDyoTbovn2LztaNEjTkB+oK +tlvpNhg1zhou0jDVYFniEXvzjckxswHVb8cT0OMTKHALyLPrPOJzVtM9C1ew2Nnc +3848xLiApMu3NBk0JqfcS3Bo5Y2b1FRVBvdt+2gFoKZix1MnZdAEZ8xQzL/a0YS5 +Hd0wj5+EEKHfOd3A75uPa/WQmA+o0cBFfrzm69QDcSJSwGpzWrD1ScH3AK8nWvoj +v7e9gukK/9yl1b4fQQ00vttwJPSgm9EnfPHLAtgXkRloI27H6/PuLoNvSAMQwuCD +hQRlyGLPBETKkHeodfLoULjhDi1K2gKJTMhtbnUcAA7nEphkMhPWkBpgFdrH+5z4 +Lxy+3ek0cqcI7K68EtrffU8jtUj9LFTUC8dERaIBs7NgQ/LfDbDfGh9g6qVj1hZl +k9aaIPTm/xsi8v3u+0qaq7KzIBc9s59JOoA8TlpOaYdVgSQhHHLBaahOuAigH+VI +isbC9vmqsThF2QdDtQt37keuqoda2E6sL7PUvIyVXDRfwX7uMDjlzTxHTymvq2Ck +htBqojBnThmjJQFgZXocHG8CAwEAAQ== +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlEyxkHggKCXC2Wf5Mzx4 +nZLFZvU2bgcA3exfNPO/g1YunKfQY+Jg4fr6tJUUTZ3XZUrhmLNWvpvSwDS19ZmC +IXOu0+V94aNgnhMsk9rr59I8qcbsQGIBoHzuAl8NzZCgdbEXkiY90w1skUw8J57z +qCsMBydAueMXuWqF5nGtYbi5vHwK42PffpiZ7G5Kjwn8nYMW5IZdL6ZnMEVJUWC9 +I4waeKg0yskczYDmZUEAtrn3laX9677ToCpiKrvmZYjlGl0BaGp3cxggP2xaDbUq +qfFxWNgvUAb3pXD09JM6Mt6HSIJaFc9vQbrKB9KT515y763j5CC2KUsilszKi3mB +HYe5PoebdjS7D1Oh+tRqfegU2IImzSwW3iwA7PJvefFuc/kNIijfS/gH/cAqAK6z +bhdOtE/zc7TtqW2Wn5Y03jIZdtm12CxSxwgtCF1NPyEWyIxAQUX9ACb3M0FAZ61n +fpPrvwTaIIxxZ01L3IzPLpbc44x/DhJIEU+iDt6IMTrHOphD9MCG4631eIdB0H1b +6zbNX1CXTsafqHRFV9XmYYIeOMggmd90s3xIbEujA6HKNP/gwzO6CDJ+nHFDEqoF +SkxRdTkEqjTjVKieURW7Swv7zpfu5PrsrrkyGnsRrBJJzXlm2FOOxnbI2iSL1B5F +rO5kbUxFeZUIDq+7Yv4kLWcCAwEAAQ== +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnC+bR4bHf/L6QdU4puhQ +gl1MHePszRC38bzvVFDUJsmCaMCL2suCs2A2yxAgGb9pu9AJYLAmxQC4mM3jNqhg +/E7yuaBbek3O02zN/ctvflJ250wZCy+z0ZGIp1ak6pu1j14IwHokl9j36zNfGtfv +ADVOcdpWITFFlPqwq1qt/H3UsKVmtiF3BNWWTeUEQwKvlU8ymxgS99yn0+4OPyNT +L3EUeS+NQJtDS01unau0t7LnjUXn+XIneWny8bIYOQCuVR6s/gpIGuhBaUqwaJOw +7jkJZYF2Ij7uPb4b5/R3vX2FfxxqEHqssFSg8FFUNTZz3qNZs0CRVyfA972g9WkJ +hPfn31pQYil4QGRibCMIeU27YAEjXoqfJKEPh4UWMQsQLrEfdGfb8VgwrPbniGfU +L3jKJR3VAafL9330iawzVQDlIlwGl6u77gEXMl9K0pfazunYhAp+BMP+9ot5ckK+ +osmrqj11qMESsAj083GeFdfV3pXEIwUytaB0AKEht9DbqUfiE/oeZ/LAXgySMtVC +sbC4ESmgVeY2xSBIJdDyUap7FR49GGrw0W49NUv9gRgQtGGaNVQQO9oGL2PBC41P +iWF9GLoX30HIz1P8PF/cZvicSSPkQf2Z6TV+t0ebdGNS5DjapdnCrq8m9Z0pyKsQ +uxAL2a7zX8l5i1CZh1ycUGsCAwEAAQ== +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0MfCDrhODRCIxR9Dep1s +eXafh5CE5BrF4WbCgCsevyPIdvTeyIaW4vmO3bbG4VzhogDZju+R3IQYFuhoXP5v +Y+zYJGnwrgz3r5wYAvPnLEs1+dtDKYOgJXQj+wLJBW1mzRDL8FoRXOe5iRmn1EFS +wZ1DoUvyu7/J5r0itKicZp3QKED6YoilXed+1vnS4Sk0mzN4smuMR9eO1mMCqNp9 +9KTfRDHTbakIHwasECCXCp50uXdoW6ig/xUAFanpm9LtK6jctNDbXDhQmgvAaLXZ +LvFqoaYJ/CvWkyYCgL6qxvMvVmPoRv7OPcyni4xR/WgWa0MSaEWjgPx3+yj9fiMA +1S02pFWFDOr5OUF/O4YhFJvUCOtVsUPPfA/Lj6faL0h5QI9mQhy5Zb9TTaS9jB6p +Lw7u0dJlrjFedk8KTJdFCcaGYHP6kNPnOxMylcB/5WcztXZVQD5WpCicGNBxCGMm +W64SgrV7M07gQfL/32QLsdqPUf0i8hoVD8wfQ3EpbQzv6Fk1Cn90bZqZafg8XWGY +wddhkXk7egrr23Djv37V2okjzdqoyLBYBxMz63qQzFoAVv5VoY2NDTbXYUYytOvG +GJ1afYDRVWrExCech1mX5ZVUB1br6WM+psFLJFoBFl6mDmiYt0vMYBddKISsvwLl +IJQkzDwtXzT2cSjoj3T5QekCAwEAAQ== +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvaaoSLab+IluixwKV5Od +0gib2YurjPatGIbn5Ov2DLUFYiebj2oJINXJSwUOO+4WcuHFEqiL/1rya+k5hLZt +hnPL1tn6QD4rESznvGSasRCQNT2vS/oyZbTYJRyAtFkEYLlq0t3S3xBxxHWuvIf0 +qVxVNYpQWyM3N9RIeYBR/euXKJXileSHk/uq1I5wTC0XBIHWcthczGN0m9wBEiWS +0m3cnPk4q0Ea8mUJ91Rqob19qETz6VbSPYYpZk3qOycjKosuwcuzoMpwU8KRiMFd +5LHtX0Hx85ghGsWDVtS0c0+aJa4lOMGvJCAOvDfqvODv7gKlCXUpgumGpLdTmaZ8 +1RwqspAe3IqBcdKTqRD4m2mSg23nVx2FAY3cjFvZQtfooT7q1ItRV5RgH6FhQSl7 ++6YIMJ1Bf8AAlLdRLpg+doOUGcEn+pkDiHFgI8ylH1LKyFKw+eXaAml/7DaWZk1d +dqggwhXOhc/UUZFQuQQ8A8zpA13PcbC05XxN2hyP93tCEtyynMLVPtrRwDnHxFKa +qKzs3rMDXPSXRn3ZZTdKH3069ApkEjQdpcwUh+EmJ1Ve/5cdtzT6kKWCjKBFZP/s +91MlRrX2BTRdHaU5QJkUheUtakwxuHrdah2F94lRmsnQlpPr2YseJu6sIE+Dnx4M +CfhdVbQL2w54R645nlnohu8CAwEAAQ== +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU +pNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X +0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6 +ADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ +raQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy +KLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj +/QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H +Kuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs +mFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1 +/J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq +XIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4 +VORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ== +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0 +XkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ +piM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46 +xLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP +ODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM +EyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr +DzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+ +f53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF +HwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk +Ok9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6 +9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT +JZDr++FjKrnnijbyNF8b98UCAwEAAQ== +-----END PUBLIC KEY----- diff --git a/files/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub b/files/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0 +lIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm +a6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw +tO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C +US/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP +hP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv +LSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0 +x9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF +wmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG +LPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV +GZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C +8CM1S15HxV78s9dFntEqIokCAwEAAQ== +-----END PUBLIC KEY----- diff --git a/files/pidns_run.c b/files/pidns_run.c @@ -0,0 +1,94 @@ +#include <fcntl.h> +#include <errno.h> +#include <sched.h> /* Definition of CLONE_* constants & unshare */ +#include <unistd.h> /* fork(), getpid() */ +#include <sys/wait.h> +#include <sys/select.h> +#include <assert.h> + +#include <skalibs/exec.h> +#include <skalibs/djbunix.h> +#include <skalibs/strerr2.h> + +#define PROG "pidns_run" + +void nonblock_cloexec(int fd) { + int flags = fcntl(fd, F_GETFD); + if(flags == -1) { + strerr_dief1sys(111, "fcntl() getfd"); + } + if(fcntl(fd, F_SETFD, flags | O_NONBLOCK | FD_CLOEXEC) < 0) { + strerr_dief1sys(111, "fcntl() setfd"); + } +} + +int main(const int argc, const char **argv) { + int piperw[2]; + #define parent_rfd piperw[0] + #define parent_wfd piperw[1] + /* returns EINVAL for some reason + if(pipe2(piperw, O_NONBLOCK | FD_CLOEXEC) != 0) { + strerr_dief1sys(111, "pipe2()"); + } + */ + if(pipe(piperw) != 0) { + strerr_dief1sys(111, "pipe()"); + } + nonblock_cloexec(parent_rfd); + nonblock_cloexec(parent_wfd); + if(unshare(CLONE_NEWPID) != 0) { + strerr_dief1sys(111, "unshare()"); + } + int fork1_pid = fork(); + if(fork1_pid < 0) { + strerr_dief1sys(111, "first fork()"); + } + if(fork1_pid == 0) { + /* child */ + assert(getpid() == 1); + if(close(parent_wfd) != 0) { + strerr_dief1sys(111, "close(parent_wfd)"); + } + int fork2_pid = fork(); + if(fork2_pid < 0) { + strerr_dief1sys(111, "second fork()"); + } + if(fork2_pid == 0) { + /* child */ + exec(&argv[1]); + } else { + /* parent */ + fd_set rfds; + struct timeval tv = {1, 0}; + int retval, wstatus; + pid_t pid; + FD_ZERO(&rfds); + FD_SET(parent_rfd, &rfds); + while(1) { + pid = waitpid(0, &wstatus, WNOHANG); + if(pid == fork2_pid) { + exit(wait_estatus(wstatus)); + } + retval = select(1, &rfds, NULL, NULL, &tv); + if (retval == -1 && errno != EINTR) { + strerr_dief1sys(111, "select()"); + } + if(retval) { + const char term_msg[] = "pidns_run: parent died, terminating\n"; + write(2, "pidns_run: parent died, terminating\n", sizeof(term_msg)); + exit(111); + } + tv.tv_sec = 1; + tv.tv_usec = 0; + } + } + } else { + /* parent */ + if(close(parent_rfd) != 0) { + strerr_dief1sys(111, "close(parent_rfd)"); + } + int wstatus; + pid_t pid = waitpid(fork1_pid, &wstatus, 0); + exit(wait_estatus(wstatus)); + } +} diff --git a/packages/alpine-keys b/packages/alpine-keys @@ -0,0 +1,109 @@ +#!/usr/bin/env pthbs-build +#+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c +#@sha256:9c102bcc376af1498d549b77bdbfa815ae86faa1d2d82f040e616b18ef2df2d4:alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub +#@sha256:ebf31683b56410ecc4c00acd9f6e2839e237a3b62b5ae7ef686705c7ba0396a9:alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub +#@sha256:1bb2a846c0ea4ca9d0e7862f970863857fc33c32f5506098c636a62a726a847b:alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub +#@sha256:12f899e55a7691225603d6fb3324940fc51cd7f133e7ead788663c2b7eecb00c:alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub +#@sha256:73867d92083f2f8ab899a26ccda7ef63dfaa0032a938620eda605558958a8041:alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub +#@sha256:9a4cd858d9710963848e6d5f555325dc199d1c952b01cf6e64da2c15deedbd97:alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub +#@sha256:780b3ed41786772cbc7b68136546fa3f897f28a23b30c72dde6225319c44cfff:alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub +#@sha256:59c01c57b446633249f67c04b115dd6787f4378f183dff2bbf65406df93f176d:alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub +#@sha256:db0b49163f07ffba64a5ca198bcf1688610b0bd1f0d8d5afeaf78559d73f2278:alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub +#@sha256:207e4696d3c05f7cb05966aee557307151f1f00217af4143c1bcaf33b8df733f:alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub +#@sha256:128d34d4aec39b0daedea8163cd8dc24dff36fd3d848630ab97eeb1d3084bbb3:alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub +#@sha256:10877cce0a935e46ad88cb79e174a2491680508eccda08e92bf04fb9bf37fbc1:alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub +#@sha256:4a095a9daca86da496a3cd9adcd95ee2197fdbeb84638656d469f05a4d740751:alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub +#@sha256:0caf5662fde45616d88cfd7021b7bda269a2fcaf311e51c48945a967a609ec0b:alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub +#@sha256:ebe717d228555aa58133c202314a451f81e71f174781fd7ff8d8970d6cfa60da:alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub +#@sha256:d11f6b21c61b4274e182eb888883a8ba8acdbf820dcc7a6d82a7d9fc2fd2836d:alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub +#@sha256:40a216cbd163f22e5f16a9e0929de7cde221b9cbae8e36aa368b1e128afe0a31:alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub + +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=$pthbs_destdir//versions/$pthbs_package +} +def_prefix +d="${pthbs_destdir%/}/$prefix/keys/alpine" +install -d "$d/aarch64" +install -m 644 -t "$d/aarch64" 'alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub' +install -m 644 -t "$d/aarch64" 'alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub' +install -d "$d/armhf" +install -m 644 -t "$d/armhf" 'alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub' +install -m 644 -t "$d/armhf" 'alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub' +install -d "$d/armv7" +install -m 644 -t "$d/armv7" 'alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub' +install -m 644 -t "$d/armv7" 'alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub' +install -d "$d/mips64" +install -m 644 -t "$d/mips64" 'alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub' +install -d "$d/ppc64le" +install -m 644 -t "$d/ppc64le" 'alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub' +install -m 644 -t "$d/ppc64le" 'alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub' +install -d "$d/riscv64" +install -m 644 -t "$d/riscv64" 'alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub' +install -m 644 -t "$d/riscv64" 'alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub' +install -d "$d/s390x" +install -m 644 -t "$d/s390x" 'alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub' +install -m 644 -t "$d/s390x" 'alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub' +install -d "$d/x86" +install -m 644 -t "$d/x86" 'alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub' +install -m 644 -t "$d/x86" 'alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub' +install -m 644 -t "$d/x86" 'alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub' +install -d "$d/x86_64" +install -m 644 -t "$d/x86_64" 'alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub' +install -m 644 -t "$d/x86_64" 'alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub' +install -m 644 -t "$d/x86_64" 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "keys" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } + +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/packages/containers b/packages/containers @@ -2,8 +2,8 @@ #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c #+zsh.8474abd982544dce655067a14304164c886c611e5afe0862620d5da1d9b29ba4 #+pthbs-banginstall.b64d9ba0fbbd756ae02cbab919b36d897f24c20d9b54001008bfc16f8555fb60 -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 -#@git:e1e16c08f53d80d08f0ce9e405115fd650270e6b:containers +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 +#@git:82a131003d3cecfd9eb9ce12df1a4e7f90c8bc74:containers : ${JOBS:=1} prefix=/versions/$pthbs_package @@ -26,6 +26,24 @@ if test -d zsh-functions; then mkdir -p "$pkgdir/zsh" mv -v zsh-functions "$pkgdir/zsh/site-functions" fi +mkdir "$pkgdir/data" +mv -v service_scripts container_template "$pkgdir/data/" +printf '%s\n' >"$pkgdir/zsh/site-functions/confz_containers_pthbs_init" \ + "typeset -g container_template_dir='$prefix/data/container_template'" \ + "typeset -g container_service_script_dir='$prefix/data/service_scripts'" \ + "typeset -g container_alpine_keys_dir='$prefix/deps/keys/alpine/x86_64'" \ + "typeset -g container_apk_executable='$prefix/deps/command/apk.static'" \ + "typeset -g container_xbps_install_executable='$prefix/deps/command/xbps-install.static'" + +mkdir -p "$pkgdir/deps/command" +ln -sf '/versions/apk-tools.92ac25d305512b8bf6942374a52485b4a5492fa62abfc0f0dee1eddafa0711b7/command/apk.static' "$pkgdir/deps/command/" +ln -sf '/versions/xbps.3fb741d52592288dcd04226e546971e58038901cceb53fcfcc49806e4d25c1e6/command/xbps-install.static' "$pkgdir/deps/command/" + +for f in '/versions/alpine-keys.7ba61ccdeb39b3d39111cb98bf9f1e5bd8ad010e4c295ea62db5dcfd40c45cfa/keys/alpine/'*/*; do + d=$(basename "${f%/*}") + mkdir -p "$pkgdir/deps/keys/alpine/$d" + ln -sf "$f" "$pkgdir/deps/keys/alpine/$d/" +done cd "$pthbs_destdir/versions/$pthbs_package" find -type d -o -print | awk -F/ ' @@ -33,7 +51,7 @@ BEGIN { x["./command/container_sysroot_run"]=1 x["./command/ns_run"]=1 x["./command/ns_umount_script.awk"]=1 - x["./command/pidns_run"]=1 + x["./command/pidns_run.py"]=1 x["./zsh/site-functions/confz_containers_init"]=1 x["./zsh/site-functions/confz_site_containers_init"]=1} diff --git a/packages/containers.environment b/packages/containers.environment @@ -1,10 +1,15 @@ #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 -#+s6.9c34339e1003b9d8adf4055bb2a9694c4cd56eda94258443c514996b2a0620b6 +#+busybox-diffutils.32158044bea39813508fd77f608b2d44a3b1d145ac6d8cda2f3efcbbf2cfaa48 +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 +#+s6.4f5d726b3cd79949492d55acfbc7a2554cdb7cc3f6861ad620870621e454da50 #+s6-portable-utils.792e7d89881ab4c4516c298b6a22ed800210f0df4221723c3e8daff2a06aa7be #+s6-linux-utils.14f66e4eeae2e1406d10752d06ca9ca4a83ca14464aa6179b32e9fc0bf21ad42 #+zsh.8474abd982544dce655067a14304164c886c611e5afe0862620d5da1d9b29ba4 #+confz.35f8619bf06bdf10d847e3fc93d49129ab2b39d4d23ed4d9e90f9309d298c22d -#+containers.95d305be1476ff63381709105af4098c7efc53c0fc428fe00d6461fcd523b7f0 +#+containers.386d7cef5b1891a63124c2aaa875094108d4146e7bab01a5ed31c4299f5983f3 #+xbps.3fb741d52592288dcd04226e546971e58038901cceb53fcfcc49806e4d25c1e6 -#+apk-tools.92ac25d305512b8bf6942374a52485b4a5492fa62abfc0f0dee1eddafa0711b7- \ No newline at end of file +#+apk-tools.92ac25d305512b8bf6942374a52485b4a5492fa62abfc0f0dee1eddafa0711b7 +#+alpine-keys.7ba61ccdeb39b3d39111cb98bf9f1e5bd8ad010e4c295ea62db5dcfd40c45cfa +#+getent.712b2d2b4e4027e2ad86f89a43c8304b9a2dfca34f5371a24c9898bf3325363c +#+fileset.8eeccb853780cd74b0a926007fd20caceff376bff04e615de75b1efb9e71447c +#+pidns_run.1d37c8d72037591fe19c91f7c234df1d1858644267e0939d3622bfbf748b5d85+ \ No newline at end of file diff --git a/packages/core-system-init b/packages/core-system-init @@ -1,13 +1,13 @@ #!/usr/bin/env pthbs-build #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c -#+s6.9c34339e1003b9d8adf4055bb2a9694c4cd56eda94258443c514996b2a0620b6 -#+s6-rc.4ca09d2fd012556098eeaeaa23e1ca33e820ffcc5c2aef5e1b7849c9b2370926 +#+s6.4f5d726b3cd79949492d55acfbc7a2554cdb7cc3f6861ad620870621e454da50 +#+s6-rc.40667d135c9990814a75eb664f12673a28482a896e115579ec275163fb484292 #+s6-portable-utils.792e7d89881ab4c4516c298b6a22ed800210f0df4221723c3e8daff2a06aa7be -#+s6-linux-init.302c44c333344ac714ed4ca8eda9a4a2baa6fc5df7cb9a37bbb3e6e9fadf30ae -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 -#+core-system-rc.c7a30b45c572fd18d9fc2c7e7eb1c656ba1de9fc47c72dd86ee3d7e17f7cf4d0 +#+s6-linux-init.8dfd3c5fae01b4c1fc48c9d454ba47e96bc832566ac352ee25de67907683a87e +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 +#+core-system-rc.fc5755de5b6e39f1a2e9047654c4e7c80beb59515f4c1d465c9c7f0435e7db23 -s6rcdb=/versions/core-system-rc.c7a30b45c572fd18d9fc2c7e7eb1c656ba1de9fc47c72dd86ee3d7e17f7cf4d0/s6-rc-db +s6rcdb=/versions/core-system-rc.fc5755de5b6e39f1a2e9047654c4e7c80beb59515f4c1d465c9c7f0435e7db23/s6-rc-db prefix=/versions/$pthbs_package pkgdir="$pthbs_destdir/$prefix" diff --git a/packages/core-system-rc b/packages/core-system-rc @@ -1,7 +1,7 @@ #!/usr/bin/env pthbs-build #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c #+busybox-diffutils.32158044bea39813508fd77f608b2d44a3b1d145ac6d8cda2f3efcbbf2cfaa48 -#+s6-rc.4ca09d2fd012556098eeaeaa23e1ca33e820ffcc5c2aef5e1b7849c9b2370926 +#+s6-rc.40667d135c9990814a75eb664f12673a28482a896e115579ec275163fb484292 #+fileset.8eeccb853780cd74b0a926007fd20caceff376bff04e615de75b1efb9e71447c #+core-system-conf.d2e04fd56432f9cb2aa900bd4b8b259b88cf8113224fce861242e92a86919850 diff --git a/packages/default.environment b/packages/default.environment @@ -1,7 +1,7 @@ #+core-system-conf.d2e04fd56432f9cb2aa900bd4b8b259b88cf8113224fce861242e92a86919850 -#+core-system-rc.c7a30b45c572fd18d9fc2c7e7eb1c656ba1de9fc47c72dd86ee3d7e17f7cf4d0 +#+core-system-rc.fc5755de5b6e39f1a2e9047654c4e7c80beb59515f4c1d465c9c7f0435e7db23 #+core-system-scripts.8e538b2b91597999d9a32a1b608728200f7f5630aa4066acdb297d47eb2f3e10 -#+core-system-init.7ff3fedf78e303ae23a4e7ed9dea3b90d72fa86efbc813c5b384ff28d47324e6 +#+core-system-init.4ade6ed159ed1fc54a2da7e8ad43f7f9d8c57dddb8f874d61a2087445c475ece #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c #+gnu-make.27fdc2f1de0604a722f4244e66be12d1a53842b5ce57e30770495b176706eddc #+musl-cross-make.531bc7e70f40f7357346d43d6992e9c914778858af129367c2c45eb33c52353a @@ -10,25 +10,28 @@ #+flex.c564f7c6d8a89cd1c53a5677f65987700122bb0a417dfff9348c78b8df17efb9 #+bison.bd4f6247caa50159da9ce7ab37e36df1ecdfd779f307ed1f20e6fdbbb2a134e7 #+rsync.3f8e5afe215047e1feee67c6b0389a0cb2e58511a479fd0b23a8c6321f32989d -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 -#+s6.9c34339e1003b9d8adf4055bb2a9694c4cd56eda94258443c514996b2a0620b6 -#+s6-rc.4ca09d2fd012556098eeaeaa23e1ca33e820ffcc5c2aef5e1b7849c9b2370926 +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 +#+s6.4f5d726b3cd79949492d55acfbc7a2554cdb7cc3f6861ad620870621e454da50 +#+s6-rc.40667d135c9990814a75eb664f12673a28482a896e115579ec275163fb484292 #+s6-portable-utils.792e7d89881ab4c4516c298b6a22ed800210f0df4221723c3e8daff2a06aa7be #+s6-linux-utils.14f66e4eeae2e1406d10752d06ca9ca4a83ca14464aa6179b32e9fc0bf21ad42 -#+s6-linux-init.302c44c333344ac714ed4ca8eda9a4a2baa6fc5df7cb9a37bbb3e6e9fadf30ae -#+mdevd.aab70312a94d63d997121156d9c45ef65191d4adb009215fce85a432e808129a +#+s6-linux-init.8dfd3c5fae01b4c1fc48c9d454ba47e96bc832566ac352ee25de67907683a87e +#+mdevd.258e6ea50bf186f8ce57dee77b25e45f8b3bcae5283037d78dcd795db6397325 #+s6-dns.48685ba743c4728b4176e99ae41261e5b13d9ad0ee52e6f711afd42f37f52da0 #+libressl.74bd6b7eafc33403fa6a5ef2fa63e2c1ba5078e1cfd2991ae514544529f4d2b3 -#+s6-networking.e5ecb215916af236a4d8e472572b544e0d25a89b9bbde23180f73f0565c61893 +#+s6-networking.f8d1e618cf34e59039afa31da99bc0e04ffd19644ff33795f5d48cca978fd0ae #+zsh.8474abd982544dce655067a14304164c886c611e5afe0862620d5da1d9b29ba4 #+pthbs-banginstall.b64d9ba0fbbd756ae02cbab919b36d897f24c20d9b54001008bfc16f8555fb60 #+aat.edb4bd6fe5e267bc49c88621d03e0f415209a73b75edec16f439a8a87b6f14c0 #+confz.35f8619bf06bdf10d847e3fc93d49129ab2b39d4d23ed4d9e90f9309d298c22d -#+containers.95d305be1476ff63381709105af4098c7efc53c0fc428fe00d6461fcd523b7f0 +#+containers.386d7cef5b1891a63124c2aaa875094108d4146e7bab01a5ed31c4299f5983f3 #+fileset.8eeccb853780cd74b0a926007fd20caceff376bff04e615de75b1efb9e71447c -#+logincaps.e5b11a254f8cd73cfa8637bad7ea833a8357642a09ba528bc48d0e79e39b9431 +#+logincaps.d9386a7c29239489154a246351c0e0deb584624d16ec764b4a17e8856e37fc1f #+snaprep.4386ae5a1a3fbf3d875ff06709e6d2103d4090f21a9ad73cee731c32a5e4f8f3 #+curl.9ce7d4ddfc3a2df6a775182d191df4c96bd08f79a781d61ac9aebba39c8873bb #+git.55986da38ffda7a1c13f96e1fe9d1c3906ddf296708125414d8f9dd42cb64caa #+xbps.3fb741d52592288dcd04226e546971e58038901cceb53fcfcc49806e4d25c1e6 -#+apk-tools.92ac25d305512b8bf6942374a52485b4a5492fa62abfc0f0dee1eddafa0711b7- \ No newline at end of file +#+apk-tools.92ac25d305512b8bf6942374a52485b4a5492fa62abfc0f0dee1eddafa0711b7 +#+getent.712b2d2b4e4027e2ad86f89a43c8304b9a2dfca34f5371a24c9898bf3325363c +#+getconf.8e799176d421bb1e6e14def4852ee296ce48c126a965412f8e6952fe640b2702 +#+iconv.cfbdfdf8a13d4758b99e8522ff8d83fe9cadabd6a66b3868d5dadf42453b936f+ \ No newline at end of file diff --git a/packages/execline b/packages/execline @@ -22,6 +22,13 @@ cd 'execline' make -j${JOBS:-1} -l$((1+${JOBS:-1})) make DESTDIR="$pthbs_destdir" install +if ! test -e "${pthbs_destdir%/}$prefix/command/eltest"; then + # TODO + printf '%s\n' >"${pthbs_destdir%/}$prefix/command/eltest" \ + "#!$prefix/command/execlineb -S0" \ + 's6-test $@' + chmod +x "${pthbs_destdir%/}$prefix/command/eltest" +fi cd "$pthbs_destdir/versions/$pthbs_package" find -type d -o -print | awk -F/ ' diff --git a/packages/getconf b/packages/getconf @@ -0,0 +1,91 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.531bc7e70f40f7357346d43d6992e9c914778858af129367c2c45eb33c52353a +#+gnu-make.27fdc2f1de0604a722f4244e66be12d1a53842b5ce57e30770495b176706eddc +#+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c +#@sha256:d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c:getconf.c + +name=getconf +check_static() { + local exe || true + exe=$pthbs_destdir/'/versions'/$pthbs_package/$1 + if ! test -f $exe; then + printf '%s\n' "Error: file '$1' doesn't exist!" + exit 1 + fi + interp_info=$(readelf --string-dump=.interp "$exe") || exit $? + if test x '!=' "x$interp_info"; then + printf '%s\n' "Error: '$1' is a dynamic binary!" + exit 1 + fi +} +build_env_static() { + export LD_LIBRARY_PATH="$pthbs_build_environment/library" + export CPATH="$pthbs_build_environment/include" + export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=$pthbs_destdir//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -static -o $name $name.c + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/getconf"]=1} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } + +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/packages/getent b/packages/getent @@ -0,0 +1,91 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.531bc7e70f40f7357346d43d6992e9c914778858af129367c2c45eb33c52353a +#+gnu-make.27fdc2f1de0604a722f4244e66be12d1a53842b5ce57e30770495b176706eddc +#+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c +#@sha256:002c1a216f6bed0f816ab1cfebde94a0b127193ef410c36b2190599983e015b8:getent.c + +name=getent +check_static() { + local exe || true + exe=$pthbs_destdir/'/versions'/$pthbs_package/$1 + if ! test -f $exe; then + printf '%s\n' "Error: file '$1' doesn't exist!" + exit 1 + fi + interp_info=$(readelf --string-dump=.interp "$exe") || exit $? + if test x '!=' "x$interp_info"; then + printf '%s\n' "Error: '$1' is a dynamic binary!" + exit 1 + fi +} +build_env_static() { + export LD_LIBRARY_PATH="$pthbs_build_environment/library" + export CPATH="$pthbs_build_environment/include" + export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=$pthbs_destdir//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -static -o $name $name.c + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/getent"]=1} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } + +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/packages/iconv b/packages/iconv @@ -0,0 +1,91 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.531bc7e70f40f7357346d43d6992e9c914778858af129367c2c45eb33c52353a +#+gnu-make.27fdc2f1de0604a722f4244e66be12d1a53842b5ce57e30770495b176706eddc +#+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c +#@sha256:f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7:iconv.c + +name=iconv +check_static() { + local exe || true + exe=$pthbs_destdir/'/versions'/$pthbs_package/$1 + if ! test -f $exe; then + printf '%s\n' "Error: file '$1' doesn't exist!" + exit 1 + fi + interp_info=$(readelf --string-dump=.interp "$exe") || exit $? + if test x '!=' "x$interp_info"; then + printf '%s\n' "Error: '$1' is a dynamic binary!" + exit 1 + fi +} +build_env_static() { + export LD_LIBRARY_PATH="$pthbs_build_environment/library" + export CPATH="$pthbs_build_environment/include" + export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=$pthbs_destdir//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -static -o $name $name.c + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/iconv"]=1} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } + +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/packages/logincaps b/packages/logincaps @@ -2,7 +2,7 @@ #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c #+zsh.8474abd982544dce655067a14304164c886c611e5afe0862620d5da1d9b29ba4 #+pthbs-banginstall.b64d9ba0fbbd756ae02cbab919b36d897f24c20d9b54001008bfc16f8555fb60 -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 #+musl-cross-make.531bc7e70f40f7357346d43d6992e9c914778858af129367c2c45eb33c52353a #@git:b8c706e2a24a12ec3854d41e777e4b8840f98be2:logincaps diff --git a/packages/mdevd b/packages/mdevd @@ -3,7 +3,7 @@ #+gnu-make.27fdc2f1de0604a722f4244e66be12d1a53842b5ce57e30770495b176706eddc #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c #+skalibs.fe32704315b2fdfa2fe71679940d2ef4d644ff99458dd6c9bdf45ad451dd4d5c -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 #@git:d9f63961ec01dc02131ad0967734ae1a058b27b8:mdevd : ${JOBS:=1} diff --git a/packages/pidns_run b/packages/pidns_run @@ -0,0 +1,92 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.531bc7e70f40f7357346d43d6992e9c914778858af129367c2c45eb33c52353a +#+gnu-make.27fdc2f1de0604a722f4244e66be12d1a53842b5ce57e30770495b176706eddc +#+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c +#+skalibs.fe32704315b2fdfa2fe71679940d2ef4d644ff99458dd6c9bdf45ad451dd4d5c +#@sha256:c7be49de876eea64554e2e46bcaa7059083bcd6210c5007fd9030e0a6e57a0dd:pidns_run.c + +name=pidns_run +check_static() { + local exe || true + exe=$pthbs_destdir/'/versions'/$pthbs_package/$1 + if ! test -f $exe; then + printf '%s\n' "Error: file '$1' doesn't exist!" + exit 1 + fi + interp_info=$(readelf --string-dump=.interp "$exe") || exit $? + if test x '!=' "x$interp_info"; then + printf '%s\n' "Error: '$1' is a dynamic binary!" + exit 1 + fi +} +build_env_static() { + export LD_LIBRARY_PATH="$pthbs_build_environment/library" + export CPATH="$pthbs_build_environment/include" + export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=$pthbs_destdir//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -D_GNU_SOURCE -static -o $name $name.c $LDFLAGS -lskarnet + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/pidns_run"]=1} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } + +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/packages/s6 b/packages/s6 @@ -4,7 +4,7 @@ #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c #+patch.c738e7d35300fa9db0eba35891656cd875ae3f672155663b7858045b64607349 #+skalibs.fe32704315b2fdfa2fe71679940d2ef4d644ff99458dd6c9bdf45ad451dd4d5c -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 #@git:3e7acf5c35999492e7feeaa59616510bf9cc51ac:s6 #@sha256:627d1273036dc35239ba9dd1da45132e3bfce1ab8171dd27dc7952cdf09b698e:s6_clone3_newpid.patch diff --git a/packages/s6-linux-init b/packages/s6-linux-init @@ -3,8 +3,8 @@ #+gnu-make.27fdc2f1de0604a722f4244e66be12d1a53842b5ce57e30770495b176706eddc #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c #+skalibs.fe32704315b2fdfa2fe71679940d2ef4d644ff99458dd6c9bdf45ad451dd4d5c -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 -#+s6.9c34339e1003b9d8adf4055bb2a9694c4cd56eda94258443c514996b2a0620b6 +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 +#+s6.4f5d726b3cd79949492d55acfbc7a2554cdb7cc3f6861ad620870621e454da50 #@git:42a91a98b780759257862642c764c2102237fea6:s6-linux-init : ${JOBS:=1} diff --git a/packages/s6-networking b/packages/s6-networking @@ -3,8 +3,8 @@ #+gnu-make.27fdc2f1de0604a722f4244e66be12d1a53842b5ce57e30770495b176706eddc #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c #+skalibs.fe32704315b2fdfa2fe71679940d2ef4d644ff99458dd6c9bdf45ad451dd4d5c -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 -#+s6.9c34339e1003b9d8adf4055bb2a9694c4cd56eda94258443c514996b2a0620b6 +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 +#+s6.4f5d726b3cd79949492d55acfbc7a2554cdb7cc3f6861ad620870621e454da50 #+s6-dns.48685ba743c4728b4176e99ae41261e5b13d9ad0ee52e6f711afd42f37f52da0 #+libressl.74bd6b7eafc33403fa6a5ef2fa63e2c1ba5078e1cfd2991ae514544529f4d2b3 #@git:68db8af7c26461d4477f482ecbc279729fa911e4:s6-networking diff --git a/packages/s6-rc b/packages/s6-rc @@ -3,8 +3,8 @@ #+gnu-make.27fdc2f1de0604a722f4244e66be12d1a53842b5ce57e30770495b176706eddc #+busybox.d91bd595bbfadbd5a8aa0786dd0d6a00cc90a6fa513083219600bde926723c3c #+skalibs.fe32704315b2fdfa2fe71679940d2ef4d644ff99458dd6c9bdf45ad451dd4d5c -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 -#+s6.9c34339e1003b9d8adf4055bb2a9694c4cd56eda94258443c514996b2a0620b6 +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 +#+s6.4f5d726b3cd79949492d55acfbc7a2554cdb7cc3f6861ad620870621e454da50 #@git:b79282b3746ff67c3c0df8aa32814b3688b91d4f:s6-rc : ${JOBS:=1} diff --git a/packages/userspace.environment b/packages/userspace.environment @@ -6,25 +6,28 @@ #+flex.c564f7c6d8a89cd1c53a5677f65987700122bb0a417dfff9348c78b8df17efb9 #+bison.bd4f6247caa50159da9ce7ab37e36df1ecdfd779f307ed1f20e6fdbbb2a134e7 #+rsync.3f8e5afe215047e1feee67c6b0389a0cb2e58511a479fd0b23a8c6321f32989d -#+execline.658425c138cb0a254f960e2237f99618e27003ebe7bf4c23ba2713c744a33272 -#+s6.9c34339e1003b9d8adf4055bb2a9694c4cd56eda94258443c514996b2a0620b6 -#+s6-rc.4ca09d2fd012556098eeaeaa23e1ca33e820ffcc5c2aef5e1b7849c9b2370926 +#+execline.452e71f73707cbff64b401d0b8d334fe3d1f18e21a63719019dd79e5681bba08 +#+s6.4f5d726b3cd79949492d55acfbc7a2554cdb7cc3f6861ad620870621e454da50 +#+s6-rc.40667d135c9990814a75eb664f12673a28482a896e115579ec275163fb484292 #+s6-portable-utils.792e7d89881ab4c4516c298b6a22ed800210f0df4221723c3e8daff2a06aa7be #+s6-linux-utils.14f66e4eeae2e1406d10752d06ca9ca4a83ca14464aa6179b32e9fc0bf21ad42 -#+s6-linux-init.302c44c333344ac714ed4ca8eda9a4a2baa6fc5df7cb9a37bbb3e6e9fadf30ae -#+mdevd.aab70312a94d63d997121156d9c45ef65191d4adb009215fce85a432e808129a +#+s6-linux-init.8dfd3c5fae01b4c1fc48c9d454ba47e96bc832566ac352ee25de67907683a87e +#+mdevd.258e6ea50bf186f8ce57dee77b25e45f8b3bcae5283037d78dcd795db6397325 #+s6-dns.48685ba743c4728b4176e99ae41261e5b13d9ad0ee52e6f711afd42f37f52da0 #+libressl.74bd6b7eafc33403fa6a5ef2fa63e2c1ba5078e1cfd2991ae514544529f4d2b3 -#+s6-networking.e5ecb215916af236a4d8e472572b544e0d25a89b9bbde23180f73f0565c61893 +#+s6-networking.f8d1e618cf34e59039afa31da99bc0e04ffd19644ff33795f5d48cca978fd0ae #+zsh.8474abd982544dce655067a14304164c886c611e5afe0862620d5da1d9b29ba4 #+pthbs-banginstall.b64d9ba0fbbd756ae02cbab919b36d897f24c20d9b54001008bfc16f8555fb60 #+aat.edb4bd6fe5e267bc49c88621d03e0f415209a73b75edec16f439a8a87b6f14c0 #+confz.35f8619bf06bdf10d847e3fc93d49129ab2b39d4d23ed4d9e90f9309d298c22d -#+containers.95d305be1476ff63381709105af4098c7efc53c0fc428fe00d6461fcd523b7f0 +#+containers.386d7cef5b1891a63124c2aaa875094108d4146e7bab01a5ed31c4299f5983f3 #+fileset.8eeccb853780cd74b0a926007fd20caceff376bff04e615de75b1efb9e71447c -#+logincaps.e5b11a254f8cd73cfa8637bad7ea833a8357642a09ba528bc48d0e79e39b9431 +#+logincaps.d9386a7c29239489154a246351c0e0deb584624d16ec764b4a17e8856e37fc1f #+snaprep.4386ae5a1a3fbf3d875ff06709e6d2103d4090f21a9ad73cee731c32a5e4f8f3 #+curl.9ce7d4ddfc3a2df6a775182d191df4c96bd08f79a781d61ac9aebba39c8873bb #+git.55986da38ffda7a1c13f96e1fe9d1c3906ddf296708125414d8f9dd42cb64caa #+xbps.3fb741d52592288dcd04226e546971e58038901cceb53fcfcc49806e4d25c1e6 -#+apk-tools.92ac25d305512b8bf6942374a52485b4a5492fa62abfc0f0dee1eddafa0711b7- \ No newline at end of file +#+apk-tools.92ac25d305512b8bf6942374a52485b4a5492fa62abfc0f0dee1eddafa0711b7 +#+getent.712b2d2b4e4027e2ad86f89a43c8304b9a2dfca34f5371a24c9898bf3325363c +#+getconf.8e799176d421bb1e6e14def4852ee296ce48c126a965412f8e6952fe640b2702 +#+iconv.cfbdfdf8a13d4758b99e8522ff8d83fe9cadabd6a66b3868d5dadf42453b936f+ \ No newline at end of file diff --git a/templates/pkg/alpine-keys b/templates/pkg/alpine-keys @@ -0,0 +1,56 @@ +{% extends "genlinks" %} +{%- block script %} +#+{{pkg_install_name("busybox")}} +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub +#@sha256:{{files["alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub"]}}:alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub + +{% include "functions/vars" %} +def_prefix +d="${pthbs_destdir%/}/$prefix/keys/alpine" +install -d "$d/aarch64" +install -m 644 -t "$d/aarch64" 'alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub' +install -m 644 -t "$d/aarch64" 'alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub' +install -d "$d/armhf" +install -m 644 -t "$d/armhf" 'alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub' +install -m 644 -t "$d/armhf" 'alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub' +install -d "$d/armv7" +install -m 644 -t "$d/armv7" 'alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub' +install -m 644 -t "$d/armv7" 'alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub' +install -d "$d/mips64" +install -m 644 -t "$d/mips64" 'alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub' +install -d "$d/ppc64le" +install -m 644 -t "$d/ppc64le" 'alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub' +install -m 644 -t "$d/ppc64le" 'alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub' +install -d "$d/riscv64" +install -m 644 -t "$d/riscv64" 'alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub' +install -m 644 -t "$d/riscv64" 'alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub' +install -d "$d/s390x" +install -m 644 -t "$d/s390x" 'alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub' +install -m 644 -t "$d/s390x" 'alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub' +install -d "$d/x86" +install -m 644 -t "$d/x86" 'alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub' +install -m 644 -t "$d/x86" 'alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub' +install -m 644 -t "$d/x86" 'alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub' +install -d "$d/x86_64" +install -m 644 -t "$d/x86_64" 'alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub' +install -m 644 -t "$d/x86_64" 'alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub' +install -m 644 -t "$d/x86_64" 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' +{% endblock %} +{% block rules %} +$2 == "keys" { link($0); next } +{% endblock -%} diff --git a/templates/pkg/containers b/templates/pkg/containers @@ -2,11 +2,32 @@ {%- block extra_deps %} #+{{pkg_install_name("execline")}} {%- endblock %} +{%- block extra_script %} +mkdir "$pkgdir/data" +mv -v service_scripts container_template "$pkgdir/data/" +printf '%s\n' >"$pkgdir/zsh/site-functions/confz_containers_pthbs_init" \ + "typeset -g container_template_dir='$prefix/data/container_template'" \ + "typeset -g container_service_script_dir='$prefix/data/service_scripts'" \ + "typeset -g container_alpine_keys_dir='$prefix/deps/keys/alpine/x86_64'" \ + "typeset -g container_apk_executable='$prefix/deps/command/apk.static'" \ + "typeset -g container_xbps_install_executable='$prefix/deps/command/xbps-install.static'" + +mkdir -p "$pkgdir/deps/command" +ln -sf '{{versions}}/apk-tools.{{pkg_sha256("apk-tools")}}/command/apk.static' "$pkgdir/deps/command/" +ln -sf '{{versions}}/xbps.{{pkg_sha256("xbps")}}/command/xbps-install.static' "$pkgdir/deps/command/" + +for f in '{{versions}}/alpine-keys.{{pkg_sha256("alpine-keys")}}/keys/alpine/'*/*; do + d=$(basename "${f%/*}") + mkdir -p "$pkgdir/deps/keys/alpine/$d" + ln -sf "$f" "$pkgdir/deps/keys/alpine/$d/" +done + +{%- endblock %} {% block genlinks_begin %} x["./command/container_sysroot_run"]=1 x["./command/ns_run"]=1 x["./command/ns_umount_script.awk"]=1 - x["./command/pidns_run"]=1 + x["./command/pidns_run.py"]=1 x["./zsh/site-functions/confz_containers_init"]=1 x["./zsh/site-functions/confz_site_containers_init"]=1 {%- endblock %} diff --git a/templates/pkg/containers.environment b/templates/pkg/containers.environment @@ -1,4 +1,5 @@ #+{{pkg_install_name("busybox")}} +#+{{pkg_install_name("busybox-diffutils")}} #+{{pkg_install_name("execline")}} #+{{pkg_install_name("s6")}} #+{{pkg_install_name("s6-portable-utils")}} @@ -8,3 +9,7 @@ #+{{pkg_install_name("containers")}} #+{{pkg_install_name("xbps")}} #+{{pkg_install_name("apk-tools")}} +#+{{pkg_install_name("alpine-keys")}} +#+{{pkg_install_name("getent")}} +#+{{pkg_install_name("fileset")}} +#+{{pkg_install_name("pidns_run")}} diff --git a/templates/pkg/execline b/templates/pkg/execline @@ -1 +1,10 @@ {% extends "skaware" %} +{%- block postinstall %} +if ! test -e "${pthbs_destdir%/}$prefix/command/eltest"; then + # TODO + printf '%s\n' >"${pthbs_destdir%/}$prefix/command/eltest" \ + "#!$prefix/command/execlineb -S0" \ + 's6-test $@' + chmod +x "${pthbs_destdir%/}$prefix/command/eltest" +fi +{%- endblock %} diff --git a/templates/pkg/getconf b/templates/pkg/getconf @@ -0,0 +1,23 @@ +{% extends "genlinks" %} +{%- block script %} +#+{{pkg_install_name("musl-cross-make")}} +#+{{pkg_install_name("gnu-make")}} +#+{{pkg_install_name("busybox")}} +#@sha256:d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c:getconf.c + +name=getconf +{% include "functions/check_static" %} +{% include "functions/build_env_static" %} +{% include "functions/vars" %} +build_env_static +def_prefix + +gcc -static -o $name $name.c + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name +{% endblock %} +{% block genlinks_begin %} + x["./command/getconf"]=1 +{%- endblock %} diff --git a/templates/pkg/getent b/templates/pkg/getent @@ -0,0 +1,23 @@ +{% extends "genlinks" %} +{%- block script %} +#+{{pkg_install_name("musl-cross-make")}} +#+{{pkg_install_name("gnu-make")}} +#+{{pkg_install_name("busybox")}} +#@sha256:002c1a216f6bed0f816ab1cfebde94a0b127193ef410c36b2190599983e015b8:getent.c + +name=getent +{% include "functions/check_static" %} +{% include "functions/build_env_static" %} +{% include "functions/vars" %} +build_env_static +def_prefix + +gcc -static -o $name $name.c + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name +{% endblock %} +{% block genlinks_begin %} + x["./command/getent"]=1 +{%- endblock %} diff --git a/templates/pkg/iconv b/templates/pkg/iconv @@ -0,0 +1,23 @@ +{% extends "genlinks" %} +{%- block script %} +#+{{pkg_install_name("musl-cross-make")}} +#+{{pkg_install_name("gnu-make")}} +#+{{pkg_install_name("busybox")}} +#@sha256:f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7:iconv.c + +name=iconv +{% include "functions/check_static" %} +{% include "functions/build_env_static" %} +{% include "functions/vars" %} +build_env_static +def_prefix + +gcc -static -o $name $name.c + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name +{% endblock %} +{% block genlinks_begin %} + x["./command/iconv"]=1 +{%- endblock %} diff --git a/templates/pkg/pidns_run b/templates/pkg/pidns_run @@ -0,0 +1,24 @@ +{% extends "genlinks" %} +{%- block script %} +#+{{pkg_install_name("musl-cross-make")}} +#+{{pkg_install_name("gnu-make")}} +#+{{pkg_install_name("busybox")}} +#+{{pkg_install_name("skalibs")}} +#@sha256:{{files["pidns_run.c"]}}:pidns_run.c + +name=pidns_run +{% include "functions/check_static" %} +{% include "functions/build_env_static" %} +{% include "functions/vars" %} +build_env_static +def_prefix + +gcc -D_GNU_SOURCE -static -o $name $name.c $LDFLAGS -lskarnet + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name +{% endblock %} +{% block genlinks_begin %} + x["./command/pidns_run"]=1 +{%- endblock %} diff --git a/templates/pkg/userspace.environment b/templates/pkg/userspace.environment @@ -28,3 +28,6 @@ #+{{pkg_install_name("git")}} #+{{pkg_install_name("xbps")}} #+{{pkg_install_name("apk-tools")}} +#+{{pkg_install_name("getent")}} +#+{{pkg_install_name("getconf")}} +#+{{pkg_install_name("iconv")}} diff --git a/templates/skaware b/templates/skaware @@ -25,4 +25,6 @@ cd '{{name}}' {{make}} make DESTDIR="$pthbs_destdir" install +{%- block postinstall %} +{%- endblock %} {% endblock %}