summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNagy Gabor <ngaba@bibl.u-szeged.hu>2008-01-15 11:50:46 +0100
committerDan McGee <dan@archlinux.org>2008-08-20 02:24:48 +0200
commit6417ac129def4474270cf2716826a83615748068 (patch)
treecdc60e2867bcebaa041d2fcb7820077f81ad4d5b
parent729651a55473f6e64c4dc95888efbe2e4c76efa0 (diff)
downloadpacman-6417ac129def4474270cf2716826a83615748068.tar.gz
pacman-6417ac129def4474270cf2716826a83615748068.tar.xz
repo-add: Fix whitespaces handling in variables.
repo-add didn't handle whitespaces nicely in fields value, and this has hurt us several times, first with provision version (FS#9171) and then with optdepends (FS#10630), so it is time to fix it. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--scripts/repo-add.sh.in17
1 files changed, 8 insertions, 9 deletions
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 9ab023d6..9cbcacbf 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -99,8 +99,7 @@ test_repo_db_file () {
write_list_entry() {
if [ -n "$2" ]; then
echo "%$1%" >>$3
- echo $2 | tr -s ' ' '\n' >>$3
- echo "" >>$3
+ echo -e $2 >>$3
fi
}
@@ -157,13 +156,13 @@ db_write_entry()
grep -v "^#" | sed 's|\(\w*\)\s*=\s*\(.*\)|\1="\2"|'); do
eval "$line"
case "$line" in
- group=*) _groups="$_groups $group" ;;
- depend=*) _depends="$_depends $depend" ;;
- backup=*) _backups="$_backups $backup" ;;
- license=*) _licenses="$_licenses $license" ;;
- replaces=*) _replaces="$_replaces $replaces" ;;
- provides=*) _provides="$_provides $provides" ;;
- conflict=*) _conflicts="$_conflicts $conflict" ;;
+ group=*) _groups="$_groups$group\n" ;;
+ depend=*) _depends="$_depends$depend\n" ;;
+ backup=*) _backups="$_backups$backup\n" ;;
+ license=*) _licenses="$_licenses$license\n" ;;
+ replaces=*) _replaces="$_replaces$replaces\n" ;;
+ provides=*) _provides="$_provides$provides\n" ;;
+ conflict=*) _conflicts="$_conflicts$conflict\n" ;;
esac
done