--- embedaddon/build.sh 2011/06/20 09:28:05 1.1 +++ embedaddon/build.sh 2013/08/05 13:13:03 1.10 @@ -2,327 +2,349 @@ # # (C)`10 PKG-Builder for elwix by Michael Pounov # -# ./build.sh [package] [make_target] [os_specific_set] +# ./build.sh [package] [make_tool] [prefix_dir] [build_arch_str] # -# $Id: build.sh,v 1.1 2011/06/20 09:28:05 misho Exp $ +# $Id: build.sh,v 1.10 2013/08/05 13:13:03 misho Exp $ # -if [ -n "$3" ]; then - OS="$3" -else - OS=$(uname) +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 -echo ">>> Working OS ... ${OS}" TOP=$(pwd) echo ">>> TOPDIR=${TOP}" -case $1 in +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 - [ ! -r config.log ] && \ - ./configure --sysconfdir=/etc --with-ignore-dot --with-tty-tickets \ - --with-env-editor --with-logincap \ - --with-long-otp-prompt --with-pam --with-logfac=local2 - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./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 ..." ;; - ntpd) - cd ntpd - make $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; expat) cd expat - [ ! -r config.log ] && \ - ./configure - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./configure ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; mpd) cd libpdel - make $2 + ${MK} clean || exit 1 + ${MK} || exit 1 + find . -name \*.so\* -type f -exec install {} ${P}/lib \; cd .. cd mpd/src - [ ! -r config.log ] && \ - ./configure - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ${MK} clean || exit 1 + ${MK} || exit 1 + install mpd5 ${P}/sbin || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; libevent) cd libevent - [ ! -r config.log ] && \ - ./configure - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./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 mini_sendmail - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ${MK} clean || exit 1 + ${MK} || exit 1 + install mini_sendmail ${P}/sbin || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; choparp) cd choparp - clang -o choparp -Wall -O2 choparp.c - echo ">>> Now rebuild elwix firmware image ..." + rm -f choparp + ${MK} choparp || exit 1 + install choparp ${P}/sbin || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; ttcp) cd ttcp - clang -o ttcp -Wall -O2 ttcp.c - echo ">>> Now rebuild elwix firmware image ..." + rm -f ttcp + ${MK} ttcp || exit 1 + install ttcp ${P}/bin || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; - pfflowd) - cd pfflowd - make $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; - ifstated) - cd ifstated - make $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; trafshow) cd trafshow - [ ! -r config.log ] && \ - ./configure --sysconfdir=/etc - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./configure --sysconfdir=/etc ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; ipsec-tools) cd ipsec-tools - ./configure --enable-shared --sysconfdir=/etc/racoon --localstatedir=/var/db \ + ./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 --with-libradius - make $2 - echo ">>> Now rebuild elwix firmware image ..." + --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 dhcp - [ ! -r config.log ] && \ - ./configure --localstatedir=/var --enable-paranoia --enable-early-chroot --enable-dhcpv6 - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./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 dhcping - [ ! -r config.log ] && \ - ./configure - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./configure ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; - dhcdrop) - cd dhcdrop - [ ! -r config.log ] && \ - ./configure - make $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; mrouted) cd mrouted - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ${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 igmpproxy + ./configure ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." + ;; bmon) cd bmon - [ ! -r config.log ] && \ - ./configure --disable-rrd --disable-asound --disable-dbi - gmake $2 - echo ">>> Now rebuild elwix firmware image ..." + ./configure --disable-rrd --disable-asound --disable-dbi ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; iftop) cd iftop - [ ! -r config.log ] && \ - ./configure --with-resolver=netdb_1thread - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./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 ..." ;; arping) echo ">>> Building libnet ..." cd libnet - [ ! -r config.log ] && \ - ./configure - make $2 + ./configure ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 echo ">>> Building arping ..." cd ../arping - [ ! -r config.log ] && \ - env LDFLAGS=-L${TOP}/libnet/src CFLAGS=-I${TOP}/libnet/include ./configure - make $2 - echo ">>> Now rebuild elwix firmware image ..." + env LDFLAGS=-L${TOP}/libnet/src CFLAGS=-I${TOP}/libnet/include ./configure ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; hping2) cd hping2 - [ ! -r config.log ] && \ - ./configure - gmake $2 - echo ">>> Now rebuild elwix firmware image ..." + ./configure ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + install hping2 ${P}/sbin || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; mtr) cd mtr - [ ! -r config.log ] && \ - ./configure --enable-ipv6 --without-gtk - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./configure --enable-ipv6 --without-gtk --without-glib ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; ipguard) cd ipguard - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ${MK} clean || exit 1 + ${MK} || exit 1 + install ipguard ${P}/sbin || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; - ishell) - cd ishell - make bsd $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; miniupnpd) cd miniupnpd - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ${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 ..." ;; - strobe) - cd strobe - make $2 - echo ">>> Now rebuild elwix firmware image ..." + miniupnpc) + cd 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 ..." ;; - iperf) - cd iperf - [ ! -r config.log ] && \ - ./configure - echo ">>> Now rebuild elwix firmware image ..." - ;; smartmontools) cd smartmontools - [ ! -r config.log ] && \ - ./configure --enable-sample --disable-dependency-tracking --enable-drivedb - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./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 ..." ;; - conserver) - cd conserver - [ ! -r config.log ] && \ - ./configure --sysconfdir=/etc --with-master=localhost --with-port=782 \ - --with-pam --with-libwrap --with-openssl - make $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; - coova-chilli) - cd coova-chilli - [ ! -r config.log ] && \ - ./configure --localstatedir=/var --sysconfdir=/etc - make $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; - lzo) - cd lzo - [ ! -r config.log ] && \ - ./configure --enable-shared - make $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; - libgcrypt) - cd libgpg-error - [ ! -r config.log ] && \ - ./configure - make $2 - cd .. - cd libgcrypt - [ ! -r config.log ] && \ - ./configure - make $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; - openvpn) - cd openvpn - [ ! -r config.log ] && \ - ./configure --enable-password-save --sysconfdir=/etc \ - --with-lzo-headers=../lzo/include --with-lzo-lib=../lzo/src/.libs - make $2 - echo ">>> Now rebuild elwix firmware image ..." - ;; libiconv) cd libiconv - [ ! -r config.log ] && \ - ./configure --enable-static --without-libintl-prefix - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./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 quagga - [ ! -r config.log ] && \ - ./configure --enable-user=quagga --enable-group=quagga --sysconfdir=/usr/local/etc/quagga --localstatedir=/var/run/quagga --enable-vtysh --enable-opaque-lsa --enable-rtadv - make $2 - echo ">>> Now rebuild elwix firmware image ..." + ./configure --enable-user=quagga --enable-group=quagga \ + --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 ..." ;; - sqlite) - cd sqlite - [ ! -r config.log ] && \ - ./configure --disable-tcl --enable-threadsafe --enable-load-extension --without-tcl - make $2 - echo ">>> Now rebuild elwix firmware image ..." + pcre) + cd 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 ..." ;; - mysql-client) - cd mysql - [ ! -r config.log ] && \ - ./configure --localstatedir=/var/db/mysql --without-debug --without-readline \ - --without-libedit --with-libwrap --with-low-memory \ - --enable-thread-safe-client --with-plugins=max-no-ndb --enable-assembler \ - --with-named-thread-libs=-pthread --without-server --with-unix-socket-path=/tmp/mysql.sock - make $2 - echo ">>> Now rebuild elwix firmware image ..." + libxml2) + cd libxml2 + ./configure --without-python ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; - pwgen) - cd pwgen - [ ! -r config.log ] && \ - ./configure - make $2 - echo ">>> Now rebuild elwix firmware image ..." + 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} || 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 ..." ;; - curl) - cd curl - [ ! -r config.log ] && \ - ./configure --enable-pop3 --enable-smtp --enable-imap --enable-rtsp \ - --disable-threaded-resolver --disable-werror --with-ssl=/usr \ - --disable-ares --without-gnutls --enable-ipv6 --without-krb4 \ - --disable-ldap --disable-ldaps --without-libidn --without-libssh2 \ - --without-librtmp --disable-curldebug --disable-ntlm --enable-proxy - make $2 - echo ">>> Now rebuild elwix firmware image ..." + scan_ffs) + cd scan_ffs + ${MK} clean || exit 1 + ${MK} || exit 1 + install scan_ffs ${P}/bin || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; - pcre) - cd pcre - [ ! -r config.log ] && \ - ./configure --enable-utf8 --enable-unicode-properties - make $2 - echo ">>> Now rebuild elwix firmware image ..." + dnsmasq) + cd dnsmasq + ${MK} clean || exit 1 + ${MK} || exit 1 + install src/dnsmasq ${P}/bin || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; - spawn-fcgi) - cd spawn-fcgi - [ ! -r config.log ] && \ - ./configure - make $2 - echo ">>> Now rebuild elwix firmware image ..." + rsync) + cd rsync + ./configure.sh --disable-debug --enable-ipv6 --with-rsyncd-conf=/etc/rsyncd.conf \ + --disable-iconv --with-included-popt ${PFX} || exit 1 + ${MK} clean || exit 1 + ${MK} || exit 1 + ${MK} install || exit 1 + echo ">>> Now rebuild elwix $CMD program ..." ;; - lighttpd) - cd lighttpd - [ ! -r config.log ] && \ - ./configure --enable-static --with-openssl CC=cc CFLAGS="-O2 -pipe -I/usr/local/include \ - -fno-strict-aliasing" LDFLAGS="-L/usr/local/lib -rpath=/usr/lib:/usr/local/lib" CPPFLAGS= CPP=cpp - make $2 - echo ">>> Now rebuild elwix firmware image ..." + istgt) + cd 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 ..." ;; - php) - cd libxml2 - [ ! -r config.log ] && \ - ./configure --without-python - make $2 - cd .. - cd php - [ ! -r config.log ] && \ - ./configure --localstatedir=/var --with-config-file-scan-dir=/etc/php --disable-all \ - --enable-libxml=../libxml2/.libs --with-openssl --with-mysql=../mysql/libmysqlclient_r \ - --enable-zip --enable-sqlite-utf8 --with-mysql-sock=/tmp/mysql.sock - make $2 - echo ">>> Now rebuild elwix firmware image ..." + 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} || 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 ..."