mrrl

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

busybox:modutils (1489B)


      1 {%- set pkg_source="git" -%}
      2 {% extends "generic" %}
      3 {% if kernel is undefined %}{% do skip("kernel variable is undefined") %}{% endif -%}
      4 {%- do import_functions.add("check_static") %}
      5 {% block package_deps -%}
      6 #+{{pkg_install_name(kernel)}}
      7 #+{{pkg_install_name("musl-cross-make")}}
      8 #+{{pkg_install_name("gnu-make")}}
      9 #+{{pkg_install_name("busybox")}}
     10 #+{{pkg_install_name("busybox-findutils")}}
     11 #+{{pkg_install_name("busybox-diffutils")}}
     12 #@sha256:{{files["busybox_modutils.config"]}}:busybox/.config
     13 {% endblock %}
     14 {% block configure -%}
     15 export CC="$pthbs_build_environment/command/{{triplet}}-gcc"
     16 export CFLAGS="-D_GNU_SOURCE"
     17 export LDFLAGS="-static"
     18 # TODO: indirection via deps directory/symlink
     19 cat >>.config <<EOF
     20 CONFIG_DEFAULT_MODULES_DIR="{{pkg_install_dir(kernel)}}"
     21 EOF
     22 make oldconfig
     23 cat .config
     24 
     25 {% endblock %}
     26 {% block build -%}
     27 make V=1 CROSS_COMPILE={{triplet}}- LDFLAGS=-static HOSTLDFLAGS=-static \
     28       HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j${JOBS:-1}
     29 ./make_single_applets.sh
     30 {% endblock %}
     31 {% block install -%}
     32 mkdir -p "${dest}/command"
     33 
     34 for exe in depmod insmod lsmod modinfo modprobe rmmod; do
     35 	mv -v "busybox_$(printf '%s' $exe | tr '[a-z]' '[A-Z]')" "${dest}/command/${exe}"
     36 	check_static command/$exe
     37 	printf './command/%s\t./command/%s\n' "$exe" "$exe" \
     38 		>>"${dest}/.install-links.new"
     39 done
     40 
     41 {% endblock %}
     42 {% block finish -%}
     43 cd "$pthbs_destdir{{versions}}/$pthbs_package"
     44 mv .install-links.new .install-links
     45 {% endblock %}