these 14 derivations will be built: /nix/store/03r58jll8vfi18nlqca876gny1vfq9y7-utils.bash.drv /nix/store/1nbb40q23hm4fvf7v690ranrxq9mrxih-remove-references-to.drv /nix/store/25n5w4754gn1mil9hq6azkh7rrli5ag1-setup-hook.sh.drv /nix/store/7k91qs7q23bxdn1z5p0n56lfqrn59bdh-locales-setup-hook.sh.drv /nix/store/d5x4rdpbczqrjmimmgiby9hz789xba9q-zerotier-tools-0.1.0.drv /nix/store/dkzqzfrk3y8g9ka738s9pv6jh2hvg79a-nuke-refs.drv /nix/store/iaj9rfm6crcahcw612qsya8vj09yr9fx-utils.bash.drv /nix/store/kw9a40xhrliw8j5mkya0cr5lfldr5xzp-add-flags.sh.drv /nix/store/n2ncl8591xv86my02rmaalhgmaj9kqqc-add-flags.sh.drv /nix/store/wr5ab14vzp9pdgjsa00ggn96jn8b28ck-perl-5.42.3-env.drv /nix/store/xvqk1jry9d9azkcxr459hizrz0ncq7mx-zerotierone-1.16.0.drv /nix/store/9m3vwg03y7bafvxaj4vi760dx9xjwnc3-closure-info.drv /nix/store/wzlvbr2g0crkijsw46sfhzfh0z4a3g5y-clan-core-flake.drv /nix/store/5vil542pjmhihx2yjwyzxpawsdv35cnm-clan-pytest-with-core.drv these 322 paths will be fetched (806.3 MiB download, 2.1 GiB unpacked): /nix/store/1aqykxv6k3r55r25gbgfvmmcc5qzwasi-CVE-2025-15661.patch /nix/store/1pd10jmsqkyhsn0r4lcax7njjsbxzziv-CVE-2026-55199.patch /nix/store/6rv2i7dl0bbxl3069p61896xi0948643-CVE-2026-55200.patch /nix/store/7fi3q2kal2rljr2l5z701i6dgwr8q6wf-CVE-2026-58050.patch /nix/store/6rm8ynmihq2crs4dfj2wy30l312675h2-CVE-2026-58051.patch /nix/store/idhhjlhpjagam2r7x1y9kznwgz6wb87a-CVE-2026-66032.patch /nix/store/41yjsa29ydagklnqfd17abjzy909facg-CVE-2026-66033.patch /nix/store/kg03300p29j5si16b1wfg0lmrmdx5ckz-CVE-2026-66034.patch /nix/store/xdffljjmrzdwam0gdn57dl1n7lyv55ik-CVE-2026-66035.patch /nix/store/6bjcfvwxqd5zh78ljkjld8mxkdkr1jy8-acl-2.4.0.tar.gz /nix/store/is9qrfj8i2k7dhzqkmxwrmbvvl6q5k9r-attr-2.6.0.tar.gz /nix/store/swwsiv2alli108hzpiizc7vaj9hpbgal-autoconf-2.69 /nix/store/sm3m6c71sxa8rwzk85zllm9xjqrdvdb4-autoconf-2.69.tar.xz /nix/store/6aqpvf379g8bpkk082l78hg86n7bnn9n-autoconf-2.73 /nix/store/shlp30kjpbylmjsxvdkp9g6pcg1lxp4q-autoconf-2.73 /nix/store/9jvz4bgr01i70qfak1fab2mg1wq1yfsh-autoconf-2.73-doc /nix/store/id4cgzivkm2mv5pzpk8yv14kxv1zlva7-autoconf-2.73-doc /nix/store/2116a8ypf7zg1c30dc9fc08nx03xizc2-autoconf-2.73.tar.xz /nix/store/4drgqfd6hxr8a23iii18qxb6k8bsn7zq-automake-1.18.1 /nix/store/8y37dmvnkaashz2xvzy99yy8niwfn3g4-automake-1.18.1 /nix/store/l31miwgfvjn6yzhnaqs1igvhm1h3ca75-automake-1.18.1.tar.xz /nix/store/a5qd2i04x9cafkg824jvglxxb43lb0cf-autoreconf-hook /nix/store/db1ibl4a4sxidyj892czb58w381pry90-autoreconf-hook /nix/store/8x9c8x1fawkpl4a01blsbxkk8d8rly5j-bash-5.3p15 /nix/store/h10vmll16svj74qs2gfszp3p03liaq9f-bash-5.3p15 /nix/store/qxlj446n5wd6vi0mcicjm76bnjawgvfh-bash-5.3p15 /nix/store/sxlpkc23djzzzd49b5ggmz4pfzymb6rs-bash-5.3p15 /nix/store/6af1y7yfvyll3g4dq67yyzqab1w034va-bash-5.3p15-debug /nix/store/f1lmnxfgza45bjgyynzjg1y0nrvqqhzd-bash-5.3p15-debug /nix/store/n23xcqmwcab4xgwf1acqb7jh0rdx04q0-bash-5.3p15-debug /nix/store/qxas0hny3i38dv695y2vwqaz1zd6almm-bash-5.3p15-debug /nix/store/7xvl9bi23nq6l7pc05zq1vpkfxd0j84c-bash-5.3p15-dev /nix/store/h4plfqfp8ps939nlg6qlgyw2jx93plkd-bash-5.3p15-dev /nix/store/qmazm3m33qpp2il38mbg76jy8sxbka5v-bash-5.3p15-dev /nix/store/zcs32f97x3cysns7akp2dyh3bb6428iy-bash-5.3p15-dev /nix/store/5bnk79w1g8s783svq0p99g2mv37pc5vw-bash-5.3p15-doc /nix/store/9565qw0j1p08qdx4i48sicq8z9nxr1c4-bash-5.3p15-doc /nix/store/jdxdcvflavlgmc6ck84jvk2fgmdhhj25-bash-5.3p15-doc /nix/store/s2l69ir1y58wqwxiz10ps86i3dv8i7a0-bash-5.3p15-doc /nix/store/8y1gnfx8x6g999bk2and0whpf47wgv1g-bash-5.3p15-info /nix/store/c3knld8ap7mik4in3lh0mdyxy6r6wlw9-bash-5.3p15-info /nix/store/hf3gda6pflq7f2fnqmh8vpvv06hhkna0-bash-5.3p15-info /nix/store/yzj7lfvwjn1nvz0qm48l918fxzfi1yq6-bash-5.3p15-info /nix/store/fhk9x7aml9lvxmzlc3sqsdchvvvb8fcs-bash-5.3p15-man /nix/store/fv9l2nfc4fsm5viwqngck40xqqv7blh3-bash-5.3p15-man /nix/store/g58fq3s6zijpqd6nc3ycjkhwgm4mvx8z-bash-5.3p15-man /nix/store/kf6kkj5z0shhjnckx2w1calfdbj1yvlk-bash-5.3p15-man /nix/store/0j41vs0ajmjn81i1mwhgvi24rr5hi4aa-bash53-001 /nix/store/6iygjlcf64ryrg6jryk6qrjfxxz2i6q8-bash53-002 /nix/store/bm2dknmrjbsd49idcliys6gyalnbd90i-bash53-003 /nix/store/r5c3y73q0imsgrfpq9m6wxjcbxysgc0a-bash53-004 /nix/store/4dxvym02alixyck61bdyz12clv6jl5sw-bash53-005 /nix/store/pvx3r9mw2ic9rqw0ghgf1ap9ahvwal48-bash53-006 /nix/store/abrapa0s0rsqbqd9jg6kdc2d27gb7n2w-bash53-007 /nix/store/505g8rabqm5p0swd7i6lj6b2ma8z1vl1-bash53-008 /nix/store/9qh7kf2m0i1kg45k3iwxz6q3pjv02yhr-bash53-009 /nix/store/5ramk5ygw18qcni7f7j6jq7hmz1w439h-bash53-010 /nix/store/gdh49x52agp6k7h384lhw0bhgpjlkxj1-bash53-011 /nix/store/ah6wv3chmixpang0fm6vi1x7gx359x53-bash53-012 /nix/store/kggzcddbknz73hvx61a7d5cv6apn4sz4-bash53-013 /nix/store/pp02cfavxgll72kck5ss7b27b84n21gf-bash53-014 /nix/store/m0cdn4rydmi8zsxc2sjzxs78n2qqlrxb-bash53-015 /nix/store/qfjr9wwx9whim2p40skb4pc41jhadc01-binutils-2.46 /nix/store/c7vml62i5xq4kf8mgh792fvw45i8nmhy-binutils-2.46-dev /nix/store/x7b0cl5iy9glm9zjlw04arvi2m3g0nrq-binutils-2.46-dev /nix/store/4c7mvm7jxg697nh4jvvr72a8vj9fz1nq-binutils-2.46-info /nix/store/xp6vl18wggaw2lvw8dmh4vqhlz6k51h2-binutils-2.46-info /nix/store/0z6wis9zwg07pxnyn4i53m37rgmlayf4-binutils-2.46-lib /nix/store/dkrah5yk4qjfgsq9wya3jvhks3qnz5kr-binutils-2.46-man /nix/store/v4kfvhd20zqmd7sgm00znhid7nv8zf2h-binutils-2.46-man /nix/store/prhf1qgi8afa2z3a155vwjbb5jpn2fvl-binutils-patchelfed-ld-2.46 /nix/store/p6ad0azx8ixqwxcj610immjndwgiw7l1-binutils-patchelfed-ld-wrapper-2.46 /nix/store/wjzms5d0j9k9sam69yh8mrfp3jp89pcd-binutils-with-gold-2.46.tar.bz2 /nix/store/97pa91zg0yvmqrkgz24wpq2j2q3zy071-binutils-wrapper-2.46 /nix/store/i4c770jndwpmav843cb23740arzw90wf-binutils-wrapper-2.46-info /nix/store/xjp4mgj4lglyfv3xjwli7hdinh1m03ck-binutils-wrapper-2.46-info /nix/store/6wvpkhg4ryjpg7sp29wglk0k8afqjnra-binutils-wrapper-2.46-man /nix/store/arjl8z3lbhafbdahxn217h1k44crgkjy-binutils-wrapper-2.46-man /nix/store/k09lhldinb7n0zh1hnqc95h7mx9n8hcq-bison-3.8.2 /nix/store/m9pjqk8zcrr1bc9y4iwx6rq7w8fzfrqc-bison-3.8.2 /nix/store/79dyvmc1f4l8k6hv4pidpkmkg10qwifc-bootstrap-stage-xgcc-gcc-wrapper- /nix/store/l2zmy2igc1zrg0agl8ha6y77k6nvang6-bootstrap-stage-xgcc-stdenv-linux /nix/store/kyirhasmxsx0p35cnrbd8567yshzk0n1-bootstrap-stage-xgcc-stdenv-linux-no-cc /nix/store/1paqww6r6hwzvwag08zkyv7a1lk6bm0g-bootstrap-stage0-binutils-wrapper- /nix/store/9pzmci6a55yrp8030ksw2w6p14lawvnp-bootstrap-stage0-glibc-bootstrap-tools /nix/store/3qpci545xb5c223py64k7969djijfyg0-bootstrap-stage0-glibc-iconv-bootstrap-tools /nix/store/6lp61bx5s31k30b8si80bw4d0vakpfb2-bootstrap-stage0-stdenv-linux /nix/store/k70mlz7h7pgqbji060kbm64h37qdvg9r-bootstrap-stage0-stdenv-linux-no-cc /nix/store/c47d48r63cd69pwdmkiq390dzi250ddx-bootstrap-stage1-gcc-wrapper- /nix/store/4ypc37ralbgdq271gnqank30pwy7h347-bootstrap-stage1-stdenv-linux /nix/store/hivrq1ragvha25h1xqgxwmq1bacjwdf6-bootstrap-stage1-stdenv-linux-no-cc /nix/store/s4g6wngn2kz7fwzxcnp2q2yh22mdm9af-bootstrap-stage2-gcc-wrapper-15.3.0 /nix/store/p044s24wzqd2ac2zb21k7z6611qgrpj3-bootstrap-stage2-gcc-wrapper-15.3.0-info /nix/store/fndd9gm57j9bq4bmmq14v8mdnvw23vsy-bootstrap-stage2-gcc-wrapper-15.3.0-man /nix/store/5ihpn14prvqgvif9a9bp4qm45bkrphz0-bootstrap-stage2-stdenv-linux /nix/store/g8bqs9liap16ni1mjn12kn1cimc7f9x3-bootstrap-stage2-stdenv-linux-no-cc /nix/store/bs03lbgdiq4pvng7b1nd86mz76nwzn0d-bootstrap-stage3-gcc-wrapper-15.3.0 /nix/store/1zbbzrrxlialhdd0wyd58ix2pn7qw3y8-bootstrap-stage3-gcc-wrapper-15.3.0-info /nix/store/k1q16fdjsn5ajjlj3vazhr5qj5qva6wb-bootstrap-stage3-gcc-wrapper-15.3.0-man /nix/store/hr8cs1jhwl4bgq4pipvh6nbb0jkxjjpy-bootstrap-stage3-stdenv-linux /nix/store/qm4nirp6s93cpk09d7ydi6vwvl5z5vhh-bootstrap-stage3-stdenv-linux-no-cc /nix/store/rrr3bsl06ifamy38b1ga1ycqabsyj7rh-bootstrap-stage4-gcc-wrapper-15.3.0 /nix/store/mlzwpr4dd6acbybazbdmxqhzf3mf4f80-bootstrap-stage4-gcc-wrapper-15.3.0-info /nix/store/i95b37k0y64mh1j400vf2rgvg1s26nzj-bootstrap-stage4-gcc-wrapper-15.3.0-man /nix/store/6q9vjl46ni5dd6hlfb2wxaap3nrwbgzi-bootstrap-stage4-stdenv-linux /nix/store/glkjwkh8hrfxps6p8ihgdyvd05w08njc-bootstrap-stage4-stdenv-linux-no-cc /nix/store/9n3c64ydhxz8lkahq2j0n2wvc8l7mnpn-bootstrap-tools.tar.xz /nix/store/37kfl1rx0nabihqzxvpy4hccc1qfic24-bundler-2.7.2 /nix/store/3anghs7hip3rv510y69fq0daicqv3lad-byacc-20260126 /nix/store/rjf7864yrw8d9csm3kvfzxgc0ccl8c9j-byacc-20260126.tgz /nix/store/z64fp7fjfy9zr3xn7prdidi4gww213d5-cargo-1.97.1 /nix/store/1ikckmly7spjldhc25wkckvmxn9kg0mh-cargo-deps-vendor /nix/store/yx4izicx9mvlisjwv9ign1rwbfj8h83r-cargo-setup-hook.sh /nix/store/p9nqab7dnb6x7sz9hnvzsimp31fjw6x9-closure-info /nix/store/wnv14jfflkyv9xmk8zm4g9rhm8ynq0a9-cmake-minimal-4.3.4 /nix/store/2fwx079h9hqd5mj3ssisgkywc9x3wiqc-coreutils-9.11 /nix/store/mcm275qpq3spggm0s69fz3ykfwscbqfk-coreutils-9.11-debug /nix/store/2drwjyz20gznm5sihvrb16568mvmb8vz-coreutils-9.11-info /nix/store/7k5xhfgd0rzcrbd2zbvqphb2yz0ajy46-curl-8.21.0-debug /nix/store/sfirhzcw8837iza9m1s7q01v2kyz2vqq-curl-8.21.0-devdoc /nix/store/lkxlpb9v51fd469cnp115a7s5spysi1n-die-hook /nix/store/jndi1wj9b4gl1myr8rdkw4avr67gn68k-diffutils-3.12-info /nix/store/h8xhahhcdawxq5xg0niqi044l7fyvppq-diffutils-3.12.tar.xz /nix/store/3096wpx9ipjs4cdf13jwf0wsrjccsbvg-docbook-xml-4.2 /nix/store/5m2wkf257r50j4sm9f8cibqd0nmck10x-docbook-xml-4.3 /nix/store/nry5hfwz96ynmil49n185x6201s13qjy-docbook-xml-4.5 /nix/store/92w9v82ygwcg1iqfrapmv9dzxb2xn4sa-docbook-xsl-nons-1.79.2 /nix/store/y6awmf9mmvvi656lxyyh4h6203ixnmax-ed-1.22.5.tar.lz /nix/store/85cbpxsq20a53hyqw7mhr7x25basibf4-expand-response-params /nix/store/d6yvmkbkbljhqh6hvgi8s2l6iawxjg54-expand-response-params /nix/store/h7a86dv7klhqi3wlay57g9jq0dywsggh-expand-response-params /nix/store/n41xa68v2k437aylgxs8c4qxiyczjp2r-expand-response-params /nix/store/qka8iy77lrrbbrdicgb4x51xbqwwkg18-file-5.48-dev /nix/store/v8plbdhhs30r33s9v2hg8zhngz08h6q9-file-5.48-dev /nix/store/60gj6yda9w074pjdx6b63lvviq93rmgk-file-5.48-man /nix/store/pv1k8rfhgr1gxsj3j1ll1c57vqa76rq3-file-5.48-man /nix/store/77iwlkxzqbycva0pa4wh62bzf86z54y0-file-5.48.tar.gz /nix/store/5gkb48klzh7d1g790shbcpgxqjgmqmz7-findutils-4.11.0.tar.xz /nix/store/73dx55dqkx9c13x282rp1vdbs84fxbps-gawk-5.4.1.tar.xz /nix/store/2grzvbjfws32981f9k489qm8641d8wjl-gcc-15.3.0-checksum /nix/store/jjcmyqhksxhqvzakallw42p4v9x8851k-gcc-15.3.0-info /nix/store/67nmhh241b1h2957fs4dm4lpsc1856zq-gcc-15.3.0-man /nix/store/6b75ff0llvr4z03wzs42cinwflnp4l1h-gcc-15.3.0.tar.xz /nix/store/g8b1ww4w33n8405p0zw0m5dfxv4qhayp-gcc-wrapper-15.3.0-info /nix/store/s0w5rhgr3llm7js9dmm0lcni2nxcy4n8-gcc-wrapper-15.3.0-man /nix/store/5j6anv36nckfj5v7c45jqr4d0qf2v2cv-gemfile-and-lockfile /nix/store/cg6n0x2z19ndrbi7rz8ji88109srji1k-gettext-1.0 /nix/store/n69bvj3fxwpmhdcxir01hk730q2bkjy8-gettext-1.0 /nix/store/5pa1km3hdzwpdz5dfpr20gvx2pqbh3y8-gettext-1.0-doc /nix/store/bkx8wp4g12lm0bac6fdlm0cnahp8fwp2-gettext-1.0-doc /nix/store/l5fp4lpm80r206qqhgv0qqrvvby535xr-gettext-1.0-doc /nix/store/2cpnzykhv3rr8wxlsspap7s3a37j2q0h-gettext-1.0-info /nix/store/ja5mhiwxsdp8rnjngzznpkd1whj86fj1-gettext-1.0-info /nix/store/w5hj74gd2ylb129w82sgws3ih3pjcbi8-gettext-1.0-info /nix/store/nh66y8d6g9l3af83g7lpl2jqdyb12av2-gettext-1.0-man /nix/store/wnma4l8bs6h5hc8w14kf1knx9hlrnmqj-gettext-1.0-man /nix/store/ybrvhx954gjnjw5zwqjqkn7b0v5jnwgb-gettext-1.0-man /nix/store/n4lwy41bnpq1fsqsrf5fac3m7vmhk6sr-gettext-1.0.tar.gz /nix/store/rp6yp8pwyv5g7da2q3v93spzcz9l97xz-glibc-iconv-2.42 /nix/store/wr2r2g3i449x10cdkfx8w7h0npkzdhgz-glibc-iconv-2.42 /nix/store/d8nx19vgfgdlvjzacxjh6ywli7m47m3j-glibc-locales-2.42-84 /nix/store/4aw0nhllh2rcx2rzihan8wxqlz8mn6nl-gmp-6.3.0 /nix/store/9gx0c7hgzi727v0bn3cr0gsqlls4a1c2-gmp-6.3.0-dev /nix/store/lcpkw2v3adb3sz86c0raalccsz2js0aw-gmp-6.3.0-dev /nix/store/228dkmpnmjvlkvd9sd1bhwy5slklj7ny-gmp-6.3.0-info /nix/store/f9gig0n76xy3w7w2f12djc4kqwi9d3q2-gmp-6.3.0-info /nix/store/4nrh39bnj2v76r7l5l964cpjq8rizr9z-gmp-with-cxx-6.3.0-dev /nix/store/8zgh07if8imcgmga3bdx0xidiwvapfyx-gmp-with-cxx-6.3.0-info /nix/store/36lhkhqlpzv77jmq3sbza6k6aw41269q-gnu-config-2024-01-01 /nix/store/3y4b4fagrqfh9lrag77dbk4f1gvhryvg-gnu-config-2024-01-01 /nix/store/59yr1mmqszazvc4iydqw0v59akbirfvx-gnu-config-2024-01-01 /nix/store/cahivfznj84i3j38w314x763xysnad03-gnu-config-2024-01-01 /nix/store/drk3ay5ng8l3178dmvlchzcwm1apgvjx-gnu-config-2024-01-01 /nix/store/p9nwhjvd3110jvykfxhm92dr4bbw50ai-gnu-config-2024-01-01 /nix/store/vd276i08v46qwfwc22j2mbm59i61x93f-gnum4-1.4.21 /nix/store/s5m56vybliqyjxf3pvlwgb0z0lz4kknj-gnumake-4.4.1-debug /nix/store/0f39iqy1ppdh5ylwhq6gd6dn1v72r49n-gnumake-4.4.1-doc /nix/store/3lkpyhqjkl0hi70nk3lc16hzk18gbjzf-gnumake-4.4.1-info /nix/store/9qpi99hrhkvr5kd8r7pb6cpgi62pvg4z-gnumake-4.4.1-man /nix/store/gpvyvajl1ix3zlizm97m9lknj3hkz9z7-gnutar-1.35-info /nix/store/pfn43jkn2m61863hab83zinmby8c05xb-grep-3.12.tar.xz /nix/store/14iyrl7hzinpfn9ijq1kx2pmwb9bcvaw-gzip-1.14.tar.xz /nix/store/b0qx3pfnacc253xz3ga1grcggjaq0lp5-isl-0.20 /nix/store/7r4544qhjy47dsnq5dfj4yarci3myfwh-jq-1.8.2.tar.gz /nix/store/bz2rifsn2cxh1n48ia4mk4hx98m90wwp-keyutils-1.6.3 /nix/store/pz23xs2cvs8wnmhxyj53ppzjqnmwylr2-keyutils-1.6.3-dev /nix/store/p4cg89sskx32y3zarhfmk1gab4mbbd7i-keyutils-1.6.3-man /nix/store/9n3d2g1pplp7bacghxkqb73z0fipgn2h-keyutils-1.6.3.tar.gz /nix/store/mqn63gvfy2rpzy4q15qx7jfwba82c7ap-krb5-1.22.2.tar.gz /nix/store/8b9fm6y8ipcqrvy6rmhar0bw7zga8c75-libidn2-2.3.8-bin /nix/store/6s0jkb6b0rx9kcc2q9afx1s4rimxjkmb-libidn2-2.3.8-dev /nix/store/hqyw5qlmpqj1x744587frv4jx902mc3b-libidn2-2.3.8-devdoc /nix/store/ifax3bhphaz86l8xsadxnlwzij26pc04-libidn2-2.3.8-info /nix/store/9dcs318zy7jbxz8kfdjnxd1c6s1xd2vy-libidn2-2.3.8.tar.gz /nix/store/vk2z0g8zljdm2smqdyrkm7d8b5md7a6r-libmpc-1.4.1 /nix/store/msjfdz91y6lwp3pg1cy90jgyq16m5pig-libssh-unconst-backport.patch /nix/store/9k0rxng3sy2j7kljjiacvlpzvj3iz126-libssh2-1.11.1-devdoc /nix/store/j04yfblg6sk5abb4n067xv0x0dfraf73-libssh2-1.11.1.tar.gz /nix/store/isk7r924vlw06zapr8ri97h7d679m6c4-libtool-2.6.2 /nix/store/rac2hrzkc76splxviw7cdix3k77ypqz4-libtool-2.6.2 /nix/store/gix3dksjx1f8nqdwip9pc3hg54p47sxy-libtool-2.6.2-lib /nix/store/fwa7npxvf1dqvnxk1ja2q1v1svbfqkiy-libtool-2.6.2.tar.gz /nix/store/fffvzqpayrqvy2x2dc5hnpyilvi3xs3q-libunistring-1.4.2-dev /nix/store/hsgncbqlb7a1ki2z9rffmbcz4z68z2a5-libunistring-1.4.2-doc /nix/store/73gbg9pmfb98zn3a8x0qyq1hhfpjjm6g-libunistring-1.4.2-info /nix/store/l6b9nvw7fhknbn8f4g7zgglg5y2cf5ki-libunistring-1.4.2.tar.gz /nix/store/7p96z4s3qmxr3h88n4vmcbk270bh991w-libxcrypt-4.5.2 /nix/store/63k5jv8v4iifsj6h49q65948414psz0x-libxcrypt-4.5.2-man /nix/store/mvcpr9cfsykaqrfrhc23xpaamx7aijl2-libxcrypt-4.5.2-man /nix/store/anjj2gxcivlzcpz0idsvz202i2vnxyn9-libxcrypt-4.5.2.tar.xz /nix/store/rbcgxa64v1mfn852zdfqf6glwnb1a335-linux-7.1.tar.xz /nix/store/hbnyb3ackfshs27qwdmv7g4khg2lsd0z-lzip-1.26 /nix/store/kb5xjrmd3iqzvq0d7bdghn53fz3rml5b-lzip-1.26-info /nix/store/mzpwfvh01jmlc6cvgysvcdjwp0g139dl-lzip-1.26-man /nix/store/gmrhyy2xvh667zsvjgiv00kj7y6ca8nc-lzip-1.26.tar.gz /nix/store/anb45hkjxj27r0z81fk85l15x1glrrgy-lzo-2.10-dev /nix/store/yz0slq7s5s7x48xbnf3vkbfmwakqdz09-m4-1.4.21.tar.bz2 /nix/store/j6m7d8aafqlz77waxiqisnkcwnmjh11i-make-shell-wrapper-hook /nix/store/zd9927kzcygs4p4fzc43d4wkdqdm4h72-mpc-1.4.1.tar.xz /nix/store/7qfrwsm3hr5rq1rnbzm1sic6i8lir5l1-mpfr-4.2.2 /nix/store/nn0fzm1adganr9y71d4n6a5jzwfs5lx2-mpfr-4.2.2-dev /nix/store/vhzd1jh24bf215nfksddv27zb23bdnm0-mpfr-4.2.2-dev /nix/store/39i60z1masydd2kmhi994ic6kvjys5dm-mpfr-4.2.2-doc /nix/store/r41svggh31x2jh5hwkn7b7554mfmpd1z-mpfr-4.2.2-doc /nix/store/2whjy44qwzay783jvvng61y9xwgib0n8-mpfr-4.2.2-info /nix/store/dln5nd3s7qn9y1jd025d3i2ikkfz1jrb-mpfr-4.2.2-info /nix/store/92vinq6gfq5afkjc870g6y301mmf1vqq-mpfr-4.2.2.tar.xz /nix/store/1hkx09zxzwwhqwnr5rdi7r2v7jbiki00-ncurses-6.6.tar.gz /nix/store/h3b8c19naiqjif6jl10rcsqdfssbyl6z-nghttp2-1.70.0-doc /nix/store/q2mf3jpv7ml95kpha3ydm80n02ynr92i-nghttp2-1.70.0-man /nix/store/p2ll1dnghhlljhl8x927md5v0nz8wz15-nghttp2-1.70.0.tar.bz2 /nix/store/9x37rszxljzra6h1myk1pbnc60lca2z8-onig-6.9.10.tar.gz /nix/store/v3wxyqw7pbc1mk257z93man04g9nckzx-oniguruma-6.9.10 /nix/store/7a9m55790lr1z0fhp1dm1b4rr1vlnwkq-oniguruma-6.9.10-dev /nix/store/fc9hcjdpd5h6081qrvpwfg8qlbcb0qqi-openssl-3.6.3-debug /nix/store/wn4ylhj8986b0f9lji6vz2iykjiwvnzd-openssl-3.6.3-doc /nix/store/zyp4xvnm4980rxb42qnxirk4pkl0r7ph-openssl-3.6.3-man /nix/store/xgrbwv44bryksd740fzn51rb1fkz0zw1-patch-2.8.tar.xz /nix/store/47ias8i62118bpdq9f2my2q5lgpmr8ad-patchelf-0.15.2 /nix/store/6p5772sxp7fnssjazix52bwmx4wbhx02-patchelf-0.15.2 /nix/store/9bangizlrzva6iv0ldyk51dq0j95d1ix-patchelf-0.15.2.tar.bz2 /nix/store/mkb1w2l7fa1f4jnycnxr7ifjj8xn9dfk-pcre2-10.47-bin /nix/store/zi3307q6sb7lkiqsg5qplvm0kxp025rw-pcre2-10.47-dev /nix/store/qxnbsa6jgx7mz78mn9fgvz5caxrbvjv3-pcre2-10.47-devdoc /nix/store/f5b9aj7zqb9i7mhs1qk1919xq98j9ly0-pcre2-10.47-doc /nix/store/5jyp12y1fc3dfwrx9w8zvlxw31p7aynn-pcre2-10.47-man /nix/store/digiksl4wx0vsnmb2rk8gz7525xkfbn2-pcre2-10.47.tar.bz2 /nix/store/msprbjafsnpcb71lzx1r3c38c51wi9si-perl-5.42.3 /nix/store/yrpygwnsgrcbzg8bacqzxpmq2l1bsw79-perl-5.42.3 /nix/store/11yj6yqfy1akx2vpnhrqd73bf4a00pma-perl-5.42.3-devdoc /nix/store/7j1jipwb73nff278392xhyhxaa8bp0ni-perl-5.42.3-devdoc /nix/store/f2lc0x5rk9iyvqqrddpjwgma7d8l04c8-perl-5.42.3-man /nix/store/nwhvd2q0w0wl7m0y5zsj7q0b8vppmm7x-perl-5.42.3-man /nix/store/m2qam71fmv9f8vyliw7741lr87mbxcwk-perl-5.42.3.tar.gz /nix/store/lh83q74s7b0gra0rvnq3m8hbqizd7bn1-pkg-config-0.29.2 /nix/store/pfipady03a7vrf2kjz7zgw487c3kacmd-pkg-config-0.29.2-doc /nix/store/99jglkgingr936z0ssj5qkhrr7ckgngj-pkg-config-0.29.2-man /nix/store/26mz1x3a55x1y4611asrl2ylphip58xg-pkg-config-role-hook /nix/store/s8wr06w34m9401n2j21z6mwvj3qafv95-pkg-config-role-hook /nix/store/00nbqf5q2dap5f0ff9bqqhvq44kp4dzj-pkg-config-wrapper-0.29.2 /nix/store/zdl9pvr0x1g37pj91gagx4n3w6r43qcy-pkg-config-wrapper-0.29.2-doc /nix/store/wwki82awym07ah6n5p0i6llli2x5s5wg-pkg-config-wrapper-0.29.2-man /nix/store/8dhgnj0y5fwa0n7rxcrrfpgxmpbfqji7-pkgs-config-setup-hook /nix/store/dra3kv5msxrvsn7wa4sf47pbgbh2ss9h-pkgs-config-setup-hook /nix/store/jcd63gmpykq5nb36jygvnqw174hwd3hm-python-setup-hook.sh /nix/store/1pwdzh9hwxg8b0gawwg1jlwifg0bssqk-python3-minimal-3.14.7 /nix/store/7d0r1ldn5bxwq5j0ifarqmf4lai1kk3h-python3-minimal-3.14.7-debug /nix/store/d1xybymfx4ad0hy6zv97walg9v1dyzn6-raw /nix/store/4wzrbkgi3m2dz7acyg2224l2kw7f1pc2-readline-8.3.tar.gz /nix/store/99wgsiddc5lamkm8pfvzcsfg9lmk6v3h-readline-8.3p3-dev /nix/store/a6wrjs53px97jqv3m2jn8spnjwq9aiaa-readline-8.3p3-doc /nix/store/m015z9cgfrxkjyhg4x9d568dalkrcnn7-readline-8.3p3-info /nix/store/bv7a0zqch8d7byyfnmk9dmsvy22ywjyj-readline-8.3p3-man /nix/store/x8zb2br5nij14z3a8yki2yah25yd3pya-readline83-001 /nix/store/1h5gwlz694q7f6xx4kbawd7pclhpx445-readline83-002 /nix/store/innmm701wrlp2yqk6gr08487f6m60219-readline83-003 /nix/store/qhsid8byfazk5lhijzmpf8m07l8y1pz9-ronn-0.10.1 /nix/store/c9pb8dpbkjmmj8nqsgwd5lvi8b6ax5p1-ronn-gems /nix/store/qnc9qf1r9vv8kr2pk0axrrf6sgyzwmhw-ruby-3.4.9 /nix/store/909p8pr8n418lp3vg44qksmcsx1fiwy6-ruby3.4-kramdown-2.4.0 /nix/store/xq14f3m7ii0ycm3daz2153jynhs6gmzq-ruby3.4-kramdown-parser-gfm-1.1.0 /nix/store/g72ylnsxqhjda6xrnzwn5020r8l3rzgq-ruby3.4-mini_portile2-2.8.5 /nix/store/iscl1i7kb8abyphdp6yk51bn54x6b43y-ruby3.4-mustache-1.1.1 /nix/store/9j5ajv6hmavwiixm1afwskpfqrd9iv3n-ruby3.4-nokogiri-1.16.0 /nix/store/0cbj2xyl9mj69h3l0fqj46jc8apkwkvv-ruby3.4-racc-1.7.3 /nix/store/4cvb4k31hxpmxc1d9rgf4jqhjd5yhhrv-ruby3.4-rexml-3.2.6 /nix/store/ijmbm2nwjgq1n4crkrv51az8vdi6lbm5-ruby3.4-ronn-ng-0.10.1 /nix/store/d6bnbpk6jr95frzmmksda4r7l3v8d3m6-rustc-wrapper-1.97.1 /nix/store/a5hkzs9jfiznvba626wxjyh0yak141gk-sed-4.10.tar.xz /nix/store/4gnzjfsvpfbr3p114wlmlan3pgp5nf63-texinfo-7.3 /nix/store/ghn58f3zc4rsalnjxhd4l6x2cycrq392-texinfo-7.3 /nix/store/pcfk28ylzwz85awchbc78q3h8rhdqslq-texinfo-7.3 /nix/store/c008vhzs1qg4pw0p77cawapgw63bviis-texinfo-7.3.tar.xz /nix/store/ljhn3pc1s4g24xj03yqiyv1vqgb2cmh1-tzcode2026c.tar.gz /nix/store/6x8br09zq8bmb6abj5p7jx24kcz6nm34-tzdata2026c.tar.gz /nix/store/hx8qiah9cihg31x29xg4b2jd8j65m3mc-unzip-6.0 /nix/store/4vnwka7gyn6jf1jwakyrb95bkw8psr7r-update-autotools-gnu-config-scripts-hook /nix/store/5qlzi1i3kdxm916hrmszlsz1q4vbqwr2-update-autotools-gnu-config-scripts-hook /nix/store/vv67dbgnn80h51jsnf1r8b4jwwj3nb08-update-autotools-gnu-config-scripts-hook /nix/store/yvg8xfy67v607z9y34d51kxhznl0dhy6-update-autotools-gnu-config-scripts-hook /nix/store/yxyfaqia6zyy2zd43c3ibg283sxblrrc-update-autotools-gnu-config-scripts-hook /nix/store/zmbr43x646vv9vwgs0bqwavh3dmg703b-update-autotools-gnu-config-scripts-hook /nix/store/al6nf3ylbd9amn3w8ii93cxwch9anjhd-version-check-hook /nix/store/ipqb4b2ysdskrgyrs4s5svyr28v3wx8j-which-2.25 /nix/store/qx7idyx837mkl0hyyicyx21v0p125m5m-which-2.25-info /nix/store/w4ak4yxfxjfh3dbj03ggak2ysdfw3qpi-which-2.25-man /nix/store/vwg6xrgr2874vc5d63r1h8flzbbvq834-which-2.25.tar.gz /nix/store/ragrabxh5bsyxxc7vhwygy7rlvnxrzgp-xgcc-15.3.0 /nix/store/za37hpw15q4lsy0p9qrwfk0p3n6hyv6r-xgcc-15.3.0-checksum /nix/store/d1jrma57g5pl5cq1kcshdnghx7wqibnd-xgcc-15.3.0-info /nix/store/dnf20gjcpag6hszjbw6vlvcvng0ywc8v-xgcc-15.3.0-lib /nix/store/qcnbw47p0ihxqaha6lxcnbcqm0b3x0q9-xgcc-15.3.0-man /nix/store/acdmwcrmas6pf93mkfgzk9lld6pg7kfg-xz-5.8.3 /nix/store/6n5x8v4mnv07v71j62i9lnfgvj1fql8d-xz-5.8.3-bin /nix/store/ykm4sc7cykw9ih2da8ggw49wsnmzz2v5-xz-5.8.3-dev /nix/store/rg0s0x1kbfxfhwj2s9cqi93g3kqh4ilg-xz-5.8.3-doc /nix/store/50hgjfnid4gxw9081abspn8wmrjhkwf0-xz-5.8.3-man /nix/store/8lhpgg9y4y12d4d7fzp8lkp61mbnqg74-xz-5.8.3.tar.xz /nix/store/vjiam5iq5dj68abf29g1kkqsc9q2yz7m-zlib-1.3.2 /nix/store/p4ladfwzlkqhp35ppb2ajl5jz2q65nxj-zlib-1.3.2-dev /nix/store/xbi0xyc9syymzhwy9kpld3cph3cz0r6v-zlib-1.3.2-static /nix/store/13vkic2v8zac4m6p38asdhasb3xylv07-zlib-1.3.2.tar.gz building '/nix/store/wzlvbr2g0crkijsw46sfhzfh0z4a3g5y-clan-core-flake.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/n2ncl8591xv86my02rmaalhgmaj9kqqc-add-flags.sh.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/wr5ab14vzp9pdgjsa00ggn96jn8b28ck-perl-5.42.3-env.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/1nbb40q23hm4fvf7v690ranrxq9mrxih-remove-references-to.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/iaj9rfm6crcahcw612qsya8vj09yr9fx-utils.bash.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/d5x4rdpbczqrjmimmgiby9hz789xba9q-zerotier-tools-0.1.0.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/n2ncl8591xv86my02rmaalhgmaj9kqqc-add-flags.sh.drv' add-flags.sh> Running phase: patchPhase add-flags.sh> Running phase: updateAutotoolsGnuConfigScriptsPhase add-flags.sh> Running phase: configurePhase add-flags.sh> no configure script, doing nothing add-flags.sh> Running phase: buildPhase add-flags.sh> Running phase: checkPhase add-flags.sh> Running phase: installPhase add-flags.sh> no Makefile or custom installPhase, doing nothing add-flags.sh> Running phase: fixupPhase building '/nix/store/1nbb40q23hm4fvf7v690ranrxq9mrxih-remove-references-to.drv' add-flags.sh> shrinking RPATHs of ELF executables and libraries in /nix/store/ynf7bf2kp4nlrrzn1xd9mmfkndlj5azz-add-flags.sh add-flags.sh> checking for references to /build/ in /nix/store/ynf7bf2kp4nlrrzn1xd9mmfkndlj5azz-add-flags.sh... building '/nix/store/iaj9rfm6crcahcw612qsya8vj09yr9fx-utils.bash.drv' add-flags.sh> patching script interpreter paths in /nix/store/ynf7bf2kp4nlrrzn1xd9mmfkndlj5azz-add-flags.sh building '/nix/store/wr5ab14vzp9pdgjsa00ggn96jn8b28ck-perl-5.42.3-env.drv' perl-5.42.3-env> structuredAttrs is enabled remove-references-to> Running phase: patchPhase remove-references-to> Running phase: updateAutotoolsGnuConfigScriptsPhase remove-references-to> Running phase: configurePhase utils.bash> Running phase: patchPhase utils.bash> Running phase: updateAutotoolsGnuConfigScriptsPhase remove-references-to> no configure script, doing nothing remove-references-to> Running phase: buildPhase utils.bash> Running phase: configurePhase remove-references-to> Running phase: checkPhase utils.bash> no configure script, doing nothing remove-references-to> Running phase: installPhase utils.bash> Running phase: buildPhase remove-references-to> no Makefile or custom installPhase, doing nothing remove-references-to> Running phase: fixupPhase utils.bash> Running phase: checkPhase utils.bash> Running phase: installPhase utils.bash> no Makefile or custom installPhase, doing nothing utils.bash> Running phase: fixupPhase remove-references-to> shrinking RPATHs of ELF executables and libraries in /nix/store/hzvngzlslv8fsanyffzyfycw04mf3lxb-remove-references-to remove-references-to> checking for references to /build/ in /nix/store/hzvngzlslv8fsanyffzyfycw04mf3lxb-remove-references-to... remove-references-to> patching script interpreter paths in /nix/store/hzvngzlslv8fsanyffzyfycw04mf3lxb-remove-references-to utils.bash> shrinking RPATHs of ELF executables and libraries in /nix/store/w6m6ipnwdc6yny506kzgbs1w847wj023-utils.bash utils.bash> checking for references to /build/ in /nix/store/w6m6ipnwdc6yny506kzgbs1w847wj023-utils.bash... utils.bash> patching script interpreter paths in /nix/store/w6m6ipnwdc6yny506kzgbs1w847wj023-utils.bash perl-5.42.3-env> created 184 symlinks in user environment building '/nix/store/d5x4rdpbczqrjmimmgiby9hz789xba9q-zerotier-tools-0.1.0.drv' zerotier-tools-0.1.0> Sourcing python-remove-tests-dir-hook zerotier-tools-0.1.0> Sourcing python-catch-conflicts-hook.sh zerotier-tools-0.1.0> Sourcing python-remove-bin-bytecode-hook.sh zerotier-tools-0.1.0> Sourcing pypa-build-hook zerotier-tools-0.1.0> Using pypaBuildPhase zerotier-tools-0.1.0> Sourcing python-runtime-deps-check-hook zerotier-tools-0.1.0> Using pythonRuntimeDepsCheckHook zerotier-tools-0.1.0> Sourcing pypa-install-hook zerotier-tools-0.1.0> Using pypaInstallPhase zerotier-tools-0.1.0> Sourcing python-imports-check-hook.sh zerotier-tools-0.1.0> Using pythonImportsCheckPhase building '/nix/store/wzlvbr2g0crkijsw46sfhzfh0z4a3g5y-clan-core-flake.drv' zerotier-tools-0.1.0> Sourcing python-namespaces-hook zerotier-tools-0.1.0> Sourcing python-catch-conflicts-hook.sh zerotier-tools-0.1.0> Running phase: unpackPhase zerotier-tools-0.1.0> unpacking source archive /nix/store/bbxl58w1ivpmq3xl23v3vn4az2npdk8c-zerotier-tools zerotier-tools-0.1.0> source root is zerotier-tools zerotier-tools-0.1.0> setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "zerotier-tools/zerotier_tools/members.py" zerotier-tools-0.1.0> Running phase: patchPhase zerotier-tools-0.1.0> Running phase: updateAutotoolsGnuConfigScriptsPhase zerotier-tools-0.1.0> Running phase: configurePhase clan-core-flake> warning: you don't have Internet access; disabling some network-dependent features zerotier-tools-0.1.0> no configure script, doing nothing zerotier-tools-0.1.0> Running phase: buildPhase zerotier-tools-0.1.0> Executing pypaBuildPhase zerotier-tools-0.1.0> Creating a wheel... zerotier-tools-0.1.0> pypa build flags: --no-isolation --outdir dist/ --wheel clan-core-flake> warning: you don't have Internet access; disabling some network-dependent features clan-core-flake> zerotier-tools-0.1.0> * Getting build dependencies for wheel... zerotier-tools-0.1.0> running egg_info zerotier-tools-0.1.0> creating zerotier_tools.egg-info zerotier-tools-0.1.0> writing zerotier_tools.egg-info/PKG-INFO zerotier-tools-0.1.0> writing dependency_links to zerotier_tools.egg-info/dependency_links.txt zerotier-tools-0.1.0> writing entry points to zerotier_tools.egg-info/entry_points.txt zerotier-tools-0.1.0> writing top-level names to zerotier_tools.egg-info/top_level.txt zerotier-tools-0.1.0> writing manifest file 'zerotier_tools.egg-info/SOURCES.txt' zerotier-tools-0.1.0> reading manifest file 'zerotier_tools.egg-info/SOURCES.txt' zerotier-tools-0.1.0> writing manifest file 'zerotier_tools.egg-info/SOURCES.txt' zerotier-tools-0.1.0> * Building wheel... zerotier-tools-0.1.0> running bdist_wheel zerotier-tools-0.1.0> running build zerotier-tools-0.1.0> running build_py zerotier-tools-0.1.0> creating build/lib/zerotier_tools zerotier-tools-0.1.0> copying zerotier_tools/__init__.py -> build/lib/zerotier_tools zerotier-tools-0.1.0> copying zerotier_tools/generate.py -> build/lib/zerotier_tools zerotier-tools-0.1.0> copying zerotier_tools/members.py -> build/lib/zerotier_tools zerotier-tools-0.1.0> running egg_info zerotier-tools-0.1.0> writing zerotier_tools.egg-info/PKG-INFO zerotier-tools-0.1.0> writing dependency_links to zerotier_tools.egg-info/dependency_links.txt zerotier-tools-0.1.0> writing entry points to zerotier_tools.egg-info/entry_points.txt zerotier-tools-0.1.0> writing top-level names to zerotier_tools.egg-info/top_level.txt zerotier-tools-0.1.0> reading manifest file 'zerotier_tools.egg-info/SOURCES.txt' zerotier-tools-0.1.0> writing manifest file 'zerotier_tools.egg-info/SOURCES.txt' zerotier-tools-0.1.0> installing to build/bdist.linux-aarch64/wheel zerotier-tools-0.1.0> running install zerotier-tools-0.1.0> running install_lib zerotier-tools-0.1.0> creating build/bdist.linux-aarch64/wheel zerotier-tools-0.1.0> creating build/bdist.linux-aarch64/wheel/zerotier_tools zerotier-tools-0.1.0> copying build/lib/zerotier_tools/__init__.py -> build/bdist.linux-aarch64/wheel/./zerotier_tools zerotier-tools-0.1.0> copying build/lib/zerotier_tools/generate.py -> build/bdist.linux-aarch64/wheel/./zerotier_tools zerotier-tools-0.1.0> copying build/lib/zerotier_tools/members.py -> build/bdist.linux-aarch64/wheel/./zerotier_tools zerotier-tools-0.1.0> running install_egg_info zerotier-tools-0.1.0> Copying zerotier_tools.egg-info to build/bdist.linux-aarch64/wheel/./zerotier_tools-0.1.0-py3.14.egg-info zerotier-tools-0.1.0> running install_scripts zerotier-tools-0.1.0> creating build/bdist.linux-aarch64/wheel/zerotier_tools-0.1.0.dist-info/WHEEL zerotier-tools-0.1.0> creating '/build/zerotier-tools/dist/.tmp-v1ff7xat/zerotier_tools-0.1.0-py3-none-any.whl' and adding 'build/bdist.linux-aarch64/wheel' to it zerotier-tools-0.1.0> adding 'zerotier_tools/__init__.py' zerotier-tools-0.1.0> adding 'zerotier_tools/generate.py' zerotier-tools-0.1.0> adding 'zerotier_tools/members.py' zerotier-tools-0.1.0> adding 'zerotier_tools-0.1.0.dist-info/METADATA' zerotier-tools-0.1.0> adding 'zerotier_tools-0.1.0.dist-info/WHEEL' zerotier-tools-0.1.0> adding 'zerotier_tools-0.1.0.dist-info/entry_points.txt' zerotier-tools-0.1.0> adding 'zerotier_tools-0.1.0.dist-info/top_level.txt' zerotier-tools-0.1.0> adding 'zerotier_tools-0.1.0.dist-info/RECORD' zerotier-tools-0.1.0> removing build/bdist.linux-aarch64/wheel zerotier-tools-0.1.0> Successfully built zerotier_tools-0.1.0-py3-none-any.whl zerotier-tools-0.1.0> Finished creating a wheel... zerotier-tools-0.1.0> Finished executing pypaBuildPhase zerotier-tools-0.1.0> Running phase: pythonRuntimeDepsCheckHook zerotier-tools-0.1.0> Executing pythonRuntimeDepsCheck zerotier-tools-0.1.0> Checking runtime dependencies for zerotier_tools-0.1.0-py3-none-any.whl zerotier-tools-0.1.0> Finished executing pythonRuntimeDepsCheck zerotier-tools-0.1.0> Running phase: installPhase zerotier-tools-0.1.0> Executing pypaInstallPhase zerotier-tools-0.1.0> Successfully installed zerotier_tools-0.1.0-py3-none-any.whl zerotier-tools-0.1.0> Finished executing pypaInstallPhase zerotier-tools-0.1.0> Running phase: pythonOutputDistPhase zerotier-tools-0.1.0> Executing pythonOutputDistPhase zerotier-tools-0.1.0> Finished executing pythonOutputDistPhase zerotier-tools-0.1.0> Running phase: fixupPhase zerotier-tools-0.1.0> shrinking RPATHs of ELF executables and libraries in /nix/store/gjshdnyi49p49f2pmrk51vkiir5iijzm-zerotier-tools-0.1.0 zerotier-tools-0.1.0> checking for references to /build/ in /nix/store/gjshdnyi49p49f2pmrk51vkiir5iijzm-zerotier-tools-0.1.0... zerotier-tools-0.1.0> patching script interpreter paths in /nix/store/gjshdnyi49p49f2pmrk51vkiir5iijzm-zerotier-tools-0.1.0 zerotier-tools-0.1.0> stripping (with command strip and flags -S -p) in /nix/store/gjshdnyi49p49f2pmrk51vkiir5iijzm-zerotier-tools-0.1.0/lib /nix/store/gjshdnyi49p49f2pmrk51vkiir5iijzm-zerotier-tools-0.1.0/bin zerotier-tools-0.1.0> shrinking RPATHs of ELF executables and libraries in /nix/store/00bfzb7dn3xwd239pr6g0gv76kgv9mz4-zerotier-tools-0.1.0-dist zerotier-tools-0.1.0> checking for references to /build/ in /nix/store/00bfzb7dn3xwd239pr6g0gv76kgv9mz4-zerotier-tools-0.1.0-dist... zerotier-tools-0.1.0> patching script interpreter paths in /nix/store/00bfzb7dn3xwd239pr6g0gv76kgv9mz4-zerotier-tools-0.1.0-dist zerotier-tools-0.1.0> Rewriting #!/nix/store/lfh101cfjj8p8npcari9hk0lbqi33yvh-python3-3.14.7/bin/python3.14 to #!/nix/store/lfh101cfjj8p8npcari9hk0lbqi33yvh-python3-3.14.7 zerotier-tools-0.1.0> wrapping `/nix/store/gjshdnyi49p49f2pmrk51vkiir5iijzm-zerotier-tools-0.1.0/bin/zerotier-members'... zerotier-tools-0.1.0> Rewriting #!/nix/store/lfh101cfjj8p8npcari9hk0lbqi33yvh-python3-3.14.7/bin/python3.14 to #!/nix/store/lfh101cfjj8p8npcari9hk0lbqi33yvh-python3-3.14.7 zerotier-tools-0.1.0> wrapping `/nix/store/gjshdnyi49p49f2pmrk51vkiir5iijzm-zerotier-tools-0.1.0/bin/zerotier-generate'... zerotier-tools-0.1.0> Executing pythonRemoveTestsDir zerotier-tools-0.1.0> Finished executing pythonRemoveTestsDir zerotier-tools-0.1.0> Running phase: installCheckPhase zerotier-tools-0.1.0> no Makefile or custom installCheckPhase, doing nothing zerotier-tools-0.1.0> Running phase: pythonCatchConflictsPhase zerotier-tools-0.1.0> Running phase: pythonRemoveBinBytecodePhase zerotier-tools-0.1.0> Running phase: pythonImportsCheckPhase zerotier-tools-0.1.0> Executing pythonImportsCheckPhase building '/nix/store/25n5w4754gn1mil9hq6azkh7rrli5ag1-setup-hook.sh.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/kw9a40xhrliw8j5mkya0cr5lfldr5xzp-add-flags.sh.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/7k91qs7q23bxdn1z5p0n56lfqrn59bdh-locales-setup-hook.sh.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/03r58jll8vfi18nlqca876gny1vfq9y7-utils.bash.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/dkzqzfrk3y8g9ka738s9pv6jh2hvg79a-nuke-refs.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/25n5w4754gn1mil9hq6azkh7rrli5ag1-setup-hook.sh.drv' setup-hook.sh> Running phase: patchPhase setup-hook.sh> Running phase: updateAutotoolsGnuConfigScriptsPhase setup-hook.sh> Running phase: configurePhase setup-hook.sh> no configure script, doing nothing setup-hook.sh> Running phase: buildPhase setup-hook.sh> Running phase: checkPhase setup-hook.sh> Running phase: installPhase setup-hook.sh> no Makefile or custom installPhase, doing nothing setup-hook.sh> Running phase: fixupPhase setup-hook.sh> checking for references to /build/ in /nix/store/7ypkg4y026kwzz0czrqns25bhc212wqd-setup-hook.sh... building '/nix/store/kw9a40xhrliw8j5mkya0cr5lfldr5xzp-add-flags.sh.drv' building '/nix/store/7k91qs7q23bxdn1z5p0n56lfqrn59bdh-locales-setup-hook.sh.drv' add-flags.sh> Running phase: patchPhase add-flags.sh> Running phase: updateAutotoolsGnuConfigScriptsPhase add-flags.sh> Running phase: configurePhase add-flags.sh> no configure script, doing nothing add-flags.sh> Running phase: buildPhase add-flags.sh> Running phase: checkPhase add-flags.sh> Running phase: installPhase add-flags.sh> no Makefile or custom installPhase, doing nothing add-flags.sh> Running phase: fixupPhase add-flags.sh> shrinking RPATHs of ELF executables and libraries in /nix/store/73705d7zc72pqj2i5xbc1cjsiba2zdx6-add-flags.sh add-flags.sh> checking for references to /build/ in /nix/store/73705d7zc72pqj2i5xbc1cjsiba2zdx6-add-flags.sh... building '/nix/store/03r58jll8vfi18nlqca876gny1vfq9y7-utils.bash.drv' utils.bash> Running phase: patchPhase utils.bash> Running phase: updateAutotoolsGnuConfigScriptsPhase utils.bash> Running phase: configurePhase utils.bash> no configure script, doing nothing utils.bash> Running phase: buildPhase utils.bash> Running phase: checkPhase utils.bash> Running phase: installPhase utils.bash> no Makefile or custom installPhase, doing nothing utils.bash> Running phase: fixupPhase utils.bash> shrinking RPATHs of ELF executables and libraries in /nix/store/1if6fbwwrfxk5xlxlb7yipfka231yhx8-utils.bash utils.bash> checking for references to /build/ in /nix/store/1if6fbwwrfxk5xlxlb7yipfka231yhx8-utils.bash... building '/nix/store/xvqk1jry9d9azkcxr459hizrz0ncq7mx-zerotierone-1.16.0.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/dkzqzfrk3y8g9ka738s9pv6jh2hvg79a-nuke-refs.drv' nuke-refs> Running phase: patchPhase nuke-refs> Running phase: updateAutotoolsGnuConfigScriptsPhase nuke-refs> Running phase: configurePhase nuke-refs> no configure script, doing nothing nuke-refs> Running phase: buildPhase nuke-refs> Running phase: checkPhase nuke-refs> Running phase: installPhase nuke-refs> no Makefile or custom installPhase, doing nothing nuke-refs> Running phase: fixupPhase nuke-refs> checking for references to /build/ in /nix/store/ndn8rpyajwiqw6c855hfbqmk1kfr5r8d-nuke-refs... building '/nix/store/xvqk1jry9d9azkcxr459hizrz0ncq7mx-zerotierone-1.16.0.drv' zerotierone-1.16.0> Running phase: unpackPhase zerotierone-1.16.0> unpacking source archive /nix/store/qxr9703hw3pa7781vv44hlshwav2qslj-source zerotierone-1.16.0> source root is source zerotierone-1.16.0> Executing cargoSetupPostUnpackHook zerotierone-1.16.0> Finished cargoSetupPostUnpackHook zerotierone-1.16.0> Running phase: patchPhase zerotierone-1.16.0> applying patch /nix/store/hj197myrwcrinylkdprnlykv8l885jw9-0001-darwin-disable-link-time-optimization.patch zerotierone-1.16.0> patching file make-mac.mk zerotierone-1.16.0> applying patch /nix/store/al59jkmz51lgv3rwmx8bscpx12vmfqrq-0002-Support-single-arch-builds-on-macOS.patch zerotierone-1.16.0> patching file make-mac.mk zerotierone-1.16.0> Executing cargoSetupPostPatchHook zerotierone-1.16.0> Validating consistency between /build/source/Cargo.lock and /build/cargo-deps-vendor/Cargo.lock zerotierone-1.16.0> Finished cargoSetupPostPatchHook zerotierone-1.16.0> Running phase: updateAutotoolsGnuConfigScriptsPhase zerotierone-1.16.0> Updating Autotools / GNU config script to a newer upstream version: ./ext/libpqxx-7.7.3/config/config.sub zerotierone-1.16.0> Updating Autotools / GNU config script to a newer upstream version: ./ext/libpqxx-7.7.3/config/config.guess zerotierone-1.16.0> Running phase: configurePhase zerotierone-1.16.0> patching script interpreter paths in ./doc/build.sh zerotierone-1.16.0> ./doc/build.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/z3x2qxagi8wqfx9n59frhdyml7njr9z2-bash-5.3p15/bin/bash" zerotierone-1.16.0> substituteStream() in derivation zerotierone-1.16.0: WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. (file './doc/build.sh') zerotierone-1.16.0> fixing libtool script ./ext/libpqxx-7.7.3/config/ltmain.sh zerotierone-1.16.0> ./ext/libpqxx-7.7.3/configure zerotierone-1.16.0> no configure script, doing nothing zerotierone-1.16.0> Running phase: buildPhase zerotierone-1.16.0> build flags: -j80 SHELL=/nix/store/z3x2qxagi8wqfx9n59frhdyml7njr9z2-bash-5.3p15/bin/bash all selftest ZT_NONFREE=1 zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/AES.o node/AES.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/AES_aesni.o node/AES_aesni.cpp zerotierone-1.16.0> OpenTelemetry exporter not enabled, skipping build. zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/AES_armcrypto.o node/AES_armcrypto.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/ECC.o node/ECC.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Capability.o node/Capability.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/CertificateOfMembership.o node/CertificateOfMembership.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/CertificateOfOwnership.o node/CertificateOfOwnership.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Identity.o node/Identity.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/IncomingPacket.o node/IncomingPacket.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/InetAddress.o node/InetAddress.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Membership.o node/Membership.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Metrics.o node/Metrics.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Multicaster.o node/Multicaster.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Network.o node/Network.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/NetworkConfig.o node/NetworkConfig.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Node.o node/Node.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/OutboundMulticast.o node/OutboundMulticast.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Packet.o node/Packet.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Path.o node/Path.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Peer.o node/Peer.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Poly1305.o node/Poly1305.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Revocation.o node/Revocation.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Salsa20.o node/Salsa20.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/SelfAwareness.o node/SelfAwareness.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/SHA512.o node/SHA512.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Switch.o node/Switch.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Tag.o node/Tag.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Topology.o node/Topology.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Trace.o node/Trace.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Utils.o node/Utils.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/Bond.o node/Bond.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o node/PacketMultiplexer.o node/PacketMultiplexer.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o osdep/OSUtils.o osdep/OSUtils.cpp zerotierone-1.16.0> export PATH=//homeless-shelter/.cargo/bin:$PATH; cd rustybits && cargo build --release -p zeroidc zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o one.o one.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o selftest.o selftest.cpp zerotierone-1.16.0> Compiling proc-macro2 v1.0.101 zerotierone-1.16.0> Compiling unicode-ident v1.0.18 zerotierone-1.16.0> Compiling libc v0.2.175 zerotierone-1.16.0> Compiling cfg-if v1.0.3 zerotierone-1.16.0> Compiling zeroize v1.8.1 zerotierone-1.16.0> Compiling typenum v1.18.0 zerotierone-1.16.0> Compiling version_check v0.9.5 zerotierone-1.16.0> Compiling const-oid v0.9.6 zerotierone-1.16.0> Compiling subtle v2.6.1 zerotierone-1.16.0> Compiling autocfg v1.5.0 zerotierone-1.16.0> Compiling stable_deref_trait v1.2.0 zerotierone-1.16.0> Compiling base64ct v1.8.0 zerotierone-1.16.0> Compiling serde v1.0.219 zerotierone-1.16.0> Compiling find-msvc-tools v0.1.0 zerotierone-1.16.0> Compiling shlex v1.3.0 zerotierone-1.16.0> Compiling pkg-config v0.3.32 zerotierone-1.16.0> Compiling itoa v1.0.15 zerotierone-1.16.0> Compiling pin-project-lite v0.2.16 zerotierone-1.16.0> Compiling libm v0.2.15 zerotierone-1.16.0> Compiling vcpkg v0.2.15 zerotierone-1.16.0> Compiling bytes v1.10.1 zerotierone-1.16.0> Compiling once_cell v1.21.3 zerotierone-1.16.0> Compiling serde_json v1.0.143 zerotierone-1.16.0> Compiling writeable v0.6.1 zerotierone-1.16.0> Compiling litemap v0.8.0 zerotierone-1.16.0> Compiling smallvec v1.15.1 zerotierone-1.16.0> Compiling icu_normalizer_data v2.0.0 zerotierone-1.16.0> Compiling futures-core v0.3.31 zerotierone-1.16.0> Compiling zerocopy v0.8.26 zerotierone-1.16.0> Compiling icu_properties_data v2.0.1 zerotierone-1.16.0> Compiling memchr v2.7.5 zerotierone-1.16.0> Compiling fnv v1.0.7 zerotierone-1.16.0> Compiling semver v1.0.26 zerotierone-1.16.0> Compiling openssl v0.10.73 zerotierone-1.16.0> Compiling foreign-types-shared v0.1.1 zerotierone-1.16.0> Compiling slab v0.4.11 zerotierone-1.16.0> Compiling equivalent v1.0.2 zerotierone-1.16.0> Compiling futures-task v0.3.31 zerotierone-1.16.0> Compiling futures-io v0.3.31 zerotierone-1.16.0> Compiling futures-sink v0.3.31 zerotierone-1.16.0> Compiling native-tls v0.2.14 zerotierone-1.16.0> Compiling bitflags v2.9.4 zerotierone-1.16.0> Compiling base16ct v0.2.0 zerotierone-1.16.0> Compiling foreign-types v0.3.2 zerotierone-1.16.0> Compiling httparse v1.10.1 zerotierone-1.16.0> Compiling pin-utils v0.1.0 zerotierone-1.16.0> Compiling hashbrown v0.15.5 zerotierone-1.16.0> Compiling strsim v0.11.1 zerotierone-1.16.0> Compiling log v0.4.28 zerotierone-1.16.0> Compiling openssl-probe v0.1.6 zerotierone-1.16.0> Compiling ident_case v1.0.1 zerotierone-1.16.0> Compiling ryu v1.0.20 zerotierone-1.16.0> Compiling getrandom v0.3.3 zerotierone-1.16.0> Compiling cc v1.2.35 zerotierone-1.16.0> Compiling rustix v1.0.8 zerotierone-1.16.0> Compiling percent-encoding v2.3.2 zerotierone-1.16.0> Compiling try-lock v0.2.5 zerotierone-1.16.0> Compiling futures-channel v0.3.31 zerotierone-1.16.0> Compiling linux-raw-sys v0.9.4 zerotierone-1.16.0> Compiling tower-service v0.3.3 zerotierone-1.16.0> Compiling utf8_iter v1.0.4 zerotierone-1.16.0> Compiling want v0.3.1 zerotierone-1.16.0> Compiling unicode-width v0.1.14 zerotierone-1.16.0> Compiling tracing-core v0.1.34 zerotierone-1.16.0> Compiling syn v1.0.109 zerotierone-1.16.0> Compiling httpdate v1.0.3 zerotierone-1.16.0> Compiling ansi_term v0.12.1 zerotierone-1.16.0> Compiling cbindgen v0.20.0 zerotierone-1.16.0> Compiling vec_map v0.8.2 zerotierone-1.16.0> Compiling unicode-segmentation v1.12.0 zerotierone-1.16.0> Compiling fastrand v2.3.0 zerotierone-1.16.0> Compiling form_urlencoded v1.2.2 zerotierone-1.16.0> Compiling num-bigint-dig v0.8.4 zerotierone-1.16.0> Compiling thiserror v1.0.69 zerotierone-1.16.0> Compiling pem-rfc7468 v0.7.0 zerotierone-1.16.0> Compiling spin v0.9.8 zerotierone-1.16.0> Compiling bitflags v1.3.2 zerotierone-1.16.0> Compiling strsim v0.8.0 zerotierone-1.16.0> Compiling generic-array v0.14.7 zerotierone-1.16.0> In file included from node/NetworkConfig.hpp:14, zerotierone-1.16.0> from node/NetworkConfig.cpp:9: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> Compiling hashbrown v0.12.3 zerotierone-1.16.0> Compiling base64 v0.21.7 zerotierone-1.16.0> Compiling textwrap v0.11.0 zerotierone-1.16.0> Compiling encoding_rs v0.8.35 zerotierone-1.16.0> Compiling mime v0.3.17 zerotierone-1.16.0> Compiling lazy_static v1.5.0 zerotierone-1.16.0> Compiling ipnet v2.11.0 zerotierone-1.16.0> Compiling sync_wrapper v0.1.2 zerotierone-1.16.0> Compiling base64 v0.13.1 zerotierone-1.16.0> Compiling byteorder v1.5.0 zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Membership.cpp:9: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Capability.cpp:9: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> node/NetworkConfig.cpp: In constructor 'ZeroTier::NetworkConfig::NetworkConfig()': zerotierone-1.16.0> node/NetworkConfig.cpp:53:15: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::InetAddress' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 53 | memset(staticIps, 0, sizeof(InetAddress) * ZT_MAX_ZT_ASSIGNED_ADDRESSES); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from node/CertificateOfOwnership.hpp:18, zerotierone-1.16.0> from node/NetworkConfig.hpp:16: zerotierone-1.16.0> node/InetAddress.hpp:37:8: note: 'struct ZeroTier::InetAddress' declared here zerotierone-1.16.0> 37 | struct InetAddress : public sockaddr_storage { zerotierone-1.16.0> | ^~~~~~~~~~~ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/CertificateOfMembership.cpp:12: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> Compiling iana-time-zone v0.1.63 zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Revocation.cpp:12: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/CertificateOfOwnership.cpp:12: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Tag.cpp:12: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> Compiling either v1.15.0 zerotierone-1.16.0> Compiling powerfmt v0.2.0 zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Network.cpp:9: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> Compiling num-conv v0.1.0 zerotierone-1.16.0> Compiling time-core v0.1.6 zerotierone-1.16.0> Compiling num-traits v0.2.19 zerotierone-1.16.0> Compiling indexmap v1.9.3 zerotierone-1.16.0> Compiling der v0.7.10 zerotierone-1.16.0> Compiling dyn-clone v1.0.20 zerotierone-1.16.0> Compiling rustc_version v0.4.1 zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/OutboundMulticast.cpp:12: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Trace.cpp:14: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Multicaster.cpp:13: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> Compiling futures-util v0.3.31 zerotierone-1.16.0> Compiling deranged v0.5.3 zerotierone-1.16.0> Compiling heck v0.3.3 zerotierone-1.16.0> Compiling rustls-pemfile v1.0.4 zerotierone-1.16.0> Compiling itertools v0.10.5 zerotierone-1.16.0> Compiling tracing v0.1.41 zerotierone-1.16.0> Compiling curve25519-dalek v4.1.3 zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from node/Capability.cpp:12: zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> Compiling http v0.2.12 zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> Compiling indexmap v2.11.0 zerotierone-1.16.0> Compiling quote v1.0.40 zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Node.hpp:19, zerotierone-1.16.0> from node/Path.cpp:11: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Node.hpp:19, zerotierone-1.16.0> from node/Bond.cpp:12: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> Compiling atty v0.2.14 zerotierone-1.16.0> In file included from node/NetworkConfig.hpp:14, zerotierone-1.16.0> from node/NetworkController.hpp:15, zerotierone-1.16.0> from one.cpp:72: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Peer.cpp:16: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Node.hpp:19, zerotierone-1.16.0> from node/SelfAwareness.cpp:12: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from node/Node.hpp:19, zerotierone-1.16.0> from node/Membership.cpp:12: zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> Compiling getrandom v0.2.16 zerotierone-1.16.0> Compiling mio v1.0.4 zerotierone-1.16.0> Compiling socket2 v0.6.0 zerotierone-1.16.0> Compiling cpufeatures v0.2.17 zerotierone-1.16.0> Compiling socket2 v0.5.10 zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from node/IncomingPacket.cpp:14: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Node.hpp:19, zerotierone-1.16.0> from node/Node.cpp:9: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> Compiling clap v2.34.0 zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Node.hpp:19, zerotierone-1.16.0> from node/PacketMultiplexer.cpp:12: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Topology.cpp:12: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from node/Node.hpp:19, zerotierone-1.16.0> from node/IncomingPacket.cpp:19: zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> one.cpp: In function 'int cli(int, char**)': zerotierone-1.16.0> one.cpp:658:75: warning: comparison of integer expressions of different signedness: 'int' and 'nlohmann::basic_json<>::size_type' {aka 'long unsigned int'} [-Wsign-compare] zerotierone-1.16.0> 658 | for (int i = 0; i < p.size(); i++) { zerotierone-1.16.0> | ~~^~~~~~~~~~ zerotierone-1.16.0> one.cpp:674:75: warning: comparison of integer expressions of different signedness: 'int' and 'nlohmann::basic_json<>::size_type' {aka 'long unsigned int'} [-Wsign-compare] zerotierone-1.16.0> 674 | for (int i = 0; i < p.size(); i++) { zerotierone-1.16.0> | ~~^~~~~~~~~~ zerotierone-1.16.0> In file included from node/Node.hpp:19, zerotierone-1.16.0> from node/Trace.cpp:19: zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> Compiling syn v2.0.106 zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> one.cpp:823:117: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'int64_t' {aka 'long int'} [-Wformat=] zerotierone-1.16.0> 823 | printf(" AUTH OK, expires in: %lld seconds" ZT_EOL_S, expiresIn); zerotierone-1.16.0> | ~~~^ ~~~~~~~~~ zerotierone-1.16.0> | | | zerotierone-1.16.0> | long long int int64_t {aka long int} zerotierone-1.16.0> | %ld zerotierone-1.16.0> In file included from node/NetworkConfig.hpp:14, zerotierone-1.16.0> from selftest.cpp:19: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from node/Membership.hpp:13, zerotierone-1.16.0> from node/Network.hpp:20, zerotierone-1.16.0> from node/Switch.hpp:18, zerotierone-1.16.0> from node/Switch.cpp:9: zerotierone-1.16.0> node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> Compiling openssl-sys v0.9.109 zerotierone-1.16.0> In file included from node/Node.hpp:19, zerotierone-1.16.0> from selftest.cpp:20: zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> one.cpp: In function 'void {anonymous}::_recursiveChown(const char*, uid_t, gid_t)': zerotierone-1.16.0> one.cpp:1750:30: warning: 'int readdir_r(DIR*, dirent*, dirent**)' is deprecated [-Wdeprecated-declarations] zerotierone-1.16.0> 1750 | if (readdir_r(d, &de, &dptr) != 0) zerotierone-1.16.0> | ~~~~~~~~~^~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from one.cpp:41: zerotierone-1.16.0> /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/dirent.h:185:12: note: declared here zerotierone-1.16.0> 185 | extern int readdir_r (DIR *__restrict __dirp, zerotierone-1.16.0> | ^~~~~~~~~ zerotierone-1.16.0> Compiling rand_core v0.6.4 zerotierone-1.16.0> selftest.cpp: In function 'int testPacket()': zerotierone-1.16.0> selftest.cpp:1152:23: warning: variable 'salsaKey' set but not used [-Wunused-but-set-variable] zerotierone-1.16.0> 1152 | unsigned char salsaKey[32]; zerotierone-1.16.0> | ^~~~~~~~ zerotierone-1.16.0> selftest.cpp: In function 'int testPhy()': zerotierone-1.16.0> selftest.cpp:1571:32: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'uint64_t' {aka 'long unsigned int'} [-Wsign-compare] zerotierone-1.16.0> 1571 | while ((OSUtils::now() < timeoutAt) && (phyTestUdpPacketCount < ZT_TEST_PHY_NUM_UDP_PACKETS)) { zerotierone-1.16.0> | ~~~~~~~~~~~~~~~^~~~~~~~~~~ zerotierone-1.16.0> selftest.cpp:1587:32: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'uint64_t' {aka 'long unsigned int'} [-Wsign-compare] zerotierone-1.16.0> 1587 | while ((OSUtils::now() < timeoutAt) && (phyTestTcpByteCount < (ZT_TEST_PHY_NUM_VALID_TCP_CONNECTS * ZT_TEST_PHY_TCP_MESSAGE_SIZE))) { zerotierone-1.16.0> | ~~~~~~~~~~~~~~~^~~~~~~~~~~ zerotierone-1.16.0> Compiling ff v0.13.1 zerotierone-1.16.0> Compiling group v0.13.0 zerotierone-1.16.0> Compiling tokio v1.47.1 zerotierone-1.16.0> Compiling block-buffer v0.10.4 zerotierone-1.16.0> Compiling crypto-common v0.1.6 zerotierone-1.16.0> Compiling crypto-bigint v0.5.5 zerotierone-1.16.0> Compiling http-body v0.4.6 zerotierone-1.16.0> Compiling spki v0.7.3 zerotierone-1.16.0> Compiling digest v0.10.7 zerotierone-1.16.0> Compiling pkcs8 v0.10.2 zerotierone-1.16.0> Compiling hmac v0.12.1 zerotierone-1.16.0> Compiling signature v2.2.0 zerotierone-1.16.0> Compiling sha2 v0.10.9 zerotierone-1.16.0> In file included from node/../osdep/Binder.hpp:51, zerotierone-1.16.0> from node/Bond.hpp:12, zerotierone-1.16.0> from node/Peer.hpp:16, zerotierone-1.16.0> from node/IncomingPacket.hpp:15, zerotierone-1.16.0> from selftest.cpp:16: zerotierone-1.16.0> node/../osdep/Phy.hpp: In member function 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = TestPhyHandlers*]': zerotierone-1.16.0> node/../osdep/Phy.hpp:941:31: warning: ignoring return value of 'ssize_t read(int, void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 941 | ::read(_whackReceiveSocket, tmp, 16); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> Compiling sec1 v0.7.3 zerotierone-1.16.0> Compiling pkcs1 v0.7.5 zerotierone-1.16.0> Compiling ed25519 v2.2.3 zerotierone-1.16.0> Compiling hkdf v0.12.4 zerotierone-1.16.0> Compiling rfc6979 v0.4.0 zerotierone-1.16.0> one.cpp: In function 'int cli(int, char**)': zerotierone-1.16.0> one.cpp:1349:23: warning: ignoring return value of 'char* getcwd(char*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 1349 | getcwd(cwd, sizeof(cwd)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> one.cpp:1357:22: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 1357 | write(fd, dump.str().c_str(), dump.str().size()); zerotierone-1.16.0> | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> one.cpp: In function 'void {anonymous}::_recursiveChown(const char*, uid_t, gid_t)': zerotierone-1.16.0> one.cpp:1744:15: warning: ignoring return value of 'int lchown(const char*, __uid_t, __gid_t)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 1744 | lchown(path, uid, gid); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~ zerotierone-1.16.0> Compiling time v0.3.43 zerotierone-1.16.0> Compiling num-integer v0.1.46 zerotierone-1.16.0> Compiling ordered-float v2.10.1 zerotierone-1.16.0> Compiling tempfile v3.21.0 zerotierone-1.16.0> Compiling num-iter v0.1.45 zerotierone-1.16.0> Compiling ppv-lite86 v0.2.21 zerotierone-1.16.0> In file included from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/aarch64-unknown-linux-gnu/bits/c++allocator.h:33, zerotierone-1.16.0> from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/allocator.h:46, zerotierone-1.16.0> from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_tree.h:66, zerotierone-1.16.0> from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/map:64, zerotierone-1.16.0> from node/Utils.hpp:13, zerotierone-1.16.0> from node/Buffer.hpp:13, zerotierone-1.16.0> from selftest.cpp:9: zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpListen(const sockaddr*, void*) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:607:20: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/../osdep/Phy.hpp: In member function 'ZeroTier::PhySocket* ZeroTier::Phy::tcpListen(const sockaddr*, void*) [with HANDLER_PTR_TYPE = TestPhyHandlers*]': zerotierone-1.16.0> node/../osdep/Phy.hpp:607:42: note: '' declared here zerotierone-1.16.0> 607 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:1026:25: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/../osdep/Phy.hpp: In member function 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = TestPhyHandlers*]': zerotierone-1.16.0> node/../osdep/Phy.hpp:1026:82: note: '' declared here zerotierone-1.16.0> 1026 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:1142:25: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/../osdep/Phy.hpp: In member function 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = TestPhyHandlers*]': zerotierone-1.16.0> node/../osdep/Phy.hpp:1142:82: note: '' declared here zerotierone-1.16.0> 1142 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> Compiling ed25519-dalek v2.2.0 zerotierone-1.16.0> In file included from /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/string.h:548, zerotierone-1.16.0> from node/Utils.hpp:18: zerotierone-1.16.0> In function 'void* memcpy(void*, const void*, size_t)', zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpConnect(const sockaddr*, bool&, void*, bool) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:727:9, zerotierone-1.16.0> inlined from 'int testPhy()' at selftest.cpp:1591:37: zerotierone-1.16.0> /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/bits/string_fortified.h:29:33: warning: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' forming offset [16, 27] is out of the bounds [0, 16] of object 'bindaddr' with type 'sockaddr_in' [-Warray-bounds=] zerotierone-1.16.0> 29 | return __builtin___memcpy_chk (__dest, __src, __len, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 30 | __glibc_objsize0 (__dest)); zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> selftest.cpp: In function 'int testPhy()': zerotierone-1.16.0> selftest.cpp:1533:28: note: 'bindaddr' declared here zerotierone-1.16.0> 1533 | struct sockaddr_in bindaddr; zerotierone-1.16.0> | ^~~~~~~~ zerotierone-1.16.0> In function 'void* memcpy(void*, const void*, size_t)', zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpConnect(const sockaddr*, bool&, void*, bool) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:727:9, zerotierone-1.16.0> inlined from 'int testPhy()' at selftest.cpp:1591:37: zerotierone-1.16.0> /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/bits/string_fortified.h:29:33: warning: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' forming offset [16, 27] is out of the bounds [0, 16] of object 'bindaddr' with type 'sockaddr_in' [-Warray-bounds=] zerotierone-1.16.0> 29 | return __builtin___memcpy_chk (__dest, __src, __len, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 30 | __glibc_objsize0 (__dest)); zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> selftest.cpp: In function 'int testPhy()': zerotierone-1.16.0> selftest.cpp:1533:28: note: 'bindaddr' declared here zerotierone-1.16.0> 1533 | struct sockaddr_in bindaddr; zerotierone-1.16.0> | ^~~~~~~~ zerotierone-1.16.0> In function 'void* memcpy(void*, const void*, size_t)', zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpConnect(const sockaddr*, bool&, void*, bool) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:727:9, zerotierone-1.16.0> inlined from 'int testPhy()' at selftest.cpp:1597:37: zerotierone-1.16.0> /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/bits/string_fortified.h:29:33: warning: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' forming offset [16, 27] is out of the bounds [0, 16] of object 'invalidAddr' with type 'sockaddr_in' [-Warray-bounds=] zerotierone-1.16.0> 29 | return __builtin___memcpy_chk (__dest, __src, __len, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 30 | __glibc_objsize0 (__dest)); zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> selftest.cpp: In function 'int testPhy()': zerotierone-1.16.0> selftest.cpp:1538:28: note: 'invalidAddr' declared here zerotierone-1.16.0> 1538 | struct sockaddr_in invalidAddr; zerotierone-1.16.0> | ^~~~~~~~~~~ zerotierone-1.16.0> In function 'void* memcpy(void*, const void*, size_t)', zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpConnect(const sockaddr*, bool&, void*, bool) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:727:9, zerotierone-1.16.0> inlined from 'int testPhy()' at selftest.cpp:1597:37: zerotierone-1.16.0> /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/bits/string_fortified.h:29:33: warning: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' forming offset [16, 27] is out of the bounds [0, 16] of object 'invalidAddr' with type 'sockaddr_in' [-Warray-bounds=] zerotierone-1.16.0> 29 | return __builtin___memcpy_chk (__dest, __src, __len, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 30 | __glibc_objsize0 (__dest)); zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> selftest.cpp: In function 'int testPhy()': zerotierone-1.16.0> selftest.cpp:1538:28: note: 'invalidAddr' declared here zerotierone-1.16.0> 1538 | struct sockaddr_in invalidAddr; zerotierone-1.16.0> | ^~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::udpBind(const sockaddr*, void*, int) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:428:20, zerotierone-1.16.0> inlined from 'int testPhy()' at selftest.cpp:1549:53: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/../osdep/Phy.hpp: In function 'int testPhy()': zerotierone-1.16.0> node/../osdep/Phy.hpp:428:42: note: '' declared here zerotierone-1.16.0> 428 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpConnect(const sockaddr*, bool&, void*, bool) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:703:20, zerotierone-1.16.0> inlined from 'int testPhy()' at selftest.cpp:1591:37: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/../osdep/Phy.hpp: In function 'int testPhy()': zerotierone-1.16.0> node/../osdep/Phy.hpp:703:42: note: '' declared here zerotierone-1.16.0> 703 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpConnect(const sockaddr*, bool&, void*, bool) [with HANDLER_PTR_TYPE = TestPhyHandlers*]' at node/../osdep/Phy.hpp:703:20, zerotierone-1.16.0> inlined from 'int testPhy()' at selftest.cpp:1597:37: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/../osdep/Phy.hpp: In function 'int testPhy()': zerotierone-1.16.0> node/../osdep/Phy.hpp:703:42: note: '' declared here zerotierone-1.16.0> 703 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> Compiling rand_chacha v0.3.1 zerotierone-1.16.0> Compiling rand v0.8.5 zerotierone-1.16.0> Compiling elliptic-curve v0.13.8 zerotierone-1.16.0> Compiling primeorder v0.13.6 zerotierone-1.16.0> Compiling ecdsa v0.16.9 zerotierone-1.16.0> In file included from node/Topology.hpp:15, zerotierone-1.16.0> from node/Topology.cpp:9: zerotierone-1.16.0> In copy constructor 'ZeroTier::Identity::Identity(const ZeroTier::Identity&)', zerotierone-1.16.0> inlined from 'ZeroTier::World::Root::Root(ZeroTier::World::Root&&)' at node/World.hpp:88:9, zerotierone-1.16.0> inlined from 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::World::Root; _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:4, zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::World::Root; _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root; _Alloc = std::allocator]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/vector.tcc:117:30, zerotierone-1.16.0> inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = ZeroTier::World::Root; _Alloc = std::allocator]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_vector.h:1434:21, zerotierone-1.16.0> inlined from 'unsigned int ZeroTier::World::deserialize(const ZeroTier::Buffer&, unsigned int) [with unsigned int C = 8480]' at node/World.hpp:251:20: zerotierone-1.16.0> node/Identity.hpp:42:63: warning: '.ZeroTier::World::Root::identity.ZeroTier::Identity::_publicKey' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 42 | Identity(const Identity& id) : _address(id._address), _publicKey(id._publicKey), _privateKey((id._privateKey) ? new ECC::Private(*(id._privateKey)) : (ECC::Private*)0) zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from node/Topology.hpp:20: zerotierone-1.16.0> node/World.hpp: In function 'unsigned int ZeroTier::World::deserialize(const ZeroTier::Buffer&, unsigned int) [with unsigned int C = 8480]': zerotierone-1.16.0> node/World.hpp:251:42: note: '' declared here zerotierone-1.16.0> 251 | _roots.push_back(Root()); zerotierone-1.16.0> | ^~~~~~ zerotierone-1.16.0> In copy constructor 'ZeroTier::Identity::Identity(const ZeroTier::Identity&)', zerotierone-1.16.0> inlined from 'ZeroTier::World::Root::Root(ZeroTier::World::Root&&)' at node/World.hpp:88:9, zerotierone-1.16.0> inlined from 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::World::Root; _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:4, zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::World::Root; _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root; _Alloc = std::allocator]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/vector.tcc:117:30, zerotierone-1.16.0> inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = ZeroTier::World::Root; _Alloc = std::allocator]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_vector.h:1434:21, zerotierone-1.16.0> inlined from 'unsigned int ZeroTier::World::deserialize(const ZeroTier::Buffer&, unsigned int) [with unsigned int C = 570]' at node/World.hpp:251:20, zerotierone-1.16.0> inlined from 'ZeroTier::Topology::Topology(const ZeroTier::RuntimeEnvironment*, void*)' at node/Topology.cpp:59:28: zerotierone-1.16.0> node/Identity.hpp:42:63: warning: '.ZeroTier::World::Root::identity.ZeroTier::Identity::_publicKey' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 42 | Identity(const Identity& id) : _address(id._address), _publicKey(id._publicKey), _privateKey((id._privateKey) ? new ECC::Private(*(id._privateKey)) : (ECC::Private*)0) zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> node/World.hpp: In constructor 'ZeroTier::Topology::Topology(const ZeroTier::RuntimeEnvironment*, void*)': zerotierone-1.16.0> node/World.hpp:251:42: note: '' declared here zerotierone-1.16.0> 251 | _roots.push_back(Root()); zerotierone-1.16.0> | ^~~~~~ zerotierone-1.16.0> one.cpp: In function 'int cli(int, char**)': zerotierone-1.16.0> one.cpp:1350:49: warning: 'zerotier_dump.txt' directive output may be truncated writing 17 bytes into a region of size between 0 and 16383 [-Wformat-truncation=] zerotierone-1.16.0> 1350 | snprintf(cwd, sizeof(cwd), "%s%szerotier_dump.txt", cwd, ZT_PATH_SEPARATOR_S); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/stdio.h:970, zerotierone-1.16.0> from one.cpp:18: zerotierone-1.16.0> In function 'int snprintf(char*, size_t, const char*, ...)', zerotierone-1.16.0> inlined from 'int cli(int, char**)' at one.cpp:1350:11: zerotierone-1.16.0> /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 19 and 16402 bytes into a destination of size 16384 zerotierone-1.16.0> 68 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 69 | __glibc_objsize (__s), __fmt, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 70 | __va_arg_pack ()); zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/bits/stdio2.h:68:35: warning: '__builtin___snprintf_chk' argument 6 overlaps destination object 'cwd' [-Wrestrict] zerotierone-1.16.0> one.cpp: In function 'int cli(int, char**)': zerotierone-1.16.0> one.cpp:1348:22: note: destination object referenced by 'restrict'-qualified argument 1 was declared here zerotierone-1.16.0> 1348 | char cwd[16384]; zerotierone-1.16.0> | ^~~ zerotierone-1.16.0> Compiling p384 v0.13.1 zerotierone-1.16.0> Compiling p256 v0.13.2 zerotierone-1.16.0> In file included from node/Packet.hpp:16, zerotierone-1.16.0> from node/IncomingPacket.hpp:13, zerotierone-1.16.0> from node/IncomingPacket.cpp:9: zerotierone-1.16.0> In copy constructor 'ZeroTier::Identity::Identity(const ZeroTier::Identity&)', zerotierone-1.16.0> inlined from 'ZeroTier::World::Root::Root(ZeroTier::World::Root&&)' at node/World.hpp:88:9, zerotierone-1.16.0> inlined from 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::World::Root; _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:4, zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::World::Root; _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root; _Alloc = std::allocator]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/vector.tcc:117:30, zerotierone-1.16.0> inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = ZeroTier::World::Root; _Alloc = std::allocator]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_vector.h:1434:21, zerotierone-1.16.0> inlined from 'unsigned int ZeroTier::World::deserialize(const ZeroTier::Buffer&, unsigned int) [with unsigned int C = 10024]' at node/World.hpp:251:20: zerotierone-1.16.0> node/Identity.hpp:42:63: warning: '.ZeroTier::World::Root::identity.ZeroTier::Identity::_publicKey' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 42 | Identity(const Identity& id) : _address(id._address), _publicKey(id._publicKey), _privateKey((id._privateKey) ? new ECC::Private(*(id._privateKey)) : (ECC::Private*)0) zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from node/Topology.hpp:20, zerotierone-1.16.0> from node/Switch.hpp:21, zerotierone-1.16.0> from node/IncomingPacket.cpp:26: zerotierone-1.16.0> node/World.hpp: In member function 'unsigned int ZeroTier::World::deserialize(const ZeroTier::Buffer&, unsigned int) [with unsigned int C = 10024]': zerotierone-1.16.0> node/World.hpp:251:42: note: '' declared here zerotierone-1.16.0> 251 | _roots.push_back(Root()); zerotierone-1.16.0> | ^~~~~~ zerotierone-1.16.0> Compiling synstructure v0.13.2 zerotierone-1.16.0> Compiling darling_core v0.20.11 zerotierone-1.16.0> In file included from node/Packet.hpp:16, zerotierone-1.16.0> from node/Bond.hpp:14, zerotierone-1.16.0> from one.cpp:68: zerotierone-1.16.0> In copy constructor 'ZeroTier::Identity::Identity(const ZeroTier::Identity&)', zerotierone-1.16.0> inlined from 'ZeroTier::World::Root::Root(ZeroTier::World::Root&&)' at node/World.hpp:88:9, zerotierone-1.16.0> inlined from 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::World::Root; _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:4, zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::World::Root; _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {ZeroTier::World::Root}; _Tp = ZeroTier::World::Root; _Alloc = std::allocator]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/vector.tcc:117:30, zerotierone-1.16.0> inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = ZeroTier::World::Root; _Alloc = std::allocator]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_vector.h:1434:21, zerotierone-1.16.0> inlined from 'int idtool(int, char**)' at one.cpp:1637:22: zerotierone-1.16.0> node/Identity.hpp:42:63: warning: '.ZeroTier::World::Root::identity.ZeroTier::Identity::_publicKey' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 42 | Identity(const Identity& id) : _address(id._address), _publicKey(id._publicKey), _privateKey((id._privateKey) ? new ECC::Private(*(id._privateKey)) : (ECC::Private*)0) zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> one.cpp: In function 'int idtool(int, char**)': zerotierone-1.16.0> one.cpp:1637:77: note: '' declared here zerotierone-1.16.0> 1637 | roots.push_back(World::Root()); zerotierone-1.16.0> | ^ zerotierone-1.16.0> Compiling rsa v0.9.8 zerotierone-1.16.0> Compiling serde_derive v1.0.219 zerotierone-1.16.0> Compiling zerofrom-derive v0.1.6 zerotierone-1.16.0> Compiling yoke-derive v0.8.0 zerotierone-1.16.0> Compiling zerovec-derive v0.11.1 zerotierone-1.16.0> Compiling displaydoc v0.2.5 zerotierone-1.16.0> Compiling openssl-macros v0.1.1 zerotierone-1.16.0> Compiling thiserror-impl v1.0.69 zerotierone-1.16.0> Compiling tokio-util v0.7.16 zerotierone-1.16.0> Compiling zerofrom v0.1.6 zerotierone-1.16.0> Compiling yoke v0.8.0 zerotierone-1.16.0> Compiling h2 v0.3.27 zerotierone-1.16.0> Compiling zerovec v0.11.4 zerotierone-1.16.0> Compiling zerotrie v0.2.2 zerotierone-1.16.0> Compiling darling_macro v0.20.11 zerotierone-1.16.0> Compiling darling v0.20.11 zerotierone-1.16.0> Compiling serde_with_macros v3.14.0 zerotierone-1.16.0> Compiling tinystr v0.8.1 zerotierone-1.16.0> Compiling potential_utf v0.1.3 zerotierone-1.16.0> Compiling icu_collections v2.0.0 zerotierone-1.16.0> Compiling icu_locale_core v2.0.0 zerotierone-1.16.0> Compiling icu_provider v2.0.0 zerotierone-1.16.0> Compiling icu_normalizer v2.0.0 zerotierone-1.16.0> Compiling icu_properties v2.0.1 zerotierone-1.16.0> Compiling tokio-native-tls v0.3.1 zerotierone-1.16.0> Compiling hyper v0.14.32 zerotierone-1.16.0> Compiling idna_adapter v1.2.1 zerotierone-1.16.0> Compiling idna v1.1.0 zerotierone-1.16.0> Compiling toml v0.5.11 zerotierone-1.16.0> Compiling serde_urlencoded v0.7.1 zerotierone-1.16.0> Compiling url v2.5.7 zerotierone-1.16.0> Compiling chrono v0.4.41 zerotierone-1.16.0> Compiling serde_path_to_error v0.1.17 zerotierone-1.16.0> Compiling serde-value v0.7.0 zerotierone-1.16.0> Compiling serde_plain v1.0.2 zerotierone-1.16.0> Compiling serde_with v3.14.0 zerotierone-1.16.0> Compiling jwt v0.16.0 (https://github.com/glimberg/rust-jwt#61a9291f) zerotierone-1.16.0> Compiling hyper-tls v0.5.0 zerotierone-1.16.0> Compiling reqwest v0.11.27 zerotierone-1.16.0> Compiling oauth2 v4.4.2 zerotierone-1.16.0> Compiling zeroidc v0.1.0 (/build/source/rustybits/zeroidc) zerotierone-1.16.0> Compiling openidconnect v3.5.0 zerotierone-1.16.0> Finished `release` profile [optimized] target(s) in 35.19s zerotierone-1.16.0> warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4 zerotierone-1.16.0> note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o osdep/EthernetTap.o osdep/EthernetTap.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o osdep/ManagedRoute.o osdep/ManagedRoute.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o osdep/Http.o osdep/Http.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o service/OneService.o service/OneService.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o nonfree/controller/EmbeddedNetworkController.o nonfree/controller/EmbeddedNetworkController.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o nonfree/controller/DBMirrorSet.o nonfree/controller/DBMirrorSet.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o nonfree/controller/DB.o nonfree/controller/DB.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o nonfree/controller/FileDB.o nonfree/controller/FileDB.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o nonfree/controller/CtlUtil.o nonfree/controller/CtlUtil.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o nonfree/controller/CV1.o nonfree/controller/CV1.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o nonfree/controller/CV2.o nonfree/controller/CV2.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o osdep/LinuxEthernetTap.o osdep/LinuxEthernetTap.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o osdep/LinuxNetLink.o osdep/LinuxNetLink.cpp zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o osdep/PortMapper.o osdep/PortMapper.cpp zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/connecthostport.o ext/miniupnpc/connecthostport.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/igd_desc_parse.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/minisoap.o ext/miniupnpc/minisoap.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/minissdpc.o ext/miniupnpc/minissdpc.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniupnpc.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/miniwget.o ext/miniupnpc/miniwget.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/minixml.o ext/miniupnpc/minixml.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/portlistingparse.o ext/miniupnpc/portlistingparse.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/receivedata.o ext/miniupnpc/receivedata.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpcommands.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnpdev.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnperrors.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/miniupnpc/upnpreplyparse.o ext/miniupnpc/upnpreplyparse.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/libnatpmp/natpmp.o ext/libnatpmp/natpmp.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/libnatpmp/getgateway.o ext/libnatpmp/getgateway.c zerotierone-1.16.0> gcc -O3 -fstack-protector -Wall -Wno-deprecated -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -c -o ext/http-parser/http_parser.o ext/http-parser/http_parser.c zerotierone-1.16.0> osdep/LinuxNetLink.cpp: In member function 'void ZeroTier::LinuxNetLink::_routeAdded(nlmsghdr*)': zerotierone-1.16.0> osdep/LinuxNetLink.cpp:278:14: warning: unused variable 'ms' [-Wunused-variable] zerotierone-1.16.0> 278 | char ms[24] = { 0 }; zerotierone-1.16.0> | ^~ zerotierone-1.16.0> osdep/LinuxNetLink.cpp: In member function 'void ZeroTier::LinuxNetLink::_routeDeleted(nlmsghdr*)': zerotierone-1.16.0> osdep/LinuxNetLink.cpp:364:14: warning: unused variable 'ms' [-Wunused-variable] zerotierone-1.16.0> 364 | char ms[24] = { 0 }; zerotierone-1.16.0> | ^~ zerotierone-1.16.0> In file included from nonfree/controller/../../node/NetworkConfig.hpp:14, zerotierone-1.16.0> from nonfree/controller/../../node/NetworkController.hpp:15, zerotierone-1.16.0> from nonfree/controller/EmbeddedNetworkController.hpp:10, zerotierone-1.16.0> from nonfree/controller/EmbeddedNetworkController.cpp:15: zerotierone-1.16.0> nonfree/controller/../../node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> nonfree/controller/../../node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> nonfree/controller/../../node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from nonfree/controller/../../node/NetworkConfig.hpp:14, zerotierone-1.16.0> from nonfree/controller/../../node/NetworkController.hpp:15, zerotierone-1.16.0> from nonfree/controller/EmbeddedNetworkController.hpp:10, zerotierone-1.16.0> from nonfree/controller/DB.cpp:8: zerotierone-1.16.0> nonfree/controller/../../node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> nonfree/controller/../../node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> nonfree/controller/../../node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from service/../node/Membership.hpp:13, zerotierone-1.16.0> from service/../node/Network.hpp:20, zerotierone-1.16.0> from service/../node/Node.hpp:19, zerotierone-1.16.0> from service/OneService.cpp:32: zerotierone-1.16.0> service/../node/Capability.hpp: In constructor 'ZeroTier::Capability::Capability()': zerotierone-1.16.0> service/../node/Capability.hpp:61:23: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Capability::' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 61 | memset(_custody, 0, sizeof(_custody)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/Capability.hpp:512:16: note: 'struct ZeroTier::Capability::' declared here zerotierone-1.16.0> 512 | struct { zerotierone-1.16.0> | ^ zerotierone-1.16.0> service/../node/Network.hpp: In constructor 'ZeroTier::Network::_IncomingConfigChunk::_IncomingConfigChunk()': zerotierone-1.16.0> service/../node/Network.hpp:484:31: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'struct ZeroTier::Network::_IncomingConfigChunk' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] zerotierone-1.16.0> 484 | memset(this, 0, sizeof(_IncomingConfigChunk)); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/Network.hpp:481:16: note: 'struct ZeroTier::Network::_IncomingConfigChunk' declared here zerotierone-1.16.0> 481 | struct _IncomingConfigChunk { zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> osdep/LinuxEthernetTap.cpp: In constructor 'ZeroTier::LinuxEthernetTap::LinuxEthernetTap(const char*, unsigned int, bool, const ZeroTier::MAC&, unsigned int, unsigned int, uint64_t, const char*, void (*)(void*, void*, uint64_t, const ZeroTier::MAC&, const ZeroTier::MAC&, unsigned int, unsigned int, const void*, unsigned int), void*)': zerotierone-1.16.0> osdep/LinuxEthernetTap.cpp:219:21: warning: ignoring return value of 'int pipe(int*)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 219 | (void)::pipe(_shutdownSignalPipe); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> osdep/LinuxEthernetTap.cpp: In destructor 'ZeroTier::LinuxEthernetTap::~LinuxEthernetTap()': zerotierone-1.16.0> osdep/LinuxEthernetTap.cpp:361:22: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 361 | (void)::write(_shutdownSignalPipe[1], "\0", 1); zerotierone-1.16.0> | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> osdep/LinuxEthernetTap.cpp: In member function 'virtual void ZeroTier::LinuxEthernetTap::put(const ZeroTier::MAC&, const ZeroTier::MAC&, unsigned int, const void*, unsigned int)': zerotierone-1.16.0> osdep/LinuxEthernetTap.cpp:512:30: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 512 | (void)::write(_fd, putBuf, len); zerotierone-1.16.0> | ~~~~~~~^~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from osdep/Http.cpp:14: zerotierone-1.16.0> osdep/Phy.hpp: In member function 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::HttpPhyHandler*]': zerotierone-1.16.0> osdep/Phy.hpp:941:31: warning: ignoring return value of 'ssize_t read(int, void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 941 | ::read(_whackReceiveSocket, tmp, 16); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/aarch64-unknown-linux-gnu/bits/c++allocator.h:33, zerotierone-1.16.0> from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/allocator.h:46, zerotierone-1.16.0> from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_tree.h:66, zerotierone-1.16.0> from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/map:64, zerotierone-1.16.0> from osdep/Http.hpp:12, zerotierone-1.16.0> from osdep/Http.cpp:9: zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::HttpPhyHandler*]' at osdep/Phy.hpp:1026:25: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> osdep/Phy.hpp: In member function 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::HttpPhyHandler*]': zerotierone-1.16.0> osdep/Phy.hpp:1026:82: note: '' declared here zerotierone-1.16.0> 1026 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::HttpPhyHandler*]' at osdep/Phy.hpp:1142:25: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> osdep/Phy.hpp: In member function 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::HttpPhyHandler*]': zerotierone-1.16.0> osdep/Phy.hpp:1142:82: note: '' declared here zerotierone-1.16.0> 1142 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpConnect(const sockaddr*, bool&, void*, bool) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::HttpPhyHandler*]' at osdep/Phy.hpp:703:20, zerotierone-1.16.0> inlined from 'static unsigned int ZeroTier::Http::_do(const char*, long unsigned int, long unsigned int, const sockaddr*, const char*, const std::map, std::__cxx11::basic_string >&, const void*, long unsigned int, std::map, std::__cxx11::basic_string >&, std::string&)' at osdep/Http.cpp:257:32: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> osdep/Phy.hpp: In static member function 'static unsigned int ZeroTier::Http::_do(const char*, long unsigned int, long unsigned int, const sockaddr*, const char*, const std::map, std::__cxx11::basic_string >&, const void*, long unsigned int, std::map, std::__cxx11::basic_string >&, std::string&)': zerotierone-1.16.0> osdep/Phy.hpp:703:42: note: '' declared here zerotierone-1.16.0> 703 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> service/OneService.cpp: In member function 'void ZeroTier::{anonymous}::OneServiceImpl::setUpMultithreading()': zerotierone-1.16.0> service/OneService.cpp:1046:22: warning: unused variable 'pinning' [-Wunused-variable] zerotierone-1.16.0> 1046 | bool pinning = _cpuPinningEnabled; zerotierone-1.16.0> | ^~~~~~~ zerotierone-1.16.0> service/OneService.cpp: In lambda function: zerotierone-1.16.0> service/OneService.cpp:2456:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] zerotierone-1.16.0> 2456 | for (int i = 0; i < boundAddrs.size(); i++) { zerotierone-1.16.0> | ~~^~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/OneService.cpp:2465:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] zerotierone-1.16.0> 2465 | for (int i = 0; i < surfaceAddrs.size(); i++) { zerotierone-1.16.0> | ~~^~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from service/../node/../osdep/Binder.hpp:51, zerotierone-1.16.0> from service/../node/Bond.hpp:12, zerotierone-1.16.0> from service/OneService.cpp:26: zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'void ZeroTier::Phy::whack() [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:263:31: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 263 | (void)(::write(_whackSendSocket, (PhySocket*)this, 1)); zerotierone-1.16.0> | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:941:31: warning: ignoring return value of 'ssize_t read(int, void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result] zerotierone-1.16.0> 941 | ::read(_whackReceiveSocket, tmp, 16); zerotierone-1.16.0> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In file included from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/aarch64-unknown-linux-gnu/bits/c++allocator.h:33, zerotierone-1.16.0> from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/allocator.h:46, zerotierone-1.16.0> from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_tree.h:66, zerotierone-1.16.0> from /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/map:64, zerotierone-1.16.0> from service/OneService.cpp:11: zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::udpBind(const sockaddr*, void*, int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:428:20: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In function 'ZeroTier::PhySocket* ZeroTier::Phy::udpBind(const sockaddr*, void*, int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:428:42: note: '' declared here zerotierone-1.16.0> 428 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:1026:25: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:1026:82: note: '' declared here zerotierone-1.16.0> 1026 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:1142:25: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'void ZeroTier::Phy::poll(long unsigned int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:1142:82: note: '' declared here zerotierone-1.16.0> 1142 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::udpBind(const sockaddr*, void*, int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:428:20, zerotierone-1.16.0> inlined from 'bool ZeroTier::{anonymous}::OneServiceImpl::_trialBind(unsigned int)' at service/OneService.cpp:4233:20, zerotierone-1.16.0> inlined from 'unsigned int ZeroTier::{anonymous}::OneServiceImpl::_getRandomPort()' at service/OneService.cpp:4218:18: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'unsigned int ZeroTier::{anonymous}::OneServiceImpl::_getRandomPort()': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:428:42: note: '' declared here zerotierone-1.16.0> 428 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpListen(const sockaddr*, void*) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:607:20, zerotierone-1.16.0> inlined from 'bool ZeroTier::{anonymous}::OneServiceImpl::_trialBind(unsigned int)' at service/OneService.cpp:4236:23, zerotierone-1.16.0> inlined from 'unsigned int ZeroTier::{anonymous}::OneServiceImpl::_getRandomPort()' at service/OneService.cpp:4218:18: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'unsigned int ZeroTier::{anonymous}::OneServiceImpl::_getRandomPort()': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:607:42: note: '' declared here zerotierone-1.16.0> 607 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::udpBind(const sockaddr*, void*, int) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:428:20, zerotierone-1.16.0> inlined from 'bool ZeroTier::{anonymous}::OneServiceImpl::_trialBind(unsigned int)' at service/OneService.cpp:4246:20, zerotierone-1.16.0> inlined from 'unsigned int ZeroTier::{anonymous}::OneServiceImpl::_getRandomPort()' at service/OneService.cpp:4218:18: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'unsigned int ZeroTier::{anonymous}::OneServiceImpl::_getRandomPort()': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:428:42: note: '' declared here zerotierone-1.16.0> 428 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpListen(const sockaddr*, void*) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:607:20, zerotierone-1.16.0> inlined from 'bool ZeroTier::{anonymous}::OneServiceImpl::_trialBind(unsigned int)' at service/OneService.cpp:4249:23, zerotierone-1.16.0> inlined from 'unsigned int ZeroTier::{anonymous}::OneServiceImpl::_getRandomPort()' at service/OneService.cpp:4218:18: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'unsigned int ZeroTier::{anonymous}::OneServiceImpl::_getRandomPort()': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:607:42: note: '' declared here zerotierone-1.16.0> 607 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpConnect(const sockaddr*, bool&, void*, bool) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:703:20, zerotierone-1.16.0> inlined from 'int ZeroTier::{anonymous}::OneServiceImpl::nodeWirePacketSendFunction(int64_t, const sockaddr_storage*, const void*, unsigned int, unsigned int)' at service/OneService.cpp:4004:23: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'int ZeroTier::{anonymous}::OneServiceImpl::nodeWirePacketSendFunction(int64_t, const sockaddr_storage*, const void*, unsigned int, unsigned int)': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:703:42: note: '' declared here zerotierone-1.16.0> 703 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> service/OneService.cpp: In function 'ZeroTier::{anonymous}::OneServiceImpl::startHTTPControlPlane()::': zerotierone-1.16.0> service/OneService.cpp:1801:102: warning: '/' directive output may be truncated writing 1 byte into a region of size between 0 and 16383 [-Wformat-truncation=] zerotierone-1.16.0> 1801 | snprintf(indexHtmlPath, sizeof(indexHtmlPath), "%s/%s/%s", appUiDir, match.str().c_str(), "index.html"); zerotierone-1.16.0> | ^ zerotierone-1.16.0> In file included from /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/stdio.h:970, zerotierone-1.16.0> from service/OneService.cpp:13: zerotierone-1.16.0> In function 'int snprintf(char*, size_t, const char*, ...)', zerotierone-1.16.0> inlined from 'ZeroTier::{anonymous}::OneServiceImpl::startHTTPControlPlane()::' at service/OneService.cpp:1801:15: zerotierone-1.16.0> /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output 13 or more bytes (assuming 16396) into a destination of size 16384 zerotierone-1.16.0> 68 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 69 | __glibc_objsize (__s), __fmt, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 70 | __va_arg_pack ()); zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/OneService.cpp: In function 'ZeroTier::{anonymous}::OneServiceImpl::startHTTPControlPlane()::': zerotierone-1.16.0> service/OneService.cpp:1825:83: warning: '%s' directive output may be truncated writing 5 bytes into a region of size between 1 and 16384 [-Wformat-truncation=] zerotierone-1.16.0> 1825 | snprintf(htmlPath, sizeof(htmlPath), "%s%s%s", appUiDir, (req.path).substr(appUiPath.length()).c_str(), ".html"); zerotierone-1.16.0> | ^~ ~~~~~~~ zerotierone-1.16.0> In function 'int snprintf(char*, size_t, const char*, ...)', zerotierone-1.16.0> inlined from 'ZeroTier::{anonymous}::OneServiceImpl::startHTTPControlPlane()::' at service/OneService.cpp:1825:14: zerotierone-1.16.0> /nix/store/fsm5ifr5khlqjj54j026c3akbhp1q0gj-glibc-2.42-84-dev/include/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output 6 or more bytes (assuming 16389) into a destination of size 16384 zerotierone-1.16.0> 68 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 69 | __glibc_objsize (__s), __fmt, zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> 70 | __va_arg_pack ()); zerotierone-1.16.0> | ~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpListen(const sockaddr*, void*) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:607:20, zerotierone-1.16.0> inlined from 'bool ZeroTier::{anonymous}::OneServiceImpl::_trialBind(unsigned int)' at service/OneService.cpp:4236:23, zerotierone-1.16.0> inlined from 'virtual ZeroTier::OneService::ReasonForTermination ZeroTier::{anonymous}::OneServiceImpl::run()' at service/OneService.cpp:1191:19: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'virtual ZeroTier::OneService::ReasonForTermination ZeroTier::{anonymous}::OneServiceImpl::run()': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:607:42: note: '' declared here zerotierone-1.16.0> 607 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> In member function 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]', zerotierone-1.16.0> inlined from 'static void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ZeroTier::Phy::PhySocketImpl; _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = std::_List_node::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/alloc_traits.h:674:17, zerotierone-1.16.0> inlined from 'std::__cxx11::list<_Tp, _Allocator>::_Node_ptr std::__cxx11::list<_Tp, _Allocator>::_M_create_node(_Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1106:33, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::_M_insert(iterator, _Args&& ...) [with _Args = {ZeroTier::Phy::PhySocketImpl}; _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:2472:35, zerotierone-1.16.0> inlined from 'void std::__cxx11::list<_Tp, _Allocator>::push_back(value_type&&) [with _Tp = ZeroTier::Phy::PhySocketImpl; _Alloc = std::allocator::PhySocketImpl>]' at /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/stl_list.h:1809:24, zerotierone-1.16.0> inlined from 'ZeroTier::PhySocket* ZeroTier::Phy::tcpListen(const sockaddr*, void*) [with HANDLER_PTR_TYPE = ZeroTier::{anonymous}::OneServiceImpl*]' at service/../node/../osdep/Phy.hpp:607:20, zerotierone-1.16.0> inlined from 'bool ZeroTier::{anonymous}::OneServiceImpl::_trialBind(unsigned int)' at service/OneService.cpp:4249:23, zerotierone-1.16.0> inlined from 'virtual ZeroTier::OneService::ReasonForTermination ZeroTier::{anonymous}::OneServiceImpl::run()' at service/OneService.cpp:1191:19: zerotierone-1.16.0> /nix/store/pbhbzkcvlr4h63bh9w0hin5sbflqdg08-gcc-15.3.0/include/c++/15.3.0/bits/new_allocator.h:191:11: warning: '' may be used uninitialized [-Wmaybe-uninitialized] zerotierone-1.16.0> 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } zerotierone-1.16.0> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zerotierone-1.16.0> service/../node/../osdep/Phy.hpp: In member function 'virtual ZeroTier::OneService::ReasonForTermination ZeroTier::{anonymous}::OneServiceImpl::run()': zerotierone-1.16.0> service/../node/../osdep/Phy.hpp:607:42: note: '' declared here zerotierone-1.16.0> 607 | _socks.push_back(PhySocketImpl()); zerotierone-1.16.0> | ^~~~~~~~~~~~~~~ zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -pie -Wl,-z,relro,-z,now -Wl,-z,noexecstack -o zerotier-one node/AES.o node/AES_aesni.o node/AES_armcrypto.o node/ECC.o node/Capability.o node/CertificateOfMembership.o node/CertificateOfOwnership.o node/Identity.o node/IncomingPacket.o node/InetAddress.o node/Membership.o node/Metrics.o node/Multicaster.o node/Network.o node/NetworkConfig.o node/Node.o node/OutboundMulticast.o node/Packet.o node/Path.o node/Peer.o node/Poly1305.o node/Revocation.o node/Salsa20.o node/SelfAwareness.o node/SHA512.o node/Switch.o node/Tag.o node/Topology.o node/Trace.o node/Utils.o node/Bond.o node/PacketMultiplexer.o osdep/OSUtils.o osdep/EthernetTap.o osdep/ManagedRoute.o osdep/Http.o service/OneService.o nonfree/controller/EmbeddedNetworkController.o nonfree/controller/DBMirrorSet.o nonfree/controller/DB.o nonfree/controller/FileDB.o nonfree/controller/CtlUtil.o nonfree/controller/CV1.o nonfree/controller/CV2.o osdep/LinuxEthernetTap.o osdep/LinuxNetLink.o osdep/PortMapper.o ext/miniupnpc/connecthostport.o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/minisoap.o ext/miniupnpc/minissdpc.o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniwget.o ext/miniupnpc/minixml.o ext/miniupnpc/portlistingparse.o ext/miniupnpc/receivedata.o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnpreplyparse.o ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o ext/http-parser/http_parser.o one.o rustybits/target/release/libzeroidc.a -ldl -lssl -lcrypto zerotierone-1.16.0> g++ -O3 -fstack-protector -Wall -Wno-deprecated -std=c++17 -pthread -Irustybits/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include -Iext/opentelemetry-cpp-api-only/include -DNDEBUG -DZT_NONFREE_CONTROLLER -DZT_USE_MINIUPNPC -DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR -DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align -DZT_SSO_SUPPORTED=1 -DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=4 -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -D_MT_ALLOCATOR_H -D_POOL_ALLOCATOR_H -D_EXTPTR_ALLOCATOR_H -D_DEBUG_ALLOCATOR_H -fPIC -fPIE -pie -Wl,-z,relro,-z,now -Wl,-z,noexecstack -o zerotier-selftest selftest.o node/AES.o node/AES_aesni.o node/AES_armcrypto.o node/ECC.o node/Capability.o node/CertificateOfMembership.o node/CertificateOfOwnership.o node/Identity.o node/IncomingPacket.o node/InetAddress.o node/Membership.o node/Metrics.o node/Multicaster.o node/Network.o node/NetworkConfig.o node/Node.o node/OutboundMulticast.o node/Packet.o node/Path.o node/Peer.o node/Poly1305.o node/Revocation.o node/Salsa20.o node/SelfAwareness.o node/SHA512.o node/Switch.o node/Tag.o node/Topology.o node/Trace.o node/Utils.o node/Bond.o node/PacketMultiplexer.o osdep/OSUtils.o osdep/EthernetTap.o osdep/ManagedRoute.o osdep/Http.o service/OneService.o nonfree/controller/EmbeddedNetworkController.o nonfree/controller/DBMirrorSet.o nonfree/controller/DB.o nonfree/controller/FileDB.o nonfree/controller/CtlUtil.o nonfree/controller/CV1.o nonfree/controller/CV2.o osdep/LinuxEthernetTap.o osdep/LinuxNetLink.o osdep/PortMapper.o ext/miniupnpc/connecthostport.o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/minisoap.o ext/miniupnpc/minissdpc.o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniwget.o ext/miniupnpc/minixml.o ext/miniupnpc/portlistingparse.o ext/miniupnpc/receivedata.o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnpreplyparse.o ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o ext/http-parser/http_parser.o rustybits/target/release/libzeroidc.a -ldl -lssl -lcrypto zerotierone-1.16.0> ln -sf zerotier-one zerotier-idtool zerotierone-1.16.0> ln -sf zerotier-one zerotier-cli zerotierone-1.16.0> buildPhase completed in 1 minutes 22 seconds zerotierone-1.16.0> Running phase: checkPhase zerotierone-1.16.0> [info] sizeof(void *) == 8 zerotierone-1.16.0> [info] OSUtils::now() == 1787904994233 zerotierone-1.16.0> [info] hardware concurrency == 80 zerotierone-1.16.0> [info] sizeof(NetworkConfig) == 466424 zerotierone-1.16.0> [other] Testing hex/unhex... PASS zerotierone-1.16.0> [other] Testing InetAddress encode/decode... 127.0.0.1/9993 feed:dead:babe:dead:beef:f00d:1234:5678/12345 zerotierone-1.16.0> [other] Testing/fuzzing Dictionary... PASS (junk value to prevent optimization-out of test: -19372) zerotierone-1.16.0> [crypto] getSecureRandom: 12a8c980545f4453e53a640bf66c13f485c4f4530edf92e0d39b0ef01111fa239f96465f040b27c28a6cbca5d04b8a1bc7d44ce9045e9a306da5c00ed9f8f604 zerotierone-1.16.0> [crypto] getSecureRandom: 98730ba86cd5a47a5c51ac77fcbcf0a9db398c2c1ed90c15cd6aea5e1ea29e1ae0077fc6059193e6cb8f547d4099c9c3e505e9ebe9608aafea7569539f63441e zerotierone-1.16.0> [crypto] getSecureRandom: 01d130768a9807985601cd21dbcea81316bd54c7e064a3e73405412e6624fd0497c5f53ea0f61a51e3fc15ff4ad7252f38bba37743e5901ee1e0bdd43fa96c21 zerotierone-1.16.0> [crypto] Testing Salsa20... PASS zerotierone-1.16.0> [crypto] Salsa20 SSE: DISABLED zerotierone-1.16.0> [crypto] Benchmarking Salsa20/12... 889.765 MiB/second (f31ddbcdb3b69d0a5e19ba94a7e2facc) zerotierone-1.16.0> [crypto] Benchmarking Salsa20/20... 621.46 MiB/second (24c619994ae7f1549136169c9072f3d7) zerotierone-1.16.0> [crypto] Benchmarking AES-GMAC-SIV... 669.589 MiB/second zerotierone-1.16.0> [crypto] Testing SHA-512... PASS zerotierone-1.16.0> [crypto] Testing Poly1305... PASS zerotierone-1.16.0> [crypto] Benchmarking Poly1305... 1070.34 MiB/second zerotierone-1.16.0> [crypto] Testing C25519 and Ed25519 against test vectors... PASS zerotierone-1.16.0> [crypto] Testing C25519 ECC key agreement... PASS zerotierone-1.16.0> [crypto] Benchmarking C25519 ECC key agreement... 0.14ms per agreement. zerotierone-1.16.0> [crypto] Testing Ed25519 ECC signatures... PASS zerotierone-1.16.0> [crypto] Benchmarking Ed25519 ECC signatures... 20.64ms per signature. zerotierone-1.16.0> [packet] Testing Packet encoder/decoder... (compressed: 77, decompressed: 1116) PASS zerotierone-1.16.0> [identity] Validate known-good identity... PASS (21.4ms per validation) zerotierone-1.16.0> [identity] Validate known-bad identity... PASS (i.e. it failed) zerotierone-1.16.0> [identity] Generate identity... (took 130ms): 3878495740:0:3e3437ad76f1d083d9f1643421e42f7eb6fdddeb0e9e0d578aef16a878e8f705152a5ceb0bdb3cbe896f7ff204ff8c57713dd8e3811d59a7cef8018f195ab068:52cc0ac8e272bec331cb993bbd855fe5c6d4709073db1fa9b77f29fa96f7ec6333c2686d6ece1a2db11305f751d2fc107a496cb85d85017005f9b8d9358ed45b zerotierone-1.16.0> [identity] Locally validate identity: PASS zerotierone-1.16.0> [identity] Generate identity... (took 22ms): 19f012b5e4:0:01968971aa12dfbf70f06b7a773febf0782053958ff329aa4ada41f60127371bc52ac1752b504e64cf7bcccef4595e2f289a3465957da829014106eb988a9175:fcf087adf45a46885782d56be3b3d10604f2de28982cac061bdc7ba85ca16d73dc4dd247afdf343ec0df22dea247a3045e3a17d81e89528ee3ba50e21f27a756 zerotierone-1.16.0> [identity] Locally validate identity: PASS zerotierone-1.16.0> [identity] Generate identity... (took 475ms): f4ca4892fd:0:040733beab8ed1b21159057ec26f36f8b8488df5e7d1a68b8afa333f8311af1c65fdd2e7ac2b6943ef734319ba76aafd4f5d3f5b63a64e156ebb3326264e7ee7:6f9708a0b144e0a67b6e81072086295b3ad02ff5f274a7b9d1c6a087284bc130dbaf97cbb97854e4332d9e0bb8f9e55d37ec5e4d0a739cb18873eb44f15901be zerotierone-1.16.0> [identity] Locally validate identity: PASS zerotierone-1.16.0> [identity] Generate identity... (took 131ms): de0616c632:0:39a77536bb47a81cfa2d5cb6d6b490c1e8e6c94212dbea5e91e30b946c14296bd052c50d38ee40b52c3991add9d519f60d0357cf412ae023cfc5629ce9abfab9:c8ac44226f0328046eb3299c2def409915e1346e6fa1b98a87632335d1847d486904c86aec952e39b05f0df536954b1912d86110f0368b75fbd0a590eaeaadb3 zerotierone-1.16.0> [identity] Locally validate identity: PASS zerotierone-1.16.0> [identity] Serialize and deserialize (w/private): PASS zerotierone-1.16.0> [identity] Serialize and deserialize (no private): PASS zerotierone-1.16.0> [identity] Serialize and deserialize (ASCII w/private): PASS zerotierone-1.16.0> [identity] Serialize and deserialize (ASCII no private): PASS zerotierone-1.16.0> [certificate] Generating identity to act as authority... 5dbba56d79 zerotierone-1.16.0> [certificate] Generating identities A and B... e9124b24af, 1454383849 zerotierone-1.16.0> [certificate] Generating certificates A and B... zerotierone-1.16.0> [certificate] Signing certificates A and B with authority... zerotierone-1.16.0> [certificate] A agrees with B and B with A... yes, yes. zerotierone-1.16.0> [certificate] Generating two certificates that should not agree... zerotierone-1.16.0> [certificate] A agrees with B and B with A... no, no. zerotierone-1.16.0> [phy] Creating phy endpoint... zerotierone-1.16.0> [phy] Binding UDP listen socket to 127.0.0.1/60002... OK zerotierone-1.16.0> [phy] Binding TCP listen socket to 127.0.0.1/60002... OK zerotierone-1.16.0> [phy] Testing UDP send/receive... got 10000 packets, OK zerotierone-1.16.0> [phy] Testing TCP... got 10 connect successes, 2 failures, and 10000000 bytes, OK zerotierone-1.16.0> Running phase: installPhase zerotierone-1.16.0> install flags: -j80 SHELL=/nix/store/z3x2qxagi8wqfx9n59frhdyml7njr9z2-bash-5.3p15/bin/bash pkgconfigdir=/nix/store/f0y2yhdm9x9q1971gj6p2hs7dwaalycm-zerotierone-1.16.0/lib/pkgconfig m4datadir=/nix/store/f0y2yhdm9x9q1971gj6p2hs7dwaalycm-zerotierone-1.16.0/share/aclocal aclocaldir=/nix/store/f0y2yhdm9x9q1971gj6p2hs7dwaalycm-zerotierone-1.16.0/share/aclocal -f make-linux.mk DESTDIR=\$\$out/upstream install zerotierone-1.16.0> mkdir -p $out/upstream/usr/sbin zerotierone-1.16.0> rm -f $out/upstream/usr/sbin/zerotier-one zerotierone-1.16.0> cp -f zerotier-one $out/upstream/usr/sbin/zerotier-one zerotierone-1.16.0> rm -f $out/upstream/usr/sbin/zerotier-cli zerotierone-1.16.0> rm -f $out/upstream/usr/sbin/zerotier-idtool zerotierone-1.16.0> ln -s zerotier-one $out/upstream/usr/sbin/zerotier-cli zerotierone-1.16.0> ln -s zerotier-one $out/upstream/usr/sbin/zerotier-idtool zerotierone-1.16.0> mkdir -p $out/upstream/var/lib/zerotier-one zerotierone-1.16.0> rm -f $out/upstream/var/lib/zerotier-one/zerotier-one zerotierone-1.16.0> rm -f $out/upstream/var/lib/zerotier-one/zerotier-cli zerotierone-1.16.0> rm -f $out/upstream/var/lib/zerotier-one/zerotier-idtool zerotierone-1.16.0> ln -s ../../../usr/sbin/zerotier-one $out/upstream/var/lib/zerotier-one/zerotier-one zerotierone-1.16.0> ln -s ../../../usr/sbin/zerotier-one $out/upstream/var/lib/zerotier-one/zerotier-cli zerotierone-1.16.0> ln -s ../../../usr/sbin/zerotier-one $out/upstream/var/lib/zerotier-one/zerotier-idtool zerotierone-1.16.0> mkdir -p $out/upstream/usr/share/man/man8 zerotierone-1.16.0> rm -f $out/upstream/usr/share/man/man8/zerotier-one.8.gz zerotierone-1.16.0> cat doc/zerotier-one.8 | gzip -9 >$out/upstream/usr/share/man/man8/zerotier-one.8.gz zerotierone-1.16.0> mkdir -p $out/upstream/usr/share/man/man1 zerotierone-1.16.0> rm -f $out/upstream/usr/share/man/man1/zerotier-idtool.1.gz zerotierone-1.16.0> rm -f $out/upstream/usr/share/man/man1/zerotier-cli.1.gz zerotierone-1.16.0> cat doc/zerotier-cli.1 | gzip -9 >$out/upstream/usr/share/man/man1/zerotier-cli.1.gz zerotierone-1.16.0> cat doc/zerotier-idtool.1 | gzip -9 >$out/upstream/usr/share/man/man1/zerotier-idtool.1.gz zerotierone-1.16.0> cp ext/installfiles/linux/zerotier-one.te $out/upstream/var/lib/zerotier-one/zerotier-one.te zerotierone-1.16.0> Running phase: fixupPhase zerotierone-1.16.0> shrinking RPATHs of ELF executables and libraries in /nix/store/f0y2yhdm9x9q1971gj6p2hs7dwaalycm-zerotierone-1.16.0 zerotierone-1.16.0> shrinking /nix/store/f0y2yhdm9x9q1971gj6p2hs7dwaalycm-zerotierone-1.16.0/bin/zerotier-one zerotierone-1.16.0> checking for references to /build/ in /nix/store/f0y2yhdm9x9q1971gj6p2hs7dwaalycm-zerotierone-1.16.0... zerotierone-1.16.0> patching script interpreter paths in /nix/store/f0y2yhdm9x9q1971gj6p2hs7dwaalycm-zerotierone-1.16.0 zerotierone-1.16.0> stripping (with command strip and flags -S -p) in /nix/store/f0y2yhdm9x9q1971gj6p2hs7dwaalycm-zerotierone-1.16.0/bin zerotierone-1.16.0> shrinking RPATHs of ELF executables and libraries in /nix/store/1g90r84906ji61kxbsywzkf4jibckn2f-zerotierone-1.16.0-man zerotierone-1.16.0> checking for references to /build/ in /nix/store/1g90r84906ji61kxbsywzkf4jibckn2f-zerotierone-1.16.0-man... zerotierone-1.16.0> gzipping man pages under /nix/store/1g90r84906ji61kxbsywzkf4jibckn2f-zerotierone-1.16.0-man/share/man/ zerotierone-1.16.0> �patching script interpreter paths in /nix/store/1g90r84906ji61kxbsywzkf4jibckn2f-zerotierone-1.16.0-man building '/nix/store/9m3vwg03y7bafvxaj4vi760dx9xjwnc3-closure-info.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/9m3vwg03y7bafvxaj4vi760dx9xjwnc3-closure-info.drv' closure-info> structuredAttrs is enabled building '/nix/store/5vil542pjmhihx2yjwyzxpawsdv35cnm-clan-pytest-with-core.drv' on 'ssh-ng://builder@build01.clan.lol' building '/nix/store/5vil542pjmhihx2yjwyzxpawsdv35cnm-clan-pytest-with-core.drv' clan-pytest-with-core> +++ export HOME=/build clan-pytest-with-core> +++ HOME=/build clan-pytest-with-core> +++ export NIX_STATE_DIR=/build/nix clan-pytest-with-core> +++ NIX_STATE_DIR=/build/nix clan-pytest-with-core> +++ export NIX_CONF_DIR=/build/etc clan-pytest-with-core> +++ NIX_CONF_DIR=/build/etc clan-pytest-with-core> +++ mkdir -p /build/etc clan-pytest-with-core> +++ echo 'fsync-metadata = false' clan-pytest-with-core> +++ export IN_NIX_SANDBOX=1 clan-pytest-with-core> +++ IN_NIX_SANDBOX=1 clan-pytest-with-core> +++ export CLAN_TEST_STORE=/build/store clan-pytest-with-core> +++ CLAN_TEST_STORE=/build/store clan-pytest-with-core> +++ export LOCK_NIX=/build/nix_lock clan-pytest-with-core> +++ LOCK_NIX=/build/nix_lock clan-pytest-with-core> +++ export CLAN_TEST_FLAKE_CACHE=/build/clan-flake-cache clan-pytest-with-core> +++ CLAN_TEST_FLAKE_CACHE=/build/clan-flake-cache clan-pytest-with-core> +++ mkdir -p /build/store/nix/store /build/clan-flake-cache clan-pytest-with-core> +++ mkdir -p /build/store/nix/var/nix/gcroots clan-pytest-with-core> +++ [[ -n /nix/store/p1mwqjzxqz5j0l79jwidzms8i3fa686j-closure-info ]] clan-pytest-with-core> ++++ nproc clan-pytest-with-core> +++ /nix/store/jz7krjna0192djzg5ac86pj1l2d38ifv-findutils-4.11.0/bin/xargs -r -P80 /nix/store/85k56vdxxb75xmgvxj4zhaawyafkchwh-coreutils-9.11/bin/cp --recursive --no-dereference --reflink=auto --target-directory /build/store/nix/store clan-pytest-with-core> +++ /nix/store/mm4yz6nxhv6pah729cbh1k46dlqq9k6m-nix-2.34.8/bin/nix-store --load-db --store /build/store clan-pytest-with-core> +++ export CLAN_CORE_PATH=/nix/store/vd92sqrgyhk48a7hbky0ij65dkx0882n-clan-core-flake clan-pytest-with-core> +++ CLAN_CORE_PATH=/nix/store/vd92sqrgyhk48a7hbky0ij65dkx0882n-clan-core-flake clan-pytest-with-core> +++ export PYTHONWARNINGS=error clan-pytest-with-core> +++ PYTHONWARNINGS=error clan-pytest-with-core> +++ export NIXPKGS=/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source clan-pytest-with-core> +++ NIXPKGS=/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source clan-pytest-with-core> +++ jobs=16 clan-pytest-with-core> +++ python -m pytest -m 'not impure and with_core ' -n 16 ./clan_cli ./clan_lib clan-pytest-with-core> Starting pytest session clan-pytest-with-core> Session config: <_pytest.config.Config object at 0xffffe840f380> clan-pytest-with-core> ============================= test session starts ============================== clan-pytest-with-core> platform linux -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0 clan-pytest-with-core> rootdir: /build/src clan-pytest-with-core> configfile: pyproject.toml clan-pytest-with-core> plugins: timeout-2.4.0, xdist-3.8.0, subprocess-1.6.0 clan-pytest-with-core> 16 workers [235 items] clan-pytest-with-core> scheduling tests via LoadScheduling clan-pytest-with-core> clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_legacy clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_multi_network_error clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_legacy_with_empty_skeletons clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_empty_when_passing clan-pytest-with-core> clan_lib/tests/test_create.py::test_clan_create_api clan-pytest-with-core> clan_lib/services/modules_test.py::test_delete_service_instance clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_role_max_machines_passes_across_instances clan-pytest-with-core> clan_lib/persist/inventory_store_test.py::test_manipulate_list[lists.nix] clan-pytest-with-core> clan_lib/machines/actions_test.py::test_list_machines_full clan-pytest-with-core> clan_lib/services/modules_test.py::test_get_service_readmes clan-pytest-with-core> clan_lib/persist/write_rules_test.py::test_write_integration clan-pytest-with-core> clan_lib/machines/actions_test.py::test_get_machine_writeability clan-pytest-with-core> clan_lib/flash/test_list.py::test_flash_config clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_flake_caching clan-pytest-with-core> clan_lib/machines/actions_test.py::test_set_machine_no_op clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_cache_gc clan-pytest-with-core> [gw15] [ 0%] PASSED clan_lib/flake/flake_cache_test.py::test_cache_gc clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_get_nonexistent_after_maybe clan-pytest-with-core> [gw15] [ 0%] PASSED clan_lib/flake/flake_cache_test.py::test_get_nonexistent_after_maybe clan-pytest-with-core> clan_lib/docs_test.py::test_guides_url_pages_exist clan-pytest-with-core> [gw3] [ 1%] PASSED clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_empty_when_passing clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_reports_error clan-pytest-with-core> [gw15] [ 1%] PASSED clan_lib/docs_test.py::test_guides_url_pages_exist clan-pytest-with-core> clan_lib/dirs/dirs_test.py::test_get_clan_directories_default clan-pytest-with-core> [gw3] [ 2%] PASSED clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_reports_error clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_role_max_machines clan-pytest-with-core> [gw3] [ 2%] PASSED clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_role_max_machines clan-pytest-with-core> clan_lib/clan/test_create.py::test_can_handle_path_without_slash clan-pytest-with-core> [gw15] [ 2%] PASSED clan_lib/dirs/dirs_test.py::test_get_clan_directories_default clan-pytest-with-core> clan_lib/dirs/dirs_test.py::test_get_clan_directories_invalid_flake clan-pytest-with-core> [gw15] [ 3%] PASSED clan_lib/dirs/dirs_test.py::test_get_clan_directories_invalid_flake clan-pytest-with-core> clan_lib/dirs/dirs_test.py::test_get_clan_directories_with_direct_directory_config clan-pytest-with-core> [gw15] [ 3%] PASSED clan_lib/dirs/dirs_test.py::test_get_clan_directories_with_direct_directory_config clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_simple clan-pytest-with-core> [gw3] [ 4%] PASSED clan_lib/clan/test_create.py::test_can_handle_path_without_slash clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_with_name clan-pytest-with-core> [gw15] [ 4%] PASSED clan_lib/clan/test_create.py::test_create_simple clan-pytest-with-core> clan_lib/clan/test_create.py::test_minimal_can_be_modified_by_api clan-pytest-with-core> [gw9] [ 5%] PASSED clan_lib/persist/inventory_store_test.py::test_manipulate_list[lists.nix] clan-pytest-with-core> clan_lib/persist/inventory_store_test.py::test_static_list_items[lists.nix] clan-pytest-with-core> [gw14] [ 5%] PASSED clan_lib/flake/flake_cache_test.py::test_flake_caching clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_cache_persistence clan-pytest-with-core> [gw9] [ 5%] PASSED clan_lib/persist/inventory_store_test.py::test_static_list_items[lists.nix] clan-pytest-with-core> clan_lib/machines/actions_test.py::test_list_nixos_machines clan-pytest-with-core> [gw3] [ 6%] PASSED clan_lib/clan/test_create.py::test_create_with_name clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_substitutes_placeholders[default] clan-pytest-with-core> [gw15] [ 6%] PASSED clan_lib/clan/test_create.py::test_minimal_can_be_modified_by_api clan-pytest-with-core> clan_lib/clan/test_create.py::test_default_cant_be_modified_by_api clan-pytest-with-core> [gw3] [ 7%] PASSED clan_lib/clan/test_create.py::test_create_substitutes_placeholders[default] clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_substitutes_placeholders[minimal] clan-pytest-with-core> [gw9] [ 7%] PASSED clan_lib/machines/actions_test.py::test_list_nixos_machines clan-pytest-with-core> clan_lib/clan/get_test.py::test_get_clan_details clan-pytest-with-core> [gw15] [ 8%] PASSED clan_lib/clan/test_create.py::test_default_cant_be_modified_by_api clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_invalid_name clan-pytest-with-core> [gw15] [ 8%] PASSED clan_lib/clan/test_create.py::test_create_invalid_name clan-pytest-with-core> clan_lib/clan/get_test.py::test_get_clan_details_invalid_flake clan-pytest-with-core> [gw15] [ 8%] PASSED clan_lib/clan/get_test.py::test_get_clan_details_invalid_flake clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_users_with_directory_setting clan-pytest-with-core> [gw3] [ 9%] PASSED clan_lib/clan/test_create.py::test_create_substitutes_placeholders[minimal] clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_relative_clan_directory_invalid_flake clan-pytest-with-core> [gw3] [ 9%] PASSED clan_lib/api/directory_test.py::test_get_relative_clan_directory_invalid_flake clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_clan_dir_default clan-pytest-with-core> [gw9] [ 10%] PASSED clan_lib/clan/get_test.py::test_get_clan_details clan-pytest-with-core> clan_lib/clan/check_test.py::test_check_clan_valid clan-pytest-with-core> [gw3] [ 10%] PASSED clan_lib/api/directory_test.py::test_get_clan_dir_default clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_clan_dir_custom clan-pytest-with-core> [gw3] [ 11%] PASSED clan_lib/api/directory_test.py::test_get_clan_dir_custom clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_vars_keygen_with_directory_setting clan-pytest-with-core> [gw3] [ 11%] PASSED clan_lib/api/directory_settings_test.py::test_vars_keygen_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_list_with_directory_setting clan-pytest-with-core> [gw9] [ 11%] PASSED clan_lib/clan/check_test.py::test_check_clan_valid clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_relative_clan_directory_default clan-pytest-with-core> [gw15] [ 12%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_users_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_users_list_with_directory_setting clan-pytest-with-core> [gw9] [ 12%] PASSED clan_lib/api/directory_test.py::test_get_relative_clan_directory_default clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_relative_clan_directory_custom clan-pytest-with-core> [gw9] [ 13%] PASSED clan_lib/api/directory_test.py::test_get_relative_clan_directory_custom clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_vars_generate_with_directory_setting clan-pytest-with-core> [gw15] [ 13%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_users_list_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_machines_with_directory_setting clan-pytest-with-core> [gw14] [ 14%] PASSED clan_lib/flake/flake_cache_test.py::test_cache_persistence clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_caching_works clan-pytest-with-core> [gw3] [ 14%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_list_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_groups_with_directory_setting clan-pytest-with-core> [gw15] [ 14%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_machines_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_set_with_directory_setting clan-pytest-with-core> [gw14] [ 15%] PASSED clan_lib/flake/flake_cache_test.py::test_caching_works clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_multi_machine_shared_vars clan-pytest-with-core> [gw8] [ 15%] PASSED clan_lib/persist/write_rules_test.py::test_write_integration clan-pytest-with-core> clan_lib/persist/inventory_store_test.py::test_simple_read_write[1.nix] clan-pytest-with-core> [gw15] [ 16%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_set_with_directory_setting clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_shared_generator_allows_machine_specific_differences clan-pytest-with-core> [gw1] [ 16%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_multi_network_error clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_mixed_state clan-pytest-with-core> [gw6] [ 17%] PASSED clan_lib/services/modules_test.py::test_get_service_readmes clan-pytest-with-core> clan_lib/services/modules_test.py::test_list_service_modules clan-pytest-with-core> [gw3] [ 17%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_groups_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_remove_with_directory_setting clan-pytest-with-core> [gw0] [ 17%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_legacy clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_canonical clan-pytest-with-core> [gw1] [ 18%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_mixed_state clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_canonical_shared_only clan-pytest-with-core> [gw3] [ 18%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_remove_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_key_generate_with_directory_setting clan-pytest-with-core> [gw6] [ 19%] PASSED clan_lib/services/modules_test.py::test_list_service_modules clan-pytest-with-core> clan_lib/services/modules_test.py::test_update_service_instance clan-pytest-with-core> [gw3] [ 19%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_key_generate_with_directory_setting clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_age_fix_keeps_all_recipients_on_shared_deployed_secret clan-pytest-with-core> [gw12] [ 20%] FAILED clan_lib/machines/actions_test.py::test_get_machine_writeability clan-pytest-with-core> clan_lib/machines/actions_test.py::test_machine_state clan-pytest-with-core> [gw0] [ 20%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_canonical clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_idempotent clan-pytest-with-core> [gw7] [ 20%] PASSED clan_lib/services/modules_test.py::test_delete_service_instance clan-pytest-with-core> clan_lib/services/modules_test.py::test_delete_static_service_instance clan-pytest-with-core> [gw12] [ 21%] PASSED clan_lib/machines/actions_test.py::test_machine_state clan-pytest-with-core> clan_lib/flash/test_list.py::test_language_list clan-pytest-with-core> [gw12] [ 21%] PASSED clan_lib/flash/test_list.py::test_language_list clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_get_generator_prompt_previous_values clan-pytest-with-core> [gw1] [ 22%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_canonical_shared_only clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_sops_fix_skips_add_for_no_deploy_shared_secret clan-pytest-with-core> [gw0] [ 22%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_idempotent clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_prompt clan-pytest-with-core> [gw8] [ 22%] PASSED clan_lib/persist/inventory_store_test.py::test_simple_read_write[1.nix] clan-pytest-with-core> clan_lib/persist/inventory_store_test.py::test_simple_deferred[deferred.nix] clan-pytest-with-core> [gw7] [ 23%] PASSED clan_lib/services/modules_test.py::test_delete_static_service_instance clan-pytest-with-core> clan_lib/services/modules_test.py::test_inline_extra_modules clan-pytest-with-core> [gw7] [ 23%] PASSED clan_lib/services/modules_test.py::test_inline_extra_modules clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_secret_var_password_store clan-pytest-with-core> [gw6] [ 24%] PASSED clan_lib/services/modules_test.py::test_update_service_instance clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_export_sops_import_age clan-pytest-with-core> [gw9] [ 24%] PASSED clan_lib/api/directory_settings_test.py::test_vars_generate_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_vars_generate_age_with_directory_setting clan-pytest-with-core> [gw10] [ 25%] PASSED clan_lib/machines/actions_test.py::test_list_machines_full clan-pytest-with-core> clan_lib/machines/actions_test.py::test_list_inventory_machines clan-pytest-with-core> [gw4] [ 25%] PASSED clan_lib/tests/test_inventory_checks.py::test_role_max_machines_passes_across_instances clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_role_min_machines_passes_across_instances clan-pytest-with-core> [gw10] [ 25%] PASSED clan_lib/machines/actions_test.py::test_list_inventory_machines clan-pytest-with-core> clan_lib/machines/actions_test.py::test_list_machines_instance_refs clan-pytest-with-core> [gw4] [ 26%] PASSED clan_lib/tests/test_inventory_checks.py::test_role_min_machines_passes_across_instances clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_role_min_machines_fails_in_one_of_two_instances clan-pytest-with-core> [gw15] [ 26%] PASSED clan_cli/tests/test_vars_shared.py::test_shared_generator_allows_machine_specific_differences clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_generate_removes_stale_machine_symlink_when_deploy_becomes_false clan-pytest-with-core> [gw2] [ 27%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_legacy_with_empty_skeletons clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_old_final_real clan-pytest-with-core> [gw10] [ 27%] PASSED clan_lib/machines/actions_test.py::test_list_machines_instance_refs clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_create_sops_age_secrets clan-pytest-with-core> [gw4] [ 28%] PASSED clan_lib/tests/test_inventory_checks.py::test_role_min_machines_fails_in_one_of_two_instances clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_sops_fix_skips_add_for_no_deploy_per_machine_secret clan-pytest-with-core> [gw8] [ 28%] PASSED clan_lib/persist/inventory_store_test.py::test_simple_deferred[deferred.nix] clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_public_and_secret_vars clan-pytest-with-core> [gw10] [ 28%] PASSED clan_cli/tests/test_vars_generate.py::test_create_sops_age_secrets clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_sops_fix_commits_all_changes clan-pytest-with-core> [gw2] [ 29%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_old_final_real clan-pytest-with-core> clan_lib/tests/test_known_selectors.py::test_known_selectors_exist clan-pytest-with-core> [gw0] [ 29%] PASSED clan_cli/tests/test_vars_prompts.py::test_prompt clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_prompt_prefill_on_regeneration clan-pytest-with-core> [gw3] [ 30%] PASSED clan_cli/tests/test_vars_shared.py::test_age_fix_keeps_all_recipients_on_shared_deployed_secret clan-pytest-with-core> [gw12] [ 30%] PASSED clan_cli/tests/test_vars_prompts.py::test_get_generator_prompt_previous_values clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_password_store_set_shared_var_for_multiple_machines clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_persisted_prompt_reused_not_reasked clan-pytest-with-core> [gw9] [ 31%] PASSED clan_lib/api/directory_settings_test.py::test_vars_generate_age_with_directory_setting clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_shared_vars_regeneration clan-pytest-with-core> [gw1] [ 31%] PASSED clan_cli/tests/test_vars_shared.py::test_sops_fix_skips_add_for_no_deploy_shared_secret clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_sops_set_shared_var_for_multiple_machines clan-pytest-with-core> [gw7] [ 31%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_secret_var_password_store clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_secret_for_multiple_machines clan-pytest-with-core> [gw14] [ 32%] PASSED clan_cli/tests/test_vars_shared.py::test_multi_machine_shared_vars clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_add_machine_to_existing_shared_secret clan-pytest-with-core> [gw11] [ 32%] PASSED clan_lib/machines/actions_test.py::test_set_machine_no_op clan-pytest-with-core> clan_lib/machines/actions_test.py::test_set_machine_fully_defined_in_nix clan-pytest-with-core> [gw11] [ 33%] PASSED clan_lib/machines/actions_test.py::test_set_machine_fully_defined_in_nix clan-pytest-with-core> clan_lib/machines/actions_test.py::test_set_machine_manage_tags clan-pytest-with-core> [gw4] [ 33%] PASSED clan_cli/tests/test_vars_generate.py::test_sops_fix_skips_add_for_no_deploy_per_machine_secret clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_flake_level_generators clan-pytest-with-core> [gw10] [ 34%] PASSED clan_cli/tests/test_vars_generate.py::test_sops_fix_commits_all_changes clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_groups_add_secret_commits_changes clan-pytest-with-core> [gw15] [ 34%] PASSED clan_cli/tests/test_vars_shared.py::test_generate_removes_stale_machine_symlink_when_deploy_becomes_false clan-pytest-with-core> [gw4] [ 34%] FAILED clan_cli/tests/test_vars_generate.py::test_flake_level_generators clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_shared_vars_must_never_depend_on_machine_specific_vars clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_sops_fix_removes_machine_from_no_deploy_shared_secret clan-pytest-with-core> [gw11] [ 35%] PASSED clan_lib/machines/actions_test.py::test_set_machine_manage_tags clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_generator_script_fails_with_nonzero_exit clan-pytest-with-core> [gw3] [ 35%] PASSED clan_cli/tests/test_vars_shared.py::test_password_store_set_shared_var_for_multiple_machines clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_cross_machine_shared_dependency clan-pytest-with-core> [gw10] [ 36%] PASSED clan_cli/tests/test_vars_generate.py::test_groups_add_secret_commits_changes clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_shared_generator_conflicting_definition_raises_error clan-pytest-with-core> [gw7] [ 36%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_secret_for_multiple_machines clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_stdout_of_generate clan-pytest-with-core> [gw12] [ 37%] PASSED clan_cli/tests/test_vars_prompts.py::test_persisted_prompt_reused_not_reasked clan-pytest-with-core> clan_cli/tests/test_vars_generate_inventory_checks.py::test_vars_generate_blocked_by_check_errors clan-pytest-with-core> [gw12] [ 37%] PASSED clan_cli/tests/test_vars_generate_inventory_checks.py::test_vars_generate_blocked_by_check_errors clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_ensure_machine_key clan-pytest-with-core> [gw15] [ 37%] PASSED clan_cli/tests/test_vars_shared.py::test_sops_fix_removes_machine_from_no_deploy_shared_secret clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_generate_secret_var_age clan-pytest-with-core> [gw10] [ 38%] PASSED clan_cli/tests/test_vars_errors.py::test_shared_generator_conflicting_definition_raises_error clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_accessing_path_before_generate_shows_helpful_error clan-pytest-with-core> [gw12] [ 38%] PASSED clan_cli/tests/test_vars_age.py::test_age_ensure_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_ensure_machine_key_provisions_age_keygen clan-pytest-with-core> [gw13] [ 39%] PASSED clan_lib/flash/test_list.py::test_flash_config clan-pytest-with-core> clan_lib/flash/test_list.py::test_list_keymaps clan-pytest-with-core> [gw12] [ 39%] PASSED clan_cli/tests/test_vars_age.py::test_age_ensure_machine_key_provisions_age_keygen clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_set_and_get_shared clan-pytest-with-core> [gw13] [ 40%] PASSED clan_lib/flash/test_list.py::test_list_keymaps clan-pytest-with-core> clan_lib/flake/flake_test.py::test_conditional_all_selector clan-pytest-with-core> [gw4] [ 40%] PASSED clan_cli/tests/test_vars_errors.py::test_shared_vars_must_never_depend_on_machine_specific_vars clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_fails_when_files_are_left_from_other_backend clan-pytest-with-core> [gw13] [ 40%] PASSED clan_lib/flake/flake_test.py::test_conditional_all_selector clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_populate_dir clan-pytest-with-core> [gw11] [ 41%] PASSED clan_cli/tests/test_vars_errors.py::test_generator_script_fails_with_nonzero_exit clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_circular_dependency_raises_error clan-pytest-with-core> [gw12] [ 41%] PASSED clan_cli/tests/test_vars_age.py::test_age_set_and_get_shared clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_shared_finds_any_machine_key clan-pytest-with-core> [gw13] [ 42%] PASSED clan_cli/tests/test_vars_age.py::test_age_populate_dir clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_shared_reencrypt clan-pytest-with-core> [gw1] [ 42%] PASSED clan_cli/tests/test_vars_shared.py::test_sops_set_shared_var_for_multiple_machines clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_age_set_shared_var_for_multiple_machines clan-pytest-with-core> [gw12] [ 42%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_shared_finds_any_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_delete_cleanup clan-pytest-with-core> [gw12] [ 43%] PASSED clan_cli/tests/test_vars_age.py::test_age_delete_cleanup clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_delete_store_leaves_shared_secrets_untouched clan-pytest-with-core> [gw13] [ 43%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_shared_reencrypt clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_sidecar_created_for_shared_secret clan-pytest-with-core> [gw12] [ 44%] PASSED clan_cli/tests/test_vars_age.py::test_age_delete_store_leaves_shared_secrets_untouched clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_deploy_false_per_machine_encrypted_to_user_keys clan-pytest-with-core> [gw13] [ 44%] PASSED clan_cli/tests/test_vars_age.py::test_age_sidecar_created_for_shared_secret clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_deploy_false_shared_encrypted_to_user_keys clan-pytest-with-core> [gw12] [ 45%] PASSED clan_cli/tests/test_vars_age.py::test_age_deploy_false_per_machine_encrypted_to_user_keys clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_deploy_true_per_machine_encrypted_to_machine_key clan-pytest-with-core> [gw13] [ 45%] PASSED clan_cli/tests/test_vars_age.py::test_age_deploy_false_shared_encrypted_to_user_keys clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_deploy_true_shared_encrypted_to_machine_keys clan-pytest-with-core> [gw12] [ 45%] PASSED clan_cli/tests/test_vars_age.py::test_age_deploy_true_per_machine_encrypted_to_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_deploy_false_per_machine_rekeys_on_user_change clan-pytest-with-core> [gw13] [ 46%] PASSED clan_cli/tests/test_vars_age.py::test_age_deploy_true_shared_encrypted_to_machine_keys clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_deploy_false_shared_rekeys_on_user_change clan-pytest-with-core> [gw12] [ 46%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_deploy_false_per_machine_rekeys_on_user_change clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_transition_deploy_true_to_false_per_machine clan-pytest-with-core> [gw11] [ 47%] PASSED clan_cli/tests/test_vars_errors.py::test_circular_dependency_raises_error clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_error_get_no_machine_key clan-pytest-with-core> [gw6] [ 47%] PASSED clan_cli/tests/test_vars_shared.py::test_export_sops_import_age clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_export_age_import_sops clan-pytest-with-core> [gw12] [ 48%] PASSED clan_cli/tests/test_vars_age.py::test_age_transition_deploy_true_to_false_per_machine clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_transition_deploy_true_to_false_shared clan-pytest-with-core> [gw13] [ 48%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_deploy_false_shared_rekeys_on_user_change clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_transition_deploy_false_to_true_per_machine clan-pytest-with-core> [gw13] [ 48%] PASSED clan_cli/tests/test_vars_age.py::test_age_transition_deploy_false_to_true_per_machine clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_works_for_deploy_false_per_machine clan-pytest-with-core> [gw14] [ 49%] PASSED clan_cli/tests/test_vars_shared.py::test_add_machine_to_existing_shared_secret clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_share_mode_switch_regenerates_secret clan-pytest-with-core> [gw13] [ 49%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_works_for_deploy_false_per_machine clan-pytest-with-core> [gw12] [ 50%] PASSED clan_cli/tests/test_vars_age.py::test_age_transition_deploy_true_to_false_shared clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_works_for_deploy_false_shared clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_transition_deploy_false_to_true_shared clan-pytest-with-core> [gw11] [ 50%] PASSED clan_cli/tests/test_vars_age.py::test_age_error_get_no_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_error_missing_machine_pubkey clan-pytest-with-core> [gw11] [ 51%] PASSED clan_cli/tests/test_vars_age.py::test_age_error_missing_machine_pubkey clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_reencrypts_when_recipients_changed clan-pytest-with-core> [gw13] [ 51%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_works_for_deploy_false_shared clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_sidecar_created_for_machine_key clan-pytest-with-core> [gw13] [ 51%] PASSED clan_cli/tests/test_vars_age.py::test_age_sidecar_created_for_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_rekeys_machine_key_when_user_key_removed clan-pytest-with-core> [gw12] [ 52%] PASSED clan_cli/tests/test_vars_age.py::test_age_transition_deploy_false_to_true_shared clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_skips_when_recipients_unchanged clan-pytest-with-core> [gw11] [ 52%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_reencrypts_when_recipients_changed clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_rekeys_machine_key_when_user_key_added clan-pytest-with-core> [gw15] [ 53%] PASSED clan_cli/tests/test_vars_age.py::test_generate_secret_var_age clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_generate_secret_var_age_minimal_select_calls clan-pytest-with-core> [gw12] [ 53%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_skips_when_recipients_unchanged clan-pytest-with-core> clan_cli/tests/test_upload_single_file.py::test_upload_single_file clan-pytest-with-core> [gw2] [ 54%] FAILED clan_lib/tests/test_known_selectors.py::test_known_selectors_exist clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_exports_without_generators_evaluates clan-pytest-with-core> [gw11] [ 54%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_rekeys_machine_key_when_user_key_added clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_users clan-pytest-with-core> [gw12] [ 54%] PASSED clan_cli/tests/test_upload_single_file.py::test_upload_single_file clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_machines clan-pytest-with-core> [gw13] [ 55%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_rekeys_machine_key_when_user_key_removed clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_noop_when_nothing_changed clan-pytest-with-core> [gw13] [ 55%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_noop_when_nothing_changed clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_gpg clan-pytest-with-core> [gw3] [ 56%] PASSED clan_cli/tests/test_vars_shared.py::test_cross_machine_shared_dependency clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_identity_env_vars [localhost] $ clan secrets users add --flake /build/pytest-934pj7pe/test_flake_with_core --pgp-key 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 testuser clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:1036::test_secrets_key_generate_gpg clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-934pj7pe/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/cd43f9621528074298c3aa4225f2fb4f9ed0b707 clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-934pj7pe/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-934pj7pe/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-934pj7pe/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-934pj7pe/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-934pj7pe/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user testuser' \ clan-pytest-with-core> --no-verify /build/pytest-934pj7pe/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/testuser to git clan-pytest-with-core> clan-pytest-with-core> [gw3] [ 56%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_identity_env_vars clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_identity_fallback_paths clan-pytest-with-core> [gw2] [ 57%] PASSED clan_cli/tests/test_vars_generate.py::test_exports_without_generators_evaluates clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_binary_secret_roundtrip clan-pytest-with-core> [gw5] [ 57%] PASSED clan_lib/tests/test_create.py::test_clan_create_api clan-pytest-with-core> clan_lib/tags/list_test.py::test_list_inventory_tags clan-pytest-with-core> [gw3] [ 57%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_identity_fallback_paths clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_new_appends [localhost] $ clan secrets set --flake /build/pytest-934pj7pe/test_flake_with_core secret-name clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:1070::test_secrets_key_generate_gpg clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-934pj7pe/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/54b86d14be0b6e542a560b177dcd598efa52450b clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/54b86d14be0b6e542a560b177dcd598efa52450b clan-pytest-with-core> Found PGP public key in the environment (SOPS_PGP_FP): 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp9d2ujk1a \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpvoswi7xy clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-934pj7pe/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-934pj7pe/test_flake_with_core/sops/secrets/secret-name/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/secret-name/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-934pj7pe/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-934pj7pe/test_flake_with_core/sops/secrets/secret-name/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/secret-name/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-934pj7pe/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-934pj7pe/test_flake_with_core/sops/secrets/secret-name/users/testuser \ clan-pytest-with-core> /build/pytest-934pj7pe/test_flake_with_core/sops/secrets/secret-name/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-934pj7pe/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update secret-name' \ clan-pytest-with-core> --no-verify /build/pytest-934pj7pe/test_flake_with_core/sops/secrets/secret-name/users/testuser \ clan-pytest-with-core> /build/pytest-934pj7pe/test_flake_with_core/sops/secrets/secret-name/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/secret-name/users/testuser, sops/secrets/secret-name/secret clan-pytest-with-core> clan-pytest-with-core> [gw3] [ 58%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_new_appends clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machine_subcommands [localhost] $ clan secrets users remove --flake /build/pytest-oqclt4vi/test_flake_with_core foo clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:142::_test_identities clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-oqclt4vi/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/431e83b08ae80b950cfadd18c700cf74224bd98f clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> clan-pytest-with-core> [gw13] [ 58%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_gpg clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets_users_add_age_plugin_error Loading flake cache from file /build/clan-flake-cache/flakes-v2/431e83b08ae80b950cfadd18c700cf74224bd98f clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmptaybapx7 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-oqclt4vi/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:39 Syncing keys for file /build/pytest-oqclt4vi/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhuh9xtefhgpr2sjjf7gmp9q2pr37z92rv4wsadxuqdx48989g7qj552qp clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:39 File /build/pytest-oqclt4vi/test_flake_with_core/sops/secrets/user_secret/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-oqclt4vi/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-oqclt4vi/test_flake_with_core/sops/users/foo clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/foo to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-oqclt4vi/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-oqclt4vi/test_flake_with_core/sops/secrets/user_secret/users/foo clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/user_secret/users/foo to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-oqclt4vi/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-oqclt4vi/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/user_secret/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-oqclt4vi/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-oqclt4vi/test_flake_with_core/sops/users/foo \ clan-pytest-with-core> /build/pytest-oqclt4vi/test_flake_with_core/sops/secrets/user_secret/users/foo \ clan-pytest-with-core> /build/pytest-oqclt4vi/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-oqclt4vi/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove user foo' \ clan-pytest-with-core> --no-verify /build/pytest-oqclt4vi/test_flake_with_core/sops/users/foo \ clan-pytest-with-core> /build/pytest-oqclt4vi/test_flake_with_core/sops/secrets/user_secret/users/foo \ clan-pytest-with-core> /build/pytest-oqclt4vi/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/users/foo, sops/secrets/user_secret/users/foo, sops/secrets/user_secret/secret clan-pytest-with-core> [localhost] $ clan secrets users remove --flake /build/pytest-oqclt4vi/test_flake_with_core foo clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:148::_test_identities clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-oqclt4vi/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw13] [ 59%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets_users_add_age_plugin_error clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machines_update_with_tags warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> [localhost] $ clan secrets machines remove --flake /build/pytest-xcbjoph8/test_flake_with_core foo clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:142::_test_identities clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-xcbjoph8/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/50a839f367a4669e29d0a837da032e503b0a33b1 clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> clan-pytest-with-core> [gw5] [ 59%] PASSED clan_lib/tags/list_test.py::test_list_inventory_tags clan-pytest-with-core> clan_lib/services/modules_test.py::test_list_service_instances clan-pytest-with-core> [gw13] [ 60%] PASSED clan_cli/tests/test_machines_cli.py::test_machines_update_with_tags clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machines_update_nonexistent_machine Loading flake cache from file /build/clan-flake-cache/flakes-v2/50a839f367a4669e29d0a837da032e503b0a33b1 clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpro0wm__j \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-xcbjoph8/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:39 Syncing keys for file /build/pytest-xcbjoph8/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhuh9xtefhgpr2sjjf7gmp9q2pr37z92rv4wsadxuqdx48989g7qj552qp clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:39 File /build/pytest-xcbjoph8/test_flake_with_core/sops/secrets/machine_secret/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-xcbjoph8/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-xcbjoph8/test_flake_with_core/sops/machines/foo clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> warning: could not open directory 'sops/machines/': No such file or directory clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/machines/foo to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-xcbjoph8/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-xcbjoph8/test_flake_with_core/sops/secrets/machine_secret/machines/foo clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/machine_secret/machines/foo to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-xcbjoph8/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-xcbjoph8/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/machine_secret/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-xcbjoph8/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-xcbjoph8/test_flake_with_core/sops/machines/foo \ clan-pytest-with-core> /build/pytest-xcbjoph8/test_flake_with_core/sops/secrets/machine_secret/machines/foo \ clan-pytest-with-core> /build/pytest-xcbjoph8/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-xcbjoph8/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove machine foo' \ clan-pytest-with-core> --no-verify /build/pytest-xcbjoph8/test_flake_with_core/sops/machines/foo \ clan-pytest-with-core> /build/pytest-xcbjoph8/test_flake_with_core/sops/secrets/machine_secret/machines/foo \ clan-pytest-with-core> /build/pytest-xcbjoph8/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/machines/foo, sops/secrets/machine_secret/machines/foo, sops/secrets/machine_secret/secret clan-pytest-with-core> clan-pytest-with-core> [gw10] [ 60%] PASSED clan_cli/tests/test_vars_errors.py::test_accessing_path_before_generate_shows_helpful_error clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_rekey_machine_key Loading flake cache from file /build/clan-flake-cache/flakes-v2/25bae8faec79d2c0c3a05c7c1d1689da42a98228 clan-pytest-with-core> [localhost] $ clan secrets machines remove --flake /build/pytest-xcbjoph8/test_flake_with_core foo clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:148::_test_identities clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-xcbjoph8/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> clan-pytest-with-core> [gw11] [ 60%] PASSED clan_cli/tests/test_secrets_cli.py::test_users clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_groups clan-pytest-with-core> [gw11] [ 61%] SKIPPED clan_cli/tests/test_secrets_cli.py::test_groups clan-pytest-with-core> clan_cli/tests/test_inventory_serde.py::test_inventory_deserialize_variants[test_flake_with_core0] clan-pytest-with-core> [gw13] [ 61%] PASSED clan_cli/tests/test_machines_cli.py::test_machines_update_nonexistent_machine clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machine_delete Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> clan-pytest-with-core> [gw10] [ 62%] PASSED clan_cli/tests/test_vars_age.py::test_age_rekey_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_set_and_get_per_machine Loading flake cache from file /build/clan-flake-cache/flakes-v2/97e83a8b6d5349528a39f29c4c6e10af0e80df98 clan-pytest-with-core> clan-pytest-with-core> [gw12] [ 62%] PASSED clan_cli/tests/test_secrets_cli.py::test_machines clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets clan-pytest-with-core> [gw10] [ 62%] PASSED clan_cli/tests/test_vars_age.py::test_age_set_and_get_per_machine clan-pytest-with-core> [gw11] [ 63%] PASSED clan_cli/tests/test_inventory_serde.py::test_inventory_deserialize_variants[test_flake_with_core0] clan-pytest-with-core> clan_cli/tests/test_install_secret_path.py::test_sops_install_secret_path[custom] clan-pytest-with-core> clan_cli/tests/test_inventory_serde.py::test_inventory_deserialize_variants[test_flake_with_core1] [localhost] $ clan machines delete --flake /build/pytest-igz7ox_q/test_flake_with_core machine1 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_machines_cli.py:99::test_machine_subcommands clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-igz7ox_q/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/734e7eb5af5aab78784fccbadad5acf0bf27c12e clan-pytest-with-core> (cached) $ clan select 'clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta}' clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-igz7ox_q/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-igz7ox_q/test_flake_with_core/inventory.json clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding inventory.json to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-igz7ox_q/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-igz7ox_q/test_flake_with_core/inventory.json clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-igz7ox_q/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'inventory.json: delete keys {('"'"'machines'"'"', '"'"'machine1'"'"')}' \ clan-pytest-with-core> --no-verify /build/pytest-igz7ox_q/test_flake_with_core/inventory.json clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed inventory.json to git clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/734e7eb5af5aab78784fccbadad5acf0bf27c12e clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."machine1".config.clan.core.vars.settings.publicModule clan-pytest-with-core> [localhost] $ clan secrets key generate --flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:655::test_secrets clan-pytest-with-core> clan-pytest-with-core> age-keygen clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:382::generate_private_key clan-pytest-with-core> clan-pytest-with-core> Public key: age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:382::generate_private_key clan-pytest-with-core> clan-pytest-with-core> Generated age private key at '/build/pytest-eol6kq_r/test_flake_with_core/../age.key' for your user. clan-pytest-with-core> Please back it up on a secure location or you will lose access to your secrets. clan-pytest-with-core> Generated new AGE key age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> Add your age public key to the repository with: clan-pytest-with-core> clan secrets users add --age-key age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> clan-pytest-with-core> [gw2] [ 63%] PASSED clan_cli/tests/test_vars_generate.py::test_binary_secret_roundtrip clan-pytest-with-core> [gw5] [ 64%] PASSED clan_lib/services/modules_test.py::test_list_service_instances clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machines_update_typo_in_machine_name clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_reports_registered_user [localhost] $ clan secrets users add --flake /build/pytest-eol6kq_r/test_flake_with_core testuser age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:667::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/cd43f9621528074298c3aa4225f2fb4f9ed0b707 clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user testuser' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/testuser to git clan-pytest-with-core> clan-pytest-with-core> [gw11] [ 64%] PASSED clan_cli/tests/test_inventory_serde.py::test_inventory_deserialize_variants[test_flake_with_core1] clan-pytest-with-core> clan_cli/tests/test_install_secret_path.py::test_password_store_upload_directory[custom] [localhost] $ clan secrets get --flake /build/pytest-eol6kq_r/test_flake_with_core nonexisting clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:680::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> clan-pytest-with-core> [gw5] [ 65%] PASSED clan_cli/tests/test_machines_cli.py::test_machines_update_typo_in_machine_name clan-pytest-with-core> clan_cli/tests/test_hardware_config.py::test_should_prompt_for_hardware_config [localhost] $ clan secrets set --flake /build/pytest-eol6kq_r/test_flake_with_core initialkey clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:690::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/4bf2450b6286545e8733244ab8e7ef9a8aa40371 clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in /build/pytest-eol6kq_r/test_flake_with_core/../age.key: age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpvc146067 \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmp0mjf46w6 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/initialkey/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/initialkey/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey/users/testuser \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update initialkey' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey/users/testuser \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw5] [ 65%] PASSED clan_cli/tests/test_hardware_config.py::test_should_prompt_for_hardware_config Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/initialkey/users/testuser, sops/secrets/initialkey/secret clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_generate_secret_var_password_store_minimal_select_calls clan-pytest-with-core> [gw2] [ 65%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_reports_registered_user clan-pytest-with-core> clan_cli/tests/test_hardware_config.py::test_should_prompt_for_facter_update clan-pytest-with-core> [gw2] [ 66%] PASSED clan_cli/tests/test_hardware_config.py::test_should_prompt_for_facter_update clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_cache_misses_for_vars_operations [localhost] $ clan secrets set --edit --flake /build/pytest-eol6kq_r/test_flake_with_core initialkey clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:703::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in /build/pytest-eol6kq_r/test_flake_with_core/../age.key: age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> clan-pytest-with-core> [gw9] [ 66%] PASSED clan_cli/tests/test_vars_shared.py::test_shared_vars_regeneration File has not changed, exiting. clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/initialkey/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_non_existing_dependency_raises_error [localhost] $ clan secrets rename --flake /build/pytest-eol6kq_r/test_flake_with_core initialkey key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:715::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/initialkey to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: rename initialkey to key' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/initialkey \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/initialkey, sops/secrets/key clan-pytest-with-core> [localhost] $ clan secrets machines add --flake /build/pytest-eol6kq_r/test_flake_with_core machine1 age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:748::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/machines/machine1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add machine machine1' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/machines/machine1 to git clan-pytest-with-core> [localhost] $ clan secrets machines add-secret --flake /build/pytest-eol6kq_r/test_flake_with_core machine1 key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:759::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp9s6yr0if \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:41 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:41 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/machines/machine1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/machines/machine1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'vars: add machine1 to secret sops/secrets/key' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/machines/machine1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/machines/machine1, sops/secrets/key/secret clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/734e7eb5af5aab78784fccbadad5acf0bf27c12e clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."machine1".config.clan.core.vars.settings.secretModule clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets machines add --flake /build/pytest-eol6kq_r/test_flake_with_core -f machine1 AGE-SECRET-KEY-1KF8E3SR3TTGL6M476SKF7EEMR4H9NF7ZWYSLJUAK8JX276JC7KUSSURKFK clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:784::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpm1hnqpc8 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:42 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> +++ age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:42 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/machines/machine1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/machines/machine1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add machine machine1' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/machines/machine1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/machines/machine1, sops/secrets/key/secret clan-pytest-with-core> [localhost] $ clan secrets machines remove-secret --flake /build/pytest-eol6kq_r/test_flake_with_core machine1 key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:805::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpi0ott6ta \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:42 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> --- age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> 2026/08/28 08:17:42 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> warning: could not open directory 'sops/secrets/key/machines/': No such file or directory clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/machines/machine1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/machines/machine1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'vars: remove machine1 from secret key' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/machines/machine1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/machines/machine1, sops/secrets/key/secret clan-pytest-with-core> [localhost] $ clan secrets users add --flake /build/pytest-eol6kq_r/test_flake_with_core user1 age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:817::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/user1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user1' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/user1 to git clan-pytest-with-core> [localhost] $ clan secrets users add-secret --flake /build/pytest-eol6kq_r/test_flake_with_core user1 key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:828::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp50vu3n_t \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:42 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:42 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/users/user1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/users/user1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user1 to key' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/users/user1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/users/user1, sops/secrets/key/secret clan-pytest-with-core> [localhost] $ clan secrets users remove-secret --flake /build/pytest-eol6kq_r/test_flake_with_core user1 key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:842::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp2092pd_3 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:42 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:42 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/users/user1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/users/user1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove user user1 from key' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/users/user1 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/users/user1, sops/secrets/key/secret clan-pytest-with-core> [localhost] $ clan secrets groups add-secret --flake /build/pytest-eol6kq_r/test_flake_with_core admin-group key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:855::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> clan-pytest-with-core> [gw1] [ 67%] PASSED clan_cli/tests/test_vars_shared.py::test_age_set_shared_var_for_multiple_machines clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_no_sidecar_for_per_machine_secret [localhost] $ clan secrets groups add-user --flake /build/pytest-eol6kq_r/test_flake_with_core admin-group user1 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:866::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/groups/admin-group/users/user1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user1 to group admin-group' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/groups/admin-group/users/user1 to git clan-pytest-with-core> clan-pytest-with-core> [gw15] [ 67%] PASSED clan_cli/tests/test_vars_age.py::test_generate_secret_var_age_minimal_select_calls [localhost] $ clan secrets groups add-user --flake /build/pytest-eol6kq_r/test_flake_with_core admin-group testuser clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:877::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_multiple_user_keys Loading flake cache from file /build/clan-flake-cache/flakes-v2/734e7eb5af5aab78784fccbadad5acf0bf27c12e clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Prefetching flake /build/pytest-igz7ox_q/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/groups/admin-group/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user testuser to group admin-group' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/groups/admin-group/users/testuser to git clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> clan-pytest-with-core> [gw1] [ 68%] PASSED clan_cli/tests/test_vars_age.py::test_age_no_sidecar_for_per_machine_secret clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_get_generators_only_decrypts_requested_machines [localhost] $ clan secrets groups add-secret --flake /build/pytest-eol6kq_r/test_flake_with_core admin-group key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:888::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp5xsqkrup \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:43 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:43 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/groups/admin-group clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/groups/admin-group to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/groups/admin-group \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add group admin-group to secret key' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/groups/admin-group \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/groups/admin-group, sops/secrets/key/secret clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-eol6kq_r/test_flake_with_core --group admin-group key2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:900::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in /build/pytest-eol6kq_r/test_flake_with_core/../age.key: age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp5js_fdwi \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpyoos2uuv clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw3] [ 68%] PASSED clan_cli/tests/test_machines_cli.py::test_machine_subcommands clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machine_create_with_custom_directory Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/groups/admin-group clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/groups/admin-group to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/groups/admin-group \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/users/testuser \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update key2' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/groups/admin-group \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/users/testuser \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/secrets/key2/groups/admin-group, sops/secrets/key2/users/testuser, sops/secrets/key2/secret clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-tu5oeaep/test_flake_with_core bob_secret_QDGfnnASaw clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> [localhost] $ clan secrets users add --flake /build/pytest-eol6kq_r/test_flake_with_core --pgp-key 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 user2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:920::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/user2 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user2' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/user2 to git clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets groups add-user --flake /build/pytest-eol6kq_r/test_flake_with_core admin-group user2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:934::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp_2mli_fb \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpw503n1rq clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/users/bob clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_QDGfnnASaw/users/bob to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_QDGfnnASaw/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/users/bob \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update bob_secret_QDGfnnASaw' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/users/bob \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpftqia3tq \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/bob_secret_QDGfnnASaw/users/bob, sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> 2026/08/28 08:17:43 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> +++ 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> 2026/08/28 08:17:43 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpraax04j5 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:43 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> +++ 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> 2026/08/28 08:17:43 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/groups/admin-group/users/user2 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/user2 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user2 to group admin-group' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/user2 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/groups/admin-group/users/user2, sops/secrets/key/secret, sops/secrets/key2/secret clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-tu5oeaep/test_flake_with_core bob_secret_jzLTzdKYsU clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp7dbnw2r5 \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpz7h53gdu clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/users/bob clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_jzLTzdKYsU/users/bob to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets groups remove-user --flake /build/pytest-eol6kq_r/test_flake_with_core admin-group user2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:953::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_jzLTzdKYsU/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/users/bob \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update bob_secret_jzLTzdKYsU' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/users/bob \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/bob_secret_jzLTzdKYsU/users/bob, sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpz3agz4pj \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:44 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> --- 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> 2026/08/28 08:17:44 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpj7xppegz \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:44 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> --- 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> 2026/08/28 08:17:44 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/groups/admin-group/users/user2 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/user2 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove user user2 from group admin-group' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/groups/admin-group/users/user2 \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/groups/admin-group/users/user2, sops/secrets/key/secret, sops/secrets/key2/secret clan-pytest-with-core> clan-pytest-with-core> [gw0] [ 68%] PASSED clan_cli/tests/test_vars_prompts.py::test_prompt_prefill_on_regeneration [localhost] $ clan secrets users remove-key --flake /build/pytest-tu5oeaep/test_flake_with_core bob age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:296::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_api_set_prompts warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpnhpa_yix \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:44 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:44 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpjaof0zzk \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:44 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:44 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/bob clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/bob to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_QDGfnnASaw/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_jzLTzdKYsU/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/bob \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove key(s) for user bob' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/users/bob \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/users/bob, sops/secrets/bob_secret_QDGfnnASaw/secret, sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> [localhost] $ clan secrets groups remove-secret --flake /build/pytest-eol6kq_r/test_flake_with_core admin-group key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:973::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> [localhost] $ clan secrets users add-key --flake /build/pytest-tu5oeaep/test_flake_with_core bob age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:316::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmps6kp9vw1 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp9oz__jx4 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:44 Syncing keys for file /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1ux3sppk72vz9e4qxvwsvas36u7nc7jt2ht0xwe2yuhvcngwcm96snmre9f clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:44 File /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/groups/admin-group clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> warning: could not open directory 'sops/secrets/key/groups/': No such file or directory clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/groups/admin-group to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/groups/admin-group \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove group admin-group from secret key' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/groups/admin-group \ clan-pytest-with-core> /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/groups/admin-group, sops/secrets/key/secret clan-pytest-with-core> 2026/08/28 08:17:44 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:44 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpxze1tt9_ \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:44 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/28 08:17:44 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets remove --flake /build/pytest-eol6kq_r/test_flake_with_core key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:985::test_secrets clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/bob clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/bob to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_QDGfnnASaw/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_jzLTzdKYsU/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/bob \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add key(s) for user bob' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/users/bob \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_QDGfnnASaw/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/users/bob, sops/secrets/bob_secret_QDGfnnASaw/secret, sops/secrets/bob_secret_jzLTzdKYsU/secret clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove key' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/secrets/key to git clan-pytest-with-core> [localhost] $ clan secrets users add --flake /build/pytest-tu5oeaep/test_flake_with_core alice --age-key=age1dhuh9xtefhgpr2sjjf7gmp9q2pr37z92rv4wsadxuqdx48989g7qj552qp clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:209::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/alice clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/alice to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/alice clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user alice' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/users/alice clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets remove --flake /build/pytest-eol6kq_r/test_flake_with_core key2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:986::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-eol6kq_r/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/alice to git clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> clan-pytest-with-core> [gw7] [ 69%] PASSED clan_cli/tests/test_vars_generate.py::test_stdout_of_generate git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_identity_none_found Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-eol6kq_r/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove key2' \ clan-pytest-with-core> --no-verify /build/pytest-eol6kq_r/test_flake_with_core/sops/secrets/key2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/secrets/key2 to git clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-tu5oeaep/test_flake_with_core alice_secret_zNnnaTcdzh clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw3] [ 69%] PASSED clan_cli/tests/test_machines_cli.py::test_machine_create_with_custom_directory clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_ui_template clan-pytest-with-core> [gw12] [ 70%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets clan-pytest-with-core> clan_cli/tests/test_install_secret_path.py::test_password_store_upload_directory[default] warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw7] [ 70%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_identity_none_found clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_health_check Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1dhuh9xtefhgpr2sjjf7gmp9q2pr37z92rv4wsadxuqdx48989g7qj552qp clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpn2uzuri0 \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpmpkw4uqs clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/alice_secret_zNnnaTcdzh/users/alice clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/alice_secret_zNnnaTcdzh/users/alice to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/alice_secret_zNnnaTcdzh/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/alice_secret_zNnnaTcdzh/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/alice_secret_zNnnaTcdzh/users/alice \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/alice_secret_zNnnaTcdzh/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update alice_secret_zNnnaTcdzh' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/alice_secret_zNnnaTcdzh/users/alice \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/alice_secret_zNnnaTcdzh/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/alice_secret_zNnnaTcdzh/users/alice, sops/secrets/alice_secret_zNnnaTcdzh/secret clan-pytest-with-core> clan-pytest-with-core> [gw9] [ 71%] PASSED clan_cli/tests/test_vars_errors.py::test_non_existing_dependency_raises_error clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_generator_script_missing_output_file clan-pytest-with-core> [gw14] [ 71%] PASSED clan_cli/tests/test_vars_shared.py::test_share_mode_switch_regenerates_secret clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_populate_dir_skips_deploy_false [localhost] $ clan secrets users add --flake /build/pytest-tu5oeaep/test_flake_with_core charlie --age-key=age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y --age-key=age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv --age-key=age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:209::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user charlie' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/charlie to git clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-tu5oeaep/test_flake_with_core charlie_secret_IlCktFYDxU clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw14] [ 71%] PASSED clan_cli/tests/test_vars_age.py::test_age_populate_dir_skips_deploy_false clan-pytest-with-core> clan_cli/templates/list_test.py::test_templates_list warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw7] [ 72%] PASSED clan_cli/tests/test_vars_age.py::test_age_health_check clan-pytest-with-core> clan_cli/tests/test_clan_nix_attrset.py::test_clan_core_templates Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpd51j1aby \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpgc9h9h6q clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_IlCktFYDxU/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_IlCktFYDxU/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update charlie_secret_IlCktFYDxU' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/charlie_secret_IlCktFYDxU/users/charlie, sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> clan-pytest-with-core> [gw11] [ 72%] PASSED clan_cli/tests/test_install_secret_path.py::test_password_store_upload_directory[custom] clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_invalidation [localhost] $ clan secrets set --flake /build/pytest-tu5oeaep/test_flake_with_core charlie_secret_AWjFUFBSXN clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpp75vef19 \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpa6krg6ab clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_AWjFUFBSXN/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_AWjFUFBSXN/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update charlie_secret_AWjFUFBSXN' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/charlie_secret_AWjFUFBSXN/users/charlie, sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-tu5oeaep/test_flake_with_core charlie_secret_CahJTIAnBZ clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpckq4ifyo \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmp19wvqhvh clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw14] [ 73%] PASSED clan_cli/templates/list_test.py::test_templates_list Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> clan_cli/templates/list_test.py::test_templates_list_outside_clan git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_CahJTIAnBZ/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_CahJTIAnBZ/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update charlie_secret_CahJTIAnBZ' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/charlie_secret_CahJTIAnBZ/users/charlie, sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> [localhost] $ clan secrets users remove-key --flake /build/pytest-tu5oeaep/test_flake_with_core charlie age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:296::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw14] [ 73%] PASSED clan_cli/templates/list_test.py::test_templates_list_outside_clan clan-pytest-with-core> clan_cli/ssh/test_deploy_info.py::test_ssh_shell_from_deploy warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpzkmc8hlt \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:45 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> --- age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/28 08:17:45 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp7cf5i70e \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:45 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> --- age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/28 08:17:45 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp2n6zdau_ \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:45 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> --- age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/28 08:17:45 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_AWjFUFBSXN/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_CahJTIAnBZ/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_IlCktFYDxU/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove key(s) for user charlie' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 4 files to git: sops/users/charlie, sops/secrets/charlie_secret_AWjFUFBSXN/secret, sops/secrets/charlie_secret_CahJTIAnBZ/secret, sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> [localhost] $ clan secrets users add-key --flake /build/pytest-tu5oeaep/test_flake_with_core charlie age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:316::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-tu5oeaep/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-9pijsdqe/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:152::test_ui_template clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpku9j02ka \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:46 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> +++ age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/28 08:17:46 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmps9rcbdcb \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> evaluating ''... clan-pytest-with-core> 2026/08/28 08:17:46 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> +++ age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/28 08:17:46 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpu8uokrrc \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/28 08:17:46 Syncing keys for file /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> +++ age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/28 08:17:46 File /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_AWjFUFBSXN/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_CahJTIAnBZ/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_IlCktFYDxU/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-tu5oeaep/test_flake_with_core/sops/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-tu5oeaep/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add key(s) for user charlie' \ clan-pytest-with-core> --no-verify /build/pytest-tu5oeaep/test_flake_with_core/sops/users/charlie \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_AWjFUFBSXN/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_CahJTIAnBZ/secret \ clan-pytest-with-core> /build/pytest-tu5oeaep/test_flake_with_core/sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 4 files to git: sops/users/charlie, sops/secrets/charlie_secret_AWjFUFBSXN/secret, sops/secrets/charlie_secret_CahJTIAnBZ/secret, sops/secrets/charlie_secret_IlCktFYDxU/secret clan-pytest-with-core> clan-pytest-with-core> [gw15] [ 74%] PASSED clan_cli/tests/test_secrets_cli.py::test_multiple_user_keys Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:152::test_ui_template clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw3] [ 74%] PASSED clan_cli/tests/test_create_flake.py::test_ui_template clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake_fallback_from_non_clan_directory clan-pytest-with-core> [gw5] [ 74%] PASSED clan_cli/tests/test_vars_cache.py::test_generate_secret_var_password_store_minimal_select_calls clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_generate_secret_var_sops_minimal_select_calls clan-pytest-with-core> [gw3] [ 75%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake_fallback_from_non_clan_directory clan-pytest-with-core> clan_cli/machines/update_test.py::test_get_machines_for_update_tags_and_name[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw4] [ 75%] PASSED clan_cli/tests/test_vars_errors.py::test_fails_when_files_are_left_from_other_backend clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_incremental_generate_shared_secret clan-pytest-with-core> [gw3] [ 76%] PASSED clan_cli/machines/update_test.py::test_get_machines_for_update_tags_and_name[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> clan_cli/machines/machines_test.py::test_inventory_machine_detect_class[test_flake_with_core0] clan-pytest-with-core> [gw8] [ 76%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_public_and_secret_vars clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_secret_var_sops_with_default_group nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-lv256f96/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:60::test_create_flake clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> clan-pytest-with-core> [gw3] [ 77%] PASSED clan_cli/machines/machines_test.py::test_inventory_machine_detect_class[test_flake_with_core0] clan-pytest-with-core> clan_cli/machines/list_test.py::test_machines_list_with_tags_no_matches evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'devShells'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin.default'... clan-pytest-with-core> warning: devShells.aarch64-darwin.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.aarch64-linux'... clan-pytest-with-core> evaluating 'devShells.aarch64-linux.default'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux.default'... clan-pytest-with-core> warning: devShells.x86_64-linux.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:60::test_create_flake clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw15] [ 77%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake clan-pytest-with-core> clan_cli/machines/update_test.py::test_get_machines_for_update_tags[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw3] [ 77%] PASSED clan_cli/machines/list_test.py::test_machines_list_with_tags_no_matches clan-pytest-with-core> clan_cli/machines/install_test.py::test_install_resolves_target_from_inventory clan-pytest-with-core> [gw10] [ 78%] PASSED clan_cli/tests/test_install_secret_path.py::test_sops_install_secret_path[custom] clan-pytest-with-core> clan_cli/tests/test_import_sops_cli.py::test_import_sops clan-pytest-with-core> [gw14] [ 78%] PASSED clan_cli/ssh/test_deploy_info.py::test_ssh_shell_from_deploy clan-pytest-with-core> clan_cli/machines/update_test.py::test_get_machines_for_update_single_name[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw3] [ 79%] PASSED clan_cli/machines/install_test.py::test_install_resolves_target_from_inventory clan-pytest-with-core> clan_cli/machines/install_test.py::test_install_prefers_explicit_target_host_flag clan-pytest-with-core> [gw14] [ 79%] PASSED clan_cli/machines/update_test.py::test_get_machines_for_update_single_name[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw3] [ 80%] PASSED clan_cli/machines/install_test.py::test_install_prefers_explicit_target_host_flag clan-pytest-with-core> clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core1-explicit_names1-filter_tags1-expected_names1] clan-pytest-with-core> [gw14] [ 80%] PASSED clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core2-explicit_names2-filter_tags2-expected_names2] clan-pytest-with-core> [gw9] [ 80%] PASSED clan_cli/tests/test_vars_errors.py::test_generator_script_missing_output_file clan-pytest-with-core> clan_cli/tests/test_backups.py::test_backups clan-pytest-with-core> [gw3] [ 81%] PASSED clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core1-explicit_names1-filter_tags1-expected_names1] clan-pytest-with-core> clan_cli/machines/build_test.py::test_get_machines_for_build_nonexistent_machine clan-pytest-with-core> [gw12] [ 81%] PASSED clan_cli/tests/test_install_secret_path.py::test_password_store_upload_directory[default] clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake_with_local_template_reference clan-pytest-with-core> [gw14] [ 82%] PASSED clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core2-explicit_names2-filter_tags2-expected_names2] clan-pytest-with-core> clan_cli/machines/build_test.py::test_build_machine_without_hostplatform_raises_friendly_error[test_flake_with_core0] clan-pytest-with-core> [gw3] [ 82%] PASSED clan_cli/machines/build_test.py::test_get_machines_for_build_nonexistent_machine clan-pytest-with-core> clan_cli/init_test.py::test_init_existing_git clan-pytest-with-core> [gw2] [ 82%] PASSED clan_cli/tests/test_vars_cache.py::test_cache_misses_for_vars_operations clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_dynamic_invalidation clan-pytest-with-core> [gw13] [ 83%] PASSED clan_cli/tests/test_machines_cli.py::test_machine_delete clan-pytest-with-core> clan_cli/tests/test_install_secret_path.py::test_sops_install_secret_path[default] clan-pytest-with-core> [gw0] [ 83%] PASSED clan_cli/tests/test_vars_prompts.py::test_api_set_prompts clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake_in_git_repo_without_flake_nix clan-pytest-with-core> [gw12] [ 84%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake_with_local_template_reference clan-pytest-with-core> clan_cli/init_test.py::test_init_minimal_template clan-pytest-with-core> [gw0] [ 84%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake_in_git_repo_without_flake_nix clan-pytest-with-core> clan_cli/flash/list_test.py::test_flash_list_languages clan-pytest-with-core> [gw0] [ 85%] PASSED clan_cli/flash/list_test.py::test_flash_list_languages clan-pytest-with-core> clan_cli/completions_test.py::test_complete_machines clan-pytest-with-core> [gw0] [ 85%] PASSED clan_cli/completions_test.py::test_complete_machines clan-pytest-with-core> clan_cli/completions_test.py::test_complete_machines_with_prefix clan-pytest-with-core> [gw6] [ 85%] PASSED clan_cli/tests/test_vars_shared.py::test_export_age_import_sops clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_import_survives_generate clan-pytest-with-core> [gw0] [ 86%] PASSED clan_cli/completions_test.py::test_complete_machines_with_prefix clan-pytest-with-core> clan_cli/completions_test.py::test_complete_machines_without_flake clan-pytest-with-core> [gw0] [ 86%] PASSED clan_cli/completions_test.py::test_complete_machines_without_flake clan-pytest-with-core> clan_cli/clan/show_test.py::test_clan_show clan-pytest-with-core> [gw14] [ 87%] PASSED clan_cli/machines/build_test.py::test_build_machine_without_hostplatform_raises_friendly_error[test_flake_with_core0] clan-pytest-with-core> clan_cli/init_test.py::test_init_fallback_from_non_clan_directory clan-pytest-with-core> [gw7] [ 87%] PASSED clan_cli/tests/test_clan_nix_attrset.py::test_clan_core_templates clan-pytest-with-core> clan_cli/templates/apply_test.py::test_templates_apply_machine_and_disk nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-1sfk5qfe/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:101::test_init_existing_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw10] [ 88%] PASSED clan_cli/tests/test_import_sops_cli.py::test_import_sops warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> clan-pytest-with-core> clan_cli/machines/install_test.py::test_install_prints_destructive_warning_by_default clan-pytest-with-core> [gw0] [ 88%] PASSED clan_cli/clan/show_test.py::test_clan_show evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'devShells'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin.default'... clan-pytest-with-core> warning: devShells.aarch64-darwin.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.aarch64-linux'... clan-pytest-with-core> evaluating 'devShells.aarch64-linux.default'... clan-pytest-with-core> clan-pytest-with-core> [gw10] [ 88%] PASSED clan_cli/machines/install_test.py::test_install_prints_destructive_warning_by_default evaluating 'devShells.x86_64-linux'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux.default'... clan-pytest-with-core> warning: devShells.x86_64-linux.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:101::test_init_existing_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw3] [ 89%] PASSED clan_cli/init_test.py::test_init_existing_git clan-pytest-with-core> clan_cli/init_test.py::test_init_with_local_template_reference nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-w3afjnwx/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:146::test_init_minimal_template clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> clan-pytest-with-core> [gw14] [ 89%] PASSED clan_cli/init_test.py::test_init_fallback_from_non_clan_directory clan-pytest-with-core> [gw15] [ 90%] PASSED clan_cli/machines/update_test.py::test_get_machines_for_update_tags[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> clan_cli/machines/install_test.py::test_install_errors_without_target_host evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:146::test_init_minimal_template clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw12] [ 90%] PASSED clan_cli/init_test.py::test_init_minimal_template clan-pytest-with-core> clan_cli/flash/list_test.py::test_flash_list_keymaps clan-pytest-with-core> [gw12] [ 91%] PASSED clan_cli/flash/list_test.py::test_flash_list_keymaps clan-pytest-with-core> [gw3] [ 91%] PASSED clan_cli/init_test.py::test_init_with_local_template_reference clan-pytest-with-core> [gw7] [ 91%] PASSED clan_cli/templates/apply_test.py::test_templates_apply_machine_and_disk clan-pytest-with-core> [gw9] [ 92%] PASSED clan_cli/tests/test_backups.py::test_backups clan-pytest-with-core> clan_cli/init_test.py::test_init clan-pytest-with-core> [gw15] [ 92%] PASSED clan_cli/machines/install_test.py::test_install_errors_without_target_host clan-pytest-with-core> [gw5] [ 93%] PASSED clan_cli/tests/test_vars_cache.py::test_generate_secret_var_sops_minimal_select_calls clan-pytest-with-core> clan_cli/machines/update_test.py::test_get_machines_for_update_implicit_all[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw1] [ 93%] PASSED clan_cli/tests/test_vars_cache.py::test_get_generators_only_decrypts_requested_machines clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake_existing_git nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-cnum7psj/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:54::test_init clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'devShells'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin.default'... clan-pytest-with-core> warning: devShells.aarch64-darwin.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.aarch64-linux'... clan-pytest-with-core> evaluating 'devShells.aarch64-linux.default'... clan-pytest-with-core> clan-pytest-with-core> [gw8] [ 94%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_secret_var_sops_with_default_group clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_shared_secret_sops evaluating 'devShells.x86_64-linux'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux.default'... clan-pytest-with-core> warning: devShells.x86_64-linux.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:54::test_init clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw9] [ 94%] PASSED clan_cli/init_test.py::test_init nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-r6qsju8b/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:107::test_create_flake_existing_git clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'devShells'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin.default'... clan-pytest-with-core> warning: devShells.aarch64-darwin.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.aarch64-linux'... clan-pytest-with-core> evaluating 'devShells.aarch64-linux.default'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux.default'... clan-pytest-with-core> warning: devShells.x86_64-linux.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:107::test_create_flake_existing_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw1] [ 94%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake_existing_git clan-pytest-with-core> [gw4] [ 95%] PASSED clan_cli/tests/test_vars_age.py::test_age_incremental_generate_shared_secret clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_error_get_nonexistent clan-pytest-with-core> [gw4] [ 95%] PASSED clan_cli/tests/test_vars_age.py::test_age_error_get_nonexistent clan-pytest-with-core> [gw5] [ 96%] PASSED clan_cli/machines/update_test.py::test_get_machines_for_update_implicit_all[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw13] [ 96%] PASSED clan_cli/tests/test_install_secret_path.py::test_sops_install_secret_path[default] clan-pytest-with-core> clan_cli/generate_test_vars/test_generate_test_vars.py::test_generate_test_vars clan-pytest-with-core> [gw6] [ 97%] PASSED clan_cli/tests/test_vars_shared.py::test_import_survives_generate clan-pytest-with-core> clan_cli/completions_test.py::test_complete_machines_with_created_machine clan-pytest-with-core> [gw6] [ 97%] PASSED clan_cli/completions_test.py::test_complete_machines_with_created_machine clan-pytest-with-core> [gw2] [ 97%] PASSED clan_cli/tests/test_vars_cache.py::test_dynamic_invalidation clan-pytest-with-core> clan_cli/init_test.py::test_init_substitutes_placeholders clan-pytest-with-core> [gw11] [ 98%] PASSED clan_cli/tests/test_vars_cache.py::test_invalidation clan-pytest-with-core> clan_cli/ssh/test_deploy_info.py::test_qrcode_scan clan-pytest-with-core> [gw2] [ 98%] PASSED clan_cli/init_test.py::test_init_substitutes_placeholders clan-pytest-with-core> [gw11] [ 99%] PASSED clan_cli/ssh/test_deploy_info.py::test_qrcode_scan clan-pytest-with-core> [gw8] [ 99%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_shared_secret_sops clan-pytest-with-core> [gw13] [100%] PASSED clan_cli/generate_test_vars/test_generate_test_vars.py::test_generate_test_vars clan-pytest-with-core> clan-pytest-with-core> =================================== FAILURES =================================== clan-pytest-with-core> ________________________ test_get_machine_writeability _________________________ clan-pytest-with-core> [gw12] linux -- Python 3.14.7 /nix/store/lfh101cfjj8p8npcari9hk0lbqi33yvh-python3-3.14.7/bin/python clan-pytest-with-core> clan-pytest-with-core> clan_flake = .factory at 0xffffe5f46140> clan-pytest-with-core> clan-pytest-with-core> @pytest.mark.broken_on_darwin clan-pytest-with-core> @pytest.mark.with_core clan-pytest-with-core> def test_get_machine_writeability(clan_flake: Callable[..., Flake]) -> None: clan-pytest-with-core> flake = clan_flake( clan-pytest-with-core> clan={ clan-pytest-with-core> "inventory": { clan-pytest-with-core> "machines": { clan-pytest-with-core> "jon": { clan-pytest-with-core> "machineClass": "nixos", # Static string is not writable clan-pytest-with-core> "deploy": {}, # Empty dict is writable clan-pytest-with-core> # TODO: Return writability for existing items clan-pytest-with-core> "tags": ["nix1"], # Static list is not partially writable clan-pytest-with-core> }, clan-pytest-with-core> }, clan-pytest-with-core> }, clan-pytest-with-core> }, clan-pytest-with-core> ) clan-pytest-with-core> clan-pytest-with-core> # TODO: Move this into the api clan-pytest-with-core> inventory_store = InventoryStore(flake=flake) clan-pytest-with-core> inventory = inventory_store.read() clan-pytest-with-core> curr_tags: InstanceRoleTagListInput = get_value_by_path( clan-pytest-with-core> inventory, "machines.jon.tags", [] clan-pytest-with-core> ) clan-pytest-with-core> new_tags = ["managed1", "managed2"] clan-pytest-with-core> set_value_by_path(inventory, "machines.jon.tags", [*curr_tags, *new_tags]) clan-pytest-with-core> inventory_store.write(inventory, message="test writeability") clan-pytest-with-core> clan-pytest-with-core> # Check that the tags were updated clan-pytest-with-core> persisted = inventory_store._get_persisted() clan-pytest-with-core> assert get_value_by_path(persisted, "machines.jon.tags", []) == new_tags clan-pytest-with-core> clan-pytest-with-core> attribute_props = get_machine_fields_schema(Machine("jon", flake)) clan-pytest-with-core> clan-pytest-with-core> # {'tags': {'writable': True, 'reason': None}, 'machineClass': {'writable': False, 'reason': None}, 'name': {'writable': False, 'reason': None}, 'description': {'writable': True, 'reason': None}, 'deploy.buildHost': {'writable': True, 'reason': None}, 'icon': {'writable': True, 'reason': None}, 'deploy.targetHost': {'writable': True, 'reason': None}} clan-pytest-with-core> writable_fields = { clan-pytest-with-core> field for field, info in attribute_props.items() if not info["readonly"] clan-pytest-with-core> } clan-pytest-with-core> read_only_fields = { clan-pytest-with-core> field for field, info in attribute_props.items() if info["readonly"] clan-pytest-with-core> } clan-pytest-with-core> clan-pytest-with-core> > assert writable_fields == { clan-pytest-with-core> "tags", clan-pytest-with-core> "deploy.targetHost", clan-pytest-with-core> "deploy.buildHost", clan-pytest-with-core> "deploy.forwardAgent", clan-pytest-with-core> "description", clan-pytest-with-core> "icon", clan-pytest-with-core> "installedAt", clan-pytest-with-core> } clan-pytest-with-core> E AssertionError: assert {'deploy.buil...alledAt', ...} == {'deploy.buil...alledAt', ...} clan-pytest-with-core> E clan-pytest-with-core> E Extra items in the left set: clan-pytest-with-core> E 'nixpkgs' clan-pytest-with-core> E clan-pytest-with-core> E Full diff: clan-pytest-with-core> E { clan-pytest-with-core> E 'deploy.buildHost',... clan-pytest-with-core> E clan-pytest-with-core> E ...Full output truncated (8 lines hidden), use '-vv' to show clan-pytest-with-core> clan-pytest-with-core> clan_lib/machines/actions_test.py:308: AssertionError clan-pytest-with-core> ---------------------------- Captured stderr setup ----------------------------- clan-pytest-with-core> nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> lock \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: ~/src/clan_lib/fixtures/flake_hooks.py:18::substitute_flake_inputs clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> warning: creating lock file "/build/pytest-of-nixbld/pytest-0/popen-gw12/minimal-clan-template0/offline/flake.lock": clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU': clan-pytest-with-core> 'path:/nix/store/vd92sqrgyhk48a7hbky0ij65dkx0882n-clan-core-flake?lastModified=1&narHash=sha256-d2Kw0N1V1pvyxia%2Be3qrK65Q6VOzi0DysVrAsWYA8To%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/data-mesher': clan-pytest-with-core> 'path:/nix/store/p9gq9k97rzqwpmd650cbkw656ipicd29-source?lastModified=1&narHash=sha256-H3RXKAi9vd3WVoMUuq2Qb0Ig8dPgLlknW1A%2BRAP4CnQ%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/data-mesher/flake-parts': clan-pytest-with-core> follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/flake-parts' clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/data-mesher/nixpkgs': clan-pytest-with-core> follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/data-mesher/treefmt-nix': clan-pytest-with-core> follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/treefmt-nix' clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/disko': clan-pytest-with-core> 'path:/nix/store/w2c23ykc12mswlg8hrrjzb5gv9gvkzwq-source?lastModified=1&narHash=sha256-RxWs5ND31KzTG7wvMM%2BPMfUjyNpmIEr999lqNARaM5o%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/disko/nixpkgs': clan-pytest-with-core> follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/flake-parts': clan-pytest-with-core> 'path:/nix/store/s0fpxz3rvfip9bc50wfmwpigxiyl6nkg-source?lastModified=1&narHash=sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/flake-parts/nixpkgs-lib': clan-pytest-with-core> follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nix-darwin': clan-pytest-with-core> 'path:/nix/store/8ggr67sci43hlp8ba6rhjrdhhj5490am-source?lastModified=1&narHash=sha256-oQFip%2Bv0luP8NIxJzmiW4Wu8bILsbFWom5l0zonl8hQ%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nix-darwin/nixpkgs': clan-pytest-with-core> follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nix-select': clan-pytest-with-core> 'path:/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source?lastModified=1&narHash=sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs': clan-pytest-with-core> 'path:/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source?lastModified=0&narHash=sha256-4Opnii0iGg8Dk8/rZ2IYh/HCHvg1B%2BUs5%2BQg%2BQy5c18%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/sops-nix': clan-pytest-with-core> 'path:/nix/store/s154mmk8ahvc71gq8xfkbzlk240yvniv-source?lastModified=1&narHash=sha256-gkig4nPi1CWc4Z50GBsjE4ygSE7hMpl/TwID2an2Cck%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/sops-nix/nixpkgs': clan-pytest-with-core> follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/systems': clan-pytest-with-core> 'path:/nix/store/9m1jsz5b9ggmjij2vkmafnhn26g96jjn-source?lastModified=1&narHash=sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/treefmt-nix': clan-pytest-with-core> 'path:/nix/store/7sjy8935654h3220n5gbaclf5nfw4nzx-source?lastModified=1&narHash=sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE%3D' (1970-01-01) clan-pytest-with-core> • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/treefmt-nix/nixpkgs': clan-pytest-with-core> follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> • Added input 'nixpkgs': clan-pytest-with-core> follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/fixtures/flake_hooks.py:18::substitute_flake_inputs clan-pytest-with-core> clan-pytest-with-core> ------------------------------ Captured log setup ------------------------------ clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> lock \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: ~/src/clan_lib/fixtures/flake_hooks.py:18::substitute_flake_inputs clan-pytest-with-core> clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: creating lock file "/build/pytest-of-nixbld/pytest-0/popen-gw12/minimal-clan-template0/offline/flake.lock": clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/vd92sqrgyhk48a7hbky0ij65dkx0882n-clan-core-flake?lastModified=1&narHash=sha256-d2Kw0N1V1pvyxia%2Be3qrK65Q6VOzi0DysVrAsWYA8To%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/data-mesher': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/p9gq9k97rzqwpmd650cbkw656ipicd29-source?lastModified=1&narHash=sha256-H3RXKAi9vd3WVoMUuq2Qb0Ig8dPgLlknW1A%2BRAP4CnQ%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/data-mesher/flake-parts': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/flake-parts' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/data-mesher/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/data-mesher/treefmt-nix': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/treefmt-nix' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/disko': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/w2c23ykc12mswlg8hrrjzb5gv9gvkzwq-source?lastModified=1&narHash=sha256-RxWs5ND31KzTG7wvMM%2BPMfUjyNpmIEr999lqNARaM5o%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/disko/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/flake-parts': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/s0fpxz3rvfip9bc50wfmwpigxiyl6nkg-source?lastModified=1&narHash=sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/flake-parts/nixpkgs-lib': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nix-darwin': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/8ggr67sci43hlp8ba6rhjrdhhj5490am-source?lastModified=1&narHash=sha256-oQFip%2Bv0luP8NIxJzmiW4Wu8bILsbFWom5l0zonl8hQ%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nix-darwin/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nix-select': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source?lastModified=1&narHash=sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source?lastModified=0&narHash=sha256-4Opnii0iGg8Dk8/rZ2IYh/HCHvg1B%2BUs5%2BQg%2BQy5c18%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/sops-nix': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/s154mmk8ahvc71gq8xfkbzlk240yvniv-source?lastModified=1&narHash=sha256-gkig4nPi1CWc4Z50GBsjE4ygSE7hMpl/TwID2an2Cck%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/sops-nix/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/systems': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/9m1jsz5b9ggmjij2vkmafnhn26g96jjn-source?lastModified=1&narHash=sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/treefmt-nix': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/7sjy8935654h3220n5gbaclf5nfw4nzx-source?lastModified=1&narHash=sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/treefmt-nix/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU/nixpkgs' clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/fixtures/flake_hooks.py:18::substitute_flake_inputs clan-pytest-with-core> ----------------------------- Captured stderr call ----------------------------- clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> init clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:156::create_clan clan-pytest-with-core> clan-pytest-with-core> hint: Using 'master' as the name for the initial branch. This default branch name clan-pytest-with-core> hint: will change to "main" in Git 3.0. To configure the initial branch name clan-pytest-with-core> hint: to use in all of your new repositories, which will suppress this warning, clan-pytest-with-core> hint: call: clan-pytest-with-core> hint: clan-pytest-with-core> hint: git config --global init.defaultBranch clan-pytest-with-core> hint: clan-pytest-with-core> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and clan-pytest-with-core> hint: 'development'. The just-created branch can be renamed via this command: clan-pytest-with-core> hint: clan-pytest-with-core> hint: git branch -m clan-pytest-with-core> hint: clan-pytest-with-core> hint: Disable this message with "git config set advice.defaultBranchName false" clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:156::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> . clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:157::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:157::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.name clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:160::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:160::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.name \ clan-pytest-with-core> clan-tool clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:165::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:165::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.email clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:167::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:167::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.email \ clan-pytest-with-core> clan@example.com clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:172::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:172::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> . clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:186::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:186::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'Initial commit' clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:187::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:187::create_clan clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> config \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --store \ clan-pytest-with-core> /build/store clan-pytest-with-core> Caller: ~/src/clan_lib/nix/__init__.py:91::nix_config clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/nix/__init__.py:91::nix_config clan-pytest-with-core> clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/77a7abf6e734d0ed8430e29cc4cb112ad8e14c39 clan-pytest-with-core> Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.introspection clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/84452544fb90ee220c26b53cfa2903efa3efa918 clan-pytest-with-core> (cached) $ clan select 'clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta}' clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan/inventory.json clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding inventory.json to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan/inventory.json clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'inventory.json: test writeability' \ clan-pytest-with-core> --no-verify /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan/inventory.json clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed inventory.json to git clan-pytest-with-core> Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.introspection clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/48840662e529a44d0600bf30d6c1f980077eaf6e clan-pytest-with-core> (cached) $ clan select 'clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta}' clan-pytest-with-core> ------------------------------ Captured log call ------------------------------- clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> init clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:156::create_clan clan-pytest-with-core> clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: Using 'master' as the name for the initial branch. This default branch name clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: will change to "main" in Git 3.0. To configure the initial branch name clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: to use in all of your new repositories, which will suppress this warning, clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: call: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: git config --global init.defaultBranch clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: 'development'. The just-created branch can be renamed via this command: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: git branch -m clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: Disable this message with "git config set advice.defaultBranchName false" clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:156::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> . clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:157::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:157::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.name clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:160::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:160::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.name \ clan-pytest-with-core> clan-tool clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:165::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:165::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.email clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:167::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:167::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.email \ clan-pytest-with-core> clan@example.com clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:172::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:172::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> . clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:186::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:186::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'Initial commit' clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:187::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:187::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:927 Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> config \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --store \ clan-pytest-with-core> /build/store clan-pytest-with-core> Caller: ~/src/clan_lib/nix/__init__.py:91::nix_config clan-pytest-with-core> clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/nix/__init__.py:91::nix_config clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/77a7abf6e734d0ed8430e29cc4cb112ad8e14c39 clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:927 Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.introspection clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/84452544fb90ee220c26b53cfa2903efa3efa918 clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1179 (cached) $ clan select 'clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta}' clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan/inventory.json clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.git:__init__.py:98 Adding inventory.json to git clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan/inventory.json clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'inventory.json: test writeability' \ clan-pytest-with-core> --no-verify /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan/inventory.json clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> INFO clan_lib.git:__init__.py:141 Committed inventory.json to git clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:927 Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw12/test_get_machine_writeability0/my-clan clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.introspection clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/48840662e529a44d0600bf30d6c1f980077eaf6e clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1179 (cached) $ clan select 'clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta}' clan-pytest-with-core> _________________________ test_flake_level_generators __________________________ clan-pytest-with-core> [gw4] linux -- Python 3.14.7 /nix/store/lfh101cfjj8p8npcari9hk0lbqi33yvh-python3-3.14.7/bin/python clan-pytest-with-core> clan-pytest-with-core> self = Flake(identifier='/build/pytest-z_zbm9g0/flake', hash='sha256-vihITFw3FwmWMW0hxe756hHZg5ZyyX02NqtCoPJmI2s=', store_pat...src/clan_lib/flake/flake.py", line 833, in _record_cache_miss\n stack_trace = "".join(traceback.format_stack())\n']) clan-pytest-with-core> selectors = ['clanInternals.systems.aarch64-linux.exports.*.generators.*.files.*.{secret,deploy,owner,group,mode,neededFor}'] clan-pytest-with-core> clan-pytest-with-core> def get_from_nix( clan-pytest-with-core> self, clan-pytest-with-core> selectors: list[str], clan-pytest-with-core> ) -> None: clan-pytest-with-core> """Retrieves specific attributes from a Nix flake using the provided selectors. clan-pytest-with-core> clan-pytest-with-core> This function interacts with the Nix build system to fetch and process clan-pytest-with-core> attributes from a flake. It uses the provided selectors to determine which clan-pytest-with-core> attributes to retrieve and optionally accepts additional Nix options for clan-pytest-with-core> customization. The results are cached for future use. clan-pytest-with-core> Used mostly as a lowlevel function for `precache` and `select` methods. clan-pytest-with-core> clan-pytest-with-core> Args: clan-pytest-with-core> selectors (list[str]): A list of attribute selectors to fetch from the flake. clan-pytest-with-core> nix_options (list[str] | None): Optional additional options to pass to the Nix build command. clan-pytest-with-core> clan-pytest-with-core> Raises: clan-pytest-with-core> ClanError: If the number of outputs does not match the number of selectors. clan-pytest-with-core> AssertionError: If the cache or flake cache path is not properly initialized. clan-pytest-with-core> clan-pytest-with-core> """ clan-pytest-with-core> if self._cache is None: clan-pytest-with-core> self.invalidate_cache() clan-pytest-with-core> if self._cache is None: clan-pytest-with-core> msg = "Cache cannot be None after invalidation" clan-pytest-with-core> raise ClanError(msg) clan-pytest-with-core> clan-pytest-with-core> nix_options = self.nix_options[:] if self.nix_options is not None else [] clan-pytest-with-core> clan-pytest-with-core> str_selectors = [ clan-pytest-with-core> selectors_as_json(parse_selector(selector)) for selector in selectors clan-pytest-with-core> ] clan-pytest-with-core> clan-pytest-with-core> config = nix_config() clan-pytest-with-core> clan-pytest-with-core> select_hash = "sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg=" clan-pytest-with-core> if not select_hash.startswith("sha256-"): clan-pytest-with-core> select_flake = Flake(str(select_source()), nix_options=nix_options) clan-pytest-with-core> select_flake.invalidate_cache() clan-pytest-with-core> if select_flake.hash is None: clan-pytest-with-core> msg = "this should be impossible as invalidate_cache() should always set `hash`" clan-pytest-with-core> raise ClanError(msg) clan-pytest-with-core> select_hash = select_flake.hash clan-pytest-with-core> clan-pytest-with-core> # fmt: off clan-pytest-with-core> nix_code = f""" clan-pytest-with-core> let clan-pytest-with-core> flake = builtins.getFlake "path:{self.store_path}?narHash={self.hash}"; clan-pytest-with-core> selectLib = ( clan-pytest-with-core> builtins.getFlake clan-pytest-with-core> "path:{select_source()}?narHash={select_hash}" clan-pytest-with-core> ).lib; clan-pytest-with-core> in clan-pytest-with-core> derivation {{ clan-pytest-with-core> name = "clan-flake-select"; clan-pytest-with-core> result = builtins.toJSON [ clan-pytest-with-core> {" ".join( clan-pytest-with-core> [ clan-pytest-with-core> f"(selectLib.applySelectors (builtins.fromJSON ''{attr}'') flake)" clan-pytest-with-core> for attr in str_selectors clan-pytest-with-core> ] clan-pytest-with-core> )} clan-pytest-with-core> ]; clan-pytest-with-core> clan-pytest-with-core> # We can always build this derivation locally, since /bin/sh is system independent, clan-pytest-with-core> # remote builders would introduce needless overhead. clan-pytest-with-core> preferLocalBuild = true; clan-pytest-with-core> # Save the roundtrip to check the binary caches for trivial substitutions clan-pytest-with-core> allowSubstitutes = false; clan-pytest-with-core> clan-pytest-with-core> passAsFile = [ "result" ]; clan-pytest-with-core> system = "{config["system"]}"; clan-pytest-with-core> builder = "/bin/sh"; clan-pytest-with-core> args = [ clan-pytest-with-core> "-c" clan-pytest-with-core> '' clan-pytest-with-core> read -r x < "$resultPath"; printf %s "$x" > $out clan-pytest-with-core> '' clan-pytest-with-core> ]; clan-pytest-with-core> }} clan-pytest-with-core> """ clan-pytest-with-core> trace = os.environ.get("CLAN_DEBUG_NIX_SELECTORS") == "1" clan-pytest-with-core> try: clan-pytest-with-core> build_output = Path( clan-pytest-with-core> > run( clan-pytest-with-core> nix_build(["--expr", nix_code, *nix_options]), clan-pytest-with-core> RunOpts(log=Log.NONE, trace=trace), clan-pytest-with-core> ).stdout.strip(), clan-pytest-with-core> ) clan-pytest-with-core> clan-pytest-with-core> /build/src/clan_lib/flake/flake.py:1076: clan-pytest-with-core> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ clan-pytest-with-core> clan-pytest-with-core> cmd = ['nix', '--extra-experimental-features', 'nix-command flakes', '--option', 'warn-dirty', 'false', ...] clan-pytest-with-core> options = RunOpts(input=None, stdout=None, stderr=None, env=None, cwd=PosixPath('/build/pytest-z_zbm9g0/flake'), log= clan-pytest-with-core> def run( clan-pytest-with-core> cmd: list[str], clan-pytest-with-core> options: RunOpts | None = None, clan-pytest-with-core> ) -> CmdOut: clan-pytest-with-core> if options is None: clan-pytest-with-core> options = RunOpts() clan-pytest-with-core> if options.cwd is None: clan-pytest-with-core> options.cwd = Path.cwd() clan-pytest-with-core> clan-pytest-with-core> async_ctx = get_async_ctx() clan-pytest-with-core> # Fill in the options from the thread-local data clan-pytest-with-core> # if they are not set in the options clan-pytest-with-core> if async_ctx: clan-pytest-with-core> if options.prefix is None: clan-pytest-with-core> options.prefix = async_ctx.prefix clan-pytest-with-core> if options.stdout is None: clan-pytest-with-core> options.stdout = async_ctx.stdout clan-pytest-with-core> if options.stderr is None: clan-pytest-with-core> options.stderr = async_ctx.stderr clan-pytest-with-core> clan-pytest-with-core> if options.requires_root_perm: clan-pytest-with-core> cmd = cmd_with_root(cmd, options.graphical_perm) clan-pytest-with-core> # Use our sudo ask proxy here as well clan-pytest-with-core> options.needs_user_terminal = True clan-pytest-with-core> clan-pytest-with-core> if cmdlog.isEnabledFor(logging.DEBUG) and options.trace: clan-pytest-with-core> if options.input and isinstance(options.input, bytes): clan-pytest-with-core> # Always redact sensitive input (e.g., private keys, passwords) clan-pytest-with-core> if options.sensitive_input: clan-pytest-with-core> filtered_input = "<>" clan-pytest-with-core> elif any( clan-pytest-with-core> not ch.isprintable() for ch in options.input.decode("ascii", "replace") clan-pytest-with-core> ): clan-pytest-with-core> filtered_input = "<>" clan-pytest-with-core> else: clan-pytest-with-core> filtered_input = options.input.decode("ascii", "replace") clan-pytest-with-core> clan-pytest-with-core> print_trace( clan-pytest-with-core> f"echo '{filtered_input}' | {indent_command(cmd)}", clan-pytest-with-core> cmdlog, clan-pytest-with-core> options.prefix, clan-pytest-with-core> ) clan-pytest-with-core> else: clan-pytest-with-core> print_trace(f"{indent_command(cmd)}", cmdlog, options.prefix) clan-pytest-with-core> clan-pytest-with-core> start = timeit.default_timer() clan-pytest-with-core> with ExitStack() as stack: clan-pytest-with-core> stdin = subprocess.PIPE if isinstance(options.input, bytes) else options.input clan-pytest-with-core> process = stack.enter_context( clan-pytest-with-core> subprocess.Popen( clan-pytest-with-core> cmd, clan-pytest-with-core> cwd=str(options.cwd), clan-pytest-with-core> env=options.env, clan-pytest-with-core> stdin=stdin, clan-pytest-with-core> stdout=subprocess.PIPE, clan-pytest-with-core> stderr=subprocess.PIPE, clan-pytest-with-core> start_new_session=not options.needs_user_terminal, clan-pytest-with-core> shell=options.shell, clan-pytest-with-core> ), clan-pytest-with-core> ) clan-pytest-with-core> clan-pytest-with-core> if options.needs_user_terminal: clan-pytest-with-core> # we didn't allocate a new session, so we can't terminate the process group clan-pytest-with-core> stack.enter_context(terminate_process(process)) clan-pytest-with-core> else: clan-pytest-with-core> stack.enter_context(terminate_process_group(process)) clan-pytest-with-core> clan-pytest-with-core> input_bytes = options.input if isinstance(options.input, bytes) else None clan-pytest-with-core> clan-pytest-with-core> stdout_buf, stderr_buf, stdout_raw = handle_io( clan-pytest-with-core> process, clan-pytest-with-core> options.log, clan-pytest-with-core> prefix=options.prefix, clan-pytest-with-core> msg_color=options.msg_color, clan-pytest-with-core> timeout=options.timeout, clan-pytest-with-core> input_bytes=input_bytes, clan-pytest-with-core> stdout=options.stdout, clan-pytest-with-core> stderr=options.stderr, clan-pytest-with-core> cmd=cmd, clan-pytest-with-core> cwd=options.cwd, clan-pytest-with-core> env=options.env, clan-pytest-with-core> ) clan-pytest-with-core> if not is_async_cancelled(): clan-pytest-with-core> process.wait() clan-pytest-with-core> clan-pytest-with-core> if TIME_TABLE: clan-pytest-with-core> TIME_TABLE.add(shlex.join(cmd), timeit.default_timer() - start) clan-pytest-with-core> clan-pytest-with-core> # Wait for the subprocess to finish clan-pytest-with-core> cmd_out = CmdOut( clan-pytest-with-core> stdout=stdout_buf, clan-pytest-with-core> stderr=stderr_buf, clan-pytest-with-core> cwd=options.cwd, clan-pytest-with-core> env=options.env, clan-pytest-with-core> command_list=cmd, clan-pytest-with-core> returncode=process.returncode, clan-pytest-with-core> msg=options.error_msg, clan-pytest-with-core> stdout_raw=stdout_raw, clan-pytest-with-core> ) clan-pytest-with-core> clan-pytest-with-core> if cmdlog.isEnabledFor(logging.DEBUG) and options.trace: clan-pytest-with-core> print_trace( clan-pytest-with-core> f"Command exited with return code {process.returncode}", clan-pytest-with-core> cmdlog, clan-pytest-with-core> options.prefix, clan-pytest-with-core> ) clan-pytest-with-core> clan-pytest-with-core> if options.check and process.returncode != 0: clan-pytest-with-core> if is_async_cancelled(): clan-pytest-with-core> cmd_out.msg = "Command cancelled" clan-pytest-with-core> > raise ClanCmdError(cmd_out) clan-pytest-with-core> E clan_lib.errors.ClanCmdError: clan-pytest-with-core> E =================================== Command ==================================== clan-pytest-with-core> E nix \ clan-pytest-with-core> E --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> E --option warn-dirty \ clan-pytest-with-core> E false \ clan-pytest-with-core> E build \ clan-pytest-with-core> E --flake-registry '' \ clan-pytest-with-core> E --print-out-paths --print-build-logs \ clan-pytest-with-core> E --show-trace --no-link \ clan-pytest-with-core> E --expr ' clan-pytest-with-core> E let clan-pytest-with-core> E flake = builtins.getFlake "path:/nix/store/rrj677la88xdi1fa7ii5aikf96iziq1v-source?narHash=sha256-vihITFw3FwmWMW0hxe756hHZg5ZyyX02NqtCoPJmI2s="; clan-pytest-with-core> E selectLib = ( clan-pytest-with-core> E builtins.getFlake clan-pytest-with-core> E "path:/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source?narHash=sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg=" clan-pytest-with-core> E ).lib; clan-pytest-with-core> E in clan-pytest-with-core> E derivation { clan-pytest-with-core> E name = "clan-flake-select"; clan-pytest-with-core> E result = builtins.toJSON [ clan-pytest-with-core> E (selectLib.applySelectors (builtins.fromJSON '"'"''"'"'[{"type": "str", "value": "clanInternals"}, {"type": "str", "value": "systems"}, {"type": "str", "value": "aarch64-linux"}, {"type": "str", "value": "exports"}, {"type": "all"}, {"type": "str", "value": "generators"}, {"type": "all"}, {"type": "str", "value": "files"}, {"type": "all"}, {"type": "set", "value": [{"type": "str", "value": "secret"}, {"type": "str", "value": "deploy"}, {"type": "str", "value": "owner"}, {"type": "str", "value": "group"}, {"type": "str", "value": "mode"}, {"type": "str", "value": "neededFor"}]}]'"'"''"'"') flake) clan-pytest-with-core> E ]; clan-pytest-with-core> E clan-pytest-with-core> E # We can always build this derivation locally, since /bin/sh is system independent, clan-pytest-with-core> E # remote builders would introduce needless overhead. clan-pytest-with-core> E preferLocalBuild = true; clan-pytest-with-core> E # Save the roundtrip to check the binary caches for trivial substitutions clan-pytest-with-core> E allowSubstitutes = false; clan-pytest-with-core> E clan-pytest-with-core> E passAsFile = [ "result" ]; clan-pytest-with-core> E system = "aarch64-linux"; clan-pytest-with-core> E builder = "/bin/sh"; clan-pytest-with-core> E args = [ clan-pytest-with-core> E "-c" clan-pytest-with-core> E '"'"''"'"' clan-pytest-with-core> E read -r x < "$resultPath"; printf %s "$x" > $out clan-pytest-with-core> E '"'"''"'"' clan-pytest-with-core> E ]; clan-pytest-with-core> E } clan-pytest-with-core> E ' \ clan-pytest-with-core> E --store /build/store clan-pytest-with-core> E clan-pytest-with-core> E ==================================== Stderr ==================================== clan-pytest-with-core> E warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> E error: clan-pytest-with-core> E … while calling the 'derivationStrict' builtin clan-pytest-with-core> E at :37:12: clan-pytest-with-core> E 36| clan-pytest-with-core> E 37| strict = derivationStrict drvAttrs; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 38| clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating derivation 'clan-flake-select' clan-pytest-with-core> E whose name attribute is located at «string»:10:17 clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating attribute 'result' of derivation 'clan-flake-select' clan-pytest-with-core> E at «string»:11:17: clan-pytest-with-core> E 10| name = "clan-flake-select"; clan-pytest-with-core> E 11| result = builtins.toJSON [ clan-pytest-with-core> E | ^ clan-pytest-with-core> E 12| (selectLib.applySelectors (builtins.fromJSON ''[{"type": "str", "value": "clanInternals"}, {"type": "str", "value": "systems"}, {"type": "str", "value": "aarch64-linux"}, {"type": "str", "value": "exports"}, {"type": "all"}, {"type": "str", "value": "generators"}, {"type": "all"}, {"type": "str", "value": "files"}, {"type": "all"}, {"type": "set", "value": [{"type": "str", "value": "secret"}, {"type": "str", "value": "deploy"}, {"type": "str", "value": "owner"}, {"type": "str", "value": "group"}, {"type": "str", "value": "mode"}, {"type": "str", "value": "neededFor"}]}]'') flake) clan-pytest-with-core> E clan-pytest-with-core> E … while calling the 'toJSON' builtin clan-pytest-with-core> E at «string»:11:26: clan-pytest-with-core> E 10| name = "clan-flake-select"; clan-pytest-with-core> E 11| result = builtins.toJSON [ clan-pytest-with-core> E | ^ clan-pytest-with-core> E 12| (selectLib.applySelectors (builtins.fromJSON ''[{"type": "str", "value": "clanInternals"}, {"type": "str", "value": "systems"}, {"type": "str", "value": "aarch64-linux"}, {"type": "str", "value": "exports"}, {"type": "all"}, {"type": "str", "value": "generators"}, {"type": "all"}, {"type": "str", "value": "files"}, {"type": "all"}, {"type": "set", "value": [{"type": "str", "value": "secret"}, {"type": "str", "value": "deploy"}, {"type": "str", "value": "owner"}, {"type": "str", "value": "group"}, {"type": "str", "value": "mode"}, {"type": "str", "value": "neededFor"}]}]'') flake) clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating list element at index 0 clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating attribute 'A' clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating attribute 'one' clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating attribute 'foo' clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating attribute 'group' clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:325:37: clan-pytest-with-core> E 324| in clan-pytest-with-core> E 325| builtins.mapAttrs (_: v: recurse selectors (idx + 1) v) filteredAttrs clan-pytest-with-core> E | ^ clan-pytest-with-core> E 326| else if selector.type == "maybe" then clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:325:40: clan-pytest-with-core> E 324| in clan-pytest-with-core> E 325| builtins.mapAttrs (_: v: recurse selectors (idx + 1) v) filteredAttrs clan-pytest-with-core> E | ^ clan-pytest-with-core> E 326| else if selector.type == "maybe" then clan-pytest-with-core> E clan-pytest-with-core> E … while calling 'recurse' clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:265:25: clan-pytest-with-core> E 264| recurse = clan-pytest-with-core> E 265| selectors: idx: obj: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 266| # we are done clan-pytest-with-core> E clan-pytest-with-core> E … while calling the 'getAttr' builtin clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:321:29: clan-pytest-with-core> E 320| name = x.value; clan-pytest-with-core> E 321| value = builtins.getAttr x.value obj; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 322| }) attrsAvailable clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/attrsets.nix:1195:17: clan-pytest-with-core> E 1194| mapAttrs ( clan-pytest-with-core> E 1195| name: value: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1196| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/attrsets.nix:1196:85: clan-pytest-with-core> E 1195| name: value: clan-pytest-with-core> E 1196| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1197| ); clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:282:71: clan-pytest-with-core> E 281| # For definitions that have an associated option clan-pytest-with-core> E 282| declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 283| clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'value' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1149:7: clan-pytest-with-core> E 1148| // { clan-pytest-with-core> E 1149| value = addErrorContext "while evaluating the option `${showOption loc}':" value; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1150| inherit (res.defsFinal') highestPrio; clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the option `clanInternals.systems.aarch64-linux.exports.A.generators.one.files.foo.group': clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'mergedValue' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1246:5: clan-pytest-with-core> E 1245| # Type-check the remaining definitions, and merge them. Or throw if no definitions. clan-pytest-with-core> E 1246| mergedValue = clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1247| if isDefined then clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating a branch condition clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1247:7: clan-pytest-with-core> E 1246| mergedValue = clan-pytest-with-core> E 1247| if isDefined then clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1248| if type.merge ? v2 then clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'values' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1240:11: clan-pytest-with-core> E 1239| { clan-pytest-with-core> E 1240| values = defsSorted; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1241| inherit (defsFiltered) highestPrio; clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating a branch condition clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1211:11: clan-pytest-with-core> E 1210| # Avoid sorting if we don't have to. clan-pytest-with-core> E 1211| if any (def: def.value._type or "" == "order") defsFiltered.values then clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1212| sortProperties defsFiltered.values clan-pytest-with-core> E clan-pytest-with-core> E … while calling the 'any' builtin clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1211:14: clan-pytest-with-core> E 1210| # Avoid sorting if we don't have to. clan-pytest-with-core> E 1211| if any (def: def.value._type or "" == "order") defsFiltered.values then clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1212| sortProperties defsFiltered.values clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1211:19: clan-pytest-with-core> E 1210| # Avoid sorting if we don't have to. clan-pytest-with-core> E 1211| if any (def: def.value._type or "" == "order") defsFiltered.values then clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1212| sortProperties defsFiltered.values clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'value._type' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1422:67: clan-pytest-with-core> E 1421| strip = clan-pytest-with-core> E 1422| def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1423| in clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'value.content' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1566:22: clan-pytest-with-core> E 1565| _type = "override"; clan-pytest-with-core> E 1566| inherit priority content; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1567| }; clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'default' clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/export-modules/generic-generator.nix:167:19: clan-pytest-with-core> E 166| ''; clan-pytest-with-core> E 167| default = if config.pkgs.stdenv.hostPlatform.isDarwin then "wheel" else "root"; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 168| defaultText = lib.literalExpression ''if pkgs.stdenv.hostPlatform.isDarwin then "wheel" else "root"''; clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating a branch condition clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/export-modules/generic-generator.nix:167:29: clan-pytest-with-core> E 166| ''; clan-pytest-with-core> E 167| default = if config.pkgs.stdenv.hostPlatform.isDarwin then "wheel" else "root"; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 168| defaultText = lib.literalExpression ''if pkgs.stdenv.hostPlatform.isDarwin then "wheel" else "root"''; clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/export-modules/generic-generator.nix:167:32: clan-pytest-with-core> E 166| ''; clan-pytest-with-core> E 167| default = if config.pkgs.stdenv.hostPlatform.isDarwin then "wheel" else "root"; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 168| defaultText = lib.literalExpression ''if pkgs.stdenv.hostPlatform.isDarwin then "wheel" else "root"''; clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/attrsets.nix:1195:17: clan-pytest-with-core> E 1194| mapAttrs ( clan-pytest-with-core> E 1195| name: value: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1196| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/attrsets.nix:1196:85: clan-pytest-with-core> E 1195| name: value: clan-pytest-with-core> E 1196| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1197| ); clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:282:71: clan-pytest-with-core> E 281| # For definitions that have an associated option clan-pytest-with-core> E 282| declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 283| clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'value' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1149:7: clan-pytest-with-core> E 1148| // { clan-pytest-with-core> E 1149| value = addErrorContext "while evaluating the option `${showOption loc}':" value; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1150| inherit (res.defsFinal') highestPrio; clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the option `clanInternals.systems.aarch64-linux.exports.A.generators.one.pkgs': clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'mergedValue' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1246:5: clan-pytest-with-core> E 1245| # Type-check the remaining definitions, and merge them. Or throw if no definitions. clan-pytest-with-core> E 1246| mergedValue = clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1247| if isDefined then clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating a branch condition clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1247:7: clan-pytest-with-core> E 1246| mergedValue = clan-pytest-with-core> E 1247| if isDefined then clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1248| if type.merge ? v2 then clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating a branch condition clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1223:7: clan-pytest-with-core> E 1222| # above are lazy and thus never forced on this branch. clan-pytest-with-core> E 1223| if clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1224| length defs == 1 clan-pytest-with-core> E clan-pytest-with-core> E … in the right operand of the AND (&&) operator clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1225:9: clan-pytest-with-core> E 1224| length defs == 1 clan-pytest-with-core> E 1225| && ( clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1226| let clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating definitions from `/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/module.nix': clan-pytest-with-core> E clan-pytest-with-core> E … in the argument of the not operator clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1230:31: clan-pytest-with-core> E 1229| addErrorContext "while evaluating definitions from `${d.file}':" ( clan-pytest-with-core> E 1230| !(isAttrs d.value && d.value ? _type) clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1231| ) clan-pytest-with-core> E clan-pytest-with-core> E … in the left operand of the AND (&&) operator clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1230:31: clan-pytest-with-core> E 1229| addErrorContext "while evaluating definitions from `${d.file}':" ( clan-pytest-with-core> E 1230| !(isAttrs d.value && d.value ? _type) clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1231| ) clan-pytest-with-core> E clan-pytest-with-core> E … while calling the 'isAttrs' builtin clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1230:15: clan-pytest-with-core> E 1229| addErrorContext "while evaluating definitions from `${d.file}':" ( clan-pytest-with-core> E 1230| !(isAttrs d.value && d.value ? _type) clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1231| ) clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'value' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:851:21: clan-pytest-with-core> E 850| inherit (module) file; clan-pytest-with-core> E 851| inherit value; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 852| }) module.config clan-pytest-with-core> E clan-pytest-with-core> E error: attribute 'aarch64-linux' missing clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/module.nix:74:14: clan-pytest-with-core> E 73| # inherit system; clan-pytest-with-core> E 74| pkgs = nixpkgsMatrix.default.${system}; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 75| }; clan-pytest-with-core> E clan-pytest-with-core> E Return Code: 1 clan-pytest-with-core> clan-pytest-with-core> /build/src/clan_lib/cmd/__init__.py:451: ClanCmdError clan-pytest-with-core> clan-pytest-with-core> The above exception was the direct cause of the following exception: clan-pytest-with-core> clan-pytest-with-core> monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffe613ca50> clan-pytest-with-core> flake_with_sops = clan-pytest-with-core> clan-pytest-with-core> @pytest.mark.broken_on_darwin clan-pytest-with-core> @pytest.mark.with_core clan-pytest-with-core> def test_flake_level_generators( clan-pytest-with-core> monkeypatch: pytest.MonkeyPatch, flake_with_sops: ClanFlake clan-pytest-with-core> ) -> None: clan-pytest-with-core> """Execute vars generators that are not bound to any machine""" clan-pytest-with-core> flake = flake_with_sops clan-pytest-with-core> flake.clan_nix_raw = textwrap.dedent(r""" clan-pytest-with-core> { self, ... }: clan-pytest-with-core> let clan-pytest-with-core> clan-core = self.inputs.clan-core; clan-pytest-with-core> in clan-pytest-with-core> { clan-pytest-with-core> machines.jon = {}; clan-pytest-with-core> machines.sara = {}; clan-pytest-with-core> exports."A" = { clan-pytest-with-core> imports = [ (clan-core + "/modules/clan/export-modules/generators.nix") ]; clan-pytest-with-core> generators.one = { clan-pytest-with-core> files.foo = { }; clan-pytest-with-core> script = '' clan-pytest-with-core> echo hello > $out/foo clan-pytest-with-core> ''; clan-pytest-with-core> }; clan-pytest-with-core> }; clan-pytest-with-core> exports."B" = { clan-pytest-with-core> imports = [ (clan-core + "/modules/clan/export-modules/generators.nix") ]; clan-pytest-with-core> generators.one = { clan-pytest-with-core> dependencies.A = { exportKey = "A"; generator = "one"; }; clan-pytest-with-core> files.foo = { secret = false; }; clan-pytest-with-core> script = '' clan-pytest-with-core> cat $in/A/foo > $out/foo clan-pytest-with-core> echo "world!" >> $out/foo clan-pytest-with-core> ''; clan-pytest-with-core> }; clan-pytest-with-core> generators.two = { clan-pytest-with-core> dependencies.one = { exportKey = "B"; generator = "one"; }; clan-pytest-with-core> files.foo = { deploy = [ "jon" ]; }; clan-pytest-with-core> script = '' clan-pytest-with-core> cat $in/one/foo > $out/foo clan-pytest-with-core> echo "world!" >> $out/foo clan-pytest-with-core> ''; clan-pytest-with-core> }; clan-pytest-with-core> }; clan-pytest-with-core> } clan-pytest-with-core> """) clan-pytest-with-core> flake.refresh() clan-pytest-with-core> clan-pytest-with-core> monkeypatch.chdir(flake.path) clan-pytest-with-core> clan-pytest-with-core> flake_obj = Flake(str(flake.path)) clan-pytest-with-core> > run_flake_generators(flake_obj, True) clan-pytest-with-core> clan-pytest-with-core> /build/src/clan_cli/tests/test_vars_generate.py:1022: clan-pytest-with-core> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ clan-pytest-with-core> /build/src/clan_lib/vars/generate.py:449: in run_flake_generators clan-pytest-with-core> generators = get_flake_generators(flake) clan-pytest-with-core> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ clan-pytest-with-core> /build/src/clan_lib/vars/generate.py:387: in get_flake_generators clan-pytest-with-core> raw_files = flake.select( clan-pytest-with-core> /build/src/clan_lib/flake/flake.py:1177: in select clan-pytest-with-core> self.get_from_nix([selector]) clan-pytest-with-core> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ clan-pytest-with-core> clan-pytest-with-core> self = Flake(identifier='/build/pytest-z_zbm9g0/flake', hash='sha256-vihITFw3FwmWMW0hxe756hHZg5ZyyX02NqtCoPJmI2s=', store_pat...src/clan_lib/flake/flake.py", line 833, in _record_cache_miss\n stack_trace = "".join(traceback.format_stack())\n']) clan-pytest-with-core> selectors = ['clanInternals.systems.aarch64-linux.exports.*.generators.*.files.*.{secret,deploy,owner,group,mode,neededFor}'] clan-pytest-with-core> clan-pytest-with-core> def get_from_nix( clan-pytest-with-core> self, clan-pytest-with-core> selectors: list[str], clan-pytest-with-core> ) -> None: clan-pytest-with-core> """Retrieves specific attributes from a Nix flake using the provided selectors. clan-pytest-with-core> clan-pytest-with-core> This function interacts with the Nix build system to fetch and process clan-pytest-with-core> attributes from a flake. It uses the provided selectors to determine which clan-pytest-with-core> attributes to retrieve and optionally accepts additional Nix options for clan-pytest-with-core> customization. The results are cached for future use. clan-pytest-with-core> Used mostly as a lowlevel function for `precache` and `select` methods. clan-pytest-with-core> clan-pytest-with-core> Args: clan-pytest-with-core> selectors (list[str]): A list of attribute selectors to fetch from the flake. clan-pytest-with-core> nix_options (list[str] | None): Optional additional options to pass to the Nix build command. clan-pytest-with-core> clan-pytest-with-core> Raises: clan-pytest-with-core> ClanError: If the number of outputs does not match the number of selectors. clan-pytest-with-core> AssertionError: If the cache or flake cache path is not properly initialized. clan-pytest-with-core> clan-pytest-with-core> """ clan-pytest-with-core> if self._cache is None: clan-pytest-with-core> self.invalidate_cache() clan-pytest-with-core> if self._cache is None: clan-pytest-with-core> msg = "Cache cannot be None after invalidation" clan-pytest-with-core> raise ClanError(msg) clan-pytest-with-core> clan-pytest-with-core> nix_options = self.nix_options[:] if self.nix_options is not None else [] clan-pytest-with-core> clan-pytest-with-core> str_selectors = [ clan-pytest-with-core> selectors_as_json(parse_selector(selector)) for selector in selectors clan-pytest-with-core> ] clan-pytest-with-core> clan-pytest-with-core> config = nix_config() clan-pytest-with-core> clan-pytest-with-core> select_hash = "sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg=" clan-pytest-with-core> if not select_hash.startswith("sha256-"): clan-pytest-with-core> select_flake = Flake(str(select_source()), nix_options=nix_options) clan-pytest-with-core> select_flake.invalidate_cache() clan-pytest-with-core> if select_flake.hash is None: clan-pytest-with-core> msg = "this should be impossible as invalidate_cache() should always set `hash`" clan-pytest-with-core> raise ClanError(msg) clan-pytest-with-core> select_hash = select_flake.hash clan-pytest-with-core> clan-pytest-with-core> # fmt: off clan-pytest-with-core> nix_code = f""" clan-pytest-with-core> let clan-pytest-with-core> flake = builtins.getFlake "path:{self.store_path}?narHash={self.hash}"; clan-pytest-with-core> selectLib = ( clan-pytest-with-core> builtins.getFlake clan-pytest-with-core> "path:{select_source()}?narHash={select_hash}" clan-pytest-with-core> ).lib; clan-pytest-with-core> in clan-pytest-with-core> derivation {{ clan-pytest-with-core> name = "clan-flake-select"; clan-pytest-with-core> result = builtins.toJSON [ clan-pytest-with-core> {" ".join( clan-pytest-with-core> [ clan-pytest-with-core> f"(selectLib.applySelectors (builtins.fromJSON ''{attr}'') flake)" clan-pytest-with-core> for attr in str_selectors clan-pytest-with-core> ] clan-pytest-with-core> )} clan-pytest-with-core> ]; clan-pytest-with-core> clan-pytest-with-core> # We can always build this derivation locally, since /bin/sh is system independent, clan-pytest-with-core> # remote builders would introduce needless overhead. clan-pytest-with-core> preferLocalBuild = true; clan-pytest-with-core> # Save the roundtrip to check the binary caches for trivial substitutions clan-pytest-with-core> allowSubstitutes = false; clan-pytest-with-core> clan-pytest-with-core> passAsFile = [ "result" ]; clan-pytest-with-core> system = "{config["system"]}"; clan-pytest-with-core> builder = "/bin/sh"; clan-pytest-with-core> args = [ clan-pytest-with-core> "-c" clan-pytest-with-core> '' clan-pytest-with-core> read -r x < "$resultPath"; printf %s "$x" > $out clan-pytest-with-core> '' clan-pytest-with-core> ]; clan-pytest-with-core> }} clan-pytest-with-core> """ clan-pytest-with-core> trace = os.environ.get("CLAN_DEBUG_NIX_SELECTORS") == "1" clan-pytest-with-core> try: clan-pytest-with-core> build_output = Path( clan-pytest-with-core> run( clan-pytest-with-core> nix_build(["--expr", nix_code, *nix_options]), clan-pytest-with-core> RunOpts(log=Log.NONE, trace=trace), clan-pytest-with-core> ).stdout.strip(), clan-pytest-with-core> ) clan-pytest-with-core> except ClanCmdError as e: clan-pytest-with-core> if "error: attribute 'clan' missing" in str(e): clan-pytest-with-core> msg = ("This flake does not export the 'clan' attribute. \n" clan-pytest-with-core> "Please write 'clan = clan.config;' into the outputs of your flake.nix.") clan-pytest-with-core> raise ClanSelectError( clan-pytest-with-core> flake_identifier=self.identifier, clan-pytest-with-core> selectors=selectors, clan-pytest-with-core> cmd_error=e, clan-pytest-with-core> description=msg, clan-pytest-with-core> ) from e clan-pytest-with-core> clan-pytest-with-core> # If the error is about a missing attribute, we raise a ClanSelectError clan-pytest-with-core> # with the failed selectors and the flake identifier. clan-pytest-with-core> > raise ClanSelectError( clan-pytest-with-core> flake_identifier=self.identifier, clan-pytest-with-core> selectors=selectors, clan-pytest-with-core> cmd_error=e, clan-pytest-with-core> ) from e clan-pytest-with-core> E clan_lib.flake.flake.ClanSelectError: Error on: $ clan select 'clanInternals.systems.aarch64-linux.exports.*.generators.*.files.*.{secret,deploy,owner,group,mode,neededFor}' clan-pytest-with-core> E Reason: attribute 'aarch64-linux' missing clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/module.nix:74:14: clan-pytest-with-core> E 73| # inherit system; clan-pytest-with-core> E 74| pkgs = nixpkgsMatrix.default.${system}; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 75| };. Use flag '--debug' to see full nix trace. clan-pytest-with-core> clan-pytest-with-core> /build/src/clan_lib/flake/flake.py:1094: ClanSelectError clan-pytest-with-core> ---------------------------- Captured stderr setup ----------------------------- clan-pytest-with-core> !! $HOME does not point to a temp directory!! HOME=/build/pytest-z_zbm9g0 clan-pytest-with-core> [localhost] $ clan vars keygen --flake /build/pytest-z_zbm9g0/flake --user admin --no-interactive clan-pytest-with-core> Caller: /build/src/clan_cli/tests/age_keys.py:31::init clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-z_zbm9g0/flake clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/24d78ce83b4891f53c678f7e21166569ff7e3fa6 clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-z_zbm9g0/flake \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-z_zbm9g0/flake/sops/users/admin clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/admin to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-z_zbm9g0/flake \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-z_zbm9g0/flake/sops/users/admin clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-z_zbm9g0/flake \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user admin' \ clan-pytest-with-core> --no-verify /build/pytest-z_zbm9g0/flake/sops/users/admin clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/admin to git clan-pytest-with-core> ------------------------------ Captured log setup ------------------------------ clan-pytest-with-core> WARNING clan_cli.tests.fixtures_flakes:fixtures_flakes.py:193 !! $HOME does not point to a temp directory!! HOME=/build/pytest-z_zbm9g0 clan-pytest-with-core> DEBUG clan_cli.tests.helpers.cli:__init__.py:143 $ clan vars keygen --flake /build/pytest-z_zbm9g0/flake --user admin --no-interactive clan-pytest-with-core> Caller: /build/src/clan_cli/tests/age_keys.py:31::init clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:927 Prefetching flake /build/pytest-z_zbm9g0/flake clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/24d78ce83b4891f53c678f7e21166569ff7e3fa6 clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1179 (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_cli.secrets.sops:sops.py:99 Found age public key from a private key in the environment (SOPS_AGE_KEY): age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-z_zbm9g0/flake \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-z_zbm9g0/flake/sops/users/admin clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.git:__init__.py:98 Adding sops/users/admin to git clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-z_zbm9g0/flake \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-z_zbm9g0/flake/sops/users/admin clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-z_zbm9g0/flake \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user admin' \ clan-pytest-with-core> --no-verify /build/pytest-z_zbm9g0/flake/sops/users/admin clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> INFO clan_lib.git:__init__.py:141 Committed sops/users/admin to git clan-pytest-with-core> ----------------------------- Captured stdout call ----------------------------- clan-pytest-with-core> [main 38a94fe] flake: update by flake generator clan-pytest-with-core> 1 file changed, 37 insertions(+) clan-pytest-with-core> create mode 100644 clan.nix clan-pytest-with-core> ----------------------------- Captured stderr call ----------------------------- clan-pytest-with-core> Prefetching flake /build/pytest-z_zbm9g0/flake clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.systems.aarch64-linux.exports.*.generators.*.{share,dependencies,prompts,validationHash} clan-pytest-with-core> Cache miss for clanInternals.systems.aarch64-linux.exports.*.generators.*.files.*.{secret,deploy,owner,group,mode,neededFor} clan-pytest-with-core> ------------------------------ Captured log call ------------------------------- clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:927 Prefetching flake /build/pytest-z_zbm9g0/flake clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.systems.aarch64-linux.exports.*.generators.*.{share,dependencies,prompts,validationHash} clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.systems.aarch64-linux.exports.*.generators.*.files.*.{secret,deploy,owner,group,mode,neededFor} clan-pytest-with-core> __________________________ test_known_selectors_exist __________________________ clan-pytest-with-core> [gw2] linux -- Python 3.14.7 /nix/store/lfh101cfjj8p8npcari9hk0lbqi33yvh-python3-3.14.7/bin/python clan-pytest-with-core> clan-pytest-with-core> self = Flake(identifier='/build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan', hash='sha256-IaY2v2...src/clan_lib/flake/flake.py", line 833, in _record_cache_miss\n stack_trace = "".join(traceback.format_stack())\n']) clan-pytest-with-core> selectors = ['clanInternals.machines.aarch64-linux."sara".config.clan.core.backups'] clan-pytest-with-core> clan-pytest-with-core> def get_from_nix( clan-pytest-with-core> self, clan-pytest-with-core> selectors: list[str], clan-pytest-with-core> ) -> None: clan-pytest-with-core> """Retrieves specific attributes from a Nix flake using the provided selectors. clan-pytest-with-core> clan-pytest-with-core> This function interacts with the Nix build system to fetch and process clan-pytest-with-core> attributes from a flake. It uses the provided selectors to determine which clan-pytest-with-core> attributes to retrieve and optionally accepts additional Nix options for clan-pytest-with-core> customization. The results are cached for future use. clan-pytest-with-core> Used mostly as a lowlevel function for `precache` and `select` methods. clan-pytest-with-core> clan-pytest-with-core> Args: clan-pytest-with-core> selectors (list[str]): A list of attribute selectors to fetch from the flake. clan-pytest-with-core> nix_options (list[str] | None): Optional additional options to pass to the Nix build command. clan-pytest-with-core> clan-pytest-with-core> Raises: clan-pytest-with-core> ClanError: If the number of outputs does not match the number of selectors. clan-pytest-with-core> AssertionError: If the cache or flake cache path is not properly initialized. clan-pytest-with-core> clan-pytest-with-core> """ clan-pytest-with-core> if self._cache is None: clan-pytest-with-core> self.invalidate_cache() clan-pytest-with-core> if self._cache is None: clan-pytest-with-core> msg = "Cache cannot be None after invalidation" clan-pytest-with-core> raise ClanError(msg) clan-pytest-with-core> clan-pytest-with-core> nix_options = self.nix_options[:] if self.nix_options is not None else [] clan-pytest-with-core> clan-pytest-with-core> str_selectors = [ clan-pytest-with-core> selectors_as_json(parse_selector(selector)) for selector in selectors clan-pytest-with-core> ] clan-pytest-with-core> clan-pytest-with-core> config = nix_config() clan-pytest-with-core> clan-pytest-with-core> select_hash = "sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg=" clan-pytest-with-core> if not select_hash.startswith("sha256-"): clan-pytest-with-core> select_flake = Flake(str(select_source()), nix_options=nix_options) clan-pytest-with-core> select_flake.invalidate_cache() clan-pytest-with-core> if select_flake.hash is None: clan-pytest-with-core> msg = "this should be impossible as invalidate_cache() should always set `hash`" clan-pytest-with-core> raise ClanError(msg) clan-pytest-with-core> select_hash = select_flake.hash clan-pytest-with-core> clan-pytest-with-core> # fmt: off clan-pytest-with-core> nix_code = f""" clan-pytest-with-core> let clan-pytest-with-core> flake = builtins.getFlake "path:{self.store_path}?narHash={self.hash}"; clan-pytest-with-core> selectLib = ( clan-pytest-with-core> builtins.getFlake clan-pytest-with-core> "path:{select_source()}?narHash={select_hash}" clan-pytest-with-core> ).lib; clan-pytest-with-core> in clan-pytest-with-core> derivation {{ clan-pytest-with-core> name = "clan-flake-select"; clan-pytest-with-core> result = builtins.toJSON [ clan-pytest-with-core> {" ".join( clan-pytest-with-core> [ clan-pytest-with-core> f"(selectLib.applySelectors (builtins.fromJSON ''{attr}'') flake)" clan-pytest-with-core> for attr in str_selectors clan-pytest-with-core> ] clan-pytest-with-core> )} clan-pytest-with-core> ]; clan-pytest-with-core> clan-pytest-with-core> # We can always build this derivation locally, since /bin/sh is system independent, clan-pytest-with-core> # remote builders would introduce needless overhead. clan-pytest-with-core> preferLocalBuild = true; clan-pytest-with-core> # Save the roundtrip to check the binary caches for trivial substitutions clan-pytest-with-core> allowSubstitutes = false; clan-pytest-with-core> clan-pytest-with-core> passAsFile = [ "result" ]; clan-pytest-with-core> system = "{config["system"]}"; clan-pytest-with-core> builder = "/bin/sh"; clan-pytest-with-core> args = [ clan-pytest-with-core> "-c" clan-pytest-with-core> '' clan-pytest-with-core> read -r x < "$resultPath"; printf %s "$x" > $out clan-pytest-with-core> '' clan-pytest-with-core> ]; clan-pytest-with-core> }} clan-pytest-with-core> """ clan-pytest-with-core> trace = os.environ.get("CLAN_DEBUG_NIX_SELECTORS") == "1" clan-pytest-with-core> try: clan-pytest-with-core> build_output = Path( clan-pytest-with-core> > run( clan-pytest-with-core> nix_build(["--expr", nix_code, *nix_options]), clan-pytest-with-core> RunOpts(log=Log.NONE, trace=trace), clan-pytest-with-core> ).stdout.strip(), clan-pytest-with-core> ) clan-pytest-with-core> clan-pytest-with-core> clan_lib/flake/flake.py:1076: clan-pytest-with-core> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ clan-pytest-with-core> clan-pytest-with-core> cmd = ['nix', '--extra-experimental-features', 'nix-command flakes', '--option', 'warn-dirty', 'false', ...] clan-pytest-with-core> options = RunOpts(input=None, stdout=None, stderr=None, env=None, cwd=PosixPath('/build/src'), log=, prefix=None, m...al=False, timeout=inf, shell=False, requires_root_perm=False, graphical_perm=False, trace=False, sensitive_input=False) clan-pytest-with-core> clan-pytest-with-core> def run( clan-pytest-with-core> cmd: list[str], clan-pytest-with-core> options: RunOpts | None = None, clan-pytest-with-core> ) -> CmdOut: clan-pytest-with-core> if options is None: clan-pytest-with-core> options = RunOpts() clan-pytest-with-core> if options.cwd is None: clan-pytest-with-core> options.cwd = Path.cwd() clan-pytest-with-core> clan-pytest-with-core> async_ctx = get_async_ctx() clan-pytest-with-core> # Fill in the options from the thread-local data clan-pytest-with-core> # if they are not set in the options clan-pytest-with-core> if async_ctx: clan-pytest-with-core> if options.prefix is None: clan-pytest-with-core> options.prefix = async_ctx.prefix clan-pytest-with-core> if options.stdout is None: clan-pytest-with-core> options.stdout = async_ctx.stdout clan-pytest-with-core> if options.stderr is None: clan-pytest-with-core> options.stderr = async_ctx.stderr clan-pytest-with-core> clan-pytest-with-core> if options.requires_root_perm: clan-pytest-with-core> cmd = cmd_with_root(cmd, options.graphical_perm) clan-pytest-with-core> # Use our sudo ask proxy here as well clan-pytest-with-core> options.needs_user_terminal = True clan-pytest-with-core> clan-pytest-with-core> if cmdlog.isEnabledFor(logging.DEBUG) and options.trace: clan-pytest-with-core> if options.input and isinstance(options.input, bytes): clan-pytest-with-core> # Always redact sensitive input (e.g., private keys, passwords) clan-pytest-with-core> if options.sensitive_input: clan-pytest-with-core> filtered_input = "<>" clan-pytest-with-core> elif any( clan-pytest-with-core> not ch.isprintable() for ch in options.input.decode("ascii", "replace") clan-pytest-with-core> ): clan-pytest-with-core> filtered_input = "<>" clan-pytest-with-core> else: clan-pytest-with-core> filtered_input = options.input.decode("ascii", "replace") clan-pytest-with-core> clan-pytest-with-core> print_trace( clan-pytest-with-core> f"echo '{filtered_input}' | {indent_command(cmd)}", clan-pytest-with-core> cmdlog, clan-pytest-with-core> options.prefix, clan-pytest-with-core> ) clan-pytest-with-core> else: clan-pytest-with-core> print_trace(f"{indent_command(cmd)}", cmdlog, options.prefix) clan-pytest-with-core> clan-pytest-with-core> start = timeit.default_timer() clan-pytest-with-core> with ExitStack() as stack: clan-pytest-with-core> stdin = subprocess.PIPE if isinstance(options.input, bytes) else options.input clan-pytest-with-core> process = stack.enter_context( clan-pytest-with-core> subprocess.Popen( clan-pytest-with-core> cmd, clan-pytest-with-core> cwd=str(options.cwd), clan-pytest-with-core> env=options.env, clan-pytest-with-core> stdin=stdin, clan-pytest-with-core> stdout=subprocess.PIPE, clan-pytest-with-core> stderr=subprocess.PIPE, clan-pytest-with-core> start_new_session=not options.needs_user_terminal, clan-pytest-with-core> shell=options.shell, clan-pytest-with-core> ), clan-pytest-with-core> ) clan-pytest-with-core> clan-pytest-with-core> if options.needs_user_terminal: clan-pytest-with-core> # we didn't allocate a new session, so we can't terminate the process group clan-pytest-with-core> stack.enter_context(terminate_process(process)) clan-pytest-with-core> else: clan-pytest-with-core> stack.enter_context(terminate_process_group(process)) clan-pytest-with-core> clan-pytest-with-core> input_bytes = options.input if isinstance(options.input, bytes) else None clan-pytest-with-core> clan-pytest-with-core> stdout_buf, stderr_buf, stdout_raw = handle_io( clan-pytest-with-core> process, clan-pytest-with-core> options.log, clan-pytest-with-core> prefix=options.prefix, clan-pytest-with-core> msg_color=options.msg_color, clan-pytest-with-core> timeout=options.timeout, clan-pytest-with-core> input_bytes=input_bytes, clan-pytest-with-core> stdout=options.stdout, clan-pytest-with-core> stderr=options.stderr, clan-pytest-with-core> cmd=cmd, clan-pytest-with-core> cwd=options.cwd, clan-pytest-with-core> env=options.env, clan-pytest-with-core> ) clan-pytest-with-core> if not is_async_cancelled(): clan-pytest-with-core> process.wait() clan-pytest-with-core> clan-pytest-with-core> if TIME_TABLE: clan-pytest-with-core> TIME_TABLE.add(shlex.join(cmd), timeit.default_timer() - start) clan-pytest-with-core> clan-pytest-with-core> # Wait for the subprocess to finish clan-pytest-with-core> cmd_out = CmdOut( clan-pytest-with-core> stdout=stdout_buf, clan-pytest-with-core> stderr=stderr_buf, clan-pytest-with-core> cwd=options.cwd, clan-pytest-with-core> env=options.env, clan-pytest-with-core> command_list=cmd, clan-pytest-with-core> returncode=process.returncode, clan-pytest-with-core> msg=options.error_msg, clan-pytest-with-core> stdout_raw=stdout_raw, clan-pytest-with-core> ) clan-pytest-with-core> clan-pytest-with-core> if cmdlog.isEnabledFor(logging.DEBUG) and options.trace: clan-pytest-with-core> print_trace( clan-pytest-with-core> f"Command exited with return code {process.returncode}", clan-pytest-with-core> cmdlog, clan-pytest-with-core> options.prefix, clan-pytest-with-core> ) clan-pytest-with-core> clan-pytest-with-core> if options.check and process.returncode != 0: clan-pytest-with-core> if is_async_cancelled(): clan-pytest-with-core> cmd_out.msg = "Command cancelled" clan-pytest-with-core> > raise ClanCmdError(cmd_out) clan-pytest-with-core> E clan_lib.errors.ClanCmdError: clan-pytest-with-core> E =================================== Command ==================================== clan-pytest-with-core> E nix \ clan-pytest-with-core> E --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> E --option warn-dirty \ clan-pytest-with-core> E false \ clan-pytest-with-core> E build \ clan-pytest-with-core> E --flake-registry '' \ clan-pytest-with-core> E --print-out-paths --print-build-logs \ clan-pytest-with-core> E --show-trace --no-link \ clan-pytest-with-core> E --expr ' clan-pytest-with-core> E let clan-pytest-with-core> E flake = builtins.getFlake "path:/nix/store/nkfkwjgplbzad78b94h4hgmqlmc5mj6f-source?narHash=sha256-IaY2v2V6Mnj2gTWJtGoW3nh1kweMThkoYbQzaSXIkaA="; clan-pytest-with-core> E selectLib = ( clan-pytest-with-core> E builtins.getFlake clan-pytest-with-core> E "path:/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source?narHash=sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg=" clan-pytest-with-core> E ).lib; clan-pytest-with-core> E in clan-pytest-with-core> E derivation { clan-pytest-with-core> E name = "clan-flake-select"; clan-pytest-with-core> E result = builtins.toJSON [ clan-pytest-with-core> E (selectLib.applySelectors (builtins.fromJSON '"'"''"'"'[{"type": "str", "value": "clanInternals"}, {"type": "str", "value": "machines"}, {"type": "str", "value": "aarch64-linux"}, {"type": "str", "value": "sara"}, {"type": "str", "value": "config"}, {"type": "str", "value": "clan"}, {"type": "str", "value": "core"}, {"type": "str", "value": "backups"}]'"'"''"'"') flake) clan-pytest-with-core> E ]; clan-pytest-with-core> E clan-pytest-with-core> E # We can always build this derivation locally, since /bin/sh is system independent, clan-pytest-with-core> E # remote builders would introduce needless overhead. clan-pytest-with-core> E preferLocalBuild = true; clan-pytest-with-core> E # Save the roundtrip to check the binary caches for trivial substitutions clan-pytest-with-core> E allowSubstitutes = false; clan-pytest-with-core> E clan-pytest-with-core> E passAsFile = [ "result" ]; clan-pytest-with-core> E system = "aarch64-linux"; clan-pytest-with-core> E builder = "/bin/sh"; clan-pytest-with-core> E args = [ clan-pytest-with-core> E "-c" clan-pytest-with-core> E '"'"''"'"' clan-pytest-with-core> E read -r x < "$resultPath"; printf %s "$x" > $out clan-pytest-with-core> E '"'"''"'"' clan-pytest-with-core> E ]; clan-pytest-with-core> E } clan-pytest-with-core> E ' \ clan-pytest-with-core> E --store /build/store clan-pytest-with-core> E clan-pytest-with-core> E ==================================== Stderr ==================================== clan-pytest-with-core> E warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> E error: clan-pytest-with-core> E … while calling the 'derivationStrict' builtin clan-pytest-with-core> E at :37:12: clan-pytest-with-core> E 36| clan-pytest-with-core> E 37| strict = derivationStrict drvAttrs; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 38| clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating derivation 'clan-flake-select' clan-pytest-with-core> E whose name attribute is located at «string»:10:17 clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating attribute 'result' of derivation 'clan-flake-select' clan-pytest-with-core> E at «string»:11:17: clan-pytest-with-core> E 10| name = "clan-flake-select"; clan-pytest-with-core> E 11| result = builtins.toJSON [ clan-pytest-with-core> E | ^ clan-pytest-with-core> E 12| (selectLib.applySelectors (builtins.fromJSON ''[{"type": "str", "value": "clanInternals"}, {"type": "str", "value": "machines"}, {"type": "str", "value": "aarch64-linux"}, {"type": "str", "value": "sara"}, {"type": "str", "value": "config"}, {"type": "str", "value": "clan"}, {"type": "str", "value": "core"}, {"type": "str", "value": "backups"}]'') flake) clan-pytest-with-core> E clan-pytest-with-core> E … while calling the 'toJSON' builtin clan-pytest-with-core> E at «string»:11:26: clan-pytest-with-core> E 10| name = "clan-flake-select"; clan-pytest-with-core> E 11| result = builtins.toJSON [ clan-pytest-with-core> E | ^ clan-pytest-with-core> E 12| (selectLib.applySelectors (builtins.fromJSON ''[{"type": "str", "value": "clanInternals"}, {"type": "str", "value": "machines"}, {"type": "str", "value": "aarch64-linux"}, {"type": "str", "value": "sara"}, {"type": "str", "value": "config"}, {"type": "str", "value": "clan"}, {"type": "str", "value": "core"}, {"type": "str", "value": "backups"}]'') flake) clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating list element at index 0 clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at «string»:12:22: clan-pytest-with-core> E 11| result = builtins.toJSON [ clan-pytest-with-core> E 12| (selectLib.applySelectors (builtins.fromJSON ''[{"type": "str", "value": "clanInternals"}, {"type": "str", "value": "machines"}, {"type": "str", "value": "aarch64-linux"}, {"type": "str", "value": "sara"}, {"type": "str", "value": "config"}, {"type": "str", "value": "clan"}, {"type": "str", "value": "core"}, {"type": "str", "value": "backups"}]'') flake) clan-pytest-with-core> E | ^ clan-pytest-with-core> E 13| ]; clan-pytest-with-core> E clan-pytest-with-core> E … while calling 'applySelectors' clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:262:16: clan-pytest-with-core> E 261| applySelectors = clan-pytest-with-core> E 262| selectors: obj: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 263| let clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:352:5: clan-pytest-with-core> E 351| in clan-pytest-with-core> E 352| recurse selectors 0 obj; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 353| clan-pytest-with-core> E clan-pytest-with-core> E … while calling 'recurse' clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:265:25: clan-pytest-with-core> E 264| recurse = clan-pytest-with-core> E 265| selectors: idx: obj: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 266| # we are done clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:312:15: clan-pytest-with-core> E 311| else if selector.type == "str" then clan-pytest-with-core> E 312| recurse selectors (idx + 1) (builtins.getAttr selector.value obj) clan-pytest-with-core> E | ^ clan-pytest-with-core> E 313| else if selector.type == "set" then clan-pytest-with-core> E clan-pytest-with-core> E (7 duplicate frames omitted) clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating a branch condition clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:281:11: clan-pytest-with-core> E 280| # lists clan-pytest-with-core> E 281| if builtins.isList obj then clan-pytest-with-core> E | ^ clan-pytest-with-core> E 282| if selector.type == "all" then clan-pytest-with-core> E clan-pytest-with-core> E … while calling the 'isList' builtin clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:281:14: clan-pytest-with-core> E 280| # lists clan-pytest-with-core> E 281| if builtins.isList obj then clan-pytest-with-core> E | ^ clan-pytest-with-core> E 282| if selector.type == "all" then clan-pytest-with-core> E clan-pytest-with-core> E … while calling the 'getAttr' builtin clan-pytest-with-core> E at /build/store/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source/select.nix:312:44: clan-pytest-with-core> E 311| else if selector.type == "str" then clan-pytest-with-core> E 312| recurse selectors (idx + 1) (builtins.getAttr selector.value obj) clan-pytest-with-core> E | ^ clan-pytest-with-core> E 313| else if selector.type == "set" then clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/module.nix:139:17: clan-pytest-with-core> E 138| lib.mapAttrs ( clan-pytest-with-core> E 139| name: machine: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 140| machine.extendModules { clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/module.nix:140:11: clan-pytest-with-core> E 139| name: machine: clan-pytest-with-core> E 140| machine.extendModules { clan-pytest-with-core> E | ^ clan-pytest-with-core> E 141| modules = [ clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/module.nix:84:11: clan-pytest-with-core> E 83| configurations = lib.mapAttrs ( clan-pytest-with-core> E 84| name: _: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 85| let clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/module.nix:92:11: clan-pytest-with-core> E 91| else clan-pytest-with-core> E 92| config.dependencies.nix-darwin.lib.darwinSystem; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 93| in clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/attrsets.nix:1195:17: clan-pytest-with-core> E 1194| mapAttrs ( clan-pytest-with-core> E 1195| name: value: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1196| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating a branch condition clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/attrsets.nix:1196:11: clan-pytest-with-core> E 1195| name: value: clan-pytest-with-core> E 1196| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1197| ); clan-pytest-with-core> E clan-pytest-with-core> E … in the left operand of the AND (&&) operator clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/attrsets.nix:1196:28: clan-pytest-with-core> E 1195| name: value: clan-pytest-with-core> E 1196| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1197| ); clan-pytest-with-core> E clan-pytest-with-core> E … while calling the 'isAttrs' builtin clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/attrsets.nix:1196:14: clan-pytest-with-core> E 1195| name: value: clan-pytest-with-core> E 1196| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1197| ); clan-pytest-with-core> E clan-pytest-with-core> E … while calling anonymous lambda clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:927:37: clan-pytest-with-core> E 926| clan-pytest-with-core> E 927| matchedOptions = mapAttrs (n: v: v.matchedOptions) resultsByName; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 928| clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'matchedOptions' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:893:13: clan-pytest-with-core> E 892| { clan-pytest-with-core> E 893| matchedOptions = evalOptionValue loc opt defns'; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 894| unmatchedDefns = [ ]; clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:893:30: clan-pytest-with-core> E 892| { clan-pytest-with-core> E 893| matchedOptions = evalOptionValue loc opt defns'; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 894| unmatchedDefns = [ ]; clan-pytest-with-core> E clan-pytest-with-core> E … while calling 'evalOptionValue' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1103:15: clan-pytest-with-core> E 1102| evalOptionValue = clan-pytest-with-core> E 1103| loc: opt: defs: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1104| let clan-pytest-with-core> E clan-pytest-with-core> E … in the left operand of the update (//) operator clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1148:5: clan-pytest-with-core> E 1147| warnDeprecation opt clan-pytest-with-core> E 1148| // { clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1149| value = addErrorContext "while evaluating the option `${showOption loc}':" value; clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating a branch condition clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1141:9: clan-pytest-with-core> E 1140| warnDeprecation = clan-pytest-with-core> E 1141| if (opt.type.deprecationMessage != null) then clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1142| warn "The type `types.${opt.type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${opt.type.deprecationMessage}" clan-pytest-with-core> E clan-pytest-with-core> E … from call site clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:890:19: clan-pytest-with-core> E 889| let clan-pytest-with-core> E 890| opt = fixupOptionType loc (mergeOptionDecls loc decls); clan-pytest-with-core> E | ^ clan-pytest-with-core> E 891| in clan-pytest-with-core> E clan-pytest-with-core> E … while calling 'fixupOptionType' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1473:10: clan-pytest-with-core> E 1472| fixupOptionType = clan-pytest-with-core> E 1473| loc: opt: clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1474| if opt.type.getSubModules or null == null then clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating a branch condition clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/modules.nix:1474:5: clan-pytest-with-core> E 1473| loc: opt: clan-pytest-with-core> E 1474| if opt.type.getSubModules or null == null then clan-pytest-with-core> E | ^ clan-pytest-with-core> E 1475| opt // { type = opt.type or types.unspecified; } clan-pytest-with-core> E clan-pytest-with-core> E … while evaluating the attribute 'type.getSubModules' clan-pytest-with-core> E at /build/store/nix/store/960gm9cw04za14da8wv6q4q3h67n898r-source/lib/types.nix:273:9: clan-pytest-with-core> E 272| getSubOptions clan-pytest-with-core> E 273| getSubModules clan-pytest-with-core> E | ^ clan-pytest-with-core> E 274| substSubModules clan-pytest-with-core> E clan-pytest-with-core> E error: attribute 'raw' missing clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/top-level-interface.nix:110:32: clan-pytest-with-core> E 109| dependencies = lib.mkOption { clan-pytest-with-core> E 110| type = lib.types.attrsOf lib.raw; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 111| internal = true; clan-pytest-with-core> E Did you mean one of map or max? clan-pytest-with-core> E clan-pytest-with-core> E Return Code: 1 clan-pytest-with-core> clan-pytest-with-core> clan_lib/cmd/__init__.py:451: ClanCmdError clan-pytest-with-core> clan-pytest-with-core> The above exception was the direct cause of the following exception: clan-pytest-with-core> clan-pytest-with-core> clan_flake = .factory at 0xffffe5fb3c10> clan-pytest-with-core> clan-pytest-with-core> @pytest.mark.broken_on_darwin clan-pytest-with-core> @pytest.mark.with_core clan-pytest-with-core> def test_known_selectors_exist(clan_flake: Callable[..., Flake]) -> None: clan-pytest-with-core> """Test that every selector""" clan-pytest-with-core> clan_config: ClanInput = { clan-pytest-with-core> "inventory": { clan-pytest-with-core> "meta": {"name": "test-clan"}, clan-pytest-with-core> "machines": { clan-pytest-with-core> "jon": {}, clan-pytest-with-core> "sara": {"machineClass": "darwin"}, clan-pytest-with-core> }, clan-pytest-with-core> } clan-pytest-with-core> } clan-pytest-with-core> clan-pytest-with-core> raw_clan = r""" clan-pytest-with-core> let clan-pytest-with-core> generator = { clan-pytest-with-core> files.password.deploy = false; clan-pytest-with-core> clan-pytest-with-core> prompts.password.display = { clan-pytest-with-core> group = "User"; clan-pytest-with-core> label = "Password"; clan-pytest-with-core> required = false; clan-pytest-with-core> helperText = '' clan-pytest-with-core> Your password will be encrypted and stored securely using the secret store you've configured. clan-pytest-with-core> ''; clan-pytest-with-core> }; clan-pytest-with-core> clan-pytest-with-core> prompts.password.type = "hidden"; clan-pytest-with-core> prompts.password.persist = true; clan-pytest-with-core> prompts.password.description = "Leave empty to generate automatically"; clan-pytest-with-core> clan-pytest-with-core> script = '' clan-pytest-with-core> echo "login" > $out/password clan-pytest-with-core> ''; clan-pytest-with-core> }; clan-pytest-with-core> in clan-pytest-with-core> { clan-pytest-with-core> # Minimal system configuration clan-pytest-with-core> machines.jon = { clan-pytest-with-core> system.stateVersion = "25.11"; clan-pytest-with-core> nixpkgs.hostPlatform = "x86_64-linux"; clan-pytest-with-core> clan.core.vars.generators.testgen = generator; clan-pytest-with-core> }; clan-pytest-with-core> machines.sara = { clan-pytest-with-core> system.stateVersion = 5; clan-pytest-with-core> nixpkgs.hostPlatform = "aarch64-darwin"; clan-pytest-with-core> clan.core.vars.generators.testgen = generator; clan-pytest-with-core> }; clan-pytest-with-core> } clan-pytest-with-core> """ clan-pytest-with-core> clan-pytest-with-core> flake = clan_flake(clan_config, raw_clan) clan-pytest-with-core> machines = list_machines(flake) clan-pytest-with-core> assert list(machines.keys()) == ["jon", "sara"] clan-pytest-with-core> clan-pytest-with-core> config = nix_config() clan-pytest-with-core> system = config["system"] clan-pytest-with-core> generator_name = "testgen" clan-pytest-with-core> clan-pytest-with-core> # Build the full list of selectors first so we can resolve them in a clan-pytest-with-core> # single nix invocation. Selecting one at a time spawns a fresh nix clan-pytest-with-core> # build per selector (~10s each on a busy CI builder). clan-pytest-with-core> selectors: list[tuple[str, str]] = [ clan-pytest-with-core> (fn.__name__, fn()) for fn in nix_selectors.STATIC_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> selectors += [ clan-pytest-with-core> (fn.__name__, fn("Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU", "*")) clan-pytest-with-core> for fn in nix_selectors.MODULE_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> for machine_name in machines: clan-pytest-with-core> selectors += [ clan-pytest-with-core> (fn.__name__, fn(system, machine_name)) clan-pytest-with-core> for fn in nix_selectors.MACHINE_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> selectors += [ clan-pytest-with-core> (fn.__name__, fn(system, machine_name, generator_name)) clan-pytest-with-core> for fn in nix_selectors.GENERATOR_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> selectors += [ clan-pytest-with-core> (fn.__name__, fn(system, list(machines))) clan-pytest-with-core> for fn in nix_selectors.MACHINES_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> clan-pytest-with-core> # Try to resolve everything in one nix build. If that succeeds, the clan-pytest-with-core> # per-selector loop below is just cache lookups. If it fails, fall back clan-pytest-with-core> # to one-by-one so the failure points at the offending selector. clan-pytest-with-core> with contextlib.suppress(ClanError): clan-pytest-with-core> flake.precache([sel for _, sel in selectors]) clan-pytest-with-core> clan-pytest-with-core> for name, selector_str in selectors: clan-pytest-with-core> try: clan-pytest-with-core> > flake.select(selector_str) clan-pytest-with-core> clan-pytest-with-core> clan_lib/tests/test_known_selectors.py:111: clan-pytest-with-core> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ clan-pytest-with-core> clan_lib/flake/flake.py:1177: in select clan-pytest-with-core> self.get_from_nix([selector]) clan-pytest-with-core> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ clan-pytest-with-core> clan-pytest-with-core> self = Flake(identifier='/build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan', hash='sha256-IaY2v2...src/clan_lib/flake/flake.py", line 833, in _record_cache_miss\n stack_trace = "".join(traceback.format_stack())\n']) clan-pytest-with-core> selectors = ['clanInternals.machines.aarch64-linux."sara".config.clan.core.backups'] clan-pytest-with-core> clan-pytest-with-core> def get_from_nix( clan-pytest-with-core> self, clan-pytest-with-core> selectors: list[str], clan-pytest-with-core> ) -> None: clan-pytest-with-core> """Retrieves specific attributes from a Nix flake using the provided selectors. clan-pytest-with-core> clan-pytest-with-core> This function interacts with the Nix build system to fetch and process clan-pytest-with-core> attributes from a flake. It uses the provided selectors to determine which clan-pytest-with-core> attributes to retrieve and optionally accepts additional Nix options for clan-pytest-with-core> customization. The results are cached for future use. clan-pytest-with-core> Used mostly as a lowlevel function for `precache` and `select` methods. clan-pytest-with-core> clan-pytest-with-core> Args: clan-pytest-with-core> selectors (list[str]): A list of attribute selectors to fetch from the flake. clan-pytest-with-core> nix_options (list[str] | None): Optional additional options to pass to the Nix build command. clan-pytest-with-core> clan-pytest-with-core> Raises: clan-pytest-with-core> ClanError: If the number of outputs does not match the number of selectors. clan-pytest-with-core> AssertionError: If the cache or flake cache path is not properly initialized. clan-pytest-with-core> clan-pytest-with-core> """ clan-pytest-with-core> if self._cache is None: clan-pytest-with-core> self.invalidate_cache() clan-pytest-with-core> if self._cache is None: clan-pytest-with-core> msg = "Cache cannot be None after invalidation" clan-pytest-with-core> raise ClanError(msg) clan-pytest-with-core> clan-pytest-with-core> nix_options = self.nix_options[:] if self.nix_options is not None else [] clan-pytest-with-core> clan-pytest-with-core> str_selectors = [ clan-pytest-with-core> selectors_as_json(parse_selector(selector)) for selector in selectors clan-pytest-with-core> ] clan-pytest-with-core> clan-pytest-with-core> config = nix_config() clan-pytest-with-core> clan-pytest-with-core> select_hash = "sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg=" clan-pytest-with-core> if not select_hash.startswith("sha256-"): clan-pytest-with-core> select_flake = Flake(str(select_source()), nix_options=nix_options) clan-pytest-with-core> select_flake.invalidate_cache() clan-pytest-with-core> if select_flake.hash is None: clan-pytest-with-core> msg = "this should be impossible as invalidate_cache() should always set `hash`" clan-pytest-with-core> raise ClanError(msg) clan-pytest-with-core> select_hash = select_flake.hash clan-pytest-with-core> clan-pytest-with-core> # fmt: off clan-pytest-with-core> nix_code = f""" clan-pytest-with-core> let clan-pytest-with-core> flake = builtins.getFlake "path:{self.store_path}?narHash={self.hash}"; clan-pytest-with-core> selectLib = ( clan-pytest-with-core> builtins.getFlake clan-pytest-with-core> "path:{select_source()}?narHash={select_hash}" clan-pytest-with-core> ).lib; clan-pytest-with-core> in clan-pytest-with-core> derivation {{ clan-pytest-with-core> name = "clan-flake-select"; clan-pytest-with-core> result = builtins.toJSON [ clan-pytest-with-core> {" ".join( clan-pytest-with-core> [ clan-pytest-with-core> f"(selectLib.applySelectors (builtins.fromJSON ''{attr}'') flake)" clan-pytest-with-core> for attr in str_selectors clan-pytest-with-core> ] clan-pytest-with-core> )} clan-pytest-with-core> ]; clan-pytest-with-core> clan-pytest-with-core> # We can always build this derivation locally, since /bin/sh is system independent, clan-pytest-with-core> # remote builders would introduce needless overhead. clan-pytest-with-core> preferLocalBuild = true; clan-pytest-with-core> # Save the roundtrip to check the binary caches for trivial substitutions clan-pytest-with-core> allowSubstitutes = false; clan-pytest-with-core> clan-pytest-with-core> passAsFile = [ "result" ]; clan-pytest-with-core> system = "{config["system"]}"; clan-pytest-with-core> builder = "/bin/sh"; clan-pytest-with-core> args = [ clan-pytest-with-core> "-c" clan-pytest-with-core> '' clan-pytest-with-core> read -r x < "$resultPath"; printf %s "$x" > $out clan-pytest-with-core> '' clan-pytest-with-core> ]; clan-pytest-with-core> }} clan-pytest-with-core> """ clan-pytest-with-core> trace = os.environ.get("CLAN_DEBUG_NIX_SELECTORS") == "1" clan-pytest-with-core> try: clan-pytest-with-core> build_output = Path( clan-pytest-with-core> run( clan-pytest-with-core> nix_build(["--expr", nix_code, *nix_options]), clan-pytest-with-core> RunOpts(log=Log.NONE, trace=trace), clan-pytest-with-core> ).stdout.strip(), clan-pytest-with-core> ) clan-pytest-with-core> except ClanCmdError as e: clan-pytest-with-core> if "error: attribute 'clan' missing" in str(e): clan-pytest-with-core> msg = ("This flake does not export the 'clan' attribute. \n" clan-pytest-with-core> "Please write 'clan = clan.config;' into the outputs of your flake.nix.") clan-pytest-with-core> raise ClanSelectError( clan-pytest-with-core> flake_identifier=self.identifier, clan-pytest-with-core> selectors=selectors, clan-pytest-with-core> cmd_error=e, clan-pytest-with-core> description=msg, clan-pytest-with-core> ) from e clan-pytest-with-core> clan-pytest-with-core> # If the error is about a missing attribute, we raise a ClanSelectError clan-pytest-with-core> # with the failed selectors and the flake identifier. clan-pytest-with-core> > raise ClanSelectError( clan-pytest-with-core> flake_identifier=self.identifier, clan-pytest-with-core> selectors=selectors, clan-pytest-with-core> cmd_error=e, clan-pytest-with-core> ) from e clan-pytest-with-core> E clan_lib.flake.flake.ClanSelectError: Error on: $ clan select 'clanInternals.machines.aarch64-linux."sara".config.clan.core.backups' clan-pytest-with-core> E Reason: attribute 'raw' missing clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/top-level-interface.nix:110:32: clan-pytest-with-core> E 109| dependencies = lib.mkOption { clan-pytest-with-core> E 110| type = lib.types.attrsOf lib.raw; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 111| internal = true; clan-pytest-with-core> E Did you mean one of map or max?. Use flag '--debug' to see full nix trace. clan-pytest-with-core> clan-pytest-with-core> clan_lib/flake/flake.py:1094: ClanSelectError clan-pytest-with-core> clan-pytest-with-core> During handling of the above exception, another exception occurred: clan-pytest-with-core> clan-pytest-with-core> clan_flake = .factory at 0xffffe5fb3c10> clan-pytest-with-core> clan-pytest-with-core> @pytest.mark.broken_on_darwin clan-pytest-with-core> @pytest.mark.with_core clan-pytest-with-core> def test_known_selectors_exist(clan_flake: Callable[..., Flake]) -> None: clan-pytest-with-core> """Test that every selector""" clan-pytest-with-core> clan_config: ClanInput = { clan-pytest-with-core> "inventory": { clan-pytest-with-core> "meta": {"name": "test-clan"}, clan-pytest-with-core> "machines": { clan-pytest-with-core> "jon": {}, clan-pytest-with-core> "sara": {"machineClass": "darwin"}, clan-pytest-with-core> }, clan-pytest-with-core> } clan-pytest-with-core> } clan-pytest-with-core> clan-pytest-with-core> raw_clan = r""" clan-pytest-with-core> let clan-pytest-with-core> generator = { clan-pytest-with-core> files.password.deploy = false; clan-pytest-with-core> clan-pytest-with-core> prompts.password.display = { clan-pytest-with-core> group = "User"; clan-pytest-with-core> label = "Password"; clan-pytest-with-core> required = false; clan-pytest-with-core> helperText = '' clan-pytest-with-core> Your password will be encrypted and stored securely using the secret store you've configured. clan-pytest-with-core> ''; clan-pytest-with-core> }; clan-pytest-with-core> clan-pytest-with-core> prompts.password.type = "hidden"; clan-pytest-with-core> prompts.password.persist = true; clan-pytest-with-core> prompts.password.description = "Leave empty to generate automatically"; clan-pytest-with-core> clan-pytest-with-core> script = '' clan-pytest-with-core> echo "login" > $out/password clan-pytest-with-core> ''; clan-pytest-with-core> }; clan-pytest-with-core> in clan-pytest-with-core> { clan-pytest-with-core> # Minimal system configuration clan-pytest-with-core> machines.jon = { clan-pytest-with-core> system.stateVersion = "25.11"; clan-pytest-with-core> nixpkgs.hostPlatform = "x86_64-linux"; clan-pytest-with-core> clan.core.vars.generators.testgen = generator; clan-pytest-with-core> }; clan-pytest-with-core> machines.sara = { clan-pytest-with-core> system.stateVersion = 5; clan-pytest-with-core> nixpkgs.hostPlatform = "aarch64-darwin"; clan-pytest-with-core> clan.core.vars.generators.testgen = generator; clan-pytest-with-core> }; clan-pytest-with-core> } clan-pytest-with-core> """ clan-pytest-with-core> clan-pytest-with-core> flake = clan_flake(clan_config, raw_clan) clan-pytest-with-core> machines = list_machines(flake) clan-pytest-with-core> assert list(machines.keys()) == ["jon", "sara"] clan-pytest-with-core> clan-pytest-with-core> config = nix_config() clan-pytest-with-core> system = config["system"] clan-pytest-with-core> generator_name = "testgen" clan-pytest-with-core> clan-pytest-with-core> # Build the full list of selectors first so we can resolve them in a clan-pytest-with-core> # single nix invocation. Selecting one at a time spawns a fresh nix clan-pytest-with-core> # build per selector (~10s each on a busy CI builder). clan-pytest-with-core> selectors: list[tuple[str, str]] = [ clan-pytest-with-core> (fn.__name__, fn()) for fn in nix_selectors.STATIC_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> selectors += [ clan-pytest-with-core> (fn.__name__, fn("Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU", "*")) clan-pytest-with-core> for fn in nix_selectors.MODULE_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> for machine_name in machines: clan-pytest-with-core> selectors += [ clan-pytest-with-core> (fn.__name__, fn(system, machine_name)) clan-pytest-with-core> for fn in nix_selectors.MACHINE_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> selectors += [ clan-pytest-with-core> (fn.__name__, fn(system, machine_name, generator_name)) clan-pytest-with-core> for fn in nix_selectors.GENERATOR_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> selectors += [ clan-pytest-with-core> (fn.__name__, fn(system, list(machines))) clan-pytest-with-core> for fn in nix_selectors.MACHINES_SELECTORS clan-pytest-with-core> ] clan-pytest-with-core> clan-pytest-with-core> # Try to resolve everything in one nix build. If that succeeds, the clan-pytest-with-core> # per-selector loop below is just cache lookups. If it fails, fall back clan-pytest-with-core> # to one-by-one so the failure points at the offending selector. clan-pytest-with-core> with contextlib.suppress(ClanError): clan-pytest-with-core> flake.precache([sel for _, sel in selectors]) clan-pytest-with-core> clan-pytest-with-core> for name, selector_str in selectors: clan-pytest-with-core> try: clan-pytest-with-core> flake.select(selector_str) clan-pytest-with-core> except ClanError as e: clan-pytest-with-core> > pytest.fail( clan-pytest-with-core> f"Selector '{name}' failed\n Selector: {selector_str}\n Error: {e}" clan-pytest-with-core> ) clan-pytest-with-core> E Failed: Selector 'machine_backups' failed clan-pytest-with-core> E Selector: clanInternals.machines.aarch64-linux."sara".config.clan.core.backups clan-pytest-with-core> E Error: Error on: $ clan select 'clanInternals.machines.aarch64-linux."sara".config.clan.core.backups' clan-pytest-with-core> E Reason: attribute 'raw' missing clan-pytest-with-core> E at /build/store/nix/store/mf87izdf24p65whcksxfp7acd9dr8s6c-source/modules/clan/top-level-interface.nix:110:32: clan-pytest-with-core> E 109| dependencies = lib.mkOption { clan-pytest-with-core> E 110| type = lib.types.attrsOf lib.raw; clan-pytest-with-core> E | ^ clan-pytest-with-core> E 111| internal = true; clan-pytest-with-core> E Did you mean one of map or max?. Use flag '--debug' to see full nix trace. clan-pytest-with-core> clan-pytest-with-core> clan_lib/tests/test_known_selectors.py:113: Failed clan-pytest-with-core> ----------------------------- Captured stderr call ----------------------------- clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> init clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:156::create_clan clan-pytest-with-core> clan-pytest-with-core> hint: Using 'master' as the name for the initial branch. This default branch name clan-pytest-with-core> hint: will change to "main" in Git 3.0. To configure the initial branch name clan-pytest-with-core> hint: to use in all of your new repositories, which will suppress this warning, clan-pytest-with-core> hint: call: clan-pytest-with-core> hint: clan-pytest-with-core> hint: git config --global init.defaultBranch clan-pytest-with-core> hint: clan-pytest-with-core> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and clan-pytest-with-core> hint: 'development'. The just-created branch can be renamed via this command: clan-pytest-with-core> hint: clan-pytest-with-core> hint: git branch -m clan-pytest-with-core> hint: clan-pytest-with-core> hint: Disable this message with "git config set advice.defaultBranchName false" clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:156::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> . clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:157::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:157::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.name clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:160::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:160::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.name \ clan-pytest-with-core> clan-tool clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:165::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:165::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.email clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:167::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:167::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.email \ clan-pytest-with-core> clan@example.com clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:172::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:172::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> . clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:186::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:186::create_clan clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'Initial commit' clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:187::create_clan clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:187::create_clan clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/77a7abf6e734d0ed8430e29cc4cb112ad8e14c39 clan-pytest-with-core> (cached) $ clan select 'clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta}' clan-pytest-with-core> Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> Precaching selectors: clan-pytest-with-core> - (not cached) sourceInfo clan-pytest-with-core> - (not cached) clanInternals.?secrets.?age.?plugins clan-pytest-with-core> - (not cached) clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> - (not cached) clan.?exports clan-pytest-with-core> - (not cached) clanInternals.inventoryClass.modulesPerSource clan-pytest-with-core> - (not cached) clanInternals.inventoryClass.staticModules clan-pytest-with-core> - (not cached) clanInternals.vars.settings.?recipients clan-pytest-with-core> - (not cached) clanInternals.inventoryClass.moduleSchemas.Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU.* clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.backups clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.state clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.networking.targetHost clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.networking.buildHost clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.settings.secretModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.settings.publicModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.generators."testgen".finalScript clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.backups clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.state clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.networking.targetHost clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.networking.buildHost clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.vars.settings.secretModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.vars.settings.publicModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.vars.generators."testgen".finalScript clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.generators.*.{share,dependencies,prompts,validationHash} clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.generators.*.files.*.{secret,deploy,owner,group,mode,neededFor} clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.?sops.?defaultGroups clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.settings.publicModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.settings.secretModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.?sops.?secretUploadDirectory clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.?password-store.?passCommand clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.?password-store.?secretLocation clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.settings.?age.?keyFile clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.?age.?secretLocation clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.deployment.requireExplicitUpdate clan-pytest-with-core> Cache miss for sourceInfo clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clan.?exports clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.modulesPerSource clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.staticModules clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.vars.settings.?recipients clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.moduleSchemas.Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU.* clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.backups clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.state clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.networking.targetHost clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.networking.buildHost clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.settings.secretModule clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.settings.publicModule clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.generators."testgen".finalScript clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> Cache miss for clanInternals.machines.aarch64-linux."sara".config.clan.core.backups clan-pytest-with-core> ------------------------------ Captured log call ------------------------------- clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> init clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:156::create_clan clan-pytest-with-core> clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: Using 'master' as the name for the initial branch. This default branch name clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: will change to "main" in Git 3.0. To configure the initial branch name clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: to use in all of your new repositories, which will suppress this warning, clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: call: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: git config --global init.defaultBranch clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: 'development'. The just-created branch can be renamed via this command: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: git branch -m clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 hint: Disable this message with "git config set advice.defaultBranchName false" clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:156::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> . clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:157::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:157::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.name clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:160::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:160::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.name \ clan-pytest-with-core> clan-tool clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:165::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:165::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.email clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:167::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 1 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:167::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> config \ clan-pytest-with-core> user.email \ clan-pytest-with-core> clan@example.com clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:172::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:172::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> add \ clan-pytest-with-core> . clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:186::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:186::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 git \ clan-pytest-with-core> -C /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'Initial commit' clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:187::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_lib/clan/create.py:187::create_clan clan-pytest-with-core> clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:927 Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/77a7abf6e734d0ed8430e29cc4cb112ad8e14c39 clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1179 (cached) $ clan select 'clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta}' clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:927 Prefetching flake /build/pytest-of-nixbld/pytest-0/popen-gw2/test_known_selectors_exist0/my-clan clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1144 Precaching selectors: clan-pytest-with-core> - (not cached) sourceInfo clan-pytest-with-core> - (not cached) clanInternals.?secrets.?age.?plugins clan-pytest-with-core> - (not cached) clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> - (not cached) clan.?exports clan-pytest-with-core> - (not cached) clanInternals.inventoryClass.modulesPerSource clan-pytest-with-core> - (not cached) clanInternals.inventoryClass.staticModules clan-pytest-with-core> - (not cached) clanInternals.vars.settings.?recipients clan-pytest-with-core> - (not cached) clanInternals.inventoryClass.moduleSchemas.Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU.* clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.backups clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.state clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.networking.targetHost clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.networking.buildHost clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.settings.secretModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.settings.publicModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.generators."testgen".finalScript clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.backups clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.state clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.networking.targetHost clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.networking.buildHost clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.vars.settings.secretModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.vars.settings.publicModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux."sara".config.clan.core.vars.generators."testgen".finalScript clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.generators.*.{share,dependencies,prompts,validationHash} clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.generators.*.files.*.{secret,deploy,owner,group,mode,neededFor} clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.?sops.?defaultGroups clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.settings.publicModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.settings.secretModule clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.?sops.?secretUploadDirectory clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.?password-store.?passCommand clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.?password-store.?secretLocation clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.settings.?age.?keyFile clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.core.vars.?age.?secretLocation clan-pytest-with-core> - (not cached) clanInternals.machines.aarch64-linux.{jon,sara}.config.clan.deployment.requireExplicitUpdate clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for sourceInfo clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clan.?exports clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.modulesPerSource clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.staticModules clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.vars.settings.?recipients clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.inventoryClass.moduleSchemas.Y2xhbi1jaW9yZS1uZXZlci1kZXBlbmQtb24tbWU.* clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.backups clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.state clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.networking.targetHost clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.networking.buildHost clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.settings.secretModule clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.settings.publicModule clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.machines.aarch64-linux."jon".config.clan.core.vars.generators."testgen".finalScript clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:789 Loading flake cache from file /build/clan-flake-cache/flakes-v2/338d87191b6eae9ee53a711e1247c970bbf4ebbc clan-pytest-with-core> DEBUG clan_lib.flake.flake:flake.py:1174 Cache miss for clanInternals.machines.aarch64-linux."sara".config.clan.core.backups clan-pytest-with-core> ============================= slowest 5 durations ============================== clan-pytest-with-core> 25.51s call clan_lib/tests/test_create.py::test_clan_create_api clan-pytest-with-core> 22.79s call clan_cli/tests/test_vars_generate.py::test_generate_public_and_secret_vars clan-pytest-with-core> 20.63s call clan_lib/flash/test_list.py::test_flash_config clan-pytest-with-core> 18.97s call clan_cli/tests/test_vars_prompts.py::test_prompt_prefill_on_regeneration clan-pytest-with-core> 18.34s call clan_cli/generate_test_vars/test_generate_test_vars.py::test_generate_test_vars clan-pytest-with-core> =========================== short test summary info ============================ clan-pytest-with-core> FAILED clan_lib/machines/actions_test.py::test_get_machine_writeability - AssertionError: assert {'deploy.buil...alledAt', ...} == {'deploy.buil...al... clan-pytest-with-core> FAILED clan_cli/tests/test_vars_generate.py::test_flake_level_generators - clan_lib.flake.flake.ClanSelectError: Error on: $ clan select 'clanInternal... clan-pytest-with-core> FAILED clan_lib/tests/test_known_selectors.py::test_known_selectors_exist - Failed: Selector 'machine_backups' failed clan-pytest-with-core> ============= 3 failed, 231 passed, 1 skipped in 64.84s (0:01:04) ============== clan-pytest-with-core> + exitHandler clan-pytest-with-core> + exitCode=1 clan-pytest-with-core> + set +e clan-pytest-with-core> + '[' -n '' ']' clan-pytest-with-core> + (( 1 != 0 )) clan-pytest-with-core> + runHook failureHook clan-pytest-with-core> + local hookName=failureHook clan-pytest-with-core> + shift clan-pytest-with-core> + local 'hooksSlice=failureHooks[@]' clan-pytest-with-core> + local hook clan-pytest-with-core> + for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"} clan-pytest-with-core> + _logHook failureHook '_callImplicitHook 0 failureHook' clan-pytest-with-core> + [[ -z 2 ]] clan-pytest-with-core> + local hookKind=failureHook clan-pytest-with-core> + local 'hookExpr=_callImplicitHook 0 failureHook' clan-pytest-with-core> + shift 2 clan-pytest-with-core> + declare -F '_callImplicitHook 0 failureHook' clan-pytest-with-core> + type -p '_callImplicitHook 0 failureHook' clan-pytest-with-core> + [[ _callImplicitHook 0 failureHook != _callImplicitHook* ]] clan-pytest-with-core> + _eval '_callImplicitHook 0 failureHook' clan-pytest-with-core> + declare -F '_callImplicitHook 0 failureHook' clan-pytest-with-core> + eval '_callImplicitHook 0 failureHook' clan-pytest-with-core> ++ _callImplicitHook 0 failureHook clan-pytest-with-core> ++ local def=0 clan-pytest-with-core> ++ local hookName=failureHook clan-pytest-with-core> ++ declare -F failureHook clan-pytest-with-core> ++ type -p failureHook clan-pytest-with-core> ++ '[' -n '' ']' clan-pytest-with-core> ++ return 0 clan-pytest-with-core> + return 0 clan-pytest-with-core> + '[' -n '' ']' clan-pytest-with-core> + return 1 error: path '/nix/store/sdjmshwm3wvwgf90hchy3xd3p8flv8li-clan-pytest-with-core' is not valid error: Cannot build '/nix/store/5vil542pjmhihx2yjwyzxpawsdv35cnm-clan-pytest-with-core.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/sdjmshwm3wvwgf90hchy3xd3p8flv8li-clan-pytest-with-core