Message ID | 20180911085024.14648-2-richterphilipp.pops@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [1/2] package/libtorrent-rasterbar: new package | expand |
Hello Philipp, Here as well, thanks for your submission. See below a number of comments. On Tue, 11 Sep 2018 10:50:24 +0200, Philipp Richter wrote: > diff --git a/package/qbittorrent/0001-fix-webui-unreachable-issue.patch b/package/qbittorrent/0001-fix-webui-unreachable-issue.patch > new file mode 100644 > index 0000000000..e7e955d813 > --- /dev/null > +++ b/package/qbittorrent/0001-fix-webui-unreachable-issue.patch > @@ -0,0 +1,36 @@ > +Backported from: 5f175e113ab0eaeaea560f58b6a255932b194892 This should go... > + > +From 262c3a75bd3a99de16eea2327213bcd32b727d36 Mon Sep 17 00:00:00 2001 > +From: Chocobo1 <Chocobo1@users.noreply.github.com> > +Date: Sun, 19 Aug 2018 03:28:41 +0800 > +Subject: [PATCH] Fix WebUI unreachable issue > + > +QVariant doesn't have constructor for plain char, by default it converts > +a plain char into an integer, hence the WebUI issue. > +Closes #9333. .... here. And be followed by your Signed-off-by. Two reasons: - To keep the patch a valid git-formatted patch that can be applied with 'git am', the Backport from: .. should not be added at the beginning. - We require contributors to sign-off on the patches they add to Buildroot to keep track of who added what. > diff --git a/package/qbittorrent/Config.in b/package/qbittorrent/Config.in > new file mode 100644 > index 0000000000..fb33e49d02 > --- /dev/null > +++ b/package/qbittorrent/Config.in > @@ -0,0 +1,97 @@ > +comment "qbittorrent needs a toolchain w/ C++" > + depends on !BR2_INSTALL_LIBSTDCPP > + > +config BR2_PACKAGE_QBITTORRENT > + bool "qbittorrent" > + depends on BR2_INSTALL_LIBSTDCPP > + select BR2_PACKAGE_HOST_PKGCONF As explained for libtorrent-rasterbar, this select is not needed. > + select BR2_PACKAGE_BOOST > + select BR2_PACKAGE_BOOST_SYSTEM > + select BR2_PACKAGE_BOOST_THREAD Is this package directly using Boost, or only indirectly because it's using libtorrent-rasterbar ? It's rather odd for a program to use both Boost and Qt. > + select BR2_PACKAGE_LIBTORRENT_RASTERBAR > + select BR2_PACKAGE_QT5 > + select BR2_PACKAGE_QT5BASE > + select BR2_PACKAGE_ZLIB As explained for libtorrent-rasterbar, you need to replicate all the dependencies of the packages you select. So something like this: depends on BR2_INSTALL_LIBSTDCPP # boost, libtorrent-rasterbar, qt5 depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libtorrent-rasterbar depends on BR2_USE_WCHAR # boost, libtorrent-rasterbar, qt5 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # qt5 depends on !BR2_STATIC_LIBS # qt5 depends on !BR2_PACKAGE_QT # qt5 and of course, add the corresponding Config.in comment. > +if BR2_PACKAGE_QBITTORRENT > + > +config BR2_PACKAGE_QBITTORRENT_GUI > + bool "GUI" > + select BR2_PACKAGE_HICOLOR_ICON_THEME > + select BR2_PACKAGE_QT5BASE_WIDGETS You need to select BR2_PACKAGE_QT5BASE_GUI, otherwise BR2_PACKAGE_QT5BASE_WIDGETS can't be selected. It did work for you, because QT5SVG already selects QT5BASE_GUI, but it's better to be explicit here. > + select BR2_PACKAGE_QT5SVG > + help > + Disable for headless running. > + The target binary will be called qbittorrent-nox. > + > +if BR2_PACKAGE_QBITTORRENT_GUI > + > +config BR2_PACKAGE_QBITTORRENT_QTDBUS > + bool "QtDBUS" Perhaps the option should be named "D-Bus support" ? > + default y > + select BR2_PACKAGE_QT5BASE_DBUS > + help > + Enable QtDBUS support. > + > + Default: yes Drop those "Default: XYZ". > + > +endif > + > +if !BR2_PACKAGE_QBITTORRENT_GUI > + > +comment "Systemd service needs systemd enabled" > + depends on !BR2_PACKAGE_SYSTEMD > + > +config BR2_PACKAGE_QBITTORRENT_SYSTEMD > + bool "Systemd service" > + depends on BR2_PACKAGE_SYSTEMD > + help > + Install systemd service file. > + > + Default: no You don't need an option, just use BR2_INIT_SYSTEMD to decide whether the systemd service should be installed or not. > + > +endif > + > +comment "Stacktrace feature needs a glibc toolchain" > + depends on !BR2_TOOLCHAIN_USES_GLIBC Just use "auto" when glibc is available, no need to make this configurable. > diff --git a/package/qbittorrent/qbittorrent.hash b/package/qbittorrent/qbittorrent.hash > new file mode 100644 > index 0000000000..f5cf78e7fc > --- /dev/null > +++ b/package/qbittorrent/qbittorrent.hash > @@ -0,0 +1,6 @@ > +# Locally checked with PGP signature from https://downloads.sourceforge.net/sourceforge/qbittorrent/qbittorrent-4.1.2.tar.xz.asc > +sha256 e0165bd427820c64bce596ef952d80058ea8cd7294d3c84bc723d79cd9e2f9c7 qbittorrent-4.1.2.tar.xz > + > +# Locally calculated > +sha256 ed266afaf97e160adc8954a2ddc6d1aeb63bc537b9b8b65348581239052bee03 0001-fix-webui-unreachable-issue.patch No need to have hashes for patches that are part of the Buildroot tree. > +sha256 fc68233a17d308ee633aefedbd761c7582ec48557539aca310b4162e54212fe5 COPYING > diff --git a/package/qbittorrent/qbittorrent.mk b/package/qbittorrent/qbittorrent.mk > new file mode 100644 > index 0000000000..b90dd9ac84 > --- /dev/null > +++ b/package/qbittorrent/qbittorrent.mk > @@ -0,0 +1,49 @@ > +################################################################################ > +# > +# qbittorrent > +# > +################################################################################ > + > +QBITTORRENT_VERSION = 4.1.2 > +QBITTORRENT_SOURCE = qbittorrent-$(QBITTORRENT_VERSION).tar.xz > +QBITTORRENT_SITE = https://downloads.sourceforge.net/sourceforge/qbittorrent > +QBITTORRENT_LICENSE = GPL-2.0 > +QBITTORRENT_LICENSE_FILES = COPYING > +QBITTORRENT_DEPENDENCIES = host-pkgconf boost libtorrent-rasterbar qt5base zlib > +QBITTORRENT_CONF_OPTS += --with-boost-libdir="$(STAGING_DIR)/usr/lib" You can drop the double quotes. Could you take into account those comments, and send an updated version ? Thanks a lot! Thomas Petazzoni
diff --git a/DEVELOPERS b/DEVELOPERS index 5cf182e5fe..03dfa9bf8c 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1670,6 +1670,7 @@ F: package/zsh/ N: Philipp Richter <richterphilipp.pops@gmail.com> F: package/libtorrent-rasterbar/ +F: package/qbittorrent/ N: Philippe Proulx <eeppeliteloop@gmail.com> F: package/lttng-babeltrace/ diff --git a/package/Config.in b/package/Config.in index d1b4147833..cc7173cb4c 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1891,6 +1891,7 @@ endif source "package/ptpd2/Config.in" source "package/pure-ftpd/Config.in" source "package/putty/Config.in" + source "package/qbittorrent/Config.in" source "package/quagga/Config.in" source "package/rabbitmq-server/Config.in" source "package/radvd/Config.in" diff --git a/package/qbittorrent/0001-fix-webui-unreachable-issue.patch b/package/qbittorrent/0001-fix-webui-unreachable-issue.patch new file mode 100644 index 0000000000..e7e955d813 --- /dev/null +++ b/package/qbittorrent/0001-fix-webui-unreachable-issue.patch @@ -0,0 +1,36 @@ +Backported from: 5f175e113ab0eaeaea560f58b6a255932b194892 + +From 262c3a75bd3a99de16eea2327213bcd32b727d36 Mon Sep 17 00:00:00 2001 +From: Chocobo1 <Chocobo1@users.noreply.github.com> +Date: Sun, 19 Aug 2018 03:28:41 +0800 +Subject: [PATCH] Fix WebUI unreachable issue + +QVariant doesn't have constructor for plain char, by default it converts +a plain char into an integer, hence the WebUI issue. +Closes #9333. +--- + src/base/preferences.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/base/preferences.cpp b/src/base/preferences.cpp +index 61c6a3d327..e82db5cb03 100644 +--- a/src/base/preferences.cpp ++++ b/src/base/preferences.cpp +@@ -530,7 +530,7 @@ void Preferences::setWebUiAuthSubnetWhitelist(QStringList subnets) + + QString Preferences::getServerDomains() const + { +- return value("Preferences/WebUI/ServerDomains", '*').toString(); ++ return value("Preferences/WebUI/ServerDomains", QChar('*')).toString(); + } + + void Preferences::setServerDomains(const QString &str) +@@ -540,7 +540,7 @@ void Preferences::setServerDomains(const QString &str) + + QString Preferences::getWebUiAddress() const + { +- return value("Preferences/WebUI/Address", '*').toString().trimmed(); ++ return value("Preferences/WebUI/Address", QChar('*')).toString().trimmed(); + } + + void Preferences::setWebUiAddress(const QString &addr) diff --git a/package/qbittorrent/Config.in b/package/qbittorrent/Config.in new file mode 100644 index 0000000000..fb33e49d02 --- /dev/null +++ b/package/qbittorrent/Config.in @@ -0,0 +1,97 @@ +comment "qbittorrent needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP + +config BR2_PACKAGE_QBITTORRENT + bool "qbittorrent" + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_HOST_PKGCONF + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_THREAD + select BR2_PACKAGE_LIBTORRENT_RASTERBAR + select BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_ZLIB + help + The qBittorrent project aims to provide + an open-source software alternative to µTorrent. + + https://www.qbittorrent.org/ + +if BR2_PACKAGE_QBITTORRENT + +config BR2_PACKAGE_QBITTORRENT_GUI + bool "GUI" + select BR2_PACKAGE_HICOLOR_ICON_THEME + select BR2_PACKAGE_QT5BASE_WIDGETS + select BR2_PACKAGE_QT5SVG + help + Disable for headless running. + The target binary will be called qbittorrent-nox. + +if BR2_PACKAGE_QBITTORRENT_GUI + +config BR2_PACKAGE_QBITTORRENT_QTDBUS + bool "QtDBUS" + default y + select BR2_PACKAGE_QT5BASE_DBUS + help + Enable QtDBUS support. + + Default: yes + +endif + +if !BR2_PACKAGE_QBITTORRENT_GUI + +comment "Systemd service needs systemd enabled" + depends on !BR2_PACKAGE_SYSTEMD + +config BR2_PACKAGE_QBITTORRENT_SYSTEMD + bool "Systemd service" + depends on BR2_PACKAGE_SYSTEMD + help + Install systemd service file. + + Default: no + +endif + +comment "Stacktrace feature needs a glibc toolchain" + depends on !BR2_TOOLCHAIN_USES_GLIBC + +choice + prompt "Stacktrace" + default BR2_PACKAGE_QBITTORRENT_STACKTRACE_AUTO + depends on BR2_TOOLCHAIN_USES_GLIBC + help + Stacktrace feature. + + Default: auto + +config BR2_PACKAGE_QBITTORRENT_STACKTRACE_AUTO + bool "auto" + help + Determine automatically. + +config BR2_PACKAGE_QBITTORRENT_STACKTRACE_ENABLE + bool "enable" + help + Enable stacktrace feature. + +config BR2_PACKAGE_QBITTORRENT_STACKTRACE_DISABLE + bool "disable" + help + Disable stacktrace feature. + +endchoice + +config BR2_PACKAGE_QBITTORRENT_WEBUI + bool "WebUI" + default y + help + Enable the WebUI. + + Default: yes + +endif diff --git a/package/qbittorrent/qbittorrent.hash b/package/qbittorrent/qbittorrent.hash new file mode 100644 index 0000000000..f5cf78e7fc --- /dev/null +++ b/package/qbittorrent/qbittorrent.hash @@ -0,0 +1,6 @@ +# Locally checked with PGP signature from https://downloads.sourceforge.net/sourceforge/qbittorrent/qbittorrent-4.1.2.tar.xz.asc +sha256 e0165bd427820c64bce596ef952d80058ea8cd7294d3c84bc723d79cd9e2f9c7 qbittorrent-4.1.2.tar.xz + +# Locally calculated +sha256 ed266afaf97e160adc8954a2ddc6d1aeb63bc537b9b8b65348581239052bee03 0001-fix-webui-unreachable-issue.patch +sha256 fc68233a17d308ee633aefedbd761c7582ec48557539aca310b4162e54212fe5 COPYING diff --git a/package/qbittorrent/qbittorrent.mk b/package/qbittorrent/qbittorrent.mk new file mode 100644 index 0000000000..b90dd9ac84 --- /dev/null +++ b/package/qbittorrent/qbittorrent.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# qbittorrent +# +################################################################################ + +QBITTORRENT_VERSION = 4.1.2 +QBITTORRENT_SOURCE = qbittorrent-$(QBITTORRENT_VERSION).tar.xz +QBITTORRENT_SITE = https://downloads.sourceforge.net/sourceforge/qbittorrent +QBITTORRENT_LICENSE = GPL-2.0 +QBITTORRENT_LICENSE_FILES = COPYING +QBITTORRENT_DEPENDENCIES = host-pkgconf boost libtorrent-rasterbar qt5base zlib +QBITTORRENT_CONF_OPTS += --with-boost-libdir="$(STAGING_DIR)/usr/lib" +QBITTORRENT_INSTALL_TARGET_OPTS = INSTALL_ROOT="$(TARGET_DIR)" install + +ifeq ($(BR2_PACKAGE_QBITTORRENT_GUI),y) +QBITTORRENT_CONF_OPTS += --enable-gui +QBITTORRENT_DEPENDENCIES += hicolor-icon-theme qt5svg +else +QBITTORRENT_CONF_OPTS += --disable-gui +endif + +ifeq ($(BR2_PACKAGE_QBITTORRENT_QTDBUS),y) +QBITTORRENT_CONF_OPTS += --enable-qt-dbus +else +QBITTORRENT_CONF_OPTS += --disable-qt-dbus +endif + +ifeq ($(BR2_PACKAGE_QBITTORRENT_SYSTEMD),y) +QBITTORRENT_CONF_OPTS += --enable-systemd +else +QBITTORRENT_CONF_OPTS += --disable-systemd +endif + +ifeq ($(BR2_PACKAGE_QBITTORRENT_STACKTRACE_ENABLE),y) +QBITTORRENT_CONF_OPTS += --enable-stacktrace +endif + +ifeq ($(BR2_PACKAGE_QBITTORRENT_STACKTRACE_DISABLE),y) +QBITTORRENT_CONF_OPTS += --disable-stacktrace +endif + +ifeq ($(BR2_PACKAGE_QBITTORRENT_WEBUI),y) +QBITTORRENT_CONF_OPTS += --enable-webui +else +QBITTORRENT_CONF_OPTS += --disable-webui +endif + +$(eval $(autotools-package))
The qBittorrent project aims to provide an open-source software alternative to µTorrent. https://www.qbittorrent.org/ Signed-off-by: Philipp Richter <richterphilipp.pops@gmail.com> --- DEVELOPERS | 1 + package/Config.in | 1 + .../0001-fix-webui-unreachable-issue.patch | 36 +++++++ package/qbittorrent/Config.in | 97 +++++++++++++++++++ package/qbittorrent/qbittorrent.hash | 6 ++ package/qbittorrent/qbittorrent.mk | 49 ++++++++++ 6 files changed, 190 insertions(+) create mode 100644 package/qbittorrent/0001-fix-webui-unreachable-issue.patch create mode 100644 package/qbittorrent/Config.in create mode 100644 package/qbittorrent/qbittorrent.hash create mode 100644 package/qbittorrent/qbittorrent.mk