Skip to content

SailfishOS-SonyXperia/build

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

Intro

This repository contains scripts used during repository management as well as documentation of the adaptation development.

The idea behind this scripts is to build drod-hal and related packages on the obs and thus in a clean reproduceable way.

However the target obs might not be powerful enough to build such packages that need droid-src (Android sources) to build.

These scripts workaround such issues. Each section explains each type of scripts to avoid such issues.

obs_localbuild, obs_localbuild_dhd and osc_localbuild_dhd_droid_src

The idea behind these scripts is to build expensive packags such as droid-hal on a powerful host machine using osc and obs-build.

After doing so then upload such packages in the real project on the target obs.

First we have our obs project structure:

<path-project>:$vendor:$device
This is the real project that contains all packages we build locally and all the packages that can be build on the obs.
<path-project>:$vendor:$device:dhd
The project that only contains the packages which are build locally and then uploaded to <path-project>:$vendor:$device/

The process behind it works like this:

  1. First build droid-src, move the package to the package cache.
  2. Build droid-hal from project:dhd then upload the resulting rpm to project.

obs_local_build_dhd_droid_src can be used to build droid-src and move it to the cache without specifying the package name.

obs_localbuild and obs_localbuild_dhd do this the same way except that obs_localbuild_dhd the shadow :dhd project into account.

droid-prjconf-sync

If your target obs can’t set the project configuration from prjconf packages then droid-prjconf-sync can build the prjconf package and write the changes by hand.

HADK-Tools based scripts

For some of our scripts we require HADK-Tools and the platform SDK to be setup.

Setup

To setup install hadk-tools into your local $HOME/.local folder by running make install PREFIX=$HOME/.local from the hadk_tools folder.

After doing so follow this document till the end.

hadk.tool.droid_system.sh

Build droid-system using local build environment that has been setup.

Requires that the local Android source env has been setup either manually or using hadk_source.

After the Android environment has been setup just call it with your obs project passed as -P and -t to tell the script where you HADK templates are.

hadk_tools.mkimage.sh

Create install images for each device supported by the OBS project that is passed as -P and -t to tell the script where you HADK templates are. Also you to pass your obs project stores your ssu configuration as -S and the package that pulls in such configs as -E.

Dependencies

git
For tar_git and droid-prjconf-sync
rpm
rpmspec to parse the spec files we build
osc
To talk to the obs and upload packages
obs-build
To do local obs-builds
obs-service-tar_git
To obs tar_git service to fetch package sources
obs-service-repo
To fetch package sources that use git-repo manifests like in droid-src.
hadk_tools and Platform SDK
To build droid-system

OBS Project configuration

These scripts require some variables present in the OBS project configuration in addition to the usual content.

Each of those are defined by using %define var content as explained in openSUSE:Build Service prjconf#Macros.

device
Set as the vendor of the device and the device family as <vendor>-<family>. Set by droid-prjconf-sync if used.
supported_devices
All devices supported by the project listed in their variant names. These should be set as “first second” and so on.

One example for e.g. the Xperia 1/5 would be %define supported_devices "j8110 j9110 j8210 j9210\" .

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published