You are not logged in.

#1 2025-03-02 12:54:13

FabioLolix
Member
Registered: 2021-06-27
Posts: 11
Website

gnome-disk-utility-git /root/.gitconfig and devtools

Hi, I have updated the gnome-disk-utility-git  pkgbuild on AUR however I have this issue when building with devtools, don't seem to like the lack of /root/.gitconfig


==> Starting package()...
ninja: Entering directory `/build/gnome-disk-utility-git/src/build'
[0/3] Generating src/disk-image-mounter/cargo-build with a custom command (wrapped by meson to set env)
    Updating git repository `https://github.com/FineFindus/udisks-rs.git`
error: failed to get `udisks2` as a dependency of package `gnome-disk-image-mounter v0.1.0 (/build/gnome-disk-utility-git/src/gnome-disk-utility/src/disk-image-mounter)`

Caused by:
  failed to load source for dependency `udisks2`

Caused by:
  Unable to update https://github.com/FineFindus/udisks-rs.git?rev=001e0c02830a4a229adb99207250b275c79261a2#001e0c02

Caused by:
  failed to stat '/root/.gitconfig'; class=Config (7)
FAILED: src/disk-image-mounter/src 
env CARGO_HOME=/build/gnome-disk-utility-git/src/build/cargo-home /usr/bin/cargo build --manifest-path /build/gnome-disk-utility-git/src/gnome-disk-utility/Cargo.toml --target-dir /build/gnome-disk-utility-git/src/build/src --bin gnome-disk-image-mounter --release
ninja: build stopped: subcommand failed.
Could not rebuild /build/gnome-disk-utility-git/src/build
==> ERROR: A failure occurred in package().

Offline

#2 2025-03-02 15:13:41

loqs
Member
Registered: 2014-03-06
Posts: 18,345

Re: gnome-disk-utility-git /root/.gitconfig and devtools

https://github.com/rust-lang/cargo/issues/9854 which is caused by something not having been built during build?

Offline

#3 2025-03-02 15:25:56

FabioLolix
Member
Registered: 2021-06-27
Posts: 11
Website

Re: gnome-disk-utility-git /root/.gitconfig and devtools

udisks-rs  seems to build fine, it is also peculiar that is failing in package() as build() is fine

[0/141] Generating src/disk-image-mounter/cargo-build with a custom command (wrapped by meson to set env)
    Updating crates.io index
    Updating git repository `https://github.com/FineFindus/udisks-rs.git`
   Downloaded async-recursion v1.1.1
[...]
   Compiling graphene-rs v0.19.8
   Compiling udisks2 v0.1.0 (https://github.com/FineFindus/udisks-rs.git?rev=001e0c02830a4a229adb99207250b275c79261a2#001e0c02)
   Compiling pango v0.19.8

Offline

#4 2025-03-02 16:09:29

loqs
Member
Registered: 2014-03-06
Posts: 18,345

Re: gnome-disk-utility-git /root/.gitconfig and devtools

You can work around the issue by installing in build() to a temporary location then copying across and fixing up permissions in package().  I have not been able to find any environment variables that stop libgit2 from looking in '/root/.gitconfig'.
Edit:
Alternative solution wrap cargo to set HOME=/dev/null avoiding the issue caused by HOME=/root:

diff --git a/PKGBUILD b/PKGBUILD
index 3252bba..8f69f51 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -44,8 +44,9 @@ makedepends=(
 )
 provides=(gnome-disk-utility)
 conflicts=(gnome-disk-utility)
-source=("git+https://gitlab.gnome.org/GNOME/gnome-disk-utility.git")
-sha256sums=('SKIP')
+source=("git+https://gitlab.gnome.org/GNOME/gnome-disk-utility.git" cargo)
+sha256sums=('SKIP'
+            'be870459e744024234d52d191f3973e1de0d371c3371e066ae1818997ffa2ca4')
 
 pkgver() {
   cd gnome-disk-utility
@@ -53,6 +54,9 @@ pkgver() {
 }
 
 build() {
+  chmod +x cargo
+  PATH="$PWD:$PATH"
+
   arch-meson gnome-disk-utility build
   meson compile -C build
 }
diff --git a/cargo b/cargo
new file mode 100755
index 0000000..b224753
--- /dev/null
+++ b/cargo
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/bin/env HOME=/dev/null /usr/bin/cargo "$@"

Last edited by loqs (2025-03-03 16:06:50)

Offline

Board footer

Powered by FluxBB