| 
									
										
										
										
											2020-05-17 18:05:00 +02:00
										 |  |  | # Config
 | 
					
						
							|  |  |  | chroot_dir=kore_chroot/ | 
					
						
							|  |  |  | mirror=http://dl-cdn.alpinelinux.org/alpine/ | 
					
						
							|  |  |  | arch=aarch64 | 
					
						
							|  |  |  | version=2.10.5-r0 | 
					
						
							|  |  |  | #certbot_email=--register-unsafely-without-email
 | 
					
						
							|  |  |  | certbot_email=-m you@cock.li | 
					
						
							|  |  |  | domain=test.monster | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #Probably don't change stuff past here
 | 
					
						
							|  |  |  | lua_files=$(shell find src/lua -type f) | 
					
						
							|  |  |  | src_files=$(shell find src -type f) $(shell find conf -type f) | 
					
						
							|  |  |  | sql_files=$(shell find src/sql -type f) | 
					
						
							|  |  |  | built_files=$(lua_files:src/lua/%.lua=$(chroot_dir)%.lua) | 
					
						
							|  |  |  | page_files=$(shell find src/pages -type f) | 
					
						
							|  |  |  | built_pages=$(page_files:src/pages/%.etlua=$(chroot_dir)pages/%.etlua) | 
					
						
							|  |  |  | built_sql=$(sql_files:src/sql/%.sql=$(chroot_dir)sql/%.sql) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | all: $(chroot_dir) smr.so $(built_files) $(built_pages) $(built_sql) | 
					
						
							|  |  |  | 	echo $(built_files) | 
					
						
							|  |  |  | 	kodev run | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | apk-tools-static-$(version).apk: Makefile | 
					
						
							|  |  |  | 	wget -q $(mirror)latest-stable/main/$(arch)/apk-tools-static-$(version).apk | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | clean: | 
					
						
							|  |  |  | 	kodev clean | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $(chroot_dir): #apk-tools-static-$(version).apk
 | 
					
						
							|  |  |  | 	mkdir -p $(chroot_dir) | 
					
						
							|  |  |  | 	mkdir -p $(chroot_dir)/pages | 
					
						
							|  |  |  | 	mkdir -p $(chroot_dir)/sql | 
					
						
							|  |  |  | 	#cd $(chroot_dir) && tar -xvzf ../../apk-tools-static-*.apk | 
					
						
							|  |  |  | 	#cd $(chroot_dir) && sudo ./sbin/apk.static -X $(mirror)latest-stable/main -U --allow-untrusted --root $(chroot_dir) --no-cache --initdb add alpine-base | 
					
						
							|  |  |  | 	#ln -s /dev/urandom $(chroot_dir)/dev/random #Prevent an attacker with access to the chroot from exhausting our entropy pool and causing a dos | 
					
						
							|  |  |  | 	#ln -s /dev/urandom $(chroot_dir)/dev/urandom | 
					
						
							|  |  |  | 	#mount /dev/ $(chroot_dir)/dev --bind | 
					
						
							|  |  |  | 	#mount -o remount,ro,bind $(chroot_dir)/dev | 
					
						
							|  |  |  | 	#mount -t proc none $(chroot_dir)/proc | 
					
						
							|  |  |  | 	#mount -o bind /sys $(chroot_dir)/sys | 
					
						
							|  |  |  | 	#cp /etc/resolv.conf $(chroot_dir)/etc/resolv.conf | 
					
						
							|  |  |  | 	#cp /etc/apk/repositories $(chroot_dir)/etc/apk/repositories | 
					
						
							|  |  |  | 	#mkdir $(chroot_dir)/var/sm | 
					
						
							|  |  |  | 	## Things to build lua libraries | 
					
						
							|  |  |  | 	#chroot $(chroot_dir) apk add luarocks5.1 sqlite sqlite-dev lua5.1-dev build-base zlib zlib-dev | 
					
						
							|  |  |  | 	#chroot $(chroot_dir) luarocks-5.1 install etlua | 
					
						
							|  |  |  | 	#chroot $(chroot_dir) luarocks-5.1 install lsqlite3 | 
					
						
							|  |  |  | 	#chroot $(chroot_dir) luarocks-5.1 install lzlib ZLIB_LIBDIR=/lib #for some reason lzlib looks in /usr/lib for libz, when it needs to look at /lib | 
					
						
							|  |  |  | 	## Once we've built + installed everything, delete extra stuff from the chroot | 
					
						
							|  |  |  | 	#chroot $(chroot_dir) apk del sqlite-dev lua5.1-dev build-base zlib-dev | 
					
						
							|  |  |  | 	## SSL certificates, if you don't trust EFF (they have an antifa black block member as their favicon at time of writing) you may want to replace this. | 
					
						
							|  |  |  | 	#chroot $(chroot_dir) apk add certbot | 
					
						
							|  |  |  | 	## After chroot, apk add luarocks5.1 sqlite sqlite-dev lua5.1-dev build-base | 
					
						
							|  |  |  | 	## After chroot, luarocks install etlua; luarocks install lsqlite3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | code : $(built_files) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $(built_files): $(chroot_dir)%.lua : src/lua/%.lua | 
					
						
							|  |  |  | 	cp $^ $@ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $(built_pages): $(chroot_dir)pages/%.etlua : src/pages/%.etlua | 
					
						
							|  |  |  | 	cp $^ $@ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $(built_sql): $(chroot_dir)sql/%.sql : src/sql/%.sql | 
					
						
							|  |  |  | 	cp $^ $@ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | smr.so : $(src_files) | 
					
						
							|  |  |  | 	kodev build |