mirror of
https://github.com/sbopkg/sbopkg
synced 2024-12-27 09:58:28 +01:00
created fix_urls() to handle quirky URLs
This broke out a sed line used in a couple of places (and which needed to be extended) into a commented function. This specifically addresses dzen2, as well as the zarafa problems found while dealing with dzen2. Also tightened up a regex that caused problems while dealing with similar quirks. Also modified comments in these areas. Note that virtualbox (no longer a problem) and calcurse (now specifically handled) were handled by two generic substitution commands, which have been removed. If these commands were catching things besides virtualbox and calcurse, this will cause a regression but it's not considered likely; it will let us know what *needs* to be fixed; and it should be easy to do so.
This commit is contained in:
parent
87ee1582a2
commit
183aa1e372
1 changed files with 29 additions and 11 deletions
|
@ -2008,8 +2008,11 @@ add_item_to_queue() {
|
|||
if grep -q "^$APP " $TMPQUEUE 2> /dev/null; then
|
||||
: # it's the same app and version so toss it
|
||||
else
|
||||
# note that this regex was missing the ^ as of r826 and this caused a
|
||||
# false match when running 'sbopkg -k -i queue' because 'foo' and
|
||||
# 'libfoo' matched
|
||||
INSTALLED=$(ls -1 /var/log/packages |
|
||||
grep "$APP-[^-]*-[^-]*-[^-]*$REPO_TAG\$")
|
||||
grep "^$APP-[^-]*-[^-]*-[^-]*$REPO_TAG$")
|
||||
if [[ -n $INSTALLED ]]; then
|
||||
VERSION=$(sed 's:^.*-\([^-]*\)-[^-]*-[^-]*$:\1:'<<<$INSTALLED)
|
||||
# NOTE: When changing, see the uncheck_installed() comment
|
||||
|
@ -2653,6 +2656,24 @@ read_info() {
|
|||
MD5SUM=($MD5SUM)
|
||||
}
|
||||
|
||||
fix_urls() {
|
||||
# A quirks function of source filename corrections for a variety of apps
|
||||
# where a variety of nonsense gets prepended or appended to the tarball
|
||||
# name in the URLs. Ideally, these should match classes of apps which are
|
||||
# noted. Else they should be app-specific and noted. But they shouldn't be
|
||||
# completely generic and uncommented.
|
||||
sed '
|
||||
# fix calcurse
|
||||
/get\.cgi?calcurse/s/^.*?//
|
||||
# fix zarafa and zarafa-webaccess-ajax
|
||||
/src=zarafa-/{s/.*=//;s/$/.tar.gz/}
|
||||
# fix dzen2
|
||||
/dzen2-/s/?attachauth=.*//
|
||||
# fix several packages using trac as an scms
|
||||
s/?format=.*$//
|
||||
'
|
||||
}
|
||||
|
||||
get_source_names() {
|
||||
# Echo the source names for an app, given the info file.
|
||||
# Usage: get_source_names [--all] [--placeholder] info_file
|
||||
|
@ -2679,13 +2700,14 @@ get_source_names() {
|
|||
|
||||
read_info $INFO
|
||||
for DL in "${DOWNLOAD[@]}"; do
|
||||
# remove the '/download' from any SRCNAME that ends that way rather
|
||||
# than in the actual tarball
|
||||
# remove the '/download' from several SRCNAMEs that end that way
|
||||
# rather than in the actual tarball so the subsequent basename doesn't
|
||||
# end with 'download'
|
||||
SRCNAME=${DL//%\/download}
|
||||
SRCNAME=${SRCNAME##*/}
|
||||
# this is actually so that calcurse will make it to
|
||||
# remove_obsolete_sources()
|
||||
SRCNAME=$(sed 's/?e=.*$//;s/?format=.*$//;s/^.*?//' <<< "$SRCNAME")
|
||||
# calcurse has a nonsense url in the info file - this is to get it
|
||||
# through this function and on to remove_obsolete_sources()
|
||||
SRCNAME=$(fix_urls <<< "$SRCNAME")
|
||||
# Replace URI hex sequences (like %20 for ' ' and %2B for '+') with
|
||||
# their corresponding characters.
|
||||
# This is done by replacing '%' with '\x' and passing the string to
|
||||
|
@ -2899,11 +2921,7 @@ get_source() {
|
|||
echo >> $TMPSUMMARYLOG
|
||||
fi
|
||||
DL=$(ls -A . 2> /dev/null)
|
||||
# Source filename corrections for Virtualbox, where '?e=foo' gets
|
||||
# appended to the filename and for calcurse, where a 'foo?' gets
|
||||
# prepended to the filename - and for a potential issue with trac
|
||||
# URLs
|
||||
DL_SRCNAME=$(sed 's/?e=.*$//;s/?format=.*$//;s/^.*?//' <<< "$DL")
|
||||
DL_SRCNAME=$(fix_urls <<< "$DL")
|
||||
if [[ $DL_SRCNAME ]]; then
|
||||
# if we have *anything* in here, then we did a download. We
|
||||
# may not know what to do with it, but we don't need to get it
|
||||
|
|
Loading…
Reference in a new issue