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

Re: Policy changes which completely break apt-cross



Neil Williams <codehelp@debian.org> writes:

> On Thu, 01 Jul 2010 11:04:57 +0200
> Goswin von Brederlow <goswin-v-b@web.de> wrote:
>
> Please don't CC: me, I'm on the list.
>
>> Do i remember correctly that dpkg-cross by default skips the package if
>> the result would be empty? But yes, empty (except for /usr/share/doc/*)
>> packages have to be handled corectly.
>
> No, you do not remember correctly. If apt-cross gets the calculation
> wrong and downloads debconf, dpkg-cross will create an empty
> debconf-armel-cross package.
>
> This all happens BEFORE dpkg-cross gets involved - it has to be decided
> by the tool doing the downloading.

% dpkg-cross -b /var/cache/apt/archives/debconf_1.5.32_all.deb
dpkg-cross: package debconf doesn't provide any useful files. Skipping.

It does. You need to specify

 -A|--convert-anyway:  convert package even if it does not provide any
                       development files

% dpkg -c debconf-i386-cross_1.5.32_all.deb 
drwxr-xr-x root/root         0 2010-07-01 15:25 ./
drwxr-xr-x root/root         0 2010-07-01 15:25 ./usr/
drwxr-xr-x root/root         0 2010-07-01 15:25 ./usr/share/
drwxr-xr-x root/root         0 2010-07-01 15:25 ./usr/share/doc/
drwxr-xr-x root/root         0 2010-07-01 15:25 ./usr/share/doc/debconf-i386-cross/
-rw-r--r-- root/root       260 2010-07-01 15:25 ./usr/share/doc/debconf-i386-cross/README

.oO(Where did changelog and copyright go?)

>> >> But yes, worst case we end up pulling a -arch-cross package in that is
>> >> just empty. Apt-cross could actually do that too. But that is the tricky
>> >> part since it involves some form of guessing. I use name and
>> >> architecture from the Packages file. You suggest using the Contents
>> >> file. Using the Contents file might be better but only if you have one
>> >> and it is current.
>> >
>> > Right -- so one could use "download and attempt conversion" as a
>> > fallback method.
>
> This is just going round in circles and doesn't solve the other
> problems, just hides this one problem inside yet another hack.
>
>> 
>> Just thought about something. The contents file tells you if the package
>> contains usefull files.
>
> No, that is not a sufficient measure of "useful" for dpkg-cross.
> dpkg-cross needs to see the files in order to say if there are any
> useful ones.
>
>> It does not tell you wether the dependency chain
>> ends there or crosses into the native chain. Even if bar is an empty
>> package the architecture decides how the dependencies must be followed:
>
> ... and this is the ongoing problem which has not been resolved.
>  
>> This does asume that Arch: all package do not need to be converted ever
>> like I said above.
>
> The whole point of this Policy change is that Arch:all packages WILL
> need to be converted, we just won't know which we can allow and which
> we cannot.

You haven't yet said why/how the package must be converted.

What files need to be moved around or altered and why? I can hardly
convince you that a conversion is not needed if you don't say what files
you think need conversion.

I believe that any file (like *.pc files) that need altering are not
actually architecture independent and will differ across architectures
with multiarch even if they are identical now. As such I would file a
bug for the file to be in the libfoo-dev instead of libfoo-dev-common.

MfG
        Goswin


Reply to: