summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/anaconda')
-rw-r--r--app-admin/anaconda/Manifest8
-rw-r--r--app-admin/anaconda/anaconda-0.9.9.53.ebuild216
-rw-r--r--app-admin/anaconda/anaconda-9999.ebuild217
-rw-r--r--app-admin/anaconda/files/compat.py18
-rw-r--r--app-admin/anaconda/files/liveinst2
-rw-r--r--app-admin/anaconda/files/make_liveinst_update_package.sh24
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"