This is ridiculous
20 Aug 2007I've complained about Blastwave before, but this is just terrible.
Trying to install VLC on a Solaris 10 machine using Blastwave. Says
that CSWcommon
is out of date, so please run pkg-get -u
. As this
always includes thousands of prompts that look like this:
The following package is currently installed:
CSWoldapclient openldap_client - OpenLDAP client executables (oldapclient)
(sparc) 2.3.31,REV=2007.01.07
Do you want to remove this package? [y,n,?,q] y
## Removing installed package instance <CSWoldapclient>
## Verifying package <CSWoldapclient> dependencies in global zone
WARNING:
The <CSWoldap> package depends on the package currently
being removed.
Dependency checking failed.
Do you want to continue with the removal of this package [y,n,?,q]
...I look around for a way to automate this. And surprise, there
is, and I've missed it the whole time. My bad. So: pkg-get -f
upgrade
it is, then.
It runs for 45 minutes and stops with an error about CSWcommon:
Current administration requires that a unique instance of the
<CSWcommon> package be created. However, the maximum number of
instances of the package which may be supported at one time on the
same system has already been met.
Hm, sez I. That's strange, but maybe that's what it's like for package
managers that suck. pkg-get -r common
and pkg-get -i common
, and
I'm ready for the upgrade again.
Somehow in the process I managed to remove the pkg_get
package,
which (surprise) contains the pkg-get
command. Fortunately I have a
backup copy around and use that to install pkg_get
. Life continues.
And it's not for another 15 minutes after that that I notice that the package manager is going in loops. It keeps going over the same packages again and again, giving the same errror about unique instances each time. A quick search turns up this link, which tells me I'm a fool for believing the help offered by pkg-get:
$ pkg-get -h
pkg-get, by Philip Brown , phil@bolthole.com
(Internal SCCS code revision 3.6)
Originally from http://www.bolthole.com/solaris/pkg-get.html
pkg-get is used to install free software packages
pkg-get
Need one of 'install', 'upgrade', 'available','compare'
'-i|install' installs a package
'-u|upgrade' upgrades already installed packages if possible
'-a|available' lists the available packages in the catalog
'-c|compare' shows installed package versions vs available
'-l|list' shows installed packages by software name only
Optional modifiers:
'-d|download' just download the package, not install
'-D|describe' describe available packages, or search for one
'-U|updatecatalog' updates download site inventory
'-S|sync' Makes update mode sync to version on mirror site
'-f' dont ask any questions: force default pkgadd behaviour
Normally used with an override admin file
See /var/pkg-get/admin-fullauto
'-s ftp://site/dir' temporarily override site to get from
and that the correct way to do what I want is to run:
true | sudo pkg-get upgrade
I admit that I neither knew nor sought to find out what "default pkgadd behaviour" would be, so that's my fault. I admit that I was the one who borked things by removing the pkg-get
command. I admit that I did not think to record all of this with script
, so at the moment I'm going on scribbled notes and memory. This is not a bug report, which is what I really should be writing. These are all things I did wrong or badly.
But isn't this what apt has fixed? On its worst day, I've never
had to set up yes
to be the drinking bird that would let me
get stuff done. And — when all was done, and I got to go back to
installing VLC — I've never had it depend on gcc.
Arghh. Arghh arghh arghh.
1 Comment
From: Philip Brown
11-October-2007-18:23:07
pkg-get comments
Hello,
i happened to run across blog on your woes with pkg-get.
You somehow managed to get your system in a VERY odd state :-}
pkg-get does not usually even attempt to download a package, that you
already have a installed version of.
If you have an older version.. it normally removes it automatically.
Also, you only stumbled across HALF the magic, for hands-off pkg-get
operation.
pkg-get -f upgrade
means that it will call pkgadd "please dont ask me questions" mode.
But you also need to do one more step, for pkgadd's sake, and provide an
"admin file", which lets you choose which questions to ignore, and which to
actually ask you.
pkg-get simplifies the matter for you a bit, by providing a
"dont ask ANY questions" file for you, in
/var/pkg-get/admin-fullauto
copy this file to /var/pkg-get/admin, and then "pkg-get -f upgrade" will no
longer ask you any further questions.
playing with piping "yes" to it, is never neccessary.
This is hinted at even with the "pkg-get -h" output, and more full details
are in the manpage.
Add a comment:
Name and email required; email is not displayed.
Related Posts
QRP weekend 08 Oct 2018
Open Source Cubesat Workshop 2018 03 Oct 2018
mpd crash? try removing files in /var/lib/mpd/ 11 Aug 2018