You are not logged in.

#1 2009-02-01 19:37:20

Xappe
Member
Registered: 2008-05-17
Posts: 105

Trying to get Nexus Personal to work on Arch

Hi

I'm trying to get a program for online banking, Nexus Personal, to work in Arch (almost all Swedish banks use this program). The linux client is recently released and is developed for Ubuntu 8.04.

https://install.bankid.com/

The first obstacle is to get hold of libcurl-gnutls.so.4 which seems not to be included in arch repos.

Does anyone have a clue how to gett his dependency? I tried to rebuild curl with gnutls support, but I did not see libcurl-gnutls* in the resulting package...


vanum est vobis ante lucem surgere

Offline

#2 2009-02-01 20:02:46

xaiviax
Member
From: Michigan
Registered: 2008-11-04
Posts: 282

Re: Trying to get Nexus Personal to work on Arch

Debian's libcurl3 package contains libcurl-gnutls.so.4, arch has libcurl3 in aur.

Offline

#3 2009-02-01 20:03:03

Cheesebaron
Member
From: Denmark
Registered: 2008-10-31
Posts: 65
Website

Re: Trying to get Nexus Personal to work on Arch

Yes this requires libcurl to be built with GnuTLS. You can grab the PKGBUILD from ABS and rebuild it yourself with GnuTLS enabled.

I guess you just have to add --with-gnutls and remember to install GnuTLS beforehand.

Offline

#4 2009-02-01 20:13:15

Procyon
Member
Registered: 2008-05-07
Posts: 1,819

Re: Trying to get Nexus Personal to work on Arch

Presuming it's built-in (it doesn't look like you have to specifically enable it), try

sudo ln -s /usr/lib/libcurl.so.4.1.1 /usr/lib/libcurl-gnutls.so.4

Edit: OK, curl in [extra] obviously has no gnutls dependency, so the above definitely won't work.
As above I tried to compile an older version, but didn't see a libcurl-gnutls. Maybe it needs some more advanced options after ./configure, or maybe you can just symlink libcurl.so built with --with-gnutls.

Last edited by Procyon (2009-02-01 20:30:16)

Offline

#5 2009-02-01 21:05:14

Xappe
Member
Registered: 2008-05-17
Posts: 105

Re: Trying to get Nexus Personal to work on Arch

Thanks for the quick answers!

I made a PKGBUILD based on the ABS one and rebuilt curl with gnutls support and symlinked libcurl-gnutls.so.4:

PKGBUILD

pkgname=curl-gnutls
pkgver=7.19.3
pkgrel=1
pkgdesc="An URL retrival utility and library"
arch=('i686' 'x86_64')
url="http://curl.haxx.se"
license=('MIT')
provides=('curl=7.9.13')
conflicts=('curl')
depends=('zlib' 'bash' 'gnutls')
options=('!libtool')
install=${pkgname}.install
source=(http://curl.haxx.se/download/curl-${pkgver}.tar.bz2)
md5sums=('10eb8c13350c735eff20d7b4530be8cd')
sha1sums=('c2ee72537d422bac1b10d8bfaa0401c12a3b2407')

build() {
  cd ${srcdir}/curl-${pkgver}
  ./configure --prefix=/usr --without-ssl --with-gnutls=/usr --without-libidn --disable-ldap \
  || return 1
  make || return 1
  make DESTDIR=${pkgdir} install || return 1
  install -D -m644 COPYING ${pkgdir}/usr/share/licenses/curl/COPYING || return 1
}

curl-gnutls.install

## arg 1:  the new package version
 post_install() {
   ln -s /usr/lib/libcurl.so.4 /usr/lib/libcurl-gnutls.so.4
 }
## arg 1:  the old package version
 post_remove() {
   rm /usr/lib/libcurl-gnutls.so.4
 }

Now it complains about not finding libai.so, and I can't figure out which package provides this library...

edit: typos

Last edited by Xappe (2009-02-01 21:10:17)


vanum est vobis ante lucem surgere

Offline

#6 2009-02-01 21:23:11

Xappe
Member
Registered: 2008-05-17
Posts: 105

Re: Trying to get Nexus Personal to work on Arch

Ok, the libai.so was only a ldconfig away (I didn't realize that it installed to /usr/local/lib). So that one is fixed.

Now it's complaining about not finding libgssapi_krb5.so.2

Edit1: do you think symlinking to the libs provided by the heimdal package will do?

Edit2: So far symlinking to libgssapi.so seems to work. I can run the program now, and the testpage at bankid.com seems to accept the install.

Now I'm a bit worried about the curl package I built above. Some packages seem to miss their deps now, did I miss something in the PKBUILD?

Last edited by Xappe (2009-02-01 22:12:31)


vanum est vobis ante lucem surgere

Offline

#7 2009-02-01 22:29:25

Procyon
Member
Registered: 2008-05-07
Posts: 1,819

Re: Trying to get Nexus Personal to work on Arch

Xappe wrote:

Now I'm a bit worried about the curl package I built above. Some packages seem to miss their deps now, did I miss something in the PKBUILD?

Since you only want that library, I suggest instead of symlinking just renaming and then reinstalling curl4.

Offline

#8 2009-02-01 23:44:23

Xappe
Member
Registered: 2008-05-17
Posts: 105

Re: Trying to get Nexus Personal to work on Arch

Procyon wrote:
Xappe wrote:

Now I'm a bit worried about the curl package I built above. Some packages seem to miss their deps now, did I miss something in the PKBUILD?

Since you only want that library, I suggest instead of symlinking just renaming and then reinstalling curl4.

Ok, thank you! I made a new PKGBUILD resulting in only the libcurl-gnutls.so.4-file and reinstalled curl. Now everything seems to work as it should...I have yet to import a certificate and test the functionality...


vanum est vobis ante lucem surgere

Offline

#9 2009-02-02 01:23:25

Xappe
Member
Registered: 2008-05-17
Posts: 105

Re: Trying to get Nexus Personal to work on Arch

Still have some issues. Though the program runs, it complains:

/usr/local/lib/personal/personal.bin: /usr/lib/libcurl-gnutls.so.4: no version information available (required by /usr/local/lib/libai.so)

Tried to import a token from my Nordea account, but it does not import anything and exits with an error. I don't know if it's related to the above or if it is something else.

In the configfile there is a setting called [ProtectedStore] with a path:

Path=PROTECTED_STORE_PATH

I don't know if I need to do something about that path.

Gah, why couldn't they release a distro independent program! sad


vanum est vobis ante lucem surgere

Offline

#10 2009-02-02 02:13:23

pelle.k
Member
From: Åre, Sweden (EU)
Registered: 2006-04-30
Posts: 667

Re: Trying to get Nexus Personal to work on Arch

Hey Xappe! I'm running intrepid, and it's working very well for me. Maybe i can help you out...
These are the arguments it's configured with in ubuntu

--disable-dependency-tracking --enable-ipv6 --enable-ldaps --enable-manual --enable-versioned-symbols  --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt --without-ssl --with-gnutls --without-libssh2

So might i suggest --enable-versioned-symbols ?


"Your beliefs can be like fences that surround you.
You must first see them or you will not even realize that you are not free, simply because you will not see beyond the fences.
They will represent the boundaries of your experience."

SETH / Jane Roberts

Offline

#11 2009-02-02 03:38:05

Xappe
Member
Registered: 2008-05-17
Posts: 105

Re: Trying to get Nexus Personal to work on Arch

pelle.k wrote:

So might i suggest --enable-versioned-symbols ?

Thanks!

But it didn't work (tried several of the ubuntu options). The programs (both personal and persadm) works but refuse to import tokens (both complains about the version information).

I tried it on my gf's computer (with Intrepid) and there it is ok.


vanum est vobis ante lucem surgere

Offline

#12 2009-02-02 03:54:30

Bebo
Member
From: Göteborg, Sweden
Registered: 2006-06-07
Posts: 207

Re: Trying to get Nexus Personal to work on Arch

Here is my PKGBUILD that I whipped together a few days ago. Probably ugly as hell, but it works:

pkgname=nexuspersonal
pkgver=4.10.0.21
pkgrel=5
pkgdesc="BankID program for Linux"
url="www.bankid.com"
arch=('i686')
source=('https://install.bankid.com/InstallFiles/LinuxPersonal.tgz')
md5sums=('9b7fadd137351e39a44537b5a1dc31f5')
depends=('heimdal' 'curl' 'libsm' 'gtk2' 'bash')

build() {
    cd $startdir/src/personal-$pkgver 

    install -d $startdir/pkg/usr/local/lib/personal
    install -d $startdir/pkg/usr/local/lib/personal/config
    install -d $startdir/pkg/usr/local/lib/personal/icons
    install -d $startdir/pkg/usr/local/lib/personal/lang
    install -d $startdir/pkg/usr/local/lib/personal/lang/sv_SE
    install -d $startdir/pkg/usr/share/applications
    install -d $startdir/pkg/usr/lib/mozilla/plugins
    install -d $startdir/pkg/usr/local/bin

    install -m 644 \
        res.zip \
        Nexus_Personal_Help_EN_US.htm \
        PersonalUbuntu_ReadMe_EN_US.txt \
        Nexus_Personal_Help_SE.htm \
        PersonalUbuntu_ReadMe_SE.txt \
        $startdir/pkg/usr/local/lib/personal

    install -m 755 \
        libai.so \
        libP11.so \
        libplugins.so \
        libtokenapi.so \
        libCardSiemens.so \
        libCardSetec.so \
        libCardPrisma.so \
        personal.bin \
        personal.sh \
        persadm \
        persadm.sh \
        install.$pkgver.sh \
        libBranding.so \
        $startdir/pkg/usr/local/lib/personal

    install -m 644 Personal.cfg $startdir/pkg/usr/local/lib/personal/config
    install -m 644 nexus_logo_32x32.png $startdir/pkg/usr/local/lib/personal/icons
    install -m 644 personal.mo $startdir/pkg/usr/local/lib/personal/lang/sv_SE
    install -m 644 personal.desktop $startdir/pkg/usr/share/applications

    ln -s /usr/local/lib/personal/libai.so $startdir/pkg/usr/local/lib/libai.so
    ln -s /usr/local/lib/personal/libtokenapi.so $startdir/pkg/usr/local/lib/libtokenapi.so
    ln -s /usr/local/lib/personal/personal.sh $startdir/pkg/usr/local/bin/personal
    ln -s /usr/local/lib/personal/persadm.sh $startdir/pkg/usr/local/bin/persadm.sh
    ln -s /usr/local/lib/personal/libplugins.so $startdir/pkg/usr/lib/mozilla/plugins/libplugins.so

    ln -s /usr/lib/libgssapi.so $startdir/pkg/usr/lib/libgssapi_krb5.so.2
    ln -s /usr/lib/libcurl.so $startdir/pkg/usr/lib/libcurl-gnutls.so.4
}

Dependency credits to namcap, except for heimdal; it is probably not necessary as gtk2 requires it, but, oh, well, I had some strange thought that "what if gtk2 won't depend on heimdal in the future, bla bla"...

The PKGBUILD is basically a copy of the install script in LinuxPersonal.tgz, but adapted to Arch. For instance they put the libplugins.so in the "wrong" folder. Also, I let it be in /usr/local as they do it, since I didn't feel like writing a bunch of patches or sed lines to replace /usr/local/ with /usr and such.

The libcurl-gnutls and libgssapi_krb5 problems were easily bypassed with some symlinking smile I also got the version information issue described above, but it seems it works anyway...

Last edited by Bebo (2009-02-02 04:08:29)

Offline

#13 2009-02-02 11:32:20

Xappe
Member
Registered: 2008-05-17
Posts: 105

Re: Trying to get Nexus Personal to work on Arch

Thanks, i'll try this out asap. smile

Edit: I still can't import tokens. Bebo, have you tried it? (persadm.sh import, it errors out after the pin has been entered)

Last edited by Xappe (2009-02-02 11:38:50)


vanum est vobis ante lucem surgere

Offline

#14 2009-02-02 13:35:14

Bebo
Member
From: Göteborg, Sweden
Registered: 2006-06-07
Posts: 207

Re: Trying to get Nexus Personal to work on Arch

Token as in certificate or "bankid"? (Sorry, don't know the lingo.) Guess I didn't try that. I created a new one, and then tried to authenticate and sign with it and that went fine. Haven't tried any export or imports before, but I just tried to export to an ordinary folder in my home directory and that failed. Don't know what it means though.

Offline

#15 2009-02-03 05:44:25

pelle.k
Member
From: Åre, Sweden (EU)
Registered: 2006-04-30
Posts: 667

Re: Trying to get Nexus Personal to work on Arch

Bebo:
/usr/local/lib  is not in ld.so.conf so you need to either add that or adjust the path.
/usr/local/bin is not in the $PATH, so you need to add that to the $PATH or adjust that path as well.
You should run ldconfig after installing as well.
Other than that your PKGBUILD works. It looks a bit messy though, but you already said it was quick and dirty big_smile

Xappe:
It still throws an error (/usr/local/lib/personal/personal.bin: /usr/lib/libcurl-gnutls.so.4: no version information available (required by /usr/local/lib/libai.so)), however, i can still import my certificate.
But you cant give the certificate as an argumet, but run "persadm import" then give the _full_ path to the certificate. (had to do it twice for some strange reason).
Dont forget to add "libP11.so" as a security module (preference->advanced->security devices->load) in firefox (and restart it of course) , before you try to login.

Works great btw (on arch too).

Last edited by pelle.k (2009-02-03 05:47:46)


"Your beliefs can be like fences that surround you.
You must first see them or you will not even realize that you are not free, simply because you will not see beyond the fences.
They will represent the boundaries of your experience."

SETH / Jane Roberts

Offline

#16 2009-02-03 07:49:09

Bebo
Member
From: Göteborg, Sweden
Registered: 2006-06-07
Posts: 207

Re: Trying to get Nexus Personal to work on Arch

pelle.k wrote:

Bebo:
/usr/local/lib  is not in ld.so.conf so you need to either add that or adjust the path.
/usr/local/bin is not in the $PATH, so you need to add that to the $PATH or adjust that path as well.
You should run ldconfig after installing as well.
Other than that your PKGBUILD works. It looks a bit messy though, but you already said it was quick and dirty big_smile

They're in my /etc/ld.so.conf and in my $PATH... j/k smile Yes, good points - anyone using the PKGBUILD please have that in mind. I didn't want to change any paths in their bunch of scripts (too much to change, their install script is not so particularly compliant with anything...), and I was afraid that they had hardcoded paths in their libs and binaries (looking at the scripts who know what they are capable of...)).

Offline

#17 2009-02-06 15:04:42

patogen
Member
Registered: 2008-05-11
Posts: 86

Re: Trying to get Nexus Personal to work on Arch

I'm trying your PKGBUILD with x86_64, seems to work fine, except for this error:

/usr/local/lib/personal/personal.bin: error while loading shared libraries: libgtk-x11-2.0.so.0: wrong ELF class: ELFCLASS64

And this is after adding:
/usr/local/lib

in /etc/ld.so.conf

Any thoughts?


We met up with the aliens and guess what? They have no word for fluffy!

Offline

#18 2009-02-06 20:50:46

Xappe
Member
Registered: 2008-05-17
Posts: 105

Re: Trying to get Nexus Personal to work on Arch

patogen wrote:

I'm trying your PKGBUILD with x86_64, seems to work fine, except for this error:

/usr/local/lib/personal/personal.bin: error while loading shared libraries: libgtk-x11-2.0.so.0: wrong ELF class: ELFCLASS64

And this is after adding:
/usr/local/lib

in /etc/ld.so.conf

Any thoughts?

Nexus personal is 32-bit only.


vanum est vobis ante lucem surgere

Offline

#19 2009-02-07 08:02:58

patogen
Member
Registered: 2008-05-11
Posts: 86

Re: Trying to get Nexus Personal to work on Arch

Xappe wrote:

Nexus personal is 32-bit only.

I know, but I thought you might be able to run it anyway ... I don't understand why they make it for a specific distro (Ubuntu) and only 32-bit, I'm no programmer, but it can't be _that_ hard to create something that is distro independent and runs on other than 32-bit.


We met up with the aliens and guess what? They have no word for fluffy!

Offline

#20 2009-02-08 22:22:47

Maos
Member
Registered: 2006-11-09
Posts: 46

Re: Trying to get Nexus Personal to work on Arch

I tried to get it running on x86_64 as a bibn32/lib32 package-thing without success.

First I did the curl-gnutls as above in a i686 arch VM (as even thouh it seems possible according to some wiki pages to do a 32-bit package in x86_64 this was the simpler solution as I had the i686 VM already).

The tried to make a x86_64 package using this PKGBUILD:

pkgname=lib32-curl-gnutls
pkgver=7.19.3
pkgrel=1
pkgdesc="An URL retrival utility and library"
arch=('x86_64')
url="http://curl.haxx.se"
license=('MIT')
provides=('lib32-curl=7.9.13')
conflicts=('lib32-curl')
#depends=('zlib' 'bash' 'gnutls')
options=('!libtool')
install=${pkgname}.install
source=(curl-gnutls-7.19.3-1-i686.pkg.tar.gz)

build() {
  mkdir -p $startdir/pkg/opt/lib32/usr/lib/
  cp -R $startdir/src/usr/lib/*.so* $startdir/pkg/opt/lib32/usr/lib
}

lib32-curl-gnutls.install:

## arg 1:  the new package version
 post_install() {
   ln -s /opt/lib32/usr/lib/libcurl.so.4 /opt/lib32/usr/lib/libcurl-gnutls.so.4
 }
## arg 1:  the old package version
 post_remove() {
   rm /opt/lib32/usr/lib/libcurl-gnutls.so.4
 }

And for nexus personal itself:

pkgname=bin32-nexuspersonal
pkgver=4.10.0.21
pkgrel=5
pkgdesc="BankID program for Linux"
url="www.bankid.com"
arch=('x86_64')
source=('https://install.bankid.com/InstallFiles/LinuxPersonal.tgz')
md5sums=('9b7fadd137351e39a44537b5a1dc31f5')
depends=('heimdal' 'lib32-curl-gnutls' 'libsm' 'bash' 'lib32-gtk2')

build() {
    cd $startdir/src/personal-$pkgver 

    install -d $startdir/pkg/opt/lib32/usr/local/lib/personal
    install -d $startdir/pkg/opt/lib32/usr/local/lib/personal/config
    install -d $startdir/pkg/opt/lib32/usr/local/lib/personal/icons
    install -d $startdir/pkg/opt/lib32/usr/local/lib/personal/lang
    install -d $startdir/pkg/opt/lib32/usr/local/lib/personal/lang/sv_SE
    install -d $startdir/pkg/opt/lib32/usr/share/applications
    install -d $startdir/pkg/usr/lib/mozilla/plugins
    install -d $startdir/pkg/usr/local/bin

    install -d $startdir/pkg/opt/lib32/usr/lib/

    install -m 644 \
        res.zip \
        Nexus_Personal_Help_EN_US.htm \
        PersonalUbuntu_ReadMe_EN_US.txt \
        Nexus_Personal_Help_SE.htm \
        PersonalUbuntu_ReadMe_SE.txt \
        $startdir/pkg/opt/lib32/usr/local/lib/personal

    install -m 755 \
        libai.so \
        libP11.so \
        libplugins.so \
        libtokenapi.so \
        libCardSiemens.so \
        libCardSetec.so \
        libCardPrisma.so \
        personal.bin \
        personal.sh \
        persadm \
        persadm.sh \
        install.$pkgver.sh \
        libBranding.so \
        $startdir/pkg/opt/lib32/usr/local/lib/personal

    install -m 644 Personal.cfg $startdir/pkg/opt/lib32/usr/local/lib/personal/config
    install -m 644 nexus_logo_32x32.png $startdir/pkg/opt/lib32/usr/local/lib/personal/icons
    install -m 644 personal.mo $startdir/pkg/opt/lib32/usr/local/lib/personal/lang/sv_SE
    install -m 644 personal.desktop $startdir/pkg/opt/lib32/usr/share/applications

    ln -s /opt/lib32/usr/local/lib/personal/libai.so $startdir/pkg/opt/lib32/usr/local/lib/libai.so
    ln -s /opt/lib32/usr/local/lib/personal/libtokenapi.so $startdir/pkg/opt/lib32/usr/local/lib/libtokenapi.so
    ln -s /opt/lib32/usr/local/lib/personal/personal.sh $startdir/pkg/usr/local/bin/personal
    ln -s /opt/lib32/usr/local/lib/personal/persadm.sh $startdir/pkg/usr/local/bin/persadm.sh
    ln -s /opt/lib32/usr/local/lib/personal/libplugins.so $startdir/pkg/usr/lib/mozilla/plugins/libplugins.so

    ln -s /opt/lib32/usr/lib/libgssapi.so $startdir/pkg/opt/lib32/usr/lib/libgssapi_krb5.so.2
#    ln -s /opt/lib32/usr/lib/libcurl.so $startdir/pkg/opt/lib32/usr/lib/libcurl-gnutls.so.4
}

However this didn't help, and I still couldn't start it.

Haven't had time to look so much more into it.

Offline

#21 2009-04-02 09:31:00

nahoj
Member
Registered: 2004-11-05
Posts: 30

Re: Trying to get Nexus Personal to work on Arch

Bebo, your PKGBUILD works perfectly!

Firefox, KDE  and 2.6.28-ARCH

Now I can identify myself to Skatteverket without problems again.

Thanks a lot!

Last edited by nahoj (2009-04-02 09:32:50)


Computers never saves time - but they help you produce more in the same timespan...

Offline

#22 2009-05-24 22:17:13

Maos
Member
Registered: 2006-11-09
Posts: 46

Re: Trying to get Nexus Personal to work on Arch

I've got this to work on Arch 64!

I appologize for a long post and spelling.

I take no responsibility for what happens if you try to install this on you machine.

One limitition that I don't know if it is because of the Arch64 stuff or something experienced by 32 bit users as well:
I must manually open the program before doing anything on internet that requries communicating with the program.

First I created a a 32 bit package for curl that also patches the name in a lot of files, but not all as it is primarily used to create a base for a "lib32"-package.
I looked quite a bit on the debian patch tracker or what it is called to do this (http://patch-tracking.debian.net/package/curl/7.19.4-1).

I called this patch file "curl-gnutls.patch"

diff -uNPr curl.orig/Makefile.am curl/Makefile.am
--- curl.orig/Makefile.am    2009-02-23 19:47:30.000000000 +0100
+++ curl/Makefile.am    2009-05-11 23:14:05.408484348 +0200
@@ -25,17 +25,17 @@
 
 ACLOCAL_AMFLAGS = -I m4
 
-EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \
+EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-gnutls-config.in \
  curl-style.el sample.emacs RELEASE-NOTES buildconf buildconf.bat      \
- libcurl.pc.in vc6curl.dsw MacOSX-Framework
+ libcurl-gnutls.pc.in vc6curl.dsw MacOSX-Framework
 
-bin_SCRIPTS = curl-config
+bin_SCRIPTS = curl-gnutls-config
 
 SUBDIRS = lib src
 DIST_SUBDIRS = $(SUBDIRS) tests include packages docs
 
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libcurl.pc
+pkgconfig_DATA = libcurl-gnutls.pc
 
 dist-hook:
     rm -rf $(top_builddir)/tests/log
diff -uNPr curl.orig/Makefile.in curl/Makefile.in
--- curl.orig/Makefile.in    2009-03-03 00:07:14.000000000 +0100
+++ curl/Makefile.in    2009-05-11 23:14:05.458490315 +0200
@@ -61,8 +61,8 @@
 build_triplet = @build@
 host_triplet = @host@
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-    $(srcdir)/Makefile.in $(srcdir)/curl-config.in \
-    $(srcdir)/libcurl.pc.in $(top_srcdir)/configure COPYING \
+    $(srcdir)/Makefile.in $(srcdir)/curl-gnutls-config.in \
+    $(srcdir)/libcurl-gnutls.pc.in $(top_srcdir)/configure COPYING \
     ChangeLog compile config.guess config.sub depcomp install-sh \
     ltmain.sh missing mkinstalldirs
 subdir = .
@@ -84,7 +84,7 @@
 CONFIG_HEADER = $(top_builddir)/lib/config.h \
     $(top_builddir)/src/config.h \
     $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES = curl-config libcurl.pc
+CONFIG_CLEAN_FILES = curl-gnutls-config libcurl-gnutls.pc
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
 binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 SCRIPTS = $(bin_SCRIPTS)
@@ -281,15 +281,15 @@
 target_alias = @target_alias@
 AUTOMAKE_OPTIONS = foreign
 ACLOCAL_AMFLAGS = -I m4
-EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \
+EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-gnutls-config.in \
  curl-style.el sample.emacs RELEASE-NOTES buildconf buildconf.bat      \
- libcurl.pc.in vc6curl.dsw MacOSX-Framework
+ libcurl-gnutls.pc.in vc6curl.dsw MacOSX-Framework
 
-bin_SCRIPTS = curl-config
+bin_SCRIPTS = curl-gnutls-config
 SUBDIRS = lib src
 DIST_SUBDIRS = $(SUBDIRS) tests include packages docs
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libcurl.pc
+pkgconfig_DATA = libcurl-gnutls.pc
 all: all-recursive
 
 .SUFFIXES:
@@ -326,9 +326,9 @@
     cd $(srcdir) && $(AUTOCONF)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
     cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-curl-config: $(top_builddir)/config.status $(srcdir)/curl-config.in
+curl-gnutls-config: $(top_builddir)/config.status $(srcdir)/curl-gnutls-config.in
     cd $(top_builddir) && $(SHELL) ./config.status $@
-libcurl.pc: $(top_builddir)/config.status $(srcdir)/libcurl.pc.in
+libcurl-gnutls.pc: $(top_builddir)/config.status $(srcdir)/libcurl-gnutls.pc.in
     cd $(top_builddir) && $(SHELL) ./config.status $@
 install-binSCRIPTS: $(bin_SCRIPTS)
     @$(NORMAL_INSTALL)
diff -uNPr curl.orig/buildconf curl/buildconf
--- curl.orig/buildconf    2009-02-13 15:25:15.000000000 +0100
+++ curl/buildconf    2009-05-11 23:14:05.708483294 +0200
@@ -269,7 +269,7 @@
     config.status \
     config.sub \
     configure \
-    curl-config \
+    curl-gnutls-config \
     curlbuild.h \
     depcomp \
     libcares.pc \
diff -uNPr curl.orig/configure curl/configure
--- curl.orig/configure    2009-02-13 15:25:53.000000000 +0100
+++ curl/configure    2009-05-11 23:14:05.781818860 +0200
@@ -46892,7 +46892,7 @@
 squeeze LIBCURL_LIBS
 squeeze TEST_SERVER_LIBS
 
-ac_config_files="$ac_config_files Makefile docs/Makefile docs/examples/Makefile docs/libcurl/Makefile include/Makefile include/curl/Makefile src/Makefile lib/Makefile tests/Makefile tests/data/Makefile tests/server/Makefile tests/libtest/Makefile packages/Makefile packages/Win32/Makefile packages/Win32/cygwin/Makefile packages/Linux/Makefile packages/Linux/RPM/Makefile packages/Linux/RPM/curl.spec packages/Linux/RPM/curl-ssl.spec packages/Solaris/Makefile packages/DOS/Makefile packages/EPM/curl.list packages/EPM/Makefile packages/vms/Makefile packages/AIX/Makefile packages/AIX/RPM/Makefile packages/AIX/RPM/curl.spec curl-config libcurl.pc"
+ac_config_files="$ac_config_files Makefile docs/Makefile docs/examples/Makefile docs/libcurl/Makefile include/Makefile include/curl/Makefile src/Makefile lib/Makefile tests/Makefile tests/data/Makefile tests/server/Makefile tests/libtest/Makefile packages/Makefile packages/Win32/Makefile packages/Win32/cygwin/Makefile packages/Linux/Makefile packages/Linux/RPM/Makefile packages/Linux/RPM/curl.spec packages/Linux/RPM/curl-ssl.spec packages/Solaris/Makefile packages/DOS/Makefile packages/EPM/curl.list packages/EPM/Makefile packages/vms/Makefile packages/AIX/Makefile packages/AIX/RPM/Makefile packages/AIX/RPM/curl.spec curl-gnutls-config libcurl-gnutls.pc"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -47809,8 +47809,8 @@
     "packages/AIX/Makefile") CONFIG_FILES="$CONFIG_FILES packages/AIX/Makefile" ;;
     "packages/AIX/RPM/Makefile") CONFIG_FILES="$CONFIG_FILES packages/AIX/RPM/Makefile" ;;
     "packages/AIX/RPM/curl.spec") CONFIG_FILES="$CONFIG_FILES packages/AIX/RPM/curl.spec" ;;
-    "curl-config") CONFIG_FILES="$CONFIG_FILES curl-config" ;;
-    "libcurl.pc") CONFIG_FILES="$CONFIG_FILES libcurl.pc" ;;
+    "curl-gnutls-config") CONFIG_FILES="$CONFIG_FILES curl-gnutls-config" ;;
+    "libcurl-gnutls.pc") CONFIG_FILES="$CONFIG_FILES libcurl-gnutls.pc" ;;
 
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
diff -uNPr curl.orig/configure.ac curl/configure.ac
--- curl.orig/configure.ac    2009-02-13 15:25:15.000000000 +0100
+++ curl/configure.ac    2009-05-11 23:14:05.821829180 +0200
@@ -95,7 +95,7 @@
 AC_MSG_RESULT($VERSION)
 
 dnl
-dnl we extract the numerical version for curl-config only
+dnl we extract the numerical version for curl-gnutls-config only
 VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curlver.h`
 AC_SUBST(VERSIONNUM)
 
@@ -2210,7 +2210,7 @@
        fi
 
        AC_DEFINE(USE_ARES, 1, [Define if you want to enable c-ares support])
-       dnl substitute HAVE_ARES for curl-config and similar
+       dnl substitute HAVE_ARES for curl-gnutls-config and similar
        HAVE_ARES="1"
        AC_SUBST(HAVE_ARES)
        curl_ares_msg="enabled"
@@ -2443,7 +2443,7 @@
 
 dnl
 dnl For keeping supported features and protocols also in pkg-config file
-dnl since it is more cross-compile frient than curl-config
+dnl since it is more cross-compile frient than curl-gnutls-config
 dnl
 
 if test "x$USE_SSLEAY" = "x1"; then
@@ -2552,8 +2552,8 @@
            packages/AIX/Makefile \
            packages/AIX/RPM/Makefile \
            packages/AIX/RPM/curl.spec \
-           curl-config \
-           libcurl.pc
+           curl-gnutls-config \
+           libcurl-gnutls.pc
 ])
 AC_OUTPUT
 
diff -uNPr curl.orig/curl-config.in curl/curl-config.in
--- curl.orig/curl-config.in    2008-09-03 22:58:29.000000000 +0200
+++ curl/curl-config.in    1970-01-01 01:00:00.000000000 +0100
@@ -1,160 +0,0 @@
-#! /bin/sh
-#***************************************************************************
-#                                  _   _ ____  _
-#  Project                     ___| | | |  _ \| |
-#                             / __| | | | |_) | |
-#                            | (__| |_| |  _ <| |___
-#                             \___|\___/|_| \_\_____|
-#
-# Copyright (C) 2001 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at http://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-# $Id: curl-config.in,v 1.35 2008-09-03 19:10:48 danf Exp $
-###########################################################################
-#
-# The idea to this kind of setup info script was stolen from numerous
-# other packages, such as neon, libxml and gnome.
-#
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-includedir=@includedir@
-
-usage()
-{
-    cat <<EOF
-Usage: curl-config [OPTION]
-
-Available values for OPTION include:
-
-  --ca        ca bundle install path
-  --cc        compiler
-  --cflags    pre-processor and compiler flags
-  --checkfor [version] check for (lib)curl of the specified version
-  --features  newline separated list of enabled features
-  --help      display this help and exit
-  --libs      library linking information
-  --prefix    curl install prefix
-  --protocols newline separated list of enabled protocols
-  --static-libs static libcurl library linking information
-  --version   output version information
-  --vernum    output the version information as a number (hexadecimal)
-EOF
-
-    exit $1
-}
-
-if test $# -eq 0; then
-    usage 1
-fi
-
-while test $# -gt 0; do
-    case "$1" in
-    # this deals with options in the style
-    # --option=value and extracts the value part
-    # [not currently used]
-    -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-    *) value= ;;
-    esac
-
-    case "$1" in
-    --ca)
-    echo "@CURL_CA_BUNDLE@"
-    ;;
-
-    --cc)
-    echo "@CC@"
-    ;;
-
-    --prefix)
-    echo "$prefix"
-    ;;
-
-    --feature|--features)
-        for feature in @SUPPORT_FEATURES@ ""; do
-            test -n "$feature" && echo "$feature"
-        done
-    ;;
-
-    --protocols)
-        for protocol in @SUPPORT_PROTOCOLS@; do
-            echo "$protocol"
-        done
-    ;;
-    --version)
-    echo libcurl @VERSION@
-    exit 0
-    ;;
-
-    --checkfor)
-        checkfor=$2
-        cmajor=`echo $checkfor | cut -d. -f1`
-        cminor=`echo $checkfor | cut -d. -f2`
-        # when extracting the patch part we strip off everything after a
-    # dash as that's used for things like version 1.2.3-CVS
-    cpatch=`echo $checkfor | cut -d. -f3 | cut -d- -f1`
-        checknum=`echo "$cmajor*256*256 + $cminor*256 + ${cpatch:-0}" | bc`
-        numuppercase=`echo @VERSIONNUM@ | tr 'a-f' 'A-F'`
-        nownum=`echo "obase=10; ibase=16; $numuppercase" | bc`
-
-    if test "$nownum" -ge "$checknum"; then
-      # silent success
-      exit 0
-    else
-      echo "requested version $checkfor is newer than existing @VERSION@"
-      exit 1
-    fi
-    ;;
-
-    --vernum)
-    echo @VERSIONNUM@
-    exit 0
-    ;;
-
-    --help)
-    usage 0
-    ;;
-
-    --cflags)
-           if test "X@includedir@" = "X/usr/include"; then
-          echo ""
-        else
-          echo "-I@includedir@"
-        fi
-           ;;
-
-    --libs)
-    if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then
-       CURLLIBDIR="-L@libdir@ "
-    else
-       CURLLIBDIR=""
-    fi
-    if test "X@REQUIRE_LIB_DEPS@" = "Xyes"; then
-      echo ${CURLLIBDIR}-lcurl @LDFLAGS@ @LIBCURL_LIBS@ @LIBS@
-    else
-      echo ${CURLLIBDIR}-lcurl @LDFLAGS@ @LIBS@
-    fi
-    ;;
-
-    --static-libs)
-    echo @libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@ @LIBS@
-    ;;
-
-    *)
-        echo "unknown option: $1"
-    usage 1
-    ;;
-    esac
-    shift
-done
-
-exit 0
diff -uNPr curl.orig/curl-gnutls-config.in curl/curl-gnutls-config.in
--- curl.orig/curl-gnutls-config.in    1970-01-01 01:00:00.000000000 +0100
+++ curl/curl-gnutls-config.in    2009-05-11 23:14:05.668482110 +0200
@@ -0,0 +1,160 @@
+#! /bin/sh
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 2001 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# $Id: curl-gnutls-config.in,v 1.35 2008-09-03 19:10:48 danf Exp $
+###########################################################################
+#
+# The idea to this kind of setup info script was stolen from numerous
+# other packages, such as neon, libxml and gnome.
+#
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+includedir=@includedir@
+
+usage()
+{
+    cat <<EOF
+Usage: curl-gnutls-config [OPTION]
+
+Available values for OPTION include:
+
+  --ca        ca bundle install path
+  --cc        compiler
+  --cflags    pre-processor and compiler flags
+  --checkfor [version] check for (lib)curl-gnutls of the specified version
+  --features  newline separated list of enabled features
+  --help      display this help and exit
+  --libs      library linking information
+  --prefix    curl-gnutls install prefix
+  --protocols newline separated list of enabled protocols
+  --static-libs static libcurl-gnutls library linking information
+  --version   output version information
+  --vernum    output the version information as a number (hexadecimal)
+EOF
+
+    exit $1
+}
+
+if test $# -eq 0; then
+    usage 1
+fi
+
+while test $# -gt 0; do
+    case "$1" in
+    # this deals with options in the style
+    # --option=value and extracts the value part
+    # [not currently used]
+    -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+    *) value= ;;
+    esac
+
+    case "$1" in
+    --ca)
+    echo "@CURL_CA_BUNDLE@"
+    ;;
+
+    --cc)
+    echo "@CC@"
+    ;;
+
+    --prefix)
+    echo "$prefix"
+    ;;
+
+    --feature|--features)
+        for feature in @SUPPORT_FEATURES@ ""; do
+            test -n "$feature" && echo "$feature"
+        done
+    ;;
+
+    --protocols)
+        for protocol in @SUPPORT_PROTOCOLS@; do
+            echo "$protocol"
+        done
+    ;;
+    --version)
+    echo libcurl-gnutls @VERSION@
+    exit 0
+    ;;
+
+    --checkfor)
+        checkfor=$2
+        cmajor=`echo $checkfor | cut -d. -f1`
+        cminor=`echo $checkfor | cut -d. -f2`
+        # when extracting the patch part we strip off everything after a
+    # dash as that's used for things like version 1.2.3-CVS
+    cpatch=`echo $checkfor | cut -d. -f3 | cut -d- -f1`
+        checknum=`echo "$cmajor*256*256 + $cminor*256 + ${cpatch:-0}" | bc`
+        numuppercase=`echo @VERSIONNUM@ | tr 'a-f' 'A-F'`
+        nownum=`echo "obase=10; ibase=16; $numuppercase" | bc`
+
+    if test "$nownum" -ge "$checknum"; then
+      # silent success
+      exit 0
+    else
+      echo "requested version $checkfor is newer than existing @VERSION@"
+      exit 1
+    fi
+    ;;
+
+    --vernum)
+    echo @VERSIONNUM@
+    exit 0
+    ;;
+
+    --help)
+    usage 0
+    ;;
+
+    --cflags)
+           if test "X@includedir@" = "X/usr/include"; then
+          echo ""
+        else
+          echo "-I@includedir@"
+        fi
+           ;;
+
+    --libs)
+    if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then
+       CURLLIBDIR="-L@libdir@ "
+    else
+       CURLLIBDIR=""
+    fi
+    if test "X@REQUIRE_LIB_DEPS@" = "Xyes"; then
+      echo ${CURLLIBDIR}-lcurl-gnutls @LDFLAGS@ @LIBCURL_LIBS@ @LIBS@
+    else
+      echo ${CURLLIBDIR}-lcurl-gnutls @LDFLAGS@ @LIBS@
+    fi
+    ;;
+
+    --static-libs)
+    echo @libdir@/libcurl-gnutls.@libext@ @LDFLAGS@ @LIBCURL_LIBS@ @LIBS@
+    ;;
+
+    *)
+        echo "unknown option: $1"
+    usage 1
+    ;;
+    esac
+    shift
+done
+
+exit 0
diff -uNPr curl.orig/lib/Makefile.am curl/lib/Makefile.am
--- curl.orig/lib/Makefile.am    2009-02-23 19:47:30.000000000 +0100
+++ curl/lib/Makefile.am    2009-05-11 23:14:05.338504896 +0200
@@ -40,7 +40,7 @@
 
 CLEANFILES = $(DSP) $(VCPROJ)
 
-lib_LTLIBRARIES = libcurl.la
+lib_LTLIBRARIES = libcurl-gnutls.la
 LIBCURL_LIBS = @LIBCURL_LIBS@
 
 # Specify our include paths here, and do it relative to $(top_srcdir) and
diff -uNPr curl.orig/lib/Makefile.in curl/lib/Makefile.in
--- curl.orig/lib/Makefile.in    2009-02-23 19:47:34.000000000 +0100
+++ curl/lib/Makefile.in    2009-05-11 23:14:05.371823149 +0200
@@ -301,7 +301,7 @@
  firefox-db2pem.sh
 
 CLEANFILES = $(DSP) $(VCPROJ)
-lib_LTLIBRARIES = libcurl.la
+lib_LTLIBRARIES = libcurl-gnutls.la
 
 # Specify our include paths here, and do it relative to $(top_srcdir) and
 # $(top_builddir), to ensure that these paths which belong to the library
@@ -458,7 +458,7 @@
       echo "rm -f \"$${dir}/so_locations\""; \
       rm -f "$${dir}/so_locations"; \
     done
-libcurl.la: $(libcurl_la_OBJECTS) $(libcurl_la_DEPENDENCIES) 
+libcurl-gnutls.la: $(libcurl_la_OBJECTS) $(libcurl_la_DEPENDENCIES) 
     $(LINK) -rpath $(libdir) $(libcurl_la_LDFLAGS) $(libcurl_la_OBJECTS) $(libcurl_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
diff -uNPr curl.orig/libcurl-gnutls.pc.in curl/libcurl-gnutls.pc.in
--- curl.orig/libcurl-gnutls.pc.in    1970-01-01 01:00:00.000000000 +0100
+++ curl/libcurl-gnutls.pc.in    2009-05-11 23:14:05.495164855 +0200
@@ -0,0 +1,40 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 2004 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# $Id: libcurl-gnutls.pc.in,v 1.4 2008-09-02 12:07:08 bagder Exp $
+###########################################################################
+
+# This should most probably benefit from getting a "Requires:" field added
+# dynamically by configure.
+#
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+supported_protocols="@SUPPORT_PROTOCOLS@"
+supported_features="@SUPPORT_FEATURES@"
+
+Name: libcurl-gnutls
+URL: http://curl.haxx.se/
+Description: Library to transfer files with ftp, http, etc.
+Version: @VERSION@
+Libs: -L${libdir} -lcurl-gnutls @LDFLAGS@ @LIBS@
+Libs.private: @LIBCURL_LIBS@ @LIBS@
+Cflags: -I${includedir}
diff -uNPr curl.orig/libcurl.pc.in curl/libcurl.pc.in
--- curl.orig/libcurl.pc.in    2008-09-02 14:07:08.000000000 +0200
+++ curl/libcurl.pc.in    1970-01-01 01:00:00.000000000 +0100
@@ -1,40 +0,0 @@
-#***************************************************************************
-#                                  _   _ ____  _
-#  Project                     ___| | | |  _ \| |
-#                             / __| | | | |_) | |
-#                            | (__| |_| |  _ <| |___
-#                             \___|\___/|_| \_\_____|
-#
-# Copyright (C) 2004 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at http://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-# $Id: libcurl.pc.in,v 1.4 2008-09-02 12:07:08 bagder Exp $
-###########################################################################
-
-# This should most probably benefit from getting a "Requires:" field added
-# dynamically by configure.
-#
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-supported_protocols="@SUPPORT_PROTOCOLS@"
-supported_features="@SUPPORT_FEATURES@"
-
-Name: libcurl
-URL: http://curl.haxx.se/
-Description: Library to transfer files with ftp, http, etc.
-Version: @VERSION@
-Libs: -L${libdir} -lcurl @LDFLAGS@ @LIBS@
-Libs.private: @LIBCURL_LIBS@ @LIBS@
-Cflags: -I${includedir}
diff -uNPr curl.orig/src/Makefile.am curl/src/Makefile.am
--- curl.orig/src/Makefile.am    2009-01-30 23:22:22.000000000 +0100
+++ curl/src/Makefile.am    2009-05-11 23:14:05.595165241 +0200
@@ -41,12 +41,12 @@
            -I$(top_srcdir)/lib       \
            -I$(top_srcdir)/src
 
-bin_PROGRAMS = curl
+bin_PROGRAMS = curl-gnutls
 
 include Makefile.inc
 
-curl_LDADD = ../lib/libcurl.la @CURL_LIBS@
-curl_DEPENDENCIES = ../lib/libcurl.la
+curl_LDADD = ../lib/libcurl-gnutls.la @CURL_LIBS@
+curl_DEPENDENCIES = ../lib/libcurl-gnutls.la
 BUILT_SOURCES = hugehelp.c
 CLEANFILES = hugehelp.c
 # Use the C locale to ensure that only ASCII characters appear in the
diff -uNPr curl.orig/src/Makefile.in curl/src/Makefile.in
--- curl.orig/src/Makefile.in    2009-02-13 15:25:56.000000000 +0100
+++ curl/src/Makefile.in    2009-05-11 23:14:05.558488622 +0200
@@ -38,7 +38,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-bin_PROGRAMS = curl$(EXEEXT)
+bin_PROGRAMS = curl-gnutls$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
     $(srcdir)/Makefile.inc $(srcdir)/config.h.in
 subdir = src
@@ -306,8 +306,8 @@
     writeout.h writeenv.h getpass.h homedir.h curlutil.h
 
 curl_SOURCES = $(CURL_SOURCES) $(CURLX_ONES) $(CURL_HFILES)
-curl_LDADD = ../lib/libcurl.la @CURL_LIBS@
-curl_DEPENDENCIES = ../lib/libcurl.la
+curl_LDADD = ../lib/libcurl-gnutls.la @CURL_LIBS@
+curl_DEPENDENCIES = ../lib/libcurl-gnutls.la
 BUILT_SOURCES = hugehelp.c
 CLEANFILES = hugehelp.c
 EXTRA_DIST = mkhelp.pl makefile.dj Makefile.vc6 Makefile.b32 Makefile.m32 \
@@ -399,8 +399,8 @@
       echo " rm -f $$p $$f"; \
       rm -f $$p $$f ; \
     done
-curl$(EXEEXT): $(curl_OBJECTS) $(curl_DEPENDENCIES) 
-    @rm -f curl$(EXEEXT)
+curl-gnutls$(EXEEXT): $(curl_OBJECTS) $(curl_DEPENDENCIES) 
+    @rm -f curl-gnutls$(EXEEXT)
     $(LINK) $(curl_LDFLAGS) $(curl_OBJECTS) $(curl_LDADD) $(LIBS)
 
 mostlyclean-compile:

And then I created a PKGBUIKLD for this:

pkgname=curl-gnutls
pkgver=7.19.4
pkgrel=1
pkgdesc="An URL retrival utility and library"
arch=('i686' 'x86_64')
url="http://curl.haxx.se"
license=('MIT')
provides=('curl=7.9.13')
conflicts=('curl')
depends=('zlib' 'bash' 'gnutls' 'ca-certificates' )
options=('!libtool')
source=(http://curl.haxx.se/download/curl-${pkgver}.tar.bz2 
 curl-gnutls.patch)
makedepends=(patch)
#md5sums=('10eb8c13350c735eff20d7b4530be8cd')
#sha1sums=('c2ee72537d422bac1b10d8bfaa0401c12a3b2407')

build() {
  cd ${srcdir}/curl-${pkgver}

  patch -Np1 -i ../curl-gnutls.patch || return 1

  ./configure --prefix=/usr --without-ssl --without-libssh2 --with-gnutls=/usr --without-libidn --disable-ldap --disable-dependency-tracking --enable-ipv6 --enable-manual --enable-versioned-symbols --without-libssh2 --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt || return 1
  make || return 1
  make DESTDIR=${pkgdir} install || return 1
  install -D -m644 COPYING ${pkgdir}/usr/share/licenses/curl/COPYING || return 1
}

And created the package in a 32 bit virtual machine

And using the newly created package a made a "lib32"-package for Arch64:

pkgname=lib32-curl-gnutls
pkgver=7.19.4
pkgrel=1
pkgdesc="An URL retrival utility and library"
arch=('x86_64')
url="http://curl.haxx.se"
license=('MIT')
provides=('lib32-curl=7.19.4')
conflicts=('lib32-curl')
#depends=('zlib' 'bash' 'gnutls')
options=('!libtool')
source=(curl-gnutls-7.19.4-1-i686.pkg.tar.gz)

build() {
  mkdir -p $startdir/pkg/opt/lib32/usr/lib/
  cp -R $startdir/src/usr/lib/*.so* $startdir/pkg/opt/lib32/usr/lib
}

I also neded such a package for heimdal:

pkgname=lib32-heimdal
pkgver=1.2.1
pkgrel32=3
pkgrel=1
pkgdesc="Implementation of Kerberos V5 libraries"
url="http://www.h5l.com/"
license=('custom')
arch=(x86_64)
#depends=('lib32-db>=4.7' 'lib32-openssl' 'lib32-e2fsprogs' 'bin32-sqlite3')
groups=lib32
source=(ftp://ftp.archlinux.org/core/os/i686/${pkgname/lib32-/}-${pkgver}-${pkgrel32}-i686.pkg.tar.gz)

build() {
  mkdir -p ${startdir}/pkg/opt/lib32/usr/lib
  cp -rPf ${startdir}/src/usr/lib/*.so* ${startdir}/pkg/opt/lib32/usr/lib
}

Then moving on to nexus itself:
I wanted it to have it's main directory in "/opt/nexuspersonal"
And the binaries in "/usr/bin" and not "/usr/local/bin"
Searching in the forum also revealed that the "PANGO_RC_FILE" needed to be set to get "lib32-pango" to work as expected.

Fortunetly this was not as messy as it could have been because the programs in nexuspersonal is started by some scripts...

I guess this could have been done with sed but as I am more familiar working with patches I did a patchfile called "nexuspersonal.patch" to handle this:

diff -u personal-4.10.2.16.orig/persadm.sh personal-4.10.2.16/persadm.sh
--- personal-4.10.2.16.orig/persadm.sh    2009-05-24 00:58:00.417814206 +0200
+++ personal-4.10.2.16/persadm.sh    2009-05-24 00:59:16.248639929 +0200
@@ -3,8 +3,10 @@
 # Personal console launcher
 
 
-PERSONAL_HOME=/usr/local/lib/personal
+PERSONAL_HOME=/opt/nexuspersonal
+export PANGO_RC_FILE=/opt/lib32/config/pango/pangorc
+export GTK_PATH=/opt/lib32/usr/lib/gtk-2.0
 
 
-exec /usr/local/lib/personal/persadm $1 $2 $3 $4 $5
+exec /opt/nexuspersonal/persadm $1 $2 $3 $4 $5
 
diff -u personal-4.10.2.16.orig/personal.desktop personal-4.10.2.16/personal.desktop
--- personal-4.10.2.16.orig/personal.desktop    2009-05-24 00:58:00.417814206 +0200
+++ personal-4.10.2.16/personal.desktop    2009-05-24 00:58:16.107812815 +0200
@@ -2,10 +2,10 @@
 Version=1.0
 Encoding=UTF-8
 Name=Nexus Personal
-Exec=/usr/local/bin/personal
+Exec=/usr/bin/personal
 Type=Application
 Comment=Nexus Personal
-Icon=/usr/local/lib/personal/icons/nexus_logo_32x32.png
+Icon=/opt/nexuspersonal/icons/nexus_logo_32x32.png
 Name[en_US]=Nexus Personal
 GenericName[en_US]=Nexus Personal
 
diff -u personal-4.10.2.16.orig/personal.sh personal-4.10.2.16/personal.sh
--- personal-4.10.2.16.orig/personal.sh    2009-05-24 00:58:00.417814206 +0200
+++ personal-4.10.2.16/personal.sh    2009-05-24 00:59:05.864548508 +0200
@@ -3,7 +3,9 @@
 # Personal launcher
 
 
-PERSONAL_HOME=/usr/local/lib/personal
+PERSONAL_HOME=/opt/nexuspersonal     
+export PANGO_RC_FILE=/opt/lib32/config/pango/pangorc
+export GTK_PATH=/opt/lib32/usr/lib/gtk-2.0
 
 # You could set proxy settings to be used in 
 # personal (which uses libcurl),  
@@ -11,5 +13,5 @@
 # export all_proxy=http://proxy.host.com:8080
 # export no_proxy=intra1.host.com,intra2.host.com
 
-exec /usr/local/lib/personal/personal.bin
+exec /opt/nexuspersonal/personal.bin

As nspluginwrapper is needed to get the plugin working I made a small script (so I didn't need to remember the commandline).
The script named "installplugin":

#!/bin/bash

nspluginwrapper -i /opt/lib32/usr/lib/mozilla/plugins/libplugins.so

I made a post install message about this as well in the file "nexuspersonal.install":

post_install() {
  echo "script \"installplugin\" has been installed in /opt/nexuspersonal and needs to be run by the user using this package to let ndiswrapper install it"
}

And finally the PKGBUILD for nexuspersonal itself, I used alot from the 32 bit PKGBUILD previously posted.
I also just realized I forgot to put "nspluginwrapper" in the depends array.
Anyway the PKGBUILD looks like this:

pkgname=bin32-nexuspersonal
pkgver=4.10.2.16
pkgrel=1
pkgdesc="BankID program for Linux"
url="www.bankid.com"
arch=('x86_64')
source=('http://install.bankid.com/InstallBankidCom/InstallFiles/LinuxPersonal.tgz' 'installplugin' 'nexuspersonal.patch')
md5sums=('5404DC3B3AEDAAA1EED8E26489A82E91' 'e6365e40b2c6aba7b7506f3821f00ca1' 'b5551ee40a20993ee102a1627af431a9')
depends=('lib32-heimdal' 'lib32-curl-gnutls' 'libsm' 'bash' 'lib32-gtk2' 'lib32-libidn' 'lib32-pango')
install=nexuspersonal.install

build() {
    cd $startdir/src/personal-$pkgver 

    patch -Np1 -i ../nexuspersonal.patch || return 1

    install -d $startdir/pkg/opt/nexuspersonal
    install -d $startdir/pkg/opt/nexuspersonal/config
    install -d $startdir/pkg/opt/nexuspersonal/icons
    install -d $startdir/pkg/opt/nexuspersonal/lang
    install -d $startdir/pkg/opt/nexuspersonal/lang/sv_SE

    install -d $startdir/pkg/opt/lib32/usr/lib
    install -d $startdir/pkg/usr/share/applications
    install -d $startdir/pkg/usr/bin
    install -d $startdir/pkg/opt/lib32/usr/lib/mozilla/plugins

    install -m 644 \
        Nexus_Personal_Help_EN_US.htm \
        PersonalUbuntu_ReadMe_EN_US.txt \
        Nexus_Personal_Help_SE.htm \
        PersonalUbuntu_ReadMe_SE.txt \
    Release.txt \
        $startdir/pkg/opt/nexuspersonal

    install -m 755 \
        libai.so \
        libP11.so \
        libplugins.so \
        libtokenapi.so \
        libCardSiemens.so \
        libCardSetec.so \
        libCardPrisma.so \
        personal.bin \
        personal.sh \
        persadm \
        persadm.sh \
        install.$pkgver.sh \
        libBranding.so \
        $startdir/pkg/opt/nexuspersonal

    install -m 644 Personal.cfg $startdir/pkg/opt/nexuspersonal/config
    install -m 644 nexus_logo_32x32.png $startdir/pkg/opt/nexuspersonal/icons
    install -m 644 personal.mo $startdir/pkg/opt/nexuspersonal/lang/sv_SE
    install -m 644 personal.desktop $startdir/pkg/usr/share/applications

    ln -s /opt/nexuspersonal/personal.sh $startdir/pkg/usr/bin/personal
    ln -s /opt/nexuspersonal/persadm.sh $startdir/pkg/usr/bin/persadm
    ln -s /opt/nexuspersonal/libplugins.so $startdir/pkg/opt/lib32/usr/lib/mozilla/plugins/libplugins.so
    ln -s /opt/nexuspersonal/libai.so $startdir/pkg/opt/lib32/usr/lib/libai.so
    ln -s /opt/nexuspersonal/libtokenapi.so $startdir/pkg/opt/lib32/usr/lib/libtokenapi.so

    install -m 755 $startdir/src/installplugin $startdir/pkg/opt/nexuspersonal

    ln -s /opt/lib32/usr/lib/libgssapi.so $startdir/pkg/opt/lib32/usr/lib/libgssapi_krb5.so.2
}

Of course there are some ugly stuff in here as it is in no way polished just what is needed to get it to work, I especielly dislike the link to libgssapi_krb5.so.2

Some notes:
Got a lot of info from debian patch tracking and could probably have used it in a wiser way than creating my own patch for curl:
http://patch-tracking.debian.net/package/curl/7.19.4-1

Swedish Ubuntu site describing nexuspersonal and also installing it in 64 bit Ubuntu:
http://ubuntu-se.org/wiki/NexusPersonal

Offline

#23 2010-01-15 14:11:04

whacath
Member
Registered: 2009-05-26
Posts: 283

Re: Trying to get Nexus Personal to work on Arch

It would be great to see this in aur! smile

Offline

#24 2010-01-28 19:51:25

Maos
Member
Registered: 2006-11-09
Posts: 46

Re: Trying to get Nexus Personal to work on Arch

Seems the 32 bit version made it to AUR (see http://bbs.archlinux.org/viewtopic.php?id=89640)
And with less dependencies and no specially built libcurl so it is probably easier to make package for 64 bit as well.

This needs to be checked....

Offline

#25 2010-01-28 20:19:36

whacath
Member
Registered: 2009-05-26
Posts: 283

Re: Trying to get Nexus Personal to work on Arch

yeah, i put it there. big_smile

But it doesnt seem to work on most computers, i only got it to work on one computer. hmm

Offline

Board footer

Powered by FluxBB