| 1 | # Copyright 1999-2005 Gentoo Foundation |
1 | # Copyright 1999-2005 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.226 2006/02/20 11:56:33 flameeyes Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.228 2006/03/10 23:24:21 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. |
| … | |
… | |
| 137 | # |
137 | # |
| 138 | # <azarah@gentoo.org> (10 Nov 2002) |
138 | # <azarah@gentoo.org> (10 Nov 2002) |
| 139 | # |
139 | # |
| 140 | epatch() { |
140 | epatch() { |
| 141 | _epatch_draw_line() { |
141 | _epatch_draw_line() { |
|
|
142 | # this func produces a lot of pointless noise when debugging is turned on ... |
|
|
143 | local is_debug=0 |
|
|
144 | [[ $- == *x* ]] && is_debug=1 && set +x |
|
|
145 | |
| 142 | local i=0 str_length="" str_out="" |
146 | local i=0 str_length="" str_out="" |
| 143 | |
147 | |
| 144 | # Handle calls that do not have args, or wc not being installed ... |
148 | # Handle calls that do not have args, or wc not being installed ... |
| 145 | if [[ -z $1 ]] || ! type -p wc >/dev/null ; then |
149 | if [[ -z $1 ]] || ! type -p wc >/dev/null ; then |
| 146 | str_length=65 |
150 | str_length=65 |
| … | |
… | |
| 151 | while ((i++ < ${str_length})) ; do |
155 | while ((i++ < ${str_length})) ; do |
| 152 | str_out="${str_out}=" |
156 | str_out="${str_out}=" |
| 153 | done |
157 | done |
| 154 | echo ${str_out} |
158 | echo ${str_out} |
| 155 | |
159 | |
|
|
160 | [[ ${is_debug} -eq 1 ]] && set -x |
| 156 | return 0 |
161 | return 0 |
| 157 | } |
162 | } |
| 158 | _epatch_assert() { local _pipestatus=${PIPESTATUS[*]}; [[ ${_pipestatus// /} -eq 0 ]] ; } |
163 | _epatch_assert() { local _pipestatus=${PIPESTATUS[*]}; [[ ${_pipestatus// /} -eq 0 ]] ; } |
| 159 | local PIPE_CMD="" |
164 | local PIPE_CMD="" |
| 160 | local STDERR_TARGET="${T}/$$.out" |
165 | local STDERR_TARGET="${T}/$$.out" |
| … | |
… | |
| 1510 | |
1515 | |
| 1511 | # Jeremy Huddleston <eradicator@gentoo.org>: |
1516 | # Jeremy Huddleston <eradicator@gentoo.org>: |
| 1512 | # preserve_old_lib /path/to/libblah.so.0 |
1517 | # preserve_old_lib /path/to/libblah.so.0 |
| 1513 | # preserve_old_lib_notify /path/to/libblah.so.0 |
1518 | # preserve_old_lib_notify /path/to/libblah.so.0 |
| 1514 | # |
1519 | # |
| 1515 | # These functions are useful when a lib in your package changes --soname. Such |
1520 | # These functions are useful when a lib in your package changes --library. Such |
| 1516 | # an example might be from libogg.so.0 to libogg.so.1. Removing libogg.so.0 |
1521 | # an example might be from libogg.so.0 to libogg.so.1. Removing libogg.so.0 |
| 1517 | # would break packages that link against it. Most people get around this |
1522 | # would break packages that link against it. Most people get around this |
| 1518 | # by using the portage SLOT mechanism, but that is not always a relevant |
1523 | # by using the portage SLOT mechanism, but that is not always a relevant |
| 1519 | # solution, so instead you can add the following to your ebuilds: |
1524 | # solution, so instead you can add the following to your ebuilds: |
| 1520 | # |
1525 | # |
| … | |
… | |
| 1551 | |
1556 | |
| 1552 | ewarn "An old version of an installed library was detected on your system." |
1557 | ewarn "An old version of an installed library was detected on your system." |
| 1553 | ewarn "In order to avoid breaking packages that link against it, this older version" |
1558 | ewarn "In order to avoid breaking packages that link against it, this older version" |
| 1554 | ewarn "is not being removed. In order to make full use of this newer version," |
1559 | ewarn "is not being removed. In order to make full use of this newer version," |
| 1555 | ewarn "you will need to execute the following command:" |
1560 | ewarn "you will need to execute the following command:" |
| 1556 | ewarn " revdep-rebuild --soname ${SONAME}" |
1561 | ewarn " revdep-rebuild --library ${SONAME}" |
| 1557 | ewarn |
1562 | ewarn |
| 1558 | ewarn "After doing that, you can safely remove ${LIB}" |
1563 | ewarn "After doing that, you can safely remove ${LIB}" |
| 1559 | ewarn "Note: 'emerge gentoolkit' to get revdep-rebuild" |
1564 | ewarn "Note: 'emerge gentoolkit' to get revdep-rebuild" |
| 1560 | fi |
1565 | fi |
| 1561 | } |
1566 | } |