Spec URL: http://fedorapeople.org/~brouhaha/64tass/64tass.spec SRPM URL: http://fedorapeople.org/~brouhaha/64tass/64tass-1.50.486-1.fc19.src.rpm Fedora Account System Username: brouhaha Description: 64tass is a multi-pass optimizing macro assembler for the 65xx series of processors. It supports the 6502, 65C02, R65C02, W65C02, 65CE02, 65816, DTV, and 65EL02, using a syntax similar to that of Omicron TASS and TASM.
Hi Eric Smith, The package looks good, but i view some adjusts: Rpmlint (installed packages) ---------------------------- # rpmlint 64tass 64tass.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti 64tass.x86_64: W: no-manual-page-for-binary 64tass 1 packages and 0 specfiles checked; 0 errors, 2 warnings. i keep reviewing the package, I believe that tomorrow is all revised. Regards. Marcelo Barbosa
The rpmlint warnings can be ignored. The lack of a manual page is because upstream does not provide one.
Please check it the mix of the licenses to verify if the package incurrring in https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries otherwise, list the licenses with a comment explaining which files are under a determinate license. Please see: https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Multiple_Licensing_Scenarios cat licensecheck.txt *No copyright* GPL (v2 or later) -------------------------------- /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/64tass.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/addressobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/addressobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/boolobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/boolobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/bytesobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/bytesobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/codeobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/codeobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/encoding.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/encoding.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/error.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/error.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/eval.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/eval.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/file.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/file.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/floatobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/floatobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/inttypes.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/isnprintf.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/listobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/listobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/macro.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/macro.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/mem.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/mem.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/misc.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/misc.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/numobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/numobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/obj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/obj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/opcodes.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/opcodes.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/section.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/section.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/sintobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/sintobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/strobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/strobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/uintobj.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/uintobj.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/values.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/values.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/variables.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/variables.h *No copyright* LGPL (v2 or later) --------------------------------- /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/isnprintf.c GPL (v2 or later) ----------------- /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/64tass.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/ternary.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/ternary.h LGPL (v2) --------- /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/avl.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/libtree.h MIT/X11 (BSD like) ------------------ /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/getopt.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/my_getopt.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/my_getopt.h
Eric Smith, I waiting for your licenses to continue review process , questions i'm avaliable. Thank you. Marcelo Barbosa
The license of the produced binary is GPLv2, the most restrictive of the licenses of the source files. As per the guidelines, the License tag in the spec is the license of the binaries. http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License:_field
Eric, I believe with your package is a case of multiple license: https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Multiple_Licensing_Scenarios See this sources: MIT/X11 (BSD like) ------------------ /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/getopt.h /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/my_getopt.c /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/64tass-1.50.486/my_getopt.h Please check correctly the licenses about this package and submit us. Thank you. Marcelo Barbosa (firemanxbr)
The License tag is defined as the license of the files in the BINARY rpm, not the sources. The fast that some of the source files are MIT/BSD and others are GPLv2 doesn't change the fact that all of the resulting binaries are GPLv2 (the most restrictive of the source licenses). This is explained in the Fedora policy I linked to in comment 5.
Eric, For your package to be approved it must follow the recommendations Fedora packaging: 1) License: Sorry, but i not agree with you, please see this documentation it is about your case: https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Mixed_Source_Licensing_Scenario Verify in commentary 3 this output of licensecheck, your package have more licenses. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "MIT/X11 (BSD like)", "LGPL (v2)", "*No copyright* LGPL (v2 or later)", "*No copyright* GPL (v2 or later)", "GPL (v2 or later)". Detailed output of licensecheck in /home/marcelo.barbosa/rpmbuild/SOURCES/reviews/973448-64tass/licensecheck.txt 2) Permissions: It's important you review your use permissions in spec file, documentation: https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#FilePermissions I believe this permissions are incomplete: of : install -m 755 64tass %{buildroot}%{_bindir}/ to: install -Dm 0755 %{name} %{buildroot}%{_bindir}/ 3) Macros: Your file contains more than one error of hard-coded, please see: https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Macros 4) Documentation: Your package has large documentation, please see: https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#PackageDocumentation [!]: Large documentation must go in a -doc subpackage. Note: Documentation size is 296960 bytes in 6 files. Regards. Marcelo Barbosa - (firemanxbr)
> Your package has large documentation, please see: > https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#PackageDocumentation > Note: Documentation size is 296960 bytes in 6 files. As a hint, that's the wrong page to point at, because it only tells: | [...] if there's a lot of documentation, consider putting | it into a subpackage. In this case, it is recommended to use | *-doc as the subpackage name, and [...] More helpful is this from the Review Guidelines: https://fedoraproject.org/wiki/Packaging:ReviewGuidelines | MUST: Large documentation files must go in a -doc subpackage. | (The definition of large is left up to the packager's best | judgement, but is not restricted to size. Large can refer | to either size or quantity). "296960 bytes in 6 files" certainly is not "a lot of documentation" or "large", so introducing a -doc subpackage would be very questionable.
Michael, Thank you for explain this point, i agree about this it, but others points is opened. Marcelo Barbosa - (firemanxbr)
Tom Callaway on the Fedora Legal list verified my interpretation that a license tag of just "GPLv2+" is acceptable for this combination of source licenses: https://lists.fedoraproject.org/pipermail/legal/2013-July/002205.html
There is no problem with the file permissions, as verified by inspection of the resulting RPM: $ rpm -qlpv ../RPMS/x86_64/64tass-1.50.486-1.fc19.x86_64.rpm -rwxr-xr-x 1 root root 276696 Jul 19 22:55 /usr/bin/64tass drwxr-xr-x 2 root root 0 Jul 19 22:55 /usr/share/doc/64tass-1.50.486 -rw-r--r-- 1 root root 18092 Jun 11 02:14 /usr/share/doc/64tass-1.50.486/LICENSE-GPL-2.0 -rw-r--r-- 1 root root 25383 Jun 11 02:14 /usr/share/doc/64tass-1.50.486/LICENSE-LGPL-2.0 -rw-r--r-- 1 root root 26530 Jun 11 02:14 /usr/share/doc/64tass-1.50.486/LICENSE-LGPL-2.1 -rw-r--r-- 1 root root 1106 Dec 28 2011 /usr/share/doc/64tass-1.50.486/LICENSE-my_getopt -rw-r--r-- 1 root root 93414 Jul 19 22:55 /usr/share/doc/64tass-1.50.486/README -rw-r--r-- 1 root root 124978 Jun 11 08:18 /usr/share/doc/64tass-1.50.486/README.html
With regard to the complaint about macros, I've read the section of the guidelines, and don't see what the problem is. Please explain exactly what you take issue with. Thanks! Eric
There is no requirement for you to use %{name} everywhere. It's entirely okay to use "64tass" instead of %{name} anywhere (that includes the %files section).
Thanks for the clarification of the docs and macro policies, Michael. At this point I don't think there are any unaddressed issues blocking the review.
Hi Eric, - Output for rpmlint is false positive - %check is not presente in source code: "http://tass64.sourceforge.net/ .check Do not use these, the syntax will change in next version!" Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [-]: Package does not contain kernel modules. [-]: Package contains no static executables. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. 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. [x]: %build honors applicable compiler flags or justifies otherwise. [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. [-]: Development files must be in a -devel package [-]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [x]: Package complies to the Packaging Guidelines [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "MIT/X11 (BSD like)", "LGPL (v2)", "*No copyright* LGPL (v2 or later)", "*No copyright* GPL (v2 or later)", "GPL (v2 or later)". Detailed output of licensecheck in /home/marcelo.barbosa/rpmbuild/SOURCES/reviews/973448-64tass/licensecheck.txt [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [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. [-]: Large documentation must go in a -doc subpackage. Note: Documentation size is 296960 bytes in 6 files. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Fully versioned dependency in subpackages, if present. [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 %doc. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [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 [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). ===== 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). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. This packages doesn't use test framework. at moment, this package doesn't use test framework. [x]: Packages should try to preserve timestamps of original installed files. [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]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make. [x]: SourceX tarball generation or download is documented. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define. ===== EXTRA items ===== Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: 64tass-1.50.486-1.fc18.x86_64.rpm 64tass.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti 64tass.x86_64: W: no-manual-page-for-binary 64tass 1 packages and 0 specfiles checked; 0 errors, 2 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint 64tass 64tass.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti 64tass.x86_64: W: no-manual-page-for-binary 64tass 1 packages and 0 specfiles checked; 0 errors, 2 warnings. # echo 'rpmlint-done:' Requires -------- 64tass (rpmlib, GLIBC filtered): libc.so.6()(64bit) libm.so.6()(64bit) rtld(GNU_HASH) Provides -------- 64tass: 64tass 64tass(x86-64) Source checksums ---------------- http://sourceforge.net/projects/tass64/files/source/64tass-1.50.486.zip : CHECKSUM(SHA256) this package : bf7f44eb8f98a73b560336979f3459406adbf89d160d1ac287e34f68aa07d9fa CHECKSUM(SHA256) upstream package : bf7f44eb8f98a73b560336979f3459406adbf89d160d1ac287e34f68aa07d9fa Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29 Buildroot used: fedora-18-x86_64 Command line :/usr/bin/fedora-review -b 973448 ---------------- PACKAGE APPROVED ---------------- Marcelo Barbosa - (firemanxbr)
New Package SCM Request ======================= Package Name: 64tass Short Description: cross assembler for 6502 microprocessor family Owners: brouhaha Branches: f18 f19 el6 InitialCC:
> %check is not presente in source code: > > "http://tass64.sourceforge.net/ > .check %check has nothing to do with that ".check" directive at all. %check is for Makefile "check" ("test" or similar) targets.
Git done (by process-git-requests).
64tass-1.50.486-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/64tass-1.50.486-1.fc19
64tass-1.50.486-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/64tass-1.50.486-1.fc18
64tass-1.50.486-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/64tass-1.50.486-1.el6
64tass-1.50.486-1.el6 has been pushed to the Fedora EPEL 6 testing repository.
64tass-1.50.486-1.fc18 has been pushed to the Fedora 18 stable repository.
64tass-1.50.486-1.fc19 has been pushed to the Fedora 19 stable repository.
64tass-1.50.486-1.el6 has been pushed to the Fedora EPEL 6 stable repository.