diff --git a/app-misc/ovaldi/Manifest b/app-misc/ovaldi/Manifest index 785ea7d2a..c6568c35f 100644 --- a/app-misc/ovaldi/Manifest +++ b/app-misc/ovaldi/Manifest @@ -1,4 +1,6 @@ -DIST ovaldi-5.8.1-src.tar.bz2 7763275 RMD160 7833481722888fd819a84f7c8d11a57e84f9ca16 SHA1 423654bb865148b803b5c8ce0c385d2bf8fcfcfa SHA256 f6d96eb1487ada99d539d9e178bd27744dfa0c15a7815db09f035ccaa60aabb0 +AUX ovaldi-5.8.2-strnicmp.patch 292 RMD160 30058fc991df58e38be9b19855512602879d0136 SHA1 09f4ef19ba2dc009a45ff3b89e93dae6e9fd0cb6 SHA256 aa4a1f23df2fd4b8ed0456a23948cc597d0573eb1e9881f8a8f229b8778f6a54 +AUX ovaldi-5.8.2-xerces3.patch 12336 RMD160 501377cc5cbe1256a72bf2cd0be8a67943aca50e SHA1 024a2860faf0783c728d468fbe77dd6dc0da5a2f SHA256 70754174e4d390663b79b0dc070eba536d2868ce5b68aae1632e805a52b0e0f0 +AUX rpmdb.patch 2131 RMD160 eab0ea48e95ae7d278b80b555a73ca456ac07703 SHA1 ae06d023162d19019f27fdbbc9476fcf57d10cad SHA256 d40775d272b8aed6062b983640cf4c0a330a9d318012b922099eeb04d4c1d131 +AUX use_local_rpmdb.patch 429 RMD160 4a8f35be13522873bcfc5e03842964e84fc557b0 SHA1 70fe83d0f9f1c8716a2a8afec70da94c9183b2be SHA256 e7956ab2c1de68b0c5284641a36136643aa5a6e12cfd8b6042f0484c1cba63cd DIST ovaldi-5.8.2-src.tar.bz2 7763462 RMD160 04ce0dbce70e2a417f1ebcd612142ade49f42b81 SHA1 d5f2f82c818a5fee28822e4a3608d775df05f031 SHA256 a24d4f2ab88032887ee6a8617994836e9bd7f86565b29811891d4de6a3e9b8e2 -EBUILD ovaldi-5.8.1-r100.ebuild 2276 RMD160 b0be2e2f890d43f68edcb7a3a07ff46e12da3fa0 SHA1 4fb821b957760aef14e04456737de55f345c1fea SHA256 3aa632e8f396dc5aee549dce38dcd5f9f3b1a51dae9e4979b87d43da6104329e -EBUILD ovaldi-5.8.2.ebuild 2276 RMD160 b0be2e2f890d43f68edcb7a3a07ff46e12da3fa0 SHA1 4fb821b957760aef14e04456737de55f345c1fea SHA256 3aa632e8f396dc5aee549dce38dcd5f9f3b1a51dae9e4979b87d43da6104329e +EBUILD ovaldi-5.8.2-r1.ebuild 1583 RMD160 a1821cef02af9dd265205ecec6553725c7461c59 SHA1 2f5297578a2ceb577c7c6b2909bff613efe6a06b SHA256 6997e65f725808b4f3446bb3eede4c1dbc7f880e8c83ca7b8aaa12b6406f4af4 diff --git a/app-misc/ovaldi/files/ovaldi-5.8.2-strnicmp.patch b/app-misc/ovaldi/files/ovaldi-5.8.2-strnicmp.patch new file mode 100644 index 000000000..fc127efd3 --- /dev/null +++ b/app-misc/ovaldi/files/ovaldi-5.8.2-strnicmp.patch @@ -0,0 +1,11 @@ +--- src/Main.h.old 2010-10-22 14:59:13.000000000 +0200 ++++ src/Main.h 2010-10-22 14:59:38.000000000 +0200 +@@ -38,7 +38,7 @@ + #endif + + #ifdef LINUX +-# define STRNICMP strnicmp ++# define STRNICMP strncasecmp + #elif defined SUNOS + # define STRNICMP strncasecmp + #elif defined DARWIN diff --git a/app-misc/ovaldi/files/ovaldi-5.8.2-xerces3.patch b/app-misc/ovaldi/files/ovaldi-5.8.2-xerces3.patch new file mode 100644 index 000000000..a5269cbb5 --- /dev/null +++ b/app-misc/ovaldi/files/ovaldi-5.8.2-xerces3.patch @@ -0,0 +1,270 @@ +--- src/XmlProcessor.cpp.old 2010-10-25 15:13:58.000000000 +0200 ++++ src/XmlProcessor.cpp 2010-10-26 09:14:46.000000000 +0200 +@@ -34,8 +34,17 @@ + //****************************************************************************************// + // DataDirResolver Class // + //****************************************************************************************// +- ++#if XERCES_VERSION_MAJOR < 3 + DOMInputSource* DataDirResolver::resolveEntity (const XMLCh *const /*publicId*/, const XMLCh *const systemId, const XMLCh *const /*baseURI*/) { ++#else ++InputSource* DataDirResolver::resolveEntity(const XMLCh* publicId, const XMLCh* systemId) ++{ ++ return NULL; ++ //return DataDirResolver::resolveEntity (publicId, systemId, NULL); ++} ++ ++DOMLSInput* DataDirResolver::resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI) { ++#endif + string path = ""; + size_t last; + string schemapath = Common::GetSchemaPath(); +@@ -111,21 +120,35 @@ + // Instantiate the DOM parser. + static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull }; + DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(gLS); ++#if XERCES_VERSION_MAJOR < 3 + parser = ((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0); ++#else ++ parser = ((DOMImplementationLS*)impl)->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0); ++#endif + + /////////////////////////////////////////////////////// + // Set fetuares on the builder + /////////////////////////////////////////////////////// + ++#if XERCES_VERSION_MAJOR < 3 ++#define SetParameter(parser,n,v) parser->setFeature(n,v) ++#else ++#define SetParameter(parser,n,v) parser->getDomConfig()->setParameter(n,v) ++#endif ++ SetParameter(parser, XMLUni::fgDOMComments, false); // Discard Comment nodes in the document. ++ SetParameter(parser, XMLUni::fgDOMDatatypeNormalization, true); // Let the validation process do its datatype normalization that is defined in the used schema language. ++ SetParameter(parser, XMLUni::fgDOMNamespaces, true); // Perform Namespace processing ++#if XERCES_VERSION_MAJOR < 3 ++ SetParameter(parser, XMLUni::fgDOMValidation, true); // Report all validation errors. ++#else ++ SetParameter(parser, XMLUni::fgDOMValidate, true); // Report all validation errors. ++#endif ++ SetParameter(parser, XMLUni::fgXercesSchema, true); // Enable the parser's schema support. ++ SetParameter(parser, XMLUni::fgXercesSchemaFullChecking, true); // Enable full schema constraint checking, including checking which may be time-consuming or memory intensive. Currently, particle unique attribution constraint checking and particle derivation restriction checking are controlled by this option. ++ SetParameter(parser, XMLUni::fgXercesValidationErrorAsFatal, true); // The parser will treat validation error as fatal and will exit ++ SetParameter(parser, XMLUni::fgXercesDOMHasPSVIInfo, true); // Enable storing of PSVI information in element and attribute nodes. + +- parser->setFeature(XMLUni::fgDOMComments, false); // Discard Comment nodes in the document. +- parser->setFeature(XMLUni::fgDOMDatatypeNormalization, true); // Let the validation process do its datatype normalization that is defined in the used schema language. +- parser->setFeature(XMLUni::fgDOMNamespaces, true); // Perform Namespace processing +- parser->setFeature(XMLUni::fgDOMValidation, true); // Report all validation errors. +- parser->setFeature(XMLUni::fgXercesSchema, true); // Enable the parser's schema support. +- parser->setFeature(XMLUni::fgXercesSchemaFullChecking, true); // Enable full schema constraint checking, including checking which may be time-consuming or memory intensive. Currently, particle unique attribution constraint checking and particle derivation restriction checking are controlled by this option. +- parser->setFeature(XMLUni::fgXercesValidationErrorAsFatal, true); // The parser will treat validation error as fatal and will exit +- parser->setFeature(XMLUni::fgXercesDOMHasPSVIInfo, true); // Enable storing of PSVI information in element and attribute nodes. ++#undef SetParameter + + /////////////////////////////////////////////////////// + //****************************************************************************************// +@@ -133,7 +156,11 @@ + //****************************************************************************************// + /* Look for XML schemas in local directory instead of Internet */ + DataDirResolver resolver; ++#if XERCES_VERSION_MAJOR < 3 + parser->setEntityResolver (&resolver); ++#else ++ parser->getDomConfig()->setParameter(XMLUni::fgXercesEntityResolver, &resolver); ++#endif + //****************************************************************************************// + // End of air-gap code // + //****************************************************************************************// +@@ -144,7 +171,11 @@ + // Create a new DOMErrorHandler + // and set it to the builder + XmlProcessorErrorHandler *errHandler = new XmlProcessorErrorHandler(); ++#if XERCES_VERSION_MAJOR < 3 + parser->setErrorHandler(errHandler); ++#else ++ parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, errHandler); ++#endif + + try { + // reset document pool +@@ -215,24 +246,26 @@ + XMLCh tempStr[100]; + XMLString::transcode("LS", tempStr, 99); + DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(tempStr); ++#if XERCES_VERSION_MAJOR < 3 + DOMWriter *theSerializer = ((DOMImplementationLS*)impl)->createDOMWriter(); ++#else ++ DOMLSSerializer *theSerializer = ((DOMImplementationLS*)impl)->createLSSerializer(); ++#endif ++ ++#if XERCES_VERSION_MAJOR < 3 ++#define SetParameter(serializer,n,v) if (serializer->canSetFeature(n,v)) serializer->setFeature(n,v) ++#else ++#define SetParameter(serializer,n,v) if (serializer->getDomConfig()->canSetParameter(n,v)) serializer->getDomConfig()->setParameter(n,v) ++#endif + + // set feature if the serializer supports the feature/mode +- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTSplitCdataSections, true)) +- theSerializer->setFeature(XMLUni::fgDOMWRTSplitCdataSections, true); +- +- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true)) +- theSerializer->setFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true); +- +- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true)) +- theSerializer->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true); +- +- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTBOM, false)) +- theSerializer->setFeature(XMLUni::fgDOMWRTBOM, false); +- +- //if (theSerializer->canSetFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true)) +- // theSerializer->setFeature(XMLUni::fgDOMWRTBOM, true); ++ SetParameter(theSerializer, XMLUni::fgDOMWRTSplitCdataSections, true); ++ SetParameter(theSerializer, XMLUni::fgDOMWRTDiscardDefaultContent, true); ++ SetParameter(theSerializer, XMLUni::fgDOMWRTFormatPrettyPrint, true); ++ SetParameter(theSerializer, XMLUni::fgDOMWRTBOM, false); ++ //SetParameter(theSerializer, XMLUni::fgDOMWRTBOM, true); + ++#undef SetParameter + // + // Plug in a format target to receive the resultant + // XML stream from the serializer. +@@ -249,7 +282,13 @@ + // + // do the serialization through DOMWriter::writeNode(); + // ++#if XERCES_VERSION_MAJOR < 3 + theSerializer->writeNode(myFormTarget, *doc); ++#else ++ DOMLSOutput *output = ((DOMImplementationLS*)impl)->createLSOutput(); ++ output->setByteStream(myFormTarget); ++ theSerializer->write(doc, output); ++#endif + + delete theSerializer; + delete myFormTarget; +--- src/XmlProcessor.h.old 2010-10-22 12:06:05.000000000 +0200 ++++ src/XmlProcessor.h 2010-10-22 12:06:20.000000000 +0200 +@@ -40,7 +40,7 @@ + + // required xerces includes + #include +-#include ++//#include + #include + #include + #include +--- src/XmlProcessor.h.old 2010-10-22 14:40:45.000000000 +0200 ++++ src/XmlProcessor.h 2010-10-22 14:42:00.000000000 +0200 +@@ -50,18 +50,23 @@ + // for dom Writer + #include + #include +-#include ++//#include + #include + #include + #include + #include + + // for entity resolver +-#include +-#include ++//#include ++//#include + #include + #include + ++#include ++#include ++#include ++#include ++ + + XERCES_CPP_NAMESPACE_USE + +--- src/XmlProcessor.h.old 2010-10-22 14:43:06.000000000 +0200 ++++ src/XmlProcessor.h 2010-10-22 14:44:16.000000000 +0200 +@@ -75,12 +75,14 @@ + This class extends the default DOMEntityResolver and implments the resolve entity method + to support + */ +-class DataDirResolver : public DOMEntityResolver { ++class DataDirResolver : public EntityResolver { + public: + /** + * + */ +- DOMInputSource *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI); ++// DOMInputSource *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI); ++ InputSource *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId); ++ DOMLSInput *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI); + }; + + /** +@@ -120,7 +122,7 @@ + + static XmlProcessor* instance; + +- DOMBuilder *parser; ++ DOMLSParser *parser; + }; + + /** +--- src/probes/independent/XmlFileContentProbe.cpp.old 2010-10-22 14:49:22.000000000 +0200 ++++ src/probes/independent/XmlFileContentProbe.cpp 2010-10-22 14:51:39.000000000 +0200 +@@ -419,12 +419,24 @@ + return new DummyEntityResolver::DoNothingBinInputStream(); + } + ++#if XERCES_VERSION_MAJOR < 3 + unsigned int DummyEntityResolver::DoNothingBinInputStream::curPos() const ++#else ++const XMLCh* DummyEntityResolver::DoNothingBinInputStream::getContentType() const ++{ ++ return NULL; ++} ++XMLFilePos DummyEntityResolver::DoNothingBinInputStream::curPos() const ++#endif + { + return 0; + } + ++#if XERCES_VERSION_MAJOR < 3 + unsigned int DummyEntityResolver::DoNothingBinInputStream::readBytes(XMLByte *const /*toFill*/, const unsigned int /*maxToRead*/) ++#else ++XMLSize_t DummyEntityResolver::DoNothingBinInputStream::readBytes(XMLByte *const toFill, XMLSize_t maxToRead) ++#endif + { + return 0; + } +--- src/probes/independent/XmlFileContentProbe.h.old 2010-10-22 14:55:47.000000000 +0200 ++++ src/probes/independent/XmlFileContentProbe.h 2010-10-22 14:57:00.000000000 +0200 +@@ -134,8 +134,14 @@ + class DoNothingBinInputStream : public BinInputStream + { + public: ++#if XERCES_VERSION_MAJOR < 3 + virtual unsigned int curPos() const; + virtual unsigned int readBytes(XMLByte *const toFill, const unsigned int maxToRead); ++#else ++ virtual XMLFilePos curPos() const; ++ virtual const XMLCh* getContentType() const; ++ virtual XMLSize_t readBytes(XMLByte *const toFill, XMLSize_t maxToRead); ++#endif + }; + }; + +--- src/XmlCommon.cpp.old ++++ src/XmlCommon.cpp +@@ -546,7 +546,11 @@ void XmlCommon::AddSchemaLocation(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *do + string XmlCommon::GetNamespace(DOMElement *element) { + + string xmlns = ""; ++#if XERCES_VERSION_MAJOR < 3 + xmlns = XmlCommon::ToString(element->getTypeInfo()->getNamespace()); ++#else ++ xmlns = XmlCommon::ToString(element->getSchemaTypeInfo()->getTypeNamespace()); ++#endif + if (xmlns.compare("") == 0) { + xmlns = ""; + } diff --git a/app-misc/ovaldi/files/rpmdb.patch b/app-misc/ovaldi/files/rpmdb.patch new file mode 100644 index 000000000..0d6e62608 --- /dev/null +++ b/app-misc/ovaldi/files/rpmdb.patch @@ -0,0 +1,58 @@ +--- src/probes/linux/rpmdb.h.old 2010-10-22 15:16:49.000000000 +0200 ++++ src/probes/linux/rpmdb.h 2010-10-22 15:22:09.000000000 +0200 +@@ -8,8 +8,8 @@ + */ + + #include +-#include "rpmlib.h" +-#include "rpmsw.h" ++/*#include ++#include */ + #include "db.h" + + /*@-exportlocal@*/ +@@ -508,7 +508,7 @@ + * @param opx per-rpmdb accumulator index (aka rpmtsOpX) + * @return per-rpmdb accumulator pointer + */ +-void * dbiStatsAccumulator(dbiIndex dbi, int opx) ++rpmop_s * dbiStatsAccumulator(dbiIndex dbi, int opx) + /*@*/; + + #if !defined(SWIG) +@@ -576,7 +576,7 @@ + /*@globals fileSystem, internalState @*/ + /*@modifies dbi, *dbcursor, fileSystem, internalState @*/ + { +- void * sw = dbiStatsAccumulator(dbi, 16); /* RPMTS_OP_DBDEL */ ++ rpmop_s *sw = dbiStatsAccumulator(dbi, 16); /* RPMTS_OP_DBDEL */ + int rc; + assert(key->data != NULL && key->size > 0); + (void) rpmswEnter(sw, 0); +@@ -600,7 +600,7 @@ + /*@globals fileSystem, internalState @*/ + /*@modifies dbi, *dbcursor, *key, *data, fileSystem, internalState @*/ + { +- void * sw = dbiStatsAccumulator(dbi, 14); /* RPMTS_OP_DBGET */ ++ rpmop_s * sw = dbiStatsAccumulator(dbi, 14); /* RPMTS_OP_DBGET */ + int rc; + assert((flags == DB_NEXT) || (key->data != NULL && key->size > 0)); + (void) rpmswEnter(sw, 0); +@@ -625,7 +625,7 @@ + /*@globals fileSystem, internalState @*/ + /*@modifies dbi, *dbcursor, *key, *pkey, *data, fileSystem, internalState @*/ + { +- void * sw = dbiStatsAccumulator(dbi, 14); /* RPMTS_OP_DBGET */ ++ rpmop_s * sw = dbiStatsAccumulator(dbi, 14); /* RPMTS_OP_DBGET */ + int rc; + assert((flags == DB_NEXT) || (key->data != NULL && key->size > 0)); + (void) rpmswEnter(sw, 0); +@@ -649,7 +649,7 @@ + /*@globals fileSystem, internalState @*/ + /*@modifies dbi, *dbcursor, *key, fileSystem, internalState @*/ + { +- void * sw = dbiStatsAccumulator(dbi, 15); /* RPMTS_OP_DBPUT */ ++ rpmop_s * sw = dbiStatsAccumulator(dbi, 15); /* RPMTS_OP_DBPUT */ + int rc; + assert(key->data != NULL && key->size > 0 && data->data != NULL && data->size > 0); + (void) rpmswEnter(sw, 0); diff --git a/app-misc/ovaldi/files/use_local_rpmdb.patch b/app-misc/ovaldi/files/use_local_rpmdb.patch new file mode 100644 index 000000000..036d35edf --- /dev/null +++ b/app-misc/ovaldi/files/use_local_rpmdb.patch @@ -0,0 +1,11 @@ +--- src/probes/linux/RPMInfoProbe.h.old 2010-10-22 15:12:50.000000000 +0200 ++++ src/probes/linux/RPMInfoProbe.h 2010-10-22 15:13:02.000000000 +0200 +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include ++#include "rpmdb.h" + #include + #include // added for rpm query function + #include // added for rpm query function diff --git a/app-misc/ovaldi/ovaldi-5.8.1-r100.ebuild b/app-misc/ovaldi/ovaldi-5.8.1-r100.ebuild deleted file mode 100644 index 68a23c5ba..000000000 --- a/app-misc/ovaldi/ovaldi-5.8.1-r100.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=1 - -inherit eutils flag-o-matic - -DESCRIPTION="The OVAL Interpreter is a freely available reference implementation created to show how information can be collected from a computer for testing, to evaluate and carry out the OVAL Definitions for that platform, and to report the resultsof the tests. " -HOMEPAGE="http://oval.mitre.org/language/download/interpreter/index.html" -SRC_URI="http://voxel.dl.sourceforge.net/sourceforge/ovaldi/${P}-src.tar.bz2" - -LICENSE="OVAL" -SLOT="0" -KEYWORDS="~x86 ~amd64" -IUSE="" - -DEPEND="dev-java/xerces - dev-java/xalan - dev-libs/xalan-c - dev-libs/libpcre" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${P}-src" - -src_unpack() { - unpack ${A} - cd ${S} -} - -src_compile () { - cd ${S}/project/linux - emake -j1 || "die emake failed" -} - -src_install () { - cd ${S}/project/linux/Release || die "cd failed" - dobin ovaldi - into / - dodir /usr/share/ovaldi - addpredict /usr/share/ovaldi - insinto /usr/share/ovaldi - doins -r "${S}/xml" - cd ${S}/docs - dodoc {README.txt,terms.txt,version.txt,ovaldi.1} || die "docs failed" -} - -pkg_postinst() { - einfo - einfo "The OVAL Interpreter collects system configuration data only available to a user with Administrator/root access" - einfo - ewarn - ewarn "SINCE THIS IS SENSITIVE INFORMATION, IT IS STRONGLY RECOMMENDED THAT THE - OVAL INTERPRETER DIRECTORY BE RESTRICTED TO ADMINISTRATOR ACCESS ONLY" - ewarn - einfo - einfo "OVAL Definitions are created and modified on a regular basis, - therefore it is advised that you check the Data Files page on the OVAL Web Site - before running the Interpreter to ensure that you are using the most up-to-date Definitions" - einfo - einfo "Data files page:" - einfo - einfo "http://oval.mitre.org/repository/download/index.html" - ewarn - ewarn - ewarn "The OVAL Interpreter is set up to validate that the Data file has not -been tampered with by checking the MD5 hash (or checksum) generated from the -data file on your computer with an MD5 hash provided by MITRE on the OVAL -Web site" - ewarn " You must supply the MD5 hash for the data file or use - the -m command to skip the MD5 check" - einfo - einfo ".xsd and .xsl files are located in /usr/share/ovaldi/xml " - einfo -} diff --git a/app-misc/ovaldi/ovaldi-5.8.2-r1.ebuild b/app-misc/ovaldi/ovaldi-5.8.2-r1.ebuild new file mode 100644 index 000000000..79e6e1a59 --- /dev/null +++ b/app-misc/ovaldi/ovaldi-5.8.2-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils + +DESCRIPTION="Free OVAL definition's interpreter" +HOMEPAGE="http://oval.mitre.org/language/interpreter.html" +SRC_URI="mirror://sourceforge/${PN}/${P}-src.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="rpm" + +DEPEND="dev-libs/libpcre + dev-libs/xalan-c + dev-libs/xerces-c + dev-libs/libgcrypt + net-nds/openldap" +RDEPEND="${DEPEND} + rpm? ( app-arch/rpm )" + +S="${WORKDIR}/${P}-src" + +src_prepare() { + epatch "${FILESDIR}"/${P}-xerces3.patch + epatch "${FILESDIR}"/${P}-strnicmp.patch + + # rpm probes support is build dependant only on the presence of the rpm binary + if use rpm ; then + #Same problems as bug 274679, so i do a local copy of the header and patch it + cp /usr/include/rpm/rpmdb.h src/probes/linux/ || die + epatch "${FILESDIR}"/use_local_rpmdb.patch + epatch "${FILESDIR}"/rpmdb.patch + else + einfo "Disable rpm probes" + sed -i 's/^PACKAGE_RPM/#PACKAGE_RPM/g' project/linux/Makefile || die + fi + # same thing for dpkg, but package dpkg is not sufficient, needs app-arch/apt-pkg that is not on tree + einfo "Disable dpkg probes" + sed -i 's/^PACKAGE_DPKG/#PACKAGE_DPKG/g' project/linux/Makefile || die +} + +src_compile () { + emake -C project/linux || die +} + +src_install () { + # no make install in Makefile + dosbin project/linux/Release/ovaldi project/linux/ovaldi.sh || die + dodir /var/log/${PN} || die + insinto /usr/share/${PN} + doins xml/* || die + dodoc docs/{README.txt,version.txt} || die + doman docs/ovaldi.1 || die +} diff --git a/app-misc/ovaldi/ovaldi-5.8.2.ebuild b/app-misc/ovaldi/ovaldi-5.8.2.ebuild deleted file mode 100644 index 68a23c5ba..000000000 --- a/app-misc/ovaldi/ovaldi-5.8.2.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=1 - -inherit eutils flag-o-matic - -DESCRIPTION="The OVAL Interpreter is a freely available reference implementation created to show how information can be collected from a computer for testing, to evaluate and carry out the OVAL Definitions for that platform, and to report the resultsof the tests. " -HOMEPAGE="http://oval.mitre.org/language/download/interpreter/index.html" -SRC_URI="http://voxel.dl.sourceforge.net/sourceforge/ovaldi/${P}-src.tar.bz2" - -LICENSE="OVAL" -SLOT="0" -KEYWORDS="~x86 ~amd64" -IUSE="" - -DEPEND="dev-java/xerces - dev-java/xalan - dev-libs/xalan-c - dev-libs/libpcre" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${P}-src" - -src_unpack() { - unpack ${A} - cd ${S} -} - -src_compile () { - cd ${S}/project/linux - emake -j1 || "die emake failed" -} - -src_install () { - cd ${S}/project/linux/Release || die "cd failed" - dobin ovaldi - into / - dodir /usr/share/ovaldi - addpredict /usr/share/ovaldi - insinto /usr/share/ovaldi - doins -r "${S}/xml" - cd ${S}/docs - dodoc {README.txt,terms.txt,version.txt,ovaldi.1} || die "docs failed" -} - -pkg_postinst() { - einfo - einfo "The OVAL Interpreter collects system configuration data only available to a user with Administrator/root access" - einfo - ewarn - ewarn "SINCE THIS IS SENSITIVE INFORMATION, IT IS STRONGLY RECOMMENDED THAT THE - OVAL INTERPRETER DIRECTORY BE RESTRICTED TO ADMINISTRATOR ACCESS ONLY" - ewarn - einfo - einfo "OVAL Definitions are created and modified on a regular basis, - therefore it is advised that you check the Data Files page on the OVAL Web Site - before running the Interpreter to ensure that you are using the most up-to-date Definitions" - einfo - einfo "Data files page:" - einfo - einfo "http://oval.mitre.org/repository/download/index.html" - ewarn - ewarn - ewarn "The OVAL Interpreter is set up to validate that the Data file has not -been tampered with by checking the MD5 hash (or checksum) generated from the -data file on your computer with an MD5 hash provided by MITRE on the OVAL -Web site" - ewarn " You must supply the MD5 hash for the data file or use - the -m command to skip the MD5 check" - einfo - einfo ".xsd and .xsl files are located in /usr/share/ovaldi/xml " - einfo -}