Meego Wiki
Views

How to development with multiple packages with dependencies

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
 
Line 12: Line 12:
# 1. pacakges sequence is IMPORTANT, check *.spec and put "BuildRequires" package in the front, for example:
# 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.
#  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 is LOCAL_REPO_DIR in system directory.
+
# 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="
PACKAGES="

Latest revision as of 14:14, 7 July 2011

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