Accepting request 74156 from home:cthiel1:branches:openSUSE:Tools

- add support for bzr

OBS-URL: https://build.opensuse.org/request/show/74156
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/obs-service-tar_scm?expand=0&rev=15
This commit is contained in:
Adrian Schröter 2011-06-29 06:16:32 +00:00 committed by Git OBS Bridge
parent 932f419e54
commit 6b9dfe95ee
4 changed files with 65 additions and 4 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Jun 20 08:48:12 UTC 2011 - cthiel@novell.com
- add support for bzr
-------------------------------------------------------------------
Tue Mar 22 14:55:55 UTC 2011 - ammler@openttdcoop.org

View File

@ -1,26 +1,46 @@
#
# spec file for package obs-service-tar_scm
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: obs-service-tar_scm
License: GPL v2 or later
Group: Development/Tools/Building
Summary: An OBS source service: checkout or update a tar ball from svn/git/hg
URL: https://build.opensuse.org/package/show?package=obs-service-tar_scm&project=openSUSE%3ATools
Url: https://build.opensuse.org/package/show?package=obs-service-tar_scm&project=openSUSE%3ATools
Version: 0.2.1
Release: 1
Source: tar_scm
Source1: tar_scm.service
Requires: subversion git mercurial
Requires: subversion git mercurial bzr
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
This is a source service for openSUSE Build Service.
It supports downloading from svn, git and hg repositories.
It supports downloading from svn, git, hg and bzr repositories.
%prep
%setup -q -D -T 0 -n .
%build
@ -29,8 +49,12 @@ mkdir -p $RPM_BUILD_ROOT/usr/lib/obs/service
install -m 0755 %{SOURCE0} $RPM_BUILD_ROOT/usr/lib/obs/service
install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/obs/service
%files
%defattr(-,root,root)
%dir /usr/lib/obs
/usr/lib/obs/service
%changelog

31
tar_scm
View File

@ -215,6 +215,37 @@ elif [ "$MYSCM" == "hg" ]; then
VERSION="$MYPREFIX"`hg id -n`
cd -
fi
elif [ "$MYSCM" == "bzr" ]; then
if [ -z "$MYSUBDIR" -a -d "$TAR_DIRECTORY" ]; then
# update existing content for speed/bandwidth reasons
cd "$TAR_DIRECTORY"
OLDVERSION=`bzr revno`
bzr update || exit 1
if [ -n "$MYREVISION" ]; then
bzr revert -r "$MYREVISION" || exit 1
fi
NEWVERSION=`bzr revno`
cd -
if [ "$OLDVERSION" == "$NEWVERSION" ]; then
# cleanup and skip
rm -rf "$TAR_DIRECTORY"
exit 0
fi
mv "$TAR_DIRECTORY" "${FILE}" || exit 1
else
# new checkout
if [ -n "$MYREVISION" ]; then
bzr checkout -r "$MYREVISION" "$MYURL" "${FILE}" || exit 1
else
bzr checkout "$MYURL" "${FILE}" || exit 1
fi
fi
if [ -z "$VERSION" ]; then
cd "$FILE"
[ -n "$MYPREFIX" ] && MYPREFIX="$MYPREFIX."
VERSION="$MYPREFIX"`bzr revno`
cd -
fi
else
echo "ERROR: unknown scm $MYSCM"
exit 1

View File

@ -1,11 +1,12 @@
<service name="tar_scm">
<summary>Create a tar ball from SCM repository</summary>
<description>This service uses a scm client to checkout or update from a given repository. Supported are svn, git and hg.</description>
<description>This service uses a scm client to checkout or update from a given repository. Supported are svn, git, hg and bzr.</description>
<parameter name="scm">
<description>Used SCM</description>
<allowedvalue>svn</allowedvalue>
<allowedvalue>git</allowedvalue>
<allowedvalue>hg</allowedvalue>
<allowedvalue>bzr</allowedvalue>
<required/>
</parameter>
<parameter name="url">