From c880e47adde5db41d78d2986c086b3608c1fea0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 14 Sep 2013 20:48:06 +0200 Subject: [PATCH 1/4] list files again to avoid owning standard dirs in RPM reverts commit 9d256d93a59302c06d26f36c88125ce574d7e360 fixes file /usr/bin from install of openra-release.20130915-1.noarch conflicts with file from package filesystem-3.2-13.fc19.x86_64 --- packaging/linux/rpm/buildpackage.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/linux/rpm/buildpackage.sh b/packaging/linux/rpm/buildpackage.sh index 9fb62de211..5b4d36e421 100755 --- a/packaging/linux/rpm/buildpackage.sh +++ b/packaging/linux/rpm/buildpackage.sh @@ -13,7 +13,7 @@ sed -i "s/{VERSION_FIELD}/$PKGVERSION/" openra.spec rootdir=`readlink -f $2` sed -i "s|{ROOT_DIR}|$rootdir|" openra.spec -for x in `find $rootdir -type d` +for x in `find $rootdir -type f` do y="${x#$rootdir}" sed -i "/%files/ a ${y}" openra.spec From b9c226bc18ac37c62b13623523496e5089cd8252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 14 Sep 2013 21:04:22 +0200 Subject: [PATCH 2/4] cope with with data file names that contain spaces --- packaging/linux/rpm/buildpackage.sh | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/packaging/linux/rpm/buildpackage.sh b/packaging/linux/rpm/buildpackage.sh index 5b4d36e421..86c188a666 100755 --- a/packaging/linux/rpm/buildpackage.sh +++ b/packaging/linux/rpm/buildpackage.sh @@ -13,7 +13,27 @@ sed -i "s/{VERSION_FIELD}/$PKGVERSION/" openra.spec rootdir=`readlink -f $2` sed -i "s|{ROOT_DIR}|$rootdir|" openra.spec -for x in `find $rootdir -type f` +# List files to avoid owning standard dirs. +for x in `find $rootdir/usr/bin -type f` +do + y="${x#$rootdir}" + sed -i "/%files/ a ${y}" openra.spec +done + +for x in `find $rootdir/usr/share/icons -type f` +do + y="${x#$rootdir}" + sed -i "/%files/ a ${y}" openra.spec +done + +for x in `find $rootdir/usr/share/applications -type f` +do + y="${x#$rootdir}" + sed -i "/%files/ a ${y}" openra.spec +done + +# List directories only to avoid spam and problems with files containing spaces. +for x in `find $rootdir/usr/share/openra -type d` do y="${x#$rootdir}" sed -i "/%files/ a ${y}" openra.spec From 3c497e638e83f97981912f6c13e964088c68e26c Mon Sep 17 00:00:00 2001 From: Sam Hegarty Date: Sun, 15 Sep 2013 09:37:39 +1200 Subject: [PATCH 3/4] Use a combination of find xargs and read to prevent file/dir name problems. --- packaging/linux/rpm/buildpackage.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packaging/linux/rpm/buildpackage.sh b/packaging/linux/rpm/buildpackage.sh index 86c188a666..ad287cfce9 100755 --- a/packaging/linux/rpm/buildpackage.sh +++ b/packaging/linux/rpm/buildpackage.sh @@ -14,26 +14,28 @@ rootdir=`readlink -f $2` sed -i "s|{ROOT_DIR}|$rootdir|" openra.spec # List files to avoid owning standard dirs. -for x in `find $rootdir/usr/bin -type f` +find $rootdir/usr/bin -type f -print0 | xargs -0 -n 1 echo | while read x do y="${x#$rootdir}" sed -i "/%files/ a ${y}" openra.spec done -for x in `find $rootdir/usr/share/icons -type f` +find $rootdir/usr/share/icons -type f -print0 | xargs -0 -n 1 echo | while read x do y="${x#$rootdir}" sed -i "/%files/ a ${y}" openra.spec done -for x in `find $rootdir/usr/share/applications -type f` +find $rootdir/usr/share/applications -type f -print0 | \ + xargs -0 -n 1 echo | \ + while read x do y="${x#$rootdir}" sed -i "/%files/ a ${y}" openra.spec done -# List directories only to avoid spam and problems with files containing spaces. -for x in `find $rootdir/usr/share/openra -type d` +# List directories only to avoid spam +find $rootdir/usr/share/openra -type d -print0 | xargs -0 -n 1 echo | while read x do y="${x#$rootdir}" sed -i "/%files/ a ${y}" openra.spec From 954b0707368a434c1912754e32b8d2cf4129b5c4 Mon Sep 17 00:00:00 2001 From: Sam Hegarty Date: Sun, 15 Sep 2013 09:42:02 +1200 Subject: [PATCH 4/4] Use quotes around rpm file names to prevent issues with spaces. --- packaging/linux/rpm/buildpackage.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packaging/linux/rpm/buildpackage.sh b/packaging/linux/rpm/buildpackage.sh index ad287cfce9..b23705c6e3 100755 --- a/packaging/linux/rpm/buildpackage.sh +++ b/packaging/linux/rpm/buildpackage.sh @@ -14,31 +14,31 @@ rootdir=`readlink -f $2` sed -i "s|{ROOT_DIR}|$rootdir|" openra.spec # List files to avoid owning standard dirs. -find $rootdir/usr/bin -type f -print0 | xargs -0 -n 1 echo | while read x +`find $rootdir/usr/bin -type f -print0` | xargs -0 -n 1 echo | while read x do y="${x#$rootdir}" - sed -i "/%files/ a ${y}" openra.spec + sed -i "/%files/ a \"${y}\"" openra.spec done -find $rootdir/usr/share/icons -type f -print0 | xargs -0 -n 1 echo | while read x +`find $rootdir/usr/share/icons -type f -print0` | xargs -0 -n 1 echo | while read x do y="${x#$rootdir}" - sed -i "/%files/ a ${y}" openra.spec + sed -i "/%files/ a \"${y}\"" openra.spec done -find $rootdir/usr/share/applications -type f -print0 | \ +`find $rootdir/usr/share/applications -type f -print0` | \ xargs -0 -n 1 echo | \ while read x do y="${x#$rootdir}" - sed -i "/%files/ a ${y}" openra.spec + sed -i "/%files/ a \"${y}\"" openra.spec done # List directories only to avoid spam -find $rootdir/usr/share/openra -type d -print0 | xargs -0 -n 1 echo | while read x +`find $rootdir/usr/share/openra -type d -print0` | xargs -0 -n 1 echo | while read x do y="${x#$rootdir}" - sed -i "/%files/ a ${y}" openra.spec + sed -i "/%files/ a \"${y}\"" openra.spec done cp openra.spec "$3/SPECS/"