diff options
author | CoprDistGit <infra@openeuler.org> | 2024-11-01 08:56:24 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-11-01 08:56:24 +0000 |
commit | eb96f6f2d6d5a51d4b92af8cb9b8030a700865ce (patch) | |
tree | 4181e80c58622f15097d3b1db9e5aea3a0ec7ae5 | |
parent | 26bcabee4bd8a2f9c8c30a1dbe7fb15440559aed (diff) |
automatic import of tengineopeneuler24.03_LTS
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | sources | 1 | ||||
-rw-r--r-- | tengine.spec | 288 |
3 files changed, 290 insertions, 0 deletions
@@ -0,0 +1 @@ +/3.1.0.tar.gz @@ -0,0 +1 @@ +fb61abe468234ae8018b6494b13fe1c9 3.1.0.tar.gz diff --git a/tengine.spec b/tengine.spec new file mode 100644 index 0000000..be37ea2 --- /dev/null +++ b/tengine.spec @@ -0,0 +1,288 @@ +%define software tengine +%define nginx_user nobody +%define nginx_group nobody +%define nginx_home /usr/local/nginx +%define nginx_home_tmp /usr/local/nginx/tmp +%define mywebroot /usr/share/nginx/html/ + +%global debug_package %{nil} + +Name: %{software} +Version: 3.1.0 +Release: 1 +URL: http://tengine.taobao.org/ +Summary: A distribution of Nginx with some advanced features +License: BSD +Group: System Environment/Daemons + +Source0: https://github.com/alibaba/tengine/archive/refs/tags/3.1.0.tar.gz +BuildRequires: zlib-devel +BuildRequires: openssl-devel +BuildRequires: pcre-devel +BuildRequires: libxslt-devel +BuildRequires: perl +BuildRequires: gd-devel +Requires: initscripts >= 8.36 +Requires(pre): shadow-utils +Requires(post): chkconfig +Requires: libxslt +Requires: gd-devel +Provides: webserver + +%description +Tengine is a web server originated by Taobao, the largest e-commerce website in Asia. It is based on Nginx HTTP server and has many advanced features. Tengine has been proven very stable and efficient on the top 100 global websites, including taobao.com and tmall.com. + +Tengine has been an open source project since December 2011. It is now developed and maintained by the Tengine team, whose core members are from Taobao, Sogou and other Internet companies. + +%prep +%setup -q -n %{software}-%{version} + +%build +./configure \ + --prefix=%{nginx_home} \ + --conf-path=%{nginx_home}/conf/nginx.conf \ + --user=%{nginx_user} \ + --group=%{nginx_group} \ + --http-client-body-temp-path=%{nginx_home_tmp}/client_body \ + --http-proxy-temp-path=%{nginx_home_tmp}/proxy \ + --http-fastcgi-temp-path=%{nginx_home_tmp}/fastcgi \ + --with-cc-opt="%{optflags} $(pcre-config --cflags)" \ + --with-http_ssl_module \ + --with-http_realip_module \ + --with-http_gzip_static_module \ + --with-http_stub_status_module \ + --with-http_addition_module \ + --with-http_image_filter_module \ + --with-http_sub_module \ + --with-http_flv_module \ + --with-http_slice_module \ + --with-http_mp4_module \ + --with-http_random_index_module \ + --with-http_secure_link_module \ + --with-http_xslt_module \ + $* +make %{?_smp_mflags} + +%install +# remove default stripping +%define __spec_install_port /usr/lib/rpm/brp-compress + +%{__rm} -rf $RPM_BUILD_ROOT +%{__make} DESTDIR=$RPM_BUILD_ROOT install + +%{__mkdir} -p $RPM_BUILD_ROOT%{nginx_home}/var +%{__mkdir} -p $RPM_BUILD_ROOT%{nginx_home_tmp} + +%{__rm} -f $RPM_BUILD_ROOT%{nginx_home}/conf/*.default +%{__rm} -f $RPM_BUILD_ROOT%{nginx_home}/conf/fastcgi.conf +%{__rm} -f $RPM_BUILD_ROOT%{nginx_home}/conf/scgi_params +%{__rm} -f $RPM_BUILD_ROOT%{nginx_home}/conf/uwsgi_params + +# install SYSV init stuff +%{__mkdir} -p $RPM_BUILD_ROOT%{_initrddir} + +%{__cat} > $RPM_BUILD_ROOT%{_initrddir}/nginx <<EOF +#!/bin/sh +# +# nginx Startup script for nginx +# +# chkconfig: - 85 15 +# processname: nginx +# description: nginx is a HTTP and reverse proxy server +# +### BEGIN INIT INFO +# Provides: nginx +# Required-Start: $local_fs $remote_fs $network +# Required-Stop: $local_fs $remote_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: start and stop nginx +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Check that networking is up. +. /etc/sysconfig/network + +if [ "$NETWORKING" = "no" ] +then + exit 0 +fi + +if [ -f /etc/sysconfig/tengine ]; then + . /etc/sysconfig/tengine +fi + +prog=nginx +nginx=${NGINX-/usr/local/nginx/sbin/nginx} +conffile=${CONFFILE-/usr/local/nginx/conf/nginx.conf} +lockfile=${LOCKFILE-/usr/local/nginx/var/nginx.lock} +pidfile=${PIDFILE-/usr/local/nginx/var/nginx.pid} +RETVAL=0 + +start() { + echo -n $"Starting $prog: " + + daemon --pidfile=${pidfile} ${nginx} -c ${conffile} + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch ${lockfile} + return $RETVAL +} + +stop() { + echo -n $"Stopping $prog: " + killproc -p ${pidfile} ${prog} + RETVAL=$? + echo + [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} +} + +reload() { + echo -n $"Reloading $prog: " + killproc -p ${pidfile} ${prog} -HUP + RETVAL=$? + echo +} + +upgrade() { + oldbinpidfile=${pidfile}.oldbin + + configtest || return 6 + echo -n $"Staring new master $prog: " + killproc -p ${pidfile} ${prog} -USR2 + RETVAL=$? + echo + sleep 1 + if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then + echo -n $"Graceful shutdown of old $prog: " + killproc -p ${oldbinpidfile} ${prog} -QUIT + RETVAL=$? + echo + else + echo $"Upgrade failed!" + return 1 + fi +} + +configtest() { + ${nginx} -t -c ${conffile} + RETVAL=$? + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status -p ${pidfile} ${nginx} + RETVAL=$? + ;; + restart) + stop + start + ;; + upgrade) + upgrade + ;; + condrestart|try-restart) + if status -p ${pidfile} ${nginx} >&/dev/null; then + stop + start + fi + ;; + force-reload|reload) + reload + ;; + configtest) + configtest + ;; + *) + echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}" + RETVAL=2 +esac + +exit $RETVAL + +EOF + +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +%{__cat} > $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name} <<EOF +NGINX=%{nginx_home}/sbin/nginx +CONFFILE=%{nginx_home}/conf/nginx.conf +LOCKFILE=%{nginx_home}/var/nginx.lock +PIDFILE=%{nginx_home}/var/nginx.pid +EOF + +%{__strip} $RPM_BUILD_ROOT%{nginx_home}/sbin/nginx + +# install default html +%{__mkdir} -p $RPM_BUILD_ROOT%{mywebroot} +%{__mv} $RPM_BUILD_ROOT%{nginx_home}/html/*.html $RPM_BUILD_ROOT/%{mywebroot} + +%files +%defattr(-,root,root) + +%{nginx_home}/sbin/nginx + +%{_initrddir}/nginx + +%dir %{nginx_home}/conf + +#%config(noreplace) %{nginx_home}/conf/browsers +#%config(noreplace) %{nginx_home}/conf/module_stubs +%config(noreplace) %{nginx_home}/conf/nginx.conf +%config(noreplace) %{nginx_home}/conf/mime.types +%config(noreplace) %{nginx_home}/conf/fastcgi_params +%config(noreplace) %{nginx_home}/conf/koi-utf +%config(noreplace) %{nginx_home}/conf/koi-win +%config(noreplace) %{nginx_home}/conf/win-utf + + +%config(noreplace) %{_sysconfdir}/sysconfig/%{name} + +%attr(0755,root,root) %dir %{nginx_home}/var + +%{mywebroot} +%attr(0755,root,root) %dir %{mywebroot} +%attr(-,%{nginx_user},%{nginx_group}) %dir %{nginx_home_tmp} +#%{nginx_home}/modules +%{nginx_home}/logs + +%pre +# Add the "web" user +getent group %{nginx_group} >/dev/null || groupadd -r %{nginx_group} +getent passwd %{nginx_user} >/dev/null || \ + useradd -r -g %{nginx_group} -s /sbin/nologin \ + -d %{nginx_home} -c "web user" %{nginx_user} +exit 0 + +%post +# Register the nginx service +if [ $1 -eq 1 ]; then + /sbin/chkconfig --add nginx +fi + +%preun +if [ $1 -eq 0 ]; then + /sbin/service nginx stop > /dev/null 2>&1 + /sbin/chkconfig --del nginx +fi + +%postun +if [ $1 -ge 1 ]; then + /sbin/service nginx upgrade &>/dev/null || : +fi + +%changelog +* Tue Sep 03 2024 zhangxingrong <zhangxingrong@uniontech.cn> - 3.1.0-1 +- update to 3.1.0 + +* Wed Dec 1 2021 bzhaoop <bzhaojyathousandy@gmail.com> - 2.3.3-1 +- initial package |