[noarch] add noarch dir for files shared between arches
This commit is contained in:
parent
6b7002f9ae
commit
1b14567906
1
conf/armv7l/entropy/packages/packages.server.dep_blacklist
Symbolic link
1
conf/armv7l/entropy/packages/packages.server.dep_blacklist
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../noarch/entropy/packages.server.dep_blacklist
|
1
conf/armv7l/entropy/packages/packages.server.dep_rewrite
Symbolic link
1
conf/armv7l/entropy/packages/packages.server.dep_rewrite
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../noarch/entropy/packages.server.dep_rewrite
|
@ -1,146 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
#
|
|
||||||
# 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_KEYWORDS = package keywords, space separated
|
|
||||||
# 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:
|
|
||||||
# <soname>|<elfclass>
|
|
||||||
# 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:
|
|
||||||
# <soname>|<path of soname>|<elfclass>
|
|
||||||
#
|
|
||||||
# The executable must return 0 for success, 1 for warning, 2 for critical error
|
|
||||||
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
import entropy.dep
|
|
||||||
|
|
||||||
def write_attention_msg(msg):
|
|
||||||
sys.stderr.write("\nATTENTION ATTENTION ATTENTION\n")
|
|
||||||
sys.stderr.write(msg + "\n")
|
|
||||||
sys.stderr.write("ATTENTION ATTENTION ATTENTION\n\n")
|
|
||||||
|
|
||||||
def write_warning_msg(msg):
|
|
||||||
sys.stderr.write("\nWARNING WARNING WARNING\n")
|
|
||||||
sys.stderr.write(msg + "\n")
|
|
||||||
sys.stderr.write("\nWARNING WARNING WARNING\n")
|
|
||||||
|
|
||||||
def 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.
|
|
||||||
"""
|
|
||||||
pkg_deps = os.getenv("PKG_DEPS", "")
|
|
||||||
pkg_deps = pkg_deps.split()
|
|
||||||
if not pkg_deps:
|
|
||||||
return 0
|
|
||||||
|
|
||||||
pkg_atom = os.getenv("PKG_ATOM")
|
|
||||||
pkg_keywords = os.getenv("PKG_KEYWORDS")
|
|
||||||
|
|
||||||
unwanted_deps = ["app-admin/packagekit", "app-text/poppler",
|
|
||||||
"kde-base/kde-l10n", "net-dns/avahi", "net-p2p/transmission",
|
|
||||||
"app-crypt/pinentry"]
|
|
||||||
warning_deps = ["media-libs/libjpeg-turbo", "media-libs/jpeg",
|
|
||||||
"dev-lang/gnat-gcc"]
|
|
||||||
func_rc = 0
|
|
||||||
|
|
||||||
pkg_deps_map = dict((entropy.dep.dep_getkey(x), x) for x in pkg_deps if \
|
|
||||||
not x.startswith("!"))
|
|
||||||
for unwanted_dep in unwanted_deps:
|
|
||||||
if unwanted_dep in pkg_deps_map:
|
|
||||||
write_attention_msg(
|
|
||||||
"%s contains forbidden dependency against %s" % (
|
|
||||||
pkg_atom, pkg_deps_map[unwanted_dep]))
|
|
||||||
func_rc = 2
|
|
||||||
|
|
||||||
for warning_dep in warning_deps:
|
|
||||||
if warning_dep in pkg_deps_map:
|
|
||||||
write_attention_msg(
|
|
||||||
"%s contains a weirdo dependency against %s" % (
|
|
||||||
pkg_atom, pkg_deps_map[warning_dep]))
|
|
||||||
if func_rc == 0:
|
|
||||||
func_rc = 1
|
|
||||||
|
|
||||||
if pkg_keywords is not None:
|
|
||||||
keywords = pkg_keywords.split()
|
|
||||||
if not keywords or ("**" in keywords and len(keywords) == 1):
|
|
||||||
write_attention_msg("%s is masked by default, keywords: %s" % (
|
|
||||||
pkg_atom, pkg_keywords))
|
|
||||||
if func_rc == 0:
|
|
||||||
func_rc = 1
|
|
||||||
|
|
||||||
return func_rc
|
|
||||||
|
|
||||||
def warn_perl5_bump():
|
|
||||||
"""
|
|
||||||
Warn in case of bumping dev-lang/perl. Developer should not
|
|
||||||
forget about running perl-cleaner.
|
|
||||||
"""
|
|
||||||
pkg_key = "%s/%s" % (os.getenv("PKG_CATEGORY", ""),
|
|
||||||
os.getenv("PKG_NAME", ""))
|
|
||||||
pkg_version = os.getenv("PKG_VERSION", "")
|
|
||||||
|
|
||||||
if pkg_key == "dev-lang/perl" and pkg_version.startswith("5"):
|
|
||||||
perl_dir = "/usr/lib/perl5/vendor_perl"
|
|
||||||
try:
|
|
||||||
perl_versions = os.listdir(perl_dir)
|
|
||||||
except (OSError, IOError):
|
|
||||||
perl_versions = []
|
|
||||||
|
|
||||||
if len(perl_versions) > 1:
|
|
||||||
write_warning_msg(
|
|
||||||
"Adding dev-lang/perl but you forgot to run perl-cleaner?\n"
|
|
||||||
"These are the versions detected in %s:\n"
|
|
||||||
"%s" % (perl_dir, ", ".join(perl_versions)))
|
|
||||||
return 1
|
|
||||||
|
|
||||||
return 0
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
|
|
||||||
exit_st = 0
|
|
||||||
rc = check_unwanted_deps()
|
|
||||||
if rc != 0:
|
|
||||||
exit_st = rc
|
|
||||||
|
|
||||||
rc = warn_perl5_bump()
|
|
||||||
if rc != 0 and rc > exit_st:
|
|
||||||
exit_st = rc
|
|
||||||
|
|
||||||
# more tests here
|
|
||||||
|
|
||||||
raise SystemExit(exit_st)
|
|
1
conf/armv7l/entropy/packages/packages.server.qa.exec
Symbolic link
1
conf/armv7l/entropy/packages/packages.server.qa.exec
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../noarch/entropy/packages.server.qa.exec
|
@ -1,12 +0,0 @@
|
|||||||
# 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> <blacklisted_dependency_1> [<blacklisted_dependency_1> ...]
|
|
||||||
# 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
|
|
1
conf/intel/entropy/packages/packages.server.dep_blacklist
Symbolic link
1
conf/intel/entropy/packages/packages.server.dep_blacklist
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../noarch/entropy/packages.server.dep_blacklist
|
@ -1,183 +0,0 @@
|
|||||||
# 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(\[.*\]) app-text/poppler-glib
|
|
||||||
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/calligra (.*)app-text/poppler(.*) \1app-text/poppler-base\2
|
|
||||||
x11-misc/qcomicbook (.*)app-text/poppler(.*) \1app-text/poppler\2
|
|
||||||
app-office/texmakerx (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\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
|
|
||||||
dev-ruby/ruby-poppler (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-glib\2
|
|
||||||
www-apps/dotproject (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2
|
|
||||||
www-apps/swish-e (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2
|
|
||||||
app-text/apvlv (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-glib\2
|
|
||||||
app-text/diffpdf (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\2
|
|
||||||
app-text/pdf2djvu (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-base\2
|
|
||||||
app-text/pdf2oo (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-base\2
|
|
||||||
app-text/pdfgrep (.*)app-text/poppler(.*) \1app-text/poppler-base\2
|
|
||||||
app-text/zathura (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-glib\2
|
|
||||||
dev-tex/pstplus (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\2
|
|
||||||
app-text/kbibtex (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\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
|
|
||||||
mail-client/thunderbird (.*)app-crypt/pinentry(.*)\[gtk\] \1app-crypt/pinentry-gtk2\2
|
|
||||||
app-crypt/gnupg (.*)app-crypt/pinentry(.*) app-crypt/pinentry-base
|
|
||||||
mail-client/evolution (.*)app-crypt/pinentry(.*)(\[.*\]) \1app-crypt/pinentry-gtk2\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#3.0.0-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.0.0-sabayon
|
|
||||||
app-emulation/virtualbox-guest-additions#3.1.0-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.1.0-sabayon
|
|
||||||
app-emulation/virtualbox-guest-additions#3.2.0-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.2.0-sabayon
|
|
||||||
app-emulation/virtualbox-guest-additions#3.3.0-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.3.0-sabayon
|
|
||||||
# Fix virtualbox shitty dependencies, fusion sources
|
|
||||||
app-emulation/virtualbox-guest-additions#3.0.0-fusion (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.0.0-fusion
|
|
||||||
app-emulation/virtualbox-guest-additions#3.1.0-fusion (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.1.0-fusion
|
|
||||||
app-emulation/virtualbox-guest-additions#3.2.0-fusion (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.2.0-fusion
|
|
||||||
app-emulation/virtualbox-guest-additions#3.3.0-fusion (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.3.0-fusion
|
|
||||||
|
|
||||||
|
|
||||||
# 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(.*)
|
|
||||||
kde-misc/kgtk (.*)kde-base/kde-l10n(.*)
|
|
||||||
kde-misc/skanlite (.*)kde-base/kde-l10n(.*)
|
|
||||||
media-plugins/kipi-plugins (.*)kde-base/kde-l10n(.*)
|
|
||||||
kde-misc/krusader (.*)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(.*)
|
|
||||||
media-sound/amarok (.*)kde-base/kde-l10n(.*)
|
|
||||||
net-nntp/kwooty (.*)kde-base/kde-l10n(.*)
|
|
||||||
app-office/skrooge (.*)kde-base/kde-l10n(.*)
|
|
||||||
app-office/kmymoney (.*)kde-base/kde-l10n(.*)
|
|
||||||
kde-misc/kdesudo (.*)kde-base/kde-l10n(.*)
|
|
||||||
dev-vcs/kdesvn (.*)kde-base/kde-l10n(.*)
|
|
||||||
media-video/kplayer (.*)kde-base/kde-l10n(.*)
|
|
||||||
kde-misc/yawp (.*)kde-base/kde-l10n(.*)
|
|
||||||
app-cdr/k3b (.*)kde-base/kde-l10n(.*)
|
|
||||||
net-misc/knemo (.*)kde-base/kde-l10n(.*)
|
|
||||||
net-im/choqok (.*)kde-base/kde-l10n(.*)
|
|
||||||
media-video/kmplayer (.*)kde-base/kde-l10n(.*)
|
|
||||||
sci-calculators/keurocalc (.*)kde-base/kde-l10n(.*)
|
|
||||||
media-sound/kradio (.*)kde-base/kde-l10n(.*)
|
|
||||||
kde-misc/networkmanagement (.*)kde-base/kde-l10n(.*)
|
|
||||||
kde-misc/eventlist (.*)kde-base/kde-l10n(.*)
|
|
||||||
net-irc/konversation (.*)kde-base/kde-l10n(.*)
|
|
||||||
net-wireless/bluedevil (.*)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/libepc (.*)net-dns/avahi(.*)(\[.*\]) \1net-dns/avahi-gtk3\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
|
|
||||||
|
|
||||||
# Fix gtk-3 deps
|
|
||||||
media-video/kino (.*)x11-libs/gtk(.*) \1x11-libs/gtk\2:2
|
|
||||||
|
|
||||||
# gnome-session-3.0.2 should pull in notification-daemon or it won't start
|
|
||||||
>=gnome-base/gnome-session-3.0 ++>=x11-misc/notification-daemon-0.7.1<2>
|
|
||||||
|
|
||||||
# We provide media-video/libav and we want systems to have it pulled in
|
|
||||||
virtual/ffmpeg (.*)media-video/ffmpeg(.*) \1media-video/libav\2
|
|
1
conf/intel/entropy/packages/packages.server.dep_rewrite
Symbolic link
1
conf/intel/entropy/packages/packages.server.dep_rewrite
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../noarch/entropy/packages.server.dep_rewrite
|
@ -1,146 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
#
|
|
||||||
# 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_KEYWORDS = package keywords, space separated
|
|
||||||
# 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:
|
|
||||||
# <soname>|<elfclass>
|
|
||||||
# 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:
|
|
||||||
# <soname>|<path of soname>|<elfclass>
|
|
||||||
#
|
|
||||||
# The executable must return 0 for success, 1 for warning, 2 for critical error
|
|
||||||
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
import entropy.dep
|
|
||||||
|
|
||||||
def write_attention_msg(msg):
|
|
||||||
sys.stderr.write("\nATTENTION ATTENTION ATTENTION\n")
|
|
||||||
sys.stderr.write(msg + "\n")
|
|
||||||
sys.stderr.write("ATTENTION ATTENTION ATTENTION\n\n")
|
|
||||||
|
|
||||||
def write_warning_msg(msg):
|
|
||||||
sys.stderr.write("\nWARNING WARNING WARNING\n")
|
|
||||||
sys.stderr.write(msg + "\n")
|
|
||||||
sys.stderr.write("\nWARNING WARNING WARNING\n")
|
|
||||||
|
|
||||||
def 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.
|
|
||||||
"""
|
|
||||||
pkg_deps = os.getenv("PKG_DEPS", "")
|
|
||||||
pkg_deps = pkg_deps.split()
|
|
||||||
if not pkg_deps:
|
|
||||||
return 0
|
|
||||||
|
|
||||||
pkg_atom = os.getenv("PKG_ATOM")
|
|
||||||
pkg_keywords = os.getenv("PKG_KEYWORDS")
|
|
||||||
|
|
||||||
unwanted_deps = ["app-admin/packagekit", "app-text/poppler",
|
|
||||||
"kde-base/kde-l10n", "net-dns/avahi", "net-p2p/transmission",
|
|
||||||
"app-crypt/pinentry"]
|
|
||||||
warning_deps = ["media-libs/libjpeg-turbo", "media-libs/jpeg",
|
|
||||||
"dev-lang/gnat-gcc"]
|
|
||||||
func_rc = 0
|
|
||||||
|
|
||||||
pkg_deps_map = dict((entropy.dep.dep_getkey(x), x) for x in pkg_deps if \
|
|
||||||
not x.startswith("!"))
|
|
||||||
for unwanted_dep in unwanted_deps:
|
|
||||||
if unwanted_dep in pkg_deps_map:
|
|
||||||
write_attention_msg(
|
|
||||||
"%s contains forbidden dependency against %s" % (
|
|
||||||
pkg_atom, pkg_deps_map[unwanted_dep]))
|
|
||||||
func_rc = 2
|
|
||||||
|
|
||||||
for warning_dep in warning_deps:
|
|
||||||
if warning_dep in pkg_deps_map:
|
|
||||||
write_attention_msg(
|
|
||||||
"%s contains a weirdo dependency against %s" % (
|
|
||||||
pkg_atom, pkg_deps_map[warning_dep]))
|
|
||||||
if func_rc == 0:
|
|
||||||
func_rc = 1
|
|
||||||
|
|
||||||
if pkg_keywords is not None:
|
|
||||||
keywords = pkg_keywords.split()
|
|
||||||
if not keywords or ("**" in keywords and len(keywords) == 1):
|
|
||||||
write_attention_msg("%s is masked by default, keywords: %s" % (
|
|
||||||
pkg_atom, pkg_keywords))
|
|
||||||
if func_rc == 0:
|
|
||||||
func_rc = 1
|
|
||||||
|
|
||||||
return func_rc
|
|
||||||
|
|
||||||
def warn_perl5_bump():
|
|
||||||
"""
|
|
||||||
Warn in case of bumping dev-lang/perl. Developer should not
|
|
||||||
forget about running perl-cleaner.
|
|
||||||
"""
|
|
||||||
pkg_key = "%s/%s" % (os.getenv("PKG_CATEGORY", ""),
|
|
||||||
os.getenv("PKG_NAME", ""))
|
|
||||||
pkg_version = os.getenv("PKG_VERSION", "")
|
|
||||||
|
|
||||||
if pkg_key == "dev-lang/perl" and pkg_version.startswith("5"):
|
|
||||||
perl_dir = "/usr/lib/perl5/vendor_perl"
|
|
||||||
try:
|
|
||||||
perl_versions = os.listdir(perl_dir)
|
|
||||||
except (OSError, IOError):
|
|
||||||
perl_versions = []
|
|
||||||
|
|
||||||
if len(perl_versions) > 1:
|
|
||||||
write_warning_msg(
|
|
||||||
"Adding dev-lang/perl but you forgot to run perl-cleaner?\n"
|
|
||||||
"These are the versions detected in %s:\n"
|
|
||||||
"%s" % (perl_dir, ", ".join(perl_versions)))
|
|
||||||
return 1
|
|
||||||
|
|
||||||
return 0
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
|
|
||||||
exit_st = 0
|
|
||||||
rc = check_unwanted_deps()
|
|
||||||
if rc != 0:
|
|
||||||
exit_st = rc
|
|
||||||
|
|
||||||
rc = warn_perl5_bump()
|
|
||||||
if rc != 0 and rc > exit_st:
|
|
||||||
exit_st = rc
|
|
||||||
|
|
||||||
# more tests here
|
|
||||||
|
|
||||||
raise SystemExit(exit_st)
|
|
1
conf/intel/entropy/packages/packages.server.qa.exec
Symbolic link
1
conf/intel/entropy/packages/packages.server.qa.exec
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../noarch/entropy/packages.server.qa.exec
|
12
conf/noarch/entropy/packages.server.dep_blacklist
Normal file
12
conf/noarch/entropy/packages.server.dep_blacklist
Normal file
@ -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> <blacklisted_dependency_1> [<blacklisted_dependency_1> ...]
|
||||||
|
# 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
|
183
conf/noarch/entropy/packages.server.dep_rewrite
Normal file
183
conf/noarch/entropy/packages.server.dep_rewrite
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
# 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(\[.*\]) app-text/poppler-glib
|
||||||
|
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/calligra (.*)app-text/poppler(.*) \1app-text/poppler-base\2
|
||||||
|
x11-misc/qcomicbook (.*)app-text/poppler(.*) \1app-text/poppler\2
|
||||||
|
app-office/texmakerx (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\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
|
||||||
|
dev-ruby/ruby-poppler (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-glib\2
|
||||||
|
www-apps/dotproject (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2
|
||||||
|
www-apps/swish-e (.*)app-text/poppler-(.*)(\[.*\])? \1app-text/poppler-base-\2
|
||||||
|
app-text/apvlv (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-glib\2
|
||||||
|
app-text/diffpdf (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\2
|
||||||
|
app-text/pdf2djvu (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-base\2
|
||||||
|
app-text/pdf2oo (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-base\2
|
||||||
|
app-text/pdfgrep (.*)app-text/poppler(.*) \1app-text/poppler-base\2
|
||||||
|
app-text/zathura (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-glib\2
|
||||||
|
dev-tex/pstplus (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\2
|
||||||
|
app-text/kbibtex (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\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
|
||||||
|
mail-client/thunderbird (.*)app-crypt/pinentry(.*)\[gtk\] \1app-crypt/pinentry-gtk2\2
|
||||||
|
app-crypt/gnupg (.*)app-crypt/pinentry(.*) app-crypt/pinentry-base
|
||||||
|
mail-client/evolution (.*)app-crypt/pinentry(.*)(\[.*\]) \1app-crypt/pinentry-gtk2\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#3.0.0-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.0.0-sabayon
|
||||||
|
app-emulation/virtualbox-guest-additions#3.1.0-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.1.0-sabayon
|
||||||
|
app-emulation/virtualbox-guest-additions#3.2.0-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.2.0-sabayon
|
||||||
|
app-emulation/virtualbox-guest-additions#3.3.0-sabayon (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.3.0-sabayon
|
||||||
|
# Fix virtualbox shitty dependencies, fusion sources
|
||||||
|
app-emulation/virtualbox-guest-additions#3.0.0-fusion (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.0.0-fusion
|
||||||
|
app-emulation/virtualbox-guest-additions#3.1.0-fusion (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.1.0-fusion
|
||||||
|
app-emulation/virtualbox-guest-additions#3.2.0-fusion (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.2.0-fusion
|
||||||
|
app-emulation/virtualbox-guest-additions#3.3.0-fusion (.*)x11-drivers/xf86-video-virtualbox-(.*) \1x11-drivers/xf86-video-virtualbox-\2#3.3.0-fusion
|
||||||
|
|
||||||
|
|
||||||
|
# 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(.*)
|
||||||
|
kde-misc/kgtk (.*)kde-base/kde-l10n(.*)
|
||||||
|
kde-misc/skanlite (.*)kde-base/kde-l10n(.*)
|
||||||
|
media-plugins/kipi-plugins (.*)kde-base/kde-l10n(.*)
|
||||||
|
kde-misc/krusader (.*)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(.*)
|
||||||
|
media-sound/amarok (.*)kde-base/kde-l10n(.*)
|
||||||
|
net-nntp/kwooty (.*)kde-base/kde-l10n(.*)
|
||||||
|
app-office/skrooge (.*)kde-base/kde-l10n(.*)
|
||||||
|
app-office/kmymoney (.*)kde-base/kde-l10n(.*)
|
||||||
|
kde-misc/kdesudo (.*)kde-base/kde-l10n(.*)
|
||||||
|
dev-vcs/kdesvn (.*)kde-base/kde-l10n(.*)
|
||||||
|
media-video/kplayer (.*)kde-base/kde-l10n(.*)
|
||||||
|
kde-misc/yawp (.*)kde-base/kde-l10n(.*)
|
||||||
|
app-cdr/k3b (.*)kde-base/kde-l10n(.*)
|
||||||
|
net-misc/knemo (.*)kde-base/kde-l10n(.*)
|
||||||
|
net-im/choqok (.*)kde-base/kde-l10n(.*)
|
||||||
|
media-video/kmplayer (.*)kde-base/kde-l10n(.*)
|
||||||
|
sci-calculators/keurocalc (.*)kde-base/kde-l10n(.*)
|
||||||
|
media-sound/kradio (.*)kde-base/kde-l10n(.*)
|
||||||
|
kde-misc/networkmanagement (.*)kde-base/kde-l10n(.*)
|
||||||
|
kde-misc/eventlist (.*)kde-base/kde-l10n(.*)
|
||||||
|
net-irc/konversation (.*)kde-base/kde-l10n(.*)
|
||||||
|
net-wireless/bluedevil (.*)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/libepc (.*)net-dns/avahi(.*)(\[.*\]) \1net-dns/avahi-gtk3\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
|
||||||
|
|
||||||
|
# Fix gtk-3 deps
|
||||||
|
media-video/kino (.*)x11-libs/gtk(.*) \1x11-libs/gtk\2:2
|
||||||
|
|
||||||
|
# gnome-session-3.0.2 should pull in notification-daemon or it won't start
|
||||||
|
>=gnome-base/gnome-session-3.0 ++>=x11-misc/notification-daemon-0.7.1<2>
|
||||||
|
|
||||||
|
# We provide media-video/libav and we want systems to have it pulled in
|
||||||
|
virtual/ffmpeg (.*)media-video/ffmpeg(.*) \1media-video/libav\2
|
146
conf/noarch/entropy/packages.server.qa.exec
Executable file
146
conf/noarch/entropy/packages.server.qa.exec
Executable file
@ -0,0 +1,146 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# 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_KEYWORDS = package keywords, space separated
|
||||||
|
# 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:
|
||||||
|
# <soname>|<elfclass>
|
||||||
|
# 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:
|
||||||
|
# <soname>|<path of soname>|<elfclass>
|
||||||
|
#
|
||||||
|
# The executable must return 0 for success, 1 for warning, 2 for critical error
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import entropy.dep
|
||||||
|
|
||||||
|
def write_attention_msg(msg):
|
||||||
|
sys.stderr.write("\nATTENTION ATTENTION ATTENTION\n")
|
||||||
|
sys.stderr.write(msg + "\n")
|
||||||
|
sys.stderr.write("ATTENTION ATTENTION ATTENTION\n\n")
|
||||||
|
|
||||||
|
def write_warning_msg(msg):
|
||||||
|
sys.stderr.write("\nWARNING WARNING WARNING\n")
|
||||||
|
sys.stderr.write(msg + "\n")
|
||||||
|
sys.stderr.write("\nWARNING WARNING WARNING\n")
|
||||||
|
|
||||||
|
def 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.
|
||||||
|
"""
|
||||||
|
pkg_deps = os.getenv("PKG_DEPS", "")
|
||||||
|
pkg_deps = pkg_deps.split()
|
||||||
|
if not pkg_deps:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
pkg_atom = os.getenv("PKG_ATOM")
|
||||||
|
pkg_keywords = os.getenv("PKG_KEYWORDS")
|
||||||
|
|
||||||
|
unwanted_deps = ["app-admin/packagekit", "app-text/poppler",
|
||||||
|
"kde-base/kde-l10n", "net-dns/avahi", "net-p2p/transmission",
|
||||||
|
"app-crypt/pinentry"]
|
||||||
|
warning_deps = ["media-libs/libjpeg-turbo", "media-libs/jpeg",
|
||||||
|
"dev-lang/gnat-gcc"]
|
||||||
|
func_rc = 0
|
||||||
|
|
||||||
|
pkg_deps_map = dict((entropy.dep.dep_getkey(x), x) for x in pkg_deps if \
|
||||||
|
not x.startswith("!"))
|
||||||
|
for unwanted_dep in unwanted_deps:
|
||||||
|
if unwanted_dep in pkg_deps_map:
|
||||||
|
write_attention_msg(
|
||||||
|
"%s contains forbidden dependency against %s" % (
|
||||||
|
pkg_atom, pkg_deps_map[unwanted_dep]))
|
||||||
|
func_rc = 2
|
||||||
|
|
||||||
|
for warning_dep in warning_deps:
|
||||||
|
if warning_dep in pkg_deps_map:
|
||||||
|
write_attention_msg(
|
||||||
|
"%s contains a weirdo dependency against %s" % (
|
||||||
|
pkg_atom, pkg_deps_map[warning_dep]))
|
||||||
|
if func_rc == 0:
|
||||||
|
func_rc = 1
|
||||||
|
|
||||||
|
if pkg_keywords is not None:
|
||||||
|
keywords = pkg_keywords.split()
|
||||||
|
if not keywords or ("**" in keywords and len(keywords) == 1):
|
||||||
|
write_attention_msg("%s is masked by default, keywords: %s" % (
|
||||||
|
pkg_atom, pkg_keywords))
|
||||||
|
if func_rc == 0:
|
||||||
|
func_rc = 1
|
||||||
|
|
||||||
|
return func_rc
|
||||||
|
|
||||||
|
def warn_perl5_bump():
|
||||||
|
"""
|
||||||
|
Warn in case of bumping dev-lang/perl. Developer should not
|
||||||
|
forget about running perl-cleaner.
|
||||||
|
"""
|
||||||
|
pkg_key = "%s/%s" % (os.getenv("PKG_CATEGORY", ""),
|
||||||
|
os.getenv("PKG_NAME", ""))
|
||||||
|
pkg_version = os.getenv("PKG_VERSION", "")
|
||||||
|
|
||||||
|
if pkg_key == "dev-lang/perl" and pkg_version.startswith("5"):
|
||||||
|
perl_dir = "/usr/lib/perl5/vendor_perl"
|
||||||
|
try:
|
||||||
|
perl_versions = os.listdir(perl_dir)
|
||||||
|
except (OSError, IOError):
|
||||||
|
perl_versions = []
|
||||||
|
|
||||||
|
if len(perl_versions) > 1:
|
||||||
|
write_warning_msg(
|
||||||
|
"Adding dev-lang/perl but you forgot to run perl-cleaner?\n"
|
||||||
|
"These are the versions detected in %s:\n"
|
||||||
|
"%s" % (perl_dir, ", ".join(perl_versions)))
|
||||||
|
return 1
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
|
||||||
|
exit_st = 0
|
||||||
|
rc = check_unwanted_deps()
|
||||||
|
if rc != 0:
|
||||||
|
exit_st = rc
|
||||||
|
|
||||||
|
rc = warn_perl5_bump()
|
||||||
|
if rc != 0 and rc > exit_st:
|
||||||
|
exit_st = rc
|
||||||
|
|
||||||
|
# more tests here
|
||||||
|
|
||||||
|
raise SystemExit(exit_st)
|
Loading…
Reference in New Issue
Block a user