diff options
Diffstat (limited to 'app-admin/anaconda')
-rw-r--r-- | app-admin/anaconda/Manifest | 8 | ||||
-rw-r--r-- | app-admin/anaconda/anaconda-0.9.9.53.ebuild | 216 | ||||
-rw-r--r-- | app-admin/anaconda/anaconda-9999.ebuild | 217 | ||||
-rw-r--r-- | app-admin/anaconda/files/compat.py | 18 | ||||
-rw-r--r-- | app-admin/anaconda/files/liveinst | 2 | ||||
-rw-r--r-- | app-admin/anaconda/files/make_liveinst_update_package.sh | 24 |
6 files changed, 485 insertions, 0 deletions
diff --git a/app-admin/anaconda/Manifest b/app-admin/anaconda/Manifest new file mode 100644 index 0000000..f6e3318 --- /dev/null +++ b/app-admin/anaconda/Manifest @@ -0,0 +1,8 @@ +AUX compat.py 461 RMD160 ae776a51f27564321845126c39874eab953a41cd SHA1 229eea09e82b4e93150ece0f0621ac4581ccb00b SHA256 d3b3efe9b9fd946c917a6faccca715c4056748b9c861080fe6f6d7cfbaf87f50 +AUX liveinst 40 RMD160 39595adfb6c90dcf5b30d1ebdd7f0fac224d6d16 SHA1 4ec5b3c634341ca1e856fbffe69a61236f8335af SHA256 32721c6398f6b7e77e45ed5cbbe32c15b9b2ae424311ae4fe77d95c2b17a8af3 +AUX make_liveinst_update_package.sh 653 RMD160 0c7e88651d03d25210ca36500e28e0bc2caa7172 SHA1 abf190bf40d5d8b0ddd0ff99a69c5096b47c949b SHA256 cfec6af92438e670dbc3341519e65a6847640003708a07e6d78aca187d307d2c +DIST anaconda-0.9.9.53.tar.bz2 13342352 RMD160 89839bb189a2c439aba937e85bc658350035ba1a SHA1 93a2edc5cbf58f7c89d15da59babd576cc326363 SHA256 27c473aa5ed1e60cfbbf65104236ed549e937e095dd2f50f172d6b06366f2686 +DIST audit-1.7.9.tar.gz 1245155 RMD160 248ca395c6d58dccf8437750e6cf5a7040a28c9f SHA1 aa7de4546f4774338946987fe1a8231222475e64 SHA256 95ce67d9aee4339a5aa11214f21dfa5f37c5820e2511c7bddf998d26b1aaefc9 +DIST libselinux-2.0.85.tar.gz 175396 RMD160 ce27fc9c5baf23d9f1c2eeda24357abc4d619d48 SHA1 b2e29934f3cde0a2fb86fe29c8cc1abac8c7e9ca SHA256 54db845fbaa2b3183798e6754b11e4178802f9eae47569b391d87a45b8a69c3c +EBUILD anaconda-0.9.9.53.ebuild 6564 RMD160 9a631970ef7f99761c26ef61b3046aa16ccc54b2 SHA1 44e02d5fdc1ef35c3feb67fa735b7a34a8e342cd SHA256 3ab7a8ab17dfb6efb8df46412248e85b1824185c1ffe2893f639aa41c7d9b5e7 +EBUILD anaconda-9999.ebuild 6579 RMD160 27b71cca78530c162aeb16fc6b4da99f06c30f2a SHA1 f0cdfe257b33e386f79c8e10dda5c8f336638d11 SHA256 6cb901e23dd10a46c6823d29b89e95629d59c6894c4511b48c9a9c377f812047 diff --git a/app-admin/anaconda/anaconda-0.9.9.53.ebuild b/app-admin/anaconda/anaconda-0.9.9.53.ebuild new file mode 100644 index 0000000..f96b8d0 --- /dev/null +++ b/app-admin/anaconda/anaconda-0.9.9.53.ebuild @@ -0,0 +1,216 @@ +# Copyright 2004-2010 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +if [ "${PV}" = "9999" ]; then + EGIT_COMMIT="master" + EGIT_REPO_URI="git://sabayon.org/projects/anaconda.git" + MY_ECLASS="git" +fi +inherit flag-o-matic base python libtool autotools eutils ${MY_ECLASS} + +AUDIT_VER="1.7.9" +AUDIT_SRC_URI="http://people.redhat.com/sgrubb/audit/audit-${AUDIT_VER}.tar.gz" + +SEPOL_VER="2.0" +LSELINUX_VER="2.0.85" +LSELINUX_SRC_URI="http://userspace.selinuxproject.org/releases/current/devel/libselinux-${LSELINUX_VER}.tar.gz" + +DESCRIPTION="Sabayon Redhat Anaconda Installer Port" +HOMEPAGE="http://gitweb.sabayon.org/?p=anaconda.git;a=summary" +if [ "${PV}" = "9999" ]; then + SRC_URI="${AUDIT_SRC_URI} ${LSELINUX_SRC_URI}" + KEYWORDS="" +else + SRC_URI="mirror://sabayon/${CATEGORY}/${PN}-${PVR}.tar.bz2 ${AUDIT_SRC_URI} ${LSELINUX_SRC_URI}" + KEYWORDS="~amd64 ~x86" +fi +S="${WORKDIR}"/${PN}-${PVR} +AUDIT_S="${WORKDIR}/audit-${AUDIT_VER}" +LSELINUX_S="${WORKDIR}/libselinux-${LSELINUX_VER}" + +LICENSE="GPL-2 public-domain" +SLOT="0" +IUSE="+ipv6 +nfs ldap" + +AUDIT_DEPEND="dev-lang/swig" +AUDIT_RDEPEND="ldap? ( net-nds/openldap )" +LSELINUX_DEPEND="=sys-libs/libsepol-${SEPOL_VER}* dev-lang/swig" +LSELINUX_RDEPEND="=sys-libs/libsepol-${SEPOL_VER}*" +LSELINUX_CONFLICT="!sys-libs/libselinux" # due to pythonX.Y/site-packages+/usr/sbin not being handled +COMMON_DEPEND="app-admin/system-config-keyboard + >=app-arch/libarchive-2.8 + app-cdr/isomd5sum + dev-libs/newt + nfs? ( net-fs/nfs-utils ) + sys-fs/lvm2 + sys-block/open-iscsi" +DEPEND="${COMMON_DEPEND} ${AUDIT_DEPEND} ${LSELINUX_DEPEND} sys-apps/sed" +RDEPEND="${COMMON_DEPEND} ${AUDIT_RDEPEND} + ${LSELINUX_RDEPEND} ${LSELINUX_CONFLICT} + >=app-misc/anaconda-runtime-1.1" + +# FIXME: +# for anaconda-gtk we would require also +# dev-python/pygtk +# x11-libs/pango + +src_unpack() { + if [ "${PV}" = "9999" ]; then + git_src_unpack + base_src_unpack + else + base_src_unpack + fi +} + +src_prepare() { + + # Setup CFLAGS, LDFLAGS + append-cflags "-I${D}/usr/include/anaconda-runtime" + append-ldflags "-L${D}/usr/$(get_libdir)/anaconda-runtime" + + # Setup anaconda + cd "${S}" + ./autogen.sh || die "cannot run autogen" + + ## + ## Setup libaudit + ## + cd "${AUDIT_S}" + # Do not build GUI tools + sed -i \ + -e '/AC_CONFIG_SUBDIRS.*system-config-audit/d' \ + "${AUDIT_S}"/configure.ac || die "cannot sed libaudit configure.ac" + sed -i \ + -e 's,system-config-audit,,g' \ + -e '/^SUBDIRS/s,\\$,,g' \ + "${AUDIT_S}"/Makefile.am || die "cannot sed libaudit Makefile.am" + rm -rf "${AUDIT_S}"/system-config-audit + + if ! use ldap; then + sed -i \ + -e '/^AC_OUTPUT/s,audisp/plugins/zos-remote/Makefile,,g' \ + "${AUDIT_S}"/configure.ac || die "cannot sed libaudit configure.ac (ldap)" + sed -i \ + -e '/^SUBDIRS/s,zos-remote,,g' \ + "${AUDIT_S}"/audisp/plugins/Makefile.am || die "cannot sed libaudit Makefile.am (ldap)" + fi + eautoreconf + +} + +copy_audit_data_over() { + dodir "/usr/$(get_libdir)/anaconda-runtime" + cp -Ra "${AUDIT_S}/fakeroot/usr/$(get_libdir)/anaconda-runtime/"* \ + "${D}/usr/$(get_libdir)/anaconda-runtime" || die "cannot cp audit data" + dodir "/usr/include/anaconda-runtime" + cp -Ra "${AUDIT_S}/fakeroot/usr/include/anaconda-runtime/"* \ + "${D}/usr/include/anaconda-runtime" || die "cannot cp audit include data" +} + +src_configure() { + # configure audit + cd "${AUDIT_S}" + einfo "configuring audit" + econf --sbindir=/sbin --libdir=/usr/$(get_libdir)/anaconda-runtime \ + --includedir=/usr/include/anaconda-runtime \ + --without-prelude || die + + # compiling audit here, anaconda configure needs libaudit + einfo "compiling audit" + cd "${AUDIT_S}" || die "cannot cd into ${AUDIT_S}" + base_src_compile + + # installing audit + einfo "installing audit libs into ${AUDIT_S}/fakeroot temporarily" + cd "${AUDIT_S}" || die "cannot cd into ${AUDIT_S}" + ( rm -rf fakeroot && mkdir fakeroot ) || die "cannot mkdir" + emake DESTDIR="${AUDIT_S}/fakeroot" install || die "cannot install libaudit" + copy_audit_data_over # for proper linking + + # configure anaconda + cd "${S}" + einfo "configuring anaconda" + econf \ + $(use_enable ipv6) $(use_enable selinux) \ + $(use_enable nfs) || die "configure failed" +} + +src_compile() { + + cd "${S}" + base_src_compile + + # compiling libselinux + einfo "compiling libselinux" + cd "${LSELINUX_S}" || die "cannot cd into ${LSELINUX_S}" + LD_RUN_PATH="/usr/$(get_libdir)/anaconda-runtime" \ + emake \ + LDFLAGS="-fPIC ${LDFLAGS}" \ + PYLIBVER="python$(python_get_version)" \ + PYTHONLIBDIR="${D}/usr/$(get_libdir)/python$(python_get_version)" \ + SHLIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + INCLUDEDIR="${D}/usr/include/anaconda-runtime" \ + all || die + LD_RUN_PATH="/usr/$(get_libdir)/anaconda-runtime" \ + emake \ + LDFLAGS="-fPIC ${LDFLAGS}" \ + PYLIBVER="python$(python_get_version)" \ + PYTHONLIBDIR="${D}/usr/$(get_libdir)/python$(python_get_version)" \ + SHLIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + INCLUDEDIR="${D}/usr/include/anaconda-runtime" \ + pywrap || die + + # add compatibility aliases to swig wrapper + cat "${FILESDIR}/compat.py" >> "${LSELINUX_S}/src/selinux.py" || die + +} + +src_install() { + + # installing libselinux + cd "${LSELINUX_S}" + python_need_rebuild + LD_RUN_PATH="/usr/$(get_libdir)/anaconda-runtime" \ + emake DESTDIR="${D}" \ + PYLIBVER="python$(python_get_version)" \ + PYTHONLIBDIR="${D}/usr/$(get_libdir)/python$(python_get_version)" \ + LIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + SHLIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + INCLUDEDIR="${D}/usr/include/anaconda-runtime" \ + install install-pywrap || die + + # fix libselinux.so link + dosym libselinux.so.1 /usr/$(get_libdir)/anaconda-runtime/libselinux.so + # LD_RUN_PATH works with ld >=2.20, so /etc/env.d/99anaconda for now + # will be dropped in future + echo "LDPATH=\"/usr/$(get_libdir)/anaconda-runtime\"" > 99anaconda + doenvd 99anaconda + + cd "${S}" + copy_audit_data_over # ${D} is cleared + base_src_install + + # install liveinst for user + dodir /usr/bin + exeinto /usr/bin + doexe "${FILESDIR}"/liveinst + dosym /usr/bin/liveinst /usr/bin/installer + + # drop .la files for God sake + find "${D}" -name "*.la" | xargs rm + + # Cleanup .pyc .pyo + find "${D}" -name "*.py[co]" -type f -delete +} + +pkg_postrm() { + python_mod_cleanup $(python_get_sitedir)/py${PN} +} + +pkg_postinst() { + python_mod_optimize $(python_get_sitedir)/py${PN} +} diff --git a/app-admin/anaconda/anaconda-9999.ebuild b/app-admin/anaconda/anaconda-9999.ebuild new file mode 100644 index 0000000..0b7967e --- /dev/null +++ b/app-admin/anaconda/anaconda-9999.ebuild @@ -0,0 +1,217 @@ +# Copyright 2004-2010 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +if [ "${PV}" = "9999" ]; then + EGIT_COMMIT="master" + EGIT_REPO_URI="git://sabayon.org/projects/anaconda.git" + MY_ECLASS="git" +fi +inherit flag-o-matic base python libtool autotools eutils ${MY_ECLASS} + +AUDIT_VER="1.7.9" +AUDIT_SRC_URI="http://people.redhat.com/sgrubb/audit/audit-${AUDIT_VER}.tar.gz" + +SEPOL_VER="2.0" +LSELINUX_VER="2.0.85" +LSELINUX_SRC_URI="http://userspace.selinuxproject.org/releases/current/devel/libselinux-${LSELINUX_VER}.tar.gz" + +DESCRIPTION="Sabayon Redhat Anaconda Installer Port" +HOMEPAGE="http://gitweb.sabayon.org/?p=anaconda.git;a=summary" +if [ "${PV}" = "9999" ]; then + SRC_URI="${AUDIT_SRC_URI} ${LSELINUX_SRC_URI}" + KEYWORDS="" +else + SRC_URI="mirror://sabayon/${CATEGORY}/${PN}-${PVR}.tar.bz2 ${AUDIT_SRC_URI} ${LSELINUX_SRC_URI}" + KEYWORDS="~amd64 ~x86" +fi +S="${WORKDIR}"/${PN}-${PVR} +AUDIT_S="${WORKDIR}/audit-${AUDIT_VER}" +LSELINUX_S="${WORKDIR}/libselinux-${LSELINUX_VER}" + +LICENSE="GPL-2 public-domain" +SLOT="0" +IUSE="+ipv6 +nfs ldap" + +AUDIT_DEPEND="dev-lang/swig" +AUDIT_RDEPEND="ldap? ( net-nds/openldap )" +LSELINUX_DEPEND="=sys-libs/libsepol-${SEPOL_VER}* dev-lang/swig" +LSELINUX_RDEPEND="=sys-libs/libsepol-${SEPOL_VER}*" +LSELINUX_CONFLICT="!sys-libs/libselinux" # due to pythonX.Y/site-packages+/usr/sbin not being handled +COMMON_DEPEND="app-admin/system-config-keyboard + >=app-arch/libarchive-2.8 + app-cdr/isomd5sum + dev-libs/newt + nfs? ( net-fs/nfs-utils ) + sys-fs/lvm2 + =sys-block/open-iscsi-2.0.870.3-r1" +DEPEND="${COMMON_DEPEND} ${AUDIT_DEPEND} ${LSELINUX_DEPEND} sys-apps/sed" +RDEPEND="${COMMON_DEPEND} ${AUDIT_RDEPEND} + ${LSELINUX_RDEPEND} ${LSELINUX_CONFLICT} + >=app-misc/anaconda-runtime-1.1" + +# FIXME: +# for anaconda-gtk we would require also +# dev-python/pygtk +# x11-libs/pango + +src_unpack() { + if [ "${PV}" = "9999" ]; then + git_src_unpack + base_src_unpack + else + base_src_unpack + fi +} + +src_prepare() { + + # Setup CFLAGS, LDFLAGS + append-cflags "-I${D}/usr/include/anaconda-runtime" + append-ldflags "-L${D}/usr/$(get_libdir)/anaconda-runtime" + + # Setup anaconda + cd "${S}" + ./autogen.sh || die "cannot run autogen" + + ## + ## Setup libaudit + ## + cd "${AUDIT_S}" + # Do not build GUI tools + sed -i \ + -e '/AC_CONFIG_SUBDIRS.*system-config-audit/d' \ + "${AUDIT_S}"/configure.ac || die "cannot sed libaudit configure.ac" + sed -i \ + -e 's,system-config-audit,,g' \ + -e '/^SUBDIRS/s,\\$,,g' \ + "${AUDIT_S}"/Makefile.am || die "cannot sed libaudit Makefile.am" + rm -rf "${AUDIT_S}"/system-config-audit + + if ! use ldap; then + sed -i \ + -e '/^AC_OUTPUT/s,audisp/plugins/zos-remote/Makefile,,g' \ + "${AUDIT_S}"/configure.ac || die "cannot sed libaudit configure.ac (ldap)" + sed -i \ + -e '/^SUBDIRS/s,zos-remote,,g' \ + "${AUDIT_S}"/audisp/plugins/Makefile.am || die "cannot sed libaudit Makefile.am (ldap)" + fi + eautoreconf + +} + +copy_audit_data_over() { + dodir "/usr/$(get_libdir)/anaconda-runtime" + cp -Ra "${AUDIT_S}/fakeroot/usr/$(get_libdir)/anaconda-runtime/"* \ + "${D}/usr/$(get_libdir)/anaconda-runtime" || die "cannot cp audit data" + dodir "/usr/include/anaconda-runtime" + cp -Ra "${AUDIT_S}/fakeroot/usr/include/anaconda-runtime/"* \ + "${D}/usr/include/anaconda-runtime" || die "cannot cp audit include data" +} + +src_configure() { + # configure audit + cd "${AUDIT_S}" + einfo "configuring audit" + econf --sbindir=/sbin --libdir=/usr/$(get_libdir)/anaconda-runtime \ + --includedir=/usr/include/anaconda-runtime \ + --without-prelude || die + + # compiling audit here, anaconda configure needs libaudit + einfo "compiling audit" + cd "${AUDIT_S}" || die "cannot cd into ${AUDIT_S}" + base_src_compile + + # installing audit + einfo "installing audit libs into ${AUDIT_S}/fakeroot temporarily" + cd "${AUDIT_S}" || die "cannot cd into ${AUDIT_S}" + ( rm -rf fakeroot && mkdir fakeroot ) || die "cannot mkdir" + emake DESTDIR="${AUDIT_S}/fakeroot" install || die "cannot install libaudit" + copy_audit_data_over # for proper linking + + # configure anaconda + cd "${S}" + einfo "configuring anaconda" + econf \ + $(use_enable ipv6) $(use_enable selinux) \ + $(use_enable nfs) || die "configure failed" +} + +src_compile() { + + cd "${S}" + base_src_compile + + # compiling libselinux + einfo "compiling libselinux" + cd "${LSELINUX_S}" || die "cannot cd into ${LSELINUX_S}" + LD_RUN_PATH="/usr/$(get_libdir)/anaconda-runtime" \ + emake \ + LDFLAGS="-fPIC ${LDFLAGS}" \ + PYLIBVER="python$(python_get_version)" \ + PYTHONLIBDIR="${D}/usr/$(get_libdir)/python$(python_get_version)" \ + SHLIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + INCLUDEDIR="${D}/usr/include/anaconda-runtime" \ + all || die + LD_RUN_PATH="/usr/$(get_libdir)/anaconda-runtime" \ + emake \ + LDFLAGS="-fPIC ${LDFLAGS}" \ + PYLIBVER="python$(python_get_version)" \ + PYTHONLIBDIR="${D}/usr/$(get_libdir)/python$(python_get_version)" \ + SHLIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + INCLUDEDIR="${D}/usr/include/anaconda-runtime" \ + pywrap || die + + # add compatibility aliases to swig wrapper + cat "${FILESDIR}/compat.py" >> "${LSELINUX_S}/src/selinux.py" || die + +} + +src_install() { + + # installing libselinux + cd "${LSELINUX_S}" + python_need_rebuild + LD_RUN_PATH="/usr/$(get_libdir)/anaconda-runtime" \ + emake DESTDIR="${D}" \ + PYLIBVER="python$(python_get_version)" \ + PYTHONLIBDIR="${D}/usr/$(get_libdir)/python$(python_get_version)" \ + LIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + SHLIBDIR="${D}/usr/$(get_libdir)/anaconda-runtime" \ + INCLUDEDIR="${D}/usr/include/anaconda-runtime" \ + install install-pywrap || die + + # fix libselinux.so link + dosym libselinux.so.1 /usr/$(get_libdir)/anaconda-runtime/libselinux.so + # LD_RUN_PATH works with ld >=2.20, so /etc/env.d/99anaconda for now + # will be dropped in future + echo "LDPATH=\"/usr/$(get_libdir)/anaconda-runtime\"" > 99anaconda + doenvd 99anaconda + + cd "${S}" + copy_audit_data_over # ${D} is cleared + base_src_install + + # install liveinst for user + dodir /usr/bin + exeinto /usr/bin + doexe "${FILESDIR}"/liveinst + dosym /usr/bin/liveinst /usr/bin/installer + + # drop .la files for God sake + find "${D}" -name "*.la" | xargs rm + + # Cleanup .pyc .pyo + find "${D}" -name "*.py[co]" -type f -delete + +} + +pkg_postrm() { + python_mod_cleanup $(python_get_sitedir)/py${PN} +} + +pkg_postinst() { + python_mod_optimize $(python_get_sitedir)/py${PN} +} diff --git a/app-admin/anaconda/files/compat.py b/app-admin/anaconda/files/compat.py new file mode 100644 index 0000000..b0bf65b --- /dev/null +++ b/app-admin/anaconda/files/compat.py @@ -0,0 +1,18 @@ +# compatability aliases for python-selinux +try: + import selinux_aux + + enabled = selinux_aux.enabled + + get_lsid = selinux_aux.get_lsid + get_sid = selinux_aux.get_sid + set_sid = selinux_aux.set_sid + secure_rename = selinux_aux.secure_rename + secure_copy = selinux_aux.secure_copy + secure_mkdir = selinux_aux.secure_mkdir + secure_symlink = selinux_aux.secure_symlink + setexec = selinux_aux.setexec + getcontext = selinux_aux.getcontext + +except: + pass diff --git a/app-admin/anaconda/files/liveinst b/app-admin/anaconda/files/liveinst new file mode 100644 index 0000000..986da86 --- /dev/null +++ b/app-admin/anaconda/files/liveinst @@ -0,0 +1,2 @@ +#!/bin/sh +sudo -E /usr/sbin/liveinst $@ diff --git a/app-admin/anaconda/files/make_liveinst_update_package.sh b/app-admin/anaconda/files/make_liveinst_update_package.sh new file mode 100644 index 0000000..466408c --- /dev/null +++ b/app-admin/anaconda/files/make_liveinst_update_package.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +if [ -z "${1}" ]; then + echo "syntax ${0} <ebuild>" + exit 1 +fi +eb="${1}" +eb_name=$(basename "${eb}") +tbz2_name="${eb_name/.ebuild/.tbz2}" +tar_file="py${eb_name/.ebuild}.tar.bz2" +current_dir="${PWD}" + +ebuild "${eb}" clean package || exit 1 +tmp_dir="$(mktemp -d)" + +cp /usr/portage/packages/app-admin/"${tbz2_name}" "${tmp_dir}" || exit 1 +cd "${tmp_dir}" || exit 1 +tar xvf "${tbz2_name}" || exit 1 + +( cd usr/lib*/python*/site-packages && tar cjf \ + "${current_dir}/${tar_file}" pyanaconda ) || exit 1 +( cd "${current_dir}" && md5sum "${tar_file}" > "${tar_file}.md5" ) || exit 1 + +echo "created ${tar_file} and ${tar_file}.md5 in this directory" |