GnuPG vs glibc

Nach einem Upgrade der glibc hat sich gnupg nicht mehr dazu bewegen lassen, sich zu emergen. Die Fehlermeldungen wiesen zum Teil auf fehlende Dateien hin, zum anderen Teil waren sie einfach nur dubios.
Aus diesem Grund habe ich mich entschieden, es selbst in die Hand zu nehmen und vom Portage abzuweichen. Wozu habe ich sonst mein lokales Portage-Overlay?

Da das Problem wahrscheinlich in meiner neuen glibc zu suchen ist, habe ich mich entschieden, eine aktuelle Version der Entwicklerversion von gnupg zu suchen – um jene zu ersetzen, welche bei mir Macken macht. Denn schlimmer als jetzt kann es nicht werden. Also ran an gnupg-1.9.93…

Nachdem ich ein ebuild modifiziert hatte, konnte ich schön langsam daran denken, es zu emergen und seine Abhängigkeiten zu erforschen.

Files:

gnupg-1.9.93.ebuild

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-1.9.22.ebuild,v 1.3 2006/10/05 04:29:49 robbat2 Exp $

inherit eutils flag-o-matic autotools

DESCRIPTION=“The GNU Privacy Guard, a GPL pgp replacement“
HOMEPAGE=“http://www.gnupg.org/“
SRC_URI=“mirror://gnupg/alpha/gnupg/${P}.tar.bz2″

LICENSE=“GPL-2″
SLOT=“1.9″
KEYWORDS=“~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd“
IUSE=“X gpg2-experimental doc ldap nls openct pcsc-lite smartcard selinux“

COMMON_DEPEND=“
virtual/libc
>=dev-libs/pth-1.3.7
>=dev-libs/libgcrypt-1.1.94
>=dev-libs/libksba-1.0.0
>=dev-libs/libgpg-error-1.4
>=dev-libs/libassuan-0.9.3
pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
openct? ( >=dev-libs/openct-0.5.0 )
ldap? ( net-nds/openldap )“
# Needs sh and arm to be keyworded on pinentry
# X? ( app-crypt/pinentry )

DEPEND=“${COMMON_DEPEND}
nls? ( sys-devel/gettext )
doc? ( sys-apps/texinfo )“

RDEPEND=“${COMMON_DEPEND}
!app-crypt/gpg-agent
=app-crypt/gnupg-1.4*
X? ( || ( media-gfx/xloadimage media-gfx/xli ) )
virtual/mta
selinux? ( sec-policy/selinux-gnupg )
nls? ( virtual/libintl )“

src_unpack() {
unpack ${A}
cd „${S}“
sed -i -e ’s/PIC/__PIC__/g‘ intl/relocatable.c || die „PIC patching failed“

# this warning is only available on gcc4!
sed -i -e ‚/AM_CFLAGS/s!-Wno-pointer-sign!!g‘ ${S}/g10/Makefile.am
sed -i -e ‚/AM_CFLAGS/s!-Wno-pointer-sign!!g‘ ${S}/g10/Makefile.in

#epatch „${FILESDIR}/${PN}-1.9.20-fbsd.patch“
#epatch „${FILESDIR}/${P}-fbsd-gcc41.patch“
AT_M4DIR=“m4 gl/m4″ eautoreconf
}

src_compile() {
local myconf=““

if use X; then
local viewer
if has_version ‚media-gfx/xloadimage‘; then
viewer=/usr/bin/xloadimage
else
viewer=/usr/bin/xli
fi
myconf=“${myconf} –with-photo-viewer=${viewer}“
else
myconf=“${myconf} –disable-photo-viewers“
fi

append-ldflags $(bindnow-flags)

econf \
–enable-agent \
–enable-symcryptrun \
$(use_enable gpg2-experimental gpg) \
–enable-gpgsm \
$(use_enable smartcard scdaemon) \
$(use_enable nls) \
$(use_enable ldap) \
–disable-capabilities \
${myconf} \
|| die
emake || die
if use doc; then
cd doc
emake html || die
fi
}

src_install() {
make DESTDIR=“${D}“ install || die
dodoc ChangeLog NEWS README THANKS TODO VERSION

# neither of these should really be needed, please check
use gpg2-experimental && fperms u+s,go-r /usr/bin/gpg2
fperms u+s,go-r /usr/bin/gpg-agent

use doc && dohtml doc/gnupg.html/* doc/*jpg doc/*png
}

pkg_postinst() {
einfo
einfo „See http://www.gentoo.org/doc/en/gnupg-user.xml for documentation on gnupg“
einfo
}

libassuan-0.9.3.ebuild:

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libassuan/libassuan-0.9.2.ebuild,v 1.1 2006/10/05 03:51:03 robbat2 Exp $

inherit libtool

DESCRIPTION=“Standalone IPC library used by gpg, gpgme and newpg“
HOMEPAGE=“http://www.gnupg.org/(en)/download/index.html#libassuan“
SRC_URI=“mirror://gnupg/alpha/${PN}/${P}.tar.bz2″

LICENSE=“GPL-2″
SLOT=“0″
KEYWORDS=“~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd“
IUSE=““

DEPEND=““

src_unpack() {
unpack ${A}
cd „${S}“
elibtoolize
}

src_install() {
make install DESTDIR=“${D}“ || die
dodoc AUTHORS ChangeLog NEWS README THANKS TODO
}

libksba-1.0.0.ebuild:

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libksba/libksba-0.9.16.ebuild,v 1.2 2006/10/02 16:07:34 grobian Exp $

inherit libtool

DESCRIPTION=“makes X.509 certificates and CMS easily accessible to applications“
HOMEPAGE=“http://www.gnupg.org/(en)/download/index.html#libksba“
SRC_URI=“mirror://gnupg/alpha/libksba/${P}.tar.bz2″

LICENSE=“GPL-2″
SLOT=“0″
KEYWORDS=“~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd“
IUSE=““

DEPEND=“>=dev-libs/libgpg-error-0.7
dev-libs/libgcrypt“

src_unpack() {
unpack ${A}
cd „${S}“
elibtoolize
}

src_install() {
make DESTDIR=“${D}“ install || die
dodoc AUTHORS ChangeLog NEWS README README-alpha THANKS TODO VERSION
}

libgpg-error-1.4.ebuild:

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libgpg-error/libgpg-error-1.3.ebuild,v 1.2 2006/07/30 10:05:58 flameeyes Exp $

inherit libtool

DESCRIPTION=“Contains error handling functions used by GnuPG software“
HOMEPAGE=“http://www.gnupg.org/(en)/download/index.html#libgpg-error“
SRC_URI=“mirror://gnupg/${PN}/${P}.tar.gz“

LICENSE=“GPL-2 LGPL-2.1″
SLOT=“0″
KEYWORDS=“~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86″
IUSE=“nls“

DEPEND=“nls? ( sys-devel/gettext )“

src_unpack() {
unpack „${A}“
cd „${S}“
elibtoolize
}

src_compile() {
econf $(use_enable nls) || die
emake || die
}

src_install() {
make install DESTDIR=“${D}“ || die
dodoc AUTHORS ChangeLog NEWS README
}

Author:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert