public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Frysinger" <vapier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/crossdev:master commit in: /
Date: Thu, 18 Aug 2011 20:06:58 +0000 (UTC)	[thread overview]
Message-ID: <c7135b601aed098593d6242205e06f3afa5f7c74.vapier@gentoo> (raw)

commit:     c7135b601aed098593d6242205e06f3afa5f7c74
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 18 18:30:43 2011 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Thu Aug 18 18:55:34 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commit;h=c7135b60

crossdev: allow people to specify versions with depend atom syntax

If people want an exact version, they can use "--bver =2.21".  This
should cut down on ambiguity with the default behavior of "close to
the specified version, but not exactly".

Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>

---
 crossdev |   49 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 38 insertions(+), 11 deletions(-)

diff --git a/crossdev b/crossdev
index 5b53471..92c63f6 100755
--- a/crossdev
+++ b/crossdev
@@ -43,6 +43,8 @@ Options:
     ${GOOD}-C, --clean${NORMAL} target    Uninstall specified target
     ${GOOD}-P, --portage${NORMAL} opts    Options to pass to emerge (see emerge(1))
     ${GOOD}--with[out]-headers${NORMAL}   Build C library headers before C compiler?
+Note: versions support depend atom syntaxes; e.g. ">=2.20" "~4.6.1" "=2.13.1-r3"
+
 Stage Options:
     ${GOOD}-s0, --stage0${NORMAL}         Build just binutils
     ${GOOD}-s1, --stage1${NORMAL}         Also build a bare C compiler (no C library/
@@ -51,11 +53,13 @@ Stage Options:
     ${GOOD}-s3, --stage3${NORMAL}         Also build the C library
     ${GOOD}-s4, --stage4${NORMAL}         Also build a full compiler [default]
                              (shared libs GCC/various lang frontends/etc...)
+
 Extra Fun (must be run after above stages):
     ${GOOD}--ex-only${NORMAL}             Skip the stage steps above
     ${GOOD}--ex-gcc${NORMAL}              Build extra gcc targets (gcj/ada/etc...)
     ${GOOD}--ex-gdb${NORMAL}              Build a cross gdb
     ${GOOD}--ex-insight${NORMAL}          Build a cross insight
+
 ${BRACKET}Target (-t)${NORMAL} takes a tuple ${BRACKET}ARCH-VENDOR-OS-LIBC${NORMAL}; see 'crossdev -t help'
 EOF
 	[[ -n $* ]] && echo && eerror "Error: $*"
@@ -397,6 +401,21 @@ hr() {
 	local banner=${br//${sext}/${ext}}
 	echo "${banner:0:${c}}"
 }
+ver_get_op() {
+	local op ver=$1
+	[[ ${ver} == "["* ]] && return
+	op=${ver%%[0-9]*}
+	[[ -n ${op} ]] && echo "${op}"
+}
+ver_chop_op() {
+	local op ver=$1
+	op=$(ver_get_op "${ver}")
+	echo "${ver##${op}}"
+}
+pretty_atom() {
+	local mid=$1 ver=$2
+	printf '%s%s%s' "$(ver_get_op "${ver}")" "${mid}" "$(ver_chop_op "${ver}")"
+}
 
 ##################
 ### setup vars ###
@@ -530,17 +549,17 @@ einfo "ABIs:                  ${MULTILIB_ABIS}"
 echo
 ex_fast || {
 is_s0 && {
-einfo "binutils:              ${BPKG}-${BVER}"
+einfo "binutils:              `pretty_atom ${BPKG}- ${BVER}`"
 }
 is_s1 && {
-einfo "gcc:                   ${GPKG}-${GVER}"
+einfo "gcc:                   `pretty_atom ${GPKG}- ${GVER}`"
 }
 is_s2 && {
 [[ ${KPKG} != "[none]" ]] && \
-einfo "headers:               ${KPKG}-${KVER}"
+einfo "headers:               `pretty_atom ${KPKG}- ${KVER}`"
 }
 is_s3 && {
-einfo "libc:                  ${LPKG}-${LVER}"
+einfo "libc:                  `pretty_atom ${LPKG}- ${LVER}`"
 }
 }
 ex_gcc && {
@@ -592,15 +611,23 @@ set_keywords() {
 		[[ "${TARCH}" != "${HARCH}" ]] && keywords="${keywords} -${HARCH} -~${HARCH}"
 		echo "cross-${CTARGET}/${pkg} ${keywords}" >> ${output}
 	else
-		echo "cross-${CTARGET}/${pkg} * ~* **" >> ${output}
-		if [[ -f package.mask ]] ; then
-			output="package.mask"
-			sed -i -e "/cross-${CTARGET}\/${pkg}/d" ${output}
+		local op=$(ver_get_op "${ver}")
+		if [[ -n ${op} ]] ; then
+			# user has been explicit in the version they desire
+			ver=$(ver_chop_op "${ver}")
+			echo "cross-${CTARGET}/${pkg} -*" >> ${output}
+			echo "${op}cross-${CTARGET}/${pkg}-${ver} * ~* **" >> ${output}
 		else
-			output="package.mask/cross-${CTARGET}"
+			echo "cross-${CTARGET}/${pkg} * ~* **" >> ${output}
+			if [[ -f package.mask ]] ; then
+				output="package.mask"
+				sed -i -e "/cross-${CTARGET}\/${pkg}/d" ${output}
+			else
+				output="package.mask/cross-${CTARGET}"
+			fi
+			check_trailing_newline ${output}
+			echo ">cross-${CTARGET}/${pkg}-${ver}" >> ${output}
 		fi
-		check_trailing_newline ${output}
-		echo ">cross-${CTARGET}/${pkg}-${ver}" >> ${output}
 	fi
 }
 set_use() {



             reply	other threads:[~2011-08-18 20:07 UTC|newest]

Thread overview: 240+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-18 20:06 Mike Frysinger [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-03 17:14 [gentoo-commits] proj/crossdev:master commit in: / Mike Gilbert
2025-01-12 18:39 Sam James
2025-01-04 15:20 Sam James
2025-01-02 23:26 Sam James
2025-01-02 23:24 Sam James
2025-01-02 23:24 Sam James
2025-01-02 23:24 Sam James
2024-12-25  0:45 Sam James
2024-12-25  0:43 Sam James
2024-12-25  0:42 Sam James
2024-12-25  0:42 Sam James
2024-12-25  0:42 Sam James
2024-12-15 18:29 Sam James
2024-12-14 18:14 Sam James
2024-12-02 21:40 Sam James
2024-12-02 15:27 Sam James
2024-12-02  9:42 Sam James
2024-12-01 23:05 Sam James
2024-11-30 10:18 Sam James
2024-11-30  5:12 Sam James
2024-11-30  2:55 Sam James
2024-11-30  2:08 Sam James
2024-11-30  2:08 Sam James
2024-10-15  7:13 Sam James
2024-10-15  7:13 Sam James
2024-07-02 21:01 James Le Cuirot
2024-06-16 13:47 Luca Barbato
2024-05-07 16:06 Sam James
2024-05-07 13:04 Sam James
2024-05-07 13:01 Sam James
2024-05-04 11:57 Sam James
2024-05-04 11:52 Sam James
2024-05-04 11:52 Sam James
2024-05-04 11:52 Sam James
2024-05-04 11:48 Sam James
2024-05-04 11:48 Sam James
2024-01-26  9:31 Sam James
2024-01-17  4:51 Sam James
2023-09-26 18:30 Sam James
2023-09-23 12:26 Sam James
2023-08-31  1:32 Sam James
2023-08-31  1:15 Sam James
2023-03-21 22:41 Sam James
2023-02-25  1:14 Sam James
2023-02-02 17:40 Sam James
2023-02-02 17:40 Sam James
2023-01-14 17:58 Sam James
2022-12-28 15:17 Sam James
2022-12-28 15:17 Sam James
2022-11-18 17:57 Mike Gilbert
2022-11-18 17:57 Mike Gilbert
2022-07-09  3:45 Sam James
2022-07-09  3:45 Sam James
2022-07-09  3:45 Sam James
2022-05-02 23:19 Sam James
2022-04-24 16:30 Sam James
2022-04-19 20:25 Sam James
2022-03-17 23:42 Sam James
2022-03-06  2:08 Sam James
2022-02-20  2:19 Sam James
2022-02-11 22:53 Andreas K. Hüttel
2022-01-31  2:06 Sam James
2022-01-28 12:30 Mike Frysinger
2021-11-21 13:08 Sam James
2021-10-27 17:20 Mike Frysinger
2021-10-27  9:19 Mike Frysinger
2021-10-27  8:56 Mike Frysinger
2021-10-27  8:55 Mike Frysinger
2021-07-17 23:38 Sergei Trofimovich
2021-06-21 21:23 Sergei Trofimovich
2021-06-21 21:23 Sergei Trofimovich
2021-06-21 21:23 Sergei Trofimovich
2021-06-21 21:23 Sergei Trofimovich
2021-06-08 22:44 Sergei Trofimovich
2021-06-07 20:44 Sergei Trofimovich
2021-01-05 23:25 Sergei Trofimovich
2021-01-05 23:25 Sergei Trofimovich
2021-01-05 23:25 Sergei Trofimovich
2020-12-31 12:23 Sergei Trofimovich
2020-11-29 22:30 Sergei Trofimovich
2020-11-22 20:41 Sergei Trofimovich
2020-11-08 13:26 Sergei Trofimovich
2020-11-08 13:26 Sergei Trofimovich
2020-08-01 19:50 Sergei Trofimovich
2020-03-26 23:52 Sergei Trofimovich
2020-01-31  7:36 Sergei Trofimovich
2020-01-31  7:36 Sergei Trofimovich
2020-01-31  7:36 Sergei Trofimovich
2020-01-30  8:36 Sergei Trofimovich
2020-01-29 23:20 Sergei Trofimovich
2020-01-25 21:17 Sergei Trofimovich
2020-01-25 12:05 Sergei Trofimovich
2020-01-25 12:05 Sergei Trofimovich
2019-12-22 22:32 Sergei Trofimovich
2019-12-22 22:04 Sergei Trofimovich
2019-12-22 22:01 Sergei Trofimovich
2019-10-21 22:54 Sergei Trofimovich
2019-10-21 22:50 Sergei Trofimovich
2019-10-14  7:35 Sergei Trofimovich
2019-09-08 11:16 Sergei Trofimovich
2019-09-01 19:02 Sergei Trofimovich
2019-09-01 16:14 Sergei Trofimovich
2019-08-25  9:38 Sergei Trofimovich
2019-06-08 18:20 Sergei Trofimovich
2019-03-18 22:54 Sergei Trofimovich
2018-10-18 22:26 Sergei Trofimovich
2018-10-17 21:45 Sergei Trofimovich
2018-09-27 23:44 Jason Donenfeld
2018-09-18 22:44 Sergei Trofimovich
2018-08-18 15:42 Sergei Trofimovich
2018-07-24 23:44 Sergei Trofimovich
2018-05-08 21:40 Sergei Trofimovich
2018-04-10  7:15 Sergei Trofimovich
2018-04-09 20:46 Sergei Trofimovich
2018-04-07 15:57 Sergei Trofimovich
2018-04-07 11:21 Sergei Trofimovich
2018-04-07 10:56 Sergei Trofimovich
2018-04-07  7:27 Sergei Trofimovich
2018-04-05 22:16 Sergei Trofimovich
2018-03-02 22:32 Sergei Trofimovich
2018-02-03  9:39 Sergei Trofimovich
2018-01-20 12:37 Sergei Trofimovich
2018-01-07 20:15 Sergei Trofimovich
2018-01-05 23:27 Sergei Trofimovich
2017-12-30 21:21 Sergei Trofimovich
2017-12-30 17:41 Sergei Trofimovich
2017-12-30 17:41 Sergei Trofimovich
2017-12-30 14:52 Sergei Trofimovich
2017-12-30 14:46 Sergei Trofimovich
2017-12-29 20:44 Sergei Trofimovich
2017-12-28 17:47 Sergei Trofimovich
2017-12-27 18:10 Sergei Trofimovich
2017-12-12 21:35 Steve Arnold
2017-11-23 18:18 Steve Arnold
2017-11-21 23:01 Sergei Trofimovich
2017-11-21 22:13 Sergei Trofimovich
2017-11-19 23:03 Sergei Trofimovich
2017-10-24 17:38 Steve Arnold
2017-10-14 23:46 Steve Arnold
2017-10-14 23:46 Steve Arnold
2017-10-14 23:46 Steve Arnold
2017-10-13 17:56 Steve Arnold
2017-10-13 16:31 Steve Arnold
2017-10-13 16:31 Steve Arnold
2017-10-13 16:31 Steve Arnold
2017-10-13 16:31 Steve Arnold
2016-06-02 15:56 Mike Frysinger
2016-06-02 15:56 Mike Frysinger
2016-06-02 15:56 Mike Frysinger
2016-06-02 15:56 Mike Frysinger
2016-01-16  6:38 Mike Frysinger
2015-10-16  3:19 Mike Frysinger
2015-08-13  2:45 Mike Frysinger
2015-06-02 17:01 Mike Frysinger
2015-05-30  4:46 Mike Frysinger
2015-05-23  5:35 Mike Frysinger
2015-04-18 22:58 Mike Frysinger
2014-10-31  1:56 Mike Frysinger
2014-10-31  1:56 Mike Frysinger
2014-10-31  0:52 Mike Frysinger
2014-09-17 21:41 Mike Frysinger
2014-01-18 18:42 Mike Frysinger
2013-11-07 20:32 Mike Frysinger
2013-11-07 20:28 Mike Frysinger
2013-10-12 20:15 Mike Frysinger
2013-10-11 19:05 Mike Frysinger
2013-10-11 18:48 Mike Frysinger
2013-09-30  0:21 Mike Frysinger
2013-06-28  5:42 Mike Frysinger
2013-06-28  5:14 Mike Frysinger
2013-04-20  2:50 Mike Frysinger
2013-03-28 16:20 Mike Frysinger
2013-03-28 16:20 Mike Frysinger
2013-02-18 20:11 Mike Frysinger
2012-12-25 21:44 Mike Frysinger
2012-11-18  7:56 Mike Frysinger
2012-11-11  9:10 Mike Frysinger
2012-11-05  8:37 Mike Frysinger
2012-10-02  3:23 Mike Frysinger
2012-09-13  5:13 Mike Frysinger
2012-09-13  5:05 Mike Frysinger
2012-08-30 18:16 Mike Frysinger
2012-08-20 21:36 Mike Frysinger
2012-08-17 21:20 Mike Frysinger
2012-07-31 16:19 Mike Frysinger
2012-07-30  3:01 Mike Frysinger
2012-06-09  5:23 Mike Frysinger
2012-06-09  5:23 Mike Frysinger
2012-06-03  9:03 Mike Frysinger
2012-06-03  9:03 Mike Frysinger
2012-06-03  9:03 Mike Frysinger
2012-06-03  9:03 Mike Frysinger
2012-05-30 15:28 Mike Frysinger
2012-05-30 15:28 Mike Frysinger
2012-05-30 15:28 Mike Frysinger
2012-05-30 15:28 Mike Frysinger
2012-03-07 18:31 Mike Frysinger
2012-03-05 23:15 Mike Frysinger
2012-03-05 23:15 Mike Frysinger
2012-03-05 23:15 Mike Frysinger
2012-03-01 18:43 Mike Frysinger
2012-03-01 18:43 Mike Frysinger
2012-03-01 18:43 Mike Frysinger
2012-03-01 18:43 Mike Frysinger
2012-02-29 17:18 Mike Frysinger
2012-02-29 16:22 Mike Frysinger
2012-02-29 16:22 Mike Frysinger
2012-02-29 16:22 Mike Frysinger
2012-02-27 22:50 Mike Frysinger
2012-02-27 22:47 Mike Frysinger
2012-02-24 22:23 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2011-12-21 21:06 Mike Frysinger
2011-12-21 21:06 Mike Frysinger
2011-12-13 19:06 Mike Frysinger
2011-12-06 21:50 Mike Frysinger
2011-11-18 20:44 Mike Frysinger
2011-10-31  3:30 Mike Frysinger
2011-10-18 17:36 Mike Frysinger
2011-10-11 22:22 Mike Frysinger
2011-08-25 15:50 Mike Frysinger
2011-08-19 18:05 Mike Frysinger
2011-08-19 18:05 Mike Frysinger
2011-08-18 20:06 Mike Frysinger
2011-08-18 20:06 Mike Frysinger
2011-08-15 22:25 Mike Frysinger
2011-08-12 18:59 Mike Frysinger
2011-07-05  6:44 Mike Frysinger
2011-03-27  6:07 Mike Frysinger
2011-03-11  4:22 Mike Frysinger
2011-03-11  4:22 Mike Frysinger
2011-03-11  4:22 Mike Frysinger
2011-02-14  3:08 Mike Frysinger

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=c7135b601aed098593d6242205e06f3afa5f7c74.vapier@gentoo \
    --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