parent
a5eac0c22a
commit
79182bf11c
@ -1,5 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>perl</herd>
|
||||
<maintainer>
|
||||
<email>maintainer-needed@gentoo.org</email>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST eselect-emacs-1.16.tar.xz 8720 SHA256 f4d789d611db71bc5ce949a3e05b911e7ec34ad9a596cc9f1f2af210314d96bb SHA512 5c3fdc6426ccfc162b4bb7805d2b183bd69a240542547a6d43715103692e931d4e7e2d5d4932ab00169e74dabc2208cec98d626e2b6d4b0434daf45ede300913 WHIRLPOOL 0c9776cd9f95ca0060443e7edba027c094223ed3335d4a1e3450ab48284d7073f43e8dc85906a3a6c861763b0fe6edd4f2a245b17f21e3ad0c0e7faa8353cdab
|
||||
DIST eselect-emacs-1.17.tar.xz 8792 SHA256 93dc2688671a933478ca9b1fc8c3ecb20653bcaec1d55e313e9d34f7e4e1a217 SHA512 fb367e6c583a19c532a8cbeb38b1f9f4770f3884fa375f66b22e2798c3d79a20e2a794b5e6626b9c9c0205008ad3ccd88fad257a7d82d87cdd298a26175bb964 WHIRLPOOL 2e2713c6be67f913a2a4f510f5ea8fdb688fbf6f9a43e0edfb58098f0a513527098f2403a56adbf52cbf43c83879e5ee5bfb2537dd7e7acc7eb078a3036d3b1e
|
||||
DIST eselect-emacs-1.18.tar.xz 8964 SHA256 72e59fc780bfe18aa782862609e2651a0fd14bf381a4529bf5a1d6ab1c1b90df SHA512 9e346dc2331e577716945360de199848606d6b67776c1e7875d1437ff7e03796ac64cd0a3656109be87c0578b45bee1175f0ba4af2be96d0e27442d51bf182aa WHIRLPOOL 6812d8a4e79fc2286715219f5f443ed0aa662249bea3d381e293dd21324b1887bc674f3f7fa7bc94643f555bbd341969b1198f305a60043183e9fdcab31759f9
|
||||
|
@ -0,0 +1,25 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-ctags/eselect-ctags-1.18.ebuild,v 1.1 2014/12/19 19:02:39 ulm Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
MY_P="eselect-emacs-${PV}"
|
||||
DESCRIPTION="Manages ctags implementations"
|
||||
HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Emacs"
|
||||
SRC_URI="http://dev.gentoo.org/~ulm/emacs/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
RDEPEND="!<app-admin/eselect-emacs-1.18
|
||||
>=app-admin/eselect-1.2.3"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/eselect/modules
|
||||
doins {ctags,etags}.eselect
|
||||
doman {ctags,etags}.eselect.5
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST eselect-emacs-1.16.tar.xz 8720 SHA256 f4d789d611db71bc5ce949a3e05b911e7ec34ad9a596cc9f1f2af210314d96bb SHA512 5c3fdc6426ccfc162b4bb7805d2b183bd69a240542547a6d43715103692e931d4e7e2d5d4932ab00169e74dabc2208cec98d626e2b6d4b0434daf45ede300913 WHIRLPOOL 0c9776cd9f95ca0060443e7edba027c094223ed3335d4a1e3450ab48284d7073f43e8dc85906a3a6c861763b0fe6edd4f2a245b17f21e3ad0c0e7faa8353cdab
|
||||
DIST eselect-emacs-1.17.tar.xz 8792 SHA256 93dc2688671a933478ca9b1fc8c3ecb20653bcaec1d55e313e9d34f7e4e1a217 SHA512 fb367e6c583a19c532a8cbeb38b1f9f4770f3884fa375f66b22e2798c3d79a20e2a794b5e6626b9c9c0205008ad3ccd88fad257a7d82d87cdd298a26175bb964 WHIRLPOOL 2e2713c6be67f913a2a4f510f5ea8fdb688fbf6f9a43e0edfb58098f0a513527098f2403a56adbf52cbf43c83879e5ee5bfb2537dd7e7acc7eb078a3036d3b1e
|
||||
DIST eselect-emacs-1.18.tar.xz 8964 SHA256 72e59fc780bfe18aa782862609e2651a0fd14bf381a4529bf5a1d6ab1c1b90df SHA512 9e346dc2331e577716945360de199848606d6b67776c1e7875d1437ff7e03796ac64cd0a3656109be87c0578b45bee1175f0ba4af2be96d0e27442d51bf182aa WHIRLPOOL 6812d8a4e79fc2286715219f5f443ed0aa662249bea3d381e293dd21324b1887bc674f3f7fa7bc94643f555bbd341969b1198f305a60043183e9fdcab31759f9
|
||||
|
@ -0,0 +1,25 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-emacs/eselect-emacs-1.18.ebuild,v 1.1 2014/12/19 19:03:12 ulm Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="Manage multiple Emacs versions on one system"
|
||||
HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Emacs"
|
||||
SRC_URI="http://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
|
||||
RDEPEND=">=app-admin/eselect-1.2.6
|
||||
~app-admin/eselect-ctags-${PV}"
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/eselect/modules
|
||||
doins {emacs,gnuclient}.eselect
|
||||
doman {emacs,gnuclient}.eselect.5
|
||||
dodoc ChangeLog
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>perl</herd>
|
||||
<maintainer>
|
||||
<email>maintainer-needed@gentoo.org</email>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
||||
|
@ -1,5 +1,2 @@
|
||||
DIST sysklogd-1.4.1-cvs-20061230.patch.bz2 12584 SHA256 4ca2fd34dacd1c10018b6a786c24faa392d6fef57607e240e3bcaf925231e2b2 SHA512 30c6577638b5591473ec8c1d81c4f5932beccdabfcb94c6aaf5a149eb7502078f67e79fed48bb8d6215f5d4a57504aebcbafc648f4bcd3ee5c35cf0495fb2eeb WHIRLPOOL dacbf8481f72dd535d94a4348f4f188666e25e2822f965071019ac970d599f3d4117515670815aef43e3f866102ac38a1c47f9c0c582cf4210e8be054c1975c3
|
||||
DIST sysklogd-1.4.1.tar.gz 81784 SHA256 44357e0fae8c8f0e315bf130b4e86a4f96b91d66eeb4e473def4ce8336fff102 SHA512 01924f9b9c72e3a0ee1a530eb8bd39779ca52dfabb62725085c6d3d71898777e6a47dae1c104ad6d376064c66b9dada9e3ba27e98ba92915a0875e789d8b2c8b WHIRLPOOL 2a275609c70af99fd8f72de29823c61f338322062d9ea8895dd6f4e906d01690546d76d5733035f052715b6e09f35e4af5e0d26cf3a688cb6b9e0b7bd88d8ef9
|
||||
DIST sysklogd-1.5.1.tar.gz 90011 SHA256 5166c185ae23c92e8b9feee66a6e3d0bc944bf673112f53e3ecf62e08ce7c201 SHA512 a72196a1a172d25be1c4791ef6256fe71fa2ba8c1383d230e646e93f8a65c3a57c535189726325da4c792fdb2e9cb119bba43c878816a8e78e78189fd32b12b7 WHIRLPOOL a9be298553e89d1b61f3ac4d5cfc6bd5662ab84d9120adfcdd6b8aaf5fe4d54d9e34ac19dab5c1738578af302597e424e95fc68345a1855e3be2760b093037ea
|
||||
DIST sysklogd-1.5.tar.gz 86557 SHA256 6169b8e91d29288e90404f01462b69e7f2afb1161aa419826fe4736c7f9eb773 SHA512 19ef104c03a8c87ea30c811fe54bb30e7c73a2834a83c8720841f0d553d41508dbf052d4e3dd9ea929eedff31e9fbb79f8c05546f48005b74f01ebf2a57e48f7 WHIRLPOOL 29c44d78bed58224291403e6ff26fd5c50d9d1f774df2f8560ad5f24fe0dd3ac6c232ac19489c96eeaa1d2a6171a735f5b8f0c9e5734c88e9d03e98d1ac08e48
|
||||
DIST sysklogd_1.5-6.diff.gz 25677 SHA256 1c5366865bd058530071a6071c317ab3562f33f4b0f3a934878cb97059fde20a SHA512 816961a835a43057569f62fd20d9f7b5e0bfcfcb173b68947457708504db3ce47e635956c8a9564f9bd577d8f3c49dfc725d321dfd3370b2de918363c30f838e WHIRLPOOL 0c330ed79b5a688ddec0a80e6333c181cfa297350ec9559166e5828d715a305b5b52eee5f7cc95f7b4ebccf03f21de594d428fa2b2ef117bd0a1630684c71364
|
||||
|
@ -1,15 +0,0 @@
|
||||
accept/recvfrom take pointers to socklen_t's
|
||||
|
||||
http://lists.infodrom.org/infodrom-sysklogd/2006/0011.html
|
||||
|
||||
--- syslogd.c
|
||||
+++ syslogd.c
|
||||
@@ -841,7 +841,7 @@
|
||||
int len, num_fds;
|
||||
#else /* __GLIBC__ */
|
||||
#ifndef TESTING
|
||||
- size_t len;
|
||||
+ socklen_t len;
|
||||
#endif
|
||||
int num_fds;
|
||||
#endif /* __GLIBC__ */
|
@ -1,169 +0,0 @@
|
||||
diff -Naur sysklogd-1.4.1-orig/klogd.8 sysklogd-1.4.1/klogd.8
|
||||
--- sysklogd-1.4.1-orig/klogd.8 2005-03-11 11:12:09.000000000 -0500
|
||||
+++ sysklogd-1.4.1/klogd.8 2005-10-17 23:47:41.615009160 -0400
|
||||
@@ -3,6 +3,7 @@
|
||||
.\" Sun Jul 30 01:35:55 MET: Martin Schulze: Updates
|
||||
.\" Sun Nov 19 23:22:21 MET: Martin Schulze: Updates
|
||||
.\" Mon Aug 19 09:42:08 CDT 1996: Dr. G.W. Wettstein: Updates
|
||||
+.\" Thu Feb 17 2000: Chris Wing: Unprivileged klogd feature
|
||||
.\" Fri Mar 11 17:11:46 CET 2005: Martin Schulze: sysctl updates
|
||||
.\"
|
||||
.TH KLOGD 8 "11 March 2005" "Version 1.4" "Linux System Administration"
|
||||
@@ -18,6 +19,12 @@
|
||||
.RB [ " \-f "
|
||||
.I fname
|
||||
]
|
||||
+.RB [ " \-u "
|
||||
+.I username
|
||||
+]
|
||||
+.RB [ " \-j "
|
||||
+.I chroot_dir
|
||||
+]
|
||||
.RB [ " \-iI " ]
|
||||
.RB [ " \-n " ]
|
||||
.RB [ " \-o " ]
|
||||
@@ -53,6 +60,20 @@
|
||||
.BI "\-f " file
|
||||
Log messages to the specified filename rather than to the syslog facility.
|
||||
.TP
|
||||
+.BI "\-u " username
|
||||
+Tells klogd to become the specified user and drop root privileges before
|
||||
+starting logging.
|
||||
+.TP
|
||||
+.BI "\-j " chroot_dir
|
||||
+Tells klogd to
|
||||
+.BR chroot (2)
|
||||
+into this directory after initializing.
|
||||
+This option is only valid if the \-u option is also used to run klogd
|
||||
+without root privileges.
|
||||
+Note that the use of this option will prevent \-i and \-I from working
|
||||
+unless you set up the chroot directory in such a way that klogd can still
|
||||
+read the kernel module symbols.
|
||||
+.TP
|
||||
.BI "\-i \-I"
|
||||
Signal the currently executing klogd daemon. Both of these switches control
|
||||
the loading/reloading of symbol information. The \-i switch signals the
|
||||
diff -Naur sysklogd-1.4.1-orig/klogd.c sysklogd-1.4.1/klogd.c
|
||||
--- sysklogd-1.4.1-orig/klogd.c 2004-04-29 09:29:03.000000000 -0400
|
||||
+++ sysklogd-1.4.1/klogd.c 2005-10-17 23:46:05.200556847 -0400
|
||||
@@ -261,6 +261,8 @@
|
||||
#include <stdarg.h>
|
||||
#include <paths.h>
|
||||
#include <stdlib.h>
|
||||
+#include <pwd.h>
|
||||
+#include <grp.h>
|
||||
#include "klogd.h"
|
||||
#include "ksyms.h"
|
||||
#ifndef TESTING
|
||||
@@ -311,6 +313,9 @@
|
||||
int debugging = 0;
|
||||
int symbols_twice = 0;
|
||||
|
||||
+char *server_user = NULL;
|
||||
+char *chroot_dir = NULL;
|
||||
+int log_flags = 0;
|
||||
|
||||
/* Function prototypes. */
|
||||
extern int ksyslog(int type, char *buf, int len);
|
||||
@@ -531,8 +536,9 @@
|
||||
* First do a stat to determine whether or not the proc based
|
||||
* file system is available to get kernel messages from.
|
||||
*/
|
||||
- if ( use_syscall ||
|
||||
- ((stat(_PATH_KLOG, &sb) < 0) && (errno == ENOENT)) )
|
||||
+ if (!server_user &&
|
||||
+ (use_syscall ||
|
||||
+ ((stat(_PATH_KLOG, &sb) < 0) && (errno == ENOENT))))
|
||||
{
|
||||
/* Initialize kernel logging. */
|
||||
ksyslog(1, NULL, 0);
|
||||
@@ -980,6 +986,27 @@
|
||||
}
|
||||
|
||||
|
||||
+static int drop_root(void)
|
||||
+{
|
||||
+ struct passwd *pw;
|
||||
+
|
||||
+ if (!(pw = getpwnam(server_user))) return -1;
|
||||
+
|
||||
+ if (!pw->pw_uid) return -1;
|
||||
+
|
||||
+ if (chroot_dir) {
|
||||
+ if (chroot(chroot_dir)) return -1;
|
||||
+ if (chdir("/")) return -1;
|
||||
+ }
|
||||
+
|
||||
+ if (setgroups(0, NULL)) return -1;
|
||||
+ if (setgid(pw->pw_gid)) return -1;
|
||||
+ if (setuid(pw->pw_uid)) return -1;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
int main(argc, argv)
|
||||
|
||||
int argc;
|
||||
@@ -997,7 +1024,7 @@
|
||||
chdir ("/");
|
||||
#endif
|
||||
/* Parse the command-line. */
|
||||
- while ((ch = getopt(argc, argv, "c:df:iIk:nopsvx2")) != EOF)
|
||||
+ while ((ch = getopt(argc, argv, "c:df:u:j:iIk:nopsvx2")) != EOF)
|
||||
switch((char)ch)
|
||||
{
|
||||
case '2': /* Print lines with symbols twice. */
|
||||
@@ -1019,6 +1046,10 @@
|
||||
case 'I':
|
||||
SignalDaemon(SIGUSR2);
|
||||
return(0);
|
||||
+ case 'j': /* chroot 'j'ail */
|
||||
+ chroot_dir = optarg;
|
||||
+ log_flags |= LOG_NDELAY;
|
||||
+ break;
|
||||
case 'k': /* Kernel symbol file. */
|
||||
symfile = optarg;
|
||||
break;
|
||||
@@ -1034,6 +1065,9 @@
|
||||
case 's': /* Use syscall interface. */
|
||||
use_syscall = 1;
|
||||
break;
|
||||
+ case 'u': /* Run as this user */
|
||||
+ server_user = optarg;
|
||||
+ break;
|
||||
case 'v':
|
||||
printf("klogd %s.%s\n", VERSION, PATCHLEVEL);
|
||||
exit (1);
|
||||
@@ -1042,6 +1076,10 @@
|
||||
break;
|
||||
}
|
||||
|
||||
+ if (chroot_dir && !server_user) {
|
||||
+ fputs("'-j' is only valid with '-u'", stderr);
|
||||
+ exit(1);
|
||||
+ }
|
||||
|
||||
/* Set console logging level. */
|
||||
if ( log_level != (char *) 0 )
|
||||
@@ -1139,7 +1177,7 @@
|
||||
}
|
||||
}
|
||||
else
|
||||
- openlog("kernel", 0, LOG_KERN);
|
||||
+ openlog("kernel", log_flags, LOG_KERN);
|
||||
|
||||
|
||||
/* Handle one-shot logging. */
|
||||
@@ -1166,6 +1204,11 @@
|
||||
InitMsyms();
|
||||
}
|
||||
|
||||
+ if (server_user && drop_root()) {
|
||||
+ syslog(LOG_ALERT, "klogd: failed to drop root");
|
||||
+ Terminate();
|
||||
+ }
|
||||
+
|
||||
/* The main loop. */
|
||||
while (1)
|
||||
{
|
@ -1,102 +0,0 @@
|
||||
diff -ur sysklogd-1.4.1.orig/sysklogd.8 sysklogd-1.4.1/sysklogd.8
|
||||
--- sysklogd-1.4.1.orig/sysklogd.8 Sun Mar 11 22:35:51 2001
|
||||
+++ sysklogd-1.4.1/sysklogd.8 Mon Oct 8 07:20:31 2001
|
||||
@@ -15,6 +15,9 @@
|
||||
.I config file
|
||||
]
|
||||
.RB [ " \-h " ]
|
||||
+.RB [ " \-i "
|
||||
+.I IP address
|
||||
+]
|
||||
.RB [ " \-l "
|
||||
.I hostlist
|
||||
]
|
||||
@@ -103,6 +106,13 @@
|
||||
Specifying this switch on the command line will cause the log daemon to
|
||||
forward any remote messages it receives to forwarding hosts which have been
|
||||
defined.
|
||||
+.TP
|
||||
+.BI "\-i " "IP address"
|
||||
+If
|
||||
+.B syslogd
|
||||
+is configured to accept log input from a UDP port, specify an IP address
|
||||
+to bind to, rather than the default of INADDR_ANY. The address must be in
|
||||
+dotted quad notation, DNS host names are not allowed.
|
||||
.TP
|
||||
.BI "\-l " "hostlist"
|
||||
Specify a hostname that should be logged only with its simple hostname
|
||||
diff -ur sysklogd-1.4.1.orig/syslogd.c sysklogd-1.4.1/syslogd.c
|
||||
--- sysklogd-1.4.1.orig/syslogd.c Sun Mar 11 22:40:10 2001
|
||||
+++ sysklogd-1.4.1/syslogd.c Mon Oct 8 07:24:41 2001
|
||||
@@ -736,6 +736,8 @@
|
||||
int NoHops = 1; /* Can we bounce syslog messages through an
|
||||
intermediate host. */
|
||||
|
||||
+char *bind_addr = NULL; /* bind UDP port to this interface only */
|
||||
+
|
||||
extern int errno;
|
||||
|
||||
/* Function prototypes. */
|
||||
@@ -829,7 +831,7 @@
|
||||
funix[i] = -1;
|
||||
}
|
||||
|
||||
- while ((ch = getopt(argc, argv, "a:dhf:l:m:np:rs:v")) != EOF)
|
||||
+ while ((ch = getopt(argc, argv, "a:dhf:i:l:m:np:rs:v")) != EOF)
|
||||
switch((char)ch) {
|
||||
case 'a':
|
||||
if (nfunix < MAXFUNIX)
|
||||
@@ -846,9 +848,17 @@
|
||||
case 'h':
|
||||
NoHops = 0;
|
||||
break;
|
||||
+ case 'i':
|
||||
+ if (bind_addr) {
|
||||
+ fprintf(stderr, "Only one -i argument allowed, "
|
||||
+ "the first one is taken.\n");
|
||||
+ break;
|
||||
+ }
|
||||
+ bind_addr = optarg;
|
||||
+ break;
|
||||
case 'l':
|
||||
if (LocalHosts) {
|
||||
- fprintf (stderr, "Only one -l argument allowed," \
|
||||
+ fprintf(stderr, "Only one -l argument allowed, "
|
||||
"the first one is taken.\n");
|
||||
break;
|
||||
}
|
||||
@@ -1175,7 +1185,7 @@
|
||||
int usage()
|
||||
{
|
||||
fprintf(stderr, "usage: syslogd [-drvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \
|
||||
- " [-s domainlist] [-f conffile]\n");
|
||||
+ " [-s domainlist] [-f conffile] [-i IP address]\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -1217,15 +1227,22 @@
|
||||
int fd, on = 1;
|
||||
struct sockaddr_in sin;
|
||||
|
||||
+ memset(&sin, 0, sizeof(sin));
|
||||
+ sin.sin_family = AF_INET;
|
||||
+ sin.sin_port = LogPort;
|
||||
+ if (bind_addr) {
|
||||
+ if (!inet_aton(bind_addr, &sin.sin_addr)) {
|
||||
+ logerror("syslog: not a valid IP address to bind to.");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
fd = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
if (fd < 0) {
|
||||
logerror("syslog: Unknown protocol, suspending inet service.");
|
||||
return fd;
|
||||
}
|
||||
|
||||
- memset(&sin, 0, sizeof(sin));
|
||||
- sin.sin_family = AF_INET;
|
||||
- sin.sin_port = LogPort;
|
||||
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, \
|
||||
(char *) &on, sizeof(on)) < 0 ) {
|
||||
logerror("setsockopt(REUSEADDR), suspending inet");
|
@ -1,117 +0,0 @@
|
||||
diff -ur sysklogd-1.4.1-caen-owl-syslogd-bind/sysklogd.8 sysklogd-1.4.1/sysklogd.8
|
||||
--- sysklogd-1.4.1-caen-owl-syslogd-bind/sysklogd.8 Mon Oct 8 07:26:27 2001
|
||||
+++ sysklogd-1.4.1/sysklogd.8 Mon Oct 8 07:30:31 2001
|
||||
@@ -32,6 +32,9 @@
|
||||
.RB [ " \-s "
|
||||
.I domainlist
|
||||
]
|
||||
+.RB [ " \-u"
|
||||
+.IB username
|
||||
+]
|
||||
.RB [ " \-v " ]
|
||||
.LP
|
||||
.SH DESCRIPTION
|
||||
@@ -159,6 +162,19 @@
|
||||
is specified and the host logging resolves to satu.infodrom.north.de
|
||||
no domain would be cut, you will have to specify two domains like:
|
||||
.BR "\-s north.de:infodrom.north.de" .
|
||||
+.TP
|
||||
+.BI "\-u " "username"
|
||||
+This causes the
|
||||
+.B syslogd
|
||||
+daemon to become the named user before starting up logging.
|
||||
+
|
||||
+Note that when this option is in use,
|
||||
+.B syslogd
|
||||
+will open all log files as root when the daemon is first started;
|
||||
+however, after a
|
||||
+.B SIGHUP
|
||||
+the files will be reopened as the non-privileged user. You should
|
||||
+take this into account when deciding the ownership of the log files.
|
||||
.TP
|
||||
.B "\-v"
|
||||
Print version and exit.
|
||||
diff -ur sysklogd-1.4.1-caen-owl-syslogd-bind/syslogd.c sysklogd-1.4.1/syslogd.c
|
||||
--- sysklogd-1.4.1-caen-owl-syslogd-bind/syslogd.c Mon Oct 8 07:26:27 2001
|
||||
+++ sysklogd-1.4.1/syslogd.c Mon Oct 8 07:40:35 2001
|
||||
@@ -491,6 +491,10 @@
|
||||
#include <arpa/nameser.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <resolv.h>
|
||||
+
|
||||
+#include <pwd.h>
|
||||
+#include <grp.h>
|
||||
+
|
||||
#ifndef TESTING
|
||||
#include "pidfile.h"
|
||||
#endif
|
||||
@@ -737,6 +741,7 @@
|
||||
intermediate host. */
|
||||
|
||||
char *bind_addr = NULL; /* bind UDP port to this interface only */
|
||||
+char *server_user = NULL; /* user name to run server as */
|
||||
|
||||
extern int errno;
|
||||
|
||||
@@ -778,6 +783,21 @@
|
||||
static int create_inet_socket();
|
||||
#endif
|
||||
|
||||
+static int drop_root(void)
|
||||
+{
|
||||
+ struct passwd *pw;
|
||||
+
|
||||
+ if (!(pw = getpwnam(server_user))) return -1;
|
||||
+
|
||||
+ if (!pw->pw_uid) return -1;
|
||||
+
|
||||
+ if (initgroups(server_user, pw->pw_gid)) return -1;
|
||||
+ if (setgid(pw->pw_gid)) return -1;
|
||||
+ if (setuid(pw->pw_uid)) return -1;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
@@ -831,7 +851,7 @@
|
||||
funix[i] = -1;
|
||||
}
|
||||
|
||||
- while ((ch = getopt(argc, argv, "a:dhf:i:l:m:np:rs:v")) != EOF)
|
||||
+ while ((ch = getopt(argc, argv, "a:dhf:i:l:m:np:rs:u:v")) != EOF)
|
||||
switch((char)ch) {
|
||||
case 'a':
|
||||
if (nfunix < MAXFUNIX)
|
||||
@@ -884,6 +904,9 @@
|
||||
}
|
||||
StripDomains = crunch_list(optarg);
|
||||
break;
|
||||
+ case 'u':
|
||||
+ server_user = optarg;
|
||||
+ break;
|
||||
case 'v':
|
||||
printf("syslogd %s.%s\n", VERSION, PATCHLEVEL);
|
||||
exit (0);
|
||||
@@ -1031,6 +1054,11 @@
|
||||
kill (ppid, SIGTERM);
|
||||
#endif
|
||||
|
||||
+ if (server_user && drop_root()) {
|
||||
+ dprintf("syslogd: failed to drop root\n");
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
/* Main loop begins here. */
|
||||
for (;;) {
|
||||
int nfds;
|
||||
@@ -1185,7 +1213,7 @@
|
||||
int usage()
|
||||
{
|
||||
fprintf(stderr, "usage: syslogd [-drvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \
|
||||
- " [-s domainlist] [-f conffile] [-i IP address]\n");
|
||||
+ " [-s domainlist] [-f conffile] [-i IP address] [-u username]\n");
|
||||
exit(1);
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
--- ksym_mod.c
|
||||
+++ ksym_mod.c
|
||||
@@ -95,14 +95,6 @@
|
||||
#include <sys/fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include "module.h"
|
||||
-#if !defined(__GLIBC__)
|
||||
-#include <linux/time.h>
|
||||
-#include <linux/linkage.h>
|
||||
-#else /* __GLIBC__ */
|
||||
-#include <linux/linkage.h>
|
||||
-extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
|
||||
-extern int get_kernel_syms __P ((struct kernel_sym *__table));
|
||||
-#endif /* __GLIBC__ */
|
||||
#include <stdarg.h>
|
||||
#include <paths.h>
|
||||
#include <linux/version.h>
|
@ -1,20 +0,0 @@
|
||||
http://lists.infodrom.org/infodrom-sysklogd/2006/0012.html
|
||||
|
||||
--- syslogd.c
|
||||
+++ syslogd.c
|
||||
@@ -1318,15 +1318,6 @@
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
- /* We need to enable BSD compatibility. Otherwise an attacker
|
||||
- * could flood our log files by sending us tons of ICMP errors.
|
||||
- */
|
||||
- if (setsockopt(fd, SOL_SOCKET, SO_BSDCOMPAT, \
|
||||
- (char *) &on, sizeof(on)) < 0) {
|
||||
- logerror("setsockopt(BSDCOMPAT), suspending inet");
|
||||
- close(fd);
|
||||
- return -1;
|
||||
- }
|
||||
/* We must not block on the network socket, in case a packet
|
||||
* gets lost between select and recv, otherise the process
|
||||
* will stall until the timeout, and other processes trying to
|
@ -1,432 +0,0 @@
|
||||
http://linuxfromscratch.org/pipermail/patches/2003-October/000432.html
|
||||
http://lists.infodrom.org/infodrom-sysklogd/2003/0024.html
|
||||
|
||||
diff -Naur sysklogd-1.4.1-orig/ksym_mod.c sysklogd-1.4.1/ksym_mod.c
|
||||
--- sysklogd-1.4.1-orig/ksym_mod.c 2005-10-17 23:56:17.527192000 -0400
|
||||
+++ sysklogd-1.4.1/ksym_mod.c 2005-10-18 00:07:36.817712908 -0400
|
||||
@@ -128,6 +128,8 @@
|
||||
#define getsyms get_kernel_syms
|
||||
#endif /* __GLIBC__ */
|
||||
|
||||
+extern int query_module(const char *, int, void *, size_t, size_t *);
|
||||
+
|
||||
/* Variables static to this module. */
|
||||
struct sym_table
|
||||
{
|
||||
@@ -148,7 +150,7 @@
|
||||
};
|
||||
|
||||
static int num_modules = 0;
|
||||
-struct Module *sym_array_modules = (struct Module *) 0;
|
||||
+struct Module *sym_array_modules = NULL;
|
||||
|
||||
static int have_modules = 0;
|
||||
|
||||
@@ -161,8 +163,8 @@
|
||||
|
||||
/* Function prototypes. */
|
||||
static void FreeModules(void);
|
||||
-static int AddSymbol(struct Module *mp, unsigned long, char *);
|
||||
-static int AddModule(unsigned long, char *);
|
||||
+static int AddSymbol(struct Module *mp, unsigned long, const char *);
|
||||
+static int AddModule(char *);
|
||||
static int symsort(const void *, const void *);
|
||||
|
||||
|
||||
@@ -185,81 +187,107 @@
|
||||
extern int InitMsyms()
|
||||
|
||||
{
|
||||
- auto int rtn,
|
||||
- tmp;
|
||||
+ auto size_t rtn;
|
||||
+ auto int tmp;
|
||||
+
|
||||
+ auto char **mod_table;
|
||||
+
|
||||
+ char *modbuf = NULL,
|
||||
+ *newbuf;
|
||||
|
||||
- auto struct kernel_sym *ksym_table,
|
||||
- *p;
|
||||
+ int modsize = 32,
|
||||
+ result;
|
||||
|
||||
|
||||
/* Initialize the kernel module symbol table. */
|
||||
FreeModules();
|
||||
|
||||
+ /*
|
||||
+ * New style symbol table parser. This uses the newer query_module
|
||||
+ * function rather than the old obsolete hack of stepping thru
|
||||
+ * /dev/kmem.
|
||||
+ */
|
||||
|
||||
/*
|
||||
- * The system call which returns the kernel symbol table has
|
||||
- * essentialy two modes of operation. Called with a null pointer
|
||||
- * the system call returns the number of symbols defined in the
|
||||
- * the table.
|
||||
- *
|
||||
- * The second mode of operation is to pass a valid pointer to
|
||||
- * the call which will then load the current symbol table into
|
||||
- * the memory provided.
|
||||
- *
|
||||
- * Returning the symbol table is essentially an all or nothing
|
||||
- * proposition so we need to pre-allocate enough memory for the
|
||||
- * complete table regardless of how many symbols we need.
|
||||
- *
|
||||
- * Bummer.
|
||||
+ * First, we query for the list of loaded modules. We may
|
||||
+ * have to grow our buffer in size.
|
||||
*/
|
||||
- if ( (rtn = getsyms((struct kernel_sym *) 0)) < 0 )
|
||||
- {
|
||||
- if ( errno == ENOSYS )
|
||||
- Syslog(LOG_INFO, "No module symbols loaded - "
|
||||
- "kernel modules not enabled.\n");
|
||||
- else
|
||||
+ do {
|
||||
+ modsize+=modsize;
|
||||
+ newbuf=realloc(modbuf, modsize);
|
||||
+
|
||||
+ if (newbuf==NULL) {
|
||||
+ /* Well, that sucks. */
|
||||
Syslog(LOG_ERR, "Error loading kernel symbols " \
|
||||
"- %s\n", strerror(errno));
|
||||
+ if (modbuf!=NULL) free(modbuf);
|
||||
+ return(0);
|
||||
+ }
|
||||
+
|
||||
+ modbuf=newbuf;
|
||||
+
|
||||
+ result=query_module(NULL, QM_MODULES, modbuf, modsize, &rtn);
|
||||
+
|
||||
+ if (result<0 && errno!=ENOSPC) {
|
||||
+ if (errno != ENOSYS)
|
||||
+ Syslog(LOG_ERR, "Error querying loaded modules " \
|
||||
+ "- %s\n", strerror(errno));
|
||||
+ free(modbuf);
|
||||
+ return(0);
|
||||
+ }
|
||||
+ } while (result<0);
|
||||
+
|
||||
+ if ( rtn <= 0 ) {
|
||||
+ /* No modules??? */
|
||||
+ Syslog(LOG_INFO, "No module symbols loaded - "
|
||||
+ "modules disabled?\n");
|
||||
+ free(modbuf);
|
||||
return(0);
|
||||
}
|
||||
if ( debugging )
|
||||
fprintf(stderr, "Loading kernel module symbols - "
|
||||
"Size of table: %d\n", rtn);
|
||||
|
||||
- ksym_table = (struct kernel_sym *) malloc(rtn * \
|
||||
- sizeof(struct kernel_sym));
|
||||
- if ( ksym_table == (struct kernel_sym *) 0 )
|
||||
+ mod_table = (char **) malloc(rtn * sizeof(char *));
|
||||
+ if ( mod_table == NULL )
|
||||
{
|
||||
Syslog(LOG_WARNING, " Failed memory allocation for kernel " \
|
||||
"symbol table.\n");
|
||||
+ free(modbuf);
|
||||
return(0);
|
||||
}
|
||||
- if ( (rtn = getsyms(ksym_table)) < 0 )
|
||||
+
|
||||
+ sym_array_modules = (struct Module *) malloc(rtn * sizeof(struct Module));
|
||||
+ if ( sym_array_modules == NULL )
|
||||
{
|
||||
- Syslog(LOG_WARNING, "Error reading kernel symbols - %s\n", \
|
||||
- strerror(errno));
|
||||
+ Syslog(LOG_WARNING, " Failed memory allocation for kernel " \
|
||||
+ "symbol table.\n");
|
||||
+ free(mod_table);
|
||||
+ free(modbuf);
|
||||
return(0);
|
||||
}
|
||||
|
||||
-
|
||||
/*
|
||||
* Build a symbol table compatible with the other one used by
|
||||
* klogd.
|
||||
*/
|
||||
- tmp = rtn;
|
||||
- p = ksym_table;
|
||||
- while ( tmp-- )
|
||||
+ newbuf=modbuf;
|
||||
+ for (tmp=rtn-1; tmp>=0; tmp--)
|
||||
{
|
||||
- if ( !AddModule(p->value, p->name) )
|
||||
+ mod_table[tmp]=newbuf;
|
||||
+ newbuf+=(strlen(newbuf)+1);
|
||||
+ if ( !AddModule(mod_table[tmp]) )
|
||||
{
|
||||
Syslog(LOG_WARNING, "Error adding kernel module table "
|
||||
"entry.\n");
|
||||
- free(ksym_table);
|
||||
+ free(mod_table);
|
||||
+ free(modbuf);
|
||||
return(0);
|
||||
}
|
||||
- ++p;
|
||||
}
|
||||
|
||||
+ have_modules = 1;
|
||||
+
|
||||
/* Sort the symbol tables in each module. */
|
||||
for (rtn = tmp= 0; tmp < num_modules; ++tmp)
|
||||
{
|
||||
@@ -277,7 +304,8 @@
|
||||
Syslog(LOG_INFO, "Loaded %d %s from %d module%s", rtn, \
|
||||
(rtn == 1) ? "symbol" : "symbols", \
|
||||
num_modules, (num_modules == 1) ? "." : "s.");
|
||||
- free(ksym_table);
|
||||
+ free(mod_table);
|
||||
+ free(modbuf);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -322,23 +350,23 @@
|
||||
|
||||
/* Check to see if the module symbol tables need to be cleared. */
|
||||
have_modules = 0;
|
||||
- if ( num_modules == 0 )
|
||||
- return;
|
||||
-
|
||||
|
||||
- for (nmods= 0; nmods < num_modules; ++nmods)
|
||||
- {
|
||||
- mp = &sym_array_modules[nmods];
|
||||
- if ( mp->num_syms == 0 )
|
||||
- continue;
|
||||
+ if (sym_array_modules != NULL) {
|
||||
+ for (nmods= 0; nmods < num_modules; ++nmods)
|
||||
+ {
|
||||
+ mp = &sym_array_modules[nmods];
|
||||
+ if ( mp->num_syms == 0 )
|
||||
+ continue;
|
||||
|
||||
- for (nsyms= 0; nsyms < mp->num_syms; ++nsyms)
|
||||
- free(mp->sym_array[nsyms].name);
|
||||
- free(mp->sym_array);
|
||||
+ for (nsyms= 0; nsyms < mp->num_syms; ++nsyms)
|
||||
+ free(mp->sym_array[nsyms].name);
|
||||
+ free(mp->sym_array);
|
||||
+ }
|
||||
+
|
||||
+ free(sym_array_modules);
|
||||
+ sym_array_modules = NULL;
|
||||
}
|
||||
|
||||
- free(sym_array_modules);
|
||||
- sym_array_modules = (struct Module *) 0;
|
||||
num_modules = 0;
|
||||
return;
|
||||
}
|
||||
@@ -350,23 +378,25 @@
|
||||
* Purpose: This function is responsible for adding a module to
|
||||
* the list of currently loaded modules.
|
||||
*
|
||||
- * Arguements: (unsigned long) address, (char *) symbol
|
||||
- *
|
||||
- * address:-> The address of the module.
|
||||
+ * Arguements: (char *) symbol
|
||||
*
|
||||
* symbol:-> The name of the module.
|
||||
*
|
||||
* Return: int
|
||||
**************************************************************************/
|
||||
|
||||
-static int AddModule(address, symbol)
|
||||
-
|
||||
- unsigned long address;
|
||||
+static int AddModule(symbol)
|
||||
|
||||
char *symbol;
|
||||
|
||||
{
|
||||
- auto int memfd;
|
||||
+ size_t rtn;
|
||||
+ size_t i;
|
||||
+ const char *cbuf;
|
||||
+ int symsize=128;
|
||||
+ int result;
|
||||
+ struct module_symbol *symbuf=NULL,
|
||||
+ *newbuf;
|
||||
|
||||
auto struct Module *mp;
|
||||
|
||||
@@ -374,78 +404,75 @@
|
||||
/* Return if we have loaded the modules. */
|
||||
if ( have_modules )
|
||||
return(1);
|
||||
+
|
||||
+ /* We already have space for the module. */
|
||||
+ mp = &sym_array_modules[num_modules];
|
||||
+
|
||||
+ if (query_module(symbol, QM_INFO, &sym_array_modules[num_modules].module,
|
||||
+ sizeof(struct module), &rtn)<0)
|
||||
+ {
|
||||
+ Syslog(LOG_WARNING, "Error reading module info for %s.\n",
|
||||
+ symbol);
|
||||
+ return(0);
|
||||
+ }
|
||||
+
|
||||
+ /* Save the module name. */
|
||||
+ mp->name = strdup(symbol);
|
||||
+ if ( mp->name == NULL )
|
||||
+ return(0);
|
||||
+
|
||||
+ mp->num_syms = 0;
|
||||
+ mp->sym_array = NULL;
|
||||
+ ++num_modules;
|
||||
|
||||
/*
|
||||
- * The following section of code is responsible for determining
|
||||
- * whether or not we are done reading the list of modules.
|
||||
+ * First, we query for the list of exported symbols. We may
|
||||
+ * have to grow our buffer in size.
|
||||
*/
|
||||
- if ( symbol[0] == '#' )
|
||||
- {
|
||||
+ do {
|
||||
+ symsize+=symsize;
|
||||
+ newbuf=realloc(symbuf, symsize);
|
||||
|
||||
- if ( symbol[1] == '\0' )
|
||||
- {
|
||||
- /*
|
||||
- * A symbol which consists of a # sign only
|
||||
- * signifies a a resident kernel segment. When we
|
||||
- * hit one of these we are done reading the
|
||||
- * module list.
|
||||
- */
|
||||
- have_modules = 1;
|
||||
- return(1);
|
||||
- }
|
||||
- /* Allocate space for the module. */
|
||||
- sym_array_modules = (struct Module *) \
|
||||
- realloc(sym_array_modules, \
|
||||
- (num_modules+1) * sizeof(struct Module));
|
||||
- if ( sym_array_modules == (struct Module *) 0 )
|
||||
- {
|
||||
- Syslog(LOG_WARNING, "Cannot allocate Module array.\n");
|
||||
+ if (newbuf==NULL) {
|
||||
+ /* Well, that sucks. */
|
||||
+ Syslog(LOG_ERR, "Error loading kernel symbols " \
|
||||
+ "- %s\n", strerror(errno));
|
||||
+ if (symbuf!=NULL) free(symbuf);
|
||||
return(0);
|
||||
}
|
||||
- mp = &sym_array_modules[num_modules];
|
||||
|
||||
- if ( (memfd = open("/dev/kmem", O_RDONLY)) < 0 )
|
||||
- {
|
||||
- Syslog(LOG_WARNING, "Error opening /dev/kmem\n");
|
||||
- return(0);
|
||||
- }
|
||||
- if ( lseek64(memfd, address, SEEK_SET) < 0 )
|
||||
- {
|
||||
- Syslog(LOG_WARNING, "Error seeking in /dev/kmem\n");
|
||||
- Syslog(LOG_WARNING, "Symbol %s, value %08x\n", symbol, address);
|
||||
- return(0);
|
||||
- }
|
||||
- if ( read(memfd, \
|
||||
- (char *)&sym_array_modules[num_modules].module, \
|
||||
- sizeof(struct module)) < 0 )
|
||||
- {
|
||||
- Syslog(LOG_WARNING, "Error reading module "
|
||||
- "descriptor.\n");
|
||||
- return(0);
|
||||
- }
|
||||
- close(memfd);
|
||||
+ symbuf=newbuf;
|
||||
+
|
||||
+ result=query_module(symbol, QM_SYMBOLS, symbuf, symsize, &rtn);
|
||||
|
||||
- /* Save the module name. */
|
||||
- mp->name = (char *) malloc(strlen(&symbol[1]) + 1);
|
||||
- if ( mp->name == (char *) 0 )
|
||||
+ if (result<0 && errno!=ENOSPC) {
|
||||
+ Syslog(LOG_ERR, "Error querying symbol list for %s " \
|
||||
+ "- %s\n", symbol, strerror(errno));
|
||||
+ free(symbuf);
|
||||
return(0);
|
||||
- strcpy(mp->name, &symbol[1]);
|
||||
+ }
|
||||
+ } while (result<0);
|
||||
|
||||
- mp->num_syms = 0;
|
||||
- mp->sym_array = (struct sym_table *) 0;
|
||||
- ++num_modules;
|
||||
- return(1);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- if (num_modules > 0)
|
||||
- mp = &sym_array_modules[num_modules - 1];
|
||||
- else
|
||||
- mp = &sym_array_modules[0];
|
||||
- AddSymbol(mp, address, symbol);
|
||||
+ if ( rtn < 0 ) {
|
||||
+ /* No symbols??? */
|
||||
+ Syslog(LOG_INFO, "No module symbols loaded - unknown error.\n");
|
||||
+ free(symbuf);
|
||||
+ return(0);
|
||||
}
|
||||
|
||||
+ cbuf=(char *)symbuf;
|
||||
+
|
||||
+ for (i=0; i<rtn; i++) {
|
||||
+ if (num_modules > 0)
|
||||
+ mp = &sym_array_modules[num_modules - 1];
|
||||
+ else
|
||||
+ mp = &sym_array_modules[0];
|
||||
+
|
||||
+ AddSymbol(mp, symbuf[i].value,
|
||||
+ cbuf+(unsigned long)(symbuf[i].name));
|
||||
+ }
|
||||
|
||||
+ free(symbuf);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -477,7 +504,7 @@
|
||||
|
||||
unsigned long address;
|
||||
|
||||
- char *symbol;
|
||||
+ const char *symbol;
|
||||
|
||||
{
|
||||
auto int tmp;
|
||||
diff -Naur sysklogd-1.4.1-orig/module.h sysklogd-1.4.1/module.h
|
||||
--- sysklogd-1.4.1-orig/module.h 2005-10-17 23:56:17.530192000 -0400
|
||||
+++ sysklogd-1.4.1/module.h 2005-10-18 00:05:23.308858441 -0400
|
||||
@@ -38,11 +38,24 @@
|
||||
char name[MODULE_NAME_LEN];
|
||||
};
|
||||
|
||||
+struct module_symbol
|
||||
+{
|
||||
+ unsigned long value;
|
||||
+ const char *name;
|
||||
+};
|
||||
|
||||
struct list_head {
|
||||
struct list_head *next, *prev;
|
||||
};
|
||||
|
||||
+/* Values for query_module's which. */
|
||||
+
|
||||
+#define QM_MODULES 1
|
||||
+#define QM_DEPS 2
|
||||
+#define QM_REFS 3
|
||||
+#define QM_SYMBOLS 4
|
||||
+#define QM_INFO 5
|
||||
+
|
||||
|
||||
struct module_info
|
||||
{
|
@ -1,75 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2005 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License, v2 or later
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/files/sysklogd.rc6,v 1.12 2007/05/01 12:49:04 uberlord Exp $
|
||||
|
||||
opts="reload"
|
||||
|
||||
depend() {
|
||||
need clock hostname
|
||||
provide logger
|
||||
}
|
||||
|
||||
start_daemon() {
|
||||
local retval=0
|
||||
local daemon="$1"
|
||||
local options="$2"
|
||||
|
||||
[ -z "${daemon}" ] && return 1
|
||||
|
||||
ebegin "sysklogd -> start: ${daemon}"
|
||||
start-stop-daemon --start --exec /usr/sbin/"${daemon}" \
|
||||
--pidfile /var/run/"${daemon}".pid -- ${options}
|
||||
retval=$?
|
||||
eend ${retval} "Failed to start ${daemon}"
|
||||
|
||||
return ${retval}
|
||||
}
|
||||
|
||||
stop_daemon() {
|
||||
local retval=0
|
||||
local daemon="$1"
|
||||
|
||||
[ -z "${daemon}" ] && return 1
|
||||
|
||||
ebegin "sysklogd -> stop: ${daemon}"
|
||||
# syslogd can be stubborn some times (--retry 15)...
|
||||
start-stop-daemon --stop --retry 15 --quiet --pidfile /var/run/"${daemon}".pid
|
||||
retval=$?
|
||||
eend ${retval} "Failed to stop ${daemon}"
|
||||
|
||||
return ${retval}
|
||||
}
|
||||
|
||||
start() {
|
||||
start_daemon "syslogd" "${SYSLOGD}" || return 1
|
||||
|
||||
# klogd do not always start proper if started too early
|
||||
sleep 1
|
||||
|
||||
if ! start_daemon "klogd" "${KLOGD}" ; then
|
||||
stop_daemon "syslogd"
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
stop() {
|
||||
stop_daemon "klogd" || return 1
|
||||
stop_daemon "syslogd" || return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
reload() {
|
||||
local ret=0
|
||||
|
||||
ebegin "Reloading configuration"
|
||||
|
||||
start-stop-daemon --stop --oknodo --signal HUP --pidfile /var/run/syslogd.pid
|
||||
ret=$((${ret} + $?))
|
||||
start-stop-daemon --stop --oknodo --signal USR1 --pidfile /var/run/klogd.pid
|
||||
ret=$((${ret} + $?))
|
||||
|
||||
eend ${ret}
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# sysklogd Cron script to rotate system log files daily.
|
||||
#
|
||||
# If you want to rotate other logfiles daily, edit
|
||||
# this script. An easy way is to add them manually
|
||||
# or to add -a to syslogd-listfiles and add some grep
|
||||
# stuff
|
||||
#
|
||||
# Written by Martin Schulze <joey@debian.org>.
|
||||
# $Id: syslog-cron,v 1.6 2007/07/13 10:31:25 uberlord Exp $
|
||||
|
||||
cd /var/log
|
||||
for LOG in `syslogd-listfiles`
|
||||
do
|
||||
if [ -f $LOG ]; then
|
||||
savelog -g adm -m 640 -u root -c 7 $LOG >/dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
for LOG in `syslogd-listfiles --auth`
|
||||
do
|
||||
if [ -f $LOG ]; then
|
||||
chown root:adm $LOG
|
||||
chmod o-rwx $LOG
|
||||
fi
|
||||
done
|
||||
|
||||
# Restart syslogd
|
||||
#
|
||||
killall -HUP syslogd
|
@ -1,70 +0,0 @@
|
||||
# /etc/syslog.conf Configuration file for syslogd.
|
||||
#
|
||||
# For more information see syslog.conf(5)
|
||||
# manpage.
|
||||
# This is from Debian, we are using it for now
|
||||
# Daniel Robbins, 5/15/99
|
||||
|
||||
#
|
||||
# First some standard logfiles. Log by facility.
|
||||
#
|
||||
|
||||
auth,authpriv.* /var/log/auth.log
|
||||
*.*;auth,authpriv.none -/var/log/syslog
|
||||
#cron.* /var/log/cron.log
|
||||
daemon.* -/var/log/daemon.log
|
||||
kern.* -/var/log/kern.log
|
||||
lpr.* -/var/log/lpr.log
|
||||
mail.* /var/log/mail.log
|
||||
user.* -/var/log/user.log
|
||||
uucp.* -/var/log/uucp.log
|
||||
local6.debug /var/log/imapd.log
|
||||
|
||||
#
|
||||
# Logging for the mail system. Split it up so that
|
||||
# it is easy to write scripts to parse these files.
|
||||
#
|
||||
mail.info -/var/log/mail.info
|
||||
mail.warn -/var/log/mail.warn
|
||||
mail.err /var/log/mail.err
|
||||
|
||||
# Logging for INN news system
|
||||
#
|
||||
news.crit /var/log/news/news.crit
|
||||
news.err /var/log/news/news.err
|
||||
news.notice -/var/log/news/news.notice
|
||||
|
||||
#
|
||||
# Some `catch-all' logfiles.
|
||||
#
|
||||
*.=debug;auth,authpriv.none;news.none;mail.none -/var/log/debug
|
||||
*.=info;*.=notice;*.=warn;auth,authpriv.none;cron,daemon.none;mail,news.none -/var/log/messages
|
||||
|
||||
#
|
||||
# Emergencies are sent to everybody logged in.
|
||||
#
|
||||
*.emerg *
|
||||
|
||||
#
|
||||
# I like to have messages displayed on the console, but only on a virtual
|
||||
# console I usually leave idle.
|
||||
#
|
||||
#daemon,mail.*;\
|
||||
# news.=crit;news.=err;news.=notice;\
|
||||
# *.=debug;*.=info;\
|
||||
# *.=notice;*.=warn /dev/tty8
|
||||
|
||||
# The named pipe /dev/xconsole is for the `xconsole' utility. To use it,
|
||||
# you must invoke `xconsole' with the `-file' option:
|
||||
#
|
||||
# $ xconsole -file /dev/xconsole [...]
|
||||
#
|
||||
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
|
||||
# busy site..
|
||||
#
|
||||
#daemon.*,mail.*;\
|
||||
# news.crit;news.err;news.notice;\
|
||||
# *.=debug;*.=info;\
|
||||
# *.=notice;*.=warn |/dev/xconsole
|
||||
|
||||
local2.* -/var/log/ppp.log
|
@ -1,101 +0,0 @@
|
||||
#! /usr/bin/perl
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
|
||||
|
||||
# Tue Jan 13 01:47:57 MET 1998: Martin Schulze <joey@infodrom.north.de>
|
||||
# Fixed typo.
|
||||
#
|
||||
# Modified logfile detection routine to take care of double
|
||||
# listed logfiles. It does this by using a hash instead of
|
||||
# immediate printout. Thanks to Roman Hodek <roman@debian.org>
|
||||
# for providing an appropriate patch.
|
||||
|
||||
$conf = "/etc/syslog.conf";
|
||||
$opt_daily = 1;
|
||||
$opt_all = 0;
|
||||
$opt_auth = 0;
|
||||
$opt_news = 0;
|
||||
|
||||
sub usage
|
||||
{
|
||||
print STDERR
|
||||
"
|
||||
Debian GNU/Linux syslogd-listfiles =VER=. Copyright (C) 1997
|
||||
Martin Schulze. This is free software; see the GNU General Public Licence
|
||||
version 2 or later for copying conditions. There is NO warranty.
|
||||
|
||||
Usage: syslogd-listfiles <options>
|
||||
Options: -f file specifies another syslog.conf file
|
||||
-a | --all list all files (including news)
|
||||
--auth list all files containing auth.<some prio>
|
||||
--news include news logfiles, too
|
||||
-w | --weekly use weekly pattern instead of daily
|
||||
";
|
||||
}
|
||||
|
||||
while (@ARGV) {
|
||||
$_=shift(@ARGV);
|
||||
if (m/^-f$/) {
|
||||
$conf = shift(@ARGV);
|
||||
} elsif (m/^--weekly|-w$/) {
|
||||
$opt_daily = 0;
|
||||
} elsif (m/^(-a|--all)$/) {
|
||||
$opt_all = 1;
|
||||
} elsif (m/^--auth$/) {
|
||||
$opt_auth = 1;
|
||||
} elsif (m/^--news$/) {
|
||||
$opt_news = 1;
|
||||
} else {
|
||||
&usage();exit (0);
|
||||
}
|
||||
}
|
||||
|
||||
open (C, $conf) || die "Can't open $conf, $!";
|
||||
while (<C>) {
|
||||
next if (/^(\#|$)/);
|
||||
chop;
|
||||
|
||||
s/\s*(\S.*)$/$1/ if ($line);
|
||||
|
||||
$line .= $_;
|
||||
chop ($line) if (/\\$/);
|
||||
if (!/\\$/) {
|
||||
$line =~ s/\s+/\t/;
|
||||
$line =~ s/\t-/\t/;
|
||||
push (@lines, $line) if ($line =~ /\t\/(?!dev\/)/);
|
||||
$line = "";
|
||||
}
|
||||
}
|
||||
close (C);
|
||||
|
||||
foreach $line (@lines) {
|
||||
($pat,$file) = split (/\t/,$line);
|
||||
|
||||
# handled by news.daily from INN
|
||||
next if (!$opt_news && ($pat =~ /news\.(crit|err|notice)/));
|
||||
|
||||
if ($opt_all) {
|
||||
$output{$file} = 1;
|
||||
} elsif ($opt_auth) {
|
||||
$output{$file} = 1 if ($pat =~ /auth[^\.]*\.(?!none).*/);
|
||||
} else {
|
||||
$i = ($pat =~ /\*\.\*/);
|
||||
$output{$file} = 1 if (($i && $opt_daily) || (!$i && !$opt_daily));
|
||||
}
|
||||
}
|
||||
|
||||
foreach $file (keys (%output)) {
|
||||
print $file . "\n";
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
.\" syslogd-listfiles.8 - generic routine for /etc/syslog.conf
|
||||
.\" Copyright (c) 1997 Martin Schulze <joey@debian.org>
|
||||
.\"
|
||||
.\" This program is free software; you can redistribute it and/or modify
|
||||
.\" it under the terms of the GNU General Public License as published by
|
||||
.\" the Free Software Foundation; either version 2 of the License, or
|
||||
.\" (at your option) any later version.
|
||||
.\"
|
||||
.\" This program is distributed in the hope that it will be useful,
|
||||
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
.\" GNU General Public License for more details.
|
||||
.\"
|
||||
.\" You should have received a copy of the GNU General Public License
|
||||
.\" along with this program; if not, write to the Free Software
|
||||
.\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
.\"
|
||||
.TH SYSLOGD-LISTFILES 8 "1 January 1998" "Debian project" "Debian GNU/Linux"
|
||||
.SH NAME
|
||||
syslogd-listfiles \- list system logfiles
|
||||
.SH SYNOPSIS
|
||||
.B syslogd-listfiles
|
||||
.RB [ " \-a " | " \-\-all " ]
|
||||
.RB [ " \-\-auth " ]
|
||||
.RB [ " \-f "
|
||||
.I config file
|
||||
]
|
||||
.RB [ " \-\-news " ]
|
||||
.RB [ " \-w " | " \-\-weekly " ]
|
||||
.SH DESCRIPTION
|
||||
.B Sysklogd
|
||||
provides a modern mechanism to log system messages. This mechanism is
|
||||
controlled by the file
|
||||
.IR /etc/syslog.conf .
|
||||
Messages are divided into logfiles which can grow quite big.
|
||||
Therefore the logfiles need to be rotated once per day, per week or
|
||||
per month. On a Debian GNU/Linux system most of the files are rotated
|
||||
once per week.
|
||||
|
||||
This program helps the rotation script to determine which logfiles
|
||||
need to be rotated and when. It takes care of news logfiles that are
|
||||
handled by the
|
||||
.B news.daily
|
||||
script from INN. In conjunction with the scripts in
|
||||
.IR /etc/cron.daily " and " /etc/cron.weekly
|
||||
it takes care of files with sensitive information.
|
||||
|
||||
By default a list of files for daily rotation is generated. At the
|
||||
moment this option only reflects entries that contain "*.*" as
|
||||
facility.priority.
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BR "\-a" ", " "\-\-all"
|
||||
List all logfiles and ignore all other rules.
|
||||
.TP
|
||||
.BI "\-f " "config file"
|
||||
Specify an alternative configuration file instead of
|
||||
.IR /etc/syslog.conf ","
|
||||
which is the default.
|
||||
.TP
|
||||
.B "\-\-auth"
|
||||
Only list files containing sensitive information such as the one
|
||||
containing auth.*.
|
||||
.TP
|
||||
.B "\-\-news"
|
||||
Don't exclude news logfiles which are normally handled by the
|
||||
.B news.daily
|
||||
script from INN.
|
||||
.TP
|
||||
.BR "\-w" ", " "\-\-weekly"
|
||||
Generate the list for weekly rotation.
|
||||
.LP
|
||||
.SH SEE ALSO
|
||||
.BR syslog.conf (5),
|
||||
.BR syslogd (8),
|
||||
.BR savelog (8).
|
@ -1,65 +0,0 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/sysklogd-1.4.2_pre20061230-r2.ebuild,v 1.6 2011/04/07 07:51:22 ultrabug Exp $
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
CVS_DATE=${PV#*_pre}
|
||||
MY_P=${PN}-1.4.1
|
||||
|
||||
DESCRIPTION="Standard log daemons"
|
||||
HOMEPAGE="http://www.infodrom.org/projects/sysklogd/"
|
||||
SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/daemons/${MY_P}.tar.gz
|
||||
mirror://gentoo/${MY_P}-cvs-${CVS_DATE}.patch.bz2"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86"
|
||||
IUSE=""
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="dev-lang/perl
|
||||
sys-apps/debianutils"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"
|
||||
|
||||
epatch "${WORKDIR}"/${MY_P}-cvs-${CVS_DATE}.patch
|
||||
|
||||
epatch "${FILESDIR}"/${MY_P}-accept.patch
|
||||
epatch "${FILESDIR}"/${MY_P}-querymod.patch
|
||||
epatch "${FILESDIR}"/${MY_P}-punt-SO_BSDCOMPAT.patch
|
||||
epatch "${FILESDIR}"/${MY_P}-ksym-headers.patch
|
||||
|
||||
# CAEN/OWL security patches
|
||||
epatch "${FILESDIR}"/${MY_P}-caen-owl-syslogd-bind.diff
|
||||
epatch "${FILESDIR}"/${MY_P}-caen-owl-syslogd-drop-root.diff
|
||||
epatch "${FILESDIR}"/${MY_P}-caen-owl-klogd-drop-root.diff
|
||||
|
||||
append-lfs-flags
|
||||
sed -i \
|
||||
-e "s:-O3:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die "sed CFLAGS"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export CC
|
||||
emake CC="${CC}" LDFLAGS="${LDFLAGS}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dosbin syslogd klogd "${FILESDIR}"/syslogd-listfiles || die "dosbin"
|
||||
doman *.[1-9] "${FILESDIR}"/syslogd-listfiles.8
|
||||
exeinto /etc/cron.daily
|
||||
newexe "${FILESDIR}"/syslog-cron syslog.cron
|
||||
dodoc ANNOUNCE CHANGES MANIFEST NEWS README.1st README.linux
|
||||
dodoc "${FILESDIR}"/syslog.conf
|
||||
insinto /etc
|
||||
doins "${FILESDIR}"/syslog.conf
|
||||
newinitd "${FILESDIR}"/sysklogd.rc6 sysklogd
|
||||
newconfd "${FILESDIR}"/sysklogd.confd sysklogd
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/sysklogd-1.5-r2.ebuild,v 1.12 2013/04/14 11:40:09 ago Exp $
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
DEB_VER="6"
|
||||
DESCRIPTION="Standard log daemons"
|
||||
HOMEPAGE="http://www.infodrom.org/projects/sysklogd/"
|
||||
SRC_URI="http://www.infodrom.org/projects/sysklogd/download/${P}.tar.gz
|
||||
mirror://debian/pool/main/s/sysklogd/${PN}_${PV}-${DEB_VER}.diff.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86"
|
||||
IUSE=""
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="dev-lang/perl
|
||||
sys-apps/debianutils"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
epatch "${WORKDIR}"/${PN}_${PV}-${DEB_VER}.diff
|
||||
cd "${S}"
|
||||
epatch "${FILESDIR}"/${P}-debian-cron.patch
|
||||
epatch "${FILESDIR}"/${P}-build.patch
|
||||
|
||||
# CAEN/OWL security patches
|
||||
epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-syslogd-bind.diff
|
||||
epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-syslogd-drop-root.diff
|
||||
epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-klogd-drop-root.diff
|
||||
|
||||
epatch "${FILESDIR}"/${P}-syslog-func-collision.patch #342601
|
||||
|
||||
append-lfs-flags
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export CC
|
||||
emake || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dosbin syslogd klogd debian/syslog-facility debian/syslogd-listfiles || die "dosbin"
|
||||
doman *.[1-9] debian/syslogd-listfiles.8
|
||||
insinto /etc
|
||||
doins debian/syslog.conf || die
|
||||
exeinto /etc/cron.daily
|
||||
newexe debian/cron.daily syslog || die
|
||||
exeinto /etc/cron.weekly
|
||||
newexe debian/cron.weekly syslog || die
|
||||
dodoc ANNOUNCE CHANGES NEWS README.1st README.linux
|
||||
newinitd "${FILESDIR}"/sysklogd.rc7 sysklogd
|
||||
newconfd "${FILESDIR}"/sysklogd.confd sysklogd
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/sysklogd-1.5-r3.ebuild,v 1.2 2013/08/24 09:41:56 pinkbyte Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
DEB_VER="6"
|
||||
DESCRIPTION="Standard log daemons"
|
||||
HOMEPAGE="http://www.infodrom.org/projects/sysklogd/"
|
||||
SRC_URI="http://www.infodrom.org/projects/sysklogd/download/${P}.tar.gz
|
||||
mirror://debian/pool/main/s/sysklogd/${PN}_${PV}-${DEB_VER}.diff.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
IUSE="logrotate"
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="dev-lang/perl
|
||||
sys-apps/debianutils"
|
||||
|
||||
src_prepare() {
|
||||
pushd "${WORKDIR}" >/dev/null
|
||||
epatch "${WORKDIR}"/${PN}_${PV}-${DEB_VER}.diff
|
||||
popd >/dev/null
|
||||
|
||||
epatch "${FILESDIR}"/${P}-debian-cron.patch
|
||||
epatch "${FILESDIR}"/${P}-build.patch
|
||||
|
||||
# CAEN/OWL security patches
|
||||
epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-syslogd-bind.diff
|
||||
epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-syslogd-drop-root.diff
|
||||
epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-klogd-drop-root.diff
|
||||
|
||||
epatch "${FILESDIR}"/${P}-syslog-func-collision.patch #342601
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-lfs-flags
|
||||
tc-export CC
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dosbin syslogd klogd debian/syslog-facility debian/syslogd-listfiles
|
||||
doman *.[1-9] debian/syslogd-listfiles.8
|
||||
insinto /etc
|
||||
doins debian/syslog.conf
|
||||
if use logrotate ; then
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/sysklogd.logrotate sysklogd
|
||||
else
|
||||
exeinto /etc/cron.daily
|
||||
newexe debian/cron.daily syslog
|
||||
exeinto /etc/cron.weekly
|
||||
newexe debian/cron.weekly syslog
|
||||
fi
|
||||
dodoc ANNOUNCE CHANGES NEWS README.1st README.linux
|
||||
newinitd "${FILESDIR}"/sysklogd.rc7 sysklogd
|
||||
newconfd "${FILESDIR}"/sysklogd.confd sysklogd
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST syslog-ng_3.4.7.tar.gz 3203894 SHA256 7b1114ff0bd9d2c52a8ce407f0f59102ea4123ff7efb3f84253961e0de6ac1b0 SHA512 66c1dafaa9441fd909b450e79ec3d1011bd423301602b0eea372e141ff267ddb60aa0280ef49b1f62d24b3f17fc1909a6ce8cc5bea0e3c6708df64815a534279 WHIRLPOOL b3b9aef566cc4577b4ec6ad96f696e29abd84d663205cadca766a50c933d29e3b195b6679cbb8e0edca96cc6995ab10fe409531eb15c90bfeb82a598ad7cf3fe
|
||||
DIST syslog-ng_3.4.8.tar.gz 3169372 SHA256 96c2f970fbba4fdd7659b1fee5e476d2858c911d4304d42099f495493762ff49 SHA512 23ba9908664e594c186cbe4bd5dcfb5d2ed3faf02ec45b931bb91b078660547989c2340a08b478a33adb530d39a6d6f39a2e7519107a3f6b923ac9f39529620e WHIRLPOOL 1085fa2c90e0c85421c64ed50e8a357f29006afea2f3e329e42d1e27f4210a10fe0f05d4af95a11c245d68b43644a4a829a50c05b7d541f59a6f580b3643b434
|
||||
DIST syslog-ng_3.6.1.tar.gz 3204906 SHA256 a7823679038117eb63aff7b5cd66fc6a0adcef8e85cfaadc94c3cf2b66d774e8 SHA512 2d321b7b7e330019c9c5111d54ebdce273a054f3c8db2770e141a1119233ec6663e5c10a45a313602c7af6b7d7adaf70fe8f535617492837a4f4807bbc73bb1d WHIRLPOOL 1c7716599f71411ee9666b7d1e40cc73e2b67d6872fdc5df3e785bb7815dfd1ce612db30a9b81dcf8edf15a44b577b9ab330c31ad59bed4aa364ae8cf585434b
|
||||
DIST syslog-ng_3.6.2.tar.gz 3207456 SHA256 ef47fada52981e09af570457a5af30f815f5d5b6c2e33754cedd4ca9780d8261 SHA512 15603b4df2001e1ce7e0019d0dd9a0f4295445e3fd19a527ebf3d49486da7da27fac6c465727ec0354f8f70ca0f671a285ec132f9aa0de62b40f18b44af2a226 WHIRLPOOL 7135db242374d6e5789c0820a06187b7e325054fd214e3aee75aac5b8dde56786b432cc4519c07ce0cd413c3a560e8e74ee6eca319c21eaa750ca8140ef1b63f
|
||||
|
@ -1,37 +0,0 @@
|
||||
@version: 3.5
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/3.5/syslog-ng.conf.gentoo,v 1.1 2014/01/22 04:25:36 mr_bones_ Exp $
|
||||
#
|
||||
# Syslog-ng default configuration file for Gentoo Linux
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=426814
|
||||
@include "scl.conf"
|
||||
|
||||
options {
|
||||
threaded(yes);
|
||||
chain_hostnames(no);
|
||||
|
||||
# The default action of syslog-ng is to log a STATS line
|
||||
# to the file every 10 minutes. That's pretty ugly after a while.
|
||||
# Change it to every 12 hours so you get a nice daily update of
|
||||
# how many messages syslog-ng missed (0).
|
||||
stats_freq(43200);
|
||||
# The default action of syslog-ng is to log a MARK line
|
||||
# to the file every 20 minutes. That's seems high for most
|
||||
# people so turn it down to once an hour. Set it to zero
|
||||
# if you don't want the functionality at all.
|
||||
mark_freq(3600);
|
||||
};
|
||||
|
||||
source src { system(); internal(); };
|
||||
|
||||
destination messages { file("/var/log/messages"); };
|
||||
|
||||
# By default messages are logged to tty12...
|
||||
destination console_all { file("/dev/tty12"); };
|
||||
# ...if you intend to use /dev/console for programs like xconsole
|
||||
# you can comment out the destination line above that references /dev/tty12
|
||||
# and uncomment the line below.
|
||||
#destination console_all { file("/dev/console"); };
|
||||
|
||||
log { source(src); destination(messages); };
|
||||
log { source(src); destination(console_all); };
|
@ -1,25 +0,0 @@
|
||||
@version: 3.5
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/3.5/syslog-ng.conf.gentoo.fbsd,v 1.1 2014/01/22 04:25:36 mr_bones_ Exp $
|
||||
#
|
||||
# Syslog-ng default configuration file for Gentoo FreeBSD
|
||||
#
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=426814
|
||||
@include "scl.conf"
|
||||
|
||||
options {
|
||||
threaded(yes);
|
||||
chain_hostnames(no);
|
||||
|
||||
# The default action of syslog-ng is to log a STATS line
|
||||
# to the file every 10 minutes. That's pretty ugly after a while.
|
||||
# Change it to every 12 hours so you get a nice daily update of
|
||||
# how many messages syslog-ng missed (0).
|
||||
stats_freq(43200);
|
||||
};
|
||||
|
||||
source src { system(); internal(); };
|
||||
|
||||
destination messages { file("/var/log/messages"); };
|
||||
|
||||
log { source(src); destination(messages); };
|
@ -1,115 +0,0 @@
|
||||
@version: 3.5
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/3.5/syslog-ng.conf.gentoo.hardened,v 1.1 2014/01/22 04:25:36 mr_bones_ Exp $
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=426814
|
||||
@include "scl.conf"
|
||||
|
||||
#
|
||||
# Syslog-ng configuration file, compatible with default hardened installations.
|
||||
#
|
||||
|
||||
options {
|
||||
threaded(yes);
|
||||
chain_hostnames(no);
|
||||
stats_freq(43200);
|
||||
};
|
||||
|
||||
source src {
|
||||
unix-dgram("/dev/log");
|
||||
internal();
|
||||
};
|
||||
source kernsrc {
|
||||
file("/proc/kmsg");
|
||||
};
|
||||
|
||||
#source net { udp(); };
|
||||
#log { source(net); destination(net_logs); };
|
||||
#destination net_logs { file("/var/log/HOSTS/$HOST/$YEAR$MONTH$DAY.log"); };
|
||||
|
||||
destination authlog { file("/var/log/auth.log"); };
|
||||
destination _syslog { file("/var/log/syslog"); };
|
||||
destination cron { file("/var/log/cron.log"); };
|
||||
destination daemon { file("/var/log/daemon.log"); };
|
||||
destination kern { file("/var/log/kern.log"); file("/dev/tty12"); };
|
||||
destination lpr { file("/var/log/lpr.log"); };
|
||||
destination user { file("/var/log/user.log"); };
|
||||
destination uucp { file("/var/log/uucp.log"); };
|
||||
#destination ppp { file("/var/log/ppp.log"); };
|
||||
destination mail { file("/var/log/mail.log"); };
|
||||
|
||||
destination avc { file("/var/log/avc.log"); };
|
||||
destination audit { file("/var/log/audit.log"); };
|
||||
destination pax { file("/var/log/pax.log"); };
|
||||
destination grsec { file("/var/log/grsec.log"); };
|
||||
|
||||
destination mailinfo { file("/var/log/mail.info"); };
|
||||
destination mailwarn { file("/var/log/mail.warn"); };
|
||||
destination mailerr { file("/var/log/mail.err"); };
|
||||
|
||||
destination newscrit { file("/var/log/news/news.crit"); };
|
||||
destination newserr { file("/var/log/news/news.err"); };
|
||||
destination newsnotice { file("/var/log/news/news.notice"); };
|
||||
|
||||
destination debug { file("/var/log/debug"); };
|
||||
destination messages { file("/var/log/messages"); };
|
||||
destination console { usertty("root"); };
|
||||
destination console_all { file("/dev/tty12"); };
|
||||
#destination loghost { udp("loghost" port(999)); };
|
||||
|
||||
destination xconsole { pipe("/dev/xconsole"); };
|
||||
|
||||
filter f_auth { facility(auth); };
|
||||
filter f_authpriv { facility(auth, authpriv); };
|
||||
filter f_syslog { not facility(authpriv, mail); };
|
||||
filter f_cron { facility(cron); };
|
||||
filter f_daemon { facility(daemon); };
|
||||
filter f_kern { facility(kern); };
|
||||
filter f_lpr { facility(lpr); };
|
||||
filter f_mail { facility(mail); };
|
||||
filter f_user { facility(user); };
|
||||
filter f_uucp { facility(uucp); };
|
||||
#filter f_ppp { facility(ppp); };
|
||||
filter f_news { facility(news); };
|
||||
filter f_debug { not facility(auth, authpriv, news, mail); };
|
||||
filter f_messages { level(info..warn)
|
||||
and not facility(auth, authpriv, mail, news); };
|
||||
filter f_emergency { level(emerg); };
|
||||
|
||||
filter f_info { level(info); };
|
||||
|
||||
filter f_notice { level(notice); };
|
||||
filter f_warn { level(warn); };
|
||||
filter f_crit { level(crit); };
|
||||
filter f_err { level(err); };
|
||||
|
||||
filter f_avc { message(".*avc: .*"); };
|
||||
filter f_audit { message("^(\\[.*\..*\] |)audit.*") and not message(".*avc: .*"); };
|
||||
filter f_pax { message("^(\\[.*\..*\] |)PAX:.*"); };
|
||||
filter f_grsec { message("^(\\[.*\..*\] |)grsec:.*"); };
|
||||
|
||||
log { source(src); filter(f_authpriv); destination(authlog); };
|
||||
log { source(src); filter(f_syslog); destination(_syslog); };
|
||||
log { source(src); filter(f_cron); destination(cron); };
|
||||
log { source(src); filter(f_daemon); destination(daemon); };
|
||||
log { source(kernsrc); filter(f_kern); destination(kern); };
|
||||
log { source(src); filter(f_lpr); destination(lpr); };
|
||||
log { source(src); filter(f_mail); destination(mail); };
|
||||
log { source(src); filter(f_user); destination(user); };
|
||||
log { source(src); filter(f_uucp); destination(uucp); };
|
||||
log { source(kernsrc); filter(f_pax); destination(pax); };
|
||||
log { source(kernsrc); filter(f_grsec); destination(grsec); };
|
||||
log { source(kernsrc); filter(f_audit); destination(audit); };
|
||||
log { source(kernsrc); filter(f_avc); destination(avc); };
|
||||
log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
|
||||
log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
|
||||
log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };
|
||||
log { source(src); filter(f_news); filter(f_crit); destination(newscrit); };
|
||||
log { source(src); filter(f_news); filter(f_err); destination(newserr); };
|
||||
log { source(src); filter(f_news); filter(f_notice); destination(newsnotice); };
|
||||
log { source(src); filter(f_debug); destination(debug); };
|
||||
log { source(src); filter(f_messages); destination(messages); };
|
||||
log { source(src); filter(f_emergency); destination(console); };
|
||||
#log { source(src); filter(f_ppp); destination(ppp); };
|
||||
log { source(src); destination(console_all); };
|
@ -1,42 +0,0 @@
|
||||
# Config file for /etc/init.d/syslog-ng
|
||||
|
||||
# If you are not using network logging, this entire section should be
|
||||
# commented out. Otherwise, choose one of the settings below based on
|
||||
# how you are configuring your network.
|
||||
#
|
||||
# If you are using the net.* scripts to configure your network, you should
|
||||
# set rc_need to match the interface through which your logging server
|
||||
# can be reached.
|
||||
#rc_need="net.eth0"
|
||||
#
|
||||
# If you are using an interface manager like wicd, dhcpcd in standalone
|
||||
# mode, networkmanager, etc to control your interfaces, set rc_need to
|
||||
# the name of that service.
|
||||
# rc_need="dhcpcd"
|
||||
#rc_need="networkmanager"
|
||||
#
|
||||
# If you are using newnet and configuring your interface statically with
|
||||
# the network script, you should use this setting.
|
||||
#rc_need="network"
|
||||
#
|
||||
# You can use this setting, but I do not recommend relying on it.
|
||||
#rc_need="net"
|
||||
#
|
||||
# You may also want to uncomment the following if you are using network
|
||||
# logging.
|
||||
#rc_use="stunnel"
|
||||
|
||||
# For very customized setups these variables can be adjusted as needed
|
||||
# but for most situations they should remain commented:
|
||||
# SYSLOG_NG_CONFIGFILE=/etc/syslog-ng/syslog-ng.conf
|
||||
# SYSLOG_NG_STATEFILE_DIR=/var/lib/syslog-ng
|
||||
# SYSLOG_NG_STATEFILE=${SYSLOG_NG_STATEFILE_DIR}/syslog-ng.persist
|
||||
# SYSLOG_NG_PIDFILE_DIR=/var/run
|
||||
# SYSLOG_NG_PIDFILE=${SYSLOG_NG_PIDFILE_DIR}/syslog-ng.pid
|
||||
# SYSLOG_NG_GROUP=root
|
||||
# SYSLOG_NG_USER=root
|
||||
|
||||
# Put any additional options for syslog-ng here.
|
||||
# See syslog-ng(8) for more information.
|
||||
|
||||
SYSLOG_NG_OPTS=""
|
@ -1,59 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/3.5/syslog-ng.rc6,v 1.1 2014/01/22 04:25:36 mr_bones_ Exp $
|
||||
|
||||
SYSLOG_NG_CONFIGFILE=${SYSLOG_NG_CONFIGFILE:-/etc/syslog-ng/${RC_SVCNAME}.conf}
|
||||
SYSLOG_NG_STATEFILE_DIR=${SYSLOG_NG_STATEFILE_DIR:-/var/lib/syslog-ng}
|
||||
SYSLOG_NG_STATEFILE=${SYSLOG_NG_STATEFILE:-${SYSLOG_NG_STATEFILE_DIR}/syslog-ng.persist}
|
||||
SYSLOG_NG_PIDFILE_DIR=${SYSLOG_NG_PIDFILE_DIR:-/var/run}
|
||||
SYSLOG_NG_PIDFILE=${SYSLOG_NG_PIDFILE:-${SYSLOG_NG_PIDFILE_DIR}/${RC_SVCNAME}.pid}
|
||||
|
||||
SYSLOG_NG_GROUP=${SYSLOG_NG_GROUP:-root}
|
||||
SYSLOG_NG_USER=${SYSLOG_NG_USER:-root}
|
||||
|
||||
command="/usr/sbin/syslog-ng"
|
||||
command_args="--persist-file \"${SYSLOG_NG_STATEFILE}\" --cfgfile \"${SYSLOG_NG_CONFIGFILE}\" --pidfile \"${SYSLOG_NG_PIDFILE}\" ${SYSLOG_NG_OPTS}"
|
||||
extra_commands="checkconfig"
|
||||
extra_started_commands="reload"
|
||||
pidfile="${SYSLOG_NG_PIDFILE}"
|
||||
start_stop_daemon_args="--user \"${SYSLOG_NG_USER}\":\"${SYSLOG_NG_GROUP}\""
|
||||
description="Syslog-ng is a syslog replacement with advanced filtering features."
|
||||
description_checkconfig="Check the configuration file that will be used by \"start\""
|
||||
description_reload="Reload the configuration without exiting"
|
||||
required_files="${SYSLOG_NG_CONFIGFILE}"
|
||||
required_dirs="${SYSLOG_NG_PIDFILE_DIR}"
|
||||
|
||||
depend() {
|
||||
use clock
|
||||
need hostname localmount
|
||||
after bootmisc
|
||||
provide logger
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
ebegin "Checking your configfile (${SYSLOG_NG_CONFIGFILE})"
|
||||
syslog-ng -s -f "${SYSLOG_NG_CONFIGFILE}"
|
||||
eend $? "Configuration error. Please fix your configfile (${SYSLOG_NG_CONFIGFILE})"
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkconfig || return 1
|
||||
checkpath \
|
||||
-d \
|
||||
--mode 0700 \
|
||||
--owner "${SYSLOG_NG_OWNER}:${SYSLOG_NG_GROUP}" \
|
||||
"${SYSLOG_NG_STATEFILE_DIR}"
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
[ "$RC_CMD" = restart ] && sleep 1
|
||||
return 0
|
||||
}
|
||||
|
||||
reload() {
|
||||
checkconfig || return 1
|
||||
ebegin "Reloading configuration and re-opening log files"
|
||||
start-stop-daemon --signal HUP --pidfile "${pidfile}"
|
||||
eend $?
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
--- modules/afsmtp/Makefile.am.orig 2014-11-09 02:47:00.110145300 -0500
|
||||
+++ modules/afsmtp/Makefile.am 2014-11-09 02:47:13.996684666 -0500
|
||||
@@ -12,7 +12,7 @@
|
||||
modules/afsmtp/afsmtp-parser.c \
|
||||
modules/afsmtp/afsmtp-parser.h
|
||||
modules_afsmtp_libafsmtp_la_LIBADD = \
|
||||
- $(LIBESMTP_LIBS) $(MODULE_DEPS_LIBS) $(CRYPTO_LIBS)
|
||||
+ $(MODULE_DEPS_LIBS) $(LIBESMTP_LIBS) $(CRYPTO_LIBS)
|
||||
modules_afsmtp_libafsmtp_la_LDFLAGS = \
|
||||
$(MODULE_LDFLAGS)
|
||||
modules_afsmtp_libafsmtp_la_DEPENDENCIES= \
|
@ -1,66 +0,0 @@
|
||||
From 15af882cff915eada828114bdbcf2b7d19595b67 Mon Sep 17 00:00:00 2001
|
||||
From: Gergely Nagy <algernon@madhouse-project.org>
|
||||
Date: Thu, 4 Dec 2014 10:29:36 +0100
|
||||
Subject: [PATCH] hostname: Demote the FQDN warning to a verbose message
|
||||
|
||||
On a lot of desktop machines (and in private networks), the hostname
|
||||
will not be fully qualified, so the warning is just noise. Demote it to
|
||||
a message only displayed in verbose mode.
|
||||
|
||||
This fixes the other half of #329.
|
||||
|
||||
Reported-by: Peter Czanik <czanik@balabit.hu>
|
||||
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
||||
---
|
||||
lib/hostname.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/hostname.c b/lib/hostname.c
|
||||
index b65d8a1..5af34ec 100644
|
||||
--- a/lib/hostname.c
|
||||
+++ b/lib/hostname.c
|
||||
@@ -135,8 +135,8 @@ detect_local_fqdn_hostname(void)
|
||||
hostname = get_local_fqdn_hostname_from_dns();
|
||||
if (!hostname)
|
||||
{
|
||||
- msg_warning("Unable to detect fully qualified hostname for localhost, use_fqdn() will use the short hostname",
|
||||
- NULL);
|
||||
+ msg_verbose("Unable to detect fully qualified hostname for localhost, use_fqdn() will use the short hostname",
|
||||
+ NULL);
|
||||
hostname = get_local_hostname_from_system();
|
||||
}
|
||||
}
|
||||
From 1ddfe7878f1089b20e854f30a6bdb9acb5c6f423 Mon Sep 17 00:00:00 2001
|
||||
From: Gergely Nagy <algernon@madhouse-project.org>
|
||||
Date: Thu, 4 Dec 2014 10:27:28 +0100
|
||||
Subject: [PATCH] system-source: Demote the json-parser() warning to a debug
|
||||
message
|
||||
|
||||
Not having the json module installed by default is fairly common, @cim
|
||||
messages on the other hand, are not. To make startup less annoying for a
|
||||
large number of users, demote the warning about json-parser() missing to
|
||||
a debug message.
|
||||
|
||||
This addresses one part of #329.
|
||||
|
||||
Reported-by: Peter Czanik <czanik@balabit.hu>
|
||||
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
||||
---
|
||||
modules/system-source/system-source.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/modules/system-source/system-source.c b/modules/system-source/system-source.c
|
||||
index b9580e4..7228dd4 100644
|
||||
--- a/modules/system-source/system-source.c
|
||||
+++ b/modules/system-source/system-source.c
|
||||
@@ -323,8 +323,8 @@ system_generate_cim_parser(GlobalConfig *cfg, GString *sysblock)
|
||||
|
||||
if (!_is_json_parser_available(cfg))
|
||||
{
|
||||
- msg_warning_once("system(): json-parser() is missing, skipping the automatic JSON parsing of messages submitted via syslog(3), Please install the json module",
|
||||
- NULL);
|
||||
+ msg_debug("system(): json-parser() is missing, skipping the automatic JSON parsing of messages submitted via syslog(3), Please install the json module",
|
||||
+ NULL);
|
||||
return;
|
||||
}
|
||||
|
@ -0,0 +1,29 @@
|
||||
From 0e51c69056a93bd2b95341f005b8b1fdceec2b10 Mon Sep 17 00:00:00 2001
|
||||
From: Tibor Benke <ihrwein@gmail.com>
|
||||
Date: Wed, 17 Dec 2014 23:52:41 +0100
|
||||
Subject: [PATCH] redis: free reply object after a succesful ping
|
||||
|
||||
---
|
||||
modules/redis/redis.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules/redis/redis.c b/modules/redis/redis.c
|
||||
index 46a5b6b..9114324 100644
|
||||
--- a/modules/redis/redis.c
|
||||
+++ b/modules/redis/redis.c
|
||||
@@ -132,9 +132,14 @@ redis_dd_format_persist_name(LogThrDestDriver *d)
|
||||
static gboolean
|
||||
redis_dd_connect(RedisDriver *self, gboolean reconnect)
|
||||
{
|
||||
+ redisReply *reply;
|
||||
+
|
||||
if (reconnect && (self->c != NULL))
|
||||
{
|
||||
- redisCommand(self->c, "ping");
|
||||
+ reply = redisCommand(self->c, "ping");
|
||||
+
|
||||
+ if (reply)
|
||||
+ freeReplyObject(reply);
|
||||
|
||||
if (!self->c->err)
|
||||
return TRUE;
|
@ -0,0 +1,15 @@
|
||||
;;; site-lisp configuration for SLIME
|
||||
|
||||
(add-to-list 'load-path "@SITELISP@")
|
||||
(add-to-list 'load-path "@SITELISP@/contrib")
|
||||
(autoload 'slime-highlight-edits-mode "slime-highlight-edits")
|
||||
|
||||
(require 'slime-autoloads)
|
||||
(slime-setup '(slime-fancy slime-asdf slime-banner))
|
||||
|
||||
;; this allows us not to require dev-lisp/hyperspec
|
||||
;; (which is non-free) as a hard dependency
|
||||
(setq common-lisp-hyperspec-root
|
||||
(if (file-exists-p "/usr/share/doc/hyperspec/HyperSpec")
|
||||
"file:///usr/share/doc/hyperspec/HyperSpec/"
|
||||
"http://www.lispworks.com/reference/HyperSpec/"))
|
@ -0,0 +1,16 @@
|
||||
Author: Stelian Ionescu <sionescu@cddr.org>
|
||||
Date: 2010-05-14
|
||||
Status: Gentoo-only
|
||||
Description: Dont' call SWANK-LOADER:INIT on startup since we don't use
|
||||
the upstream swank-loader.lisp
|
||||
|
||||
--- a/slime.el
|
||||
+++ b/slime.el
|
||||
@@ -1323,7 +1323,6 @@ See `slime-start'."
|
||||
`(progn
|
||||
(load ,(slime-to-lisp-filename (expand-file-name loader))
|
||||
:verbose t)
|
||||
- (funcall (read-from-string "swank-loader:init"))
|
||||
(funcall (read-from-string "swank:start-server")
|
||||
,(slime-to-lisp-filename port-filename)
|
||||
:coding-system ,encoding)))))
|
@ -0,0 +1,98 @@
|
||||
;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
|
||||
|
||||
(defpackage #:swank-system
|
||||
(:use #:common-lisp #:asdf))
|
||||
|
||||
(in-package #:swank-system)
|
||||
|
||||
(defun load-user-init-file ()
|
||||
"Load the user init file, return NIL if it does not exist."
|
||||
(load (merge-pathnames (user-homedir-pathname)
|
||||
(make-pathname :name ".swank" :type "lisp"))
|
||||
:if-does-not-exist nil))
|
||||
|
||||
(defun load-site-init-file ()
|
||||
(load (make-pathname :name "site-init" :type "lisp"
|
||||
:defaults (truename
|
||||
(asdf:system-definition-pathname
|
||||
(asdf:find-system :swank))))
|
||||
:if-does-not-exist nil))
|
||||
|
||||
(defclass no-load-file (cl-source-file) ())
|
||||
|
||||
(defmethod perform ((op load-op) (c no-load-file)) nil)
|
||||
|
||||
(defmacro define-swank-system (sysdep-files)
|
||||
`(defsystem :swank
|
||||
:description "Swank is the Common Lisp back-end to SLIME"
|
||||
:serial t
|
||||
:components ((:file "swank-backend")
|
||||
(:file "nregex")
|
||||
,@(mapcar #'(lambda (component)
|
||||
(if (atom component)
|
||||
(list :file component)
|
||||
component))
|
||||
sysdep-files)
|
||||
(:file "swank-match")
|
||||
(:file "swank-rpc")
|
||||
(:file "swank")
|
||||
(:module "contrib"
|
||||
:components ((:no-load-file "swank-c-p-c")
|
||||
(:no-load-file "swank-arglists"
|
||||
:depends-on ("swank-c-p-c"))
|
||||
(:no-load-file "swank-asdf")
|
||||
(:no-load-file "swank-clipboard")
|
||||
(:no-load-file "swank-fancy-inspector")
|
||||
(:no-load-file "swank-fuzzy"
|
||||
:depends-on ("swank-c-p-c"))
|
||||
(:no-load-file "swank-hyperdoc")
|
||||
(:no-load-file "swank-indentation")
|
||||
(:no-load-file "swank-listener-hooks")
|
||||
(:no-load-file "swank-media")
|
||||
(:no-load-file "swank-motd")
|
||||
(:no-load-file "swank-package-fu")
|
||||
(:no-load-file "swank-presentations")
|
||||
(:no-load-file "swank-presentation-streams"
|
||||
:depends-on ("swank-presentations"))
|
||||
(:no-load-file "swank-sbcl-exts"
|
||||
:depends-on ("swank-arglists"))
|
||||
(:no-load-file "swank-snapshot")
|
||||
(:no-load-file "swank-sprof"))))
|
||||
:depends-on (#+sbcl sb-bsd-sockets)
|
||||
:perform (load-op :after (op swank)
|
||||
(load-site-init-file)
|
||||
(load-user-init-file))))
|
||||
|
||||
#+(or cmu scl sbcl openmcl clozurecl lispworks allegro clisp armedbear cormanlisp ecl)
|
||||
(define-swank-system
|
||||
#+cmu (swank-source-path-parser swank-source-file-cache swank-cmucl)
|
||||
#+scl (swank-source-path-parser swank-source-file-cache swank-scl)
|
||||
#+sbcl (swank-source-path-parser swank-source-file-cache swank-sbcl swank-gray)
|
||||
#+(or openmcl clozurecl) (metering
|
||||
#.(if (and (find-package "CCL")
|
||||
(fboundp (intern "COMPUTE-APPLICABLE-METHODS-USING-CLASSES" "CCL")))
|
||||
'swank-ccl
|
||||
'swank-openmcl)
|
||||
swank-gray)
|
||||
#+lispworks (swank-lispworks swank-gray)
|
||||
#+allegro (swank-allegro swank-gray)
|
||||
#+clisp (xref metering swank-clisp swank-gray)
|
||||
#+armedbear (swank-abcl)
|
||||
#+cormanlisp (swank-corman swank-gray)
|
||||
#+ecl (swank-source-path-parser swank-source-file-cache swank-ecl swank-gray))
|
||||
|
||||
#-(or cmu scl sbcl openmcl clozurecl lispworks allegro clisp armedbear cormanlisp ecl)
|
||||
(error "Your CL implementation is not supported !")
|
||||
|
||||
(defpackage #:swank-loader
|
||||
(:use #:common-lisp)
|
||||
(:export #:*source-directory*))
|
||||
|
||||
(in-package #:swank-loader)
|
||||
|
||||
(defparameter *source-directory*
|
||||
(asdf:component-pathname (asdf:find-system :swank)))
|
||||
|
||||
;; (funcall (intern (string :warn-unimplemented-interfaces) :swank-backend))
|
||||
|
||||
;; swank.asd ends here
|
@ -0,0 +1,13 @@
|
||||
diff --git a/contrib/swank-presentation-streams.lisp b/contrib/swank-presentation-streams.lisp
|
||||
index 0c24bda..bd5a990 100644
|
||||
--- a/contrib/swank-presentation-streams.lisp
|
||||
+++ b/contrib/swank-presentation-streams.lisp
|
||||
@@ -65,7 +65,7 @@ be sensitive and remember what object it is in the repl if predicate is true"
|
||||
(funcall ,continue)))))
|
||||
|
||||
;;; Get pretty printer patches for SBCL at load (not compile) time.
|
||||
-#+sbcl
|
||||
+#+#:disable-dangerous-patching ; #+sbcl
|
||||
(eval-when (:load-toplevel)
|
||||
(handler-bind ((simple-error
|
||||
(lambda (c)
|
@ -0,0 +1,20 @@
|
||||
--- slime-2.11-orig/slime.el 2014-12-01 21:05:54.000000000 +1100
|
||||
+++ slime-2.11/slime.el 2014-12-19 11:57:45.455393436 +1100
|
||||
@@ -134,16 +134,7 @@
|
||||
"Return the datestring of the latest entry in the ChangeLog file.
|
||||
Return nil if the ChangeLog file cannot be found."
|
||||
(interactive "p")
|
||||
- (let ((changelog (expand-file-name "ChangeLog" slime-path))
|
||||
- (date nil))
|
||||
- (when (file-exists-p changelog)
|
||||
- (with-temp-buffer
|
||||
- (insert-file-contents-literally changelog nil 0 100)
|
||||
- (goto-char (point-min))
|
||||
- (setq date (symbol-name (read (current-buffer))))))
|
||||
- (when interactivep
|
||||
- (message "Slime ChangeLog dates %s." date))
|
||||
- date)))
|
||||
+ "@SLIME-CHANGELOG-DATE@"))
|
||||
|
||||
(defvar slime-protocol-version nil)
|
||||
(setq slime-protocol-version
|
@ -0,0 +1,122 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emacs/slime/slime-2.11.ebuild,v 1.1 2014/12/19 07:02:16 gienah Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
[[ ${PV} = *9999* ]] && GIT_ECLASS="git-r3" || GIT_ECLASS=""
|
||||
|
||||
inherit common-lisp-3 ${GIT_ECLASS} elisp eutils
|
||||
|
||||
DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)"
|
||||
HOMEPAGE="http://common-lisp.net/project/slime/"
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2 xref? ( xref.lisp )"
|
||||
SLOT="0"
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
KEYWORDS=""
|
||||
else
|
||||
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
|
||||
fi
|
||||
IUSE="doc xref"
|
||||
RESTRICT=test # tests fail to contact sbcl
|
||||
|
||||
RDEPEND="virtual/commonlisp
|
||||
dev-lisp/asdf"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-apps/texinfo-5.1
|
||||
doc? ( virtual/texi2dvi )"
|
||||
|
||||
CLPACKAGE=swank
|
||||
CLSYSTEMS=swank
|
||||
SITEFILE=70${PN}-gentoo.el
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/slime/slime.git"
|
||||
${GIT_ECLASS}_src_unpack
|
||||
fi
|
||||
elisp_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ "${PV}" == "2.11" ]]; then
|
||||
epatch "${FILESDIR}"/2.11/dont-load-sbcl-pprint.patch
|
||||
fi
|
||||
epatch "${FILESDIR}"/2.0_p20130214/gentoo-module-load.patch
|
||||
epatch "${FILESDIR}"/2.0_p20110617/gentoo-dont-call-init.patch
|
||||
has_version ">=app-editors/emacs-24" && rm -f lib/cl-lib.el
|
||||
|
||||
# extract date of last update from ChangeLog, bug 233270
|
||||
SLIME_CHANGELOG_DATE=$(awk '/^[-0-9]+ / { print $1; exit; }' ChangeLog)
|
||||
[ -n "${SLIME_CHANGELOG_DATE}" ] || die "cannot determine ChangeLog date"
|
||||
|
||||
# SLIME uses the changelog date to make sure that the emacs side and the CL side
|
||||
# are in sync. We hardcode it instead of letting slime determine it at runtime
|
||||
# because ChangeLog doesn't get installed to $EMACSDIR
|
||||
epatch "${FILESDIR}"/2.11/gentoo-changelog-date.patch
|
||||
|
||||
# When starting slime in emacs, slime looks for ${S}/swank/backend.lisp as
|
||||
# /usr/share/common-lisp/source/swank/swank-backend.lisp
|
||||
pushd swank || die
|
||||
for i in *.lisp
|
||||
do
|
||||
mv ${i} ../swank-${i}
|
||||
done
|
||||
popd
|
||||
|
||||
sed -i "/(defvar \*swank-wire-protocol-version\*/s:nil:\"${SLIME_CHANGELOG_DATE}\":" swank.lisp \
|
||||
|| die "sed swank.lisp failed"
|
||||
sed -i "s:@SLIME-CHANGELOG-DATE@:${SLIME_CHANGELOG_DATE}:" slime.el \
|
||||
|| die "sed slime.el failed"
|
||||
sed -i "s/@itemx INIT-FUNCTION/@item INIT-FUNCTION/" doc/slime.texi \
|
||||
|| die "sed doc/slime.texi failed"
|
||||
|
||||
# Remove xref.lisp (which is non-free) unless USE flag is set
|
||||
use xref || rm -f xref.lisp
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
elisp-compile *.el || die
|
||||
BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \
|
||||
elisp-compile contrib/*.el lib/*.el || die
|
||||
emake -j1 -C doc slime.info || die "Cannot build info docs"
|
||||
|
||||
if use doc; then
|
||||
VARTEXFONTS="${T}"/fonts \
|
||||
emake -j1 -C doc slime.pdf || die "emake doc failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
## install core
|
||||
elisp-install ${PN} *.{el,elc} "${FILESDIR}"/swank-loader.lisp \
|
||||
|| die "Cannot install SLIME core"
|
||||
sed "s:/usr/:${EPREFIX}&:g" "${FILESDIR}"/2.0_p20110617/${SITEFILE} \
|
||||
>"${T}"/${SITEFILE} || die "sed failed"
|
||||
elisp-site-file-install "${T}"/${SITEFILE} || die
|
||||
cp "${FILESDIR}"/2.0_p20110617/swank.asd "${S}"
|
||||
# remove upstream swank-loader, since it won't be used
|
||||
rm "${S}"/swank-loader.lisp
|
||||
common-lisp-install-sources *.lisp
|
||||
common-lisp-install-asdf swank.asd
|
||||
|
||||
## install contribs
|
||||
elisp-install ${PN}/contrib/ contrib/*.{el,elc,scm,goo} \
|
||||
|| die "Cannot install contribs"
|
||||
common-lisp-install-sources contrib/*.lisp
|
||||
|
||||
## install lib
|
||||
elisp-install ${PN}/lib/ lib/*.{el,elc} \
|
||||
|| die "Cannot install libs"
|
||||
|
||||
## install docs
|
||||
dodoc README.md ChangeLog CONTRIBUTING.md NEWS PROBLEMS
|
||||
newdoc contrib/README.md README-contrib.md
|
||||
newdoc contrib/ChangeLog ChangeLog.contrib
|
||||
doinfo doc/slime.info
|
||||
use doc && dodoc doc/*.pdf
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST libguestfs-1.26.1.tar.gz 11912359 SHA256 d047f951e79cc2f00b62a7e8d4e3acf18bb69c6be0a75884158923828b5264f6 SHA512 080a90d54b2063e2bf133c456a0624d63678cf7f80aa485dc5fd0c1d3577056c9fb894fd4fec67cbab29ac70f3b1c9ab070cf86ba5a09a8c8fc266f490c68809 WHIRLPOOL 54193361453d8d51da8070d0b4b5fe4e28fbf5e39aedbb3991c6f20876fed8a9f9c41218048dec697894d06d0edb29c887030edb38da899eb336278dd60ad974
|
||||
DIST libguestfs-1.28.3.tar.gz 12701662 SHA256 082ebcb14156198e73b3f64249d4a9fcf9811af53ba9b3e3dc85f9f853b39f6f SHA512 2b2324b90ea57c86749eed40f8384a4131a11f96f05eb4832762f30ca539fffc40bff5f848e751dec71ae95337833e69a7c3652aed1eda62c2092b2cb078862f WHIRLPOOL 77fecef7d1db6a65fa310cd47eaf9415e690468cb06cb5dffbb41fdab497444a24338c00011d3193637247aeb0b0776830b525abbb4e4146fc3d27aedb72ae22
|
||||
DIST libguestfs-1.28.5.tar.gz 12747537 SHA256 e9f38c6ad15cefe18b096a86334a60fc7df6367358f2641d8c5c5f3122ad9d91 SHA512 5ab25498fa9141950c1077cc52bae05a2781fa86a983b5fa49fbd4a4bca70710db3d4f7b9f45fb6f8b4ee8e3d77ffde7c4c0d9e9e526443e2a8251a62306ebb6 WHIRLPOOL cbbac5cce87dd41ad05b13732d0f5a3442c980152d8864522f5df47ffed7a260a131c819ceb40edd07cd74454fc9f4c0c7eb41fe734509a4e123d28bc58d813f
|
||||
|
@ -0,0 +1,170 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/libguestfs/libguestfs-1.28.5.ebuild,v 1.1 2014/12/19 04:44:14 dlan Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
WANT_LIBTOOL=latest
|
||||
WANT_AUTOMAKE=1.14
|
||||
AUTOTOOLS_IN_SOURCE_BUILD=1
|
||||
|
||||
inherit autotools-utils autotools versionator eutils \
|
||||
multilib linux-info perl-module base
|
||||
|
||||
MY_PV_1="$(get_version_component_range 1-2)"
|
||||
MY_PV_2="$(get_version_component_range 2)"
|
||||
[[ $(( $(get_version_component_range 2) % 2 )) -eq 0 ]] && SD="stable" || SD="development"
|
||||
|
||||
DESCRIPTION="Tools for accessing, inspect and modifying virtual machine (VM) disk images"
|
||||
HOMEPAGE="http://libguestfs.org/"
|
||||
SRC_URI="http://libguestfs.org/download/${MY_PV_1}-${SD}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2"
|
||||
SLOT="0/"${MY_PV_1}""
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="bash-completion erlang +fuse debug ocaml doc +perl ruby static-libs
|
||||
selinux systemtap introspection inspect-icons test lua"
|
||||
|
||||
# Failires - doc
|
||||
# Failures - bash-completion, see GBZ #486306
|
||||
|
||||
COMMON_DEPEND="
|
||||
sys-libs/ncurses
|
||||
sys-devel/gettext
|
||||
>=app-misc/hivex-1.3.1
|
||||
dev-libs/libpcre
|
||||
app-arch/cpio
|
||||
dev-lang/perl
|
||||
app-cdr/cdrkit
|
||||
>=app-emulation/qemu-2.0[qemu_softmmu_targets_x86_64,systemtap?,selinux?,filecaps]
|
||||
sys-apps/fakeroot
|
||||
sys-apps/file
|
||||
app-emulation/libvirt
|
||||
dev-libs/libxml2:2
|
||||
>=sys-apps/fakechroot-2.8
|
||||
>=app-admin/augeas-1.0.0
|
||||
sys-fs/squashfs-tools
|
||||
dev-libs/libconfig
|
||||
dev-libs/libpcre
|
||||
sys-libs/readline
|
||||
>=sys-libs/db-4.6
|
||||
app-arch/xz-utils
|
||||
app-arch/lzma
|
||||
app-crypt/gnupg
|
||||
app-arch/unzip[natspec]
|
||||
perl? ( virtual/perl-ExtUtils-MakeMaker
|
||||
>=dev-perl/Sys-Virt-0.2.4
|
||||
virtual/perl-Getopt-Long
|
||||
virtual/perl-Data-Dumper
|
||||
dev-perl/libintl-perl
|
||||
>=app-misc/hivex-1.3.1[perl?]
|
||||
dev-perl/String-ShellQuote
|
||||
)
|
||||
fuse? ( sys-fs/fuse )
|
||||
introspection? (
|
||||
>=dev-libs/gobject-introspection-1.30.0
|
||||
dev-libs/gjs
|
||||
)
|
||||
selinux? ( sys-libs/libselinux sys-libs/libsemanage )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
ocaml? ( dev-lang/ocaml[ocamlopt]
|
||||
dev-ml/findlib[ocamlopt]
|
||||
dev-ml/ocaml-gettext
|
||||
)
|
||||
erlang? ( dev-lang/erlang )
|
||||
inspect-icons? ( media-libs/netpbm
|
||||
media-gfx/icoutils
|
||||
)
|
||||
virtual/acl
|
||||
sys-libs/libcap
|
||||
lua? ( dev-lang/lua )
|
||||
>=app-shells/bash-completion-2.0
|
||||
dev-libs/yajl"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-util/gperf
|
||||
doc? ( app-text/po4a )
|
||||
ruby? ( dev-lang/ruby virtual/rubygems dev-ruby/rake )
|
||||
${AUTOTOOLS_DEPEND}
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/libguestfs-appliance
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${MY_PV_1}"/*.patch )
|
||||
|
||||
DOCS=( AUTHORS BUGS ChangeLog HACKING README TODO )
|
||||
|
||||
pkg_setup () {
|
||||
CONFIG_CHECK="~KVM ~VIRTIO"
|
||||
[ -n "${CONFIG_CHECK}" ] && check_extra_config;
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
base_src_prepare
|
||||
eaclocal
|
||||
eautomake
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
# Disable feature test for kvm for more reason
|
||||
# i.e: not loaded module in __build__ time,
|
||||
# build server not supported kvm, etc. ...
|
||||
#
|
||||
# In fact, this feature is virtio support and requires
|
||||
# configured kernel.
|
||||
export vmchannel_test=no
|
||||
|
||||
local myeconfargs=(
|
||||
$(use_enable test werror)
|
||||
--with-libvirt
|
||||
--with-default-backend=libvirt
|
||||
--disable-appliance
|
||||
--disable-daemon
|
||||
--with-extra="-gentoo"
|
||||
--with-readline
|
||||
--disable-php
|
||||
--disable-python
|
||||
--without-java
|
||||
$(use_enable perl)
|
||||
$(use_enable fuse)
|
||||
$(use_enable ocaml)
|
||||
$(use_enable ruby)
|
||||
--disable-haskell
|
||||
--disable-golang
|
||||
$(use_enable introspection gobject)
|
||||
$(use_enable erlang)
|
||||
$(use_enable systemtap probes)
|
||||
$(use_enable lua)
|
||||
)
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-utils_src_compile
|
||||
|
||||
}
|
||||
|
||||
src_test() {
|
||||
autotools-utils_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
strip-linguas -i po
|
||||
autotools-utils_src_install "LINGUAS=""${LINGUAS}"""
|
||||
|
||||
use perl && perl_delete_localpod
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Perl based tools NOT build"
|
||||
fi
|
||||
if ! use ocaml ; then
|
||||
einfo "Ocaml based tools ( sysprep , ... ) NOT installed"
|
||||
fi
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST libvirt-glib-0.1.8.tar.gz 800459 SHA256 da0e45952dbe1d5d9fde4f845f3a10763e7fed0b1e45906a46fdb74b777aa751 SHA512 0e5a9b16c61a649d964312f9be97c1dfa5597192530e6645c8abdaf64547c8251fe0a66f3b1eebaf5361ec2cd69efe9b4824106e87180ec1a31d82a73c1240ed WHIRLPOOL 383055c5aae701ef94aba246a1a46b4a489fc80da635fa5a7d55b175dff878d9329455c71c5de3fc0dd15dca811e6e3e3575b7853dac340859fd7116a3c5d2d5
|
||||
DIST libvirt-glib-0.1.9.tar.gz 830344 SHA256 053b36260ea70d740e27fe99ac67d714d23cf93d563c3342fa00593ec185a958 SHA512 f90aff63c30758524211392f6767292e4fa042d896716866b9272cdf1169ea0fd4cacaf47f4f985d429dea4f002686cb19b1930d7882dd4c88d5d038a5ce602c WHIRLPOOL 4ecaefb9a50f43c48f1061f4422bc4e490b95c1a78a47fc85a9fc4ea7c35817ff278af799c286060166b5194c79b1a16adea48ba1831250c0f4019d731e07956
|
||||
DIST libvirt-glib-0.2.0.tar.gz 836245 SHA256 30b7e0f224f9cdcf34c1b05b08803cb617d057613ee96395ae517f4ee6c44a0b SHA512 23b698fe297247dd5ce06d9e37eed2025064ab76a52f008cb89cd835364a52c8fe60ae535f68e67fb6c3454d41328dd77c392efd594a3fb1a237d1beb25d19ae WHIRLPOOL 6ef50cc740fa1b43dafc4666ac221bb57312dd937ee693bd12e582e3cec784a5c7a5d22e3c15cc369ac0a24ae26ce64edc69d2c4b55fc2ea83a8e350bc8003ab
|
||||
|
@ -0,0 +1,54 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt-glib/libvirt-glib-0.2.0.ebuild,v 1.1 2014/12/18 15:27:53 tamiko Exp $
|
||||
|
||||
EAPI=5
|
||||
GCONF_DEBUG="no"
|
||||
GNOME2_LA_PUNT="yes"
|
||||
VALA_MIN_API_VERSION="0.14"
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
|
||||
inherit gnome2 python-single-r1 vala
|
||||
|
||||
DESCRIPTION="GLib and GObject mappings for libvirt"
|
||||
HOMEPAGE="http://libvirt.org/git/?p=libvirt-glib.git"
|
||||
SRC_URI="ftp://libvirt.org/libvirt/glib/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+introspection python +vala"
|
||||
REQUIRED_USE="
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vala? ( introspection )
|
||||
"
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1093633
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/libxml2:2
|
||||
>=app-emulation/libvirt-0.9.10:=
|
||||
>=dev-libs/glib-2.38.0:2
|
||||
introspection? ( >=dev-libs/gobject-introspection-0.10.8:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/gtk-doc-am
|
||||
>=dev-util/intltool-0.35.0
|
||||
virtual/pkgconfig
|
||||
vala? ( $(vala_depend) )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure \
|
||||
--disable-test-coverage \
|
||||
--disable-static \
|
||||
$(use_enable introspection) \
|
||||
$(use_enable vala) \
|
||||
$(use_with python)
|
||||
}
|
@ -0,0 +1,139 @@
|
||||
#!/sbin/runscript
|
||||
|
||||
description="Virtual Machine Management daemon (libvirt)"
|
||||
extra_started_commands="reload halt"
|
||||
description_halt="Stops the libvirt daemon without stopping your VMs"
|
||||
description_reload="Restarts the libvirt daemon without stopping your VMs"
|
||||
|
||||
depend() {
|
||||
USE_FLAG_FIREWALLD
|
||||
use USE_FLAG_AVAHI USE_FLAG_ISCSI USE_FLAG_RBD dbus virtlockd
|
||||
after ntp-client ntpd nfs nfsmount portmap rpc.statd iptables ip6tables ebtables corosync sanlock cgconfig xenconsoled
|
||||
}
|
||||
|
||||
libvirtd_virsh() {
|
||||
local mode=$1
|
||||
shift
|
||||
|
||||
# Silence errors because virsh always throws an error about
|
||||
# not finding the hypervisor version when connecting to libvirtd
|
||||
LC_ALL=C virsh -c ${mode}:///system "$@" 2>/dev/null
|
||||
}
|
||||
|
||||
libvirtd_dom_list() {
|
||||
# Make sure that it wouldn't be confused if the domain name
|
||||
# contains the word running.
|
||||
libvirtd_virsh $1 list | awk '$3 == "running" { print $1 }'
|
||||
}
|
||||
|
||||
libvirtd_dom_count() {
|
||||
# Make sure that it wouldn't be confused if the domain name
|
||||
# contains the word running.
|
||||
libvirtd_virsh $1 list | awk 'BEGIN { count = 0 } \
|
||||
$3 == "running" { count++ } \
|
||||
END { print count }'
|
||||
}
|
||||
|
||||
libvirtd_net_list() {
|
||||
# The purpose of the awk is to avoid networks with 'active' in the name
|
||||
libvirtd_virsh $1 net-list | awk '$2 == "active" { print $1 }'
|
||||
}
|
||||
|
||||
libvirtd_net_count() {
|
||||
# The purpose of the awk is to avoid networks with 'active' in the name
|
||||
libvirtd_virsh $1 net-list | awk 'BEGIN { count = 0 } \
|
||||
$2 == "active" { count++ } \
|
||||
END { print count }'
|
||||
}
|
||||
|
||||
|
||||
start() {
|
||||
# Test configuration directories in /etc/libvirt/ to be either not
|
||||
# present or a directory, i.e. not a regular file, bug #532892
|
||||
for dir in lxc nwfilter qemu storage; do
|
||||
if [ -f /etc/libvirt/$dir ]; then
|
||||
eerror "/etc/libvirt/$dir was created as a regular file. It must be either"
|
||||
eerror "a directory or not present for libvirtd to start up successfully."
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
|
||||
ebegin "Starting libvirtd"
|
||||
start-stop-daemon --start \
|
||||
--env KRB5_KTNAME=/etc/libvirt/krb5.tab \
|
||||
--exec /usr/sbin/libvirtd -- -d ${LIBVIRTD_OPTS}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
local counter=
|
||||
local vm_name=
|
||||
local net_name=
|
||||
local dom_id=
|
||||
|
||||
ebegin "Stopping libvirtd"
|
||||
# try to shutdown all (KVM/Qemu) domains
|
||||
if [ "${LIBVIRTD_KVM_SHUTDOWN}" != "none" ] \
|
||||
&& [ "$(libvirtd_dom_count qemu)" != "0" ] ; then
|
||||
|
||||
einfo " Shutting down domain(s):"
|
||||
for dom_id in $(libvirtd_dom_list qemu) ; do
|
||||
vm_name="$(libvirtd_virsh qemu domname ${dom_id} | head -n 1)"
|
||||
einfo " ${vm_name}"
|
||||
libvirtd_virsh qemu ${LIBVIRTD_KVM_SHUTDOWN} ${dom_id} > /dev/null
|
||||
done
|
||||
|
||||
if [ -n "${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}" ] ; then
|
||||
counter="${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}"
|
||||
else
|
||||
counter=500
|
||||
fi
|
||||
|
||||
if [ "${LIBVIRTD_KVM_SHUTDOWN}" = "shutdown" ]; then
|
||||
einfo " Waiting ${counter} seconds while domains shutdown ..."
|
||||
DOM_COUNT="$(libvirtd_dom_count qemu)"
|
||||
while [ ${DOM_COUNT} -gt 0 ] && [ ${counter} -gt 0 ] ; do
|
||||
DOM_COUNT="$(libvirtd_dom_count qemu)"
|
||||
sleep 1
|
||||
counter=$((${counter} - 1))
|
||||
echo -n "."
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$(libvirtd_dom_count qemu)" != "0" ] ; then
|
||||
eerror " !!! Some guests are still running, stopping anyway"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ "${LIBVIRTD_KVM_NET_SHUTDOWN}" != "no" ] \
|
||||
&& [ "$(libvirtd_net_count qemu)" != "0" ]; then
|
||||
|
||||
einfo " Shutting down network(s):"
|
||||
for net_name in $(libvirtd_net_list qemu); do
|
||||
einfo " ${net_name}"
|
||||
libvirtd_virsh qemu net-destroy ${net_name} > /dev/null
|
||||
done
|
||||
|
||||
if [ "$(libvirtd_net_count qemu)" != "0" ]; then
|
||||
eerror " !!! Some networks are still active, stopping anyway"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Now actually stop the daemon
|
||||
start-stop-daemon --stop --quiet --exec \
|
||||
/usr/sbin/libvirtd --pidfile=/var/run/libvirtd.pid
|
||||
eend $?
|
||||
}
|
||||
|
||||
halt() {
|
||||
ebegin "Stopping libvirtd without shutting down your VMs"
|
||||
start-stop-daemon --stop --quiet --exec \
|
||||
/usr/sbin/libvirtd --pidfile=/var/run/libvirtd.pid
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
halt
|
||||
start
|
||||
}
|
@ -0,0 +1,417 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-4.5.0_rc4.ebuild,v 1.1 2014/12/19 06:47:30 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE='xml,threads'
|
||||
|
||||
if [[ $PV == *9999 ]]; then
|
||||
KEYWORDS=""
|
||||
REPO="xen-unstable.hg"
|
||||
EHG_REPO_URI="http://xenbits.xensource.com/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
live_eclass="mercurial"
|
||||
else
|
||||
KEYWORDS=""
|
||||
UPSTREAM_VER=
|
||||
# xen-tools's gentoo patches tarball
|
||||
GENTOO_VER=3
|
||||
# xen-tools's gentoo patches version which apply to this specific ebuild
|
||||
GENTOO_GPV=0
|
||||
# xen-tools ovmf's patches
|
||||
OVMF_VER=0
|
||||
|
||||
SEABIOS_VER=1.7.5
|
||||
OVMF_PV=20131208
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTRAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
[[ -n ${OVMF_VER} ]] && \
|
||||
OVMF_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
|
||||
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/xen-${MY_PV}.tar.gz
|
||||
http://code.coreboot.org/p/seabios/downloads/get/seabios-${SEABIOS_VER}.tar.gz
|
||||
http://dev.gentoo.org/~dlan/distfiles/seabios-${SEABIOS_VER}.tar.gz
|
||||
http://dev.gentoo.org/~dlan/distfiles/ovmf-${OVMF_PV}.tar.bz2
|
||||
${UPSTRAM_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}
|
||||
${OVMF_PATCHSET_URI}"
|
||||
S="${WORKDIR}/xen-${MY_PV}"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 eutils flag-o-matic multilib python-single-r1 toolchain-funcs udev ${live_eclass}
|
||||
|
||||
DESCRIPTION="Xend daemon and tools"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
DOCS=( README docs/README.xen-bugtool )
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api custom-cflags debug doc flask hvm qemu ocaml ovmf +pam python pygrub screen static-libs system-qemu system-seabios"
|
||||
|
||||
REQUIRED_USE="hvm? ( || ( qemu system-qemu ) )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
pygrub? ( python )
|
||||
ovmf? ( hvm )
|
||||
qemu? ( !system-qemu )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
dev-libs/lzo:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/yajl
|
||||
dev-libs/libaio
|
||||
dev-libs/libgcrypt:0
|
||||
sys-libs/zlib
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
pam? ( dev-python/pypam[${PYTHON_USEDEP}] )
|
||||
hvm? ( media-libs/libsdl )
|
||||
${PYTHON_DEPS}
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} )
|
||||
arm? ( >=sys-apps/dtc-1.4.0 )
|
||||
!arm? ( sys-devel/bin86
|
||||
system-seabios? ( sys-firmware/seabios )
|
||||
sys-firmware/ipxe
|
||||
sys-devel/dev86
|
||||
sys-power/iasl )
|
||||
dev-lang/perl
|
||||
app-misc/pax-utils
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
doc? (
|
||||
app-doc/doxygen
|
||||
dev-tex/latex2html[png,gif]
|
||||
media-gfx/graphviz
|
||||
dev-tex/xcolor
|
||||
media-gfx/transfig
|
||||
dev-texlive/texlive-latexextra
|
||||
virtual/latex-base
|
||||
dev-tex/latexmk
|
||||
dev-texlive/texlive-latex
|
||||
dev-texlive/texlive-pictures
|
||||
dev-texlive/texlive-latexrecommended
|
||||
)
|
||||
hvm? ( x11-proto/xproto
|
||||
!net-libs/libiscsi )
|
||||
qemu? ( x11-libs/pixman )
|
||||
system-qemu? ( app-emulation/qemu[xen] )
|
||||
ocaml? ( dev-ml/findlib
|
||||
>=dev-lang/ocaml-4 )"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-apps/iproute2
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)
|
||||
virtual/udev"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="usr/lib/xen/boot/hvmloader
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python-single-r1_pkg_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if has_version dev-libs/libgcrypt:0; then
|
||||
export "CONFIG_GCRYPT=y"
|
||||
fi
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
|
||||
source "${FILESDIR}"/gentoo-patches.conf
|
||||
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
|
||||
for i in ${!_gpv}; do
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
epatch "${WORKDIR}"/patches-gentoo/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Ovmf's patchset
|
||||
if [[ -n ${OVMF_VER} ]]; then
|
||||
pushd "${WORKDIR}"/ovmf-*/ > /dev/null
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-ovmf
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
mv ../ovmf-${OVMF_PV} tools/firmware/ovmf-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
|
||||
|
||||
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
|
||||
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
|
||||
-i tools/firmware/Makefile || die
|
||||
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
# if the user *really* wants to use their own custom-cflags, let them
|
||||
if use custom-cflags; then
|
||||
einfo "User wants their own CFLAGS - removing defaults"
|
||||
|
||||
# try and remove all the default cflags
|
||||
find "${S}" \( -name Makefile -o -name Rules.mk -o -name Config.mk \) \
|
||||
-exec sed \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-i {} + || die "failed to re-set custom-cflags"
|
||||
fi
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use python; then
|
||||
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
fi
|
||||
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
if ! use qemu; then
|
||||
sed -e "s:install-tools\: tools/qemu-xen-traditional-dir:install-tools\: :g" -i Makefile || die
|
||||
fi
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
|
||||
-i Config.mk || die
|
||||
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons.in || die
|
||||
|
||||
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||
-i tools/qemu-xen/configure || die
|
||||
|
||||
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||
fi
|
||||
|
||||
# use /var instead of /var/lib, consistat with previous ebuild
|
||||
sed -i -e "/XEN_LOCK_DIR=/s/\$localstatedir/\/var/g" \
|
||||
m4/paths.m4 configure tools/configure || die
|
||||
# use /run instead of /var/run
|
||||
sed -i -e "/XEN_RUN_DIR=/s/\$localstatedir//g" \
|
||||
m4/paths.m4 configure tools/configure || die
|
||||
|
||||
# uncomment lines in xl.conf
|
||||
sed -e 's:^#autoballoon=:autoballoon=:' \
|
||||
-e 's:^#lockfile=:lockfile=:' \
|
||||
-e 's:^#vif.default.script=:vif.default.script=:' \
|
||||
-i tools/examples/xl.conf || die
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="--prefix=${PREFIX}/usr \
|
||||
--libdir=${PREFIX}/usr/$(get_libdir) \
|
||||
--libexecdir=${PREFIX}/usr/libexec \
|
||||
--disable-werror \
|
||||
--disable-xen \
|
||||
--enable-tools \
|
||||
--enable-docs \
|
||||
--enable-qemu-traditional \
|
||||
$(use_with system-qemu) \
|
||||
$(use_enable pam) \
|
||||
$(use_enable api xenapi) \
|
||||
$(use_enable ovmf) \
|
||||
$(use_enable ocaml ocamltools) \
|
||||
"
|
||||
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
|
||||
use qemu || myconf+=" --with-system-qemu"
|
||||
econf ${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export VARTEXFONTS="${T}/fonts"
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
use custom-cflags || unset CFLAGS
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
unset LDFLAGS
|
||||
unset CFLAGS
|
||||
emake V=1 CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -C tools ${myopt}
|
||||
|
||||
use doc && emake -C docs txt html
|
||||
emake -C docs man-pages
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Override auto-detection in the build system, bug #382573
|
||||
export INITD_DIR=/tmp/init.d
|
||||
export CONFIG_LEAF_DIR=../tmp/default
|
||||
|
||||
# Let the build system compile installed Python modules.
|
||||
local PYTHONDONTWRITEBYTECODE
|
||||
export PYTHONDONTWRITEBYTECODE
|
||||
|
||||
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${D}"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"tmp || die
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||
|
||||
dohtml -r docs/
|
||||
docinto pdf
|
||||
dodoc ${DOCS[@]}
|
||||
[ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html
|
||||
fi
|
||||
|
||||
rm -rf "${D}"/usr/share/doc/xen/
|
||||
doman docs/man?/*
|
||||
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||
newinitd "${FILESDIR}"/xenstored.initd xenstored
|
||||
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# For -static-libs wrt Bug 384355
|
||||
if ! use static-libs; then
|
||||
rm -f "${D}"usr/$(get_libdir)/*.a "${D}"usr/$(get_libdir)/ocaml/*/*.a
|
||||
fi
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Temp QA workaround
|
||||
dodir "$(get_udevdir)"
|
||||
mv "${D}"/etc/udev/* "${D}/$(get_udevdir)"
|
||||
rm -rf "${D}"/etc/udev
|
||||
|
||||
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the offical wiki page:"
|
||||
elog "https://wiki.gentoo.org/wiki/Xen"
|
||||
elog "http://wiki.xen.org/wiki/Main_Page"
|
||||
elog ""
|
||||
elog "Recommended to utilise the xencommons script to config sytem At boot"
|
||||
elog "Add by use of rc-update on completion of the install"
|
||||
|
||||
# TODO: we need to have the current Python slot here.
|
||||
if ! has_version "dev-lang/python[ncurses]"; then
|
||||
echo
|
||||
ewarn "NB: Your dev-lang/python is built without USE=ncurses."
|
||||
ewarn "Please rebuild python with USE=ncurses to make use of xenmon.py."
|
||||
fi
|
||||
|
||||
if has_version "sys-apps/iproute2[minimal]"; then
|
||||
echo
|
||||
ewarn "Your sys-apps/iproute2 is built with USE=minimal. Networking"
|
||||
ewarn "will not work until you rebuild iproute2 without USE=minimal."
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
echo
|
||||
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
|
||||
elog "support enable the hvm use flag."
|
||||
elog "An x86 or amd64 system is required to build HVM support."
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
|
||||
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
|
||||
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
|
||||
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
|
||||
fi
|
||||
|
||||
if grep -qsF XENSV= "${ROOT}/etc/conf.d/xend"; then
|
||||
echo
|
||||
elog "xensv is broken upstream (Gentoo bug #142011)."
|
||||
elog "Please remove '${ROOT%/}/etc/conf.d/xend', as it is no longer needed."
|
||||
fi
|
||||
}
|
@ -1,9 +1,11 @@
|
||||
DIST xen-4.2.5-upstream-patches-0.tar.xz 5380 SHA256 e1f2afeb801eb2f4905597cc819c05c7cfcfddb3f6a3c27599bbfbacca204117 SHA512 52f370d0606d3da6d058dee70016699ef25fe5ea0910a6681cf9ecd0f34396462361faffa1e16d0456bf1a08e4cfbde847535b45e5592c4f47e872868be89b60 WHIRLPOOL 4630bb386c70eb4317e1c3bc3db4e8c9b9b03fd6bed5f53f325d6c78110b06d13cad39371d5ddea16a2b8da0ec17a08bcb497999d5a31e5e6877c1c8800fe9fd
|
||||
DIST xen-4.2.5-upstream-patches-1.tar.xz 12260 SHA256 82c3640b6c3f64767810a2db26fc7b96751e350989846679ab60a034a17202e1 SHA512 71998510a0a80069f7d0ab4e74e6ecc1e4a224df9a6c83af50fa7cf322e4d45f80366006fc004238e05def1084dc80e70221ae082833f29781f33a0b621bd303 WHIRLPOOL 034ac220e17025c41a969a1474bb0170eb5ec72b9c0dc8ef48208da01f380fbd2d969a7ae323b41e73156a90f06c0f90f16722581a79c232f7d0b9bd1509b0c0
|
||||
DIST xen-4.2.5-upstream-patches-2.tar.xz 16768 SHA256 5d63f9f4c0619465c4421ad4f9087e82f833b4b1683f0aa2a38c191aee36c71a SHA512 14bd3ed218d4c4711c084789e89914c1550c4154fa7e228f663eb5a635dfd8e0031e0d762d5502e0673a2991a8790ce3208fca5649093378066794f3ed32a1d5 WHIRLPOOL 54fcc148f70ddfde0b7bfb160850c473c1d8336ca4417bb27681ffd75127123c44d67ca04886dfc709fcbe45040abb9ffa49d392f1a82a9da525e7d93aadaba2
|
||||
DIST xen-4.2.5.tar.gz 15671925 SHA256 3cf440866315e8085050eb0586f0447b6b47a08dbed6a72226bf5ed5d89ec567 SHA512 42c0fc241952fc55fc44480fb6752b004b54ae40e946159ec047adf229b65cbfbd810271d01b064ad8fdbddb73c640dcdcb6bc19f91e8968829889c129920dac WHIRLPOOL 762a91c0111892b33e6bd3e7f7714709b04697ad7c2b0919fef6cc9570a343a77fd5a2b82833e75dac9d12d4e41acdcf0743b0d593595910ddd326f5cd721368
|
||||
DIST xen-4.3.3-upstream-patches-0.tar.xz 7536 SHA256 b62613ef4aaf4978e25ffba11493cd01eb7515e4cfb13326bec7c52726e4acb4 SHA512 c7a1a421439455098bdf7c3561b3b932251a950534f40dcca0cbbf51854e379b997a6d0efdfc42389cddb8c8d0fd8e9215dc5c1d273a87bd903d0ce8d02cd609 WHIRLPOOL 6377a962c3ce07a8f23d58b89f0b0746cfd10db244162da6eb3a049b9098bacf621d9070f0358fae91f072cc72b2f6661c7b24b70de67527910f351b4278b0b0
|
||||
DIST xen-4.3.3-upstream-patches-1.tar.xz 27356 SHA256 f1654f9955ef7e2b2ca7cfe03f452aa19453dc592f976fbc2c6b3e993606045c SHA512 c46a2ca7082223d9345ac49bf4ef5e5f02f338c0e4c406083e81c707210b505965cf1cd5a84b0fbb2abcf7e9973acdb85c05068c0c0310965a177d63bbed2076 WHIRLPOOL e937b24761d536e7d71982c872cbb346459ba627cabf3f792c728985655a6f3c0e65305807833f2c9a2ca5eef7f819dc214c336131e9dff046ef5152d405a491
|
||||
DIST xen-4.3.3-upstream-patches-2.tar.xz 36832 SHA256 f4abfddb5fda721c899702798a1d4e067b15079e7c3146d4ebf574253ad3f000 SHA512 dde846e13bffb65b80487ab6072486183b67ea1aa30fad2dfffdf242bf35f52839b2c8f055473a85a565e263b484ceba538efef680c7166d5a59d5f2c23ee81e WHIRLPOOL 76e01f62580b27ed7ab0c5816f2015e0ddae8bee8abcd3b48746427a759d55accb29caa3b8ac77ceb0161b9ae02966a41c7e3f31559d111d43ecdb18a1085a1d
|
||||
DIST xen-4.3.3.tar.gz 16479922 SHA256 59eb0e1c4a1f66965fe56dcf27cdb5872bf7e0585b7f2e60bd7967ec7f744ebf SHA512 cd9b7199d2859a856c719b75ee50a059c480f7493bbc493bcc3701d20321bd6d83c6fe1dd58e7b37695639bccf15e6420fb52f7e699586e7750ea665e99f82fc WHIRLPOOL 17ee263cb2a4c7b37d399e8baa88dab5b01386959de9d481e8666340d486bc9f32d57d6e1cef1568009fe8dbb2437b9ad90c1bed832cdfedd4be3fe5bf0a7dec
|
||||
DIST xen-4.4.1-upstream-patches-1.tar.xz 12472 SHA256 96bdb8696bca1de9b7b7963dbfe6d60cfb9db2751a5aa89a1abd57c48faa811d SHA512 a8c3a8c013571eebd12b8a633c3a4988d32579af693951883c8d81030d9bde0368cd8b8420c11f76c46f004c8651e94c2554959675632bf7db50b75bdbfc4fb6 WHIRLPOOL 7b3839c09481511e5482042510b5440496fb3096d965ed1c74aaf2288ad16d805fc0327933de3e56918e9e92f251d180ea4913b4a59be270530f4ec54acb5f02
|
||||
DIST xen-4.4.1-upstream-patches-2.tar.xz 32688 SHA256 da8e3e2556a81a60b3eaf9047766c5161b719881eee747e32e927887949d6792 SHA512 03c986bc111410106ac67a35dc25b8dcb59ba39d8983e4a2496b1bc810afe10ffa67bc55043d931f9589155ce999724a17460a33ec426238cea400e71839b0a2 WHIRLPOOL ef63771910ff8c3f7d12430627a6292ae9998f38ca6470032a5d4ca4044e82f74bb07af568f05310d357a53ddd4e6027ab69eb4d43f65a0a98390b79e955c148
|
||||
DIST xen-4.4.1-upstream-patches-3.tar.xz 44528 SHA256 efc404e553b30a7cb274fc412b59825e16772359d1cc230c231b2de8d3925fb7 SHA512 3d0ebef40d4575cf1cc4e1ce6bda429f201cbc02ea390f0072041636b8538a30cbf1858bd90e132b473a8de9da5ddeac4d67bd1d86f684d61cd99283bce3f1bf WHIRLPOOL a891b2405019455bb895c44b64f5c2f702adbebbdd3c9966e5eff449166dc510113eb2cfec65441c0e4ab0860300ff81ae6cda73121853721b5116b9478711f8
|
||||
DIST xen-4.4.1.tar.gz 18134427 SHA256 55b49d3c4575d7791275125ff87c0f86f1d1e0f7f2718b6fd1c4f88a9bc7ea25 SHA512 bcd577014f4e8cb37b934f17a4dfb6f12e72e865a9e553cc435fdbe6665c733a4d20a812bf126727eca0946188a6abbd9419579757d7e03a38059f3656371c1c WHIRLPOOL f29eab626729f36de3f2e2c6c8446da4a05085818e18c28f07fe364065e05f0af67602eeb988091df3027a844ad0ccd52b6a0ee86592c7ff6008f961b9bd4bcf
|
||||
DIST xen-4.5.0-rc4.tar.gz 18406537 SHA256 af7014721ccb153d4f5c6a7751bd09ab441829628667619f7613d3a1a553bf4e SHA512 c4604b10eb9e291bbeaeedb5a99eb36fafc85db247a7c1c19b090ed0606ed262af2a9e5232266253b535bde56389d7c40176954f73e7dc1486ef6000a17184ff WHIRLPOOL b25ae254ca42c1aa54153471598e70371c674c71a308d813537ed267c9ba3fcd5fdec8bb44d3d1a2cac0ba84c01052b4637a520f81ef49541492ddf061d03b51
|
||||
|
@ -0,0 +1,155 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.2.5-r3.ebuild,v 1.1 2014/12/19 06:44:44 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
|
||||
if [[ $PV == *9999 ]]; then
|
||||
KEYWORDS=""
|
||||
REPO="xen-unstable.hg"
|
||||
EHG_REPO_URI="http://xenbits.xensource.com/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
live_eclass="mercurial"
|
||||
else
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
UPSTREAM_VER=2
|
||||
GENTOO_VER=
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
fi
|
||||
|
||||
inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass}
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="custom-cflags debug efi flask pae xsm"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22[-multitarget] )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
REQUIRED_USE="
|
||||
flask? ( xsm )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use flask ; then
|
||||
export "XSM_ENABLE=y"
|
||||
export "FLASK_ENABLE=y"
|
||||
elif use xsm ; then
|
||||
export "XSM_ENABLE=y"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
epatch "${WORKDIR}"/patches-gentoo
|
||||
fi
|
||||
|
||||
# Drop .config and fix gcc-4.6
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4-fix_dotconfig-gcc.patch
|
||||
|
||||
if use efi; then
|
||||
epatch "${FILESDIR}"/${PN}-4.2-efi.patch
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="boot"
|
||||
fi
|
||||
|
||||
# if the user *really* wants to use their own custom-cflags, let them
|
||||
if use custom-cflags; then
|
||||
einfo "User wants their own CFLAGS - removing defaults"
|
||||
# try and remove all the default custom-cflags
|
||||
find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-i {} \; || die "failed to re-set custom-cflags"
|
||||
fi
|
||||
|
||||
# not strictly necessary to fix this
|
||||
sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use pae && myopt="${myopt} pae=y"
|
||||
|
||||
if use custom-cflags; then
|
||||
filter-flags -fPIE -fstack-protector
|
||||
replace-flags -O3 -O2
|
||||
else
|
||||
unset CFLAGS
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use pae && myopt="${myopt} pae=y"
|
||||
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the unoffical wiki page:"
|
||||
elog " http://www.gentoo.org/doc/en/xen-guide.xml"
|
||||
elog " http://en.gentoo-wiki.com/wiki/Xen/"
|
||||
|
||||
use pae && ewarn "This is a PAE build of Xen. It will *only* boot PAE kernels!"
|
||||
use efi && einfo "The efi executable is installed in boot/efi/gentoo"
|
||||
}
|
@ -0,0 +1,162 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.5.0_rc4.ebuild,v 1.1 2014/12/19 06:44:44 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_P=${PN}-${PV/_/-}
|
||||
|
||||
if [[ $PV == *9999 ]]; then
|
||||
KEYWORDS=""
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git"
|
||||
live_eclass="git-2"
|
||||
else
|
||||
KEYWORDS=""
|
||||
UPSTREAM_VER=
|
||||
GENTOO_VER=
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
|
||||
fi
|
||||
|
||||
inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass}
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="custom-cflags debug efi flask xsm"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22[-multitarget] )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
REQUIRED_USE="flask? ( xsm )
|
||||
arm? ( debug )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use flask ; then
|
||||
export "XSM_ENABLE=y"
|
||||
export "FLASK_ENABLE=y"
|
||||
elif use xsm ; then
|
||||
export "XSM_ENABLE=y"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
epatch "${WORKDIR}"/patches-gentoo
|
||||
fi
|
||||
|
||||
# Drop .config
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
if use efi; then
|
||||
epatch "${FILESDIR}"/${PN}-4.4-efi.patch
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="boot"
|
||||
fi
|
||||
|
||||
# if the user *really* wants to use their own custom-cflags, let them
|
||||
if use custom-cflags; then
|
||||
einfo "User wants their own CFLAGS - removing defaults"
|
||||
# try and remove all the default custom-cflags
|
||||
find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-i {} \; || die "failed to re-set custom-cflags"
|
||||
fi
|
||||
|
||||
# remove -Werror for gcc-4.6's sake
|
||||
find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \
|
||||
xargs sed -i 's/ *-Werror */ /'
|
||||
# not strictly necessary to fix this
|
||||
sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
|
||||
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
if use custom-cflags; then
|
||||
filter-flags -fPIE -fstack-protector
|
||||
replace-flags -O3 -O2
|
||||
else
|
||||
unset CFLAGS
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the unoffical wiki page:"
|
||||
elog " http://www.gentoo.org/doc/en/xen-guide.xml"
|
||||
elog " http://en.gentoo-wiki.com/wiki/Xen/"
|
||||
|
||||
use efi && einfo "The efi executable is installed in boot/efi/gentoo"
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>perl</herd>
|
||||
<longdescription></longdescription>
|
||||
<maintainer>
|
||||
<email>maintainer-needed@gentoo.org</email>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
||||
|
@ -1,5 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>perl</herd>
|
||||
<maintainer>
|
||||
<email>maintainer-needed@gentoo.org</email>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
||||
|
@ -1 +1,2 @@
|
||||
DIST g-cpan-0.16.5.tar.gz 33894 SHA256 929c06ee2cdd3361121b6f359ea7fc9201bc42caff96ef1df45b4cb93ccfd988 SHA512 f2eab23281abe567ee2df42895e3f0783228c6ab5e3a8230089e900fd2700367d736299da20fb228f2d4542491a24da05fd035a81aff7d79ce5132e35c48ad0b WHIRLPOOL 01e0b9fc59264455d57fc64c432e683ae941c74d6efa6e2b3430dea6caac019cfad3e893a4b39de4386a3dadadecf95d828a9fbaa8e8b1260303081e2cc6ce65
|
||||
DIST g-cpan-0.16.6.tar.gz 33844 SHA256 efd0a99483d8ce4a6c828f145592846e6076887b33f95431d7b8256c6973906d SHA512 f8e9e211ffc09ca42d1444a42ad2b8111beb8988e4a01387cf8788f7e4a52e6133168820c2800ac82429fa022e2ff473a774c48ac140b5cde184b3d77cd6e1b1 WHIRLPOOL 95d7db1905df41f320b8876a02f53e3238d55ab1be30e4b086ed362797819629997edd06e167c21325cc8d13540247a842cedcfcf1a236737fec91835b952252
|
||||
|
@ -0,0 +1,44 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-portage/g-cpan/g-cpan-0.16.6.ebuild,v 1.1 2014/12/19 19:43:56 dilfridge Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit perl-module
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://github.com/gentoo-perl/g-cpan.git"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="g-cpan: generate and install CPAN modules using portage"
|
||||
HOMEPAGE="http://www.gentoo.org/proj/en/perl/g-cpan.xml"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-2 )"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-lang/perl
|
||||
>=dev-perl/yaml-0.60
|
||||
dev-perl/Shell-EnvImporter
|
||||
dev-perl/Log-Agent"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_install() {
|
||||
perl-module_src_install
|
||||
diropts "-m0755"
|
||||
dodir "/var/tmp/g-cpan"
|
||||
keepdir "/var/tmp/g-cpan"
|
||||
dodir "/var/log/g-cpan"
|
||||
keepdir "/var/log/g-cpan"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "You may wish to adjust the permissions on /var/tmp/g-cpan"
|
||||
elog "if you have users besides root expecting to use g-cpan."
|
||||
elog "Please note that some CPAN packages need additional manual"
|
||||
elog "parameters or tweaking, due to bugs in their build systems."
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST evince-3.12.1.tar.xz 2910936 SHA256 ef22cc29a7cbe70d2e7ce8c0b5b7ee774187ea69f3ae49a64c6d4a91559ef137 SHA512 f95c6f0db920870d45ed63666dd09f0d3c96362fb02e3dcb38658e279b00a204841d967fd10dd4a0ee403740ae9fcef203bfd042bdf87ac83b7fad821cfc91de WHIRLPOOL 23c33181d40f17e26d1f9b7d025f6288771df5b6227f48e758125bac5f63a9952f429c839eb9e7b20d5d987415933eb16b8a252741b37979e2c5517a834fd8f1
|
||||
DIST evince-3.12.2.tar.xz 2913988 SHA256 30c243bbfde56338c25a39003b4848143be42157177e2163a368f14139909f7d SHA512 e3f14ba75f504fd65a5ef00f732796424302514064f503c4e20371cc862e2a75e12909656dca78e0d9689abdb9c198a4fd098bd81ae203aa897750673be465ad WHIRLPOOL f310e4940ec6ae652ee35ddaae98ee446681552e1e1d641b785ca54a679da236dc3c3ce9679d347a723474f0943265869963774d50965f408094d384fe72b73b
|
||||
|
@ -0,0 +1,96 @@
|
||||
From 86cfddae23cacfbb24469f1926cb965522bec6ca Mon Sep 17 00:00:00 2001
|
||||
From: Giselle Reis <gisellemnr@src.gnome.org>
|
||||
Date: Sat, 30 Aug 2014 00:23:04 +0200
|
||||
Subject: libview: fixing memory leak
|
||||
|
||||
The memory leak was caused by a g_signal_connect
|
||||
which was never disconnected. This patch makes
|
||||
sure the signal is disconnected and the job is
|
||||
cancelled before creating another rendering job.
|
||||
It additionally introduces a helper function to
|
||||
cleanly finalize the job.
|
||||
|
||||
diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c
|
||||
index 897d3de..22170f9 100644
|
||||
--- a/libview/ev-pixbuf-cache.c
|
||||
+++ b/libview/ev-pixbuf-cache.c
|
||||
@@ -161,20 +161,27 @@ ev_pixbuf_cache_finalize (GObject *object)
|
||||
}
|
||||
|
||||
static void
|
||||
+end_job (CacheJobInfo *job_info,
|
||||
+ gpointer data)
|
||||
+{
|
||||
+ g_signal_handlers_disconnect_by_func (job_info->job,
|
||||
+ G_CALLBACK (job_finished_cb),
|
||||
+ data);
|
||||
+ ev_job_cancel (job_info->job);
|
||||
+ g_object_unref (job_info->job);
|
||||
+ job_info->job = NULL;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
dispose_cache_job_info (CacheJobInfo *job_info,
|
||||
gpointer data)
|
||||
{
|
||||
if (job_info == NULL)
|
||||
return;
|
||||
|
||||
- if (job_info->job) {
|
||||
- g_signal_handlers_disconnect_by_func (job_info->job,
|
||||
- G_CALLBACK (job_finished_cb),
|
||||
- data);
|
||||
- ev_job_cancel (job_info->job);
|
||||
- g_object_unref (job_info->job);
|
||||
- job_info->job = NULL;
|
||||
- }
|
||||
+ if (job_info->job)
|
||||
+ end_job (job_info, data);
|
||||
+
|
||||
if (job_info->surface) {
|
||||
cairo_surface_destroy (job_info->surface);
|
||||
job_info->surface = NULL;
|
||||
@@ -281,14 +288,8 @@ copy_job_to_job_info (EvJobRender *job_render,
|
||||
job_info->points_set = TRUE;
|
||||
}
|
||||
|
||||
- if (job_info->job) {
|
||||
- g_signal_handlers_disconnect_by_func (job_info->job,
|
||||
- G_CALLBACK (job_finished_cb),
|
||||
- pixbuf_cache);
|
||||
- ev_job_cancel (job_info->job);
|
||||
- g_object_unref (job_info->job);
|
||||
- job_info->job = NULL;
|
||||
- }
|
||||
+ if (job_info->job)
|
||||
+ end_job (job_info, pixbuf_cache);
|
||||
|
||||
job_info->page_ready = TRUE;
|
||||
}
|
||||
@@ -337,12 +338,7 @@ check_job_size_and_unref (EvPixbufCache *pixbuf_cache,
|
||||
height == EV_JOB_RENDER (job_info->job)->target_height)
|
||||
return;
|
||||
|
||||
- g_signal_handlers_disconnect_by_func (job_info->job,
|
||||
- G_CALLBACK (job_finished_cb),
|
||||
- pixbuf_cache);
|
||||
- ev_job_cancel (job_info->job);
|
||||
- g_object_unref (job_info->job);
|
||||
- job_info->job = NULL;
|
||||
+ end_job (job_info, pixbuf_cache);
|
||||
}
|
||||
|
||||
/* Do all function that copies a job from an older cache to it's position in the
|
||||
@@ -651,6 +647,9 @@ add_job (EvPixbufCache *pixbuf_cache,
|
||||
cairo_region_destroy (job_info->region);
|
||||
job_info->region = region ? cairo_region_reference (region) : NULL;
|
||||
|
||||
+ if (job_info->job)
|
||||
+ end_job (job_info, pixbuf_cache);
|
||||
+
|
||||
job_info->job = ev_job_render_new (pixbuf_cache->document,
|
||||
page, rotation, scale,
|
||||
width, height);
|
||||
--
|
||||
cgit v0.10.1
|
||||
|
@ -0,0 +1,119 @@
|
||||
From 1057dc0dd6dee5dc1992fc88b76e4c928d2ff0e7 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garcia Campos <cgarcia@igalia.com>
|
||||
Date: Thu, 14 Aug 2014 14:07:05 +0200
|
||||
Subject: print-operation: Fix centering of documents when printing with a
|
||||
manual scale
|
||||
|
||||
When a manual scale is used for printing, the document is not correctly
|
||||
centered because the cairo context has a scale already applied. We need
|
||||
to consider the current scale when centering the page and also convert
|
||||
the coordinates before the cairo_translate().
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=734788
|
||||
|
||||
diff --git a/libview/ev-print-operation.c b/libview/ev-print-operation.c
|
||||
index b348038..df41c60 100644
|
||||
--- a/libview/ev-print-operation.c
|
||||
+++ b/libview/ev-print-operation.c
|
||||
@@ -1825,6 +1825,27 @@ _print_context_get_hard_margins (GtkPrintContext *context,
|
||||
}
|
||||
|
||||
static void
|
||||
+ev_print_operation_print_get_scaled_page_size (EvPrintOperationPrint *print,
|
||||
+ gint page,
|
||||
+ gdouble *width,
|
||||
+ gdouble *height)
|
||||
+{
|
||||
+ GtkPrintSettings *settings;
|
||||
+ gdouble manual_scale;
|
||||
+
|
||||
+ ev_document_get_page_size (EV_PRINT_OPERATION (print)->document,
|
||||
+ page, width, height);
|
||||
+
|
||||
+ settings = gtk_print_operation_get_print_settings (print->op);
|
||||
+ manual_scale = gtk_print_settings_get_scale (settings) / 100.0;
|
||||
+ if (manual_scale == 1.0)
|
||||
+ return;
|
||||
+
|
||||
+ *width *= manual_scale;
|
||||
+ *height *= manual_scale;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
ev_print_operation_print_draw_page (EvPrintOperationPrint *print,
|
||||
GtkPrintContext *context,
|
||||
gint page)
|
||||
@@ -1834,6 +1855,7 @@ ev_print_operation_print_draw_page (EvPrintOperationPrint *print,
|
||||
gdouble cr_width, cr_height;
|
||||
gdouble width, height, scale;
|
||||
gdouble x_scale, y_scale;
|
||||
+ gdouble x_offset, y_offset;
|
||||
gdouble top, bottom, left, right;
|
||||
|
||||
gtk_print_operation_set_defer_drawing (print->op);
|
||||
@@ -1857,12 +1879,16 @@ ev_print_operation_print_draw_page (EvPrintOperationPrint *print,
|
||||
cr = gtk_print_context_get_cairo_context (context);
|
||||
cr_width = gtk_print_context_get_width (context);
|
||||
cr_height = gtk_print_context_get_height (context);
|
||||
- ev_document_get_page_size (op->document, page, &width, &height);
|
||||
+ ev_print_operation_print_get_scaled_page_size (print, page, &width, &height);
|
||||
|
||||
if (print->page_scale == EV_SCALE_NONE) {
|
||||
/* Center document page on the printed page */
|
||||
- if (print->autorotate)
|
||||
- cairo_translate (cr, (cr_width - width) / 2, (cr_height - height) / 2);
|
||||
+ if (print->autorotate) {
|
||||
+ x_offset = (cr_width - width) / 2;
|
||||
+ y_offset = (cr_height - height) / 2;
|
||||
+ cairo_device_to_user (cr, &x_offset, &y_offset);
|
||||
+ cairo_translate (cr, x_offset, y_offset);
|
||||
+ }
|
||||
} else {
|
||||
_print_context_get_hard_margins (context, &top, &bottom, &left, &right);
|
||||
|
||||
@@ -1875,29 +1901,27 @@ ev_print_operation_print_draw_page (EvPrintOperationPrint *print,
|
||||
scale = 1.0;
|
||||
|
||||
if (print->autorotate) {
|
||||
- double left_right_sides, top_bottom_sides;
|
||||
-
|
||||
- cairo_translate (cr, (cr_width - scale * width) / 2,
|
||||
- (cr_height - scale * height) / 2);
|
||||
+ x_offset = (cr_width - scale * width) / 2;
|
||||
+ y_offset = (cr_height - scale * height) / 2;
|
||||
+ cairo_device_to_user (cr, &x_offset, &y_offset);
|
||||
+ cairo_translate (cr, x_offset, y_offset);
|
||||
|
||||
/* Ensure document page is within the margins. The
|
||||
* scale guarantees the document will fit in the
|
||||
* margins so we just need to check each side and
|
||||
* if it overhangs the margin, translate it to the
|
||||
- * margin. */
|
||||
- left_right_sides = (cr_width - width*scale)/2;
|
||||
- top_bottom_sides = (cr_height - height*scale)/2;
|
||||
- if (left_right_sides < left)
|
||||
- cairo_translate (cr, left - left_right_sides, 0);
|
||||
+ * margin. */
|
||||
+ if (x_offset < left)
|
||||
+ cairo_translate (cr, left - x_offset, 0);
|
||||
|
||||
- if (left_right_sides < right)
|
||||
- cairo_translate (cr, -(right - left_right_sides), 0);
|
||||
+ if (x_offset < right)
|
||||
+ cairo_translate (cr, -(right - x_offset), 0);
|
||||
|
||||
- if (top_bottom_sides < top)
|
||||
- cairo_translate (cr, 0, top - top_bottom_sides);
|
||||
+ if (y_offset < top)
|
||||
+ cairo_translate (cr, 0, top - y_offset);
|
||||
|
||||
- if (top_bottom_sides < bottom)
|
||||
- cairo_translate (cr, 0, -(bottom - top_bottom_sides));
|
||||
+ if (y_offset < bottom)
|
||||
+ cairo_translate (cr, 0, -(bottom - y_offset));
|
||||
} else {
|
||||
cairo_translate (cr, left, top);
|
||||
}
|
||||
--
|
||||
cgit v0.10.1
|
||||
|
@ -0,0 +1,38 @@
|
||||
From 2cb9d88d7b396b6ac4bb01c035a40b48da419b65 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Kasik <mkasik@redhat.com>
|
||||
Date: Mon, 19 May 2014 14:32:19 +0200
|
||||
Subject: [PATCH 1/2] [libview] Scroll to the search result selected by user
|
||||
|
||||
Scroll to page on which is the search result selected by user
|
||||
when not in continuous mode.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=730252
|
||||
---
|
||||
libview/ev-view.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/libview/ev-view.c b/libview/ev-view.c
|
||||
index 7618bbd..393bf77 100644
|
||||
--- a/libview/ev-view.c
|
||||
+++ b/libview/ev-view.c
|
||||
@@ -7684,6 +7684,9 @@ jump_to_find_page (EvView *view, EvViewFindDirection direction, gint shift)
|
||||
break;
|
||||
}
|
||||
}
|
||||
+
|
||||
+ if (!view->continuous)
|
||||
+ ev_document_model_set_page (view->model, view->find_page);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -7808,6 +7811,7 @@ ev_view_find_set_result (EvView *view, gint page, gint result)
|
||||
{
|
||||
view->find_page = page;
|
||||
view->find_result = result;
|
||||
+ jump_to_find_page (view, EV_VIEW_FIND_NEXT, 0);
|
||||
jump_to_find_result (view);
|
||||
gtk_widget_queue_draw (GTK_WIDGET (view));
|
||||
}
|
||||
--
|
||||
1.9.0
|
||||
|
@ -0,0 +1,41 @@
|
||||
From dd3df79ea999850c737b049081d81afa59af22d3 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Kasik <mkasik@redhat.com>
|
||||
Date: Tue, 18 Nov 2014 12:53:40 +0100
|
||||
Subject: [PATCH] [libview] Show correct page when next search result requested
|
||||
|
||||
If there are more than 1 results on a page then requesting
|
||||
next search result from the same page will not return you
|
||||
to the page with the search results if you moved from the
|
||||
page in the meantime (when you are not in continuous mode).
|
||||
This applies also to previous results.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=730252
|
||||
---
|
||||
libview/ev-view.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/libview/ev-view.c b/libview/ev-view.c
|
||||
index f3aa033..a9159cd 100644
|
||||
--- a/libview/ev-view.c
|
||||
+++ b/libview/ev-view.c
|
||||
@@ -8250,6 +8250,8 @@ ev_view_find_next (EvView *view)
|
||||
if (view->find_result >= n_results) {
|
||||
view->find_result = 0;
|
||||
jump_to_find_page (view, EV_VIEW_FIND_NEXT, 1);
|
||||
+ } else if (view->find_page != view->current_page) {
|
||||
+ jump_to_find_page (view, EV_VIEW_FIND_NEXT, 0);
|
||||
}
|
||||
|
||||
jump_to_find_result (view);
|
||||
@@ -8264,6 +8266,8 @@ ev_view_find_previous (EvView *view)
|
||||
if (view->find_result < 0) {
|
||||
jump_to_find_page (view, EV_VIEW_FIND_PREV, -1);
|
||||
view->find_result = MAX (0, ev_view_find_get_n_results (view, view->find_page) - 1);
|
||||
+ } else if (view->find_page != view->current_page) {
|
||||
+ jump_to_find_page (view, EV_VIEW_FIND_PREV, 0);
|
||||
}
|
||||
|
||||
jump_to_find_result (view);
|
||||
--
|
||||
2.1.0
|
||||
|
@ -1,5 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>perl</herd>
|
||||
<maintainer>
|
||||
<email>maintainer-needed@gentoo.org</email>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST ctemplate-2.2.tar.gz 889458 SHA256 04f3cbc0f7ff36adedc904bce776a0817cc6b704b3c4a04b4df5de66fd7e686f SHA512 b8f2cbebb3988ce5248ef3b4c224a02626bbc77e3ab4cff8d2fb967f421000048c0923c8410cc800ed29f5fa68e1172aefcfde1e2a610372462018cb1b6809bb WHIRLPOOL 242972d6fcc7592e18e3adff93a6279c543d8bc10408aa0c6f543e13c92d8597a8888d64dd8b729cc92dc8f758d6aa03020cb494428f5f033a845262213204c2
|
||||
DIST ctemplate-2.2_p129.tar.bz2 581172 SHA256 1903533180ed9604e548ee7dfb3b704368bda5ce5e5b84f1e448f966730500d7 SHA512 049ae4a9269f668ae6fc6207609a10609d59d7731c999a2ede191cef26d9203ab32ae87a48d5b08457a83a8dbd2be61621dbb8b2361e2747c63502f4caf4f8e7 WHIRLPOOL 790c2242a003ba8ceba3783be26a6a4a0af71605a6ee867d16eff6771f02b071a51e94d620233420aba6da1a9797a0cebcb9e1dce6626703077546c53873dcad
|
||||
DIST ctemplate-2.3.tar.bz2 564389 SHA256 6409e74486888be371cf29900ba757e5443c958295f2099359d5ef6a6acceeec SHA512 546645389a8bfed59686b62b43cb7d53714ac98e1b75311c217bb0f3b6201d5d486766b1ce7e35bf15032372e45c36b27008f54085bd0c9ef0dd0b7e04b8e3f5 WHIRLPOOL 9261906ddb6857a378aa9f86a9cd87b6fcb9c79c442ff2b87ddf92021fdd64140f3cb87cbb2b1f3775fa2f5a0d039d1b4ceca3cf07f1efc841fbfb72e9f1467e
|
||||
|
@ -0,0 +1,68 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-cpp/ctemplate/ctemplate-2.3.ebuild,v 1.1 2014/12/19 11:46:12 pinkbyte Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
AUTOTOOLS_IN_SOURCE_BUILD=1
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit autotools-utils elisp-common python-any-r1
|
||||
|
||||
DESCRIPTION="A simple but powerful template language for C++"
|
||||
HOMEPAGE="http://code.google.com/p/ctemplate/"
|
||||
SRC_URI="http://dev.gentoo.org/~pinkbyte/distfiles/${P}.tar.bz2"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc emacs vim-syntax static-libs test"
|
||||
|
||||
DEPEND="test? ( ${PYTHON_DEPS} )"
|
||||
RDEPEND="vim-syntax? ( >=app-editors/vim-core-7 )
|
||||
emacs? ( virtual/emacs )"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog NEWS README )
|
||||
|
||||
SITEFILE="70ctemplate-gentoo.el"
|
||||
|
||||
# Some tests are broken in 2.3
|
||||
RESTRICT="test"
|
||||
|
||||
src_compile() {
|
||||
autotools-utils_src_compile
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/tpl-mode.el || die "elisp-compile failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
autotools-utils_src_install
|
||||
|
||||
# Installs just every piece
|
||||
rm -rf "${ED}/usr/share/doc"
|
||||
|
||||
use doc && dohtml doc/*
|
||||
|
||||
if use vim-syntax ; then
|
||||
cd "${S}/contrib"
|
||||
sh highlighting.vim || die "unpacking vim scripts failed"
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r .vim/*
|
||||
fi
|
||||
|
||||
if use emacs ; then
|
||||
cd "${S}/contrib"
|
||||
elisp-install ${PN} tpl-mode.el tpl-mode.elc || die "elisp-install failed"
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
@ -0,0 +1,291 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-2.1.5.ebuild,v 1.1 2014/12/19 06:10:53 patrick Exp $
|
||||
|
||||
EAPI="5"
|
||||
POSTGRES_COMPAT=( 9.{0,1,2,3,4} )
|
||||
|
||||
inherit autotools eutils versionator
|
||||
|
||||
MY_PV=$(replace_version_separator 3 '')
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DESCRIPTION="Geographic Objects for PostgreSQL"
|
||||
HOMEPAGE="http://postgis.net"
|
||||
SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc gtk static-libs test"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
virtual/postgresql:9.4[server]
|
||||
virtual/postgresql:9.3[server]
|
||||
virtual/postgresql:9.2[server]
|
||||
virtual/postgresql:9.1[server]
|
||||
virtual/postgresql:9.0[server]
|
||||
)
|
||||
dev-libs/json-c
|
||||
dev-libs/libxml2:2
|
||||
>=sci-libs/geos-3.4.2
|
||||
>=sci-libs/proj-4.6.0
|
||||
>=sci-libs/gdal-1.10.0
|
||||
gtk? ( x11-libs/gtk+:2 )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
doc? (
|
||||
app-text/docbook-xsl-stylesheets
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
dev-libs/libxslt
|
||||
|| (
|
||||
media-gfx/imagemagick[png]
|
||||
media-gfx/graphicsmagick[imagemagick,png]
|
||||
)
|
||||
)
|
||||
virtual/pkgconfig
|
||||
test? ( dev-util/cunit )
|
||||
"
|
||||
|
||||
PGIS="$(get_version_component_range 1-2)"
|
||||
|
||||
REQUIRED_USE="test? ( doc )"
|
||||
|
||||
# Needs a running psql instance, doesn't work out of the box
|
||||
RESTRICT="test"
|
||||
|
||||
MAKEOPTS+=' -j1'
|
||||
|
||||
# These modules are built using the same *FLAGS that were used to build
|
||||
# dev-db/postgresql. The right thing to do is to ignore the current
|
||||
# *FLAGS settings.
|
||||
QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
|
||||
|
||||
postgres_check_slot() {
|
||||
if ! declare -p POSTGRES_COMPAT &>/dev/null; then
|
||||
die 'POSTGRES_COMPAT not declared.'
|
||||
fi
|
||||
|
||||
# Don't die because we can't run postgresql-config during pretend.
|
||||
[[ "$EBUILD_PHASE" = "pretend" \
|
||||
&& -z "$(which postgresql-config 2> /dev/null)" ]] && return 0
|
||||
|
||||
local res=$(echo ${POSTGRES_COMPAT[@]} \
|
||||
| grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null)
|
||||
|
||||
if [[ "$res" -eq "0" ]] ; then
|
||||
eerror "PostgreSQL slot must be set to one of: "
|
||||
eerror " ${POSTGRES_COMPAT[@]}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
postgres_check_slot || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
postgres_check_slot || die
|
||||
export PGSLOT="$(postgresql-config show)"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PN}-2.1-ldflags.patch" \
|
||||
"${FILESDIR}/${PN}-2.0-arflags.patch" \
|
||||
"${FILESDIR}/${PN}-2.1.4-pkgconfig-json.patch"
|
||||
|
||||
local AT_M4DIR="macros"
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myargs=""
|
||||
use gtk && myargs+=" --with-gui"
|
||||
econf \
|
||||
--with-pgconfig="/usr/lib/postgresql-${PGSLOT}/bin/pg_config" \
|
||||
${myargs}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
emake -C topology
|
||||
|
||||
if use doc ; then
|
||||
emake comments
|
||||
emake cheatsheets
|
||||
emake -C doc html
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
use doc && emake DESTDIR="${D}" comments-install
|
||||
emake -C topology DESTDIR="${D}" install
|
||||
dobin ./utils/postgis_restore.pl
|
||||
|
||||
dodoc CREDITS TODO loader/README.* doc/*txt
|
||||
|
||||
use doc && dohtml -r doc/html/*
|
||||
|
||||
docinto topology
|
||||
dodoc topology/{TODO,README}
|
||||
|
||||
insinto /etc
|
||||
doins "${FILESDIR}/postgis_dbs"
|
||||
|
||||
use static-libs || find "${ED}" -name '*.a' -delete
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
postgresql-config update
|
||||
|
||||
elog "To finish installing or updating PostGIS edit:"
|
||||
elog " ${EROOT%/}/etc/postgis_dbs"
|
||||
elog
|
||||
elog "Then, run:"
|
||||
elog " emerge --config =${CATEGORY}/${PF}"
|
||||
}
|
||||
|
||||
pkg_config(){
|
||||
source "${EROOT%/}/etc/conf.d/postgresql-${PGSLOT}"
|
||||
source "${EROOT%/}/etc/postgis_dbs"
|
||||
local postgis_path="${EROOT%/}/usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}"
|
||||
|
||||
if [[ -n ${configured} ]] ; then
|
||||
einfon "Password for PostgreSQL user '${pguser}': "
|
||||
read -s PGPASSWORD
|
||||
export PGPASSWORD
|
||||
echo
|
||||
else
|
||||
eerror "You must edit:"
|
||||
eerror " ${EROOT%/}/etc/postgis_dbs"
|
||||
eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
|
||||
eerror
|
||||
die "Edit postgis_dbs"
|
||||
fi
|
||||
|
||||
# The server we work with must be the same slot we built against.
|
||||
local server_match
|
||||
server_match=$(psql -U ${pguser} -d postgres -p ${PGPORT} \
|
||||
-Aqwtc 'SELECT version()' 2> /dev/null | grep -c "PostgreSQL ${PGSLOT}")
|
||||
if [[ $? = 0 ]] ; then
|
||||
if [[ $server_match -ne 1 ]] ; then
|
||||
unset PGPASSWORD
|
||||
eerror "Server version must be ${PGSLOT}.x"
|
||||
die "Server version isn't ${PGSLOT}.x"
|
||||
fi
|
||||
else
|
||||
unset PGPASSWORD
|
||||
eerror "Is the server running?"
|
||||
die "Couldn't connect to server."
|
||||
fi
|
||||
|
||||
local retval
|
||||
safe_exit() {
|
||||
unset PGPASSWORD
|
||||
sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
|
||||
eend $retval
|
||||
eerror "All actions could not be performed."
|
||||
eerror "Read above to see what failed."
|
||||
eerror "Once you fix the issue, you'll need to edit:"
|
||||
eerror " ${EROOT%/}/etc/postgis_dbs"
|
||||
eerror "As some things may have succeeded."
|
||||
eerror
|
||||
die "All actions could not be performed"
|
||||
}
|
||||
|
||||
local db
|
||||
for db in ${databases[@]} ; do
|
||||
ebegin "Performing CREATE LANGUAGE on ${db}"
|
||||
createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
|
||||
retval=$?
|
||||
# In this case, only error code 1 is fatal
|
||||
[[ $retval == 1 ]] && safe_exit || eend 0
|
||||
|
||||
ebegin "Enabling PostGIS on ${db}"
|
||||
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
|
||||
-f "${postgis_path}/postgis.sql"
|
||||
retval=$?
|
||||
[[ $retval == 0 ]] && eend 0 || safe_exit
|
||||
done
|
||||
|
||||
for db in ${templates[@]} ; do
|
||||
ebegin "Creating template database '${db}'"
|
||||
createdb -p ${PGPORT} -U ${pguser} -O ${pguser} -T ${from_template} \
|
||||
${db} "PostGIS Template"
|
||||
retval=$?
|
||||
[[ $retval != 0 ]] && safe_exit
|
||||
|
||||
psql -q -U ${pguser} -p ${PGPORT} -c \
|
||||
"UPDATE pg_database \
|
||||
SET datistemplate = TRUE, datallowconn = TRUE \
|
||||
WHERE datname = '${db}'"
|
||||
retval=$?
|
||||
[[ $retval != 0 ]] && safe_exit
|
||||
|
||||
createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
|
||||
retval=$?
|
||||
# In this case, only error code 1 is fatal
|
||||
[[ $retval == 1 ]] && safe_exit
|
||||
|
||||
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
|
||||
-f "${postgis_path}/postgis.sql"
|
||||
retval=$?
|
||||
[[ $retval == 0 ]] && eend 0 || safe_exit
|
||||
done
|
||||
|
||||
for db in ${epsg_databases[@]} ; do
|
||||
ebegin "Adding EPSG to ${db}"
|
||||
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
|
||||
-f "${postgis_path}/spatial_ref_sys.sql"
|
||||
retval=$?
|
||||
[[ $retval == 0 ]] && eend 0 || safe_exit
|
||||
done
|
||||
|
||||
for db in ${comment_databases[@]} ; do
|
||||
ebegin "Adding comments on ${db}"
|
||||
local comment_file
|
||||
for comment_file in "${postgis_path}"/*_comments.sql ; do
|
||||
psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}"
|
||||
retval=$?
|
||||
[[ $retval == 0 ]] && continue || safe_exit
|
||||
done
|
||||
eend 0
|
||||
done
|
||||
|
||||
for db in ${upgrade_from_1_3[@]} ; do
|
||||
ebegin "Upgrading from PostGIS 1.3 to ${PGIS} on ${db}"
|
||||
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
|
||||
-f "${postgis_path}/postgis_upgrade_13_to_${PGIS//.}.sql"
|
||||
retval=$?
|
||||
[[ $retval == 0 ]] && eend 0 || safe_exit
|
||||
done
|
||||
|
||||
for db in ${upgrade_from_1_4[@]} ; do
|
||||
ebegin "Upgrading from PostGIS 1.4 to ${PGIS} on ${db}"
|
||||
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
|
||||
-f "${postgis_path}/postgis_upgrade_14_to_${PGIS//.}.sql"
|
||||
retval=$?
|
||||
[[ $retval == 0 ]] && eend 0 || safe_exit
|
||||
done
|
||||
|
||||
for db in ${upgrade_from_1_5[@]} ; do
|
||||
ebegin "Minor upgrade for PostGIS ${PGIS} on ${db}"
|
||||
psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
|
||||
-f "${postgis_path}/postgis_upgrade_${PGIS//.}_minor.sql"
|
||||
retval=$?
|
||||
[[ $retval == 0 ]] && eend 0 || safe_exit
|
||||
done
|
||||
|
||||
# Clean up and make it so the user has to edit postgis_dbs again that
|
||||
# way this script won't step on any toes due to user error.
|
||||
unset PGPASSWORD
|
||||
sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
|
||||
einfo "PostgreSQL ${PGSLOT} is now PostGIS enabled."
|
||||
einfo
|
||||
einfo "Currently, only one PostgreSQL slot at a time can be PostGIS enabled."
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-base/postgresql-base-9.4_rc1.ebuild,v 1.1 2014/11/21 05:46:43 patrick Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-base/postgresql-base-9.4.0.ebuild,v 1.1 2014/12/19 00:26:28 patrick Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
@ -1,168 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-base/postgresql-base-9.4_beta1.ebuild,v 1.2 2014/06/27 04:21:03 patrick Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_{6,7},3_{2,3,4}} )
|
||||
WANT_AUTOMAKE="none"
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib prefix python-single-r1 versionator
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
SLOT="$(get_version_component_range 1-2)"
|
||||
S="${WORKDIR}/postgresql-${MY_PV}"
|
||||
SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2
|
||||
http://dev.gentoo.org/~patrick/postgresql-patches-${SLOT}.tbz2"
|
||||
|
||||
LICENSE="POSTGRESQL"
|
||||
DESCRIPTION="PostgreSQL libraries and clients"
|
||||
HOMEPAGE="http://www.postgresql.org/"
|
||||
|
||||
# No tests to be done for clients and libraries
|
||||
RESTRICT="test"
|
||||
|
||||
LINGUAS="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN zh_TW"
|
||||
IUSE="doc kerberos ldap nls pam pg_legacytimestamp python readline ssl threads zlib"
|
||||
|
||||
for lingua in ${LINGUAS} ; do
|
||||
IUSE+=" linguas_${lingua}"
|
||||
done
|
||||
|
||||
wanted_languages() {
|
||||
local enable_langs
|
||||
|
||||
for lingua in ${LINGUAS} ; do
|
||||
use linguas_${lingua} && enable_langs+="${lingua} "
|
||||
done
|
||||
|
||||
echo -n ${enable_langs}
|
||||
}
|
||||
|
||||
RDEPEND="
|
||||
>=app-admin/eselect-postgresql-1.2.0
|
||||
sys-apps/less
|
||||
virtual/libintl
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( net-nds/openldap )
|
||||
pam? ( virtual/pam )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline )
|
||||
ssl? ( >=dev-libs/openssl-0.9.6-r1 )
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
!!<sys-apps/sandbox-2.0
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
PDEPEND="doc? ( ~dev-db/postgresql-docs-${PV} )"
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${WORKDIR}/autoconf.patch" \
|
||||
"${WORKDIR}/base.patch" \
|
||||
"${WORKDIR}/bool.patch" \
|
||||
"${WORKDIR}/run-dir.patch"
|
||||
|
||||
eprefixify src/include/pg_config_manual.h
|
||||
|
||||
# to avoid collision - it only should be installed by server
|
||||
rm "${S}/src/backend/nls.mk"
|
||||
|
||||
# because psql/help.c includes the file
|
||||
ln -s "${S}/src/include/libpq/pqsignal.h" "${S}/src/bin/psql/" || die
|
||||
|
||||
if use pam ; then
|
||||
sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
|
||||
-i src/backend/libpq/auth.c \
|
||||
|| die 'PGSQL_PAM_SERVICE rename failed.'
|
||||
fi
|
||||
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
case ${CHOST} in
|
||||
*-darwin*|*-solaris*)
|
||||
use nls && append-libs intl
|
||||
;;
|
||||
esac
|
||||
|
||||
export LDFLAGS_SL="${LDFLAGS}"
|
||||
export LDFLAGS_EX="${LDFLAGS}"
|
||||
|
||||
local PO="${EPREFIX%/}"
|
||||
|
||||
econf \
|
||||
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
|
||||
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
|
||||
--docdir="${PO}/usr/share/doc/postgresql-${SLOT}" \
|
||||
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
|
||||
--includedir="${PO}/usr/include/postgresql-${SLOT}" \
|
||||
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
|
||||
--without-tcl \
|
||||
--without-perl \
|
||||
$(use_with readline) \
|
||||
$(use_with kerberos gssapi) \
|
||||
"$(use_enable nls nls "$(wanted_languages)")" \
|
||||
$(use_with pam) \
|
||||
$(use_enable !pg_legacytimestamp integer-datetimes) \
|
||||
$(use_with python) \
|
||||
$(use_with ssl openssl) \
|
||||
$(use_enable threads thread-safety) \
|
||||
$(use_with zlib) \
|
||||
$(use_with ldap)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
|
||||
cd "${S}/contrib"
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
insinto /usr/include/postgresql-${SLOT}/postmaster
|
||||
doins "${S}"/src/include/postmaster/*.h
|
||||
|
||||
dodir /usr/share/postgresql-${SLOT}/man/
|
||||
cp -r "${S}"/doc/src/sgml/man{1,7} "${ED}"/usr/share/postgresql-${SLOT}/man/ || die
|
||||
rm "${ED}/usr/share/postgresql-${SLOT}/man/man1"/{initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}.1
|
||||
docompress /usr/share/postgresql-${SLOT}/man/man{1,7}
|
||||
|
||||
# Don't use ${PF} here as three packages
|
||||
# (dev-db/postgresql-{docs,base,server}) have the same set of docs.
|
||||
insinto /usr/share/doc/postgresql-${SLOT}
|
||||
doins README HISTORY doc/{TODO,bug.template}
|
||||
|
||||
cd "${S}/contrib"
|
||||
emake DESTDIR="${D}" install
|
||||
cd "${S}"
|
||||
|
||||
dodir /etc/eselect/postgresql/slots/${SLOT}
|
||||
echo "postgres_ebuilds=\"\${postgres_ebuilds} ${PF}\"" > \
|
||||
"${ED}/etc/eselect/postgresql/slots/${SLOT}/base"
|
||||
|
||||
keepdir /etc/postgresql-${SLOT}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
postgresql-config update
|
||||
|
||||
elog "If you need a global psqlrc-file, you can place it in:"
|
||||
elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
postgresql-config update
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue