File:  [ELWIX - Embedded LightWeight unIX -] / elwix / config / rc.3thparty_helper
Revision 1.5: download - view: text, annotated - select for diffs - revision graph
Fri Jul 16 18:35:50 2021 UTC (2 years, 9 months ago) by misho
Branches: MAIN
CVS tags: elwix2_8, HEAD, ELWIX2_7
ver 2.7

#!/bin/sh
#
# (C)`14 PKG-Builder script helper for elwix by Michael Pounov <misho@elwix.org>
#
# ./rc.3thparty_helper [package] [make_tool] [prefix_dir] [build_arch_str]
#
# $Id: rc.3thparty_helper,v 1.5 2021/07/16 18:35:50 misho Exp $
#

[ -r ./config/rc.elwix ] && . ./config/rc.elwix
if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
	echo
	echo "ELWIX project is not configured !?!"
	echo
	exit 1
fi


CMD=$1
MK=${2:-make}
P=${3:-/tmp/elwix}
B=$4
PFX="--prefix=${P}"
shift; shift; shift; shift;
echo ">>> Working script ${MK} into ${PFX}"

if [ -n "${B}" ]; then
	PFX="${PFX} --host=${B}"
fi

TOP=$(pwd)
echo ">>> TOPDIR=${TOP}"

if [ $P = "/tmp/elwix" ]; then
	rm -rf /tmp/elwix
	install -d /tmp/elwix
	install -d /tmp/elwix/bin
	install -d /tmp/elwix/include
	install -d /tmp/elwix/lib
	install -d /tmp/elwix/libexec
	install -d /tmp/elwix/man
	install -d /tmp/elwix/man/man1
	install -d /tmp/elwix/man/man2
	install -d /tmp/elwix/man/man3
	install -d /tmp/elwix/man/man4
	install -d /tmp/elwix/man/man5
	install -d /tmp/elwix/man/man6
	install -d /tmp/elwix/man/man7
	install -d /tmp/elwix/man/man8
	install -d /tmp/elwix/man/man9
	install -d /tmp/elwix/sbin
	install -d /tmp/elwix/share
fi

find ${ADDSRC} -name .deps -type d -exec rm -rf {} \;

case $CMD in
	automake)
		cd ${ADDSRC}/automake
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	sudo)
		cd ${ADDSRC}/sudo
		./configure --sysconfdir=/etc --libexecdir=/usr/local/libexec --with-ignore-dot \
					--with-tty-tickets --with-env-editor --with-logincap \
					--with-long-otp-prompt --with-pam --with-logfac=local2 \
					--with-bsm-audit ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		install src/sudo ${P}/bin || exit 1
		ln ${P}/bin/sudo ${P}/bin/sudoedit || exit 1
		install plugins/sudoers/sudoreplay ${P}/bin || exit 1
		install plugins/sudoers/visudo ${P}/sbin || exit 1
		install plugins/sudoers/.libs/sudoers.so ${P}/libexec || exit 1
		install src/.libs/libsudo_noexec.so ${P}/libexec || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	expat)
		cd ${ADDSRC}/expat
		./configure ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	readline)
		cd ${ADDSRC}/readline
		${CEXEC} INSTALL="/usr/bin/install" ./configure ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	confuse)
		cd ${ADDSRC}/confuse
		${CEXEC} INSTALL="/usr/bin/install" ./configure --disable-nls --enable-shared ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	mpd)
#		cd ${ADDSRC}/libpdel
#		${MK} clean || exit 1
#		${MK} || exit 1
#		find . -name \*.so\* -type f -exec install {} ${P}/lib \;
#		cd ..
		cd ${ADDSRC}/mpd/src
		${CEXEC} INSTALL="/usr/bin/install" DESTDIR=${WORLD} ./configure
		${MK} DESTDIR=${WORLD} clean || exit 1
		${MK} DESTDIR=${WORLD} || exit 1
		install mpd5 ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	libevent)
		cd ${ADDSRC}/libevent
		./configure ${PFX} --mandir=${P}/man --infodir=${P}/info || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	mini_sendmail)
		cd ${ADDSRC}/mini_sendmail
		${MK} clean || exit 1
		${MK} || exit 1
		install mini_sendmail ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	choparp)
		cd ${ADDSRC}/choparp
		rm -f choparp
		${MK} choparp || exit 1
		install choparp ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	ttcp)
		cd ${ADDSRC}/ttcp
		rm -f ttcp
		${MK} ttcp || exit 1
		install ttcp ${P}/bin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	iperf)
		cd ${ADDSRC}/iperf
		./configure --without-openssl ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	trafshow)
		cd ${ADDSRC}/trafshow
		./configure --sysconfdir=/etc ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	curl)
		cd ${ADDSRC}/curl
		./configure --sysconfdir=/etc --disable-werror --enable-alt-svc --without-brotli --disable-ares --enable-cookies \
			--disable-curldebug --disable-debug --enable-dict --enable-ftp --without-gnutls --enable-gopher \
			--without-gssapi --enable-http --with-nghttp2 --without-libidn2 --enable-imap --enable-ipv6 \
			--disable-ldap --disable-ldaps --without-libssh2 --without-libmetalink --without-nss --with-ssl=/usr \
			--enable-pop3 --enable-proxy --without-libpsl --without-librtmp --enable-rtsp --disable-smb \
			--enable-smtp --enable-telnet --enable-tftp --enable-pthreads --enable-threaded-resolver \
			--enable-tls-srp --without-wolfssl --disable-silent-rules ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	strongswan)
		cd ${ADDSRC}/strongswan
		./configure --sysconfdir=/etc/strongswan --enable-kernel-pfkey --enable-kernel-pfroute --disable-kernel-netlink \
			--disable-scripts --disable-gmp --enable-openssl --enable-eap-identity --enable-eap-md5 \
			--enable-eap-tls --enable-eap-mschapv2 --enable-eap-peap --enable-eap-ttls --enable-md4 \
			--enable-blowfish --enable-addrblock --enable-whitelist --enable-cmd --with-group=wheel \
			--with-printf-hooks=builtin --enable-curl --disable-scepclient --enable-swanctl --enable-vici \
			--disable-silent-rules --with-ipsecdir=/usr/pkg/libexec/ipsec --with-ipseclibdir=/usr/pkg/lib/ipsec \
			${PFX} || exit 1
		aclocal
		automake
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		mv -v /usr/pkg/libexec/ipsec ${P}/libexec
		mv -v /usr/pkg/lib/ipsec ${P}/lib
		rm -rf /usr/pkg
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	ipsec-tools)
		cd ${ADDSRC}/ipsec-tools
		./configure --enable-shared --sysconfdir=/etc/racoon --localstatedir=/var/run --with-pkgversion=elwix-0.8.2 \
				 --enable-debug --enable-ipv6 --enable-adminport --enable-stats \
				 --enable-dpd --enable-natt=yes --enable-frag --enable-hybrid \
				 --without-libpam --disable-gssapi --with-libradius --without-libldap \
				 --disable-samode-unspec --disable-rc5 --disable-idea ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	dhcp)
		cd ${ADDSRC}/dhcp
		./configure --localstatedir=/var --enable-paranoia --enable-early-chroot \
				--enable-dhcpv6 ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		install server/dhcpd ${P}/sbin || exit 1
		install relay/dhcrelay ${P}/sbin || exit 1
		install dhcpctl/omshell ${P}/bin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	dhcping)
		cd ${ADDSRC}/dhcping
		./configure ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	mrouted)
		cd ${ADDSRC}/mrouted
		${MK} clean || exit 1
		${MK} || exit 1
		install map-mbone ${P}/sbin || exit 1
		install mrinfo ${P}/sbin || exit 1
		install mrouted ${P}/sbin || exit 1
		install mtrace ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	igmpproxy)
		cd ${ADDSRC}/igmpproxy
		${CEXEC} INSTALL="/usr/bin/install" ./configure ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	bmon)
		cd ${ADDSRC}/bmon
		LDFLAGS="-L${PKG}/lib" CFLAGS="-I${PKG}/include" ${CEXEC} INSTALL="/usr/bin/install" \
			./configure --without-ncursesw --disable-asound --disable-rrd --disable-dbi ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	iftop)
		cd ${ADDSRC}/iftop
		./configure --with-resolver=netdb_1thread ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	libnet)
		cd ${ADDSRC}/libnet
		${CEXEC} INSTALL="/usr/bin/install" ./configure ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	arping)
		cd ${ADDSRC}/arping
#		${CEXEC} LDFLAGS=-L${ADDSRC}/libnet/src CFLAGS=-I${ADDSRC}/libnet/include \
		LDFLAGS="-L${PKG}/lib" CFLAGS="-I${PKG}/include" ${CEXEC} INSTALL="/usr/bin/install" ./configure ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	hping2)
		cd ${ADDSRC}/hping2
		${CEXEC} INSTALL="/usr/bin/install" ./configure ${PFX} || exit 1
		${MK} clean || exit 1
		case ${TARGET_ARCH} in
			i386|amd64)
				CROSSCOMPILE="-D__LITTLE_ENDIAN_BITFIELD" ${MK} || exit 1
				;;
			*)
				CROSSCOMPILE="-D__BIG_ENDIAN_BITFIELD" ${MK} || exit 1
				;;
		esac
		echo aaa
		${MK} strip
		install hping2 ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	mtr)
		cd ${ADDSRC}/mtr
		${CEXEC} INSTALL="/usr/bin/install" ./configure --enable-ipv6 --without-gtk --without-jansson ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	ipguard)
		cd ${ADDSRC}/ipguard
		${MK} clean || exit 1
		${MK} PREFIX="${PKG}" LOCALBASE="${PKG}" || exit 1
		install ipguard ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	miniupnpd)
		cd ${ADDSRC}/miniupnpd
		${MK} clean || exit 1
		${MK} || exit 1
		install miniupnpd ${P}/sbin || exit 1
		install miniupnpdctl ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	miniupnpc)
		cd ${ADDSRC}/miniupnpc
		${MK} clean || exit 1
		${MK} || exit 1
		install libminiupnpc.so ${P}/lib || exit 1
		install external-ip.sh ${P}/bin || exit 1
		install upnpc-shared ${P}/bin/upnpc || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	pimd)
		cd ${ADDSRC}/pimd
		${CEXEC} echo ./configure --prefix=${P} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		install pimd ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	pimdd)
		cd ${ADDSRC}/pimdd
		${MK} clean || exit 1
		${MK} || exit 1
		install pimdd ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	freevrrpd)
		cd ${ADDSRC}/freevrrpd
		${MK} clean || exit 1
		${MK} || exit 1
		install freevrrpd ${P}/sbin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	smartmontools)
		cd ${ADDSRC}/smartmontools
		./configure --enable-sample --disable-dependency-tracking --enable-drivedb ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	libiconv)
		cd ${ADDSRC}/libiconv
		./configure --enable-static --without-libintl-prefix ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	quagga)
		cd ${ADDSRC}/quagga
		LDFLAGS="-L${PKG}/lib" CFLAGS="-I${PKG}/include" ${CEXEC} INSTALL="/usr/bin/install" ./configure \
				--enable-user=quagga --enable-group=quagga --disable-snmp \
				--sysconfdir=/etc/quagga --localstatedir=/var/run/quagga \
				--enable-vtysh --enable-opaque-lsa --enable-rtadv ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	bird2)
		cd ${ADDSRC}/bird2
		LDFLAGS="-L${PKG}/lib" CFLAGS="-I${PKG}/include" ${CEXEC} INSTALL="/usr/bin/install" ./configure \
				--with-protocols=babel --with-protocols=bfd --with-protocols=bgp \
				--with-protocols=mrt --with-protocols=ospf --with-protocols=pipe \
				--with-protocols=radv --with-protocols=rip --with-protocols=rpki \
				--with-protocols=static --sysconfdir=/etc/bird --localstatedir=/var ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || ${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	bird)
		cd ${ADDSRC}/bird
		LDFLAGS="-L${PKG}/lib" CFLAGS="-I${PKG}/include" ${CEXEC} INSTALL="/usr/bin/install" ./configure \
				--sysconfdir=/etc/bird --localstatedir=/var ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || ${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	bird6)
		cd ${ADDSRC}/bird
		LDFLAGS="-L${PKG}/lib" CFLAGS="-I${PKG}/include" ${CEXEC} INSTALL="/usr/bin/install" ./configure \
				--enable-ipv6 --sysconfdir=/etc/bird --localstatedir=/var ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || ${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	tmux)
		cd ${ADDSRC}/tmux
		${CEXEC} INSTALL="/usr/bin/install" ./configure ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	pcre)
		cd ${ADDSRC}/pcre
		./configure --enable-utf --enable-unicode-properties --enable-pcre8 \
				--enable-pcre16 --enable-pcre32 ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	libxml2)
		cd ${ADDSRC}/libxml2
		./configure --without-python ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	php)
		cd ${ADDSRC}/php
		./configure --with-layout=GNU --localstatedir=/var --with-config-file-scan-dir=/etc/php \
			--disable-all --enable-libxml --enable-xml --with-libxml-dir=${P} --with-openssl \
			--enable-zip --enable-sqlite-utf8 ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		rm -f ${P}/bin/php
		strip -s ${P}/bin/php-cgi
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	scan_ffs)
		cd ${ADDSRC}/scan_ffs
		${MK} clean || exit 1
		${MK} || exit 1
		install scan_ffs ${P}/bin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	dnsmasq)
		cd ${ADDSRC}/dnsmasq
		${MK} clean || exit 1
		${MK} || exit 1
		install src/dnsmasq ${P}/bin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	rsync)
		cd ${ADDSRC}/rsync
		${CEXEC} INSTALL="/usr/bin/install" ./configure.sh --disable-debug --enable-ipv6 --with-rsyncd-conf=/etc/rsyncd.conf \
			--disable-iconv --disable-xxhash --disable-zstd --disable-lz4 --with-included-popt ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	lrzsz)
		cd ${ADDSRC}/lrzsz
		LDFLAGS="-L${PKG}/lib" CFLAGS="-I${PKG}/include" ${CEXEC} INSTALL="/usr/bin/install" ./configure \
				${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || ${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	istgt)
		cd ${ADDSRC}/istgt
		./configure --enable-symlink-device ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		install src/istgt ${P}/bin || exit 1
		install src/istgtcontrol ${P}/bin || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	ntp)
		cd ${ADDSRC}/ntp
		./configure --without-ntpsnmpd --with-crypto --enable-ipv6 --enable-BANCOMM \
			--enable-GPSVME --enable-ACTS --enable-ARBITER --enable-ARCRON_MSF \
			--enable-AS2201 --enable-ATOM --enable-CHRONOLOG --enable-CHU \
			--enable-AUDIO_CHU --enable-DATUM --enable-DUMBCLOCK --enable-FG \
			--enable-HEATH --enable-HOPFSERIAL --enable-HOPFPCI --enable-HPGPS \
			--enable-IRIG --enable-JJY --enable-JUPITER --enable-LEITCH \
			--enable-LOCAL_CLOCK --enable-MX4200 --enable-NEOCLOCK4X --enable-NMEA \
			--enable-ONCORE --enable-PALISADE --enable-PCF --enable-PST \
			--enable-RIPENCC --enable-SHM --enable-SPECTRACOM --enable-TRUETIME \
			--enable-ULINK --enable-WWV --enable-ZYFER --enable-COMPUTIME \
			--enable-DCF7000 --enable-HOPF6021 --enable-MEINBERG --enable-RAWDCF \
			--enable-RCC8000 --enable-SCHMID --enable-TRIMTAIP --enable-TRIMTSIP \
			--enable-WHARTON --enable-VARITEXT ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	nginx)
		cd ${ADDSRC}/nginx
		./configure --conf-path=/etc/nginx.conf --user=www --group=www \
			--pid-path=/var/run/nginx.pid \
			--error-log-path=/var/log/nginx-error.log \
			--lock-path=/var/run/nging.lock \
			--http-log-path=/var/log/nginx-access.log --with-ipv6 \
			--with-http_ssl_module --with-http_mp4_module ${PFX} || exit 1
#		${MK} clean || exit 1
		${MK} || exit 1
#		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	spawn-fcgi)
		cd ${ADDSRC}/spawn-fcgi
		./configure ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	lighttpd)
		cd ${ADDSRC}/lighttpd
		./configure --libdir=/usr/local/lib/lighttpd --without-attr --without-bzip2 \
			--without-gdbm --without-libev --without-lua --without-memcached --with-openssl \
			--without-valgrind --enable-static ${PFX} || exit 1
		${MK} clean || exit 1
		${MK} || exit 1
		${MK} install || exit 1
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	*)
		echo "Package not supported at this moment ..."
		exit 1
esac

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>