Re: [yocto] [PATCH] update-rc.d: support enable/disable function

2018-12-26 Thread Changqing Li

Ping

On 12/5/18 4:13 PM, Changqing Li wrote:

ping

On 11/26/18 11:35 AM, Changqing Li wrote:

Ping

On 11/9/18 5:44 PM, changqing...@windriver.com wrote:

From: Changqing Li 

Add support of enable/disable function, so that user can keep
previous config after upgrade package

Signed-off-by: Changqing Li 
---
  update-rc.d | 70 
+

  1 file changed, 70 insertions(+)

diff --git a/update-rc.d b/update-rc.d
index e07cf85..1ba97d3 100644
--- a/update-rc.d
+++ b/update-rc.d
@@ -27,6 +27,7 @@ usage()
  usage: update-rc.d [-n] [-f] [-r ]  remove
 update-rc.d [-n] [-r ] [-s]  defaults [NN | 
sNN kNN]
 update-rc.d [-n] [-r ] [-s]  start|stop NN 
runlvl [runlvl] [...] .
+   update-rc.d [-n] [-r ] [-s]  enable|disable 
[S|2|3|4|5]

  -n: not really
  -f: force
  -v: verbose
@@ -101,6 +102,43 @@ makelinks()
  done
  }
  +renamelink()
+{
+    local oldstartstop newstartstop lev oldnn newnn
+    if [ "x$1" = "xS" ]; then
+    oldstartstop="K"
+    newstartstop="S"
+    else
+    oldstartstop="S"
+    newstartstop="K"
+    fi
+
+    lev=$2
+    if ls ${etcd}${lev}.d/${oldstartstop}*${bn} >/dev/null 2>&1; then
+    oldnn=`basename ${etcd}${lev}.d/${oldstartstop}*${bn}|cut 
-c2-3`

+    newnn=$[100-$oldnn]
+    [ $verbose -eq 1 ] && echo "rename 
${etcd}${lev}.d/${oldstartstop}${oldnn}${bn} -> 
${etcd}${lev}.d/${newstartstop}${newnn}${bn}"

+    if [ $notreally -eq 0 ];then
+    mv ${etcd}${lev}.d/${oldstartstop}${oldnn}${bn} 
${etcd}${lev}.d/${newstartstop}${newnn}${bn}

+    fi
+    if [ $dostart -eq 1 ] && [ $newstartstop = "S" ] && [ $lev 
= $RUNLEVEL ]; then

+    $fn start || true
+    fi
+    fi
+
+}
+
+renamelinks()
+{
+    if [ $# -eq 2 ]; then
+    renamelink $1 $2
+    else
+    for i in 2 3 4 5 S; do
+    renamelink $1 $i
+    done
+    fi
+}
+
  while [ $# -gt 0 ]; do
  case $1 in
  -n)    notreally=1
@@ -221,6 +259,13 @@ case $1 in
  ;;
    start | stop)
+    if [ $# -lt 4 ]
+    then
+    echo "Not enough arguments"
+    usage
+    exit 1
+    fi
+
  while [ $# -gt 0 ]; do
  if [ $1 = "start" ]; then
  letter=S
@@ -251,6 +296,31 @@ case $1 in
  makelinks
  ;;
  +    enable | disable)
+    if [ $1 = "enable" ]; then
+    letter=S
+    elif [ $1 = "disable" ]; then
+    letter=K
+    else
+    usage
+    exit 1
+    fi
+    shift
+    if [ $# -gt 0 ]
+    then
+    case $1 in
+    S|2|3|4|5)
+    renamelinks $letter $1
+    ;;
+    *)
+    usage
+    exit 1
+    ;;
+    esac
+    else
+    renamelinks $letter
+    fi
+    ;;
  *)
  usage
  exit 1



--
BRs

Sandy(Li Changqing)

--
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Quick confirmation about multilib

2018-12-26 Thread Kang Kai

On 2018/12/13 上午1:16, Nicholas Tsirakis wrote:
Sure, thanks for the reply. The image itself should is 64 bit and I 
want to add an additional toolchain to my image that can run 32-bit 
binaries. I am trying to build a 32-bit glibc that will be part of 
this toolchain.


Now, when I go to build, there is a new folder that got created in 
tmp-glibc for the lib32-* files:


tmp-glibc/work/x86-oemllib32-linux/lib32-*

and upon entering the lib32-glibc folder, I'm seeing this:

tmp-glibc/work/x86-oemllib32-linux/lib32-glibc/2.25-r0/build-x86_64-oemllib32-linux/

I'm just not sure if that "x86_64" in the build folder name is correct.


Hi Nicholas,

It seems not right that it should be "build-i686-pokymllib32-linux". Do 
you have any other config? And do you use Yocto
that your TARGET_VENDOR is 'oe' but the default value is 'poky'. And 
please check var TARGET_SYS from output of 'bitbake -e',

you may find where "x86_64" is from.

Regards,
Kai




I may be doing something entirely wrong as well; this is my first time 
using multilib. As an FYI, I have the following to my local.conf:

require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

Any clarification is appreciated.

On Wed, Dec 12, 2018 at 12:04 PM Burton, Ross > wrote:


On Wed, 12 Dec 2018 at 16:59, Nicholas Tsirakis
mailto:niko.tsira...@gmail.com>> wrote:
> I'm trying to build a 32-bit toolchain for my 64-bit image using
multilib and was hoping someone could confirm something for me. I
am seeing issues when building lib32-glibc, and I can't tell if
it's attempting to build properly. The resulting build files are
created in a folder called "x86_64-oemllib32-..." - is this
correct? Or should it be "x86-oemllib32" being that it's a 32-bit
library?

Can you clarify here was should be 32-bit and what should be 64-bit?

Ross




--
Kai Kang

-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto