[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kernel headers---FAQ



On 17 Jan 1998, Manoj Srivastava wrote:

> 	   4.12  /usr/src : Source code
> 	   /usr/src -- Source code
> 	   |
> 	   +-linux     Source code for Linux kernel
> 	   
> 	   Any non-local source code should be placed in this
> 	   subdirectory.  The only source code that should always be
> 	   placed in a specific location is the kernel source (when
> 	   present or linked in part to the /usr/include structure).
> 	   Subdirectories may be used here if desired.
> 
> 	See? Non local source code.

You may be misinterpreting the FSSTND.  Compare the following two
statements:
	(1) "Any non-local source code should be placed in this
	    subdirectory."
	(2) "Any local source code should not be placed in this
	    subdirectory."
	    
The FSSTND, according to your quote, says only (1).  It does NOT say (2),
which means I am not breaking things by putting local source code there,
particularly if I am complying with the FSSTND by placing the Linux kernel
source code in /usr/src/linux.

> Avery> Besides mentioning the fact that people aren't going
> Avery> to like this, I'm going to say only that _I_ myself am going to
> Avery> jolly well go on using /usr/src myself no matter what you say.
> Avery> (I also know what I'm doing.  Many people would be well advised
> Avery> to follow the instructions.)
> 
> 	Then don't complain. You break Debian policy on your machine
>  (as is your right), then Debian is no longer responsible for
>  support. 

Just because it's not officially guaranteed to work doesn't mean it's not
allowed to work.

If kernel-headers would just allow itself to be configured when
/usr/src/linux is not a link, I would be a happy camper, because then I
could install libc6 without a --force option, thereby validating my
existence.  Nothing imaginable would break.

Since /usr/include/{linux,asm} point to the /usr/src/kernel-headers-2.0.32
directory anyway, kernel-headers _is_ in fact fully configured whether
/usr/src/linux is a link to it or not.

> Avery> The real question here is why kernel-headers and kernel-source
> Avery> bother to make the /usr/src/linux symlink at all, and worse
> Avery> still, fail when they can't do it.  As far as I can tell,
> Avery> NOTHING in debian refers to /usr/src/linux.  
> 
> 	Also from The Linux Filesystem Structure: 
> 
> 	 The source code for the kernel should always be in place or
> 	 at least the include files from the kernel source.  Those
> 	 files are located in these directories:
> 	 
> 	      /usr/src/linux/include/asm-<arch>
> 	      /usr/src/linux/include/linux
> 	 
> 	 /usr/src/linux may also be a symbolic link to a kernel source
> 	 code tree.

Again I requote you:
	"the source code for the kernel should always be in place or at
	 least the include files..."

There is no requirement here that the kernel source or headers be installed
by debian.  If the user has unpacked his own kernel in /usr/src/linux, it is
99% likely that the kernel source and headers are present.  If they are
not, the user has made a mess and, again, deserves what he gets.

Whether they are the exact version of kernel headers that libc wants is not
a matter of FSSTND compliance, and is a pointless argument anyway since
/usr/include/{linux,asm} don't point to /usr/src/linux.

To requote again:
	"/usr/src/linux may also be a symbolic link to a kernel source code
	 tree."

/usr/src/linux may also NOT be a symbolic link to a kernel source code tree. 
Also, there is no requirement that the kernel source tree to which it is a
link, must be the Debian-installed one.

> Avery> But why must the packages fiddle with /usr/src/linux itself?
> Avery> People manually installing a kernel will try to put it there.
> Avery> People may overwrite debian files with their kernel by
> Avery> accident.  No debian tools I know of need that link.  And now I
> Avery> can't upgrade libc6 if I've unpacked a kernel!
> 
> 	As I said, we follow Standards (unlike microsoft ;-). If you
>  have a problem with the standards, take it up eith the standards
>  committee. You break Debian policy, you have no right to complain.

It is my opinion that both my and your setups comply with the FSSTND. 
Debian policy (to the best of my knowledge) is to comply with the FSSTND and
to provide a consistent set of kernel headers for /usr/include/{linux,asm}. 
In the default Debian configuration, as well as in my special configuration,
both of these requirements are met.

Therefore, my setup complies with Debian policy.  kernel-headers fails to
install properly in my standards-compliant configuration.

> Avery> This is going to confuse users.
> 
> 	Only if they have preset incorrect preconceptions.

I'm don't know whether these "preset preconceptions" are "incorrect," but I
will tell you right now that a lot of users have them.

Have fun,

Avery


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: