Changeset b09e2f4f in tol for installer


Ignore:
Timestamp:
Mar 28, 2017, 11:52:19 AM (10 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
fe5b9e1
Parents:
bb5f9a8
Message:

fixes #1950 corregimos las reglas para cpack, detectamos sistemas basandonos en uname y lsb_release

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@7446 be4846ae-f051-483a-831f-b64e7d08527f

Location:
installer/linux
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • installer/linux/CMakeLists.txt

    rbb5f9a8 rb09e2f4f  
    2020
    2121set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" ${CMAKE_MODULE_PATH})
     22#include(cpack_generator)
    2223include(cpack_generator)
    23 
    24 message(STATUS "LINUX_NAME = ${LINUX_NAME}")
    2524
    2625if(CPACK_GENERATOR)
    … …  
    4241
    4342# Variable PACKAGE_ARCHITECTURE
    44 if(CPACK_GENERATOR STREQUAL "RPM")
    45   execute_process(COMMAND uname "-m"
    46     OUTPUT_VARIABLE PACKAGE_ARCHITECTURE
    47     OUTPUT_STRIP_TRAILING_WHITESPACE )
    48 elseif(CPACK_GENERATOR STREQUAL "DEB")
    49   message(STATUS "CPACK_DEBIAN_PACKAGE_ARCHITECTURE = ${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
    50   find_program(DPKG_CMD dpkg)
    51   if(NOT DPKG_CMD)
    52     message(STATUS "Can not find dpkg in your path, default to i386.")
    53     set(PACKAGE_ARCHITECTURE i386)
    54   endif(NOT DPKG_CMD)
    55   execute_process(COMMAND "${DPKG_CMD}" --print-architecture
    56     OUTPUT_VARIABLE PACKAGE_ARCHITECTURE
    57     OUTPUT_STRIP_TRAILING_WHITESPACE)
    58 else(CPACK_GENERATOR STREQUAL "RPM")
    59   set(PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
    60 endif(CPACK_GENERATOR STREQUAL "RPM")
     43# if(CPACK_GENERATOR STREQUAL "RPM")
     44#   execute_process(COMMAND uname "-m"
     45#     OUTPUT_VARIABLE PACKAGE_ARCHITECTURE
     46#     OUTPUT_STRIP_TRAILING_WHITESPACE )
     47# elseif(CPACK_GENERATOR STREQUAL "DEB")
     48#   message(STATUS "CPACK_DEBIAN_PACKAGE_ARCHITECTURE = ${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
     49#   find_program(DPKG_CMD dpkg)
     50#   if(NOT DPKG_CMD)
     51#     message(STATUS "Can not find dpkg in your path, default to i386.")
     52#     set(PACKAGE_ARCHITECTURE i386)
     53#   endif(NOT DPKG_CMD)
     54#   execute_process(COMMAND "${DPKG_CMD}" --print-architecture
     55#     OUTPUT_VARIABLE PACKAGE_ARCHITECTURE
     56#     OUTPUT_STRIP_TRAILING_WHITESPACE)
     57# else(CPACK_GENERATOR STREQUAL "RPM")
     58#   set(PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
     59# endif(CPACK_GENERATOR STREQUAL "RPM")
     60set(PACKAGE_ARCHITECTURE ${SPECIFIC_SYSTEM_ARCHITECTURE})
    6161message(STATUS "PACKAGE_ARCHITECTURE=${PACKAGE_ARCHITECTURE}")
    6262
    6363# Variable CPACK_SYSTEM_NAME
    64 string( TOLOWER "${LINUX_NAME}.${PACKAGE_ARCHITECTURE}" _CPACK_SYSTEM_NAME )
    65 set( CPACK_SYSTEM_NAME ${_CPACK_SYSTEM_NAME} CACHE STRING "" )
     64string(TOLOWER "${SPECIFIC_SYSTEM_NAME}.${PACKAGE_ARCHITECTURE}" _CPACK_SYSTEM_NAME)
     65set(CPACK_SYSTEM_NAME ${_CPACK_SYSTEM_NAME} CACHE STRING "")
    6666message(STATUS "CPACK_SYSTEM_NAME=${CPACK_SYSTEM_NAME}")
    6767
    … …  
    7070#   ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}
    7171# See: cpack --help-variable CPACK_PACKAGE_FILE_NAME
    72 message(STATUS "CPACK_PACKAGE_FILE_NAME=${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}")
     72#message(STATUS "CPACK_PACKAGE_FILE_NAME=${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}")
    7373
    7474#=== Components ==============================================================
  • installer/linux/cpack_generator.cmake

    rbb5f9a8 rb09e2f4f  
     1message(STATUS HELLO)
    12if( CMAKE_SYSTEM_NAME MATCHES "Linux" )
    2   set( SPECIFIC_SYSTEM_VERSION_NAME "${CMAKE_SYSTEM_NAME}" )
    3   set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "TGZ" )
    4   if( EXISTS "/etc/issue" )
    5     set( LINUX_NAME "" )
    6     file( READ "/etc/issue" LINUX_ISSUE )
    7     message( STATUS "LINUX_ISSUE = ${LINUX_ISSUE}" )
    8     # CentOS case
    9     if( LINUX_ISSUE MATCHES "CentOS" )
    10       string( REGEX MATCH "release ([0-9]+)" CENTOS "${LINUX_ISSUE}" )
    11       set( LINUX_NAME "CentOS_${CMAKE_MATCH_1}" ) 
    12       set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM" )     
    13     endif( LINUX_ISSUE MATCHES "CentOS" )
    14     # Fedora case
    15     if( LINUX_ISSUE MATCHES "Fedora" )
    16       string( REGEX MATCH "release ([0-9]+)" FEDORA "${LINUX_ISSUE}" )
    17       set( LINUX_NAME "FC${CMAKE_MATCH_1}" ) 
    18       set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM" )     
    19     endif( LINUX_ISSUE MATCHES "Fedora" )
    20     # Ubuntu case
    21     if( LINUX_ISSUE MATCHES "Ubuntu" )
    22       string( REGEX MATCH "buntu ([0-9]+\\.[0-9]+)" UBUNTU "${LINUX_ISSUE}" )
    23       set( LINUX_NAME "Ubuntu_${CMAKE_MATCH_1}" )       
    24       set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "DEB" )
    25     endif( LINUX_ISSUE MATCHES "Ubuntu" )
    26     # Debian case
    27     if( LINUX_ISSUE MATCHES "Debian" )
    28       string( REGEX MATCH "Debian .*ux ([a-zA-Z]*/?[a-zA-Z]*) .*" DEBIAN "${LINUX_ISSUE}" )
    29       set( LINUX_NAME "Debian_${CMAKE_MATCH_1}" )
    30       string( REPLACE "/" "_" LINUX_NAME ${LINUX_NAME} )
    31       set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "DEB" )       
    32     endif( LINUX_ISSUE MATCHES "Debian" )     
    33     # Open SuSE case
    34     if( LINUX_ISSUE MATCHES "SUSE" )
    35       string( REGEX MATCH "SUSE  ([0-9]+\\.[0-9]+)" SUSE "${LINUX_ISSUE}" )
    36       set( LINUX_NAME "openSUSE_${CMAKE_MATCH_1}" )
    37       string( REPLACE "/" "_" LINUX_NAME ${LINUX_NAME} )   
    38       set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM" )     
    39     endif( LINUX_ISSUE MATCHES "SUSE" )
    40     # Mandriva case
    41     # TODO     
    42     if( LINUX_NAME )
    43       set( SPECIFIC_SYSTEM_VERSION_NAME "${CMAKE_SYSTEM_NAME}-${LINUX_NAME}" )
    44     endif( LINUX_NAME )   
    45   endif( EXISTS "/etc/issue" )     
     3  execute_process(COMMAND uname "-m"
     4    OUTPUT_VARIABLE SPECIFIC_SYSTEM_ARCHITECTURE
     5    OUTPUT_STRIP_TRAILING_WHITESPACE )
     6  execute_process(COMMAND lsb_release "-i"
     7    OUTPUT_VARIABLE LSB_RELEASE_ID
     8    OUTPUT_STRIP_TRAILING_WHITESPACE )
     9  string(REGEX MATCH "Distributor ID:(.+)" LSB_Distributor_ID "${LSB_RELEASE_ID}")
     10  string(STRIP ${CMAKE_MATCH_1} SPECIFIC_SYSTEM_NAME)
     11  execute_process(COMMAND lsb_release "-r"
     12    OUTPUT_VARIABLE LSB_RELEASE_R
     13    OUTPUT_STRIP_TRAILING_WHITESPACE )
     14  string(REGEX MATCH "Release:(.+)" LSB_Release "${LSB_RELEASE_R}")
     15  string(STRIP ${CMAKE_MATCH_1} SPECIFIC_SYSTEM_RELEASE)
     16  if(SPECIFIC_SYSTEM_NAME MATCHES "CentOS")
     17    set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM")
     18  elseif(SPECIFIC_SYSTEM_NAME MATCHES "Fedora")
     19    set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM")
     20  elseif(SPECIFIC_SYSTEM_NAME MATCHES "SUSE")
     21    set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM")
     22  elseif(SPECIFIC_SYSTEM_NAME MATCHES "Ubuntu")
     23    set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "DEB")
     24  else(SPECIFIC_SYSTEM_NAME MATCHES "CentOS")
     25    set( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "TGZ" )
     26  endif(SPECIFIC_SYSTEM_NAME MATCHES "CentOS")
     27 
     28  message("SPECIFIC_SYSTEM_ARCHITECTURE=${SPECIFIC_SYSTEM_ARCHITECTURE}")
     29  message("SPECIFIC_SYSTEM_NAME=${SPECIFIC_SYSTEM_NAME}")
     30  message("SPECIFIC_SYSTEM_RELEASE=${SPECIFIC_SYSTEM_RELEASE}")
    4631endif( CMAKE_SYSTEM_NAME MATCHES "Linux" )
    4732
    48 set( SPECIFIC_SYSTEM_VERSION_NAME "${SPECIFIC_SYSTEM_VERSION_NAME}-${CMAKE_SYSTEM_PROCESSOR}" )
    49 
    50 message( STATUS "SPECIFIC_SYSTEM_VERSION_NAME = ${SPECIFIC_SYSTEM_VERSION_NAME}" )
Note: See TracChangeset for help on using the changeset viewer.