<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>120192</bug_id>
          
          <creation_ts>2006-01-15 19:23:43 +0000</creation_ts>
          <short_desc>Notarization of MacOS PKG Installer as Apple Store package - Use Craft Continuous Deployment System.</short_desc>
          <delta_ts>2023-06-02 05:41:21 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>digikam</product>
          <component>Bundle-MacOS</component>
          <version>7.6.0</version>
          <rep_platform>macOS (DMG)</rep_platform>
          <op_sys>macOS</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc>https://www.theimpostersyndrome.dev/posts/macospackaging/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>wishlist</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dennis Gnad">bluedrago</reporter>
          <assigned_to name="Digikam Developers">digikam-bugs-null</assigned_to>
          <cc>caulier.gilles</cc>
    
    <cc>metzpinguin</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>406396</commentid>
    <comment_count>0</comment_count>
    <who name="Dennis Gnad">bluedrago</who>
    <bug_when>2006-01-15 19:23:43 +0000</bug_when>
    <thetext>Version:           0.8.0 (using KDE KDE 3.4.3)

If you would work togethet with the krita devs, it would be beneficial for both parties. It&apos;s quite a bad idea to invent the wheel two times, as the digikam image viewer is growing more and more into an advanced photo editor, with distortion correction and all that photography related stuff, krita could have big use of it.
Of course digikam would also benefit, for example from the advanced color managment options krita offers.

I don&apos;t really know, how easy or hard it is too bring them together, but kde handles such stuff quite good, doesn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406409</commentid>
    <comment_count>1</comment_count>
    <who name="Joern Ahrens">joern.ahrens</who>
    <bug_when>2006-01-15 19:53:21 +0000</bug_when>
    <thetext>You might be right, but this isn&apos;t the proper medium to discuss it. You should better use a mailing list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406411</commentid>
    <comment_count>2</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2006-01-15 19:56:40 +0000</bug_when>
    <thetext>I&apos;m agree with Joern. There are any subjects to discut about digiKam/krita. Please use the digikam-devel@kde.org ML

I&apos;m closing this file. We will waiting you on ML...

Gilles Caulier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100040</commentid>
    <comment_count>3</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-02-01 13:40:42 +0000</bug_when>
    <thetext>The digiKam PKG installer for MacOS must be notarized to Apple Store. Right Access to devices as camera must be turnedon. It&apos;s well explained to the url given on metadata of this bug entry.

Gilles Caulier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100085</commentid>
    <comment_count>4</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-02-01 16:29:48 +0000</bug_when>
    <thetext>One excelent link about notarization process for MacOS :

https://oozou.com/blog/scripting-notarization-for-macos-app-distribution-38</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100090</commentid>
    <comment_count>5</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-02-01 16:43:59 +0000</bug_when>
    <thetext>Krita osxdeploy.sh script has the process to notarize the application:

https://invent.kde.org/graphics/krita/-/blob/master/packaging/macos/osxdeploy.sh#L101

The Krita package installer is signed:

bash-3.2$ pwd
/Applications/krita.app/Contents/_CodeSignature
bash-3.2$ ls -al
total 2312
drwxr-xr-x@  3 gilles  admin       96  6 jan 18:03 .
drwxr-xr-x@ 10 gilles  admin      320  6 jan 18:03 ..
-rw-r--r--@  1 gilles  admin  1181949  6 jan 18:03 CodeResources
bash-3.2$ more CodeResources 
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
&lt;plist version=&quot;1.0&quot;&gt;
&lt;dict&gt;
        &lt;key&gt;files&lt;/key&gt;
        &lt;dict&gt;
                &lt;key&gt;Resources/applications/krita_brush.desktop&lt;/key&gt;
                &lt;data&gt;
                793KrrUooGp7IDPQJGo4ci/7g10=
                &lt;/data&gt;
                &lt;key&gt;Resources/applications/krita_csv.desktop&lt;/key&gt;
                &lt;data&gt;
                DkAUeRH3HS6gsXRS/SRWVloYS/I=
                &lt;/data&gt;
                &lt;key&gt;Resources/applications/krita_exr.desktop&lt;/key&gt;
                &lt;data&gt;
                ryIivlt6RYRJLmzM4CL57uZ5AC4=
                &lt;/data&gt;
                &lt;key&gt;Resources/applications/krita_gif.desktop&lt;/key&gt;
                &lt;data&gt;
                QWJ6o1r7OSSqQl8m7QBXC7EKma0=
                &lt;/data&gt;
                &lt;key&gt;Resources/applications/krita_heif.desktop&lt;/key&gt;
                &lt;data&gt;
                6shvvt83IW8UfvK94ClRuD70vsY=
                &lt;/data&gt;
                &lt;key&gt;Resources/applications/krita_heightmap.desktop&lt;/key&gt;
                &lt;data&gt;
                n60p7nj+9ifvrTIujfuc/HhLT4s=
                &lt;/data&gt;
                &lt;key&gt;Resources/applications/krita_jp2.desktop&lt;/key&gt;
                &lt;data&gt;
                cb0S02CkULYzBBalAt9wd7iX6MY=
                &lt;/data&gt;
                &lt;key&gt;Resources/applications/krita_jpeg.desktop&lt;/key&gt;
                &lt;data&gt;
                08j/aK8MLE1U9s/WH5sbZxbY1Gs=
                &lt;/data&gt;
bash-3.2$</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100095</commentid>
    <comment_count>6</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-02-01 17:00:57 +0000</bug_when>
    <thetext>New system admin request of KDE phabricator : 

https://phabricator.kde.org/T15249
title: How to notarize a KDE application as digiKam for MacOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100104</commentid>
    <comment_count>7</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-02-01 17:16:13 +0000</bug_when>
    <thetext>The Apple developer official documentation about notarization for MacOS:

https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution?language=objc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100110</commentid>
    <comment_count>8</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-02-01 17:23:24 +0000</bug_when>
    <thetext>An interesting thread about notarization cost with Apple developer account :

https://developer.apple.com/forums/thread/121113</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100114</commentid>
    <comment_count>9</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-02-01 17:31:37 +0000</bug_when>
    <thetext>To resume, if i understand well the Apple puzzle: 

To notarize an application for MacOS, this must be done through an Apple developer account, you need to pay 99 euros by year, for a proprietary or an open source application, published to Apple Store, or not...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100116</commentid>
    <comment_count>10</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-02-01 17:51:55 +0000</bug_when>
    <thetext>Reponse from KDE admin about notarization process : 

&quot;You will need to look into making Digikam build using Craft, and then request to be setup within the Binary Factory.
The same applies for producing signed Windows binaries - we only support these being generated via Craft on the Binary Factory.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2128095</commentid>
    <comment_count>11</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-01 04:50:37 +0000</bug_when>
    <thetext>Hi Maik,

Good news : the factory can build successfully the MacOS target, but it fail at packaging stage :

https://binary-factory.kde.org/view/MacOS/job/Digikam_Nightly_macos/848/consoleFull

The reason is ???

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2128097</commentid>
    <comment_count>12</comment_count>
    <who name="Maik Qualmann">metzpinguin</who>
    <bug_when>2022-06-01 05:57:53 +0000</bug_when>
    <thetext>The reason might be that boost is not correctly present in the craft system:

image directory /Users/packaging/Craft/BinaryFactory/macos-64-clang/build/libs/boost/boost-system/image-RelWithDebInfo-1.76.0 does not exist!

Maik</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2128110</commentid>
    <comment_count>13</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-01 07:28:23 +0000</bug_when>
    <thetext>There is something that i don&apos;t understand. binary factory use common infrastructure to build application and package. There are already few KDE applications packaged for MacOS. So my question is why this infrastructure is a puzzle ?

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2128111</commentid>
    <comment_count>14</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-01 07:32:09 +0000</bug_when>
    <thetext>For exemple, Dolphin is compiled and packaged for MacOS in the same way, without dysfunction:

https://binary-factory.kde.org/view/MacOS/job/Dolphin_Nightly_macos/635/consoleFull 

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2128114</commentid>
    <comment_count>15</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-01 07:42:28 +0000</bug_when>
    <thetext>If i&apos;m not too wrong, the compilation and packaging configuration is located here :

https://invent.kde.org/packaging/craft-blueprints-kde/-/blob/master/extragear/digikam/digikam.py

For Dolphin, the configuration is located here :

https://invent.kde.org/packaging/craft-blueprints-kde/-/tree/master/kde/applications/dolphin

Q: excepted the blacklist rules, what&apos;s the difference ?

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2128146</commentid>
    <comment_count>16</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-01 10:39:27 +0000</bug_when>
    <thetext>I re-open the system admin request from Phabricator :

https://phabricator.kde.org/T15249

Wait and see the response...

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2129086</commentid>
    <comment_count>17</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-05 07:54:54 +0000</bug_when>
    <thetext>Hi Maik,

this is the response from KDE admin :

&quot;I&apos;ve run the cleanup job now which will hopefully resolve that error, however please note that issues with Craft are something that Sysadmin doesn&apos;t look after.&quot;

So, i just start a new build to see if package stage pass fine.

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2129095</commentid>
    <comment_count>18</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-05 10:13:44 +0000</bug_when>
    <thetext>As Ben report that the problem is not relevant of system admin, i created a new generic file in Phabricator with some Craft team in CC:

https://phabricator.kde.org/T15568

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2129325</commentid>
    <comment_count>19</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-06 12:30:52 +0000</bug_when>
    <thetext>Hi Maik,

I understand why Craft do not package the Apple bundle after the whole compilation. The problem was to force libboost dependency which override the virtual env while packaging.

Now the packaging stage start. It&apos;s broken while parsing the dependencies tree of all binary files. More extra deps are necessary to be defined (current libass is missing for media player)

So it&apos;s on the good way to finalize the Craft MacOS packaging soon.

Best

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2129361</commentid>
    <comment_count>20</comment_count>
    <who name="Maik Qualmann">metzpinguin</who>
    <bug_when>2022-06-06 16:56:17 +0000</bug_when>
    <thetext>Hi Gilles,

I see you are fight with the MSVC build...

Best

Maik</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2129365</commentid>
    <comment_count>21</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-06 17:21:32 +0000</bug_when>
    <thetext>To be honest, I don&apos;t know what&apos;s i do. Craft is a completely obscure tool with plenty of side effects and black holes.

I try to get inspirations from other applications crafted. I don&apos;t receive feedback from Craft team, so we are alone to fight...

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2129620</commentid>
    <comment_count>22</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-07 11:29:35 +0000</bug_when>
    <thetext>Maik,

Voilà, it&apos;s done (the first one completed) : https://binary-factory.kde.org/view/MacOS/job/Digikam_Nightly_macos/875/

There is no guaranty that DMG can be installed safety and run properly. This is the next stage to do, and of course we must check to see if DMG is signed and ready for the Apple Store...

Note : Craft do not support yet libmarble, so no geolocation will be available. I have a patch for Craft to validate with the team...

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2131058</commentid>
    <comment_count>23</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-06-14 15:11:36 +0000</bug_when>
    <thetext>Maik,

I just tested the DMG generated by Craft Binary Factory, and it&apos;s signed and can be installed safety under MacOS. No security validation is ask to user.

The digiKam packaged do not yet run as marble dependency is not yet include in the bundle.

Gilles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2131063</commentid>
    <comment_count>24</comment_count>
    <who name="Maik Qualmann">metzpinguin</who>
    <bug_when>2022-06-14 15:17:09 +0000</bug_when>
    <thetext>Yes, same for the Windows bundle, KF5Akonadi and libmarble is reported as missing DLL.

Maik</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2234291</commentid>
    <comment_count>25</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2023-06-02 05:41:21 +0000</bug_when>
    <thetext>A note about the native Apple Silicon architecture of the digiKam PKG. I receive a message from the maintainer of QElectroTech application, a free software to create electric diagrams based on Qt. Until now they only provide this application for Intel Apple computers, but they switch to Apple silicon and compile the PKG for M1/M2 arm64 cpu using the digiKam packaging scripts based on Macports, and it work...

https://qelectrotech.org/forum/viewtopic.php?id=2393

This want mean than the script are mostly ready for packaging digiKam for Apple Silicon.

Gilles</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>