Safer linux-headers install

Dan Nicholson dbn.lists at gmail.com
Wed Jul 11 06:16:08 PDT 2007


On 7/11/07, Luca2 <liliana.perossa at fastwebnet.it> wrote:
>
> Same issue could be solved with a little patch removing or commenting
> out the line in question as I've been already using for some months.
>
> There's ony an additional "issue": it's an extra patch and this depends
> on authors' feelings towards patches...

Well, you didn't include the patch, but I assume you must be
commenting out one of these lines in scripts/Makefile.headersinst:

# Work out what needs to be removed
oldheaders      := $(patsubst
$(INSTALL_HDR_PATH)/$(_dst)/%,%,$(wildcard
$(INSTALL_HDR_PATH)/$(_dst)/*.h))
unwanted        := $(filter-out $(header-y) $(unifdef-y)
$(objhdr-y),$(oldheaders))

Unless it's going to be accepted upstream, then I'm not really
interested in adding a patch here which takes one extra command to
workaround. Which, now that I look again, makes this much easier to
solve.

# make INSTALL_HDR_PATH=/usr oldheaders= headers_install

Try running with V=1 and with and without oldheaders set.

$ mkdir -p ~/src/include/
$ cp /usr/include/*.h ~/src/include/
$ make INSTALL_HDR_PATH=~/src headers_install V=1
...
make[1]: `scripts/unifdef' is up to date.
make -f /home/dnicholson/src/linux-2.6.21.5/scripts/Makefile.headersinst
obj=include
  rm -f /home/dnicholson/src/include/aio.h
  rm -f /home/dnicholson/src/include/aliases.h
  rm -f /home/dnicholson/src/include/alloca.h
  rm -f /home/dnicholson/src/include/ansidecl.h
  rm -f /home/dnicholson/src/include/a.out.h
...
$ ls ~/src/include/
asm  asm-generic  linux  mtd  rdma  sound  video
$ make INSTALL_HDR_PATH=~/src oldheaders= headers_install V=1
...
make[1]: `scripts/unifdef' is up to date.
make -f /home/dnicholson/src/linux-2.6.21.5/scripts/Makefile.headersinst
obj=include
make -rR -f /home/dnicholson/src/linux-2.6.21.5/scripts/Makefile.headersinst
obj=include/asm-generic dst=include/asm-generic rel=../
...
$ ls ~/src/include/
aio.h                    _G_config.h         sched.h
aliases.h                gconv.h             search.h
alloca.h                 getopt.h            semaphore.h
ansidecl.h               gettext-po.h        setjmp.h

So, just by passing oldheaders= to make, it won't try to remove
anything. Is that better?

--
Dan



More information about the lfs-dev mailing list