From: "Mike Frysinger (vapier)" <vapier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] gentoo-x86 commit in eclass: eutils.eclass
Date: Sun, 17 Oct 2010 21:35:44 +0000 (UTC) [thread overview]
Message-ID: <20101017213544.DAC3220051@flycatcher.gentoo.org> (raw)
vapier 10/10/17 21:35:44
Modified: eutils.eclass
Log:
path_exists: new function for checking existence of multiple paths
Revision Changes Path
1.351 eclass/eutils.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/eutils.eclass?rev=1.351&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/eutils.eclass?rev=1.351&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/eutils.eclass?r1=1.350&r2=1.351
Index: eutils.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v
retrieving revision 1.350
retrieving revision 1.351
diff -u -r1.350 -r1.351
--- eutils.eclass 16 Sep 2010 22:38:25 -0000 1.350
+++ eutils.eclass 17 Oct 2010 21:35:44 -0000 1.351
@@ -1,6 +1,6 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.350 2010/09/16 22:38:25 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.351 2010/10/17 21:35:44 vapier Exp $
# @ECLASS: eutils.eclass
# @MAINTAINER:
@@ -1966,3 +1966,32 @@
# ecompressdir --ignore /usr/share/doc/${PF}/html
# ecompressdir --queue /usr/share/doc
#}
+
+# @FUNCTION: path_exists
+# @USAGE: [-a|-o] <paths>
+# @DESCRIPTION:
+# Check if the specified paths exist. Works for all types of paths
+# (files/dirs/etc...). The -a and -o flags control the requirements
+# of the paths. They correspond to "and" and "or" logic. So the -a
+# flag means all the paths must exist while the -o flag means at least
+# one of the paths must exist. The default behavior is "and". If no
+# paths are specified, then the return value is "false".
+path_exists() {
+ local opt=$1
+ [[ ${opt} == -[ao] ]] && shift || opt="-a"
+
+ # no paths -> return false
+ # same behavior as: [[ -e "" ]]
+ [[ $# -eq 0 ]] && return 1
+
+ local p r=0
+ for p in "$@" ; do
+ [[ -e ${p} ]]
+ : $(( r += $? ))
+ done
+
+ case ${opt} in
+ -a) return $(( r != 0 )) ;;
+ -o) return $(( r == $# )) ;;
+ esac
+}
next reply other threads:[~2010-10-17 21:35 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-17 21:35 Mike Frysinger (vapier) [this message]
-- strict thread matches above, loose matches on Subject: below --
2015-03-20 18:28 [gentoo-commits] gentoo-x86 commit in eclass: eutils.eclass Mike Frysinger (vapier)
2015-03-20 18:22 Mike Frysinger (vapier)
2014-11-15 9:49 Mike Frysinger (vapier)
2014-11-13 4:55 Mike Frysinger (vapier)
2014-11-03 22:55 Mike Frysinger (vapier)
2014-09-19 17:09 Mike Frysinger (vapier)
2014-04-27 19:01 Mike Frysinger (vapier)
2014-04-27 18:58 Mike Frysinger (vapier)
2014-03-15 0:47 Chris Reffett (creffett)
2014-01-08 6:46 Mike Frysinger (vapier)
2013-12-03 8:09 Mike Frysinger (vapier)
2013-09-13 0:51 Mike Frysinger (vapier)
2013-06-21 23:57 Mike Frysinger (vapier)
2013-06-21 23:56 Mike Frysinger (vapier)
2013-06-21 23:52 Mike Frysinger (vapier)
2013-05-21 2:57 Mike Frysinger (vapier)
2013-04-25 18:38 Mike Frysinger (vapier)
2013-03-31 2:17 Mike Frysinger (vapier)
2013-03-12 14:16 Mike Frysinger (vapier)
2013-03-11 0:13 Mike Frysinger (vapier)
2012-10-07 6:22 Mike Frysinger (vapier)
2012-08-20 19:45 Mike Frysinger (vapier)
2012-06-14 23:40 Samuli Suominen (ssuominen)
2012-06-14 0:11 Mike Frysinger (vapier)
2012-06-07 5:59 Mike Frysinger (vapier)
2012-05-11 14:22 Mike Frysinger (vapier)
2012-04-20 19:35 Mike Frysinger (vapier)
2012-04-16 14:40 Mike Frysinger (vapier)
2012-04-15 20:02 Mike Frysinger (vapier)
2012-03-23 2:33 Mike Frysinger (vapier)
2012-02-14 16:08 Mike Frysinger (vapier)
2012-02-14 16:01 Mike Frysinger (vapier)
2012-01-31 6:55 Ulrich Mueller (ulm)
2012-01-03 8:45 Justin Lecher (jlec)
2011-12-17 6:13 Mike Frysinger (vapier)
2011-12-17 4:55 Mike Frysinger (vapier)
2011-12-16 23:38 Mike Frysinger (vapier)
2011-12-14 17:36 Mike Frysinger (vapier)
2011-12-14 17:27 Mike Frysinger (vapier)
2011-12-02 3:27 Mike Frysinger (vapier)
2011-09-30 16:51 Mike Frysinger (vapier)
2011-09-29 2:32 Mike Frysinger (vapier)
2011-09-21 21:46 Michal Gorny (mgorny)
2011-09-12 20:44 Michal Gorny (mgorny)
2011-08-09 0:43 Mike Frysinger (vapier)
2011-08-08 2:01 Mike Frysinger (vapier)
2011-08-07 23:35 Mike Frysinger (vapier)
2011-07-20 5:46 Mike Frysinger (vapier)
2011-06-14 20:16 Petteri Raty (betelgeuse)
2011-04-18 15:09 Mike Frysinger (vapier)
2011-03-18 20:36 Mike Frysinger (vapier)
2011-02-25 21:58 Ulrich Mueller (ulm)
2011-01-09 2:16 Mike Frysinger (vapier)
2010-11-22 0:31 Mike Frysinger (vapier)
2010-09-16 22:38 Mike Frysinger (vapier)
2010-08-19 21:32 Mike Frysinger (vapier)
2010-07-11 17:29 Petteri Raty (betelgeuse)
2010-07-10 9:52 Tristan Heaven (nyhm)
2010-07-10 6:02 Doug Goldstein (cardoe)
2010-06-23 21:24 Doug Goldstein (cardoe)
2010-05-20 2:21 Mike Frysinger (vapier)
2010-05-11 20:08 Michael Sterrett (mr_bones_)
2010-04-19 19:54 Mike Frysinger (vapier)
2010-03-23 3:40 Mike Frysinger (vapier)
2010-03-07 3:00 Mike Frysinger (vapier)
2010-03-07 2:55 Mike Frysinger (vapier)
2010-03-07 2:52 Mike Frysinger (vapier)
2010-03-02 0:52 Maciej Mrozowski (reavertm)
2010-02-26 5:33 Jonathan Callen (abcd)
2010-02-26 5:17 Mark Loeser (halcy0n)
2010-02-26 3:15 Jonathan Callen (abcd)
2010-02-17 17:10 Petteri Raty (betelgeuse)
2010-02-17 2:22 Maciej Mrozowski (reavertm)
2010-02-17 2:20 Maciej Mrozowski (reavertm)
2010-02-15 2:10 Mike Frysinger (vapier)
2010-01-28 22:00 Petteri Raty (betelgeuse)
2010-01-10 15:58 Tomas Chvatal (scarabeus)
2010-01-10 15:49 Tomas Chvatal (scarabeus)
2010-01-10 5:53 Mike Frysinger (vapier)
2010-01-09 20:06 Mike Frysinger (vapier)
2010-01-03 19:57 Zac Medico (zmedico)
2009-12-19 0:01 Zac Medico (zmedico)
2009-12-11 20:31 Mike Frysinger (vapier)
2009-10-18 7:52 Fabian Groffen (grobian)
2009-09-24 2:49 Mike Frysinger (vapier)
2009-09-12 14:37 Fabian Groffen (grobian)
2009-03-01 8:06 Mike Frysinger (vapier)
2009-02-27 1:49 Mike Frysinger (vapier)
2009-02-21 23:28 Mike Frysinger (vapier)
2009-02-21 7:35 Mike Frysinger (vapier)
2009-02-18 20:17 Petteri Raty (betelgeuse)
2009-02-18 18:40 Michael Sterrett (mr_bones_)
2009-02-18 8:05 Michael Sterrett (mr_bones_)
2009-02-15 20:09 Fabian Groffen (grobian)
2009-02-07 10:57 Peter Volkov (pva)
2008-09-28 4:37 Michael Sterrett (mr_bones_)
2008-09-20 19:03 Mike Frysinger (vapier)
2008-09-20 18:58 Mike Frysinger (vapier)
2008-09-20 18:55 Mike Frysinger (vapier)
2008-09-20 18:45 Mike Frysinger (vapier)
2008-09-20 18:32 Mike Frysinger (vapier)
2008-08-17 22:21 Christian Faulhammer (opfer)
2008-04-05 22:38 Zac Medico (zmedico)
2008-03-01 21:59 Mike Frysinger (vapier)
2008-02-20 17:32 Mike Frysinger (vapier)
2008-02-20 12:36 Benedikt Boehm (hollow)
2008-02-15 7:43 Mike Frysinger (vapier)
2008-02-13 20:50 Chris Gianelloni (wolf31o2)
2008-02-07 4:17 Chris Gianelloni (wolf31o2)
2008-01-14 4:52 Mike Frysinger (vapier)
2007-11-20 22:32 Chris Gianelloni (wolf31o2)
2007-10-14 21:55 Mike Frysinger (vapier)
2007-10-10 20:34 Mike Frysinger (vapier)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101017213544.DAC3220051@flycatcher.gentoo.org \
--to=vapier@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox