# definition of package package=inet # definition of directories and names path_base=${HOME} path_svn=${HOME}/eis-trunk path_subfolder=inet-mail-news path_package=${path_svn}/${path_subfolder}/${package} path_gen=${path_package}/_ADMIN/${package}_gen # actual source versions ver_zlib=zlib-1.2.3 ver_openssh=openssh-4.7p1 ver_openssl=openssl-0.9.8a ver_pureftpd=pure-ftpd-1.0.21 ver_xinetd=xinetd-2.3.14 ver_telnetd=netkit-telnet-0.17 ver_telnet=inetutils-1.4.2 ver_tftpd=tftp-hpa-0.48 # names of sources path_source=${path_base}/psource path_zlib=${path_source}/${ver_zlib} path_openssh=${path_source}/${ver_openssh} path_openssl=${path_source}/${ver_openssl} path_pureftpd=${path_source}/${ver_pureftpd} path_xinetd=${path_source}/${ver_xinetd} path_telnetd=${path_source}/${ver_telnetd} path_telnet=${path_source}/${ver_telnet} path_tftpd=${path_source}/${ver_tftpd} #============================================================================= # # package configuration generation # ${package}: ${package}_get ${package}_config ${package}_verify ${package}_install ${package}_remove # # get files from package (avoid redundant check ins) # ${package}_get: echo "${package}_get" (cd ${path_package} && \ cp -p etc/default.d/${package} ${path_gen}/. ; \ cp -p var/install/config.d/${package}_update.sh ${path_gen}/. ; \ cp -p var/install/form/${package} ${path_gen}/${package}.form ; \ cp -p var/install/help/${package} ${path_gen}/${package}.help ; \ cp -p etc/check.d/${package} ${path_gen}/check.d/${package} ; \ cp -p etc/check.d/${package}.exp ${path_gen}/check.d/${package}.exp ; \ cp -p etc/check.d/${package}.ext ${path_gen}/check.d/${package}.ext ; \ ) # # generate configuration files # ${package}_config: (cd ${path_gen} && make PACKAGE=${package}) # # verify package configuration # ${package}_verify: echo "${package}_verify" (cd ${path_gen} && mkdir -p config.d) (cd ${path_gen} && cp -p ${package} config.d/.) (cd ${path_gen} && rm -f ${package}.log) (cd ${path_gen} && \ eischk -c ./config.d -x ./check.d -l ./${package}.log -p ${package}) (cd ${path_gen} && rm -f config.d/${package}) # # install generated files # ${package}_install: echo "${package}_install" (cd ${path_gen} && \ /usr/bin/install -p -m 600 ${package} ${path_package}/etc/default.d/. ; \ /usr/bin/install -p -m 600 ${package}_update.sh ${path_package}/var/install/config.d/. ; \ /usr/bin/install -p -m 600 ${package}.form ${path_package}/var/install/form/${package} ; \ /usr/bin/install -p -m 600 ${package}.help ${path_package}/var/install/help/${package} ; \ /usr/bin/install -p -m 600 check.d/${package} ${path_package}/etc/check.d/. ; \ /usr/bin/install -p -m 600 check.d/${package}.exp ${path_package}/etc/check.d/. ; \ /usr/bin/install -p -m 600 check.d/${package}.ext ${path_package}/etc/check.d/. ; \ ) # # remove files contained in package from generation directory # ${package}_remove: echo "${package}_remove" (cd ${path_gen} && \ rm -f ${package}; \ rm -f ${package}_update.sh; \ rm -f ${package}.form; \ rm -f ${package}.help; \ rm -f check.d/${package}; \ rm -f check.d/${package}.exp; \ rm -f check.d/${package}.ext; \ rmdir config.d; \ ) #============================================================================= # # create package source elements # all_psource: openssl zlib openssh pureftpd xinetd telnetd telnet tftpd # # install package source elements to svn directory # install_all_psource: install_openssh install_pureftpd install_xinetd install_telnetd install_telnet install_tftpd # # clean all package source elements # clean_all_psource: clean_openssl clean_zlib clean_openssh clean_pureftpd clean_xinetd clean_telnetd clean_telnet clean_tftpd # # pureftpd # # requirements # OpenSSL # PAM # pureftpd: ${path_pureftpd} ${path_pureftpd}: ${path_pureftpd}.tar.gz echo "Building pureftpd" (cd ${path_source} && tar xvfz ${ver_pureftpd}.tar.gz) (cd ${path_pureftpd} && \ ./configure --with-ftpwho \ --with-puredb \ --with-virtualchroot \ --with-language=english \ --with-throttling \ --with-altlog \ --with-quotas \ --with-uploadscript \ --with-peruserlimits \ --with-ratios \ --with-pam \ --with-largefile \ --with-tls \ --with-certfile=/usr/local/ssl/certs/pure-ftpd.pem \ --with-sysquotas \ --with-mysql \ --with-virtualhosts; \ make; \ ) # --with-ldap \ #export CPPFLAGS="-I${path_openssl}/include"; \ #export LDFLAGS="-L${path_openssl}"; \ clean_pureftpd: (cd ${path_source} && rm -rf ${ver_pureftpd}) install_pureftpd: (cd ${path_pureftpd}; \ /usr/bin/install -p -s -m 755 src/pure-ftpd ${path_package}/usr/sbin/. ; \ /usr/bin/install -p -s -m 755 src/pure-ftpwho ${path_package}/usr/sbin/. ; \ /usr/bin/install -p -s -m 755 src/pure-pw ${path_package}/usr/sbin/. ; \ /usr/bin/install -p -s -m 755 src/pure-quotacheck ${path_package}/usr/sbin/. ; \ /usr/bin/install -p -s -m 755 src/pure-statsdecode ${path_package}/usr/sbin/. ; \ /usr/bin/install -p -s -m 755 src/pure-uploadscript ${path_package}/usr/sbin/. ; \ /usr/bin/install -p -m 644 pam/pure-ftpd ${path_package}/etc/pam.d/. ; \ ) # # openssl # openssl: ${path_openssl} ${path_openssl}: ${path_openssl}.tar.gz echo "Building openssl" (cd ${path_source} && tar xvfz ${ver_openssl}.tar.gz) (cd ${path_openssl} && ./Configure linux-elf) (cd ${path_openssl} && make) (cd ${path_openssl} && make do_gnu-shared) (cd ${path_openssl} && make test) clean_openssl: (cd ${path_source} && rm -rf ${ver_openssl}) # # zlib # zlib: ${path_zlib} ${path_zlib}: ${path_zlib}.tar.gz echo "Building zlib" (cd ${path_source} && tar xvfz ${ver_zlib}.tar.gz) (cd ${path_zlib} && ./configure --shared) (cd ${path_zlib} && make all) clean_zlib: (cd ${path_source} && rm -rf ${ver_zlib}) # # openssh # # requirements # libwrap # --with-tcp-wrappers # # ab openssh-4.2p1 : LDFLAGS="-lwrap -ldl" # --with-ssl-dir=/usr/lib openssh: ${path_openssh} ${path_openssh}: ${path_openssh}.tar.gz echo "Building openssh" (cd ${path_source} && tar xvfz ${ver_openssh}.tar.gz) (cd ${path_openssh} \ export LDFLAGS="-lwrap -ldl"; \ ./configure --with-zlib=${path_zlib} \ --with-ssl-dir=/usr/lib \ --sysconfdir=/etc \ --bindir=/bin \ --sbindir=/sbin \ --with-pam \ --with-tcp-wrappers; \ make all \ ) clean_openssh: (cd ${path_source} && rm -rf ${ver_openssh}) install_openssh: (cd ${path_openssh}; \ /usr/bin/install -p -m 644 moduli ${path_package}/etc/. ; \ /usr/bin/install -p -s -m 755 scp ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 755 sftp ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 755 ssh ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 755 ssh-add ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 755 ssh-agent ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 755 ssh-keygen ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 755 ssh-keyscan ${path_package}/bin/. ; \ /usr/bin/install -p -m 755 contrib/ssh-copy-id ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 755 sftp-server ${path_package}/sbin/sftp-server.subsystem ; \ /usr/bin/install -p -s -m 755 sshd ${path_package}/sbin/. ; \ ) # # xinetd # xinetd: ${path_xinetd} ${path_xinetd}: ${path_xinetd}.tar.gz echo "Building xinetd" (cd ${path_source} && tar xvfz ${ver_xinetd}.tar.gz) (cd ${path_xinetd} && ./configure --with-libwrap) (cd ${path_xinetd} && make) clean_xinetd: (cd ${path_source} && rm -rf ${ver_xinetd}) install_xinetd: (cd ${path_xinetd}; \ /usr/bin/install -p -s -m 755 xinetd/xinetd ${path_package}/usr/sbin/. ; \ ) # # telnetd aus netkit-telnet-0.17 # # requirements # ncurses # telnetd: ${path_telnetd} ${path_telnetd}: ${path_telnetd}.tar.gz echo "Building telnetd" (cd ${path_source} && tar xvfz ${ver_telnetd}.tar.gz) (cd ${path_telnetd} && ./configure) (cd ${path_telnetd} && make SUB=telnetd) (cd ${path_telnetd}/telnetlogin && make) clean_telnetd: (cd ${path_source} && rm -rf ${ver_telnetd}) install_telnetd: (cd ${path_telnetd}; \ /usr/bin/install -p -s -m 755 telnetd/telnetd ${path_package}/usr/sbin/in.telnetd ; \ /usr/bin/install -p -s -m 754 telnetlogin/telnetlogin ${path_package}/usr/lib ; \ ) # # telnet aus inetutils-1.4.2 # # requirements # ncurses telnet: ${path_telnet} ${path_telnet}: ${path_telnet}.tar.gz echo "Building telnet" (cd ${path_source} && tar xvfz ${ver_telnet}.tar.gz) (cd ${path_telnet} && ./configure) (cd ${path_telnet}/libinetutils && make) (cd ${path_telnet}/libtelnet && make) (cd ${path_telnet}/telnet && make) clean_telnet: (cd ${path_source} && rm -rf ${ver_telnet}) install_telnet: (cd ${path_telnet}; \ /usr/bin/install -p -s -m 755 telnet/telnet ${path_package}/usr/bin/telnet ; \ ) # # tftpd # tftpd: ${path_tftpd} ${path_tftpd}: ${path_tftpd}.tar.gz echo "Building tftpd" (cd ${path_source} && tar xvfz ${ver_tftpd}.tar.gz) (cd ${path_tftpd} && ./configure) (cd ${path_tftpd} && make) clean_tftpd: (cd ${path_source} && rm -rf ${ver_tftpd}) install_tftpd: (cd ${path_tftpd}; \ /usr/bin/install -p -s -m 755 tftpd/tftpd ${path_package}/usr/sbin/in.tftpd ; \ )