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
a65443cc
Commit
a65443cc
authored
Apr 21, 2016
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
loginhsh: drop automode (-a)
myhsh: add -b for get binary packages, -r for remove packages rpmbsh: release -i (install in hasher) here
parent
9d2396c2
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
67 additions
and
84 deletions
+67
-84
loginhsh
bin/loginhsh
+4
-15
myhsh
bin/myhsh
+41
-23
rpmbsh
bin/rpmbsh
+22
-2
rpm
share/eterbuild/functions/rpm
+0
-4
rpmpkg
share/eterbuild/functions/rpmpkg
+0
-25
test_get_bin.sh
tests/test_get_bin.sh
+0
-15
No files found.
bin/loginhsh
View file @
a65443cc
...
...
@@ -46,13 +46,12 @@ phelp()
echog
" -x allow run X program (obsoleted)"
}
while
getopts
:chito
a
dvqr:b:p:xXY opt
;
do
while
getopts
:chitodvqr:b:p:xXY opt
;
do
case
$opt
in
h
)
phelp
;
exit
0
;;
t
)
TESTMODE
=
1
;;
i
)
INITIALIZE
=
1
;;
c
)
CLEANUP
=
1
;;
a
)
AUTOMODE
=
1
;;
d
)
PRINTHASHERDIR
=
1
;;
q
)
QUIETMODE
=
1
;;
b
)
BINARYREPONAME
=
$OPTARG
;;
...
...
@@ -93,7 +92,7 @@ HASHERARG="$HASHERARG --apt-config=$OURAPTCONF --target $BUILDARCH --with-stuff"
set_hasherdir
if
[
-n
"
$HASHERPOSTFIX
"
]
;
then
HASHERDIR
=
$HASHERDIR
-
$HASHERPOSTFIX
elif
[
-n
"
$TESTMODE
"
]
||
[
-n
"
$AUTOMODE
"
]
;
then
elif
[
-n
"
$TESTMODE
"
]
;
then
HASHERDIR
=
$HASHERDIR
-test
fi
...
...
@@ -111,7 +110,7 @@ if [ "$CLEANUP" = "1" ] ; then
exit
fi
if
[
!
-d
$HASHERDIR
]
||
[
"
$INITIALIZE
"
=
"1"
]
||
[
-n
"
$AUTOMODE
"
]
;
then
if
[
!
-d
$HASHERDIR
]
||
[
"
$INITIALIZE
"
=
"1"
]
;
then
echog
"Initialize
$HASHERDIR
..."
mkdir
-p
$HASHERDIR
||
fatal
"mkdir"
docmd
$HSH
$VERBOSE
$HASHERARG
--initroot-only
$HASHERDIR
||
fatal
"Cannot initialize hasher"
...
...
@@ -142,7 +141,7 @@ if epm requires $LISTNAMES 2>/dev/null | grep -q dbus ; then
UTILPKG
=
"
$UTILPKG
dbus-tools-gui"
fi
if
[
-n
"
$A
UTOMODE
"
]
||
[
-n
"
$A
LLOWX
"
]
;
then
if
[
-n
"
$ALLOWX
"
]
;
then
UTILPKG
=
"
$UTILPKG
xauth fonts-ttf-liberation"
SHELLHASHERARG
=
"
$SHELLHASHERARG
$ALLOWX
"
else
...
...
@@ -158,13 +157,3 @@ fi
echog
"You are in hasher shell"
docmd
$HSH
-shell
$HASHERDIR
$SHELLHASHERARG
$ROOTER
--wait-lock
--shell
if
[
-n
"
$AUTOMODE
"
]
;
then
# FIXME: do not remove on x86_64
echo
"Removing package for test preun scripts..."
# use when eepm >= 1.3.0 will everywhere
#docmd $HSH-run --rooter $HASHERDIR -- epm remove $LISTNAMES
docmd
$HSH
-run
--rooter
$HASHERDIR
--
rpm
-e
$(
drop_pkg_extensions
$LISTNAMES
)
echo
"Cleanup hasher in
$HASHERDIR
..."
docmd
$HSH
--cleanup-only
$HASHERDIR
fi
bin/myhsh
View file @
a65443cc
#!/bin/bash
# 2003-2006, 2008-2010, 2013 (c) Etersoft www.etersoft.ru
# 2003-2006, 2008-2010, 2013
, 2016
(c) Etersoft www.etersoft.ru
# Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain
#
# Пересборка указанных SRPM-пакетов в hasher
# -i устанавливает в тестовый hasher после пересборки
# load common functions, compatible with local and installed script
.
`
dirname
$0
`
/../share/eterbuild/functions/common
load_mod hasher check
TESTINSTALL
=
WITHSTUFF
=
"--with-stuff"
#############################
...
...
@@ -18,7 +16,7 @@ Usage="Usage: $name [-i -c -l] src.rpm..."
function
mygetopts
()
{
name
=
${
0
##*/
}
Descr
=
"
$name
- build package via hasher"
Descr
=
"
$name
-
internal helper for
build package via hasher"
phelp
()
{
...
...
@@ -26,16 +24,18 @@ phelp()
echog
"
$Usage
"
echo
echog
"Options:"
echog
" -i install built packages in test hasher"
echog
" -c build without stuff (without previous built packages)"
echog
" -r remove packages from test hasher"
echog
" -b print binary packages by built list"
echog
" -l lazy cleanup (before build, not after)"
}
while
getopts
:h
icl
opt
;
do
while
getopts
:h
bclr
opt
;
do
case
$opt
in
h
)
phelp
;
exit
0
;;
i
)
TESTINSTALL
=
1
;;
b
)
PRINTBINPKG
=
1
;;
r
)
REMOVEPKG
=
1
;;
l
)
HASHERARG
=
"
$HASHERARG
--lazy-cleanup"
;;
c
)
WITHSTUFF
=
"--without-stuff"
;;
+?
)
echog
"
$name
: options should not be preceded by a '+'."
1>&2
;
exit
2
;;
...
...
@@ -62,6 +62,36 @@ RESULT=0
HASHERARG
=
"
$HASHERARG
$WITHSTUFF
"
set_hasherdir
if
[
-n
"
$PRINTBINPKG
"
]
;
then
BINPACKAGES
=
# allow absolute path and just src.rpm name
LISTNAMES
=
"
$LISTNAMES
$LISTRPMARGS
"
RPMHASHERDIR
=
$HASHERDIR
/repo/
$BUILDARCH
/RPMS.hasher
for
i
in
$LISTNAMES
;
do
#echog "Find binary packages for '$(basename $i)' in $RPMHASHERDIR ..."
BINPACKAGES
=
"
$BINPACKAGES
$(
epm print binpkgfilelist
$RPMHASHERDIR
$i
)
"
done
test
-n
"
$BINPACKAGES
"
||
fatal
"Can't find any binary packages for
$LISTNAMES
in
$(
ls
-l
$RPMHASHERDIR
)
"
echo
"
$BINPACKAGES
"
exit
fi
if
[
-n
"
$REMOVEPKG
"
]
;
then
check_locking
HASHERDIR
=
$HASHERDIR
-test
# FIXME: do not remove on x86_64
echo
"Removing package(s)..."
# use when eepm >= 1.3.0 will everywhere
#docmd $HSH-run --rooter $HASHERDIR -- epm remove $LISTNAMES
docmd
$HSH
-run
--rooter
$HASHERDIR
--
rpm
-e
$(
epm print pkgname from filename
$LISTNAMES
)
#echo "Cleanup hasher in $HASHERDIR ..."
#docmd $HSH --cleanup-only $HASHERDIR
exit
fi
mkdir
-p
$LOGDIR
$HASHERDIR
||
fatal
"cannot mkdir"
check_locking
...
...
@@ -121,27 +151,15 @@ do
done
echo
if
[
"
$RESULT
"
=
"1"
]
;
then
if
[
"
$RESULT
"
=
"0"
]
;
then
echog
"Full list of the hashered packages:"
else
echo
echog
"!!!!!!! Hasher: FAILED FAILED FAILED !!!!!!!!!"
echog
"Build failed with
$i
, built only"
else
echog
"Full list of the hashered packages:"
fi
print_list
$LISTBUILTSH
print_list
$LISTBUILTSH
echo
if
[
"
$RESULT
"
=
"0"
]
&&
[
-n
"
$TESTINSTALL
"
]
;
then
# test install (only for last package in list)
# some key for build hasher from scratch
echog
"Find binary packages for '
$(
basename
$LASTPACKAGE
)
' in
$HASHERDIR
/repo/
$BUILDARCH
/RPMS.hasher..."
BINPACKAGES
=
`
get_binpkg_list
$HASHERDIR
/repo/
$BUILDARCH
/RPMS.hasher
$LASTPACKAGE
| estrlist reg_exclude debuginfo -
`
test
-n
"
$BINPACKAGES
"
||
fatal
"Can't find binary packages for
$LASTPACKAGE
in
`
ls
-l
$HASHERDIR
/repo/
$BUILDARCH
/RPMS.hasher
`
"
echo
"List:
$BINPACKAGES
"
echo
showcmd
$ETERBUILDBIN
/loginhsh
-a
$MENVARG
$BINPACKAGES
$ETERBUILDBIN
/loginhsh
-a
$MENVARG
$BINPACKAGES
exit
fi
exit
$RESULT
bin/rpmbsh
View file @
a65443cc
...
...
@@ -40,10 +40,11 @@ phelp()
echog
" -b REPONAME binary repository name (4.1, p5, t6 and so on)"
}
while
getopts
:htb: opt
;
do
while
getopts
:
i
htb: opt
;
do
case
$opt
in
h
)
phelp
;
exit
0
;;
t
)
COMMIT
=
"--commit"
;;
i
)
INSTALLPKG
=
1
;;
b
)
BINARYREPONAME
=
$OPTARG
;;
+?
)
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;;
...
...
@@ -78,7 +79,7 @@ fi
# We do not not pass args for myhsh here...
# FIXME: не обрабатывает два пропускаемых вместе параметра
pack_src_rpm
$COMMIT
$(
drop_args
"
$LISTRPMARGS
"
s u
i
c l f a A
)
pack_src_rpm
$COMMIT
$(
drop_args
"
$LISTRPMARGS
"
s u c l f a A
)
# TODO: use gear --hasher directly, drop myhsh
...
...
@@ -86,8 +87,27 @@ if rhas "$LISTNAMES" spec ; then
set_specdir
$LISTNAMES
fi
# build in hasher
docmd
time
$ETERBUILDBIN
/myhsh
$MENVARG
$(
drop_args
"
$LISTRPMARGS
"
f u a A
)
$LISTBUILT
RESULT
=
$?
# if ok and requested test install, do it
if
[
"
$RESULT
"
=
"0"
]
&&
[
-n
"
$INSTALLPKG
"
]
;
then
BINPACKAGES
=
$(
$ETERBUILDBIN
/myhsh
-b
$LISTBUILT
)
||
fatal
"Can't get binary packages for
$LISTBUILT
"
echo
echog
"List of binary packages:"
print_list
$BINPACKAGES
echo
# showcmd separately due console input
showcmd
$ETERBUILDBIN
/loginhsh
-Y
-t
-i
$MENVARG
$BINPACKAGES
$ETERBUILDBIN
/loginhsh
-Y
-t
-i
$MENVARG
$BINPACKAGES
# test remove packages from test hasher dir
docmd
$ETERBUILDBIN
/myhsh
-r
$MENVARG
$BINPACKAGES
fi
# remove generated src.rpm
for
i
in
$LISTBUILT
;
do
estrlist has
$i
$LISTNAMES
||
rm
-f
$i
...
...
share/eterbuild/functions/rpm
View file @
a65443cc
...
...
@@ -6,10 +6,6 @@
# FIXME: use build directly in build scripts
load_mod build
# REMOVE: for compatibility
load_mod rpmpkg
# get correct BUILDROOT, run build_rpms_name before!
build_buildroot
()
{
...
...
share/eterbuild/functions/rpmpkg
deleted
100644 → 0
View file @
9d2396c2
#!/bin/bash
# 2008 Etersoft www.etersoft.ru
# Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain
# build binary package list (1st - repo dir, 2st - pkgname)
# algorithm: list all files in PKGDIR, print packages with our source pkg name
get_binpkg_list
()
{
local
PKGDIR
=
$1
local
PKGNAME
=
$(
basename
$2
)
find
"
$PKGDIR
"
!
-name
'*\.src\.rpm'
-name
'*\.rpm'
-execdir
\
rpmquery
-p
--qf
=
'%{sourcerpm}\t%{name}-%{version}-%{release}.%{arch}.rpm\n'
"{}"
\;
\
|
grep
"^
$PKGNAME
[[:space:]].*"
|
cut
-f2
| xargs
-n1
-I
"{}"
echo
-n
"
$PKGDIR
/{} "
}
drop_pkg_extensions
()
{
for
i
in
$@
;
do
echo
-n
"
$(
basename
$i
)
"
|
sed
-e
"s|
\.
[a-z_0-9]*
\.
rpm||g"
done
| filter_strip_spaces
}
tests/test_get_bin.sh
deleted
100755 → 0
View file @
9d2396c2
#!/bin/sh
.
`
dirname
$0
`
/../share/eterbuild/functions/common
load_mod rpm hasher
MENVARG
=
$1
test
-n
"
$MENVARG
"
||
MENVARG
=
-SS
set_hasherdir
for
i
in
`
ls
-1
$HASHERDIR
/repo/SRPMS.hasher
`
;
do
echo
"get for
$i
:"
LISTNAMES
=
`
get_binpkg_list
$HASHERDIR
/repo/
$BUILDARCH
/RPMS.hasher
$(
basename
$i
)
`
echo
$LISTNAMES
echo
"without ext:
$(
drop_pkg_extensions
$LISTNAMES
)
"
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