package init

This commit is contained in:
lyn1001 2021-09-02 14:08:20 +08:00
parent eb1dfbe944
commit 30c0260b75
4 changed files with 296 additions and 0 deletions

178
Add-openeuler-support.patch Normal file
View File

@ -0,0 +1,178 @@
diff -Nur trafficserver-9.1.0/contrib/install_trafficserver.sh trafficserver-9.1.0_1/contrib/install_trafficserver.sh
--- trafficserver-9.1.0/contrib/install_trafficserver.sh 2021-08-06 02:46:07.000000000 +0800
+++ trafficserver-9.1.0_1/contrib/install_trafficserver.sh 2021-08-30 16:29:38.321414601 +0800
@@ -58,6 +58,7 @@
SUSE="suse"
FEDORA="fedora"
+OPENEULER="openeuler"
REDHAT="redhat" # also exists on Fedora
UBUNTU="ubuntu"
DEBIAN="debian" # also exists on Ubuntu
@@ -80,6 +81,7 @@
libpcre3-dev \
curl
apt-get install -y subversion git git-svn
+
elif [ "$DISTRIB_ID" = "$FEDORA" ]; then
yum update
yum upgrade
@@ -109,6 +111,35 @@
pcre \
pcre-devel
fi
+ elif [ "$DISTRIB_ID" = "$OPENEULER" ]; then
+ yum update
+ yum upgrade
+
+ # Chose not to use kernel version here as FC8 xen needs more than just eventfd work
+ if [ $USING_EC2 = $TRUE ]; then
+ yum -y install subversion \
+ git \
+ autoconf \
+ automake \
+ libtool \
+ gcc-c++ \
+ glibc-devel \
+ openssl-devel \
+ db4-devel \
+ pcre \
+ pcre-devel
+ elif [ $USING_EC2 = $FALSE ]; then
+ yum -y install subversion \
+ git \
+ autoconf \
+ automake \
+ libtool \
+ gcc-c++ \
+ glibc-devel \
+ openssl-devel \
+ pcre \
+ pcre-devel
+ fi
fi
}
@@ -149,6 +180,8 @@
addgroup nobody
elif [ "$DISTRIB_ID" = "$FEDORA" ]; then
groupadd nobody
+ elif [ "$DISTRIB_ID" = "$OPENEULER" ]; then
+ groupadd nobody
fi
}
@@ -162,6 +195,8 @@
if [ $USING_EC2 = $TRUE ]; then
if [ "$DISTRIB_ID" = "$FEDORA" ]; then
configureOptions="$configureOptions $BUILD_OPTIONS_FC8_EC2"
+ elif [ "$DISTRIB_ID" = "$OPENEULER" ]; then
+ configureOptions="$configureOptions $BUILD_OPTIONS_FC8_EC2"
fi
fi
@@ -358,6 +393,8 @@
DISTRIB_ID=$SUSE
elif [ -e /etc/fedora-release ]; then
DISTRIB_ID=$FEDORA
+elif [ -e /etc/openEuler-release ]; then
+ DISTRIB_ID=$OPENEULER
elif [ -e /etc/redhat-release ]; then
DISTRIB_ID=$REDHAT # also exists on Fedora
elif [ -e /etc/lsb-release ]; then
diff -Nur trafficserver-9.1.0/contrib/vagrant-setup.sh trafficserver-9.1.0_1/contrib/vagrant-setup.sh
--- trafficserver-9.1.0/contrib/vagrant-setup.sh 2021-08-06 02:46:07.000000000 +0800
+++ trafficserver-9.1.0_1/contrib/vagrant-setup.sh 2021-08-30 16:30:42.266453768 +0800
@@ -80,6 +80,26 @@
make
;;
+openeuler*)
+ dnf install -y \
+ autoconf \
+ automake \
+ clang \
+ flex \
+ gcc \
+ gcc-c++ \
+ hwloc-devel \
+ libcap-devel \
+ libcurl-devel \
+ libtool \
+ lua-devel \
+ m4 \
+ ncurses-devel \
+ openssl-devel \
+ pcre-devel \
+ git \
+ make
+
omnios)
export PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/gcc-4.8.1/bin
echo "export PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/gcc-4.8.1/bin" >> /root/.profile
diff -Nur trafficserver-9.1.0/rc/trafficserver.in trafficserver-9.1.0_1/rc/trafficserver.in
--- trafficserver-9.1.0/rc/trafficserver.in 2021-08-06 02:46:07.000000000 +0800
+++ trafficserver-9.1.0_1/rc/trafficserver.in 2021-08-30 16:29:17.149070530 +0800
@@ -52,6 +52,8 @@
DISTRIB_ID="suse"
elif [ -e /etc/fedora-release ]; then
DISTRIB_ID="fedora"
+elif [ -e /etc/openEuler-release ]; then
+ DISTRIB_ID="openeuler"
elif [ -e /etc/gentoo-release ]; then
DISTRIB_ID="gentoo"
elif [ -e /etc/redhat-release ]; then
@@ -315,7 +317,7 @@
ebegin "Starting ${TS_PACKAGE_NAME}"
do_start
eend $?
- elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" ]; then
+ elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" -o "$DISTRIB_ID" = "openeuler" ]; then
action "Starting ${TS_PACKAGE_NAME}:" forkdaemon $TM_DAEMON $TM_DAEMON_ARGS
elif [ "$DISTRIB_ID" = "suse" ]; then
echo -n "Starting ${TS_PACKAGE_NAME}"
@@ -345,7 +347,7 @@
test "$?" -ne 0 -a "$?" -ne 1 && retval=1
test "x$VERBOSE" != "xno" && log_end_msg "$retval"
exit "$retval"
- elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" ]; then
+ elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" -o "$DISTRIB_ID" = "openeuler" ]; then
action "Stopping ${TM_NAME}:" killproc -p $TM_PIDFILE -d 35 $TM_DAEMON
action "Stopping ${TS_NAME}:" killproc -p $TS_PIDFILE -d 35 $TS_DAEMON
elif [ "$DISTRIB_ID" = "gentoo" ]; then
@@ -394,7 +396,7 @@
test "$?" -ne 0 -a "$?" -ne 1 && retval=1
test "x$VERBOSE" != "xno" && log_end_msg "$retval"
exit "$retval"
- elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" ]; then
+ elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" -o "$DISTRIB_ID" = "openeuler" ]; then
action "Reloading ${NAME}:" $TL_BINARY config reload
elif [ "$DISTRIB_ID" = "gentoo" ]; then
ebegin "Reloading ${NAME}"
@@ -446,7 +448,7 @@
fi
;;
status)
- if [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" ]; then
+ if [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" -o "$DISTRIB_ID" = "openeuler" ]; then
status -p $TM_PIDFILE $TM_NAME
elif [ "$DISTRIB_ID" = "ubuntu" -o "$DISTRIB_ID" = "debian" ] ; then
status_of_proc "$TM_DAEMON" "$TM_NAME" -p "$TM_PIDFILE" && exit 0 || exit $?
@@ -476,7 +478,7 @@
fi
;;
condrestart)
- if [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" ]; then
+ if [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" -o "$DISTRIB_ID" = "openeuler" ]; then
if $0 'status'
then
sh $0 'stop'
@@ -490,7 +492,7 @@
*)
if [ "$DISTRIB_ID" = "ubuntu" -o "$DISTRIB_ID" = "debian" ] ; then
echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
- elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" ]; then
+ elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" -o "$DISTRIB_ID" = "openeuler" ]; then
echo "Usage: $0 {start|stop|status|restart|condrestart}"
elif [ "$DISTRIB_ID" = "gentoo" ]; then
echo "Usage: $0 {start|stop|reload|restart|status}"

BIN
trafficserver-9.1.0.tar.bz2 Normal file

Binary file not shown.

114
trafficserver.spec Normal file
View File

@ -0,0 +1,114 @@
%define _hardened_build 1
%{!?release: %define release 1}
Name: trafficserver
Version: 9.1.0
Release: 1
Summary: Apache Traffic Server, a reverse, forward and transparent HTTP proxy cache
License: Apache-2.0
URL: https://trafficserver.apache.org/
Source0: http://www.apache.org/dist/%{name}/%{name}-%{version}.tar.bz2
Patch0000: Add-openeuler-support.patch
BuildRequires: expat-devel hwloc-devel openssl-devel pcre-devel zlib-devel xz-devel
BuildRequires: libcurl-devel ncurses-devel gcc gcc-c++ perl-ExtUtils-MakeMaker
BuildRequires: libcap-devel cmake libunwind-devel
Requires: expat hwloc openssl pcre zlib xz libcurl
Requires: systemd ncurses pkgconfig libcap initscripts
Requires(postun): systemd
%description
Apache Traffic Server is an OpenSource HTTP / HTTPS / HTTP/2 / QUIC reverse,
forward and transparent proxy and cache.
%package devel
Summary: Apache Traffic Server devel package
Requires: trafficserver = %{version}-%{release}
%description devel
Include files and various tools for ATS developers.
%package perl
Summary: ATS management Perl bindings
Requires: trafficserver = %{version}-%{release}
%description perl
This package contains some Perl APIs for talking to the ATS management port.
%prep
%autosetup -n %{name}-%{version} -p1
%build
%configure \
--enable-layout=Gentoo \
--libdir=%{_libdir}/trafficserver \
--libexecdir=%{_libdir}/trafficserver/plugins \
--sysconfdir=%{_sysconfdir}/trafficserver \
--enable-experimental-plugins \
--with-user=ats --with-group=ats \
%{DISABLE_UNWIND} \
--disable-silent-rules
make %{?_smp_mflags} V=1
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
mkdir -p %{buildroot}/lib/systemd/system
cp rc/trafficserver.service %{buildroot}/lib/systemd/system
find %{buildroot} -type f -name "*.la" -delete
find %{buildroot} -type f -name "*.a" -delete
find %{buildroot} -type f -name "*.pod" -delete
find %{buildroot} -type f -name "*.in" -delete
find %{buildroot} -type f -name ".packlist" -delete
find %{buildroot} -type f -name "plugin_*.so" -delete
mkdir -p %{buildroot}%{_datadir}/perl5
mv %{buildroot}/usr/lib/perl5/* %{buildroot}%{_datadir}/perl5
mkdir -p %{buildroot}/run/trafficserver
mkdir -p %{buildroot}%{_datadir}/pkgconfig
mv %{buildroot}%{_libdir}/trafficserver/pkgconfig/trafficserver.pc %{buildroot}%{_datadir}/pkgconfig
%post
/sbin/ldconfig
%systemd_post trafficserver.service
%pre
getent group ats >/dev/null || groupadd -r ats -g 176 &>/dev/null
getent passwd ats >/dev/null || useradd -r -u 176 -g ats -d / -s /sbin/nologin -c "Apache Traffic Server" ats &>/dev/null
%preun
%systemd_preun trafficserver.service
%postun
/sbin/ldconfig
%systemd_postun_with_restart trafficserver.service
%files
%defattr(-, root, root, -)
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc README CHANGELOG* NOTICE STATUS
%config(noreplace) /etc/trafficserver/*
%{_bindir}/traffic*
%{_bindir}/tspush
%dir %{_libdir}/trafficserver
%dir %{_libdir}/trafficserver/plugins
%{_libdir}/trafficserver/libts*.so*
%{_libdir}/trafficserver/plugins/*.so
/lib/systemd/system/trafficserver.service
%attr(0755, ats, ats) %dir /etc/trafficserver
%attr(0755, ats, ats) %dir /var/log/trafficserver
%attr(0755, ats, ats) %dir /run/trafficserver
%attr(0755, ats, ats) %dir /var/cache/trafficserver
%attr(0644, ats, ats) /etc/trafficserver/*.config
%attr(0644, ats, ats) /etc/trafficserver/*.yaml
%files perl
%defattr(-,root,root,-)
%{_mandir}/man3/*
%{_datadir}/perl5/Apache/*
%files devel
%defattr(-,root,root,-)
%{_bindir}/tsxs
%{_includedir}/ts
%{_includedir}/tscpp
%{_datadir}/pkgconfig/trafficserver.pc
%changelog
* Tue Aug 31 2021 liyanan <liyanan32@huawei.com> - 9.1.0-1
- package init

4
trafficserver.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: github
src_repo: apache/trafficserver
tag_prefix: ""
separator: "."