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."
-}

Reply via email to