Hello community,
here is the log from the commit of package obs-service-set_version for openSUSE:Factory checked in at 2014-03-07 07:05:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-set_version (Old)
and /work/SRC/openSUSE:Factory/.obs-service-set_version.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-set_version"
Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-set_version/obs-service-set_version.changes 2014-02-12 07:04:06.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.obs-service-set_version.new/obs-service-set_version.changes 2014-03-07 07:05:48.000000000 +0100
@@ -1,0 +2,18 @@
+Thu Mar 6 11:03:52 UTC 2014 - adrian@suse.de
+
+- Update to version 0.4.0:
+ This is a rewrite in perl
+
+-------------------------------------------------------------------
+Thu Mar 6 09:43:52 UTC 2014 - adrian@suse.de
+
+- Update to version 0.3.3:
+ + ERROR: git log --pretty=format:%s --no-merges 4b090f0cad..4fc9fcb0c2 failed; aborting!
+
+-------------------------------------------------------------------
+Thu Mar 6 07:07:51 UTC 2014 - adrian@suse.de
+
+- Update to version 0.3.3:
+ + - drop two echo lines which can be used to run random commands
+
+-------------------------------------------------------------------
Old:
----
obs-service-set_version-0.3.2.tar.gz
New:
----
PKGBUILD
obs-service-set_version-0.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-set_version.spec ++++++
--- /var/tmp/diff_new_pack.grVlJS/_old 2014-03-07 07:05:49.000000000 +0100
+++ /var/tmp/diff_new_pack.grVlJS/_new 2014-03-07 07:05:49.000000000 +0100
@@ -19,7 +19,7 @@
%define service set_version
Name: obs-service-%{service}
-Version: 0.3.2
+Version: 0.4.0
Release: 0
Summary: An OBS source service: Update spec file version
License: GPL-2.0+
++++++ PKGBUILD ++++++
asd=yxc
pkgrel=0
md5sums=('6adda9a1c5863c49612fc6c81a89c18a')
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.grVlJS/_old 2014-03-07 07:05:49.000000000 +0100
+++ /var/tmp/diff_new_pack.grVlJS/_new 2014-03-07 07:05:49.000000000 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">git@github.com:openSUSE/obs-service-set_version.git</param>
- <param name="changesrevision">3bb76e859d</param>
+ <param name="changesrevision">10d5bddcea</param>
</service>
</servicedata>
\ No newline at end of file
++++++ obs-service-set_version-0.3.2.tar.gz -> obs-service-set_version-0.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-set_version-0.3.2/set_version new/obs-service-set_version-0.4.0/set_version
--- old/obs-service-set_version-0.3.2/set_version 2014-02-11 17:29:02.000000000 +0100
+++ new/obs-service-set_version-0.4.0/set_version 2014-03-06 12:03:40.000000000 +0100
@@ -1,7 +1,7 @@
-#!/bin/bash
+#!/usr/bin/perl
-# A simple script to update spec or dsc file
-# very, very simple. I am happy about patches which handles multiple files with different version numbers
+
+# A simple script to update version number in spec, dsc or arch linux files
#
# (C) 2010 by Adrian Schröter
#
@@ -12,108 +12,149 @@
# See http://www.gnu.org/licenses/gpl-2.0.html for full license text.
-# defaults
-MYVERSION=""
-FILES=""
-
-while test $# -gt 0; do
- case $1 in
- *-version)
- MYVERSION="$2"
- shift
- ;;
- *-file)
- FILES="$FILES ${2##*/}"
- shift
- ;;
- *-basename)
- BASENAME="$2"
- shift
- ;;
- *-outdir)
- MYOUTDIR="$2"
- shift
- ;;
- *)
- echo Unknown parameter $1.
- echo 'Usage: set_version --version $VERSION --file $FILE --basename $BASENAME --outdir $OUT'
- exit 1
- ;;
- esac
- shift
-done
-
-get_version_from_file () {
- # Search for tarball filenames including a version
- for ending in "tar.*" "tgz$" "tbz2$" "zip$" ; do
- if [ -z "$MYVERSION" ]; then
- MYVERSION=`ls -1t | sed -n "s,^$BASENAME.*[-_]\([0123456789].*\).${ending},\1,p" | head -n 1`
- else
- break;
- fi
- done
- # Search for a version in the root-directory name of the content's file list:
- for gz_ending in "tar.gz" "tgz" "tar.bz2" "tbz2" ; do
- if [ -z "$MYVERSION" ]; then
- MYVERSION=`tar tf $BASENAME*.${gz_ending} | sed -e 's,/.*,,' | uniq | sed -n "s,$BASENAME.*[-_]\(.*\),\1,p"`
- else
- break;
- fi
- done
- # Take version number (and optional revision) from Debian changelog
- if [ -z "$MYVERSION" ]; then
- MYVERSION=`head -n 1 *debian.changelog 2>/dev/null | sed -ne 's/.*(\(.*\)).*/\1/p'`
- fi
- if [ -z "$MYVERSION" ]; then
- echo "ERROR: no version is given and can't get detected automatically"
- exit 1
- fi
-
- # remove trailing ".orig", used by dpkg sources
- MYVERSION=`sed s/.orig$// <<<$MYVERSION`
-
- echo "Detected version as $MYVERSION"
-}
-
-write_files () {
- if [ -z "$FILES" ]; then
- FILES="*.spec *.dsc"
- fi
- if [ -z "$MYOUTDIR" ]; then
- echo "ERROR: no output directory is given via --outdir parameter!"
- exit 1
- fi
-
- for i in $FILES; do
- FILE=`ls -1 $i 2>/dev/null`
- [ -e "$FILE" ] || continue
-
- sed "0,/^Version:\(\s*\)[^%]*/s//Version:\1$MYVERSION/" "$FILE" > "$MYOUTDIR/$FILE" || exit 1
- echo "Updated first occurrence (if any) of Version in $FILE to $MYVERSION"
- if [ "${FILE%.spec}" != "$FILE" ]; then
- # set release back to zero after version upgrade, will be increased by OBS during build
- # also keep macros in release in case of fedora/mandriva
- sed -r -i "s,^Release:(\s*)[^%]*,Release:\10," "$MYOUTDIR/$FILE" || exit 1
- fi
-
- if [ "${FILE#_service:}" != "$FILE" ]; then
- # we can remove service files, no need to store them twice
- rm -f "$FILE"
- fi
- done
-
- if [ -e PKGBUILD ]; then
- FILE=`ls -1 _service:*[-_]${MYVERSION}* | head -n 1`
- [ -z "$FILE" ] && FILE=`ls -1 *[-_]${MYVERSION}* | head -n 1`
- MD5=`md5sum "$FILE" | head -n 1 | cut -d\ -f 1`
-
- sed "0,/^pkgver=\(\s*\)[^%]*/s//pkgver=\1$MYVERSION/" PKGBUILD > "$MYOUTDIR/PKGBUILD" || exit 1
- sed -r -i "s,^pkgrel=.*,pkgrel=0," "$MYOUTDIR/PKGBUILD" || exit 1
- sed -r -i "s,^md5sums=.*,md5sums=('$MD5')," "$MYOUTDIR/PKGBUILD" || exit 1
- fi
+
+my $version;
+my $basename="";
+my $outdir;
+my @files;
+
+use strict;
+use Data::Dumper;
+use File::Basename;
+
+sub usage()
+{
+ print<', "$outdir/.$filename")) {
+ die("unable to write .$filename: $!\n");
+ return undef;
+ }
+ my $line;
+ while (defined($line = <R>)) {
+ $line =~ s/\n$//;
+ if ( $filename =~ /PKGBUILD$/ ) {
+ $line =~ s/^$tag=.*/$tag=$string/;
+ } else {
+ # keep inline macros for rpm
+ $line =~ s/^$tag:(\s*)[^%]*/$tag:$1$string/;
+ }
+ print W "$line\n";
+ }
+ close R;
+ close W;
+
+ rename("$outdir/.$filename", "$outdir/$filename") || die("rename failed");
+}
+
+# handle rpm spec and debian dsc files
+@files = grep {$_ =~ /.(spec|dsc)$/} @srcfiles if @files <= 0;
+for my $file (@files) {
+ replace_tag($file, 'Version', $version);
+ replace_tag($file, 'Release', "0");
+}
+
+use Digest::MD5;
+
+# handle arch linux PKGBUILD files
+if ( -e "PKGBUILD" ) {
+ # find md5sum of tar ball
+ my $md5sum;
+ my $tarfile;
+ for my $file (@srcfiles) {
+ if ( $file =~ /^_service:.*[-_]$version.*/ ) {
+ $tarfile = $file;
+ last;
+ }
+ }
+ unless($tarfile) {
+ for my $file (@srcfiles) {
+ if ( $file =~ /.*[-_]$version.*/ ) {
+ $tarfile = $file;
+ last;
+ }
+ }
+ }
+
+ open(FILE, $tarfile) || die "Unable to find source file to calculate md5sum\n";
+ my $ctx = Digest::MD5->new;
+ $ctx->addfile(*FILE);
+ $md5sum = $ctx->hexdigest;
+ close(FILE);
+
+ die ("Failed to calculate md5sum") unless $md5sum;
+ replace_tag("PKGBUILD", "pkgrel", "0");
+ replace_tag("PKGBUILD", "md5sums", "('".$md5sum."')");
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-set_version-0.3.2/set_version.old.do_not_use new/obs-service-set_version-0.4.0/set_version.old.do_not_use
--- old/obs-service-set_version-0.3.2/set_version.old.do_not_use 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-set_version-0.4.0/set_version.old.do_not_use 2014-03-06 12:03:40.000000000 +0100
@@ -0,0 +1,116 @@
+#!/bin/bash
+
+# A simple script to update spec or dsc file
+# very, very simple. I am happy about patches which handles multiple files with different version numbers
+#
+# (C) 2010 by Adrian Schröter
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+# See http://www.gnu.org/licenses/gpl-2.0.html for full license text.
+
+
+# defaults
+MYVERSION=""
+FILES=""
+
+while test $# -gt 0; do
+ case $1 in
+ *-version)
+ MYVERSION="$2"
+ shift
+ ;;
+ *-file)
+ FILES="$FILES ${2##*/}"
+ shift
+ ;;
+ *-basename)
+ BASENAME="$2"
+ shift
+ ;;
+ *-outdir)
+ MYOUTDIR="$2"
+ shift
+ ;;
+ *)
+ echo Unknown parameter $1.
+ echo 'Usage: set_version --version $VERSION --file $FILE --basename $BASENAME --outdir $OUT'
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+get_version_from_file () {
+ # Search for tarball filenames including a version
+ for ending in "tar.*" "tgz$" "tbz2$" "zip$" ; do
+ if [ -z "$MYVERSION" ]; then
+ MYVERSION=`ls -1t | sed -n "s,^$BASENAME.*[-_]\([0123456789].*\).${ending},\1,p" | head -n 1`
+ else
+ break;
+ fi
+ done
+ # Search for a version in the root-directory name of the content's file list:
+ for gz_ending in "tar.gz" "tgz" "tar.bz2" "tbz2" ; do
+ if [ -z "$MYVERSION" ]; then
+ MYVERSION=`tar tf $BASENAME*.${gz_ending} | sed -e 's,/.*,,' | uniq | sed -n "s,$BASENAME.*[-_]\(.*\),\1,p"`
+ else
+ break;
+ fi
+ done
+ # Take version number (and optional revision) from Debian changelog
+ if [ -z "$MYVERSION" ]; then
+ MYVERSION=`head -n 1 *debian.changelog 2>/dev/null | sed -ne 's/.*(\(.*\)).*/\1/p'`
+ fi
+ if [ -z "$MYVERSION" ]; then
+ echo "ERROR: no version is given and can't get detected automatically"
+ exit 1
+ fi
+
+ # remove trailing ".orig", used by dpkg sources
+ MYVERSION=`sed s/.orig$// <<<"$MYVERSION"`
+}
+
+write_files () {
+ if [ -z "$FILES" ]; then
+ FILES="*.spec *.dsc"
+ fi
+ if [ -z "$MYOUTDIR" ]; then
+ echo "ERROR: no output directory is given via --outdir parameter!"
+ exit 1
+ fi
+
+ for i in $FILES; do
+ FILE=`ls -1 $i 2>/dev/null`
+ [ -e "$FILE" ] || continue
+
+ sed "0,/^Version:\(\s*\)[^%]*/s//Version:\1$MYVERSION/" "$FILE" > "$MYOUTDIR/$FILE" || exit 1
+ if [ "${FILE%.spec}" != "$FILE" ]; then
+ # set release back to zero after version upgrade, will be increased by OBS during build
+ # also keep macros in release in case of fedora/mandriva
+ sed -r -i "s,^Release:(\s*)[^%]*,Release:\10," "$MYOUTDIR/$FILE" || exit 1
+ fi
+
+ if [ "${FILE#_service:}" != "$FILE" ]; then
+ # we can remove service files, no need to store them twice
+ rm -f "$FILE"
+ fi
+ done
+
+ if [ -e PKGBUILD ]; then
+ FILE=`ls -1 _service:*[-_]"${MYVERSION}"* | head -n 1`
+ [ -z "$FILE" ] && FILE=`ls -1 *[-_]"${MYVERSION}"* | head -n 1`
+ MD5=`md5sum "$FILE" | head -n 1 | cut -d\ -f 1`
+
+ sed "0,/^pkgver=\(\s*\)[^%]*/s//pkgver=\1$MYVERSION/" PKGBUILD > "$MYOUTDIR/PKGBUILD" || exit 1
+ sed -r -i "s,^pkgrel=.*,pkgrel=0," "$MYOUTDIR/PKGBUILD" || exit 1
+ sed -r -i "s,^md5sums=.*,md5sums=('$MD5')," "$MYOUTDIR/PKGBUILD" || exit 1
+ fi
+}
+
+get_version_from_file
+write_files
+
+exit 0
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org