Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#20556 closed defect (worksforme)

Port should ask before performing time consuming or complex operations

Reported by: nick@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.7.1
Keywords: Cc:
Port:

Description

First of all -- thank you for contributing to open-source software! I know that it is a lot of work ...

But.

I just installed macports in order to run a trivial program.

I did 'sudo port install klavaro' ...

... and it installed *hundreds* of packages, most of which I neither need, want -- or already have perfectly functional copies of.

I did *not* ask for a general update of packages on my machine, and am fairly peeved that someone thought I might have.

It was unclear to me whether it was safe to abort the procedure -- once you see something being done unsafely, it's natural to doubt their ability to do something else safely (like cleaning up properly after an abort without leaving libraries half-copied).

So I let it run. When earlier I had tried to compile this trivial program from source, it complained of four dependencies. I dearly wish I had simply downloaded them.

If I hear someone reply "but you should have called port with the --head-in-sand option!" I will scream. Virtually. At least 'yum' has the decency to *ask permission*.

I have good reason to be skeptical of package managers like this -- ever since fink screwed up some system libraries for me and prompted a re-install of my system. That was many years ago but (as I am sure you'll understand) it left a bad taste in my mouth.

I decided to try a different package manager -- and got burned again.

Please, please, please, writers of open source, do not assume that your software is the most important thing in the world. It is the most important thing in the world to *you*. But to me it is a very small part of my day, and I just want to get on with that.

Now I find it complains of incompatible xcode versions. I don't want to fix it. Is there some way of removing port and undoing everything it did?

Change History (4)

comment:1 Changed 15 years ago by singingwolfboy@…

First, your request: yes, in fact, there is a very easy way to remove port and undoing everything it did. By default, Macports installs to the /opt/local directory, and keeps *everything* it does in that directory, including installed software. You should be able to just do a $ rm -rf /opt/ and everything should be back to the way it was before you installed Macports.

Second, the underlying principle. I definitely agree with you that port should ask permission by default before installing anything, the way yum does. Unfortunately, I am fairly new to the Macports community, and I have no idea how to go about doing that. :(

comment:2 Changed 15 years ago by blb@…

Component: portsbase
Resolution: worksforme
Status: newclosed

Hundreds? klavaro appears to need just gtk2, which brings in nearly 90 packages in total.

Since MacPorts will install necessary dependencies for whatever you tell it to install, then your request would basically mean every run of port would need to first ask, since it could involve quite a few dependencies; or it could be just a few, but some ports may take quite some time to build. Hence, any use of 'port install' may be time consuming.

For complete removal, see the the FAQ entry.

comment:3 in reply to:  1 Changed 15 years ago by nick@…

It's very kind of you to respond so quickly and courteously to my somewhat flamey message!

By default, Macports installs to the

/opt/local directory, and keeps *everything* it does in that directory,

Wow. That sounds ... very difficult to arrange for. Everything must need to be recompiled with totally different options. Perhaps that's why it was installing new versions of stuff I already had (like perl) ... because it wanted its *own* version?

comment:4 in reply to:  2 Changed 15 years ago by nick@…

I see now there were 74 packages it installed (before it got the xcode error). The original output of port was something like 800 lines -- you'll pardon me for not counting.

What made my eyes bug out was "sqlite3"; at that point I decided it was doing something uncalled-for. If that truly is in the dependency list then I apologize for freaking out. As I said, I've been burned before.

It still would be nice if port gave me a vague idea of why it was taking 20 minutes to install a *typing* program. If I understood what it was doing, I would be happier watching it do it.

Since MacPorts will install necessary dependencies for whatever you tell it to install, then your request would basically mean every run of port would need to first ask,

That's precisely what yum does ... it prints the dependency list and tells you what it's going to download. There are other things to dislike about yum, but that isn't one of them.

Note: See TracTickets for help on using tickets.