Linux Archive

Linux Archive (
-   Gentoo Development (
-   -   About disabling DISABLE_DEPRECATED (

Gilles Dartiguelongue 09-30-2012 09:44 PM

Hi all,

as discussed this morning on #-desktop, I found out while reading
commits from April that we have quite a few ebuilds in tree doing this

The problem is that in those ~153 instances of the same command, some do
take care of problems such as i18n env, some don't, some delete whole
lines, some replace with $(NULL) or even other values.

I think it is high time we provide a reference solution for this, even
if the solution should be to push upstream to fix there build system as

You'll find in attachement a prototype patch from gnome2-utils eclass.

It does not take care of packages providing
--disable-deprecations{,-flags} on purpose for now since I have not
found a MACRO and hence a reliable way to make sure this works in
upstream tarballs. Some packages do have such configure switch but it
does not always work.

Gilles Dartiguelongue <>

Mike Frysinger 10-03-2012 02:57 AM

On Sunday 30 September 2012 17:44:05 Gilles Dartiguelongue wrote:
> +# @USAGE: gnome2_disable_deprecation_warning

no need for this

> + for makefile in $(find "${S}" -name ""
> + -o -name "" -o -name "Makefile.decl" | sort); do

`local makefile` missing. also, this does not preserve quoting. you would
have to do:
while read makefile ; do
done < <(find ...)

> + if ! grep -qE "(DISABLE_DEPRECATED|GSEAL_ENABLE)" "${makefile}"; then

`grep -E` -> `egrep`

> + LC_ALL=C sed -e 's:-D[A-Z_]+_DISABLE_DEPRECATED:$(NULL):g'
> + -e 's:-DGSEAL_ENABLE:$(NULL):g'
> + -i "${makefile}"

use -r instead of escaping. it's also more readable to split -e from the rest
since that tends to be the meat of sed.
LC_ALL=C sed -i -r
-e '...'
-e '...'

> + fails[$(( ${#fails[@]} + 1 ))]="${makefile}"

fails+=( "${makefile}" )

> + eerror "Failed to disable deprecation warnings in $makefile"


also, if you're using eerror, this really should end in a `die`. or it should
use ewarn.

Arfrever Frehtes Taifersar Arahesis 10-08-2012 03:37 AM

2012-10-03 04:57:10 Mike Frysinger napisaƂ(a):
> On Sunday 30 September 2012 17:44:05 Gilles Dartiguelongue wrote:
> > + if ! grep -qE "(DISABLE_DEPRECATED|GSEAL_ENABLE)" "${makefile}"; then
> `grep -E` -> `egrep`

'man grep' says:
"egrep is the same as grep -E. fgrep is the same as grep -F. Direct invocation as either egrep or fgrep is deprecated,
but is provided to allow historical applications that rely on them to run unmodified."

Arfrever Frehtes Taifersar Arahesis

All times are GMT. The time now is 11:56 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.