Bug 1020456 - (vagrant) Review Request: vagrant - an automation tool used to manage development environments
Review Request: vagrant - an automation tool used to manage development envir...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Michael Adam
Fedora Extras Quality Assurance
:
: 905396 (view as bug list)
Depends On:
Blocks: vagrant_changes_tracker rubygem-vagrant-kvm 1168333
  Show dependency treegraph
 
Reported: 2013-10-17 13:13 EDT by Alex Drahon
Modified: 2017-03-23 14:05 EDT (History)
29 users (show)

See Also:
Fixed In Version: vagrant-1.6.5-18.fc21
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-01-21 08:45:32 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
madam: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)
patch for the spec file (1.10 KB, patch)
2015-01-19 11:41 EST, Michael Adam
no flags Details | Diff

  None (edit)
Description Alex Drahon 2013-10-17 13:13:31 EDT
Spec URL: http://srpms.adrahon.org/vagrant.spec
SRPM URL: http://srpms.adrahon.org/vagrant-1.3.3-1.fc20.src.rpm
Description:
Vagrant is an automation tool used to manage development environments using virtualization and configuration management tools. It allows developers and teams to work on their projects and test them in an environment similar to production. Historically, Vagrant had a dependency on VirtualBox, but the newer versions have a plugin system allowing it to work with other virtualization technologies, including KVM.
https://fedoraproject.org/wiki/Changes/Vagrant
Fedora Account System Username: adrahon
Comment 1 Alex Drahon 2013-10-18 11:41:01 EDT
Updated:
Spec URL: http://srpms.adrahon.org/vagrant.spec
SRPM URL: http://srpms.adrahon.org/vagrant-1.3.3-1.1.fc20.src.rpm
Comment 2 Arun S A G 2013-10-18 14:36:46 EDT
I will do the review.
Comment 3 Arun S A G 2013-10-19 16:37:58 EDT
Package Review
==============

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


Issues:
=======

MUST
--------

- Package installs properly.
  Note: Installation errors (see attachment)
  See: https://fedoraproject.org/wiki/Packaging:Guidelines 
  Obviously the dependency needs to packaged and pushed first

- Rpmlint: Explicit lib dependency errors.  
Checking: vagrant-1.3.3-1.1.fc19.noarch.rpm
          vagrant-1.3.3-1.1.fc19.src.rpm
vagrant.noarch: E: explicit-lib-dependency libffi
vagrant.noarch: E: explicit-lib-dependency libxml2
vagrant.noarch: E: explicit-lib-dependency libxslt
vagrant.noarch: E: explicit-lib-dependency libyaml
vagrant.noarch: E: explicit-lib-dependency zlib


SHOULD 
---------
- Please provide short description about your patches in the spec file
(Patch0,1,2,3)

- %check section can be added to the spec file  (optional)
https://fedoraproject.org/wiki/Packaging:Ruby?rd=Packaging/Ruby#Running_test_suites 



===== 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]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/gems/gems/vagrant-1.3.3/templates,
     /usr/share/gems/gems/vagrant-1.3.3/keys,
     /usr/share/gems/gems/vagrant-1.3.3/contrib,
     /usr/share/gems/gems/vagrant-1.3.3/plugins,
     /usr/share/gems/gems/vagrant-1.3.3/config
[X]: Package must own all directories that it creates.
     Note: Directories without known owners:
     /usr/share/gems/gems/vagrant-1.3.3/plugins,
     /usr/share/gems/gems/vagrant-1.3.3/config,
     /usr/share/gems/gems/vagrant-1.3.3/keys,
     /usr/share/gems/gems/vagrant-1.3.3/contrib,
     /usr/share/gems/gems/vagrant-1.3.3/templates
[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 uses nothing in %doc for runtime.
[X]: Package consistently uses macros (instead of hard-coded directory names).
     Note: Please use install -d -m 755 %{buildroot}%{_syscondir}/%{gem_name}
     instead of install -d -m 755 %{buildroot}/etc/vagrant
     Same can be done for  '%dir %{_sysconfdir}/vagrant' where the name
     vagrant can be relaced with %{gem_name} 
[X]: Package is named according to the Package Naming Guidelines.
     Note: gems should be named as rubygem-%{gem_name}. But vagrant is an application distributed as gem, so it is ok to name it 'vagrant'
[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]: Requires correct, justified where necessary.
[X]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[-]: Package is not known to require an ExcludeArch tag.
[X]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[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]: 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]: 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]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[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.
[+]: Final provides and requires are sane (see attachments).
[+]: Package functions as described.
[+]: Latest version is packaged.
[+]: Package does not include license text files separate from upstream.
[!]: 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.
[+]: Package should compile and build into binary rpms on all supported
     architectures.
    scratch build: koji.fedoraproject.org/koji/taskinfo?taskID=6079686
    package is a noarch
[!]: %check is present and all tests pass.
     Note: vagrant comes with acceptance and unit tests, we should be atleast running one of them in %check section of spec file https://fedoraproject.org/wiki/Packaging:Ruby?rd=Packaging/Ruby#Running_test_suites

[X]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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 (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[!]: Rpmlint is run on all installed packages.
     Note: Mock build failed
     See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.


Installation errors
-------------------
sudo yum localinstall --nogpgcheck /var/lib/mock/fedora-20-x86_64/result/vagrant-1.3.3-1.1.fc20.noarch.rpm --installroot=/var/lib/mock/fedora-20-x86_64/root/
 
Error: Package: vagrant-1.3.3-1.1.fc20.noarch (/vagrant-1.3.3-1.1.fc20.noarch)
           Requires: rubygem(log4r) < 1.2
Error: Package: vagrant-1.3.3-1.1.fc20.noarch (/vagrant-1.3.3-1.1.fc20.noarch)
           Requires: rubygem(log4r) >= 1.1.9
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest



Rpmlint
-------
Checking: vagrant-1.3.3-1.1.fc19.noarch.rpm
          vagrant-1.3.3-1.1.fc19.src.rpm
vagrant.noarch: E: explicit-lib-dependency libffi
vagrant.noarch: E: explicit-lib-dependency libxml2
vagrant.noarch: E: explicit-lib-dependency libxslt
vagrant.noarch: E: explicit-lib-dependency libyaml
vagrant.noarch: E: explicit-lib-dependency zlib
vagrant.noarch: W: spelling-error Summary(en_US) virtualized -> ritualized, visualized, actualized
vagrant.noarch: W: spelling-error %description -l en_US virtualized -> ritualized, visualized, actualized
vagrant.noarch: W: no-manual-page-for-binary vagrant
vagrant.src: W: spelling-error Summary(en_US) virtualized -> ritualized, visualized, actualized
vagrant.src: W: spelling-error %description -l en_US virtualized -> ritualized, visualized, actualized
vagrant.src:68: W: macro-in-comment %gem_dir
2 packages and 0 specfiles checked; 5 errors, 6 warnings.




Requires
--------
vagrant (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/env
    /usr/bin/ruby
    bsdtar
    curl
    libffi
    libxml2
    libxslt
    libyaml
    openssl
    ruby(release)
    ruby(rubygems)
    rubygem(childprocess)
    rubygem(erubis)
    rubygem(i18n)
    rubygem(log4r)
    rubygem(net-scp)
    rubygem(net-ssh)
    zlib



Provides
--------
vagrant:
    rubygem(vagrant)
    vagrant



Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -u https://bugzilla.redhat.com/show_bug.cgi?id=1020456
Buildroot used: fedora-19-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Java, C/C++, Python, SugarActivity, Perl, R, PHP, Ruby
Disabled flags: EPEL5, EXARCH, DISTTAG
Comment 4 Björn "besser82" Esser 2013-10-20 03:25:17 EDT
(In reply to Arun S A G from comment #2)
> I will do the review.

Please assign and set the review(?)-flag, if you take the bug for review, so it will vanish from the "new reviews"-tracker.
Comment 5 Arun S A G 2013-11-13 07:00:01 EST
Hmm, 

Just noticed, He is not a packager. Does he need to be sponsored first?
Comment 6 Stephen Gordon 2013-11-24 23:01:17 EST
I've removed the review flag and set a block on the FE-NEEDSPONSOR bug as the specified FAS user 'adrahon' does not appear to be in the 'packager' group.
Comment 7 Mo Morsi 2013-11-27 17:01:26 EST
I can do the official review if need be. Alex, think you could address the previous feedback? Thanks.
Comment 8 Orion Poplawski 2013-11-27 21:47:11 EST
*** Bug 905396 has been marked as a duplicate of this bug. ***
Comment 9 Alex Drahon 2013-11-28 04:30:25 EST
I'm currently pushing changes upstream to solve integration issues. I'll address the packaging issues in the next few days. Thanks.
Comment 10 Michal Ambroz 2014-04-04 16:16:59 EDT
How it looks with vagrant?
Comment 11 Alex Drahon 2014-04-09 06:59:22 EDT
Still facing issues on Fedora, hopefully we'll have a workaround soon.
Comment 12 Tadej Janež 2014-07-29 03:27:05 EDT
Hi Alex,

any progress since April?
Comment 13 Alex Drahon 2014-08-05 11:20:38 EDT
Hi all,

I now think that it's not a good idea to package Vagrant for Fedora. The upstream package works, and is designed as a self-contained environment, including rubygems management, so it's a bit hacky to make it work in the standard Fedora environment. 

vagrant-kvm (and vagrant-libvirt of course) mostly work these days, but the hard part (hard to automate) is the configuration of polkit and firewalld (see https://github.com/adrahon/vagrant-kvm/wiki/Install_on_Fedora).

I don't think we can reach a fully automated experience from `yum install` to `vagrant up`, so I don't really see the value.

I'd like to retract my review request, I'll happily help any one else wanting to make it happen.

Alex
Comment 14 Michael Scherer 2014-08-06 03:21:48 EDT
I still see value as using Fedora rpm packages. 

For one, this is properly integrated with the whole ecosystem ( ie, integrated in kickstart, ansible/puppet/chef, satelite ). While you can use gem install for vagrant and everything, that's not exactly as smooth.

I would trust more a Fedora package signed by the key of the fedora project than a random upstream whose I do not know the security practices when it come to reproducability.

There is also the issue of bundling, since that mean we depend on upstream to have updated gems ( while several CVE were found just by using grep -r /tmp on a snapshot of currents gems a while ago, and I am sure people didn't update or anything ).
Comment 15 Josef Stribny 2014-08-29 04:04:56 EDT
I will continue with the packaging effort. I already polished the spec, updated it for the latest 1.6.3 version of vagrant and identified what's needed to do before submitting it for review; we need updated versions of rubygem-childprocess (I have prepared the update waiting for the rights to push it) and rubygem-listen. Latest version of rubygem-listen needs celluloid to be packaged which is something Vit already started working on. Once we have that we can hopefully finish it.
Comment 16 Vít Ondruch 2014-11-26 09:13:59 EST
Hi,

Here is updated version of the package, prepared by Josef and me:

http://people.redhat.com/vondruch/vagrant.spec
http://people.redhat.com/vondruch/vagrant-1.6.5-14.fc22.src.rpm

There are significant changes. The Vagrant is not treated anymore as a RubyGem. It is treated as an application. It is installed into /usr/share/vagrant. There is also preparation for vagrant plugins, which - although being rubygems in nature - will be installed into vagrant's subdirectory and hence they will not pollute RubyGems namespace.

Anybody care to do a review?
Comment 17 Arun S A G 2014-11-27 04:08:52 EST
I will do the review. Thanks.
Comment 18 Vít Ondruch 2014-12-10 09:02:03 EST
Hi Arun,

What is the state? Can we move forward please?
Comment 19 Tomas Hrcka 2014-12-18 04:51:56 EST
Hi Arun,

Is this review still alive? Do you need any help?
I would like to have vagrant in fedora before Christmas.
Comment 20 Arun S A G 2014-12-22 07:31:56 EST
i will take a look at this before christmas. Possibly tonight or tomorrow!
Comment 21 Arun S A G 2014-12-23 05:05:35 EST
i couldn't build it on rawhide

Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.21TCLN
+ umask 022
+ cd /builddir/build/BUILD
+ cd /builddir/build/BUILD
+ rm -rf vagrant-1.6.5
+ /usr/bin/gzip -dc /builddir/build/SOURCES/vagrant-1.6.5.tar.gz
+ /usr/bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd vagrant-1.6.5
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
Patch #0 (vagrant-1.6.5-fix-dependencies.patch):
+ echo 'Patch #0 (vagrant-1.6.5-fix-dependencies.patch):'
+ /usr/bin/patch -p1 --fuzz=0
+ /usr/bin/cat /builddir/build/SOURCES/vagrant-1.6.5-fix-dependencies.patch
patching file bin/vagrant
patching file lib/vagrant/bundler.rb
patching file lib/vagrant/util/downloader.rb
patching file test/unit/base.rb
patching file vagrant.gemspec
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.ufLRof
+ umask 022
+ cd /builddir/build/BUILD
+ cd vagrant-1.6.5
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.QhiA2G
+ umask 022
+ cd /builddir/build/BUILD
+ '[' /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64 '!=' / ']'
+ rm -rf /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64
++ dirname /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64
+ mkdir -p /builddir/build/BUILDROOT
+ mkdir /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64
+ cd vagrant-1.6.5
+ mkdir -p /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant
+ cp -pa ./CHANGELOG.md ./CONTRIBUTING.md ./Gemfile ./LICENSE ./README.md ./Rakefile ./Vagrantfile ./bin ./contrib ./keys ./lib ./plugins ./scripts ./tasks ./templates ./test ./vagrant-spec.config.example.rb ./vagrant.gemspec ./version.txt ./website /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant/
+ find /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant/bin -type f
+ xargs chmod a+x
+ rm /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant/CHANGELOG.md /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant/CONTRIBUTING.md /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant/README.md
+ rm /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant/LICENSE
+ install -D -m 755 /builddir/build/SOURCES/binstub /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/bin/vagrant
+ sed -i 's|@vagrant_dir@|/usr/share/vagrant|' /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/bin/vagrant
+ sed -i 's|@vagrant_plugin_conf_dir@|/var/lib/vagrant|' /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/bin/vagrant
+ install -D -m 0644 /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant/contrib/bash/completion.sh /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/bash-completion/completions/vagrant
+ install -d -m 755 /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/var/lib/vagrant
+ cp /builddir/build/SOURCES/patches.rb /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant/lib/vagrant
+ sed -i -e '11irequire '\''vagrant/patches'\''' /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/share/vagrant/lib/vagrant.rb
+ mkdir -p /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/lib/rpm/macros.d/
+ cp /builddir/build/SOURCES/macros.vagrant /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/lib/rpm/macros.d/
+ sed -i 's/%{name}/vagrant/' /builddir/build/BUILDROOT/vagrant-1.6.5-14.fc22.x86_64/usr/lib/rpm/macros.d/macros.vagrant
+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 /builddir/build/BUILD/vagrant-1.6.5
/usr/lib/rpm/sepdebugcrcfix: Updated 0 CRC32s, 0 CRC32s did match.
find: 'debug': No such file or directory
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
+ /usr/lib/rpm/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.Y2Cucj
+ umask 022
+ cd /builddir/build/BUILD
+ cd vagrant-1.6.5
+ tar xvzf /builddir/build/SOURCES/vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a.tar.gz -C ..
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/.gitignore
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/.travis.yml
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/Gemfile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/LICENSE.txt
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/README.md
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/Rakefile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/cli/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/cli/box_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/cli/init_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/cli/plugin_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/cli/version_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/output/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/output/box_output.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/output/plugin_output.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/output/version_output.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provider/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provider/basic_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provider/network_forwarded_port_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provider/network_private_network_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provider/package_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provider/synced_folder_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provisioner/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provisioner/chef_solo_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provisioner/puppet_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/provisioner/shell_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-boxes/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-boxes/empty.box
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-boxes/empty/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-boxes/empty/metadata.json
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/README.md
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic-0.1.0.gem
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic-0.2.0.gem
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic-rename-0.1.0.gem
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic/gem-0.1.0.gemspec
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic/gem-0.2.0.gemspec
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic/gem-renamed-0.1.0.gemspec
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic/lib/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic/lib/vagrant-spec-helper-basic.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic/lib/vshb/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-plugins/vagrant-spec-helper-basic/lib/vshb/command.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/network_forwarded_port/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/network_forwarded_port/Vagrantfile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/network_private_network/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/network_private_network/Vagrantfile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/Vagrantfile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic-roles/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic-roles/cookbooks/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic-roles/cookbooks/bar/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic-roles/cookbooks/bar/recipes/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic-roles/cookbooks/bar/recipes/default.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic-roles/roles/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic-roles/roles/foo.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic/cookbooks/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic/cookbooks/foo/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic/cookbooks/foo/recipes/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_chef_solo/basic/cookbooks/foo/recipes/default.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/Vagrantfile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/basic-modules/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/basic-modules/manifests/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/basic-modules/manifests/default.pp
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/basic-modules/modules/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/basic-modules/modules/foo/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/basic-modules/modules/foo/manifests/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/basic-modules/modules/foo/manifests/init.pp
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/manifests/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_puppet/manifests/default.pp
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_shell/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_shell/Vagrantfile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_shell/args.sh
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_shell/path.sh
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_shell/user.sh
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/provisioner_shell/user_root.sh
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/synced_folder_nfs/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/synced_folder_nfs/Vagrantfile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/synced_folder_nfs/foo
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/synced_folder_rsync/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/synced_folder_rsync/Vagrantfile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/synced_folder_rsync/foo
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/synced_folders/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/synced_folders/Vagrantfile
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/support-skeletons/synced_folders/foo
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/synced_folder/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/synced_folder/nfs_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/acceptance/synced_folder/rsync_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/bin/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/bin/vagrant-spec
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/configuration.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/isolated_environment.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/output.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/rspec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/rspec/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/rspec/context.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/rspec/formatter.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/rspec/matcher_exit_with.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/rspec/matcher_match_output.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/rspec/shared_provider_synced_folder.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/acceptance/runner.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/cli.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/components.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/isolated_environment.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/subprocess.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/unit.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/unit/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/unit/dummy_provider.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/unit/isolated_environment.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/unit/rspec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/unit/rspec/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/unit/rspec/context.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/version.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/lib/vagrant-spec/which.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/acceptance/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/acceptance/configuration_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/acceptance/isolated_environment_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/acceptance/shared/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/acceptance/shared/isolated_environment_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/acceptance/shared/output_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/components_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/isolated_environment_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/subprocess_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/unit/
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/spec/unit/isolated_environment_spec.rb
vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a/vagrant-spec.gemspec
ERROR: Exception(vagrant-1.6.5-14.fc22.src.rpm) Config(fedora-rawhide-x86_64) 1 minutes 26 seconds
INFO: Results and/or logs in: /var/lib/mock/fedora-rawhide-x86_64/result
ERROR: Command failed. See logs for output.
 # bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps  /builddir/build/SPECS/vagrant.spec 
+ mv ../vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a ../vagrant-spec
+ sed -i '/git/ s/^/#/' ../vagrant-spec/vagrant-spec.gemspec
+ rm -rf test/unit/plugins/communicators/winrm
+ sed -i '/it "eager loads WinRM" do/,/^      end$/ s/^/#/' test/unit/vagrant/machine_test.rb
+ sed -i '/it "should return the specified communicator if given" do/,/^    end$/ s/^/#/' test/unit/vagrant/machine_test.rb
+ bundle --local
Resolving dependencies...
Could not find gem 'thor (~> 0.18.1) ruby', which is required by gem
'vagrant-spec (>= 0) ruby', in any of the sources.


RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.Y2Cucj (%check)
    Bad exit status from /var/tmp/rpm-tmp.Y2Cucj (%check)
Comment 22 Vít Ondruch 2014-12-23 06:23:05 EST
(In reply to Arun S A G from comment #21)
> i couldn't build it on rawhide

Ah, time flies and thor got updated after I submitted the package for a review. This should be updated .spec and SRPM relaxing the thor dependency:

http://people.redhat.com/vondruch/vagrant.spec
http://people.redhat.com/vondruch/vagrant-1.6.5-15.fc22.src.rpm
Comment 23 Josef Stribny 2015-01-19 08:20:37 EST
Anuj,

would you mind speeding this up? I just submitted Vagrant as an official change for Fedora 22 and we also need to submit vagrant-libvirt plugin afterwards.

Thank you.
Josef
Comment 24 Michael Adam 2015-01-19 08:24:08 EST
(In reply to Josef Stribny from comment #23)
> Anuj,
> 
> would you mind speeding this up? I just submitted Vagrant as an official
> change for Fedora 22 and we also need to submit vagrant-libvirt plugin
> afterwards.
> 
> Thank you.
> Josef

Hi Josef,

I don't mind stepping in.
Already started reviewing the package.

Is there already a bug for vagrant-libvirt?

Maybe you could also assist in getting a vagrant-lxc package afterwards...

Cheers - Michael
Comment 25 Michael Adam 2015-01-19 11:39:37 EST
Here is my review result:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 %doc.
  Note: Cannot find LICENSE in rpm(s)
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text

  ==> The fedora-review tool seems to be broken here:
      the wiki states that the license file is to be included
      under %license, not under %doc.
      So this is OK.


===== 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.
     ==> MIT
[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)", "WTFPL", "Unknown or generated". 758 files have
     unknown license. Detailed output of licensecheck in
     /home/obnox/review/1020456-vagrant/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/lib/rpm/macros.d,
     /usr/lib/rpm, /usr/share/bash-completion/completions, /usr/share/bash-
     completion
     ==> The correct thing to do seems to be to
         require bash_completion and rpm, but no other rpms seem to do that...
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: 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.
[ ]: 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.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: 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]: 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]: 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]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[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 vagrant-doc
[-]: Package functions as described.
[x]: Latest version is packaged.
     ==> it seems to have been a deliberate decision not to package
         the very new latest version (1.7.2),
         but a slighytly older version 1.6.5 instead.
[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.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[?]: 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 (not strictly required in GL).
[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: vagrant-1.6.5-15.fc22.noarch.rpm
          vagrant-doc-1.6.5-15.fc22.noarch.rpm
          vagrant-1.6.5-15.fc22.src.rpm
vagrant.noarch: W: spelling-error Summary(en_US) virtualized -> ritualized, visualized, actualized
vagrant.noarch: W: spelling-error %description -l en_US virtualized -> ritualized, visualized, actualized
==> OK
vagrant.noarch: W: only-non-binary-in-usr-lib
==> OK, rmp-macros have to go there

vagrant.noarch: W: no-documentation
==> Put at least README.me into the main package?

vagrant.noarch: E: non-readable /var/lib/vagrant/plugins.json 0L
==> %ghost file, fixed by touching file in %install

vagrant.noarch: E: non-executable-script /usr/share/bash-completion/completions/vagrant 0644L /bin/bash
==> fixed by installing with different perms

vagrant.noarch: E: script-without-shebang /usr/share/vagrant/plugins/communicators/winrm/command_filters/mkdir.rb
==> fixed permission of upstream file in install

vagrant.noarch: W: no-manual-page-for-binary vagrant
==> TODO? maybe later?

vagrant.src: W: spelling-error Summary(en_US) virtualized -> ritualized, visualized, actualized
vagrant.src: W: spelling-error %description -l en_US virtualized -> ritualized, visualized, actualized
==> PL

vagrant.src: W: strange-permission binstub 0775L
3 packages and 0 specfiles checked; 3 errors, 8 warnings.




Rpmlint (installed packages)
----------------------------
]0;<mock-chroot><mock-chroot>[root@sphere /]# rpmlint vagrant vagrant-doc
vagrant.noarch: W: spelling-error Summary(en_US) virtualized -> ritualized, visualized, actualized
vagrant.noarch: W: spelling-error %description -l en_US virtualized -> ritualized, visualized, actualized
vagrant.noarch: W: only-non-binary-in-usr-lib
vagrant.noarch: W: no-documentation
vagrant.noarch: E: non-readable /var/lib/vagrant/plugins.json 0L
vagrant.noarch: E: non-executable-script /usr/share/bash-completion/completions/vagrant 0644L /bin/bash
vagrant.noarch: E: script-without-shebang /usr/share/vagrant/plugins/communicators/winrm/command_filters/mkdir.rb
vagrant.noarch: W: no-manual-page-for-binary vagrant
2 packages and 0 specfiles checked; 3 errors, 5 warnings.
]0;<mock-chroot><mock-chroot>[root@sphere /]# echo 'rpmlint-done:'



Requires
--------
vagrant (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/env
    bsdtar
    curl
    ruby
    ruby(release)
    ruby(rubygems)
    rubygem(bundler)
    rubygem(childprocess)
    rubygem(erubis)
    rubygem(hashicorp-checkpoint)
    rubygem(i18n)
    rubygem(listen)
    rubygem(log4r)
    rubygem(net-scp)
    rubygem(net-ssh)
    rubygem(nokogiri)
    rubygem(rb-inotify)
    shadow-utils

vagrant-doc (rpmlib, GLIBC filtered):
    vagrant



Provides
--------
vagrant:
    vagrant

vagrant-doc:
    vagrant-doc



Source checksums
----------------
https://github.com/mitchellh/vagrant-spec/archive/c0dafc996165bf1628b672dd533f1858ff66fe4a/vagrant-spec-c0dafc996165bf1628b672dd533f1858ff66fe4a.tar.gz :
  CHECKSUM(SHA256) this package     : a406ffcf3213d64639e26ecc373586792907b68cf6f1b462b87c44c37ed441e5
  CHECKSUM(SHA256) upstream package : a406ffcf3213d64639e26ecc373586792907b68cf6f1b462b87c44c37ed441e5
https://github.com/mitchellh/vagrant/archive/v1.6.5/vagrant-1.6.5.tar.gz :
  CHECKSUM(SHA256) this package     : ed9575529844b66125e2f6b5ffca1028238d9ca020ff952d8b6ca6ccab4b7fba
  CHECKSUM(SHA256) upstream package : ed9575529844b66125e2f6b5ffca1028238d9ca020ff952d8b6ca6ccab4b7fba


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -c -b 1020456 -m fedora-rawhide-x86_64
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, EPEL5, BATCH, DISTTAG 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


A few minor issues are addressed by the patch to the specfile I'll attach next.

Main question is about the dependencies for the directories
leading to rpm-macros and bash_completion. According to the
fedora packaging guidelines, the proper thing would be to
require the packages that provide these directories, i.e.
rpm and bash_completion, but rpm seems silly to require for
an rpm and for bash_completion noone seems to do it...
Comment 26 Michael Adam 2015-01-19 11:41:32 EST
Created attachment 981549 [details]
patch for the spec file

Here is my small patch for the specfile.
With these applied, I am good with the package.

(Except for the question raised regarding dependencies.)
Comment 27 Michael Adam 2015-01-19 11:49:01 EST
Assigning back to Vit for further processing.
Please assign back to me for final review.

Thanks - Michael
Comment 28 Vít Ondruch 2015-01-20 06:42:09 EST
(In reply to Michael Adam from comment #25)
> [x]: Package must own all directories that it creates.
>      Note: Directories without known owners: /usr/lib/rpm/macros.d,
>      /usr/lib/rpm, /usr/share/bash-completion/completions, /usr/share/bash-
>      completion
>      ==> The correct thing to do seems to be to
>          require bash_completion and rpm, but no other rpms seem to do that...

The package now owns the /usr/share/bash-completion, since it is one of the example in package guidelines ;) I don't think RPM is optional and we can't have a system without the macros.d directory, so I keep it as it is.

> [x]: Latest version is packaged.
>      ==> it seems to have been a deliberate decision not to package
>          the very new latest version (1.7.2),
>          but a slighytly older version 1.6.5 instead.

I wanted to get this into Fedora ASAP and updates to the package would be just slow down for me and for reviewers as well. I don't think this is blocker.

> Rpmlint
> -------
> vagrant.noarch: W: no-documentation
> ==> Put at least README.me into the main package?

Moved README.md into the main package.

> vagrant.noarch: E: non-readable /var/lib/vagrant/plugins.json 0L
> ==> %ghost file, fixed by touching file in %install

Done

> vagrant.noarch: E: non-executable-script
> /usr/share/bash-completion/completions/vagrant 0644L /bin/bash
> ==> fixed by installing with different perms

I rather removed the shebang, since I don't think it has any merit to have this file executable.

> vagrant.noarch: E: script-without-shebang
> /usr/share/vagrant/plugins/communicators/winrm/command_filters/mkdir.rb
> ==> fixed permission of upstream file in install

Done

> vagrant.noarch: W: no-manual-page-for-binary vagrant
> ==> TODO? maybe later?

Hopefully :)

> A few minor issues are addressed by the patch to the specfile I'll attach next.

Thanks for the patch!

Here are updated .spec file and SRPM:

http://people.redhat.com/vondruch/vagrant.spec
http://people.redhat.com/vondruch/vagrant-1.6.5-16.fc22.src.rpm

http://koji.fedoraproject.org/koji/taskinfo?taskID=8672816
Comment 29 Ingvar Hagelund 2015-01-20 06:48:55 EST
(In reply to Michael Adam from comment #25)
> > [x]: Package must own all directories that it creates.
> >      Note: Directories without known owners: /usr/lib/rpm/macros.d,
> >      /usr/lib/rpm, /usr/share/bash-completion/completions, /usr/share/bash-
> >      completion
> >      ==> The correct thing to do seems to be to
> >          require bash_completion and rpm, but no other rpms seem to do 
> >          that...

(In reply to Vít Ondruch from comment #28)
> The package now owns the /usr/share/bash-completion, since it is one of the
> example in package guidelines ;) I don't think RPM is optional and we can't
> have a system without the macros.d directory, so I keep it as it is.

Looks to me as this is normal.

$ rpm --qf "%{name} " -qf /usr/share/bash-completion; echo
glib2 yum zeitgeist qupzilla createrepo bash-completion glib2 gvfs rpmlint 


Ingvar
Comment 30 Michael Adam 2015-01-20 11:24:19 EST
(In reply to Ingvar Hagelund from comment #29)
> (In reply to Michael Adam from comment #25)
> > > [x]: Package must own all directories that it creates.
> > >      Note: Directories without known owners: /usr/lib/rpm/macros.d,
> > >      /usr/lib/rpm, /usr/share/bash-completion/completions, /usr/share/bash-
> > >      completion
> > >      ==> The correct thing to do seems to be to
> > >          require bash_completion and rpm, but no other rpms seem to do 
> > >          that...
> 
> (In reply to Vít Ondruch from comment #28)
> > The package now owns the /usr/share/bash-completion, since it is one of the
> > example in package guidelines ;) I don't think RPM is optional and we can't
> > have a system without the macros.d directory, so I keep it as it is.
> 
> Looks to me as this is normal.
> 
> $ rpm --qf "%{name} " -qf /usr/share/bash-completion; echo
> glib2 yum zeitgeist qupzilla createrepo bash-completion glib2 gvfs rpmlint 

It is true that this seems to be normal (which is what I meant with "no other RPM seems to do it" ... , but that does not necessarily mean that the packaging guidelines say that this is ok. :) And for a new package we should do it right even if established packages get it wrong.

In general there is the request to not have multiple packages own the same
directory, and fedora-review does complain about it either way, but as Vít has already mentioned, the bash-completion folder (the one below /etc) is an example in the guidelines, so I guess it's ok.

(Another solution would be to have a separate vagrant-bashcompletion package that depends on vagrant and on bash-completion.)

Michael
Comment 31 Michael Adam 2015-01-20 11:29:27 EST
(In reply to Vít Ondruch from comment #28)
> (In reply to Michael Adam from comment #25)
> > [x]: Package must own all directories that it creates.
> >      Note: Directories without known owners: /usr/lib/rpm/macros.d,
> >      /usr/lib/rpm, /usr/share/bash-completion/completions, /usr/share/bash-
> >      completion
> >      ==> The correct thing to do seems to be to
> >          require bash_completion and rpm, but no other rpms seem to do that...
> 
> The package now owns the /usr/share/bash-completion, since it is one of the
> example in package guidelines ;) I don't think RPM is optional and we can't
> have a system without the macros.d directory, so I keep it as it is.

Ok, see previous comment.
 
> > [x]: Latest version is packaged.
> >      ==> it seems to have been a deliberate decision not to package
> >          the very new latest version (1.7.2),
> >          but a slighytly older version 1.6.5 instead.
> 
> I wanted to get this into Fedora ASAP and updates to the package would be
> just slow down for me and for reviewers as well. I don't think this is
> blocker.

OK.

> > vagrant.noarch: E: non-executable-script
> > /usr/share/bash-completion/completions/vagrant 0644L /bin/bash
> > ==> fixed by installing with different perms
> 
> I rather removed the shebang, since I don't think it has any merit to have
> this file executable.

Agreed!

> > vagrant.noarch: W: no-manual-page-for-binary vagrant
> > ==> TODO? maybe later?
> 
> Hopefully :)

;-)
 
> > A few minor issues are addressed by the patch to the specfile I'll attach next.
> 
> Thanks for the patch!
> 
> Here are updated .spec file and SRPM:
> 
> http://people.redhat.com/vondruch/vagrant.spec
> http://people.redhat.com/vondruch/vagrant-1.6.5-16.fc22.src.rpm
> 
> http://koji.fedoraproject.org/koji/taskinfo?taskID=8672816

Thanks, I'm gonna take (final?) next look now.

Cheers - Michael
Comment 32 Michael Adam 2015-01-20 11:52:17 EST
All concenrns have been addressed. Thanks.

==> review granted.
Comment 33 Michael Schwendt 2015-01-20 12:36:14 EST
> In general there is the request to not have multiple packages
> own the same directory,

It used to be like that years ago. ;)  The modern guidelines are more lax. Specifically, it's this case of "permitted multiple ownership" that Vít refers to:

  https://fedoraproject.org/wiki/Packaging:Guidelines#The_directory_is_owned_by_a_package_which_is_not_required_for_your_package_to_function
Comment 34 Michael Adam 2015-01-20 12:52:37 EST
(In reply to Michael Schwendt (Fedora Packager Sponsors Group) from comment #33)
> > In general there is the request to not have multiple packages
> > own the same directory,
> 
> It used to be like that years ago. ;)  The modern guidelines are more lax.
> Specifically, it's this case of "permitted multiple ownership" that Vít
> refers to:
> 
>  
> https://fedoraproject.org/wiki/Packaging:
> Guidelines#The_directory_is_owned_by_a_package_which_is_not_required_for_your
> _package_to_function

Ok, thanks for clarification and confirmation!

Michael
Comment 35 Vít Ondruch 2015-01-21 03:14:34 EST
Thanks everybody with help with this package! Don't hesitate to ask for ACLs once the SCM request is done ;)


New Package SCM Request
=======================
Package Name: vagrant
Short Description: An automation tool used to manage development environments
Upstream URL: http://vagrantup.com
Owners: vondruch jstribny
Branches: 
InitialCC:
Comment 36 Gwyn Ciesla 2015-01-21 06:42:21 EST
Git done (by process-git-requests).
Comment 37 Vít Ondruch 2015-01-21 08:45:32 EST
This is now in Rawhide. Please note that prior import, I had to relax rubygem-i18n dependency, since it was updated (by me ;) in the meantime and I also dropped one monkeypatch, which is already part of rubygems-2.4.5. So give it try and report possible bugs.

Once more thanks to all involved.
Comment 38 Michael Adam 2015-01-21 12:14:08 EST
OK, bug has been assigned back to me.
Do I have to anything else to it?
Comment 39 Michael Adam 2015-01-22 01:21:23 EST
Hmm, according to
http://fedoraproject.org/wiki/New_package_process_for_existing_contributors
the resolution should be set to NEXTRELEASE instead of RAWHIDE.

Is that missing here?
Comment 40 Vít Ondruch 2015-01-22 04:17:32 EST
(In reply to Michael Adam from comment #38)
> OK, bug has been assigned back to me.
> Do I have to anything else to it?

Actually the bug is typically assigned just to reviewer and we don't handover it unless the reviewer is changed in the process. So that should be it.


(In reply to Michael Adam from comment #39)
> Hmm, according to
> http://fedoraproject.org/wiki/New_package_process_for_existing_contributors
> the resolution should be set to NEXTRELEASE instead of RAWHIDE.

Well, I don't think the policy covers everything. I'd use NEXTRELEASE if we were in branched state, e.g. I'd push this to F22 + Rawhide, but at this moment, we are not branched yet, so the RAWHIDE is more appropriate. If I was pushing this into F21, the the bug would be closed by Bodhi with ERRATA resolution if I am not mistaken. But that is just my personal view on the matter and it does not influence anything, as far as I know.
Comment 41 Aleksandar Kostadinov 2015-01-22 04:31:45 EST
offtopic but would it be possible to put vagrant officially in fedora21 now?
Comment 42 Vít Ondruch 2015-01-22 04:43:27 EST
(In reply to Aleksandar Kostadinov from comment #41)
> offtopic but would it be possible to put vagrant officially in fedora21 now?

I am sorry, but since the build in Rawhide is already slightly different then what would be needed for F21, I am not very keen to build Vagrant for F21. But I won't oppose to any volunteer ;) and there is still Josef's Copr repo: https://copr.fedoraproject.org/coprs/jstribny/vagrant-f21/
Comment 43 Michael Adam 2015-01-22 04:47:43 EST
(In reply to Vít Ondruch from comment #42)
> (In reply to Aleksandar Kostadinov from comment #41)
> > offtopic but would it be possible to put vagrant officially in fedora21 now?
> 
> I am sorry, but since the build in Rawhide is already slightly different
> then what would be needed for F21, I am not very keen to build Vagrant for
> F21. But I won't oppose to any volunteer ;) and there is still Josef's Copr
> repo: https://copr.fedoraproject.org/coprs/jstribny/vagrant-f21/

I'd like to bring it to f21 too,
but we need also at least two packages in f21 as dependency:

 - rubygem-hashicorp-checkpoint
 - rubygem-log4r

These are currently only in rawhide.

Michael
Comment 44 Michael Adam 2015-01-27 06:19:13 EST
Package Change Request
======================
Package Name: vagrant
New Branches: f21
Owners: obnox vondruch jstribny
InitialCC: 

As per the above request: would like to add vagrant to f21.
Comment 45 Gwyn Ciesla 2015-01-27 09:07:34 EST
Git done (by process-git-requests).
Comment 46 Aleksandar Kostadinov 2015-01-27 09:12:27 EST
@Michael, did you file a formal request somewhere I can monitor? I'm referring to comment 44.
Comment 47 Michael Adam 2015-01-27 09:17:36 EST
(In reply to Aleksandar Kostadinov from comment #46)
> @Michael, did you file a formal request somewhere I can monitor? I'm
> referring to comment 44.

@Aleksander: No, not yet. Should I do that?
And how?

I was told I should just follow the Guidlines here:
http://fedoraproject.org/wiki/Package_SCM_admin_requests
and these simply manage the package change request
for adding a package to more versions.

Thanks for clarification and please ignore my ignorance,
I am still somewhat new to the process... 

Michael
Comment 48 Fedora Update System 2015-01-28 06:26:02 EST
vagrant-1.6.5-18.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/vagrant-1.6.5-18.fc21
Comment 49 Tomas Hrcka 2015-02-11 08:14:15 EST
Package Change Request
======================
Package Name: vagrant
New Branches: epel7
Owners: obnox vondruch jstribny humaton
Comment 50 Gwyn Ciesla 2015-02-11 09:37:45 EST
Git done (by process-git-requests).
Comment 51 Fedora Update System 2015-02-12 21:24:19 EST
vagrant-1.6.5-18.fc21 has been pushed to the Fedora 21 stable repository.

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