|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
import re, sys, os, collections
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
buildroot = sys.argv[1]
|
|
Zbigniew Jędrzejewski-Szmek |
453bbc |
no_bootloader = '--no-bootloader' in sys.argv
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
known_files = '''
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %config(noreplace) /etc/crypttab
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0444,root,root) /etc/udev/hwdb.bin
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
/etc/inittab
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
/usr/lib/systemd/purge-nobody-user
|
|
Zbigniew Jędrzejewski-Szmek |
1d61a3 |
# This directory is owned by openssh-server, but we don't want to introduce
|
|
Zbigniew Jędrzejewski-Szmek |
1d61a3 |
# a dependency. So let's copy the config and co-own the directory.
|
|
Zbigniew Jędrzejewski-Szmek |
245a25 |
%dir %attr(0700,root,root) /etc/ssh/sshd_config.d
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %config(noreplace) /etc/vconsole.conf
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %config(noreplace) /etc/X11/xorg.conf.d/00-keyboard.conf
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0664,root,root) %verify(not group) /run/utmp
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0664,root,root) %verify(not group) /var/log/wtmp
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0660,root,root) %verify(not group) /var/log/btmp
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0664,root,root) %verify(not md5 size mtime group) /var/log/lastlog
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %config(noreplace) /etc/hostname
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %config(noreplace) /etc/localtime
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %config(noreplace) /etc/locale.conf
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0444,root,root) %config(noreplace) /etc/machine-id
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %config(noreplace) /etc/machine-info
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0700,root,root) %dir /var/cache/private
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0700,root,root) %dir /var/lib/private
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %dir /var/lib/private/systemd
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %dir /var/lib/private/systemd/journal-upload
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost /var/lib/private/systemd/journal-upload/state
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %dir /var/lib/systemd/timesync
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost /var/lib/systemd/timesync/clock
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %dir /var/lib/systemd/backlight
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost /var/lib/systemd/catalog/database
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %dir /var/lib/systemd/coredump
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost /var/lib/systemd/journal-upload
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %dir /var/lib/systemd/linger
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0600,root,root) /var/lib/systemd/random-seed
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %dir /var/lib/systemd/rfkill
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %dir %verify(not mode group) /var/log/journal
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %dir /var/log/journal/remote
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
%ghost %attr(0700,root,root) %dir /var/log/private
|
|
Zbigniew Jędrzejewski-Szmek |
3a8edc |
'''
|
|
Zbigniew Jędrzejewski-Szmek |
b8d376 |
|
|
Zbigniew Jędrzejewski-Szmek |
1d61a3 |
known_files = {line.split()[-1]:line for line in known_files.splitlines()
|
|
Zbigniew Jędrzejewski-Szmek |
1d61a3 |
if line and not line.startswith('#')}
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
def files(root):
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
os.chdir(root)
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
todo = collections.deque(['.'])
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
while todo:
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
n = todo.pop()
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
files = os.scandir(n)
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
for file in files:
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
yield file
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
if file.is_dir() and not file.is_symlink():
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
todo.append(file)
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
outputs = {suffix: open(f'.file-list-{suffix}', 'w')
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
for suffix in (
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'libs',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'udev',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'ukify',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'boot',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'pam',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'rpm-macros',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'devel',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'container',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'networkd',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'networkd-defaults',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'oomd-defaults',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'remote',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'resolve',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'tests',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'standalone-repart',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'standalone-tmpfiles',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'standalone-sysusers',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'standalone-shutdown',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
'main',
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
)}
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
for file in files(buildroot):
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
n = file.path[1:]
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
if re.match(r'''/usr/(share|include)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/share/man(/man.|)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/share/zsh(/site-functions|)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/share/dbus-1$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/share/dbus-1/system.d$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/share/dbus-1/(system-|)services$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/share/polkit-1(/actions|/rules.d|)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/share/pkgconfig$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/share/bash-completion(/completions|)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr(/lib|/lib64|/bin|/sbin|)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/lib.*/(security|pkgconfig)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/lib/rpm(/macros.d|)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/lib/firewalld(/services|)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/share/(locale|licenses|doc)| # no $
|
|
Yu Watanabe |
9653e1 |
/etc(/pam\.d|/xdg|/X11|/X11/xinit|/X11.*\.d|)$|
|
|
Zbigniew Jędrzejewski-Szmek |
184871 |
/etc/(dnf|dnf/protected.d)$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/usr/(src|lib/debug)| # no $
|
|
Zbigniew Jędrzejewski-Szmek |
be4317 |
/run$|
|
|
Yu Watanabe |
9653e1 |
/var(/cache|/log|/lib|/run|)$
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
''', n, re.X):
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
continue
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
if n.endswith('.standalone'):
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
if 'repart' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['standalone-repart']
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
elif 'tmpfiles' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['standalone-tmpfiles']
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
elif 'sysusers' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['standalone-sysusers']
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
elif 'shutdown' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['standalone-shutdown']
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
else:
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
assert False, 'Found .standalone not belonging to known packages'
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
elif '/security/pam_' in n or '/man8/pam_' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['pam']
|
|
Zbigniew Jędrzejewski-Szmek |
ced923 |
elif '/rpm/' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['rpm-macros']
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
elif '/usr/lib/systemd/tests' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['tests']
|
|
Zbigniew Jędrzejewski-Szmek |
903ce8 |
elif 'ukify' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['ukify']
|
|
Zbigniew Jędrzejewski-Szmek |
3c4f94 |
elif re.search(r'/libsystemd-(shared|core)-.*\.so$', n):
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['main']
|
|
Zbigniew Jędrzejewski-Szmek |
98684a |
elif re.search(r'/libcryptsetup-token-systemd-.*\.so$', n):
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['udev']
|
|
Zbigniew Jędrzejewski-Szmek |
0078f9 |
elif re.search(r'/lib.*\.pc|/man3/|/usr/include|\.so$', n):
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['devel']
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
elif re.search(r'''journal-(remote|gateway|upload)|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
systemd-remote\.conf|
|
|
Yu Watanabe |
9653e1 |
/usr/share/systemd/gatewayd|
|
|
Yu Watanabe |
9653e1 |
/var/log/journal/remote
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
''', n, re.X):
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['remote']
|
|
Zbigniew Jędrzejewski-Szmek |
0078f9 |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
elif re.search(r'''mymachines|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
machinectl|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
systemd-nspawn|
|
|
Zbigniew Jędrzejewski-Szmek |
1c9810 |
systemd-vmspawn|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
import-pubring.gpg|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
systemd-(machined|import|pull)|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/machine.slice|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/machines.target|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
var-lib-machines.mount|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
org.freedesktop.(import|machine)1
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
''', n, re.X):
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['container']
|
|
Zbigniew Jędrzejewski-Szmek |
0078f9 |
|
|
Zbigniew Jędrzejewski-Szmek |
f93a13 |
# .network.example files go into systemd-networkd, and the matching files
|
|
Zbigniew Jędrzejewski-Szmek |
f93a13 |
# without .example go into systemd-networkd-defaults
|
|
Zbigniew Jędrzejewski-Szmek |
f93a13 |
elif (re.search(r'''/usr/lib/systemd/network/.*\.network$''', n)
|
|
Zbigniew Jędrzejewski-Szmek |
f93a13 |
and os.path.exists(f'./{n}.example')):
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['networkd-defaults']
|
|
Zbigniew Jędrzejewski-Szmek |
f93a13 |
|
|
Zbigniew Jędrzejewski-Szmek |
f93a13 |
elif re.search(r'''/usr/lib/systemd/network/.*\.network|
|
|
Dusty Mabe |
283a99 |
networkd|
|
|
Dusty Mabe |
283a99 |
networkctl|
|
|
Zbigniew Jędrzejewski-Szmek |
04e285 |
org.freedesktop.network1|
|
|
|
901acf |
sysusers\.d/systemd-network.conf|
|
|
|
77e121 |
tmpfiles\.d/systemd-network.conf|
|
|
|
77e121 |
systemd\.network|
|
|
|
77e121 |
systemd\.netdev
|
|
Dusty Mabe |
283a99 |
''', n, re.X):
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['networkd']
|
|
Zbigniew Jędrzejewski-Szmek |
0078f9 |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
elif '.so.' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['libs']
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
|
|
Zbigniew Jędrzejewski-Szmek |
5cae6a |
elif re.search(r'10-oomd-.*defaults.conf|lib/systemd/oomd.conf.d', n, re.X):
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['oomd-defaults']
|
|
Zbigniew Jędrzejewski-Szmek |
5cae6a |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
elif re.search(r'''udev(?!\.pc)|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
hwdb|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
bootctl|
|
|
Zbigniew Jędrzejewski-Szmek |
711d92 |
boot-update|
|
|
Zbigniew Jędrzejewski-Szmek |
aed571 |
bless-boot|
|
|
Zbigniew Jędrzejewski-Szmek |
aed571 |
boot-system-token|
|
|
Zbigniew Jędrzejewski-Szmek |
408115 |
bsod|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
kernel-install|
|
|
Zbigniew Jędrzejewski-Szmek |
f66faf |
installkernel|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
vconsole|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
backlight|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
rfkill|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
random-seed|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
modules-load|
|
|
Yu Watanabe |
9653e1 |
timesync|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
crypttab|
|
|
David Tardon |
4a979f |
cryptenroll|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
cryptsetup|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
kmod|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
quota|
|
|
Zbigniew Jędrzejewski-Szmek |
db1cfc |
pstore|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
sleep|suspend|hibernate|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
systemd-tmpfiles-setup-dev|
|
|
Thomas Haller |
aff167 |
network/98-default-mac-none.link|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
network/99-default.link|
|
|
Zbigniew Jędrzejewski-Szmek |
db1cfc |
growfs|makefs|makeswap|mkswap|
|
|
Zbigniew Jędrzejewski-Szmek |
db1cfc |
fsck|
|
|
Zbigniew Jędrzejewski-Szmek |
db1cfc |
repart|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
gpt-auto|
|
|
Zbigniew Jędrzejewski-Szmek |
db1cfc |
volatile-root|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
veritysetup|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
integritysetup|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
integritytab|
|
|
Zbigniew Jędrzejewski-Szmek |
db1cfc |
remount-fs|
|
|
Zbigniew Jędrzejewski-Szmek |
0b51ec |
/initrd|
|
|
Zbigniew Jędrzejewski-Szmek |
e8cc28 |
systemd-pcr|
|
|
Zbigniew Jędrzejewski-Szmek |
b2ad8f |
systemd-measure|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/boot$|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/kernel/|
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
/kernel$|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
/modprobe.d|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
binfmt|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
sysctl|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
coredump|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
homed|home1|
|
|
Zbigniew Jędrzejewski-Szmek |
5cae6a |
oomd|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
portabled|portable1
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
''', n, re.X): # coredumpctl, homectl, portablectl are included in the main package because
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
# they can be used to interact with remote daemons. Also, the user could be
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
# confused if those user-facing binaries are not available.
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['udev']
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
|
|
Zbigniew Jędrzejewski-Szmek |
7a8193 |
elif re.search(r'''/boot/efi|
|
|
Zbigniew Jędrzejewski-Szmek |
1a6178 |
/usr/lib/systemd/boot|
|
|
Zbigniew Jędrzejewski-Szmek |
7a8193 |
sd-boot|systemd-boot\.|loader.conf
|
|
Zbigniew Jędrzejewski-Szmek |
7a8193 |
''', n, re.X):
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['boot']
|
|
Zbigniew Jędrzejewski-Szmek |
54a3b6 |
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
elif re.search(r'''resolved|resolve1|
|
|
|
be0f56 |
systemd-resolve|
|
|
|
be0f56 |
resolvconf|
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
systemd\.(positive|negative)
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
''', n, re.X): # resolvectl and nss-resolve are in the main package.
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['resolve']
|
|
Zbigniew Jędrzejewski-Szmek |
b24b99 |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
else:
|
|
Zbigniew Jędrzejewski-Szmek |
070811 |
o = outputs['main']
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
if n in known_files:
|
|
Zbigniew Jędrzejewski-Szmek |
4c7acd |
prefix = known_files[n].split()[:-1]
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
elif file.is_dir() and not file.is_symlink():
|
|
Zbigniew Jędrzejewski-Szmek |
4c7acd |
prefix = ['%dir']
|
|
Zbigniew Jędrzejewski-Szmek |
c6e8c3 |
elif 'README' in n:
|
|
Zbigniew Jędrzejewski-Szmek |
4c7acd |
prefix = ['%doc']
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
elif n.startswith('/etc'):
|
|
Zbigniew Jędrzejewski-Szmek |
4c7acd |
prefix = ['%config(noreplace)']
|
|
Zbigniew Jędrzejewski-Szmek |
4c7acd |
if file.stat().st_size == 0:
|
|
Zbigniew Jędrzejewski-Szmek |
4c7acd |
prefix += ['%ghost']
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
else:
|
|
Zbigniew Jędrzejewski-Szmek |
4c7acd |
prefix = []
|
|
Zbigniew Jędrzejewski-Szmek |
4c7acd |
prefix = ' '.join(prefix + ['']) if prefix else ''
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
suffix = '*' if '/man/' in n else ''
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
|
|
Zbigniew Jędrzejewski-Szmek |
17a6f3 |
print(f'{prefix}{n}{suffix}', file=o)
|
|
Zbigniew Jędrzejewski-Szmek |
0e8fc1 |
|
|
Zbigniew Jędrzejewski-Szmek |
0e8fc1 |
if [print(f'ERROR: no file names were written to {o.name}')
|
|
Zbigniew Jędrzejewski-Szmek |
453bbc |
for name, o in outputs.items()
|
|
Zbigniew Jędrzejewski-Szmek |
453bbc |
if (o.tell() == 0 and
|
|
|
a67221 |
not (no_bootloader and name == 'boot'))
|
|
Zbigniew Jędrzejewski-Szmek |
453bbc |
]:
|
|
Zbigniew Jędrzejewski-Szmek |
0e8fc1 |
sys.exit(1)
|