summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-04-25 04:07:19 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-04-25 04:07:19 +0000
commit2617bc1caf98bfa8c065607d0ed14ee2db676940 (patch)
tree29d789c1747f5f03b4f3c3c219fd8fd510b9378a /debian
parentf8f7a6ba27dd8ed69d41fcda71cb313948421300 (diff)
Remove libpthread, now shipped by glibc, and depend on it
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog7
-rw-r--r--debian/control4
-rw-r--r--debian/patches/external.patch4
-rw-r--r--debian/patches/libpthread_fix.patch75
-rw-r--r--debian/patches/libpthread_globsigdisp.patch59
-rw-r--r--debian/patches/libpthread_sigmask.patch47
-rw-r--r--debian/patches/libpthread_stubs.patch157
-rw-r--r--debian/patches/series4
8 files changed, 11 insertions, 346 deletions
diff --git a/debian/changelog b/debian/changelog
index e84f212e..67a0bb6b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+hurd (20120408-3) unstable; urgency=low
+
+ * patches/libpthread*, control, patches/external.patch: Remove libpthread, now
+ shipped by glibc, and depend on it.
+
+ -- Samuel Thibault <sthibault@debian.org> Wed, 25 Apr 2012 02:14:04 +0000
+
hurd (20120408-2) unstable; urgency=low
* debian/patches/libdde_{addr_fix,addr_list,config,devres,dma_head,ethoc,
diff --git a/debian/control b/debian/control
index 363f0a0e..4b856b21 100644
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,7 @@ Vcs-Git: git://git.debian.org/pkg-hurd/hurd.git
Package: hurd
Essential: yes
-Depends: ${misc:Depends}, sysv-rc, ${shlibs:Depends}
+Depends: ${misc:Depends}, sysv-rc, libc0.3 (>= 2.13-31~), ${shlibs:Depends}
Breaks: gnumach (<< 2:1.3.99.dfsg.cvs20070526-1), libc0.3 (<< 2.11.2-12)
Suggests: hurd-doc
Recommends: bf-utf-source
@@ -32,7 +32,7 @@ Package: hurd-dev
Priority: standard
Section: libdevel
Architecture: hurd-any
-Depends: ${misc:Depends}, hurd (= ${binary:Version})
+Depends: ${misc:Depends}, libc0.3-dev (>= 2.13-31~), hurd (= ${binary:Version})
Provides: libsem-dev
Replaces: libsem-dev
Conflicts: libsem-dev
diff --git a/debian/patches/external.patch b/debian/patches/external.patch
index d7425e4f..74ee402b 100644
--- a/debian/patches/external.patch
+++ b/debian/patches/external.patch
@@ -1,4 +1,4 @@
-Include libpthread and procfs in the build
+Include procfs, random, and DDE in the build
Index: hurd-debian/Makefile
===================================================================
@@ -10,7 +10,7 @@ Index: hurd-debian/Makefile
libpager libfshelp libdiskfs libtrivfs libps \
- libnetfs libpipe libstore libhurdbugaddr libftpconn libcons
+ libnetfs libpipe libstore libhurdbugaddr libftpconn libcons \
-+ libpthread libmachdev libbpf libddekit libhurd-slab
++ libmachdev libbpf libddekit libhurd-slab
# Hurd programs
prog-subdirs = auth proc exec init term \
diff --git a/debian/patches/libpthread_fix.patch b/debian/patches/libpthread_fix.patch
deleted file mode 100644
index 56e03850..00000000
--- a/debian/patches/libpthread_fix.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-Temporary patch from Thomas Schwinge to fix libpthread bugs.
-
----
- libpthread/sysdeps/mach/hurd/pt-init-specific.c | 29 ++++++++++++++++++++++++
- libpthread/sysdeps/mach/pt-thread-dealloc.c | 2 +
- libpthread/sysdeps/mach/pt-thread-halt.c | 19 ++++++++++++++-
- 3 files changed, 48 insertions(+), 2 deletions(-)
-
---- a/libpthread/sysdeps/mach/pt-thread-dealloc.c
-+++ b/libpthread/sysdeps/mach/pt-thread-dealloc.c
-@@ -38,4 +38,6 @@ __pthread_thread_dealloc (struct __pthre
- assert. */
- __mach_port_destroy (__mach_task_self (),
- thread->wakeupmsg.msgh_remote_port);
-+
-+ thread->have_kernel_resources = 0;
- }
---- a/libpthread/sysdeps/mach/pt-thread-halt.c
-+++ b/libpthread/sysdeps/mach/pt-thread-halt.c
-@@ -32,6 +32,21 @@
- void
- __pthread_thread_halt (struct __pthread *thread)
- {
-- error_t err = __thread_terminate (thread->kernel_thread);
-- assert_perror (err);
-+ if (thread->have_kernel_resources)
-+ {
-+ if (thread == _pthread_self ())
-+ {
-+ while (1)
-+ {
-+ error_t err = __thread_suspend (thread->kernel_thread);
-+ assert_perror (err);
-+ assert (! "Failed to suspend self.");
-+ }
-+ }
-+ else
-+ {
-+ error_t err = __thread_terminate (thread->kernel_thread);
-+ assert_perror (err);
-+ }
-+ }
- }
---- /dev/null
-+++ b/libpthread/sysdeps/mach/hurd/pt-init-specific.c
-@@ -0,0 +1,29 @@
-+/* __pthread_init_specific. Mach version.
-+ Copyright (C) 2002, 2009 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Library General Public License as
-+ published by the Free Software Foundation; either version 2 of the
-+ License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Library General Public License for more details.
-+
-+ You should have received a copy of the GNU Library General Public
-+ License along with the GNU C Library; see the file COPYING.LIB. If not,
-+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ Boston, MA 02111-1307, USA. */
-+
-+#include <pthread.h>
-+#include <pt-internal.h>
-+
-+error_t
-+__pthread_init_specific (struct __pthread *thread)
-+{
-+ thread->thread_specifics = 0;
-+ thread->have_kernel_resources = 0;
-+ return 0;
-+}
diff --git a/debian/patches/libpthread_globsigdisp.patch b/debian/patches/libpthread_globsigdisp.patch
deleted file mode 100644
index 06c3486c..00000000
--- a/debian/patches/libpthread_globsigdisp.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-commit 60d1b9b9198bc8c618596cb0e48687bd41e8adb7
-Author: Jeremie Koenig <jk@jk.fr.eu.org>
-Date: Fri Jun 10 05:46:39 2011 +0000
-
- Mark new threads as global signal receivers
-
- * sysdeps/mach/hurd/pt-sigstate-init.c (__pthread_sigstate_init):
- Call _hurd_sigstate_set_global_rcv for newly created threads.
- * sysdeps/mach/pt-thread-halt.c (__pthread_thread_halt):
- Call _hurd_sigstate_delete on terminated threads.
-
-diff --git a/libpthread/sysdeps/mach/hurd/pt-sigstate-init.c b/libpthread/sysdeps/mach/hurd/pt-sigstate-init.c
-index da5a945..f8398f4 100644
---- a/libpthread/sysdeps/mach/hurd/pt-sigstate-init.c
-+++ b/libpthread/sysdeps/mach/hurd/pt-sigstate-init.c
-@@ -19,6 +19,7 @@
-
- #include <pthread.h>
- #include <hurd/threadvar.h>
-+#include <hurd/signal.h>
-
- #include <pt-internal.h>
-
-@@ -30,8 +31,21 @@ __pthread_sigstate_init (struct __pthread *thread)
- thread->stackaddr);
-
- /* The real initialization happens internally in glibc the first
-- time that _hurd_thead_sigstate is called. */
-+ time that _hurd_self_sigstate is called. */
- *location = 0;
-
-+ /* Mark the thread as a global signal receiver so as to conform with
-+ the pthread semantics. However, we must be careful. The first
-+ pthread created is the main thread, during libpthread initialization.
-+ We must not mark it, otherwise the sigprocmask call in
-+ __pthread_create would try to access _hurd_global_sigstate,
-+ which is not initialized yet. When glibc runs _hurdsig_init later
-+ on, the message thread is created, which must not be marked either. */
-+ if (__pthread_num_threads > 2)
-+ {
-+ struct hurd_sigstate *ss = _hurd_thread_sigstate (thread->kernel_thread);
-+ _hurd_sigstate_set_global_rcv (ss);
-+ }
-+
- return 0;
- }
-diff --git a/libpthread/sysdeps/mach/pt-thread-halt.c b/libpthread/sysdeps/mach/pt-thread-halt.c
-index a9c3858..808043d 100644
---- a/libpthread/sysdeps/mach/pt-thread-halt.c
-+++ b/libpthread/sysdeps/mach/pt-thread-halt.c
-@@ -34,6 +34,8 @@ __pthread_thread_halt (struct __pthread *thread)
- {
- if (thread->have_kernel_resources)
- {
-+ _hurd_sigstate_delete (thread->kernel_thread);
-+
- if (thread == _pthread_self ())
- {
- while (1)
diff --git a/debian/patches/libpthread_sigmask.patch b/debian/patches/libpthread_sigmask.patch
deleted file mode 100644
index 7315a80d..00000000
--- a/debian/patches/libpthread_sigmask.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-* libpthread/sysdeps/mach/hurd/pt-sigstate.c (__pthread_sigstate): Wake up the message
-thread if any pending signals have been unblocked (code grabbed from glibc).
----
- libpthread/sysdeps/mach/hurd/pt-sigstate.c | 9 +++++++++
- 1 files changed, 9 insertions(+), 0 deletions(-)
-
-Index: hurd/libpthread/sysdeps/mach/hurd/pt-sigstate.c
-===================================================================
---- hurd.orig/libpthread/sysdeps/mach/hurd/pt-sigstate.c 2011-05-29 15:23:30.000000000 +0000
-+++ hurd/libpthread/sysdeps/mach/hurd/pt-sigstate.c 2011-06-10 04:53:53.000000000 +0000
-@@ -21,6 +21,7 @@
- #include <assert.h>
- #include <signal.h>
- #include <hurd/signal.h>
-+#include <hurd/msg.h>
-
- #include <pt-internal.h>
-
-@@ -31,11 +32,12 @@
- {
- error_t err = 0;
- struct hurd_sigstate *ss;
-+ sigset_t pending;
-
- ss = _hurd_thread_sigstate (thread->kernel_thread);
- assert (ss);
-
-- __pthread_spin_lock (&ss->lock);
-+ _hurd_sigstate_lock (ss);
-
- if (oset)
- *oset = ss->blocked;
-@@ -63,7 +65,13 @@
- if (! err && clear_pending)
- __sigemptyset (&ss->pending);
-
-- __pthread_spin_unlock (&ss->lock);
-+ pending = _hurd_sigstate_pending (ss) & ~ss->blocked;
-+ _hurd_sigstate_unlock (ss);
-+
-+ if (! err && pending)
-+ /* Send a message to the signal thread so it
-+ will wake up and check for pending signals. */
-+ __msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ());
-
- return err;
- }
diff --git a/debian/patches/libpthread_stubs.patch b/debian/patches/libpthread_stubs.patch
deleted file mode 100644
index 7b0db6a3..00000000
--- a/debian/patches/libpthread_stubs.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-Add warnings about non-implemented functions.
----
- config.make.in | 1 +
- libpthread/Makefile | 14 +++++++++++++-
- libpthread/include/libc-symbols.h | 1 +
- libpthread/sysdeps/generic/pt-atfork.c | 2 ++
- libpthread/sysdeps/generic/pt-getcpuclockid.c | 1 +
- libpthread/sysdeps/generic/pt-getschedparam.c | 2 ++
- libpthread/sysdeps/generic/pt-key-create.c | 2 ++
- libpthread/sysdeps/generic/pt-key-delete.c | 2 ++
- libpthread/sysdeps/generic/pt-mutex-getprioceiling.c | 2 ++
- libpthread/sysdeps/generic/pt-mutex-setprioceiling.c | 2 ++
- libpthread/sysdeps/generic/pt-mutexattr-getprioceiling.c | 2 ++
- libpthread/sysdeps/generic/pt-mutexattr-setprioceiling.c | 2 ++
- libpthread/sysdeps/generic/pt-setschedparam.c | 2 ++
- libpthread/sysdeps/generic/pt-setschedprio.c | 2 ++
- 14 files changed, 36 insertions(+), 1 deletion(-)
-
---- a/config.make.in
-+++ b/config.make.in
-@@ -44,6 +44,7 @@ RANLIB = @RANLIB@
- MIG = @MIG@
- MIGCOM = $(MIG) -cc cat - /dev/null
- AWK = @AWK@
-+OBJDUMP = objdump
-
- # Compilation flags. Append these to the definitions already made by
- # the specific Makefile.
---- a/libpthread/Makefile
-+++ b/libpthread/Makefile
-@@ -186,7 +186,7 @@ CPPFLAGS += \
- -imacros $(srcdir)/not-in-libc.h
-
-
--install: install-headers $(libdir)/libpthread2.a $(libdir)/libpthread2_pic.a
-+install: install-headers $(libdir)/libpthread2.a $(libdir)/libpthread2_pic.a install-stubs-pthread
- install-headers: $(addprefix $(includedir)/, $(sysdeps_headers))
-
- # XXX: If $(libdir)/libpthread2.a is installed and
-@@ -205,6 +205,18 @@ $(libdir)/libpthread2_pic.a: $(libdir)/l
- mv $< $@
- $(INSTALL_DATA) $(srcdir)/libpthread_pic.a $<
-
-+install-stubs-pthread: stubs-pthread.h
-+ mkdir -p $(includedir)/gnu
-+ $(INSTALL_DATA) $< $(includedir)/gnu/stubs-pthread.h
-+
-+stubs-pthread.h: $(OBJS)
-+ $(OBJDUMP) -h $^ | \
-+ $(AWK) '/\.gnu\.glibc-stub\./ { \
-+ sub(/\.gnu\.glibc-stub\./, "", $$2); \
-+ stubs[$$2] = 1; } \
-+ END { for (s in stubs) print "#define __stub_" s }' > $@T
-+ mv -f $@T $@
-+
- .PHONY: $(addprefix $(includedir)/, $(sysdeps_headers))
-
- $(addprefix $(includedir)/, $(sysdeps_headers)):
---- a/libpthread/include/libc-symbols.h
-+++ b/libpthread/include/libc-symbols.h
-@@ -252,6 +252,7 @@
-
- /* A canned warning for sysdeps/stub functions. */
- #define stub_warning(name) \
-+ __make_section_unallocated (".gnu.glibc-stub." #name) \
- link_warning (name, \
- "warning: " #name " is not implemented and will always fail")
-
---- a/libpthread/sysdeps/generic/pt-atfork.c
-+++ b/libpthread/sysdeps/generic/pt-atfork.c
-@@ -27,3 +27,5 @@ pthread_atfork (void (*prepare) (void),
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_atfork)
---- a/libpthread/sysdeps/generic/pt-getcpuclockid.c
-+++ b/libpthread/sysdeps/generic/pt-getcpuclockid.c
-@@ -30,5 +30,6 @@ pthread_getcpuclockid (pthread_t thread,
- return 0;
- #else
- return ENOSYS;
-+stub_warning (pthread_getcpuclockid)
- #endif
- }
---- a/libpthread/sysdeps/generic/pt-getschedparam.c
-+++ b/libpthread/sysdeps/generic/pt-getschedparam.c
-@@ -26,3 +26,5 @@ pthread_getschedparam (pthread_t thread,
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_getschedparam)
---- a/libpthread/sysdeps/generic/pt-key-create.c
-+++ b/libpthread/sysdeps/generic/pt-key-create.c
-@@ -25,3 +25,5 @@ pthread_key_create (pthread_key_t *key,
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_key_create)
---- a/libpthread/sysdeps/generic/pt-key-delete.c
-+++ b/libpthread/sysdeps/generic/pt-key-delete.c
-@@ -25,3 +25,5 @@ pthread_key_delete (pthread_key_t key)
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_key_delete)
---- a/libpthread/sysdeps/generic/pt-mutex-getprioceiling.c
-+++ b/libpthread/sysdeps/generic/pt-mutex-getprioceiling.c
-@@ -26,3 +26,5 @@ pthread_mutex_getprioceiling (const pthr
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_mutex_getprioceiling)
---- a/libpthread/sysdeps/generic/pt-mutex-setprioceiling.c
-+++ b/libpthread/sysdeps/generic/pt-mutex-setprioceiling.c
-@@ -26,3 +26,5 @@ pthread_mutex_setprioceiling (pthread_mu
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_mutex_setprioceiling)
---- a/libpthread/sysdeps/generic/pt-mutexattr-getprioceiling.c
-+++ b/libpthread/sysdeps/generic/pt-mutexattr-getprioceiling.c
-@@ -26,3 +26,5 @@ pthread_mutexattr_getprioceiling (const
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_mutexattr_getprioceiling)
---- a/libpthread/sysdeps/generic/pt-mutexattr-setprioceiling.c
-+++ b/libpthread/sysdeps/generic/pt-mutexattr-setprioceiling.c
-@@ -26,3 +26,5 @@ pthread_mutexattr_setprioceiling (pthrea
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_mutexattr_setprioceiling)
---- a/libpthread/sysdeps/generic/pt-setschedparam.c
-+++ b/libpthread/sysdeps/generic/pt-setschedparam.c
-@@ -26,3 +26,5 @@ pthread_setschedparam (pthread_t thread,
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_setschedparam)
---- a/libpthread/sysdeps/generic/pt-setschedprio.c
-+++ b/libpthread/sysdeps/generic/pt-setschedprio.c
-@@ -25,3 +25,5 @@ pthread_setschedprio (pthread_t thread,
- {
- return ENOSYS;
- }
-+
-+stub_warning (pthread_setschedprio)
diff --git a/debian/patches/series b/debian/patches/series
index d6509162..c4c3db04 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,7 +3,6 @@ ext2fs_large_stores.patch
hurd_console_startup.patch
init_try_runsystem.gnu.patch
install-msgids.diff
-libpthread_stubs.patch
makedev.diff
pfinet_dhcp.patch
pflocal.patch
@@ -14,18 +13,15 @@ tmp_exec_startup.patch
uptime_w_path_fix.patch
stat_round.patch
libports_stability.patch
-libpthread_fix.patch
proxy-defpager.diff
external.patch
makedev_keep_options.patch
makedev_parted_store.patch
console_ignore_bdf_err.patch
-libpthread_sigmask.patch
ext2fs_nowait.patch
libpager_deadlock.patch
libdiskfs_self-reauth.patch
libdiskfs_sync.patch
-libpthread_globsigdisp.patch
posix-sigcodes.patch
random-default-fast.patch
libexec.patch