Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion make_package
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,15 @@ PACKAGE_PREFIX=$PACKAGE_NAME-$VERSION
mkdir -p package
rm -f package/*.tar.xz package/*.changes

extra_files=VERSION

git2log --changelog --format obs package/$PACKAGE_NAME.changes

if [ -f changelog ] || grep -q ^changelog: Makefile ; then
git2log --changelog changelog
extra_files="$extra_files changelog"
fi

if [ ! -d .git ] ; then
echo no git repo
exit 1
Expand All @@ -49,5 +56,5 @@ git archive --prefix=$PACKAGE_PREFIX/ HEAD > package/$PACKAGE_PREFIX.tar
tar -r -f package/$PACKAGE_PREFIX.tar \
--mode=0664 --owner=root --group=root \
--mtime="`git show -s --format=%ci`" \
--transform="s:^:$PACKAGE_PREFIX/:" VERSION
--transform="s:^:$PACKAGE_PREFIX/:" $extra_files
xz -f package/$PACKAGE_PREFIX.tar
36 changes: 35 additions & 1 deletion tobs
Original file line number Diff line number Diff line change
Expand Up @@ -787,11 +787,45 @@ sub do_sr

print "Creating submit request to $config->{sr}\n";

# get list of existing requests, most recent first
my $requests;

if(open my $p, "osc -A https://$bs request list $s[0]/$s[1] |") {
while(<$p>) {
if(/^(\d+)\s+State:(\S+)/) {
unshift @$requests, { id => $1, state => $2 };
next;
}
if($requests && /^\s*Review by Project\s.*\:Staging\:/) {
$requests->[0]{staging} = 1;
next;
}
}
close $p;
}

# if the most recent request is a review in staging, don't replace it

my $answer = "y";
my $super_id;

if($requests) {
$super_id = $requests->[0]{id};
if($requests->[0]{state} eq "review" && $requests->[0]{staging}) {
$answer = "n";
print "Not superseding staging request \#$super_id\n";
}
else {
print "Superseding exsting request \#$super_id\n";
}
}

if(!$opt_try) {
my $sr_resp = $tmp->file();
my $user = $config->{email};
my $s_opt = $super_id && $answer eq "y" ? "-s $super_id" : "";
$user =~ s/\@.*$//;
system "echo y | osc -A https://$bs sr -m 'submitted by $user via jenkins' --yes --nodevelproject $bs_prefix$config->{prj} $s[1] $s[0] >$sr_resp 2>&1";
system "echo $answer | osc -A https://$bs sr -m 'submitted by $user via jenkins' $s_opt --nodevelproject $bs_prefix$config->{prj} $s[1] $s[0] >$sr_resp 2>&1";
$err = $? >> 8;

my $resp_msg;
Expand Down