Ticket #1323 (closed ebuild-defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Paludis cannot merge app-office/libreoffice from a PBIN

Reported by: chutz Owned by:
Priority: Sometime Milestone:
Component: clients/cave Version: 2.2.0
Keywords: Cc:
Blocked By: Blocking:
Distribution: Gentoo

Description

I am unable to merge a pbin of app-office/libreoffice with the following error:

  !!! ERROR in app-office/libreoffice-4.3.5.2::gentoo:
  !!! In _python_check_dead_variables at line 992
  !!! PYTHON_CFLAGS is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#PYTHON_CFLAGS

I stumbled upon this in January, and found this upstream bug about it ( https://bugs.gentoo.org/show_bug.cgi?id=534726) that broke binary (portage) packages of app-office/libreoffice. Paludis suffered the same way.

According to the bug report, that bug got fixed in  http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/python-single-r1.eclass?r1=1.30&r2=1.31

The patch is simple enough:

 python-single-r1_pkg_setup() {
 	debug-print-function ${FUNCNAME} "${@}"
 
-	python_setup
+	[[ ${MERGE_TYPE} != binary ]] && python_setup
 }

Since this happened again today, I checked "PBIN/environment" from the pbin, and I see that the fixed version of python-single-r1_pkg_setup is there.

I also see that MERGE_TYPE=buildonly in the environment.

Shouldn't paludis be setting MERGE_TYPE to "build"? I modified PBIN/environment in the pbin tarball and verified that it is indeed "buildonly".

Here is the modified function:

python-single-r1_pkg_setup () 
{ 
    debug-print-function ${FUNCNAME} "${@}";
    einfo ">>> Inside [${FUNCNAME}] [${@}]. MERGE_TYPE=${MERGE_TYPE}"
    [[ ${MERGE_TYPE} != binary ]] && python_setup
}

And here is the full error:

Error:
  * In program cave perform install --hooks --managed-output --output-exclusivity with-others =app-office/libreoffice-4.3.5.2:0::gg3-desktop-bin --destination installed --replacing =app-office/libreoffice-4.2.8.2:0::installed --x-of-y 1 of 2:
  * When installing 'app-office/libreoffice-4.3.5.2:0::gg3-desktop-bin' replacing { 'app-office/libreoffice-4.2.8.2:0::installed' }:
  * When running an ebuild command on 'app-office/libreoffice-4.3.5.2:0::gg3-desktop-bin':
  * Install failed for 'app-office/libreoffice-4.3.5.2:0::gg3-desktop-bin' (paludis::ActionFailedError)

 * >>> Inside [python-single-r1_pkg_setup] []. MERGE_TYPE=buildonly

!!! ERROR in app-office/libreoffice-4.3.5.2::gentoo:
!!! In _python_check_dead_variables at line 997
!!! PYTHON_CFLAGS is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#PYTHON_CFLAGS

!!! Call stack:
!!!    * _python_check_dead_variables (/var/tmp/paludis/environment-app-office-libreoffice-4.3.5.2-27722:997)
!!!    * python_wrapper_setup (/var/tmp/paludis/environment-app-office-libreoffice-4.3.5.2-27722:7149)
!!!    * python_setup (/var/tmp/paludis/environment-app-office-libreoffice-4.3.5.2-27722:7123)
!!!    * python-single-r1_pkg_setup (/var/tmp/paludis/environment-app-office-libreoffice-4.3.5.2-27722:6429)
!!!    * pkg_setup (/var/tmp/paludis/environment-app-office-libreoffice-4.3.5.2-27722:6287)
!!!    * ebuild_f_setup (/usr/libexec/paludis/0/pkg_setup.bash:43)
!!!    * ebuild_main (/usr/libexec/paludis/ebuild.bash:668)
!!!    * main (/usr/libexec/paludis/ebuild.bash:691)

diefunc: making ebuild PID 27722 exit with error
die trap: exiting with error.

Failed install to / for app-office/libreoffice-4.3.5.2:0::gg3-desktop-bin replacing 4.2.8.2:0::installed

Change History

comment:1 Changed 3 years ago by ciaranm

  • Status changed from new to closed
  • Type changed from defect to ebuild-defect
  • Resolution set to upstream
\t{MERGE\_TYPE} &
     \t{pkg\_*} &
     No &
     \featurelabel{merge-type} The type of package that is being merged. Possible values are:
     \t{source} if building and installing a package from source, \t{binary} if installing a binary
     package, and \t{buildonly} if building a binary package without installing it. Only for EAPIs
     listed in table~\ref{tab:added-env-vars-table} as supporting \t{MERGE\_TYPE}. \\

comment:2 Changed 3 years ago by chutz

  • Status changed from closed to reopened
  • Resolution upstream deleted

I am installing a binary package in this case, so I would expect MERGE_TYPE to be set to binary, just like the quoted PMS excerpt says:  http://dev.gentoo.org/~ulm/pms/5/pms.html#TBL-23-48-2

Possible values are: source if building and installing a package from source, binary if installing a binary package, and buildonly if building a binary package without installing it.

This is being called from pkg_setup, which is valid according to the same quote.

pkg_*

And the EAPI is 5, which supports the variable.

The binary package was already built with a cave resolve -b '*/*'. gg3-desktop-bin is my binary repository.

If this is an upstream bug I am more than happy to chase it upstream. But I need at least an explanation how the ebuild is wrong.

comment:3 Changed 3 years ago by dleverton

  • Status changed from reopened to closed
  • Resolution set to fixed

Should be fixed in 96768e5.

comment:4 Changed 3 years ago by chutz

Thanks! I confirmed that the fix is working.

Note: See TracTickets for help on using tickets.