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

Bug#266268: Depend on libsem-dev for !linux-gnu



On Wed, Aug 18, 2004 at 10:18:09AM +0900, GOTO Masanori wrote:
> 
> In first, POSIX 1003.1b semaphore is coupled with pthread, but is not
> same as "pthread semaphore".  It provides name space accessible
> semaphore with the bonus that is userland fast locking mechanism.
> 
> I disagree because semaphore and threading implementation depends on
> the system architecture.  I know there're some generic implementation
> for both semaphore and pthread, so libsem-dev is not "the only one"
> choise.  Thus, I think we should explicitly define which architecture
> use libsem-dev.

Ok.

> > So the DEB_HOST_GNU_SYSTEM values that should enable this are "gnu",
> > "kfreebsd-gnu" and "knetbsd-gnu".  More could be added later.
> 
> Robert, please provide patch?

Attached.  Note that the entries for k*bsd-gnu didn't exist yet, so I added
them in my patch, with the dependencies we use in these ports.

> BTW, I think it's valuable to add generic implementation of posix
> semaphore into glibc.

I think integrating libsem in Glibc would make sense.  However, this would
imply that on the platforms where the Glibc package does not provide
libpthread.so (on GNU/Hurd it's in the hurd package, and on GNU/k*BSD it's
provided by gnu pth), it'd still have to be linked separately into libsem.so.

I'll speak with libsem upstream about this.

-- 
Robert Millan

(Debra and Ian) (Gnu's Not (UNiplexed Information and Computing System))/\
(kernel of *(Berkeley Software Distribution))
--- glibc-2.3.2.ds1/debian.old/sysdeps/depflags.pl	2004-08-18 04:10:15.000000000 +0200
+++ glibc-2.3.2.ds1/debian/sysdeps/depflags.pl	2004-08-18 04:13:21.000000000 +0200
@@ -19,7 +19,7 @@
 
 # OS specific stuff
 if ($DEB_HOST_GNU_SYSTEM eq "gnu") {
-    push @{$libc_dev_c{'Depends'}}, ('gnumach-dev', 'hurd-dev');
+    push @{$libc_dev_c{'Depends'}}, ('gnumach-dev', 'hurd-dev', 'libsem-dev');
     push @{$libc_dev_c{'Replaces'}}, 'glibc2-dev';
     push @{$libc_dev_c{'Conflicts'}}, 'glibc2-dev';
     push @{$libc_c{'Replaces'}}, 'glibc2';
@@ -36,6 +36,12 @@
 		'ppp (<= 2.2.0f-24)', 'libgdbmg1-dev (<= 1.7.3-24)');
     push @{$libc_dev_c{'Depends'}}, 'linux-kernel-headers';
 }
+if ($DEB_HOST_GNU_SYSTEM eq "kfreebsd-gnu") {
+    push @{$libc_dev_c{'Depends'}}, ('kfreebsd-headers', 'libpthread-dev', 'libsem-dev');
+}
+if ($DEB_HOST_GNU_SYSTEM eq "knetbsd-gnu") {
+    push @{$libc_dev_c{'Depends'}}, ('knetbsd-headers', 'libpthread-dev', 'libsem-dev');
+}
 
 # ${glibc}-doc is suggested by $libc_c and $libc_dev_c.
 push @{$libc_c{'Suggests'}}, "${glibc}-doc";

Reply to: