View previous topic :: View next topic |
Author |
Message |
ddc Guru
Joined: 29 Aug 2006 Posts: 525
|
Posted: Wed Mar 19, 2008 10:50 pm Post subject: how to include the xorg patch to the libxcb ebuild ? |
|
|
this is the last libxcb ebuild
Quote: |
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/libxcb-1.1.ebuild,v 1.3 2007/11/07 08:40:01 dberkholz Exp $
# Must be before x-modular eclass is inherited
SNAPSHOT="yes"
inherit x-modular
DESCRIPTION="X C-language Bindings library"
HOMEPAGE="http://xcb.freedesktop.org/"
SRC_URI="http://xcb.freedesktop.org/dist/${P}.tar.bz2"
LICENSE="X11"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE="doc"
RDEPEND="x11-libs/libXau
x11-libs/libXdmcp
dev-libs/libpthread-stubs"
DEPEND="${RDEPEND}
doc? ( app-doc/doxygen )
dev-libs/libxslt
~x11-proto/xcb-proto-${PV}"
CONFIGURE_OPTIONS="$(use_enable doc build-docs)"
pkg_postinst() {
x-modular_pkg_postinst
elog "libxcb-1.1 adds the LIBXCB_ALLOW_SLOPPY_LOCK variable to allow"
elog "broken applications to keep running instead of being aborted."
elog "Set this variable if you need to use broken packages such as Java"
elog "(for example, add LIBXCB_ALLOW_SLOPPY_LOCK=1 to /etc/env.d/00local"
elog "and run env-update)."
}
|
as you can read the solution is to export LIBXCB_ALLOW_SLOPPY_LOCK=1
but i note you don't need to set this VAR in slackware v12: java is working good the same
so, checking at Xorg, i found this patch
Quote: |
--- ./src/xcb_xlib.c.orig 2006-11-02 19:38:00.000000000 -0600
+++ ./src/xcb_xlib.c 2007-03-29 19:08:45.000000000 -0500
@@ -38,18 +38,20 @@
void xcb_xlib_lock(xcb_connection_t *c)
{
_xcb_lock_io(c);
- assert(!c->xlib.lock);
- c->xlib.lock = 1;
- c->xlib.thread = pthread_self();
+ if (!c->xlib.lock) {
+ c->xlib.lock = 1;
+ c->xlib.thread = pthread_self();
+ }
_xcb_unlock_io(c);
}
void xcb_xlib_unlock(xcb_connection_t *c)
{
_xcb_lock_io(c);
- assert(c->xlib.lock);
- assert(pthread_equal(c->xlib.thread, pthread_self()));
- c->xlib.lock = 0;
- pthread_cond_broadcast(&c->xlib.cond);
+ if (c->xlib.lock) {
+ assert(pthread_equal(c->xlib.thread, pthread_self()));
+ c->xlib.lock = 0;
+ pthread_cond_broadcast(&c->xlib.cond);
+ }
_xcb_unlock_io(c);
}
|
questions
1) why this patch has not been included into the last one libxcb ebuld ?
2) how to include it ? i mean who has to been contacted to add the patch into the libxcb ebuild ?
regards
Last edited by ddc on Thu Mar 20, 2008 12:29 am; edited 1 time in total |
|
Back to top |
|
|
JoseJX Retired Dev
Joined: 28 Apr 2002 Posts: 2774
|
Posted: Wed Mar 19, 2008 10:53 pm Post subject: |
|
|
You should post a bug in Gentoo's bugzilla, informing the maintainer of the package that this patch is available. The maintainer can be found by either looking at the package's metadata or looking on packages.gentoo.org. _________________ Gentoo PPC FAQ: http://www.gentoo.org/doc/en/gentoo-ppc-faq.xml |
|
Back to top |
|
|
ddc Guru
Joined: 29 Aug 2006 Posts: 525
|
Posted: Thu Mar 20, 2008 12:16 am Post subject: |
|
|
could you it for me : P ? |
|
Back to top |
|
|
ddc Guru
Joined: 29 Aug 2006 Posts: 525
|
Posted: Thu Mar 20, 2008 12:24 am Post subject: |
|
|
for people who wants to fix the issue while we wait the maintainer to update the ebuild
download this http://www.webalice.it/speeder/gentoo-ppc/libxcb-1.1.hacked.tar.bz2
mv libxcb-1.1.hacked.tar.bz2 /usr/portage/distfiles/libxcb-1.1.tar.bz2
cd /usr/portage/x11-libs/libcxb
nano ebuild-1.1.ebuild .... modify KEYWORD to have ppc (not ~ppc)
ebuild libcxb-1.1.ebuild digest
emerge libxcb
have fun : P |
|
Back to top |
|
|
depontius Advocate
Joined: 05 May 2004 Posts: 3509
|
Posted: Thu Mar 27, 2008 12:43 pm Post subject: Good news coming... |
|
|
The whole libxcb/locking thing is going away: http://lwn.net/Articles/273724/
The relevant text is a few paragraphs down:
Code: | This allows us to discard large quantities of synchronization code from
Xlib/XCB, together with the synchronization bugs present in that code.
Several test cases which previously failed now work perfectly, including
multi-threaded ico. In addition, the infamous locking correctness
assertions, triggered when double-locking or when unlocking without a
previous lock, no longer exist, because Xlib/XCB no longer has any
reason to care more about application locking than traditional Xlib
does.
Let's repeat that for emphasis: the locking assertions *no longer
exist*. Existing Xlib applications with buggy locking will now work just
as well, or as badly, as they did with traditional Xlib.
|
Not only that, it will make things even faster. Now it's just a question of when this finds its way into the stable tree... _________________ .sigs waste space and bandwidth |
|
Back to top |
|
|
ddc Guru
Joined: 29 Aug 2006 Posts: 525
|
Posted: Thu Mar 27, 2008 7:40 pm Post subject: |
|
|
slackware and ubuntu are using the new libxcb .... gentoo is not using it in his stable tree ....
i wander way ... |
|
Back to top |
|
|
|