https://habr.com/ru/company/itsumma/blog/443490/#comment_19876102
А у вас была необходимость собирать пакеты «правильно и канонично»? (Под этим я имею ввиду когда пишется debian/rules а потом все собирается при помощи dpkg-buildpackage -us -uc)
Просто, если делать это для внутренних нужд, то шаблон control.in, куда подставляются нужны значения версий, posints/postrm скрипты если нужны, директория с деревом файлом + fakeroot dpkg-deb --build и готовый пакет. Вроде совсем небольно. Можно еще fpm использовать, но если нет необходимости собирать пакеты под другие дистрибутивы, то какого-то особого преимущества он имхо не даст.
А если совсем «для себя», то можно checkinstall использовать.
https://michael.stapelberg.ch/posts/2016-11-25-build-tools/
Ну и сама статья о том, что с пакетами в debian всё довольно печально даже для maintainer
Показаны сообщения с ярлыком build. Показать все сообщения
Показаны сообщения с ярлыком build. Показать все сообщения
среда, 27 марта 2019 г.
вторник, 26 февраля 2019 г.
CentOS: чем собирать пакеты
1) классика, rpmbuild
1.5) собираем srpm и потом дособираем пакеты через mock
2) fpm. Осторожно, ruby! Умеет собирать не только под центос, но руби убивает его на корню.
3) tito
4) rpkg
Чем плох rpmbuild - он не умеет выкачивать сам пакеты (есть spectool, но он качает только готовые файлы), интеграции с гитом не умеет. Умеет в частности tito, или можно взять за пример такое.
1.5) собираем srpm и потом дособираем пакеты через mock
2) fpm. Осторожно, ruby! Умеет собирать не только под центос, но руби убивает его на корню.
3) tito
4) rpkg
Чем плох rpmbuild - он не умеет выкачивать сам пакеты (есть spectool, но он качает только готовые файлы), интеграции с гитом не умеет. Умеет в частности tito, или можно взять за пример такое.
пятница, 8 февраля 2019 г.
Расширенная статистика nginx
Есть такой пакет, nginx-module-vts, даёт много полезной информации. Есть ссылка на офсайте в разделе NGINX 3rd Party Modules.
Но последний коммит был 30 июня 2018 и с тех пор автор не отвечает.
Есть другой модуль, nginx-lua-prometheus. Под debian есть инструкция через установку libnginx-mod-http-lua, но centos тут в пролёте, так что собираем первый.
Но последний коммит был 30 июня 2018 и с тех пор автор не отвечает.
Есть другой модуль, nginx-lua-prometheus. Под debian есть инструкция через установку libnginx-mod-http-lua, но centos тут в пролёте, так что собираем первый.
среда, 7 февраля 2018 г.
CentOS 7: собираем libtgvoip
За основу хорошо заходят 2 пакета:
http://rpmfind.net/linux/RPM/rpmfusion/free/fedora/updates/27/x86_64/l/libtgvoip-1.0.3-1.fc27.x86_64.html
http://rpmfind.net/linux/RPM/rpmfusion/free/fedora/updates/27/x86_64/l/libtgvoip-devel-1.0.3-1.fc27.x86_64.html
Также нужны mock и gyp с поддержкой cmake
mock -r epel-7-x86_64 rebuild libtgvoip-1.0.3-1.fc27.src.rpm
http://rpmfind.net/linux/RPM/rpmfusion/free/fedora/updates/27/x86_64/l/libtgvoip-1.0.3-1.fc27.x86_64.html
http://rpmfind.net/linux/RPM/rpmfusion/free/fedora/updates/27/x86_64/l/libtgvoip-devel-1.0.3-1.fc27.x86_64.html
Также нужны mock и gyp с поддержкой cmake
mock -r epel-7-x86_64 rebuild libtgvoip-1.0.3-1.fc27.src.rpm
(тут будет момент с gyp - нужно будет также встроить свежий gyp, так что вместо epel будет своя репа c gyp, куда в том числе нужно добавить данные репы centos-sclo-rh для devtoolset)
Но всё-равно не соберётся. Вторым шагом будет или выпиливание webrtc блока (оно на c++17), или установка gcc 5. Версия 4.9 его не устроит. Ставим devtoolset-4-gcc
Но всё-равно не соберётся, потому что mock тянет штатную версию 4.8.
А также, будет ошибка
usr/include/c++/5.3.1/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
Только тут момент: ошибка изменится на
error: ‘typeof’ was not declared in this scope
фикс: typeof отсутствует(?) в с++11, надо писать -std=gnu++11
или (возможно?) поможет такая штука
#define typeof(x) __typeof__(x)
Теперь в спеке нужны изменения
pushd out/Release
+ sed -i'' -e "14i add_definitions(-std=gnu++11)" CMakeLists.txt
%cmake .
понедельник, 10 августа 2015 г.
debian 7: сборка nginx в пакет
/etc/apt/sources.list.d/nginx.list:
deb http://nginx.org/packages/mainline/debian/ wheezy nginx
deb-src http://nginx.org/packages/mainline/debian/ wheezy nginx
сборка
cd /usr/src
apt-get source nginx && apt-get install build-dep nignx
cd nginx-(version)
cd debian
nano rules
правим правила configure
nano changelogs
добавить запись о новой версии (или просто поставить пакет на холд, чтобы его не обновило потом)
cd ../../
apt-get source -b nginx или из из папки исходников debuild -uc -us
deb http://nginx.org/packages/mainline/debian/ wheezy nginx
deb-src http://nginx.org/packages/mainline/debian/ wheezy nginx
сборка
cd /usr/src
apt-get source nginx && apt-get install build-dep nignx
cd nginx-(version)
cd debian
nano rules
правим правила configure
nano changelogs
добавить запись о новой версии (или просто поставить пакет на холд, чтобы его не обновило потом)
cd ../../
apt-get source -b nginx или из из папки исходников debuild -uc -us
вторник, 19 августа 2014 г.
CentOS 7: ставим ngrep
Есть неплохой снифер ngrep, иногда удобнее tcpdump-а, но в 7 версии его нет в epel, да и вообще на просторах интернета. Благо, собирается он несложно.
ngrep is grep command that works on realtime network data.
ngrep strives to provide most of GNU grep's common features, applying them to the network layer. ngrep is a pcap-aware tool that will allow you to specify extended regular or hexadecimal expressions to match against data payloads of packets. It currently recognizes TCP, UDP and ICMP across Ethernet, PPP, SLIP, FDDI, Token Ring and null interfaces, and understands bpf filter logic in the same fashion as more common packet sniffing tools, such as tcpdump and snoop.
Наш пример для отладки SIP:
ngrep -d any '000\*000' proto udp -q -W byline
ngrep is grep command that works on realtime network data.
ngrep strives to provide most of GNU grep's common features, applying them to the network layer. ngrep is a pcap-aware tool that will allow you to specify extended regular or hexadecimal expressions to match against data payloads of packets. It currently recognizes TCP, UDP and ICMP across Ethernet, PPP, SLIP, FDDI, Token Ring and null interfaces, and understands bpf filter logic in the same fashion as more common packet sniffing tools, such as tcpdump and snoop.
Наш пример для отладки SIP:
ngrep -d any '000\*000' proto udp -q -W byline
Подписаться на:
Сообщения (Atom)