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
|
#! /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>
|
# Copyright (c) 2004 Marc Espie <espie@openbsd.org>
|
||||||
#
|
#
|
||||||
# Permission to use, copy, modify, and distribute this software for any
|
# Permission to use, copy, modify, and distribute this software for any
|
||||||
@ -24,6 +24,7 @@ use File::Spec;
|
|||||||
use File::Find;
|
use File::Find;
|
||||||
use File::Compare;
|
use File::Compare;
|
||||||
use File::Basename;
|
use File::Basename;
|
||||||
|
use POSIX;
|
||||||
|
|
||||||
|
|
||||||
my $base;
|
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) {
|
for my $plist (@l) {
|
||||||
if (!$plist->{nonempty}) {
|
if (!$plist->{nonempty}) {
|
||||||
print $plist->{filename}, " is empty\n";
|
print $plist->{filename}, " is empty\n";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#-*- mode: Makefile; tab-width: 4; -*-
|
#-*- mode: Makefile; tab-width: 4; -*-
|
||||||
# ex:ts=4 sw=4 filetype=make:
|
# 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 $
|
# $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 $
|
# $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;; \
|
Xpackage) early_exit=true;; \
|
||||||
*) \
|
*) \
|
||||||
early_exit=true; mkdir -p ${WRKDIR}/$$dir; \
|
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";; \
|
dep="/nonexistent";; \
|
||||||
esac; \
|
esac; \
|
||||||
case "X$$pkg" in X) pkg=`eval $$toset ${MAKE} _print-packagename`; \
|
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}' \
|
FLAVORS='${FLAVORS}' MULTI_PACKAGES='${MULTI_PACKAGES}' \
|
||||||
OKAY_FILES='${_FAKE_COOKIE} ${_INSTALL_PRE_COOKIE}' \
|
OKAY_FILES='${_FAKE_COOKIE} ${_INSTALL_PRE_COOKIE}' \
|
||||||
SHARED_ONLY="${SHARED_ONLY}" \
|
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}
|
${_extra_prefixes} ${_tmpvars}
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user