Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Steve Langasek
On Wed, Jun 24, 2009 at 09:02:26AM +1000, Aníbal Monsalve Salazar wrote:
 Package: wnpp
 Severity: wishlist
 Owner: Anibal Monsalve Salazar ani...@debian.org

 * Package name: libposix

Why?

This is a subset of the interfaces provided by glibc, which must be present
on all systems.  So it would be stupid for any package in Debian to link
against libposix instead of just using libc.  Why do we want a library in
Debian that no packages should depend on?

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Guus Sliepen
On Wed, Jun 24, 2009 at 11:03:41AM +0100, Steve Langasek wrote:

 On Wed, Jun 24, 2009 at 09:02:26AM +1000, Aníbal Monsalve Salazar wrote:
  * Package name: libposix
 
 Why?
 
 This is a subset of the interfaces provided by glibc, which must be present
 on all systems.  So it would be stupid for any package in Debian to link
 against libposix instead of just using libc.  Why do we want a library in
 Debian that no packages should depend on?

Just see it as dash vs. bash. Once libposix reaches maturity, I will certainly
consider linking applications I wrote myself against libposix. Applications
linked against it will probably use less memory and cannot inadvertently use
glibc extensions. This will make it easier to port those applications, and will
also make it easier to run things on embedded platforms.

-- 
Met vriendelijke groet / with kind regards,
  Guus Sliepen g...@debian.org


signature.asc
Description: Digital signature


Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Bryan Donlan
On Wed, Jun 24, 2009 at 6:28 AM, Guus Sliepeng...@debian.org wrote:
 On Wed, Jun 24, 2009 at 11:03:41AM +0100, Steve Langasek wrote:

 On Wed, Jun 24, 2009 at 09:02:26AM +1000, Aníbal Monsalve Salazar wrote:
  * Package name    : libposix

 Why?

 This is a subset of the interfaces provided by glibc, which must be present
 on all systems.  So it would be stupid for any package in Debian to link
 against libposix instead of just using libc.  Why do we want a library in
 Debian that no packages should depend on?

 Just see it as dash vs. bash. Once libposix reaches maturity, I will certainly
 consider linking applications I wrote myself against libposix. Applications
 linked against it will probably use less memory and cannot inadvertently use
 glibc extensions. This will make it easier to port those applications, and 
 will
 also make it easier to run things on embedded platforms.

Is libposix complete enough to link against for real programs yet? If
not, why should it be included at this time?
Moreover, can libposix and libc coexist in the same address space? If
not, all of debian's existing libraries will be incompatible with it.
It seems like the sort of thing that you might want to build an entire
distro against, or a custom/development build against, but not just
some programs in a distro...


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Guus Sliepen
On Wed, Jun 24, 2009 at 09:17:14AM -0400, Bryan Donlan wrote:

 Is libposix complete enough to link against for real programs yet? If
 not, why should it be included at this time?

I agree that if the only thing that works at this moment is the simplest Hello
world program, that it should not be packaged yet.

 Moreover, can libposix and libc coexist in the same address space?

What address space are you talking about? There is also dietlibc and uClibc,
who can coexist with glibc. But applications can only link against one of them
at the time of course.

 If not, all of debian's existing libraries will be incompatible with it.
 It seems like the sort of thing that you might want to build an entire
 distro against, or a custom/development build against, but not just
 some programs in a distro...

Having a glibc replacement for just a few programs is not an argument in itself
for not including this package. Perhaps I want to develop a program that needs
to run in an embedded environment that I want to test? Then I'd like to have a
libposix-dev package that I can use to build my own software with.

-- 
Met vriendelijke groet / with kind regards,
  Guus Sliepen g...@debian.org


signature.asc
Description: Digital signature


Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Bryan Donlan
On Wed, Jun 24, 2009 at 9:34 AM, Guus Sliepeng...@debian.org wrote:
 On Wed, Jun 24, 2009 at 09:17:14AM -0400, Bryan Donlan wrote:

 Is libposix complete enough to link against for real programs yet? If
 not, why should it be included at this time?

 I agree that if the only thing that works at this moment is the simplest 
 Hello
 world program, that it should not be packaged yet.

 Moreover, can libposix and libc coexist in the same address space?

 What address space are you talking about? There is also dietlibc and uClibc,
 who can coexist with glibc. But applications can only link against one of them
 at the time of course.

I mean, if a program is using libposix, can it also link, for example,
libpng, which is built against the normal libc?
If libposix uses the brk() area for malloc this isn't possible, but if
it uses anonymous mmaps exclusively then it might be doable (of
course, one would need to be careful to free with the correct malloc
implementation).

 If not, all of debian's existing libraries will be incompatible with it.
 It seems like the sort of thing that you might want to build an entire
 distro against, or a custom/development build against, but not just
 some programs in a distro...

 Having a glibc replacement for just a few programs is not an argument in 
 itself
 for not including this package. Perhaps I want to develop a program that needs
 to run in an embedded environment that I want to test? Then I'd like to have a
 libposix-dev package that I can use to build my own software with.

For embedded environments, one will generally want a cross-compiling
toolchain, not just a library. You can't use the libc headers in
/usr/include, or libc's crt*.o start routines, after all, and even
uclibc abandoned the approach of hacking a host toolchain into using
its libraries. And for an embedded environment, a lot of the time
you'll have a different architecture on the target than the host
anyway.

This is all moot if libposix is still too incomplete to be usable of course :)


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Michael Poole
Guus Sliepen writes:

 Moreover, can libposix and libc coexist in the same address space?

 What address space are you talking about? There is also dietlibc and uClibc,
 who can coexist with glibc. But applications can only link against one of them
 at the time of course.

I suspect the concern here is dynamically linked libraries.

Suppose myapp is linked against libposix (for whatever reason).
Suppose libfoo.so is linked against glibc (for whatever different
reason).  Finally, suppose that myapp links against libfoo.so.  When
this happens, what breaks, how badly, and how obviously?

Michael Poole


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Cyril Brulebois
Guus Sliepen g...@debian.org (24/06/2009):
 On Wed, Jun 24, 2009 at 09:17:14AM -0400, Bryan Donlan wrote:
 
  Is libposix complete enough to link against for real programs yet? If
  not, why should it be included at this time?
 
 I agree that if the only thing that works at this moment is the simplest 
 Hello
 world program, that it should not be packaged yet.

Looking at the latest news I could find on the website[1]:
| Multiplatform support for libposix
| 
| Posted by hdante on June 6, 2009
| 
| I'm happy to announce that libposix is able to run Hello World in
| three different platforms: linux x86, linux x86_64 and FreeBSD x86.

 1. http://libposix.sourceforge.net/

I guess you have your answer.

(Don't Cc me if you keep d-d@ in the loop, thanks already.)

Mraw,
KiBi.


signature.asc
Description: Digital signature


Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Steve Langasek
On Wed, Jun 24, 2009 at 12:28:24PM +0200, Guus Sliepen wrote:
  This is a subset of the interfaces provided by glibc, which must be present
  on all systems.  So it would be stupid for any package in Debian to link
  against libposix instead of just using libc.  Why do we want a library in
  Debian that no packages should depend on?

 Just see it as dash vs. bash.

I *don't* see it as this, because I can't see any way that libposix will
ever be useful to have used by other Debian packages.  dash is useful to
have as the *default* /bin/sh on Debian systems; libposix would not be
useful to have by default.

 Once libposix reaches maturity, I will certainly consider linking
 applications I wrote myself against libposix. Applications linked against
 it will probably use less memory

Why would they use less memory?

 and cannot inadvertently use glibc extensions.

So instead you get to reimplement all the extensions you need, in the name
of portability?

 and will also make it easier to run things on embedded platforms.

Why does this make anything easier?  If you're rebuilding your whole system
against libposix, you're not doing that in the archive, so packaging
libposix seems largely irrelevant to this; if you aren't rebuilding your
whole system against libposix, you get two libcs, so that's hardly a win for
embedded systems.

On Wed, Jun 24, 2009 at 03:34:32PM +0200, Guus Sliepen wrote:
  Moreover, can libposix and libc coexist in the same address space?

 What address space are you talking about? There is also dietlibc and
 uClibc, who can coexist with glibc.

uclibc doesn't appear to be packaged.

dietlibc is packaged - in a manner that appears to violate pretty much all
the principles of Policy 8.1 and shared library best practices in general.
(No distinguishing soname distinct from the .so used at build time, to allow
for ABI changes; one of the libs is installed executable (why? it's libdl,
ok, but is that actually used as the dynamic linker for dietlibc-linked
executables?); the libs are installed under /usr/lib/diet/lib, which seems
to imply use of rpath.)

I'm skeptical of the utility of such a level of coexistence.

 Having a glibc replacement for just a few programs is not an argument in 
 itself
 for not including this package. Perhaps I want to develop a program that needs
 to run in an embedded environment that I want to test? Then I'd like to have a
 libposix-dev package that I can use to build my own software with.

If there are to be embedded environments that will use libposix, then that's
an argument for packaging it - but since these environments don't exist
today, it seems premature to me to put the package in Debian.  Are there any
use cases for this that are both non-theoretical and non-crackful?

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Guus Sliepen
On Wed, Jun 24, 2009 at 05:47:16PM -0400, Steve Langasek wrote:

  Once libposix reaches maturity, I will certainly consider linking
  applications I wrote myself against libposix. Applications linked against
  it will probably use less memory
 
 Why would they use less memory?

Since they don't link against a large library. Granted, that is only a benefit
if all running programs link against libposix instead of glibc.

  and cannot inadvertently use glibc extensions.
 
 So instead you get to reimplement all the extensions you need, in the name
 of portability?

Yes, if that is what it takes for my application to work on platforms that do
not have glibc.

  and will also make it easier to run things on embedded platforms.
 
 Why does this make anything easier?  If you're rebuilding your whole system
 against libposix, you're not doing that in the archive, so packaging
 libposix seems largely irrelevant to this; if you aren't rebuilding your
 whole system against libposix, you get two libcs, so that's hardly a win for
 embedded systems.

If I'm compiling I'd rather do it on a fast desktop with all my usual stuff
installed than on an embedded system.

 If there are to be embedded environments that will use libposix, then that's
 an argument for packaging it - but since these environments don't exist
 today, it seems premature to me to put the package in Debian.  Are there any
 use cases for this that are both non-theoretical and non-crackful?

Although I disagree with your other reasons for not including this library in 
Debian,
I agree that it shouldn't be packaged yet since it is quite unusable in this 
stage :)

-- 
Met vriendelijke groet / with kind regards,
  Guus Sliepen g...@debian.org


signature.asc
Description: Digital signature


Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Bryan Donlan
On Wed, Jun 24, 2009 at 6:24 PM, Guus Sliepeng...@debian.org wrote:
 On Wed, Jun 24, 2009 at 05:47:16PM -0400, Steve Langasek wrote:

  Once libposix reaches maturity, I will certainly consider linking
  applications I wrote myself against libposix. Applications linked against
  it will probably use less memory

 Why would they use less memory?

 Since they don't link against a large library. Granted, that is only a benefit
 if all running programs link against libposix instead of glibc.

What makes you think libposix will be smaller? It is currently very
incomplete; by the time it reaches a full implementation of POSIX, it
may well be the same size as libc.

  and will also make it easier to run things on embedded platforms.

 Why does this make anything easier?  If you're rebuilding your whole system
 against libposix, you're not doing that in the archive, so packaging
 libposix seems largely irrelevant to this; if you aren't rebuilding your
 whole system against libposix, you get two libcs, so that's hardly a win for
 embedded systems.

 If I'm compiling I'd rather do it on a fast desktop with all my usual stuff
 installed than on an embedded system.

Again, this is what a cross-compile toolchain is for (mandatory if
your embedded platform is anything other than your desktop arch!). You
could adapt the crosstool buildscripts that uclibc uses, for example.
If you just use debian's normal GCC, you're going to have a hell of a
time convincing it to not use libc's include files/statically-linked
startup objects/dynamic linker.


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Pierre Habouzit
On Thu, Jun 25, 2009 at 12:24:40AM +0200, Guus Sliepen wrote:
 On Wed, Jun 24, 2009 at 05:47:16PM -0400, Steve Langasek wrote:
 
   Once libposix reaches maturity, I will certainly consider linking
   applications I wrote myself against libposix. Applications linked against
   it will probably use less memory
  
  Why would they use less memory?
 
 Since they don't link against a large library.

Which is a ridiculous argument given what the S in .so means. As soon as
at least one always running program on your system uses glibc, you want
to only use glibc if you want to save memory. It's simple as that.


-- 
Intersec http://www.intersec.com
Pierre Habouzit pierre.habou...@intersec.com
Tél : +33 (0)1 5570 3346
Mob : +33 (0)6 1636 8131
Fax : +33 (0)1 5570 3332
37 Rue Pierre Lhomme
92400 Courbevoie


signature.asc
Description: Digital signature


Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Guus Sliepen
On Wed, Jun 24, 2009 at 06:33:44PM -0400, Bryan Donlan wrote:

  Why would they use less memory?
 
  Since they don't link against a large library. Granted, that is only a 
  benefit
  if all running programs link against libposix instead of glibc.
 
 What makes you think libposix will be smaller? It is currently very
 incomplete; by the time it reaches a full implementation of POSIX, it
 may well be the same size as libc.

Glibc implements much more than just POSIX, and it is not known for its
leanness, hence the existence of dietlibc, uClibc, etc.

  If I'm compiling I'd rather do it on a fast desktop with all my usual stuff
  installed than on an embedded system.
 
 Again, this is what a cross-compile toolchain is for (mandatory if
 your embedded platform is anything other than your desktop arch!). You
 could adapt the crosstool buildscripts that uclibc uses, for example.
 If you just use debian's normal GCC, you're going to have a hell of a
 time convincing it to not use libc's include files/statically-linked
 startup objects/dynamic linker.

That's true. Probably something the upstream maintainer should consider to
provide.

-- 
Met vriendelijke groet / with kind regards,
  Guus Sliepen g...@debian.org


signature.asc
Description: Digital signature


Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Pierre Habouzit
On Thu, Jun 25, 2009 at 12:41:43AM +0200, Pierre Habouzit wrote:
 On Thu, Jun 25, 2009 at 12:24:40AM +0200, Guus Sliepen wrote:
  On Wed, Jun 24, 2009 at 05:47:16PM -0400, Steve Langasek wrote:
  
Once libposix reaches maturity, I will certainly consider linking
applications I wrote myself against libposix. Applications linked 
against
it will probably use less memory
   
   Why would they use less memory?
  
  Since they don't link against a large library.
 
 Which is a ridiculous argument given what the S in .so means. As soon as
 at least one always running program on your system uses glibc, you want
 to only use glibc if you want to save memory. It's simple as that.

PS: I read the full mail, and the postulate that all Debian can link
against libposix is wrong to begin with, because too many GNU stuff
heavily relies on GNU extensions to the libc. That's exactly why
kFreeBSD uses a GNU libc instead of the BSD one


-- 
Intersec http://www.intersec.com
Pierre Habouzit pierre.habou...@intersec.com
Tél : +33 (0)1 5570 3346
Mob : +33 (0)6 1636 8131
Fax : +33 (0)1 5570 3332
37 Rue Pierre Lhomme
92400 Courbevoie


signature.asc
Description: Digital signature


Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Pierre Habouzit
On Thu, Jun 25, 2009 at 12:54:35AM +0200, Guus Sliepen wrote:
 On Wed, Jun 24, 2009 at 06:33:44PM -0400, Bryan Donlan wrote:
 
   Why would they use less memory?
  
   Since they don't link against a large library. Granted, that is only a 
   benefit
   if all running programs link against libposix instead of glibc.
  
  What makes you think libposix will be smaller? It is currently very
  incomplete; by the time it reaches a full implementation of POSIX, it
  may well be the same size as libc.
 
 Glibc implements much more than just POSIX, and it is not known for its
 leanness, hence the existence of dietlibc, uClibc, etc.

Most of its fat comes from stuff like Sun RPC, or gconv, that thanks to
eglibc you can switch off. I'm not saying libposix is a stupid idea,
just that it's meaningless to package it in Debian (especially in its
current state, but that's _really_ orthogonal).

-- 
Intersec http://www.intersec.com
Pierre Habouzit pierre.habou...@intersec.com
Tél : +33 (0)1 5570 3346
Mob : +33 (0)6 1636 8131
Fax : +33 (0)1 5570 3332
37 Rue Pierre Lhomme
92400 Courbevoie


signature.asc
Description: Digital signature


Re: Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-24 Thread Samuel Thibault
Pierre Habouzit, le Thu 25 Jun 2009 00:41:43 +0200, a écrit :
   Why would they use less memory?
  
  Since they don't link against a large library.
 
 Which is a ridiculous argument given what the S in .so means.

And linking against a 100MB library will generally _not_ eat 100MB
memory during execution.

Samuel


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#534398: ITP: libposix -- unifed implementation of core functionality of all Unix systems

2009-06-23 Thread Aníbal Monsalve Salazar
Package: wnpp
Severity: wishlist
Owner: Anibal Monsalve Salazar ani...@debian.org

* Package name: libposix
  Version : 0
  Upstream Author : Henrique Almeida hda...@gmail.com
* URL : http://libposix.sourceforge.net/
* License : See below
  Programming Lang: C
  Description : unifed implementation of core functionality of all
Unix systems

Licence

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

  * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

  * Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS
IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org