Install suggestions for port ASSP

Ryan Schmidt ryandesign at macports.org
Fri Feb 27 05:14:01 PST 2009


On Feb 27, 2009, at 06:59, Scott Haneda wrote:

> On Feb 27, 2009, at 4:42 AM, Ryan Schmidt wrote:
>> On Feb 26, 2009, at 19:24, Scott Haneda wrote:
>>
>>> My ASSP portfile I have now, instead of using xinstall, I just  
>>> copy the directory into place.   I need a little guidance no the  
>>> best way to do this.
>>>
>>> ASSP will end up in /opt/local/var/ASSP
>>>
>>> If ASSP is not there, I just move the entire distro in.  On first  
>>> run of ASSP, a few files and folders are made, the user is good  
>>> to go.
>>>
>>> How do I deal with updates to ASSP?  The files that were made on  
>>> first run, as well as config files that have been edited over  
>>> time, can not be replaced.
>>>
>>> I believe if I do this as a entire directory, I am going to mess  
>>> up, unless there is a merge or sync command I am not seeing.
>>>
>>> Would it then be correct to simply install each file one at a  
>>> time, then they get registered, and the port upgrade can just  
>>> touch those files, leaving any user created files in the same  
>>> area alone?
>>
>> It does not matter how you put files into the destroot, whether  
>> it's by file copy or xinstall or make install or whatever. As long  
>> as files are in the destroot, MacPorts will see them and register  
>> them to the port.
>
> Ok, thanks.  I will have to think the best way to do this then.
>
>> You should not install any files the user will modify, because  
>> they will be deleted and overwritten by your port's new files if  
>> they upgrade the port. Instead, install sample files which the  
>> user is to copy and then modify.
>
>
> I hope there is a provision for dealing with this. ASSP has a built  
> in http server, done in perl, which allows a web based admin.  That  
> admin, reads and writes files in the ASSP/files, ASSP/db and a few  
> other places.  The user is not modifying them directly, they are  
> more like "preferences" for ASSP.
>
> There are no sample files to install, they are sparse config/ 
> instruction files, that get filled over time, either by the user  
> admin, or automatically by the application, or both.
>
> How do I protect these files? I suspect this is analogous to how to  
> you protect mysql databases, but those are not pre-installed in  
> most cases.

You "protect" these files by having the port not install them in the  
destroot.

You can install samples of these files in the destroot with different  
names or in a "sample conf" directory. In the post-activate phase,  
you can check if the user already has copies of these files in the  
locations where the software will use them. If not, you can copy the  
files there (since you're doing this in post-activate and copying  
directly to ${prefix} these files will not be registered to the port).




More information about the macports-users mailing list