Prompt what package to install when it is missing

Ryan Schmidt ryandesign at
Fri Nov 11 11:58:07 PST 2011

We should keep the discussion on the mailing list.

On Nov 11, 2011, at 13:32, Jeremy Lavergne wrote:

>> your best bet is
>> to use an Internet search engine, e.g. Google.
> This isn't the first time this has come up; why are we waiting for someone
> to send us patches? :-P
> In the most naive case, we can have the server grab a list of files
> per-port, grep for just the executables (naively do bin), trim the paths
> off, and slap those into an sqlite db to bundle with the portfiles.
> Then we'd mimic the "run this if program not found" behavior that bash is
> told to use on Ubuntu to search the sqlite db.
> Is this something I should work to hammer out more thoroughly?  Are there
> any unspoken policies on schemas going into the registry?

That would answer the present question "what port provides this executable program in ${prefix}/bin" but what about ports like apache2 that install their binaries elsewhere? What about GUI programs? What about manpages or perl modules or php modules etc. that people sometimes ask about?

You talk of keeping a database of files, populated by the buildbot, I presume. What about ports the buildbot cannot build? What about differences in installed files based on variant or platform? Where would the database live -- on the server only, or copied to each user's computer? If on the server only, how does MacPorts query it? If on each user's computer, how is it synced?

I also don't know how to change bash's behavior when a command is not found, but I guess that capability exists. How would we make this change for users? Currently the user's .profile is modified only by the installer package postflight script; how would users who selfupdate get this change? Do we take this opportunity to get away from inserting our code directly into .profile and switch to inserting just a command to source a script of our own, which I believe we already have in the repository but are not using yet?

More information about the macports-users mailing list