Workaround missing lchmod/lchown
Change-Id: I231a0010722619d389b763af35ff55f84ca9cb76
This commit is contained in:
		
							parent
							
								
									5b851f3a9c
								
							
						
					
					
						commit
						18f97ad415
					
				| @ -53,7 +53,6 @@ DPADD+=	${LIBRMT} | ||||
| 
 | ||||
| .if defined(__MINIX) | ||||
| CPPFLAGS+= -DHOSTPROG | ||||
| CPPFLAGS+= -Dlchown=chown -Dlchmod=chmod | ||||
| 
 | ||||
| MLINKS+= pax.1 bsdtar.1 | ||||
| .endif # defined(__MINIX)
 | ||||
|  | ||||
| @ -259,12 +259,12 @@ __pure int | ||||
| 	 getpagesize(void);		/* legacy */ | ||||
| #if !defined(__minix) | ||||
| pid_t	 getpgid(pid_t); | ||||
| #endif /* !defined(__minix) */ | ||||
| #if defined(_XOPEN_SOURCE) | ||||
| int	 lchown(const char *, uid_t, gid_t) __RENAME(__posix_lchown); | ||||
| #else | ||||
| int	 lchown(const char *, uid_t, gid_t); | ||||
| #endif | ||||
| #endif /* !defined(__minix) */ | ||||
| int	 lockf(int, int, off_t); | ||||
| #if __SSP_FORTIFY_LEVEL == 0 | ||||
| ssize_t	 readlink(const char * __restrict, char * __restrict, size_t); | ||||
|  | ||||
| @ -27,4 +27,9 @@ SRCS+= 	accept.c access.c adjtime.c bind.c brk.c sbrk.c m_closefrom.c getsid.c \ | ||||
| # Minix specific syscalls / utils.
 | ||||
| SRCS+= cprofile.c sprofile.c stack_utils.c _mcontext.c | ||||
| 
 | ||||
| # Emulation for missing lchown/lchmod
 | ||||
| OBJS+= lchown.o lchmod.o | ||||
| lchown.o lchown.pico lchown.bc: ${NETBSDSRCDIR}/tools/compat/lchown.c | ||||
| lchmod.o lchmod.pico lchmod.bc: ${NETBSDSRCDIR}/tools/compat/lchmod.c | ||||
| 
 | ||||
| .include "${ARCHDIR}/sys-minix/Makefile.inc" | ||||
|  | ||||
| @ -22,7 +22,6 @@ LINTFLAGS+=-S -w | ||||
| SRCS+=		inode.c link.c misc.c mount.c open.c path.c path_puffs.c \
 | ||||
| 		protect.c read.c stadir.c time.c utility.c table.c | ||||
| 
 | ||||
| CPFFLAGS+=-Dlchown=chown -Dlchmod=chmod | ||||
| CPPFLAGS+= -D_MINIX_SYSTEM | ||||
| 
 | ||||
| NOGCCERROR=yes | ||||
|  | ||||
| @ -32,7 +32,9 @@ | ||||
| /* Emulate lchmod(2), checking path with lstat(2) first to ensure that
 | ||||
|  * it's not a symlink, and then call chmod(2) */ | ||||
| 
 | ||||
| #if !defined(__minix) && !defined(_LIBC) | ||||
| #include "nbtool_config.h" | ||||
| #endif /* !defined(__minix) && !defined(_LIBC) */ | ||||
| 
 | ||||
| #if !HAVE_LCHMOD | ||||
| #include <sys/stat.h> | ||||
|  | ||||
| @ -32,13 +32,19 @@ | ||||
| /* Emulate lchown(2), checking path with lstat(2) first to ensure that
 | ||||
|  * it's not a symlink, and then call chown(2) */ | ||||
| 
 | ||||
| #if !defined(__minix) && !defined(_LIBC) | ||||
| #include "nbtool_config.h" | ||||
| #endif /* !defined(__minix) && !defined(_LIBC) */ | ||||
| 
 | ||||
| #if !HAVE_LCHOWN | ||||
| #include <sys/stat.h> | ||||
| #include <errno.h> | ||||
| #include <unistd.h> | ||||
| 
 | ||||
| #if defined(__minix) && defined(__weak_alias) && defined(_LIBC) | ||||
| __weak_alias(__posix_lchown, lchown) | ||||
| #endif /* defined(__minix) && defined(__weak_alias) && defined(_LIBC) */ | ||||
| 
 | ||||
| int | ||||
| lchown(const char *path, uid_t owner, gid_t group) | ||||
| { | ||||
|  | ||||
| @ -8,8 +8,4 @@ SRCS+=	radix_sort.c | ||||
| LDADD+=-lutil | ||||
| DPADD+=${LIBUTIL} | ||||
| 
 | ||||
| .if defined(__MINIX) | ||||
| CPPFLAGS+= -Dlchown=chown -Dlchmod=chmod | ||||
| .endif # defined(__MINIX)
 | ||||
| 
 | ||||
| .include <bsd.prog.mk> | ||||
|  | ||||
| @ -10,9 +10,6 @@ MAN=	mtree.8 | ||||
| SRCS=	compare.c crc.c create.c excludes.c misc.c mtree.c spec.c specspec.c \
 | ||||
| 	verify.c getid.c pack_dev.c only.c | ||||
| .if (${HOSTPROG:U} == "") | ||||
| .if defined(__MINIX) | ||||
| CPPFLAGS+= -Dlchown=chown -Dlchmod=chmod  | ||||
| .endif | ||||
| DPADD+= ${LIBUTIL} | ||||
| LDADD+= -lutil | ||||
| .endif | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Lionel Sambuc
						Lionel Sambuc