yashsingh1/xdaforums huggingface dataset:
[Android Software Development] danarama:
Its because Linux sorts in ASCII order instead of case insensitive alphabetical order. You'll probably find this is kernel related
[Android Software Development] hachamacha:
Yeah, but wouldn't you think that if you converted everything to lowercase before a sort that it would undo the default Linux behavior?

Note: Even though I dumped my intermediates before the last build, I'm suspicious that I'm building the first version of 2.25.0 (without this change I added) and that much as I hate the thought, it might be time for me to re-init the repo, start from scratch. Geez, I hate doing that ;) The reason I'm so suspicious of the output is because I added code, yet the ./out tree img file is still the exact same size as the 2.25.0 first-take file. I suppose it could happen, but it hasn't until now.

Edit: I updated the moto_msm8960 thread with the standard release 6.25.0 and we'll see what else is up if I can either get the change above to work by re-fetching everything and building (actually that should work). I'll update the info here later.
[Android Software Development] danarama:
Not necessarily in the same session but after a reboot of the kernel probably?
[Android Software Development] hachamacha:
I think I see the problem although I can't figure out why it is since I did a "$make clobber" between which should delete the ./out tree. I did a "$find ./cm11 -name 'extendedcommands.o' -exec ls -al {} \;" which returned a time about an hour before that of the freshly built "recovery.img". I guess "make" in recovery isn't up to detecting a change in one source file and then doing all the dependencies that are required to really get a new object for the .c file. Go figure ;)

I've dumped all 'intermediate-files' and recovery.img and I think that should do it. Will report back. I also re-checked the mod to change the sort order and it looks like it just ought to work. (like so many things.. )

By the way: Thanks for all the stuff you do in here to try to keep the nuthouse from exploding.
[Android Software Development] Phil3759:
Nice one :good:

I use this Nick on freenode:

PhilZ_

Waiting from you
[Android Software Development] Phil3759:
Please try to ask [MENTION=4859152]titanic_fanatic[/MENTION] in the thread of his device here:

http://xdaforums.com/galaxy-s2/development-hd/celoxhd-philz-touch-t2552634

He might help you

I use a custom script to start building and do some cleaning job before:

echo -e "\033[32;40;1mCompiling recovery for $device:\033[0m"
# clean up
echo rm -rf "$DEVICE_OUT_DIR/obj/EXECUTABLES/recovery_intermediates"
echo ""
rm -rf "$DEVICE_OUT_DIR/obj/EXECUTABLES/recovery_intermediates"
echo ""
echo rm -rf "$DEVICE_OUT_DIR/recovery"
rm -rf "$DEVICE_OUT_DIR/recovery"
echo ""
echo rm -rf "$DEVICE_OUT_DIR/obj/STATIC_LIBRARIES/libtouch_gui_intermediates"
rm -rf "$DEVICE_OUT_DIR/obj/STATIC_LIBRARIES/libtouch_gui_intermediates"
echo ""

I am not sure though if cleaning recovery intermediates is still needed as I think it is now done since a few cm commits back

However, every time you repo sync, you should make clobber

I do not always repo sync whole cm tree, just selected branches. And, on major updates, I do a full repo sync and clobber

That way, building a recovery takes less than 5 mn where it could take 30 mn after a clobber
[Android Software Development] Bhargav97:
/INVITE PhilZ_ #PhilZ-Touch

yields output:

(401) PhilZ_ :No such nick/channel

You need to be online if you want me to invite you.

Can you join #PhilZ-Touch manually now?

I'll be giving you all the permissions.
[Android Software Development] hachamacha:
Good script. Thanks. I will ask [MENTION=4859152]titanic_fanatic[/MENTION] in his thread.

Thanks.
[Android Software Development] Android-Andi:
Hey [MENTION=4666971]Phil3759[/MENTION] ! Any way i can mount my internal Storage and microSD Card to get access from my Laptop / PC if connected in recovery?

(Device: P3110)

Thanks a lot!
[Android Software Development] Bhargav97:
Mounts & Storage > Mount USB Storage
[Android Software Development] Android-Andi:
[MENTION=5165022]Bhargav97[/MENTION] any way to mount the internalStorage too? only my MicroSD got mounted :p

Edit:

i also tryed adding this to the init.rc:

on property:sys.usb.config=mass_storage
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 685b
write /sys/class/android_usb/android0/functions $sys.usb.config
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state $sys.usb.config

on property:sys.usb.config=mass_storage,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 685e
write /sys/class/android_usb/android0/functions $sys.usb.config
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state $sys.usb.config

But didn´t work :p
[Android Software Development] Bhargav97:
One way is to swap partitions inside /system/etc/vold.fstab. Use adb pull/push to get the file and send it back.

Another is mounting through adb.

Here is an example: http://xdaforums.com/showthread.php?t=531310

Just correct the blocks according to your device.
[Android Software Development] Android-Andi:
thanks [MENTION=5165022]Bhargav97[/MENTION] :) but no way to mount both at same time?
[Android Software Development] Bhargav97:
Seems like you'll need two lun files and echo the block device in both. You'll have to enable them from UMS driver and then a recompile.

I don't know any easier way. MTP would be very nice. But, not yet supported in recoveries.
[Android Software Development] edzamber:
It will be Great if an option to have acces to internal and external sdcards like in DorimanX kernel for S2 but its possible only with Gokhanmoral recovery sources...

Posté via Pyrana v35 4.4.2 NBH by Alan-B, powered by Talexop kernel v2.4.2

http://xdaforums.com/showthread.php?p=50627772
[Android Software Development] Bhargav97:
Hi Phil3759,

I've given all the possible permissions/flags to your nick: PhilZ_

+AFRfiorstv

You can come to channel anytime and invite others you know and do anything you want. I've kept GUARD ON, so ChanServ will be always there even if nobody is at channel and even registered the channel, so it's not going anywhere.

You can always see and edit the Access list:

/msg chanserv access list #philz-touch

And...Now you can add it to your OP.
[Android Software Development] Phil3759:
PhilZ Touch supports dual lun mount on S2, n7000 and all devices having real internal storage partition

YOu are just mixing S2 and other devices without physical internal storage partitions. There is no recovery supporting this and there maybe never be one

:good:

Will look at it asap
[Android Software Development] Phil3759:
just joined, but I am not OP

Added you to my contacts, but please, PM only if really needed. I disabled PMs for that and could be I completely close them once for all
[Android Software Development] Bhargav97:
Auto-OP=Done.

PM thing=Sure...won't send if not really needed.
[Android Software Development] Phil3759:
New support IRC channel on freenode: #PhilZ-Touch (thanks [MENTION=5165022]Bhargav97[/MENTION])

Feel free to join.

If you are an "online guy" and you wish to have OP status there to give proper support, feel free to ask here, either me or [MENTION=5165022]Bhargav97[/MENTION]
[Android Software Development] hachamacha:
Worked some more on the upper vs. lower zip listings and got some help from titanic-fanatic. Looks like I was looking at the wrong commit. Neither of the first two were quite right for what was desired, so the most recent one (to extendedcommands.c) was the one. I picked out just the pieces I needed to see it work and that's the state of it right now. It works and there's no longer sorting where uppercase trumps lower.

Here is the diff files from orig to the one I finally used:

--- bootable/recovery/extendedcommands.c.orig	2014-03-29 08:14:51.670308803 -0700
+++ bootable/recovery/extendedcommands.c	2014-03-29 15:06:44.179986630 -0700
@@ -311,6 +311,23 @@
free(array);
}

+// case-independent string compare routine dec.
+int strcmpi(const char *, const char *);
+
+// case insensitive C-string compare
+ int strcmpi(const char *s1, const char *s2) {
+ char *s1_p = (char *)s1, *s2_p = (char *)s2;
+ while ((tolower((int)(*s1_p)) == tolower((int)(*s2_p))) && (*s1_p != '\0')) {
+ ++s1_p; ++s2_p;
+ }
+ if (*s1_p == '\0') {
+ return 0;
+ } else {
+ int c1 = tolower((int)*s1_p), c2 = tolower((int)*s2_p);
+ return (c1 < c2) ? -1 : +1;
+ }
+ }
+
char** gather_files(const char* basedir, const char* fileExtensionOrDirectory, int* numFiles) {
char path[PATH_MAX] = "";
DIR *dir;
@@ -413,7 +430,8 @@
int curMax = -1;
int j;
for (j = 0; j < total - i; j++) {
- if (curMax == -1 || strcmp(files[curMax], files[j]) < 0)
+	// try using strcmpi (above near line 328) to get rid of case-dependence.
+ if (curMax == -1 || strcmpi(files[curMax], files[j]) < 0)
curMax = j;
}
char* temp = files[curMax];

In my msm8960 thread, I've just got this setup as a test case near the thread's end until it's decided which way to go with it. I like titanic-fanatics implementation which gives users the choice to use it or not but was running out of my time on this for the day so just popped in the above. His change-set is here: https://github.com/titanic-fanatic/philz_touch_cwm6/commit/234a19ec882037f649a4f438a2c8664adf3f8514

Many thanks to titanic-fanatic.
[Android Software Development] Bhargav97:
Thanks [MENTION=4666971]Phil3759[/MENTION] for giving the Channel Official Support.

The users that don't have an IRC client, can visit here for web IRC:

http://webchat.freenode.net/?channels=PhilZ-Touch

This is freenode webchat. So, no need of an IRC client. :)

We need more and more helpers, experts, contributors, developers on our channel to make it big enough that people seeking support can get help/support and finally we can proudly say that our channel has: LIVE-SUPPORT. I request you all to start inhibiting the channel if you think you can help others somehow. :)

Always, A big thanks for your co-operation and your help at the channel.
[Android Software Development] Ruling:
Device support update

30,Mar,14[Ace] CWM 6.0.4.7 Advanced Edition / PhilZ Touch 6.25.0 (libtouch_gui 1.16)

Download:

View attachment philz_touch_6.25.0_ace.img.img
[Android Software Development] chraso:
Hi PhilZ

Need help on the boardconfig file for making it compatible for our androidarmv6 devices.

As our phones aren't officially supported on CM the great developers like psyke83 erikcas AndroidMeda and many others have given great contribution for keeping this tiny phones updated and alive.

I would like to make the common boardconfig file like you made.

I'm stuck at the device's tags.

Would you interested helping?
[Android Software Development] Phil3759:
Sure if i can

What exact issue do you have?
[Android Software Development] shoey63:
New pull request on your Git, Phil. Some new Sony devices added to BoardConfig.mk

Please review at your leisure:)
[Android Software Development] Pons:
He should get an email alert. But anyways, you added a backup file (ends with ~) on accident.
[Android Software Development] danarama:
I got an alert too...
[Android Software Development] shoey63:
Ok I deleted the accidental backup file. There is extra stuff there I don't want committed. How to get Rid Of it?

Wow that's weird :confused:

Edit: I closed the pull request until I work out what's going on:o

Edit 2: Sorted Now. New pull request submitted
[Android Software Development] danarama:
I'm just watching the repo. I thought that would alert me when commits are made. Instead it alerts me to "conversations" such as pull requests
[Android Software Development] Slim2none4u:
Quick question..Will the d2lte work on the d2usc. I know they have been unified as far as roms but not sure if recovery is unified as well.
[Android Software Development] shoxxy:
Hey ;)

Adding extra partition works fine now after adding :

# cust filesystem

/cust(/.*)? u:object_r:cust_file:s0

to: Sepolicy/file_contexts

Finaly i have one Problem on my G510: make update.zip function did only works with stock based JB 4.1.1 Rom , Cm10.2, Cm-11 gives error " interrupted " when recovery try to pack the backup.

Have someone an idea how i could fix this ? Search don"t bring me the right result.

#

Thx 2 Phil & hachamacha

#

and all other....

Best Regards
[Android Software Development] Phil3759:
Probably because it is short of ramdisk space or zip size over 2Gb
[Android Software Development] keneth_c:
Dev

/data/media didn't work nevertheless

And neither did /sdcard0/clockworkmod

Just wanted you to know.

--
[Android Software Development] Phil3759:
That code is a bit hard to follow and not using functions as they are intended to be, that's why I did not merge it yet.

I found a little time to fix it:

https://github.com/PhilZ-cwm6/philz_touch_cwm6/commit/1112f971f1188862576e24d062fb81cd1ad8a4df

It is now 6.25.2 and the sorting order works perfectly on my code snippet tests under linux box:

Before:

root@ubuntu:~/Desktop/torm-kernel-out/c++_debug# ./a
sample/FIle
sample/File
sample/Film
sample/file
sample/film
sample/filn

After the fix:

root@ubuntu:~/Desktop/torm-kernel-out/c++_debug# ./a
sample/FIle
sample/File
sample/file
sample/Film
sample/film
sample/filn
[Android Software Development] hachamacha:
msm8960 thread updated for 6.25.2 -

Thanks Phil & titanic_fanatic.

----------------------------------------------

Request: Wondering if you could add this clause to ./boardconfig/BoardConfig.mk:

#Motorola - unified moto_msm8960
else ifneq ($(filter $(TARGET_PRODUCT), cm_moto_msm8960),)
TARGET_COMMON_NAME := Droid unified msm8960 ($(TARGET_PRODUCT))
TARGET_SCREEN_HEIGHT := 1280
TARGET_SCREEN_WIDTH := 720
BRIGHTNESS_SYS_FILE := "/sys/class/backlight/lcd-backlight/brightness"

I'm reluctant to yank out the components that were unified in cm11. If you'd like I can grab their unified list and clear them all out and give you a patch.
[Android Software Development] mohaxs:
Does it support for broadcomm chipset? Like Xolo Q1000 Opus or Advan S5J
[Android Software Development] DoctorQMM:
Question: in 6.19.2 (t0lteatt), I recall an option (from the Install selection) called something like "Don't allow old binary-update"... and I had to uncheck it to flash a ROM with pre 6047 (CM11) binary code. With it checked, I got a Status 7 error. In 6.25.0 (t0lteatt), I don't see that option but do see "Signature Verification". Is that basically the same function as the "don't allow old binary-update" option? Thx.
[Android Software Development] Pons:
No. The signature verification makes sure the zip file is signed. The old update binary option has been removed, and the recovery automatically looks for it, and uses it if applicable. You'll notice a message say using legacy Binary or something similar.
[Android Software Development] Bhargav97:
It can support any device OR chipset as long as it is supported by Cyanogenmod. Read post #2 for more info.
[Android Software Development] freibergisch:
[MENTION=4666971]Phil3759[/MENTION]:

Hi, i used your recovery on all my devices and now I've got a tablet by a German company ("Odys"). Odys makes quality and cheap tablets and their current product line is strong but not yet widely known. And there is no working CWM or better no working recovery from you.

Is it possible that I deliver you with all data you need and you make a philz recovery for my tablet?

It would be very nice to be able to use your recovery.

Thank you for your recovery on other device! :)

Best regards

Marcus

PS: it is rockchip-powered.. I have outputs online of mtd, mtd in recovery, partitions and partitions in recovery, cmdline and the boot.img and original recovery..
[Android Software Development] CODE_WORKX:
[MENTION=4666971]Phil3759[/MENTION]

I am requesting you to guide me to port this recovery to micromax a110

my device had a philz recovery with cwm 6.0.3.2 base....I have been creating cwm 6.0.4.7 for my device..although it does not boot..

all i wanna know is how can turn that into your latest philz recovery...or how i can turn my latest cwm to philz touch 6

you help will be grateful.....thanks in advance

regards..
[Android Software Development] freibergisch:
You have to replace the cwm from cm source with the philz recovery files from github.. i believe the path is boot/recovery in cm source.. and make the recovery again.. if it does not boot you should figure out if the recovery (stock) has kernel into it.. if there is a zImage (like at my tab) in stock recovery and you create new recovery without kernel it won't boot.. This is what happened to me and I did not know why :)
[Android Software Development] Bhargav97:
[MENTION=2084601]freibergisch[/MENTION],

To make PhilZ Touch Recovery, you need to have your device tree under Cyanogenmod. And, if it's there then just tell any dev of your device or Phil3759 to make the recovery OR the best way is to make it yourself. Just follow post #2.

However, I'm damn sure you don't have a device tree because that brand is not yet well known, so there won't be any/more devs working on it. And as you said there's no CWM implies you don't have a device tree.

Just wait for sometime until devs have their hands on this device and make it officially supported in Cyanogenmod.

[MENTION=5417996]Avenger4droid[/MENTION],

You can't convert an old PhilZ Recovery to latest version magically. All you'll have to do is start from scratch. There's an option: Repack but it's not a good way to go.

So, you can build CWM 6.0.4.7 from sources then you can build PhilZ Recovery very easily. Just read the post #2 (Developers' info) by OP (Phil3759).

But remember, if you can't boot into your Stock CWM, you won't be able to boot in PhilZ Recovery also. First, fix Stock CWM and then Start with PhilZ Recovery.
[Android Software Development] freibergisch:
Yes you're right. But I have working TWRP and I like cwm more then twrp..

I build cwm now but it tells me at the beginning that "src" is not a directory or file..

but then it seems to compile.. it works and works.. will see if the cwm boots.. :)

last try did not boot.. black screen..
[Android Software Development] CODE_WORKX:
[MENTION=5165022]Bhargav97[/MENTION] if i am able to build and boot cwn 6.0.4.7 then i can convert that to latest philz version right????
[Android Software Development] Phil3759:
Yes, read post 2
[Android Software Development] CODE_WORKX:
but the main problem is cwm....i have my stock recovery and recovery.fsatb...

i tried building from builder cwm website which gives me error about unsupported device...

i have my device trees and kernal sources and everything...

how can i compile latest cwm...

please help...
[Android Software Development] Bhargav97:
I really doubted that you must have used CWM builder. Anyhow, if you have all the sources for your device (17-20 GB) ready in your PC/lappy then...Just Read Cyanogenmod wiki about- 'How to build CWM from sources'. You can always Google it, there are ever growing fantastic guides too. Just spend some hours reading them, understand what's happening and then start making Stock CWM from your sources. If you would have understood all the things from guide, reading post #2 will get you on the way to compile PhilZ Touch Recovery.
[Android Software Development] CODE_WORKX:
thanks bro.....will see and reply you back....

btw i am from ahmedabad too bro....:D
[Android Software Development] Bhargav97:
Hi Phil3759,

Just wanted to know some facts:

i) Is PhilZ Recovery violating GPL? (static compile of the touch gui is against gpl libraries)

ii) Have you kanged some things from TWRP? (like color themeing, vibration, backlight timeout, ofcourse TWRP custom backup/restore)
[Android Software Development] Phil3759:
1- is Clockworkmod violating GPL? (compiling touch.c and selling it as retail!)

2- TWRP is opensource, parts of code used from it are clearly stated as that in sources

TWRP is in c++, CWM is in C, so it implies rewriting the code

TWRP and CWM do not and cannot share any GUI code, but is that really hard to guess?

Backlight timeout was implemented in PhilZ before TWRP, maybe even vibration.

Insinuating this is just a stolen code is rather rude, especially if you do not even look and compare sources. All sources are on git. Just browse them to see if anything is stolen without a credit. If you read through them, you'll see what is adapted from TWRP or any other opensource clearly mentioned

libtouch_gui is written nearly from scratch by me, unless you ever saw a similar touch gui on a cwm recovery!

If you have issues with licences, report them to who you think should come ask. I do not allow anyone not involved in developing related projects to discuss about this
[Android Software Development] Phil3759:
It is summer time (DST)

Android, if you look at the system settings, sets your timezone to +1 when DST is enabled.

The DST environment variable seems to be disabled since late JB kernels, thus it won't work when enabled in PhilZ Touch

I thought at fixing it by forcing a set time action when DST is enabled. However, it would break your system clock that would need an auto-update on each reboot to ROM.

So, I decided to leave it as it is. You have to increment timezone, like main Android system does
[Android Software Development] shoey63:
Hi Phil. How do I increase vibration intensity? Can you point me to the part of the code.that deals with it? (Just for my own personal experimentation on XZ)
[Android Software Development] Phil3759:
6.25.4 Update

Released for: jflte, d8xx, ls980, vs980, v500, e980

This should make updating from other and older recoveries easier for all lokied devices
[Android Software Development] Phil3759:
/sys/class/timed_output/vibrator/enable

#time in msec I use: 25

I never looked further, but maybe there are some more options to increase intensity without increasing time interval

Some devices do not go well with very low time intervals. Try to increase it progressively until it fits your needs

Let me know if you have another idea outside that file
[Android Software Development] crawler9:
The latest version won't flash for me. I'm currently on 6.25.2-jflte and my specific device is the jfltetmo. Here's a snippet of the error. I can save and provide a full log from recovery if you'd like, but thought this has the relevant information.

Flashing Recovery...
assert failed: run_program("/tmp/loki.sh") == 0
E:Error in /data/media/0/Download/philz_touch_6.25.4-jflte.zip
(Status 7)
Installation aborted.
[Android Software Development] Bhargav97:
I don't think any recovery code deals with it. You should try to change it in Kernel. Make variation in voltage, change in pulse.
[Android Software Development] Phil3759:
Advanced / Report Error

Attach the log file here so that I can see what is happening
[Android Software Development] Phil3759:
no more needed. I see where I ****ed up things
[Android Software Development] crawler9:
Here's the log file. XDA didn't seem to like the .log extension, so I altered it to .txt to allow it to upload.

edit: Oops, didn't see that you didn't need this anymore until after I posted.
[Android Software Development] Phil3759:
re-uploaded a proper fixed installer for all above versions

Let me know if you still have issues
[Android Software Development] crawler9:
The new zip flashes with no issues. Thanks for the quick fix.
[Android Software Development] hachamacha:
[MENTION=4666971]Phil3759[/MENTION]

In the snippet I gave you for BoardConfig.mk (which may have been typo'd) a few pages back to get msm8960 included, this is what I'm seeing in the git:

else ifeq ($(TARGET_PRODUCT), moto_msm8960)

So what it should be is this:

else ifeq ($(TARGET_PRODUCT), [COLOR="Red"]cm_[/COLOR]moto_msm8960)

Thanks much -
[Android Software Development] Mohamed Yaser:
Port for s5570i pls