diff --git a/Add-openeuler-support.patch b/Add-openeuler-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..4baa7cf207eaf37685bc03353f4fe1689f101414 --- /dev/null +++ b/Add-openeuler-support.patch @@ -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}" diff --git a/trafficserver-9.1.0.tar.bz2 b/trafficserver-9.1.0.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..6c97baa3a45ff1d89b41bf08a818712663d32b12 Binary files /dev/null and b/trafficserver-9.1.0.tar.bz2 differ diff --git a/trafficserver.spec b/trafficserver.spec new file mode 100644 index 0000000000000000000000000000000000000000..64a581362d98058dde4821eedf3b763eb1190239 --- /dev/null +++ b/trafficserver.spec @@ -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 - 9.1.0-1 +- package init diff --git a/trafficserver.yaml b/trafficserver.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dc6e4afa26400e672eb07cfef48698512165dbe9 --- /dev/null +++ b/trafficserver.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: apache/trafficserver +tag_prefix: "" +separator: "."