-
Notifications
You must be signed in to change notification settings - Fork 194
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
Toybox vs Busybox #116
Comments
thanks for notifying me :) |
Your test APK is working well, toybox is detected. Thanks :-) |
great :) can you confirm that everything works as it should?
(the flags are important too) so it's actually only if all of those are available natively on android 6 that setting toybox as oab's busybox would make sense. |
You are right, there seems to be a problem with restoring the data even if logcat reports success. 01-09 21:34:15.762 I/oandbackup(30441): restoring: GigaGet |
The commands seem to be there, maybe this helps: cd /system/binls -l-rwxr-xr-x 1 root shell 389648 2009-01-01 09:00 aapt lrwxr-xr-x 1 root shell 6 2009-01-01 09:00 acpi -> toybox -rwxr-xr-x 1 root shell 5568 2009-01-01 09:00 adsprpcd -rwxr-xr-x 1 root shell 210 2009-01-01 09:00 am lrwxr-xr-x 1 root shell 13 2009-01-01 09:00 app_process -> app_process32 -rwxr-xr-x 1 root shell 22144 2009-01-01 09:00 app_process32 -rwxr-xr-x 1 root shell 66220 2009-01-01 09:00 applypatch -rwxr-xr-x 1 root shell 213 2009-01-01 09:00 appops -rwxr-xr-x 1 root shell 215 2009-01-01 09:00 appwidget cd /system/xbinls -l-rwxr-xr-x 1 root shell 448176 2009-01-01 09:00 7z |
Here the ls (without -l) version for better overview: cd /system/binlsaapt ftpget mount.exfat setprop cd /system/xbinls7z fio ltrace procrank simpleperf unzip |
thanks. it's probably because |
sorry, i made a mistake. please try this one: https://drive.google.com/file/d/0B0bNUNWd2wPPQzFtYjUtRlREMVU/view?usp=sharing |
The files are restored and the chcon seems to work, but there is a problem with the chown, not all directories and files are set to the correct owner and group. |
A manual chown -R solved the problem. |
could you give me an |
First, yes I meant restorecon not chcon, can remember the discussion about what would be the best choice. ;-) Here the output right after restoring an app: ./databases: ./files: ./files/thumbs: ./files/thumbs/banners: ./files/thumbs/banners/posters: ./shared_prefs: The small script hasn't made any output and didn't change the rights and owners. First run: for dir in /data/data/dk.jens.backup/*; do if test
|
so the line you label first run fails and second run succeeds? but am i correct that the only things you have changed are the permissions and ids? i can't really see how that should have helped when the problem was that it didn't set ownership at all. please describe what you did. does android 6 not have a lib symlink in the data subdirectories? try if this one works maybe: https://drive.google.com/file/d/0B0bNUNWd2wPPakM5QVZiZWNUTDA/view?usp=sharing |
No, both lines succeeded, I just wanted to show you that. I removed the 3 appearances of toybox in your snippet. |
ok, so removing toybox from the line fixed it? |
Yes, removing fixed it. Tested the following: toybox basename /sdcardsdcard if toybox test
|
ok, so is the lib symlink also missing if you only restore the apk and not the data? if not does it then disappear when data is restored? and if it is missing at first, is it then different if you install an app manually by clicking the apk in the oab subdirectory (after it has been uninstalled)? |
All three command lines give me a "fail". Will do the other tests later. ;-) |
Was too quick, number 3 gives me: if: toybox test "$(toybox basename /sdcard/)" = "sdcard" && echo ok || echo fail /system/bin/sh: if:: not found |
ok, so unless i'm going crazy i think we can say that your error on number 3 is just because of my confusing formatting. you should just run |
I'm using CM13, latest nightly. strings /system/bin/sh | grep VERSIONKSH_VERSION=@(#)MIRBSD KSH R50 2015/04/19 Here your modified third command: toybox test "$(toybox basename /sdcard/)" = "sdcard" && echo ok || echo failfail |
When I start toybox it gives me "test" as included command, so it seems you are right, it's broken. Without toybox in front of test: test "$(toybox basename /sdcard/)" = "sdcard" && echo ok || echo failok |
ok, if you could report that in the appropriate place that could be helpful if we need |
Cyanogen does not allow to report bugs before any stable version was released, so I'm unsure were the best place to report this error could be. Will test the lib problem later, actually we have some visitors for coffee and cake. |
ah ok, i don't know where the best place to report it is either. i might try to cross-compile the toybox source from http://www.landley.net/toybox/ and see if the problem is there too. |
Tested all the three cases but no lib symlink. So I installed a new app from f-droid, but no lib link?!? See yourself: /data/data/cz.martykan.webtube # ls -l |
But this one is having the link: /data/data/jackpal.androidterm # ls -l |
With the second app it was like this:
|
ok, so it's probably only created if it's actually needed. |
I performed the last test with this program version. |
brilliant :) thanks for reporting and testing :) |
Yes OK, I'll keep my eyes open ;-) |
There seems to be a problem with the toybox implementation of test in at least cm 13 so the line which calls chmod and chown has been rewritten a bit for android versions 6 and above. Cf. issue 116: #116
Thanks for that awesome app and your enthusiasm. I've tested a workaround on my CM13 setup, which seems to work (for now). I also could backup to external storage over this way: Only the restore from the external storage completely doesn't work, as it's described here: |
Still not working for me. I'm on 0.2.11 (as published on F-Droid), CM13, and keep getting an error message about busybox missing (and restore fails because of missing commands). I have no custom path set for *box, thus the default should be used. I see all changes that seem related to this issue were before 0.2.11, the only exception being 32bc079. That commit is about detecting busybox v. toybox, and the error I get seems to indicate oandbackup is looking for busybox when I have only toybox. Is 0.2.11 supposed to work with CM13/toybox? Will I have to wait for the next release? Or are there still issues to be resolved? |
Thanks, that did the trick! I did a test backup and restored it, both went through without any errors. |
When will a new version available in F-Droid repo? |
@FrankEular not very soon i'm afraid. i don't have so much time at the moment. |
ping
|
@ildar do you need something? This should be fixed (#116 (comment)) and you just sent an email to a lot of people subscribed to this issue or watching this repo. |
yep. Autodetection (#116 (comment)). For
many people using LA & CM who don't care about busybox to toybox transition.
IMHO the whole "horde" of 19 men (including me) wanting to track this quiet project are interested in most UX-sensible issues.
But in general I'm glad you care :)
|
AOSP switched from busybox over to toybox, so it would be great if you could check for busybox and/or toybox.
Because on newer ROMs like CM13 busybox is no more detected and a workaround for this is to set toybox as busybox in the options menu. But auto detection would be a good feature ;-)
http://review.cyanogenmod.org/#/c/119819/
The text was updated successfully, but these errors were encountered: