how to create a debian package for script and for project that use Cmake
December 27, 2009 Leave a comment
A) If you want create a debian and upload it on launchpad for scripts
B) If you want create a debian package using cpack for script and simple project :
C)If you want Create a debian package with Cmake and Cpack of other’s project
i was be able to create a nice debian package with few works.
if you have a project that use cmake you can create a package deb but even other kind of package like rpm using cpack.
Open cmake file and add to the end this
SET(MAJOR_VERSION 1) SET(MINOR_VERSION 0) SET(PATCH_VERSION 0) IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") INCLUDE(InstallRequiredSystemLibraries) SET(CPACK_SET_DESTDIR "on") SET(CPACK_PACKAGING_INSTALL_PREFIX "/tmp") SET(CPACK_GENERATOR "DEB") SET(CPACK_PACKAGE_DESCRIPTION "short description") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "long description bla bla bla... bah") SET(CPACK_PACKAGE_VENDOR "Vendor") SET(CPACK_PACKAGE_CONTACT "developer ") SET(CPACK_PACKAGE_VERSION_MAJOR "${MAJOR_VERSION}") SET(CPACK_PACKAGE_VERSION_MINOR "${MINOR_VERSION}") SET(CPACK_PACKAGE_VERSION_PATCH "${PATCH_VERSION}") SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${MAJOR_VERSION}.${MINOR_VERSION}.${CPACK_PACKAGE_VERSION_PATCH}") SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${MAJOR_VERSION}.${MINOR_VERSION}.${CPACK_PACKAGE_VERSION_PATCH}") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "kdebase-runtime (>= 4:4.2.1), kdelibs5 (>= 4:4.2.1), libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1), libplasma3, libqt4-dbus (>= 4.5.0), libqtcore4 (>= 4.5.0), libqtgui4 (>= 4.5.0), libstdc++6 (>= 4.2.1)") SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") SET(CPACK_DEBIAN_PACKAGE_SECTION "kde") SET(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR}) SET(CPACK_COMPONENTS_ALL Libraries ApplicationData) INCLUDE(CPack) ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
now you have only to use :
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
cpack ..
dpkg -i pacchetto_.deb
cpack will create for you the debian package. 🙂
thank you a some article from some article on ubuntu forums and thank to this italian website