Mipad 4 building

Neither android_device_xiaomi_clover & proprietary_vendor_xiaomi_clover include lineageos-17 branch (pie).
Trying a test build with oreo (lineageos-16) …

Thanks @smu44! I’ll check it out and try changing the script to build an oreo version.

Problem is, the firmware on the mipad 4 is already pie…

Lineage 16 is pie
Lineage 17 is Q (10)

Ooops ! My bad :frowning:
good news, 16 is ok !
Got an error with some lineage repo, will check later.

I realized I never had changed the /root/ .sh scripts to 755… I just did that and re-executed the script. It’s at ‘Syncing branch repository’ right now… :crossed_fingers:
let’s hope it works!!

Good luck :+1::+1:

by the way, I never have used chmod 775. I’m always used
sudo chmod +x sailfish.sh
to make it executable

Lineageos seems to be missing sources for clover, as well as /e/.
That’s the output of builde.sh, giving sailfish.sh (nice name !) a try, but I’m afraid the result will be the same …

Try my forked repos https://github.com/vanhoopstallion?tab=repositories

Sure, it will. You have to fork the sources in your own git and include them via roomservice.xml

Or you include the above git in roomservice.xml

Ah, ah, ah, I totally forgot about roomservice.xml… I’ll have another go tomorrow!!! That’s why my build this morning failed. Good to remember…

I have forked the clover repos in my own Github, of course.
But, as both scripts relies on Lineage and /e/ repos for devices characteristics, they fail every time :frowning:

The first lines from the logs file are :

>> [Tue Jan 14 13:17:27 CET 2020] Starting build for clover, v1-pie branch
including vendor/lineage/vendorsetup.sh
frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk:20: error: _nic.PRODUCTS.[[device/xiaomi/clover/lineage_clover.mk]]: "vendor/xiaomi/clover/clover-vendor.mk" does not exist.
13:17:31 dumpvars failed with: exit status 1
Device clover not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS).
Repository for clover not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk:20: error: _nic.PRODUCTS.[[device/xiaomi/clover/lineage_clover.mk]]: "vendor/xiaomi/clover/clover-vendor.mk" does not exist.
13:17:32 dumpvars failed with: exit status 1
frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk:20: error: _nic.PRODUCTS.[[device/xiaomi/clover/lineage_clover.mk]]: "vendor/xiaomi/clover/clover-vendor.mk" does not exist.
13:17:32 dumpvars failed with: exit status 1

** Don't have a product spec for: 'lineage_clover'
** Do you have the right repo manifest?

Here is my roomservice, I suspect the LineageOS project to be at fault :

<?xml version="1.0" encoding="UTF-8"?>
  <project name="***/android_device_xiaomi_clover" path="device/xiaomi/clover" remote="github" />
  <project name="***/android_kernel_xiaomi_clover" path="kernel/xiaomi/clover" remote="github" />
  <project name="***/proprietary_vendor_xiaomi_clover" path="vendor/xiaomi/clover" remote="github" />
  <project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" />

I think we’ll have to include GuaiYiHu repo (first post above), but I don’t know how to handle it :frowning:

I searched a little in XDA forum thread mentioned above, they seem to rely on https://github.com/xiaomi-sdm660. Which, unfortunately, is far beyond my understanding (for now) !

I can get my hands on a quite powerfull building VM for free, don’t hesitate to send me repo xml and build script (or parameters).
This way, we could parallelize building attempts using several configurations :wink:

Only cloning and using sources isn’t working. The sources must fit the lineage rules. For example, you must have in device tree a lineage_clover.mk file insite the .mk or .bp files everythng must also fit the lineage rules.

I have had a look into the sources. The mk_clover.mk must renamed to lineage_clover.mk and inside the file the line
PRODUCT_NAME := mk_clover must be
PRODUCT_NAME := lineage_clover
and so on and so on …

Your error message comes from one of these missing points.
You have to compare a official supported device sources with your clover sources for file names and so on. It’s a hard work to get none-lineage sources working. For my oxygen devices I have needed several month and hundreds of builds to get it running

Thanks @harvey186 for you usefull advice (as usual :slight_smile:)

However I think this is too much work for the beginner I am :frowning:
If someone can provide the correct files, my proposal for test-building is still open.

You need to rename the files in you SRC folder to those which are returning an error.

In you folder /srv/src/PIE/vendor/xiaomi/clover/ you will have a file called clover-vendor.mk

The script is looking for lineage_clover.mk

rename clover-vendor.mk to lineage_clover.mk

Now run you builde.sh script again. You will likely hit another name issue. review the log again and see which file needs renaming again.

Thanks @eggzenbeanz :slight_smile:
Build in progress, I will post back the result !

This will produce the same error message as the missing lineage_clover.mk file !!!

This file will also produce an error mk.dependencies

What does he need to do???

Pls see my post #33

I can go a little further, now :slight_smile:

Now I get :

[1054/1056] including vendor/qcom/opensource/data-ipa-cfg-mgr/Android.mk ...
build/make/core/base_rules.mk:260: error: vendor/qcom/opensource/data-ipa-cfg-mgr/hal: MODULE.TARGET.SHARED_LIBRARIES.liboffloadhal already defined by device/xiaomi/clover/data-ipa-cfg-mgr/hal.
10:36:12 ckati failed with: exit status 1

I’ll be busy for a few hours, will recheck and retry later …