# Installing modified open-source software



## Jey (Feb 2, 2015)

I have a very simple question. I'm a complete beginner regarding freebsdFreeBSD and apologize if the solution is obvious.

I'm running freebsdFreeBSD on a home server which I access through a ssh client (putty) from my personal computer. On this personal computer I've downloaded an opensource xmpp-server which I modified. This server has a make file which should compile it to a freebsdFreeBSD compatible release.

Now my question is: How do I install the xmpp-server on my home server through ssh? All tutorials I found are showing how to install ports. As I modified the software, I cannot use a port.

I guess I have to copy the xmpp-server directory to my home server and simply run the makefile. If this is the case, to which directory should I copy the software and more importantly how do I copy the software to my home server?

Any help on that is welcomed.


----------



## Jey (Feb 2, 2015)

Thanks for pointing me to scp(1). Looks like it is what I'm looking for.

Well, I said I was a complete beginner in FreeBSD (or any other server-OS as well for that matter) not in Erlang (though far from being an expert here too). I had to modify the server to implement some features that are not doable with the XMP-protocol.


----------



## ANOKNUSA (Feb 2, 2015)

Jey said:


> All tutorials I found are showing how to install ports. As I modified the software, I cannot use a port.



Of course you can. Why wouldn't you be able to? FreeBSD is over twenty years old; kinda hard to believe the developers would never consider allowing users to install modified the source code in all that time. 

Even if you intend to copy the source to FreeBSD and compile it there, you still need to account for any changes that may be needed (far too many makefiles are written with GNU and the Linux filesystem in mind). Not to mention you'd be installing software that couldn't be tracked by the system should modifications, updates or uninstallation be necessary. Stick with doing it The Right Way™ and use ports:

Read the relevant sections of the Handbook again, if necessary.
Read the make(1) man page for reference.
Read the ports(7) man page for reference.
Update to the latest ports tree with your preferred method.
Find the XMPP server (I'm not sure what XMPP is, so I can't say what the port/package name is).
Run `make extract` as root in the port's top-level directory (/usr/ports/<category>/<port name>)
This fetches the source code and extracts it to a directory called work. Enter that directory and modify the source as needed.
Return to the port's top-level directory and run `make install` as root.
Repeat as necessary.
Of course, if an exact port of your software doesn't already exist then you'll need to create one.


----------



## Jey (Feb 3, 2015)

Hi Anoknusa, thank you very much. That makes sense! I'll do it this way.


----------

