Mark,
thank you very much, I'll look on Dirmngr patches as soon as possible
and if will be ok, then i"ll put them into dude.
Luc,
P.S. could you send me file form of patches to my mailbox?
On Mon, Mar 10, 2008 at 6:31 AM, Mark Wright <markwright at myrealbox.com>
wrote:
> Hello,
>
> Please find below a proposed patch for some nits compiling
> dirmngr and aspell with Sun Studio 12 on Solaris 10u4 amd64.
>
> (1) From /h/goanna/2/os_5.10/kbe/build-logs/FOSSaspell.log:
>
> pkgbuild: /opt/SunStudio12/SUNWspro/bin/CC -DHAVE_CONFIG_H -I. -I. -I./gen
> -I./gen -I./common -I./interfaces/cc/ -I./modules/speller/default/
> -DLOCALEDIR=\"/opt/foss/share/locale\" -D_REENTRANT -D__EXTENSIONS__
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_POSIX_PTHREAD_SEMANTICS
> -DSOLARIS -DSOLARIS10 -DNDEBUG -DNO_DEBUG -D_UNICODE -DUNICODE
> -D_RWSTD_REENTRANT -D_XOPEN_SOURCE=500 -D_XPG5 -I/opt/foss/include
> -I/opt/foss/include/ansi -library=no%Cstd
> -features=anachronisms,except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
> -instances=global -template=geninlinefuncs -s -xlang=c99
> -xustr=ascii_utf16_ushort -Qoption ccfe -features=gcc -Qoption ccfe
> ++boolflag:sunwcch=false -xF=%none -xbuiltin=%all -xinline=%auto
> -xprefetch=auto -xprefetch_auto_type=indirect_array_access -xprefetch_level=3
> -xalias_level=compatible -xO3 -xregs=no%frameptr -xjobs=2 -Kpic
> -xrestrict=%all -xthreadvar=%all -z combreloc -z redlocsym -z nodefaultlib -z
> ignore -z now -z rescan -z absexec -xi
> po=0 -xldscope=symbolic -xlibmil -s -xtarget=opteron -m64 -xchip=opteron
> -xcache=64/64/2:1024/64/16 -lm -ldl -lc -lpthread -lposix4 -lrt -mt
> -L/opt/foss/lib/amd64 -L/usr/lib/amd64 -R/opt/foss/lib/amd64 -R/usr/lib/amd64
> -Y P,/opt/foss/lib/amd64:/usr/lib/amd64 -i -L/usr/lib/amd64 -R/usr/lib/amd64
> -Bdynamic -lCrun -lstdcxx -c modules/speller/default/readonly_ws.cpp -KPIC
> -DPIC -o modules/speller/default/.libs/readonly_ws.o
> pkgbuild: "/usr/include/floatingpoint.h", line 164: Error: FILE is not
> defined.
> pkgbuild: 1 Error(s) detected.
> pkgbuild: make[2]: *** [modules/speller/default/readonly_ws.lo] Error 1
> pkgbuild: make[2]: Leaving directory
> `/h/goanna/2/os_5.10/kbe/BUILD/FOSSaspell-0.60.4/amd64/ASPELL/0.60.4'
> pkgbuild: make[1]: *** [all-recursive] Error 1
> pkgbuild: make[1]: Leaving directory
> `/h/goanna/2/os_5.10/kbe/BUILD/FOSSaspell-0.60.4/amd64/ASPELL/0.60.4'
> pkgbuild: Bad exit status from /var/tmp/pkgbuild-mwright/pkgbuild-tmp-2.6507
> (%build)
> --- command output ends --- finished at Sun Mar 9 12:18:35 EST 2008
>
> (2) From /h/goanna/2/os_5.10/kbe/build-logs/FOSSdirmngr.log:
>
> pkgbuild: /opt/SunStudio12/SUNWspro/bin/cc -DHAVE_CONFIG_H -I. -I..
> -DLOCALEDIR=\"/opt/foss/share/locale\"
> -DDIRMNGR_SYSCONFDIR="\"/opt/foss/etc/dirmngr\""
> -DDIRMNGR_LIBEXECDIR="\"/opt/foss/lib/amd64\""
> -DDIRMNGR_DATADIR="\"/opt/foss/var/lib/dirmngr\""
> -DDIRMNGR_CACHEDIR="\"/opt/foss/var/cache/dirmngr\"" -D_REENTRANT
> -D__EXTENSIONS__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -D_POSIX_PTHREAD_SEMANTICS -DSOLARIS -DSOLARIS10 -DNDEBUG -DNO_DEBUG
> -D_UNICODE -DUNICODE -D_XOPEN_SOURCE=600 -D_XPG6 -D_POSIX_C_SOURCE=200112L
> -D__XOPEN_OR_POSIX -D_STRICT_STDC -D_STRICT_STDC__ -D_STDC_C99
> -I/opt/foss/include -I../jnlib -I/opt/foss/include -I/opt/foss/include
> -I/opt/foss/include -I/opt/foss/include -I/opt/foss/include -Xc
> -errshort=full -errfmt=error -errwarn=%none -s -xcsi
> -xustr=ascii_utf16_ushort -xalias_level=std -features=extinl -xF=%none
> -xbuiltin=%all -xinline=%auto -xprefetch=auto
> -xprefetch_auto_type=indirect_array_access -xprefetch_level=3 -xsafe=mem
> -xthreadvar=%all -z com
> breloc -z redlocsym -z nodefaultlib -z ignore -z now -z rescan -z absexec
> -xipo=0 -xldscope=symbolic -xlibmil -s -xO3 -xregs=no%frameptr -xjobs=2 -Kpic
> -xrestrict=%all -xipo=0 -xtarget=opteron -m64 -xchip=opteron
> -xcache=64/64/2:1024/64/16 -lm -ldl -lc -lpthread -lposix4 -lrt -mt
> -L/opt/foss/lib/amd64 -L/usr/lib/amd64 -R/opt/foss/lib/amd64 -R/usr/lib/amd64
> -c crlfetch.c
> pkgbuild: "crlfetch.c", line 324: error: void function cannot return value
> pkgbuild: cc: acomp failed for crlfetch.c
> pkgbuild: make[3]: *** [crlfetch.o] Error 2
> pkgbuild: make[3]: Leaving directory
> `/h/goanna/2/os_5.10/kbe/BUILD/FOSSdirmngr-1.0.1/amd64/DIRMNGR/1.0.1/src'
> pkgbuild: make[2]: *** [all-recursive] Error 1
> pkgbuild: make[2]: Leaving directory
> `/h/goanna/2/os_5.10/kbe/BUILD/FOSSdirmngr-1.0.1/amd64/DIRMNGR/1.0.1'
> pkgbuild: make[1]: *** [all] Error 2
> pkgbuild: make[1]: Leaving directory
> `/h/goanna/2/os_5.10/kbe/BUILD/FOSSdirmngr-1.0.1/amd64/DIRMNGR/1.0.1'
> pkgbuild: Bad exit status from
> /var/tmp/pkgbuild-mwright/pkgbuild-tmp-2.15447 (%build)
> --- command output ends --- finished at Sun Mar 9 17:51:56 EST 2008
>
> (3) DIRMNGR autotools issues:
>
> - useless Linux lib64 hack in Dude/DIRMNGR/1.0.1/m4/lib-prefix.m4
> makes no sense at all on Solaris. Coded something that that
> hopefully makes more sense, at least it seems to work on amd64.
> I tried to code it for Ultrasparc as well, but I can not test that
> since I don't have access to an Ultraspace machine.
>
> - tries to link things without bothering to list all the libraries
> it needs.
>
> (4) gcc ism in Dude/DIRMNGR/1.0.1/tests/asschk.c.
>
> (5) packaging nits:
>
> pkgbuild: + cd /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build
> pkgbuild: + find .
> pkgbuild: .
> pkgbuild: ./opt
> pkgbuild: ./opt/foss
> pkgbuild: ./opt/foss/bin
> pkgbuild: ./opt/foss/bin/amd64
> pkgbuild: ./opt/foss/bin/amd64/dirmngr
> pkgbuild: ./opt/foss/bin/amd64/dirmngr-client
> pkgbuild: ./opt/foss/bin/dirmngr
> pkgbuild: ./opt/foss/bin/dirmngr-client
> pkgbuild: ./opt/foss/lib
> pkgbuild: ./opt/foss/lib/amd64
> pkgbuild: ./opt/foss/lib/amd64/dirmngr_ldap
> pkgbuild: ./opt/foss/lib/dirmngr_ldap
> pkgbuild: ./opt/foss/share
> pkgbuild: ./opt/foss/share/locale
> pkgbuild: ./opt/foss/share/locale/de
> pkgbuild: ./opt/foss/share/locale/de/LC_MESSAGES
> pkgbuild: ./opt/foss/share/locale/de/LC_MESSAGES/dirmngr.mo
> pkgbuild: ./opt/foss/share/info
> pkgbuild: ./opt/foss/share/info/dirmngr.info
> pkgbuild: ./opt/foss/share/man
> pkgbuild: ./opt/foss/share/man/man1
> pkgbuild: ./opt/foss/share/man/man1/dirmngr.1
> pkgbuild: ./opt/foss/share/man/man1/dirmngr-client.1
> pkgbuild: + cd /h/goanna/2/os_5.10/kbe/BUILD
> pkgbuild: + cd /h/goanna/2/os_5.10/kbe/BUILD
> pkgbuild: + exit 0
> pkgbuild: pkgbuild: File not found by glob:
> /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/bin/gpg*
> pkgbuild: pkgbuild: File not found by glob:
> /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/lib/lib*.so*
> pkgbuild: pkgbuild: File not found by glob:
> /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/lib/amd64/lib*.so*
> pkgbuild: pkgbuild: File not found by glob:
> /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/bin/amd64/gpg*
> pkgbuild: pkgbuild: File not found by glob:
> /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/share/aclocal
> pkgbuild: pkgbuild: File not found by glob:
> /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/share/aclocal/*.m4
> pkgbuild: pkgbuild: File not found by glob:
> /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/include
> pkgbuild: pkgbuild: File not found by glob:
> /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/include/*
> --- command output ends --- finished at Mon Mar 10 16:01:29 EST 2008
>
> INFO: pkgbuild -ba finished at Mon Mar 10 16:01:29 EST 2008
>
> ERROR: FOSSdirmngr FAILED
> INFO: Check the build log in
> /h/goanna/2/os_5.10/kbe/build-logs/FOSSdirmngr.log for details
>
> Thanks, Mark
>
> Index: Dude/SPECS/dirmngr.pspc
> ===================================================================
> --- Dude/SPECS/dirmngr.pspc (revision 1517)
> +++ Dude/SPECS/dirmngr.pspc (working copy)
> @@ -17,25 +17,23 @@
> %files
> %defattr (-, root, bin)
> %dir %attr (0755, root, bin) %{_bindir}
> -%{_bindir}/gpg*
> +%{_bindir}/dirmngr*
> %dir %attr (0755, root, bin) %{_libdir}
> -%{_libdir}/lib*.so*
> +%{_libdir}/dirmngr_ldap
> %ifarch amd64 sparcv9
> %dir %attr (0755, root, bin) %{_libdir}/%_arch64
> -%{_libdir}/%_arch64/lib*.so*
> +%{_libdir}/%_arch64/dirmngr_ldap
> %dir %attr (0755, root, bin) %{_bindir}/%_arch64
> -%{_bindir}/%_arch64/gpg*
> +%{_bindir}/%_arch64/dirmngr*
> %endif
> %dir %attr (0755, root, sys) %{_datadir}
> -%dir %attr (0755, root, other) %{_datadir}/aclocal
> -%{_datadir}/aclocal/*.m4
> +%{_datadir}/locale/*/LC_MESSAGES/dirmngr.mo
> %dir %attr (0755, root, other) %{_infodir}
> %{_infodir}/*
> -%dir %attr (0755, root, bin) %{_includedir}
> -%{_includedir}/*
> +%dir %attr (0755, root, bin) %{_mandir}
> +%{_mandir}/man1/*
>
>
> -
> %changelog
> * Fri Feb 1 2008 - oboril.lukas at gmail.com
> - Initial version
> Index: Dude/ASPELL/0.60.4/Solaris/diffs/readonly_ws.cpp.diff
> ===================================================================
> --- Dude/ASPELL/0.60.4/Solaris/diffs/readonly_ws.cpp.diff (revision
> 1517)
> +++ Dude/ASPELL/0.60.4/Solaris/diffs/readonly_ws.cpp.diff (working
> copy)
> @@ -1,6 +1,6 @@
> --- aspell.orig/modules/speller/default/readonly_ws.cpp (revision
> 801)
> +++ aspell/modules/speller/default/readonly_ws.cpp (working copy)
> -@@ -28,12 +28,21 @@
> +@@ -28,12 +28,22 @@
> // bit 6: have affix info
> // bit 7: have compound info
>
> @@ -9,6 +9,7 @@
> +#include <cstring>
> +#include <cstdio>
> +#include <cmath>
> ++using std::FILE;
> +#include <math.h>
> +using namespace std;
> +
> Index: Dude/DIRMNGR/1.0.1/Solaris/patch.sh
> ===================================================================
> --- Dude/DIRMNGR/1.0.1/Solaris/patch.sh (revision 1517)
> +++ Dude/DIRMNGR/1.0.1/Solaris/patch.sh (working copy)
> @@ -1,3 +1,8 @@
> #!/bin/sh
> gpatch -p0 < Solaris/diffs/utf8conv.diff
> -
> +gpatch -p0 < Solaris/diffs/crlfetch.diff
> +gpatch -p0 < Solaris/diffs/lib-prefix.diff
> +gpatch -p0 < Solaris/diffs/configure_ac.diff
> +gpatch -p0 < Solaris/diffs/src_Makefile_am.diff
> +gpatch -p0 < Solaris/diffs/tests_Makefile_am.diff
> +gpatch -p0 < Solaris/diffs/asschk.diff
> Index: Dude/DIRMNGR/1.0.1/Solaris/configure.sh
> ===================================================================
> --- Dude/DIRMNGR/1.0.1/Solaris/configure.sh (revision 1517)
> +++ Dude/DIRMNGR/1.0.1/Solaris/configure.sh (working copy)
> @@ -1,4 +1,5 @@
> #!/bin/sh
> +autoreconf
> ./configure \
> --prefix=${PREFIX} \
> --bindir=${_bindir} \
> Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/crlfetch.diff
> ===================================================================
> --- Dude/DIRMNGR/1.0.1/Solaris/diffs/crlfetch.diff (revision 0)
> +++ Dude/DIRMNGR/1.0.1/Solaris/diffs/crlfetch.diff (revision 0)
> @@ -0,0 +1,13 @@
> +Index: src/crlfetch.c
> +===================================================================
> +--- src/crlfetch.c (revision 1512)
> ++++ src/crlfetch.c (working copy)
> +@@ -321,7 +321,7 @@
> + void
> + end_cert_fetch (cert_fetch_context_t context)
> + {
> +- return end_cert_fetch_ldap (context);
> ++ end_cert_fetch_ldap (context);
> + }
> +
> +
> Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/tests_Makefile_am.diff
> ===================================================================
> --- Dude/DIRMNGR/1.0.1/Solaris/diffs/tests_Makefile_am.diff (revision 0)
> +++ Dude/DIRMNGR/1.0.1/Solaris/diffs/tests_Makefile_am.diff (revision 0)
> @@ -0,0 +1,13 @@
> +Index: tests/Makefile.am
> +===================================================================
> +--- tests/Makefile.am (revision 1517)
> ++++ tests/Makefile.am (working copy)
> +@@ -11,7 +11,7 @@
> + TESTS =
> +
> + noinst_PROGRAMS = test-dirmngr asschk show-multi percent-escape
> +-LDADD = ../jnlib/libjnlib.a $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS)
> $(KSBA_LIBS)
> ++LDADD = ../jnlib/libjnlib.a $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS)
> $(KSBA_LIBS) $(LIBINTL) $(LIBICONV)
> +
> + asschk_SOURCES = asschk.c
> +
> Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/asschk.diff
> ===================================================================
> --- Dude/DIRMNGR/1.0.1/Solaris/diffs/asschk.diff (revision 0)
> +++ Dude/DIRMNGR/1.0.1/Solaris/diffs/asschk.diff (revision 0)
> @@ -0,0 +1,22 @@
> +Index: tests/asschk.c
> +===================================================================
> +--- tests/asschk.c (revision 1517)
> ++++ tests/asschk.c (working copy)
> +@@ -188,7 +188,7 @@
> + exit (1);
> + }
> +
> +-#define die(format, args...) (die) ("%s: " format, __FUNCTION__ , ##args)
> ++// #define die(format, func, args...) (die)("%s: " format, __func__,
> ##args)
> +
> + static void
> + err (const char *format, ...)
> +@@ -288,7 +288,7 @@
> + if (opt_verbose)
> + {
> + int i;
> +- printf ("%s: read \"", __FUNCTION__);
> ++ printf ("%s: read \"", __func__);
> + for (i = 0; i < n; i ++)
> + putc (buf[i], stdout);
> + printf ("\"\n");
> Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/lib-prefix.diff
> ===================================================================
> --- Dude/DIRMNGR/1.0.1/Solaris/diffs/lib-prefix.diff (revision 0)
> +++ Dude/DIRMNGR/1.0.1/Solaris/diffs/lib-prefix.diff (revision 0)
> @@ -0,0 +1,52 @@
> +Index: m4/lib-prefix.m4
> +===================================================================
> +--- m4/lib-prefix.m4 (revision 1517)
> ++++ m4/lib-prefix.m4 (working copy)
> +@@ -166,20 +166,33 @@
> + dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
> + dnl default, namely "lib".
> + acl_libdirstem=lib
> +- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e
> 's,^libraries: ,,p' | sed -e 's,^=,,'`
> +- if test -n "$searchpath"; then
> +- acl_save_IFS="${IFS= }"; IFS=":"
> +- for searchdir in $searchpath; do
> +- if test -d "$searchdir"; then
> +- case "$searchdir" in
> +- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
> +- *) searchdir=`cd "$searchdir" && pwd`
> +- case "$searchdir" in
> +- */lib64 ) acl_libdirstem=lib64 ;;
> +- esac ;;
> +- esac
> ++ case $host_os in
> ++ solaris*)
> ++ acl_lib_64_arch=`isainfo | cut -f1 -d' '`
> ++ for ld_flag in $LDFLAGS; do
> ++ if (test $ld_flag = "-m64" || test $ld_flag = "-Wl,-64"); then
> ++ acl_libdirstem="lib/$acl_lib_64_arch"
> ++ break
> + fi
> + done
> +- IFS="$acl_save_IFS"
> +- fi
> ++ ;;
> ++ *)
> ++ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e
> 's,^libraries: ,,p' | sed -e 's,^=,,'`
> ++ if test -n "$searchpath"; then
> ++ acl_save_IFS="${IFS= }"; IFS=":"
> ++ for searchdir in $searchpath; do
> ++ if test -d "$searchdir"; then
> ++ case "$searchdir" in
> ++ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
> ++ *) searchdir=`cd "$searchdir" && pwd`
> ++ case "$searchdir" in
> ++ */lib64 ) acl_libdirstem=lib64 ;;
> ++ esac ;;
> ++ esac
> ++ fi
> ++ done
> ++ IFS="$acl_save_IFS"
> ++ fi
> ++ ;;
> ++ esac
> + ])
> Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/src_Makefile_am.diff
> ===================================================================
> --- Dude/DIRMNGR/1.0.1/Solaris/diffs/src_Makefile_am.diff (revision 0)
> +++ Dude/DIRMNGR/1.0.1/Solaris/diffs/src_Makefile_am.diff (revision 0)
> @@ -0,0 +1,26 @@
> +Index: src/Makefile.am
> +===================================================================
> +--- src/Makefile.am (revision 1517)
> ++++ src/Makefile.am (working copy)
> +@@ -47,7 +47,7 @@
> + validate.c validate.h exechelp.h exechelp.c get-path.c
> +
> + dirmngr_LDADD = ../jnlib/libjnlib.a $(LIBOBJS) $(LIBASSUAN_PTH_LIBS) \
> +- $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(PTH_LIBS) $(LIBINTL)
> ++ $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(PTH_LIBS) $(LIBINTL) $(LIBICONV)
> +
> + if HAVE_W32_SYSTEM
> + ldap_url = ldap-url.h ldap-url.c
> +@@ -60,10 +60,10 @@
> + dirmngr_ldap_CFLAGS = $(GPG_ERROR_CFLAGS)
> + dirmngr_ldap_LDFLAGS =
> + dirmngr_ldap_LDADD = $(ldap_ldadd) ../jnlib/libjnlib.a $(LIBOBJS) \
> +- $(GPG_ERROR_LIBS) $(LDAPLIBS) $(LIBINTL)
> ++ $(GPG_ERROR_LIBS) $(LDAPLIBS) $(LIBINTL) $(LIBICONV)
> +
> + dirmngr_client_SOURCES = dirmngr-client.c i18n.h util.h b64enc.c \
> + get-path.c no-libgcrypt.c no-libgcrypt.h
> + dirmngr_client_LDADD = ../jnlib/libjnlib.a $(LIBOBJS) $(LIBASSUAN_LIBS) \
> +- $(GPG_ERROR_LIBS) $(LIBINTL)
> ++ $(GPG_ERROR_LIBS) $(LIBINTL) $(LIBICONV)
> +
> Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/configure_ac.diff
> ===================================================================
> --- Dude/DIRMNGR/1.0.1/Solaris/diffs/configure_ac.diff (revision 0)
> +++ Dude/DIRMNGR/1.0.1/Solaris/diffs/configure_ac.diff (revision 0)
> @@ -0,0 +1,13 @@
> +Index: configure.ac
> +===================================================================
> +--- configure.ac (revision 1517)
> ++++ configure.ac (working copy)
> +@@ -269,7 +269,7 @@
> + # guess-the-dependency by using something like ./configure
> + # LDAPLIBS="-Lfoo -lbar"
> + #
> +-for MY_LDAPLIBS in ${LDAPLIBS+"$LDAPLIBS"} "-lldap" "-lldap -llber"
> "-lldap -llber -lresolv" "-lwldap32"; do
> ++for MY_LDAPLIBS in ${LDAPLIBS+"$LDAPLIBS"} "-lldap -llber" "-lldap"
> "-lldap -llber -lresolv" "-lwldap32"; do
> + _ldap_save_libs=$LIBS
> + LIBS="$MY_LDAPLIBS $NETLIBS $LIBS"
> +
> --
> This message posted from opensolaris.org
> _______________________________________________
> kde-discuss mailing list
> kde-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/kde-discuss
>
--
Lukas 'Luc' Oboril
IRC nickname: luc^ at freenode
When dealing with people, let us remember we are not dealing with
creatures of logic. We are dealing with creatures of emotions,
creatures bristling with prejudices and motivated by pride and vanity.
Dale Carnegie