Date: Tue, 23 Mar 2010 15:45:47 -0400 From: Greg Larkin <glarkin@FreeBSD.org> To: Paul Schmehl <pschmehl_lists@tx.rr.com> Cc: freebsd-questions@freebsd.org Subject: Re: Elegant way to hack port source Message-ID: <4BA91A6B.3030001@FreeBSD.org> In-Reply-To: <83BEEB5783CC06E1C802658D@utd65257.utdallas.edu> References: <a14066a01003190935t4bbef41esc44c60a5b00e6144@mail.gmail.com> <20100319170159.GB71392@slackbox.erewhon.net> <20100319200130.GE265@comcast.net> <3D386E86A152519AA850205C@utd65257.utdallas.edu> <a14066a01003191404u56fd3f71mbfacff83839b7a2c@mail.gmail.com> <8B123BA51B43B4AAC86E0F3C@utd65257.utdallas.edu> <20100319220126.GH265@comcast.net> <2C40431FF3AE42C7B0234A97@utd65257.utdallas.edu> <20100319222143.GI265@comcast.net> <4BA40295.4090006@FreeBSD.org> <83BEEB5783CC06E1C802658D@utd65257.utdallas.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Paul Schmehl wrote: > --On Friday, March 19, 2010 19:02:45 -0400 Greg Larkin > <glarkin@FreeBSD.org> wrote: >> >> Here's something else that I've found really useful as a port creator, >> maintainer and troubleshooter. If I want to make some additional >> changes to a source file that is patched by a file stored in >> files/patch-...., I'll do this: >> >> make patch # extracts source and patches files >> cd work/foobar/... >> # Now make additional edits in patched file, leaving the >> # .orig file alone >> cd ../back/to/port/directory >> make makepatch >> >> The makepatch target recurses through the work/foobar directory and >> creates diffs for all file.ext/file.ext.orig pairs. It writes them to >> the files/ directory with the patch- prefix on each so the patch target >> processes them. >> >> The only thing to watch out for here, is that makepatch has its own file >> naming convention that doesn't always mirror the port creator's. For >> instance, some ports have patch files named "patch-aa", "patch-ab", etc. >> The makepatch target will recreate them with filenames based on the >> directory and filename of the file to be patched during the build. >> >> Hope that helps, > > Man, does it ever. Thanks for that. > > Which brings me to an obvious question. Where can I go to find out what > all of the make targets are? Is it in /usr/ports/Mk/? > Hi Paul, Yes, that's the first place to look, and there's a lot of documentation about the different variable that control the build process at the top of that file, too. Here's a command that gives a rough list of the available targets: egrep '^[a-zA-Z0-9-]+:$' /usr/ports/Mk/bsd.port.mk | sort -u bsd.port.mk includes various other .mk files depending on what flags are set in the port Makefile, /etc/make.conf and the environment. Hmm, I just found a new target named "update-patches", and I have to go investigate what that does! Regards, Greg - -- Greg Larkin http://www.FreeBSD.org/ - The Power To Serve http://www.sourcehosting.net/ - Ready. Set. Code. http://twitter.com/sourcehosting/ - Follow me, follow you -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFLqRpr0sRouByUApARAskmAJ93A205wIVNU4Mj6IHR7ZxDWFGn8gCfdWch OtQ1c5gbRGeKecdLutJG+JE= =xBkv -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BA91A6B.3030001>