Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
etersoft-build-utils
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
korinf
etersoft-build-utils
Commits
baf2553c
You need to sign in or sign up before continuing.
Commit
baf2553c
authored
Jan 08, 2010
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rpmbph: realize gear repo backporting (eterbug #4766)
parent
31f00ed0
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
10 deletions
+63
-10
rpmbph
bin/rpmbph
+63
-10
No files found.
bin/rpmbph
View file @
baf2553c
#!/bin/bash
#!/bin/bash
# 2003-20
09
(c) Etersoft www.etersoft.ru
# 2003-20
10
(c) Etersoft www.etersoft.ru
# Author: Vitaly Lipatov <lav@etersoft.ru>
# Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain
# Public domain
#
#
...
@@ -16,7 +16,7 @@ load_mod repl rpm git
...
@@ -16,7 +16,7 @@ load_mod repl rpm git
DISTRVERSION
=
`
distr_vendor
-v
`
DISTRVERSION
=
`
distr_vendor
-v
`
alt
_to
local
()
alt
spec_to_
local
()
{
{
local
TXTRELEASE
local
TXTRELEASE
local
SPECNAME
local
SPECNAME
...
@@ -26,17 +26,20 @@ BASERELEASE=$(get_numrelease $SPECNAME)
...
@@ -26,17 +26,20 @@ BASERELEASE=$(get_numrelease $SPECNAME)
FIXPATCHFUZZ
=
"%define _default_patch_fuzz 3"
FIXPATCHFUZZ
=
"%define _default_patch_fuzz 3"
echo
"Converting spec
$SPECNAME
to
$MDISTR
..."
# Set buildreq
# Set buildreq
if
[
"
$VENDOR
"
=
"alt"
]
;
then
if
[
"
$VENDOR
"
=
"alt"
]
;
then
BUILDREQ
=
"BuildRequires: rpm-build-compat >= 0.95"
BUILDREQ
=
"BuildRequires: rpm-build-compat >= 0.95"
[
-z
"
$BUILDCOMMAND
"
]
&&
BUILDCOMMAND
=
"
$ETERBUILDBIN
/rpmbsh
$GIRARHOST
"
# Change release according to alt policy with extensions
# Change release according to alt policy with extensions
# General rule: alwars alt(N-1).MM.(N)
# General rule: alwars alt(N-1).MM.(N)
set_release
$SPECNAME
$(
get_txtrelease
$SPECNAME
)$(
decrement_release
$BASERELEASE
)
.
$MDISTR
.
$BASERELEASE
set_release
$SPECNAME
$(
get_txtrelease
$SPECNAME
)$(
decrement_release
$BASERELEASE
)
.
$MDISTR
.
$BASERELEASE
ADDDEF
=
""
ADDDEF
=
""
CLEANTEXT
=
""
CLEANTEXT
=
""
# due new libtool, affected on ALT Linux
# due new libtool, affected on ALT Linux
if
echo
"
$MDISTR
"
| egrep
-q
"M24|M30|M40|M41"
;
then
RECONFT
=
"%undefine __libtoolize"
RECONFT
=
"%undefine __libtoolize"
fi
else
else
# Need our compat package and disable strong patch checking
# Need our compat package and disable strong patch checking
BUILDREQ
=
"BuildRequires: rpm-build-altlinux-compat >= 0.95 make gcc
\n
$FIXPATCHFUZZ
"
BUILDREQ
=
"BuildRequires: rpm-build-altlinux-compat >= 0.95 make gcc
\n
$FIXPATCHFUZZ
"
...
@@ -240,8 +243,6 @@ fi
...
@@ -240,8 +243,6 @@ fi
test
-n
"
$TOCHANGELOG
"
&&
ENTRY
=
`
echo
-e
"
$ENTRY
\n
-
$TOCHANGELOG
"
`
test
-n
"
$TOCHANGELOG
"
&&
ENTRY
=
`
echo
-e
"
$ENTRY
\n
-
$TOCHANGELOG
"
`
add_changelog
$SPECNAME
-e
"
$ENTRY
"
add_changelog
$SPECNAME
-e
"
$ENTRY
"
$BUILDCOMMAND
$LISTRPMARGS
$REMOTEBUILD
$DISTRARG
$SPECNAME
||
fatal
"Can't build"
}
}
...
@@ -262,16 +263,16 @@ phelp()
...
@@ -262,16 +263,16 @@ phelp()
echog
" -r - remote build"
echog
" -r - remote build"
# echog " -m - send result via e-mail"
# echog " -m - send result via e-mail"
echog
" -u/-U - sign and upload after build"
echog
" -u/-U - sign and upload after build"
echog
" -n - do not build in hasher"
echog
" -n - do not build in hasher
(use first in the list)
"
echog
" -i - install built packages in test hasher"
echog
" -i - install built packages in test hasher"
echog
" -v - more verbose"
echog
" -v - more verbose"
}
}
while
getopts
:hniv opt
;
do
while
getopts
:hni
u
v opt
;
do
case
$opt
in
case
$opt
in
h
)
phelp
;
exit
0
;;
h
)
phelp
;
exit
0
;;
n
)
BUILDCOMMAND
=
"
$ETERBUILDBIN
/rpmbs --rmsource --rmspec"
;;
n
)
NOBUILD
=
1
;;
v
)
VERBOSE
=
1
;;
v
)
VERBOSE
=
1
;;
+?
)
echog
"
$name
: options should not be preceded by a '+'."
1>&2
;
exit
2
;;
+?
)
echog
"
$name
: options should not be preceded by a '+'."
1>&2
;
exit
2
;;
# ?) echog "$name: $OPTARG: bad option. Use -h for help." 1>&2 ; exit 2;;
# ?) echog "$name: $OPTARG: bad option. Use -h for help." 1>&2 ; exit 2;;
...
@@ -310,7 +311,57 @@ fi
...
@@ -310,7 +311,57 @@ fi
unset
MENV MENVARG
unset
MENV MENVARG
# handle src.rpm too, LISTBUILT - result with full pathes to src.rpms
[
-n
"
$NOBUILD
"
]
&&
BUILDCOMMAND
=
"
$ETERBUILDBIN
/rpmbs --rmsource --rmspec"
[
-z
"
$BUILDCOMMAND
"
]
&&
BUILDCOMMAND
=
"
$ETERBUILDBIN
/rpmbsh
$GIRARHOST
"
if
[
"
$VENDOR
"
=
"alt"
]
;
then
# run inside gear repo, just create backported spec
# set SPECDIR from LISTNAMES if empty
[
-n
"
$SPECDIR
"
]
||
set_specdir
$LISTNAMES
if
is_gear
$SPECDIR
;
then
[
-f
"
$LISTNAMES
"
]
||
fatal
"Run with one spec inside gear repo"
SPEC
=
$LISTNAMES
BPSPEC
=
$SPEC
.
$MDISTR
[
-f
"
$BPSPEC
"
]
&&
fatal
"File
$BPSPEC
is already exists, check it"
CURBRANCH
=
$(
get_current_branch
)
if
[
"
$CURBRANCH
"
=
"
$MDISTR
"
]
;
then
fatal
"Run rpmbph in sisyphus branch, not in backport branch
$MDISTR
"
fi
# Create branch M?? if not exist yet
if
!
is_exist_branch
$MDISTR
;
then
git branch
$MDISTR
fi
cp
-f
$LISTNAMES
$BPSPEC
altspec_to_local
$BPSPEC
git checkout
$MDISTR
||
fatal
"Can't checkout branch
$MDISTR
. Use
$BPSPEC
manually or remove it."
git merge
$CURBRANCH
mv
-f
$BPSPEC
$SPEC
# FIXME: Ctrl-\ and q will cancelled less with return error code
if
!
git diff
$MDISTR
;
then
#git checkout $SPEC $MDISTR
#git checkout $CURBRANCH
fatal
"User cancelled. You are still in
$MDISTR
branch with modified spec"
fi
git add
$SPEC
if
!
git commit
-a
-m
"backported to
$MDISTR
by rpmbph script as
$(
get_version
$SPEC
)
-
$(
get_release
$SPEC
)
"
;
then
#git checkout $CURBRANCH
#fatal "Commit error. You are still in $MDISTR branch with modified and uncommitted spec"
# FIXME: git commit returns error if no commit needed
echo
fi
[
-n
"
$NOBUILD
"
]
&&
BUILDCOMMAND
=
"
$ETERBUILDBIN
/rpmbs"
$BUILDCOMMAND
$LISTRPMARGS
$REMOTEBUILD
$DISTRARG
$SPEC
||
{
git checkout
$CURBRANCH
;
fatal
"Can't build"
;
}
git checkout
$CURBRANCH
exit
$?
fi
fi
# handle src.rpm and spec both, LISTBUILT - result with full pathes to src.rpms
pack_src_rpm
$LISTNAMES
pack_src_rpm
$LISTNAMES
export
RPMTOPDIR
=
$RPMDIR
/BP
export
RPMTOPDIR
=
$RPMDIR
/BP
...
@@ -325,6 +376,8 @@ for i in $LISTBUILT ; do
...
@@ -325,6 +376,8 @@ for i in $LISTBUILT ; do
test
-f
"
$SPECNAME
"
||
fatal
"Spec
$SPECNAME
is not found"
test
-f
"
$SPECNAME
"
||
fatal
"Spec
$SPECNAME
is not found"
# FIXME: do not remove if not repacked
# FIXME: do not remove if not repacked
#rm -f $SPKG
#rm -f $SPKG
alt_tolocal
$SPECNAME
altspec_to_local
$SPECNAME
$BUILDCOMMAND
$LISTRPMARGS
$REMOTEBUILD
$DISTRARG
$SPECNAME
||
fatal
"Can't build"
done
done
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment