2013-07-22 20 views
7

Sto sviluppando un'applicazione per console di piccole dimensioni e stavo cercando di creare il pacchetto di Ubuntu usando CPack. La versione di Ubuntu è 13.04 e il mio file CPack principale è sotto. Pacchetto viene creata correttamente, ma durante il tentativo di installarlo utilizzando l'interfaccia grafica (sostanzialmente doppio click sul file deb per Ubuntu) appare seguente avviso:Generatore di CPack DEB: autorizzazioni di control-file-has-bad mdsums 0644! = 0644

Package è di cattiva qualità di controllo-file-ha-bad-permessi mdsums 0644 ! = 0644

Qualcuno sa qual è la ragione di ciò? E ancora più importante, come risolverlo? La versione di CMake è 2.8.10.1 ma ho anche provato ad usare 2.8.11.2 e nulla è cambiato.

che ho visto, che avevano problemi simili qui, ma nulla circa la natura del fix

mio principale del file CPack:

INCLUDE(InstallRequiredSystemLibraries) 
SET(CPACK_GENERATOR DEB) 
SET(CPACK_PACKAGE_NAME "color") 
SET(CPACK_PACKAGE_VERSION "0.8") 
SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") 
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12)") 
SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") 

SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "color - unix console tool for log syntax coloring") 

SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.txt") 
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/Copyright.txt") 
SET(CPACK_PACKAGE_VERSION_MAJOR "1") 
SET(CPACK_PACKAGE_VERSION_MINOR "0") 
SET(CPACK_PACKAGE_VERSION_PATCH "0") 
SET(CPACK_STRIP_FILES "color") 
SET(CPACK_PACKAGE_EXECUTABLES "color") 
INCLUDE(CPack) 

Se qualcuno vuole vedere il pacchetto o fare più ricerca , github repo (il file deb è in primo luogo nel rilascio).

+0

perché utilizzare uno strumento quando è possibile farlo da soli? – Bytemain

+0

@Phpdna Se sai come risolvere il problema modificando il pacchetto deb, anche queste sono informazioni utili. – lisu

risposta

3

Buona giornata, mi sono bloccato con lo stesso problema. Dopo aver cercato su Google e alcuni tentativi falliti, ho creato una soluzione alternativa. Dopo cpack ho iniziato il mio script dove ho risolto i permessi sul file mdsums. Puoi vedere la mia soluzione al prossimo link: https://github.com/paralect/robomongo/blob/master/install/linux/fixup_deb.sh.in

+0

ma come posso far funzionare questo script automaticamente dopo che il pacchetto è stato creato ?? – nithin

3

Questo problema è stato risolto nel ramo di sviluppo di CMake, la prossima versione 3.3.

1

È possibile confermare, CMake 3.3.0-rc2 lo corregge, ma se si dispone dei file di origine su disco rigido formattato NTFS (come me), l'errore sarà comunque presente. Come soluzione alternativa puoi costruire il tuo pacchetto da qualsiasi partizione EXT disponibile, ha funzionato nel mio caso.