See <https://jenkins.x2go.org:8443/job/x2goclient+nightly+opensuse-tumbleweed/178/display/redirect?page=changes> Changes: [o.shneyder] - Support for OPENSSH PRIVATE KEY format sent from broker. - Do not show client in broker mode if startet in "hidden" mode. [o.shneyder] Enable/Disable session view buttons inside of sessions explorer. [o.shneyder] Add splash screen option when starting in hidden mode. [o.shneyder] replace <HOME> with user's home dir in exports directories, when exporting session default directories. [o.shneyder] create default export directory if not exists. [o.shneyder] send to broker xdmcpserver in command option when starting xdmcp session. [o.shneyder] improve processing stderr from nxproxy. [o.shneyder] support for recent cygwin binaries and nxproxy 3.5.99.x all cygwin binaries and DLLs should be moved into the INSTDIR/bin directory by Windows installer. [o.shneyder] for x2gokdrive sessions, when auto kbd layout is chosen, x2goclient will try to set the same kbd layout on server as on the client. [o.shneyder] add "noresize" setting, which makes the proxy window not resizable for user. [ionic] desktop/x2goclient.desktop: drop Maemo support. [ionic] res/img/icons: drop Maemo support, remove hildon subdirectory. [ionic] res/img/svg: drop Maemo support, remove bg_hildon.svg. [ionic] res/resources.qrc: drop Maemo support, remove bg_hildon.svg entry. [ionic] src/{{InteractionDialog,configdialog,connectionwidget,editconnectiondialog,folderbutton,mediawidget,ongetpass,onmainwindow,printprocess,printwidget,sessionbutton,sessionmanagedialog,sessionwidget,settingswidget,sharewidget}.cpp,x2goclientconfig.h}: drop Maemo support. [ionic] /: drop Maemo support, remove x2goclient.pro.maemo. [ionic] /: add README.mxe, describing MXE builds. [ionic] /: add handle_mxe.sh, MXE control script. [ionic] handle_mxe.sh: rework, make most variables lowercase, change spacing, use proper if-else blocks, do not use special bash features for string comparison etc. [ionic] macbuild.sh: qmake never supported -config, it was always CONFIG(+)='something'. [ionic] config_linux_static.sh: also switch from -config to CONFIG+='...'. [ionic] {handle_mxe.sh,x2goclient.pro}: make mxe selectable via CONFIG option and prepare selector in x2goclient.pro. [ionic] x2goclient.pro: use different parameters for MXE builds. [ionic] x2goclient.pro: also select on win32 and not just win32-*, fix whitespace. [ionic] x2gohelper/x2gohelper.cpp: use lower-case header files. [ionic] x2gohelper/: add Makefile.mxe. [ionic] x2gohelper/Makefile.mxe: more quoting. [ionic] debian/changelog: whitespace only. [ionic] debian/rules: fix version detection on testing and unstable. [ionic] debian/rules: add quotes to comment to force new commit and Jenkins build. [ionic] debian/rules: force another Jenkins rebuild. [ionic] debian/rules; fix version detection on testing and unstable V2. [o.shneyder] on Windows SSHD will only listen 127.0.0.1 to avoid FW warnings. [o.shneyder] on Windows check the location of cgwin binaries in <APPDIR> and in <APPDIR>/bin. [ionic] Windows: Update PuTTY from 0.73 to 0.78. [ionic] debian/preprocessor.pl: typo fixes only. [ionic] misc: pre-release copyright update. [ionic] man/man1/x2goclient.1: pre-release date update. [git-admin] release 4.1.2.3 [git-admin] Continue development [o.shneyder] Fix crashes when syn reply arriving after the session is started, when using broker [o.shneyder] In direct RDP mode, when using broker, forward username and password to the RDP client if user enetered any. [ionic] x2goclient.spec: add Recommends: x2gokdriveclient for FC30+, RH 8+, *SuSE 15.4+. [ionic] debian/changelog: fixup. [o.shneyder] Fix crashes in broker mode when server key check has failed [Mike Gabriel] debian/Jenkinsfile: Add file. Initiate CI builds. [ionic] debian/changelog: fixup. [ionic] src/httpbrokerclient.cpp: handle missing server name/address gracefully. [ionic] src/httpbrokerclient.cpp: parse port value (if provided) and handle errors gracefully. [debian] find -type f -exec sed -i 's/QString::SkipEmptyParts/Qt::SkipEmptyParts/g' '{}' \\; [Mike Gabriel] d/changelog: update from Git history [ionic] x2goclient.spec: fix typo leading to FTBFS in Fedora macro. [Mike Gabriel] src/compat.h: keep using QString::SkipEmptyParts/KeepEmptyParts for Qt < 5.14.0. [Mike Gabriel] src/{exportdialog,folder{button,explorer},httpbrokerclient,onmainwindow.cpp,session{button,explorer,managedialog,widget},sharewidget,sshmasterconnection}.cpp: use compat.h to select compatible Qt::SkipEmptyParts/KeepEmptyParts. [Mike Gabriel] remove QString::null deprecation warnings [Mike Gabriel] remove endl deprecation warnings [ionic] src/compat.h: instead of using preprocessor defines, extend the Qt namespace and add the SplitBehavior enum with values taken from QString::SplitBehavior. [ionic] debian/changelog: sync. [ionic] src/onmainwindow.cpp: use --disable-menubar for X2Go KDrive Client if X2Go Client is running in thinclient mode. [ionic] src/onmainwindow.cpp: output "KDrive Client" instead of "NX proxy" if we're handling a KDrive session. [ionic] debian/changelog: sync. [ionic] src/compat.h: add more compat code for SplitBehavior. [ionic] debian/changelog: sync. [ionic] Fix spawning terminals for SSHD on Windows, when default terminal other than Windows Console Host. [ionic] debian/changelog: sync. [ionic] debian/rules: work around lrelease failure when building under user-mode emulation. [ionic] debian/changelog: sync. [ionic] debian/rules: actually rework workaround so that it triggers. [ionic] debian/changelog: sync. [ionic] src/{httobrokerclient.{cpp,h},onmainwindow.cpp}: parse password change result when changing password via HTTP broker. ------------------------------------------ [...truncated 10.98 KiB...] ++ grep -E -- '^Release:.*' x2goclient.spec ++ awk '{ print $2 }' + PKG_RELEASE='0.0x2go1%{?dist}' ++ sed -e 's/%{?dist}//' + PKG_SRCRELEASE=0.0x2go1 ++ grep -qsE -- '^BuildArch:.*noarch$' x2goclient.spec ++ echo no + IS_NOARCH=no + '[' heuler = heuler ']' + IS_RELEASE=0 + sed -i x2goclient.spec -e 's/%{?dist}/.0.git20250406.2109.heuler%{?dist}/' + '[' -f x2goclient/debian/patches/series ']' + grep -E '^Source[1-9]+:.*' x2goclient.spec + sed 's/%{name}/x2goclient/' + awk '{ print $2 }' + read -r source_file + find x2goclient/rpm/x2goclient-rpmlintrc -maxdepth 0 + cp -- x2goclient/rpm/x2goclient-rpmlintrc /var/lib/jenkins/pkg-dist/heuler/x2goclient/opensuse/tumbleweed/SRPM/rpmbuild/SOURCES/ + continue + read -r source_file + mv -- /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7/x2goclient /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7/x2goclient-4.1.2.4 + tar -czf /var/lib/jenkins/pkg-dist/heuler/x2goclient/opensuse/tumbleweed/SRPM/rpmbuild/SOURCES/x2goclient-4.1.2.4.tar.gz x2goclient-4.1.2.4 + cp -- x2goclient.spec /var/lib/jenkins/pkg-dist/heuler/x2goclient/opensuse/tumbleweed/SRPM/rpmbuild/SOURCES + cd + rm -Rf -- /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7/x2goclient + '[' opensuse = opensuse ']' + typeset -a arches_copy + arches_copy=("${arches[@]}") + typeset -i i=0 + (( i = 0 )) + (( i < 3 )) + [[ SRPM == \i\3\8\6 ]] + (( ++i )) + (( i < 3 )) + [[ x86_64 == \i\3\8\6 ]] + (( ++i )) + (( i < 3 )) + [[ i386 == \i\3\8\6 ]] + arches_copy[i]=i586 + (( ++i )) + (( i < 3 )) + typeset arch= + for arch in "${arches_copy[@]}" + mkdir -p -- /var/lib/jenkins/pkg-dist/heuler/x2goclient/opensuse/tumbleweed/SRPM + for arch in "${arches_copy[@]}" + mkdir -p -- /var/lib/jenkins/pkg-dist/heuler/x2goclient/opensuse/tumbleweed/x86_64 + for arch in "${arches_copy[@]}" + mkdir -p -- /var/lib/jenkins/pkg-dist/heuler/x2goclient/opensuse/tumbleweed/i586 + BUILD_RESULT=/home/abuild/rpmbuild/ + typeset obs_config_dir=obs-config + download_urls=() + typeset -a download_urls + download_url=() + typeset -a download_url + extra_obs_build_args=() + typeset -a extra_obs_build_args + typeset obs_build_vendor_tag= ++ map_prefix_to_vendor x2go ++ typeset prefix=x2go ++ typeset out= ++ typeset ret=1 ++ case "${prefix}" in ++ out=X2Go ++ ret=0 ++ printf %s X2Go ++ return 0 + obs_build_vendor_tag=X2Go + '[' 0 -ne 0 ']' + extra_obs_build_args+=("--define" "%vendor ${obs_build_vendor_tag}") + typeset -i tmp_suse_major_version=0 + typeset -i tmp_suse_minor_version=0 + [[ tumbleweed = \t\u\m\b\l\e\w\e\e\d ]] + tmp_suse_major_version=9999 + typeset dist_value= ++ generate_suse_dist_value opensuse 9999 0 ++ typeset distname=opensuse ++ typeset major_version=9999 ++ typeset minor_version=0 ++ '[' sle '!=' opensuse ']' ++ '[' opensuse '!=' opensuse ']' ++ typeset ret=sl ++ '[' sle = opensuse ']' ++ '[' 9999 = 9999 ']' ++ '[' opensuse '!=' opensuse ']' ++ ret=sltumbleweed ++ printf '%s\n' sltumbleweed ++ return 0 + dist_value=sltumbleweed + '[' 0 -ne 0 ']' + extra_obs_build_args+=('--dist' "${dist_value}") + '[' opensuse = opensuse ']' + typeset -i legacy_release=0 ++ wrap_suse_major_version 9999 ++ typeset major_version=9999 ++ typeset -i tmp_major_version=9999 ++ [[ 9999 -lt 10 ]] ++ [[ 9999 -eq 42 ]] ++ echo 9999 ++ return 0 + tmp_suse_major_version=9999 + '[' 0 -ne 0 ']' + opensuse_is_legacy 9999 0 + typeset major_version=9999 + typeset minor_version=0 + typeset -i ret=1 + [[ 9999 != \9\9\9\9 ]] + return 1 + '[' 0 -eq 1 ']' + [[ 9999 = \9\9\9\9 ]] + download_url=("${OPENSUSE_DOWNLOAD_TUMBLEWEED_URL[@]}") + (( i = 0 )) + (( i < 2 )) ++ sed -e s/#VERSION#/tumbleweed/g + download_url[i]=https://download.opensuse.org/tumbleweed/repo/oss/#SUSESUBDIR#/ + (( ++i )) + (( i < 2 )) ++ sed -e s/#VERSION#/tumbleweed/g + download_url[i]=http://download.opensuse.org/ports/i586/tumbleweed/repo/oss/ + (( ++i )) + (( i < 2 )) + [[ 9999 -lt 15 ]] + (( i = 0 )) + (( i < 2 )) ++ sed -e s_#SUSESUBDIR#__g + download_url[i]=https://download.opensuse.org/tumbleweed/repo/oss// + (( ++i )) + (( i < 2 )) ++ sed -e s_#SUSESUBDIR#__g + download_url[i]=http://download.opensuse.org/ports/i586/tumbleweed/repo/oss/ + (( ++i )) + (( i < 2 )) + [[ 9999 != \9\9\9\9 ]] + setup_opensuse_tumbleweed_config /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7 obs-config + typeset temp_dir=/var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7 + typeset obs_config_dir=obs-config + typeset obs_factory_prjconf_url=https://api.opensuse.org/public/source/openSUSE:Factory/_config + typeset obs_tumbleweed_prjconf_url=https://api.opensuse.org/public/source/openSUSE:Tumbleweed/_config + typeset obs_config_tumbleweed_filename=sltumbleweed.conf + [[ ! -d /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7 ]] + pushd /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7 + mkdir -- obs-config + pushd obs-config ~/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7/obs-config ~/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7 ~ + curl https://api.opensuse.org/public/source/openSUSE:Factory/_config https://api.opensuse.org/public/source/openSUSE:Tumbleweed/_config % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0100 141k 100 141k 0 0 303k 0 --:--:-- --:--:-- --:--:-- 303k 100 809 100 809 0 0 24275 0 --:--:-- --:--:-- --:--:-- 24275 + popd ~/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7 ~ + popd ~ + return 0 + extra_obs_build_args+=("--configdir" "${TEMP_DIR}/${obs_config_dir}") + for url in "${download_url[@]}" + download_urls+=('--repo' "${url}") + for url in "${download_url[@]}" + download_urls+=('--repo' "${url}") + typeset -i noarch_built=0 + for l_ARCH in "${arches[@]}" + '[' SRPM = SRPM ']' + typeset base_arch=x86_64 + '[' -z x86_64 ']' + '[' fedora = opensuse ']' + '[' epel = opensuse ']' + ps ax + grep -E 'build.*/var/cache/obs-build/opensuse/tumbleweed/x86_64/' + grep 'sudo obs' + typeset -a tmp_download_urls + tmp_download_urls=("${download_urls[@]}") + [[ 9999 == \9\9\9\9 ]] + typeset -a tmp_download_url + tmp_download_url=() + tmp_download_urls=() + (( i = 0 )) + (( i < 2 )) + case "${download_url[i]}" in + tmp_download_url+=("${download_url[i]}") + (( ++i )) + (( i < 2 )) + case "${download_url[i]}" in + (( ++i )) + (( i < 2 )) + typeset url= + for url in "${tmp_download_url[@]}" + tmp_download_urls+=('--repo' "${url}") + get_extra_repository suse opensuse tumbleweed heuler x2goclient x86_64 1 + typeset TYPE=suse + typeset DIST=opensuse + typeset CODENAME=tumbleweed + typeset COMPONENT=heuler + typeset PACKAGE=x2goclient + typeset ARCH=x86_64 ++ make_boolean 1 ++ typeset -l OPTION=1 ++ case "${OPTION}" in ++ OPTION=1 ++ printf 1 ++ return 0 + typeset WANT_EXTRA=1 + case "${TYPE}" in + OTHERMIRROR= + '[' 1 -eq 1 ']' + OTHERMIRROR='--repo suse@https://packages.x2go.org/opensuse/tumbleweed/extras' + '[' -z x2go-keyring ']' + '[' x2go-keyring '!=' x2goclient ']' + OTHERMIRROR='--repo suse@https://packages.x2go.org/opensuse/tumbleweed/extras --repo suse@https://packages.x2go.org/opensuse/tumbleweed/heuler' + return 0 + sudo obs-build --nosignature --repo suse@https://packages.x2go.org/opensuse/tumbleweed/extras --repo suse@https://packages.x2go.org/opensuse/tumbleweed/heuler --repo https://download.opensuse.org/tumbleweed/repo/oss// --root /var/cache/obs-build/opensuse/tumbleweed/x86_64/ --clean --stage=-bs --define '%vendor X2Go' --dist sltumbleweed --configdir /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7/obs-config /var/lib/jenkins/pkg-dist/heuler/x2goclient/opensuse/tumbleweed/SRPM/rpmbuild/SOURCES/x2goclient.spec logging output to /var/cache/obs-build/opensuse/tumbleweed/x86_64/.build.log... [ 0s] Memory limit set to 32746240KB [ 0s] Using BUILD_ROOT=/var/cache/obs-build/opensuse/tumbleweed/x86_64 [ 0s] Using BUILD_ARCH=x86_64:i686:i586:i486:i386 [ 0s] [ 1s] [ 1s] japsand started "build x2goclient.spec" at Sun Apr 6 08:36:54 UTC 2025. [ 1s] build version: 20210120-4x2go5 [ 1s] [ 1s] [ 1s] processing recipe /var/lib/jenkins/pkg-dist/heuler/x2goclient/opensuse/tumbleweed/SRPM/rpmbuild/SOURCES/x2goclient.spec ... [ 1s] init_buildsystem --configdir /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7/obs-config --cachedir /var/cache/obs-build --define %vendor X2Go --repository suse@https://packages.x2go.org/opensuse/tumbleweed/extras --repository suse@https://packages.x2go.org/opensuse/tumbleweed/heuler --repository https://download.opensuse.org/tumbleweed/repo/oss// --clean --nosignature /var/lib/jenkins/pkg-dist/heuler/x2goclient/opensuse/tumbleweed/SRPM/rpmbuild/SOURCES/x2goclient.spec ... [ 1s] init_buildsystem version: 20210120-4x2go5 [ 1s] initializing /var/cache/obs-build/opensuse/tumbleweed/x86_64/.srcfiles.cache ... [ 1s] /usr/lib/obs-build/createyastdeps --cachedir=/var/cache/obs-build https://packages.x2go.org/opensuse/tumbleweed/extras [ 2s] /usr/lib/obs-build/createyastdeps --cachedir=/var/cache/obs-build https://packages.x2go.org/opensuse/tumbleweed/heuler [ 3s] /usr/lib/obs-build/createrepomddeps --cachedir=/var/cache/obs-build https://download.opensuse.org/tumbleweed/repo/oss// [ 4s] Negative repeat count does nothing at /usr/lib/x86_64-linux-gnu/perl5/5.24/XML/Parser/Expat.pm line 368. [ 4s] [ 4s] syntax error at line 1, column 0, byte 0: [ 4s] (�/��`,�- [ 4s] ^ [ 4s] � [ 4s] z��2���4�u���\�S�hj�X�CMT����O,`�� �K���)�b�u+h_��5 <�����������/@ [ 4s] at /usr/lib/x86_64-linux-gnu/perl5/5.24/XML/Parser.pm line 187. [ 4s] [ 4s] japsand failed "build x2goclient.spec" at Sun Apr 6 08:36:57 UTC 2025. [ 4s] + exit 1 + cleanup + '[' -n '' ']' + '[' -n '' ']' + echo 'Warning: mock temporary config directory not defined. Skipping cleanup.' Warning: mock temporary config directory not defined. Skipping cleanup. + typeset temp_dir= + for temp_dir in "${temp_cleanup[@]}" + '[' -n /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7 ']' + '[' -d /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7 ']' + rm -Rf -- /var/lib/jenkins/tmp/tmp.jlLkr17Pg03tAIFODGJi6sj7 Build step 'Execute shell' marked build as failure