diff --git a/app-admin/rudy/metadata.xml b/app-admin/rudy/metadata.xml
index 852136183369..4cb0a2fb3c56 100644
--- a/app-admin/rudy/metadata.xml
+++ b/app-admin/rudy/metadata.xml
@@ -1,5 +1,6 @@
+maintainer-needed@gentoo.org
ruby
diff --git a/app-admin/system-config-printer-common/Manifest b/app-admin/system-config-printer-common/Manifest
index eef026fa9d3a..987ad8b82a76 100644
--- a/app-admin/system-config-printer-common/Manifest
+++ b/app-admin/system-config-printer-common/Manifest
@@ -1,2 +1,3 @@
DIST system-config-printer-1.3.11.tar.xz 947488 SHA256 13816276895ca60c11ebc77b4209d30707b18c0489e247ea219474ee4a2f63c3 SHA512 4e50e973e404f959d8cb5b25dd6a38aa40f558408eb9818b3eb3b267b9a54f13aa97f05343cc0353ab36b32ac0a229d77109efd79b5e598fe43173072be02fac WHIRLPOOL d2372eb97263e84be9efd9bd6e190ddab2a75a327b0ece6f44ff8c9d1ee12484a82c3a2c5a2124195b0e45aa21fe3298de1025dce806ad195a7a1a84bdea80ec
DIST system-config-printer-1.3.12.tar.xz 949008 SHA256 1905bd9fd382730a8eab80fa196b1c43bd19ce79c2169142de899697cbb1e9b1 SHA512 4e6c15b52287f2a69fabb6dafe6548874b8608f2f7a2e14534b100fbb46ad0f146b1e03a6aa4c2c9fe66dad96789454bd066616db0dd73b962bffeb478a7c6c5 WHIRLPOOL 0b8afe05a87103ef99dac50ab7db5f3fc6137de9b84e483ee3a481172e4c894e206b6d022303f1f11496a63b5698351a67070fb936f35293e83f5a20c5e21599
+DIST system-config-printer-1.4.1.tar.xz 885832 SHA256 4e22413f3581fc1cf38af648573fa90bb7783a2c3b8be3aadf47beda101e04f8 SHA512 ae9c64eb5af34c54a38999eeac2bc5dc9972b6b78a28bc397aae5159893b956417e71b547648b22d4d225e84b1a450854e88819e803d56ad482316fe3b288159 WHIRLPOOL f0db2e55b2ff10659ef65509d6deb8f3df5192c92642568ca454511ed9d8c0bf4c6766581f83c311a951e1e959c443648172e2597734ef32ba4b05f8ea0ee798
diff --git a/app-admin/system-config-printer-common/files/system-config-printer-common-1.4.1-split.patch b/app-admin/system-config-printer-common/files/system-config-printer-common-1.4.1-split.patch
new file mode 100644
index 000000000000..9f586f850251
--- /dev/null
+++ b/app-admin/system-config-printer-common/files/system-config-printer-common-1.4.1-split.patch
@@ -0,0 +1,180 @@
+--- a/Makefile.am 2013-08-11 23:10:53.838280533 +0200
++++ b/Makefile.am 2013-08-11 23:31:55.429404471 +0200
+@@ -1,5 +1,5 @@
+-CFLAGS=-g -O2 -Wall
++AM_CFLAGS=-Wall
+
+ SUBDIRS=po
+
+ EXPORT_MODULES= \
+@@ -84,87 +82,21 @@
+ rm -f .stamp-distutils-in-builddir
+
+ nobase_pkgdata_SCRIPTS= \
+- check-device-ids.py \
+- pysmb.py \
+- scp-dbus-service.py \
+- system-config-printer.py \
+- install-printerdriver.py \
+- troubleshoot/__init__.py \
+- applet.py
++ check-device-ids.py
+
+ nobase_pkgdata_DATA= \
+- asyncconn.py \
+- asyncipp.py \
+- asyncpk1.py \
+- authconn.py \
+ config.py \
+- cupspk.py \
+ debug.py \
+ dnssdresolve.py \
+- errordialogs.py \
+- HIG.py \
+ firewallsettings.py \
+- gui.py \
+- gtkinklevel.py \
+ installpackage.py \
+- jobviewer.py \
+ monitor.py \
+- newprinter.py \
+- options.py \
+- optionwidgets.py \
+ PhysicalDevice.py \
+- ppdcache.py \
+ ppdippstr.py \
+- ppdsloader.py \
+- printerproperties.py \
+ probe_printer.py \
+ SearchCriterion.py \
+- serversettings.py \
+ smburi.py \
+ statereason.py \
+- timedops.py \
+- ToolbarSearchEntry.py \
+- userdefault.py \
+- ui/AboutDialog.ui \
+- ui/ConnectDialog.ui \
+- ui/ConnectingDialog.ui \
+- ui/InstallDialog.ui \
+- ui/JobsWindow.ui \
+- ui/NewPrinterName.ui \
+- ui/NewPrinterWindow.ui \
+- ui/PrinterPropertiesDialog.ui \
+- ui/PrintersWindow.ui \
+- ui/ServerSettingsDialog.ui \
+- ui/SMBBrowseDialog.ui \
+- ui/statusicon_popupmenu.ui \
+- ui/WaitWindow.ui \
+- icons/i-network-printer.png \
+- troubleshoot/base.py \
+- troubleshoot/CheckLocalServerPublishing.py \
+- troubleshoot/CheckNetworkServerSanity.py \
+- troubleshoot/CheckPPDSanity.py \
+- troubleshoot/CheckPrinterSanity.py \
+- troubleshoot/CheckSELinux.py \
+- troubleshoot/CheckUSBPermissions.py \
+- troubleshoot/ChooseNetworkPrinter.py \
+- troubleshoot/ChoosePrinter.py \
+- troubleshoot/DeviceListed.py \
+- troubleshoot/ErrorLogCheckpoint.py \
+- troubleshoot/ErrorLogFetch.py \
+- troubleshoot/ErrorLogParse.py \
+- troubleshoot/Locale.py \
+- troubleshoot/LocalOrRemote.py \
+- troubleshoot/NetworkCUPSPrinterShared.py \
+- troubleshoot/PrinterStateReasons.py \
+- troubleshoot/PrintTestPage.py \
+- troubleshoot/QueueNotEnabled.py \
+- troubleshoot/QueueRejectingJobs.py \
+- troubleshoot/RemoteAddress.py \
+- troubleshoot/SchedulerNotRunning.py \
+- troubleshoot/ServerFirewalled.py \
+- troubleshoot/Shrug.py \
+- troubleshoot/VerifyPackages.py \
+- troubleshoot/Welcome.py \
+ xml/preferreddrivers.rng \
+ xml/validate.py
+
+@@ -172,20 +104,14 @@
+ cupshelpers_DATA=\
+ xml/preferreddrivers.xml
+
+-bin_SCRIPTS= \
+- system-config-printer \
+- install-printerdriver \
+- system-config-printer-applet \
+- dbus/scp-dbus-service
+-
+ if UDEV_RULES
+-udevrulesdir=$(sysconfdir)/udev/rules.d
++udevrulesdir=$(shell pkg-config --variable=udevdir udev)/rules.d
+ udevrules_DATA=udev/70-printers.rules
+ udev_udev_configure_printer_SOURCES=\
+ udev/udev-configure-printer.c
+-udev_udev_configure_printer_LDADD= -lcups -ludev $(libusb_LIBS) $(GLIB_LIBS)
+-udev_udev_configure_printer_CFLAGS= $(AM_CFLAGS) $(libusb_CFLAGS) $(GLIB_CFLAGS)
+-udevhelperdir=$(sysconfdir)/udev
++udev_udev_configure_printer_LDADD= -lcups $(libudev_LIBS) $(libusb_LIBS) $(GLIB_LIBS)
++udev_udev_configure_printer_CFLAGS= $(AM_CFLAGS) $(libudev_CFLAGS) $(libusb_CFLAGS) $(GLIB_CFLAGS)
++udevhelperdir=$(shell pkg-config --variable=udevdir udev)
+ udevhelper_PROGRAMS=\
+ udev/udev-configure-printer
+ udevhelper_SCRIPTS=\
+@@ -202,56 +128,17 @@
+
+ endif
+
+-man_MANS= \
+- man/system-config-printer.1 \
+- man/system-config-printer-applet.1
+-
+ dbus_DATA = \
+ dbus/com.redhat.NewPrinterNotification.conf \
+ dbus/com.redhat.PrinterDriversInstaller.conf
+ dbusdir = $(sysconfdir)/dbus-1/system.d/
+
+-dbusinterfaces_DATA = \
+- dbus/org.fedoraproject.Config.Printing.xml
+-dbusinterfacesdir = $(datadir)/dbus-1/interfaces/
+-
+-dbusservices_DATA = \
+- dbus/org.fedoraproject.Config.Printing.service
+-dbusservicesdir = $(datadir)/dbus-1/services/
+-
+-desktop_DATA =\
+- system-config-printer.desktop \
+- print-applet.desktop
+ desktopdir = $(datadir)/applications/
+ autostartdir = $(sysconfdir)/xdg/autostart/
+
+ DESKTOP_VENDOR=@DESKTOPVENDOR@
+ DESKTOP_PREFIX=@DESKTOPPREFIX@
+
+-install-desktopDATA: $(desktop_DATA)
+- mkdir -p $(DESTDIR)$(desktopdir)
+- mkdir -p $(DESTDIR)$(desktopdir)
+- desktop-file-install $(DESKTOP_VENDOR) \
+- --dir $(DESTDIR)$(desktopdir) \
+- --add-category System \
+- --add-category Settings \
+- --add-category HardwareSettings \
+- --add-category Printing \
+- --add-category GTK \
+- system-config-printer.desktop
+- desktop-file-install $(DESKTOP_VENDOR) \
+- --dir $(DESTDIR)$(autostartdir) \
+- --add-category System \
+- --add-category Monitor \
+- --add-category GTK \
+- print-applet.desktop
+-
+-uninstall-desktopDATA:
+- rm -f $(DESTDIR)$(desktopdir)/$(DESKTOP_PREFIX)system-config-printer.desktop
+- rm -f $(DESTDIR)$(autostartdir)/$(DESKTOP_PREFIX)print-applet.desktop
+-
+-desktop_in_files = $(desktop_DATA:.desktop=.desktop.in)
+-
+ EXTRA_DIST=\
+ $(nobase_pkgdata_SCRIPTS) \
+ $(nobase_pkgdata_DATA) \
diff --git a/app-admin/system-config-printer-common/system-config-printer-common-1.4.1.ebuild b/app-admin/system-config-printer-common/system-config-printer-common-1.4.1.ebuild
new file mode 100644
index 000000000000..ffc52a9d21dd
--- /dev/null
+++ b/app-admin/system-config-printer-common/system-config-printer-common-1.4.1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/system-config-printer-common/system-config-printer-common-1.4.1.ebuild,v 1.1 2013/08/11 20:02:07 eva Exp $
+
+EAPI="5"
+PYTHON_COMPAT=( python2_{6,7} )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils python-single-r1 systemd
+
+MY_P=${PN%-common}-${PV}
+
+DESCRIPTION="Common modules of Red Hat's printer administration tool"
+HOMEPAGE="http://cyberelk.net/tim/software/system-config-printer/"
+SRC_URI="http://cyberelk.net/tim/data/${PN/-common}/${PV%.*}/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+SLOT="0"
+IUSE="doc policykit"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Needs cups running, bug 284005
+RESTRICT="test"
+
+# system-config-printer split since 1.1.3
+#
+# Additional unhandled dependencies:
+# net-firewall/firewalld[${PYTHON_USEDEP}]
+# gnome-extra/gnome-packagekit[${PYTHON_USEDEP}] with pygobject:2 ?
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/glib-2
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-python/pycups-1.9.60[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ net-print/cups[dbus]
+ virtual/libusb:1
+ >=virtual/udev-172
+"
+DEPEND="${COMMON_DEPEND}
+ dev-util/intltool
+ virtual/pkgconfig
+ doc? ( dev-python/epydoc[${PYTHON_USEDEP}] )
+"
+RDEPEND="${COMMON_DEPEND}
+ !=sys-auth/polkit-0.104-r1 )
+"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.4.1-split.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-nls \
+ --with-udev-rules \
+ $(systemd_with_unitdir)
+}
+
+src_compile() {
+ emake
+ use doc && emake html
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog README
+ use doc && dohtml -r html/
+
+ python_fix_shebang "${ED}"
+}
diff --git a/app-admin/system-config-printer-gnome/Manifest b/app-admin/system-config-printer-gnome/Manifest
index bdcaa55e7a87..7b83326fea52 100644
--- a/app-admin/system-config-printer-gnome/Manifest
+++ b/app-admin/system-config-printer-gnome/Manifest
@@ -1 +1,2 @@
DIST system-config-printer-1.3.12.tar.xz 949008 SHA256 1905bd9fd382730a8eab80fa196b1c43bd19ce79c2169142de899697cbb1e9b1 SHA512 4e6c15b52287f2a69fabb6dafe6548874b8608f2f7a2e14534b100fbb46ad0f146b1e03a6aa4c2c9fe66dad96789454bd066616db0dd73b962bffeb478a7c6c5 WHIRLPOOL 0b8afe05a87103ef99dac50ab7db5f3fc6137de9b84e483ee3a481172e4c894e206b6d022303f1f11496a63b5698351a67070fb936f35293e83f5a20c5e21599
+DIST system-config-printer-1.4.1.tar.xz 885832 SHA256 4e22413f3581fc1cf38af648573fa90bb7783a2c3b8be3aadf47beda101e04f8 SHA512 ae9c64eb5af34c54a38999eeac2bc5dc9972b6b78a28bc397aae5159893b956417e71b547648b22d4d225e84b1a450854e88819e803d56ad482316fe3b288159 WHIRLPOOL f0db2e55b2ff10659ef65509d6deb8f3df5192c92642568ca454511ed9d8c0bf4c6766581f83c311a951e1e959c443648172e2597734ef32ba4b05f8ea0ee798
diff --git a/app-admin/system-config-printer-gnome/files/system-config-printer-gnome-1.4.1-split.patch b/app-admin/system-config-printer-gnome/files/system-config-printer-gnome-1.4.1-split.patch
new file mode 100644
index 000000000000..84a93bf298f2
--- /dev/null
+++ b/app-admin/system-config-printer-gnome/files/system-config-printer-gnome-1.4.1-split.patch
@@ -0,0 +1,177 @@
+--- a/Makefile.am 2013-08-11 23:49:07.085505820 +0200
++++ b/Makefile.am 2013-08-11 23:51:57.027522515 +0200
+@@ -1,90 +1,8 @@
+-CFLAGS=-g -O2 -Wall
++AM_CFLAGS=-Wall
+
+ SUBDIRS=po
+
+-EXPORT_MODULES= \
+- cupshelpers/__init__.py \
+- cupshelpers/cupshelpers.py \
+- cupshelpers/installdriver.py \
+- cupshelpers/ppds.py \
+- cupshelpers/openprinting.py \
+- cupshelpers/xmldriverprefs.py
+-
+-EXPORT_MODULES_GEN= \
+- cupshelpers/config.py
+-
+-### Automake hooks for Distutils.
+-# The distutils module doesn't understand srcdir != builddir,
+-# so we copy in, along with the cupshelpers modules, into
+-# the builddir for 'all', 'install-exec', and 'clean' hooks.
+-.stamp-distutils-in-builddir: setup.py $(EXPORT_MODULES)
+- if [ "$(top_srcdir)" != "$(top_builddir)" ]; then \
+- cp $(top_srcdir)/setup.py .; \
+- $(mkdir_p) cupshelpers; \
+- for file in $(EXPORT_MODULES); do \
+- cp $(top_srcdir)/$$file $$file; \
+- done; \
+- fi
+- touch .stamp-distutils-in-builddir
+-
+-dist-hook: mk-ChangeLog
+-.PHONE: mk-ChangeLog
+-mk-ChangeLog:
+- if test -d .git; then \
+- $(top_srcdir)/gitlog-to-changelog \
+- --since=2009-05-01 -- --no-merges \
+- > $(distdir)/cl ; \
+- mv -f $(distdir)/cl $(distdir)/ChangeLog ; \
+- fi
+-
+-config.py: config.py.in Makefile
+- sed \
+- -e "s|\@prefix\@|$(prefix)|" \
+- -e "s|\@datadir\@|$(datadir)|" \
+- -e "s|\@localedir\@|$(localedir)|" \
+- -e "s|\@VERSION\@|$(VERSION)|" \
+- -e "s|\@PACKAGE\@|$(PACKAGE)|" \
+- $< > $@
+-
+-cupshelpers/config.py: cupshelpers/config.py.in Makefile
+- $(mkdir_p) cupshelpers
+- sed \
+- -e "s|\@prefix\@|$(prefix)|" \
+- -e "s|\@sysconfdir\@|$(sysconfdir)|" \
+- -e "s|\@cupsserverbindir\@|$(cupsserverbindir)|" \
+- $< > $@
+-
+-# Use distutils to build the module.
+-all-local: .stamp-distutils-in-builddir config.py cupshelpers/config.py
+- $(PYTHON) setup.py build
+-
+-# Use distutils to install the module.
+-install-exec-local: .stamp-distutils-in-builddir
+- $(PYTHON) setup.py install --prefix=$(DESTDIR)$(prefix)
+-
+-# Uninstall the module, crossing our fingers that we know enough
+-# about how distutils works to do this. Unfortunately, distutils
+-# doesn't provide a way to do this itself.
+-uninstall-local:
+- rm -f $(DESTDIR)/$(pythondir)/cupshelpers*.egg-info
+- for file in $(EXPORT_MODULES) $(EXPORT_MODULES_GEN); do \
+- rm -f $(DESTDIR)/$(pythondir)/$$file*; \
+- done
+-
+-# Tell distutils to clean up.
+-clean-local:
+- -$(PYTHON) setup.py clean --all
+- if [ "$(top_srcdir)" != "$(top_builddir)" ]; then \
+- rm -f setup.py; \
+- for file in $(EXPORT_MODULES) \
+- $(EXPORT_MODULES_GEN); do \
+- rm -f $$file*; \
+- done; \
+- fi
+- rm -f .stamp-distutils-in-builddir
+-
+ nobase_pkgdata_SCRIPTS= \
+- check-device-ids.py \
+ pysmb.py \
+ scp-dbus-service.py \
+ system-config-printer.py \
+@@ -97,31 +15,19 @@
+ asyncipp.py \
+ asyncpk1.py \
+ authconn.py \
+- config.py \
+ cupspk.py \
+- debug.py \
+- dnssdresolve.py \
+ errordialogs.py \
+ HIG.py \
+- firewallsettings.py \
+ gui.py \
+ gtkinklevel.py \
+- installpackage.py \
+ jobviewer.py \
+- monitor.py \
+ newprinter.py \
+ options.py \
+ optionwidgets.py \
+- PhysicalDevice.py \
+ ppdcache.py \
+- ppdippstr.py \
+ ppdsloader.py \
+ printerproperties.py \
+- probe_printer.py \
+- SearchCriterion.py \
+ serversettings.py \
+- smburi.py \
+- statereason.py \
+ timedops.py \
+ ToolbarSearchEntry.py \
+ userdefault.py \
+@@ -164,9 +70,7 @@
+ troubleshoot/ServerFirewalled.py \
+ troubleshoot/Shrug.py \
+ troubleshoot/VerifyPackages.py \
+- troubleshoot/Welcome.py \
+- xml/preferreddrivers.rng \
+- xml/validate.py
++ troubleshoot/Welcome.py
+
+ cupshelpersdir=$(sysconfdir)/cupshelpers
+ cupshelpers_DATA=\
+@@ -178,39 +82,10 @@
+ system-config-printer-applet \
+ dbus/scp-dbus-service
+
+-if UDEV_RULES
+-udevrulesdir=$(sysconfdir)/udev/rules.d
+-udevrules_DATA=udev/70-printers.rules
+-udev_udev_configure_printer_SOURCES=\
+- udev/udev-configure-printer.c
+-udev_udev_configure_printer_LDADD= -lcups -ludev $(libusb_LIBS) $(GLIB_LIBS)
+-udev_udev_configure_printer_CFLAGS= $(AM_CFLAGS) $(libusb_CFLAGS) $(GLIB_CFLAGS)
+-udevhelperdir=$(sysconfdir)/udev
+-udevhelper_PROGRAMS=\
+- udev/udev-configure-printer
+-udevhelper_SCRIPTS=\
+- udev/udev-add-printer
+-
+-if HAVE_SYSTEMD
+-%.service: %.service.in
+- $(AM_V_GEN)sed -e 's,@udevhelperdir\@,$(udevhelperdir),g' $< > $@
+-systemdsystemunit_DATA = \
+- udev/configure-printer@.service
+-CLEANFILES = \
+- $(systemdsystemunit_DATA)
+-endif
+-
+-endif
+-
+ man_MANS= \
+ man/system-config-printer.1 \
+ man/system-config-printer-applet.1
+
+-dbus_DATA = \
+- dbus/com.redhat.NewPrinterNotification.conf \
+- dbus/com.redhat.PrinterDriversInstaller.conf
+-dbusdir = $(sysconfdir)/dbus-1/system.d/
+-
+ dbusinterfaces_DATA = \
+ dbus/org.fedoraproject.Config.Printing.xml
+ dbusinterfacesdir = $(datadir)/dbus-1/interfaces/
diff --git a/app-admin/system-config-printer-gnome/system-config-printer-gnome-1.4.1.ebuild b/app-admin/system-config-printer-gnome/system-config-printer-gnome-1.4.1.ebuild
new file mode 100644
index 000000000000..233d0df68817
--- /dev/null
+++ b/app-admin/system-config-printer-gnome/system-config-printer-gnome-1.4.1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/system-config-printer-gnome/system-config-printer-gnome-1.4.1.ebuild,v 1.1 2013/08/11 20:05:15 eva Exp $
+
+EAPI="5"
+PYTHON_COMPAT=( python2_{6,7} )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils fdo-mime python-single-r1 versionator
+
+MY_P="${PN%-gnome}-${PV}"
+MY_V="$(get_version_component_range 1-2)"
+
+DESCRIPTION="GNOME frontend for a Red Hat's printer administration tool"
+HOMEPAGE="http://cyberelk.net/tim/software/system-config-printer/"
+SRC_URI="http://cyberelk.net/tim/data/system-config-printer/${MY_V}/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+SLOT="0"
+IUSE="gnome-keyring"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Needs cups running, bug 284005
+RESTRICT="test"
+
+# Additional unhandled dependencies
+# gnome-extra/gnome-packagekit[${PYTHON_USEDEP}] with pygobject:2 ?
+# python samba client: smbc
+# selinux: needed for troubleshooting
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~app-admin/system-config-printer-common-${PV}
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ >=dev-python/pycups-1.9.60[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/libnotify[introspection]
+ x11-libs/pango[introspection]
+ gnome-keyring? ( gnome-base/libgnome-keyring[introspection] )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ >=app-text/xmlto-0.0.22
+ dev-util/desktop-file-utils
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+APP_LINGUAS="ar as bg bn_IN bn br bs ca cs cy da de el en_GB es et fa fi fr gu
+he hi hr hu hy id is it ja ka kn ko lo lv mai mk ml mr ms nb nl nn or pa pl
+pt_BR pt ro ru si sk sl sr@latin sr sv ta te th tr uk vi zh_CN zh_TW"
+for X in ${APP_LINGUAS}; do
+ IUSE="${IUSE} linguas_${X}"
+done
+
+S="${WORKDIR}/${MY_P}"
+
+# Bug 471472
+MAKEOPTS+=" -j1"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.4.1-split.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ # Disable installation of translations when LINGUAS not chosen
+ if [[ -z "${LINGUAS}" ]]; then
+ myconf="${myconf} --disable-nls"
+ else
+ myconf="${myconf} --enable-nls"
+ fi
+
+ econf \
+ --with-desktop-vendor=Gentoo \
+ --without-udev-rules \
+ ${myconf}
+}
+
+src_install() {
+ dodoc AUTHORS ChangeLog README || die "dodoc failed"
+
+ emake DESTDIR="${ED}" install || die "emake install failed"
+
+ python_fix_shebang "${ED}"
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-admin/whowatch/files/whowatch-1.8.4-select.patch b/app-admin/whowatch/files/whowatch-1.8.4-select.patch
new file mode 100644
index 000000000000..0907c70e6750
--- /dev/null
+++ b/app-admin/whowatch/files/whowatch-1.8.4-select.patch
@@ -0,0 +1,17 @@
+--- a/src/whowatch.c
++++ b/src/whowatch.c
+@@ -436,12 +436,12 @@
+ gettimeofday(&after, 0);
+ tv.tv_sec -= (after.tv_sec - before.tv_sec);
+ if(retval > 0) {
+- int key = read_key();
++ int key = getkey();
+ key_action(key);
+ }
+ if(tv.tv_sec <= 0) {
+ ticks++;
+- periodic();
++ main_periodic();
+ tv.tv_sec = TIMEOUT;
+ }
+ #endif
diff --git a/app-admin/whowatch/whowatch-1.8.4.ebuild b/app-admin/whowatch/whowatch-1.8.4.ebuild
index 7d84a5ddc693..621b7e729a24 100644
--- a/app-admin/whowatch/whowatch-1.8.4.ebuild
+++ b/app-admin/whowatch/whowatch-1.8.4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/whowatch/whowatch-1.8.4.ebuild,v 1.1 2013/08/10 13:57:40 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/whowatch/whowatch-1.8.4.ebuild,v 1.2 2013/08/11 11:54:08 jer Exp $
EAPI=5
inherit autotools eutils
@@ -19,6 +19,7 @@ RDEPEND="${DEPEND}"
src_prepare() {
epatch "${FILESDIR}"/${P}-tinfo.patch
+ epatch "${FILESDIR}"/${P}-select.patch
eautoreconf
}
diff --git a/app-arch/dpkg/Manifest b/app-arch/dpkg/Manifest
index b34e183ad4d5..ab8c196432cc 100644
--- a/app-arch/dpkg/Manifest
+++ b/app-arch/dpkg/Manifest
@@ -1,5 +1,4 @@
DIST dpkg_1.16.10.tar.xz 3703340 SHA256 aeaacf0884039940d9463901102194f9a42eb5702157b9e7a23f43e0d9f65cf2 SHA512 cd7b1159c2071f48f2e369e03b8a3d1f00366bcdabab2ef4c33700e8f3230db5c9991e5937331f7f66f616d2bb798efec12e572af5724e1c9809beb9d5ae627e WHIRLPOOL 5d54eedf2b90f35ea9ee7b5c1bdc6ddc2a3054c893cddb048598d85a6f6a5ea846879d5c1181432bffc0268b404408a6d2d40bce0cfd49784e5b6bca703bae44
DIST dpkg_1.16.8.tar.xz 3601652 SHA256 4a1f4611390d93f1f198d910d3a4e4913b3cf81702b31f585a1872ca98df0eaa SHA512 d16b8bffbadc483353522f5dad9481aa8b10418c461bb808873845b629c092c52b130f977a6bc37661564b2651ba4006865868aa4b5051917f75c36fd1ae7b24 WHIRLPOOL 255e5f27a20f111902a76d51a7f4ac21eaad8a49c0000d548cb823b976b8f3858ba1ae961a6da85bd7eca08fa8db52376cdbcdef0a86f0779e6d8dd187b830c3
DIST dpkg_1.16.9.tar.xz 3697752 SHA256 73cd7fba4e54acddd645346b4bc517030b9c35938e82215d3eeb8b4e7af26b7a SHA512 33bee7fc069361f81523e95fff4a90a173cd58872dd79c879d612975a8e3b979b94bad3b7d0cd8cca53885c97577ffc020462c488178718991d4993410a881b6 WHIRLPOOL 1d7b558dce1a005b833d73ff9eb84b2e6cd02ea5ddbfc40405b7121c8dfbdb8d284e4bd960fdd572c4f625ae3ef857c615b6db905ebc20267e30454a62dd29cc
-DIST dpkg_1.17.0.tar.xz 3783600 SHA256 a424cae7e94c98c3f700dc40eea6bc66ab7a14183c7d6efd2992de8261701352 SHA512 74ac89df6577503b39c83c899514b4a4755b2c158bcf567b3b0632b627927bc3fb07d0a1d946600640e9c2b64a7010c6da84318dc16d7a43abd46e36743ecfb8 WHIRLPOOL fab86c3b18404c569c1fe877d439f03213ae44abc273c5a5c8c0167482a1a1a98e5c0a1aa385728b642778d1b16319b9616d63d48d4d294df4a16d54e2c005c4
DIST dpkg_1.17.1.tar.xz 3785620 SHA256 8912ea77bc9c14297c0a340f5f461fbd212582ce814e1805d1d0436ca885e3a1 SHA512 e5710f21c4118e43d0240587be13f4a6c5e17b442c332c4b79ae032841e7db1ae043b5eec15e8bd3653dd93632e9ba1753f5bb53d26e2a6ded99a0d56d0cfeeb WHIRLPOOL ef6724328f4cb5c4b29514f165895fb25a089cf42f02a441e012e7e2e202bf6342fde502e52365af6186b805857b2129a0b7e430e7d0fd55ff1f05e3130148bb
diff --git a/app-arch/dpkg/dpkg-1.17.0.ebuild b/app-arch/dpkg/dpkg-1.17.0.ebuild
deleted file mode 100644
index f9ac76d5c40b..000000000000
--- a/app-arch/dpkg/dpkg-1.17.0.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/dpkg/dpkg-1.17.0.ebuild,v 1.1 2013/07/27 13:21:53 jer Exp $
-
-EAPI=5
-inherit eutils multilib autotools toolchain-funcs
-
-DESCRIPTION="Package maintenance system for Debian"
-HOMEPAGE="http://packages.qa.debian.org/dpkg"
-SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-solaris ~x86-solaris"
-IUSE="+bzip2 dselect +lzma nls test unicode +update-alternatives +zlib"
-REQUIRED_USE="dselect? ( nls )"
-
-RDEPEND="
- >=dev-lang/perl-5.6.0
- dev-perl/TimeDate
- >=sys-libs/ncurses-5.2-r7
- lzma? ( app-arch/xz-utils )
- zlib? ( >=sys-libs/zlib-1.1.4 )
- bzip2? ( app-arch/bzip2 )
-"
-DEPEND="
- ${RDEPEND}
- app-arch/xz-utils
- sys-devel/flex
- virtual/pkgconfig
- nls? (
- app-text/po4a
- sys-devel/gettext
- )
- test? (
- dev-perl/DateTime-Format-DateParse
- dev-perl/IO-String
- dev-perl/Test-Pod
- )
-"
-
-DOCS=( ChangeLog THANKS TODO )
-
-src_prepare() {
- # do not expect Debian's gzip --rsyncable extension
- epatch "${FILESDIR}"/${PN}-1.17.0-gzip-rsyncable.patch
-
- # Force the use of the running bash for get-version (this file is never
- # installed, so no need to worry about hardcoding a temporary bash)
- sed -i -e '1c\#!'"${BASH}" get-version || die
-
- # this test depends on a Debian only gzip extension that adds --rsyncable
- # which will therefore always fail on Gentoo. (bug #310847).
- sed -i scripts/Makefile.am \
- -e '/850_Dpkg_Compression.t/d' \
- || die "sed failed"
-
- # test fails (bug #414095)
- sed -i utils/Makefile.am \
- -e '/^test_cases/d;/100_update_alternatives/d' || die
-
- use nls && strip-linguas -i po
-
- eautoreconf
-}
-
-src_configure() {
- tc-export CC
- econf \
- $(use_enable dselect) \
- $(use_enable nls) \
- $(use_enable unicode) \
- $(use_enable update-alternatives) \
- $(use_with bzip2 bz2) \
- $(use_with zlib) \
- $(use_with lzma liblzma) \
- --disable-compiler-optimisations \
- --disable-compiler-warnings \
- --disable-linker-optimisations \
- --disable-silent-rules \
- --disable-start-stop-daemon \
- --localstatedir="${EPREFIX}"/var \
- --without-selinux
-}
-
-src_compile() {
- emake AR=$(tc-getAR)
-}
-
-src_install() {
- default
-
- keepdir /usr/$(get_libdir)/db/methods/{mnt,floppy,disk}
- keepdir /usr/$(get_libdir)/db/{alternatives,info,methods,parts,updates}
-}
diff --git a/app-arch/dpkg/dpkg-1.17.1.ebuild b/app-arch/dpkg/dpkg-1.17.1.ebuild
index 6d48396d563d..07118d7a946a 100644
--- a/app-arch/dpkg/dpkg-1.17.1.ebuild
+++ b/app-arch/dpkg/dpkg-1.17.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/dpkg/dpkg-1.17.1.ebuild,v 1.1 2013/07/29 00:30:04 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/dpkg/dpkg-1.17.1.ebuild,v 1.2 2013/08/11 15:27:55 jer Exp $
EAPI=5
inherit eutils multilib autotools toolchain-funcs
@@ -30,7 +30,7 @@ DEPEND="
virtual/pkgconfig
nls? (
app-text/po4a
- sys-devel/gettext
+ >=sys-devel/gettext-0.18.2
)
test? (
dev-perl/DateTime-Format-DateParse
diff --git a/app-arch/p7zip/Manifest b/app-arch/p7zip/Manifest
index f438550cbdf8..f34836cc74d9 100644
--- a/app-arch/p7zip/Manifest
+++ b/app-arch/p7zip/Manifest
@@ -1,2 +1 @@
-DIST p7zip_9.13_src_all.tar.bz2 3753579 SHA256 fc9c0fa2eabd367d6adbc3ea07bb305dbdc1f68717eea362c8c074b91c03d923 SHA512 84b6687fc33af55c7f282fc6c988789cbdd0b3d2df0adb1c14b6ad12ebc2ed4600ddf6b043d2d8f2baa717ee8afc3601f7e9e37c5d44d6357727bf3a36686e11 WHIRLPOOL 886ba23a09e8aab3b92cd870dda5aa876638c3b7149155b3c8eb1031b94e262f2254ebd575ca42c42e57789ccfff6ab4289937c952373947bd61ec8f92e7370a
DIST p7zip_9.20.1_src_all.tar.bz2 3835235 SHA256 49557e7ffca08100f9fc687f4dfc5aea703ca207640c76d9dee7b66f03cb4782 SHA512 7bb8a276aaefc4a83364e45633c48527de44c6b1205344f3356db570582f30f81d82a94938c99a7ad193587b584cc1c03219c28249de40018bdaee6c3b2a022a WHIRLPOOL cb20f37d3f796931a9b330728aa7148afe98bbf8a49bb91bfd80e4667c16416206b23bf34298e9ec37825e8b43f92a5710f0cea1f974296d5c17aa2c7b0931f3
diff --git a/app-arch/p7zip/p7zip-9.13-r3.ebuild b/app-arch/p7zip/p7zip-9.13-r3.ebuild
deleted file mode 100644
index a2aeaa32340f..000000000000
--- a/app-arch/p7zip/p7zip-9.13-r3.ebuild
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/p7zip/p7zip-9.13-r3.ebuild,v 1.4 2012/06/07 16:29:50 hasufell Exp $
-
-EAPI="2"
-WX_GTK_VER="2.8"
-
-inherit eutils toolchain-funcs multilib wxwidgets
-
-DESCRIPTION="Port of 7-Zip archiver for Unix"
-HOMEPAGE="http://p7zip.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
-
-LICENSE="LGPL-2.1 rar? ( unRAR )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc kde rar +pch static wxwidgets"
-
-RDEPEND="
- kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/kdelibs )
- wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${PN}_${PV}
-
-pkg_setup() {
- use wxwidgets && wxwidgets_pkg_setup
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-QA.patch
-
- if ! use pch; then
- sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
- fi
-
- # Being able to use native multilib
- sed \
- -e 's:-m32 ::g' \
- -e 's:-m64 ::g' \
- -i makefile* || die
-
- sed \
- -e "/^CC/s:\$(ALLFLAGS):${CFLAGS} \$(ALLFLAGS):g" \
- -e "/^CXX/s:\$(ALLFLAGS):${CXXFLAGS} \$(ALLFLAGS):g" \
- -i makefile* || die
- if use kde && ! use wxwidgets ; then
- einfo "USE-flag kde needs wxwidgets flag"
- einfo "silently enabling wxwidgets flag"
- fi
-
- # remove non-free RAR codec
- if use rar; then
- ewarn "Enabling nonfree RAR decompressor"
- else
- sed -e '/Rar/d' -i makefile*
- rm -rf CPP/7zip/Compress/Rar
- epatch "${FILESDIR}"/9.04-makefile.patch
- fi
-
- sed -i \
- -e "/^CXX=/s:g++:$(tc-getCXX):" \
- -e "/^CC=/s:gcc:$(tc-getCC):" \
- -e '/ALLFLAGS/s:-s ::' \
- makefile* || die "changing makefiles"
-
- if use amd64; then
- cp -f makefile.linux_amd64 makefile.machine
- elif [[ ${CHOST} == *-darwin* ]] ; then
- # Mac OS X needs this special makefile, because it has a non-GNU linker
- [[ ${CHOST} == *64-* ]] \
- && cp -f makefile.macosx_64bits makefile.machine \
- || cp -f makefile.macosx_32bits makefile.machine
- # bundles have extension .bundle but don't die because USE=-rar
- # removes the Rar directory
- sed -i -e '/strcpy(name/s/\.so/.bundle/' \
- CPP/Windows/DLL.cpp || die
- sed -i -e '/^PROG=/s/\.so/.bundle/' \
- CPP/7zip/Bundles/Format7zFree/makefile \
- $(use rar && echo CPP/7zip/Compress/Rar/makefile) || die
- elif use x86-fbsd; then
- # FreeBSD needs this special makefile, because it hasn't -ldl
- sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
- fi
- use static && sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine
-
- # We can be more parallel
- cp -f makefile.parallel_jobs makefile
-
- epatch "${FILESDIR}"/9.04-kde4.patch
-
- if use kde || use wxwidgets; then
- einfo "Preparing dependency list"
- emake depend || die
- fi
-}
-
-src_compile() {
- emake all3 || die "compilation error"
- if use kde || use wxwidgets; then
- emake 7zG || die "error building GUI"
- fi
-}
-
-src_test() {
- emake test_7z test_7zr || die "test failed"
-}
-
-src_install() {
- # this wrappers can not be symlinks, p7zip should be called with full path
- make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
- make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
- make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
-
- if use kde || use wxwidgets; then
- make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
-
- dobin GUI/p7zipForFilemanager
- exeinto /usr/$(get_libdir)/${PN}
- doexe bin/7zG
-
- insinto /usr/$(get_libdir)/${PN}
- doins -r GUI/{Lang,help}
-
- if use kde; then
- insinto /usr/share/icons/hicolor/16x16/apps/
- newins GUI/p7zip_16_ok.png p7zip.png
-
- insinto /usr/share/kde4/services/ServiceMenus
- doins GUI/kde/*.desktop
- fi
- fi
-
- dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip || die
- doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1 || die
-
- exeinto /usr/$(get_libdir)/${PN}
- doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx || die "doexe bins"
- doexe bin/*$(get_modname) || die "doexe *$(get_modname) files"
- if use rar; then
- exeinto /usr/$(get_libdir)/${PN}/Codecs/
- doexe bin/Codecs/*$(get_modname) || die "doexe Codecs/*$(get_modname) files"
- fi
-
- doman man1/7z.1 man1/7za.1 man1/7zr.1 || die
- dodoc ChangeLog README TODO || die
-
- if use doc; then
- dodoc DOCS/*.txt
- dohtml -r DOCS/MANUAL/*
- fi
-}
diff --git a/app-arch/p7zip/p7zip-9.13.ebuild b/app-arch/p7zip/p7zip-9.13.ebuild
deleted file mode 100644
index 2b0fae34f9f6..000000000000
--- a/app-arch/p7zip/p7zip-9.13.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/p7zip/p7zip-9.13.ebuild,v 1.11 2012/06/07 16:29:50 hasufell Exp $
-
-EAPI="2"
-WX_GTK_VER="2.8"
-
-inherit eutils flag-o-matic toolchain-funcs multilib wxwidgets
-
-DESCRIPTION="Port of 7-Zip archiver for Unix"
-HOMEPAGE="http://p7zip.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
-
-LICENSE="LGPL-2.1 rar? ( unRAR )"
-SLOT="0"
-KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="doc kde rar static wxwidgets"
-
-RDEPEND="
- kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/kdelibs )
- wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${PN}_${PV}
-
-pkg_setup() {
- use wxwidgets && wxwidgets_pkg_setup
- append-flags -fno-strict-aliasing
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-QA.patch
-
- if use kde && ! use wxwidgets ; then
- einfo "USE-flag kde needs wxwidgets flag"
- einfo "silently enabling wxwidgets flag"
- fi
-
- # remove non-free RAR codec
- if use rar; then
- ewarn "Enabling nonfree RAR decompressor"
- else
- sed -e '/Rar/d' -i makefile*
- rm -rf CPP/7zip/Compress/Rar
- epatch "${FILESDIR}"/9.04-makefile.patch
- fi
-
- sed -i \
- -e "/^CXX=/s:g++:$(tc-getCXX):" \
- -e "/^CC=/s:gcc:$(tc-getCC):" \
- -e "s:OPTFLAGS=-O:OPTFLAGS=${CXXFLAGS}:" \
- -e '/ALLFLAGS/s:-s ::' \
- makefile* || die "changing makefiles"
-
- if use amd64; then
- cp -f makefile.linux_amd64 makefile.machine
- elif [[ ${CHOST} == *-darwin* ]] ; then
- # Mac OS X needs this special makefile, because it has a non-GNU linker
- [[ ${CHOST} == *64-* ]] \
- && cp -f makefile.macosx_64bits makefile.machine \
- || cp -f makefile.macosx_32bits makefile.machine
- # bundles have extension .bundle but don't die because USE=-rar
- # removes the Rar directory
- sed -i -e '/^PROG=/s/\.so/.bundle/' \
- CPP/7zip/Bundles/Format7zFree/makefile \
- CPP/7zip/Compress/Rar/makefile
- elif use x86-fbsd; then
- # FreeBSD needs this special makefile, because it hasn't -ldl
- sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
- fi
- use static && sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine
-
- # We can be more parallel
- cp -f makefile.parallel_jobs makefile
-
- epatch "${FILESDIR}"/9.04-kde4.patch
-
- if use kde || use wxwidgets; then
- einfo "Preparing dependency list"
- emake depend || die
- fi
-}
-
-src_compile() {
- emake all3 || die "compilation error"
- if use kde || use wxwidgets; then
- emake 7zG || die "error building GUI"
- fi
-}
-
-src_test() {
- emake test_7z test_7zr || die "test failed"
-}
-
-src_install() {
- # this wrappers can not be symlinks, p7zip should be called with full path
- make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
- make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
- make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
-
- if use kde || use wxwidgets; then
- make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
-
- dobin GUI/p7zipForFilemanager
- exeinto /usr/$(get_libdir)/${PN}
- doexe bin/7zG
-
- insinto /usr/$(get_libdir)/${PN}
- doins -r GUI/{Lang,help}
-
- if use kde; then
- insinto /usr/share/icons/hicolor/16x16/apps/
- newins GUI/p7zip_16_ok.png p7zip.png
-
- insinto /usr/share/kde4/services/ServiceMenus
- doins GUI/kde/*.desktop
- fi
- fi
-
- dobin "${FILESDIR}/p7zip" || die
-
- # gzip introduced in 4.42, so beware :)
- newbin contrib/gzip-like_CLI_wrapper_for_7z/p7zip 7zg || die
-
- exeinto /usr/$(get_libdir)/${PN}
- doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx || die "doexe bins"
- doexe bin/*$(get_modname) || die "doexe *$(get_modname) files"
- if use rar; then
- exeinto /usr/$(get_libdir)/${PN}/Codecs/
- doexe bin/Codecs/*$(get_modname) || die "doexe Codecs/*$(get_modname) files"
- fi
-
- doman man1/7z.1 man1/7za.1 man1/7zr.1
- dodoc ChangeLog README TODO
-
- if use doc; then
- dodoc DOCS/*.txt
- dohtml -r DOCS/MANUAL/*
- fi
-}
diff --git a/app-emulation/emul-linux-x86-medialibs/emul-linux-x86-medialibs-20130224-r11.ebuild b/app-emulation/emul-linux-x86-medialibs/emul-linux-x86-medialibs-20130224-r12.ebuild
similarity index 94%
rename from app-emulation/emul-linux-x86-medialibs/emul-linux-x86-medialibs-20130224-r11.ebuild
rename to app-emulation/emul-linux-x86-medialibs/emul-linux-x86-medialibs-20130224-r12.ebuild
index 2b407e3533ef..9cba23bbfd7c 100644
--- a/app-emulation/emul-linux-x86-medialibs/emul-linux-x86-medialibs-20130224-r11.ebuild
+++ b/app-emulation/emul-linux-x86-medialibs/emul-linux-x86-medialibs-20130224-r12.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/emul-linux-x86-medialibs/emul-linux-x86-medialibs-20130224-r11.ebuild,v 1.1 2013/08/10 22:09:30 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/emul-linux-x86-medialibs/emul-linux-x86-medialibs-20130224-r12.ebuild,v 1.1 2013/08/12 00:03:04 aballier Exp $
EAPI=5
inherit emul-linux-x86
@@ -46,6 +46,7 @@ RDEPEND="~app-emulation/emul-linux-x86-baselibs-${PV}
>=dev-libs/fribidi-0.19.5-r2[abi_x86_32(-)]
>=dev-libs/libcdio-0.90-r1[abi_x86_32(-)]
>=dev-libs/libcdio-paranoia-0.90_p1-r1[abi_x86_32(-)]
+ >=media-video/ffmpeg-0.10.8:0.10[abi_x86_32(-)]
)
"
PDEPEND="~app-emulation/emul-linux-x86-soundlibs-${PV}"
diff --git a/app-emulation/emul-linux-x86-medialibs/files/remove-native b/app-emulation/emul-linux-x86-medialibs/files/remove-native
index 5c1009ebd8db..80bb821f83f7 100644
--- a/app-emulation/emul-linux-x86-medialibs/files/remove-native
+++ b/app-emulation/emul-linux-x86-medialibs/files/remove-native
@@ -169,3 +169,19 @@ usr/lib32/libcdio_paranoia.so.1
usr/lib32/libcdio_paranoia.so.1.0.0
usr/lib32/pkgconfig/libcdio_cdda.pc
usr/lib32/pkgconfig/libcdio_paranoia.pc
+usr/lib32/libavcodec.so
+usr/lib32/libavcodec.so.53
+usr/lib32/libavcodec.so.53.61.100
+usr/lib32/pkgconfig/libavcodec.pc
+usr/lib32/libavfilter.so
+usr/lib32/libavfilter.so.2
+usr/lib32/libavfilter.so.2.61.100
+usr/lib32/pkgconfig/libavfilter.pc
+usr/lib32/libavformat.so
+usr/lib32/libavformat.so.53
+usr/lib32/libavformat.so.53.32.100
+usr/lib32/pkgconfig/libavformat.pc
+usr/lib32/libavutil.so
+usr/lib32/libavutil.so.51
+usr/lib32/libavutil.so.51.35.100
+usr/lib32/pkgconfig/libavutil.pc
diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest
index 1b3f94661ea9..359d3cceedf3 100644
--- a/app-emulation/qemu-guest-agent/Manifest
+++ b/app-emulation/qemu-guest-agent/Manifest
@@ -1,4 +1,2 @@
-DIST qemu-1.2.0.tar.bz2 9865186 SHA256 c8b84420d9f4869397f84cad2dabd9a475b7723d619a924a873740353e9df936 SHA512 b590ea4ff484abc1abf2d3ec3fb294d4ece24d2dfa0a179d9c5f60baca0ea474d47a560f5d95b010a53a5563793414f3257240c5e9917a8d0f556a2066ccd60e WHIRLPOOL 5e5a5f09b828b0aff6139d7efad4dd0d1ed8d86badc2657f7ea53352aa1dbb6e6e227501f7ab63f7e95ee248007942ae94431b7f99092a4ed7005c345b10ca4e
-DIST qemu-1.4.2.tar.bz2 10416877 SHA256 acae6c92b740ff89c0e31eca23338d4abd733432e51b081017757579b30ecf90 SHA512 aa296b3d06321c81b32fdd2fdcdf07f3c377123f18eadca977335592b64a4f2417eea421fe417b57e468741f707bda31ba907364d762983393272997fdef8999 WHIRLPOOL 782f3c6d8776210450a0c0ac24942d8e1c41995aeb8e910add704f8f6d95ae3392ee942c6b661d4674367d0e443453c7f29356b2b4c71be4ffed54436f90de8a
DIST qemu-1.5.2-e26b4ba6.tar.xz 21348 SHA256 877cc321b3bd5e30aaa7a481b359e16845ad731927a49df1fb2d5b0cfbfd0ad6 SHA512 1f015c5d9ca37475bddf9d474255b10ae3f03d01280270211deb1195a2ef288e6a1bbff9490cb4173a7af4b02787469278816fd5dee69d8e11d601b5a46b0e53 WHIRLPOOL 86a249c1339bb241a1534e5047bab696b8c26ad491eda073ee57ce1f9104df54ab7e251cd5ad9568a1381307b118029b7619bf689dec36f454d3f77f2f2f402a
DIST qemu-1.5.2.tar.bz2 11932902 SHA256 f661147d190ab8432045058a660d810f13dc528fe7017ce578e9f2da2997a250 SHA512 cae47d34b99d3d3ded688b5a434ba69a377a838dddd367d10e4a71cd697305870c9671e4291490c0028b8143870b0998469e508cd28922fbebd8ea5f86f591b9 WHIRLPOOL bd5e8063c40e3e2fc43934e3649562f594f249002209bf09e05fda06155d423587d714862c8b55f9b2621f3ce20154f4e81b5c73df65ef2513ae824ae5bbcee9
diff --git a/app-emulation/qemu-guest-agent/files/qemu-ga.conf b/app-emulation/qemu-guest-agent/files/qemu-ga.conf-r1
similarity index 68%
rename from app-emulation/qemu-guest-agent/files/qemu-ga.conf
rename to app-emulation/qemu-guest-agent/files/qemu-ga.conf-r1
index 228c0325444d..a1a78df3dea0 100644
--- a/app-emulation/qemu-guest-agent/files/qemu-ga.conf
+++ b/app-emulation/qemu-guest-agent/files/qemu-ga.conf-r1
@@ -5,3 +5,7 @@
# Specifies the device path for the communications back to QEMU on the host
# Default: /dev/virtio-ports/org.qemu.guest_agent.0
#GA_PATH="/dev/virtio-ports/org.qemu.guest_agent.0"
+
+# Additional options to qemu-guest-agent such as --fsfreeze-hook
+# See qemu-ga --help for more info
+#GA_OPTIONS="-F/etc/qemu/fsfreeze-hook"
diff --git a/app-emulation/qemu-guest-agent/files/qemu-ga.init b/app-emulation/qemu-guest-agent/files/qemu-ga.init-r1
similarity index 60%
rename from app-emulation/qemu-guest-agent/files/qemu-ga.init
rename to app-emulation/qemu-guest-agent/files/qemu-ga.init-r1
index 83876308aea5..d9cd406ee1d4 100644
--- a/app-emulation/qemu-guest-agent/files/qemu-ga.init
+++ b/app-emulation/qemu-guest-agent/files/qemu-ga.init-r1
@@ -1,7 +1,7 @@
#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-guest-agent/files/qemu-ga.init,v 1.2 2012/10/30 21:12:20 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-guest-agent/files/qemu-ga.init-r1,v 1.1 2013/08/11 21:36:56 cardoe Exp $
start() {
GA_METHOD=${GA_METHOD:-virtio-serial}
@@ -9,9 +9,9 @@ start() {
ebegin "Starting QEMU Guest Agent"
- start-stop-daemon --start --pidfile /var/run/qemu-ga.pid \
+ start-stop-daemon --start --pidfile /run/qemu-ga.pid \
--exec /usr/bin/qemu-ga -- -m ${GA_METHOD} -p ${GA_PATH} \
- -l /var/log/qemu-ga.log -d
+ -l /var/log/qemu-ga.log -d -f /run/qemu-ga.pid -t /run ${GA_OPTIONS}
eend $?
}
@@ -19,7 +19,7 @@ start() {
stop() {
ebegin "Stopping QEMU Guest Agent"
- start-stop-daemon --stop --pidfile /var/run/qemu-ga.pid
+ start-stop-daemon --stop --pidfile /run/qemu-ga.pid
eend $?
}
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-1.2.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-1.2.0.ebuild
deleted file mode 100644
index 96ae218d16ff..000000000000
--- a/app-emulation/qemu-guest-agent/qemu-guest-agent-1.2.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-guest-agent/qemu-guest-agent-1.2.0.ebuild,v 1.3 2013/02/10 21:47:50 cardoe Exp $
-
-EAPI=4
-
-inherit systemd udev python
-
-MY_PN="qemu"
-MY_P="${MY_PN}-${PV}"
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="git://git.qemu.org/qemu.git"
- inherit git-2
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.bz2"
- KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
-fi
-
-DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
-HOMEPAGE="http://wiki.qemu.org/Features/QAPI/GuestAgent"
-
-LICENSE="GPL-2 BSD-2"
-SLOT="0"
-IUSE=""
-
-DEPEND=">=dev-libs/glib-2.22"
-RDEPEND="${DEPEND}
- !=dev-libs/glib-2.22
- !proc_fops = &ControlFileOps;
+ return 0;
+ }
+
+diff --git a/vmnet-only/bridge.c b/vmnet-only/bridge.c
+index 10eaa41..6fdc19e 100644
+--- a/vmnet-only/bridge.c
++++ b/vmnet-only/bridge.c
+@@ -105,8 +105,6 @@ static Bool VNetBridgeCycleDetect(VNetJack *this, int generation);
+ static Bool VNetBridgeIsDeviceWireless(struct net_device *dev);
+ static void VNetBridgePortsChanged(VNetJack *this);
+ static int VNetBridgeIsBridged(VNetJack *this);
+-static int VNetBridgeProcRead(char *page, char **start, off_t off,
+- int count, int *eof, void *data);
+ static void VNetBridgeComputeHeaderPosIPv6(struct sk_buff *skb);
+ static PacketStatus VNetCallSMACFunc(struct SMACState *state,
+ struct sk_buff **skb, void *startOfData,
+@@ -225,6 +223,53 @@ VNetBridgeDevCompatible(VNetBridge *bridge, // IN: Bridge
+ /*
+ *----------------------------------------------------------------------
+ *
++ * VNetBridgeProcShow --
++ *
++ * Callback for read operation on this bridge entry in vnets proc fs.
++ *
++ * Results:
++ * Length of read operation.
++ *
++ * Side effects:
++ * None.
++ *
++ *----------------------------------------------------------------------
++ */
++
++int
++VNetBridgeProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
++ void *data) // IN: client data - pointer to bridge
++{
++ VNetBridge *bridge = (VNetBridge*)data;
++
++ if (!bridge) {
++ return 0;
++ }
++
++ VNetPrintPort(&bridge->port, seqf);
++
++ seq_printf(seqf, "dev %s ", bridge->name);
++
++ seq_printf(seqf, "\n");
++
++ return 0;
++}
++
++static int proc_bridge_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, VNetBridgeProcShow, PDE_DATA(inode));
++}
++
++static const struct file_operations proc_bridge_fops = {
++ .open = proc_bridge_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = seq_release,
++};
++
++/*
++ *----------------------------------------------------------------------
++ *
+ * VNetBridge_Create --
+ *
+ * Creates a bridge. Allocates struct, allocates internal device,
+@@ -319,17 +364,14 @@ VNetBridge_Create(const char *devName, // IN: name of device (e.g., "eth0")
+ * Make proc entry for this jack.
+ */
+
+- retval = VNetProc_MakeEntry(bridge->port.jack.name, S_IFREG,
+- &bridge->port.jack.procEntry);
++ retval = VNetProc_MakeEntryOps(bridge->port.jack.name, S_IFREG,
++ &bridge->port.jack.procEntry, &proc_bridge_fops, bridge);
+ if (retval) {
+ if (retval == -ENXIO) {
+ bridge->port.jack.procEntry = NULL;
+ } else {
+ goto out;
+ }
+- } else {
+- bridge->port.jack.procEntry->read_proc = VNetBridgeProcRead;
+- bridge->port.jack.procEntry->data = bridge;
+ }
+
+ /*
+@@ -1719,45 +1761,3 @@ VNetBridgeReceiveFromDev(struct sk_buff *skb, // IN: packet to receive
+ return 0;
+ }
+
+-
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetBridgeProcRead --
+- *
+- * Callback for read operation on this bridge entry in vnets proc fs.
+- *
+- * Results:
+- * Length of read operation.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetBridgeProcRead(char *page, // IN/OUT: buffer to write into
+- char **start, // OUT: 0 if file < 4k, else offset into page
+- off_t off, // IN: (unused) offset of read into the file
+- int count, // IN: (unused) maximum number of bytes to read
+- int *eof, // OUT: TRUE if there is nothing more to read
+- void *data) // IN: client data - pointer to bridge
+-{
+- VNetBridge *bridge = (VNetBridge*)data;
+- int len = 0;
+-
+- if (!bridge) {
+- return len;
+- }
+-
+- len += VNetPrintPort(&bridge->port, page+len);
+-
+- len += sprintf(page+len, "dev %s ", bridge->name);
+-
+- len += sprintf(page+len, "\n");
+-
+- *start = 0;
+- *eof = 1;
+- return len;
+-}
+diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
+index b12b982..395f5ce 100644
+--- a/vmnet-only/driver.c
++++ b/vmnet-only/driver.c
+@@ -1775,21 +1775,17 @@ VNetSetMACUnique(VNetPort *port, // IN:
+ *----------------------------------------------------------------------
+ */
+
+-int
++void
+ VNetPrintJack(const VNetJack *jack, // IN: jack
+- char *buf) // OUT: info about jack
++ struct seq_file *seqf) // OUT: info about jack
+ {
+- int len = 0;
+-
+ read_lock(&vnetPeerLock);
+ if (!jack->peer) {
+- len += sprintf(buf+len, "connected not ");
++ seq_printf(seqf, "connected not ");
+ } else {
+- len += sprintf(buf+len, "connected %s ", jack->peer->name);
++ seq_printf(seqf, "connected %s ", jack->peer->name);
+ }
+ read_unlock(&vnetPeerLock);
+-
+- return len;
+ }
+
+
+@@ -1809,52 +1805,48 @@ VNetPrintJack(const VNetJack *jack, // IN: jack
+ *----------------------------------------------------------------------
+ */
+
+-int
++void
+ VNetPrintPort(const VNetPort *port, // IN: port
+- char *buf) // OUT: info about port
++ struct seq_file *seqf) // OUT: info about port
+ {
+- int len = 0;
++ VNetPrintJack(&port->jack, seqf);
+
+- len += VNetPrintJack(&port->jack, buf+len);
+-
+- len += sprintf(buf+len, "mac %02x:%02x:%02x:%02x:%02x:%02x ",
++ seq_printf(seqf, "mac %02x:%02x:%02x:%02x:%02x:%02x ",
+ port->paddr[0], port->paddr[1], port->paddr[2],
+ port->paddr[3], port->paddr[4], port->paddr[5]);
+
+- len += sprintf(buf+len, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ",
++ seq_printf(seqf, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ",
+ port->ladrf[0], port->ladrf[1], port->ladrf[2],
+ port->ladrf[3], port->ladrf[4], port->ladrf[5],
+ port->ladrf[6], port->ladrf[7]);
+
+- len += sprintf(buf+len, "flags IFF_RUNNING");
++ seq_printf(seqf, "flags IFF_RUNNING");
+
+ if (port->flags & IFF_UP) {
+- len += sprintf(buf+len, ",IFF_UP");
++ seq_printf(seqf, ",IFF_UP");
+ }
+
+ if (port->flags & IFF_BROADCAST) {
+- len += sprintf(buf+len, ",IFF_BROADCAST");
++ seq_printf(seqf, ",IFF_BROADCAST");
+ }
+
+ if (port->flags & IFF_DEBUG) {
+- len += sprintf(buf+len, ",IFF_DEBUG");
++ seq_printf(seqf, ",IFF_DEBUG");
+ }
+
+ if (port->flags & IFF_PROMISC) {
+- len += sprintf(buf+len, ",IFF_PROMISC");
++ seq_printf(seqf, ",IFF_PROMISC");
+ }
+
+ if (port->flags & IFF_MULTICAST) {
+- len += sprintf(buf+len, ",IFF_MULTICAST");
++ seq_printf(seqf, ",IFF_MULTICAST");
+ }
+
+ if (port->flags & IFF_ALLMULTI) {
+- len += sprintf(buf+len, ",IFF_ALLMULTI");
++ seq_printf(seqf, ",IFF_ALLMULTI");
+ }
+
+- len += sprintf(buf+len, " ");
+-
+- return len;
++ seq_printf(seqf, " ");
+ }
+
+
+diff --git a/vmnet-only/hub.c b/vmnet-only/hub.c
+index 47f04ac..8aafb95 100644
+--- a/vmnet-only/hub.c
++++ b/vmnet-only/hub.c
+@@ -25,6 +25,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #include
+ #include
+@@ -71,8 +72,6 @@ static void VNetHubReceive(VNetJack *this, struct sk_buff *skb);
+ static Bool VNetHubCycleDetect(VNetJack *this, int generation);
+ static void VNetHubPortsChanged(VNetJack *this);
+ static int VNetHubIsBridged(VNetJack *this);
+-static int VNetHubProcRead(char *page, char **start, off_t off,
+- int count, int *eof, void *data);
+
+ static VNetHub *vnetHub;
+ static DEFINE_SPINLOCK(vnetHubLock);
+@@ -241,6 +240,53 @@ VNetHub_AllocPvn(uint8 id[]) // IN: the PVN ID to alloc on
+ /*
+ *----------------------------------------------------------------------
+ *
++ * VNetHubProcShow --
++ *
++ * Callback for read operation on hub entry in vnets proc fs.
++ *
++ * Results:
++ * Length of read operation.
++ *
++ * Side effects:
++ * None.
++ *
++ *----------------------------------------------------------------------
++ */
++
++int
++VNetHubProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
++ void *data) // IN: client data - not used
++{
++ VNetJack *jack = (VNetJack*)data;
++ VNetHub *hub;
++
++ if (!jack || !jack->private) {
++ return 0;
++ }
++ hub = (VNetHub*)jack->private;
++
++ VNetPrintJack(jack, seqf);
++
++ seq_printf(seqf, "tx %u ", hub->stats[jack->index].tx);
++ seq_printf(seqf, "\n");
++ return 0;
++}
++
++static int proc_hub_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, VNetHubProcShow, PDE_DATA(inode));
++}
++
++static const struct file_operations proc_hub_fops = {
++ .open = proc_hub_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = seq_release,
++};
++
++/*
++ *----------------------------------------------------------------------
++ *
+ * VNetHubAlloc --
+ *
+ * Allocate a jack on this hub.
+@@ -354,7 +400,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet
+ * Make proc entry for this jack.
+ */
+
+- retval = VNetProc_MakeEntry(jack->name, S_IFREG, &jack->procEntry);
++ retval = VNetProc_MakeEntryOps(jack->name, S_IFREG, &jack->procEntry, &proc_hub_fops, jack);
+ if (retval) {
+ if (retval == -ENXIO) {
+ jack->procEntry = NULL;
+@@ -362,9 +408,6 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet
+ hub->used[i] = FALSE;
+ return NULL;
+ }
+- } else {
+- jack->procEntry->read_proc = VNetHubProcRead;
+- jack->procEntry->data = jack;
+ }
+
+ /*
+@@ -686,46 +729,3 @@ VNetHubIsBridged(VNetJack *this)
+ }
+
+
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetHubProcRead --
+- *
+- * Callback for read operation on hub entry in vnets proc fs.
+- *
+- * Results:
+- * Length of read operation.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetHubProcRead(char *page, // IN/OUT: buffer to write into
+- char **start, // OUT: 0 if file < 4k, else offset into page
+- off_t off, // IN: offset of read into the file
+- int count, // IN: maximum number of bytes to read
+- int *eof, // OUT: TRUE if there is nothing more to read
+- void *data) // IN: client data - not used
+-{
+- VNetJack *jack = (VNetJack*)data;
+- VNetHub *hub;
+- int len = 0;
+-
+- if (!jack || !jack->private) {
+- return len;
+- }
+- hub = (VNetHub*)jack->private;
+-
+- len += VNetPrintJack(jack, page+len);
+-
+- len += sprintf(page+len, "tx %u ", hub->stats[jack->index].tx);
+-
+- len += sprintf(page+len, "\n");
+-
+- *start = 0;
+- *eof = 1;
+- return len;
+-}
+diff --git a/vmnet-only/netif.c b/vmnet-only/netif.c
+index 65f3cb9..b20f56a 100644
+--- a/vmnet-only/netif.c
++++ b/vmnet-only/netif.c
+@@ -63,8 +63,6 @@ static int VNetNetifStartXmit(struct sk_buff *skb, struct net_device *dev);
+ static struct net_device_stats *VNetNetifGetStats(struct net_device *dev);
+ static int VNetNetifSetMAC(struct net_device *dev, void *addr);
+ static void VNetNetifSetMulticast(struct net_device *dev);
+-static int VNetNetIfProcRead(char *page, char **start, off_t off,
+- int count, int *eof, void *data);
+
+ /*
+ *----------------------------------------------------------------------
+@@ -117,6 +115,53 @@ VNetNetIfSetup(struct net_device *dev) // IN:
+
+ }
+
++/*
++ *----------------------------------------------------------------------
++ *
++ * VNetNetIfProcShow --
++ *
++ * Callback for read operation on this netif entry in vnets proc fs.
++ *
++ * Results:
++ * Length of read operation.
++ *
++ * Side effects:
++ * None.
++ *
++ *----------------------------------------------------------------------
++ */
++
++int
++VNetNetIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
++ void *data) // IN: client data
++{
++ VNetNetIF *netIf = data;
++
++ if (!netIf) {
++ return 0;
++ }
++
++ VNetPrintPort(&netIf->port, seqf);
++
++ seq_printf(seqf, "dev %s ", netIf->dev->name);
++
++ seq_printf(seqf, "\n");
++
++ return 0;
++}
++
++static int proc_netif_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, VNetNetIfProcShow, PDE_DATA(inode));
++}
++
++static const struct file_operations proc_netif_fops = {
++ .open = proc_netif_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = seq_release,
++};
++
+
+ /*
+ *----------------------------------------------------------------------
+@@ -201,9 +246,9 @@ VNetNetIf_Create(char *devName, // IN:
+ /*
+ * Make proc entry for this jack.
+ */
+-
+- retval = VNetProc_MakeEntry(netIf->port.jack.name, S_IFREG,
+- &netIf->port.jack.procEntry);
++
++ retval = VNetProc_MakeEntryOps(netIf->port.jack.name, S_IFREG,
++ &netIf->port.jack.procEntry, &proc_netif_fops, netIf);
+ if (retval) {
+ if (retval == -ENXIO) {
+ netIf->port.jack.procEntry = NULL;
+@@ -211,9 +256,6 @@ VNetNetIf_Create(char *devName, // IN:
+ netIf->port.jack.procEntry = NULL;
+ goto out;
+ }
+- } else {
+- netIf->port.jack.procEntry->read_proc = VNetNetIfProcRead;
+- netIf->port.jack.procEntry->data = netIf;
+ }
+
+ /*
+@@ -591,45 +633,3 @@ VNetNetifGetStats(struct net_device *dev) // IN:
+ return &netIf->stats;
+ }
+
+-
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetNetIfProcRead --
+- *
+- * Callback for read operation on this netif entry in vnets proc fs.
+- *
+- * Results:
+- * Length of read operation.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetNetIfProcRead(char *page, // IN/OUT: buffer to write into
+- char **start, // OUT: 0 if file < 4k, else offset into page
+- off_t off, // IN: (unused) offset of read into the file
+- int count, // IN: (unused) maximum number of bytes to read
+- int *eof, // OUT: TRUE if there is nothing more to read
+- void *data) // IN: client data
+-{
+- VNetNetIF *netIf = (VNetNetIF*)data;
+- int len = 0;
+-
+- if (!netIf) {
+- return len;
+- }
+-
+- len += VNetPrintPort(&netIf->port, page+len);
+-
+- len += sprintf(page+len, "dev %s ", netIf->devName);
+-
+- len += sprintf(page+len, "\n");
+-
+- *start = 0;
+- *eof = 1;
+- return len;
+-}
+diff --git a/vmnet-only/procfs.c b/vmnet-only/procfs.c
+index ca42ee2..fd7921e 100644
+--- a/vmnet-only/procfs.c
++++ b/vmnet-only/procfs.c
+@@ -45,10 +45,6 @@
+
+ #if defined(CONFIG_PROC_FS)
+
+-static int VNetProcMakeEntryInt(VNetProcEntry *parent, char *name, int mode,
+- VNetProcEntry **ret);
+-static void VNetProcRemoveEntryInt(VNetProcEntry *node, VNetProcEntry *parent);
+-
+ static VNetProcEntry *base = NULL;
+
+
+@@ -71,7 +67,12 @@ static VNetProcEntry *base = NULL;
+ int
+ VNetProc_Init(void)
+ {
+- return VNetProcMakeEntryInt(NULL, "vmnet", S_IFDIR, &base);
++ base = proc_mkdir("vmnet", NULL);
++ if(IS_ERR(base)) {
++ base = NULL;
++ return PTR_ERR(base);
++ }
++ return 0;
+ }
+
+
+@@ -94,14 +95,14 @@ VNetProc_Init(void)
+ void
+ VNetProc_Cleanup(void)
+ {
+- VNetProcRemoveEntryInt(base, NULL);
++ proc_remove(base);
+ base = NULL;
+ }
+
+ /*
+ *----------------------------------------------------------------------
+ *
+- * VNetProcMakeEntryInt --
++ * VNetProc_MakeEntryOps --
+ *
+ * Make an entry in the vnets proc file system.
+ *
+@@ -116,72 +117,21 @@ VNetProc_Cleanup(void)
+ */
+
+ int
+-VNetProcMakeEntryInt(VNetProcEntry *parent, // IN:
+- char *name, // IN:
++VNetProc_MakeEntryOps(char *name, // IN:
+ int mode, // IN:
+- VNetProcEntry **ret) // OUT:
++ VNetProcEntry **ret,
++ const struct file_operations *fops,
++ void *data
++ ) // OUT:
+ {
+ VNetProcEntry *ent;
+- ent = create_proc_entry(name, mode, parent);
++ ent = proc_create_data(name, mode, base, fops, data);
+ *ret = ent;
+ if (!ent)
+ return -ENOMEM;
+ return 0;
+ }
+
+-
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetProcRemoveEntryInt --
+- *
+- * Remove a previously installed proc entry.
+- *
+- * Results:
+- * None.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-void
+-VNetProcRemoveEntryInt(VNetProcEntry *node,
+- VNetProcEntry *parent)
+-{
+- if (node) {
+- remove_proc_entry(node->name, parent);
+- }
+-}
+-
+-
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetProc_MakeEntry --
+- *
+- * Make an entry in the vnets proc file system.
+- *
+- * Results:
+- * errno. If errno is 0 and ret is non NULL then ret is filled
+- * in with the resulting proc entry.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetProc_MakeEntry(char *name, // IN:
+- int mode, // IN:
+- VNetProcEntry **ret) // OUT:
+-{
+- return VNetProcMakeEntryInt(base, name, mode, ret);
+-}
+-
+-
+ /*
+ *----------------------------------------------------------------------
+ *
+@@ -201,7 +151,8 @@ VNetProc_MakeEntry(char *name, // IN:
+ void
+ VNetProc_RemoveEntry(VNetProcEntry *node)
+ {
+- VNetProcRemoveEntryInt(node, base);
++ if(node)
++ proc_remove(node);
+ }
+
+
+@@ -253,31 +204,6 @@ VNetProc_Cleanup(void)
+ }
+
+
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetProc_MakeEntry --
+- *
+- * Make an entry in the vnets proc file system.
+- *
+- * Results:
+- * errno. If errno is 0 and ret is non NULL then ret is filled
+- * in with the resulting proc entry.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetProc_MakeEntry(char *name,
+- int mode,
+- VNetProcEntry **ret)
+-{
+- return -ENXIO;
+-}
+-
+
+ /*
+ *----------------------------------------------------------------------
+diff --git a/vmnet-only/userif.c b/vmnet-only/userif.c
+index 17b49e0..b01004a 100644
+--- a/vmnet-only/userif.c
++++ b/vmnet-only/userif.c
+@@ -387,7 +387,7 @@ VNetUserIfReceive(VNetJack *this, // IN
+ /*
+ *----------------------------------------------------------------------
+ *
+- * VNetUserIfProcRead --
++ * VNetUserIfProcShow --
+ *
+ * Callback for read operation on this userif entry in vnets proc fs.
+ *
+@@ -401,30 +401,23 @@ VNetUserIfReceive(VNetJack *this, // IN
+ */
+
+ static int
+-VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into
+- char **start, // OUT: 0 if file < 4k, else offset into
+- // page
+- off_t off, // IN: offset of read into the file
+- int count, // IN: maximum number of bytes to read
+- int *eof, // OUT: TRUE if there is nothing more to
+- // read
++VNetUserIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
+ void *data) // IN: client data - not used
+ {
+ VNetUserIF *userIf = (VNetUserIF*)data;
+- int len = 0;
+
+ if (!userIf) {
+- return len;
++ return 0;
+ }
+
+- len += VNetPrintPort(&userIf->port, page+len);
++ VNetPrintPort(&userIf->port, seqf);
+
+- len += sprintf(page+len, "read %u written %u queued %u ",
++ seq_printf(seqf, "read %u written %u queued %u ",
+ userIf->stats.read,
+ userIf->stats.written,
+ userIf->stats.queued);
+
+- len += sprintf(page+len,
++ seq_printf(seqf,
+ "dropped.down %u dropped.mismatch %u "
+ "dropped.overflow %u dropped.largePacket %u",
+ userIf->stats.droppedDown,
+@@ -432,13 +425,23 @@ VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into
+ userIf->stats.droppedOverflow,
+ userIf->stats.droppedLargePacket);
+
+- len += sprintf(page+len, "\n");
++ seq_printf(seqf, "\n");
+
+- *start = 0;
+- *eof = 1;
+- return len;
++ return 0;
++}
++
++static int proc_userif_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, VNetUserIfProcShow, PDE_DATA(inode));
+ }
+
++static const struct file_operations proc_userif_fops = {
++ .open = proc_userif_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = seq_release,
++};
++
+
+ /*
+ *----------------------------------------------------------------------
+@@ -1034,8 +1037,8 @@ VNetUserIf_Create(VNetPort **ret) // OUT
+ * Make proc entry for this jack.
+ */
+
+- retval = VNetProc_MakeEntry(userIf->port.jack.name, S_IFREG,
+- &userIf->port.jack.procEntry);
++ retval = VNetProc_MakeEntryOps(userIf->port.jack.name, S_IFREG,
++ &userIf->port.jack.procEntry, &proc_userif_fops, userIf);
+ if (retval) {
+ if (retval == -ENXIO) {
+ userIf->port.jack.procEntry = NULL;
+@@ -1043,9 +1046,6 @@ VNetUserIf_Create(VNetPort **ret) // OUT
+ kfree(userIf);
+ return retval;
+ }
+- } else {
+- userIf->port.jack.procEntry->read_proc = VNetUserIfProcRead;
+- userIf->port.jack.procEntry->data = userIf;
+ }
+
+ /*
+diff --git a/vmnet-only/vnetInt.h b/vmnet-only/vnetInt.h
+index c615395..d90a1ef 100644
+--- a/vmnet-only/vnetInt.h
++++ b/vmnet-only/vnetInt.h
+@@ -171,12 +171,14 @@ VNetJack *VNetDisconnect(VNetJack *jack);
+
+ void VNetSend(const VNetJack *jack, struct sk_buff *skb);
+
+-int VNetProc_MakeEntry(char *name, int mode,
+- VNetProcEntry **ret);
++int VNetProc_MakeEntryOps(char *name, int mode,
++ VNetProcEntry **ret,
++ const struct file_operations *fops,
++ void *data);
+
+ void VNetProc_RemoveEntry(VNetProcEntry *node);
+
+-int VNetPrintJack(const VNetJack *jack, char *buf);
++void VNetPrintJack(const VNetJack *jack, struct seq_file *seqf);
+
+ int VNet_MakeMACAddress(VNetPort *port);
+
+@@ -196,7 +198,7 @@ Bool VNetPacketMatch(const uint8 *destAddr, const uint8 *ifAddr,
+
+ Bool VNetCycleDetectIf(const char *name, int generation);
+
+-int VNetPrintPort(const VNetPort *port, char *buf);
++void VNetPrintPort(const VNetPort *port, struct seq_file *seqf);
+
+ int VNetSnprintf(char *str, size_t size, const char *format, ...);
+
diff --git a/app-emulation/vmware-modules/files/271-3.10.0.patch b/app-emulation/vmware-modules/files/271-3.10.0.patch
new file mode 100644
index 000000000000..7795b18f5d7e
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.10.0.patch
@@ -0,0 +1,809 @@
+--- a/vmnet-only/bridge.c
++++ b/vmnet-only/bridge.c
+@@ -105,8 +105,6 @@ static Bool VNetBridgeCycleDetect(VNetJack *this, int generation);
+ static Bool VNetBridgeIsDeviceWireless(struct net_device *dev);
+ static void VNetBridgePortsChanged(VNetJack *this);
+ static int VNetBridgeIsBridged(VNetJack *this);
+-static int VNetBridgeProcRead(char *page, char **start, off_t off,
+- int count, int *eof, void *data);
+ static void VNetBridgeComputeHeaderPosIPv6(struct sk_buff *skb);
+ static PacketStatus VNetCallSMACFunc(struct SMACState *state,
+ struct sk_buff **skb, void *startOfData,
+@@ -225,6 +223,53 @@ VNetBridgeDevCompatible(VNetBridge *bridge, // IN: Bridge
+ /*
+ *----------------------------------------------------------------------
+ *
++ * VNetBridgeProcShow --
++ *
++ * Callback for read operation on this bridge entry in vnets proc fs.
++ *
++ * Results:
++ * Length of read operation.
++ *
++ * Side effects:
++ * None.
++ *
++ *----------------------------------------------------------------------
++ */
++
++int
++VNetBridgeProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
++ void *data) // IN: client data - pointer to bridge
++{
++ VNetBridge *bridge = (VNetBridge*)data;
++
++ if (!bridge) {
++ return 0;
++ }
++
++ VNetPrintPort(&bridge->port, seqf);
++
++ seq_printf(seqf, "dev %s ", bridge->name);
++
++ seq_printf(seqf, "\n");
++
++ return 0;
++}
++
++static int proc_bridge_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, VNetBridgeProcShow, PDE_DATA(inode));
++}
++
++static const struct file_operations proc_bridge_fops = {
++ .open = proc_bridge_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = seq_release,
++};
++
++/*
++ *----------------------------------------------------------------------
++ *
+ * VNetBridge_Create --
+ *
+ * Creates a bridge. Allocates struct, allocates internal device,
+@@ -319,17 +364,14 @@ VNetBridge_Create(const char *devName, // IN: name of device (e.g., "eth0")
+ * Make proc entry for this jack.
+ */
+
+- retval = VNetProc_MakeEntry(bridge->port.jack.name, S_IFREG,
+- &bridge->port.jack.procEntry);
++ retval = VNetProc_MakeEntryOps(bridge->port.jack.name, S_IFREG,
++ &bridge->port.jack.procEntry, &proc_bridge_fops, bridge);
+ if (retval) {
+ if (retval == -ENXIO) {
+ bridge->port.jack.procEntry = NULL;
+ } else {
+ goto out;
+ }
+- } else {
+- bridge->port.jack.procEntry->read_proc = VNetBridgeProcRead;
+- bridge->port.jack.procEntry->data = bridge;
+ }
+
+ /*
+@@ -1719,45 +1761,3 @@ VNetBridgeReceiveFromDev(struct sk_buff *skb, // IN: packet to receive
+ return 0;
+ }
+
+-
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetBridgeProcRead --
+- *
+- * Callback for read operation on this bridge entry in vnets proc fs.
+- *
+- * Results:
+- * Length of read operation.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetBridgeProcRead(char *page, // IN/OUT: buffer to write into
+- char **start, // OUT: 0 if file < 4k, else offset into page
+- off_t off, // IN: (unused) offset of read into the file
+- int count, // IN: (unused) maximum number of bytes to read
+- int *eof, // OUT: TRUE if there is nothing more to read
+- void *data) // IN: client data - pointer to bridge
+-{
+- VNetBridge *bridge = (VNetBridge*)data;
+- int len = 0;
+-
+- if (!bridge) {
+- return len;
+- }
+-
+- len += VNetPrintPort(&bridge->port, page+len);
+-
+- len += sprintf(page+len, "dev %s ", bridge->name);
+-
+- len += sprintf(page+len, "\n");
+-
+- *start = 0;
+- *eof = 1;
+- return len;
+-}
+--- a/vmnet-only/driver.c
++++ b/vmnet-only/driver.c
+@@ -1785,21 +1785,17 @@ VNetSetMACUnique(VNetPort *port, // IN:
+ *----------------------------------------------------------------------
+ */
+
+-int
++void
+ VNetPrintJack(const VNetJack *jack, // IN: jack
+- char *buf) // OUT: info about jack
++ struct seq_file *seqf) // OUT: info about jack
+ {
+- int len = 0;
+-
+ read_lock(&vnetPeerLock);
+ if (!jack->peer) {
+- len += sprintf(buf+len, "connected not ");
++ seq_printf(seqf, "connected not ");
+ } else {
+- len += sprintf(buf+len, "connected %s ", jack->peer->name);
++ seq_printf(seqf, "connected %s ", jack->peer->name);
+ }
+ read_unlock(&vnetPeerLock);
+-
+- return len;
+ }
+
+
+@@ -1819,52 +1815,48 @@ VNetPrintJack(const VNetJack *jack, // IN: jack
+ *----------------------------------------------------------------------
+ */
+
+-int
++void
+ VNetPrintPort(const VNetPort *port, // IN: port
+- char *buf) // OUT: info about port
++ struct seq_file *seqf) // OUT: info about port
+ {
+- int len = 0;
++ VNetPrintJack(&port->jack, seqf);
+
+- len += VNetPrintJack(&port->jack, buf+len);
+-
+- len += sprintf(buf+len, "mac %02x:%02x:%02x:%02x:%02x:%02x ",
++ seq_printf(seqf, "mac %02x:%02x:%02x:%02x:%02x:%02x ",
+ port->paddr[0], port->paddr[1], port->paddr[2],
+ port->paddr[3], port->paddr[4], port->paddr[5]);
+
+- len += sprintf(buf+len, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ",
++ seq_printf(seqf, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ",
+ port->ladrf[0], port->ladrf[1], port->ladrf[2],
+ port->ladrf[3], port->ladrf[4], port->ladrf[5],
+ port->ladrf[6], port->ladrf[7]);
+
+- len += sprintf(buf+len, "flags IFF_RUNNING");
++ seq_printf(seqf, "flags IFF_RUNNING");
+
+ if (port->flags & IFF_UP) {
+- len += sprintf(buf+len, ",IFF_UP");
++ seq_printf(seqf, ",IFF_UP");
+ }
+
+ if (port->flags & IFF_BROADCAST) {
+- len += sprintf(buf+len, ",IFF_BROADCAST");
++ seq_printf(seqf, ",IFF_BROADCAST");
+ }
+
+ if (port->flags & IFF_DEBUG) {
+- len += sprintf(buf+len, ",IFF_DEBUG");
++ seq_printf(seqf, ",IFF_DEBUG");
+ }
+
+ if (port->flags & IFF_PROMISC) {
+- len += sprintf(buf+len, ",IFF_PROMISC");
++ seq_printf(seqf, ",IFF_PROMISC");
+ }
+
+ if (port->flags & IFF_MULTICAST) {
+- len += sprintf(buf+len, ",IFF_MULTICAST");
++ seq_printf(seqf, ",IFF_MULTICAST");
+ }
+
+ if (port->flags & IFF_ALLMULTI) {
+- len += sprintf(buf+len, ",IFF_ALLMULTI");
++ seq_printf(seqf, ",IFF_ALLMULTI");
+ }
+
+- len += sprintf(buf+len, " ");
+-
+- return len;
++ seq_printf(seqf, " ");
+ }
+
+
+--- a/vmnet-only/hub.c
++++ b/vmnet-only/hub.c
+@@ -25,6 +25,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #include
+ #include
+@@ -71,8 +72,6 @@ static void VNetHubReceive(VNetJack *this, struct sk_buff *skb);
+ static Bool VNetHubCycleDetect(VNetJack *this, int generation);
+ static void VNetHubPortsChanged(VNetJack *this);
+ static int VNetHubIsBridged(VNetJack *this);
+-static int VNetHubProcRead(char *page, char **start, off_t off,
+- int count, int *eof, void *data);
+
+ static VNetHub *vnetHub;
+ static DEFINE_SPINLOCK(vnetHubLock);
+@@ -241,6 +240,53 @@ VNetHub_AllocPvn(uint8 id[]) // IN: the PVN ID to alloc on
+ /*
+ *----------------------------------------------------------------------
+ *
++ * VNetHubProcShow --
++ *
++ * Callback for read operation on hub entry in vnets proc fs.
++ *
++ * Results:
++ * Length of read operation.
++ *
++ * Side effects:
++ * None.
++ *
++ *----------------------------------------------------------------------
++ */
++
++int
++VNetHubProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
++ void *data) // IN: client data - not used
++{
++ VNetJack *jack = (VNetJack*)data;
++ VNetHub *hub;
++
++ if (!jack || !jack->private) {
++ return 0;
++ }
++ hub = (VNetHub*)jack->private;
++
++ VNetPrintJack(jack, seqf);
++
++ seq_printf(seqf, "tx %u ", hub->stats[jack->index].tx);
++ seq_printf(seqf, "\n");
++ return 0;
++}
++
++static int proc_hub_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, VNetHubProcShow, PDE_DATA(inode));
++}
++
++static const struct file_operations proc_hub_fops = {
++ .open = proc_hub_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = seq_release,
++};
++
++/*
++ *----------------------------------------------------------------------
++ *
+ * VNetHubAlloc --
+ *
+ * Allocate a jack on this hub.
+@@ -354,7 +400,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet
+ * Make proc entry for this jack.
+ */
+
+- retval = VNetProc_MakeEntry(jack->name, S_IFREG, &jack->procEntry);
++ retval = VNetProc_MakeEntryOps(jack->name, S_IFREG, &jack->procEntry, &proc_hub_fops, jack);
+ if (retval) {
+ if (retval == -ENXIO) {
+ jack->procEntry = NULL;
+@@ -362,9 +408,6 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet
+ hub->used[i] = FALSE;
+ return NULL;
+ }
+- } else {
+- jack->procEntry->read_proc = VNetHubProcRead;
+- jack->procEntry->data = jack;
+ }
+
+ /*
+@@ -686,46 +729,3 @@ VNetHubIsBridged(VNetJack *this)
+ }
+
+
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetHubProcRead --
+- *
+- * Callback for read operation on hub entry in vnets proc fs.
+- *
+- * Results:
+- * Length of read operation.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetHubProcRead(char *page, // IN/OUT: buffer to write into
+- char **start, // OUT: 0 if file < 4k, else offset into page
+- off_t off, // IN: offset of read into the file
+- int count, // IN: maximum number of bytes to read
+- int *eof, // OUT: TRUE if there is nothing more to read
+- void *data) // IN: client data - not used
+-{
+- VNetJack *jack = (VNetJack*)data;
+- VNetHub *hub;
+- int len = 0;
+-
+- if (!jack || !jack->private) {
+- return len;
+- }
+- hub = (VNetHub*)jack->private;
+-
+- len += VNetPrintJack(jack, page+len);
+-
+- len += sprintf(page+len, "tx %u ", hub->stats[jack->index].tx);
+-
+- len += sprintf(page+len, "\n");
+-
+- *start = 0;
+- *eof = 1;
+- return len;
+-}
+--- a/vmnet-only/netif.c
++++ b/vmnet-only/netif.c
+@@ -62,8 +62,6 @@ static int VNetNetifStartXmit(struct sk_buff *skb, struct net_device *dev);
+ static struct net_device_stats *VNetNetifGetStats(struct net_device *dev);
+ static int VNetNetifSetMAC(struct net_device *dev, void *addr);
+ static void VNetNetifSetMulticast(struct net_device *dev);
+-static int VNetNetIfProcRead(char *page, char **start, off_t off,
+- int count, int *eof, void *data);
+
+ /*
+ *----------------------------------------------------------------------
+@@ -116,6 +114,53 @@ VNetNetIfSetup(struct net_device *dev) // IN:
+
+ }
+
++/*
++ *----------------------------------------------------------------------
++ *
++ * VNetNetIfProcShow --
++ *
++ * Callback for read operation on this netif entry in vnets proc fs.
++ *
++ * Results:
++ * Length of read operation.
++ *
++ * Side effects:
++ * None.
++ *
++ *----------------------------------------------------------------------
++ */
++
++int
++VNetNetIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
++ void *data) // IN: client data
++{
++ VNetNetIF *netIf = data;
++
++ if (!netIf) {
++ return 0;
++ }
++
++ VNetPrintPort(&netIf->port, seqf);
++
++ seq_printf(seqf, "dev %s ", netIf->dev->name);
++
++ seq_printf(seqf, "\n");
++
++ return 0;
++}
++
++static int proc_netif_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, VNetNetIfProcShow, PDE_DATA(inode));
++}
++
++static const struct file_operations proc_netif_fops = {
++ .open = proc_netif_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = seq_release,
++};
++
+
+ /*
+ *----------------------------------------------------------------------
+@@ -180,16 +225,13 @@ VNetNetIf_Create(char *devName, // IN:
+ * Make proc entry for this jack.
+ */
+
+- retval = VNetProc_MakeEntry(netIf->port.jack.name, S_IFREG,
+- &netIf->port.jack.procEntry);
++ retval = VNetProc_MakeEntryOps(netIf->port.jack.name, S_IFREG,
++ &netIf->port.jack.procEntry, &proc_netif_fops, netIf);
+ if (retval) {
+ netIf->port.jack.procEntry = NULL;
+ if (retval != -ENXIO) {
+ goto outFreeDev;
+ }
+- } else {
+- netIf->port.jack.procEntry->read_proc = VNetNetIfProcRead;
+- netIf->port.jack.procEntry->data = netIf;
+ }
+
+ /*
+@@ -553,45 +595,3 @@ VNetNetifGetStats(struct net_device *dev) // IN:
+ return &netIf->stats;
+ }
+
+-
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetNetIfProcRead --
+- *
+- * Callback for read operation on this netif entry in vnets proc fs.
+- *
+- * Results:
+- * Length of read operation.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetNetIfProcRead(char *page, // IN/OUT: buffer to write into
+- char **start, // OUT: 0 if file < 4k, else offset into page
+- off_t off, // IN: (unused) offset of read into the file
+- int count, // IN: (unused) maximum number of bytes to read
+- int *eof, // OUT: TRUE if there is nothing more to read
+- void *data) // IN: client data
+-{
+- VNetNetIF *netIf = data;
+- int len = 0;
+-
+- if (!netIf) {
+- return len;
+- }
+-
+- len += VNetPrintPort(&netIf->port, page+len);
+-
+- len += sprintf(page+len, "dev %s ", netIf->dev->name);
+-
+- len += sprintf(page+len, "\n");
+-
+- *start = 0;
+- *eof = 1;
+- return len;
+-}
+--- a/vmnet-only/procfs.c
++++ b/vmnet-only/procfs.c
+@@ -45,10 +45,6 @@
+
+ #if defined(CONFIG_PROC_FS)
+
+-static int VNetProcMakeEntryInt(VNetProcEntry *parent, char *name, int mode,
+- VNetProcEntry **ret);
+-static void VNetProcRemoveEntryInt(VNetProcEntry *node, VNetProcEntry *parent);
+-
+ static VNetProcEntry *base = NULL;
+
+
+@@ -71,7 +67,12 @@ static VNetProcEntry *base = NULL;
+ int
+ VNetProc_Init(void)
+ {
+- return VNetProcMakeEntryInt(NULL, "vmnet", S_IFDIR, &base);
++ base = proc_mkdir("vmnet", NULL);
++ if(IS_ERR(base)) {
++ base = NULL;
++ return PTR_ERR(base);
++ }
++ return 0;
+ }
+
+
+@@ -94,14 +95,14 @@ VNetProc_Init(void)
+ void
+ VNetProc_Cleanup(void)
+ {
+- VNetProcRemoveEntryInt(base, NULL);
++ proc_remove(base);
+ base = NULL;
+ }
+
+ /*
+ *----------------------------------------------------------------------
+ *
+- * VNetProcMakeEntryInt --
++ * VNetProc_MakeEntryOps --
+ *
+ * Make an entry in the vnets proc file system.
+ *
+@@ -116,72 +117,21 @@ VNetProc_Cleanup(void)
+ */
+
+ int
+-VNetProcMakeEntryInt(VNetProcEntry *parent, // IN:
+- char *name, // IN:
++VNetProc_MakeEntryOps(char *name, // IN:
+ int mode, // IN:
+- VNetProcEntry **ret) // OUT:
++ VNetProcEntry **ret,
++ const struct file_operations *fops,
++ void *data
++ ) // OUT:
+ {
+ VNetProcEntry *ent;
+- ent = create_proc_entry(name, mode, parent);
++ ent = proc_create_data(name, mode, base, fops, data);
+ *ret = ent;
+ if (!ent)
+ return -ENOMEM;
+ return 0;
+ }
+
+-
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetProcRemoveEntryInt --
+- *
+- * Remove a previously installed proc entry.
+- *
+- * Results:
+- * None.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-void
+-VNetProcRemoveEntryInt(VNetProcEntry *node,
+- VNetProcEntry *parent)
+-{
+- if (node) {
+- remove_proc_entry(node->name, parent);
+- }
+-}
+-
+-
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetProc_MakeEntry --
+- *
+- * Make an entry in the vnets proc file system.
+- *
+- * Results:
+- * errno. If errno is 0 and ret is non NULL then ret is filled
+- * in with the resulting proc entry.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetProc_MakeEntry(char *name, // IN:
+- int mode, // IN:
+- VNetProcEntry **ret) // OUT:
+-{
+- return VNetProcMakeEntryInt(base, name, mode, ret);
+-}
+-
+-
+ /*
+ *----------------------------------------------------------------------
+ *
+@@ -201,7 +151,8 @@ VNetProc_MakeEntry(char *name, // IN:
+ void
+ VNetProc_RemoveEntry(VNetProcEntry *node)
+ {
+- VNetProcRemoveEntryInt(node, base);
++ if(node)
++ proc_remove(node);
+ }
+
+
+@@ -253,31 +204,6 @@ VNetProc_Cleanup(void)
+ }
+
+
+-/*
+- *----------------------------------------------------------------------
+- *
+- * VNetProc_MakeEntry --
+- *
+- * Make an entry in the vnets proc file system.
+- *
+- * Results:
+- * errno. If errno is 0 and ret is non NULL then ret is filled
+- * in with the resulting proc entry.
+- *
+- * Side effects:
+- * None.
+- *
+- *----------------------------------------------------------------------
+- */
+-
+-int
+-VNetProc_MakeEntry(char *name,
+- int mode,
+- VNetProcEntry **ret)
+-{
+- return -ENXIO;
+-}
+-
+
+ /*
+ *----------------------------------------------------------------------
+--- a/vmnet-only/userif.c
++++ b/vmnet-only/userif.c
+@@ -389,7 +389,7 @@ VNetUserIfReceive(VNetJack *this, // IN
+ /*
+ *----------------------------------------------------------------------
+ *
+- * VNetUserIfProcRead --
++ * VNetUserIfProcShow --
+ *
+ * Callback for read operation on this userif entry in vnets proc fs.
+ *
+@@ -403,30 +403,23 @@ VNetUserIfReceive(VNetJack *this, // IN
+ */
+
+ static int
+-VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into
+- char **start, // OUT: 0 if file < 4k, else offset into
+- // page
+- off_t off, // IN: offset of read into the file
+- int count, // IN: maximum number of bytes to read
+- int *eof, // OUT: TRUE if there is nothing more to
+- // read
++VNetUserIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
+ void *data) // IN: client data - not used
+ {
+ VNetUserIF *userIf = (VNetUserIF*)data;
+- int len = 0;
+
+ if (!userIf) {
+- return len;
++ return 0;
+ }
+
+- len += VNetPrintPort(&userIf->port, page+len);
++ VNetPrintPort(&userIf->port, seqf);
+
+- len += sprintf(page+len, "read %u written %u queued %u ",
++ seq_printf(seqf, "read %u written %u queued %u ",
+ userIf->stats.read,
+ userIf->stats.written,
+ userIf->stats.queued);
+
+- len += sprintf(page+len,
++ seq_printf(seqf,
+ "dropped.down %u dropped.mismatch %u "
+ "dropped.overflow %u dropped.largePacket %u",
+ userIf->stats.droppedDown,
+@@ -434,13 +427,23 @@ VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into
+ userIf->stats.droppedOverflow,
+ userIf->stats.droppedLargePacket);
+
+- len += sprintf(page+len, "\n");
++ seq_printf(seqf, "\n");
+
+- *start = 0;
+- *eof = 1;
+- return len;
++ return 0;
++}
++
++static int proc_userif_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, VNetUserIfProcShow, PDE_DATA(inode));
+ }
+
++static const struct file_operations proc_userif_fops = {
++ .open = proc_userif_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = seq_release,
++};
++
+
+ /*
+ *----------------------------------------------------------------------
+@@ -1036,8 +1039,8 @@ VNetUserIf_Create(VNetPort **ret) // OUT
+ * Make proc entry for this jack.
+ */
+
+- retval = VNetProc_MakeEntry(userIf->port.jack.name, S_IFREG,
+- &userIf->port.jack.procEntry);
++ retval = VNetProc_MakeEntryOps(userIf->port.jack.name, S_IFREG,
++ &userIf->port.jack.procEntry, &proc_userif_fops, userIf);
+ if (retval) {
+ if (retval == -ENXIO) {
+ userIf->port.jack.procEntry = NULL;
+@@ -1045,9 +1048,6 @@ VNetUserIf_Create(VNetPort **ret) // OUT
+ kfree(userIf);
+ return retval;
+ }
+- } else {
+- userIf->port.jack.procEntry->read_proc = VNetUserIfProcRead;
+- userIf->port.jack.procEntry->data = userIf;
+ }
+
+ /*
+--- a/vmnet-only/vnetInt.h
++++ b/vmnet-only/vnetInt.h
+@@ -171,12 +171,14 @@ VNetJack *VNetDisconnect(VNetJack *jack);
+
+ void VNetSend(const VNetJack *jack, struct sk_buff *skb);
+
+-int VNetProc_MakeEntry(char *name, int mode,
+- VNetProcEntry **ret);
++int VNetProc_MakeEntryOps(char *name, int mode,
++ VNetProcEntry **ret,
++ const struct file_operations *fops,
++ void *data);
+
+ void VNetProc_RemoveEntry(VNetProcEntry *node);
+
+-int VNetPrintJack(const VNetJack *jack, char *buf);
++void VNetPrintJack(const VNetJack *jack, struct seq_file *seqf);
+
+ int VNet_MakeMACAddress(VNetPort *port);
+
+@@ -196,7 +198,7 @@ Bool VNetPacketMatch(const uint8 *destAddr, const uint8 *ifAddr,
+
+ Bool VNetCycleDetectIf(const char *name, int generation);
+
+-int VNetPrintPort(const VNetPort *port, char *buf);
++void VNetPrintPort(const VNetPort *port, struct seq_file *seqf);
+
+ int VNetSnprintf(char *str, size_t size, const char *format, ...);
+
+--
+--- a/vmblock-only/linux/control.c 2013-05-21 19:21:19.165750556 +0200
++++ b/vmblock-only/linux/control.c 2013-05-21 19:22:18.363747723 +0200
+@@ -208,9 +208,10 @@
+ VMBlockSetProcEntryOwner(controlProcMountpoint);
+
+ /* Create /proc/fs/vmblock/dev */
+- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
+- VMBLOCK_CONTROL_MODE,
+- controlProcDirEntry);
++ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
++ VMBLOCK_CONTROL_MODE,
++ controlProcDirEntry,
++ &ControlFileOps);
+ if (!controlProcEntry) {
+ Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
+ remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
+@@ -218,7 +219,6 @@
+ return -EINVAL;
+ }
+
+- controlProcEntry->proc_fops = &ControlFileOps;
+ return 0;
+ }
+
diff --git a/app-emulation/vmware-modules/vmware-modules-264.5.ebuild b/app-emulation/vmware-modules/vmware-modules-264.5.ebuild
index 74c92eebdd2d..b9a7cf4f3abc 100644
--- a/app-emulation/vmware-modules/vmware-modules-264.5.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-264.5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-264.5.ebuild,v 1.3 2013/06/23 13:13:19 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-264.5.ebuild,v 1.4 2013/08/11 17:24:06 dilfridge Exp $
EAPI="4"
@@ -67,6 +67,7 @@ src_prepare() {
epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch"
kernel_is ge 3 8 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.8.0.patch"
+ kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10.0.patch"
# Allow user patches so they can support RC kernels and whatever else
epatch_user
diff --git a/app-emulation/vmware-modules/vmware-modules-271.2.ebuild b/app-emulation/vmware-modules/vmware-modules-271.2.ebuild
index 025e86c1250b..a5fb320aadf6 100644
--- a/app-emulation/vmware-modules/vmware-modules-271.2.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-271.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-271.2.ebuild,v 1.2 2013/06/21 20:44:01 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-271.2.ebuild,v 1.3 2013/08/11 17:24:06 dilfridge Exp $
EAPI="4"
@@ -65,6 +65,7 @@ src_prepare() {
use pax_kernel && epatch "${FILESDIR}/hardened.patch"
epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch"
+ kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10.0.patch"
# Allow user patches so they can support RC kernels and whatever else
epatch_user
diff --git a/app-misc/booh/metadata.xml b/app-misc/booh/metadata.xml
index ed77b4f90bcb..efecebc7fc52 100644
--- a/app-misc/booh/metadata.xml
+++ b/app-misc/booh/metadata.xml
@@ -1,5 +1,6 @@
+ maintainer-needed@gentoo.org
ruby
diff --git a/app-misc/media-player-info/media-player-info-21.ebuild b/app-misc/media-player-info/media-player-info-21.ebuild
index a1c67c42c087..aa6297ab48d4 100644
--- a/app-misc/media-player-info/media-player-info-21.ebuild
+++ b/app-misc/media-player-info/media-player-info-21.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/media-player-info/media-player-info-21.ebuild,v 1.3 2013/08/09 19:10:26 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/media-player-info/media-player-info-21.ebuild,v 1.5 2013/08/11 19:00:21 ssuominen Exp $
EAPI=5
@@ -31,4 +31,9 @@ RESTRICT="binchecks strip"
pkg_postinst() {
# Run for /lib/udev/hwdb.d/20-usb-media-players.hwdb
udevadm hwdb --update --root="${ROOT%/}"
+ # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
+ if [[ ${ROOT} != "" ]] && [[ ${ROOT} != "/" ]]; then
+ return 0
+ fi
+ udevadm control --reload
}
diff --git a/app-office/lyx/lyx-2.0.6.ebuild b/app-office/lyx/lyx-2.0.6.ebuild
index 9ebd94a43d16..1cfe52ef2f75 100644
--- a/app-office/lyx/lyx-2.0.6.ebuild
+++ b/app-office/lyx/lyx-2.0.6.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/lyx/lyx-2.0.6.ebuild,v 1.10 2013/06/29 16:21:16 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/lyx/lyx-2.0.6.ebuild,v 1.11 2013/08/11 13:42:25 aballier Exp $
EAPI=3
@@ -129,7 +129,7 @@ src_install() {
# fix for bug 91108
if use latex ; then
- dosym ../../../lyx/tex /usr/share/texmf/tex/latex/lyx || die
+ dosym ../../../lyx/tex /usr/share/texmf-site/tex/latex/lyx || die
fi
# fonts needed for proper math display, see also bug #15629
diff --git a/app-office/rabbit/metadata.xml b/app-office/rabbit/metadata.xml
index 3ffb9ceb7f28..5bfe3f7a7463 100644
--- a/app-office/rabbit/metadata.xml
+++ b/app-office/rabbit/metadata.xml
@@ -1,6 +1,7 @@
+maintainer-needed@gentoo.org
ruby