https://bugzilla.redhat.com/show_bug.cgi?id=810676 Björn Persson <bjorn@xxxxxxxxxxxxxxxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(pavel@xxxxxxxxxxx | |) --- Comment #28 from Björn Persson <bjorn@xxxxxxxxxxxxxxxxxxxx> --- Generic MUST Items: · rpmlint must be run on the source rpm and all binary rpms the build produces. aws-doc.x86_64: E: devel-dependency aws(x86-64)-devel → ISSUE: I can't find a rule that says explicitly that a -doc package must not depend on a -devel package – except maybe that "files marked as documentation must not cause the package to pull in more dependencies than it would without the documentation" – but it's true that one can read the documents without having the library installed. I think this dependency should be removed. Note that this will make the -doc subpackage independent of the base package, so it will need a copy of the license file. aws-doc.x86_64: W: file-not-utf8 /usr/share/doc/aws/demos/zdemo/adains.png.gz → Nonsense. aws-doc.x86_64: W: file-not-utf8 /usr/share/doc/aws/demos/web_mail/wm_summary.thtml → You probably shouldn't touch that file. aws.x86_64: W: executable-stack /usr/lib64/aws/libaws.so.2.11.0 → OK as noted in the Ada packaging guidelines. aws-tools.x86_64: W: no-documentation aws-tools.x86_64: W: no-manual-page-for-binary awsres aws-tools.x86_64: W: no-manual-page-for-binary wsdl2aws → See the separate point below. aws.src: W: invalid-url Source1: aws-fedora.tgz → I assume that you're going to check that file into Git. Otherwise you would need to provide a URL to it. aws.src: W: invalid-url Source0: aws-gpl-2.11.0-src.tgz → As usual, this is because Adacore and RPM have incompatible ideas of how to publish tarballs. aws-devel.x86_64: W: spelling-error %description -l en_US subpackage -> sub package, sub-package, package's → I think RPMlint is wrong here. "Subpackage" is consistently written without a hyphen in the guidelines. · The package must be named according to the Package Naming Guidelines. → OK. · The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. → OK. The names match. · The package must meet the Packaging Guidelines. → ISSUES: · The -doc subpackage should be in the Documentation group. · The comment about the SSL versions patch needs to be expanded to explain whether you have sent the patch upstream, or whether it's Fedora-specific for some reason. · It's unclear whether IPv6 is enabled. build_aws.gpr points to both aws-net-std__gnat.adb and aws-net-std__ipv6.adb as implementations of AWS.Net.Std, and it's not easy to know which of them takes effect. aws.gpr only points to aws-net-std__gnat.adb. · The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. → OK. · The License field in the package spec file must match the actual license. → ISSUE: As far as I can see the license should be "GPLv3+ with exceptions and GPLv2+" on the main package, and "GPLv3+" on aws-tools. (Memory_Streams is GPLv2+.) · 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 must be included in %doc. → NOTE: A copy of COPYING3 must be included in aws-doc if its dependency on aws-devel is removed. · The spec file must be written in American English. → OK. The spelling and grammar aren't perfect but it's comprehensible. · The spec file for the package MUST be legible. → OK. · The sources used to build the package must match the upstream source, as provided in the spec URL. → OK. · The package MUST successfully compile and build into binary rpms on at least one primary architecture. → OK. It builds in Koji on at least x86 and x86-64. · If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch. → OK, ExclusiveArch is used. · All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines. → OK except as noted below. · The spec file MUST handle locales properly. → N/A. No translations are included. · Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun. → OK. ldconfig is called. · The package must NOT bundle copies of system libraries. → ISSUE: Zlib-Ada is now packaged so include/zlib* must be deleted. "-lz" should be deleted from build_aws.gpr, and «with "zlib_ada";» added to build_aws.gpr and aws.gpr. The build dependencies and the dependencies of aws-devel must reflect this. Templates_Parser and Zlib are deleted in %prep, which is right. Memory_Streams is not distributed independently anywhere and Dmitriy Anisimkov considers it a part of AWS. The situation with Strings_Cutter seems to be the same; I can't find it anywhere else on the web. These are not bundled libraries. John Halleck's SHA-1 code doesn't seem to be used. It was also recently deleted from AWS's Git repository, so we don't need to worry about it. · If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package. → OK. The package isn't relocatable. · The package must own all directories that it creates. → OK. · The package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations) → OK. · Permissions on files must be set properly. → OK. · The package must consistently use macros. → OK. · The package must contain code, or permissable content. → OK. Code and documentation. · Large documentation files must go in a -doc subpackage. → OK. · If a package includes something as %doc, it must not affect the runtime of the application. → OK. · Static libraries must be in a -static package. → N/A. Only shared libraries are packaged. · Development files must be in a -devel package. → OK. · In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. → OK. · Packages must NOT contain any .la libtool archives. → OK. · Packages containing GUI applications must include a %{name}.desktop file. → N/A. This isn't a GUI application. · Packages must not own files or directories already owned by other packages. → OK. · All filenames in rpm packages must be valid UTF-8. → OK. Ada-specific MUST items: · The package must have "BuildRequires: gcc-gnat". → ISSUE: gcc-gnat is missing from the build dependencies. · The appropriate flags macro must be used for each GNAT tool that is invoked. → OK. GPRbuild_optflags is used. · If there is a need to prevent attempts to build the package on secondary architectures where GNAT has not been bootstrapped, then this MUST be done with "ExclusiveArch: %{GNAT_arches}". → NOTE: Once the package is imported and the branches have been set up, please change to "ExclusiveArch: %{GNAT_arches}" in the f17, f18 and master branches. · The package must have "BuildRequires: fedora-gnat-project-common". → OK. · Ada library packages MUST have a -devel subpackage containing all the files that are necessary for compilation of code that uses the library. → OK. · The -devel package MUST NOT contain any makefiles or other files that are only used for recompiling the library. → OK. · The -devel package MUST NOT contain any *.o files. → OK. · The -devel package MUST contain one or more GNAT project files to be imported by other projects that use the library. → OK. · Project files MUST be architecture-independent. → OK. · Project files MUST NOT contain hard-coded directory names. → OK. · If the "directories" project is used, then the -devel package MUST have an explicit "Requires: fedora-gnat-project-common". → OK. · Project files MUST have an Externally_Built attribute equal to "true". → OK. · Ada source files in -devel packages MUST be placed in the %{_includedir} directory or a subdirectory thereof. → OK. · Ada library information files MUST be placed in a subdirectory of %{_libdir}. → OK. · GNAT projects files MUST be placed in the %{_GNAT_project_dir} directory or a subdirectory thereof. → OK. SHOULD items: · If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. → OK, there is a COPYING3. · The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available. → No translations are included but that's OK. · The reviewer should test that the package builds in mock. → OK. · The package should compile and build into binary rpms on all supported architectures. → OK. It builds on all two primary architectures. · The reviewer should test that the package functions as described. → ISSUES: Trying to compile the demos reveals several problems: · aws.gpr tries to import "aws/template_parser", which doesn't exist. · aws.gpr imports xmlada.gpr, so aws-devel must require xmlada-devel. · AWS speces reference Templates Parser speces, so aws.gpr must import templates_parser.gpr and aws-devel must require templates_parser-devel. · aws.gpr points to aws-net-ssl__openssl.adb instead of aws-net-ssl__gnutls.adb. · If scriptlets are used, those scriptlets must be sane. → OK. · Usually, subpackages other than devel should require the base package using a fully versioned dependency. → OK. The -tools subpackage has this. I don't think this applies to the -doc subpackage. · The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg. → N/A. There are no pkgconfig files. · If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. → OK. There are no file dependencies other than /sbin/ldconfig. · The package should contain man pages for binaries/scripts. If it doesn't, work with upstream to add them where they make sense. → ISSUE: There are no man pages for awsres and wsdl2aws. Debian has man pages however, so you should try to adapt those for Fedora. In a quick check I found one thing that needs to be adjusted: They refer to the manual in the -doc subpackage, but Debian's package has a different name. You could change it to "aws-doc", but it might be better to remove the package name so that the man pages can be upstreamed. Common sense stuff not mentioned in the guidelines: · ISSUE: The group of the -tools subpackage is wrong. The tools aren't libraries. I think "Applications/Text" is the best choice. · ISSUE: The -doc subpackage should be noarch (and thus not use _isa). -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ package-review mailing list package-review@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/package-review