Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
ceph
update_git.sh
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File update_git.sh of Package ceph
#!/bin/bash -e # # Instead of a quilt workflow, we use a git tree that contains # all the commits on top of a stable tarball. # # When updating this package, just either update the git tree # below (use rebase!) or change the tree path and use your own # # That way we can easily rebase against the next stable release # when it comes. # # Based on SUSE:SLE-12:GA/qemu/update_git.sh # GIT_TREE=https://github.com/SUSE/ceph.git # Downloaded repos are cached here. Must be writable by you. GIT_LOCAL_TREE=/var/tmp/osbuild-packagecache/ceph GIT_BRANCH=distro/suse-0-80-11 GIT_UPSTREAM_TAG=v0.80.11 GIT_DIR=/dev/shm/ceph-git-dir CMP_DIR=/dev/shm/ceph-cmp-dir rm -rf $GIT_DIR rm -rf $CMP_DIR if ! [ -d "$GIT_LOCAL_TREE" ]; then echo "Create locally cached clone of $GIT_BRANCH branch of remote git tree, using tag:" \ "$GIT_UPSTREAM_TAG" git clone $GIT_TREE $GIT_LOCAL_TREE -b $GIT_BRANCH (cd $GIT_LOCAL_TREE && git remote add upstream $GIT_TREE) (cd $GIT_LOCAL_TREE && git remote update) fi if [ -d "$GIT_LOCAL_TREE" ]; then echo "Processing $GIT_BRANCH branch of local git tree, using tag:" \ "$GIT_UPSTREAM_TAG" (cd $GIT_LOCAL_TREE && git remote update) if ! (cd $GIT_LOCAL_TREE && git show-branch $GIT_BRANCH &>/dev/null); then echo "Branch $GIT_BRANCH not found - creating locally" (cd $GIT_LOCAL_TREE && git checkout -b $GIT_BRANCH upstream/$GIT_BRANCH) fi git clone -ls $GIT_LOCAL_TREE $GIT_DIR -b $GIT_BRANCH if ! (cd $GIT_LOCAL_TREE && git remote show upstream &>/dev/null); then echo "Remote for upstream git tree not found. Adding named upstream ceph and updating" (cd $GIT_DIR && git remote add upstream $GIT_TREE) (cd $GIT_DIR && git remote update) fi else echo "Local git cache creation failed, bailing out." exit fi (cd $GIT_DIR && git format-patch -N $GIT_UPSTREAM_TAG --suffix= -o $CMP_DIR >/dev/null) CEPH_VERSION=`cd $GIT_DIR && git describe --abbrev=0 2>/dev/null` echo "ceph version: $CEPH_VERSION" rm -rf $GIT_DIR ( CHANGED_COUNT=0 UNCHANGED_COUNT=0 DELETED_COUNT=0 ADDED_COUNT=0 shopt -s nullglob # Process patches to eliminate useless differences resulting from rebases; # limit file names to 40 chars before extension and remove git signature. # ('22' below gets us past dir prefix) for i in $CMP_DIR/*; do head -n -3 $i | tail -n +2 > $CMP_DIR/${i:22:40}.patch rm $i done for i in 0???-*.patch; do if [ -e $CMP_DIR/$i ]; then if cmp -s $CMP_DIR/$i $i; then rm $CMP_DIR/$i let UNCHANGED_COUNT+=1 else mv $CMP_DIR/$i . let CHANGED_COUNT+=1 fi else osc rm --force $i let DELETED_COUNT+=1 fi done for i in $CMP_DIR/*; do mv $i . osc add ${i##*/} let ADDED_COUNT+=1 done while IFS= read -r line; do if [ "$line" = "PATCH_FILES" ]; then for i in 0???-*.patch; do NUM=${i%%-*} echo -e "Patch$NUM: $i" done elif [ "$line" = "PATCH_EXEC" ]; then for i in 0???-*.patch; do NUM=${i%%-*} echo "%patch$NUM -p1" done elif [ "$line" = "CEPH_VERSION" ]; then echo "Version: ${CEPH_VERSION:1}" else echo "$line" fi done < ceph.spec.in > $CMP_DIR/ceph.spec if cmp -s ceph.spec $CMP_DIR/ceph.spec; then echo "ceph.spec unchanged" else mv $CMP_DIR/ceph.spec ceph.spec echo "ceph.spec regenerated" fi echo "git patch summary" echo " unchanged: $UNCHANGED_COUNT" echo " changed: $CHANGED_COUNT" echo " deleted: $DELETED_COUNT" echo " added: $ADDED_COUNT" ) rm -rf $CMP_DIR
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor