parent
da1c92ec53
commit
e336b3e477
@ -1,3 +1,2 @@
|
||||
DIST DenyHosts-2.6.tar.gz 42667 SHA256 5190ead13a7238e3ccf328cb3b71b16716e1c73939909a4f3fa6904ba58ddf7d SHA512 331144348d4930e2fa7a057a779bb7504dfa8ec348660e1a73fcd6a9195258408abb7c77de2bcc96724dfc42afbee918320eebfbc3b380d6ac4ff2d275e89600 WHIRLPOOL a414cd3013508876e63253ffc9c46d12179cca76249ee00cbf66c04c7b88a8578c79bea4d098149081aa83dca115947b10214f3aa8b82bdd78d764032849e27a
|
||||
DIST denyhosts-2.9.tar.gz 49472 SHA256 751ce6f11c91d1f29c2e726e829c8fe5ddc417bfbb2f229829f5ec820c236716 SHA512 f41e2985e84f0eeaa493def6b8609de934889d02b124962b0bfd02ebe5e41d0670822124eb50ed84eb1c3b8a2a96775fbe09386cef48a3c3e04949fd6b1452c1 WHIRLPOOL 6930899d84a50200c869298cf1061d51a0cebab27edea58252a66c97c81792b13898a726a6bbcba35510cc6041b66d175557d2ddfb5c21c2ae5b62bd4e43fe5d
|
||||
DIST denyhosts-3.0.tar.gz 56283 SHA256 581cd3b782d7b702f41873ae52d39472d27c90ebd1b2178802cdd623e8e94240 SHA512 8a1c796c259049ffab2c88cef780b175ec75c94216841421f831dfbf45f4ba0cdbcfbb0e3dab7200aa79eeb2416db5234ad5016d5770d8ab2f28ef4c9754e70d WHIRLPOOL 6b8db8e88a5f1693d4a72ea54009b5d185b035040c9407585f829b0f8f918bcbfa38623b0ecb08157256da045427b8b5111f7dc8f520505c56aefdaf1a02a154
|
||||
|
@ -1,92 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit distutils-r1 eutils readme.gentoo systemd
|
||||
|
||||
MY_PN="DenyHosts"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="DenyHosts is a utility to help sys admins thwart ssh hackers"
|
||||
HOMEPAGE="http://www.denyhosts.net"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm hppa ppc sparc x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DISABLE_AUTOFORMATTING="yes"
|
||||
DOC_CONTENTS="
|
||||
You can configure DenyHosts to run as a daemon by running:
|
||||
# rc-update add denyhosts default
|
||||
or:
|
||||
# systemctl enable denyhosts.service
|
||||
(if you use systemd)
|
||||
|
||||
To run DenyHosts as a cronjob instead of a daemon add the following
|
||||
to /etc/crontab
|
||||
# run DenyHosts every 10 minutes
|
||||
*/10 * * * * root /usr/bin/denyhosts.py -c /etc/denyhosts.conf
|
||||
|
||||
More information can be found at http://denyhosts.sourceforge.net/faq.html"
|
||||
|
||||
src_prepare() {
|
||||
# changes default file installations
|
||||
epatch "${FILESDIR}"/${P}-gentoo.patch
|
||||
epatch "${FILESDIR}"/${P}-log-injection-regex.patch
|
||||
|
||||
# Multiple patches from Fedora and Debian
|
||||
epatch "${FILESDIR}"/${P}-daemon-control.patch
|
||||
epatch "${FILESDIR}"/${P}-defconffile.patch
|
||||
epatch "${FILESDIR}"/${P}-foreground_mode.patch
|
||||
epatch "${FILESDIR}"/${P}-hostname.patch
|
||||
epatch "${FILESDIR}"/${P}-plugin_deny.patch
|
||||
epatch "${FILESDIR}"/${P}-single_config_switch.patch
|
||||
|
||||
epatch "${FILESDIR}"/${P}-cve-2013-6890.patch
|
||||
|
||||
sed -i -e 's:DENY_THRESHOLD_VALID = 10:DENY_THRESHOLD_VALID = 5:' \
|
||||
denyhosts.cfg-dist || die "sed failed"
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
src_install() {
|
||||
readme.gentoo_create_doc
|
||||
|
||||
dodoc CHANGELOG.txt README.txt PKG-INFO
|
||||
distutils-r1_src_install
|
||||
|
||||
insinto /etc
|
||||
insopts -m0640
|
||||
newins denyhosts.cfg-dist denyhosts.conf
|
||||
|
||||
dodir /etc/logrotate.d
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/${PN}.logrotate-r2 ${PN}
|
||||
|
||||
newinitd "${FILESDIR}"/denyhosts.init-r2 denyhosts
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service
|
||||
|
||||
# build system installs docs that we installed above
|
||||
rm -f "${D}"/usr/share/denyhosts/*.txt
|
||||
|
||||
keepdir /var/lib/denyhosts
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -f "${ROOT}etc/hosts.deny" ]]; then
|
||||
touch "${ROOT}etc/hosts.deny"
|
||||
fi
|
||||
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,92 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit distutils-r1 eutils readme.gentoo systemd
|
||||
|
||||
MY_PN="DenyHosts"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="DenyHosts is a utility to help sys admins thwart ssh hackers"
|
||||
HOMEPAGE="http://www.denyhosts.net"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm hppa ppc sparc x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DISABLE_AUTOFORMATTING="yes"
|
||||
DOC_CONTENTS="
|
||||
You can configure DenyHosts to run as a daemon by running:
|
||||
# rc-update add denyhosts default
|
||||
or:
|
||||
# systemctl enable denyhosts.service
|
||||
(if you use systemd)
|
||||
|
||||
To run DenyHosts as a cronjob instead of a daemon add the following
|
||||
to /etc/crontab
|
||||
# run DenyHosts every 10 minutes
|
||||
*/10 * * * * root /usr/bin/denyhosts.py -c /etc/denyhosts.conf
|
||||
|
||||
More information can be found at http://denyhosts.sourceforge.net/faq.html"
|
||||
|
||||
src_prepare() {
|
||||
# changes default file installations
|
||||
epatch "${FILESDIR}"/${P}-gentoo.patch
|
||||
epatch "${FILESDIR}"/${P}-log-injection-regex.patch
|
||||
|
||||
# Multiple patches from Fedora and Debian
|
||||
epatch "${FILESDIR}"/${P}-daemon-control.patch
|
||||
epatch "${FILESDIR}"/${P}-defconffile.patch
|
||||
epatch "${FILESDIR}"/${P}-foreground_mode.patch
|
||||
epatch "${FILESDIR}"/${P}-hostname.patch
|
||||
epatch "${FILESDIR}"/${P}-plugin_deny.patch
|
||||
epatch "${FILESDIR}"/${P}-single_config_switch.patch
|
||||
|
||||
epatch "${FILESDIR}"/${P}-cve-2013-6890.patch
|
||||
|
||||
sed -i -e 's:DENY_THRESHOLD_VALID = 10:DENY_THRESHOLD_VALID = 5:' \
|
||||
denyhosts.cfg-dist || die "sed failed"
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
src_install() {
|
||||
readme.gentoo_create_doc
|
||||
|
||||
dodoc CHANGELOG.txt README.txt PKG-INFO
|
||||
distutils-r1_src_install
|
||||
|
||||
insinto /etc
|
||||
insopts -m0640
|
||||
newins denyhosts.cfg-dist denyhosts.conf
|
||||
|
||||
dodir /etc/logrotate.d
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/${PN}.logrotate ${PN}
|
||||
|
||||
newinitd "${FILESDIR}"/denyhosts.init-r2 denyhosts
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service
|
||||
|
||||
# build system installs docs that we installed above
|
||||
rm -f "${D}"/usr/share/denyhosts/*.txt
|
||||
|
||||
keepdir /var/lib/denyhosts
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -f "${ROOT}etc/hosts.deny" ]]; then
|
||||
touch "${ROOT}etc/hosts.deny"
|
||||
fi
|
||||
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
Subject: address remote denial of service CVE-2013-6890
|
||||
From: Helmut Grohne <helmut () subdivi de>
|
||||
|
||||
ssh -l 'Invalid user root from 123.123.123.123' 21.21.21.21
|
||||
|
||||
results in a log lines
|
||||
|
||||
sshd[123]: Invalid user Invalid user root from 123.123.123.123 from 21.21.21.21
|
||||
sshd[123]: input_userauth_request: invalid user Invalid user root from 123.123.123.123 [preauth]
|
||||
sshd[123]: Connection closed by 21.21.21.21 [preauth]
|
||||
|
||||
and causes denyhosts to block both ips 21.21.21.21 and 123.123.123.123.
|
||||
|
||||
This patch tightens the regular expressions used to avoid these and similar
|
||||
injections.
|
||||
|
||||
Index: denyhosts-2.6/DenyHosts/regex.py
|
||||
===================================================================
|
||||
--- denyhosts-2.6.orig/DenyHosts/regex.py 2013-12-22 11:54:42.000000000 +0100
|
||||
+++ denyhosts-2.6/DenyHosts/regex.py 2013-12-22 11:55:05.000000000 +0100
|
||||
@@ -6,22 +6,22 @@
|
||||
|
||||
#DATE_FORMAT_REGEX = re.compile(r"""(?P<month>[A-z]{3,3})\s*(?P<day>\d+)""")
|
||||
|
||||
-SSHD_FORMAT_REGEX = re.compile(r""".* (sshd.*:|\[sshd\]) (?P<message>.*)""")
|
||||
+SSHD_FORMAT_REGEX = re.compile(r""".*? (sshd.*?:|\[sshd\]) (?P<message>.*)""")
|
||||
#SSHD_FORMAT_REGEX = re.compile(r""".* sshd.*: (?P<message>.*)""")
|
||||
|
||||
-FAILED_ENTRY_REGEX = re.compile(r"""Failed (?P<method>.*) for (?P<invalid>invalid user |illegal user )?(?P<user>.*?) .*from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""")
|
||||
+FAILED_ENTRY_REGEX = re.compile(r"""Failed (?P<method>\S*) for (?P<invalid>invalid user |illegal user )?(?P<user>.*) from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$""")
|
||||
|
||||
-FAILED_ENTRY_REGEX2 = re.compile(r"""(?P<invalid>(Illegal|Invalid)) user (?P<user>.*?) .*from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""")
|
||||
+FAILED_ENTRY_REGEX2 = re.compile(r"""(?P<invalid>(Illegal|Invalid)) user (?P<user>.*) from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$""")
|
||||
|
||||
-FAILED_ENTRY_REGEX3 = re.compile(r"""Authentication failure for (?P<user>.*) .*from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""")
|
||||
+FAILED_ENTRY_REGEX3 = None
|
||||
|
||||
-FAILED_ENTRY_REGEX4 = re.compile(r"""Authentication failure for (?P<user>.*) .*from (?P<host>.*)""")
|
||||
+FAILED_ENTRY_REGEX4 = re.compile(r"""Authentication failure for (?P<user>.*) from (::ffff:)?(?P<host>\S+)$""")
|
||||
|
||||
-FAILED_ENTRY_REGEX5 = re.compile(r"""User (?P<user>.*) .*from (?P<host>.*) not allowed because none of user's groups are listed in AllowGroups$""")
|
||||
+FAILED_ENTRY_REGEX5 = re.compile(r"""User (?P<user>.*) from (::ffff:)?(?P<host>\S+) not allowed because none of user's groups are listed in AllowGroups$""")
|
||||
|
||||
-FAILED_ENTRY_REGEX6 = re.compile(r"""Did not receive identification string .*from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""")
|
||||
+FAILED_ENTRY_REGEX6 = re.compile(r"""Did not receive identification string .*from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$""")
|
||||
|
||||
-FAILED_ENTRY_REGEX7 = re.compile(r"""User (?P<user>.*) .*from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) not allowed because not listed in AllowUsers""")
|
||||
+FAILED_ENTRY_REGEX7 = re.compile(r"""User (?P<user>.*) from (::ffff:)?(?P<host>\S+) not allowed because not listed in AllowUsers$""")
|
||||
|
||||
|
||||
# these are reserved for future versions
|
||||
@@ -42,7 +42,7 @@
|
||||
FAILED_ENTRY_REGEX_MAP[i] = rx
|
||||
|
||||
|
||||
-SUCCESSFUL_ENTRY_REGEX = re.compile(r"""Accepted (?P<method>.*) for (?P<user>.*?) from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""")
|
||||
+SUCCESSFUL_ENTRY_REGEX = re.compile(r"""Accepted (?P<method>\S+) for (?P<user>.*?) from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$""")
|
||||
|
||||
TIME_SPEC_REGEX = re.compile(r"""(?P<units>\d*)\s*(?P<period>[smhdwy])?""")
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up ./daemon-control-dist.orig ./daemon-control-dist
|
||||
--- ./daemon-control-dist.orig 2006-04-21 18:04:43.000000000 -0500
|
||||
+++ ./daemon-control-dist 2008-08-28 11:05:01.000000000 -0500
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
|
||||
DENYHOSTS_LOCK = "/var/lock/subsys/denyhosts"
|
||||
-DENYHOSTS_CFG = "/usr/share/denyhosts/denyhosts.cfg"
|
||||
+DENYHOSTS_CFG = "/etc/denyhosts.conf"
|
||||
|
||||
PYTHON_BIN = "/usr/bin/env python"
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up ./DenyHosts/constants.py.defconffile ./DenyHosts/constants.py
|
||||
--- ./DenyHosts/constants.py.defconffile 2008-07-01 18:12:34.000000000 -0500
|
||||
+++ ./DenyHosts/constants.py 2008-07-01 18:12:43.000000000 -0500
|
||||
@@ -36,7 +36,7 @@ PURGE_HISTORY = "purge-history"
|
||||
# Miscellaneous constants #
|
||||
#################################################################################
|
||||
|
||||
-CONFIG_FILE = "denyhosts.cfg" # default can be overridden on cmd line
|
||||
+CONFIG_FILE = "/etc/denyhosts.conf" # default can be overridden on cmd line
|
||||
|
||||
DENY_DELIMITER = "# DenyHosts:"
|
||||
ENTRY_DELIMITER = " | "
|
@ -1,137 +0,0 @@
|
||||
From: Marco Bertorello <marco@bertorello.ns0.it>
|
||||
Date: Thu, 14 Apr 2011 00:11:35 +0200
|
||||
Subject: 08_foreground_mode
|
||||
|
||||
Add a useful switch to denyhost for run in foreground/debugging mode
|
||||
---
|
||||
DenyHosts/deny_hosts.py | 9 +++++++--
|
||||
denyhosts.py | 20 +++++++++++++-------
|
||||
2 files changed, 20 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/DenyHosts/deny_hosts.py b/DenyHosts/deny_hosts.py
|
||||
index 7a985e6..f308264 100644
|
||||
--- a/DenyHosts/deny_hosts.py
|
||||
+++ b/DenyHosts/deny_hosts.py
|
||||
@@ -41,7 +41,7 @@ error = logging.getLogger("denyhosts").error
|
||||
class DenyHosts:
|
||||
def __init__(self, logfile, prefs, lock_file,
|
||||
ignore_offset=0, first_time=0,
|
||||
- noemail=0, daemon=0):
|
||||
+ noemail=0, daemon=0, foreground=0):
|
||||
self.__denied_hosts = {}
|
||||
self.__prefs = prefs
|
||||
self.__lock_file = lock_file
|
||||
@@ -49,6 +49,7 @@ class DenyHosts:
|
||||
self.__noemail = noemail
|
||||
self.__report = Report(prefs.get("HOSTNAME_LOOKUP"), is_true(prefs['SYSLOG_REPORT']))
|
||||
self.__daemon = daemon
|
||||
+ self.__foreground = foreground
|
||||
self.__sync_server = prefs.get('SYNC_SERVER')
|
||||
self.__sync_upload = is_true(prefs.get("SYNC_UPLOAD"))
|
||||
self.__sync_download = is_true(prefs.get("SYNC_DOWNLOAD"))
|
||||
@@ -87,7 +88,7 @@ class DenyHosts:
|
||||
info("Log file size has not changed. Nothing to do.")
|
||||
|
||||
|
||||
- if daemon:
|
||||
+ if daemon and not foreground:
|
||||
info("launching DenyHosts daemon (version %s)..." % VERSION)
|
||||
#logging.getLogger().setLevel(logging.WARN)
|
||||
|
||||
@@ -101,6 +102,10 @@ class DenyHosts:
|
||||
self.runDaemon(logfile, last_offset)
|
||||
else:
|
||||
die("Error creating daemon: %s (%d)" % (retCode[1], retCode[0]))
|
||||
+ elif foreground:
|
||||
+ info("launching DenyHosts (version %s)..." % VERSION)
|
||||
+ self.__lock_file.remove()
|
||||
+ self.runDaemon(logfile, last_offset)
|
||||
|
||||
|
||||
def killDaemon(self, signum, frame):
|
||||
diff --git a/denyhosts.py b/denyhosts.py
|
||||
index 48bd837..727e565 100755
|
||||
--- a/denyhosts.py
|
||||
+++ b/denyhosts.py
|
||||
@@ -34,6 +34,7 @@ def usage():
|
||||
print " --migrate: migrate your HOSTS_DENY file so that it is suitable for --purge"
|
||||
print " --purge: expire entries older than your PURGE_DENY setting"
|
||||
print " --daemon: run DenyHosts in daemon mode"
|
||||
+ print " --foreground: run DenyHosts in foreground mode"
|
||||
print " --sync: run DenyHosts synchronization mode"
|
||||
print " --version: Prints the version of DenyHosts and exits"
|
||||
|
||||
@@ -63,6 +64,7 @@ if __name__ == '__main__':
|
||||
purge = 0
|
||||
sync_mode = 0
|
||||
daemon = 0
|
||||
+ foreground = 0
|
||||
enable_debug = 0
|
||||
upgrade099 = 0
|
||||
args = sys.argv[1:]
|
||||
@@ -70,8 +72,8 @@ if __name__ == '__main__':
|
||||
(opts, getopts) = getopt.getopt(args, 'f:c:dinuvps?hV',
|
||||
["file=", "ignore", "verbose", "debug",
|
||||
"help", "noemail", "config=", "version",
|
||||
- "migrate", "purge", "daemon", "sync",
|
||||
- "upgrade099"])
|
||||
+ "migrate", "purge", "daemon", "foreground",
|
||||
+ "sync", "upgrade099"])
|
||||
except:
|
||||
print "\nInvalid command line option detected."
|
||||
usage()
|
||||
@@ -101,6 +103,8 @@ if __name__ == '__main__':
|
||||
sync_mode = 1
|
||||
if opt == '--daemon':
|
||||
daemon = 1
|
||||
+ if opt == '--foreground':
|
||||
+ foreground = 1
|
||||
if opt == '--upgrade099':
|
||||
upgrade099 = 1
|
||||
if opt == '--version':
|
||||
@@ -131,21 +135,21 @@ if __name__ == '__main__':
|
||||
|
||||
lock_file.create()
|
||||
|
||||
- if upgrade099 and not daemon:
|
||||
+ if upgrade099 and not (daemon or foreground):
|
||||
if not prefs.get('PURGE_DENY'):
|
||||
lock_file.remove()
|
||||
die("You have supplied the --upgrade099 flag, however you have not set PURGE_DENY in your configuration file")
|
||||
else:
|
||||
u = UpgradeTo099(prefs.get("HOSTS_DENY"))
|
||||
|
||||
- if migrate and not daemon:
|
||||
+ if migrate and not (daemon or foreground):
|
||||
if not prefs.get('PURGE_DENY'):
|
||||
lock_file.remove()
|
||||
die("You have supplied the --migrate flag however you have not set PURGE_DENY in your configuration file.")
|
||||
else:
|
||||
m = Migrate(prefs.get("HOSTS_DENY"))
|
||||
|
||||
- if purge and not daemon:
|
||||
+ if purge and not (daemon or foreground):
|
||||
purge_time = prefs.get('PURGE_DENY')
|
||||
if not purge_time:
|
||||
lock_file.remove()
|
||||
@@ -162,7 +166,9 @@ if __name__ == '__main__':
|
||||
try:
|
||||
for f in logfiles:
|
||||
dh = DenyHosts(f, prefs, lock_file, ignore_offset,
|
||||
- first_time, noemail, daemon)
|
||||
+ first_time, noemail, daemon, foreground)
|
||||
+ except KeyboardInterrupt:
|
||||
+ pass
|
||||
except SystemExit, e:
|
||||
pass
|
||||
except Exception, e:
|
||||
@@ -170,7 +176,7 @@ if __name__ == '__main__':
|
||||
print "\nDenyHosts exited abnormally"
|
||||
|
||||
|
||||
- if sync_mode and not daemon:
|
||||
+ if sync_mode and not (daemon or foreground):
|
||||
if not prefs.get('SYNC_SERVER'):
|
||||
lock_file.remove()
|
||||
die("You have provided the --sync flag however your configuration file is missing a value for SYNC_SERVER.")
|
||||
--
|
@ -1,42 +0,0 @@
|
||||
--- denyhosts.cfg-dist 2006-08-20 14:09:57.000000000 +0000
|
||||
+++ denyhosts.cfg-new 2006-12-09 15:41:20.000000000 +0000
|
||||
@@ -9,13 +9,13 @@
|
||||
# argument
|
||||
#
|
||||
# Redhat or Fedora Core:
|
||||
-SECURE_LOG = /var/log/secure
|
||||
+#SECURE_LOG = /var/log/secure
|
||||
#
|
||||
# Mandrake, FreeBSD or OpenBSD:
|
||||
#SECURE_LOG = /var/log/auth.log
|
||||
#
|
||||
-# SuSE:
|
||||
-#SECURE_LOG = /var/log/messages
|
||||
+# Gentoo/SuSE:
|
||||
+SECURE_LOG = /var/log/messages
|
||||
#
|
||||
# Mac OS X (v10.4 or greater -
|
||||
# also refer to: http://www.denyhosts.net/faq.html#macos
|
||||
@@ -150,7 +150,7 @@
|
||||
# Note: it is recommended that you use an absolute pathname
|
||||
# for this value (eg. /home/foo/denyhosts/data)
|
||||
#
|
||||
-WORK_DIR = /usr/share/denyhosts/data
|
||||
+WORK_DIR = /var/lib/denyhosts
|
||||
#
|
||||
#######################################################################
|
||||
|
||||
@@ -192,10 +192,10 @@
|
||||
# running at a time.
|
||||
#
|
||||
# Redhat/Fedora:
|
||||
-LOCK_FILE = /var/lock/subsys/denyhosts
|
||||
+#LOCK_FILE = /var/lock/subsys/denyhosts
|
||||
#
|
||||
-# Debian
|
||||
-#LOCK_FILE = /var/run/denyhosts.pid
|
||||
+# Gentoo/Debian
|
||||
+LOCK_FILE = /var/run/denyhosts.pid
|
||||
#
|
||||
# Misc
|
||||
#LOCK_FILE = /tmp/denyhosts.lock
|
@ -1,21 +0,0 @@
|
||||
Address Log injection reported at
|
||||
|
||||
http://bugs.gentoo.org/show_bug.cgi?id=181213
|
||||
|
||||
diff -ur a/DenyHosts/regex.py b/DenyHosts/regex.py
|
||||
--- a/DenyHosts/regex.py 2006-12-07 13:47:04.000000000 -0600
|
||||
+++ b/DenyHosts/regex.py 2007-06-19 18:51:54.000000000 -0500
|
||||
@@ -17,11 +17,11 @@
|
||||
|
||||
FAILED_ENTRY_REGEX4 = re.compile(r"""Authentication failure for (?P<user>.*) .*from (?P<host>.*)""")
|
||||
|
||||
-FAILED_ENTRY_REGEX5 = re.compile(r"""User (?P<user>.*) .*from (?P<host>.*) not allowed because none of user's groups are listed in AllowGroups""")
|
||||
+FAILED_ENTRY_REGEX5 = re.compile(r"""User (?P<user>.*) .*from (?P<host>.*) not allowed because none of user's groups are listed in AllowGroups$""")
|
||||
|
||||
FAILED_ENTRY_REGEX6 = re.compile(r"""Did not receive identification string .*from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""")
|
||||
|
||||
-FAILED_ENTRY_REGEX7 = re.compile(r"""User (?P<user>.*) not allowed because not listed in AllowUsers""")
|
||||
+FAILED_ENTRY_REGEX7 = re.compile(r"""User (?P<user>.*) .*from (::ffff:)?(?P<host>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) not allowed because not listed in AllowUsers""")
|
||||
|
||||
|
||||
# these are reserved for future versions
|
@ -1,23 +0,0 @@
|
||||
From: Marco Bertorello <marco@bertorello.ns0.it>
|
||||
Date: Thu, 14 Apr 2011 00:11:35 +0200
|
||||
Subject: 09_plugin_deny
|
||||
|
||||
Correct the upstream bug http://sourceforge.net/tracker/index.php?func=detail&aid=1734736&group_id=131204&atid=720419
|
||||
---
|
||||
DenyHosts/deny_hosts.py | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/DenyHosts/deny_hosts.py b/DenyHosts/deny_hosts.py
|
||||
index f308264..0f5f48d 100644
|
||||
--- a/DenyHosts/deny_hosts.py
|
||||
+++ b/DenyHosts/deny_hosts.py
|
||||
@@ -443,7 +443,7 @@ allowed based on your %s file""" % (self.__prefs.get("HOSTS_DENY"),
|
||||
self.__report.add_section(msg, new_denied_hosts)
|
||||
if self.__sync_server: self.sync_add_hosts(new_denied_hosts)
|
||||
plugin_deny = self.__prefs.get('PLUGIN_DENY')
|
||||
- if plugin_deny: plugin.execute(plugin_deny, deny_hosts)
|
||||
+ if plugin_deny: plugin.execute(plugin_deny, new_denied_hosts)
|
||||
|
||||
new_suspicious_logins = login_attempt.get_new_suspicious_logins()
|
||||
if new_suspicious_logins:
|
||||
--
|
@ -1,24 +0,0 @@
|
||||
From: Marco Bertorello <marco@bertorello.ns0.it>
|
||||
Date: Thu, 14 Apr 2011 00:11:35 +0200
|
||||
Subject: 11_single_config_switch
|
||||
|
||||
A patch to prevent denyhosts running with a double --config switch
|
||||
---
|
||||
daemon-control-dist | 3 ++-
|
||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/daemon-control-dist b/daemon-control-dist
|
||||
index 9f42b60..14d0f70 100755
|
||||
--- a/daemon-control-dist
|
||||
+++ b/daemon-control-dist
|
||||
@@ -144,7 +144,8 @@ if __name__ == '__main__':
|
||||
|
||||
try:
|
||||
if option in ('start', 'restart', 'condrestart'):
|
||||
- if '--config' not in args and '-c' not in args:
|
||||
+ anystartswith = lambda prefix, xs: any(map(lambda x: x.startswith(prefix), xs))
|
||||
+ if not anystartswith('--config', args) and '-c' not in args:
|
||||
args.append("--config=%s" % DENYHOSTS_CFG)
|
||||
|
||||
cmd = cases[option]
|
||||
--
|
@ -1,12 +0,0 @@
|
||||
/var/log/denyhosts {
|
||||
missingok
|
||||
notifempty
|
||||
create 0640 root root
|
||||
sharedscripts
|
||||
prerotate
|
||||
/etc/init.d/denyhosts stop -q
|
||||
endscript
|
||||
postrotate
|
||||
/etc/init.d/denyhosts start -q
|
||||
endscript
|
||||
}
|
@ -0,0 +1,192 @@
|
||||
From 9beca533f42ae1fc87418de0c360e19bc59b24b5 Mon Sep 17 00:00:00 2001
|
||||
From: Stuart McLaren <stuart.mclaren@hp.com>
|
||||
Date: Tue, 11 Aug 2015 10:37:09 +0000
|
||||
Subject: [PATCH] Prevent image status being directly modified via v1
|
||||
|
||||
Users shouldn't be able to change an image's status directly via the
|
||||
v1 API.
|
||||
|
||||
Some existing consumers of Glance set the x-image-meta-status header in
|
||||
requests to the Glance API, eg:
|
||||
|
||||
https://github.com/openstack/nova/blob/master/plugins/xenserver/xenapi/etc/xapi.d/plugins/glance#L184
|
||||
|
||||
We should try to prevent users setting 'status' via v1, but without breaking
|
||||
existing benign API calls such as these.
|
||||
|
||||
I've adopted the following approach (which has some prior art in 'protected properties').
|
||||
|
||||
If a PUT request is received which contains an x-image-meta-status header:
|
||||
|
||||
* The user provided status is ignored if it matches the current image
|
||||
status (this prevents benign calls such as the nova one above from
|
||||
breaking). The usual code (eg 200) will be returned.
|
||||
|
||||
* If the user provided status doesn't match the current image status (ie
|
||||
there is a real attempt to change the value) 403 will be returned. This
|
||||
will break any calls which currently intentionally change the status.
|
||||
|
||||
APIImpact
|
||||
|
||||
Closes-bug: 1482371
|
||||
|
||||
Change-Id: I44fadf32abb57c962b67467091c3f51c1ccc25e6
|
||||
(cherry picked from commit 4d08db5b6d42323ac1958ef3b7417d875e7bea8c)
|
||||
---
|
||||
glance/api/v1/__init__.py | 3 +
|
||||
glance/api/v1/images.py | 9 +++
|
||||
glance/tests/functional/v1/test_api.py | 89 ++++++++++++++++++++++
|
||||
.../integration/legacy_functional/test_v1_api.py | 2 +
|
||||
4 files changed, 103 insertions(+)
|
||||
|
||||
diff --git a/glance/api/v1/__init__.py b/glance/api/v1/__init__.py
|
||||
index 74de9aa1411d8e926770b67f7d851cf14e794414..9306bbb4fe78f77a26bb539c717fdfd2b38767c8 100644
|
||||
--- a/glance/api/v1/__init__.py
|
||||
+++ b/glance/api/v1/__init__.py
|
||||
@@ -21,3 +21,6 @@ SUPPORTED_PARAMS = ('limit', 'marker', 'sort_key', 'sort_dir')
|
||||
|
||||
# Metadata which only an admin can change once the image is active
|
||||
ACTIVE_IMMUTABLE = ('size', 'checksum')
|
||||
+
|
||||
+# Metadata which cannot be changed (irrespective of the current image state)
|
||||
+IMMUTABLE = ('status',)
|
||||
diff --git a/glance/api/v1/images.py b/glance/api/v1/images.py
|
||||
index e33b91fbca79377e78ccfd329fa542ad422f5ffc..95e32949d958d0f57a3b60c141b91784a5801f5a 100644
|
||||
--- a/glance/api/v1/images.py
|
||||
+++ b/glance/api/v1/images.py
|
||||
@@ -57,6 +57,7 @@ _LW = i18n._LW
|
||||
SUPPORTED_PARAMS = glance.api.v1.SUPPORTED_PARAMS
|
||||
SUPPORTED_FILTERS = glance.api.v1.SUPPORTED_FILTERS
|
||||
ACTIVE_IMMUTABLE = glance.api.v1.ACTIVE_IMMUTABLE
|
||||
+IMMUTABLE = glance.api.v1.IMMUTABLE
|
||||
|
||||
CONF = cfg.CONF
|
||||
CONF.import_opt('disk_formats', 'glance.common.config', group='image_format')
|
||||
@@ -912,6 +913,14 @@ class Controller(controller.BaseController):
|
||||
request=req,
|
||||
content_type="text/plain")
|
||||
|
||||
+ for key in IMMUTABLE:
|
||||
+ if (image_meta.get(key) is not None and
|
||||
+ image_meta.get(key) != orig_image_meta.get(key)):
|
||||
+ msg = _("Forbidden to modify '%s' of image.") % key
|
||||
+ raise HTTPForbidden(explanation=msg,
|
||||
+ request=req,
|
||||
+ content_type="text/plain")
|
||||
+
|
||||
# The default behaviour for a PUT /images/<IMAGE_ID> is to
|
||||
# override any properties that were previously set. This, however,
|
||||
# leads to a number of issues for the common use case where a caller
|
||||
diff --git a/glance/tests/functional/v1/test_api.py b/glance/tests/functional/v1/test_api.py
|
||||
index 9fba3bb5e40c8742530691228c7b436b385fc2ca..6b3bfbb4270f1eb0f50418504e65be30ea23d10b 100644
|
||||
--- a/glance/tests/functional/v1/test_api.py
|
||||
+++ b/glance/tests/functional/v1/test_api.py
|
||||
@@ -715,3 +715,92 @@ class TestApi(functional.FunctionalTest):
|
||||
self.assertEqual(404, response.status)
|
||||
|
||||
self.stop_servers()
|
||||
+
|
||||
+ def test_status_cannot_be_manipulated_directly(self):
|
||||
+ self.cleanup()
|
||||
+ self.start_servers(**self.__dict__.copy())
|
||||
+ headers = minimal_headers('Image1')
|
||||
+
|
||||
+ # Create a 'queued' image
|
||||
+ http = httplib2.Http()
|
||||
+ headers = {'Content-Type': 'application/octet-stream',
|
||||
+ 'X-Image-Meta-Disk-Format': 'raw',
|
||||
+ 'X-Image-Meta-Container-Format': 'bare'}
|
||||
+ path = "http://%s:%d/v1/images" % ("127.0.0.1", self.api_port)
|
||||
+ response, content = http.request(path, 'POST', headers=headers,
|
||||
+ body=None)
|
||||
+ self.assertEqual(201, response.status)
|
||||
+ image = jsonutils.loads(content)['image']
|
||||
+ self.assertEqual('queued', image['status'])
|
||||
+
|
||||
+ # Ensure status of 'queued' image can't be changed
|
||||
+ path = "http://%s:%d/v1/images/%s" % ("127.0.0.1", self.api_port,
|
||||
+ image['id'])
|
||||
+ http = httplib2.Http()
|
||||
+ headers = {'X-Image-Meta-Status': 'active'}
|
||||
+ response, content = http.request(path, 'PUT', headers=headers)
|
||||
+ self.assertEqual(403, response.status)
|
||||
+ response, content = http.request(path, 'HEAD')
|
||||
+ self.assertEqual(200, response.status)
|
||||
+ self.assertEqual('queued', response['x-image-meta-status'])
|
||||
+
|
||||
+ # We allow 'setting' to the same status
|
||||
+ http = httplib2.Http()
|
||||
+ headers = {'X-Image-Meta-Status': 'queued'}
|
||||
+ response, content = http.request(path, 'PUT', headers=headers)
|
||||
+ self.assertEqual(200, response.status)
|
||||
+ response, content = http.request(path, 'HEAD')
|
||||
+ self.assertEqual(200, response.status)
|
||||
+ self.assertEqual('queued', response['x-image-meta-status'])
|
||||
+
|
||||
+ # Make image active
|
||||
+ http = httplib2.Http()
|
||||
+ headers = {'Content-Type': 'application/octet-stream'}
|
||||
+ response, content = http.request(path, 'PUT', headers=headers,
|
||||
+ body='data')
|
||||
+ self.assertEqual(200, response.status)
|
||||
+ image = jsonutils.loads(content)['image']
|
||||
+ self.assertEqual('active', image['status'])
|
||||
+
|
||||
+ # Ensure status of 'active' image can't be changed
|
||||
+ http = httplib2.Http()
|
||||
+ headers = {'X-Image-Meta-Status': 'queued'}
|
||||
+ response, content = http.request(path, 'PUT', headers=headers)
|
||||
+ self.assertEqual(403, response.status)
|
||||
+ response, content = http.request(path, 'HEAD')
|
||||
+ self.assertEqual(200, response.status)
|
||||
+ self.assertEqual('active', response['x-image-meta-status'])
|
||||
+
|
||||
+ # We allow 'setting' to the same status
|
||||
+ http = httplib2.Http()
|
||||
+ headers = {'X-Image-Meta-Status': 'active'}
|
||||
+ response, content = http.request(path, 'PUT', headers=headers)
|
||||
+ self.assertEqual(200, response.status)
|
||||
+ response, content = http.request(path, 'HEAD')
|
||||
+ self.assertEqual(200, response.status)
|
||||
+ self.assertEqual('active', response['x-image-meta-status'])
|
||||
+
|
||||
+ # Create a 'queued' image, ensure 'status' header is ignored
|
||||
+ http = httplib2.Http()
|
||||
+ path = "http://%s:%d/v1/images" % ("127.0.0.1", self.api_port)
|
||||
+ headers = {'Content-Type': 'application/octet-stream',
|
||||
+ 'X-Image-Meta-Status': 'active'}
|
||||
+ response, content = http.request(path, 'POST', headers=headers,
|
||||
+ body=None)
|
||||
+ self.assertEqual(201, response.status)
|
||||
+ image = jsonutils.loads(content)['image']
|
||||
+ self.assertEqual('queued', image['status'])
|
||||
+
|
||||
+ # Create an 'active' image, ensure 'status' header is ignored
|
||||
+ http = httplib2.Http()
|
||||
+ path = "http://%s:%d/v1/images" % ("127.0.0.1", self.api_port)
|
||||
+ headers = {'Content-Type': 'application/octet-stream',
|
||||
+ 'X-Image-Meta-Disk-Format': 'raw',
|
||||
+ 'X-Image-Meta-Status': 'queued',
|
||||
+ 'X-Image-Meta-Container-Format': 'bare'}
|
||||
+ response, content = http.request(path, 'POST', headers=headers,
|
||||
+ body='data')
|
||||
+ self.assertEqual(201, response.status)
|
||||
+ image = jsonutils.loads(content)['image']
|
||||
+ self.assertEqual('active', image['status'])
|
||||
+ self.stop_servers()
|
||||
diff --git a/glance/tests/integration/legacy_functional/test_v1_api.py b/glance/tests/integration/legacy_functional/test_v1_api.py
|
||||
index dff436465919569480bdbac537d20a6d61c98f46..511d46dfe18028bb430504784cc9d24c58736c3b 100644
|
||||
--- a/glance/tests/integration/legacy_functional/test_v1_api.py
|
||||
+++ b/glance/tests/integration/legacy_functional/test_v1_api.py
|
||||
@@ -358,6 +358,8 @@ class TestApi(base.ApiTest):
|
||||
path = "/v1/images"
|
||||
response, content = self.http.request(path, 'POST', headers=headers)
|
||||
self.assertEqual(201, response.status)
|
||||
+ image = jsonutils.loads(content)['image']
|
||||
+ self.assertEqual('active', image['status'])
|
||||
|
||||
# 2. HEAD image-location
|
||||
# Verify image size is zero and the status is active
|
||||
--
|
||||
2.5.0
|
||||
|
@ -0,0 +1,190 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit distutils-r1 user
|
||||
|
||||
DESCRIPTION="Provides services for discovering, registering, and retrieving
|
||||
virtual machine images"
|
||||
HOMEPAGE="https://launchpad.net/glance"
|
||||
SRC_URI="https://launchpad.net/${PN}/kilo/${PV}/+download/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc mysql postgres +sqlite +swift test"
|
||||
REQUIRED_USE="|| ( mysql postgres sqlite )"
|
||||
|
||||
DEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
>=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
|
||||
<dev-python/pbr-1.0[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
${RDEPEND}
|
||||
>=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
|
||||
<dev-python/hacking-0.11[${PYTHON_USEDEP}]
|
||||
~dev-python/Babel-1.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
|
||||
<dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/mock-1.0[${PYTHON_USEDEP}]
|
||||
<dev-python/mock-1.1.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
|
||||
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
|
||||
<dev-python/sphinx-1.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
|
||||
!~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
|
||||
>=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
|
||||
!~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-1.1.1[${PYTHON_USEDEP}]
|
||||
<dev-python/psutil-2.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
|
||||
<dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/mysql-python[${PYTHON_USEDEP}]
|
||||
dev-python/psycopg[${PYTHON_USEDEP}]
|
||||
~dev-python/pysendfile-2.0.1[${PYTHON_USEDEP}]
|
||||
dev-python/qpid-python[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyxattr-0.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/elasticsearch-py-1.3.0[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
#note to self, wsgiref is a python builtin, no need to package it
|
||||
#>=dev-python/wsgiref-0.1.2[${PYTHON_USEDEP}]
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
|
||||
sqlite? (
|
||||
>=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
|
||||
<=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
|
||||
)
|
||||
mysql? (
|
||||
dev-python/mysql-python
|
||||
>=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
|
||||
<=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
|
||||
)
|
||||
postgres? (
|
||||
dev-python/psycopg:2
|
||||
>=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
|
||||
<=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
|
||||
)
|
||||
>=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
|
||||
!~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
|
||||
!~dev-python/routes-2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/sqlalchemy-migrate-0.9.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/kombu-2.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
|
||||
dev-python/ordereddict[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-concurrency-1.8.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-concurrency-1.9.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-context-0.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
|
||||
<dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/taskflow-0.7.1[${PYTHON_USEDEP}]
|
||||
<dev-python/taskflow-0.8.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/keystonemiddleware-1.5.0[${PYTHON_USEDEP}]
|
||||
<dev-python/keystonemiddleware-1.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/WSME-0.6[${PYTHON_USEDEP}]
|
||||
<dev-python/WSME-0.7[${PYTHON_USEDEP}]
|
||||
dev-python/posix_ipc[${PYTHON_USEDEP}]
|
||||
swift? (
|
||||
>=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
|
||||
<dev-python/python-swiftclient-2.5.0[${PYTHON_USEDEP}]
|
||||
)
|
||||
>=dev-python/oslo-vmware-0.11.1[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-vmware-0.12.0[${PYTHON_USEDEP}]
|
||||
dev-python/paste[${PYTHON_USEDEP}]
|
||||
>=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
|
||||
<dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-keystoneclient-1.2.0[${PYTHON_USEDEP}]
|
||||
<dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-db-1.7.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-db-1.8.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-log-1.0.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-log-1.1.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-messaging-1.8.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-messaging-1.9.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-policy-0.3.1[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-policy-0.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
|
||||
!~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/osprofiler-0.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/glance_store-0.3.0[${PYTHON_USEDEP}]
|
||||
<dev-python/glance_store-0.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/semantic_version-2.3.1[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/cve-2015-5163-stable-kilo.patch"
|
||||
"${FILESDIR}/cve-2015-5251-stable-kilo.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup glance
|
||||
enewuser glance -1 -1 /var/lib/glance glance
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
sed -i '/xattr/d' test-requirements.txt || die
|
||||
sed -i '/pysendfile/d' test-requirements.txt || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_compile_all() {
|
||||
use doc && "${PYTHON}" setup.py build_sphinx
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# https://bugs.launchpad.net/glance/+bug/1251105
|
||||
# https://bugs.launchpad.net/glance/+bug/1242501
|
||||
testr init
|
||||
testr run --parallel || die "failed testsuite under python2.7"
|
||||
}
|
||||
|
||||
python_install() {
|
||||
distutils-r1_python_install
|
||||
|
||||
for svc in api registry scrubber; do
|
||||
newinitd "${FILESDIR}/glance.initd" glance-${svc}
|
||||
done
|
||||
|
||||
diropts -m 0750 -o glance -g glance
|
||||
dodir /var/log/glance /var/lib/glance/images /var/lib/glance/scrubber
|
||||
keepdir /etc/glance
|
||||
keepdir /var/log/glance
|
||||
keepdir /var/lib/glance/images
|
||||
keepdir /var/lib/glance/scrubber
|
||||
|
||||
insinto /etc/glance
|
||||
insopts -m 0640 -o glance -g glance
|
||||
doins etc/*.ini
|
||||
doins etc/*.conf
|
||||
doins etc/*.sample
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use doc && local HTML_DOCS=( doc/build/html/. )
|
||||
distutils-r1_python_install_all
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST star-1.5.2.tar.bz2 874558 SHA256 762645b98af13bb9b0512812814ec8e90635d1400c94eb5911e9774daed2addf SHA512 6ea9bd3db79a83c5fae5cb791ea6fc2d79cb464d97702ca0167fdd068df77f047a53037f5be342f138dd950c2c863ee07de0bf3390e37d39a1105634ca8fc9d5 WHIRLPOOL 957a499bdbc7cca5704635c89bd7703fb0018ee22ab99a7cacab4b5241131001f6b9a65b69c227dc513c210d772b4a3a560a1a5d602e6b9dde4778ab1a329876
|
||||
DIST star-1.5.3.tar.bz2 889881 SHA256 070342833ea83104169bf956aa880bcd088e7af7f5b1f8e3d29853b49b1a4f5b SHA512 622032a0e87f3df06ab1091af0af99d0362f478f70351cfe3d47195eec0fcc96f458fb6e50cae3531183984b1d390b598176ce008bcc5f29764795f66436efef WHIRLPOOL fd786e38666392813311d04350680bb9e1f4cf892412697652f8531eec95b9954c8e0ec3d1538dc1a7cc469e28dbbc38a0a21f8e210fdf929a65de3b73ab55d6
|
||||
|
@ -1,21 +0,0 @@
|
||||
diff -urNp star-1.5.1-orig/star/longnames.c star-1.5.1/star/longnames.c
|
||||
--- star-1.5.1-orig/star/longnames.c 2009-10-16 00:38:55.000000000 +0200
|
||||
+++ star-1.5.1/star/longnames.c 2010-02-03 13:36:03.000000000 +0100
|
||||
@@ -155,7 +155,7 @@ name_to_tcb(info, ptb)
|
||||
if (add)
|
||||
strcatl(ptb->dbuf.t_name, name, "/", (char *)NULL);
|
||||
else
|
||||
- strcpy(ptb->dbuf.t_name, name);
|
||||
+ strncpy(ptb->dbuf.t_name, name, props.pr_maxsname);
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ name_to_tcb(info, ptb)
|
||||
if (add)
|
||||
strcatl(ptb->dbuf.t_name, &np[1], "/", (char *)NULL);
|
||||
else
|
||||
- strcpy(ptb->dbuf.t_name, &np[1]);
|
||||
+ strncpy(ptb->dbuf.t_name, &np[1], props.pr_maxsname);
|
||||
strncpy(ptb->dbuf.t_prefix, name, np - name);
|
||||
info->f_flags |= F_SPLIT_NAME;
|
||||
return (TRUE);
|
@ -1,80 +0,0 @@
|
||||
--- star-1.5/star/checkerr.c.orig-segv 2006-10-31 18:06:25.000000000 +0100
|
||||
+++ star-1.5/star/checkerr.c 2007-08-27 11:42:39.000000000 +0200
|
||||
@@ -183,39 +183,45 @@ LOCAL struct eflags {
|
||||
*/
|
||||
LOCAL UInt32_t
|
||||
errflags(eflag, doexit)
|
||||
- char *eflag;
|
||||
- BOOL doexit;
|
||||
+ char *eflag;
|
||||
+ BOOL doexit;
|
||||
{
|
||||
- register char *p = eflag;
|
||||
- char *ef = _endword(eflag);
|
||||
- register struct eflags *ep;
|
||||
- register int slen;
|
||||
- register UInt32_t nflags = 0;
|
||||
-
|
||||
- do {
|
||||
- for (ep = eflags; ep->fname; ep++) {
|
||||
- slen = strlen(ep->fname);
|
||||
- if ((strncmp(ep->fname, p, slen) == 0) &&
|
||||
- (p[slen] == '|' || p[slen] == ' ' ||
|
||||
- p[slen] == '\0')) {
|
||||
- nflags |= ep->fval;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- if (ep->fname == NULL) {
|
||||
- if (doexit)
|
||||
- comerrno(EX_BAD, "Bad flag '%s'\n", p);
|
||||
- return (0);
|
||||
- }
|
||||
- p = strchr(p, '|');
|
||||
- } while (p < ef && p && *p++ == '|');
|
||||
-
|
||||
- if ((nflags & ~(UInt32_t)(E_ABORT|E_WARN)) == 0) {
|
||||
- if (doexit)
|
||||
- comerrno(EX_BAD, "Bad error condition '%s'.\n", eflag);
|
||||
- return (0);
|
||||
- }
|
||||
- return (nflags);
|
||||
+ register struct eflags *ep;
|
||||
+ register int slen;
|
||||
+ register UInt32_t nflags = 0;
|
||||
+ char *curflags;
|
||||
+ char *curflag;
|
||||
+
|
||||
+ curflags = strdup (eflag);
|
||||
+ *_endword(curflags) = '\0';
|
||||
+ curflag = strtok (curflags, "|");
|
||||
+
|
||||
+ while (curflag != NULL) {
|
||||
+ for (ep = eflags; ep->fname; ep++) {
|
||||
+ slen = strlen (ep->fname);
|
||||
+ if ((strncmp (ep->fname, curflag, slen)) == 0) {
|
||||
+ nflags |= ep->fval;
|
||||
+ goto next;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (doexit)
|
||||
+ comerrno (EX_BAD, "Bad flag '%s' \n", curflag);
|
||||
+
|
||||
+ free (curflags);
|
||||
+ return (0);
|
||||
+ next:
|
||||
+ curflag = strtok (NULL, "|");
|
||||
+ }
|
||||
+
|
||||
+ free (curflags);
|
||||
+
|
||||
+ if ((nflags & ~(UInt32_t)(E_ABORT|E_WARN)) == 0) {
|
||||
+ if (doexit)
|
||||
+ comerrno(EX_BAD, "Bad error condition '%s'.\n", eflag);
|
||||
+ return (0);
|
||||
+ }
|
||||
+ return (nflags);
|
||||
}
|
||||
|
||||
LOCAL ec_t *
|
@ -1,12 +0,0 @@
|
||||
diff -urNp star-1.5.1-orig/star/buffer.c star-1.5.1/star/buffer.c
|
||||
--- star-1.5.1-orig/star/buffer.c 2009-07-13 21:05:02.000000000 +0200
|
||||
+++ star-1.5.1/star/buffer.c 2011-01-04 13:50:25.452138625 +0100
|
||||
@@ -799,7 +799,7 @@ initbuf(nblocks)
|
||||
|
||||
bigptr = bigbuf = ___malloc((size_t) bufsize+10+pagesize,
|
||||
"buffer");
|
||||
- bigptr = bigbuf = (char *)roundup((Intptr_t)bigptr, pagesize);
|
||||
+ bigptr = bigbuf = (char *)roundup((UIntptr_t)bigptr, pagesize);
|
||||
fillbytes(bigbuf, bufsize, '\0');
|
||||
fillbytes(&bigbuf[bufsize], 10, 'U');
|
||||
|
@ -1,92 +0,0 @@
|
||||
diff -urNp star-1.5.1-orig/include/schily/schily.h star-1.5.1/include/schily/schily.h
|
||||
--- star-1.5.1-orig/include/schily/schily.h 2009-10-22 23:18:55.000000000 +0200
|
||||
+++ star-1.5.1/include/schily/schily.h 2010-01-13 13:17:10.000000000 +0100
|
||||
@@ -174,7 +174,7 @@ extern int fexecle __PR((const char *, F
|
||||
/* 6th arg not const, fexecv forces av[ac] = NULL */
|
||||
extern int fexecv __PR((const char *, FILE *, FILE *, FILE *, int,
|
||||
char **));
|
||||
-extern int fexecve __PR((const char *, FILE *, FILE *, FILE *,
|
||||
+extern int sch_fexecve __PR((const char *, FILE *, FILE *, FILE *,
|
||||
char * const *, char * const *));
|
||||
extern int fspawnv __PR((FILE *, FILE *, FILE *, int, char * const *));
|
||||
extern int fspawnl __PR((FILE *, FILE *, FILE *, const char *, ...));
|
||||
@@ -311,7 +311,7 @@ extern char *findbytes __PR((const void
|
||||
extern char *findinpath __PR((char *__name, int __mode, BOOL __plain_file));
|
||||
extern int findline __PR((const char *, char, const char *,
|
||||
int, char **, int));
|
||||
-extern int getline __PR((char *, int));
|
||||
+extern int sch_getline __PR((char *, int));
|
||||
extern int getstr __PR((char *, int));
|
||||
extern int breakline __PR((char *, char, char **, int));
|
||||
extern int getallargs __PR((int *, char * const**, const char *, ...));
|
||||
diff -urNp star-1.5.1-orig/lib/fexec.c star-1.5.1/lib/fexec.c
|
||||
--- star-1.5.1-orig/lib/fexec.c 2009-11-15 15:14:28.000000000 +0100
|
||||
+++ star-1.5.1/lib/fexec.c 2010-01-13 13:17:10.000000000 +0100
|
||||
@@ -198,7 +198,7 @@ const char **pav;
|
||||
} while (p != NULL);
|
||||
va_end(args);
|
||||
|
||||
- ret = fexecve(name, in, out, err, av, env);
|
||||
+ ret = sch_fexecve(name, in, out, err, av, env);
|
||||
if (av != xav)
|
||||
free(av);
|
||||
return (ret);
|
||||
@@ -212,11 +212,11 @@ fexecv(name, in, out, err, ac, av)
|
||||
char *av[];
|
||||
{
|
||||
av[ac] = NULL; /* force list to be null terminated */
|
||||
- return (fexecve(name, in, out, err, av, environ));
|
||||
+ return (sch_fexecve(name, in, out, err, av, environ));
|
||||
}
|
||||
|
||||
EXPORT int
|
||||
-fexecve(name, in, out, err, av, env)
|
||||
+sch_fexecve(name, in, out, err, av, env)
|
||||
const char *name;
|
||||
FILE *in, *out, *err;
|
||||
char * const av[], * const env[];
|
||||
diff -urNp star-1.5.1-orig/lib/libschily-mapvers star-1.5.1/lib/libschily-mapvers
|
||||
--- star-1.5.1-orig/lib/libschily-mapvers 2007-10-06 15:21:55.000000000 +0200
|
||||
+++ star-1.5.1/lib/libschily-mapvers 2010-01-13 13:17:10.000000000 +0100
|
||||
@@ -77,7 +77,7 @@ global:
|
||||
fexecl;
|
||||
fexecle;
|
||||
fexecv;
|
||||
- fexecve;
|
||||
+ sch_fexecve;
|
||||
ffileread;
|
||||
ffilewrite;
|
||||
fgetline;
|
||||
@@ -123,7 +123,7 @@ global:
|
||||
geterrno;
|
||||
getfiles;
|
||||
getfp;
|
||||
- getline;
|
||||
+ sch_getline;
|
||||
getmainfp;
|
||||
#getstr;
|
||||
#handlecond;
|
||||
diff -urNp star-1.5.1-orig/lib/stdio/fgetline.c star-1.5.1/lib/stdio/fgetline.c
|
||||
--- star-1.5.1-orig/lib/stdio/fgetline.c 2004-09-25 14:23:36.000000000 +0200
|
||||
+++ star-1.5.1/lib/stdio/fgetline.c 2010-01-13 13:17:10.000000000 +0100
|
||||
@@ -61,7 +61,7 @@ fgetline(f, buf, len)
|
||||
}
|
||||
|
||||
EXPORT int
|
||||
-getline(buf, len)
|
||||
+sch_getline(buf, len)
|
||||
char *buf;
|
||||
int len;
|
||||
{
|
||||
diff -urNp star-1.5.1-orig/libfind/find.c star-1.5.1/libfind/find.c
|
||||
--- star-1.5.1-orig/libfind/find.c 2009-11-15 16:25:02.000000000 +0100
|
||||
+++ star-1.5.1/libfind/find.c 2010-01-13 13:17:10.000000000 +0100
|
||||
@@ -1747,7 +1747,7 @@ doexec(f, ac, av, state)
|
||||
#endif
|
||||
av[ac] = NULL; /* -exec {} \; is not NULL terminated */
|
||||
|
||||
- fexecve(av[0], state->std[0], state->std[1], state->std[2],
|
||||
+ sch_fexecve(av[0], state->std[0], state->std[1], state->std[2],
|
||||
av, state->env);
|
||||
err = geterrno();
|
||||
#ifdef PLUS_DEBUG
|
@ -1,102 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils toolchain-funcs
|
||||
|
||||
DESCRIPTION="An enhanced (world's fastest) tar, as well as enhanced mt/rmt"
|
||||
HOMEPAGE="http://s-tar.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/s-tar/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1 CDDL-Schily"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="acl xattr"
|
||||
|
||||
DEPEND="
|
||||
acl? ( sys-apps/acl )
|
||||
xattr? ( sys-apps/attr )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S=${WORKDIR}/${P/_alpha[0-9][0-9]}
|
||||
|
||||
src_prepare() {
|
||||
find -type f -exec chmod -c u+w '{}' + || die
|
||||
sed \
|
||||
-e "s:/opt/schily:${EPREFIX}/usr:g" \
|
||||
-e 's:bin:root:g' \
|
||||
-e "s:/usr/src/linux/include:${EPREFIX}/usr/include:" \
|
||||
-i DEFAULTS/Defaults.linux || die
|
||||
|
||||
# Disable libacl autodependency (hacky build system, hacky fix...)
|
||||
if use acl; then
|
||||
sed \
|
||||
-e 's:[$]ac_cv_header_sys_acl_h:disable acl:' \
|
||||
-i "${S}/autoconf/configure" || die
|
||||
fi
|
||||
|
||||
if use xattr; then
|
||||
sed \
|
||||
-e 's:[$]ac_cv_header_attr_xattr_h:disable xattr:' \
|
||||
-i "${S}/autoconf/configure" || die
|
||||
fi
|
||||
|
||||
# Create additional symlinks needed for some archs.
|
||||
pushd "${S}/RULES" > /dev/null
|
||||
local t
|
||||
for t in ppc64 s390x ; do
|
||||
ln -s i586-linux-cc.rul ${t}-linux-cc.rul || die
|
||||
ln -s i586-linux-gcc.rul ${t}-linux-gcc.rul || die
|
||||
done
|
||||
popd > /dev/null
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-1.5.1-changewarnSegv.patch
|
||||
}
|
||||
|
||||
src_configure() { :; } #avoid ./configure run
|
||||
|
||||
src_compile() {
|
||||
emake \
|
||||
CC="$(tc-getCC)" \
|
||||
COPTX="${CFLAGS}" \
|
||||
CPPOPTX="${CPPFLAGS}" \
|
||||
COPTGPROF= \
|
||||
COPTOPT= \
|
||||
LDOPTX="${LDFLAGS}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Joerg Schilling suggested to integrate star into the main OS using call:
|
||||
# make INS_BASE=/usr DESTDIR="${D}" install
|
||||
|
||||
dobin \
|
||||
star/OBJ/*-*-cc/star \
|
||||
tartest/OBJ/*-*-cc/tartest \
|
||||
star_sym/OBJ/*-*-cc/star_sym \
|
||||
mt/OBJ/*-*-cc/smt
|
||||
|
||||
newsbin rmt/OBJ/*-*-cc/rmt rmt.star
|
||||
newman rmt/rmt.1 rmt.star.1
|
||||
|
||||
# Note that we should never install gnutar, tar or rmt in this package.
|
||||
# tar and rmt are provided by app-arch/tar. gnutar is not compatible with
|
||||
# GNU tar and breakes compilation, or init scripts. bug #33119
|
||||
dosym {star,/usr/bin/ustar}
|
||||
dosym {star,/usr/bin/spax}
|
||||
dosym {star,/usr/bin/scpio}
|
||||
dosym {star,/usr/bin/suntar}
|
||||
|
||||
# match is needed to understand the pattern matcher, if you wondered why ;)
|
||||
doman man/man1/match.1 tartest/tartest.1 \
|
||||
star/{star.4,star.1,spax.1,scpio.1,suntar.1}
|
||||
|
||||
insinto /etc/default
|
||||
newins star/star.dfl star
|
||||
newins rmt/rmt.dfl rmt
|
||||
|
||||
dodoc star/{README.ACL,README.crash,README.largefiles,README.otherbugs} \
|
||||
star/{README.pattern,README.pax,README.posix-2001,README,STARvsGNUTAR} \
|
||||
rmt/default-rmt.sample TODO AN-* Changelog CONTRIBUTING
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
From 41aa99a1886fa07aad5716fb4905843ecfcbffb2 Mon Sep 17 00:00:00 2001
|
||||
From: Kristian Fiskerstrand <kristian.fiskerstrand@sumptuouscapital.com>
|
||||
Date: Fri, 18 Sep 2015 17:22:11 +0200
|
||||
Subject: [PATCH] Disable Qt5 support to force Qt4 for now
|
||||
|
||||
Automagic applies in detecting Qt5 which makes dependency specification
|
||||
difficult. Disabling the auto-detection for Qt5 and keeping Qt4 for now
|
||||
---
|
||||
m4/qt.m4 | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/m4/qt.m4 b/m4/qt.m4
|
||||
index 0a7ea99..e7abfcc 100644
|
||||
--- a/m4/qt.m4
|
||||
+++ b/m4/qt.m4
|
||||
@@ -30,7 +30,7 @@ AC_DEFUN([FIND_QT],
|
||||
[
|
||||
PKG_CHECK_MODULES(PINENTRY_QT,
|
||||
Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0,
|
||||
- [have_qt5_libs="yes"],
|
||||
+ [have_qt5_libs="no"],
|
||||
[have_qt5_libs="no"])
|
||||
|
||||
if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then
|
||||
--
|
||||
2.4.6
|
||||
|
@ -0,0 +1,60 @@
|
||||
From eb2cd9487749be01a1ad34ce6036366208147290 Mon Sep 17 00:00:00 2001
|
||||
From: Kristian Fiskerstrand <kristian.fiskerstrand@sumptuouscapital.com>
|
||||
Date: Mon, 21 Sep 2015 19:09:04 +0200
|
||||
Subject: [PATCH] m4/qt.m4: Remove detection of Qt5
|
||||
|
||||
---
|
||||
m4/qt.m4 | 36 +-----------------------------------
|
||||
1 file changed, 1 insertion(+), 35 deletions(-)
|
||||
|
||||
diff --git a/m4/qt.m4 b/m4/qt.m4
|
||||
index 0a7ea99..2982bb8 100644
|
||||
--- a/m4/qt.m4
|
||||
+++ b/m4/qt.m4
|
||||
@@ -28,42 +28,8 @@ dnl The moc lookup code is based on libpoppler (rev. d821207)
|
||||
|
||||
AC_DEFUN([FIND_QT],
|
||||
[
|
||||
- PKG_CHECK_MODULES(PINENTRY_QT,
|
||||
- Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0,
|
||||
- [have_qt5_libs="yes"],
|
||||
- [have_qt5_libs="no"])
|
||||
+ have_qt5_libs="no"
|
||||
|
||||
- if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then
|
||||
- PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -fpic"
|
||||
- fi
|
||||
-
|
||||
- if test "$have_qt5_libs" = "yes"; then
|
||||
- AC_CHECK_TOOL(MOC, moc)
|
||||
- AC_MSG_CHECKING([moc version])
|
||||
- mocversion=`$MOC -v 2>&1`
|
||||
- mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
|
||||
- if test x"$mocversiongrep" != x"$mocversion"; then
|
||||
- AC_MSG_RESULT([no])
|
||||
- # moc was not the qt5 one, try with moc-qt5
|
||||
- AC_CHECK_TOOL(MOC2, moc-qt5)
|
||||
- mocversion=`$MOC2 -v 2>&1`
|
||||
- mocversiongrep=`echo $mocversion | grep "Qt 5\|moc-qt5 5\|moc 5"`
|
||||
- if test x"$mocversiongrep" != x"$mocversion"; then
|
||||
- AC_CHECK_TOOL(QTCHOOSER, qtchooser)
|
||||
- qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2`
|
||||
- mocversion=`$qt5tooldir/moc -v 2>&1`
|
||||
- mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
|
||||
- if test x"$mocversiongrep" != x"$mocversion"; then
|
||||
- # no valid moc found
|
||||
- have_qt5_libs="no";
|
||||
- else
|
||||
- MOC=$qt5tooldir/moc
|
||||
- fi
|
||||
- else
|
||||
- MOC=$MOC2
|
||||
- fi
|
||||
- fi
|
||||
- fi
|
||||
if test "$have_qt5_libs" != "yes"; then
|
||||
PKG_CHECK_MODULES(PINENTRY_QT,
|
||||
QtCore >= 4.4.0 QtGui >= 4.4.0,
|
||||
--
|
||||
2.4.6
|
||||
|
@ -0,0 +1,94 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools qmake-utils multilib eutils flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol"
|
||||
HOMEPAGE="http://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="emacs gtk ncurses qt4 caps gnome-keyring static"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libgpg-error-1.17
|
||||
>=dev-libs/libassuan-2
|
||||
>=dev-libs/libgcrypt-1.6.3
|
||||
app-eselect/eselect-pinentry
|
||||
caps? ( sys-libs/libcap )
|
||||
gtk? ( x11-libs/gtk+:2 )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
qt4? ( >=dev-qt/qtgui-4.4.1:4 )
|
||||
static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
gnome-keyring? ( app-crypt/libsecret app-crypt/gcr )
|
||||
"
|
||||
REQUIRED_USE="
|
||||
|| ( ncurses gtk qt4 )
|
||||
gtk? ( !static )
|
||||
qt4? ( !static )
|
||||
static? ( ncurses )
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
|
||||
epatch "${FILESDIR}/${P}-Remove-detection-of-Qt5.patch"
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use static && append-ldflags -static
|
||||
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
|
||||
|
||||
# Issues finding qt on multilib systems
|
||||
export QTLIB="${QTDIR}/$(get_libdir)"
|
||||
|
||||
econf \
|
||||
--enable-pinentry-tty \
|
||||
$(use_enable emacs pinentry-emacs) \
|
||||
$(use_enable gtk pinentry-gtk2) \
|
||||
$(use_enable ncurses pinentry-curses) \
|
||||
$(use_enable ncurses fallback-curses) \
|
||||
$(use_enable qt4 pinentry-qt) \
|
||||
$(use_with caps libcap) \
|
||||
$(use_enable gnome-keyring libsecret) \
|
||||
$(use_enable gnome-keyring pinentry-gnome3) \
|
||||
MOC="$(qt4_get_bindir)"/moc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
rm -f "${ED}"/usr/bin/pinentry || die
|
||||
|
||||
if use_enable qt4; then
|
||||
dosym pinentry-qt /usr/bin/pinentry-qt4
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
|
||||
elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
|
||||
elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
|
||||
elog "The soft resource limit for memory locking specifies the limit an"
|
||||
elog "unprivileged process may lock into memory. You can also use POSIX"
|
||||
elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
|
||||
elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
|
||||
elog "your users."
|
||||
fi
|
||||
|
||||
eselect pinentry update ifunset
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect pinentry update ifunset
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST grs-0.1.tar.gz 32017 SHA256 38018649a6c767e3e295a24bec6fd880c63f892dd74a0f34ebc0bdc22c2683a8 SHA512 89f005c520f7ee0db4c57764592fe6555d75e1c78dd3dc0c224bd2197bebfad34a1b1279fbef75411949bfcd430dc3ebf57e929934a193bbc0da9d56a2944f75 WHIRLPOOL 31d612470ecc3b13388ddee1ebac7fb8584f5642491b09cda3ed3575ff303c70da25460b56a9d9595966a681ee21ec0b93f2d0fee91874dd18c7494e74cb384e
|
||||
DIST grs-0.2.tar.gz 34089 SHA256 cf666870d1d856e77da2aa59905eea32cb603673cbeb4a0f487d962321c50006 SHA512 502b8a6d66784b7b0c93b421cc5bc25db320edb555e2b283bf9a0e1edccd67ba8c07bc8cc715824b6c82ce435d2c1f5671b7ea84d2d856beef4f771d65992efb WHIRLPOOL 52e9f4589f01f8352a882d46c85478c8e5dce47390483b4a93958231e3502fd082957f18bf9b5f2d08f04d112e5eede0b5ee140a47852ccacc8acc8723ce4e5f
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python3_4 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://anongit.gentoo.org/proj/grss.git"
|
||||
inherit git-2
|
||||
else
|
||||
SRC_URI="https://dev.gentoo.org/~blueness/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Suite to build Gentoo Reference Systems"
|
||||
HOMEPAGE="https://dev.gentoo.org/~blueness/${PN}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
app-arch/tar[xattr]
|
||||
app-crypt/md5deep
|
||||
dev-libs/libcgroup
|
||||
dev-vcs/git
|
||||
net-misc/rsync
|
||||
sys-apps/portage
|
||||
sys-fs/squashfs-tools
|
||||
virtual/cdrtools
|
||||
|| (
|
||||
sys-kernel/genkernel
|
||||
sys-kernel/genkernel-next
|
||||
)"
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
echo "CONFIG_PROTECT=\"/etc/grs/systems.conf\"" > "${T}"/20grs
|
||||
doenvd "${T}"/20grs
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
diff --git a/hs/DBus/Connection/Authentication.hs b/hs/DBus/Connection/Authentication.hs
|
||||
index b909a38..c33d311 100644
|
||||
--- a/hs/DBus/Connection/Authentication.hs
|
||||
+++ b/hs/DBus/Connection/Authentication.hs
|
||||
@@ -25,3 +25,4 @@ module DBus.Connection.Authentication
|
||||
import Prelude hiding (getLine, head)
|
||||
-import Control.Monad (liftM)
|
||||
+import Control.Applicative
|
||||
+import Control.Monad
|
||||
import qualified Data.ByteString
|
||||
@@ -58,2 +59,9 @@ data Auth a = Auth
|
||||
|
||||
+instance Functor Auth where
|
||||
+ fmap = liftM
|
||||
+
|
||||
+instance Applicative Auth where
|
||||
+ pure = return
|
||||
+ (<*>) = ap -- defined in Control.Monad
|
||||
+
|
||||
instance Monad Auth where
|
||||
diff --git a/hs/DBus/Introspection.hs b/hs/DBus/Introspection.hs
|
||||
index 96ff4a3..da82812 100644
|
||||
--- a/hs/DBus/Introspection.hs
|
||||
+++ b/hs/DBus/Introspection.hs
|
||||
@@ -29,3 +29,4 @@ module DBus.Introspection
|
||||
) where
|
||||
-import Control.Monad ((>=>))
|
||||
+import Control.Applicative
|
||||
+import Control.Monad
|
||||
import Control.Monad.ST (runST)
|
||||
@@ -176,2 +177,9 @@ newtype XmlWriter a = XmlWriter { runXmlWriter :: Maybe (a, Text) }
|
||||
|
||||
+instance Functor XmlWriter where
|
||||
+ fmap = liftM
|
||||
+
|
||||
+instance Applicative XmlWriter where
|
||||
+ pure = return
|
||||
+ (<*>) = ap -- defined in Control.Monad
|
||||
+
|
||||
instance Monad XmlWriter where
|
||||
diff --git a/hs/DBus/Types/Internal.hs b/hs/DBus/Types/Internal.hs
|
||||
index 7f5d9c5..7c73afe 100644
|
||||
--- a/hs/DBus/Types/Internal.hs
|
||||
+++ b/hs/DBus/Types/Internal.hs
|
||||
@@ -5,2 +5,3 @@
|
||||
{-# LANGUAGE IncoherentInstances #-}
|
||||
+{-# LANGUAGE FlexibleContexts #-}
|
||||
|
||||
diff --git a/hs/DBus/Util/MonadError.hs b/hs/DBus/Util/MonadError.hs
|
||||
index 33b51ed..ef01df2 100644
|
||||
--- a/hs/DBus/Util/MonadError.hs
|
||||
+++ b/hs/DBus/Util/MonadError.hs
|
||||
@@ -23,2 +23,6 @@ module DBus.Util.MonadError
|
||||
) where
|
||||
+
|
||||
+import Control.Applicative
|
||||
+import Control.Monad
|
||||
+
|
||||
newtype ErrorM e a = ErrorM { runErrorM :: Either e a }
|
||||
@@ -30,2 +34,6 @@ instance Functor (ErrorM e) where
|
||||
|
||||
+instance Applicative (ErrorM e) where
|
||||
+ pure = return
|
||||
+ (<*>) = ap -- defined in Control.Monad
|
||||
+
|
||||
instance Monad (ErrorM e) where
|
||||
@@ -41,2 +49,9 @@ newtype ErrorT e m a = ErrorT { runErrorT :: m (Either e a) }
|
||||
|
||||
+instance Monad m => Functor (ErrorT e m) where
|
||||
+ fmap = liftM
|
||||
+
|
||||
+instance Monad m => Applicative (ErrorT e m) where
|
||||
+ pure = return
|
||||
+ (<*>) = ap -- defined in Control.Monad
|
||||
+
|
||||
instance Monad m => Monad (ErrorT e m) where
|
||||
diff --git a/hs/DBus/Wire/Internal.hs b/hs/DBus/Wire/Internal.hs
|
||||
index b386eec..512ff1a 100644
|
||||
--- a/hs/DBus/Wire/Internal.hs
|
||||
+++ b/hs/DBus/Wire/Internal.hs
|
||||
@@ -19,3 +19,4 @@
|
||||
module DBus.Wire.Internal where
|
||||
-import Control.Monad (liftM, when, unless)
|
||||
+import Control.Applicative
|
||||
+import Control.Monad hiding (void)
|
||||
|
||||
@@ -96,2 +97,9 @@ newtype Wire s a = Wire
|
||||
|
||||
+instance Functor (Wire s) where
|
||||
+ fmap = liftM
|
||||
+
|
||||
+instance Applicative (Wire s) where
|
||||
+ pure = return
|
||||
+ (<*>) = ap -- defined in Control.Monad
|
||||
+
|
||||
instance Monad (Wire s) where
|
@ -1 +1,2 @@
|
||||
DIST HDBC-sqlite3-2.3.3.0.tar.gz 14827 SHA256 22f972fc44e830d0db62313fb870cd9d020f3d8efff2928d4cdb3f66b52de684 SHA512 66dfef4fd6dbaaaea4eadd3c5201a29f8f306170ef76dbf2e8a1f4239bcdcdd5b16d6d331c8a480a9e23209b2c86cfe981d7f83d4d3a0ba617dfdfb6663ad244 WHIRLPOOL b39aa543bfb12923dce1666e29d4f327691540d289b4faa0a83f5cf2aba2eaa3bd107947621fd46ca44b02ba9ba8888dece79cb8dbdadf597ae05efb52dc0ae6
|
||||
DIST HDBC-sqlite3-2.3.3.1.tar.gz 15544 SHA256 a783d9ab707ebfc68e3e46bd1bbb5d3d5493f50a7ccf31223d9848cff986ebea SHA512 17b2929aca806d0672ae83e1aa6122a38596504a4f23f868f1a3ff4e68f97c3aef6499f995659fa4ce82b1e8aab9a107172a7265309d4c3f4e9754e4cf756ec0 WHIRLPOOL f7a6102c83939cb9325450f4b3dc542c2f314d478df13c4ada4725c793731d0601829a80588ff2cdfc251286b208c0f2f6f796367f8a86b46c2962cd481163e2
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
# ebuild generated by hackport 0.4.6
|
||||
|
||||
CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
|
||||
inherit haskell-cabal
|
||||
|
||||
MY_PN="HDBC-sqlite3"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Sqlite v3 driver for HDBC"
|
||||
HOMEPAGE="https://github.com/hdbc/hdbc-sqlite3"
|
||||
SRC_URI="mirror://hackage/packages/archive/${MY_PN}/${PV}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="2"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND=">=dev-db/sqlite-3.0
|
||||
>=dev-haskell/hdbc-2.3.0.0:2=[profile?]
|
||||
dev-haskell/mtl:=[profile?]
|
||||
dev-haskell/utf8-string:=[profile?]
|
||||
>=dev-lang/ghc-7.4.1:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-haskell/cabal-1.2.3
|
||||
test? ( dev-haskell/convertible:=[profile?]
|
||||
dev-haskell/hunit:=[profile?]
|
||||
dev-haskell/old-locale:=[profile?]
|
||||
dev-haskell/old-time:=[profile?]
|
||||
dev-haskell/testpack:=[profile?] )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
# The test suite doesn't work right now. See
|
||||
#
|
||||
# https://github.com/hdbc/hdbc-sqlite3/pull/17
|
||||
#
|
||||
RESTRICT="test"
|
@ -0,0 +1,9 @@
|
||||
diff --git a/Shellish.hs b/Shellish.hs
|
||||
index 1e3c192..0ac20c2 100644
|
||||
--- a/Shellish.hs
|
||||
+++ b/Shellish.hs
|
||||
@@ -1,3 +1,3 @@
|
||||
{-# LANGUAGE ScopedTypeVariables, DeriveDataTypeable, OverloadedStrings,
|
||||
- MultiParamTypeClasses, FlexibleInstances #-}
|
||||
+ MultiParamTypeClasses, FlexibleInstances, FlexibleContexts #-}
|
||||
|
@ -0,0 +1,13 @@
|
||||
diff --git a/src/Test/HUnit/Tools.hs b/src/Test/HUnit/Tools.hs
|
||||
index a24a510..6b8a25e 100644
|
||||
--- a/src/Test/HUnit/Tools.hs
|
||||
+++ b/src/Test/HUnit/Tools.hs
|
||||
@@ -97,3 +97,7 @@ runVerbTestText (HU.PutText put us) t = do
|
||||
reportFailure = reportProblem "Failure:" "Failure in: "
|
||||
- reportProblem p0 p1 msg ss us = put line True us
|
||||
+ reportProblem p0 p1
|
||||
+#if MIN_VERSION_HUnit(1,3,0)
|
||||
+ _loc
|
||||
+#endif
|
||||
+ msg ss us = put line True us
|
||||
where line = "### " ++ kind ++ path' ++ '\n' : msg
|
@ -1,3 +1,4 @@
|
||||
DIST ekopath-2015-08-09-installer.run 58521154 SHA256 7ecd2a03012e36851f69ab35f18905793212e2feae5c242f48d8f26722c5c1ca SHA512 f7da95fa987b262aafa434487cfb64340b2be754b8e119729de998c0ccddde3bbea4f3994ecd1643dbf5e49f3a48e6173be9d0102f7eb29e41d14f0914893a5b WHIRLPOOL d9cabf4787229ff2027569f7f73095a37b40c654ed0e201478a0e100cfa091ff82f3478c6b41c992288c4711823690bb0958cb1a9209ac595bb4930aaa99af4b
|
||||
DIST ekopath-2015-08-11-installer.run 59150939 SHA256 31f491e3744257ae87b735be418287ac4530bf525cd4c61fdb0f2438f0600e4b SHA512 ada2dc774247e5ea76f35f6f9311d58d99ec599e41befc0820650affae88be6916a2dd50bf9e67e4920db2ab16fc185fb088e523c1abc75ed7bfc5ec261e0eb1 WHIRLPOOL 721deca6bb973bf64219709cd0fc95907a2c5cfb447a295e45410939f700244197fd2a382ae537a847c10368af44fcbc538ddc9529769cfa4613eab118362df7
|
||||
DIST ekopath-2015-09-10-installer.run 57138157 SHA256 fd4eca09107b9967ba01e508098c00fddbb809ba637e42aa1bb4b7518e947394 SHA512 67f99cbf74e1840de3ee4f1da810031b9e67c1ecfd7de6ff56c8303bdcdf6d9eedbb9eab975d7a6bb1ccbb3c5a65a3f60c7219f2321bd2eb4949f04979142148 WHIRLPOOL d41c1ca250b81d584d4f088ad8b03fe975bbb9fe5d6ef50c2d501904e0f187cefaf41e772c0cbd835106c1fed995a7e754a875fd621314b28bdde19a2a14fb88
|
||||
DIST ekopath-2015-09-21-installer.run 57536286 SHA256 a3aab3f1cc018222644a7d4e10d0ebe68d38626074e95638d54ae9b690721332 SHA512 3a98635f233055a81435f6dd0044f13efe7b97a7554ca5c9b50586b74a3e848076842ce0bc04c07283e8cbf92bf21fcc9b4ca36888c379ddd3190364fea9bc90 WHIRLPOOL 3bd6debddb33776ca85951a942ff87a869ca6ee0defcd493750f1682dc0f769f5c1e44820510323cd7a983b486cab07b34a955d65b890fe3d0e36171036e678d
|
||||
|
@ -0,0 +1,74 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit versionator multilib pax-utils
|
||||
|
||||
MY_PV=$(get_version_component_range 1-3)
|
||||
DATE=$(get_version_component_range 4)
|
||||
DATE=${DATE#p}
|
||||
DATE=${DATE:0:4}-${DATE:4:2}-${DATE:6}
|
||||
INSTALLER=${PN}-${DATE}-installer.run
|
||||
|
||||
DESCRIPTION="PathScale EKOPath Compiler Suite"
|
||||
HOMEPAGE="http://www.pathscale.com/ekopath-compiler-suite"
|
||||
SRC_URI="http://c591116.r16.cf2.rackcdn.com/${PN}/nightly/Linux/${INSTALLER}"
|
||||
|
||||
LICENSE="all-rights-reserved"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="!!app-arch/rpm"
|
||||
RDEPEND=""
|
||||
|
||||
RESTRICT="bindist mirror"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/${PN}/lib/${MY_PV}/x8664/*
|
||||
opt/${PN}/bin/*"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_unpack() {
|
||||
cp "${DISTDIR}/${INSTALLER}" "${S}/" || die
|
||||
chmod +x "${S}/${INSTALLER}" || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cat > 99${PN} <<-EOF
|
||||
PATH=${EROOT%/}/opt/${PN}/bin
|
||||
ROOTPATH=${EROOT%/}/opt/${PN}/bin
|
||||
LDPATH=${EROOT%/}/opt/${PN}/lib:${EROOT%/}/opt/${PN}/lib/${MY_PV}/x8664/64
|
||||
MANPATH=${EROOT%/}/opt/${PN}/docs/man
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# EI_PAX marking is obsolete and PT_PAX breaks the binary.
|
||||
# We must use XT_PAX to run the installer.
|
||||
if [[ ${PAX_MARKINGS} == "XT" ]]; then
|
||||
pax-mark m "${INSTALLER}"
|
||||
fi
|
||||
|
||||
./"${INSTALLER}" \
|
||||
--prefix "${ED%/}/opt/${PN}" \
|
||||
--mode unattended || die
|
||||
|
||||
if [[ ! -d ${ED%/}/opt/${PN}/lib/${MY_PV} ]]; then
|
||||
local guess
|
||||
cd "${ED%/}/opt/${PN}/lib" && guess=( * )
|
||||
|
||||
if [[ ${guess[@]} ]]; then
|
||||
die "Incorrect release version in PV, guessing it should be: ${guess[*]}"
|
||||
else
|
||||
die "No libdir installed"
|
||||
fi
|
||||
fi
|
||||
[[ -x ${ED%}/opt/${PN}/bin/pathcc ]] || die "No pathcc executable was installed, your hardware is unsupported most likely"
|
||||
|
||||
rm -r "${ED}/opt/${PN}"/uninstall* || die
|
||||
doenvd 99${PN}
|
||||
}
|
@ -1 +1 @@
|
||||
DIST sdformat-3.1.1.tar.bz2 414363 SHA256 4891bb042e0b91323b9f53af4d2ff376eb6fe08f5ff5050d3f82b00afc9f696c SHA512 62dd534144fed78ab17694dce8a6e465a5f61c98f57f3918b81f521a39289574c6a1c7f436054d50b31bbf8b53448e95e5c19fe2e198d8ab8aea795d5b61d5fa WHIRLPOOL 44a2f9e1e9f419f6ab40721a19bd294d8428b887a98f0fdb57f371e9ccb6c3a37a0f600f9612ee674c3a01ab0b9ac03876cf8236c57958a5577e0855a08d2b7a
|
||||
DIST sdformat-3.1.1.tar.bz2 419123 SHA256 ffeb64a05ffd3dd6de1f25bdfe716eb9f61cde6c96d5060fb6dd740c6b875657 SHA512 655507ffc77a4614c1c63e276e7894054bde9fb6d96b21fed0b7c4623cc7653e526b2fd560c2da577cb0ee480a3476d1adc505abc3b946fd062e72863cf1f85a WHIRLPOOL 6b16d08362de25f7c4691403b34b16db81964bfa70e859be7c68272a4435d188b96737a3980ad3a7a4b37bfc2be8269cd8095e1b9082d2420b3364c87a7461e4
|
||||
|
@ -1,3 +1,4 @@
|
||||
DIST wayland-1.6.1.tar.xz 418628 SHA256 d1aeb95b433cab33a928b56cb80efa551802e0a064adb4a8ea1517249d3c10b0 SHA512 28a0980ece2fb4ba0ca688f3913ffba34c2741167d7686be80cfbc9cb56f995282a68173d69d2849eb5c2986684ebe6d5cfaca04518ab74a4512c8dfb4d8d0c2 WHIRLPOOL be307a292c8f939921700fc85c9ad1675c491fdc3e1a16ffc52512e39d971f6afdbd378c60c57a64781cdccb364ed77271e07b64f5c3b7b96abd45a1595dfc4e
|
||||
DIST wayland-1.7.0.tar.xz 372004 SHA256 bdea47a2db96f7e53f1ce0351559c0af5b7f7aae7e95f0a884a78af9f1057c9c SHA512 2475a5e8c2ef5c4bc97d90f946a89e4155d840a342886a7634df5423e5764973dbf5d721e1a8a941b7bd2305017cdcb74af7a29bee7bb8b58373306e5c03add7 WHIRLPOOL 152be0d1c3ac314cd3dcd765e6a04eaa71b618b1577c423147ccb5b1d82cdeaf09d09c8933746e6bd100b2d59374749084eede36b9075a153328fda179955ea2
|
||||
DIST wayland-1.8.1.tar.xz 374116 SHA256 f17c938d1c24fd0a10f650a623a2775d329db3168b5732e498b08388ec776fc8 SHA512 392edd22203fc44a37a66d7a099d0534f047f49e91b28614092346f0167c07a39431c5919f2ea1deaf460dc53a77fba8504a7a7f5d03af638267c767bb07ae19 WHIRLPOOL f15ea109324c0c84b848f458acb6786248fb1c7ee8dafd6ef945d4f80f5b87b911dd2d2c0485b1ceeeed95454990e186e7d8b04d366f903954dd8998a1f3999f
|
||||
DIST wayland-1.9.0.tar.xz 351096 SHA256 9c8770720aa0034479735f58a4dc4ca9b172ecfede28f5134312e135b7301efa SHA512 245569f404474ab25e4f771d7652e77674363ac43233d49ecfeff0c52f02d34231064c17d56e61b6822259cb3956fc8c3789d788d9a84716f947915ad62fee6d WHIRLPOOL ce46b5568b6c6b23bec5129030680c7486cb6b6a7e761fbb5041b640d5a14eb45f88f46c4ea6b0a7e9cbda425bed13ae7ff58618ce3d1346f7422f8da4649060
|
||||
|
@ -0,0 +1,63 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
if [[ ${PV} = 9999* ]]; then
|
||||
EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
|
||||
GIT_ECLASS="git-r3"
|
||||
EXPERIMENTAL="true"
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
fi
|
||||
|
||||
inherit autotools-multilib toolchain-funcs $GIT_ECLASS
|
||||
|
||||
DESCRIPTION="Wayland protocol libraries"
|
||||
HOMEPAGE="http://wayland.freedesktop.org/"
|
||||
|
||||
if [[ $PV = 9999* ]]; then
|
||||
SRC_URI="${SRC_PATCHES}"
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE="doc static-libs"
|
||||
|
||||
RDEPEND=">=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
|
||||
>=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? (
|
||||
>=app-doc/doxygen-1.6[dot]
|
||||
app-text/xmlto
|
||||
>=media-gfx/graphviz-2.26.0
|
||||
sys-apps/grep[pcre]
|
||||
)
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable doc documentation)
|
||||
)
|
||||
if tc-is-cross-compiler ; then
|
||||
myeconfargs+=( --disable-scanner )
|
||||
fi
|
||||
if ! multilib_is_native_abi; then
|
||||
myeconfargs+=( --disable-documentation )
|
||||
fi
|
||||
|
||||
autotools-multilib_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export XDG_RUNTIME_DIR="${T}/runtime-dir"
|
||||
mkdir "${XDG_RUNTIME_DIR}" || die
|
||||
chmod 0700 "${XDG_RUNTIME_DIR}" || die
|
||||
|
||||
autotools-multilib_src_test
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST weston-1.6.1.tar.xz 734968 SHA256 e9ef779fda4008b7081ee6c64df7971c50954c5cf0d166d8a2fcb104ec1042fd SHA512 837c632d47dc496d7daf488e9887e6ff3d6baf9d954c3a283640722f068165955c22677c26abb9f8c0142352084d6a22054edf0963deb9a62b0f7e84e1c0e6cf WHIRLPOOL 6dc60bb64841fb77af30aca532ad069a169ebdababeaa3a14b3974ff3b32e04159157b0c270f333fcc5ac97c5061a44fb1387be358bcf1ded45f6dc55f366445
|
||||
DIST weston-1.7.0.tar.xz 1286904 SHA256 1c4511945f3f476c24af712e82a7b500ae91a99cbc0fe2e381da1449125166cd SHA512 2ba9c7cfd2a18354af8996bf8d78bbccd12bff1ee99102d5057758cdc54311632f7e7583ffcb075efb75e702a8fa210ea0c4f0f8bb8b18e9df39a9db77d03d19 WHIRLPOOL 48ee5e4b8676cc84fbeef019034b9961fe1be51f31af11d3df24ba1d5d446133b747ac1494ef080647d8b845492125fbb453a037d0b552b43a5167bbba8c36aa
|
||||
DIST weston-1.8.0.tar.xz 1317032 SHA256 8963e69f328e815cec42c58046c4af721476c7541bb7d9edc71740fada5ad312 SHA512 3ad527259d17f67f48796be6c378a8958dffbe8668d1e7079253c2d52420523ea1cef81e82ff02403fde81cf33c7b93a9702ef077bdb07762df904e368541039 WHIRLPOOL d3b2d4846bca176078d535f7ba2d26d177988f7d1d0f38163d0177534c112dfb54aef928a7608ecb531a69b4d55709c6ab72949d5a6f7a85baa1e9ec37ba368f
|
||||
DIST weston-1.9.0.tar.xz 1238240 SHA256 9c1b03f3184fa0b0dfdf67e215048085156e1a2ca344af6613fed36794ac48cf SHA512 9bcbb5971b8a55d9e10aacf0aae868ff03750a98daee5233dcbff5698ed84e41c4b147fa1fdb1e2be916e3b1e13f259e0eec62354517d6e2a7e1d301a8522f66 WHIRLPOOL 3329a1783da2c7509fb93a64343b6b70f6d45de614a15e17d3a2a2439b440298e25c3dd4504042de38e501877cf47d909849fd6263b081c6ccc0bf8e1362287b
|
||||
|
@ -0,0 +1,144 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
if [[ ${PV} = 9999* ]]; then
|
||||
EGIT_REPO_URI="git://anongit.freedesktop.org/git/wayland/${PN}"
|
||||
GIT_ECLASS="git-r3"
|
||||
EXPERIMENTAL="true"
|
||||
fi
|
||||
VIRTUALX_REQUIRED="test"
|
||||
RESTRICT="test"
|
||||
|
||||
inherit autotools readme.gentoo toolchain-funcs virtualx $GIT_ECLASS
|
||||
|
||||
DESCRIPTION="Wayland reference compositor"
|
||||
HOMEPAGE="http://wayland.freedesktop.org/"
|
||||
|
||||
if [[ $PV = 9999* ]]; then
|
||||
SRC_URI="${SRC_PATCHES}"
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm ~x86 ~arm-linux"
|
||||
fi
|
||||
|
||||
LICENSE="MIT CC-BY-SA-3.0"
|
||||
SLOT="0"
|
||||
IUSE="colord dbus +drm editor examples fbdev +gles2 headless ivi rdp +resize-optimization rpi +launch screen-sharing static-libs +suid systemd test unwind wayland-compositor +X xwayland"
|
||||
|
||||
REQUIRED_USE="
|
||||
drm? ( gles2 )
|
||||
screen-sharing? ( rdp )
|
||||
test? ( X )
|
||||
wayland-compositor? ( gles2 )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libinput-0.8.0
|
||||
>=dev-libs/wayland-1.9.0
|
||||
media-libs/lcms:2
|
||||
media-libs/libpng:0=
|
||||
media-libs/libwebp:0=
|
||||
virtual/jpeg:0=
|
||||
>=x11-libs/cairo-1.11.3
|
||||
>=x11-libs/libdrm-2.4.30
|
||||
x11-libs/libxkbcommon
|
||||
x11-libs/pixman
|
||||
x11-misc/xkeyboard-config
|
||||
fbdev? (
|
||||
>=sys-libs/mtdev-1.1.0
|
||||
>=virtual/udev-136
|
||||
)
|
||||
colord? ( >=x11-misc/colord-0.1.27 )
|
||||
dbus? ( sys-apps/dbus )
|
||||
drm? (
|
||||
media-libs/mesa[gbm]
|
||||
>=sys-libs/mtdev-1.1.0
|
||||
>=virtual/udev-136
|
||||
)
|
||||
editor? ( x11-libs/pango )
|
||||
gles2? (
|
||||
media-libs/mesa[gles2,wayland]
|
||||
)
|
||||
rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20130710 )
|
||||
rpi? (
|
||||
>=sys-libs/mtdev-1.1.0
|
||||
>=virtual/udev-136
|
||||
)
|
||||
systemd? (
|
||||
sys-auth/pambase[systemd]
|
||||
sys-apps/systemd[pam]
|
||||
)
|
||||
launch? ( sys-auth/pambase )
|
||||
unwind? ( sys-libs/libunwind )
|
||||
X? (
|
||||
x11-libs/libxcb
|
||||
x11-libs/libX11
|
||||
)
|
||||
xwayland? (
|
||||
x11-base/xorg-server[wayland]
|
||||
x11-libs/cairo[xcb]
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcursor
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} = 9999* ]]; then
|
||||
eautoreconf
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
if use examples || use test; then
|
||||
myconf="--enable-simple-clients"
|
||||
else
|
||||
myconf="--disable-simple-clients"
|
||||
fi
|
||||
|
||||
myconf+=" --with-cairo=image --disable-simple-egl-clients"
|
||||
|
||||
econf \
|
||||
$(use_enable examples demo-clients-install) \
|
||||
$(use_enable fbdev fbdev-compositor) \
|
||||
$(use_enable dbus) \
|
||||
$(use_enable drm drm-compositor) \
|
||||
$(use_enable headless headless-compositor) \
|
||||
$(use_enable ivi ivi-shell) \
|
||||
$(use_enable rdp rdp-compositor) \
|
||||
$(use_enable rpi rpi-compositor) \
|
||||
$(use_enable wayland-compositor) \
|
||||
$(use_enable X x11-compositor) \
|
||||
$(use_enable launch weston-launch) \
|
||||
$(use_enable colord) \
|
||||
$(use_enable gles2 egl) \
|
||||
$(use_enable unwind libunwind) \
|
||||
$(use_enable resize-optimization) \
|
||||
$(use_enable screen-sharing) \
|
||||
$(use_enable suid setuid-install) \
|
||||
$(use_enable xwayland) \
|
||||
$(use_enable xwayland xwayland-test) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export XDG_RUNTIME_DIR="${T}/runtime-dir"
|
||||
mkdir "${XDG_RUNTIME_DIR}" || die
|
||||
chmod 0700 "${XDG_RUNTIME_DIR}" || die
|
||||
|
||||
cd "${BUILD_DIR}" || die
|
||||
Xemake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
readme.gentoo_src_install
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
diff -r -U1 sbcl-1.2.15.orig/contrib/sb-posix/posix-tests.lisp sbcl-1.2.15/contrib/sb-posix/posix-tests.lisp
|
||||
--- sbcl-1.2.15.orig/contrib/sb-posix/posix-tests.lisp 2015-08-31 00:59:03.000000000 +0600
|
||||
+++ sbcl-1.2.15/contrib/sb-posix/posix-tests.lisp 2015-09-22 10:19:20.000000000 +0600
|
||||
@@ -169,19 +169,19 @@
|
||||
|
||||
-(deftest rmdir.error.3
|
||||
- (handler-case
|
||||
- (sb-posix:rmdir #-win32 "/" #+win32 (sb-ext:posix-getenv "windir"))
|
||||
- (sb-posix:syscall-error (c)
|
||||
- (typep
|
||||
- (sb-posix:syscall-errno c)
|
||||
- '(member
|
||||
- #+(or darwin openbsd)
|
||||
- #.sb-posix:eisdir
|
||||
- #+win32
|
||||
- #.sb-posix::eacces
|
||||
- #+win32
|
||||
- #.sb-posix::enotempty
|
||||
- #+sunos
|
||||
- #.sb-posix::einval
|
||||
- #-(or darwin openbsd win32 sunos)
|
||||
- #.sb-posix::ebusy)))) t)
|
||||
+;(deftest rmdir.error.3
|
||||
+; (handler-case
|
||||
+; (sb-posix:rmdir #-win32 "/" #+win32 (sb-ext:posix-getenv "windir"))
|
||||
+; (sb-posix:syscall-error (c)
|
||||
+; (typep
|
||||
+; (sb-posix:syscall-errno c)
|
||||
+; '(member
|
||||
+; #+(or darwin openbsd)
|
||||
+; #.sb-posix:eisdir
|
||||
+; #+win32
|
||||
+; #.sb-posix::eacces
|
||||
+; #+win32
|
||||
+; #.sb-posix::enotempty
|
||||
+; #+sunos
|
||||
+; #.sb-posix::einval
|
||||
+; #-(or darwin openbsd win32 sunos)
|
||||
+; #.sb-posix::ebusy)))) t)
|
||||
|
@ -1,4 +1,2 @@
|
||||
DIST cppo-0.9.3.tar.gz 20393 SHA256 40a0acba9bd3b0bd8890ae2a87f479090bc4de7fa83b8ead028d08a34937923c SHA512 17726128d3c2cbd07fc70b8200f4a0a3ffed349c5d655bea9791302e88b0731cd93cdabd492e88db170fd1f6c4ed4760a65567c0265a7d1b745885be346c18b8 WHIRLPOOL ec865dff33d6278273dccb348d60d4aa783ae4348a164f08f578aef68200cbb7701fac03a39d8992a48869cf674390d0fa020c3910f62b93c4b13f96bb8c84df
|
||||
DIST cppo-1.0.1.tar.gz 21655 SHA256 bf08976e8d3bb1614094fec8e4066c6df178e2aa6f96b883fa571aaad3c6e1e4 SHA512 50f84d30c69c245db960ea11d1cc9f2b15d5333ae9f848387c212cc9a0f8e4383cc1bca10c351b460a0ef0849bed62c6a916869a036a985e267c167216c1ddb5 WHIRLPOOL c5f35ad25a4e4cfd11721ae41df5928fb65c2f20af0660a5729d6e59361bb18c819b624dd506d2fc81b165023c6b6711e695ef24b365c34f55af3173c556af81
|
||||
DIST cppo-1.1.2.tar.gz 24908 SHA256 975e0cb5e2751a604715eb042a059ef4965aff0318cf4c0553f215ed0964dfdd SHA512 dac094d21db26b867aa0db7461ca442a62ec6d9fd90a9da84ed66cca1764e227ebc86af222e3ba5120e431cf1aa1a7e5ae037cd2ecf6471c354a6181aa723086 WHIRLPOOL 6aac4b9067238fa1f4bccc9af612b47ab9dcddac0ed5855783a0bd52c44e829b74ffe048ab49dc7a3dfc7b59e1eb03f603dd0727cadbc1a9ca665990fcec17ee
|
||||
DIST cppo-1.3.0.tar.gz 26012 SHA256 042180a1c4c0d141025685977ac866c5c26505b2913c4cb1fdc2affa4fd21d7e SHA512 cbed2323b3458fd793df6d945e9f4dcd9ede61ad1df566d83027079f6abdd0c505bb03c3cc3f1dccf841afa8cd30052bfa0eab756e338b4c487c7a11413c7527 WHIRLPOOL dc726c557edc34f3c96d7f3d1973b237719ec3011734776176b3908fb21576a8301bb0497668eb7a839dd647b4f12403147d89f90f30660997630a7396c595be
|
||||
DIST cppo-1.3.1.tar.gz 26259 SHA256 2e3e658b0ba24d7217c59e76df3e92d4e03866143da8d206b3267cebccfefc69 SHA512 0e5180ce21bb605733ca4bfd64f1917ccb8772f6d078a23d39710b4dc1c5ede32dcaa3bd30116f17683c4040a7cfc41a4ca541e9c973265ec1dd988e2ec67238 WHIRLPOOL 37cc6699aaabd2642b55e00d3c55bfe442c978eb540889ee396ebecd5e5343e45b7e4322cff65e5add8ea3cf18f379d1d7632389742bac1f30b7cfa67c5af172
|
||||
|
@ -1,28 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
DESCRIPTION="An equivalent of the C preprocessor for OCaml programs"
|
||||
HOMEPAGE="http://mjambon.com/cppo.html"
|
||||
SRC_URI="http://mjambon.com/releases/${PN}/${P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="BSD"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
IUSE="examples"
|
||||
|
||||
RDEPEND=">=dev-lang/ocaml-3.12:="
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_install() {
|
||||
mkdir -p "${ED}"/usr/bin
|
||||
emake PREFIX="${ED}"/usr install
|
||||
dodoc README Changes
|
||||
if use examples ; then
|
||||
dodoc -r examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit findlib
|
||||
|
||||
DESCRIPTION="An equivalent of the C preprocessor for OCaml programs"
|
||||
HOMEPAGE="http://mjambon.com/cppo.html"
|
||||
SRC_URI="http://mjambon.com/releases/${PN}/${P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="BSD"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
IUSE="examples"
|
||||
|
||||
RDEPEND=">=dev-lang/ocaml-3.12:="
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_install() {
|
||||
findlib_src_preinst
|
||||
mkdir -p "${ED}"/usr/bin
|
||||
emake PREFIX="${ED}"/usr install
|
||||
dodoc README.md Changes
|
||||
if use examples ; then
|
||||
dodoc -r examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST parmap-1.0_rc6.tar.gz 97083 SHA256 25e2eeb2ec8b1dedc8067443ddcddf4ab0ff2e3821da888338146af69e8fd9e6 SHA512 5378a8ce03d3a4d139d06093bd29fa83eca13b6e74be14d379337c9a08ebac39b23920925375c753c63c7f62970f7f899a9d6cbf8a5001b262293cf52e9ea5c1 WHIRLPOOL 28c11c3ef9d4b0fb56fde988dc62e2993a313445005b657838cad41e9768a13a65535d69d81cac792bc8a95038521fe130488e25dcf87ef25d61d9533fea6729
|
||||
DIST parmap-1.0_rc7.tar.gz 97799 SHA256 b993d47b8b8e5342839b851b46aba52264b4f8c527db08f3124ed7a7de7e1912 SHA512 50ac96f0f8b835298958f1a8ca65a2e488eab9c86f5fd57b43d5cd8145c71594a537add568dbe8f471d41157701769e35d0e992b07b430252623b72d7488d562 WHIRLPOOL 54842d45a7495316f42ae63de08db88512adddc1ee743a70de5a899d4c35e7a2e062bfc6f9456c65a32d2279784eb291f0299fd9b785e59e3607dec193f7f01d
|
||||
|
@ -0,0 +1,46 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit multilib
|
||||
|
||||
MY_PV="${PV/_/-}"
|
||||
DESCRIPTION="Library allowing to exploit multicore architectures for OCaml programs with minimal modifications"
|
||||
HOMEPAGE="http://www.dicosmo.org/code/parmap/"
|
||||
SRC_URI="https://github.com/rdicosmo/parmap/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2-with-linking-exception"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+ocamlopt"
|
||||
|
||||
RDEPEND=">=dev-lang/ocaml-3.12:=[ocamlopt?]"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-ml/findlib
|
||||
dev-ml/ocaml-autoconf"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
src_test() {
|
||||
mkdir "${WORKDIR}/tmpinstall" || die
|
||||
emake \
|
||||
OCAMLLIBDIR="ocaml" \
|
||||
DESTDIR="${WORKDIR}/tmpinstall" \
|
||||
install
|
||||
export OCAMLPATH="${WORKDIR}/tmpinstall/ocaml"
|
||||
emake tests
|
||||
cd _build/tests || die
|
||||
for i in $(find . -type f -executable) ; do
|
||||
${i} || die
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake \
|
||||
OCAMLLIBDIR="$(get_libdir)/ocaml" \
|
||||
MANDIR="${ED}/usr/share/man/man3o" \
|
||||
DESTDIR="${ED}/usr" \
|
||||
install
|
||||
dodoc AUTHORS ChangeLog README
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST Math-Base-Convert-0.08.tar.gz 41469 SHA256 ed6f9324f8e9385e4a003a9b89d00189eaa8e537fcf940240b5f2a9c6f23844b SHA512 3c7582ba0b9844cce8ec3d1f26e385b1370930625f93eaf8752ab0700e2cdf50af591e277b05426044d847f791a75f0992d2ed4d1e22c483593e637a06827496 WHIRLPOOL 8e901b23cc990b45cef9c6dd18a0abfc973fe5f9ab6143b758dad00eae7bb850afee9c9b4fd793c854d4179c1818709c62ac0fa23a2e4bbc0e44169dbaadb16d
|
@ -0,0 +1,19 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=MIKER
|
||||
MODULE_VERSION=0.08
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Very fast base to base conversion"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="virtual/perl-ExtUtils-MakeMaker"
|
||||
|
||||
SRC_TEST="do parallel"
|
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>perl</herd>
|
||||
</pkgmetadata>
|
@ -1 +1,2 @@
|
||||
DIST SQL-Abstract-1.78.tar.gz 97200 SHA256 43db14f8869d1e4ca8e2a4e02efeb395c57ad71bbdf1e9894e4c8c5874668193 SHA512 d0c92a845588f4a940a178d28150220275e08a82a55619af171b6df05885a41b550a1ba31ba94f23ae352e2dd4d63b3ececb3bc8ddb4cb94d2e20c6cc2bd026f WHIRLPOOL 7c08530835ce97265e72383a4e3cee2b36a94060a00185125bcf340402d19890b0c094a286b34e91b77b963ff753e9be27cd00f4b79c6db07dde04bd8cfeb5b1
|
||||
DIST SQL-Abstract-1.81.tar.gz 103010 SHA256 5f4d5618ce2424d62bbfdb5228b382e8be0e0ccedbb273d6d850e25d07e64f9f SHA512 1ca38403707117c6a7927e1d89e70d22bf75429137409aa9dee48bb75dd17ca941dd0012c5d388e8e39ea75ae800a1d62b04c0b12b700f2e3137e40f651f961c WHIRLPOOL 9a8ab7b868a14a68a74edc65e04d145c36bdd3c28938db27fd19c29c12e1d02bd0d2f689c1294d36cf91b5e6cd91872159c52ad6937f706f1a7db518a870fbbf
|
||||
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=RIBASUSHI
|
||||
MODULE_VERSION=1.81
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Generate SQL from Perl data structures"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~ppc-aix ~ppc-macos ~x86-solaris"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/perl-Exporter-5.570.0
|
||||
>=dev-perl/Hash-Merge-0.120.0
|
||||
virtual/perl-Scalar-List-Utils
|
||||
>=dev-perl/MRO-Compat-0.120.0
|
||||
>=dev-perl/Moo-1.4.2
|
||||
>=virtual/perl-Text-Balanced-2.0.0
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=virtual/perl-ExtUtils-MakeMaker-6.590.0
|
||||
test? (
|
||||
virtual/perl-Storable
|
||||
>=dev-perl/Test-Deep-0.101.0
|
||||
>=dev-perl/Test-Exception-0.310.0
|
||||
dev-perl/Test-Pod
|
||||
>=virtual/perl-Test-Simple-0.880.0
|
||||
dev-perl/Test-Warn
|
||||
)
|
||||
"
|
||||
# dev-perl/Test-Pod-Coverage
|
||||
|
||||
SRC_TEST="do"
|
@ -1 +1,2 @@
|
||||
DIST SQL-Statement-1.405.tar.gz 138703 SHA256 239094b6f18c36d174a7a9aa73c13cbaf9fec83d68dce5a2226a6120bb673026 SHA512 e7aa4cd9c300d3638e07e078c09d0e551fe799311b871f1a669efd4bf3f4675068895f86d15b852aa0230decacc3f019ad55a2972d0d298813ca189e9b57281b WHIRLPOOL 65602df50ef0f81a79a76bad4ea2cb37fb45d9235740e0c46a2f7ce2c044f23217d21fd6d59cd50a6422e9eda1b3ca5779823d3d76997957a658b44d566bec46
|
||||
DIST SQL-Statement-1.407.tar.gz 137336 SHA256 f6e0c82b924a9eb983ad1561cad8bdd10f50fef97e53696e948ae167bd33b4d0 SHA512 65957c9085cf61e8ec4b80b5e1a9fc89fe22c05213b5673d311de06e6bd2645ed94a7d97eac7ca5e56a69b6d36ba0b235ebfd904903295e9a1e6c48a100750f4 WHIRLPOOL 148dc98070adf2db7e721b0d5b4332e71e4f7232c90d039fe634a7f67b9294412c62428c72cc7912b204ed8a75fa21efb3a1ad0be52b18007d514d46976afd77
|
||||
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=REHSACK
|
||||
MODULE_VERSION=1.407
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Small SQL parser and engine"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="
|
||||
virtual/perl-Carp
|
||||
>=dev-perl/Clone-0.30
|
||||
virtual/perl-Data-Dumper
|
||||
dev-perl/Module-Runtime
|
||||
>=dev-perl/Params-Util-1.0.0
|
||||
>=virtual/perl-Scalar-List-Utils-1.0.0
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? (
|
||||
dev-perl/Test-Pod
|
||||
dev-perl/Test-Pod-Coverage
|
||||
dev-perl/Math-Base-Convert
|
||||
)
|
||||
"
|
||||
|
||||
SRC_TEST="do parallel"
|
||||
|
||||
#pkg_setup() {
|
||||
# export SQL_STATEMENT_WARN_UPDATE=sure
|
||||
#}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue