[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DEB_VENDOR and forks



On Wed, 18 Mar 2009, Loïc Minier wrote:
>  If you implement conditional behavior in your rules, typically based on
>  lsb_release -is output:
>  if vendor is Ubuntu:
>     foo
>  elif vendor is Debian:
>     bar
>  you face a problem when you meet:
>  else:
> 
>  What behavior should one use here?

Debian should always be the "else" because it's the default case. It
ensures that the lack of DEB_VENDOR results in correct package and
also that any unknown derivatives get the Debian behaviour.

Of course an Ubuntu derivative could be surprised if they get
a Debian-variant of a package instead of an Ubuntu-variant… this explains
your other remark:

>  Instead, I think it would be nice if we could express some inheritance
>  concept so that you can have conditional behavior in rules based on
>  either "this distribution and its derivatives" or "only for this exact
>  distribution" and logical combinations such as "derivatives of Foo
>  except derivatives of Bar".

I see how we can solve it (add new fields in /etc/dpkg/origins/* to
describe parent relationship, and create a new tool to query those
meta-information) but I wonder what impact you expect it would have
on the decision of exporting DEB_VENDOR in the build environment.

Would you like a DEB_VENDORS="Gobuntu Ubuntu Debian" or similar
so that no external tool is required ?

ifneq (,$(filter Ubuntu,$(DEB_VENDORS)))
    # Ubuntu or derivative
endif

Cheers,
-- 
Raphaël Hertzog

Contribuez à Debian et gagnez un cahier de l'admin Debian Lenny :
http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/


Reply to: