[opensuse-packaging] Help: Build fails on Leap Builds
Hi, can anybody help me to understand what is going wrong in https://build.opensuse.org/package/show/home:ocfreitag:branches:KDE:Extra/ow... ? The Leap builds are failing because of a post build check complaining about duplicates: [ 174s] found conflict of owncloud-client-2.4.0-27.1.x86_64 with owncloud-client-doc-2.4.0-27.1.x86_64: [ 174s] - /usr/share/doc/packages/owncloud-client/html/advancedusage.html It complains about all files in the doc subfolder called 'html' which should be in the -doc subpackage, and only there. The main package owncloud-client should only contain a few doc files like README and such. In the Tumbleweed builds, this all works like expected, and the packages contain the right doc files. What is going on with the Leap builds? Thx, Klaas -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thu, Dec 28, 2017 at 03:54:58PM +0100, Klaas Freitag wrote:
Hi,
can anybody help me to understand what is going wrong in https://build.opensuse.org/package/show/home:ocfreitag:branches:KDE:Extra/ow... ?
The Leap builds are failing because of a post build check complaining about duplicates: [ 174s] found conflict of owncloud-client-2.4.0-27.1.x86_64 with owncloud-client-doc-2.4.0-27.1.x86_64: [ 174s] - /usr/share/doc/packages/owncloud-client/html/advancedusage.html
It complains about all files in the doc subfolder called 'html' which should be in the -doc subpackage, and only there. The main package owncloud-client should only contain a few doc files like README and such.
In the Tumbleweed builds, this all works like expected, and the packages contain the right doc files.
What is going on with the Leap builds?
The problem is that "make install" is copying the HTML into this directory, but you use %doc macro in the main %files section. So this /usr/share/doc/packages/owncloud-client/html gets packages via the %doc macro in %files and also via %doc %{_docdir}/%{name}/html in the "doc" subpackage. %doc is a bit of a weird macro and occasionaly too powerful, either avoid or do all documentation with it. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 12/28/2017 3:54 PM, Klaas Freitag wrote:
Hi,
can anybody help me to understand what is going wrong in https://build.opensuse.org/package/show/home:ocfreitag:branches:KDE:Extra/ow... ?
The Leap builds are failing because of a post build check complaining about duplicates: [ 174s] found conflict of owncloud-client-2.4.0-27.1.x86_64 with owncloud-client-doc-2.4.0-27.1.x86_64: [ 174s] - /usr/share/doc/packages/owncloud-client/html/advancedusage.html
It complains about all files in the doc subfolder called 'html' which should be in the -doc subpackage, and only there. The main package owncloud-client should only contain a few doc files like README and such.
In the Tumbleweed builds, this all works like expected, and the packages contain the right doc files.
What is going on with the Leap builds?
Thx,
Klaas
Not related to issues you are facing, but please use %cmake and %cmake_install macros ... Cheers Martin -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Am 28.12.2017 um 17:39 schrieb Martin Pluskal:
On 12/28/2017 3:54 PM, Klaas Freitag wrote:
Hi Martin,
Not related to issues you are facing, but please use %cmake and %cmake_install macros ...
I'd appreciate a short sentence of explanation why you feel that this specifically is important here, but I followed your advise nevertheless. Thanks for pointing out :) Klaas -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 02/01/18 21:30, Klaas Freitag wrote:
Am 28.12.2017 um 17:39 schrieb Martin Pluskal:
On 12/28/2017 3:54 PM, Klaas Freitag wrote:
Hi Martin,
Not related to issues you are facing, but please use %cmake and %cmake_install macros ...
I'd appreciate a short sentence of explanation why you feel that this specifically is important here, but I followed your advise nevertheless.
Thanks for pointing out :)
Klaas
The main reason is if there is a change to distro policy regarding build flags or install locations your package will be automatically modified rather then someone needing to come through and change it manually. Some of the flags automatically set help for security reasons others might make your life a bit easier. simon@tek-top ~ ➤ rpm --eval "%cmake" find . -name CMakeLists.txt \ -exec sed -i -re '/^[[:blank:]]*[sS][eE][tT][[:blank:]]*\([[:blank:]]*(CMAKE_BUILD_TYPE|CMAKE_COLOR_MAKEFILE|CMAKE_INSTALL_PREFIX|CMAKE_VERBOSE_MAKEFILE).*\)/{s/^/#IGNORE /}' {} + mkdir -p build cd build /usr/bin/cmake $OLDPWD/. \ %if "/usr/bin/make" == "/usr/bin/make" -G"Unix Makefiles" \ %else -GNinja \ %endif -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DINCLUDE_INSTALL_DIR:PATH=/usr/include \ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \ -DSYSCONF_INSTALL_DIR:PATH=/etc \ -DSHARE_INSTALL_PREFIX:PATH=/usr/share \ -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib64 \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_C_FLAGS="${CFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables} -DNDEBUG" \ -DCMAKE_CXX_FLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables} -DNDEBUG" \ -DCMAKE_Fortran_FLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables} -DNDEBUG" \ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ %if "lib64" == "lib64" -DLIB_SUFFIX=64 \ %endif -DCMAKE_SKIP_RPATH:BOOL=ON \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DBUILD_STATIC_LIBS:BOOL=OFF \ -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \ -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \ -DCMAKE_MODULES_INSTALL_DIR=/usr/share/cmake/Modules -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
Am 28.12.2017 um 17:39 schrieb Martin Pluskal:
On 12/28/2017 3:54 PM, Klaas Freitag wrote:
Hi Martin,
Not related to issues you are facing, but please use %cmake and %cmake_install macros ...
I'd appreciate a short sentence of explanation why you feel that this specifically is important here, Sure, macros make our life easier :) %cmake takes care of setting
On Tue, 2018-01-02 at 12:00 +0100, Klaas Freitag wrote: proper paths/variables in similar fashion as %configure macro, with some extra benefit of also enforcing stricter linker flags.
but I followed your advise nevertheless.
Thanks for pointing out :)
Klaas
participants (5)
-
Klaas Freitag
-
Marcus Meissner
-
Martin Pluskal
-
martin@pluskal.org
-
Simon Lees