SYSLINUX 6 x86_64 - syslinux-nonlinux & syslinux64.exe

poma pomidorabelisima at gmail.com
Mon May 12 15:05:14 UTC 2014


On 12.05.2014 10:30, Richard W.M. Jones wrote:
> On Mon, May 12, 2014 at 10:15:50AM +0200, poma wrote:
>> 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?
> 
> RPM allows you to install two files with identical content coming from
> two different packages.  Either that or multilib, but I don't think
> it's multilib in this case.
> 
>>> 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?
> 
> I'm not exactly sure what the question is, but 'mock' and 'fedpkg
> local' can have fairly different build environments.

The syslinux*.exe tend to jump in where there shouldn't.

> 
> 'fedpkg local' (or rpmbuild) builds with whatever you have installed
> on your host, whereas 'mock' builds in a cleanly installed chroot with
> just the base packages + BuildRequires.
> 
> Extra installed packages can affect builds, eg if using ./configure
> scripts, but in many other ways too.
> 
>> 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. :)
> [...]
>> "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
> 
> Rich.
> 

The point is that after so many built packages I can not remember anything similar.

Thank you for your response, Rich!


poma




More information about the test mailing list