summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile35
2 files changed, 36 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 9f3fbc9..91b7c57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
 chat
+chroot.tar
+root
 tags
diff --git a/Makefile b/Makefile
index 32b03e0..0f622b6 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,4 @@
+USER = chat
 CFLAGS += -Wall -Wextra -Wpedantic
 CFLAGS += -I/usr/local/include
 LDFLAGS += -L/usr/local/lib
@@ -8,5 +9,37 @@ all: tags chat
 tags: *.c
 	ctags -w *.c
 
+chroot.tar: chat
+	mkdir -p root
+	install -d -o root -g wheel \
+		root/bin \
+		root/etc \
+		root/home \
+		root/lib \
+		root/libexec \
+		root/usr \
+		root/usr/local \
+		root/usr/local/etc \
+		root/usr/local/etc/ssl \
+		root/usr/share \
+		root/usr/share/misc
+	install -d -o $(USER) -g $(USER) root/home/$(USER)
+	install -o root -g wheel -m 555 /libexec/ld-elf.so.1 root/libexec
+	install -o root -g wheel -m 444 \
+		/lib/libc.so.7 \
+		/lib/libncurses.so.8 \
+		/lib/libncursesw.so.8 \
+		/lib/libthr.so.3 \
+		/usr/local/lib/libcrypto.so.43 \
+		/usr/local/lib/libssl.so.45 \
+		/usr/local/lib/libtls.so.17 \
+		root/lib
+	install -o root -g wheel -m 444 /etc/hosts /etc/resolv.conf root/etc
+	install -o root -g wheel -m 444 /usr/local/etc/ssl/cert.pem root/usr/local/etc/ssl
+	install -o root -g wheel -m 444 /usr/share/misc/termcap.db root/usr/share/misc
+	install -o root -g wheel -m 555 /bin/sh root/bin
+	install -o root -g wheel -m 555 chat root/bin
+	tar -c -f chroot.tar -C root bin etc home lib libexec usr
+
 clean:
-	rm -f tags chat
+	rm -f tags chat chroot.tar