DerpFest Guides

Learn how to build DerpFest from source for your device

Before you get excited and rush things up, please read these articles and follow the steps provided here

Begin with initialization of your local repository using the DerpFest trees


mkdir derpfest
cd derpfest
repo init -u https://github.com/DerpFest-AOSP/manifest.git -b 12.1
repo sync -c --force-sync --optimized-fetch --no-tags --no-clone-bundle --prune -j$(nproc --all)

Find your device sources and modify it as described below

We suggest using Lineage device sources as they are mostly stable and don't require much changes.

The given examples below are for Lineage device sources

Adapting device sources for DerpFest

Rename the file shown below
lineage_device-codename.mk to derp_device-codename.mk

Now change contents of derp_device-codename.mk as shown below

Change “lineage“ to “derp” & /”common.mk” to “common_full_phone.mk” for example: $(call inherit-product, vendor/aosip/config/common_full_phone.mk)

Change PRODUCT_NAME value from “lineage_device-codename” for example: ( “lineage_tissot” ) to derp_device-codename ( i.e, derp_tissot )

Also rename make file name in the AndroidProducts.mk file - open it and change value of ("PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/"(lineage_device-codename.mk”) to ”derp_device-codename.mk”)
( i.e "PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/derp_tissot.mk )

Rename/Remove LineageOS Stuff

It is necessary to clean up any specific files from LineageOS as these features depend on LOS SDK which won’t be available on DerpFest and will results in build failures. e.g: Lineage Trust HAL

From the root of your device tree/Common device tree rename the following folders/files from lineage to derp: lineage-overlays
From device.mk/common.mk (also named as your SOC codename like: msm8953.mk):

DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay-lineage

From device.mk/common.mk (also named as your SOC codename like: msm8953.mk) remove this:

# Trust HAL
PRODUCT_PACKAGES += \
vendor.lineage.trust@1.0-service

Note: There is a possiblity that some custom packages such as doze etc may have dependency on lineageSDK, it is necessary to fix them to avoid complie errors.

Start compiling DerpFest from source


. build/envsetup.sh
lunch derp_device-user
mka derp

Reference for this guide is taken from Arrow OS Blog