Re: I did something stupid and now can't uninstall a port
> 19 dec. 2017 kl. 20:24 skrev Ken Cunningham : > > I have a port I'm working on, with a gui subport: > > sheepshaver > sheepshaver-gui > > I accidentally made a typo installing the subport, and I typed this: > > sudo port -v install subport=sheepshaver=gui > > > now I have a port installed like this: > > $ port -v installed | grep sheep > sheepshaver=gui @20171215_0 (active) platform='darwin 10' archs='x86_64' > date='2017-12-19T16:50:16-0800' > > > and I can't uninstall it: Seems like this family of errors could be vanquished by judicious application of a fuzzer. I don’t know if there are any ready made interfaces between tcl and popular fuzzers, though. Perhaps one could be of use to MacPorts. I don’t have any time to offer to mess with that so this is merely to document my thoughts. Cheers, Kuba
Re: I did something stupid and now can't uninstall a port
On 2017-12-19, at 6:51 PM, Joshua Root wrote: > > Well, that's unfortunate. We probably shouldn't allow port names that > parseFullPortSpec doesn't recognise as such. (Or add a syntax to > explicitly specify name,version,revision,variants separately and > unambiguously.) > > This particular case at least isn't possible in master any more, since > specifying nonexistent subports causes an error. > > If you add the mistake-name to the index, you should be able to select > it for uninstallation with an expression like "installed and > sheepshaver\*". Just need to add > > subport sheepshaver=gui {} > > to the portfile and run portindex. > > - Josh That worked, thanks! I added the weird subport as you said, and then sudo port uninstall sheepshaver\* cleaned it out. Much appreciated. Ken
Re: I did something stupid and now can't uninstall a port
No luck with either -- thanks for suggestion. K On 2017-12-19, at 6:32 PM, Jeremy Lavergne wrote: > Just a couple shell things to try: > > Have you tried using single quotes around the portname? > > How about using a double hyphen before portname e.g. `-- portname`? > > On 12/19/2017 08:24 PM, Ken Cunningham wrote: >> I have a port I'm working on, with a gui subport: >> >> sheepshaver >> sheepshaver-gui >> >> I accidentally made a typo installing the subport, and I typed this: >> >> sudo port -v install subport=sheepshaver=gui >> >> >> now I have a port installed like this: >> >> $ port -v installed | grep sheep >> sheepshaver=gui @20171215_0 (active) platform='darwin 10' archs='x86_64' >> date='2017-12-19T16:50:16-0800' >> >> >> and I can't uninstall it: >> >> $ sudo port uninstall sheepshaver=gui >> >> (does nothing) >> >> $ sudo port uninstall sheepshaver >> >> (does nothing) >> >> $ port -v installed | grep sheep >> sheepshaver=gui @20171215_0 (active) platform='darwin 10' archs='x86_64' >> date='2017-12-19T16:50:16-0800' >> >> >> I can't seem to uninstall, deactivate, or otherwise work with this port. >> >> If I install sheepshaver, and then try to >> >> $ sudo port uninstall sheepshaver=gui >> >> it uninstalls sheepshaver, but leaves sheepshaver=gui behind. >> >> Weirdness. >> >> Ken >> >
Re: I did something stupid and now can't uninstall a port
On 2017-12-20 12:24 , Ken Cunningham wrote: > I have a port I'm working on, with a gui subport: > > sheepshaver > sheepshaver-gui > > I accidentally made a typo installing the subport, and I typed this: > > sudo port -v install subport=sheepshaver=gui > > > now I have a port installed like this: > > $ port -v installed | grep sheep > sheepshaver=gui @20171215_0 (active) platform='darwin 10' archs='x86_64' > date='2017-12-19T16:50:16-0800' > > > and I can't uninstall it: > > $ sudo port uninstall sheepshaver=gui Well, that's unfortunate. We probably shouldn't allow port names that parseFullPortSpec doesn't recognise as such. (Or add a syntax to explicitly specify name,version,revision,variants separately and unambiguously.) This particular case at least isn't possible in master any more, since specifying nonexistent subports causes an error. If you add the mistake-name to the index, you should be able to select it for uninstallation with an expression like "installed and sheepshaver\*". Just need to add subport sheepshaver=gui {} to the portfile and run portindex. - Josh
Re: I did something stupid and now can't uninstall a port
Just a couple shell things to try: Have you tried using single quotes around the portname? How about using a double hyphen before portname e.g. `-- portname`? On 12/19/2017 08:24 PM, Ken Cunningham wrote: > I have a port I'm working on, with a gui subport: > > sheepshaver > sheepshaver-gui > > I accidentally made a typo installing the subport, and I typed this: > > sudo port -v install subport=sheepshaver=gui > > > now I have a port installed like this: > > $ port -v installed | grep sheep > sheepshaver=gui @20171215_0 (active) platform='darwin 10' archs='x86_64' > date='2017-12-19T16:50:16-0800' > > > and I can't uninstall it: > > $ sudo port uninstall sheepshaver=gui > > (does nothing) > > $ sudo port uninstall sheepshaver > > (does nothing) > > $ port -v installed | grep sheep > sheepshaver=gui @20171215_0 (active) platform='darwin 10' archs='x86_64' > date='2017-12-19T16:50:16-0800' > > > I can't seem to uninstall, deactivate, or otherwise work with this port. > > If I install sheepshaver, and then try to > > $ sudo port uninstall sheepshaver=gui > > it uninstalls sheepshaver, but leaves sheepshaver=gui behind. > > Weirdness. > > Ken >
I did something stupid and now can't uninstall a port
I have a port I'm working on, with a gui subport: sheepshaver sheepshaver-gui I accidentally made a typo installing the subport, and I typed this: sudo port -v install subport=sheepshaver=gui now I have a port installed like this: $ port -v installed | grep sheep sheepshaver=gui @20171215_0 (active) platform='darwin 10' archs='x86_64' date='2017-12-19T16:50:16-0800' and I can't uninstall it: $ sudo port uninstall sheepshaver=gui (does nothing) $ sudo port uninstall sheepshaver (does nothing) $ port -v installed | grep sheep sheepshaver=gui @20171215_0 (active) platform='darwin 10' archs='x86_64' date='2017-12-19T16:50:16-0800' I can't seem to uninstall, deactivate, or otherwise work with this port. If I install sheepshaver, and then try to $ sudo port uninstall sheepshaver=gui it uninstalls sheepshaver, but leaves sheepshaver=gui behind. Weirdness. Ken