[pacman-dev] [PATCH] Remove -f option from ln for POSIX compliance (close FS#24893)

Eric Bélanger snowmaniscool at gmail.com
Sun Jun 26 15:13:48 EDT 2011


Signed-off-by: Eric Bélanger <snowmaniscool at gmail.com>
---
 scripts/makepkg.sh.in  |   18 ++++++++++++------
 scripts/repo-add.sh.in |   10 ++++++----
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 8d082a2..ed5cdef 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -518,7 +518,8 @@ download_sources() {
 		local file=$(get_filepath "$netfile" || true)
 		if [[ -n "$file" ]]; then
 			msg2 "$(gettext "Found %s")" "${file##*/}"
-			ln -sf "$file" "$srcdir/"
+			rm -f "$srcdir/$file"
+			ln -s "$file" "$srcdir/"
 			continue
 		fi
 
@@ -878,8 +879,8 @@ tidy_install() {
 				# update symlinks to this manpage
 				find ${MAN_DIRS[@]} -lname "$file" 2>/dev/null |
 				while read link ; do
-					rm -f "$link"
-					ln -sf "${file}.gz" "${link}.gz"
+					rm -f "$link" "${link}.gz"
+					ln -s "${file}.gz" "${link}.gz"
 				done
 
 				# check file still exists (potentially already compressed due to hardlink)
@@ -1187,9 +1188,13 @@ create_package() {
 	create_signature "$pkg_file"
 
 	if (( ! ret )) && [[ ! "$PKGDEST" -ef "${startdir}" ]]; then
-		ln -sf "${pkg_file}" "${pkg_file/$PKGDEST/$startdir}"
+		rm -f "${pkg_file/$PKGDEST/$startdir}"
+		ln -s "${pkg_file}" "${pkg_file/$PKGDEST/$startdir}"
 		ret=$?
-		[[ -f $pkg_file.sig ]] && ln -sf "$pkg_file.sig" "${pkg_file/$PKGDEST/$startdir}.sig"
+		if [[ -f $pkg_file.sig ]]; then
+			rm -f "${pkg_file/$PKGDEST/$startdir}.sig"
+			ln -s "$pkg_file.sig" "${pkg_file/$PKGDEST/$startdir}.sig"
+		fi
 	fi
 
 	if (( ret )); then
@@ -1276,7 +1281,8 @@ create_srcpackage() {
 	fi
 
 	if (( ! ret )) && [[ ! "$SRCPKGDEST" -ef "${startdir}" ]]; then
-		ln -sf "${pkg_file}" "${pkg_file/$SRCPKGDEST/$startdir}"
+		rm -f "${pkg_file/$SRCPKGDEST/$startdir}"
+		ln -s "${pkg_file}" "${pkg_file/$SRCPKGDEST/$startdir}"
 		ret=$?
 	fi
 
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index e970da3..b125035 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -613,12 +613,14 @@ if (( success )); then
 	[[ -f $tmpdir/$filename.sig ]] && mv "$tmpdir/$filename.sig" "$REPO_DB_FILE.sig"
 	dblink="${REPO_DB_FILE%.tar*}"
 	target=${REPO_DB_FILE##*/}
-	ln -sf "$target" "$dblink" 2>/dev/null || \
-		ln -f "$target" "$dblink" 2>/dev/null || \
+	rm -f "$dblink"
+	ln -s "$target" "$dblink" 2>/dev/null || \
+		ln "$target" "$dblink" 2>/dev/null || \
 		cp "$REPO_DB_FILE" "$dblink"
 	if [[ -f "$target.sig" ]]; then
-		ln -sf "$target.sig" "$dblink.sig" 2>/dev/null || \
-			ln -f "$target.sig" "$dblink.sig" 2>/dev/null || \
+		rm -f "$dblink.sig"
+		ln -s "$target.sig" "$dblink.sig" 2>/dev/null || \
+			ln "$target.sig" "$dblink.sig" 2>/dev/null || \
 			cp "$REPO_DB_FILE.sig" "$dblink.sig"
 	fi
 else
-- 
1.7.5.4



More information about the pacman-dev mailing list