Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change macOS packages building tool #2006

Closed
verdx opened this issue Dec 23, 2022 · 3 comments · Fixed by wazuh/wazuh#25091
Closed

Change macOS packages building tool #2006

verdx opened this issue Dec 23, 2022 · 3 comments · Fixed by wazuh/wazuh#25091

Comments

@verdx
Copy link
Contributor

verdx commented Dec 23, 2022

Wazuh version Install type Action performed Platform
all Agent Package building macOS

Problems with packagesbuild

To build the macOS Agent Packages, the tool packagesbuilder, from package Packages.dmg, which we download from website http://s.sudre.free.fr/. There is not much information on the website, only one tutorial, which doesn't mention the tools we use, only the graphical ones the package provides. There isn't a reference to the source code in the web, although there are some repositories in GitHub which could be related, although no mention of versions or how is it related to the downloadable package:

There is also no manual for the tool inside the man pages, only the help message:

Wazuhs-Mac-mini:~ jenkins$ packagesbuild -h
packagesbuild: invalid option -- h
Usage: packagesbuild [OPTIONS] file

Options:
  --verbose, -v                          provide additional status output
  --debug, -d                            build project in debug mode (i.e. disable locators)
  --temporary-build-location, -t PATH    use this folder as the temporary build folder
  --reference-folder, -F PATH            use this path as the reference folder
  --build-folder PATH                    create the build output in this folder
  --identity NAME                        sign the build output with this identity
  --keychain PATH                        look for the identity in the keychain at this path
  --package-version VERSION              set the version of the built raw package project to this value


Wazuhs-Mac-mini:~ jenkins$ man packagesbuild
No manual entry for packagesbuild
Wazuhs-Mac-mini:~ jenkins$ 

Summary:

  • No documentation
  • No source code
  • Problem with signatures
  • No visible continuation of the project

Proposed solution

During the investigation for issue #1917 an alternative was found, https://github.com/munki/munki-pkg. The idea of the tool is the same, it creates packages for macOS, as well as their own managed software installation. It has a web with a well-structured tutorial of usage, a GitHub repository with the source code and even more documentation, and it is also mentioned in 3rd party tutorials and articles:

@verdx verdx self-assigned this Jan 16, 2023
@verdx verdx removed their assignment Mar 15, 2023
@teddytpc1 teddytpc1 added level/task Subtask issue type/enhancement Enhancement issue labels May 31, 2023
@jotacarma90 jotacarma90 self-assigned this Jul 22, 2024
@jotacarma90
Copy link
Member

jotacarma90 commented Jul 22, 2024

Update 22/07/2024

  • Research on all information provided in the issue.
  • Evaluating the munki alternative.
  • Trying to assess the complexity and development time it could take to award a release.

@mjcr99 mjcr99 self-assigned this Jul 26, 2024
@mjcr99
Copy link
Member

mjcr99 commented Jul 26, 2024

Update

(26/07/2024) Researching munkipkg documentation, investigating changes impact and requirements. Set up and environment for development purposes.
(29/07/2024) Testing munkipkg capabilities. I have found some problems regarding our package format and munkipkg capabilities to package it. It needs additional research and it's being done.
(30/07/2024) Successfully created an installable and functional package using munkipkg. The testing package has not been signed or notarized, so this part of the procedure is still pending to be tested, but as mentioned, the created package is functional, simplifies the SPECS file, and maintains the permission level in the packaged files as it has been done until now.
(30/07/2024) Created development brach working on tool changes adapting script and SPEC files.
(05/08/2024) Added some modifications related to signature and notarization to successfully build a package using workflows. Opened PR: https://github.com/wazuh/wazuh-agent-packages/pull/69 to test and implement a change in the workflow.
(06/08/2024) Added some minor fixes related to package name and version.
(07/08/2024) Opened wazuh/wazuh PR with the final proposed solution.

@wazuhci wazuhci moved this to In progress in Release 4.10.0 Jul 30, 2024
@jotacarma90 jotacarma90 removed their assignment Aug 7, 2024
@mjcr99 mjcr99 linked a pull request Aug 7, 2024 that will close this issue
@wazuhci wazuhci moved this from In progress to Pending review in Release 4.10.0 Aug 7, 2024
@wazuhci wazuhci moved this from Pending review to In review in Release 4.10.0 Aug 7, 2024
@wazuhci wazuhci moved this from In review to Pending final review in Release 4.10.0 Aug 12, 2024
@wazuhci wazuhci moved this from Pending final review to Done in Release 4.10.0 Aug 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

6 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy