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
dc79733c
You need to sign in or sign up before continuing.
Commit
dc79733c
authored
Dec 13, 2008
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of git.alt:packages/etersoft-build-utils
parents
abe71857
064ed423
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
113 additions
and
71 deletions
+113
-71
TODO
TODO
+6
-0
myhsh
bin/myhsh
+1
-19
rpmcs
bin/rpmcs
+8
-3
rpmgp
bin/rpmgp
+84
-42
common
share/eterbuild/functions/common
+9
-2
rpm
share/eterbuild/functions/rpm
+1
-1
spec
share/eterbuild/functions/spec
+4
-4
No files found.
TODO
View file @
dc79733c
rpmbsh -u rpmbs -s ( )
rpmgp -r git -
%name -
, gear-update
apt-cache list-extras
apt-cache list-extras
BuildArch: noarch
BuildArch: noarch
...
...
bin/myhsh
View file @
dc79733c
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
# load common functions, compatible with local and installed script
# load common functions, compatible with local and installed script
.
`
dirname
$0
`
/../share/eterbuild/functions/common
.
`
dirname
$0
`
/../share/eterbuild/functions/common
.
$ETERBUILDDIR
/functions/
hasher
load_mod
hasher
#############################
#############################
Usage
=
"Usage:
$name
[-m -s -u -i -c] src.rpm..."
Usage
=
"Usage:
$name
[-m -s -u -i -c] src.rpm..."
...
@@ -22,7 +22,6 @@ phelp()
...
@@ -22,7 +22,6 @@ phelp()
echog
"
$Descr
"
echog
"
$Descr
"
echog
"
$Usage
"
echog
"
$Usage
"
echog
"Options:"
echog
"Options:"
# echog " -m - mail result log"
echog
" -s - sign package(s)"
echog
" -s - sign package(s)"
echog
" -u - sign and upload package(s) to Incoming"
echog
" -u - sign and upload package(s) to Incoming"
echog
" -i - install built packages in test hasher"
echog
" -i - install built packages in test hasher"
...
@@ -32,7 +31,6 @@ phelp()
...
@@ -32,7 +31,6 @@ phelp()
while
getopts
:hmic opt
;
do
while
getopts
:hmic opt
;
do
case
$opt
in
case
$opt
in
h
)
phelp
;
exit
0
;;
h
)
phelp
;
exit
0
;;
# m) fatal "Mail is disabled for this version" ; TOMAIL=1 ;;
i
)
TESTINSTALL
=
1
;;
i
)
TESTINSTALL
=
1
;;
c
)
HASHERARG
=
"--without-stuff
$HASHERARG
"
;;
c
)
HASHERARG
=
"--without-stuff
$HASHERARG
"
;;
+?
)
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
;;
...
@@ -53,22 +51,6 @@ LISTRPMARGS=$@
...
@@ -53,22 +51,6 @@ LISTRPMARGS=$@
parse_cmd_pre
"
$@
"
parse_cmd_pre
"
$@
"
mygetopts
$LISTARGS
mygetopts
$LISTARGS
# Start as mail helper
function
mail_build
()
{
MUTT
=
mutt
which
$MUTT
&>/dev/null
||
return
$0
"
$@
"
2>&1 |
$MUTT
"
$OWNERMAIL
"
-s
"Result of rebuild at
$HOSTNAME
at
`
date
`
"
}
if
[
-n
"
$TOMAIL
"
]
;
then
echog
"Build via email"
(
mail_build
$LISTNAMES
$LISTARGS
)
>
/dev/null 2>&1 &
echog
"Build request is accepted for:
$LISTNAMES
"
echog
"Report will be sending to:
$OWNERMAIL
"
exit
0
fi
RESULT
=
0
RESULT
=
0
HASHERDIR
=
$HASHERDIR$MENVARG
HASHERDIR
=
$HASHERDIR$MENVARG
...
...
bin/rpmcs
View file @
dc79733c
...
@@ -9,8 +9,9 @@
...
@@ -9,8 +9,9 @@
# load common functions, compatible with local and installed script
# load common functions, compatible with local and installed script
.
`
dirname
$0
`
/../share/eterbuild/functions/common
.
`
dirname
$0
`
/../share/eterbuild/functions/common
.
$ETERBUILDDIR
/functions/rpm
.
load_mod rpm
.
$ETERBUILDDIR
/functions/repl
.
load_mod repl
.
load_mod spec
dummy_spec
()
dummy_spec
()
{
{
...
@@ -98,7 +99,7 @@ do
...
@@ -98,7 +99,7 @@ do
echog
"cleanup_spec for
$i
..."
echog
"cleanup_spec for
$i
..."
cleanup_spec
$i
cleanup_spec
$i
# convert from PLD's cases
# convert from PLD's cases
subst
"s|%if %{with
\(
.*
\)
}|%if_with
\1
|g"
$i
subst
"s|%if %{with
\(
.*
\)
}|%if_with
\1
|g"
$i
subst
"s|%if %{without
\(
.*
\)
}|%if_without
\1
|g"
$i
subst
"s|%if %{without
\(
.*
\)
}|%if_without
\1
|g"
$i
# replaces with and without too
# replaces with and without too
...
@@ -111,6 +112,10 @@ do
...
@@ -111,6 +112,10 @@ do
# For case if name was macros
# For case if name was macros
test
-n
"
$BASENAME
"
&&
set_var
$i
Name
$BASENAME
test
-n
"
$BASENAME
"
&&
set_var
$i
Name
$BASENAME
# For case if version was macros
# set_version is major define safe
test
-n
"
$VERSION
"
&&
set_version
$i
$VERSION
echog
-n
"fix obsoleted constructions..."
echog
-n
"fix obsoleted constructions..."
subst
"s|Source0:|Source:|"
$i
subst
"s|Source0:|Source:|"
$i
subst
"s|Patch0:|Patch:|"
$i
subst
"s|Patch0:|Patch:|"
$i
...
...
bin/rpmgp
View file @
dc79733c
...
@@ -38,6 +38,8 @@ list_systems()
...
@@ -38,6 +38,8 @@ list_systems()
for
((
i
=
0
;
i <
${#
SYSNAME
[*]
}
;
i++
))
;
do
for
((
i
=
0
;
i <
${#
SYSNAME
[*]
}
;
i++
))
;
do
printf
"[%-17s] %s
\n
"
${
SYSNAME
[
$i
]
}
${
SYSURL
[
$i
]
}
printf
"[%-17s] %s
\n
"
${
SYSNAME
[
$i
]
}
${
SYSURL
[
$i
]
}
done
done
echo
echo
"You can add system to /etc/eterbuild/repos"
}
}
html_filter
()
html_filter
()
...
@@ -74,6 +76,9 @@ get_list()
...
@@ -74,6 +76,9 @@ get_list()
get_system_idx
()
get_system_idx
()
{
{
if
[
-z
"
$1
"
]
;
then
return
1
fi
for
((
i
=
0
;
i <
${#
SYSNAME
[*]
}
;
i++
))
;
do
for
((
i
=
0
;
i <
${#
SYSNAME
[*]
}
;
i++
))
;
do
if
[
${
SYSNAME
[
$i
]
}
=
"
$1
"
]
;
then
if
[
${
SYSNAME
[
$i
]
}
=
"
$1
"
]
;
then
echo
$i
echo
$i
...
@@ -106,77 +111,117 @@ check_name()
...
@@ -106,77 +111,117 @@ check_name()
check_system
()
check_system
()
{
{
local
i
local
IDX
=
$1
local
IDX
=
$1
local
URL
=
${
SYSURL
[
$IDX
]
}
local
URL
=
${
SYSURL
[
$IDX
]
}
#echo "Check for $SYSTEM"
#echo "Check for $SYSTEM"
get_list
$IDX
$FORCEUPDATE
get_list
$IDX
#ls -l $LIST
#ls -l $LIST
check_name
$NAME
&&
wget
-c
$URL
/
$NLIST
check_name
$NAME
if
[
"
$DOWNLOADALL
"
]
;
then
for
i
in
$NLIST
;
do
wget
-c
$URL
/
$i
done
fi
}
}
update_cache_list
()
{
load_systems_list
# if followed by system name
IDX
=
`
get_system_idx
"
$1
"
`
if
[
-n
"
$IDX
"
]
;
then
get_list
$IDX
force
shift
exit
0
fi
# update all systems
for
((
i
=
0
;
i <
${#
SYSNAME
[*]
}
;
i++
))
;
do
get_list
$i
force
done
}
if
[
"
$1
"
=
"-h"
]
;
then
Usage
=
"Usage:
$name
[options] [system] pkgname"
echog
"Using:"
function
mygetopts
()
{
name
=
${
0
##*/
}
Descr
=
"
$name
- various package download operations"
phelp
()
{
# TODO: improve description
echog
"
$Descr
"
echog
"
$Usage
"
echog
"Options:"
echog
"rpmgp [-a -c -n] [system] pkgname - download src.rpm from 'system' repository to RPM/SRPMS and install it"
echog
"rpmgp [-a -c -n] [system] pkgname - download src.rpm from 'system' repository to RPM/SRPMS and install it"
echog
" name - installed package name or src.rpm"
echog
" name - installed package name or src.rpm"
echog
" system - name of system (ALT Linux by default if -a missed too)"
echog
" system - name of system (ALT Linux by default if -a missed too)"
echog
" -a check for pkgname in all known repositories"
echog
" -a check for pkgname in all known repositories"
echog
" -b install packages needed for build (installs with sudo apt-get) (need spec not package name)"
echog
" -c check for exist the package in ALT Linux repository"
echog
" -c check for exist the package in ALT Linux repository"
echog
" -
b install packages needed for build (installs with sudo apt-get)
"
echog
" -
d download all matches packages from all repositories
"
echog
" -l lists packages needed for build (in local pkg system notation) (experimental)"
echog
" -l lists packages needed for build (in local pkg system notation) (experimental)"
echog
" -n do not install in RPM after download, download in current dir"
echog
" -n do not install in RPM after download, download in current dir"
echog
" -r refresh package list (download it again)"
echog
" -r refresh package list (download it again)"
echog
" -s lists all known systems"
echog
" -s lists all known systems"
exit
0
exit
0
fi
}
TRYINST
=
"1"
TRYINST
=
"1"
if
[
"
$1
"
=
"-n"
]
;
then
while
getopts
:habcdlnrs opt
;
do
shift
case
$opt
in
TRYINST
=
""
h
)
phelp
;
exit
0
;;
fi
a
)
ALLSYSTEM
=
1
;;
b
)
INSTALLBYNARY
=
1
;;
c
)
CHECKONLINE
=
1
;;
d
)
DOWNLOADALL
=
1
;;
l
)
LISTREQS
=
1
;;
n
)
TRYINST
=
""
;;
r
)
UPDATECACHE
=
1
;;
s
)
load_systems_list
list_systems
exit
0
;;
+?
)
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;;
?
)
OPTIND
=
$((
OPTIND-1
))
;
break
;
esac
done
# list systems
# FIXME: (, -i, -b)
if
[
"
$1
"
=
"-s"
]
;
then
# remove args that were options
load_systems_list
if
[
$#
-gt
0
]
;
then
list_systems
shift
$((
OPTIND
-
1
))
exit
0
fi
fi
# update cache list
# pass other options to RPM:
if
[
"
$1
"
=
"-r"
]
;
then
LISTARGS
=
$@
load_systems_list
}
FORCEUPDATE
=
force
shift
mygetopts
"
$@
"
# if followed by system name
IDX
=
`
get_system_idx
"
$2
"
`
# remove args that were options
if
[
-n
"
$IDX
"
]
;
then
if
[
$#
-gt
0
]
;
then
get_list
$IDX
$FORCEUPDATE
shift
$((
OPTIND
-
1
))
shift
exit
0
fi
fi
fi
#
check for all repos
#
optional arg
if
[
"
$1
"
=
"-a
"
]
;
then
if
[
-n
"
$UPDATECACHE
"
]
;
then
ALLSYSTEM
=
1
update_cache_list
$
1
shift
exit
0
fi
fi
test
-z
"
$1
"
&&
fatal
"Please run with spec/package name"
test
-z
"
$LISTARGS
"
&&
fatal
"Please run with spec/package name"
#
# , ( ?),
# , ( ?),
# -
# -
#
#
#
#
# - []
# - []
# install binary packages
# install binary packages
if
[
"
$1
"
=
"-b"
]
;
then
if
[
-n
"
$INSTALLBYNARY
"
]
;
then
shift
parse_cmd_pre
"
$@
"
parse_cmd_pre
"
$@
"
pack_src_rpm
$LISTRPMARGS
pack_src_rpm
$LISTRPMARGS
echog
"Running apt-get for install needed packages for
$LISTBUILT
"
echog
"Running apt-get for install needed packages for
$LISTBUILT
"
...
@@ -188,16 +233,13 @@ if [ "$1" = "-b" ] ; then
...
@@ -188,16 +233,13 @@ if [ "$1" = "-b" ] ; then
fi
fi
# lists packages for build
# lists packages for build
if
[
"
$1
"
=
"-l"
]
;
then
if
[
-n
"
$LISTREQS
"
]
;
then
shift
print_target_buildreq
$1
print_target_buildreq
$1
exit
0
exit
0
fi
fi
# Check online
# Check online
if
[
"
$1
"
=
"-c"
]
;
then
if
[
-n
"
$CHECKONLINE
"
]
;
then
shift
CHECKONLINE
=
1
if
[
-f
$1
]
;
then
if
[
-f
$1
]
;
then
build_rpms_name
"
$1
"
build_rpms_name
"
$1
"
SRCRPM
=
$NAMESRPMIN
SRCRPM
=
$NAMESRPMIN
...
...
share/eterbuild/functions/common
View file @
dc79733c
...
@@ -14,7 +14,12 @@ set_eterbuilddir()
...
@@ -14,7 +14,12 @@ set_eterbuilddir()
# if run from no system installation
# if run from no system installation
ETERBUILDDIR
=
$(
realpath
`
dirname
$0
`
/../share/eterbuild
)
ETERBUILDDIR
=
$(
realpath
`
dirname
$0
`
/../share/eterbuild
)
ETERBUILDETC
=
$(
realpath
`
dirname
$0
`
/../etc
)
ETERBUILDETC
=
$(
realpath
`
dirname
$0
`
/../etc
)
echo
"Note: run from source tree, datadir=
$ETERBUILDDIR
, sysconfdir=
$ETERBUILDETC
"
if
[
-r
"
$ETERBUILDETC
/../AUTHORS"
]
;
then
echo
"Note: run from source tree, datadir=
$ETERBUILDDIR
, sysconfdir=
$ETERBUILDETC
"
else
ETERBUILDETC
=
/etc/eterbuild
ETERBUILDDIR
=
/usr/share/eterbuild
fi
fi
fi
test
-n
"
$ETERBUILDDIR
"
test
-n
"
$ETERBUILDDIR
"
# returns test result
# returns test result
...
@@ -169,7 +174,9 @@ set_incoming()
...
@@ -169,7 +174,9 @@ set_incoming()
add_changelog_helper
()
add_changelog_helper
()
{
{
# don't work sometime?
# don't work sometime?
if
!
tty
-s
&&
[
-z
"
$@
"
]
;
then
# TODO: fix with $@, single arg?
local
DESC SPEC
if
!
tty
-s
&&
[
-z
"
$DESC
"
]
;
then
echo
"skip changelog fixing without tty"
echo
"skip changelog fixing without tty"
return
1
return
1
fi
fi
...
...
share/eterbuild/functions/rpm
View file @
dc79733c
...
@@ -97,7 +97,7 @@ build_rpms_name()
...
@@ -97,7 +97,7 @@ build_rpms_name()
local
BNS NSS
local
BNS NSS
BNS
=
"
$BASENAME
"
.spec
BNS
=
"
$BASENAME
"
.spec
NSS
=
`
basename
$NAMESPEC
`
NSS
=
`
basename
$NAMESPEC
`
test
"
$NSS
"
!=
"
$BNS
"
&&
warning
"
BASENAME is not the same as NAMESPEC:
$BNS
against
$SS
"
test
"
$NSS
"
!=
"
$BNS
"
&&
warning
"
Spec name (
$NSS
) is not equal to Name of package (
$BNS
)
"
build_buildroot
build_buildroot
}
}
...
...
share/eterbuild/functions/spec
View file @
dc79733c
...
@@ -14,11 +14,11 @@ eval_spec()
...
@@ -14,11 +14,11 @@ eval_spec()
{
{
# Hack: just print spec if -bE failed
# Hack: just print spec if -bE failed
# TODO: use rpm -showrc instead -bE for get main variables?
# TODO: use rpm -showrc instead -bE for get main variables?
if
is_alt
;
then
#
if is_alt ; then
$RPMBUILD
-bE
--target
$DEFAULTARCH
$RPMBUILDARG
$@
||
fatal
"Check spec's fields"
#
$RPMBUILD -bE --target $DEFAULTARCH $RPMBUILDARG $@ || fatal "Check spec's fields"
else
#
else
$RPMBUILD
-bE
--target
$DEFAULTARCH
$RPMBUILDARG
$@
2>/dev/null
||
cat
$1
$RPMBUILD
-bE
--target
$DEFAULTARCH
$RPMBUILDARG
$@
2>/dev/null
||
cat
$1
fi
#
fi
}
}
get_release
()
get_release
()
...
...
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