[devel] forced noarch

Kirill A. Shutemov kirill на shutemov.name
Ср Дек 23 20:33:37 UTC 2009


2009/12/23 Alexey Tourbin <at на altlinux.ru>:
> On Wed, Dec 23, 2009 at 04:17:09PM +0200, Kirill A. Shutemov wrote:
>> 2009/12/22 Alexey Tourbin <at на altlinux.ru>:
>> > On Tue, Dec 22, 2009 at 09:18:49PM +0300, Dmitry V. Levin wrote:
>> >> On Tue, Dec 22, 2009 at 11:05:56AM +0300, Alexey Tourbin wrote:
>> >> [...]
>> >> > http://git.altlinux.org/people/at/packages/girar-builder.git
>> >> > 642af655  gb-task-check-noarch-i: force noarch by extensional equality
>> >> [...]
>> >> > 3) Cannot make arch package with identical files and deps.
>> >> > E.g. cannot make arch perl module which should be noarch.
>> >> >
>> >> > [at на people 17774]$ PATH=~/git.alt/girar-builder:$PATH gb-task-check-noarch-i 5
>> >> > error (#5): perl-Net-IP-1.25-alt2.i586.rpm should be noarch
>> >>
>> >> This restriction looks too hard.  How many packages in current
>> >> repository would fail to pass the check?
>> >
>> > Why do you think it's too hard?  Basically, it says "if the list
>> > of files is the same, and ***md5 sums*** are identical, and deps
>> > are identical, the package must be noarch then".
>>
>> I don't think that it's a good idea.
>>
>> There are only two architectures in Sisyphus - i586 and x86_64,
>> which are similar. It's not enough to be sure, that package is
>> really noarch.
>
> Can you specify a package (from the list) which is identical on i586
> and x86_64, but should not be made noarch because it assumes e.g.
> little-endian architecture?

At least all packages which contain GNU message catalog files(*.mo):

$ for p in `cat ~/tmp/force-noarch`; do rpm -qpl $p | grep -q
'^/usr/share/locale/.*\.mo' && echo $p ; done
bison-runtime-2.4.1-alt2.i586.rpm
celestia-common-1.6.0-alt4.i586.rpm
comix-4.0.4-alt1.1.i586.rpm
gftp-common-2.0.18stable-alt5.i586.rpm
gkrellm-ss-common-2.6-alt1.i586.rpm
gnome-utils-common-2.28.1-alt2.i586.rpm
gramps-3.1.2-alt1.1.i586.rpm
gwenview-i18n-1.4.2-alt1.i586.rpm
installer-ltsp-0.1-alt2.5.7.i586.rpm
installer-ltsp-school-0.4-alt5.3.i586.rpm
installer-server-0.2-alt2.i586.rpm
installer-server-lite-0.2-alt1.i586.rpm
libgtk-engines-default-common-2.18.4-alt1.i586.rpm
remount_rw-0.2-alt1.i586.rpm
sugar-pippy-activity-25-alt3.1.i586.rpm
virt-manager-0.8.2-alt2.i586.rpm

Who knows what else.

>> I think we should postpone the idea untill Sisyphus will have at
>> least one non-x86 arch and one big-endian arch.
>
> i586 and x86_64 are "different enough" except for endianness.
> Look how they are different:
> 1) file paths are different (lib - lib64);
> 2) native binaries are different (elf32 - elf64);
> 3) sizeof(void*) == sizeof(long) is different.
>
> How they are common:
> 1) sizeof(int) is the same (32 bit),
> 2) both are little endian.
> Which means that certain host data structures (and thus certain binary
> file formats) might have the same representation.


Подробная информация о списке рассылки Devel