summaryrefslogtreecommitdiff
path: root/opennjet.spec
blob: 03a559f22dc8482c53e5689901cbb6b9b1047b32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Name:     opennjet
Version:  4.0.2.0
Release:  1%{?dist}

Summary:  OpenNJet Application Engine
License:  MulanPSL-2.0
URL:      https://gitee.com/njet-rd/njet

SOURCE0:  https://github.com/OpenNJet/OpenNJet/archive/refs/tags/v%{version}.tar.gz
Patch0:   fix-cmake4.patch
Patch1:   fix-llhttp-avail.patch

Requires(pre): shadow-utils
BuildRequires: systemd make gcc gcc-c++ vim-common m4 autoconf automake cmake zlib-devel openssl-devel pcre-devel libtool libtool-ltdl pkgconfig patch

%description
OpenNJet 应用引擎是基于 NGINX 的面向互联网和云原生应用提供的运行时组态服务程序,作为底层引擎,OpenNJet 实现了NGINX 云原生功能增强、安全加固和代码重构,利用动态加载机制可以实现不同的产品形态,如Web服务器、流媒体服务器、负载均衡、代理(Proxy)、应用中间件、API网关、消息队列等产品形态等等。

%prep
%autosetup -p1 -n OpenNJet-%{version}

%build
sed -i 's/--strict-warnings//g' ./build_cc.sh && ./build_cc.sh  conf && make -j `nproc`
make tools
./build_lua.sh

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/usr/local/njet/{apps,logs,data,modules,lib/tcc,sbin,lualib/lib,lualib/clib}
mkdir -p %{buildroot}/var/log/njet/logs
DESTDIR=%{buildroot} ./build_cc.sh install
cp -a build/rpm/njet.conf.files/* %{buildroot}
rm -f %{buildroot}/usr/local/njet/lib/*.a
cp -a objs/scripts/so/* %{buildroot}/usr/local/njet/lualib/clib/
rm -rf objs/scripts/so
cp -a objs/scripts/* %{buildroot}/usr/local/njet/modules/

%pre
if [ "$1" -eq 1 ]; then
   if ! getent group njet >/dev/null 2>&1; then
     /usr/sbin/groupadd njet
   fi
   if ! getent passwd njet >/dev/null 2>&1; then
     /usr/sbin/useradd njet -g njet -M -s /sbin/nologin
   fi
fi

%post

grep -q /usr/local/lib /etc/ld.so.conf

if [ $? != 0 ] ; then
  echo "/usr/local/lib" >> /etc/ld.so.conf
fi

/bin/chmod a+x /usr/local/njet/sbin/agw_passwd
/usr/local/njet/sbin/agw_passwd /usr/local/njet/apigw_data/api_gateway.db

ldconfig

systemctl daemon-reload
systemctl enable njet.service

/usr/sbin/setcap cap_dac_override,cap_dac_read_search,cap_net_bind_service,cap_net_admin,cap_net_raw,cap_setuid=eip /usr/local/njet/sbin/njet

%preun
systemctl stop njet.service >/dev/null 2>&1
systemctl disable njet.service
systemctl daemon-reload

%postun

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
/etc/systemd/system/njet.service.d/filelimit.conf
/etc/ld.so.conf.d/njet.conf
%{_unitdir}/njet.service
%attr(-,njet,njet) /usr/local/njet/
%attr(777,njet,njet) /var/log/njet/logs/

%config(noreplace) /usr/local/njet/conf/ctrl_kv.conf
%config(noreplace) /usr/local/njet/conf/goaccess.conf
%config(noreplace) /usr/local/njet/conf/njet.conf
%config(noreplace) /usr/local/njet/conf/njet_ctrl.conf
%config(noreplace) /usr/local/njet/html/50x.html
%config(noreplace) /usr/local/njet/html/index.html

%changelog
* Wed Oct 21 2026 unac <1317113781@qq.com> - 4.0.2.0-1
- update to 4.0.2.0

* Fri Dec 29 2023 hongxina <hongxina@tmlake.com> - 2.0.0-1
- update to 2.0.0

* Wed Nov 8 2023 hongxina <hongxina@tmlake.com> - 1.2.3-1
- update to 1.2.3

* Wed Oct 18 2023 hongxina <hongxina@tmlake.com> - 1.2.2-1
- DESC: update to 1.2.2-1

* Tue Aug 15 2023 hongxina <hongxina@tmlake.com> - 1.1.2-1
- init