Bug 1302909

Summary: Review Request: drupal8 - An open source content management platform
Product: [Fedora] Fedora Reporter: Shawn Iwinski <shawn>
Component: Package ReviewAssignee: Jared Smith <jsmith.fedora>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora, jsmith.fedora, package-review
Target Milestone: ---Flags: jsmith.fedora: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 01:41:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1264653    
Bug Blocks:    

Description Shawn Iwinski 2016-01-28 23:34:42 UTC
Spec URL: https://raw.githubusercontent.com/siwinski/rpms/8095aa4ae37b25540a8e9797002080bb07ef4d63/drupal8/drupal8.spec

SRPM URL: https://siwinski.fedorapeople.org/SRPMS/drupal8-8.0.2-1.fc23.src.rpm

Description:
Drupal is an open source content management platform powering millions of
websites and applications. It’s built, used, and supported by an active and
diverse community of people around the world.


Fedora Account System Username: siwinski

Comment 4 Jared Smith 2016-03-10 15:37:33 UTC
Package Review
==============

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


Issues:
=======
- 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.
  Note: Cannot find licenses.libraries.yml in rpm(s)
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text
- There are still a lot of rpmlint errors... I'm not sure what to do about the
  empty files -- maybe replace them with a carriage return? Ignore them?

===== 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.
[x]: License field in the package spec file matches the actual license.
[x]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: Package must own all directories that it creates.
[-]: 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
[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.
[x]: Package does not generate any 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.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 471040 bytes in 37 files.
[?]: 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]: Package requires other packages for directories it uses.
[x]: Package does not own files or directories owned by other packages.
[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]: %config files are marked noreplace or the reason is justified.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[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]: No %config files under /usr.
[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:
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: 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
     drupal8-rpmbuild
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: 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.
[x]: Packages should try to preserve timestamps of original installed
     files.
[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]: Spec use %global instead of %define unless justified.

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

Generic:
[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: drupal8-8.0.5-1.fc24.noarch.rpm
          drupal8-httpd-8.0.5-1.fc24.noarch.rpm
          drupal8-rpmbuild-8.0.5-1.fc24.noarch.rpm
          drupal8-8.0.5-1.fc24.src.rpm
drupal8.noarch: E: explicit-lib-dependency php-zlib
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.theme
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php-info.txt
drupal8.noarch: W: non-conffile-in-etc /etc/drupal8/sites/default/default.settings.php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.bak
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.orig
drupal8.noarch: E: htaccess-file /usr/share/drupal8/.htaccess
drupal8.noarch: W: dangling-symlink /usr/share/drupal8/.htaccess /etc/httpd/conf.d/drupal8.htaccess
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0.de.po
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.sql
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.xtmpl
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.bak
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.swo
drupal8.noarch: W: hidden-file-or-dir /usr/share/drupal8/core/.eslintrc
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.inc
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.install
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php~
drupal8.noarch: E: zero-length /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.json
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.swp
drupal8.noarch: W: non-conffile-in-etc /etc/drupal8/sites/example.settings.local.php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.save
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.yml
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.make
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.swp
drupal8.noarch: E: non-standard-dir-perm /var/lib/drupal8/files/public/default 775
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.save
drupal8.noarch: E: zero-length /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.lock
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.profile
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.tpl.php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.po
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.twig
drupal8.noarch: W: non-conffile-in-etc /etc/drupal8/sites/default/default.services.yml
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.engine
drupal8.noarch: W: non-conffile-in-etc /etc/drupal8/sites/example.sites.php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0-beta2.hu.po
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module~
drupal8.noarch: E: non-standard-dir-perm /var/lib/drupal8/files/private/default 775
drupal8.noarch: E: htaccess-file /usr/share/drupal8/core/vendor/.htaccess
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module
drupal8.noarch: E: zero-length /usr/share/drupal8/core/themes/stark/css/layout.css
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.sh
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.swo
drupal8-httpd.noarch: W: no-documentation
drupal8-rpmbuild.noarch: W: only-non-binary-in-usr-lib
drupal8-rpmbuild.noarch: W: no-documentation
drupal8-rpmbuild.noarch: E: script-without-shebang /usr/lib/rpm/drupal8-get-dev-source.sh
drupal8.src: W: spelling-error %description -l en_US Drupal -> Drupe
drupal8.src: W: strange-permission drupal8-find-provides.php 775
drupal8.src: W: strange-permission drupal8-prep-licenses-and-docs.sh 775
drupal8.src: W: strange-permission drupal8-get-dev-source.sh 755
drupal8.src: W: strange-permission drupal8-find-requires.php 775
drupal8.src: W: strange-permission drupal8-modify-core-composer-json.php 775
4 packages and 0 specfiles checked; 42 errors, 15 warnings.




Rpmlint (installed packages)
----------------------------
sh: /usr/bin/python: No such file or directory
drupal8-httpd.noarch: W: no-documentation
drupal8.noarch: E: explicit-lib-dependency php-zlib
drupal8.noarch: E: non-standard-dir-perm /var/lib/drupal8/files/private/default 775
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.swo
drupal8.noarch: E: zero-length /usr/share/drupal8/core/themes/stark/css/layout.css
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.profile
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0-beta2.hu.po
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.engine
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.sql
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.install
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php-info.txt
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.tpl.php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.po
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.xtmpl
drupal8.noarch: E: zero-length /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.json
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.bak
drupal8.noarch: W: non-conffile-in-etc /etc/drupal8/sites/example.sites.php
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0.de.po
drupal8.noarch: W: non-conffile-in-etc /etc/drupal8/sites/default/default.settings.php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.bak
drupal8.noarch: W: non-conffile-in-etc /etc/drupal8/sites/example.settings.local.php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.sh
drupal8.noarch: W: non-conffile-in-etc /etc/drupal8/sites/default/default.services.yml
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php~
drupal8.noarch: E: htaccess-file /usr/share/drupal8/core/vendor/.htaccess
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.theme
drupal8.noarch: E: non-standard-dir-perm /var/lib/drupal8/files/public/default 775
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.yml
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.inc
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.swp
drupal8.noarch: E: zero-length /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.lock
drupal8.noarch: E: htaccess-file /usr/share/drupal8/.htaccess
drupal8.noarch: W: dangling-symlink /usr/share/drupal8/.htaccess /etc/httpd/conf.d/drupal8.htaccess
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.twig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.save
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.make
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.swp
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.save
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.swo
drupal8.noarch: W: hidden-file-or-dir /usr/share/drupal8/core/.eslintrc
drupal8-rpmbuild.noarch: W: only-non-binary-in-usr-lib
drupal8-rpmbuild.noarch: W: no-documentation
drupal8-rpmbuild.noarch: E: script-without-shebang /usr/lib/rpm/drupal8-get-dev-source.sh
3 packages and 0 specfiles checked; 42 errors, 9 warnings.



Requires
--------
drupal8-httpd (rpmlib, GLIBC filtered):
    config(drupal8-httpd)
    drupal8
    php(httpd)

drupal8 (rpmlib, GLIBC filtered):
    drupal8-webserver
    php(language)
    php-SymfonyCmfRouting
    php-bz2
    php-composer(composer/semver)
    php-composer(doctrine/annotations)
    php-composer(doctrine/common)
    php-composer(easyrdf/easyrdf)
    php-composer(egulias/email-validator)
    php-composer(guzzlehttp/guzzle)
    php-composer(masterminds/html5)
    php-composer(phpunit/phpunit)
    php-composer(stack/builder)
    php-composer(symfony-cmf/routing)
    php-composer(symfony/class-loader)
    php-composer(symfony/console)
    php-composer(symfony/dependency-injection)
    php-composer(symfony/event-dispatcher)
    php-composer(symfony/http-foundation)
    php-composer(symfony/http-kernel)
    php-composer(symfony/process)
    php-composer(symfony/psr-http-message-bridge)
    php-composer(symfony/routing)
    php-composer(symfony/serializer)
    php-composer(symfony/translation)
    php-composer(symfony/validator)
    php-composer(symfony/yaml)
    php-composer(twig/twig)
    php-composer(zendframework/zend-diactoros)
    php-composer(zendframework/zend-feed)
    php-ctype
    php-curl
    php-date
    php-dom
    php-filter
    php-ftp
    php-gd
    php-hash
    php-iconv
    php-intl
    php-json
    php-libxml
    php-mbstring
    php-openssl
    php-pcre
    php-pdo
    php-recode
    php-reflection
    php-session
    php-simplexml
    php-spl
    php-tokenizer
    php-xml
    php-zip
    php-zlib

drupal8-rpmbuild (rpmlib, GLIBC filtered):
    /usr/bin/env
    php(language)
    php-cli
    php-composer(symfony/console)
    php-composer(symfony/yaml)



Provides
--------
drupal8-httpd:
    config(drupal8-httpd)
    drupal8-httpd
    drupal8-webserver

drupal8:
    bundled(ckeditor)
    bundled(css-normalize)
    bundled(js-backbone)
    bundled(js-classList)
    bundled(js-domready)
    bundled(js-farbtastic)
    bundled(js-html5shiv)
    bundled(js-jquery)
    bundled(js-jquery-cookie)
    bundled(js-jquery-form)
    bundled(js-jquery-joyride)
    bundled(js-jquery-once)
    bundled(js-jquery-ui)
    bundled(js-jquery-ui-touch-punch)
    bundled(js-matchMedia)
    bundled(js-modernizr)
    bundled(js-picturefill)
    bundled(js-underscore)
    drupal8
    drupal8(action)
    drupal8(aggregator)
    drupal8(automated_cron)
    drupal8(ban)
    drupal8(bartik)
    drupal8(basic_auth)
    drupal8(block)
    drupal8(block_content)
    drupal8(book)
    drupal8(breakpoint)
    drupal8(ckeditor)
    drupal8(color)
    drupal8(comment)
    drupal8(config)
    drupal8(config_translation)
    drupal8(contact)
    drupal8(content_translation)
    drupal8(contextual)
    drupal8(core)
    drupal8(datetime)
    drupal8(dblog)
    drupal8(dynamic_page_cache)
    drupal8(editor)
    drupal8(field)
    drupal8(field_ui)
    drupal8(file)
    drupal8(filter)
    drupal8(forum)
    drupal8(hal)
    drupal8(help)
    drupal8(history)
    drupal8(image)
    drupal8(inline_form_errors)
    drupal8(language)
    drupal8(link)
    drupal8(locale)
    drupal8(menu_link_content)
    drupal8(menu_ui)
    drupal8(migrate)
    drupal8(migrate_drupal)
    drupal8(minimal)
    drupal8(node)
    drupal8(nyan_cat)
    drupal8(options)
    drupal8(page_cache)
    drupal8(path)
    drupal8(quickedit)
    drupal8(rdf)
    drupal8(responsive_image)
    drupal8(rest)
    drupal8(search)
    drupal8(search_embedded_form)
    drupal8(search_extra_type)
    drupal8(search_query_alter)
    drupal8(serialization)
    drupal8(seven)
    drupal8(shortcut)
    drupal8(simpletest)
    drupal8(standard)
    drupal8(stark)
    drupal8(statistics)
    drupal8(syslog)
    drupal8(system)
    drupal8(taxonomy)
    drupal8(taxonomy_crud)
    drupal8(telephone)
    drupal8(text)
    drupal8(toolbar)
    drupal8(toolbar_disable_user_toolbar)
    drupal8(tour)
    drupal8(tracker)
    drupal8(twig)
    drupal8(update)
    drupal8(user)
    drupal8(views)
    drupal8(views_ui)
    php-composer(drupal/action)
    php-composer(drupal/aggregator)
    php-composer(drupal/automated_cron)
    php-composer(drupal/ban)
    php-composer(drupal/bartik)
    php-composer(drupal/basic_auth)
    php-composer(drupal/block)
    php-composer(drupal/block_content)
    php-composer(drupal/book)
    php-composer(drupal/breakpoint)
    php-composer(drupal/ckeditor)
    php-composer(drupal/classy)
    php-composer(drupal/color)
    php-composer(drupal/comment)
    php-composer(drupal/config)
    php-composer(drupal/config_translation)
    php-composer(drupal/contact)
    php-composer(drupal/content_translation)
    php-composer(drupal/contextual)
    php-composer(drupal/core)
    php-composer(drupal/core-annotation)
    php-composer(drupal/core-bridge)
    php-composer(drupal/core-datetime)
    php-composer(drupal/core-dependency-injection)
    php-composer(drupal/core-diff)
    php-composer(drupal/core-discovery)
    php-composer(drupal/core-event-dispatcher)
    php-composer(drupal/core-file-cache)
    php-composer(drupal/core-gettext)
    php-composer(drupal/core-graph)
    php-composer(drupal/core-php-storage)
    php-composer(drupal/core-plugin)
    php-composer(drupal/core-proxy-builder)
    php-composer(drupal/core-serialization)
    php-composer(drupal/core-transliteration)
    php-composer(drupal/core-utility)
    php-composer(drupal/core-uuid)
    php-composer(drupal/datetime)
    php-composer(drupal/dblog)
    php-composer(drupal/drupal)
    php-composer(drupal/dynamic_page_cache)
    php-composer(drupal/editor)
    php-composer(drupal/entity_reference)
    php-composer(drupal/field)
    php-composer(drupal/field_ui)
    php-composer(drupal/file)
    php-composer(drupal/filter)
    php-composer(drupal/forum)
    php-composer(drupal/hal)
    php-composer(drupal/help)
    php-composer(drupal/history)
    php-composer(drupal/image)
    php-composer(drupal/inline_form_errors)
    php-composer(drupal/language)
    php-composer(drupal/link)
    php-composer(drupal/locale)
    php-composer(drupal/menu_link_content)
    php-composer(drupal/menu_ui)
    php-composer(drupal/migrate)
    php-composer(drupal/migrate_drupal)
    php-composer(drupal/minimal)
    php-composer(drupal/node)
    php-composer(drupal/options)
    php-composer(drupal/page_cache)
    php-composer(drupal/path)
    php-composer(drupal/quickedit)
    php-composer(drupal/rdf)
    php-composer(drupal/responsive_image)
    php-composer(drupal/rest)
    php-composer(drupal/search)
    php-composer(drupal/serialization)
    php-composer(drupal/seven)
    php-composer(drupal/shortcut)
    php-composer(drupal/simpletest)
    php-composer(drupal/standard)
    php-composer(drupal/stark)
    php-composer(drupal/statistics)
    php-composer(drupal/syslog)
    php-composer(drupal/system)
    php-composer(drupal/taxonomy)
    php-composer(drupal/telephone)
    php-composer(drupal/text)
    php-composer(drupal/toolbar)
    php-composer(drupal/tour)
    php-composer(drupal/tracker)
    php-composer(drupal/update)
    php-composer(drupal/user)
    php-composer(drupal/views)
    php-composer(drupal/views_ui)

drupal8-rpmbuild:
    drupal8-rpmbuild



Source checksums
----------------
http://ftp.drupal.org/files/projects/drupal-8.0.5.tar.gz :
  CHECKSUM(SHA256) this package     : b1ea95ab1eb9039866ddb34a6f1c8863a3a0d60e50114170a9012f881dc5d231
  CHECKSUM(SHA256) upstream package : b1ea95ab1eb9039866ddb34a6f1c8863a3a0d60e50114170a9012f881dc5d231


Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20
Command line :/usr/bin/fedora-review -b 1302909
Buildroot used: fedora-rawhide-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 5 Shawn Iwinski 2016-04-18 16:09:14 UTC
WOW!  I totally missed the review :/  I will be updating to 8.1 and addressing the comments.

Comment 6 Shawn Iwinski 2016-05-25 01:22:24 UTC
FYI: I need to update Symfony to 2.8 before updating Drupal to 8.1.

Comment 10 Jared Smith 2016-08-04 21:26:38 UTC
Thanks for updating this to 8.1.8.  I'm looking at it again now.

Comment 11 Jared Smith 2016-08-04 23:00:44 UTC
I know this is a very complicated package, and I appreciate the hard work you're putting into getting this packaged.  I think we're getting fairly close on the package review -- but there are still a few outstanding items I would like to see addressed before I approve the package.  Feel free to ask if you have any questions.  I've highlighted the major items in the "Issues" section, and then marked individual items need attention with an exclamation mark in the checklist below.

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

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


Issues:
=======
- License field doesn't include the MPL license, but it seems that
  ckeditor is licensed under either the MPL or LGPL or GPL license.
  See core/assets/vendor/ckeditor/LICENSE.md.  This means that the
  license field should more accurately be:
  GPLv2+ and MIT and Public Domain and (GTLv2+ or MPLv1.1+ or LGPLv2.1+)

- Make sure that if someone installs just the drupal8-rpmbuild subpackage,
  that a license file still gets installed.

- You probably (but don't necessarily) want to set the sample config files
  as %config(noreplace) instead of just %config.  This way, if someone
  edits the sample configs and then upgrades Drupal, their changes won't
  get replaced by the updated config file from the upgrade.

- There are still a lot of errors coming from rpmlint.  In particular, there
  are still a lot of zero-length files.  If they're really needed, I'd be
  willing to give an exception on a case-by-case basis, but I don't think we
  really need that many zero-length files.  There also seem to be a lot of
  scripts that have "/usr/bin/env php" or similar in the shebang line, which
  will need to be patched/fixed with sed to "/usr/bin/php", etc.


===== 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: "MIT/X11 (BSD like)", "BSD (2 clause)", "MPL (v1.1)", "Unknown
     or generated". 10269 files have unknown license. Detailed output of
     licensecheck in
     /home/jsmith/Documents/Personal/Reviews/1302909-drupal8/licensecheck.txt
[!]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/lib/rpm/fileattrs,
     /usr/lib/rpm, /usr/lib/rpm/macros.d
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[!]: %config files are marked noreplace or the reason is justified.
     Note: No (noreplace) in %config /etc/drupal8/sites/example.* %config
     /etc/drupal8/sites/default/default.* %config
     /etc/httpd/conf.d/drupal8.htaccess %config /etc/httpd/conf.d/drupal8
     .no-access
[-]: Package contains desktop file if it is a GUI application.
[-]: 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.
[x]: Package does not generate any 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.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 563200 bytes in 91 files.
[?]: 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]: Package requires other packages for directories it uses.
[x]: Package does not own files or directories owned by other packages.
[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]: Package does not contain duplicates in %files.
[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]: No %config files under /usr.
[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
     drupal8-rpmbuild
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: 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.
[x]: Packages should try to preserve timestamps of original installed
     files.
[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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[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: drupal8-8.1.8-1.fc26.noarch.rpm
          drupal8-httpd-8.1.8-1.fc26.noarch.rpm
          drupal8-rpmbuild-8.1.8-1.fc26.noarch.rpm
          drupal8-8.1.8-1.fc26.src.rpm
drupal8.noarch: E: explicit-lib-dependency php-zlib
drupal8.noarch: W: conffile-without-noreplace-flag /etc/drupal8/sites/example.sites.php
drupal8.noarch: W: conffile-without-noreplace-flag /etc/drupal8/sites/default/default.settings.php
drupal8.noarch: W: conffile-without-noreplace-flag /etc/drupal8/sites/example.settings.local.php
drupal8.noarch: W: conffile-without-noreplace-flag /etc/drupal8/sites/default/default.services.yml
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.xtmpl
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.swp
drupal8.noarch: E: zero-length /usr/share/drupal8/core/themes/stark/css/layout.css
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/db-tools.php /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.lock
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.inc
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/password-hash.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.twig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.save
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.bak
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/dump-database-d6.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0-beta2.hu.po
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.swp
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.yml
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.bak
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.orig
drupal8.noarch: E: zero-length /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.json
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.sh
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.install
drupal8.noarch: W: dangling-symlink /etc/drupal8/sites/default/files /var/lib/drupal8/files/public/default
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.swo
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.sql
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module~
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/rebuild_token_calculator.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.tpl.php
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/drupal.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.swo
drupal8.noarch: E: zero-length /usr/share/licenses/drupal8/core/lib/Drupal/Component/Transliteration/LICENSE.txt
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.save
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.profile
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php-info.txt
drupal8.noarch: E: zero-length /usr/share/licenses/drupal8/core/lib/Drupal/Component/Serialization/LICENSE.txt
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/dump-database-d7.sh /usr/bin/env php
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.orig
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/dump-database-d8-mysql.php /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.po
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/generate-d6-content.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0.de.po
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.theme
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.engine
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/generate-d7-content.sh /usr/bin/env php
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/generate-proxy-class.php /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.make
drupal8-httpd.noarch: W: conffile-without-noreplace-flag /etc/httpd/conf.d/drupal8.htaccess
drupal8-httpd.noarch: W: conffile-without-noreplace-flag /etc/httpd/conf.d/drupal8.no-access
drupal8-httpd.noarch: W: no-documentation
drupal8-httpd.noarch: E: non-standard-dir-perm /var/lib/drupal8/files/public/default 775
drupal8-httpd.noarch: E: non-standard-dir-perm /var/lib/drupal8/files/private/default 775
drupal8-rpmbuild.noarch: W: only-non-binary-in-usr-lib
drupal8-rpmbuild.noarch: W: no-documentation
drupal8-rpmbuild.noarch: E: wrong-script-interpreter /usr/lib/rpm/drupal8-find-requires.php /usr/bin/env php
drupal8-rpmbuild.noarch: E: wrong-script-interpreter /usr/lib/rpm/drupal8-prep-licenses-and-docs.sh /usr/bin/env bash
drupal8-rpmbuild.noarch: E: wrong-script-interpreter /usr/lib/rpm/drupal8-find-provides.php /usr/bin/env php
drupal8-rpmbuild.noarch: E: wrong-script-interpreter /usr/lib/rpm/drupal8-get-dev-source.sh /usr/bin/env bash
drupal8.src: W: spelling-error %description -l en_US Drupal -> Drupe
drupal8.src: W: strange-permission drupal8-get-dev-source.sh 755
drupal8.src: W: strange-permission drupal8-find-requires.php 775
drupal8.src: W: strange-permission drupal8-find-provides.php 775
drupal8.src: W: strange-permission drupal8-prep-licenses-and-docs.sh 775
4 packages and 0 specfiles checked; 55 errors, 15 warnings.




Rpmlint (installed packages)
----------------------------
drupal8-httpd.noarch: W: conffile-without-noreplace-flag /etc/httpd/conf.d/drupal8.no-access
drupal8-httpd.noarch: W: conffile-without-noreplace-flag /etc/httpd/conf.d/drupal8.htaccess
drupal8-httpd.noarch: W: no-documentation
drupal8-httpd.noarch: E: non-standard-dir-perm /var/lib/drupal8/files/public/default 775
drupal8-httpd.noarch: E: non-standard-dir-perm /var/lib/drupal8/files/private/default 775
drupal8.noarch: E: explicit-lib-dependency php-zlib
drupal8.noarch: W: conffile-without-noreplace-flag /etc/drupal8/sites/example.sites.php
drupal8.noarch: W: conffile-without-noreplace-flag /etc/drupal8/sites/default/default.settings.php
drupal8.noarch: W: conffile-without-noreplace-flag /etc/drupal8/sites/example.settings.local.php
drupal8.noarch: W: conffile-without-noreplace-flag /etc/drupal8/sites/default/default.services.yml
drupal8.noarch: W: dangling-symlink /etc/drupal8/sites/default/files /var/lib/drupal8/files/public/default
drupal8.noarch: E: zero-length /usr/share/drupal8/core/themes/stark/css/layout.css
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.orig
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/rebuild_token_calculator.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.sql
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.engine
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.swp
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.twig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.swo
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.xtmpl
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/drupal.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.save
drupal8.noarch: E: zero-length /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.lock
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.make
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0-beta2.hu.po
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/generate-d7-content.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.save
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module.bak
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php-info.txt
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.theme
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/db-tools.php /usr/bin/env php
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/password-hash.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.json
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.bak
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.inc
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.module
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/generate-d6-content.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/licenses/drupal8/core/lib/Drupal/Component/Serialization/LICENSE.txt
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.swo
drupal8.noarch: E: zero-length /usr/share/licenses/drupal8/core/lib/Drupal/Component/Transliteration/LICENSE.txt
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0.de.po
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/dump-database-d7.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.sh
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.orig
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.orig
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/generate-proxy-class.php /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.profile
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.po
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.install
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.tpl.php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.yml
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/dump-database-d6.sh /usr/bin/env php
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php.swp
drupal8.noarch: E: wrong-script-interpreter /usr/share/drupal8/core/scripts/dump-database-d8-mysql.php /usr/bin/env php
drupal8.noarch: E: backup-file-in-package /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php~
drupal8.noarch: E: zero-length /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/access_test.php~
drupal8-rpmbuild.noarch: W: only-non-binary-in-usr-lib
drupal8-rpmbuild.noarch: W: no-documentation
drupal8-rpmbuild.noarch: E: wrong-script-interpreter /usr/lib/rpm/drupal8-get-dev-source.sh /usr/bin/env bash
drupal8-rpmbuild.noarch: E: wrong-script-interpreter /usr/lib/rpm/drupal8-prep-licenses-and-docs.sh /usr/bin/env bash
drupal8-rpmbuild.noarch: E: wrong-script-interpreter /usr/lib/rpm/drupal8-find-provides.php /usr/bin/env php
drupal8-rpmbuild.noarch: E: wrong-script-interpreter /usr/lib/rpm/drupal8-find-requires.php /usr/bin/env php
3 packages and 0 specfiles checked; 55 errors, 10 warnings.



Requires
--------
drupal8-httpd (rpmlib, GLIBC filtered):
    config(drupal8-httpd)
    drupal8
    httpd
    httpd-filesystem
    php(httpd)

drupal8 (rpmlib, GLIBC filtered):
    drupal8-webserver
    php(language)
    php-SymfonyCmfRouting
    php-bz2
    php-composer(composer/semver)
    php-composer(doctrine/annotations)
    php-composer(doctrine/common)
    php-composer(easyrdf/easyrdf)
    php-composer(egulias/email-validator)
    php-composer(guzzlehttp/guzzle)
    php-composer(masterminds/html5)
    php-composer(paragonie/random_compat)
    php-composer(phpunit/phpunit)
    php-composer(stack/builder)
    php-composer(symfony-cmf/routing)
    php-composer(symfony/class-loader)
    php-composer(symfony/console)
    php-composer(symfony/dependency-injection)
    php-composer(symfony/event-dispatcher)
    php-composer(symfony/http-foundation)
    php-composer(symfony/http-kernel)
    php-composer(symfony/process)
    php-composer(symfony/psr-http-message-bridge)
    php-composer(symfony/routing)
    php-composer(symfony/serializer)
    php-composer(symfony/translation)
    php-composer(symfony/validator)
    php-composer(symfony/yaml)
    php-composer(twig/twig)
    php-composer(zendframework/zend-diactoros)
    php-composer(zendframework/zend-feed)
    php-ctype
    php-curl
    php-date
    php-dom
    php-filter
    php-ftp
    php-gd
    php-hash
    php-iconv
    php-intl
    php-json
    php-libxml
    php-mbstring
    php-pcre
    php-pdo
    php-posix
    php-recode
    php-reflection
    php-session
    php-simplexml
    php-spl
    php-tokenizer
    php-xml
    php-zip
    php-zlib

drupal8-rpmbuild (rpmlib, GLIBC filtered):
    /usr/bin/env
    php(language)
    php-cli
    php-composer(symfony/console)
    php-composer(symfony/yaml)



Provides
--------
drupal8-httpd:
    config(drupal8-httpd)
    drupal8-httpd
    drupal8-webserver

drupal8:
    bundled(ckeditor)
    bundled(css-normalize)
    bundled(js-backbone)
    bundled(js-classList)
    bundled(js-domready)
    bundled(js-farbtastic)
    bundled(js-html5shiv)
    bundled(js-jquery)
    bundled(js-jquery-cookie)
    bundled(js-jquery-form)
    bundled(js-jquery-joyride)
    bundled(js-jquery-once)
    bundled(js-jquery-ui)
    bundled(js-jquery-ui-touch-punch)
    bundled(js-matchMedia)
    bundled(js-modernizr)
    bundled(js-picturefill)
    bundled(js-underscore)
    drupal8
    drupal8(action)
    drupal8(aggregator)
    drupal8(automated_cron)
    drupal8(ban)
    drupal8(bartik)
    drupal8(basic_auth)
    drupal8(big_pipe)
    drupal8(block)
    drupal8(block_content)
    drupal8(book)
    drupal8(breakpoint)
    drupal8(ckeditor)
    drupal8(color)
    drupal8(comment)
    drupal8(config)
    drupal8(config_translation)
    drupal8(contact)
    drupal8(content_translation)
    drupal8(contextual)
    drupal8(core)
    drupal8(datetime)
    drupal8(dblog)
    drupal8(dynamic_page_cache)
    drupal8(editor)
    drupal8(field)
    drupal8(field_ui)
    drupal8(file)
    drupal8(filter)
    drupal8(forum)
    drupal8(hal)
    drupal8(help)
    drupal8(history)
    drupal8(image)
    drupal8(inline_form_errors)
    drupal8(language)
    drupal8(link)
    drupal8(locale)
    drupal8(menu_link_content)
    drupal8(menu_ui)
    drupal8(migrate)
    drupal8(migrate_drupal)
    drupal8(migrate_drupal_ui)
    drupal8(minimal)
    drupal8(node)
    drupal8(nyan_cat)
    drupal8(options)
    drupal8(page_cache)
    drupal8(path)
    drupal8(quickedit)
    drupal8(rdf)
    drupal8(responsive_image)
    drupal8(rest)
    drupal8(search)
    drupal8(search_date_query_alter)
    drupal8(search_embedded_form)
    drupal8(search_extra_type)
    drupal8(search_query_alter)
    drupal8(serialization)
    drupal8(seven)
    drupal8(shortcut)
    drupal8(simpletest)
    drupal8(standard)
    drupal8(stark)
    drupal8(statistics)
    drupal8(syslog)
    drupal8(system)
    drupal8(taxonomy)
    drupal8(taxonomy_crud)
    drupal8(telephone)
    drupal8(text)
    drupal8(toolbar)
    drupal8(tour)
    drupal8(tracker)
    drupal8(twig)
    drupal8(update)
    drupal8(user)
    drupal8(views)
    drupal8(views_ui)
    php-composer(drupal/action)
    php-composer(drupal/aggregator)
    php-composer(drupal/automated_cron)
    php-composer(drupal/ban)
    php-composer(drupal/bartik)
    php-composer(drupal/basic_auth)
    php-composer(drupal/big_pipe)
    php-composer(drupal/block)
    php-composer(drupal/block_content)
    php-composer(drupal/book)
    php-composer(drupal/breakpoint)
    php-composer(drupal/ckeditor)
    php-composer(drupal/classy)
    php-composer(drupal/color)
    php-composer(drupal/comment)
    php-composer(drupal/config)
    php-composer(drupal/config_translation)
    php-composer(drupal/contact)
    php-composer(drupal/content_translation)
    php-composer(drupal/contextual)
    php-composer(drupal/core)
    php-composer(drupal/core-annotation)
    php-composer(drupal/core-assertion)
    php-composer(drupal/core-bridge)
    php-composer(drupal/core-datetime)
    php-composer(drupal/core-dependency-injection)
    php-composer(drupal/core-diff)
    php-composer(drupal/core-discovery)
    php-composer(drupal/core-event-dispatcher)
    php-composer(drupal/core-file-cache)
    php-composer(drupal/core-filesystem)
    php-composer(drupal/core-gettext)
    php-composer(drupal/core-graph)
    php-composer(drupal/core-http-foundation)
    php-composer(drupal/core-php-storage)
    php-composer(drupal/core-plugin)
    php-composer(drupal/core-proxy-builder)
    php-composer(drupal/core-render)
    php-composer(drupal/core-serialization)
    php-composer(drupal/core-transliteration)
    php-composer(drupal/core-utility)
    php-composer(drupal/core-uuid)
    php-composer(drupal/datetime)
    php-composer(drupal/dblog)
    php-composer(drupal/drupal)
    php-composer(drupal/dynamic_page_cache)
    php-composer(drupal/editor)
    php-composer(drupal/entity_reference)
    php-composer(drupal/field)
    php-composer(drupal/field_ui)
    php-composer(drupal/file)
    php-composer(drupal/filter)
    php-composer(drupal/forum)
    php-composer(drupal/hal)
    php-composer(drupal/help)
    php-composer(drupal/history)
    php-composer(drupal/image)
    php-composer(drupal/inline_form_errors)
    php-composer(drupal/language)
    php-composer(drupal/link)
    php-composer(drupal/locale)
    php-composer(drupal/menu_link_content)
    php-composer(drupal/menu_ui)
    php-composer(drupal/migrate)
    php-composer(drupal/migrate_drupal)
    php-composer(drupal/migrate_drupal_ui)
    php-composer(drupal/minimal)
    php-composer(drupal/node)
    php-composer(drupal/options)
    php-composer(drupal/page_cache)
    php-composer(drupal/path)
    php-composer(drupal/quickedit)
    php-composer(drupal/rdf)
    php-composer(drupal/responsive_image)
    php-composer(drupal/rest)
    php-composer(drupal/search)
    php-composer(drupal/serialization)
    php-composer(drupal/seven)
    php-composer(drupal/shortcut)
    php-composer(drupal/simpletest)
    php-composer(drupal/standard)
    php-composer(drupal/stark)
    php-composer(drupal/statistics)
    php-composer(drupal/syslog)
    php-composer(drupal/system)
    php-composer(drupal/taxonomy)
    php-composer(drupal/telephone)
    php-composer(drupal/text)
    php-composer(drupal/toolbar)
    php-composer(drupal/tour)
    php-composer(drupal/tracker)
    php-composer(drupal/update)
    php-composer(drupal/user)
    php-composer(drupal/views)
    php-composer(drupal/views_ui)

drupal8-rpmbuild:
    drupal8-rpmbuild



Source checksums
----------------
http://ftp.drupal.org/files/projects/drupal-8.1.8.tar.gz :
  CHECKSUM(SHA256) this package     : 967617d73664819db303fa93a760bd2eefa6593772c2f3143c678ccfb3790359
  CHECKSUM(SHA256) upstream package : 967617d73664819db303fa93a760bd2eefa6593772c2f3143c678ccfb3790359


Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -b 1302909
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 12 Remi Collet 2016-08-05 13:59:58 UTC
@Jared

About the "/usr/bin/env php" shebang, AFAIK there is no Guidelines approved.

The only reference I was able to find in packaging Guidelines is in
   https://fedoraproject.org/wiki/Packaging:GuidelinesTodo 

It was about a never approved draft (1999), with comment
  "This was rejected as a MUST, a SHOULD might be acceptable however. "

IMHO, this means /usr/bin/env is acceptable if explained by the packager (and not just missed)

As both requires are there, I thinkg it is ok.
    /usr/bin/env   (auto-detected by rpmbuild)
    php-cli        (added by packager)

FYI, this is very common/useful in PHP world, and in EPEL, to be usable with SCL.

Comment 13 Shawn Iwinski 2016-08-05 17:33:57 UTC
Spec URL: https://raw.githubusercontent.com/siwinski/rpms/0f6e8cf814b7dc5205694f88071b91d71735a616/drupal8/drupal8.spec

SRPM URL: https://siwinski.fedorapeople.org/SRPMS/drupal8-8.1.8-2.fc24.src.rpm



Changes: https://github.com/siwinski/rpms/commit/0f6e8cf814b7dc5205694f88071b91d71735a616

Copr build: https://copr.fedorainfracloud.org/coprs/siwinski/drupal8/build/438545/



(In reply to Jared Smith from comment #11)
> I know this is a very complicated package, and I appreciate the hard work
> you're putting into getting this packaged.  I think we're getting fairly
> close on the package review -- but there are still a few outstanding items I
> would like to see addressed before I approve the package.  Feel free to ask
> if you have any questions.  I've highlighted the major items in the "Issues"
> section, and then marked individual items need attention with an exclamation
> mark in the checklist below.

Inline responses below...

> Issues:
> =======
> - License field doesn't include the MPL license, but it seems that
>   ckeditor is licensed under either the MPL or LGPL or GPL license.
>   See core/assets/vendor/ckeditor/LICENSE.md.  This means that the
>   license field should more accurately be:
>   GPLv2+ and MIT and Public Domain and (GTLv2+ or MPLv1.1+ or LGPLv2.1+)

Fixed in latest spec release.

Should I add the license breakdown to %description as well?  Personally, I think that would be useful to end-users but I don't remember seeing any other pkg do that.

> - Make sure that if someone installs just the drupal8-rpmbuild subpackage,
>   that a license file still gets installed.

Added license in latest spec release.

> - You probably (but don't necessarily) want to set the sample config files
>   as %config(noreplace) instead of just %config.  This way, if someone
>   edits the sample configs and then upgrades Drupal, their changes won't
>   get replaced by the updated config file from the upgrade.

See inline notes below.  Overall, IMO they are to remain upstream managed and replaced on RPM update.  I will make note of these in a RPM README that I still need to create.

> - There are still a lot of errors coming from rpmlint.  In particular, there
>   are still a lot of zero-length files.  If they're really needed, I'd be
>   willing to give an exception on a case-by-case basis, but I don't think we
>   really need that many zero-length files.  There also seem to be a lot of
>   scripts that have "/usr/bin/env php" or similar in the shebang line, which
>   will need to be patched/fixed with sed to "/usr/bin/php", etc.

See inline notes below.



> Rpmlint
> -------
> Checking: drupal8-8.1.8-1.fc26.noarch.rpm
>           drupal8-httpd-8.1.8-1.fc26.noarch.rpm
>           drupal8-rpmbuild-8.1.8-1.fc26.noarch.rpm
>           drupal8-8.1.8-1.fc26.src.rpm

> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.xtmpl
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.module.swp
> drupal8.noarch: E: zero-length
> /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> composer.lock
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.inc
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.twig
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.module.save
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.module.bak
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.php.swp
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.yml
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.php.bak
> drupal8.noarch: E: backup-file-in-package
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.php.orig
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.php.orig
> drupal8.noarch: E: zero-length
> /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> composer.json
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.sh
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.install
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.module
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.php.swo
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.sql
> drupal8.noarch: E: backup-file-in-package
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.module~
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.module~
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.tpl.php
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.module.swo
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.php.save
> drupal8.noarch: E: backup-file-in-package
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.php~
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.php~
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.profile
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.php-info.txt
> drupal8.noarch: E: backup-file-in-package
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.module.orig
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.module.orig
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.po
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.theme
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.engine
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/system/tests/fixtures/HtaccessTest/
> access_test.make

All of these are required for the .htaccess test.  The files are required for their file extensions and zero-length on purpose so they do not take up any space (in the repo or on disk when installed).

I did find the following 2 files which were marked as %doc but needed to be in /usr/share/drupal8 though (taken care of in latest spec release):
- /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.json
- /usr/share/doc/drupal8/core/modules/system/tests/fixtures/HtaccessTest/composer.lock

> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/themes/stark/css/layout.css

Global styling referenced in "core/themes/stark/stark.libraries.yml".  Would 404 for users using this theme if it was removed.

> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0-
> beta2.hu.po
> drupal8.noarch: E: zero-length
> /usr/share/drupal8/core/modules/simpletest/files/translations/drupal-8.0.0.
> de.po

I believe these are used by the simpletest module for tests

> drupal8.noarch: E: zero-length
> /usr/share/licenses/drupal8/core/lib/Drupal/Component/Transliteration/
> LICENSE.txt
> drupal8.noarch: E: zero-length
> /usr/share/licenses/drupal8/core/lib/Drupal/Component/Serialization/LICENSE.
> txt

Removed in new spec release.

> drupal8.noarch: W: conffile-without-noreplace-flag
> /etc/drupal8/sites/example.sites.php
> drupal8.noarch: W: conffile-without-noreplace-flag
> /etc/drupal8/sites/default/default.settings.php
> drupal8.noarch: W: conffile-without-noreplace-flag
> /etc/drupal8/sites/example.settings.local.php
> drupal8.noarch: W: conffile-without-noreplace-flag
> /etc/drupal8/sites/default/default.services.yml

IMO, these are managed upstream and should not be modified by end-users as they are just samples/defaults upstream.  Therefore I left them as just %config on purpose so an RPM update would replace them with the upstream-managed version.  End-users would copy these to their real filenames and make edits to those files. I will make note of this in a RPM README that I still need to create.

> drupal8-httpd.noarch: W: conffile-without-noreplace-flag
> /etc/httpd/conf.d/drupal8.htaccess
> drupal8-httpd.noarch: W: conffile-without-noreplace-flag
> /etc/httpd/conf.d/drupal8.no-access

IMO these are managed upstream as well.  If end-users want to make edits they should create their own files and modify their "drupal.conf" %config(noreplace) file to include their custom file instead of these.  I will make note of this in a custom file header (taken care of in latest spec release) and in a RPM README that I still need to create.

> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/db-tools.php /usr/bin/env php
> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/password-hash.sh /usr/bin/env php
> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/dump-database-d6.sh /usr/bin/env php
> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/rebuild_token_calculator.sh /usr/bin/env php
> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/drupal.sh /usr/bin/env php
> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/dump-database-d7.sh /usr/bin/env php
> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/dump-database-d8-mysql.php /usr/bin/env php
> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/generate-d6-content.sh /usr/bin/env php
> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/generate-d7-content.sh /usr/bin/env php
> drupal8.noarch: E: wrong-script-interpreter
> /usr/share/drupal8/core/scripts/generate-proxy-class.php /usr/bin/env php
> drupal8-rpmbuild.noarch: E: wrong-script-interpreter
> /usr/lib/rpm/drupal8-find-requires.php /usr/bin/env php
> drupal8-rpmbuild.noarch: E: wrong-script-interpreter
> /usr/lib/rpm/drupal8-prep-licenses-and-docs.sh /usr/bin/env bash
> drupal8-rpmbuild.noarch: E: wrong-script-interpreter
> /usr/lib/rpm/drupal8-find-provides.php /usr/bin/env php
> drupal8-rpmbuild.noarch: E: wrong-script-interpreter
> /usr/lib/rpm/drupal8-get-dev-source.sh /usr/bin/env bash

See comment from Remi.  We have been using this in several PHP libraries already to allow for SCL.

> drupal8-httpd.noarch: E: non-standard-dir-perm
> /var/lib/drupal8/files/public/default 775
> drupal8-httpd.noarch: E: non-standard-dir-perm
> /var/lib/drupal8/files/private/default 775
> drupal8.src: W: strange-permission drupal8-get-dev-source.sh 755
> drupal8.src: W: strange-permission drupal8-find-requires.php 775
> drupal8.src: W: strange-permission drupal8-find-provides.php 775
> drupal8.src: W: strange-permission drupal8-prep-licenses-and-docs.sh 775

These annoy me :/  How are these permissions non-standard?  I will eventually ask on the packaging mailing list.

> drupal8.noarch: E: explicit-lib-dependency php-zlib

Common rpmlint "error" for php extension pkg

> drupal8.noarch: W: dangling-symlink /etc/drupal8/sites/default/files
> /var/lib/drupal8/files/public/default

This one should make sense :)

> drupal8-httpd.noarch: W: no-documentation

Documentation is provided by the main drupal8 pkg which is a requirement of
this drupal8-httpd subpackage.

> drupal8-rpmbuild.noarch: W: only-non-binary-in-usr-lib
> drupal8-rpmbuild.noarch: W: no-documentation

I will create a README at the same time I create an RPM README.

> drupal8.src: W: spelling-error %description -l en_US Drupal -> Drupe

:/

Comment 14 Jared Smith 2016-08-06 16:00:00 UTC
(In reply to Remi Collet from comment #12)
> About the "/usr/bin/env php" shebang, AFAIK there is no Guidelines approved.

That's good to know -- I had one of my package reviews beaten up the other day because of it, so I guess I blindly assumed that it had been accepted into the guidelines.  (I did notice that rpmlint is now complaining about it as an error, where it didn't used to do so, and I wish there was more consistency here.)

I'm certainly willing to ignore the error from rpmlint, and I can obviously see how it would be useful for relocatable packages and/or SCL stacks.

Comment 15 Jared Smith 2016-08-06 16:13:48 UTC
(In reply to Shawn Iwinski from comment #13)
> Spec URL:
> https://raw.githubusercontent.com/siwinski/rpms/
> 0f6e8cf814b7dc5205694f88071b91d71735a616/drupal8/drupal8.spec
> 
> SRPM URL:
> https://siwinski.fedorapeople.org/SRPMS/drupal8-8.1.8-2.fc24.src.rpm

Thanks for turning this around so quickly :-)


> Should I add the license breakdown to %description as well?  Personally, I
> think that would be useful to end-users but I don't remember seeing any
> other pkg do that.

No, I think it's obvious enough where it is in the specfile.
 
> See inline notes below.  Overall, IMO they are to remain upstream managed
> and replaced on RPM update.  I will make note of these in a RPM README that
> I still need to create.

> See comment from Remi.  We have been using this in several PHP libraries
> already to allow for SCL.

Fair enough. I'm willing to ignore the error from rpmlint.

> These annoy me :/  How are these permissions non-standard?  I will
> eventually ask on the packaging mailing list.

Good point -- now that I look at it closer, they look OK to me, as long as you really do want the group to be able to have write permissions on the files.  Go ahead and ask on the packaging list, but I'll waive these for now in the interest of moving the package review further along.
 
> > drupal8.noarch: E: explicit-lib-dependency php-zlib
> 
> Common rpmlint "error" for php extension pkg

Yes, I'm not worried about this one.

> > drupal8.noarch: W: dangling-symlink /etc/drupal8/sites/default/files
> > /var/lib/drupal8/files/public/default
> 
> This one should make sense :)

Yeah, same here.  Known false positive from rpmlint.

> > drupal8-httpd.noarch: W: no-documentation
> 
> Documentation is provided by the main drupal8 pkg which is a requirement of
> this drupal8-httpd subpackage.
> 
> > drupal8-rpmbuild.noarch: W: only-non-binary-in-usr-lib
> > drupal8-rpmbuild.noarch: W: no-documentation
> 
> I will create a README at the same time I create an RPM README.

Sounds great.  Assuming you add the README before you commit, and given the fact that everything else looks to be in order, I'm going to go ahead and approve the package.  Thanks again for packaging this.

Comment 16 Shawn Iwinski 2016-08-07 21:38:06 UTC
(In reply to Jared Smith from comment #15)
> > I will create a README at the same time I create an RPM README.
> 
> Sounds great.  Assuming you add the README before you commit, and given the
> fact that everything else looks to be in order, I'm going to go ahead and
> approve the package.  Thanks again for packaging this.

Thanks for the review!  I'm going to go ahead and request the pkg in pkgdb and commit the current state into SCM, but I will not build in koji or release in Bodhi until I add the RPM README.

Comment 17 Gwyn Ciesla 2016-08-08 14:48:29 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/drupal8

Comment 18 Shawn Iwinski 2016-11-04 01:41:02 UTC
Updated to 8.2.2, added RPM README, and submitted deploy via bodhi -- see bug 1383483