Skip to content

Commit 20f47e3

Browse files
add: yumex and yumex-updater
- Introducing yumex-ng, a ground up rewrite of Yumex with GTK4 and libadwaita. - Includes an auto-update script.
1 parent 705f44c commit 20f47e3

3 files changed

Lines changed: 130 additions & 0 deletions

File tree

anda/apps/yumex/anda.hcl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
project pkg {
2+
arches = ["x86_64", "aarch64"]
3+
rpm {
4+
spec = "yumex.spec"
5+
}
6+
}

anda/apps/yumex/update.rhai

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rpm.version(gh_tag("timlau/yumex-ng"));

anda/apps/yumex/yumex.spec

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
%global app_id dk.yumex.Yumex
2+
%global app_build release
3+
4+
Name: yumex
5+
Version: 5.4.0
6+
Release: %autorelease
7+
Summary: Yum Extender graphical package management tool
8+
9+
Packager: Jacob Secunda <secundaja@gmail.com>
10+
11+
Group: Applications/System
12+
License: GPL-3.0-or-later
13+
URL: https://github.com/timlau/yumex-ng
14+
Source0: %{url}/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
15+
16+
BuildArch: noarch
17+
BuildRequires: python3-devel
18+
BuildRequires: meson
19+
BuildRequires: blueprint-compiler >= 0.4.0
20+
BuildRequires: gettext
21+
BuildRequires: desktop-file-utils
22+
BuildRequires: libappstream-glib
23+
BuildRequires: pkgconfig(glib-2.0)
24+
BuildRequires: pkgconfig(gtk4)
25+
BuildRequires: pkgconfig(libadwaita-1)
26+
BuildRequires: pkgconfig(pygobject-3.0)
27+
BuildRequires: systemd-rpm-macros
28+
29+
Requires: python3-gobject
30+
Requires: libadwaita >= 1.6
31+
Requires: gtk4
32+
Requires: python3-dbus
33+
Requires: flatpak-libs > 1.15.0
34+
Requires: appstream >= 1.0.2
35+
36+
Recommends: %{name}-updater
37+
38+
# dnf5 requirements
39+
Requires: dnf5daemon-server >= 5.2.12
40+
Provides: yumex-dnf5 = %{version}-%{release}
41+
Obsoletes: yumex-dnf5 < %{version}-%{release}
42+
43+
%description
44+
Graphical package tool for maintain packages on the system
45+
46+
%package -n %{name}-updater
47+
Summary: Yum Extender updater app
48+
Requires: %{name} = %{version}-%{release}
49+
Requires: python3-gobject
50+
Requires: gtk3
51+
Requires: python3-dbus
52+
Requires: flatpak-libs > 1.15.0
53+
Requires: libappindicator-gtk3
54+
55+
Provides: yumex-dnf5-updater-systray = %{version}-%{release}
56+
Obsoletes: yumex-dnf5-updater-systray < %{version}-%{release}
57+
Provides: yumex-updater-systray = %{version}-%{release}
58+
Obsoletes: yumex-updater-systray < %{version}-%{release}
59+
60+
%description -n %{name}-updater
61+
Service to check and notify about available updates
62+
63+
%prep
64+
%setup -q
65+
66+
%check
67+
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
68+
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{app_id}.desktop
69+
70+
%build
71+
%meson --buildtype=%{app_build}
72+
%meson_build
73+
74+
%install
75+
%meson_install
76+
77+
%find_lang %{name}
78+
79+
%post
80+
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
81+
glib-compile-schemas /usr/share/glib-2.0/schemas/ &>/dev/null || :
82+
83+
%post -n %{name}-updater
84+
%systemd_user_post %{name}-updater.service
85+
86+
%postun
87+
if [ $1 -eq 0 ] ; then
88+
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
89+
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
90+
fi
91+
92+
%postun -n %{name}-updater
93+
if [ $1 -eq 0 ] ; then
94+
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
95+
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
96+
fi
97+
%systemd_user_postun_with_restart %{name}-updater.service
98+
%systemd_user_postun_with_reload %{name}-updater.service
99+
%systemd_user_postun %{name}-updater.service
100+
101+
%preun -n %{name}-updater
102+
%systemd_user_preun %{name}-updater.service
103+
104+
%files -f %{name}.lang
105+
%doc README.md
106+
%license LICENSE
107+
%{_datadir}/%{name}/
108+
%{_bindir}/%{name}
109+
%{python3_sitelib}/%{name}/
110+
%{_datadir}/applications/%{app_id}*.desktop
111+
%{_datadir}/icons/hicolor/scalable/apps/dk.yumex.Yumex.svg
112+
%{_metainfodir}/%{app_id}.metainfo.xml
113+
%{_datadir}/glib-2.0/schemas/%{app_id}.gschema.xml
114+
115+
%files -n %{name}-updater
116+
%{_userunitdir}/%{name}-updater.service
117+
%{_prefix}/lib/systemd/user-preset/*%{name}-updater.preset
118+
%{_bindir}/yumex_updater
119+
%{_datadir}/icons/hicolor/scalable/apps/yumex-update-*.svg
120+
121+
%changelog
122+
* Mon Jun 22 2026 Jacob Secunda <secundaja@gmail.com> - 5.4.0-15.4.0-1
123+
- Initial package

0 commit comments

Comments
 (0)