-
-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathqubes-release.spec.in
154 lines (131 loc) · 5.07 KB
/
qubes-release.spec.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
%define dist_version @VERSION@
%define full_version @VERSION@-alpha
%define release_name R%{dist_version}
%define fedora_base_version 41
Summary: Qubes release files
Name: qubes-release
Version: %{dist_version}
Release: @REL@%{?dist}
License: GPLv2
Group: System Environment/Base
Source0: %{name}-%{version}.tar.bz2
Obsoletes: fedora-release
Obsoletes: fedora-release-variant <= %{fedora_base_version}
Obsoletes: fedora-release-common <= %{fedora_base_version}
Obsoletes: fedora-repos <= %{fedora_base_version}
Obsoletes: redhat-release
Provides: fedora-release = %{fedora_base_version}-%{release}
Provides: fedora-release-variant = %{fedora_base_version}-%{release}
Provides: redhat-release = %{fedora_base_version}-%{release}
Provides: system-release = %{fedora_base_version}-%{release}
Provides: system-release(releasever) = %{version}
Conflicts: rpm < 4.14
Conflicts: qubes-core-dom0-linux < 4.0.23
Obsoletes: qubes-dom0-dist-upgrade <= 3.2
Conflicts: qubes-dom0-meta-packages < 4.2.13
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: systemd-rpm-macros
%description
Qubes release files such as yum configs and various /etc/ files that
define the release.
%package notes
Summary: Release Notes
License: Open Publication
Group: System Environment/Base
Provides: system-release-notes = %{version}-%{release}
Conflicts: fedora-release-notes
%description notes
Qubes release notes package.
%prep
%setup -q
%install
rm -rf $RPM_BUILD_ROOT
# comps file
install -d -m 755 $RPM_BUILD_ROOT/usr/share/qubes
install -m 644 comps/comps-dom0.xml $RPM_BUILD_ROOT/usr/share/qubes/qubes-comps.xml
install -d $RPM_BUILD_ROOT/etc
echo "Qubes release %{full_version} (%{release_name})" > $RPM_BUILD_ROOT/etc/qubes-release
echo "cpe:/o:ITL:qubes:%{version}" > $RPM_BUILD_ROOT/etc/system-release-cpe
cp -p $RPM_BUILD_ROOT/etc/qubes-release $RPM_BUILD_ROOT/etc/issue
echo "Kernel \r on an \m (\l)" >> $RPM_BUILD_ROOT/etc/issue
cp -p $RPM_BUILD_ROOT/etc/issue $RPM_BUILD_ROOT/etc/issue.net
echo >> $RPM_BUILD_ROOT/etc/issue
ln -s qubes-release $RPM_BUILD_ROOT/etc/fedora-release
ln -s qubes-release $RPM_BUILD_ROOT/etc/redhat-release
ln -s qubes-release $RPM_BUILD_ROOT/etc/system-release
cat << EOF >>$RPM_BUILD_ROOT/etc/os-release
NAME="Qubes OS"
VERSION="%{version} (%{release_name})"
ID=qubes
VERSION_ID=%{version}
PRETTY_NAME="Qubes OS %{full_version} (%{release_name})"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:ITL:qubes:%{version}"
EOF
install -d -m 755 $RPM_BUILD_ROOT/etc/pki/rpm-gpg
install -m 644 RPM-GPG-KEY* $RPM_BUILD_ROOT/etc/pki/rpm-gpg/
install -d -m 755 $RPM_BUILD_ROOT/etc/yum.repos.d
sed -e "s/%%DIST%%/fc%{fedora_base_version}/" qubes-dom0.repo.in > $RPM_BUILD_ROOT/etc/yum.repos.d/qubes-dom0.repo
sed -e "s/%%FCREL%%/%{fedora_base_version}/" fedora.repo.in > $RPM_BUILD_ROOT/etc/yum.repos.d/fedora.repo
sed -e "s/%%FCREL%%/%{fedora_base_version}/" fedora-updates.repo.in > $RPM_BUILD_ROOT/etc/yum.repos.d/fedora-updates.repo
install -m 644 qubes-templates.repo $RPM_BUILD_ROOT/etc/yum.repos.d
# Set up the dist tag macros
install -d -m 755 $RPM_BUILD_ROOT/etc/rpm
cat >> $RPM_BUILD_ROOT/etc/rpm/macros.dist << EOF
# dist macros.
%%qubes %{dist_version}
%%dist .qbs%{dist_version}
%%fedora %{fedora_base_version}
%%qbs3 1
%%fc%{fedora_base_version} 1
EOF
install -d $RPM_BUILD_ROOT%{_sysusersdir}
install -m0644 sysusers-qubes.conf $RPM_BUILD_ROOT%{_sysusersdir}/qubes.conf
%posttrans
# Remove old keys
remove_keys="gpg-pubkey-fdb19c98-56fd6333 \
gpg-pubkey-12c944d0-5d5156ab \
gpg-pubkey-03fa5082-546c9ad2 \
gpg-pubkey-0c8231bf-546e0afc \
gpg-pubkey-a3c773ad-546e036b \
gpg-pubkey-9e2795e9-58bd5efe \
gpg-pubkey-4022e393-59ba4d79 \
gpg-pubkey-7bb6de87-593f289b \
gpg-pubkey-8e34d89f-633c3eb9 \
gpg-pubkey-5323552a-6112bcdc \
gpg-pubkey-beb24936-659c9647"
# Import all keys b/c rpm won't do it automatically (as opposite to yum)
import_keys="/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-41-primary \
/etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-4.3-primary"
# not available yet
# /etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-4.3-unstable"
systemd-run --on-active=5min sh -c "rpm -e $remove_keys; rpm --import $import_keys"
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc GPL
%config %attr(0644,root,root) /etc/os-release
%config %attr(0644,root,root) /etc/qubes-release
/etc/fedora-release
/etc/redhat-release
/etc/system-release
%config %attr(0644,root,root) /etc/system-release-cpe
%dir /etc/yum.repos.d
%config(noreplace) /etc/yum.repos.d/fedora.repo
%config(noreplace) /etc/yum.repos.d/fedora-updates.repo
%config(noreplace) /etc/yum.repos.d/qubes-dom0.repo
%config /etc/yum.repos.d/qubes-templates.repo
%config(noreplace) %attr(0644,root,root) /etc/issue
%config(noreplace) %attr(0644,root,root) /etc/issue.net
%config %attr(0644,root,root) /etc/rpm/macros.dist
%dir /etc/pki/rpm-gpg
/etc/pki/rpm-gpg/*
%{_sysusersdir}/qubes.conf
/usr/share/qubes/qubes-comps.xml
%files notes
%defattr(-,root,root,-)
%doc README.Qubes-Release-Notes
%changelog
@CHANGELOG@