Bug 17453 - Сгенерированный spec не проходит sisyphus_check
Summary: Сгенерированный spec не проходит sisyphus_check
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: cpan2rpm (show other bugs)
Version: unstable
Hardware: all Linux
: P2 minor
Assignee: viy
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-06 16:00 MSD by Denis Klimov
Modified: 2012-09-21 10:46 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Klimov 2008-10-06 16:00:36 MSD
Тот спек, который генерирует cpan2rpm не проходит sisyphus_check:

Wrote: /usr/src/RPM/SRPMS/perl-Parse-AccessLogEntry-0.06-alt1.src.rpm
Wrote: /usr/src/RPM/RPMS/noarch/perl-Parse-AccessLogEntry-0.06-alt1.noarch.rpm
0.74user 0.22system 0:03.70elapsed 25%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+552outputs (0major+140437minor)pagefaults 0swaps
/.out/perl-Parse-AccessLogEntry-0.06-alt1.noarch.rpm: directory /usr/lib/perl5/vendor_perl/x86_64-linux belongs to perl-base
sisyphus_check: check-dirlist ERROR: directory ownership viloation
hsh-rebuild: perl-Parse-AccessLogEntry-0.06-alt1.src.rpm: sisyphus_check failed.

Секция %files выглядит следующим образом:
%files
%perl_vendor_privlib/*
%perl_vendor_man3dir/*

Было бы хорошо, если бы он генерировал более точные имена файлов, в данном примере так:
%files
%perl_vendor_privlib/Parse/AccessLogEntry.pm
%perl_vendor_man3dir/Parse::AccessLogEntry.3pm.gz

Думаю это не сложно будет пофиксить.
Comment 1 Vitaly Lipatov 2008-10-07 01:56:28 MSD
Да, я тоже считаю, что не сложно.
Comment 2 Vitaly Lipatov 2008-10-10 01:14:54 MSD
Исправлено в cpan2rpm-2.027-alt3.src.rpm
Comment 3 Mike Lykov 2012-09-20 13:37:00 MSK
странно, но у меня версия $rpm -q cpan2rpm
cpan2rpm-2.028-alt1

так и не делает предложенного:
$cpan2rpm   ./Mcrypt-2.5.7.0.tar.gz 

в спеке выходит:
%files                                                                          %perl_vendor_archlib/Mcrypt/*                                                   %perl_vendor_autolib/Mcrypt/*  

(файлы не перечисляет, при сборке - ошибка - файл не найден)
в каталоге %perl_vendor_archlib нет каталога Mcrypt, а есть только файл Mcrypt.pm 

вручную исправил на 
%files                                                                          %perl_vendor_archlib/Mcrypt.pm                                                  %perl_vendor_autolib/Mcrypt/*  

собрался. Так что исправление потерялось, может, где-то по пути?
Comment 4 Vitaly Lipatov 2012-09-20 23:34:51 MSK
Есть такой момент. В некоторых случаях приходится исправлять вручную. Это же ещё зависит от того, как файлы/каталоги указаны в файле описания пакета.
Что-то исправлять в этой программе я не готов. Исправить пути при надобности занимает несколько секунд.

Хотя есть более новые сборки, попробуйте с ними:
* Пт. нояб. 18 2011 Igor Vlasenko <viy@altlinux.ru> 2.028-alt3
- bugfix: proper macro expansion in /usr/src/RPM/SOURCES

* Чт. сент. 29 2011 Igor Vlasenko <viy@altlinux.ru> 2.028-alt2
- bugfix: proper prefix in files

* Пн. авг. 29 2011 Igor Vlasenko <viy@altlinux.ru> 2.028-alt1
- updated to 2.028 upstream release
- disabled patch1 (fixed upstream)
Comment 5 viy 2012-09-21 10:46:33 MSK
Вроде бы именно это уже исправлено,
хотя, конечно, спекгенерация там далека от идеала.

Этот конкретный баг лучше закрыть, так как пример устарел,
а открыть новый со свежим примером, когда появится,
чтобы починить по горячим следами.