diff --git a/net/gitup/Makefile b/net/gitup/Makefile index 8b1fe7efa168..38480a43ecc5 100644 --- a/net/gitup/Makefile +++ b/net/gitup/Makefile @@ -1,35 +1,36 @@ PORTNAME= gitup DISTVERSION= 0.96 +PORTREVISION= 1 CATEGORIES= net MAINTAINER= eduardo@FreeBSD.org COMMENT= Minimalist, dependency-free program to clone/pull git repositories LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE USES= ssl USE_GITHUB= yes GH_ACCOUNT= johnmehr MAKE_ENV+= CONFIG_FILE_PATH=${LOCALBASE}/etc/gitup.conf PORTDOCS= README.md OPTIONS_DEFINE= DOCS do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin ${INSTALL_MAN} ${WRKSRC}/gitup.1 \ ${STAGEDIR}${PREFIX}/share/man/man1 ${INSTALL_MAN} ${WRKSRC}/gitup.conf.5 \ ${STAGEDIR}${PREFIX}/share/man/man5 ${INSTALL_DATA} ${WRKSRC}/gitup.conf \ ${STAGEDIR}${PREFIX}/etc/gitup.conf.sample do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR} .include diff --git a/net/gitup/files/patch-gitup.c b/net/gitup/files/patch-gitup.c new file mode 100644 index 000000000000..06765095ef7d --- /dev/null +++ b/net/gitup/files/patch-gitup.c @@ -0,0 +1,32 @@ +--- gitup.c.orig 2021-09-05 19:58:01.000000000 +0300 ++++ gitup.c 2022-01-18 16:53:41.999972000 +0300 +@@ -676,7 +676,8 @@ save_file(char *path, int mode, char *buffer, int buff + memcpy(temp_buffer, buffer, buffer_size); + temp_buffer[buffer_size] = '\0'; + +- if (symlink(temp_buffer, path) == -1) ++ if (symlink(temp_buffer, path) == -1 && ++ (unlink(path), symlink(temp_buffer, path)) == -1) + err(EXIT_FAILURE, + "save_file: symlink failure %s -> %s", + path, +@@ -2800,7 +2801,9 @@ save_repairs(connector *session) + "save_repairs: cannot create %s", + found_file->path); + } else { +- missing = !path_exists(found_file->path); ++ struct stat st; ++ ++ missing = stat(found_file->path, &st) != 0; + update = true; + + /* +@@ -2813,7 +2816,7 @@ save_repairs(connector *session) + + check_hash = calculate_file_hash( + found_file->path, +- found_file->mode); ++ st.st_mode); + + buffer_hash = calculate_object_hash( + found_object->buffer,