GNU/kFreeBSD patches
Hi! Over the last few days I submitted a few GNU/kFreeBSD entries to the BTS, all include patch with properly-formatted ChangeLog entry. Please consider: http://sources.redhat.com/bugzilla/show_bug.cgi?id=2172 (move _PATH_LOG definition to (in sysdeps)) http://sources.redhat.com/bugzilla/show_bug.cgi?id=2210 (Move sys/io.h to sysdeps/{i386,x86_64}/) http://sources.redhat.com/bugzilla/show_bug.cgi?id=2160 (ENOATTR and EDOOFUS) http://sources.redhat.com/bugzilla/show_bug.cgi?id=2161 (document EINVAL on unaligned access) Thank you, -- Robert Millan -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
r1109 - trunk/glibc-2.3-head/patches/fixes
Author: rmh Date: 2006-01-26 08:04:23 + (Thu, 26 Jan 2006) New Revision: 1109 Added: trunk/glibc-2.3-head/patches/fixes/sys_io_h.patch.disabled Modified: trunk/glibc-2.3-head/patches/fixes/errlist.patch Log: Add sys_io_h.patch.disabled. Add status note to errlist.patch Modified: trunk/glibc-2.3-head/patches/fixes/errlist.patch === --- trunk/glibc-2.3-head/patches/fixes/errlist.patch2006-01-26 07:06:46 UTC (rev 1108) +++ trunk/glibc-2.3-head/patches/fixes/errlist.patch2006-01-26 08:04:23 UTC (rev 1109) @@ -1,3 +1,6 @@ + +Status: in upstream CVS. + --- sysdeps/gnu/errlist-compat.awk.orig2005-11-18 07:48:29.0 +0100 +++ sysdeps/gnu/errlist-compat.awk 2005-11-18 07:48:41.0 +0100 @@ -35,7 +35,7 @@ Added: trunk/glibc-2.3-head/patches/fixes/sys_io_h.patch.disabled === --- trunk/glibc-2.3-head/patches/fixes/sys_io_h.patch.disabled 2006-01-26 07:06:46 UTC (rev 1108) +++ trunk/glibc-2.3-head/patches/fixes/sys_io_h.patch.disabled 2006-01-26 08:04:23 UTC (rev 1109) @@ -0,0 +1,107 @@ + +Author: rmh +Status: http://sources.redhat.com/bugzilla/show_bug.cgi?id=2210 +Note: The patch itself is imcomplete (it doesn't move the files). Besides, it + is unnecessary untill we want to remove kfreebsd/i386/sys/io.h. + +diff -ur sysdeps/i386/Dist sysdeps/i386/Dist +--- sysdeps/i386/Dist 2002-08-28 10:24:48.0 +0200 sysdeps/i386/Dist 2006-01-26 08:35:04.0 +0100 +@@ -2,3 +2,4 @@ + machine-gmon.h + bp-asm.h + bits/link.h ++sys/io.h +diff -ur sysdeps/i386/Makefile sysdeps/i386/Makefile +--- sysdeps/i386/Makefile 2005-02-16 12:07:19.0 +0100 sysdeps/i386/Makefile 2006-01-26 08:34:50.0 +0100 +@@ -62,6 +62,10 @@ + CFLAGS-dlerror.c += -mpreferred-stack-boundary=4 + endif + ++ifeq ($(subdir),misc) ++sysdep_headers += sys/io.h ++endif ++ + ifneq (,$(filter -mno-tls-direct-seg-refs,$(CFLAGS))) + defines += -DNO_TLS_DIRECT_SEG_REFS + endif +diff -ur sysdeps/mach/hurd/i386/Dist sysdeps/mach/hurd/i386/Dist +--- sysdeps/mach/hurd/i386/Dist2002-04-02 06:42:29.0 +0200 sysdeps/mach/hurd/i386/Dist2006-01-26 08:31:02.0 +0100 +@@ -1,3 +1,2 @@ + static-start.S +-sys/io.h + ioperm.c +diff -ur sysdeps/mach/hurd/i386/Makefile sysdeps/mach/hurd/i386/Makefile +--- sysdeps/mach/hurd/i386/Makefile2004-09-01 03:59:53.0 +0200 sysdeps/mach/hurd/i386/Makefile2006-01-26 08:30:57.0 +0100 +@@ -1,4 +1,3 @@ + ifeq ($(subdir),misc) + sysdep_routines += ioperm +-sysdep_headers += sys/io.h + endif +diff -ur sysdeps/unix/sysv/linux/i386/Dist sysdeps/unix/sysv/linux/i386/Dist +--- sysdeps/unix/sysv/linux/i386/Dist 2003-02-21 08:03:18.0 +0100 sysdeps/unix/sysv/linux/i386/Dist 2006-01-26 08:32:29.0 +0100 +@@ -8,7 +8,6 @@ + setfsgid.c + sys/debugreg.h + sys/elf.h +-sys/io.h + sys/perm.h + sys/procfs.h + sys/reg.h +diff -ur sysdeps/unix/sysv/linux/i386/Makefile sysdeps/unix/sysv/linux/i386/Makefile +--- sysdeps/unix/sysv/linux/i386/Makefile 2003-08-17 02:35:31.0 +0200 sysdeps/unix/sysv/linux/i386/Makefile 2006-01-26 08:32:38.0 +0100 +@@ -1,6 +1,6 @@ + ifeq ($(subdir),misc) + sysdep_routines += ioperm iopl vm86 +-sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h sys/io.h ++sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h + endif + + ifeq ($(subdir),elf) +diff -ur sysdeps/unix/sysv/linux/x86_64/Dist sysdeps/unix/sysv/linux/x86_64/Dist +--- sysdeps/unix/sysv/linux/x86_64/Dist2003-02-20 23:20:55.0 +0100 sysdeps/unix/sysv/linux/x86_64/Dist2006-01-26 08:32:47.0 +0100 +@@ -4,7 +4,6 @@ + ucontext_i.h + umount.c + sys/debugreg.h +-sys/io.h + sys/perm.h + sys/procfs.h + sys/reg.h +diff -ur sysdeps/unix/sysv/linux/x86_64/Makefile sysdeps/unix/sysv/linux/x86_64/Makefile +--- sysdeps/unix/sysv/linux/x86_64/Makefile2002-10-30 19:25:25.0 +0100 sysdeps/unix/sysv/linux/x86_64/Makefile2006-01-26 08:32:55.0 +0100 +@@ -3,7 +3,7 @@ + + ifeq ($(subdir),misc) + sysdep_routines += ioperm iopl +-sysdep_headers += sys/perm.h sys/reg.h sys/debugreg.h sys/io.h ++sysdep_headers += sys/perm.h sys/reg.h sys/debugreg.h + endif + + ifeq ($(subdir),stdlib) +diff -ur sysdeps/x86_64/Dist sysdeps/x86_64/Dist +--- sysdeps/x86_64/Dist2002-08-28 11:16:48.0 +0200 sysdeps/x86_64/Dist2006-01-26 08:35:09.0 +0100 +@@ -2,3 +2,4 @@ + hp-timing.c + _mcount.S + bits/link.h ++sys/io.h +diff -ur sysdeps/x86_64/Makefile sysdeps/x86_64/Makefile +--- sysdeps/x86_64/Makefile2004-08-16 08:46:14.0 +0200 sysdeps/x86_64/Makefile2006-01-26 08:34:55.0 +0100 +@@ -9,3 +9,7 @@ + ifeq ($(subdir),gmon) + sysdep_routines += _mcount + endif ++ ++ifeq ($(subdir),misc) ++sysdep_headers += sys/io.h
Bug#349982: Please merge debian/procps.sh patch (from debian/patches/40_gnu-kbsd.dpatch)
Package: procps Version: 1:3.2.6-2 Severity: wishlist Tags: patch Hi! I think the part of the debian/patches/40_gnu-kbsd.dpatch that applies to debian/procps.sh should be merged into the debian diff -- looks like an oversight. I'm attaching it for your convenience. The rest of the patch that applies to upstream source can be dropped altogether, since recent fixes in our system headers make it no longer needed. Thanks! -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.12-1-k7 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C) Versions of packages procps depends on: ii libc6 2.3.5-8.1 GNU C Library: Shared libraries an ii libncurses5 5.5-1 Shared libraries for terminal hand Versions of packages procps recommends: ii psmisc22.1-1 Utilities that use the proc filesy -- no debconf information --- ./debian/procps.sh 2005-11-02 13:21:56.0 +1100 +++ ./debian/procps.sh 2005-11-02 13:23:12.0 +1100 @@ -17,8 +17,9 @@ [ -r /etc/default/rcS ] || exit 0 . /etc/default/rcS -[ -x /sbin/sysctl ] || exit 0 +PATH=/sbin:$PATH +which sysctl > /dev/null || exit 0 case "$1" in start|reload|restart|force-reload) @@ -33,7 +34,7 @@ else quiet="-q" fi - /sbin/sysctl $quiet -p + sysctl $quiet -p if [ "$VERBOSE" = "yes" ] then echo "... done."
Re: r1103 - trunk/glibc-2.3-head/sysdeps/kfreebsd/bits
On Wed, Jan 25, 2006 at 07:55:58PM +0100, Robert Millan wrote: > > Unless someone objects (to this and the previous commit), I'd like to request > the procps maintainer to drop the part of the patch that worked around the > missing macros. > > (I mean the debian procps maintainer, the upstream one refused to apply) Ok, done. I also sent both patches to kernel headers as PRs to upstream. -- Robert Millan -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
r1110 - trunk/web/patches
Author: rmh Date: 2006-01-26 12:58:19 + (Thu, 26 Jan 2006) New Revision: 1110 Removed: trunk/web/patches/lush.diff Log: Nuke lush (merged) Deleted: trunk/web/patches/lush.diff === --- trunk/web/patches/lush.diff 2006-01-26 08:04:23 UTC (rev 1109) +++ trunk/web/patches/lush.diff 2006-01-26 12:58:19 UTC (rev 1110) @@ -1,48 +0,0 @@ -Status: in BTS -Author: aurel32 - -diff -u lush-1.1/debian/control lush-1.1/debian/control lush-1.1/debian/control -+++ lush-1.1/debian/control -@@ -7,7 +7,7 @@ - - Package: lush - Section: devel --Architecture: alpha amd64 arm hppa i386 m68k mips mipsel powerpc ppc64 s390 sparc -+Architecture: alpha amd64 arm hppa i386 m68k mips mipsel powerpc ppc64 s390 sparc kfreebsd-i386 - Depends: lush-library (= ${Source-Version}) - Description: Lisp Universal Shell Executable - Lush is a programming language and environment that is based on the Lisp -diff -u lush-1.1/debian/patches/00list lush-1.1/debian/patches/00list lush-1.1/debian/patches/00list -+++ lush-1.1/debian/patches/00list -@@ -4,0 +5 @@ -+05-kfreebsd-gnu lush-1.1.orig/debian/patches/05-kfreebsd-gnu.dpatch -+++ lush-1.1/debian/patches/05-kfreebsd-gnu.dpatch -@@ -0,0 +1,25 @@ -+#!/bin/sh /usr/share/dpatch/dpatch-run -+## 05-kfreebsd-gnu.dpatch by Aurelien Jarno <[EMAIL PROTECTED]> -+## -+## DP: Fixes FTBFS on GNU/kFreeBSD -+ [EMAIL PROTECTED]@ -+ -+--- lush-1.1.orig/src/unix.c - lush-1.1/src/unix.c -+@@ -631,6 +631,7 @@ -+ #ifndef BROKEN_SETSIG -+ #ifdef I_SETSIG -+ #ifdef I_GETSIG -++#ifdef SIGPOLL -+ flag = 0; -+ ioctl(fd, I_GETSIG, &flag); -+ if (ioctl(fd,I_SETSIG, flag|S_INPUT) != -1) -+@@ -642,6 +643,7 @@ -+ } -+ #endif -+ #endif -++#endif -+ #endif /* !BROKEN_SETSIG */ -+ #ifndef BROKEN_TIMER -+ #ifdef ITIMER_REAL -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
subscribe
subscribe -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
r1111 - trunk/web
Author: rmh Date: 2006-01-26 16:58:24 + (Thu, 26 Jan 2006) New Revision: Modified: trunk/web/BASE Log: Add initscripts Modified: trunk/web/BASE === --- trunk/web/BASE 2006-01-26 12:58:19 UTC (rev 1110) +++ trunk/web/BASE 2006-01-26 16:58:24 UTC (rev ) @@ -14,6 +14,7 @@ See trunk/glibc-2.3-head/. ncursesFTBFS. patch in BTS +sysvinit initscripts uninstallable (#349984) ufsutils still in experimental util-linux unsent up-to-date patch (Guillem is dealing with upstream) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
r1112 - in trunk/glibc-2.3-head/sysdeps/kfreebsd: . bits
Author: ps-guest Date: 2006-01-26 21:10:49 + (Thu, 26 Jan 2006) New Revision: 1112 Removed: trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat32.h trunk/glibc-2.3-head/sysdeps/kfreebsd/stat32conv.c Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat.h trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat16.h trunk/glibc-2.3-head/sysdeps/kfreebsd/fhstat.c trunk/glibc-2.3-head/sysdeps/kfreebsd/fhstat64.c trunk/glibc-2.3-head/sysdeps/kfreebsd/fxstat.c trunk/glibc-2.3-head/sysdeps/kfreebsd/fxstat64.c trunk/glibc-2.3-head/sysdeps/kfreebsd/lxstat.c trunk/glibc-2.3-head/sysdeps/kfreebsd/lxstat64.c trunk/glibc-2.3-head/sysdeps/kfreebsd/stat16conv.c trunk/glibc-2.3-head/sysdeps/kfreebsd/xstat.c trunk/glibc-2.3-head/sysdeps/kfreebsd/xstat64.c Log: * do not use nstat() syscalls family the "n" doesn't stand for "new" but for "NetBSD" they are slower they are not supported in freebsd32 emulation Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat.h === --- trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat.h 2006-01-26 16:58:24 UTC (rev ) +++ trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat.h 2006-01-26 21:10:49 UTC (rev 1112) @@ -30,8 +30,7 @@ #define _STAT_VER_stat 1 /* 'struct stat' in /usr/src/sys/sys/stat.h */ #define _STAT_VER_nstat2 /* 'struct nstat' in /usr/src/sys/sys/stat.h */ #define _STAT_VER_gstat 3 /* glibc's 'struct stat' without LFS */ -/* By default we use _STAT_VER_gstat, but we support also _STAT_VER_stat and - _STAT_VER_nstat. */ +/* By default we use _STAT_VER_gstat, but we support also _STAT_VER_stat */ #define _STAT_VER _STAT_VER_gstat /* Structure describing file characteristics. */ Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat16.h === --- trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat16.h 2006-01-26 16:58:24 UTC (rev ) +++ trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat16.h 2006-01-26 21:10:49 UTC (rev 1112) @@ -1,4 +1,4 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2006 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 @@ -16,8 +16,9 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -/* This structure corresponds to the original FreeBSD 'struct stat' - (i.e. _STAT_VER_stat), and is used by the fhstat() system call. */ +/* This structure corresponds to the standard FreeBSD 'struct stat' + (i.e. _STAT_VER_stat), and is used by the stat() system call family. */ + struct stat16 { __dev_t st_dev;/* Device containing the file. */ @@ -49,5 +50,10 @@ __uint32_t st_gen; /* Generation number. */ __uint32_t __unused1; -__quad_t __unused2[2]; + +long int st_birthtime; /* Time of file creation. */ +long int st_birthtimensec; /* Nanoseconds of file creation. */ + +#define _BIRTH_PADSIZE (2*(8 - sizeof (long))) +char __birth_padding[_BIRTH_PADSIZE]; }; Deleted: trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat32.h === --- trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat32.h 2006-01-26 16:58:24 UTC (rev ) +++ trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/stat32.h 2006-01-26 21:10:49 UTC (rev 1112) @@ -1,52 +0,0 @@ -/* Copyright (C) 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This structure corresponds to the newer FreeBSD 'struct nstat' - (i.e. _STAT_VER_nstat). */ -struct stat32 - { -__dev_t st_dev;/* Device containing the file. */ -__ino_t st_ino;/* File serial number. */ - -__uint32_t st_mode;/* File mode. */ -__uint32_t st_nlink; /* Link count. */ - -__uid_t st_uid;/* User ID of the file's owner. */ -__gid_t st_gid;/* Group ID of the file's group. */ - -__dev_t st_rdev; /* Device number, if device. */ - -long int st_at
r1113 - trunk/glibc-2.3-head
Author: aurel32 Date: 2006-01-27 05:00:47 + (Fri, 27 Jan 2006) New Revision: 1113 Modified: trunk/glibc-2.3-head/debian.sh Log: Ignore .disabled files when creating debian patches Modified: trunk/glibc-2.3-head/debian.sh === --- trunk/glibc-2.3-head/debian.sh 2006-01-26 21:10:49 UTC (rev 1112) +++ trunk/glibc-2.3-head/debian.sh 2006-01-27 05:00:47 UTC (rev 1113) @@ -12,8 +12,8 @@ cp -a $1/sysdeps/kfreebsd ${tmp}/sysdeps/unix/bsd/bsd4.4/ cp -a $1/linuxthreads/kfreebsd ${tmp}/linuxthreads/sysdeps/unix/bsd/bsd4.4/ echo "kfreebsd-sysdeps.diff -p0" >> debian/patches/series -(cd ${tmp} && diff -x .svn -Nurd null sysdeps/ ) > debian/patches/kfreebsd-sysdeps.diff -(cd ${tmp} && diff -x .svn -Nurd null linuxthreads/ ) >> debian/patches/kfreebsd-sysdeps.diff +(cd ${tmp} && diff -x .svn -x *.disabled -Nurd null sysdeps/ ) > debian/patches/kfreebsd-sysdeps.diff +(cd ${tmp} && diff -x .svn -x *.disabled -Nurd null linuxthreads/ ) >> debian/patches/kfreebsd-sysdeps.diff rm -rf ${tmp} for i in `ls $1/patches` ; do -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
r1114 - trunk/glibc-2.3-head
Author: aurel32 Date: 2006-01-27 05:06:36 + (Fri, 27 Jan 2006) New Revision: 1114 Modified: trunk/glibc-2.3-head/debian.sh Log: Fix to my previous patch, seems I was not really awaken... Modified: trunk/glibc-2.3-head/debian.sh === --- trunk/glibc-2.3-head/debian.sh 2006-01-27 05:00:47 UTC (rev 1113) +++ trunk/glibc-2.3-head/debian.sh 2006-01-27 05:06:36 UTC (rev 1114) @@ -12,12 +12,12 @@ cp -a $1/sysdeps/kfreebsd ${tmp}/sysdeps/unix/bsd/bsd4.4/ cp -a $1/linuxthreads/kfreebsd ${tmp}/linuxthreads/sysdeps/unix/bsd/bsd4.4/ echo "kfreebsd-sysdeps.diff -p0" >> debian/patches/series -(cd ${tmp} && diff -x .svn -x *.disabled -Nurd null sysdeps/ ) > debian/patches/kfreebsd-sysdeps.diff -(cd ${tmp} && diff -x .svn -x *.disabled -Nurd null linuxthreads/ ) >> debian/patches/kfreebsd-sysdeps.diff +(cd ${tmp} && diff -x .svn -x -Nurd null sysdeps/ ) > debian/patches/kfreebsd-sysdeps.diff +(cd ${tmp} && diff -x .svn -x -Nurd null linuxthreads/ ) >> debian/patches/kfreebsd-sysdeps.diff rm -rf ${tmp} for i in `ls $1/patches` ; do - cat $1/patches/$i/* > debian/patches/kfreebsd-$i.diff + cat $1/patches/$i/*.patch > debian/patches/kfreebsd-$i.diff echo "kfreebsd-$i.diff -p0" >> debian/patches/series done -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
r1115 - trunk/glibc-2.3-head
Author: aurel32 Date: 2006-01-27 05:37:21 + (Fri, 27 Jan 2006) New Revision: 1115 Modified: trunk/glibc-2.3-head/debian.sh Log: Really revert revision 1113 Modified: trunk/glibc-2.3-head/debian.sh === --- trunk/glibc-2.3-head/debian.sh 2006-01-27 05:06:36 UTC (rev 1114) +++ trunk/glibc-2.3-head/debian.sh 2006-01-27 05:37:21 UTC (rev 1115) @@ -12,8 +12,8 @@ cp -a $1/sysdeps/kfreebsd ${tmp}/sysdeps/unix/bsd/bsd4.4/ cp -a $1/linuxthreads/kfreebsd ${tmp}/linuxthreads/sysdeps/unix/bsd/bsd4.4/ echo "kfreebsd-sysdeps.diff -p0" >> debian/patches/series -(cd ${tmp} && diff -x .svn -x -Nurd null sysdeps/ ) > debian/patches/kfreebsd-sysdeps.diff -(cd ${tmp} && diff -x .svn -x -Nurd null linuxthreads/ ) >> debian/patches/kfreebsd-sysdeps.diff +(cd ${tmp} && diff -x .svn -Nurd null sysdeps/ ) > debian/patches/kfreebsd-sysdeps.diff +(cd ${tmp} && diff -x .svn -Nurd null linuxthreads/ ) >> debian/patches/kfreebsd-sysdeps.diff rm -rf ${tmp} for i in `ls $1/patches` ; do -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]