Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 413866 Details for
Bug 562374
app-crypt/heimdal add libressl support
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
0001-app-crypt-heimdal-add-libressl-support.patch
0001-app-crypt-heimdal-add-libressl-support.patch (text/plain), 18.26 KB, created by
Julian Ospald
on 2015-10-06 09:56:03 UTC
(
hide
)
Description:
0001-app-crypt-heimdal-add-libressl-support.patch
Filename:
MIME Type:
Creator:
Julian Ospald
Created:
2015-10-06 09:56:03 UTC
Size:
18.26 KB
patch
obsolete
>From e6d01ee22a95c95dde00779af9d44bc159564f4a Mon Sep 17 00:00:00 2001 >From: Julian Ospald <hasufell@gentoo.org> >Date: Tue, 6 Oct 2015 11:53:39 +0200 >Subject: [PATCH] app-crypt/heimdal: add libressl support > >The patch is based on >http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/security/heimdal/patches/patch-lib_hcrypto_rand_h > >Since gentoo does not have the EGD daemon anyway, this can be >applied unconditionally. >--- > .../heimdal/files/heimdal-1.5.3-libressl.patch | 437 +++++++++++++++++++++ > app-crypt/heimdal/heimdal-1.5.3-r3.ebuild | 199 ++++++++++ > 2 files changed, 636 insertions(+) > create mode 100644 app-crypt/heimdal/files/heimdal-1.5.3-libressl.patch > create mode 100644 app-crypt/heimdal/heimdal-1.5.3-r3.ebuild > >diff --git a/app-crypt/heimdal/files/heimdal-1.5.3-libressl.patch b/app-crypt/heimdal/files/heimdal-1.5.3-libressl.patch >new file mode 100644 >index 0000000..56f4971 >--- /dev/null >+++ b/app-crypt/heimdal/files/heimdal-1.5.3-libressl.patch >@@ -0,0 +1,437 @@ >+From 613c29869dea8b1b424eb74b14a29d3595042fd4 Mon Sep 17 00:00:00 2001 >+From: hasufell <hasufell@gentoo.org> >+Date: Tue, 6 Oct 2015 11:45:29 +0200 >+Subject: [PATCH] Remove RAND_egd support >+ >+The EGD daemon is unmaintained and deemed insecure. >+This also fixes LibreSSL compatibility. >+--- >+ heimdal-1.5.3/lib/hcrypto/Makefile.am | 1 - >+ heimdal-1.5.3/lib/hcrypto/libhcrypto-exports.def | 3 - >+ heimdal-1.5.3/lib/hcrypto/rand-egd.c | 260 ----------------------- >+ heimdal-1.5.3/lib/hcrypto/rand-fortuna.c | 14 -- >+ heimdal-1.5.3/lib/hcrypto/rand.h | 6 - >+ heimdal-1.5.3/lib/hcrypto/randi.h | 1 - >+ heimdal-1.5.3/lib/hcrypto/test_rand.c | 4 - >+ heimdal-1.5.3/lib/hcrypto/version-script.map | 3 - >+ heimdal-1.5.3/lib/krb5/crypto-rand.c | 14 -- >+ 9 files changed, 306 deletions(-) >+ delete mode 100644 heimdal-1.5.3/lib/hcrypto/rand-egd.c >+ >+diff --git a/heimdal-1.5.3/lib/hcrypto/Makefile.am b/heimdal-1.5.3/lib/hcrypto/Makefile.am >+index 0286c89..959ddad 100644 >+--- a/heimdal-1.5.3/lib/hcrypto/Makefile.am >++++ b/heimdal-1.5.3/lib/hcrypto/Makefile.am >+@@ -125,7 +125,6 @@ libhcrypto_la_SOURCES = \ >+ md5.h \ >+ pkcs5.c \ >+ pkcs12.c \ >+- rand-egd.c \ >+ rand-fortuna.c \ >+ rand-timer.c \ >+ rand-unix.c \ >+diff --git a/heimdal-1.5.3/lib/hcrypto/libhcrypto-exports.def b/heimdal-1.5.3/lib/hcrypto/libhcrypto-exports.def >+index a7208f9..c40f151 100644 >+--- a/heimdal-1.5.3/lib/hcrypto/libhcrypto-exports.def >++++ b/heimdal-1.5.3/lib/hcrypto/libhcrypto-exports.def >+@@ -221,9 +221,6 @@ EXPORTS >+ hc_RAND_add >+ hc_RAND_bytes >+ hc_RAND_cleanup >+-;! hc_RAND_egd >+-;! hc_RAND_egd_bytes >+-;! hc_RAND_egd_method >+ hc_RAND_file_name >+ ;! hc_RAND_fortuna_method >+ hc_RAND_get_rand_method >+diff --git a/heimdal-1.5.3/lib/hcrypto/rand-egd.c b/heimdal-1.5.3/lib/hcrypto/rand-egd.c >+deleted file mode 100644 >+index dd2d3e1..0000000 >+--- a/heimdal-1.5.3/lib/hcrypto/rand-egd.c >++++ /dev/null >+@@ -1,260 +0,0 @@ >+-/* >+- * Copyright (c) 2007 Kungliga Tekniska Högskolan >+- * (Royal Institute of Technology, Stockholm, Sweden). >+- * All rights reserved. >+- * >+- * Redistribution and use in source and binary forms, with or without >+- * modification, are permitted provided that the following conditions >+- * are met: >+- * >+- * 1. Redistributions of source code must retain the above copyright >+- * notice, this list of conditions and the following disclaimer. >+- * >+- * 2. Redistributions in binary form must reproduce the above copyright >+- * notice, this list of conditions and the following disclaimer in the >+- * documentation and/or other materials provided with the distribution. >+- * >+- * 3. Neither the name of the Institute nor the names of its contributors >+- * may be used to endorse or promote products derived from this software >+- * without specific prior written permission. >+- * >+- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND >+- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >+- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE >+- * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE >+- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL >+- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS >+- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) >+- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT >+- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY >+- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF >+- * SUCH DAMAGE. >+- */ >+- >+-#include <config.h> >+- >+-#include <sys/types.h> >+-#ifdef HAVE_SYS_UN_H >+-#include <sys/un.h> >+-#endif >+- >+-#include <stdio.h> >+-#include <stdlib.h> >+-#ifdef HAVE_UNISTD_H >+-#include <unistd.h> >+-#endif >+-#include <assert.h> >+- >+-#include <rand.h> >+-#include <randi.h> >+- >+-#include <roken.h> >+- >+-static const char *egd_path = "/var/run/egd-pool"; >+- >+-#define MAX_EGD_DATA 255 >+- >+-static int >+-connect_egd(const char *path) >+-{ >+- struct sockaddr_un addr; >+- int fd; >+- >+- memset(&addr, 0, sizeof(addr)); >+- >+- if (strlen(path) > sizeof(addr.sun_path)) >+- return -1; >+- >+- addr.sun_family = AF_UNIX; >+- strlcpy(addr.sun_path, path, sizeof(addr.sun_path)); >+- >+- fd = socket(AF_UNIX, SOCK_STREAM, 0); >+- if (fd < 0) >+- return -1; >+- >+- rk_cloexec(fd); >+- >+- if (connect(fd, (struct sockaddr *)&addr, sizeof(addr)) != 0) { >+- close(fd); >+- return -1; >+- } >+- >+- return fd; >+-} >+- >+-static int >+-get_entropy(int fd, void *data, size_t len) >+-{ >+- unsigned char msg[2]; >+- >+- assert(len <= MAX_EGD_DATA); >+- >+- msg[0] = 0x02; /* read blocking data */ >+- msg[1] = len; /* wanted length */ >+- >+- if (net_write(fd, msg, sizeof(msg)) != sizeof(msg)) >+- return 0; >+- >+- if (net_read(fd, data, len) != len) >+- return 0; >+- >+- return 1; >+-} >+- >+-static int >+-put_entropy(int fd, const void *data, size_t len) >+-{ >+- unsigned char msg[4]; >+- >+- assert (len <= MAX_EGD_DATA); >+- >+- msg[0] = 0x03; /* write data */ >+- msg[1] = 0; /* dummy */ >+- msg[2] = 0; /* entropy */ >+- msg[3] = len; /* length */ >+- >+- if (net_write(fd, msg, sizeof(msg)) != sizeof(msg)) >+- return 0; >+- if (net_write(fd, data, len) != len) >+- return 0; >+- >+- return 1; >+-} >+- >+-/* >+- * >+- */ >+- >+-static void >+-egd_seed(const void *indata, int size) >+-{ >+- size_t len; >+- int fd, ret = 1; >+- >+- fd = connect_egd(egd_path); >+- if (fd < 0) >+- return; >+- >+- while(size) { >+- len = size; >+- if (len > MAX_EGD_DATA) >+- len = MAX_EGD_DATA; >+- ret = put_entropy(fd, indata, len); >+- if (ret != 1) >+- break; >+- indata = ((unsigned char *)indata) + len; >+- size -= len; >+- } >+- close(fd); >+-} >+- >+-static int >+-get_bytes(const char *path, unsigned char *outdata, int size) >+-{ >+- size_t len; >+- int fd, ret = 1; >+- >+- if (path == NULL) >+- path = egd_path; >+- >+- fd = connect_egd(path); >+- if (fd < 0) >+- return 0; >+- >+- while(size) { >+- len = size; >+- if (len > MAX_EGD_DATA) >+- len = MAX_EGD_DATA; >+- ret = get_entropy(fd, outdata, len); >+- if (ret != 1) >+- break; >+- outdata += len; >+- size -= len; >+- } >+- close(fd); >+- >+- return ret; >+-} >+- >+-static int >+-egd_bytes(unsigned char *outdata, int size) >+-{ >+- return get_bytes(NULL, outdata, size); >+-} >+- >+-static void >+-egd_cleanup(void) >+-{ >+-} >+- >+-static void >+-egd_add(const void *indata, int size, double entropi) >+-{ >+- egd_seed(indata, size); >+-} >+- >+-static int >+-egd_pseudorand(unsigned char *outdata, int size) >+-{ >+- return get_bytes(NULL, outdata, size); >+-} >+- >+-static int >+-egd_status(void) >+-{ >+- int fd; >+- fd = connect_egd(egd_path); >+- if (fd < 0) >+- return 0; >+- close(fd); >+- return 1; >+-} >+- >+-const RAND_METHOD hc_rand_egd_method = { >+- egd_seed, >+- egd_bytes, >+- egd_cleanup, >+- egd_add, >+- egd_pseudorand, >+- egd_status >+-}; >+- >+-const RAND_METHOD * >+-RAND_egd_method(void) >+-{ >+- return &hc_rand_egd_method; >+-} >+- >+- >+-int >+-RAND_egd(const char *filename) >+-{ >+- return RAND_egd_bytes(filename, 128); >+-} >+- >+-int >+-RAND_egd_bytes(const char *filename, int size) >+-{ >+- void *data; >+- int ret; >+- >+- if (size <= 0) >+- return 0; >+- >+- data = malloc(size); >+- if (data == NULL) >+- return 0; >+- >+- ret = get_bytes(filename, data, size); >+- if (ret != 1) { >+- free(data); >+- return ret; >+- } >+- >+- RAND_seed(data, size); >+- >+- memset(data, 0, size); >+- free(data); >+- >+- return 1; >+-} >+diff --git a/heimdal-1.5.3/lib/hcrypto/rand-fortuna.c b/heimdal-1.5.3/lib/hcrypto/rand-fortuna.c >+index 11027b4..a4c3885 100644 >+--- a/heimdal-1.5.3/lib/hcrypto/rand-fortuna.c >++++ b/heimdal-1.5.3/lib/hcrypto/rand-fortuna.c >+@@ -486,20 +486,6 @@ fortuna_reseed(void) >+ entropy_p = 1; >+ } >+ #endif >+-#ifndef NO_RAND_EGD_METHOD >+- /* >+- * Only to get egd entropy if /dev/random or arc4rand failed since >+- * it can be horribly slow to generate new bits. >+- */ >+- if (!entropy_p) { >+- unsigned char buf[INIT_BYTES]; >+- if ((*hc_rand_egd_method.bytes)(buf, sizeof(buf)) == 1) { >+- add_entropy(&main_state, buf, sizeof(buf)); >+- entropy_p = 1; >+- memset(buf, 0, sizeof(buf)); >+- } >+- } >+-#endif >+ /* >+ * Fall back to gattering data from timer and secret files, this >+ * is really the last resort. >+diff --git a/heimdal-1.5.3/lib/hcrypto/rand.h b/heimdal-1.5.3/lib/hcrypto/rand.h >+index 590bd8c..1c9df8a 100644 >+--- a/heimdal-1.5.3/lib/hcrypto/rand.h >++++ b/heimdal-1.5.3/lib/hcrypto/rand.h >+@@ -56,10 +56,7 @@ typedef struct RAND_METHOD RAND_METHOD; >+ #define RAND_load_file hc_RAND_load_file >+ #define RAND_write_file hc_RAND_write_file >+ #define RAND_status hc_RAND_status >+-#define RAND_egd hc_RAND_egd >+-#define RAND_egd_bytes hc_RAND_egd_bytes >+ #define RAND_fortuna_method hc_RAND_fortuna_method >+-#define RAND_egd_method hc_RAND_egd_method >+ #define RAND_unix_method hc_RAND_unix_method >+ #define RAND_w32crypto_method hc_RAND_w32crypto_method >+ >+@@ -97,13 +94,10 @@ const char * >+ int RAND_load_file(const char *, size_t); >+ int RAND_write_file(const char *); >+ int RAND_status(void); >+-int RAND_egd(const char *); >+-int RAND_egd_bytes(const char *, int); >+ >+ >+ const RAND_METHOD * RAND_fortuna_method(void); >+ const RAND_METHOD * RAND_unix_method(void); >+-const RAND_METHOD * RAND_egd_method(void); >+ const RAND_METHOD * RAND_w32crypto_method(void); >+ >+ #endif /* _HEIM_RAND_H */ >+diff --git a/heimdal-1.5.3/lib/hcrypto/randi.h b/heimdal-1.5.3/lib/hcrypto/randi.h >+index fe021a8..85d5d66 100644 >+--- a/heimdal-1.5.3/lib/hcrypto/randi.h >++++ b/heimdal-1.5.3/lib/hcrypto/randi.h >+@@ -40,7 +40,6 @@ >+ >+ extern const RAND_METHOD hc_rand_fortuna_method; >+ extern const RAND_METHOD hc_rand_unix_method; >+-extern const RAND_METHOD hc_rand_egd_method; >+ extern const RAND_METHOD hc_rand_timer_method; >+ extern const RAND_METHOD hc_rand_w32crypto_method; >+ >+diff --git a/heimdal-1.5.3/lib/hcrypto/test_rand.c b/heimdal-1.5.3/lib/hcrypto/test_rand.c >+index c90ed3c..526be9b 100644 >+--- a/heimdal-1.5.3/lib/hcrypto/test_rand.c >++++ b/heimdal-1.5.3/lib/hcrypto/test_rand.c >+@@ -123,10 +123,6 @@ main(int argc, char **argv) >+ else if (strcasecmp(rand_method, "unix") == 0) >+ RAND_set_rand_method(RAND_unix_method()); >+ #endif >+-#ifndef NO_RAND_EGD_METHOD >+- else if (strcasecmp(rand_method, "egd") == 0) >+- RAND_set_rand_method(RAND_egd_method()); >+-#endif >+ #ifdef WIN32 >+ else if (strcasecmp(rand_method, "w32crypto") == 0) >+ RAND_set_rand_method(RAND_w32crypto_method()); >+diff --git a/heimdal-1.5.3/lib/hcrypto/version-script.map b/heimdal-1.5.3/lib/hcrypto/version-script.map >+index 6985d1b..771ab8a 100644 >+--- a/heimdal-1.5.3/lib/hcrypto/version-script.map >++++ b/heimdal-1.5.3/lib/hcrypto/version-script.map >+@@ -226,9 +226,6 @@ HEIMDAL_CRYPTO_1.0 { >+ hc_RAND_add; >+ hc_RAND_bytes; >+ hc_RAND_cleanup; >+- hc_RAND_egd; >+- hc_RAND_egd_bytes; >+- hc_RAND_egd_method; >+ hc_RAND_file_name; >+ hc_RAND_fortuna_method; >+ hc_RAND_get_rand_method; >+diff --git a/heimdal-1.5.3/lib/krb5/crypto-rand.c b/heimdal-1.5.3/lib/krb5/crypto-rand.c >+index 49bd679..0fbd95d 100644 >+--- a/heimdal-1.5.3/lib/krb5/crypto-rand.c >++++ b/heimdal-1.5.3/lib/krb5/crypto-rand.c >+@@ -62,22 +62,8 @@ seed_something(void) >+ /* Calling RAND_status() will try to use /dev/urandom if it exists so >+ we do not have to deal with it. */ >+ if (RAND_status() != 1) { >+-#ifndef _WIN32 >+- krb5_context context; >+- const char *p; >+- >+- /* Try using egd */ >+- if (!krb5_init_context(&context)) { >+- p = krb5_config_get_string(context, NULL, "libdefaults", >+- "egd_socket", NULL); >+- if (p != NULL) >+- RAND_egd_bytes(p, ENTROPY_NEEDED); >+- krb5_free_context(context); >+- } >+-#else >+ /* TODO: Once a Windows CryptoAPI RAND method is defined, we >+ can use that and failover to another method. */ >+-#endif >+ } >+ >+ if (RAND_status() == 1) { >+-- >+2.6.0 >+ >diff --git a/app-crypt/heimdal/heimdal-1.5.3-r3.ebuild b/app-crypt/heimdal/heimdal-1.5.3-r3.ebuild >new file mode 100644 >index 0000000..931f14a >--- /dev/null >+++ b/app-crypt/heimdal/heimdal-1.5.3-r3.ebuild >@@ -0,0 +1,199 @@ >+# Copyright 1999-2015 Gentoo Foundation >+# Distributed under the terms of the GNU General Public License v2 >+# $Id$ >+ >+EAPI=5 >+PYTHON_COMPAT=( python{2_7,3_4} ) >+VIRTUALX_REQUIRED="manual" >+ >+inherit autotools db-use eutils multilib multilib-minimal python-any-r1 toolchain-funcs virtualx flag-o-matic >+ >+MY_P="${P}" >+DESCRIPTION="Kerberos 5 implementation from KTH" >+HOMEPAGE="http://www.h5l.org/" >+SRC_URI="http://www.h5l.org/dist/src/${MY_P}.tar.gz" >+ >+LICENSE="BSD" >+SLOT="0" >+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd" >+IUSE="afs +berkdb caps hdb-ldap ipv6 libressl otp +pkinit selinux ssl static-libs threads test X" >+ >+CDEPEND=" >+ ssl? ( >+ !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] ) >+ libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] ) >+ ) >+ berkdb? ( >=sys-libs/db-4.8.30-r1[${MULTILIB_USEDEP}] ) >+ !berkdb? ( >=sys-libs/gdbm-1.10-r1[${MULTILIB_USEDEP}] ) >+ caps? ( sys-libs/libcap-ng ) >+ >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}] >+ >=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}] >+ sys-libs/ncurses:0= >+ >=sys-libs/readline-6.2_p5-r1[${MULTILIB_USEDEP}] >+ afs? ( net-fs/openafs ) >+ hdb-ldap? ( >=net-nds/openldap-2.3.0 ) >+ X? ( x11-libs/libX11 >+ x11-libs/libXau >+ x11-libs/libXt ) >+ abi_x86_32? ( >+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r1 >+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] >+ ) >+ !!app-crypt/mit-krb5 >+ !!app-crypt/mit-krb5-appl" >+ >+DEPEND="${CDEPEND} >+ ${PYTHON_DEPS} >+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] >+ >=sys-devel/autoconf-2.62 >+ test? ( X? ( ${VIRTUALX_DEPEND} ) )" >+ >+RDEPEND="${CDEPEND} >+ selinux? ( sec-policy/selinux-kerberos )" >+ >+MULTILIB_WRAPPED_HEADERS=( >+ /usr/include/krb5-types.h >+ /usr/include/cms_asn1.h >+ /usr/include/digest_asn1.h >+ /usr/include/hdb_asn1.h >+ /usr/include/krb5_asn1.h >+ /usr/include/pkcs12_asn1.h >+ /usr/include/pkinit_asn1.h >+ /usr/include/rfc2459_asn1.h >+) >+ >+MULTILIB_CHOST_TOOLS=( >+ /usr/bin/krb5-config >+) >+ >+src_prepare() { >+ epatch "${FILESDIR}/heimdal_missing-include.patch" >+ epatch "${FILESDIR}/heimdal_db6.patch" >+ epatch "${FILESDIR}/heimdal_disable-check-iprop.patch" >+ epatch "${FILESDIR}/heimdal_link_order.patch" >+ epatch "${FILESDIR}/heimdal_missing_symbols.patch" >+ epatch "${FILESDIR}/heimdal_texinfo-5.patch" >+ epatch "${FILESDIR}/heimdal_tinfo.patch" >+ epatch "${FILESDIR}/${P}-libressl.patch" >+ eautoreconf >+} >+ >+src_configure() { >+ # QA >+ append-flags -fno-strict-aliasing >+ >+ multilib-minimal_src_configure >+} >+ >+multilib_src_configure() { >+ local myconf=() >+ if use berkdb; then >+ myconf+=( >+ --with-berkeley-db >+ --with-berkeley-db-include="$(db_includedir)" >+ ) >+ else >+ myconf+=( >+ --without-berkeley-db >+ ) >+ fi >+ >+ ECONF_SOURCE=${S} \ >+ econf \ >+ --enable-kcm \ >+ --disable-osfc2 \ >+ --enable-shared \ >+ --with-libintl=/usr \ >+ --with-readline=/usr \ >+ --with-sqlite3=/usr \ >+ --libexecdir=/usr/sbin \ >+ $(use_enable afs afs-support) \ >+ $(use_enable otp) \ >+ $(use_enable pkinit kx509) \ >+ $(use_enable pkinit pk-init) \ >+ $(use_enable static-libs static) \ >+ $(use_enable threads pthread-support) \ >+ $(multilib_native_use_with caps capng) \ >+ $(multilib_native_use_with hdb-ldap openldap /usr) \ >+ $(use_with ipv6) \ >+ $(use_with ssl openssl /usr) \ >+ $(multilib_native_use_with X x) \ >+ "${myconf[@]}" >+} >+ >+multilib_src_compile() { >+ if multilib_is_native_abi; then >+ emake -j1 >+ else >+ emake -C include -j1 >+ emake -C base -j1 >+ emake -C lib -j1 >+ emake -C kdc -j1 >+ emake -C tools -j1 >+ emake -C tests/plugin -j1 >+ fi >+} >+ >+multilib_src_test() { >+ multilib_is_native_abi && emake check >+} >+ >+multilib_src_install() { >+ if multilib_is_native_abi; then >+ INSTALL_CATPAGES="no" emake DESTDIR="${D}" install >+ else >+ emake -C include DESTDIR="${D}" install >+ emake -C base DESTDIR="${D}" install >+ emake -C lib DESTDIR="${D}" install >+ emake -C kdc DESTDIR="${D}" install >+ emake -C tools DESTDIR="${D}" install >+ emake -C tests/plugin DESTDIR="${D}" install >+ fi >+} >+ >+multilib_src_install_all() { >+ dodoc ChangeLog README NEWS TODO >+ >+ # Begin client rename and install >+ for i in {telnetd,ftpd,rshd,popper} >+ do >+ mv "${D}"/usr/share/man/man8/{,k}${i}.8 >+ mv "${D}"/usr/sbin/{,k}${i} >+ done >+ >+ for i in {rcp,rsh,telnet,ftp,su,login,pagsh,kf} >+ do >+ mv "${D}"/usr/share/man/man1/{,k}${i}.1 >+ mv "${D}"/usr/bin/{,k}${i} >+ done >+ >+ mv "${D}"/usr/share/man/man5/{,k}ftpusers.5 >+ mv "${D}"/usr/share/man/man5/{,k}login.access.5 >+ >+ newinitd "${FILESDIR}"/heimdal-kdc.initd-r2 heimdal-kdc >+ newinitd "${FILESDIR}"/heimdal-kadmind.initd-r2 heimdal-kadmind >+ newinitd "${FILESDIR}"/heimdal-kpasswdd.initd-r2 heimdal-kpasswdd >+ newinitd "${FILESDIR}"/heimdal-kcm.initd-r1 heimdal-kcm >+ >+ newconfd "${FILESDIR}"/heimdal-kdc.confd heimdal-kdc >+ newconfd "${FILESDIR}"/heimdal-kadmind.confd heimdal-kadmind >+ newconfd "${FILESDIR}"/heimdal-kpasswdd.confd heimdal-kpasswdd >+ newconfd "${FILESDIR}"/heimdal-kcm.confd heimdal-kcm >+ >+ insinto /etc >+ newins "${FILESDIR}"/krb5.conf krb5.conf.example >+ >+ if use hdb-ldap; then >+ insinto /etc/openldap/schema >+ doins "${S}/lib/hdb/hdb.schema" >+ fi >+ >+ prune_libtool_files >+ >+ # default database dir >+ keepdir /var/heimdal >+ >+ # Ugly hack for broken symlink - bug #417081 >+ rm "${D}"/usr/share/man/man5/qop.5 || die >+ dosym mech.5 /usr/share/man/man5/qop.5 >+} >-- >2.6.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 562374
: 413866