/[packages]/backports/8/haproxy/current/SPECS/haproxy.spec
ViewVC logotype

Contents of /backports/8/haproxy/current/SPECS/haproxy.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1725233 - (show annotations) (download)
Mon May 17 15:29:53 2021 UTC (2 years, 11 months ago) by bcornec
Original Path: cauldron/haproxy/current/SPECS/haproxy.spec
File size: 4128 byte(s)
Import haproxy using spec example from Julien Pivotto <roidelapluie@inuits.eu> at https://github.com/roidelapluie/haproxy-rpm/blob/master/haproxy.spec but greatly modified !
1 # Based on work from Julien Pivotto <roidelapluie@inuits.eu> at https://github.com/roidelapluie/haproxy-rpm/blob/master/haproxy.spec
2
3 Name: haproxy
4 Version: 2.4.0
5 Release: %mkrel 1
6 Epoch: 1
7 Summary: TCP/HTTP proxy and load balancer for high availability environments
8 License: GPLv2+
9 Group: System/Networking
10 Url: http://www.haproxy.org/
11 Source: https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz
12 Source2: %{name}.cfg
13 Source3: %{name}.logrotate
14 Source4: %{name}.sysconfig
15 Source5: halog.1
16
17 BuildRequires: lua-devel >= 5.3
18 BuildRequires: pcre-devel
19 BuildRequires: pcreposix-devel
20 BuildRequires: zlib-devel
21 BuildRequires: openssl-devel
22 BuildRequires: systemd-units
23 BuildRequires: systemd-devel
24 Requires(pre): shadow-utils
25 Requires(post): systemd
26 Requires(preun): systemd
27 Requires(postun): systemd
28
29 %description
30 HAProxy is a TCP/HTTP reverse proxy which is particularly suited for high
31 availability environments
32
33 %prep
34 %setup -q -n %{name}-%{version}
35
36 %build
37 %{__make} %{?_smp_mflags} CPU="generic" TARGET="linux-glibc" USE_LUA=1 USE_OPENSSL=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LIBCRYPT=1 USE_CRYPT_H=1 USE_GETADDRINFO=1 USE_TFO=1 USE_NS=1 USE_PROMEX=1 %{name} admin/halog/halog admin/iprange/iprange dev/tcploop/tcploop dev/poll/poll dev/flags/flags dev/hpack/{decode,gen-enc,gen-rht}
38
39 %install
40 # Fix wrong DOCDIR
41 %make_install PREFIX=/usr DOCDIR=/usr/share/doc/%{name}
42
43 %{__install} -d -m 0755 %{buildroot}%{_localstatedir}/lib/%{name}
44 %{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}/%{name}.cfg
45 %{__install} -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
46 %{__install} -p -D -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
47 %{__install} -p -D -m 0644 %{SOURCE5} %{buildroot}%{_mandir}/man1/halog.1
48 %{__install} -d -m 0755 %{buildroot}%{_unitdir}/
49 %{__sed} -e 's|@SBINDIR@|%{_sbindir}|' ./admin/systemd/%{name}.service.in > %{buildroot}%{_unitdir}/%{name}.service
50 %{__chmod} 644 %{buildroot}%{_unitdir}/%{name}.service
51 %{__install} -d -m 0755 %{buildroot}%{_bindir}/
52 %{__install} -p -m 0755 ./admin/halog/halog %{buildroot}%{_bindir}/halog
53 %{__install} -p -m 0755 ./admin/iprange/iprange %{buildroot}%{_bindir}/iprange
54 %{__install} -p -m 0755 ./dev/flags/flags %{buildroot}%{_bindir}/flags
55 %{__install} -p -m 0755 ./dev/poll/poll %{buildroot}%{_bindir}/poll
56 %{__install} -p -m 0755 ./dev/tcploop/tcploop %{buildroot}%{_bindir}/tcploop
57 %{__install} -p -m 0755 ./dev/hpack/gen-rht %{buildroot}%{_bindir}/gen-rht
58 %{__install} -p -m 0755 ./dev/hpack/gen-enc %{buildroot}%{_bindir}/gen-enc
59 %{__install} -p -m 0755 ./dev/hpack/decode %{buildroot}%{_bindir}/hadecode
60 %{__install} -d -m 0755 %{buildroot}%{_datadir}/%{name}
61 %{__install} -p -m 0644 ./examples/errorfiles/* %{buildroot}%{_datadir}/%{name}
62 %{__install} -d -m 0755 %{buildroot}%{_datadir}/vim/syntax
63 %{__install} -p -m 0644 ./admin/syntax-highlight/%{name}.vim %{buildroot}%{_datadir}/vim/syntax/%{name}.vim
64
65 %pre
66 getent group %{name} >/dev/null || groupadd -f -g 188 -r %{name}
67 if ! getent passwd %{name} >/dev/null ; then
68 if ! getent passwd 188 >/dev/null ; then
69 useradd -r -u 188 -g %{name} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "haproxy" %{name}
70 else
71 useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "haproxy" %{name}
72 fi
73 fi
74
75 %post
76 %systemd_post %{name}.service
77
78 %preun
79 %systemd_preun %{name}.service
80
81 %postun
82 %systemd_postun_with_restart %{name}.service
83
84 %files
85 %defattr(-,root,root,-)
86 %doc doc/* examples/*.cfg
87 %doc CHANGELOG LICENSE README ROADMAP VERSION
88 %{_unitdir}/%{name}.service
89 %dir %{_sysconfdir}/%{name}
90 %config(noreplace) %{_sysconfdir}/%{name}/%{name}.cfg
91 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
92 %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
93 %dir %{_datadir}/%{name}
94 %{_datadir}/%{name}/*
95 %attr(-,%{name},%{name}) %dir %{_localstatedir}/lib/%{name}
96 %{_sbindir}/%{name}
97 %{_bindir}/halog
98 %{_bindir}/iprange
99 %{_bindir}/flags
100 %{_bindir}/poll
101 %{_bindir}/tcploop
102 %{_bindir}/gen-rht
103 %{_bindir}/gen-enc
104 %{_bindir}/hadecode
105 %{_mandir}/man1/*
106 %{_datadir}/vim/syntax/%{name}.vim

  ViewVC Help
Powered by ViewVC 1.1.30