force make to not apply the patches

Status
Not open for further replies.

kenorb

Well-Known Member

Reaction score: 3
Messages: 330

Code:
> sudo make
===>  Patching for mysql-workbench-oss52-5.2.1_4
===>   Converting DOS text files to UNIX text files
===>  Applying extra patch /usr/ports/databases/mysql-workbench52/files/52-patch-frontend__linux__workbench__Makefile.am
1 out of 1 hunks failed--saving rejects to frontend/linux/workbench/Makefile.am.rej
*** Error code 1

Stop in /usr/ports/databases/mysql-workbench52.
*** Error code 1
Which option is to force make to ignore applying the patches?

Tried all which had FORCE in their name:)
Code:
> grep FORCE /usr/ports/Mk/*
/usr/ports/Mk/bsd.port.mk:# FORCE_MAKE_JOBS
/usr/ports/Mk/bsd.port.mk:# FORCE_PKG_REGISTER
/usr/ports/Mk/bsd.port.mk:.if defined(MAKE_JOBS_SAFE) || defined(FORCE_MAKE_JOBS)
/usr/ports/Mk/bsd.port.mk:.if defined(FORCE_MAKE_JOBS) && !defined(MAKE_JOBS_SAFE)
/usr/ports/Mk/bsd.port.mk:BUILD_FAIL_MESSAGE+=	"You have chosen to use multiple make jobs (parallelization) for all ports.  This port was not tested for this setting.  Please remove FORCE_MAKE_JOBS and retry the build before reporting the failure to the maintainer."
/usr/ports/Mk/bsd.port.mk:.if defined(FORCE_PACKAGE)
/usr/ports/Mk/bsd.port.mk:		for afile in ${FORCE_FETCH}; do \
/usr/ports/Mk/bsd.port.mk:		for afile in ${FORCE_FETCH}; do \
/usr/ports/Mk/bsd.port.mk:.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER)
/usr/ports/Mk/bsd.port.mk:				${ECHO_MSG} "      without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \
/usr/ports/Mk/bsd.port.mk:			    ${MAKE} ${.MAKEFLAGS} FORCE_FETCH="$$refetchlist" FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" fetch); then \
/usr/ports/Mk/bsd.port.mk:.if defined(FORCE_PKG_REGISTER)
/usr/ports/Mk/bsd.python.mk:.elif defined(FORCE_PYTHON_VERSION)
 

eye

Member

Reaction score: 9
Messages: 41

There is no such option. Look at the do-patch target in bsd.port.mk, it applies every file as a patch from PATCHDIR with certain filename prefix. Read every target you exeuccccccccccccccMakefiles are usually read as dependency graphs.

Note, you can get values from most variables using -V option in make(1).
 
OP
OP
kenorb

kenorb

Well-Known Member

Reaction score: 3
Messages: 330

Workaround:
Code:
sudo sed -i'.bak' "s/EXTRA_PATCHES=/#EXTRA_PATCHES=/" Makefile
make should have some force option in case of any errors.

Code:
> make -V
make: option requires an argument -- V
How to print all available variables?
It would be great.
 

eye

Member

Reaction score: 9
Messages: 41

kenorb said:
make should have some force option in case of any errors.
Nah, it'd only be useful for contributors that already know how to hack makefiles.
kenorb said:
> make -V
make: option requires an argument -- V
Have you read the manpage?
kenorb said:
How to print all available variables?
It would be great.
try$ make -dvbut it'll not display variables inherited from environ()ment
 

eye

Member

Reaction score: 9
Messages: 41

Doh, make(1) itself has an option (-i) to ignore errors. But it can cause surprising behavior on the ports tree.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 7,761
Messages: 30,885

Why don't you fix the actual patch error?
Maybe the patches are not needed anymore?
Maybe they need tweaking because the source changed?

Fix the cause not the effect!
 
OP
OP
kenorb

kenorb

Well-Known Member

Reaction score: 3
Messages: 330

SirDice said:
Why don't you fix the actual patch error?
Maybe the patches are not needed anymore?
Maybe they need tweaking because the source changed?

Fix the cause not the effect!
The problem is that I've tried to use the same patches for mysql-workbench-oss52-5.2.1_4
against new downloaded version 5.2.29.
I can't fix the cause without rewriting the new patches against the new version.
Without proper patches port doesn't compile. So I'm stuck here.
 

Nukama

Active Member

Reaction score: 43
Messages: 129

Move the files/patch-\* to attic, then make will work without the patches.
But if you need the patches, look into them, figure out what they do. Apply them to the source after # make extract has been run.

After you finished to patch the extracted source # make makepatch and the new patch-\* files against the new source will be available.
 

DutchDaemon

Administrator
Staff member
Administrator
Moderator
Developer

Reaction score: 2,819
Messages: 11,308

This topic has been closed. Issues as technical or detailed as this should not be discussed in general user-oriented forums like The FreeBSD Forums. These forums are intended for end-user support with installing and/or running FreeBSD and/or applications from the ports tree, not for routinely resolving low-level problems with the operating system or add-on applications. Developers and port maintainers usually do not spend much time here, and we routinely refer technically detailed questions to them.

Consider opening this topic elsewhere, e.g.:

In the case of the FreeBSD base system:

1) by posting to one of the relevant mailing lists
2) by opening a bug report

In the case of ported applications:

1) by contacting the port maintainer (run make maintainer in the port directory)
2) by opening a bug report

Talk to the current port maintainer. Really.
 
Status
Not open for further replies.
Top