From unknown Fri May 22 23:22:46 2026
MIME-Version: 1.0
X-Mailer: MIME-tools 5.502 (Entity 5.502)
X-Loop: owner@bugs.x2go.org
From: owner@bugs.x2go.org (X2Go Bug Tracking System)
Subject: Bug#668 closed by X2Go Release Manager <git-admin@x2go.org> (X2Go
 issue (in src:x2goserver) has been marked as closed)
Message-ID: <handler.668.c.142481130113457.notifdone@bugs.x2go.org>
References: <20150224205409.AB66E3BE73@ymir.das-netzwerkteam.de>
X-X2go-PR-Keywords: pending patch
X-X2go-PR-Message: they-closed 668
X-X2go-PR-Package: x2goserver
X-X2go-PR-Source: x2goserver
Date: Tue, 24 Feb 2015 20:56:05 +0000
Content-Type: multipart/mixed; boundary="----------=_1424811365-14060-0"

This is a multi-part message in MIME format...

------------=_1424811365-14060-0
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=utf-8

This is an automatic notification regarding your Bug report
which was filed against the x2goserver package:

#668: [Patch] Replace "echo -n" with printf

It has been closed by X2Go Release Manager <git-admin@x2go.org>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact X2Go Release Manager <=
git-admin@x2go.org> by
replying to this email.


--=20
X2Go Bug Tracking System
Contact owner@bugs.x2go.org with problems

------------=_1424811365-14060-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at control) by bugs.x2go.org; 24 Feb 2015 20:55:01 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NO_RELAYS,
	URIBL_BLOCKED autolearn=ham version=3.3.2
Received: by ymir.das-netzwerkteam.de (Postfix, from userid 1005)
	id AB66E3BE73; Tue, 24 Feb 2015 21:54:09 +0100 (CET)
From: X2Go Release Manager <git-admin@x2go.org>
To: 668-submitter@bugs.x2go.org
Cc: control@bugs.x2go.org, 668@bugs.x2go.org
Subject: X2Go issue (in src:x2goserver) has been marked as closed
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Message-Id: <20150224205409.AB66E3BE73@ymir.das-netzwerkteam.de>
Date: Tue, 24 Feb 2015 21:54:09 +0100 (CET)

close #668
thanks

Hello,

we are very hopeful that X2Go issue #668 reported by you
has been resolved in the new release (4.0.1.19) of the
X2Go source project »src:x2goserver«.

You can view the complete changelog entry of src:x2goserver (4.0.1.19)
below, and you can use the following link to view all the code changes
between this and the last release of src:x2goserver.

    http://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=49c91751e560ad09ab4490cc3bd6687509c05755;hp=724d2eefe399485a71e79c705a0aad125e853230

If you feel that the issue has not been resolved satisfyingly, feel
free to reopen this bug report or submit a follow-up report with
further observations described based on the new released version
of src:x2goserver.

Thanks a lot for contributing to X2Go!!!

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
X2Go Component: src:x2goserver
Version: 4.0.1.19-0x2go1
Status: RELEASE
Date: Tue, 24 Feb 2015 21:49:22 +0100
Fixes: 405 632 633 638 644 664 668 671 672 675 676 678 697 698 700 712 715 727 728 770
Changes: 
 x2goserver (4.0.1.19-0x2go1) RELEASED; urgency=medium
 .
   [ Mike Gabriel ]
   * New upstream version (4.0.1.19):
     - Use File::Which to detect if sshfs command is available
       before trying to mount a client-side folder.
     - Be a bit more tolerant when trying to detect if a
       desktop icon is to be removed (using regexp, not
       eq).
     - Xsession script: Prevent bash failures when sourcing external bash
       scripts beyond our scope. (Fixes: #632, #675).
     - x2gogetapps: Support scanning of sub-directories when searching for
       .desktop files. We allow to dive down one level into subdirs, we on
       purpose do not recursively dive into the complete subtree. (Fixes: #633).
     - Make man2html an optional tool. Don't fail if it is missing on the
       build system (required for openSUSE/SLES builds).
     - Fix x2goserver-xsession/Makefile on SUSE. Detect SUSE distro and create
       Xsession related directory symlinks (xinitrc.d and Xclients.d).
     - Hack for x2goserver-xsession/Makefile during SUSE builds. If
       directoy /usr/share/doc/packages/brp-check-suse is present, the build env
       is also considered to be a SUSE system.
     - Trigger Xsession code for SUSE systems (look for /etc/SUSE-brand or
       /etc/SuSE-release for SUSE system recognition). (Fixes: #671).
     - x2gosqlitewrapper.c: Fix rpmlint error: no-return-in-nonvoid-function.
       Return the exitcode of execve().
     - Fix gramma in error message (in x2goresume-session).
     - x2gocleansessions: Call x2gormforward also on terminated sessions. This
       will make sure that re-assigned ports are really available on new session
       startup.
     - x2golistsessions(_root): Only update session state in session DB if
       x2goagent's state file really exists. This addresses a problem that occurs
       when x2golistsessions gets called via an x2gobroker-agent. The
       x2golistsessions script may show session states (--all-servers) of
       sessions on other servers that have session states files on their remote
       /tmp dirs. These files are not accessible for that x2golistsessions script
       and should simply be ignored. (Fixes: #638).
     - Provide pam_namespace support for has_agent_state_file() function.
     - Fix missing session list output if state file does not exist on the
       machine that runs x2golistsessions(_root).
     - Accept more verbose "DENY" output from x2godesktopsharing.
     - Make sure that all "su"-to-user-contexts use /bin/sh for wrapping around
       the executed command (in x2gocleansessions and x2golistsessions_root).
     - Also enforce /bin/sh as shell in su command in x2goprint.
     - README.i18n: Add file that explains the translation workflow for
       this package. Thanks to Mark Pedersen-Cook for drafting this file.
     - Make SSH agent forwarding work after having reconnected via SSH and
       having resumed a session. (Fixes: #672). Thanks to Robert Siemer for
       coming up with that idea.
     - Fix cross-user X2Go Desktop Sharing after being broken by implementing
       clipboard mode feature (and probably other code changes).
     - Document session startup / resumption failures (and their reasons) in
       server-side log output.
     - Handle AD domain users gracefully when X2Go is used with SQLite DB
       backend. (Fixes: #664).
     - Improve sanitizer, use 'x2gosid' sanitizer for session IDs everywhere.
       Drop unused 'pnixusername' sanitizer in 4.0.1.x release of X2Go Server.
     - Allow usernames in session IDs of length 48 chars.
     - Start sshfs with a timeout of 30 seconds (because it never finishes if
       something is wrong with the client-side TCP socket). Also remove/unmount
       mountpoints erroneously registered sshfs mountpoints if sshfs command
       times out. Furthermore, print errors to STDERR (not STDOUT). (Fixes:
       #405).
     - Handle execution of ss command from Perl script x2golistdesktops in a way
       that not only works on Debian, but also on Fedora et al. (Fixes: #727).
     - Provide legacy support for old File::Path packages in x2godbadmin.
       (Fixes: #715).
     - Fix wrong evocation of x2gosyslog ("error" -> "err").
     - Use "undef $dbh" instead of "$dbh->disconnect()". Fixes SQLite3 issues on
       SLE 11.x.
     - Only call $dbh->sqlite_busy_timeout() if the $dbh object is capable of
       that. Works around a too-old DBD::SQLite package on SLE 11.x.
     - Legacy for applications (and X2Go scripts) that expect $SSH_CLIENT to be
       set in the X2Go session's environment. (Fixes: #644).
     - Add man page for x2gogetapps. Weave into that a security / disclaimer
       message as proposed by Stefan Baur. (Fixes: #728).
   * debian/control:
     + Add D (x2goserver): libfile-which-perl.
     + Add C (x2goserver: x2godesktopsharing (<< 3.1.1.2-0~). (Fixes: #700).
     + Bump Standards: to 3.9.6. No changes needed.
     + Don't depend on libdb-pg-perl for armhf builds. (Fixes: #712). Thanks to
       Heinrich Schuchardt for providing information on this.
     + Upgrade to D again (bin:package x2goserver): xfonts-base (Fixes: #770).
   * debian/x2goserver.docs:
     + Install README.i18n file into bin:package x2goserver.
   * x2goserver.spec:
     + Add to R: perl(File::Which).
     + Additionally adapt to building on openSUSE/SLES.
     + No shell expansion possible in obs-build, detect perl version only for
       non-SUSE builds.
     + Add to R: x2goserver-xsession.
     + Don't mention /etc/x2go/x2gosql/sql twice (directly and with wildcard).
     + No %{_sysconfdir}/x2go/Xclients.d on SUSE systems.
     + Use %{_localstatedir} instead of %{_sharedstatedir}.
     + Use proper if... then... clauses.
     + For SUSE builds: Add to R: shadow (useradd, groupadd).
     + Replace historical "egrep" with "grep -E".
     + Systemd support for SUSE >= 12.10.
     + Set %defattr macro for every bin:package.
     + SUSE and Fedora/RHEL have different package group names.
     + Add x2goserver-rpmlintrc file to handle some rpmlint errors and warnings.
     + SUSE has openssh, but no openssh-server.
     + Add to R (x2goserver): perl-X2Go-Server.
     + Add to R (diverse): perl(Config::Simple), perl(Switch) and
       perl(Capture::Tiny).
     + Add to R (x2goserver): perl(File::BaseDir).
     + Don't hard-code /var/lib/ in $HOME path of to-be-created user
       "x2gouser".
     + Add to BR: findutils.
     + For Fedora-like systems, don't make x2goserver bin:package authoritative
       for non-X2Go directories. (Fixes: #676).
     + Remove macro call %systemd_pre for Fedora/EPEL-7 builds. No such macro in
       Fedora/RHEL7. (Fixes: 698).
     + Create system user x2gouser with $HOME in /var/lib/x2go. (Fixes: #697).
     + Always set BuildRoot: parameter.
     + BuildRequires: SUSE <= 11.3 has xorg-x11, not xinit.
     + Requires (x2goserver-xsession): SUSE <= 11.3 has xorg-x11, not xinit.
     + No Bashisms in scriptlets.
     + rpmlint requires shared-mime-info at build time on SLE <= 11.3.
     + "%set_permissions" / "%verify_permissions" macros are not know in SLE <=
       11.3. Using "%run permissions" and "%verify permissions" instead.
     + On SUSE, add permissions.d/x2goserver.
     + Fix SQLite wrapper permissions (02775 -> 02755)
     + Use if then clauses for creating user/group x2goprint.
 .
   [ Matthew L. Dailey ]
   * New upstream version (4.0.1.19):
     - x2gocleansessions: Redirect stdin, stdout and stderr to /dev/null, test
       for the existence of the file descriptor before issuing the close,
       only capture the file descriptor backreference in the regex and
       send any close failures to syslog. (Fixes: #678).
 .
   [ Lars Wendler ]
   * New upstream version (4.0.1.19):
     - Use "printf" instead of "echo -n". (Fixes: #668).


------------=_1424811365-14060-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at submit) by bugs.x2go.org; 7 Nov 2014 16:00:15 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham
	version=3.3.2
X-Greylist: delayed 494 seconds by postgrey-1.34 at ymir.das-netzwerkteam.de; Fri, 07 Nov 2014 17:00:12 CET
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id D28F05DEA7
	for <submit@bugs.x2go.org>; Fri,  7 Nov 2014 17:00:12 +0100 (CET)
Received: from shanghai.paradoxon.rec (p4FDAB157.dip0.t-ipconnect.de [79.218.177.87])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: polynomial-c)
	by smtp.gentoo.org (Postfix) with ESMTPSA id 85BCA340467
	for <submit@bugs.x2go.org>; Fri,  7 Nov 2014 15:51:54 +0000 (UTC)
Date: Fri, 7 Nov 2014 16:51:42 +0100
From: Lars Wendler <polynomial-c@gentoo.org>
To: submit@bugs.x2go.org
Subject: [Patch] Replace "echo -n" with printf
Message-ID: <20141107165142.7acf1f19@shanghai.paradoxon.rec>
Organization: Gentoo
X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 boundary="Sig_/8PXTaHs71KyHfkZP6R6FisC"; protocol="application/pgp-signature"

--Sig_/8PXTaHs71KyHfkZP6R6FisC
Content-Type: multipart/mixed; boundary="MP_/HbMLPWFZZwUWKGe23/BJxNU"

--MP_/HbMLPWFZZwUWKGe23/BJxNU
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Package: x2goclient
Version: git master


Hi,

at Gentoo latest version of the dash shell doesn't support "echo -n"
anymore[1]. The result is that x2gpath returns every path with a
prefixed "-n " when dash is used as /bin/sh.
Accoring to "man p1 echo" section "APPLICATION USAGE" applications
should not rely on "echo -n" but use printf instead.
The attached patch does exactly that.

Kind regards
Lars

[1] https://bugs.gentoo.org/528452

--=20
Lars Wendler
Gentoo package maintainer
GPG: 4DD8 C47C CDFA 5295 E1A6 3FC8 F696 74AB 981C A6FC

--MP_/HbMLPWFZZwUWKGe23/BJxNU
Content-Type: text/x-patch
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename=0001-echo-n-cannot-be-expected-to-work-with-every-POSIX-s.patch

=46rom a4766ccfe06b7bb7c445a9fd2efd0f8e2d55bbba Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Fri, 7 Nov 2014 13:35:08 +0100
Subject: [PATCH] "echo -n" cannot be expected to work with every POSIX shel=
l.
 See "man 1p echo" section APPLICATION USAGE. This patch replaces "echo -n"
 with "printf '%s'".

Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
---
 rpm/x2goserver.init              |  4 ++--
 x2goserver-xsession/etc/Xsession |  4 ++--
 x2goserver/bin/x2gopath          | 12 ++++++------
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/rpm/x2goserver.init b/rpm/x2goserver.init
index a2e6619..842b17f 100644
--- a/rpm/x2goserver.init
+++ b/rpm/x2goserver.init
@@ -35,7 +35,7 @@ start() {
 		mkdir $XSOCKDIR
 		chmod 1777 $XSOCKDIR
 	fi
-	echo -n $"Starting $prog: "
+	printf '%s' $"Starting $prog: "
 	daemon $exec $OPTS
 	retval=3D$?
 	echo
@@ -43,7 +43,7 @@ start() {
 }
=20
 stop() {
-	echo -n $"Stopping $prog: "
+	printf '%s' $"Stopping $prog: "
 	killproc $exec
 	retval=3D$?
 	echo
diff --git a/x2goserver-xsession/etc/Xsession b/x2goserver-xsession/etc/Xse=
ssion
index 3b85b9e..e922dfc 100755
--- a/x2goserver-xsession/etc/Xsession
+++ b/x2goserver-xsession/etc/Xsession
@@ -26,9 +26,9 @@ message_nonl () {
 	# pretty-print messages of arbitrary length (no trailing newline); use
 	# xmessage if it is available and $DISPLAY is set
 	MESSAGE=3D"$PROGNAME: $*"
-	echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
+	printf '%s' "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
 	if [ -n "$DISPLAY" ] && which xmessage 1> /dev/null 2>&1; then
-		echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
+		printf '%s' "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -f=
ile -
 	fi
 }
=20
diff --git a/x2goserver/bin/x2gopath b/x2goserver/bin/x2gopath
index 8fb36a8..dc6b1ba 100755
--- a/x2goserver/bin/x2gopath
+++ b/x2goserver/bin/x2gopath
@@ -31,12 +31,12 @@ base=3D$(readlink -f "$base/..");
=20
 # The following section is subject to substitution by distro packaging too=
ls.
 case "$1" in
-	"base") echo -n "$base";;
-	"lib") echo -n "$base/lib/x2go";;
-	"libexec") echo -n "$base/lib/x2go";;
-	"share") echo -n "$base/share/x2go";;
-	"nx-x11") echo -n "$base/lib/nx/X11";;
-	"xinerama") echo -n "$base/lib/nx/X11/Xinerama";;
+	"base") printf '%s' "$base";;
+	"lib") printf '%s' "$base/lib/x2go";;
+	"libexec") printf '%s' "$base/lib/x2go";;
+	"share") printf '%s' "$base/share/x2go";;
+	"nx-x11") printf '%s' "$base/lib/nx/X11";;
+	"xinerama") printf '%s' "$base/lib/nx/X11/Xinerama";;
 	*) exit 1;;
 esac;
=20
--=20
2.1.3


--MP_/HbMLPWFZZwUWKGe23/BJxNU--

--Sig_/8PXTaHs71KyHfkZP6R6FisC
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJUXOqSAAoJEPiazRVxLXTFIpQP/iRV5N2GOgaSwN9XvdgJJZhE
N2g1wBqOiY243bjAapPtq8p1/pkHsGZtknLLVQd2IA5vNgb6V+EBpRoQDDje8Ewc
vP3QctBSkSO2B4HlNem/XFjsQCzRc6ShPkYCPWVViJWYLTUAtMeolHAvWm3cqV9I
1jvl3Lw/YV2CK2tucV5WTE6lJTC3blTl+5LY2NSOcozs3IsSfmWGKlYtFbswdZlq
7UoDHoZWFhBim9t497mTG65erLLyLx12T1CBal40e8IFIeUa4PcWXDcSpuuFlg8n
Z6iUCYIUjaJevGP0nIpL4cmAuQgqwve3aiycDRNDGnl/wxXux//ZTwlB2azFgeM1
JjkQ+93A8m9VoMubKuMgIvFYZ+ZlnsoVZ6TbdN2igBGbA8CJBswE5tO239xCGGnK
+gNRpJie7rn48fZyZFVY+hWYbsazVYueSW8OdxeKCxEkb9UbzEpZFdWQF1FVEnuK
uq5N7uljICLDzrpRobnoG8deStZWvqHHBWKCDm1IMK9pcDm9w7yhmBQvG03rc0sw
1GxHWw+CtoRikXVxPrfojCS8yy2Iy57hCa3h/GvwRexoR7tV0anlTR75R3pDILlu
ghdzSan5rinKY9G+NccW+Ez3k3TYF8wqndQLi89GaC2HbbPngPwe118xCgmxv55I
kUUGPAXfLSmiQYRtrntH
=4pcw
-----END PGP SIGNATURE-----

--Sig_/8PXTaHs71KyHfkZP6R6FisC--

------------=_1424811365-14060-0--
