File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / build.sh
Revision 1.8: download - view: text, annotated - select for diffs - revision graph
Mon Jan 28 01:49:49 2013 UTC (11 years, 3 months ago) by misho
Branches: MAIN
CVS tags: elwix1_8, HEAD, ELWIX1_7
ELWIX 1.7

#!/bin/sh
#
# (C)`10 PKG-Builder for elwix by Michael Pounov <misho@elwix.org>
#
# ./build.sh [package] [make_tool] [prefix_dir] [build_arch_str]
#
# $Id: build.sh,v 1.8 2013/01/28 01:49:49 misho Exp $
#

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} --build ${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 . -name .deps -type d -exec rm -rf {} \;

case $CMD in
	sudo)
		cd 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 \
					${PFX}
		${MK} clean
		${MK}
		install src/sudo ${P}/bin
		ln ${P}/bin/sudo ${P}/bin/sudoedit
		install plugins/sudoers/sudoreplay ${P}/bin
		install plugins/sudoers/visudo ${P}/sbin
		install plugins/sudoers/.libs/sudoers.so ${P}/libexec
		install src/.libs/libsudo_noexec.so ${P}/libexec
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	expat)
		cd expat
		./configure ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	mpd)
		cd libpdel
		${MK} clean
		${MK}
		find . -name \*.so\* -type f -exec install {} ${P}/lib \;
		cd ..
		cd mpd/src
		${MK} clean
		${MK}
		install mpd5 ${P}/sbin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	libevent)
		cd libevent
		./configure ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	mini_sendmail)
		cd mini_sendmail
		${MK} clean
		${MK}
		install mini_sendmail ${P}/sbin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	choparp)
		cd choparp
		rm -f choparp
		${MK} choparp
		install choparp ${P}/sbin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	ttcp)
		cd ttcp
		rm -f ttcp
		${MK} ttcp
		install ttcp ${P}/bin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	trafshow)
		cd trafshow
		./configure --sysconfdir=/etc ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	ipsec-tools)
		cd ipsec-tools
		./configure --enable-shared --sysconfdir=/etc/racoon --localstatedir=/var/run \
				 --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}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	dhcp)
		cd dhcp
		./configure --localstatedir=/var --enable-paranoia --enable-early-chroot \
				--enable-dhcpv6 ${PFX}
		${MK} clean
		${MK}
		install server/dhcpd ${P}/sbin
		install relay/dhcrelay ${P}/sbin
		install dhcpctl/omshell ${P}/bin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	dhcping)
		cd dhcping
		./configure ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	dhcdrop)
		cd dhcdrop
		./configure ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	mrouted)
		cd mrouted
		${MK} clean
		${MK}
		install map-mbone ${P}/sbin
		install mrinfo ${P}/sbin
		install mrouted ${P}/sbin
		install mtrace ${P}/sbin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	igmpproxy)
		cd igmpproxy
		./configure ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	bmon)
		cd bmon
		./configure --disable-rrd --disable-asound --disable-dbi ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	iftop)
		cd iftop
		./configure --with-resolver=netdb_1thread ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	arping)
		echo ">>> Building libnet ..."
		cd libnet
		./configure ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Building arping ..."
		cd ../arping
		env LDFLAGS=-L${TOP}/libnet/src CFLAGS=-I${TOP}/libnet/include ./configure ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	hping2)
		cd hping2
		./configure ${PFX}
		${MK} clean
		${MK}
		install hping2 ${P}/sbin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	mtr)
		cd mtr
		./configure --enable-ipv6 --without-gtk ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	ipguard)
		cd ipguard
		${MK} clean
		${MK}
		install ipguard ${P}/sbin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	miniupnpd)
		cd miniupnpd
		${MK} clean
		${MK}
		install miniupnpd ${P}/sbin
		install miniupnpdctl ${P}/sbin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	miniupnpc)
		cd miniupnpc
		${MK} clean
		${MK}
		install libminiupnpc.so ${P}/lib
		install external-ip.sh ${P}/bin
		install upnpc-shared ${P}/bin/upnpc
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	smartmontools)
		cd smartmontools
		./configure --enable-sample --disable-dependency-tracking --enable-drivedb ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	coova-chilli)
		cd coova-chilli
		./configure --localstatedir=/var --sysconfdir=/etc ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	libiconv)
		cd libiconv
		./configure --enable-static --without-libintl-prefix ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	quagga)
		cd quagga
		./configure --enable-user=quagga --enable-group=quagga \
				--sysconfdir=/etc/quagga --localstatedir=/var/run/quagga \
				--enable-vtysh --enable-opaque-lsa --enable-rtadv ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	pcre)
		cd pcre
		./configure --enable-utf8 --enable-unicode-properties ${PFX}
		${MK} clean
		${MK}
		${MK} install
#		install .libs/libpcre.so.* ${P}/lib
#		install .libs/libpcreposix.so.* ${P}/lib
#		install .libs/libpcrecpp.so.* ${P}/lib
#		rm -f ${P}/lib/libpcrecpp.so*T ${P}/lib/libpcreposix.so*T
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	libxml2)
		cd libxml2
		./configure --without-python ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	php)
		cd 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}
		${MK} clean
		${MK}
		${MK} install
#		strip -s ${P}/bin/php
		rm -f ${P}/bin/php
		strip -s ${P}/bin/php-cgi
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	scan_ffs)
		cd scan_ffs
		${MK} clean
		${MK}
		install scan_ffs ${P}/bin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	rsync)
		cd rsync
		./configure.sh --disable-debug --enable-ipv6 --with-rsyncd-conf=/etc/rsyncd.conf \
			--disable-iconv --with-included-popt ${PFX}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	pciutils)
		cd pciutils
		${MK} clean
		${MK}
		install lspci ${P}/bin
		install setpci ${P}/bin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	istgt)
		cd istgt
		./configure --enable-symlink-device ${PFX}
		${MK} clean
		${MK}
		install src/istgt ${P}/bin
		install src/istgtcontrol ${P}/bin
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	ntp)
		cd 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}
		${MK} clean
		${MK}
		${MK} install
		echo ">>> Now rebuild elwix $CMD program ..."
		;;
	*)
		echo "Package not supported at this moment ..."
		exit 1
esac

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