Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 73955

Summary: xca ebuild (new) -- graphical cert. authority.
Product: Gentoo Linux Reporter: Michael Krelin <gentoodoo>
Component: New packagesAssignee: Crypto team [DISABLED] <crypto+disabled>
Status: RESOLVED FIXED    
Severity: enhancement Keywords: EBUILD
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
URL: http://www.hohnstaedt.de/xca.html
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: ebuild
patch to make it compile.
ebuild as text/plain
xca-0.5.1.ebuild with a whole kde eclass wrapped around addwrite :-)
new proposal ...
Another attempt on db autodiscovery - the patch.
further improved configure-db.patch

Description Michael Krelin 2004-12-09 15:38:35 UTC
This is a graphical certification authority tool (similar to app-misc/tinyca, but qt-based).
Comment 1 Michael Krelin 2004-12-09 15:39:28 UTC
Created attachment 45638 [details]
ebuild
Comment 2 Michael Krelin 2004-12-09 15:39:55 UTC
Created attachment 45639 [details, diff]
patch to make it compile.
Comment 3 Tuan Van (RETIRED) gentoo-dev 2004-12-09 15:46:47 UTC
please re-attach your ebuild as plain text.
please see: http://www.gentoo.org/doc/en/ebuild-submit.xml
Comment 4 Michael Krelin 2004-12-09 15:53:28 UTC
Created attachment 45643 [details]
ebuild as text/plain

Sorry, I didn't know ebuild aren't recognized properly.
Comment 5 Tuan Van (RETIRED) gentoo-dev 2004-12-09 16:02:19 UTC
> addwrite ${QTDIR}/etc/settings <-- this is a no no.
please try inherit kde, then add "kde_src_compile nothing" to src_compile() to workaround access violation sandbox.
Comment 6 Michael Krelin 2004-12-09 16:07:08 UTC
I can do that, but is it a good idea to inherit kde for an ebuild that doesn't have much to do with kde? It only depends on qt, not kde, I believe.
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-12-11 16:42:10 UTC
I last tried xca in the 0.2* series where it wasn't very good. It's good to see that it's progressing still.
'inherit kde' is fine even if you don't use kde itself. 
Comment 8 Michael Krelin 2004-12-11 17:01:14 UTC
Created attachment 45789 [details]
xca-0.5.1.ebuild with a whole kde eclass wrapped around addwrite :-)

I also didn't go for xca a while ago...

Here is an updated ebuild.

One more thing: the patch tagged as "qt" is likely related to gcc, not qt (not
sure, though, but I have sent the patch to xca author and he claims it compiles
well with the same qt version, but his gcc is 3.3), so it may make sense to
rename it.
Comment 9 Daniel Black (RETIRED) gentoo-dev 2004-12-20 04:48:35 UTC
had trouble compiling this. Will look again soon
Comment 10 Michael Krelin 2004-12-20 07:54:47 UTC
Strange, it works for me (gcc3.4). If you provide more feedback on what exactly fails, I can look into it.
Comment 11 Daniel Black (RETIRED) gentoo-dev 2005-01-01 20:04:15 UTC
gcc -MM -I. -I.. -I/usr/include/db4 -I/usr/qt/3/include -g -I/usr/include/db3 /usr/include/db4 /usr/include/db4.1 /usr/include/db4.2 -DPREFIX=\"/usr\" -DETC=\"/etc/xca\"  moc_CertDetail.cpp  moc_ExportKey.cpp  moc_KeyDetail.cpp  moc_distname.cpp  moc_CrlDetail.cpp  moc_ExportTinyCA.cpp  moc_MainWindow.cpp  moc_ReqDetail.cpp  moc_validity.cpp  moc_ExportCert.cpp  moc_ImportMulti.cpp  moc_NewX509.cpp  moc_CertExtend.cpp  moc_clicklabel.cpp  CertDetail.cpp  ExportKey.cpp  KeyDetail.cpp  distname.cpp  CrlDetail.cpp  ExportTinyCA.cpp  MainWindow.cpp  ReqDetail.cpp  validity.cpp  ExportCert.cpp  ImportMulti.cpp  NewX509.cpp  CertExtend.cpp  clicklabel.cpp  NewX509_ext.cpp  MW_menu.cpp  MW_help.cpp  MW_database.cpp > .depend
gcc: /usr/include/db4: linker input file unused because linking not done
gcc: /usr/include/db4.1: linker input file unused because linking not done
gcc: /usr/include/db4.2: linker input file unused because linking not done
make[1]: Leaving directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/widgets'
make[1]: Entering directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/widgets'
gcc -I. -I.. -I/usr/include/db4 -I/usr/qt/3/include -g -I/usr/include/db3 /usr/include/db4 /usr/include/db4.1 /usr/include/db4.2 -DPREFIX=\"/usr\" -DETC=\"/etc/xca\"  -c moc_CertDetail.cpp -o moc_CertDetail.o
distcc[6904] ERROR: compile /var/tmp/ccache/moc_CertDe.tmp.frog.local.6897.ii on localhost failed
gcc: /usr/include/db4: linker input file unused because linking not done
gcc: /usr/include/db4.1: linker input file unused because linking not done
gcc: /usr/include/db4.2: linker input file unused because linking not done
gcc: /usr/include/db4: linker input file unused because linking not done
gcc: /usr/include/db4.1: linker input file unused because linking not done
gcc: /usr/include/db4.2: linker input file unused because linking not done
cc1plus: /usr/include/db4: No such file or directory
cc1plus: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
make[1]: *** [moc_CertDetail.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/widgets'
make: *** [widgets/target.obj] Error 2
make: *** Waiting for unfinished jobs....
gcc: /usr/include/db4: linker input file unused because linking not done
gcc: /usr/include/db4.1: linker input file unused because linking not done
gcc: /usr/include/db4.2: linker input file unused because linking not done
make[1]: Leaving directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/lib'
make[1]: Entering directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/lib'
gcc -I. -I.. -I/usr/include/db4 -I/usr/qt/3/include -g -I/usr/include/db3 /usr/include/db4 /usr/include/db4.1 /usr/include/db4.2 -DPREFIX=\"/usr\" -DETC=\"/etc/xca\"  -c db_crl.cpp -o db_crl.o
gcc -I. -I.. -I/usr/include/db4 -I/usr/qt/3/include -g -I/usr/include/db3 /usr/include/db4 /usr/include/db4.1 /usr/include/db4.2 -DPREFIX=\"/usr\" -DETC=\"/etc/xca\"  -c db_key.cpp -o db_key.o
gcc: /usr/include/db4: linker input file unused because linking not done
gcc: /usr/include/db4.1: linker input file unused because linking not done
gcc: /usr/include/db4.2: linker input file unused because linking not done
cc1plus: /usr/include/db4: No such file or directory
cc1plus: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
distcc[6912] ERROR: compile db_crl.cpp on localhost failed
make[1]: *** [db_crl.o] Error 1
make[1]: *** Waiting for unfinished jobs....
gcc: /usr/include/db4: linker input file unused because linking not done
gcc: /usr/include/db4.1: linker input file unused because linking not done
gcc: /usr/include/db4.2: linker input file unused because linking not done
gcc: /usr/include/db4.2: No such file or directory
gcc: /usr/include/db4: linker input file unused because linking not done
gcc: /usr/include/db4.1: linker input file unused because linking not done
cc1plus: /usr/include/db4: No such file or directory
distcc[6916] ERROR: compile db_key.cpp on 10.10.10.10 failed
make[1]: *** [db_key.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/lib'
make: *** [lib/target.obj] Error 2

The include paths bit add too may paths for poor cc1plus to handle without -I prefixes.

Compiling it without that line at the moment generates:

ld -r -o target.obj  moc_About.o  moc_CertDetail.o  moc_CertExtend.o  moc_CrlDetail.o  moc_ExportCert.o  moc_ExportKey.o  moc_ExportTinyCA.o  moc_Help.o  moc_ImportMulti.o  moc_KeyDetail.o  moc_MainWindow.o  moc_NewKey.o  moc_NewX509.o  moc_PassRead.o  moc_PassWrite.o  moc_ReqDetail.o  moc_TrustState.o  About.o  CertDetail.o  CertExtend.o  CrlDetail.o  ExportCert.o  ExportKey.o  ExportTinyCA.o  Help.o  ImportMulti.o  KeyDetail.o  MainWindow.o  NewKey.o  NewX509.o  PassRead.o  PassWrite.o  ReqDetail.o  TrustState.o
make[1]: Leaving directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/ui'
gcc -L/usr/qt/3/lib  lib/target.obj  widgets/target.obj  view/target.obj  ui/target.obj -lstdc++ -ldb_cxx -lqt -lcrypto -o xca
/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/bin/ld: warning: libstdc++.so.5, needed by /usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../libdb_cxx.so, may conflict with libstdc++.so.6
lib/target.obj(.text+0xcf11): In function `db_base::db_base(DbEnv*, QString, QString, DbTxn*, XcaListView*)':
/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/lib/db_base.cpp:71: undefined reference to `Db::open(char const*, char const*, DBTYPE, unsigned int, int)'
lib/target.obj(.text+0xd1ab): In function `db_base::db_base(DbEnv*, QString, QString, DbTxn*, XcaListView*)':
/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/lib/db_base.cpp:71: undefined reference to `Db::open(char const*, char const*, DBTYPE, unsigned int, int)'
collect2: ld returned 1 exit status
distcc[10419] ERROR: compile (null) on localhost failed
make: *** [xca] Error 1

There are functions to extract the latest db version and you may be able to incorporate this somehow.
Comment 12 fresh corpse 2005-02-23 12:43:35 UTC
Created attachment 51982 [details]
new proposal ...
Comment 13 fresh corpse 2005-02-28 03:53:00 UTC
No one cares about xca? am I the only one interested in that package?
Anyone who wants to test it download it manually:

wget https://corpse.servebeer.com/pub/xca.tar.gz
tar -xzvf xca.tar.gz -C /usr/portage/app-crypt
emerge xca

Please tell me if it works.

THX
fresh corpse
Comment 14 Daniel Black (RETIRED) gentoo-dev 2005-02-28 06:19:18 UTC

gcc -I. -I.. -I/usr/include/db4.1 -I/usr/qt/3/include -pipe -DPREFIX=\"/usr\" -DETC=\"/etc/xca\"  -c clicklabel.cpp -o clicklabel.o
gcc -I. -I.. -I/usr/include/db4.1 -I/usr/qt/3/include -pipe -DPREFIX=\"/usr\" -DETC=\"/etc/xca\"  -c moc_db_x509super.cpp -o moc_db_x509super.o
clicklabel.cpp: In constructor `ClickLabel::ClickLabel(QWidget*, const char*, uint)':
clicklabel.cpp:61: error: no match for call to `(QFont) ()'
make[1]: *** [clicklabel.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/widgets'
make: *** [widgets/target.obj] Error 2
gcc -I. -I.. -I/usr/include/db4.1 -I/usr/qt/3/include -pipe -DPREFIX=\"/usr\" -DETC=\"/etc/xca\"  -c moc_pki_base.cpp -o moc_pki_base.o
make: *** Waiting for unfinished jobs....
ld -r -o target.obj  db_crl.o  db_key.o  db_temp.o  db_x509.o  db_x509req.o  db_x509super.o  pki_base.o  asn1int.o  oid.o  pki_pkcs7.o  x509rev.o  asn1time.opass_info.o  pki_temp.o  x509v3ext.o  db_base.o  pki_x509.o  func.o  pki_crl.o  pki_x509req.o  load_obj.o  pki_key.o  pki_x509super.o  main.o  pki_pkcs12.o  x509name.o  moc_db_crl.o  moc_db_key.o  moc_db_temp.o  moc_db_x509.o  moc_db_x509req.o  moc_db_x509super.o  moc_pki_base.o
make[1]: Leaving directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/lib'

!!! ERROR: app-crypt/xca-0.5.1 failed.
!!! Function src_compile, Line 35, Exitcode 2
!!! emake failed
!!! If you need support, post the topmost build error, NOT this status message.

[ebuild   R   ] sys-libs/db-4.2.52_p2  -bootstrap -doc +java -nocxx +tcltk 0 [ebuild   R   ] x11-libs/qt-3.3.4-r2  +cups -debug -doc -firebird +gif -immqt -immqt-bc +ipv6 +mysql +nas +odbc -opengl +postgres -sqlite +xinerama +zlib 0 [ebuild   R   ] dev-libs/openssl-0.9.7e  -debug -emacs (-uclibc) 0 kB

I am interested. Just having compile troubles and a bit more focus on other bugs sorry. I appreciate your persistence here.
Comment 15 Michael Krelin 2005-02-28 07:18:10 UTC
Being the one who initially submitted ebuild I am interested in xca, but, naturally, I submit an ebuild that works for me and unfortunately had no time to play around with fixes... I am sorry.

I haven't had time to look closely at the 'new proposal' tarball, but for what I gather from the compile error provided, this is the problem with gcc 3.4. I think that the 'new proposal' submitter may wish to incorporate the patch I provided. I have communicated it with the xca author and he said that the line in question was taken from some example and he doesn't mind changing it and even promised to incorporate patch into the next release. Meanwhile I think you can safely use the patch.

Once again, sorry for not having time to look into the problems here...
Comment 16 Daniel Black (RETIRED) gentoo-dev 2005-03-01 02:17:48 UTC
added app-crypt/xca. I'm not sure its 100% working. Can you please check for me? It did segfault for me. in one of the menus.
Comment 17 Michael Krelin 2005-03-01 08:38:34 UTC
Didn't work for me. The fix was simple: I had to add /db4.2 to the configure*patch. Isn't there a better way to detect where db is installed? My initial, somewhat funny idea with using /usr/include/db* which didn't work for more than one db* directory installed could be improved with something like '| tail -n 1' or 'head -n 1' (but which one?:)). But I'm sure gentoo should provide a better way of finding this out.

Alternatively, the configure patch can be extended to look for db more thoroughly. 

(I think reopening the bug is a right thing to do, correct me if I'm wrong).
Comment 18 Michael Krelin 2005-03-01 08:51:29 UTC
Created attachment 52393 [details, diff]
Another attempt on db autodiscovery - the patch.

Here is the patch that extends the /usr/include/db*/ idea a bit further. The
patch is to be used instead of configure-db-4.1.patch (which is limited to the
use of db4.1 as the name suggests).
Comment 19 Michael Krelin 2005-03-01 09:03:47 UTC
Created attachment 52394 [details, diff]
further improved configure-db.patch
Comment 20 Lars Weiler (RETIRED) gentoo-dev 2005-04-15 02:41:28 UTC
Yep, the latest patch in comment #19 fixes the segfault during key-managing.

crypto-herd, please apply that patch.
Comment 21 Daniel Black (RETIRED) gentoo-dev 2005-04-21 06:44:38 UTC
Lars if it works for you please commit it. I'm running out of time a bit (per devaway).
Comment 22 Daniel Black (RETIRED) gentoo-dev 2005-08-14 06:10:10 UTC
fixed see bug #94566