# Editing the the sources of a port before installation



## Michael-Sanders (Feb 1, 2012)

Question: What is the preferred method of modifying the sources of a given third party package _before its installed_? Allow me to clarify.

After installing Midnight Commander: [cmd=]sudo pkg_add -r mc[/cmd]

I found the package suffered from an ftp issue I sought to fix. I next removed mc, installed its port sources and after some wrestling with make patched the sources and installed the modified version successfully.

(Please bear with me here, I'm new to FreeBSD and am attempting to describe the problem using proper nomenclature).

If one needs to edit the sources of a port, yet one can only invoke make (that I'm currently aware of) to start the build process, how is it possible to _first edit_, then build a port's sources?

If my case to solve this, I invoked make followed by CTRL-C to disrupt the build process, edited the necessary file, then ran make again. But I'm thinking I've approached things the hard way when a better, more streamlined solution likely exists.


----------



## DutchDaemon (Feb 1, 2012)

See the TARGETS in ports(7). There's much more you can do with make other than starting the build.


----------



## Michael-Sanders (Feb 1, 2012)

Yes, I see now under section TARGETS of ports(7): fetch & extract apply (thank you DutchDaemon).



> http://forums.freebsd.org/showthread.php?t=8816



I'll study this now.


----------



## phoenix (Feb 1, 2012)

Have a gander through the Porter's Handbook, as well.  Especially the section on Patching Sources.


----------



## SirDice (Feb 2, 2012)

You basically want to do these:

```
make fetch     # fetches the distfile
make extract   # extracts the distfile into the work directory
make patch     # applies any specific FreeBSD patches
make configure # runs ./configure
```

After that you could edit the sources in the work directory. Once finished you can continue with the install.


----------



## wblock@ (Feb 2, 2012)

But because this is make(1), earlier steps are done automatically.  In other words, make patch is equivalent to make fetch extract patch.


----------



## nomadd (Jul 4, 2015)

Following SirDice's advice, I finally got rid of that annoying bug with directory naming dialog in Krusader (first symbol entered is not editable): required changing just a single word in the sources.


----------



## wblock@ (Jul 4, 2015)

Please submit a bug report, either for the FreeBSD port or the upstream project.


----------



## nomadd (Jul 4, 2015)

wblock@ said:


> Please submit a bug report, either for the FreeBSD port or the upstream project.


Done.


----------

