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

Re: Getting dh_install to do what we need



Arno Töll <debian@toell.net> writes:

> Hello,
>
> On 08.12.2011 10:44, Goswin von Brederlow wrote:
>> Or for the more general case:
>> 
>> override_dh_auto_install:
>>     debian/libfoo.my-install-script
> [..]
>
>> This new feature stinks of black-box magic that will make people crazy
>> trying to find/fix a prolem in somebody elses package. The thing that
>> make cdbs so bad.
>
>
> I beg to disagree. You made  very good example why the former (your)
> approach was a black-box indeed, whereas the newer one in fact
> standardizes things in parts.
>
> See, in your case libfoo.my-install-script could be doing anything,

The libfoo.install file can do anything too. It's an executable, which
are turing complete.

> including but not limited to copying, moving, creating, changing a file
> without any information on what's going on.
> Now, by using that feature you are forced to generate a (dynamic) file
> listing instead and everyone can execute that script and see the results
> without /actually/ installing anything to a binary package.

But the debian/rules file makes it clear that there is something more
than copying going on. It points a big fat arrow at the
debian/libfoo.my-install-script.

With the automatic execution feauture you never know if there is magic
going on under the hood or not unless you carefully check every single
files permissions.

I'm not objecting to the magic part, I'm objecting to the black-box
part.

> Of course you could discuss whether executing scripts is necessarily a
> better idea than having some semantically parsed *.install file magic
> instead, but that's an implementation detail.
> Up to now, you are all discussing why "chmod +x foo.install" is so much

Note: With a debian.tar file you don't need the chmod I think. So
debian/rules would give you no indication that there is a black-box
thing happening via dh_install.

> worse than overriding dh_install by your own dark magic but you should
> be realizing you just traded one black-box for another
> not-so-black-but-still-very-dark-box.

Let there be light.

A lot of cases will also be like

override_dh_auto_install:
     sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' < debian/libfoo.install.in > debian/libfoo.install
     dh_install

Something I would find more readable than libfoo.install being a executable.

MfG
        Goswin


Reply to: