mrrl

Minimal Reliable Reproducible Linux
git clone https://ccx.te2000.cz/git/mrrl
Log | Files | Refs | Submodules | README

pthbs-sandbox-rootns (2407B)


      1 {%- set src_dir="." -%}
      2 {% extends "generic" %}
      3 {%- block template_deps %}{% endblock %}
      4 {% block package_deps -%}
      5 #@pragma:nosandbox
      6 #+{{pkg_install_name("busybox:bootstrap")}}
      7 #+{{pkg_install_name("nawk:bootstrap")}}
      8 #+{{pkg_install_name("execline:bootstrap")}}
      9 #+{{pkg_install_name("lnstools:bootstrap")}}
     10 #+{{pkg_install_name("sandbox_rootfs")}}
     11 #@sha256:{{ files["abspaths.awk"] }}:abspaths.awk
     12 #@sha256:{{ files["sandbox-rootns.in"] }}:sandbox-rootns.in
     13 {%- endblock package_deps -%}
     14 {% block build_and_install -%}
     15 exe_name=sandbox-rootns
     16 
     17 # busybox
     18 prog_chgrp=$(which chgrp)
     19 prog_chmod=$(which chmod)
     20 prog_find=$(which find)
     21 prog_ls=$(which ls)
     22 prog_mkdir=$(which mkdir)
     23 prog_mount=$(which mount)
     24 prog_tar=$(which tar)
     25 prog_unshare=$(which unshare)
     26 
     27 # execline
     28 prog_cd=$(which cd)
     29 prog_execlineb=$(which execlineb)
     30 prog_exit=$(which exit)
     31 prog_export=$(which export)
     32 prog_foreground=$(which foreground)
     33 prog_if=$(which if)
     34 prog_ifelse=$(which ifelse)
     35 prog_importas=$(which importas)
     36 prog_multisubstitute=$(which multisubstitute)
     37 prog_umask=$(which umask)
     38 
     39 # lnstools
     40 prog_lns_applyuidgid=$(which lns-applyuidgid)
     41 prog_lns_envuidgid=$(which lns-envuidgid)
     42 prog_lns_lockdown=$(which lns-lockdown)
     43 prog_lns_pidns=$(which lns-pidns)
     44 prog_lns_tmpfs_chroot=$(which lns-tmpfs-chroot)
     45 
     46 rootfs="$pthbs_build_environment/pthbs/sandbox/root.tar"
     47 
     48 awk -f ./abspaths.awk ./${exe_name}.in >./${exe_name} \
     49 	root.tar="$rootfs" \
     50 	chgrp="$prog_chgrp" \
     51 	chmod="$prog_chmod" \
     52 	find="$prog_find" \
     53 	ls="$prog_ls" \
     54 	mkdir="$prog_mkdir" \
     55 	mount="$prog_mount" \
     56 	tar="$prog_tar" \
     57 	unshare="$prog_unshare" \
     58 	cd="$prog_cd" \
     59 	execlineb="$prog_execlineb" \
     60 	exit="$prog_exit" \
     61 	export="$prog_export" \
     62 	if="$prog_if" \
     63 	ifelse="$prog_ifelse" \
     64 	foreground="$prog_foreground" \
     65 	importas="$prog_importas" \
     66 	multisubstitute="$prog_multisubstitute" \
     67 	umask="$prog_umask" \
     68 	lns-applyuidgid="$prog_lns_applyuidgid" \
     69 	lns-envuidgid="$prog_lns_envuidgid" \
     70 	lns-lockdown="$prog_lns_lockdown" \
     71 	lns-pidns="$prog_lns_pidns" \
     72 	lns-tmpfs-chroot="$prog_lns_tmpfs_chroot" \
     73 
     74 install -d "$dest/pthbs/sandbox"
     75 install -t "$dest/pthbs/sandbox" ./${exe_name}
     76 
     77 {% endblock build_and_install %}
     78 {%- block finish -%}
     79 {{ super() -}}
     80 cd "$dest"
     81 ls -lh ./pthbs/sandbox/${exe_name}
     82 printf '%s\t%s\n' >.install-links.new ./pthbs/sandbox/${exe_name} ./pthbs/sandbox/${exe_name}
     83 mv .install-links.new .install-links
     84 
     85 {% endblock finish %}