Вот в таких случаях используется %package lua - это означает дописать lua к %{name} пакета. А -n используется, когда пакет не содержит %{name} что и было раньше. В %description ниже всё тоже самое. И для других пакетов. в %files тоже самое.
Вот в таких случаях используется %package lua - это означает дописать lua к %{name} пакета. А -n используется, когда пакет не содержит %{name} что и было раньше. В %description ниже всё тоже самое. И для других пакетов. в %files тоже самое.
Я нашёл в пакете сервис для системд: /usr/lsws/admin/misc/lshttpd.service
Давай его как раз скопируем в правильное место, а init-скрипт удалим.
Нужны будут ещё макросы для systemd. Можешь посмотреть, как сделано в пакете nginx допустим.
Я нашёл в пакете сервис для системд: /usr/lsws/admin/misc/lshttpd.service
Давай его как раз скопируем в правильное место, а init-скрипт удалим.
Нужны будут ещё макросы для systemd. Можешь посмотреть, как сделано в пакете nginx допустим.
Как же этот /usr/lsws глаза режет. Давай вот что сделаем
В самом начале файла определим
%global _lsws_dir %{_prefix}/lsws
И будем использовать %{_lsws_dir} вместо /usr/lsws
И вообще хорошо бы во всём spec это заменить. Ну хотя бы где просто пути, без sed'ов и if'ов.
Как же этот /usr/lsws глаза режет. Давай вот что сделаем
В самом начале файла определим
```
%global _lsws_dir %{_prefix}/lsws
```
И будем использовать %{_lsws_dir} вместо /usr/lsws
И вообще хорошо бы во всём spec это заменить. Ну хотя бы где просто пути, без sed'ов и if'ов.
Rebuild openlitespeed for MSVSphere 9.4
Version: 1.8.2
Release: 1%{?dist}
Summary: Open source HTTP server developed and copyrighted by LiteSpeed Technologies.
License: GNU General Public License v3.0
Тут правильное значение GPLv3+
Release: 1%{?dist}
Summary: Open source HTTP server developed and copyrighted by LiteSpeed Technologies.
License: GNU General Public License v3.0
Url: https://github.com/litespeedtech/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Это URL должен быть в поле Source0, чтобы его можно было скачать при помощи spectool -g. И использовать нужно тот тарбол, что скачается из git'а
License: GNU General Public License v3.0
Url: https://github.com/litespeedtech/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source0: %{name}.tar.xz
Заменить на URL выше и тарбол с гита залить в s3
%description
OpenLiteSpeed is a high-performance, lightweight, open source HTTP server developed and copyrighted by LiteSpeed Technologies.
%package -n %{name}-lua
Вот в таких случаях используется %package lua - это означает дописать lua к %{name} пакета. А -n используется, когда пакет не содержит %{name} что и было раньше. В %description ниже всё тоже самое. И для других пакетов. в %files тоже самое.
%package -n %{name}-lua
Summary: Lua
Requires: openlitespeed = %{version}-%{release}
тут правильно будет
Ну и ниже также.
Mod Security for openlitespeed webserver.
%prep
%autosetup -n %{name} -b1
Проверить путь в архиве относительн тарбола из git'а. Кажется, что -n %{name} будет не нужно.
cp -pr dist/admin/conf/admin_config_ssl.conf.in %{buildroot}/usr/lsws/admin/conf/admin_config.conf
sed -i -e "s:%ADMIN_PORT%:7080:g" %{buildroot}/usr/lsws/admin/conf/admin_config.conf
sed -i -e "s:%SSL_HOSTNAME%:webadmin:g" %{buildroot}/usr/lsws/admin/conf/admin_config.conf
install -m 755 -d %{buildroot}/etc/init.d
Я нашёл в пакете сервис для системд: /usr/lsws/admin/misc/lshttpd.service
Давай его как раз скопируем в правильное место, а init-скрипт удалим.
Нужны будут ещё макросы для systemd. Можешь посмотреть, как сделано в пакете nginx допустим.
chmod 755 %{buildroot}/usr/lsws/admin/fcgi-bin/admin_php
chmod 755 %{buildroot}/usr/lsws/fcgi-bin/lsphp5
chmod 755 %{buildroot}/usr/lsws/admin/fcgi-bin/admin_php
rm %{buildroot}/usr/lsws/fcgi-bin/lsphp
Давай всегда использовать rm -f. Часто бывает, что файла почему-то нет и стопорится сборка.
usermod -G lsadm,nobody lsadm >/dev/null 2>&1
exit 0
%preun
Давай всё-таки %postun. И ещё добавь остановку сервиса.
SSL_HOSTNAME='webadmin'
COMMNAME='openlitespeed.host'
SSL_COUNTRY=US
SSL_STATE="New Jersey"
Интересно, а почему тут два раза SSL_STATE и SSL_COUNTRY. Ошиблись что ли.
localityName = Virtual
organizationName = LiteSpeedCommunity
organizationalUnitName = Testing
stateOrProvinceName = NJ
Надо поискать, что писать тут для RU/Moscow. Может и вообще пустое поле или не должно существовать. Но не NJ точно.
chown lsadm.lsadm %{sslkey}; chmod 400 %{sslkey};
ln -s /usr/lsws/fcgi-bin/lsphp5 /usr/lsws/fcgi-bin/lsphp
/usr/lsws/admin/misc/rc-inst.sh > /dev/null 2>&1
Это от initscripts. Не нужное.
echo "To start the openlitespeed server, run the command: systemctl restart lsws"
%files
Добавь тут (только тут):
%files
/etc/init.d/lsws
Это будет не нужно, так как будем использовать systemd.
%files
/etc/init.d/lsws
%dir /usr/lsws
Как же этот /usr/lsws глаза режет. Давай вот что сделаем
В самом начале файла определим
И будем использовать %{_lsws_dir} вместо /usr/lsws
И вообще хорошо бы во всём spec это заменить. Ну хотя бы где просто пути, без sed'ов и if'ов.
sed -i -e "s:%ADMIN_PORT%:7080:g" %{buildroot}%{_lsws_dir}/admin/conf/admin_config.conf
sed -i -e "s:%SSL_HOSTNAME%:webadmin:g" %{buildroot}%{_lsws_dir}/admin/conf/admin_config.conf
install -m 755 -d %{buildroot}/%{_sysconfdir}/systemd/system
cp %{buildroot}%{_lsws_dir}/admin/misc/lshttpd.service %{buildroot}%{_sysconfdir}/systemd/system
А вот это лучше инсталлировать в /usr/lib/systemd/system и макрос у неё %{_unitdir}
%files
/etc/systemd/system/lshttpd.service
Тут будет %{_unitdir}/lshttpd.service
%{_lsws_dir}/modules/mod_lua.so
%changelog
* Wed Sep 18 2024 Eduard Basov <ebasov@msvsphere-os.ru> - 1.8.2
Забыл релиз - должно быть 1.8.2-1 а не 1.8.2.
c0ecdfdf60
into i9 3 months agoReviewers
c0ecdfdf60
.