On 02/25/13 01:51 PM, Tim Foster wrote:
On 02/26/13 10:04 AM, Shawn Walker wrote:
On 02/25/13 12:26, Tim Foster wrote:
Solaris is the main user of the packaging system so far, but skewing the
defaults to suit that one consumer seems wrong to me.
I believe optimising our tools for the most common use case is the right
thing to do.
There's no concern about performance here as pkgrecv will still only
copy packages that don't already exist to the destination repository.
pkgrecv performance will be unaffected, but that doesn't mean it doesn't
impact performance elsewhere: local repositories will take up more disk
space, moving them around will be harder, backups will run for
longer, etc.
I don't currently believe that's a significant concern.
Alright, so we disagree.
Yes, for Solaris repositories we must pull everything, but that's only
because there isn't sufficient package metadata to allow us to
meaningfully ask for the bits we care about [ cf. dead horse ]
With this change, the CLI seems strange:
# pkgrecv pkg:/middleware/foobar
gets me every single version and timestamp of that huge unbundled
product, but
# pkg install pkg:/middleware/foobar
only installs the latest version (admittedly, pkgrepo list
pkg:/middleware/foobar does show all versions, so we're inconsistent)
I understand your point, but this is less confusing then specifying 2 or
more explicit packages and then only getting one. In your case you're
actually just saying give me package X and you get all
versions/timestamp of that package. But you can aslo say X@1.0 to only
get this particular version.
So I'm with Danek in what he said in one of his first emails, we should
probably at some point look at revising the way pkgrecv parses the
package FMRIs. If your FMRI is * it should mean I want everything and
every timestamp of it, if I just pass a package name without version it
might be better to just sync the latest version but if I specify three
packages it should always install these three packages, no matter what
matching patterns I specified. However, in a case like this the matching
patterns should still be used for retrieving the dependencies for the
specified packages (when run with -r)
I'm not going to keep arguing: if I'm the only one thinking this is the
wrong approach, instead of, as I suggested, aliasing '-m all-timestamps'
to '--mirror', then go ahead with the change.
Like I said, my main beef with the current version is that if I just
specify multiple versions of the same package only the newest is
installed. That to me seems like the "wrongest" (yes I know that's not a
word) approach.
However, I can certainly have a look at keeping the main principle the
same but just make sure that all the specified packages are installed.
Talking to Shawn about this the other day indicated that this might be a
bit more complicated, though.
Erik
cheers,
tim
_______________________________________________
pkg-discuss mailing list
pkg-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss