[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help required: riseup-vpn



On 2024-05-04, at 17:56:06 +0530, Nilesh Patra wrote:
> I am trying to update riseup-vpn to its latest version. I am seeing
> some confused mix of qt5 and qt6 - not really sure how qt updates for
> applications work. I tried to replace qt5 packages (builddeps) with
> its qt6 equivalents but I end up with:
> 
> | ==============BUILD GUI===============
> | TARGET: bitmask-vpn
> | VENDOR_PATH: providers
> | [build.sh] VENDOR_PATH = providers
> | [+] Building BitmaskVPN
> | lrelease: could not find a Qt installation of ''
> | make[2]: *** [Makefile:151: build_gui] Error 1
> | make[2]: Leaving directory '/<<PKGBUILDDIR>>/_build/src/0xacab.org/leap/bitmask-vpn'
> 
> I was getting a different error with qt5:
> 
> | /usr/lib/qt5/bin/qmlcachegen --resource=/tmp/riseup-vpn_/_build/src/0xacab.org/leap/bitmask-vpn/gui/gui.qrc -o release/gui_main_qml.cpp ../../gui/main.qml
> | Error compiling qml file: ../../gui/main.qml:0: error: Library import requires a version
> | ../../gui/main.qml:0: error: Library import requires a version
> | ../../gui/main.qml:0: error: Library import requires a version
> | ../../gui/main.qml:0: error: Library import requires a version
> | ../../gui/main.qml:0: error: Library import requires a version
> 
> But given that the readme says to use qt6, I should not be using qt5
> here. The versions from the qml file have been omitted in this
> release.
> 
> I am also puzzled with different paths for the same binaries across qt
> versions for instance qmlcachegen is:
> 
> qt6-declarative-dev-tools: /usr/lib/qt6/libexec/qmlcachegen
> qtdeclarative5-dev-tools: /usr/lib/qt5/bin/qmlcachegen
> 
> Why is that?

Presumably so one can co-install the dev tools for multiple releases
of QT.

> In any case, I am not sure how to proceed from here (the error with
> lrelease). Can anyone help out, please?  My changes are available in
> salsa at: https://salsa.debian.org/go-team/packages/riseup-vpn
> 
> I'd appreciate any pointers.

You can tell the GUI build script to use the qt6 lrelease and qmake
binaries:

	diff --git a/debian/rules b/debian/rules
	index 0e587fbc94d5..31656e0ad777 100755
	--- a/debian/rules
	+++ b/debian/rules
	@@ -7,6 +7,8 @@ export DH_GOLANG_INSTALL_EXTRA=Makefile gui tests vendor/modules.txt branding pr
	 export BUILDDIR=_build/src/0xacab.org/leap/bitmask-vpn/
	 export GOPATH = ${CURDIR}/_build:/usr/share/gocode
	 export GO111MODULE := off
	+export LRELEASE := /usr/lib/qt6/bin/lrelease
	+export QMAKE := qmake6
	 
	 include /usr/share/dpkg/pkg-info.mk
	 
	@@ -24,7 +26,7 @@ override_dh_auto_build:
	 override_dh_auto_test:
	 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	        # Qmake test
	-       cd $(BUILDDIR) && qmake test.pro -o tests/Makefile.test && \
	+       cd $(BUILDDIR) && $(QMAKE) test.pro -o tests/Makefile.test && \
	        cd tests && $(MAKE) -f Makefile.test && $(MAKE) -f Makefile.test clean
	        # Golang test
	        DH_GOLANG_EXCLUDES=gui dh_auto_test

You can also drop the build-dep on qtchooser, 'cause it only work with
qt4 and qt6, I believe.

J.

Attachment: signature.asc
Description: PGP signature


Reply to: