[needs-packaging] xca

Bug #152188 reported by Daniel Mueller
6
Affects Status Importance Assigned to Milestone
Ubuntu
Invalid
Wishlist
Mark Foster

Bug Description

Hello,

XCA is a Graphical certification authority/utility. I've made my first attempts in packaging it. You can find the files here:

http://www.danm.de/files/ubuntu/packages/xca/

 xca_0.6.4-0ubuntu1.dsc
 xca_0.6.4-0ubuntu1.diff.gz
 xca_0.6.4.orig.tar.gz

Could someone check the result and maybe add it to one of Ubuntu's repositories? (this is my first *.deb package)

Thanks,
Daniel Mueller

Revision history for this message
Vincent Legout (vlegout) wrote :

Maybe you can upload your package in revu, see https://wiki.ubuntu.com/MOTU/Packages/REVU.

Revision history for this message
Daniel Mueller (ubuntu-danm) wrote :

Sent package to revu. Waiting for review.

Revision history for this message
Daniel Holbach (dholbach) wrote :

 - You change img/xca.svg in the .diff.gz, do you think you can use a patch system for that? http://wiki.ubuntu.com/PackagingGuide/PatchSystems
 - Can you add (LP: #152188) to the changelog entry? Can you change 'gutsy' to 'hardy'?
 - Can you make use of /usr/share/debhelper/dh_make/licenses/bsd (dh-make package) in debian/copyright?
 - Copyright is "Copyright (C) 2001 - 2007 Christian Hohnstaedt" rather.
 - Can you run dh_icons in debian/rules?
 - Missing Build-Depends: linuxdoc-tools

Revision history for this message
Daniel Holbach (dholbach) wrote :
Revision history for this message
Daniel Mueller (ubuntu-danm) wrote :

A new version has been uploaded. Why shall I use an xpm image for the debian/menu icon? I thought SVG is 'state-of-the-art' - many programs using it right now.

What means "4) FTBFS on hardy/amd64"?

Revision history for this message
Daniel Holbach (dholbach) wrote :

SVG is fine. It's just that it's in the .diff.gz - I personally would have used a patch for it - http://wiki.ubuntu.com/PackagingGuide/PatchSystems

Fails to build on Hardy/AMD64:

cc -I. -I.. -I/tmp/buildd/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -g -O2 -c x509rev.cpp -o x509rev.o
x509rev.cpp: In constructor 'x509rev::x509rev(const X509_REVOKED*)':
x509rev.cpp:28: error: invalid conversion from 'void*' to 'char*'
x509rev.cpp:28: error: initializing argument 3 of 'void* ASN1_dup(int (*)(void*, unsigned char**), void* (*)(void**, const unsigned char**, long int), char*)'
x509rev.cpp: In member function 'x509rev& x509rev::set(const X509_REVOKED*)':
x509rev.cpp:46: error: invalid conversion from 'void*' to 'char*'
x509rev.cpp:46: error: initializing argument 3 of 'void* ASN1_dup(int (*)(void*, unsigned char**), void* (*)(void**, const unsigned char**, long int), char*)'
x509rev.cpp: In member function 'X509_REVOKED* x509rev::get() const':
x509rev.cpp:90: error: invalid conversion from 'void*' to 'char*'
x509rev.cpp:90: error: initializing argument 3 of 'void* ASN1_dup(int (*)(void*, unsigned char**), void* (*)(void**, const unsigned char**, long int), char*)'
make[2]: *** [x509rev.o] Error 1
make[2]: Leaving directory `/tmp/buildd/xca-0.6.4/lib'

The problem is that void* on amd64 is 64 bit long, char* is not.

Revision history for this message
Daniel Mueller (ubuntu-danm) wrote :

I'm working on a corrected version (got a lot of comments from Emmet Hikory[1]). Unfortunately the build works well on Gutsy/x86_64.

$ uname -a
Linux torax 2.6.22-14-generic #1 SMP Tue Dec 18 05:28:27 UTC 2007 x86_64 GNU/Linux

I have to install Hardy first to find out what's wrong.

[1] http://revu.tauware.de/details.py?package=xca

Revision history for this message
Daniel Mueller (ubuntu-danm) wrote :

Got no further answers from REVU (it has been deleted actually). It seems to be too difficult to create an Ubuntu package. However, I will update the package on my personal website: http://www.danm.de/files/ubuntu/packages/xca/

Revision history for this message
Mark Foster (fostermarkd) wrote :

I'm trying to pick this up where D. Mueller left off. xca-0.6.4-1 has been uploaded to REVU.

http://revu.ubuntuwire.com/details.py?package=xca

Revision history for this message
Mark Foster (fostermarkd) wrote :

What is taking so long on the REVU process for this package.

Revision history for this message
Travis H. (travis+w-launchpad-net) wrote :

Hello,

I was starting on making the same package. I contacted the author about the hardy x86_64 bug - I run that - and he said that the code was kind of old with respect to the latest OpenSSL version. Here is a patch that works (also attached):

diff --git a/lib/x509rev.cpp b/lib/x509rev.cpp
index 3af4b44..aa60dee 100644
--- a/lib/x509rev.cpp
+++ b/lib/x509rev.cpp
@@ -7,16 +7,23 @@

 #include "x509rev.h"

-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
-#define X509_REVOKED_dup(x5r) \
- ASN1_dup_of (X509_REVOKED, i2d_X509_REVOKED, d2i_X509_REVOKED, x5r)

-#else
-#define X509_REVOKED_dup(x5r) (X509_REVOKED *)ASN1_dup( \
- (int (*)(...))i2d_X509_REVOKED, \
- (char *(*)(...))d2i_X509_REVOKED, \
- (char *)x5r)
-#endif
+static X509_REVOKED *X509_REVOKED_dup(const X509_REVOKED *n)
+{
+ int len;
+ X509_REVOKED *ret;
+ unsigned char *buf, *p;
+ const unsigned char *cp;
+
+ len = i2d_X509_REVOKED((X509_REVOKED *)n, NULL);
+ buf = (unsigned char *)OPENSSL_malloc(len);
+ p = buf;
+ i2d_X509_REVOKED((X509_REVOKED *)n, &p);
+ cp = buf;
+ ret = d2i_X509_REVOKED(NULL, &cp, len);
+ OPENSSL_free(buf);
+ return(ret);
+}

 x509rev::x509rev()
 {
@@ -25,7 +32,7 @@ x509rev::x509rev()

 x509rev::x509rev(const X509_REVOKED *n)
 {
- rev = X509_REVOKED_dup((X509_REVOKED *)n);
+ rev = X509_REVOKED_dup(n);
 }

 x509rev::x509rev(const x509rev &n)
@@ -43,7 +50,7 @@ x509rev &x509rev::set(const X509_REVOKED *n)
 {
        if (rev != NULL)
                X509_REVOKED_free(rev);
- rev = X509_REVOKED_dup((X509_REVOKED *)n);
+ rev = X509_REVOKED_dup(n);
        return *this;
 }

Revision history for this message
Mark Foster (fostermarkd) wrote :

This is now included in upstream debian. Not sure how to get it included in ubuntu (Lucid) or is that automatic?

Revision history for this message
Mark Foster (fostermarkd) wrote :
Changed in ubuntu:
status: In Progress → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.