Hi, Alle lunedì 7 dicembre 2009, Cyril Brulebois ha scritto: > I believe I found the issue: config.h's line 6 is about prefix. As can > > be seen in a cowbuilder build log: > | -- Found automoc4: /usr/bin/automoc4 > | ** PREFIX=/usr > | -- Configuring done > | -- Generating done > > while in a buildd build log: > | -- Found automoc4: /usr/bin/automoc4 > | ** PREFIX=trying to create local folder /home/buildd: Permission denied > | /usr > | -- Configuring done > | -- Generating done > > So I guess it might be the reason why we're then getting .h files that > are fucked up, leading to a broken build afterwards. > > Trying to reproduce it on a porter box where the package otherwise > > builds fine, I can indeed trigger this FTBFS: > | $ HOME=/foobar debuild -eHOME -B
Excellent finding, I have prepared a patch that should make it build even with read-only home. Patch (with a bit longer explanation) is attached. Looks working correctly here, feel free to give it a test. -- Pino Toscano
From: Pino Toscano <p...@kde.org> Description: Disable braindead KDE3/4 prefix detection The current detection of the KDE 3 and KDE 4 prefixes is done running kde-config and kde4-config, resp. This can be problematic, as these two could create files in ~/.kde, thus breaking when the home of the current user (eg in buildds) is read-only. Given the build system sets anyway "/usr" as prefix of KDE 3 and KDE 4 if they were not detected, then just let it to. Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541667 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,11 @@ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${QTCURVE_VERSION_FULL}") include(CPack) +# Comment the kde3/kde4 prefix detection as a whole as it wants to run +# kde-config and kde4-config, which in turn can create stuff in ~/.kde. +# This cannot work on read-only homes. +# So, the "fallback" prefixes ("/usr" for both) will be used. +if (BRAINDEAD_DETECTION) set(OLD_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) # Try to find kde4-config... @@ -48,6 +53,7 @@ ARGS --prefix OUTPUT_VARIABLE KDE4PREFIX) endif (KDE4_KDECONFIG_EXECUTABLE) +endif (BRAINDEAD_DETECTION) if(NOT KDE3PREFIX) if(KDE4PREFIX)
signature.asc
Description: This is a digitally signed message part.