Rationale behind naming "dot d" (.d) directories

Ryan Schmidt ryandesign at macports.org
Wed Apr 22 23:25:31 PDT 2009


On Apr 23, 2009, at 00:46, Jordan K. Hubbard wrote:

> On Apr 22, 2009, at 10:33 PM, Ryan Schmidt wrote:
>
>> The reason I ask is for a change I'm working on for the php5  
>> extension ports. Currently, ports like php5-memcache just print a  
>> message telling the user to add these lines to their php.ini:
>>
>> extension_dir=/opt/local/lib/php/extensions/no-debug-non-zts-20060613
>> extension=memcache.so
>>
>> But php can be configured to look for additional ini files in a  
>> certain directory. So I would like to modify the php5 port to do  
>> this, and then modify ports like php5-memcache to just install a  
>> file like e.g. memcache.ini which contains these lines. Then the  
>> extension will automatically be loaded and the user won't have to  
>> do it manually.
>
> Sounds laudable, just as long as you also figure out how to undo  
> this when the php port is removed.  Nothing worse than something  
> which installs itself with side-effects yet fails to remove those  
> side-effects when it's removed / upgraded away. :)

There shouldn't be side-effects. All files will be registered to the  
corresponding ports, and will be uninstalled by MacPorts if the ports  
are uninstalled. So e.g. uninstalling php5-memcache would remove  
memcache.ini.


>> Currently, the php.ini is in /opt/local/etc. This is a little out  
>> in the open and I would like to move it into a directory of its  
>> own, probably named for the port, so, say, /opt/local/etc/php5.  
>> This would also be a step toward allowing php4 and php5 (and a  
>> hypothetical future php6) to be installed simultaneously which is  
>> desirable.
>
> Sounds entirely reasonable.
>
>> Now I need a directory in which php5 extension ports will install  
>> their small additional .ini files. I don't think it should be the  
>> same /opt/local/etc/php5 directory because php is set up to first  
>> look for its one true php.ini and then load all the additional ini  
>> files in a directory; this might cause php.ini to be parsed twice,  
>> which is at best wasteful and at worst could cause problems.
>
> How about having a "system" path of ${prefix}/etc/php5 and $ 
> {prefix}/var/db/php5 for the additional bits?

"man porthier" says ${prefix}/var/db is for "misc. automatically  
generated system-specific database files". These would only be small  
text files containing configuration information, so they're not  
databases, so I don't know if this would be the right place... though  
getting them out of ${prefix}/etc isn't entirely a bad idea, since I  
don't want users modifying them. Would a place under ${prefix}/share  
be something to consider? They are "architecture-independent  
files"... Then again, though the user shouldn't modify the .ini files  
we install, the user may want to add her own .ini files.




More information about the macports-dev mailing list