After installing virtualbox-ose and vagrant the following failed: fmb@~/tmp/vagrant> vagrant init hashicorp/precise32 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant. fmb@~/tmp/vagrant> vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'hashicorp/precise32' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 The box 'hashicorp/precise32' could not be found or could not be accessed in the remote catalog. If this is a private box on Vagrant Cloud, please verify you're logged in via `vagrant login`. Also, please double-check the name. The expanded URL and error message are shown below: URL: ["https://vagrantcloud.com/hashicorp/precise32"] Error: error setting certificate verify locations: CAfile: /tmp/vagrant/cacert.pem CApath: none fmb@~/tmp/vagrant>
Maintainer CC'd
Created attachment 148641 [details] Vagrant 1.6.5 update patch Can the reporter please try patching their installation with the following patch and report back if it works? Thanks.
Hi, thanks for the patch. It works if i remove the following lines from your patch: %%DATADIR%%/embedded/rgloader/rgloader%%RUBY_DEFAULT_SUFFIX%%.darwin.bundle %%DATADIR%%/embedded/rgloader/rgloader%%RUBY_DEFAULT_SUFFIX%%.freebsd.so %%DATADIR%%/embedded/rgloader/rgloader%%RUBY_DEFAULT_SUFFIX%%.freebsd.x86_64.so %%DATADIR%%/embedded/rgloader/rgloader%%RUBY_DEFAULT_SUFFIX%%.linux.so %%DATADIR%%/embedded/rgloader/rgloader%%RUBY_DEFAULT_SUFFIX%%.linux.x86_64.so %%DATADIR%%/embedded/rgloader/rgloader%%RUBY_DEFAULT_SUFFIX%%.mingw.so %%DATADIR%%/embedded/rgloader/rgloader%%RUBY_DEFAULT_SUFFIX%%.mingw.x64.so %%DATADIR%%/embedded/rgloader/rgloader%%RUBY_DEFAULT_SUFFIX%%.mswin.so
Created attachment 148681 [details] Vagrant 1.6.5 update patch
Created attachment 148682 [details] Poudriere Log
Please test this new patch. If all is well then someone may commit it to the repository.
I think this needs some tweaking. 1) the PORTREVISION jumps from undefined (0) to 3, it should jump to 1 2) You are creating a new, non-standard directory in the port for only one file. I recommend that you put cacert.pem in the files directory 3) You are using COPYTREE_SHARE to copy a single file. Just use INSTALL_DATA macro to put it in ${STAGEDIR}${DATADIR}/embedded everything else looks ok I think
removed wrong person!
Created attachment 149197 [details] Poudriere Log
Created attachment 149198 [details] Vagrant 1.6.5 update patch
You created one directory twice (two methods) and created another with a different method. replace: 68 ${MKDIR} ${STAGEDIR}${DATADIR}/embedded 69 ${INSTALL} -d -m 0755 ${STAGEDIR}${DATADIR}/embedded 70 ${INSTALL} -d -m 0755 ${STAGEDIR}${DATADIR}/embedded/rgloader with ${MKDIR} ${STAGEDIR}${DATADIR}/embedded/rgloader You don't need to create embedded, then embedded/rgloader. MKDIR is "mkdir -p" which creates all necessary directories in between
Created attachment 149220 [details] Vagrant 1.6.5 update
Created attachment 149221 [details] Poudriere Log
(In reply to joe from comment #12) > Created attachment 149220 [details] > Vagrant 1.6.5 update I don't understand, you left "${INSTALL} -d -m 0755". We want ${MKDIR}, not hardcoded modes (which is meaningless for stage anyway) oversight? it doesn't match my "replace/with" instructions above. (new Poudriere logs aren't necessary for these changes btw)
Created attachment 149228 [details] Vagrant 1.6.5 update patch
(In reply to John Marino from comment #7) > I think this needs some tweaking. > > 2) You are creating a new, non-standard directory in the port for only one > file. I recommend that you put cacert.pem in the files directory You didn't address this! ^^ also, There is no reason to use ${PORTSDIR}.... in the makefile. Just still this in files/ and use ${FILESDIR} instead. Also, you don't need (cd ..... && ${INSTALL_DATA}) with only one file, just use ${INSTALL_DATA} command with full paths. If it's still unclear, just say so and I'll try to post a full changeset that I expect later.
Created attachment 149258 [details] Vagrant 1.6.5 update patch
This is very, very close. however, you added this line: +ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"] = '/usr/local/share/vagrant/embedded' The "/usr/local/" is not guaranteed. You might try this: +ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"] = '@PREFIX@/share/vagrant/embedded' and then use post-patch target like this: @${REINPLACE_CMD} -e 's|@PREFIX|${PREFIX}|g' ${WRKSRC}/path/to/file then your patch will be good for non-standard locations.
Created attachment 149265 [details] Vagrant 1.6.5 update patch
quick question: the command before is this: @${RM} ${WRKSRC}/bin/vagrant.orig but the REINPLACE_CMD will produce vagrant.bak Is that okay? If not, maybe you want to move the RM line after the REINPLACE_CMD line and change it to @${RM} ${WRKSRC}/bin/vagrant.* or @${RM} ${WRKSRC}/bin/vagrant.orig ${WRKSRC}/bin/vagrant.bak (I don't know how important the removal of the .orig file is, but I figured if it's really needed, you don't want the .bak file either)
Yeah, it's ok. There is always the ideal way, but I'm tired of monkeying with this PR.
If it's okay to leave .bak files, then it's okay to leave .orig files too, right? Either way I'll promote the PR, but if the above is true, I'll recommend the RM line be removed if it's not doing anything in practical terms.
Yes, chuck the RM line. Thanks!
I am promoting this PR. It should work as-is, I am recommending the following for the committer that picks up the PR: 1) remove this line "@${RM} ${WRKSRC}/bin/vagrant.orig" 2) verify via poudriere or "make check-plist" that there are no new orphans showing since the last poudriere test. Thanks!
A commit references this bug: Author: marino Date: Fri Nov 28 09:50:36 UTC 2014 New revision: 373538 URL: https://svnweb.freebsd.org/changeset/ports/373538 Log: sysutils/vagrant: Fix error setting certificate verify locations While here, remove @dirrm and make port pass stage-qa checks. Also wrap lines to respect 80 columns. PR: 194578 Reported by: Fabian Borschel Fixed by: maintainer (Joe Benden) Changes: head/sysutils/vagrant/Makefile head/sysutils/vagrant/files/cacert.pem head/sysutils/vagrant/files/loader.rb head/sysutils/vagrant/files/patch-vagrant-is-vagrant-installer.patch head/sysutils/vagrant/pkg-plist
of note, the @dir lines were part of the pkg-plist, a carry-over from a mistake in the previous PR. I removed ALL of them. @dir is not an alias for @dirrm. At the time, "make makepatch" was spitting this out, so maybe it was just the result of that resubmitted, but *you cannot trust make makepatch* !! It builds cleanly in poudriere now, I had to remove an empty doc directory in post-install to do that though.