workflow question: how do you maintain the port in sync with upstream?

Adam Weinberger adamw at adamw.org
Tue Aug 14 03:06:10 UTC 2018


On Mon, Aug 13, 2018 at 4:28 PM Helen Koike <helen.koike at collabora.com> wrote:
>
> Hello,
>
> I am new to the community, I am maintaining two packages and I would
> like to check with you if there is a better workflow to do this.
>
> The upstream project of the port I am maintaining is held in github, and
> I also have patches in the /usr/ports/sysutils/myport/file/ folder.
>
> So I keep a fork of the upstream project with a branch containing a
> commit with the patches from the /usr/ports/sysutils/myport/file/.
>
> Every time I need to update the port to a newer version, I do a git pull
> in this branch, then I run a script [1] to re-generate the patches in
> the /usr/ports/sysutils/myport/file/
>
> This script basically generates a file.orig of all modified files in
> git, then copy the modified file to WORK_DIR, then run make makepatch.
>
>
> for file in ${CHANGES}; do
>         mv ${WORK_DIR}/${file} ${WORK_DIR}/${file}.orig
>         cp ${PROJECT_PATH}/${file} ${WORK_DIR}/${file}
> done
> make makepatch
>
>
> I would like to know if there is a better way to do this (some tool that
> I am not aware of?).

IIUC, the process you're describing seems to be rebasing your changes
and then generating diffs. You might have an easier time if you just
do that: rebase, and then generate a diff (see the last point here).

Your script automates some of the routine Makefile changes, and while
there are some tools in ports-mgmt/ that can automate that, we don't
generally recommend them.

It's common for Makefiles to have a maintainer-update: target that
keeps the repetitive update tasks in the Makefile (which also helps
the next person to maintain the port).

Also, where many files are modified on a continually-changing basis,
it's acceptable (though less systemically desirable) to put all your
patches into one file. The benefit is that you can generate that one
file with a single git diff, and it makes PR submission far, far
simpler.

Do any of those help?

# Adam


-- 
Adam Weinberger
adamw at adamw.org
https://www.adamw.org


More information about the freebsd-ports mailing list