Defender app update (harbour-defender) - my very own ‘Sailfish Devember’

Sorry to hear this. :frowning:

And tbh cannot understand why such thing could happen!

As I do not have a 64bit device I could not test it. Will revoke that package (and better the i486 as well) for now from openrepos until clarified…

Would someone please check journalctl
and also

systemctl status -l aliendalvik

systemctl status -l harbour-defender*

And check

cat /var/lib/lxc/aliendalvik/extra_config

or in case (idk)

ls -la /var/lib64/lxc/
cat /var/lib64/lxc/*

Best guess for a quick solution:

devel-su
mv /var/lib/lxc/aliendalvik/extra_config ~/
systemctl restart aliendalvik

It is indeed extra_config that prevents Aliendalvik from starting.
The file looks as follows:

lxc.mount.entry = /system/etc/hosts system/etc/hosts none,bind,ro 0 0

After removing it, Aliendalvik starts as usual.

Here is some output from journalctl (however, it doesn’t seem to be related to this issue):

Nov 17 12:36:08 Xperia-10ii systemd[1711]: aliendalvik.service: Executable /usr/bin/start-aliendalvik-preinit.sh missing, skipping: No such file or directory
-- Subject: Process /usr/bin/start-aliendalvik-preinit.sh could not be executed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- The process /usr/bin/start-aliendalvik-preinit.sh could not be executed and failed.
-- 
-- The error number returned by this process is 2.
Nov 17 12:36:08 Xperia-10ii systemd[1712]: aliendalvik.service: Executable /usr/sbin/start-aliendalvik-preinit.sh missing, skipping: No such file or directory
-- Subject: Process /usr/sbin/start-aliendalvik-preinit.sh could not be executed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- The process /usr/sbin/start-aliendalvik-preinit.sh could not be executed and failed.
-- 
-- The error number returned by this process is 2.
2 Likes

Looking at other entries in bsp_config, shouldn’t the extra_config file look as follows:

lxc.mount.entry = /system/etc/hosts system/etc/hosts none bind,ro 0 0

instead of

lxc.mount.entry = /system/etc/hosts system/etc/hosts none,bind,ro 0 0
3 Likes

Oh no! :hide: :duck: :cover:

Thanks for investigating. Of course that cannot work!

Would you please edit this file “/var/lib/lxc/aliendalvik/extra_config” to

lxc.mount.entry = /system/etc/hosts system/etc/hosts none bind,ro 0 0

(mind the space between none and bind)
and put it back in place?
And restart Android Support once more.

This should be the cause.

P.S.: there is no /var/lib64 folder or more specific /var/lib64/lxc/aliendalvik?

1 Like

Yes, was writing answer above…

Already did that, and can confirm it works. And there is no /var/lib64 folder on my device (Xperia 10 ii).

1 Like

Thank you!

New packages to come …
(but not right now :frowning: but soon™ :slight_smile: )

–edit
And new RPMs are out (by courtesy of @orangecat, big thank you)

3 Likes

@peterleinchen I have several suggestions for the new release, would you like to hear them?

It seems I’ve messed something up and now I can’t block ads anymore (even though the list loaded successfully). Could someone help me out, please?

Edit: I fixed it in the end

I’d like to hear them :slight_smile:

Plus a counter instead of the indefinite progress. How many passed and how many remaining. Just the other day I had to once again quit updating because it had been going on for days and I had no idea where it was.

One could obtain a Content-Length header and count?

I don’t know. I surely hope so. It might have nothing to do with HTTP headers but rather the volume of sources if kept as objects.

Possibly also a noob question: I installed version 0.6 for the first time on SF 4.4. By default I see no sources at all and I don’t see a file /etc/defender.conf. Do I have to add it manually to get sources or is it a bug?

I have the same problems since the 4.4 version of the OS.
It was running fine on previous versions of the OS.

Defender is simply broken on 4.4. For more info you can check out this thread Block ads on Sailfish 4.4 Both sandboxing and other browser things have changed
New issues have been created too: Issues · peterleinchen/harbour-defender · GitHub
But Peter is not the original developer of Defender, he has been keeping it alive for some time, but if anyone could help with rewriting the Python code, it would be a massive help.

4 Likes

Note that only the GUI part is broken (mostly due to jailfish stuff); the service itself still works (in defender, the actual engine is separate from the GUI).

So you can manually edit / restore from backup the file .config/harbour-defender/defender.conf (warning, it will be overwritten on defender GUI’s start up).
Then touch ~/.config/harbour-defender/update to use the .path automatic trigger (this in turn will automatically call devel-su systemctl status harbour-defender.service for you).

Android will disable ads immediately if it has already been restarted after defender’s installation (so its /etc/hosts is mapped to Sailfish’ file).

Sailfish Browser will disable ads next time it is fully restarted (warning, the pre-cache might still have an older copy of /etc/hosts in cache ; you might want to kill any pre-cached instance, or restart the Silica UI or reboot the whole phone)

2 Likes