# How to create a new port?



## Deleted member 66267 (Feb 3, 2021)

And the proper procedure to get it merged in the FreeBSD ports?


----------



## SirDice (Feb 3, 2021)

You submit the request and attach a diff to it here: https://bugs.freebsd.org/bugzilla/

Make sure you run your port through a poudriere-testport(8) and portlint(1) so it conforms to the rules.


----------



## chrbr (Feb 3, 2021)

Dear also-ran,
https://docs.freebsd.org/en/books/porters-handbook/ gives a good overview.


----------



## Deleted member 66267 (Feb 3, 2021)

SirDice said:


> You submit the request and attach a diff to it here: https://bugs.freebsd.org/bugzilla/
> 
> Make sure you run your port through a poudriere-testport(8) and portlint(1) so it conforms to the rules.


Could I just send them a tarball containing my port?


----------



## SirDice (Feb 3, 2021)

I'm honestly not sure at the moment. Some port committers don't mind, at least not for new ports, some do mind. And there's also a transition from subversion to git going on right now. I maintain a port but it's an existing port, so I just upload a diff with the changes. That gets applied and approved by a committer and then it's pushed to the ports tree.

I'd try submitting a tar archive but be prepared that you may have to replace it with a diff or patch file when a committer asks for it. As long as you make it as easy as possible for them things usually work out quite quickly. When you submitted your PR wait some time, if nobody looked at it for, say, 2 weeks, then send a ping to the freebsd-ports@ mailing list. It's also worthwhile to sign up for that mailing list in any case. If you have specific questions on how to implement certain port related things you can ask there too.


----------



## George (Feb 4, 2021)

also-ran said:


> Could I just send them a tarball containing my port?



I once put my port's source files in a tarball on github. I got this complaint:

"Also it seems strange that people checking out from git should have to download tarballs. Ideally it should be pulling a tag, or a file from releases."


----------



## tingo (Feb 4, 2021)

If you use github, ideally you should fork the repository and implement the changes in your fork, then create a pull request. No need for tarballs.


----------

