summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcelo Góes <vanquirius@gentoo.org>2006-02-08 19:13:06 +0000
committerMarcelo Góes <vanquirius@gentoo.org>2006-02-08 19:13:06 +0000
commitf6281bf1f76922442d0dd43d1b425ee8b22a1828 (patch)
treea17ec6e10701e0e6a2924065a6fc08fcebd6a3e4 /net-analyzer/base
parentDo not strip in makefile, this break cross-compile. (diff)
downloadgentoo-2-f6281bf1f76922442d0dd43d1b425ee8b22a1828.tar.gz
gentoo-2-f6281bf1f76922442d0dd43d1b425ee8b22a1828.tar.bz2
gentoo-2-f6281bf1f76922442d0dd43d1b425ee8b22a1828.zip
Add fixes from bug 122063, most notably php5 support.
(Portage version: 2.0.54)
Diffstat (limited to 'net-analyzer/base')
-rw-r--r--net-analyzer/base/ChangeLog8
-rw-r--r--net-analyzer/base/Manifest2
-rw-r--r--net-analyzer/base/base-1.2.2-r1.ebuild212
-rw-r--r--net-analyzer/base/files/digest-base-1.2.2-r11
4 files changed, 222 insertions, 1 deletions
diff --git a/net-analyzer/base/ChangeLog b/net-analyzer/base/ChangeLog
index 42a83949d6d3..0e58f684e847 100644
--- a/net-analyzer/base/ChangeLog
+++ b/net-analyzer/base/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-analyzer/base
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/base/ChangeLog,v 1.1 2006/01/28 20:16:52 vanquirius Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/base/ChangeLog,v 1.2 2006/02/08 19:13:06 vanquirius Exp $
+
+*base-1.2.2-r1 (08 Feb 2006)
+
+ 08 Feb 2006; Marcelo Goes <vanquirius@gentoo.org> +base-1.2.2-r1.ebuild:
+ Add fixes from bug 122063, most notably php5 support. Thanks to Travis Post
+ <tukachinchila at gmail dot com> and Jakub Moc <jakub at gentoo dot org>.
*base-1.2.2 (28 Jan 2006)
diff --git a/net-analyzer/base/Manifest b/net-analyzer/base/Manifest
index 1148ad46800c..5c97fa1c0e4c 100644
--- a/net-analyzer/base/Manifest
+++ b/net-analyzer/base/Manifest
@@ -1,4 +1,6 @@
MD5 a2dfb8eb019992d2ad6d075e7ecdc6b8 ChangeLog 443
+MD5 8cd14419631c3635d5f34ff3a2a62d32 base-1.2.2-r1.ebuild 6880
MD5 0ba0e1bc6cfc8814547bbb8044f80959 base-1.2.2.ebuild 5380
MD5 77fbc27f48861086583a887fc3fb47c4 files/digest-base-1.2.2 62
+MD5 77fbc27f48861086583a887fc3fb47c4 files/digest-base-1.2.2-r1 62
MD5 f34e3c8858756da0001b12d2d3fa1af2 metadata.xml 159
diff --git a/net-analyzer/base/base-1.2.2-r1.ebuild b/net-analyzer/base/base-1.2.2-r1.ebuild
new file mode 100644
index 000000000000..15482dbaecbe
--- /dev/null
+++ b/net-analyzer/base/base-1.2.2-r1.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/base/base-1.2.2-r1.ebuild,v 1.1 2006/02/08 19:13:06 vanquirius Exp $
+
+inherit webapp versionator eutils depend.apache depend.php
+
+CONF_DIR="/etc/${PN}"
+CONF_OLD="base_conf.php.dist"
+CONF_NEW="base_conf.php"
+MIDDLEMAN="base_path.php"
+
+DESCRIPTION="A web-based front-end to the Snort IDS."
+HOMEPAGE="http://base.secureideas.net"
+SRC_URI="mirror://sourceforge/secureideas/${P}.tar.gz"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~amd64"
+# SLOT is intentionally omitted because this package uses webapp-config
+
+DBTYPES="mssql mysql oracle postgres"
+IUSE="gd ${DBTYPES}"
+
+# BASE *should* work with any php-driven web server, so only require Apache
+# when the user has an apache use-flag set.
+want_apache
+
+DEPEND=">=app-arch/tar-1.14
+ >=sys-libs/zlib-1.2.1-r3
+ >=app-arch/gzip-1.3.5-r4
+ >=sys-apps/coreutils-5.2.1-r2
+ >=sys-apps/sed-4.0.9"
+
+RDEPEND="${DEPEND}
+ >=dev-php/adodb-4.68
+ gd? ( || ( >=dev-php4/jpgraph-1.19 >=dev-php5/jpgraph-2.0_beta )
+ >=dev-php/PEAR-PEAR-1.3.6-r1
+ >=dev-php/PEAR-Image_Color-1.0.2
+ >=dev-php/PEAR-Log-1.9.3
+ >=dev-php/PEAR-Numbers_Roman-0.2.0
+ >=dev-php/PEAR-Numbers_Words-0.14.0
+ >=dev-php/PEAR-Image_Canvas-0.2.4
+ >=dev-php/PEAR-Image_Graph-0.7.1
+ >=media-libs/gd-2.0.32
+ mysql? ( >=dev-db/mysql-3.23.0 )
+ postgres? ( >=dev-db/postgresql-7.1.0 ) )"
+ # A local database isn't necessary, so only require one when the user
+ # has use-flags set for one of the supported DBs.
+ # Snort can also be installed on a remote system, so don't require it.
+
+# Require PHP.
+need_php
+
+pkg_setup() {
+ webapp_pkg_setup
+
+ # Set the group ownership for /etc/base/base_conf.php so it can be read by
+ # the user's web server.
+ if use apache2 || use apache; then
+ HTTPD_GROUP="apache"
+ else
+ # Set a safe default group.
+ HTTPD_GROUP="root"
+ fi
+
+ # Check and setup selected DB type
+ dbtypecnt=0
+ for db in ${DBTYPES}; do
+ if use ${db}; then
+ if [ ${dbtypecnt} -eq 0 ]; then
+ BASE_DBTYPE=${db}
+ let dbtypecnt++
+ elif [ ${dbtypecnt} -ge 1 ]; then
+ einfo "You set multiple database types in your USE flags."
+ ewarn "You will have to setup DBtype configuration manually."
+ fi
+ fi
+ done
+
+ if [ ${dbtypecnt} -eq 0 ]; then
+ einfo "No database type selected in your USE flags."
+ ewarn "You will have to setup DBtype manually."
+ fi
+
+ # Make sure php was built with the necessary USE flags.
+ require_php_with_use session
+ useq gd && require_gd
+ useq mssql && require_php_with_use mssql
+ useq mysql && require_php_with_use mysql
+ useq postgres && require_php_with_use postgres
+ if use oracle && ! built_with_use virtual/php oci8-instant-client ; then
+ ewarn "PHP with oci8-instant-client support not found!"
+ ewarn "It is your responsibility to ensure that PHP will work"
+ ewarn "with commercial Oracle implementation."
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Help the user configure /etc/base/base_conf.php so BASE works out of the
+ # box in most environments. The user will still be warned to edit the
+ # file manually at the pkg_postinst() stage.
+ sed -i -e 's:$BASE_urlpath.*:$BASE_urlpath = "/base";:g' \
+ ${CONF_OLD}
+
+ sed -i -e 's:$DBlib_path.*:$DBlib_path = "/usr/share/php/adodb";:g' \
+ ${CONF_OLD}
+
+ if [[ "${BASE_DBTYPE}" == "postgres" ]]; then
+ sed -i -e 's:$DBtype.*:$DBtype = "postgres";:g' \
+ ${CONF_OLD}
+ fi
+ if [[ "${BASE_DBTYPE}" == "mssql" ]]; then
+ sed -i -e 's:$DBtype.*:$DBtype = "mssql";:g' \
+ ${CONF_OLD}
+ fi
+ if [[ "${BASE_DBTYPE}" == "oracle" ]]; then
+ sed -i -e 's:$DBtype.*:$DBtype = "oci8";:g' \
+ ${CONF_OLD}
+ fi
+
+ # Install the configuration files in the usual /etc/${PN} location so that
+ # etc-update functions properly (it also improves security somewhat, since
+ # the config file contains plain-text passwords and should not be located
+ # inside the web-root). This requires changing the BASE source a tad to
+ # recognize the new location for base_conf.php.
+ for PHP in *.php */*.php; do
+ sed -i -e "s:${CONF_NEW}:${MIDDLEMAN}:g" \
+ ${CONF_OLD} "${PHP}"
+ done
+
+ # Create the file ${MIDDLEMAN} to determine the web-root and to change
+ # the location of "include" to /etc/base/base_conf.php.
+ echo "<?php" > ${MIDDLEMAN}
+ echo ' $BASE_path = dirname(__FILE__);' >> ${MIDDLEMAN}
+ echo " include(\"${CONF_DIR}/${CONF_NEW}\");" >> ${MIDDLEMAN}
+ echo "?>" >> ${MIDDLEMAN}
+
+ # Delete the $BASE_path variable from the config file because we
+ # now handle it with ${MIDDLEMAN} created above.
+ sed -i -e 's:$BASE_path =.*::g' ${CONF_OLD}
+
+ # Modify the HTML headers so search engines don't index BASE.
+ sed -i -e \
+ 's:<HEAD>:<HEAD>\n <META name="robots" content="noindex,nofollow">:g' \
+ index.php
+ sed -i -e \
+ 's:<HEAD>:<HEAD>\n <META name="robots" content="noindex,nofollow">:g' \
+ base_main.php
+}
+
+src_install() {
+ webapp_src_preinst
+
+ # Install the docs once in the standard /usr/share/doc/${PF}/DOCDESTREE
+ # location instead of installing them in every virtual host directory.
+ cd docs
+ dodoc *
+ cd "${S}"
+ rm -rf docs
+
+ # Install the config files in the normal location (/etc/${PN}).
+ insinto ${CONF_DIR} || die "Unable to insinto ${CONF_DIR}"
+ doins ${CONF_OLD} || die "Unable to doins ${CONF_OLD}"
+ newins ${CONF_OLD} ${CONF_NEW} || die "Unable to create ${CONF_NEW}"
+
+ # Install BASE for webapp-config
+ insinto ${MY_HTDOCSDIR} || die "Unable to insinto ${MY_HTDOCSDIR}"
+ doins -r *
+
+ webapp_src_install
+}
+
+pkg_postinst() {
+ webapp_pkg_postinst
+
+ # Set the proper permissions on /etc/base/base_conf.php
+ chmod 640 ${CONF_DIR}/${CONF_NEW} || FPERMS="FALSE"
+ chown root:${HTTPD_GROUP} ${CONF_DIR}/${CONF_NEW} || FOWNERS="FALSE"
+
+ # Notify the user of any problems at the very end.
+ if [ "${HTTPD_GROUP}" == "root" ]; then
+ ewarn ""
+ ewarn "It looks like you are not using Apache or Cherokee"
+ ewarn "as your web server. For BASE to work properly, you will"
+ ewarn "need to change the ownership of ${CONF_DIR}/${CONF_NEW} to"
+ ewarn "root:[www user] To use Apache, add \"apache\" or"
+ ewarn "\"apache2\" to your USE flags and re-emerge BASE."
+ fi
+ if [ "${FPERMS}" == "FALSE" ]; then
+ ewarn ""
+ ewarn "Unable to change the permissions on ${CONF_DIR}/${CONF_NEW}".
+ ewarn "Please change them manually by issuing:"
+ ewarn "chmod 640 ${CONF_DIR}/${CONF_NEW}"
+ fi
+ if [ "${FOWNERS}" == "FALSE" ]; then
+ ewarn ""
+ ewarn "Unable to change the group ownership of the file:"
+ ewarn "${CONF_DIR}/${CONF_NEW}"
+ ewarn "Please change this manually by issuing:"
+ ewarn "chown root:${HTTPD_GROUP} ${CONF_DIR}/${CONF_NEW}"
+ fi
+
+ einfo ""
+ einfo "You should edit \"${CONF_DIR}/${CONF_NEW}\" before using BASE."
+ einfo ""
+ einfo "To setup your initial database, direct your web browser to the"
+ einfo "location you installed BASE/base_db_setup.php"
+ einfo "You can find instructions in /usr/share/doc/${P}/README"
+ einfo "There is a guide at http://gentoo-wiki.com/HOWTO_Apache2_with_BASE"
+ einfo ""
+}
diff --git a/net-analyzer/base/files/digest-base-1.2.2-r1 b/net-analyzer/base/files/digest-base-1.2.2-r1
new file mode 100644
index 000000000000..cadaf405f1ac
--- /dev/null
+++ b/net-analyzer/base/files/digest-base-1.2.2-r1
@@ -0,0 +1 @@
+MD5 b257240c6e554f0e3a78913ecd01baa3 base-1.2.2.tar.gz 346518