commit: eb96cd827140ced0fdc1d1d3538c782bfe96073e
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 19 21:39:25 2015 +0000
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Jan 19 21:39:25 2015 +0000
URL:
http://sources.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=eb96cd82
sys-apps/openrc: in tree version works
Package-Manager: portage-2.2.14
Manifest-Sign-Key: 0xF52D4BBA
---
.../files/openrc-0.12.4-ifdef_cplusplus.patch | 42 --
.../openrc/files/openrc-0.12.4-local-queue_h.patch | 12 -
sys-apps/openrc/files/openrc.logrotate | 7 -
sys-apps/openrc/files/queue.h | 574 ---------------------
sys-apps/openrc/files/start-stop-daemon.pam | 2 -
sys-apps/openrc/metadata.xml | 10 -
sys-apps/openrc/openrc-0.12.4-r99.ebuild | 323 ------------
sys-apps/openrc/openrc-0.13.1-r99.ebuild | 325 ------------
8 files changed, 1295 deletions(-)
diff --git a/sys-apps/openrc/files/openrc-0.12.4-ifdef_cplusplus.patch
b/sys-apps/openrc/files/openrc-0.12.4-ifdef_cplusplus.patch
deleted file mode 100644
index 716ef83..0000000
--- a/sys-apps/openrc/files/openrc-0.12.4-ifdef_cplusplus.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Naur openrc-0.12.4.orig/src/libeinfo/einfo.h
openrc-0.12.4/src/libeinfo/einfo.h
---- openrc-0.12.4.orig/src/libeinfo/einfo.h 2013-10-30 20:00:40.000000000
+0000
-+++ openrc-0.12.4/src/libeinfo/einfo.h 2014-01-21 22:38:00.356867564 +0000
-@@ -48,7 +48,9 @@
- # endif
- #endif
-
-+#ifdef __cplusplus
- __BEGIN_DECLS
-+#endif
-
- /*! @brief Color types to use */
- typedef enum
-@@ -140,5 +142,7 @@
- /*! @brief Prefix each einfo line with something */
- void eprefix(const char * EINFO_RESTRICT);
-
-+#ifdef __cplusplus
- __END_DECLS
- #endif
-+#endif
-diff -Naur openrc-0.12.4.orig/src/librc/rc.h.in openrc-0.12.4/src/librc/rc.h.in
---- openrc-0.12.4.orig/src/librc/rc.h.in 2013-10-30 20:00:40.000000000
+0000
-+++ openrc-0.12.4/src/librc/rc.h.in 2014-01-21 22:37:32.890866029 +0000
-@@ -31,7 +31,9 @@
- #include <stdbool.h>
- #include <stdio.h>
-
-+#ifdef __cplusplus
- __BEGIN_DECLS
-+#endif
-
- #define RC_PREFIX "@PREFIX@"
- #define RC_SYSCONFDIR "@SYSCONFDIR@"
-@@ -563,5 +565,7 @@
- * we have our own */
- ssize_t rc_getline(char **, size_t *, FILE *);
-
-+#ifdef __cplusplus
- __END_DECLS
- #endif
-+#endif
diff --git a/sys-apps/openrc/files/openrc-0.12.4-local-queue_h.patch
b/sys-apps/openrc/files/openrc-0.12.4-local-queue_h.patch
deleted file mode 100644
index 21aad7e..0000000
--- a/sys-apps/openrc/files/openrc-0.12.4-local-queue_h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur openrc-0.12.4.orig/src/librc/rc.h.in openrc-0.12.4/src/librc/rc.h.in
---- openrc-0.12.4.orig/src/librc/rc.h.in 2013-10-30 20:00:40.000000000
+0000
-+++ openrc-0.12.4/src/librc/rc.h.in 2014-01-21 22:57:11.283931920 +0000
-@@ -27,7 +27,7 @@
- #define __RC_H__
-
- #include <sys/types.h>
--#include <sys/queue.h>
-+#include "queue.h"
- #include <stdbool.h>
- #include <stdio.h>
-
diff --git a/sys-apps/openrc/files/openrc.logrotate
b/sys-apps/openrc/files/openrc.logrotate
deleted file mode 100644
index a168f23..0000000
--- a/sys-apps/openrc/files/openrc.logrotate
+++ /dev/null
@@ -1,7 +0,0 @@
-/var/log/rc.log {
- compress
- rotate 4
- weekly
- missingok
- notifempty
-}
diff --git a/sys-apps/openrc/files/queue.h b/sys-apps/openrc/files/queue.h
deleted file mode 100644
index daf4553..0000000
--- a/sys-apps/openrc/files/queue.h
+++ /dev/null
@@ -1,574 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)queue.h 8.5 (Berkeley) 8/20/94
- */
-
-#ifndef _SYS_QUEUE_H_
-#define _SYS_QUEUE_H_
-
-/*
- * This file defines five types of data structures: singly-linked lists,
- * lists, simple queues, tail queues, and circular queues.
- *
- * A singly-linked list is headed by a single forward pointer. The
- * elements are singly linked for minimum space and pointer manipulation
- * overhead at the expense of O(n) removal for arbitrary elements. New
- * elements can be added to the list after an existing element or at the
- * head of the list. Elements being removed from the head of the list
- * should use the explicit macro for this purpose for optimum
- * efficiency. A singly-linked list may only be traversed in the forward
- * direction. Singly-linked lists are ideal for applications with large
- * datasets and few or no removals or for implementing a LIFO queue.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A simple queue is headed by a pair of pointers, one the head of the
- * list and the other to the tail of the list. The elements are singly
- * linked to save space, so elements can only be removed from the
- * head of the list. New elements can be added to the list after
- * an existing element, at the head of the list, or at the end of the
- * list. A simple queue may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may be traversed in either direction.
- *
- * A circle queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the list.
- * A circle queue may be traversed in either direction, but has a more
- * complex end of list detection.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- */
-
-/*
- * List definitions.
- */
-#define LIST_HEAD(name, type)
\
-struct name { \
- struct type *lh_first; /* first element */ \
-}
-
-#define LIST_HEAD_INITIALIZER(head)
\
- { NULL }
-
-#define LIST_ENTRY(type)
\
-struct { \
- struct type *le_next; /* next element */ \
- struct type **le_prev; /* address of previous next element */ \
-}
-
-/*
- * List functions.
- */
-#define LIST_INIT(head) do {
\
- (head)->lh_first = NULL; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_AFTER(listelm, elm, field) do {
\
- if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
- (listelm)->field.le_next->field.le_prev = \
- &(elm)->field.le_next; \
- (listelm)->field.le_next = (elm); \
- (elm)->field.le_prev = &(listelm)->field.le_next; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_BEFORE(listelm, elm, field) do {
\
- (elm)->field.le_prev = (listelm)->field.le_prev; \
- (elm)->field.le_next = (listelm); \
- *(listelm)->field.le_prev = (elm); \
- (listelm)->field.le_prev = &(elm)->field.le_next; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_HEAD(head, elm, field) do {
\
- if (((elm)->field.le_next = (head)->lh_first) != NULL) \
- (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
- (head)->lh_first = (elm); \
- (elm)->field.le_prev = &(head)->lh_first; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_REMOVE(elm, field) do {
\
- if ((elm)->field.le_next != NULL) \
- (elm)->field.le_next->field.le_prev = \
- (elm)->field.le_prev; \
- *(elm)->field.le_prev = (elm)->field.le_next; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_FOREACH(var, head, field)
\
- for ((var) = ((head)->lh_first); \
- (var); \
- (var) = ((var)->field.le_next))
-
-/*
- * List access methods.
- */
-#define LIST_EMPTY(head) ((head)->lh_first == NULL)
-#define LIST_FIRST(head) ((head)->lh_first)
-#define LIST_NEXT(elm, field) ((elm)->field.le_next)
-
-
-/*
- * Singly-linked List definitions.
- */
-#define SLIST_HEAD(name, type)
\
-struct name { \
- struct type *slh_first; /* first element */ \
-}
-
-#define SLIST_HEAD_INITIALIZER(head)
\
- { NULL }
-
-#define SLIST_ENTRY(type)
\
-struct { \
- struct type *sle_next; /* next element */ \
-}
-
-/*
- * Singly-linked List functions.
- */
-#define SLIST_INIT(head) do {
\
- (head)->slh_first = NULL; \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_INSERT_AFTER(slistelm, elm, field) do {
\
- (elm)->field.sle_next = (slistelm)->field.sle_next; \
- (slistelm)->field.sle_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_INSERT_HEAD(head, elm, field) do {
\
- (elm)->field.sle_next = (head)->slh_first; \
- (head)->slh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_REMOVE_HEAD(head, field) do {
\
- (head)->slh_first = (head)->slh_first->field.sle_next; \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_REMOVE(head, elm, type, field) do {
\
- if ((head)->slh_first == (elm)) { \
- SLIST_REMOVE_HEAD((head), field); \
- } \
- else { \
- struct type *curelm = (head)->slh_first; \
- while(curelm->field.sle_next != (elm)) \
- curelm = curelm->field.sle_next; \
- curelm->field.sle_next = \
- curelm->field.sle_next->field.sle_next; \
- } \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_FOREACH(var, head, field)
\
- for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
-
-/*
- * Singly-linked List access methods.
- */
-#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
-#define SLIST_FIRST(head) ((head)->slh_first)
-#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
-
-
-/*
- * Singly-linked Tail queue declarations.
- */
-#define STAILQ_HEAD(name, type) \
-struct name { \
- struct type *stqh_first; /* first element */
\
- struct type **stqh_last; /* addr of last next element */
\
-}
-
-#define STAILQ_HEAD_INITIALIZER(head)
\
- { NULL, &(head).stqh_first }
-
-#define STAILQ_ENTRY(type)
\
-struct { \
- struct type *stqe_next; /* next element */ \
-}
-
-/*
- * Singly-linked Tail queue functions.
- */
-#define STAILQ_INIT(head) do {
\
- (head)->stqh_first = NULL; \
- (head)->stqh_last = &(head)->stqh_first;
\
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_HEAD(head, elm, field) do {
\
- if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
- (head)->stqh_last = &(elm)->field.stqe_next; \
- (head)->stqh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_TAIL(head, elm, field) do {
\
- (elm)->field.stqe_next = NULL; \
- *(head)->stqh_last = (elm); \
- (head)->stqh_last = &(elm)->field.stqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do {
\
- if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
- (head)->stqh_last = &(elm)->field.stqe_next; \
- (listelm)->field.stqe_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_REMOVE_HEAD(head, field) do {
\
- if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL)
\
- (head)->stqh_last = &(head)->stqh_first;
\
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_REMOVE(head, elm, type, field) do {
\
- if ((head)->stqh_first == (elm)) { \
- STAILQ_REMOVE_HEAD((head), field); \
- } else { \
- struct type *curelm = (head)->stqh_first; \
- while (curelm->field.stqe_next != (elm))
\
- curelm = curelm->field.stqe_next; \
- if ((curelm->field.stqe_next = \
- curelm->field.stqe_next->field.stqe_next) == NULL) \
- (head)->stqh_last = &(curelm)->field.stqe_next; \
- } \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_FOREACH(var, head, field)
\
- for ((var) = ((head)->stqh_first); \
- (var); \
- (var) = ((var)->field.stqe_next))
-
-#define STAILQ_CONCAT(head1, head2) do {
\
- if (!STAILQ_EMPTY((head2))) { \
- *(head1)->stqh_last = (head2)->stqh_first; \
- (head1)->stqh_last = (head2)->stqh_last; \
- STAILQ_INIT((head2)); \
- } \
-} while (/*CONSTCOND*/0)
-
-/*
- * Singly-linked Tail queue access methods.
- */
-#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL)
-#define STAILQ_FIRST(head) ((head)->stqh_first)
-#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
-
-
-/*
- * Simple queue definitions.
- */
-#define SIMPLEQ_HEAD(name, type)
\
-struct name { \
- struct type *sqh_first; /* first element */ \
- struct type **sqh_last; /* addr of last next element */ \
-}
-
-#define SIMPLEQ_HEAD_INITIALIZER(head)
\
- { NULL, &(head).sqh_first }
-
-#define SIMPLEQ_ENTRY(type)
\
-struct { \
- struct type *sqe_next; /* next element */ \
-}
-
-/*
- * Simple queue functions.
- */
-#define SIMPLEQ_INIT(head) do {
\
- (head)->sqh_first = NULL; \
- (head)->sqh_last = &(head)->sqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_HEAD(head, elm, field) do {
\
- if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
- (head)->sqh_last = &(elm)->field.sqe_next; \
- (head)->sqh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_TAIL(head, elm, field) do {
\
- (elm)->field.sqe_next = NULL; \
- *(head)->sqh_last = (elm); \
- (head)->sqh_last = &(elm)->field.sqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {
\
- if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
- (head)->sqh_last = &(elm)->field.sqe_next; \
- (listelm)->field.sqe_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_REMOVE_HEAD(head, field) do {
\
- if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
- (head)->sqh_last = &(head)->sqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_REMOVE(head, elm, type, field) do {
\
- if ((head)->sqh_first == (elm)) { \
- SIMPLEQ_REMOVE_HEAD((head), field); \
- } else { \
- struct type *curelm = (head)->sqh_first; \
- while (curelm->field.sqe_next != (elm)) \
- curelm = curelm->field.sqe_next; \
- if ((curelm->field.sqe_next = \
- curelm->field.sqe_next->field.sqe_next) == NULL) \
- (head)->sqh_last = &(curelm)->field.sqe_next; \
- } \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_FOREACH(var, head, field)
\
- for ((var) = ((head)->sqh_first); \
- (var); \
- (var) = ((var)->field.sqe_next))
-
-/*
- * Simple queue access methods.
- */
-#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL)
-#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
-#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
-
-
-/*
- * Tail queue definitions.
- */
-#define _TAILQ_HEAD(name, type, qual)
\
-struct name { \
- qual type *tqh_first; /* first element */ \
- qual type *qual *tqh_last; /* addr of last next element */ \
-}
-#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
-
-#define TAILQ_HEAD_INITIALIZER(head)
\
- { NULL, &(head).tqh_first }
-
-#define _TAILQ_ENTRY(type, qual)
\
-struct { \
- qual type *tqe_next; /* next element */ \
- qual type *qual *tqe_prev; /* address of previous next element */\
-}
-#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
-
-/*
- * Tail queue functions.
- */
-#define TAILQ_INIT(head) do {
\
- (head)->tqh_first = NULL; \
- (head)->tqh_last = &(head)->tqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_HEAD(head, elm, field) do {
\
- if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
- (head)->tqh_first->field.tqe_prev = \
- &(elm)->field.tqe_next; \
- else \
- (head)->tqh_last = &(elm)->field.tqe_next; \
- (head)->tqh_first = (elm); \
- (elm)->field.tqe_prev = &(head)->tqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_TAIL(head, elm, field) do {
\
- (elm)->field.tqe_next = NULL; \
- (elm)->field.tqe_prev = (head)->tqh_last; \
- *(head)->tqh_last = (elm); \
- (head)->tqh_last = &(elm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do {
\
- if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
- (elm)->field.tqe_next->field.tqe_prev = \
- &(elm)->field.tqe_next; \
- else \
- (head)->tqh_last = &(elm)->field.tqe_next; \
- (listelm)->field.tqe_next = (elm); \
- (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_BEFORE(listelm, elm, field) do {
\
- (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
- (elm)->field.tqe_next = (listelm); \
- *(listelm)->field.tqe_prev = (elm); \
- (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_REMOVE(head, elm, field) do {
\
- if (((elm)->field.tqe_next) != NULL) \
- (elm)->field.tqe_next->field.tqe_prev = \
- (elm)->field.tqe_prev; \
- else \
- (head)->tqh_last = (elm)->field.tqe_prev; \
- *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_FOREACH(var, head, field)
\
- for ((var) = ((head)->tqh_first); \
- (var); \
- (var) = ((var)->field.tqe_next))
-
-#define TAILQ_FOREACH_REVERSE(var, head, headname, field)
\
- for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));
\
- (var); \
- (var) = (*(((struct headname
*)((var)->field.tqe_prev))->tqh_last)))
-
-#define TAILQ_CONCAT(head1, head2, field) do {
\
- if (!TAILQ_EMPTY(head2)) { \
- *(head1)->tqh_last = (head2)->tqh_first; \
- (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
- (head1)->tqh_last = (head2)->tqh_last; \
- TAILQ_INIT((head2)); \
- } \
-} while (/*CONSTCOND*/0)
-
-/*
- * Tail queue access methods.
- */
-#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
-#define TAILQ_FIRST(head) ((head)->tqh_first)
-#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
-
-#define TAILQ_LAST(head, headname) \
- (*(((struct headname *)((head)->tqh_last))->tqh_last))
-#define TAILQ_PREV(elm, headname, field) \
- (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-
-
-/*
- * Circular queue definitions.
- */
-#define CIRCLEQ_HEAD(name, type)
\
-struct name { \
- struct type *cqh_first; /* first element */ \
- struct type *cqh_last; /* last element */ \
-}
-
-#define CIRCLEQ_HEAD_INITIALIZER(head)
\
- { (void *)&head, (void *)&head }
-
-#define CIRCLEQ_ENTRY(type)
\
-struct { \
- struct type *cqe_next; /* next element */ \
- struct type *cqe_prev; /* previous element */ \
-}
-
-/*
- * Circular queue functions.
- */
-#define CIRCLEQ_INIT(head) do {
\
- (head)->cqh_first = (void *)(head); \
- (head)->cqh_last = (void *)(head); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {
\
- (elm)->field.cqe_next = (listelm)->field.cqe_next; \
- (elm)->field.cqe_prev = (listelm); \
- if ((listelm)->field.cqe_next == (void *)(head)) \
- (head)->cqh_last = (elm); \
- else \
- (listelm)->field.cqe_next->field.cqe_prev = (elm); \
- (listelm)->field.cqe_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {
\
- (elm)->field.cqe_next = (listelm); \
- (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
- if ((listelm)->field.cqe_prev == (void *)(head)) \
- (head)->cqh_first = (elm); \
- else \
- (listelm)->field.cqe_prev->field.cqe_next = (elm); \
- (listelm)->field.cqe_prev = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_HEAD(head, elm, field) do {
\
- (elm)->field.cqe_next = (head)->cqh_first; \
- (elm)->field.cqe_prev = (void *)(head); \
- if ((head)->cqh_last == (void *)(head)) \
- (head)->cqh_last = (elm); \
- else \
- (head)->cqh_first->field.cqe_prev = (elm); \
- (head)->cqh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_TAIL(head, elm, field) do {
\
- (elm)->field.cqe_next = (void *)(head); \
- (elm)->field.cqe_prev = (head)->cqh_last; \
- if ((head)->cqh_first == (void *)(head)) \
- (head)->cqh_first = (elm); \
- else \
- (head)->cqh_last->field.cqe_next = (elm); \
- (head)->cqh_last = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_REMOVE(head, elm, field) do {
\
- if ((elm)->field.cqe_next == (void *)(head)) \
- (head)->cqh_last = (elm)->field.cqe_prev; \
- else \
- (elm)->field.cqe_next->field.cqe_prev = \
- (elm)->field.cqe_prev; \
- if ((elm)->field.cqe_prev == (void *)(head)) \
- (head)->cqh_first = (elm)->field.cqe_next; \
- else \
- (elm)->field.cqe_prev->field.cqe_next = \
- (elm)->field.cqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_FOREACH(var, head, field)
\
- for ((var) = ((head)->cqh_first); \
- (var) != (const void *)(head); \
- (var) = ((var)->field.cqe_next))
-
-#define CIRCLEQ_FOREACH_REVERSE(var, head, field)
\
- for ((var) = ((head)->cqh_last); \
- (var) != (const void *)(head); \
- (var) = ((var)->field.cqe_prev))
-
-/*
- * Circular queue access methods.
- */
-#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void
*)(head))
-#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
-#define CIRCLEQ_LAST(head) ((head)->cqh_last)
-#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
-#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
-
-#define CIRCLEQ_LOOP_NEXT(head, elm, field) \
- (((elm)->field.cqe_next == (void *)(head)) \
- ? ((head)->cqh_first) \
- : (elm->field.cqe_next))
-#define CIRCLEQ_LOOP_PREV(head, elm, field) \
- (((elm)->field.cqe_prev == (void *)(head)) \
- ? ((head)->cqh_last) \
- : (elm->field.cqe_prev))
-
-#endif /* sys/queue.h */
diff --git a/sys-apps/openrc/files/start-stop-daemon.pam
b/sys-apps/openrc/files/start-stop-daemon.pam
deleted file mode 100644
index 2127f6a..0000000
--- a/sys-apps/openrc/files/start-stop-daemon.pam
+++ /dev/null
@@ -1,2 +0,0 @@
-account required pam_permit.so
-session include system-services
diff --git a/sys-apps/openrc/metadata.xml b/sys-apps/openrc/metadata.xml
deleted file mode 100644
index 0043936..0000000
--- a/sys-apps/openrc/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>openrc</herd>
- <use>
- <flag name="netifrc">enable Gentoo's network stack (net.*
scripts)</flag>
- <flag name="newnet">enable the new network stack
(experimental)</flag>
- <flag name="tools">build optional tools</flag>
- </use>
-</pkgmetadata>
diff --git a/sys-apps/openrc/openrc-0.12.4-r99.ebuild
b/sys-apps/openrc/openrc-0.12.4-r99.ebuild
deleted file mode 100644
index 51d088b..0000000
--- a/sys-apps/openrc/openrc-0.12.4-r99.ebuild
+++ /dev/null
@@ -1,323 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.12.4.ebuild,v 1.12
2014/01/19 19:38:11 ago Exp $
-
-EAPI=5
-
-inherit eutils flag-o-matic multilib pam toolchain-funcs
-
-DESCRIPTION="OpenRC manages the services, startup and shutdown of a host"
-HOMEPAGE="http://www.gentoo.org/proj/en/base/openrc/"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="git://github.com/OpenRC/${PN}.git"
- inherit git-2
-else
- SRC_URI="http://dev.gentoo.org/~williamh/dist/${P}.tar.bz2"
- KEYWORDS="amd64 arm ~mips ppc x86"
-fi
-
-LICENSE="BSD-2"
-SLOT="0"
-IUSE="debug elibc_glibc ncurses pam newnet prefix +netifrc selinux static-libs
- tools unicode kernel_linux kernel_FreeBSD"
-
-COMMON_DEPEND=">=sys-apps/baselayout-2.1-r1
- kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-ubin-9.0_rc
sys-process/fuser-bsd ) )
- elibc_glibc? ( >=sys-libs/glibc-2.5 )
- ncurses? ( sys-libs/ncurses )
- pam? ( sys-auth/pambase )
- tools? ( dev-lang/perl )
- kernel_linux? (
- sys-process/psmisc
- )
- selinux? ( sec-policy/selinux-openrc )
- !<sys-fs/udev-init-scripts-17
- !<sys-fs/udev-133"
-DEPEND="${COMMON_DEPEND}
- virtual/os-headers
- ncurses? ( virtual/pkgconfig )"
-RDEPEND="${COMMON_DEPEND}
- !prefix? (
- kernel_linux? ( || ( >=sys-apps/sysvinit-2.86-r6
sys-process/runit ) )
- kernel_FreeBSD? ( sys-freebsd/freebsd-sbin )
- )"
-
-PDEPEND="netifrc? ( net-misc/netifrc )"
-
-src_prepare() {
- sed -i 's:0444:0644:' mk/sys.mk || die
-
- if [[ ${PV} == "9999" ]] ; then
- local ver="git-${EGIT_VERSION:0:6}"
- sed -i "/^GITVER[[:space:]]*=/s:=.*:=${ver}:" mk/git.mk || die
- fi
-
- epatch "${FILESDIR}"/${PN}-0.12.4-ifdef_cplusplus.patch
- epatch "${FILESDIR}"/${PN}-0.12.4-local-queue_h.patch
-
- cp "${FILESDIR}"/queue.h "$S"/src/librc
-
- # Allow user patches to be applied without modifying the ebuild
- epatch_user
-}
-
-src_compile() {
- unset LIBDIR #266688
-
- MAKE_ARGS="${MAKE_ARGS}
- LIBNAME=$(get_libdir)
- LIBEXECDIR=${EPREFIX}/$(get_libdir)/rc
- MKSELINUX=$(usex selinux)
- MKSTATICLIBS=$(usex static-libs)
- MKTOOLS=$(usex tools)"
-
- local brand="Unknown"
- if use kernel_linux ; then
- MAKE_ARGS="${MAKE_ARGS} OS=Linux"
- brand="Linux"
- elif use kernel_FreeBSD ; then
- MAKE_ARGS="${MAKE_ARGS} OS=FreeBSD"
- brand="FreeBSD"
- fi
- export BRANDING="Gentoo ${brand}"
- use newnet || MAKE_ARGS="${MAKE_ARGS} MKNET=oldnet"
- use prefix && MAKE_ARGS="${MAKE_ARGS} MKPREFIX=yes PREFIX=${EPREFIX}"
- export DEBUG=$(usev debug)
- export MKPAM=$(usev pam)
- export MKTERMCAP=$(usev ncurses)
-
- tc-export CC AR RANLIB
- emake ${MAKE_ARGS}
-}
-
-# set_config <file> <option name> <yes value> <no value> test
-# a value of "#" will just comment out the option
-set_config() {
- local file="${ED}/$1" var=$2 val com
- eval "${@:5}" && val=$3 || val=$4
- [[ ${val} == "#" ]] && com="#" && val='\2'
- sed -i -r -e "/^#?${var}=/{s:=([\"'])?([^
]*)\1?:=\1${val}\1:;s:^#?:${com}:}" "${file}"
-}
-
-set_config_yes_no() {
- set_config "$1" "$2" YES NO "${@:3}"
-}
-
-src_install() {
- emake ${MAKE_ARGS} DESTDIR="${D}" install
-
- # move the shared libs back to /usr so ldscript can install
- # more of a minimal set of files
- # disabled for now due to #270646
- #mv "${ED}"/$(get_libdir)/lib{einfo,rc}* "${ED}"/usr/$(get_libdir)/ ||
die
- #gen_usr_ldscript -a einfo rc
- gen_usr_ldscript libeinfo.so
- gen_usr_ldscript librc.so
-
- if ! use kernel_linux; then
- keepdir /$(get_libdir)/rc/init.d
- fi
- keepdir /$(get_libdir)/rc/tmp
-
- # Backup our default runlevels
- dodir /usr/share/"${PN}"
- cp -PR "${ED}"/etc/runlevels "${ED}"/usr/share/${PN} || die
- rm -rf "${ED}"/etc/runlevels
-
- # Setup unicode defaults for silly unicode users
- set_config_yes_no /etc/rc.conf unicode use unicode
-
- # Cater to the norm
- set_config_yes_no /etc/conf.d/keymaps windowkeys '(' use x86 '||' use
amd64 ')'
-
- # On HPPA, do not run consolefont by default (bug #222889)
- if use hppa; then
- rm -f "${ED}"/usr/share/openrc/runlevels/boot/consolefont
- fi
-
- # Support for logfile rotation
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/openrc.logrotate openrc
-
- # install the gentoo pam.d file
- newpamd "${FILESDIR}"/start-stop-daemon.pam start-stop-daemon
-
- # install documentation
- dodoc README.busybox
- if use newnet; then
- dodoc README.newnet
- fi
-}
-
-add_boot_init() {
- local initd=$1
- local runlevel=${2:-boot}
- # if the initscript is not going to be installed and is not
- # currently installed, return
- [[ -e "${ED}"/etc/init.d/${initd} || -e "${EROOT}"etc/init.d/${initd}
]] \
- || return
- [[ -e "${EROOT}"etc/runlevels/${runlevel}/${initd} ]] && return
-
- # if runlevels dont exist just yet, then create it but still flag
- # to pkg_postinst that it needs real setup #277323
- if [[ ! -d "${EROOT}"etc/runlevels/${runlevel} ]] ; then
- mkdir -p "${EROOT}"etc/runlevels/${runlevel}
- touch "${EROOT}"etc/runlevels/.add_boot_init.created
- fi
-
- elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
- ln -snf /etc/init.d/${initd}
"${EROOT}"etc/runlevels/${runlevel}/${initd}
-}
-add_boot_init_mit_config() {
- local config=$1 initd=$2
- if [[ -e ${EROOT}${config} ]] ; then
- if [[ -n $(sed -e 's:#.*::' -e '/^[[:space:]]*$/d'
"${EROOT}"${config}) ]] ; then
- add_boot_init ${initd}
- fi
- fi
-}
-
-pkg_preinst() {
- local f LIBDIR=$(get_libdir)
-
- # avoid default thrashing in conf.d files when possible #295406
- if [[ -e "${EROOT}"etc/conf.d/hostname ]] ; then
- (
- unset hostname HOSTNAME
- source "${EROOT}"etc/conf.d/hostname
- : ${hostname:=${HOSTNAME}}
- [[ -n ${hostname} ]] && set_config /etc/conf.d/hostname
hostname "${hostname}"
- )
- fi
-
- # set default interactive shell to sulogin if it exists
- set_config /etc/rc.conf rc_shell /sbin/sulogin "#" test -e /sbin/sulogin
-
- # termencoding was added in 0.2.1 and needed in boot
- has_version ">=sys-apps/openrc-0.2.1" || add_boot_init termencoding
-
- # swapfiles was added in 0.9.9 and needed in boot (february 2012)
- has_version ">=sys-apps/openrc-0.9.9" || add_boot_init swapfiles
-
- if ! has_version ">=sys-apps/openrc-0.11"; then
- add_boot_init sysfs sysinit
- fi
-
- if ! has_version ">=sys-apps/openrc-0.11.3" ; then
- migrate_udev_mount_script
- add_boot_init tmpfiles.setup boot
- fi
-
- # these were added in 0.12.
- if ! has_version ">=sys-apps/openrc-0.12"; then
- add_boot_init loopback
- add_boot_init tmpfiles.dev sysinit
-
- # ensure existing /etc/conf.d/net is not removed
- # undoes the hack to get around CONFIG_PROTECT in openrc-0.11.8
and earlier
- # this needs to stay in openrc ebuilds for a long time. :(
- # Added in 0.12.
- if [[ -f "${EROOT}"etc/conf.d/net ]]; then
- einfo "Modifying conf.d/net to keep it from being
removed"
- cat <<-EOF >>"${EROOT}"etc/conf.d/net
-
-# The network scripts are now part of net-misc/netifrc
-# In order to avoid sys-apps/${P} from removing this file, this comment was
-# added; you can safely remove this comment. Please see
-# /usr/share/doc/netifrc*/README* for more information.
-EOF
- fi
- fi
-}
-
-# >=OpenRC-0.11.3 requires udev-mount to be in the sysinit runlevel with udev.
-migrate_udev_mount_script() {
- if [ -e "${EROOT}"etc/runlevels/sysinit/udev -a \
- ! -e "${EROOT}"etc/runlevels/sysinit/udev-mount ]; then
- add_boot_init udev-mount sysinit
- fi
- return 0
-}
-
-pkg_postinst() {
- local LIBDIR=$(get_libdir)
-
- # Make our runlevels if they don't exist
- if [[ ! -e "${EROOT}"etc/runlevels ]] || [[ -e
"${EROOT}"etc/runlevels/.add_boot_init.created ]] ; then
- einfo "Copying across default runlevels"
- cp -RPp "${EROOT}"usr/share/${PN}/runlevels "${EROOT}"etc
- rm -f "${EROOT}"etc/runlevels/.add_boot_init.created
- else
- if [[ ! -e "${EROOT}"etc/runlevels/sysinit/devfs ]] ; then
- mkdir -p "${EROOT}"etc/runlevels/sysinit
- cp -RPp "${EROOT}"usr/share/${PN}/runlevels/sysinit/* \
- "${EROOT}"etc/runlevels/sysinit
- fi
- if [[ ! -e "${EROOT}"etc/runlevels/shutdown/mount-ro ]] ; then
- mkdir -p "${EROOT}"etc/runlevels/shutdown
- cp -RPp "${EROOT}"usr/share/${PN}/runlevels/shutdown/* \
- "${EROOT}"etc/runlevels/shutdown
- fi
- fi
-
- if use hppa; then
- elog "Setting the console font does not work on all HPPA
consoles."
- elog "You can still enable it by running:"
- elog "# rc-update add consolefont boot"
- fi
-
- # Handle the conf.d/local.{start,stop} -> local.d transition
- if path_exists -o "${EROOT}"etc/conf.d/local.{start,stop} ; then
- elog "Moving your ${EROOT}etc/conf.d/local.{start,stop}"
- elog "files to ${EROOT}etc/local.d"
- mv "${EROOT}"etc/conf.d/local.start
"${EROOT}"etc/local.d/baselayout1.start
- mv "${EROOT}"etc/conf.d/local.stop
"${EROOT}"etc/local.d/baselayout1.stop
- chmod +x "${EROOT}"etc/local.d/*{start,stop}
- fi
-
- if use kernel_linux && [[ "${EROOT}" = "/" ]]; then
- if ! /$(get_libdir)/rc/sh/migrate-to-run.sh; then
- ewarn "The dependency data could not be migrated to
/run/openrc."
- ewarn "This means you need to reboot your system."
- fi
- fi
-
- # update the dependency tree after touching all files #224171
- [[ "${EROOT}" = "/" ]] && "${EROOT}/${LIBDIR}"/rc/bin/rc-depend -u
-
- if ! use newnet && ! use netifrc; then
- ewarn "You have emerged OpenRc without network support. This"
- ewarn "means you need to SET UP a network manager such as"
- ewarn " net-misc/netifrc, net-misc/dhcpcd, net-misc/wicd,"
- ewarn "net-misc/NetworkManager, or net-misc/badvpn."
- ewarn "Or, you have the option of emerging openrc with the
newnet"
- ewarn "use flag and configuring /etc/conf.d/network and"
- ewarn "/etc/conf.d/staticroute if you only use static
interfaces."
- fi
-
- if use newnet && [ ! -e "${EROOT}"etc/runlevels/boot/network ]; then
- ewarn "Please add the network service to your boot runlevel"
- ewarn "as soon as possible. Not doing so could leave you with a
system"
- ewarn "without networking."
- fi
-
- ewarn "In this version of OpenRC, the loopback interface no longer"
- ewarn "satisfies the net virtual."
- ewarn "If you have services now which do not start because of this,"
- ewarn "They can be fixed by adding rc_need=\"!net\""
- ewarn "to the ${EROOT}etc/conf.d/<servicename> file."
- ewarn "You should also file a bug against the service asking that"
- ewarn "need net be dropped from the dependencies."
- ewarn "The bug you file should block the following tracker:"
- ewarn "https://bugs.gentoo.org/show_bug.cgi?id=439092"
-
- ewarn "This version of OpenRC doesn't enable nfs mounts automatically
any"
- ewarn "longer. In order to mount nfs file systems, you must use the"
- ewarn "nfsmount service from the nfs-utils package."
- ewarn "See bug https://bugs.gentoo.org/show_bug.cgi?id=427996 for"
- ewarn "more information on this."
-
- elog "You should now update all files in /etc, using etc-update"
- elog "or equivalent before restarting any services or this host."
-}
diff --git a/sys-apps/openrc/openrc-0.13.1-r99.ebuild
b/sys-apps/openrc/openrc-0.13.1-r99.ebuild
deleted file mode 100644
index fe9e652..0000000
--- a/sys-apps/openrc/openrc-0.13.1-r99.ebuild
+++ /dev/null
@@ -1,325 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.13.1.ebuild,v 1.1
2014/08/22 20:06:23 williamh Exp $
-
-EAPI=5
-
-inherit eutils flag-o-matic multilib pam toolchain-funcs
-
-DESCRIPTION="OpenRC manages the services, startup and shutdown of a host"
-HOMEPAGE="http://www.gentoo.org/proj/en/base/openrc/"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="git://github.com/OpenRC/${PN}.git"
- inherit git-r3
-else
- SRC_URI="http://dev.gentoo.org/~williamh/dist/${P}.tar.bz2"
- KEYWORDS="~amd64 ~arm ~mips ~ppc ~x86"
-fi
-
-LICENSE="BSD-2"
-SLOT="0"
-IUSE="debug elibc_glibc ncurses pam newnet prefix +netifrc selinux static-libs
- tools unicode kernel_linux kernel_FreeBSD"
-
-COMMON_DEPEND=">=sys-apps/baselayout-2.1-r1
- kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-ubin-9.0_rc
sys-process/fuser-bsd ) )
- elibc_glibc? ( >=sys-libs/glibc-2.5 )
- ncurses? ( sys-libs/ncurses )
- pam? ( sys-auth/pambase )
- tools? ( dev-lang/perl )
- kernel_linux? (
- sys-process/psmisc
- !<sys-process/procps-3.3.9-r2
- )
- selinux? ( sec-policy/selinux-base-policy
- sec-policy/selinux-openrc
- sys-libs/libselinux )
- !<sys-fs/udev-init-scripts-27"
-DEPEND="${COMMON_DEPEND}
- virtual/os-headers
- ncurses? ( virtual/pkgconfig )"
-RDEPEND="${COMMON_DEPEND}
- !prefix? (
- kernel_linux? ( || ( >=sys-apps/sysvinit-2.86-r6
sys-process/runit ) )
- kernel_FreeBSD? ( sys-freebsd/freebsd-sbin )
- )"
-
-PDEPEND="netifrc? ( net-misc/netifrc )"
-
-src_prepare() {
- sed -i 's:0444:0644:' mk/sys.mk || die
-
- if [[ ${PV} == "9999" ]] ; then
- local ver="git-${EGIT_VERSION:0:6}"
- sed -i "/^GITVER[[:space:]]*=/s:=.*:=${ver}:" mk/git.mk || die
- fi
-
- epatch "${FILESDIR}"/${PN}-0.12.4-ifdef_cplusplus.patch
- epatch "${FILESDIR}"/${PN}-0.12.4-local-queue_h.patch
-
- cp "${FILESDIR}"/queue.h "$S"/src/librc
-
- # Allow user patches to be applied without modifying the ebuild
- epatch_user
-}
-
-src_compile() {
- unset LIBDIR #266688
-
- MAKE_ARGS="${MAKE_ARGS}
- LIBNAME=$(get_libdir)
- LIBEXECDIR=${EPREFIX}/$(get_libdir)/rc
- MKNET=$(usex newnet)
- MKSELINUX=$(usex selinux)
- MKSTATICLIBS=$(usex static-libs)
- MKTOOLS=$(usex tools)"
-
- local brand="Unknown"
- if use kernel_linux ; then
- MAKE_ARGS="${MAKE_ARGS} OS=Linux"
- brand="Linux"
- elif use kernel_FreeBSD ; then
- MAKE_ARGS="${MAKE_ARGS} OS=FreeBSD"
- brand="FreeBSD"
- fi
- export BRANDING="Gentoo ${brand}"
- use prefix && MAKE_ARGS="${MAKE_ARGS} MKPREFIX=yes PREFIX=${EPREFIX}"
- export DEBUG=$(usev debug)
- export MKPAM=$(usev pam)
- export MKTERMCAP=$(usev ncurses)
-
- tc-export CC AR RANLIB
- emake ${MAKE_ARGS}
-}
-
-# set_config <file> <option name> <yes value> <no value> test
-# a value of "#" will just comment out the option
-set_config() {
- local file="${ED}/$1" var=$2 val com
- eval "${@:5}" && val=$3 || val=$4
- [[ ${val} == "#" ]] && com="#" && val='\2'
- sed -i -r -e "/^#?${var}=/{s:=([\"'])?([^
]*)\1?:=\1${val}\1:;s:^#?:${com}:}" "${file}"
-}
-
-set_config_yes_no() {
- set_config "$1" "$2" YES NO "${@:3}"
-}
-
-src_install() {
- emake ${MAKE_ARGS} DESTDIR="${D}" install
-
- # move the shared libs back to /usr so ldscript can install
- # more of a minimal set of files
- # disabled for now due to #270646
- #mv "${ED}"/$(get_libdir)/lib{einfo,rc}* "${ED}"/usr/$(get_libdir)/ ||
die
- #gen_usr_ldscript -a einfo rc
- gen_usr_ldscript libeinfo.so
- gen_usr_ldscript librc.so
-
- if ! use kernel_linux; then
- keepdir /$(get_libdir)/rc/init.d
- fi
- keepdir /$(get_libdir)/rc/tmp
-
- # Backup our default runlevels
- dodir /usr/share/"${PN}"
- cp -PR "${ED}"/etc/runlevels "${ED}"/usr/share/${PN} || die
- rm -rf "${ED}"/etc/runlevels
-
- # Setup unicode defaults for silly unicode users
- set_config_yes_no /etc/rc.conf unicode use unicode
-
- # Cater to the norm
- set_config_yes_no /etc/conf.d/keymaps windowkeys '(' use x86 '||' use
amd64 ')'
-
- # On HPPA, do not run consolefont by default (bug #222889)
- if use hppa; then
- rm -f "${ED}"/usr/share/openrc/runlevels/boot/consolefont
- fi
-
- # Support for logfile rotation
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/openrc.logrotate openrc
-
- # install the gentoo pam.d file
- newpamd "${FILESDIR}"/start-stop-daemon.pam start-stop-daemon
-
- # install documentation
- dodoc README README.busybox README.history FEATURE-REMOVAL-SCHEDULE
- if use newnet; then
- dodoc README.newnet
- fi
-}
-
-add_boot_init() {
- local initd=$1
- local runlevel=${2:-boot}
- # if the initscript is not going to be installed and is not
- # currently installed, return
- [[ -e "${ED}"/etc/init.d/${initd} || -e "${EROOT}"etc/init.d/${initd}
]] \
- || return
- [[ -e "${EROOT}"etc/runlevels/${runlevel}/${initd} ]] && return
-
- # if runlevels dont exist just yet, then create it but still flag
- # to pkg_postinst that it needs real setup #277323
- if [[ ! -d "${EROOT}"etc/runlevels/${runlevel} ]] ; then
- mkdir -p "${EROOT}"etc/runlevels/${runlevel}
- touch "${EROOT}"etc/runlevels/.add_boot_init.created
- fi
-
- elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
- ln -snf /etc/init.d/${initd}
"${EROOT}"etc/runlevels/${runlevel}/${initd}
-}
-add_boot_init_mit_config() {
- local config=$1 initd=$2
- if [[ -e ${EROOT}${config} ]] ; then
- if [[ -n $(sed -e 's:#.*::' -e '/^[[:space:]]*$/d'
"${EROOT}"${config}) ]] ; then
- add_boot_init ${initd}
- fi
- fi
-}
-
-pkg_preinst() {
- local f LIBDIR=$(get_libdir)
-
- # avoid default thrashing in conf.d files when possible #295406
- if [[ -e "${EROOT}"etc/conf.d/hostname ]] ; then
- (
- unset hostname HOSTNAME
- source "${EROOT}"etc/conf.d/hostname
- : ${hostname:=${HOSTNAME}}
- [[ -n ${hostname} ]] && set_config /etc/conf.d/hostname
hostname "${hostname}"
- )
- fi
-
- # set default interactive shell to sulogin if it exists
- set_config /etc/rc.conf rc_shell /sbin/sulogin "#" test -e /sbin/sulogin
-
- # termencoding was added in 0.2.1 and needed in boot
- has_version ">=sys-apps/openrc-0.2.1" || add_boot_init termencoding
-
- # swapfiles was added in 0.9.9 and needed in boot (february 2012)
- has_version ">=sys-apps/openrc-0.9.9" || add_boot_init swapfiles
-
- if ! has_version ">=sys-apps/openrc-0.11"; then
- add_boot_init sysfs sysinit
- fi
-
- if ! has_version ">=sys-apps/openrc-0.11.3" ; then
- migrate_udev_mount_script
- add_boot_init tmpfiles.setup boot
- fi
-
- # these were added in 0.12.
- if ! has_version ">=sys-apps/openrc-0.12"; then
- add_boot_init loopback
- add_boot_init tmpfiles.dev sysinit
-
- # ensure existing /etc/conf.d/net is not removed
- # undoes the hack to get around CONFIG_PROTECT in openrc-0.11.8
and earlier
- # this needs to stay in openrc ebuilds for a long time. :(
- # Added in 0.12.
- if [[ -f "${EROOT}"etc/conf.d/net ]]; then
- einfo "Modifying conf.d/net to keep it from being
removed"
- cat <<-EOF >>"${EROOT}"etc/conf.d/net
-
-# The network scripts are now part of net-misc/netifrc
-# In order to avoid sys-apps/${P} from removing this file, this comment was
-# added; you can safely remove this comment. Please see
-# /usr/share/doc/netifrc*/README* for more information.
-EOF
- fi
- fi
-}
-
-# >=OpenRC-0.11.3 requires udev-mount to be in the sysinit runlevel with udev.
-migrate_udev_mount_script() {
- if [ -e "${EROOT}"etc/runlevels/sysinit/udev -a \
- ! -e "${EROOT}"etc/runlevels/sysinit/udev-mount ]; then
- add_boot_init udev-mount sysinit
- fi
- return 0
-}
-
-pkg_postinst() {
- local LIBDIR=$(get_libdir)
-
- # Make our runlevels if they don't exist
- if [[ ! -e "${EROOT}"etc/runlevels ]] || [[ -e
"${EROOT}"etc/runlevels/.add_boot_init.created ]] ; then
- einfo "Copying across default runlevels"
- cp -RPp "${EROOT}"usr/share/${PN}/runlevels "${EROOT}"etc
- rm -f "${EROOT}"etc/runlevels/.add_boot_init.created
- else
- if [[ ! -e "${EROOT}"etc/runlevels/sysinit/devfs ]] ; then
- mkdir -p "${EROOT}"etc/runlevels/sysinit
- cp -RPp "${EROOT}"usr/share/${PN}/runlevels/sysinit/* \
- "${EROOT}"etc/runlevels/sysinit
- fi
- if [[ ! -e "${EROOT}"etc/runlevels/shutdown/mount-ro ]] ; then
- mkdir -p "${EROOT}"etc/runlevels/shutdown
- cp -RPp "${EROOT}"usr/share/${PN}/runlevels/shutdown/* \
- "${EROOT}"etc/runlevels/shutdown
- fi
- fi
-
- if use hppa; then
- elog "Setting the console font does not work on all HPPA
consoles."
- elog "You can still enable it by running:"
- elog "# rc-update add consolefont boot"
- fi
-
- # Handle the conf.d/local.{start,stop} -> local.d transition
- if path_exists -o "${EROOT}"etc/conf.d/local.{start,stop} ; then
- elog "Moving your ${EROOT}etc/conf.d/local.{start,stop}"
- elog "files to ${EROOT}etc/local.d"
- mv "${EROOT}"etc/conf.d/local.start
"${EROOT}"etc/local.d/baselayout1.start
- mv "${EROOT}"etc/conf.d/local.stop
"${EROOT}"etc/local.d/baselayout1.stop
- chmod +x "${EROOT}"etc/local.d/*{start,stop}
- fi
-
- if use kernel_linux && [[ "${EROOT}" = "/" ]]; then
- if ! /$(get_libdir)/rc/sh/migrate-to-run.sh; then
- ewarn "The dependency data could not be migrated to
/run/openrc."
- ewarn "This means you need to reboot your system."
- fi
- fi
-
- # update the dependency tree after touching all files #224171
- [[ "${EROOT}" = "/" ]] && "${EROOT}/${LIBDIR}"/rc/bin/rc-depend -u
-
- if ! use newnet && ! use netifrc; then
- ewarn "You have emerged OpenRc without network support. This"
- ewarn "means you need to SET UP a network manager such as"
- ewarn " net-misc/netifrc, net-misc/dhcpcd, net-misc/wicd,"
- ewarn "net-misc/NetworkManager, or net-misc/badvpn."
- ewarn "Or, you have the option of emerging openrc with the
newnet"
- ewarn "use flag and configuring /etc/conf.d/network and"
- ewarn "/etc/conf.d/staticroute if you only use static
interfaces."
- fi
-
- if use newnet && [ ! -e "${EROOT}"etc/runlevels/boot/network ]; then
- ewarn "Please add the network service to your boot runlevel"
- ewarn "as soon as possible. Not doing so could leave you with a
system"
- ewarn "without networking."
- fi
-
- ewarn "In this version of OpenRC, the loopback interface no longer"
- ewarn "satisfies the net virtual."
- ewarn "If you have services now which do not start because of this,"
- ewarn "They can be fixed by adding rc_need=\"!net\""
- ewarn "to the ${EROOT}etc/conf.d/<servicename> file."
- ewarn "You should also file a bug against the service asking that"
- ewarn "need net be dropped from the dependencies."
- ewarn "The bug you file should block the following tracker:"
- ewarn "https://bugs.gentoo.org/show_bug.cgi?id=439092"
-
- ewarn "This version of OpenRC doesn't enable nfs mounts automatically
any"
- ewarn "longer. In order to mount nfs file systems, you must use the"
- ewarn "nfsmount service from the nfs-utils package."
- ewarn "See bug https://bugs.gentoo.org/show_bug.cgi?id=427996 for"
- ewarn "more information on this."
-
- elog "You should now update all files in /etc, using etc-update"
- elog "or equivalent before restarting any services or this host."
-}