-
Notifications
You must be signed in to change notification settings - Fork 132
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
system/build.prop is removed from lineage-15 zips #36
Comments
Is there any replacement for that? Where are the prop stored now? |
The build.prop is only compressed inside the dat file. As far as I can tell, there is no substitute available in uncompressed form. |
Maybe the solution is to use info from the filename if system/build.prop does not exist. |
I will try to download one LOS15 ZIP for OP5 and I'll see how the structure is done, and what I can do :) Thanks |
I was doing some research and it seems that with the PHP version we will be stuck to the file name ( not very optimal though, we will miss the right way to pull information ). On the other side, I could rewrite this as a NodeJS app, and there I could use some packages to mount EXT4 Unfortunately I see no mod_* or library for PHP that uses FUSE ( there is one, but is very old and unmaintained anymore ). Any idea? |
Inspecting the script, it seems that Google removed this feature: https://github.com/LineageOS/android_build/blob/lineage-15.0/tools/releasetools/ota_from_target_files.py#L394 On cm-14.1 the script was adding the build.prop file. |
It might be pretty memory intensive if system.new.dat is extracted to read the build.prop. I asked the guys at lineage if they would consider adding that system/build.prop back into lineage-15.0 builds and it does not seem likely. It does not seem to be used by anyone other than us. |
I see...this sounds like a blocker to me. Unfortunately not all the infos could be extrapolated from the filename ( see https://github.com/julianxhokaxhiu/LineageOTA/blob/2.0/src/Helpers/Build.php#L76 ) so this means the end of this project basically. Unless we figure out a way to get the file back somehow, even by reading everytime the I don't have enough knowledge on Android ROM build, but I figured out that the python script can be patched to maybe obtain that. Any help on this may be useful. Is it worth it to be posted on XDA? |
The only info that we can't get from the filename is ro.build.version.incremental, but do we really need that? Maybe just for delta updates. ro.build.date.utc could be the actual modified date of the file |
We can try that but we will end up in the mess of different filenames, per release...not sure if you ever compared ZIP filename since cm9 they changed a lot. And now we have LOS filenames too... It is possible yes, but not ideal. I'll think about it. Maybe I'll use it as a fallback solution if the |
During the build process, there is a build.prop in $PROJECT_DIR/out/target/product/$ANDROID_DEVICE/. I could always copy that build.prop into the OTA server directory with the same name as the zip file and the OTA could look for that build.prop file if system/build.prop does not exist. When my script copies the files to the OTA server directory, I could easily include a build.prop that way. Example: lineage-15.0-20171030-NIGHTLY-gts210vewifi.zip |
Nice, i like this. Definitely a way to go. We just need to document it and of course apply the logic. I'll do it later :) thanks! |
@syphyr may I please ask you to try it? You must have at least these two files inside builds/full directory:
You can checkout the code from here. There is still no release tagged. Thank you in advance :) |
I have rebased your latest commit and copied the zip and zip.prop files to builds/full. When I run the ota unit test, I only see the cm-14.1 build, but not the lineage-15.0 build. Is there a change needed for the ota unit test to work with lineage-15.0 builds? |
May I have the URL? Anyway, I think this path must be changed, at least the model name. |
Its just a local ip address behind a firewall. I have builds for the same device copied to the OTA Server, one is cm-14.1 and the other is lineage-15.0. I've already edited index.js here: https://github.com/syphyr/CyanogenModOTAUnitTest/blob/master/index.js#L76 The cm-14.1 build shows up in the unit test, but the lineage-15.0 build does not. Only in /var/www/html/CyanogenModOTA/builds/full: cm-11-20171110-NIGHTLY-p3110.html |
May I ask you to upload a copy of your build.prop file? Is it existing next to your ZIP file? Is it named the right way as I've shown in the example? |
Here is a copy of my build.prop (I had to zip it up to post it). https://androidfilehost.com/?fid=889964283620765041 Just unzip it and it should be ok. I added the file list of /var/www/html/CyanogenModOTA/builds/full to my last response, so I think those file names should be correct. Yes, it is like your example. |
tree 0 directories, 9 files |
Technically it should just work. I see no reason in the code why it should not. I also updated the Unit Test code so it works on top of the official OTA server of LineageOS, although it should work just fine also on top of your own OTA server. The prop file looks good. It's really difficult to debug it from here :\ Can I please have also your |
I did one try on my side, and this is what I get: http://localhost:8000/api/v1/cheeseburger/nightly {
"id": null,
"response": [
{
"incremental": "91485dfb93",
"api_level": "25",
"url": "http://localhost:8000//builds/full/lineage-14.1-20171106-nightly-cheeseburger-signed.zip",
"timestamp": "1509963805",
"md5sum": "8af12aeee3dd912731968b99d156b015",
"changes": "",
"channel": "nightly",
"filename": "lineage-14.1-20171106-nightly-cheeseburger-signed.zip",
"romtype": "nightly",
"datetime": "1509963805",
"version": "14.1",
"id": "50d3d9b57f33d1ef86abfe88c8e8a0e2c987c8605b717fb148498c4d372d766d"
},
{
"incremental": "",
"api_level": "",
"url": "http://localhost:8000//builds/full/lineage-15.0-20171109-nightly-cheeseburger.zip",
"timestamp": "",
"md5sum": "f79ce5cd62d1ffada47642ae4a7a58b9",
"changes": "",
"channel": "nightly",
"filename": "lineage-15.0-20171109-nightly-cheeseburger.zip",
"romtype": "nightly",
"datetime": "",
"version": "15.0",
"id": "d4b45864d9d6fabfc568d74f26c35ababde2105337d7af9a6605e1c56c891aa6"
}
],
"error": null
} $ cd builds/full
$ tree
.
├── lineage-14.1-20171106-nightly-cheeseburger-signed.zip
└── lineage-15.0-20171109-nightly-cheeseburger.zip
0 directories, 2 files I don't have the Please try to download again the patched file ( I fixed another bug that I discovered meanwhile testing ). |
Released as 2.7.0. Feel free to use composer to update your code. |
I have updated the OTA Unit Test and I'm still seeing the same results:
{ id: null,
{ id: null, I have uploaded my lineage-15.0 zip here: https://androidfilehost.com/?fid=962021903579491507 |
I rebooted my system and now it shows up. ;-) Its working fine now. Thank you very much for your continued support!
{ id: null, |
One thing I've noticed from the OTA unit test is that "incremental" and "api_level" are unset for lineage-15.0. Does that matter? |
I have to check if they are inherited from the Related to the part that it worked after the reboot, it was maybe because of the memcache? Funny although as it worked fine on my side. Whatever, glad that it worked :) |
Hey, I'm wondering which of the several
Can anyone point me in the right direction? |
I have build lineage-15.0 and noticed that the generated zip file no longer contains "system/build.prop". This is causing the zip file from showing up on the OTA server. We may no longer count on build.prop being available for parsing.
The text was updated successfully, but these errors were encountered: