Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 688174 - SYMLINK_LIB=no / 17.1 profiles break VDR plugins
Summary: SYMLINK_LIB=no / 17.1 profiles break VDR plugins
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo VDR Project
URL:
Whiteboard:
Keywords:
Depends on: 699846 699850
Blocks: no-symlink-lib
  Show dependency tree
 
Reported: 2019-06-16 17:55 UTC by Raimonds Cicans
Modified: 2019-12-15 01:06 UTC (History)
5 users (show)

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


Attachments
with all the needs for proxying (metadata.xml,583 bytes, text/xml)
2019-11-13 15:36 UTC, Joerg Bornkessel
Details
gentoo-vdr-scripts-2.8.ebuild (gentoo-vdr-scripts-2.8.ebuild,2.92 KB, text/plain)
2019-11-13 15:45 UTC, Joerg Bornkessel
Details
fixed ebuild (gentoo-vdr-scripts-2.8.ebuild,2.24 KB, text/plain)
2019-11-17 12:37 UTC, Joerg Bornkessel
Details
removed DOCS (gentoo-vdr-scripts-2.8.ebuild,2.20 KB, text/plain)
2019-11-17 12:41 UTC, Joerg Bornkessel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raimonds Cicans 2019-06-16 17:55:19 UTC
On all architectures that are not classical 32-bit architectures (amd64, arm64 etc) after migrating to "SYMLINK_LIB=no / 17.1 profiles" all kind of VDR scripts stop seeing VDR plugins.

Affected packages:
app-eselect/eselect-vdr
media-tv/gentoo-vdr-scripts

Cause: packages use hard-coded plugins' path - /usr/lib/vdr/plugins

VERY DIRTY HACK (amd64 architecture): ln -sf /usr/lib64/vdr /usr/lib/

Just some observations:
- packages are created by Gentoo VDR Project team (AKA upstream)
- packages not touched about two years
- it looks Gentoo VDR Project is dead (their Web page not updated since 2016)

I will try to create patches but I need to know what is right portable way to detect correct library path from shell.


Sorry for not providing any environment / log files.
I have problem on at least three AMD64 computers with different profiles.
I do not know from which one I should provide such information.
Comment 1 Viachaslau Khalikin 2019-06-19 13:39:39 UTC
For package media-tv/gentoo-vdr-scripts hardcoded dir fixed in 2.7.5.1 (available for testing branch)

Instead symlink, you also can to change value $plugindir to "$(pkg-config --variable=libdir vdr)" in /usr/share/eselect/modules/vdr-plugin.eselect and rebuild media-tv/gentoo-vdr-scripts with ~amd64 keyword.
Comment 2 Joerg Bornkessel 2019-11-11 17:14:47 UTC
will fixed in next few days,

but it could quit be longer, as we depend in the new ebuild version to
acct-user/vdr
acct-group/vdr

the new group/user ebuilds has to discus on #dev-gentoo ML at first to apply a fixed group/user id.
Comment 3 Joerg Bornkessel 2019-11-13 15:36:30 UTC
Created attachment 595998 [details]
with all the needs for proxying
Comment 4 Joerg Bornkessel 2019-11-13 15:45:03 UTC
Created attachment 596000 [details]
gentoo-vdr-scripts-2.8.ebuild

Attached ebuild (sources) will fix all problems with /usr/lib /usr/lib64

Note: this ebuild will still use the user.eclass
as we need a fast fix for the QA problem

plz. ignore the blocking bugs
acct-user/vdr
acct-group/vdr

this commit will also fix
https://bugs.gentoo.org/show_bug.cgi?id=298785
https://bugs.gentoo.org/show_bug.cgi?id=646518
Comment 5 Joerg Bornkessel 2019-11-15 21:01:52 UTC
@ Joonas

as profil 17.1 breaks this package,
i CC'd you direct to this bug
as we talk'd before

please read my comment on top of this for commit
Comment 6 Joonas Niilola gentoo-dev 2019-11-17 08:16:13 UTC
Comment on attachment 596000 [details]
gentoo-vdr-scripts-2.8.ebuild

># Copyright 1999-2016 Gentoo Foundation
Update the copyright header here.

># Distributed under the terms of the GNU General Public License v2
>
>EAPI=7
>
>inherit user
>
>DESCRIPTION="Scripts necessary for use of vdr as a set-top-box"
>HOMEPAGE="https://www.gentoo.org/"
Is this correct?

>SRC_URI="http://vdr.websitec.de/download/${PN}/${P}.tar.bz2"
>
>LICENSE="GPL-2"
>SLOT="0"
>KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
>IUSE="nvram"
>
>RDEPEND="nvram? ( sys-power/nvram-wakeup )
Please sort accordingly to proxy-maints styling standards, so unconditional deps before conditional ones. Ie just move this to bottom. 
>	app-admin/sudo
>	sys-process/wait_on_pid"
>
>VDR_HOME=/var/vdr
>
>pkg_setup() {
>	enewgroup vdr
>
>	# Add user vdr to these groups:
>	#   video - accessing dvb-devices
>	#   audio - playing sound when using software-devices
>	#   cdrom - playing dvds/audio-cds ...
>	enewuser vdr -1 /bin/bash "${VDR_HOME}" vdr,video,audio,cdrom
>}
>
>src_install() {
>	local DOCS=( README* TODO ChangeLog )
You can make this global and below RDEPEND, but looks like it's not even needed since einstalldocs (called by default) should catch these on its own. 

>
>	default
>
>	# create necessary directories
>	diropts -ovdr -gvdr
>	keepdir "${VDR_HOME}"
>
>	local kd
>	for kd in shutdown-data merged-config-files dvd-images; do
>		keepdir "${VDR_HOME}/${kd}"
>	done
I don't see any benefit with this for loop. By just typing "keepdir dirs" you get even less lines than you do with this for loop, and it's a lot more cleaner what's happening here.

>}
>
>pkg_preinst() {
>	local PLUGINS_NEW=0
>	if [[ -f "${EROOT}"/etc/conf.d/vdr.plugins ]]; then
>		PLUGINS_NEW=$(grep -v '^#' "${EROOT}"/etc/conf.d/vdr.plugins |grep -v '^$'|wc -l)
From this line below, all the external commands need to die. I'm not sure how to correctly do it with this bracket section, but most likely just add a subcommand inside subcommand. These are the new QA standards.

>	fi
>	if [[ ${PLUGINS_NEW} > 0 ]]; then
>		cp "${EROOT}"/etc/conf.d/vdr.plugins "${ED}"/etc/conf.d/vdr.plugins
Here.

>	else
>		einfo "Migrating PLUGINS setting from /etc/conf.d/vdr to /etc/conf.d/vdr.plugins"
>		local PLUGIN
>		for PLUGIN in $(source "${EROOT}"/etc/conf.d/vdr;echo $PLUGINS); do
>			echo ${PLUGIN} >> "${ED}"/etc/conf.d/vdr.plugins
Here. 

>		done
>	fi
>}
>
>pkg_postinst() {
>	elog "${CATEGORY}/${PN} supports an init script"
>	elog "to start a X server"
>	elog "Please refer for detailed info to"
>	elog "/usr/share/doc/${PF} README.x11-setup\n"
Missing a / here?

>
>	if use nvram; then
>		elog "nvram wakeup is optional."
>		elog "To make use of it emerge sys-power/nvram-wakeup.\n"
Doesn't USE="nvram" already pull it? Actually looks like it has no function in the ebuild, so you should remove the USE flag. 
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Policies#USE-Controlled_Optional_RDEPENDs

>	fi
>
>	elog "Plugins which should be used are set via its"
>	elog "own config-file called /etc/conf.d/vdr.plugins"
>	elog "or enabled via the frontend eselect vdr-plugin.\n"
>
>	if [[ -f "${EROOT}"/etc/conf.d/vdr.dvdswitch ]] &&
>		grep -q ^DVDSWITCH_BURNSPEED= "${EROOT}"/etc/conf.d/vdr.dvdswitch
Back to || die.

>	then
>		ewarn "You are setting DVDSWITCH_BURNSPEED in /etc/conf.d/vdr.dvdswitch"
>		ewarn "This no longer has any effect, please use"
>		ewarn "VDR_DVDBURNSPEED in /etc/conf.d/vdr.cd-dvd"
>	fi
>
>	elog "systemd is supported by ${CATEGORY}/${PN}"
>	elog "This are described in the README.systemd file"
>	elog "in /usr/share/doc/${PF}"
>}
>
>VDRSUDOENTRY="vdr ALL=NOPASSWD:/usr/share/vdr/bin/vdrshutdown-really.sh"
>
>pkg_config() {
>	if grep -q /usr/share/vdr/bin/vdrshutdown-really.sh "${EROOT}"/etc/sudoers; then
Most likely here. 

>
>		einfo "Removing depricated entry from /etc/sudoers:"
>		einfo "-  ${VDRSUDOENTRY}"
>
>		cd "${T}"
Here. 

>		cat >sudoedit-vdr.sh <<-SUDOEDITOR
Somewhere here.

>			#!/bin/bash
>			sed -i \${1} -e '/\/usr\/share\/vdr\/bin\/vdrshutdown-really.sh *$/d'
>
>		SUDOEDITOR
>		chmod a+x sudoedit-vdr.sh
Here.

>
>		VISUAL="${T}"/sudoedit-vdr.sh visudo -f "${EROOT}"/etc/sudoers || die "visudo failed"
Like this! :)

>
>		einfo "Edited /etc/sudoers"
>	fi
>}
Comment 7 Joonas Niilola gentoo-dev 2019-11-17 08:17:59 UTC
Im not sure if you can utilize /etc/sudoers.d better here.
Comment 8 Joerg Bornkessel 2019-11-17 10:49:29 UTC
>>DESCRIPTION="Scripts necessary for use of vdr as a set-top-box"
>>HOMEPAGE="https://www.gentoo.org/"
>Is this correct?
not shure, as the gentoo-vdr-scripts are hosted by gentoo.org somewhere in the git

we could change this to:
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:VDR"

there is no description about the script set, but there is a notification about
that the gentoo-vdr-scripts are a part from gentoo vdr project.

or we use
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"

what is your suggestion?
Comment 9 Joerg Bornkessel 2019-11-17 12:37:47 UTC
Created attachment 596498 [details]
fixed ebuild

what i have done:

- fixed minor issues about missing trailing slashes
- removed nvram use flag
 removed sys-power/nvram-wakeup
 for support of this, im added a message in pkg_postinst()

- removed pkg_config() visudo handling complete
 this should already done by previus gentoo-vdr-scripts versionen
 new users will not complain about this
 now, we have a backup warning in pkg_postinst() for users the still use
 a very old version of gentoo-vdr-scripts

- removed the unneeded local DOCS routine

- simplified the .keepdir in the local kd routine

- removed pkg_preinstall() complete, as the migration is still done in previous 
 versions of gentoo-vdr-scripts

repoman complains about migration from user to GLEP81
this needs at first the depenend packages in the tree
when it is establish, we will fix it so fast as possible

for your HOMEPAGE question
iam added in the ebuild 2 lines

HOMEPAGE="https://wiki.gentoo.org/wiki/Project:VDR"
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"

please remove one of this on your needs
i will not complain about the rights managment in this case ;)

thx for your review and support
Comment 10 Joerg Bornkessel 2019-11-17 12:41:27 UTC
Created attachment 596500 [details]
removed DOCS

grr,

DOCS was still in the ebuild
fixed
Comment 11 Martin Dummer 2019-11-20 22:13:02 UTC
After reading this wonderful mess, I checked the difference between gentoo-vdr-scripts-2.7.5.1.tar.bz2 and gentoo-vdr-scripts-2.8.tar.bz2 - there is NO difference, no code changes.

So why should next ebuild be named "gentoo-vdr-scripts-2.8" ? 

IMHO "gentoo-vdr-scripts-2.7.5.1-r1" is sufficient.
Comment 12 Joerg Bornkessel 2019-12-04 19:44:44 UTC
(In reply to Martin Dummer from comment #11)
> After reading this wonderful mess, I checked the difference between
> gentoo-vdr-scripts-2.7.5.1.tar.bz2 and gentoo-vdr-scripts-2.8.tar.bz2 -
> there is NO difference, no code changes.
> 
> So why should next ebuild be named "gentoo-vdr-scripts-2.8" ? 
> 
> IMHO "gentoo-vdr-scripts-2.7.5.1-r1" is sufficient.

thx martin for review this,
i was going in the trap of the integrated compressing file for the sources.
this works, if i noticed afterwards, only if i call it direct in the git.

The sources are compressed now by hand and includes all the changes from myself.

PN = 2.8 is correct now.

thx for reporting this...
Comment 13 Joerg Bornkessel 2019-12-04 19:46:28 UTC
(In reply to Joerg Bornkessel from comment #12)
> (In reply to Martin Dummer from comment #11)
> > After reading this wonderful mess, I checked the difference between
> > gentoo-vdr-scripts-2.7.5.1.tar.bz2 and gentoo-vdr-scripts-2.8.tar.bz2 -
> > there is NO difference, no code changes.
> > 
> > So why should next ebuild be named "gentoo-vdr-scripts-2.8" ? 
> > 
> > IMHO "gentoo-vdr-scripts-2.7.5.1-r1" is sufficient.
> 
> thx martin for review this,
> i was going in the trap of the integrated compressing file for the sources.
> this works, if i noticed afterwards, only if i call it direct in the git.
> 
> The sources are compressed now by hand and includes all the changes from
> myself.
> 
> PN = 2.8 is correct now.
PV i meant ;)
> 
> thx for reporting this...
Comment 14 Larry the Git Cow gentoo-dev 2019-12-15 01:06:00 UTC
The bug has been closed via the following commit(s):

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

commit 832251698a5928764e2aeb6486cbb07f82a42944
Author:     Joerg Bornkessel <hd_brummy@gentoo.org>
AuthorDate: 2019-12-15 01:05:14 +0000
Commit:     Joerg Bornkessel <hd_brummy@gentoo.org>
CommitDate: 2019-12-15 01:05:14 +0000

    media-tv/gentoo-vdr-scripts: bump to 2.8
    
    this bump will fix:
    SYMLINK_LIB=no / 17.1 profiles break VDR plugins
    fails to shutdown pc for sleep
    shuts the vdr down even if nvram-wakup fails
    disabled login for user vdr
    ebuild cleanup
    cleanup old
    
    Bug: https://bugs.gentoo.org/688174
    Bug: https://bugs.gentoo.org/646518
    Bug: https://bugs.gentoo.org/298785
    Closes: https://bugs.gentoo.org/688174
    Closes: https://bugs.gentoo.org/646518
    Closes: https://bugs.gentoo.org/298785
    Package-Manager: Portage-2.3.81, Repoman-2.3.18
    Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org>

 media-tv/gentoo-vdr-scripts/Manifest               |   6 +-
 .../gentoo-vdr-scripts-2.0.0.ebuild                | 130 --------------------
 .../gentoo-vdr-scripts-2.5.ebuild                  | 133 --------------------
 .../gentoo-vdr-scripts-2.7.2.ebuild                | 135 ---------------------
 .../gentoo-vdr-scripts-2.7.5.ebuild                | 130 --------------------
 .../gentoo-vdr-scripts-2.7.ebuild                  | 135 ---------------------
 .../gentoo-vdr-scripts-2.8.ebuild                  |  82 +++++++++++++
 7 files changed, 83 insertions(+), 668 deletions(-)

Additionally, it has been referenced in the following commit(s):

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

commit 832251698a5928764e2aeb6486cbb07f82a42944
Author:     Joerg Bornkessel <hd_brummy@gentoo.org>
AuthorDate: 2019-12-15 01:05:14 +0000
Commit:     Joerg Bornkessel <hd_brummy@gentoo.org>
CommitDate: 2019-12-15 01:05:14 +0000

    media-tv/gentoo-vdr-scripts: bump to 2.8
    
    this bump will fix:
    SYMLINK_LIB=no / 17.1 profiles break VDR plugins
    fails to shutdown pc for sleep
    shuts the vdr down even if nvram-wakup fails
    disabled login for user vdr
    ebuild cleanup
    cleanup old
    
    Bug: https://bugs.gentoo.org/688174
    Bug: https://bugs.gentoo.org/646518
    Bug: https://bugs.gentoo.org/298785
    Closes: https://bugs.gentoo.org/688174
    Closes: https://bugs.gentoo.org/646518
    Closes: https://bugs.gentoo.org/298785
    Package-Manager: Portage-2.3.81, Repoman-2.3.18
    Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org>

 media-tv/gentoo-vdr-scripts/Manifest               |   6 +-
 .../gentoo-vdr-scripts-2.0.0.ebuild                | 130 --------------------
 .../gentoo-vdr-scripts-2.5.ebuild                  | 133 --------------------
 .../gentoo-vdr-scripts-2.7.2.ebuild                | 135 ---------------------
 .../gentoo-vdr-scripts-2.7.5.ebuild                | 130 --------------------
 .../gentoo-vdr-scripts-2.7.ebuild                  | 135 ---------------------
 .../gentoo-vdr-scripts-2.8.ebuild                  |  82 +++++++++++++
 7 files changed, 83 insertions(+), 668 deletions(-)