[opensuse-ruby] %gem_install leads to multiple binaries in /usr/bin/
Hi, I'm working on fixing the rubygem-vagrant build failures. For the record, vagrant is no longer distributed as a gem so the build is a bit convoluted - first it builds a gem from the tarball and then installs it ( see [1] ). At the moment the build fails since %{_bindir}/vagrant is not installed. Instead, %{_bindir}/vagrant. .ruby2.1and %{_bindir}/vagrant.ruby2.2 are installed [2]. I would very much prefer a single /usr/bin/vagrant entry point, but I'm not sure how to achieve this. Any help would be appreciated. Thanks, Robert [1]: https://build.opensuse.org/package/view_file/home:robert_munteanu:branches:d... [2]: https://build.opensuse.org/package/live_build_log/home:robert_munteanu:branc... -- http://robert.muntea.nu/ -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
On 2015-05-18 17:12:19 +0300, Robert Munteanu wrote:
I'm working on fixing the rubygem-vagrant build failures. For the record, vagrant is no longer distributed as a gem so the build is a bit convoluted - first it builds a gem from the tarball and then installs it ( see [1] ).
At the moment the build fails since %{_bindir}/vagrant is not installed. Instead, %{_bindir}/vagrant. .ruby2.1and %{_bindir}/vagrant.ruby2.2 are installed [2].
I would very much prefer a single /usr/bin/vagrant entry point, but I'm not sure how to achieve this. Any help would be appreciated.
instead of packaging manually use gem2rpm if you want to stick with gem based packaging. going to non gem based is also an option but we have more automation for gem based packaging. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
On Mon, May 18, 2015 at 5:21 PM, Marcus Rueckert <darix@opensu.se> wrote:
On 2015-05-18 17:12:19 +0300, Robert Munteanu wrote:
I'm working on fixing the rubygem-vagrant build failures. For the record, vagrant is no longer distributed as a gem so the build is a bit convoluted - first it builds a gem from the tarball and then installs it ( see [1] ).
At the moment the build fails since %{_bindir}/vagrant is not installed. Instead, %{_bindir}/vagrant. .ruby2.1and %{_bindir}/vagrant.ruby2.2 are installed [2].
I would very much prefer a single /usr/bin/vagrant entry point, but I'm not sure how to achieve this. Any help would be appreciated.
instead of packaging manually use gem2rpm if you want to stick with gem based packaging. going to non gem based is also an option but we have more automation for gem based packaging.
vagrant is no longer distributed as a gem as of 1.5.0 - https://rubygems.org/gems/vagrant . This means that I can't use gem2rpm ( to my knowledge ) as I'm already in the build process when the gem is available. Thinking out loud, is it acceptable to change the update process from: - download tarball; update spec file; osc build to - download tarball; rebuild gemfile from tarball; update spec file; osc build ? This would bring this build closer to a 'standard' rubygem one, but with the extra hassle when updating versions. Thoughts? Robert -- http://robert.muntea.nu/ -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
Robert Munteanu <robert.munteanu@gmail.com> wrote:
vagrant is no longer distributed as a gem as of 1.5.0 - https://rubygems.org/gems/vagrant . This means that I can't use gem2rpm ( to my knowledge ) as I'm already in the build process when the gem is available.
Thinking out loud, is it acceptable to change the update process from:
- download tarball; update spec file; osc build
Actually that's not the current process for that gem; it's - update revision param in _service file; run osc service dr; update spec file; osc build That said, the tarballs of the tagged releases *are* directly available from GitHub, although I would prefer not to switch to those because it's useful to be able to switch _service to point to a specific git commit in order to test something, and also tar_scm provides a nice caching layer to speed up downloads.
to
- download tarball; rebuild gemfile from tarball; update spec file; osc build
?
This would bring this build closer to a 'standard' rubygem one, but with the extra hassle when updating versions.
Thoughts?
Sounds reasonable; you could do all this in a Makefile, and it wouldn't be the first time a Makefile has been used to build package sources. -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
On Tue, May 19, 2015 at 12:51 AM, Adam Spiers <aspiers@suse.com> wrote:
Robert Munteanu <robert.munteanu@gmail.com> wrote:
vagrant is no longer distributed as a gem as of 1.5.0 - https://rubygems.org/gems/vagrant . This means that I can't use gem2rpm ( to my knowledge ) as I'm already in the build process when the gem is available.
Thinking out loud, is it acceptable to change the update process from:
- download tarball; update spec file; osc build
Actually that's not the current process for that gem; it's
- update revision param in _service file; run osc service dr; update spec file; osc build
That said, the tarballs of the tagged releases *are* directly available from GitHub, although I would prefer not to switch to those because it's useful to be able to switch _service to point to a specific git commit in order to test something, and also tar_scm provides a nice caching layer to speed up downloads.
OK, I'll make sure to use that. Note that it's already out of sync, _service points to 1.6.5, while the local tarball is at 1.7.2 .
to
- download tarball; rebuild gemfile from tarball; update spec file; osc build
?
This would bring this build closer to a 'standard' rubygem one, but with the extra hassle when updating versions.
Thoughts?
Sounds reasonable; you could do all this in a Makefile, and it wouldn't be the first time a Makefile has been used to build package sources.
OK, I'll do down that route. Thanks, Robert -- http://robert.muntea.nu/ -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
On Tue, May 19, 2015 at 12:45 PM, Robert Munteanu <robert.munteanu@gmail.com> wrote:
On Tue, May 19, 2015 at 12:51 AM, Adam Spiers <aspiers@suse.com> wrote:
Robert Munteanu <robert.munteanu@gmail.com> wrote:
vagrant is no longer distributed as a gem as of 1.5.0 - https://rubygems.org/gems/vagrant . This means that I can't use gem2rpm ( to my knowledge ) as I'm already in the build process when the gem is available.
Thinking out loud, is it acceptable to change the update process from:
- download tarball; update spec file; osc build
Actually that's not the current process for that gem; it's
- update revision param in _service file; run osc service dr; update spec file; osc build
I tried to refresh the _service file but this failed. $ osc diff _service Index: _service =================================================================== --- _service (revision 57ae2e4a605654c4d32c5562f5d64c92) +++ _service (working copy) @@ -1,6 +1,6 @@ <services> <service name="tar_scm" mode="disabled"> - <param name="url">git://github.com/mitchellh/vagrant.git</param> + <param name="url">https://github.com/mitchellh/vagrant.git</param> <param name="scm">git</param> <param name="package-meta">yes</param> @@ -8,8 +8,8 @@ <param name="exclude">.gitreview</param> <param name="filename">vagrant</param> - <param name="version">1.6.5</param> - <param name="revision">v1.6.5</param> + <param name="version">1.7.2</param> + <param name="revision">v1.7.2</param> <param name="changesgenerate">enable</param> </service> $ osc service dr Cloning into '/tmp/tmpqi99Pl/tmpu6TVeW/vagrant'... ERROR(1): '' HEAD is now at 1cd667b Update CHANGELOG Cleaning: /tmp/tmpqi99Pl/tmpu6TVeW /tmp/tmpqi99Pl/vagrant-1.7.2 Identical target file vagrant-1.7.2.tar.bz2 already exists, skipping.. quilt setup failed: ### md5sum: .........b. ### rpmbuild: pppp ln: failed to create symbolic link 'vagrant-1.7.2/patches': No such file or directory /usr/share/quilt/setup: line 490: cd: vagrant-1.7.2: No such file or directory /usr/share/quilt/setup: line 501: vagrant-1.7.2/series: No such file or directory /usr/share/quilt/setup: line 504: vagrant-1.7.2/series: No such file or directory ln: failed to create symbolic link 'vagrant-1.7.2/patches': No such file or directory /usr/share/quilt/setup: line 490: cd: vagrant-1.7.2: No such file or directory /usr/share/quilt/setup: line 501: vagrant-1.7.2/series: No such file or directory /usr/share/quilt/setup: line 504: vagrant-1.7.2/series: No such file or directory ln: failed to create symbolic link 'vagrant-1.7.2/patches': No such file or directory /usr/share/quilt/setup: line 490: cd: vagrant-1.7.2: No such file or directory /usr/share/quilt/setup: line 501: vagrant-1.7.2/series: No such file or directory /usr/share/quilt/setup: line 504: vagrant-1.7.2/series: No such file or directory ln: failed to create symbolic link 'vagrant-1.7.2/patches': No such file or directory /usr/share/quilt/setup: line 490: cd: vagrant-1.7.2: No such file or directory /usr/share/quilt/setup: line 501: vagrant-1.7.2/series: No such file or directory /usr/share/quilt/setup: line 504: vagrant-1.7.2/series: No such file or directory Aborting: service call failed: /usr/lib/obs/service/refresh_patches --changesgenerate enable --outdir /tmp/tmpm3uvnE What am I doing wrong? Thanks, Robert -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
Robert Munteanu <robert.munteanu@gmail.com> wrote:
On Tue, May 19, 2015 at 12:45 PM, Robert Munteanu <robert.munteanu@gmail.com> wrote:
On Tue, May 19, 2015 at 12:51 AM, Adam Spiers <aspiers@suse.com> wrote:
Robert Munteanu <robert.munteanu@gmail.com> wrote:
vagrant is no longer distributed as a gem as of 1.5.0 - https://rubygems.org/gems/vagrant . This means that I can't use gem2rpm ( to my knowledge ) as I'm already in the build process when the gem is available.
Thinking out loud, is it acceptable to change the update process from:
- download tarball; update spec file; osc build
Actually that's not the current process for that gem; it's
- update revision param in _service file; run osc service dr; update spec file; osc build
I tried to refresh the _service file but this failed.
$ osc diff _service
Index: _service =================================================================== --- _service (revision 57ae2e4a605654c4d32c5562f5d64c92) +++ _service (working copy) @@ -1,6 +1,6 @@ <services> <service name="tar_scm" mode="disabled"> - <param name="url">git://github.com/mitchellh/vagrant.git</param> + <param name="url">https://github.com/mitchellh/vagrant.git</param> <param name="scm">git</param>
<param name="package-meta">yes</param> @@ -8,8 +8,8 @@ <param name="exclude">.gitreview</param>
<param name="filename">vagrant</param> - <param name="version">1.6.5</param> - <param name="revision">v1.6.5</param> + <param name="version">1.7.2</param> + <param name="revision">v1.7.2</param> <param name="changesgenerate">enable</param> </service>
$ osc service dr
Cloning into '/tmp/tmpqi99Pl/tmpu6TVeW/vagrant'... ERROR(1): '' HEAD is now at 1cd667b Update CHANGELOG Cleaning: /tmp/tmpqi99Pl/tmpu6TVeW /tmp/tmpqi99Pl/vagrant-1.7.2 Identical target file vagrant-1.7.2.tar.bz2 already exists, skipping.. quilt setup failed: ### md5sum: .........b. ### rpmbuild: pppp ln: failed to create symbolic link 'vagrant-1.7.2/patches': No such file or directory /usr/share/quilt/setup: line 490: cd: vagrant-1.7.2: No such file or directory /usr/share/quilt/setup: line 501: vagrant-1.7.2/series: No such file or directory /usr/share/quilt/setup: line 504: vagrant-1.7.2/series: No such file or directory ln: failed to create symbolic link 'vagrant-1.7.2/patches': No such file or directory /usr/share/quilt/setup: line 490: cd: vagrant-1.7.2: No such file or directory /usr/share/quilt/setup: line 501: vagrant-1.7.2/series: No such file or directory /usr/share/quilt/setup: line 504: vagrant-1.7.2/series: No such file or directory ln: failed to create symbolic link 'vagrant-1.7.2/patches': No such file or directory /usr/share/quilt/setup: line 490: cd: vagrant-1.7.2: No such file or directory /usr/share/quilt/setup: line 501: vagrant-1.7.2/series: No such file or directory /usr/share/quilt/setup: line 504: vagrant-1.7.2/series: No such file or directory ln: failed to create symbolic link 'vagrant-1.7.2/patches': No such file or directory /usr/share/quilt/setup: line 490: cd: vagrant-1.7.2: No such file or directory /usr/share/quilt/setup: line 501: vagrant-1.7.2/series: No such file or directory /usr/share/quilt/setup: line 504: vagrant-1.7.2/series: No such file or directory
Aborting: service call failed: /usr/lib/obs/service/refresh_patches --changesgenerate enable --outdir /tmp/tmpm3uvnE
What am I doing wrong?
Probably nothing, but I'm puzzled why you get that error. Clearly it's related to the refresh_patches source service. I don't think I added that service in, but presumably it's there to keep the existing patches up to date. If I comment that out then it works fine, but that's probably not ideal. If I leave it in and simply change the version to 1.7.2, I get a different error: --------- 8< --------- 8< --------- 8< --------- 8< --------- 8< --------- $ osc service dr Cloning into '/tmp/tmpVkT402/tmpaXFdjk/vagrant'... ERROR(1): '' HEAD is now at 1cd667b Update CHANGELOG Cleaning: /tmp/tmpVkT402/tmpaXFdjk /tmp/tmpVkT402/vagrant-1.7.2 Compressed vagrant-1.7.2.tar to vagrant-1.7.2.tar.bz2 quilt setup rubygem-vagrant.spec failed: [md5sum < /home/adam/SUSE/OBS/devel/languages/ruby/extensions/rubygem-vagrant//0001-remove-windows-dependencies.patch md5sum < /home/adam/SUSE/OBS/devel/languages/ruby/extensions/rubygem-vagrant//0002-remove-general-installer-notice.pat ch md5sum < /home/adam/SUSE/OBS/devel/languages/ruby/extensions/rubygem-vagrant//_link md5sum < /home/adam/SUSE/OBS/devel/languages/ruby/extensions/rubygem-vagrant//_service md5sum < /home/adam/SUSE/OBS/devel/languages/ruby/extensions/rubygem-vagrant//_servicedata md5sum < /home/adam/SUSE/OBS/devel/languages/ruby/extensions/rubygem-vagrant//rubygem-vagrant-rpmlintrc md5sum < /home/adam/SUSE/OBS/devel/languages/ruby/extensions/rubygem-vagrant//vagrant-1.7.2.tar.bz2 bzip2 -cd /home/adam/SUSE/OBS/devel/languages/ruby/extensions/rubygem-vagrant//vagrant-1.7.2.tar.bz2 | md5sum md5sum < /home/adam/SUSE/OBS/devel/languages/ruby/extensions/rubygem-vagrant//vagrant.sh error: line 29: Dependency tokens must begin with alpha-numeric, '_' or '/': BuildRequires: %{ruby >= 1.9.3} The %prep section of rubygem-vagrant.spec failed; results may be incomplete ] Aborting: service call failed: /usr/lib/obs/service/refresh_patches --changesgenerate 'enable' --outdir /tmp/tmpOiXsuN --------- 8< --------- 8< --------- 8< --------- 8< --------- 8< --------- Unfortunately I don't have any more time to look at this right now. -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ruby+owner@opensuse.org
participants (3)
-
Adam Spiers
-
Marcus Rueckert
-
Robert Munteanu