Bug 1239273 - Review Request: golang-github-BurntSushi-toml-test - Language agnostic test suite for TOML
Summary: Review Request: golang-github-BurntSushi-toml-test - Language agnostic test s...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jonathan Underwood
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-07-05 08:21 UTC by Julien Enselme
Modified: 2015-08-07 13:05 UTC (History)
3 users (show)

Fixed In Version: golang-github-BurntSushi-toml-test-0.2.0-0.7.git85f50d0.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-08-07 12:54:21 UTC
Type: ---
Embargoed:
jonathan.underwood: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)
spec file (3.03 KB, text/plain)
2015-07-12 10:39 UTC, Jan Chaloupka
no flags Details

Description Julien Enselme 2015-07-05 08:21:38 UTC
Spec URL: http://jenselme.perso.centrale-marseille.fr/visible/SPECS/golang-github-BurntSushi-toml-test.spec
SRPM URL: http://jenselme.perso.centrale-marseille.fr/visible/SRPMS/golang-github-BurntSushi-toml-test-0.2.0-0.1git85f50d0.fc22.src.rpm
Description:
toml-test is a higher-order program that tests other TOML decoders or
encoders. Tests are divided into two groups: invalid TOML data and valid TOML
data. Decoders that reject invalid TOML data pass invalid TOML tests. Decoders
that accept valid TOML data and output precisely what is expected pass valid
tests.

Fedora Account System Username: jujens

Comment 1 Jonathan Underwood 2015-07-10 22:32:04 UTC
OK, so go is a bit outside my sphere of expertise, but here we go.


Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Package does not contain duplicates in %files.
  Note: warning: File listed twice:
  /usr/share/gocode/src/github.com/BurntSushi/toml-test
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles

- Release tag not in required form - 0.1.git%{shortcommit}%{?dist}
  would be correct- note "." between the 1 and the git tag. See:
  https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Package_Versioning
  https://fedoraproject.org/wiki/PackagingDrafts/Go  


Other issues below.

===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated". 3 files have unknown license. Detailed
     output of licensecheck in /home/jgu/Fedora/1239273-golang-github-
     BurntSushi-toml-test/licensecheck.txt

It would be better if these files had a license header at the top
explaining what license they're issued under. Worth filing an issue
upstream and asking them to do so.

toml-test-85f50d0991feaca39fd7c3ad1047acbf9df90859/json.go
toml-test-85f50d0991feaca39fd7c3ad1047acbf9df90859/main.go
toml-test-85f50d0991feaca39fd7c3ad1047acbf9df90859/results.go


[x]: License file installed when any subpackage combination is installed.
[!]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by:
     /usr/share/gocode/src/github.com/BurntSushi(golang-github-BurntSushi-
     toml-devel)

This looks like a collision with the BurntSushi/toml (same upstream
maintainer), which is already packaged for Fedora. It isn't clear to
me which of the two packages should be the canonical one for this
directory, but this needs resolving, and one package then should
probably require the other. Or perhaps it's ok for both packages to
own the directory as long as there are no file collisions in the
directory. This needs a careful audit.



[!]: %build honors applicable compiler flags or justifies otherwise.

It's only a draft at present, but the pending Go packaging guidelines
say:

If you are using golang, DWZ is currently incompatible with binaries
produced by it (Bug 995136). To get at least partial DWZ optimization
use:

# https://bugzilla.redhat.com/show_bug.cgi?id=995136#c12
%global _dwz_low_mem_die_limit 0

See: https://fedoraproject.org/wiki/PackagingDrafts/Go

[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[!]: Package does not generate any conflict.

See above - possible conflict.

[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.


[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[!]: Useful -debuginfo package or justification otherwise.

But I don't think you can resolve this in this package, as it's a
product of https://bugzilla.redhat.com/show_bug.cgi?id=1184221

[!]: Package is not known to require an ExcludeArch tag.

Does the package build on other archs with gccgo?

In any case, specification of the archs to build on should be done
according to the draft go guidelines...

The golang compiler currently only supports x86, x86_64, and Arm (32-
and 64-bit). Binaries should set ExclusiveArch so that we only attempt
to build packages on those arches. The golang package provides the
%{go_arches} macro for this:

ExclusiveArch:  %{go_arches}

[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[!]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in golang-
     github-BurntSushi-toml-test-devel

Shouldn't the -devel package require the main package?

[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[ ]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define debug_package %{nil}

Add a comment saying why %define and not %global


[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Package should compile and build into binary rpms on all supported
     architectures.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: golang-github-BurntSushi-toml-test-0.2.0-0.1git85f50d0.fc22.x86_64.rpm
          golang-github-BurntSushi-toml-test-devel-0.2.0-0.1git85f50d0.fc22.noarch.rpm
          golang-github-BurntSushi-toml-test-0.2.0-0.1git85f50d0.fc22.src.rpm
golang-github-BurntSushi-toml-test.x86_64: W: unstripped-binary-or-object /usr/bin/toml-test
golang-github-BurntSushi-toml-test.x86_64: E: statically-linked-binary
/usr/bin/toml-test

----> Think this is ok - go only statically links.

golang-github-BurntSushi-toml-test.x86_64: E: zero-length /usr/share/toml-test/tests/valid/empty.toml

----->Seems ok - file is supposed to be empty.

golang-github-BurntSushi-toml-test.x86_64: W: no-manual-page-for-binary toml-test
3 packages and 0 specfiles checked; 2 errors, 2 warnings.




Rpmlint (installed packages)
----------------------------
golang-github-BurntSushi-toml-test.x86_64: W: unstripped-binary-or-object /usr/bin/toml-test
golang-github-BurntSushi-toml-test.x86_64: W: ldd-failed /usr/bin/toml-test
golang-github-BurntSushi-toml-test.x86_64: E: statically-linked-binary /usr/bin/toml-test
golang-github-BurntSushi-toml-test.x86_64: E: zero-length /usr/share/toml-test/tests/valid/empty.toml
golang-github-BurntSushi-toml-test.x86_64: W: no-manual-page-for-binary toml-test
2 packages and 0 specfiles checked; 2 errors, 3 warnings.



Requires
--------
golang-github-BurntSushi-toml-test (rpmlib, GLIBC filtered):
    golang

golang-github-BurntSushi-toml-test-devel (rpmlib, GLIBC filtered):
    golang



Provides
--------
golang-github-BurntSushi-toml-test:
    golang-github-BurntSushi-toml-test
    golang-github-BurntSushi-toml-test(x86-64)
    toml-test

golang-github-BurntSushi-toml-test-devel:
    golang(github.com/BurntSushi/toml-test)
    golang-github-BurntSushi-toml-test-devel



Source checksums
----------------
https://github.com/BurntSushi/toml-test/archive/85f50d0991feaca39fd7c3ad1047acbf9df90859/toml-test-85f50d0991feaca39fd7c3ad1047acbf9df90859.tar.gz :
  CHECKSUM(SHA256) this package     : daa39e2fe270a6fedf6093a2d150de7d31daa82f25b485a7d43513a162a73dce
  CHECKSUM(SHA256) upstream package : daa39e2fe270a6fedf6093a2d150de7d31daa82f25b485a7d43513a162a73dce


Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20
Command line :/usr/bin/fedora-review -b 1239273
Buildroot used: fedora-22-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 2 Julien Enselme 2015-07-12 09:44:02 UTC
- Files not included twice any more
- Correct dist tag
- License. Issue opened here: https://github.com/BurntSushi/toml-test/issues/32
- dir 
- %build honors applicable compiler flags or justifies otherwise. If I understand this correctly it is note required for the debug package which I don't build since find-debuginfo.sh cannot extract debug info from package (comment added in the spec).
- debuginfo: cannot build. I have the rpm version reference in https://bugzilla.redhat.com/show_bug.cgi?id=1184221, yet I still cannot build the package, see above. I am not sure if the issue are related or not.
- Use ExclusiveArch:  %{go_arches}. I guess I get too much inspiration from http://pkgs.fedoraproject.org/cgit/golang-github-BurntSushi-toml.git/tree/golang-github-BurntSushi-toml.spec and not from the guidelines. There is a pending package in review (https://bugzilla.redhat.com/show_bug.cgi?id=1241156) to help building golang packages for architectures only supported by gcc-go. I will follow the discussion on devel (https://lists.fedoraproject.org/pipermail/devel/2015-July/212117.html) and see what happens. I don't think I have enough experience with go to review the package. If a consensus emerge on devel, I will update this package accordingly.
- devel package requires standard package
- %defined instead of %global: that a mistake, I correct the macro to %gobal.



About the possible conflict with golang-github-BurntSushi-toml:
> This looks like a collision with the BurntSushi/toml (same upstream
> maintainer), which is already packaged for Fedora. It isn't clear to
> me which of the two packages should be the canonical one for this
> directory, but this needs resolving, and one package then should
> probably require the other. Or perhaps it's ok for both packages to
> own the directory as long as there are no file collisions in the
> directory. This needs a careful audit.

In my opinion, the fact that /usr/share/gocode/src/github.com/BurntSushi shouldn't cause trouble the the files for golang-github-BurntSushi-toml will be located in /usr/share/gocode/src/github.com/BurntSushi/toml and the one for golang-github-BurntSushi-toml-test in /usr/share/gocode/src/github.com/BurntSushi/toml-test. But requiring golang-github-BurntSushi-toml in golang-github-BurntSushi-toml-test can be a solution even if golang-github-BurntSushi-toml is not required in any way.

I took the liberty to add jchaloup in CC's as the main contact for golang-github-BurntSushi-toml reference here https://admin.fedoraproject.org/pkgdb/package/golang-github-BurntSushi-toml/ and I guess that his opinion can be useful on this matter.

Comment 4 Jan Chaloupka 2015-07-12 10:38:43 UTC
Hi Julien, Jonathan,

thanks for cc'ing me.

To generate a spec file for a golang project, you can use gofed tool [1].

It is already packaged in Fedora. If you install the latest build in rawhide, you can run:

$ gofed repo2spec --detect https://github.com/BurntSushi/toml-test --commit=85f50d0991feaca39fd7c3ad1047acbf9df90859

It will generate spec file conforming to the current Packaging Guidelines draft. It does not generate everything that is needed as the Draft is gradually involving and at the moment extending packaging to secondary architectures is on topic. Most likely the structure of BuildRequires for golang will change.

I am attaching the generated spec file. There are other things among others like %{with_devel} macro and so on that is good to have.

golang-github-BurntSushi-toml is among the first packages that was packaged and since that some improvements have happened. Gofed is kept up-to-date with the guidelines so once it is generated there should be only minor changes.

[1] https://github.com/ingvagabund/gofed

Comment 5 Jan Chaloupka 2015-07-12 10:39:34 UTC
Created attachment 1051097 [details]
spec file

Comment 6 Jan Chaloupka 2015-07-12 10:46:04 UTC
Better inspiration are spec files of etcd or cadvisor packages. 

> In my opinion, the fact that /usr/share/gocode/src/github.com/BurntSushi
> shouldn't cause trouble the the files for golang-github-BurntSushi-toml
> will be located in /usr/share/gocode/src/github.com/BurntSushi/toml and
> the one for golang-github-BurntSushi-toml-test in
> /usr/share/gocode/src/github.com/BurntSushi/toml-test. But requiring
> golang-github-BurntSushi-toml in golang-github-BurntSushi-toml-test can be
> a solution even if golang-github-BurntSushi-toml is not required in any way.

If toml-test binary it self calls in some way toml binary then yes, golang-github-BurntSushi-toml must be a runtime dependency of toml-test. Otherwise not.

The latest commit of toml-test already contains import of github.com/BurntSushi/toml so once you update to it, add BuildRequires on it. In any case you can run 'gofed lint' in a directory containing spec file and tarball. It will lists you all missing/superfluous packages.

If there is somethine else that needs an explanation just let me know :).

Comment 7 Jan Chaloupka 2015-07-12 11:55:20 UTC
> Shouldn't the -devel package require the main package?

No. As the main packages provides only binaries and once build it does not depend on its source codes.

> will be located in /usr/share/gocode/src/github.com/BurntSushi/toml and
> the one for golang-github-BurntSushi-toml-test in
> /usr/share/gocode/src/github.com/BurntSushi/toml-test.

Ownership of /usr/share/gocode/src/github.com/BurntSushi directory is interesting question. The same holds for /usr/share/gocode/src/github.com/docker and other projects from the same repository. At the moment this is unresolved. Golang compiler owns some directories:
%dir %{gopath}/src/github.com/
%dir %{gopath}/src/bitbucket.org/
%dir %{gopath}/src/code.google.com/
%dir %{gopath}/src/code.google.com/p/

For gcc-go this no longer holds. The solution would be to create another noarch package whose purpose would be only to own %{gopath}/src/github.com/, %{gopath}/src/bitbucket.org/, %{gopath}/src/code.google.com/, %{gopath}/src/code.google.com/p/ and continue with %{gopath}/src/github.com/BurntSushi and %{gopath}/src/github.com/docker. Then make it a dependency of golang and gcc-go. It does not make much sense to install golang source codes without golang compiler.

Comment 8 Julien Enselme 2015-07-12 13:49:29 UTC
Jan, thanks for your advise. I just updated the spec and srpm based on the one you post as an attachment. gofed lint reports no problem. I clean the unseful Require and Provides.

I added %dir %{gopath}/src/%{provider}.%{provider_tld}/%{project} in the %files section. I guess that your proposal to change how ownership is dealt with should be discussed with the golang sig (or the packaging ml).

SPRM: http://jenselme.perso.centrale-marseille.fr/visible/SRPMS/golang-github-BurntSushi-toml-test-0.2.0-0.3.git85f50d0.fc22.src.rpm
SPEC: http://jenselme.perso.centrale-marseille.fr/visible/SPECS/golang-github-BurntSushi-toml-test.spec

Comment 9 Jan Chaloupka 2015-07-12 13:54:55 UTC
You are welcome.

> I clean the unseful Require and Provides.

1) the main packages does not need golang as a runtime dependency
2) if you keep Requires: golang in devel subpackage it will brings troubles to secondary architectures as there is not golang on them.


> I guess that your proposal to change how ownership is dealt with
> should be discussed with the golang sig (or the packaging ml).

Definitely. I will open a discussion on this topic.

Comment 10 Julien Enselme 2015-07-12 14:19:17 UTC
> 1) the main packages does not need golang as a runtime dependency
> 2) if you keep Requires: golang in devel subpackage it will brings troubles to > secondary architectures as there is not golang on them.

Noted, thanks.

SPRM: http://jenselme.perso.centrale-marseille.fr/visible/SRPMS/golang-github-BurntSushi-toml-test-0.2.0-0.4.git85f50d0.fc22.src.rpm
SPEC: http://jenselme.perso.centrale-marseille.fr/visible/SPECS/golang-github-BurntSushi-toml-test.spec

Comment 11 Jan Chaloupka 2015-07-15 09:47:41 UTC
%{gopath} macro is provided since golang-1.2.1-3 so BuildRequires must have:
BuildRequires:  golang >= 1.2.1-3
for both main package and devel subpackage.

Are tests in tests directory used by toml-test binary only? If so, there is no need for devel subpackage as json.go, main.go and results.go can not be imported and there are no other source codes written in go. In that case these lines:

%install
install -D -p -m 0755 bin/%{repo} %{buildroot}%{_bindir}/%{repo}
mkdir -p  %{buildroot}%{_datadir}/%{repo}/

%if 0%{?with_devel}
# install devel source codes
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
cp -a tests %{buildroot}%{_datadir}/%{repo}/

# copy directories
cp -rpa tests %{buildroot}%{gopath}/src/%{import_path}/
%endif

can be changed to:

%install
install -D -p -m 0755 bin/%{repo} %{buildroot}%{_bindir}/%{repo}
mkdir -p  %{buildroot}%{_datadir}/%{repo}/
cp -a tests %{buildroot}%{_datadir}/%{repo}/

%if 0%{?with_devel}
# install devel source codes
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/

# copy directories
%endif

At the same time %{with_devel} can be set to 0 as there are no devel files/directories at the moment.

Otherwise the spec LGTM.

Comment 12 Julien Enselme 2015-07-15 20:50:18 UTC
> %{gopath} macro is provided since golang-1.2.1-3 so BuildRequires must have:
> BuildRequires:  golang >= 1.2.1-3
> for both main package and devel subpackage.

Noted.

> Are tests in tests directory used by toml-test binary only?

They are. Devel package disabled.

SRPM: http://jenselme.perso.centrale-marseille.fr/visible/SRPMS/golang-github-BurntSushi-toml-test-0.2.0-0.5.git85f50d0.fc22.src.rpm
SPEC: http://jenselme.perso.centrale-marseille.fr/visible/SPECS/golang-github-BurntSushi-toml-test.spec

Comment 13 Jonathan Underwood 2015-07-23 17:09:52 UTC
OK, so right now the devel package is disabled, but if it were enabled, it wouldn't work as there is no %files section for that package any longer. So, either that needs fixing, or all the -devel stuff simply needs removing as it just clutters the spec file making maintenance harder.

Comment 14 Jan Chaloupka 2015-07-23 18:01:49 UTC
Definitely. %files devel must go back a be wrapped with %if 0%{?with_devel} and %endif

Once there are files to put into devel subpackage, just set with_devel to 1 and update %install section accordingly.

Comment 15 Julien Enselme 2015-07-23 20:02:39 UTC
> so right now the devel package is disabled, but if it were enabled, it wouldn't work as there is no %files section for that package any longer.

You're absolutely right. I don't know why I removed the %files section for devel. This is corrected:

SPEC: http://jenselme.perso.centrale-marseille.fr/visible/SPECS/golang-github-BurntSushi-toml-test.spec
SRPM: http://jenselme.perso.centrale-marseille.fr/visible/SRPMS/golang-github-BurntSushi-toml-test-0.2.0-0.5.git85f50d0.fc22.src.rpm

Comment 16 Jonathan Underwood 2015-07-23 22:35:45 UTC
BuildRequires:  golang >= 1.2.1-3  is duplicated in the -devel package - this is not needed and should be removed.

There's a type on the -devel files section:


%if 0%{?fedora}
%license
%doc README.md COPYING

should be:


%if 0%{?fedora}
%license COPYING
%doc README.md

Comment 18 Jan Chaloupka 2015-07-24 10:00:59 UTC
%files for main subpackage should if-else license as well:

%if 0%{?fedora}
%license COPYING
%doc README.md
%else
%doc README.md COPYING
%endif

Or you can use more robust version for both cases:

%if 0%{?fedora}
%license COPYING
%else
%doc COPYING
%endif
%doc README.md

The "BuildRequires:  golang >= 1.2.1-3" in devel branch is for those use cases when you decide to move the devel subpackage to its own package (does not make sense at the moment). Or when the main package no longer provides any binary (decided by upstream) or the binary is rewritten into non-golang language but at the same time still using golang source codes (more unlikely). Or just for a sake of keeping a full list of all dependencies for each subpackage.

Comment 19 Julien Enselme 2015-07-24 10:33:00 UTC
Fix %files for main package

SRPM: http://jenselme.perso.centrale-marseille.fr/visible/SRPMS/golang-github-BurntSushi-toml-test-0.2.0-0.6.git85f50d0.fc22.src.rpm
SPEC: http://jenselme.perso.centrale-marseille.fr/visible/SPECS/golang-github-BurntSushi-toml-test.spec

> The "BuildRequires:  golang >= 1.2.1-3" in devel branch 

Thanks for the explaination.

Comment 20 Jonathan Underwood 2015-07-24 10:52:54 UTC
OK, great, am going to mark this as APPROVED. Many thanks to you both for your hard work on this, a really nice contribution to Fedora.

As an aside, the indentation you've added for the %if'd stuff in %files is very unusual for spec files (unike pretty much any other language). I don't think it should be causing an issue with rpmbuild, but it may confuse other tools people use, so I would encourage you not to indent like that. But there's no hard rule on it, so I am not going to insist.

Presumably at this point, other toml parsers in Fedora can now use this test suite in their %check - it'd be nice to file bugs against any other toml parsers asking them to enable such functionality.

Comment 21 Jan Chaloupka 2015-07-24 11:21:41 UTC
Jonathan, Julien,

thank you for letting me know about the review and participating. Golang ecosystem in Fedora is still young and full of surprises. If you will have any question or an idea how to improve packaging [1] or generators [2], just let me know or open an issue on [2]. Soon, guidelines [1] will be updated for support for secondary architectures which will be interesting for all packages providing binaries compiled from go source codes.

[1] https://fedoraproject.org/wiki/PackagingDrafts/Go
[2] https://github.com/ingvagabund/gofed

Kind regards
Jan

Comment 22 Julien Enselme 2015-07-24 17:12:47 UTC
> As an aside, the indentation you've added for the %if'd stuff in %files is very 
> unusual for spec files. I don't think it should be causing an issue with 
> rpmbuild, but it may confuse other tools people use, so I would encourage you 
> not to indent like that.

I add them to try to improve readability. I discorver while working on another package that %patch doesn't work if indented. So I will remove the indentations before importing the SPEC into git.

> Presumably at this point, other toml parsers in Fedora can now use this test 
> suite in their %check - it'd be nice to file bugs against any other toml 
> parsers asking them to enable such functionality.

I will open them once toml-test is in stable.

Thanks for the review.

> thank you for letting me know about the review and participating

@Jan, thank you for helping!


New Package SCM Request
=======================
Package Name: golang-github-BurntSushi-toml-test
Short Description: Language agnostic test suite for TOML
Upstream URL: https://github.com/BurntSushi/toml-test
Owners: jujens
Branches: f22 f23 f21

Comment 23 Gwyn Ciesla 2015-07-24 18:42:31 UTC
Git done (by process-git-requests).

Comment 24 Fedora Update System 2015-07-24 21:12:48 UTC
golang-github-BurntSushi-toml-test-0.2.0-0.6.git85f50d0.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/golang-github-BurntSushi-toml-test-0.2.0-0.6.git85f50d0.fc22

Comment 25 Fedora Update System 2015-07-24 21:57:25 UTC
golang-github-BurntSushi-toml-test-0.2.0-0.7.git85f50d0.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/golang-github-BurntSushi-toml-test-0.2.0-0.7.git85f50d0.fc21

Comment 26 Fedora Update System 2015-07-30 01:04:39 UTC
golang-github-BurntSushi-toml-test-0.2.0-0.6.git85f50d0.fc22 has been pushed to the Fedora 22 testing repository.

Comment 27 Fedora Update System 2015-08-07 12:54:21 UTC
golang-github-BurntSushi-toml-test-0.2.0-0.6.git85f50d0.fc22 has been pushed to the Fedora 22 stable repository.

Comment 28 Fedora Update System 2015-08-07 13:05:45 UTC
golang-github-BurntSushi-toml-test-0.2.0-0.7.git85f50d0.fc21 has been pushed to the Fedora 21 stable repository.


Note You need to log in before you can comment on or make changes to this bug.