Closed razman786 closed 3 years ago
Can one of the admins verify this patch?
@Athanaseus - I've also added you to the forked repo in case that makes it easier to update things.
By the way, admin needs to add a PYPI_API_TOKEN
to automate pypi publication when a tag is made.
Ah wait the pypi release might not be feasible due to sudo dpkg -i ubuntu_20_04_deb_pkg/python3-pyqt5.qwt_2.00.00-1build1_amd64.deb
dependancy. @razman786 once we make a release (160) tag I wanted to make a debian package for tigger
, but I think we have to add the 'python3-pyqt5*deb' to KERN too so that they are also in the list of dependencies?
The user just add KERN and do sudo apt install tigger
.
edit: KERN-7 = https://launchpad.net/~kernsuite/+archive/ubuntu/kern-7
@Athanaseus - I have some thoughts on the Pypi issue. I'm just need to research an idea.
Yes, the custom PyQt-Qwt deb packages will need to be included in Kern until they are available from upstream.
That sounds good. In the mean time I can push the 20_04 ubuntu deb files to KERN-7 since it is based on ubuntu_20. If you already have the debian folder you can point it to me. Otherwise, I can wait until everything is finalised?
@Athanaseus - when you refer to 'debian folder' I assume you mean the debian folder needed to build the package from scratch?
yes, that's correct. All KERN packages have their debian folders on git (https://github.com/kernsuite-debian).
Give me a bit and I'll get the one I used to build it. Which is the best way to send it to you?
No problem, if it's not too big you can share it via mail or just put it on g-drive.
No problem, will get you the files, however, looking here https://github.com/kernsuite-debian it seems you need the entire directory structure. The package is built against a modified fork of PyQt-Qwt that had various fixes. I think it would be easiest for me to make a branch in my PyQt-Qwt fork with everything setup so that you can take a snapshot of it. Let me know what you think?
yes, that will work out best.
@Athanaseus - In terms of Pypi, my thoughts so far:
Path of least resistance - Package tigger as Pypi and have a check to make sure the dependencies (i.e. PyQt-Qwt packages are installed). If they are not then provide the user with some help, for example, a one line wget install for the Debian package(s) that are missing, or point them to the relevant place to install what they need to get tigger running... It's a bit messy but it does seem to be the path of least resistance.
Path of some resistance - Looking at PyQt-Qwt it does seem to have some support for creating a user-based install (i.e. in ~/.local). This could then be added to the Pypi package and installed with tigger. I've had a quick hack and I'm not familiar enough with qmake to get this working correctly. I think this will be a little time consuming.
Path of resistance - Looking at other Qt-based projects that provide Pypi packages, such as PySide2 itself and the original https://github.com/PyQwt/PyQwt, one could provide everything needed to build PyQt-Qwt as part of a tigger package distribution. This, in theory, could then be made using as many PyPi-based dependencies (i.e. PyQt5 and sip) in an attempt to remove the need to apt install things. I have had a quick browse through other Qt-based projects and this looks like it would take some time.
I feel there needs to be some discussions (and most likely investigations) to workout what would be best.
@Athanaseus - I've put the build repo for the package in this branch https://github.com/razman786/PyQt-Qwt/tree/ubuntu_2004_deb_build. Tested with dpkg-buildpackage -b -uc -us
and it is working as expected.
Path of least resistance - Package tigger as Pypi and have a check to make sure the dependencies (i.e. PyQt-Qwt packages are installed). If they are not then provide the user with some help, for example, a one line wget install for the Debian package(s) that are missing, or point them to the relevant place to install what they need to get tigger running... It's a bit messy but it does seem to be the path of least resistance.
This is what I had in mind. As it's outlined in the README that python3-pyqt5.qtsvg
, python3-pyqt5.qtopengl
, libqwt-qt5-6
, also python3-pyqt5.qwt_2
(which will be available in KERN) are system requirements, the user will have to install them anyways. Or in the case of working on a server, the system admin will ensure that these dependencies are installed for tigger
to run. This will also make it easier to make an installation within a python virtualenv provided the system requirements are met.
And in the case of the debian package, all these system requirements will be in the list of dependencies which will be automatically installed when the KERN version of trigger package is installed.
I feel there needs to be some discussions (and most likely investigations) to workout what would be best.
Maybe @bennahugo can also provide some input here.
@Athanaseus - Personally, I think such an approach in the first instance is a good idea. My thoughts on implementing the path of least resistance:
Path of least resistance - Package tigger as Pypi and have a check to make sure the dependencies (i.e. PyQt-Qwt packages are installed). If they are not then provide the user with some help, for example, a one line wget install for the Debian package(s) that are missing, or point them to the relevant place to install what they need to get tigger running... It's a bit messy but it does seem to be the path of least resistance.
This is what I had in mind. As it's outlined in the README that
python3-pyqt5.qtsvg
,python3-pyqt5.qtopengl
,libqwt-qt5-6
, alsopython3-pyqt5.qwt_2
(which will be available in KERN) are system requirements, the user will have to install them anyways. Or in the case of working on a server, the system admin will ensure that these dependencies are installed fortigger
to run. This will also make it easier to make an installation within a python virtualenv provided the system requirements are met.And in the case of the debian package, all these system requirements will be in the list of dependencies which will be automatically installed when the KERN version of trigger package is installed.
I feel there needs to be some discussions (and most likely investigations) to workout what would be best.
Maybe @bennahugo can also provide some input here.
@Athanaseus - Personally, I think such an approach in the first instance is a good idea. My thoughts on implementing the path of least resistance:
Hi @razman786 are you implementing this approach or should I start working on it?
@Athanaseus - ah I misunderstood and thought you were implementing this. I don't mind to implement this, or you can if you wish, let me know what suits best?
ok to test
Sorry I missed the comment here at the time
I think everything works as it stands - at least it was when we made the merges into master - I very carefully tested everything in combination with @razman786. So I'm in favor of keeping things as simple as possible. I've tested Raz's install scripts locally. The required dependencies are already in the repo - Raz really put a lot of effort into these so we can just upload them to the PPA. I don't see these as intrusive - they can be installed and uninstalled in the same way any other downloadable deb can be managed.
If you look at my Dockerfile you'd see I already base of kern:7 and just call raz's install script which installs the debian dependencies either from the main ubuntu stream or the relevant built packages.
I think I didn't make a release at the time - but we should really just release as it stands - users can download from pypi and install the debian packages that are missing if they go that route (and we can make sure they are installed on the servers) - I don't think this is too much to ask for. The previous Tigger releases all required the user to install the qt4 equivalents of what we have now.
@Athanaseus - ah I misunderstood and thought you were implementing this. I don't mind to implement this, or you can if you wish, let me know what suits best?
OK, then please go ahead and implement that. I will then upload the python3-pyqt5.qwt
to KERN-7 and do the testing afterwards.
ok I'm waiting for the build to go through - it is enqueued
@Athanaseus - PR https://github.com/ska-sa/tigger/pull/115 implements a basic dependency checker and provides a simple output message for the user.
Thanks @razman786, tested and approved.
@Athanaseus - I've updated the dependency checker in PR https://github.com/ska-sa/tigger/pull/116 to show individual missing dependencies and provides a GUI to the user if possible.
Before doing the release we should move the deb packages out of the repo. They can live anywhere, but inside the tarball is the least optimal location.
If we can't find a good location for them I propose we move them to another git repo:
https://github.com/ska-sa/tigger-bin https://github.com/ska-sa/tigger/pull/117
A few items:
master
I don't have merge powers here unfortunately. I can only review. Tests were already started on the other PRs. I suggest a git LFS for this purpose.
On Wed, 28 Jul 2021, 01:44 Raz, @.***> wrote:
A few items:
- PR #120 https://github.com/ska-sa/tigger/pull/120 needs to be merged into the remove_debs http:///ska-sa/tigger/tree/remove_debs
- PR #117 https://github.com/ska-sa/tigger/pull/117 can then be merged. Using tigger-bin http:///ska-sa/tigger-bin is fine for now.
- PR #119 https://github.com/ska-sa/tigger/pull/119 also needs to be merged into master
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ska-sa/tigger/pull/114#issuecomment-887905142, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB4RE6RINRRLZSFL3P5K4QLTZ5AG5ANCNFSM46BWZLRQ .
Fixes GitHub Actions for testing Tigger builds for Ubuntu:
setup-python
bug https://github.com/actions/setup-python/issues/178tigger
loads