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

Diff of /eclass/eutils.eclass

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

Revision 1.342 Revision 1.349
1# Copyright 1999-2009 Gentoo Foundation 1# Copyright 1999-2009 Gentoo Foundation
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.342 2010/04/19 19:54:47 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.349 2010/08/19 21:32:26 vapier Exp $
4 4
5# @ECLASS: eutils.eclass 5# @ECLASS: eutils.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# base-system@gentoo.org 7# base-system@gentoo.org
8# @BLURB: many extra (but common) functions that are used in ebuilds 8# @BLURB: many extra (but common) functions that are used in ebuilds
59 59
60epause() { 60epause() {
61 ewarn "QA Notice: epause is not defined in EAPI=${EAPI}, please file a bug at http://bugs.gentoo.org" 61 ewarn "QA Notice: epause is not defined in EAPI=${EAPI}, please file a bug at http://bugs.gentoo.org"
62} 62}
63 63
64fi
65
66# @FUNCTION: eqawarn
67# @USAGE: [message]
68# @DESCRIPTION:
69# Proxy to einfo for package managers that don't provide eqawarn and use the PM
70# implementation if available.
71if ! declare -F eqawarn >/dev/null ; then
72 eqawarn() {
73 einfo "$@"
74 }
64fi 75fi
65 76
66# @FUNCTION: ecvs_clean 77# @FUNCTION: ecvs_clean
67# @USAGE: [list of dirs] 78# @USAGE: [list of dirs]
68# @DESCRIPTION: 79# @DESCRIPTION:
422 EPATCH_SOURCE=${EPATCH_SOURCE} \ 433 EPATCH_SOURCE=${EPATCH_SOURCE} \
423 EPATCH_SUFFIX="patch" \ 434 EPATCH_SUFFIX="patch" \
424 EPATCH_FORCE="yes" \ 435 EPATCH_FORCE="yes" \
425 EPATCH_MULTI_MSG="Applying user patches from ${EPATCH_SOURCE} ..." \ 436 EPATCH_MULTI_MSG="Applying user patches from ${EPATCH_SOURCE} ..." \
426 epatch 437 epatch
427 break 438 return 0
428 fi 439 fi
429 done 440 done
441 return 1
430} 442}
431 443
432# @FUNCTION: emktemp 444# @FUNCTION: emktemp
433# @USAGE: [temp dir] 445# @USAGE: [temp dir]
434# @DESCRIPTION: 446# @DESCRIPTION:
706 fi 718 fi
707 ;; 719 ;;
708 720
709 *) 721 *)
710 if [[ -z $@ ]] ; then 722 if [[ -z $@ ]] ; then
711 useradd ${opts} \ 723 useradd -r ${opts} \
712 -c "added by portage for ${PN}" \ 724 -c "added by portage for ${PN}" \
713 ${euser} \ 725 ${euser} \
714 || die "enewuser failed" 726 || die "enewuser failed"
715 else 727 else
716 einfo " - Extra: $@" 728 einfo " - Extra: $@"
717 useradd ${opts} "$@" \ 729 useradd -r ${opts} "$@" \
718 ${euser} \ 730 ${euser} \
719 || die "enewuser failed" 731 || die "enewuser failed"
720 fi 732 fi
721 ;; 733 ;;
722 esac 734 esac
835 esac 847 esac
836 groupadd -g ${egid} ${egroup} || die "enewgroup failed" 848 groupadd -g ${egid} ${egroup} || die "enewgroup failed"
837 ;; 849 ;;
838 850
839 *) 851 *)
852 # We specify -r so that we get a GID in the system range from login.defs
840 groupadd ${opts} ${egroup} || die "enewgroup failed" 853 groupadd -r ${opts} ${egroup} || die "enewgroup failed"
841 ;; 854 ;;
842 esac 855 esac
843 export SANDBOX_ON="${oldsandbox}" 856 export SANDBOX_ON="${oldsandbox}"
844} 857}
845 858
1327 [[ -z ${src} ]] && die "Could not locate source for '${src_input}'" 1340 [[ -z ${src} ]] && die "Could not locate source for '${src_input}'"
1328 1341
1329 local shrtsrc=$(basename "${src}") 1342 local shrtsrc=$(basename "${src}")
1330 echo ">>> Unpacking ${shrtsrc} to ${PWD}" 1343 echo ">>> Unpacking ${shrtsrc} to ${PWD}"
1331 if [[ -z ${skip} ]] ; then 1344 if [[ -z ${skip} ]] ; then
1332 local ver=$(grep -a '#.*Makeself' "${src}" | awk '{print $NF}') 1345 local ver=$(grep -m1 -a '#.*Makeself' "${src}" | awk '{print $NF}')
1333 local skip=0 1346 local skip=0
1334 exe=tail 1347 exe=tail
1335 case ${ver} in 1348 case ${ver} in
1336 1.5.*|1.6.0-nv) # tested 1.5.{3,4,5} ... guessing 1.5.x series is same 1349 1.5.*|1.6.0-nv) # tested 1.5.{3,4,5} ... guessing 1.5.x series is same
1337 skip=$(grep -a ^skip= "${src}" | cut -d= -f2) 1350 skip=$(grep -a ^skip= "${src}" | cut -d= -f2)
1339 2.0|2.0.1) 1352 2.0|2.0.1)
1340 skip=$(grep -a ^$'\t'tail "${src}" | awk '{print $2}' | cut -b2-) 1353 skip=$(grep -a ^$'\t'tail "${src}" | awk '{print $2}' | cut -b2-)
1341 ;; 1354 ;;
1342 2.1.1) 1355 2.1.1)
1343 skip=$(grep -a ^offset= "${src}" | awk '{print $2}' | cut -b2-) 1356 skip=$(grep -a ^offset= "${src}" | awk '{print $2}' | cut -b2-)
1344 let skip="skip + 1" 1357 (( skip++ ))
1345 ;; 1358 ;;
1346 2.1.2) 1359 2.1.2)
1347 skip=$(grep -a ^offset= "${src}" | awk '{print $3}' | head -n 1) 1360 skip=$(grep -a ^offset= "${src}" | awk '{print $3}' | head -n 1)
1348 let skip="skip + 1" 1361 (( skip++ ))
1349 ;; 1362 ;;
1350 2.1.3) 1363 2.1.3)
1351 skip=`grep -a ^offset= "${src}" | awk '{print $3}'` 1364 skip=`grep -a ^offset= "${src}" | awk '{print $3}'`
1352 let skip="skip + 1" 1365 (( skip++ ))
1353 ;; 1366 ;;
1354 2.1.4|2.1.5) 1367 2.1.4|2.1.5)
1355 skip=$(grep -a offset=.*head.*wc "${src}" | awk '{print $3}' | head -n 1) 1368 skip=$(grep -a offset=.*head.*wc "${src}" | awk '{print $3}' | head -n 1)
1356 skip=$(head -n ${skip} "${src}" | wc -c) 1369 skip=$(head -n ${skip} "${src}" | wc -c)
1357 exe="dd" 1370 exe="dd"
1366 esac 1379 esac
1367 debug-print "Detected Makeself version ${ver} ... using ${skip} as offset" 1380 debug-print "Detected Makeself version ${ver} ... using ${skip} as offset"
1368 fi 1381 fi
1369 case ${exe} in 1382 case ${exe} in
1370 tail) exe="tail -n +${skip} '${src}'";; 1383 tail) exe="tail -n +${skip} '${src}'";;
1371 dd) exe="dd ibs=${skip} skip=1 obs=1024 conv=sync if='${src}'";; 1384 dd) exe="dd ibs=${skip} skip=1 if='${src}'";;
1372 *) die "makeself cant handle exe '${exe}'" 1385 *) die "makeself cant handle exe '${exe}'"
1373 esac 1386 esac
1374 1387
1375 # lets grab the first few bytes of the file to figure out what kind of archive it is 1388 # lets grab the first few bytes of the file to figure out what kind of archive it is
1376 local tmpfile=$(emktemp) 1389 local tmpfile=$(emktemp)
1509 export CDROM_ROOT=${CD_ROOT_1:-${CD_ROOT}} 1522 export CDROM_ROOT=${CD_ROOT_1:-${CD_ROOT}}
1510 einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}" 1523 einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}"
1511 export CDROM_SET=-1 1524 export CDROM_SET=-1
1512 for f in ${CDROM_CHECK_1//:/ } ; do 1525 for f in ${CDROM_CHECK_1//:/ } ; do
1513 ((++CDROM_SET)) 1526 ((++CDROM_SET))
1514 [[ -e ${CD_ROOT}/${f} ]] && break 1527 [[ -e ${CDROM_ROOT}/${f} ]] && break
1515 done 1528 done
1516 export CDROM_MATCH=${f} 1529 export CDROM_MATCH=${f}
1517 return 1530 return
1518 fi 1531 fi
1519 1532

Legend:
Removed from v.1.342  
changed lines
  Added in v.1.349

  ViewVC Help
Powered by ViewVC 1.1.20