Meego Wiki
Views

How to development with multiple packages with dependencies

From MeeGo wiki
Revision as of 14:14, 7 July 2011 by Xiaoqiang0 (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page is for customers, who need to develop their own packages, including libraries and applications, which are not included in MeeGo official repo. In this seriono, the customers need create/maintain their own repo for their own packages, below script shows how to build multiple packages with dependcies, and how to create a repo to feed the MIC (MeeGo Image Creator).

#!/bin/bash

# mkdir -p localbuild/{repo,src} 
# put all src.rpm (or source code package with *.spec) in src/
# cd localbuild/


# NOTE: 
# 1. pacakges sequence is IMPORTANT, check *.spec and put "BuildRequires" package in the front, for example:
#  libplatform_config-20.0.3-1.4.src.rpm requires libhtuple-devel and kernel-headers-cetv to finish build.
# 2. This script suppose that you have an httpd server running. and http://localhost/MeeGo/repo/, which point 
   to LOCAL_REPO_DIR in system directory.

PACKAGES="
kernel-headers-cetv-20.0.1-1.2.src.rpm
libhtuple-20.0.1-1.2.src.rpm
libplatform_config-20.0.3-1.4.src.rpm
"

for package in $PACKAGES
do
        echo "build package=[$package]"
        sudo build --repository  http://repo.meego.com/MeeGo/releases/1.2.0/repos/oss/ia32/packages/ 
                   --repository http://localhost/local/repo/dir/  --arch i686 src/$package
        echo "copy over..."
        find  /var/tmp/build-root/home/abuild/rpmbuild/ -name *.rpm -exec cp {} $LOCAL_REPO_DIR \;
        createrepo $LOCAL_REPO_DIR
done

"local/repo/dir/" can be then added to the *.ks file for MIC, something like "repo --name=local --baseurl=file:///path/to/local/repo/ --save"

Personal tools