From 5c7220a4aa370d1f726eb27d99d8f9294646433d Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Mon, 19 Dec 2011 14:40:07 +0100 Subject: Avoid calls to basename --- db-move | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'db-move') diff --git a/db-move b/db-move index 019faa2..9166a99 100755 --- a/db-move +++ b/db-move @@ -4,7 +4,7 @@ . "$(dirname $0)/config" if [ $# -lt 3 ]; then - msg "usage: $(basename $0) ..." + msg "usage: ${0##*/} ..." exit 1 fi @@ -90,12 +90,12 @@ for pkgbase in ${args[@]:2}; do /usr/bin/svn mv -q -r HEAD "${svnrepo_from}/$file" "${svnrepo_to}/" done /usr/bin/svn rm --force -q "${svnrepo_from}" - /usr/bin/svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "$(basename $0): moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${pkgarch})" + /usr/bin/svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "${0##*/}: moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${pkgarch})" for pkgname in ${pkgnames[@]}; do for tarch in ${tarches[@]}; do pkgpath=$(getpkgfile "${ftppath_from}/${tarch}/"${pkgname}-${pkgver}-${pkgarch}${PKGEXT}) - pkgfile=$(basename "${pkgpath}") + pkgfile="${pkgpath##*/}" # copy package to pool if needed # TODO: can be removed once every package has been moved to the package pool -- cgit v1.2.3-2-g168b From 33cfe12c34747bd52e2730e45566e5b21cd76153 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sun, 29 Apr 2012 10:10:43 +0200 Subject: Source the config before the functions as the latter references the former --- db-move | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'db-move') diff --git a/db-move b/db-move index 9166a99..a23aebe 100755 --- a/db-move +++ b/db-move @@ -1,7 +1,7 @@ #!/bin/bash -. "$(dirname $0)/db-functions" . "$(dirname $0)/config" +. "$(dirname $0)/db-functions" if [ $# -lt 3 ]; then msg "usage: ${0##*/} ..." -- cgit v1.2.3-2-g168b From 75a16bafa3d79499af710414c57ff50451b158a3 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Thu, 12 Apr 2012 11:41:04 +0200 Subject: db-move: commit all arches at once Signed-off-by: Florian Pritz Signed-off-by: Pierre Schmitz --- db-move | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'db-move') diff --git a/db-move b/db-move index a23aebe..2bb2ea8 100755 --- a/db-move +++ b/db-move @@ -63,6 +63,7 @@ msg "Moving packages from [${repo_from}] to [${repo_to}]..." declare -A add_pkgs declare -A remove_pkgs for pkgbase in ${args[@]:2}; do + tag_list="" for pkgarch in ${ARCHES[@]} 'any'; do svnrepo_from="${WORKDIR}/svn/${pkgbase}/repos/${repo_from}-${pkgarch}" svnrepo_to="${WORKDIR}/svn/${pkgbase}/repos/${repo_to}-${pkgarch}" @@ -90,7 +91,7 @@ for pkgbase in ${args[@]:2}; do /usr/bin/svn mv -q -r HEAD "${svnrepo_from}/$file" "${svnrepo_to}/" done /usr/bin/svn rm --force -q "${svnrepo_from}" - /usr/bin/svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "${0##*/}: moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${pkgarch})" + tag_list="$tag_list, $pkgarch" for pkgname in ${pkgnames[@]}; do for tarch in ${tarches[@]}; do @@ -112,6 +113,8 @@ for pkgbase in ${args[@]:2}; do done fi done + tag_list="${tag_list#, }" + /usr/bin/svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "${0##*/}: moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${tag_list})" done for tarch in ${ARCHES[@]}; do -- cgit v1.2.3-2-g168b From fe19d9cff1cb41ed8456e4cce7be474599cbf503 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sun, 10 Jun 2012 12:02:50 +0200 Subject: Remove support for packages that are not in the package pool --- db-move | 5 ----- 1 file changed, 5 deletions(-) (limited to 'db-move') diff --git a/db-move b/db-move index 2bb2ea8..8ea7431 100755 --- a/db-move +++ b/db-move @@ -98,11 +98,6 @@ for pkgbase in ${args[@]:2}; do pkgpath=$(getpkgfile "${ftppath_from}/${tarch}/"${pkgname}-${pkgver}-${pkgarch}${PKGEXT}) pkgfile="${pkgpath##*/}" - # copy package to pool if needed - # TODO: can be removed once every package has been moved to the package pool - if [ ! -f ${FTP_BASE}/${PKGPOOL}/${pkgfile} ]; then - cp ${pkgpath} ${FTP_BASE}/${PKGPOOL} - fi ln -s "../../../${PKGPOOL}/${pkgfile}" ${ftppath_to}/${tarch}/ if [ -f ${FTP_BASE}/${PKGPOOL}/${pkgfile}.sig ]; then ln -s "../../../${PKGPOOL}/${pkgfile}.sig" ${ftppath_to}/${tarch}/ -- cgit v1.2.3-2-g168b From 7fdc74786a59c69d41524d5f311f856cfa9a99c6 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 16 Jun 2012 19:48:25 +0200 Subject: Fix handling of package sources containg files with an @ character --- db-move | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'db-move') diff --git a/db-move b/db-move index 8ea7431..3ff1843 100755 --- a/db-move +++ b/db-move @@ -80,7 +80,7 @@ for pkgbase in ${args[@]:2}; do if [ -d "${svnrepo_to}" ]; then for file in $(/usr/bin/svn ls "${svnrepo_to}"); do - /usr/bin/svn rm -q "${svnrepo_to}/$file" + /usr/bin/svn rm -q "${svnrepo_to}/$file@" done else mkdir "${svnrepo_to}" @@ -88,7 +88,7 @@ for pkgbase in ${args[@]:2}; do fi for file in $(svn ls "${svnrepo_from}"); do - /usr/bin/svn mv -q -r HEAD "${svnrepo_from}/$file" "${svnrepo_to}/" + /usr/bin/svn mv -q -r HEAD "${svnrepo_from}/$file@" "${svnrepo_to}/" done /usr/bin/svn rm --force -q "${svnrepo_from}" tag_list="$tag_list, $pkgarch" -- cgit v1.2.3-2-g168b From ce6e51f159fb1b0d292ac0f3d5edfaa0f0f6be2e Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Mon, 23 Jul 2012 20:42:00 +0200 Subject: db-move: Remove double space in tag_list This fixes this message which shouldn't have one space after the opening brace and two space before x86_64. "db-move: moved cups-filters from [testing] to [extra] ( i686, x86_64)" Signed-off-by: Florian Pritz Signed-off-by: Pierre Schmitz --- db-move | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'db-move') diff --git a/db-move b/db-move index 3ff1843..1a89ded 100755 --- a/db-move +++ b/db-move @@ -91,7 +91,7 @@ for pkgbase in ${args[@]:2}; do /usr/bin/svn mv -q -r HEAD "${svnrepo_from}/$file@" "${svnrepo_to}/" done /usr/bin/svn rm --force -q "${svnrepo_from}" - tag_list="$tag_list, $pkgarch" + tag_list="$tag_list, $pkgarch" for pkgname in ${pkgnames[@]}; do for tarch in ${tarches[@]}; do -- cgit v1.2.3-2-g168b From b2952784db9995ecc21d3a770530a19394234d3b Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 27 Oct 2012 14:32:39 +0200 Subject: Add the possibility to run all svn commands with a different user * A SVNUSER can be configured in the config file * This user needs to be able to call svn without a password --- db-move | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'db-move') diff --git a/db-move b/db-move index 1a89ded..1fa44d4 100755 --- a/db-move +++ b/db-move @@ -25,9 +25,9 @@ for pkgarch in ${ARCHES[@]}; do done # check if packages to be moved exist in svn and ftp dir -/usr/bin/svn checkout -q -N "${SVNREPO}" "${WORKDIR}/svn" >/dev/null +arch_svn checkout -q -N "${SVNREPO}" "${WORKDIR}/svn" >/dev/null for pkgbase in ${args[@]:2}; do - /usr/bin/svn up -q "${WORKDIR}/svn/${pkgbase}" >/dev/null + arch_svn up -q "${WORKDIR}/svn/${pkgbase}" >/dev/null for pkgarch in ${ARCHES[@]} 'any'; do svnrepo_from="${WORKDIR}/svn/${pkgbase}/repos/${repo_from}-${pkgarch}" if [ -r "${svnrepo_from}/PKGBUILD" ]; then @@ -79,18 +79,18 @@ for pkgbase in ${args[@]:2}; do pkgver=$(. "${svnrepo_from}/PKGBUILD"; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})) if [ -d "${svnrepo_to}" ]; then - for file in $(/usr/bin/svn ls "${svnrepo_to}"); do - /usr/bin/svn rm -q "${svnrepo_to}/$file@" + for file in $(arch_svn ls "${svnrepo_to}"); do + arch_svn rm -q "${svnrepo_to}/$file@" done else mkdir "${svnrepo_to}" - /usr/bin/svn add -q "${svnrepo_to}" + arch_svn add -q "${svnrepo_to}" fi - for file in $(svn ls "${svnrepo_from}"); do - /usr/bin/svn mv -q -r HEAD "${svnrepo_from}/$file@" "${svnrepo_to}/" + for file in $(arch_svn ls "${svnrepo_from}"); do + arch_svn mv -q -r HEAD "${svnrepo_from}/$file@" "${svnrepo_to}/" done - /usr/bin/svn rm --force -q "${svnrepo_from}" + arch_svn rm --force -q "${svnrepo_from}" tag_list="$tag_list, $pkgarch" for pkgname in ${pkgnames[@]}; do @@ -109,7 +109,7 @@ for pkgbase in ${args[@]:2}; do fi done tag_list="${tag_list#, }" - /usr/bin/svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "${0##*/}: moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${tag_list})" + arch_svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "${0##*/}: moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${tag_list})" done for tarch in ${ARCHES[@]}; do -- cgit v1.2.3-2-g168b From 33b8cb611363102e23972cf3914a03d65cb3cad8 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 17 Jun 2013 23:59:15 -0600 Subject: use xbs, not svn --- db-move | 48 ++++++++++++++---------------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) (limited to 'db-move') diff --git a/db-move b/db-move index 1fa44d4..045f33c 100755 --- a/db-move +++ b/db-move @@ -24,19 +24,17 @@ for pkgarch in ${ARCHES[@]}; do repo_lock ${repo_from} ${pkgarch} || exit 1 done -# check if packages to be moved exist in svn and ftp dir -arch_svn checkout -q -N "${SVNREPO}" "${WORKDIR}/svn" >/dev/null +# check if packages to be moved exist in xbs and ftp dir for pkgbase in ${args[@]:2}; do - arch_svn up -q "${WORKDIR}/svn/${pkgbase}" >/dev/null for pkgarch in ${ARCHES[@]} 'any'; do - svnrepo_from="${WORKDIR}/svn/${pkgbase}/repos/${repo_from}-${pkgarch}" - if [ -r "${svnrepo_from}/PKGBUILD" ]; then - pkgnames=($(. "${svnrepo_from}/PKGBUILD"; echo ${pkgname[@]})) + xbsrepo_from="$(xbs releasepath ${pkgbase} ${repo_from} ${pkgarch})" + if [ -r "${xbsrepo_from}/PKGBUILD" ]; then + pkgnames=($(. "${xbsrepo_from}/PKGBUILD"; echo ${pkgname[@]})) if [ ${#pkgnames[@]} -lt 1 ]; then die "Could not read pkgname" fi - pkgver=$(. "${svnrepo_from}/PKGBUILD"; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})) + pkgver=$(. "${xbsrepo_from}/PKGBUILD"; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})) if [ -z "${pkgver}" ]; then die "Could not read pkgver" fi @@ -63,35 +61,19 @@ msg "Moving packages from [${repo_from}] to [${repo_to}]..." declare -A add_pkgs declare -A remove_pkgs for pkgbase in ${args[@]:2}; do - tag_list="" - for pkgarch in ${ARCHES[@]} 'any'; do - svnrepo_from="${WORKDIR}/svn/${pkgbase}/repos/${repo_from}-${pkgarch}" - svnrepo_to="${WORKDIR}/svn/${pkgbase}/repos/${repo_to}-${pkgarch}" - - if [ -f "${svnrepo_from}/PKGBUILD" ]; then + # move the package in xbs + arches=($(xbs move ${repo_from} ${repo_to} ${pkgbase})) + # move the package in ftp + for pkgarch in ${arches[@]}; do + dir_to="$(xbs releasepath $pkgbase $repo_to $pkgarch)" + if true; then # to add in indent level to make merging easier if [ "${pkgarch}" == 'any' ]; then - tarches=(${ARCHES[@]}) + tarches=("${ARCHES[@]}") else tarches=("${pkgarch}") fi - msg2 "${pkgbase} ($(echo ${tarches[@]}))" - pkgnames=($(. "${svnrepo_from}/PKGBUILD"; echo ${pkgname[@]})) - pkgver=$(. "${svnrepo_from}/PKGBUILD"; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})) - - if [ -d "${svnrepo_to}" ]; then - for file in $(arch_svn ls "${svnrepo_to}"); do - arch_svn rm -q "${svnrepo_to}/$file@" - done - else - mkdir "${svnrepo_to}" - arch_svn add -q "${svnrepo_to}" - fi - - for file in $(arch_svn ls "${svnrepo_from}"); do - arch_svn mv -q -r HEAD "${svnrepo_from}/$file@" "${svnrepo_to}/" - done - arch_svn rm --force -q "${svnrepo_from}" - tag_list="$tag_list, $pkgarch" + pkgnames=($(. "${dir_to}/PKGBUILD"; echo ${pkgname[@]})) + pkgver=$(. "${dir_to}/PKGBUILD"; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})) for pkgname in ${pkgnames[@]}; do for tarch in ${tarches[@]}; do @@ -108,8 +90,6 @@ for pkgbase in ${args[@]:2}; do done fi done - tag_list="${tag_list#, }" - arch_svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "${0##*/}: moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${tag_list})" done for tarch in ${ARCHES[@]}; do -- cgit v1.2.3-2-g168b From 7034eed1f7ceec379b34f8dd782fb986c7165ad4 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 29 Jun 2013 00:45:43 -0600 Subject: use the get_full_version from libremessages (actually, common.sh) It works properly when split packages have different versions. --- db-move | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'db-move') diff --git a/db-move b/db-move index 045f33c..6e8796d 100755 --- a/db-move +++ b/db-move @@ -34,10 +34,6 @@ for pkgbase in ${args[@]:2}; do die "Could not read pkgname" fi - pkgver=$(. "${xbsrepo_from}/PKGBUILD"; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})) - if [ -z "${pkgver}" ]; then - die "Could not read pkgver" - fi if [ "${pkgarch}" == 'any' ]; then tarches=(${ARCHES[@]}) @@ -46,6 +42,10 @@ for pkgbase in ${args[@]:2}; do fi for pkgname in ${pkgnames[@]}; do + pkgver=$(. "${xbsrepo_from}/PKGBUILD"; get_full_version ${pkgname}) + if [ -z "${pkgver}" ]; then + die "Could not read pkgver" + fi for tarch in ${tarches[@]}; do getpkgfile "${ftppath_from}/${tarch}/"${pkgname}-${pkgver}-${pkgarch}${PKGEXT} >/dev/null done @@ -73,9 +73,9 @@ for pkgbase in ${args[@]:2}; do tarches=("${pkgarch}") fi pkgnames=($(. "${dir_to}/PKGBUILD"; echo ${pkgname[@]})) - pkgver=$(. "${dir_to}/PKGBUILD"; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})) for pkgname in ${pkgnames[@]}; do + pkgver=$(. "${dir_to}/PKGBUILD"; get_full_version ${pkgname}) for tarch in ${tarches[@]}; do pkgpath=$(getpkgfile "${ftppath_from}/${tarch}/"${pkgname}-${pkgver}-${pkgarch}${PKGEXT}) pkgfile="${pkgpath##*/}" -- cgit v1.2.3-2-g168b From e6294556d3197b7d87f7659355d0e189fad613d6 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 8 Dec 2013 17:33:25 -0500 Subject: `readlink -e` all "$0"s --- db-move | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'db-move') diff --git a/db-move b/db-move index 6e8796d..1b34404 100755 --- a/db-move +++ b/db-move @@ -1,7 +1,7 @@ #!/bin/bash -. "$(dirname $0)/config" -. "$(dirname $0)/db-functions" +. "$(dirname "$(readlink -e "$0")")/config" +. "$(dirname "$(readlink -e "$0")")/db-functions" if [ $# -lt 3 ]; then msg "usage: ${0##*/} ..." -- cgit v1.2.3-2-g168b