From 129376a8164894b9878950ca3b3b02f278234ac9 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 22 Jan 2018 09:10:35 +0100 Subject: bin/common-functions: delete temp_dir --- bin/common-functions | 1 + 1 file changed, 1 insertion(+) (limited to 'bin/common-functions') diff --git a/bin/common-functions b/bin/common-functions index 1fd5db7..f512b89 100755 --- a/bin/common-functions +++ b/bin/common-functions @@ -1233,6 +1233,7 @@ next_sub_pkgrel() { git_repo=$(find_git_repository_to_package_repository "${repository}") temp_dir=$(mktemp -d 'tmp.common-functions.next_sub_pkgrel.XXXXXXXXXX' --tmpdir) + trap 'rm -rf --one-file-system "${temp_dir}"' EXIT find_pkgbuilds "${package}" "${repository}" "${git_repo}" "${git_revision}" "${mod_git_revision}" extract_source_directory "${git_repo}" "${git_revision}" "${mod_git_revision}" "${temp_dir}" '0' -- cgit v1.2.3-54-g00ecf From fe3add81cf6be1f717842dfb3335f631e7aa4b19 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 22 Jan 2018 10:23:56 +0100 Subject: bin/common-functions: fix typo in comment --- bin/common-functions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin/common-functions') diff --git a/bin/common-functions b/bin/common-functions index f512b89..40e52f2 100755 --- a/bin/common-functions +++ b/bin/common-functions @@ -522,7 +522,7 @@ remove_old_package_versions() { ' | \ sort -u > \ "${tmp_dir}/packages-to-delete" - # this file contains a list of packages to be delete, one on each line: + # this file contains a list of packages to be deleted, one on each line: # $architecture-directory $repository-directory $package-name $pkgver-$pkgrel-$package-architecture.pkg.tar.xz cut -d' ' -f1,2 < \ -- cgit v1.2.3-54-g00ecf From 6c6809e9503d7791e22f295351098fd709410921 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 22 Jan 2018 10:52:34 +0100 Subject: bin/common-functions: remove replaced packages in database, too --- bin/common-functions | 26 ++++++++++++++++++++++++++ bin/db-update | 2 -- 2 files changed, 26 insertions(+), 2 deletions(-) (limited to 'bin/common-functions') diff --git a/bin/common-functions b/bin/common-functions index 40e52f2..3801967 100755 --- a/bin/common-functions +++ b/bin/common-functions @@ -560,6 +560,32 @@ remove_old_package_versions() { done < \ "${tmp_dir}/repositories-to-modify" + # shellcheck disable=SC2016 + sed ' + s/\.pkg\.tar\.xz$// + s/^\S\+ // + s/-\([^-. ]\+\)\(-[^- ]\+\)$/-\1.0\2/ + s/ \([^-: ]\+\(-[^- ]\+\)\{2\}\)$/ 0:\1/ + s/ \([^-.]\+\):\([^-:]\+\)-\([^-.]\+\)\.\([^-.]\+\)-\([^-]\+\)$/ \1 \2 \3 \4 \5/ + ' "${tmp_dir}/packages-to-delete" | \ + while read -r repo pkgname epoch pkgver pkgrel sub_pkgrel arch; do + printf 'DELETE FROM `binary_packages`' + printf ' JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`' + printf ' JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`' + printf ' WHERE' + printf ' `binary_packages`.`%s`=from_base64("%s") AND' \ + 'pkgname' "$(printf '%s' "${pkgname}" | base64 -w0)" \ + 'epoch' "$(printf '%s' "${epoch}" | base64 -w0)" \ + 'pkgver' "$(printf '%s' "${pkgver}" | base64 -w0)" \ + 'pkgrel' "$(printf '%s' "${pkgrel}" | base64 -w0)" \ + 'sub_pkgrel' "$(printf '%s' "${sub_pkgrel}" | base64 -w0)" + printf ' `repositories`.`name`=from_base64("%s") AND' \ + "$(printf '%s' "${repo}" | base64 -w0)" + printf ' `architectures`.`name`=from_base64("%s")' \ + "$(printf '%s' "${arch}" | base64 -w0)" + printf ';\n' + done + sed ' s| \(\S\+\)$|-\1| y| |/| diff --git a/bin/db-update b/bin/db-update index 5b32214..b11945c 100755 --- a/bin/db-update +++ b/bin/db-update @@ -23,8 +23,6 @@ # TODO: fully integrate database (in other scripts too) - e.g. rely on # info in db instead of state-files -# TODO: remove replaced packages in database, too - # shellcheck disable=SC2039 # shellcheck source=conf/default.conf . "${0%/*}/../conf/default.conf" -- cgit v1.2.3-54-g00ecf From 4701ae8f29f2d69a1aaacad65c298258177724fa Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 22 Jan 2018 16:29:21 +0100 Subject: bin/common-functions: bugfix in remove_old_package_versions: fix mysql and actually call mysql in the end :-) --- bin/common-functions | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'bin/common-functions') diff --git a/bin/common-functions b/bin/common-functions index 3801967..d5b6eaa 100755 --- a/bin/common-functions +++ b/bin/common-functions @@ -569,22 +569,20 @@ remove_old_package_versions() { s/ \([^-.]\+\):\([^-:]\+\)-\([^-.]\+\)\.\([^-.]\+\)-\([^-]\+\)$/ \1 \2 \3 \4 \5/ ' "${tmp_dir}/packages-to-delete" | \ while read -r repo pkgname epoch pkgver pkgrel sub_pkgrel arch; do - printf 'DELETE FROM `binary_packages`' - printf ' JOIN `architectures` ON `binary_packages`.`architecture`=`architectures`.`id`' - printf ' JOIN `repositories` ON `binary_packages`.`repository`=`repositories`.`id`' - printf ' WHERE' + printf 'DELETE FROM `binary_packages` WHERE' + printf ' `binary_packages`.`%s`=(SELECT `%s`.`id` FROM `%s` WHERE `%s`.`name`=from_base64("%s")) AND' \ + 'architecture' 'architectures' 'architectures' 'architectures' "$(printf '%s' "${arch}" | base64 -w0)" \ + 'repository' 'repositories' 'repositories' 'repositories' "$(printf '%s' "${repo}" | base64 -w0)" printf ' `binary_packages`.`%s`=from_base64("%s") AND' \ 'pkgname' "$(printf '%s' "${pkgname}" | base64 -w0)" \ 'epoch' "$(printf '%s' "${epoch}" | base64 -w0)" \ 'pkgver' "$(printf '%s' "${pkgver}" | base64 -w0)" \ 'pkgrel' "$(printf '%s' "${pkgrel}" | base64 -w0)" \ - 'sub_pkgrel' "$(printf '%s' "${sub_pkgrel}" | base64 -w0)" - printf ' `repositories`.`name`=from_base64("%s") AND' \ - "$(printf '%s' "${repo}" | base64 -w0)" - printf ' `architectures`.`name`=from_base64("%s")' \ - "$(printf '%s' "${arch}" | base64 -w0)" + 'sub_pkgrel' "$(printf '%s' "${sub_pkgrel}" | base64 -w0)" | \ + sed 's/ AND$//' printf ';\n' - done + done | \ + ${mysql_command} sed ' s| \(\S\+\)$|-\1| -- cgit v1.2.3-54-g00ecf