Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 634546 - games-misc/lolcat-90.8.8 : * Unable to generate gemspec file.
Summary: games-misc/lolcat-90.8.8 : * Unable to generate gemspec file.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords: TESTFAILURE
Depends on:
Blocks:
 
Reported: 2017-10-17 16:23 UTC by Toralf Förster
Modified: 2020-05-08 05:42 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,17.27 KB, text/plain)
2017-10-17 16:23 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,343.44 KB, text/plain)
2017-10-17 16:23 UTC, Toralf Förster
Details
environment (environment,163.74 KB, text/plain)
2017-10-17 16:23 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,18.34 KB, application/x-bzip)
2017-10-17 16:23 UTC, Toralf Förster
Details
games-misc:lolcat-90.8.8:20171017-134423.log (games-misc:lolcat-90.8.8:20171017-134423.log,3.00 KB, text/plain)
2017-10-17 16:23 UTC, Toralf Förster
Details
lolcat-00-no-git-ls-files.patch (00no-git-ls-files.patch,967 bytes, patch)
2019-01-20 08:19 UTC, Greg Turner
Details | Diff
lolcat-01-dependency-hacks.patch (01dependency-hacks.patch,1.22 KB, patch)
2019-01-20 08:20 UTC, Greg Turner
Details | Diff
lolcat-01-dependency-hacks.patch (01dependency-hacks.patch,1.22 KB, patch)
2020-02-24 19:02 UTC, Greg Turner
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2017-10-17 16:23:43 UTC
 * ERROR: games-misc/lolcat-90.8.8::gentoo failed (install phase):
 *   Unable to generate gemspec file.
 * 

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.0-desktop-plasma-systemd_libressl-abi32+64_20171008-122215

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-6.4.0 *

Available Python interpreters, in order of preference:
  [1]   python3.4
  [2]   python2.7 (fallback)
  [3]   jython2.7 (fallback)
Available Ruby profiles:
  [1]   ruby22 (with Rubygems) *
java-config:
The following VMs are available for generation-2:
*)	IcedTea JDK 3.5.1 [icedtea-bin-8]
Available Java Virtual Machines:
  [1]   icedtea-bin-8  system-vm

emerge -qpv games-misc/lolcat
[ebuild  N    ] games-misc/lolcat-90.8.8  USE="{-test}" RUBY_TARGETS="ruby22 -ruby23 -ruby24"
Comment 1 Toralf Förster gentoo-dev 2017-10-17 16:23:46 UTC
Created attachment 498990 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2017-10-17 16:23:49 UTC
Created attachment 498992 [details]
emerge-history.txt
Comment 3 Toralf Förster gentoo-dev 2017-10-17 16:23:52 UTC
Created attachment 498994 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2017-10-17 16:23:55 UTC
Created attachment 498996 [details]
etc.portage.tbz2
Comment 5 Toralf Förster gentoo-dev 2017-10-17 16:23:58 UTC
Created attachment 498998 [details]
games-misc:lolcat-90.8.8:20171017-134423.log
Comment 6 Red 2018-08-05 04:11:15 UTC
I see a bunch of logs here, but what should I make of them? lolcat works for me on a Gentoo installation from December 2017, as well as on every other Linux distro I use, but a recent Gentoo installation August 2018 I am unable to emerge with this same error you have.
Comment 7 Greg Turner 2019-01-20 08:19:38 UTC
Created attachment 562236 [details, diff]
lolcat-00-no-git-ls-files.patch

State of the art may have changed, or there may be a ruby-version (I have 24) or ACCEPT_KEYWORDS (I have ~amd64) difference of some kind because lolcat was working and building fine for me until just now.

However, my recent experience is: lolcat still building but catastrophically broken at runtime result despite a successful re-emerge.  Did not respond to any sort of random frobbing of ruby packages.

Well OK... about as catastrophic as a lolcat failure can be, I guess: instead of a bunch of colorful amusing gibberish I got a screen full of black-and-white alarming technical gibberish.

Probably caused by the dev-ruby/paint-2.0.0 -> 2.1.0 update.

By blindly cargo-cult-style imitation of stuff done in other ebuilds, I managed to create the attached patches which either did not break lolcat or fixed the problem for me, all without my ever learning anything about the underlying problem, gem, ruby, or any other stuff not presented as colorful ascii art in my console :)

Hooray for non-reallocation of dedicated grey matter!  But perhaps somebody more ruby-smart than me (I literally know nothing about ruby) could take a peek and let us know whether any of it actually does anything, or makes any sense at all? :)

This patch gets rid of all the git ls-files dependencies; the next one... is just pure cargo cult, who knows what, if anything, it does :).  With the two in /etc/portage/patches/games-misc/lolcat/ my build looks a bit less broken and my runtime started working again.
Comment 8 Greg Turner 2019-01-20 08:20:47 UTC
Created attachment 562238 [details, diff]
lolcat-01-dependency-hacks.patch
Comment 9 datafatmunger 2019-02-17 18:00:51 UTC
Patch didn't work for me. :-(

sudo ebuild lolcat-90.8.8.ebuild clean prepare
 * lolcat-90.8.8.gem BLAKE2B SHA512 size ;-) ...                                            [ ok ]
 * checking ebuild checksums ;-) ...                                                        [ ok ]
 * checking miscfile checksums ;-) ...                                                      [ ok ]
>>> Unpacking source...
 * Running unpack phase for all ...
 * Unpacking .gem file... ...                                                               [ ok ]
 * Uncompressing metadata ...                                                               [ ok ]
 * Unpacking data.tar.gz ...                                                                [ ok ]
>>> Source unpacked in /var/tmp/portage/games-misc/lolcat-90.8.8/work
>>> Preparing source in /var/tmp/portage/games-misc/lolcat-90.8.8/work ...
 * Running prepare phase for all ...
 * Applying 01dependency-hacks.patch ...
1 out of 1 hunk FAILED -- saving rejects to file lolcat.gemspec.rej                         [ !! ]
 * ERROR: games-misc/lolcat-90.8.8::gentoo failed (prepare phase):
 *   patch -p1  failed with /etc/portage/patches/games-misc/lolcat/01dependency-hacks.patch
 * 
 * Call stack:
 *               ebuild.sh, line  124:  Called src_prepare
 *             environment, line 4371:  Called ruby-ng_src_prepare
 *             environment, line 4075:  Called _ruby_invoke_environment 'all' 'default'
 *             environment, line  568:  Called default
 *      phase-functions.sh, line  868:  Called default_src_prepare
 *      phase-functions.sh, line  933:  Called __eapi6_src_prepare
 *             environment, line  255:  Called eapply_user
 *             environment, line  976:  Called eapply '/etc/portage/patches/games-misc/lolcat/01dependency-hacks.patch'
 *             environment, line  946:  Called _eapply_patch '/etc/portage/patches/games-misc/lolcat/01dependency-hacks.patch'
 *             environment, line  884:  Called __helpers_die 'patch -p1  failed with /etc/portage/patches/games-misc/lolcat/01dependency-hacks.patch'
 *   isolated-functions.sh, line  121:  Called die
 * The specific snippet of code:
 *   		die "$@"
 * 
 * If you need support, post the output of `emerge --info '=games-misc/lolcat-90.8.8::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=games-misc/lolcat-90.8.8::gentoo'`.
!!! When you file a bug report, please include the following information:
GENTOO_VM=  CLASSPATH="" JAVA_HOME=""
JAVACFLAGS="" COMPILER=""
and of course, the output of emerge --info =lolcat-90.8.8
 * The complete build log is located at '/var/tmp/portage/games-misc/lolcat-90.8.8/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/games-misc/lolcat-90.8.8/temp/environment'.
 * Working directory: '/var/tmp/portage/games-misc/lolcat-90.8.8/work/all/lolcat-90.8.8'
 * S: '/var/tmp/portage/games-misc/lolcat-90.8.8/work/all/lolcat-90.8.8'
Comment 10 Greg Turner 2019-02-18 21:38:50 UTC
(In reply to datafatmunger from comment #9)
> Patch didn't work for me. :-(          
>  * Applying 01dependency-hacks.patch ...

Looks to me like you might also need lolcat-00-no-git-ls-files.patch?  Not promising it won't still break :)
Comment 11 Greg Turner 2019-02-18 21:41:57 UTC
Note: they need to be in alphanumeric order.
Comment 12 Red 2019-04-16 10:14:40 UTC
(In reply to Greg Turner from comment #7)
>  
> Probably caused by the dev-ruby/paint-2.0.0 -> 2.1.0 update.
> 

I was able to emerge games-misc/lolcat successfully on a new Gentoo install when forcing =dev-ruby/paint-2.0.1 in package.accept_keywords.

On this and the "December 2017" computer mentioned in my earlier comment (the "August 2018" computer which I mentioned no longer works), I have tried upgrading to different versions of dev-ruby/paint (2.0.3 and then 2.1.0) and subsequently re-emerging games-misc/lolcat. I no longer have any problems with either of the three currently available versions.
Comment 13 Red 2019-04-16 10:36:28 UTC
(In reply to Red from comment #12)
> (In reply to Greg Turner from comment #7)
> >  
> > Probably caused by the dev-ruby/paint-2.0.0 -> 2.1.0 update.
> > 
> 
> I was able to emerge games-misc/lolcat successfully on a new Gentoo install
> when forcing =dev-ruby/paint-2.0.1 in package.accept_keywords.
> 
> On this and the "December 2017" computer mentioned in my earlier comment
> (the "August 2018" computer which I mentioned no longer works), I have tried
> upgrading to different versions of dev-ruby/paint (2.0.3 and then 2.1.0) and
> subsequently re-emerging games-misc/lolcat. I no longer have any problems
> with either of the three currently available versions.

I am however having problems at runtime when 2.1.0 is installed. See bug 683440.
Comment 14 Greg Turner 2020-02-24 19:02:35 UTC
Created attachment 615470 [details, diff]
lolcat-01-dependency-hacks.patch

(In reply to Red from comment #13)
> (In reply to Red from comment #12)
> > (In reply to Greg Turner from comment #7)
> > >  
> > > Probably caused by the dev-ruby/paint-2.0.0 -> 2.1.0 update.

I have of some rather irresponsible lolcat dependencies, here, in my kernel upgrade scripts :), so it didn't take long to notice that the paint 2.2.0 update
broke my lolcat.  I've updated the patch to reflect the new ~amd64 paint version.

In general, if your installed paint version changes, you'll need to modify the patch to reflect the new version, and re-emerge lolcat :(* 


---
* maybe there's some clever way to automate that out?

We could change the patch to do, ie $(qlist | sed) or something... but that's creating a lolcat -> portage-utils BDEP, which is not in the ebuild.  It's also hella inelegant, anyone have any thoughts/examples regarding how an ebuild could ask ruby to tell it the correct version to put here?  Or how the hard-coded version could be eliminated from the build script?
Comment 15 Larry the Git Cow gentoo-dev 2020-05-08 05:42:40 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc43c93052184f27eee1e02c621b958086c3a653

commit fc43c93052184f27eee1e02c621b958086c3a653
Author:     Hans de Graaff <graaff@gentoo.org>
AuthorDate: 2020-05-08 05:41:40 +0000
Commit:     Hans de Graaff <graaff@gentoo.org>
CommitDate: 2020-05-08 05:42:34 +0000

    games-misc/lolcat: add 100.0.1
    
    Closes: https://bugs.gentoo.org/634546
    Package-Manager: Portage-2.3.99, Repoman-2.3.22
    Signed-off-by: Hans de Graaff <graaff@gentoo.org>

 games-misc/lolcat/Manifest              |  1 +
 games-misc/lolcat/lolcat-100.0.1.ebuild | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)