Hi all,
as announced previously I have good news: We have a very large set of packages for the following distributions:
And now we can say x2go is enterprise-ready:
At this point I would like to thank Jan Engelhardt - Without him this wouldn't had been possible in such a short period of time.
To see the full OBS project please take a look at:
https://build.opensuse.org/project/monitor?project=home%3Ajengelh%3Abranches...
To add the repositories, please navigate to:
http://download.opensuse.org/repositories/home:/jengelh:/branches:/X11:/Remo...
The SUSE based packages have been tested and are working great. All distributions have been built to only depend on what is included within the base distro packages. We are _not_ amused by the behaviour like Red Hat works with extended packages they don't want to give support for (like by calling EPEL "a well-maintained" repository [1]). We also must say, that the "modern" versions have been a lot "easier" than the rest, just because of the dependency stuff. All packages have been verified through all kind of (and sometimes also super weird stict) brpchecks and rpmlint checks, so the package format should be fine with about any distro which takes care of clean buildroot-based package building.
There has been a lot of effort to generalize the packages to have just one single SPEC-file for on package on all distros. This resulted in various patches we kindly request to get upstream, as we really think these patches are a great enhancement.
As a result of what we had as a code base and the build requirements we were not able to provide x2goplasmabindings for the older (enterprise) distributions, for example.
Now about what's coming next:
Feel free to comment, suggest, whatever - Thanks!
Just for the fun - some numbers:
Patch sizes (lines):
find . -iname "*.diff" | xargs -l1 wc -l | sort -rn 2382 ./nx-libs/unique-libnames.diff 380 ./nx-libs/parallel-make.diff 180 ./nx-libs/honor-ac-dirs.diff 122 ./nx-libs/standard-dirs.diff 102 ./nx-libs/so-version.diff 98 ./nx-libs/use-shared-libs.diff 92 ./x2goserver/man2html.diff 74 ./nx-libs/configure-args.diff 64 ./fdupes/fdupes-sort-output.diff 51 ./vh-man2html/man2html-automake.diff 45 ./fdupes/fdupes.diff 34 ./libssh/remove-pedantic-errors.diff 26 ./x2goclient/protos.diff 24 ./nx-libs/no-x11r6.diff 22 ./x2goserver/parallel-make.diff 22 ./x2goclient/parallel-make.diff 22 ./x2goclient/man2html.diff 22 ./x2goclient/fd729eb-fix-segfault.diff 16 ./x2gognomebindings/implicit.diff 13 ./cmake/cmake-disable-builtin-chrpath.diff
Spec sizes (lines):
find . -iname "*.spec" | xargs -l1 wc -l | sort -rn 1736 ./nx-libs/nx-libs.spec 250 ./x2gothinclient/x2gothinclient.spec 196 ./x2goserver/x2goserver.spec 148 ./xz/xz.spec 134 ./libssh/libssh.spec 130 ./libcap/libcap.spec 111 ./x2goclient/x2goclient.spec 105 ./libevent/libevent.spec 105 ./cmake/cmake.spec 97 ./cmake/cmake-gui.spec 95 ./perl-DBD-SQLite/perl-DBD-SQLite.spec 88 ./perl-DBI/perl-DBI.spec 82 ./python-x2go/python-x2go.spec 78 ./perl-macros/perl-macros.spec 77 ./x2gognomebindings/x2gognomebindings.spec 76 ./python-greenlet/python-greenlet.spec 76 ./perl-Config-Simple/perl-Config-Simple.spec 71 ./x2godesktopsharing/x2godesktopsharing.spec 71 ./pinentry-x2go/pinentry-x2go.spec 71 ./cups-x2go/cups-x2go.spec 70 ./python-pycrypto/python-pycrypto.spec 68 ./qmake/qmake.spec 68 ./python-distribute/python-distribute.spec 67 ./x2golxdebindings/x2golxdebindings.spec 67 ./python-gevent/python-gevent.spec 66 ./x2goplasmabindings/x2goplasmabindings.spec 62 ./vh-man2html/vh-man2html.spec 61 ./python-paramiko/python-paramiko.spec 61 ./fdupes/fdupes.spec 53 ./eh-man2html/eh-man2html.spec 43 ./makepasswd/makepasswd.spec
Best regards,
[1] https://www.redhat.com/archives/spacewalk-devel/2011-October/msg00058.html
On Sun, Feb 12, 2012 at 12:55 PM, Michael Kromer <mkromer@medozas.de> wrote:
as announced previously I have good news: We have a very large set of packages for the following distributions:
That is some very impressive work! I like how you fixed it so parallel make can work again, I was wondering why that was not working before.
I would like to test all your patches to the nx-libs redisributed tarball, but I am unsure how to do it. I am running Archlinux, and to use the packaging system the best way is just to follow the same procedure as building a program from source code.
If I want to build the nx-libs redistributed from source, what patch files from your RPMs should I use, and in what order should I apply the patches?
After I apply the patches, will I be able to do a standard
$ ./configure --prefix=/usr $ make # make DESTDIR="$fakerootdir" install
procedure to build and install the libraries, nxagent, x2goagent, nxproxy ?
Hi Michael,
On So 12 Feb 2012 21:55:27 CET Michael Kromer wrote:
At this point I would like to thank Jan Engelhardt - Without him
this wouldn't had been possible in such a short period of time.
Thanks from my side as well!!!
There has been a lot of effort to generalize the packages to have
just one single SPEC-file for on package on all distros. This
resulted in various patches we kindly request to get upstream, as we
really think these patches are a great enhancement.
We are currently evaluating the patches and will apply those we
consider appropriate (that is: probably those that patch against X2Go
components) during the coming week.
Greets+Thanks!!!! Mike
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
Hi Michael, hi Jan, hi all,
most of Jan's patches have been included (accepted) by NX
(redistributed). For details see below.
On So 12 Feb 2012 21:55:27 CET Michael Kromer wrote:
2382 ./nx-libs/unique-libnames.diff
Mike loves this one!!! Especially thanks for this piece of awesome
work. If I take a look at the file list of the Debian package
libnx-x11, I can still see some lib files that are not renamed to the
new scheme (libNX_<name>.so). Does this need some more fine-tuning?
http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=07f9dfa05ab83e094e8...
380 ./nx-libs/parallel-make.diff
Accepted... http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=ba589d1fd264f3ad3fb...
180 ./nx-libs/honor-ac-dirs.diff
Accepted... http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=c621c22f820ec22fe7d...
122 ./nx-libs/standard-dirs.diff
REJECTED!
libXcomp* are unusable outside of the /usr/${libdir}/nx context. So it
is misleading to place them into /usr/${libdir}. Thus -> patch denied.
102 ./nx-libs/so-version.diff
Partially accepted: http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=c26e4bd825826462fc7...
98 ./nx-libs/use-shared-libs.diff
Accepted: http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=8d6d0a921889498601c...
92 ./x2goserver/man2html.diff
Accepted: http://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=53ce826d7ea804ca...
74 ./nx-libs/configure-args.diff
Accepted (and slightly modified): http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=280d8751c36b6585c06... http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=9282c00e2aaa0240480...
64 ./fdupes/fdupes-sort-output.diff
non-X2Go patch
51 ./vh-man2html/man2html-automake.diff
non-X2Go patch
45 ./fdupes/fdupes.diff
non-X2Go patch
34 ./libssh/remove-pedantic-errors.diff
non-X2Go patch
26 ./x2goclient/protos.diff
Accepted: http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=559ea316782420e2...
24 ./nx-libs/no-x11r6.diff
Accepted: http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=3deee8f94983ea6c072...
22 ./x2goserver/parallel-make.diff
Accepted: http://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=745b2b21be2df3a9...
22 ./x2goclient/parallel-make.diff
Accepted: http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=8e2e6e98aa3fb772...
22 ./x2goclient/man2html.diff
Accepted: http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=215a52f446e11be2...
22 ./x2goclient/fd729eb-fix-segfault.diff
Already in latest version / X2Go Git.
16 ./x2gognomebindings/implicit.diff
http://code.x2go.org/gitweb?p=x2gognomebindings.git;a=commitdiff;h=4e859b25c...
13 ./cmake/cmake-disable-builtin-chrpath.diff
non-X2Go patch
Keep up the great(!!!) work. Thanks! Mike
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
On Wednesday 2012-02-15 10:27, Mike Gabriel wrote:
Hi Michael, hi Jan, hi all,
most of Jan's patches have been included (accepted) by NX (redistributed).
This implies what? I thought NoMachine closed down NX such that X2go is now "without a parent" so to speak, and thus the new authoritative source. Or not?
On So 12 Feb 2012 21:55:27 CET Michael Kromer wrote:
2382 ./nx-libs/unique-libnames.diff
Mike loves this one!!! Especially thanks for this piece of awesome work. If I take a look at the file list of the Debian package libnx-x11, I can still see some lib files that are not renamed to the new scheme (libNX_<name>.so). Does this need some more fine-tuning?
Xcomp, Xcompext and Xcompshad are specific to NX and did not clash with any Xorg-X11 lib, so I chose not to add a prefix at first. But I do not really mind them getting a NX_ prefix either. The pkgconfig files also need updating, they still show the old names.
[It would have also been a lot easier if NX/x2go used X11R7 as a base. Imakefiles make sick and the specfile is huge.]
122 ./nx-libs/standard-dirs.diff
REJECTED! libXcomp* are unusable outside of the /usr/${libdir}/nx context. So it is misleading to place them into /usr/${libdir}. Thus -> patch denied.
The three libs are placed into /usr/lib/nx while all the other NX-specific libs are in /usr/X11R6/lib/nx.. an inexplicible discrepancy. Suffice to say /usr/X11R6 is obsolete now and the libs that previously lived there are now in /usr.
102 ./nx-libs/so-version.diff
Partially accepted: http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=c26e4bd825826462fc7...
The question here is whether someone populated the SO version with the package version because they had nothing better to do, or because they are vowing to newer remove/change any existing interface until .so.4. There was no way to tell, hence using this patch.-- which, as I review it, notice that it is incomplete.
24 ./nx-libs/no-x11r6.diff
Accepted: http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=3deee8f94983ea6c072...
Actually I threw this patch out again and replaced it by
%prep
# Need to do this since %%nxprefix (resp. %%_libexecdir) is variadic.
perl -i -pe 's{^(#define ProjectRoot)\s.*}{$1 %nxprefix}'
nx-X11/config/cf/site.def;
because libexecdir is not necessarily /usr/lib, but e.g. /usr/libexec.
Hi Jan,
On Mi 15 Feb 2012 23:15:31 CET Jan Engelhardt wrote:
On Wednesday 2012-02-15 10:27, Mike Gabriel wrote:
Hi Michael, hi Jan, hi all,
most of Jan's patches have been included (accepted) by NX (redistributed).
This implies what? I thought NoMachine closed down NX such that X2go is now "without a parent" so to speak, and thus the new authoritative source. Or not?
NoMachine is still active on NX 3.5. And, they have a high latency
responsiveness compared to other upstream projects.
X2Go acts as a buffer. We are not NX original upstream. We are
redistributors. And: we have a pile of patches that we include with
,,NX (redistributed)''.
I personally have contact with NoMachine, but their replies are very
general and not very precise on what patch they include and what not
and when that might be. ,,NX (redistributed)'' aims at being
independent from that.
Our Git structure, however, is patch based. So we can easily import
newer NoMachine tarballs, see the diff to the former tarball. After a
tarball import from NoMachine we have to adapt our patches.
On So 12 Feb 2012 21:55:27 CET Michael Kromer wrote:
2382 ./nx-libs/unique-libnames.diff
Mike loves this one!!! Especially thanks for this piece of awesome work. If I take a look at the file list of the Debian package libnx-x11, I can still see some lib files that are not renamed to the new scheme (libNX_<name>.so). Does this need some more fine-tuning?
Xcomp, Xcompext and Xcompshad are specific to NX and did not clash with any Xorg-X11 lib, so I chose not to add a prefix at first. But I do not really mind them getting a NX_ prefix either. The pkgconfig files also need updating, they still show the old names.
There some more, how about those?
mike@minobo:~/MyDocuments/4projects/nwt-git/build/cowdancer$ dpkg -L
libnx-x11 | grep -v NX_
/.
/usr
/usr/lib
/usr/lib/nx
/usr/lib/nx/X11
/usr/lib/nx/X11/Xinerama
/usr/lib/nx/X11/libXcomp.so
/usr/lib/nx/X11/libximcp.so
/usr/lib/nx/X11/libxlcDef.so
/usr/lib/nx/X11/libxlcUTF8Load.so
/usr/lib/nx/X11/libxlibi18n.so
/usr/lib/nx/X11/libxlocale.so
/usr/lib/nx/X11/libxomGeneric.so
/usr/share
/usr/share/nx
/usr/share/nx/SecurityPolicy
/usr/share/doc
/usr/share/doc/libnx-x11
/usr/share/doc/libnx-x11/copyright
/usr/share/doc/libnx-x11/changelog.gz
/usr/share/doc/libnx-x11/changelog.Debian.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libnx-x11
/usr/lib/nx/X11/libXcomp.so.1
/usr/lib/nx/X11/libximcp.so.2
/usr/lib/nx/X11/libxlcDef.so.2
/usr/lib/nx/X11/libxlcUTF8Load.so.2
/usr/lib/nx/X11/libxlibi18n.so.2
/usr/lib/nx/X11/libxlocale.so.2
/usr/lib/nx/X11/libxomGeneric.so.2
[It would have also been a lot easier if NX/x2go used X11R7 as a base. Imakefiles make sick and the specfile is huge.]
Yes, this needs a refactoring of NX in its guts. Probably the reason,
why noone has addressed that, yet.
122 ./nx-libs/standard-dirs.diff
REJECTED! libXcomp* are unusable outside of the /usr/${libdir}/nx context. So it is misleading to place them into /usr/${libdir}. Thus -> patch denied.
The three libs are placed into /usr/lib/nx while all the other NX-specific libs are in /usr/X11R6/lib/nx.. an inexplicible discrepancy. Suffice to say /usr/X11R6 is obsolete now and the libs that previously lived there are now in /usr.
Oh... we (Debian packaging) install into /usr/lib/nx/X11... So this
should be fixed in the Imake files?
102 ./nx-libs/so-version.diff
Partially accepted: http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=c26e4bd825826462fc7...
The question here is whether someone populated the SO version with the package version because they had nothing better to do, or because they are vowing to newer remove/change any existing interface until .so.4. There was no way to tell, hence using this patch.-- which, as I review it, notice that it is incomplete.
Incomplete in what way?
24 ./nx-libs/no-x11r6.diff
Accepted: http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=3deee8f94983ea6c072...
Actually I threw this patch out again and replaced it by
%prep # Need to do this since %%nxprefix (resp. %%_libexecdir) is variadic. perl -i -pe 's{^(#define ProjectRoot)\s.*}{$1 %nxprefix}'
nx-X11/config/cf/site.def;because libexecdir is not necessarily /usr/lib, but e.g. /usr/libexec.
I will build a preview tarball of nx-libs soon. Could you simply patch
against that one?
Other option is that you work on our nx-libs.git directly and send
your patches via mail.
Thanks!!!
Mike
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
On Wednesday 2012-02-15 23:56, Mike Gabriel wrote:
Xcomp, Xcompext and Xcompshad are specific to NX and did not clash with any Xorg-X11 lib, so I chose not to add a prefix at first. But I do not really mind them getting a NX_ prefix either. The pkgconfig files also need updating, they still show the old names.
There some more, how about those?
mike@minobo:~/MyDocuments/4projects/nwt-git/build/cowdancer$ dpkg -L libnx-x11 | grep -v NX_ /usr/lib/nx/X11/libximcp.so.2 /usr/lib/nx/X11/libxlcDef.so.2 /usr/lib/nx/X11/libxlcUTF8Load.so.2 /usr/lib/nx/X11/libxlibi18n.so.2 /usr/lib/nx/X11/libxlocale.so.2 /usr/lib/nx/X11/libxomGeneric.so.2
ximcp et al is not installed by make install
, hence it was left untouched.
That is also my beef with all the non-NX-inherited packages (x2goclient,
x2goserver), that there is no, or an incomplete make install
and
therefore have to tediously call install(1) manually in rpmspec's
%install.
122 ./nx-libs/standard-dirs.diff
REJECTED! libXcomp* are unusable outside of the /usr/${libdir}/nx context. So it is misleading to place them into /usr/${libdir}. Thus -> patch denied.
The three libs are placed into /usr/lib/nx while all the other NX-specific libs are in /usr/X11R6/lib/nx.. an inexplicible discrepancy. Suffice to say /usr/X11R6 is obsolete now and the libs that previously lived there are now in /usr.
Oh... we (Debian packaging) install into /usr/lib/nx/X11... So this should be fixed in the Imake files?
As per the Makefile (for example, compshad's Makefile):
$(INSTALL_LINK) libXcompshad.so.3 $(DESTDIR)$(prefix)/lib/nx
Therefore, the libs will be placed - by default - into /usr/lib/nx
(assuming prefix=/usr). How you manage to get it into /usr/lib/nx/X11
I will declare as a riddle, but I guess the culprit are Debian's
debian/*.install files which seem to completely throw make install
results overboard.
102 ./nx-libs/so-version.diff
Partially accepted: http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=c26e4bd825826462fc7...
The question here is whether someone populated the SO version with the package version because they had nothing better to do, or because they are vowing to newer remove/change any existing interface until .so.4. There was no way to tell, hence using this patch.-- which, as I review it, notice that it is incomplete.
Incomplete in what way?
If one chooses to use libXcompshad-3.5.0.so, the SONAME should reflect that and (as a result) there should be no libXcompshad.so.3 link either (because the SONAME is not libXcompshad.so.3 any longer).
Actually I threw this patch out again and replaced it by
%prep # Need to do this since %%nxprefix (resp. %%_libexecdir) is variadic. perl -i -pe 's{^(#define ProjectRoot)\s.*}{$1 %nxprefix}'
nx-X11/config/cf/site.def;because libexecdir is not necessarily /usr/lib, but e.g. /usr/libexec.
I will build a preview tarball of nx-libs soon. Could you simply patch against that one?
It's a command inside the nx-libs.spec file I have. It is nothing that could be patched in nx-libs/, because nx-libs does not provide for something like
./configure --libexecdir=/usr/myfunnyplace/NX3
to be run.
Hi Jan,
On Do 16 Feb 2012 00:28:40 CET Jan Engelhardt wrote:
On Wednesday 2012-02-15 23:56, Mike Gabriel wrote:
Xcomp, Xcompext and Xcompshad are specific to NX and did not clash with any Xorg-X11 lib, so I chose not to add a prefix at first. But I do not really mind them getting a NX_ prefix either. The pkgconfig files also need updating, they still show the old names.
There some more, how about those?
mike@minobo:~/MyDocuments/4projects/nwt-git/build/cowdancer$ dpkg
-L libnx-x11 | grep -v NX_ /usr/lib/nx/X11/libximcp.so.2 /usr/lib/nx/X11/libxlcDef.so.2 /usr/lib/nx/X11/libxlcUTF8Load.so.2 /usr/lib/nx/X11/libxlibi18n.so.2 /usr/lib/nx/X11/libxlocale.so.2 /usr/lib/nx/X11/libxomGeneric.so.2ximcp et al is not installed by
make install
, hence it was left untouched. That is also my beef with all the non-NX-inherited packages (x2goclient, x2goserver), that there is no, or an incompletemake install
and therefore have to tediously call install(1) manually in rpmspec's %install.
We love to receive patches that fix the Makefiles. We ourselves do not
need the install/uninstall stuff in the Makefiles as we use the
debhelper packaging for Debian. Getting Makefiles straight in upstream
is our courtesy to people packaging for other distros. Any patch that
improves this, will get accepted, unless it breaks something completely.
122 ./nx-libs/standard-dirs.diff
REJECTED! libXcomp* are unusable outside of the /usr/${libdir}/nx context. So it is misleading to place them into /usr/${libdir}. Thus -> patch denied.
The three libs are placed into /usr/lib/nx while all the other NX-specific libs are in /usr/X11R6/lib/nx.. an inexplicible discrepancy. Suffice to say /usr/X11R6 is obsolete now and the libs that previously lived there are now in /usr.
Oh... we (Debian packaging) install into /usr/lib/nx/X11... So this
should be fixed in the Imake files?As per the Makefile (for example, compshad's Makefile):
$(INSTALL_LINK) libXcompshad.so.3 $(DESTDIR)$(prefix)/lib/nx
Therefore, the libs will be placed - by default - into /usr/lib/nx (assuming prefix=/usr). How you manage to get it into /usr/lib/nx/X11
libXcomp* -> /usr/lib/nx/ nx-X11 & co -> /usr/lib/nx/X11
I will declare as a riddle, but I guess the culprit are Debian's debian/*.install files which seem to completely throw
make install
results overboard.
Yes, the magic is in /debian/*.install.
102 ./nx-libs/so-version.diff
Partially accepted: http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=c26e4bd825826462fc7...
The question here is whether someone populated the SO version with the package version because they had nothing better to do, or because they are vowing to newer remove/change any existing interface until .so.4. There was no way to tell, hence using this patch.-- which, as I review it, notice that it is incomplete.
Incomplete in what way?
If one chooses to use libXcompshad-3.5.0.so, the SONAME should reflect that and (as a result) there should be no libXcompshad.so.3 link either (because the SONAME is not libXcompshad.so.3 any longer).
In Debian the libs look like this:
libXcompshad.so (symlink) libXcompshad.so.3 (symlink) libXcompshad.so.3.5.0
Using libXcompshad-3.5.0.so is only second choice, as described here: http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-runt...
Actually I threw this patch out again and replaced it by
%prep # Need to do this since %%nxprefix (resp. %%_libexecdir) is variadic. perl -i -pe 's{^(#define ProjectRoot)\s.*}{$1 %nxprefix}'
nx-X11/config/cf/site.def;because libexecdir is not necessarily /usr/lib, but e.g. /usr/libexec.
I will build a preview tarball of nx-libs soon. Could you simply
patch against that one?It's a command inside the nx-libs.spec file I have. It is nothing that could be patched in nx-libs/, because nx-libs does not provide for something like
./configure --libexecdir=/usr/myfunnyplace/NX3
to be run.
Ah... ok... I guess I leave the patch in for now, anyway.
Mike
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
On Thursday 2012-02-16 00:40, Mike Gabriel wrote:
Using libXcompshad-3.5.0.so is only second choice, as described here: http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-runt...
(That just echoes what's written on the opensuse page; though arguably I edited a lot of it). ""Every time the shared library ABI changes in a way that may break binaries [...] the SONAME of the library [...] should change.""
A heuristic that this change is done consistently is for example when the SO version is different from the package version (e.g. libgcrypt11 for libgcrypt-1.5.0). The antipole is that it's not done at all. So when the SO version == package version, it sure is going to raise some eyebrows, and perhaps jumping a gun when it cannot be established that the numbering is not a mistake (and with NoMachine being virtually unavailable...)
Am 15.02.2012 10:27, schrieb Mike Gabriel:
[...............]
2382 ./nx-libs/unique-libnames.diff
Mike loves this one!!! Especially thanks for this piece of awesome work. If I take a look at the file list of the Debian package libnx-x11, I can still see some lib files that are not renamed to the new scheme (libNX_<name>.so). Does this need some more fine-tuning?
http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=07f9dfa05ab83e094e8...
[..............]
Unfortunately, this patch breaking functionality of Xinerama. It rename libXinerama* to libNX_Xinerama*, which make impossible for X clients to find a modified version of Xinerama library under /usr/lib/nx/X11/Xinerama and they using a system libXinerama instead.
Simple making links /usr/lib/nx/X11/Xinerama/libNX_Xinerama* -> /usr/lib/nx/X11/Xinerama/libXinerama* don't work, because due to new build procedure libXinerama is linked against libNX_Xext and libNX_X11, not libXext and libX11.
As solution, I can suggest:
leave libNX_Xinerama* under /usr/lib/nx/X11/ make symbolic links /usr/lib/nx/X11/libNX_Xinerama* -> /usr/lib/nx/X11/Xinerama/libXinerama*
link system libraries libX11 and libXext into /usr/lib/nx/X11/Xinerama /usr/lib/libX11* -> /usr/lib/nx/X11/Xinerama/libNX_X11* /usr/lib/libXext* -> /usr/lib/nx/X11/Xinerama/libNX_Xext*
Oleksandr Shneyder Dipl. Informatik X2go Core Developer Team
email: oleksandr.shneyder@obviously-nice.de web: www.obviously-nice.de
--> X2go - everywhere@home
On Thursday 2012-02-16 09:06, Oleksandr Shneyder wrote:
http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=07f9dfa05ab83e094e8...
Unfortunately, this patch breaking functionality of Xinerama. It rename libXinerama* to libNX_Xinerama*, which make impossible for X clients to find a modified version of Xinerama library under /usr/lib/nx/X11/Xinerama and they using a system libXinerama instead.
Simple making links /usr/lib/nx/X11/Xinerama/libNX_Xinerama* -> /usr/lib/nx/X11/Xinerama/libXinerama* don't work, because due to new build procedure libXinerama is linked against libNX_Xext and libNX_X11, not libXext and libX11.
I don't know about the Xinerama/ subdirectory, it does not get installed by nx-libs.
But symlinking of /usr/lib/nx/X11/libXext.so.6 to /usr/lib/nx/X11/libNX_Xext.so.6 should work (talking about LD_LIBRARY_PATH- using programs) as long as the SONAME stays NX_Xext for automatic dependency finding of rpm (and perhaps deb?).
As solution, I can suggest:
leave libNX_Xinerama* under /usr/lib/nx/X11/ make symbolic links /usr/lib/nx/X11/libNX_Xinerama* -> /usr/lib/nx/X11/Xinerama/libXinerama*
link system libraries libX11 and libXext into /usr/lib/nx/X11/Xinerama /usr/lib/libX11* -> /usr/lib/nx/X11/Xinerama/libNX_X11* /usr/lib/libXext* -> /usr/lib/nx/X11/Xinerama/libNX_Xext*
You cannot touch my xorg-x11 libs.
Am 16.02.2012 23:24, schrieb Jan Engelhardt:
On Thursday 2012-02-16 09:06, Oleksandr Shneyder wrote:
http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=07f9dfa05ab83e094e8...
Unfortunately, this patch breaking functionality of Xinerama. It rename libXinerama* to libNX_Xinerama*, which make impossible for X clients to find a modified version of Xinerama library under /usr/lib/nx/X11/Xinerama and they using a system libXinerama instead.
Simple making links /usr/lib/nx/X11/Xinerama/libNX_Xinerama* -> /usr/lib/nx/X11/Xinerama/libXinerama* don't work, because due to new build procedure libXinerama is linked against libNX_Xext and libNX_X11, not libXext and libX11.
I don't know about the Xinerama/ subdirectory, it does not get installed by nx-libs.
It is a X2Go patch. It enable support for more as one display (for example thinclients with multihead)
But symlinking of /usr/lib/nx/X11/libXext.so.6 to /usr/lib/nx/X11/libNX_Xext.so.6 should work (talking about LD_LIBRARY_PATH- using programs) as long as the SONAME stays NX_Xext for automatic dependency finding of rpm (and perhaps deb?).
It is wrong solution. Only (nx|x2go)agent should be linked against nx-libs. X-clients should be linked against system X libraries. Exception is libXinerama. Against this library should be linked both - agent and client. But in case of agent libXinerama should use libXext and libX11 from nx-libs and in case of clients it should use the same libraries from system. For this reasons we exporting LD_LIBRARY_PATH=/usr/lib/nx/X11 by start of agent and LD_LIBRARY_PATH=/usr/lib/nx/X11/Xinerama (*but not /usr/lib/nx/X11*) by start of desktop environment.
As solution, I can suggest:
leave libNX_Xinerama* under /usr/lib/nx/X11/ make symbolic links /usr/lib/nx/X11/libNX_Xinerama* -> /usr/lib/nx/X11/Xinerama/libXinerama*
link system libraries libX11 and libXext into /usr/lib/nx/X11/Xinerama /usr/lib/libX11* -> /usr/lib/nx/X11/Xinerama/libNX_X11* /usr/lib/libXext* -> /usr/lib/nx/X11/Xinerama/libNX_Xext*
You cannot touch my xorg-x11 libs.
I don't want to touch your xorg-x11 libs, I just want to make links from them to /usr/lib/nx/X11/Xinerama/ : ln -s /usr/lib/libX11.so.6 /usr/lib/nx/X11/Xinerama/libNX_X11.so.6 ln -s /usr/lib/libXext.so.6 /usr/lib/nx/X11/Xinerama/libNX_Xext.so.6
libXinerama should use a system libX11 and libXext. But because of your patch now it linked against libNX_X11 and libNX_Xext. This is why we should create such symbolic links.
X2Go-Dev mailing list X2Go-Dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/x2go-dev
Oleksandr Shneyder Dipl. Informatik X2go Core Developer Team
email: oleksandr.shneyder@obviously-nice.de web: www.obviously-nice.de
--> X2go - everywhere@home
Hi Alex, hi Jan,
@Alex: Could you please check if my last commit on nx-libs.git fixes
Xinerama support in with X2Go?
http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=ec47c22c264bd2f1d2c...
On Fr 17 Feb 2012 09:16:59 CET Oleksandr Shneyder wrote:
I don't want to touch your xorg-x11 libs, I just want to make links from them to /usr/lib/nx/X11/Xinerama/ : ln -s /usr/lib/libX11.so.6 /usr/lib/nx/X11/Xinerama/libNX_X11.so.6 ln -s /usr/lib/libXext.so.6 /usr/lib/nx/X11/Xinerama/libNX_Xext.so.6
libXinerama should use a system libX11 and libXext. But because of your patch now it linked against libNX_X11 and libNX_Xext. This is why we should create such symbolic links.
The below dir tree reflects what gets installed with the latest
libnx-x11 package for Debian/Ubuntu. This installation approach
results from the debhelper .install and .link file
(debian/libnx-x11.install, debian/libnx-x11.links) -- not from the
nx-X11 Makefile.
The nx-X11 Makefile still has to be tweaked to do the same. (Jan?)
Greets, Mike
. ├── libXcomp.a ├── libXcompext.so -> libXcompext.so.3.5.0 ├── libXcompext.so.3 -> libXcompext.so.3.5.0 ├── libXcompext.so.3.5.0 ├── libXcompshad.a ├── libXcompshad.so -> libXcompshad.so.3.5.0 ├── libXcompshad.so.3 -> libXcompshad.so.3.5.0 ├── libXcompshad.so.3.5.0 ├── libXcomp.so -> libXcomp.so.3.5.0 ├── libXcomp.so.3 -> libXcomp.so.3.5.0 ├── libXcomp.so.3.5.0 ├── nxagent ├── nxauth ├── nxproxy └── X11 ├── libNX_expat.so ├── libNX_expat.so.0 -> libNX_expat.so ├── libNX_expat.so.0.4.0 -> libNX_expat.so ├── libNX_fontconfig.so ├── libNX_fontconfig.so.1 -> libNX_fontconfig.so ├── libNX_fontconfig.so.1.0.4 -> libNX_fontconfig.so ├── libNX_fontenc.so ├── libNX_fontenc.so.1 -> libNX_fontenc.so ├── libNX_fontenc.so.1.0 -> libNX_fontenc.so ├── libNX_freetype.so ├── libNX_freetype.so.6 -> libNX_freetype.so ├── libNX_freetype.so.6.3.7 -> libNX_freetype.so ├── libNX_FS.so ├── libNX_FS.so.6 -> libNX_FS.so ├── libNX_FS.so.6.0 -> libNX_FS.so ├── libNX_ICE.so ├── libNX_ICE.so.6 -> libNX_ICE.so ├── libNX_ICE.so.6.4 -> libNX_ICE.so ├── libNX_SM.so ├── libNX_SM.so.6 -> libNX_SM.so ├── libNX_SM.so.6.0 -> libNX_SM.so ├── libNX_X11.so ├── libNX_X11.so.6 -> libNX_X11.so ├── libNX_X11.so.6.2 -> libNX_X11.so ├── libNX_Xau.so ├── libNX_Xau.so.6 -> libNX_Xau.so ├── libNX_Xau.so.6.0 -> libNX_Xau.so ├── libNX_Xaw.so ├── libNX_Xaw.so.7 -> libNX_Xaw.so ├── libNX_Xaw.so.7.0 -> libNX_Xaw.so ├── libNX_Xcomposite.so ├── libNX_Xcomposite.so.1 -> libNX_Xcomposite.so ├── libNX_Xcomposite.so.1.0 -> libNX_Xcomposite.so ├── libNX_Xcursor.so ├── libNX_Xcursor.so.1 -> libNX_Xcursor.so ├── libNX_Xcursor.so.1.0.2 -> libNX_Xcursor.so ├── libNX_Xdamage.so ├── libNX_Xdamage.so.1 -> libNX_Xdamage.so ├── libNX_Xdamage.so.1.0 -> libNX_Xdamage.so ├── libNX_Xdmcp.so ├── libNX_Xdmcp.so.6 -> libNX_Xdmcp.so ├── libNX_Xdmcp.so.6.0 -> libNX_Xdmcp.so ├── libNX_Xext.so ├── libNX_Xext.so.6 -> libNX_Xext.so ├── libNX_Xext.so.6.4 -> libNX_Xext.so ├── libNX_Xfixes.so ├── libNX_Xfixes.so.3 -> libNX_Xfixes.so ├── libNX_Xfixes.so.3.0 -> libNX_Xfixes.so ├── libNX_Xft.so ├── libNX_Xft.so.1 -> libNX_Xft.so ├── libNX_Xft.so.1.1 -> libNX_Xft.so ├── libNX_Xft.so.2 -> libNX_Xft.so ├── libNX_Xft.so.2.1.2 -> libNX_Xft.so ├── libNX_Xinerama.so ├── libNX_Xinerama.so.1 -> libNX_Xinerama.so ├── libNX_Xinerama.so.1.0 -> libNX_Xinerama.so ├── libNX_Xmu.so ├── libNX_Xmu.so.6 -> libNX_Xmu.so ├── libNX_Xmu.so.6.2 -> libNX_Xmu.so ├── libNX_Xmuu.so ├── libNX_Xmuu.so.1 -> libNX_Xmuu.so ├── libNX_Xmuu.so.1.0 -> libNX_Xmuu.so ├── libNX_Xpm.so ├── libNX_Xpm.so.4 -> libNX_Xpm.so ├── libNX_Xpm.so.4.11 -> libNX_Xpm.so ├── libNX_Xrandr.so ├── libNX_Xrandr.so.2 -> libNX_Xrandr.so ├── libNX_Xrandr.so.2.0 -> libNX_Xrandr.so ├── libNX_Xrender.so ├── libNX_Xrender.so.1 -> libNX_Xrender.so ├── libNX_Xrender.so.1.2.2 -> libNX_Xrender.so ├── libNX_Xt.so ├── libNX_Xt.so.6 -> libNX_Xt.so ├── libNX_Xt.so.6.0 -> libNX_Xt.so ├── libNX_Xtst.so ├── libNX_Xtst.so.6 -> libNX_Xtst.so ├── libNX_Xtst.so.6.1 -> libNX_Xtst.so ├── libXcomp.so ├── libXcomp.so.1 -> libXcomp.so ├── libximcp.so ├── libximcp.so.2 -> libximcp.so ├── libxlcDef.so ├── libxlcDef.so.2 -> libxlcDef.so ├── libxlcUTF8Load.so ├── libxlcUTF8Load.so.2 -> libxlcUTF8Load.so ├── libxlibi18n.so ├── libxlibi18n.so.2 -> libxlibi18n.so ├── libxlocale.so ├── libxlocale.so.2 -> libxlocale.so ├── libxomGeneric.so ├── libxomGeneric.so.2 -> libxomGeneric.so └── Xinerama ├── libNX_X11.so.6 -> ../../../libX11.so.6 ├── libNX_Xext.so.6 -> ../../../libXext.so.6 ├── libNX_Xinerama.so -> libNX_Xinerama.so.1.0 ├── libNX_Xinerama.so.1 -> libNX_Xinerama.so.1.0 ├── libNX_Xinerama.so.1.0 ├── libXinerama.so -> libNX_Xinerama.so └── libXinerama.so.1 -> libNX_Xinerama.so.1
2 directories, 112 files
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
On Saturday 2012-02-18 02:33, Mike Gabriel wrote:
Hi Alex, hi Jan,
@Alex: Could you please check if my last commit on nx-libs.git fixes
Xinerama support in with X2Go? http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=ec47c22c264bd2f1d2c...
Would not know (I have no Xinerama setup).
(N.B.: libNX_Xinerama.so.1 would normally installed into the same directory as the other libNX_* files.)
Am 18.02.2012 02:33, schrieb Mike Gabriel: [............]
├── libxomGeneric.so ├── libxomGeneric.so.2 -> libxomGeneric.so └── Xinerama ├── libNX_X11.so.6 -> ../../../libX11.so.6 ├── libNX_Xext.so.6 -> ../../../libXext.so.6 ├── libNX_Xinerama.so -> libNX_Xinerama.so.1.0 ├── libNX_Xinerama.so.1 -> libNX_Xinerama.so.1.0 ├── libNX_Xinerama.so.1.0 ├── libXinerama.so -> libNX_Xinerama.so └── libXinerama.so.1 -> libNX_Xinerama.so.1
[............]
It works, but now we have libNX_Xinerama.so.1 twice: in /usr/lib/nx/X11/Xinerama/ and in /usr/lib/nx/X11/
because there no need to have libNX_Xinerama (only libXinerama) in /usr/lib/nx/X11/Xinerama/ I would not install libNX_Xinerama.so.1.0 in this directory, but only make links:
libXinerama.so.* -> ../libNX_Xinerama.so.*
Oleksandr Shneyder Dipl. Informatik X2go Core Developer Team
email: oleksandr.shneyder@obviously-nice.de web: www.obviously-nice.de
--> X2go - everywhere@home
Hi Alex,
On Mo 20 Feb 2012 08:41:22 CET Oleksandr Shneyder wrote:
Am 18.02.2012 02:33, schrieb Mike Gabriel: [............]
├── libxomGeneric.so ├── libxomGeneric.so.2 -> libxomGeneric.so └── Xinerama ├── libNX_X11.so.6 -> ../../../libX11.so.6 ├── libNX_Xext.so.6 -> ../../../libXext.so.6 ├── libNX_Xinerama.so -> libNX_Xinerama.so.1.0 ├── libNX_Xinerama.so.1 -> libNX_Xinerama.so.1.0 ├── libNX_Xinerama.so.1.0 ├── libXinerama.so -> libNX_Xinerama.so └── libXinerama.so.1 -> libNX_Xinerama.so.1
[............]
It works, but now we have libNX_Xinerama.so.1 twice: in /usr/lib/nx/X11/Xinerama/ and in /usr/lib/nx/X11/
because there no need to have libNX_Xinerama (only libXinerama) in /usr/lib/nx/X11/Xinerama/ I would not install libNX_Xinerama.so.1.0 in this directory, but only make links:
libXinerama.so.* -> ../libNX_Xinerama.so.*
like this?
[...] ├── libxomGeneric.so ├── libxomGeneric.so.2 -> libxomGeneric.so └── Xinerama ├── libNX_X11.so.6 -> ../../../libX11.so.6 ├── libNX_Xext.so.6 -> ../../../libXext.so.6 ├── libXinerama.so -> ../libNX_Xinerama.so └── libXinerama.so.1 -> ../libNX_Xinerama.so.1
I have the patch pending on my notebook, waiting for your ok.
Mike
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
Am 20.02.2012 09:22, schrieb Mike Gabriel:
Hi Alex,
On Mo 20 Feb 2012 08:41:22 CET Oleksandr Shneyder wrote:
Am 18.02.2012 02:33, schrieb Mike Gabriel: [............]
├── libxomGeneric.so ├── libxomGeneric.so.2 -> libxomGeneric.so └── Xinerama ├── libNX_X11.so.6 -> ../../../libX11.so.6 ├── libNX_Xext.so.6 -> ../../../libXext.so.6 ├── libNX_Xinerama.so -> libNX_Xinerama.so.1.0 ├── libNX_Xinerama.so.1 -> libNX_Xinerama.so.1.0 ├── libNX_Xinerama.so.1.0 ├── libXinerama.so -> libNX_Xinerama.so └── libXinerama.so.1 -> libNX_Xinerama.so.1
[............]
It works, but now we have libNX_Xinerama.so.1 twice: in /usr/lib/nx/X11/Xinerama/ and in /usr/lib/nx/X11/
because there no need to have libNX_Xinerama (only libXinerama) in /usr/lib/nx/X11/Xinerama/ I would not install libNX_Xinerama.so.1.0 in this directory, but only make links:
libXinerama.so.* -> ../libNX_Xinerama.so.*
like this?
[...] ├── libxomGeneric.so ├── libxomGeneric.so.2 -> libxomGeneric.so └── Xinerama ├── libNX_X11.so.6 -> ../../../libX11.so.6 ├── libNX_Xext.so.6 -> ../../../libXext.so.6 ├── libXinerama.so -> ../libNX_Xinerama.so └── libXinerama.so.1 -> ../libNX_Xinerama.so.1
I have the patch pending on my notebook, waiting for your ok.
Mike
Oleksandr Shneyder Dipl. Informatik X2go Core Developer Team
email: oleksandr.shneyder@obviously-nice.de web: www.obviously-nice.de
--> X2go - everywhere@home
Hi Alex,
On Mo 20 Feb 2012 09:35:54 CET Oleksandr Shneyder wrote:
Am 20.02.2012 09:22, schrieb Mike Gabriel:
like this?
[...] ├── libxomGeneric.so ├── libxomGeneric.so.2 -> libxomGeneric.so └── Xinerama ├── libNX_X11.so.6 -> ../../../libX11.so.6 ├── libNX_Xext.so.6 -> ../../../libXext.so.6 ├── libXinerama.so -> ../libNX_Xinerama.so └── libXinerama.so.1 -> ../libNX_Xinerama.so.1
I have the patch pending on my notebook, waiting for your ok.
Mike
yepp, just like that regards,
Packages are building (on japsand ;-) ) Mike
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...