mirror of
https://github.com/flatcar/scripts.git
synced 2025-10-03 19:42:15 +02:00
Merge pull request #287 from marineam/symlink-usr
A few /usr related fixes
This commit is contained in:
commit
fb6393d667
@ -1,53 +0,0 @@
|
||||
# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=2
|
||||
|
||||
DESCRIPTION="ChromiumOS-specific configuration files for pambase"
|
||||
HOMEPAGE="http://www.chromium.org"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm x86"
|
||||
|
||||
RDEPEND="
|
||||
>=sys-auth/pambase-20090620.1-r7"
|
||||
#TODO: chromeos-base/vboot_reference"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_install() {
|
||||
# Chrome OS: sudo and vt2 are important for system debugging both in
|
||||
# developer mode and during development. These two stanzas allow sudo and
|
||||
# login auth as user chronos under the following conditions:
|
||||
#
|
||||
# 1. password-less access:
|
||||
# - system in developer mode
|
||||
# - there is no passwd.devmode file
|
||||
# - there is no system-wide password set above.
|
||||
# 2. System-wide (/etc/shadow) password access:
|
||||
# - image has a baked in password above
|
||||
# 3. Developer mode password access
|
||||
# - user creates a passwd.devmode file with "chronos:CRYPTED_PASSWORD"
|
||||
# 4. System-wide (/etc/shadow) password access set by modifying /etc/shadow:
|
||||
# - Cases #1 and #2 will apply but failure will fall through to the
|
||||
# inserted password.
|
||||
insinto /etc/pam.d
|
||||
doins "${FILESDIR}/chromeos-auth" || die
|
||||
|
||||
dosbin "${FILESDIR}/is_developer_end_user" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# If there's a shared user password or if the build target is the host,
|
||||
# reset chromeos-auth to an empty file. We don't transition from empty to
|
||||
# populated because binary packages lose FILESDIR.
|
||||
local crypted_password='*'
|
||||
if [ "${ROOT}" = "/" ]; then
|
||||
crypted_password='host'
|
||||
elif [ -r "${SHARED_USER_PASSWD_FILE}" ]; then
|
||||
crypted_password=$(cat "${SHARED_USER_PASSWD_FILE}")
|
||||
fi
|
||||
if [ "${crypted_password}" != '*' ]; then
|
||||
echo -n '' > "${ROOT}/etc/pam.d/chromeos-auth" || die
|
||||
fi
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
# If we're not in dev-mode, skip to the system password stack.
|
||||
auth [success=ignore default=3] pam_exec.so \
|
||||
quiet /usr/bin/crossystem cros_debug?1
|
||||
|
||||
# Check if a custom devmode password file exists and prefer it.
|
||||
auth [success=ignore default=1] pam_exec.so \
|
||||
quiet /usr/bin/test -f /media/state/etc/devmode.passwd
|
||||
|
||||
# If we get to pwdfile, use it or bypass the password-less login.
|
||||
auth [success=done default=1] pam_pwdfile.so \
|
||||
pwdfile /media/state/etc/devmode.passwd
|
||||
|
||||
# If we get here, allow password-less access
|
||||
auth sufficient pam_exec.so quiet /usr/bin/crossystem cros_debug?1
|
||||
|
||||
# Fallback to a system password if one was stamped in after initial build.
|
@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# Exit status is 0 if this is a "developer system", non-zero if not.
|
||||
# We define "developer system" as any of
|
||||
# - a release image on a system with the developer hardware switch set on,
|
||||
# - a developer or test image running on hardware or a VM, or
|
||||
# - a system with a shared user password set (meaning it's possible to log in
|
||||
# on a VT console).
|
||||
crossystem "cros_debug?1" || grep -q '^chronos:[^*]' /etc/shadow
|
@ -97,11 +97,9 @@ RDEPEND="${RDEPEND}
|
||||
sys-apps/findutils
|
||||
sys-apps/which
|
||||
app-admin/sudo
|
||||
app-admin/rsyslog
|
||||
app-arch/gzip
|
||||
app-arch/tar
|
||||
app-shells/bash
|
||||
coreos-base/chromeos-auth-config
|
||||
coreos-base/coreos-base
|
||||
coreos-base/cros_boot_mode
|
||||
coreos-base/vboot_reference
|
||||
@ -126,7 +124,6 @@ RDEPEND="${RDEPEND}
|
||||
sys-apps/systemd
|
||||
sys-apps/systemd-sysv-utils
|
||||
sys-apps/util-linux
|
||||
sys-auth/pam_pwdfile
|
||||
sys-fs/e2fsprogs
|
||||
sys-fs/aufs-util
|
||||
sys-libs/timezone-data
|
||||
|
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-libs/ncurses/ncurses-5.9-r2.ebuild,v 1.17 2013/01/17 04:19:21 vapier Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-libs/ncurses/ncurses-5.9-r3.ebuild,v 1.3 2013/08/21 15:51:16 aballier Exp $
|
||||
|
||||
EAPI="1"
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
EAPI="4"
|
||||
inherit eutils flag-o-matic toolchain-funcs multilib-minimal
|
||||
|
||||
MY_PV=${PV:0:3}
|
||||
PV_SNAP=${PV:4}
|
||||
@ -15,18 +15,29 @@ SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz"
|
||||
LICENSE="MIT"
|
||||
SLOT="5"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
|
||||
IUSE="ada +cxx debug doc gpm minimal profile static-libs tinfo trace unicode"
|
||||
IUSE="ada +cxx debug doc gpm minimal profile static-libs symlink-usr tinfo trace unicode"
|
||||
|
||||
DEPEND="gpm? ( sys-libs/gpm )"
|
||||
# berkdb? ( sys-libs/db )"
|
||||
RDEPEND="${DEPEND}
|
||||
!<x11-terms/rxvt-unicode-9.06-r3"
|
||||
!<x11-terms/rxvt-unicode-9.06-r3
|
||||
abi_x86_32? (
|
||||
!<=app-emulation/emul-linux-x86-baselibs-20130224-r12
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
)"
|
||||
# Put the MULTILIB_USEDEP on gpm in PDEPEND only to avoid circular deps.
|
||||
# We can move it to DEPEND and drop the --with-gpm=libgpm.so.1 from the econf
|
||||
# line below once we can assume multilib gpm is available everywhere.
|
||||
PDEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
HOSTTIC_DIR=${WORKDIR}/${P}-host
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"
|
||||
MINIMAL_TERMINFO=(ansi console dumb linux rxvt rxvt-256color rxvt-unicode \
|
||||
screen screen-256color sun vt{52,100,102,200,220} \
|
||||
xterm xterm-color xterm-256color xterm-xfree86)
|
||||
|
||||
src_prepare() {
|
||||
[[ -n ${PV_SNAP} ]] && epatch "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh
|
||||
epatch "${FILESDIR}"/${PN}-5.8-gfbsd.patch
|
||||
epatch "${FILESDIR}"/${PN}-5.7-nongnu.patch
|
||||
@ -34,7 +45,7 @@ src_unpack() {
|
||||
epatch "${FILESDIR}"/${PN}-5.9-fix-clang-build.patch #417763
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
src_configure() {
|
||||
unset TERMINFO #115036
|
||||
tc-export_build_env BUILD_{CC,CPP}
|
||||
BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
|
||||
@ -43,24 +54,26 @@ src_compile() {
|
||||
# because people often don't keep matching host/target
|
||||
# ncurses versions #249363
|
||||
if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then
|
||||
make_flags="-C progs tic"
|
||||
CHOST=${CBUILD} \
|
||||
CFLAGS=${BUILD_CFLAGS} \
|
||||
CXXFLAGS=${BUILD_CXXFLAGS} \
|
||||
CPPFLAGS=${BUILD_CPPFLAGS} \
|
||||
LDFLAGS="${BUILD_LDFLAGS} -static" \
|
||||
do_compile cross --without-shared --with-normal
|
||||
BUILD_DIR="${HOSTTIC_DIR}" do_configure cross --without-shared --with-normal
|
||||
fi
|
||||
|
||||
make_flags=""
|
||||
do_compile narrowc
|
||||
use unicode && do_compile widec --enable-widec --includedir=/usr/include/ncursesw
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
do_compile() {
|
||||
|
||||
multilib_src_configure() {
|
||||
do_configure narrowc
|
||||
use unicode && do_configure widec --enable-widec --includedir=/usr/include/ncursesw
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
ECONF_SOURCE=${S}
|
||||
|
||||
mkdir "${WORKDIR}"/$1
|
||||
cd "${WORKDIR}"/$1
|
||||
mkdir "${BUILD_DIR}"-$1
|
||||
cd "${BUILD_DIR}"-$1 || die
|
||||
shift
|
||||
|
||||
# ncurses is dumb and doesn't install .pc files unless pkg-config
|
||||
@ -93,6 +106,7 @@ do_compile() {
|
||||
$(use_with debug) \
|
||||
$(use_with profile) \
|
||||
$(use_with gpm) \
|
||||
$(multilib_is_native_abi || use_with gpm gpm libgpm.so.1) \
|
||||
--disable-termcap \
|
||||
--enable-symlinks \
|
||||
--with-rcs-ids \
|
||||
@ -110,36 +124,59 @@ do_compile() {
|
||||
$(use_with tinfo termlib) \
|
||||
${conf_abi} \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# when cross-compiling, we need to build up our own tic
|
||||
# because people often don't keep matching host/target
|
||||
# ncurses versions #249363
|
||||
if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then
|
||||
make_flags="-C progs tic"
|
||||
BUILD_DIR="${HOSTTIC_DIR}" do_compile cross
|
||||
fi
|
||||
|
||||
multilib-minimal_src_compile
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
make_flags=""
|
||||
multilib_is_native_abi || make_flags="PROGS= "
|
||||
do_compile narrowc
|
||||
use unicode && do_compile widec
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
cd "${BUILD_DIR}"-$1 || die
|
||||
|
||||
# A little hack to fix parallel builds ... they break when
|
||||
# generating sources so if we generate the sources first (in
|
||||
# non-parallel), we can then build the rest of the package
|
||||
# in parallel. This is not really a perf hit since the source
|
||||
# generation is quite small.
|
||||
emake -j1 sources || die
|
||||
emake -j1 sources
|
||||
# For some reason, sources depends on pc-files which depends on
|
||||
# compiled libraries which depends on sources which ...
|
||||
# Manually delete the pc-files file so the install step will
|
||||
# create the .pc files we want.
|
||||
rm -f misc/pc-files
|
||||
emake ${make_flags} || die
|
||||
emake ${make_flags}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
multilib_src_install() {
|
||||
# use the cross-compiled tic (if need be) #249363
|
||||
export PATH=${WORKDIR}/cross/progs:${PATH}
|
||||
export PATH="${HOSTTIC_DIR}-cross/progs:${PATH}"
|
||||
|
||||
# install unicode version second so that the binaries in /usr/bin
|
||||
# support both wide and narrow
|
||||
cd "${WORKDIR}"/narrowc
|
||||
emake DESTDIR="${D}" install || die
|
||||
cd "${BUILD_DIR}"-narrowc || die
|
||||
emake DESTDIR="${D}" install
|
||||
if use unicode ; then
|
||||
cd "${WORKDIR}"/widec
|
||||
emake DESTDIR="${D}" install || die
|
||||
cd "${BUILD_DIR}"-widec || die
|
||||
emake DESTDIR="${D}" install
|
||||
fi
|
||||
|
||||
# Move libncurses{,w} into /lib
|
||||
gen_usr_ldscript -a \
|
||||
multilib_is_native_abi && gen_usr_ldscript -a \
|
||||
ncurses \
|
||||
$(usex unicode 'ncursesw' '') \
|
||||
$(use tinfo && usex unicode 'tinfow' '') \
|
||||
@ -147,13 +184,15 @@ src_install() {
|
||||
ln -sf libncurses.so "${D}"/usr/$(get_libdir)/libcurses.so || die
|
||||
use static-libs || find "${D}"/usr/ -name '*.a' -a '!' -name '*curses++*.a' -delete
|
||||
|
||||
# if ! use berkdb ; then
|
||||
# Build fails to create this ...
|
||||
dosym ../share/terminfo /usr/$(get_libdir)/terminfo
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
if ! use symlink-usr ; then
|
||||
# We need the basic terminfo files in /etc, bug #37026
|
||||
einfo "Installing basic terminfo files in /etc..."
|
||||
for x in ansi console dumb linux rxvt rxvt-256color rxvt-unicode \
|
||||
screen screen-256color sun vt{52,100,102,200,220} \
|
||||
xterm xterm-color xterm-256color xterm-xfree86
|
||||
do
|
||||
for x in "${MINIMAL_TERMINFO[@]}" ; do
|
||||
local termfile=$(find "${D}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
|
||||
local basedir=$(basename $(dirname "${termfile}"))
|
||||
|
||||
@ -165,19 +204,19 @@ src_install() {
|
||||
fi
|
||||
done
|
||||
|
||||
# Build fails to create this ...
|
||||
dosym ../share/terminfo /usr/$(get_libdir)/terminfo
|
||||
# fi
|
||||
|
||||
echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses
|
||||
doenvd "${T}"/50ncurses
|
||||
|
||||
if use minimal ; then
|
||||
rm -r "${D}"/usr/share/terminfo*
|
||||
fi
|
||||
|
||||
use minimal && rm -r "${D}"/usr/share/terminfo*
|
||||
# Because ncurses5-config --terminfo returns the directory we keep it
|
||||
keepdir /usr/share/terminfo #245374
|
||||
elif use minimal; then
|
||||
# prune all files and symlinks not listed in MINIMAL_TERMINFO
|
||||
find "${D}"/usr/share/terminfo ! -type d \
|
||||
${MINIMAL_TERMINFO[@]/#/! -name } \
|
||||
-delete || die
|
||||
find "${D}"/usr/share/terminfo -type d -empty -delete || die
|
||||
fi
|
||||
|
||||
cd "${S}"
|
||||
dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
|
1
sdk_container/src/third_party/coreos-overlay/sys-libs/nss-usrfiles/Manifest
vendored
Normal file
1
sdk_container/src/third_party/coreos-overlay/sys-libs/nss-usrfiles/Manifest
vendored
Normal file
@ -0,0 +1 @@
|
||||
DIST baselayout-2.2.tar.bz2 40744 SHA256 11d4a223b06da545c3e59e07c9195570f334b5b1be05d995df0ebc8ea2203e98 SHA512 a5199c42e835d9f2683cc94f3c4c47ecdc392316c24e0932845736e2e90479b0c5c8ad72ead8e0537f097405b7d7548d00b87b7ff8c9e3651486e3c5c0970b36 WHIRLPOOL 60cc4f7f76c5a45c15303e526decffb3bad2b50ac659b1dd072d2ed4b0eb0b31929a1a733ddb03a31ee5882b889a4efb87206f63ffaa2b11e26d36afd0933a95
|
19
sdk_container/src/third_party/coreos-overlay/sys-libs/nss-usrfiles/files/nsswitch.conf
vendored
Normal file
19
sdk_container/src/third_party/coreos-overlay/sys-libs/nss-usrfiles/files/nsswitch.conf
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
# /etc/nsswitch.conf:
|
||||
|
||||
passwd: files usrfiles
|
||||
shadow: files usrfiles
|
||||
group: files usrfiles
|
||||
|
||||
hosts: files usrfiles dns
|
||||
networks: files usrfiles dns
|
||||
|
||||
services: files usrfiles
|
||||
protocols: files usrfiles
|
||||
rpc: files usrfiles
|
||||
|
||||
ethers: files
|
||||
netmasks: files
|
||||
netgroup: files
|
||||
bootparams: files
|
||||
automount: files
|
||||
aliases: files
|
70
sdk_container/src/third_party/coreos-overlay/sys-libs/nss-usrfiles/files/rpc
vendored
Normal file
70
sdk_container/src/third_party/coreos-overlay/sys-libs/nss-usrfiles/files/rpc
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
#ident "@(#)rpc 1.11 95/07/14 SMI" /* SVr4.0 1.2 */
|
||||
#
|
||||
# rpc
|
||||
#
|
||||
portmapper 100000 portmap sunrpc rpcbind
|
||||
rstatd 100001 rstat rup perfmeter rstat_svc
|
||||
rusersd 100002 rusers
|
||||
nfs 100003 nfsprog
|
||||
ypserv 100004 ypprog
|
||||
mountd 100005 mount showmount
|
||||
ypbind 100007
|
||||
walld 100008 rwall shutdown
|
||||
yppasswdd 100009 yppasswd
|
||||
etherstatd 100010 etherstat
|
||||
rquotad 100011 rquotaprog quota rquota
|
||||
sprayd 100012 spray
|
||||
3270_mapper 100013
|
||||
rje_mapper 100014
|
||||
selection_svc 100015 selnsvc
|
||||
database_svc 100016
|
||||
rexd 100017 rex
|
||||
alis 100018
|
||||
sched 100019
|
||||
llockmgr 100020
|
||||
nlockmgr 100021
|
||||
x25.inr 100022
|
||||
statmon 100023
|
||||
status 100024
|
||||
bootparam 100026
|
||||
ypupdated 100028 ypupdate
|
||||
keyserv 100029 keyserver
|
||||
sunlink_mapper 100033
|
||||
tfsd 100037
|
||||
nsed 100038
|
||||
nsemntd 100039
|
||||
showfhd 100043 showfh
|
||||
ioadmd 100055 rpc.ioadmd
|
||||
NETlicense 100062
|
||||
sunisamd 100065
|
||||
debug_svc 100066 dbsrv
|
||||
ypxfrd 100069 rpc.ypxfrd
|
||||
bugtraqd 100071
|
||||
kerbd 100078
|
||||
event 100101 na.event # SunNet Manager
|
||||
logger 100102 na.logger # SunNet Manager
|
||||
sync 100104 na.sync
|
||||
hostperf 100107 na.hostperf
|
||||
activity 100109 na.activity # SunNet Manager
|
||||
hostmem 100112 na.hostmem
|
||||
sample 100113 na.sample
|
||||
x25 100114 na.x25
|
||||
ping 100115 na.ping
|
||||
rpcnfs 100116 na.rpcnfs
|
||||
hostif 100117 na.hostif
|
||||
etherif 100118 na.etherif
|
||||
iproutes 100120 na.iproutes
|
||||
layers 100121 na.layers
|
||||
snmp 100122 na.snmp snmp-cmc snmp-synoptics snmp-unisys snmp-utk
|
||||
traffic 100123 na.traffic
|
||||
nfs_acl 100227
|
||||
sadmind 100232
|
||||
nisd 100300 rpc.nisd
|
||||
nispasswd 100303 rpc.nispasswdd
|
||||
ufsd 100233 ufsd
|
||||
fedfs_admin 100418
|
||||
pcnfsd 150001 pcnfs
|
||||
amd 300019 amq
|
||||
sgi_fam 391002 fam
|
||||
bwnfsd 545580417
|
||||
fypxfrd 600100069 freebsd-ypxfrd
|
1
sdk_container/src/third_party/coreos-overlay/sys-libs/nss-usrfiles/files/tmpfiles.conf
vendored
Normal file
1
sdk_container/src/third_party/coreos-overlay/sys-libs/nss-usrfiles/files/tmpfiles.conf
vendored
Normal file
@ -0,0 +1 @@
|
||||
L /tmp/nsswitch.conf - - - - /usr/share/nss/nsswitch.conf
|
@ -0,0 +1,57 @@
|
||||
# Copyright (c) 2013 The CoreOS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
CROS_WORKON_COMMIT="47016ef8e5fb5436d62bd34fea69f15b9f3343c1"
|
||||
CROS_WORKON_PROJECT="marineam/nss-altfiles"
|
||||
CROS_WORKON_LOCALNAME="nss-altfiles"
|
||||
CROS_WORKON_REPO="git://github.com"
|
||||
|
||||
inherit cros-workon
|
||||
|
||||
# The default files are provided by baselayout
|
||||
BASELAYOUT_PV="2.2"
|
||||
BASELAYOUT_P="baselayout-${BASELAYOUT_PV}"
|
||||
|
||||
DESCRIPTION="NSS module for data sources under /usr on for CoreOS"
|
||||
HOMEPAGE="https://github.com/marineam/nss-altfiles"
|
||||
SRC_URI="mirror://gentoo/${BASELAYOUT_P}.tar.bz2
|
||||
http://dev.gentoo.org/~vapier/dist/${BASELAYOUT_P}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
src_unpack() {
|
||||
cros-workon_src_unpack
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
: # Don't bother with the custom configure script.
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake DATADIR=/usr/share/nss MODULE_NAME=usrfiles
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dolib.so libnss_usrfiles.so.2
|
||||
|
||||
insinto /usr/lib/tmpfiles.d
|
||||
newins "${FILESDIR}/tmpfiles.conf" "${PN}.conf"
|
||||
|
||||
insinto /usr/share/nss
|
||||
doins "${FILESDIR}/nsswitch.conf"
|
||||
# imported from glibc 2.18 (not provided by baselayout)
|
||||
doins "${FILESDIR}/rpc"
|
||||
|
||||
# gentoo defaults from baselayout
|
||||
for file in hosts networks protocols services; do
|
||||
doins "${WORKDIR}/${BASELAYOUT_P}/etc/${file}"
|
||||
done
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user