From 2e682a999a5e658f676442c5a1f1ad0688af7709 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Fri, 15 Jul 2011 07:32:04 +0200 Subject: [PATCH] [entropy] add x86/amd64 entropy config files --- .../packages/packages.server.dep_blacklist | 12 ++ .../packages/packages.server.dep_rewrite | 130 ++++++++++++++++++ .../entropy/packages/packages.server.qa.exec | 83 +++++++++++ .../entropy/packages/packages.server.sets | 22 +++ 4 files changed, 247 insertions(+) create mode 100644 conf/intel/entropy/packages/packages.server.dep_blacklist create mode 100644 conf/intel/entropy/packages/packages.server.dep_rewrite create mode 100755 conf/intel/entropy/packages/packages.server.qa.exec create mode 100644 conf/intel/entropy/packages/packages.server.sets diff --git a/conf/intel/entropy/packages/packages.server.dep_blacklist b/conf/intel/entropy/packages/packages.server.dep_blacklist new file mode 100644 index 0000000..eae8f0f --- /dev/null +++ b/conf/intel/entropy/packages/packages.server.dep_blacklist @@ -0,0 +1,12 @@ +# Server side packages.server.dep_rewrite file (this has to stay in /etc/entropy/packages) +# Using this file, you can blacklist arbitrary broken dependencies +# detected by Entropy broken libraries QA routine. + +# LINE CONSTRUCTION: +# [ ...] +# pkg = package containing dependency to match +# blacklisted_dependency_n = blacklisted dependency string +# See examples below + +# EXAMPLES: +app-admin/anaconda x11-libs/libXmu:0 x11-libs/gtk+:2 x11-libs/gdk-pixbuf:2 x11-libs/libXrender:0 x11-libs/pixman:0 x11-libs/pango:0 media-libs/mesa:0 diff --git a/conf/intel/entropy/packages/packages.server.dep_rewrite b/conf/intel/entropy/packages/packages.server.dep_rewrite new file mode 100644 index 0000000..2c47d7c --- /dev/null +++ b/conf/intel/entropy/packages/packages.server.dep_rewrite @@ -0,0 +1,130 @@ +# Fix poppler dependencies, we provide our own split deps +media-gfx/pdf2svg (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-glib-\2 +kde-base/okular (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-qt4-\2 +media-gfx/inkscape (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-glib-\2 +gnustep-libs/popplerkit (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +app-text/texlive-core (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +media-gfx/gimp (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-glib-\2 +net-print/cups (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +app-text/calibre (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-qt4-\2 +app-text/dvipdfmx (.*)app-text/poppler-(\d.*)(\[.*\])? \1app-text/poppler-base-\2 +dev-tex/luatex (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +app-misc/beagle (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +app-misc/tracker (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-glib-\2 +app-office/krita (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-qt4-\2 +app-office/openoffice (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +app-text/evince (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-glib-\2 +kde-misc/tellico (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-qt4-\2 +app-text/epdfview (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-glib-\2 +app-text/xpdf (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +app-text/xournal (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-glib-\2 +media-gfx/keyjnote (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +dev-games/openscenegraph (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-glib\2 +xfce-extra/tumbler (.*)app-text/poppler-(.*)(\[.*\]) \1app-text/poppler-glib-\2 +app-office/texmaker (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\2 +app-editors/gummi (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-glib\2 + +app-office/libreoffice (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +app-office/impressive (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2 +dev-python/python-poppler (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-glib\2 +sci-libs/gdal (.*)app-text/poppler(.*) \1app-text/poppler-base\2 + +# Fix enigmail deps, to point to our split pinentry packages +x11-plugins/enigmail (.*)app-crypt/pinentry(.*)\[gtk\] \1app-crypt/pinentry-gtk2\2 +x11-plugins/enigmail (.*)app-crypt/pinentry(.*)\[qt4\] \1app-crypt/pinentry-qt4\2 + +# Fix virtualbox shitty dependencies +app-emulation/virtualbox-guest-additions#2.6.31-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.31-sabayon +app-emulation/virtualbox-guest-additions#2.6.32-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.32-sabayon +app-emulation/virtualbox-guest-additions#2.6.33-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.33-sabayon +app-emulation/virtualbox-guest-additions#2.6.34-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.34-sabayon +app-emulation/virtualbox-guest-additions#2.6.35-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.35-sabayon +app-emulation/virtualbox-guest-additions#2.6.36-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.36-sabayon +app-emulation/virtualbox-guest-additions#2.6.37-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.37-sabayon +app-emulation/virtualbox-guest-additions#2.6.38-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.38-sabayon +app-emulation/virtualbox-guest-additions#2.6.39-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.39-sabayon +app-emulation/virtualbox-guest-additions#2.6.40-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.40-sabayon +app-emulation/virtualbox-guest-additions#2.6.41-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.41-sabayon +app-emulation/virtualbox-guest-additions#2.6.42-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#2.6.42-sabayon + +# drop virtualbox-modules dep from virtualbox-bin +# 2011-02-08: DISABLED because vboxusers group is required but not created by virtualbox-bin +# app-emulation/virtualbox-bin (.*)app-emulation/virtualbox-modules-(.*) dev-libs/glib + +# Add conflict to net-im/ejabberd for ejabberd-babel +# net-im/ejabberd ++!net-im/ejabberd-babel<2> + +# Force netbeans-ide to use our split subversion-java package +dev-java/netbeans-ide (.*)dev-vcs/subversion(.*):0\[java\] \1dev-vcs/subversion-java\2:0 + +# Drop kde-l10n* deps +kde-misc/customizable-weather (.*)kde-base/kde-l10n(.*) +media-gfx/digikam (.*)kde-base/kde-l10n(.*) +dev-util/kdevelop (.*)kde-base/kde-l10n(.*) +dev-util/kdevplatform (.*)kde-base/kde-l10n(.*) +net-p2p/ktorrent (.*)kde-base/kde-l10n(.*) +kde-misc/konq-plugins (.*)kde-base/kde-l10n(.*) +net-wireless/bluedevil (.*)kde-base/kde-l10n(.*) +net-libs/libktorrent (.*)kde-base/kde-l10n(.*) +kde-misc/kcm-grub2 (.*)kde-base/kde-l10n(.*) +kde-misc/wacomtablet (.*)kde-base/kde-l10n(.*) +media-video/kaffeine (.*)kde-base/kde-l10n(.*) +kde-misc/krename (.*)kde-base/kde-l10n(.*) +kde-misc/tellico (.*)kde-base/kde-l10n(.*) +media-sound/kwave (.*)kde-base/kde-l10n(.*) +media-video/bangarang (.*)kde-base/kde-l10n(.*) +media-video/kdenlive (.*)kde-base/kde-l10n(.*) +kde-misc/kcm-gtk-config (.*)kde-base/kde-l10n(.*) +kde-misc/plasma-smoothtasks (.*)kde-base/kde-l10n(.*) +kde-misc/plasma-mpd-nowplayin (.*)kde-base/kde-l10n(.*) +kde-misc/wicd-client-kde (.*)kde-base/kde-l10n(.*) +media-video/2mandvd (.*)kde-base/kde-l10n(.*) +app-cdr/k9copy (.*)kde-base/kde-l10n(.*) +net-misc/smb4k (.*)kde-base/kde-l10n(.*) +kde-misc/synaptiks (.*)kde-base/kde-l10n(.*) +kde-base/kdepim-runtime (.*)kde-base/kde-l10n(.*) + +dev-util/kdevelop-php-docs (.*)kde-base/kde-l10n(.*) +games-board/knights (.*)kde-base/kde-l10n(.*) +kde-misc/kshutdown (.*)kde-base/kde-l10n(.*) +kde-misc/plasma-mpd-nowplaying (.*)kde-base/kde-l10n(.*) +media-sound/kid3 (.*)kde-base/kde-l10n(.*) +media-video/loopy (.*)kde-base/kde-l10n(.*) +x11-themes/nitrogen (.*)kde-base/kde-l10n(.*) + + +# net-dns/avahi dep rewrites +app-crypt/seahorse (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +app-emulation/libvirt (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +dev-db/desktopcouch (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +dev-python/kaa-base (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +gnome-base/gnome-vfs:2 (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +gnome-base/gvfs:0 (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +gnustep-base/gnustep-base (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +kde-base/kdelibs (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +kde-base/krdc (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-gfx/sane-backends (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-libs/libgphoto2 (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-plugins/gmpc-avahi (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-sound/ario (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-sound/mpd (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-sound/mt-daapd (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-sound/mumble (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-sound/pulseaudio (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-sound/xmms2 (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-video/vlc (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +media-tv/xbmc (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +net-fs/samba (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +net-im/pidgin (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +net-libs/obby (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +net-misc/networkmanager (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +net-misc/remmina (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +net-misc/vino (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +net-voip/ekiga (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +net-voip/telepathy-salut (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +sys-auth/nss-mdns (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +sys-fs/owfs (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +www-apache/mod_dnssd (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +www-client/epiphany (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +x11-misc/service-discovery-applet (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 +x11-misc/x11vnc (.*)net-dns/avahi(.*) \1net-dns/avahi-base\2 diff --git a/conf/intel/entropy/packages/packages.server.qa.exec b/conf/intel/entropy/packages/packages.server.qa.exec new file mode 100755 index 0000000..41a50e2 --- /dev/null +++ b/conf/intel/entropy/packages/packages.server.qa.exec @@ -0,0 +1,83 @@ +#!/bin/sh +# +# Entropy Server QA executable hook. +# This file doesn't strictly need to be a shell script, but just an executable +# file (r-xr-xr-x) and (mandatory) owned by root:root. +# Please rename this file by stripping the .example part +# +# It is used by Entropy Server QA routines to perform package metadata +# validation. +# Metadata is export in environmental variables form, and include: +# +# REPOSITORY_ID = repository identifier +# PKG_ID = package identifier +# PKG_ATOM = package atom +# PKG_NAME = package name +# PKG_VERSION = package version +# PKG_TAG = package version tag +# PKG_DESCRIPTION = package description +# PKG_CATEGORY = package category +# PKG_CHOST = package CHOST +# PKG_CFLAGS = package CFLAGS +# PKG_CXXFLAGS = package CXXFLAGS +# PKG_HOMEPAGE = package homepage +# PKG_LICENSE = package license +# PKG_BRANCH = package license +# PKG_DOWNLOAD = package relative download URL +# PKG_MD5 = package file md5 hash +# PKG_SLOT = package slot +# PKG_ETPAPI = package Entropy API +# PKG_DATE = package creation date (in unix time) +# PKG_SIZE = package size, in bytes +# PKG_REVISION = package entropy revision +# PKG_DEPS = list (\n separated) of package dependencies and conflicts +# PKG_NEEDED_LIBS = list (\n separated) of SONAMES required by package, +# including ELF class, so each item will look like this: +# | +# PKG_PROVIDED_LIBS = list (\n separated) of SONAMES provided by package, +# note: elf class and path are also provided, +# so each item will look like this: +# || +# PKG_CONTENT = list (\n separated) of package files and dirs owned by package +# +# The executable must return 0 for success, 1 for warning, 2 for critical error + +EXIT_STATUS=0 + +function dep_getkey() { + echo -n $(python -c "import sys, entropy.dep; sys.stdout.write(entropy.dep.dep_getkey(\"${1}\"))") +} + +function check_unwanted_deps() { + # Check against forbidden dependencies, those we consider meta packages, placeholders + # just to keep Gentoo compatibility, which, if listed as dep in, would cause the + # whole world to be pulled in. + local unwanted_deps="app-admin/packagekit + app-text/poppler + kde-base/kde-l10n + net-dns/avahi + net-p2p/transmission" + + for dep in ${PKG_DEPS}; do + # here we have plain deps, not conditional + for unwanted_dep in ${unwanted_deps}; do + dep_key=$(dep_getkey "${dep}") + if [ "${unwanted_dep}" = "${dep_key}" ]; then + echo + echo "ATTENTION ATTENTION ATTENTION" + echo "${PKG_ATOM} contains forbidden dependency against ${dep}" + echo "ATTENTION ATTENTION ATTENTION" + echo + EXIT_STATUS=1 + fi + done + done +} + +# +# Main execution +# + +check_unwanted_deps + +exit ${EXIT_STATUS} diff --git a/conf/intel/entropy/packages/packages.server.sets b/conf/intel/entropy/packages/packages.server.sets new file mode 100644 index 0000000..5634fd9 --- /dev/null +++ b/conf/intel/entropy/packages/packages.server.sets @@ -0,0 +1,22 @@ +# List here Entropy Server package sets, organized per repository, that you +# want to guarantee the availability. This list will be used inside Entropy +# Server repository QA routines to ensure that vital package sets will be +# removed and the action go unnoticed. + +# LINE CONSTRUCTION: +# [ ...] +# See examples below, multiple repository lines are also accepted, +# data will be concatenated. + +# EXAMPLES: +# sabayon-limbo entropy kde music +# sabayon-limbo gnome + +# Hardware +sabayonlinux.org wireless +# Package management +sabayonlinux.org entropy packagekit +# Sabayon stuff +sabayonlinux.org sabayon-artwork +# Desktop environments +sabayonlinux.org X e17 xfce lxde fluxbox gnome