Date: Tue, 14 Aug 2018 09:56:24 -0300 From: Helen Koike <helen.koike@collabora.com> To: blubee blubeeme <gurenchan@gmail.com> Cc: freebsd-ports@freebsd.org Subject: Re: workflow question: how do you maintain the port in sync with upstream? Message-ID: <c0e1f68d-d1c7-b74d-b058-d758f46a7e1b@collabora.com> In-Reply-To: <CALM2mEkV-pyQneSiSrWuBQ2VxoM-UAADSDjm5o2HhjD4FWBQYA@mail.gmail.com> References: <05457c2b-b85c-a929-20e7-38ff1b2899d6@collabora.com> <CALM2mEmnrLmLApeuun9h2OPJbj_wMXY9u-q=PUGyNpy5w8XfQg@mail.gmail.com> <87211ccd-bb2f-cd03-ecde-fd123d0c9ca5@collabora.com> <CALM2mEkV-pyQneSiSrWuBQ2VxoM-UAADSDjm5o2HhjD4FWBQYA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08/13/2018 09:50 PM, blubee blubeeme wrote: > > > On Tue, Aug 14, 2018, 08:26 Helen Koike <helen.koike@collabora.com > <mailto:helen.koike@collabora.com>> wrote: > > > > On 08/13/2018 08:00 PM, blubee blubeeme wrote: > > > > > > On Tue, Aug 14, 2018, 06:30 Helen Koike <helen.koike@collabora.com > <mailto:helen.koike@collabora.com> > > <mailto:helen.koike@collabora.com > <mailto: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?). > > > > [1] > > > https://github.com/helen-fornazier/bsd-update-patches/blob/master/freebsd-gce-update.sh > > > > Thanks > > Helen > > > > _______________________________________________ > > freebsd-ports@freebsd.org <mailto:freebsd-ports@freebsd.org> > <mailto:freebsd-ports@freebsd.org > <mailto:freebsd-ports@freebsd.org>> mailing > > list > > https://lists.freebsd.org/mailman/listinfo/freebsd-ports > > To unsubscribe, send any mail to > > "freebsd-ports-unsubscribe@freebsd.org > <mailto:freebsd-ports-unsubscribe@freebsd.org> > > <mailto:freebsd-ports-unsubscribe@freebsd.org > <mailto:freebsd-ports-unsubscribe@freebsd.org>>" > > > > Submit your patches upstream, once they get accepted your work on > > FreeBSD is greatly simplified. > > > > Best, > > Owen > > > > I am doing that, but there are some changes that I couldn't include in > upstream yet. > > Helen > > Can you give an example of types of changes can't be upstream yet and > their reasoning why not? > > Best, > Owen > Sure, e.g. "service -e" vs "service --status-all", there is also sed vs gsed (but it just came to mind that I could add this replacement inside the Makefile) [1] https://github.com/freebsd/freebsd-ports/blob/master/sysutils/google-compute-engine-oslogin/files/patch-bin_google__oslogin__control#L54 Please, let me know if there is a better way to solve this, meanwhile I am keeping this patch in the port and I always need to rebase my changes. And as a general case, I sometimes implement a fix only for FreeBSD e.g. [2], then I think in the better way to include in the upstream code e.g. [3] while keeping portability with Linux, and sometimes it takes a while for the patch to be merged in upstream, so meanwhile I need to rebase the patch in every update of the ports. [2] https://github.com/freebsd/freebsd-ports/blob/master/sysutils/py-google-compute-engine/files/patch-google__compute__engine_networking_ip__forwarding_ip__forwarding__utils.py [3] https://github.com/GoogleCloudPlatform/compute-image-packages/pull/622 Thanks Helen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c0e1f68d-d1c7-b74d-b058-d758f46a7e1b>