Index: branches/2020Q2/www/gitea/Makefile =================================================================== --- branches/2020Q2/www/gitea/Makefile (revision 534921) +++ branches/2020Q2/www/gitea/Makefile (revision 534922) @@ -1,81 +1,81 @@ # $FreeBSD$ PORTNAME= gitea DISTVERSIONPREFIX= v DISTVERSION= 1.11.4 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= www MASTER_SITES= https://github.com/go-gitea/gitea/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/ DISTNAME= gitea-src-${DISTVERSION} NO_WRKSUBDIR= yes MAINTAINER= stb@lassitu.de COMMENT= Compact self-hosted Git service LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= git:devel/git USES= gmake go:no_targets USE_RC_SUBR= gitea SUB_FILES+= app.ini.sample SUB_LIST+= GITUSER=${USERS} USERS= git GROUPS= git OPTIONS_DEFINE= BINDATA GIT_LFS PAM SQLITE OPTIONS_DEFAULT= GIT_LFS PAM SQLITE OPTIONS_SUB= yes BINDATA_DESC= Build a single monolithic binary, with all assets included GIT_LFS_DESC= Support for Git Large File Storage (LFS) PAM_DESC= Enable support for PAM BINDATA_VARS= GO_TAGS+=bindata GIT_LFS_RUN_DEPENDS= git-lfs:devel/git-lfs PAM_VARS= GO_TAGS+=pam SQLITE_VARS= GO_TAGS+="sqlite sqlite_unlock_notify" .include .if ${OPSYS} == FreeBSD DAEMONARGS= -S -l \$${gitea_facility} -s \$${gitea_priority} -T \$${name} .else DAEMONARGS= -f .endif SUB_LIST+= DAEMONARGS="${DAEMONARGS}" SSP_UNSAFE= true # use sane defaults for path, overriden with actual PREFIX in start script EXTRA_LDFLAGS= -X code.gitea.io/gitea/modules/setting.CustomPath=${PREFIX}/etc/gitea EXTRA_LDFLAGS+= -X code.gitea.io/gitea/modules/setting.AppWorkPath=${PREFIX}/share/gitea # Default LDFLAGS are incompatible with build MAKE_ENV= LDFLAGS="${LDFLAGS} ${EXTRA_LDFLAGS}" MAKE_ARGS= GOPATH=${WRKDIR} TAGS="${GO_TAGS}" ALL_TARGET= backend MAKE_JOBS_UNSAFE= yes post-patch: ${ECHO_CMD} ${DISTVERSION} >${WRKSRC}/VERSION # Too lazy to figure out why go install won't work. do-install: # Go binary is statically linked and cannot be stripped, so use # INSTALL_SCRIPT. ${INSTALL_SCRIPT} ${WRKSRC}/gitea ${STAGEDIR}${PREFIX}/sbin @${MKDIR} ${STAGEDIR}${ETCDIR}/conf ${INSTALL_DATA} ${WRKDIR}/app.ini.sample ${STAGEDIR}${ETCDIR}/conf/app.ini.sample ${INSTALL_DATA} ${WRKSRC}/custom/conf/app.ini.sample ${STAGEDIR}${ETCDIR}/conf/app.ini.defaults @${MKDIR} ${STAGEDIR}${DESTDIR}/var/db/${PORTNAME} @${MKDIR} ${STAGEDIR}${DESTDIR}/var/log/${PORTNAME} @${MKDIR} ${STAGEDIR}${DESTDIR}/var/run/${PORTNAME} do-install-BINDATA-off: cd ${WRKSRC} && ${COPYTREE_SHARE} "options public templates" ${STAGEDIR}${DATADIR} .include Index: branches/2020Q2/www/gitea/files/patch-vendor_github.com_go-git_go-git_v5_storage_filesystem_dotgit_dotgit.go =================================================================== --- branches/2020Q2/www/gitea/files/patch-vendor_github.com_go-git_go-git_v5_storage_filesystem_dotgit_dotgit.go (nonexistent) +++ branches/2020Q2/www/gitea/files/patch-vendor_github.com_go-git_go-git_v5_storage_filesystem_dotgit_dotgit.go (revision 534922) @@ -0,0 +1,38 @@ +# This patch fixes a bug where attempting to view branches with a / in the name +# would return an HTTP 500 Internal Server Error. The underlying issue ended up +# being that go-git implicitly relied on read() of a dirfd to succeed, so for a +# branch named "stable/11" it would stop and assume "stable" was the ref, but it +# was really just a directory. + +# This patch was accepted upstream here: +# https://github.com/go-git/go-git/pull/39 +# go-gitea is expected to merge it when go-git creates a new release for them to +# import, and this patch can silently go away as soon as it conflicts. + +--- vendor/github.com/go-git/go-git/v5/storage/filesystem/dotgit/dotgit.go.orig 2020-04-01 17:02:04 UTC ++++ vendor/github.com/go-git/go-git/v5/storage/filesystem/dotgit/dotgit.go +@@ -57,6 +57,9 @@ var ( + // targeting a non-existing object. This usually means the repository + // is corrupt. + ErrSymRefTargetNotFound = errors.New("symbolic reference target not found") ++ // ErrIsDir is returned when a reference file is attempting to be read, ++ // but the path specified is a directory. ++ ErrIsDir = errors.New("reference path is a directory") + ) + + // Options holds configuration for the storage. +@@ -926,6 +929,14 @@ func (d *DotGit) addRefFromHEAD(refs *[]*plumbing.Refe + + func (d *DotGit) readReferenceFile(path, name string) (ref *plumbing.Reference, err error) { + path = d.fs.Join(path, d.fs.Join(strings.Split(name, "/")...)) ++ st, err := d.fs.Stat(path) ++ if err != nil { ++ return nil, err ++ } ++ if st.IsDir() { ++ return nil, ErrIsDir ++ } ++ + f, err := d.fs.Open(path) + if err != nil { + return nil, err Property changes on: branches/2020Q2/www/gitea/files/patch-vendor_github.com_go-git_go-git_v5_storage_filesystem_dotgit_dotgit.go ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2020Q2 =================================================================== --- branches/2020Q2 (revision 534921) +++ branches/2020Q2 (revision 534922) Property changes on: branches/2020Q2 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r534921