# $Id$ # alx split packages sminclude alx cleanutils # global split defines if [[ -z ${SPLIT_PACKAGES} ]] then SPLIT_PACKAGES="${PNAME} ${PNAME}-dev" else SPLIT_PACKAGES+=" ${PNAME}-dev" fi if [[ ${MAGE_LIB32_SPLIT} = true ]] then SPLIT_PACKAGES+=" ${PNAME}-lib32" fi # honor empty SDEPEND if [[ ! -z ${ALX_DEV_DEPEND} ]] && [[ -z ${SDEPEND} ]] then SDEPEND="${ALX_DEV_DEPEND}" fi # some basics defines: # zap in normal packages ALX_ZAPMOST_OPTS="" # delete from normal packages ALX_RM_OPTS="usr/$(mlibdir)/*.a usr/$(mlibdir)/*.la usr/$(mlibdir)/pkgconfig usr/share/aclocal usr/share/doc usr/share/info usr/share/locale usr/share/man usr/include $([[ $(MABI=m32 mlibdir) != lib ]] && echo usr/$(MABI=m32 mlibdir)/*.a usr/$(MABI=m32 mlibdir)/*.la usr/$(MABI=m32 mlibdir)/pkgconfig) $([[ $(MABI=m64 mlibdir) != lib ]] && echo usr/$(MABI=m64 mlibdir)/*.a usr/$(MABI=m64 mlibdir)/*.la usr/$(MABI=m64 mlibdir)/pkgconfig)" if [[ ${MAGE_LIB32_SPLIT} = true ]] then # remove lib32 from normal packages ALX_RM_OPTS+=" usr/$(MABI=m32 mlibdir)/" # zap in lib32 packages ALX_LIB32_ZAPMOST_OPTS="" # delete from lib32 packages ALX_LIB32_RM_OPTS="usr/$(mlibdir) usr/$(MABI=m32 mlibdir)/*.a usr/$(MABI=m32 mlibdir)/*.la usr/$(MABI=m32 mlibdir)/pkgconfig usr/share/aclocal usr/share/doc usr/share/info usr/share/locale usr/share/man usr/include" fi # zap in dev packages ALX_DEV_ZAPMOST_OPTS="" # delete from dev packages ALX_DEV_RM_OPTS="" # be backward compatible if [[ ! -z ${ALX_ONLY_KEEP} ]] then ALX_PKG_KEEP="${ALX_ONLY_KEEP}" echo -e "${COLYELLOW}Warning: 'ALX_ONLY_KEEP' is deprecated and gets removed in the future.${COLDEFAULT}" echo -e "${COLYELLOW} Please modify this smage2 script to use the 'ALX_PKG_KEEP' variable.${COLDEFAULT}" unset ALX_ONLY_KEEP fi if [[ ! -z ${ALX_DEV_ONLY_KEEP} ]] then ALX_DEV_PKG_KEEP="${ALX_DEV_ONLY_KEEP}" echo -e "${COLYELLOW}Warning: 'ALX_DEV_ONLY_KEEP' is deprecated and gets removed in the future.${COLDEFAULT}" echo -e "${COLYELLOW} Please modify this smage2 script to use the 'ALX_DEV_PKG_KEEP' variable.${COLDEFAULT}" unset ALX_DEV_ONLY_KEEP fi # alx keeps if [[ ! -z ${ALX_PKG_KEEP} ]] then ALX_ZAPMOST_OPTS+=" ${ALX_PKG_KEEP}" ALX_DEV_RM_OPTS+=" ${ALX_PKG_KEEP}" elif [[ ${MAGE_LIB32_SPLIT} = true ]] then ALX_RM_OPTS+=" $(mlibdir)/*.so usr/$(mlibdir)/*.so $(MABI=m32 mlibdir)/*.so usr/$(MABI=m32 mlibdir)/*.so $(MABI=m32 mlibdir)/*.so.* usr/$(MABI=m32 mlibdir)/*.so.*" else ALX_RM_OPTS+=" $(mlibdir)/*.so usr/$(mlibdir)/*.so $([[ $(MABI=m32 mlibdir) != lib ]] && echo $(MABI=m32 mlibdir)/*.so usr/$(MABI=m32 mlibdir)/*.so) $([[ $(MABI=m64 mlibdir) != lib ]] && echo $(MABI=m64 mlibdir)/*.so usr/$(MABI=m64 mlibdir)/*.so)" fi # alx lib32 keeps if [[ ${MAGE_LIB32_SPLIT} = true ]] then if [[ ! -z ${ALX_LIB32_PKG_KEEP} ]] then ALX_LIB32_ZAPMOST_OPTS+=" ${ALX_LIB32_PKG_KEEP}" ALX_DEV_RM_OPTS+=" ${ALX_LIB32_PKG_KEEP}" ALX_RM_OPTS+=" ${ALX_LIB32_PKG_KEEP}" else ALX_LIB32_RM_OPTS+=" $(mlibdir)/*.so $(mlibdir)/*.so.* usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* $(MABI=m32 mlibdir)/*.so usr/$(MABI=m32 mlibdir)/*.so" fi fi # alx dev keeps if [[ ! -z ${ALX_DEV_PKG_KEEP} ]] then ALX_DEV_ZAPMOST_OPTS+=" ${ALX_DEV_PKG_KEEP}" ALX_RM_OPTS+=" ${ALX_DEV_PKG_KEEP}" elif [[ ${MAGE_LIB32_SPLIT} = true ]] then ALX_DEV_RM_OPTS+=" $(mlibdir)/*.so.* usr/$(mlibdir)/*.so.* $(MABI=m32 mlibdir)/*.so.* usr/$(MABI=m32 mlibdir)/*.so.*" else ALX_DEV_RM_OPTS+=" $(mlibdir)/*.so.* usr/$(mlibdir)/*.so.* $([[ $(MABI=m32 mlibdir) != lib ]] && echo $(MABI=m32 mlibdir)/*.so.* usr/$(MABI=m32 mlibdir)/*.so.*) $([[ $(MABI=m64 mlibdir) != lib ]] && echo $(MABI=m64 mlibdir)/*.so.* usr/$(MABI=m64 mlibdir)/*.so.*)" fi alx-split_generate_split_info() { eval "split_info_${PNAME}() { DESCRIPTION=\"${DESCRIPTION}\" DEPEND=\"${DEPEND}\" if [[ ! -z \${ALX_DEPEND} ]] then DEPEND=\"\${DEPEND} \${ALX_DEPEND}\" fi if [[ ! -z \${ALX_PROVIDE} ]] then PROVIDE=\"\${PROVIDE} \${ALX_PROVIDE}\" fi _PNAME=\"${PNAME}\" }" } if [[ ${MAGE_LIB32_SPLIT} = true ]] then alx-split_generate_split_info_lib32() { eval "split_info_${PNAME}-lib32() { DESCRIPTION=\"${PNAME} 32bit libraries.\" DEPEND=\"== ${PCAT}/${PNAME}-${PVER}\" if [[ ! -z \${ALX_LIB32_DEPEND} ]] then DEPEND=\"\${DEPEND} \${ALX_LIB32_DEPEND}\" fi if [[ ! -z \${ALX_LIB32_PROVIDE} ]] then PROVIDE=\"\${PROVIDE} \${ALX_LIB32_PROVIDE}\" fi _PNAME=\"${PNAME}\" }" } fi alx-split_generate_split_info_dev() { eval "split_info_${PNAME}-dev() { DESCRIPTION=\"Development files for ${PCAT}/${PNAME}-${PVER}-${PBUILD}.\" DEPEND=\"== ${PCAT}/${PNAME}-${PVER}\" if [[ \${MAGE_LIB32_SPLIT} = true ]] then DEPEND=\"\${DEPEND} == ${PCAT}/${PNAME}-lib32-${PVER}\" fi if [[ ! -z \${ALX_DEV_DEPEND} ]] then DEPEND=\"\${DEPEND} \${ALX_DEV_DEPEND}\" fi if [[ ! -z \${ALX_DEV_PROVIDE} ]] then PROVIDE=\"\${PROVIDE} \${ALX_DEV_PROVIDE}\" fi _PNAME=\"${PNAME}\" }" } # honor multilib builds if [[ ${MULTILIB_BUILD} = true ]] then if [[ ! -z $(typeset -f src_install) ]] then # rename the old one old_alx_src_install=old_alx_$(typeset -f src_install) eval "${old_alx_src_install}" alx_generic_src_install() { old_alx_src_install || die } fi fi alx-split_generate_src_install_dev() { eval "alx-split_src_install_${PNAME}-dev() { if [[ \${MULTILIB_BUILD} = true ]] then cd \${BUILDDIR} else cd \${SRCDIR} fi if [[ ! -z \$(typeset -f alx_generic_src_install) ]] then alx_generic_src_install else mmake DESTDIR=\${BINDIR} install || die local i for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ FAQ LICENSE NEWS README TODO do if [ -f \${SRCDIR}/\${i} ] then minstalldocs \${i} || die fi done fi if [[ ! -z \${ALX_DEV_RM_OPTS} ]] then local i for i in \${ALX_DEV_RM_OPTS} do case \${i} in *\**|*\\\**) if [[ -e \${BINDIR}/\$(dirname \${i}) ]] then echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" \| xargs --no-run-if-empty rm find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm fi ;; *) if [[ -e \${BINDIR}/\${i} ]] then echo rm -r \${BINDIR}/\${i} rm -r \${BINDIR}/\${i} || die # busybox does not detect symlinks with -e if the reference does not exists elif [[ -L \${BINDIR}/\${i} ]] then echo rm -r \${BINDIR}/\${i} rm -r \${BINDIR}/\${i} || die fi ;; esac done fi if [[ ! -z \${ALX_DEV_ZAPMOST_OPTS} ]] then zapmost \${BINDIR} \${ALX_DEV_ZAPMOST_OPTS} || die fi }" } alx-split_generate_src_install_lib32() { eval "alx-split_src_install_${PNAME}-lib32() { if [[ \${MULTILIB_BUILD} = true ]] then cd \${BUILDDIR} else cd \${SRCDIR} fi if [[ ! -z \$(typeset -f alx_generic_src_install) ]] then alx_generic_src_install else mmake DESTDIR=\${BINDIR} install || die local i for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ FAQ LICENSE NEWS README TODO do if [ -f \${SRCDIR}/\${i} ] then minstalldocs \${i} || die fi done fi if [[ ! -z \${ALX_LIB32_RM_OPTS} ]] then local i for i in \${ALX_LIB32_RM_OPTS} do case \${i} in *\**|*\\\**) if [[ -e \${BINDIR}/\$(dirname \${i}) ]] then echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" \| xargs --no-run-if-empty rm find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm fi ;; *) if [[ -e \${BINDIR}/\${i} ]] then echo rm -r \${BINDIR}/\${i} rm -r \${BINDIR}/\${i} || die # busybox does not detect symlinks with -e if the reference does not exists elif [[ -L \${BINDIR}/\${i} ]] then echo rm -r \${BINDIR}/\${i} rm -r \${BINDIR}/\${i} || die fi ;; esac done fi if [[ ! -z \${ALX_LIB32_ZAPMOST_OPTS} ]] then zapmost \${BINDIR} \${ALX_LIB32_ZAPMOST_OPTS} || die fi }" } alx-split_generate_src_install() { eval "alx-split_src_install_${PNAME}() { if [[ \${MULTILIB_BUILD} = true ]] then cd \${BUILDDIR} else cd \${SRCDIR} fi if [[ ! -z \$(typeset -f alx_generic_src_install) ]] then alx_generic_src_install else mmake DESTDIR=\${BINDIR} install || die local i for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ FAQ LICENSE NEWS README TODO do if [ -f \${SRCDIR}/\${i} ] then minstalldocs \${i} || die fi done fi if [[ ! -z \${ALX_RM_OPTS} ]] then local i for i in \${ALX_RM_OPTS} do case \${i} in *\**|*\\\**) if [[ -e \${BINDIR}/\$(dirname \${i}) ]] then echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" \| xargs --no-run-if-empty rm find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm fi ;; *) if [[ -e \${BINDIR}/\${i} ]] then echo rm -r \${BINDIR}/\${i} rm -r \${BINDIR}/\${i} || die # busybox does not detect symlinks with -e if the reference does not exists elif [[ -L \${BINDIR}/\${i} ]] then echo rm -r \${BINDIR}/\${i} rm -r \${BINDIR}/\${i} || die fi ;; esac done fi if [[ ! -z \${ALX_ZAPMOST_OPTS} ]] then zapmost \${BINDIR} \${ALX_ZAPMOST_OPTS} || die fi }" } alx-split_generate_split_info alx-split_generate_split_info_dev alx-split_generate_src_install_dev alx-split_generate_src_install if [[ ${MAGE_LIB32_SPLIT} = true ]] then alx-split_generate_split_info_lib32 alx-split_generate_src_install_lib32 export_inherits alx-split src_install_${PNAME}-lib32 fi export_inherits alx-split src_install_${PNAME} src_install_${PNAME}-dev