Overview

Request 811137 declined

- Fix boo#1163689.
Escaping backslash to prevent build errors in packages when using
included macros since version 15.0.12.


Jeff Kowalczyk's avatar
reviewer target maintainer

Discussion continues in https://bugzilla.opensuse.org/show_bug.cgi?id=1163689#c6 . Info requested there: what does added forward slash in the proposed patch do or is intended to do? I'm not familiar with that escaping syntax, is it taking effect in the bash interpretation or the find command?


Eric Schirra's avatar
author source maintainer

The patch ensures that you can package gitea and other packages again. And correctly defines the statement. Have commented in bugzilla.


Eric Schirra's avatar
author source maintainer

Hello, this request is now over one month old! A very, very simple change. When will it be fixed?


Eric Schirra's avatar
author source maintainer

This request is now over 2 month old!!! Why does it not accepted? Why ignoring it? What's the problem? It a very, very simple patch.


Eric Schirra's avatar
author source maintainer

7 times a reminder was send. No reaction. :-( Hello! Wake up!


Jeff Kowalczyk's avatar
reviewer target maintainer

Hello Eric, as mentioned in the associated bug and request for more information https://bugzilla.opensuse.org/show_bug.cgi?id=1163689#c6 about the proposed addition of one leading slash (not backslash) to escape find command arguments, this does not seem to be a valid patch and will be declined. Also, changes to golang-packaging are added through GitHub, so we try not to carry a patch in packaging.

The current invocation of the find command does appear to have sufficient escaping. The gitea failure mode was in the find command failing partway through a large result list of gitea source plus vendored dependencies [2], or possibly failing as input to the %install macro:

[ 233s] /home/abuild/rpmbuild/BUILD/go/src/code.gitea.io/gitea/vendor/golang.org/x/sys/unix/syscall_aix.go [ 233s] /home/abuild/rpmbuild/BUILD/go/src/code.gitea.io/gitea/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go [ 233s] /herror: Bad exit status from /var/tmp/rpm-tmp.FKQS6r (%install)

I share your interest in having usable gitea packaging as I admire the application and see that you have been maintaining the package in your home project for some time. I've spent many hours across multiple sessions trying to understand the issues referenced here. The current gitea packaging uses a mix of packaged go dependencies, %GOPATH source movements via %{goprep} %{goinstall} %{gosrc}, bundled vendored dependencies and the newer go build -mod=vendor invocation, which does not work well with GOPATH usage. The overall scope of the gitea packaging is quite broad. When time permits, I will try to offer suggestions to simplify the go portions of the packaging. In the meantime, you could use a local copy of golang-packaging in your home project with this patch applied if doing so works for gitea.


Eric Schirra's avatar
author source maintainer

I have the problem and changes from 15.0.11 to 15.0.12 explain in https://bugzilla.opensuse.org/show_bug.cgi?id=1163689#c7 In 15.0.11 there was separat lines (beginning at line 181 in golang.sh in source) . In 15.0.12 there was one line. And then gitea can not build because the code in 15.0.12 is wrong. With the simple fix from me with escaping all went go on and gitea ist build again. Look at my home repo https://build.opensuse.org/package/show/home:ecsos:server/gitea.


Eric Schirra's avatar
author source maintainer

Sorry. Wrong link to show the fix. Correct link is:

https://build.opensuse.org/package/show/home:ecsos:test/gitea



Eric Schirra's avatar
author source maintainer

4 month without solution for such a simple fix. Unbelievable .


Jeff Kowalczyk's avatar
reviewer target maintainer

Without additional information, I am unable to accept the change and will be declining the SR. The proposed patch uses an unexplained escaping syntax (forward slash) to alter the behavior of the already escaped find command running inside a bash subshell. Here and in https://bugzilla.opensuse.org/show_bug.cgi?id=1163689#c6 I have asked for a pointer to documentation demonstrating this syntax for review. I have looked into this several times now and don't see any mention of a forward slash syntax in https://tldp.org/LDP/abs/html/subshells.html or elsewhere.

In the package gitea which has regrettably been affected by the combining of multiple find commands into one, it appears from the build log that the find command is emitting an unspecified error while processing a large number of files. It is not clear whether that is a subshell result set size limit issue but it does not appear to be a bash escaping syntax issue.

Let's continue the discussion in the https://bugzilla.opensuse.org/show_bug.cgi?id=1174781 created to track migration of gitea packaging from GOPATH to go modules. With that, there will no longer be a need to use this macro in the gitea package to find-move a large tree of go source files, and that part of the packaging may become simpler and more reliable to maintain. Gitea is an excellent project, thank you for your efforts as packaging maintainer.


Eric Schirra's avatar
author source maintainer

hm. What shall i do now? My package is build in Tumbleweed now after i have remove macro %{gosrc}. But the error in golang-packing, in macro %{gosrc} and there in golang.sh still exists. Definitive!

It exists only one solution. Either your fix it or remove the macro %{gosrc}.

Request History
Eric Schirra's avatar

ecsos created request

- Fix boo#1163689.
Escaping backslash to prevent build errors in packages when using
included macros since version 15.0.12.


Jeff Kowalczyk's avatar

jfkw declined request

Declined as invalid patch, see comments and and boo#1163689 for discussion. New tracking issue boo#1174781 devel:tools:scm/gitea migrate go source handling from %goprep to go modules layout convention. Resolution of #1174781 will resolve failure mode raised in boo#1163689


Eric Schirra's avatar

ecsos reopened request

I have the problem and changes from 15.0.11 to 15.0.12 explain in https://bugzilla.opensuse.org/show_bug.cgi?id=1163689#c7
In 15.0.11 there was separat lines (beginning at line 181 in golang.sh in source) . In 15.0.12 there was one line.
And then gitea can not build because the code in 15.0.12 is wrong.
With the simple fix from me with escaping all went go on and gitea ist build again.
Look at my home repo https://build.opensuse.org/package/show/home:ecsos:server/gitea.


Jeff Kowalczyk's avatar

jfkw declined review

Decline for unknown proposed syntax to add escape parenthesis bash subshell. Subshell call to find command is already escaped.


Jeff Kowalczyk's avatar

jfkw declined request

Decline for unknown proposed syntax to add escape parenthesis bash subshell. Subshell call to find command is already escaped.

openSUSE Build Service is sponsored by