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()
cd $TDIR
cat "$1" | rpm2cpio | cpio -i "*.tar*"
#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
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
cd -
make_md5sum $2 $TARGETTARNAME.tar.bz2
......
......@@ -13,6 +13,10 @@
. `dirname $0`/../share/eterbuild/functions/common
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()
{
......@@ -28,9 +32,8 @@ show_bugs()
show_bugbyid()
{
URL="https://bugzilla.altlinux.org/show_bug.cgi?id=$1"
# TEXT=1
show_bugs $URL
show_bugs $URLSHOWBUG
}
......@@ -58,37 +61,33 @@ SPECLIST=$@
if [ "${1}" = "-qf" ]
then
shift
SPECLIST=$1
if [ -e $SPECLIST ] ; then
SPECLIST=`rpm -qf --queryformat "%{NAME} " $SPECLIST`
else
SPECLIST=`rpmqf $SPECLIST`
SPECLIST=$(rpmqf "$1")
if [ -e "$1" ] ; then
SPECLIST=$(querypackage $SPECLIST NAME)
fi
fi
# if param is number
if [ -z `echo ${1} | sed -e "s/[0-9]*//"` ] ; then
show_bugbyid $1
exit 0
exit
fi
for i in $SPECLIST
do
for i in $SPECLIST ; do
if [ -f $i ]
then
if [ -z ${i/*rpm/} ]
then
# it is rpm package
PKGNAME=`rpm -qp --queryformat "%{NAME}" $i`
PKGNAME=$(querypackage $i NAME)
else
PKGNAME=$(eval_spec $i | get_var "Name")
test -z ${PKGNAME} && fatal "Cannot get package name"
fi
else
PKGNAME=`rpm -q --queryformat "%{NAME}" $i` || PKGNAME=$i
# yes, DD=$(false) || DD=other works
PKGNAME=$(querypackage $i NAME) || PKGNAME=$i
fi
PRODUCT=Sisyphus
URL="https://bugzilla.altlinux.org/buglist.cgi?product=$PRODUCT&component=$PKGNAME&component_type=equals&simple=1"
if [ -n "$NEWBUG" ] ; then
fatal "Do not realized yet. Welcome to developing!"
......@@ -100,7 +99,7 @@ do
#altbug --pkg "$PKGNAME" --subj "$SUMMARY"
show_bugbyid $ID
else
show_bugs $URL | grep "@"
show_bugs $URLBUGLIST | grep "@"
fi
done
......@@ -299,7 +299,7 @@ if [ -n "$CHECKONLINE" ] ; then
PKGNAME=$(get_pkgname_from_filename $SRCRPM)
else
PKGNAME=$1
SRCRPM=`rpm -q $PKGNAME --queryformat "%{SOURCERPM}\n" | tail -n 1`
SRCRPM=$(querypackage $PKGNAME "" "%{SOURCERPM}\n" | tail -n 1)
fi
fi
......@@ -377,9 +377,9 @@ then
else
if [ -z "${1/*rpm/}" ] ; then
# it is rpm package (locale placed?)
SRCRPM=`rpm -qp $1 --queryformat "%{SOURCERPM}\n"`
SRCRPM=$(querypackage $1 "" "%{SOURCERPM}\n")
else
SRCRPM=`rpm -q $1 --queryformat "%{SOURCERPM}\n"`
SRCRPM=$(querypackage $1 "" "%{SOURCERPM}\n")
fi
fi
test -z "$SRCRPM" && fatal "Cannon find package for $1"
......
......@@ -116,7 +116,7 @@ export LESS_PROGRAM=/dev/null
for i in $(echo $NEWPKGDIR/*.rpm) ; do
OLDPKGNAME=$(rpm -qp $i | sed -e "s|-[0-9].*||g")
# 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)
if [ ! -r "$OLDPKG" ] ; then
echo "Cannot find old package for $(basename $i), skipping"
......
......@@ -10,6 +10,7 @@
# load common functions, compatible with local and installed script
. `dirname $0`/../share/eterbuild/functions/common
load_mod
which xdg-open 2>/dev/null >/dev/null && BROWSER=xdg-open
......@@ -78,7 +79,7 @@ get_pkginfo()
if [ -z ${i/*rpm/} ]
then
# it is rpm package
RPM_URL=`rpm -qp --queryformat "%{URL}" ${i}`
RPM_URL=$(querypackage ${i} URL)
SOURCE=
else
RPM_URL=$(eval_spec ${i} | get_var "Url")
......@@ -86,8 +87,8 @@ get_pkginfo()
fi
else
# will it package name
RPM_URL=`rpm -q --queryformat "%{URL}" ${i}`
SOURCE=`rpm -q --queryformat "%{SOURCE}" ${i}`
RPM_URL=$(querypackage ${i} URL)
SOURCE=$(querypackage ${i} SOURCE)
fi
}
......@@ -101,15 +102,15 @@ get_pagepkginfo()
if [ -z ${i/*rpm/} ]
then
# it is rpm package
PKGVERSION=`rpm -qp --queryformat "%{VERSION}" ${i}`
PKGNAME=`rpm -qp --queryformat "%{sourcerpm}" ${i} | sed -e "s|-$PKGVERSION.*||g"`
PKGVERSION=$(querypackage ${i} VERSION)
PKGNAME=$(querypackage ${i} sourcerpm | sed -e "s|-$PKGVERSION.*||g")
else
PKGNAME=$(eval_spec ${i} | get_var "Name")
fi
else
# installed package name
PKGVERSION=`rpm -q --queryformat "%{VERSION}" ${i}`
PKGNAME=`rpm -q --queryformat "%{sourcerpm}" ${i} | sed -e "s|-$PKGVERSION.*||g"`
PKGVERSION=$(querypackage ${i} VERSION})
PKGNAME=$(querypackage ${i} sourcerpm | sed -e "s|-$PKGVERSION.*||g")
fi
if [ -z "$PKGNAME" ] ; then
PKGNAME="$i"
......
......@@ -65,7 +65,13 @@ build_rpms_name()
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()
......
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