Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-34810

Error with codesign on a QtQuick 2 based application

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P1: Critical
    • None
    • 5.1.1, 5.6.1
    • Build System
    • macOS 10.9, 10.10

    Description

      I am trying to Sign my QtQuick application and I am having problems.
      I've noticed that the rules for signing have changed on Maverics (OS X 10.9). We need to sign almost every file in the AppBundle.

      When I try to sign the executable, I'm having the following error:

      codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/main

      MyApp.app/Contents/MacOS/main: replacing existing signature
      MyApp.app/Contents/MacOS/main: bundle format unrecognized, invalid, or unsuitable
      In subcomponent: MyApp.app/Contents/MacOS/QtQuick/Particles.2

      The problematic directories are:
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/
      MyApp.app/Contents/MacOS/QtQuick/Window.2/
      MyApp.app/Contents/MacOS/QtQuick.2/

      When I try to sign one of the problematic directory and all its contents I am getting this:

      For the content there is no problem:

      codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/QtQuick/Particles.2/libparticlesplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/libparticlesplugin.dylib: replacing existing signature
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/libparticlesplugin.dylib: signed Mach-O thin (x86_64) [libparticlesplugin]

      codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/QtQuick/Particles.2/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/plugins.qmltypes: replacing existing signature
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/plugins.qmltypes: signed generic [plugins]

      codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/QtQuick/Particles.2/qmldir
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/qmldir: replacing existing signature
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/qmldir: signed generic [qmldir]

      But when trying to sign the entire directory, I'm getting this error

      codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/QtQuick/Particles.2
      MyApp.app/Contents/MacOS/QtQuick/Particles.2: bundle format unrecognized, invalid, or unsuitable

      I think it may be a problem with the directory name like "Particles.2".

      If I remove the Particles.2, the error disappears and I can sign the entire AppBundle.
      If I rename Particles.2 to Particles2, the error disappears and I can sign the entire AppBundle.
      The problem is that I can't remove or rename these directories, I need them as they are now, without it my QtQuick App stops working

      Here ir my simplified AppBundle directory structure:

      MyApp.app/Contents/Frameworks/...
      MyApp.app/Contents/Info.plist
      MyApp.app/Contents/MacOS/main
      MyApp.app/Contents/MacOS/QtGraphicalEffects/Blend.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/BrightnessContrast.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/Colorize.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/ColorOverlay.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/ConicalGradient.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/Desaturate.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/DirectionalBlur.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/Displace.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/DropShadow.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/FastBlur.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/GammaAdjust.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/GaussianBlur.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/Glow.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/HueSaturation.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/InnerShadow.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/LevelAdjust.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/LinearGradient.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/MaskedBlur.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/OpacityMask.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/private/FastGlow.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/private/FastInnerShadow.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/private/FastMaskedBlur.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/private/GaussianDirectionalBlur.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/private/GaussianGlow.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/private/GaussianInnerShadow.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/private/GaussianMaskedBlur.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/private/SourceProxy.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/qmldir
      MyApp.app/Contents/MacOS/QtGraphicalEffects/RadialBlur.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/RadialGradient.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/RectangularGlow.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/RecursiveBlur.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/ThresholdMask.qml
      MyApp.app/Contents/MacOS/QtGraphicalEffects/ZoomBlur.qml
      MyApp.app/Contents/MacOS/QtMultimedia/libdeclarative_multimedia.dylib
      MyApp.app/Contents/MacOS/QtMultimedia/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtMultimedia/qmldir
      MyApp.app/Contents/MacOS/QtMultimedia/Video.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/ApplicationWindow.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Button.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/CheckBox.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/ComboBox.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/GroupBox.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Label.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/libqtquickcontrolsplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/Controls/Menu.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/MenuBar.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/AbstractCheckable.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/BasicButton.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/Control.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/FocusFrame.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/libqtquickcontrolsprivateplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/ModalPopupBehavior.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/qmldir
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/ScrollBar.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/ScrollViewHelper.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/StackView.js
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/StackViewSlideDelegate.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/style.js
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/Style.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Private/TabBar.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/ProgressBar.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/qmldir
      MyApp.app/Contents/MacOS/QtQuick/Controls/RadioButton.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/ScrollView.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Slider.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/SpinBox.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/SplitView.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/StackView.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/StackViewDelegate.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/StackViewTransition.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/StatusBar.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ButtonStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/CheckBoxStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ComboBoxStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/FocusFrameStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/GroupBoxStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-down.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-down@2x.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-left.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-left@2x.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-right.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-right@2x.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-up.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-up@2x.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/button.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/button_down.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/editbox.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/focusframe.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/groupbox.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/header.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/progress-indeterminate.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/scrollbar-handle-horizontal.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/scrollbar-handle-vertical.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/tab.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/tab_selected.png
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/MenuBarStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/MenuStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ProgressBarStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/RadioButtonStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ScrollViewStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/SliderStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/SpinBoxStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/StatusBarStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/TableViewStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/TabViewStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/TextFieldStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ToolBarStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ToolButtonStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ButtonStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/CheckBoxStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ComboBoxStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/FocusFrameStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/GroupBoxStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/MenuBarStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/MenuStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ProgressBarStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/RadioButtonStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ScrollViewStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/SliderStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/SpinBoxStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/StatusBarStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/TableViewStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/TabViewStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/TextFieldStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ToolBarStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ToolButtonStyle.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/qmldir
      MyApp.app/Contents/MacOS/QtQuick/Controls/Tab.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/TableView.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/TableViewColumn.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/TabView.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/TextArea.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/TextField.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/ToolBar.qml
      MyApp.app/Contents/MacOS/QtQuick/Controls/ToolButton.qml
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/DefaultColorDialog.qml
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/DefaultFileDialog.qml
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/checkers.png
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/copy.png
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/crosshairs.png
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/folder.png
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/slider_handle.png
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/sunken_frame.png
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/up.png
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/window_border.png
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/libdialogplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/Button.qml
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/ColorSlider.qml
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/DefaultWindowDecoration.qml
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/qmldir
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/TextField.qml
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/qmldir
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/WidgetColorDialog.qml
      MyApp.app/Contents/MacOS/QtQuick/Dialogs/WidgetFileDialog.qml
      MyApp.app/Contents/MacOS/QtQuick/Layouts/libqquicklayoutsplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/Layouts/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick/Layouts/qmldir
      MyApp.app/Contents/MacOS/QtQuick/LocalStorage/libqmllocalstorageplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/LocalStorage/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick/LocalStorage/qmldir
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/libparticlesplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick/Particles.2/qmldir
      MyApp.app/Contents/MacOS/QtQuick/PrivateWidgets/libwidgetsplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/PrivateWidgets/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick/PrivateWidgets/qmldir
      MyApp.app/Contents/MacOS/QtQuick/Window.2/libwindowplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/Window.2/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick/Window.2/qmldir
      MyApp.app/Contents/MacOS/QtQuick/XmlListModel/libqmlxmllistmodelplugin.dylib
      MyApp.app/Contents/MacOS/QtQuick/XmlListModel/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick/XmlListModel/qmldir
      MyApp.app/Contents/MacOS/QtQuick.2/libqtquick2plugin.dylib
      MyApp.app/Contents/MacOS/QtQuick.2/plugins.qmltypes
      MyApp.app/Contents/MacOS/QtQuick.2/qmldir
      MyApp.app/Contents/PkgInfo
      MyApp.app/Contents/PlugIns/...
      MyApp.app/Contents/Resources/...

      I reported to Apple in this thread.
      https://devforums.apple.com/message/917157

      I suspect that Qt directories are violating some Apple Signing rule. I don't know about these rules I want Apple comfirms what is going on.

      Is there any possibility to change de the directory names of QtQuick?

      Thanks and Regards,
      Fernando Pelliccioni

      Attachments

        For Gerrit Dashboard: QTBUG-34810
        # Subject Branch Project Status CR V

        Activity

          People

            jakepetroules Jake Petroules (DO NOT ASSIGN ISSUES)
            fpelliccioni Fernando Pelliccioni
            Votes:
            4 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes