Mercurial > vanilla
view core/util-linux/util-linux.sh @ 1222:325631424c65
misc: bring back build function
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 27 Oct 2021 11:32:16 +0200 |
parents | a47aaf9743a0 |
children | 9867e578b1a9 |
line wrap: on
line source
#!/bin/sh # # Copyright (c) 2019 David Demelier <markand@malikania.fr> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # # User notes # ---------- # # This package provides both libraries and utilities. Some libraries like # libuuid, libblkid are dependencies of other packages. Vanilla does not split # util-linux in different packages like many distribution do. # # Since util-linux tools override busybox utilities, users who only want # util-linux libraries may specify the COMPONENTS option to either "no" or a # space-separated list of individual components to build. # # Example: # # COMPONENTS="no" (only build libraries) # COMPONENTS="fdisk mountpoint" (will build libraries, fdisk and mountpoint) # COMPONENTS="yes" (will build almost everything, the default) # PKGNAME=util-linux PKGVERSION=2.33.1 PKGREVISION=1 PKGLICENSE="GPL-2.0-only+" PKGSUMMARY="standard Linux utilities" PKGDOWNLOAD="https://mirrors.edge.kernel.org/pub/linux/utils/$PKGNAME/v2.33/$PKGNAME-$PKGVERSION.tar.xz" PKGOPTIONS="AUDIT COLORS COMPONENTS NCURSES NLS PYTHON SELINUX" : ${CHOST:=$(uname -m)-linux-musl} : ${CBUILD:=$(uname -m)-linux-musl} : ${CC:=clang} : ${CFLAGS:=-O2} : ${LDFLAGS:=} : ${LIBS:=} : ${AUDIT:=no} : ${COLORS:=yes} : ${COMPONENTS:=yes} : ${NCURSES:=yes} : ${NLS:=yes} : ${PYTHON:=yes} : ${SELINUX:=no} # TODO: add dependencies once selinux is available. if [ "$AUDIT" = "yes" ]; then with_audit="--with-audit" else with_audit="--without-audit" fi case $COMPONENTS in "yes") with_components="--enable-all-programs" ;; "no") with_components="--disable-all-programs" ;; *) with_components="--disable-all-programs" for c in $COMPONENTS; do with_components="$with_components --enable-$c" done esac if [ "$COLORS" = "yes" ]; then with_colors="--enable-colors-default" else with_colors="--disable-colors-default" fi if [ "$NLS" = "yes" ]; then PKGDEPENDS="gettext $PKGDEPENDS" with_nls="--enable-nls" else with_nls="--disable-nls" fi if [ "$PYTHON" = "yes" ]; then PKGDEPENDS="python $PKGDEPENDS" with_python="--with-python=3" else with_python="--without-python" fi if [ "$SELINUX" = "yes" ]; then with_selinux="--with-selinux" else with_selinux="--without-selinux" fi build() { rm -rf $PKGNAME-$PKGVERSION tar xvf $PKGNAME-$PKGVERSION.tar.xz cd $PKGNAME-$PKGVERSION # All these tools are provided by shadow instead: # --disable-chfn-chsh # --disable-chsh # --disable-login # --disable-nologin # --disable-su # --disable-vipw # The configure.ac script has hardcoded /sbin checks. sed -i -e 's|/sbin|/bin|' configure.ac autoreconf -vif CC="$CC" \ CFLAGS="$CFLAGS" \ LDFLAGS="$LDFLAGS" \ LIBS="$LIBS" \ ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix= \ --bindir=/bin \ --libdir=/lib \ --sbindir=/bin \ --disable-chfn-chsh \ --disable-gtk-doc \ --disable-login \ --disable-nologin \ --disable-su \ --disable-vipw \ --enable-libblkid \ --enable-libmount \ --enable-libsmartcols \ --enable-libuuid \ --enable-shared \ --without-systemd \ $with_audit \ $with_colors \ $with_components \ $with_nls \ $with_python \ $with_selinux make make install DESTDIR=$DESTDIR find $DESTDIR -type f -name "*.la" -delete cd .. rm -rf $PKGNAME-$PKGVERSION }