From 6417ac129def4474270cf2716826a83615748068 Mon Sep 17 00:00:00 2001
From: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Date: Tue, 15 Jan 2008 11:50:46 +0100
Subject: 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>
---
 scripts/repo-add.sh.in | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

(limited to 'scripts')

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
 
-- 
cgit v1.2.3-70-g09d2