From 5637c9384193ab58dd976ac8f388a3547d24489e Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Thu, 8 Jan 2015 11:48:46 +0100 Subject: xlocate: use -u to create/update database. --- README | 2 +- xlocate | 21 +++++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/README b/README index bca493e..7c2adc3 100644 --- a/README +++ b/README @@ -13,7 +13,7 @@ https://github.com/voidlinux/xbps xgrep PATTERN PKGS... - search files limited to XBPS package contents xlg PKG - open short commit log for XBPS template xlint TEMPLATE - scan XBPS template for common mistakes - xlocate PATTERN - locate files in all XBPS packages + xlocate [-u | PATTERN] - locate files in all XBPS packages xlog PKG - open commit log for XBPS template xls PKGS... - list files contained in PKGS (including binpkgs) xmindep PKGS... - minimize list of PKGS by removing implicit dependencies diff --git a/xlocate b/xlocate index 0b34fe0..1b3efff 100755 --- a/xlocate +++ b/xlocate @@ -1,14 +1,23 @@ #!/bin/sh -# xlocate PATTERN - locate files in all XBPS packages +# xlocate [-u | PATTERN] - locate files in all XBPS packages : ${XLOCATE_DB:=~/.cache/xlocate.db} +xupdatedb() { + echo "xlocate: reindexing database..." 1>&2 + xbps-query -Ro '*' | + sed 's/ *([^)]*)$//; s|: ||;' | + /usr/libexec/frcode >"$XLOCATE_DB" +} + +if [ "$1" = -u ]; then + xupdatedb + exit $? +fi + if [ -e "$XLOCATE_DB" ]; then - if [ "$XLOCATE_DB" -ot /var/db/xbps/http___repo_voidlinux_eu_current/*-repodata ] || [ ! -s "$XLOCATE_DB" ]; then - echo "xlocate: reindexing database..." 1>&2 - xbps-query --regex -Ro '' | - sed 's/ *([^)]*)$//; s|: ||;' | - /usr/libexec/frcode >"$XLOCATE_DB" + if find /var/db/xbps/ -name '*repodata' -newer "$XLOCATE_DB" | grep -q .; then + xupdatedb fi rx= case "$1" in -- cgit 1.4.1