From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.windriver.com (mail.windriver.com [147.11.1.11]) by mail.openembedded.org (Postfix) with ESMTP id A16C57404E for ; Sun, 6 Sep 2015 05:44:46 +0000 (UTC) Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail.windriver.com (8.15.2/8.15.1) with ESMTPS id t865ii6u007338 (version=TLSv1 cipher=AES128-SHA bits=128 verify=FAIL); Sat, 5 Sep 2015 22:44:44 -0700 (PDT) Received: from [128.224.162.158] (128.224.162.158) by ALA-HCA.corp.ad.wrs.com (147.11.189.50) with Microsoft SMTP Server id 14.3.235.1; Sat, 5 Sep 2015 22:44:44 -0700 Message-ID: <55EBD2CA.1080303@windriver.com> Date: Sun, 6 Sep 2015 13:44:42 +0800 From: Rongqing Li User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: , Joe MacDonald , Martin Jansa References: <1438050989-15233-1-git-send-email-rongqing.li@windriver.com> <20150730165734.GD6457@mentor.com> <55BAC984.5@windriver.com> In-Reply-To: <55BAC984.5@windriver.com> Subject: Re: [PATCH 1/2] ypbind-mt: get parameters from dhcp X-BeenThere: openembedded-devel@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: openembedded-devel@lists.openembedded.org List-Id: Using the OpenEmbedded metadata to build Distributions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2015 05:44:46 -0000 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Hi Joe/Martin: Could you drop this patch from master-next? Thanks -Roy On 2015年07月31日 09:04, Rongqing Li wrote: > > > On 2015年07月31日 00:57, Joe MacDonald wrote: >> [[oe] [PATCH 1/2] ypbind-mt: get parameters from dhcp] On 15.07.28 >> (Tue 10:36) rongqing.li@windriver.com wrote: >> >>> From: Li Wang >>> >>> adopt a script nis.sh from >>> https://git.centos.org/raw/rpms!ypbind.git/5a592e88374f067679276488430ebdf51152c358/SOURCES!nis.sh >>> >>> it is dhclient-script plugin for NIS settings. >>> >>> Signed-off-by: Li Wang >>> Signed-off-by: Roy Li >>> --- >>> .../recipes-support/nis/ypbind-mt/nis.sh | 108 >>> +++++++++++++++++++++ >>> .../recipes-support/nis/ypbind-mt_1.38.bb | 4 + >>> .../recipes-support/nis/ypbind-mt_2.2.bb | 4 + >>> 3 files changed, 116 insertions(+) >>> create mode 100755 >>> meta-networking/recipes-support/nis/ypbind-mt/nis.sh >>> >>> diff --git a/meta-networking/recipes-support/nis/ypbind-mt/nis.sh >>> b/meta-networking/recipes-support/nis/ypbind-mt/nis.sh >>> new file mode 100755 >>> index 0000000..a1e338c >>> --- /dev/null >>> +++ b/meta-networking/recipes-support/nis/ypbind-mt/nis.sh >>> @@ -0,0 +1,108 @@ >>> +#!/bin/sh >>> +# >>> +# nis.sh: dhclient-script plugin for NIS settings, >>> +# place in /etc/dhcp/dhclient.d and 'chmod +x nis.sh' to enable >>> +# >>> +# Copyright (C) 2008 Red Hat, Inc. >>> +# >>> +# This program is free software; you can redistribute it and/or modify >>> +# it under the terms of the GNU General Public License as published by >>> +# the Free Software Foundation; either version 2 of the License, or >>> +# (at your option) any later version. >>> +# >>> +# This program is distributed in the hope that it will be useful, >>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of >>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >>> +# GNU General Public License for more details. >>> +# >>> +# You should have received a copy of the GNU General Public License >>> +# along with this program. If not, see . >>> +# >>> +# Author(s): David Cantrell >>> + >>> +CONF=/etc/yp.conf >> >> This should probably be substituted with @SYSCONFDIR@ so it's still >> functional for anyone who changes ${sysconfdir}. Just thinking out loud > > thanks, Joe > > I will change it > > >> now, but what's the systemd equivalent here? Do we already have one? >> > > this script is not called by initvscript or systemd, it is called by > dhclient once dhclient run and gets configuration, so it is not related > to systemd > > -Roy > >> That's not a barrier to accepting this patch, either way. I'd just like >> to see this hard-coded path be slightly less hard-coded. >> >> -J. >> >>> +SAVECONF=${SAVEDIR}/${CONF##*/}.predhclient.${interface} >>> + >>> +fix_context() { >>> + if [ -x /sbin/restorecon ]; then >>> + /sbin/restorecon ${1} >/dev/null 2>&1 >>> + fi >>> +} >>> + >>> +save_config_file() { >>> + if [ ! -d ${SAVEDIR} ]; then >>> + mkdir -p ${SAVEDIR} >>> + fi >>> + >>> + if [ -e ${CONF} ]; then >>> + # cp+rm instead of mv: preserve SELinux context >>> + # rhbz#509240 >>> + # Do not rely on restorecon. >>> + cp -c ${CONF} ${SAVECONF} >>> + rm ${CONF} >>> + else >>> + echo > ${SAVECONF} >>> + # Try restorecon >>> + fix_context ${SAVECONF} >>> + fi >>> +} >>> + >>> +nis_config() { >>> + if [ ! "${PEERNIS}" = "no" ]; then >>> + if [ -n "${new_nis_domain}" ]; then >>> + domainname "${new_nis_domain}" >>> + save_config_file >>> + let contents=0 >>> + echo '# generated by /sbin/dhclient-script' > ${CONF} >>> + fix_context ${CONF} >>> + >>> + if [ -n "${new_nis_servers}" ]; then >>> + for i in ${new_nis_servers} ; do >>> + echo "domain ${new_nis_domain} server ${i}" >> >>> ${CONF} >>> + let contents=contents+1 >>> + done >>> + else >>> + echo "domain ${new_nis_domain} broadcast" >> ${CONF} >>> + let contents=contents+1 >>> + fi >>> + >>> + if [ ${contents} -gt 0 ]; then >>> + service ypbind condrestart >/dev/null 2>&1 >>> + fi >>> + elif [ -n "${new_nis_servers}" ]; then >>> + save_config_file >>> + echo '# generated by /sbin/dhclient-script' > ${CONF} >>> + fix_context ${CONF} >>> + let contents=0 >>> + >>> + for i in ${new_nis_servers} ; do >>> + echo "ypserver ${i}" >> ${CONF} >>> + let contents=contents+1 >>> + done >>> + >>> + if [ $contents -gt 0 ]; then >>> + service ypbind condrestart >/dev/null 2>&1 >>> + fi >>> + fi >>> + fi >>> +} >>> + >>> +nis_restore() { >>> + if [ ! "${PEERNIS}" = "no" ]; then >>> + if [ -f ${SAVECONF} ]; then >>> + rm -f ${CONF} >>> + # cp+rm instead of mv: preserve SELinux context >>> + # rhbz#509240 >>> + cp -c ${SAVECONF} ${CONF} >>> + rm ${SAVECONF} >>> + fix_context ${CONF} # Restorecon again to be sure. >>> + service ypbind condrestart >/dev/null 2>&1 >>> + fi >>> + fi >>> +} >>> + >>> +# Local Variables: >>> +# indent-tabs-mode: nil >>> +# sh-basic-offset: 4 >>> +# show-trailing-whitespace: t >>> +# End: >>> diff --git a/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb >>> b/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb >>> index d25ef5c..5391b5b 100644 >>> --- a/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb >>> +++ b/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb >>> @@ -28,6 +28,7 @@ PROVIDES += "ypbind" >>> SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \ >>> file://ypbind-yocto.init \ >>> file://ypbind.service \ >>> + file://nis.sh \ >>> " >>> SRC_URI[md5sum] = "094088c0e282fa7f3b3dd6cc51d0a4e1" >>> SRC_URI[sha256sum] = >>> "1930ce19f6ccfe10400f3497b31867f71690d2bcd3f5b575199fa915559b7746" >>> @@ -48,6 +49,9 @@ do_install_append () { >>> >>> install -d ${D}${systemd_unitdir}/system >>> install -m 0644 ${WORKDIR}/ypbind.service >>> ${D}${systemd_unitdir}/system >>> + >>> + install -d ${D}/${sysconfdir}/dhcp/dhclient.d >>> + install -m 755 ${WORKDIR}/nis.sh >>> ${D}/${sysconfdir}/dhcp/dhclient.d/ >>> } >>> >>> >>> diff --git a/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb >>> b/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb >>> index 4f8bf48..6d5ab2d 100644 >>> --- a/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb >>> +++ b/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb >>> @@ -23,6 +23,7 @@ PNBLACKLIST[ypbind-mt] ?= "BROKEN: Depends on >>> broken yp-tools" >>> SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \ >>> file://ypbind-yocto.init \ >>> file://ypbind.service \ >>> + file://nis.sh \ >>> " >>> SRC_URI[md5sum] = "54e2040d8266ae7d302d081ca310c8a8" >>> SRC_URI[sha256sum] = >>> "dc2f7d97c94dcab0acfdcd115cd8b464eb8c427e4bb0fe68404ae7465f517cd3" >>> @@ -45,6 +46,9 @@ do_install_append () { >>> >>> install -d ${D}${systemd_unitdir}/system >>> install -m 0644 ${WORKDIR}/ypbind.service >>> ${D}${systemd_unitdir}/system >>> + >>> + install -d ${D}/${sysconfdir}/dhcp/dhclient.d >>> + install -m 755 ${WORKDIR}/nis.sh >>> ${D}/${sysconfdir}/dhcp/dhclient.d/ >>> } >>> >>> >>> -- >>> 2.1.4 >>> > -- Best Reagrds, Roy | RongQing Li