SYSLINUX 6 x86_64 - syslinux-nonlinux & syslinux64.exe

poma pomidorabelisima at gmail.com
Mon May 12 08:15:50 UTC 2014


On 10.05.2014 18:22, poma wrote:
> On 09.05.2014 15:51, Peter Jones wrote:
>> On Fri, May 09, 2014 at 07:18:37AM +0200, poma wrote:
>>> On 08.05.2014 16:05, Peter Jones wrote:
>>>> On Thu, May 08, 2014 at 08:21:44AM +0200, poma wrote:
>>>>>
>>>>> $ rpmbuild -ba ./SPECS/syslinux.spec
>>>>> ...
>>>>>
>>>>> $ find -name syslinux*.rpm
>>>>> ./SRPMS/syslinux-6.02-4.fc21.src.rpm
>>>>> ./RPMS/x86_64/syslinux-perl-6.02-4.fc21.x86_64.rpm
>>>>> ./RPMS/x86_64/syslinux-6.02-4.fc21.x86_64.rpm
>>>>> ./RPMS/x86_64/syslinux-devel-6.02-4.fc21.x86_64.rpm
>>>>> ./RPMS/x86_64/syslinux-extlinux-6.02-4.fc21.x86_64.rpm
>>>>>
>>>>>
>>>>> # rpm -ivh $(ls ./RPMS/x86_64/syslinux*.rpm)
>>>>> error: Failed dependencies:
>>>>> 	syslinux-nonlinux = 6.02-4.fc21 is needed by syslinux-6.02-4.fc21.x86_64
>>>>> 	syslinux-extlinux-nonlinux = 6.02-4.fc21 is needed by syslinux-extlinux-6.02-4.fc21.x86_64
>>>>>
>>>>>
>>>>> Peter, why these three noarches are not built on x86_64?
>>>>> - syslinux-extlinux-nonlinux-6.02-4.fc21.noarch.rpm
>>>>> - syslinux-nonlinux-6.02-4.fc21.noarch.rpm
>>>>> - syslinux-tftpboot-6.02-4.fc21.noarch.rpm
>>>>
>>>> Because that'll result in a different 32-bit build on i686 vs x86_64.
>>>> Get them from the i686 build.
>>>>
>>>
>>> OK, can you explain this[5]?
>>
>> I can't - can you reproduce this with mock build instead of just raw
>> rpmbuild with the target set?  When I use mock or koji to build them, I
>> get syslinux64.exe in one and syslinux.exe in the -nonlinux one.
>>
>> That's still a (minor) packaging bug, but it shouldn't be a
>> conflict.
>>
> 
> ~~~~~~~~~~~~~~~~~~~~~~~
>  x86_64 - mock rebuild 
> ~~~~~~~~~~~~~~~~~~~~~~~
> $ mock -r fedora-rawhide-$(uname -i) syslinux-6.02-4.fc21.src.rpm
> $ mock -r fedora-rawhide-i386 syslinux-6.02-4.fc21.src.rpm
> 
> ~~~~~~~~~~
>  syslinux 
> ~~~~~~~~~~
> # rpm -qlp builddir/build/RPMS/syslinux-6.02-4.fc21.x86_64.rpm | grep exe
> /usr/share/syslinux/syslinux64.exe
> 
> $ repoquery -l syslinux-6.02-4.fc21.x86_64 | grep exe
> /usr/share/syslinux/syslinux64.exe
> 
> # rpm -qlp builddir/build/RPMS/syslinux-6.02-4.fc21.i686.rpm | grep exe
> /usr/share/syslinux/syslinux.exe
> 
> $ repoquery --archlist=i686 -l syslinux-6.02-4.fc21.i686 | grep exe
> /usr/share/syslinux/syslinux.exe
> 
> $ rpm -qf /usr/share/syslinux/syslinux64.exe 
> syslinux-6.02-4.fc21.x86_64
> 
> ~~~~~~~~~~~~~~~~~~~
>  syslinux-nonlinux 
> ~~~~~~~~~~~~~~~~~~~
> # rpm -qlp builddir/build/RPMS/syslinux-nonlinux-6.02-4.fc21.noarch.rpm | grep exe
> /usr/share/syslinux/syslinux.exe
> 
> $ repoquery -l syslinux-nonlinux-6.02-4.fc21.noarch | grep exe
> /usr/share/syslinux/syslinux.exe
> 
> $ rpm -qf /usr/share/syslinux/syslinux.exe
> syslinux-nonlinux-6.02-4.fc21.noarch
> 
> ~~~~~~~~~~~~~~~~~~~
>  x86_64 - rpmbuild 
> ~~~~~~~~~~~~~~~~~~~
> $ rpmbuild -ba rpmbuild/SPECS/syslinux.spec
> 
> $ rpm -qlp rpmbuild/RPMS/x86_64/syslinux-6.02-4.fc21.x86_64.rpm | grep exe
> /usr/share/syslinux/syslinux64.exe
> 
> $ rpm -qlp rpmbuild/RPMS/noarch/syslinux-nonlinux-6.02-4.fc21.noarch.rpm | grep exe
> /usr/share/syslinux/syslinux.exe
> /usr/share/syslinux/syslinux64.exe
> 
> ~~~~~~~~~~~~~~~~~
>  ix86 - rpmbuild 
> ~~~~~~~~~~~~~~~~~
> $ rpmbuild -ba rpmbuild/SPECS/syslinux.spec
> 
> $ rpm -qlp rpmbuild/RPMS/i686/syslinux-6.02-4.fc21.i686.rpm | grep exe
> /usr/share/syslinux/syslinux.exe
> 
> $ rpm -qlp rpmbuild/RPMS/noarch/syslinux-nonlinux-6.02-4.fc21.noarch.rpm | grep exe
> /usr/share/syslinux/syslinux.exe
> /usr/share/syslinux/syslinux64.exe
> 
> $ rpm -qf /usr/share/syslinux/syslinux.exe
> syslinux-nonlinux-6.02-4.fc21.noarch
> syslinux-6.02-4.fc21.i686
> 
> How these two packages manage to install without problem, since both contain a file of the same name?
> 
> Whence the difference in the file handling between mock rebuild and vulgairs rpmbuild, in the first place?
> 

Guys can you comment on this difference?

The spec file in question is:
http://pkgs.fedoraproject.org/cgit/syslinux.git/plain/syslinux.spec

Richard, you mentioned in this thread[1]:
"Mock is really just a python wrapper that allows you to build packages for
different versions of Fedora in a clean chroot with just the build
requirements specified in the spec file installed (and some standard ones)."

What "and some standard ones" stands for?

Rich, you mentioned in the same thread[2]:
"You don't really need to use mock either.  Just use 'rpmbuild -ba'
directly or 'fedpkg local' which is a wrapper."

Why this is not the case in this instance?

Clark, as maintainer of the Mock, and Lubomir, as maintainer of the shortrpm i.e. rpmbuild, 
you are also welcome to comment.
Adam and Kevin, too. :)


poma


"Differences between Fakeroot and Mock & Suggested method"
[1] https://lists.fedoraproject.org/pipermail/devel/2013-October/190033.html
[2] https://lists.fedoraproject.org/pipermail/devel/2013-October/190051.html



More information about the test mailing list