diff options
56 files changed, 3544 insertions, 106 deletions
diff --git a/community-staging/gambas3/PKGBUILD b/community-staging/gambas3/PKGBUILD index 4b2f925d6..da6678baf 100644 --- a/community-staging/gambas3/PKGBUILD +++ b/community-staging/gambas3/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 56387 2011-10-07 09:14:05Z lcarlier $ +# $Id: PKGBUILD 56712 2011-10-10 22:06:02Z lcarlier $ # Maintainer: Laurent Carlier <lordheavym@gmail.com> pkgbase=gambas3 @@ -12,8 +12,8 @@ pkgname=('gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gamba 'gambas3-gb-pdf' 'gambas3-gb-qt4' 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-opengl' 'gambas3-gb-qt4-webkit' 'gambas3-gb-report' 'gambas3-gb-sdl' 'gambas3-gb-sdl-sound' 'gambas3-gb-settings' 'gambas3-gb-signal' 'gambas3-gb-v4l' 'gambas3-gb-vb' 'gambas3-gb-xml' 'gambas3-gb-xml-rpc' 'gambas3-gb-xml-xslt' 'gambas3-gb-web') -pkgver=2.99.4 -pkgrel=2 +pkgver=2.99.5 +pkgrel=1 pkgdesc="A free development environment based on a Basic interpreter." arch=('i686' 'x86_64') url="http://gambas.sourceforge.net/" @@ -27,7 +27,7 @@ makedepends=('intltool' 'mysql' 'postgresql' 'libffi' 'bzip2' 'glib2' 'v4l-utils options=('!emptydirs' '!makeflags') source=("http://downloads.sourceforge.net/gambas/${pkgbase}-${pkgver}.tar.bz2" 'gambas3-script.install' 'gambas3-runtime.install') -md5sums=('4f918a701a862c7755b35d6eba988dad' +md5sums=('dfa16f5208463e81ba8ca801948c353a' 'b284be39d147ec799f1116a6abc068b4' 'b5cc403990f31b8ea1c5cf37366d3d29') @@ -424,6 +424,8 @@ package_gambas3-gb-form() { make XDG_UTILS='' DESTDIR="${pkgdir}" install cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install ## cd ${srcdir}/${pkgbase}-${pkgver}/comp @@ -434,6 +436,8 @@ package_gambas3-gb-form() { make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall rm -r ${pkgdir}/usr/share/gambas3/control/{gb.db*,gb.form.*,gb.report} rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{d*,m*,s*}} rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{d*,m*,s*}} @@ -449,6 +453,8 @@ package_gambas3-gb-form-dialog() { make XDG_UTILS='' DESTDIR="${pkgdir}" install cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install ## cd ${srcdir}/${pkgbase}-${pkgver}/comp @@ -459,6 +465,8 @@ package_gambas3-gb-form-dialog() { make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall rm -r ${pkgdir}/usr/share/gambas3/control rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{c*,g*,m*,s*}} rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{i*,l*,m*,s*}} @@ -474,6 +482,8 @@ package_gambas3-gb-form-mdi() { make XDG_UTILS='' DESTDIR="${pkgdir}" install cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install ## cd ${srcdir}/${pkgbase}-${pkgver}/comp @@ -484,6 +494,8 @@ package_gambas3-gb-form-mdi() { make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall rm -r ${pkgdir}/usr/share/gambas3/control/{gb.db*,gb.form,gb.report} rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{c*,d*,g*,s*}} rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{i*,l*,d*,s*}} @@ -497,6 +509,8 @@ package_gambas3-gb-form-stock() { ## Workaround for splitting cd ${srcdir}/${pkgbase}-${pkgver}/main make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install ## cd ${srcdir}/${pkgbase}-${pkgver}/comp @@ -505,7 +519,7 @@ package_gambas3-gb-form-stock() { ## Workaround for splitting cd ${srcdir}/${pkgbase}-${pkgver}/main make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall - cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall rm -r ${pkgdir}/usr/lib/gambas3/gb.{eval*,[m-w]*} rm -r ${pkgdir}/usr/share/gambas3/info/gb.{eval*,[m-w]*} diff --git a/community-testing/apvlv/PKGBUILD b/community-testing/apvlv/PKGBUILD new file mode 100644 index 000000000..649f24984 --- /dev/null +++ b/community-testing/apvlv/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 56690 2011-10-10 13:35:46Z shusmann $ +# Maintainer: Brad Fanella <bradfanella@archlinux.us> +# Contributor: Stefan Husmann <stefan-husmann@t-online.de> +# Contributor: tocer.deng <tocer.deng@gmail.com> + +pkgname=apvlv +pkgver=0.1.2 +pkgrel=2 +pkgdesc="A PDF Viewer which behaves like Vim" +arch=('i686' 'x86_64') +url="http://naihe2010.github.com/apvlv/" +license=('GPL') +depends=('gtk2' 'cairo' 'poppler-glib' 'djvulibre') +source=(https://github.com/downloads/naihe2010/$pkgname/$pkgname-${pkgver}-Source.tar.gz apvlv-poppler015.patch poppler-gdk.patch) +md5sums=('381d83aa9c253fac5e0be165fca39222' + '308b17a563ed470ea47d408f324ab745' + '076d794ab865e9bd53a5dfd2db1eaa8b') + +makedepends=('cmake') + +build() { + cd $srcdir/$pkgname-$pkgver-Source + patch -Np1 -i $srcdir/apvlv-poppler015.patch + patch -Np1 -i $srcdir/poppler-gdk.patch + + mkdir -p build + cd build + + cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DAPVLV_WITH_UMD=no .. + make +} +package() { + cd $srcdir/$pkgname-$pkgver-Source/build + + make DESTDIR=$pkgdir install +} diff --git a/community-testing/apvlv/apvlv-poppler015.patch b/community-testing/apvlv/apvlv-poppler015.patch new file mode 100644 index 000000000..0a261b1db --- /dev/null +++ b/community-testing/apvlv/apvlv-poppler015.patch @@ -0,0 +1,12 @@ +diff -Naur apvlv-0.1.2-Source.orig//src/ApvlvFile.cpp apvlv-0.1.2-Source.new//src/ApvlvFile.cpp +--- apvlv-0.1.2-Source.orig//src/ApvlvFile.cpp 2011-07-29 17:19:13.000000000 +0200 ++++ apvlv-0.1.2-Source.new//src/ApvlvFile.cpp 2011-07-29 17:22:22.000000000 +0200 +@@ -304,7 +304,7 @@ + { + PopplerRectangle rect = { x1, y1, x2, y2 }; + PopplerPage *page = poppler_document_get_page (mDoc, pn); +- *out = poppler_page_get_text (page, POPPLER_SELECTION_WORD, &rect); ++ *out = poppler_page_get_selected_text (page, POPPLER_SELECTION_WORD, &rect); + if (*out != NULL) + { + return true; diff --git a/community-testing/apvlv/poppler-gdk.patch b/community-testing/apvlv/poppler-gdk.patch new file mode 100644 index 000000000..ab487cf1c --- /dev/null +++ b/community-testing/apvlv/poppler-gdk.patch @@ -0,0 +1,150 @@ +diff -ruN apvlv-0.1.2-Source/src/ApvlvFile.cpp apvlv-0.1.2-Source.new/src/ApvlvFile.cpp +--- apvlv-0.1.2-Source/src/ApvlvFile.cpp 2011-10-10 14:23:19.205606984 +0200 ++++ apvlv-0.1.2-Source.new/src/ApvlvFile.cpp 2011-10-10 14:21:50.870952455 +0200 +@@ -29,6 +29,10 @@ + #include "ApvlvUtil.hpp" + #include "ApvlvView.hpp" + ++#ifndef POPPLER_WITH_GDK ++#include "poppler-gdk.h" ++#endif ++ + #ifdef HAVE_LIBUMD + #define LIBUMD_ENABLE_GTK + #include <umd.h> +diff -ruN apvlv-0.1.2-Source/src/poppler-gdk.h apvlv-0.1.2-Source.new/src/poppler-gdk.h +--- apvlv-0.1.2-Source/src/poppler-gdk.h 1970-01-01 01:00:00.000000000 +0100 ++++ apvlv-0.1.2-Source.new/src/poppler-gdk.h 2011-10-10 14:22:06.077846565 +0200 +@@ -0,0 +1,132 @@ ++#include <goo/gtypes.h> ++ ++static void ++copy_cairo_surface_to_pixbuf (cairo_surface_t *surface, ++ GdkPixbuf *pixbuf) ++{ ++ int cairo_width, cairo_height, cairo_rowstride; ++ unsigned char *pixbuf_data, *dst, *cairo_data; ++ int pixbuf_rowstride, pixbuf_n_channels; ++ unsigned int *src; ++ int x, y; ++ ++ cairo_width = cairo_image_surface_get_width (surface); ++ cairo_height = cairo_image_surface_get_height (surface); ++ cairo_rowstride = cairo_image_surface_get_stride (surface); ++ cairo_data = cairo_image_surface_get_data (surface); ++ ++ pixbuf_data = gdk_pixbuf_get_pixels (pixbuf); ++ pixbuf_rowstride = gdk_pixbuf_get_rowstride (pixbuf); ++ pixbuf_n_channels = gdk_pixbuf_get_n_channels (pixbuf); ++ ++ if (cairo_width > gdk_pixbuf_get_width (pixbuf)) ++ cairo_width = gdk_pixbuf_get_width (pixbuf); ++ if (cairo_height > gdk_pixbuf_get_height (pixbuf)) ++ cairo_height = gdk_pixbuf_get_height (pixbuf); ++ for (y = 0; y < cairo_height; y++) ++ { ++ src = (unsigned int *) (cairo_data + y * cairo_rowstride); ++ dst = pixbuf_data + y * pixbuf_rowstride; ++ for (x = 0; x < cairo_width; x++) ++ { ++ dst[0] = (*src >> 16) & 0xff; ++ dst[1] = (*src >> 8) & 0xff; ++ dst[2] = (*src >> 0) & 0xff; ++ if (pixbuf_n_channels == 4) ++ dst[3] = (*src >> 24) & 0xff; ++ dst += pixbuf_n_channels; ++ src++; ++ } ++ } ++} ++ ++static void ++_poppler_page_render_to_pixbuf (PopplerPage *page, ++ int src_x, int src_y, ++ int src_width, int src_height, ++ double scale, ++ int rotation, ++ GBool printing, ++ GdkPixbuf *pixbuf) ++{ ++ cairo_t *cr; ++ cairo_surface_t *surface; ++ ++ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, ++ src_width, src_height); ++ cr = cairo_create (surface); ++ cairo_save (cr); ++ switch (rotation) { ++ case 90: ++ cairo_translate (cr, src_x + src_width, -src_y); ++ break; ++ case 180: ++ cairo_translate (cr, src_x + src_width, src_y + src_height); ++ break; ++ case 270: ++ cairo_translate (cr, -src_x, src_y + src_height); ++ break; ++ default: ++ cairo_translate (cr, -src_x, -src_y); ++ } ++ ++ if (scale != 1.0) ++ cairo_scale (cr, scale, scale); ++ ++ if (rotation != 0) ++ cairo_rotate (cr, rotation * G_PI / 180.0); ++ ++ if (printing) ++ poppler_page_render_for_printing (page, cr); ++ else ++ poppler_page_render (page, cr); ++ cairo_restore (cr); ++ ++ cairo_set_operator (cr, CAIRO_OPERATOR_DEST_OVER); ++ cairo_set_source_rgb (cr, 1., 1., 1.); ++ cairo_paint (cr); ++ ++ cairo_destroy (cr); ++ ++ copy_cairo_surface_to_pixbuf (surface, pixbuf); ++ cairo_surface_destroy (surface); ++} ++ ++/** ++ * poppler_page_render_to_pixbuf: ++ * @page: the page to render from ++ * @src_x: x coordinate of upper left corner ++ * @src_y: y coordinate of upper left corner ++ * @src_width: width of rectangle to render ++ * @src_height: height of rectangle to render ++ * @scale: scale specified as pixels per point ++ * @rotation: rotate the document by the specified degree ++ * @pixbuf: pixbuf to render into ++ * ++ * First scale the document to match the specified pixels per point, ++ * then render the rectangle given by the upper left corner at ++ * (src_x, src_y) and src_width and src_height. ++ * This function is for rendering a page that will be displayed. ++ * If you want to render a page that will be printed use ++ * poppler_page_render_to_pixbuf_for_printing() instead ++ * ++ * Deprecated: 0.16 ++ **/ ++void ++poppler_page_render_to_pixbuf (PopplerPage *page, ++ int src_x, int src_y, ++ int src_width, int src_height, ++ double scale, ++ int rotation, ++ GdkPixbuf *pixbuf) ++{ ++ g_return_if_fail (POPPLER_IS_PAGE (page)); ++ g_return_if_fail (scale > 0.0); ++ g_return_if_fail (pixbuf != NULL); ++ ++ _poppler_page_render_to_pixbuf (page, src_x, src_y, ++ src_width, src_height, ++ scale, rotation, ++ gFalse, ++ pixbuf); ++} diff --git a/community-testing/exim/ChangeLog b/community-testing/exim/ChangeLog new file mode 100644 index 000000000..80a101472 --- /dev/null +++ b/community-testing/exim/ChangeLog @@ -0,0 +1,29 @@ +2011-10-10 Angel Velasquez <angvp@archlinux.org> + * Updated to 4.77 + +2011-07-15 Angel Velasquez <angvp@archlinux.org> + * Rebuilt without tcp_wrappers + * Fixing logrotate issue FS#25094 + * ChangeLog file changed name from exim.changelog to ChangeLog + +2011-06-16 Angel Velasquez <angvp@archlinux.org> + * Rebuilt against db 5.2.28 + +2010-05-09 Angel Velasquez <angvp@archlinux.org> + * Updated to 4.76 + * Removed previous patch since is no longer needed + * Removed newaliases script FS#22744 + * Removed sudo dependency + +2010-05-07 Angel Velasquez <angvp@archlinux.org> + * Adding patch for security issue see: http://goo.gl/QBict + +2010-05-06 Angel Velasquez <angvp@archlinux.org> + * Setting sticky id to deliver mail. Closes FS#24109 + +2010-04-30 Angel Velasquez <angvp@archlinux.org> + * exim 4.75 + * Config updated with the aliases path. Closes FS#22743 + * Removed sed hackings and added a exim.Makefile . Closes FS#22744 + * Replaced creation of the user at build time. Closes FS#22745 + diff --git a/community-testing/exim/PKGBUILD b/community-testing/exim/PKGBUILD new file mode 100644 index 000000000..4cbbdbb53 --- /dev/null +++ b/community-testing/exim/PKGBUILD @@ -0,0 +1,71 @@ +# $Id: PKGBUILD 56674 2011-10-10 08:43:07Z angvp $ +# Maintainer: Angel Velasquez <angvp@archlinux.org> +# Maintainer: judd <jvinet@zeroflux.org> +pkgname=exim +pkgver=4.77 +pkgrel=1 +pkgdesc="A Message Transfer Agent" +arch=(i686 x86_64) +url="http://www.exim.org/" +license=('GPL') +backup=(etc/mail/aliases etc/mail/exim.conf \ + etc/logrotate.d/exim etc/conf.d/exim) +install=exim.install +changelog=ChangeLog +depends=('db' 'pcre' 'pam' 'openssl' 'libldap') +provides=('smtp-server') +conflicts=('smtp-server') +options=('!makeflags') +source=(ftp://mirrors.24-7-solutions.net/pub/exim/ftp/exim/exim4/exim-$pkgver.tar.bz2 + aliases + exim + exim.logrotate + exim.conf.d + exim.Makefile) +md5sums=('5d746275f2cc85845567f9d5eb84a57a' + '4874006f0585253ddab027d441009757' + '9aed772e87223213e8da9ca5e7376869' + 'e18a535218718c5eb394ed5c9296fe06' + 'b75fe4c6e960a59a25b5f51e8f61ba3a' + '5c2891dc3535c346982fa358fbba6d31') + +build() { + cd "$srcdir/$pkgname-$pkgver" + #sed -i 's|tail -1|tail -n -1|g' scripts/Configure-config.h + # Make some configuration changes + cp "$srcdir/$pkgname.Makefile" Local/Makefile + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + install -D -m644 ../exim.logrotate ${pkgdir}/etc/logrotate.d/exim + install -D -m644 ../exim.conf.d ${pkgdir}/etc/conf.d/exim + install -D -m644 doc/exim.8 ${pkgdir}/usr/share/man/man8/exim.8 + install -D -m755 ../exim ${pkgdir}/etc/rc.d/exim + mkdir -p ${pkgdir}/var/spool/exim/db ${pkgdir}/etc/mail \ + ${pkgdir}/var/log/exim ${pkgdir}/usr/{lib,sbin} + chmod 770 ${pkgdir}/var/spool/exim ${pkgdir}/var/spool/exim/db ${pkgdir}/var/log/exim + cd build-Linux-* + for i in exicyclog exim_checkaccess exim_dumpdb exim_lock\ + exim_tidydb exipick exiqsumm exigrep exim_dbmbuild exim\ + exim_fixdb eximstats exinext exiqgrep exiwhat; do + install -m 0755 "$i" "$pkgdir/usr/sbin" + done + + cd "$srcdir/exim-$pkgver/src" + sed -e "s|/etc/aliases|/etc/mail/aliases|g" \ + -e "s|SYSTEM_ALIASES_FILE|/etc/mail/aliases|g" configure.default \ + >"$pkgdir/etc/mail/exim.conf" + + cp "$srcdir/aliases" "$pkgdir/etc/mail" + cd "$pkgdir/usr/sbin" + for i in mailq rmail rsmtp runq sendmail; do + ln -s exim "$i" + done + # fhs compliancy + ln -s ../sbin/exim ../lib/sendmail + + mkdir -p "$pkgdir/etc/rc.d" + cp "$srcdir/exim" "$pkgdir/etc/rc.d" +} diff --git a/community-testing/exim/aliases b/community-testing/exim/aliases new file mode 100644 index 000000000..5a76ff7d5 --- /dev/null +++ b/community-testing/exim/aliases @@ -0,0 +1,35 @@ +# +# /etc/mail/aliases +# +# NOTE: Make sure you run 'newaliases' after modifying this file +# + +# Basic system aliases -- these MUST be present. +MAILER-DAEMON: postmaster +postmaster: root +hostmaster: root +webmaster: hostmaster +ftpmaster: hostmaster +admin: hostmaster +administrator: hostmaster + +# General redirections for pseudo accounts. +bin: root +daemon: root +games: root +ingres: root +nobody: root +system: root +toor: root +uucp: root + +# Well-known aliases. +manager: root +dumper: root +operator: root + +# trap decode to catch security attacks +decode: root + +# Person who should get root's mail +#root: diff --git a/community-testing/exim/exim b/community-testing/exim/exim new file mode 100755 index 000000000..8e9640b32 --- /dev/null +++ b/community-testing/exim/exim @@ -0,0 +1,42 @@ +#!/bin/bash + +# source application-specific settings +[ -f /etc/conf.d/exim ] && . /etc/conf.d/exim + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/exim` + +case "$1" in + start) + stat_busy "Starting Exim" + [ -z "$PID" ] && /usr/sbin/exim $EXIM_ARGS + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon exim + stat_done + fi + ;; + stop) + stat_busy "Stopping Exim" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm /var/run/exim.pid + rm_daemon exim + stat_done + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/exim/exim.Makefile b/community-testing/exim/exim.Makefile new file mode 100644 index 000000000..0a6397318 --- /dev/null +++ b/community-testing/exim/exim.Makefile @@ -0,0 +1,1227 @@ +# $Cambridge: exim/src/src/EDITME,v 1.27 2010/06/12 15:21:25 jetmore Exp $ + +################################################## +# The Exim mail transport agent # +################################################## + +# This is the template for Exim's main build-time configuration file. It +# contains settings that are independent of any operating system. These are +# things that are mostly sysadmin choices. The items below are divided into +# those you must specify, those you probably want to specify, those you might +# often want to specify, and those that you almost never need to mention. + +# Edit this file and save the result to a file called Local/Makefile within the +# Exim distribution directory before running the "make" command. + +# Things that depend on the operating system have default settings in +# OS/Makefile-Default, but these are overridden for some OS by files called +# called OS/Makefile-<osname>. You can further override these by creating files +# called Local/Makefile-<osname>, where "<osname>" stands for the name of your +# operating system - look at the names in the OS directory to see which names +# are recognized. + +# However, if you are building Exim for a single OS only, you don't need to +# worry about setting up Local/Makefile-<osname>. Any build-time configuration +# settings you require can in fact be placed in the one file called +# Local/Makefile. It is only if you are building for several OS from the same +# source files that you need to worry about splitting off your own OS-dependent +# settings into separate files. (There's more explanation about how this all +# works in the toplevel README file, under "Modifying the building process", as +# well as in the Exim specification.) + +# One OS-specific thing that may need to be changed is the command for running +# the C compiler; the overall default is gcc, but some OS Makefiles specify cc. +# You can override anything that is set by putting CC=whatever in your +# Local/Makefile. + +# NOTE: You should never need to edit any of the distributed Makefiles; all +# overriding can be done in your Local/Makefile(s). This will make it easier +# for you when the next release comes along. + +# The location of the X11 libraries is something else that is quite variable +# even between different versions of the same operating system (and indeed +# there are different versions of X11 as well, of course). The four settings +# concerned here are X11, XINCLUDE, XLFLAGS (linking flags) and X11_LD_LIB +# (dynamic run-time library). You need not worry about X11 unless you want to +# compile the Exim monitor utility. Exim itself does not use X11. + +# Another area of variability between systems is the type and location of the +# DBM library package. Exim has support for ndbm, gdbm, tdb, and Berkeley DB. +# By default the code assumes ndbm; this often works with gdbm or DB, provided +# they are correctly installed, via their compatibility interfaces. However, +# Exim can also be configured to use the native calls for Berkeley DB (obsolete +# versions 1.85, 2.x, 3.x, or the current 4.x version) and also for gdbm. + +# For some operating systems, a default DBM library (other than ndbm) is +# selected by a setting in the OS-specific Makefile. Most modern OS now have +# a DBM library installed as standard, and in many cases this will be selected +# for you by the OS-specific configuration. If Exim compiles without any +# problems, you probably do not have to worry about the DBM library. If you +# do want or need to change it, you should first read the discussion in the +# file doc/dbm.discuss.txt, which also contains instructions for testing Exim's +# interface to the DBM library. + +# In Local/Makefiles blank lines and lines starting with # are ignored. It is +# also permitted to use the # character to add a comment to a setting, for +# example +# +# EXIM_GID=42 # the "mail" group +# +# However, with some versions of "make" this works only if there is no white +# space between the end of the setting and the #, so perhaps it is best +# avoided. A consequence of this facility is that it is not possible to have +# the # character present in any setting, but I can't think of any cases where +# this would be wanted. +############################################################################### + + + +############################################################################### +# THESE ARE THINGS YOU MUST SPECIFY # +############################################################################### + +# Exim will not build unless you specify BIN_DIRECTORY, CONFIGURE_FILE, and +# EXIM_USER. You also need EXIM_GROUP if EXIM_USER specifies a uid by number. + +# If you don't specify SPOOL_DIRECTORY, Exim won't fail to build. However, it +# really is a very good idea to specify it here rather than at run time. This +# is particularly true if you let the logs go to their default location in the +# spool directory, because it means that the location of the logs is known +# before Exim has read the run time configuration file. + +#------------------------------------------------------------------------------ +# BIN_DIRECTORY defines where the exim binary will be installed by "make +# install". The path is also used internally by Exim when it needs to re-invoke +# itself, either to send an error message, or to recover root privilege. Exim's +# utility binaries and scripts are also installed in this directory. There is +# no "standard" place for the binary directory. Some people like to keep all +# the Exim files under one directory such as /usr/exim; others just let the +# Exim binaries go into an existing directory such as /usr/sbin or +# /usr/local/sbin. The installation script will try to create this directory, +# and any superior directories, if they do not exist. + +BIN_DIRECTORY=/usr/sbin + + +#------------------------------------------------------------------------------ +# CONFIGURE_FILE defines where Exim's run time configuration file is to be +# found. It is the complete pathname for the file, not just a directory. The +# location of all other run time files and directories can be changed in the +# run time configuration file. There is a lot of variety in the choice of +# location in different OS, and in the preferences of different sysadmins. Some +# common locations are in /etc or /etc/mail or /usr/local/etc or +# /usr/local/etc/mail. Another possibility is to keep all the Exim files under +# a single directory such as /usr/exim. Whatever you choose, the installation +# script will try to make the directory and any superior directories if they +# don't exist. It will also install a default runtime configuration if this +# file does not exist. + +CONFIGURE_FILE=/etc/mail/exim.conf + +# It is possible to specify a colon-separated list of files for CONFIGURE_FILE. +# In this case, Exim will use the first of them that exists when it is run. +# However, if a list is specified, the installation script no longer tries to +# make superior directories or to install a default runtime configuration. + + +#------------------------------------------------------------------------------ +# The Exim binary must normally be setuid root, so that it starts executing as +# root, but (depending on the options with which it is called) it does not +# always need to retain the root privilege. These settings define the user and +# group that is used for Exim processes when they no longer need to be root. In +# particular, this applies when receiving messages and when doing remote +# deliveries. (Local deliveries run as various non-root users, typically as the +# owner of a local mailbox.) Specifying these values as root is not supported. + +EXIM_USER=ref:exim + +# If you specify EXIM_USER as a name, this is looked up at build time, and the +# uid number is built into the binary. However, you can specify that this +# lookup is deferred until runtime. In this case, it is the name that is built +# into the binary. You can do this by a setting of the form: + +# EXIM_USER=ref:exim + +# In other words, put "ref:" in front of the user name. If you set EXIM_USER +# like this, any value specified for EXIM_GROUP is also passed "by reference". +# Although this costs a bit of resource at runtime, it is convenient to use +# this feature when building binaries that are to be run on multiple systems +# where the name may refer to different uids. It also allows you to build Exim +# on a system where there is no Exim user defined. + +# If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must +# also be a setting of EXIM_GROUP. If, on the other hand, you use a name +# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless +# you want to use a group other than the default group for the given user. + +# EXIM_GROUP= + +# Many sites define a user called "exim", with an appropriate default group, +# and use +# +# EXIM_USER=exim +# +# while leaving EXIM_GROUP unspecified (commented out). + + +#------------------------------------------------------------------------------ +# SPOOL_DIRECTORY defines the directory where all the data for messages in +# transit is kept. It is strongly recommended that you define it here, though +# it is possible to leave this till the run time configuration. + +# Exim creates the spool directory if it does not exist. The owner and group +# will be those defined by EXIM_USER and EXIM_GROUP, and this also applies to +# all the files and directories that are created in the spool directory. + +# Almost all installations choose this: + +SPOOL_DIRECTORY=/var/spool/exim + + + +############################################################################### +# THESE ARE THINGS YOU PROBABLY WANT TO SPECIFY # +############################################################################### + +# If you need extra header file search paths on all compiles, put the -I +# options in INCLUDE. If you want the extra searches only for certain +# parts of the build, see more specific xxx_INCLUDE variables below. + +# INCLUDE=-I/example/include + +# You need to specify some routers and transports if you want the Exim that you +# are building to be capable of delivering mail. You almost certainly need at +# least one type of lookup. You should consider whether you want to build +# the Exim monitor or not. + + +#------------------------------------------------------------------------------ +# These settings determine which individual router drivers are included in the +# Exim binary. There are no defaults in the code; those routers that are wanted +# must be defined here by setting the appropriate variables to the value "yes". +# Including a router in the binary does not cause it to be used automatically. +# It has also to be configured in the run time configuration file. By +# commenting out those you know you don't want to use, you can make the binary +# a bit smaller. If you are unsure, leave all of these included for now. + +ROUTER_ACCEPT=yes +ROUTER_DNSLOOKUP=yes +ROUTER_IPLITERAL=yes +ROUTER_MANUALROUTE=yes +ROUTER_QUERYPROGRAM=yes +ROUTER_REDIRECT=yes + +# This one is very special-purpose, so is not included by default. + +# ROUTER_IPLOOKUP=yes + + +#------------------------------------------------------------------------------ +# These settings determine which individual transport drivers are included in +# the Exim binary. There are no defaults; those transports that are wanted must +# be defined here by setting the appropriate variables to the value "yes". +# Including a transport in the binary does not cause it to be used +# automatically. It has also to be configured in the run time configuration +# file. By commenting out those you know you don't want to use, you can make +# the binary a bit smaller. If you are unsure, leave all of these included for +# now. + +TRANSPORT_APPENDFILE=yes +TRANSPORT_AUTOREPLY=yes +TRANSPORT_PIPE=yes +TRANSPORT_SMTP=yes + +# This one is special-purpose, and commonly not required, so it is not +# included by default. + +TRANSPORT_LMTP=yes + + +#------------------------------------------------------------------------------ +# The appendfile transport can write messages to local mailboxes in a number +# of formats. The code for three specialist formats, maildir, mailstore, and +# MBX, is included only when requested. If you do not know what this is about, +# leave these settings commented out. + +SUPPORT_MAILDIR=yes +# SUPPORT_MAILSTORE=yes +# SUPPORT_MBX=yes + + +#------------------------------------------------------------------------------ +# See below for dynamic lookup modules. +# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/ +# If not using package management but using this anyway, then think about how +# you perform upgrades and revert them. You should consider the benefit of +# embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can +# maintain two concurrent sets of modules. + +# To build a module dynamically, you'll need to define CFLAGS_DYNAMIC for +# your platform. Eg: +# CFLAGS_DYNAMIC=-shared -rdynamic +# CFLAGS_DYNAMIC=-shared -rdynamic -fPIC + +#------------------------------------------------------------------------------ +# These settings determine which file and database lookup methods are included +# in the binary. See the manual chapter entitled "File and database lookups" +# for discussion. DBM and lsearch (linear search) are included by default. If +# you are unsure about the others, leave them commented out for now. +# LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is +# for the specialist case of using the DNS as a general database facility (not +# common). +# If set to "2" instead of "yes" then the corresponding lookup will be +# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to +# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to +# EXTRALIBS so that dlopen() is available to Exim. You need to define +# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup +# modules. +# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and +# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS +# (where * is the name as given here in this list). That ensures that only +# the dynamic library and not the exim binary will be linked against the +# library. +# NOTE: LDAP cannot be built as a module! + +LOOKUP_DBM=yes +LOOKUP_LSEARCH=yes +LOOKUP_DNSDB=yes + +# LOOKUP_CDB=yes +LOOKUP_DSEARCH=yes +# LOOKUP_IBASE=yes +LOOKUP_LDAP=yes +# LOOKUP_MYSQL=yes +# LOOKUP_NIS=yes +# LOOKUP_NISPLUS=yes +# LOOKUP_ORACLE=yes +# LOOKUP_PASSWD=yes +# LOOKUP_PGSQL=yes +# LOOKUP_SQLITE=yes +# LOOKUP_WHOSON=yes + +# These two settings are obsolete; all three lookups are compiled when +# LOOKUP_LSEARCH is enabled. However, we retain these for backward +# compatibility. Setting one forces LOOKUP_LSEARCH if it is not set. + +# LOOKUP_WILDLSEARCH=yes +# LOOKUP_NWILDLSEARCH=yes + + +#------------------------------------------------------------------------------ +# If you have set LOOKUP_LDAP=yes, you should set LDAP_LIB_TYPE to indicate +# which LDAP library you have. Unfortunately, though most of their functions +# are the same, there are minor differences. Currently Exim knows about four +# LDAP libraries: the one from the University of Michigan (also known as +# OpenLDAP 1), OpenLDAP 2, the Netscape SDK library, and the library that comes +# with Solaris 7 onwards. Uncomment whichever of these you are using. + +# LDAP_LIB_TYPE=OPENLDAP1 +LDAP_LIB_TYPE=OPENLDAP2 +# LDAP_LIB_TYPE=NETSCAPE +# LDAP_LIB_TYPE=SOLARIS + +# If you don't set any of these, Exim assumes the original University of +# Michigan (OpenLDAP 1) library. + + +#------------------------------------------------------------------------------ +# The PCRE library is required for exim. There is no longer an embedded +# version of the PCRE library included with the source code, instead you +# must use a system library or build your own copy of PCRE. +# In either case you must specify the library link info here. If the +# PCRE header files are not in the standard search path you must also +# modify the INCLUDE path (above) +# The default setting of PCRE_LIBS should work on the vast majority of +# systems + +PCRE_LIBS=-lpcre + + +#------------------------------------------------------------------------------ +# Additional libraries and include directories may be required for some +# lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on +# the command for linking Exim itself, not on any auxiliary programs. You +# don't need to set LOOKUP_INCLUDE if the relevant directories are already +# specified in INCLUDE. The settings below are just examples; -lpq is for +# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite. + +# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include +# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3 + + +#------------------------------------------------------------------------------ +# Compiling the Exim monitor: If you want to compile the Exim monitor, a +# program that requires an X11 display, then EXIM_MONITOR should be set to the +# value "eximon.bin". Comment out this setting to disable compilation of the +# monitor. The locations of various X11 directories for libraries and include +# files are defaulted in the OS/Makefile-Default file, but can be overridden in +# local OS-specific make files. + + + + +#------------------------------------------------------------------------------ +# Compiling Exim with content scanning support: If you want to compile Exim +# with support for message body content scanning, set WITH_CONTENT_SCAN to +# the value "yes". This will give you malware and spam scanning in the DATA ACL, +# and the MIME ACL. Please read the documentation to learn more about these +# features. + +WITH_CONTENT_SCAN=yes + +# If you want to use the deprecated "demime" condition in the DATA ACL, +# uncomment the line below. Doing so will also explicitly turn on the +# WITH_CONTENT_SCAN option. If possible, use the MIME ACL instead of +# the "demime" condition. + +WITH_OLD_DEMIME=yes + +# If you're using ClamAV and are backporting fixes to an old version, instead +# of staying current (which is the more usual approach) then you may need to +# use an older API which uses a STREAM command, now deprecated, instead of +# zINSTREAM. If you need to set this, please let the Exim developers know, as +# if nobody reports a need for it, we'll remove this option and clean up the +# code. zINSTREAM was introduced with ClamAV 0.95. +# +# WITH_OLD_CLAMAV_STREAM=yes + +#------------------------------------------------------------------------------ +# By default Exim includes code to support DKIM (DomainKeys Identified +# Mail, RFC4871) signing and verification. Verification of signatures is +# turned on by default. See the spec for information on conditionally +# disabling it. To disable the inclusion of the entire feature, set +# DISABLE_DKIM to "yes" + +# DISABLE_DKIM=yes + + +#------------------------------------------------------------------------------ +# Compiling Exim with experimental features. These are documented in +# experimental-spec.txt. "Experimental" means that the way these features are +# implemented may still change. Backward compatibility is not guaranteed. + +# Uncomment the following lines to add SPF support. You need to have libspf2 +# installed on your system (www.libspf2.org). Depending on where it is installed +# you may have to edit the CFLAGS and LDFLAGS lines. + +# EXPERIMENTAL_SPF=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lspf2 + +# Uncomment the following lines to add SRS (Sender rewriting scheme) support. +# You need to have libsrs_alt installed on your system (srs.mirtol.com). +# Depending on where it is installed you may have to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_SRS=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lsrs_alt + +# Uncomment the following lines to add Brightmail AntiSpam support. You need +# to have the Brightmail client SDK installed. Please check the experimental +# documentation for implementation details. You need to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_BRIGHTMAIL=yes +# CFLAGS += -I/opt/brightmail/bsdk-6.0/include +# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib + + + +############################################################################### +# THESE ARE THINGS YOU MIGHT WANT TO SPECIFY # +############################################################################### + +# The items in this section are those that are commonly changed according to +# the sysadmin's preferences, but whose defaults are often acceptable. The +# first five are concerned with security issues, where differing levels of +# paranoia are appropriate in different environments. Sysadmins also vary in +# their views on appropriate levels of defence in these areas. If you do not +# understand these issues, go with the defaults, which are used by many sites. + + +#------------------------------------------------------------------------------ +# Although Exim is normally a setuid program, owned by root, it refuses to run +# local deliveries as root by default. There is a runtime option called +# "never_users" which lists the users that must never be used for local +# deliveries. There is also the setting below, which provides a list that +# cannot be overridden at runtime. This guards against problems caused by +# unauthorized changes to the runtime configuration. You are advised not to +# remove "root" from this option, but you can add other users if you want. The +# list is colon-separated. It must NOT contain any spaces. + +# FIXED_NEVER_USERS=root:bin:daemon +FIXED_NEVER_USERS=root + + +#------------------------------------------------------------------------------ +# By default, Exim insists that its configuration file be owned by root. You +# can specify one additional permitted owner here. + +# CONFIGURE_OWNER= + +# If the configuration file is group-writeable, Exim insists by default that it +# is owned by root. You can specify one additional permitted group owner here. + +# CONFIGURE_GROUP= + +# If you specify CONFIGURE_OWNER or CONFIGURE_GROUP as a name, this is looked +# up at build time, and the uid or gid number is built into the binary. +# However, you can specify that the lookup is deferred until runtime. In this +# case, it is the name that is built into the binary. You can do this by a +# setting of the form: + +# CONFIGURE_OWNER=ref:mail +# CONFIGURE_GROUP=ref:sysadmin + +# In other words, put "ref:" in front of the user or group name. Although this +# costs a bit of resource at runtime, it is convenient to use this feature when +# building binaries that are to be run on multiple systems where the names may +# refer to different uids or gids. It also allows you to build Exim on a system +# where the relevant user or group is not defined. + + +#------------------------------------------------------------------------------ +# The -C option allows Exim to be run with an alternate runtime configuration +# file. When this is used by root, root privilege is retained by the binary +# (for any other caller including the Exim user, it is dropped). You can +# restrict the location of alternate configurations by defining a prefix below. +# Any file used with -C must then start with this prefix (except that /dev/null +# is also permitted if the caller is root, because that is used in the install +# script). If the prefix specifies a directory that is owned by root, a +# compromise of the Exim account does not permit arbitrary alternate +# configurations to be used. The prefix can be more restrictive than just a +# directory (the second example). + +# ALT_CONFIG_PREFIX=/some/directory/ +# ALT_CONFIG_PREFIX=/some/directory/exim.conf- + + +#------------------------------------------------------------------------------ +# When a user other than root uses the -C option to override the configuration +# file (including the Exim user when re-executing Exim to regain root +# privileges for local message delivery), this will normally cause Exim to +# drop root privileges. The TRUSTED_CONFIG_LIST option, specifies a file which +# contains a list of trusted configuration filenames, one per line. If the -C +# option is used by the Exim user or by the user specified in the +# CONFIGURE_OWNER setting, to specify a configuration file which is listed in +# the TRUSTED_CONFIG_LIST file, then root privileges are not dropped by Exim. + +# TRUSTED_CONFIG_LIST=/usr/exim/trusted_configs + + +#------------------------------------------------------------------------------ +# Uncommenting this option disables the use of the -D command line option, +# which changes the values of macros in the runtime configuration file. +# This is another protection against somebody breaking into the Exim account. + +# DISABLE_D_OPTION=yes + + +#------------------------------------------------------------------------------ +# By contrast, you might be maintaining a system which relies upon the ability +# to override values with -D and assumes that these will be passed through to +# the delivery processes. As of Exim 4.73, this is no longer the case by +# default. Going forward, we strongly recommend that you use a shim Exim +# configuration file owned by root stored under TRUSTED_CONFIG_LIST. +# That shim can set macros before .include'ing your main configuration file. +# +# As a strictly transient measure to ease migration to 4.73, the +# WHITELIST_D_MACROS value definies a colon-separated list of macro-names +# which are permitted to be overridden from the command-line which will be +# honoured by the Exim user. So these are macros that can persist to delivery +# time. +# Examples might be -DTLS or -DSPOOL=/some/dir. The values on the +# command-line are filtered to only permit: [A-Za-z0-9_/.-]* +# +# This option is highly likely to be removed in a future release. It exists +# only to make 4.73 as easy as possible to migrate to. If you use it, we +# encourage you to schedule time to rework your configuration to not depend +# upon it. Most people should not need to use this. +# +# By default, no macros are whitelisted for -D usage. + +# WHITELIST_D_MACROS=TLS:SPOOL + +#------------------------------------------------------------------------------ +# Exim has support for the AUTH (authentication) extension of the SMTP +# protocol, as defined by RFC 2554. If you don't know what SMTP authentication +# is, you probably won't want to include this code, so you should leave these +# settings commented out. If you do want to make use of SMTP authentication, +# you must uncomment at least one of the following, so that appropriate code is +# included in the Exim binary. You will then need to set up the run time +# configuration to make use of the mechanism(s) selected. + +AUTH_CRAM_MD5=yes +# AUTH_CYRUS_SASL=yes +AUTH_DOVECOT=yes +AUTH_PLAINTEXT=yes +AUTH_SPA=yes + + +#------------------------------------------------------------------------------ +# If you specified AUTH_CYRUS_SASL above, you should ensure that you have the +# Cyrus SASL library installed before trying to build Exim, and you probably +# want to uncomment the following line: + +# AUTH_LIBS=-lsasl2 + + +#------------------------------------------------------------------------------ +# When Exim is decoding MIME "words" in header lines, most commonly for use +# in the $header_xxx expansion, it converts any foreign character sets to the +# one that is set in the headers_charset option. The default setting is +# defined by this setting: + +HEADERS_CHARSET="ISO-8859-1" + +# If you are going to make use of $header_xxx expansions in your configuration +# file, or if your users are going to use them in filter files, and the normal +# character set on your host is something other than ISO-8859-1, you might +# like to specify a different default here. This value can be overridden in +# the runtime configuration, and it can also be overridden in individual filter +# files. +# +# IMPORTANT NOTE: The iconv() function is needed for character code +# conversions. Please see the next item... + + +#------------------------------------------------------------------------------ +# Character code conversions are possible only if the iconv() function is +# installed on your operating system. There are two places in Exim where this +# is relevant: (a) The $header_xxx expansion (see the previous item), and (b) +# the Sieve filter support. For those OS where iconv() is known to be installed +# as standard, the file in OS/Makefile-xxxx contains +# +# HAVE_ICONV=yes +# +# If you are not using one of those systems, but have installed iconv(), you +# need to uncomment that line above. In some cases, you may find that iconv() +# and its header file are not in the default places. You might need to use +# something like this: +# +# HAVE_ICONV=yes +# CFLAGS=-O -I/usr/local/include +# EXTRALIBS_EXIM=-L/usr/local/lib -liconv +# +# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM +# as well. + + +#------------------------------------------------------------------------------ +# The passwords for user accounts are normally encrypted with the crypt() +# function. Comparisons with encrypted passwords can be done using Exim's +# "crypteq" expansion operator. (This is commonly used as part of the +# configuration of an authenticator for use with SMTP AUTH.) At least one +# operating system has an extended function called crypt16(), which uses up to +# 16 characters of a password (the normal crypt() uses only the first 8). Exim +# supports the use of crypt16() as well as crypt() but note the warning below. + +# You can always indicate a crypt16-encrypted password by preceding it with +# "{crypt16}". If you want the default handling (without any preceding +# indicator) to use crypt16(), uncomment the following line: + +# DEFAULT_CRYPT=crypt16 + +# If you do that, you can still access the basic crypt() function by preceding +# an encrypted password with "{crypt}". For more details, see the description +# of the "crypteq" condition in the manual chapter on string expansions. + +# Some operating systems do not include a crypt16() function, so Exim has one +# of its own, which it uses unless HAVE_CRYPT16 is defined. Normally, that will +# be set in an OS-specific Makefile for the OS that have such a function, so +# you should not need to bother with it. + +# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** +# It turns out that the above is not entirely accurate. As well as crypt16() +# there is a function called bigcrypt() that some operating systems have. This +# may or may not use the same algorithm, and both of them may be different to +# Exim's built-in crypt16() that is used unless HAVE_CRYPT16 is defined. +# +# However, since there is now a move away from the traditional crypt() +# functions towards using SHA1 and other algorithms, tidying up this area of +# Exim is seen as very low priority. In practice, if you need to, you can +# define DEFAULT_CRYPT to the name of any function that has the same interface +# as the traditional crypt() function. +# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** + + +#------------------------------------------------------------------------------ +# Exim can be built to support the SMTP STARTTLS command, which implements +# Transport Layer Security using SSL (Secure Sockets Layer). To do this, you +# must install the OpenSSL library package or the GnuTLS library. Exim contains +# no cryptographic code of its own. Uncomment the following lines if you want +# to build Exim with TLS support. If you don't know what this is all about, +# leave these settings commented out. + +# This setting is required for any TLS support (either OpenSSL or GnuTLS) +SUPPORT_TLS=yes + +# Uncomment this setting if you are using OpenSSL +TLS_LIBS=-lssl -lcrypto + +# Uncomment these settings if you are using GnuTLS +# USE_GNUTLS=yes +# TLS_LIBS=-lgnutls -ltasn1 -lgcrypt + +# If you are running Exim as a server, note that just building it with TLS +# support is not all you need to do. You also need to set up a suitable +# certificate, and tell Exim about it by means of the tls_certificate +# and tls_privatekey run time options. You also need to set tls_advertise_hosts +# to specify the hosts to which Exim advertises TLS support. On the other hand, +# if you are running Exim only as a client, building it with TLS support +# is all you need to do. + +# Additional libraries and include files are required for both OpenSSL and +# GnuTLS. The TLS_LIBS settings above assume that the libraries are installed +# with all your other libraries. If they are in a special directory, you may +# need something like + +# TLS_LIBS=-L/usr/local/openssl/lib -lssl -lcrypto +# or +# TLS_LIBS=-L/opt/gnu/lib -lgnutls -ltasn1 -lgcrypt + +# TLS_LIBS is included only on the command for linking Exim itself, not on any +# auxiliary programs. If the include files are not in a standard place, you can +# set TLS_INCLUDE to specify where they are, for example: + +# TLS_INCLUDE=-I/usr/local/openssl/include/ +# or +# TLS_INCLUDE=-I/opt/gnu/include + +# You don't need to set TLS_INCLUDE if the relevant directories are already +# specified in INCLUDE. + + +#------------------------------------------------------------------------------ +# The default distribution of Exim contains only the plain text form of the +# documentation. Other forms are available separately. If you want to install +# the documentation in "info" format, first fetch the Texinfo documentation +# sources from the ftp directory and unpack them, which should create files +# with the extension "texinfo" in the doc directory. You may find that the +# version number of the texinfo files is different to your Exim version number, +# because the main documentation isn't updated as often as the code. For +# example, if you have Exim version 4.43, the source tarball upacks into a +# directory called exim-4.43, but the texinfo tarball unpacks into exim-4.40. +# In this case, move the contents of exim-4.40/doc into exim-4.43/doc after you +# have unpacked them. Then set INFO_DIRECTORY to the location of your info +# directory. This varies from system to system, but is often /usr/share/info. +# Once you have done this, "make install" will build the info files and +# install them in the directory you have defined. + +# INFO_DIRECTORY=/usr/share/info + + +#------------------------------------------------------------------------------ +# Exim log directory and files: Exim creates several log files inside a +# single log directory. You can define the directory and the form of the +# log file name here. If you do not set anything, Exim creates a directory +# called "log" inside its spool directory (see SPOOL_DIRECTORY above) and uses +# the filenames "mainlog", "paniclog", and "rejectlog". If you want to change +# this, you can set LOG_FILE_PATH to a path name containing one occurrence of +# %s. This will be replaced by one of the strings "main", "panic", or "reject" +# to form the final file names. Some installations may want something like this: + +LOG_FILE_PATH=/var/log/exim/%slog + +# which results in files with names /var/log/exim_mainlog, etc. The directory +# in which the log files are placed must exist; Exim does not try to create +# it for itself. It is also your responsibility to ensure that Exim is capable +# of writing files using this path name. The Exim user (see EXIM_USER above) +# must be able to create and update files in the directory you have specified. + +# You can also configure Exim to use syslog, instead of or as well as log +# files, by settings such as these + +# LOG_FILE_PATH=syslog +# LOG_FILE_PATH=syslog:/var/log/exim_%slog + +# The first of these uses only syslog; the second uses syslog and also writes +# to log files. Do not include white space in such a setting as it messes up +# the building process. + + +#------------------------------------------------------------------------------ +# When logging to syslog, the following option caters for syslog replacements +# that are able to accept log entries longer than the 1024 characters allowed +# by RFC 3164. It is up to you to make sure your syslog daemon can handle this. +# Non-printable characters are usually unacceptable regardless, so log entries +# are still split on newline characters. + +# SYSLOG_LONG_LINES=yes + +# If you are not interested in the process identifier (pid) of the Exim that is +# making the call to syslog, then comment out the following line. + +SYSLOG_LOG_PID=yes + + +#------------------------------------------------------------------------------ +# Cycling log files: this variable specifies the maximum number of old +# log files that are kept by the exicyclog log-cycling script. You don't have +# to use exicyclog. If your operating system has other ways of cycling log +# files, you can use them instead. The exicyclog script isn't run by default; +# you have to set up a cron job for it if you want it. + +EXICYCLOG_MAX=10 + + +#------------------------------------------------------------------------------ +# The compress command is used by the exicyclog script to compress old log +# files. Both the name of the command and the suffix that it adds to files +# need to be defined here. See also the EXICYCLOG_MAX configuration. + +COMPRESS_COMMAND=/bin/gzip +COMPRESS_SUFFIX=gz + + +#------------------------------------------------------------------------------ +# If the exigrep utility is fed compressed log files, it tries to uncompress +# them using this command. + +ZCAT_COMMAND=/bin/zcat + + +#------------------------------------------------------------------------------ +# Compiling in support for embedded Perl: If you want to be able to +# use Perl code in Exim's string manipulation language and you have Perl +# (version 5.004 or later) installed, set EXIM_PERL to perl.o. Using embedded +# Perl costs quite a lot of resources. Only do this if you really need it. + +# EXIM_PERL=perl.o + + +#------------------------------------------------------------------------------ +# Support for dynamically-loaded string expansion functions via ${dlfunc. If +# you are using gcc the dynamically-loaded object must be compiled with the +# -shared option, and you will need to add -export-dynamic to EXTRALIBS so +# that the local_scan API is made available by the linker. You may also need +# to add -ldl to EXTRALIBS so that dlopen() is available to Exim. + +# EXPAND_DLFUNC=yes + + +#------------------------------------------------------------------------------ +# Exim has support for PAM (Pluggable Authentication Modules), a facility +# which is available in the latest releases of Solaris and in some GNU/Linux +# distributions (see http://ftp.kernel.org/pub/linux/libs/pam/). The Exim +# support, which is intended for use in conjunction with the SMTP AUTH +# facilities, is included only when requested by the following setting: + +SUPPORT_PAM=yes + +# You probably need to add -lpam to EXTRALIBS, and in some releases of +# GNU/Linux -ldl is also needed. + + +#------------------------------------------------------------------------------ +# Support for authentication via Radius is also available. The Exim support, +# which is intended for use in conjunction with the SMTP AUTH facilities, +# is included only when requested by setting the following parameter to the +# location of your Radius configuration file: + +# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf +# RADIUS_CONFIG_FILE=/etc/radius.conf + +# If you have set RADIUS_CONFIG_FILE, you should also set one of these to +# indicate which RADIUS library is used: + +# RADIUS_LIB_TYPE=RADIUSCLIENT +# RADIUS_LIB_TYPE=RADIUSCLIENTNEW +# RADIUS_LIB_TYPE=RADLIB + +# RADIUSCLIENT is the radiusclient library; you probably need to add +# -lradiusclient to EXTRALIBS. +# +# The API for the radiusclient library was changed at release 0.4.0. +# Unfortunately, the header file does not define a version number that clients +# can use to support both the old and new APIs. If you are using version 0.4.0 +# or later of the radiusclient library, you should use RADIUSCLIENTNEW. +# +# RADLIB is the Radius library that comes with FreeBSD (the header file is +# called radlib.h); you probably need to add -lradius to EXTRALIBS. +# +# If you do not set RADIUS_LIB_TYPE, Exim assumes the radiusclient library, +# using the original API. + + +#------------------------------------------------------------------------------ +# Support for authentication via the Cyrus SASL pwcheck daemon is available. +# Note, however, that pwcheck is now deprecated in favour of saslauthd (see +# next item). The Exim support for pwcheck, which is intented for use in +# conjunction with the SMTP AUTH facilities, is included only when requested by +# setting the following parameter to the location of the pwcheck daemon's +# socket. +# +# There is no need to install all of SASL on your system. You just need to run +# ./configure --with-pwcheck, cd to the pwcheck directory within the sources, +# make and make install. You must create the socket directory (default +# /var/pwcheck) and chown it to exim's user and group. Once you have installed +# pwcheck, you should arrange for it to be started by root at boot time. + +# CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck + + +#------------------------------------------------------------------------------ +# Support for authentication via the Cyrus SASL saslauthd daemon is available. +# The Exim support, which is intented for use in conjunction with the SMTP AUTH +# facilities, is included only when requested by setting the following +# parameter to the location of the saslauthd daemon's socket. +# +# There is no need to install all of SASL on your system. You just need to run +# ./configure --with-saslauthd (and any other options you need, for example, to +# select or deselect authentication mechanisms), cd to the saslauthd directory +# within the sources, make and make install. You must create the socket +# directory (default /var/state/saslauthd) and chown it to exim's user and +# group. Once you have installed saslauthd, you should arrange for it to be +# started by root at boot time. + +# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux + + +#------------------------------------------------------------------------------ +# TCP wrappers: If you want to use tcpwrappers from within Exim, uncomment +# this setting. See the manual section entitled "Use of tcpwrappers" in the +# chapter on building and installing Exim. +# +# USE_TCP_WRAPPERS=yes +# +# You may well also have to specify a local "include" file and an additional +# library for TCP wrappers, so you probably need something like this: +# +# USE_TCP_WRAPPERS=yes +# CFLAGS=-O -I/usr/local/include +# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap +# +# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM +# as well. +# +# To use a name other than exim in the tcpwrappers config file, +# e.g. if you're running multiple daemons with different access lists, +# or multiple MTAs with the same access list, define +# TCP_WRAPPERS_DAEMON_NAME accordingly +# +# TCP_WRAPPERS_DAEMON_NAME="exim" + + +#------------------------------------------------------------------------------ +# The default action of the exim_install script (which is run by "make +# install") is to install the Exim binary with a unique name such as +# exim-4.43-1, and then set up a symbolic link called "exim" to reference it, +# moving the symbolic link from any previous version. If you define NO_SYMLINK +# (the value doesn't matter), the symbolic link is not created or moved. You +# will then have to "turn Exim on" by setting up the link manually. + +# NO_SYMLINK=yes + + +#------------------------------------------------------------------------------ +# Another default action of the install script is to install a default runtime +# configuration file if one does not exist. This configuration has a router for +# expanding system aliases. The default assumes that these aliases are kept +# in the traditional file called /etc/aliases. If such a file does not exist, +# the installation script creates one that contains just comments (no actual +# aliases). The following setting can be changed to specify a different +# location for the system alias file. + +SYSTEM_ALIASES_FILE=/etc/mail/aliases + + +#------------------------------------------------------------------------------ +# There are some testing options (-be, -bt, -bv) that read data from the +# standard input when no arguments are supplied. By default, the input lines +# are read using the standard fgets() function. This does not support line +# editing during interactive input (though the terminal's "erase" character +# works as normal). If your operating system has the readline() function, and +# in addition supports dynamic loading of library functions, you can cause +# Exim to use readline() for the -be testing option (only) by uncommenting the +# following setting. Dynamic loading is used so that the library is loaded only +# when the -be testing option is given; by the time the loading occurs, +# Exim has given up its root privilege and is running as the calling user. This +# is the reason why readline() is NOT supported for -bt and -bv, because Exim +# runs as root or as exim, respectively, for those options. When USE_READLINE +# is "yes", as well as supporting line editing, a history of input lines in the +# current run is maintained. + +# USE_READLINE=yes + +# You may need to add -ldl to EXTRALIBS when you set USE_READLINE=yes. +# Note that this option adds to the size of the Exim binary, because the +# dynamic loading library is not otherwise included. + + + +############################################################################### +# THINGS YOU ALMOST NEVER NEED TO MENTION # +############################################################################### + +# The settings in this section are available for use in special circumstances. +# In the vast majority of installations you need not change anything below. + + +#------------------------------------------------------------------------------ +# The following commands live in different places in some OS. Either the +# ultimate default settings, or the OS-specific files should already point to +# the right place, but they can be overridden here if necessary. These settings +# are used when building various scripts to ensure that the correct paths are +# used when the scripts are run. They are not used in the Makefile itself. Perl +# is not necessary for running Exim unless you set EXIM_PERL (see above) to get +# it embedded, but there are some utilities that are Perl scripts. If you +# haven't got Perl, Exim will still build and run; you just won't be able to +# use those utilities. + +# CHOWN_COMMAND=/usr/bin/chown +# CHGRP_COMMAND=/usr/bin/chgrp +# CHMOD_COMMAND=/usr/bin/chmod +# MV_COMMAND=/bin/mv +# RM_COMMAND=/bin/rm +# TOUCH_COMMAND=/usr/bin/touch +# PERL_COMMAND=/usr/bin/perl + + +#------------------------------------------------------------------------------ +# The following macro can be used to change the command for building a library +# of functions. By default the "ar" command is used, with options "cq". +# Only in rare circumstances should you need to change this. + +# AR=ar cq + + +#------------------------------------------------------------------------------ +# In some operating systems, the value of the TMPDIR environment variable +# controls where temporary files are created. Exim does not make use of +# temporary files, except when delivering to MBX mailboxes. However, if Exim +# calls any external libraries (e.g. DBM libraries), they may use temporary +# files, and thus be influenced by the value of TMPDIR. For this reason, when +# Exim starts, it checks the environment for TMPDIR, and if it finds it is set, +# it replaces the value with what is defined here. Commenting this setting +# suppresses the check altogether. + +TMPDIR="/tmp" + + +#------------------------------------------------------------------------------ +# The following macros can be used to change the default modes that are used +# by the appendfile transport. In most installations the defaults are just +# fine, and in any case, you can change particular instances of the transport +# at run time if you want. + +# APPENDFILE_MODE=0600 +# APPENDFILE_DIRECTORY_MODE=0700 +# APPENDFILE_LOCKFILE_MODE=0600 + + +#------------------------------------------------------------------------------ +# In some installations there may be multiple machines sharing file systems, +# where a different configuration file is required for Exim on the different +# machines. If CONFIGURE_FILE_USE_NODE is defined, then Exim will first look +# for a configuration file whose name is that defined by CONFIGURE_FILE, +# with the node name obtained by uname() tacked on the end, separated by a +# period (for example, /usr/exim/configure.host.in.some.domain). If this file +# does not exist, then the bare configuration file name is tried. + +# CONFIGURE_FILE_USE_NODE=yes + + +#------------------------------------------------------------------------------ +# In some esoteric configurations two different versions of Exim are run, +# with different setuid values, and different configuration files are required +# to handle the different cases. If CONFIGURE_FILE_USE_EUID is defined, then +# Exim will first look for a configuration file whose name is that defined +# by CONFIGURE_FILE, with the effective uid tacked on the end, separated by +# a period (for eximple, /usr/exim/configure.0). If this file does not exist, +# then the bare configuration file name is tried. In the case when both +# CONFIGURE_FILE_USE_EUID and CONFIGURE_FILE_USE_NODE are set, four files +# are tried: <name>.<euid>.<node>, <name>.<node>, <name>.<euid>, and <name>. + +# CONFIGURE_FILE_USE_EUID=yes + + +#------------------------------------------------------------------------------ +# The size of the delivery buffers: These specify the sizes (in bytes) of +# the buffers that are used when copying a message from the spool to a +# destination. There is rarely any need to change these values. + +# DELIVER_IN_BUFFER_SIZE=8192 +# DELIVER_OUT_BUFFER_SIZE=8192 + + +#------------------------------------------------------------------------------ +# The mode of the database directory: Exim creates a directory called "db" +# in its spool directory, to hold its databases of hints. This variable +# determines the mode of the created directory. The default value in the +# source is 0750. + +# EXIMDB_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# Database file mode: The mode of files created in the "db" directory defaults +# to 0640 in the source, and can be changed here. + +# EXIMDB_MODE=0640 + + +#------------------------------------------------------------------------------ +# Database lock file mode: The mode of zero-length files created in the "db" +# directory to use for locking purposes defaults to 0640 in the source, and +# can be changed here. + +# EXIMDB_LOCKFILE_MODE=0640 + + +#------------------------------------------------------------------------------ +# This parameter sets the maximum length of the header portion of a message +# that Exim is prepared to process. The default setting is one megabyte. The +# limit exists in order to catch rogue mailers that might connect to your SMTP +# port, start off a header line, and then just pump junk at it for ever. The +# message_size_limit option would also catch this, but it may not be set. +# The value set here is the default; it can be changed at runtime. + +# HEADER_MAXSIZE="(1024*1024)" + + +#------------------------------------------------------------------------------ +# The mode of the input directory: The input directory is where messages are +# kept while awaiting delivery. Exim creates it if necessary, using a mode +# which can be defined here (default 0750). + +# INPUT_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The mode of Exim's log directory, when it is created by Exim inside the spool +# directory, defaults to 0750 but can be changed here. + +# LOG_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The log files themselves are created as required, with a mode that defaults +# to 0640, but which can be changed here. + +# LOG_MODE=0640 + + +#------------------------------------------------------------------------------ +# The TESTDB lookup is for performing tests on the handling of lookup results, +# and is not useful for general running. It should be included only when +# debugging the code of Exim. + +# LOOKUP_TESTDB=yes + + +#------------------------------------------------------------------------------ +# /bin/sh is used by default as the shell in which to run commands that are +# defined in the makefiles. This can be changed if necessary, by uncommenting +# this line and specifying another shell, but note that a Bourne-compatible +# shell is expected. + +# MAKE_SHELL=/bin/sh + + +#------------------------------------------------------------------------------ +# The maximum number of named lists of each type (address, domain, host, and +# local part) can be increased by changing this value. It should be set to +# a multiple of 16. + +MAX_NAMED_LIST=16 + + +#------------------------------------------------------------------------------ +# Network interfaces: Unless you set the local_interfaces option in the runtime +# configuration file to restrict Exim to certain interfaces only, it will run +# code to find all the interfaces there are on your host. Unfortunately, +# the call to the OS that does this requires a buffer large enough to hold +# data for all the interfaces - it was designed in the days when a host rarely +# had more than three or four interfaces. Nowadays hosts can have very many +# virtual interfaces running on the same hardware. If you have more than 250 +# virtual interfaces, you will need to uncomment this setting and increase the +# value. + +# MAXINTERFACES=250 + + +#------------------------------------------------------------------------------ +# Per-message logs: While a message is in the process of being delivered, +# comments on its progress are written to a message log, for the benefit of +# human administrators. These logs are held in a directory called "msglog" +# in the spool directory. Its mode defaults to 0750, but can be changed here. +# The message log directory is also used for storing files that are used by +# transports for returning data to a message's sender (see the "return_output" +# option for transports). + +# MSGLOG_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# There are three options which are used when compiling the Perl interface and +# when linking with Perl. The default values for these are placed automatically +# at the head of the Makefile by the script which builds it. However, if you +# want to override them, you can do so here. + +# PERL_CC= +# PERL_CCOPTS= +# PERL_LIBS= + + +#------------------------------------------------------------------------------ +# Identifying the daemon: When an Exim daemon starts up, it writes its pid +# (process id) to a file so that it can easily be identified. The path of the +# file can be specified here. Some installations may want something like this: + +PID_FILE_PATH=/var/run/exim.pid + +# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory +# using the name "exim-daemon.pid". + +# If you start up a daemon without the -bd option (for example, with just +# the -q15m option), a pid file is not written. Also, if you override the +# configuration file with the -oX option, no pid file is written. In other +# words, the pid file is written only for a "standard" daemon. + + +#------------------------------------------------------------------------------ +# If Exim creates the spool directory, it is given this mode, defaulting in the +# source to 0750. + +# SPOOL_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The mode of files on the input spool which hold the contents of messages can +# be changed here. The default is 0640 so that information from the spool is +# available to anyone who is a member of the Exim group. + +# SPOOL_MODE=0640 + + +#------------------------------------------------------------------------------ +# Moving frozen messages: If the following is uncommented, Exim is compiled +# with support for automatically moving frozen messages out of the main spool +# directory, a facility that is found useful by some large installations. A +# run time option is required to cause the moving actually to occur. Such +# messages become "invisible" to the normal management tools. + +# SUPPORT_MOVE_FROZEN_MESSAGES=yes + + +#------------------------------------------------------------------------------ +# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you +# really, really, really know what you are doing. And even then, think again. +# You should never uncomment this when compiling a binary for distribution. +# Use it only when compiling Exim for your own use. +# +# Uncommenting this line enables the use of a runtime option called +# disable_fsync, which can be used to stop Exim using fsync() to ensure that +# files are written to disc before proceeding. When this is disabled, crashes +# and hardware problems such as power outages can cause data to be lost. This +# feature should only be used in very exceptional circumstances. YOU HAVE BEEN +# WARNED. + +# ENABLE_DISABLE_FSYNC=yes + +HAVE_IPV6=YES +LOOKUP_LIBS=-lldap +EXTRALIBS_EXIM=-lpam +# End of EDITME for Exim 4. diff --git a/community-testing/exim/exim.conf.d b/community-testing/exim/exim.conf.d new file mode 100644 index 000000000..b9bec4335 --- /dev/null +++ b/community-testing/exim/exim.conf.d @@ -0,0 +1 @@ +EXIM_ARGS="-bd -q15m" diff --git a/community-testing/exim/exim.install b/community-testing/exim/exim.install new file mode 100644 index 000000000..8ed329559 --- /dev/null +++ b/community-testing/exim/exim.install @@ -0,0 +1,25 @@ +# arg 1: the new package version +post_install() { + getent group exim >/dev/null 2>&1 || groupadd -g 79 exim + if getent passwd exim > /dev/null 2>&1; then + usr/sbin/usermod -d /var/spool/exim -c 'Exim MTA' -s /sbin/nologin exim > /dev/null 2>&1 + else + usr/sbin/useradd -c 'Exim MTA' -u 79 -g exim -d /var/spool/exim -s /sbin/nologin exim + fi + passwd -l exim > /dev/null + chown root.exim /var/spool/exim /var/log/exim + chown exim.exim /var/spool/exim/db + chmod u+s /usr/sbin/exim +} + +# 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() { + getent passwd exim >/dev/null 2>&1 && userdel exim +} + diff --git a/community-testing/exim/exim.logrotate b/community-testing/exim/exim.logrotate new file mode 100644 index 000000000..070ba4747 --- /dev/null +++ b/community-testing/exim/exim.logrotate @@ -0,0 +1,6 @@ +/var/log/exim/*log { + su exim exim + missingok + notifempty + delaycompress +} diff --git a/community-testing/virtualbox/10-vboxdrv.rules b/community-testing/virtualbox/10-vboxdrv.rules new file mode 100644 index 000000000..37403ae2f --- /dev/null +++ b/community-testing/virtualbox/10-vboxdrv.rules @@ -0,0 +1,5 @@ +KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" ENV{ACL_MANAGE}="1" +SUBSYSTEM=="usb_device", ACTION=="add", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers" +SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers" +SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" +SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" diff --git a/community-testing/virtualbox/18-system-xorg.patch b/community-testing/virtualbox/18-system-xorg.patch new file mode 100644 index 000000000..4a28b93b6 --- /dev/null +++ b/community-testing/virtualbox/18-system-xorg.patch @@ -0,0 +1,277 @@ +Description: Build the X.Org driver only for the selected system X Server version. +Author: Michael Meskes <meskes@debian.org>, Felix Geyer <debfx-pkg@fobos.de> + +diff --git a/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk b/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk +--- a/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk ++++ b/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk +@@ -40,8 +40,8 @@ LIBRARIES += \ + VBoxGuestR3LibShared + ifndef VBOX_ONLY_TESTSUITE + if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd) +- LIBRARIES += \ +- VBoxGuestR3LibXFree86 ++# LIBRARIES += \ ++# VBoxGuestR3LibXFree86 + endif + endif + LIBRARIES.win.amd64 += VBoxGuestR3Lib-x86 VBoxGuestR3LibShared-x86 +diff --git a/src/VBox/Additions/common/crOpenGL/Makefile.kmk b/src/VBox/Additions/common/crOpenGL/Makefile.kmk +--- a/src/VBox/Additions/common/crOpenGL/Makefile.kmk ++++ b/src/VBox/Additions/common/crOpenGL/Makefile.kmk +@@ -63,16 +63,12 @@ VBoxOGL_TEMPLATE = VBOXCROGLR3GUESTDLL + VBoxOGL_INCS = . + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGL_INCS += \ +- $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \ +- $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \ +- $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \ +- $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \ +- $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \ +- $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \ +- $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \ +- $(VBOX_PATH_X11_ROOT)/1.3/xorg \ ++ /usr/include/x11 \ ++ /usr/include/xorg \ ++ /usr/include/pixman-1 \ + $(VBOX_MESA_INCS) \ +- $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13 ++ /usr/include/drm \ ++ /usr/include/libdrm + VBoxOGL_DEFS += VBOX_NO_NATIVEGL + endif + +diff --git a/src/VBox/Additions/x11/Makefile.kmk b/src/VBox/Additions/x11/Makefile.kmk +--- a/src/VBox/Additions/x11/Makefile.kmk ++++ b/src/VBox/Additions/x11/Makefile.kmk +@@ -17,6 +17,10 @@ + SUB_DEPTH = ../../../.. + include $(KBUILD_PATH)/subheader.kmk + ++ifn1of ($(XSERVER_VERSION), 13 14 15 16 17 18 19 110) ++ XSERVER_VERSION := 17 ++endif ++ + # Include sub-makefiles. + if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) + include $(PATH_SUB_CURRENT)/VBoxClient/Makefile.kmk +diff --git a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk +--- a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk ++++ b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk +@@ -23,7 +23,6 @@ include $(KBUILD_PATH)/subheader.kmk + # vboxmouse_drv + # + if1of ($(KBUILD_TARGET), linux) +- SYSMODS += vboxmouse_drv + vboxmouse_drv_TEMPLATE = VBOXGUESTR3XF86MOD + vboxmouse_drv_DEFS.linux = linux + vboxmouse_drv_DEFS.x86 += __i386__ +@@ -59,7 +58,6 @@ endif + # + # vboxmouse_drv_70 + # +-DLLS += vboxmouse_drv_70 + vboxmouse_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_70_DEFS = \ + XFree86Server IN_MODULE XFree86Module XFree86LOADER XINPUT XORG_7X IN_XF86_MODULE +@@ -80,7 +78,6 @@ vboxmouse_drv_70_SOURCES = \ + # + # vboxmouse_drv_71 + # +-DLLS += vboxmouse_drv_71 + vboxmouse_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_71_DEFS := $(vboxmouse_drv_70_DEFS) + vboxmouse_drv_71_INCS := \ +@@ -97,7 +94,6 @@ vboxmouse_drv_71_SOURCES = \ + # + # vboxmouse_drv_13 + # +-DLLS += vboxmouse_drv_13 + vboxmouse_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_13_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_13_INCS := \ +@@ -112,7 +108,6 @@ vboxmouse_drv_13_SOURCES = \ + # + # vboxmouse_drv_14 + # +-DLLS += vboxmouse_drv_14 + vboxmouse_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_14_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_14_INCS := \ +@@ -126,7 +121,6 @@ endif + # + # vboxmouse_drv_15 + # +-DLLS += vboxmouse_drv_15 + vboxmouse_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_15_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_15_INCS := \ +@@ -141,7 +135,6 @@ vboxmouse_drv_15_SOURCES = \ + # + # vboxmouse_drv_16 + # +-DLLS += vboxmouse_drv_16 + vboxmouse_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_16_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_16_INCS := \ +@@ -157,7 +150,6 @@ vboxmouse_drv_16_SOURCES = \ + # + # vboxmouse_drv_17 + # +-DLLS += vboxmouse_drv_17 + vboxmouse_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_17_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local +@@ -177,7 +169,6 @@ vboxmouse_drv_17_SOURCES = \ + # + # vboxmouse_drv_18 + # +-DLLS += vboxmouse_drv_18 + vboxmouse_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_18_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local +@@ -197,7 +188,6 @@ vboxmouse_drv_18_SOURCES = \ + # + # vboxmouse_drv_19 + # +-DLLS += vboxmouse_drv_19 + vboxmouse_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_19_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local +@@ -217,7 +207,6 @@ vboxmouse_drv_19_SOURCES = \ + # + # vboxmouse_drv_110 + # +-DLLS += vboxmouse_drv_110 + vboxmouse_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_110_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local +@@ -234,6 +224,14 @@ vboxmouse_drv_110_SOURCES = \ + vboxmouse_15.c + + ++vboxmouse_drv_$(XSERVER_VERSION)_NAME := vboxmouse_drv ++vboxmouse_drv_$(XSERVER_VERSION)_INCS := \ ++ /usr/include/x11 \ ++ /usr/include/xorg \ ++ /usr/include/pixman-1 ++DLLS += vboxmouse_drv_$(XSERVER_VERSION) ++ ++ + # Check the undefined symbols in the X.Org modules against lists of allowed + # symbols. Not very elegant, but it will catch problems early. + ifdef VBOX_WITH_TESTCASES +diff --git a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk +--- a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk ++++ b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk +@@ -22,7 +22,6 @@ include $(KBUILD_PATH)/subheader.kmk + # vboxvideo_drv + # + if1of ($(KBUILD_TARGET), linux) +- SYSMODS += vboxvideo_drv + endif # target linux + vboxvideo_drv_TEMPLATE = VBOXGUESTR3XF86MOD + vboxvideo_drv_DEFS.linux = linux +@@ -89,7 +88,6 @@ endif # target linux + # base keywords instead of using .solaris or .linux. + # Also it is *important* to use := and not = when deriving a property. + # +-DLLS += vboxvideo_drv_70 + vboxvideo_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD + if1of ($(KBUILD_TARGET), linux) + vboxvideo_drv_70_CFLAGS += \ +@@ -112,7 +110,6 @@ vboxvideo_drv_70_SOURCES = $(vboxvideo_drv_SOURCES) + # + # vboxvideo_drv_71 + # +-DLLS += vboxvideo_drv_71 + vboxvideo_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_71_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_71_DEFS := $(vboxvideo_drv_70_DEFS) +@@ -127,7 +124,6 @@ vboxvideo_drv_71_SOURCES = $(vboxvideo_drv_SOURCES) + # + # vboxvideo_drv_13 + # +-DLLS += vboxvideo_drv_13 + vboxvideo_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_13_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_13_DEFS := $(vboxvideo_drv_70_DEFS) VBOXVIDEO_13 +@@ -146,7 +142,6 @@ vboxvideo_drv_13_SOURCES = \ + # + # vboxvideo_drv_14 + # +-DLLS += vboxvideo_drv_14 + vboxvideo_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_14_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_14_DEFS := $(vboxvideo_drv_13_DEFS) +@@ -165,7 +160,6 @@ vboxvideo_drv_14_SOURCES = $(vboxvideo_drv_13_SOURCES) + # + # vboxvideo_drv_15 + # +-DLLS += vboxvideo_drv_15 + vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_15_DEFS := $(vboxvideo_drv_13_DEFS) NO_ANSIC PCIACCESS \ +@@ -192,7 +186,6 @@ endif + # + # vboxvideo_drv_16 + # +-DLLS += vboxvideo_drv_16 + vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_16_DEFS := $(vboxvideo_drv_15_DEFS) +@@ -212,7 +205,6 @@ vboxvideo_drv_16_SOURCES := $(vboxvideo_drv_15_SOURCES) + # + # vboxvideo_drv_17 + # +-DLLS += vboxvideo_drv_17 + vboxvideo_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_17_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_17_DEFS := $(vboxvideo_drv_15_DEFS) +@@ -239,7 +231,6 @@ vboxvideo_drv_17_SOURCES := $(vboxvideo_drv_15_SOURCES) + # + # vboxvideo_drv_18 + # +-DLLS += vboxvideo_drv_18 + vboxvideo_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_18_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_18_DEFS := $(vboxvideo_drv_15_DEFS) +@@ -266,7 +257,6 @@ vboxvideo_drv_18_SOURCES := $(vboxvideo_drv_15_SOURCES) + # + # vboxvideo_drv_19 + # +-DLLS += vboxvideo_drv_19 + vboxvideo_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_19_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_19_DEFS := $(vboxvideo_drv_15_DEFS) +@@ -293,7 +282,6 @@ vboxvideo_drv_19_SOURCES := $(vboxvideo_drv_15_SOURCES) + # + # vboxvideo_drv_110 + # +-DLLS += vboxvideo_drv_110 + vboxvideo_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_110_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_110_DEFS := $(vboxvideo_drv_15_DEFS) +@@ -317,6 +306,23 @@ vboxvideo_drv_110_INCS = \ + vboxvideo_drv_110_SOURCES := $(vboxvideo_drv_15_SOURCES) + + ++vboxvideo_drv_$(XSERVER_VERSION)_NAME := vboxvideo_drv ++vboxvideo_drv_$(XSERVER_VERSION)_INCS := \ ++ /usr/include/xorg \ ++ /usr/include/x11 \ ++ /usr/include/pixman-1 \ ++ /usr/include/X11/dri \ ++ /usr/include/drm \ ++ /usr/include/libdrm ++vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(PATH_ROOT)/src/VBox/Runtime/include ++DLLS += vboxvideo_drv_$(XSERVER_VERSION) ++ ++# required for lenny backports ++ifeq ($(XSERVER_VERSION),14) ++ vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(VBOX_PATH_X11_XORG_1_4)/xorg ++endif ++ ++ + # Check the undefined symbols in the X.Org modules against lists of allowed + # symbols. Not very elegant, but it will catch problems early. + ifdef VBOX_WITH_TESTCASES diff --git a/community-testing/virtualbox/60-vboxguest.rules b/community-testing/virtualbox/60-vboxguest.rules new file mode 100644 index 000000000..6285f7249 --- /dev/null +++ b/community-testing/virtualbox/60-vboxguest.rules @@ -0,0 +1,2 @@ +ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600" +ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666" diff --git a/community-testing/virtualbox/LocalConfig.kmk b/community-testing/virtualbox/LocalConfig.kmk new file mode 100644 index 000000000..e5cbcebcd --- /dev/null +++ b/community-testing/virtualbox/LocalConfig.kmk @@ -0,0 +1,19 @@ +VBOX_WITH_ADDITION_DRIVERS = +VBOX_WITH_INSTALLER = 1 +VBOX_WITH_LINUX_ADDITIONS = 1 +VBOX_WITH_X11_ADDITIONS = 1 +VBOX_WITH_TESTCASES = +VBOX_WITH_TESTSUITE = +VBOX_WITH_ORIGIN := +VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox +VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox +VBOX_PATH_APP_DOCS := /usr/share/virtualbox +VBOX_WITH_REGISTRATION_REQUEST = +VBOX_WITH_UPDATE_REQUEST = +VBOX_WITH_VNC := 1 +VBOX_BLD_PYTHON = python2 +VBOX_JAVA_HOME = /usr/lib/jvm/java-6-openjdk +VBOX_GCC_WERR = +VBOX_GCC_WARN = diff --git a/community-testing/virtualbox/PKGBUILD b/community-testing/virtualbox/PKGBUILD new file mode 100644 index 000000000..085bfdb64 --- /dev/null +++ b/community-testing/virtualbox/PKGBUILD @@ -0,0 +1,206 @@ +# $Id: PKGBUILD 56700 2011-10-10 18:30:29Z ibiru $ +#Maintainer: Ionut Biru <ibiru@archlinux.org> +pkgbase=virtualbox +pkgname=('virtualbox' 'virtualbox-archlinux-additions' 'virtualbox-archlinux-modules' 'virtualbox-sdk') +pkgver=4.1.4 +pkgrel=2 +arch=('i686' 'x86_64') +url='http://virtualbox.org' +license=('GPL' 'custom') +makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libxcursor' 'qt' 'libidl2' 'sdl_ttf' 'alsa-lib' 'libpulse' 'libxtst' +'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'linux-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'openjdk6' 'gsoap' 'vde2' +'xorg-server-devel' 'xf86driproto' 'libxcomposite') +[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') +source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 + UserManual-$pkgver.pdf::http://download.virtualbox.org/virtualbox/${pkgver}/UserManual.pdf + virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch + 10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxbuild + change_default_driver_dir.patch vbox-service.conf vbox-service.rc) +_kernver=3.0-ARCH + +build() { + cd "$srcdir/VirtualBox-${pkgver}_OSE" + + patch -Np1 -i "$srcdir/virtualbox-4-makeself-check.patch" + patch -Np1 -i "$srcdir/virtualbox-4-mkisofs-check.patch" + patch -Np1 -i "$srcdir/vboxdrv-reference.patch" + patch -Np1 -i "$srcdir/change_default_driver_dir.patch" + + cp "$srcdir/LocalConfig.kmk" . + + ./configure --disable-docs \ + --enable-webservice \ + --enable-vde \ + --with-linux=/usr/src/linux-${_kernver} + source ./env.sh + kmk all + + export KERN_DIR=/usr/src/linux-${_kernver} + make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src" + make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src/vboxvideo" + sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' "out/linux.$BUILD_PLATFORM_ARCH/release/bin/vboxshell.py" +} + +package_virtualbox() { + pkgdesc="Powerful x86 virtualization for enterprise as well as home use" + depends=('libxml2' 'libxcursor' 'libidl2' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng' 'linux-headers' 'gcc' 'make') + optdepends=('qt: for VirtualBox GUI' + 'vde2: Virtual Distributed Ethernet support' + 'virtualbox-sdk: developer kit') + + replaces=('virtualbox-ose') + conflicts=('virtualbox-ose') + install=virtualbox.install + + source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" + + cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + mkdir -p "$pkgdir"/usr/{bin,lib/virtualbox/components,lib/virtualbox/ExtensionPacks,share/virtualbox/nls} + + #doc + install -m 0644 "$srcdir/UserManual-$pkgver.pdf" "$pkgdir/usr/share/virtualbox/UserManual.pdf" + + #Binaries and Wrapper with Launchers + install -m 0755 VBox.sh "$pkgdir/usr/bin/VBox" + + for i in VBoxHeadless vboxheadless VBoxManage vboxmanage VBoxSDL vboxsdl VirtualBox virtualbox vboxwebsrv VBoxBalloonCtrl vboxballoonctrl; do + ln -sf VBox "$pkgdir/usr/bin/$i" + done + install -m 0755 VBoxTunctl "$pkgdir/usr/bin" + + #components + install -m 0755 components/* -t "$pkgdir/usr/lib/virtualbox/components" + + #lib + install -m 0755 *.so "$pkgdir/usr/lib/virtualbox" + install -m 0644 *.gc *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox" + + #setuid root binaries + install -m 4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl -t "$pkgdir/usr/lib/virtualbox" + #other binaries + install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox" + + #language + install -m 0755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls" + + #useless scripts + install -m 0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox" + + #icons + install -D -m 0644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png" + + pushd icons + for i in *; do + install -d "$pkgdir/usr/share/icons/hicolor/$i/mimetypes" + cp $i/* "$pkgdir/usr/share/icons/hicolor/$i/mimetypes" + done + popd + + #desktop + install -D -m 0644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop" + install -D -m 0644 virtualbox.xml "$pkgdir/usr/share/mime/packages/virtualbox.xml" + + #install configuration + mkdir -p "$pkgdir/etc/vbox" + echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg" + + #udev and licence + install -D -m 0644 "$srcdir/VirtualBox-${pkgver}_OSE/COPYING" \ + "$pkgdir/usr/share/licenses/virtualbox/LICENSE" + install -D -m 0644 "$srcdir/10-vboxdrv.rules" \ + "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules" + + #sources for modules + cp -r src ${pkgdir}/usr/lib/virtualbox + #install compilation script + install -D -m 755 "${srcdir}/vboxbuild" "${pkgdir}/usr/bin/vboxbuild" +} + +package_virtualbox-sdk() { + pkgdesc=" VirtualBox Software Developer Kit (SDK)" + depends=('python2') + + mkdir -p "$pkgdir/usr/lib/virtualbox" + + source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" + cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + + install -D -m 0755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py" + #python sdk + pushd sdk/installer + VBOX_INSTALL_PATH="/usr/lib/virtualbox" python2 vboxapisetup.py install --root "${pkgdir}" + popd + rm -rf sdk/installer + mv sdk "$pkgdir/usr/lib/virtualbox" +} + +package_virtualbox-archlinux-additions(){ + pkgdesc="Additions only for Arch Linux guests (userspace tools)" + depends=("virtualbox-archlinux-modules=$pkgver" 'gcc-libs' 'libxmu' 'xorg-xrandr') + replaces=('virtualbox-guest-additions') + conflicts=('virtualbox-guest-additions') + + source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" + + cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" + + install -d "$pkgdir"/{usr/bin,sbin} + install -m755 VBoxClient VBoxControl VBoxService "$pkgdir/usr/bin" + install -m755 mount.vboxsf "$pkgdir/sbin" + + install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + "$pkgdir"/usr/bin/VBoxClient-all + install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + "$pkgdir"/etc/xdg/autostart/vboxclient.desktop + install -D vboxvideo_drv_111.so \ + "$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so" + install -d "$pkgdir/usr/lib/xorg/modules/dri" + install -m755 VBoxOGL*.so "$pkgdir/usr/lib" + ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so" + install -m755 -D pam_vbox.so "$pkgdir/lib/security/pam_vbox.so" + + # install rc.d script + install -D -m755 "${srcdir}/vbox-service.rc" "${pkgdir}/etc/rc.d/vbox-service" + + # install sample config + install -D -m644 "${srcdir}/vbox-service.conf" "${pkgdir}/etc/conf.d/vbox-service" +} + +package_virtualbox-archlinux-modules(){ + pkgdesc="Additions only for Arch Linux guests (kernel modules)" + license=('GPL') + install=virtualbox-archlinux-modules.install + depends=('linux>=3.0' 'linux<3.1') + replaces=('virtualbox-guest-modules') + conflicts=('virtualbox-guest-modules') + + source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" + + cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src" + + install -D -m644 vboxguest.ko \ + "$pkgdir/lib/modules/$_kernver/misc/vboxguest.ko" + + install -D -m644 vboxsf.ko \ + "$pkgdir/lib/modules/$_kernver/misc/vboxsf.ko" + + install -D -m644 vboxvideo.ko \ + "$pkgdir/lib/modules/$_kernver/misc/vboxvideo.ko" + + install -D -m 0644 "$srcdir/60-vboxguest.rules" \ + "$pkgdir/lib/udev/rules.d/60-vboxguest.rules" + + sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-archlinux-modules.install" +} +md5sums=('dc6e6801b3823332b6ca2e9915221aae' + 'bc048d1e58d84ece4a186199ee48d4c8' + '44efb3c4be214daa453a317d527f1f30' + '32a232b43852b9a08cb11a7bcd64b347' + '5f85710e0b8606de967716ded7b2d351' + 'ed1341881437455d9735875ddf455fbe' + 'cc3f278bc273011aa95277500a76f677' + '78ffa67ff131680f1d2b6f06d4325c5b' + 'dda3811f7d94ac55f12b4de707a7c2c2' + '97e193f050574dd272a38e5ee5ebe62b' + '3c08ad30b89add47d3f45121200a5360' + '778d865e56e31cc592fbfa257fdcfce7') diff --git a/community-testing/virtualbox/change_default_driver_dir.patch b/community-testing/virtualbox/change_default_driver_dir.patch new file mode 100644 index 000000000..d8531499d --- /dev/null +++ b/community-testing/virtualbox/change_default_driver_dir.patch @@ -0,0 +1,18 @@ +diff -Nur VirtualBox-4.1.0_OSE.orig/src/VBox/Additions/common/crOpenGL/fakedri_drv.c VirtualBox-4.1.0_OSE/src/VBox/Additions/common/crOpenGL/fakedri_drv.c +--- VirtualBox-4.1.0_OSE.orig/src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2011-07-19 15:11:37.903456612 +0000 ++++ VirtualBox-4.1.0_OSE/src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2011-07-19 15:12:41.024021274 +0000 +@@ -36,13 +36,8 @@ + //#define DEBUG_DRI_CALLS + + //@todo this could be different... +-#ifdef RT_ARCH_AMD64 +-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/dri:/usr/lib/dri:/usr/lib/x86_64-linux-gnu/dri" ++# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/xorg/modules/dri" + # define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/" +-#else +-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/dri:/usr/lib/i386-linux-gnu/dri" +-# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/" +-#endif + + #ifdef DEBUG_DRI_CALLS + #define SWDRI_SHOWNAME(pext, func) \ diff --git a/community-testing/virtualbox/vbox-service.conf b/community-testing/virtualbox/vbox-service.conf new file mode 100644 index 000000000..9d4ec629f --- /dev/null +++ b/community-testing/virtualbox/vbox-service.conf @@ -0,0 +1,2 @@ +# VBoxService -h +VBOX_SERVICE_OPTION="" diff --git a/community-testing/virtualbox/vbox-service.rc b/community-testing/virtualbox/vbox-service.rc new file mode 100755 index 000000000..c1af2134d --- /dev/null +++ b/community-testing/virtualbox/vbox-service.rc @@ -0,0 +1,39 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/vbox-service + +name=VBoxService +PID=$(pidof -o %PPID $name) + +case "$1" in + start) + stat_busy "Starting $name service" + [[ -z "$PID" ]] && ${name} $VBOX_SERVICE_OPTION &>/dev/null \ + && { add_daemon $name; stat_done; } \ + || { stat_fail; exit 1; } + ;; + stop) + stat_busy "Stopping $name service" + [[ -n "$PID" ]] && kill $PID &>/dev/null \ + && { rm_daemon $name; stat_done; } \ + || { stat_fail; exit 1; } + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + status) + stat_busy "Checking $name status"; + ck_status $name + ;; + *) + echo "usage: $0 {start|stop|restart|status}" + exit 1 +esac + +exit 0 + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community-testing/virtualbox/vboxbuild b/community-testing/virtualbox/vboxbuild new file mode 100755 index 000000000..1058744c5 --- /dev/null +++ b/community-testing/virtualbox/vboxbuild @@ -0,0 +1,78 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/vbox/vbox.cfg + +MODLIST=() +LOG="/var/log/vbox-install.log" +>| "$LOG" + +if [[ $INSTALL_DIR ]]; then + VBOXMANAGE=$INSTALL_DIR/VBoxManage + BUILDVBOXDRV=$INSTALL_DIR/src/vboxdrv/build_in_tmp + BUILDVBOXNETFLT=$INSTALL_DIR/src/vboxnetflt/build_in_tmp + BUILDVBOXNETADP=$INSTALL_DIR/src/vboxnetadp/build_in_tmp + BUILDVBOXPCI=$INSTALL_DIR/src/vboxpci/build_in_tmp +else + echo "error: missing vbox.cfg" + exit 1 +fi + +if [[ -f /proc/modules ]]; then + IFS=$'\n' read -r -d '' -a MODLIST < \ + <(grep -oE '^vbox(pci|netflt|netadp|drv)' /proc/modules) +fi + +if (( ${#MODLIST[*]} )); then + stat_busy "Unloading VirtualBox kernel modules" + modprobe -ar "${MODLIST[@]}" && stat_done || stat_fail +fi + +for kdir in /lib/modules/*; do + if [[ ! -d $kdir/kernel ]]; then + # found a stale kernel + mods=("$kdir/misc/vbox"{drv,netadp,netflt,pci}.ko*) + if (( ${#mods[@]} )); then + stat_busy "Removing all old VirtualBox kernel modules" + if rm -f "${mods[@]}" && + rmdir -p --ignore-fail-on-non-empty "$p/misc/" 2>/dev/null; then + stat_done + else + stat_fail + fi + fi + fi +done + +# default to the currently running kernel +if (( ! $# )); then + set -- $(uname -r) +fi + +for kernver; do + export KERN_DIR=/lib/modules/$kernver/build + if [[ ! -d $KERN_DIR ]]; then + printf "error: \`%s' does not appear to be a valid kernel build directory.\n" \ + "$KERN_DIR" + continue + fi + + stat_busy "Recompiling VirtualBox kernel modules ($kernver)" + for build in BUILDVBOX{DRV,NETFLT,NETADP,PCI}; do + if ! ${!build} \ + --save-module-symvers /tmp/vboxdrv-Module.symvers \ + --no-print-directory install >> $LOG 2>&1; then + echo "Look at $LOG to find out what went wrong" + stat_fail + continue + fi + done + stat_done +done + +if (( ${#MODLIST[*]} )); then + stat_busy "Reloading VirtualBox kernel modules" + modprobe -a "${MODLIST[@]}" && stat_done || stat_fail +fi + diff --git a/community-testing/virtualbox/vboxdrv-reference.patch b/community-testing/virtualbox/vboxdrv-reference.patch new file mode 100644 index 000000000..c310dbc8d --- /dev/null +++ b/community-testing/virtualbox/vboxdrv-reference.patch @@ -0,0 +1,45 @@ +diff -Nur VirtualBox-4.1.0_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp VirtualBox-4.1.0_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp +--- VirtualBox-4.1.0_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp 2011-07-19 15:11:37.730121727 +0000 ++++ VirtualBox-4.1.0_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp 2011-07-19 19:02:15.658471139 +0000 +@@ -75,9 +75,8 @@ + "The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or " + "there is a permission problem with /dev/vboxdrv. Please reinstall the kernel " + "module by executing<br/><br/>" +- " <font color=blue>'/etc/init.d/vboxdrv setup'</font><br/><br/>" +- "as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS " +- "package first. This package keeps track of Linux kernel changes and " ++ " <font color=blue>'/usr/bin/vboxbuild'</font><br/><br/>" ++ "as root. This package keeps track of Linux kernel changes and" + "recompiles the vboxdrv kernel module if necessary." + ); + +@@ -92,7 +91,7 @@ + "The VirtualBox kernel modules do not match this version of " + "VirtualBox. The installation of VirtualBox was apparently not " + "successful. Executing<br/><br/>" +- " <font color=blue>'/etc/init.d/vboxdrv setup'</font><br/><br/>" ++ " <font color=blue>'/usr/bin/vboxbuild'</font><br/><br/>" + "may correct this. Make sure that you do not mix the " + "OSE version and the PUEL version of VirtualBox." + ); +diff -Nur VirtualBox-4.1.0_OSE.orig/src/VBox/Installer/linux/VBox.sh VirtualBox-4.1.0_OSE/src/VBox/Installer/linux/VBox.sh +--- VirtualBox-4.1.0_OSE.orig/src/VBox/Installer/linux/VBox.sh 2011-07-19 15:11:37.603453927 +0000 ++++ VirtualBox-4.1.0_OSE/src/VBox/Installer/linux/VBox.sh 2011-07-19 19:02:15.658471139 +0000 +@@ -34,7 +34,7 @@ + available for the current kernel (`uname -r`) or it failed to + load. Please recompile the kernel module and install it by + +- sudo /etc/init.d/vboxdrv setup ++ sudo /usr/bin/vboxbuild + + You will not be able to start VMs until this problem is fixed. + EOF +@@ -42,7 +42,7 @@ + cat << EOF + WARNING: The character device /dev/vboxdrv does not exist. Try + +- sudo /etc/init.d/vboxdrv restart ++ sudo /usr/bin/vboxbuild + + and if that is not successful, try to re-install the package. + diff --git a/community-testing/virtualbox/virtualbox-4-makeself-check.patch b/community-testing/virtualbox/virtualbox-4-makeself-check.patch new file mode 100644 index 000000000..e1fcb8c2f --- /dev/null +++ b/community-testing/virtualbox/virtualbox-4-makeself-check.patch @@ -0,0 +1,10 @@ +--- VirtualBox-4.0.0_OSE/configure ++++ VirtualBox-4.0.0_OSE/configure +@@ -2527,7 +2527,6 @@ + check_compiler_h + [ "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit + # tools/common/makeself* +- [ $OSE -ge 1 ] && check_makeself + fi + + [ -n "$SETUP_WINE" ] && setup_wine diff --git a/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch b/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch new file mode 100644 index 000000000..8b0d59123 --- /dev/null +++ b/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch @@ -0,0 +1,10 @@ +--- VirtualBox-4.0.0_OSE/configure ++++ VirtualBox-4.0.0_OSE/configure +@@ -2499,7 +2499,6 @@ + # don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs + # [ "$OS" != "darwin" ] && check_yasm + [ "$OS" != "darwin" ] && check_xsltproc +-[ "$OS" != "darwin" ] && check_mkisofs + + # the libraries + [ "$OS" != "darwin" ] && check_pthread diff --git a/community-testing/virtualbox/virtualbox-archlinux-modules.install b/community-testing/virtualbox/virtualbox-archlinux-modules.install new file mode 100644 index 000000000..40e979b05 --- /dev/null +++ b/community-testing/virtualbox/virtualbox-archlinux-modules.install @@ -0,0 +1,24 @@ +KERNEL_VERSION='3.0-ARCH' + +post_install() { + cat << EOM + +===> virtualbox-archlinux-modules post-install message: +===> +===> You may want to load vboxguest, vboxsf and vboxvideo +===> +===> To load them automatically, add them +===> to the MODULES array in /etc/rc.conf. + +EOM + + depmod -v $KERNEL_VERSION >/dev/null 2>&1 +} + +post_remove() { + depmod -v $KERNEL_VERSION >/dev/null 2>&1 +} + +post_upgrade() { + depmod -v $KERNEL_VERSION >/dev/null 2>&1 +} diff --git a/community-testing/virtualbox/virtualbox.install b/community-testing/virtualbox/virtualbox.install new file mode 100644 index 000000000..0eac014f2 --- /dev/null +++ b/community-testing/virtualbox/virtualbox.install @@ -0,0 +1,51 @@ +utils() { + if [ -x usr/bin/update-mime-database ]; then + update-mime-database usr/share/mime > /dev/null 2>&1 + fi + + if [ -x usr/bin/xdg-icon-resource ]; then + xdg-icon-resource forceupdate --theme hicolor > /dev/null 2>&1 + fi + + if [ -x usr/bin/update-desktop-database ]; then + usr/bin/update-desktop-database -q + fi +} + +post_install() { + getent group vboxusers >> /dev/null || usr/sbin/groupadd -g 108 vboxusers + /bin/cat << EOF + +===> In order to run VirtualBox, you have to be in the 'vboxusers' group. +===> +===> If you want to be able to install guest additions, you have to install +===> 'virtualbox-additions' package. +===> +===> You must load vboxdrv module before starting VirtualBox: +===> # modprobe vboxdrv +===> +===> For networking you must load vboxnetflt or vboxnetadp. +===> +===> For PCI passthrough support load vboxpci module. +===> +===> To load it automatically, add vboxdrv module +===> to the MODULES array in /etc/rc.conf. + +*** To compile the modules do /usr/bin/vboxbuild *** + +EOF + utils +} + +post_upgrade() { + getent group vboxusers >> /dev/null || usr/sbin/groupadd -g 108 vboxusers + /bin/cat << EOF +*** To recompile the modules do /usr/bin/vboxbuild *** +EOF + utils +} + +post_remove() { + groupdel vboxusers >/dev/null 2>&1 || true + utils +} diff --git a/community/aria2/PKGBUILD b/community/aria2/PKGBUILD index 19a015c8a..19095b668 100644 --- a/community/aria2/PKGBUILD +++ b/community/aria2/PKGBUILD @@ -4,15 +4,15 @@ # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=aria2 -pkgver=1.12.1 -pkgrel=2 +pkgver=1.13.0 +pkgrel=1 pkgdesc='Download utility that supports HTTP(S), FTP, BitTorrent, and Metalink' arch=('i686' 'x86_64') url='http://aria2.sourceforge.net/' license=('GPL') depends=('gnutls' 'libxml2' 'sqlite3' 'c-ares' 'ca-certificates') source=("http://downloads.sourceforge.net/aria2/aria2-${pkgver}.tar.bz2") -md5sums=('9f3bf96d92bc8b70b74817ed10c2c7e7') +md5sums=('b86a5bd4a94e465a58656f71b48c90b9') build() { cd aria2-${pkgver} diff --git a/community/glom/PKGBUILD b/community/glom/PKGBUILD index 0ceeb4893..7861dbd86 100644 --- a/community/glom/PKGBUILD +++ b/community/glom/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 56168 2011-10-02 16:56:39Z ibiru $ +# $Id: PKGBUILD 56705 2011-10-10 19:26:37Z ibiru $ # Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com> # Contributor: William Rea <sillywilly@gmail.com> # Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> pkgname=glom -pkgver=1.19.11 -pkgrel=2 +pkgver=1.19.12 +pkgrel=1 pkgdesc="An easy-to-use database designer and user interface" arch=('i686' 'x86_64') url="http://www.glom.org/" @@ -15,7 +15,7 @@ makedepends=('intltool' 'gnome-doc-utils' 'python-sphinx' 'boost') options=('!libtool') install=$pkgname.install source=(http://ftp.gnome.org/pub/GNOME/sources/glom/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('c28ead8b37d31550c295004de50e0dc09debd3af665691b852737330bf68514d') +sha256sums=('36771e0a8b3367364cd84e6c8a9bd6a9b6c97953220d57d1c195c5bef3701575') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/goocanvas/PKGBUILD b/community/goocanvas/PKGBUILD index 2fdcb31d8..332b93004 100644 --- a/community/goocanvas/PKGBUILD +++ b/community/goocanvas/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 56140 2011-10-02 09:45:13Z ibiru $ +# $Id: PKGBUILD 56677 2011-10-10 09:46:09Z ibiru $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: William Rea <sillywilly@gmail.com> pkgname=goocanvas -pkgver=2.0.0 +pkgver=2.0.1 pkgrel=1 pkgdesc="A cairo canvas widget for GTK+" arch=(i686 x86_64) @@ -11,8 +11,9 @@ url="http://live.gnome.org/GooCanvas" options=('!libtool' 'docs') license=("LGPL") depends=('gtk3') -source=(http://ftp.gnome.org/pub/GNOME/sources/goocanvas/2.0/goocanvas-$pkgver.tar.bz2) -sha256sums=('9f8d7f700ad9617adef37e63f58cb2d038d799443e3756040f368ceea7f01331') +makedepends=('gobject-introspection') +source=(http://ftp.gnome.org/pub/GNOME/sources/goocanvas/2.0/goocanvas-$pkgver.tar.xz) +sha256sums=('0c3a595a6d2a4fe0f1a1a5243637e66aa1bfbaf6492455bfd0b51e0dec9b1553') build() { cd $srcdir/goocanvas-$pkgver diff --git a/community/goocanvasmm/PKGBUILD b/community/goocanvasmm/PKGBUILD index b7476844b..4a9c61c3c 100755 --- a/community/goocanvasmm/PKGBUILD +++ b/community/goocanvasmm/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: Laurent Meunier <laurent@deltalima.net> pkgname=goocanvasmm -pkgver=1.90.5 +pkgver=1.90.6 pkgrel=1 pkgdesc='C++ wrappers for goocanvas' arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ license=('GPL') depends=('goocanvas' 'gtkmm3') options=('!libtool') source=(http://ftp.gnome.org/pub/gnome/sources/goocanvasmm/1.90/goocanvasmm-${pkgver}.tar.xz) -sha256sums=('9648e6fc6c41fceea348571b7db4421748bab7fbd7799700245890b63ae1b4b6') +sha256sums=('2d63cff0ea1a20cb0ebb9b91fbefe2a80f8972b1dbcda018ba4f10fbfda5c699') build() { cd ${pkgname}-${pkgver} diff --git a/community/john/PKGBUILD b/community/john/PKGBUILD index c55580ccd..b90406aba 100644 --- a/community/john/PKGBUILD +++ b/community/john/PKGBUILD @@ -6,7 +6,7 @@ pkgname=john pkgver=1.7.8 -pkgrel=4 +pkgrel=5 _jumbover=7 pkgdesc="John The Ripper - A fast password cracker (jumbo-$_jumbover included)" arch=('i686' 'x86_64') @@ -65,6 +65,8 @@ package() { # install password list and charset files install -m644 ${srcdir}/${pkgname}-${pkgver}/run/{{all,alnum,alpha,digits,lanman}.chr,password.lst} \ ${pkgdir}/usr/share/john/ + install -m644 ${srcdir}/${pkgname}-${pkgver}/run/{dumb16,dumb32,generic}.conf \ + ${pkgdir}/usr/share/john/ # install binaries install -Dm755 ${srcdir}/john-$pkgver/run/john ${pkgdir}/usr/bin/john diff --git a/community/perl-params-classify/PKGBUILD b/community/perl-params-classify/PKGBUILD new file mode 100644 index 000000000..476e3d378 --- /dev/null +++ b/community/perl-params-classify/PKGBUILD @@ -0,0 +1,23 @@ +# $Id: PKGBUILD 56695 2011-10-10 17:08:45Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=perl-params-classify +pkgver=0.009 +pkgrel=1 +pkgdesc="argument type classification" +arch=(i686 x86_64) +license=('PerlArtistic') +url="http://search.cpan.org/~zefram/Params-Classify" +options=(!emptydirs) +depends=('perl>=5.10.1') +source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Params-Classify-$pkgver.tar.gz") +md5sums=('57114b9272df5c4dba1aeb3c4b4d2984') + +build() { + cd $srcdir/Params-Classify-$pkgver + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make + make install DESTDIR=${pkgdir} + find ${pkgdir} -name perllocal.pod -delete + find ${pkgdir} -name .packlist -delete +} diff --git a/community/scite/PKGBUILD b/community/scite/PKGBUILD index eedade19e..8a5cdc1ed 100644 --- a/community/scite/PKGBUILD +++ b/community/scite/PKGBUILD @@ -4,21 +4,18 @@ # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=scite -pkgver=2.27 +pkgver=2.29 pkgrel=1 pkgdesc='A generally useful editor with facilities for building and running programs.' arch=('i686' 'x86_64') url='http://www.scintilla.org/SciTE.html' license=('custom:scite') -depends=('desktop-file-utils' 'gtk2') +depends=('desktop-file-utils' 'gtk2' 'glib2') backup=(usr/share/scite/SciTEGlobal.properties) install=scite.install source=("http://downloads.sourceforge.net/sourceforge/scintilla/${pkgname}${pkgver/\./}.tgz" 'SciTE.desktop' 'makefile.patch') -md5sums=('ac5aafa1b47da3792a56d5fd9f383fda' - '48526532ef677982a4b156ae90f25b6f' - '87005d4c7262a1a698cde0628dc7e2a2') build() { sed "s/CXXTFLAGS=-DNDEBUG -Os $(CXXBASEFLAGS)/CXXTFLAGS=-DNDEBUG ${CXXFLAGS} $(CXXBASEFLAGS)/" -i scite/gtk/makefile @@ -45,3 +42,6 @@ build() { ln -sf SciTE ${pkgdir}/usr/bin/scite } +md5sums=('55858b96c4ad64b38503682ff49d184e' + '48526532ef677982a4b156ae90f25b6f' + '87005d4c7262a1a698cde0628dc7e2a2') diff --git a/core/mpfr/PKGBUILD b/core/mpfr/PKGBUILD index 92f8b3d7d..00c4962d9 100644 --- a/core/mpfr/PKGBUILD +++ b/core/mpfr/PKGBUILD @@ -1,13 +1,12 @@ -# $Id: PKGBUILD 139750 2011-10-04 21:10:35Z allan $ +# $Id: PKGBUILD 140252 2011-10-11 00:43:43Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: damir <damir@archlinux.org> pkgname=mpfr _pkgver=3.1.0 -pkgver=${_pkgver} -#_patchlevel=p4 -#pkgver=${_pkgver}.${_patchlevel} -pkgrel=2 +_patchlevel=p1 +pkgver=${_pkgver}.${_patchlevel} +pkgrel=1 pkgdesc="Multiple-precision floating-point library" arch=('i686' 'x86_64') url="http://www.mpfr.org/" @@ -15,12 +14,14 @@ license=('LGPL') depends=('gmp>=5.0') options=('!libtool') install=mpfr.install -source=(http://www.mpfr.org/mpfr-current/mpfr-${_pkgver}.tar.xz) -md5sums=('6e495841bb026481567006cec0f821c3') +source=(http://www.mpfr.org/mpfr-current/mpfr-${_pkgver}.tar.xz + mpfr-${_pkgver}.${_patchlevel}.patch) +md5sums=('6e495841bb026481567006cec0f821c3' + 'ec988293368d4988c76f50d6a3460166') build() { cd "${srcdir}/${pkgname}-${_pkgver}" - #patch -Np1 -i $srcdir/mpfr-${_pkgver}.${_patchlevel}.patch + patch -Np1 -i $srcdir/mpfr-${_pkgver}.${_patchlevel}.patch ./configure --prefix=/usr --enable-thread-safe --enable-shared make } diff --git a/core/mpfr/mpfr-3.1.0.p1.patch b/core/mpfr/mpfr-3.1.0.p1.patch new file mode 100644 index 000000000..437b1a278 --- /dev/null +++ b/core/mpfr/mpfr-3.1.0.p1.patch @@ -0,0 +1,50 @@ +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2011-10-05 21:39:57.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2011-10-05 21:39:57.000000000 +0000 +@@ -0,0 +1 @@ ++mpfr_unlikely +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2011-10-03 08:17:15.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2011-10-05 21:39:57.000000000 +0000 +@@ -1 +1 @@ +-3.1.0 ++3.1.0-p1 +diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h +--- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000 +@@ -988,10 +988,11 @@ + ******************************************************/ + + /* Theses macros help the compiler to determine if a test is +- * likely or unlikely. */ ++ likely or unlikely. The !! is necessary in case x is larger ++ than a long. */ + #if __MPFR_GNUC(3,0) || __MPFR_ICC(8,1,0) + # define MPFR_LIKELY(x) (__builtin_expect(!!(x),1)) +-# define MPFR_UNLIKELY(x) (__builtin_expect((x),0)) ++# define MPFR_UNLIKELY(x) (__builtin_expect(!!(x),0)) + #else + # define MPFR_LIKELY(x) (x) + # define MPFR_UNLIKELY(x) (x) +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0" ++#define MPFR_VERSION_STRING "3.1.0-p1" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2011-10-05 21:39:57.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0"; ++ return "3.1.0-p1"; + } diff --git a/extra/bluedevil/PKGBUILD b/extra/bluedevil/PKGBUILD index cc741110b..d0cf8b899 100644 --- a/extra/bluedevil/PKGBUILD +++ b/extra/bluedevil/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 140155 2011-10-07 23:23:46Z andrea $ +# $Id: PKGBUILD 140234 2011-10-10 10:51:49Z andrea $ # Maintainer: # Contributor: Andrea Scarpino <andrea@archlinux.org> pkgname=bluedevil -pkgver=1.2.1 +pkgver=1.2.2 pkgrel=1 pkgdesc='KDE bluetooth framework' arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('kdebase-workspace' 'libbluedevil' 'obex-data-server' 'obexd-client') makedepends=('cmake' 'automoc4') install="${pkgname}.install" source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") -md5sums=('e5f53fa306f11732f18eaed141cbd51b') +md5sums=('f1b2b932f3e1e52b13b0bad515bf4125') build(){ cd "${srcdir}" diff --git a/extra/di/PKGBUILD b/extra/di/PKGBUILD index b05837568..65d1420c2 100644 --- a/extra/di/PKGBUILD +++ b/extra/di/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 139175 2011-10-01 04:29:21Z eric $ +# $Id: PKGBUILD 140256 2011-10-11 02:47:40Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=di -pkgver=4.29 +pkgver=4.30 pkgrel=1 pkgdesc="A disk information utility, displaying everything (and more) that your df command does" arch=('i686' 'x86_64') @@ -10,7 +10,7 @@ url="http://www.gentoo.com/di/" license=('ZLIB') depends=('glibc') source=(http://www.gentoo.com/di/${pkgname}-${pkgver}.tar.gz) -sha1sums=('620b22b362067b48c25674b1af494015453d7cd9') +sha1sums=('45fae9dd34df9f5f2c391237fb316c056d4854fe') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/enlightenment/PKGBUILD b/extra/enlightenment/PKGBUILD index 9c704780a..e4a3597a9 100644 --- a/extra/enlightenment/PKGBUILD +++ b/extra/enlightenment/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 134356 2011-08-03 02:27:18Z eric $ +# $Id: PKGBUILD 140259 2011-10-11 03:24:04Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=enlightenment -pkgver=1.0.9 +pkgver=1.0.10 _themever=1.0.1 -pkgrel=2 +pkgrel=1 pkgdesc="A fast, flexible, and very extensible Window Manager" arch=('i686' 'x86_64') url="http://www.enlightenment.org" @@ -14,9 +14,7 @@ depends=('libxinerama' 'imlib2' 'perl' 'pango' 'libxcomposite' \ options=('!libtool') source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/e16-${pkgver}.tar.gz \ http://downloads.sourceforge.net/enlightenment/e16-themes-${_themever}.tar.gz) -md5sums=('ad85044366efe64cb67f4a8e49a37f84' - 'bbd9cfd969610c29c7627c2ba1ce3094') -sha1sums=('97929090b5d66fa28067b21b17f48cedea1f81bb' +sha1sums=('20e56c851aeb5279479eb43570b5d58bcc1d6ef9' 'ae34e2df1294198795736bf953bf695aba93b710') build() { diff --git a/extra/feh/PKGBUILD b/extra/feh/PKGBUILD index 510dc1146..b7b9944e4 100644 --- a/extra/feh/PKGBUILD +++ b/extra/feh/PKGBUILD @@ -1,21 +1,21 @@ -# $Id: PKGBUILD 138608 2011-09-27 12:17:18Z bisson $ +# $Id: PKGBUILD 140246 2011-10-10 21:07:53Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: dorphell <dorphell@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=feh -pkgver=1.16.2 +pkgver=2.0 pkgrel=1 -pkgdesc='Fast, lightweight image viewer which uses imlib2' -arch=('i686' 'x86_64') +pkgdesc='Fast and light imlib2-based image viewer' url='http://feh.finalrewind.org/' license=('MIT') +arch=('i686' 'x86_64') depends=('giblib' 'curl' 'libxinerama') optdepends=('perl: feh-cam, webcam wrapper for feh') makedepends=('libxt') source=("${url}${pkgname}-${pkgver}.tar.bz2") -sha1sums=('bbb530f1bca9140040052164c3f79289011c45f1') +sha1sums=('890e4f7343e7c2157f25f1011a75688adcf6c3f2') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/libass/PKGBUILD b/extra/libass/PKGBUILD index 5bd45f4e8..a8bc64db7 100644 --- a/extra/libass/PKGBUILD +++ b/extra/libass/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 134004 2011-07-31 16:07:36Z giovanni $ +# $Id: PKGBUILD 140250 2011-10-10 22:45:12Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: G_Syme <demichan(at)mail(dot)upb(dot)de> pkgname=libass -pkgver=0.9.13 +pkgver=0.10.0 pkgrel=1 pkgdesc="A portable library for SSA/ASS subtitles rendering" arch=('i686' 'x86_64') url="http://code.google.com/p/libass/" license=('BSD') -depends=('enca' 'fontconfig' 'libpng') -makedepends=('pkgconfig') +depends=('enca' 'fontconfig' 'libpng' 'fribidi') +makedepends=('pkg-config') options=(!libtool) source=("http://libass.googlecode.com/files/${pkgname}-${pkgver}.tar.xz") -md5sums=('d99381922dcbeb7a766d2e7825cca193') +md5sums=('1855bddc4c167f96968dddeeda0eb45c') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/libbluedevil/PKGBUILD b/extra/libbluedevil/PKGBUILD index fef58105f..760cd2510 100644 --- a/extra/libbluedevil/PKGBUILD +++ b/extra/libbluedevil/PKGBUILD @@ -1,8 +1,9 @@ -# $Id: PKGBUILD 119928 2011-04-17 01:27:41Z andrea $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# $Id: PKGBUILD 140236 2011-10-10 10:55:52Z andrea $ +# Maintainer: +# Contributor: Andrea Scarpino <andrea@archlinux.org> pkgname=libbluedevil -pkgver=1.9 +pkgver=1.9.1 pkgrel=1 pkgdesc='A Qt wrapper for bluez used in the new KDE bluetooth stack' arch=('i686' 'x86_64') @@ -10,11 +11,11 @@ url="https://projects.kde.org/projects/playground/libs/libbluedevil" license=('GPL') depends=('qt' 'bluez') makedepends=('cmake') -source=("http://download.kde.org/unstable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") -md5sums=('5f22614dfb840734da6e8b8710c2472e') +source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +md5sums=('b3f04954f75f78c874cdb462c2454afc') build(){ - cd ${srcdir} + cd "${srcdir}" mkdir build cd build cmake ../${pkgname}-${pkgver} \ @@ -24,6 +25,6 @@ build(){ } package() { - cd ${srcdir}/build - make DESTDIR=${pkgdir} install + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install } diff --git a/extra/python-egenix-mx-base/PKGBUILD b/extra/python-egenix-mx-base/PKGBUILD index 3ef1b6b16..dcde4e180 100644 --- a/extra/python-egenix-mx-base/PKGBUILD +++ b/extra/python-egenix-mx-base/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 126581 2011-06-06 10:49:23Z stephane $ -# Maintainer: +# $Id: PKGBUILD 140254 2011-10-11 00:44:55Z stephane $ +# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> pkgname=python-egenix-mx-base -origname=egenix-mx-base -pkgver=3.2.0 +_origname=egenix-mx-base +pkgver=3.2.1 pkgrel=1 pkgdesc="A collection of Python tools" arch=('i686' 'x86_64') @@ -14,16 +14,20 @@ depends=('python2') makedepends=('python2-distribute') replaces=('egenix-mx-base') provides=('egenix-mx-base') -source=("http://downloads.egenix.com/python/${origname}-${pkgver}.tar.gz") -sha1sums=('7346268002461512ef59da726047f79649a82b27') +source=("http://downloads.egenix.com/python/${_origname}-${pkgver}.tar.gz") +sha1sums=('a82f7f155ea92f26f40a6a3bf9160bfac7c52a00') build() { - cd "${srcdir}/${origname}-${pkgver}" + cd "${srcdir}/${_origname}-${pkgver}" + + find . -name \*.py -exec sed -i -e "s|#!/usr/bin/env python|#!/usr/bin/env python2|" \ + -e "s|#!/usr/local/.*python.*|#!/usr/bin/env python2|" {} \; + python2 setup.py build } package() { - cd "${srcdir}/${origname}-${pkgver}" + cd "${srcdir}/${_origname}-${pkgver}" python2 setup.py install --root="${pkgdir}" --skip-build --optimize=1 install -D -m644 COPYRIGHT "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE } diff --git a/extra/shared-mime-info/PKGBUILD b/extra/shared-mime-info/PKGBUILD index 1bf40a9b2..586cfb0f1 100644 --- a/extra/shared-mime-info/PKGBUILD +++ b/extra/shared-mime-info/PKGBUILD @@ -1,20 +1,20 @@ -# $Id: PKGBUILD 109014 2011-02-05 11:17:17Z andyrtr $ +# $Id: PKGBUILD 140226 2011-10-10 09:56:21Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=shared-mime-info -pkgver=0.90 +pkgver=0.91 pkgrel=1 pkgdesc="Freedesktop.org Shared MIME Info" arch=('i686' 'x86_64') license=('GPL') -depends=('libxml2>=2.7.7' 'glib2>=2.26.0') +depends=('libxml2' 'glib2') makedepends=('intltool' 'pkgconfig') install=shared-mime-info.install url="http://freedesktop.org/Software/shared-mime-info" -source=(http://freedesktop.org/~hadess/${pkgname}-${pkgver}.tar.bz2 +source=(http://freedesktop.org/~hadess/${pkgname}-${pkgver}.tar.xz pbm.patch) -md5sums=('967d68d3890ba3994cfce3adf5b8f15b' - '39fcc08fbd33145684ba97f1f64644c2') +md5sums=('982a211560ba4c47dc791ccff34e8fbc' + '3ec0e21a746f75a890716eb83d73e754') options=(!makeflags) build() { diff --git a/extra/shared-mime-info/pbm.patch b/extra/shared-mime-info/pbm.patch index 040900e01..95f9ab81f 100644 --- a/extra/shared-mime-info/pbm.patch +++ b/extra/shared-mime-info/pbm.patch @@ -40,10 +40,3 @@ diff -Naur shared-mime-info-0.70-orig/freedesktop.org.xml shared-mime-info-0.70/ </match> </match> </magic> -@@ -23926,4 +23920,4 @@ - </treemagic> - </mime-type> - --</mime-info> -\ No newline at end of file -+</mime-info> diff --git a/extra/transmission/PKGBUILD b/extra/transmission/PKGBUILD index 5d41168be..01fe7bbcd 100644 --- a/extra/transmission/PKGBUILD +++ b/extra/transmission/PKGBUILD @@ -1,21 +1,21 @@ -# $Id: PKGBUILD 140202 2011-10-09 09:38:10Z ibiru $ +# $Id: PKGBUILD 140241 2011-10-10 15:24:45Z ibiru $ # Maintainer : Ionut Biru <ibiru@archlinux.org> pkgbase=transmission pkgname=('transmission-cli' 'transmission-gtk' 'transmission-qt') pkgver=2.41 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://www.transmissionbt.com/" license=('MIT') makedepends=('gtk2' 'intltool' 'curl' 'qt' 'libevent') -source=(http://mirrors.m0k.org/transmission/files/${pkgbase}-${pkgver}.tar.bz2 +source=(http://mirrors.m0k.org/transmission/files/${pkgbase}-${pkgver}.tar.xz transmissiond transmissiond.conf) -md5sums=('71a7ccf74019283bd4998fa2c57b2fc1' +md5sums=('0d0a061dfb92c0cb359dc531d5da0a94' '08875299e3fbb68fc546c1f350ac1f06' 'be39806c35b7544856fa4070b00fc960') build() { - cd "${srcdir}/${pkgbase}-2.40" + cd "${srcdir}/${pkgbase}-${pkgver}" ./configure --prefix=/usr make @@ -29,7 +29,7 @@ package_transmission-cli() { backup=('etc/conf.d/transmissiond') install=transmission-cli.install - cd "${srcdir}/${pkgbase}-2.40" + cd "${srcdir}/${pkgbase}-${pkgver}" for dir in daemon cli web utils do @@ -48,7 +48,7 @@ package_transmission-gtk() { 'transmission-cli: daemon and web support') install=transmission-gtk.install - cd "${srcdir}/${pkgbase}-2.40" + cd "${srcdir}/${pkgbase}-${pkgver}" make -C gtk DESTDIR="${pkgdir}" install make -C po DESTDIR="${pkgdir}" install @@ -61,7 +61,7 @@ package_transmission-qt() { optdepends=('transmission-cli: daemon and web support') install=transmission-qt.install - cd "${srcdir}/${pkgbase}-2.40" + cd "${srcdir}/${pkgbase}-${pkgver}" make -C qt INSTALL_ROOT="${pkgdir}"/usr install diff --git a/multilib/wine/PKGBUILD b/multilib/wine/PKGBUILD index 46887f4c7..7e7022e2c 100644 --- a/multilib/wine/PKGBUILD +++ b/multilib/wine/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 56092 2011-09-30 23:53:08Z svenstaro $ +# $Id: PKGBUILD 56710 2011-10-10 20:07:19Z bluewind $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Eduardo Romero <eduardo@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> pkgname=wine -pkgver=1.3.29 -pkgrel=2 +pkgver=1.3.30 +pkgrel=1 _pkgbasever=${pkgver/rc/-rc} source=(http://ibiblio.org/pub/linux/system/emulators/$pkgname/$pkgname-$_pkgbasever.tar.bz2) -md5sums=('6c4159ef53c81faf5e52f29211ac50de') +md5sums=('faec785343aa228d743d6913f47afc28') pkgdesc="A compatibility layer for running Windows programs" url="http://www.winehq.com" @@ -25,7 +25,6 @@ depends=( libxcursor lib32-libxcursor libxrandr lib32-libxrandr libxdamage lib32-libxdamage - libxxf86dga lib32-libxxf86dga libxi lib32-libxi alsa-lib lib32-alsa-lib desktop-file-utils @@ -64,6 +63,7 @@ optdepends=( gnutls lib32-gnutls v4l-utils lib32-v4l-utils libpulse lib32-libpulse + alsa-plugins lib32-alsa-plugins oss ) diff --git a/testing/xf86-video-savage/PKGBUILD b/testing/xf86-video-savage/PKGBUILD index 4fa3ce4ee..aab22730c 100644 --- a/testing/xf86-video-savage/PKGBUILD +++ b/testing/xf86-video-savage/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 136509 2011-08-30 08:45:04Z jgc $ +# $Id: PKGBUILD 140224 2011-10-10 09:15:14Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-savage -pkgver=2.3.2 -pkgrel=3 +pkgver=2.3.3 +pkgrel=1 pkgdesc="X.org savage video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" @@ -13,14 +13,11 @@ makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa' 'glproto') conflicts=('xorg-server<1.10.0') options=(!libtool !makeflags) groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 - git-fixes.patch) -sha1sums=('d675693d0b29cb24f624ef57c1fe2f271f6bf6c3' - '0ee1dd57cd48dad4d46ebcfe914b88027e44c3f1') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('d3854d375dbf7d83bf90e30d72837ce60d808119c6fa4bb98088e68e7cc7e7b2') build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/git-fixes.patch" ./configure --prefix=/usr --enable-dri make make DESTDIR="${pkgdir}" install diff --git a/testing/xorg-server/PKGBUILD b/testing/xorg-server/PKGBUILD index ab8e8ae14..1de69bf3c 100644 --- a/testing/xorg-server/PKGBUILD +++ b/testing/xorg-server/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 138468 2011-09-24 11:29:23Z jgc $ +# $Id: PKGBUILD 140222 2011-10-10 09:08:07Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') pkgver=1.11.1 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') license=('custom') url="http://xorg.freedesktop.org" @@ -13,12 +13,16 @@ options=('!libtool') source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 autoconfig-nvidia.patch autoconfig-sis.patch + revert-trapezoids.patch + git-fixes.patch xvfb-run xvfb-run.1 10-quirks.conf) sha1sums=('ed0358b61294f1283aad42cf1e609752ceeffafd' '0249b892f27243d8fe6fe6d226bf4c2391cedf49' '962fecc159c128728f14e8ba231c5b00391ff4ac' + 'd9f7d9553e772c2682c15079019d30c658a4f83b' + 'd73125bf93aea09b0beb55e75c510b9f72f5d21a' 'c94f742d3f9cabf958ae58e4015d9dd185aabedc' '6838fc00ef4618c924a77e0fb03c05346080908a' '993798f3d22ad672d769dae5f48d1fa068d5578f') @@ -32,6 +36,12 @@ build() { # Use unofficial imedia SiS driver for supported SiS devices patch -Np0 -i "${srcdir}/autoconfig-sis.patch" + # Revert commit that causes huge slowdowns with binary nVidia driver + patch -Np1 -i "${srcdir}/revert-trapezoids.patch" + + # Add post-release patches from 1.11 branch + patch -Np1 -i "${srcdir}/git-fixes.patch" + autoreconf ./configure --prefix=/usr \ --enable-ipv6 \ diff --git a/testing/xorg-server/git-fixes.patch b/testing/xorg-server/git-fixes.patch new file mode 100644 index 000000000..3c59c27c9 --- /dev/null +++ b/testing/xorg-server/git-fixes.patch @@ -0,0 +1,288 @@ +From bd6ea85209e5ab80375d4ec9994d10a89fd1374a Mon Sep 17 00:00:00 2001 +From: Jamey Sharp <jamey@minilop.net> +Date: Wed, 15 Sep 2010 01:35:21 +0000 +Subject: Fix pixmap double-frees on error paths. + +If AddResource fails, it will automatically free the object that was +passed to it by calling the appropriate deleteFunc; and of course +FreeResource also calls the deleteFunc. In both cases it's wrong to call +the destroy hook manually. + +Commit by Jamey Sharp and Josh Triplett. + +Signed-off-by: Jamey Sharp <jamey@minilop.net> +Signed-off-by: Josh Triplett <josh@joshtriplett.org> +Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> +Reviewed-by: Aaron Plattner <aplattner@nvidia.com> +(cherry picked from commit 0f380a5005f800572773cd4667ce43c7459cc467) +--- +diff --git a/Xext/shm.c b/Xext/shm.c +index b08af82..4141a8f 100644 +--- a/Xext/shm.c ++++ b/Xext/shm.c +@@ -991,7 +991,6 @@ CreatePmap: + pMap->drawable.serialNumber = NEXT_SERIAL_NUMBER; + pMap->drawable.id = newPix->info[j].id; + if (!AddResource(newPix->info[j].id, RT_PIXMAP, (pointer)pMap)) { +- (*pScreen->DestroyPixmap)(pMap); + result = BadAlloc; + break; + } +@@ -1002,10 +1001,8 @@ CreatePmap: + } + + if(result == BadAlloc) { +- while(j--) { +- (*pScreen->DestroyPixmap)(pMap); ++ while(j--) + FreeResource(newPix->info[j].id, RT_NONE); +- } + free(newPix); + } else + AddResource(stuff->pid, XRT_PIXMAP, newPix); +@@ -1110,7 +1107,6 @@ CreatePmap: + { + return Success; + } +- pDraw->pScreen->DestroyPixmap(pMap); + } + return BadAlloc; + } +diff --git a/dix/dispatch.c b/dix/dispatch.c +index 192c8c3..f8200b1 100644 +--- a/dix/dispatch.c ++++ b/dix/dispatch.c +@@ -1419,7 +1419,6 @@ CreatePmap: + } + if (AddResource(stuff->pid, RT_PIXMAP, (pointer)pMap)) + return Success; +- (*pDraw->pScreen->DestroyPixmap)(pMap); + } + return BadAlloc; + } +-- +cgit v0.9.0.2-2-gbebe +From 347f5610ca023fb31485aa19c20607af8bf9c834 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho <carlosg@gnome.org> +Date: Tue, 30 Aug 2011 22:46:52 +0000 +Subject: Xi: Fix passive XI2 ungrabs on XIAll[Master]Devices + +The corresponding DeviceIntPtr wasn't being gotten properly, +resulting in BadDevice from dixLookupDevice(). + +Signed-off-by: Carlos Garnacho <carlosg@gnome.org> +Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> +Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> +(cherry picked from commit f52d5cd374563544dafe29587411f345e31bbdf8) +--- +diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c +index ae43433..5cdd8ac 100644 +--- a/Xi/xipassivegrab.c ++++ b/Xi/xipassivegrab.c +@@ -261,9 +261,16 @@ ProcXIPassiveUngrabDevice(ClientPtr client) + REQUEST(xXIPassiveUngrabDeviceReq); + REQUEST_AT_LEAST_SIZE(xXIPassiveUngrabDeviceReq); + +- rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGrabAccess); +- if (rc != Success) +- return rc; ++ if (stuff->deviceid == XIAllDevices) ++ dev = inputInfo.all_devices; ++ else if (stuff->deviceid == XIAllMasterDevices) ++ dev = inputInfo.all_master_devices; ++ else ++ { ++ rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGrabAccess); ++ if (rc != Success) ++ return rc; ++ } + + if (stuff->grab_type != XIGrabtypeButton && + stuff->grab_type != XIGrabtypeKeycode && +-- +cgit v0.9.0.2-2-gbebe +From e9ae33316012ffe9acfeeb7303ab3392c2ca2a2b Mon Sep 17 00:00:00 2001 +From: Sam Spilsbury <sam.spilsbury@canonical.com> +Date: Wed, 14 Sep 2011 01:58:34 +0000 +Subject: Remove the SendEvent bit (0x80) before doing range checks on event type. + +Some extension libraries may set this bit before converting the event to +wire protocol and as such range checking the event will cause an invalid +BadValue error to result. As the documentation suggests the the bit +should be "forced on", remove it before doing range checks and continue +to force it on in the server. + +Reviewed-by: Jamey Sharp <jamey@minilop.net> +Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> +(cherry picked from commit 2d2dce558d24eeea0eb011ec9ebaa6c5c2273c39) +--- +diff --git a/dix/events.c b/dix/events.c +index 8a4c6b9..9e58edb 100644 +--- a/dix/events.c ++++ b/dix/events.c +@@ -5224,6 +5224,8 @@ CloseDownEvents(void) + InputEventList = NULL; + } + ++#define SEND_EVENT_BIT 0x80 ++ + /** + * Server-side protocol handling for SendEvent request. + * +@@ -5241,6 +5243,16 @@ ProcSendEvent(ClientPtr client) + + REQUEST_SIZE_MATCH(xSendEventReq); + ++ /* libXext and other extension libraries may set the bit indicating ++ * that this event came from a SendEvent request so remove it ++ * since otherwise the event type may fail the range checks ++ * and cause an invalid BadValue error to be returned. ++ * ++ * This is safe to do since we later add the SendEvent bit (0x80) ++ * back in once we send the event to the client */ ++ ++ stuff->event.u.u.type &= ~(SEND_EVENT_BIT); ++ + /* The client's event type must be a core event type or one defined by an + extension. */ + +@@ -5298,7 +5310,7 @@ ProcSendEvent(ClientPtr client) + client->errorValue = stuff->propagate; + return BadValue; + } +- stuff->event.u.u.type |= 0x80; ++ stuff->event.u.u.type |= SEND_EVENT_BIT; + if (stuff->propagate) + { + for (;pWin; pWin = pWin->parent) +-- +cgit v0.9.0.2-2-gbebe +From b45e22675364915c32560c26404cf30d77ab68aa Mon Sep 17 00:00:00 2001 +From: Alan Hourihane <alanh@vmware.com> +Date: Wed, 05 Oct 2011 02:42:46 +0000 +Subject: dixfonts: Don't overwrite local c variable until new_closure is safely initialized. + +Signed-off-by: Alan Hourihane <alanh@vmware.com> +Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> +(cherry picked from commit 7a33c5b934382b5554f41ab1502514e91c9bc52e) +--- +diff --git a/dix/dixfonts.c b/dix/dixfonts.c +index fbac124..d2bcb84 100644 +--- a/dix/dixfonts.c ++++ b/dix/dixfonts.c +@@ -1302,31 +1302,30 @@ doPolyText(ClientPtr client, PTclosurePtr c) + goto bail; + } + *new_closure = *c; +- c = new_closure; + +- len = c->endReq - c->pElt; +- c->data = malloc(len); +- if (!c->data) ++ len = new_closure->endReq - new_closure->pElt; ++ new_closure->data = malloc(len); ++ if (!new_closure->data) + { +- free(c); ++ free(new_closure); + err = BadAlloc; + goto bail; + } +- memmove(c->data, c->pElt, len); +- c->pElt = c->data; +- c->endReq = c->pElt + len; ++ memmove(new_closure->data, new_closure->pElt, len); ++ new_closure->pElt = new_closure->data; ++ new_closure->endReq = new_closure->pElt + len; + + /* Step 2 */ + +- pGC = GetScratchGC(c->pGC->depth, c->pGC->pScreen); ++ pGC = GetScratchGC(new_closure->pGC->depth, new_closure->pGC->pScreen); + if (!pGC) + { +- free(c->data); +- free(c); ++ free(new_closure->data); ++ free(new_closure); + err = BadAlloc; + goto bail; + } +- if ((err = CopyGC(c->pGC, pGC, GCFunction | ++ if ((err = CopyGC(new_closure->pGC, pGC, GCFunction | + GCPlaneMask | GCForeground | + GCBackground | GCFillStyle | + GCTile | GCStipple | +@@ -1337,15 +1336,16 @@ doPolyText(ClientPtr client, PTclosurePtr c) + Success) + { + FreeScratchGC(pGC); +- free(c->data); +- free(c); ++ free(new_closure->data); ++ free(new_closure); + err = BadAlloc; + goto bail; + } ++ c = new_closure; + origGC = c->pGC; + c->pGC = pGC; + ValidateGC(c->pDraw, c->pGC); +- ++ + ClientSleep(client, (ClientSleepProcPtr)doPolyText, c); + + /* Set up to perform steps 3 and 4 */ +-- +cgit v0.9.0.2-2-gbebe +From bec15eb73a17fb47963ff6b747ea504f7dc05deb Mon Sep 17 00:00:00 2001 +From: Kirill Elagin <kirelagin@gmail.com> +Date: Tue, 04 Oct 2011 19:02:20 +0000 +Subject: Fix server crash due to invalid images + +See https://bugs.freedesktop.org/show_bug.cgi?id=39383 + +Signed-off-by: Kirill Elagin <kirelagin@gmail.com> +Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> +(cherry picked from commit 53611213396479abfdce0f7752681572e0d26d78) +--- +diff --git a/fb/fbpict.c b/fb/fbpict.c +index d1fd0cb..57c93fd 100644 +--- a/fb/fbpict.c ++++ b/fb/fbpict.c +@@ -163,7 +163,9 @@ create_bits_picture (PicturePtr pict, + (pixman_format_code_t)pict->format, + pixmap->drawable.width, pixmap->drawable.height, + (uint32_t *)bits, stride * sizeof (FbStride)); +- ++ ++ if (!image) ++ return NULL; + + #ifdef FB_ACCESS_WRAPPER + #if FB_SHIFT==5 +-- +cgit v0.9.0.2-2-gbebe +From 65469f5ea98074ab27ce0a2d482157b9d5c2cbc7 Mon Sep 17 00:00:00 2001 +From: vdb@picaros.org <vdb@picaros.org> +Date: Sat, 17 Sep 2011 16:55:47 +0000 +Subject: Fix a rare memory leak + +Signed-off-by: Servaas Vandenberghe <vdb@picaros.org> +Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> +(cherry picked from commit e4cddf509e1729e8ff40354275b65455111ad2bd) +--- +diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c +index c2814d4..3fae039 100644 +--- a/hw/xfree86/modes/xf86Crtc.c ++++ b/hw/xfree86/modes/xf86Crtc.c +@@ -133,6 +133,7 @@ xf86CrtcCreate (ScrnInfoPtr scrn, + crtcs = malloc((xf86_config->num_crtc + 1) * sizeof (xf86CrtcPtr)); + if (!crtcs) + { ++ free(crtc->gamma_red); + free(crtc); + return NULL; + } +-- +cgit v0.9.0.2-2-gbebe diff --git a/testing/xorg-server/revert-trapezoids.patch b/testing/xorg-server/revert-trapezoids.patch new file mode 100644 index 000000000..b9046c5cb --- /dev/null +++ b/testing/xorg-server/revert-trapezoids.patch @@ -0,0 +1,179 @@ +diff -ru a/fb/fbpict.c b/fb/fbpict.c +--- a/fb/fbpict.c 2011-08-01 01:44:24.000000000 +0200 ++++ b/fb/fbpict.c 2011-10-05 22:45:29.000000000 +0200 +@@ -364,7 +364,7 @@ + ps->Glyphs = miGlyphs; + ps->CompositeRects = miCompositeRects; + ps->RasterizeTrapezoid = fbRasterizeTrapezoid; +- ps->Trapezoids = fbTrapezoids; ++ ps->Trapezoids = miTrapezoids; + ps->AddTraps = fbAddTraps; + ps->AddTriangles = fbAddTriangles; + ps->Triangles = fbTriangles; +diff -ru a/render/mipict.c b/render/mipict.c +--- a/render/mipict.c 2011-04-04 05:19:50.000000000 +0200 ++++ b/render/mipict.c 2011-10-05 22:02:53.000000000 +0200 +@@ -573,6 +573,67 @@ + } + } + ++void ++miTrapezoids (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pDst, ++ PictFormatPtr maskFormat, ++ INT16 xSrc, ++ INT16 ySrc, ++ int ntrap, ++ xTrapezoid *traps) ++{ ++ ScreenPtr pScreen = pDst->pDrawable->pScreen; ++ PictureScreenPtr ps = GetPictureScreen(pScreen); ++ ++ /* ++ * Check for solid alpha add ++ */ ++ if (op == PictOpAdd && miIsSolidAlpha (pSrc)) ++ { ++ for (; ntrap; ntrap--, traps++) ++ (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0); ++ } ++ else if (maskFormat) ++ { ++ PicturePtr pPicture; ++ BoxRec bounds; ++ INT16 xDst, yDst; ++ INT16 xRel, yRel; ++ ++ xDst = traps[0].left.p1.x >> 16; ++ yDst = traps[0].left.p1.y >> 16; ++ ++ miTrapezoidBounds (ntrap, traps, &bounds); ++ if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2) ++ return; ++ pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat, ++ bounds.x2 - bounds.x1, ++ bounds.y2 - bounds.y1); ++ if (!pPicture) ++ return; ++ for (; ntrap; ntrap--, traps++) ++ (*ps->RasterizeTrapezoid) (pPicture, traps, ++ -bounds.x1, -bounds.y1); ++ xRel = bounds.x1 + xSrc - xDst; ++ yRel = bounds.y1 + ySrc - yDst; ++ CompositePicture (op, pSrc, pPicture, pDst, ++ xRel, yRel, 0, 0, bounds.x1, bounds.y1, ++ bounds.x2 - bounds.x1, ++ bounds.y2 - bounds.y1); ++ FreePicture (pPicture, 0); ++ } ++ else ++ { ++ if (pDst->polyEdge == PolyEdgeSharp) ++ maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1); ++ else ++ maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); ++ for (; ntrap; ntrap--, traps++) ++ miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps); ++ } ++} ++ + Bool + miPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats) + { +@@ -599,7 +660,7 @@ + ps->Composite = 0; /* requires DDX support */ + ps->Glyphs = miGlyphs; + ps->CompositeRects = miCompositeRects; +- ps->Trapezoids = 0; ++ ps->Trapezoids = miTrapezoids; + ps->Triangles = 0; + + ps->RasterizeTrapezoid = 0; /* requires DDX support */ +diff -ru a/render/mipict.h b/render/mipict.h +--- a/render/mipict.h 2011-04-04 05:19:50.000000000 +0200 ++++ b/render/mipict.h 2011-10-05 22:06:19.000000000 +0200 +@@ -129,6 +129,23 @@ + CARD32 pixel, + xRenderColor *color); + ++extern _X_EXPORT PicturePtr ++miCreateAlphaPicture (ScreenPtr pScreen, ++ PicturePtr pDst, ++ PictFormatPtr pPictFormat, ++ CARD16 width, ++ CARD16 height); ++ ++extern _X_EXPORT void ++miTrapezoids (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pDst, ++ PictFormatPtr maskFormat, ++ INT16 xSrc, ++ INT16 ySrc, ++ int ntrap, ++ xTrapezoid *traps); ++ + extern _X_EXPORT Bool + miIsSolidAlpha (PicturePtr pSrc); + +diff -ru a/render/mitrap.c b/render/mitrap.c +--- a/render/mitrap.c 2011-04-04 05:19:50.000000000 +0200 ++++ b/render/mitrap.c 2011-10-05 22:05:29.000000000 +0200 +@@ -34,6 +34,55 @@ + #include "picturestr.h" + #include "mipict.h" + ++PicturePtr ++miCreateAlphaPicture (ScreenPtr pScreen, ++ PicturePtr pDst, ++ PictFormatPtr pPictFormat, ++ CARD16 width, ++ CARD16 height) ++{ ++ PixmapPtr pPixmap; ++ PicturePtr pPicture; ++ GCPtr pGC; ++ int error; ++ xRectangle rect; ++ ++ if (width > 32767 || height > 32767) ++ return 0; ++ ++ if (!pPictFormat) ++ { ++ if (pDst->polyEdge == PolyEdgeSharp) ++ pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1); ++ else ++ pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8); ++ if (!pPictFormat) ++ return 0; ++ } ++ ++ pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, ++ pPictFormat->depth, 0); ++ if (!pPixmap) ++ return 0; ++ pGC = GetScratchGC (pPixmap->drawable.depth, pScreen); ++ if (!pGC) ++ { ++ (*pScreen->DestroyPixmap) (pPixmap); ++ return 0; ++ } ++ ValidateGC (&pPixmap->drawable, pGC); ++ rect.x = 0; ++ rect.y = 0; ++ rect.width = width; ++ rect.height = height; ++ (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect); ++ FreeScratchGC (pGC); ++ pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat, ++ 0, 0, serverClient, &error); ++ (*pScreen->DestroyPixmap) (pPixmap); ++ return pPicture; ++} ++ + static xFixed + miLineFixedX (xLineFixed *l, xFixed y, Bool ceil) + { + diff --git a/testing/xorg-xdm/LICENSE b/testing/xorg-xdm/LICENSE new file mode 100644 index 000000000..5f8d6fcc0 --- /dev/null +++ b/testing/xorg-xdm/LICENSE @@ -0,0 +1,132 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/app/ + +Copyright 1988, 1989, 1990, 1991, 1994, 1998 +The Open Group +Copyright 2002 Sun Microsystems, Inc. All rights reserved. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +prngc.c: +Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. +Copyright (c) 2001-2002 Damien Miller. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +dm_socket.h, dm_error.h, dm_auth.h +Copyright 1998 by Thomas E. Dickey <dickey@clark.net> + + All Rights Reserved + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name(s) of the above copyright +holders shall not be used in advertising or otherwise to promote the +sale, use or other dealings in this Software without prior written +authorization. + +genauth.c: +Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All +rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, and the entire permission notice in its entirety, + including the disclaimer of warranties. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF +WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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 NOT ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +Makefile.am +Copyright 2005 Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Red Hat makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/testing/xorg-xdm/PKGBUILD b/testing/xorg-xdm/PKGBUILD new file mode 100644 index 000000000..38924762a --- /dev/null +++ b/testing/xorg-xdm/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 140230 2011-10-10 10:30:55Z jgc $ +# Maintainer: Alexander Baldeck <alexander@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> +pkgname=xorg-xdm +pkgver=1.1.11 +pkgrel=1 +pkgdesc="X Display Manager" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft' 'consolekit') +makedepends=('pkgconfig' 'xorg-util-macros') +backup=(etc/X11/xdm/Xaccess etc/X11/xdm/Xresources etc/X11/xdm/Xservers etc/X11/xdm/xdm-config etc/pam.d/xdm etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xsession) +options=('!libtool') +source=(${url}/releases/individual/app/xdm-${pkgver}.tar.bz2 + Xsession-loginshell.patch + Xsession-xsm.patch + xdm-consolekit.patch + xdm.pam) +md5sums=('64a1af1f7eb69feae12e75d4cc3aaf19' + '234ae568e7b22cbc09433bb396ff3d80' + '2c30078c50bc653d72eb5114506eb313' + '46b11173b58e2241577d5ffd48ab8f8d' + '419d6289ba6f851135f5c70c0e3cbec4') +sha256sums=('d4da426ddea0124279a3f2e00a26db61944690628ee818a64df9d27352081c47' + 'fd3e7c20837b42a8ab111369fd6dc9612f9edb91c1f6904cca1d6a1fa3cfa0ff' + '77a1ce9bdf363591b72798db08b4df3589bd4e64737fd32cf9028f9245450edb' + '47190f311c97c0d85b1fcab47ee5a8575013db1200a5e30a57a7ea4ef3e0c23a' + '36cf924a893ef851855ebcdc5468523a9d182c3620698e01dffc35d05d74764b') + +build() { + cd "${srcdir}/xdm-${pkgver}" + patch -Np0 -i "${srcdir}/Xsession-loginshell.patch" + patch -Np1 -i "${srcdir}/Xsession-xsm.patch" + patch -Np1 -i "${srcdir}/xdm-consolekit.patch" + + autoreconf -fi + ./configure --prefix=/usr \ + --disable-xdm-auth \ + --disable-static \ + --with-xdmconfigdir=/etc/X11/xdm \ + --with-xdmscriptdir=/etc/X11/xdm \ + --with-pixmapdir=/usr/share/xdm/pixmaps + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/var/lib/xdm" + install -m755 -d "${pkgdir}/etc/pam.d" + install -m644 "${srcdir}/xdm.pam" "${pkgdir}/etc/pam.d/xdm" + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" + + sed -i -e 's/\/X11R6//g' "${pkgdir}"/etc/X11/xdm/* +} diff --git a/testing/xorg-xdm/Xsession-loginshell.patch b/testing/xorg-xdm/Xsession-loginshell.patch new file mode 100644 index 000000000..3710752ef --- /dev/null +++ b/testing/xorg-xdm/Xsession-loginshell.patch @@ -0,0 +1,15 @@ +--- config/Xsession.cpp.orig 2008-06-21 13:57:36.000000000 +0000 ++++ config/Xsession.cpp 2008-06-21 14:01:25.000000000 +0000 +@@ -56,11 +56,7 @@ + resources=$HOME/.Xresources + + if [ -s "$startup" ]; then +- if [ -x "$startup" ]; then +- exec "$startup" +- else +- exec /bin/sh "$startup" +- fi ++ exec /bin/sh -ls -c "$startup" + else + if [ -r "$resources" ]; then + BINDIR/xrdb -load "$resources" diff --git a/testing/xorg-xdm/Xsession-xsm.patch b/testing/xorg-xdm/Xsession-xsm.patch new file mode 100644 index 000000000..a2d4d6cc6 --- /dev/null +++ b/testing/xorg-xdm/Xsession-xsm.patch @@ -0,0 +1,22 @@ +diff -Naur xdm-1.1.8-orig/config/Xsession.cpp xdm-1.1.8/config/Xsession.cpp +--- xdm-1.1.8-orig/config/Xsession.cpp 2008-05-21 14:08:45.000000000 -0400 ++++ xdm-1.1.8/config/Xsession.cpp 2009-04-28 02:56:11.000000000 -0400 +@@ -54,6 +54,7 @@ + + startup=$HOME/.xsession + resources=$HOME/.Xresources ++xinitrc=$HOME/.xinitrc + + if [ -s "$startup" ]; then + if [ -x "$startup" ]; then +@@ -83,5 +84,9 @@ + exec `eval $XDESKTOP` + } + #endif +- exec BINDIR/xsm ++ if [ -r "$xinitrc" ]; then ++ exec /bin/sh -ls -c "$xinitrc" ++ else ++ exec /bin/sh -l /etc/X11/xinit/xinitrc ++ fi + fi diff --git a/testing/xorg-xdm/xdm-consolekit.patch b/testing/xorg-xdm/xdm-consolekit.patch new file mode 100644 index 000000000..7d85b97e0 --- /dev/null +++ b/testing/xorg-xdm/xdm-consolekit.patch @@ -0,0 +1,225 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -362,6 +362,20 @@ + + AM_CONDITIONAL(DYNAMIC_GREETER, test x$DYNAMIC_GREETER = xyes) + ++# ConsoleKit support ++AC_ARG_WITH(consolekit, AC_HELP_STRING([--with-consolekit], [Use ConsoleKit]), ++ [USE_CONSOLEKIT=$withval], [USE_CONSOLEKIT=yes]) ++if test x"$USE_CONSOLEKIT" != xno; then ++ PKG_CHECK_MODULES(CK_CONNECTOR, ck-connector, ++ [USE_CONSOLEKIT=yes], [USE_CONSOLEKIT=no]) ++ if test x"$USE_CONSOLEKIT" = xyes; then ++ AC_DEFINE([USE_CONSOLEKIT], 1, [Define to 1 to use ConsoleKit]) ++ XDM_CFLAGS="$XDM_CFLAGS $CK_CONNECTOR_CFLAGS -DUSE_CONSOLEKIT" ++ XDM_LIBS="$XDM_LIBS $CK_CONNECTOR_LIBS" ++ fi ++fi ++dnl AM_CONDITIONAL(USE_CONSOLEKIT, test$USE_CONSOLEKIT = xyes) ++ + # + # XDM + # +--- a/xdm/session.c ++++ b/xdm/session.c +@@ -66,6 +66,11 @@ + #endif + #endif /* USE_PAM */ + ++#ifdef USE_CONSOLEKIT ++#include <ck-connector.h> ++#include <dbus/dbus.h> ++#endif ++ + #ifdef __SCO__ + #include <prot.h> + #endif +@@ -472,6 +477,97 @@ + } + } + ++#ifdef USE_CONSOLEKIT ++ ++static CkConnector *connector; ++ ++static int openCKSession(struct verify_info *verify, struct display *d) ++{ ++ int ret; ++ DBusError error; ++ char *remote_host_name = ""; ++ dbus_bool_t is_local; ++ char *display_name = ""; ++ char *display_device = ""; ++ char devtmp[16]; ++ ++ if (!use_consolekit) ++ return 1; ++ ++ is_local = d->displayType.location == Local; ++ if (d->peerlen > 0 && d->peer) ++ remote_host_name = d->peer; ++ if (d->name) ++ display_name = d->name; ++ /* how can we get the corresponding tty at best...? */ ++ if (d->windowPath) { ++ display_device = strchr(d->windowPath, ':'); ++ if (display_device && display_device[1]) ++ display_device++; ++ else ++ display_device = d->windowPath; ++ snprintf(devtmp, sizeof(devtmp), "/dev/tty%s", display_device); ++ display_device = devtmp; ++ } ++ ++ connector = ck_connector_new(); ++ if (!connector) { ++ LogOutOfMem("ck_connector"); ++ return 0; ++ } ++ ++ dbus_error_init(&error); ++ ret = ck_connector_open_session_with_parameters( ++ connector, &error, ++ "unix-user", &verify->uid, ++ "x11-display", &display_name, ++ "x11-display-device", &display_device, ++ "remote-host-name", &remote_host_name, ++ "is-local", &is_local, ++ NULL); ++ if (!ret) { ++ if (dbus_error_is_set(&error)) { ++ LogError("Dbus error: %s\n", error.message); ++ dbus_error_free(&error); ++ } else { ++ LogError("ConsoleKit error\n"); ++ } ++ LogError("console-kit-daemon not running?\n"); ++ ck_connector_unref(connector); ++ connector = NULL; ++ return 0; ++ } ++ ++ verify->userEnviron = setEnv(verify->userEnviron, ++ "XDG_SESSION_COOKIE", ck_connector_get_cookie(connector)); ++ return 1; ++} ++ ++static void closeCKSession(void) ++{ ++ DBusError error; ++ ++ if (!connector) ++ return; ++ ++ dbus_error_init(&error); ++ if (!ck_connector_close_session(connector, &error)) { ++ if (dbus_error_is_set(&error)) { ++ LogError("Dbus error: %s\n", error.message); ++ dbus_error_free(&error); ++ } else { ++ LogError("ConsoleKit close error\n"); ++ } ++ LogError("console-kit-daemon not running?\n"); ++ } ++ ck_connector_unref(connector); ++ connector = NULL; ++} ++#else ++#define openCKSession(v,d) 1 ++#define closeCKSession() ++#endif ++ + void + SessionExit (struct display *d, int status, int removeAuth) + { +@@ -486,6 +580,8 @@ + } + #endif + ++ closeCKSession(); ++ + /* make sure the server gets reset after the session is over */ + if (d->serverPid >= 2 && d->resetSignal) + kill (d->serverPid, d->resetSignal); +@@ -568,6 +664,10 @@ + #ifdef USE_PAM + if (pamh) pam_open_session(pamh, 0); + #endif ++ ++ if (!openCKSession(verify, d)) ++ return 0; ++ + switch (pid = fork ()) { + case 0: + CleanUpChild (); +--- a/include/dm.h ++++ b/include/dm.h +@@ -325,6 +325,9 @@ + extern char *prngdSocket; + extern int prngdPort; + # endif ++#ifdef USE_CONSOLEKIT ++extern int use_consolekit; ++#endif + + extern char *greeterLib; + extern char *willing; +--- a/xdm/resource.c ++++ b/xdm/resource.c +@@ -68,6 +68,9 @@ + char *prngdSocket; + int prngdPort; + #endif ++#ifdef USE_CONSOLEKIT ++int use_consolekit; ++#endif + + char *greeterLib; + char *willing; +@@ -258,6 +261,10 @@ + "false"} , + { "willing", "Willing", DM_STRING, &willing, + ""} , ++#ifdef USE_CONSOLEKIT ++{ "consoleKit", "ConsoleKit", DM_BOOL, (char **) &use_consolekit, ++ "true"} , ++#endif + }; + + # define NUM_DM_RESOURCES (sizeof DmResources / sizeof DmResources[0]) +@@ -440,7 +447,11 @@ + {"-debug", "*debugLevel", XrmoptionSepArg, (caddr_t) NULL }, + {"-xrm", NULL, XrmoptionResArg, (caddr_t) NULL }, + {"-daemon", ".daemonMode", XrmoptionNoArg, "true" }, +-{"-nodaemon", ".daemonMode", XrmoptionNoArg, "false" } ++{"-nodaemon", ".daemonMode", XrmoptionNoArg, "false" }, ++#ifdef USE_CONSOLEKIT ++{"-consolekit", ".consoleKit", XrmoptionNoArg, "true" }, ++{"-noconsolekit", ".consoleKit", XrmoptionNoArg, "false" } ++#endif + }; + + static int originalArgc; +--- a/man/xdm.man ++++ b/man/xdm.man +@@ -51,6 +51,8 @@ + ] [ + .B \-session + .I session_program ++] [ ++.B \-noconsolekit + ] + .SH DESCRIPTION + .I Xdm +@@ -218,6 +220,10 @@ + .IP "\fB\-xrm\fP \fIresource_specification\fP" + Allows an arbitrary resource to be specified, as in most + X Toolkit applications. ++.IP "\fB\-noconsolekit\fP" ++Specifies ``false'' as the value for the \fBDisplayManager.consoleKit\fP ++resource. ++This suppresses the session management using ConsoleKit. + .SH RESOURCES + At many stages the actions of + .I xdm diff --git a/testing/xorg-xdm/xdm.pam b/testing/xorg-xdm/xdm.pam new file mode 100644 index 000000000..862b83fa2 --- /dev/null +++ b/testing/xorg-xdm/xdm.pam @@ -0,0 +1,8 @@ +#%PAM-1.0 +auth required pam_unix.so +auth required pam_nologin.so +auth required pam_env.so +account required pam_unix.so +password required pam_unix.so +session required pam_unix.so +session required pam_limits.so |