Bug 31932

Summary: A small bug in "make update". cvsup binary not found.
Product: Base System Reporter: Alexander S. Usov <usov>
Component: confAssignee: matusita
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Alexander S. Usov 2001-11-12 15:30:00 UTC
When trying to run "make update" in /usr/src all I got is:
cvsup:No such file or directory

The same bug is present in latest STABLE cvs snapshot too. (I do not build it yet).

Fix: Here is a diff. I understand That it is broken, but the idea is simple :)
How-To-Repeat: cd /usr/src
make update
Comment 1 Makoto Matsushita 2001-11-13 04:36:31 UTC
usov> -SUP?=          cvsup
usov> +SUP?=          /usr/local/bin/cvsup

If it works, your PATH environment variable apparantly doesn't have
'/usr/local/bin'.  We may respect ${LOCALBASE} in ports makefiles, but
"setting up $PATH before make update" is more simple solution.

Would you please try following commands:

	cd /usr/src
	env PATH=/sbin:/bin:usr/sbin:/usr/bin:/usr/local/bin make update

If it works for you, you don't need to modify Makefile.  Set your PATH
will help you.

BTW, what's your (root's) shell?  /root/.cshrc and /root/.profile does
contain /usr/local/bin in PATH definition.  I wonder why your shell
does NOT include /usr/local/bin...

-- -
Makoto `MAR' Matsushita
Comment 2 matusita freebsd_committer freebsd_triage 2001-11-13 04:42:26 UTC
State Changed
From-To: open->feedback

It seems that PATH is not set collectly. I want to get a feedback 
from the original submitter what's happen if PATH is explicitly set. 


Comment 3 matusita freebsd_committer freebsd_triage 2001-11-13 04:42:26 UTC
Responsible Changed
From-To: freebsd-bugs->matusita

I'll handle this.
Comment 4 Makoto Matsushita 2001-11-13 15:58:50 UTC
matusita> If it works, your PATH environment variable apparantly
matusita> doesn't have '/usr/local/bin'.  We may respect ${LOCALBASE}
matusita> in ports makefiles, but "setting up $PATH before make
matusita> update" is more simple solution.

As you said in your private email, it doesn't work since PATH is
explicitly set in src/Makefile.  Users cannot overwrite PATH, so all
you can do is to define 'SUP' variable to your cvsup path.

So, you'll be happy with "make update SUP=/usr/local/bin/cvsup".

However, most users install cvsup /usr/local/bin via ports/net/cvsup
or ports/net/cvsup-devel.  I think there is no reason to stick
SUP to 'cvsup'.  Note that "make update" without specifying SUP works
before the change of src/Makefile rev 1.232 was made.

I've changed src/Makefile.inc1 as you said.  If it works fine and
doesn't hurt anything,  I close this PR, OK?

-- -
Makoto `MAR' Matsushita
Comment 5 matusita freebsd_committer freebsd_triage 2001-11-14 12:46:48 UTC
State Changed
From-To: feedback->closed

Set 'cvsup' full-path in src/Makefile.inc1. 
Both 5-current and 4-stable are fixed (rev 1.223 and 1.141.2.35 respectively).
Comment 6 Alexander S. Usov 2001-11-14 13:56:11 UTC
Hello Makoto,

Tuesday, November 13, 2001, 6:36:31 AM, you wrote:

MM> Would you please try following commands:

MM>         cd /usr/src
MM>         env PATH=/sbin:/bin:usr/sbin:/usr/bin:/usr/local/bin make update

MM> If it works for you, you don't need to modify Makefile.  Set your PATH
MM> will help you.

I did that. All I go is:
cvsup:No such file or directory
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

MM> BTW, what's your (root's) shell?  /root/.cshrc and /root/.profile does
MM> contain /usr/local/bin in PATH definition.  I wonder why your shell
MM> does NOT include /usr/local/bin...

root's shell is /bin/sh.
PATH is set in /usr/src/Makefile

MM> -- -
MM> Makoto `MAR' Matsushita

There is one more path:
--- Makefile    Thu Jul 12 20:07:33 2001
+++ Makefile.new   Tue Nov 13 13:57:23 2001
@@ -90,7 +90,7 @@
        maninstall mk most obj objlink regress reinstallkernel rerelease \
        tags update
 
-PATH=  /sbin:/bin:/usr/sbin:/usr/bin
+PATH=  /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 MAKE=  PATH=${PATH} make -m ${.CURDIR}/share/mk -f Makefile.inc1

 
-- 
Best regards,
 Alexander                            mailto:usov@ukr.net