на основной машине до сих пор сижу с блокировками gnome3 уже писал как осуществить /etc/portage/package.mask/package.mask.gnome3
при попытке новой установки gnome-light / мета gnome вылет на gnome-keyring:
есть рабочий patch
но, он не подхватывается автоматом из /etc/portage/patches!
решим правкой ебилда
при попытке новой установки gnome-light / мета gnome вылет на gnome-keyring:
-f 'egg-libgcrypt.c' || echo './'`egg-libgcrypt.c
make[4]: *** [libegg_la-egg-asn1x.lo] Error 1make[4]: *** Waiting for unfinished jobs....
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -O2 -pipe -march=amdfam10 -Wno-strict-aliasing -Wno-sign-compare -c egg-libgcrypt.c -fPIC -DPIC -o .libs/libegg_la-egg-libgcrypt.o
egg-libgcrypt.c: In function 'glib_thread_mutex_init':
egg-libgcrypt.c:57:2: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:273) [-Wdeprecated-declarations]egg-libgcrypt.c: In function 'glib_thread_mutex_destroy':
egg-libgcrypt.c:64:2: warning: 'g_mutex_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) [-Wdeprecated-declarations]make[4]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1/egg' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1/egg'make[3]: *** [all-recursive] Error 1make[3]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1/egg'make[2]: *** [all] Error 2make[2]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1/egg' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1'make[1]: *** [all-recursive] Error 1make[1]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1'make: *** [all] Error 2 * ERROR: gnome-base/gnome-keyring-2.32.1-r2::localoverlay failed (compile phase):
* emake failed
* * If you need support, post the output of `emerge --info '=gnome-base/gnome-keyring-2.32.1-r2::localoverlay'`,
* the complete build log and the output of `emerge -pqv '=gnome-base/gnome-keyring-2.32.1-r2::localoverlay'`.
* The complete build log is located at '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/build.log'.
* The ebuild environment file is located at '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/environment'.
* Working directory: '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1' * S: '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1'
>>> Failed to emerge gnome-base/gnome-keyring-2.32.1-r2, Log file:
>>> '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/build.log'
* Messages for package gnome-base/gnome-keyring-2.32.1-r2:
* ERROR: gnome-base/gnome-keyring-2.32.1-r2::localoverlay failed (compile phase):
* emake failed
* * If you need support, post the output of `emerge --info '=gnome-base/gnome-keyring-2.32.1-r2::localoverlay'`,
* the complete build log and the output of `emerge -pqv '=gnome-base/gnome-keyring-2.32.1-r2::localoverlay'`.
* The complete build log is located at '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/build.log'.
* The ebuild environment file is located at '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/environment'.
* Working directory: '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1' * S: '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1'
есть рабочий patch
но, он не подхватывается автоматом из /etc/portage/patches!
решим правкой ебилда
с установкой локального оверлея:
папка для оверлея:прописываем его в make.conf:mkdir -p /home/allusr/localoverlay/gnome-base/gnome-keyring/files
PORTDIR_OVERLAY=/home/allusr/localoverlay
чтобы portage не ругался (папки создать нужно):
после чего:
http://forums.gentoo.org/viewtopic-p-7601564.html
https://github.com/openembedded/meta-oe/blob/master/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/egg-asn1x.patch
http://highlight.hohli.com/
echo "masters = gentoo" >> /home/allusr/localoverlay/metadata/layout.confсам ебилд
echo "localoverlay" >> /home/allusr/localoverlay/profiles/repo_name
копируем необходимые патчи:
- # Copyright 1999-2014 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- # $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-keyring/gnome-keyring-2.32.1-r1.ebuild,v 1.11 2014/03/01 22:29:51 mgorny Exp $
- EAPI="4"
- GCONF_DEBUG="yes"
- GNOME2_LA_PUNT="yes"
- GNOME_TARBALL_SUFFIX="bz2"
- inherit autotools eutils gnome2 multilib pam virtualx
- DESCRIPTION="Password and keyring managing daemon"
- HOMEPAGE="http://live.gnome.org/GnomeKeyring"
- LICENSE="GPL-2+ LGPL-2+"
- SLOT="0"
- KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
- IUSE="debug pam test"
- # USE=valgrind is probably not a good idea for the tree
- RDEPEND=">=dev-libs/glib-2.25:2
- >=x11-libs/gtk+-2.20:2
- gnome-base/gconf:2
- >=sys-apps/dbus-1.0
- pam? ( virtual/pam )
- >=dev-libs/libgcrypt-1.2.2:0
- >=dev-libs/libtasn1-1"
- # valgrind? ( dev-util/valgrind )"
- DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.9
- >=dev-util/intltool-0.35
- sys-devel/gettext
- virtual/pkgconfig"
- PDEPEND="gnome-base/libgnome-keyring"
- # tests fail in several ways, they should be fixed in the next cycle (bug #340283),
- # revisit then.
- RESTRICT="test"
- src_prepare() {
- DOCS="AUTHORS ChangeLog NEWS README"
- G2CONF="${G2CONF}
- $(use_enable debug)
- $(use_enable test tests)
- $(use_enable pam)
- $(use_with pam pam-dir $(getpam_mod_dir))
- --with-root-certs=${EPREFIX}/usr/share/ca-certificates/
- --enable-acl-prompts
- --enable-ssh-agent
- --enable-gpg-agent
- --with-gtk=2.0"
- # $(use_enable valgrind)
- epatch "${FILESDIR}/${P}-glib-2.32.patch"
- epatch "${FILESDIR}"/egg-asn1x.patch
- eautoreconf
- gnome2_src_prepare
- # Remove silly CFLAGS
- sed 's:CFLAGS="$CFLAGS -Werror:CFLAGS="$CFLAGS:' \
- -i configure.in configure || die "sed failed"
- # Remove DISABLE_DEPRECATED flags
- sed -e '/-D[A-Z_]*DISABLE_DEPRECATED/d' \
- -i configure.in configure || die "sed 2 failed"
- # Fix undefined type in egg-asn1x.c
- epatch "${FILESDIR}/${PN}-2.32.1-fix-undefined.patch"
- }
- src_test() {
- unset DBUS_SESSION_BUS_ADDRESS
- Xemake check || die "emake check failed!"
- }
cp -rfv /usr/portage/gnome-base/gnome-keyring/files/* /home/allusr/localoverlay/gnome-base/gnome-keyring/filesсам patch тудаже запихиваем (cd /home/allusr/localoverlay/gnome-base/gnome-keyring/files && wget https://raw.githubusercontent.com/openembedded/meta-oe/master/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/egg-asn1x.patch):
- Fixed build error with gcc 4.8
- Errors like below
- egg-asn1x.c: In function 'anode_encode_build':
- egg-asn1x.c:1280:7: warning: variable 'type' set but not used [-Wunused-but-set-variable]
- egg-asn1x.c: In function 'traverse_and_prepare':
- egg-asn1x.c:3354:3: warning: passing argument 1 of 'egg_asn1x_create' from incompatible pointer type [enabled by default]
- In file included from egg-asn1x.c:50:0:
- egg-asn1x.h:38:8: note: expected 'const struct static_struct_asn *' but argument is of type 'const struct asn1_static_node *'
- egg-asn1x.c: At top level:
- egg-asn1x.c:3509:1: error: conflicting types for 'egg_asn1x_create'
- In file included from egg-asn1x.c:50:0:
- egg-asn1x.h:38:8: note: previous declaration of 'egg_asn1x_create' was here
- egg-asn1x.c:3572:1: error: conflicting types for 'egg_asn1x_create_quark'
- In file included from egg-asn1x.c:50:0:
- egg-asn1x.h:41:8: note: previous declaration of 'egg_asn1x_create_quark' was here
- egg-asn1x.c:3579:1: error: conflicting types for 'egg_asn1x_create_and_decode'
- In file included from egg-asn1x.c:50:0:
- egg-asn1x.h:44:8: note: previous declaration of 'egg_asn1x_create_and_decode' was here
- make[4]: *** [libegg_la-egg-asn1x.lo] Error 1
- Signed-off-by: Khem Raj <raj.khem@gmail.com>
- Upstream-Status: Pending
- Index: gnome-keyring-2.32.1/egg/egg-asn1x.h
- ===================================================================
- --- gnome-keyring-2.32.1.orig/egg/egg-asn1x.h 2010-10-18 19:11:38.000000000 -0700
- +++ gnome-keyring-2.32.1/egg/egg-asn1x.h 2013-06-11 15:15:00.675399263 -0700
- @@ -25,6 +25,7 @@
- #define EGG_ASN1X_H_
- #include <glib.h>
- +#include <libtasn1.h>
- #ifndef HAVE_EGG_ALLOCATOR
- typedef void* (*EggAllocator) (void* p, gsize);
- @@ -35,13 +36,13 @@
- struct static_struct_asn;
- -GNode* egg_asn1x_create (const struct static_struct_asn *defs,
- +GNode* egg_asn1x_create (const ASN1_ARRAY_TYPE *defs,
- const gchar *type);
- -GNode* egg_asn1x_create_quark (const struct static_struct_asn *defs,
- +GNode* egg_asn1x_create_quark (const ASN1_ARRAY_TYPE *defs,
- GQuark type);
- -GNode* egg_asn1x_create_and_decode (const struct static_struct_asn *defs,
- +GNode* egg_asn1x_create_and_decode (const ASN1_ARRAY_TYPE *defs,
- const gchar *type,
- gconstpointer data,
- gsize n_data);
после чего:
ebuild /home/allusr/localoverlay/gnome-base/gnome-keyring/gnome-keyring-2.32.1-r2.ebuild digestключевая строчка:
>>> Creating Manifest for /home/allusr/localoverlay/gnome-base/gnome-keyring
EMERGE_DEFAULT_OPTS="--quiet-build=n" emerge gnome-keyring
* Applying egg-asn1x.patch ... [ ok ]
PS: ссылки
https://www.linux.org.ru/forum/general/7169422#comment-7170433http://forums.gentoo.org/viewtopic-p-7601564.html
https://github.com/openembedded/meta-oe/blob/master/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/egg-asn1x.patch
http://highlight.hohli.com/
1 комментарий:
Поправь файл деБилда.
# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-keyring/gnome-keyring-2.32.1-r1.ebuild,v 1.11 2014/03/01 22:29:51 mgorny
Exp $
EAPI="4"
На странице норм. В файле "Exp $ " перенесен на след. строчку.
Отправить комментарий