]> git.pld-linux.org Git - packages/pld-builder.git/blame - pld-builder.spec
- pl for -chroot
[packages/pld-builder.git] / pld-builder.spec
CommitLineData
5981df1c 1%define snap 20080713
359ef865 2Summary: PLD RPM builder environment
4839b6d9 3Summary(pl.UTF-8): Środowisko budowniczego pakietów RPM dla PLD
4141c8e1 4Name: pld-builder
43e127ff 5Version: 0.0.%{snap}
9401ac92 6Release: 0.47
4141c8e1
ER
7License: GPL
8Group: Development/Building
43e127ff 9Source0: %{name}.new-%{snap}.tar.bz2
51061d41 10# Source0-md5: 954f612ed3c4d937d92090171f4eb4ed
78fe8cbc 11Source1: %{name}.init
12Source2: %{name}.sysconfig
4141c8e1 13URL: http://cvs.pld-linux.org/cgi-bin/cvsweb/pld-builder.new/
6664c0a4 14BuildRequires: rpm-pythonprov
d08e805a 15BuildRequires: rpmbuild(macros) >= 1.268
8fcdf5b9 16BuildRequires: sed >= 4.0
d700a8d1 17Requires(post,preun): /sbin/chkconfig
abe78017 18Requires(postun): /usr/sbin/userdel
6664c0a4 19Requires(pre): /bin/id
4c5c9ab5
ER
20Requires(pre): /usr/bin/getgid
21Requires(pre): /usr/sbin/groupadd
abe78017 22Requires(pre): /usr/sbin/useradd
07aaec12 23Requires: crondaemon
e9a79f98 24Requires: gnupg
abe78017 25Requires: libuuid
2854b7c6 26Requires: python-pld-builder = %{version}-%{release}
d700a8d1 27Requires: rc-scripts
279f0ab2
ER
28Provides: group(builder)
29Provides: user(builder)
30Provides: user(ftpac)
31Provides: user(srpms_builder)
4141c8e1
ER
32BuildArch: noarch
33BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34
2854b7c6
ER
35%define _sysconfdir /etc/pld-builder
36%define _datadir /usr/share/%{name}
4141c8e1
ER
37
38%description
359ef865 39PLD RPM builder environment. This is the freshest "new" builder.
4141c8e1
ER
40
41Other new and older attempts can be found from:
42http://cvs.pld-linux.org/cgi-bin/cvsweb/pld-builder/
43http://cvs.pld-linux.org/cgi-bin/cvsweb/pld-builder.old/
44http://cvs.pld-linux.org/cgi-bin/cvsweb/builder_ng/
45
6f451f4a
JR
46%description -l pl.UTF-8
47Środowisko budowniczego pakietów RPM dla PLD. To jest najnowszy "nowy"
359ef865
JB
48builder.
49
6f451f4a 50Inne nowe i starsze próby można znaleźć pod:
359ef865
JB
51http://cvs.pld-linux.org/cgi-bin/cvsweb/pld-builder/
52http://cvs.pld-linux.org/cgi-bin/cvsweb/pld-builder.old/
53http://cvs.pld-linux.org/cgi-bin/cvsweb/builder_ng/
4141c8e1 54
2854b7c6
ER
55%package -n python-pld-builder
56Summary: PLD Builder
4839b6d9 57Summary(pl.UTF-8): Budowniczy PLD
2854b7c6
ER
58Group: Development/Building
59%pyrequires_eq python-modules
60
61%description -n python-pld-builder
359ef865
JB
62PLD Builder Python code.
63
6f451f4a 64%description -n python-pld-builder -l pl.UTF-8
359ef865 65Kod pythonowy budowniczego PLD.
2854b7c6 66
279f0ab2
ER
67%package chroot
68Summary: PLD Builder chroot
be03cc8f 69Summary(pl.UTF-8): Środowisko chroot buildera PLD
279f0ab2
ER
70Group: Development/Building
71Requires(postun): /usr/sbin/userdel
72Requires(pre): /bin/id
73Requires(pre): /usr/bin/getgid
74Requires(pre): /usr/sbin/groupadd
75Requires(pre): /usr/sbin/useradd
76Requires: rpm-build
77Provides: group(builder)
78Provides: user(builder)
79
80%description chroot
81This is the package to be installed in builder chroot.
82
be03cc8f
JB
83%description chroot -l pl.UTF-8
84Ten pakiet należy zainstalować w środowisku chroot buildera.
85
4141c8e1
ER
86%package client
87Summary: PLD Builder client
4839b6d9 88Summary(pl.UTF-8): Klient budowniczych PLD
4141c8e1
ER
89Group: Development/Building
90Requires: gnupg
91
92%description client
93This is the client to send build requests to builders, it is usually
94referred as STBR (Send To Builder Request).
95
6f451f4a
JR
96%description client -l pl.UTF-8
97To jest klient do wysyłania zleceń na buildery, zwykle określanych
359ef865
JB
98jako STBR (Send To Builder Request).
99
4141c8e1
ER
100%prep
101%setup -q -n %{name}.new
102
8fcdf5b9
ER
103mv jak-wysy?a?-zlecenia.txt jak-wysylac-zlecenia.txt
104
105%{__sed} -i -e '
c4999ea2 106 s,~/pld-builder.new/,%{_sharedstatedir}/%{name}/,
2854b7c6
ER
107 /^conf_dir/s,=.*,= "%{_sysconfdir}/",
108
109' PLD_Builder/path.py
110
4c5c9ab5
ER
111%{__sed} -i -e 's,pld-linux\.org,example.org,g' config/builder.conf
112
4141c8e1
ER
113%build
114%{__make}
115
116%install
117rm -rf $RPM_BUILD_ROOT
2854b7c6 118# client
4141c8e1
ER
119install -d $RPM_BUILD_ROOT%{_bindir}
120install client/make-request.sh $RPM_BUILD_ROOT%{_bindir}/%{name}-make-request
121
2854b7c6
ER
122# python
123install -d $RPM_BUILD_ROOT%{py_scriptdir}/PLD_Builder
124cp -a PLD_Builder/*.py[co] $RPM_BUILD_ROOT%{py_scriptdir}/PLD_Builder
125
126# other
127install -d $RPM_BUILD_ROOT%{_sysconfdir}
128cp -a config/{rsync-passwords,*.conf} $RPM_BUILD_ROOT%{_sysconfdir}
129install -d $RPM_BUILD_ROOT%{_datadir}/{bin,admin}
130for a in bin/*.sh; do
131sed -e '
132# s,cd ~/pld-builder.new,cd %{py_scriptdir},
133 /cd ~\/pld-builder.new/d
134 s,python \(PLD_Builder.*.py\),python %{py_scriptdir}/\1c,
135' $a > $RPM_BUILD_ROOT%{_datadir}/bin/$(basename $a)
136done
137cp -a admin/*.sh $RPM_BUILD_ROOT%{_datadir}/admin
138
139# dirs
4c5c9ab5 140install -d $RPM_BUILD_ROOT{%{_sharedstatedir}/%{name}/{spool/{buildlogs,builds,ftp,notify},lock,www/{s,}rpms},/etc/{sysconfig,rc.d/init.d}}
9401ac92
ER
141install -d $RPM_BUILD_ROOT/home/services/builder/.gnupg
142install -d $RPM_BUILD_ROOT/home/services/builder/.ssh
143install -d $RPM_BUILD_ROOT/home/services/builder/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
78fe8cbc 144
145install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/pld-builder
146install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/pld-builder
2854b7c6 147
3f38ca41
ER
148# from admin/fresh-queue.sh
149cd $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
279f0ab2 150install -d spool/{builds,buildlogs,notify,ftp} www/srpms lock
3f38ca41
ER
151echo 0 > www/max_req_no
152echo 0 > spool/last_req_no
153echo -n > spool/processed_ids
154echo -n > spool/got_lock
155echo '<queue/>' > spool/queue
156echo '<queue/>' > spool/req_queue
157if [ "$binary_builders" ]; then
158 for bb in $binary_builders; do
159 echo '<queue/>' > spool/queue-$bb
160 done
161fi
162
4141c8e1
ER
163%clean
164rm -rf $RPM_BUILD_ROOT
165
abe78017 166%pre
279f0ab2
ER
167%groupadd -g 181 builder
168%useradd -u 181 -g builder -c "srpms builder" srpms_builder
169%useradd -u 182 -g builder -c "bin builder" -s /bin/sh -d /home/services/builder builder
9a62836e 170%useradd -u 183 -g daemon -c "ftpac" ftpac
abe78017 171
279f0ab2
ER
172%pre chroot
173%groupadd -g 181 builder
174%useradd -u 182 -g builder -c "bin builder" -s /bin/sh -d /home/services/builder builder
175
78fe8cbc 176%post
177/sbin/chkconfig --add %{name}
d08e805a 178%service %{name} restart
78fe8cbc 179
180%preun
181if [ "$1" = "0" ]; then
d700a8d1
ER
182 %service %{name} stop
183 /sbin/chkconfig --del %{name}
78fe8cbc 184fi
185
abe78017
ER
186%postun
187if [ "$1" = "0" ]; then
188 %userremove srpms_builder
279f0ab2 189 %userremove builder
abe78017 190 %userremove ftpac
279f0ab2
ER
191 %groupremove builder
192fi
193
194%postun chroot
195if [ "$1" = "0" ]; then
196 %userremove builder
197 %groupremove builder
abe78017
ER
198fi
199
4141c8e1
ER
200%files
201%defattr(644,root,root,755)
202%doc README TODO
8fcdf5b9
ER
203%doc user-manual.txt
204%lang(pl) %doc jak-to-dziala.txt jak-wysylac-zlecenia.txt
205
3f38ca41
ER
206%attr(754,root,root) /etc/rc.d/init.d/pld-builder
207%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/pld-builder
208
2854b7c6
ER
209%dir %{_sysconfdir}
210%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
211
212%dir %{_datadir}
213%dir %{_datadir}/bin
214%attr(755,root,root) %{_datadir}/bin/*
215%dir %{_datadir}/admin
216%attr(755,root,root) %{_datadir}/admin/*
217
218%dir %{_sharedstatedir}/%{name}
3f38ca41 219
279f0ab2
ER
220%dir %attr(775,root,builder) %{_sharedstatedir}/%{name}/spool
221%dir %attr(775,root,builder) %{_sharedstatedir}/%{name}/spool/buildlogs
9401ac92
ER
222%dir %attr(775,root,builder) %{_sharedstatedir}/%{name}/spool/builds
223%dir %attr(775,root,builder) %{_sharedstatedir}/%{name}/spool/ftp
279f0ab2 224%dir %attr(775,root,builder) %{_sharedstatedir}/%{name}/spool/notify
3f38ca41 225
9401ac92
ER
226%attr(644,builder,builder) %config(noreplace) %verify(not md5 mtime size) %{_sharedstatedir}/%{name}/spool/got_lock
227%attr(644,builder,builder) %config(noreplace) %verify(not md5 mtime size) %{_sharedstatedir}/%{name}/spool/last_req_no
228%attr(644,builder,builder) %config(noreplace) %verify(not md5 mtime size) %{_sharedstatedir}/%{name}/spool/processed_ids
229%attr(644,builder,builder) %config(noreplace) %verify(not md5 mtime size) %{_sharedstatedir}/%{name}/spool/queue
230%attr(644,builder,builder) %config(noreplace) %verify(not md5 mtime size) %{_sharedstatedir}/%{name}/spool/req_queue
3f38ca41 231
279f0ab2 232%dir %attr(775,root,builder) %{_sharedstatedir}/%{name}/lock
3f38ca41 233
c4999ea2
ER
234%dir %{_sharedstatedir}/%{name}/www
235%dir %{_sharedstatedir}/%{name}/www/rpms
236%dir %{_sharedstatedir}/%{name}/www/srpms
9401ac92 237%attr(644,builder,builder) %config(noreplace) %verify(not md5 mtime size) %{_sharedstatedir}/%{name}/www/max_req_no
78fe8cbc 238
279f0ab2 239%dir %attr(750,builder,builder) /home/services/builder
9401ac92
ER
240%dir %attr(750,builder,builder) /home/services/builder/.gnupg
241%dir %attr(700,builder,builder) /home/services/builder/.ssh
279f0ab2
ER
242
243%files chroot
244%defattr(644,root,root,755)
245%dir %attr(750,builder,builder) /home/services/builder
9401ac92
ER
246%dir %attr(750,builder,builder) /home/services/builder/rpm
247%dir %attr(750,builder,builder) /home/services/builder/rpm/BUILD
248%dir %attr(750,builder,builder) /home/services/builder/rpm/RPMS
249%dir %attr(750,builder,builder) /home/services/builder/rpm/SOURCES
250%dir %attr(750,builder,builder) /home/services/builder/rpm/SPECS
251%dir %attr(750,builder,builder) /home/services/builder/rpm/SRPMS
279f0ab2 252
4141c8e1
ER
253%files client
254%defattr(644,root,root,755)
255%attr(755,root,root) %{_bindir}/%{name}-make-request
2854b7c6
ER
256
257%files -n python-pld-builder
258%defattr(644,root,root,755)
259%{py_scriptdir}/PLD_Builder
This page took 0.511056 seconds and 4 git commands to generate.