From 85f6e97c2943bb6849db20b0c847ec3bcd17d1d3 Mon Sep 17 00:00:00 2001 From: Luca Longinotti Date: Thu, 15 Jun 2006 16:16:46 +0000 Subject: [PATCH] Fix bug #131027, fix var quotation, and remove old vulnerable versions. Package-Manager: portage-2.1 --- net-www/awstats/ChangeLog | 12 +- net-www/awstats/awstats-6.5-r2.ebuild | 139 ++++++++++++++++++++ net-www/awstats/awstats-6.6.ebuild | 74 ++++++----- net-www/awstats/files/digest-awstats-6.5-r2 | 3 + 4 files changed, 191 insertions(+), 37 deletions(-) create mode 100644 net-www/awstats/awstats-6.5-r2.ebuild create mode 100644 net-www/awstats/files/digest-awstats-6.5-r2 diff --git a/net-www/awstats/ChangeLog b/net-www/awstats/ChangeLog index d200d063cbd5..8d8a5d60d53a 100644 --- a/net-www/awstats/ChangeLog +++ b/net-www/awstats/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-www/awstats # Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-www/awstats/ChangeLog,v 1.38 2006/06/01 22:07:19 tcort Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/awstats/ChangeLog,v 1.39 2006/06/15 16:16:46 chtekk Exp $ + +*awstats-6.5-r2 (15 Jun 2006) + + 15 Jun 2006; Luca Longinotti -awstats-6.4.ebuild, + -awstats-6.5.ebuild, +awstats-6.5-r2.ebuild, awstats-6.6.ebuild: + Remove old vunlnerable versions 6.4 and 6.5. Add 6.5-r2 which fixes bug + #131027, it now uses apache/apache2 USE flags to determine if you want + Apache support directly (it anyway only influences the DEPENDs and the + default logpath). It also fixes var quotation in the ebuild. The same + changes were ported to 6.6 too. 01 Jun 2006; Thomas Cort awstats-6.5-r1.ebuild: Stable on alpha and amd64 wrt security Bug #130487. diff --git a/net-www/awstats/awstats-6.5-r2.ebuild b/net-www/awstats/awstats-6.5-r2.ebuild new file mode 100644 index 000000000000..a07e73603b40 --- /dev/null +++ b/net-www/awstats/awstats-6.5-r2.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-www/awstats/awstats-6.5-r2.ebuild,v 1.1 2006/06/15 16:16:46 chtekk Exp $ + +inherit eutils webapp versionator depend.apache + +DESCRIPTION="AWStats is short for Advanced Web Statistics." +HOMEPAGE="http://awstats.sourceforge.net/" +#SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +SRC_URI="http://awstats.sourceforge.net/files/${P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86 ~x86-fbsd" +IUSE="" + +SLOT="0" +WEBAPP_MANUAL_SLOT="yes" + +RDEPEND=">=dev-lang/perl-5.6.1 + >=media-libs/libpng-1.2 + virtual/perl-Time-Local + dev-perl/URI" +DEPEND="${RDEPEND} + >=sys-apps/sed-4" + +want_apache + +src_unpack() { + unpack ${A} + cd "${S}" + + # Fix security bug #130487 + epatch "${FILESDIR}"/${PN}-6.5-CVE-2006-2237-CVE-2006-1945.diff + + epatch "${FILESDIR}"/${PN}-6.3-gentoo.diff + + # change AWStats default installation directory to installation directory of Gentoo + for file in tools/* wwwroot/cgi-bin/*; do + if [[ -f "${file}" ]]; then + sed -i -e "s#/usr/local/awstats/wwwroot/cgi-bin#${MY_CGIBINDIR}#g" \ + -e "s#/usr/local/awstats/wwwroot/icon#${MY_HTDOCSDIR}/icon#g" \ + -e "s#/usr/local/awstats/wwwroot/plugins#${MY_HOSTROOTDIR}/plugins#g" \ + -e "s#/usr/local/awstats/wwwroot/classes#${MY_HTDOCSDIR}/classes#g" \ + -e "s#/usr/local/awstats/wwwroot#${MY_HTDOCSDIR}#g" \ + "${file}" || die "sed ${file} failed" + fi + done + + # set the logpath + if use apache || use apache2; then + logpath="apache${USE_APACHE2}/access_log" + else + logpath="awstats_log" + fi + + # set default values for directories + sed -i -e "s|^\(LogFile=\).*$|\1\"/var/log/${logpath}\"|" \ + -e "s|^\(SiteDomain=\).*$|\1\"localhost\"|" \ + -e "s|^\(DirIcons=\).*$|\1\"/awstats/icons\"|" \ + -e "s|^\(DirCgi=\).*$|\1\"/cgi-bin/awstats\"|" \ + "${S}"/wwwroot/cgi-bin/awstats.model.conf || die "sed failed" + + # set version in postinst-en.txt + sed -e "s/PVR/${PVR}/g" \ + "${FILESDIR}"/postinst-en.txt > "${WORKDIR}"/postinst-en.txt || die +} + +src_install() { + webapp_src_preinst + + # handle documentation files + # + # NOTE that doc files go into /usr/share/doc as normal; they do NOT + # get installed per vhost! + + dohtml -r docs/*.html docs/*.xml docs/*.css docs/*.js docs/images + dodoc README.TXT docs/COPYING.TXT docs/LICENSE.TXT + newdoc wwwroot/cgi-bin/plugins/example/example.pm example_plugin.pm + docinto xslt + dodoc tools/xslt/* + + webapp_postinst_txt en "${WORKDIR}"/postinst-en.txt + + keepdir /var/lib/awstats + + # Copy the app's main files + exeinto "${MY_CGIBINDIR}" + doexe "${S}"/wwwroot/cgi-bin/*.pl + + exeinto "${MY_HTDOCSDIR}"/classes + doexe "${S}"/wwwroot/classes/*.jar + + # install language files, libraries and plugins + mkdir -p "${D}${MY_CGIBINDIR}" + for dir in lang lib plugins; do + cp -R "${S}/wwwroot/cgi-bin/${dir}" "${D}${MY_CGIBINDIR}" + chmod 0755 "${D}${MY_CGIBINDIR}/${dir}" + done + + # install the app's www files + mkdir -p "${D}${MY_HTDOCSDIR}" + for dir in icon css js; do + cp -R "${S}/wwwroot/${dir}" "${D}${MY_HTDOCSDIR}" + chmod 0755 "${D}${MY_HTDOCSDIR}/${dir}" + done + + # copy configuration file + insinto /etc/awstats + doins "${S}"/wwwroot/cgi-bin/awstats.model.conf + + # create the data directory for awstats + mkdir -p "${D}/${MY_HOSTROOTDIR}/datadir" + + # install command line tools + cd "${S}"/tools + dobin awstats_buildstaticpages.pl awstats_exportlib.pl \ + awstats_updateall.pl logresolvemerge.pl \ + maillogconvert.pl awstats_configure.pl + newbin urlaliasbuilder.pl awstats_urlaliasbuilder.pl + + # all done + # + # now we let the eclass strut its stuff ;-) + + webapp_src_install +} + +pkg_postinst() { + einfo + einfo "The AWStats-Manual is available either inside" + einfo "the /usr/share/doc/${PF} - folder, or at" + einfo "http://awstats.sourceforge.net/docs/index.html ." + einfo + ewarn "Copy the /etc/awstats/awstats.model.conf to" + ewarn "/etc/awstats/awstats..conf and edit it." + ewarn "Use the command" + ewarn " webapp-config" + ewarn "to install AWStats for each virtual host. See the proper man page." +} diff --git a/net-www/awstats/awstats-6.6.ebuild b/net-www/awstats/awstats-6.6.ebuild index 288d8fe79d44..2c4425310e7e 100644 --- a/net-www/awstats/awstats-6.6.ebuild +++ b/net-www/awstats/awstats-6.6.ebuild @@ -1,8 +1,8 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-www/awstats/awstats-6.6.ebuild,v 1.7 2006/05/30 15:17:21 chtekk Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/awstats/awstats-6.6.ebuild,v 1.8 2006/06/15 16:16:46 chtekk Exp $ -inherit eutils webapp versionator +inherit eutils webapp versionator depend.apache DESCRIPTION="AWStats is short for Advanced Web Statistics." HOMEPAGE="http://awstats.sourceforge.net/" @@ -19,44 +19,47 @@ WEBAPP_MANUAL_SLOT="yes" RDEPEND=">=dev-lang/perl-5.6.1 >=media-libs/libpng-1.2 virtual/perl-Time-Local - dev-perl/URI - net-www/apache" + dev-perl/URI" DEPEND="${RDEPEND} >=sys-apps/sed-4" +want_apache + src_unpack() { unpack ${A} - cd ${S} + cd "${S}" - epatch ${FILESDIR}/${PN}-6.3-gentoo.diff + epatch "${FILESDIR}"/${PN}-6.3-gentoo.diff # change AWStats default installation directory to installation directory of Gentoo for file in tools/* wwwroot/cgi-bin/*; do - if [[ -f "$file" ]]; then + if [[ -f "${file}" ]]; then sed -i -e "s#/usr/local/awstats/wwwroot/cgi-bin#${MY_CGIBINDIR}#g" \ -e "s#/usr/local/awstats/wwwroot/icon#${MY_HTDOCSDIR}/icon#g" \ -e "s#/usr/local/awstats/wwwroot/plugins#${MY_HOSTROOTDIR}/plugins#g" \ -e "s#/usr/local/awstats/wwwroot/classes#${MY_HTDOCSDIR}/classes#g" \ -e "s#/usr/local/awstats/wwwroot#${MY_HTDOCSDIR}#g" \ - $file || die "sed $file failed" + "${file}" || die "sed ${file} failed" fi done - # find apache major version - local apachever=$(best_version net-www/apache) - apachever="$(get_major_version ${apachever#*/*-})" - [[ ${apachever} == "1" ]] && apachever="" + # set the logpath + if use apache || use apache2; then + logpath="apache${USE_APACHE2}/access_log" + else + logpath="awstats_log" + fi # set default values for directories - sed -i -e "s|^\(LogFile=\).*$|\1\"/var/log/apache${apachever}/access_log\"|" \ + sed -i -e "s|^\(LogFile=\).*$|\1\"/var/log/${logpath}\"|" \ -e "s|^\(SiteDomain=\).*$|\1\"localhost\"|" \ -e "s|^\(DirIcons=\).*$|\1\"/awstats/icons\"|" \ -e "s|^\(DirCgi=\).*$|\1\"/cgi-bin/awstats\"|" \ - ${S}/wwwroot/cgi-bin/awstats.model.conf || die "sed failed" + "${S}"/wwwroot/cgi-bin/awstats.model.conf || die "sed failed" # set version in postinst-en.txt sed -e "s/PVR/${PVR}/g" \ - ${FILESDIR}/postinst-en.txt > ${WORKDIR}/postinst-en.txt || die + "${FILESDIR}"/postinst-en.txt > "${WORKDIR}"/postinst-en.txt || die } src_install() { @@ -73,40 +76,40 @@ src_install() { docinto xslt dodoc tools/xslt/* - webapp_postinst_txt en ${WORKDIR}/postinst-en.txt + webapp_postinst_txt en "${WORKDIR}"/postinst-en.txt keepdir /var/lib/awstats # Copy the app's main files - exeinto ${MY_CGIBINDIR} - doexe ${S}/wwwroot/cgi-bin/*.pl + exeinto "${MY_CGIBINDIR}" + doexe "${S}"/wwwroot/cgi-bin/*.pl - exeinto ${MY_HTDOCSDIR}/classes - doexe ${S}/wwwroot/classes/*.jar + exeinto "${MY_HTDOCSDIR}"/classes + doexe "${S}"/wwwroot/classes/*.jar # install language files, libraries and plugins - mkdir -p ${D}${MY_CGIBINDIR} + mkdir -p "${D}${MY_CGIBINDIR}" for dir in lang lib plugins; do - cp -R ${S}/wwwroot/cgi-bin/${dir} ${D}${MY_CGIBINDIR} - chmod 0755 ${D}${MY_CGIBINDIR}/${dir} + cp -R "${S}/wwwroot/cgi-bin/${dir}" "${D}${MY_CGIBINDIR}" + chmod 0755 "${D}${MY_CGIBINDIR}/${dir}" done # install the app's www files - mkdir -p ${D}${MY_HTDOCSDIR} + mkdir -p "${D}${MY_HTDOCSDIR}" for dir in icon css js; do - cp -R ${S}/wwwroot/${dir} ${D}${MY_HTDOCSDIR} - chmod 0755 ${D}${MY_HTDOCSDIR}/${dir} + cp -R "${S}/wwwroot/${dir}" "${D}${MY_HTDOCSDIR}" + chmod 0755 "${D}${MY_HTDOCSDIR}/${dir}" done # copy configuration file insinto /etc/awstats - doins ${S}/wwwroot/cgi-bin/awstats.model.conf + doins "${S}"/wwwroot/cgi-bin/awstats.model.conf # create the data directory for awstats - mkdir -p ${D}/${MY_HOSTROOTDIR}/datadir + mkdir -p "${D}/${MY_HOSTROOTDIR}/datadir" # install command line tools - cd ${S}/tools + cd "${S}"/tools dobin awstats_buildstaticpages.pl awstats_exportlib.pl \ awstats_updateall.pl logresolvemerge.pl \ maillogconvert.pl awstats_configure.pl @@ -122,13 +125,12 @@ src_install() { pkg_postinst() { einfo einfo "The AWStats-Manual is available either inside" - einfo " the /usr/share/doc/${PF} - folder, or at" - einfo " http://awstats.sourceforge.net/docs/index.html ." + einfo "the /usr/share/doc/${PF} - folder, or at" + einfo "http://awstats.sourceforge.net/docs/index.html ." einfo ewarn "Copy the /etc/awstats/awstats.model.conf to" - ewarn "/etc/awstats/awstats..conf and edit." - ewarn "use the command" - ewarn " webapp-config" - ewarn "to install awstats for each virtual host. See proper man page." + ewarn "/etc/awstats/awstats..conf and edit it." + ewarn "Use the command" + ewarn " webapp-config" + ewarn "to install AWStats for each virtual host. See the proper man page." } - diff --git a/net-www/awstats/files/digest-awstats-6.5-r2 b/net-www/awstats/files/digest-awstats-6.5-r2 new file mode 100644 index 000000000000..b326ee291e86 --- /dev/null +++ b/net-www/awstats/files/digest-awstats-6.5-r2 @@ -0,0 +1,3 @@ +MD5 f323e197f78934c66b3bf4cb07422606 awstats-6.5.tar.gz 972275 +RMD160 f5bac64fe43a0629474203f4846a863a439416cf awstats-6.5.tar.gz 972275 +SHA256 2d536fac86e97b4ba22fc811753536a0081823136b3a337f5833a6ad04b6f7f1 awstats-6.5.tar.gz 972275 -- 2.26.2