# definition of package package=squid # definition of directories and names path_base=${HOME} path_svn=${HOME}/eis-trunk path_subfolder=web path_package=${path_svn}/${path_subfolder}/${package} path_gen=${path_package}/_ADMIN/${package}_gen # actual source versions ver_squid=squid-2.6.STABLE13 ver_chpasswd=chpasswd-2.2.1 ver_berkeleydb=db-3.2.9 #ver_squidguard=squidGuard-1.2.0 ver_squidguard=squidGuard-1.2.0p3 # names of sources path_source=${path_base}/psource path_squid=${path_source}/${ver_squid} path_chpasswd=${path_source}/${ver_chpasswd} path_berkeleydb=${path_source}/${ver_berkeleydb} path_squidguard=${path_source}/${ver_squidguard} # name of installed Berkeley DB path_installed_berkeleydb=/usr/local/BerkeleyDB.3.2 #============================================================================= # # 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: softsquid chpasswd berkeleydb squidguard # # install package source elements to svn directory # install_all_psource: install_softsquid install_chpasswd install_berkeleydb install_squidguard # # clean all package source elements # clean_all_psource: clean_softsquid clean_chpasswd clean_berkeleydb clean_squidguard # # squid # softsquid: ${path_squid} make_errors helper_SMB modify_squidconf ${path_squid}: ${path_squid}.tar.gz echo "Building squid" (cd ${path_source} && tar xvfz ${ver_squid}.tar.gz) (cd ${path_squid} && \ ./configure \ --sysconfdir=/etc \ --enable-delay-pools \ --enable-snmp \ --enable-ssl \ --enable-basic-auth-helpers="NCSA PAM SMB"; \ make; \ ) helper_SMB: echo "remaking authentication helper SMB" sh mod_smb_auth.sh ${path_squid}/helpers/basic_auth/SMB (cd ${path_squid}/helpers/basic_auth/SMB && \ touch smb_auth.c; \ make; \ ) echo "checking smb_auth and smb_auth.sh" sh check_auth_modules.sh ${path_squid}/helpers/basic_auth/SMB modify_squidconf: echo "modify squid.conf" sh mod_squid_conf.sh ${path_squid}/src/squid.conf.default /usr/bin/install -p -m 640 squid.conf ${path_package}/etc/squid.conf ; \ make_errors: echo "Creating error.tar.gz files (German, English, French)" (cd ${path_squid}/errors/German && tar cvfz ${path_package}/etc/errors/German_errors.tar.gz *) (cd ${path_squid}/errors/English && tar cvfz ${path_package}/etc/errors/English_errors.tar.gz *) (cd ${path_squid}/errors/French && tar cvfz ${path_package}/etc/errors/French_errors.tar.gz *) clean_softsquid: (cd ${path_source} && rm -rf ${ver_squid}) install_softsquid: (cd ${path_squid}; \ /usr/bin/install -p -s -m 755 src/squid ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 755 tools/squidclient ${path_package}/bin/. ; \ /usr/bin/install -p -m 644 src/mime.conf.default ${path_package}/etc/mime.conf ; \ /usr/bin/install -p -m 755 src/mib.txt ${path_package}/etc/. ; \ /usr/bin/install -p -s -m 755 src/unlinkd ${path_package}/usr/sbin/. ; \ /usr/bin/install -p -s -m 755 tools/cachemgr.cgi ${path_package}/usr/sbin/. ; \ /usr/bin/install -p -s -m 755 helpers/basic_auth/NCSA/ncsa_auth ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 4755 helpers/basic_auth/PAM/pam_auth ${path_package}/bin/. ; \ /usr/bin/install -p -s -m 755 helpers/basic_auth/SMB/smb_auth ${path_package}/bin/. ; \ /usr/bin/install -p -m 644 icons/*.gif ${path_package}/etc/icons/. ; \ ) # /usr/bin/install -p -m 644 errors/English/* ${path_package}/etc/errors/. ; \ # /usr/bin/install -p -m 640 src/squid.conf.default ${path_package}/etc/squid.conf ; \ # # chpasswd # chpasswd: ${path_chpasswd} ${path_chpasswd}: ${path_chpasswd}.tar.gz echo "Building chpasswd" (cd ${path_source} && tar xvfz ${ver_chpasswd}.tar.gz) (cd ${path_chpasswd} && ./configure --prefix=/etc --enable-cgidir=/var/www/cgi-bin) (cd ${path_chpasswd} && make) clean_chpasswd: (cd ${path_source} && rm -rf ${ver_chpasswd}) install_chpasswd: (cd ${path_chpasswd}; \ /usr/bin/install -p -s -m 755 chpasswd.cgi ${path_package}/usr/sbin/. ; \ /usr/bin/install -p -m 644 chpasswd.conf ${path_package}/etc ; \ ) # # berkeleydb # berkeleydb: ${path_berkeleydb} ${path_berkeleydb}: ${path_berkeleydb}.tar.gz echo "Building berkeleydb" (cd ${path_source} && tar xvfz ${ver_berkeleydb}.tar.gz) (cd ${path_berkeleydb}/dist && ./configure) (cd ${path_berkeleydb}/dist && make) clean_berkeleydb: (cd ${path_source} && rm -rf ${ver_berkeleydb}) install_berkeleydb: (cd ${path_berkeleydb}; \ echo "!!!!! as root: cd ${path_berkeleydb}/dist; make install"; \ ) # # squidguard # squidguard: ${path_squidguard} ${path_squidguard}: ${path_squidguard}.tar.gz echo "Building squidguard" (cd ${path_source} && tar xvfz ${ver_squidguard}.tar.gz) (cd ${path_squidguard} && \ ./configure --with-db=${path_installed_berkeleydb} \ --with-db-inc=${path_installed_berkeleydb}/include \ --with-db-lib=${path_installed_berkeleydb}/lib \ ) (cd ${path_squidguard} && make) clean_squidguard: (cd ${path_source} && rm -rf ${ver_squidguard}) install_squidguard: (cd ${path_squidguard}; \ /usr/bin/install -p -s -m 755 src/squidGuard ${path_package}/usr/local/bin/. ; \ /usr/bin/install -p -m 644 samples/squidGuard-simple.cgi ${path_package}/usr/local/squidGuard/. ; \ )