Opened 11 years ago

Closed 10 years ago

Last modified 10 years ago

#40800 closed update (fixed)

vcsh: update to 1.20130909

Reported by: gjasny@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch maintainer Cc: mojca (Mojca Miklavec), ryandesign (Ryan Carsten Schmidt)
Port: vcsh

Description

Hello,

please update the vcsh port. In case ronn-1.9 fails, do the following:

port uninstall rb19-hpricot rb19-ronn rb19-rdiscount rb19-mustache
port install -s rb19-ronn

Thanks, Gregor

Attachments (2)

update-vcsh.diff (1.1 KB) - added by gjasny@… 11 years ago.
vcsh.diff (1.3 KB) - added by gjasny@… 10 years ago.

Download all attachments as: .zip

Change History (14)

Changed 11 years ago by gjasny@…

Attachment: update-vcsh.diff added

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: Please update vshvsh: update to 1.20130909

comment:2 Changed 10 years ago by gjasny@…

Hi,

the new patch depends on #40799.

Thanks, Gregor

Changed 10 years ago by gjasny@…

Attachment: vcsh.diff added

comment:3 Changed 10 years ago by mojca (Mojca Miklavec)

Summary: vsh: update to 1.20130909vcsh: update to 1.20130909
Version: 2.2.0

comment:4 Changed 10 years ago by mojca (Mojca Miklavec)

There is something strange about this port. The first attempt of installation fails, but the second succeeds and that behaviour is 100% reproducible for me.

> sudo port -v install vcsh
--->  Computing dependencies for vcsh.
--->  Fetching archive for vcsh
--->  vcsh-1.20130909_0.darwin_11.noarch.tbz2 doesn't seem to exist in /opt/local/var/macports/incoming/verified
--->  Attempting to fetch vcsh-1.20130909_0.darwin_11.noarch.tbz2 from http://lil.fr.packages.macports.org/vcsh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
--->  Attempting to fetch vcsh-1.20130909_0.darwin_11.noarch.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/vcsh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
--->  Attempting to fetch vcsh-1.20130909_0.darwin_11.noarch.tbz2 from http://jog.id.packages.macports.org/macports/packages/vcsh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
--->  Fetching distfiles for vcsh
--->  Verifying checksums for vcsh
--->  Checksumming vcsh-1.20130909.tar.gz
--->  Extracting vcsh
--->  Extracting vcsh-1.20130909.tar.gz
--->  Configuring vcsh
--->  Building vcsh
make: Entering directory `/path/to/vcsh/work/vcsh-1.20130909'
if which git > /dev/null ; then :; else echo "'git' not found, exiting..."; exit 1; fi
/opt/local/bin/ronn-1.9 < doc/vcsh.1.ronn > vcsh.1
/opt/local/lib/ruby1.9/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find rdiscount (>= 1.5.8) amongst [bigdecimal-1.1.0, builder-2.1.2, hpricot-0.8.4, io-console-0.3, json-1.5.5, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.5, ronn-0.7.3] (Gem::LoadError)
	from /opt/local/lib/ruby1.9/1.9.1/rubygems/specification.rb:777:in `block in activate_dependencies'
	from /opt/local/lib/ruby1.9/1.9.1/rubygems/specification.rb:766:in `each'
	from /opt/local/lib/ruby1.9/1.9.1/rubygems/specification.rb:766:in `activate_dependencies'
	from /opt/local/lib/ruby1.9/1.9.1/rubygems/specification.rb:750:in `activate'
	from /opt/local/lib/ruby1.9/1.9.1/rubygems.rb:1232:in `gem'
	from /opt/local/bin/ronn-1.9:22:in `<main>'
make: *** [vcsh.1] Error 1
make: Leaving directory `/path/to/vcsh/work/vcsh-1.20130909'
Command failed:  cd "/path/to/vcsh/work/vcsh-1.20130909" && /usr/bin/make -j2 -w all 
Exit code: 2
Error: org.macports.build for port vcsh returned: command execution failed
Warning: targets not executed for vcsh: org.macports.activate org.macports.build org.macports.destroot org.macports.install
Please see the log file for port vcsh for details:
    /path/to/vcsh/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port vcsh failed

> sudo port -v install vcsh
--->  Computing dependencies for vcsh.
--->  Building vcsh
make: Entering directory `/path/to/vcsh/work/vcsh-1.20130909'
if which git > /dev/null ; then :; else echo "'git' not found, exiting..."; exit 1; fi
make: Leaving directory `/path/to/vcsh/work/vcsh-1.20130909'
--->  Staging vcsh into destroot
make: Entering directory `/path/to/vcsh/work/vcsh-1.20130909'
if which git > /dev/null ; then :; else echo "'git' not found, exiting..."; exit 1; fi
install -d /path/to/vcsh/work/destroot/opt/local/bin
install -m 0755 vcsh /path/to/vcsh/work/destroot/opt/local/bin
install -d /path/to/vcsh/work/destroot/opt/local/share/man/man1
install -m 0644 vcsh.1 /path/to/vcsh/work/destroot/opt/local/share/man/man1
install -d /path/to/vcsh/work/destroot/opt/local/share/doc/vcsh
install -m 0644 README.md /path/to/vcsh/work/destroot/opt/local/share/doc/vcsh
install -m 0644 doc/hooks /path/to/vcsh/work/destroot/opt/local/share/doc/vcsh
install -d /path/to/vcsh/work/destroot/opt/local/share/zsh/vendor-completions
install -m 0644 _vcsh /path/to/vcsh/work/destroot/opt/local/share/zsh/vendor-completions
make: Leaving directory `/path/to/vcsh/work/vcsh-1.20130909'
--->  Compressing man pages for vcsh
man1/vcsh.1:	  0.0% -- replaced with man1/vcsh.1.gz
man1/vcsh.1.gz: changing permissions from 00644 to 00444
--->  Installing vcsh @1.20130909_0
a .
a ./+COMMENT
a ./+CONTENTS
a ./+DESC
a ./+PORTFILE
a ./+STATE
a ./opt
a ./opt/local
a ./opt/local/bin
a ./opt/local/share
a ./opt/local/share/doc
a ./opt/local/share/man
a ./opt/local/share/zsh
a ./opt/local/share/zsh/vendor-completions
a ./opt/local/share/zsh/vendor-completions/_vcsh
a ./opt/local/share/man/man1
a ./opt/local/share/man/man1/vcsh.1.gz
a ./opt/local/share/doc/vcsh
a ./opt/local/share/doc/vcsh/hooks
a ./opt/local/share/doc/vcsh/README.md
a ./opt/local/bin/vcsh
--->  Activating vcsh @1.20130909_0
...
--->  Cleaning vcsh
--->  Removing work directory for vcsh
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.

I thought it had something to do with a parallel build, but disabling it doesn't help at all.

comment:5 in reply to:  description Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to gjasny@…:

In case ronn-1.9 fails, do the following:

port uninstall rb19-hpricot rb19-ronn rb19-rdiscount rb19-mustache
port install -s rb19-ronn

That was because of #39248 and fixed in r115099.

comment:6 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: mojca@… ryandesign@… added

I committed the portion of the patch that changes the mr dependency to myrepos in r115103.

The portion of the patch that uses a post-patch block to change ronn to ronn-1.9 should be a patchfile instead.

comment:7 in reply to:  6 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Replying to ryandesign@…:

The portion of the patch that uses a post-patch block to change ronn to ronn-1.9 should be a patchfile instead.

Committed that part in r115104.

Replying to mojca@…:

/opt/local/lib/ruby1.9/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find rdiscount (>= 1.5.8) amongst [bigdecimal-1.1.0, builder-2.1.2, hpricot-0.8.4, io-console-0.3, json-1.5.5, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.5, ronn-0.7.3] (Gem::LoadError)

The lion buildslave had a similar error building vcsh @1.20130724, except it could not find hpricot. I updated rb19-hpricot to a newer version in r115106 and rb19-rdiscount in r115107. After that I forced a rebuild on the lion buildslave, and it complained about mustache, so I updated rb19-mustache in r115108. Then the lion buildslave built vcsh successfully. Then I updated vcsh to 1.20130909 in r115109, and all 4 buildslaves built it ok. Did this help you as well? If you still get a build failure, check if other ports in the dependency chain are still affected by #39248 and update or revbump them.

comment:8 Changed 10 years ago by mojca (Mojca Miklavec)

I'll test now. But without doing any extensive research about dependencies: doesn't the failure mean that at least rb19-rdiscount is missing as a dependency of vchs (possibly also others)? At least in my case the package wasn't installed when I first tried to install vcsh.

Unrelated: I don't know if it makes any difference, but in the port I wanted to submit I added $prefix/bin to reinplace -E "s|ronn <|${prefix}/bin/ronn-1.9 <|" ${worksrcpath}/Makefile. I don't know much about official guidelines to write ruby packages, but something tells me that vcsh should be patch upstream in such a way that this patch wouldn't be needed or that it could pick up an environmental variable to find the right binary for example. Is anyone willing to report this upstream?

comment:9 Changed 10 years ago by mojca (Mojca Miklavec)

It works. But upstream is already at version 1.20131214.

comment:10 in reply to:  8 ; Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to mojca@…:

It works.

Great!

But upstream is already at version 1.20131214.

There are 6 different tags for 1.20131214 in their repository; I'll try to figure out why and which one we should use.

Replying to mojca@…:

I'll test now. But without doing any extensive research about dependencies: doesn't the failure mean that at least rb19-rdiscount is missing as a dependency of vchs (possibly also others)? At least in my case the package wasn't installed when I first tried to install vcsh.

It should have been installed already. vcsh has a build dependency on rb19-ronn which has runtime dependencies on rb19-mustache, rb19-rdiscount, rb19-hpricot.

Unrelated: I don't know if it makes any difference, but in the port I wanted to submit I added $prefix/bin to reinplace -E "s|ronn <|${prefix}/bin/ronn-1.9 <|" ${worksrcpath}/Makefile.

It is better to use the full path to the executable, for the unlikely scenario that a user has edited binpath in macports.conf and put a different path before /opt/local/bin which contains a different and broken version of the same executable.

I don't know much about official guidelines to write ruby packages, but something tells me that vcsh should be patch upstream in such a way that this patch wouldn't be needed or that it could pick up an environmental variable to find the right binary for example. Is anyone willing to report this upstream?

It would be nice if the build script would provide a way for us to specify the path for ronn without having to patch the file.

comment:11 in reply to:  10 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

There are 6 different tags for 1.20131214 in their repository; I'll try to figure out why and which one we should use.

  • The difference between "1.20131214" and "1.20131214-1" is that "1.20131214-1" contains the directory "debian" so we don't care about that.
  • The difference between "1.20131214" and "1.20131214-homebrew" is that "1.20131214-homebrew" contains the file "vcsh.1"; we don't need that because we use ronn to generate it.

It would be nice if the build script would provide a way for us to specify the path for ronn without having to patch the file.

1.20131214 already includes this.

Updated the port to 1.20131214 in r115114.

comment:12 Changed 10 years ago by gjasny@…

I submitted a patch to vcsh to specify the RONN executable as make variable. But you already figured that out :-)

Thanks, for taking care!

Note: See TracTickets for help on using tickets.