Date: Tue, 14 Aug 2018 11:20:59 -0300 From: Helen Koike <helen.koike@collabora.com> To: Adam Weinberger <adamw@adamw.org> Cc: freebsd-ports@freebsd.org Subject: Re: workflow question: how do you maintain the port in sync with upstream? Message-ID: <d7f99e6d-7042-8a52-9b26-c0efaf88969c@collabora.com> In-Reply-To: <CAP7rwchVHEK9-ojKD1wi83LpCZCh9mZ8V2qQapCxAZeigFQK4Q@mail.gmail.com> References: <05457c2b-b85c-a929-20e7-38ff1b2899d6@collabora.com> <CAP7rwchVHEK9-ojKD1wi83LpCZCh9mZ8V2qQapCxAZeigFQK4Q@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08/14/2018 12:05 AM, Adam Weinberger wrote: > 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). I didn't know about this target, I'll take a look. Thanks. > > 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. Is there a way to easily transform a git patch to the FreeBSD file/*.patch format? Because I use make makepatch, and it will generate several patches anyway. Once I used "diff -Nur", but it doesn't seem to be the same exact format as the one generated by make makepatch. > > Do any of those help? > > # Adam > > Thanks Helen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d7f99e6d-7042-8a52-9b26-c0efaf88969c>