public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* Re: [gentoo-dev] why do different ebuilds have the same version number?
  2005-04-27 13:09 Imran Sher Rafique
@ 2005-04-27 13:05 ` Caleb Tennis
  2005-04-27 13:06 ` Mike Frysinger
  2005-04-27 17:53 ` marduk
  2 siblings, 0 replies; 10+ messages in thread
From: Caleb Tennis @ 2005-04-27 13:05 UTC (permalink / raw
  To: gentoo-dev

> Is it accepted practice to allow for changes in an ebuild without changing
> the ebuild version number?

It's a bad practice, but it also saves the end user from having to re-emerge 
packages which have minor changes in them that may or may not affect them.

> Background
> ----------
> After emerging the latest stable ruby (1.8.2-r1), I found that ruby could
> not find some of its modules. The default library paths hardcoded into ruby
> were incorrect. To demonstrate:

I committed it on Mar 23, and stabilized it on Apr 14th.  A minor fix was made 
by another developer on Apr 19th which should only affect 64 bit users, 
however, the fix was made with a typo and was caught and fixed on Apr 20th.

I guess we took a gamble in not bumping the revision, hoping to not have every 
Ruby user have to reinstall the package for something that may never have 
been a problem for them.  This decision was helped by the fact that Ruby was 
rendered useless with this bug, and would force anyone who emerged it during 
that time would have to seek out some help to sort out the problem.

Sorry if it wasn't an obvious solution - a quick look at the ChangeLog and bug 
reports reference therein quickly provides the resolution.
-- 
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] why do different ebuilds have the same version number?
  2005-04-27 13:09 Imran Sher Rafique
  2005-04-27 13:05 ` Caleb Tennis
@ 2005-04-27 13:06 ` Mike Frysinger
  2005-04-27 17:53 ` marduk
  2 siblings, 0 replies; 10+ messages in thread
From: Mike Frysinger @ 2005-04-27 13:06 UTC (permalink / raw
  To: gentoo-dev

On Wednesday 27 April 2005 09:09 am, Imran Sher Rafique wrote:
> Is it accepted practice to allow for changes in an ebuild without changing
> the ebuild version number?

yes & no ... read the developer policy doc for full details :p
http://www.gentoo.org/proj/en/devrel/handbook/
-mike
-- 
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-dev] why do different ebuilds have the same version number?
@ 2005-04-27 13:09 Imran Sher Rafique
  2005-04-27 13:05 ` Caleb Tennis
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Imran Sher Rafique @ 2005-04-27 13:09 UTC (permalink / raw
  To: gentoo-dev

I hope this doesn't come across as too much of a rant.

Summary
-------
Is it accepted practice to allow for changes in an ebuild without changing the
ebuild version number?


Background
----------
After emerging the latest stable ruby (1.8.2-r1), I found that ruby could not
find some of its modules. The default library paths hardcoded into ruby were
incorrect. To demonstrate:

$ ruby -e '$LOAD_PATH.each {|j| puts "#{j}" }'
/usr/lib/ruby/site_ruby/1.8
/usr/lib/ruby/site_ruby/1.8/i686-linux
/usr/lib/ruby/site_ruby
${exec_prefix}/lib/ruby/1.8
${exec_prefix}/lib/ruby/1.8/i686-linux
-- 
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] why do different ebuilds have the same version number?
  2005-04-27 13:09 Imran Sher Rafique
  2005-04-27 13:05 ` Caleb Tennis
  2005-04-27 13:06 ` Mike Frysinger
@ 2005-04-27 17:53 ` marduk
  2005-04-27 19:07   ` Brian Harring
  2005-04-27 19:17   ` Francesco Riosa
  2 siblings, 2 replies; 10+ messages in thread
From: marduk @ 2005-04-27 17:53 UTC (permalink / raw
  To: gentoo-dev


On Wed, 27 Apr 2005 06:09:38 -0700, "Imran Sher Rafique"
<imran@rafique.org> said:
> I hope this doesn't come across as too much of a rant.
> 
> Summary
> -------
> Is it accepted practice to allow for changes in an ebuild without
> changing the
> ebuild version number?

Unfortunately yes ;-).  This also has been a problem for
packages.gentoo.org code, because I basically have to make a series of
assumptions as to when an ebuild is considered "new" or "updated". 
Originally I thought I could just just look at the timestamps on the
ebuilds, but that turned out to be a very bad determiniation of when an
ebuild has changed.  Then I thought revision numbers, but that's
innacurate too.  Basically now it comes down to looking at the current
ebuild in portage and comparing it to the last time I looked at it. 
It's much more expensive, because you have to look at *every* ebuild,
not just "ebuilds changed since x date/time" or "ebuilds newer than
version y".  Oh no, now I sound like I'm ranting ;-)

-m
-- 
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] why do different ebuilds have the same version number?
  2005-04-27 17:53 ` marduk
@ 2005-04-27 19:07   ` Brian Harring
  2005-04-27 19:17   ` Francesco Riosa
  1 sibling, 0 replies; 10+ messages in thread
From: Brian Harring @ 2005-04-27 19:07 UTC (permalink / raw
  To: gentoo-dev

On Wed, Apr 27, 2005 at 10:53:04AM -0700, marduk wrote:
> 
> On Wed, 27 Apr 2005 06:09:38 -0700, "Imran Sher Rafique"
> <imran@rafique.org> said:
> > I hope this doesn't come across as too much of a rant.
> > 
> > Summary
> > -------
> > Is it accepted practice to allow for changes in an ebuild without
> > changing the
> > ebuild version number?
> 
> Unfortunately yes ;-).  This also has been a problem for
> packages.gentoo.org code, because I basically have to make a series of
> assumptions as to when an ebuild is considered "new" or "updated". 
> Originally I thought I could just just look at the timestamps on the
> ebuilds,
Relying on mtime of an ebuild and it's eclass should suffice.  
Any changes that don't affect any of those timestamps portage won't 
handle properly from the cache perspective...
~brian
-- 
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] why do different ebuilds have the same version number?
  2005-04-27 17:53 ` marduk
  2005-04-27 19:07   ` Brian Harring
@ 2005-04-27 19:17   ` Francesco Riosa
  2005-04-27 19:41     ` Brian Harring
  1 sibling, 1 reply; 10+ messages in thread
From: Francesco Riosa @ 2005-04-27 19:17 UTC (permalink / raw
  To: gentoo-dev

marduk wrote:

>On Wed, 27 Apr 2005 06:09:38 -0700, "Imran Sher Rafique"
><imran@rafique.org> said:
>  
>
>>I hope this doesn't come across as too much of a rant.
>>
>>Summary
>>-------
>>Is it accepted practice to allow for changes in an ebuild without
>>changing the
>>ebuild version number?
>>    
>>
>
>Unfortunately yes ;-).  This also has been a problem for
>packages.gentoo.org code, because I basically have to make a series of
>assumptions as to when an ebuild is considered "new" or "updated". 
>Originally I thought I could just just look at the timestamps on the
>ebuilds, but that turned out to be a very bad determiniation of when an
>ebuild has changed.  Then I thought revision numbers, but that's
>innacurate too.  Basically now it comes down to looking at the current
>ebuild in portage and comparing it to the last time I looked at it. 
>It's much more expensive, because you have to look at *every* ebuild,
>not just "ebuilds changed since x date/time" or "ebuilds newer than
>version y".  Oh no, now I sound like I'm ranting ;-)
>
>-m
>  
>
Why you could not use ctime/mtime ? Isn't possible to make a check like
you do now but only on a filtered by "mtime" list of ebuild ?
A command like this
# find . -name "*.ebuild" -and -mtime "-7" -or -ctime "-7"
give you a list of ebuilds created/modified in the last seven days.
Isn't this enough to be sure you are looking at all ebuilds modified in
the last 24 hours ? At least to cut down the number of ebuilds to check.
i.e. I'm assuming it's only a problem of precision


-- 
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] why do different ebuilds have the same version number?
  2005-04-27 19:17   ` Francesco Riosa
@ 2005-04-27 19:41     ` Brian Harring
  2005-04-27 20:02       ` Francesco Riosa
  0 siblings, 1 reply; 10+ messages in thread
From: Brian Harring @ 2005-04-27 19:41 UTC (permalink / raw
  To: gentoo-dev

On Wed, Apr 27, 2005 at 09:17:46PM +0200, Francesco Riosa wrote:
> marduk wrote:
> 
> >On Wed, 27 Apr 2005 06:09:38 -0700, "Imran Sher Rafique"
> ><imran@rafique.org> said:
> >  
> >
> >>I hope this doesn't come across as too much of a rant.
> >>
> >>Summary
> >>-------
> >>Is it accepted practice to allow for changes in an ebuild without
> >>changing the
> >>ebuild version number?
> >>    
> >>
> >
> >Unfortunately yes ;-).  This also has been a problem for
> >packages.gentoo.org code, because I basically have to make a series of
> >assumptions as to when an ebuild is considered "new" or "updated". 
> >Originally I thought I could just just look at the timestamps on the
> >ebuilds, but that turned out to be a very bad determiniation of when an
> >ebuild has changed.  Then I thought revision numbers, but that's
> >innacurate too.  Basically now it comes down to looking at the current
> >ebuild in portage and comparing it to the last time I looked at it. 
> >It's much more expensive, because you have to look at *every* ebuild,
> >not just "ebuilds changed since x date/time" or "ebuilds newer than
> >version y".  Oh no, now I sound like I'm ranting ;-)
> >
> >-m
> >  
> >
> Why you could not use ctime/mtime ? Isn't possible to make a check like
> you do now but only on a filtered by "mtime" list of ebuild ?
> A command like this
> # find . -name "*.ebuild" -and -mtime "-7" -or -ctime "-7"
Actually... nope. :)
You're forgetting about eclass changes, which can adjust metadata 
(deps) of an ebuild w/out the ebuild ever being modified...
~brian
-- 
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] why do different ebuilds have the same version number?
  2005-04-27 19:41     ` Brian Harring
@ 2005-04-27 20:02       ` Francesco Riosa
  2005-04-27 20:25         ` Brian Harring
  0 siblings, 1 reply; 10+ messages in thread
From: Francesco Riosa @ 2005-04-27 20:02 UTC (permalink / raw
  To: gentoo-dev

Brian Harring wrote:

>>>[snip]
>>>      
>>>
>>Why you could not use ctime/mtime ? Isn't possible to make a check like
>>you do now but only on a filtered by "mtime" list of ebuild ?
>>A command like this
>># find . -name "*.ebuild" -and -mtime "-7" -or -ctime "-7"
>>    
>>
>Actually... nope. :)
>You're forgetting about eclass changes, which can adjust metadata 
>(deps) of an ebuild w/out the ebuild ever being modified...
>~brian
>  
>
right was forgotting that :P , what about something like this ?

HAS_MODIFIED_ECLASS=$( find /usr/portage/eclass/ -name "*.eclass" -and
-ctime "-1" -mtime "-1" )
if [[ -z  $HAS_MODIFIED_ECLASS ]] ; then
  echo "Good, using faster method"   
  find /usr/portage -name "*.ebuild" \
  -and -mtime "-1" \
  -or -ctime "-1" \
  -exec something_here.sh
else
  find /usr/portage -name "*.ebuild" \
  -exec something_here.sh
fi

will save you often, eclasses are not so frequently updated ;-)
-- 
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] why do different ebuilds have the same version number?
  2005-04-27 20:02       ` Francesco Riosa
@ 2005-04-27 20:25         ` Brian Harring
  0 siblings, 0 replies; 10+ messages in thread
From: Brian Harring @ 2005-04-27 20:25 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1703 bytes --]

On Wed, Apr 27, 2005 at 10:02:27PM +0200, Francesco Riosa wrote:
> Brian Harring wrote:
> 
> >>>[snip]
> >>>      
> >>>
> >>Why you could not use ctime/mtime ? Isn't possible to make a check like
> >>you do now but only on a filtered by "mtime" list of ebuild ?
> >>A command like this
> >># find . -name "*.ebuild" -and -mtime "-7" -or -ctime "-7"
> >>    
> >>
> >Actually... nope. :)
> >You're forgetting about eclass changes, which can adjust metadata 
> >(deps) of an ebuild w/out the ebuild ever being modified...
> >~brian
> >  
> >
> right was forgotting that :P , what about something like this ?
> 
> HAS_MODIFIED_ECLASS=$( find /usr/portage/eclass/ -name "*.eclass" -and
> -ctime "-1" -mtime "-1" )
> if [[ -z  $HAS_MODIFIED_ECLASS ]] ; then
>   echo "Good, using faster method"   
>   find /usr/portage -name "*.ebuild" \
>   -and -mtime "-1" \
>   -or -ctime "-1" \
>   -exec something_here.sh
> else
>   find /usr/portage -name "*.ebuild" \
>   -exec something_here.sh
> fi
> 
> will save you often, eclasses are not so frequently updated ;-)
Actually... :)

bit easier, abusing portage's own functionality.

python -c $'
import portage, time
target=long(time.strftime("%s",time.gmtime())) - 24*60*60
pdb=portage.portdb
for cp in pdb.cp_all():
	for cpv in pdb.cp_list(cp):
		flagged=False
		try:	mtime, eclasses = pdb.aux_get(cpv,["_mtime_","INHERITED"])
		except SystemExit:	raise
		except:	continue
		if mtime >= target:	flagged=True
		else:
			try:
				for e in eclasses.split():
					if pdb.eclassdb.eclasses[e][1] >= target:
						flagged=True
						break
			except KeyError:	flagged=True
		if flagged:	print cpv
'

~brian

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] why do different ebuilds have the same version number?
@ 2005-04-27 20:36 Brian Harring
  0 siblings, 0 replies; 10+ messages in thread
From: Brian Harring @ 2005-04-27 20:36 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 594 bytes --]

Slightly shorter variant...

python -c $'
import portage, time
from itertools import chain, imap
target=long(time.strftime("%s",time.gmtime())) - 24*60*60
pdb=portage.portdb
for cpv in chain(*imap(pdb.cp_list, pdb.cp_all())):
	flagged=False
	try:	mtime, eclasses = pdb.aux_get(cpv,["_mtime_","INHERITED"])
	except SystemExit:	raise
	except:	continue
	if mtime >= target:	flagged=True
	else:
		try:
			for e in eclasses.split():
				if pdb.eclassdb.eclasses[e][1] >= target:
					flagged=True
					break
		except KeyError:	flagged=True
	if flagged:	print cpv
'

~brian


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2005-04-27 20:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-27 20:36 [gentoo-dev] why do different ebuilds have the same version number? Brian Harring
  -- strict thread matches above, loose matches on Subject: below --
2005-04-27 13:09 Imran Sher Rafique
2005-04-27 13:05 ` Caleb Tennis
2005-04-27 13:06 ` Mike Frysinger
2005-04-27 17:53 ` marduk
2005-04-27 19:07   ` Brian Harring
2005-04-27 19:17   ` Francesco Riosa
2005-04-27 19:41     ` Brian Harring
2005-04-27 20:02       ` Francesco Riosa
2005-04-27 20:25         ` Brian Harring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox