There seem to be no ebuilds for the openca releases, but only perl modules for openca. The above link lists the latest releases for openca. thanks!
I and a few others have struggled to come up with a feasible schema for implenting openca in gentoo and have come up emptyhanded. Bug-Wranglers - if you know someone willing to tackle the improbable, please pass this to them. Openca has nill to do with perl itself, we just have some modules that support it.
Created attachment 48941 [details] openca-0.9.2_p1.ebuild
Created attachment 48942 [details] mysql-setup.sql.in
Created attachment 48943 [details, diff] openca-0.9.2_noldap.patch
Here is something like a working ebuild. It doesn't fully support all IUSE, but a least work with DBM and without ldap support. There is some more work to be done before this ebuild will be fully fonctionnal but I want receive report early. PS: DEPEND on CGI::Session You may use http://bugs.gentoo.org/show_bug.cgi?id=54025 or better use g-perl.pl
Comment on attachment 48941 [details] openca-0.9.2_p1.ebuild # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils flag-o-matic gcc MY_P=${P/_p/-} MY_P2=${P/_p/.} DESCRIPTION="The OpenCA Project is a collaborative effort to develop a robust, full-featured and Open Source out-of-the-box Certification Authority implementing the most used protocols with full-strength cryptography world-wide." HOMEPAGE="http://www.openca.org/" SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~x86" IUSE="uclibc doc dbm mysql postgres ldap vhosts" RDEPEND="virtual/libc" DEPEND="${RDEPEND} !dev-perl/OpenCA-X509 !dev-perl/OpenCA-REQ !dev-perl/OpenCA-OpenSSL !dev-perl/OpenCA-CRL >=dev-libs/openssl-0.9.7 net-www/apache >=dev-perl/MIME-Base64-2.20 >=dev-perl/Digest-HMAC-1.01 >=dev-perl/Digest-SHA1-2.02 >=dev-perl/Digest-MD5-2.24 >=dev-perl/libintl-perl-1.10 >=dev-perl/IO-stringy-2.108 >=dev-perl/MIME-Lite-3.01 >=dev-perl/MIME-tools-5.411 >=dev-perl/MailTools-1.58 >=dev-perl/Parse-RecDescent-1.94 >=dev-perl/X500-DN-0.28 >=dev-perl/XML-Twig-3.09 >=dev-perl/CGI-Session-3.95 >=dev-perl/net-server-0.86 >=dev-perl/Convert-ASN1-0.18 dbm? ( dev-perl/DB_File ) mysql? ( dev-perl/DBD-mysql ) postgres? ( dev-perl/DBD-Pg ) !mysql? ( !postgres? ( dev-perl/DB_File ) ) ldap? ( net-nds/openldap >=perl-ldap-0.28 >=dev-perl/IO-Socket-SSL-0.92 >=dev-perl/URI-1.23 ) sasl? ( >=dev-perl/Authen-SASL-2.04 ) !uclibc? ( sys-devel/bc )" S=${WORKDIR}/${MY_P2} src_unpack() { unpack ${A} cd ${S} if !(use ldap); then epatch ${FILESDIR}/openca-0.9.2_noldap.patch fi case $( gcc-version ) in 3.4 | 3.3 | 3.2 ) filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loops ;; esac econf } src_compile() { cd ${S} einfo "Compiling ${P}" myconf="--with-openca-user=openca \ --with-openca-group=openca \ --with-htdocs-fs-prefix=/var/www/localhost/htdocs/openca \ --with-cgi-fs-prefix=/var/www/localhost/cgi-bin \ --with-etc-prefix=/etc/openca \ --with-var-prefix=/var/openca \ --with-lib-prefix=/usr/lib/openca \ --with-httpd-user=apache \ --with-httpd-group=apache \ --disable-external-modules" if !(use vhosts); then myconf="${myconf} --with-htdocs-url-prefix=/openca" fi if use ldap; then myconf="${myconf} --with-ldap-port=389 \ --with-ldap-root='cn=Manager,o=OpenCA,c=IT' \ --with-ldap-root-pwd='openca'" else myconf="${myconf} --disable-ldap" fi if !(use mysql) && !(use postgres) || (use dbm); then myconf="${myconf} --enable-db" else myconf="${myconf} --disable-db" fi if use mysql; then einfo "Setting random user/password details for the mysql database" local dbpass="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" sed -e "s/@dbpass@/${dbpass}/g" \ ${FILESDIR}/mysql-setup.sql.in > ${T}/mysql-setup.sql myconf="${myconf} --enable-dbi \ --with-db-type=mysql \ --with-db-name=openca \ --with-db-host=localhost \ --with-db-port=3306 \ --with-db-user=openca \ --with-db-passwd='${dbpass}'" fi if use postgres; then einfo "Setting random user/password details for the postgres database" local dbpass="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" # sed -e "s/@dbpass@/${dbpass}/g" \ # ${FILESDIR}/postgres-setup.sql.in > ${T}/posgres-setup.sql myconf="${myconf} --enable-dbi \ --with-db-type=Pg \ --with-db-name=openca \ --with-db-host=localhost \ --with-db-port=5432 \ --with-db-user=openca \ --with-db-passwd='${dbpass}'" fi econf ${myconf} emake || die } src_install() { cd ${S} make install-online install-ca DESTDIR=${D} || die dodir /var/openca/tmp keepdir /var/openca/tmp dosym /var/openca/log /var/log/openca keepdir /var/openca/log dodir /var/openca/log/xml dodir /var/openca/log/xml/time dodir /var/openca/log/xml/class dodir /var/openca/log/xml/level dodir /var/openca/log/xml/session keepdir /var/openca/log/xml/time keepdir /var/openca/log/xml/class keepdir /var/openca/log/xml/level keepdir /var/openca/log/xml/session dodoc CHANGES* LICENSE README dodoc docs/*.txt doman docs/man3/*.3 if use doc; then dohtml -r docs/guide dohtml -r docs/howto docinto shared dodocs docs/shared/*.txt fi if use ldap; then docinto openldap dodocs contrib/openldap/openca.schema fi if !(use mysql) && !(use postgres) || (use dbm); then dodir /var/openca/db keepdir /var/openca/db fi if use vhosts; then insinto /etc/apache2/conf/vhosts #***more to come*** fi dosym /etc/openca/openca_rc /etc/init.d/openca } pkg_setup() { enewgroup openca enewuser openca -1 -1 /dev/null openca } pkg_postinst() { einfo "Please check file '/etc/openca/config.xml'" einfo "Then run '/etc/openca/configure_etc.sh' script" }
Sorry for comment #6 , I intended to update the ebuild, not post a new comment :s
ebuild reports 'emerge: there are no ebuilds to satisfy ">=dev-perl/MIME-Base64-2.20"'
Change the dependency. It should be: >=perl-core/MIME-Base64-2.20
Created attachment 66149 [details] openca-0.9.2_p1-r1.ebuild I've changed the dependencies and cleaned up the ebuild a *little*. For the curious: --- /usr/local/overlays/portage/www-apps/openca/openca-0.9.2_p1.ebuild 2005-05-26 11:00:28.000000000 +0200 +++ /usr/local/overlays/portage/www-apps/openca/openca-0.9.2_p1-r1.ebuild 2005-08-17 18:46:11.000000000 +0200 @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: $ -inherit eutils flag-o-matic gcc +inherit eutils flag-o-matic toolchain MY_P=${P/_p/-} MY_P2=${P/_p/.} @@ -38,12 +38,12 @@ >=dev-perl/CGI-Session-3.95 >=dev-perl/net-server-0.86 >=dev-perl/Convert-ASN1-0.18 - dbm? ( dev-perl/DB_File ) + dbm? ( perl-core/DB_File ) mysql? ( dev-perl/DBD-mysql ) postgres? ( dev-perl/DBD-Pg ) - !mysql? ( !postgres? ( dev-perl/DB_File ) ) + !mysql? ( !postgres? ( perl-core/DB_File ) ) ldap? ( net-nds/openldap - >=perl-ldap-0.28 + >=dev-perl/perl-ldap-0.28 >=dev-perl/IO-Socket-SSL-0.92 >=dev-perl/URI-1.23 ) @@ -55,7 +55,7 @@ src_unpack() { unpack ${A} cd ${S} - if !(use ldap); then + if ! use ldap ; then epatch ${FILESDIR}/openca-0.9.2_noldap.patch fi @@ -80,7 +80,7 @@ --with-httpd-user=apache \ --with-httpd-group=apache \ --disable-external-modules" - if !(use vhosts); then + if ! use vhosts ; then myconf="${myconf} --with-htdocs-url-prefix=/openca" fi if use ldap; then @@ -90,7 +90,7 @@ else myconf="${myconf} --disable-ldap" fi - if !(use mysql) && !(use postgres) || (use dbm); then + if ! use mysql && ! use postgres || use dbm; then myconf="${myconf} --enable-db" else myconf="${myconf} --disable-db" @@ -152,7 +152,7 @@ docinto openldap dodocs contrib/openldap/openca.schema fi - if !(use mysql) && !(use postgres) || (use dbm); then + if ! use mysql && ! use postgres || use dbm ; then dodir /var/openca/db keepdir /var/openca/db fi
I've corrected the ebuild to work with versione 0.9.3-r1 (it was anyway missing a DEPEND against dev-perl/XML-Parser).
Created attachment 115485 [details] openca 0.9.3-r1 ebuild
Either find a maintainer, or if you want to maintain it yourself, feel free to reopen and join project sunrise, details here: http://www.gentoo.org/proj/en/sunrise Thanks. WONTFIX meanwhile.
Reopening per user request (in any case, we do not close requests for new ebuilds until they are fixed or obsoleted).
Created attachment 223545 [details] new version (2008 g.) ebuild
upstream relized new version - 1.1.0. Ebuild in progress
Created attachment 223729 [details] Set file for portage 2.2
How is the new 1.1.0 ebuild coming along slepnoga?
Created attachment 234705 [details] openca-base-1.1.0.ebuild Not tested :)
Created attachment 234817 [details] Modified ebuild to not request OpenCA perl modules externally I believe that the upstream modules for OpenCA are no longer available via search.cpan.org. The modules could be built by patching the Makefile at <workdir>/src/Makefile and prevent it from building the external modules, but build the bundled modules. I have written a patch for this, but I cannot determine how to get the build to install the Perl packages to the correct location (/usr/lib64/perl5/5.8.8/x86_64-linux). Naturally this would require some additonal patching or modifications to the ebuild. Attached is the new ebuild. I will also attach the patch.
Created attachment 234819 [details, diff] Patch to prevent non OpenCA modules from being built by this ebuild directly. Patch to pervent external modules from being built. These Perl modules are pulled in as part of the build. During a normal build of OpenCA modules for Perl that the ebuild is pulling in on its own will get built. These are what I'm referring to as external modules. During a normal build modules for Perl that relate to OpenCA only are also built. These modules will still be built.
Created attachment 253723 [details] openca-base-1.1.1-r1.ebuild
Has anyone tried to test openca-base-1.1.1-r1 ebuild using the "install_online" USE flag ? It will not work. Here the change (missing make call): ---------------------------- cut ------------------------- --- openca-base-1.1.1-r1.ebuild.orig 2011-02-22 10:24:58.836001311 +0100 +++ openca-base-1.1.1-r1.ebuild 2011-02-22 10:18:33.730000283 +0100 @@ -150,7 +150,7 @@ fi if use install-online ;then - DEST_DIR="${D}" install-online ||die "install failed" + make DEST_DIR="${D}" install-online ||die "install failed" fi if use install-ext;then ---------------------------- cut ------------------------- Also the digests of the source files should be updated at the RION overlay - they don't match the ones on the SF-server. Hope that helps.
tnx. http://code.google.com/p/rion-overlay/issues/detail?id=131
Created attachment 265227 [details] openca-base-1.1.1-r2.ebuild This is an update to the latest patches available on the OpenCA wiki. Following are supplementary files: - patch to initServer (from wiki) - first version on an init script to be placed in /etc/init.d - patch to disable query to openca.org server for the latest release otherwise the configure will hang forever if there is no direct internet access - changed some install locations (esp. htdocs & cgi-bin). I have installed this version on a gentoo stable system. The only additions i used are - RION overlay - own overlay with updated ebuilds as i placed in bugs * 309489 (OpenCA-AC) * 309493 (OpenCA-CRL) * 309499 (OpenCA-Crypto) * 309507 (OpenCA-DBI) * 309513 (OpenCA-OpenSSL) * 309521 (OpenCA-REQ) * 309533 (OpenCA-X509) * 356007 (OpenCA-User) Enabled were USE-flags mysql, install-offline, install-online. Remark: Someone with knowledge in making an ebuild to support webapp (i.e. usage of webapp eclass) should have an eye on this. Currently the web-part is directly placed into /var/www/localhost/{cgi-bin|htdocs}
Created attachment 265229 [details, diff] initServer-1.1.1.patch Patch to initServer derived from openca wiki
Created attachment 265231 [details] openca.init Init script to start the openca server.
Created attachment 265233 [details, diff] configure-disable-version-check.patch Patch to disable the version check during configure run. Otherwise configure will hang forever if there is no internet connection available.
Is anyone still interested in this? If yes, please say so here and now!
Still using OpenCA, although having it compiled manually for quite a long time, as version 1.5.1 never made it into the portage tree. Actually having some problems with the change to perl 5.18.x