diff options
Diffstat (limited to 'libre')
98 files changed, 2539 insertions, 3151 deletions
diff --git a/libre/crosstool-ng/PKGBUILD b/libre/crosstool-ng/PKGBUILD index 5341fa6f5..bfb9c430b 100644 --- a/libre/crosstool-ng/PKGBUILD +++ b/libre/crosstool-ng/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar> pkgname=crosstool-ng -pkgver=1.13.2 +pkgver=1.14.1 pkgrel=1 pkgdesc="A versatile cross toolchain generator (eglibc addons patch)" arch=('i686' 'x86_64') @@ -26,4 +26,4 @@ package() { cd $srcdir/$pkgname-$pkgver make DESTDIR=$pkgdir install } -md5sums=('749cf70568ad07d1b13fdcd25b163553') +md5sums=('1e8e723df67c643ebdd529990607d5bf') diff --git a/libre/file-roller-libre/PKGBUILD b/libre/file-roller-libre/PKGBUILD index cfd053a4c..c5c343265 100644 --- a/libre/file-roller-libre/PKGBUILD +++ b/libre/file-roller-libre/PKGBUILD @@ -1,14 +1,15 @@ -# $Id: PKGBUILD 124730 2011-05-24 07:10:29Z ibiru $ -# Maintainer: Jan de Groot <jgc@archlinux.org> +# $Id: PKGBUILD 156381 2012-04-17 20:08:15Z ibiru $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> _pkgname=file-roller pkgname=file-roller-libre -pkgver=3.2.2 +pkgver=3.4.1 pkgrel=1 pkgdesc="Archive manipulator for GNOME" arch=('i686' 'x86_64') license=('GPL') -depends=('desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'dconf' 'nautilus') +depends=('desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'dconf') makedepends=('intltool' 'gnome-doc-utils' 'pkg-config' 'nautilus' 'libsm') optdepends=('ununrar: interface to unarchiver, the free RAR uncompression program' 'zip: creates PKZIP-compatible .zip files' @@ -23,19 +24,19 @@ conflicts=("$_pkgname") options=('!libtool' '!emptydirs') install=file-roller.install url="http://www.gnome.org" -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('de2c93e947f7aabf46124d6384b358c162a7ee1236e4930f2486684979d5ebe5') +source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz) +sha256sums=('94600d880ce65ab171a174a83519e4911f570fd000c33497b4805100029ebd8b') build() { - cd "${srcdir}/${_pkgname}-${pkgver}" + cd $_pkgname-$pkgver ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/file-roller \ --localstatedir=/var --disable-static \ - --disable-scrollkeeper --disable-schemas-compile + --disable-schemas-compile make } package() { - cd "${srcdir}/${_pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install + cd $_pkgname-$pkgver + make DESTDIR="$pkgdir" install } diff --git a/libre/file-roller-libre/file-roller.install b/libre/file-roller-libre/file-roller.install index 10a148241..8b17fa3d4 100644 --- a/libre/file-roller-libre/file-roller.install +++ b/libre/file-roller-libre/file-roller.install @@ -1,22 +1,13 @@ -pkgname=file-roller - post_install() { - glib-compile-schemas usr/share/glib-2.0/schemas + glib-compile-schemas /usr/share/glib-2.0/schemas update-desktop-database -q - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -pre_upgrade() { - if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then - usr/sbin/gconfpkg --uninstall ${pkgname} - fi + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor } post_upgrade() { - post_install $1 + post_install } - post_remove() { - post_install $1 + post_install } diff --git a/libre/file-roller-libre/rePKGBUILD b/libre/file-roller-libre/rePKGBUILD index d94638df2..a83d218f1 100644 --- a/libre/file-roller-libre/rePKGBUILD +++ b/libre/file-roller-libre/rePKGBUILD @@ -3,7 +3,7 @@ source PKGBUILD #CARCH=x86_64 unset build package md5sums source _repo=extra # Put the repo here -_mirror=ftp://ftp.archlinux.org # Put mirror here +_mirror=http://mirrors.kernel.org/archlinux # Put mirror here source=(PKGBUILD "${_mirror}/${_repo}/os/${CARCH}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT" # files for pkg modifications below this line diff --git a/libre/filesystem/PKGBUILD b/libre/filesystem/PKGBUILD index 90b39d121..94d5390ab 100644 --- a/libre/filesystem/PKGBUILD +++ b/libre/filesystem/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 155345 2012-04-01 23:43:12Z tomegun $ +# $Id: PKGBUILD 158070 2012-05-02 11:53:48Z tomegun $ # Maintainer: Tom Gundersen <teg@jklm.no> # Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar> # Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy> pkgname=filesystem pkgver=2012.2 -pkgrel=4 +pkgrel=5 pkgdesc='Base filesystem for Parabola' arch=('any') license=('GPL') @@ -43,7 +43,7 @@ package() { # # setup root filesystem # - for d in bin boot dev etc home lib/modules media mnt sbin usr var opt srv/http sys run; do + for d in bin boot dev etc home media mnt sbin usr var opt srv/http sys run; do install -d -m755 ${d} done install -d -m555 proc diff --git a/libre/foomatic/PKGBUILD b/libre/foomatic/PKGBUILD index bd5f8da17..5446bb579 100644 --- a/libre/foomatic/PKGBUILD +++ b/libre/foomatic/PKGBUILD @@ -60,7 +60,7 @@ package_foomatic-filters-libre() { optdepends=('perl: for the "beh" Backend End Handler used by cups' 'net-snmp: certain (mostly HP) printers need it to work') - cd ${srcdir}/foomatic-filters-${_filtersver} + cd ${srcdir}/${pkgname}-${_filtersver} ./configure --prefix=/usr --sysconfdir=/etc make make DESTDIR=${pkgdir} install @@ -87,3 +87,6 @@ package_foomatic-db-engine() { } +md5sums=('957a07820f47804ce76dbb59cd79cd1b' + '5283cd5125a96dc0b35d896326512b1a' + 'ccb72c201e14bfc5eb23ea839ecc0623') diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD index 29870d611..bc0480e6b 100644 --- a/libre/grub/PKGBUILD +++ b/libre/grub/PKGBUILD @@ -5,7 +5,7 @@ pkgname=grub pkgver=0.97 -pkgrel=21 +pkgrel=21.1 pkgdesc="A GNU multiboot boot loader (Parabola rebranded)" arch=('i686' 'x86_64') license=('GPL') @@ -13,9 +13,6 @@ url="http://www.gnu.org/software/grub/" groups=('base') depends=('ncurses' 'diffutils' 'sed') optdepends=('xfsprogs: freezing of xfs /boot in install-grub script') -replaces=('grub') -conflicts=('grub') -provides=("grub=$pkgver") source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz menu.lst install-grub diff --git a/libre/grub2/PKGBUILD b/libre/grub2/PKGBUILD index df7449cba..a5051900f 100644 --- a/libre/grub2/PKGBUILD +++ b/libre/grub2/PKGBUILD @@ -2,8 +2,8 @@ # Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> # Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> -_grub_bzr_rev="4169" -_pkgver="2.00~beta3" +_grub_bzr_rev="4232" +_pkgver="2.00~beta4" _grub_lua_ver=24 _grub_gpxe_ver=12 @@ -12,8 +12,8 @@ _grub_915_ver=9 pkgname=('grub2-common' 'grub2-bios' 'grub2-efi-i386') pkgbase=grub2 -pkgver=2.00beta3 -pkgrel=1.1 +pkgver=2.00beta4 +pkgrel=1 url="http://www.gnu.org/software/grub/" arch=('i686' 'x86_64') license=('GPL3') @@ -30,23 +30,24 @@ source=("http://alpha.gnu.org/gnu/grub/grub-${_pkgver}".tar.xz 'parabola_grub_mkconfig_fixes.patch' 'grub.default' 'grub.cfg' - '20_memtest86+') + '20_memtest86+' + 'grub-install.fix') noextract=("grub2_extras_lua_r${_grub_lua_ver}.tar.xz" "grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz" "grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz" "grub2_extras_915resolution_r${_grub_915_ver}.tar.xz") -sha1sums=('96bfdf4d53767faaf2c744ee82d4d703e4b672a2' +sha1sums=('72d7f46a67dd7e958105e7faac72e646ef6e9f11' '89290031b974780c6df76893836d2477d4add895' 'b04994c005910b4bf123f034b30109d5c8d6fd86' 'eb4b35b4c36b64f9405cbcbc538cb205171c1c0a' 'd5ae2efec25616028a9d89e98b6e454f1c4c415f' - 'bf8e692c3920f0cf125ee77f14b8432133cae84d' + '31aa740fc225b3f3ed4917843038f9e8658a71be' '348b148d5183825f31a3d24a7ebf2d6a709f4e6a' - '6f0870673b9f994163326a416432aee7eacdbfc5' - 'ce35d7ae75cd1b5b677e894e528f96add40e77b9') - + '9735043d518e16f147f64ef283eceb2549fed860' + 'ce35d7ae75cd1b5b677e894e528f96add40e77b9' + '4ff0e12e65fb1d4d3f2a16e82eaaa43940b7dde7') _build_grub2-common_and_bios() { ## copy the source for building the common/bios package @@ -57,6 +58,10 @@ _build_grub2-common_and_bios() { patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch" echo + ## upstream grub-install fix + ## http://lists.gnu.org/archive/html/help-grub/2012-04/msg00096.html + patch -Np0 -i "${srcdir}/grub-install.fix" + ## add the grub-extra sources export GRUB_CONTRIB="${srcdir}/grub_bios-${_pkgver}/grub-extras/" install -d "${srcdir}/grub_bios-${_pkgver}/grub-extras" @@ -188,7 +193,7 @@ build() { package_grub2-common() { - pkgdesc="The GNU GRand Unified Bootloader version 2 - Files common for all platforms" + pkgdesc="The GNU GRand Unified Bootloader version 2 - Files common for all platforms (Parabola rebranded)" depends=('xz' 'freetype2' 'gettext' 'device-mapper' 'fuse' 'sh') conflicts=('grub') backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom') diff --git a/libre/grub2/archlinux_grub2_mkconfig_fixes.patch b/libre/grub2/archlinux_grub2_mkconfig_fixes.patch deleted file mode 100644 index ef4b10ee6..000000000 --- a/libre/grub2/archlinux_grub2_mkconfig_fixes.patch +++ /dev/null @@ -1,130 +0,0 @@ -diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in -index 859c2e8..c754dd7 100644 ---- a/util/grub-mkconfig.in -+++ b/util/grub-mkconfig.in -@@ -242,6 +242,8 @@ export GRUB_DEFAULT \ - GRUB_THEME \ - GRUB_GFXPAYLOAD_LINUX \ - GRUB_DISABLE_OS_PROBER \ -+ GRUB_COLOR_NORMAL \ -+ GRUB_COLOR_HIGHLIGHT \ - GRUB_INIT_TUNE \ - GRUB_SAVEDEFAULT \ - GRUB_ENABLE_CRYPTODISK \ -diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in -index d9bcc15..a93dcb7 100644 ---- a/util/grub.d/00_header.in -+++ b/util/grub.d/00_header.in -@@ -100,6 +100,14 @@ cat <<EOF - - EOF - -+if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then -+ cat << EOF -+set menu_color_normal=$GRUB_COLOR_NORMAL -+set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT -+ -+EOF -+fi -+ - serial=0; - gfxterm=0; - for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do -diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index bc738f2..a6ab326 100644 ---- a/util/grub.d/10_linux.in -+++ b/util/grub.d/10_linux.in -@@ -31,8 +31,8 @@ CLASS="--class gnu-linux --class gnu --class os" - if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then - OS=GNU/Linux - else -- OS="${GRUB_DISTRIBUTOR} GNU/Linux" -- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}" -+ OS="${GRUB_DISTRIBUTOR}" -+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | tr -d ' ') ${CLASS}" - fi - - # loop-AES arranges things so that /dev/loop/X can be our root device, but -@@ -48,7 +48,7 @@ if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" - || uses_abstraction "${GRUB_DEVICE}" lvm; then - LINUX_ROOT_DEVICE=${GRUB_DEVICE} - else -- LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID} -+ LINUX_ROOT_DEVICE="/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" - fi - - if [ "x`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`" = xbtrfs ]; then -@@ -65,7 +65,9 @@ linux_entry () - version="$2" - recovery="$3" - args="$4" -- if ${recovery} ; then -+ if [ -n "$5" ] ; then -+ title="$(gettext_quoted "%s, with Linux %s") $5" -+ elif ${recovery} ; then - title="$(gettext_quoted "%s, with Linux %s (recovery mode)")" - else - title="$(gettext_quoted "%s, with Linux %s")" -@@ -113,7 +115,9 @@ EOF - fi - printf '%s\n' "${prepare_boot_cache}" - fi -+ - message="$(gettext_printf "Loading Linux %s ..." ${version})" -+ - cat << EOF - echo '$message' - linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} -@@ -132,11 +136,11 @@ EOF - - case x`uname -m` in - xi?86 | xx86_64) -- list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do -+ list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* /boot/vmlinuz26-* ; do - if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi - done` ;; - *) -- list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do -+ list=`for i in /boot/vmlinuz* /boot/vmlinux* /vmlinuz* /vmlinux* /boot/kernel-* ; do - if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi - done` ;; - esac -@@ -151,16 +155,19 @@ while [ "x$list" != "x" ] ; do - dirname=`dirname $linux` - rel_dirname=`make_system_path_relative_to_its_root $dirname` - version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` -- alt_version=`echo $version | sed -e "s,\.old$,,g"` -+ base_init=`echo $basename | sed -e "s,vmlinuz,initramfs,g"` -+ alt_version="${base_init}-fallback" - linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" - - initrd= -+ - for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \ - "initrd-${version}" "initramfs-${version}.img" \ - "initrd.img-${alt_version}" "initrd-${alt_version}.img" \ - "initrd-${alt_version}" "initramfs-${alt_version}.img" \ - "initramfs-genkernel-${version}" \ -- "initramfs-genkernel-${alt_version}"; do -+ "initramfs-genkernel-${alt_version}" \ -+ "${basename/vmlinuz/initramfs}.img" "${basename/vmlinuz/kernel}.img"; do - if test -e "${dirname}/${i}" ; then - initrd="$i" - break -@@ -190,6 +197,16 @@ while [ "x$list" != "x" ] ; do - - linux_entry "${OS}" "${version}" false \ - "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -+ for i in "initramfs-${version}-fallback.img" \ -+ "${basename/vmlinuz/initramfs}-fallback.img" "${basename/vmlinuz/kernel}-fallback.img"; do -+ if test -e "${dirname}/${i}"; then -+ initrd="$i" -+ linux_entry "${OS}" "${version}" true \ -+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" Fallback -+ break -+ fi -+ done -+ - if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then - linux_entry "${OS}" "${version}" true \ - "single ${GRUB_CMDLINE_LINUX}" diff --git a/libre/grub2/archlinux_grub_mkconfig_fixes.patch b/libre/grub2/archlinux_grub_mkconfig_fixes.patch deleted file mode 100644 index 4b4cba92a..000000000 --- a/libre/grub2/archlinux_grub_mkconfig_fixes.patch +++ /dev/null @@ -1,141 +0,0 @@ -diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in -index df3b733..65a7fff 100644 ---- a/util/grub-mkconfig.in -+++ b/util/grub-mkconfig.in -@@ -213,6 +213,8 @@ export GRUB_DEFAULT \ - GRUB_THEME \ - GRUB_GFXPAYLOAD_LINUX \ - GRUB_DISABLE_OS_PROBER \ -+ GRUB_COLOR_NORMAL \ -+ GRUB_COLOR_HIGHLIGHT \ - GRUB_INIT_TUNE \ - GRUB_SAVEDEFAULT \ - GRUB_ENABLE_CRYPTODISK \ -diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in -index 765bfdc..b148558 100644 ---- a/util/grub.d/00_header.in -+++ b/util/grub.d/00_header.in -@@ -115,6 +115,14 @@ cat <<EOF - - EOF - -+if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then -+ cat << EOF -+set menu_color_normal=$GRUB_COLOR_NORMAL -+set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT -+ -+EOF -+fi -+ - serial=0; - gfxterm=0; - for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do -diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index 8c75fab..0d4a137 100644 ---- a/util/grub.d/10_linux.in -+++ b/util/grub.d/10_linux.in -@@ -87,6 +87,8 @@ linux_entry () - case $type in - recovery) - title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;; -+ fallback) -+ title="$(gettext_printf "%s, with Linux %s (Fallback initramfs)" "${os}" "${version}")" ;; - *) - title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;; - esac -@@ -100,7 +102,7 @@ linux_entry () - else - echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/" - fi -- if [ x$type != xrecovery ] ; then -+ if [ x$type != xrecovery ] && [ x$type != xfallback ] ; then - save_default_entry | sed -e "s/^/\t/" - fi - -@@ -132,7 +134,8 @@ linux_entry () - fi - printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" - fi -- message="$(gettext_printf "Loading Linux %s ..." ${version})" -+ -+ message="$(gettext_printf "Loading Linux %s ..." "${version}")" - sed "s/^/$submenu_indentation/" << EOF - echo '$message' - linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} -@@ -181,13 +184,29 @@ while [ "x$list" != "x" ] ; do - alt_version=`echo $version | sed -e "s,\.old$,,g"` - linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" - -+ if test -e "/etc/arch-release" ; then -+ if echo "${basename}" | grep -q 'vmlinuz-linux' ; then -+ version="`echo "${basename}" | sed -e 's,vmlinuz-linux,,g'`" -+ -+ if [ "x${version}" = "x" ] ; then -+ version="core repo kernel" -+ else -+ version="`echo "${version}" | sed -e 's,-,,g'`" -+ version="${version} kernel" -+ fi -+ fi -+ fi -+ - initrd= -+ initrd_arch="`echo "${basename}" | sed -e 's,vmlinuz,initramfs,g'`" -+ - for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \ - "initrd-${version}" "initramfs-${version}.img" \ - "initrd.img-${alt_version}" "initrd-${alt_version}.img" \ - "initrd-${alt_version}" "initramfs-${alt_version}.img" \ - "initramfs-genkernel-${version}" \ -- "initramfs-genkernel-${alt_version}"; do -+ "initramfs-genkernel-${alt_version}" \ -+ "${initrd_arch}.img" ; do - if test -e "${dirname}/${i}" ; then - initrd="$i" - break -@@ -215,6 +234,22 @@ while [ "x$list" != "x" ] ; do - linux_root_device_thisversion=${GRUB_DEVICE} - fi - -+ if test -e "/etc/arch-release" ; then -+ is_first_entry="false" -+ -+ linux_entry "${OS}" "${version}" true \ -+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -+ -+ for i in "${initrd_arch}-fallback.img" "initramfs-${version}-fallback.img" ; do -+ if test -e "${dirname}/${i}" ; then -+ initrd="${i}" -+ linux_entry "${OS}" "${version}" fallback \ -+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -+ break -+ fi -+ done -+ fi -+ - if [ "x$is_first_entry" = xtrue ]; then - linux_entry "${OS}" "${version}" simple \ - "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -@@ -228,8 +263,11 @@ while [ "x$list" != "x" ] ; do - echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {" - fi - -+ if ! test -e "/etc/arch-release" ; then - linux_entry "${OS}" "${version}" advanced \ - "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -+ fi -+ - if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then - linux_entry "${OS}" "${version}" recovery \ - "single ${GRUB_CMDLINE_LINUX}" -@@ -241,8 +279,10 @@ done - - # If at least one kernel was found, then we need to - # add a closing '}' for the submenu command. -+if ! test -e "/etc/arch-release" ; then - if [ x"$is_first_entry" != xtrue ]; then - echo '}' - fi -+fi - - echo "$title_correction_code" diff --git a/libre/grub2/grub-install.fix b/libre/grub2/grub-install.fix new file mode 100644 index 000000000..29e74bd44 --- /dev/null +++ b/libre/grub2/grub-install.fix @@ -0,0 +1,11 @@ +=== modified file 'grub-core/kern/emu/hostdisk.c' +--- grub-core/kern/emu/hostdisk.c 2012-04-18 21:48:52 +0000 ++++ grub-core/kern/emu/hostdisk.c 2012-04-19 18:35:06 +0000 +@@ -1081,7 +1081,7 @@ + { + int fd; + grub_disk_addr_t max = ~0ULL; +- fd = open_device (disk, sector, O_RDONLY, &max); ++ fd = open_device (disk, sector, O_WRONLY, &max); + if (fd < 0) + return grub_errno; diff --git a/libre/grub2/grub.cfg b/libre/grub2/grub.cfg index 4f5a21991..6e60c70c4 100644 --- a/libre/grub2/grub.cfg +++ b/libre/grub2/grub.cfg @@ -69,7 +69,7 @@ set timeout=5 ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/10_linux ### -menuentry 'Parabola GNU/Linux-libre, with Linux libre' --class parabolagnu/linux-libre --class gnu-linux --class gnu --class os { +menuentry 'Parabola GNU/Linux-libre, with Linux libre' --class parabola --class gnu-linux --class gnu --class os { load_video set gfxpayload=keep insmod gzio @@ -86,7 +86,7 @@ menuentry 'Parabola GNU/Linux-libre, with Linux libre' --class parabolagnu/linux echo 'Loading initial ramdisk ...' initrd /initramfs-linux-libre.img } -menuentry 'Parabola GNU/Linux-libre, with Linux libre Fallback' --class parabolagnu/linux-libre --class gnu-linux --class gnu --class os { +menuentry 'Parabola GNU/Linux-libre, with Linux libre Fallback' --class parabola --class gnu-linux --class gnu --class os { load_video set gfxpayload=keep insmod gzio diff --git a/libre/grub2/parabola_grub_mkconfig_fixes.patch b/libre/grub2/parabola_grub_mkconfig_fixes.patch index d199dc86a..19022aec6 100644 --- a/libre/grub2/parabola_grub_mkconfig_fixes.patch +++ b/libre/grub2/parabola_grub_mkconfig_fixes.patch @@ -1,5 +1,5 @@ diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in -index df3b733..65a7fff 100644 +index 516be86..5f37db2 100644 --- a/util/grub-mkconfig.in +++ b/util/grub-mkconfig.in @@ -213,6 +213,8 @@ export GRUB_DEFAULT \ @@ -31,7 +31,7 @@ index 765bfdc..b148558 100644 gfxterm=0; for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index 8c75fab..0d4a137 100644 +index 14402e8..64c9bb5 100644 --- a/util/grub.d/10_linux.in +++ b/util/grub.d/10_linux.in @@ -31,7 +31,7 @@ @@ -71,7 +71,7 @@ index 8c75fab..0d4a137 100644 sed "s/^/$submenu_indentation/" << EOF echo '$message' linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} -@@ -181,13 +184,29 @@ while [ "x$list" != "x" ] ; do +@@ -190,7 +193,22 @@ while [ "x$list" != "x" ] ; do alt_version=`echo $version | sed -e "s,\.old$,,g"` linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" @@ -94,15 +94,17 @@ index 8c75fab..0d4a137 100644 for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \ "initrd-${version}" "initramfs-${version}.img" \ "initrd.img-${alt_version}" "initrd-${alt_version}.img" \ - "initrd-${alt_version}" "initramfs-${alt_version}.img" \ +@@ -198,7 +216,8 @@ while [ "x$list" != "x" ] ; do "initramfs-genkernel-${version}" \ -- "initramfs-genkernel-${alt_version}"; do -+ "initramfs-genkernel-${alt_version}" \ + "initramfs-genkernel-${alt_version}" \ + "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \ +- "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do ++ "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \ + "${initrd_arch}.img" ; do if test -e "${dirname}/${i}" ; then initrd="$i" break -@@ -215,6 +234,22 @@ while [ "x$list" != "x" ] ; do +@@ -226,6 +245,22 @@ while [ "x$list" != "x" ] ; do linux_root_device_thisversion=${GRUB_DEVICE} fi @@ -125,7 +127,7 @@ index 8c75fab..0d4a137 100644 if [ "x$is_first_entry" = xtrue ]; then linux_entry "${OS}" "${version}" simple \ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -@@ -228,8 +263,11 @@ while [ "x$list" != "x" ] ; do +@@ -239,8 +274,11 @@ while [ "x$list" != "x" ] ; do echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {" fi @@ -137,7 +139,7 @@ index 8c75fab..0d4a137 100644 if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then linux_entry "${OS}" "${version}" recovery \ "single ${GRUB_CMDLINE_LINUX}" -@@ -241,8 +279,10 @@ done +@@ -252,8 +290,10 @@ done # If at least one kernel was found, then we need to # add a closing '}' for the submenu command. diff --git a/libre/gstreamer0.10-bad-libre/PKGBUILD b/libre/gstreamer0.10-bad-libre/PKGBUILD index 71e834c3d..c27cf61f9 100644 --- a/libre/gstreamer0.10-bad-libre/PKGBUILD +++ b/libre/gstreamer0.10-bad-libre/PKGBUILD @@ -6,7 +6,7 @@ pkgbase=gstreamer0.10-bad-libre pkgname=('gstreamer0.10-bad-libre' 'gstreamer0.10-bad-libre-plugins') pkgver=0.10.23 -pkgrel=1 +pkgrel=1.2 arch=('i686' 'x86_64') license=('LGPL' 'GPL') makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.36' 'xvidcore' 'libdca' 'bzip2' 'libdc1394' 'neon' 'musicbrainz' 'faad2' 'libmms' 'libcdaudio' 'libmpcdec' 'mjpegtools' 'libdvdnav' 'libmodplug' 'jasper' 'liblrdf' 'libofa' 'soundtouch' 'libvdpau' 'schroedinger' 'libass' 'libvpx' 'gsm' 'libgme' 'rtmpdump' 'libsndfile' 'librsvg') @@ -43,7 +43,7 @@ package_gstreamer0.10-bad-libre-plugins() { depends=("gstreamer0.10-bad-libre=${pkgver}" 'xvidcore' 'libdca' 'bzip2' 'libdc1394' 'neon' 'musicbrainz' 'faad2' 'libmms' 'libcdaudio' 'libmpcdec' 'mjpegtools' 'libdvdnav' 'libmodplug' 'jasper' 'liblrdf' 'libofa' 'libvdpau' 'soundtouch' 'libass' 'schroedinger' 'libvpx' 'gsm' 'rtmpdump' 'libgme' 'libsndfile' 'librsvg') groups=('gstreamer0.10-plugins') install=gstreamer0.10-bad-plugins.install - provides=("gstreamer0.10-bad-plugins-libre=$pkgver") + provides=("gstreamer0.10-bad-plugins=$pkgver") conflicts=('gstreamer0.10-bad-plugins') replaces=('gstreamer0.10-bad-plugins') diff --git a/libre/iceweasel-i18n/PKGBUILD b/libre/iceweasel-i18n/PKGBUILD index 0743504ee..aac75c23c 100644 --- a/libre/iceweasel-i18n/PKGBUILD +++ b/libre/iceweasel-i18n/PKGBUILD @@ -9,8 +9,8 @@ # - Run 'make'. It will take care of everything else for you. _debname=iceweasel -_debver=11.0 -_debrel=2 +_debver=12.0 +_debrel=3 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -56,87 +56,87 @@ package_iceweasel-i18n-$(echo $lang | tr A-Z a-z)() { " done -md5sums=('c11d65787c3f2848e0b582115e50c3ca' - 'f579bb571a43c33d6a13fd71f7853331' - '5ec94ba1055f11e8a33674a3ea623fca' - '7598e4409463c98c6f358a49c0e0e864' - 'f3a7156974b43a7829e68e82e6dd749a' - '2cd6d08c82a59cee5454d3da763d9808' - '3b5529e7d1a6c87e9a99b251bb008b9f' - 'f1eb67cbc423a49dd4b4f85e1f50034c' - '76c39cc1134b4074283fe080a1d0b29e' - '1b282bba90202701fa63fc21b44e78d5' - '77f818359b98fdd2a23b40989f9f56c6' - 'cbd8fb3d20a5269ac728c717ebd1d98c' - '83e2314c8b80d0fd551fa083d89cef70' - 'e68bed0670b4a82dbd66512e8ca130c7' - '48ea629311ec141de087474ad95fa122' - '9c1849045f0004e49c240061358b244f' - '72bce5d1aa3e6b21f6b7e7b6f2c8d4f2' - '224a5bb2ee4fdde8cc20e79a70e30eab' - 'e856bf522ad406c3b17e605a922a149f' - 'e522dd90baf0fdc61fbd45a496993fed' - 'adc195bb74d8d84f768ab0077c6c80b2' - 'a8012c48c890655c1ef1826f900f7cd3' - 'fad33e552bd6fb805a5c92325c649eff' - 'cad39ebafc45aad5d32f115fa1839ac0' - '238fa3a6a33cd30ad2712510cc578baa' - '5dadee4c8eca35353e811b93a6602860' - '67c7d7ab47d8cd636d6849f9fda68fe7' - 'b7cf88fe4b118aea853978c7ff43eb57' - 'c0aa19616cf37148a7f33789c9e88deb' - '806a1b78d92c1e6504051f2c6bf2cdcf' - '92ee27275709f2c81f229f40d032da23' - '6f7369cff0c0680f52394d9caee7b136' - '2adba18d2bd10051950f1b37325ddbce' - 'a2e1834d4b28fa8dea5b8d01adcedb7e' - '929bfa11831b267b419a1b09b4d614d4' - 'fe5ea0a2cc3ee9b45618517a2a6cd162' - '45cd4f3e44046bfdc78848d12a0983f9' - '7f7681277e566052e6831377b1bcd479' - 'f136cefdb1b7a8b9fc18cba540414fcc' - 'e714caf6fc74f9978ca5911310f33f10' - '7a745b384d1ee293decce327189d49e8' - '5b22c59215b6ce6d3fd588305a6429f6' - 'b6f1f722168a7e2dc70b02c199e96198' - 'e490e5a65c40cd60ba64e4511f1dcef1' - '640c52cb0b2e4f8ae0d7206fb3db3b33' - 'a42b31f567dcc8032360caa684df1c08' - 'd8da0314598179ac5c3479dd397d7827' - '7e065b66f0673c3801ee7f37ff33344d' - 'c8c5d1646483013fa249b3a839523e53' - 'abf1db7ea2e8014e135f324cf3efc141' - '8a352420c9580fe3c930a4b3c4d3530e' - '465ca43f628d0567b3de36626b54bf40' - '6cc860dae180ed5f80916759da290a9d' - 'b0d97a60501760c78f520ba4151427a7' - '829311af6d4d0d78378fdcfd2cfccc68' - 'b54daae60d32b270a44b891fdb61e3b5' - '39246a00ea31552326d0ea52f8eb1f05' - 'e49074be0a43ebc9810d89c24de75268' - '281f20486ae5b6caadfc5504e7f036ac' - '740c3a38b45788378c6c5db795d31ee1' - '296df42d755d93032b9a3dc619bc502d' - '74b59fa4676d2779f8e1081ac253b122' - 'a92960238a2c942c4b49b0f4187d0a71' - '230fbd4b3e6a65545b4a37ec1549d0e6' - 'e606f5a9db88334a6cb33086340f4ff7' - '0b52b803abe1acb1e137a57fe0497746' - '00ddf2c8c6adfcd51230dd469d01ec75' - '254303860ecc7c25157f08a4d55a4f68' - '70d037f9c5c8f25e2b335c7016f17b58' - 'b3da484dade70c544d4f0e6a829ef806' - '05347b208889b3e4aa86d9a6dccda71d' - 'a2212a06adac1aa6b74bc2f7e9de2af2' - '371d5e9b0a10feec5e05d3fdfd949bc6' - '63611b468b7d41a0470385e19a849a8d' - 'dc691a55cc7f95018e4178e6e794a1a4' - '90723a80c36b85006fa7514641cd2f2a' - '918683079f1d037d05a9a38b05d4ca51' - '77dda2b5fd59bcdb66918b4d13b486ae' - '33c2d8bff6cdf141614457c71fcf5d36' - '08990457e150c081e0f505515c15df09' - '379c5ede369994f016745e7dd83dfe54' - '15062007856eb66b04c26694a7f35727' - '569b1a54a9ca0b8149f151eb4cf57957' - '970928f01c78b094a2c054e58cd85bff') +md5sums=('fdc26152b54486a948a728661f8ab11e' + 'e562af9f01291998b896bc53bf6aba16' + '9215e8243093ff847584ea8c7f1c7c83' + '3c5beb3d7b098e8c2fab538572025833' + '8e8f4c702dcf2fcbc674074d773fbd19' + '6325201c0f037e2b04f3b05bb0ed5d1e' + '3b1981500fb29c75ce133e0788a8b047' + '4fc0f63f4502a5199a22df393e1be70a' + 'ae4e5d00352af74772667747196b042d' + 'bc1c8e7c5f204190ea218c29401db904' + '8a874573c401104d48cb24da4598ffdb' + 'a18d313752494bffc87a7b1c43190658' + 'f6941a7750d79c3e109fbcbb8e8d556c' + '6f1c6511b7dbb4bb04426d1f2668c5db' + '9da2a35b8290cf464f64e85120155994' + 'fb3d0941157fcecfda5357abf7f0306c' + '88c22e0ad3f8446cb28b456d926b6f25' + '1b9bb929cf423c86cddeafd82ff2157b' + 'f11a3716a8bec5b47c49cced3bab2e0a' + '602a77c93492cd22125acb1a01c58ff7' + '4cfe91686b96158b03d2decccc1ee061' + 'f29fc3ad3453ab7e7783e4efe7241e4a' + '5d0c0bc5b4ee5ff1f737ceee59bc58ac' + '0f92d7936c0c8d634fc34ecd9fa0c818' + 'ebec0d2a3cb7f9009feeab04b85eb1e4' + '614b558dbb542e110e1c2e4b14fac68f' + '3c80e996a4fa346ead550f6c9b039b78' + '62d677645772fcb565d7c34637a04c1a' + '33bf6972e34f40ca895c972a6866bdf5' + 'c5e56f7737ec87ed227b19ec552ab14f' + '2463810a14dc597e3a805a3ad3942052' + '18e02ba748af00e5e4a5af017f517dd1' + '7b1a880b3cbb3d16f93d52033a0f196a' + 'f6d0bffdbe4b808ec4ee18b99ca931a2' + '9b7e3404aaf49a7a50d88945c38e1831' + '6187062347af3c308e345660e930b0fb' + 'd6e3deb4973866203945db1dd7e43b9f' + '04b9c470aeb5ef80bf3436a7b38124bd' + '57fe3e895474d4227b118ac57a015db6' + '5abde249ab842e5a07fd453f738007a0' + 'a5029e6616a915efba05b309ec3a1dd2' + '89fc0ad5223a865c2976278254e24669' + 'cefe577c4968552e78c9e58c7c50df5b' + '2dd4d2dc18fcc041c1904ec6d912824e' + '64ad03589794f5355ba4d6817a67fe9c' + '474e665e2bc7c559f783de0874a94124' + '2aad7732725a26c2630343d168e00914' + '307a23861dd38d7a3f736b66ce8f7312' + '5a85085bf567b56191e925eb2446c5b6' + '63d753f419bde879bdc3033ed29a1e58' + '24b8ef0373ce6496cc945cbfbf21f766' + '6f15470f4bc232e0bc537d3e5aad155c' + '5fdf086b77ed23976ecf685cbc4a5efa' + 'e9280a821e2c3f695f545294b24862aa' + 'b218456438e28f9cd970fda28f15b453' + '1059a40fa591f08ea6dec1a096e98118' + 'a14da03cd1b4fe7a50d6ed96445ef9e6' + '2e6abd26cafb68f467adf565613422df' + '4f3b79c8110f2faec8cf3c4ba6222a9d' + 'b483786f1f6f609c9d67df11f23e706d' + 'd01a29080b95f2c4a6d74634e0078945' + '3654f0ad3f6eae33ff4fe436fbebb8de' + '223f7b8f072e03487cb2fbbec26641d3' + '03e8128272968738b58344cd01cdef63' + '7bd7ecdffa53bae01e7bf7adc7fe220c' + 'fbbc913b4d8b59e8018e471c24b18d9e' + '4f9b8ab17d3ed9d7685ea1daf984f5bf' + '1930f34b007a486369c56897b8a1377b' + 'aacf0daa35a92a5ea8b45d86988b0885' + '77ccb32332a25ca1ada8d477055e6627' + '756e90672edfef472dfa35f35df2e829' + '134148bdf5932ff930dc430857e96219' + 'ba9365cbcc51381433ca7a17ded1c93d' + '5d67b0ee04937d1b6b69ef5589a53d2e' + '1de0a25ba58808643b457fe17a9be58d' + '61434129ef46488ecc95dc6ee591be35' + 'aece6d4e04abca82da646f8c0e3185b5' + '4a4dc9d34fed02ce54d9a08168a3adbc' + 'e4c650c0693f6b2737810164e59d3806' + '054065a11e05c0dabaa17822c2eb4566' + 'c89e866ef8e9725e87c145e6331eacd2' + '809e3c05b97e8355f24f3f06c91aaac7' + '6de5d7ab27611dfa27dfb484120ce8e5' + 'e0f34617d3d44570fb4d0637b088c765') diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD index 3ef4da470..66e441d75 100644 --- a/libre/iceweasel-libre/PKGBUILD +++ b/libre/iceweasel-libre/PKGBUILD @@ -12,8 +12,8 @@ _pgo=false # We're getting this from Debian Sid _debname=iceweasel -_debver=11.0 -_debrel=2 +_debver=12.0 +_debrel=3 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -48,17 +48,19 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2" libre.patch iceweasel-install-dir.patch region.properties - vendor.js) -md5sums=('01d9d18909ca9fff2483d8fd779a0f89' - '59349da94b095fe0623d09ce75696766' - 'f407208a750cdc9bea3a6a3a3e42dd89' - 'eab149c1994ab14392e55af3abb08e80' + vendor.js + gcc47.patch) +md5sums=('b45f57bfe21b0e6db4f0683e794917cb' + '2b66fb2e51631ef3b07de89ef9d17d0c' + '552adcf5da3b07757e7fe29c8bd2ec2d' + '34786fca48963a7bea5d55d17a406c35' 'ac29b01c189f20abae2f3eef1618ffc0' 'a485a2b5dc544a8a2bd40c985d2e5813' - 'addd3a3420cebeda152b447705b086e9' + '64be2fab525189c285ee04495d628035' 'e529742c0a425648087bc3ce537fe4c5' 'f1c76e7e244257856a386ca2de69bdf0' - '0d053487907de4376d67d8f499c5502b') + '0d053487907de4376d67d8f499c5502b' + '79e471e0bd03b1d4e84fd3a6776bd619') if [ "$_pkgname" != "$pkgname" ]; then provides+=("$_pkgname=$pkgver") @@ -95,6 +97,7 @@ if [ $NOEXTRACT -eq 0 ]; then cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch patch -Np1 -i "$srcdir/iceweasel-install-dir.patch" # install to /usr/lib/$_pkgname + patch -Np1 -i "$srcdir/gcc47.patch" # fix to compile with gcc47 patch -Np1 -i "$srcdir/xulrunner-copy-stub.patch" # small fix patch -Np1 -i "$srcdir/libre.patch" fi diff --git a/libre/iceweasel-libre/gcc47.patch b/libre/iceweasel-libre/gcc47.patch new file mode 100644 index 000000000..829d59510 --- /dev/null +++ b/libre/iceweasel-libre/gcc47.patch @@ -0,0 +1,75 @@ + +# HG changeset patch +# User Martin Stránský <stransky@redhat.com> +# Date 1328886461 -3600 +# Node ID 87a5ed480992788832387ba91a77c69fbe9fe349 +# Parent 67017dd3b7f6650e6bcd5b6f545e0309e8de7049 +Bug 725655 - gcc 4.7 build failures (missing headers). r=benjamin + +diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc +--- a/ipc/chromium/src/base/file_util_linux.cc ++++ b/ipc/chromium/src/base/file_util_linux.cc +@@ -1,15 +1,18 @@ + // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + + #include "base/file_util.h" + + #include <fcntl.h> ++#if defined(ANDROID) || defined(OS_POSIX) ++#include <unistd.h> ++#endif + + #include <string> + #include <vector> + + #include "base/eintr_wrapper.h" + #include "base/file_path.h" + #include "base/string_util.h" + +diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc +--- a/ipc/chromium/src/base/message_pump_libevent.cc ++++ b/ipc/chromium/src/base/message_pump_libevent.cc +@@ -1,16 +1,19 @@ + // Copyright (c) 2008 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + + #include "base/message_pump_libevent.h" + + #include <errno.h> + #include <fcntl.h> ++#if defined(ANDROID) || defined(OS_POSIX) ++#include <unistd.h> ++#endif + + #include "eintr_wrapper.h" + #include "base/logging.h" + #include "base/scoped_nsautorelease_pool.h" + #include "base/scoped_ptr.h" + #include "base/time.h" + #include "third_party/libevent/event.h" + +diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc +--- a/ipc/chromium/src/base/time_posix.cc ++++ b/ipc/chromium/src/base/time_posix.cc +@@ -8,16 +8,19 @@ + #include <mach/mach_time.h> + #endif + #include <sys/time.h> + #ifdef ANDROID + #include <time64.h> + #else + #include <time.h> + #endif ++#if defined(ANDROID) || defined(OS_POSIX) ++#include <unistd.h> ++#endif + + #include <limits> + + #include "base/basictypes.h" + #include "base/logging.h" + + namespace base { diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch index c1bb0a8c7..ecebbb3ce 100644 --- a/libre/iceweasel-libre/libre.patch +++ b/libre/iceweasel-libre/libre.patch @@ -9,12 +9,12 @@ diff -urN iceweasel-9.0.1.orig/browser/app/profile/firefox.js iceweasel-9.0.1/br -pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%"); -pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%"); -pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=firefox"); --pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%"); -++pref("extensions.getAddons.get.url", ""); -++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html"); -++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html"); -++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html"); -++pref("extensions.webservice.discoverURL", "http://www.gnu.org/s/gnuzilla/addons.html"); +-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%/%COMPATIBILITY_MODE%"); ++pref("extensions.getAddons.get.url", ""); ++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html"); ++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html"); ++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html"); ++pref("extensions.webservice.discoverURL", "http://www.gnu.org/s/gnuzilla/addons.html"); // Blocklist preferences pref("extensions.blocklist.enabled", true); @@ -135,23 +135,23 @@ diff -urN iceweasel-9.0.1.orig/layout/ipc/test-ipcbrowser.xul iceweasel-9.0.1/la diff -urN iceweasel-9.0.1.orig/mobile/xul/app/mobile.js iceweasel-9.0.1/mobile/xul/app/mobile.js --- mozilla-build/mobile/xul/app/mobile.js.orig 2012-03-20 01:02:30.300551777 -0300 +++ mozilla-build/mobile/xul/app/mobile.js 2012-03-20 01:02:40.820551342 -0300 -@@ -218,13 +218,12 @@ +@@ -220,13 +220,12 @@ /* preferences for the Get Add-ons pane */ pref("extensions.getAddons.cache.enabled", true); pref("extensions.getAddons.maxResults", 15); -pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/mobile/recommended/"); -pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/list/featured/all/%MAX_RESULTS%/%OS%/%VERSION%"); -pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/mobile/search?q=%TERMS%"); --pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%"); +-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%"); -pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/mobile/"); -pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%"); -pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%"); -++pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html"); -++pref("extensions.getAddons.recommended.url", "http://www.gnu.org/s/gnuzilla/addons.html"); -++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html"); -++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html"); -++pref("extensions.getAddons.browseAddons", "http://www.gnu.org/s/gnuzilla/addons.html"); -++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html"); ++pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html"); ++pref("extensions.getAddons.recommended.url", "http://www.gnu.org/s/gnuzilla/addons.html"); ++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html"); ++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html"); ++pref("extensions.getAddons.browseAddons", "http://www.gnu.org/s/gnuzilla/addons.html"); ++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html"); /* preference for the locale picker */ pref("extensions.getLocales.get.url", ""); diff --git a/libre/iceweasel-libre/mozconfig b/libre/iceweasel-libre/mozconfig index e79896323..77690ba6b 100644 --- a/libre/iceweasel-libre/mozconfig +++ b/libre/iceweasel-libre/mozconfig @@ -15,7 +15,7 @@ ac_add_options --with-system-libvpx ac_add_options --enable-system-hunspell ac_add_options --enable-system-sqlite ac_add_options --enable-system-ffi -ac_add_options --enable-system-cairo +#ac_add_options --enable-system-cairo ac_add_options --enable-system-pixman ac_add_options --with-pthreads diff --git a/libre/initscripts/PKGBUILD b/libre/initscripts/PKGBUILD index f8b70de29..e58947f8d 100644 --- a/libre/initscripts/PKGBUILD +++ b/libre/initscripts/PKGBUILD @@ -1,18 +1,19 @@ # $Id: PKGBUILD 144989 2011-12-13 15:25:38Z tomegun $ # Maintainer: Tom Gundersen <teg@jklm.no> -# Maintainer: Aaron Griffin <aaron@archlinux.org> +# Contributor: Thomas Bächler <thomas@archlinux.org> +# Contributor: Aaron Griffin <aaron@archlinux.org> # Maintainer (Parabola): Nicolas Reynolds <fauno@kiwwwi.com.ar> pkgname=initscripts -pkgver=2012.02.1 -pkgrel=1 +pkgver=2012.05.2 +pkgrel=2 pkgdesc="System initialization/bootup scripts (Parabola branding)" arch=('any') url="https://parabolagnulinux.org" license=('GPL2') groups=('base') backup=(etc/inittab etc/rc.conf etc/rc.local etc/rc.local.shutdown etc/conf.d/wireless) -depends=('glibc' 'bash' 'grep' 'coreutils' 'udev>=174' 'iproute2' +depends=('glibc' 'bash' 'grep' 'coreutils' 'udev>=182' 'udev<=183' 'iproute2' 'ncurses' 'kbd' 'findutils' 'sysvinit') optdepends=('bridge-utils: Network bridging support' 'dhcpcd: DHCP network configuration' @@ -22,11 +23,11 @@ makedepends=(asciidoc) install=initscripts.install source=("https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.xz" 'wireless.conf.d') +md5sums=('2b845c1c6660b32720aa12aa5f9649be' + '027576534885b8d5dded9be546057b12') package() { cd ${srcdir}/${pkgname}-${pkgver} make DESTDIR=${pkgdir} install install -D -m644 ${srcdir}/wireless.conf.d ${pkgdir}/etc/conf.d/wireless } -md5sums=('db7506749d240cbe1e5988d3a81d72a9' - '027576534885b8d5dded9be546057b12') diff --git a/libre/kdebase-konqueror-libre/PKGBUILD b/libre/kdebase-konqueror-libre/PKGBUILD index 719cd3a4f..9507f4e0a 100644 --- a/libre/kdebase-konqueror-libre/PKGBUILD +++ b/libre/kdebase-konqueror-libre/PKGBUILD @@ -6,7 +6,7 @@ _pkgname='kdebase-konqueror' pkgname='kdebase-konqueror-libre' -pkgver=4.8.2 +pkgver=4.8.3 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') url="http://kde.org/applications/internet/konqueror/" @@ -15,7 +15,7 @@ groups=('kde' 'kdebase') makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml') source=("http://download.kde.org/stable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz" "konq-about-fsdg.diff") -sha1sums=('13dc2e6c8639feadc9a5a334d0720a60b1e3ccb6' +sha1sums=('593053e7fdd50b32e6f9264edf2a69e499ddc0a6' 'f41541371414dcbe5e76687835e648112b3ff364') pkgdesc='KDE File Manager & Web Browser' depends=('kdebase-dolphin' 'kdebase-keditbookmarks') diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD index aa2a51ddb..933527aa9 100644 --- a/libre/kdelibs-libre/PKGBUILD +++ b/libre/kdelibs-libre/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 155359 2012-04-02 12:16:32Z andrea $ +# $Id: PKGBUILD 158132 2012-05-03 13:20:07Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org # Contributor: Pierre Schmitz <pierre@archlinux.de> # Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> _pkgname=kdelibs pkgname=kdelibs-libre -pkgver=4.8.2 +pkgver=4.8.3 pkgrel=1 pkgdesc="KDE Core Libraries" arch=('i686' 'x86_64' 'mips64el') @@ -24,7 +24,7 @@ source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar. 'kde-applications-menu.patch' 'use-pythondontwritebytecode.patch' 'khtml-fsdg.diff') -sha1sums=('f844ae0877880563361144d9577706064c3483e7' +sha1sums=('50633efa4ea2a133e51bf55286ff754c46f2eae2' '86ee8c8660f19de8141ac99cd6943964d97a1ed7' 'a1e35760d5b4e29471ad357c963a343c67200f32' 'a1502a964081ad583a00cf90c56e74bf60121830') diff --git a/libre/kdenetwork-libre/PKGBUILD b/libre/kdenetwork-libre/PKGBUILD index 6e231389d..0ffef5573 100644 --- a/libre/kdenetwork-libre/PKGBUILD +++ b/libre/kdenetwork-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 154726 2012-03-30 16:15:21Z andrea $ +# $Id: PKGBUILD 158333 2012-05-03 17:21:20Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> # Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> @@ -12,8 +12,8 @@ pkgname=('kdenetwork-filesharing' 'kdenetwork-kppp' 'kdenetwork-krdc' 'kdenetwork-krfb') -pkgver=4.8.2 -pkgrel=1 +pkgver=4.8.3 +pkgrel=2 arch=('i686' 'x86_64') url='http://www.kde.org' license=('GPL' 'LGPL' 'FDL') @@ -22,12 +22,16 @@ makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp' 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' 'libmsn' 'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu' 'libktorrent' 'libmms' 'mediastreamer') -source=("http://download.kde.org/stable/${pkgver}/src/${_pkgbase}-${pkgver}.tar.xz") -sha1sums=('a899a9ef1637612a5ec14bb3ff950f3ed565d60e') +source=("http://download.kde.org/stable/${pkgver}/src/${_pkgbase}-${pkgver}.tar.xz" + 'gcc47.patch') +sha1sums=('9da87317c6a10243d6fff8c121c04146415f65cd' + '0e1325569e296d98e7b1be12305c1c018104685b') build() { - cd "${srcdir}" + cd "${srcdir}"/${_pkgbase}-${pkgver} + patch -p4 -i "${srcdir}"/gcc47.patch + cd "${srcdir}" # Based on http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/make-kdenetwork, revision 34. sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' "${_pkgbase}-${pkgver}/kopete/protocols/CMakeLists.txt" rm -rf "${_pkgbase}-${pkgver}/kopete/protocols/skype" @@ -41,7 +45,8 @@ build() { -DCMAKE_INSTALL_PREFIX=/usr \ -DMOZPLUGIN_INSTALL_DIR=/usr/lib/mozilla/plugins/ \ -DWITH_Xmms=OFF \ - -DWITH_LibMeanwhile=OFF + -DWITH_LibMeanwhile=OFF \ + -DWITH_qq=OFF make } diff --git a/libre/kdenetwork-libre/gcc47.patch b/libre/kdenetwork-libre/gcc47.patch new file mode 100644 index 000000000..78af901dc --- /dev/null +++ b/libre/kdenetwork-libre/gcc47.patch @@ -0,0 +1,59 @@ +--- branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/socketaddress.cc 2012/05/03 16:03:23 1292761 ++++ branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/socketaddress.cc 2012/05/03 16:11:00 1292762 +@@ -31,6 +31,7 @@ + #include <netinet/in.h> + #include <arpa/inet.h> + #include <netdb.h> ++#include <unistd.h> + #endif + + #include <cstring> +--- branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/ssladapter.cc 2012/05/03 16:03:23 1292761 ++++ branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/ssladapter.cc 2012/05/03 16:11:00 1292762 +@@ -27,6 +27,12 @@ + + #include "talk/base/ssladapter.h" + ++#ifdef POSIX ++extern "C" { ++#include <unistd.h> ++} ++#endif ++ + #if !defined(SSL_USE_SCHANNEL) && !defined(SSL_USE_OPENSSL) + #ifdef WIN32 + #define SSL_USE_SCHANNEL 1 +--- branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/stringutils.h 2012/05/03 16:03:23 1292761 ++++ branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/stringutils.h 2012/05/03 16:11:00 1292762 +@@ -198,15 +198,6 @@ + } + + template<class CTYPE> +-size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) { +- va_list args; +- va_start(args, format); +- size_t len = vsprintfn(buffer, buflen, format, args); +- va_end(args); +- return len; +-} +- +-template<class CTYPE> + size_t vsprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, + va_list args) { + int len = vsnprintf(buffer, buflen, format, args); +@@ -217,6 +208,15 @@ + return len; + } + ++template<class CTYPE> ++size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) { ++ va_list args; ++ va_start(args, format); ++ size_t len = vsprintfn(buffer, buflen, format, args); ++ va_end(args); ++ return len; ++} ++ + /////////////////////////////////////////////////////////////////////////////// + // Allow safe comparing and copying ascii (not UTF-8) with both wide and + // non-wide character strings. diff --git a/libre/kdeutils-ark-libre/PKGBUILD b/libre/kdeutils-ark-libre/PKGBUILD index 8f3ff312b..0bda68d17 100644 --- a/libre/kdeutils-ark-libre/PKGBUILD +++ b/libre/kdeutils-ark-libre/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 154731 2012-03-30 16:15:36Z andrea $ +# $Id: PKGBUILD 158207 2012-05-03 13:23:51Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> _pkgname=kdeutils-ark pkgname=kdeutils-ark-libre -pkgver=4.8.2 +pkgver=4.8.3 pkgrel=1 pkgdesc='Archiving Tool' url='http://kde.org/applications/utilities/ark/' @@ -19,7 +19,7 @@ replaces=('kdeutils-ark') conflicts=('kdeutils-ark') install=${_pkgname}.install source=("http://download.kde.org/stable/${pkgver}/src/ark-${pkgver}.tar.xz") -sha1sums=('d39be864ed818dd49aeba84ca4c02c0e5813eadf') +sha1sums=('9ff1fff082f53f31d0d31f2570005ae551fd2164') build() { cd "${srcdir}" diff --git a/libre/liferea-libre/PKGBUILD b/libre/liferea-libre/PKGBUILD index 5f0c234e2..7a1b8cfcc 100644 --- a/libre/liferea-libre/PKGBUILD +++ b/libre/liferea-libre/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 154470 2012-03-28 23:15:22Z eric $ +# $Id: PKGBUILD 156321 2012-04-17 02:30:26Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> # Contributor (Parabola): bitlord # Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy> _pkgname=liferea pkgname=liferea-libre -pkgver=1.8.4 +pkgver=1.8.5 pkgrel=1 pkgdesc="A desktop news aggregator for online news feeds and weblogs" arch=('i686' 'x86_64') @@ -20,8 +20,8 @@ options=('!libtool' '!emptydirs') install=liferea.install source=(http://downloads.sourceforge.net/sourceforge/${_pkgname}/${_pkgname}-${pkgver}.tar.gz remove-non-free-suggestions.patch) -sha1sums=('f887a3928116f56e1b68719c150d40bd1c3c6dff' - '0d68c567c3d37932a49709c58c37c3f138fd19cb') +sha1sums=('076cde160fff49a4b8c59fdae0571659ce8acd88' + '0d68c567c3d37932a49709c58c37c3f138fd19cb') build() { cd "${srcdir}/${_pkgname}-${pkgver}" diff --git a/libre/lilo/.directory b/libre/lilo/.directory new file mode 100644 index 000000000..ba03b0e05 --- /dev/null +++ b/libre/lilo/.directory @@ -0,0 +1,2 @@ +[Dolphin] +Timestamp=2012,5,3,19,29,58 diff --git a/libre/lilo/PKGBUILD b/libre/lilo/PKGBUILD index 169037bc2..8103a1ac1 100644 --- a/libre/lilo/PKGBUILD +++ b/libre/lilo/PKGBUILD @@ -5,7 +5,7 @@ pkgname=lilo pkgver=23.2 -pkgrel=3 +pkgrel=3.1 pkgdesc="A bootloader for Linux (Parabola rebranded)" arch=('i686' 'x86_64') url="https://alioth.debian.org/projects/lilo/" @@ -19,9 +19,6 @@ backup=('etc/lilo.conf') depends=('device-mapper' 'coreutils') makedepends=('bin86' 'sharutils') optdepends=('perl: to use keytab-lilo') -replaces=('lilo') -conflicts=('lilo') -provides=("lilo=$pkgver") install=lilo.install options=('!makeflags') source=("http://lilo.alioth.debian.org/ftp/sources/${pkgname}-${pkgver}.tar.gz" diff --git a/libre/linux-libre-api-headers/PKGBUILD b/libre/linux-libre-api-headers/PKGBUILD index 0a449ef3e..72f4c464d 100644 --- a/libre/linux-libre-api-headers/PKGBUILD +++ b/libre/linux-libre-api-headers/PKGBUILD @@ -5,8 +5,9 @@ # toolchain build order: linux-libre-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=linux-libre-api-headers -pkgver=3.3 -_basever=3.3 +_basekernel=3.3 +_sublevel=2 +pkgver=${_basekernel}.${_sublevel} pkgrel=1 pkgdesc="Kernel Libre headers sanitized for use in userspace" arch=('i686' 'x86_64' 'mips64el') @@ -15,20 +16,24 @@ license=('GPL2') provides=("linux-api-headers=${pkgver}" "kernel-headers=${pkgver}") conflicts=('linux-api-headers' 'kernel-headers') replaces=('linux-api-headers' 'kernel-headers') -source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basever}-gnu/linux-libre-${_basever}-gnu.tar.xz") - #"http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basever}-gnu-${pkgver}-gnu.xz") -md5sums=('5487da14ca81715a469c7594d39722fa') +source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz") +md5sums=('5487da14ca81715a469c7594d39722fa' + 'b43d3bdecfa355bf45bd1154819e3687') build() { - cd ${srcdir}/linux-${_basever} - [[ $pkgver != $_basever ]] && patch -Np1 -i ${srcdir}/patch-${_basever}-gnu-${pkgver}-gnu + cd ${srcdir}/linux-${_basekernel} + + if [ "${_basekernel}" != "${pkgver}" ]; then + patch -Np1 -i "${srcdir}/patch-${_basekernel}-gnu-${pkgver}-gnu" + fi make mrproper make headers_check } package() { - cd ${srcdir}/linux-${_basever} + cd ${srcdir}/linux-${_basekernel} make INSTALL_HDR_PATH=${pkgdir}/usr headers_install # use headers from libdrm diff --git a/libre/linux-libre-lts/.directory b/libre/linux-libre-lts/.directory index 60156bc93..89e875be9 100644 --- a/libre/linux-libre-lts/.directory +++ b/libre/linux-libre-lts/.directory @@ -1,2 +1,2 @@ [Dolphin] -Timestamp=2012,3,15,16,10,14 +Timestamp=2012,4,16,17,55,34 diff --git a/libre/linux-libre-lts/CVE-2012-0056.patch b/libre/linux-libre-lts/CVE-2012-0056.patch deleted file mode 100644 index 4098f3506..000000000 --- a/libre/linux-libre-lts/CVE-2012-0056.patch +++ /dev/null @@ -1,269 +0,0 @@ -From e268337dfe26dfc7efd422a804dbb27977a3cccc Mon Sep 17 00:00:00 2001 -From: Linus Torvalds <torvalds@linux-foundation.org> -Date: Tue, 17 Jan 2012 15:21:19 -0800 -Subject: proc: clean up and fix /proc/<pid>/mem handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Linus Torvalds <torvalds@linux-foundation.org> - -commit e268337dfe26dfc7efd422a804dbb27977a3cccc upstream. - -Jüri Aedla reported that the /proc/<pid>/mem handling really isn't very -robust, and it also doesn't match the permission checking of any of the -other related files. - -This changes it to do the permission checks at open time, and instead of -tracking the process, it tracks the VM at the time of the open. That -simplifies the code a lot, but does mean that if you hold the file -descriptor open over an execve(), you'll continue to read from the _old_ -VM. - -That is different from our previous behavior, but much simpler. If -somebody actually finds a load where this matters, we'll need to revert -this commit. - -I suspect that nobody will ever notice - because the process mapping -addresses will also have changed as part of the execve. So you cannot -actually usefully access the fd across a VM change simply because all -the offsets for IO would have changed too. - -Reported-by: Jüri Aedla <asd@ut.ee> -Cc: Al Viro <viro@zeniv.linux.org.uk> -Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - fs/proc/base.c | 145 +++++++++++++++------------------------------------------ - 1 file changed, 39 insertions(+), 106 deletions(-) - ---- a/fs/proc/base.c -+++ b/fs/proc/base.c -@@ -194,65 +194,7 @@ static int proc_root_link(struct inode * - return result; - } - --static struct mm_struct *__check_mem_permission(struct task_struct *task) --{ -- struct mm_struct *mm; -- -- mm = get_task_mm(task); -- if (!mm) -- return ERR_PTR(-EINVAL); -- -- /* -- * A task can always look at itself, in case it chooses -- * to use system calls instead of load instructions. -- */ -- if (task == current) -- return mm; -- -- /* -- * If current is actively ptrace'ing, and would also be -- * permitted to freshly attach with ptrace now, permit it. -- */ -- if (task_is_stopped_or_traced(task)) { -- int match; -- rcu_read_lock(); -- match = (tracehook_tracer_task(task) == current); -- rcu_read_unlock(); -- if (match && ptrace_may_access(task, PTRACE_MODE_ATTACH)) -- return mm; -- } -- -- /* -- * No one else is allowed. -- */ -- mmput(mm); -- return ERR_PTR(-EPERM); --} -- --/* -- * If current may access user memory in @task return a reference to the -- * corresponding mm, otherwise ERR_PTR. -- */ --static struct mm_struct *check_mem_permission(struct task_struct *task) --{ -- struct mm_struct *mm; -- int err; -- -- /* -- * Avoid racing if task exec's as we might get a new mm but validate -- * against old credentials. -- */ -- err = mutex_lock_killable(&task->signal->cred_guard_mutex); -- if (err) -- return ERR_PTR(err); -- -- mm = __check_mem_permission(task); -- mutex_unlock(&task->signal->cred_guard_mutex); -- -- return mm; --} -- --struct mm_struct *mm_for_maps(struct task_struct *task) -+static struct mm_struct *mm_access(struct task_struct *task, unsigned int mode) - { - struct mm_struct *mm; - int err; -@@ -263,7 +205,7 @@ struct mm_struct *mm_for_maps(struct tas - - mm = get_task_mm(task); - if (mm && mm != current->mm && -- !ptrace_may_access(task, PTRACE_MODE_READ)) { -+ !ptrace_may_access(task, mode)) { - mmput(mm); - mm = ERR_PTR(-EACCES); - } -@@ -272,6 +214,11 @@ struct mm_struct *mm_for_maps(struct tas - return mm; - } - -+struct mm_struct *mm_for_maps(struct task_struct *task) -+{ -+ return mm_access(task, PTRACE_MODE_READ); -+} -+ - static int proc_pid_cmdline(struct task_struct *task, char * buffer) - { - int res = 0; -@@ -816,38 +763,39 @@ static const struct file_operations proc - - static int mem_open(struct inode* inode, struct file* file) - { -- file->private_data = (void*)((long)current->self_exec_id); -+ struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); -+ struct mm_struct *mm; -+ -+ if (!task) -+ return -ESRCH; -+ -+ mm = mm_access(task, PTRACE_MODE_ATTACH); -+ put_task_struct(task); -+ -+ if (IS_ERR(mm)) -+ return PTR_ERR(mm); -+ - /* OK to pass negative loff_t, we can catch out-of-range */ - file->f_mode |= FMODE_UNSIGNED_OFFSET; -+ file->private_data = mm; -+ - return 0; - } - - static ssize_t mem_read(struct file * file, char __user * buf, - size_t count, loff_t *ppos) - { -- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); -+ int ret; - char *page; - unsigned long src = *ppos; -- int ret = -ESRCH; -- struct mm_struct *mm; -+ struct mm_struct *mm = file->private_data; - -- if (!task) -- goto out_no_task; -+ if (!mm) -+ return 0; - -- ret = -ENOMEM; - page = (char *)__get_free_page(GFP_TEMPORARY); - if (!page) -- goto out; -- -- mm = check_mem_permission(task); -- ret = PTR_ERR(mm); -- if (IS_ERR(mm)) -- goto out_free; -- -- ret = -EIO; -- -- if (file->private_data != (void*)((long)current->self_exec_id)) -- goto out_put; -+ return -ENOMEM; - - ret = 0; - -@@ -874,13 +822,7 @@ static ssize_t mem_read(struct file * fi - } - *ppos = src; - --out_put: -- mmput(mm); --out_free: - free_page((unsigned long) page); --out: -- put_task_struct(task); --out_no_task: - return ret; - } - -@@ -889,27 +831,15 @@ static ssize_t mem_write(struct file * f - { - int copied; - char *page; -- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); - unsigned long dst = *ppos; -- struct mm_struct *mm; -+ struct mm_struct *mm = file->private_data; - -- copied = -ESRCH; -- if (!task) -- goto out_no_task; -+ if (!mm) -+ return 0; - -- copied = -ENOMEM; - page = (char *)__get_free_page(GFP_TEMPORARY); - if (!page) -- goto out_task; -- -- mm = check_mem_permission(task); -- copied = PTR_ERR(mm); -- if (IS_ERR(mm)) -- goto out_free; -- -- copied = -EIO; -- if (file->private_data != (void *)((long)current->self_exec_id)) -- goto out_mm; -+ return -ENOMEM; - - copied = 0; - while (count > 0) { -@@ -933,13 +863,7 @@ static ssize_t mem_write(struct file * f - } - *ppos = dst; - --out_mm: -- mmput(mm); --out_free: - free_page((unsigned long) page); --out_task: -- put_task_struct(task); --out_no_task: - return copied; - } - -@@ -959,11 +883,20 @@ loff_t mem_lseek(struct file *file, loff - return file->f_pos; - } - -+static int mem_release(struct inode *inode, struct file *file) -+{ -+ struct mm_struct *mm = file->private_data; -+ -+ mmput(mm); -+ return 0; -+} -+ - static const struct file_operations proc_mem_operations = { - .llseek = mem_lseek, - .read = mem_read, - .write = mem_write, - .open = mem_open, -+ .release = mem_release, - }; - - static ssize_t environ_read(struct file *file, char __user *buf, diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index 790ea5e0b..e8de15b08 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -9,10 +9,10 @@ pkgname=('linux-libre-lts' 'linux-libre-lts-headers') # Build stock -LIBRE kerne # pkgname=linux-custom # Build kernel with a different name _kernelname=-LIBRE-LTS _basekernel=3.0 -_sublevel=27 +_sublevel=30 pkgver=${_basekernel}.${_sublevel} -_lxopkgver=${_basekernel}.26 # nearly always the same as pkgver -pkgrel=1 +_lxopkgver=${_basekernel}.30 # nearly always the same as pkgver +pkgrel=2 arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -32,17 +32,17 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'ext4-options.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('5f64180fe7df4e574dac5911b78f5067' - '365d490f97b1960c8880eb22257d5ef0' - 'c7acde811ca6808b294dc06480048c61' - '792766d6d403cc967977f6a46aa95d1d' - 'd2c0701480bce49fd4b40dc46b9863f1' + '930220b973c8d439397bc5217f1e629a' + 'df7e69a7b238c6492b589cc2beb894d2' + '2ef390e115d6ae1c074c30fec9258442' + 'c072b17032e80debc6a8626299245d46' '2967cecc3af9f954ccc822fd63dca6ff' '8267264d9a8966e57fdacd1fa1fc65c4' '04b21c79df0a952c22d681dd4f4562df' '9d3c56a4b999c8bfbd4018089a62f662' '263725f20c0b9eb9c353040792d644e5' 'f36222e7ce20c8e4dc27376f9be60f6c' - '40e46dd7c7ffe2f4276ea91a0aad5fd4') + '0b9bffe2183ffec89f348d890dbff26d') if [ "$CARCH" != "mips64el" ]; then # Don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] @@ -141,7 +141,7 @@ build() { package_linux-libre-lts() { pkgdesc="The Linux-libre Kernel and modules - stable longtime supported kernel package suitable for servers" - depends=('coreutils' 'module-init-tools>=3.16') + depends=('coreutils' 'kmod') optdepends=('crda: to set the correct wireless channels of your country') provides=('kernel26-lts' "linux-lts=$pkgver") conflicts=('kernel26-lts' 'kernel26-libre-lts' 'linux-lts') @@ -206,7 +206,7 @@ package_linux-libre-lts() { } package_linux-libre-lts-headers() { - pkgdesc="Header files and scripts for building modules for linux-libre-lts-headers longtime supported kernel" + pkgdesc="Header files and scripts for building modules for linux-libre-lts longtime supported kernel" provides=('kernel26-lts-headers' "linux-lts-headers=${pkgver}") conflicts=('kernel26-lts-headers' 'kernel26-libre-lts-headers' 'linux-lts-headers') replaces=('kernel26-lts-headers' 'kernel26-libre-lts-headers' 'linux-lts-headers') @@ -355,4 +355,3 @@ package_linux-libre-lts-headers() { rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/mips fi } - diff --git a/libre/linux-libre-lts/config.i686 b/libre/linux-libre-lts/config.i686 index 35ab3faeb..7094b2731 100644 --- a/libre/linux-libre-lts/config.i686 +++ b/libre/linux-libre-lts/config.i686 @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 3.0.26-1 Kernel Configuration +# Linux/i386 3.0.29-1 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1105,7 +1105,30 @@ CONFIG_XPS=y # CONFIG_NET_PKTGEN=m CONFIG_NET_DROP_MONITOR=y -# CONFIG_HAMRADIO is not set +CONFIG_HAMRADIO=y + +# +# Packet Radio protocols +# +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_NETROM=m +CONFIG_ROSE=m + +# +# AX.25 network device drivers +# +CONFIG_MKISS=m +CONFIG_6PACK=m +CONFIG_BPQETHER=m +CONFIG_SCC=m +# CONFIG_SCC_DELAY is not set +# CONFIG_SCC_TRXECHO is not set +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_EPP=m +CONFIG_YAM=m # CONFIG_CAN is not set CONFIG_IRDA=m @@ -4663,7 +4686,133 @@ CONFIG_BRCMUTIL=m CONFIG_BRCMSMAC=m # CONFIG_BRCMFMAC is not set # CONFIG_BRCMDBG is not set -# CONFIG_COMEDI is not set +CONFIG_COMEDI=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_ISA_DRIVERS=m +CONFIG_COMEDI_ACL7225B=m +CONFIG_COMEDI_PCL711=m +CONFIG_COMEDI_PCL724=m +CONFIG_COMEDI_PCL725=m +CONFIG_COMEDI_PCL726=m +CONFIG_COMEDI_PCL730=m +CONFIG_COMEDI_PCL812=m +CONFIG_COMEDI_PCL816=m +CONFIG_COMEDI_PCL818=m +CONFIG_COMEDI_PCM3724=m +CONFIG_COMEDI_PCM3730=m +CONFIG_COMEDI_RTI800=m +CONFIG_COMEDI_RTI802=m +CONFIG_COMEDI_DAS16M1=m +CONFIG_COMEDI_DAS16=m +CONFIG_COMEDI_DAS800=m +CONFIG_COMEDI_DAS1800=m +CONFIG_COMEDI_DAS6402=m +CONFIG_COMEDI_DT2801=m +CONFIG_COMEDI_DT2811=m +CONFIG_COMEDI_DT2814=m +CONFIG_COMEDI_DT2815=m +CONFIG_COMEDI_DT2817=m +CONFIG_COMEDI_DT282X=m +CONFIG_COMEDI_DMM32AT=m +CONFIG_COMEDI_FL512=m +CONFIG_COMEDI_AIO_AIO12_8=m +CONFIG_COMEDI_AIO_IIRO_16=m +CONFIG_COMEDI_C6XDIGIO=m +CONFIG_COMEDI_MPC624=m +CONFIG_COMEDI_ADQ12B=m +CONFIG_COMEDI_NI_AT_A2150=m +CONFIG_COMEDI_NI_AT_AO=m +CONFIG_COMEDI_NI_ATMIO=m +CONFIG_COMEDI_NI_ATMIO16D=m +CONFIG_COMEDI_PCMAD=m +CONFIG_COMEDI_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=m +CONFIG_COMEDI_MULTIQ3=m +CONFIG_COMEDI_POC=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +# CONFIG_COMEDI_CB_PCIMDAS is not set +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_FC=m # CONFIG_FB_OLPC_DCON is not set CONFIG_ASUS_OLED=m # CONFIG_PANEL is not set diff --git a/libre/linux-libre-lts/config.x86_64 b/libre/linux-libre-lts/config.x86_64 index 11043d568..f7cd1263b 100644 --- a/libre/linux-libre-lts/config.x86_64 +++ b/libre/linux-libre-lts/config.x86_64 @@ -1071,11 +1071,30 @@ CONFIG_BPF_JIT=y # CONFIG_NET_PKTGEN=m CONFIG_NET_DROP_MONITOR=y -# CONFIG_HAMRADIO is not set +CONFIG_HAMRADIO=y # CONFIG_CAN is not set CONFIG_IRDA=m # +# Packet Radio protocols +# +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_NETROM=m +CONFIG_ROSE=m + +# +# AX.25 network device drivers +# +CONFIG_MKISS=m +CONFIG_6PACK=m +CONFIG_BPQETHER=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BAYCOM_PAR=m +CONFIG_YAM=m + +# # IrDA protocols # CONFIG_IRLAN=m @@ -4455,7 +4474,91 @@ CONFIG_BRCMUTIL=m CONFIG_BRCMSMAC=m # CONFIG_BRCMFMAC is not set # CONFIG_BRCMDBG is not set -# CONFIG_COMEDI is not set +CONFIG_COMEDI=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +CONFIG_COMEDI_CB_PCIMDAS=m +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_FC=m CONFIG_ASUS_OLED=m # CONFIG_PANEL is not set CONFIG_R8187SE=m diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install index acb2b71f5..870545419 100644 --- a/libre/linux-libre-lts/linux-libre-lts.install +++ b/libre/linux-libre-lts/linux-libre-lts.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-lts -KERNEL_VERSION=3.0.27-1-LIBRE-LTS +KERNEL_VERSION=3.0.30-2-LIBRE-LTS post_install () { # updating module dependencies diff --git a/libre/linux-libre-lts/linux-libre-lts.preset b/libre/linux-libre-lts/linux-libre-lts.preset index 4621af434..37cf35ed0 100644 --- a/libre/linux-libre-lts/linux-libre-lts.preset +++ b/libre/linux-libre-lts/linux-libre-lts.preset @@ -1,4 +1,4 @@ -# mkinitcpio preset file for the 'linux' package +# mkinitcpio preset file for the 'linux-libre-lts' package ALL_config="/etc/mkinitcpio.conf" ALL_kver="/boot/vmlinuz-linux-libre-lts" diff --git a/libre/linux-libre-tools/PKGBUILD b/libre/linux-libre-tools/PKGBUILD index d30a61137..a0e117f46 100644 --- a/libre/linux-libre-tools/PKGBUILD +++ b/libre/linux-libre-tools/PKGBUILD @@ -5,8 +5,8 @@ pkgbase=linux-libre-tools pkgname=('perf-libre' 'cpupower-libre') pkgver=3.3 -kernver=${pkgver} -pkgrel=2 +kernver=${pkgver}.4 +pkgrel=4 license=('GPL2') arch=('i686' 'x86_64' 'mips64el') url='http://linux-libre.fsfla.org/' @@ -18,8 +18,8 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/$kernver-gnu/linu 'cpupower.rc' 'cpupower.conf' 'cpupower.service') -md5sums=('5487da14ca81715a469c7594d39722fa' - '26af384ca282bc0dc38ff65acc7bb4b9' +md5sums=('ab3fcfc16f3ac3f7b5741c260a949165' + '73dbc931e86b3b73d6e2338dcbee81a4' '18d5aa9e4c6bb23bb02bf65e155e0f0e' '20870541e88109d2f153be3c58a277f1') diff --git a/libre/linux-libre-tools/cpupower.rc b/libre/linux-libre-tools/cpupower.rc index 9b0bcddb7..27a491e95 100644 --- a/libre/linux-libre-tools/cpupower.rc +++ b/libre/linux-libre-tools/cpupower.rc @@ -33,7 +33,7 @@ case "$1" in (($fail > 0)) && stat_fail && exit 1 || stat_done ;; *) - echo "usage: $0 {start|restart}" + echo "usage: ${0##*/} {start|restart}" esac true diff --git a/libre/linux-libre/CVE-2012-0056.patch b/libre/linux-libre/CVE-2012-0056.patch deleted file mode 100644 index 6a83fef1c..000000000 --- a/libre/linux-libre/CVE-2012-0056.patch +++ /dev/null @@ -1,268 +0,0 @@ -From e268337dfe26dfc7efd422a804dbb27977a3cccc Mon Sep 17 00:00:00 2001 -From: Linus Torvalds <torvalds@linux-foundation.org> -Date: Tue, 17 Jan 2012 15:21:19 -0800 -Subject: [PATCH] proc: clean up and fix /proc/<pid>/mem handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -Jüri Aedla reported that the /proc/<pid>/mem handling really isn't very -robust, and it also doesn't match the permission checking of any of the -other related files. - -This changes it to do the permission checks at open time, and instead of -tracking the process, it tracks the VM at the time of the open. That -simplifies the code a lot, but does mean that if you hold the file -descriptor open over an execve(), you'll continue to read from the _old_ -VM. - -That is different from our previous behavior, but much simpler. If -somebody actually finds a load where this matters, we'll need to revert -this commit. - -I suspect that nobody will ever notice - because the process mapping -addresses will also have changed as part of the execve. So you cannot -actually usefully access the fd across a VM change simply because all -the offsets for IO would have changed too. - -Reported-by: Jüri Aedla <asd@ut.ee> -Cc: Al Viro <viro@zeniv.linux.org.uk> -Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> ---- - fs/proc/base.c | 145 +++++++++++++++----------------------------------------- - 1 files changed, 39 insertions(+), 106 deletions(-) - -diff --git a/fs/proc/base.c b/fs/proc/base.c -index 5485a53..662ddf2 100644 ---- a/fs/proc/base.c -+++ b/fs/proc/base.c -@@ -198,65 +198,7 @@ static int proc_root_link(struct dentry *dentry, struct path *path) - return result; - } - --static struct mm_struct *__check_mem_permission(struct task_struct *task) --{ -- struct mm_struct *mm; -- -- mm = get_task_mm(task); -- if (!mm) -- return ERR_PTR(-EINVAL); -- -- /* -- * A task can always look at itself, in case it chooses -- * to use system calls instead of load instructions. -- */ -- if (task == current) -- return mm; -- -- /* -- * If current is actively ptrace'ing, and would also be -- * permitted to freshly attach with ptrace now, permit it. -- */ -- if (task_is_stopped_or_traced(task)) { -- int match; -- rcu_read_lock(); -- match = (ptrace_parent(task) == current); -- rcu_read_unlock(); -- if (match && ptrace_may_access(task, PTRACE_MODE_ATTACH)) -- return mm; -- } -- -- /* -- * No one else is allowed. -- */ -- mmput(mm); -- return ERR_PTR(-EPERM); --} -- --/* -- * If current may access user memory in @task return a reference to the -- * corresponding mm, otherwise ERR_PTR. -- */ --static struct mm_struct *check_mem_permission(struct task_struct *task) --{ -- struct mm_struct *mm; -- int err; -- -- /* -- * Avoid racing if task exec's as we might get a new mm but validate -- * against old credentials. -- */ -- err = mutex_lock_killable(&task->signal->cred_guard_mutex); -- if (err) -- return ERR_PTR(err); -- -- mm = __check_mem_permission(task); -- mutex_unlock(&task->signal->cred_guard_mutex); -- -- return mm; --} -- --struct mm_struct *mm_for_maps(struct task_struct *task) -+static struct mm_struct *mm_access(struct task_struct *task, unsigned int mode) - { - struct mm_struct *mm; - int err; -@@ -267,7 +209,7 @@ struct mm_struct *mm_for_maps(struct task_struct *task) - - mm = get_task_mm(task); - if (mm && mm != current->mm && -- !ptrace_may_access(task, PTRACE_MODE_READ)) { -+ !ptrace_may_access(task, mode)) { - mmput(mm); - mm = ERR_PTR(-EACCES); - } -@@ -276,6 +218,11 @@ struct mm_struct *mm_for_maps(struct task_struct *task) - return mm; - } - -+struct mm_struct *mm_for_maps(struct task_struct *task) -+{ -+ return mm_access(task, PTRACE_MODE_READ); -+} -+ - static int proc_pid_cmdline(struct task_struct *task, char * buffer) - { - int res = 0; -@@ -752,38 +699,39 @@ static const struct file_operations proc_single_file_operations = { - - static int mem_open(struct inode* inode, struct file* file) - { -- file->private_data = (void*)((long)current->self_exec_id); -+ struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); -+ struct mm_struct *mm; -+ -+ if (!task) -+ return -ESRCH; -+ -+ mm = mm_access(task, PTRACE_MODE_ATTACH); -+ put_task_struct(task); -+ -+ if (IS_ERR(mm)) -+ return PTR_ERR(mm); -+ - /* OK to pass negative loff_t, we can catch out-of-range */ - file->f_mode |= FMODE_UNSIGNED_OFFSET; -+ file->private_data = mm; -+ - return 0; - } - - static ssize_t mem_read(struct file * file, char __user * buf, - size_t count, loff_t *ppos) - { -- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); -+ int ret; - char *page; - unsigned long src = *ppos; -- int ret = -ESRCH; -- struct mm_struct *mm; -+ struct mm_struct *mm = file->private_data; - -- if (!task) -- goto out_no_task; -+ if (!mm) -+ return 0; - -- ret = -ENOMEM; - page = (char *)__get_free_page(GFP_TEMPORARY); - if (!page) -- goto out; -- -- mm = check_mem_permission(task); -- ret = PTR_ERR(mm); -- if (IS_ERR(mm)) -- goto out_free; -- -- ret = -EIO; -- -- if (file->private_data != (void*)((long)current->self_exec_id)) -- goto out_put; -+ return -ENOMEM; - - ret = 0; - -@@ -810,13 +758,7 @@ static ssize_t mem_read(struct file * file, char __user * buf, - } - *ppos = src; - --out_put: -- mmput(mm); --out_free: - free_page((unsigned long) page); --out: -- put_task_struct(task); --out_no_task: - return ret; - } - -@@ -825,27 +767,15 @@ static ssize_t mem_write(struct file * file, const char __user *buf, - { - int copied; - char *page; -- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode); - unsigned long dst = *ppos; -- struct mm_struct *mm; -+ struct mm_struct *mm = file->private_data; - -- copied = -ESRCH; -- if (!task) -- goto out_no_task; -+ if (!mm) -+ return 0; - -- copied = -ENOMEM; - page = (char *)__get_free_page(GFP_TEMPORARY); - if (!page) -- goto out_task; -- -- mm = check_mem_permission(task); -- copied = PTR_ERR(mm); -- if (IS_ERR(mm)) -- goto out_free; -- -- copied = -EIO; -- if (file->private_data != (void *)((long)current->self_exec_id)) -- goto out_mm; -+ return -ENOMEM; - - copied = 0; - while (count > 0) { -@@ -869,13 +799,7 @@ static ssize_t mem_write(struct file * file, const char __user *buf, - } - *ppos = dst; - --out_mm: -- mmput(mm); --out_free: - free_page((unsigned long) page); --out_task: -- put_task_struct(task); --out_no_task: - return copied; - } - -@@ -895,11 +819,20 @@ loff_t mem_lseek(struct file *file, loff_t offset, int orig) - return file->f_pos; - } - -+static int mem_release(struct inode *inode, struct file *file) -+{ -+ struct mm_struct *mm = file->private_data; -+ -+ mmput(mm); -+ return 0; -+} -+ - static const struct file_operations proc_mem_operations = { - .llseek = mem_lseek, - .read = mem_read, - .write = mem_write, - .open = mem_open, -+ .release = mem_release, - }; - - static ssize_t environ_read(struct file *file, char __user *buf, --- -1.7.6.5 - diff --git a/libre/linux-libre/ChangeLog b/libre/linux-libre/ChangeLog index 173a6c3cd..bbf62fc7c 100644 --- a/libre/linux-libre/ChangeLog +++ b/libre/linux-libre/ChangeLog @@ -1,9 +1,14 @@ +2012-04-24 André Silva <andre.paulista@adinet.com.uy> + + * linux-libre-3.3.3-1 + * Disabled CONFIG_STUB_POULSBO module https://labs.parabola.nu/issues/90 + 2012-04-08 André Silva <andre.paulista@adinet.com.uy> - * linux-libre 3.3.1-1.1 - * Disable CONFIG_IPW2100 and CONFIG_IPW2200 modules https://labs.parabola.nu/issues/47 + * linux-libre-3.3.1-1.1 + * Disabled CONFIG_IPW2100 and CONFIG_IPW2200 modules https://labs.parabola.nu/issues/47 2012-03-03 André Silva <andre.paulista@adinet.com.uy> * linux-libre-2.3.9-2 - * Enable CONFIG_FB_VT8623 module https://labs.parabola.nu/issues/14 + * Enabled CONFIG_FB_VT8623 module https://labs.parabola.nu/issues/14 diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 8dff63ec7..45b4937e5 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -12,10 +12,10 @@ pkgname=('linux-libre' 'linux-libre-headers' 'linux-libre-docs') # Build stock - # pkgname=linux-custom # Build kernel with a different name _kernelname=-LIBRE _basekernel=3.3 -_sublevel=1 +_sublevel=4 pkgver=${_basekernel}.${_sublevel} -_lxopkgver=${_basekernel}.0 # nearly always the same as pkgver -pkgrel=1.1 +_lxopkgver=${_basekernel}.4 # nearly always the same as pkgver +pkgrel=2 arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -35,17 +35,17 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'ext4-options.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('5487da14ca81715a469c7594d39722fa' - '58799da6f62daf1e54a256d02792b91f' - '559487f3e438ad95f1c80aa11abf2ed0' - 'f3749180b53d042091a483300ef04f8d' - 'a8a3843046926eb7ab81312cd438c5c5' + 'ce7d959667b9f158b1fb814b5806950a' + '225fc118e655b0e4031aaf45656b872c' + 'e6b45d3ba0415d2dfbda9cdbf6dbf6f4' + 'e49ac236dfeef709f91a3d993ea7b62c' '2967cecc3af9f954ccc822fd63dca6ff' '8267264d9a8966e57fdacd1fa1fc65c4' '04b21c79df0a952c22d681dd4f4562df' '9d3c56a4b999c8bfbd4018089a62f662' '263725f20c0b9eb9c353040792d644e5' 'bb7fd1aa23016c8057046b84fd4eb528' - 'acdce5260b0fb711cb9a0fbce984f0ef') + 'c22b03a6351698b07cd08767d8ddeacd') if [ "$CARCH" != "mips64el" ]; then # Don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] @@ -71,6 +71,7 @@ build() { # needed. patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch" + # Patch submitted upstream, waiting for inclusion: # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) @@ -145,7 +146,7 @@ build() { package_linux-libre() { pkgdesc="The Linux-libre Kernel and modules" groups=('base') - depends=('coreutils' 'module-init-tools>=3.16') + depends=('coreutils' 'kmod') optdepends=('crda: to set the correct wireless channels of your country') provides=('kernel26' "linux=$pkgver") conflicts=('kernel26' 'kernel26-libre' 'linux') diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686 index 718c4f3b6..dd67c6ce4 100644 --- a/libre/linux-libre/config.i686 +++ b/libre/linux-libre/config.i686 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.3.0-1 Kernel Configuration +# Linux/i386 3.3.3-1 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -795,7 +795,8 @@ CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_ZONES=y -# CONFIG_NF_CONNTRACK_PROCFS is not set +CONFIG_NF_CONNTRACK_PROCFS=y +# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_TIMESTAMP=y CONFIG_NF_CT_PROTO_DCCP=m @@ -1166,7 +1167,30 @@ CONFIG_BQL=y # CONFIG_NET_PKTGEN=m CONFIG_NET_DROP_MONITOR=y -# CONFIG_HAMRADIO is not set +CONFIG_HAMRADIO=y + +# +# Packet Radio protocols +# +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_NETROM=m +CONFIG_ROSE=m + +# +# AX.25 network device drivers +# +CONFIG_MKISS=m +CONFIG_6PACK=m +CONFIG_BPQETHER=m +CONFIG_SCC=m +# CONFIG_SCC_DELAY is not set +# CONFIG_SCC_TRXECHO is not set +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_EPP=m +CONFIG_YAM=m # CONFIG_CAN is not set CONFIG_IRDA=m @@ -3892,7 +3916,7 @@ CONFIG_DRM_VMWGFX=m CONFIG_DRM_GMA500=m CONFIG_DRM_GMA600=y CONFIG_DRM_GMA3600=y -CONFIG_STUB_POULSBO=m +# CONFIG_STUB_POULSBO is not set CONFIG_VGASTATE=m CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=y @@ -4774,7 +4798,135 @@ CONFIG_USBIP_HOST=m CONFIG_W35UND=m CONFIG_PRISM2_USB=m CONFIG_ECHO=m -# CONFIG_COMEDI is not set +CONFIG_COMEDI=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_ISA_DRIVERS=m +CONFIG_COMEDI_ACL7225B=m +CONFIG_COMEDI_PCL711=m +CONFIG_COMEDI_PCL724=m +CONFIG_COMEDI_PCL725=m +CONFIG_COMEDI_PCL726=m +CONFIG_COMEDI_PCL730=m +CONFIG_COMEDI_PCL812=m +CONFIG_COMEDI_PCL816=m +CONFIG_COMEDI_PCL818=m +CONFIG_COMEDI_PCM3724=m +CONFIG_COMEDI_PCM3730=m +CONFIG_COMEDI_RTI800=m +CONFIG_COMEDI_RTI802=m +CONFIG_COMEDI_DAS16M1=m +CONFIG_COMEDI_DAS16=m +CONFIG_COMEDI_DAS800=m +CONFIG_COMEDI_DAS1800=m +CONFIG_COMEDI_DAS6402=m +CONFIG_COMEDI_DT2801=m +CONFIG_COMEDI_DT2811=m +CONFIG_COMEDI_DT2814=m +CONFIG_COMEDI_DT2815=m +CONFIG_COMEDI_DT2817=m +CONFIG_COMEDI_DT282X=m +CONFIG_COMEDI_DMM32AT=m +CONFIG_COMEDI_FL512=m +CONFIG_COMEDI_AIO_AIO12_8=m +CONFIG_COMEDI_AIO_IIRO_16=m +CONFIG_COMEDI_C6XDIGIO=m +CONFIG_COMEDI_MPC624=m +CONFIG_COMEDI_ADQ12B=m +CONFIG_COMEDI_NI_AT_A2150=m +CONFIG_COMEDI_NI_AT_AO=m +CONFIG_COMEDI_NI_ATMIO=m +CONFIG_COMEDI_NI_ATMIO16D=m +CONFIG_COMEDI_PCMAD=m +CONFIG_COMEDI_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=m +CONFIG_COMEDI_MULTIQ3=m +CONFIG_COMEDI_POC=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +# CONFIG_COMEDI_CB_PCIMDAS is not set +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_FC=m # CONFIG_FB_OLPC_DCON is not set CONFIG_ASUS_OLED=m # CONFIG_PANEL is not set @@ -4786,7 +4938,6 @@ CONFIG_RTLLIB_CRYPTO_TKIP=m CONFIG_RTLLIB_CRYPTO_WEP=m CONFIG_RTL8192E=m CONFIG_R8712U=m -CONFIG_R8712_AP=y CONFIG_RTS_PSTOR=m # CONFIG_RTS_PSTOR_DEBUG is not set CONFIG_RTS5139=m diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64 index 454a61b84..22ac05afb 100644 --- a/libre/linux-libre/config.x86_64 +++ b/libre/linux-libre/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.3.0-1 Kernel Configuration +# Linux/x86_64 3.3.4-1 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -757,7 +757,7 @@ CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_ZONES=y -# CONFIG_NF_CONNTRACK_PROCFS is not set +CONFIG_NF_CONNTRACK_PROCFS=y CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_TIMESTAMP=y CONFIG_NF_CT_PROTO_DCCP=m @@ -914,6 +914,7 @@ CONFIG_IP_VS_PE_SIP=m # CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m +# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_IPTABLES=m CONFIG_IP_NF_MATCH_AH=m @@ -1126,7 +1127,26 @@ CONFIG_BPF_JIT=y # CONFIG_NET_PKTGEN=m CONFIG_NET_DROP_MONITOR=y -# CONFIG_HAMRADIO is not set +CONFIG_HAMRADIO=y + +# +# Packet Radio protocols +# +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_NETROM=m +CONFIG_ROSE=m + +# +# AX.25 network device drivers +# +CONFIG_MKISS=m +CONFIG_6PACK=m +CONFIG_BPQETHER=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BAYCOM_PAR=m +CONFIG_YAM=m # CONFIG_CAN is not set CONFIG_IRDA=m @@ -3735,7 +3755,7 @@ CONFIG_DRM_VMWGFX=m CONFIG_DRM_GMA500=m CONFIG_DRM_GMA600=y CONFIG_DRM_GMA3600=y -CONFIG_STUB_POULSBO=m +# CONFIG_STUB_POULSBO is not set CONFIG_VGASTATE=m CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=y @@ -4593,7 +4613,93 @@ CONFIG_USBIP_HOST=m CONFIG_W35UND=m CONFIG_PRISM2_USB=m CONFIG_ECHO=m -# CONFIG_COMEDI is not set +CONFIG_COMEDI=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_MISC_DRIVERS=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_SERIAL2002=m +CONFIG_COMEDI_SKEL=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_ADDI_APCI_035=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2016=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3001=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7230=m +CONFIG_COMEDI_ADL_PCI7296=m +CONFIG_COMEDI_ADL_PCI7432=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC263=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_UNIOXX5=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIDIO=m +CONFIG_COMEDI_CB_PCIMDAS=m +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_SSV_DNP=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMEDI_NI_COMMON=m +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_FC=m CONFIG_ASUS_OLED=m # CONFIG_PANEL is not set CONFIG_R8187SE=m @@ -4604,7 +4710,6 @@ CONFIG_RTLLIB_CRYPTO_TKIP=m CONFIG_RTLLIB_CRYPTO_WEP=m CONFIG_RTL8192E=m CONFIG_R8712U=m -CONFIG_R8712_AP=y CONFIG_RTS_PSTOR=m # CONFIG_RTS_PSTOR_DEBUG is not set CONFIG_RTS5139=m diff --git a/libre/linux-libre/dib0700-fix.patch b/libre/linux-libre/dib0700-fix.patch deleted file mode 100644 index 48f07e6fd..000000000 --- a/libre/linux-libre/dib0700-fix.patch +++ /dev/null @@ -1,1487 +0,0 @@ -commit 198c545cd7306dc90aaae1d61e64175e70a70dc8 -Author: Patrick Boettcher <Patrick.Boettcher@dibcom.fr> -Date: Wed Aug 3 17:08:21 2011 +0200 - - [media] DiBcom: protect the I2C bufer access - - This patch protect the I2C buffer access in order to manage concurrent - access. This protection is done using mutex. - Furthermore, for the dib9000, if a pid filtering command is - received during the tuning, this pid filtering command is delayed to - avoid any concurrent access issue. - - Cc: Mauro Carvalho Chehab <mchehab@redhat.com> - Cc: Florian Mickler <florian@mickler.org> - Cc: stable@kernel.org - - Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> - Signed-off-by: Patrick Boettcher <Patrick.Boettcher@dibcom.fr> - -diff --git a/drivers/media/dvb/frontends/dib0070.c b/drivers/media/dvb/frontends/dib0070.c -index 1d47d4d..dc1cb17 100644 ---- a/drivers/media/dvb/frontends/dib0070.c -+++ b/drivers/media/dvb/frontends/dib0070.c -@@ -27,6 +27,7 @@ - #include <linux/kernel.h> - #include <linux/slab.h> - #include <linux/i2c.h> -+#include <linux/mutex.h> - - #include "dvb_frontend.h" - -@@ -78,10 +79,18 @@ struct dib0070_state { - struct i2c_msg msg[2]; - u8 i2c_write_buffer[3]; - u8 i2c_read_buffer[2]; -+ struct mutex i2c_buffer_lock; - }; - --static uint16_t dib0070_read_reg(struct dib0070_state *state, u8 reg) -+static u16 dib0070_read_reg(struct dib0070_state *state, u8 reg) - { -+ u16 ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - state->i2c_write_buffer[0] = reg; - - memset(state->msg, 0, 2 * sizeof(struct i2c_msg)); -@@ -96,13 +105,23 @@ static uint16_t dib0070_read_reg(struct dib0070_state *state, u8 reg) - - if (i2c_transfer(state->i2c, state->msg, 2) != 2) { - printk(KERN_WARNING "DiB0070 I2C read failed\n"); -- return 0; -- } -- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; -+ ret = 0; -+ } else -+ ret = (state->i2c_read_buffer[0] << 8) -+ | state->i2c_read_buffer[1]; -+ -+ mutex_unlock(&state->i2c_buffer_lock); -+ return ret; - } - - static int dib0070_write_reg(struct dib0070_state *state, u8 reg, u16 val) - { -+ int ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } - state->i2c_write_buffer[0] = reg; - state->i2c_write_buffer[1] = val >> 8; - state->i2c_write_buffer[2] = val & 0xff; -@@ -115,9 +134,12 @@ static int dib0070_write_reg(struct dib0070_state *state, u8 reg, u16 val) - - if (i2c_transfer(state->i2c, state->msg, 1) != 1) { - printk(KERN_WARNING "DiB0070 I2C write failed\n"); -- return -EREMOTEIO; -- } -- return 0; -+ ret = -EREMOTEIO; -+ } else -+ ret = 0; -+ -+ mutex_unlock(&state->i2c_buffer_lock); -+ return ret; - } - - #define HARD_RESET(state) do { \ -@@ -734,6 +756,7 @@ struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter - state->cfg = cfg; - state->i2c = i2c; - state->fe = fe; -+ mutex_init(&state->i2c_buffer_lock); - fe->tuner_priv = state; - - if (dib0070_reset(fe) != 0) -diff --git a/drivers/media/dvb/frontends/dib0090.c b/drivers/media/dvb/frontends/dib0090.c -index c9c935a..b174d1c 100644 ---- a/drivers/media/dvb/frontends/dib0090.c -+++ b/drivers/media/dvb/frontends/dib0090.c -@@ -27,6 +27,7 @@ - #include <linux/kernel.h> - #include <linux/slab.h> - #include <linux/i2c.h> -+#include <linux/mutex.h> - - #include "dvb_frontend.h" - -@@ -196,6 +197,7 @@ struct dib0090_state { - struct i2c_msg msg[2]; - u8 i2c_write_buffer[3]; - u8 i2c_read_buffer[2]; -+ struct mutex i2c_buffer_lock; - }; - - struct dib0090_fw_state { -@@ -208,10 +210,18 @@ struct dib0090_fw_state { - struct i2c_msg msg; - u8 i2c_write_buffer[2]; - u8 i2c_read_buffer[2]; -+ struct mutex i2c_buffer_lock; - }; - - static u16 dib0090_read_reg(struct dib0090_state *state, u8 reg) - { -+ u16 ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - state->i2c_write_buffer[0] = reg; - - memset(state->msg, 0, 2 * sizeof(struct i2c_msg)); -@@ -226,14 +236,24 @@ static u16 dib0090_read_reg(struct dib0090_state *state, u8 reg) - - if (i2c_transfer(state->i2c, state->msg, 2) != 2) { - printk(KERN_WARNING "DiB0090 I2C read failed\n"); -- return 0; -- } -+ ret = 0; -+ } else -+ ret = (state->i2c_read_buffer[0] << 8) -+ | state->i2c_read_buffer[1]; - -- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; -+ mutex_unlock(&state->i2c_buffer_lock); -+ return ret; - } - - static int dib0090_write_reg(struct dib0090_state *state, u32 reg, u16 val) - { -+ int ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ - state->i2c_write_buffer[0] = reg & 0xff; - state->i2c_write_buffer[1] = val >> 8; - state->i2c_write_buffer[2] = val & 0xff; -@@ -246,13 +266,23 @@ static int dib0090_write_reg(struct dib0090_state *state, u32 reg, u16 val) - - if (i2c_transfer(state->i2c, state->msg, 1) != 1) { - printk(KERN_WARNING "DiB0090 I2C write failed\n"); -- return -EREMOTEIO; -- } -- return 0; -+ ret = -EREMOTEIO; -+ } else -+ ret = 0; -+ -+ mutex_unlock(&state->i2c_buffer_lock); -+ return ret; - } - - static u16 dib0090_fw_read_reg(struct dib0090_fw_state *state, u8 reg) - { -+ u16 ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - state->i2c_write_buffer[0] = reg; - - memset(&state->msg, 0, sizeof(struct i2c_msg)); -@@ -262,13 +292,24 @@ static u16 dib0090_fw_read_reg(struct dib0090_fw_state *state, u8 reg) - state->msg.len = 2; - if (i2c_transfer(state->i2c, &state->msg, 1) != 1) { - printk(KERN_WARNING "DiB0090 I2C read failed\n"); -- return 0; -- } -- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; -+ ret = 0; -+ } else -+ ret = (state->i2c_read_buffer[0] << 8) -+ | state->i2c_read_buffer[1]; -+ -+ mutex_unlock(&state->i2c_buffer_lock); -+ return ret; - } - - static int dib0090_fw_write_reg(struct dib0090_fw_state *state, u8 reg, u16 val) - { -+ int ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ - state->i2c_write_buffer[0] = val >> 8; - state->i2c_write_buffer[1] = val & 0xff; - -@@ -279,9 +320,12 @@ static int dib0090_fw_write_reg(struct dib0090_fw_state *state, u8 reg, u16 val) - state->msg.len = 2; - if (i2c_transfer(state->i2c, &state->msg, 1) != 1) { - printk(KERN_WARNING "DiB0090 I2C write failed\n"); -- return -EREMOTEIO; -- } -- return 0; -+ ret = -EREMOTEIO; -+ } else -+ ret = 0; -+ -+ mutex_unlock(&state->i2c_buffer_lock); -+ return ret; - } - - #define HARD_RESET(state) do { if (cfg->reset) { if (cfg->sleep) cfg->sleep(fe, 0); msleep(10); cfg->reset(fe, 1); msleep(10); cfg->reset(fe, 0); msleep(10); } } while (0) -@@ -2440,6 +2484,7 @@ struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapte - st->config = config; - st->i2c = i2c; - st->fe = fe; -+ mutex_init(&st->i2c_buffer_lock); - fe->tuner_priv = st; - - if (config->wbd == NULL) -@@ -2471,6 +2516,7 @@ struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_ada - st->config = config; - st->i2c = i2c; - st->fe = fe; -+ mutex_init(&st->i2c_buffer_lock); - fe->tuner_priv = st; - - if (dib0090_fw_reset_digital(fe, st->config) != 0) -diff --git a/drivers/media/dvb/frontends/dib7000m.c b/drivers/media/dvb/frontends/dib7000m.c -index 79cb1c2..dbb76d7 100644 ---- a/drivers/media/dvb/frontends/dib7000m.c -+++ b/drivers/media/dvb/frontends/dib7000m.c -@@ -11,6 +11,7 @@ - #include <linux/kernel.h> - #include <linux/slab.h> - #include <linux/i2c.h> -+#include <linux/mutex.h> - - #include "dvb_frontend.h" - -@@ -55,6 +56,7 @@ struct dib7000m_state { - struct i2c_msg msg[2]; - u8 i2c_write_buffer[4]; - u8 i2c_read_buffer[2]; -+ struct mutex i2c_buffer_lock; - }; - - enum dib7000m_power_mode { -@@ -69,6 +71,13 @@ enum dib7000m_power_mode { - - static u16 dib7000m_read_word(struct dib7000m_state *state, u16 reg) - { -+ u16 ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - state->i2c_write_buffer[0] = (reg >> 8) | 0x80; - state->i2c_write_buffer[1] = reg & 0xff; - -@@ -85,11 +94,21 @@ static u16 dib7000m_read_word(struct dib7000m_state *state, u16 reg) - if (i2c_transfer(state->i2c_adap, state->msg, 2) != 2) - dprintk("i2c read error on %d",reg); - -- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; -+ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; -+ mutex_unlock(&state->i2c_buffer_lock); -+ -+ return ret; - } - - static int dib7000m_write_word(struct dib7000m_state *state, u16 reg, u16 val) - { -+ int ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ - state->i2c_write_buffer[0] = (reg >> 8) & 0xff; - state->i2c_write_buffer[1] = reg & 0xff; - state->i2c_write_buffer[2] = (val >> 8) & 0xff; -@@ -101,7 +120,10 @@ static int dib7000m_write_word(struct dib7000m_state *state, u16 reg, u16 val) - state->msg[0].buf = state->i2c_write_buffer; - state->msg[0].len = 4; - -- return i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0; -+ ret = (i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -+ -EREMOTEIO : 0); -+ mutex_unlock(&state->i2c_buffer_lock); -+ return ret; - } - static void dib7000m_write_tab(struct dib7000m_state *state, u16 *buf) - { -@@ -1385,6 +1407,7 @@ struct dvb_frontend * dib7000m_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, - demod = &st->demod; - demod->demodulator_priv = st; - memcpy(&st->demod.ops, &dib7000m_ops, sizeof(struct dvb_frontend_ops)); -+ mutex_init(&st->i2c_buffer_lock); - - st->timf_default = cfg->bw->timf; - -diff --git a/drivers/media/dvb/frontends/dib7000p.c b/drivers/media/dvb/frontends/dib7000p.c -index 0c9f40c..292bc19 100644 ---- a/drivers/media/dvb/frontends/dib7000p.c -+++ b/drivers/media/dvb/frontends/dib7000p.c -@@ -10,6 +10,7 @@ - #include <linux/kernel.h> - #include <linux/slab.h> - #include <linux/i2c.h> -+#include <linux/mutex.h> - - #include "dvb_math.h" - #include "dvb_frontend.h" -@@ -68,6 +69,7 @@ struct dib7000p_state { - struct i2c_msg msg[2]; - u8 i2c_write_buffer[4]; - u8 i2c_read_buffer[2]; -+ struct mutex i2c_buffer_lock; - }; - - enum dib7000p_power_mode { -@@ -81,6 +83,13 @@ static int dib7090_set_diversity_in(struct dvb_frontend *fe, int onoff); - - static u16 dib7000p_read_word(struct dib7000p_state *state, u16 reg) - { -+ u16 ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - state->i2c_write_buffer[0] = reg >> 8; - state->i2c_write_buffer[1] = reg & 0xff; - -@@ -97,11 +106,20 @@ static u16 dib7000p_read_word(struct dib7000p_state *state, u16 reg) - if (i2c_transfer(state->i2c_adap, state->msg, 2) != 2) - dprintk("i2c read error on %d", reg); - -- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; -+ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; -+ mutex_unlock(&state->i2c_buffer_lock); -+ return ret; - } - - static int dib7000p_write_word(struct dib7000p_state *state, u16 reg, u16 val) - { -+ int ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ - state->i2c_write_buffer[0] = (reg >> 8) & 0xff; - state->i2c_write_buffer[1] = reg & 0xff; - state->i2c_write_buffer[2] = (val >> 8) & 0xff; -@@ -113,7 +131,10 @@ static int dib7000p_write_word(struct dib7000p_state *state, u16 reg, u16 val) - state->msg[0].buf = state->i2c_write_buffer; - state->msg[0].len = 4; - -- return i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0; -+ ret = (i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -+ -EREMOTEIO : 0); -+ mutex_unlock(&state->i2c_buffer_lock); -+ return ret; - } - - static void dib7000p_write_tab(struct dib7000p_state *state, u16 * buf) -@@ -1646,6 +1667,7 @@ int dib7000p_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 defau - return -ENOMEM; - - dpst->i2c_adap = i2c; -+ mutex_init(&dpst->i2c_buffer_lock); - - for (k = no_of_demods - 1; k >= 0; k--) { - dpst->cfg = cfg[k]; -@@ -2324,6 +2346,7 @@ struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, - demod = &st->demod; - demod->demodulator_priv = st; - memcpy(&st->demod.ops, &dib7000p_ops, sizeof(struct dvb_frontend_ops)); -+ mutex_init(&st->i2c_buffer_lock); - - dib7000p_write_word(st, 1287, 0x0003); /* sram lead in, rdy */ - -@@ -2333,8 +2356,9 @@ struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, - st->version = dib7000p_read_word(st, 897); - - /* FIXME: make sure the dev.parent field is initialized, or else -- request_firmware() will hit an OOPS (this should be moved somewhere -- more common) */ -+ request_firmware() will hit an OOPS (this should be moved somewhere -+ more common) */ -+ st->i2c_master.gated_tuner_i2c_adap.dev.parent = i2c_adap->dev.parent; - - dibx000_init_i2c_master(&st->i2c_master, DIB7000P, st->i2c_adap, st->i2c_addr); - -diff --git a/drivers/media/dvb/frontends/dib8000.c b/drivers/media/dvb/frontends/dib8000.c -index 7d2ea11..fe284d5 100644 ---- a/drivers/media/dvb/frontends/dib8000.c -+++ b/drivers/media/dvb/frontends/dib8000.c -@@ -10,6 +10,8 @@ - #include <linux/kernel.h> - #include <linux/slab.h> - #include <linux/i2c.h> -+#include <linux/mutex.h> -+ - #include "dvb_math.h" - - #include "dvb_frontend.h" -@@ -37,6 +39,7 @@ struct i2c_device { - u8 addr; - u8 *i2c_write_buffer; - u8 *i2c_read_buffer; -+ struct mutex *i2c_buffer_lock; - }; - - struct dib8000_state { -@@ -77,6 +80,7 @@ struct dib8000_state { - struct i2c_msg msg[2]; - u8 i2c_write_buffer[4]; - u8 i2c_read_buffer[2]; -+ struct mutex i2c_buffer_lock; - }; - - enum dib8000_power_mode { -@@ -86,24 +90,39 @@ enum dib8000_power_mode { - - static u16 dib8000_i2c_read16(struct i2c_device *i2c, u16 reg) - { -+ u16 ret; - struct i2c_msg msg[2] = { -- {.addr = i2c->addr >> 1, .flags = 0, -- .buf = i2c->i2c_write_buffer, .len = 2}, -- {.addr = i2c->addr >> 1, .flags = I2C_M_RD, -- .buf = i2c->i2c_read_buffer, .len = 2}, -+ {.addr = i2c->addr >> 1, .flags = 0, .len = 2}, -+ {.addr = i2c->addr >> 1, .flags = I2C_M_RD, .len = 2}, - }; - -+ if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ -+ msg[0].buf = i2c->i2c_write_buffer; - msg[0].buf[0] = reg >> 8; - msg[0].buf[1] = reg & 0xff; -+ msg[1].buf = i2c->i2c_read_buffer; - - if (i2c_transfer(i2c->adap, msg, 2) != 2) - dprintk("i2c read error on %d", reg); - -- return (msg[1].buf[0] << 8) | msg[1].buf[1]; -+ ret = (msg[1].buf[0] << 8) | msg[1].buf[1]; -+ mutex_unlock(i2c->i2c_buffer_lock); -+ return ret; - } - - static u16 dib8000_read_word(struct dib8000_state *state, u16 reg) - { -+ u16 ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - state->i2c_write_buffer[0] = reg >> 8; - state->i2c_write_buffer[1] = reg & 0xff; - -@@ -120,7 +139,10 @@ static u16 dib8000_read_word(struct dib8000_state *state, u16 reg) - if (i2c_transfer(state->i2c.adap, state->msg, 2) != 2) - dprintk("i2c read error on %d", reg); - -- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; -+ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1]; -+ mutex_unlock(&state->i2c_buffer_lock); -+ -+ return ret; - } - - static u32 dib8000_read32(struct dib8000_state *state, u16 reg) -@@ -135,22 +157,35 @@ static u32 dib8000_read32(struct dib8000_state *state, u16 reg) - - static int dib8000_i2c_write16(struct i2c_device *i2c, u16 reg, u16 val) - { -- struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0, -- .buf = i2c->i2c_write_buffer, .len = 4}; -+ struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0, .len = 4}; - int ret = 0; - -+ if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ -+ msg.buf = i2c->i2c_write_buffer; - msg.buf[0] = (reg >> 8) & 0xff; - msg.buf[1] = reg & 0xff; - msg.buf[2] = (val >> 8) & 0xff; - msg.buf[3] = val & 0xff; - - ret = i2c_transfer(i2c->adap, &msg, 1) != 1 ? -EREMOTEIO : 0; -+ mutex_unlock(i2c->i2c_buffer_lock); - - return ret; - } - - static int dib8000_write_word(struct dib8000_state *state, u16 reg, u16 val) - { -+ int ret; -+ -+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ - state->i2c_write_buffer[0] = (reg >> 8) & 0xff; - state->i2c_write_buffer[1] = reg & 0xff; - state->i2c_write_buffer[2] = (val >> 8) & 0xff; -@@ -162,7 +197,11 @@ static int dib8000_write_word(struct dib8000_state *state, u16 reg, u16 val) - state->msg[0].buf = state->i2c_write_buffer; - state->msg[0].len = 4; - -- return i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ? -EREMOTEIO : 0; -+ ret = (i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ? -+ -EREMOTEIO : 0); -+ mutex_unlock(&state->i2c_buffer_lock); -+ -+ return ret; - } - - static const s16 coeff_2k_sb_1seg_dqpsk[8] = { -@@ -2434,8 +2473,15 @@ int dib8000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 defau - if (!client.i2c_read_buffer) { - dprintk("%s: not enough memory", __func__); - ret = -ENOMEM; -- goto error_memory; -+ goto error_memory_read; -+ } -+ client.i2c_buffer_lock = kzalloc(sizeof(struct mutex), GFP_KERNEL); -+ if (!client.i2c_buffer_lock) { -+ dprintk("%s: not enough memory", __func__); -+ ret = -ENOMEM; -+ goto error_memory_lock; - } -+ mutex_init(client.i2c_buffer_lock); - - for (k = no_of_demods - 1; k >= 0; k--) { - /* designated i2c address */ -@@ -2476,8 +2522,10 @@ int dib8000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 defau - } - - error: -+ kfree(client.i2c_buffer_lock); -+error_memory_lock: - kfree(client.i2c_read_buffer); --error_memory: -+error_memory_read: - kfree(client.i2c_write_buffer); - - return ret; -@@ -2581,6 +2629,8 @@ struct dvb_frontend *dib8000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, s - state->i2c.addr = i2c_addr; - state->i2c.i2c_write_buffer = state->i2c_write_buffer; - state->i2c.i2c_read_buffer = state->i2c_read_buffer; -+ mutex_init(&state->i2c_buffer_lock); -+ state->i2c.i2c_buffer_lock = &state->i2c_buffer_lock; - state->gpio_val = cfg->gpio_val; - state->gpio_dir = cfg->gpio_dir; - -diff --git a/drivers/media/dvb/frontends/dib9000.c b/drivers/media/dvb/frontends/dib9000.c -index a085588..b931074 100644 ---- a/drivers/media/dvb/frontends/dib9000.c -+++ b/drivers/media/dvb/frontends/dib9000.c -@@ -38,6 +38,15 @@ struct i2c_device { - #define DibInitLock(lock) mutex_init(lock) - #define DibFreeLock(lock) - -+struct dib9000_pid_ctrl { -+#define DIB9000_PID_FILTER_CTRL 0 -+#define DIB9000_PID_FILTER 1 -+ u8 cmd; -+ u8 id; -+ u16 pid; -+ u8 onoff; -+}; -+ - struct dib9000_state { - struct i2c_device i2c; - -@@ -99,6 +108,10 @@ struct dib9000_state { - struct i2c_msg msg[2]; - u8 i2c_write_buffer[255]; - u8 i2c_read_buffer[255]; -+ DIB_LOCK demod_lock; -+ u8 get_frontend_internal; -+ struct dib9000_pid_ctrl pid_ctrl[10]; -+ s8 pid_ctrl_index; /* -1: empty list; -2: do not use the list */ - }; - - static const u32 fe_info[44] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -@@ -1743,19 +1756,56 @@ EXPORT_SYMBOL(dib9000_set_gpio); - int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff) - { - struct dib9000_state *state = fe->demodulator_priv; -- u16 val = dib9000_read_word(state, 294 + 1) & 0xffef; -+ u16 val; -+ int ret; -+ -+ if ((state->pid_ctrl_index != -2) && (state->pid_ctrl_index < 9)) { -+ /* postpone the pid filtering cmd */ -+ dprintk("pid filter cmd postpone"); -+ state->pid_ctrl_index++; -+ state->pid_ctrl[state->pid_ctrl_index].cmd = DIB9000_PID_FILTER_CTRL; -+ state->pid_ctrl[state->pid_ctrl_index].onoff = onoff; -+ return 0; -+ } -+ -+ DibAcquireLock(&state->demod_lock); -+ -+ val = dib9000_read_word(state, 294 + 1) & 0xffef; - val |= (onoff & 0x1) << 4; - - dprintk("PID filter enabled %d", onoff); -- return dib9000_write_word(state, 294 + 1, val); -+ ret = dib9000_write_word(state, 294 + 1, val); -+ DibReleaseLock(&state->demod_lock); -+ return ret; -+ - } - EXPORT_SYMBOL(dib9000_fw_pid_filter_ctrl); - - int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff) - { - struct dib9000_state *state = fe->demodulator_priv; -+ int ret; -+ -+ if (state->pid_ctrl_index != -2) { -+ /* postpone the pid filtering cmd */ -+ dprintk("pid filter postpone"); -+ if (state->pid_ctrl_index < 9) { -+ state->pid_ctrl_index++; -+ state->pid_ctrl[state->pid_ctrl_index].cmd = DIB9000_PID_FILTER; -+ state->pid_ctrl[state->pid_ctrl_index].id = id; -+ state->pid_ctrl[state->pid_ctrl_index].pid = pid; -+ state->pid_ctrl[state->pid_ctrl_index].onoff = onoff; -+ } else -+ dprintk("can not add any more pid ctrl cmd"); -+ return 0; -+ } -+ -+ DibAcquireLock(&state->demod_lock); - dprintk("Index %x, PID %d, OnOff %d", id, pid, onoff); -- return dib9000_write_word(state, 300 + 1 + id, onoff ? (1 << 13) | pid : 0); -+ ret = dib9000_write_word(state, 300 + 1 + id, -+ onoff ? (1 << 13) | pid : 0); -+ DibReleaseLock(&state->demod_lock); -+ return ret; - } - EXPORT_SYMBOL(dib9000_fw_pid_filter); - -@@ -1778,6 +1828,7 @@ static void dib9000_release(struct dvb_frontend *demod) - DibFreeLock(&state->platform.risc.mbx_lock); - DibFreeLock(&state->platform.risc.mem_lock); - DibFreeLock(&state->platform.risc.mem_mbx_lock); -+ DibFreeLock(&state->demod_lock); - dibx000_exit_i2c_master(&st->i2c_master); - - i2c_del_adapter(&st->tuner_adap); -@@ -1795,14 +1846,19 @@ static int dib9000_sleep(struct dvb_frontend *fe) - { - struct dib9000_state *state = fe->demodulator_priv; - u8 index_frontend; -- int ret; -+ int ret = 0; - -+ DibAcquireLock(&state->demod_lock); - for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { - ret = state->fe[index_frontend]->ops.sleep(state->fe[index_frontend]); - if (ret < 0) -- return ret; -+ goto error; - } -- return dib9000_mbx_send(state, OUT_MSG_FE_SLEEP, NULL, 0); -+ ret = dib9000_mbx_send(state, OUT_MSG_FE_SLEEP, NULL, 0); -+ -+error: -+ DibReleaseLock(&state->demod_lock); -+ return ret; - } - - static int dib9000_fe_get_tune_settings(struct dvb_frontend *fe, struct dvb_frontend_tune_settings *tune) -@@ -1816,7 +1872,10 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par - struct dib9000_state *state = fe->demodulator_priv; - u8 index_frontend, sub_index_frontend; - fe_status_t stat; -- int ret; -+ int ret = 0; -+ -+ if (state->get_frontend_internal == 0) -+ DibAcquireLock(&state->demod_lock); - - for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { - state->fe[index_frontend]->ops.read_status(state->fe[index_frontend], &stat); -@@ -1846,14 +1905,15 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par - state->fe[index_frontend]->dtv_property_cache.rolloff; - } - } -- return 0; -+ ret = 0; -+ goto return_value; - } - } - - /* get the channel from master chip */ - ret = dib9000_fw_get_channel(fe, fep); - if (ret != 0) -- return ret; -+ goto return_value; - - /* synchronize the cache with the other frontends */ - for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { -@@ -1866,8 +1926,12 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par - state->fe[index_frontend]->dtv_property_cache.code_rate_LP = fe->dtv_property_cache.code_rate_LP; - state->fe[index_frontend]->dtv_property_cache.rolloff = fe->dtv_property_cache.rolloff; - } -+ ret = 0; - -- return 0; -+return_value: -+ if (state->get_frontend_internal == 0) -+ DibReleaseLock(&state->demod_lock); -+ return ret; - } - - static int dib9000_set_tune_state(struct dvb_frontend *fe, enum frontend_tune_state tune_state) -@@ -1912,6 +1976,10 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par - dprintk("dib9000: must specify bandwidth "); - return 0; - } -+ -+ state->pid_ctrl_index = -1; /* postpone the pid filtering cmd */ -+ DibAcquireLock(&state->demod_lock); -+ - fe->dtv_property_cache.delivery_system = SYS_DVBT; - - /* set the master status */ -@@ -1974,13 +2042,18 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par - /* check the tune result */ - if (exit_condition == 1) { /* tune failed */ - dprintk("tune failed"); -+ DibReleaseLock(&state->demod_lock); -+ /* tune failed; put all the pid filtering cmd to junk */ -+ state->pid_ctrl_index = -1; - return 0; - } - - dprintk("tune success on frontend%i", index_frontend_success); - - /* synchronize all the channel cache */ -+ state->get_frontend_internal = 1; - dib9000_get_frontend(state->fe[0], fep); -+ state->get_frontend_internal = 0; - - /* retune the other frontends with the found channel */ - channel_status.status = CHANNEL_STATUS_PARAMETERS_SET; -@@ -2025,6 +2098,28 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par - /* turn off the diversity for the last frontend */ - dib9000_fw_set_diversity_in(state->fe[index_frontend - 1], 0); - -+ DibReleaseLock(&state->demod_lock); -+ if (state->pid_ctrl_index >= 0) { -+ u8 index_pid_filter_cmd; -+ u8 pid_ctrl_index = state->pid_ctrl_index; -+ -+ state->pid_ctrl_index = -2; -+ for (index_pid_filter_cmd = 0; -+ index_pid_filter_cmd <= pid_ctrl_index; -+ index_pid_filter_cmd++) { -+ if (state->pid_ctrl[index_pid_filter_cmd].cmd == DIB9000_PID_FILTER_CTRL) -+ dib9000_fw_pid_filter_ctrl(state->fe[0], -+ state->pid_ctrl[index_pid_filter_cmd].onoff); -+ else if (state->pid_ctrl[index_pid_filter_cmd].cmd == DIB9000_PID_FILTER) -+ dib9000_fw_pid_filter(state->fe[0], -+ state->pid_ctrl[index_pid_filter_cmd].id, -+ state->pid_ctrl[index_pid_filter_cmd].pid, -+ state->pid_ctrl[index_pid_filter_cmd].onoff); -+ } -+ } -+ /* do not postpone any more the pid filtering */ -+ state->pid_ctrl_index = -2; -+ - return 0; - } - -@@ -2041,6 +2136,7 @@ static int dib9000_read_status(struct dvb_frontend *fe, fe_status_t * stat) - u8 index_frontend; - u16 lock = 0, lock_slave = 0; - -+ DibAcquireLock(&state->demod_lock); - for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) - lock_slave |= dib9000_read_lock(state->fe[index_frontend]); - -@@ -2059,6 +2155,8 @@ static int dib9000_read_status(struct dvb_frontend *fe, fe_status_t * stat) - if ((lock & 0x0008) || (lock_slave & 0x0008)) - *stat |= FE_HAS_LOCK; - -+ DibReleaseLock(&state->demod_lock); -+ - return 0; - } - -@@ -2066,10 +2164,14 @@ static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber) - { - struct dib9000_state *state = fe->demodulator_priv; - u16 *c; -+ int ret = 0; - -+ DibAcquireLock(&state->demod_lock); - DibAcquireLock(&state->platform.risc.mem_mbx_lock); -- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) -- return -EIO; -+ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { -+ ret = -EIO; -+ goto error; -+ } - dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, - state->i2c_read_buffer, 16 * 2); - DibReleaseLock(&state->platform.risc.mem_mbx_lock); -@@ -2077,7 +2179,10 @@ static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber) - c = (u16 *)state->i2c_read_buffer; - - *ber = c[10] << 16 | c[11]; -- return 0; -+ -+error: -+ DibReleaseLock(&state->demod_lock); -+ return ret; - } - - static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) -@@ -2086,7 +2191,9 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) - u8 index_frontend; - u16 *c = (u16 *)state->i2c_read_buffer; - u16 val; -+ int ret = 0; - -+ DibAcquireLock(&state->demod_lock); - *strength = 0; - for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { - state->fe[index_frontend]->ops.read_signal_strength(state->fe[index_frontend], &val); -@@ -2097,8 +2204,10 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) - } - - DibAcquireLock(&state->platform.risc.mem_mbx_lock); -- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) -- return -EIO; -+ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { -+ ret = -EIO; -+ goto error; -+ } - dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, (u8 *) c, 16 * 2); - DibReleaseLock(&state->platform.risc.mem_mbx_lock); - -@@ -2107,7 +2216,10 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) - *strength = 65535; - else - *strength += val; -- return 0; -+ -+error: -+ DibReleaseLock(&state->demod_lock); -+ return ret; - } - - static u32 dib9000_get_snr(struct dvb_frontend *fe) -@@ -2151,6 +2263,7 @@ static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr) - u8 index_frontend; - u32 snr_master; - -+ DibAcquireLock(&state->demod_lock); - snr_master = dib9000_get_snr(fe); - for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) - snr_master += dib9000_get_snr(state->fe[index_frontend]); -@@ -2161,6 +2274,8 @@ static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr) - } else - *snr = 0; - -+ DibReleaseLock(&state->demod_lock); -+ - return 0; - } - -@@ -2168,15 +2283,22 @@ static int dib9000_read_unc_blocks(struct dvb_frontend *fe, u32 * unc) - { - struct dib9000_state *state = fe->demodulator_priv; - u16 *c = (u16 *)state->i2c_read_buffer; -+ int ret = 0; - -+ DibAcquireLock(&state->demod_lock); - DibAcquireLock(&state->platform.risc.mem_mbx_lock); -- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) -- return -EIO; -+ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { -+ ret = -EIO; -+ goto error; -+ } - dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, (u8 *) c, 16 * 2); - DibReleaseLock(&state->platform.risc.mem_mbx_lock); - - *unc = c[12]; -- return 0; -+ -+error: -+ DibReleaseLock(&state->demod_lock); -+ return ret; - } - - int dib9000_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, u8 first_addr) -@@ -2322,6 +2444,10 @@ struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, c - DibInitLock(&st->platform.risc.mbx_lock); - DibInitLock(&st->platform.risc.mem_lock); - DibInitLock(&st->platform.risc.mem_mbx_lock); -+ DibInitLock(&st->demod_lock); -+ st->get_frontend_internal = 0; -+ -+ st->pid_ctrl_index = -2; - - st->fe[0] = fe; - fe->demodulator_priv = st; -diff --git a/drivers/media/dvb/frontends/dibx000_common.c b/drivers/media/dvb/frontends/dibx000_common.c -index dc5d17a..774d507 100644 ---- a/drivers/media/dvb/frontends/dibx000_common.c -+++ b/drivers/media/dvb/frontends/dibx000_common.c -@@ -1,4 +1,5 @@ - #include <linux/i2c.h> -+#include <linux/mutex.h> - - #include "dibx000_common.h" - -@@ -10,6 +11,13 @@ MODULE_PARM_DESC(debug, "turn on debugging (default: 0)"); - - static int dibx000_write_word(struct dibx000_i2c_master *mst, u16 reg, u16 val) - { -+ int ret; -+ -+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ - mst->i2c_write_buffer[0] = (reg >> 8) & 0xff; - mst->i2c_write_buffer[1] = reg & 0xff; - mst->i2c_write_buffer[2] = (val >> 8) & 0xff; -@@ -21,11 +29,21 @@ static int dibx000_write_word(struct dibx000_i2c_master *mst, u16 reg, u16 val) - mst->msg[0].buf = mst->i2c_write_buffer; - mst->msg[0].len = 4; - -- return i2c_transfer(mst->i2c_adap, mst->msg, 1) != 1 ? -EREMOTEIO : 0; -+ ret = i2c_transfer(mst->i2c_adap, mst->msg, 1) != 1 ? -EREMOTEIO : 0; -+ mutex_unlock(&mst->i2c_buffer_lock); -+ -+ return ret; - } - - static u16 dibx000_read_word(struct dibx000_i2c_master *mst, u16 reg) - { -+ u16 ret; -+ -+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - mst->i2c_write_buffer[0] = reg >> 8; - mst->i2c_write_buffer[1] = reg & 0xff; - -@@ -42,7 +60,10 @@ static u16 dibx000_read_word(struct dibx000_i2c_master *mst, u16 reg) - if (i2c_transfer(mst->i2c_adap, mst->msg, 2) != 2) - dprintk("i2c read error on %d", reg); - -- return (mst->i2c_read_buffer[0] << 8) | mst->i2c_read_buffer[1]; -+ ret = (mst->i2c_read_buffer[0] << 8) | mst->i2c_read_buffer[1]; -+ mutex_unlock(&mst->i2c_buffer_lock); -+ -+ return ret; - } - - static int dibx000_is_i2c_done(struct dibx000_i2c_master *mst) -@@ -257,6 +278,7 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap, - struct i2c_msg msg[], int num) - { - struct dibx000_i2c_master *mst = i2c_get_adapdata(i2c_adap); -+ int ret; - - if (num > 32) { - dprintk("%s: too much I2C message to be transmitted (%i).\ -@@ -264,10 +286,15 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap, - return -ENOMEM; - } - -- memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); -- - dibx000_i2c_select_interface(mst, DIBX000_I2C_INTERFACE_GPIO_6_7); - -+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ -+ memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); -+ - /* open the gate */ - dibx000_i2c_gate_ctrl(mst, &mst->i2c_write_buffer[0], msg[0].addr, 1); - mst->msg[0].addr = mst->i2c_addr; -@@ -282,7 +309,11 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap, - mst->msg[num + 1].buf = &mst->i2c_write_buffer[4]; - mst->msg[num + 1].len = 4; - -- return i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? num : -EIO; -+ ret = (i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? -+ num : -EIO); -+ -+ mutex_unlock(&mst->i2c_buffer_lock); -+ return ret; - } - - static struct i2c_algorithm dibx000_i2c_gated_gpio67_algo = { -@@ -294,6 +325,7 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap, - struct i2c_msg msg[], int num) - { - struct dibx000_i2c_master *mst = i2c_get_adapdata(i2c_adap); -+ int ret; - - if (num > 32) { - dprintk("%s: too much I2C message to be transmitted (%i).\ -@@ -301,10 +333,14 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap, - return -ENOMEM; - } - -- memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); -- - dibx000_i2c_select_interface(mst, DIBX000_I2C_INTERFACE_TUNER); - -+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num)); -+ - /* open the gate */ - dibx000_i2c_gate_ctrl(mst, &mst->i2c_write_buffer[0], msg[0].addr, 1); - mst->msg[0].addr = mst->i2c_addr; -@@ -319,7 +355,10 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap, - mst->msg[num + 1].buf = &mst->i2c_write_buffer[4]; - mst->msg[num + 1].len = 4; - -- return i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? num : -EIO; -+ ret = (i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? -+ num : -EIO); -+ mutex_unlock(&mst->i2c_buffer_lock); -+ return ret; - } - - static struct i2c_algorithm dibx000_i2c_gated_tuner_algo = { -@@ -390,8 +429,18 @@ static int i2c_adapter_init(struct i2c_adapter *i2c_adap, - int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, u16 device_rev, - struct i2c_adapter *i2c_adap, u8 i2c_addr) - { -- u8 tx[4]; -- struct i2c_msg m = {.addr = i2c_addr >> 1,.buf = tx,.len = 4 }; -+ int ret; -+ -+ mutex_init(&mst->i2c_buffer_lock); -+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { -+ dprintk("could not acquire lock"); -+ return -EINVAL; -+ } -+ memset(mst->msg, 0, sizeof(struct i2c_msg)); -+ mst->msg[0].addr = i2c_addr >> 1; -+ mst->msg[0].flags = 0; -+ mst->msg[0].buf = mst->i2c_write_buffer; -+ mst->msg[0].len = 4; - - mst->device_rev = device_rev; - mst->i2c_adap = i2c_adap; -@@ -431,9 +480,12 @@ int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, u16 device_rev, - "DiBX000: could not initialize the master i2c_adapter\n"); - - /* initialize the i2c-master by closing the gate */ -- dibx000_i2c_gate_ctrl(mst, tx, 0, 0); -+ dibx000_i2c_gate_ctrl(mst, mst->i2c_write_buffer, 0, 0); -+ -+ ret = (i2c_transfer(i2c_adap, mst->msg, 1) == 1); -+ mutex_unlock(&mst->i2c_buffer_lock); - -- return i2c_transfer(i2c_adap, &m, 1) == 1; -+ return ret; - } - - EXPORT_SYMBOL(dibx000_init_i2c_master); -diff --git a/drivers/media/dvb/frontends/dibx000_common.h b/drivers/media/dvb/frontends/dibx000_common.h -index f031165..5e01147 100644 ---- a/drivers/media/dvb/frontends/dibx000_common.h -+++ b/drivers/media/dvb/frontends/dibx000_common.h -@@ -33,6 +33,7 @@ struct dibx000_i2c_master { - struct i2c_msg msg[34]; - u8 i2c_write_buffer[8]; - u8 i2c_read_buffer[2]; -+ struct mutex i2c_buffer_lock; - }; - - extern int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, -commit 45cbff13693d645fa5dcbba964e802e1746b2e57 -Author: Olivier Grenie <olivier.grenie@dibcom.fr> -Date: Mon Aug 1 17:45:58 2011 +0200 - - [media] dib0700: protect the dib0700 buffer access - - This patch protects the common buffer access inside the dib0700 in order - to manage concurrent access. This protection is done using mutex. - - Cc: Mauro Carvalho Chehab <mchehab@redhat.com> - Cc: Florian Mickler <florian@mickler.org> - Cc: stable@kernel.org - - Signed-off-by: Javier Marcet <javier@marcet.info> - Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> - Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr> - -diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c -index 5eb91b4..291b645 100644 ---- a/drivers/media/dvb/dvb-usb/dib0700_core.c -+++ b/drivers/media/dvb/dvb-usb/dib0700_core.c -@@ -30,6 +30,11 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, - struct dib0700_state *st = d->priv; - int ret; - -+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), - REQUEST_GET_VERSION, - USB_TYPE_VENDOR | USB_DIR_IN, 0, 0, -@@ -46,6 +51,7 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, - if (fwtype != NULL) - *fwtype = (st->buf[12] << 24) | (st->buf[13] << 16) | - (st->buf[14] << 8) | st->buf[15]; -+ mutex_unlock(&d->usb_mutex); - return ret; - } - -@@ -108,7 +114,12 @@ int dib0700_ctrl_rd(struct dvb_usb_device *d, u8 *tx, u8 txlen, u8 *rx, u8 rxlen - int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_dir, u8 gpio_val) - { - struct dib0700_state *st = d->priv; -- s16 ret; -+ int ret; -+ -+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } - - st->buf[0] = REQUEST_SET_GPIO; - st->buf[1] = gpio; -@@ -116,6 +127,7 @@ int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_ - - ret = dib0700_ctrl_wr(d, st->buf, 3); - -+ mutex_unlock(&d->usb_mutex); - return ret; - } - -@@ -125,6 +137,11 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets) - int ret; - - if (st->fw_version >= 0x10201) { -+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - st->buf[0] = REQUEST_SET_USB_XFER_LEN; - st->buf[1] = (nb_ts_packets >> 8) & 0xff; - st->buf[2] = nb_ts_packets & 0xff; -@@ -132,6 +149,7 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets) - deb_info("set the USB xfer len to %i Ts packet\n", nb_ts_packets); - - ret = dib0700_ctrl_wr(d, st->buf, 3); -+ mutex_unlock(&d->usb_mutex); - } else { - deb_info("this firmware does not allow to change the USB xfer len\n"); - ret = -EIO; -@@ -208,6 +226,10 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, - - } else { - /* Write request */ -+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } - st->buf[0] = REQUEST_NEW_I2C_WRITE; - st->buf[1] = msg[i].addr << 1; - st->buf[2] = (en_start << 7) | (en_stop << 6) | -@@ -227,6 +249,7 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, - USB_TYPE_VENDOR | USB_DIR_OUT, - 0, 0, st->buf, msg[i].len + 4, - USB_CTRL_GET_TIMEOUT); -+ mutex_unlock(&d->usb_mutex); - if (result < 0) { - deb_info("i2c write error (status = %d)\n", result); - break; -@@ -249,6 +272,10 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, - - if (mutex_lock_interruptible(&d->i2c_mutex) < 0) - return -EAGAIN; -+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } - - for (i = 0; i < num; i++) { - /* fill in the address */ -@@ -279,6 +306,7 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, - break; - } - } -+ mutex_unlock(&d->usb_mutex); - mutex_unlock(&d->i2c_mutex); - - return i; -@@ -337,7 +365,12 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll, - u16 pll_loopdiv, u16 free_div, u16 dsuScaler) - { - struct dib0700_state *st = d->priv; -- s16 ret; -+ int ret; -+ -+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } - - st->buf[0] = REQUEST_SET_CLOCK; - st->buf[1] = (en_pll << 7) | (pll_src << 6) | -@@ -352,6 +385,7 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll, - st->buf[9] = dsuScaler & 0xff; /* LSB */ - - ret = dib0700_ctrl_wr(d, st->buf, 10); -+ mutex_unlock(&d->usb_mutex); - - return ret; - } -@@ -360,10 +394,16 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz) - { - struct dib0700_state *st = d->priv; - u16 divider; -+ int ret; - - if (scl_kHz == 0) - return -EINVAL; - -+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - st->buf[0] = REQUEST_SET_I2C_PARAM; - divider = (u16) (30000 / scl_kHz); - st->buf[1] = 0; -@@ -379,7 +419,11 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz) - deb_info("setting I2C speed: %04x %04x %04x (%d kHz).", - (st->buf[2] << 8) | (st->buf[3]), (st->buf[4] << 8) | - st->buf[5], (st->buf[6] << 8) | st->buf[7], scl_kHz); -- return dib0700_ctrl_wr(d, st->buf, 8); -+ -+ ret = dib0700_ctrl_wr(d, st->buf, 8); -+ mutex_unlock(&d->usb_mutex); -+ -+ return ret; - } - - -@@ -515,6 +559,11 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) - } - } - -+ if (mutex_lock_interruptible(&adap->dev->usb_mutex) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - st->buf[0] = REQUEST_ENABLE_VIDEO; - /* this bit gives a kind of command, - * rather than enabling something or not */ -@@ -548,7 +597,10 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) - - deb_info("data for streaming: %x %x\n", st->buf[1], st->buf[2]); - -- return dib0700_ctrl_wr(adap->dev, st->buf, 4); -+ ret = dib0700_ctrl_wr(adap->dev, st->buf, 4); -+ mutex_unlock(&adap->dev->usb_mutex); -+ -+ return ret; - } - - int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) -@@ -557,6 +609,11 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) - struct dib0700_state *st = d->priv; - int new_proto, ret; - -+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -+ dprintk("could not acquire lock"); -+ return 0; -+ } -+ - st->buf[0] = REQUEST_SET_RC; - st->buf[1] = 0; - st->buf[2] = 0; -@@ -567,23 +624,29 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) - else if (rc_type == RC_TYPE_NEC) - new_proto = 0; - else if (rc_type == RC_TYPE_RC6) { -- if (st->fw_version < 0x10200) -- return -EINVAL; -+ if (st->fw_version < 0x10200) { -+ ret = -EINVAL; -+ goto out; -+ } - - new_proto = 2; -- } else -- return -EINVAL; -+ } else { -+ ret = -EINVAL; -+ goto out; -+ } - - st->buf[1] = new_proto; - - ret = dib0700_ctrl_wr(d, st->buf, 3); - if (ret < 0) { - err("ir protocol setup failed"); -- return ret; -+ goto out; - } - - d->props.rc.core.protocol = rc_type; - -+out: -+ mutex_unlock(&d->usb_mutex); - return ret; - } - -commit aeb2d456b746164a4bd19e53de0a6678ca63fcad -Author: Olivier Grenie <olivier.grenie@dibcom.fr> -Date: Thu Aug 4 18:10:03 2011 +0200 - - [media] dib0700: correct error message - - The goal of this patch is to correct a previous patch. In case of error, - the err() function should be used instead of dprintk() function. - - Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> - -diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c -index 291b645..b693ed1 100644 ---- a/drivers/media/dvb/dvb-usb/dib0700_core.c -+++ b/drivers/media/dvb/dvb-usb/dib0700_core.c -@@ -31,7 +31,7 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, - int ret; - - if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -- dprintk("could not acquire lock"); -+ err("could not acquire lock"); - return 0; - } - -@@ -117,7 +117,7 @@ int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_ - int ret; - - if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -- dprintk("could not acquire lock"); -+ err("could not acquire lock"); - return 0; - } - -@@ -138,7 +138,7 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets) - - if (st->fw_version >= 0x10201) { - if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -- dprintk("could not acquire lock"); -+ err("could not acquire lock"); - return 0; - } - -@@ -227,7 +227,7 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, - } else { - /* Write request */ - if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -- dprintk("could not acquire lock"); -+ err("could not acquire lock"); - return 0; - } - st->buf[0] = REQUEST_NEW_I2C_WRITE; -@@ -273,7 +273,7 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, - if (mutex_lock_interruptible(&d->i2c_mutex) < 0) - return -EAGAIN; - if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -- dprintk("could not acquire lock"); -+ err("could not acquire lock"); - return 0; - } - -@@ -368,7 +368,7 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll, - int ret; - - if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -- dprintk("could not acquire lock"); -+ err("could not acquire lock"); - return 0; - } - -@@ -400,7 +400,7 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz) - return -EINVAL; - - if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -- dprintk("could not acquire lock"); -+ err("could not acquire lock"); - return 0; - } - -@@ -560,7 +560,7 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) - } - - if (mutex_lock_interruptible(&adap->dev->usb_mutex) < 0) { -- dprintk("could not acquire lock"); -+ err("could not acquire lock"); - return 0; - } - -@@ -610,7 +610,7 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type) - int new_proto, ret; - - if (mutex_lock_interruptible(&d->usb_mutex) < 0) { -- dprintk("could not acquire lock"); -+ err("could not acquire lock"); - return 0; - } - diff --git a/libre/linux-libre/fix-i915.patch b/libre/linux-libre/fix-i915.patch deleted file mode 100644 index 3b631361a..000000000 --- a/libre/linux-libre/fix-i915.patch +++ /dev/null @@ -1,26 +0,0 @@ -Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> -Tested-by: Santi <santi@agolina.net> ---- - drivers/gpu/drm/i915/intel_tv.c | 9 +++++++++ - 1 files changed, 9 insertions(+), 0 deletions(-) - -diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c -index dc83b7a..c8f67bf 100644 ---- a/drivers/gpu/drm/i915/intel_tv.c -+++ b/drivers/gpu/drm/i915/intel_tv.c -@@ -1267,6 +1267,15 @@ - DAC_B_0_7_V | - DAC_C_0_7_V); - -+ /* -+ * The TV sense state should be cleared to zero on cantiga platform. Otherwise -+ * the TV is misdetected. This is hardware requirement. -+ */ -+ if (IS_GM45(dev)) -+ tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL | -+ TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL); -+ -+ - I915_WRITE(TV_CTL, tv_ctl); - I915_WRITE(TV_DAC, tv_dac); - POSTING_READ(TV_DAC); diff --git a/libre/linux-libre/i915-fix-incorrect-error-message.patch b/libre/linux-libre/i915-fix-incorrect-error-message.patch deleted file mode 100644 index e1addbb05..000000000 --- a/libre/linux-libre/i915-fix-incorrect-error-message.patch +++ /dev/null @@ -1,22 +0,0 @@ -commit 6c76e0b94e484ffbdf38d2fe2769b6ca9aa99de4 -Author: Thomas Bächler <thomas@archlinux.org> -Date: Mon Oct 31 19:16:18 2011 +0100 - - Change accidental error message to debug message. - - According to https://lkml.org/lkml/2011/9/19/80, this is not supposed - to be an error message, but a debug message. This worries users. - -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 04411ad..02d5794 100644 ---- a/drivers/gpu/drm/i915/intel_display.c -+++ b/drivers/gpu/drm/i915/intel_display.c -@@ -5172,7 +5172,7 @@ static void ironlake_update_pch_refclk(struct drm_device *dev) - } else { - /* Enable SSC on PCH eDP if needed */ - if (intel_panel_use_ssc(dev_priv)) { -- DRM_ERROR("enabling SSC on PCH\n"); -+ DRM_DEBUG("enabling SSC on PCH\n"); - temp |= DREF_SUPERSPREAD_SOURCE_ENABLE; - } - } diff --git a/libre/linux-libre/i915-gpu-finish.patch b/libre/linux-libre/i915-gpu-finish.patch deleted file mode 100644 index 5840c9181..000000000 --- a/libre/linux-libre/i915-gpu-finish.patch +++ /dev/null @@ -1,55 +0,0 @@ -commit 389a55581e30607af0fcde6cdb4e54f189cf46cf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 29 15:12:16 2011 +0000 - - drm/i915: Only clear the GPU domains upon a successful finish - - By clearing the GPU read domains before waiting upon the buffer, we run - the risk of the wait being interrupted and the domains prematurely - cleared. The next time we attempt to wait upon the buffer (after - userspace handles the signal), we believe that the buffer is idle and so - skip the wait. - - There are a number of bugs across all generations which show signs of an - overly haste reuse of active buffers. - - Such as: - - https://bugs.freedesktop.org/show_bug.cgi?id=29046 - https://bugs.freedesktop.org/show_bug.cgi?id=35863 - https://bugs.freedesktop.org/show_bug.cgi?id=38952 - https://bugs.freedesktop.org/show_bug.cgi?id=40282 - https://bugs.freedesktop.org/show_bug.cgi?id=41098 - https://bugs.freedesktop.org/show_bug.cgi?id=41102 - https://bugs.freedesktop.org/show_bug.cgi?id=41284 - https://bugs.freedesktop.org/show_bug.cgi?id=42141 - - A couple of those pre-date i915_gem_object_finish_gpu(), so may be - unrelated (such as a wild write from a userspace command buffer), but - this does look like a convincing cause for most of those bugs. - - Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> - Cc: stable@kernel.org - Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> - Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> - -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index d560175..036bc58 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -3087,10 +3087,13 @@ i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj) - return ret; - } - -+ ret = i915_gem_object_wait_rendering(obj); -+ if (ret) -+ return ret; -+ - /* Ensure that we invalidate the GPU's caches and TLBs. */ - obj->base.read_domains &= ~I915_GEM_GPU_DOMAINS; -- -- return i915_gem_object_wait_rendering(obj); -+ return 0; - } - - /** diff --git a/libre/linux-libre/iwlagn-fix-NULL-pointer-dereference.patch b/libre/linux-libre/iwlagn-fix-NULL-pointer-dereference.patch deleted file mode 100644 index a53a3a425..000000000 --- a/libre/linux-libre/iwlagn-fix-NULL-pointer-dereference.patch +++ /dev/null @@ -1,38 +0,0 @@ -This fix regression introduced by commit: - -commit 15b3f3b006b42a678523cad989bfd60b76bf4403 -Author: Wey-Yi Guy <wey-yi.w.guy@intel.com> -Date: Fri Jun 3 07:54:13 2011 -0700 - - iwlagn: set smps mode after assoc for 1000 device - -Also remove unneeded brackets on the way. - -Address: -https://bugzilla.redhat.com/show_bug.cgi?id=744155 - -If fix will not get 3.1 release, it should be applied in 3.1 stable. - -Cc: stable@kernel.org # 3.1+ -Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> ---- - drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c -index ca632f9..5004342 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c -+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c -@@ -296,8 +296,8 @@ static int iwlagn_rxon_connect(struct iwl_priv *priv, - return ret; - } - -- if ((ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION) && -- priv->cfg->ht_params->smps_mode) -+ if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION && -+ priv->cfg->ht_params && priv->cfg->ht_params->smps_mode) - ieee80211_request_smps(ctx->vif, - priv->cfg->ht_params->smps_mode); - --- -1.7.1 diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install index 6f0d7a347..69465632c 100644 --- a/libre/linux-libre/linux-libre.install +++ b/libre/linux-libre/linux-libre.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.3.1-1.1-LIBRE +KERNEL_VERSION=3.3.4-2-LIBRE post_install () { # updating module dependencies diff --git a/libre/linux-libre/linux-libre.preset b/libre/linux-libre/linux-libre.preset index 7af90ba7a..0ac59eb14 100644 --- a/libre/linux-libre/linux-libre.preset +++ b/libre/linux-libre/linux-libre.preset @@ -1,4 +1,4 @@ -# mkinitcpio preset file for the 'linux' package +# mkinitcpio preset file for the 'linux-libre' package ALL_config="/etc/mkinitcpio.conf" ALL_kver="/boot/vmlinuz-linux-libre" diff --git a/libre/linux-libre/md-raid10-fix-bug-when-activating-a-hot-spare.patch b/libre/linux-libre/md-raid10-fix-bug-when-activating-a-hot-spare.patch deleted file mode 100644 index 880849db5..000000000 --- a/libre/linux-libre/md-raid10-fix-bug-when-activating-a-hot-spare.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 7fcc7c8acf0fba44d19a713207af7e58267c1179 Mon Sep 17 00:00:00 2001 -From: NeilBrown <neilb@suse.de> -Date: Mon, 31 Oct 2011 12:59:44 +1100 -Subject: md/raid10: Fix bug when activating a hot-spare. - -From: NeilBrown <neilb@suse.de> - -commit 7fcc7c8acf0fba44d19a713207af7e58267c1179 upstream. - -This is a fairly serious bug in RAID10. - -When a RAID10 array is degraded and a hot-spare is activated, the -spare does not take up the empty slot, but rather replaces the first -working device. -This is likely to make the array non-functional. It would normally -be possible to recover the data, but that would need care and is not -guaranteed. - -This bug was introduced in commit - 2bb77736ae5dca0a189829fbb7379d43364a9dac -which first appeared in 3.1. - -Signed-off-by: NeilBrown <neilb@suse.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/md/raid10.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/md/raid10.c -+++ b/drivers/md/raid10.c -@@ -1337,7 +1337,7 @@ static int raid10_add_disk(mddev_t *mdde - mirror_info_t *p = &conf->mirrors[mirror]; - if (p->recovery_disabled == mddev->recovery_disabled) - continue; -- if (!p->rdev) -+ if (p->rdev) - continue; - - disk_stack_limits(mddev->gendisk, rdev->bdev, diff --git a/libre/linux-libre/usb-add-reset-resume-quirk-for-several-webcams.patch b/libre/linux-libre/usb-add-reset-resume-quirk-for-several-webcams.patch deleted file mode 100644 index 9e570dd3f..000000000 --- a/libre/linux-libre/usb-add-reset-resume-quirk-for-several-webcams.patch +++ /dev/null @@ -1,99 +0,0 @@ -commit 2394d67e446bf616a0885167d5f0d397bdacfdfc -Author: Oliver Neukum <oneukum@suse.de> -Date: Tue Sep 13 08:42:21 2011 +0200 - - USB: add RESET_RESUME for webcams shown to be quirky - - The new runtime PM code has shown that many webcams suffer - from a race condition that may crash them upon resume. - Runtime PM is especially prone to show the problem because - it retains power to the cameras at all times. However - system suspension may also crash the devices and retain - power to the devices. - The only way to solve this problem without races is in - usbcore with the RESET_RESUME quirk. - - Signed-off-by: Oliver Neukum <oneukum@suse.de> - Signed-off-by: stable <stable@kernel.org> - Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - -diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c -index 81ce6a8..38f0510 100644 ---- a/drivers/usb/core/quirks.c -+++ b/drivers/usb/core/quirks.c -@@ -38,6 +38,24 @@ static const struct usb_device_id usb_quirk_list[] = { - /* Creative SB Audigy 2 NX */ - { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, - -+ /* Logitech Webcam C200 */ -+ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C250 */ -+ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam B/C500 */ -+ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam Pro 9000 */ -+ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C310 */ -+ { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C270 */ -+ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* Logitech Harmony 700-series */ - { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT }, - -@@ -69,6 +87,9 @@ static const struct usb_device_id usb_quirk_list[] = { - { USB_DEVICE(0x06a3, 0x0006), .driver_info = - USB_QUIRK_CONFIG_INTF_STRINGS }, - -+ /* Guillemot Webcam Hercules Dualpix Exchange*/ -+ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* M-Systems Flash Disk Pioneers */ - { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, - -commit 5b253d88cc6c65a23cefc457a5a4ef139913c5fc -Author: Jon Levell <linuxusb@coralbark.net> -Date: Thu Sep 29 20:42:52 2011 +0100 - - USB: add quirk for Logitech C300 web cam - - My webcam is a Logitech C300 and I get "chipmunk"ed squeaky sound. - The following trivial patch fixes it. - - Signed-off-by: Jon Levell <linuxusb@coralbark.net> - Cc: stable <stable@kernel.org> - Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - -diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c -index 38f0510..d6a8d82 100644 ---- a/drivers/usb/core/quirks.c -+++ b/drivers/usb/core/quirks.c -@@ -44,6 +44,9 @@ static const struct usb_device_id usb_quirk_list[] = { - /* Logitech Webcam C250 */ - { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, - -+ /* Logitech Webcam C300 */ -+ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* Logitech Webcam B/C500 */ - { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, - -diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c -index d6a8d82..caa1991 100644 ---- a/drivers/usb/core/quirks.c -+++ b/drivers/usb/core/quirks.c -@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = { - /* Logitech Webcam B/C500 */ - { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, - -+ /* Logitech Webcam C600 */ -+ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* Logitech Webcam Pro 9000 */ - { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, - diff --git a/libre/luxrays-libre/PKGBUILD b/libre/luxrays-libre/PKGBUILD index c813946c7..564ca267d 100644 --- a/libre/luxrays-libre/PKGBUILD +++ b/libre/luxrays-libre/PKGBUILD @@ -3,9 +3,9 @@ # Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy> _pkgname=luxrays pkgname=luxrays-libre -pkgver=0.8 -_pkgver=ed424ec77571 -pkgrel=7 +pkgver=1.0rc1 +_pkgver=396d39b06aa6 +pkgrel=1 epoch=0 pkgdesc="Accelerate the ray intersection process by using CPUs (without OpenCL)" arch=('i686' 'x86_64') @@ -17,14 +17,11 @@ replaces=('luxrays') conflicts=('luxrays') provides=("luxrays=$pkgver") source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2) -md5sums=('2ac9c588675c5971c57f473ef10ac67d') +md5sums=('a96ac693ec2900d8d1b209f88edd7e94') build() { cd "$srcdir/luxrender-$_pkgname-$_pkgver" - # fix the break caused by the change of the name of the namespace 'detail' to 'ipcdetail' - sed -i 's|::detail|::ipcdetail|' include/luxrays/utils/core/atomic.h - export CXXFLAGS="$CXXFLAGS -lpthread" cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_SKIP_RPATH=ON \ diff --git a/libre/luxrender-libre/PKGBUILD b/libre/luxrender-libre/PKGBUILD index 38021313d..f4684ee7f 100644 --- a/libre/luxrender-libre/PKGBUILD +++ b/libre/luxrender-libre/PKGBUILD @@ -4,9 +4,9 @@ # Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org> # Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy> pkgname=luxrender-libre -pkgver=0.8 -_pkgver=45d3e13eb94c -pkgrel=13 +pkgver=1.0rc1 +_pkgver=08ae99830f8e +pkgrel=1 pkgdesc="Rendering system for physically correct, unbiased image synthesis (without OpenGL)" arch=('i686' 'x86_64') url="http://www.luxrender.net/" @@ -18,14 +18,12 @@ makedepends=('cmake' 'boost' 'qt' 'luxrays-libre' 'python') replaces=('luxrender') conflicts=('luxrender') provides=("luxrender=$pkgver") -source=(ftp://ftp.archlinux.org/other/community/luxrender/lux-"$pkgver".tar.bz2) -md5sums=('0f2d856385db72131f51e44a7ee527fa') +source=(https://bitbucket.org/luxrender/lux/get/"$_pkgver".tar.bz2) +md5sums=('738616b55ac58c98de431b98f90a05fb') build() { cd "$srcdir"/luxrender-lux-$_pkgver - sed -i 's/FIND_PACKAGE(Boost 1.43 COMPONENTS python REQUIRED)/FIND_PACKAGE(Boost 1.43 COMPONENTS python3 REQUIRED)/' CMakeLists.txt - export CXXFLAGS="$CXXFLAGS -lpthread" cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DLUXRAYS_DISABLE_OPENCL=ON \ diff --git a/libre/mariadb/PKGBUILD b/libre/mariadb/PKGBUILD new file mode 100644 index 000000000..a5b733e9f --- /dev/null +++ b/libre/mariadb/PKGBUILD @@ -0,0 +1,141 @@ +# $Id$ +# Maintainer: +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Douglas Soares de Andrade <douglas@archlinux.org> +# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy> + +falsename=mysql +_falsename=MySQL +pkgbase=mariadb +_pkgbase=MariaDB +pkgname=("lib${pkgbase}client" "${pkgbase}-clients" "${pkgbase}") +pkgver=5.5.23 +pkgrel=1.5 +arch=('i686' 'x86_64' 'mips64el') +license=('GPL') +url="http://www.${pkgbase}.org/" +makedepends=('cmake' 'openssl' 'zlib') +options=('!libtool') +source=("http://mirror.aarnet.edu.au/pub/${_pkgbase}/${pkgbase}-${pkgver}/kvm-tarbake-jaunty-x86/${pkgbase}-${pkgver}.tar.gz" + "${falsename}d" + 'my.cnf') +md5sums=('7074fa091b3c1489f45a5ddf12cd5e6f' + '2234207625baa29b2ff7d7b4f088abce' + '1c949c0dbea5206af0db14942d9927b6') + +build() { + cd "${srcdir}" + mkdir build + cd build + + # CFLAGS/CXXFLAGS as suggested upstream + CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \ + CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \ + + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DSYSCONFDIR=/etc/${falsename} \ + -DMYSQL_DATADIR=/var/lib/${falsename} \ + -DMYSQL_UNIX_ADDR=/var/run/${falsename}/${falsename}.sock \ + -DDEFAULT_CHARSET=utf8 \ + -DDEFAULT_COLLATION=utf8_unicode_ci \ + -DENABLED_LOCAL_INFILE=ON \ + -DINSTALL_INFODIR=share/${falsename}/docs \ + -DINSTALL_MANDIR=share/man \ + -DINSTALL_PLUGINDIR=/usr/lib/${falsename}/plugin \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_INCLUDEDIR=include/${falsename} \ + -DINSTALL_DOCREADMEDIR=share/${falsename} \ + -DINSTALL_SUPPORTFILESDIR=share/${falsename} \ + -DINSTALL_MYSQLSHAREDIR=share/${falsename} \ + -DINSTALL_DOCDIR=share/${falsename}/docs \ + -DINSTALL_SHAREDIR=share/${falsename} \ + -DWITH_READLINE=ON \ + -DWITH_ZLIB=system \ + -DWITH_SSL=system \ + -DWITH_LIBWRAP=OFF \ + -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \ + -DWITH_EXTRA_CHARSETS=complex \ + -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_INNOBASE_STORAGE_ENGINE=1 \ + -DWITH_PARTITION_STORAGE_ENGINE=1 \ + -DWITH_PBXT_STORAGE_ENGINE=1 \ + -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ + -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \ + -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \ + -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 + + make +} + +package_libmariadbclient(){ + pkgdesc="${_pkgbase} client libraries (branch of ${_falsename})" + depends=('openssl') + conflicts=("lib${falsename}client") + provides=("lib${falsename}client=${pkgver}") + + cd "${srcdir}"/build + for dir in include lib${falsename} lib${falsename}d libservices; do + make -C ${dir} DESTDIR="${pkgdir}" install + done + + install -d "${pkgdir}"/usr/bin + install -m755 scripts/${falsename}_config "${pkgdir}"/usr/bin/ + install -d "${pkgdir}"/usr/share/man/man1 + for man in ${falsename}_config ${falsename}_client_test_embedded ${falsename}test_embedded; do + install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1 + done +} + +package_mariadb-clients(){ + pkgdesc="${_pkgbase} client tools (branch of ${_falsename})" + depends=("lib${pkgbase}client") + conflicts=("${falsename}-clients") + provides=("${falsename}-clients=${pkgver}") + + cd "${srcdir}"/build + make -C client DESTDIR="${pkgdir}" install + + # install man pages + install -d "${pkgdir}"/usr/share/man/man1 + for man in ${falsename} ${falsename}admin ${falsename}check ${falsename}dump ${falsename}import ${falsename}show ${falsename}slap; do + install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1 + done + + # provided by mariadb + rm "${pkgdir}"/usr/bin/{${falsename}_{plugin,upgrade},${falsename}binlog,${falsename}test} +} + +package_mariadb(){ + pkgdesc="A fast SQL database server branch of ${_falsename} - ${_pkgbase}" + backup=("etc/${pkgbase}/my.cnf") + install=${falsename}.install + depends=("${pkgbase}-clients") + optdepends=('perl-dbi' "perl-dbd-${falsename}") + conflicts=("${falsename}") + provides=("${falsename}=${pkgver}") + options=('emptydirs') + + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install + + install -Dm644 "${srcdir}"/my.cnf "${pkgdir}"/etc/${falsename}/my.cnf + install -Dm755 "${srcdir}"/${falsename}d "${pkgdir}"/etc/rc.d/${falsename}d + + # provided by libmariadbclient + rm "${pkgdir}"/usr/bin/{${falsename}_config,${falsename}_client_test_embedded,${falsename}test_embedded} + rm "${pkgdir}"/usr/lib/lib${falsename}* + rm -r "${pkgdir}"/usr/include/ + rm "${pkgdir}"/usr/share/man/man1/{${falsename}_config,${falsename}_client_test_embedded,${falsename}test_embedded}.1 + + # provided by mariadb-clients + rm "${pkgdir}"/usr/bin/{${falsename},${falsename}admin,${falsename}check,${falsename}dump,${falsename}import,${falsename}show,${falsename}slap} + rm "${pkgdir}"/usr/share/man/man1/{${falsename},${falsename}admin,${falsename}check,${falsename}dump,${falsename}import,${falsename}show,${falsename}slap}.1 + + # not needed + rm -r "${pkgdir}"/usr/{data,${falsename}-test,sql-bench} + rm "${pkgdir}"/usr/share/man/man1/${falsename}-test-run.pl.1 + + install -dm700 "${pkgdir}"/var/lib/${falsename} +} diff --git a/libre/mariadb/mariadb.install b/libre/mariadb/mariadb.install new file mode 100644 index 000000000..f56a0dcaa --- /dev/null +++ b/libre/mariadb/mariadb.install @@ -0,0 +1,26 @@ +post_install(){ + groupadd -g 89 mysql &>/dev/null + useradd -u 89 -g mysql -d /var/lib/mariadb -s /bin/false mysql &>/dev/null + /usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mariadb + chown -R mysql:mysql /var/lib/mariadb &>/dev/null +} + +post_upgrade(){ + getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null + getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mariadb -s /bin/false mysql &>/dev/null + + if [ "$(vercmp $2 5.5)" -lt 0 ]; then + echo " >> " + echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it." + echo " >> " + fi +} + +post_remove(){ + if getent passwd mysql >/dev/null 2>&1; then + userdel mysql + fi + if getent group mysql >/dev/null 2>&1; then + groupdel mysql + fi +} diff --git a/libre/mariadb/mariadbd b/libre/mariadb/mariadbd new file mode 100755 index 000000000..3ae612096 --- /dev/null +++ b/libre/mariadb/mariadbd @@ -0,0 +1,77 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +getPID() { + echo $(pgrep -u mysql mysqld 2>/dev/null); +} + +case "$1" in + start) + stat_busy "Starting MariaDB Server" + [ ! -d /var/run/mariadb ] && install -d -g mysql -o mysql /var/run/mariadb &>/dev/null + if [ -z "$(getPID)" ]; then + /usr/bin/mysqld_safe --user=mysql &>/dev/null & + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + timeo=30 + while [ $timeo -gt 0 ]; do + response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break + echo "$response" | grep -q "mysqld is alive" && break + sleep 1 + let timeo=${timeo}-1 + done + if [ $timeo -eq 0 ]; then + stat_fail + exit 1 + else + echo $(getPID) > /var/run/mariadb/mariadb.pid + add_daemon mysqld + stat_done + fi + fi + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping MariaDB Server" + if [ ! -z "$(getPID)" ]; then + timeo=30 + kill $(getPID) &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + fi + while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do + sleep 1 + let timeo=${timeo}-1 + done + if [ -z "$(getPID)" ]; then + rm -f /var/run/mariadb/mariadb.pid &>/dev/null + rm_daemon mysqld + stat_done + else + stat_fail + exit 1 + fi + else + stat_fail + exit 1 + fi + ;; + + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/libre/mariadb/my.cnf b/libre/mariadb/my.cnf new file mode 100644 index 000000000..9a41b4fc3 --- /dev/null +++ b/libre/mariadb/my.cnf @@ -0,0 +1,145 @@ +# MySQL config file for medium systems. +# +# This is for a system with little memory (32M - 64M) where MySQL plays +# an important part, or systems up to 128M where MySQL is used together with +# other programs (such as a web server) +# +# MySQL programs look for option files in a set of +# locations which depend on the deployment platform. +# You can copy this option file to one of those +# locations. For information about these locations, see: +# http://dev.mysql.com/doc/mysql/en/option-files.html +# +# In this file, you can use all long options that a program supports. +# If you want to know which options a program supports, run the program +# with the "--help" option. + +# The following options will be passed to all MySQL clients +[client] +#password = your_password +port = 3306 +socket = /var/run/mysqld/mysqld.sock + +# Here follows entries for some specific programs + +# The MySQL server +[mysqld] +port = 3306 +socket = /var/run/mysqld/mysqld.sock +datadir = /var/lib/mysql +skip-external-locking +key_buffer_size = 16M +max_allowed_packet = 1M +table_open_cache = 64 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M + +# Don't listen on a TCP/IP port at all. This can be a security enhancement, +# if all processes that need to connect to mysqld run on the same host. +# All interaction with mysqld must be made via Unix sockets or named pipes. +# Note that using this option without enabling named pipes on Windows +# (via the "enable-named-pipe" option) will render mysqld useless! +# +skip-networking + +# Replication Master Server (default) +# binary logging is required for replication +log-bin=mysql-bin + +# binary logging format - mixed recommended +binlog_format=mixed + +# required unique id between 1 and 2^32 - 1 +# defaults to 1 if master-host is not set +# but will not function as a master if omitted +server-id = 1 + +# Replication Slave (comment out master section to use this) +# +# To configure this host as a replication slave, you can choose between +# two methods : +# +# 1) Use the CHANGE MASTER TO command (fully described in our manual) - +# the syntax is: +# +# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>, +# MASTER_USER=<user>, MASTER_PASSWORD=<password> ; +# +# where you replace <host>, <user>, <password> by quoted strings and +# <port> by the master's port number (3306 by default). +# +# Example: +# +# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, +# MASTER_USER='joe', MASTER_PASSWORD='secret'; +# +# OR +# +# 2) Set the variables below. However, in case you choose this method, then +# start replication for the first time (even unsuccessfully, for example +# if you mistyped the password in master-password and the slave fails to +# connect), the slave will create a master.info file, and any later +# change in this file to the variables' values below will be ignored and +# overridden by the content of the master.info file, unless you shutdown +# the slave server, delete master.info and restart the slaver server. +# For that reason, you may want to leave the lines below untouched +# (commented) and instead use CHANGE MASTER TO (see above) +# +# required unique id between 2 and 2^32 - 1 +# (and different from the master) +# defaults to 2 if master-host is set +# but will not function as a slave if omitted +#server-id = 2 +# +# The replication master for this slave - required +#master-host = <hostname> +# +# The username the slave will use for authentication when connecting +# to the master - required +#master-user = <username> +# +# The password the slave will authenticate with when connecting to +# the master - required +#master-password = <password> +# +# The port the master is listening on. +# optional - defaults to 3306 +#master-port = <port> +# +# binary logging - not required for slaves, but recommended +#log-bin=mysql-bin + +# Uncomment the following if you are using InnoDB tables +#innodb_data_home_dir = /var/lib/mysql +#innodb_data_file_path = ibdata1:10M:autoextend +#innodb_log_group_home_dir = /var/lib/mysql +# You can set .._buffer_pool_size up to 50 - 80 % +# of RAM but beware of setting memory usage too high +#innodb_buffer_pool_size = 16M +#innodb_additional_mem_pool_size = 2M +# Set .._log_file_size to 25 % of buffer pool size +#innodb_log_file_size = 5M +#innodb_log_buffer_size = 8M +#innodb_flush_log_at_trx_commit = 1 +#innodb_lock_wait_timeout = 50 + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +no-auto-rehash +# Remove the next comment character if you are not familiar with SQL +#safe-updates + +[myisamchk] +key_buffer_size = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[mysqlhotcopy] +interactive-timeout diff --git a/libre/mariadb/mysql.install b/libre/mariadb/mysql.install new file mode 100644 index 000000000..9a4479215 --- /dev/null +++ b/libre/mariadb/mysql.install @@ -0,0 +1,26 @@ +post_install(){ + groupadd -g 89 mysql &>/dev/null + useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null + usr/bin/mysql_install_db --user=mysql --basedir=/usr + chown -R mysql:mysql var/lib/mysql &>/dev/null +} + +post_upgrade(){ + getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null + getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null + + if [ "$(vercmp $2 5.5)" -lt 0 ]; then + echo " >> " + echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it." + echo " >> " + fi +} + +post_remove(){ + if getent passwd mysql >/dev/null 2>&1; then + userdel mysql + fi + if getent group mysql >/dev/null 2>&1; then + groupdel mysql + fi +} diff --git a/libre/mariadb/mysqld b/libre/mariadb/mysqld new file mode 100644 index 000000000..1ac88a7cc --- /dev/null +++ b/libre/mariadb/mysqld @@ -0,0 +1,77 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +getPID() { + echo $(pgrep -u mysql mysqld 2>/dev/null); +} + +case "$1" in + start) + stat_busy "Starting MySQL Server" + [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null + if [ -z "$(getPID)" ]; then + /usr/bin/mysqld_safe --user=mysql &>/dev/null & + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + timeo=30 + while [ $timeo -gt 0 ]; do + response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break + echo "$response" | grep -q "mysqld is alive" && break + sleep 1 + let timeo=${timeo}-1 + done + if [ $timeo -eq 0 ]; then + stat_fail + exit 1 + else + echo $(getPID) > /var/run/mysqld/mysqld.pid + add_daemon mysqld + stat_done + fi + fi + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping MySQL Server" + if [ ! -z "$(getPID)" ]; then + timeo=30 + kill $(getPID) &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + fi + while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do + sleep 1 + let timeo=${timeo}-1 + done + if [ -z "$(getPID)" ]; then + rm -f /var/run/mysqld/mysqld.pid &>/dev/null + rm_daemon mysqld + stat_done + else + stat_fail + exit 1 + fi + else + stat_fail + exit 1 + fi + ;; + + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/libre/parabola-archiso-git/PKGBUILD b/libre/parabola-archiso-git/PKGBUILD new file mode 100644 index 000000000..0b07ddf8d --- /dev/null +++ b/libre/parabola-archiso-git/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> +pkgname=parabola-archiso-git +pkgver=20120506 +pkgrel=1 +pkgdesc="Parabola GNU/Linux-libre livecd/liveusb generation scripts" +arch=('any') +url="https://parabolagnulinux.org" +license=('GPL') +depends=('libisoburn' 'squashfs-tools' 'rsync') +optdepends=('qemu: quickly test isos') +makedepends=('git') +provides=('archiso') +conflicts=('archiso') +source=() +md5sums=() + +_gitroot=git://parabolagnulinux.org/archiso.git +_gitname=archiso + +build() { + cd ${srcdir} + msg "Connecting to projects.parabolagnulinux.org GIT server..." + + if [ -d ${srcdir}/$_gitname ]; then + cd $_gitname && git pull origin + msg "The local files are updated." + else + git clone $_gitroot + fi + + msg "GIT checkout done or server timeout" + msg "Starting make..." + + if [ -d ${srcdir}/$_gitname-build ]; then + rm -rf ${srcdir}/$_gitname-build + fi + + git clone ${srcdir}/$_gitname ${srcdir}/$_gitname-build || return 1 + cd ${srcdir}/$_gitname-build/$_gitname || return 1 + + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/libre/python2-libre/13156-revert-tls-changeset-subinterpreter.patch b/libre/python2-libre/13156-revert-tls-changeset-subinterpreter.patch new file mode 100644 index 000000000..ed8154df5 --- /dev/null +++ b/libre/python2-libre/13156-revert-tls-changeset-subinterpreter.patch @@ -0,0 +1,61 @@ + +# HG changeset patch +# User Charles-François Natali <neologix@free.fr> +# Date 1318446474 -7200 +# Node ID ee4fe16d9b4822457ad855ea6c44e65030166304 +# Parent f6feed6ec3f9b024cecd0fd587595c403f55624f +Issue #13156: revert changeset f6feed6ec3f9, which was only relevant for native +TLS implementations, and fails with the ad-hoc TLS implementation when a thread +doesn't have an auto thread state (e.g. a thread created outside of Python +calling into a subinterpreter). + +diff --git a/Include/pystate.h b/Include/pystate.h +--- a/Include/pystate.h ++++ b/Include/pystate.h +@@ -111,7 +111,6 @@ PyAPI_FUNC(void) PyThreadState_Clear(PyT + PyAPI_FUNC(void) PyThreadState_Delete(PyThreadState *); + #ifdef WITH_THREAD + PyAPI_FUNC(void) PyThreadState_DeleteCurrent(void); +-PyAPI_FUNC(void) _PyGILState_Reinit(void); + #endif + + PyAPI_FUNC(PyThreadState *) PyThreadState_Get(void); +diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c +--- a/Modules/signalmodule.c ++++ b/Modules/signalmodule.c +@@ -976,7 +976,6 @@ void + PyOS_AfterFork(void) + { + #ifdef WITH_THREAD +- _PyGILState_Reinit(); + PyEval_ReInitThreads(); + main_thread = PyThread_get_thread_ident(); + main_pid = getpid(); +diff --git a/Python/pystate.c b/Python/pystate.c +--- a/Python/pystate.c ++++ b/Python/pystate.c +@@ -537,23 +537,6 @@ void + autoInterpreterState = NULL; + } + +-/* Reset the TLS key - called by PyOS_AfterFork. +- * This should not be necessary, but some - buggy - pthread implementations +- * don't flush TLS on fork, see issue #10517. +- */ +-void +-_PyGILState_Reinit(void) +-{ +- PyThreadState *tstate = PyGILState_GetThisThreadState(); +- PyThread_delete_key(autoTLSkey); +- if ((autoTLSkey = PyThread_create_key()) == -1) +- Py_FatalError("Could not allocate TLS entry"); +- +- /* re-associate the current thread state with the new key */ +- if (PyThread_set_key_value(autoTLSkey, (void *)tstate) < 0) +- Py_FatalError("Couldn't create autoTLSkey mapping"); +-} +- + /* When a thread state is created for a thread by some mechanism other than + PyGILState_Ensure, it's important that the GILState machinery knows about + it so it doesn't try to create another thread state for the thread (this is + diff --git a/libre/python2-libre/PKGBUILD b/libre/python2-libre/PKGBUILD index c4f09188d..e743151b0 100644 --- a/libre/python2-libre/PKGBUILD +++ b/libre/python2-libre/PKGBUILD @@ -6,22 +6,23 @@ _pkgname=python2 pkgname=python2-libre pkgver=2.7.2 -pkgrel=4 +pkgrel=6 _pybasever=2.7 pkgdesc="A high-level scripting language" arch=('i686' 'x86_64') license=('PSF') url="http://www.python.org/" -depends=('bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3' 'libffi') +depends=('bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite' 'libffi') makedepends=('tk') optdepends=('tk: for IDLE') conflicts=('python<3') options=('!makeflags') -source=(http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}-${pkgrel}-any.src.tar.xz +source=(http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}-4-any.src.tar.xz doc_license_change.patch WDAS.patch linux2.patch - gdbm-magic-values.patch) + gdbm-magic-values.patch + 13156-revert-tls-changeset-subinterpreter.patch) provides=("$_pkgname=$pkgver") conflicts=("$_pkgname") replaces=("$_pkgname") @@ -33,7 +34,7 @@ build() { # See http://bugs.python.org/issue10835 for upstream report sed -i "/progname =/s/python/python${_pybasever}/" Python/pythonrun.c - # Enable built-in SQLite3 module to load extensions (fix FS#22122) + # Enable built-in SQLite module to load extensions (fix FS#22122) sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py # FS#23997 @@ -47,6 +48,9 @@ build() { # http://bugs.python.org/issue13007 patch -Np1 -i ../gdbm-magic-values.patch + # http://bugs.python.org/issue13156 + patch -Np1 -i ../13156-revert-tls-changeset-subinterpreter.patch + # Ensure that we are using the system copy of various libraries (expat, zlib and libffi), # rather than copies shipped in the tarball rm -r Modules/expat @@ -100,5 +104,6 @@ package() { md5sums=('456d053a5d418adc913a4971e95fe918' '1e6595f85a1da7f42b69456119924d50' '3f8c0e310a0be0bd8b319d6c46bbd427' - '74c04694573e0d331e2a99d7b9179460' - '2874e9d93f4f46c1460605a5c7751372') + '6099a7c1aed80cf04943ee4affa84b5c' + '6de394351179c2ada82e95458ceb13e5' + 'daa5110f092f1406c17de23171529e62') diff --git a/libre/python2-libre/gdbm-magic-values.patch b/libre/python2-libre/gdbm-magic-values.patch index 5613ae35c..471faf2c7 100644 --- a/libre/python2-libre/gdbm-magic-values.patch +++ b/libre/python2-libre/gdbm-magic-values.patch @@ -10,5 +10,3 @@ diff -up Python-2.7.2/Lib/whichdb.py.gdbm-1.9-magic Python-2.7.2/Lib/whichdb.py return "gdbm" # Check for old Berkeley db hash file format v2 -diff -up Python-2.7.2/Misc/NEWS.gdbm-1.9-magic Python-2.7.2/Misc/NEWS - diff --git a/libre/python2-libre/linux2.patch b/libre/python2-libre/linux2.patch index 74ae2aa12..670510fde 100644 --- a/libre/python2-libre/linux2.patch +++ b/libre/python2-libre/linux2.patch @@ -21,4 +21,3 @@ diff --git a/configure.in b/configure.in cygwin*) MACHDEP="cygwin";; darwin*) MACHDEP="darwin";; atheos*) MACHDEP="atheos";; - diff --git a/libre/seamonkey-libre/PKGBUILD b/libre/seamonkey-libre/PKGBUILD index 8acde2590..dd4bcd0a9 100644 --- a/libre/seamonkey-libre/PKGBUILD +++ b/libre/seamonkey-libre/PKGBUILD @@ -1,13 +1,13 @@ -# $Id: PKGBUILD 153522 2012-03-15 14:43:42Z ibiru $ +# $Id: PKGBUILD 157354 2012-04-27 20:50:49Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> _pkgname=seamonkey pkgname=seamonkey-libre -pkgver=2.8 +pkgver=2.9 pkgrel=1 pkgdesc="SeaMonkey internet suite, with GNUZilla addons" arch=('i686' 'x86_64') license=('MPL') -depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite3' 'startup-notification') +depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite' 'startup-notification') makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'yasm' 'wireless_tools' 'mesa' 'autoconf2.13') replaces=('mozilla' 'seamonkey') conflicts=('seamonkey') @@ -18,19 +18,22 @@ source=(ftp://releases.mozilla.org/pub/mozilla.org/$_pkgname/releases/$pkgver/so mozconfig seamonkey.desktop seamonkey-2.0-lang.patch - libvpx.patch + gcc47.patch + clrf.patch gnuzilla-addons.patch) -md5sums=('a7128f6bcd16bebed4a7c3487b69c38f' - 'd02b5f002a7cdf8d15dccd2548d09256' +md5sums=('4af38acf517a8ab850e6aa7a6b085325' + 'b8887c39a190e3168a9c7e4355ae3dd4' '6119a2254716752c9d08e366f8d4c048' '25b6fe16ac24cd5c852213e5c1adb272' - '5b2aaff7dfe7f1f94ad965905b20e782' + '1e3ad86899c61f0993c429d10913edb4' + 'abe8f73faa71ea2a1e4c6f5a33f56c27' 'f7beeb1f94390957259212dd1dbc171f') build() { cd "$srcdir/comm-release" patch -Np1 -i "$srcdir/seamonkey-2.0-lang.patch" - patch -Np1 -i "$srcdir/libvpx.patch" + patch -Np1 -i "$srcdir/gcc47.patch" + patch -Np1 -i "$srcdir/clrf.patch" patch -Np1 -i "${srcdir}/gnuzilla-addons.patch" cp "$srcdir/mozconfig" .mozconfig @@ -55,4 +58,5 @@ package() { install -m644 "$srcdir/seamonkey.desktop" "$pkgdir/usr/share/applications/" rm -f "$pkgdir/usr/lib/pkgconfig/"seamonkey-ns{s,pr}.pc + rm -r "$pkgdir"/usr/{include,lib/seamonkey-devel-$pkgver,share/idl} } diff --git a/libre/seamonkey-libre/clrf.patch b/libre/seamonkey-libre/clrf.patch new file mode 100644 index 000000000..5a77f2b01 --- /dev/null +++ b/libre/seamonkey-libre/clrf.patch @@ -0,0 +1,265 @@ +diff -Nur comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp +--- comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-04-25 01:09:10.468804374 +0000 ++++ comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-04-25 01:09:45.928528202 +0000 +@@ -688,7 +688,7 @@ + PL_strcat(encoding, "{"); + lengthStr.AppendInt((PRInt32) strlen(value)); + PL_strcat(encoding, lengthStr.get()); +- PL_strcat(encoding, "}"CRLF); ++ PL_strcat(encoding, "}" CRLF); + PL_strcat(encoding, value); + return NS_OK; + } +diff -Nur comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp +--- comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-04-25 01:09:10.475470988 +0000 ++++ comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-04-25 01:09:45.928528202 +0000 +@@ -758,7 +758,7 @@ + } + } + } +-#define EXTRA_KEYWORD_HDR " "MSG_LINEBREAK ++#define EXTRA_KEYWORD_HDR " " MSG_LINEBREAK + + // if status offset isn't in the first block, this code won't work. There's no good reason + // for the status offset not to be at the beginning of the message anyway. +@@ -1216,7 +1216,7 @@ + // check if there's an envelope header; if not, write one. + if (strncmp(m_dataBuffer, "From ", 5)) + { +- m_fileStream->Write("From "CRLF, 7, &bytesWritten); ++ m_fileStream->Write("From " CRLF, 7, &bytesWritten); + m_offlineMsgSize += bytesWritten; + } + } +diff -Nur comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp comm-release/mailnews/compose/src/nsSmtpProtocol.cpp +--- comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp 2012-04-25 01:09:10.542137136 +0000 ++++ comm-release/mailnews/compose/src/nsSmtpProtocol.cpp 2012-04-25 01:09:45.928528202 +0000 +@@ -1722,7 +1722,7 @@ + { + m_sendDone = true; + nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL); +- SendData(url, "QUIT"CRLF); // send a quit command to close the connection with the server. ++ SendData(url, "QUIT" CRLF); // send a quit command to close the connection with the server. + m_nextState = SMTP_RESPONSE; + m_nextStateAfterResponse = SMTP_DONE; + return(0); +@@ -1969,7 +1969,7 @@ + { + nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL); + // send a quit command to close the connection with the server. +- if (SendData(url, "QUIT"CRLF) == NS_OK) ++ if (SendData(url, "QUIT" CRLF) == NS_OK) + { + m_nextState = SMTP_RESPONSE; + m_nextStateAfterResponse = SMTP_ERROR_DONE; +@@ -2118,4 +2118,3 @@ + NS_ENSURE_SUCCESS(rv,rv); + return rv; + } +- +diff -Nur comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp comm-release/mailnews/imap/src/nsImapMailFolder.cpp +--- comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp 2012-04-25 01:09:10.605469976 +0000 ++++ comm-release/mailnews/imap/src/nsImapMailFolder.cpp 2012-04-25 01:09:45.928528202 +0000 +@@ -8309,7 +8309,7 @@ + bool needMoreData = false; + char * newLine = nsnull; + PRUint32 numBytesInLine = 0; +- const char *envelope = "From "CRLF; ++ const char *envelope = "From " CRLF; + offlineStore->Write(envelope, strlen(envelope), &bytesWritten); + fileSize += bytesWritten; + do +diff -Nur comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp comm-release/mailnews/imap/src/nsImapProtocol.cpp +--- comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp 2012-04-25 01:09:10.605469976 +0000 ++++ comm-release/mailnews/imap/src/nsImapProtocol.cpp 2012-04-25 01:09:45.931861509 +0000 +@@ -1409,7 +1409,7 @@ + { + // PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages(); + nsCAutoString commandBuffer(GetServerCommandTag()); +- commandBuffer.Append(" IDLE"CRLF); ++ commandBuffer.Append(" IDLE" CRLF); + + do + { +@@ -3287,7 +3287,7 @@ + commandString.Append(messageIds); + commandString.Append(" ("); + commandString.Append(attribute); +- commandString.Append(")"CRLF); ++ commandString.Append(")" CRLF); + nsresult rv = SendData(commandString.get()); + + if (NS_SUCCEEDED(rv)) +@@ -5283,7 +5283,7 @@ + + IncrementCommandTagNumber(); + nsCAutoString command(GetServerCommandTag()); +- command.Append(" expunge"CRLF); ++ command.Append(" expunge" CRLF); + + nsresult rv = SendData(command.get()); + if (NS_SUCCEEDED(rv)) +@@ -5359,7 +5359,7 @@ + command.Append(gAppName); + command.Append("\" \"version\" \""); + command.Append(gAppVersion); +- command.Append("\")"CRLF); ++ command.Append("\")" CRLF); + + nsresult rv = SendData(command.get()); + if (NS_SUCCEEDED(rv)) +@@ -5816,7 +5816,7 @@ + nsCAutoString correctedPassword; + EscapeUserNamePasswordString(password.get(), &correctedPassword); + command.Append(correctedPassword); +- command.Append("\""CRLF); ++ command.Append("\"" CRLF); + rv = SendData(command.get(), true /* suppress logging */); + NS_ENSURE_SUCCESS(rv, rv); + ParseIMAPandCheckForNewMail(); +@@ -7447,7 +7447,7 @@ + nsCString command(GetServerCommandTag()); + command += " create \""; + command += escapedName; +- command += "\""CRLF; ++ command += "\"" CRLF; + + nsresult rv = SendData(command.get()); + if(NS_SUCCEEDED(rv)) +@@ -7550,7 +7550,7 @@ + nsCString command (GetServerCommandTag()); + command += " lsub \"\" \""; + command += escapedPattern; +- command += "\""CRLF; ++ command += "\"" CRLF; + + PR_Free(boxnameWithOnlineDirectory); + +@@ -7579,7 +7579,7 @@ + command += useXLIST ? + " xlist \"\" \"" : " list \"\" \""; + command += escapedPattern; +- command += "\""CRLF; ++ command += "\"" CRLF; + + PR_Free(boxnameWithOnlineDirectory); + +@@ -7600,7 +7600,7 @@ + nsCString command (GetServerCommandTag()); + command += " subscribe \""; + command += escapedName; +- command += "\""CRLF; ++ command += "\"" CRLF; + + nsresult rv = SendData(command.get()); + if (NS_SUCCEEDED(rv)) +@@ -7618,7 +7618,7 @@ + nsCString command (GetServerCommandTag()); + command += " unsubscribe \""; + command += escapedName; +- command += "\""CRLF; ++ command += "\"" CRLF; + + nsresult rv = SendData(command.get()); + if (NS_SUCCEEDED(rv)) +@@ -7632,7 +7632,7 @@ + if (m_urlInProgress) + return; + nsCAutoString command (GetServerCommandTag()); +- command += " IDLE"CRLF; ++ command += " IDLE" CRLF; + nsresult rv = SendData(command.get()); + if (NS_SUCCEEDED(rv)) + { +@@ -7659,7 +7659,7 @@ + nsCOMPtr <nsIAsyncInputStream> asyncInputStream = do_QueryInterface(m_inputStream); + if (asyncInputStream) + asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull); +- nsresult rv = SendData("DONE"CRLF); ++ nsresult rv = SendData("DONE" CRLF); + // set a short timeout if we don't want to wait for a response + if (m_transport && !waitForResponse) + m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5); +@@ -7728,8 +7728,8 @@ + PRUint32 msgsHandled = 0; + const char *formatString; + formatString = (idsAreUid) +- ? "%s uid store %s %s"CRLF +- : "%s store %s %s"CRLF; ++ ? "%s uid store %s %s" CRLF ++ : "%s store %s %s" CRLF; + + do + { +diff -Nur comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp +--- comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-04-25 01:09:10.605469976 +0000 ++++ comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-04-25 01:09:45.931861509 +0000 +@@ -185,7 +185,7 @@ + + NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' && + *aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command string"); +- bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF); ++ bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF); + if (sendingIdleDone) + fWaitingForMoreClientInput = false; + +diff -Nur comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp comm-release/mailnews/local/src/nsPop3Protocol.cpp +--- comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp 2012-04-25 01:09:10.492137526 +0000 ++++ comm-release/mailnews/local/src/nsPop3Protocol.cpp 2012-04-25 01:09:45.931861509 +0000 +@@ -2483,7 +2483,7 @@ + return(MK_OUT_OF_MEMORY); + m_pop3ConData->next_state_after_response = POP3_GET_LIST; + m_listpos = 0; +- return SendData(m_url, "LIST"CRLF); ++ return SendData(m_url, "LIST" CRLF); + } + + +diff -Nur comm-release.orig/mailnews/mime/src/mimedrft.cpp comm-release/mailnews/mime/src/mimedrft.cpp +--- comm-release.orig/mailnews/mime/src/mimedrft.cpp 2012-04-25 01:09:10.488804218 +0000 ++++ comm-release/mailnews/mime/src/mimedrft.cpp 2012-04-25 01:09:45.931861509 +0000 +@@ -1473,7 +1473,7 @@ + *newbody = 0; + PL_strcatn(newbody, newbodylen, "<PRE>"); + PL_strcatn(newbody, newbodylen, body); +- PL_strcatn(newbody, newbodylen, "</PRE>"CRLF); ++ PL_strcatn(newbody, newbodylen, "</PRE>" CRLF); + PR_Free(body); + body = newbody; + } +diff -Nur comm-release.orig/mailnews/mime/src/mimemult.cpp comm-release/mailnews/mime/src/mimemult.cpp +--- comm-release.orig/mailnews/mime/src/mimemult.cpp 2012-04-25 01:09:10.488804218 +0000 ++++ comm-release/mailnews/mime/src/mimemult.cpp 2012-04-25 01:12:53.383735715 +0000 +@@ -280,7 +280,7 @@ + MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: attachment; filename=\"")); + MimeWriteAString(obj, fileName); +- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK)); ++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: ")); + MimeWriteAString(obj, obj->options->state->detachedFilePath); + MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK)); +@@ -293,10 +293,10 @@ + status = MimeWriteAString(obj, header); + if (status < 0) + return status; +- status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"Content-Transfer-Encoding: 8bit"MSG_LINEBREAK)); ++ status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "Content-Transfer-Encoding: 8bit" MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: inline; filename=\"Deleted: ")); + MimeWriteAString(obj, fileName); +- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; date=\"")); ++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "X-Mozilla-Altered: AttachmentDeleted; date=\"")); + } + nsCString result; + char timeBuffer[128]; +@@ -306,8 +306,8 @@ + "%a %b %d %H:%M:%S %Y", + &now); + MimeWriteAString(obj, nsDependentCString(timeBuffer)); +- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK)); +- MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:"MSG_LINEBREAK)); ++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK)); ++ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK "You deleted an attachment from this message. The original MIME headers for the attachment were:" MSG_LINEBREAK)); + MimeHeaders_write_raw_headers(mult->hdrs, obj->options, false); + } + PRInt32 old_nchildren = container->nchildren; diff --git a/libre/seamonkey-libre/gcc47.patch b/libre/seamonkey-libre/gcc47.patch new file mode 100644 index 000000000..080502c23 --- /dev/null +++ b/libre/seamonkey-libre/gcc47.patch @@ -0,0 +1,39 @@ +diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc +--- comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-24 23:15:57.347221336 +0000 ++++ comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-24 23:18:34.116046872 +0000 +@@ -5,6 +5,9 @@ + #include "base/file_util.h" + + #include <fcntl.h> ++#if defined(ANDROID) || defined(OS_POSIX) ++#include <unistd.h> ++#endif + + #include <string> + #include <vector> +diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc +--- comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-24 23:15:57.353887955 +0000 ++++ comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-24 23:18:34.116046872 +0000 +@@ -6,6 +6,9 @@ + + #include <errno.h> + #include <fcntl.h> ++#if defined(ANDROID) || defined(OS_POSIX) ++#include <unistd.h> ++#endif + + #include "eintr_wrapper.h" + #include "base/logging.h" +diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc comm-release/mozilla/ipc/chromium/src/base/time_posix.cc +--- comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-24 23:15:57.350554645 +0000 ++++ comm-release/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-24 23:18:34.116046872 +0000 +@@ -13,6 +13,9 @@ + #else + #include <time.h> + #endif ++#if defined(ANDROID) || defined(OS_POSIX) ++#include <unistd.h> ++#endif + + #include <limits> + diff --git a/libre/seamonkey-libre/mozconfig b/libre/seamonkey-libre/mozconfig index 8257f8e4f..4d04c96d5 100644 --- a/libre/seamonkey-libre/mozconfig +++ b/libre/seamonkey-libre/mozconfig @@ -13,7 +13,8 @@ ac_add_options --with-system-libevent ac_add_options --with-system-libvpx ac_add_options --enable-system-hunspell ac_add_options --enable-system-sqlite -ac_add_options --enable-system-cairo +ac_add_options --enable-system-ffi +#ac_add_options --enable-system-cairo ac_add_options --with-pthreads # Features diff --git a/libre/systemd b/libre/systemd new file mode 160000 +Subproject dd743ddf0d2297079591f90dc75938de160ac55 diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD index 6fa7ec4c7..6aa88039e 100644 --- a/libre/texlive-bin-libre/PKGBUILD +++ b/libre/texlive-bin-libre/PKGBUILD @@ -1,16 +1,16 @@ # Parabola maintainer: Michał Masłowski <mtjm@mtjm.eu> -# $Id: PKGBUILD 148521 2012-02-03 01:16:06Z remy $ +# $Id: PKGBUILD 154937 2012-03-31 10:46:09Z ronald $ # Maintainer: Rémy Oudompheng <remy@archlinux.org> # Contributor: francois <francois.archlinux.org> pkgname=texlive-bin-libre pkgver=2011.3 _luatex_ver=0.70.1 -pkgrel=4.1 +pkgrel=5 pkgdesc="TeX Live binaries" license=('GPL') arch=('i686' 'x86_64' 'mips64el') -depends=('t1lib' 'gd' 'poppler>=0.18.2' 'libsigsegv' 'zziplib') +depends=('t1lib' 'gd' 'poppler' 'libsigsegv' 'zziplib') makedepends=('perl' 'clisp' 'ffcall') optdepends=('ed: for texconfig') provides=('lcdf-typetools' 'kpathsea' 'xindy' 'pdfjam' 'texlive-bin') @@ -343,8 +343,9 @@ vpe" ${_pictures_scripts} \ ${_pstricks_scripts} \ ${_science_scripts} \ - tlmgr; do + tlmgr biber; do # biber is not built from source rm -f "$pkgdir"/usr/bin/$s done ################################################################### } + diff --git a/libre/thunderbird-libre/.directory b/libre/thunderbird-libre/.directory new file mode 100644 index 000000000..6ec9fb1ce --- /dev/null +++ b/libre/thunderbird-libre/.directory @@ -0,0 +1,2 @@ +[Dolphin] +Timestamp=2012,4,13,6,21,8 diff --git a/libre/thunderbird-libre/PKGBUILD b/libre/thunderbird-libre/PKGBUILD index c27851dcd..134f0efd0 100644 --- a/libre/thunderbird-libre/PKGBUILD +++ b/libre/thunderbird-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 155759 2012-04-06 07:48:34Z ibiru $ +# $Id: PKGBUILD 157994 2012-04-30 20:56:00Z ibiru $ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> # Contributor: Dale Blount <dale@archlinux.org> @@ -6,13 +6,13 @@ # Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> pkgname=thunderbird-libre -pkgver=11.0.1 -pkgrel=2 +pkgver=12.0.1 +pkgrel=1 pkgdesc="Standalone Mail/News reader" arch=('i686' 'x86_64') license=('MPL' 'GPL') url="http://www.mozilla.org/thunderbird/" -depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite3' 'startup-notification') +depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite' 'startup-notification') makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13') optdepends=('libcanberra: for sound support') replaces=('thunderbird') @@ -25,25 +25,27 @@ source=(ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/sourc thunderbird-install-dir.patch channel-prefs.js vendor.js - libvpx.patch gcc47.patch - clrf.patch) -md5sums=('b500560a006cb10194281263c78841f2' + clrf.patch + searchplugins-libre.patch) +md5sums=('64cacde4cb2b1e8736f1c3a0ea6a02db' '41511a6bcdd04cf56706218e4670e631' 'af3e5b344d2edf1c7d61bb0a5a96de9a' 'aea906acf72c43dd82ead2fabcc1c6db' '476ec205162340fb0679f522c9d31c3b' '5a53179d14ae9631b7afe5e4d0fc0b25' - '5b2aaff7dfe7f1f94ad965905b20e782' - '07b255039a2ffbcab5b5be7986245e36' - '5c8d79a9f1ecadffa818205ce1c23f2f') + '1e3ad86899c61f0993c429d10913edb4' + 'abe8f73faa71ea2a1e4c6f5a33f56c27' + '6a1d132b0275876678cb0b08c527805a') build() { - cd "$srcdir/comm-release" + cd comm-release patch -Np1 -i "$srcdir/thunderbird-install-dir.patch" - patch -Np1 -i "$srcdir/libvpx.patch" patch -Np1 -i "$srcdir/gcc47.patch" - patch -Np2 -i "$srcdir/clrf.patch" + patch -Np1 -i "$srcdir/clrf.patch" + + # Removing non-free search plugins replacing them with duckduckgo and identi.ca + patch -Np1 -i "$srcdir/searchplugins-libre.patch" cp "$srcdir/mozconfig" .mozconfig @@ -54,7 +56,7 @@ build() { } package() { - cd "$srcdir/comm-release" + cd comm-release make -j1 -f client.mk DESTDIR="$pkgdir" install install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/thunderbird/defaults/pref/" diff --git a/libre/thunderbird-libre/clrf.patch b/libre/thunderbird-libre/clrf.patch index 9b6fcb8fb..5a77f2b01 100644 --- a/libre/thunderbird-libre/clrf.patch +++ b/libre/thunderbird-libre/clrf.patch @@ -1,7 +1,7 @@ -diff -up thunderbird-11.0/comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp.733867 thunderbird-11.0/comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp ---- thunderbird-11.0/comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp.733867 2012-03-13 03:37:12.000000000 +0100 -+++ thunderbird-11.0/comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-03-16 07:20:29.299342799 +0100 -@@ -688,7 +688,7 @@ nsresult nsMsgSearchAdapter::EncodeImapV +diff -Nur comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp +--- comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-04-25 01:09:10.468804374 +0000 ++++ comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-04-25 01:09:45.928528202 +0000 +@@ -688,7 +688,7 @@ PL_strcat(encoding, "{"); lengthStr.AppendInt((PRInt32) strlen(value)); PL_strcat(encoding, lengthStr.get()); @@ -10,10 +10,10 @@ diff -up thunderbird-11.0/comm-release/mailnews/base/search/src/nsMsgSearchAdapt PL_strcat(encoding, value); return NS_OK; } -diff -up thunderbird-11.0/comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp.733867 thunderbird-11.0/comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp ---- thunderbird-11.0/comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp.733867 2012-03-13 03:37:13.000000000 +0100 -+++ thunderbird-11.0/comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-03-16 07:20:29.300342735 +0100 -@@ -753,7 +753,7 @@ nsFolderCompactState::OnDataAvailable(ns +diff -Nur comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp +--- comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-04-25 01:09:10.475470988 +0000 ++++ comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-04-25 01:09:45.928528202 +0000 +@@ -758,7 +758,7 @@ } } } @@ -22,7 +22,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/base/src/nsMsgFolderCompactor.cp // if status offset isn't in the first block, this code won't work. There's no good reason // for the status offset not to be at the beginning of the message anyway. -@@ -1203,7 +1203,7 @@ nsOfflineStoreCompactState::OnDataAvaila +@@ -1216,7 +1216,7 @@ // check if there's an envelope header; if not, write one. if (strncmp(m_dataBuffer, "From ", 5)) { @@ -31,19 +31,19 @@ diff -up thunderbird-11.0/comm-release/mailnews/base/src/nsMsgFolderCompactor.cp m_offlineMsgSize += bytesWritten; } } -diff -up thunderbird-11.0/comm-release/mailnews/compose/src/nsSmtpProtocol.cpp.733867 thunderbird-11.0/comm-release/mailnews/compose/src/nsSmtpProtocol.cpp ---- thunderbird-11.0/comm-release/mailnews/compose/src/nsSmtpProtocol.cpp.733867 2012-03-13 03:37:13.000000000 +0100 -+++ thunderbird-11.0/comm-release/mailnews/compose/src/nsSmtpProtocol.cpp 2012-03-16 07:23:01.225877457 +0100 -@@ -1722,7 +1722,7 @@ PRInt32 nsSmtpProtocol::SendQuit() +diff -Nur comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp comm-release/mailnews/compose/src/nsSmtpProtocol.cpp +--- comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp 2012-04-25 01:09:10.542137136 +0000 ++++ comm-release/mailnews/compose/src/nsSmtpProtocol.cpp 2012-04-25 01:09:45.928528202 +0000 +@@ -1722,7 +1722,7 @@ { - m_sendDone = PR_TRUE; + m_sendDone = true; nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL); - SendData(url, "QUIT"CRLF); // send a quit command to close the connection with the server. + SendData(url, "QUIT" CRLF); // send a quit command to close the connection with the server. m_nextState = SMTP_RESPONSE; m_nextStateAfterResponse = SMTP_DONE; return(0); -@@ -1969,7 +1969,7 @@ nsresult nsSmtpProtocol::LoadUrl(nsIURI +@@ -1969,7 +1969,7 @@ { nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL); // send a quit command to close the connection with the server. @@ -52,15 +52,15 @@ diff -up thunderbird-11.0/comm-release/mailnews/compose/src/nsSmtpProtocol.cpp.7 { m_nextState = SMTP_RESPONSE; m_nextStateAfterResponse = SMTP_ERROR_DONE; -@@ -2118,4 +2118,3 @@ nsSmtpProtocol::GetUsernamePassword(nsAC +@@ -2118,4 +2118,3 @@ NS_ENSURE_SUCCESS(rv,rv); return rv; } - -diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapMailFolder.cpp.733867 thunderbird-11.0/comm-release/mailnews/imap/src/nsImapMailFolder.cpp ---- thunderbird-11.0/comm-release/mailnews/imap/src/nsImapMailFolder.cpp.733867 2012-03-13 03:37:13.000000000 +0100 -+++ thunderbird-11.0/comm-release/mailnews/imap/src/nsImapMailFolder.cpp 2012-03-16 07:20:29.309342162 +0100 -@@ -8298,7 +8298,7 @@ nsImapMailFolder::CopyFileToOfflineStore +diff -Nur comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp comm-release/mailnews/imap/src/nsImapMailFolder.cpp +--- comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp 2012-04-25 01:09:10.605469976 +0000 ++++ comm-release/mailnews/imap/src/nsImapMailFolder.cpp 2012-04-25 01:09:45.928528202 +0000 +@@ -8309,7 +8309,7 @@ bool needMoreData = false; char * newLine = nsnull; PRUint32 numBytesInLine = 0; @@ -69,10 +69,10 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapMailFolder.cpp.73 offlineStore->Write(envelope, strlen(envelope), &bytesWritten); fileSize += bytesWritten; do -diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.733867 thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp ---- thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.733867 2012-03-13 03:37:13.000000000 +0100 -+++ thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp 2012-03-16 07:20:29.314341844 +0100 -@@ -1410,7 +1410,7 @@ void nsImapProtocol::HandleIdleResponses +diff -Nur comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp comm-release/mailnews/imap/src/nsImapProtocol.cpp +--- comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp 2012-04-25 01:09:10.605469976 +0000 ++++ comm-release/mailnews/imap/src/nsImapProtocol.cpp 2012-04-25 01:09:45.931861509 +0000 +@@ -1409,7 +1409,7 @@ { // PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages(); nsCAutoString commandBuffer(GetServerCommandTag()); @@ -81,7 +81,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 do { -@@ -3290,7 +3290,7 @@ void nsImapProtocol::FetchMsgAttribute(c +@@ -3287,7 +3287,7 @@ commandString.Append(messageIds); commandString.Append(" ("); commandString.Append(attribute); @@ -90,7 +90,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 nsresult rv = SendData(commandString.get()); if (NS_SUCCEEDED(rv)) -@@ -5283,7 +5283,7 @@ nsImapProtocol::Expunge() +@@ -5283,7 +5283,7 @@ IncrementCommandTagNumber(); nsCAutoString command(GetServerCommandTag()); @@ -99,7 +99,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) -@@ -5359,7 +5359,7 @@ void nsImapProtocol::ID() +@@ -5359,7 +5359,7 @@ command.Append(gAppName); command.Append("\" \"version\" \""); command.Append(gAppVersion); @@ -108,16 +108,16 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) -@@ -5816,7 +5816,7 @@ nsresult nsImapProtocol::AuthLogin(const +@@ -5816,7 +5816,7 @@ nsCAutoString correctedPassword; EscapeUserNamePasswordString(password.get(), &correctedPassword); command.Append(correctedPassword); - command.Append("\""CRLF); + command.Append("\"" CRLF); - rv = SendData(command.get(), PR_TRUE /* suppress logging */); + rv = SendData(command.get(), true /* suppress logging */); NS_ENSURE_SUCCESS(rv, rv); ParseIMAPandCheckForNewMail(); -@@ -7446,7 +7446,7 @@ void nsImapProtocol::CreateMailbox(const +@@ -7447,7 +7447,7 @@ nsCString command(GetServerCommandTag()); command += " create \""; command += escapedName; @@ -126,7 +126,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 nsresult rv = SendData(command.get()); if(NS_SUCCEEDED(rv)) -@@ -7549,7 +7549,7 @@ void nsImapProtocol::Lsub(const char *ma +@@ -7550,7 +7550,7 @@ nsCString command (GetServerCommandTag()); command += " lsub \"\" \""; command += escapedPattern; @@ -135,7 +135,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 PR_Free(boxnameWithOnlineDirectory); -@@ -7578,7 +7578,7 @@ void nsImapProtocol::List(const char *ma +@@ -7579,7 +7579,7 @@ command += useXLIST ? " xlist \"\" \"" : " list \"\" \""; command += escapedPattern; @@ -144,7 +144,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 PR_Free(boxnameWithOnlineDirectory); -@@ -7599,7 +7599,7 @@ void nsImapProtocol::Subscribe(const cha +@@ -7600,7 +7600,7 @@ nsCString command (GetServerCommandTag()); command += " subscribe \""; command += escapedName; @@ -153,7 +153,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) -@@ -7617,7 +7617,7 @@ void nsImapProtocol::Unsubscribe(const c +@@ -7618,7 +7618,7 @@ nsCString command (GetServerCommandTag()); command += " unsubscribe \""; command += escapedName; @@ -162,7 +162,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) -@@ -7631,7 +7631,7 @@ void nsImapProtocol::Idle() +@@ -7632,7 +7632,7 @@ if (m_urlInProgress) return; nsCAutoString command (GetServerCommandTag()); @@ -171,7 +171,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) { -@@ -7658,7 +7658,7 @@ void nsImapProtocol::EndIdle(bool waitFo +@@ -7659,7 +7659,7 @@ nsCOMPtr <nsIAsyncInputStream> asyncInputStream = do_QueryInterface(m_inputStream); if (asyncInputStream) asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull); @@ -180,7 +180,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 // set a short timeout if we don't want to wait for a response if (m_transport && !waitForResponse) m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5); -@@ -7727,8 +7727,8 @@ void nsImapProtocol::Copy(const char * m +@@ -7728,8 +7728,8 @@ PRUint32 msgsHandled = 0; const char *formatString; formatString = (idsAreUid) @@ -191,22 +191,22 @@ diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapProtocol.cpp.7338 do { -diff -up thunderbird-11.0/comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp.733867 thunderbird-11.0/comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp ---- thunderbird-11.0/comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp.733867 2012-03-13 03:37:13.000000000 +0100 -+++ thunderbird-11.0/comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-03-16 07:20:29.316341717 +0100 -@@ -185,7 +185,7 @@ void nsImapServerResponseParser::ParseIM +diff -Nur comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp +--- comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-04-25 01:09:10.605469976 +0000 ++++ comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-04-25 01:09:45.931861509 +0000 +@@ -185,7 +185,7 @@ NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' && *aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command string"); - bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF); + bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF); if (sendingIdleDone) - fWaitingForMoreClientInput = PR_FALSE; + fWaitingForMoreClientInput = false; -diff -up thunderbird-11.0/comm-release/mailnews/local/src/nsPop3Protocol.cpp.733867 thunderbird-11.0/comm-release/mailnews/local/src/nsPop3Protocol.cpp ---- thunderbird-11.0/comm-release/mailnews/local/src/nsPop3Protocol.cpp.733867 2012-03-13 03:37:13.000000000 +0100 -+++ thunderbird-11.0/comm-release/mailnews/local/src/nsPop3Protocol.cpp 2012-03-16 07:23:38.980300990 +0100 -@@ -2483,7 +2483,7 @@ PRInt32 nsPop3Protocol::SendList() +diff -Nur comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp comm-release/mailnews/local/src/nsPop3Protocol.cpp +--- comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp 2012-04-25 01:09:10.492137526 +0000 ++++ comm-release/mailnews/local/src/nsPop3Protocol.cpp 2012-04-25 01:09:45.931861509 +0000 +@@ -2483,7 +2483,7 @@ return(MK_OUT_OF_MEMORY); m_pop3ConData->next_state_after_response = POP3_GET_LIST; m_listpos = 0; @@ -215,10 +215,10 @@ diff -up thunderbird-11.0/comm-release/mailnews/local/src/nsPop3Protocol.cpp.733 } -diff -up thunderbird-11.0/comm-release/mailnews/mime/src/mimedrft.cpp.733867 thunderbird-11.0/comm-release/mailnews/mime/src/mimedrft.cpp ---- thunderbird-11.0/comm-release/mailnews/mime/src/mimedrft.cpp.733867 2012-03-13 03:37:13.000000000 +0100 -+++ thunderbird-11.0/comm-release/mailnews/mime/src/mimedrft.cpp 2012-03-16 07:20:29.320341461 +0100 -@@ -1473,7 +1473,7 @@ mime_parse_stream_complete (nsMIMESessio +diff -Nur comm-release.orig/mailnews/mime/src/mimedrft.cpp comm-release/mailnews/mime/src/mimedrft.cpp +--- comm-release.orig/mailnews/mime/src/mimedrft.cpp 2012-04-25 01:09:10.488804218 +0000 ++++ comm-release/mailnews/mime/src/mimedrft.cpp 2012-04-25 01:09:45.931861509 +0000 +@@ -1473,7 +1473,7 @@ *newbody = 0; PL_strcatn(newbody, newbodylen, "<PRE>"); PL_strcatn(newbody, newbodylen, body); @@ -227,10 +227,10 @@ diff -up thunderbird-11.0/comm-release/mailnews/mime/src/mimedrft.cpp.733867 thu PR_Free(body); body = newbody; } -diff -up thunderbird-11.0/comm-release/mailnews/mime/src/mimemult.cpp.733867 thunderbird-11.0/comm-release/mailnews/mime/src/mimemult.cpp ---- thunderbird-11.0/comm-release/mailnews/mime/src/mimemult.cpp.733867 2012-03-13 03:37:13.000000000 +0100 -+++ thunderbird-11.0/comm-release/mailnews/mime/src/mimemult.cpp 2012-03-16 07:20:29.321341397 +0100 -@@ -280,7 +280,7 @@ MimeMultipart_parse_line (const char *li +diff -Nur comm-release.orig/mailnews/mime/src/mimemult.cpp comm-release/mailnews/mime/src/mimemult.cpp +--- comm-release.orig/mailnews/mime/src/mimemult.cpp 2012-04-25 01:09:10.488804218 +0000 ++++ comm-release/mailnews/mime/src/mimemult.cpp 2012-04-25 01:12:53.383735715 +0000 +@@ -280,7 +280,7 @@ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK)); MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: attachment; filename=\"")); MimeWriteAString(obj, fileName); @@ -239,7 +239,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/mime/src/mimemult.cpp.733867 thu MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: ")); MimeWriteAString(obj, obj->options->state->detachedFilePath); MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK)); -@@ -293,10 +293,10 @@ MimeMultipart_parse_line (const char *li +@@ -293,10 +293,10 @@ status = MimeWriteAString(obj, header); if (status < 0) return status; @@ -252,7 +252,7 @@ diff -up thunderbird-11.0/comm-release/mailnews/mime/src/mimemult.cpp.733867 thu } nsCString result; char timeBuffer[128]; -@@ -306,8 +306,8 @@ MimeMultipart_parse_line (const char *li +@@ -306,8 +306,8 @@ "%a %b %d %H:%M:%S %Y", &now); MimeWriteAString(obj, nsDependentCString(timeBuffer)); @@ -260,6 +260,6 @@ diff -up thunderbird-11.0/comm-release/mailnews/mime/src/mimemult.cpp.733867 thu - MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:"MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK "You deleted an attachment from this message. The original MIME headers for the attachment were:" MSG_LINEBREAK)); - MimeHeaders_write_raw_headers(mult->hdrs, obj->options, PR_FALSE); + MimeHeaders_write_raw_headers(mult->hdrs, obj->options, false); } PRInt32 old_nchildren = container->nchildren; diff --git a/libre/thunderbird-libre/gcc46.patch b/libre/thunderbird-libre/gcc46.patch deleted file mode 100644 index 71a3686ea..000000000 --- a/libre/thunderbird-libre/gcc46.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur comm-1.9.2.orig//mozilla/gfx/ots/src/os2.cc comm-1.9.2/mozilla/gfx/ots/src/os2.cc ---- comm-1.9.2.orig//mozilla/gfx/ots/src/os2.cc 2011-04-14 11:37:21.000000000 -0700 -+++ comm-1.9.2/mozilla/gfx/ots/src/os2.cc 2011-04-29 09:10:23.635807433 -0700 -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <cstddef> -+ - #include "os2.h" - - #include "head.h" diff --git a/libre/thunderbird-libre/gcc47.patch b/libre/thunderbird-libre/gcc47.patch index 3e1e9b98a..080502c23 100644 --- a/libre/thunderbird-libre/gcc47.patch +++ b/libre/thunderbird-libre/gcc47.patch @@ -1,18 +1,6 @@ -diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc comm-release/mozilla/ipc/chromium/src/base/file_util.cc ---- comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc 2012-04-03 18:38:11.474783536 +0000 -+++ comm-release/mozilla/ipc/chromium/src/base/file_util.cc 2012-04-03 18:43:29.218995578 +0000 -@@ -8,7 +8,7 @@ - #include <io.h> - #endif - #include <stdio.h> --#if defined(ANDROID) -+#if defined(ANDROID) || defined(OS_POSIX) - #include <unistd.h> - #endif - diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc ---- comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-03 18:38:11.381450924 +0000 -+++ comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-03 18:43:29.218995578 +0000 +--- comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-24 23:15:57.347221336 +0000 ++++ comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-24 23:18:34.116046872 +0000 @@ -5,6 +5,9 @@ #include "base/file_util.h" @@ -24,8 +12,8 @@ diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc com #include <string> #include <vector> diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc ---- comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-03 18:38:11.438117153 +0000 -+++ comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-03 18:43:29.218995578 +0000 +--- comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-24 23:15:57.353887955 +0000 ++++ comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-24 23:18:34.116046872 +0000 @@ -6,6 +6,9 @@ #include <errno.h> @@ -37,27 +25,15 @@ diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent. #include "eintr_wrapper.h" #include "base/logging.h" diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc comm-release/mozilla/ipc/chromium/src/base/time_posix.cc ---- comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-03 18:38:11.418117308 +0000 -+++ comm-release/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-03 18:43:29.218995578 +0000 -@@ -14,6 +14,8 @@ +--- comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-24 23:15:57.350554645 +0000 ++++ comm-release/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-24 23:18:34.116046872 +0000 +@@ -13,6 +13,9 @@ + #else #include <time.h> #endif - ++#if defined(ANDROID) || defined(OS_POSIX) +#include <unistd.h> -+ - #include <limits> ++#endif - #include "base/basictypes.h" -diff -Nur comm-release.orig/mozilla/toolkit/crashreporter/client/Makefile.in comm-release/mozilla/toolkit/crashreporter/client/Makefile.in ---- comm-release.orig/mozilla/toolkit/crashreporter/client/Makefile.in 2012-04-03 18:38:56.101105510 +0000 -+++ comm-release/mozilla/toolkit/crashreporter/client/Makefile.in 2012-04-03 18:43:29.218995578 +0000 -@@ -69,6 +69,9 @@ - $(STDCXX_COMPAT) \ - $(NULL) + #include <limits> -+# Needed for moz_free -+LIBS += -L$(LIBXUL_DIST)/lib -lmozalloc -+ - ifeq ($(OS_ARCH),WINNT) - CPPSRCS += crashreporter_win.cpp - LIBS += \ diff --git a/libre/thunderbird-libre/gnuzilla-addons.patch b/libre/thunderbird-libre/gnuzilla-addons.patch deleted file mode 100644 index 2c0e4a68f..000000000 --- a/libre/thunderbird-libre/gnuzilla-addons.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- usr/lib/thunderbird-3.1/defaults/pref/all-thunderbird.js 2011-03-04 17:28:11.000000000 -0300 -+++ all-thunderbird.js 2011-03-08 11:22:31.437207173 -0300 -@@ -144,9 +144,9 @@ - pref("extensions.update.interval", 86400); // Check for updates to Extensions and - // Themes every day - // Non-symmetric (not shared by extensions) extension-specific [update] preferences --pref("extensions.getMoreExtensionsURL", "https://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/extensions/"); --pref("extensions.getMoreThemesURL", "https://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/themes/"); --pref("extensions.getMorePluginsURL", "https://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/plugins/"); -+pref("extensions.getMoreExtensionsURL", "http://www.gnu.org/software/gnuzilla/addons.html"); -+pref("extensions.getMoreThemesURL", "http://www.gnu.org/software/gnuzilla/addons.html"); -+pref("extensions.getMorePluginsURL", "http://www.gnu.org/software/gnuzilla/addons.html"); - pref("extensions.dss.enabled", false); // Dynamic Skin Switching - pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next - -@@ -155,14 +155,14 @@ - - // Preferences for the Get Add-ons pane - pref("extensions.getAddons.showPane", true); --pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/%APP%"); -+pref("extensions.getAddons.browseAddons", "http://www.gnu.org/software/gnuzilla/addons.html"); - pref("extensions.getAddons.maxResults", 5); --pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/recommended"); --pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/list/featured/all/10/%OS%/%VERSION%"); --pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/search?q=%TERMS%"); --pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/10/%OS%/%VERSION%"); -+pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html"); -+pref("extensions.getAddons.recommended.url", "http://www.gnu.org/software/gnuzilla/addons.html"); -+pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html"); -+pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html"); - --pref("xpinstall.whitelist.add", "addons.mozilla.org"); -+pref("xpinstall.whitelist.add", "www.gnu.org"); - pref("xpinstall.whitelist.add.36", "getpersonas.com"); - - pref("mail.shell.checkDefaultClient", true); diff --git a/libre/thunderbird-libre/libvpx.patch b/libre/thunderbird-libre/libvpx.patch deleted file mode 100644 index d0f9a0f4c..000000000 --- a/libre/thunderbird-libre/libvpx.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur comm-release.orig/mozilla/configure.in comm-release/mozilla/configure.in ---- comm-release.orig/mozilla/configure.in 2012-02-05 18:02:17.376830377 +0000 -+++ comm-release/mozilla/configure.in 2012-02-05 18:03:25.246274275 +0000 -@@ -5629,7 +5629,7 @@ - dnl v0.9.6 one to check for. - AC_TRY_COMPILE([ - #include <vpx/vpx_decoder.h> -- #if !defined(VPX_CODEC_USE_INPUT_PARTITION) -+ #if !defined(VPX_CODEC_USE_INPUT_FRAGMENTS) - #error "test failed." - #endif - ], diff --git a/libre/thunderbird-libre/mozilla-notify.patch b/libre/thunderbird-libre/mozilla-notify.patch deleted file mode 100644 index 952567b0e..000000000 --- a/libre/thunderbird-libre/mozilla-notify.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up comm-1.9.2/mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp.libnotify comm-1.9.2/mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp ---- comm-1.9.2/mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp.libnotify 2010-10-27 09:05:36.000000000 +0200 -+++ comm-1.9.2/mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp 2010-11-08 13:28:04.564002379 +0100 -@@ -204,7 +204,7 @@ nsAlertsIconListener::ShowAlert(GdkPixbu - { - NotifyNotification* notify = notify_notification_new(mAlertTitle.get(), - mAlertText.get(), -- NULL, NULL); -+ NULL); - if (!notify) - return NS_ERROR_OUT_OF_MEMORY; - diff --git a/libre/thunderbird-libre/python2.7.patch b/libre/thunderbird-libre/python2.7.patch deleted file mode 100644 index 2d159d479..000000000 --- a/libre/thunderbird-libre/python2.7.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- configure.in 2010-10-13 08:37:29.000000000 -0700 -+++ configure.in~ 2010-10-19 10:32:06.360019362 -0700 -@@ -878,7 +878,7 @@ - AC_MSG_RESULT([yes]) - fi - --MOZ_PATH_PROGS(PYTHON, $PYTHON python2.6 python2.5 python2.4 python) -+MOZ_PATH_PROGS(PYTHON, $PYTHON python2.7 python2.6 python2.5 python2.4 python) - if test -z "$PYTHON"; then - AC_MSG_ERROR([python was not found in \$PATH]) - fi diff --git a/libre/thunderbird-libre/searchplugins-libre.patch b/libre/thunderbird-libre/searchplugins-libre.patch new file mode 100644 index 000000000..e466a9eb3 --- /dev/null +++ b/libre/thunderbird-libre/searchplugins-libre.patch @@ -0,0 +1,144 @@ +--- comm-release.orig/mail/locales/en-US/searchplugins/list.txt 2012-03-27 15:56:00.000000000 -0300 ++++ comm-release/mail/locales/en-US/searchplugins/list.txt 2012-04-13 05:43:25.227475353 -0300 +@@ -1,7 +1,5 @@ +-amazondotcom +-aol-web-search +-bing ++duckduckgo-ssl + eBay +-twitter ++identica-notice-search ++identica-people-search + wikipedia +-yahoo +--- comm-release.orig/mail/locales/en-US/searchplugins/amazondotcom.xml 2012-03-27 15:56:00.000000000 -0300 ++++ /dev/null 2012-04-12 23:52:53.981159155 -0300 +@@ -1,11 +0,0 @@ +-<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> +-<ShortName>Amazon.com</ShortName> +-<Description>Amazon.com Search</Description> +-<InputEncoding>ISO-8859-1</InputEncoding> +-<Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHgSURBVHjalFM9TNtQEP4cB7PwM1RITUXIgsRaYEEVEyKZwhiyZAQyd0BhpFOlIjoBqhjSqVQMoVMLLAjEwECCQJkSkBqJYDOAFOMKFSf28d7DTUxiUDnp/Pzeu/vuu7t3ICKF6SLTMv2/lB0fRWKfjwDm4JJisYh0Oo3fpZLYT0SjSCQS8JAFMADNDZ3NZsnf1taiqVTKi4nGASruk5lkkmTmMB6JUKFQqO+DfX1eABWeQoVR6f7HSdM0obqu48Yw8G1tDT82NsRd1TSbU9BbGPCog8PDj+jLzurFoAVgMh4XxoNDQ6SqKi0tL9eBvAB8zZwymYxYY7EYAoEA8vm82BNTg6XUIs0MeGTZoR1mhXSnwNl4pmAbjU7mcjkKhkL1ynMnntZ4OEw3VyrV8utk7s5TdW++0QXz+1i3P7IK36t+PCfVn1OQOoOA0gXr5DPak+cPXbBK+/T3S69AtY3LJ98vZ1or/iLr+pTuvr59/A6s003UdqZFJF/PCKQ3o5CUznoBST2AfbEF/9iqYEDaIfwj73VJPEfgNTe0tWNYR0uwy9uOW0OkrgHI7z5ADo2C7v48nLV3XHKAT+x/1m1sX58xsBxg8rZJrDYD8DHHp4aJj/MK09sXjPOt46PcCzAACXY8/u34wN0AAAAASUVORK5CYII=</Image> +-<Url type="text/html" method="GET" template="http://www.amazon.com/exec/obidos/external-search/"> +- <Param name="field-keywords" value="{searchTerms}"/> +- <Param name="mode" value="blended"/> +-</Url> +-<SearchForm>http://www.amazon.com/</SearchForm> +-</SearchPlugin> +--- comm-release.orig/mail/locales/en-US/searchplugins/aol-web-search.xml 2012-03-27 15:56:00.000000000 -0300 ++++ /dev/null 2012-04-12 23:52:53.981159155 -0300 +@@ -1,10 +0,0 @@ +-<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/"> +-<os:ShortName>AOL Web Search</os:ShortName> +-<os:Description>The AOL Search engine delivers great web search results, enhanced by Google, plus relevant multimedia results delivered on a single page-so you can search less and discover more.</os:Description> +-<os:InputEncoding>UTF-8</os:InputEncoding> +-<os:Image width="16" height="16">data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%10%00%00%00%10%08%06%00%00%00%1F%F3%FFa%00%00%00%06bKGD%00%FF%00%FF%00%FF%A0%BD%A7%93%00%00%00%09pHYs%00%00%00H%00%00%00H%00F%C9k%3E%00%00%00%FAIDAT8%CB%9D%D3%B1q%C2%40%10%85%E1%0F%8F%0B%A0%04%97%00%1D%40%05%C6%01%B9%95*1%AA%C0C%05%E0%84%D4%E4%0A%0C%15H%EE%40%1D%98%12%D4%81%1D%E84%C8B%60%C9%2F9%AD%EE%EE%9F%DD%B7%7B%23%B0%DC%7D%A3D%22%8D%F7%06h%D4%00%D4*%02(%EF%03%B8%EB%F87Af%B9%7B%EF%03%B8o%C59%DE%A4%F1%E1%3F%25%EC%91%60%83%87%B0%FF%89m%F8%5Et%F9S%032%3C%E1%0B%E3%D6%99%02s%7C%848%91%C6E%1B0%C1%0B%9E%AFd%9A%E0%D4%80l%B1%96%C6eebE%9C%DC(%F51dRk%15%B2%FD%D5%85%B1a*%CF%80%AA%84%FC%C6%E1%23f%8Dx%8D)%E76n%10aq%C5%C4%03%B2%B0%26%D2%F8To%D6%80Y0q%8AW%97m%1C%23%EA%9A%CE%E6%20%AD%82%91%5D%83T%AA%BAp%A1%AE%B7Pk%2F%8D%A3%BF%9C%ECz%0B9%E6%7D.7K(%C3%3A%F89%FF%00_%82G%C3%D5%0E(%3E%00%00%00%00IEND%AEB%60%82</os:Image> +-<SearchForm>http://search.aol.com</SearchForm> +-<os:Url type="text/html" method="GET" template="http://search.aol.com/aol/search"> +- <os:Param name="query" value="{searchTerms}"/> +-</os:Url> +-</SearchPlugin> +--- comm-release.orig/mail/locales/en-US/searchplugins/bing.xml 2012-03-27 15:56:00.000000000 -0300 ++++ /dev/null 2012-04-12 23:52:53.981159155 -0300 +@@ -1,21 +0,0 @@ +-<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> +- <ShortName>Bing</ShortName> +- <Description>Bing. Search by Microsoft.</Description> +- <InputEncoding>UTF-8</InputEncoding> +- <Image width="16" height="16" type="image/x-icon">data:image/x-icon;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAVpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8ysf97zf+24//F6f/F6f/F6f+K0/9QvP8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8krP+Z2P/////////w+f/F6f/F6f/i9P/////////T7v9Bt/8Vpv8Vpv8Vpv8Vpv/T7v/////w+f97zf8Vpv8Vpv8Vpv8Vpv9QvP/T7v/////w+f9Bt/8Vpv8Vpv97zf////////9QvP8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8krP/i9P/////i9P8Vpv8Vpv+24//////i9P8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv+K0/////////8Vpv8Vpv/F6f////////8krP8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv+n3v/////w+f8Vpv8Vpv/F6f////////+n3v8krP8Vpv8Vpv8Vpv8Vpv8Vpv9tx/////////+Z2P8Vpv8Vpv/F6f/////////////i9P+K0/9QvP9QvP9tx//F6f////////+n3v8Vpv8Vpv8Vpv/F6f/////T7v+Z2P/i9P////////////////////+24/9QvP8Vpv8Vpv8Vpv8Vpv/F6f/////F6f8Vpv8Vpv8krP9QvP9QvP9Bt/8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv/F6f/////F6f8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv9Bt/9QvP9Bt/8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8AAHBsAABhdAAAbiAAAHJ0AABsaQAAdGkAACBDAABlbgAAUEEAAEVYAAAuQwAAOy4AAEU7AABBVAAAQ00AAC5W</Image> +- <Url type="application/x-suggestions+json" template="http://api.bing.com/osjson.aspx"> +- <Param name="query" value="{searchTerms}"/> +- <Param name="form" value="OSDJAS"/> +- </Url> +- <Url type="text/html" method="GET" template="http://www.bing.com/search"> +- <Param name="q" value="{searchTerms}"/> +- <Param name="form" value="MOZESB"/> +- <MozParam name="pc" condition="pref" pref="ms-pc"/> +- </Url> +- <Url type="application/x-moz-keywordsearch" method="GET" template="http://www.bing.com/search"> +- <Param name="q" value="{searchTerms}"/> +- <Param name="form" value="MOZESB"/> +- <MozParam name="pc" condition="pref" pref="ms-pc"/> +- </Url> +- <SearchForm>http://www.bing.com/search</SearchForm> +-</SearchPlugin> +--- comm-release.orig/mail/locales/en-US/searchplugins/google.xml 2012-03-27 15:56:00.000000000 -0300 ++++ /dev/null 2012-04-12 23:52:53.981159155 -0300 +@@ -1,14 +0,0 @@ +-<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> +-<ShortName>Google</ShortName> +-<Description>Google Search</Description> +-<InputEncoding>UTF-8</InputEncoding> +-<Image width="16" height="16">data:image/png;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs9Pt8xetPtu9FsfFNtu%2BTzvb2%2B%2Fne4dFJeBw0egA%2FfAJAfAA8ewBBegAAAAD%2B%2FPtft98Mp%2BwWsfAVsvEbs%2FQeqvF8xO7%2F%2F%2F63yqkxdgM7gwE%2FggM%2BfQA%2BegBDeQDe7PIbotgQufcMufEPtfIPsvAbs%2FQvq%2Bfz%2Bf%2F%2B%2B%2FZKhR05hgBBhQI8hgBAgAI9ewD0%2B%2Fg3pswAtO8Cxf4Kw%2FsJvvYAqupKsNv%2B%2Fv7%2F%2FP5VkSU0iQA7jQA9hgBDgQU%2BfQH%2F%2Ff%2FQ6fM4sM4KsN8AteMCruIqqdbZ7PH8%2Fv%2Fg6Nc%2Fhg05kAA8jAM9iQI%2BhQA%2BgQDQu6b97uv%2F%2F%2F7V8Pqw3eiWz97q8%2Ff%2F%2F%2F%2F7%2FPptpkkqjQE4kwA7kAA5iwI8iAA8hQCOSSKdXjiyflbAkG7u2s%2F%2B%2F%2F39%2F%2F7r8utrqEYtjQE8lgA7kwA7kwA9jwA9igA9hACiWSekVRyeSgiYSBHx6N%2F%2B%2Fv7k7OFRmiYtlAA5lwI7lwI4lAA7kgI9jwE9iwI4iQCoVhWcTxCmb0K%2BooT8%2Fv%2F7%2F%2F%2FJ2r8fdwI1mwA3mQA3mgA8lAE8lAE4jwA9iwE%2BhwGfXifWvqz%2B%2Ff%2F58u%2Fev6Dt4tr%2B%2F%2F2ZuIUsggA7mgM6mAM3lgA5lgA6kQE%2FkwBChwHt4dv%2F%2F%2F728ei1bCi7VAC5XQ7kz7n%2F%2F%2F6bsZkgcB03lQA9lgM7kwA2iQktZToPK4r9%2F%2F%2F9%2F%2F%2FSqYK5UwDKZAS9WALIkFn%2B%2F%2F3%2F%2BP8oKccGGcIRJrERILYFEMwAAuEAAdX%2F%2Ff7%2F%2FP%2B%2BfDvGXQLIZgLEWgLOjlf7%2F%2F%2F%2F%2F%2F9QU90EAPQAAf8DAP0AAfMAAOUDAtr%2F%2F%2F%2F7%2B%2Fu2bCTIYwDPZgDBWQDSr4P%2F%2Fv%2F%2F%2FP5GRuABAPkAA%2FwBAfkDAPAAAesAAN%2F%2F%2B%2Fz%2F%2F%2F64g1C5VwDMYwK8Yg7y5tz8%2Fv%2FV1PYKDOcAAP0DAf4AAf0AAfYEAOwAAuAAAAD%2F%2FPvi28ymXyChTATRrIb8%2F%2F3v8fk6P8MAAdUCAvoAAP0CAP0AAfYAAO4AAACAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAA</Image> +-<Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&hl={moz:locale}&q={searchTerms}"/> +-<Url type="text/html" method="GET" template="http://www.google.com/search"> +- <Param name="q" value="{searchTerms}"/> +- <Param name="ie" value="utf-8"/> +- <Param name="oe" value="utf-8"/> +- <Param name="aq" value="t"/> +-</Url> +-<SearchForm>http://www.google.com</SearchForm> +-</SearchPlugin> +--- comm-release.orig/mail/locales/en-US/searchplugins/twitter.xml 2012-03-27 15:56:00.000000000 -0300 ++++ /dev/null 2012-04-12 23:52:53.981159155 -0300 +@@ -1,10 +0,0 @@ +-<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> +-<ShortName>Twitter Search</ShortName> +-<Description>Realtime Twitter Search</Description> +-<InputEncoding>UTF-8</InputEncoding> +-<Image width="16" height="16">data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%20%00%00%00%20%08%06%00%00%00szz%F4%00%00%00%19tEXtSoftware%00Adobe%20ImageReadyq%C9e%3C%00%00%06%60IDATx%DA%ACWMLSY%14%BE%F7%F5%97%B6%96%96%16P%84q%02H%A0%01%85%08%26%C4%18%C9D%60%D8L2%0Bfm2%89%86%85%3B%E2l%5D%BA%9Ad%E2%CEY%B8%18c2a%8C%B3%10%893%02e%98d%F0%07%22c%D0%22%88%C4%01K)%D0%3F%FA%FF%DE%BB%F3%DD%F7Z%82%B5%16%A8%DE%E4%B6%AF%AF%EF%DD%F3%DDs%BEs%BEs)c%8C%F0A)%25%D9q%F9%F2eC%7F%7F%7F%1D.%BF%12%04%A1%F30F%22%91%10%A3%D1%E8%92%C1%60ponn%FE%3D99%E9%BDz%F5%AAL%3Ea(%B6%F9G%16%04%1F%83%83%83%E6%B1%B1%B1oVVV%86%E2%F1%F8%7F%C9d2%22%8Ab%2C%95J%C5p%1D%8A%C5b%9E%85%85%85%1F%EF%DF%BF%DF%06%90%9A%CF%0A%00%3B%D2%3Fy%F2%A4okkk%0C%06%A3%B8%CF%D22c1%91%B1%B8%C4%98%84kY%96%19%3C%B1%B6%B8%B8%F83F%13w%DE%E7%02%40%1F%3E%7CX%BB%BA%BAz%0B%C6%23%DCx%24%CD%D8%F30c%7F%FAe%E6%DE%90%D9%1B%40JIL%19%E1px%05%5E%F8a%60%60%C0%FE)%00%B4%D9%1F%D8%BDA%92%A4%13v%BB%FD%8CN%A7%B3D%25B%A6%02%8C%3C%0E2%12H1%A2%C1%3EkJ(%E9rP%D2x%88%92%92%92%92J%97%CB%F5%F5%F2%F2%F2%08%5E%0FcJ%C5%80%D8%01p%EC%D81%23%10%B94%1A%8DM%82C%BC%09BfB%8C%F8%93%8Cp~%8A%A0%DB%9B%18%23V%1D!%D5%00R%AA%D3j%9DNg%3D%80%B8n%DF%BE%ED%EB%EC%ECL%EE%5E8%18%0C%12%84J%9A%9B%9BK%5C%BAt)%BD'%00%B0%5D%83Lp%02%84%86%03%88%88%8C%84E%D5%B8%40%D4H%F3%FB~%98%89c%AF%1C%08%3CU%D6%D6%D6%F6%9D%CDfs%99%CD%E64%F8%B1%C3%07%AC%25%E9%F5%FA%8D%8E%8E%0E%CF%F8%F8%F8%FC%C4%C4%C4z%BE%AC%D1%E6%FC%D6dl%91%EC%93%BB%19%C6%C1H%84%E1%3F%CE%1BJ%60%C0%D4%D4%D4%D4%AB%D5j%BBr%C9%98%E1V%1A%E9%EB%F5%F9%7C%7F%9C%3Bw%EE%D7%8B%17%2F%CE%DE%B8q%23%5D%08%40%C1A3%93%7B%22%8DI9w%B5z%93H%88%E9%83g%E16-%1E%B6X%2C%0E%84%F5%08%C0V%9D%3F%7F%FE%A7%40%200%3D44%24%15%0D%20%81W%E7%B7%19%F1%26%0B%E7%9F%11%00%1CzJ%9Cz%22%80'%E5eee%3D%B5%B5%B5%1B%ED%ED%ED%EF%00%60%A5(%00%0A%B9%E0%C0%F1%0D%BEuV%F09%9E5%87%0D%94%9C%B6S%D2b%A5%C4d29%EB%EA%EA%BE%9E%99%99%19%ED%EA%EA%DAp%BB%DD%09%85%7B%C5%A4NB%DE%7Bn%23.%8BQF%FEA*%AF'9%5CJP%C6%2B0%DBz%7B%7BKv%C8_%0C%00%BA%8F)P%D5G%3E%A4%F1%26%08%23%AA%0E%D3%19%8D%C6%A3%C8%16%FD'%018%C8%1023%ABu(v4%9DNgq%1E%9C%03d%CF%E8%ABCfd%A7zV%80%8C%3C%23R%B2%9C%0E%85B%3E%BF%DF%9F%CE.s%60%00%DC%B5%A5Z%F5%BB0%09)%A92%12%D2%5E%8AL0%A8%85%01)%E8%F7z%BDsSSS%F1%A2%B2%80C%B6%A3%02v%97%0B%CA%A2TY7%0FG%A8%0A%E0%10%CA%9AE%ABz%C2%EF%DF%D8z%F4%E8%91%7Bzz%FA%19f%B2%E84%D4!%A0G%60%BC%D2H%F7%24%10%F7%12%E2-n%05%83%5BH%BF%C9%7B%F7%EE%0D%0D%0F%0F%2F%EF%16.m1%F1%CF%EA%C3%5Ea%E0%C6%D1%BC%2CC%07%1E%8C%8E%8E%FE~%E7%CE%9D%C7%3C%8BsI%BA%BB~%B3%BDH%26g%CA%F0~%DA%10%A6%F4%2Fr%10%A5x%B1%B2%B2r%1E%B7%22%B9%CB%EFx%00%82%22%A3%F5%8AB%C5d%BEC%BD%A0%C6.w%F0%02%F36F%88%13%5C0%EF%E1%3F%D4%7F%7DCCC3%A4%FEBww%B7%EE%E4%C9%93%B7%20%CD%DE%BC%1E%98%9D%9D%15%A1%E1k%40%2CrI%2CE%DE%98%81%20%D7%1B1D%EF)%9A%14tJ%8A4%87E.%DD%1FN~%9F%CB%B6N%AF7B%90N%94%97%97%7F%7F%FC%F8%F1o%A1%88%A5y%3D%80%064%05%97-!n%DB(%97%0E%0E%80%A7%91%2F%99%89%7Bf%F2%EB%95%04%23%0F%FC%10%1B4%2C%5Cth%1EO%F1M%1C%C6%FB'%AC%02%BE)%85%16%D4566%F6%9F%3Auj%1A%7F%3D%CD%12q%C7%03%D7%AF_O%A1%C1XX__%7F%89j%952a%85F%0BUr%5Ef%EF%97a%3Ex%B3%C2%3B%A4%97P%C6%17%91%0F%E7%BF%F0%D0%C4%86%3A%03)%A5%E1%D1Z%ADV%DEqu%5C%B9r%C5%94%8F%84%CC%E3%F1%AC%A3%85%FA%0BMD%88%A7%5B%BD%99%12%17%FA%3F%83%A0%F6%00%B9ZPP%2F%F0%40%1C%A2%B4%00A%E2z%C0%B5%00%C6%E1%08SCEE%85!o%16%A0e%8A%A0L%8E%A2-%9F%85%17%D2%A5%20%DAi%BB%A0%82%D0%A8%20%D8%01D%89%A7i%12%EEK%CA%AA%17%11b8B%B0%80g%DA%8Fi%81%84%5C%F5%A0%D9%FC%0D%C4%F9%02MDC5%E2%D8%E5%14%00%40%26sp%2B%EF%96%E5%7Dx%80e%AA%A4MG%89%15%7C%D2(%ED%1C%91%E1%DD%08%0E7%F2G%0B%D1%C8%C8H%B8%BE%BE~%18%00%8E%B6%B6%B6%5Ep8%1C55Po%B3F%20%D5FF%3C%88%EF%BB%04%CF%06%F6%5EX%F2%15%2B%1BD%A8%0DZ%C0%C9%C8%01%80%E8%DBkkk%8B(%C9%89%82b%04B%AEB%B7%7F%C1%A5%01%20x%D7%5B%E3%D0k4%ED6%AA%10%937%18%5C%E3%A3%A2%1A%16%9A%07%80%5E%A3vD_*%E0%15%E3%C9%D7%AF_%3F%C7%89%EA%196%19%CF%ED%5E%F3%F2%08%A7%9EZ%F4o%83x%F11NB!%14*)%7B%5CKH%EA%91%AD%D0%E4%CF%F1%C1%8D%BFz%F5%EA%D9%B5k%D7%06%AA%AA%AA%9C%D9%08r%BB4%DF%E9x7%88%BE%BE%3E%E7%D9%B3g%CF477%F7%B5%B4%B4t%22%24UHWd6%E5%E7%08%0Af%D3%DC%0D%F0%B5%F8%19%92%D7a%C4%3B%B6%B4%B4%F4%12%C7%BE%BB7o%DE%BC%3B%3F%3F%FF6%5B%03%F6%03%40%19%D5%D5%D5%25%3D%3D%3DG%90%C7%AD%A8%E9%EDh.%1BA%D4%0A%FC6%E1%5BGs%5E%86%5D%02%EDO%E3%3C%10x%81%81*%EB%86%18M%E1%DC%B9%86%BF%C5%DD%DE%FF_%80%01%00%94%13%9D%26%E9%81%03P%00%00%00%00IEND%AEB%60%82</Image> +-<Url type="text/html" method="get" +- template="http://search.twitter.com/search?q={searchTerms}"/> +-<SearchForm>http://search.twitter.com/</SearchForm> +-</SearchPlugin> +- +--- comm-release.orig/mail/locales/en-US/searchplugins/yahoo.xml 2012-03-27 15:56:00.000000000 -0300 ++++ /dev/null 2012-04-12 23:52:53.981159155 -0300 +@@ -1,13 +0,0 @@ +-<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> +-<ShortName>Yahoo</ShortName> +-<Description>Yahoo Search</Description> +-<InputEncoding>UTF-8</InputEncoding> +-<Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgJqAIoCdgCaAnoAnhKCAKYijgCuLpIAskKeALpSpgC+Yq4AzHy8ANqezgDmvt4A7tLqAPz5+wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlRFIoABWAKERERE6ADcKMzzu2hOgAAhERK8REWCWBERE36ERMHMEREvo6iEgY6hEn6Pu0mAzqkz/xjMzoDNwpERERDoAMzAKlERIoAAzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//AADAOQAAgBkAAAAPAAAACQAAAAkAAAAIAAAACAAAAAgAAIAYAADAOAAA//8AAP//AAD//wAA</Image> +-<Url type="application/x-suggestions+json" method="GET" +- template="http://ff.search.yahoo.com/gossip?output=fxjson&command={searchTerms}" /> +-<Url type="text/html" method="GET" template="http://search.yahoo.com/search"> +- <Param name="p" value="{searchTerms}"/> +- <Param name="ei" value="UTF-8"/> +-</Url> +-<SearchForm>http://search.yahoo.com/</SearchForm> +-</SearchPlugin> +--- /dev/null 2012-04-12 23:52:53.981159155 -0300 ++++ comm-release/mail/locales/en-US/searchplugins/duckduckgo-ssl.xml 2012-04-09 14:43:56.000000000 -0300 +@@ -0,0 +1,11 @@ ++<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/"> ++<os:ShortName>DuckDuckGo RU SSL</os:ShortName> ++<os:Description>DDG Search + Google's suggestions (Russian)</os:Description> ++<os:InputEncoding>UTF-8</os:InputEncoding> ++<os:Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA==</os:Image> ++<SearchForm>https://duckduckgo.com/</SearchForm> ++<os:Url type="text/html" method="GET" template="https://duckduckgo.com/?q={searchTerms}&kl=ru-ru"> ++</os:Url><os:Url type="application/x-suggestions+json" method="GET" template="http://ddgg.nfriedly.com/complete/search?output=firefox&hl=ru&q={searchTerms}"> ++</os:Url><os:Url type="application/opensearchdescription+xml" method="GET" template="http://mycroft.mozdev.org/updateos.php/id0/duckduckgo_ssl.xml" rel="self"> ++</os:Url> ++</SearchPlugin> +--- /dev/null 2012-04-12 23:52:53.981159155 -0300 ++++ comm-release/mail/locales/en-US/searchplugins/identica-notice-search.xml 2012-04-13 05:15:55.000000000 -0300 +@@ -0,0 +1,7 @@ ++<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/"> ++<os:ShortName>Identi.ca Notice Search</os:ShortName> ++<os:InputEncoding>UTF-8</os:InputEncoding> ++<os:Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAABGD6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAOAHAADgBwAA4AcAAOAHAADgBwAA4AcAAOAHAADgBwAA4AcAAOAHAADgBwAA//8AAP//AAA=</os:Image> ++<os:Url type="text/html" method="GET" template="http://identi.ca/search/notice?q={searchTerms}"> ++</os:Url> ++</SearchPlugin> +--- /dev/null 2012-04-12 23:52:53.981159155 -0300 ++++ comm-release/mail/locales/en-US/searchplugins/identica-people-search.xml 2012-04-13 05:15:53.000000000 -0300 +@@ -0,0 +1,7 @@ ++<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/"> ++<os:ShortName>Identi.ca People Search</os:ShortName> ++<os:InputEncoding>UTF-8</os:InputEncoding> ++<os:Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAABGD6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAOAHAADgBwAA4AcAAOAHAADgBwAA4AcAAOAHAADgBwAA4AcAAOAHAADgBwAA//8AAP//AAA=</os:Image> ++<os:Url type="text/html" method="GET" template="http://identi.ca/search/people?q={searchTerms}"> ++</os:Url> ++</SearchPlugin> diff --git a/libre/thunderbird-libre/thunderbird-appversion.patch b/libre/thunderbird-libre/thunderbird-appversion.patch deleted file mode 100644 index 3f7a54686..000000000 --- a/libre/thunderbird-libre/thunderbird-appversion.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nru comm-1.9.2.orig/mail/installer/Makefile.in comm-1.9.2/mail/installer/Makefile.in ---- comm-1.9.2.orig/mail/installer/Makefile.in 2010-04-30 22:41:37.000000000 +0300 -+++ comm-1.9.2/mail/installer/Makefile.in 2010-05-05 20:20:29.551660469 +0300 -@@ -42,6 +42,8 @@ - - include $(DEPTH)/config/autoconf.mk - -+MOZ_APP_VERSION="3.1" -+ - include $(topsrcdir)/config/rules.mk - - MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in diff --git a/libre/thunderbird-libre/thunderbird-preferences.patch b/libre/thunderbird-libre/thunderbird-preferences.patch deleted file mode 100644 index 627f02434..000000000 --- a/libre/thunderbird-libre/thunderbird-preferences.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -Nur comm-1.9.2.orig/mail/app/profile/all-thunderbird.js comm-1.9.2/mail/app/profile/all-thunderbird.js ---- comm-1.9.2.orig/mail/app/profile/all-thunderbird.js 2010-06-23 20:43:08.000000000 +0300 -+++ comm-1.9.2/mail/app/profile/all-thunderbird.js 2010-06-25 00:37:36.518929684 +0300 -@@ -125,7 +125,7 @@ - pref("app.update.showInstalledUI", false); - - // Release notes URL --pref("app.releaseNotesURL", "http://live.mozillamessaging.com/%APP%/releasenotes?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%"); -+pref("app.releaseNotesURL", "http://www.mozillamessaging.com/%APP%/%VERSION%/releasenotes?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%"); - - // Base URL for web-based support pages. - pref("app.support.baseURL", "http://support.live.mozillamessaging.com/%LOCALE%/%APP%/%APPBUILDID%/"); -diff -Nur comm-1.9.2.orig/mail/branding/nightly/thunderbird-branding.js comm-1.9.2/mail/branding/nightly/thunderbird-branding.js ---- comm-1.9.2.orig/mail/branding/nightly/thunderbird-branding.js 2010-06-23 20:43:08.000000000 +0300 -+++ comm-1.9.2/mail/branding/nightly/thunderbird-branding.js 2010-06-25 00:36:10.605569121 +0300 -@@ -1,11 +1,11 @@ - // Default start page --pref("mailnews.start_page.url","https://live.mozillamessaging.com/%APP%/start?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%"); -+pref("mailnews.start_page.url","https://www.mozillamessaging.com/%APP%/%VERSION%/start?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%"); - - // first launch welcome page --pref("mailnews.start_page.welcome_url","https://live.mozillamessaging.com/%APP%/firstrun?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%"); -+pref("mailnews.start_page.welcome_url","https://www.mozillamessaging.com/%APP%/%VERSION%/firstrun?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%"); - - // start page override to load after an update --pref("mailnews.start_page.override_url","https://live.mozillamessaging.com/%APP%/whatsnew?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%"); -+pref("mailnews.start_page.override_url","https://www.mozillamessaging.com/%APP%/%VERSION%/whatsnew?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%"); - - // Interval: Time between checks for a new version (in seconds) - // nightly=8 hours, official=24 hours diff --git a/libre/thunderbird-libre/thunderbird-shared-error.patch b/libre/thunderbird-libre/thunderbird-shared-error.patch deleted file mode 100644 index ae41bbc1e..000000000 --- a/libre/thunderbird-libre/thunderbird-shared-error.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up comm-central/mail/installer/Makefile.in.shared-error comm-central/mail/installer/Makefile.in ---- comm-central/mail/installer/Makefile.in.shared-error 2009-09-16 13:47:43.000000000 +0200 -+++ comm-central/mail/installer/Makefile.in 2009-09-16 13:48:25.000000000 +0200 -@@ -95,9 +95,11 @@ endif - # mozconfig instead. - ifndef MAIL_PKG_SHARED - ifndef BUILD_STATIC_LIBS -+ifeq (BUILD_STATIC_LIBS, 1) - $(error you need an "--enable-static" build to package a build) - endif - endif -+endif - - # On mozilla-central, packager.mk uses core_abspath to redefine DIST - # As the comm-central config.mk doesn't set it, do it ourselves instead diff --git a/libre/thunderbird-libre/xulrunner-png14.patch b/libre/thunderbird-libre/xulrunner-png14.patch deleted file mode 100644 index 1dc0ecda5..000000000 --- a/libre/thunderbird-libre/xulrunner-png14.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.cpp.orig 2010-01-17 00:15:53.979744638 +0100 -+++ mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.cpp 2010-01-17 00:16:07.855993411 +0100 -@@ -135,7 +135,7 @@ - - // initialize - mPNG = png_create_write_struct(PNG_LIBPNG_VER_STRING, -- png_voidp_NULL, -+ NULL, - ErrorCallback, - ErrorCallback); - if (! mPNG) diff --git a/libre/unarchiver/PKGBUILD b/libre/unarchiver/PKGBUILD index 9c0cf3978..3e2e316a9 100644 --- a/libre/unarchiver/PKGBUILD +++ b/libre/unarchiver/PKGBUILD @@ -2,36 +2,41 @@ # Contributor: N30N <archlinux@alunamation.com> pkgname=unarchiver -pkgver=3.0 -pkgrel=1.1 +pkgver=3.1 +pkgrel=1 pkgdesc="An Objective-C application for uncompressing archive files" arch=('x86_64' 'i686') -url="http://wakaba.c3.cx/s/apps/unarchiver.html" +url="http://unarchiver.c3.cx/" license=('LGPL2.1') depends=('gnustep-base' 'openssl' 'bzip2' 'icu' 'gcc-libs' 'zlib') makedepends=('gcc-objc') source=("http://theunarchiver.googlecode.com/files/TheUnarchiver${pkgver}_src.zip" "native_obj_exceptions.patch" "libz.patch") +sha1sums=('a8a28e3372a8811689c39871f5de86c64c8c466c' + 'b8024026607dc2de758479b73d8b01ca6f692b59' + '003d114a0ba9a919af602881ef5e04cdba2e4c50') build() { - cd $srcdir/ + cd "$srcdir/The Unarchiver" + + patch -p1 < ../native_obj_exceptions.patch + patch -p1 < ../libz.patch - patch -Np1 -i native_obj_exceptions.patch - patch -Np1 -i libz.patch - cd XADMaster . /usr/share/GNUstep/Makefiles/GNUstep.sh make -f Makefile.linux } package() { - cd "$srcdir/XADMaster" + cd "$srcdir/The Unarchiver/XADMaster" install -d "$pkgdir/usr/bin/" install -m755 unar lsar "$pkgdir/usr/bin/" + + cd "$srcdir/The Unarchiver/Extra" + install -d "$pkgdir/usr/share/man/man1" + gzip -c lsar.1 > "$pkgdir/usr/share/man/man1"/lsar.1.gz + gzip -c unar.1 > "$pkgdir/usr/share/man/man1"/unar.1.gz } # vim:set ts=2 sw=2 et: -md5sums=('c7c42cd3640bf477b79b21436344f098' - '4fa4ecc6e4ba14d3b6952d064e728511' - '665d01bf93191cc6f57dc80d8c1d3d5a') diff --git a/libre/ununrar/PKGBUILD b/libre/ununrar/PKGBUILD index 050cfb484..2e5aa615c 100644 --- a/libre/ununrar/PKGBUILD +++ b/libre/ununrar/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Michał Masłowski <mtjm@mtjm.eu> pkgname=ununrar -pkgver=0.0a0dev20110715 +pkgver=0.0a0dev20120412 pkgrel=1 pkgdesc="An unrar-compatible interface to Unarchiver" arch=('any') @@ -12,7 +12,7 @@ provides=('unrar' 'unrar-libre') conflicts=('unrar' 'unrar-libre') options=(!emptydirs) source=("http://mtjm.eu/releases/Ununrar-${pkgver}.tar.gz") -sha512sums=('ea2a6805c16be3aad81b18e5e9e044d73ca2f8f87ce078c35e64cdffb12d5f0e4c96e66901af54f388349edbb88c6252ed0e0329e9813cce5e7b9b480802cf44') +sha512sums=('3593198e76643b8873d06db770bf24a8d2fdab6d2ab7880850e29cb6c2f94836bcc032f6cc919dfe39deb030c2bcd942ab870231def3aee14e8e89cf78fc3d6f') package() { cd "$srcdir/Ununrar-$pkgver" diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD index 82bf28b8b..e11921fc7 100644 --- a/libre/virtualbox-libre/PKGBUILD +++ b/libre/virtualbox-libre/PKGBUILD @@ -11,8 +11,8 @@ #Maintainer: Ionut Biru <ibiru@archlinux.org> pkgbase=virtualbox-libre pkgname=('virtualbox-libre' 'virtualbox-parabola-additions' 'virtualbox-sdk' 'virtualbox-source') -pkgver=4.1.12 -pkgrel=1 +pkgver=4.1.14 +pkgrel=2 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') @@ -116,7 +116,7 @@ package_virtualbox-libre() { install -D -m 0644 "$srcdir/VirtualBox-${pkgver}/COPYING" \ "$pkgdir/usr/share/licenses/virtualbox/LICENSE" install -D -m 0644 "$srcdir/10-vboxdrv.rules" \ - "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules" + "$pkgdir/usr/lib/udev/rules.d/10-vboxdrv.rules" # install rc.d script install -D -m755 "$srcdir/vboxweb.rc" "$pkgdir/etc/rc.d/vboxweb" @@ -186,7 +186,7 @@ package_virtualbox-parabola-additions(){ 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 -m755 -D pam_vbox.so "$pkgdir/usr/lib/security/pam_vbox.so" # install rc.d script install -D -m755 "$srcdir/vbox-service.rc" "$pkgdir/etc/rc.d/vbox-service" @@ -194,7 +194,7 @@ package_virtualbox-parabola-additions(){ # install sample config install -D -m644 "$srcdir/vbox-service.conf" "$pkgdir/etc/conf.d/vbox-service" } -md5sums=('4e385d2333e1a4832e5618b982fddee5' +md5sums=('f8baa04e6d589bc6b1fb4e7079fbe414' '5f85710e0b8606de967716ded7b2d351' '755ab0dd9bcacf2c00d2275b1ca69547' 'a1ff1d1b4423556887e48a32978226a6' diff --git a/libre/virtualbox-modules-lts/60-vboxguest.rules b/libre/virtualbox-modules-lts/60-vboxguest.rules new file mode 100644 index 000000000..6285f7249 --- /dev/null +++ b/libre/virtualbox-modules-lts/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/libre/virtualbox-modules-lts/LocalConfig.kmk b/libre/virtualbox-modules-lts/LocalConfig.kmk new file mode 100644 index 000000000..af79f90cd --- /dev/null +++ b/libre/virtualbox-modules-lts/LocalConfig.kmk @@ -0,0 +1,19 @@ +VBOX_WITH_ADDITION_DRIVERS = +VBOX_WITH_INSTALLER = 1 +VBOX_WITH_LINUX_ADDITIONS = 1 +VBOX_WITH_X11_ADDITIONS = +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/libre/virtualbox-modules-lts/PKGBUILD b/libre/virtualbox-modules-lts/PKGBUILD new file mode 100644 index 000000000..8ff59d712 --- /dev/null +++ b/libre/virtualbox-modules-lts/PKGBUILD @@ -0,0 +1,101 @@ +# $Id$ +# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> +# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy> +# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Maintainer (Parabola): Jorge López <jorginho@adinet.com.uy> + +pkgbase=virtualbox-modules-lts +pkgname=('virtualbox-modules-lts' 'virtualbox-parabola-modules-lts') +pkgver=4.1.14 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://virtualbox.org' +license=('GPL') +makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-libre-lts' 'linux-libre-lts-headers') +[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') +source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 + LocalConfig.kmk 60-vboxguest.rules) +md5sums=('f8baa04e6d589bc6b1fb4e7079fbe414' + '4c88bd122677a35f68abd76eb01b378b' + 'ed1341881437455d9735875ddf455fbe') + +_extramodules=extramodules-3.0-LIBRE-LTS +_kernver=$(pacman -Ss linux-libre-lts | awk 'NR==1{print $2}')-LIBRE-LTS + +export KERN_DIR=/lib/modules/${_kernver}/build +export KERN_INCL=/usr/src/linux-${_kernver}/include/ + +build() { + cd "$srcdir/VirtualBox-${pkgver}" + + cp "$srcdir/LocalConfig.kmk" . + + ./configure \ + --with-linux=/usr/src/linux-${_kernver} \ + --disable-java \ + --disable-docs \ + --disable-xpcom \ + --disable-python \ + --disable-sdl-ttf \ + --disable-alsa \ + --disable-pulse \ + --disable-dbus \ + --disable-opengl \ + --build-headless \ + --nofatal + source ./env.sh + kmk all + + make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src" + make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src" +} + +package_virtualbox-parabola-modules-lts(){ + pkgdesc="Additions only for Parabola guests (long-term supported kernel modules)" + license=('GPL') + install=virtualbox-parabola-modules-lts.install + depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1') + replaces=('virtualbox-archlinux-modules-lts') + conflicts=('virtualbox-archlinux-modules-lts') + provides=("virtualbox-parabola-modules=$pkgver" "virtualbox-archlinux-modules=$pkgver" "virtualbox-archlinux-modules-lts=$pkgver") + + source "$srcdir/VirtualBox-${pkgver}/env.sh" + + cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src" + + for module in vboxguest.ko vboxsf.ko vboxvideo.ko; do + install -D -m644 ${module} \ + "$pkgdir/lib/modules/${_extramodules}/${module}" + done + + install -D -m 0644 "$srcdir/60-vboxguest.rules" \ + "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules" + + find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; +} + +package_virtualbox-modules-lts(){ + pkgdesc="Long-term supported kernel modules for VirtualBox" + license=('GPL') + install=virtualbox-modules-lts.install + depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1') + provides=("virtualbox-modules=$pkgver") + + source "$srcdir/VirtualBox-${pkgver}/env.sh" + + cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src" + + install -D -m644 vboxdrv.ko \ + "$pkgdir/lib/modules/${_extramodules}/vboxdrv.ko" + + install -D -m644 vboxnetadp.ko \ + "$pkgdir/lib/modules/${_extramodules}/vboxnetadp.ko" + + install -D -m644 vboxnetflt.ko \ + "$pkgdir/lib/modules/${_extramodules}/vboxnetflt.ko" + + install -D -m644 vboxpci.ko \ + "$pkgdir/lib/modules/${_extramodules}/vboxpci.ko" + + find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; +} diff --git a/libre/virtualbox-modules-lts/virtualbox-modules-lts.install b/libre/virtualbox-modules-lts/virtualbox-modules-lts.install new file mode 100644 index 000000000..014fa0b88 --- /dev/null +++ b/libre/virtualbox-modules-lts/virtualbox-modules-lts.install @@ -0,0 +1,18 @@ +EXTRAMODULES='extramodules-3.0-LIBRE-LTS' + +post_install() { +/bin/cat << EOF +===> You must load vboxdrv module before starting VirtualBox: +===> # modprobe vboxdrv +EOF + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} + +post_upgrade() { + depmod $(cat /lib/modules/$EXTRAMODULES/version) + echo 'In order to use the new version, reload all virtualbox modules manually.' +} + +post_remove() { + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} diff --git a/libre/virtualbox-modules-lts/virtualbox-parabola-modules-lts.install b/libre/virtualbox-modules-lts/virtualbox-parabola-modules-lts.install new file mode 100644 index 000000000..80d966a9d --- /dev/null +++ b/libre/virtualbox-modules-lts/virtualbox-parabola-modules-lts.install @@ -0,0 +1,16 @@ +EXTRAMODULES='extramodules-3.0-LIBRE-LTS' + +post_install() { +cat << EOF +===> You may want to load vboxguest, vboxsf and vboxvideo +EOF + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} + +post_upgrade() { + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} + +post_remove() { + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} diff --git a/libre/virtualbox-modules/PKGBUILD b/libre/virtualbox-modules/PKGBUILD index 60a903615..9b36d7cf3 100644 --- a/libre/virtualbox-modules/PKGBUILD +++ b/libre/virtualbox-modules/PKGBUILD @@ -5,19 +5,16 @@ pkgbase=virtualbox-modules pkgname=('virtualbox-modules' 'virtualbox-parabola-modules') -pkgver=4.1.12 -pkgrel=2 +pkgver=4.1.14 +pkgrel=2.1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL') makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-libre-headers') -replaces=('virtualbox-modules') -conflicts=('virtualbox-modules') -provides=("virtualbox-modules=$pkgver") [[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 LocalConfig.kmk 60-vboxguest.rules) -md5sums=('4e385d2333e1a4832e5618b982fddee5' +md5sums=('f8baa04e6d589bc6b1fb4e7079fbe414' '4c88bd122677a35f68abd76eb01b378b' 'ed1341881437455d9735875ddf455fbe') @@ -57,8 +54,8 @@ package_virtualbox-parabola-modules(){ license=('GPL') install=virtualbox-parabola-modules.install depends=('linux-libre>=3.3' 'linux-libre<3.4') - replaces=('virtualbox-guest-modules' 'virtualbox-archlinux-modules') - conflicts=('virtualbox-guest-modules' 'virtualbox-archlinux-modules') + replaces=('virtualbox-archlinux-modules') + conflicts=('virtualbox-archlinux-modules') provides=("virtualbox-archlinux-modules=$pkgver") source "$srcdir/VirtualBox-${pkgver}/env.sh" @@ -71,7 +68,7 @@ package_virtualbox-parabola-modules(){ done install -D -m 0644 "$srcdir/60-vboxguest.rules" \ - "$pkgdir/lib/udev/rules.d/60-vboxguest.rules" + "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules" find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; diff --git a/libre/xulrunner-libre/PKGBUILD b/libre/xulrunner-libre/PKGBUILD new file mode 100644 index 000000000..af4b45aae --- /dev/null +++ b/libre/xulrunner-libre/PKGBUILD @@ -0,0 +1,102 @@ +# $Id: PKGBUILD 153514 2012-03-15 13:26:26Z ibiru $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Alexander Baldeck <alexander@archlinux.org> + +# With many changes from iceweasel-libre. + +# We're getting this from Debian Sid +_debname=iceweasel +_debver=12.0 +_debrel=3 +_debrepo=http://ftp.debian.org/debian/pool/main/ +debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } + +_pkgname=xulrunner +pkgname=xulrunner-libre +pkgver=${_debver}.${_debrel} +pkgrel=1 +pkgdesc="Mozilla Runtime Environment" +arch=('i686' 'x86_64' 'mips64el') +license=('MPL' 'GPL' 'LGPL') +depends=('gtk2' 'mozilla-common' 'nss>=3.13.1' 'libxt' 'libxrender' 'hunspell' 'startup-notification' 'mime-types' 'dbus-glib' 'alsa-lib' 'libevent' 'sqlite3>=3.7.4' 'libnotify' 'libvpx' 'python2') +makedepends=('zip' 'unzip' 'pkg-config' 'diffutils' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13' 'quilt') +url="http://wiki.mozilla.org/XUL:Xul_Runner" +source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2" + "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.debian.tar.gz" + "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.dsc" + mozconfig + mozilla-pkgconfig.patch + gcc47.patch) +options=('!emptydirs') +conflicts=('xulrunner') +provides=("xulrunner=${_debver}") +replaces=('xulrunner-oss' 'xulrunner') +md5sums=('b45f57bfe21b0e6db4f0683e794917cb' + '2b66fb2e51631ef3b07de89ef9d17d0c' + '552adcf5da3b07757e7fe29c8bd2ec2d' + 'f2f4f4a573f549e8b494e33b3ad226bc' + '27271ce647a83906ef7a24605e840d61' + '5a8563f8fda7ad30405c86764267a19c') + +dpkg-source() { + # This will simulate dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc + export QUILT_PATCHES=debian/patches + export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index' + export QUILT_DIFF_ARGS='--no-timestamps' + mv mozilla-release "${_debname}-${_debver}" + mv debian "${_debname}-${_debver}" + cd "${_debname}-${_debver}" + +# Doesn't apply and seems unimportant + rm -v debian/patches/l10n/Place-google-and-gmail-before-yandex.patch || true + + quilt push -a + find .pc -name .timestamp -delete # why isn't "--no-timestamps" doing this? + cd .. +} + +build() { +# Don't run this if we're using -e +if [ $NOEXTRACT -eq 0 ]; then + msg2 "Applying Debian patches..." + cd "${srcdir}" + dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc + + msg2 "Starting normal build..." + mv "${_debname}-${_debver}" "$srcdir/mozilla-release" + cd "$srcdir/mozilla-release" + + cp "$srcdir/mozconfig" .mozconfig + + # Fails, claiming the page size to have changed. + [ "$CARCH" = "mips64el" ] && echo 'ac_add_options --disable-jemalloc' >> .mozconfig + + #fix libdir/sdkdir - fedora + patch -Np1 -i "$srcdir/mozilla-pkgconfig.patch" + patch -Np1 -i "$srcdir/gcc47.patch" +fi + + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/xulrunner-${_debver}" + export PYTHON="/usr/bin/python2" + + make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" +} + +package() { + cd "$srcdir/mozilla-release" + make -j1 -f client.mk DESTDIR="$pkgdir" install + + rm -rf "$pkgdir"/usr/lib/xulrunner-$pkgver/{dictionaries,hyphenation} + ln -sf /usr/share/hunspell "$pkgdir/usr/lib/xulrunner-${_debver}/dictionaries" + ln -sf /usr/share/hyphen "$pkgdir/usr/lib/xulrunner-${_debver}/hyphenation" + + # add xulrunner library path to ld.so.conf + install -d $pkgdir/etc/ld.so.conf.d + echo "/usr/lib/xulrunner-${_debver}" > $pkgdir/etc/ld.so.conf.d/xulrunner.conf + + chmod +x "${pkgdir}/usr/lib/xulrunner-devel-${_debver}/sdk/bin/xpt.py" + sed -i 's|!/usr/bin/env python|!/usr/bin/env python2|' "$pkgdir/usr/lib/xulrunner-devel-${_debver}/sdk/bin/xpt.py" + sed -i 's|!/usr/bin/env python|!/usr/bin/env python2|' "$pkgdir/usr/lib/xulrunner-devel-${_debver}/sdk/bin/header.py" + sed -i 's|!/usr/bin/env python|!/usr/bin/env python2|' "$pkgdir/usr/lib/xulrunner-devel-${_debver}/sdk/bin/typelib.py" + sed -i 's|!/usr/bin/env python|!/usr/bin/env python2|' "$pkgdir/usr/lib/xulrunner-devel-${_debver}/sdk/bin/xpidl.py" +} diff --git a/libre/xulrunner-libre/gcc47.patch b/libre/xulrunner-libre/gcc47.patch new file mode 100644 index 000000000..5cea6769d --- /dev/null +++ b/libre/xulrunner-libre/gcc47.patch @@ -0,0 +1,77 @@ + +# HG changeset patch +# User Martin Stránský <stransky@redhat.com> +# Date 1328886461 -3600 +# Node ID 87a5ed480992788832387ba91a77c69fbe9fe349 +# Parent 67017dd3b7f6650e6bcd5b6f545e0309e8de7049 +Bug 725655 - gcc 4.7 build failures (missing headers). r=benjamin + +diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc +--- a/ipc/chromium/src/base/file_util_linux.cc ++++ b/ipc/chromium/src/base/file_util_linux.cc +@@ -1,15 +1,18 @@ + // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + + #include "base/file_util.h" + + #include <fcntl.h> ++#if defined(ANDROID) || defined(OS_POSIX) ++#include <unistd.h> ++#endif + + #include <string> + #include <vector> + + #include "base/eintr_wrapper.h" + #include "base/file_path.h" + #include "base/string_util.h" + +diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc +--- a/ipc/chromium/src/base/message_pump_libevent.cc ++++ b/ipc/chromium/src/base/message_pump_libevent.cc +@@ -1,16 +1,19 @@ + // Copyright (c) 2008 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + + #include "base/message_pump_libevent.h" + + #include <errno.h> + #include <fcntl.h> ++#if defined(ANDROID) || defined(OS_POSIX) ++#include <unistd.h> ++#endif + + #include "eintr_wrapper.h" + #include "base/logging.h" + #include "base/scoped_nsautorelease_pool.h" + #include "base/scoped_ptr.h" + #include "base/time.h" + #include "third_party/libevent/event.h" + +diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc +--- a/ipc/chromium/src/base/time_posix.cc ++++ b/ipc/chromium/src/base/time_posix.cc +@@ -8,16 +8,19 @@ + #include <mach/mach_time.h> + #endif + #include <sys/time.h> + #ifdef ANDROID + #include <time64.h> + #else + #include <time.h> + #endif ++#if defined(ANDROID) || defined(OS_POSIX) ++#include <unistd.h> ++#endif + + #include <limits> + + #include "base/basictypes.h" + #include "base/logging.h" + + namespace base { + + diff --git a/libre/xulrunner-libre/mozconfig b/libre/xulrunner-libre/mozconfig new file mode 100644 index 000000000..34c5a6137 --- /dev/null +++ b/libre/xulrunner-libre/mozconfig @@ -0,0 +1,38 @@ +. $topsrcdir/xulrunner/config/mozconfig + +ac_add_options --prefix=/usr +ac_add_options --libdir=/usr/lib + +# System libraries +ac_add_options --with-system-nspr +ac_add_options --with-system-nss +ac_add_options --with-system-jpeg +ac_add_options --with-system-zlib +ac_add_options --with-system-bz2 +ac_add_options --with-system-png +ac_add_options --with-system-libevent +ac_add_options --with-system-libvpx +ac_add_options --enable-system-hunspell +ac_add_options --enable-system-sqlite +ac_add_options --enable-system-ffi +#ac_add_options --enable-system-cairo +ac_add_options --enable-system-pixman +ac_add_options --with-pthreads + +# Features +ac_add_options --disable-safe-browsing +ac_add_options --enable-startup-notification +ac_add_options --enable-gio + +ac_add_options --disable-gnomevfs +ac_add_options --disable-crashreporter +ac_add_options --disable-updater +ac_add_options --disable-tests +ac_add_options --disable-mochitest +ac_add_options --disable-installer + +# Optimization +ac_add_options --enable-optimize + +export MOZILLA_OFFICIAL=1 +mk_add_options MOZILLA_OFFICIAL=1 diff --git a/libre/xulrunner-libre/mozilla-pkgconfig.patch b/libre/xulrunner-libre/mozilla-pkgconfig.patch new file mode 100644 index 000000000..037d4aee0 --- /dev/null +++ b/libre/xulrunner-libre/mozilla-pkgconfig.patch @@ -0,0 +1,40 @@ +diff -Nur mozilla-release.orig/xulrunner/installer/libxul-embedding.pc.in mozilla-release/xulrunner/installer/libxul-embedding.pc.in +--- mozilla-release.orig/xulrunner/installer/libxul-embedding.pc.in 2011-12-19 22:11:38.100005674 +0000 ++++ mozilla-release/xulrunner/installer/libxul-embedding.pc.in 2011-12-19 22:14:35.095147521 +0000 +@@ -6,5 +6,6 @@ + Name: libxul-embedding + Description: Static library for version-independent embedding of the Mozilla runtime + Version: %MOZILLA_VERSION% ++Requires: %NSPR_NAME% >= %NSPR_VERSION% + Libs: -L${sdkdir}/lib -lxpcomglue -ldl + Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS% +diff -Nur mozilla-release.orig/xulrunner/installer/libxul.pc.in mozilla-release/xulrunner/installer/libxul.pc.in +--- mozilla-release.orig/xulrunner/installer/libxul.pc.in 2011-12-19 22:11:38.126672110 +0000 ++++ mozilla-release/xulrunner/installer/libxul.pc.in 2011-12-19 22:14:04.375412141 +0000 +@@ -1,5 +1,6 @@ + prefix=%prefix% + sdkdir=%sdkdir% ++libdir=%libdir% + includedir=%includedir% + idldir=%idldir% + +diff -Nur mozilla-release.orig/xulrunner/installer/Makefile.in mozilla-release/xulrunner/installer/Makefile.in +--- mozilla-release.orig/xulrunner/installer/Makefile.in 2011-12-19 22:11:38.126672110 +0000 ++++ mozilla-release/xulrunner/installer/Makefile.in 2011-12-19 22:18:28.743135321 +0000 +@@ -108,6 +108,7 @@ + -e "s|%includedir%|$(includedir)|" \ + -e "s|%idldir%|$(idldir)|" \ + -e "s|%sdkdir%|$(sdkdir)|" \ ++ -e "s|%libdir%|$(installdir)|" \ + -e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \ + -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \ + -e "s|%WCHAR_CFLAGS%|$(WCHAR_CFLAGS)|" \ +diff -Nur mozilla-release.orig/xulrunner/installer/mozilla-js.pc.in mozilla-release/xulrunner/installer/mozilla-js.pc.in +--- mozilla-release.orig/xulrunner/installer/mozilla-js.pc.in 2011-12-19 22:11:38.126672110 +0000 ++++ mozilla-release/xulrunner/installer/mozilla-js.pc.in 2011-12-19 22:18:55.569571004 +0000 +@@ -7,4 +7,4 @@ + Version: %MOZILLA_VERSION% + Requires: %NSPR_NAME% >= %NSPR_VERSION% + Libs: -L${sdkdir}/lib %MOZ_JS_LINK% +-Cflags: -I${includedir} -DXP_UNIX -DJS_THREADSAFE ++Cflags: -I${includedir} -I${includedir}/js -DXP_UNIX -DJS_THREADSAFE |