From 9dfa189da02d676c01ec87fc869297c3105a8eb0 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Fri, 28 Dec 2007 07:51:32 +0000 Subject: Add initial ebuilds for OpenRC --- sys-apps/baselayout/baselayout-2.0.0.ebuild | 110 ++++++++++++++++++++++++++++ sys-apps/openrc/openrc-0.1.ebuild | 74 +++++++++++++++++++ 2 files changed, 184 insertions(+) create mode 100644 sys-apps/baselayout/baselayout-2.0.0.ebuild create mode 100644 sys-apps/openrc/openrc-0.1.ebuild diff --git a/sys-apps/baselayout/baselayout-2.0.0.ebuild b/sys-apps/baselayout/baselayout-2.0.0.ebuild new file mode 100644 index 0000000..d83ea6f --- /dev/null +++ b/sys-apps/baselayout/baselayout-2.0.0.ebuild @@ -0,0 +1,110 @@ +inherit flag-o-matic eutils toolchain-funcs multilib + +DESCRIPTION="Filesystem baselayout and init scripts" +HOMEPAGE="http://www.gentoo.org/" +SRC_URI="http://roy.marples.name/~roy/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="bootstrap build kernel_linux kernel_FreeBSD" + +RDEPEND="!/dev/null + local lib=$(get_abi_LIBDIR ${DEFAULT_ABI}) + ln -s "${lib}" "${ROOT}lib" + ln -s "${lib}" "${ROOT}usr/lib" + ln -s "${lib}" "${ROOT}usr/local/lib" + fi + + emake -C "${T}" $(make_opts) DESTDIR="${ROOT}" layout || die "failed to layout filesystem" + fi +} + +src_install() { + emake $(make_opts) DESTDIR="${D}" install || die + dodoc ChangeLog COPYRIGHT + + # Should this belong in another ebuild? Like say binutils? + # List all the multilib libdirs in /etc/env/04multilib (only if they're + # actually different from the normal + if has_multilib_profile || [ $(get_libdir) != "lib" -o -n "${CONF_MULTILIBDIR}" ]; then + local libdirs="$(get_all_libdirs)" libdirs_env= dir= + : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... + for dir in ${libdirs}; do + libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir} + done + + # Special-case uglyness... For people updating from lib32 -> lib amd64 + # profiles, keep lib32 in the search path while it's around + if has_multilib_profile && [ -d "${ROOT}"lib32 -o -d "${ROOT}"lib32 ] && ! hasq lib32 ${libdirs}; then + libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32" + fi + echo "LDPATH=\"${libdirs_env}\"" > "${T}"/04multilib + doenvd "${T}"/04multilib + fi + + # version for testing of features that *should* be present + echo "Gentoo Base System release ${PV}" > "${D}"/etc/gentoo-release +} + +pkg_postinst() { + # We installed some files to /usr/share/baselayout instead of /etc to stop + # (1) overwriting the user's settings + # (2) screwing things up when attempting to merge files + # (3) accidentally packaging up personal files with quickpkg + # If they don't exist then we install them + for x in master.passwd passwd shadow group fstab ; do + [ -e "${ROOT}etc/${x}" ] && continue + [ -e "${ROOT}usr/share/baselayout/${x}" ] || continue + cp -p "${ROOT}usr/share/baselayout/${x}" "${ROOT}"etc + done + + # This is also written in src_install (so it's in CONTENTS), but + # write it here so that the new version is immediately in the file + # (without waiting for the user to do etc-update) + rm -f "${ROOT}"/etc/._cfg????_gentoo-release + local release="${PV}" + [ "${PR}" != r0 ] && release="${release}-${PR}" + echo "Gentoo Base System release ${release}" > "${ROOT}"/etc/gentoo-release + + # whine about users that lack passwords #193541 + if [ -e "${ROOT}"/etc/shadow ]; then + local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${ROOT}"/etc/shadow) + if [ -n "${bad_users}" ] ; then + echo + ewarn "The following users lack passwords!" + ewarn ${bad_users} + fi + fi +} diff --git a/sys-apps/openrc/openrc-0.1.ebuild b/sys-apps/openrc/openrc-0.1.ebuild new file mode 100644 index 0000000..d17e454 --- /dev/null +++ b/sys-apps/openrc/openrc-0.1.ebuild @@ -0,0 +1,74 @@ +inherit flag-o-matic eutils toolchain-funcs multilib + +DESCRIPTION="OpenRC manages the services, startup and shutdown of a host" +HOMEPAGE="http://roy.marples.name/" +SRC_URI="http://roy.marples.name/${P}.tar.bz2" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="ncurses pam static unicode kernel_linux kernel_FreeBSD" + +RDEPEND="virtual/init + kernel_linux? ( + >=sys-apps/coreutils-5.2.1 + >=sys-apps/module-init-tools-3.2.2-r2 + sys-apps/makedev + ) + kernel_FreeBSD? ( sys-process/fuser-bsd ) + ncurses? ( sys-libs/ncurses ) + pam? ( virtual/pam ) + !