[pacman-dev] [PATCH] makepkg: use single redirection when writing PKGINFO

Andres P aepd87 at gmail.com
Thu May 27 12:34:22 EDT 2010


Instead of specifying the output file on every echo, leave it to the
caller of write_pkginfo to specify the target.

Signed-off-by: Andres P <aepd87 at gmail.com>
---


This is a resubmit of an old patch

No bug fixes on top master (5dffef787df72cc4)

On Sun, May 23, 2010 at 8:13 AM, Allan McRae <allan at archlinux.org> wrote:
> On 23/05/10 21:20, Andres P wrote:
>>
>> Signed-off-by: Andres P<aepd87 at gmail.com>
>> ---
>
> Please use more informative commit messages.  From the commit message I
> should know exactly what your patch is doing.
>
> With a decent commit message this patch gets a +1.
>
> Allan
>
Besides changing the commit message, I decided that putting the
redirection on the function's ending bracket is an unusual construct.

In works in lots of shells, even dash, but it has the tendency of
throwing people off.
...

 scripts/makepkg.sh.in |   50 ++++++++++++++++++++++++------------------------
 1 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 76b6183..e7a080b 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -902,56 +902,56 @@ write_pkginfo() {
 	size="$(( ${size%%[^0-9]*} * 1024 ))"
 
 	msg2 "$(gettext "Generating .PKGINFO file...")"
-	echo "# Generated by makepkg $myver" >.PKGINFO
+	echo "# Generated by makepkg $myver"
 	if (( INFAKEROOT )); then
-		echo "# using $(fakeroot -v)" >>.PKGINFO
-	fi
-	echo "# $(LC_ALL=C date -u)" >>.PKGINFO
-	echo "pkgname = $1" >>.PKGINFO
-	(( SPLITPKG )) && echo pkgbase = $pkgbase >>.PKGINFO
-	echo "pkgver = $pkgver-$pkgrel" >>.PKGINFO
-	echo "pkgdesc = $pkgdesc" >>.PKGINFO
-	echo "url = $url" >>.PKGINFO
-	echo "builddate = $builddate" >>.PKGINFO
-	echo "packager = $packager" >>.PKGINFO
-	echo "size = $size" >>.PKGINFO
-	echo "arch = $PKGARCH" >>.PKGINFO
+		echo "# using $(fakeroot -v)"
+	fi
+	echo "# $(LC_ALL=C date -u)"
+	echo "pkgname = $1"
+	(( SPLITPKG )) && echo pkgbase = $pkgbase
+	echo "pkgver = $pkgver-$pkgrel"
+	echo "pkgdesc = $pkgdesc"
+	echo "url = $url"
+	echo "builddate = $builddate"
+	echo "packager = $packager"
+	echo "size = $size"
+	echo "arch = $PKGARCH"
 	if [[ $(check_option force) = "y" ]]; then
-		echo "force = true" >> .PKGINFO
+		echo "force = true"
 	fi
 
 	local it
 	for it in "${license[@]}"; do
-		echo "license = $it" >>.PKGINFO
+		echo "license = $it"
 	done
 	for it in "${replaces[@]}"; do
-		echo "replaces = $it" >>.PKGINFO
+		echo "replaces = $it"
 	done
 	for it in "${groups[@]}"; do
-		echo "group = $it" >>.PKGINFO
+		echo "group = $it"
 	done
 	for it in "${depends[@]}"; do
-		echo "depend = $it" >>.PKGINFO
+		echo "depend = $it"
 	done
 	for it in "${optdepends[@]}"; do
-		echo "optdepend = $it" >>.PKGINFO
+		echo "optdepend = $it"
 	done
 	for it in "${conflicts[@]}"; do
-		echo "conflict = $it" >>.PKGINFO
+		echo "conflict = $it"
 	done
 	for it in "${provides[@]}"; do
-		echo "provides = $it" >>.PKGINFO
+		echo "provides = $it"
 	done
 	for it in "${backup[@]}"; do
-		echo "backup = $it" >>.PKGINFO
+		echo "backup = $it"
 	done
 	for it in "${packaging_options[@]}"; do
 		local ret="$(check_option $it)"
 		if [[ $ret != "?" ]]; then
 			if [[ $ret = y ]]; then
-				echo "makepkgopt = $it" >>.PKGINFO
+				echo "makepkgopt = $it"
 			else
-				echo "makepkgopt = !$it" >>.PKGINFO
+				echo "makepkgopt = !$it"
 			fi
 		fi
 	done
@@ -1005,7 +1005,7 @@ create_package() {
 		PKGARCH=$CARCH
 	fi
 
-	write_pkginfo $nameofpkg
+	write_pkginfo $nameofpkg > .PKGINFO
 
 	local comp_files=".PKGINFO"
 
-- 
1.7.1



More information about the pacman-dev mailing list