run update-plist as root, to catch all files.
pass OWNER/GROUP around and setuid/gid to them before writing files to keep ownership.
This commit is contained in:
parent
a42df1be61
commit
10083d7dfb
@ -1,5 +1,5 @@
|
||||
#! /usr/bin/perl
|
||||
# $OpenBSD: make-plist,v 1.48 2004/08/08 14:13:41 espie Exp $
|
||||
# $OpenBSD: make-plist,v 1.49 2004/08/08 16:43:15 espie Exp $
|
||||
# Copyright (c) 2004 Marc Espie <espie@openbsd.org>
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software for any
|
||||
@ -24,6 +24,7 @@ use File::Spec;
|
||||
use File::Find;
|
||||
use File::Compare;
|
||||
use File::Basename;
|
||||
use POSIX;
|
||||
|
||||
|
||||
my $base;
|
||||
@ -745,6 +746,13 @@ for my $plist (@l) {
|
||||
}
|
||||
}
|
||||
|
||||
if (defined $ENV{'GROUP'}) {
|
||||
POSIX::setgid($ENV{'GROUP'});
|
||||
}
|
||||
if (defined $ENV{'OWNER'}) {
|
||||
POSIX::setuid($ENV{'OWNER'});
|
||||
}
|
||||
|
||||
for my $plist (@l) {
|
||||
if (!$plist->{nonempty}) {
|
||||
print $plist->{filename}, " is empty\n";
|
||||
|
@ -1,6 +1,6 @@
|
||||
#-*- mode: Makefile; tab-width: 4; -*-
|
||||
# ex:ts=4 sw=4 filetype=make:
|
||||
# $OpenBSD: bsd.port.mk,v 1.635 2004/08/06 11:31:22 espie Exp $
|
||||
# $OpenBSD: bsd.port.mk,v 1.636 2004/08/08 16:43:15 espie Exp $
|
||||
# $FreeBSD: bsd.port.mk,v 1.264 1996/12/25 02:27:44 imp Exp $
|
||||
# $NetBSD: bsd.port.mk,v 1.62 1998/04/09 12:47:02 hubertf Exp $
|
||||
#
|
||||
@ -1287,7 +1287,7 @@ ${WRKDIR}/.${_DEP}${_i:C,[|:./<=>*],-,g}: ${_WRKDIR_COOKIE}
|
||||
Xpackage) early_exit=true;; \
|
||||
*) \
|
||||
early_exit=true; mkdir -p ${WRKDIR}/$$dir; \
|
||||
toset="$$toset _MASTER='[${FULLPKGNAME${SUBPACKAGE}}]${_MASTER}' WRKDIR=${WRKDIR}/$$dir"; \
|
||||
toset="$$toset _MASTER='[${FULLPKGNAME${SUBPACKAGE}}]${_MASTER}' _MASTER_LOCK=${FULLPKGNAME} WRKDIR=${WRKDIR}/$$dir"; \
|
||||
dep="/nonexistent";; \
|
||||
esac; \
|
||||
case "X$$pkg" in X) pkg=`eval $$toset ${MAKE} _print-packagename`; \
|
||||
@ -2013,7 +2013,9 @@ _internal-plist _internal-update-plist: _internal-fake ${_DEPrun_COOKIES}
|
||||
FLAVORS='${FLAVORS}' MULTI_PACKAGES='${MULTI_PACKAGES}' \
|
||||
OKAY_FILES='${_FAKE_COOKIE} ${_INSTALL_PRE_COOKIE}' \
|
||||
SHARED_ONLY="${SHARED_ONLY}" \
|
||||
perl ${PORTSDIR}/infrastructure/install/make-plist \
|
||||
OWNER=`id -u` \
|
||||
GROUP=`id -g` \
|
||||
${SUDO} perl ${PORTSDIR}/infrastructure/install/make-plist \
|
||||
${_extra_prefixes} ${_tmpvars}
|
||||
.endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user