Date: Mon, 13 Aug 2018 21:05:53 -0600 From: Adam Weinberger <adamw@adamw.org> To: helen.koike@collabora.com Cc: freebsd-ports@freebsd.org Subject: Re: workflow question: how do you maintain the port in sync with upstream? Message-ID: <CAP7rwchVHEK9-ojKD1wi83LpCZCh9mZ8V2qQapCxAZeigFQK4Q@mail.gmail.com> In-Reply-To: <05457c2b-b85c-a929-20e7-38ff1b2899d6@collabora.com> References: <05457c2b-b85c-a929-20e7-38ff1b2899d6@collabora.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Aug 13, 2018 at 4:28 PM Helen Koike <helen.koike@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@adamw.org https://www.adamw.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP7rwchVHEK9-ojKD1wi83LpCZCh9mZ8V2qQapCxAZeigFQK4Q>