-
-
Notifications
You must be signed in to change notification settings - Fork 35
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
build and install script addition #166
Conversation
beadon
commented
Jun 29, 2023
- 06-29-2023 14:50 PST beadon - script created for building and installation
- installation script updates
- script created for building and installation
Thank you for the suggestion, but I do not want this script in the repository. It implicitly removes the build cache which triggers a re-download and re-build of all go packages every time (on my system, that takes minutes). In my opinion, the build instructions in the README are sufficient for users to adjust for their needs. |
oh, yes, the first step removes the build directory. This can be changed. I am attempting to make it slightly easier for the beginner to install the plugin. Classic linux software and build installations have always been : ./configure ; make ; make install today these steps are quite muddled with lots of different toolchains and languages. Perhaps a better way to keep the cache would be proposed changes to the cmake/make files. From here, control to add different targets like : clean ; install ; and modify the default target to manage the build directories accordingly ? From here, it's a shorter hop to packaging concepts to get it into systems like apt. Are you open to a proposal to a more more native way to manage build directories ? |
Before I can make up my mind, I need to understand the problem and how the script is going to solve it. For the Ubuntu users who do not want to compile themselves, I offer pre-built binaries. They also work on reasonably recent versions of Debian. For everyone else, there are build instructions. The If the script exists, people will want to use it. But does it work on Debian? How about Arch or Alpine Linux? Gentoo? Why does it automate the build (which are trivial), but not fetch the dependencies (which are annoying to resolve)? I do not want to maintain it. Do you? Experts on the other hand, will not use it because they are comfortable with the build instructions. I think the demographic that may benefit from the script is very small. For these reasons, I would rather not have the script to make clear: Either use the pre-built binaries or build it yourself, but expert knowledge is required. |
Oh I see the pre-built binaries now. I was not aware this was available!! It's possible I missed the documentation for the binary releases, but on re-reading I don't see this in the README. I am running Ubuntu 23.04 and didn't have an option to install this plugin via apt, so I dutifully took steps to improve the processes leading towards binary creation and ultimately packaged apt releases. The problem I want to solve is:
Including Ubuntu into this should assist with the fairly large audience to cover the issue of #1 - increasing adoption and make software updates easier for the end-user. So , to tackle the root of this then I am proposing : a package script driven via cmake to turn the binaries you have into an apt package available for Ubuntu 23.04 and beyond. Note: What do you think ? |
I am grateful for your input.
It is there, in the section "Build". I can move the link to the top, so it becomes more visible.
Installing won't get any easier than "download into folder and restart Pidgin", I am afraid.
That is precisely why this plug-in exists. :)
Unfortunately, it is a bit more complicated than that. This plug-in is using whatsmeow, which – as far as I understood – is a reverse-engineered variant of the WhatsApp Business API. Every time there is an update to the official WhatsApp client, whatsmeow needs an update and consequently this plug-in needs an update. This happens roughly twice a month. On the buildbot, you can see this with version
This has been requested numerous times (last time in #116). Keep in mind that I am a single guy who maintains this plug-in in his spare time. I simply have no resources to provide packages. I guess I would need:
If you want to do that, I am completely game. You already have read access to this repository. Set-up the systems, apply for becoming a maintainer, handle the communication,… for me it is way out of scope. I am sorry. |
Ok, I can take steps along this maintainer path -- I am unsure of the time commitment I can offer right now. Immediately I can offer:
|
Your enthusiasm sounds good.
My suggestion: You start with current Ubuntu LTS + newer non-LTS releases.
The linking process is one of the flaky parts. Some test cases include:
Normally, I have to sit there and click on buttons, hold my phone to the screen for scanning the QR-code. Very tedious. I think we need to have that automated. I do not even know what is necessary to feed the QR code into a virtual webcam which will then be available within an emulated Android. Further test cases include:
Currently, I skip most of the testing, hoping for the best. However, this way I introduced many bugs I did not catch. This is okay for a "some guy on github" project, but not for an officially packaged product.
I only run one server (hehoe.de – the one that offers the buildbot). It costs 60 € per year, but cannot do virtual machines (so limited to producing builds for the Ubuntu version it itself is running at). Machines for the systems mentioned above will cost money, too.
If you manage to cure my depression, that would be great. Being the pessimist that I am, I do not expect that, though.
There are some people describing their work here: https://www.reddit.com/r/linux/comments/kmat5j/what_exactly_is_expected_of_a_package_maintainer/ On average, I spend about five hours per week on this project. That includes communicating with users (like writing this message right now). With that, I am at my limit (bear in mind that I have other hobbies and projects, too). I cannot do any more work. Consequently, every request that is coming in via the Debian/Ubuntu issue system would need to be addressed by you. You are in that position for as long as the package is listed. That is the commitment you will get yourself into. You will receive virtually no payment except for kind messages and maybe a small donation once a year, but occasionally someone will insult you. I am in no position to help you there. In case I quit my day job and miraculously find a sponsor who pays my rent while I do open-source development I could do that, but I do not see that happen. ;) |
How about starting slowly (it just came to my mind): Instead of a build-script, you could look into supporting |
Sure, crawl before running sounds good. I should have some time this weekend to dig in a bit more. |
step 2- fixing gpg local keys -- running down the path of an approved package manager for Ubuntu since it cover the packaging process and best practices. step3 - using pbuilder to build a local packaging environment. |
step4 - register with launchpad, import keys, etc .. |
step5 - using bzr , begin packaging .. |
bzr is ... strange. |
notably -- found an example pidgin plugin packaged and delivered with apt. skype4pigdin --- reference: https://github.com/EionRobb/skype4pidgin/blob/master/skypeweb/README.md checking into the cpack target in their cmake files .. |
After MUCH digging, it looks like their packaging system is broken ... raised an issue over there, will chase. |
Fixed the skype4pidgin issues with cpack -- seems there was a just a typo in their config which prevented the package system from doing the right thing ! (no errors indicating a problem either!). anyhow -- building a similar cpack now for purple-gowhatsapp -- making good progress. |
Good news ! I was able to get cpack working properly with a little bit of work. Pushed a PR for inspection, I think the libs are going to the right places -- double check please. |