Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-23 Thread Domenico Andreoli
On Tue, Apr 22, 2003 at 11:45:08PM +0200, Bj?rn Stenberg wrote:
 Colin Watson wrote:
  The reason why a library's shlibs get changed
  is that binaries built against one version of the library can't be
  guaranteed to run correctly against older versions.
 
 Because the interface changed or because the previous version was buggy?
 
 I have always assumed the first reason, but it seems many maintainers are
 using the second.
 
first reason, interface changes.

libcurl provides a function (curl_easy_setopt) which is used to set
options for the run. if new options are added i have to change shlibs,
i cannot know whether a program linking the new libcurl uses any new
option.  hence, i cannot allow its installation with an older libcurl.


-[ Domenico Andreoli, aka cavok
 --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc
   ---[ 3A0F 2F80 F79C 678A 8936  4FEE 0677 9033 A20E BC50




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-22 Thread Björn Stenberg
Colin Watson wrote:
 The reason why a library's shlibs get changed
 is that binaries built against one version of the library can't be
 guaranteed to run correctly against older versions.

Because the interface changed or because the previous version was buggy?

I have always assumed the first reason, but it seems many maintainers are
using the second.

While moderately helpful to users of unstable, using shlibs to push bug
fixes can be very destructive to the testing release. It stops other
packages from getting in, while not always fixing the bug anyway (if the
fixed version gets stuck in unstable, which is not uncommon).

I found only little in the debian developer manuals detailing how version
dependencies should, and should not, be used. Did I miss a section about
this, or is there a general consensus about the issue?

-- 
Björn




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-22 Thread Henrique de Moraes Holschuh
On Tue, 22 Apr 2003, Björn Stenberg wrote:
 Colin Watson wrote:
  The reason why a library's shlibs get changed
  is that binaries built against one version of the library can't be
  guaranteed to run correctly against older versions.
 
 Because the interface changed or because the previous version was buggy?

Because of interface changes, ONLY.  Screwing with shlibs due because a
previous version was buggy is a very bad idea.

 I have always assumed the first reason, but it seems many maintainers are
 using the second.

Well, bring the issue up with them.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-22 Thread Colin Watson
On Tue, Apr 22, 2003 at 11:45:08PM +0200, Bj?rn Stenberg wrote:
 Colin Watson wrote:
  The reason why a library's shlibs get changed is that binaries built
  against one version of the library can't be guaranteed to run
  correctly against older versions.
 
 Because the interface changed or because the previous version was buggy?
 
 I have always assumed the first reason, but it seems many maintainers are
 using the second.

Can we have some examples? I've seen maintainers occasionally doing that
with ordinary dependencies, but not with libraries' shlibs files.

 While moderately helpful to users of unstable, using shlibs to push bug
 fixes can be very destructive to the testing release. It stops other
 packages from getting in, while not always fixing the bug anyway (if the
 fixed version gets stuck in unstable, which is not uncommon).

Remember that one of the major points of testing is to keep bugs out. If
there's some bugginess in some group of packages in unstable then it's
better that it be kept out than rushed into testing as quickly as
possible. Getting it into testing is only good if the it in question
is worthy.

Cheers,

-- 
Colin Watson  [EMAIL PROTECTED]




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-16 Thread Björn Stenberg
Colin Watson wrote:
  forcing other packages to always depend on the latest version of them
 No, that's not what shlibdeps do.

Right, it does not force the latest, only the version that is installed on
the machine it runs on. But isn't the effect essentially the same, since most
people/robots that build for unstable will likely have farily recent library
versions?

If whatever library versions are present at the time of building are defined
as the minimum requirements, doesn't that mean that packages which are in
stable today would not even be accepted into testing if they were rebuilt?

-- 
Björn




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-16 Thread Colin Watson
On Wed, Apr 16, 2003 at 12:46:07PM +0200, Bj?rn Stenberg wrote:
 Colin Watson wrote:
   forcing other packages to always depend on the latest version of them
  No, that's not what shlibdeps do.
 
 Right, it does not force the latest, only the version that is installed on
 the machine it runs on.

No, that's not what shlibdeps do either. See:

  
http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shlibdeps

-- 
Colin Watson  [EMAIL PROTECTED]




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-16 Thread Björn Stenberg
Colin Watson wrote:
 No, that's not what shlibdeps do either. See:
 
   
 http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shlibdeps

Lovely, so it's simply the other way around (as Adam Conrad said already).
Thanks.

However, it still means packages get bogus dependencies that keep them out
of testing. Even if the package in question was already accepted in stable.

Let me be blunt and ask: Is this a we don't care, go away issue or why is
this so difficult to discuss? If it was a frequently asked (and answered)
question, I would expect a ton of list archive links to have been dumped on
me by now. I have no qualms about squeezing blood from stone, but it doesn't
exactly speed the discussion nor minimize my annoying questions.

-- 
Björn




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-16 Thread Henrique de Moraes Holschuh
On Wed, 16 Apr 2003, Björn Stenberg wrote:
 However, it still means packages get bogus dependencies that keep them out
 of testing. Even if the package in question was already accepted in stable.

The issue is: Define BOGUS.

Most of the time, the maintainers of the -dev packages know very well
why they have changed the versioned dependencies.  It is also a
no-granularity solution, for which the only alternative is full-blown symbol
versioning as done by glibc (i.e. you keep old ABIs around, even!).

 Let me be blunt and ask: Is this a we don't care, go away issue or why is
 this so difficult to discuss? If it was a frequently asked (and answered)

The shlib dep system is well explained in the developer documentation, and
it is almost never a matter of curiosity of non-developers... it is also the
best that can be done AFAIK.  Only people building packages need to direct
interact with it, and only if they are responsible for a library package,
even... otherwise it is all automatic.

As for shlib information keeping stuff out of testing, that's the wrong
POV.  THAT *is* the entire charter of testing: if we don't know it will
work, don't let it in.  The system is working as designed.  If you want
the packages to flow in testing, you need to make sure their dependencies
do.

I pay little attention to testing, so I don't know exactly what is freezing
it right now, but the truth is: people who care about testing are encouraged
to clean up the bugs *in unstable* that are holding things from testing, or
to go away (fixing the bugs are the ONLY desired way to get things into
testing).  Sometimes the bugs are not in packages, but in infrastructure or
something else... but that's rare.

There isn't much else we can do, really.  We have to keep the distribution
in testing and stable coherent, so that means fix stuff in unstable, and
only let it get to testing when dependencies are satisfied (and new bugs not
added, subject to some manual control by aj).

If you need to live in the bleeding edge (I do), then use unstable and take
the proper precautions to not get caught in major breakages just when you
needed your system working the most...

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpmDdFc1myA5.pgp
Description: PGP signature


Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-16 Thread Colin Watson
On Wed, Apr 16, 2003 at 02:56:21PM +0200, Bj?rn Stenberg wrote:
 Colin Watson wrote:
  No, that's not what shlibdeps do either. See:
  

  http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shlibdeps
 
 Lovely, so it's simply the other way around (as Adam Conrad said
 already). Thanks.
 
 However, it still means packages get bogus dependencies that keep them
 out of testing. Even if the package in question was already accepted
 in stable.

The dependencies aren't bogus (apart from the occasional mistake in a
library's shlibs files). The reason why a library's shlibs get changed
is that binaries built against one version of the library can't be
guaranteed to run correctly against older versions. Stable is irrelevant
here, because the package built for stable was built against an older
version of the library.

Binary dependencies are not the same as source dependencies.

 Let me be blunt and ask: Is this a we don't care, go away issue or
 why is this so difficult to discuss?

The only practical and correct way that I know of to improve the
situation would be to figure out some way to calculate package
dependencies from symbol versions in certain libraries. That's very
difficult and would probably involve a lot more work on the part of the
maintainers of those libraries even if it could be implemented, though.

I think it is much more productive to try to get infrastructure packages
into a good enough state that major upgrades can move into testing more
quickly: that is, fix real bugs! Mailing package maintainers asking them
to loosen their shared library dependencies is not useful and is
sometimes actively counterproductive (I've seen maintainers messing
around trying to upload packages built against testing, not realizing
that the autobuilders all build against unstable so this won't do any
good anyway, which increases the time their package has to wait over
what would have happened if they'd just left well alone).

Cheers,

-- 
Colin Watson  [EMAIL PROTECTED]




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-16 Thread Marcelo E. Magallon
On Wed, Apr 16, 2003 at 12:46:07PM +0200, Björn Stenberg wrote:

  Right, it does not force the latest, only the version that is
  installed on the machine it runs on.

 Not quite.  The shlibs file just declares that a package which includes
 a program linking against, say, libfoo.so.0 should depend on a package
 called, say, libfoo0.  The possibility to version that dependency
 exists and is actively used.  A common example is when a library fixes
 a bug affecting its clients.  A versioned dependency is added to make
 sure that the newly compiled packages can't be installed with the buggy
 versions of the library.  That's just one example.

 There are only a few pathological cases where the shlibs file forces
 newly compiled packags to use the lastest release of the library
 package.

  If whatever library versions are present at the time of building are
  defined as the minimum requirements, doesn't that mean that packages
  which are in stable today would not even be accepted into testing if
  they were rebuilt?

 That could happen, yes.  Some hours ago I uploaded a package which is
 for all _practical_ purposes an identical copy of the package in
 stable.  It will probably remain stuck in unstable for a long while.

 Marcelo




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-15 Thread Matthias Urlichs
Hi,

 Through the shlibdeps system. Probably, the libgcc and libc packages
 decided that on ARM they should have those versioned dependencies.  The
 libcurl2 package needs not do anything by itself to pick them up.
 
Note that the version shown is simply the current libgcc.so version.
dpkg-shlibdeps has no idea whether an older version would be sufficient,
so it plays safe.

 checking whether to use libgcc... no
 
That is because the decision to do this is made by the system's default
ld script, so _explicit_ linking to libgcc, which is what this test tries
to figure out, is unnecessary.

-- 
Matthias
-- 
It is fruitless:
to become lachrymose over precipitately departed lactate fluid.




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-15 Thread Björn Stenberg
Matthias Urlichs wrote:

Depends: libc6 (= 2.3.1-1), libgcc1 (= 1:3.2.3-0pre6), ...
 Note that the version shown is simply the current libgcc.so version.

Current as of when? When the upload was done?

 dpkg-shlibdeps has no idea whether an older version would be sufficient,
 so it plays safe.

Isn't this a problem? Especially for packages depending on libraries with
long release cycles, such as libgcc1 and libc6.

Note: I don't have a suggestion for a better method right now, I'm just
trying to understand the implications of the current system.

-- 
Björn




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-15 Thread Jim Penny
On Tue, Apr 15, 2003 at 10:43:50PM +0200, Bj?rn Stenberg wrote:
 Matthias Urlichs wrote:
 
 Depends: libc6 (= 2.3.1-1), libgcc1 (= 1:3.2.3-0pre6), ...
  Note that the version shown is simply the current libgcc.so version.
 
 Current as of when? When the upload was done?

Current at package build time, that is when dpkg-shlibdeps is run.

 
  dpkg-shlibdeps has no idea whether an older version would be sufficient,
  so it plays safe.
 
 Isn't this a problem? Especially for packages depending on libraries with
 long release cycles, such as libgcc1 and libc6.

Not often.  Most slow release libraries are strongly backwards
compatible.  When it does become a problem, it can be terrible for a
few weeks.  Lots of packages need to be rebuilt.  Unstable becomes,
well, unstable.  Then things get back to the normal level of chaos.

Jim Penny
 
 Note: I don't have a suggestion for a better method right now, I'm just
 trying to understand the implications of the current system.
 
 -- 
 Bj?rn
 
 
 -- 
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 




RE: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-15 Thread Adam Conrad
Björn Stenberg wrote:
 Matthias Urlichs wrote:
 Depends: libc6 (= 2.3.1-1), libgcc1 (= 1:3.2.3-0pre6), ...
  Note that the version shown is simply the current libgcc.so version.
 
 Current as of when? When the upload was done?

Current as of when libgcc1 froze the shlibs, which was recently.

lucifer:~# dpkg -l libgcc1 |grep ^ii
ii  libgcc13.2.3-0pre8GCC support library
lucifer:~# cat /var/lib/dpkg/info/libgcc1.shlibs 
libgcc_s 1 libgcc1 (= 1:3.2.3-0pre6)
lucifer:~# zgrep Freeze /usr/share/doc/libgcc1/changelog.Debian.gz

  * Freeze the shlibs dependencies to (= 1:3.2.3-0pre6).

... Adam




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-15 Thread Björn Stenberg
Jim Penny wrote:
 Björn Stenberg wrote:
  Isn't this a problem? Especially for packages depending on libraries with
  long release cycles, such as libgcc1 and libc6.
 
 Not often.  Most slow release libraries are strongly backwards
 compatible.

That was my point. Since these libs are strongly backwards compatible,
forcing other packages to always depend on the latest version of them
means packages are held back for invalid reasons.

-- 
Björn




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-15 Thread Colin Watson
On Tue, Apr 15, 2003 at 11:48:04PM +0200, Bj?rn Stenberg wrote:
 Jim Penny wrote:
  Bj?rn Stenberg wrote:
   Isn't this a problem? Especially for packages depending on
   libraries with long release cycles, such as libgcc1 and libc6.
  
  Not often.  Most slow release libraries are strongly backwards
  compatible.
 
 That was my point. Since these libs are strongly backwards compatible,
 forcing other packages to always depend on the latest version of them

No, that's not what shlibdeps do.

-- 
Colin Watson  [EMAIL PROTECTED]




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Anthony Towns
On Mon, Apr 14, 2003 at 03:56:48PM +0200, Domenico Andreoli wrote:
 i don't really know where that gcc-3.2 is coming from. as you can see
 curl doesn't depend on it explicitly.

You'll find it does on arm and probably one or two other architectures,
but in particular:

Package: libcurl2
Architecture: arm
Version: 7.10.4-1
Depends: libc6 (= 2.3.1-1), libgcc1 (= 1:3.2.3-0pre6), ...

Cheers,
aj

-- 
Anthony Towns [EMAIL PROTECTED] http://azure.humbug.org.au/~aj/
I don't speak for anyone save myself. GPG signed mail preferred.

  ``Dear Anthony Towns: [...] Congratulations -- 
you are now certified as a Red Hat Certified Engineer!''


pgpQwujKrlsd7.pgp
Description: PGP signature


Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Matthias Urlichs
Hi,

On Mon, 14 Apr 2003 13:56:48 +, Domenico Andreoli wrote:
 i don't really know where that gcc-3.2 is coming from. as you can see curl
 doesn't depend on it explicitly.
 
If it is built with gcc-3.2 and it needs a symbol from libgcc-3.2, then
the resulting package will depend on gcc-3.2.

I can't think of an easy fix. The packages in unstable are supposed to move to
testing as-is, and IMHO automatically trying to re-build them in testing
when that doesn't work because of auto-generated dependencies (how do you
find those?) sort of defeats the whole idea.

Maybe it's time to force gcc-3.2 into testing..?


-- 
Matthias




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Domenico Andreoli
$ ldd `which curl`
libcurl.so.2 = /usr/lib/libcurl.so.2 (0x27ae1000)
libssl.so.0.9.7 = /usr/lib/i686/cmov/libssl.so.0.9.7 (0x27b06000)
libcrypto.so.0.9.7 = /usr/lib/i686/cmov/libcrypto.so.0.9.7 (0x27b35000)
libdl.so.2 = /lib/libdl.so.2 (0x27c25000)
libz.so.1 = /lib/libz.so.1 (0x27c28000)
libc.so.6 = /lib/libc.so.6 (0x27c35000)
/lib/ld-linux.so.2 = /lib/ld-linux.so.2 (0x27ac3000)
$ 

hmmm... doesn't look as if it depend on any ligcc-3.2

On Mon, Apr 14, 2003 at 04:52:00PM +0200, Matthias Urlichs wrote:
 Hi,
 
 On Mon, 14 Apr 2003 13:56:48 +, Domenico Andreoli wrote:
  i don't really know where that gcc-3.2 is coming from. as you can see curl
  doesn't depend on it explicitly.
  
 If it is built with gcc-3.2 and it needs a symbol from libgcc-3.2, then
 the resulting package will depend on gcc-3.2.
 
 I can't think of an easy fix. The packages in unstable are supposed to move to
 testing as-is, and IMHO automatically trying to re-build them in testing
 when that doesn't work because of auto-generated dependencies (how do you
 find those?) sort of defeats the whole idea.
 
 Maybe it's time to force gcc-3.2 into testing..?
 
 
 -- 
 Matthias
 


-[ Domenico Andreoli, aka cavok
 --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc
   ---[ 3A0F 2F80 F79C 678A 8936  4FEE 0677 9033 A20E BC50




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Steve Langasek
On Mon, Apr 14, 2003 at 03:56:48PM +0200, Domenico Andreoli wrote:
 i don't really know where that gcc-3.2 is coming from. as you can see
 curl doesn't depend on it explicitly.

 anyway debian has migrated to gcc 3.2 as default compiler and i build
 curl with gcc 3.2 since a couple of releases ago. maybe it is required
 someway. i'm CC debian-devel@, maybe some kind soul might help here

On some platforms (i386 is not one of them), binaries are dynamically
linked against libgcc, which comes from the gcc-3.2 source package.  As a
result, your package can't enter testing until gcc-3.2 itself does.

-- 
Steve Langasek
postmodern programmer


pgpiZJ8DVB9dK.pgp
Description: PGP signature


Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Matthias Urlichs
Hi,

Domenico Andreoli wrote:
 $ ldd `which curl`
 [ no libgcc or similar ]

Duh. You're right. I admit to not being able to think of any other good 
(i.e. not-a-bug) reason why this dependency should be there, then. Since 
one of my packages has the same problem, I'll go and check why 
dpkg-shlibdeps (what else??) thinks so.

-- 
Matthias Urlichs|noris network AG|http://smurf.noris.de/
-- 
My dungeon cell decor will not feature exposed pipes. While they add to
the gloomy atmosphere, they are good conductors of vibrations and a lot
of prisoners know Morse code.
-- The Evil Overlord List


pgprRkWZGPv67.pgp
Description: signature


Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Domenico Andreoli
On Mon, Apr 14, 2003 at 05:17:33PM +0200, Matthias Urlichs wrote:
 Duh. You're right. I admit to not being able to think of any other good 
 (i.e. not-a-bug) reason why this dependency should be there, then. Since 
 one of my packages has the same problem, I'll go and check why 
 dpkg-shlibdeps (what else??) thinks so.
 

package dependencies are ok, so dpkg-shlibdeps is not wrong. at least
on i386.


-[ Domenico Andreoli, aka cavok
 --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc
   ---[ 3A0F 2F80 F79C 678A 8936  4FEE 0677 9033 A20E BC50




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Colin Watson
On Mon, Apr 14, 2003 at 03:56:48PM +0200, Domenico Andreoli wrote:
 i don't really know where that gcc-3.2 is coming from. as you can see
 curl doesn't depend on it explicitly.

libcurl2 and libcurl2-dbg depend on libgcc1 on arm. libgcc1 supplies
certain parts of the C runtime. There isn't really anything package
maintainers can do about this.

Björn, I would suggest you concentrate on other problems for now, such
as packages that have been held out for a long time. There are plenty of
them.

-- 
Colin Watson  [EMAIL PROTECTED]




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Matthias Urlichs
Hi,

  I'll go and check why
 dpkg-shlibdeps (what else??) thinks so.

Well, it doesn't. Not on i386 and ppc, anyway. As aj wrote, though, 
apparently it does on arm.  :-/

-- 
Matthias Urlichs|noris network AG|http://smurf.noris.de/
-- 
We learn from history that we learn nothing from history.
-- George Bernard Shaw


pgpLtjqqxrScp.pgp
Description: signature


Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Matthias Klose
Matthias Urlichs writes:

 Maybe it's time to force gcc-3.2 into testing..?

No, it should go in after binutils gets into testing. 




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Björn Stenberg
Anthony Towns wrote:
 You'll find it does on arm and probably one or two other architectures,
 but in particular:
 
 Package: libcurl2
 Architecture: arm
 Version: 7.10.4-1
 Depends: libc6 (= 2.3.1-1), libgcc1 (= 1:3.2.3-0pre6), ...

Sorry for being a pain, but how are these dependencies assigned?

libgcc1 is already in both testing and stable. How is it decided that
libcurl2 requires this specific version? It appears neither the package
maintainer nor the upstream author made this decision (or even knew about it).

Also, the arm build log for arm contains the following line:

checking whether to use libgcc... no

-- 
Björn




Re: curl, testing and gcc-3.2 (?) (was Re: Debian curl package depends on gcc-3.2?)

2003-04-14 Thread Henrique de Moraes Holschuh
On Tue, 15 Apr 2003, Björn Stenberg wrote:
  Package: libcurl2
  Architecture: arm
  Version: 7.10.4-1
  Depends: libc6 (= 2.3.1-1), libgcc1 (= 1:3.2.3-0pre6), ...
 
 Sorry for being a pain, but how are these dependencies assigned?

Through the shlibdeps system. Probably, the libgcc and libc packages
decided that on ARM they should have those versioned dependencies.  The
libcurl2 package needs not do anything by itself to pick them up.

 Also, the arm build log for arm contains the following line:
 
 checking whether to use libgcc... no

Then find out why something in the package linked to libgcc in
ARM.  And if nothing did...

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh