summaryrefslogtreecommitdiff
path: root/eclass/kde4-meta.eclass
diff options
context:
space:
mode:
authorMarc Schiffbauer <marc@schiffbauer.net>2011-01-16 23:25:40 +0100
committerMarc Schiffbauer <marc@schiffbauer.net>2011-01-16 23:25:40 +0100
commitfe7b194bb64ed602b9544425354292455588ed43 (patch)
treeb670ca55b7fe63b99f56455b5deabfa7e76d5022 /eclass/kde4-meta.eclass
parent3f2699fe49dd9f1504ebff2f8b152207b7d63c79 (diff)
downloadkde-fe7b194bb64ed602b9544425354292455588ed43.tar.gz
kde-fe7b194bb64ed602b9544425354292455588ed43.tar.bz2
kde-fe7b194bb64ed602b9544425354292455588ed43.zip
added intitial support for kde-base live builds from git to eclasses and functions
Diffstat (limited to 'eclass/kde4-meta.eclass')
-rw-r--r--eclass/kde4-meta.eclass48
1 files changed, 35 insertions, 13 deletions
diff --git a/eclass/kde4-meta.eclass b/eclass/kde4-meta.eclass
index 425ad8519fc..c80cc88f6f7 100644
--- a/eclass/kde4-meta.eclass
+++ b/eclass/kde4-meta.eclass
@@ -77,6 +77,14 @@ case ${BUILD_TYPE} in
ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
;;
esac
+ elif [[ "${KDE_SCM}" == "git" ]]; then
+ case ${KMNAME} in
+ kdepim|kdepim-runtime)
+ EGIT_REPO_URI="git://anongit.kde.org/${KMNAME}"
+ EGIT_PROJECT="${KMNAME}"
+ ;;
+ esac
+
fi
;;
esac
@@ -147,17 +155,19 @@ kde4-meta_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${BUILD_TYPE} = live ]]; then
+ migrate_store_dir
if [[ "$KDE_SCM" == "svn" ]]; then
- migrate_store_dir
S="${WORKDIR}/${P}"
mkdir -p "${S}"
ESVN_RESTRICT="export" subversion_src_unpack
subversion_wc_info
subversion_bootstrap
elif [[ "${KDE_SCM}" == "git" ]]; then
- ??
+ S="${WORKDIR}/${P}"
+ mkdir -p "${S}"
+ EGIT_HAS_SUBMODULES=1
+ git_src_unpack
fi
-
kde4-meta_src_extract
else
kde4-meta_src_extract
@@ -175,31 +185,43 @@ kde4-meta_src_extract() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${BUILD_TYPE} = live ]]; then
- local rsync_options subdir kmnamedir targetdir
+ local rsync_options subdir kmnamedir targetdir wc_path escm
# Export working copy to ${S}
einfo "Exporting parts of working copy to ${S}"
kde4-meta_create_extractlists
+ rsync_options="--progress -v --group --links --owner --perms --quiet --exclude=.svn/ --exclude=.git/"
- rsync_options="--group --links --owner --perms --quiet --exclude=.svn/"
+ case "${KDE_SCM}" in
+ svn)
+ wc_path="${ESVN_WC_PATH}"
+ escm="{ESVN}"
+ ;;
+ git)
+ wc_path="${EGIT_STORE_DIR}/${EGIT_PROJECT}"
+ escm="{EGIT}"
+ ;;
+ *)
+ die "Unknown value for KDE_SCM in kde4-meta_src_extract(): ${KDE_SCM}"
+ esac
# Copy ${KMNAME} non-recursively (toplevel files)
- rsync ${rsync_options} "${ESVN_WC_PATH}"/${kmnamedir}* "${S}" \
- || die "${ESVN}: can't export toplevel files to '${S}'."
+ rsync ${rsync_options} "${wc_path}"/${kmnamedir}* "${S}" \
+ || die "${escm}: can't export toplevel files to '${S}'."
# Copy cmake directory
- if [[ -d "${ESVN_WC_PATH}/${kmnamedir}cmake" ]]; then
- rsync --recursive ${rsync_options} "${ESVN_WC_PATH}/${kmnamedir}cmake" "${S}" \
- || die "${ESVN}: can't export cmake files to '${S}'."
+ if [[ -d "${wc_path}/${kmnamedir}cmake" ]]; then
+ rsync --recursive ${rsync_options} "${wc_path}/${kmnamedir}cmake" "${S}" \
+ || die "${escm}: can't export cmake files to '${S}'."
fi
# Copy all subdirectories
for subdir in $(__list_needed_subdirectories); do
targetdir=""
- if [[ $subdir = doc/* && ! -e "$ESVN_WC_PATH/$kmnamedir$subdir" ]]; then
+ if [[ $subdir = doc/* && ! -e "$wc_path/$kmnamedir$subdir" ]]; then
continue
fi
[[ ${subdir%/} = */* ]] && targetdir=${subdir%/} && targetdir=${targetdir%/*} && mkdir -p "${S}/${targetdir}"
- rsync --recursive ${rsync_options} "${ESVN_WC_PATH}/${kmnamedir}${subdir%/}" "${S}/${targetdir}" \
- || die "${ESVN}: can't export subdirectory '${subdir}' to '${S}/${targetdir}'."
+ rsync --recursive ${rsync_options} "${wc_path}/${kmnamedir}${subdir%/}" "${S}/${targetdir}" \
+ || die "${escm}: can't export subdirectory '${subdir}' to '${S}/${targetdir}'."
done
if [[ ${KMNAME} = kdebase-runtime && ${PN} != kdebase-data ]]; then