Is this still the preferred way to create your own pkg repo. Any caveats I should keep in mind.
"Preferred" is just that: personal preference. There are numerous ways to set up & maintain a repository; I myself prefer using Portmaster because it can keep my repository updated based on my installation habits. So basically... an installed and/or updated port gets both added to the system as well as the local repository.
(edit => turns out I even wrote
a guide about this, maybe that can give you some ideas as well?).
From what I can tell most "port managers" can handle this process these days (Poudriere, Portmaster, Synth (?)). But at the same time, it's also relatively easy to script something yourself... All you basically need is
pkg-create(8) and
pkg-repo(8), maybe with a bit of OpenSSL to secure things.
But to actually address your issue:
My current goal is to get last proftpd version 1.3.9 as a package to deploy on some servers.
That shouldn't be too hard... If this is only about one package then you could just build it on your system, use
pkg create -x proftp to get the package afterwards (or use the
make package build target). Then you can easily distribute the package to your other server(s).
Keep in mind that
pkg can use several transfer protocols to access a package. So the main server could even place the package online through a webserver, which can then be addressed by the other servers directly. Something like:
pkg add http://my.server/repo/proftpd_latest.pkg.