You are not logged in.
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.
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
Debian's libcurl3 package contains libcurl-gnutls.so.4, arch has libcurl3 in aur.
Offline
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.
IBM Thinkpad X60 Tablet | Zen-sources | My AUR Builds
Offline
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
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
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
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
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
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!
vanum est vobis ante lucem surgere
Offline
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
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
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 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
Thanks, i'll try this out asap.
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
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
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
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
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
They're in my /etc/ld.so.conf and in my $PATH... j/k 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
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
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/libin /etc/ld.so.conf
Any thoughts?
Nexus personal is 32-bit only.
vanum est vobis ante lucem surgere
Offline
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
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
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
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
It would be great to see this in aur!
Offline
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
yeah, i put it there.
But it doesnt seem to work on most computers, i only got it to work on one computer.
Offline