diff options
author | Heinrich Wendel <lanius@gentoo.org> | 2005-03-07 13:38:08 +0000 |
---|---|---|
committer | Heinrich Wendel <lanius@gentoo.org> | 2005-03-07 13:38:08 +0000 |
commit | 51e5defd135ad2efe004e384801c54ebf6cdeaa9 (patch) | |
tree | 603a4074cf6a10d539e62604d6095c33250db9da /x11-libs | |
parent | new motif-config (diff) | |
download | historical-51e5defd135ad2efe004e384801c54ebf6cdeaa9.tar.gz historical-51e5defd135ad2efe004e384801c54ebf6cdeaa9.tar.bz2 historical-51e5defd135ad2efe004e384801c54ebf6cdeaa9.zip |
move binaries to /usr/lib/ to support FHS, install ldpath entry
Package-Manager: portage-2.0.51.19
Diffstat (limited to 'x11-libs')
-rw-r--r-- | x11-libs/motif-config/ChangeLog | 8 | ||||
-rw-r--r-- | x11-libs/motif-config/files/digest-motif-config-0.4 | 0 | ||||
-rwxr-xr-x | x11-libs/motif-config/files/motif-config-0.4 | 342 | ||||
-rw-r--r-- | x11-libs/motif-config/motif-config-0.4.ebuild | 52 |
4 files changed, 401 insertions, 1 deletions
diff --git a/x11-libs/motif-config/ChangeLog b/x11-libs/motif-config/ChangeLog index 16c756839703..776deb08a330 100644 --- a/x11-libs/motif-config/ChangeLog +++ b/x11-libs/motif-config/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-libs/motif-config # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/motif-config/ChangeLog,v 1.6 2005/03/02 23:11:33 j4rg0n Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/motif-config/ChangeLog,v 1.7 2005/03/07 13:38:08 lanius Exp $ + +*motif-config-0.4 (07 Mar 2005) + + 07 Mar 2005; Heinrich Wendel <lanius@gentoo.org> +files/motif-config-0.4, + +motif-config-0.4.ebuild: + move binaries to /usr/lib/ to support FHS, install ldpath entry *motif-config-0.3 (02 Mar 2005) diff --git a/x11-libs/motif-config/files/digest-motif-config-0.4 b/x11-libs/motif-config/files/digest-motif-config-0.4 new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/x11-libs/motif-config/files/digest-motif-config-0.4 diff --git a/x11-libs/motif-config/files/motif-config-0.4 b/x11-libs/motif-config/files/motif-config-0.4 new file mode 100755 index 000000000000..bf13afe95e70 --- /dev/null +++ b/x11-libs/motif-config/files/motif-config-0.4 @@ -0,0 +1,342 @@ +#!/bin/bash +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# based on gcc-config by Martin Schlemmer <azarah@gentoo.org +# Author: Heinrich Wendel <lanius@gentoo.org> + +source /etc/init.d/functions.sh || { + echo "$0: Could not source /etc/init.d/functions.sh!" + exit 1 +} +umask 022 + +PROFILE_PATH=/usr/@@LIBDIR@@/motif +CONFIG_FILE=${PROFILE_PATH}/current + +usage() { +cat << "USAGE_END" +Usage: motif-config [option] [profile] +Change the current motif profile, or give info about profiles. + +Options: + + -c, --get-current-profile Print current used motif profile. + + -l, --list-profiles Print a list of available profiles. + + -s, --set-profile Set the current profile. + + -L, --get-lib-path Print path where libraries of the given/current + profile are located. + + -I, --get-inc-path Print path where includes of the given/current + profile are located. + + --libs Print link flags for the given/current + profile. + + --cflags Print compilation flags for the given/current + profile. + + --install Install the given profile. + + --uninstall Uninstall the given profile. + +USAGE_END + exit $1 +} +[[ $# -lt 1 ]] && usage 1 +[[ $# -gt 2 ]] && usage 1 + +_check_root() { + if [[ "$(id -u)" -ne 0 ]] ; then + eerror "$0: Must be root." + exit 1 + fi +} + +_activate_profile() { + _check_root + + new=${1} + # libs + for file in `ls /usr/@@LIBDIR@@/${new}/ | grep lib`; do + ln -s /usr/@@LIBDIR@@/${new}/${file} /usr/@@LIBDIR@@/${file} + done + # includes + for file in `ls /usr/include/${new}/`; do + ln -s /usr/include/${new}/${file} /usr/include/${file} + done + # binaries + for file in `ls /usr/@@LIBDIR@@/${new} | grep -v lib`; do + ln -s /usr/@@LIBDIR@@/${new}/${file} /usr/bin/${file} + done + # man pages + for file in `find /usr/share/man -regex ".*-${new}\..x?.gz"`; do + ln -s ${file} ${file/-${new}/} + done + + # set new profile as default + rm -f ${CONFIG_FILE} + cat ${PROFILE_PATH}/${new} > ${CONFIG_FILE} + + return $? +} + +_deactivate_profile() { + _check_root + + current=`cat ${CONFIG_FILE} 2>/dev/null` + + if [ -z "$current" ]; then + return 0 + fi + + # libs + for file in `ls /usr/@@LIBDIR@@/${current} | grep lib`; do + rm -f /usr/@@LIBDIR@@/${file} + done + # includes + for file in `ls /usr/include/${current}/`; do + rm -f /usr/include/${file} + done + # binaries + for file in `ls /usr/@@LIBDIR@@/${current} | grep -v lib`; do + rm -f /usr/bin/${file} + done + # man pages + for file in `find /usr/share/man -regex ".*-${current}\..x?.gz"`; do + rm -f ${file/-${current}/} + done + + return $? +} + +switch_profile() { + _check_root + + if [ -n "$1" ]; then + if [ ! -e ${PROFILE_PATH}/${1} ]; then + eerror "$0: no such profile ${1}" + exit 1 + else + _deactivate_profile + _activate_profile $1 + fi + else + for x in `ls ${PROFILE_PATH} | sort -r`; do + if [ "${x}" != "current" -a "${x}" != "removed" ]; then + _deactivate_profile + _activate_profile ${x} + break + fi + done + if [ -z ${x} ]; then + error "$0: no profile to activate" + fi + fi + + einfo "$0: New default Profile is: `cat ${CONFIG_FILE}`" + + return $? +} + +get_current_profile() { + cat ${CONFIG_FILE} 2> /dev/null +} + +list_profiles() { + i=1 + for x in `ls ${PROFILE_PATH}`; do + current=`cat ${CONFIG_FILE} 2>/dev/null` + if [ "${x}" != "current" -a "${x}" != "removed" ]; then + output=`cat ${PROFILE_PATH}/${x}`; + output="[${i}] $output"; + if [ "${x}" = "${current}" ]; then + output="${output} *" + fi + echo "$output" + i=$((i + 1)) + fi + done + exit $? +} + +get_lib_path() { + if [ "$1" != "" ]; then + profile=${1} + else + profile="current" + fi + name=`cat ${PROFILE_PATH}/${profile} 2> /dev/null` + if [ $? -eq 1 ]; then + eerror "$0: No such profile: $profile" + exit 1 + else + echo "/usr/@@LIBDIR@@/${name}/" + exit 0 + fi +} + +get_inc_path() { + if [ "$1" != "" ]; then + profile=${1} + else + profile="current" + fi + name=`cat ${PROFILE_PATH}/${profile} 2> /dev/null` + if [ $? -eq 1 ]; then + eerror "$0: No such profile: $profile" + exit 1 + else + echo "/usr/include/${name}/" + exit 0 + fi +} + +get_cflags() { + if [ "$1" != "" ]; then + profile=${1} + else + profile="current" + fi + name=`cat ${PROFILE_PATH}/${profile} 2> /dev/null` + if [ $? -eq 1 ]; then + eerror "$0: No such profile: $profile" + exit 1 + else + echo "-I/usr/include/${name}/" + exit 0 + fi +} + +get_libs() { + if [ "$1" != "" ]; then + profile=${1} + else + profile="current" + fi + name=`cat ${PROFILE_PATH}/${profile} 2> /dev/null` + if [ $? -eq 1 ]; then + eerror "$0: No such profile: $profile" + exit 1 + else + echo "-L/usr/@@LIBDIR@@/${name}/" + exit 0 + fi +} + +install_profile() { + _check_root + + # give info + einfo "$0: Installing Profile: ${1}" + + # create profile + echo ${1} > ${PROFILE_PATH}/${1} + + # create env.d entry + echo "LDPATH=/usr/lib/${1}" > /etc/env.d/15${1} + + # make it default if no profile is activated + # or if it was just removed + if [ ! -e $CONFIG_FILE -o "${1}" == "`cat ${PROFILE_PATH}/removed 2>/dev/null`" ]; then + rm -f ${PROFILE_PATH}/removed + switch_profile ${1} + fi + + exit $? +} + +uninstall_profile() { + _check_root + + # give info + einfo "$0: Uninstalling Profile: ${1}" + + # remove profile + rm -f ${PROFILE_PATH}/${1} 2> /dev/null + + # remove env.d entry + rm -f /etc/env.d/15${1} + + # cache which profile was removed for upgrades + # little hack, because portage has no way + # to detect if a package was upgraded + + # activate next profile if non is activated + if [ "`cat $CONFIG_FILE`" == "${1}" ]; then + echo "${1}" > "${PROFILE_PATH}/removed" + switch_profile + fi + + exit $? +} + +for x in "$@"; do + case "${x}" in + -c|--get-current-profile) + [[ $# -ne 1 ]] && usage 1 + get_current_profile + ;; + + -l|--list-profiles) + [[ $# -ne 1 ]] && usage 1 + list_profiles + ;; + + -s|--set-profile) + [[ $# -ne 2 ]] && usage 1 + switch_profile $2 + exit $? + ;; + + -L|--get-lib-path) + [[ $# -gt 2 ]] && usage 1 + get_lib_path $2 + ;; + + -I|--get-inc-path) + [[ $# -gt 2 ]] && usage 1 + get_inc_path $2 + ;; + + --cflags) + [[ $# -gt 2 ]] && usage 1 + get_cflags $2 + ;; + + --libs) + [[ $# -gt 2 ]] && usage 1 + get_libs $2 + ;; + + --install) + [[ $# -ne 2 ]] && usage 1 + install_profile $2 + ;; + + --uninstall) + [[ $# -ne 2 ]] && usage 1 + uninstall_profile $2 + ;; + + -h|--help) + usage 0 + ;; + + -v|--version) + echo "motif-config-0.1" + exit 0 + ;; + + -*) + usage 1 + ;; + + *) + usage 1 + ;; + + esac +done diff --git a/x11-libs/motif-config/motif-config-0.4.ebuild b/x11-libs/motif-config/motif-config-0.4.ebuild new file mode 100644 index 000000000000..8a1807b30f15 --- /dev/null +++ b/x11-libs/motif-config/motif-config-0.4.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/motif-config/motif-config-0.4.ebuild,v 1.1 2005/03/07 13:38:08 lanius Exp $ + +inherit multilib + +DESCRIPTION="Utility to change the default Motif library" +HOMEPAGE="http://www.gentoo.org/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 -ppc-macos ~sparc ~x86" +IUSE="" + +DEPEND="" + +RDEPEND="app-shells/bash" + +src_unpack(){ + einfo "nothing to unpack" +} + +src_compile() { + einfo "nothing to compile" +} + +src_install () { + exeinto /usr/bin + newexe ${FILESDIR}/${P} motif-config + dosed "s:@@LIBDIR@@:$(get_libdir):g" /usr/bin/motif-config + + # for profile + dodir /usr/$(get_libdir)/motif + keepdir /usr/$(get_libdir)/motif + + # bitmaps + dodir /usr/include/X11/bitmaps + tar -xjf ${FILESDIR}/bitmaps.tbz2 -C ${D}/usr/include/X11/bitmaps + # bindings + dodir /usr/$(get_libdir)/X11/bindings + tar -xjf ${FILESDIR}/bindings.tbz2 -C ${D}/usr/$(get_libdir)/X11/bindings + + # mwm default config + insinto /etc/X11/app-defaults + doins ${FILESDIR}/Mwm.defaults + + insinto /etc/X11/mwm + doins ${FILESDIR}/system.mwmrc + + dosym /etc/X11/mwm /usr/$(get_libdir)/X11/mwm +} |