xinetd/xinetd.spec
2019-09-30 11:20:12 -04:00

118 lines
4.2 KiB
RPMSpec

Name: xinetd
Epoch: 2
Version: 2.3.15
Release: 28
Summary: A super-server daemon that manages Internet-based connectivity
License: xinetd
URL: https://github.com/xinetd-org/xinetd
Source0: %{name}-%{version}.tar.gz
Source1: xinetd.service
#patches from the opensource fedora/redhat repository
Patch0001: xinetd-2.3.15-add-pie.patch
Patch0002: xinetd-2.3.14-bind-ipv6.patch
Patch0003: xinetd-2.3.14-man-section.patch
Patch0004: xinetd-2.3.14-ident-bind.patch
Patch0005: xinetd-2.3.14-readable-debuginfo.patch
Patch0006: xinetd-2.3.14-autoconf.patch
Patch0007: xinetd-2.3.14-poll.patch
Patch0008: xinetd-2.3.14-file-limit.patch
Patch0009: xinetd-2.3.14-tcpmux.patch
Patch0010: xinetd-2.3.14-clean-pfd.patch
Patch0011: xinetd-2.3.14-ipv6confusion.patch
Patch0012: xinetd-2.3.14-udp-reconfig.patch
Patch0013: xinetd-2.3.14-rpc-specific-port.patch
Patch0014: xinetd-2.3.14-signal-log-hang.patch
Patch0015: xinetd-2.3.14-fix-type-punned-ptr.patch
Patch0016: xinetd-2.3.14-leaking-fds.patch
Patch0017: xinetd-2.3.14-many-services.patch
Patch0018: xinetd-2.3.14-realloc-remove.patch
Patch0019: xinetd-2.3.14-leaking-fds-2a.patch
Patch0020: xinetd-2.3.14-instances.patch
Patch0021: xinetd-2.3.14-retry-svc-activate-in-cps-restart.patch
Patch0022: xinetd-2.3.15-bad-port-check.patch
Patch0023: xinetd-2.3.15-context-exepath.patch
Patch0024: xinetd-2.3.15-creds.patch
Patch0025: xinetd-2.3.15-tcpmux-nameinargs-disable-service.patch
Patch0026: xinetd-2.3.15-udp-wait.patch
#backport patches
Patch6001: connection.c-fix-pointer-dereference-before-NULL-che.patch
Patch6002: tcpint.c-fix-memleak.patch
Patch6003: inet.c-avoid-using-pointer-after-free.patch
Patch6004: service.c-avoid-dereferencing-NULL-pointer.patch
Patch6005: sconf.c-fix-possible-memleak.patch
BuildRequires: autoconf automake libtirpc-devel libselinux-devel >= 1.30 systemd-units
Requires: filesystem >= 2.0.1 setup
Requires(post): systemd-sysv systemd-units
Requires(preun): systemd-units systemd-units
Provides: inetd
%description
xinetd is a powerful replacement for inetd.
xinetd has access control mechanisms, extensive logging capabilities,
the ability to make services available based on time, can place
limits on the number of servers that can be started, and has deployable
defence mechanisms to protect against port scanners, among other things.
xinetd listens for incoming requests over a network and launches the
appropriate service for that request. Requests are made using port numbers
as identifiers and xinetd usually launches another daemon to handle the
request. It can be used to start services with both privileged and
non-privileged port numbers.
%package help
Summary: Help package for %{name}, containing some readme, man, etc. files
%description help
This is the help package for %{name} package. It includes some readme, man and other
related files.
%prep
%autosetup -n %{name}-%{version} -p1
%build
aclocal
autoconf
%configure --with-loadavg --with-inet6 --with-labeled-networking
make CFLAGS="$CFLAGS $(pkg-config --cflags libtirpc)" LDFLAGS="$LDFLAGS $(pkg-config --libs libtirpc) -Wl,-z,relro,-z,now"
%install
%make_install DAEMONDIR=%{buildroot}%{_sbindir} MANDIR=%{buildroot}%{_mandir}
mkdir -m 700 -p %{buildroot}%{_sysconfdir}/xinetd.d
install -Dm644 %{SOURCE1} %{buildroot}%{_unitdir}/xinetd.service
install -m600 contrib/xinetd.conf %{buildroot}%{_sysconfdir}
install -m600 contrib/xinetd.d/* %{buildroot}%{_sysconfdir}/xinetd.d
%post
%systemd_post xinetd
%preun
%systemd_preun xinetd
%postun
%systemd_postun_with_restart xinetd
%files
%doc COPYRIGHT
%config(noreplace) %{_sysconfdir}/xinetd.conf
%config(noreplace) %{_sysconfdir}/xinetd.d/*
%{_unitdir}/xinetd.service
%{_sbindir}/xinetd
%exclude %{_sysconfdir}/xinetd.d/ftp-sensor
%exclude %{_sbindir}/itox
%exclude %{_sbindir}/xconv.pl
%files help
%doc CHANGELOG README xinetd/sample.conf contrib/empty.conf
%{_mandir}/*/*
%exclude %{_mandir}/man8/itox*
%exclude %{_mandir}/man8/xconv.pl*
%changelog
* Thu Sep 12 2019 huzhiyu<huzhiyu1@huawei.com> - 2:2.3.15-28
- Package init