diff options
-rw-r--r-- | main/boost/APKBUILD | 4 | ||||
-rw-r--r-- | main/busybox/APKBUILD | 12 | ||||
-rw-r--r-- | main/busybox/busybox-1.18.3-buildsys.patch | 10 | ||||
-rw-r--r-- | main/busybox/busybox-1.18.3-klogd.patch | 45 | ||||
-rw-r--r-- | main/busybox/busybox-1.18.3-wget.patch | 128 | ||||
-rw-r--r-- | main/fastjar/APKBUILD | 43 | ||||
-rw-r--r-- | main/ncurses/APKBUILD | 42 | ||||
-rw-r--r-- | testing/boost-coroutine/APKBUILD | 38 | ||||
-rw-r--r-- | testing/boost-coroutine/boost-coroutine-pth.patch | 19 | ||||
-rw-r--r-- | testing/powertop/APKBUILD | 40 | ||||
-rw-r--r-- | testing/powertop/intl.patch | 11 | ||||
-rw-r--r-- | testing/snowstorm/APKBUILD | 72 | ||||
-rw-r--r-- | testing/snowstorm/indra-no-breakpad.patch | 179 |
13 files changed, 438 insertions, 205 deletions
diff --git a/main/boost/APKBUILD b/main/boost/APKBUILD index eaa03a3200..34d4242fd9 100644 --- a/main/boost/APKBUILD +++ b/main/boost/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=boost -pkgver=1.46.0 +pkgver=1.46.1 _x=${pkgver%%.*} # strip .y.z _y=${pkgver%.*} # strip .z @@ -133,4 +133,4 @@ wave() { _mvlib wave; } wserialization() { _mvlib wserialization; } -md5sums="820393d5746553c192db7b81ba0e53fe boost_1_46_0.tar.gz" +md5sums="341e5d993b19d099bf1a548495ea91ec boost_1_46_1.tar.gz" diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD index be104dcf17..4ac28d8ad8 100644 --- a/main/busybox/APKBUILD +++ b/main/busybox/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=busybox -pkgver=1.18.3 -pkgrel=4 +pkgver=1.18.4 +pkgrel=0 pkgdesc="Size optimized toolbox of many common UNIX utilities" url=http://busybox.net arch="all" @@ -13,9 +13,6 @@ triggers="busybox.trigger:/bin /usr/bin /sbin /usr/sbin /lib/modules/*" source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2 $pkgname-1.11.1-bb.patch busybox-uname-is-not-gnu.patch - busybox-1.18.3-buildsys.patch - busybox-1.18.3-klogd.patch - busybox-1.18.3-wget.patch loginutils-sha512.patch busyboxconfig" @@ -74,11 +71,8 @@ static() { } -md5sums="660af4d44661d32b22025a66f4f78df2 busybox-1.18.3.tar.bz2 +md5sums="b03c5b46ced732679e525a920a1a62f5 busybox-1.18.4.tar.bz2 4c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch b5375210f13fd6e1ca61a565e8fabd35 busybox-uname-is-not-gnu.patch -1270a714d2ed9940f04379c97bb83cba busybox-1.18.3-buildsys.patch -f2277e7a31d04295bd9d56a98ff1535b busybox-1.18.3-klogd.patch -abe065069fed8458eedbdad48c115e1f busybox-1.18.3-wget.patch d21d70d590e9e04bfc65ecb23b9d1617 loginutils-sha512.patch 7297e212d5e2a5517f770b4ad1f4654d busyboxconfig" diff --git a/main/busybox/busybox-1.18.3-buildsys.patch b/main/busybox/busybox-1.18.3-buildsys.patch deleted file mode 100644 index 330b73fbb8..0000000000 --- a/main/busybox/busybox-1.18.3-buildsys.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- busybox-1.18.3/Config.in -+++ busybox-1.18.3-buildsys/Config.in -@@ -126,7 +126,6 @@ config FEATURE_INSTALLER - config INSTALL_NO_USR - bool "Don't use /usr" - default n -- depends on FEATURE_INSTALLER - help - Disable use of /usr. busybox --install and "make install" - will install applets only to /bin and /sbin, diff --git a/main/busybox/busybox-1.18.3-klogd.patch b/main/busybox/busybox-1.18.3-klogd.patch deleted file mode 100644 index 2272cd0030..0000000000 --- a/main/busybox/busybox-1.18.3-klogd.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- busybox-1.18.3/sysklogd/klogd.c -+++ busybox-1.18.3-klogd/sysklogd/klogd.c -@@ -150,12 +150,41 @@ int klogd_main(int argc UNUSED_PARAM, ch - */ - klogd_open(); - openlog("kernel", 0, LOG_KERN); -+ /* -+ * glibc problem: for some reason, glibc changes LOG_KERN to LOG_USER -+ * above. The logic behind this is that standard -+ * http://pubs.opengroup.org/onlinepubs/9699919799/functions/syslog.html -+ * says the following about openlog and syslog: -+ * "LOG_USER -+ * Messages generated by arbitrary processes. -+ * This is the default facility identifier if none is specified." -+ * -+ * I believe glibc misinterpreted this text as "if openlog's -+ * third parameter is 0 (=LOG_KERN), treat it as LOG_USER". -+ * Whereas it was meant to say "if *syslog* is called with facility -+ * 0 in its 1st parameter without prior call to openlog, then perform -+ * implicit openlog(LOG_USER)". -+ * -+ * As a result of this, eh, feature, standard klogd was forced -+ * to open-code its own openlog and syslog implementation (!). -+ * -+ * Note that prohibiting openlog(LOG_KERN) on libc level does not -+ * add any security: any process can open a socket to "/dev/log" -+ * and write a string "<0>Voila, a LOG_KERN + LOG_EMERG message" -+ * -+ * Google code search tells me there is no widespread use of -+ * openlog("foo", 0, 0), thus fixing glibc won't break userspace. -+ * -+ * The bug against glibc was filed: -+ * bugzilla.redhat.com/show_bug.cgi?id=547000 -+ */ - - if (i) - klogd_setloglevel(i); - -- bb_signals(BB_FATAL_SIGS, record_signo); - signal(SIGHUP, SIG_IGN); -+ /* We want klogd_read to not be restarted, thus _norestart: */ -+ bb_signals_recursive_norestart(BB_FATAL_SIGS, record_signo); - - syslog(LOG_NOTICE, "klogd started: %s", bb_banner); - diff --git a/main/busybox/busybox-1.18.3-wget.patch b/main/busybox/busybox-1.18.3-wget.patch deleted file mode 100644 index 88cfc918ca..0000000000 --- a/main/busybox/busybox-1.18.3-wget.patch +++ /dev/null @@ -1,128 +0,0 @@ ---- busybox-1.18.3/networking/wget.c -+++ busybox-1.18.3-wget/networking/wget.c -@@ -446,7 +446,7 @@ static FILE* prepare_ftp_session(FILE ** - - static void NOINLINE retrieve_file_data(FILE *dfp, int output_fd) - { -- char buf[512]; -+ char buf[4*1024]; /* made bigger to speed up local xfers */ - #if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT - # if ENABLE_FEATURE_WGET_TIMEOUT - unsigned second_cnt; -@@ -455,7 +455,6 @@ static void NOINLINE retrieve_file_data( - - polldata.fd = fileno(dfp); - polldata.events = POLLIN | POLLPRI; -- ndelay_on(polldata.fd); - #endif - progress_meter(PROGRESS_START); - -@@ -464,6 +463,10 @@ static void NOINLINE retrieve_file_data( - - /* Loops only if chunked */ - while (1) { -+ -+#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT -+ ndelay_on(polldata.fd); -+#endif - while (1) { - int n; - unsigned rdsz; -@@ -493,22 +496,46 @@ static void NOINLINE retrieve_file_data( - progress_meter(PROGRESS_BUMP); - } - #endif -+ /* fread internally uses read loop, which in our case -+ * is usually exited when we get EAGAIN. -+ * In this case, libc sets error marker on the stream. -+ * Need to clear it before next fread to avoid possible -+ * rare false positive ferror below. Rare because usually -+ * fread gets more than zero bytes, and we don't fall -+ * into if (n <= 0) ... -+ */ -+ clearerr(dfp); -+ errno = 0; - n = safe_fread(buf, rdsz, dfp); -+ /* man fread: -+ * If error occurs, or EOF is reached, the return value -+ * is a short item count (or zero). -+ * fread does not distinguish between EOF and error. -+ */ - if (n <= 0) { -- if (ferror(dfp)) { -- /* perror will not work: ferror doesn't set errno */ -- bb_error_msg_and_die(bb_msg_read_error); -- } -- break; -+#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT -+ if (errno == EAGAIN) /* poll lied, there is no data? */ -+ continue; /* yes */ -+#endif -+ if (ferror(dfp)) -+ bb_perror_msg_and_die(bb_msg_read_error); -+ break; /* EOF, not error */ - } -+ - xwrite(output_fd, buf, n); - #if ENABLE_FEATURE_WGET_STATUSBAR - G.transferred += n; - progress_meter(PROGRESS_BUMP); - #endif -- if (G.got_clen) -+ if (G.got_clen) { - G.content_len -= n; -+ if (G.content_len == 0) -+ break; -+ } - } -+#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT -+ ndelay_off(polldata.fd); -+#endif - - if (!G.chunked) - break; -@@ -706,6 +733,11 @@ int wget_main(int argc UNUSED_PARAM, cha - fprintf(sfp, "Host: %s\r\nUser-Agent: %s\r\n", - target.host, user_agent); - -+ /* Ask server to close the connection as soon as we are done -+ * (IOW: we do not intend to send more requests) -+ */ -+ fprintf(sfp, "Connection: close\r\n"); -+ - #if ENABLE_FEATURE_WGET_AUTHENTICATION - if (target.user) { - fprintf(sfp, "Proxy-Authorization: Basic %s\r\n"+6, -@@ -719,22 +751,25 @@ int wget_main(int argc UNUSED_PARAM, cha - - if (G.beg_range) - fprintf(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range); -+ - #if ENABLE_FEATURE_WGET_LONG_OPTIONS - if (extra_headers) - fputs(extra_headers, sfp); - - if (opt & WGET_OPT_POST_DATA) { - char *estr = URL_escape(post_data); -- fprintf(sfp, "Content-Type: application/x-www-form-urlencoded\r\n"); -- fprintf(sfp, "Content-Length: %u\r\n" "\r\n" "%s", -- (int) strlen(estr), estr); -- /*fprintf(sfp, "Connection: Keep-Alive\r\n\r\n");*/ -- /*fprintf(sfp, "%s\r\n", estr);*/ -+ fprintf(sfp, -+ "Content-Type: application/x-www-form-urlencoded\r\n" -+ "Content-Length: %u\r\n" -+ "\r\n" -+ "%s", -+ (int) strlen(estr), estr -+ ); - free(estr); - } else - #endif -- { /* If "Connection:" is needed, document why */ -- fprintf(sfp, /* "Connection: close\r\n" */ "\r\n"); -+ { -+ fprintf(sfp, "\r\n"); - } - - fflush(sfp); diff --git a/main/fastjar/APKBUILD b/main/fastjar/APKBUILD new file mode 100644 index 0000000000..59ce15d07d --- /dev/null +++ b/main/fastjar/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Timo Teras <timo.teras@iki.fi> +# Maintainer: Timo Teras <timo.teras@iki.fi> +pkgname=fastjar +pkgver=0.98 +pkgrel=0 +pkgdesc="A fast implementation of Java Archiver" +url="http://savannah.nongnu.org/projects/fastjar" +arch="all" +license="GPL-2" +depends= +makedepends="zlib-dev" +install="" +subpackages="$pkgname-doc" +source="http://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz" + +_builddir=$srcdir/$pkgname-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="d2d264d343d4d0e1575832cc1023c3bf fastjar-0.98.tar.gz" diff --git a/main/ncurses/APKBUILD b/main/ncurses/APKBUILD index bb95248d8e..7153f33bdb 100644 --- a/main/ncurses/APKBUILD +++ b/main/ncurses/APKBUILD @@ -1,33 +1,45 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=ncurses pkgver=5.8 -pkgrel=1 +pkgrel=2 pkgdesc="Console display library" url="http://www.gnu.org/software/ncurses/" arch="all" license=MIT depends= source="ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz" -subpackages="$pkgname-dev $pkgname-doc $pkgname-base $pkgname-terminfo $pkgname-libs" +subpackages="$pkgname-dev $pkgname-doc $pkgname-base $pkgname-terminfo + $pkgname-widec-libs:widec $pkgname-libs" build() { + local _confopts="--mandir=/usr/share/man + --disable-ada + --disable-termcap + --without-cxx-binding + --with-terminfo-dirs="/etc/terminfo:/usr/share/terminfo" + --with-shared" cd "$srcdir/$pkgname-$pkgver" - ./configure \ - --mandir=/usr/share/man \ - --disable-ada \ - --disable-termcap \ - --without-cxx-binding \ - --with-terminfo-dirs="/etc/terminfo:/usr/share/terminfo" \ - --with-shared + mkdir ncurses-build ncursesw-build + cd ncurses-build + ../configure $_confopts || return 1 + make libs || return 1 + make -C progs || return 1 - make || return 1 + cd ../ncursesw-build + ../configure $_confopts --enable-widec --without-progs || return 1 + make libs || return 1 + cd .. } package() { cd "$srcdir/$pkgname-$pkgver" - make install DESTDIR="$pkgdir" + make -j1 -C ncurses-build DESTDIR="$pkgdir" install.libs \ + install.progs install.data || return 1 + make -j1 -C ncursesw-build DESTDIR="$pkgdir" install.libs \ + install.includes install.man || return 1 + # Install basic terms in /etc/terminfo for i in ansi console dumb linux rxvt screen sun vt52 vt100 vt102 \ vt200 vt220 xterm xterm-color xterm-xfree86; do @@ -49,6 +61,13 @@ terminfo() { mv $pkgdir/usr/share/terminfo $subpkgdir/usr/share } +widec() { + pkgdesc="Ncurses wide character libraries" + depends="ncurses-base" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/lib*w.so.* "$subpkgdir"/usr/lib/ +} + libs() { pkgdesc="Ncurses libraries" replaces="ncurses" @@ -57,6 +76,7 @@ libs() { mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ } + base() { pkgdesc="Descriptions of common terminals" replaces="ncurses" diff --git a/testing/boost-coroutine/APKBUILD b/testing/boost-coroutine/APKBUILD new file mode 100644 index 0000000000..9803a33092 --- /dev/null +++ b/testing/boost-coroutine/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=boost-coroutine +pkgver=0.0.1 +pkgrel=2 +pkgdesc="coroutine library for boost" +url="http://www.crystalclearsoftware.com/soc/coroutine/" +arch="noarch" +license="custom:boost" +depends= +depends_dev="boost-dev pth-dev" +install="" +source="saveas-http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost-coroutine-2009-12-01.tar.gz&directory=Concurrent%20Programming/boost-coroutine-2009-12-01.tar.gz + boost-coroutine-pth.patch" + +_builddir="${srcdir}/boost-coroutine" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + return 0 +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/include + cp -r "$_builddir"/boost "$pkgdir"/usr/include/boost +} + +md5sums="9837f5f2024dfc4da68bf62e0aab529a boost-coroutine-2009-12-01.tar.gz +53d3c4752668f0332dc31bd2341db609 boost-coroutine-pth.patch" diff --git a/testing/boost-coroutine/boost-coroutine-pth.patch b/testing/boost-coroutine/boost-coroutine-pth.patch new file mode 100644 index 0000000000..3a6af66af7 --- /dev/null +++ b/testing/boost-coroutine/boost-coroutine-pth.patch @@ -0,0 +1,19 @@ +--- boost-coroutine.orig/boost/coroutine/detail/context_posix.hpp ++++ boost-coroutine/boost/coroutine/detail/context_posix.hpp +@@ -46,13 +46,10 @@ + #include <boost/config.hpp> + #include <boost/assert.hpp> + +-#if defined(_XOPEN_UNIX) && defined(_XOPEN_VERSION) && _XOPEN_VERSION >= 500 ++#if 1 ++#if 1 + +-// OS X 10.4 -- despite passing the test above -- doesn't support +-// swapcontext() et al. Use GNU Pth workalike functions. +-#if defined(__APPLE__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050) +- +-#include "pth/pth.h" ++#include <pth.h> + #include <cerrno> + + namespace boost { namespace coroutines { namespace detail { diff --git a/testing/powertop/APKBUILD b/testing/powertop/APKBUILD new file mode 100644 index 0000000000..3cf4ec8d25 --- /dev/null +++ b/testing/powertop/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=powertop +pkgver=1.97 +pkgrel=0 +pkgdesc="Power consumption monitor" +url="http://www.lesswatts.org/" +arch="all" +license="GPLv2" +depends= +makedepends="ncurses-dev pciutils-dev zlib-dev libnl-dev gettext-dev" +install="" +subpackages= +source="http://www.kernel.org/pub/linux/status/powertop/powertop-$pkgver.tar.bz2 + intl.patch" + +_builddir="$srcdir"/powertop-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + rm -f po/nl.po +} + +build() { + cd "$_builddir" + make FLAGS="$CFLAGS" || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="ddd318fe930c86b3666cad6f40b661bc powertop-1.97.tar.bz2 +2f04368b889cf5ef679bed7d1517857b intl.patch" diff --git a/testing/powertop/intl.patch b/testing/powertop/intl.patch new file mode 100644 index 0000000000..d88039fc72 --- /dev/null +++ b/testing/powertop/intl.patch @@ -0,0 +1,11 @@ +--- ./Makefile.orig ++++ ./Makefile +@@ -48,7 +48,7 @@ + # ncurses-devel and pciutils-devel + # + +-LIBS += -lpthread -lncursesw -lpci -lz -lresolv ++LIBS += -lpthread -lncursesw -lpci -lz -lresolv -lintl + + HEADERS := cpu/cpu.h + diff --git a/testing/snowstorm/APKBUILD b/testing/snowstorm/APKBUILD new file mode 100644 index 0000000000..dbfeaf4cf5 --- /dev/null +++ b/testing/snowstorm/APKBUILD @@ -0,0 +1,72 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=snowstorm +pkgver=2.5.2 +pkgrel=0 +pkgdesc="snowstorm viewer for secondlife (and compatible servers)" +url="http://wiki.secondlife.com/wiki/Project_Snowstorm" +arch="" +license="GPL" +depends= +depends_dev="mesa-dev sdl-dev openal-soft-dev apr-dev + apr-util-dev libvorbis-dev + libogg-dev freealut-dev db-dev boost-dev c-ares-dev + xmlrpc-epi-dev libpng-dev tut-dev openjpeg-dev gtk+-dev + qt-dev dbus-glib-dev gstreamer-dev gst-plugins-base-dev + jsoncpp-dev boost-coroutine pth-dev" +makedepends="$depends_dev cmake" +install="" +subpackages="" +source="http://67.202.104.180/~nenolod/secondlife-${pkgver}-sourcebundle.tar.gz + indra-no-breakpad.patch" + +_builddir="${srcdir}/build" +_srcdir="${srcdir}/viewer-release/indra" +prepare() { + local i + mkdir "$_builddir" + + cd "$_srcdir/.." + + msg "Copying indra to indra.orig for easy patching" + cp -R indra indra.orig + + cd "$_srcdir" + + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + msg "Preparing llqtwebkit" + cd "$_builddir/../llqtwebkit" + + qmake CONFIG-=debug + make + + msg "Building indra" + cd "$_builddir" + cmake -DCMAKE_INSTALL_PREFIX=/usr -DPACKAGE:BOOL=FALSE \ + -DLLQTWEBKIT_INCLUDE_DIR:STRING=${srcdir}/llqtwebkit \ + -DLLQTWEBKIT_LIBRARY:STRING=${srcdir}/llqtwebkit \ + -DCMAKE_BUILD_TYPE:STRING=RELWITHDEBINFO \ + -DOPENAL:BOOL=TRUE \ + -DFMOD:BOOL=FALSE \ + -DUNATTENDED:BOOL=TRUE \ + -DSTANDALONE:BOOL=TRUE \ + -DLL_TESTS:BOOL=FALSE \ + -DNDOF:BOOL=FALSE \ + -DVIEWER:BOOL=TRUE "$_srcdir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="e16f67d04813953e5eadc1beafc435dd secondlife-2.5.2-sourcebundle.tar.gz +c75027c0a6f7c52e0ae2b8008ca99f9e indra-no-breakpad.patch" diff --git a/testing/snowstorm/indra-no-breakpad.patch b/testing/snowstorm/indra-no-breakpad.patch new file mode 100644 index 0000000000..28670b1469 --- /dev/null +++ b/testing/snowstorm/indra-no-breakpad.patch @@ -0,0 +1,179 @@ +--- indra.orig/cmake/GoogleBreakpad.cmake ++++ indra/cmake/GoogleBreakpad.cmake +@@ -2,7 +2,7 @@ + include(Prebuilt) + + if (STANDALONE) +- set(BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED ON) ++ set(BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED OFF) + include(FindGoogleBreakpad) + else (STANDALONE) + use_prebuilt_binary(google_breakpad) +--- indra.orig/llcommon/llapp.cpp ++++ indra/llcommon/llapp.cpp +@@ -46,7 +46,9 @@ + #include "llstring.h" + #include "lleventtimer.h" + ++#if 0 + #include "google_breakpad/exception_handler.h" ++#endif + + // + // Signal handling +@@ -143,8 +145,6 @@ + // Set the application to this instance. + sApplication = this; + +- mExceptionHandler = 0; +- + // initialize the buffer to write the minidump filename to + // (this is used to avoid allocating memory in the crash handler) + memset(minidump_path, 0, MAX_MINDUMP_PATH_LENGTH); +@@ -177,8 +177,6 @@ + mThreadErrorp = NULL; + } + +- if(mExceptionHandler != 0) delete mExceptionHandler; +- + LLCommon::cleanupClass(); + } + +@@ -284,75 +282,7 @@ + + void LLApp::setupErrorHandling() + { +- // Error handling is done by starting up an error handling thread, which just sleeps and +- // occasionally checks to see if the app is in an error state, and sees if it needs to be run. +- +-#if LL_WINDOWS +- // This sets a callback to handle w32 signals to the console window. +- // The viewer shouldn't be affected, sicne its a windowed app. +- SetConsoleCtrlHandler( (PHANDLER_ROUTINE) ConsoleCtrlHandler, TRUE); +- +- // Install the Google Breakpad crash handler for Windows +- if(mExceptionHandler == 0) +- { +- llwarns << "adding breakpad exception handler" << llendl; +- mExceptionHandler = new google_breakpad::ExceptionHandler( +- L"C:\\Temp\\", 0, windows_post_minidump_callback, 0, google_breakpad::ExceptionHandler::HANDLER_ALL); +- } +- +-#else +- // +- // Start up signal handling. +- // +- // There are two different classes of signals. Synchronous signals are delivered to a specific +- // thread, asynchronous signals can be delivered to any thread (in theory) +- // +- setup_signals(); +- +- // Add google breakpad exception handler configured for Darwin/Linux. +- bool installHandler = true; +-#ifdef LL_DARWIN +- // For the special case of Darwin, we do not want to install the handler if +- // the process is being debugged as the app will exit with value ABRT (6) if +- // we do. Unfortunately, the code below which performs that test relies on +- // the structure kinfo_proc which has been tagged by apple as an unstable +- // API. We disable this test for shipping versions to avoid conflicts with +- // future releases of Darwin. This test is really only needed for developers +- // starting the app from a debugger anyway. +- #ifndef LL_RELEASE_FOR_DOWNLOAD +- int mib[4]; +- mib[0] = CTL_KERN; +- mib[1] = KERN_PROC; +- mib[2] = KERN_PROC_PID; +- mib[3] = getpid(); +- +- struct kinfo_proc info; +- memset(&info, 0, sizeof(info)); +- +- size_t size = sizeof(info); +- int result = sysctl(mib, sizeof(mib) / sizeof(*mib), &info, &size, NULL, 0); +- if((result == 0) || (errno == ENOMEM)) +- { +- // P_TRACED flag is set, so this process is being debugged; do not install +- // the handler +- if(info.kp_proc.p_flag & P_TRACED) installHandler = false; +- } +- else +- { +- // Failed to discover if the process is being debugged; default to +- // installing the handler. +- installHandler = true; +- } +- #endif +-#endif +- if(installHandler && (mExceptionHandler == 0)) +- { +- std::string dumpPath = "/tmp/"; +- mExceptionHandler = new google_breakpad::ExceptionHandler(dumpPath, 0, &unix_post_minidump_callback, 0, true); +- } +-#endif +- +- startErrorThread(); ++ sDisableCrashlogger = TRUE; + } + + void LLApp::startErrorThread() +@@ -403,20 +333,10 @@ + + void LLApp::setMiniDumpDir(const std::string &path) + { +- if(mExceptionHandler == 0) return; +-#ifdef LL_WINDOWS +- wchar_t buffer[MAX_MINDUMP_PATH_LENGTH]; +- mbstowcs(buffer, path.c_str(), MAX_MINDUMP_PATH_LENGTH); +- mExceptionHandler->set_dump_path(std::wstring(buffer)); +-#else +- mExceptionHandler->set_dump_path(path); +-#endif + } + + void LLApp::writeMiniDump() + { +- if(mExceptionHandler == 0) return; +- mExceptionHandler->WriteMinidump(); + } + + // static +@@ -473,13 +393,6 @@ + + void LLApp::disableCrashlogger() + { +- // Disable Breakpad exception handler. +- if (mExceptionHandler != 0) +- { +- delete mExceptionHandler; +- mExceptionHandler = 0; +- } +- + sDisableCrashlogger = TRUE; + } + +--- indra.orig/llcommon/llapp.h ++++ indra/llcommon/llapp.h +@@ -60,9 +60,11 @@ + }; + #endif + ++#if 0 + namespace google_breakpad { + class ExceptionHandler; // See exception_handler.h + } ++#endif + + class LL_COMMON_API LLApp : public LLOptionInterface + { +@@ -330,9 +332,9 @@ + private: + // the static application instance if it was created. + static LLApp* sApplication; +- ++#if 0 + google_breakpad::ExceptionHandler * mExceptionHandler; +- ++#endif + + #if !LL_WINDOWS + friend void default_unix_signal_handler(int signum, siginfo_t *info, void *); |