Date: Sun, 19 Aug 2018 02:07:50 -0300 From: Helen Koike <helen.koike@collabora.com> To: freebsd-ports@freebsd.org Subject: Re: workflow question: how do you maintain the port in sync with upstream? Message-ID: <59108090-e771-f20f-244e-9b6e98427128@collabora.com> In-Reply-To: <CALM2mE=hXWocn8DDA23Qy6SEaFZg6OtoAQsAYWwhzc5eObwGpA@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> <c0e1f68d-d1c7-b74d-b058-d758f46a7e1b@collabora.com> <CALM2mE=hXWocn8DDA23Qy6SEaFZg6OtoAQsAYWwhzc5eObwGpA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08/14/2018 11:41 AM, blubee blubeeme wrote: > On Tue, Aug 14, 2018 at 8:56 PM Helen Koike <helen.koike@collabora.com> > wrote: > >> >> >> 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 one is fairly straight forward, you can simply replace that string > with a regex command; > This is an example of running a replace command for strings after the patch > phase of the build; > > post-patch: > @${REINPLACE_CMD} -e 's|for Linux|for FreeBSD|g' ${WRKSRC}/README > > > >>> > >>> > 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 >> > Depending on how drastic the changes are, you can use the above command to > simply replace strings; > There's also binary alias, that allows to replace sed with gsed: > https://www.freebsd.org/doc/en/books/porters-handbook/binary-alias.html > > Speaking of which, FreeBSD has access to all the GNU tools such as; > gmake [gnu make] > gsed [gnu sed] > > if it's only a few commands you can use binary alias. Interesting, but unfortunately (if I understand correctly) this is only for build time no? but I need to replace sed by gsed in the final script, not just in the build time. Thanks Helen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?59108090-e771-f20f-244e-9b6e98427128>