-
Notifications
You must be signed in to change notification settings - Fork 0
/
rpmbuild-libesl-devel-1.4.0.spec
69 lines (57 loc) · 2.13 KB
/
rpmbuild-libesl-devel-1.4.0.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
###############################################################################
# Spec file for ESL development files
################################################################################
Summary: C++ Enterprise Support Library development files
Name: libesl-devel
Version: 1.4.0
Release: 1
License: MIT
URL: http://www.sven-lukas.de
Group: System
Packager: Sven Lukas
Requires: libesl = 1.4.0
BuildRoot: ./rpmbuild/
%description
ESL is a C++ API specification to create enterprise application with C++.
This includes:
- profesional logging
- execute processes and process stdin, stdout, stderr
- HTTP client communication
- HTTP server communication
- Streaming/Messaging stuff (Kafka, ...)
- Throwing exceptions with stacktrace
- Database connectivity
- ...
ESL is an API specification. There is no implementation included.
You can use every ESL compatibal implementation (binding) for each subsystem of ESL.
Later you can use another binding without rewriting your application.
There is a free implementation available that you can use. Take a look at libeslx.
You can build and link your application already without using any specific implementation.
But if you create a class that needs an implemetation (e.g. esl::com::http::server::Socket)
you will get a std::runtime_error if you did not previously load an ESL implementation that
implements at least esl::com::http::server::Interface::Socket.
%prep
#echo "BUILDROOT = $RPM_BUILD_ROOT"
#echo "Current path: $PWD"
mkdir -p $RPM_BUILD_ROOT/usr/include/esl-1.4.0
cd ../../src/main
find . -name '*.h' -exec cp --parents {} $RPM_BUILD_ROOT/usr/include/esl-1.4.0 \;
cd ../../rpm/BUILD
ln -s esl-1.4.0/esl $RPM_BUILD_ROOT/usr/include/esl
rm -rf $RPM_BUILD_ROOT/usr/include/esl-1.4.0/esl/caching
rm -rf $RPM_BUILD_ROOT/usr/include/esl-1.4.0/esl/com/mqtt
rm -rf $RPM_BUILD_ROOT/usr/include/esl-1.4.0/esl/com/smtp
rm -rf $RPM_BUILD_ROOT/usr/include/esl-1.4.0/esl/compression
exit
%files
%defattr(644, root, root, 755)
/usr/include/esl-1.4.0
/usr/include/esl
%pre
%post
%postun
%clean
rm -rf $RPM_BUILD_ROOT/usr/include/esl
%changelog
* Sun Jan 16 2022 Sven Lukas <sven.lukas@gmail.com>
- First prebuild RPM