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
|
%global scl_name_base php
%global scl_name_version 54
%global scl %{scl_name_base}%{scl_name_version}
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_root_sysconfdir}/rpm; echo $d)
%scl_package %scl
# do not produce empty debuginfo package
%global debug_package %{nil}
Summary: Package that installs PHP 5.4
Name: %scl_name
Version: 2.0
Release: 1%{?dist}
Group: Development/Languages
License: GPLv2+
Source0: macros-build
Source1: README
Source2: LICENSE
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: scl-utils-build
BuildRequires: help2man
# Temporary work-around
BuildRequires: iso-codes
Requires: %{?scl_prefix}php-common%{?_isa} >= 5.4.32
Requires: %{?scl_prefix}php-cli%{?_isa}
Requires: %{?scl_prefix}php-pear >= 1.9.5
Requires: %{?scl_name}-runtime%{?_isa} = %{version}-%{release}
%description
This is the main package for %scl Software Collection,
that install PHP 5.4 language.
%package runtime
Summary: Package that handles %scl Software Collection.
Group: Development/Languages
Requires: scl-utils
Provides: %{?scl_name}-runtime(%{scl_vendor})
Provides: %{?scl_name}-runtime(%{scl_vendor})%{?_isa}
%description runtime
Package shipping essential scripts to work with %scl Software Collection.
%package build
Summary: Package shipping basic build configuration
Group: Development/Languages
Requires: scl-utils-build
Requires: %{?scl_name}-runtime%{?_isa} = %{version}-%{release}
%description build
Package shipping essential configuration macros
to build %scl Software Collection.
%package scldevel
Summary: Package shipping development files for %scl
Group: Development/Languages
Requires: %{?scl_name}-runtime%{?_isa} = %{version}-%{release}
%description scldevel
Package shipping development files, especially usefull for development of
packages depending on %scl Software Collection.
%prep
%setup -c -T
cat <<EOF | tee enable
export PATH=%{_bindir}:%{_sbindir}\${PATH:+:\${PATH}}
export MANPATH=%{_mandir}:\${MANPATH}
EOF
# generate rpm macros file for depended collections
cat << EOF | tee scldev
%%scl_%{scl_name_base} %{scl}
%%scl_prefix_%{scl_name_base} %{scl_prefix}
EOF
# This section generates README file from a template and creates man page
# from that file, expanding RPM macros in the template file.
cat >README <<'EOF'
%{expand:%(cat %{SOURCE1})}
EOF
# copy the license file so %%files section sees it
cp %{SOURCE2} .
%build
# generate a helper script that will be used by help2man
cat >h2m_helper <<'EOF'
#!/bin/bash
[ "$1" == "--version" ] && echo "%{scl_name} %{version} Software Collection" || cat README
EOF
chmod a+x h2m_helper
# generate the man page
help2man -N --section 7 ./h2m_helper -o %{scl_name}.7
%install
install -D -m 644 enable %{buildroot}%{_scl_scripts}/enable
install -D -m 644 scldev %{buildroot}%{macrosdir}/macros.%{scl_name_base}-scldevel
install -D -m 644 %{scl_name}.7 %{buildroot}%{_mandir}/man7/%{scl_name}.7
%scl_install
# Add the scl_package_override macro
sed -e 's/@SCL@/%{scl}/g' %{SOURCE0} \
| tee -a %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config
# Move in correct location, if needed
if [ "%{_root_sysconfdir}/rpm" != "%{macrosdir}" ]; then
mv %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config \
%{buildroot}%{macrosdir}/macros.%{scl}-config
fi
%files
%if 0%{?fedora} < 19 && 0%{?rhel} < 7
%files runtime
%else
%files runtime -f filesystem
%endif
%defattr(-,root,root)
%doc README LICENSE
%scl_files
%{_mandir}/man7/%{scl_name}.*
%files build
%defattr(-,root,root)
%{macrosdir}/macros.%{scl}-config
%files scldevel
%defattr(-,root,root)
%{macrosdir}/macros.%{scl_name_base}-scldevel
%changelog
* Mon Sep 8 2014 Remi Collet <remi@fedoraproject.org> 2.0-1
- provides php56-runtime(remi)
- add _sclreq macro
* Sun Aug 31 2014 Remi Collet <rcollet@redhat.com> 1.0-1
- initial packaging from php55 from rhscl 1.1
- install macro in /usr/lib/rpm/macros.d
- each package requires runtime (for license)
* Mon Mar 31 2014 Honza Horak <hhorak@redhat.com> - 1.1-7
- Fix path typo in README
Related: #1061455
* Mon Mar 24 2014 Remi Collet <rcollet@redhat.com> 1.1-6
- own locale and man directories, #1074337
* Wed Feb 12 2014 Remi Collet <rcollet@redhat.com> 1.1-5
- avoid empty debuginfo subpackage
- add LICENSE, README and php55.7 man page #1061455
- add scldevel subpackage #1063357
* Mon Jan 20 2014 Remi Collet <rcollet@redhat.com> 1.1-4
- rebuild with latest scl-utils #1054731
* Tue Nov 19 2013 Remi Collet <rcollet@redhat.com> 1.1-2
- fix scl_package_override
* Tue Nov 19 2013 Remi Collet <rcollet@redhat.com> 1.1-1
- build for RHSCL 1.1
* Tue Sep 17 2013 Remi Collet <rcollet@redhat.com> 1-1.5
- add macros.php55-build for scl_package_override
* Fri Aug 2 2013 Remi Collet <rcollet@redhat.com> 1-1
- initial packaging
|