mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 02:47:13 +08:00
more changes
This commit is contained in:
parent
802c84c776
commit
545995c880
60
bdf-unifont/LICENSE
Normal file
60
bdf-unifont/LICENSE
Normal file
@ -0,0 +1,60 @@
|
||||
CENSE
|
||||
-------
|
||||
Roman Czyborra released his work (Perl scripts and font .hex files)
|
||||
under the following terms:
|
||||
|
||||
All of my works you find here are freeware. You may
|
||||
freely copy, use, quote, modify or redistribute them
|
||||
as long as you properly attribute my contribution and
|
||||
have given a quick thought about whether Roman might
|
||||
perhaps be interested to read what you did with his
|
||||
stuff. Horizontal rules don't apply.
|
||||
|
||||
David Starner released what in this package is named "hex2bdf-split"
|
||||
under the same license as Roman Czyborra's work.
|
||||
|
||||
License for all of Paul Hardy's work (except "johab2ucs2" and
|
||||
"blanks.hex", mentioned separately), Makefile and debian/ mods
|
||||
by Anthony Fok, and modified software from Luis Gonzalez Miranda
|
||||
(with permission granted to Paul Hardy):
|
||||
|
||||
These are released under the terms of the GNU General Public
|
||||
License version 2, or (at your option) a later version.
|
||||
|
||||
License for Fonts:
|
||||
|
||||
Any fonts using glyphs from the "wqy-cjk.hex" file (including
|
||||
the default TrueType font) are bound by the terms of the Wen
|
||||
Quan Yi font license. Those fonts are released under the terms
|
||||
of the GNU General Public License (GPL) versionn 2, with the
|
||||
exception that embedding the font in a document does not by
|
||||
itself bind that document to the terms of the GNU GPL.
|
||||
|
||||
Any fonts that do not use glyphs from the "wqy-cjk.hex" file
|
||||
fall under the above "License for all of Roman Czyborra's work".
|
||||
|
||||
The fonts in "./font/precompiled" do use wqy-cjk.hex, and so
|
||||
are licensed under the GNU GPL version 2, with the exception
|
||||
that embedding the font in a document does not in itself bind
|
||||
that document to the terms of the GNU GPL. The following
|
||||
paragraphs explaining the exception is taken from the Wen
|
||||
Quan Yi font distribution:
|
||||
|
||||
** GPL v2.0 license with font embedding exception:
|
||||
|
||||
As a special exception, if you create a document which
|
||||
uses this font, and embed this font or unaltered portions
|
||||
of this font into the document, this font does not by
|
||||
itself cause the resulting document to be covered by
|
||||
the GNU General Public License. This exception does not
|
||||
however invalidate any other reasons why the document
|
||||
might be covered by the GNU General Public License.
|
||||
If you modify this font, you may extend this exception
|
||||
to your version of the font, but you are not obligated
|
||||
to do so. If you do not wish to do so, delete this
|
||||
exception statement from your version.
|
||||
|
||||
License for "blanks.hex":
|
||||
|
||||
There is one exception to the above rules: Paul Hardy earlier
|
||||
released the "blanks.hex" file into the public domain.
|
30
bdf-unifont/PKGBUILD
Normal file
30
bdf-unifont/PKGBUILD
Normal file
@ -0,0 +1,30 @@
|
||||
#
|
||||
# Core Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
# include global config
|
||||
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
|
||||
|
||||
pkgname=bdf-unifont
|
||||
pkgver=5.1.20080820
|
||||
pkgrel=1
|
||||
pkgdesc="GNU Unifont Glyphs"
|
||||
arch=('i686' 'x86_64')
|
||||
license=('custom' 'GPL2')
|
||||
url="http://unifoundry.com/unifont.html"
|
||||
depends=('fontconfig' 'xorg-fonts-encodings' 'xorg-font-utils')
|
||||
install=unifont.install
|
||||
source=('http://unifoundry.com/unifont-5.1.20080820.bdf.gz' 'LICENSE')
|
||||
md5sums=('6b8263ceccef33bd633aa019d74b7943'
|
||||
'64da5a96d6789d29d485cd67a43bc547')
|
||||
|
||||
build() {
|
||||
install -Dm644 ${srcdir}/unifont-5.1.20080820.bdf \
|
||||
${pkgdir}/usr/share/fonts/misc/unifont.bdf
|
||||
|
||||
# install LICENSE file
|
||||
install -Dm644 ${srcdir}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
|
||||
}
|
||||
|
15
bdf-unifont/unifont.install
Normal file
15
bdf-unifont/unifont.install
Normal file
@ -0,0 +1,15 @@
|
||||
post_install() {
|
||||
echo -n "Updating font cache... "
|
||||
fc-cache -f > /dev/null
|
||||
mkfontscale /usr/share/fonts/misc
|
||||
mkfontdir /usr/share/fonts/misc
|
||||
echo "done."
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install $1
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
post_install $1
|
||||
}
|
31
cvs/PKGBUILD
Normal file
31
cvs/PKGBUILD
Normal file
@ -0,0 +1,31 @@
|
||||
#
|
||||
# Chakra Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
pkgname=cvs
|
||||
pkgver=1.11.23
|
||||
pkgrel=1
|
||||
pkgdesc="Concurrent Versions System - a source control system"
|
||||
arch=(i686 x86_64)
|
||||
url="http://cvs.nongnu.org"
|
||||
license=('GPL')
|
||||
depends=('heimdal>=1.3.1')
|
||||
optdepends=('openssh: for using cvs over ssh' 'inetutils: for using cvs over rsh')
|
||||
install=cvs.install
|
||||
source=(ftp://ftp.gnu.org/non-gnu/cvs/source/stable/$pkgver/$pkgname-$pkgver.tar.bz2
|
||||
cvs-1.11.23-getline64.patch)
|
||||
sha256sums=('400f51b59d85116e79b844f2d5dbbad4759442a789b401a94aa5052c3d7a4aa9'
|
||||
'9126d7992ace943980ad8a10d5a09aeb6f1eeeb9b921fc796fe31de7b1c220cf')
|
||||
|
||||
build() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
unset EDITOR VISUAL
|
||||
|
||||
patch -Np1 -i $srcdir/cvs-1.11.23-getline64.patch || return 1
|
||||
./configure --prefix=/usr
|
||||
make || return 1
|
||||
make DESTDIR=$pkgdir install
|
||||
rm ${pkgdir}/usr/share/info/dir
|
||||
}
|
34
cvs/cvs-1.11.23-getline64.patch
Normal file
34
cvs/cvs-1.11.23-getline64.patch
Normal file
@ -0,0 +1,34 @@
|
||||
--- cvs-1.11.23/lib/getline.c 2005-04-04 22:46:05.000000000 +0200
|
||||
+++ cvs-1.11.23/lib/getline.c.old 2008-06-03 19:06:25.000000000 +0200
|
||||
@@ -154,7 +154,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
-int
|
||||
+ssize_t
|
||||
getline (lineptr, n, stream)
|
||||
char **lineptr;
|
||||
size_t *n;
|
||||
@@ -163,7 +163,7 @@
|
||||
return getstr (lineptr, n, stream, '\n', 0, GETLINE_NO_LIMIT);
|
||||
}
|
||||
|
||||
-int
|
||||
+ssize_t
|
||||
getline_safe (lineptr, n, stream, limit)
|
||||
char **lineptr;
|
||||
size_t *n;
|
||||
--- cvs-1.11.23/lib/getline.h 2005-04-04 22:46:05.000000000 +0200
|
||||
+++ cvs-1.11.23/lib/getline.h.old 2008-06-03 19:06:27.000000000 +0200
|
||||
@@ -11,9 +11,9 @@
|
||||
|
||||
#define GETLINE_NO_LIMIT -1
|
||||
|
||||
-int
|
||||
+ssize_t
|
||||
getline __PROTO ((char **_lineptr, size_t *_n, FILE *_stream));
|
||||
-int
|
||||
+ssize_t
|
||||
getline_safe __PROTO ((char **_lineptr, size_t *_n, FILE *_stream,
|
||||
int limit));
|
||||
int
|
20
cvs/cvs.install
Normal file
20
cvs/cvs.install
Normal file
@ -0,0 +1,20 @@
|
||||
infodir=/usr/share/info
|
||||
filelist=(cvs.info cvs-info-1 cvs-info-2 cvsclient.info)
|
||||
|
||||
post_install() {
|
||||
for file in ${filelist[@]}; do
|
||||
install-info $infodir/$file $infodir/dir 2> /dev/null
|
||||
done
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install $1
|
||||
}
|
||||
|
||||
pre_remove() {
|
||||
for file in ${filelist[@]}; do
|
||||
install-info --delete $infodir/$file $infodir/dir 2> /dev/null
|
||||
done
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
@ -1,14 +1,11 @@
|
||||
#
|
||||
# Chakra Packages, part of chakra-project.org
|
||||
# Core Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
# include global config
|
||||
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
|
||||
#
|
||||
pkgname=dbus-core
|
||||
pkgver=1.3.1
|
||||
pkgver=1.4.0
|
||||
pkgrel=1
|
||||
pkgdesc="Freedesktop.org message bus system"
|
||||
url="http://www.freedesktop.org/Software/dbus"
|
||||
@ -20,7 +17,7 @@ options=(!libtool)
|
||||
install=dbus.install
|
||||
source=(http://dbus.freedesktop.org/releases/dbus/dbus-${pkgver}.tar.gz
|
||||
dbus)
|
||||
md5sums=('1aab02bdcac4d662d3760896790f0ede'
|
||||
md5sums=('f59618b18d2fb2bd1fce9e1c5a2a3282'
|
||||
'08f93dd19cffd1b45ab05c1fd4efb560')
|
||||
|
||||
build() {
|
||||
@ -30,29 +27,29 @@ build() {
|
||||
--with-system-pid-file=/var/run/dbus.pid \
|
||||
--enable-inotify --disable-dnotify \
|
||||
--disable-verbose-mode --disable-static \
|
||||
--disable-tests --disable-asserts --without-x || return 1
|
||||
make || return 1
|
||||
make DESTDIR="${pkgdir}" install || return 1
|
||||
--disable-tests --disable-asserts --without-x
|
||||
make
|
||||
make DESTDIR="${pkgdir}" install
|
||||
|
||||
rm -f "${pkgdir}/usr/bin/dbus-launch"
|
||||
rm -f "${pkgdir}/usr/share/man/man1/dbus-launch.1"
|
||||
|
||||
chown 81:81 "${pkgdir}/var/run/dbus" || return 1
|
||||
chown 81:81 "${pkgdir}/var/run/dbus"
|
||||
|
||||
install -m755 -d "${pkgdir}/etc/rc.d" || return 1
|
||||
install -m755 "${srcdir}/dbus" "${pkgdir}/etc/rc.d/" || return 1
|
||||
install -m755 -d "${pkgdir}/etc/rc.d"
|
||||
install -m755 "${srcdir}/dbus" "${pkgdir}/etc/rc.d/"
|
||||
|
||||
#Fix configuration file
|
||||
sed -i -e 's|<user>81</user>|<user>dbus</user>|' "${pkgdir}/etc/dbus-1/system.conf" || return 1
|
||||
sed -i -e 's|<user>81</user>|<user>dbus</user>|' "${pkgdir}/etc/dbus-1/system.conf"
|
||||
|
||||
#install .keep files so pacman doesn't delete empty dirs
|
||||
touch "${pkgdir}/usr/share/dbus-1/services/.keep" || return 1
|
||||
touch "${pkgdir}/usr/share/dbus-1/system-services/.keep" || return 1
|
||||
touch "${pkgdir}/etc/dbus-1/session.d/.keep" || return 1
|
||||
touch "${pkgdir}/etc/dbus-1/system.d/.keep" || return 1
|
||||
touch "${pkgdir}/usr/share/dbus-1/services/.keep"
|
||||
touch "${pkgdir}/usr/share/dbus-1/system-services/.keep"
|
||||
touch "${pkgdir}/etc/dbus-1/session.d/.keep"
|
||||
touch "${pkgdir}/etc/dbus-1/system.d/.keep"
|
||||
|
||||
rmdir "${pkgdir}/usr/lib/dbus-1.0/dbus-1" || return 1
|
||||
rmdir "${pkgdir}/usr/lib/dbus-1.0/dbus-1"
|
||||
|
||||
install -d -m755 "${pkgdir}/usr/share/licenses/dbus-core"
|
||||
install -m644 COPYING "${pkgdir}/usr/share/licenses/dbus-core/" || return 1
|
||||
install -m644 COPYING "${pkgdir}/usr/share/licenses/dbus-core/"
|
||||
}
|
||||
|
392
dbus-core/bug17754.patch
Normal file
392
dbus-core/bug17754.patch
Normal file
@ -0,0 +1,392 @@
|
||||
diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c
|
||||
index b3cfa3d..e6d261f 100644
|
||||
--- a/dbus/dbus-connection.c
|
||||
+++ b/dbus/dbus-connection.c
|
||||
@@ -73,6 +73,14 @@
|
||||
_dbus_mutex_unlock ((connection)->mutex); \
|
||||
} while (0)
|
||||
|
||||
+#define SLOTS_LOCK(connection) do { \
|
||||
+ _dbus_mutex_lock ((connection)->slot_mutex); \
|
||||
+ } while (0)
|
||||
+
|
||||
+#define SLOTS_UNLOCK(connection) do { \
|
||||
+ _dbus_mutex_unlock ((connection)->slot_mutex); \
|
||||
+ } while (0)
|
||||
+
|
||||
#define DISPATCH_STATUS_NAME(s) \
|
||||
((s) == DBUS_DISPATCH_COMPLETE ? "complete" : \
|
||||
(s) == DBUS_DISPATCH_DATA_REMAINS ? "data remains" : \
|
||||
@@ -257,6 +265,7 @@ struct DBusConnection
|
||||
|
||||
DBusList *filter_list; /**< List of filters. */
|
||||
|
||||
+ DBusMutex *slot_mutex; /**< Lock on slot_list so overall connection lock need not be taken */
|
||||
DBusDataSlotList slot_list; /**< Data stored by allocated integer ID */
|
||||
|
||||
DBusHashTable *pending_replies; /**< Hash of message serials to #DBusPendingCall. */
|
||||
@@ -649,39 +658,42 @@ protected_change_watch (DBusConnection *connection,
|
||||
DBusWatchToggleFunction toggle_function,
|
||||
dbus_bool_t enabled)
|
||||
{
|
||||
- DBusWatchList *watches;
|
||||
dbus_bool_t retval;
|
||||
-
|
||||
+
|
||||
HAVE_LOCK_CHECK (connection);
|
||||
|
||||
- /* This isn't really safe or reasonable; a better pattern is the "do everything, then
|
||||
- * drop lock and call out" one; but it has to be propagated up through all callers
|
||||
+ /* The original purpose of protected_change_watch() was to hold a
|
||||
+ * ref on the connection while dropping the connection lock, then
|
||||
+ * calling out to the app. This was a broken hack that did not
|
||||
+ * work, since the connection was in a hosed state (no WatchList
|
||||
+ * field) while calling out.
|
||||
+ *
|
||||
+ * So for now we'll just keep the lock while calling out. This means
|
||||
+ * apps are not allowed to call DBusConnection methods inside a
|
||||
+ * watch function or they will deadlock.
|
||||
+ *
|
||||
+ * The "real fix" is to use the _and_unlock() pattern found
|
||||
+ * elsewhere in the code, to defer calling out to the app until
|
||||
+ * we're about to drop locks and return flow of control to the app
|
||||
+ * anyway.
|
||||
+ *
|
||||
+ * See http://lists.freedesktop.org/archives/dbus/2007-July/thread.html#8144
|
||||
*/
|
||||
-
|
||||
- watches = connection->watches;
|
||||
- if (watches)
|
||||
- {
|
||||
- connection->watches = NULL;
|
||||
- _dbus_connection_ref_unlocked (connection);
|
||||
- CONNECTION_UNLOCK (connection);
|
||||
|
||||
+ if (connection->watches)
|
||||
+ {
|
||||
if (add_function)
|
||||
- retval = (* add_function) (watches, watch);
|
||||
+ retval = (* add_function) (connection->watches, watch);
|
||||
else if (remove_function)
|
||||
{
|
||||
retval = TRUE;
|
||||
- (* remove_function) (watches, watch);
|
||||
+ (* remove_function) (connection->watches, watch);
|
||||
}
|
||||
else
|
||||
{
|
||||
retval = TRUE;
|
||||
- (* toggle_function) (watches, watch, enabled);
|
||||
+ (* toggle_function) (connection->watches, watch, enabled);
|
||||
}
|
||||
-
|
||||
- CONNECTION_LOCK (connection);
|
||||
- connection->watches = watches;
|
||||
- _dbus_connection_unref_unlocked (connection);
|
||||
-
|
||||
return retval;
|
||||
}
|
||||
else
|
||||
@@ -770,39 +782,42 @@ protected_change_timeout (DBusConnection *connection,
|
||||
DBusTimeoutToggleFunction toggle_function,
|
||||
dbus_bool_t enabled)
|
||||
{
|
||||
- DBusTimeoutList *timeouts;
|
||||
dbus_bool_t retval;
|
||||
-
|
||||
+
|
||||
HAVE_LOCK_CHECK (connection);
|
||||
|
||||
- /* This isn't really safe or reasonable; a better pattern is the "do everything, then
|
||||
- * drop lock and call out" one; but it has to be propagated up through all callers
|
||||
+ /* The original purpose of protected_change_timeout() was to hold a
|
||||
+ * ref on the connection while dropping the connection lock, then
|
||||
+ * calling out to the app. This was a broken hack that did not
|
||||
+ * work, since the connection was in a hosed state (no TimeoutList
|
||||
+ * field) while calling out.
|
||||
+ *
|
||||
+ * So for now we'll just keep the lock while calling out. This means
|
||||
+ * apps are not allowed to call DBusConnection methods inside a
|
||||
+ * timeout function or they will deadlock.
|
||||
+ *
|
||||
+ * The "real fix" is to use the _and_unlock() pattern found
|
||||
+ * elsewhere in the code, to defer calling out to the app until
|
||||
+ * we're about to drop locks and return flow of control to the app
|
||||
+ * anyway.
|
||||
+ *
|
||||
+ * See http://lists.freedesktop.org/archives/dbus/2007-July/thread.html#8144
|
||||
*/
|
||||
-
|
||||
- timeouts = connection->timeouts;
|
||||
- if (timeouts)
|
||||
- {
|
||||
- connection->timeouts = NULL;
|
||||
- _dbus_connection_ref_unlocked (connection);
|
||||
- CONNECTION_UNLOCK (connection);
|
||||
|
||||
+ if (connection->timeouts)
|
||||
+ {
|
||||
if (add_function)
|
||||
- retval = (* add_function) (timeouts, timeout);
|
||||
+ retval = (* add_function) (connection->timeouts, timeout);
|
||||
else if (remove_function)
|
||||
{
|
||||
retval = TRUE;
|
||||
- (* remove_function) (timeouts, timeout);
|
||||
+ (* remove_function) (connection->timeouts, timeout);
|
||||
}
|
||||
else
|
||||
{
|
||||
retval = TRUE;
|
||||
- (* toggle_function) (timeouts, timeout, enabled);
|
||||
+ (* toggle_function) (connection->timeouts, timeout, enabled);
|
||||
}
|
||||
-
|
||||
- CONNECTION_LOCK (connection);
|
||||
- connection->timeouts = timeouts;
|
||||
- _dbus_connection_unref_unlocked (connection);
|
||||
-
|
||||
return retval;
|
||||
}
|
||||
else
|
||||
@@ -1263,6 +1278,10 @@ _dbus_connection_new_for_transport (DBusTransport *transport)
|
||||
if (connection->io_path_cond == NULL)
|
||||
goto error;
|
||||
|
||||
+ _dbus_mutex_new_at_location (&connection->slot_mutex);
|
||||
+ if (connection->slot_mutex == NULL)
|
||||
+ goto error;
|
||||
+
|
||||
disconnect_message = dbus_message_new_signal (DBUS_PATH_LOCAL,
|
||||
DBUS_INTERFACE_LOCAL,
|
||||
"Disconnected");
|
||||
@@ -1339,6 +1358,7 @@ _dbus_connection_new_for_transport (DBusTransport *transport)
|
||||
_dbus_mutex_free_at_location (&connection->mutex);
|
||||
_dbus_mutex_free_at_location (&connection->io_path_mutex);
|
||||
_dbus_mutex_free_at_location (&connection->dispatch_mutex);
|
||||
+ _dbus_mutex_free_at_location (&connection->slot_mutex);
|
||||
dbus_free (connection);
|
||||
}
|
||||
if (pending_replies)
|
||||
@@ -2612,9 +2632,14 @@ dbus_connection_ref (DBusConnection *connection)
|
||||
|
||||
/* The connection lock is better than the global
|
||||
* lock in the atomic increment fallback
|
||||
+ *
|
||||
+ * (FIXME but for now we always use the atomic version,
|
||||
+ * to avoid taking the connection lock, due to
|
||||
+ * the mess with set_timeout_functions()/set_watch_functions()
|
||||
+ * calling out to the app without dropping locks)
|
||||
*/
|
||||
|
||||
-#ifdef DBUS_HAVE_ATOMIC_INT
|
||||
+#if 1
|
||||
_dbus_atomic_inc (&connection->refcount);
|
||||
#else
|
||||
CONNECTION_LOCK (connection);
|
||||
@@ -2726,6 +2751,8 @@ _dbus_connection_last_unref (DBusConnection *connection)
|
||||
_dbus_mutex_free_at_location (&connection->io_path_mutex);
|
||||
_dbus_mutex_free_at_location (&connection->dispatch_mutex);
|
||||
|
||||
+ _dbus_mutex_free_at_location (&connection->slot_mutex);
|
||||
+
|
||||
_dbus_mutex_free_at_location (&connection->mutex);
|
||||
|
||||
dbus_free (connection);
|
||||
@@ -2760,9 +2787,14 @@ dbus_connection_unref (DBusConnection *connection)
|
||||
|
||||
/* The connection lock is better than the global
|
||||
* lock in the atomic increment fallback
|
||||
+ *
|
||||
+ * (FIXME but for now we always use the atomic version,
|
||||
+ * to avoid taking the connection lock, due to
|
||||
+ * the mess with set_timeout_functions()/set_watch_functions()
|
||||
+ * calling out to the app without dropping locks)
|
||||
*/
|
||||
|
||||
-#ifdef DBUS_HAVE_ATOMIC_INT
|
||||
+#if 1
|
||||
last_unref = (_dbus_atomic_dec (&connection->refcount) == 1);
|
||||
#else
|
||||
CONNECTION_LOCK (connection);
|
||||
@@ -4708,9 +4740,11 @@ dbus_connection_dispatch (DBusConnection *connection)
|
||||
* should be that dbus_connection_set_watch_functions() has no effect,
|
||||
* but the add_function and remove_function may have been called.
|
||||
*
|
||||
- * @todo We need to drop the lock when we call the
|
||||
- * add/remove/toggled functions which can be a side effect
|
||||
- * of setting the watch functions.
|
||||
+ * @note The thread lock on DBusConnection is held while
|
||||
+ * watch functions are invoked, so inside these functions you
|
||||
+ * may not invoke any methods on DBusConnection or it will deadlock.
|
||||
+ * See the comments in the code or http://lists.freedesktop.org/archives/dbus/2007-July/tread.html#8144
|
||||
+ * if you encounter this issue and want to attempt writing a patch.
|
||||
*
|
||||
* @param connection the connection.
|
||||
* @param add_function function to begin monitoring a new descriptor.
|
||||
@@ -4729,43 +4763,18 @@ dbus_connection_set_watch_functions (DBusConnection *connection,
|
||||
DBusFreeFunction free_data_function)
|
||||
{
|
||||
dbus_bool_t retval;
|
||||
- DBusWatchList *watches;
|
||||
|
||||
_dbus_return_val_if_fail (connection != NULL, FALSE);
|
||||
|
||||
CONNECTION_LOCK (connection);
|
||||
|
||||
-#ifndef DBUS_DISABLE_CHECKS
|
||||
- if (connection->watches == NULL)
|
||||
- {
|
||||
- _dbus_warn_check_failed ("Re-entrant call to %s is not allowed\n",
|
||||
- _DBUS_FUNCTION_NAME);
|
||||
- return FALSE;
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
- /* ref connection for slightly better reentrancy */
|
||||
- _dbus_connection_ref_unlocked (connection);
|
||||
-
|
||||
- /* This can call back into user code, and we need to drop the
|
||||
- * connection lock when it does. This is kind of a lame
|
||||
- * way to do it.
|
||||
- */
|
||||
- watches = connection->watches;
|
||||
- connection->watches = NULL;
|
||||
- CONNECTION_UNLOCK (connection);
|
||||
-
|
||||
- retval = _dbus_watch_list_set_functions (watches,
|
||||
+ retval = _dbus_watch_list_set_functions (connection->watches,
|
||||
add_function, remove_function,
|
||||
toggled_function,
|
||||
data, free_data_function);
|
||||
- CONNECTION_LOCK (connection);
|
||||
- connection->watches = watches;
|
||||
-
|
||||
+
|
||||
CONNECTION_UNLOCK (connection);
|
||||
- /* drop our paranoid refcount */
|
||||
- dbus_connection_unref (connection);
|
||||
-
|
||||
+
|
||||
return retval;
|
||||
}
|
||||
|
||||
@@ -4794,6 +4803,12 @@ dbus_connection_set_watch_functions (DBusConnection *connection,
|
||||
* given remove_function. The timer interval may change whenever the
|
||||
* timeout is added, removed, or toggled.
|
||||
*
|
||||
+ * @note The thread lock on DBusConnection is held while
|
||||
+ * timeout functions are invoked, so inside these functions you
|
||||
+ * may not invoke any methods on DBusConnection or it will deadlock.
|
||||
+ * See the comments in the code or http://lists.freedesktop.org/archives/dbus/2007-July/thread.html#8144
|
||||
+ * if you encounter this issue and want to attempt writing a patch.
|
||||
+ *
|
||||
* @param connection the connection.
|
||||
* @param add_function function to add a timeout.
|
||||
* @param remove_function function to remove a timeout.
|
||||
@@ -4811,38 +4826,17 @@ dbus_connection_set_timeout_functions (DBusConnection *connection,
|
||||
DBusFreeFunction free_data_function)
|
||||
{
|
||||
dbus_bool_t retval;
|
||||
- DBusTimeoutList *timeouts;
|
||||
|
||||
_dbus_return_val_if_fail (connection != NULL, FALSE);
|
||||
|
||||
CONNECTION_LOCK (connection);
|
||||
|
||||
-#ifndef DBUS_DISABLE_CHECKS
|
||||
- if (connection->timeouts == NULL)
|
||||
- {
|
||||
- _dbus_warn_check_failed ("Re-entrant call to %s is not allowed\n",
|
||||
- _DBUS_FUNCTION_NAME);
|
||||
- return FALSE;
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
- /* ref connection for slightly better reentrancy */
|
||||
- _dbus_connection_ref_unlocked (connection);
|
||||
-
|
||||
- timeouts = connection->timeouts;
|
||||
- connection->timeouts = NULL;
|
||||
- CONNECTION_UNLOCK (connection);
|
||||
-
|
||||
- retval = _dbus_timeout_list_set_functions (timeouts,
|
||||
+ retval = _dbus_timeout_list_set_functions (connection->timeouts,
|
||||
add_function, remove_function,
|
||||
toggled_function,
|
||||
data, free_data_function);
|
||||
- CONNECTION_LOCK (connection);
|
||||
- connection->timeouts = timeouts;
|
||||
-
|
||||
+
|
||||
CONNECTION_UNLOCK (connection);
|
||||
- /* drop our paranoid refcount */
|
||||
- dbus_connection_unref (connection);
|
||||
|
||||
return retval;
|
||||
}
|
||||
@@ -5805,6 +5799,15 @@ dbus_connection_free_data_slot (dbus_int32_t *slot_p)
|
||||
* the connection is finalized. The slot number
|
||||
* must have been allocated with dbus_connection_allocate_data_slot().
|
||||
*
|
||||
+ * @note This function does not take the
|
||||
+ * main thread lock on DBusConnection, which allows it to be
|
||||
+ * used from inside watch and timeout functions. (See the
|
||||
+ * note in docs for dbus_connection_set_watch_functions().)
|
||||
+ * A side effect of this is that you need to know there's
|
||||
+ * a reference held on the connection while invoking
|
||||
+ * dbus_connection_set_data(), or the connection could be
|
||||
+ * finalized during dbus_connection_set_data().
|
||||
+ *
|
||||
* @param connection the connection
|
||||
* @param slot the slot number
|
||||
* @param data the data to store
|
||||
@@ -5824,14 +5827,14 @@ dbus_connection_set_data (DBusConnection *connection,
|
||||
_dbus_return_val_if_fail (connection != NULL, FALSE);
|
||||
_dbus_return_val_if_fail (slot >= 0, FALSE);
|
||||
|
||||
- CONNECTION_LOCK (connection);
|
||||
+ SLOTS_LOCK (connection);
|
||||
|
||||
retval = _dbus_data_slot_list_set (&slot_allocator,
|
||||
&connection->slot_list,
|
||||
slot, data, free_data_func,
|
||||
&old_free_func, &old_data);
|
||||
|
||||
- CONNECTION_UNLOCK (connection);
|
||||
+ SLOTS_UNLOCK (connection);
|
||||
|
||||
if (retval)
|
||||
{
|
||||
@@ -5847,6 +5850,15 @@ dbus_connection_set_data (DBusConnection *connection,
|
||||
* Retrieves data previously set with dbus_connection_set_data().
|
||||
* The slot must still be allocated (must not have been freed).
|
||||
*
|
||||
+ * @note This function does not take the
|
||||
+ * main thread lock on DBusConnection, which allows it to be
|
||||
+ * used from inside watch and timeout functions. (See the
|
||||
+ * note in docs for dbus_connection_set_watch_functions().)
|
||||
+ * A side effect of this is that you need to know there's
|
||||
+ * a reference held on the connection while invoking
|
||||
+ * dbus_connection_get_data(), or the connection could be
|
||||
+ * finalized during dbus_connection_get_data().
|
||||
+ *
|
||||
* @param connection the connection
|
||||
* @param slot the slot to get data from
|
||||
* @returns the data, or #NULL if not found
|
||||
@@ -5859,13 +5871,13 @@ dbus_connection_get_data (DBusConnection *connection,
|
||||
|
||||
_dbus_return_val_if_fail (connection != NULL, NULL);
|
||||
|
||||
- CONNECTION_LOCK (connection);
|
||||
+ SLOTS_LOCK (connection);
|
||||
|
||||
res = _dbus_data_slot_list_get (&slot_allocator,
|
||||
&connection->slot_list,
|
||||
slot);
|
||||
|
||||
- CONNECTION_UNLOCK (connection);
|
||||
+ SLOTS_UNLOCK (connection);
|
||||
|
||||
return res;
|
||||
}
|
289
dbus-core/git-fixes.patch
Normal file
289
dbus-core/git-fixes.patch
Normal file
@ -0,0 +1,289 @@
|
||||
diff --git a/bus/config-parser-trivial.c b/bus/config-parser-trivial.c
|
||||
index fd016a8..8a1f504 100644
|
||||
--- a/bus/config-parser-trivial.c
|
||||
+++ b/bus/config-parser-trivial.c
|
||||
@@ -131,6 +131,25 @@ bus_config_parser_unref (BusConfigParser *parser)
|
||||
}
|
||||
|
||||
dbus_bool_t
|
||||
+bus_config_parser_check_doctype (BusConfigParser *parser,
|
||||
+ const char *doctype,
|
||||
+ DBusError *error)
|
||||
+{
|
||||
+ _DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
+
|
||||
+ if (strcmp (doctype, "busconfig") != 0)
|
||||
+ {
|
||||
+ dbus_set_error (error,
|
||||
+ DBUS_ERROR_FAILED,
|
||||
+ "Configuration file has the wrong document type %s",
|
||||
+ doctype);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ else
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+dbus_bool_t
|
||||
bus_config_parser_start_element (BusConfigParser *parser,
|
||||
const char *element_name,
|
||||
const char **attribute_names,
|
||||
diff --git a/bus/config-parser-trivial.h b/bus/config-parser-trivial.h
|
||||
index ce542bf..6733b1f 100644
|
||||
--- a/bus/config-parser-trivial.h
|
||||
+++ b/bus/config-parser-trivial.h
|
||||
@@ -41,6 +41,9 @@ BusConfigParser* bus_config_parser_new (const DBusString *basedir,
|
||||
|
||||
BusConfigParser* bus_config_parser_ref (BusConfigParser *parser);
|
||||
void bus_config_parser_unref (BusConfigParser *parser);
|
||||
+dbus_bool_t bus_config_parser_check_doctype (BusConfigParser *parser,
|
||||
+ const char *doctype,
|
||||
+ DBusError *error);
|
||||
dbus_bool_t bus_config_parser_start_element (BusConfigParser *parser,
|
||||
const char *element_name,
|
||||
const char **attribute_names,
|
||||
diff --git a/bus/dir-watch-kqueue.c b/bus/dir-watch-kqueue.c
|
||||
index 4a01b74..4e436eb 100644
|
||||
--- a/bus/dir-watch-kqueue.c
|
||||
+++ b/bus/dir-watch-kqueue.c
|
||||
@@ -169,7 +169,7 @@ bus_set_watched_dirs (BusContext *context, DBusList **directories)
|
||||
*/
|
||||
for (i = 0; new_dirs[i]; i++)
|
||||
{
|
||||
- for (j = 0; i < num_fds; j++)
|
||||
+ for (j = 0; j < num_fds; j++)
|
||||
{
|
||||
if (dirs[j] && strcmp (new_dirs[i], dirs[j]) == 0)
|
||||
{
|
||||
diff --git a/bus/messagebus.in b/bus/messagebus.in
|
||||
index 1f1004b..3e2ee07 100755
|
||||
--- a/bus/messagebus.in
|
||||
+++ b/bus/messagebus.in
|
||||
@@ -68,7 +68,7 @@ case "$1" in
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
- status $processname
|
||||
+ status $servicename
|
||||
RETVAL=$?
|
||||
;;
|
||||
restart)
|
||||
diff --git a/bus/rc.messagebus.in b/bus/rc.messagebus.in
|
||||
index b147503..c52ca77 100644
|
||||
--- a/bus/rc.messagebus.in
|
||||
+++ b/bus/rc.messagebus.in
|
||||
@@ -61,7 +61,7 @@ case "$1" in
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
- status $processname
|
||||
+ status $servicename
|
||||
RETVAL=$?
|
||||
;;
|
||||
restart)
|
||||
diff --git a/dbus/dbus-connection-internal.h b/dbus/dbus-connection-internal.h
|
||||
index 721b5d7..cdf3f59 100644
|
||||
--- a/dbus/dbus-connection-internal.h
|
||||
+++ b/dbus/dbus-connection-internal.h
|
||||
@@ -75,6 +75,7 @@ void _dbus_connection_toggle_timeout_unlocked (DBusConnection
|
||||
dbus_bool_t enabled);
|
||||
DBusConnection* _dbus_connection_new_for_transport (DBusTransport *transport);
|
||||
void _dbus_connection_do_iteration_unlocked (DBusConnection *connection,
|
||||
+ DBusPendingCall *pending,
|
||||
unsigned int flags,
|
||||
int timeout_milliseconds);
|
||||
void _dbus_connection_close_possibly_shared (DBusConnection *connection);
|
||||
diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c
|
||||
index 9526d3c..b3cfa3d 100644
|
||||
--- a/dbus/dbus-connection.c
|
||||
+++ b/dbus/dbus-connection.c
|
||||
@@ -320,6 +320,8 @@ static void _dbus_connection_release_dispatch (DB
|
||||
static DBusDispatchStatus _dbus_connection_flush_unlocked (DBusConnection *connection);
|
||||
static void _dbus_connection_close_possibly_shared_and_unlock (DBusConnection *connection);
|
||||
static dbus_bool_t _dbus_connection_get_is_connected_unlocked (DBusConnection *connection);
|
||||
+static dbus_bool_t _dbus_connection_peek_for_reply_unlocked (DBusConnection *connection,
|
||||
+ dbus_uint32_t client_serial);
|
||||
|
||||
static DBusMessageFilter *
|
||||
_dbus_message_filter_ref (DBusMessageFilter *filter)
|
||||
@@ -1137,14 +1139,22 @@ _dbus_connection_release_io_path (DBusConnection *connection)
|
||||
* you specify DBUS_ITERATION_BLOCK; in that case the function
|
||||
* returns immediately.
|
||||
*
|
||||
+ * If pending is not NULL then a check is made if the pending call
|
||||
+ * is completed after the io path has been required. If the call
|
||||
+ * has been completed nothing is done. This must be done since
|
||||
+ * the _dbus_connection_acquire_io_path releases the connection
|
||||
+ * lock for a while.
|
||||
+ *
|
||||
* Called with connection lock held.
|
||||
*
|
||||
* @param connection the connection.
|
||||
+ * @param pending the pending call that should be checked or NULL
|
||||
* @param flags iteration flags.
|
||||
* @param timeout_milliseconds maximum blocking time, or -1 for no limit.
|
||||
*/
|
||||
void
|
||||
_dbus_connection_do_iteration_unlocked (DBusConnection *connection,
|
||||
+ DBusPendingCall *pending,
|
||||
unsigned int flags,
|
||||
int timeout_milliseconds)
|
||||
{
|
||||
@@ -1160,8 +1170,22 @@ _dbus_connection_do_iteration_unlocked (DBusConnection *connection,
|
||||
{
|
||||
HAVE_LOCK_CHECK (connection);
|
||||
|
||||
- _dbus_transport_do_iteration (connection->transport,
|
||||
- flags, timeout_milliseconds);
|
||||
+ if ( (pending != NULL) && _dbus_pending_call_get_completed_unlocked(pending))
|
||||
+ {
|
||||
+ _dbus_verbose ("pending call completed while acquiring I/O path");
|
||||
+ }
|
||||
+ else if ( (pending != NULL) &&
|
||||
+ _dbus_connection_peek_for_reply_unlocked (connection,
|
||||
+ _dbus_pending_call_get_reply_serial_unlocked (pending)))
|
||||
+ {
|
||||
+ _dbus_verbose ("pending call completed while acquiring I/O path (reply found in queue)");
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ _dbus_transport_do_iteration (connection->transport,
|
||||
+ flags, timeout_milliseconds);
|
||||
+ }
|
||||
+
|
||||
_dbus_connection_release_io_path (connection);
|
||||
}
|
||||
|
||||
@@ -1989,6 +2013,7 @@ _dbus_connection_send_preallocated_unlocked_no_update (DBusConnection *con
|
||||
* out immediately, and otherwise get them queued up
|
||||
*/
|
||||
_dbus_connection_do_iteration_unlocked (connection,
|
||||
+ NULL,
|
||||
DBUS_ITERATION_DO_WRITING,
|
||||
-1);
|
||||
|
||||
@@ -2157,6 +2182,32 @@ generate_local_error_message (dbus_uint32_t serial,
|
||||
return message;
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Peek the incoming queue to see if we got reply for a specific serial
|
||||
+ */
|
||||
+static dbus_bool_t
|
||||
+_dbus_connection_peek_for_reply_unlocked (DBusConnection *connection,
|
||||
+ dbus_uint32_t client_serial)
|
||||
+{
|
||||
+ DBusList *link;
|
||||
+ HAVE_LOCK_CHECK (connection);
|
||||
+
|
||||
+ link = _dbus_list_get_first_link (&connection->incoming_messages);
|
||||
+
|
||||
+ while (link != NULL)
|
||||
+ {
|
||||
+ DBusMessage *reply = link->data;
|
||||
+
|
||||
+ if (dbus_message_get_reply_serial (reply) == client_serial)
|
||||
+ {
|
||||
+ _dbus_verbose ("%s reply to %d found in queue\n", _DBUS_FUNCTION_NAME, client_serial);
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+ link = _dbus_list_get_next_link (&connection->incoming_messages, link);
|
||||
+ }
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
|
||||
/* This is slightly strange since we can pop a message here without
|
||||
* the dispatch lock.
|
||||
@@ -2333,6 +2384,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending)
|
||||
/* Now we wait... */
|
||||
/* always block at least once as we know we don't have the reply yet */
|
||||
_dbus_connection_do_iteration_unlocked (connection,
|
||||
+ pending,
|
||||
DBUS_ITERATION_DO_READING |
|
||||
DBUS_ITERATION_BLOCK,
|
||||
timeout_milliseconds);
|
||||
@@ -2399,6 +2451,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending)
|
||||
{
|
||||
/* block again, we don't have the reply buffered yet. */
|
||||
_dbus_connection_do_iteration_unlocked (connection,
|
||||
+ pending,
|
||||
DBUS_ITERATION_DO_READING |
|
||||
DBUS_ITERATION_BLOCK,
|
||||
timeout_milliseconds - elapsed_milliseconds);
|
||||
@@ -2426,6 +2479,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending)
|
||||
{
|
||||
/* block again, we don't have the reply buffered yet. */
|
||||
_dbus_connection_do_iteration_unlocked (connection,
|
||||
+ NULL,
|
||||
DBUS_ITERATION_DO_READING |
|
||||
DBUS_ITERATION_BLOCK,
|
||||
timeout_milliseconds - elapsed_milliseconds);
|
||||
@@ -3403,6 +3457,7 @@ _dbus_connection_flush_unlocked (DBusConnection *connection)
|
||||
_dbus_verbose ("doing iteration in %s\n", _DBUS_FUNCTION_NAME);
|
||||
HAVE_LOCK_CHECK (connection);
|
||||
_dbus_connection_do_iteration_unlocked (connection,
|
||||
+ NULL,
|
||||
DBUS_ITERATION_DO_READING |
|
||||
DBUS_ITERATION_DO_WRITING |
|
||||
DBUS_ITERATION_BLOCK,
|
||||
@@ -3489,6 +3544,7 @@ _dbus_connection_read_write_dispatch (DBusConnection *connection,
|
||||
{
|
||||
_dbus_verbose ("doing iteration in %s\n", _DBUS_FUNCTION_NAME);
|
||||
_dbus_connection_do_iteration_unlocked (connection,
|
||||
+ NULL,
|
||||
DBUS_ITERATION_DO_READING |
|
||||
DBUS_ITERATION_DO_WRITING |
|
||||
DBUS_ITERATION_BLOCK,
|
||||
diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
|
||||
index ce3475a..b58d09a 100644
|
||||
--- a/dbus/dbus-sysdeps-unix.c
|
||||
+++ b/dbus/dbus-sysdeps-unix.c
|
||||
@@ -623,6 +623,7 @@ _dbus_listen_unix_socket (const char *path,
|
||||
int listen_fd;
|
||||
struct sockaddr_un addr;
|
||||
size_t path_len;
|
||||
+ unsigned int reuseaddr;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
@@ -696,7 +697,15 @@ _dbus_listen_unix_socket (const char *path,
|
||||
|
||||
strncpy (addr.sun_path, path, path_len);
|
||||
}
|
||||
-
|
||||
+
|
||||
+ reuseaddr = 1;
|
||||
+ if (setsockopt (listen_fd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr))==-1)
|
||||
+ {
|
||||
+ dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
+ "Failed to set socket option\"%s\": %s",
|
||||
+ path, _dbus_strerror (errno));
|
||||
+ }
|
||||
+
|
||||
if (bind (listen_fd, (struct sockaddr*) &addr, _DBUS_STRUCT_OFFSET (struct sockaddr_un, sun_path) + path_len) < 0)
|
||||
{
|
||||
dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
@@ -870,6 +879,7 @@ _dbus_listen_tcp_socket (const char *host,
|
||||
int nlisten_fd = 0, *listen_fd = NULL, res, i;
|
||||
struct addrinfo hints;
|
||||
struct addrinfo *ai, *tmp;
|
||||
+ unsigned int reuseaddr;
|
||||
|
||||
*fds_p = NULL;
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
@@ -915,6 +925,14 @@ _dbus_listen_tcp_socket (const char *host,
|
||||
}
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR(error);
|
||||
|
||||
+ reuseaddr = 1;
|
||||
+ if (setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr))==-1)
|
||||
+ {
|
||||
+ dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
+ "Failed to set socket option \"%s:%s\": %s",
|
||||
+ host ? host : "*", port, _dbus_strerror (errno));
|
||||
+ }
|
||||
+
|
||||
if (bind (fd, (struct sockaddr*) tmp->ai_addr, tmp->ai_addrlen) < 0)
|
||||
{
|
||||
_dbus_close(fd, NULL);
|
@ -1,135 +0,0 @@
|
||||
From 9c90fcd2dc4b1b7d818a35ef43d4686052902f59 Mon Sep 17 00:00:00 2001
|
||||
From: Colin Walters <walters@verbum.org>
|
||||
Date: Thu, 18 Feb 2010 20:33:28 +0000
|
||||
Subject: Monitor service directories for changes
|
||||
|
||||
It's not expected to have to manually SIGHUP the bus after installing
|
||||
a new .service file. Since our directory monitoring is already set
|
||||
up to queue a full reload which includes service activation, simply
|
||||
monitor the servicedirs too.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=23846
|
||||
---
|
||||
diff --git a/bus/bus.c b/bus/bus.c
|
||||
index 8150df2..6495ae7 100644
|
||||
--- a/bus/bus.c
|
||||
+++ b/bus/bus.c
|
||||
@@ -529,11 +529,39 @@ process_config_every_time (BusContext *context,
|
||||
}
|
||||
|
||||
static dbus_bool_t
|
||||
+list_concat_new (DBusList **a,
|
||||
+ DBusList **b,
|
||||
+ DBusList **result)
|
||||
+{
|
||||
+ DBusList *link;
|
||||
+
|
||||
+ *result = NULL;
|
||||
+
|
||||
+ link = _dbus_list_get_first_link (a);
|
||||
+ for (link = _dbus_list_get_first_link (a); link; link = _dbus_list_get_next_link (a, link))
|
||||
+ {
|
||||
+ if (!_dbus_list_append (result, link->data))
|
||||
+ goto oom;
|
||||
+ }
|
||||
+ for (link = _dbus_list_get_first_link (b); link; link = _dbus_list_get_next_link (b, link))
|
||||
+ {
|
||||
+ if (!_dbus_list_append (result, link->data))
|
||||
+ goto oom;
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
+oom:
|
||||
+ _dbus_list_clear (result);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static dbus_bool_t
|
||||
process_config_postinit (BusContext *context,
|
||||
BusConfigParser *parser,
|
||||
DBusError *error)
|
||||
{
|
||||
DBusHashTable *service_context_table;
|
||||
+ DBusList *watched_dirs = NULL;
|
||||
|
||||
service_context_table = bus_config_parser_steal_service_context_table (parser);
|
||||
if (!bus_registry_set_service_context_table (context->registry,
|
||||
@@ -545,8 +573,20 @@ process_config_postinit (BusContext *context,
|
||||
|
||||
_dbus_hash_table_unref (service_context_table);
|
||||
|
||||
- /* Watch all conf directories */
|
||||
- bus_set_watched_dirs (context, bus_config_parser_get_conf_dirs (parser));
|
||||
+ /* We need to monitor both the configuration directories and directories
|
||||
+ * containing .service files.
|
||||
+ */
|
||||
+ if (!list_concat_new (bus_config_parser_get_conf_dirs (parser),
|
||||
+ bus_config_parser_get_service_dirs (parser),
|
||||
+ &watched_dirs))
|
||||
+ {
|
||||
+ BUS_SET_OOM (error);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ bus_set_watched_dirs (context, &watched_dirs);
|
||||
+
|
||||
+ _dbus_list_clear (&watched_dirs);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
diff --git a/bus/dir-watch-inotify.c b/bus/dir-watch-inotify.c
|
||||
index bb71394..c98e6fc 100644
|
||||
--- a/bus/dir-watch-inotify.c
|
||||
+++ b/bus/dir-watch-inotify.c
|
||||
@@ -156,8 +156,18 @@ _set_watched_dirs_internal (DBusList **directories)
|
||||
wd = inotify_add_watch (inotify_fd, new_dirs[i], IN_CLOSE_WRITE | IN_DELETE | IN_MOVED_TO | IN_MOVED_FROM);
|
||||
if (wd < 0)
|
||||
{
|
||||
- _dbus_warn ("Cannot setup inotify for '%s'; error '%s'\n", new_dirs[i], _dbus_strerror (errno));
|
||||
- goto out;
|
||||
+ /* Not all service directories need to exist. */
|
||||
+ if (errno != ENOENT)
|
||||
+ {
|
||||
+ _dbus_warn ("Cannot setup inotify for '%s'; error '%s'\n", new_dirs[i], _dbus_strerror (errno));
|
||||
+ goto out;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ new_wds[i] = -1;
|
||||
+ new_dirs[i] = NULL;
|
||||
+ continue;
|
||||
+ }
|
||||
}
|
||||
new_wds[i] = wd;
|
||||
new_dirs[i] = _dbus_strdup (new_dirs[i]);
|
||||
diff --git a/bus/dir-watch-kqueue.c b/bus/dir-watch-kqueue.c
|
||||
index e7b0e2c..4a01b74 100644
|
||||
--- a/bus/dir-watch-kqueue.c
|
||||
+++ b/bus/dir-watch-kqueue.c
|
||||
@@ -204,11 +204,20 @@ bus_set_watched_dirs (BusContext *context, DBusList **directories)
|
||||
* we may need to sleep.
|
||||
*/
|
||||
fd = open (new_dirs[i], O_RDONLY);
|
||||
- if (fd < 0)
|
||||
+ if (fd < 0)
|
||||
{
|
||||
- _dbus_warn ("Cannot open directory '%s'; error '%s'\n", new_dirs[i], _dbus_strerror (errno));
|
||||
- goto out;
|
||||
- }
|
||||
+ if (errno != ENOENT)
|
||||
+ {
|
||||
+ _dbus_warn ("Cannot open directory '%s'; error '%s'\n", new_dirs[i], _dbus_strerror (errno));
|
||||
+ goto out;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ new_fds[i] = -1;
|
||||
+ new_dirs[i] = NULL;
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
EV_SET (&ev, fd, EVFILT_VNODE, EV_ADD | EV_ENABLE | EV_CLEAR,
|
||||
NOTE_DELETE | NOTE_EXTEND | NOTE_WRITE | NOTE_RENAME, 0, 0);
|
||||
--
|
||||
cgit v0.8.3-6-g21f6
|
@ -1,10 +1,11 @@
|
||||
# $Id: PKGBUILD 77161 2010-04-11 11:22:03Z ronald $
|
||||
# Maintainer: Ronald van Haren <ronald.archlinux.org>
|
||||
# Contributor: Tom Killian <tom.archlinux.org>
|
||||
# Contributor: Judd Vinet <jvinet.zeroflux.org>
|
||||
#
|
||||
# Chakra Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
pkgname=dhcpcd
|
||||
pkgver=5.2.2
|
||||
pkgver=5.2.8
|
||||
pkgrel=1
|
||||
pkgdesc="RFC2131 compliant DHCP client daemon"
|
||||
url="http://roy.marples.name/dhcpcd/"
|
||||
@ -16,8 +17,8 @@ backup=('etc/conf.d/dhcpcd' 'etc/dhcpcd.conf')
|
||||
options=('emptydirs') # We Need the Empty /var/lib/dhcpcd Directory
|
||||
source=("http://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.bz2" \
|
||||
'dhcpcd.conf.d')
|
||||
md5sums=('30a161c93bd4548a28d97041329bf335'
|
||||
'372d33485556982b64a97f301e17c5dd')
|
||||
sha1sums=('3a7ffc6d3599fd4146791853b083dc577d8dd9c0'
|
||||
'b67b9ce6a2faaca75fea356966a16be2283b7db0')
|
||||
|
||||
build() {
|
||||
cd ${srcdir}/${pkgname}-${pkgver}
|
||||
@ -27,6 +28,10 @@ build() {
|
||||
|
||||
# Build
|
||||
make || return 1
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${srcdir}/${pkgname}-${pkgver}
|
||||
make DESTDIR=${pkgdir} install || return 1
|
||||
|
||||
# Create Binary Symlink
|
||||
@ -39,7 +44,7 @@ build() {
|
||||
# Install License
|
||||
install -d $pkgdir/usr/share/licenses/$pkgname || return 1
|
||||
awk '{if(FNR<27)print $0}' ${srcdir}/${pkgname}-${pkgver}/configure.h \
|
||||
>> ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
|
||||
>> ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
|
||||
|
||||
# Set Options in /etc/dhcpcd.conf
|
||||
echo noipv4ll >> ${pkgdir}/etc/dhcpcd.conf || return 1 # Disable ip4vall
|
||||
|
@ -1,11 +1,11 @@
|
||||
# $Id: PKGBUILD 75202 2010-04-01 02:17:43Z pierre $
|
||||
# $Id: PKGBUILD 85957 2010-07-22 20:05:06Z kevin $
|
||||
# Maintainer: kevin <kevin@archlinux.org>
|
||||
# Contributor: mario <mario_vazq@hotmail.com>
|
||||
pkgname=dnsutils
|
||||
# Use a period and not a hyphen before the patch level for proper versioning.
|
||||
pkgver=9.6.1
|
||||
_pkgver=9.6.1
|
||||
pkgrel=3
|
||||
pkgver=9.7.1.P2
|
||||
_pkgver=9.7.1-P2
|
||||
pkgrel=1
|
||||
pkgdesc="Various DNS utilities - dig host nslookup nsupdate"
|
||||
arch=(i686 x86_64)
|
||||
url="https://www.isc.org/software/bind"
|
||||
@ -15,8 +15,9 @@ replaces=('bind-tools' 'host')
|
||||
options=('makeflags')
|
||||
source=(http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz
|
||||
bind.so_bsdcompat.diff tools-only.patch)
|
||||
md5sums=('516ac74d8eaaef30ad4c99ada8b715cd' '447d58721cfee0e1e377b46f7d50b327'
|
||||
'329f7e15b8c45d3efefdf5b559bb878a')
|
||||
md5sums=('bd6be63cc910d04da39103d441871596'
|
||||
'447d58721cfee0e1e377b46f7d50b327'
|
||||
'be0558f70ed81d90e68e6b6003ba12ed')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/bind-${_pkgver}"
|
||||
|
@ -1,16 +1,19 @@
|
||||
--- bind-9.3.1/bin/Makefile.in.orig 2005-05-06 01:52:36.000000000 -0400
|
||||
+++ bind-9.3.1/bin/Makefile.in 2005-05-06 01:53:24.000000000 -0400
|
||||
@@ -19,7 +19,7 @@
|
||||
diff -Naur bind-9.7.1-P2.orig/bin/Makefile.in bind-9.7.1-P2/bin/Makefile.in
|
||||
--- bind-9.7.1-P2.orig/bin/Makefile.in 2009-10-05 08:07:08.000000000 -0400
|
||||
+++ bind-9.7.1-P2/bin/Makefile.in 2010-07-22 15:55:00.000000000 -0400
|
||||
@@ -19,8 +19,7 @@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
-SUBDIRS = named rndc dig dnssec tests nsupdate check
|
||||
-SUBDIRS = named rndc dig dnssec tests tools nsupdate \
|
||||
- check confgen @PKCS11_TOOLS@
|
||||
+SUBDIRS = dig nsupdate
|
||||
TARGETS =
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
--- bind-9.3.1/lib/Makefile.in.orig 2005-05-06 02:05:12.000000000 -0400
|
||||
+++ bind-9.3.1/lib/Makefile.in 2005-05-06 02:05:35.000000000 -0400
|
||||
diff -Naur bind-9.7.1-P2.orig/lib/Makefile.in bind-9.7.1-P2/lib/Makefile.in
|
||||
--- bind-9.7.1-P2.orig/lib/Makefile.in 2007-06-19 19:47:13.000000000 -0400
|
||||
+++ bind-9.7.1-P2/lib/Makefile.in 2010-07-22 15:56:29.000000000 -0400
|
||||
@@ -23,7 +23,7 @@
|
||||
# Attempt to disable parallel processing.
|
||||
.NOTPARALLEL:
|
||||
|
34
elfutils/PKGBUILD
Normal file
34
elfutils/PKGBUILD
Normal file
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Chakra Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
pkgname=elfutils
|
||||
pkgver=0.148
|
||||
pkgrel=1
|
||||
pkgdesc="Collection of libraries and utilities for working with ELF object files and DWARF debugging information"
|
||||
arch=('i686' 'x86_64')
|
||||
url="https://fedorahosted.org/elfutils/"
|
||||
license=('GPL2')
|
||||
depends=('glibc')
|
||||
#optdepends=('zlib' 'xz' 'bzip2')
|
||||
provides=('libelf')
|
||||
replaces=('libelf')
|
||||
conflicts=('libelf')
|
||||
source=(https://fedorahosted.org/releases/e/l/elfutils/${pkgver}/elfutils-${pkgver}.tar.bz2)
|
||||
md5sums=('a0bed1130135f17ad27533b0034dba8d')
|
||||
|
||||
build()
|
||||
{
|
||||
cd ${srcdir}/${pkgname}-${pkgver}
|
||||
./configure --prefix=/usr --program-prefix="eu-"
|
||||
make
|
||||
make check
|
||||
}
|
||||
|
||||
package()
|
||||
{
|
||||
cd ${srcdir}/${pkgname}-${pkgver}
|
||||
make DESTDIR=${pkgdir} install
|
||||
}
|
32
freetype2/PKGBUILD
Normal file
32
freetype2/PKGBUILD
Normal file
@ -0,0 +1,32 @@
|
||||
# Platform Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
# include global config
|
||||
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
|
||||
pkgname=freetype2
|
||||
pkgver=2.4.3
|
||||
pkgrel=1
|
||||
pkgdesc="TrueType font rendering library"
|
||||
arch=(i686 x86_64)
|
||||
license=('GPL')
|
||||
url="http://freetype.sourceforge.net"
|
||||
depends=('zlib')
|
||||
options=('!libtool')
|
||||
source=(http://downloads.sourceforge.net/sourceforge/freetype/freetype-${pkgver}.tar.bz2
|
||||
freetype-2.3.0-enable-spr.patch
|
||||
freetype-2.2.1-enable-valid.patch)
|
||||
md5sums=('75ac7082bde7b3805dc5d6bc806fa045'
|
||||
'816dc8619a6904a7385769433c0a8653'
|
||||
'214119610444c9b02766ccee5e220680')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/freetype-${pkgver}"
|
||||
patch -Np1 -i "${srcdir}/freetype-2.3.0-enable-spr.patch"
|
||||
patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch"
|
||||
|
||||
./configure --prefix=/usr
|
||||
make
|
||||
make DESTDIR="${pkgdir}" install
|
||||
}
|
20
freetype2/freetype-2.2.1-enable-valid.patch
Normal file
20
freetype2/freetype-2.2.1-enable-valid.patch
Normal file
@ -0,0 +1,20 @@
|
||||
--- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400
|
||||
+++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400
|
||||
@@ -110,7 +110,7 @@
|
||||
AUX_MODULES += cache
|
||||
|
||||
# TrueType GX/AAT table validation. Needs ftgxval.c below.
|
||||
-# AUX_MODULES += gxvalid
|
||||
+AUX_MODULES += gxvalid
|
||||
|
||||
# Support for streams compressed with gzip (files with suffix .gz).
|
||||
#
|
||||
@@ -124,7 +124,7 @@
|
||||
|
||||
# OpenType table validation. Needs ftotval.c below.
|
||||
#
|
||||
-# AUX_MODULES += otvalid
|
||||
+AUX_MODULES += otvalid
|
||||
|
||||
# Auxiliary PostScript driver component to share common code.
|
||||
#
|
11
freetype2/freetype-2.3.0-enable-spr.patch
Normal file
11
freetype2/freetype-2.3.0-enable-spr.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- freetype-2.3.0/include/freetype/config/ftoption.h.spf 2007-01-18 14:27:34.000000000 -0500
|
||||
+++ freetype-2.3.0/include/freetype/config/ftoption.h 2007-01-18 14:27:48.000000000 -0500
|
||||
@@ -92,7 +92,7 @@
|
||||
/* This is done to allow FreeType clients to run unmodified, forcing */
|
||||
/* them to display normal gray-level anti-aliased glyphs. */
|
||||
/* */
|
||||
-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
|
||||
+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
|
||||
|
||||
|
||||
/*************************************************************************/
|
23
freetype2/freetype2.install
Normal file
23
freetype2/freetype2.install
Normal file
@ -0,0 +1,23 @@
|
||||
# arg 1: the new package version
|
||||
post_install() {
|
||||
echo -n "updating font cache... "
|
||||
/sbin/ldconfig -r .
|
||||
/usr/bin/fc-cache -f
|
||||
echo "done."
|
||||
}
|
||||
|
||||
# arg 1: the new package version
|
||||
# arg 2: the old package version
|
||||
post_upgrade() {
|
||||
post_install $1
|
||||
}
|
||||
|
||||
# arg 1: the old package version
|
||||
pre_remove() {
|
||||
/bin/true
|
||||
}
|
||||
|
||||
op=$1
|
||||
shift
|
||||
|
||||
$op $*
|
22
glibc/glibc-2.12.1-but-I-am-an-i686.patch
Normal file
22
glibc/glibc-2.12.1-but-I-am-an-i686.patch
Normal file
@ -0,0 +1,22 @@
|
||||
--- glibc-2.12-62-gb08c89d/sysdeps/i386/i686/Makefile
|
||||
+++ glibc-2.12.90-6/sysdeps/i386/i686/Makefile
|
||||
@@ -9,19 +9,3 @@ stack-align-test-flags += -msse
|
||||
ifeq ($(subdir),string)
|
||||
sysdep_routines += cacheinfo
|
||||
endif
|
||||
-
|
||||
-ifeq (yes,$(config-asflags-i686))
|
||||
-CFLAGS-.o += -Wa,-mtune=i686
|
||||
-CFLAGS-.os += -Wa,-mtune=i686
|
||||
-CFLAGS-.op += -Wa,-mtune=i686
|
||||
-CFLAGS-.og += -Wa,-mtune=i686
|
||||
-CFLAGS-.ob += -Wa,-mtune=i686
|
||||
-CFLAGS-.oS += -Wa,-mtune=i686
|
||||
-
|
||||
-ASFLAGS-.o += -Wa,-mtune=i686
|
||||
-ASFLAGS-.os += -Wa,-mtune=i686
|
||||
-ASFLAGS-.op += -Wa,-mtune=i686
|
||||
-ASFLAGS-.og += -Wa,-mtune=i686
|
||||
-ASFLAGS-.ob += -Wa,-mtune=i686
|
||||
-ASFLAGS-.oS += -Wa,-mtune=i686
|
||||
-endif
|
21
glibc/glibc-2.12.1-es_CR.patch
Normal file
21
glibc/glibc-2.12.1-es_CR.patch
Normal file
@ -0,0 +1,21 @@
|
||||
--- a/locale/C-translit.h.in
|
||||
+++ a/locale/C-translit.h.in
|
||||
@@ -103,6 +103,7 @@
|
||||
"\x2061" "" /* <U2061> FUNCTION APPLICATION */
|
||||
"\x2062" "" /* <U2062> INVISIBLE TIMES */
|
||||
"\x2063" "" /* <U2063> INVISIBLE SEPARATOR */
|
||||
+"\x20a1" "CRC" /* <U20A1> COLON SIGN */
|
||||
"\x20a8" "Rs" /* <U20A8> RUPEE SIGN */
|
||||
"\x20ac" "EUR" /* <U20AC> EURO SIGN */
|
||||
"\x2100" "a/c" /* <U2100> ACCOUNT OF */
|
||||
--- a/localedata/locales/translit_neutral
|
||||
+++ a/localedata/locales/translit_neutral
|
||||
@@ -128,6 +128,8 @@ include "translit_wide";""
|
||||
<U2063> ""
|
||||
% DONG SIGN
|
||||
<U20AB> "<U0110><U1ED3><U006E><U0067>"
|
||||
+% COLON SIGN
|
||||
+<U20A1> "<U0043><U0052><U0043>"
|
||||
% EURO SIGN
|
||||
<U20AC> "<U0045><U0055><U0052>"
|
||||
% TRADE MARK SIGN
|
29
glibc/glibc-2.12.1-make-3.82-compatibility.patch
Normal file
29
glibc/glibc-2.12.1-make-3.82-compatibility.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 32cf40699346d37fabfa887bbd95e95004799ae1 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schwab <schwab@redhat.com>
|
||||
Date: Mon, 6 Sep 2010 14:55:59 +0200
|
||||
Subject: [PATCH 1/1] Don't mix pattern rules with normal rules
|
||||
|
||||
---
|
||||
ChangeLog | 4 ++++
|
||||
manual/Makefile | 5 ++++-
|
||||
2 files changed, 8 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/manual/Makefile b/manual/Makefile
|
||||
index c5866eb..b1f5fa7 100644
|
||||
--- a/manual/Makefile
|
||||
+++ b/manual/Makefile
|
||||
@@ -232,7 +232,10 @@ ifdef objpfx
|
||||
.PHONY: stubs
|
||||
stubs: $(objpfx)stubs
|
||||
endif
|
||||
-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
|
||||
+$(objpfx)stubs ../po/manual.pot:
|
||||
+ $(make-target-directory)
|
||||
+ touch $@
|
||||
+$(objpfx)stamp%:
|
||||
$(make-target-directory)
|
||||
touch $@
|
||||
|
||||
--
|
||||
1.7.2
|
||||
|
338
glibc/glibc-2.12.1-static-shared-getpagesize.patch
Normal file
338
glibc/glibc-2.12.1-static-shared-getpagesize.patch
Normal file
@ -0,0 +1,338 @@
|
||||
http://thread.gmane.org/gmane.comp.lib.glibc.user/579
|
||||
http://sources.redhat.com/bugzilla/show_bug.cgi?id=11929
|
||||
http://bugs.gentoo.org/332927
|
||||
|
||||
a simple statically linked app fails with glibc-2.12:
|
||||
$ cat test.c
|
||||
main(){getpwnam("root");}
|
||||
$ gcc -static test.c
|
||||
$ ./a.out
|
||||
a.out: ../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize:
|
||||
Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
|
||||
Aborted (core dumped)
|
||||
|
||||
the crux of the matter seems to be the fact that static apps with
|
||||
glibc will dynamically load nss shared libraries when necessary. the
|
||||
static code will initialize GLRO(dl_pagesize) just fine from the
|
||||
kernel auxv, but this being the static code paths, GLRO(dl_pagesize)
|
||||
expands into _dl_pagesize. when the nss shared libraries are loaded
|
||||
up, the ldso is also mapped in, but it doesnt process the kernel auxv
|
||||
(_dl_sysdep_start() is not called). so the shared library
|
||||
GLRO(dl_pagesize) expands into _rtld_global_ro._dl_pagesize and that
|
||||
field stays at 0.
|
||||
|
||||
then when the nss shared libs process the request and gets to the
|
||||
standard "passwd" database, it calls the shared lib versions of
|
||||
malloc/stdio which rely on the __getpagesize() function. but this
|
||||
being in the shared library, it reads the shared GLRO(dl_pagesize)
|
||||
which is 0, and the assert() is triggered.
|
||||
|
||||
i think running nscd makes things work because its nss module that
|
||||
talks to the nscd daemon doesnt call any routines that implicitly rely
|
||||
on __getpagesize().
|
||||
|
||||
this all started happening after this commit:
|
||||
From 8f4a5048eea6536ee85c0f2670adbb97d71e427d Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Drepper <drepper@redhat.com>
|
||||
Date: Sat, 27 Mar 2010 06:19:50 -0700
|
||||
Subject: [PATCH] Optimize __getpagesize a bit.
|
||||
|
||||
if we look at the ia64 port, we see that it has had similar logic for
|
||||
its __getpagesize function forever. so take its DL_STATIC_INIT code
|
||||
and move it up to the common linux tree.
|
||||
|
||||
2010-08-18 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/ia64/Makefile: Move dl-static addition to
|
||||
sysdep vars for subdir==elf to ...
|
||||
* sysdeps/unix/sysv/linux/Makefile: ... here.
|
||||
* sysdeps/unix/sysv/linux/ia64/dl-static.c: Move file to ...
|
||||
* sysdeps/unix/sysv/linux/dl-static.c: ... here.
|
||||
* sysdeps/unix/sysv/linux/ia64/ldsodefs.h: Delete, and move the
|
||||
DL_STATIC_INIT defines to ...
|
||||
* sysdeps/unix/sysv/linux/ldsodefs.h: ... here.
|
||||
* sysdeps/unix/sysv/linux/ia64/getpagesize.c: Delete.
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/ia64/Makefile b/sysdeps/unix/sysv/linux/ia64/Makefile
|
||||
index d9a35a7..3bb1ce0 100644
|
||||
--- a/sysdeps/unix/sysv/linux/ia64/Makefile
|
||||
+++ b/sysdeps/unix/sysv/linux/ia64/Makefile
|
||||
@@ -12,12 +12,6 @@ sysdep_headers += sys/io.h
|
||||
sysdep_routines += ioperm clone2
|
||||
endif
|
||||
|
||||
-ifeq ($(subdir),elf)
|
||||
-sysdep-dl-routines += dl-static
|
||||
-sysdep_routines += $(sysdep-dl-routines)
|
||||
-sysdep-rtld-routines += $(sysdep-dl-routines)
|
||||
-endif
|
||||
-
|
||||
ifeq ($(subdir),rt)
|
||||
librt-routines += rt-sysdep
|
||||
endif
|
||||
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
|
||||
index 4302bd3..37c56a3 100644
|
||||
--- a/sysdeps/unix/sysv/linux/Makefile
|
||||
+++ b/sysdeps/unix/sysv/linux/Makefile
|
||||
@@ -147,7 +147,9 @@ sysdep_routines += xstatconv internal_statvfs internal_statvfs64 \
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),elf)
|
||||
-sysdep-rtld-routines += dl-brk dl-sbrk
|
||||
+sysdep-dl-routines += dl-static
|
||||
+sysdep_routines += dl-static
|
||||
+sysdep-rtld-routines += dl-brk dl-sbrk dl-static
|
||||
|
||||
CPPFLAGS-lddlibc4 += -DNOT_IN_libc
|
||||
endif
|
||||
diff --git a/sysdeps/unix/sysv/linux/ia64/dl-static.c b/sysdeps/unix/sysv/linux/ia64/dl-static.c
|
||||
deleted file mode 100644
|
||||
index 4efc077..0000000
|
||||
--- a/sysdeps/unix/sysv/linux/ia64/dl-static.c
|
||||
+++ /dev/null
|
||||
@@ -1,69 +0,0 @@
|
||||
-/* Variable initialization. IA-64 version.
|
||||
- Copyright (C) 2001, 2002, 2003, 2004 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. */
|
||||
-
|
||||
-#include <ldsodefs.h>
|
||||
-
|
||||
-#ifdef SHARED
|
||||
-
|
||||
-void
|
||||
-_dl_var_init (void *array[])
|
||||
-{
|
||||
- /* It has to match "variables" below. */
|
||||
- enum
|
||||
- {
|
||||
- DL_PAGESIZE = 0,
|
||||
- DL_CLKTCK
|
||||
- };
|
||||
-
|
||||
- GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]);
|
||||
- GLRO(dl_clktck) = *((int *) array[DL_CLKTCK]);
|
||||
-}
|
||||
-
|
||||
-#else
|
||||
-#include <bits/libc-lock.h>
|
||||
-
|
||||
-__libc_lock_define_initialized_recursive (static, _dl_static_lock)
|
||||
-
|
||||
-static void *variables[] =
|
||||
-{
|
||||
- &GLRO(dl_pagesize),
|
||||
- &GLRO(dl_clktck)
|
||||
-};
|
||||
-
|
||||
-void
|
||||
-_dl_static_init (struct link_map *map)
|
||||
-{
|
||||
- const ElfW(Sym) *ref = NULL;
|
||||
- lookup_t loadbase;
|
||||
- void (*f) (void *[]);
|
||||
-
|
||||
- __libc_lock_lock_recursive (_dl_static_lock);
|
||||
-
|
||||
- loadbase = _dl_lookup_symbol_x ("_dl_var_init", map, &ref,
|
||||
- map->l_local_scope, NULL, 0, 1, NULL);
|
||||
- if (ref != NULL)
|
||||
- {
|
||||
- f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref);
|
||||
- f (variables);
|
||||
- }
|
||||
-
|
||||
- __libc_lock_unlock_recursive (_dl_static_lock);
|
||||
-}
|
||||
-
|
||||
-#endif
|
||||
diff --git a/sysdeps/unix/sysv/linux/dl-static.c b/sysdeps/unix/sysv/linux/dl-static.c
|
||||
new file mode 100644
|
||||
index 0000000..fa70811
|
||||
--- /dev/null
|
||||
+++ b/sysdeps/unix/sysv/linux/dl-static.c
|
||||
@@ -0,0 +1,69 @@
|
||||
+/* Variable initialization.
|
||||
+ Copyright (C) 2001, 2002, 2003, 2004, 2010 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. */
|
||||
+
|
||||
+#include <ldsodefs.h>
|
||||
+
|
||||
+#ifdef SHARED
|
||||
+
|
||||
+void
|
||||
+_dl_var_init (void *array[])
|
||||
+{
|
||||
+ /* It has to match "variables" below. */
|
||||
+ enum
|
||||
+ {
|
||||
+ DL_PAGESIZE = 0,
|
||||
+ DL_CLKTCK
|
||||
+ };
|
||||
+
|
||||
+ GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]);
|
||||
+ GLRO(dl_clktck) = *((int *) array[DL_CLKTCK]);
|
||||
+}
|
||||
+
|
||||
+#else
|
||||
+#include <bits/libc-lock.h>
|
||||
+
|
||||
+__libc_lock_define_initialized_recursive (static, _dl_static_lock)
|
||||
+
|
||||
+static void *variables[] =
|
||||
+{
|
||||
+ &GLRO(dl_pagesize),
|
||||
+ &GLRO(dl_clktck)
|
||||
+};
|
||||
+
|
||||
+void
|
||||
+_dl_static_init (struct link_map *map)
|
||||
+{
|
||||
+ const ElfW(Sym) *ref = NULL;
|
||||
+ lookup_t loadbase;
|
||||
+ void (*f) (void *[]);
|
||||
+
|
||||
+ __libc_lock_lock_recursive (_dl_static_lock);
|
||||
+
|
||||
+ loadbase = _dl_lookup_symbol_x ("_dl_var_init", map, &ref,
|
||||
+ map->l_local_scope, NULL, 0, 1, NULL);
|
||||
+ if (ref != NULL)
|
||||
+ {
|
||||
+ f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref);
|
||||
+ f (variables);
|
||||
+ }
|
||||
+
|
||||
+ __libc_lock_unlock_recursive (_dl_static_lock);
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
diff --git a/sysdeps/unix/sysv/linux/ia64/ldsodefs.h b/sysdeps/unix/sysv/linux/ia64/ldsodefs.h
|
||||
deleted file mode 100644
|
||||
index 31af624..0000000
|
||||
--- a/sysdeps/unix/sysv/linux/ia64/ldsodefs.h
|
||||
+++ /dev/null
|
||||
@@ -1,33 +0,0 @@
|
||||
-/* Run-time dynamic linker data structures for loaded ELF shared objects. IA64.
|
||||
- Copyright (C) 2001 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. */
|
||||
-
|
||||
-#ifndef _LDSODEFS_H
|
||||
-
|
||||
-/* Get the real definitions. */
|
||||
-#include_next <ldsodefs.h>
|
||||
-
|
||||
-/* Now define our stuff. */
|
||||
-
|
||||
-/* We need special support to initialize DSO loaded for statically linked
|
||||
- binaries. */
|
||||
-extern void _dl_static_init (struct link_map *map);
|
||||
-#undef DL_STATIC_INIT
|
||||
-#define DL_STATIC_INIT(map) _dl_static_init (map)
|
||||
-
|
||||
-#endif /* ldsodefs.h */
|
||||
diff --git a/sysdeps/unix/sysv/linux/ldsodefs.h b/sysdeps/unix/sysv/linux/ldsodefs.h
|
||||
index 5d5b1b4..ecb5d4f 100644
|
||||
--- a/sysdeps/unix/sysv/linux/ldsodefs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/ldsodefs.h
|
||||
@@ -36,6 +36,12 @@ extern void _dl_aux_init (ElfW(auxv_t) *av) internal_function;
|
||||
/* Initialization which is normally done by the dynamic linker. */
|
||||
extern void _dl_non_dynamic_init (void) internal_function;
|
||||
|
||||
+/* We need special support to initialize DSO loaded for statically linked
|
||||
+ binaries. */
|
||||
+extern void _dl_static_init (struct link_map *map);
|
||||
+#undef DL_STATIC_INIT
|
||||
+#define DL_STATIC_INIT(map) _dl_static_init (map)
|
||||
+
|
||||
/* We can assume that the kernel always provides the AT_UID, AT_EUID,
|
||||
AT_GID, and AT_EGID values in the auxiliary vector from 2.4.0 or so on. */
|
||||
#if __ASSUME_AT_XID
|
||||
diff --git a/sysdeps/unix/sysv/linux/ia64/getpagesize.c b/sysdeps/unix/sysv/linux/ia64/getpagesize.c
|
||||
deleted file mode 100644
|
||||
index 1155dfd..0000000
|
||||
--- a/sysdeps/unix/sysv/linux/ia64/getpagesize.c
|
||||
+++ /dev/null
|
||||
@@ -1,39 +0,0 @@
|
||||
-/* Copyright (C) 1999, 2000, 2001, 2002, 2004 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. */
|
||||
-
|
||||
-#include <assert.h>
|
||||
-#include <unistd.h>
|
||||
-#include <sys/param.h>
|
||||
-
|
||||
-#include <ldsodefs.h>
|
||||
-#include <sysdep.h>
|
||||
-#include <sys/syscall.h>
|
||||
-
|
||||
-/* Return the system page size. The return value will depend on how
|
||||
- the kernel is configured. A program must use this call to
|
||||
- determine the page size to ensure proper alignment for calls such
|
||||
- as mmap and friends. --davidm 99/11/30 */
|
||||
-
|
||||
-int
|
||||
-__getpagesize ()
|
||||
-{
|
||||
- assert (GLRO(dl_pagesize) != 0);
|
||||
- return GLRO(dl_pagesize);
|
||||
-}
|
||||
-libc_hidden_def (__getpagesize)
|
||||
-weak_alias (__getpagesize, getpagesize)
|
@ -2,7 +2,7 @@
|
||||
# Maintainer: Jan de Groot <jgc@archlinux.org>
|
||||
|
||||
pkgname=gobject-introspection
|
||||
pkgver=0.6.14
|
||||
pkgver=0.9.10
|
||||
pkgrel=1
|
||||
pkgdesc="Introspection system for GObject-based libraries"
|
||||
url="http://live.gnome.org/GObjectInstrospection"
|
||||
@ -10,8 +10,8 @@ arch=('x86_64' 'i686')
|
||||
license=('LGPL' 'GPL')
|
||||
depends=('libffi>=3.0.8' 'glib2>=2.23.5' 'python')
|
||||
options=('!libtool')
|
||||
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.6/${pkgname}-${pkgver}.tar.bz2)
|
||||
sha256sums=('c4713bcbcebb06861738a8f630ab05289666e631f42f7abbf2e836978db7eba6')
|
||||
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.9/${pkgname}-${pkgver}.tar.bz2)
|
||||
sha256sums=('4bf244db75df04499dea704e7734376c0fc5a3a17fb59be2123c8d76111e6fb8')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
||||
|
@ -9,23 +9,22 @@ source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
|
||||
|
||||
pkgbase=lvm2
|
||||
pkgname=('lvm2' 'device-mapper')
|
||||
pkgver=2.02.70
|
||||
pkgver=2.02.74
|
||||
_pkgverdm=1.02.52
|
||||
_pkgverlvm=${pkgver}
|
||||
pkgrel=1.1
|
||||
pkgrel=1
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://sourceware.org/lvm2/"
|
||||
license=('GPL2' 'LGPL2.1')
|
||||
groups=('base')
|
||||
conflicts=('mkinitcpio<0.5.99')
|
||||
changelog=ChangeLog
|
||||
source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz
|
||||
lvm2_install
|
||||
lvm2_hook)
|
||||
md5sums=('39c26d5a821754cc347d7a19e82d4a24'
|
||||
md5sums=('3f86b528310183cad73c81c8efda0c34'
|
||||
'f781c9f5dd4f9934952c687b73d26a18'
|
||||
'95bed25bdbc2c2d8500e7a07aeff7f65')
|
||||
sha1sums=('6f88114e72204feee491befd5f0e203036b90f11'
|
||||
sha1sums=('fc6cd04e4a908906c6f596ad99948140728be99c'
|
||||
'583424bb0a6f89ffe4e4ea446b912f0fedac7050'
|
||||
'0dc0c0d620f634c4d078afdb78e3bae15ccf957b')
|
||||
|
||||
|
685
mpfr/mpfr-3.0.0-p3.patch
Normal file
685
mpfr/mpfr-3.0.0-p3.patch
Normal file
@ -0,0 +1,685 @@
|
||||
diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
|
||||
--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:02:49.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/PATCHES 2010-06-23 11:03:36.000000000 +0000
|
||||
@@ -0,0 +1 @@
|
||||
+mpfr_out_str
|
||||
diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
|
||||
--- mpfr-3.0.0-a/VERSION 2010-06-10 11:00:14.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/VERSION 2010-06-23 11:03:20.000000000 +0000
|
||||
@@ -1 +1 @@
|
||||
-3.0.0
|
||||
+3.0.0-p1
|
||||
diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
|
||||
--- mpfr-3.0.0-a/mpfr.h 2010-06-10 11:00:14.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/mpfr.h 2010-06-23 11:03:20.000000000 +0000
|
||||
@@ -27,7 +27,7 @@
|
||||
#define MPFR_VERSION_MAJOR 3
|
||||
#define MPFR_VERSION_MINOR 0
|
||||
#define MPFR_VERSION_PATCHLEVEL 0
|
||||
-#define MPFR_VERSION_STRING "3.0.0"
|
||||
+#define MPFR_VERSION_STRING "3.0.0-p1"
|
||||
|
||||
/* Macros dealing with MPFR VERSION */
|
||||
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
|
||||
diff -Naurd mpfr-3.0.0-a/mpfr.texi mpfr-3.0.0-b/mpfr.texi
|
||||
--- mpfr-3.0.0-a/mpfr.texi 2010-06-10 11:00:14.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/mpfr.texi 2010-06-23 11:03:12.000000000 +0000
|
||||
@@ -2050,7 +2050,7 @@
|
||||
are printed. If @var{base} is greater than 10, @samp{@@} will be used
|
||||
instead of @samp{e} as exponent delimiter.
|
||||
|
||||
-Return the number of bytes written, or if an error occurred, return 0.
|
||||
+Return the number of characters written, or if an error occurred, return 0.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun size_t mpfr_inp_str (mpfr_t @var{rop}, FILE *@var{stream}, int @var{base}, mpfr_rnd_t @var{rnd})
|
||||
diff -Naurd mpfr-3.0.0-a/out_str.c mpfr-3.0.0-b/out_str.c
|
||||
--- mpfr-3.0.0-a/out_str.c 2010-06-10 11:00:14.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/out_str.c 2010-06-23 11:03:12.000000000 +0000
|
||||
@@ -22,6 +22,16 @@
|
||||
|
||||
#include "mpfr-impl.h"
|
||||
|
||||
+/* Warning! S should not contain "%". */
|
||||
+#define OUT_STR_RET(S) \
|
||||
+ do \
|
||||
+ { \
|
||||
+ int r; \
|
||||
+ r = fprintf (stream, (S)); \
|
||||
+ return r < 0 ? 0 : r; \
|
||||
+ } \
|
||||
+ while (0)
|
||||
+
|
||||
size_t
|
||||
mpfr_out_str (FILE *stream, int base, size_t n_digits, mpfr_srcptr op,
|
||||
mpfr_rnd_t rnd_mode)
|
||||
@@ -29,6 +39,7 @@
|
||||
char *s, *s0;
|
||||
size_t l;
|
||||
mpfr_exp_t e;
|
||||
+ int err;
|
||||
|
||||
MPFR_ASSERTN (base >= 2 && base <= 62);
|
||||
|
||||
@@ -36,37 +47,16 @@
|
||||
if (stream == NULL)
|
||||
stream = stdout;
|
||||
|
||||
- if (MPFR_IS_NAN(op))
|
||||
- {
|
||||
- fprintf (stream, "@NaN@");
|
||||
- return 3;
|
||||
- }
|
||||
-
|
||||
- if (MPFR_IS_INF(op))
|
||||
- {
|
||||
- if (MPFR_SIGN(op) > 0)
|
||||
- {
|
||||
- fprintf (stream, "@Inf@");
|
||||
- return 3;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- fprintf (stream, "-@Inf@");
|
||||
- return 4;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (MPFR_IS_ZERO(op))
|
||||
+ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (op)))
|
||||
{
|
||||
- if (MPFR_SIGN(op) > 0)
|
||||
- {
|
||||
- fprintf(stream, "0");
|
||||
- return 1;
|
||||
- }
|
||||
+ if (MPFR_IS_NAN (op))
|
||||
+ OUT_STR_RET ("@NaN@");
|
||||
+ else if (MPFR_IS_INF (op))
|
||||
+ OUT_STR_RET (MPFR_IS_POS (op) ? "@Inf@" : "-@Inf@");
|
||||
else
|
||||
{
|
||||
- fprintf(stream, "-0");
|
||||
- return 2;
|
||||
+ MPFR_ASSERTD (MPFR_IS_ZERO (op));
|
||||
+ OUT_STR_RET (MPFR_IS_POS (op) ? "0" : "-0");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,21 +67,31 @@
|
||||
|
||||
l = strlen (s) + 1; /* size of allocated block returned by mpfr_get_str
|
||||
- may be incorrect, as only an upper bound? */
|
||||
- if (*s == '-')
|
||||
- fputc (*s++, stream);
|
||||
|
||||
- /* outputs mantissa */
|
||||
- fputc (*s++, stream); e--; /* leading digit */
|
||||
- fputc ((unsigned char) MPFR_DECIMAL_POINT, stream);
|
||||
- fputs (s, stream); /* rest of mantissa */
|
||||
+ /* outputs possible sign and significand */
|
||||
+ err = (*s == '-' && fputc (*s++, stream) == EOF)
|
||||
+ || fputc (*s++, stream) == EOF /* leading digit */
|
||||
+ || fputc ((unsigned char) MPFR_DECIMAL_POINT, stream) == EOF
|
||||
+ || fputs (s, stream) == EOF; /* trailing significand */
|
||||
(*__gmp_free_func) (s0, l);
|
||||
+ if (MPFR_UNLIKELY (err))
|
||||
+ return 0;
|
||||
+
|
||||
+ e--; /* due to the leading digit */
|
||||
|
||||
/* outputs exponent */
|
||||
if (e)
|
||||
{
|
||||
+ int r;
|
||||
+
|
||||
MPFR_ASSERTN(e >= LONG_MIN);
|
||||
MPFR_ASSERTN(e <= LONG_MAX);
|
||||
- l += fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
|
||||
+
|
||||
+ r = fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
|
||||
+ if (MPFR_UNLIKELY (r < 0))
|
||||
+ return 0;
|
||||
+
|
||||
+ l += r;
|
||||
}
|
||||
|
||||
return l;
|
||||
diff -Naurd mpfr-3.0.0-a/tests/tout_str.c mpfr-3.0.0-b/tests/tout_str.c
|
||||
--- mpfr-3.0.0-a/tests/tout_str.c 2010-06-10 11:00:13.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/tests/tout_str.c 2010-06-23 11:03:12.000000000 +0000
|
||||
@@ -46,22 +46,54 @@
|
||||
special (void)
|
||||
{
|
||||
mpfr_t x;
|
||||
+ unsigned int n;
|
||||
|
||||
mpfr_init (x);
|
||||
|
||||
mpfr_set_nan (x);
|
||||
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ if (n != 5)
|
||||
+ {
|
||||
+ printf ("Error: mpfr_out_str (file, 10, 0, NaN, MPFR_RNDN) wrote %u "
|
||||
+ "characters instead of 5.\n", n);
|
||||
+ exit (1);
|
||||
+ }
|
||||
|
||||
mpfr_set_inf (x, 1);
|
||||
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ if (n != 5)
|
||||
+ {
|
||||
+ printf ("Error: mpfr_out_str (file, 10, 0, +Inf, MPFR_RNDN) wrote %u "
|
||||
+ "characters instead of 5.\n", n);
|
||||
+ exit (1);
|
||||
+ }
|
||||
|
||||
mpfr_set_inf (x, -1);
|
||||
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ if (n != 6)
|
||||
+ {
|
||||
+ printf ("Error: mpfr_out_str (file, 10, 0, -Inf, MPFR_RNDN) wrote %u "
|
||||
+ "characters instead of 6.\n", n);
|
||||
+ exit (1);
|
||||
+ }
|
||||
|
||||
mpfr_set_ui (x, 0, MPFR_RNDN);
|
||||
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ if (n != 1)
|
||||
+ {
|
||||
+ printf ("Error: mpfr_out_str (file, 10, 0, +0, MPFR_RNDN) wrote %u "
|
||||
+ "characters instead of 1.\n", n);
|
||||
+ exit (1);
|
||||
+ }
|
||||
+
|
||||
mpfr_neg (x, x, MPFR_RNDN);
|
||||
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
|
||||
+ if (n != 2)
|
||||
+ {
|
||||
+ printf ("Error: mpfr_out_str (file, 10, 0, -0, MPFR_RNDN) wrote %u "
|
||||
+ "characters instead of 2.\n", n);
|
||||
+ exit (1);
|
||||
+ }
|
||||
|
||||
mpfr_clear (x);
|
||||
}
|
||||
diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
|
||||
--- mpfr-3.0.0-a/version.c 2010-06-10 11:00:14.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/version.c 2010-06-23 11:03:20.000000000 +0000
|
||||
@@ -25,5 +25,5 @@
|
||||
const char *
|
||||
mpfr_get_version (void)
|
||||
{
|
||||
- return "3.0.0";
|
||||
+ return "3.0.0-p1";
|
||||
}
|
||||
diff -Naurd mpfr-3.0.0-a/Makefile.in mpfr-3.0.0-b/Makefile.in
|
||||
--- mpfr-3.0.0-a/Makefile.in 2010-06-10 11:00:52.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/Makefile.in 2010-06-10 11:00:52.000000000 +0000
|
||||
@@ -239,6 +239,7 @@
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
+ALLOCA = @ALLOCA@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
|
||||
--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:03:36.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/PATCHES 2010-06-25 13:23:13.000000000 +0000
|
||||
@@ -0,0 +1 @@
|
||||
+alloca
|
||||
diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
|
||||
--- mpfr-3.0.0-a/VERSION 2010-06-23 11:03:20.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/VERSION 2010-06-25 13:23:13.000000000 +0000
|
||||
@@ -1 +1 @@
|
||||
-3.0.0-p1
|
||||
+3.0.0-p2
|
||||
diff -Naurd mpfr-3.0.0-a/acinclude.m4 mpfr-3.0.0-b/acinclude.m4
|
||||
--- mpfr-3.0.0-a/acinclude.m4 2010-06-10 11:00:14.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/acinclude.m4 2010-06-10 11:00:14.000000000 +0000
|
||||
@@ -59,6 +59,9 @@
|
||||
dnl sys/fpu.h - MIPS specific
|
||||
AC_CHECK_HEADERS([sys/time.h sys/fpu.h])
|
||||
|
||||
+dnl Check how to get `alloca'
|
||||
+AC_FUNC_ALLOCA
|
||||
+
|
||||
dnl SIZE_MAX macro
|
||||
gl_SIZE_MAX
|
||||
|
||||
diff -Naurd mpfr-3.0.0-a/configure mpfr-3.0.0-b/configure
|
||||
--- mpfr-3.0.0-a/configure 2010-06-10 11:00:51.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/configure 2010-06-25 13:23:05.000000000 +0000
|
||||
@@ -783,6 +783,7 @@
|
||||
OBJDUMP
|
||||
DLLTOOL
|
||||
AS
|
||||
+ALLOCA
|
||||
MPFR_LIBM
|
||||
ANSI2KNR
|
||||
U
|
||||
@@ -5622,6 +5623,197 @@
|
||||
done
|
||||
|
||||
|
||||
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
|
||||
+# for constant arguments. Useless!
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
|
||||
+$as_echo_n "checking for working alloca.h... " >&6; }
|
||||
+if test "${ac_cv_working_alloca_h+set}" = set; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#include <alloca.h>
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+char *p = (char *) alloca (2 * sizeof (int));
|
||||
+ if (p) return 0;
|
||||
+ ;
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+if ac_fn_c_try_link "$LINENO"; then :
|
||||
+ ac_cv_working_alloca_h=yes
|
||||
+else
|
||||
+ ac_cv_working_alloca_h=no
|
||||
+fi
|
||||
+rm -f core conftest.err conftest.$ac_objext \
|
||||
+ conftest$ac_exeext conftest.$ac_ext
|
||||
+fi
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
|
||||
+$as_echo "$ac_cv_working_alloca_h" >&6; }
|
||||
+if test $ac_cv_working_alloca_h = yes; then
|
||||
+
|
||||
+$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
|
||||
+$as_echo_n "checking for alloca... " >&6; }
|
||||
+if test "${ac_cv_func_alloca_works+set}" = set; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#ifdef __GNUC__
|
||||
+# define alloca __builtin_alloca
|
||||
+#else
|
||||
+# ifdef _MSC_VER
|
||||
+# include <malloc.h>
|
||||
+# define alloca _alloca
|
||||
+# else
|
||||
+# ifdef HAVE_ALLOCA_H
|
||||
+# include <alloca.h>
|
||||
+# else
|
||||
+# ifdef _AIX
|
||||
+ #pragma alloca
|
||||
+# else
|
||||
+# ifndef alloca /* predefined by HP cc +Olibcalls */
|
||||
+char *alloca ();
|
||||
+# endif
|
||||
+# endif
|
||||
+# endif
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+char *p = (char *) alloca (1);
|
||||
+ if (p) return 0;
|
||||
+ ;
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+if ac_fn_c_try_link "$LINENO"; then :
|
||||
+ ac_cv_func_alloca_works=yes
|
||||
+else
|
||||
+ ac_cv_func_alloca_works=no
|
||||
+fi
|
||||
+rm -f core conftest.err conftest.$ac_objext \
|
||||
+ conftest$ac_exeext conftest.$ac_ext
|
||||
+fi
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
|
||||
+$as_echo "$ac_cv_func_alloca_works" >&6; }
|
||||
+
|
||||
+if test $ac_cv_func_alloca_works = yes; then
|
||||
+
|
||||
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
|
||||
+
|
||||
+else
|
||||
+ # The SVR3 libPW and SVR4 libucb both contain incompatible functions
|
||||
+# that cause trouble. Some versions do not even contain alloca or
|
||||
+# contain a buggy version. If you still want to use their alloca,
|
||||
+# use ar to extract alloca.o from them instead of compiling alloca.c.
|
||||
+
|
||||
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
|
||||
+
|
||||
+$as_echo "#define C_ALLOCA 1" >>confdefs.h
|
||||
+
|
||||
+
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
|
||||
+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
|
||||
+if test "${ac_cv_os_cray+set}" = set; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#if defined CRAY && ! defined CRAY2
|
||||
+webecray
|
||||
+#else
|
||||
+wenotbecray
|
||||
+#endif
|
||||
+
|
||||
+_ACEOF
|
||||
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
+ $EGREP "webecray" >/dev/null 2>&1; then :
|
||||
+ ac_cv_os_cray=yes
|
||||
+else
|
||||
+ ac_cv_os_cray=no
|
||||
+fi
|
||||
+rm -f conftest*
|
||||
+
|
||||
+fi
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
|
||||
+$as_echo "$ac_cv_os_cray" >&6; }
|
||||
+if test $ac_cv_os_cray = yes; then
|
||||
+ for ac_func in _getb67 GETB67 getb67; do
|
||||
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||
+eval as_val=\$$as_ac_var
|
||||
+ if test "x$as_val" = x""yes; then :
|
||||
+
|
||||
+cat >>confdefs.h <<_ACEOF
|
||||
+#define CRAY_STACKSEG_END $ac_func
|
||||
+_ACEOF
|
||||
+
|
||||
+ break
|
||||
+fi
|
||||
+
|
||||
+ done
|
||||
+fi
|
||||
+
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
|
||||
+$as_echo_n "checking stack direction for C alloca... " >&6; }
|
||||
+if test "${ac_cv_c_stack_direction+set}" = set; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+ if test "$cross_compiling" = yes; then :
|
||||
+ ac_cv_c_stack_direction=0
|
||||
+else
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+$ac_includes_default
|
||||
+int
|
||||
+find_stack_direction ()
|
||||
+{
|
||||
+ static char *addr = 0;
|
||||
+ auto char dummy;
|
||||
+ if (addr == 0)
|
||||
+ {
|
||||
+ addr = &dummy;
|
||||
+ return find_stack_direction ();
|
||||
+ }
|
||||
+ else
|
||||
+ return (&dummy > addr) ? 1 : -1;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ return find_stack_direction () < 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+if ac_fn_c_try_run "$LINENO"; then :
|
||||
+ ac_cv_c_stack_direction=1
|
||||
+else
|
||||
+ ac_cv_c_stack_direction=-1
|
||||
+fi
|
||||
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
|
||||
+$as_echo "$ac_cv_c_stack_direction" >&6; }
|
||||
+cat >>confdefs.h <<_ACEOF
|
||||
+#define STACK_DIRECTION $ac_cv_c_stack_direction
|
||||
+_ACEOF
|
||||
+
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
|
||||
for ac_header in stdint.h
|
||||
do :
|
||||
@@ -7564,13 +7756,13 @@
|
||||
else
|
||||
lt_cv_nm_interface="BSD nm"
|
||||
echo "int some_variable = 0;" > conftest.$ac_ext
|
||||
- (eval echo "\"\$as_me:7567: $ac_compile\"" >&5)
|
||||
+ (eval echo "\"\$as_me:7759: $ac_compile\"" >&5)
|
||||
(eval "$ac_compile" 2>conftest.err)
|
||||
cat conftest.err >&5
|
||||
- (eval echo "\"\$as_me:7570: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
|
||||
+ (eval echo "\"\$as_me:7762: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
|
||||
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
|
||||
cat conftest.err >&5
|
||||
- (eval echo "\"\$as_me:7573: output\"" >&5)
|
||||
+ (eval echo "\"\$as_me:7765: output\"" >&5)
|
||||
cat conftest.out >&5
|
||||
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
|
||||
lt_cv_nm_interface="MS dumpbin"
|
||||
@@ -8772,7 +8964,7 @@
|
||||
;;
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
- echo '#line 8775 "configure"' > conftest.$ac_ext
|
||||
+ echo '#line 8967 "configure"' > conftest.$ac_ext
|
||||
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
|
||||
(eval $ac_compile) 2>&5
|
||||
ac_status=$?
|
||||
@@ -10032,11 +10224,11 @@
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
- (eval echo "\"\$as_me:10035: $lt_compile\"" >&5)
|
||||
+ (eval echo "\"\$as_me:10227: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
- echo "$as_me:10039: \$? = $ac_status" >&5
|
||||
+ echo "$as_me:10231: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@@ -10371,11 +10563,11 @@
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
- (eval echo "\"\$as_me:10374: $lt_compile\"" >&5)
|
||||
+ (eval echo "\"\$as_me:10566: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
- echo "$as_me:10378: \$? = $ac_status" >&5
|
||||
+ echo "$as_me:10570: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@@ -10476,11 +10668,11 @@
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
- (eval echo "\"\$as_me:10479: $lt_compile\"" >&5)
|
||||
+ (eval echo "\"\$as_me:10671: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
- echo "$as_me:10483: \$? = $ac_status" >&5
|
||||
+ echo "$as_me:10675: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@@ -10531,11 +10723,11 @@
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
- (eval echo "\"\$as_me:10534: $lt_compile\"" >&5)
|
||||
+ (eval echo "\"\$as_me:10726: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
- echo "$as_me:10538: \$? = $ac_status" >&5
|
||||
+ echo "$as_me:10730: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@@ -12915,7 +13107,7 @@
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
-#line 12918 "configure"
|
||||
+#line 13110 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@@ -13011,7 +13203,7 @@
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
-#line 13014 "configure"
|
||||
+#line 13206 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
|
||||
--- mpfr-3.0.0-a/mpfr.h 2010-06-23 11:03:20.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/mpfr.h 2010-06-25 13:23:13.000000000 +0000
|
||||
@@ -27,7 +27,7 @@
|
||||
#define MPFR_VERSION_MAJOR 3
|
||||
#define MPFR_VERSION_MINOR 0
|
||||
#define MPFR_VERSION_PATCHLEVEL 0
|
||||
-#define MPFR_VERSION_STRING "3.0.0-p1"
|
||||
+#define MPFR_VERSION_STRING "3.0.0-p2"
|
||||
|
||||
/* Macros dealing with MPFR VERSION */
|
||||
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
|
||||
diff -Naurd mpfr-3.0.0-a/tests/Makefile.in mpfr-3.0.0-b/tests/Makefile.in
|
||||
--- mpfr-3.0.0-a/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000
|
||||
@@ -960,6 +960,7 @@
|
||||
red=; grn=; lgn=; blu=; std=
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
+ALLOCA = @ALLOCA@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
|
||||
--- mpfr-3.0.0-a/version.c 2010-06-23 11:03:20.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/version.c 2010-06-25 13:23:13.000000000 +0000
|
||||
@@ -25,5 +25,5 @@
|
||||
const char *
|
||||
mpfr_get_version (void)
|
||||
{
|
||||
- return "3.0.0-p1";
|
||||
+ return "3.0.0-p2";
|
||||
}
|
||||
diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
|
||||
--- mpfr-3.0.0-a/PATCHES 2010-07-10 00:11:19.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/PATCHES 2010-07-10 00:12:50.000000000 +0000
|
||||
@@ -0,0 +1 @@
|
||||
+gamma_underflow
|
||||
diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
|
||||
--- mpfr-3.0.0-a/VERSION 2010-06-25 13:23:13.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/VERSION 2010-07-10 00:11:53.000000000 +0000
|
||||
@@ -1 +1 @@
|
||||
-3.0.0-p2
|
||||
+3.0.0-p3
|
||||
diff -Naurd mpfr-3.0.0-a/gamma.c mpfr-3.0.0-b/gamma.c
|
||||
--- mpfr-3.0.0-a/gamma.c 2010-06-10 11:00:14.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/gamma.c 2010-07-10 00:11:46.000000000 +0000
|
||||
@@ -274,7 +274,7 @@
|
||||
/* we want an upper bound for x * [log(2-x)-1].
|
||||
since x < 0, we need a lower bound on log(2-x) */
|
||||
mpfr_ui_sub (xp, 2, x, MPFR_RNDD);
|
||||
- mpfr_log (xp, xp, MPFR_RNDD);
|
||||
+ mpfr_log2 (xp, xp, MPFR_RNDD);
|
||||
mpfr_sub_ui (xp, xp, 1, MPFR_RNDD);
|
||||
mpfr_mul (xp, xp, x, MPFR_RNDU);
|
||||
|
||||
@@ -303,8 +303,8 @@
|
||||
{
|
||||
mpfr_sub (tmp, tmp, tmp2, MPFR_RNDZ); /* low bnd on |sin(Pi*(2-x))| */
|
||||
mpfr_ui_div (tmp, 12, tmp, MPFR_RNDU); /* upper bound */
|
||||
- mpfr_log (tmp, tmp, MPFR_RNDU);
|
||||
- mpfr_add (tmp, tmp, xp, MPFR_RNDU);
|
||||
+ mpfr_log2 (tmp, tmp, MPFR_RNDU);
|
||||
+ mpfr_add (xp, tmp, xp, MPFR_RNDU);
|
||||
underflow = mpfr_cmp_si (xp, expo.saved_emin - 2) <= 0;
|
||||
}
|
||||
|
||||
diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
|
||||
--- mpfr-3.0.0-a/mpfr.h 2010-06-25 13:23:13.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/mpfr.h 2010-07-10 00:11:53.000000000 +0000
|
||||
@@ -27,7 +27,7 @@
|
||||
#define MPFR_VERSION_MAJOR 3
|
||||
#define MPFR_VERSION_MINOR 0
|
||||
#define MPFR_VERSION_PATCHLEVEL 0
|
||||
-#define MPFR_VERSION_STRING "3.0.0-p2"
|
||||
+#define MPFR_VERSION_STRING "3.0.0-p3"
|
||||
|
||||
/* Macros dealing with MPFR VERSION */
|
||||
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
|
||||
diff -Naurd mpfr-3.0.0-a/tests/tgamma.c mpfr-3.0.0-b/tests/tgamma.c
|
||||
--- mpfr-3.0.0-a/tests/tgamma.c 2010-06-10 11:00:13.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/tests/tgamma.c 2010-07-10 00:11:46.000000000 +0000
|
||||
@@ -461,6 +461,20 @@
|
||||
mpfr_clear (x);
|
||||
}
|
||||
|
||||
+/* bug found by Stathis, only occurs on 32-bit machines */
|
||||
+static void
|
||||
+test20100709 (void)
|
||||
+{
|
||||
+ mpfr_t x;
|
||||
+ int inex;
|
||||
+
|
||||
+ mpfr_init2 (x, 100);
|
||||
+ mpfr_set_str (x, "-4.6308260837372266e+07", 10, MPFR_RNDN);
|
||||
+ inex = mpfr_gamma (x, x, MPFR_RNDN);
|
||||
+ MPFR_ASSERTN(MPFR_IS_ZERO(x) && MPFR_IS_NEG(x) && inex > 0);
|
||||
+ mpfr_clear (x);
|
||||
+}
|
||||
+
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
@@ -471,6 +485,7 @@
|
||||
test_generic (2, 100, 2);
|
||||
gamma_integer ();
|
||||
test20071231 ();
|
||||
+ test20100709 ();
|
||||
|
||||
data_check ("data/gamma", mpfr_gamma, "mpfr_gamma");
|
||||
|
||||
diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
|
||||
--- mpfr-3.0.0-a/version.c 2010-06-25 13:23:13.000000000 +0000
|
||||
+++ mpfr-3.0.0-b/version.c 2010-07-10 00:11:53.000000000 +0000
|
||||
@@ -25,5 +25,5 @@
|
||||
const char *
|
||||
mpfr_get_version (void)
|
||||
{
|
||||
- return "3.0.0-p2";
|
||||
+ return "3.0.0-p3";
|
||||
}
|
27
pmtools/PKGBUILD
Executable file
27
pmtools/PKGBUILD
Executable file
@ -0,0 +1,27 @@
|
||||
#
|
||||
# Chakra Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
pkgname=pmtools
|
||||
pkgver=20100825
|
||||
pkgrel=1
|
||||
pkgdesc="A small collection of ACPI power management test and investigation tools"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://acpi.sourceforge.net/dsdt/index.php"
|
||||
license=('GPL2')
|
||||
source=(http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils/$pkgname-$pkgver.tar.bz2)
|
||||
md5sums=('b1095988a56b70a5e66dd5fd8a670fed')
|
||||
|
||||
build() {
|
||||
cd $startdir/src/$pkgname
|
||||
make || return 1
|
||||
(cd madt && make) || return 1
|
||||
|
||||
install -D -m755 acpidump/acpidump $startdir/pkg/usr/sbin/acpidump && \
|
||||
install -D -m755 acpixtract/acpixtract $startdir/pkg/usr/sbin/acpixtract && \
|
||||
install -D -m755 madt/madt $startdir/pkg/usr/sbin/madt && \
|
||||
install -D -m755 pmtest/pmtest $startdir/pkg/usr/sbin/pmtest && \
|
||||
install -D -m755 turbostat/turbostat $startdir/pkg/usr/sbin/turbostat
|
||||
}
|
@ -1,10 +1,12 @@
|
||||
# $Id: PKGBUILD 75257 2010-04-01 05:30:58Z allan $
|
||||
# Maintainer: Allan McRae <allan@archlinux.org>
|
||||
# Contributer: Jason Chu <jason@archlinux.org>
|
||||
#
|
||||
# KDE SC Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
pkgname=python
|
||||
pkgver=2.6.5
|
||||
pkgrel=3
|
||||
pkgver=2.6.6
|
||||
pkgrel=1
|
||||
_pybasever=2.6
|
||||
pkgdesc="A high-level scripting language"
|
||||
arch=('i686' 'x86_64')
|
||||
@ -16,7 +18,7 @@ replaces=('python-elementtree' 'python-ctypes')
|
||||
source=(http://www.python.org/ftp/python/${pkgver}/Python-${pkgver}.tar.bz2
|
||||
python-2.6-internal-expat.patch
|
||||
python-2.6-db-4.8.patch)
|
||||
md5sums=('6bef0417e71a1a1737ccf5750420fdb3'
|
||||
md5sums=('cf4e6881bb84a7ce6089e4a307f71f14'
|
||||
'993800dbcc0c4f199c1ceee998a06e71'
|
||||
'10eb5449ead95b9cb13eae9f9a65894e')
|
||||
|
||||
|
24
rt2860-firmware/PKGBUILD
Normal file
24
rt2860-firmware/PKGBUILD
Normal file
@ -0,0 +1,24 @@
|
||||
#
|
||||
# Core Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
# include global config
|
||||
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
|
||||
|
||||
pkgname=rt2860-firmware
|
||||
pkgver=26
|
||||
pkgrel=1
|
||||
pkgdesc="Firmware RT28XX/RT30XX PCI/mPCI/PCIe/CardBus series (RT2760/RT2790/RT2860/RT2890/RT3060/RT3062/RT3562/RT2860/RT2760/RT2890/RT2790/RT3090)"
|
||||
arch=('any')
|
||||
url="http://www.ralinktech.com/support.php?s=2"
|
||||
license="proprietary"
|
||||
depends=()
|
||||
install=install.rt2860-firmware
|
||||
source=('http://www.ralinktech.com/download.php?t=U0wyRnpjMlYwY3k4eU1ERXdMekF6THpNeEwyUnZkMjVzYjJGa01UWTBNamsyTVRBNE1pNTZhWEE5UFQxU1ZESTROakJmUm1seWJYZGhjbVZmVmpJMkM%3D')
|
||||
build() {
|
||||
cd $startdir/src/RT2860_Firmware_V26
|
||||
install -D -m644 rt2860.bin $pkgdir/lib/firmware/rt2860.bin
|
||||
}
|
||||
md5sums=('a1002edcc970d170fe6576da2997b265')
|
47
rt2860-firmware/install.rt2860-firmware
Normal file
47
rt2860-firmware/install.rt2860-firmware
Normal file
@ -0,0 +1,47 @@
|
||||
# arg 1: the new package version
|
||||
post_install() {
|
||||
|
||||
echo "Copyright (c) 2007, Ralink Technology Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of Ralink Technology Corporation nor the names of its
|
||||
suppliers may be used to endorse or promote products derived from this
|
||||
software without specific prior written permission.
|
||||
* No reverse engineering, decompilation, or disassembly of this software
|
||||
is permitted.
|
||||
|
||||
Limited patent license. Ralink Technology Corporation grants a world-wide,
|
||||
royalty-free, non-exclusive license under patents it now or hereafter
|
||||
owns or controls to make, have made, use, import, offer to sell and
|
||||
sell ("Utilize") this software, but solely to the extent that any
|
||||
such patent is necessary to Utilize the software alone, or in
|
||||
combination with an operating system licensed under an approved Open
|
||||
Source license as listed by the Open Source Initiative at
|
||||
http://opensource.org/licenses. The patent license shall not apply to
|
||||
any other combinations which include this software. No hardware per
|
||||
se is licensed hereunder.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE."
|
||||
}
|
||||
|
||||
op=$1
|
||||
shift
|
||||
$op $*
|
14
udev/80-drivers.rules
Normal file
14
udev/80-drivers.rules
Normal file
@ -0,0 +1,14 @@
|
||||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
ACTION=="remove", GOTO="drivers_end"
|
||||
|
||||
DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/lib/udev/load-modules.sh $env{MODALIAS}"
|
||||
SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/lib/udev/load-modules.sh tifm_sd"
|
||||
SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/lib/udev/load-modules.sh tifm_ms"
|
||||
SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh ms_block"
|
||||
SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh mspro_block"
|
||||
SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
|
||||
SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
|
||||
SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/lib/udev/load-modules.sh ppdev"
|
||||
|
||||
LABEL="drivers_end"
|
@ -1,143 +0,0 @@
|
||||
# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
|
||||
# do not edit this file, it will be overwritten on update
|
||||
#
|
||||
# There are a number of modifiers that are allowed to be used in some
|
||||
# of the different fields. They provide the following subsitutions:
|
||||
#
|
||||
# %n the "kernel number" of the device.
|
||||
# For example, 'sda3' has a "kernel number" of '3'
|
||||
# %k the kernel name for the device.
|
||||
# %M the kernel major number for the device
|
||||
# %m the kernel minor number for the device
|
||||
# %b the bus id for the device
|
||||
# %c the string returned by the PROGRAM
|
||||
# %s{filename} the content of a sysfs attribute.
|
||||
# %% the '%' char itself.
|
||||
#
|
||||
# There are a number of modifiers that are allowed to be used in some of the
|
||||
# fields. See the udev man page for a full description of them.
|
||||
# global stuff
|
||||
#
|
||||
|
||||
#####################################
|
||||
###### Hotplug rules - begin
|
||||
# Only additional modules,
|
||||
# which are not detectable,
|
||||
# are loaded here!
|
||||
#####################################
|
||||
# check if the device has already been claimed by a driver
|
||||
ACTION!="add", GOTO="drivers_end"
|
||||
|
||||
# SOUND addon modules
|
||||
SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-pcm-oss"
|
||||
SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-seq-oss"
|
||||
|
||||
#PNP addon modules
|
||||
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0800", RUN+="/lib/udev/load-modules.sh pcspkr"
|
||||
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP051[01]*", RUN+="/lib/udev/load-modules.sh irtty-sir"
|
||||
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNPb02f", RUN+="/lib/udev/load-modules.sh analog"
|
||||
|
||||
# PARPORT addon modules
|
||||
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh lp"
|
||||
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh ppdev"
|
||||
|
||||
# fix ide cdrom detection on old proliant servers
|
||||
SUBSYSTEM=="pci", ENV{MODALIAS}=="pci:v00000E11d00000001sv00000000sd00000000bc06sc02i00", RUN+="/lib/udev/load-modules.sh ide-generic"
|
||||
|
||||
LABEL="drivers_end"
|
||||
#####################################
|
||||
##### Hotplug rules - end
|
||||
#####################################
|
||||
|
||||
#####################################
|
||||
###### CD/DVD symlinks - begin
|
||||
#####################################
|
||||
ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="cdrom_id --export $tempnode"
|
||||
ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="cdrom_id --export $tempnode"
|
||||
ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="cdrom_id --export $tempnode"
|
||||
ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b"
|
||||
ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cd/cdrw-%b"
|
||||
ENV{ID_CDROM_DVD}=="?*", SYMLINK+="cd/dvd-%b"
|
||||
ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvdrw-%b"
|
||||
ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="cdsymlinks.sh"
|
||||
ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
|
||||
ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
|
||||
ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="hd[a-z]", RUN+="cdsymlinks.sh"
|
||||
ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sr[0-9]*", RUN+="cdsymlinks.sh"
|
||||
ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="cdsymlinks.sh"
|
||||
#####################################
|
||||
###### CD/DVD symlinks - end
|
||||
#####################################
|
||||
|
||||
#####################################
|
||||
# Additional Archlinux
|
||||
# Permissions and Symlinks - begin
|
||||
#####################################
|
||||
# fix /dev/root symlink
|
||||
SUBSYSTEM=="block", RUN+="root-link.sh"
|
||||
|
||||
# permission for sg devices
|
||||
KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660"
|
||||
|
||||
# permissions for IDE CD devices
|
||||
SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"
|
||||
|
||||
# permissions for SCSI CD devices
|
||||
SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", SYMLINK+="scd%n", GROUP="optical"
|
||||
SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", GROUP="optical"
|
||||
|
||||
# permissions for removable devices like cardreaders or sticks
|
||||
KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="0", GROUP="storage"
|
||||
|
||||
# permissions for firewire external drives
|
||||
KERNEL=="sd*", ATTRS{scsi_level}=="5", GROUP="storage"
|
||||
|
||||
# permissions for usb to scsi external adapters
|
||||
KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="7", GROUP="storage"
|
||||
|
||||
# permissions for ide storage like pcmcia card readers
|
||||
ACTION!="add", GOTO="pcmcia_end"
|
||||
SUBSYSTEM!="block", GOTO="pcmcia_end"
|
||||
KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode"
|
||||
KERNEL=="hd*", IMPORT{parent}=="ID_*"
|
||||
KERNEL=="hd*", ENV{ID_TYPE}=="generic", GROUP="storage"
|
||||
LABEL="pcmcia_end"
|
||||
|
||||
# permissions for SCSI scanners
|
||||
SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="6", GROUP="scanner"
|
||||
|
||||
# mem
|
||||
KERNEL=="ram0", SYMLINK+="ramdisk"
|
||||
KERNEL=="ram1", SYMLINK+="ram"
|
||||
|
||||
# video4linux
|
||||
|
||||
KERNEL=="vbi0", SYMLINK+="vbi"
|
||||
KERNEL=="radio0", SYMLINK+="radio"
|
||||
KERNEL=="radio[0-9]*", GROUP="video"
|
||||
KERNEL=="video0", SYMLINK+="video"
|
||||
KERNEL=="vtx0", SYMLINK+="vtx"
|
||||
|
||||
# video devices
|
||||
### xorg resets those permissions, adjust your xorg.conf!
|
||||
KERNEL=="3dfx*", GROUP="video"
|
||||
KERNEL=="fb[0-9]*", GROUP="video"
|
||||
|
||||
# misc
|
||||
KERNEL=="sgi_fetchop", MODE="0666"
|
||||
KERNEL=="sonypi", MODE="0666"
|
||||
|
||||
# USB devices
|
||||
KERNEL=="legousbtower*", MODE="0666"
|
||||
|
||||
# IEEE1394 (firewire) devices
|
||||
KERNEL=="raw1394", GROUP="video"
|
||||
|
||||
# kbd devices
|
||||
KERNEL=="kbd", MODE="0664"
|
||||
|
||||
# miscellaneous
|
||||
KERNEL=="rtc|rtc0", GROUP="audio", MODE="0664"
|
||||
#######################################
|
||||
# Permissions and Symlinks - end
|
||||
#######################################
|
@ -73,8 +73,6 @@ ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="cdsymlinks.sh"
|
||||
# Additional Chakra GNU/Linux
|
||||
# Permissions and Symlinks - begin
|
||||
#####################################
|
||||
# fix /dev/root symlink
|
||||
SUBSYSTEM=="block", RUN+="root-link.sh"
|
||||
|
||||
# permission for sg devices
|
||||
KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660"
|
||||
@ -130,9 +128,6 @@ KERNEL=="sonypi", MODE="0666"
|
||||
# USB devices
|
||||
KERNEL=="legousbtower*", MODE="0666"
|
||||
|
||||
# IEEE1394 (firewire) devices
|
||||
KERNEL=="raw1394", GROUP="video"
|
||||
|
||||
# kbd devices
|
||||
KERNEL=="kbd", MODE="0664"
|
||||
|
||||
|
@ -4,13 +4,10 @@
|
||||
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
# include global config
|
||||
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
|
||||
|
||||
pkgbase="udev"
|
||||
pkgname=('udev' 'udev-compat')
|
||||
pkgver=160
|
||||
pkgrel=1.2
|
||||
pkgver=164
|
||||
pkgrel=1
|
||||
arch=(i686 x86_64)
|
||||
url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
|
||||
license=('GPL')
|
||||
@ -19,21 +16,18 @@ groups=('base')
|
||||
options=(!makeflags !libtool)
|
||||
makedepends=('glibc' 'coreutils' 'util-linux' 'libusb' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection')
|
||||
source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgname-$pkgver.tar.bz2
|
||||
81-chakra.rules load-modules.sh cdsymlinks.sh root-link.sh
|
||||
chakra-udev-rules.patch
|
||||
logitech-rules.patch)
|
||||
md5sums=('65459a1f090082c0471bf4e5112208d7'
|
||||
'9634ae34dd0c0b134c33a967c832d5f0'
|
||||
80-drivers.rules
|
||||
81-chakra.rules
|
||||
load-modules.sh
|
||||
cdsymlinks.sh)
|
||||
md5sums=('cd285a85f969518a671834de2f4d6614'
|
||||
'4427855146513a4703ab5c7eb8a0156e'
|
||||
'a2bf84747f44915ec9c5e6e88b077845'
|
||||
'f91fddc67609b45b244a624977c4247b'
|
||||
'2e808ee78d237c478b57af2a68d43769'
|
||||
'2d6dc6842464f107bccc68cd505a6c31'
|
||||
'70198227b7bbe3852e1cd2299693af66'
|
||||
'817537bdcfc1a4fa79e853fd38df4528')
|
||||
'2e808ee78d237c478b57af2a68d43769')
|
||||
|
||||
build() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
# fix logitech rules
|
||||
patch -Np0 -i $srcdir/logitech-rules.patch
|
||||
./configure --prefix="" --mandir=/usr/share/man\
|
||||
--includedir=/usr/include\
|
||||
--libexecdir=/lib/udev\
|
||||
@ -58,21 +52,16 @@ package_udev() {
|
||||
mv $pkgdir/lib/pkgconfig $pkgdir/usr/lib
|
||||
# Fix ConsoleKit path
|
||||
mv $pkgdir/lib/ConsoleKit $pkgdir/usr/lib
|
||||
# Replace original 80-drivers.rules with custom one.
|
||||
install -D -m644 $srcdir/80-drivers.rules $pkgdir/lib/udev/rules.d/80-drivers.rules
|
||||
# Install our rule for permissions and symlinks
|
||||
install -D -m644 $srcdir/81-chakra.rules $pkgdir/lib/udev/rules.d/81-chakra.rules
|
||||
# install our module loading subsystem
|
||||
install -D -m755 $srcdir/load-modules.sh $pkgdir/lib/udev/load-modules.sh
|
||||
# install cdsymlinks.sh
|
||||
install -D -m755 $srcdir/cdsymlinks.sh $pkgdir/lib/udev/cdsymlinks.sh
|
||||
# install root-link.sh
|
||||
install -D -m755 $srcdir/root-link.sh $pkgdir/lib/udev/root-link.sh
|
||||
# disable error logging to prevent startup failures printed to vc on boot
|
||||
sed -i -e 's|udev_log="err"|udev_log="0"|g' $pkgdir/etc/udev/udev.conf
|
||||
# fix standard udev rules to fit to chakra
|
||||
cd $pkgdir/lib/udev/rules.d/
|
||||
patch -Np1 -i $srcdir/chakra-udev-rules.patch
|
||||
# remove .orig files
|
||||
rm -f $pkgdir/lib/udev/rules.d/*.orig
|
||||
# disable persistent cdromsymlinks and network by default
|
||||
# and move it to /etc/udev/rules.d
|
||||
mv $pkgdir/lib/udev/rules.d/75-persistent-net-generator.rules \
|
||||
@ -113,9 +102,11 @@ package_udev() {
|
||||
# /dev/ppp
|
||||
mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0
|
||||
|
||||
# Replace dialout group in rules with uucp group
|
||||
# Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
|
||||
for i in $pkgdir/lib/udev/rules.d/*.rules; do
|
||||
sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g' $i
|
||||
sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g;
|
||||
s#GROUP="tape"#GROUP="storage"#g;
|
||||
s#GROUP="cdrom"#GROUP="optical"#g' $i
|
||||
done
|
||||
|
||||
mv "${pkgdir}/lib/girepository-1.0" "${pkgdir}/usr/lib/"
|
||||
|
@ -1,50 +0,0 @@
|
||||
diff -Nur rules.d/50-udev-default.rules rules.d.arch/50-udev-default.rules
|
||||
--- rules.d/50-udev-default.rules 2009-03-07 22:22:48.200242883 +0100
|
||||
+++ rules.d.arch/50-udev-default.rules 2009-03-07 22:23:26.134434516 +0100
|
||||
@@ -59,15 +59,15 @@
|
||||
KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k"
|
||||
|
||||
# cdrom
|
||||
-SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="cdrom"
|
||||
-SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
|
||||
-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
|
||||
-KERNEL=="pktcdvd", GROUP="cdrom"
|
||||
+SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="optical", MODE="0660"
|
||||
+SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="optical", MODE="0660"
|
||||
+KERNEL=="pktcdvd[0-9]*", GROUP="optical", MODE="0660"
|
||||
+KERNEL=="pktcdvd", GROUP="optical", MODE="0660"
|
||||
|
||||
# tape
|
||||
-KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="tape"
|
||||
-KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="tape"
|
||||
-SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
|
||||
+KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="storage", MODE="0660"
|
||||
+KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="storage", MODE="0660"
|
||||
+SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="storage", MODE="0660"
|
||||
|
||||
# block-related
|
||||
KERNEL=="sch[0-9]*", GROUP="disk"
|
||||
diff -Nur rules.d/80-drivers.rules rules.d.arch/80-drivers.rules
|
||||
--- rules.d/80-drivers.rules 2010-06-03 11:55:08.978720002 +0200
|
||||
+++ rules.d.arch/80-drivers.rules 2010-06-03 11:58:41.207865142 +0200
|
||||
@@ -2,12 +2,13 @@
|
||||
|
||||
ACTION=="remove", GOTO="drivers_end"
|
||||
|
||||
-DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe -bv $env{MODALIAS}"
|
||||
-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/sbin/modprobe -bv tifm_sd"
|
||||
-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/sbin/modprobe -bv tifm_ms"
|
||||
-SUBSYSTEM=="memstick", RUN+="/sbin/modprobe -bv --all ms_block mspro_block"
|
||||
-SUBSYSTEM=="i2o", RUN+="/sbin/modprobe -bv i2o_block"
|
||||
-SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe -bv sg"
|
||||
-SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/sbin/modprobe -bv ppdev"
|
||||
+DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/lib/udev/load-modules.sh $env{MODALIAS}"
|
||||
+SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/lib/udev/load-modules.sh tifm_sd"
|
||||
+SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/lib/udev/load-modules.sh tifm_ms"
|
||||
+SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh ms_block"
|
||||
+SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh mspro_block"
|
||||
+SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
|
||||
+SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
|
||||
+SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/lib/udev/load-modules.sh ppdev"
|
||||
|
||||
LABEL="drivers_end"
|
@ -1,14 +0,0 @@
|
||||
--- - 2010-07-04 14:50:15.979139552 +0200
|
||||
+++ extras/hid2hci/70-hid2hci.rules 2010-07-03 21:03:40.685341704 +0200
|
||||
@@ -11,9 +11,9 @@
|
||||
RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1"
|
||||
|
||||
# Logitech devices (hidraw)
|
||||
-KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345bce]|c71[34bc]", \
|
||||
+KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345e]|c71[34]", \
|
||||
RUN+="hid2hci --method=logitech-hid --devpath=%p"
|
||||
-KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70a", \
|
||||
+KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[abc]|c71[bc]", \
|
||||
RUN+="hid2hci --method=logitech-hid --devpath=%p"
|
||||
|
||||
ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"
|
@ -1,7 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Creates root symlink in /dev
|
||||
# for Arch Linux by Roman Kyrylych <Roman.Kyrylych@gmail.com>
|
||||
|
||||
if ! [ -L /dev/root ]; then
|
||||
ln -s $(cat /proc/cmdline | sed "s: :\n:g" | grep root= | sed "s:root=::") /dev/root
|
||||
fi
|
@ -1,12 +1,36 @@
|
||||
# arg 1: the new package version
|
||||
# arg 2: the old package version
|
||||
|
||||
post_upgrade() {
|
||||
if [ "$(vercmp $2 100)" -lt 0 ]; then
|
||||
echo "ATTENTION UDEV:"
|
||||
echo "----------"
|
||||
echo "udev >=098 rules syntax has changed, please update your own rules."
|
||||
echo "udev >=099 Added persistent network and CD/DVD Symlink generator rules."
|
||||
echo "Please read the instructions carefully before reboot."
|
||||
echo "They are located in /etc/udev/readme-udev-chakra.txt"
|
||||
echo "----------"
|
||||
fi
|
||||
}
|
||||
|
||||
post_install() {
|
||||
# If a ramfs is mounted, we still need to make sure that /dev/{console,null,zero} exist
|
||||
# bind-mounts /dev to /mnt/dev, thus making the real /dev invisible
|
||||
# The Archlinux installer bind-mounts /dev to /mnt/dev, thus making the real /dev invisible
|
||||
ROOTDIR=""
|
||||
[ "$(stat -c %D /)" != "$(stat -c %D /dev)" ] && ROOTDIR=$(mktemp -d /tmp/udevinstall.XXXXXX)
|
||||
[ -n "${ROOTDIR}" ] && mount --bind / ${ROOTDIR}
|
||||
[ -c ${ROOTDIR}/dev/console ] || mknod -m600 ${ROOTDIR}/dev/console c 5 1
|
||||
[ -c ${ROOTDIR}/dev/null ] || mknod -m644 ${ROOTDIR}/dev/null c 1 3
|
||||
[ -c ${ROOTDIR}/dev/zero ] || mknod -m644 ${ROOTDIR}/dev/zero c 1 5
|
||||
if [ ! -c ${ROOTDIR}/dev/console ]; then
|
||||
rm -f ${ROOTDIR}/dev/console
|
||||
mknod -m600 ${ROOTDIR}/dev/console c 5 1
|
||||
fi
|
||||
if [ ! -c ${ROOTDIR}/dev/null ]; then
|
||||
rm -f ${ROOTDIR}/dev/null
|
||||
mknod -m644 ${ROOTDIR}/dev/null c 1 3
|
||||
fi
|
||||
if [ ! -c ${ROOTDIR}/dev/zero ]; then
|
||||
rm ${ROOTDIR}/dev/zero
|
||||
mknod -m644 ${ROOTDIR}/dev/zero c 1 5
|
||||
fi
|
||||
if [ -n "${ROOTDIR}" ]; then
|
||||
umount ${ROOTDIR}
|
||||
rmdir ${ROOTDIR}
|
||||
|
Loading…
Reference in New Issue
Block a user