[CMake] CPack and RPM packages

Eric Noulard eric.noulard at gmail.com
Sun Mar 6 15:34:18 EST 2011


2011/3/6 Laszlo Papp <djszapi at archlinux.us>:
> Hi,
>
> I do not get the infinite loop right now (not sure what caused it
> then), but I get an error while trying.
>
> djszapi at djszapi:/home/meego/gluon/buildroot /home/meego/gluon/build #  cpack
> CPack: Create package using RPM
> CPack: Install projects
> CPack: - Run preinstall target for: Gluon
> CPack: - Install project: Gluon
> CPack: Create package
> CPackRPM: Will use GENERATED spec file:
> /home/meego/gluon/build/_CPack_Packages/Linux/RPM/SPECS/gluon.spec
> CPack Error: Problem copying the package:
> /home/meego/gluon/build/_CPack_Packages/Linux/RPM/Gluon-0.71.0.rpm to
> /home/meego/gluon/build/Gluon-0.71.0.rpm
> CPack Error: Error when generating package: Gluon
> djszapi at djszapi:/home/meego/gluon/buildroot /home/meego/gluon/build #
>
> The file is definitely not there, yes :o
>
> http://www.mail-archive.com/cmake@cmake.org/msg20169.html
>
> I have tried the aforementioned thread so that to add the
> set(CPACK_SET_DESTDIR ON), but it ended up by printing this message:
> CPackRPM:Warning: CPACK_SET_DESTDIR is set (=ON) while requesting a
> relocatable package (CPACK_RPM_PACKAGE_RELOCATABLE is set): this is
> not supported, the package won't be relocatable.

Yes that's normal warning, since 2.8.3 you don't need to set
CPACK_SET_DESTDIR to ON for either RPM or DEB
the generator should handle that just fine without.

RPM is even trying to make the package relocatable
(installable with a configurable prefix) but it cannot do it
with CPACK_SET_DESTDIR to ON.


>
> This is the relevant CPACK section in my CMakeLists.txt:
> #Packaging options
> #common package generation settings
> set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "An open framework to create,
> distribute and play games")
> set(CPACK_PACKAGE_NAME "Gluon")
> set(CPACK_PACKAGE_VERSION
> "${GLUON_VERSION_MAJOR}.${GLUON_VERSION_MINOR}.${GLUON_VERSION_PATCH}")
> set(CPACK_PACKAGE_FILE_NAME "Gluon-${GLUON_VERSION_STRING}")
> set(CPACK_GENERATOR "RPM;TGZ")
> set(CPACK_SET_DESTDIR ON) # this is the line I played off, but seems
> not the culsprit.

Yes don't set it.

> set(CPACK_PACKAGE_CONTACT "Laszlo Papp <djszapi at archlinux.us>, Arjen
> Hiemstra <ahiemstra at heimr.nl>")
>
> #debian package generation
> #set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt4-gui (>= 4.6), libqt4-opengl
> (>= 4.6), libopenal1, libsndfile1, libvorbis0a, libgles2")
> #set(CPACK_DEBIAN_PACKAGE_SECTION "Games")
>
> #rpm package generation
>
> include(InstallRequiredSystemLibraries)
> include(CPack)

Try running cpack with the following command line

cpack --verbose --debug -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM

and send me the output + rpmbuild.out and rpmbuild.err files
(you'll see where to find those in the trace).

-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org


More information about the CMake mailing list