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

Reply via email to