-
Notifications
You must be signed in to change notification settings - Fork 0
/
filesystem.spec
193 lines (172 loc) · 4.69 KB
/
filesystem.spec
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
Name: filesystem
Version: 3.0.14
Release: 209
License: GPL-2.0
Summary: Base files for the system
Url: https://01.org/
Group: base
Source0: filesystem.conf
Source1: nsswitch.conf
Source2: profile.x86_64
Source3: dot.bashrc
Source4: dot.profile
Source5: os-release
Source6: 50-prompt.sh
Source8: inputrc
Source9: profile.i386
Source10: shells
Source11: locale.conf
Source12: hosts
Provides: /bin/bash
Provides: /bin/sh
Provides: /bin/zsh
Provides: /bin/ksh
Provides: /bin/csh
Provides: /usr/bin/lsb_release
Provides: /usr/sbin/update-alternatives
# FIXME: this provide is only needed until elasticsearch can build again
Provides: rpm-common
# Temporary workaround for clr-init BuildRequires:
Provides: libgfortran-avx
BuildRequires: /usr/bin/systemd-tmpfiles
###
### these are the default buildroot deps
###
BuildRequires : autoconf
BuildRequires : automake
BuildRequires : automake-dev
BuildRequires : binutils
BuildRequires : bzip2
BuildRequires : clr-rpm-config
BuildRequires : coreutils
BuildRequires : diffutils
BuildRequires : gawk
BuildRequires : gcc
BuildRequires : gcc-dev
BuildRequires : gettext
BuildRequires : gettext-bin
BuildRequires : git
BuildRequires : glibc-utils
BuildRequires : grep
BuildRequires : gzip
BuildRequires : hostname
BuildRequires : libc6-dev
BuildRequires : libc6-locale
BuildRequires : libtool
BuildRequires : libtool-dev
BuildRequires : linux-libc-headers
BuildRequires : make
BuildRequires : netbase
BuildRequires : nss-altfiles
BuildRequires : patch
BuildRequires : pigz
BuildRequires : pkg-config
BuildRequires : pkg-config-dev
BuildRequires : sed
BuildRequires : shadow
BuildRequires : strace
BuildRequires : systemd-lib
BuildRequires : tar
BuildRequires : unzip
BuildRequires : which
BuildRequires : xz
%description
Base files for the system.
%package chroot
Summary: Chroot support for additional filesystem-like setup.
%description chroot
Chroot support for additional filesystem-like setup.
%prep
%build
#Current filesystems package is borked with astray setgid bit
#Fix it, to get this build correct
install -m 0755 -d %{buildroot}
chmod g-s %{buildroot}
%install
mkdir -p %{buildroot}/usr/lib/tmpfiles.d
install -m 0644 %{SOURCE0} %{buildroot}/usr/lib/tmpfiles.d/filesystem.conf
while read T P A U G D L; do \
[[ $T == "v" ]] && mkdir -p %{buildroot}$P; \
[[ $T == "d" ]] && mkdir -p %{buildroot}$P; \
[[ $T == "L+" ]] && ln -sf $L %{buildroot}$P; \
done < %{buildroot}/usr/lib/tmpfiles.d/filesystem.conf
mkdir -p %{buildroot}/usr/share/defaults/etc
install -m 0644 %{SOURCE1} %{buildroot}/usr/share/defaults/etc/nsswitch.conf
%ifarch i386
install -m 0644 %{SOURCE9} %{buildroot}/usr/share/defaults/etc/profile
ln -s /usr/lib64/ld-2.22.so %{buildroot}/usr/lib/ld-linux.so.2
%else
install -m 0644 %{SOURCE2} %{buildroot}/usr/share/defaults/etc/profile
%endif
install -m 0644 %{SOURCE3} %{buildroot}/usr/share/defaults/skel/.bashrc
install -m 0644 %{SOURCE3} %{buildroot}/usr/share/defaults/etc/bash.bashrc
install -m 0644 %{SOURCE4} %{buildroot}/usr/share/defaults/skel/.profile
# os-release
install -m 644 %{SOURCE5} %{buildroot}/usr/lib
install -m 644 -D %{SOURCE6} %{buildroot}/usr/share/defaults/etc/profile.d/50-prompt.sh
# inputrc
install -m 0644 %{SOURCE8} %{buildroot}/usr/share/defaults/etc/inputrc
# required for chsh/pam
install -m 00644 %{SOURCE10} %{buildroot}/usr/share/defaults/etc/shells
# set default locale
install -m 0644 %{SOURCE11} %{buildroot}/usr/share/defaults/etc/locale.conf
install -m 0644 %{SOURCE12} %{buildroot}/usr/share/defaults/etc/hosts
# work around our machinery for /usr/lib/debug
mkdir -p %{buildroot}/usr/lib/debug.force
mkdir -p %{buildroot}/usr/src/debug.force
%post chroot
# This is mostly mock-chroot support
# Ideally mock should be setting this up
if [ ! -f /etc/machine-id ] && [ -f /var/lib/dbus/machine-id ]
then
cp /var/lib/dbus/machine-id /etc/machine-id
fi
%files chroot
%files
%dir /boot
%dir /dev
%dir /etc
%dir /mnt
%dir /home
%dir /autofs
%dir %attr(0555, root, root) /proc
%dir %attr(0700, root, root) /root
%dir /run
%dir %attr(0555, root, root) /sys
%dir /srv
%dir %attr(1777, root, root) /tmp
%dir /usr
%dir /usr/bin
%dir /usr/include
%dir /usr/lib64
%dir /usr/lib
%dir /usr/lib32
%dir /usr/lib/debug
%dir /usr/local
%dir /usr/local/share
%dir /usr/share
%dir /usr/src
%dir /usr/src/debug
%dir /usr/share/info
%dir /usr/share/man
%dir /var
%dir %attr(1777, root, root) /var/tmp
%dir /var/lib
%dir /var/log
%dir /var/cache
%dir /var/spool
%dir /media
# symlinks...
/bin
/lib64
/lib
/sbin
/usr/sbin
/var/lock
/var/run
/usr/lib/os-release
/usr/lib/tmpfiles.d/filesystem.conf
/usr/share/defaults
%ifarch i386
/usr/lib/ld-linux.so.2
%endif