Package poco: Specfile

  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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
Name: poco
Version: 1.12.4
Release: alt2
Summary: POrtable COmponents C++ Libraries
License: BSL-1.0
Group: Development/C++
Url: http://pocoproject.org/

# https://github.com/pocoproject/poco.git
Source: %name-%version.tar
Patch2000: %name-e2k.patch

BuildPreReq: gcc-c++ cmake libsqlite3-devel zlib-devel libpcre-devel
BuildPreReq: libexpat-devel libssl-devel libmariadb-devel libpq-devel
BuildPreReq: libunixODBC-devel libiodbc-devel libpcre2-devel

%description
POrtable COmponents C++ Libraries are:

* A collection of C++ class libraries, conceptually similar to the Java
  Class Library, the .NET Framework or Apple's Cocoa.
* Focused on solutions to frequently-encountered practical problems.
* Focused on 'internet-age' network-centric applications.
* Written in efficient, modern, 100%% ANSI/ISO Standard C++.
* Based on and complementing the C++ Standard Library/STL.
* Highly portable and available on many different platforms.
* Open Source, licensed under the Boost Software License.

%package -n lib%name
Summary: POrtable COmponents C++ Libraries
Group: System/Libraries

%description -n lib%name
POrtable COmponents C++ Libraries are:

* A collection of C++ class libraries, conceptually similar to the Java
  Class Library, the .NET Framework or Apple's Cocoa.
* Focused on solutions to frequently-encountered practical problems.
* Focused on 'internet-age' network-centric applications.
* Written in efficient, modern, 100%% ANSI/ISO Standard C++.
* Based on and complementing the C++ Standard Library/STL.
* Highly portable and available on many different platforms.
* Open Source, licensed under the Boost Software License.

%package -n lib%name-net
Summary: POrtable COmponents C++ Libraries (net)
Group: Development/C++
Requires: lib%name = %EVR

%description -n lib%name-net
POrtable COmponents C++ Libraries: Poco network library

%package -n lib%name-data
Summary: POrtable COmponents C++ Libraries (data)
Group: Development/C++
Requires: lib%name = %EVR

%description -n lib%name-data
POrtable COmponents C++ Libraries: Poco data library

%package -n lib%name-crypto
Summary: POrtable COmponents C++ Libraries (crypto)
Group: Development/C++
Requires: lib%name = %EVR

%description -n lib%name-crypto
POrtable COmponents C++ Libraries: Poco crypto library

%package -n lib%name-mysql
Summary: POrtable COmponents C++ Libraries (mysql)
Group: Development/C++
Requires: lib%name-data = %EVR

%description -n lib%name-mysql
POrtable COmponents C++ Libraries: Poco mysql library

%package -n lib%name-postgresql
Summary: POrtable COmponents C++ Libraries (postgresql)
Group: Development/C++
Requires: lib%name-data = %EVR

%description -n lib%name-postgresql
POrtable COmponents C++ Libraries: Poco postgresql library

%package -n lib%name-sqlite
Summary: POrtable COmponents C++ Libraries (sqlite)
Group: Development/C++
Requires: lib%name-data = %EVR

%description -n lib%name-sqlite
POrtable COmponents C++ Libraries: Poco sqlite library

%package -n lib%name-odbc
Summary: POrtable COmponents C++ Libraries (odbc)
Group: Development/C++
Requires: lib%name-data = %EVR

%description -n lib%name-odbc
POrtable COmponents C++ Libraries: Poco odbc library

%package -n lib%name-mongodb
Summary: POrtable COmponents C++ Libraries (mongodb)
Group: Development/C++
Requires: lib%name-net = %EVR

%description -n lib%name-mongodb
POrtable COmponents C++ Libraries: Poco mongodb library

%package -n lib%name-zip
Summary: POrtable COmponents C++ Libraries (zip)
Group: Development/C++
Requires: lib%name = %EVR

%description -n lib%name-zip
POrtable COmponents C++ Libraries: Poco zip library

%package -n lib%name-redis
Summary: POrtable COmponents C++ Libraries (redis)
Group: Development/C++
Requires: lib%name = %EVR

%description -n lib%name-redis
POrtable COmponents C++ Libraries: Poco redis library

%package -n lib%name-util
Summary: POrtable COmponents C++ Libraries (util)
Group: Development/C++
Requires: lib%name = %EVR

%description -n lib%name-util
POrtable COmponents C++ Libraries: Poco util library

%package -n lib%name-prometheus
Summary: POrtable COmponents C++ Libraries (util)
Group: Development/C++
Requires: lib%name = %EVR

%description -n lib%name-prometheus
POrtable COmponents C++ Libraries: Poco prometheus library

%package -n lib%name-ssl
Summary: POrtable COmponents C++ Libraries (ssl)
Group: Development/C++
Requires: lib%name = %EVR
Requires: lib%name-crypto = %EVR
Requires: lib%name-net = %EVR
Requires: lib%name-util = %EVR

%description -n lib%name-ssl
POrtable COmponents C++ Libraries: Poco ssl network library

%package -n lib%name-jwt
Summary: POrtable COmponents C++ Libraries (jwt)
Group: Development/C++
Requires: lib%name = %EVR
Requires: lib%name-crypto = %EVR

%description -n lib%name-jwt
POrtable COmponents C++ Libraries: Poco jwt library

%package -n lib%name-devel
Summary: Development files of POrtable COmponents C++ Libraries
Group: Development/C++
Requires: lib%name = %EVR
# Fix file conflict
Conflicts: arc

%description -n lib%name-devel
POrtable COmponents C++ Libraries are:

* A collection of C++ class libraries, conceptually similar to the Java
  Class Library, the .NET Framework or Apple's Cocoa.
* Focused on solutions to frequently-encountered practical problems.
* Focused on 'internet-age' network-centric applications.
* Written in efficient, modern, 100%% ANSI/ISO Standard C++.
* Based on and complementing the C++ Standard Library/STL.
* Highly portable and available on many different platforms.
* Open Source, licensed under the Boost Software License.

This package contains development files of POrtable COmponents C++
Libraries.

%package -n lib%name-devel-docs
Summary: Documentation for POrtable COmponents C++ Libraries
Group: Development/Documentation
BuildArch: noarch

%description -n lib%name-devel-docs
POrtable COmponents C++ Libraries are:

* A collection of C++ class libraries, conceptually similar to the Java
  Class Library, the .NET Framework or Apple's Cocoa.
* Focused on solutions to frequently-encountered practical problems.
* Focused on 'internet-age' network-centric applications.
* Written in efficient, modern, 100%% ANSI/ISO Standard C++.
* Based on and complementing the C++ Standard Library/STL.
* Highly portable and available on many different platforms.
* Open Source, licensed under the Boost Software License.

This package contains development documentation for POrtable COmponents
C++ Libraries.

%prep
%setup
%ifarch %e2k
%patch2000 -p1
%endif

%build
%add_optflags -I%_includedir/pcre -fno-strict-aliasing
cmake \
%if %_lib == lib64
	-DLIB_SUFFIX=64 \
%endif
	-DCMAKE_BUILD_TYPE:STRING=Release \
	-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
	-DCMAKE_INSTALL_PREFIX:PATH=%prefix \
	-DCMAKE_C_FLAGS:STRING="%optflags" \
	-DCMAKE_CXX_FLAGS:STRING="%optflags" \
	-DCMAKE_Fortran_FLAGS:STRING="%optflags" \
	-DPCRE_INCLUDE_DIR:STRING="%_includedir/pcre" \
	-DCMAKE_STRIP:FILEPATH="/bin/echo" \
	-DPOCO_UNBUNDLED:BOOL=ON \
	.
%make_build VERBOSE=1


%install
%makeinstall_std

mkdir -p usr/%_lib
for i in %buildroot%_libdir/*.so*; do
	ln -s $i usr/%_lib/
done

export POCO_BASE=$PWD
%make -C CppParser DESTDIR=%buildroot LIBDIR=%_libdir LINKMODE=RELEASE
#make -C PocoDoc DESTDIR=%buildroot LIBDIR=%_libdir LINKMODE=RELEASE

cp -fR CppParser/include/Poco/CppParser %buildroot%_includedir/Poco/
cp -P usr/%_lib/libPocoCppParser.so* %buildroot%_libdir/

%files -n lib%name
%doc CHANGELOG CONTRIBUTORS libversion LICENSE NEWS README* VERSION
%_libdir/libPocoActiveRecord*.so.*
%_libdir/libPocoFoundation*.so.*
%_libdir/libPocoXML*.so.*
%_libdir/libPocoJSON*.so.*
%_libdir/libPocoCppParser*.so.*
%_libdir/libPocoEncodings*.so.*

%files -n lib%name-data
%_libdir/libPocoData*.so.*
%exclude %_libdir/libPocoDataMySQL.so.*
%exclude %_libdir/libPocoDataSQLite.so.*
%exclude %_libdir/libPocoDataODBC.so.*
%exclude %_libdir/libPocoDataPostgreSQL*.so.*

%files -n lib%name-net
%_libdir/libPocoNet*.so.*
%exclude %_libdir/libPocoNetSSL.so.*

%files -n lib%name-ssl
%_libdir/libPocoNetSSL*.so.*

%files -n lib%name-crypto
%_libdir/libPocoCrypto*.so.*

%files -n lib%name-mysql
%_libdir/libPocoDataMySQL*.so.*

%files -n lib%name-postgresql
%_libdir/libPocoDataPostgreSQL*.so.*

%files -n lib%name-sqlite
%_libdir/libPocoDataSQLite*.so.*

%files -n lib%name-mongodb
%_libdir/libPocoMongoDB*.so.*

%files -n lib%name-odbc
%_libdir/libPocoDataODBC*.so.*

%files -n lib%name-util
%_libdir/libPocoUtil*.so.*

%files -n lib%name-zip
%_libdir/libPocoZip*.so.*

%files -n lib%name-redis
%_libdir/libPocoRedis*.so.*

%files -n lib%name-jwt
%_libdir/libPocoJWT*.so.*

%files -n lib%name-prometheus
%_libdir/libPocoPrometheus*.so.*

%files -n lib%name-devel
%_bindir/*
%_includedir/*
%_libdir/*.so
%_libdir/cmake/*

%changelog
* Wed Dec 07 2022 Alexei Takaseev <taf@altlinux.org> 1.12.4-alt2
- Add subpackage postgresql

* Mon Dec 05 2022 Ilya Kurdyukov <ilyakurdyukov@altlinux.org> 1.12.4-alt1.1
- fixed e2k patch

* Tue Nov 01 2022 Alexei Takaseev <taf@altlinux.org> 1.12.4-alt1
- 1.12.4 (Fixes CVE-2022-43680)

* Tue Oct 25 2022 Alexei Takaseev <taf@altlinux.org> 1.12.3-alt1
- 1.12.3

* Wed Aug 10 2022 Alexei Takaseev <taf@altlinux.org> 1.12.2-alt1
- 1.12.2

* Sat Jul 30 2022 Ilya Kurdyukov <ilyakurdyukov@altlinux.org> 1.12.1-alt2.1
- fixed e2k patch

* Thu Jul 21 2022 Alexei Takaseev <taf@altlinux.org> 1.12.1-alt2
- Fix file conflict (Fixes ALT#43291)

* Wed Jul 20 2022 Alexei Takaseev <taf@altlinux.org> 1.12.1-alt1
- 1.12.1

* Fri Jul 15 2022 Alexei Takaseev <taf@altlinux.org> 1.12.0-alt1
- 1.12.0

* Sat Jun 18 2022 Alexei Takaseev <taf@altlinux.org> 1.11.3-alt1
- 1.11.3

* Mon Apr 18 2022 Alexei Takaseev <taf@altlinux.org> 1.11.2-alt1
- 1.11.2

* Tue Nov 09 2021 Alexei Takaseev <taf@altlinux.org> 1.11.1-alt1
- 1.11.1

* Mon Nov 01 2021 Michael Shigorin <mike@altlinux.org> 1.11.0-alt1.1
- added e2k support patch (ilyakurdyukov@)

* Tue Jun 29 2021 Alexei Takaseev <taf@altlinux.org> 1.11.0-alt1
- 1.11.0

* Wed Feb 26 2020 Alexei Takaseev <taf@altlinux.org> 1.10.1-alt1
- 1.10.1
- Add subpackage jwt
- Fix License

* Sun Feb 02 2020 Alexei Takaseev <taf@altlinux.org> 1.10.0-alt1
- 1.10.0

* Wed Sep 18 2019 Alexei Takaseev <taf@altlinux.org> 1.9.4-alt1
- 1.9.4 (Fixes CVE-2019-15903)

* Wed Aug 21 2019 Alexei Takaseev <taf@altlinux.org> 1.9.3-alt1
- 1.9.3

* Tue Jul 02 2019 Alexei Takaseev <taf@altlinux.org> 1.9.2-alt1
- 1.9.2

* Wed Aug 29 2018 Grigory Ustinov <grenka@altlinux.org> 1.9.0-alt2.1
- NMU: Rebuild with new openssl 1.1.0.

* Fri Jun 15 2018 Alexei Takaseev <taf@altlinux.org> 1.9.0-alt2
- Build with MariaDB client libraries

* Fri Mar 09 2018 Alexei Takaseev <taf@altlinux.org> 1.9.0-alt1
- 1.9.0

* Wed Jan 10 2018 Alexei Takaseev <taf@altlinux.org> 1.8.1-alt1
- 1.8.0

* Sun Nov 12 2017 Alexei Takaseev <taf@altlinux.org> 1.8.0.1-alt1
- 1.8.0.1
- Add subpackage redis

* Tue Sep 12 2017 Alexei Takaseev <taf@altlinux.org> 1.7.9-alt1
- 1.7.9

* Fri Jun 23 2017 Alexei Takaseev <taf@altlinux.org> 1.7.8p3-alt1
- 1.7.8p3

* Thu Apr 20 2017 Alexei Takaseev <taf@altlinux.org> 1.7.8p2-alt1
- 1.7.8p2

* Tue Feb 21 2017 Alexei Takaseev <taf@altlinux.org> 1.7.7-alt1
- 1.7.7

* Sat Oct 22 2016 Alexei Takaseev <taf@altlinux.org> 1.7.6-alt1
- 1.7.6

* Mon Aug 29 2016 Alexei Takaseev <taf@altlinux.org> 1.7.5-alt1
- 1.7.5

* Fri Aug 26 2016 Pavel Vainerman <pv@altlinux.ru> 1.7.4-alt2
- split to subpackages

* Sat Jul 30 2016 Alexei Takaseev <taf@altlinux.org> 1.7.4-alt1
- 1.7.4

* Wed May 04 2016 Alexei Takaseev <taf@altlinux.org> 1.7.3-alt1
- 1.7.3

* Mon Mar 21 2016 Alexei Takaseev <taf@altlinux.org> 1.7.2-alt1
- 1.7.2

* Tue Mar 15 2016 Alexei Takaseev <taf@altlinux.org> 1.7.1-alt1
- 1.7.1

* Tue Mar 08 2016 Alexei Takaseev <taf@altlinux.org> 1.7.0-alt1
- 1.7.0

* Wed Sep 30 2015 Alexei Takaseev <taf@altlinux.org> 1.6.1-alt1
- 1.6.1

* Wed Sep 17 2014 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.5.3-alt1.git20140701
- Initial build for Sisyphus