From d97b19f6fa29d1f0b97c3c2009da44640828e773 Mon Sep 17 00:00:00 2001 From: Max Winterstein Date: Thu, 5 Oct 2023 21:55:31 +0200 Subject: [PATCH 1/6] [Cups-dev] Initial add --- cups-dev/Dockerfile | 50 +++++ cups-dev/README.md | 8 + cups-dev/build.yaml | 3 + cups-dev/config.yaml | 21 ++ cups-dev/icon.png | Bin 0 -> 10376 bytes cups-dev/logo.png | Bin 0 -> 10376 bytes cups-dev/repository.json | 5 + cups-dev/rootfs/etc/avahi/avahi-daemon.conf | 69 +++++++ cups-dev/rootfs/etc/cups/cupsd.conf | 194 ++++++++++++++++++ .../avahi-daemon/dependencies.d/dbus-daemon | 0 .../etc/s6-overlay/s6-rc.d/avahi-daemon/run | 11 + .../etc/s6-overlay/s6-rc.d/avahi-daemon/type | 1 + .../cups-server/dependencies.d/avahi-daemon | 0 .../etc/s6-overlay/s6-rc.d/cups-server/run | 12 ++ .../etc/s6-overlay/s6-rc.d/cups-server/type | 1 + .../dbus-daemon/dependencies.d/initialization | 0 .../etc/s6-overlay/s6-rc.d/dbus-daemon/run | 7 + .../etc/s6-overlay/s6-rc.d/dbus-daemon/type | 1 + .../initialization/dependencies.d/base | 0 .../s6-overlay/s6-rc.d/initialization/type | 1 + .../etc/s6-overlay/s6-rc.d/initialization/up | 4 + .../s6-rc.d/user/contents.d/avahi-daemon | 0 .../s6-rc.d/user/contents.d/dbus-daemon | 0 .../s6-rc.d/user/contents.d/initialization | 0 cups-dev/rootfs/run.sh | 11 + 25 files changed, 399 insertions(+) create mode 100644 cups-dev/Dockerfile create mode 100644 cups-dev/README.md create mode 100644 cups-dev/build.yaml create mode 100644 cups-dev/config.yaml create mode 100644 cups-dev/icon.png create mode 100644 cups-dev/logo.png create mode 100644 cups-dev/repository.json create mode 100644 cups-dev/rootfs/etc/avahi/avahi-daemon.conf create mode 100644 cups-dev/rootfs/etc/cups/cupsd.conf create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/dependencies.d/dbus-daemon create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/run create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/type create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/dependencies.d/avahi-daemon create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/run create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/type create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/dependencies.d/initialization create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/run create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/type create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/dependencies.d/base create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/type create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/up create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/avahi-daemon create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/dbus-daemon create mode 100644 cups-dev/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/initialization create mode 100644 cups-dev/rootfs/run.sh diff --git a/cups-dev/Dockerfile b/cups-dev/Dockerfile new file mode 100644 index 00000000..1955b752 --- /dev/null +++ b/cups-dev/Dockerfile @@ -0,0 +1,50 @@ +FROM ghcr.io/hassio-addons/debian-base:7.1.0 + +LABEL io.hass.version="1.0" io.hass.type="addon" io.hass.arch="aarch64|amd64" + +# Set shell +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + sudo \ + locales \ + cups \ + avahi-daemon \ + libnss-mdns \ + dbus \ + colord \ + printer-driver-all \ + printer-driver-gutenprint \ + openprinting-ppds \ + hpijs-ppds \ + hp-ppd \ + hplip \ + printer-driver-foo2zjs \ + cups-pdf \ + gnupg2 \ + lsb-release \ + nano \ + samba \ + bash-completion \ + procps \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* + +COPY rootfs / + +# Add user and disable sudo password checking +RUN useradd \ + --groups=sudo,lp,lpadmin \ + --create-home \ + --home-dir=/home/print \ + --shell=/bin/bash \ + --password=$(mkpasswd print) \ + print \ +&& sed -i '/%sudo[[:space:]]/ s/ALL[[:space:]]*$/NOPASSWD:ALL/' /etc/sudoers + +EXPOSE 631 + +RUN chmod a+x /run.sh + +CMD ["/run.sh"] diff --git a/cups-dev/README.md b/cups-dev/README.md new file mode 100644 index 00000000..934734f4 --- /dev/null +++ b/cups-dev/README.md @@ -0,0 +1,8 @@ +# homeassistant addon cups airprint +CUPS addon with working Avahi in reflector mode + +Tested with Home Assistant version **2023.9** + +CUPS administrator login: print, password: print (can be changed in the Dockerfile) + +[![Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.](https://my.home-assistant.io/badges/supervisor_add_addon_repository.svg)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Fzajac-grzegorz%2Fhomeassistant-addon-cups-airprint) diff --git a/cups-dev/build.yaml b/cups-dev/build.yaml new file mode 100644 index 00000000..7e743365 --- /dev/null +++ b/cups-dev/build.yaml @@ -0,0 +1,3 @@ +build_from: + aarch64: ghcr.io/hassio-addons/debian-base:7.1.0 + amd64: ghcr.io/hassio-addons/debian-base:7.1.0 diff --git a/cups-dev/config.yaml b/cups-dev/config.yaml new file mode 100644 index 00000000..2aac76b7 --- /dev/null +++ b/cups-dev/config.yaml @@ -0,0 +1,21 @@ +name: CUPS +version: "1.0" +slug: cupsik +description: A CUPS print server with working AirPrint +arch: + - amd64 + - aarch64 +usb: true +init: false +homeassistant_api: true +host_network: true +ports: + 631/tcp: 631 + 631/udp: 631 +ports_description: + 631/tcp: For other devices on the local network to print to this server + 631/udp: For other devices on the local network to print to this server +# ingress: false +map: + - config:rw + diff --git a/cups-dev/icon.png b/cups-dev/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aefa10e8b802b5d2fa586dcf7e844071eaadac0d GIT binary patch literal 10376 zcmY+q2UJr**Df4FfP~(=5NeQ;(1g%YItZaRkzPc)w19wAL8K!^S|}>LE4_q>6p*hm22{MHn@0RZ?40{~mr0DyER z0Knjx)1oJP+Ysqss^O@u4dB1k!2kk0Y5@MNhIe}b@R$Mr*lsm|CLYUwb$vX(|HS|S zfM{m`=zlThxAI?6zpej#{zu~HSo>m013^% ziU-KbVZ3ECb2c>fG1Y!3ZRg>h3L#mgD>n zLi$$!XGU;B{{!)Hk>fPg)`cp0Jad3bz=h$$obtp_C{*^Dy`!|gvg-f3-#*E4KJoGK zltv)@{r%zoVsMXVP6!bxDJg`oC_+?J=oTU59pLU`gBEi4=K3F!|DQ+M!Q1Ycv!{=< zhdcBiuZ^vTua6uj=f6PzE&tO`A7{t^6Up8Cf77~65b>`CAp#dh{FnRIRra4%8uiTC z;WqL=et8ku{~-S#+yBOqMf?l?e|6@6GX0PBHdT3IS;T)|n>;a-K{G1Kcq;hBF#;t;p>?FBarvQfF|l=EpgXu| zpMwufg@eD|5vEk)1mQTfrbn4_Z}$AI7GaPa85k808Bh3L5cI?` zz1O3N3$$JhT*9b^Zcc-*rDim**h_V&wjI?vyAR?BUYuYHELD}FTZA?eqU8g$AK5FI*2@;7_Dv92bzrcBt_RL|7dRMXTDT_4ICe%gt1 z!3p3E-r z-xsi9;GllBG{$qN7L<$iw$Ga0Rba4W*fAx_4b7I!)ckV`yFYcl(uQxfW*=cj5V`YH9#fzuKDuc1$aUqVJHt#=It%RrSL6({=m! zgR4ERx>Lz3J;qAix=+7tJV!_XENV6+<9Q#HGfz0urO2?<(5p-SF<~;o7ex)#3FCMR zBA5Sqql4wE3(995kZ!XxORaPLE`pKLBh>i5`>tl8;z$l}3r+2FG5=uSi;Z2@5xhr> zJY=A6Q6VS2kCTU4hseo~b_nh}S@|5I;g*-blB#{Rz{hagIGDP8UhA@!YuAen&n&Eo z@??E{S%ccV?kw}cP_G6E)0xu#*qY(6@x(nT_e;w`$*RXiPJrI%MV!X~G$_Y1Kw zM+|Yp@mm-S(CBT=CGGF_dp3g?n z>M{2<4h+w7#k)7$L71^GIyPi}M~RVck!{|W{7b%oAkC!wKXhHKGu{@e7vi5(b4b;| zClGSc^JK7ln>Qt&M!psSPm+BSh5<@svWUsh*j;t-6FV}o zk$X=L>j!IfiDv>maxHq4p=JpBn(TPIuc!G>Do}4uwCGpKGCvWXZqBd!W5hnHABeVP zDzEqRI-OgS2Q3^Q6t0x-1N(al3P{Rvcm#I?n1{87j60$p$CU#4gD=D;RDwi8-pJ=`5jm z7YO((7oDg*k`1p#|9IVmRTxb2pL}#*{QlAJaud|VA+#57u9MAMl)JgZ#u|r{580^^ zeZSrTl?qac)SV;$m5MmDqzALDu9~8JiGIH`NBupGAl??{I*@ZpnXUeCo%o^Sv3|A` zMysu{KbhZM>94)7UB6%;cJG40vh4** zq&I8^HE%~yS5*O+Cc5GVw4yAYu zNl?QC0q!!0&OxK3JQ4#2Aqn*d*$NRDfX^Dud#7-I#QPoyKZCX}Yi@=e6RB6O^6Ig- zz{AnrNUccUCo$^emOOp0A@3Y{esV`34^AIx8Z{@ZCxB@zDv8~zd;0}-aWpqR zc;4_Ht@;8kz1;gHQd{4jOXiUTunXkYw!gsLG@9^GiI^k~hs+5IVzyZ^s4w=^AJ+n~ zFwkISJK`7N7W|&?X!-)H8GR?-^JU-f+ak0P@LS-TdqZEco-zK|6g`w4)h@+L((pi@ z`fR2?X6eq{*SSl^wFm29Z%|5CnDHlyfT;qfg@egg5H<$b^Apy$nHa-^y{)(QF4f~HlB&as>2b( z#)@&*)*3|B!<3q4y+V4S4Q_K(?%d-fv#CjA>QE7|nbx#LXq)=v)2q$-;rR3Wcto=^ zda?0&ESY-`eTjZlb55h8y;LS{Xj2!bk?-_I+Thj1AzAJmiVCzJz^Lz(93Cmy?Se9d z_@~>k@3#rXE0P26bYF9VYvmWNJdU~oUPG$%vh7Fm)$**7o?q**Nb1l48Diab>*-RL zr*Ts@40(b(Tse1_7|$&!g(rRD`S&}s8LuH|>z~7@UzVj9t9zC!W3ME2crw&ak0KpF zPprD^5K$bsW?z3(H|6H&;AaUR0xHXXEjT;()?j!oE3DM4kpk^2Wz4Txffq@h4k=b2 zFE+!6r_F#0Uy!jGwB+=h$sl%mFnvRkwGLsA(mr%yzVGLg$Q;Iy_gL>MlQNl&n<{Ay z)x~C92hJFG5s4r!CboPu(a?X*JF`b?Nt3l}eW_xRIY9X9Big9REOaNLf-Y|`ydMXC ztcNzm-u;+;_Z`O-_+aMP@Oc?@$ z;>&ElXssy^B?Fz|*=UDx|4a!e*l$v__TsM2W(R*eW-c!qLgz?7YI>+B-}=$OzEy^! zT4+A#!49XkFlCV!+p%bjx5S7AIJ)7%V2@cZrx~LMzve7wUT^RBXR$r4h=e`m+)vZO zMqyT2Ta$eOqcN5G5sDHd>N)GuGBKar8JgzuGyN;d$og9;qLG`K9!zH|gD;C*EFvUC zD-?qFlk5~SotP?!5~;rq^i?OvZ+)Yg$uGD6ye(u)(4da*X-rp#k3glGHO?Fi>xR?e zQw&SfO7;D%VOyD&t1=LURc%M+4~I1b)do^01m?-YzV;=0vAktV)c!acb*~`P^DNR) z@G1|*)Gz;lEjUgM2CFZd0N)?c4EGqajEwqDO_&wMp(J-1Bgh7RJ zo+06=|;q%Py#2*6hk_7AD;|rBK_5p-MB^ABcauA z!{%3*IHv`2pvLF-i4sTCU2}2Gpam#$`>p~<1?RrQh(nqutS z>!^#Ue%x=Mg3KBB^Twro=+Qh-!On?9fp&q%Rmjsu84gwNvnN{<6!dIvQ${K-i3Znu zM%6UcbYgR&BLxg{CA?w87hns`VXB(X=hoS7(~7=7yL-ia?NDS#CT25@vcC?3Iy6?hP9Vh)ZUHQ=laKAs4>t7 z#o%vU%_B_V4&wZfxo+XV#bru%1i;N^1M67&{#X&2a-YSQubggJna^c=cogtY)K@gZ zA3UWc1>I+HP!Uox_+)4!WiP9opOw5`L&D)VH36K_PWRwnLUw4gB9_2$-Tf;dKP)>z z$TkyKB+N9vH5Le!qL+CO$b726m_%o}GTNq8$Jvj9O z&m150hp3U;LlJfVCw!XSg74>vg%ebmWQ;<0`YMbreO|t>n*YW_l}@f?qI<;=*6}tx zQ5i_F$H;+Fi@nc|6!Z-d-~Ygq=bv-jGm~n-PJs7-&?Vrp(eo!SpZ-a;4lvh_I|E)h zebD)B$_DbQrig7-MYV^~mG$IwcPVdg>0n z6?=+VUf|1wwwK@h`T-&euLQHx&h_cgt({F!PdTXm+I?s7`3*?d(jb6QeFrCSp9TXlgb6 z@U+1?D~~@)M zn!3V$XE_oXE#Wg?rIGwVf!1g}lQ~=}6K@tOe0kkPEhO zm~Tf>Sa8)+y08CDcxqYyouarP{YQ|a1a4*Y$c`Yj?=Y1bV;v~R+W*^HUc;TJM0#yl z)*Nat#1&+KR7YpmWMEqxA9XuFPxMT#Dc<)DyF)s|P@7<7OKPJ3+!nZ!UmM;F{VZQt zU0gKDhlW<%srz1^LfQBz&DlX}c8DsE@|xeXIFrkQUr{2?i&AZ~3rHR&Y1X8RWlM2% zvq{k10~wkO>b=&bx+9b$z{(}ds~ErL$n{mhZBH+&CAtPv^MIO068cx^PbGXm3rA!E zX(i4f#?Z^dPrsKwU0nL?>8P7%uhN(22YwHg8GI(@epK9hWGSPJF102OTZ%k1CtU`G z<_*QpilD=`tmqa5D`4NKvIvrW3ywgn(ki9~p|*;mIv1$U6t)yTOSxzWySi;rus<&w zLG{NU1VP7d_FeEeU**4)nB4xjk}+ui$IIRJlc8w`zD@HW?|Sd(Uma7^V@U`%Lg&C# zlN#@^1;nDLgR4lBlgmiohA01$zT&1>g?{O%fIZLJ6aA|vsgOSTLv}}6Clh8(;v(7u zW32{v8dK=zjtxOHz6~+>QRinOnP9TJCD<~f%D$Ad1Zp??8lfsamfKs zKAe4BHYBq5_?zjuE8_27?(9B_-Vq`RP6S_oQN-K{R(557VTjDV+OZuz8BT?&G>P7W z0q11-GHMFaQ<`~wxv$@Ptz$q9KPXz3<>x}n~ zCJcT5MLoKZ*?N*^B?TXzw5O)9mHY94dV$wfaE?=vCQ1kduQGwKK>mpIN|erK!~#hY zHSFgjaOObrk_^Euer|gxNwhZoTCv2Xqx~J^P&&PEC?I7tK1PP5bzO?1lkGfpTXBG7`m||@+xU}6t#Eg%cY-3;G^dVKHu{Sf*nY;W z{Gk5ZG^fVk8pAQeLE(<$m6xl)F=s$B!?wzydS0Q({)UUDy`J0yfY}T@Ic?C-eUzD- z@#53*j zN-o*N6ULo)i$_d$?Hfm>y8(Yr3REGARz=tH;mqR54_o{r)@+X%BfR9dmfnt#HKz}n z!pun-SDbr8&`G_&eyt!W9mLoUna#>?Qhk~AMlU(@9H10(Tm3?H1KyRLKd!#2;x*8m zYxDO%c^4$6CvsZuEWD=#51b=9g@OuTI#~M7YG;`Z_?NQe-3JJnnAfR$z)RcZ#}C=J zr$}@xt6u&saJ&j8ELLroA`fZ5<}^zS5CksMvUdF>=R7vTm3HJ6V1s=Kfr4%_I;3jn~8aU<4Rbz8gy{|?_lMe z+t*-%4J60m_QWVz7JQt=?wa6J@(d!ukPjT`bs4R@3X53p1 zsovsU>+UF?P(_uLL$D$%MWbEH$;Qi4V)u$40?|9>S!xaSY&t_@sBUQfBIzBMGI!Xu z$brA1b1ntMZdm(r8#p|1QhEpr;|i*KThM0cYcKjC22PWD?Hw!aEgQaRB2-Pa7AzMh zC4Dg0JB_Ci`u-#3%*zMlyvMge5}yoZgZf%!{^d%@wN6qYsfB!KJ=I-tVp{ur5^3hU zt-k*vc@~+p`Yb#d8Mm_0scUWWtVQ|Ibkaf{?Y(tbskt^pk0vNk+v&7$J4aB}*pb>aI+m@dSBtvM&jWBLvMO2 z=)jQqF$PI<{*rR)B71gcXAjI8&&z5v0~(bfzOtfDI-tUv+y|)Z|&~nS^a+ zsI%DeLsoP5q|P;HPvot(==+{Sa=NPNw=8U}XnDaS#Nk&#aa(g%HQpj&$CgwzXMA{X z+u(%Uc*1c@wIvZ6?M7(wo?5N^jc;)VmvJlP6G=n_1FyFic{}d(vtq=f%ZHFTIsx?n zvnv0;JwIz7VQ301wm{n?z*UgT8$e&foPbdy=_=!nd-x*+o_ujfJ!tLOx*6BRi~K{e z(gX#Wbby4q=mpi=*gB*Bp|$Bhqt2F0Z&@d{iL;5Vs6&KmybJuni{%q_&}8lrCfrdt z%}?%3PK+R1?@(ZMX#ELghrsQKwGmWSQ?Tz}kX$`JAH9F4TcfscpWa5>rmm(XRPG4W z_ew1nn-i$qYd|@mH~?*T+*IDTZNn35^LZBS${o;fL>b9!Gj)6 z8<|>V!WEIJAw+49Pjfs|0qxv#=H(7{IgyWI8aoyDrOsd64Z3fNTB5U#rU94qnV6xj zV6VQq-_#3Bh8{m0ZQST7CDf*CsQmX&CE_dpcJb!%>%a$kpf7D>TUsTH5u`CD{kEUX z_o#BRqN3J?iWV>=3=pfK_?#jM20=b);T3xnD@AQN>%$&6$l#CJvg@*b7)Z4C2a0A5 zrYd*FW@Q+tQ$+Kzgkt_$O_7K?mn`)9a(3VO!_)P?p*}4iU|Wi`t8R!zy~L5aXo!A; zro6k83+@wc5~l|wZ#BkJ?a?MsLgCsuhC4xP(qSb^ti4rZ4MGeh^4gi)7QC#mHeSy| zPwEP8#T|LRulvp`MR_3u@xD66_)#hb3U&a(E>Kk`FbawDpC!W-58lN{n2eY1j)b$ut8<&(HJak@b-f>;4y~r4juN9lw zJhuO=z&)tM>)qDlTQ+u6q3FqR-u^efOfp3agPQtf=#=sKA_b6~llMY3KJ~cEZio1l zQ?P!0kRAf+M@jfV&>~9K!!^sbdCgFmYE;X#VmYbrul#VYMTOMhM_jKRscHDPYB{Wp=6L4|*{u-kPOXU0hIoK`jSO-9o zo65h-d{3mGBj77#D@ioK5;hd{=e|FBA*}2#<+gBd;1tVe6&V0VyusUL9&UeUq}$ybeaY<1-Gi;a`~Vck z>eLDjFI#?($($mV>eCAmBa%#=uTZEq3284pI~7!bBZ_@m&49A$+$jML;f^Xh8lm@=s5Nem_FaMCXg{v%(*)5cJj6Pj1vF6M?y} z3*(-M7aLl&TO;i(lf*H=wKOxpd#Rx&i^{jWIF|QoY*^GO>&-98$D^*c{g1;_(+4Cv zIh({ITE;i%mbflB1{X|AvH)#%dI_j1G5z+HJ<Ec9?y^Fpuxr zQTq}Du9#rJ@KeSX4}go3@ZjQz>p>dGx?}TB>Gvwu0hXcn_)WQSb0ykJS3X<}~4> zl4yP`CI`^S&Gh$$Glo(y=0rWHx<=9LlE`+ZWt{n;}XA9?0-Y}EaED5*uvw}pYoM~{@ev@TKl%3g+6tj zCb3jfCI2rk&wuiOB4vU}kdm@*`L|41Nn$uy(#}n_dtCaEe$_n(M zQX#-q6QxP!wc!I{-Co~nWoV?{PITg$uoxcr4H)>DsPtQaImk#+>UCZ z;{D8JQIgYY4p@GmeA!Ps2}U0?`SmN5V-*Q-@nY}TO(ul zTg(q<`;FJkmyc52AL}(K`T1*+`g6o!Tt{K!1J+oHHwb}N9)jSVH+qwHdb5)AZbs3n z`qZb&cLZ9ksP|uA*|2{y4-~sn7KQfSb@AQox60D3*-EBcA4+H4BgBY4)_*<{-g2On{Qky1H&x)C%p-J0i0oZ+BQKVINxUru&8M>>rBZ?`K7N4<`eoXhQoFC#_?6Pl5`EpNOWBNRM|=%D!4L1Srm$ z61w#KbC8MejvMUsTVpl+cBgXd3*u4X%@~vahZboYL-8G^ehZk8)SJ{$EP5T2bGcf? z^1K|&60f~J_AHD$v_4CLPT_6bL9O8z;bAYoqxYUHcsMM9t-agvQ;Nm3%;1*LV9+Ao z$94xT44ax3J?&IK694qi&(^2fq?^jXX+6KVo2k2*_h@zS{o0OK8OUyWDSwQ+?*|9Y zalPfm2)k3DH%-Fo=a{wt#zGprGCTScCYtFs!mk>!WT^9Q91C!v2PcSkA+t;qWb@)w zfvJ9P;?q)JSpMpbcSM(bPdVY@k??fgTKVfhRO8#vptmlg`7c?%s3Ri)NG3b0#w{Ji#VAuJnXr|a`+t*n z{U*M{`gjC6V_h6`?(hG3?!mAbUa+%pnp|9VkQZH%36?BtFHTy7eAH0S8Q+XlDJV;S)LMR|G54Btt7I41dzRJ}l*=I&t7-$eQn_Ka0b)YF?!s7Ay+6YcO&)z4yqKoN=ljr;A0JZ4&fW}~yUEM! zvX)0!gow(`oy16KCkO@aH^Z|MY=-J}(W?xCo*KL4F!zm^)H8;b z0Z2JGmEijAy~e<=JRllx4p{Ky)0Dd12_Q1^^lwrkx>GYyTH5eFJM2iO%!(uF4fl2u zX9`y1uh0a9a_IAnPJ(+nH*k9yxulq3M)UaX`dOc#Sm%!Eqz!qXhmfMq%Zhv5dE9uR zZjnn__}LjAYI=41{-$I!|7yi$u(?+qu_IDOfArcJiaEs4U`*T7+%RO3VX+Yr4)9)5`r0YZsN+GKE z+m1qbk^4KODP6nEy42`B^iF^=Qc;-f2iGFuq(IT~k0&FQ;rK(&!sDn&^tc_vtKit0 z3c#26Brnw^8d&!fu#@(u)%cFGCal*QKC{d1K6k)+;RJR8f5^OCi{B8vA)ixPXtIpy zYOwQqwu;yY)EgOf&hrcx))S^er-Z!OLPI;nK0KM50qzYlK1nd}W6}^ADaPOaa$ID& z;hk2Kh=n=OK;)Ux&x3 zi`=jAtoAJSOx%y5d=*+$go?kV>RCO@LDD3BnYP z4tc)&lL32#auukK^tPnJZid20Si_1}ul1BWnhNosy`&}k1&T@NA;Ik~+Joc+)LE4_q>6p*hm22{MHn@0RZ?40{~mr0DyER z0Knjx)1oJP+Ysqss^O@u4dB1k!2kk0Y5@MNhIe}b@R$Mr*lsm|CLYUwb$vX(|HS|S zfM{m`=zlThxAI?6zpej#{zu~HSo>m013^% ziU-KbVZ3ECb2c>fG1Y!3ZRg>h3L#mgD>n zLi$$!XGU;B{{!)Hk>fPg)`cp0Jad3bz=h$$obtp_C{*^Dy`!|gvg-f3-#*E4KJoGK zltv)@{r%zoVsMXVP6!bxDJg`oC_+?J=oTU59pLU`gBEi4=K3F!|DQ+M!Q1Ycv!{=< zhdcBiuZ^vTua6uj=f6PzE&tO`A7{t^6Up8Cf77~65b>`CAp#dh{FnRIRra4%8uiTC z;WqL=et8ku{~-S#+yBOqMf?l?e|6@6GX0PBHdT3IS;T)|n>;a-K{G1Kcq;hBF#;t;p>?FBarvQfF|l=EpgXu| zpMwufg@eD|5vEk)1mQTfrbn4_Z}$AI7GaPa85k808Bh3L5cI?` zz1O3N3$$JhT*9b^Zcc-*rDim**h_V&wjI?vyAR?BUYuYHELD}FTZA?eqU8g$AK5FI*2@;7_Dv92bzrcBt_RL|7dRMXTDT_4ICe%gt1 z!3p3E-r z-xsi9;GllBG{$qN7L<$iw$Ga0Rba4W*fAx_4b7I!)ckV`yFYcl(uQxfW*=cj5V`YH9#fzuKDuc1$aUqVJHt#=It%RrSL6({=m! zgR4ERx>Lz3J;qAix=+7tJV!_XENV6+<9Q#HGfz0urO2?<(5p-SF<~;o7ex)#3FCMR zBA5Sqql4wE3(995kZ!XxORaPLE`pKLBh>i5`>tl8;z$l}3r+2FG5=uSi;Z2@5xhr> zJY=A6Q6VS2kCTU4hseo~b_nh}S@|5I;g*-blB#{Rz{hagIGDP8UhA@!YuAen&n&Eo z@??E{S%ccV?kw}cP_G6E)0xu#*qY(6@x(nT_e;w`$*RXiPJrI%MV!X~G$_Y1Kw zM+|Yp@mm-S(CBT=CGGF_dp3g?n z>M{2<4h+w7#k)7$L71^GIyPi}M~RVck!{|W{7b%oAkC!wKXhHKGu{@e7vi5(b4b;| zClGSc^JK7ln>Qt&M!psSPm+BSh5<@svWUsh*j;t-6FV}o zk$X=L>j!IfiDv>maxHq4p=JpBn(TPIuc!G>Do}4uwCGpKGCvWXZqBd!W5hnHABeVP zDzEqRI-OgS2Q3^Q6t0x-1N(al3P{Rvcm#I?n1{87j60$p$CU#4gD=D;RDwi8-pJ=`5jm z7YO((7oDg*k`1p#|9IVmRTxb2pL}#*{QlAJaud|VA+#57u9MAMl)JgZ#u|r{580^^ zeZSrTl?qac)SV;$m5MmDqzALDu9~8JiGIH`NBupGAl??{I*@ZpnXUeCo%o^Sv3|A` zMysu{KbhZM>94)7UB6%;cJG40vh4** zq&I8^HE%~yS5*O+Cc5GVw4yAYu zNl?QC0q!!0&OxK3JQ4#2Aqn*d*$NRDfX^Dud#7-I#QPoyKZCX}Yi@=e6RB6O^6Ig- zz{AnrNUccUCo$^emOOp0A@3Y{esV`34^AIx8Z{@ZCxB@zDv8~zd;0}-aWpqR zc;4_Ht@;8kz1;gHQd{4jOXiUTunXkYw!gsLG@9^GiI^k~hs+5IVzyZ^s4w=^AJ+n~ zFwkISJK`7N7W|&?X!-)H8GR?-^JU-f+ak0P@LS-TdqZEco-zK|6g`w4)h@+L((pi@ z`fR2?X6eq{*SSl^wFm29Z%|5CnDHlyfT;qfg@egg5H<$b^Apy$nHa-^y{)(QF4f~HlB&as>2b( z#)@&*)*3|B!<3q4y+V4S4Q_K(?%d-fv#CjA>QE7|nbx#LXq)=v)2q$-;rR3Wcto=^ zda?0&ESY-`eTjZlb55h8y;LS{Xj2!bk?-_I+Thj1AzAJmiVCzJz^Lz(93Cmy?Se9d z_@~>k@3#rXE0P26bYF9VYvmWNJdU~oUPG$%vh7Fm)$**7o?q**Nb1l48Diab>*-RL zr*Ts@40(b(Tse1_7|$&!g(rRD`S&}s8LuH|>z~7@UzVj9t9zC!W3ME2crw&ak0KpF zPprD^5K$bsW?z3(H|6H&;AaUR0xHXXEjT;()?j!oE3DM4kpk^2Wz4Txffq@h4k=b2 zFE+!6r_F#0Uy!jGwB+=h$sl%mFnvRkwGLsA(mr%yzVGLg$Q;Iy_gL>MlQNl&n<{Ay z)x~C92hJFG5s4r!CboPu(a?X*JF`b?Nt3l}eW_xRIY9X9Big9REOaNLf-Y|`ydMXC ztcNzm-u;+;_Z`O-_+aMP@Oc?@$ z;>&ElXssy^B?Fz|*=UDx|4a!e*l$v__TsM2W(R*eW-c!qLgz?7YI>+B-}=$OzEy^! zT4+A#!49XkFlCV!+p%bjx5S7AIJ)7%V2@cZrx~LMzve7wUT^RBXR$r4h=e`m+)vZO zMqyT2Ta$eOqcN5G5sDHd>N)GuGBKar8JgzuGyN;d$og9;qLG`K9!zH|gD;C*EFvUC zD-?qFlk5~SotP?!5~;rq^i?OvZ+)Yg$uGD6ye(u)(4da*X-rp#k3glGHO?Fi>xR?e zQw&SfO7;D%VOyD&t1=LURc%M+4~I1b)do^01m?-YzV;=0vAktV)c!acb*~`P^DNR) z@G1|*)Gz;lEjUgM2CFZd0N)?c4EGqajEwqDO_&wMp(J-1Bgh7RJ zo+06=|;q%Py#2*6hk_7AD;|rBK_5p-MB^ABcauA z!{%3*IHv`2pvLF-i4sTCU2}2Gpam#$`>p~<1?RrQh(nqutS z>!^#Ue%x=Mg3KBB^Twro=+Qh-!On?9fp&q%Rmjsu84gwNvnN{<6!dIvQ${K-i3Znu zM%6UcbYgR&BLxg{CA?w87hns`VXB(X=hoS7(~7=7yL-ia?NDS#CT25@vcC?3Iy6?hP9Vh)ZUHQ=laKAs4>t7 z#o%vU%_B_V4&wZfxo+XV#bru%1i;N^1M67&{#X&2a-YSQubggJna^c=cogtY)K@gZ zA3UWc1>I+HP!Uox_+)4!WiP9opOw5`L&D)VH36K_PWRwnLUw4gB9_2$-Tf;dKP)>z z$TkyKB+N9vH5Le!qL+CO$b726m_%o}GTNq8$Jvj9O z&m150hp3U;LlJfVCw!XSg74>vg%ebmWQ;<0`YMbreO|t>n*YW_l}@f?qI<;=*6}tx zQ5i_F$H;+Fi@nc|6!Z-d-~Ygq=bv-jGm~n-PJs7-&?Vrp(eo!SpZ-a;4lvh_I|E)h zebD)B$_DbQrig7-MYV^~mG$IwcPVdg>0n z6?=+VUf|1wwwK@h`T-&euLQHx&h_cgt({F!PdTXm+I?s7`3*?d(jb6QeFrCSp9TXlgb6 z@U+1?D~~@)M zn!3V$XE_oXE#Wg?rIGwVf!1g}lQ~=}6K@tOe0kkPEhO zm~Tf>Sa8)+y08CDcxqYyouarP{YQ|a1a4*Y$c`Yj?=Y1bV;v~R+W*^HUc;TJM0#yl z)*Nat#1&+KR7YpmWMEqxA9XuFPxMT#Dc<)DyF)s|P@7<7OKPJ3+!nZ!UmM;F{VZQt zU0gKDhlW<%srz1^LfQBz&DlX}c8DsE@|xeXIFrkQUr{2?i&AZ~3rHR&Y1X8RWlM2% zvq{k10~wkO>b=&bx+9b$z{(}ds~ErL$n{mhZBH+&CAtPv^MIO068cx^PbGXm3rA!E zX(i4f#?Z^dPrsKwU0nL?>8P7%uhN(22YwHg8GI(@epK9hWGSPJF102OTZ%k1CtU`G z<_*QpilD=`tmqa5D`4NKvIvrW3ywgn(ki9~p|*;mIv1$U6t)yTOSxzWySi;rus<&w zLG{NU1VP7d_FeEeU**4)nB4xjk}+ui$IIRJlc8w`zD@HW?|Sd(Uma7^V@U`%Lg&C# zlN#@^1;nDLgR4lBlgmiohA01$zT&1>g?{O%fIZLJ6aA|vsgOSTLv}}6Clh8(;v(7u zW32{v8dK=zjtxOHz6~+>QRinOnP9TJCD<~f%D$Ad1Zp??8lfsamfKs zKAe4BHYBq5_?zjuE8_27?(9B_-Vq`RP6S_oQN-K{R(557VTjDV+OZuz8BT?&G>P7W z0q11-GHMFaQ<`~wxv$@Ptz$q9KPXz3<>x}n~ zCJcT5MLoKZ*?N*^B?TXzw5O)9mHY94dV$wfaE?=vCQ1kduQGwKK>mpIN|erK!~#hY zHSFgjaOObrk_^Euer|gxNwhZoTCv2Xqx~J^P&&PEC?I7tK1PP5bzO?1lkGfpTXBG7`m||@+xU}6t#Eg%cY-3;G^dVKHu{Sf*nY;W z{Gk5ZG^fVk8pAQeLE(<$m6xl)F=s$B!?wzydS0Q({)UUDy`J0yfY}T@Ic?C-eUzD- z@#53*j zN-o*N6ULo)i$_d$?Hfm>y8(Yr3REGARz=tH;mqR54_o{r)@+X%BfR9dmfnt#HKz}n z!pun-SDbr8&`G_&eyt!W9mLoUna#>?Qhk~AMlU(@9H10(Tm3?H1KyRLKd!#2;x*8m zYxDO%c^4$6CvsZuEWD=#51b=9g@OuTI#~M7YG;`Z_?NQe-3JJnnAfR$z)RcZ#}C=J zr$}@xt6u&saJ&j8ELLroA`fZ5<}^zS5CksMvUdF>=R7vTm3HJ6V1s=Kfr4%_I;3jn~8aU<4Rbz8gy{|?_lMe z+t*-%4J60m_QWVz7JQt=?wa6J@(d!ukPjT`bs4R@3X53p1 zsovsU>+UF?P(_uLL$D$%MWbEH$;Qi4V)u$40?|9>S!xaSY&t_@sBUQfBIzBMGI!Xu z$brA1b1ntMZdm(r8#p|1QhEpr;|i*KThM0cYcKjC22PWD?Hw!aEgQaRB2-Pa7AzMh zC4Dg0JB_Ci`u-#3%*zMlyvMge5}yoZgZf%!{^d%@wN6qYsfB!KJ=I-tVp{ur5^3hU zt-k*vc@~+p`Yb#d8Mm_0scUWWtVQ|Ibkaf{?Y(tbskt^pk0vNk+v&7$J4aB}*pb>aI+m@dSBtvM&jWBLvMO2 z=)jQqF$PI<{*rR)B71gcXAjI8&&z5v0~(bfzOtfDI-tUv+y|)Z|&~nS^a+ zsI%DeLsoP5q|P;HPvot(==+{Sa=NPNw=8U}XnDaS#Nk&#aa(g%HQpj&$CgwzXMA{X z+u(%Uc*1c@wIvZ6?M7(wo?5N^jc;)VmvJlP6G=n_1FyFic{}d(vtq=f%ZHFTIsx?n zvnv0;JwIz7VQ301wm{n?z*UgT8$e&foPbdy=_=!nd-x*+o_ujfJ!tLOx*6BRi~K{e z(gX#Wbby4q=mpi=*gB*Bp|$Bhqt2F0Z&@d{iL;5Vs6&KmybJuni{%q_&}8lrCfrdt z%}?%3PK+R1?@(ZMX#ELghrsQKwGmWSQ?Tz}kX$`JAH9F4TcfscpWa5>rmm(XRPG4W z_ew1nn-i$qYd|@mH~?*T+*IDTZNn35^LZBS${o;fL>b9!Gj)6 z8<|>V!WEIJAw+49Pjfs|0qxv#=H(7{IgyWI8aoyDrOsd64Z3fNTB5U#rU94qnV6xj zV6VQq-_#3Bh8{m0ZQST7CDf*CsQmX&CE_dpcJb!%>%a$kpf7D>TUsTH5u`CD{kEUX z_o#BRqN3J?iWV>=3=pfK_?#jM20=b);T3xnD@AQN>%$&6$l#CJvg@*b7)Z4C2a0A5 zrYd*FW@Q+tQ$+Kzgkt_$O_7K?mn`)9a(3VO!_)P?p*}4iU|Wi`t8R!zy~L5aXo!A; zro6k83+@wc5~l|wZ#BkJ?a?MsLgCsuhC4xP(qSb^ti4rZ4MGeh^4gi)7QC#mHeSy| zPwEP8#T|LRulvp`MR_3u@xD66_)#hb3U&a(E>Kk`FbawDpC!W-58lN{n2eY1j)b$ut8<&(HJak@b-f>;4y~r4juN9lw zJhuO=z&)tM>)qDlTQ+u6q3FqR-u^efOfp3agPQtf=#=sKA_b6~llMY3KJ~cEZio1l zQ?P!0kRAf+M@jfV&>~9K!!^sbdCgFmYE;X#VmYbrul#VYMTOMhM_jKRscHDPYB{Wp=6L4|*{u-kPOXU0hIoK`jSO-9o zo65h-d{3mGBj77#D@ioK5;hd{=e|FBA*}2#<+gBd;1tVe6&V0VyusUL9&UeUq}$ybeaY<1-Gi;a`~Vck z>eLDjFI#?($($mV>eCAmBa%#=uTZEq3284pI~7!bBZ_@m&49A$+$jML;f^Xh8lm@=s5Nem_FaMCXg{v%(*)5cJj6Pj1vF6M?y} z3*(-M7aLl&TO;i(lf*H=wKOxpd#Rx&i^{jWIF|QoY*^GO>&-98$D^*c{g1;_(+4Cv zIh({ITE;i%mbflB1{X|AvH)#%dI_j1G5z+HJ<Ec9?y^Fpuxr zQTq}Du9#rJ@KeSX4}go3@ZjQz>p>dGx?}TB>Gvwu0hXcn_)WQSb0ykJS3X<}~4> zl4yP`CI`^S&Gh$$Glo(y=0rWHx<=9LlE`+ZWt{n;}XA9?0-Y}EaED5*uvw}pYoM~{@ev@TKl%3g+6tj zCb3jfCI2rk&wuiOB4vU}kdm@*`L|41Nn$uy(#}n_dtCaEe$_n(M zQX#-q6QxP!wc!I{-Co~nWoV?{PITg$uoxcr4H)>DsPtQaImk#+>UCZ z;{D8JQIgYY4p@GmeA!Ps2}U0?`SmN5V-*Q-@nY}TO(ul zTg(q<`;FJkmyc52AL}(K`T1*+`g6o!Tt{K!1J+oHHwb}N9)jSVH+qwHdb5)AZbs3n z`qZb&cLZ9ksP|uA*|2{y4-~sn7KQfSb@AQox60D3*-EBcA4+H4BgBY4)_*<{-g2On{Qky1H&x)C%p-J0i0oZ+BQKVINxUru&8M>>rBZ?`K7N4<`eoXhQoFC#_?6Pl5`EpNOWBNRM|=%D!4L1Srm$ z61w#KbC8MejvMUsTVpl+cBgXd3*u4X%@~vahZboYL-8G^ehZk8)SJ{$EP5T2bGcf? z^1K|&60f~J_AHD$v_4CLPT_6bL9O8z;bAYoqxYUHcsMM9t-agvQ;Nm3%;1*LV9+Ao z$94xT44ax3J?&IK694qi&(^2fq?^jXX+6KVo2k2*_h@zS{o0OK8OUyWDSwQ+?*|9Y zalPfm2)k3DH%-Fo=a{wt#zGprGCTScCYtFs!mk>!WT^9Q91C!v2PcSkA+t;qWb@)w zfvJ9P;?q)JSpMpbcSM(bPdVY@k??fgTKVfhRO8#vptmlg`7c?%s3Ri)NG3b0#w{Ji#VAuJnXr|a`+t*n z{U*M{`gjC6V_h6`?(hG3?!mAbUa+%pnp|9VkQZH%36?BtFHTy7eAH0S8Q+XlDJV;S)LMR|G54Btt7I41dzRJ}l*=I&t7-$eQn_Ka0b)YF?!s7Ay+6YcO&)z4yqKoN=ljr;A0JZ4&fW}~yUEM! zvX)0!gow(`oy16KCkO@aH^Z|MY=-J}(W?xCo*KL4F!zm^)H8;b z0Z2JGmEijAy~e<=JRllx4p{Ky)0Dd12_Q1^^lwrkx>GYyTH5eFJM2iO%!(uF4fl2u zX9`y1uh0a9a_IAnPJ(+nH*k9yxulq3M)UaX`dOc#Sm%!Eqz!qXhmfMq%Zhv5dE9uR zZjnn__}LjAYI=41{-$I!|7yi$u(?+qu_IDOfArcJiaEs4U`*T7+%RO3VX+Yr4)9)5`r0YZsN+GKE z+m1qbk^4KODP6nEy42`B^iF^=Qc;-f2iGFuq(IT~k0&FQ;rK(&!sDn&^tc_vtKit0 z3c#26Brnw^8d&!fu#@(u)%cFGCal*QKC{d1K6k)+;RJR8f5^OCi{B8vA)ixPXtIpy zYOwQqwu;yY)EgOf&hrcx))S^er-Z!OLPI;nK0KM50qzYlK1nd}W6}^ADaPOaa$ID& z;hk2Kh=n=OK;)Ux&x3 zi`=jAtoAJSOx%y5d=*+$go?kV>RCO@LDD3BnYP z4tc)&lL32#auukK^tPnJZid20Si_1}ul1BWnhNosy`&}k1&T@NA;Ik~+Joc+) + Order allow,deny + Allow @LOCAL + + +# Restrict access to the admin pages... + + Order allow,deny + Allow @LOCAL + + +# Restrict access to configuration files... + + AuthType Default + Require user @SYSTEM + Order allow,deny + + +# Restrict access to log files... + + AuthType Default + Require user @SYSTEM + Order allow,deny + + +# Set the default printer/job policies... + + # Job/subscription privacy... + JobPrivateAccess default + JobPrivateValues default + SubscriptionPrivateAccess default + SubscriptionPrivateValues default + + # Job-related operations must be done by the owner or an administrator... + + Order deny,allow + + + + Require user @OWNER @SYSTEM + Order deny,allow + + + # All administration operations require an administrator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # All printer operations require a printer operator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # Only the owner or an administrator can cancel or authenticate a job... + + Require user @OWNER @SYSTEM + Order deny,allow + + + + Order deny,allow + + + +# Set the authenticated printer/job policies... + + # Job/subscription privacy... + JobPrivateAccess default + JobPrivateValues default + SubscriptionPrivateAccess default + SubscriptionPrivateValues default + + # Job-related operations must be done by the owner or an administrator... + + AuthType Default + Order deny,allow + + + + AuthType Default + Require user @OWNER @SYSTEM + Order deny,allow + + + # All administration operations require an administrator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # All printer operations require a printer operator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # Only the owner or an administrator can cancel or authenticate a job... + + AuthType Default + Require user @OWNER @SYSTEM + Order deny,allow + + + + Order deny,allow + + + +# Set the kerberized printer/job policies... + + # Job/subscription privacy... + JobPrivateAccess default + JobPrivateValues default + SubscriptionPrivateAccess default + SubscriptionPrivateValues default + + # Job-related operations must be done by the owner or an administrator... + + AuthType Negotiate + Order deny,allow + + + + AuthType Negotiate + Require user @OWNER @SYSTEM + Order deny,allow + + + # All administration operations require an administrator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # All printer operations require a printer operator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # Only the owner or an administrator can cancel or authenticate a job... + + AuthType Negotiate + Require user @OWNER @SYSTEM + Order deny,allow + + + + Order deny,allow + + + diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/dependencies.d/dbus-daemon b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/dependencies.d/dbus-daemon new file mode 100644 index 00000000..e69de29b diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/run b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/run new file mode 100644 index 00000000..8594ce56 --- /dev/null +++ b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/run @@ -0,0 +1,11 @@ +#!/usr/bin/with-contenv bashio + +ulimit -n 1048576 + +bashio::log.info "Starting Avahi daemon from S6" + +until [ -e /run/dbus/system_bus_socket ]; do + sleep 1s +done + +avahi-daemon diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/type b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/type new file mode 100644 index 00000000..5883cff0 --- /dev/null +++ b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/avahi-daemon/type @@ -0,0 +1 @@ +longrun diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/dependencies.d/avahi-daemon b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/dependencies.d/avahi-daemon new file mode 100644 index 00000000..e69de29b diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/run b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/run new file mode 100644 index 00000000..dc2dff14 --- /dev/null +++ b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/run @@ -0,0 +1,12 @@ +#!/usr/bin/with-contenv bashio + +ulimit -n 1048576 + +bashio::log.info "Starting CUPS server from S6" + +until [ -e /var/run/avahi-daemon/socket ]; do + sleep 1s +done + +cupsd -f + diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/type b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/type new file mode 100644 index 00000000..5883cff0 --- /dev/null +++ b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/cups-server/type @@ -0,0 +1 @@ +longrun diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/dependencies.d/initialization b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/dependencies.d/initialization new file mode 100644 index 00000000..e69de29b diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/run b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/run new file mode 100644 index 00000000..c970dc4a --- /dev/null +++ b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/run @@ -0,0 +1,7 @@ +#!/usr/bin/with-contenv bashio + +ulimit -n 1048576 + +bashio::log.info "Starting DBUS daemon from S6" + +dbus-daemon --system --nofork diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/type b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/type new file mode 100644 index 00000000..5883cff0 --- /dev/null +++ b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/dbus-daemon/type @@ -0,0 +1 @@ +longrun diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/dependencies.d/base b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/dependencies.d/base new file mode 100644 index 00000000..e69de29b diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/type b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/type new file mode 100644 index 00000000..bdd22a18 --- /dev/null +++ b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/type @@ -0,0 +1 @@ +oneshot diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/up b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/up new file mode 100644 index 00000000..04b5638e --- /dev/null +++ b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/initialization/up @@ -0,0 +1,4 @@ +#!/usr/bin/env bashio + +mkdir -p /var/run/dbus + diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/avahi-daemon b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/avahi-daemon new file mode 100644 index 00000000..e69de29b diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/dbus-daemon b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/dbus-daemon new file mode 100644 index 00000000..e69de29b diff --git a/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/initialization b/cups-dev/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/initialization new file mode 100644 index 00000000..e69de29b diff --git a/cups-dev/rootfs/run.sh b/cups-dev/rootfs/run.sh new file mode 100644 index 00000000..49e73741 --- /dev/null +++ b/cups-dev/rootfs/run.sh @@ -0,0 +1,11 @@ +#!/usr/bin/with-contenv bashio + +ulimit -n 1048576 + +until [ -e /var/run/avahi-daemon/socket ]; do + sleep 1s +done + +bashio::log.info "Starting CUPS server as CMD from S6" + +cupsd -f From 57fad77f72071681799bb76261fb52c8b52d3844 Mon Sep 17 00:00:00 2001 From: Max Winterstein Date: Thu, 5 Oct 2023 22:03:44 +0200 Subject: [PATCH 2/6] [Cups-dev] Adjust to my repo --- cups-dev/Dockerfile | 3 ++- cups-dev/README.md | 10 ++++++++++ cups-dev/config.yaml | 8 +++++--- cups-dev/repository.json | 5 ----- 4 files changed, 17 insertions(+), 9 deletions(-) delete mode 100644 cups-dev/repository.json diff --git a/cups-dev/Dockerfile b/cups-dev/Dockerfile index 1955b752..68d5acb5 100644 --- a/cups-dev/Dockerfile +++ b/cups-dev/Dockerfile @@ -1,4 +1,5 @@ -FROM ghcr.io/hassio-addons/debian-base:7.1.0 +ARG BUILD_FROM=ghcr.io/hassio-addons/debian-base:7.1.0 +FROM $BUILD_FROM LABEL io.hass.version="1.0" io.hass.type="addon" io.hass.arch="aarch64|amd64" diff --git a/cups-dev/README.md b/cups-dev/README.md index 934734f4..dc08749f 100644 --- a/cups-dev/README.md +++ b/cups-dev/README.md @@ -1,3 +1,13 @@ +**Cups-dev** + +Test version of another try on cups. + +Based on the work of [zajac-grzegorz](https://github.com/zajac-grzegorz/homeassistant-addon-cups-airprint) - thanks for letting me steal it ❤️ + +--- + +Original README.md + # homeassistant addon cups airprint CUPS addon with working Avahi in reflector mode diff --git a/cups-dev/config.yaml b/cups-dev/config.yaml index 2aac76b7..eac7ab7d 100644 --- a/cups-dev/config.yaml +++ b/cups-dev/config.yaml @@ -1,6 +1,8 @@ name: CUPS -version: "1.0" -slug: cupsik +version: dev-01 +slug: cups-dev +url: https://github.com/MaxWinterstein/homeassistant-addons/ +image: ghcr.io/maxwinterstein/homeassistant-addon-cups-dev-{arch} description: A CUPS print server with working AirPrint arch: - amd64 @@ -18,4 +20,4 @@ ports_description: # ingress: false map: - config:rw - +stage: experimental \ No newline at end of file diff --git a/cups-dev/repository.json b/cups-dev/repository.json deleted file mode 100644 index 440afafe..00000000 --- a/cups-dev/repository.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Home Assistant CUPS + Airprint Add-On repository", - "url": "https://github.com/zajac-grzegorz/homeassistant-addon-cups-airprint", - "maintainer": "Grzegorz Zajac" -} From 4d40c3638d11f674c9f30e4a409274f8370c5e0b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 20:04:53 +0000 Subject: [PATCH 3/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- cups-dev/README.md | 3 ++- cups-dev/config.yaml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cups-dev/README.md b/cups-dev/README.md index dc08749f..182aa00d 100644 --- a/cups-dev/README.md +++ b/cups-dev/README.md @@ -9,7 +9,8 @@ Based on the work of [zajac-grzegorz](https://github.com/zajac-grzegorz/homeassi Original README.md # homeassistant addon cups airprint -CUPS addon with working Avahi in reflector mode + +CUPS addon with working Avahi in reflector mode Tested with Home Assistant version **2023.9** diff --git a/cups-dev/config.yaml b/cups-dev/config.yaml index eac7ab7d..04d9393d 100644 --- a/cups-dev/config.yaml +++ b/cups-dev/config.yaml @@ -20,4 +20,4 @@ ports_description: # ingress: false map: - config:rw -stage: experimental \ No newline at end of file +stage: experimental From 3adceb45872a1417192213ce68f8d84a1ce2a8ea Mon Sep 17 00:00:00 2001 From: Max Winterstein Date: Thu, 5 Oct 2023 22:09:25 +0200 Subject: [PATCH 4/6] [Cups-dev] Add changelog --- cups-dev/CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 cups-dev/CHANGELOG.md diff --git a/cups-dev/CHANGELOG.md b/cups-dev/CHANGELOG.md new file mode 100644 index 00000000..28e6b422 --- /dev/null +++ b/cups-dev/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +dev-01: just try to adapt the existing work \ No newline at end of file From 8705102a22171360e127fe47f192c19afaee7f5e Mon Sep 17 00:00:00 2001 From: Max Winterstein Date: Thu, 5 Oct 2023 22:16:04 +0200 Subject: [PATCH 5/6] [Cups-dev] Fix build --- cups-dev/build.json | 6 ++++++ cups-dev/build.yaml | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 cups-dev/build.json delete mode 100644 cups-dev/build.yaml diff --git a/cups-dev/build.json b/cups-dev/build.json new file mode 100644 index 00000000..7564ce80 --- /dev/null +++ b/cups-dev/build.json @@ -0,0 +1,6 @@ +{ + "build_from": { + "aarch64": "ghcr.io/hassio-addons/debian-base:7.1.0", + "amd64": "ghcr.io/hassio-addons/debian-base:7.1.0" + } +} \ No newline at end of file diff --git a/cups-dev/build.yaml b/cups-dev/build.yaml deleted file mode 100644 index 7e743365..00000000 --- a/cups-dev/build.yaml +++ /dev/null @@ -1,3 +0,0 @@ -build_from: - aarch64: ghcr.io/hassio-addons/debian-base:7.1.0 - amd64: ghcr.io/hassio-addons/debian-base:7.1.0 From b9d8db9f189c8bdde69a109ec5c412561739f616 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 20:17:59 +0000 Subject: [PATCH 6/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- cups-dev/CHANGELOG.md | 2 +- cups-dev/build.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cups-dev/CHANGELOG.md b/cups-dev/CHANGELOG.md index 28e6b422..99b43a4a 100644 --- a/cups-dev/CHANGELOG.md +++ b/cups-dev/CHANGELOG.md @@ -1,3 +1,3 @@ # Changelog -dev-01: just try to adapt the existing work \ No newline at end of file +dev-01: just try to adapt the existing work diff --git a/cups-dev/build.json b/cups-dev/build.json index 7564ce80..2156542e 100644 --- a/cups-dev/build.json +++ b/cups-dev/build.json @@ -3,4 +3,4 @@ "aarch64": "ghcr.io/hassio-addons/debian-base:7.1.0", "amd64": "ghcr.io/hassio-addons/debian-base:7.1.0" } -} \ No newline at end of file +}