已开启
[sync] PR-2: Split into four subpackages: ub-pkg-manager, ub-pkg-urma, ub-pkg-mem, ub-pkg-virt #4
openeuler-ci-bot创建于 1月13日
[sync] PR-2: Split into four subpackages: ub-pkg-manager, ub-pkg-urma, ub-pkg-mem, ub-pkg-virt #4
已开启
openeuler-ci-bot创建于 1月13日
2 个文件变更+241-0
Binary files do not support preview
@@ -0,0 +1,241 @@
1+%define config_file /etc/ub-pkg-manager/config.yml
2+Name: ub-pkg-manager
3+Version: 0.0.1
4+Release: 1
5+Summary: The full function of UB OS Component
6+ 
7+License: mulan
8+Source0: %{name}-%{version}.tar.gz
9+ 
10+ExclusiveArch: aarch64
11+BuildRequires: python3-setuptools
12+Requires: python3 >= 3.6
13+Requires: systemd
14+Requires: ub-pkg-urma = %{version}-%{release}
15+Requires: ub-pkg-mem = %{version}-%{release}
16+Requires: ub-pkg-virt = %{version}-%{release}
17+ 
18+%description
19+The full function of UB OS Component
20+ 
21+# Subpackage: ub-pkg-urma
22+%package -n ub-pkg-urma
23+Summary: The UnifiedBus Communication function software package management tool of UB OS Component
24+Requires: ubctl ubutils libummu libcdma umdk-ums umdk-ums-tools umdk-urma-lib umdk-urma-bin umdk-urpc-umq umdk-urma-tools
25+Requires: umdk-dlock-lib umdk-urpc-framework umdk-urpc-framework-tools umdk-urpc-umq-devel umdk-urpc-umq-tools
26+ 
27+%description -n ub-pkg-urma
28+UnifiedBus Communication function software package management tool, which
29+includes loading the kernel drivers required for communication and installing
30+user-space software packages.
31+ 
32+# Subpackage: ub-pkg-mem
33+%package -n ub-pkg-mem
34+Summary: The UnifiedBus Pooled Memory function software package management tool of UB OS Component
35+Requires: ub-pkg-urma = %{version}-%{release} sysSentry libobmm
36+ 
37+%description -n ub-pkg-mem
38+UnifiedBus Pooled Memory function software package management tool, which
39+includes loading the kernel drivers required for pooled memory and installing
40+user-space software packages.
41+ 
42+# Subpackage: ub-pkg-virt
43+%package -n ub-pkg-virt
44+Summary: The UnifiedBus Device Virtualization function software package management tool of UB OS Component
45+Requires: ub-pkg-urma = %{version}-%{release} qemu libvirt memlinkd
46+ 
47+%description -n ub-pkg-virt
48+UnifiedBus Device Virtualization function software package management tool,
49+which includes loading the kernel drivers required for device virtualization
50+and installing user-space software packages.
51+ 
52+%global debug_package %{nil}
53+%prep
54+%setup -q
55+ 
56+%build
57+%py3_build
58+ 
59+%install
60+# Create necessary directories
61+mkdir -p %{buildroot}%{_bindir}
62+mkdir -p %{buildroot}/etc/ub-pkg-manager
63+mkdir -p %{buildroot}/usr/lib/systemd/system
64+mkdir -p %{buildroot}/usr/local/ub-pkg-manager/bin
65+mkdir -p %{buildroot}%{_datadir}/ub-pkg-manager
66+ 
67+# Install Python package
68+%py3_install
69+ 
70+# Install service files
71+# Main package service file
72+install -m 644 ub-pkg-manager.service %{buildroot}/usr/lib/systemd/system/
73+# Subpackage service files
74+install -m 644 ub-pkg-urma.service %{buildroot}/usr/lib/systemd/system/
75+install -m 644 ub-pkg-mem.service %{buildroot}/usr/lib/systemd/system/
76+install -m 644 ub-pkg-virt.service %{buildroot}/usr/lib/systemd/system/
77+ 
78+# Install config file (will be handled specially in post scripts)
79+install -m 644 config.yml %{buildroot}%{config_file}.bak
80+ 
81+ 
82+# Install scripts
83+# Common script for all subpackages
84+install -m 755 src/ub_manage/scripts/ub-pkg-common.sh %{buildroot}/usr/local/ub-pkg-manager/bin/
85+# Main package script
86+install -m 755 src/ub_manage/scripts/00-ub-pkg-manager.sh %{buildroot}/usr/local/ub-pkg-manager/bin/
87+# Subpackage scripts
88+install -m 755 src/ub_manage/scripts/01-ub-pkg-urma.sh %{buildroot}/usr/local/ub-pkg-manager/bin/01-ub-pkg-urma.sh
89+install -m 755 src/ub_manage/scripts/02-ub-pkg-mem.sh %{buildroot}/usr/local/ub-pkg-manager/bin/02-ub-pkg-mem.sh
90+install -m 755 src/ub_manage/scripts/03-ub-pkg-virt.sh %{buildroot}/usr/local/ub-pkg-manager/bin/03-ub-pkg-virt.sh
91+ 
92+%post -n ub-pkg-manager
93+ 
94+# Reload systemd
95+/bin/systemctl daemon-reload
96+ 
97+# Enable service by default
98+/bin/systemctl enable ub-pkg-manager.service 2>/dev/null || :
99+ 
100+# Start main service
101+/bin/systemctl start ub-pkg-manager.service 2>/dev/null || :
102+ 
103+# Handle config file
104+if [ -f %{config_file} ]; then
105+ # Config file exists, keep the new one as .bak
106+ echo "Configuration file %{config_file} already exists, new version saved as %{config_file}.bak"
107+else
108+ # First time install, use the default config
109+ mv %{config_file}.bak %{config_file}
110+ echo "Installed default configuration to %{config_file}"
111+fi
112+ 
113+%preun -n ub-pkg-manager
114+if [ $1 -eq 0 ]; then
115+ # Final removal, stop and disable service
116+ /bin/systemctl stop ub-pkg-manager.service 2>/dev/null || :
117+ /bin/systemctl disable ub-pkg-manager.service 2>/dev/null || :
118+fi
119+ 
120+# Subpackage: ub-pkg-urma post install
121+%post -n ub-pkg-urma
122+# Reload systemd
123+/bin/systemctl daemon-reload
124+ 
125+# Enable service by default
126+/bin/systemctl enable ub-pkg-urma.service 2>/dev/null || :
127+ 
128+# Start service
129+/bin/systemctl start ub-pkg-urma.service 2>/dev/null || :
130+ 
131+# Subpackage: ub-pkg-urma pre uninstall
132+%preun -n ub-pkg-urma
133+if [ $1 -eq 0 ]; then
134+ # Final removal, stop and disable service
135+ /bin/systemctl stop ub-pkg-urma.service 2>/dev/null || :
136+ /bin/systemctl disable ub-pkg-urma.service 2>/dev/null || :
137+fi
138+ 
139+# Subpackage: ub-pkg-mem post install
140+%post -n ub-pkg-mem
141+# Reload systemd
142+/bin/systemctl daemon-reload
143+ 
144+# Enable service by default
145+/bin/systemctl enable ub-pkg-mem.service 2>/dev/null || :
146+ 
147+# Start service after its dependency
148+/bin/systemctl start ub-pkg-mem.service 2>/dev/null || :
149+ 
150+# Subpackage: ub-pkg-mem pre uninstall
151+%preun -n ub-pkg-mem
152+if [ $1 -eq 0 ]; then
153+ # Final removal, stop and disable service
154+ /bin/systemctl stop ub-pkg-mem.service 2>/dev/null || :
155+ /bin/systemctl disable ub-pkg-mem.service 2>/dev/null || :
156+fi
157+ 
158+# Subpackage: ub-pkg-virt post install
159+%post -n ub-pkg-virt
160+# Reload systemd
161+/bin/systemctl daemon-reload
162+ 
163+# Enable service by default
164+/bin/systemctl enable ub-pkg-virt.service 2>/dev/null || :
165+ 
166+# Start service after its dependency
167+/bin/systemctl start ub-pkg-virt.service 2>/dev/null || :
168+ 
169+# Subpackage: ub-pkg-virt pre uninstall
170+%preun -n ub-pkg-virt
171+if [ $1 -eq 0 ]; then
172+ # Final removal, stop and disable service
173+ /bin/systemctl stop ub-pkg-virt.service 2>/dev/null || :
174+ /bin/systemctl disable ub-pkg-virt.service 2>/dev/null || :
175+fi
176+ 
177+%postun -n ub-pkg-manager
178+# Reload systemd if upgrading or removing
179+if [ $1 -ge 1 ]; then
180+ /bin/systemctl daemon-reload
181+fi
182+ 
183+# Don't remove config file on uninstall, let user decide
184+if [ $1 -eq 0 ]; then
185+ echo "Configuration file %{config_file} has been preserved for your reference"
186+fi
187+ 
188+# Subpackage: ub-pkg-urma post uninstall
189+%postun -n ub-pkg-urma
190+# Reload systemd if upgrading or removing
191+if [ $1 -ge 1 ]; then
192+ /bin/systemctl daemon-reload
193+fi
194+ 
195+# Subpackage: ub-pkg-mem post uninstall
196+%postun -n ub-pkg-mem
197+# Reload systemd if upgrading or removing
198+if [ $1 -ge 1 ]; then
199+ /bin/systemctl daemon-reload
200+fi
201+ 
202+# Subpackage: ub-pkg-virt post uninstall
203+%postun -n ub-pkg-virt
204+# Reload systemd if upgrading or removing
205+if [ $1 -ge 1 ]; then
206+ /bin/systemctl daemon-reload
207+fi
208+ 
209+# Files for main package (ub-pkg-manager)
210+%files
211+%doc
212+%{python3_sitelib}/ub_manage/
213+%{python3_sitelib}/ub_pkg_manager-%{version}*.egg-info/
214+%{_bindir}/ub-pkg-cli
215+/usr/lib/systemd/system/ub-pkg-manager.service
216+%config(noreplace) %{config_file}*
217+/usr/local/ub-pkg-manager/bin/00-ub-pkg-manager.sh
218+/usr/local/ub-pkg-manager/bin/ub-pkg-common.sh
219+ 
220+# Files for ub-pkg-urma
221+%files -n ub-pkg-urma
222+/usr/lib/systemd/system/ub-pkg-urma.service
223+/usr/local/ub-pkg-manager/bin/ub-pkg-common.sh
224+/usr/local/ub-pkg-manager/bin/01-ub-pkg-urma.sh
225+ 
226+# Files for ub-pkg-mem
227+%files -n ub-pkg-mem
228+/usr/lib/systemd/system/ub-pkg-mem.service
229+/usr/local/ub-pkg-manager/bin/ub-pkg-common.sh
230+/usr/local/ub-pkg-manager/bin/02-ub-pkg-mem.sh
231+ 
232+# Files for ub-pkg-virt
233+%files -n ub-pkg-virt
234+/usr/lib/systemd/system/ub-pkg-virt.service
235+/usr/local/ub-pkg-manager/bin/ub-pkg-common.sh
236+/usr/local/ub-pkg-manager/bin/03-ub-pkg-virt.sh
237+ 
238+%changelog
239+* Tue Dec 16 2025 gongzhengtang <gong_zhengtang@163.com> - 0.0.1-1
240+- Initial release
241+- Split into four subpackages: ub-pkg-manager, ub-pkg-urma, ub-pkg-mem, ub-pkg-virt