aboutsummaryrefslogtreecommitdiffstats
path: root/sub/dnscache
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-05-22 21:56:04 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-05-22 21:56:04 +0000
commit82d0f92ab8b84466ae20ab919c1f9c3577b5cecb (patch)
tree776015ae6c6a386125b2d39e13b62f91b99548f8 /sub/dnscache
downloadlh-bootstrap-82d0f92ab8b84466ae20ab919c1f9c3577b5cecb.tar.gz
Initial commit
Diffstat (limited to 'sub/dnscache')
-rw-r--r--sub/dnscache/Makefile32
-rw-r--r--sub/dnscache/djbdns-readiness-notification.patch21
-rw-r--r--sub/dnscache/patch.sed5
3 files changed, 58 insertions, 0 deletions
diff --git a/sub/dnscache/Makefile b/sub/dnscache/Makefile
new file mode 100644
index 0000000..eb02b05
--- /dev/null
+++ b/sub/dnscache/Makefile
@@ -0,0 +1,32 @@
+
+$(OUTPUT)/sources/djbdns-1.05.tar.gz: | $(OUTPUT)/tmp/.lh_prepared $(OUTPUT)/build-build/.lh_skarnet_installed
+ exec setuidgid $(NORMALUSER) cd $(OUTPUT)/sources wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
+
+$(OUTPUT)/sources/.lh_djbdns_dled: $(OUTPUT)/sources/djbdns-1.05.tar.gz | $(OUTPUT)/build-build/.lh_skarnet_installed
+ exec setuidgid $(NORMALUSER) s6-touch $@
+
+$(OUTPUT)/build-host/.lh_djbdns_copied: $(OUTPUT)/sources/.lh_djbdns_dled | $(OUTPUT)/build-build/.lh_skarnet_installed
+ exec setuidgid $(NORMALUSER) s6-rmrf $(OUTPUT)/build-host/djbdns-1.05
+ exec setuidgid $(NORMALUSER) cd $(OUTPUT)/build-host tar zxpvf $(OUTPUT)/sources/djbdns-1.05.tar.gz
+ exec setuidgid $(NORMALUSER) cd $(OUTPUT)/build-host/djbdns-1.05 redirfd -r 0 $(WD)/sub/dnscache/djbdns-readiness-notification.patch patch -p1
+ exec setuidgid $(NORMALUSER) s6-touch $@
+
+$(OUTPUT)/build-host/.lh_djbdns_patched: $(OUTPUT)/build-host/.lh_djbdns_copied | $(OUTPUT)/build-build/.lh_skarnet_installed
+ exec setuidgid $(NORMALUSER) sed -f $(WD)/sub/dnscache/patch.sed $(OUTPUT)/build-host/djbdns-1.05/Makefile > $(OUTPUT)/build-host/djbdns-1.05/Makefile.patched
+ exec setuidgid $(NORMALUSER) s6-touch $@
+
+$(OUTPUT)/build-host/.lh_djbdns_configured: $(OUTPUT)/build-host/.lh_djbdns_copied | $(OUTPUT)/build-build/.lh_skarnet_installed
+ exec setuidgid $(NORMALUSER) s6-echo "muslgcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -include errno.h" > $(OUTPUT)/build-host/djbdns-1.05/conf-cc
+ exec setuidgid $(NORMALUSER) s6-echo "muslgcc -s -static" > $(OUTPUT)/build-host/djbdns-1.05/conf-ld
+ exec setuidgid $(NORMALUSER) s6-touch $@
+
+$(OUTPUT)/build-host/.lh_dnscache_built: $(OUTPUT)/build-host/.lh_djbdns_configured $(OUTPUT)/build-host/.lh_djbdns_patched $(OUTPUT)/build-host/bin/muslgcc | $(OUTPUT)/build-build/.lh_skarnet_installed
+ exec setuidgid $(NORMALUSER) cd $(OUTPUT)/build-host/djbdns-1.05 $(MAKE) -f Makefile.patched dnscache
+ exec setuidgid $(NORMALUSER) s6-touch $@
+
+$(OUTPUT)/build-host/.lh_dnscache_installed: $(OUTPUT)/build-host/.lh_dnscache_built | $(OUTPUT)/tmp/.lh_prepared $(OUTPUT)/build-build/.lh_skarnet_installed
+ exec s6-mkdir -p -m 0755 $(OUTPUT)/rootfs/opt/djbdns-1.05/bin
+ exec makenamelink $(OUTPUT)/rootfs/opt djbdns djbdns-1.05 $(OUTPUT)/tmp
+ exec cp -f $(OUTPUT)/build-host/djbdns-1.05/dnscache $(OUTPUT)/rootfs/opt/djbdns-1.05/bin/dnscache
+ exec makelinks $(OUTPUT)/rootfs /bin /opt/djbdns/bin
+ exec setuidgid $(NORMALUSER) s6-touch $@
diff --git a/sub/dnscache/djbdns-readiness-notification.patch b/sub/dnscache/djbdns-readiness-notification.patch
new file mode 100644
index 0000000..2e1be53
--- /dev/null
+++ b/sub/dnscache/djbdns-readiness-notification.patch
@@ -0,0 +1,21 @@
+--- src.old/dnscache.c
++++ src/dnscache.c
+@@ -445,5 +445,7 @@
+ strerr_die2sys(111,FATAL,"unable to listen on TCP socket: ");
+
+ log_startup();
++ write(1, "\n", 1);
++ close(1);
+ doit();
+ }
+--- src.old/server.c
++++ src/server.c
+@@ -104,6 +104,8 @@
+ socket_tryreservein(udp53,65536);
+
+ buffer_putsflush(buffer_2,starting);
++ write(1, "\n", 1);
++ close(1);
+
+ for (;;) {
+ len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
diff --git a/sub/dnscache/patch.sed b/sub/dnscache/patch.sed
new file mode 100644
index 0000000..0540d27
--- /dev/null
+++ b/sub/dnscache/patch.sed
@@ -0,0 +1,5 @@
+s/choose compile load tryshsgr\.c hasshsgr\.h1 hasshsgr\.h2 chkshsgr /choose compile load tryshsgr.c hasshsgr.h1 hasshsgr.h2 /
+s/ar cr /$(TRIPLE)-ar cr /
+s/ranlib /$(TRIPLE)-ranlib /
+s%\./chkshsgr ||%true ||%
+s%\./choose clr tryshsgr hasshsgr\.h1 hasshsgr\.h2 > hasshsgr\.h%cat hasshsgr.h1 > hasshsgr.h%