Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Nov 2021 15:00:02 GMT
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: cd8518854f3e - main - fetchindex: do not leave a corrupted INDEX
Message-ID:  <202111081500.1A8F02uQ030994@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cd8518854f3e96fb86dd7ed7b8f1c0258e839157

commit cd8518854f3e96fb86dd7ed7b8f1c0258e839157
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2021-11-08 14:58:02 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2021-11-08 14:59:55 +0000

    fetchindex: do not leave a corrupted INDEX
    
    When extracting the fetched index, do it in a temporary file, and only
    when extraction succeed, move it to the final file, it makes it more
    atomic and less likely to live a corrupted file behind
    
    PR:     224871
---
 Makefile | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index b32de32b747f..b2e17255f8ae 100644
--- a/Makefile
+++ b/Makefile
@@ -67,8 +67,13 @@ PORTSTOP=	yes
 index: 	${INDEXDIR}/${INDEXFILE}
 
 fetchindex: ${INDEXDIR}/${INDEXFILE}.bz2
-	@bunzip2 < ${INDEXDIR}/${INDEXFILE}.bz2 > ${INDEXDIR}/${INDEXFILE} && \
-	chmod a+r ${INDEXDIR}/${INDEXFILE} && ${RM} ${INDEXDIR}/${INDEXFILE}.bz2
+	@if bunzip2 < ${INDEXDIR}/${INDEXFILE}.bz2 > ${INDEXDIR}/${INDEXFILE}.tmp ; then \
+		chmod a+r ${INDEXDIR}/${INDEXFILE}.tmp; \
+		${MV} ${INDEXDIR}/${INDEXFILE}.tmp ${INDEXDIR}/${INDEXFILE}; \
+		${RM} ${INDEXDIR}/${INDEXFILE}.bz2 \
+	else ; \
+		${RM} ${INDEXDIR}/${INDEXFILE}.tmp ; \
+	fi
 
 ${INDEXDIR}/${INDEXFILE}.bz2: .PHONY
 	${FETCHINDEX} ${INDEXDIR}/${INDEXFILE}.bz2 ${MASTER_SITE_INDEX}${INDEXFILE}.bz2



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202111081500.1A8F02uQ030994>