/[gentoo-x86]/eclass/eutils.eclass
Gentoo

Diff of /eclass/eutils.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.78 Revision 1.83
1# Copyright 1999-2004 Gentoo Technologies, Inc. 1# Copyright 1999-2004 Gentoo Technologies, Inc.
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.78 2004/02/09 17:08:44 brad_mssw Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.83 2004/02/27 20:39:19 vapier Exp $
4# 4#
5# Author: Martin Schlemmer <azarah@gentoo.org> 5# Author: Martin Schlemmer <azarah@gentoo.org>
6# 6#
7# This eclass is for general purpose functions that most ebuilds 7# This eclass is for general purpose functions that most ebuilds
8# have to implement themselves. 8# have to implement themselves.
10# NB: If you add anything, please comment it! 10# NB: If you add anything, please comment it!
11 11
12ECLASS=eutils 12ECLASS=eutils
13INHERITED="$INHERITED $ECLASS" 13INHERITED="$INHERITED $ECLASS"
14 14
15newdepend "!bootstrap? ( sys-devel/patch )" 15DEPEND="!bootstrap? ( sys-devel/patch )"
16 16
17DESCRIPTION="Based on the ${ECLASS} eclass" 17DESCRIPTION="Based on the ${ECLASS} eclass"
18 18
19# This function generate linker scripts in /usr/lib for dynamic 19# This function generate linker scripts in /usr/lib for dynamic
20# libs in /lib. This is to fix linking problems when you have 20# libs in /lib. This is to fix linking problems when you have
456 fi 456 fi
457 fi 457 fi
458} 458}
459 459
460# Cheap replacement for when debianutils (and thus mktemp) 460# Cheap replacement for when debianutils (and thus mktemp)
461# do not exist on the users system 461# does not exist on the users system
462# vapier@gentoo.org 462# vapier@gentoo.org
463# 463#
464# Takes just 1 parameter (the directory to create tmpfile in) 464# Takes just 1 parameter (the directory to create tmpfile in)
465mymktemp() { 465mymktemp() {
466 local topdir="$1" 466 local topdir="$1"
517 local euid="$1"; shift 517 local euid="$1"; shift
518 if [ ! -z "${euid}" ] && [ "${euid}" != "-1" ] 518 if [ ! -z "${euid}" ] && [ "${euid}" != "-1" ]
519 then 519 then
520 if [ "${euid}" -gt 0 ] 520 if [ "${euid}" -gt 0 ]
521 then 521 then
522 chown ${euid} ${tmpfile} >& /dev/null
523 realuser="`ls -l ${tmpfile} | awk '{print $3}'`"
524 if [ "${realuser//[0-9]}" != "" ]
525 then
526 euid="uid is taken; using next available"
527 else
522 opts="${opts} -u ${euid}" 528 opts="${opts} -u ${euid}"
529 fi
523 else 530 else
524 eerror "Userid given but is not greater than 0 !" 531 eerror "Userid given but is not greater than 0 !"
525 die "${euid} is not a valid UID" 532 die "${euid} is not a valid UID"
526 fi 533 fi
527 else 534 else
639 local egid="$1"; shift 646 local egid="$1"; shift
640 if [ ! -z "${egid}" ] 647 if [ ! -z "${egid}" ]
641 then 648 then
642 if [ "${egid}" -gt 0 ] 649 if [ "${egid}" -gt 0 ]
643 then 650 then
651 chgrp ${egid} ${tmpfile} >& /dev/null
652 realuser="`ls -l ${tmpfile} | awk '{print $3}'`"
653 if [ "${realuser//[0-9]}" != "" ]
654 then
655 euid="gid is taken; using next available"
656 else
644 opts="${opts} -g ${egid}" 657 opts="${opts} -g ${egid}"
658 fi
645 else 659 else
646 eerror "Groupid given but is not greater than 0 !" 660 eerror "Groupid given but is not greater than 0 !"
647 die "${egid} is not a valid GID" 661 die "${egid} is not a valid GID"
648 fi 662 fi
649 else 663 else
696 710
697 local exec="${1}" 711 local exec="${1}"
698 local name="${2:-${PN}}" 712 local name="${2:-${PN}}"
699 local icon="${3:-${PN}.png}" 713 local icon="${3:-${PN}.png}"
700 local type="${4}" 714 local type="${4}"
715 local subdir="${6}"
701 local path="${5:-${GAMES_PREFIX}}" 716 local path="${5:-${GAMES_PREFIX}}"
702 if [ -z "${type}" ] 717 if [ -z "${type}" ]
703 then 718 then
704 case ${CATEGORY} in 719 case ${CATEGORY} in
705 "app-emulation") 720 "app-emulation")
706 type=Emulator 721 type=Emulator
722 subdir="Games"
707 ;; 723 ;;
708 "games-"*) 724 "games-"*)
709 type=Game 725 type=Game
726 subdir="Games"
710 ;; 727 ;;
711 "net-"*) 728 "net-"*)
712 type=Network; 729 type=Network
730 subdir="${type}"
713 ;; 731 ;;
714 *) 732 *)
715 type= 733 type=
734 subdir=
716 ;; 735 ;;
717 esac 736 esac
718 fi 737 fi
719 local desktop="${T}/${exec}.desktop" 738 local desktop="${T}/${exec}.desktop"
720 739
750 # done 769 # done
751 #fi 770 #fi
752 771
753 if [ -d "/usr/share/applnk" ] 772 if [ -d "/usr/share/applnk" ]
754 then 773 then
755 insinto /usr/share/applnk/${type} 774 insinto /usr/share/applnk/${subdir}
756 doins ${desktop} 775 doins ${desktop}
757 fi 776 fi
758 777
759 return 0 778 return 0
760} 779}
1100# remember, you can only go forward in the cd chain, you can't go back. 1119# remember, you can only go forward in the cd chain, you can't go back.
1101cdrom_load_next_cd() { 1120cdrom_load_next_cd() {
1102 export CDROM_CURRENT_CD=$((CDROM_CURRENT_CD + 1)) 1121 export CDROM_CURRENT_CD=$((CDROM_CURRENT_CD + 1))
1103 local var= 1122 local var=
1104 1123
1124 if [ ! -z "${CD_ROOT}" ] ; then
1125 einfo "Using same root as before for CD #${CDROM_CURRENT_CD}"
1126 return
1127 fi
1128
1105 unset CDROM_ROOT 1129 unset CDROM_ROOT
1106 var=CDROM_ROOTS_${CDROM_CURRENT_CD} 1130 var=CDROM_ROOTS_${CDROM_CURRENT_CD}
1107 if [ -z "${!var}" ] ; then 1131 if [ -z "${!var}" ] ; then
1108 var="CDROM_CHECK_${CDROM_CURRENT_CD}" 1132 var="CDROM_CHECK_${CDROM_CURRENT_CD}"
1109 cdrom_locate_file_on_cd ${!var} 1133 cdrom_locate_file_on_cd ${!var}

Legend:
Removed from v.1.78  
changed lines
  Added in v.1.83

  ViewVC Help
Powered by ViewVC 1.1.20