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

Programming Language of Original Pinecil Updater #21

Open
moriel5 opened this issue Feb 9, 2022 · 9 comments
Open

Programming Language of Original Pinecil Updater #21

moriel5 opened this issue Feb 9, 2022 · 9 comments

Comments

@moriel5
Copy link

moriel5 commented Feb 9, 2022

I'm not going to tell you how and what to do, especially as I have no right to do so, however I see that the rewrite is unfortunately in Flutter, which is pretty bad in regards to system resources utilization (though I understand that it makes it much easier to build cross-platform code).

This got me to thinking, in what language was the original pinecil-updater built with?

@gamelaster
Copy link
Member

gamelaster commented Feb 9, 2022

@moriel5 I'm sorry that picking Flutter didn't made you happy, although, picking from Electron, Qt Quick and Flutter, I chosen Flutter (it took me a few hours of thinking about in which framework/language I will do it, since performance and system resources usage is important for me, and Flutter seemed as best choice). I hope that you give a chance to this version, I think it performs quite well, even on slower devices, or in case of interest, I can rewrite the app a bit to have also CLI version (AoT compiled).

But to your question, it was made in C++ and in Qt 5 Framework

@moriel5
Copy link
Author

moriel5 commented Feb 10, 2022

Thanks for the information, I didn't really know how to tell just from looking at the code (I only have rudimentary coding skills, not enough to actually code something proper).

No need to be sorry, since this is your choice, and as I don't really have any right to decide things for you in any case, there is no need to make me happy (I'm just a single user).

Regardless of my thoughts on the matter, I respect your decisions, and despite Flutter's notoriety, it may very well be the best option in this case (not being a developer yet, I can't know how well something will perform before testing it, I was simply going with my past experiences with Flutter software, as well as what is often said about it online).

Don't worry, I'm not planning on forking anything (even if I was going to, I lack the skills to do so), I was genuinely interested.

@tormodvolden
Copy link
Contributor

@moriel5 note that you can find the source code for the old Pinecil Updater in the "old-pinecil-updater" branch in git.

@moriel5
Copy link
Author

moriel5 commented Feb 10, 2022

@tormodvolden Thanks for the insight.

Funny thing, that is what actually tipped me off to the fact that the project had been rebuilt from the ground up in the first place, since I was initially confused by the sudden change in the README.

@moriel5
Copy link
Author

moriel5 commented Feb 21, 2022

@gamelaster Is there currently a way to complete to compile the new Updater for Linux? Since I do not see any as of the latest commit.

I just updated my Pinecil with dfu-util, so all is good there, however I would like to test out Pine64_Updater.

@gamelaster
Copy link
Member

@moriel5 the app itself is easy to compile, but still it requires few lines changed, but most importantly, compile libdfu-util for Linux. To be honest, the previous Pinecil Firmware Updater didn't had "official" package support due I was confused about package distribution (if I will create flatpack, or deb for Debian users etc.).

@moriel5
Copy link
Author

moriel5 commented Feb 27, 2022

Thanks, I'll look into it and see whether I understand enough to change those lines.

Since dfu-util is already packaged for my distro of use (Solus), that much is already taken care of (I believe that there is also a -develpackage available).

I'm not surprised that the diverse Linux ecosystem confused you.

My recommendation, whatever method of distribution you decide upon, try to leave basic instructions that are clear for compilation, so as to make it easier for volunteers to package pine64_updater for their distributions (dpkg/APT for Debian and Debian-based distros, RPM for RPM distros such as Red Hat, Fedora and OpenSUSE, Pacman/ABS for Arch and Arch derivatives, eopkg/sol for Solus, etc).

@gamelaster
Copy link
Member

@moriel5 Yes, I will definitely prepare instructions for easy installation of the app on the Linux.

About the dfu-util, there is no -devel package, the libdfu-util modification is made by me and it's living in another repository (the modification of the project is messy, and needs to be made properly to try it to get into the upstream). So this library will be needed to be shipped within the app.

@moriel5
Copy link
Author

moriel5 commented Feb 27, 2022

@gamelaster Ah, thanks for enlightening me.

That makes sense, though it could potentially cause issues with official acceptance into some distribution repos (rules, not a code-wise issue).

I'll try to get to it sometime this week (I first need to compile a modified LLVM 10 compiler, in order to compile an open source firmware for BCM5719 NICs and test it on my NEC EXP182As).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants