Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 598830

Summary: x11-wm/fvwm-2.6.5-r1: installation fails in RAP/Prefix
Product: Gentoo Linux Reporter: Gábor VIDA <vidagabor>
Component: Current packagesAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: RESOLVED TEST-REQUEST    
Severity: normal CC: jstein, proxy-maint, vidagabor
Priority: Normal    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 599144    
Bug Blocks:    
Attachments: output of emerge --info '=x11-wm/fvwm-2.6.5-r1::gentoo'
diff between the old and the fixed ebuild
the fixed ebuild
list of installed files using the original ebuild on non-prefixed Gentoo
list of installed files using the fixed ebuild on non-prefixed Gentoo
list of installed files using the fixed ebuild on RAP Gentoo
build log on RAP Gentoo
the fixed ebuild
diff between the old and the fixed ebuild

Description Gábor VIDA 2016-11-03 09:42:51 UTC
Hi!

I realized that the ebuild of FVWM is not prepared for Gentoo Prefix. It has many
inproper directory usage, starting from this is src_install():

 * ERROR: x11-wm/fvwm-2.6.5-r1::gentoo failed (install phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line 115:  Called src_install
 *   environment, line 3203:  Called die
 * The specific snippet of code:
 *       echo "/usr/bin/fvwm" > "${D}/etc/X11/Sessions/${PN}" || die;

The line should look like this:

  echo "${EPREFIX}/usr/bin/fvwm" > "${ED}/etc/X11/Sessions/${PN}" || die

I fixed other problems too I faced with while I tried to make it work. I attach the
 
 - new ebuild that I suppose is better

 - a diff

 - qlist of the installed files using the original r1 version on non-prefixed Gentoo

 - qlist of the installed files using the new r2 version on non-prefixed Gentoo

 - qlist of the installed files using the new r2 veriosn on Gentoo RAP

The new ebuild reversion installs FVWM modules to usr/libexec, which I think is
better than the original usr/lib directory, since FVWM modules are standalone
executables that are communicating with FVWM on pipes.

Please note that I have no experience or knowledge writing ebuilds.


Reproducible: Always

Steps to Reproduce:
1. emerge fvwm

Actual Results:  
 * ERROR: x11-wm/fvwm-2.6.5-r1::gentoo failed (install phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line 115:  Called src_install
 *   environment, line 3203:  Called die
 * The specific snippet of code:
 *       echo "/usr/bin/fvwm" > "${D}/etc/X11/Sessions/${PN}" || die;
 * 
 * If you need support, post the output of `emerge --info '=x11-wm/fvwm-2.6.5-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=x11-wm/fvwm-2.6.5-r1::gentoo'`.
 * The complete build log is located at '/home/vidagabor/usr/roots/gentoo/var/tmp/portage/x11-wm/fvwm-2.6.5-r1/temp/build.log'.
 * The ebuild environment file is located at '/home/vidagabor/usr/roots/gentoo/var/tmp/portage/x11-wm/fvwm-2.6.5-r1/temp/environment'.
 * Working directory: '/home/vidagabor/usr/roots/gentoo/var/tmp/portage/x11-wm/fvwm-2.6.5-r1/work/fvwm-2.6.5'
 * S: '/home/vidagabor/usr/roots/gentoo/var/tmp/portage/x11-wm/fvwm-2.6.5-r1/work/fvwm-2.6.5'


Expected Results:  
Properly installed package.
Comment 1 Gábor VIDA 2016-11-03 09:47:44 UTC
Created attachment 452232 [details]
output of emerge --info '=x11-wm/fvwm-2.6.5-r1::gentoo'
Comment 2 Gábor VIDA 2016-11-03 09:48:39 UTC
Created attachment 452234 [details, diff]
diff between the old and the fixed ebuild
Comment 3 Gábor VIDA 2016-11-03 09:49:25 UTC
Created attachment 452236 [details]
the fixed ebuild
Comment 4 Gábor VIDA 2016-11-03 09:50:44 UTC
Created attachment 452238 [details]
list of installed files using the original ebuild on non-prefixed Gentoo
Comment 5 Gábor VIDA 2016-11-03 09:51:54 UTC
Created attachment 452240 [details]
list of installed files using the fixed ebuild on non-prefixed Gentoo
Comment 6 Gábor VIDA 2016-11-03 09:53:04 UTC
Created attachment 452242 [details]
list of installed files using the fixed ebuild on RAP Gentoo
Comment 7 Gábor VIDA 2016-11-03 09:54:40 UTC
Created attachment 452244 [details]
build log on RAP Gentoo
Comment 8 Felix Janda 2016-11-03 10:54:50 UTC
Some comments on the patched ebuild:

- there is a typo in the '--docdir'
- is it really necessary to specify '--docdir' anyway?
- the fperms call also needs to be eprefixified

Note that the current proxied maintainer has not worked on the package
for more than a year. So don't expect that this bug will be fixed until
another maintainer steps up. (It could be you.)

Also note that there is a new version (see bug 580166) for which (I
think) some parts of src_install become unecessary.
Comment 9 Gábor VIDA 2016-11-04 14:37:25 UTC
Thank you for the comments!

I was focusing on doing only the minimal to make this ebuild work in RAP. But yes, --docdir is not needed.

I can't see the typo around --docdir, but since I removed, it is not interesting any more.

If I use eprefixified path with fperms, like:

echo "${EPREFIX}/usr/bin/fvwm" > "${ED}/etc/X11/Sessions/${PN}" || die
fperms a+x ${ED}/etc/X11/Sessions/${PN} || die

Then I get this:

chmod: cannot access '/home/vidagabor/usr/roots/gentoo/var/tmp/portage/x11-wm/fvwm-2.6.5-r2/image/home/vidagabor/usr/roots/gentoo//home/vidagabor/usr/roots/gentoo/var/tmp/portage/x11-wm/fvwm-2.6.5-r2/image/home/vidagabor/usr/roots/gentoo//etc/X11/Sessions/fvwm': No such file or directory
 * ERROR: x11-wm/fvwm-2.6.5-r2::gentoo failed (install phase):
 *   fperms failed

I looked into fperms code, and it seems that it does auto-eprefixing:

chmod "${@/#${slash}/${ED}${slash}}"

I'm interested in being the proxy maintainer of this package, however, fvwm is not yet in the maintainer-needed list. Do you think I still can open a Maintainership Request bug?
Comment 10 Gábor VIDA 2016-11-04 15:10:51 UTC
Created attachment 452380 [details]
the fixed ebuild
Comment 11 Gábor VIDA 2016-11-04 15:13:33 UTC
Created attachment 452382 [details, diff]
diff between the old and the fixed ebuild
Comment 12 Felix Janda 2016-11-05 01:12:48 UTC
Please do open a maintainership request bug if you are interested in
maintaining this package. A package can also have more than one
proxied maintainer.

It's good to know that fperms takes the prefix into account.
Comment 13 Pacho Ramos gentoo-dev 2018-10-08 12:15:26 UTC
please retry with 2.6.8 and, if still valid, provide an updated diff

Thanks