yashsingh1/xdaforums huggingface dataset:
[prjkt.io] FeintDoxx:
Not a beginner to programming and terminal, but beginner to building android from source, got this when merging:

===============================

== Merging frameworks/base ==

===============================

remote: Counting objects: 535, done.

remote: Compressing objects: 100% (121/121), done.

remote: Total 535 (delta 353), reused 516 (delta 336), pack-reused 0

Receiving objects: 100% (535/535), 360.09 KiB | 622.00 KiB/s, done.

Resolving deltas: 100% (353/353), completed with 113 local objects.

From https://github.com/LineageOMS/android_frameworks_base

* branch cm-14.1 -> FETCH_HEAD

PREVIOUS COMMITS FOUND; SCRIPT MUST BE RUN ON A CLEAN REPO! EITHER REPO SYNC OR PICK COMMITS MANUALLY!

I followed the lineage wiki on how to build from source and attempted to merge after initializing the source repo and then downloading the source with repo sync. I had gotten interrupted once and had to fc terminal and run repo sync once more. Once I had that all done, I figured I would need to pull from the repo before I prepared the device specific code. Currently running repo sync once more then attempting once more and if not I will just delete my current repo download and start from scratch again without any interruptions.

edit: after running repo sync and running the bash script i get this:

===============================

== Merging .repo/manifests ==

===============================

From https://github.com/LineageOMS/android

* branch cm-14.1 -> FETCH_HEAD

On branch default

Your branch is ahead of 'origin/cm-14.1' by 1 commit.

(use "git push" to publish your local commits)

You are currently cherry-picking commit f13d8ea.

nothing to commit, working directory clean

The previous cherry-pick is now empty, possibly due to conflict resolution.

If you wish to commit it anyway, use:

git commit --allow-empty

If you wish to skip this commit, use:

git reset

Then "git cherry-pick --continue" will resume cherry-picking

the remaining commits.

===============================

== Merging frameworks/base ==

===============================

From https://github.com/LineageOMS/android_frameworks_base

* branch cm-14.1 -> FETCH_HEAD

PREVIOUS COMMITS FOUND; SCRIPT MUST BE RUN ON A CLEAN REPO! EITHER REPO SYNC OR PICK COMMITS MANUALLY!

Not sure what to do here as when I attempt git reset and then git cherry-pick --continue

I just get this everytime: fatal: Not a git repository (or any of the parent directories): .git
[prjkt.io] nathanchance:
I would try running a repo sync --force-sync to get rid of any previously picked OMS commits.
[prjkt.io] GtrCraft:
Sound like lineage is already ahead of [MENTION=6842057]The Flash[/MENTION] with commits. So the script doesn't work anymore
[prjkt.io] FeintDoxx:
Hmm, at this point it would be the waiting game before I can merge and build or would there be a work around for this? :eek: thanks for the info though.

---------- Post added at 02:52 AM ---------- Previous post was at 02:50 AM ----------

I'll try this if the error shows up again. I had just started to download the source over again, if it shows up again I will attempt what you suggested. Thanks for the response.:good:
[prjkt.io] nathanchance:
Thanks to [MENTION=5293805]GtrCraft[/MENTION], I found I had derped the logic of finding previous commits. I just pushed a commit that fixed it, give it a go when your sync is done :good:
[prjkt.io] paranoia_gu:
i saw the topic : OMS7 in the Gerrit Code Review of lineageos.

is lineageos will support OMS officially soon ?
[prjkt.io] nathanchance:
That's totally up to them. Someone other than an official team member pushed the patches to Gerrit and they've gotten some buzz but it does not sound like Lineage is too keen on it yet but we'll see. I want to make sure they are always up to date and proper which is why I did it this way rather than going through their Gerrit.
[prjkt.io] FeintDoxx:
So grateful for this though, had recently switched from S7 Edge to Nexus 6P, I had gotten used to being able to apply themes at a breeze with the samsung themes so when I saw the Lineage didn't support OMS officially I was heartbroken once I had found out about Substratum and then faith was revived when I saw this post. :D
[prjkt.io] nathanchance:
Welcome to the Nexus side of life and enjoy the support :) feel free to ask me any questions you may have!
[prjkt.io] ZawZaw:
Hi Sir [MENTION=6842057]The Flash[/MENTION]

I have a question.

This Guide is only for LineageOS source based?

Can work for another ROM source based?

Thanks You

•••
[prjkt.io] nathanchance:
I would recommend using the official Substratum documentation to merge OMS into an AOSP based ROM. The only reason Lineage is special is because they have modified a few of the core managers that OMS also touches.
[prjkt.io] ZawZaw:
Thanks You Sir.

:good:

•••
[prjkt.io] engmia:
You can always use rooted Substratum on LineageOS.
[prjkt.io] pavanjadhaw:
===============================

== Merging frameworks/base ==

===============================

lineage_oms_merge.sh: line 188: cd: lineageOMS//frameworks/base: No such file or directory

warning: no common commits

Whole output here : https://hastebin.com/uzuqusavug.pl

Sir, am I doing something wrong? Please point me in right direction
[prjkt.io] rajatgupta1998:
You have just quoted the previous posts ? please let this thread survive and be clean!! If we continue posting, one day the important info will be so difficult to find ?.

Maybe the moderator can clean this? ?? [MENTION=6842057]The Flash[/MENTION]
[prjkt.io] nathanchance:
Don't add a trailing / to the end of your path.
[prjkt.io] FeintDoxx:
What? I had tried this with no successful results. Maybe it was the theme I was trying to apply.

---------- Post added at 07:41 PM ---------- Previous post was at 07:40 PM ----------

Just woke up, commenced merged and is running past where it would get stuck last night. :svetius:

Got this after attempting to build and failed somewhere by the ninja wrapper:

Starting build with ninja

ninja: Entering directory `.'

ninja: error: 'vendor/huawei/angler/proprietary/bin/ssr_setup', needed by '/home/omar/Android/lineage/out/target/product/angler/system/bin/ssr_setup', missing and no known rule to make it

build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed

make: *** [ninja_wrapper] Error 1

make: Leaving directory '/home/omar/Android/lineage'

#### make failed to build some targets (01:14 (mm:ss)) ####
[prjkt.io] nathanchance:
Need to sync vendor blobs from the Muppets: https://github.com/nathanchance/local_manifests/blob/master/lineagevendor.xml
[prjkt.io] FeintDoxx:
git pull https://github.com/nathanchance/local_manifests/blob/master/lineagevendor.xml cm-14.1

Or

git pull https://github.com/nathanchance/local_manifests/blob/master cm-14.1

Then repo sync.

Or am I completely wrong on both guesses? Sorry not too familiar with the syntax yet. I'll get it soon I swear.
[prjkt.io] nathanchance:
cd .repo
mkdir -p local_manifests
cd local_manifests
wget https://raw.githubusercontent.com/nathanchance/local_manifests/master/lineagevendor.xml
cd ../..
repo sync vendor/huawei

This will add that manifest to your local manfiests folder so that it doesn't conflict with anything Lineage upstream does. Same reason I provide a local manifest in this thread. The last line just syncs the huawei vendor, you can just do a normal repo sync if you want to update all of your repositories.

I'd recommend opening up the lineagevendor.xml file and removing the motorola vendor, I only need that because I build for Shamu.
[prjkt.io] pavanjadhaw:
I think you repeating the same mistake, how irony?

SO my thoughts are same as yours...

If we continue quoting whole post, one day the important info will be so difficult to find .

Maybe the moderator can clean this?
[prjkt.io] FeintDoxx:
Fantastic syncing the vendor at the moment, just got out of work and got this syncing the moment I got home. Thanks again, also AZ! Miss the heat.

edit: Build in progress, everything seems good so far, ninja entered the directory and started to build. Looking to go workout and check back on this once I return, thanks again for the help!

Edit: It took 7 hours and 30 minutes but the build was successful. Now for a flash.

Edit: Okay, quick question, theres the OTA zip and then the unofficial build zip. I was planning on dirty flashing the unofficial zip, but can you flash the OTA zip too and get the same results? Made a nandroid backup and will commence the dirty flash. Just as expected a full wipe is necessary.
[prjkt.io] nathanchance:
Flash the unofficial zip.
[prjkt.io] Jleeblanch:
This is much appreciated! I spent (a lot of) days trying to cherry-pick all the commits for full OMS support in LineageOS without any mods (stock LOS). It took a lot of trial and error, searching to find solutions, or clues to one! Finally I was successful in building/compiling it. Wish this had come about sooner lol. Glad to see it here now by the members of the Substratum Team.

Anyway, just wanna give my thanks! It's been a learning process making LineageOS compatible with Substratum/OMS and I'm excited to see how well I actually did now that I have something to compare it to!
[prjkt.io] FeintDoxx:
Thanks! Got the build installed and running, substratum is now functional as before just opening the settings tab crashed the app. Running Domination Theme!
[prjkt.io] LNDH:
amazing
[prjkt.io] engmia:
Most probably. I'm currently running LineageOS on official build from 02.13. This is before they even announced they are cutting off Cyanogen Theme Engine, so I don't believe it has any substratum commits what so ever.

It does require root on my device, but works perfectly with several themes.
[prjkt.io] FeintDoxx:
The substratum app would only open in legacy but now it just loads with OMS. So overall a win.
[prjkt.io] Lightn1ng:
[MENTION=6842057]The Flash[/MENTION],

I've compiled for kltevzw with the patches applied but when I apply a theme using Substratum I get this:

» [com.cyanogenmod.settings.device]: Overlay APK has failed to install! "(Exception)
» [com.cyanogenmod.settings.device]: Installation of "com.cyanogenmod.settings.device" has failed.
» [android]: Overlay APK has failed to install! "(Exception)
» [android]: Installation of "android" has failed.
» [com.android.bluetooth]: Overlay APK has failed to install! "(Exception)
» [com.android.bluetooth]: Installation of "com.android.bluetooth" has failed.
» [com.android.server.telecom]: Overlay APK has failed to install! "(Exception)
» [com.android.server.telecom]: Installation of "com.android.server.telecom" has failed.
» [com.google.android.gm]: Overlay APK has failed to install! "(Exception)
» [com.google.android.gm]: Installation of "com.google.android.gm" has failed.
» [com.android.vending]: Overlay APK has failed to install! "(Exception)
» [com.android.vending]: Installation of "com.android.vending" has failed.
» [com.google.android.apps.plus]: Overlay APK has failed to install! "(Exception)
» [com.google.android.apps.plus]: Installation of "com.google.android.apps.plus" has failed.
» [org.cyanogenmod.cmparts]: Overlay APK has failed to install! "(Exception)
» [org.cyanogenmod.cmparts]: Installation of "org.cyanogenmod.cmparts" has failed.
» [com.android.packageinstaller]: Overlay APK has failed to install! "(Exception)
» [com.android.packageinstaller]: Installation of "com.android.packageinstaller" has failed.
» [com.android.phone]: Overlay APK has failed to install! "(Exception)
» [com.android.phone]: Installation of "com.android.phone" has failed.
» [com.android.settings]: Overlay APK has failed to install! "(Exception)
» [com.android.settings]: Installation of "com.android.settings" has failed.
» [com.android.systemui]: Overlay APK has failed to install! "(Exception)
» [com.android.systemui]: Installation of "com.android.systemui" has failed.
» [projekt.substratum]: Overlay APK has failed to install! "(Exception)
» [projekt.substratum]: Installation of "projekt.substratum" has failed.
[prjkt.io] JohnMcW:
you can get messages like that if the permissions did not take for the storage,

clear the data for substratum, toggle the permissions off and back on...when you run it for the first time after clearing data, it should ask you for permissions again...then it might be fine.
[prjkt.io] Lightn1ng:
Actually it seemed the issue was with my horrible, horrible git skills. I repo-sync --force-sync'd and re-ran the merge script. It works now. Thanks though. :highfive:
[prjkt.io] nathanchance:
Repos are all up to date for Lineage's 7.1.2 merge.
[prjkt.io] MZO:
Woohoo, [MENTION=3792100]dadi11[/MENTION] you might need this :D
[prjkt.io] Sachin ET:
Which is the best dark theme for WhatsApp........i tried many themes including the Swift Black and Swift Dark but those are having several issues like invisible font.......can anyone help me.
[prjkt.io] MZO:
Hey, this is not the correct place to ask. Stop using beta WhatsApp and it should be better.
[prjkt.io] h4waii:
How's the support for LOS13.0? The script is a little bit broken when checking out the cm-13.0 branch.
[prjkt.io] nathanchance:
The cm-13.0 branch is unsupported with this. OMS7 is only available for Nougat and I'm not interested in backporting it to Marshmallow or added OMS3 support as Substratum does not actively support Marshmallow anymore.
[prjkt.io] cuberio1:
First of all thank you very much The Flash for this thread. I began building with your tutorial on how to build Pure Nexus for Nexus 6, which is an excellent way to start building. I only flash this way since then.

As I succeeded to build Lineage stock for my Oneplus 3T, I wanted to ask you these two questions :

- I was thinking to add Substratum support through your second option, and wanted to know from wich folder I should run this command (.repo maybe ?) : git pull https://github.com/LineageOMS/android_frameworks_base cm-14.1

- secondly, if I want to remove it (if in anything goes wrong or if Lineage adds Substratum support officially one day), which command line(s) are required

Thanx in advance :)
[prjkt.io] nathanchance:
1. You run the commands in the folder of the repo you are pulling. android_frameworks_base is location in the framework/base folder. android_vendor_cm is in the vendor/cm folder, etc. You need to do that for all the repos.

2. Just run a force sync: repo sync --force-sync.
[prjkt.io] nathanchance:
I have updated the manifest to include all of the repos so you can now sync the manifest directly and build without needing to fiddle with local manifests or cherry-picking. Enjoy!
[prjkt.io] rajatgupta1998:
Thanks for the update man. ? You've been doing awesome work on XDA. #respect . Will start syncing soon. ?
[prjkt.io] ibrokemypie:
Hey [MENTION=6842057]The Flash[/MENTION], I cant get my rom to boot with the OMS commits, just gets stuck on boot animation indefinitely, but boots fine without the commits. Any ideas? (used the merge script, all stuff current as of just now)
[prjkt.io] sudokamikaze:
Nice work !
[prjkt.io] nathanchance:
Nos idea without logs and I have been a bit busy so unable to flash to test myself.
[prjkt.io] ibrokemypie:
what logs would help? as I said, doesnt get past vootloader so any logs would need to be preserved and retrievable from recovery
[prjkt.io] nathanchance:
I can't think of a single change that would result in a build not making it past the bootloader. That's almost always a hardware, device, or kernel repo and none of these commit touch that. I'll try to test tomorrow, I've been too busy lately.
[prjkt.io] ibrokemypie:
sorry, just clarifying that I meant boot animation, not bootloader...

I thought the most likely suspect would probably be selinux but theres no change after building without, and of course it doesnt build without frameworks-base
[prjkt.io] nathanchance:
If it's at the bootanimation, that means zygote has started and adbd should be as well, meaning you can get a log through your computer.
[prjkt.io] ibrokemypie:
adb logcat just sits on waiting for device indefinitely as well
[prjkt.io] XPawlex:
Can someone do with newest version LineageOS for Nexus 5X?

I completely do not understand this.
[prjkt.io] rajatgupta1998:
Hi [MENTION=6842057]The Flash[/MENTION] I'm getting this error:

ERROR: resource directory 'device/motorola/athene/cmactions/../../../../packages/resources/devicesettings/res' does not exist
[ 84% 29870/35454] Building bootanimation
ninja: build stopped: subcommand failed.
build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
make: Leaving directory '/home/tywinlannister7/lineageoms'

Full log: https://paste.ee/p/zocqb

So should I directly clone the android_packages_resources_devicesettings from the official Lineage repo ?

Device tree : https://github.com/tywinlannister7/android_device_motorola_athene
[prjkt.io] nathanchance:
It should have been synced with your dependencies, are all of your other dependencies present?
[prjkt.io] rocknegi:
Sync this repo

repo sync https://github.com/LineageOS/android_packages_resources_devicesettings packages/resources/devicesettings

And

Add this in your dependencies

{

"remote" : "lineage", "repository" : "LineageOS/android_packages_resources_devicesettings", "target_path" : "packages/resources/devicesettings", "revision" : "cm-14.1"

}
[prjkt.io] rajatgupta1998:
For some weird reason the android_external_bson and android_packages_resources_devicesettings were missing. Anyways, fixed now, thanks to you both. The ROM is running fine. :good: And is there any tutorial for setting up local manifests and how to use them? I wasn't able to find an updated guide. :eek:
[prjkt.io] rocknegi:
https://xdaforums.com/chef-central/android/guide-android-rom-development-t2814763
[prjkt.io] stolteres:
Can you build your LineageOS rom with full Substratum support?
[prjkt.io] DSA:
yep, with no issues
[prjkt.io] nathanchance:
That is kind of the whole point of this thread lol... If you are asking if I will build for you, sorry, no. I have neither the time nor the energy to throw out builds for build.
[prjkt.io] stolteres:
Not only for me see how many people follow this thread. Not everyone knows how to bite into android and for you it's easy, it's a pity because rom is cool.
[prjkt.io] nathanchance:
It's actually pretty easy to build a ROM from source if you have the resources: https://github.com/nathanchance/Android-Tools/blob/master/Guides/Building_AOSP.txt
[prjkt.io] stolteres:
You did a good job so I wanted to use your rom, it's fast, light and clean. I do not want to build other roms, I never built I have no experience, I do not have the environment to build a rom. You have everything to add a few lines. Why do you publish your rom since you do not have the time for little help and a little good will ?. More time you have refuted the answer to my post than to devote to adding a piece of script. Well, you just made me taste. I'm looking for another Nougat.
[prjkt.io] nathanchance:
I'm confused... What do mean adding a piece of script? This is a reference thread, there is no ROM download offered here. I have uploaded a set of repos for others to build, which is compatible with all LineageOS devices.
[prjkt.io] stolteres:
Can you write step by step how to add full support substratum to LineageOS? Please!
[prjkt.io] MSF Jarvis:
Isn't this what the entire thread is?:rolleyes:
[prjkt.io] nathanchance:
I totally did not give three step by step procedures in the OP or anything :rolleyes:
[prjkt.io] Char_G:
Oh my :rolleyes:
[prjkt.io] Char_G:
Looks good :good:
[prjkt.io] TechDBZ:
Thanks For This, Excellent Work.
[prjkt.io] Jamie_oppo:
i have chosen number 3

after the repo sync is complete will i be able to build with these apps in it or am i missing a step.

Sorry if this has been said again. Im new to building and wanted to integrate this into my second build.

nice guide by the way.
[prjkt.io] nathanchance:
After you sync, just build as you normally would and all the support will be added.
[prjkt.io] Jamie_oppo:
Thanks alot for advice and thread :)
[prjkt.io] Ajith santhosh:
Is this available for non rooted lineage os
[prjkt.io] rajatgupta1998:
What? If you mean that substratum requires root, then no. If you mean the ROM built using this guide will be pre rooted ? Then it depends on your device tree. (Maintainer is given the option to add remove root by default) else the lineageos su works fine
[prjkt.io] :
Hi Sir [MENTION=6842057]The Flash[/MENTION],

With all due respect I would like to thank you for this helpful thread.

The only thing where I'm getting troubled is that I am unable to understand the "Folder" in which I need to sync the whole repo of OMS. My root directory is "lineage" in which ".repo" folder is there. So am I supposed to make a folder by the name LineageOMS inside the ".repo" folder to make the entire OMS repo sync and the build entirely or it need to be done separately only for frameworks, vendors etc...

Looking forward to your help.

Best Regards

Bond
[prjkt.io] nathanchance:
You just need to sync down the source like you would any other ROM including official Lineage and build as you normally would. Does that clear up your confusion?
[prjkt.io] :
Thank you Sir for the prompt response.

Indeed, it has cleared the doubts and now I will try to build one first then I will come back, if there's anything.

Once again "thank you" for the thread. It's really helpful.

Sir, as I have seen that you're a moderator, so just wanted to ask, can't we increase the number of thanks from 8 to 15 or 20. I am not able to thank you or anyone else even if they have helped. Just a request, sorry if it seems wrong in anyway.

Regards

Bond

Sir [MENTION=6842057]The Flash[/MENTION],

I have copied the data given in "local_manifests/substratum.xml" in my local_manifests/roomservice.xml file just below "TheMuppets" Lines. Afterwards, I ran the "repo sync command".

It has synced and now will build and flash. Kindly do advice if I did something wrong in this.

Awaiting your help, once again or may be anyone else who can help in this.
[prjkt.io] wiggmpk:
I would like to build with option #2, but I have a few questions. I am fairly new to git and building a ROM in general.

I have fully synced with LineageOS, used the local manifests for the proprietary blobs from The Muppets. I am ready to pull any changes from LineageOMS and have them merged with the LineageOS source. My question is, will this single command take care of ALL of my needs to implement OMS completely into Lineage?

git pull https://github.com/LineageOMS/android_frameworks_base cm-14.1

Or, must I "git pull" each individual LineageOMS repository, like android_vendor_cm, android_frameworks_base, android_packages_apps_Settings, etc, etc, etc?

Last question, I attempted the git pull command above, from the top of my lineage folder and it returned:

fatal: Not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

Is this an issue on my end?
[prjkt.io] nathanchance:
Answered your questions inline!
[prjkt.io] wiggmpk:
Thank you so much for your quick response.

Pardon my ignorance :)
[prjkt.io] nathanchance:
I'm always happy to answer questions from someone who is trying to learn and understand so they don't need to keep asking for help :)
[prjkt.io] GartimusPrime:
So I managed to merge substratum by using the substratum xml. I managed to do a few successful builds but now I get an error that I am having trouble fixing. When I start the build it automatically gives me this error 1 second after it starts:

build/core/product_config.mk:268: ***No matches for product "aosp_arm". Stop.

I don't know if this has to do with the substratum merge or if I did something else. Any info would be appreciated!

Thanks!
[prjkt.io] :
I successfully merge OMS to my lineage OS thanks to your guide :D

Thank you very much !

I have one question though. I used your merge script to add OMS. Shall I re-merge OMS after using the "repo sync" command to update or does it carry on the merged changes ?
[prjkt.io] nathanchance:
You will most likely need to remerge on a repo sync.
[prjkt.io] :
Understood. Thank you very much :)
[prjkt.io] rajatgupta1998:
You probably didn't do lunch and then choose your device.