ubports-qa update
-
@markatrafik
First of all, you should tell what's your device... -
Xiaomi Redmi Note 7, 6 ram, 64 internal flash, 128 microsd
phablet@ubuntu-phablet:~$ uname -a
Linux ubuntu-phablet 4.4.156-Dreemurrs+ #5 SMP PREEMPT Fri May 15 08:33:07 CST 2020 aarch64 aarch64 aarch64 GNU/Linux -
@markatrafik I have moved your post to the correct sub fourm
-
@lakotaubp Are you sure that this problem is specific to this phone model?
-
@markatrafik said in ubports-qa update:
@lakotaubp Are you sure that this problem is specific to this phone model?
This way people with your device can help you or learn from your case.
So first, your device is handled by ubports installer : https://devices.ubuntu-touch.io/device/lavender/
So you should have installed uTouch on your device with this tool, then you should have had last version for your device if you did it, let say, yesterday or so.
Second, if you installed uTouch on your device last month, and an update is available for your device, you should only update from the device itself, using what we call "OTA update" (Over The Air), and you should have received a system notification to tell you there is an update, alternatively you could update with ubports installer, choosing NOT TO WIPE any data.
APT is not a normal way on uTouch devices, wich is a read only file system by design, that you can make read/write if you want/need to, but not recommanded nor endorsed by ubports foundation.
-
@markatrafik I was wondering the same thing. However just as I don't have your device which is under development and it might have some use I put it here.
The main point is we do not not recommend the use of apt-get for many reasons (which are already on the Forum and others can no doubt explain better). The main ones being it can damage your system and any changes are over written with the next update. So if it was left in support may give the impression once more that apt-get is a normal and exceptable way to update the system.
If I am incorrect in this, I will move it back. -
ubports-qa update
is the same as usingapt
to update. It just automates things like remounting root as RW. As already mentioned,apt
isn't the proper way to update the system. Although you can technically use it, there's a possibility that the updates will break your system just like what happened to you. If I am not mistaken theapt
repos contain developmental packages so if you are onstable
channel, there may be a greater chance to break your system since you are installing stuffs that are only compatible with thedevel
channel. Actually, there was a recent update indevel
that broke it but it is fixed now. In my case, I useubports-qa update
to fix my system and maybe in your case, it broke yours -
Dear UBports developers and contributors, the fact is that security updates can be released quite often. I myself have to backport security patches fixing CVEs, for example from Debian 10 to earlier versions, or by myself, because the developers and maintainers don't have time to do it. Here, however, the system not only didn't let me install the security updates, it also crashed during the system update.
-
Unfortunately ubports-installer doesn't handle a lot of errors, doesn't let you fix them and gives little debugging, often coming "Oops... " and that's it, nothing useful on stdout either. Tried it on Debian 9, both with Ubuntu deb package and with snapd. In the last case, everything seemed to go well, ubports-installer wrote the firmware through fastboot and sent the phone to reboot. After that it stood up on the start screen. I had to overwrite the boot loader and all the other partitions over TWRP. The phone is new from the box, unloked out of the box, with Android 9, I buy it especially to test your project.
-
@markatrafik Hotfix OTA update can be released if there's an urgent security fix. You may raise the security issue to the core team and they will decide if it's worth a quick release.
As for the UBports installer, it is continuously improving but of course it's still not perfect. Contributions are greatly welcome and appreciated
-
And yet... can you tell me how to install, within the concept of UBports, some deb application from apt repository or just a deb package with dpkg? Is it necessary to remount the partition in r/w? Or is this considered a non-standard action on the end device and could break the system? - this is unfortunate, would cool to be able to do this.
Thank you so much for doing a good job!
I hope to be able to help you in some way in the future. -
@markatrafik said in ubports-qa update:
And yet... can you tell me how to install, within the concept of UBports, some deb application from apt repository or just a deb package with dpkg? Is it necessary to remount the partition in r/w? Or is this considered a non-standard action on the end device and could break the system?
Yes to use apt you need to make the system r/w.
Yes it is considered as a non-standard action.
Yes, depending on what you do, you can break system or OTA updates.But if you know what you do, if you well know Ubuntu Touch, that can be no problem.
Recently i did that (r/w + apt) because @Flohack, a core dev, needed some infos from my device (from evtest tool), but i did this under his knowledge, knowing that he wouldn't make me brake my system.
In normal use, i stay in the standard use of the system, because i don't have skill to step out of it, and it is my daily driver so i don't want to mess with it.
-
@kugiigi I Confirm that UBports Installer (0.8.7 Beta on Ubuntu 20.04.2) works pretty well with Redmi Note 7:
-
@keneda let's just say, probably not always so... since I tried it on different machines under Debian 9, and there was always a problem. I was run it from under an unprivileged user, maybe it was necessary to run from under the root? Maybe I needed to add a user to the dialout group or make symlinks to adb and fastboot? Okay, next time, I'll try again with logs and screenshots... Sorry...
-
But if you know what you do, if you well know
Ubuntu Touch, that can be no problem.As I understand it, I need to take old deb packages witch compatible to installed, which will not entail by dependencies and the need to replace libraries. Some libraries may pull dependencies of other packages, which in turn may break the system. Or to build static packages of what I need with debhelper etc... Just, I was hoping there was a standard way to install a number of simple shell standalone applications and utilities that would not affect dbus/systemd, udev, networking, vendor stuff and so on.
And No, Ubuntu Touch I do not know well enough, but I plan to look at the project. However I know Linux since kernel 0.0.99 and Debian since 1.2/rex desktop Ubuntu, some other Un*x systems, slightly Android. -
@markatrafik
Hi using APT is not standard on Ubnutu Touch, the standard way is to use click packages.You can use sofwares packaged as .deb and repackaged them into a click.
If they are simple CLI than I think it won't be hard to include the necessary libraries into a click package.
This click can then be uploaded to the Open Store and be made available to all.Of course on mobile, a nice GUI is always welcome
-
And, what about pkcon utility? It reports that over ~ 15 repositories are connected to it. But when you try to install, for example, mc - it crashes. Did this tool come from the Canonical and must not be used?
-
@markatrafik The supported method for installing legacy and CLI apps from the Ubuntu archive, is via a Libertine container.
-
Without ubports-qa update, all seems to be ok...
~$ sudo bash
~# mount -o remount,rw /
~# apt-get install joe
~# sync
~# mount -o remount,ro /
~# reboot
System is booting, working, and no errors in logs...
Btw, ubports-qa - simple python script, with some manipulation with repos. But, you think, that such actions are contrary to the concept? And I need to compile a static binary together with these libraries?! and then wrap it in a package manager "click" to drop it in /opt ? No, of course, I'll probably do it that way too... but later -
phablet@ubuntu-phablet:~$ ldd $(which joe)
linux-vdso.so.1 => (0x000000707013a000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007070050000)
libtinfo.so.5 => /lib/aarch64-linux-gnu/libtinfo.so.5 0x000000707001a000)
libutil.so.1 => /lib/aarch64-linux-gnu/libutil.so.1 (0x0000007070007000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x000000706fec1000)
/lib/ld-linux-aarch64.so.1 (0x000000707010f000)