Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
GENPATCH(1)		FreeBSD	General	Commands Manual		   GENPATCH(1)

     genpatch -- generate patch	quickly	in standard FreeBSD ports format

     genpatch newfile
     genpatch oldfile newfile

     This utility is always called by portfix(1), but quite often it is	useful
     in	its own	right.

     It	creates	patches	using the standard FreeBSD ports format	defined	by the
     "make makepatch" ports utility, but there are different operational

     If	genpatch is called when	the current working directory is a subdirec-
     tory of WRKDIRPREFIX if defined or	PORTSDIR if not, then a	patch will be
     saved in the current directory using the naming standard used by "make
     makepatch".  Note that the	utility	assumes	that it	has been executed in
     the WRKSRC	directory, the standard	location for applying ports patches.

     If	genpatch is executed outside of	WRKDIRPREFIX (or PORTSDIR), then a
     patch will	not be created.	 The contents of the patch will	be send	to
     stdout, so	the user will have to direct it	to a file manually as desired.

     If	only one argument is given, genpatch will search for a file named
     "<newfile>.intermediate" and if found, it will generated diff output be-
     tween it and [newfile].  If that file doesn't exist, it will search for
     "<newfile>.orig" and attempt to create diff output	between	it and

     genpatch will abort if no arguments or more than 2	arguments are given.
     If	only one argument ( [newfile] )	is given, then a regular file called
     "<newfile>.orig" or "<newfile>.intermediate" must exist otherwise
     genpatch will abort.  If two arguments are	given, both must be existing
     regular files.

     WORKTREE	 Overrides hardcoded WRKDIRPREFIX (or PORTSDIR).  This is use-
		 ful for ports outside of the tree or when genpatch was	in-
		 stalled via binary packages and WRKDIRPREFIX is defined (or
		 PORTSDIR is non-standard)

     1.	  FreeBSD does not set WRKDIRPREFIX by default
     2.	  The default PORTSDIR for FreeBSD is /usr/ports so on standard	Free-
	  BSD systems genpatch will generate a patch file in the current di-
	  rectory if executed on any subdirectory of /usr/ports.
     3.	  Dragonfly sets WRKDIRPREFIX to /usr/obj/dports by default, so	on
	  standard systems patch files are generated automatically if genpatch
	  is executed from a subdirectory of /usr/obj/dports.
     4.	  The root directory used for this calculation is permanently set when
	  genpatch is built, but it can	be overridden with the WORKTREE	envi-
	  ronment variable.

     dupe(1), portfix(1)

FreeBSD	13.0			 17 May, 2015			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help