qgis / QGIS-Enhancement-Proposals

QEP's (QGIS Enhancement Proposals) are used in the process of creating and discussing new enhancements for QGIS
117 stars 37 forks source link

MacOS Packaging System #143

Closed PeterPetrik closed 4 years ago

PeterPetrik commented 5 years ago

QGIS Enhancement: MacOS Packaging System

Date 2019/03/22

Author Peter Petrik (@PeterPetrik)

Contact zilolv at gmail dot com

maintainer @PeterPetrik, @3nids

Version QGIS 3.8

Summary

We have successfully created a prototype for community-driver packaging system for MacOS. The package is used by many QGIS users and the feedback is more than positive.The differences between the official (kyngchaos) package and the proposed package are the following:

The proposal states the steps needed to improve of the prototype to become official QGIS package tool.

Repositories, Workflow and CI

We propose to have 2 separate repositories:

Dependencies

First repository qgis/macos-deps contains Homebrew installation scripts to download and install all QGIS dependencies to /usr/local

This separation is required to ensure the consistency of dependencies and the packaging code. The Homebrew deps are changing frequently (being source of instability) and it takes considerable time to install all of them on CI.

Packager

Packager qgis/macos-packager contains bash/python scripts to perform the following:

Tasks Breakdown

3nids commented 5 years ago

obviously 👍

andreasneumann commented 5 years ago

Hi,

Peter: thanks for the summary of what needs to be done - and to reaching out to Denis/OpenGIS to collaborate on the effort.

About the package signing: do we really have a QGIS certificate or would it rather be the OSGEO certificate? Or do you suggest to buy an additional certificate for QGIS independent of the OSGEO one?

I am in favour of supporting MacOS platform equally well like we support the Windows and Linux platform (except for issues we can't control ourselves (e.g. where qt has issues on MacOS)).

QGIS' strength is, that it is available on multiple platforms. If we give up this strength, I think it would be harmful to the project. There are not too many other GIS available for the MacOS platform.

Personally, I also think we should stop this attitude that MacOS users should pay for the packages, while we don't ask our Windows or Linux users to do the same.

We have a budget of 9k EUR for packaging in 2019. In my opinion there should be at least 3k EUR available for MacOS packaging out of this "packaging budget". As far as I understand it, this should more or less fill the gap that the MacOS crowd funding campaign didn't manage to collect (not completely, but almost).

It would be a shame not to build on the momentum of the LutraConsulting effort and not to finish the process, started with the prototype.

Let's put in on the Agenda of our upcoming PSC meeting and vote on it.

Greetings,

Andreas

nyalldawson commented 5 years ago

@andreasneumann

Thanks for the well thought out response. You've totally captured my thoughts here too.

PeterPetrik commented 5 years ago

I am easy with both QGIS or OSGEO certificate, whatever is easier to have/obtain. Definitely we should aim for transparent and sustainable packaging process for all platforms.

PeterPetrik commented 5 years ago

One technical aspect: The packager itself does not rely (too much) from where the deps are taken from. The prototype is based on homebrew, but it is similarly possible to use conda (https://github.com/conda-forge/qgis-feedstock). Problably better maintained solution wins :)

elpaso commented 5 years ago

@PeterPetrik forgive my ignorance, if conda install qgis works well on Mac too, do you think it is still necessary to build an installer?

(the same argument would probably also apply to windows)

jef-n commented 5 years ago

The OSGeo certficate is available - and was originally bought to sign mac packages - although that apparently never did happen.

luipir commented 5 years ago

Hi Alesandro, conda is a data analysis oriented environment... A good percentage (IMHO the majority) of of mac users are cartographers, urbanologists, architects and... students (in US). None of these probably know what is conda => a mac package is still necessary.

Luigi Pirelli


On Thu, 28 Mar 2019 at 17:20, Alessandro Pasotti notifications@github.com wrote:

@PeterPetrik https://github.com/PeterPetrik forgive my ignorance, if conda install qgis works well on Mac too, do you think it is still necessary to build an installer?

(the same argument would probably also apply to windows)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/qgis/QGIS-Enhancement-Proposals/issues/143#issuecomment-477652576, or mute the thread https://github.com/notifications/unsubscribe-auth/ADMI-r46lej_atwGcfT1zS0bN8nCbopxks5vbOOFgaJpZM4cDsdv .

PeterPetrik commented 5 years ago

Those are separate things. To install QGIS on Mac, you can do:

So basically with conda/macports/brew you got unsigned packages that is created by downloading the dependencies one-by-one. The dependencies are not controlled well and updated frequently so you may end up with non-working installation. It is basically linux-style and most of the users do not have any familiarity with it (imagine you would like to explain windows users to understand /usr/local/lib and /usr/local/bin installation). It is not signed and tested properly so unlikely for big companies to use it.

elpaso commented 5 years ago

@PeterPetrik thanks for the detailed explanation!

PeterPetrik commented 5 years ago

@NathanW2 this one is accepted and implemented https://qgis.org/downloads/macos/