core-dom0.spec.in 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555
  1. #
  2. # This is the SPEC file for creating binary RPMs for the Dom0.
  3. #
  4. #
  5. # The Qubes OS Project, http://www.qubes-os.org
  6. #
  7. # Copyright (C) 2010 Joanna Rutkowska <joanna@invisiblethingslab.com>
  8. # Copyright (C) 2010 Rafal Wojtczuk <rafal@invisiblethingslab.com>
  9. #
  10. # This library is free software; you can redistribute it and/or
  11. # modify it under the terms of the GNU Lesser General Public
  12. # License as published by the Free Software Foundation; either
  13. # version 2.1 of the License, or (at your option) any later version.
  14. #
  15. # This library is distributed in the hope that it will be useful,
  16. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  18. # Lesser General Public License for more details.
  19. #
  20. # You should have received a copy of the GNU Lesser General Public
  21. # License along with this library; if not, see <https://www.gnu.org/licenses/>.
  22. #
  23. #
  24. %define _dracutmoddir /usr/lib/dracut/modules.d
  25. %define backend_vmm @BACKEND_VMM@
  26. Name: qubes-core-dom0
  27. Version: @VERSION@
  28. Release: 1%{dist}
  29. Summary: The Qubes core files (Dom0-side)
  30. Group: Qubes
  31. Vendor: Invisible Things Lab
  32. License: GPL
  33. URL: http://www.qubes-os.org
  34. # because we have "#!/usr/bin/env python" shebangs, RPM puts
  35. # "Requires: $(which # python)" dependency, which, depending on $PATH order,
  36. # may point to /usr/bin/python or /bin/python (because Fedora has this stupid
  37. # /bin -> usr/bin symlink). python*.rpm provides only /usr/bin/python.
  38. AutoReq: no
  39. BuildArch: noarch
  40. BuildRequires: ImageMagick
  41. BuildRequires: systemd-units
  42. BuildRequires: systemd
  43. BuildRequires: python3-devel
  44. # for building documentation
  45. BuildRequires: python3-sphinx
  46. BuildRequires: python3-lxml
  47. BuildRequires: libvirt-python3
  48. BuildRequires: python3-dbus
  49. BuildRequires: python3-PyYAML
  50. BuildRequires: python3-xen
  51. Requires(post): systemd-units
  52. Requires(preun): systemd-units
  53. Requires(postun): systemd-units
  54. Requires: python3
  55. #Requires: python3-aiofiles
  56. Requires: python3-docutils
  57. Requires: python3-jinja2
  58. Requires: python3-lxml
  59. Requires: python3-qubesdb
  60. Requires: python3-setuptools
  61. Requires: python3-PyYAML
  62. Requires: python3-xen
  63. Requires: libvirt-python3
  64. Requires: pciutils
  65. Requires: qubes-core-dom0-linux >= 4.0.11
  66. # policy (daemon) using changed qubesd socket protocol
  67. Requires: qubes-core-qrexec-dom0 >= 4.1.8
  68. Requires: qubes-db-dom0
  69. # TODO: R: qubes-gui-dom0 >= 2.1.11
  70. Conflicts: qubes-gui-dom0 < 1.1.13
  71. %if x%{?backend_vmm} == xxen
  72. Requires: xen-runtime
  73. Requires: xen-hvm
  74. Requires: xen-hvm-stubdom-linux >= 1.0.13
  75. Requires: libvirt-daemon-xen >= 3.3.0-7
  76. %endif
  77. Requires: cronie
  78. Requires: scrypt
  79. # for qubes-hcl-report
  80. Requires: dmidecode
  81. # qubesd socket protocol
  82. Conflicts: python3-qubesadmin < 4.1.6
  83. # Required for qvm-console* tools
  84. Requires: socat
  85. %{?systemd_requires}
  86. Obsoletes: qubes-core-dom0-doc <= 4.0
  87. Provides: qubes-core-dom0-doc
  88. # Prevent preupgrade from installation (it pretend to provide distribution upgrade)
  89. Obsoletes: preupgrade < 2.0
  90. Provides: preupgrade = 2.0
  91. Source0: %{name}-%{version}.tar.gz
  92. %description
  93. The Qubes core files for installation on Dom0.
  94. %prep
  95. %setup -q
  96. %build
  97. make all
  98. make -C doc PYTHON=%{__python3} SPHINXBUILD=sphinx-build-%{python3_version} man
  99. %install
  100. make install \
  101. DESTDIR=$RPM_BUILD_ROOT \
  102. BACKEND_VMM=%{backend_vmm} \
  103. UNITDIR=%{_unitdir} \
  104. PYTHON_SITEPATH=%{python3_sitelib} \
  105. SYSCONFDIR=%{_sysconfdir}
  106. make -C doc DESTDIR=$RPM_BUILD_ROOT \
  107. PYTHON=%{__python3} SPHINXBUILD=sphinx-build-%{python3_version} \
  108. install
  109. mkdir -p $RPM_BUILD_ROOT/etc/qubes/backup
  110. %post
  111. %systemd_post qubes-core.service
  112. %systemd_post qubes-qmemman.service
  113. %systemd_post qubesd.service
  114. sed '/^autoballoon=/d;/^lockfile=/d' -i /etc/xen/xl.conf
  115. echo 'autoballoon=0' >> /etc/xen/xl.conf
  116. echo 'lockfile="/var/run/qubes/xl-lock"' >> /etc/xen/xl.conf
  117. if [ -e /etc/sysconfig/prelink ]; then
  118. sed 's/^PRELINKING\s*=.*/PRELINKING=no/' -i /etc/sysconfig/prelink
  119. fi
  120. # Conflicts with libxl stack, so disable it
  121. systemctl --no-reload disable xend.service >/dev/null 2>&1
  122. systemctl --no-reload disable xendomains.service >/dev/null 2>&1
  123. systemctl daemon-reload >/dev/null 2>&1 || :
  124. if ! [ -e /var/lib/qubes/qubes.xml ]; then
  125. # echo "Initializing Qubes DB..."
  126. umask 007; sg qubes -c 'qubes-create --offline-mode'
  127. fi
  128. %clean
  129. rm -rf $RPM_BUILD_ROOT
  130. rm -f %{name}-%{version}
  131. %pre
  132. if ! grep -q ^qubes: /etc/group ; then
  133. groupadd qubes
  134. fi
  135. %triggerin -- xen-runtime
  136. /usr/lib/qubes/fix-dir-perms.sh
  137. %preun
  138. %systemd_preun qubes-core.service
  139. %systemd_preun qubes-qmemman.service
  140. %systemd_preun qubesd.service
  141. if [ "$1" = 0 ] ; then
  142. # no more packages left
  143. service qubes_netvm stop
  144. service qubes_core stop
  145. fi
  146. %postun
  147. %systemd_postun qubes-core.service
  148. %systemd_postun_with_restart qubes-qmemman.service
  149. %systemd_postun_with_restart qubesd.service
  150. if [ "$1" = 0 ] ; then
  151. # no more packages left
  152. chgrp root /etc/xen
  153. chmod 700 /etc/xen
  154. groupdel qubes
  155. fi
  156. %posttrans
  157. # Preserve user-modified legacy policy at original location, revert rpm adding
  158. # .rpmsave suffix. This needs to be done in %%posttrans, to be run after
  159. # uninstalling the old package.
  160. # List policy files explicitly, to not touch files from other packages.
  161. SERVICES="
  162. admin.Events
  163. admin.backup.Cancel
  164. admin.backup.Execute
  165. admin.backup.Info
  166. admin.deviceclass.List
  167. admin.label.Create
  168. admin.label.Get
  169. admin.label.Index
  170. admin.label.List
  171. admin.label.Remove
  172. admin.pool.Add
  173. admin.pool.Info
  174. admin.pool.List
  175. admin.pool.ListDrivers
  176. admin.pool.Remove
  177. admin.pool.Set.revisions_to_keep
  178. admin.pool.UsageDetails
  179. admin.pool.volume.List
  180. admin.property.Get
  181. admin.property.GetAll
  182. admin.property.GetDefault
  183. admin.property.Help
  184. admin.property.List
  185. admin.property.Reset
  186. admin.property.Set
  187. admin.vm.Console
  188. admin.vm.Create.AppVM
  189. admin.vm.Create.DispVM
  190. admin.vm.Create.StandaloneVM
  191. admin.vm.Create.TemplateVM
  192. admin.vm.CreateDisposable
  193. admin.vm.CreateInPool.AppVM
  194. admin.vm.CreateInPool.DispVM
  195. admin.vm.CreateInPool.StandaloneVM
  196. admin.vm.CreateInPool.TemplateVM
  197. admin.vm.CurrentState
  198. admin.vm.Kill
  199. admin.vm.List
  200. admin.vm.Pause
  201. admin.vm.Remove
  202. admin.vm.Shutdown
  203. admin.vm.Start
  204. admin.vm.Stats
  205. admin.vm.Unpause
  206. admin.vm.device.block.Attach
  207. admin.vm.device.block.Available
  208. admin.vm.device.block.Detach
  209. admin.vm.device.block.List
  210. admin.vm.device.block.Set.persistent
  211. admin.vm.device.pci.Attach
  212. admin.vm.device.pci.Available
  213. admin.vm.device.pci.Detach
  214. admin.vm.device.pci.List
  215. admin.vm.device.pci.Set.persistent
  216. admin.vm.feature.CheckWithAdminVM
  217. admin.vm.feature.CheckWithNetvm
  218. admin.vm.feature.CheckWithTemplate
  219. admin.vm.feature.CheckWithTemplateAndAdminVM
  220. admin.vm.feature.Get
  221. admin.vm.feature.List
  222. admin.vm.feature.Remove
  223. admin.vm.feature.Set
  224. admin.vm.firewall.Get
  225. admin.vm.firewall.Reload
  226. admin.vm.firewall.Set
  227. admin.vm.property.Get
  228. admin.vm.property.GetAll
  229. admin.vm.property.GetDefault
  230. admin.vm.property.Help
  231. admin.vm.property.List
  232. admin.vm.property.Reset
  233. admin.vm.property.Set
  234. admin.vm.tag.Get
  235. admin.vm.tag.List
  236. admin.vm.tag.Remove
  237. admin.vm.tag.Set
  238. admin.vm.volume.CloneFrom
  239. admin.vm.volume.CloneTo
  240. admin.vm.volume.Import
  241. admin.vm.volume.ImportWithSize
  242. admin.vm.volume.Info
  243. admin.vm.volume.List
  244. admin.vm.volume.ListSnapshots
  245. admin.vm.volume.Resize
  246. admin.vm.volume.Revert
  247. admin.vm.volume.Set.revisions_to_keep
  248. admin.vm.volume.Set.rw
  249. admin.vmclass.List
  250. include/admin-global-ro
  251. include/admin-global-rwx
  252. include/admin-local-ro
  253. include/admin-local-rwx
  254. policy.RegisterArgument
  255. qubes.ConnectTCP
  256. qubes.FeaturesRequest
  257. qubes.Filecopy
  258. qubes.GetDate
  259. qubes.GetImageRGBA
  260. qubes.GetRandomizedTime
  261. qubes.NotifyTools
  262. qubes.NotifyUpdates
  263. qubes.OpenInVM
  264. qubes.OpenURL
  265. qubes.StartApp
  266. qubes.UpdatesProxy
  267. qubes.VMExec
  268. qubes.VMExecGUI
  269. qubes.VMRootShell
  270. qubes.VMShell
  271. "
  272. for service in $SERVICES; do
  273. if [ -f "/etc/qubes-rpc/policy/$service.rpmsave" ] && \
  274. ! [ -e "/etc/qubes-rpc/policy/$service" ]; then
  275. mv -n "/etc/qubes-rpc/policy/$service.rpmsave" \
  276. "/etc/qubes-rpc/policy/$service"
  277. fi
  278. done
  279. # Take extra care about policy files in include/ - if any of them is gone
  280. # (because unmodified) but user still reference them anywhere, the policy
  281. # loading will be broken. Check for this case, and avoid the issue by creating
  282. # a symlink to the new policy.
  283. INCLUDES="admin-global-ro admin-global-rwx admin-local-ro admin-local-rwx"
  284. for include in $INCLUDES; do
  285. if grep -qr "include/$include" /etc/qubes-rpc && \
  286. ! [ -e "/etc/qubes-rpc/policy/include/$include" ]; then
  287. ln -s "../../../qubes/policy.d/include/$include" \
  288. "/etc/qubes-rpc/policy/include/$include"
  289. fi
  290. done
  291. %files
  292. %defattr(-,root,root,-)
  293. %config(noreplace) %attr(0664,root,qubes) %{_sysconfdir}/qubes/qmemman.conf
  294. %config(noreplace) /etc/logrotate.d/qubes
  295. %attr(770,root,qubes) %dir /etc/qubes/backup
  296. /usr/bin/qvm-*
  297. /usr/bin/qubes-*
  298. /usr/bin/qmemmand
  299. /usr/bin/qubesd*
  300. %{_mandir}/man1/qubes*.1*
  301. %{_mandir}/man1/qvm-*.1*
  302. %dir %{python3_sitelib}/qubes-*.egg-info
  303. %{python3_sitelib}/qubes-*.egg-info/*
  304. %dir %{python3_sitelib}/qubes
  305. %dir %{python3_sitelib}/qubes/__pycache__
  306. %{python3_sitelib}/qubes/__pycache__/*
  307. %{python3_sitelib}/qubes/__init__.py
  308. %{python3_sitelib}/qubes/app.py
  309. %{python3_sitelib}/qubes/backup.py
  310. %{python3_sitelib}/qubes/config.py
  311. %{python3_sitelib}/qubes/devices.py
  312. %{python3_sitelib}/qubes/dochelpers.py
  313. %{python3_sitelib}/qubes/events.py
  314. %{python3_sitelib}/qubes/exc.py
  315. %{python3_sitelib}/qubes/features.py
  316. %{python3_sitelib}/qubes/firewall.py
  317. %{python3_sitelib}/qubes/log.py
  318. %{python3_sitelib}/qubes/rngdoc.py
  319. %{python3_sitelib}/qubes/tarwriter.py
  320. %{python3_sitelib}/qubes/utils.py
  321. %dir %{python3_sitelib}/qubes/api
  322. %dir %{python3_sitelib}/qubes/api/__pycache__
  323. %{python3_sitelib}/qubes/api/__pycache__/*
  324. %{python3_sitelib}/qubes/api/__init__.py
  325. %{python3_sitelib}/qubes/api/admin.py
  326. %{python3_sitelib}/qubes/api/internal.py
  327. %{python3_sitelib}/qubes/api/misc.py
  328. %dir %{python3_sitelib}/qubes/vm
  329. %dir %{python3_sitelib}/qubes/vm/__pycache__
  330. %{python3_sitelib}/qubes/vm/__pycache__/*
  331. %{python3_sitelib}/qubes/vm/__init__.py
  332. %{python3_sitelib}/qubes/vm/adminvm.py
  333. %{python3_sitelib}/qubes/vm/appvm.py
  334. %{python3_sitelib}/qubes/vm/dispvm.py
  335. %{python3_sitelib}/qubes/vm/qubesvm.py
  336. %{python3_sitelib}/qubes/vm/standalonevm.py
  337. %{python3_sitelib}/qubes/vm/templatevm.py
  338. %dir %{python3_sitelib}/qubes/vm/mix
  339. %dir %{python3_sitelib}/qubes/vm/mix/__pycache__
  340. %{python3_sitelib}/qubes/vm/mix/__pycache__/*
  341. %{python3_sitelib}/qubes/vm/mix/__init__.py
  342. %{python3_sitelib}/qubes/vm/mix/dvmtemplate.py
  343. %{python3_sitelib}/qubes/vm/mix/net.py
  344. %dir %{python3_sitelib}/qubes/storage
  345. %dir %{python3_sitelib}/qubes/storage/__pycache__
  346. %{python3_sitelib}/qubes/storage/__pycache__/*
  347. %{python3_sitelib}/qubes/storage/__init__.py
  348. %{python3_sitelib}/qubes/storage/file.py
  349. %{python3_sitelib}/qubes/storage/reflink.py
  350. %{python3_sitelib}/qubes/storage/kernels.py
  351. %{python3_sitelib}/qubes/storage/lvm.py
  352. %dir %{python3_sitelib}/qubes/tools
  353. %dir %{python3_sitelib}/qubes/tools/__pycache__
  354. %{python3_sitelib}/qubes/tools/__pycache__/*
  355. %{python3_sitelib}/qubes/tools/__init__.py
  356. %{python3_sitelib}/qubes/tools/qmemmand.py
  357. %{python3_sitelib}/qubes/tools/qubes_create.py
  358. %{python3_sitelib}/qubes/tools/qubesd.py
  359. %{python3_sitelib}/qubes/tools/qubesd_query.py
  360. %dir %{python3_sitelib}/qubes/ext
  361. %dir %{python3_sitelib}/qubes/ext/__pycache__
  362. %{python3_sitelib}/qubes/ext/__pycache__/*
  363. %{python3_sitelib}/qubes/ext/__init__.py
  364. %{python3_sitelib}/qubes/ext/admin.py
  365. %{python3_sitelib}/qubes/ext/backup_restore.py
  366. %{python3_sitelib}/qubes/ext/block.py
  367. %{python3_sitelib}/qubes/ext/core_features.py
  368. %{python3_sitelib}/qubes/ext/gui.py
  369. %{python3_sitelib}/qubes/ext/audio.py
  370. %{python3_sitelib}/qubes/ext/pci.py
  371. %{python3_sitelib}/qubes/ext/r3compatibility.py
  372. %{python3_sitelib}/qubes/ext/services.py
  373. %{python3_sitelib}/qubes/ext/windows.py
  374. %dir %{python3_sitelib}/qubes/tests
  375. %dir %{python3_sitelib}/qubes/tests/__pycache__
  376. %{python3_sitelib}/qubes/tests/__pycache__/*
  377. %{python3_sitelib}/qubes/tests/__init__.py
  378. %{python3_sitelib}/qubes/tests/run.py
  379. %{python3_sitelib}/qubes/tests/extra.py
  380. %{python3_sitelib}/qubes/tests/api.py
  381. %{python3_sitelib}/qubes/tests/api_admin.py
  382. %{python3_sitelib}/qubes/tests/api_internal.py
  383. %{python3_sitelib}/qubes/tests/api_misc.py
  384. %{python3_sitelib}/qubes/tests/app.py
  385. %{python3_sitelib}/qubes/tests/devices.py
  386. %{python3_sitelib}/qubes/tests/devices_block.py
  387. %{python3_sitelib}/qubes/tests/events.py
  388. %{python3_sitelib}/qubes/tests/ext.py
  389. %{python3_sitelib}/qubes/tests/firewall.py
  390. %{python3_sitelib}/qubes/tests/init.py
  391. %{python3_sitelib}/qubes/tests/rpc_import.py
  392. %{python3_sitelib}/qubes/tests/storage.py
  393. %{python3_sitelib}/qubes/tests/storage_file.py
  394. %{python3_sitelib}/qubes/tests/storage_reflink.py
  395. %{python3_sitelib}/qubes/tests/storage_kernels.py
  396. %{python3_sitelib}/qubes/tests/storage_lvm.py
  397. %{python3_sitelib}/qubes/tests/tarwriter.py
  398. %dir %{python3_sitelib}/qubes/tests/vm
  399. %dir %{python3_sitelib}/qubes/tests/vm/__pycache__
  400. %{python3_sitelib}/qubes/tests/vm/__pycache__/*
  401. %{python3_sitelib}/qubes/tests/vm/__init__.py
  402. %{python3_sitelib}/qubes/tests/vm/init.py
  403. %{python3_sitelib}/qubes/tests/vm/adminvm.py
  404. %{python3_sitelib}/qubes/tests/vm/appvm.py
  405. %{python3_sitelib}/qubes/tests/vm/dispvm.py
  406. %{python3_sitelib}/qubes/tests/vm/qubesvm.py
  407. %dir %{python3_sitelib}/qubes/tests/vm/mix
  408. %dir %{python3_sitelib}/qubes/tests/vm/mix/__pycache__
  409. %{python3_sitelib}/qubes/tests/vm/mix/__pycache__/*
  410. %{python3_sitelib}/qubes/tests/vm/mix/__init__.py
  411. %{python3_sitelib}/qubes/tests/vm/mix/net.py
  412. %dir %{python3_sitelib}/qubes/tests/tools
  413. %dir %{python3_sitelib}/qubes/tests/tools/__pycache__
  414. %{python3_sitelib}/qubes/tests/tools/__pycache__/*
  415. %{python3_sitelib}/qubes/tests/tools/__init__.py
  416. %dir %{python3_sitelib}/qubes/tests/integ
  417. %dir %{python3_sitelib}/qubes/tests/integ/__pycache__
  418. %{python3_sitelib}/qubes/tests/integ/__pycache__/*
  419. %{python3_sitelib}/qubes/tests/integ/__init__.py
  420. %{python3_sitelib}/qubes/tests/integ/backup.py
  421. %{python3_sitelib}/qubes/tests/integ/backupcompatibility.py
  422. %{python3_sitelib}/qubes/tests/integ/backupdispvm.py
  423. %{python3_sitelib}/qubes/tests/integ/basic.py
  424. %{python3_sitelib}/qubes/tests/integ/devices_block.py
  425. %{python3_sitelib}/qubes/tests/integ/devices_pci.py
  426. %{python3_sitelib}/qubes/tests/integ/dispvm.py
  427. %{python3_sitelib}/qubes/tests/integ/dom0_update.py
  428. %{python3_sitelib}/qubes/tests/integ/vm_update.py
  429. %{python3_sitelib}/qubes/tests/integ/mime.py
  430. %{python3_sitelib}/qubes/tests/integ/network.py
  431. %{python3_sitelib}/qubes/tests/integ/network_ipv6.py
  432. %{python3_sitelib}/qubes/tests/integ/grub.py
  433. %{python3_sitelib}/qubes/tests/integ/salt.py
  434. %{python3_sitelib}/qubes/tests/integ/qrexec.py
  435. %{python3_sitelib}/qubes/tests/integ/storage.py
  436. %{python3_sitelib}/qubes/tests/integ/vm_qrexec_gui.py
  437. %dir %{python3_sitelib}/qubes/tests/integ/tools
  438. %dir %{python3_sitelib}/qubes/tests/integ/tools/__pycache__
  439. %{python3_sitelib}/qubes/tests/integ/tools/__pycache__/*
  440. %{python3_sitelib}/qubes/tests/integ/tools/__init__.py
  441. %{python3_sitelib}/qubes/tests/integ/tools/qubes_create.py
  442. %dir %{python3_sitelib}/qubes/qmemman
  443. %dir %{python3_sitelib}/qubes/qmemman/__pycache__
  444. %{python3_sitelib}/qubes/qmemman/__pycache__/*
  445. %{python3_sitelib}/qubes/qmemman/__init__.py
  446. %{python3_sitelib}/qubes/qmemman/algo.py
  447. %{python3_sitelib}/qubes/qmemman/client.py
  448. /usr/lib/qubes/cleanup-dispvms
  449. /usr/lib/qubes/fix-dir-perms.sh
  450. /usr/lib/qubes/startup-misc.sh
  451. %{_unitdir}/lvm2-pvscan@.service.d/30_qubes.conf
  452. %{_unitdir}/qubes-core.service
  453. %{_unitdir}/qubes-qmemman.service
  454. %{_unitdir}/qubes-vm@.service
  455. %{_unitdir}/qubesd.service
  456. %attr(2770,root,qubes) %dir /var/lib/qubes
  457. %attr(2770,root,qubes) %dir /var/lib/qubes/vm-templates
  458. %attr(2770,root,qubes) %dir /var/lib/qubes/appvms
  459. %attr(2770,root,qubes) %dir /var/lib/qubes/servicevms
  460. %attr(2770,root,qubes) %dir /var/lib/qubes/backup
  461. %attr(2770,root,qubes) %dir /var/lib/qubes/dvmdata
  462. %attr(2770,root,qubes) %dir /var/lib/qubes/vm-kernels
  463. /usr/share/qubes/templates/libvirt/xen.xml
  464. /usr/share/qubes/templates/libvirt/devices/block.xml
  465. /usr/share/qubes/templates/libvirt/devices/pci.xml
  466. /usr/share/qubes/templates/libvirt/devices/net.xml
  467. /usr/lib/tmpfiles.d/qubes.conf
  468. /etc/xen/scripts/block-snapshot
  469. /etc/xen/scripts/block-origin
  470. /etc/xen/scripts/vif-route-qubes
  471. %attr(0664,root,qubes) %config(noreplace) /etc/qubes/policy.d/85-admin-backup-restore.policy
  472. %attr(0664,root,qubes) %config(noreplace) /etc/qubes/policy.d/90-admin-default.policy
  473. %attr(0664,root,qubes) %config(noreplace) /etc/qubes/policy.d/90-default.policy
  474. %attr(0664,root,qubes) %config(noreplace) /etc/qubes/policy.d/include/admin-global-ro
  475. %attr(0664,root,qubes) %config(noreplace) /etc/qubes/policy.d/include/admin-global-rwx
  476. %attr(0664,root,qubes) %config(noreplace) /etc/qubes/policy.d/include/admin-local-ro
  477. %attr(0664,root,qubes) %config(noreplace) /etc/qubes/policy.d/include/admin-local-rwx
  478. /etc/qubes-rpc/admin.*
  479. /etc/qubes-rpc/qubes.FeaturesRequest
  480. /etc/qubes-rpc/qubes.GetDate
  481. /etc/qubes-rpc/qubes.GetRandomizedTime
  482. /etc/qubes-rpc/qubes.NotifyTools
  483. /etc/qubes-rpc/qubes.NotifyUpdates
  484. /etc/qubes-rpc/qubes.ConnectTCP
  485. %attr(2770,root,qubes) %dir /var/log/qubes
  486. %attr(0770,root,qubes) %dir /var/run/qubes
  487. /usr/share/doc/qubes/relaxng/*.rng
  488. %changelog
  489. @CHANGELOG@