> -----Ursprüngliche Nachricht-----
> Von: Jan Kiszka <jan.kis...@siemens.com>
> Gesendet: Freitag, 12. Juli 2019 12:23
> An: Johannes Kirchmair <johannes.kirchm...@sigmatek.at>;
> xenomai@xenomai.org
> Betreff: Re: [PATCH] prepare-kernal.sh: Add --copylinks option
> 
> On 12.07.19 09:41, Johannes Kirchmair via Xenomai wrote:
> > Hello everyone,
> >
> > just a ping to see if anyone has any remarks about this patch.
> 
> Sorry, slipped through.
> 
> >
> > Best regards
> > Johannes Kirchmair
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Johannes Kirchmair <johannes.kirchm...@sigmatek.at>
> > Gesendet: Dienstag, 11. Juni 2019 13:01
> > An: xenomai@xenomai.org
> > Cc: Johannes Kirchmair <johannes.kirchm...@sigmatek.at>
> > Betreff: [PATCH] prepare-kernal.sh: Add --copylinks option
> >
> > The prepare-kernal.sh script by default adds the xenomai kernel
> components to the kernel source using soft links.
> > If you move/remove the xenomai source or move the patched kernel
> source to another workstation, you must change all this links or even replace
> them by the actual files.
> > To simplify the deployment of the patched kernel source to our coworkers,
> we added the –copylinks option to the prepare-kernal.sh.
> > The option causes the prepare-kernal.sh to copy the xenomai kernel
> components instead of linking them.
> > This makes it easy to move the patched kernel source to different
> locations.
> > Further, having the actual files in the kernel source makes the use of tools
> like git grep that do not follow symbolic links by default more convenient.
> > E.g. it gets harder to miss symbols searched with git grep by accident.
> 
> What's the differentiation to using --outpatch

Actually missed that one or did not get it the right way. 
Appling the --outpatch file actually does what we were trying to achieve.
So we can drop this thread.
Sorry for the disturbance. ;-)
Best regards 
Johannes

> 
> >
> > Signed-off-by: Johannes Kirchmair <johannes.kirchm...@sigmatek.at>
> > ---
> >  scripts/prepare-kernel.sh | 47
> > +++++++++++++++++++++++++--------------
> >  1 file changed, 30 insertions(+), 17 deletions(-)
> >
> > diff --git a/scripts/prepare-kernel.sh b/scripts/prepare-kernel.sh
> > index e88a9a757..b8cc5f6c1 100755
> > --- a/scripts/prepare-kernel.sh
> > +++ b/scripts/prepare-kernel.sh
> > @@ -84,6 +84,14 @@ patch_link() {
> >      target_dir="$3"
> >      link_dir="$4"
> >
> > +
> > +   if test "x$5" = "x"
> > +   then
> > +           ln_cmd="ln -sf"
> > +   else
> > +           ln_cmd="cp -f"
> > +   fi
> > +
> >      (
> >          if test \! \( x$link_file = xm -o x$link_file = xn \); then
> >        find_clean_opt="-name $link_file"
> > @@ -122,7 +130,7 @@ patch_link() {
> >                  if test x$forcelink = x1 -o \
> >                ! $xenomai_root/$target_dir/$f -ef
> $linux_tree/$link_dir/$f;
> >             then
> > -                    ln -sf $xenomai_root/$target_dir/$f 
> > $linux_tree/$link_dir/$f
> > +                    $ln_cmd $xenomai_root/$target_dir/$f
> > + $linux_tree/$link_dir/$f
> >                  fi
> >              else
> >                  if test `check_filter $link_dir/$f` = "ok"; then @@
> > -150,6 +158,8 @@ generate_patch() {
> >  usage='usage: prepare-kernel --linux=<linux-tree> --ipipe=<ipipe-patch>
> [--arch=<arch>] [--outpatch=<file> [--filterkvers=y|n] [--filterarch=y|n]] [--
> forcelink] [--default] [--verbose]'
> >  me=`basename $0`
> >
> > +copylinks=""
> > +
> >  while test $# -gt 0; do
> >      case "$1" in
> >      --linux=*)
> > @@ -182,6 +192,9 @@ while test $# -gt 0; do
> >      --default)
> >          usedefault=1
> >          ;;
> > +   --copylinks)
> > +           copylinks="1"
> > +           ;;
> >      --verbose)
> >     verbose=1
> >     ;;
> > @@ -416,23 +429,23 @@ esac
> >
> >  patch_kernelversion_specific="n"
> >  patch_architecture_specific="y"
> > -patch_link r m kernel/cobalt/arch/$linux_arch
> > arch/$linux_arch/xenomai -patch_link n n kernel/cobalt/include/ipipe
> > arch/$linux_arch/include/ipipe
> > +patch_link r m kernel/cobalt/arch/$linux_arch
> > +arch/$linux_arch/xenomai $copylinks patch_link n n
> > +kernel/cobalt/include/ipipe arch/$linux_arch/include/ipipe $copylinks
> >  patch_architecture_specific="n"
> > -patch_link n m kernel/cobalt kernel/xenomai -patch_link n
> > cobalt-core.h kernel/cobalt/trace include/trace/events -patch_link n
> > cobalt-rtdm.h kernel/cobalt/trace include/trace/events -patch_link n
> > cobalt-posix.h kernel/cobalt/trace include/trace/events -patch_link r
> > n kernel/cobalt/include/asm-generic/xenomai
> > include/asm-generic/xenomai -patch_link r n
> > kernel/cobalt/include/linux/xenomai include/linux/xenomai -patch_link
> > n m kernel/cobalt/posix kernel/xenomai/posix -patch_link n m
> > kernel/cobalt/rtdm kernel/xenomai/rtdm -patch_link r m kernel/drivers
> > drivers/xenomai -patch_link n n include/cobalt/kernel
> > include/xenomai/cobalt/kernel -patch_link r n
> > include/cobalt/kernel/rtdm include/xenomai/rtdm -patch_link r n
> > include/cobalt/uapi include/xenomai/cobalt/uapi -patch_link r n
> > include/rtdm/uapi include/xenomai/rtdm/uapi -patch_link n version.h
> > include/xenomai include/xenomai
> > +patch_link n m kernel/cobalt kernel/xenomai $copylinks patch_link n
> > +cobalt-core.h kernel/cobalt/trace include/trace/events $copylinks
> > +patch_link n cobalt-rtdm.h kernel/cobalt/trace include/trace/events
> > +$copylinks patch_link n cobalt-posix.h kernel/cobalt/trace
> > +include/trace/events $copylinks patch_link r n
> > +kernel/cobalt/include/asm-generic/xenomai include/asm-
> generic/xenomai
> > +$copylinks patch_link r n kernel/cobalt/include/linux/xenomai
> > +include/linux/xenomai $copylinks patch_link n m kernel/cobalt/posix
> > +kernel/xenomai/posix $copylinks patch_link n m kernel/cobalt/rtdm
> > +kernel/xenomai/rtdm $copylinks patch_link r m kernel/drivers
> > +drivers/xenomai $copylinks patch_link n n include/cobalt/kernel
> > +include/xenomai/cobalt/kernel $copylinks patch_link r n
> > +include/cobalt/kernel/rtdm include/xenomai/rtdm $copylinks patch_link
> > +r n include/cobalt/uapi include/xenomai/cobalt/uapi $copylinks
> > +patch_link r n include/rtdm/uapi include/xenomai/rtdm/uapi $copylinks
> > +patch_link n version.h include/xenomai include/xenomai $copylinks
> >
> 
> If we add that feature, then it's probably better controlled via a global
> variable.
> 
> Jan
> 
> >  if test "x$output_patch" != "x"; then
> >      if test x$verbose = x1; then
> > --
> > 2.17.1
> >
> 
> --
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE
> Corporate Competence Center Embedded Linux

Reply via email to