Thanks @bionade24, I have updated and checked that all dependencies are present in a clean environment (including the git make dependency that I forgot to add when we moved to a git based source).
Search Criteria
Package Details: seadrive-gui 3.0.21-1
Package Actions
| Git Clone URL: | https://aur.archlinux.org/seadrive-gui.git (read-only, click to copy) |
|---|---|
| Package Base: | seadrive-gui |
| Description: | GUI part of seadrive |
| Upstream URL: | https://github.com/haiwen/seadrive-gui |
| Licenses: | Apache |
| Submitter: | eolianoe |
| Maintainer: | orax |
| Last Packager: | orax |
| Votes: | 13 |
| Popularity: | 1.01 |
| First Submitted: | 2017-04-27 13:44 (UTC) |
| Last Updated: | 2026-03-26 14:42 (UTC) |
Dependencies (7)
- libsearpcAUR
- qt6-5compat
- qt6-tools
- qt6-webengine
- seadrive-daemonAUR
- cmake (cmake3AUR, cmake-gitAUR) (make)
- git (git-gitAUR, git-glAUR, git-wd40AUR) (make)
Required by (0)
Sources (2)
orax commented on 2025-11-22 22:44 (UTC)
bionade24 commented on 2025-11-22 19:07 (UTC)
@orax: This pkg needs qt6-5compat as dependency to build & run in a clean environment.
-- Could NOT find Qt6Core5Compat (missing: Qt6Core5Compat_DIR)
CMake Error at CMakeLists.txt:122 (FIND_PACKAGE):
Found package configuration file:
/usr/lib/cmake/Qt6/Qt6Config.cmake
but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
FOUND. Reason given by package:
Failed to find required Qt component "Core5Compat".
Expected Config file at
"/usr/lib/cmake/Qt6Core5Compat/Qt6Core5CompatConfig.cmake" does NOT exist
Configuring with --debug-find-pkg=Qt6Core5Compat might reveal details why
the package was not found.
orax commented on 2025-11-16 16:58 (UTC)
As requested by @bionade24 and using the patch provided by @makinori, I have updated the package to use Qt6 dependencies. I have given the proper authoring credits to @makinori in the Git history. Thanks a lot for your submission.
orax commented on 2025-11-15 18:21 (UTC)
@bionade42, sure I will push an update during the weekend for this release. I was initially waiting for a new release to be pushed upstream before updating to Qt6 so not everybody had to rebuild it just for that.
bionade24 commented on 2025-11-15 18:15 (UTC)
@orax: May you please update the pkg to use Qt6 as provided by @mak? Lots of the qt5 dependencies are EOL already.
makinori commented on 2025-11-10 20:11 (UTC)
I updated the package to use qt6 as it's supported in the seadrive-gui repo. Building qt5-webengine also isn't working right now. Here's the patch: (use patch -Np1 < patch.diff)
diff --git a/PKGBUILD b/PKGBUILD
index 596a97f..1630195 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -11,12 +11,19 @@ pkgdesc="GUI part of seadrive"
arch=('i686' 'x86_64' 'armv7h' 'armv6h' 'aarch64')
url="https://github.com/haiwen/${pkgname}"
license=('Apache')
-depends=('qt5-webengine' 'qt5-tools' 'seadrive-daemon' 'libsearpc')
+depends=('qt6-webengine' 'qt6-tools' 'seadrive-daemon' 'libsearpc')
makedepends=("cmake")
-source=("${pkgname}-v${pkgver}::git+${url}.git#tag=v${pkgver}")
-sha256sums=('SKIP')
+source=(
+ "${pkgname}-v${pkgver}::git+${url}.git#tag=v${pkgver}"
+ "use-qt6.patch"
+)
+sha256sums=('SKIP' 'SKIP')
prepare() {
+ # Apply patch to the source code
+ cd "${srcdir}/${pkgname}-v${pkgver}"
+ patch -Np1 < "${srcdir}/use-qt6.patch"
+
# Create build dir
rm -rf build
mkdir -p build
@@ -24,18 +31,18 @@ prepare() {
build () {
# Build seadrive-gui
- cd "$srcdir/build"
+ cd "${srcdir}/${pkgname}-v${pkgver}/build"
cmake \
-Wno-dev \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
"${srcdir}/${pkgname}-v${pkgver}"
- make
+ make -j$(nproc)
}
package () {
# Install seadrive-gui
- cd "${srcdir}/build"
+ cd "${srcdir}/${pkgname}-v${pkgver}/build"
make DESTDIR="${pkgdir}" install
}
diff --git a/use-qt6.patch b/use-qt6.patch
new file mode 100644
index 0000000..be90f13
--- /dev/null
+++ b/use-qt6.patch
@@ -0,0 +1,31 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6df464c..a29e58c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -85,15 +85,14 @@ ENDIF()
+ ###### BEGIN: QT configuration
+ ####################
+
+-FIND_PROGRAM(qmake_executable NAMES qmake qmake.exe)
+ EXECUTE_PROCESS(COMMAND
+- bash -c "${qmake_executable} --version | grep -iE '^using qt version [0-9.]+' | awk '{print $4}'"
++ bash -c "qmake6 --version | grep -iE '^using qt version [0-9.]+' | awk '{print $4}'"
+ OUTPUT_VARIABLE DETECTED_QT_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ MESSAGE("Qt version: ${DETECTED_QT_VERSION}")
+
+ EXECUTE_PROCESS(COMMAND
+- bash -c "qmake --version|grep -iE '^using qt version [0-9]'|awk '{print $4}'|grep -iE '^[0-9]'|awk -F . '{print $1}'"
++ bash -c "qmake6 --version|grep -iE '^using qt version [0-9]'|awk '{print $4}'|grep -iE '^[0-9]'|awk -F . '{print $1}'"
+ OUTPUT_VARIABLE QT_VERSION_MAJOR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ MESSAGE("QT_VERSION_MAJOR: ${QT_VERSION_MAJOR}")
+@@ -583,7 +582,7 @@ ENDIF()
+ IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "BSD")
+ IF(QT_VERSION_MAJOR EQUAL 6)
+ FIND_PACKAGE(Qt6 COMPONENTS DBus REQUIRED)
+- TARGET_LINK_LIBRARIES(seadrive-gui PRIVATE Qt6::DBus)
++ TARGET_LINK_LIBRARIES(seadrive-gui Qt6::DBus)
+ ELSE()
+ TARGET_LINK_LIBRARIES(seadrive-gui ${QT_QTDBUS_LIBRARIES})
+ QT5_USE_MODULES(seadrive-gui ${USE_QT_LIBRARIES})
river_wunsch commented on 2025-08-21 10:57 (UTC)
Rebuild seadrive-daemon if SeaDrive fails to start.
(For example: paru -S seadrive-daemon --rebuild or yay -S seadrive-daemon --rebuild)
orax commented on 2025-05-14 22:12 (UTC)
@bionade24, I see, it made sense to me in a -git package to have the sums as SKIP as the HEAD always change but as you said this is not really a valid attack vector here as we are using the official company Git repository as our source.
This kind of precaution makes sense inside pre-compiled packages in the main arch repository but isn't really required here.
I will update the package one last time to skip checksum verification. Thanks for the suggestion and explanation.
bionade24 commented on 2025-05-13 12:11 (UTC)
@orax Imho when you use a git tag as source you can 'SKIP' the pkg checksum, as git guarantees the integrity (that's what the -git pkgs in AUR do). In the linked xz PKGBUILD they either do it to prevent malicious attackers from force-pushing or because the git repo still uses SHA1 which one can compute collisions for with loads of gpus. I think neither 2 things are reasonable attack vectors for seadrive-gui, as it's much less popular than xz, maintained by a company and not some overworked guy in his free time. So when I proposed this, it did indeed solve the issue cause by Seafile force-pushing tags.
orax commented on 2025-05-13 08:29 (UTC) (edited on 2025-05-13 08:31 (UTC) by orax)
@bionade24 Thank you very much for those infos. Let me try to see what I can do. The issue here is more that they force-push the tag than the tarball itself (which as you said is generated by Github, this is not something the owner can manually updates).
On the other hand, I completely agree with you that it removes a potential attack vector to use the git repo directly, so I will be updating it to use that.
This will not fix the issue permanently tho as I said and I will still need to update the sources checksums regularly if they do indeed force-push over the tag.
In the end its a pretty ok tradeoff in my opinion as it forces me to check that everything do indeed still works even if it can be frustrating to see a broken build file sometimes.
@jbrouhard, as already stated by bionade, your build environment might be compromised. I just reran a build inside a completely clean container with just base-dev and the stated dependencies in this package and everything built fine.
Pinned Comments
river_wunsch commented on 2025-08-21 10:57 (UTC)
Rebuild
seadrive-daemonif SeaDrive fails to start. (For example:paru -S seadrive-daemon --rebuildoryay -S seadrive-daemon --rebuild)See: https://aur.archlinux.org/packages/seafile-client