Makefile.PL → rpm
Для автоматизации опакечивания модуля в rpm,
в Makefile.PL надо добавить (не забывайте про табуляции):
Предполагается, что как vcs используется git, и для опакечивания используем
код из
Созданы две цели:
для создания пакета
Предполагается, что в корне пакета присутствует
в котором версия описывается как
Далее:
That's all, folks!
в Makefile.PL надо добавить (не забывайте про табуляции):
sub MY::postamble {
return <<'MAKE_FRAG';
DIST = $(shell rpm --eval "%dist")
RPMS = $(HOME)/rpmbuild/RPMS/noarch/perl-$(DISTVNAME)-2$(DIST).noarch.rpm
SOURCE = $(HOME)/rpmbuild/SOURCES/$(DISTVNAME).tar.gz
rpm: $(RPMS)
$(RPMS): $(SOURCE)
rpmbuild -bb --define="_VERSION $(VERSION)" perl-$(DISTNAME).spec
$(SOURCE):
git archive --format=tar.gz --prefix=$(DISTVNAME)/ -o $@ master
sign: $(RPMS)
rpm --addsign $<
MAKE_FRAG
}
Предполагается, что как vcs используется git, и для опакечивания используем
код из
master
.Созданы две цели:
rpm
и sign
. Первая используется простодля создания пакета
perl-Name
, вторая для подписи пакета.Предполагается, что в корне пакета присутствует
perl-Name.spec
,в котором версия описывается как
Version: %{_VERSION}
Далее:
# perl Makefile.PL
Generating a Unix-style Makefile
Writing Makefile for Name
Writing MYMETA.yml and MYMETA.json
# make rpm
rpmbuild -bb --define="_VERSION 0.03" perl-Name.spec
...
Wrote: /home/ocehb/rpmbuild/RPMS/noarch/perl-Name-0.03-2.fc32.noarch.rpm
...
#
That's all, folks!