Dear all,
I have been packaging a technology that I think could be quite useful and cool: the NetBSD rump userland kernel and the fs-utils working on top of this technology for accessing and dealing with the BSD file systems.
OBS results:
Rump and fs-utils build nicely on Arch, RHEL, CentOS, Mandriva
Problem 1:
All SUSE-based builds fail during compilation of Rump (and thus also the fs-utils which has Rump as a dependency)
example error log:
https://build.opensuse.org/package/live_build_log?arch=i586&package=rump&project=home%3Astaal1978&repository=openSUSE_12.3
it seems like it does not handle %buildroot in the same way as the RHEL-based rpm distros and Mandriva.
Any tips and tricks to make a single .spec file work for them all?
Problem2:
On Fedora, although Rump gets built, fs-utils complain about “unresolvable” dependency issues. I have no idea why since RHEL and CentOS work…
https://build.opensuse.org/package/show?package=fs-utils&project=home%3Astaal1978
does fedora not include the local repository by default?
I do not see any compilation error in this log. Please show example of error you mean.
On Fedora, although Rump gets built, fs-utils complain about “unresolvable” dependency issues.
And build log is … ?
sorry for the SUSE ones it is not a compilation error. It seems to be an issue with %buildroot (which is not a problem for RHEL etc)
117s] nbmake: nbmake: don't know how to make /usr/src/packages/BUILD/buildrump-20130521/%buildroot/usr/include/rump/rumpuser.h. Stop
118s] nbmake: stopped in /usr/src/packages/BUILD/buildrump-20130521/src/lib/librumpuser
118s] *** [dependall] Error code 2
118s]
118s] nbmake: stopped in /usr/src/packages/BUILD/buildrump-20130521/src/lib/librumpuser
118s] 1 error
For the Fedora issue it is far more mysterious since the rump rpm is generated nicely
build log:
https://build.opensuse.org/package/live_build_log?arch=x86_64&package=rump&project=home%3Astaal1978&repository=Fedora_18
but for compilation of fs-utils, it complains about “unresolvable”
I have also downloaded the fedora rpm and confirmed that it contains the files it should contain.
Going through the complaints in the SUSE logs, I noticed that there are some stuff I need to improve (spec name, license string)
For the Fedora issue, I tried adding this to the .spec
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
as instructed in this wiki
Packaging:Guidelines - FedoraProject
but apparently the “unresolvable” issue is still there when trying to build fs-utils.
I also just noticed this warning at the bottom of the Fedora builds:
277s] ... checking for files with abuild user/group
277s] Warning: mkbaselibs missing in build root, skipping baselibs
277s] ... saving built statistics
277s] ... saving built packages
277s] /home/abuild/rpmbuild/RPMS/x86_64/netbsd-rump-20130521-9.1.x86_64.rpm
277s] /home/abuild/rpmbuild/RPMS/x86_64/netbsd-rump-debuginfo-20130521-9.1.x86_64.rpm
277s] /home/abuild/rpmbuild/SRPMS/netbsd-rump-20130521-9.1.src.rpm
278s] /home/abuild/rpmbuild/OTHER/_statistics
Could this be why it can not detect that the package provides the libraries it contains?
Sorry to interrupt the thread with this:
@staalmannen & @staal1978 : do you have a double account? This is not allowed. If this is the case, please send a message to the forums team to have one of the accounts disabled / removed.
Yes apparently I do. I had an old forum account but then next time apparently my OBS account got used. To avoid confusion, I guess my old account should be disabled since most of my questions in the future will be related to OBS.
Just for future reference if other people have similar issues:
To be able to build on Suse-based distros, I had to:
explicitly declare BuildRoot in the spec file (RHEL-based and Mandriva did not need this)
avoid including system directories in %files
inactivate one lint test with a rpmlintrc file.
So the only remaining mystery is why the Fedora builds of Rump fail to fullfill the dependency when fs-utils is supposed to be built…
staal1978:
Just for future reference if other people have similar issues:
To be able to build on Suse-based distros, I had to:
explicitly declare BuildRoot in the spec file (RHEL-based and Mandriva did not need this)
avoid including system directories in %files
inactivate one lint test with a rpmlintrc file.
So the only remaining mystery is why the Fedora builds of Rump fail to fullfill the dependency when fs-utils is supposed to be built…
For future reference if someone hits the same issue with building for Fedora.
Adding the following line to the .spec file solved it:
%global __requires_exclude_from %{_libdir}/*