diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f2d1e031..f6106b94 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -511,7 +511,7 @@ jobs: Requires: (quickshell or quickshell-git) Requires: accountsservice - Requires: dms-cli + Requires: dms-cli = %{version}-%{release} Requires: dgop Recommends: cava @@ -541,17 +541,6 @@ jobs: Command-line interface for DankMaterialShell configuration and management. Provides native DBus bindings, NetworkManager integration, and system utilities. - %package -n dgop - Summary: Stateless CPU/GPU monitor for DankMaterialShell - License: MIT - URL: https://github.com/AvengeMedia/dgop - Provides: dgop - - %description -n dgop - DGOP is a stateless system monitoring tool that provides CPU, GPU, memory, and - network statistics. Designed for integration with DankMaterialShell but can be - used standalone. This package always includes the latest stable dgop release. - %prep %setup -q -c -n dms-qml @@ -576,18 +565,10 @@ jobs: gunzip -c %{_builddir}/dms-cli.gz > %{_builddir}/dms-cli chmod +x %{_builddir}/dms-cli - wget -O %{_builddir}/dgop.gz "https://github.com/AvengeMedia/dgop/releases/latest/download/dgop-linux-${ARCH_SUFFIX}.gz" || { - echo "Failed to download dgop for architecture %{_arch}" - exit 1 - } - gunzip -c %{_builddir}/dgop.gz > %{_builddir}/dgop - chmod +x %{_builddir}/dgop - %build %install install -Dm755 %{_builddir}/dms-cli %{buildroot}%{_bindir}/dms - install -Dm755 %{_builddir}/dgop %{buildroot}%{_bindir}/dgop install -d %{buildroot}%{_datadir}/bash-completion/completions install -d %{buildroot}%{_datadir}/zsh/site-functions @@ -617,10 +598,8 @@ jobs: rmdir "%{_sysconfdir}/xdg/quickshell" 2>/dev/null || true rmdir "%{_sysconfdir}/xdg" 2>/dev/null || true fi - - if [ "$1" -ge 2 ]; then - pkill -USR1 -x dms >/dev/null 2>&1 || true - fi + # Signal running DMS instances to reload + pkill -USR1 -x dms >/dev/null 2>&1 || : %files %license LICENSE @@ -636,14 +615,10 @@ jobs: %{_datadir}/zsh/site-functions/_dms %{_datadir}/fish/vendor_completions.d/dms.fish - %files -n dgop - %{_bindir}/dgop - %changelog * CHANGELOG_DATE_PLACEHOLDER AvengeMedia - VERSION_PLACEHOLDER-1 - Stable release VERSION_PLACEHOLDER - Built from GitHub release - - Includes latest dms-cli and dgop binaries SPECEOF sed -i "s/VERSION_PLACEHOLDER/${VERSION}/g" ~/rpmbuild/SPECS/dms.spec diff --git a/.github/workflows/run-copr.yml b/.github/workflows/run-copr.yml index 1008064f..e6ae796c 100644 --- a/.github/workflows/run-copr.yml +++ b/.github/workflows/run-copr.yml @@ -62,7 +62,7 @@ jobs: } echo "✅ Source downloaded" - echo "Note: dms-cli and dgop binaries will be downloaded during build based on target architecture" + echo "Note: dms-cli binary will be downloaded during build based on target architecture" ls -lh - name: Generate stable spec file @@ -94,7 +94,7 @@ jobs: Requires: (quickshell or quickshell-git) Requires: accountsservice - Requires: dms-cli + Requires: dms-cli = %{version}-%{release} Requires: dgop Recommends: cava @@ -125,17 +125,6 @@ jobs: Command-line interface for DankMaterialShell configuration and management. Provides native DBus bindings, NetworkManager integration, and system utilities. - %package -n dgop - Summary: Stateless CPU/GPU monitor for DankMaterialShell - License: MIT - URL: https://github.com/AvengeMedia/dgop - Provides: dgop - - %description -n dgop - DGOP is a stateless system monitoring tool that provides CPU, GPU, memory, and - network statistics. Designed for integration with DankMaterialShell but can be - used standalone. This package always includes the latest stable dgop release. - %prep %setup -q -c -n dms-qml @@ -162,19 +151,10 @@ jobs: gunzip -c %{_builddir}/dms-cli.gz > %{_builddir}/dms-cli chmod +x %{_builddir}/dms-cli - # Download dgop for target architecture - wget -O %{_builddir}/dgop.gz "https://github.com/AvengeMedia/dgop/releases/latest/download/dgop-linux-${ARCH_SUFFIX}.gz" || { - echo "Failed to download dgop for architecture %{_arch}" - exit 1 - } - gunzip -c %{_builddir}/dgop.gz > %{_builddir}/dgop - chmod +x %{_builddir}/dgop - %build %install install -Dm755 %{_builddir}/dms-cli %{buildroot}%{_bindir}/dms - install -Dm755 %{_builddir}/dgop %{buildroot}%{_bindir}/dgop # Shell completions install -d %{buildroot}%{_datadir}/bash-completion/completions @@ -202,11 +182,8 @@ jobs: rmdir "%{_sysconfdir}/xdg/quickshell" 2>/dev/null || true rmdir "%{_sysconfdir}/xdg" 2>/dev/null || true fi - - # Restart DMS for active users after upgrade - if [ "$1" -ge 2 ]; then - pkill -USR1 -x dms >/dev/null 2>&1 || true - fi + # Signal running DMS instances to reload (harmless if none running) + pkill -USR1 -x dms >/dev/null 2>&1 || : %files %license LICENSE @@ -220,14 +197,10 @@ jobs: %{_datadir}/zsh/site-functions/_dms %{_datadir}/fish/vendor_completions.d/dms.fish - %files -n dgop - %{_bindir}/dgop - %changelog * CHANGELOG_DATE_PLACEHOLDER AvengeMedia - VERSION_PLACEHOLDER-RELEASE_PLACEHOLDER - Stable release VERSION_PLACEHOLDER - Built from GitHub release - - Includes latest dms-cli and dgop binaries SPECEOF sed -i "s/VERSION_PLACEHOLDER/${VERSION}/g" ~/rpmbuild/SPECS/dms.spec diff --git a/distro/fedora/dms.spec b/distro/fedora/dms.spec index 32b28130..3de02469 100644 --- a/distro/fedora/dms.spec +++ b/distro/fedora/dms.spec @@ -26,7 +26,7 @@ BuildRequires: systemd-rpm-macros # Core requirements Requires: (quickshell-git or quickshell) Requires: accountsservice -Requires: dms-cli +Requires: dms-cli = %{epoch}:%{version}-%{release} Requires: dgop # Core utilities (Highly recommended for DMS functionality) @@ -60,41 +60,9 @@ URL: https://github.com/AvengeMedia/DankMaterialShell Command-line interface for DankMaterialShell configuration and management. Provides native DBus bindings, NetworkManager integration, and system utilities. -%package -n dgop -Summary: Stateless CPU/GPU monitor for DankMaterialShell -License: MIT -URL: https://github.com/AvengeMedia/dgop -Provides: dgop - -%description -n dgop -DGOP is a stateless system monitoring tool that provides CPU, GPU, memory, and -network statistics. Designed for integration with DankMaterialShell but can be -used standalone. This package always includes the latest stable dgop release. - %prep {{{ git_repo_setup_macro }}} -# Download and extract DGOP binary for target architecture -case "%{_arch}" in - x86_64) - DGOP_ARCH="amd64" - ;; - aarch64) - DGOP_ARCH="arm64" - ;; - *) - echo "Unsupported architecture: %{_arch}" - exit 1 - ;; -esac - -wget -O %{_builddir}/dgop.gz "https://github.com/AvengeMedia/dgop/releases/latest/download/dgop-linux-${DGOP_ARCH}.gz" || { - echo "Failed to download dgop for architecture %{_arch}" - exit 1 -} -gunzip -c %{_builddir}/dgop.gz > %{_builddir}/dgop -chmod +x %{_builddir}/dgop - %build # Build DMS CLI from source (core/subdirectory) VERSION="%{version}" @@ -128,9 +96,6 @@ core/bin/${DMS_BINARY} completion bash > %{buildroot}%{_datadir}/bash-completion core/bin/${DMS_BINARY} completion zsh > %{buildroot}%{_datadir}/zsh/site-functions/_dms || : core/bin/${DMS_BINARY} completion fish > %{buildroot}%{_datadir}/fish/vendor_completions.d/dms.fish || : -# Install dgop binary -install -Dm755 %{_builddir}/dgop %{buildroot}%{_bindir}/dgop - # Install systemd user service install -Dm644 assets/systemd/dms.service %{buildroot}%{_userunitdir}/dms.service @@ -150,11 +115,8 @@ rm -rf %{buildroot}%{_datadir}/quickshell/dms/distro echo "%{version}" > %{buildroot}%{_datadir}/quickshell/dms/VERSION %posttrans - -# Restart DMS for active users after upgrade -if [ "$1" -ge 2 ]; then - pkill -USR1 -x dms >/dev/null 2>&1 || true -fi +# Signal running DMS instances to reload +pkill -USR1 -x dms >/dev/null 2>&1 || : %files %license LICENSE @@ -171,8 +133,5 @@ fi %{_datadir}/zsh/site-functions/_dms %{_datadir}/fish/vendor_completions.d/dms.fish -%files -n dgop -%{_bindir}/dgop - %changelog {{{ git_repo_changelog }}} \ No newline at end of file diff --git a/distro/opensuse/dms-git.spec b/distro/opensuse/dms-git.spec index ddf43a08..d89435ee 100644 --- a/distro/opensuse/dms-git.spec +++ b/distro/opensuse/dms-git.spec @@ -110,10 +110,8 @@ if [ -d "%{_sysconfdir}/xdg/quickshell/dms" ]; then rmdir "%{_sysconfdir}/xdg/quickshell/dms" 2>/dev/null || true rmdir "%{_sysconfdir}/xdg/quickshell" 2>/dev/null || true fi - -if [ "$1" -ge 2 ]; then - pkill -USR1 -x dms >/dev/null 2>&1 || true -fi +# Signal running DMS instances to reload +pkill -USR1 -x dms >/dev/null 2>&1 || : %files %license LICENSE diff --git a/distro/opensuse/dms.spec b/distro/opensuse/dms.spec index fed79972..564b6fc6 100644 --- a/distro/opensuse/dms.spec +++ b/distro/opensuse/dms.spec @@ -80,10 +80,8 @@ rm -rf %{buildroot}%{_datadir}/quickshell/dms/core echo "%{version}" > %{buildroot}%{_datadir}/quickshell/dms/VERSION %posttrans - -if [ "$1" -ge 2 ]; then - pkill -USR1 -x dms >/dev/null 2>&1 || true -fi +# Signal running DMS instances to reload +pkill -USR1 -x dms >/dev/null 2>&1 || : %files %license LICENSE