Re: portupgrade -ar (why?)

2005-10-16 Thread Micah

Andrew P. wrote:

On 10/16/05, Peter Matulis <[EMAIL PROTECTED]> wrote:


--- "Andrew P." <[EMAIL PROTECTED]> wrote:



Honestly guys, what is this thread about?


Hum, understanding something?



You're not gonna make portupgrade work any faster or
smoother if you weed out a couple of switches from the
command-line.


See above.



I don't mean to bother anyone if you're
having fun, but it just seems that portupgrade's manpage
covers it all.


Ha, I knew a manpage guy would come around sooner or later.  Don't
you think I read it already?  I have questions it does not cover.



If you're not sure - just try it. If something's
strange - see if it's a bug, and if you're sure it is - send-pr.


I can use all the switches if I want.  The entire alphabet soup.
But that won't help me understand what is happening.  I am not
satisfied with not "seeing something strange".






__
Find your next car at http://autos.yahoo.ca
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"





Yeah, right. Maybe we could get together some time
and understand what's happening over a cup of tea.

Anyway. I don't know ruby at all. In fact, I don't know
any programming language very well at all.

% more `which portupgrade`


opts.def_option("-a", "--all",
"Do with all the installed packages") {
  |$all|
  $recursive = false
  $upward_recursive = false
}

opts.def_option("-r", "--recursive",
"Do with all those depending on the given
packages" << NEXTLINE <<
"as well") {
  $recursive = true unless $all
}

opts.def_option("-R", "--upward-recursive",
"Do with all those required by the given packages"
<< NEXTLINE <<
"as well / Fetch recursively if -F is specified") {
  $upward_recursive = true unless $all
  $fetch_recursive = true
}

Fortunately, my somewhat basic English allows me
to understand it. Now what part of that is not covered
by the manpage?


Look at it again.  Unless I'm completely off, -a and -r are mutually 
exclusive.  All sets $all and sets $recurse to false.  -r only sets 
$recurse if $all is not set.  So if -a is specified you'll never get a 
recurse.  So the original question still stands - why use -r when you've 
used -a?


Later,
Micah
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: portupgrade -ar (why?)

2005-10-16 Thread Andrew P.
On 10/16/05, Peter Matulis <[EMAIL PROTECTED]> wrote:
>
> --- "Andrew P." <[EMAIL PROTECTED]> wrote:
>
> > Honestly guys, what is this thread about?
>
> Hum, understanding something?
>
> > You're not gonna make portupgrade work any faster or
> > smoother if you weed out a couple of switches from the
> > command-line.
>
> See above.
>
> > I don't mean to bother anyone if you're
> > having fun, but it just seems that portupgrade's manpage
> > covers it all.
>
> Ha, I knew a manpage guy would come around sooner or later.  Don't
> you think I read it already?  I have questions it does not cover.
>
> > If you're not sure - just try it. If something's
> > strange - see if it's a bug, and if you're sure it is - send-pr.
>
> I can use all the switches if I want.  The entire alphabet soup.
> But that won't help me understand what is happening.  I am not
> satisfied with not "seeing something strange".
>
>
>
>
>
>
> __
> Find your next car at http://autos.yahoo.ca
> ___
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "[EMAIL PROTECTED]"
>
>

Yeah, right. Maybe we could get together some time
and understand what's happening over a cup of tea.

Anyway. I don't know ruby at all. In fact, I don't know
any programming language very well at all.

% more `which portupgrade`


opts.def_option("-a", "--all",
"Do with all the installed packages") {
  |$all|
  $recursive = false
  $upward_recursive = false
}

opts.def_option("-r", "--recursive",
"Do with all those depending on the given
packages" << NEXTLINE <<
"as well") {
  $recursive = true unless $all
}

opts.def_option("-R", "--upward-recursive",
"Do with all those required by the given packages"
<< NEXTLINE <<
"as well / Fetch recursively if -F is specified") {
  $upward_recursive = true unless $all
  $fetch_recursive = true
}

Fortunately, my somewhat basic English allows me
to understand it. Now what part of that is not covered
by the manpage?
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: portupgrade -ar (why?)

2005-10-15 Thread Peter Matulis

--- "Andrew P." <[EMAIL PROTECTED]> wrote:

> Honestly guys, what is this thread about?

Hum, understanding something?

> You're not gonna make portupgrade work any faster or
> smoother if you weed out a couple of switches from the
> command-line.

See above.

> I don't mean to bother anyone if you're
> having fun, but it just seems that portupgrade's manpage
> covers it all.

Ha, I knew a manpage guy would come around sooner or later.  Don't
you think I read it already?  I have questions it does not cover.

> If you're not sure - just try it. If something's
> strange - see if it's a bug, and if you're sure it is - send-pr.

I can use all the switches if I want.  The entire alphabet soup. 
But that won't help me understand what is happening.  I am not
satisfied with not "seeing something strange".






__ 
Find your next car at http://autos.yahoo.ca
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: portupgrade -ar (why?)

2005-10-15 Thread Andrew P.
On 10/16/05, Peter Matulis <[EMAIL PROTECTED]> wrote:
>
> --- Petersen <[EMAIL PROTECTED]> wrote:
>
> > Uninstalled dependancies of an installed port are irrelevant in
> > any portupgrade case, as the port will automatically pull them in
> as
> > part of its compilation.
>
> What if a port now has a new dependency?
>
> But back to 'r',
>
> My system shows this:
>
> ---
> $ pkg_info -xR openldap
> Information for openldap-client-2.2.29:
>
> Required by:
> bluefish-1.0.4
> dirmngr-0.9.2
> gnome-menus-2.10.2_1
> gnomevfs2-2.10.1_1
> gnupg-devel-1.9.19
> gtksourceview-1.2.1
> libbonoboui-2.10.1
> libgnomeui-2.10.1_1
> rox-2.3
> samba-libsmbclient-3.0.20_2
> ---
>
> Just to be clear on this, if I do...
>
> # portupgrade -r openldap-client
>
> ...all those listed ports will be recompiled whether they need to be
> or not?  That seems mighty inefficient.
>
>
>
>
>
>
> __
> Find your next car at http://autos.yahoo.ca
> ___
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "[EMAIL PROTECTED]"
>
>

No, they won't. Honestly guys, what is this thread about?
You're not gonna make portupgrade work any faster or
smoother if you weed out a couple of switches from the
command-line. I don't mean to bother anyone if you're
having fun, but it just seems that portupgrade's manpage
covers it all. If you're not sure - just try it. If something's
strange - see if it's a bug, and if you're sure it is - send-pr.

chat@ is the right place for topics like this one..


Cheerz,
Andrew P.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


RE: portupgrade -ar (why?)

2005-10-15 Thread Peter Matulis

--- Petersen <[EMAIL PROTECTED]> wrote:

> Uninstalled dependancies of an installed port are irrelevant in
> any portupgrade case, as the port will automatically pull them in
as
> part of its compilation.

What if a port now has a new dependency?

But back to 'r',

My system shows this:

---
$ pkg_info -xR openldap
Information for openldap-client-2.2.29:

Required by:
bluefish-1.0.4
dirmngr-0.9.2
gnome-menus-2.10.2_1
gnomevfs2-2.10.1_1
gnupg-devel-1.9.19
gtksourceview-1.2.1
libbonoboui-2.10.1
libgnomeui-2.10.1_1
rox-2.3
samba-libsmbclient-3.0.20_2
---

Just to be clear on this, if I do...

# portupgrade -r openldap-client

...all those listed ports will be recompiled whether they need to be
or not?  That seems mighty inefficient.






__ 
Find your next car at http://autos.yahoo.ca
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


RE: portupgrade -ar (why?)

2005-10-15 Thread Petersen
Peter Matulis <[EMAIL PROTECTED]> wrote:
> --- Petersen <[EMAIL PROTECTED]> wrote:
> 
>> The -a switch will upgrade a port only if its version number has
>> increased (as you know). 
>> 
>> The -r switch will upgrade a port if one of its dependancies has been
>> upgraded, regardless of whether its version number has changed or
>> not. 
>> 
>> e.g.
>> 
>> Appbar-1.0 depends on libfoo-1.0. Libfoo gets a portbump to 1.1.
>> portupgrade -r libfoo will install libfoo-1.1, plus also force a
>> recompile and reinstallation of appbar-1.0, irrespective of the fact
>> that appbar's version remains the same. Thus, any ABI changes that
>> happened in libfoo that could potentially break appbar that was
>> compiled/linked against the previous version are limited.
>> 
>> In an ideal world, this wouldn't be a problem. ABIs and APIs
>> should remain constant, until a library revision bump (i.e., if
>> libfoo.1's ABI changed and broke apps, it shoulda been bumped to
> libfoo.2). > Most times you can get away with not recompiling a
> port's dependants
>> because developers, but if you don't then it can shoot you in the
>> foot (read the recent list archives regarding openssl-0.9.8 to see
>> an example of this).
> 
> Thank you very much (BTW, there is something missing in your last
> sentence). 
> 

..because developers mostly take ABI breakage into account and tend not
to do it on minor versions, but if you don't...

> One last thing.  Is this the case with the 'R' switch as well?
> 
> 
> 

Well, the -R switch won't force anything to upgrade if it's already at
the latest version. AFAIK (someone please correct me on this if I'm
wrong) it is pointless to use it with the -a switch as -a by its very
nature is upgrading anything that needs upgrading anyway, which includes
any dependancies of a port, and AFAIK -a will sort the upgrades so that
dependancies are done before upgrades (thus, 'portupgrade -a' is
functionally equivalent to 'portupgrade -R *').

Uninstalled dependancies of an installed port are irrelevant in any
portupgrade case, as the port will automatically pull them in as part of
its compilation.

Petersen


___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


RE: portupgrade -ar (why?)

2005-10-15 Thread Peter Matulis

--- Petersen <[EMAIL PROTECTED]> wrote:

> > But still, a port requires upgrading or it does not.  Using 'r',
> > portupgrade ultimately checks whether some port should be
> upgraded.
> > Are you saying that the 'r' switch involves a different decision
> > making process than 'a'? 
> > 
> 
> The -a switch will upgrade a port only if its version number has
> increased (as you know).
> 
> The -r switch will upgrade a port if one of its dependancies has
> been
> upgraded, regardless of whether its version number has changed or
> not.
> 
> e.g.
> 
> Appbar-1.0 depends on libfoo-1.0. Libfoo gets a portbump to 1.1.
> portupgrade -r libfoo will install libfoo-1.1, plus also force a
> recompile and reinstallation of appbar-1.0, irrespective of the
> fact
> that appbar's version remains the same. Thus, any ABI changes that
> happened in libfoo that could potentially break appbar that was
> compiled/linked against the previous version are limited.
> 
> In an ideal world, this wouldn't be a problem. ABIs and APIs
> should remain constant, until a library revision bump (i.e., if
> libfoo.1's ABI changed and broke apps, it shoulda been bumped to
libfoo.2). > Most times you can get away with not recompiling a
port's dependants
> because developers, but if you don't then it can shoot you in the
foot
> (read the recent list archives regarding openssl-0.9.8 to see an
example of
> this).

Thank you very much (BTW, there is something missing in your last
sentence).

One last thing.  Is this the case with the 'R' switch as well?







__ 
Find your next car at http://autos.yahoo.ca
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


RE: portupgrade -ar (why?)

2005-10-15 Thread Petersen
[EMAIL PROTECTED] <> wrote:
> --- Jan Grant <[EMAIL PROTECTED]> wrote:
> 
>> On Sat, 15 Oct 2005, Peter Matulis wrote:
>> 
>>> What is the use of specifying the 'r' switch when using the 'a'
>>> switch? 
>>> 
>>> # portupgrade -ar
>>> 
>>> This says to upgrade all ports plus the ones that depend on all
>>> those ports.  Am I missing something?  Wouldn't "the ones that
>>> depend" be upgraded anyway?
>> 
>> Not necessarily. For instance: package P might use library L. A
>> change in L might alter the size and layout of structures exposed to
>> P. The source-level API of L is unchanged; the binary-level ABI is
>> altered. So whilst the source code of P might not have changed, it
>> might (for instance) be using a macro defined by a header in L that
>> will look at the wrong offset in the new structure. These kinds of
>> ABI compatibility problems can be fixed by recompilihng P.
> 
> But still, a port requires upgrading or it does not.  Using 'r',
> portupgrade ultimately checks whether some port should be upgraded.
> Are you saying that the 'r' switch involves a different decision
> making process than 'a'? 
> 
> 

The -a switch will upgrade a port only if its version number has
increased (as you know).

The -r switch will upgrade a port if one of its dependancies has been
upgraded, regardless of whether its version number has changed or not.

e.g.

Appbar-1.0 depends on libfoo-1.0. Libfoo gets a portbump to 1.1.
portupgrade -r libfoo will install libfoo-1.1, plus also force a
recompile and reinstallation of appbar-1.0, irrespective of the fact
that appbar's version remains the same. Thus, any ABI changes that
happened in libfoo that could potentially break appbar that was
compiled/linked against the previous version are limited.

In an ideal world, this wouldn't be a problem. ABIs and APIs should
remain constant, until a library revision bump (i.e., if libfoo.1's ABI
changed and broke apps, it shoulda been bumped to libfoo.2). Most times
you can get away with not recompiling a port's dependants because
developers, but if you don't then it can shoot you in the foot (read the
recent list archives regarding openssl-0.9.8 to see an example of this).

Petersen

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: portupgrade -ar (why?)

2005-10-15 Thread Peter Matulis

--- Jan Grant <[EMAIL PROTECTED]> wrote:

> On Sat, 15 Oct 2005, Peter Matulis wrote:
> 
> > What is the use of specifying the 'r' switch when using the 'a'
> > switch?
> > 
> > # portupgrade -ar
> > 
> > This says to upgrade all ports plus the ones that depend on all
> > those ports.  Am I missing something?  Wouldn't "the ones that
> > depend" be upgraded anyway?
> 
> Not necessarily. For instance: package P might use library L. A
> change in L might alter the size and layout of structures exposed
to P.
> The source-level API of L is unchanged; the binary-level ABI is
> altered. So whilst the source code of P might not have changed, it
might (for 
> instance) be using a macro defined by a header in L that will look
> at the wrong offset in the new structure. These kinds of ABI
> compatibility problems can be fixed by recompilihng P.

But still, a port requires upgrading or it does not.  Using 'r',
portupgrade ultimately checks whether some port should be upgraded. 
Are you saying that the 'r' switch involves a different decision
making process than 'a'?






__ 
Find your next car at http://autos.yahoo.ca
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: portupgrade -ar (why?)

2005-10-15 Thread Jan Grant
On Sat, 15 Oct 2005, Peter Matulis wrote:

> What is the use of specifying the 'r' switch when using the 'a'
> switch?
> 
> # portupgrade -ar
> 
> This says to upgrade all ports plus the ones that depend on all
> those ports.  Am I missing something?  Wouldn't "the ones that
> depend" be upgraded anyway?

Not necessarily. For instance: package P might use library L. A change 
in L might alter the size and layout of structures exposed to P. The 
source-level API of L is unchanged; the binary-level ABI is altered. So 
whilst the source code of P might not have changed, it might (for 
instance) be using a macro defined by a header in L that will look at 
the wrong offset in the new structure. These kinds of ABI compatibility 
problems can be fixed by recompilihng P.


-- 
jan grant, ILRT, University of Bristol. http://www.ilrt.bris.ac.uk/
Tel +44 (0)117 3317661   http://ioctl.org/jan/
Strive to live every day as though it was last Wednesday.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"