Commit 3b1f8a9a authored by Vitaly Lipatov's avatar Vitaly Lipatov

improve querypackage and use it in all cases

parent 98f59761
...@@ -112,9 +112,9 @@ extract_tarball_to_dest() ...@@ -112,9 +112,9 @@ extract_tarball_to_dest()
cd $TDIR cd $TDIR
cat "$1" | rpm2cpio | cpio -i "*.tar*" cat "$1" | rpm2cpio | cpio -i "*.tar*"
#cp -fv *.tar* $2 #cp -fv *.tar* $2
local TARNAME=$(rpm -q -p --queryformat "%{NAME}-%{VERSION}" $1) local TARNAME=$(querypackage $1 "" "%{NAME}-%{VERSION}")
# FIXME: hack to replace alt release to eter # FIXME: hack to replace alt release to eter
local TARGETTARNAME=$(rpm -q -p --queryformat "%{NAME}-%{VERSION}-%{RELEASE}" $1 | sed -e "s/-alt/-eter/g") local TARGETTARNAME=$(querypackage $1 "" "%{NAME}-%{VERSION}-%{RELEASE}" | sed -e "s/-alt/-eter/g")
copy_tarball_to_tar_bz2 $TARNAME*.tar* $2/$TARGETTARNAME.tar.bz2 copy_tarball_to_tar_bz2 $TARNAME*.tar* $2/$TARGETTARNAME.tar.bz2
cd - cd -
make_md5sum $2 $TARGETTARNAME.tar.bz2 make_md5sum $2 $TARGETTARNAME.tar.bz2
......
...@@ -13,6 +13,10 @@ ...@@ -13,6 +13,10 @@
. `dirname $0`/../share/eterbuild/functions/common . `dirname $0`/../share/eterbuild/functions/common
which xdg-open 2>/dev/null >/dev/null && BROWSER=xdg-open which xdg-open 2>/dev/null >/dev/null && BROWSER=xdg-open
URLSHOWBUG="https://bugzilla.altlinux.org/show_bug.cgi?id=$1"
PRODUCT=Sisyphus
URLBUGLIST="https://bugzilla.altlinux.org/buglist.cgi?product=$PRODUCT&component=$PKGNAME&component_type=equals&simple=1"
show_bugs() show_bugs()
{ {
...@@ -28,9 +32,8 @@ show_bugs() ...@@ -28,9 +32,8 @@ show_bugs()
show_bugbyid() show_bugbyid()
{ {
URL="https://bugzilla.altlinux.org/show_bug.cgi?id=$1"
# TEXT=1 # TEXT=1
show_bugs $URL show_bugs $URLSHOWBUG
} }
...@@ -58,37 +61,33 @@ SPECLIST=$@ ...@@ -58,37 +61,33 @@ SPECLIST=$@
if [ "${1}" = "-qf" ] if [ "${1}" = "-qf" ]
then then
shift shift
SPECLIST=$1 SPECLIST=$(rpmqf "$1")
if [ -e $SPECLIST ] ; then if [ -e "$1" ] ; then
SPECLIST=`rpm -qf --queryformat "%{NAME} " $SPECLIST` SPECLIST=$(querypackage $SPECLIST NAME)
else
SPECLIST=`rpmqf $SPECLIST`
fi fi
fi fi
# if param is number # if param is number
if [ -z `echo ${1} | sed -e "s/[0-9]*//"` ] ; then if [ -z `echo ${1} | sed -e "s/[0-9]*//"` ] ; then
show_bugbyid $1 show_bugbyid $1
exit 0 exit
fi fi
for i in $SPECLIST for i in $SPECLIST ; do
do
if [ -f $i ] if [ -f $i ]
then then
if [ -z ${i/*rpm/} ] if [ -z ${i/*rpm/} ]
then then
# it is rpm package # it is rpm package
PKGNAME=`rpm -qp --queryformat "%{NAME}" $i` PKGNAME=$(querypackage $i NAME)
else else
PKGNAME=$(eval_spec $i | get_var "Name") PKGNAME=$(eval_spec $i | get_var "Name")
test -z ${PKGNAME} && fatal "Cannot get package name" test -z ${PKGNAME} && fatal "Cannot get package name"
fi fi
else else
PKGNAME=`rpm -q --queryformat "%{NAME}" $i` || PKGNAME=$i # yes, DD=$(false) || DD=other works
PKGNAME=$(querypackage $i NAME) || PKGNAME=$i
fi fi
PRODUCT=Sisyphus
URL="https://bugzilla.altlinux.org/buglist.cgi?product=$PRODUCT&component=$PKGNAME&component_type=equals&simple=1"
if [ -n "$NEWBUG" ] ; then if [ -n "$NEWBUG" ] ; then
fatal "Do not realized yet. Welcome to developing!" fatal "Do not realized yet. Welcome to developing!"
...@@ -100,7 +99,7 @@ do ...@@ -100,7 +99,7 @@ do
#altbug --pkg "$PKGNAME" --subj "$SUMMARY" #altbug --pkg "$PKGNAME" --subj "$SUMMARY"
show_bugbyid $ID show_bugbyid $ID
else else
show_bugs $URL | grep "@" show_bugs $URLBUGLIST | grep "@"
fi fi
done done
...@@ -299,7 +299,7 @@ if [ -n "$CHECKONLINE" ] ; then ...@@ -299,7 +299,7 @@ if [ -n "$CHECKONLINE" ] ; then
PKGNAME=$(get_pkgname_from_filename $SRCRPM) PKGNAME=$(get_pkgname_from_filename $SRCRPM)
else else
PKGNAME=$1 PKGNAME=$1
SRCRPM=`rpm -q $PKGNAME --queryformat "%{SOURCERPM}\n" | tail -n 1` SRCRPM=$(querypackage $PKGNAME "" "%{SOURCERPM}\n" | tail -n 1)
fi fi
fi fi
...@@ -377,9 +377,9 @@ then ...@@ -377,9 +377,9 @@ then
else else
if [ -z "${1/*rpm/}" ] ; then if [ -z "${1/*rpm/}" ] ; then
# it is rpm package (locale placed?) # it is rpm package (locale placed?)
SRCRPM=`rpm -qp $1 --queryformat "%{SOURCERPM}\n"` SRCRPM=$(querypackage $1 "" "%{SOURCERPM}\n")
else else
SRCRPM=`rpm -q $1 --queryformat "%{SOURCERPM}\n"` SRCRPM=$(querypackage $1 "" "%{SOURCERPM}\n")
fi fi
fi fi
test -z "$SRCRPM" && fatal "Cannon find package for $1" test -z "$SRCRPM" && fatal "Cannon find package for $1"
......
...@@ -116,7 +116,7 @@ export LESS_PROGRAM=/dev/null ...@@ -116,7 +116,7 @@ export LESS_PROGRAM=/dev/null
for i in $(echo $NEWPKGDIR/*.rpm) ; do for i in $(echo $NEWPKGDIR/*.rpm) ; do
OLDPKGNAME=$(rpm -qp $i | sed -e "s|-[0-9].*||g") OLDPKGNAME=$(rpm -qp $i | sed -e "s|-[0-9].*||g")
# search in the our arch repo # search in the our arch repo
PKGARCH=$(rpm -qp --queryformat "%{ARCH}" $i) PKGARCH=$(querypackage $i ARCH)
OLDPKG=$(echo $SISYPHUSPATH/$PKGARCH/RPMS.*/$OLDPKGNAME-[0-9]*.rpm) OLDPKG=$(echo $SISYPHUSPATH/$PKGARCH/RPMS.*/$OLDPKGNAME-[0-9]*.rpm)
if [ ! -r "$OLDPKG" ] ; then if [ ! -r "$OLDPKG" ] ; then
echo "Cannot find old package for $(basename $i), skipping" echo "Cannot find old package for $(basename $i), skipping"
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,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
load_mod
which xdg-open 2>/dev/null >/dev/null && BROWSER=xdg-open which xdg-open 2>/dev/null >/dev/null && BROWSER=xdg-open
...@@ -78,7 +79,7 @@ get_pkginfo() ...@@ -78,7 +79,7 @@ get_pkginfo()
if [ -z ${i/*rpm/} ] if [ -z ${i/*rpm/} ]
then then
# it is rpm package # it is rpm package
RPM_URL=`rpm -qp --queryformat "%{URL}" ${i}` RPM_URL=$(querypackage ${i} URL)
SOURCE= SOURCE=
else else
RPM_URL=$(eval_spec ${i} | get_var "Url") RPM_URL=$(eval_spec ${i} | get_var "Url")
...@@ -86,8 +87,8 @@ get_pkginfo() ...@@ -86,8 +87,8 @@ get_pkginfo()
fi fi
else else
# will it package name # will it package name
RPM_URL=`rpm -q --queryformat "%{URL}" ${i}` RPM_URL=$(querypackage ${i} URL)
SOURCE=`rpm -q --queryformat "%{SOURCE}" ${i}` SOURCE=$(querypackage ${i} SOURCE)
fi fi
} }
...@@ -101,15 +102,15 @@ get_pagepkginfo() ...@@ -101,15 +102,15 @@ get_pagepkginfo()
if [ -z ${i/*rpm/} ] if [ -z ${i/*rpm/} ]
then then
# it is rpm package # it is rpm package
PKGVERSION=`rpm -qp --queryformat "%{VERSION}" ${i}` PKGVERSION=$(querypackage ${i} VERSION)
PKGNAME=`rpm -qp --queryformat "%{sourcerpm}" ${i} | sed -e "s|-$PKGVERSION.*||g"` PKGNAME=$(querypackage ${i} sourcerpm | sed -e "s|-$PKGVERSION.*||g")
else else
PKGNAME=$(eval_spec ${i} | get_var "Name") PKGNAME=$(eval_spec ${i} | get_var "Name")
fi fi
else else
# installed package name # installed package name
PKGVERSION=`rpm -q --queryformat "%{VERSION}" ${i}` PKGVERSION=$(querypackage ${i} VERSION})
PKGNAME=`rpm -q --queryformat "%{sourcerpm}" ${i} | sed -e "s|-$PKGVERSION.*||g"` PKGNAME=$(querypackage ${i} sourcerpm | sed -e "s|-$PKGVERSION.*||g")
fi fi
if [ -z "$PKGNAME" ] ; then if [ -z "$PKGNAME" ] ; then
PKGNAME="$i" PKGNAME="$i"
......
...@@ -65,7 +65,13 @@ build_rpms_name() ...@@ -65,7 +65,13 @@ build_rpms_name()
querypackage() querypackage()
{ {
rpmquery -p --queryformat "%{$2}" $1 local FORMAT="%{$2}"
local INSTALLED="-p"
# if name empty, use third param as format string
[ -n "$2" ] || FORMAT="$3"
# if not file, drop -p for get from rpm base
[ -e "$1" ] || INSTALLED=""
rpmquery $INSTALLED --queryformat "$FORMAT" $1
} }
build_rpms_name_by_srpm() build_rpms_name_by_srpm()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment