Bug 457148 - digiKam Windows bundles build from Binary Factory with Craft : MSVC version can be signed but not MinGW
Summary: digiKam Windows bundles build from Binary Factory with Craft : MSVC version c...
Status: REPORTED
Alias: None
Product: Craft
Classification: Developer tools
Component: Blueprints (show other bugs)
Version: master
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Hannah von Reth
URL: https://binary-factory.kde.org/view/W...
Keywords:
Depends on:
Blocks:
 
Reported: 2022-07-26 06:00 UTC by caulier.gilles
Modified: 2022-07-26 13:59 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description caulier.gilles 2022-07-26 06:00:01 UTC
Hi,

digiKam compile fine for Windows with Craft in Binary Factory using MSVC and MinGW targets.

MVSC version is signed and packaging is complete. Installer and application work fine.
MinGW version cannot be signed. See the log file:

...
04:07:14  Delete symbols: C:\Craft\BinaryFactory\windows-mingw_64-gcc\build\extragear\digikam\archive\bin\designer\sonnetui5widgets.dll.debug
04:07:14  Delete symbols: C:\Craft\BinaryFactory\windows-mingw_64-gcc\build\extragear\digikam\archive\bin\bearer\qgenericbearer.dll.debug
04:07:14  Delete symbols: C:\Craft\BinaryFactory\windows-mingw_64-gcc\build\extragear\digikam\archive\bin\audio\qtaudio_windows.dll.debug
04:07:14  Overriding:	C:\Craft\BinaryFactory\windows-mingw_64-gcc\build\extragear\digikam\archive\Assets\128-apps-digikam.png with
04:07:14  		C:\_\9b0777e7\digikam\core\data\icons\apps\128-apps-digikam.png
04:07:14  executing command: makeappx pack /d C:\Craft\BinaryFactory\windows-mingw_64-gcc\build\extragear\digikam\archive /p C:\Craft\BinaryFactory\windows-mingw_64-gcc\build\extragear\digikam\artifacts\digikam-master-946-windows-mingw_64-gcc.appx
04:07:14  *** Craft package succeeded: extragear/digikam after 1 minute 17 seconds ***
04:07:14  [WinError 2] The system cannot find the file specified
04:07:14  Traceback (most recent call last):
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\craft.py", line 274, in <module>
04:07:14      success = main(timer)
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\craft.py", line 264, in main
04:07:14      if not CraftCommands.run(package, action, tempArgs):
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\CraftCommands.py", line 431, in run
04:07:14      if not handlePackage(info, action, directTargets=directTargets):
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\CraftCommands.py", line 94, in handlePackage
04:07:14      success = doExec(package, action)
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\CraftCommands.py", line 58, in doExec
04:07:14      ret = package.instance.runAction(action)
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\Package\PackageBase.py", line 247, in runAction
04:07:14      if not getattr(self, step)():
04:07:14    File "C:\Craft\BinaryFactory\blueprints\craft-blueprints-kde\extragear\digikam\digikam.py", line 288, in createPackage
04:07:14      return TypePackager.createPackage(self)
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\Packager\TypePackager.py", line 85, in createPackage
04:07:14      return self.__packager.createPackage(self)
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\Packager\AppxPackager.py", line 253, in createPackage
04:07:14      if not self.__createAppX(defines):
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\Packager\AppxPackager.py", line 214, in __createAppX
04:07:14      utils.system(["makeappx", "pack", "/d", self.archiveDir(), "/p", archive]))
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\utils.py", line 204, in system
04:07:14      return systemWithoutShell(cmd, displayProgress=displayProgress, logCommand=logCommand, acceptableExitCodes=acceptableExitCodes, **kw)
04:07:14    File "C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\utils.py", line 294, in systemWithoutShell
04:07:14      proc = subprocess.Popen(cmd, **kw)
04:07:14    File "C:\Program Files\Python38\lib\subprocess.py", line 854, in __init__
04:07:14      self._execute_child(args, executable, preexec_fn, close_fds,
04:07:14    File "C:\Program Files\Python38\lib\subprocess.py", line 1307, in _execute_child
04:07:14      hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
04:07:14  FileNotFoundError: [WinError 2] The system cannot find the file specified
04:07:14  Generate Settings
04:07:14  Command C:\Program Files\Python38\python.exe -u C:\Craft\BinaryFactory\windows-mingw_64-gcc\craft\bin\craft.py --options libs/ffmpeg.version=4.4 --options [Packager]PackageType=AppxPackager 
04:07:14  --target master --package digikam failed with exit code: 1
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
04:07:14  ERROR: script returned exit code 1
[Pipeline] // catchError
[Pipeline] deleteDir
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: FAILURE

Why ? It miss something ?

Best

Gilles Caulier
Comment 1 Ben Cooksley 2022-07-26 11:17:14 UTC
From my understanding appx bundles can only be made when using MSVC as your compiler so this is expected behaviour.
Comment 2 Hannah von Reth 2022-07-26 11:21:42 UTC
Yes only msvc, mingw might work some how but...

For now it should print a better error message.
Comment 3 Thomas Friedrichsmeier 2022-07-26 11:26:07 UTC
FWIW, we ran into the same problem in RKWard. Since MingW builds are more oft an emergency-fallback option for us, the solution was this:

https://invent.kde.org/sysadmin/binary-factory-tooling/-/commit/1d3c456b3ad6ee4556acc2b90a9980f7f845c5bd

Note that this was after first proposing to disable AppX-building on MinGW:

https://invent.kde.org/sysadmin/binary-factory-tooling/-/merge_requests/289
Comment 4 caulier.gilles 2022-07-26 13:59:06 UTC
Thanks Thomas, i will take a look in your code...

Gilles