Ticket #704 (closed enhancement: fixed)

Opened 11 years ago

Last modified 10 years ago

Exlibs: Die in global scope / Ability to signal a broken exheres

Reported by: ingmar Owned by:
Priority: Sometime Milestone: EAPI exheres-0
Component: clients/paludis Version: 0.32.4
Keywords: Cc:
Blocked By: Blocking:
Distribution: Exherbo

Description

We've discussed this before a few times, and there's no ticket for it...

Exlibs need a way to signal the package manager that the exheres that required them is broken.

Example use cases: For autotools.exlib, we should make "not setting SUPPORTED_AUTO{CONF,MAKE}" fatal.

Change History

comment:1 Changed 11 years ago by ciaranm

  • Blocking set to 714

comment:2 Changed 11 years ago by ciaranm

  • Blocking changed from 714 to 731

comment:3 follow-up: ↓ 4 Changed 10 years ago by pioto

Maybe each exlib should define an optional function which is called at require time, and may die if things are not valid. It seems like this is most likely to be useful for validating exparams. So, I'd suggest we have a "${EXLIB}_exparam_validation" which gets called to validate them.

For example, in easy-multilib.exlib:

  easy-multilib_exparam_validation() {
      local abi
      for abi in $(exparam abi); do
          if ! has ${abi} ${MULTIBUILD_CLASSES} ; then
              die "Invalid ABI: ${abi}"
          fi
      done
  }

comment:4 in reply to: ↑ 3 Changed 10 years ago by dleverton

Replying to pioto:

Maybe each exlib should define an optional function which is called at require time

/me mutters something about post-source instead....

comment:5 Changed 10 years ago by ciaranm

  • Blocking 731 deleted

comment:6 Changed 10 years ago by ciaranm

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

Looks like Gentoo's going to go the "just die in global scope" route, so I've made Paludis support that. Not exactly pretty, but it'll do for now...

Note: See TracTickets for help on using tickets.