From: Igor Vlasenko <vlasenko@imath.kiev.ua>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Cc: Vladimir Lettiev <thecrux@gmail.com>
Subject: Re: [devel] СБорка perl
Date: Tue, 2 Nov 2010 22:49:18 +0200
Message-ID: <20101102204916.GA29154@dad.imath.kiev.ua> (raw)
In-Reply-To: <20101102123341.GA8439@truecrux.org>
On Tue, Nov 02, 2010 at 03:33:41PM +0300, Vladimir Lettiev wrote:
> Думаю по этому списку можно начинать готовить работа (viy@ ?)
Ready!
Нужные утилиты собраны в пакет girar-nmu.
Я планирую допилить этот пакет и рассказать на wiki как им
пользоваться, на примере задачи обновить perl.
Хотя пакет еще не готов (сорри!), забегу наперед и расскажу,
как им уже сейчас можно пользоваться, поскольку у вас уже есть
список пакетов и сортировка транзакции.
в girar-nmu есть утилита girar-nmu-prepare. Вызов выглядит как
$ girar-nmu-prepare \
--changelog '- rebuild with new perl' \
--hook ./perl_51x_upgrade.pl \
`cat src.rpm.list`
где в файле src.rpm.list указаны пути к src.rpm пакетов,
__в том числе и собирающихся из git__, которые необходимо добавить
в task, a ./perl_51x_upgrade.pl -- это нижеприведенный скрипт на перл
для моей библиотечки RPM::Source::Editor, который реализует
указанный вами алгоритм.
Я еще добавил замену %perl_vendor_man1dir на %_man1dir,
так как у меня создалось впечатление, что этот макрос Алексей
собрался убить. Если не так, то
$section->subst(qr'\%perl_vendor_man1dir','%_man1dir');
можно выбросить.
#--------------------------------------------
#!/usr/bin/perl -w
push @SPECHOOKS,
sub {
my ($spec) = @_;
my $man1found=0;
foreach my $section ($spec->get_sections()) {
if ($section->get_type() eq 'file') {
$section->exclude(qr'\%perl_vendor_man3dir');
$man1found||=$section->match(qr'\%perl_vendor_man1dir');
# is %perl_vendor_man1dir going to be killed too?
$section->subst(qr'\%perl_vendor_man1dir','%_man1dir');
}
}
if ($man1found) {
my $installsec=$spec->get_section('install');
unless ($installsec) {
warn "Oops! no \%install section :(";
return;
}
if ($installsec->match(qr'\%perl_vendor_build')) {
$installsec->subst(qr'^\s*\%perl_vendor_build','%perl_vendor_build INSTALLMAN1DIR=%_man1dir');
$spec->get_section('package','')->push_body('
# automatically added during perl 5.8 -> 5.10 upgrade.
# perl-podlators is required for pod2man conversion.
BuildRequires: perl-podlators
');
}
}
};
#---------------------------------------
Нажать, как говорится, enter, и
в результате в папках будут лежать готовые для добавления в task:
в OUT.SRPMS -- src.rpm, их надо будет rpm --sign *, rsync -avp * git.alt:
и добавлять как add srpm <...>.src.rpm
а OUT.gits -- клонированные git репозитарии с готовым nmu.
в girar-nmu есть утилита girar-nmu-task-add-git.
добавить в task сборку из git можно одной командой:
girar-nmu-task-add-git OUT.gits/path/to/git [task number]
К сожалению, вам пока еще останется небольшой, но кусок работы -
заскриптовать добавление задач в task, чтобы оно проходило
в том порядке, как указано у вас в списке.
В будущем все работы - сортировку и заливку в task будет выполнять
утилита, но пока еще не доделано. Объявлю, когда будет готово.
Извиняюсь, что анонсирую недоделанное, решил, что
вам нет смысла ждать готовности --- уверен, заскриптовать
добавление задач в task в правильном порядке для вас не проблема.
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
next prev parent reply other threads:[~2010-11-02 20:49 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-24 22:52 [devel] Обещанный список пакетов для пересборки Денис Смирнов
2010-10-24 23:03 ` Dmitry V. Levin
2010-10-25 1:04 ` Денис Смирнов
2010-10-25 9:34 ` Dmitry V. Levin
2010-10-25 9:41 ` Денис Смирнов
2010-10-25 9:58 ` Dmitry V. Levin
2010-10-25 10:35 ` Terechkov Evgenii
2010-10-25 11:27 ` Денис Смирнов
2010-10-25 6:22 ` Денис Смирнов
2010-10-26 5:32 ` Денис Смирнов
2010-10-27 10:20 ` Vladimir Lettiev
2010-10-27 10:36 ` Dmitry V. Levin
2010-10-27 11:24 ` Vladimir Lettiev
2010-10-28 15:20 ` [devel] СБорка perl Vladimir Lettiev
2010-10-31 13:30 ` Dmitry V. Levin
2010-10-31 14:22 ` Vladimir Lettiev
2010-10-31 14:31 ` Dmitry V. Levin
2010-10-31 16:22 ` Vladimir Lettiev
2010-11-01 14:56 ` Igor Vlasenko
2010-11-01 15:04 ` Dmitry V. Levin
2010-11-01 17:24 ` Vladimir Lettiev
2010-11-01 19:06 ` Dmitry V. Levin
2010-11-02 7:13 ` Sergey Y. Afonin
2010-11-02 8:15 ` Vladimir Lettiev
2010-11-02 11:44 ` Sergey Y. Afonin
2010-11-02 12:33 ` Vladimir Lettiev
2010-11-02 12:42 ` Sergey Y. Afonin
2010-11-02 20:49 ` Igor Vlasenko [this message]
2010-11-03 17:01 ` Igor Vlasenko
2010-11-04 8:58 ` Vladimir Lettiev
2010-11-04 9:02 ` Andrey Rahmatullin
2010-11-04 9:33 ` Vladimir Lettiev
2010-11-04 9:35 ` Andrey Rahmatullin
2010-11-04 9:45 ` Vladimir Lettiev
2010-11-04 9:47 ` Andrey Rahmatullin
2010-11-04 9:50 ` Andrey Rahmatullin
2010-11-04 10:01 ` Mikhail Efremov
2010-11-04 14:08 ` [devel] Сборка perl #30303 Dmitry V. Levin
2010-11-04 14:30 ` Igor Vlasenko
2010-11-09 19:19 ` Vladimir Lettiev
2010-11-09 19:33 ` Anton Farygin
2010-11-09 22:08 ` Alexey I. Froloff
2010-11-10 10:54 ` Vladimir Lettiev
2010-11-12 13:07 ` Igor Vlasenko
2010-11-12 13:23 ` Sergei Epiphanov
2010-11-12 13:32 ` Igor Vlasenko
2010-11-12 13:43 ` Igor Vlasenko
2010-11-12 13:57 ` Sergei Epiphanov
2010-11-14 23:53 ` Dmitry V. Levin
2010-11-05 15:32 ` [devel] СБорка perl Денис Смирнов
2010-11-05 16:46 ` Vladimir Lettiev
2010-11-05 16:58 ` Денис Смирнов
2010-11-01 11:22 ` [devel] Обещанный список пакетов для пересборки REAL
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101102204916.GA29154@dad.imath.kiev.ua \
--to=vlasenko@imath.kiev.ua \
--cc=devel@lists.altlinux.org \
--cc=thecrux@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git