mrrl

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

busybox:modutils (1517B)


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