Hide Forgot
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
Updated: Spec URL: http://srpms.adrahon.org/vagrant.spec SRPM URL: http://srpms.adrahon.org/vagrant-1.3.3-1.1.fc20.src.rpm
I will do the review.
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
(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.
Hmm, Just noticed, He is not a packager. Does he need to be sponsored first?
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.
I can do the official review if need be. Alex, think you could address the previous feedback? Thanks.
*** Bug 905396 has been marked as a duplicate of this bug. ***
I'm currently pushing changes upstream to solve integration issues. I'll address the packaging issues in the next few days. Thanks.
How it looks with vagrant?
Still facing issues on Fedora, hopefully we'll have a workaround soon.
Hi Alex, any progress since April?
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
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 ).
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.
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?
I will do the review. Thanks.
Hi Arun, What is the state? Can we move forward please?
Hi Arun, Is this review still alive? Do you need any help? I would like to have vagrant in fedora before Christmas.
i will take a look at this before christmas. Possibly tonight or tomorrow!
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)
(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
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
(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
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...
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.)
Assigning back to Vit for further processing. Please assign back to me for final review. Thanks - Michael
(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
(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
(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
(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
All concenrns have been addressed. Thanks. ==> review granted.
> 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
(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
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:
Git done (by process-git-requests).
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.
OK, bug has been assigned back to me. Do I have to anything else to it?
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?
(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.
offtopic but would it be possible to put vagrant officially in fedora21 now?
(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/
(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
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.
@Michael, did you file a formal request somewhere I can monitor? I'm referring to comment 44.
(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
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
Package Change Request ====================== Package Name: vagrant New Branches: epel7 Owners: obnox vondruch jstribny humaton
vagrant-1.6.5-18.fc21 has been pushed to the Fedora 21 stable repository.