Задать вопрос
rudenkovk
@rudenkovk
DevOps, sysadmin

Как добавить новые правила сборки пакетов в Debian?

Все добрый день.

Есть подобный rules файлик сборки nginx (штатный):
#!/usr/bin/make -f

#export DH_VERBOSE=1
CFLAGS ?= $(shell dpkg-buildflags --get CFLAGS)
LDFLAGS ?= $(shell dpkg-buildflags --get LDFLAGS)
WITH_SPDY := $(shell printf "Source: nginx\nBuild-Depends: libssl-dev (>= 1.0.1)\n" | \
	dpkg-checkbuilddeps - >/dev/null 2>&1 && \
	echo "--with-http_spdy_module")

%:
	dh $@

override_dh_auto_configure: configure_debug

override_dh_strip:
	dh_strip -Xdebug

override_dh_auto_build:
	dh_auto_build
	mv objs/nginx objs/nginx.debug
	CFLAGS="" ./configure \
		--prefix=/etc/nginx \
		--sbin-path=/usr/sbin/nginx \
		--conf-path=/etc/nginx/nginx.conf \
		--error-log-path=/var/log/nginx/error.log \
		--http-log-path=/var/log/nginx/access.log \
		--pid-path=/var/run/nginx.pid \
		--lock-path=/var/run/nginx.lock \
		--http-client-body-temp-path=/var/cache/nginx/client_temp \
		--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
		--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
		--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
		--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
		--user=nginx \
		--group=nginx \
		--with-http_ssl_module \
		--with-http_realip_module \
		--with-http_addition_module \
		--with-http_sub_module \
		--with-http_dav_module \
		--with-http_flv_module \
		--with-http_mp4_module \
		--with-http_gunzip_module \
		--with-http_gzip_static_module \
		--with-http_random_index_module \
		--with-http_secure_link_module \
		--with-http_stub_status_module \
		--with-http_auth_request_module \
		--with-mail \
		--with-mail_ssl_module \
		--with-file-aio \
		$(WITH_SPDY) \
		--with-cc-opt="$(CFLAGS)" \
		--with-ld-opt="$(LDFLAGS)" \
		--with-ipv6
	dh_auto_build

configure_debug:
	CFLAGS="" ./configure \
		--prefix=/etc/nginx \
		--sbin-path=/usr/sbin/nginx \
		--conf-path=/etc/nginx/nginx.conf \
		--error-log-path=/var/log/nginx/error.log \
		--http-log-path=/var/log/nginx/access.log \
		--pid-path=/var/run/nginx.pid \
		--lock-path=/var/run/nginx.lock \
		--http-client-body-temp-path=/var/cache/nginx/client_temp \
		--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
		--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
		--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
		--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
		--user=nginx \
		--group=nginx \
		--with-http_ssl_module \
		--with-http_realip_module \
		--with-http_addition_module \
		--with-http_sub_module \
		--with-http_dav_module \
		--with-http_flv_module \
		--with-http_mp4_module \
		--with-http_gunzip_module \
		--with-http_gzip_static_module \
		--with-http_random_index_module \
		--with-http_secure_link_module \
		--with-http_stub_status_module \
		--with-http_auth_request_module \
		--with-mail \
		--with-mail_ssl_module \
		--with-file-aio \
		$(WITH_SPDY) \
		--with-cc-opt="$(CFLAGS)" \
		--with-ld-opt="$(LDFLAGS)" \
		--with-ipv6 \
		--with-debug

override_dh_auto_install:
	dh_auto_install
	/usr/bin/install -m 644 debian/nginx.conf debian/nginx/etc/nginx/
	/usr/bin/install -m 644 conf/win-utf debian/nginx/etc/nginx/
	/usr/bin/install -m 644 conf/koi-utf debian/nginx/etc/nginx/
	/usr/bin/install -m 644 conf/koi-win debian/nginx/etc/nginx/
	/usr/bin/install -m 644 conf/mime.types debian/nginx/etc/nginx/
	/usr/bin/install -m 644 conf/scgi_params debian/nginx/etc/nginx/
	/usr/bin/install -m 644 conf/fastcgi_params debian/nginx/etc/nginx/
	/usr/bin/install -m 644 conf/uwsgi_params debian/nginx/etc/nginx/
	/usr/bin/install -m 644 html/index.html debian/nginx/usr/share/nginx/html/
	/usr/bin/install -m 644 html/50x.html debian/nginx/usr/share/nginx/html/
	/usr/bin/install -m 644 debian/nginx.vh.default.conf debian/nginx/etc/nginx/conf.d/default.conf
	/usr/bin/install -m 644 debian/nginx.vh.example_ssl.conf debian/nginx/etc/nginx/conf.d/example_ssl.conf
	/usr/bin/install -m 755 objs/nginx  debian/nginx/usr/sbin/


Я у себя использую дополнительно несколько сборок nginx отличающимися модулями (то есть секциями configure и install). Сейчас я их собираю в отдельных метаданных. Есть желание объединить все в один rules файлик. Помогите сотворить это пожалуйста, к сожалению нет большого опыта написания make и rules файлов.
  • Вопрос задан
  • 2527 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы