* Re: [RFH] Exploration of an alternative diff_delta() algorithm
From: Nicolas Pitre @ 2006-04-10 3:29 UTC (permalink / raw)
To: Peter Eriksen; +Cc: git
In-Reply-To: <20060409224548.GB21455@erlang.gbar.dtu.dk>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1001 bytes --]
On Mon, 10 Apr 2006, Peter Eriksen wrote:
> On Sun, Apr 09, 2006 at 01:45:00PM -0400, Nicolas Pitre wrote:
> ...
> > Try this with the README file from the git source tree:
> >
> > sed s/git/GIT/g < ./README > /tmp/README.mod
> > test-delta -d ./README /tmp/README.mod /tmp/README.delta
> > [BOOM!]
>
> I found the bug. The code still has some limitations, but now
> it passes the test suite. Thanks for your help, Nicolas.
OK here's some more meat for you:
Copy the same README file from the git source tree, then edit the copied
version so the "Blob Object" section and the "Tree Object" section are
swapped around like shown in the attached patch.
The best delta that can be achieved is 24 bytes.
With the current code the produced delta is 42 bytes.
With your code the resulting delta is 4978 bytes, about twice as large
as the attached patch.
One major limitation of your algorithm appears to not have a global view
of the base buffer before starting to find matches.
Nicolas
[-- Attachment #2: Type: TEXT/PLAIN, Size: 2372 bytes --]
--- f1 2006-04-09 13:31:26.000000000 -0400
+++ f2 2006-04-09 23:04:10.000000000 -0400
@@ -87,26 +87,6 @@
The object types in some more detail:
-Blob Object
-~~~~~~~~~~~
-A "blob" object is nothing but a binary blob of data, and doesn't
-refer to anything else. There is no signature or any other
-verification of the data, so while the object is consistent (it 'is'
-indexed by its sha1 hash, so the data itself is certainly correct), it
-has absolutely no other attributes. No name associations, no
-permissions. It is purely a blob of data (i.e. normally "file
-contents").
-
-In particular, since the blob is entirely defined by its data, if two
-files in a directory tree (or in multiple different versions of the
-repository) have the same contents, they will share the same blob
-object. The object is totally independent of its location in the
-directory tree, and renaming a file does not change the object that
-file is associated with in any way.
-
-A blob is typically created when gitlink:git-update-index[1]
-is run, and its data can be accessed by gitlink:git-cat-file[1].
-
Tree Object
~~~~~~~~~~~
The next hierarchical object type is the "tree" object. A tree object
@@ -147,6 +127,26 @@
its data can be accessed by gitlink:git-ls-tree[1].
Two trees can be compared with gitlink:git-diff-tree[1].
+Blob Object
+~~~~~~~~~~~
+A "blob" object is nothing but a binary blob of data, and doesn't
+refer to anything else. There is no signature or any other
+verification of the data, so while the object is consistent (it 'is'
+indexed by its sha1 hash, so the data itself is certainly correct), it
+has absolutely no other attributes. No name associations, no
+permissions. It is purely a blob of data (i.e. normally "file
+contents").
+
+In particular, since the blob is entirely defined by its data, if two
+files in a directory tree (or in multiple different versions of the
+repository) have the same contents, they will share the same blob
+object. The object is totally independent of its location in the
+directory tree, and renaming a file does not change the object that
+file is associated with in any way.
+
+A blob is typically created when gitlink:git-update-index[1]
+is run, and its data can be accessed by gitlink:git-cat-file[1].
+
Commit Object
~~~~~~~~~~~~~
The "commit" object is an object that introduces the notion of
^ permalink raw reply
* Re: 2.4.32: unresolved symbol unregister_qdisc
From: Randy.Dunlap @ 2006-04-10 3:29 UTC (permalink / raw)
To: George P Nychis; +Cc: linux-kernel, netdev
In-Reply-To: <2595.128.2.140.234.1144639201.squirrel@128.2.140.234>
On Sun, 9 Apr 2006 23:20:01 -0400 (EDT) George P Nychis wrote:
>
> > On Sun, 9 Apr 2006 22:49:50 -0400 (EDT) George P Nychis wrote:
> >
> >>
> >>> On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
> >>>
> >>>>
> >>>>> On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
> >>>>>
> >>>>>> Thanks for the help.
> >>>>>>
> >>>>>> Here is the makefile:
> >>>>>> http://rafb.net/paste/results/auchPH75.html
> >>>>>>
> >>>>>> And here is the full errors I receive:
> >>>>>> http://rafb.net/paste/results/Qplpqw74.html
> >>>>>>
> >>>>>> Greatly appreciate it
> >>>>>>
> >>>>>> - George
> >>>>>
> >>>>> [repeat: please don't top-post]
> >>>>>
> >>>>> I don't know how much I can help you. It's been a long time
> >>>>> since I've built external modules on 2.4.x.
> >>>>>
> >>>>> Problems that I see: - the Makefile does not use the expected 2.4
> >>>>> kernel build infrastructure; - kernel Makefile uses -nostdinc to
> >>>>> prevent use of userspace headers; - Makefile is trying to
> >>>>> include userspace headers instead of kernel headers, e.g.: In file
> >>>>> included from /usr/include/linux/if_ether.h:107, from
> >>>>> /usr/include/linux/netdevice.h:29, from sch_xcp.c:8: - this
> >>>>> specified include directory is only in 2.6.x, not 2.4.x:
> >>>>> -I/lib/modules/`uname -r`/build/include/asm/mach-default
> >>>>>
> >>>>> It's not clear to me how this makefile could work with 2.4.x at
> >>>>> all. Is it supposed to, or that's just what you want to see it do?
> >>>>>
> >>>>>
> >>>>> You could try to fix the Makefile based on makefile-changes
> >>>>> articles at lwn.net. E.g.: http://lwn.net/Articles/151784/
> >>>>> http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/
> >>>>> http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
> >>>>>
> >>>>>
> >>>>>
> >>>>>>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> Yeah, this module is unfortunately not under the GPL, it
> >>>>>>>> was made for research and i am not the author, I was only
> >>>>>>>> given the code for my own research.
> >>>>>>>>
> >>>>>>>> I enabled that support in the kernel, and then tried to
> >>>>>>>> recompile and get tons of errors/warnings... so maybe I am
> >>>>>>>> missing something else to be enabled in the kernel... here
> >>>>>>>> are a few examples of errors:
> >>>>>>>> /usr/include/linux/skbuff.h:30:26: net/checksum.h: No such
> >>>>>>>> file or directory /usr/include/asm/irq.h:16:25:
> >>>>>>>> irq_vectors.h: No such file or directory
> >>>>>>>> /usr/include/linux/irq.h:72: error: `NR_IRQS' undeclared
> >>>>>>>> here (not in a function) /usr/include/asm/hw_irq.h:28:
> >>>>>>>> error: `NR_IRQ_VECTORS' undeclared here (not in a function)
> >>>>>>>>
> >>>>>>>> I think those are the top most errors, so if i can fix
> >>>>>>>> those hopefully the rest shall vanish!
> >>>>>>>
> >>>>>>> Looks like a Makefile problem then. Can you post the
> >>>>>>> Makefile? Hopefully it is using a Makefile and not just an
> >>>>>>> elaborate gcc command line.
> >>>>>>>
> >>>>>>> [and please don't top-post]
> >>>>>>>
> >>>>>>>> - George
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8
> >>>>>>>>> Apr 2006 18:47:34 -0400 (EDT)
> >>>>>>>>>
> >>>>>>>>>> Hey,
> >>>>>>>>>>
> >>>>>>>>>> I have a kernel module that uses unregister_qdisc and
> >>>>>>>>>> register_qdisc, whenever i try to insert the module I
> >>>>>>>>>> get: /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>>>> unresolved symbol unregister_qdisc
> >>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>>>> unresolved symbol register_qdisc
> >>>>>>>>>>
> >>>>>>>>>> Am i missing some sort of support in the kernel?
> >>>>>>>>>
> >>>>>>>>> Make sure CONFIG_NET_SCHED is enabled and that you
> >>>>>>>>> compiled your module against that kernel.
> >>>>>>>>>
> >>>>>>>>> Where does this sch_xcp come from? It's not in the
> >>>>>>>>> vanilla sources.
> >>>>>>>>>
> >>>>>>>>> Also, please direct networking questions to the
> >>>>>>>>> netdev@vger.kernel.org mailing list which I have added to
> >>>>>>>>> the CC:.
> >>>>>
> >>>>> --- ~Randy
> >>>>>
> >>>>>
> >>>>
> >>>> By the way, if I add -I/usr/src/linux/include to the compile line,
> >>>> it successfully compiles, however, i am back to the start:
> >>>> lanthanum-ini src-1.0.1 # insmod sch_xcp Using
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
> >>>> unregister_qdisc /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
> >>>> register_qdisc
> >>>
> >>> Yet your 2.4.32 kernel image file does have those symbols in it? Can
> >>> you verify that by using 'nm' on the kernel image file?
> >>>
> >>> If so, then I suppose that you'll need to make a small module test
> >>> case that exhibits this behavior, or just tell us where to get the
> >>> sch_xcp files...
> >>>
> >>> (re-added cc: for netdev)
> >>>
> >>> --- ~Randy
> >>>
> >>>
> >>
> >> By kernel image, do you mean /usr/src/linux/vmlinux ? if so,
> >> lanthanum-ini linux # nm vmlinux | grep register_qdisc c0399200 R
> >> __kstrtab_register_qdisc c0399240 R __kstrtab_unregister_qdisc c039ebc8 R
> >> __ksymtab_register_qdisc c039ebd0 R __ksymtab_unregister_qdisc c02eda40 T
> >> register_qdisc c02edaf0 T unregister_qdisc
> >
> > Yes. That's good, then.
> >
> > --- ~Randy
> >
> >
>
> *sigh* ... still getting the unresolved symbols, i totally don't get it, my /usr/src/linux/vmlinux says that the symbols exist, i install the kernel, reboot, and still get the same errors
Yes, I understood that.
> Any other way of doing this or reason i can find out whats causing this?
Well, one of the makefile gods can step in and spot the problem, or you can
create a test case so that others can try to help out with it. Or tell us
where to get the code that you are using.
> thanks for your help
---
~Randy
^ permalink raw reply
* [PATCH] config: exit if no beginning filename
From: Randy.Dunlap @ 2006-04-10 3:23 UTC (permalink / raw)
To: lkml; +Cc: akpm, zippel, sam
From: Randy Dunlap <rdunlap@xenotime.net>
If the beginning Kconfig file is missing, config segfaults
so it might as well exit after the error message.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
---
scripts/kconfig/conf.c | 1 +
1 files changed, 1 insertion(+)
--- linux-2617-rc1.orig/scripts/kconfig/conf.c
+++ linux-2617-rc1/scripts/kconfig/conf.c
@@ -553,6 +553,7 @@ int main(int ac, char **av)
name = av[i];
if (!name) {
printf(_("%s: Kconfig file missing\n"), av[0]);
+ exit(1);
}
conf_parse(name);
//zconfdump(stdout);
---
^ permalink raw reply
* Re: 2.4.32: unresolved symbol unregister_qdisc
From: George P Nychis @ 2006-04-10 3:20 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: linux-kernel, netdev
In-Reply-To: <20060409195906.77744b9b.rdunlap@xenotime.net>
> On Sun, 9 Apr 2006 22:49:50 -0400 (EDT) George P Nychis wrote:
>
>>
>>> On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
>>>
>>>>
>>>>> On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
>>>>>
>>>>>> Thanks for the help.
>>>>>>
>>>>>> Here is the makefile:
>>>>>> http://rafb.net/paste/results/auchPH75.html
>>>>>>
>>>>>> And here is the full errors I receive:
>>>>>> http://rafb.net/paste/results/Qplpqw74.html
>>>>>>
>>>>>> Greatly appreciate it
>>>>>>
>>>>>> - George
>>>>>
>>>>> [repeat: please don't top-post]
>>>>>
>>>>> I don't know how much I can help you. It's been a long time
>>>>> since I've built external modules on 2.4.x.
>>>>>
>>>>> Problems that I see: - the Makefile does not use the expected 2.4
>>>>> kernel build infrastructure; - kernel Makefile uses -nostdinc to
>>>>> prevent use of userspace headers; - Makefile is trying to
>>>>> include userspace headers instead of kernel headers, e.g.: In file
>>>>> included from /usr/include/linux/if_ether.h:107, from
>>>>> /usr/include/linux/netdevice.h:29, from sch_xcp.c:8: - this
>>>>> specified include directory is only in 2.6.x, not 2.4.x:
>>>>> -I/lib/modules/`uname -r`/build/include/asm/mach-default
>>>>>
>>>>> It's not clear to me how this makefile could work with 2.4.x at
>>>>> all. Is it supposed to, or that's just what you want to see it do?
>>>>>
>>>>>
>>>>> You could try to fix the Makefile based on makefile-changes
>>>>> articles at lwn.net. E.g.: http://lwn.net/Articles/151784/
>>>>> http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/
>>>>> http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
>>>>>
>>>>>
>>>>>
>>>>>>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Yeah, this module is unfortunately not under the GPL, it
>>>>>>>> was made for research and i am not the author, I was only
>>>>>>>> given the code for my own research.
>>>>>>>>
>>>>>>>> I enabled that support in the kernel, and then tried to
>>>>>>>> recompile and get tons of errors/warnings... so maybe I am
>>>>>>>> missing something else to be enabled in the kernel... here
>>>>>>>> are a few examples of errors:
>>>>>>>> /usr/include/linux/skbuff.h:30:26: net/checksum.h: No such
>>>>>>>> file or directory /usr/include/asm/irq.h:16:25:
>>>>>>>> irq_vectors.h: No such file or directory
>>>>>>>> /usr/include/linux/irq.h:72: error: `NR_IRQS' undeclared
>>>>>>>> here (not in a function) /usr/include/asm/hw_irq.h:28:
>>>>>>>> error: `NR_IRQ_VECTORS' undeclared here (not in a function)
>>>>>>>>
>>>>>>>> I think those are the top most errors, so if i can fix
>>>>>>>> those hopefully the rest shall vanish!
>>>>>>>
>>>>>>> Looks like a Makefile problem then. Can you post the
>>>>>>> Makefile? Hopefully it is using a Makefile and not just an
>>>>>>> elaborate gcc command line.
>>>>>>>
>>>>>>> [and please don't top-post]
>>>>>>>
>>>>>>>> - George
>>>>>>>>
>>>>>>>>
>>>>>>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8
>>>>>>>>> Apr 2006 18:47:34 -0400 (EDT)
>>>>>>>>>
>>>>>>>>>> Hey,
>>>>>>>>>>
>>>>>>>>>> I have a kernel module that uses unregister_qdisc and
>>>>>>>>>> register_qdisc, whenever i try to insert the module I
>>>>>>>>>> get: /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>>>>>>>> unresolved symbol unregister_qdisc
>>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>>>>>>>> unresolved symbol register_qdisc
>>>>>>>>>>
>>>>>>>>>> Am i missing some sort of support in the kernel?
>>>>>>>>>
>>>>>>>>> Make sure CONFIG_NET_SCHED is enabled and that you
>>>>>>>>> compiled your module against that kernel.
>>>>>>>>>
>>>>>>>>> Where does this sch_xcp come from? It's not in the
>>>>>>>>> vanilla sources.
>>>>>>>>>
>>>>>>>>> Also, please direct networking questions to the
>>>>>>>>> netdev@vger.kernel.org mailing list which I have added to
>>>>>>>>> the CC:.
>>>>>
>>>>> --- ~Randy
>>>>>
>>>>>
>>>>
>>>> By the way, if I add -I/usr/src/linux/include to the compile line,
>>>> it successfully compiles, however, i am back to the start:
>>>> lanthanum-ini src-1.0.1 # insmod sch_xcp Using
>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o
>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
>>>> unregister_qdisc /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
>>>> register_qdisc
>>>
>>> Yet your 2.4.32 kernel image file does have those symbols in it? Can
>>> you verify that by using 'nm' on the kernel image file?
>>>
>>> If so, then I suppose that you'll need to make a small module test
>>> case that exhibits this behavior, or just tell us where to get the
>>> sch_xcp files...
>>>
>>> (re-added cc: for netdev)
>>>
>>> --- ~Randy
>>>
>>>
>>
>> By kernel image, do you mean /usr/src/linux/vmlinux ? if so,
>> lanthanum-ini linux # nm vmlinux | grep register_qdisc c0399200 R
>> __kstrtab_register_qdisc c0399240 R __kstrtab_unregister_qdisc c039ebc8 R
>> __ksymtab_register_qdisc c039ebd0 R __ksymtab_unregister_qdisc c02eda40 T
>> register_qdisc c02edaf0 T unregister_qdisc
>
> Yes. That's good, then.
>
> --- ~Randy
>
>
*sigh* ... still getting the unresolved symbols, i totally don't get it, my /usr/src/linux/vmlinux says that the symbols exist, i install the kernel, reboot, and still get the same errors
Any other way of doing this or reason i can find out whats causing this?
thanks for your help
^ permalink raw reply
* Re: Black box flight recorder for Linux
From: Russell Senior @ 2006-04-10 3:06 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: linux list
In-Reply-To: <44379AB8.6050808@superbug.co.uk>
>>>>> "James" == James Courtier-Dutton <James@superbug.co.uk> writes:
James> The main advantage of something like this would be for newer
James> motherboards that are around now that don't have a serial port.
If it has a PCI slot, you could _add_ a serial port, of course.
--
Russell Senior ``I have nine fingers; you have ten.''
seniorr@aracnet.com
^ permalink raw reply
* [PATCH] Remove duplicate check after powernow-k8 changes
From: Alexey Dobriyan @ 2006-04-10 3:01 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
--- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
@@ -1109,9 +1109,6 @@ static unsigned int powernowk8_get (unsi
if (!data)
return -EINVAL;
- if (!data)
- return -EINVAL;
-
set_cpus_allowed(current, cpumask_of_cpu(cpu));
if (smp_processor_id() != cpu) {
printk(KERN_ERR PFX "limiting to CPU %d failed in powernowk8_get\n", cpu);
^ permalink raw reply
* Re: 2.4.32: unresolved symbol unregister_qdisc
From: Randy.Dunlap @ 2006-04-10 2:59 UTC (permalink / raw)
To: George P Nychis; +Cc: linux-kernel, netdev
In-Reply-To: <2474.128.2.140.234.1144637390.squirrel@128.2.140.234>
On Sun, 9 Apr 2006 22:49:50 -0400 (EDT) George P Nychis wrote:
>
> > On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
> >
> >>
> >>> On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
> >>>
> >>>> Thanks for the help.
> >>>>
> >>>> Here is the makefile: http://rafb.net/paste/results/auchPH75.html
> >>>>
> >>>> And here is the full errors I receive:
> >>>> http://rafb.net/paste/results/Qplpqw74.html
> >>>>
> >>>> Greatly appreciate it
> >>>>
> >>>> - George
> >>>
> >>> [repeat: please don't top-post]
> >>>
> >>> I don't know how much I can help you. It's been a long time since
> >>> I've built external modules on 2.4.x.
> >>>
> >>> Problems that I see: - the Makefile does not use the expected 2.4
> >>> kernel build infrastructure; - kernel Makefile uses -nostdinc to
> >>> prevent use of userspace headers; - Makefile is trying to include
> >>> userspace headers instead of kernel headers, e.g.: In file included
> >>> from /usr/include/linux/if_ether.h:107, from
> >>> /usr/include/linux/netdevice.h:29, from sch_xcp.c:8: - this specified
> >>> include directory is only in 2.6.x, not 2.4.x: -I/lib/modules/`uname
> >>> -r`/build/include/asm/mach-default
> >>>
> >>> It's not clear to me how this makefile could work with 2.4.x at all.
> >>> Is it supposed to, or that's just what you want to see it do?
> >>>
> >>> You could try to fix the Makefile based on makefile-changes articles
> >>> at lwn.net. E.g.: http://lwn.net/Articles/151784/
> >>> http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/
> >>> http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
> >>>
> >>>
> >>>
> >>>>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis wrote:
> >>>>>
> >>>>>> Yeah, this module is unfortunately not under the GPL, it was
> >>>>>> made for research and i am not the author, I was only given the
> >>>>>> code for my own research.
> >>>>>>
> >>>>>> I enabled that support in the kernel, and then tried to
> >>>>>> recompile and get tons of errors/warnings... so maybe I am
> >>>>>> missing something else to be enabled in the kernel... here are a
> >>>>>> few examples of errors: /usr/include/linux/skbuff.h:30:26:
> >>>>>> net/checksum.h: No such file or directory
> >>>>>> /usr/include/asm/irq.h:16:25: irq_vectors.h: No such file or
> >>>>>> directory /usr/include/linux/irq.h:72: error: `NR_IRQS'
> >>>>>> undeclared here (not in a function)
> >>>>>> /usr/include/asm/hw_irq.h:28: error: `NR_IRQ_VECTORS' undeclared
> >>>>>> here (not in a function)
> >>>>>>
> >>>>>> I think those are the top most errors, so if i can fix those
> >>>>>> hopefully the rest shall vanish!
> >>>>>
> >>>>> Looks like a Makefile problem then. Can you post the Makefile?
> >>>>> Hopefully it is using a Makefile and not just an elaborate gcc
> >>>>> command line.
> >>>>>
> >>>>> [and please don't top-post]
> >>>>>
> >>>>>> - George
> >>>>>>
> >>>>>>
> >>>>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8 Apr
> >>>>>>> 2006 18:47:34 -0400 (EDT)
> >>>>>>>
> >>>>>>>> Hey,
> >>>>>>>>
> >>>>>>>> I have a kernel module that uses unregister_qdisc and
> >>>>>>>> register_qdisc, whenever i try to insert the module I get:
> >>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved
> >>>>>>>> symbol unregister_qdisc
> >>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved
> >>>>>>>> symbol register_qdisc
> >>>>>>>>
> >>>>>>>> Am i missing some sort of support in the kernel?
> >>>>>>>
> >>>>>>> Make sure CONFIG_NET_SCHED is enabled and that you compiled
> >>>>>>> your module against that kernel.
> >>>>>>>
> >>>>>>> Where does this sch_xcp come from? It's not in the vanilla
> >>>>>>> sources.
> >>>>>>>
> >>>>>>> Also, please direct networking questions to the
> >>>>>>> netdev@vger.kernel.org mailing list which I have added to the
> >>>>>>> CC:.
> >>>
> >>> --- ~Randy
> >>>
> >>>
> >>
> >> By the way, if I add -I/usr/src/linux/include to the compile line, it
> >> successfully compiles, however, i am back to the start: lanthanum-ini
> >> src-1.0.1 # insmod sch_xcp Using
> >> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o
> >> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
> >> unregister_qdisc /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
> >> register_qdisc
> >
> > Yet your 2.4.32 kernel image file does have those symbols in it? Can you
> > verify that by using 'nm' on the kernel image file?
> >
> > If so, then I suppose that you'll need to make a small module test case
> > that exhibits this behavior, or just tell us where to get the sch_xcp
> > files...
> >
> > (re-added cc: for netdev)
> >
> > --- ~Randy
> >
> >
>
> By kernel image, do you mean /usr/src/linux/vmlinux ?
> if so,
> lanthanum-ini linux # nm vmlinux | grep register_qdisc
> c0399200 R __kstrtab_register_qdisc
> c0399240 R __kstrtab_unregister_qdisc
> c039ebc8 R __ksymtab_register_qdisc
> c039ebd0 R __ksymtab_unregister_qdisc
> c02eda40 T register_qdisc
> c02edaf0 T unregister_qdisc
Yes. That's good, then.
---
~Randy
^ permalink raw reply
* Re: Promise 20378
From: Phil Dibowitz @ 2006-04-10 2:50 UTC (permalink / raw)
To: mreuther; +Cc: linux-ide
In-Reply-To: <20050909152134.24qevggbgg480ooo@engin.mail.umich.edu>
[-- Attachment #1: Type: text/plain, Size: 1679 bytes --]
mreuther@umich.edu wrote:
> Phil, there is a patch in Jeff Garzik's libata-dev patch queue to support PATA
> on Promise SATA hosts. I haven't tried it out myself, but it may cover your
> case.
>
> Go to http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/ and grab the
> latest patch for 2.4 or 2.6. If you grab 2.6.13-rc7-libata1.patch.bz2, it
> applies cleanly to 2.6.13.
>
> Please report back the results!
Finally got around to trying this. It works great! I patched 2.6.15.6
with this patch, and everything seems to be fully functional as far as
the PATA drive on that controller is concerned.
However, a few concerns:
1. The kernel raid autodetection doesn't work here. Though I'm not clear
if it supports going across controllers. I set up a raid-1 array wtih a
drive on my other controller, set the partition type to autodetect, but
a reboot left my array with just the drive not on the promise card.
2. Currently my BIOS's ATA settings are "SATA mode" - I also have "PATA
mode" "SATA+PATA mode". I tried SATA+PATA and I get a bunch of IRQ16
ignored messages, a few tracebacks, and a LOT of slowness. I also get 3
scsiI haven't tried the PATA mode.
Note that my box has 82801EB/ER controller which is currently my primary
contoller as well as the Promise PDC20378 which is what I'm using this
patch for.
Any help would be appreciated.
--
Phil Dibowitz phil@ipom.com
Freeware and Technical Pages Insanity Palace of Metallica
http://www.phildev.net/ http://www.ipom.com/
"Be who you are and say what you feel, because those who mind don't
matter and those who matter don't mind."
- Dr. Suess
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]
^ permalink raw reply
* Re: 2.4.32: unresolved symbol unregister_qdisc
From: George P Nychis @ 2006-04-10 2:49 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: linux-kernel, netdev
In-Reply-To: <20060409192929.28320c00.rdunlap@xenotime.net>
> On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
>
>>
>>> On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
>>>
>>>> Thanks for the help.
>>>>
>>>> Here is the makefile: http://rafb.net/paste/results/auchPH75.html
>>>>
>>>> And here is the full errors I receive:
>>>> http://rafb.net/paste/results/Qplpqw74.html
>>>>
>>>> Greatly appreciate it
>>>>
>>>> - George
>>>
>>> [repeat: please don't top-post]
>>>
>>> I don't know how much I can help you. It's been a long time since
>>> I've built external modules on 2.4.x.
>>>
>>> Problems that I see: - the Makefile does not use the expected 2.4
>>> kernel build infrastructure; - kernel Makefile uses -nostdinc to
>>> prevent use of userspace headers; - Makefile is trying to include
>>> userspace headers instead of kernel headers, e.g.: In file included
>>> from /usr/include/linux/if_ether.h:107, from
>>> /usr/include/linux/netdevice.h:29, from sch_xcp.c:8: - this specified
>>> include directory is only in 2.6.x, not 2.4.x: -I/lib/modules/`uname
>>> -r`/build/include/asm/mach-default
>>>
>>> It's not clear to me how this makefile could work with 2.4.x at all.
>>> Is it supposed to, or that's just what you want to see it do?
>>>
>>> You could try to fix the Makefile based on makefile-changes articles
>>> at lwn.net. E.g.: http://lwn.net/Articles/151784/
>>> http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/
>>> http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
>>>
>>>
>>>
>>>>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis wrote:
>>>>>
>>>>>> Yeah, this module is unfortunately not under the GPL, it was
>>>>>> made for research and i am not the author, I was only given the
>>>>>> code for my own research.
>>>>>>
>>>>>> I enabled that support in the kernel, and then tried to
>>>>>> recompile and get tons of errors/warnings... so maybe I am
>>>>>> missing something else to be enabled in the kernel... here are a
>>>>>> few examples of errors: /usr/include/linux/skbuff.h:30:26:
>>>>>> net/checksum.h: No such file or directory
>>>>>> /usr/include/asm/irq.h:16:25: irq_vectors.h: No such file or
>>>>>> directory /usr/include/linux/irq.h:72: error: `NR_IRQS'
>>>>>> undeclared here (not in a function)
>>>>>> /usr/include/asm/hw_irq.h:28: error: `NR_IRQ_VECTORS' undeclared
>>>>>> here (not in a function)
>>>>>>
>>>>>> I think those are the top most errors, so if i can fix those
>>>>>> hopefully the rest shall vanish!
>>>>>
>>>>> Looks like a Makefile problem then. Can you post the Makefile?
>>>>> Hopefully it is using a Makefile and not just an elaborate gcc
>>>>> command line.
>>>>>
>>>>> [and please don't top-post]
>>>>>
>>>>>> - George
>>>>>>
>>>>>>
>>>>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8 Apr
>>>>>>> 2006 18:47:34 -0400 (EDT)
>>>>>>>
>>>>>>>> Hey,
>>>>>>>>
>>>>>>>> I have a kernel module that uses unregister_qdisc and
>>>>>>>> register_qdisc, whenever i try to insert the module I get:
>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved
>>>>>>>> symbol unregister_qdisc
>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved
>>>>>>>> symbol register_qdisc
>>>>>>>>
>>>>>>>> Am i missing some sort of support in the kernel?
>>>>>>>
>>>>>>> Make sure CONFIG_NET_SCHED is enabled and that you compiled
>>>>>>> your module against that kernel.
>>>>>>>
>>>>>>> Where does this sch_xcp come from? It's not in the vanilla
>>>>>>> sources.
>>>>>>>
>>>>>>> Also, please direct networking questions to the
>>>>>>> netdev@vger.kernel.org mailing list which I have added to the
>>>>>>> CC:.
>>>
>>> --- ~Randy
>>>
>>>
>>
>> By the way, if I add -I/usr/src/linux/include to the compile line, it
>> successfully compiles, however, i am back to the start: lanthanum-ini
>> src-1.0.1 # insmod sch_xcp Using
>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o
>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
>> unregister_qdisc /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
>> register_qdisc
>
> Yet your 2.4.32 kernel image file does have those symbols in it? Can you
> verify that by using 'nm' on the kernel image file?
>
> If so, then I suppose that you'll need to make a small module test case
> that exhibits this behavior, or just tell us where to get the sch_xcp
> files...
>
> (re-added cc: for netdev)
>
> --- ~Randy
>
>
By kernel image, do you mean /usr/src/linux/vmlinux ?
if so,
lanthanum-ini linux # nm vmlinux | grep register_qdisc
c0399200 R __kstrtab_register_qdisc
c0399240 R __kstrtab_unregister_qdisc
c039ebc8 R __ksymtab_register_qdisc
c039ebd0 R __ksymtab_unregister_qdisc
c02eda40 T register_qdisc
c02edaf0 T unregister_qdisc
^ permalink raw reply
* [PATCH] Implement --fuzz= option for git-apply.
From: Eric W. Biederman @ 2006-04-10 2:41 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Currently to import the -mm tree I have to work around
git-apply by using patch. Because some of Andrews
patches in quilt will only apply with fuzz.
Allow git-apply to handle fuzz makes it much easier to import
the -mm tree into git. I am still only processing about 1.5 patch a
second which for the 692 patches in 2.6.17-rc1-mm2 is still painful
but it does help.
If I just apply the patches and don't run git-mailinfo
git-write-tree, and git-write-commit I get about 4 patches
per second.
This patch defaults to leaving fuzz processing off so if you don't
want patches that only apply with fuzz you won't get them.
If a patch does require fuzz to apply you will get a warning:
> Fragment applied at offset: +-#lines (fuzz: #context_lines_deleted)
diff --git a/apply.c b/apply.c
index 33b4271..a07503f 100644
--- a/apply.c
+++ b/apply.c
@@ -32,8 +32,9 @@ static int apply = 1;
static int no_add = 0;
static int show_index_info = 0;
static int line_termination = '\n';
+static int p_fuzz = 0;
static const char apply_usage[] =
-"git-apply [--stat] [--numstat] [--summary] [--check] [--index] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [-z] [-pNUM] [--whitespace=<nowarn|warn|error|error-all|strip>] <patch>...";
+"git-apply [--stat] [--numstat] [--summary] [--check] [--index] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [-z] [-pNUM] [--fuzz=NUM] [--whitespace=<nowarn|warn|error|error-all|strip>] <patch>...";
static enum whitespace_eol {
nowarn_whitespace,
@@ -100,6 +101,7 @@ static int max_change, max_len;
static int linenr = 1;
struct fragment {
+ unsigned long context;
unsigned long oldpos, oldlines;
unsigned long newpos, newlines;
const char *patch;
@@ -817,12 +819,15 @@ static int parse_fragment(char *line, un
int added, deleted;
int len = linelen(line, size), offset;
unsigned long oldlines, newlines;
+ unsigned long leading, trailing;
offset = parse_fragment_header(line, len, fragment);
if (offset < 0)
return -1;
oldlines = fragment->oldlines;
newlines = fragment->newlines;
+ leading = 0;
+ trailing = 0;
if (patch->is_new < 0) {
patch->is_new = !oldlines;
@@ -860,10 +865,14 @@ static int parse_fragment(char *line, un
case ' ':
oldlines--;
newlines--;
+ if (!deleted && !added)
+ leading++;
+ trailing++;
break;
case '-':
deleted++;
oldlines--;
+ trailing = 0;
break;
case '+':
/*
@@ -887,6 +896,7 @@ static int parse_fragment(char *line, un
}
added++;
newlines--;
+ trailing = 0;
break;
/* We allow "\ No newline at end of file". Depending
@@ -904,6 +914,10 @@ static int parse_fragment(char *line, un
}
if (oldlines || newlines)
return -1;
+ fragment->context = leading;
+ if (leading > trailing)
+ fragment->context = trailing;
+
/* If a fragment ends with an incomplete line, we failed to include
* it in the above loop because we hit oldlines == newlines == 0
* before seeing it.
@@ -1087,7 +1101,7 @@ static int read_old_data(struct stat *st
}
}
-static int find_offset(const char *buf, unsigned long size, const char *fragment, unsigned long fragsize, int line)
+static int find_offset(const char *buf, unsigned long size, const char *fragment, unsigned long fragsize, int line, int *lines)
{
int i;
unsigned long start, backwards, forwards;
@@ -1148,6 +1162,7 @@ static int find_offset(const char *buf,
n = (i >> 1)+1;
if (i & 1)
n = -n;
+ *lines = n;
return try;
}
@@ -1155,6 +1170,31 @@ static int find_offset(const char *buf,
* We should start searching forward and backward.
*/
return -1;
+}
+
+static void reduce_context(char **buf, int *size)
+{
+ char *ctx = *buf;
+ unsigned long ctxsize = *size;
+ unsigned long offset;
+
+ /* Remove the first line */
+ offset = 0;
+ while (offset <= ctxsize) {
+ if (ctx[offset++] == '\n')
+ break;
+ }
+ ctxsize -= offset;
+ ctx += offset;
+ /* Remove the last line */
+ offset = ctxsize - 1;
+ while (offset > 0) {
+ if (ctx[--offset] == '\n')
+ break;
+ }
+ ctxsize = offset + 1;
+ *buf = ctx;
+ *size = ctxsize;
}
struct buffer_desc {
@@ -1192,7 +1232,10 @@ static int apply_one_fragment(struct buf
int offset, size = frag->size;
char *old = xmalloc(size);
char *new = xmalloc(size);
- int oldsize = 0, newsize = 0;
+ char *ctx;
+ int oldsize = 0, newsize = 0, ctxsize;
+ int lines;
+ int fuzz, max_fuzz;
while (size > 0) {
int len = linelen(patch, size);
@@ -1241,23 +1284,39 @@ #ifdef NO_ACCURATE_DIFF
newsize--;
}
#endif
+
+ offset = -1; /* shutup gcc */
+ ctx = old;
+ ctxsize = oldsize;
+ lines = 0;
+ max_fuzz = (p_fuzz < frag->context) ? p_fuzz : frag->context;
+ for (fuzz = 0; fuzz <= max_fuzz; fuzz++) {
+ /* Reduce the number of context lines */
+ if (fuzz)
+ reduce_context(&ctx, &ctxsize);
+ offset = find_offset(buf, desc->size, ctx, ctxsize, frag->newpos + fuzz, &lines);
+ if (offset >= 0) {
+ int diff = newsize - ctxsize;
+ unsigned long size = desc->size + diff;
+ unsigned long alloc = desc->alloc;
+
+ if (fuzz)
+ fprintf(stderr, "Fragment applied at offset: %d (fuzz: %d)\n",
+ lines, fuzz);
+
+ if (size > alloc) {
+ alloc = size + 8192;
+ desc->alloc = alloc;
+ buf = xrealloc(buf, alloc);
+ desc->buffer = buf;
+ }
+ desc->size = size;
+ memmove(buf + offset + newsize, buf + offset + ctxsize, size - offset - newsize);
+ memcpy(buf + offset, new, newsize);
+ offset = 0;
- offset = find_offset(buf, desc->size, old, oldsize, frag->newpos);
- if (offset >= 0) {
- int diff = newsize - oldsize;
- unsigned long size = desc->size + diff;
- unsigned long alloc = desc->alloc;
-
- if (size > alloc) {
- alloc = size + 8192;
- desc->alloc = alloc;
- buf = xrealloc(buf, alloc);
- desc->buffer = buf;
+ break;
}
- desc->size = size;
- memmove(buf + offset + newsize, buf + offset + oldsize, size - offset - newsize);
- memcpy(buf + offset, new, newsize);
- offset = 0;
}
free(old);
@@ -1943,6 +2002,10 @@ int main(int argc, char **argv)
}
if (!strcmp(arg, "-z")) {
line_termination = 0;
+ continue;
+ }
+ if (!strncmp(arg, "--fuzz=", 7)) {
+ p_fuzz = atoi(arg + 7);
continue;
}
if (!strncmp(arg, "--whitespace=", 13)) {
^ permalink raw reply related
* Re: [parisc-linux] B2000 PCI resource problem
From: Grant Grundler @ 2006-04-10 2:34 UTC (permalink / raw)
To: Marc Zyngier; +Cc: parisc-linux
In-Reply-To: <wrp7j62jz7e.fsf@wild-wind.fr.eu.org>
On Thu, Apr 06, 2006 at 09:12:05PM +0200, Marc Zyngier wrote:
> People,
>
> I recently added a Sun dual gigabit, dual scsi PCI card to one of my
> B2000s. This board contains 2 cassini chips, and a 53c896, all sitting
> behind an Intel (well, Digital) 21154 PCI bridge.
>
> The system works fine, but I'm seeing the following problems:
>
> Whel probing the SCSI part of the board, the kernel spits the
> following:
>
> PCI: resource not parented! [2000-2fff]
> PCI: resource not parented! [fb000000-fb5fffff]
Which kernel version?
> 00002000-00002fff : PCI Bus #02
> [... ad nauseam].
This is definitely a bug.
> 0000:01:02.0 PCI bridge: Intel Corporation 21154 PCI-to-PCI Bridge (prog-if 00 [Normal decode])
...
> I/O behind bridge: 00002000-00002fff
> Memory behind bridge: fb000000-fb5fffff
Looks like PCI bridge support isn't parenting the allocation
of these resources correctly.
> 0000:02:00.0 Ethernet controller: National Semiconductor Corporation DP83065 [Saturn] 10/100/1000 Ethernet Controller (rev 30)
...
> Region 0: Memory at fb200000 (32-bit, non-prefetchable) [size=2M]
Wow! 2M? That's a fair chunk of space for a NIC.
Any special about that RAM or what it's used for?
(Just curious)
> 0000:02:02.0 SCSI storage controller: LSI Logic / Symbios Logic 53C896/897 (rev 07)
...
> Region 0: I/O ports at 12100 [size=256]
> Region 1: Memory at fb405000 (64-bit, non-prefetchable) [size=1K]
> Region 3: Memory at fb402000 (64-bit, non-prefetchable) [size=8K]
Is CONFIG_SCSI_SYM53C8XX_MMIO enabled in your kernel?
(again just curious)
thanks,
grant
_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
^ permalink raw reply
* [PATCH 11/11] build: Don't assume that mkbuildtree is executable
From: Horms @ 2006-04-10 2:30 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID f69f52013d13de62aa66bebfbab511ccebbfe222
# Parent 491d06219ffdc9e9b99a483fe948970b75d52e06
build: Don't assume that mkbuildtree is executable
In some cases, say for instance for some bizzare reason
the tree was checked out of CVS, which doens't neccessarily
store file permissions, mkbuildtree may not be executable.
I couldn't decide btween chmoding mkbuildtree, which changes
the tree, and running sh mkbuildtree, which assumes its a shell
script. I settled on the latter.
Signed-Off-By: Horms <horms@verge.net.au>
diff -r 491d06219ffd -r f69f52013d13 buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk Thu Mar 30 15:16:40 2006 +0900
+++ b/buildconfigs/Rules.mk Thu Mar 30 15:21:11 2006 +0900
@@ -121,14 +121,14 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
linux-2.6-xen.patch: ref-linux-$(LINUX_VER)/.valid-ref
rm -rf tmp-$@
cp -al $(<D) tmp-$@
- ( cd linux-2.6-xen-sparse && ./mkbuildtree ../tmp-$@ )
+ ( cd linux-2.6-xen-sparse && sh ./mkbuildtree ../tmp-$@ )
diff -Nurp $(<D) tmp-$@ > $@ || true
rm -rf tmp-$@
%-xen.patch: ref-%/.valid-ref
rm -rf tmp-$@
cp -al $(<D) tmp-$@
- ( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ )
+ ( cd $*-xen-sparse && sh ./mkbuildtree ../tmp-$@ )
diff -Nurp $(<D) tmp-$@ > $@ || true
rm -rf tmp-$@
diff -r 491d06219ffd -r f69f52013d13 buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:16:40 2006 +0900
+++ b/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:21:11 2006 +0900
@@ -23,8 +23,8 @@ build: $(LINUX_DIR)/include/linux/autoco
rm -rf $(LINUX_DIR)
cp -al $(<D) $(LINUX_DIR)
# Apply arch-xen patches
- ( cd linux-$(LINUX_SERIES)-xen-sparse ; \
- LINUX_ARCH=$(LINUX_ARCH) ./mkbuildtree ../$(LINUX_DIR) )
+ ( cd linux-$(LINUX_SERIES)-xen-sparse && \
+ LINUX_ARCH=$(LINUX_ARCH) sh ./mkbuildtree ../$(LINUX_DIR) )
# Re-use config from install dir if one exits else use default config
CONFIG_VERSION=$$(sed -ne 's/^EXTRAVERSION = //p' $(LINUX_DIR)/Makefile); \
[ -r $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \
diff -r 491d06219ffd -r f69f52013d13 linux-2.6-xen-sparse/mkbuildtree
--- a/linux-2.6-xen-sparse/mkbuildtree Thu Mar 30 15:16:40 2006 +0900
+++ b/linux-2.6-xen-sparse/mkbuildtree Thu Mar 30 15:21:11 2006 +0900
@@ -90,8 +90,8 @@ RS=$DESTPATH
RS=$DESTPATH
# Arch-specific pre-processing
-if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then
- arch/${LINUX_ARCH}/xen-mkbuildtree-pre
+if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then
+ sh arch/${LINUX_ARCH}/xen-mkbuildtree-pre
fi
# Remove old copies of files and directories at the destination
@@ -115,6 +115,6 @@ relative_lndir ../../../${RS}/../xen/inc
# Arch-specific post-processing
cd ${AD}
-if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then
- arch/${LINUX_ARCH}/xen-mkbuildtree-post
+if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then
+ sh arch/${LINUX_ARCH}/xen-mkbuildtree-post
fi
diff -r 491d06219ffd -r f69f52013d13 tools/debugger/gdb/gdbbuild
--- a/tools/debugger/gdb/gdbbuild Thu Mar 30 15:16:40 2006 +0900
+++ b/tools/debugger/gdb/gdbbuild Thu Mar 30 15:21:11 2006 +0900
@@ -7,7 +7,7 @@ tar xjf gdb-6.2.1.tar.bz2
tar xjf gdb-6.2.1.tar.bz2
cd gdb-6.2.1-xen-sparse
-./mkbuildtree ../gdb-6.2.1
+sh ./mkbuildtree ../gdb-6.2.1
cd ..
mkdir gdb-6.2.1-linux-i386-xen
diff -r 491d06219ffd -r f69f52013d13 tools/misc/xen-clone
--- a/tools/misc/xen-clone Thu Mar 30 15:16:40 2006 +0900
+++ b/tools/misc/xen-clone Thu Mar 30 15:21:11 2006 +0900
@@ -113,7 +113,7 @@ else
# Turn linux into xenolinux then build it
cd xenolinux-${LINUX_VER}-sparse
- ./mkbuildtree ../../linux-${LINUX_VER}
+ sh ./mkbuildtree ../../linux-${LINUX_VER}
cd ../..
mv linux-${LINUX_VER} xenolinux-${LINUX_VER}
cd xenolinux-${LINUX_VER}
--
Horms
^ permalink raw reply
* [PATCH 10/11] build: make linux download more flexable
From: Horms @ 2006-04-10 2:30 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 491d06219ffdc9e9b99a483fe948970b75d52e06
# Parent fff0293d01ce01a625cc05c67a52b0b18fe4114c
build: make linux download more flexable
* Allow LINUX_REPO to specify the URL of the repository for the linux kernel,
- Defaults is: http://www.kernel.org/pub/linux/kernel/
* Allow LINUX_REPO to be overridden in the environment
* LINUX_REPO it should be the path, trimmed to give a structure
equivalent to http://www.kernel.org/pub/linux/kernel/
- The kernel tarball will be downloaded from
$(LINUX_REPO)/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/
e.g. http://www.kernel.org/pub/linux/kernel/v2.6
Where KERNEL_MAJOR and KERNEL_MINOR are calculated at runtime
- The path of the tarball can be overridden using LINUX_REPO_KERNEL_PATH
in the environment, in which case the tarball will be downloaded from
$(LINUX_REPO)/v$(LINUX_REPO_KERNEL_PATH)/
- If needed kernel patches will be downloaded from
$(LINUX_REPO)/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/snapshots
if present, else
$(LINUX_REPO)/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/testing
This will depend on the version of the patch
- The path of the tarball can be overridden using LINUX_REPO_KERNEL_PATH
in the environment, in which case the patch will be downloaded from
$(LINUX_REPO)/v$(LINUX_REPO_PATCH_PATH)/
- The intention of LINUX_REPO_KERNEL_PATH and LINUX_REPO_PATCH_PATH
is to allow for sites that don't follow the directory hierarchy of
kernel.org, while simplifying the presumably common case where they do
* Previously KERNEL_REPO had similar properties to LINUX_REPO, but
it was not as flexible, had a somewhat presumptuous name and could
not be overridden in the environment. It has been removed
* Allow DOWNLOAD_PATH to set a search path for previously downloaded files
- Use the first element of the path as the directory to save
downloaded files
- Default is LINUX_SRC_PATH if set in environment, else .:..
- Note that kclean-tarball, makedistlcean-* and friends
intentionally only remove tarballs in the top level xen directory,
regardless of the value of this variable. This is to allow
more persistent storage of tarballs in a specified location,
which cam be manually cleaned if desired.
Signed-Off-By: Horms <horms@verge.net.au>
diff -r fff0293d01ce -r 491d06219ffd Config.mk
--- a/Config.mk Thu Mar 30 15:13:58 2006 +0900
+++ b/Config.mk Thu Mar 30 15:16:40 2006 +0900
@@ -69,7 +69,17 @@ CFLAGS += $(foreach i, $(EXTRA_INCLUDES)
CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
# Choose the best mirror to download linux kernel
-KERNEL_REPO = http://www.kernel.org
+DOWNLOAD_PATH_DEFAULT := .:..
+LINUX_REPO_DEFAULT := http://www.kernel.org/pub/linux/kernel/
+ifdef LINUX_SRC_PATH
+DOWNLOAD_PATH ?= $(LINUX_SRC_PATH) # Compatibility
+else
+DOWNLOAD_PATH ?= $(DOWNLOAD_PATH_DEFAULT)
+endif
+DOWNLOAD_DIR := $(firstword $(subst :, ,$(DOWNLOAD_PATH)))
+LINUX_REPO ?= $(LINUX_REPO_DEFAULT)
+# LINUX_REPO_KERNEL_PATH Set in buildconfigs/Rules.mk, if not in environment
+# LINUX_REPO_PATCH_PATH Set in buildconfigs/Rules.mk, if not in environment
# If ACM_SECURITY = y, then the access control module is compiled
# into Xen and the policy type can be set by the boot policy file
diff -r fff0293d01ce -r 491d06219ffd Makefile
--- a/Makefile Thu Mar 30 15:13:58 2006 +0900
+++ b/Makefile Thu Mar 30 15:16:40 2006 +0900
@@ -172,6 +172,20 @@ help:
@echo ' install into prefix/lib/python<VERSION>'
@echo ' instead of <PREFIX>/lib/python'
@echo ' true if set to non-empty value, false otherwise'
+ @echo ' LINUX_REPO=URL - Base URL to download linux kernel from'
+ @echo ' Default: "$(LINUX_REPO_DEFAULT)"'
+ @echo ' LINUX_REPO_KERNEL_PATH=DIRECTORY'
+ @echo ' - LINUX_REPO assumes that the URL has the same directory'
+ @echo ' structure as $(LINUX_REPO_DEFAULT)'
+ @echo ' and the rest of the path to the tarball is derived.'
+ @echo ' If set, override the derivation.'
+ @echo ' Default: ""'
+ @echo ' LINUX_REPO_PATCHL_PATH=DIRECTORY'
+ @echo ' - LINUX_REPO assumes that the URL has the same directory'
+ @echo ' structure as $(LINUX_REPO_DEFAULT)'
+ @echo ' and the rest of the path to the patches is derived.'
+ @echo ' If set, override the derivation.'
+ @echo ' Default: ""'
# Use this target with extreme care!
.PHONY: uninstall
diff -r fff0293d01ce -r 491d06219ffd buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk Thu Mar 30 15:13:58 2006 +0900
+++ b/buildconfigs/Rules.mk Thu Mar 30 15:16:40 2006 +0900
@@ -22,32 +22,58 @@ LINUX_VER ?= $(shell grep "^LINUX_VER" b
LINUX_VER ?= $(shell grep "^LINUX_VER" buildconfigs/mk.linux-2.6-xen | sed -e 's/.*=[ ]*//')
# Setup Linux search path
-LINUX_SRC_PATH ?= .:..
-vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
-vpath patch-%.bz2 $(LINUX_SRC_PATH)
+vpath linux-%.tar.bz2 $(DOWNLOAD_PATH)
+vpath patch-%.bz2 $(DOWNLOAD_PATH)
# download a pristine Linux kernel tarball if there isn't one in LINUX_SRC_PATH
+ifndef LINUX_REPO_KERNEL_PATH
linux-%.tar.bz2: override _LINUX_VDIR = $(word 1,$(subst ., ,$*)).$(word 2,$(subst ., ,$*))
+linux-%.tar.bz2: LINUX_REPO_KERNEL_PATH = v$(_LINUX_VDIR)
+endif
linux-%.tar.bz2:
@echo "Cannot find $@ in path $(LINUX_SRC_PATH)"
- wget $(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$@ -O./$@
+ wget $(LINUX_REPO)/$(LINUX_REPO_KERNEL_PATH)/$@ -O$(DOWNLOAD_DIR)/$@ \
+ || { rm -f $(DOWNLOAD_DIR)/$@; false; }
+ifndef LINUX_REPO_PATCH_PATH
patch-%.bz2: override _LINUX_VDIR = $(word 1,$(subst ., ,$(*F))).$(word 2,$(subst ., ,$(*F)))
patch-%.bz2: override _LINUX_XDIR = $(if $(word 3,$(subst -, ,$(*F))),snapshots,testing)
+patch-%.bz2: LINUX_REPO_PATCH_PATH = v$(_LINUX_VDIR)/$(_LINUX_XDIR)
+endif
patch-%.bz2:
@echo "Cannot find $(@F) in path $(LINUX_SRC_PATH)"
- wget $(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$(_LINUX_XDIR)/$(@F) -O./$@
+ wget $(LINUX_REPO)/$(LINUX_REPO_PATCH_PATH)/$(@F) \
+ -O$(DOWNLOAD_DIR)/$@ || { rm -f $(DOWNLOAD_DIR)/$@; false; }
pristine-%: pristine-%/.valid-pristine
@true
+
+# unpack-pristine and patch-pristine targets are run in a submake
+# so that vpath is re-evaluated. This is important for the case
+# where the files are dowloaded this time around, and they are downloaded
+# into an alternate directory, as specified by DOWNLOAD_PATH
-pristine-%/.valid-pristine: %.tar.bz2
+unpack-pristine-%-X: %
+ tar -C $(UNPACK_DIR) --bzip2 -xf $<
+
+patch-pristine-%-X: %
+ echo $<
+ bzcat $< | patch -d $(UNPACK_DIR) -p1
+
+.PHONY: patch-pristine-dummy
+patch-pristine-dummy-X:
+
+pristine-%/.valid-pristine: $(LINUX_TARBALL) $(LINUX_PATCHES)
rm -rf tmp-pristine-$* $(@D)
mkdir -p tmp-pristine-$*
- tar -C tmp-pristine-$* --bzip2 -xf $<
- -@rm -f tmp-pristine-$*/pax_global_header
+ @# firstword is used to get rid of any whitespace
+ $(MAKE) UNPACK_DIR=tmp-pristine-$* \
+ unpack-pristine-$(firstword $(LINUX_TARBALL))-X
+ -rm -f tmp-pristine-$*/pax_global_header
mv tmp-pristine-$*/* $(@D)
- @rm -rf tmp-pristine-$*
+ rm -rf tmp-pristine-$*
+ $(MAKE) KERNELS=linux-2.6-xen UNPACK_DIR=pristine-$* \
+ $(patsubst %, patch-pristine-%-X, dummy $(LINUX_PATCHES))
touch $(@D)/.hgskip
touch $@ # update timestamp to avoid rebuild
diff -r fff0293d01ce -r 491d06219ffd buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:13:58 2006 +0900
+++ b/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:16:40 2006 +0900
@@ -1,6 +1,7 @@ LINUX_SERIES = 2.6
LINUX_SERIES = 2.6
LINUX_VER = 2.6.16
-LINUX_SRCS = linux-2.6.16.tar.bz2
+LINUX_TARBALL = linux-2.6.16.tar.bz2 # Only one makes sense
+#LINUX_PATCHES = patch-2.6.17-rcN.bz2 # Usually zero or one patch
EXTRAVERSION ?= xen
@@ -57,4 +58,4 @@ delete:
.PHONY: mrpropper
mrpropper:
- rm -f $(LINUX_SRCS)
+ rm -f $(LINUX_TARBALL) $(LINUX_PATCHES)
--
Horms
^ permalink raw reply
* [PATCH 9/11] build: Use --bzip2 with tar instead of -j
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID fff0293d01ce01a625cc05c67a52b0b18fe4114c
# Parent aec720c1347b14b6d4ab1b3838fdde0cc8dd9600
build: Use --bzip2 with tar instead of -j
Ok, this is a bit nitpicky. But I noticed in the GNU tar man page
that it recommends using --bzip2 instead of -j, originally
the -j option was -I
Signed-Off-By: Horms <horms@verge.net.au>
diff -r aec720c1347b -r fff0293d01ce buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk Thu Mar 30 15:13:56 2006 +0900
+++ b/buildconfigs/Rules.mk Thu Mar 30 15:13:58 2006 +0900
@@ -44,7 +44,7 @@ pristine-%/.valid-pristine: %.tar.bz2
pristine-%/.valid-pristine: %.tar.bz2
rm -rf tmp-pristine-$* $(@D)
mkdir -p tmp-pristine-$*
- tar -C tmp-pristine-$* -jxf $<
+ tar -C tmp-pristine-$* --bzip2 -xf $<
-@rm -f tmp-pristine-$*/pax_global_header
mv tmp-pristine-$*/* $(@D)
@rm -rf tmp-pristine-$*
diff -r aec720c1347b -r fff0293d01ce tools/xenstore/Makefile
--- a/tools/xenstore/Makefile Thu Mar 30 15:13:56 2006 +0900
+++ b/tools/xenstore/Makefile Thu Mar 30 15:13:58 2006 +0900
@@ -153,7 +153,7 @@ TAGS:
.PHONY: tarball
tarball: clean
- cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
+ cd .. && tar -c --bzip2 -v -h -f xenstore.tar.bz2 xenstore/
.PHONY: install
install: all
--
Horms
^ permalink raw reply
* [PATCH 8/11] build: Clean pygrub's a.out
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID aec720c1347b14b6d4ab1b3838fdde0cc8dd9600
# Parent d9046742b4a9365bc4b8c010a4f9944c3976219f
build: Clean pygrub's a.out
Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Signed-Off-By: Horms <horms@valinux.co.jp>
diff -r d9046742b4a9 -r aec720c1347b tools/pygrub/Makefile
--- a/tools/pygrub/Makefile Thu Mar 30 15:13:52 2006 +0900
+++ b/tools/pygrub/Makefile Thu Mar 30 15:13:56 2006 +0900
@@ -19,4 +19,4 @@ endif
.PHONY: clean
clean:
- rm -rf build tmp *.pyc *.pyo *.o *.a *~
+ rm -rf build tmp *.pyc *.pyo *.o *.a *~ a.out
--
Horms
^ permalink raw reply
* [PATCH 7/11] build: clean up kclean and distclean for kernel
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID d9046742b4a9365bc4b8c010a4f9944c3976219f
# Parent a1cc586bceb80bee9a01ee4bf10bca6cb65c53e8
build: clean up kclean and distclean for kernel
* Don't delete non-existent %.tar.bz2 in buildconfigs/Rules.mk's %-mrproper
* Add a mrpropper target to buildconfigs/mk.linux-2.6-xen, and
have this delete the local patch and tarball
* Make distclean depend on kclean, rather than calling delete target by
hand
* Stop kclean from erroring out if the kernel directory doesn't exist
* Remove patches/*/.makedep in top level Makefile rather than in
buildconfigs/Rules.mk, as calling rules in the latter causes
patches/*/.make to be created (Magnus)
Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Signed-Off-By: Horms <horms@verge.net.au>
--- from-0009/Makefile
+++ to-work/Makefile 2006-03-30 16:53:12.000000000 +0900
@@ -121,12 +121,12 @@ clean::
$(MAKE) -C tools clean
$(MAKE) -C docs clean
-# clean, but blow away kernel build tree plus tarballs
+# clean, but blow away kernel build tree plus local tarballs
.PHONY: distclean
-distclean: clean
+distclean: clean kdelete
rm -rf dist patches/tmp
- for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
+ rm -rf patches/*/.makedep
# Linux name for GNU distclean
.PHONY: mrproper
--- from-0007/buildconfigs/Rules.mk
+++ to-work/buildconfigs/Rules.mk 2006-03-30 16:53:12.000000000 +0900
@@ -59,10 +59,6 @@ ifneq ($(PATCHDIRS),)
$(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep:
@echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
-.PHONY: clean
-clean::
- rm -f patches/*/.makedep
-
ref-%/.valid-ref: pristine-%/.valid-pristine
set -e
rm -rf $(@D)
@@ -111,7 +107,8 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
rm -rf tmp-$@
%-mrproper:
- rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
+ $(MAKE) -f buildconfigs/mk.$*-xen mrpropper
+ rm -rf pristine-$(*)* ref-$(*)*
rm -rf $*-xen.patch
.PHONY: config-update-pae
--- from-0007/buildconfigs/mk.linux-2.6-xen
+++ to-work/buildconfigs/mk.linux-2.6-xen 2006-03-30 16:54:32.000000000 +0900
@@ -48,8 +48,14 @@ config: $(LINUX_DIR)/include/linux/autoc
.PHONY: clean
clean::
- $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
+ [ ! -d $(LINUX_DIR) ] || \
+ $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
+
.PHONY: delete
delete:
rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
+
+.PHONY: mrpropper
+mrpropper:
+ rm -f $(LINUX_SRCS)
--
Horms
^ permalink raw reply
* [PATCH 6/11] build: Document the use of XEN_PYTHON_NATIVE_INSTALL
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID a1cc586bceb80bee9a01ee4bf10bca6cb65c53e8
# Parent 91cb0f2b5b6fd6e74abaeb3cf7d80e399ddaaff5
build: Document the use of XEN_PYTHON_NATIVE_INSTALL
Document the use of the XEN_PYTHON_NATIVE_INSTALL environment variable
Signed-Off-By: Horms <horms@verge.net.au>
diff -r 91cb0f2b5b6f -r a1cc586bceb8 Makefile
--- a/Makefile Thu Mar 30 15:13:48 2006 +0900
+++ b/Makefile Thu Mar 30 15:13:50 2006 +0900
@@ -165,6 +165,13 @@ help:
@echo ' sparse trees'
@echo ' uninstall - attempt to remove installed Xen tools'
@echo ' (use with extreme care!)'
+ @echo
+ @echo 'Environment:'
+ @echo ' XEN_PYTHON_NATIVE_INSTALL=y'
+ @echo ' - native python install or dist'
+ @echo ' install into prefix/lib/python<VERSION>'
+ @echo ' instead of <PREFIX>/lib/python'
+ @echo ' true if set to non-empty value, false otherwise'
# Use this target with extreme care!
.PHONY: uninstall
--
Horms
^ permalink raw reply
* [PATCH 5/11] build: clean up output of make help a little bit
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 91cb0f2b5b6fd6e74abaeb3cf7d80e399ddaaff5
# Parent 8dc0b3cf422a5a599e4687018fadfa639a96c354
build: clean up output of make help a little bit
Signed-Off-By: Horms <horms@verge.net.au>
diff -r 8dc0b3cf422a -r 91cb0f2b5b6f Makefile
--- a/Makefile Thu Mar 30 15:13:45 2006 +0900
+++ b/Makefile Thu Mar 30 15:13:48 2006 +0900
@@ -153,10 +153,9 @@ help:
@echo ' dev-docs - build developer-only documentation'
@echo ''
@echo 'Cleaning targets:'
- @echo ' clean - clean the Xen, tools and docs (but not'
- @echo ' guest kernel) trees'
- @echo ' distclean - clean plus delete kernel tarballs and kernel'
- @echo ' build trees'
+ @echo ' clean - clean the Xen, tools and docs (but not guest kernel trees)'
+ @echo ' distclean - clean plus delete kernel build trees and'
+ @echo ' local downloaded files'
@echo ' kdelete - delete guest kernel build trees'
@echo ' kclean - clean guest kernel build trees'
@echo ''
@@ -164,8 +163,8 @@ help:
@echo ' prep-kernels - prepares kernel directories, does not build'
@echo ' mkpatches - make patches against vanilla kernels from'
@echo ' sparse trees'
- @echo ' uninstall - attempt to remove installed Xen tools (use'
- @echo ' with extreme care!)'
+ @echo ' uninstall - attempt to remove installed Xen tools'
+ @echo ' (use with extreme care!)'
# Use this target with extreme care!
.PHONY: uninstall
--
Horms
^ permalink raw reply
* [PATCH 4/11] build: Clean up use of .PHONY
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 50342 bytes --]
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 8dc0b3cf422a5a599e4687018fadfa639a96c354
# Parent a3a369798dbd866fcb4ec9026364e65a054c458a
build: Clean up use of .PHONY
* Move .PHONY directives next to targets,
this makes them a lot harder to miss
* Add missing .PHONY directives
* Remove nonexistent .PHONY directives
* Hopefully I didn'T miss anything...
Signed-Off-By: Horms <horms@verge.net.au>
--- from-0008/Makefile
+++ to-work/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -14,6 +14,7 @@ export XEN_TARGET_ARCH SUBARCH XEN_SYSTY
endif
# Default target must appear before any include lines
+.PHONY: all
all: dist
XEN_ROOT=$(CURDIR)
@@ -24,12 +25,11 @@ ifeq ($(XEN_TARGET_X86_PAE),y)
export pae=y
endif
-.PHONY: all dist install xen kernels tools dev-docs docs world clean
-.PHONY: mkpatches mrproper kbuild kdelete kclean
-
# build and install everything into the standard system directories
+.PHONY: install
install: install-xen install-kernels install-tools install-docs
+.PHONY: build
build: kernels
$(MAKE) -C xen build
$(MAKE) -C tools build
@@ -38,10 +38,12 @@ build: kernels
# The test target is for unit tests that can run without an installation. Of
# course, many tests require a machine running Xen itself, and these are
# handled elsewhere.
+.PHONY: test
test:
$(MAKE) -C tools/python test
# build and install everything into local dist directory
+.PHONY: dist
dist: DESTDIR=$(DISTDIR)/install
dist: dist-xen dist-kernels dist-tools dist-docs
$(INSTALL_DIR) $(DISTDIR)/check
@@ -54,67 +56,83 @@ dist-%: install-%
@: # do nothing
# Legacy dist targets
+.PHONY: xen tools kernels docs
xen: dist-xen
tools: dist-tools
kernels: dist-kernels
docs: dist-docs
+.PHONY: prep-kernels
prep-kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
+.PHONY: install-xen
install-xen:
$(MAKE) -C xen install
+.PHONY: install-tools
install-tools:
$(MAKE) -C tools install
+.PHONY: install-kernels
install-kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
+.PHONY: install-docs
install-docs:
sh ./docs/check_pkgs && $(MAKE) -C docs install || true
+.PHONY: dev-docs
dev-docs:
$(MAKE) -C docs dev-docs
# Build all the various kernels and modules
+.PHONY: kbuild
kbuild: kernels
# Delete the kernel build trees entirely
+.PHONY: kdelete
kdelete:
for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
# Clean the kernel build trees
+.PHONY: kclean
kclean:
for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
# Make patches from kernel sparse trees
+.PHONY: mkpatches
mkpatches:
for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-xen.patch; done
# build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
# and place them in the install directory. 'make install' should then
# copy them to the normal system directories
+.PHONY: world
world:
$(MAKE) clean
$(MAKE) kdelete
$(MAKE) dist
# clean doesn't do a kclean
+.PHONY: clean
clean::
$(MAKE) -C xen clean
$(MAKE) -C tools clean
$(MAKE) -C docs clean
# clean, but blow away kernel build tree plus tarballs
+.PHONY: distclean
distclean: clean
rm -rf dist patches/tmp
for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
# Linux name for GNU distclean
+.PHONY: mrproper
mrproper: distclean
+.PHONY: help
help:
@echo 'Installation targets:'
@echo ' install - build and install everything'
@@ -150,6 +168,7 @@ help:
@echo ' with extreme care!)'
# Use this target with extreme care!
+.PHONY: uninstall
uninstall: D=$(DESTDIR)
uninstall:
[ -d $(D)/etc/xen ] && mv -f $(D)/etc/xen $(D)/etc/xen.old-`date +%s` || true
@@ -183,5 +202,6 @@ uninstall:
rm -rf $(D)/usr/share/man/man8/xen*
# Legacy targets for compatibility
+.PHONY: linux26
linux26:
$(MAKE) 'KERNELS=linux-2.6*' kernels
--- from-0007/buildconfigs/Rules.mk
+++ to-work/buildconfigs/Rules.mk 2006-04-07 14:24:50.000000000 +0900
@@ -6,8 +6,6 @@ export DESTDIR
ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
-.PHONY: mkpatches mrproper
-
# Setup pristine search path
PRISTINE_SRC_PATH ?= .:..
vpath pristine-% $(PRISTINE_SRC_PATH)
@@ -61,6 +59,7 @@ ifneq ($(PATCHDIRS),)
$(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep:
@echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
+.PHONY: clean
clean::
rm -f patches/*/.makedep
@@ -115,6 +114,7 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
rm -rf $*-xen.patch
+.PHONY: config-update-pae
config-update-pae:
ifeq ($(XEN_TARGET_X86_PAE),y)
sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
--- from-0007/buildconfigs/mk.linux-2.6-xen
+++ to-work/buildconfigs/mk.linux-2.6-xen 2006-04-07 14:24:50.000000000 +0900
@@ -8,9 +8,8 @@ LINUX_DIR = linux-$(LINUX_VER)-$(EXTR
include buildconfigs/Rules.mk
-.PHONY: build clean delete
-
# The real action starts here!
+.PHONY: build
build: $(LINUX_DIR)/include/linux/autoconf.h
if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
@@ -39,14 +38,18 @@ $(LINUX_DIR)/include/linux/autoconf.h: r
rm -f Makefile ; mv Mk.tmp Makefile )
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
+.PHONY: prep
prep: $(LINUX_DIR)/include/linux/autoconf.h
+.PHONY: config
config: CONFIGMODE = menuconfig
config: $(LINUX_DIR)/include/linux/autoconf.h
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
+.PHONY: clean
clean::
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
+.PHONY: delete
delete:
rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
--- from-0001/docs/Makefile
+++ to-work/docs/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -26,22 +26,28 @@ DOC_HTML := $(patsubst src/%.tex,html/%/
GFX = $(patsubst %.fig, %.eps, $(wildcard figs/*.fig))
-.PHONY: all build dev-docs python-dev-docs ps pdf html clean install
-
+.PHONY: all
all: build
+
+.PHONY: build
build: ps pdf html man-pages
rm -f *.aux *.dvi *.bbl *.blg *.glo *.idx *.ilg *.log *.ind *.toc
+.PHONY: dev-docs
dev-docs: python-dev-docs
+.PHONY: ps
ps: $(DOC_PS)
+.PHONY: pdf
pdf: $(DOC_PDF)
+.PHONY: html
html:
@if which $(LATEX2HTML) 1>/dev/null 2>/dev/null; then \
$(MAKE) $(DOC_HTML); fi
+.PHONY: python-dev-docs
python-dev-docs:
@mkdir -v -p api/tools/python
@if which $(DOXYGEN) 1>/dev/null 2>/dev/null; then \
@@ -50,6 +56,7 @@ python-dev-docs:
$(MAKE) -C api/tools/python/latex ; else \
echo "Doxygen not installed; skipping python-dev-docs."; fi
+.PHONY: man-pages
man-pages:
@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@ -64,6 +71,7 @@ man5/%.5: man/%.pod.5 Makefile
$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
sed 's/.5//'` -s 5 -c "Xen" $< $@
+.PHONY: clean
clean:
rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~
rm -rf *.ilg *.log *.ind *.toc *.bak core
@@ -72,6 +80,7 @@ clean:
rm -rf man5
rm -rf man1
+.PHONY: install
install: all
rm -rf $(DESTDIR)$(pkgdocdir)
$(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)
--- from-0001/extras/mini-os/Makefile
+++ to-work/extras/mini-os/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -37,8 +37,10 @@ OBJS += $(patsubst %.c,%.o,$(wildcard co
HDRS := $(wildcard include/*.h)
HDRS += $(wildcard include/xen/*.h)
+.PHONY: default
default: $(TARGET)
+.PHONY: links
links:
[ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
@@ -46,6 +48,7 @@ $(TARGET): links $(OBJS)
$(LD) -N -T minios-$(TARGET_ARCH).lds $(OBJS) -o $@.elf
gzip -f -9 -c $@.elf >$@.gz
+.PHONY: clean
clean:
find . -type f -name '*.o' | xargs rm -f
rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
--- from-0001/tools/Makefile
+++ to-work/tools/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -24,14 +24,14 @@ SUBDIRS += python
SUBDIRS += pygrub
endif
-.PHONY: all install clean check check_clean ioemu eioemuinstall ioemuclean
-
+.PHONY: all
all: check
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
$(MAKE) ioemu
+.PHONY: install
install: check
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
@@ -39,18 +39,22 @@ install: check
$(MAKE) ioemuinstall
$(INSTALL_DIR) -p $(DESTDIR)/var/xen/dump
+.PHONY: clean
clean: check_clean
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
$(MAKE) ioemuclean
+.PHONY: check
check:
$(MAKE) -C check
+.PHONY: check_clean
check_clean:
$(MAKE) -C check clean
+.PHONY: ioemu ioemuinstall ioemuclean
ifndef XEN_NO_IOEMU
ioemu ioemuinstall ioemuclean:
[ -f ioemu/config-host.h ] || \
--- from-0001/tools/Rules.mk
+++ to-work/tools/Rules.mk 2006-04-07 14:24:50.000000000 +0900
@@ -23,6 +23,7 @@ CFLAGS += -D__XEN_INTERFACE_VERSION__=0x
%.o: %.cc
$(CC) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
+.PHONY: mk-symlinks
mk-symlinks: LINUX_ROOT=$(XEN_ROOT)/linux-2.6-xen-sparse
mk-symlinks:
mkdir -p xen
--- from-0001/tools/blktap/Makefile
+++ to-work/tools/blktap/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -39,11 +39,13 @@ IBINS :=
LIB = libblktap.so libblktap.so.$(MAJOR) libblktap.so.$(MAJOR).$(MINOR)
+.PHONY: all
all: mk-symlinks libblktap.so #blkdump
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+.PHONY: install
install: all
$(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
$(INSTALL_DIR) -p $(DESTDIR)/usr/include
@@ -54,12 +56,14 @@ install: all
$(MAKE) -C $$subdir $@; \
done
+.PHONY: clean
clean:
rm -rf *.a *.so *.o *.rpm $(LIB) *~ $(DEPS) xen TAGS blkdump
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+.PHONY: rpm
rpm: all
rm -rf staging
mkdir staging
@@ -82,6 +86,7 @@ blkdump: libblktap.so
.PHONY: TAGS clean install mk-symlinks rpm
+.PHONY: TAGS
TAGS:
etags -t $(SRCS) *.h
--- from-0001/tools/blktap/parallax/Makefile
+++ to-work/tools/blktap/parallax/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -43,11 +43,14 @@ DEPS = .*.d
OBJS = $(patsubst %.c,%.o,$(SRCS))
IBINS = parallax $(VDI_TOOLS)
+.PHONY: all
all: $(VDI_TOOLS) parallax blockstored
+.PHONY: install
install: all
$(INSTALL_PROG) $(IBINS) $(DESTDIR)$(PARALLAX_INSTALL_DIR)
+.PHONY: clean
clean:
rm -rf *.o *~ $(DEPS) xen TAGS $(VDI_TOOLS) parallax vdi_unittest
@@ -57,5 +60,4 @@ parallax: $(PLX_SRCS)
${VDI_TOOLS}: %: %.c $(VDI_SRCS)
$(CC) $(CFLAGS) -o $@ $@.c $(LDFLAGS) $(VDI_SRCS)
-.PHONY: TAGS clean install rpm
-include $(DEPS)
--- from-0001/tools/blktap/ublkback/Makefile
+++ to-work/tools/blktap/ublkback/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -21,12 +21,16 @@ DEPS = .*.d
OBJS = $(patsubst %.c,%.o,$(SRCS))
+.PHONY: all
all: $(IBIN)
LINUX_ROOT := $(wildcard $(XEN_ROOT)/linux-2.6.*-xen-sparse)
+.PHONY: install
install:
$(INSTALL_PROG) $(IBIN) $(DESTDIR)$(INSTALL_DIR)
+
+.PHONY: clean
clean:
rm -rf *.o*~ $(DEPS) xen TAGS $(IBIN)
@@ -34,6 +38,4 @@ ublkback:
$(CC) $(CFLAGS) -o ublkback -L$(XEN_LIBXC) -L. -L.. \
-lblktap -laio ublkback.c ublkbacklib.c -pg
-.PHONY: clean install
-
-include $(DEPS)
--- from-0001/tools/check/Makefile
+++ to-work/tools/check/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -1,7 +1,9 @@
+.PHONY: all
all: build
# Check this machine is OK for building on.
+.PHONY: build
build:
./chk build
@@ -9,8 +11,10 @@ build:
# DO NOT use this check from 'make install' in the parent
# directory, as that target can be used to make an installable
# copy rather than actually installing.
+.PHONY: install
install:
./chk install
+.PHONY: clean
clean:
- ./chk clean
\ ファイル末尾に改行がありません
+ ./chk clean
--- from-0001/tools/console/Makefile
+++ to-work/tools/console/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -16,8 +16,10 @@ CFLAGS += -I $(XEN_XENSTORE)
BIN = xenconsoled xenconsole
+.PHONY: all
all: $(BIN)
+.PHONY: clean
clean:
$(RM) *.a *.so *.o *.rpm $(BIN)
$(RM) client/*.o daemon/*.o
@@ -30,6 +32,7 @@ xenconsole: $(patsubst %.c,%.o,$(wildcar
$(CC) $(CFLAGS) $^ -o $@ -L$(XEN_LIBXC) -L$(XEN_XENSTORE) \
-lxenctrl -lxenstore
+.PHONY: install
install: $(BIN)
$(INSTALL_DIR) -p $(DESTDIR)/$(DAEMON_INSTALL_DIR)
$(INSTALL_PROG) xenconsoled $(DESTDIR)/$(DAEMON_INSTALL_DIR)
--- from-0001/tools/console/testsuite/Makefile
+++ to-work/tools/console/testsuite/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,10 +3,12 @@ include $(XEN_ROOT)/tools/Rules.mk
LDFLAGS=-static
+.PHONY: all
all: console-dom0 console-domU procpipe
console-dom0: console-dom0.o
console-domU: console-domU.o
procpipe: procpipe.o
+.PHONY: clean
clean:; $(RM) *.o console-domU console-dom0 procpipe
--- from-0001/tools/debugger/libxendebug/Makefile
+++ to-work/tools/debugger/libxendebug/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -26,10 +26,14 @@ PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS
LIB := libxendebug.a libxendebug.so
LIB += libxendebug.so.$(MAJOR) libxendebug.so.$(MAJOR).$(MINOR)
+.PHONY: all
all: build
+
+.PHONY: build
build:
$(MAKE) $(LIB)
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
@@ -39,14 +43,15 @@ install: build
ln -sf libxendebug.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxendebug.so
$(INSTALL_DATA) xendebug.h $(DESTDIR)/usr/include
-.PHONY: TAGS clean rpm install all
-
+.PHONY: TAGS
TAGS:
etags -t $(SRCS) *.h
+.PHONY: clean
clean:
rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
+.PHONY: rpm
rpm: build
rm -rf staging
mkdir staging
--- from-0001/tools/debugger/pdb/Makefile
+++ to-work/tools/debugger/pdb/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -33,6 +33,7 @@ LIBS += unix str
# bc = byte-code, dc = debug byte-code
# patches = patch linux domU source code
+.PHONY: all
all : dc
SOURCES += pdb_caml_xc.c
@@ -51,5 +52,6 @@ RESULT = pdb
include $(OCAMLMAKEFILE)
PATCHDIR = ./linux-2.6-patches
+.PHONY: patches
patches :
make -C $(PATCHDIR) patches
--- from-0001/tools/debugger/pdb/linux-2.6-module/Makefile
+++ to-work/tools/debugger/pdb/linux-2.6-module/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -10,10 +10,12 @@ CFLAGS += -g
CFLAGS += -Wall
CFLAGS += -Werror
+.PHONY: module
module :
# make KBUILD_VERBOSE=1 ARCH=xen -C $(KDIR) M=$(PWD) modules
make ARCH=xen -C $(KDIR) M=$(PWD) modules
+.PHONY: clean
clean :
make -C $(KDIR) M=$(PWD) clean
--- from-0001/tools/debugger/pdb/linux-2.6-patches/Makefile
+++ to-work/tools/debugger/pdb/linux-2.6-patches/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,6 +3,7 @@ LINUX_DIR = linux-2.6.12-xenU
KDIR = $(XEN_ROOT)/$(LINUX_DIR)
PATCH_DIR = $(CURDIR)
+.PHONY: patches
patches : patches-done
patches-done :
--- from-0001/tools/examples/Makefile
+++ to-work/tools/examples/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -50,11 +50,16 @@ HOTPLUGS=install-hotplug
endif
endif
+.PHONY: all
all:
+
+.PHONY: build
build:
+.PHONY: install
install: all install-initd install-configs install-scripts $(HOTPLUGS)
+.PHONY: install-initd
install-initd:
[ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
[ -d $(DESTDIR)/etc/sysconfig ] || $(INSTALL_DIR) $(DESTDIR)/etc/sysconfig
@@ -62,6 +67,7 @@ install-initd:
$(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)/etc/init.d
$(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)/etc/sysconfig/xendomains
+.PHONY: install-configs
install-configs: $(XEN_CONFIGS)
[ -d $(DESTDIR)$(XEN_CONFIG_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
@@ -72,6 +78,7 @@ install-configs: $(XEN_CONFIGS)
$(INSTALL_DATA) $$i $(DESTDIR)$(XEN_CONFIG_DIR); \
done
+.PHONY: install-scripts
install-scripts:
[ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
@@ -84,6 +91,7 @@ install-scripts:
$(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
done
+.PHONY: install-hotplug
install-hotplug:
[ -d $(DESTDIR)$(XEN_HOTPLUG_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_HOTPLUG_DIR)
@@ -92,6 +100,7 @@ install-hotplug:
$(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
done
+.PHONY: install-udev
install-udev:
[ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)/rules.d
@@ -102,4 +111,5 @@ install-udev:
ln -sf ../$$i . ) \
done
+.PHONY: clean
clean:
--- from-0001/tools/firmware/Makefile
+++ to-work/tools/firmware/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -13,8 +13,7 @@ SUBDIRS += acpi
SUBDIRS += vmxassist
SUBDIRS += hvmloader
-.PHONY: all install clean
-
+.PHONY: all
all:
@set -e; if ! `which bcc 1>/dev/null 2>/dev/null`; then \
echo "***********************************************************"; \
@@ -28,10 +27,12 @@ all:
fi
+.PHONY: install
install: all
[ -d $(INSTALL_DIR) ] || install -d -m0755 $(INSTALL_DIR)
[ ! -e $(TARGET) ] || install -m0644 $(TARGET) $(INSTALL_DIR)
+.PHONY: clean
clean:
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
--- from-0001/tools/firmware/acpi/Makefile
+++ to-work/tools/firmware/acpi/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -33,6 +33,7 @@ IASL_VER=acpica-unix-20050513
IASL_URL=http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
vpath iasl $(PATH)
+.PHONY: all
all:$(ACPI_BIN)
acpi_dsdt.c:acpi_dsdt.asl
@@ -42,6 +43,7 @@ acpi_dsdt.c:acpi_dsdt.asl
echo "int DsdtLen=sizeof(AmlCode);" >> acpi_dsdt.c
rm *.aml
+.PHONY: iasl
iasl:
@echo
@echo "ACPI ASL compiler(iasl) is needed"
@@ -60,8 +62,10 @@ $(ACPI_GEN):$(C_SRC) $(H_SRC) acpi_dsdt.
$(ACPI_BIN):$(ACPI_GEN)
./$(ACPI_GEN) $(ACPI_BIN)
+.PHONY: clean
clean:
rm -rf *.o $(ACPI_GEN) $(ACPI_BIN) $(IASL_VER)
rm -rf $(IASL_VER).tar.gz
+.PHONY: install
install: all
--- from-0001/tools/firmware/hvmloader/Makefile
+++ to-work/tools/firmware/hvmloader/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -42,6 +42,7 @@ OBJCOPY = objcopy
CFLAGS += $(DEFINES) -I. $(XENINC) -fno-builtin -O2 -msoft-float
LDFLAGS = -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
+.PHONY: all
all: hvmloader
hvmloader: roms.h hvmloader.c acpi_madt.c
@@ -57,6 +58,7 @@ roms.h: ../rombios/BIOS-bochs-latest ../
./mkhex vmxassist ../vmxassist/vmxassist.bin >> roms.h
./mkhex acpi ../acpi/acpi.bin >> roms.h
+.PHONY: clean
clean:
rm -f roms.h acpi.h
rm -f hvmloader hvmloader.tmp hvmloader.o $(OBJECTS)
--- from-0001/tools/firmware/rombios/Makefile
+++ to-work/tools/firmware/rombios/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,10 +3,13 @@ BIOS_BUILDS = BIOS-bochs-latest
#BIOS_BUILDS += BIOS-bochs-4-processors
#BIOS_BUILDS += BIOS-bochs-8-processors
+.PHONY: all
all: bios
+.PHONY: bios
bios: biossums ${BIOS_BUILDS}
+.PHONY: clean
clean:
rm -f *.o *.a *.s rombios.bin _rombios*_.c
rm -f as86-sym.txt ld86-sym.txt
--- from-0001/tools/firmware/vgabios/Makefile
+++ to-work/tools/firmware/vgabios/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -10,17 +10,22 @@ RELVERS = `pwd | sed "s-.*/--" | sed "s/
VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
+.PHONY: all
all: bios cirrus-bios
+.PHONY: bios
bios: biossums vgabios.bin vgabios.debug.bin
+.PHONY: cirrus-bios
cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin
+.PHONY: clean
clean:
rm -f biossums *.o *.s *.ld86 \
temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak
rm -f VGABIOS-lgpl-latest*.bin
+.PHONY: release
release:
VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios
/bin/rm -f *.o *.s *.ld86 \
--- from-0001/tools/firmware/vmxassist/Makefile
+++ to-work/tools/firmware/vmxassist/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -43,6 +43,7 @@ LDFLAGS = -m elf_i386
OBJECTS = head.o trap.o vm86.o setup.o util.o
+.PHONY: all
all: vmxassist.bin
vmxassist.bin: vmxassist.ld $(OBJECTS)
@@ -74,6 +75,7 @@ offsets.h: gen
gen: vm86.h gen.c
$(HOSTCC) $(HOSTCFLAGS) -I. $(XENINC) -o gen gen.c
+.PHONY: clean
clean:
rm -f vmxassist vmxassist.tmp vmxassist.bin vmxassist.run vmxassist.sym head.s
rm -f $(OBJECTS)
--- from-0001/tools/guest-headers/Makefile
+++ to-work/tools/guest-headers/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -2,12 +2,16 @@
XEN_ROOT=../..
linuxsparsetree = $(XEN_ROOT)/linux-2.6-xen-sparse
+.PHONY: all
all:
+.PHONY: check
check:
+.PHONY: install
install:
mkdir -p $(DESTDIR)/usr/include/xen/linux
install -m0644 $(linuxsparsetree)/include/xen/public/*.h $(DESTDIR)/usr/include/xen/linux
+.PHONY: clean
clean:
--- from-0001/tools/ioemu/Makefile
+++ to-work/tools/ioemu/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -19,6 +19,7 @@ LDFLAGS+=-static
endif
#DOCS=qemu-doc.html qemu-tech.html qemu.1
+.PHONY: all
all: $(DOCS) HEADERS
for d in $(TARGET_DIRS); do \
$(MAKE) -C $$d $@ || exit 1 ; \
@@ -30,6 +31,7 @@ qemu-img: qemu-img.c block.c block-cow.c
dyngen$(EXESUF): dyngen.c
$(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^
+.PHONY: clean
clean:
# avoid old build problems by removing potentially incorrect old files
rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
@@ -41,6 +43,7 @@ clean:
rm -f config-host.mak config-host.h
rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
+.PHONY: distclean
distclean: clean
rm -f config-host.mak config-host.h
rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
@@ -52,6 +55,7 @@ KEYMAPS=da en-gb et fr fr-ch
ar de en-us fi fr-be hr it lv nl pl ru th \
common de-ch es fo fr-ca hu ja mk nl-be pt sl tr
+.PHONY: install
install: all
mkdir -p "$(bindir)"
mkdir -p "$(DESTDIR)/$(datadir)"
@@ -62,9 +66,11 @@ install: all
done
# various test targets
+.PHONY: test speed test2
test speed test2: all
$(MAKE) -C tests $@
+.PHONY: TAGS
TAGS:
etags *.[ch] tests/*.[ch]
@@ -79,6 +85,7 @@ qemu.1: qemu-doc.texi
FILE=qemu-$(shell cat VERSION)
# tar release (use 'make -k tar' on a checkouted tree)
+.PHONY: tar
tar:
rm -rf /tmp/$(FILE)
cp -r . /tmp/$(FILE)
@@ -86,6 +93,7 @@ tar:
rm -rf /tmp/$(FILE)
# generate a binary distribution
+.PHONY: tarbin
tarbin:
( cd $(DESTDIR) ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \
$(DESTDIR)/$(bindir)/qemu $(DESTDIR)/$(bindir)/qemu-fast \
@@ -100,6 +108,7 @@ ifneq ($(wildcard .depend),)
include .depend
endif
+.PHONY: HEADERS
HEADERS:
ifdef CONFIG_SDL
--- from-0001/tools/ioemu/target-i386-dm/Makefile
+++ to-work/tools/ioemu/target-i386-dm/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -329,6 +329,7 @@ sdl.o: sdl.c keyboard_rdesktop.c
sdlaudio.o: sdlaudio.c
$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+.PHONY: depend
depend: $(SRCS)
$(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
@@ -382,12 +383,15 @@ mixeng.o: mixeng.c mixeng.h mixeng_templ
%.o: %.S
$(CC) $(DEFINES) -c -o $@ $<
+.PHONY: clean
clean:
rm -rf *.o *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe slirp
rm -rf config.mak config.h
+.PHONY: distclean
distclean: clean
+.PHONY: install
install: all
if [ ! -d $(INSTALL_DIR) ];then mkdir -p $(INSTALL_DIR);fi
if [ ! -d $(DESTDIR)$(configdir) ];then mkdir -p $(DESTDIR)$(configdir);fi
--- from-0001/tools/libxc/Makefile
+++ to-work/tools/libxc/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -67,10 +67,14 @@ LIB += libxenctrl.so libxenctrl.so.$(MAJ
LIB += libxenguest.a
LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
+.PHONY: all
all: build
+
+.PHONY: build
build: check-for-zlib mk-symlinks
$(MAKE) $(LIB)
+.PHONY: check-for-zlib
check-for-zlib:
@if [ ! -e /usr/include/zlib.h ]; then \
echo "***********************************************************"; \
@@ -79,6 +83,7 @@ check-for-zlib:
false; \
fi
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
@@ -94,14 +99,15 @@ install: build
ln -sf libxenguest.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenguest.so
$(INSTALL_DATA) xenguest.h $(DESTDIR)/usr/include
-.PHONY: TAGS clean rpm install all
-
+.PHONY: TAGS
TAGS:
etags -t *.c *.h
+.PHONY: clean
clean:
rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
+.PHONY: rpm
rpm: build
rm -rf staging
mkdir staging
--- from-0001/tools/misc/Makefile
+++ to-work/tools/misc/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -18,7 +18,10 @@ TARGETS = xenperf xc_shadow
INSTALL_BIN = $(TARGETS) xencons
INSTALL_SBIN = netfix xm xen-bugtool xend xenperf
+.PHONY: all
all: build
+
+.PHONY: build
build: $(TARGETS)
$(MAKE) -C miniterm
$(MAKE) -C cpuperf
@@ -27,6 +30,7 @@ ifneq ($(XEN_TARGET_ARCH),ia64)
endif
$(MAKE) -C lomount
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
[ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin
@@ -39,6 +43,7 @@ install: build
# Likewise mbootpack
# $(MAKE) -C mbootpack install
+.PHONY: clean
clean:
$(RM) *.o $(TARGETS) *~
$(MAKE) -C miniterm clean
--- from-0001/tools/misc/cpuperf/Makefile
+++ to-work/tools/misc/cpuperf/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -26,8 +26,10 @@ TARGETS = cpuperf-xen cpuperf-perfc
INSTALL_BIN = $(TARGETS)
+.PHONY: all
all: $(TARGETS)
+.PHONY: clean
clean:
$(RM) *.o $(TARGETS)
@@ -40,6 +42,7 @@ cpuperf-xen: cpuperf.c $(HDRS) Makefile
cpuperf-perfcntr: cpuperf.c $(HDRS) Makefile
$(CC) $(CFLAGS) -DPERFCNTR -o $@ $<
+.PHONY: install
install: all
$(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
--- from-0001/tools/misc/lomount/Makefile
+++ to-work/tools/misc/lomount/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -13,12 +13,17 @@ OBJS = $(patsubst %.c,%.o,$(wildcard
BIN = lomount
+.PHONY: all
all: build
+
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
$(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin
+.PHONY: clean
clean:
$(RM) *.a *.so *.o *.rpm $(BIN)
--- from-0001/tools/misc/mbootpack/Makefile
+++ to-work/tools/misc/mbootpack/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -8,9 +8,13 @@ INSTALL_DIR = $(INSTALL) -d -m0755
XEN_ROOT=../../..
include $(XEN_ROOT)/tools/Rules.mk
+.PHONY: all
all: build
+
+.PHONY: build
build: mbootpack
+.PHONY: install
install: build
$(INSTALL_PROG) mbootpack $(DESTDIR)/usr/bin
@@ -33,6 +37,7 @@ DEPS = .*.d
mbootpack: $(OBJS)
$(HOSTCC) -o $@ $(filter-out %.a, $^)
+.PHONY: clean
clean:
$(RM) mbootpack *.o $(DEPS) bootsect setup bzimage_header.c bin2c
@@ -60,7 +65,6 @@ buildimage.c: bzimage_header.c
%.o: %.c
$(HOSTCC) $(DEPFLAGS) $(CFLAGS) $(INCS) $(DEFS) -c $< -o $@
-.PHONY: all clean gdb
.PRECIOUS: $(OBJS) $(OBJS:.o=.c) $(DEPS)
.SUFFIXES:
--- from-0001/tools/misc/miniterm/Makefile
+++ to-work/tools/misc/miniterm/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -7,12 +7,15 @@ INSTALL_DIR = $(INSTALL) -d -m0755
TARGET = miniterm
+.PHONY: all
all: $(TARGET)
+.PHONY: install
install: all
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
$(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
+.PHONY: clean
clean:
$(RM) *.o $(TARGET) *~
--- from-0001/tools/misc/nsplitd/Makefile
+++ to-work/tools/misc/nsplitd/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -8,10 +8,13 @@ OBJS = $(patsubst %.c,%.o,$(wildcard
TARGET = nsplitd
+.PHONY: all
all: $(TARGET)
+.PHONY: install
install: all
+.PHONY: clean
clean:
$(RM) *.o $(TARGET) *~
--- from-0001/tools/pygrub/Makefile
+++ to-work/tools/pygrub/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -2,10 +2,13 @@
XEN_ROOT = ../..
include $(XEN_ROOT)/tools/Rules.mk
+.PHONY: all
all: build
+.PHONY: build
build:
CFLAGS="$(CFLAGS)" python setup.py build
+.PHONY: install
ifndef XEN_PYTHON_NATIVE_INSTALL
install: all
CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr"
@@ -14,5 +17,6 @@ install: all
CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)"
endif
+.PHONY: clean
clean:
rm -rf build tmp *.pyc *.pyo *.o *.a *~
--- from-0001/tools/python/Makefile
+++ to-work/tools/python/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -1,12 +1,14 @@
XEN_ROOT = ../..
include $(XEN_ROOT)/tools/Rules.mk
-.PHONY: all build install clean
-
+.PHONY: all
all: build
+
+.PHONY: build
build:
CFLAGS="$(CFLAGS)" python setup.py build
+.PHONY: install
ifndef XEN_PYTHON_NATIVE_INSTALL
install: all
CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr" --force
@@ -15,8 +17,10 @@ install: all
CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)" --force
endif
+.PHONY: test
test:
export LD_LIBRARY_PATH=$$(readlink -f ../libxc):$$(readlink -f ../xenstore); python test.py -b -u
+.PHONY: clean
clean:
rm -rf build *.pyc *.pyo *.o *.a *~
--- from-0001/tools/security/Makefile
+++ to-work/tools/security/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -54,8 +54,10 @@ ACM_POLICY_SUFFIX = security_policy.xml
ACM_LABEL_SUFFIX = security_label_template.xml
ifeq ($(ACM_SECURITY),y)
+.PHONY: all
all: build
+.PHONY: install
install: all $(ACM_CONFIG_FILE)
$(INSTALL_DIR) -p $(DESTDIR)/usr/sbin
$(INSTALL_PROG) -p $(ACM_INST_TOOLS) $(DESTDIR)/usr/sbin
@@ -79,11 +81,14 @@ else
python python/setup.py install --root="$(DESTDIR)"
endif
else
+.PHONY: all
all:
+.PHONY: install
install:
endif
+.PHONY: build
build: mk-symlinks $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
python python/setup.py build
chmod 700 $(ACM_SCRIPTS)
@@ -100,6 +105,7 @@ get_decision: $(OBJS_GETD)
xensec_gen: xensec_gen.py
cp -f $^ $@
+.PHONY: clean
clean:
$(RM) $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
$(RM) $(ACM_OBJS)
@@ -107,8 +113,10 @@ clean:
$(RM) -r xen
$(RM) -r build
+.PHONY: mrproper
mrproper: clean
+.PHONY: boot_install
boot_install: install
$(ACM_SCRIPT_DIR)/updategrub.sh $(POLICY) $(KERNEL_VERSION)
--- from-0001/tools/sv/Makefile
+++ to-work/tools/sv/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -1,2 +1,3 @@
+.PHONY: all
all:
--- from-0001/tools/tests/Makefile
+++ to-work/tools/tests/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -6,14 +6,17 @@ TARGET := test_x86_emulator
HOSTCFLAGS += -D__TEST_HARNESS__
+.PHONY: all
all: $(TARGET)
$(TARGET): x86_emulate.o test_x86_emulator.o
$(HOSTCC) -o $@ $^
+.PHONY: clean
clean:
rm -rf $(TARGET) *.o *~ core
+.PHONY: install
install:
x86_emulate.o: $(XEN_ROOT)/xen/arch/x86/x86_emulate.c
--- from-0001/tools/vnet/Makefile
+++ to-work/tools/vnet/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -5,10 +5,6 @@ export VNET_ROOT = $(shell pwd)
include $(VNET_ROOT)/Make.env
endif
-.PHONY: all compile install dist clean pristine
-.PHONY: gc-all gc-install gc-clean
-.PHONY: help
-
SUBDIRS:=
SUBDIRS+= examples
SUBDIRS+= scripts
@@ -17,11 +13,13 @@ SUBDIRS+= libxutil
SUBDIRS+= vnetd
SUBDIRS+= vnet-module
+.PHONY: all
all: compile
gc.tar.gz:
wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$@
+.PHONY: gc
gc: gc.tar.gz
tar xfz gc.tar.gz
ln -sf gc?.? gc
@@ -31,10 +29,13 @@ $(GC_LIB_A): gc
make -C gc
DESTDIR="" make -C gc install
+.PHONY: gc-all
gc-all: $(GC_LIB_A)
+.PHONY: gc-install
gc-install:
+.PHONY: gc-clean
gc-clean:
-@$(RM) -r gc?.? gc
@@ -50,19 +51,25 @@ subtgt = $(patsubst %,%-$(1),$(SUBDIRS))
%-install:
$(call submak,install)
+.PHONY: compile
compile: $(call subtgt,all)
+.PHONY: install
install: DESTDIR=
install: dist
+.PHONY: dist
dist: compile $(call subtgt,install)
+.PHONY: clean
clean: $(call subtgt,clean)
-@$(RM) -r build
+.PHONY: pristine
pristine: clean
-@$(RM) gc.tar.gz
+.PHONY: help
help:
@echo 'Cleaning targets:'
@echo ' clean - clean subdirs and remove the build dir'
--- from-0001/tools/vnet/doc/Makefile
+++ to-work/tools/vnet/doc/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -23,8 +23,10 @@ DOC_MAN5 := $(patsubst man/%.pod.5,man5/
.PHONY: all man clean install
+.PHONY: all
all: man
+.PHONY: man
man:
@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@ -39,10 +41,12 @@ man5/%.5: man/%.pod.5 Makefile
$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
sed 's/.5//'` -s 5 -c $(HEADER) $< $@
+.PHONY: clean
clean:
@$(RM) -rf man5
@$(RM) -rf man1
+.PHONY: install
install: all
$(INSTALL_DIR) $(DESTDIR)$(MAN_DIR)
$(CP) -dR man1 $(DESTDIR)$(MAN_DIR)
--- from-0001/tools/vnet/examples/Makefile
+++ to-work/tools/vnet/examples/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -7,13 +7,14 @@ INSTALL_DIR = $(INSTALL) -d -m0755
XEN_SCRIPT_DIR = $(DESTDIR)/etc/xen/scripts
-.PHONY: all install clean
-
+.PHONY: all
all:
+.PHONY: install
install:
$(INSTALL_DIR) $(XEN_SCRIPT_DIR)
$(INSTALL_PROG) network-vnet $(XEN_SCRIPT_DIR)
$(INSTALL_PROG) vnet-insert $(XEN_SCRIPT_DIR)
-clean:
\ ファイル末尾に改行がありません
+.PHONY: clean
+clean:
--- from-0001/tools/vnet/libxutil/Makefile
+++ to-work/tools/vnet/libxutil/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -42,8 +42,10 @@ LIB += libxutil.so.$(MAJOR)
LIB += libxutil.so.$(MAJOR).$(MINOR)
LIB += libxutil.a
+.PHONY: all
all: build
+.PHONY: build
build: #check-for-zlib
$(MAKE) $(LIB)
@@ -61,6 +63,7 @@ libxutil.so.$(MAJOR).$(MINOR): $(PIC_OBJ
libxutil.a: $(LIB_OBJS)
$(AR) rc $@ $^
+.PHONY: check-for-zlib
check-for-zlib:
@if [ ! -e /usr/include/zlib.h ]; then \
echo "***********************************************************"; \
@@ -69,6 +72,7 @@ check-for-zlib:
false; \
fi
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
$(INSTALL_PROG) libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)
@@ -76,6 +80,7 @@ install: build
ln -sf libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so.$(MAJOR)
ln -sf libxutil.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so
+.PHONY: clean
clean:
-@$(RM) *.a *.so* *.o *.opic *.rpm
-@$(RM) *~
--- from-0001/tools/vnet/scripts/Makefile
+++ to-work/tools/vnet/scripts/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -7,12 +7,13 @@ INSTALL_DIR = $(INSTALL) -d -m0755
SBIN_DIR = $(DESTDIR)/usr/sbin
-.PHONY: all install clean
-
+.PHONY: all
all:
+.PHONY: install
install:
$(INSTALL_DIR) $(SBIN_DIR)
$(INSTALL_PROG) vn $(SBIN_DIR)
-clean:
\ ファイル末尾に改行がありません
+.PHONY: clean
+clean:
--- from-0001/tools/vnet/vnetd/Makefile
+++ to-work/tools/vnet/vnetd/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -19,6 +19,7 @@
VNET_ROOT = $(shell cd .. && pwd)
include $(VNET_ROOT)/Make.env
+.PHONY: all
all: vnetd
#----------------------------------------------------------------------------
@@ -104,10 +105,12 @@ VNETD_LIBS:= $(GC_LIB_A)
vnetd: $(VNETD_OBJ)
$(CC) $(CFLAGS) -o $@ $^ $(VNETD_LIBS) -ldl -lpthread
+.PHONY: install
install: vnetd
mkdir -p $(DESTDIR)$(VNETD_INSTALL_DIR)
install -m 0755 vnetd $(DESTDIR)$(VNETD_INSTALL_DIR)
+.PHONY: clean
clean:
-@$(RM) *.a *.o *~
-@$(RM) vnetd
--- from-0001/tools/vtpm/Makefile
+++ to-work/tools/vtpm/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -13,14 +13,18 @@ TPM_EMULATOR_TARFILE = tpm_emulator-0.2b
GMP_HEADER = /usr/include/gmp.h
+.PHONY: all
all: build
+.PHONY: build
build: $(TPM_EMULATOR_DIR) $(VTPM_DIR) build_sub
+.PHONY: install
install: build
$(MAKE) -C $(TPM_EMULATOR_DIR) $@
$(MAKE) -C $(VTPM_DIR) $@
+.PHONY: clean
clean:
@if [ -d $(TPM_EMULATOR_DIR) ]; \
then $(MAKE) -C $(TPM_EMULATOR_DIR) clean; \
@@ -29,6 +33,7 @@ clean:
then $(MAKE) -C $(VTPM_DIR) clean; \
fi
+.PHONY: mrproper
mrproper:
rm -f $(TPM_EMULATOR_TARFILE)
rm -rf $(TPM_EMULATOR_DIR)
@@ -58,6 +63,7 @@ $(VTPM_DIR): $(TPM_EMULATOR_TARFILE) tpm
patch -p1 < ../tpm_emulator-0.2b-x86_64.patch; \
patch -p1 <../vtpm.patch
+.PHONY: build_sub
build_sub:
@if [ -e $(GMP_HEADER) ]; then \
$(MAKE) -C $(VTPM_DIR); \
--- from-0001/tools/vtpm_manager/Makefile
+++ to-work/tools/vtpm_manager/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -6,8 +6,10 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
SUBDIRS = crypto tcs util manager
OPENSSL_HEADER = /usr/include/openssl/crypto.h
+.PHONY: all
all: build
+.PHONY: build
build:
@if [ -e $(OPENSSL_HEADER) ]; then \
@set -e; for subdir in $(SUBDIRS); do \
@@ -17,17 +19,20 @@ build:
echo "*** Cannot build vtpm_manager: OpenSSL developement files missing."; \
fi
+.PHONY: install
install: build
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+.PHONY: clean
clean:
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+.PHONY: mrproper
mrproper:
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
--- from-0001/tools/vtpm_manager/crypto/Makefile
+++ to-work/tools/vtpm_manager/crypto/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
BIN = libtcpaCrypto.a
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
+.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
+.PHONY: mrproper
mrproper: clean
rm -f *~
--- from-0001/tools/vtpm_manager/manager/Makefile
+++ to-work/tools/vtpm_manager/manager/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,19 +3,24 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
BIN = vtpm_managerd
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
if [ ! -d "$(DESTDIR)/var/vtpm/fifos" ]; \
then mkdir -p $(DESTDIR)/var/vtpm/fifos; \
fi
$(INSTALL_PROG) $(BIN) $(TOOLS_INSTALL_DIR)
+.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
+.PHONY: mrproper
mrproper: clean
rm -f $(BIN) *~
--- from-0001/tools/vtpm_manager/tcs/Makefile
+++ to-work/tools/vtpm_manager/tcs/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
BIN = libTCS.a
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
+.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
+.PHONY: mrproper
mrproper: clean
rm -f *~
--- from-0001/tools/vtpm_manager/util/Makefile
+++ to-work/tools/vtpm_manager/util/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
BIN = libTCGUtils.a
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
+.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
+.PHONY: mrproper
mrproper: clean
rm -f *~
--- from-0001/tools/xcutils/Makefile
+++ to-work/tools/xcutils/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -32,6 +32,8 @@ LDLIBS = -L$(XEN_LIBXC) -lxenguest -lx
.PHONY: all
all: build
+
+.PHONY: build
build: $(PROGRAMS)
$(PROGRAMS): %: %.o
@@ -44,6 +46,7 @@ install: build
$(INSTALL_PROG) $(PROGRAMS) $(DESTDIR)$(PROGRAMS_INSTALL_DIR)
+.PHONY: clean
clean:
$(RM) *.o $(PROGRAMS)
$(RM) $(PROG_DEP)
--- from-0001/tools/xenmon/Makefile
+++ to-work/tools/xenmon/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -28,16 +28,20 @@ LDFLAGS += -L $(XEN_LIBXC)
BIN = setmask xenbaked
SCRIPTS = xenmon.py
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: xenbaked setmask
[ -d $(DESTDIR)$(sbindir) ] || $(INSTALL_DIR) $(DESTDIR)$(sbindir)
$(INSTALL_PROG) xenbaked $(DESTDIR)$(sbindir)/xenbaked
$(INSTALL_PROG) setmask $(DESTDIR)$(sbindir)/setmask
$(INSTALL_PROG) xenmon.py $(DESTDIR)$(sbindir)/xenmon.py
+.PHONY: clean
clean:
rm -f $(BIN)
--- from-0001/tools/xenstat/libxenstat/Makefile
+++ to-work/tools/xenstat/libxenstat/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -41,6 +41,7 @@ WARN_FLAGS=-Wall -Werror
CFLAGS+=-Isrc -I$(XEN_LIBXC) -I$(XEN_XENSTORE)
LDFLAGS+=-Lsrc
+.PHONY: all
all: $(LIB)
$(LIB): $(OBJECTS)
@@ -62,6 +63,7 @@ src/libxenstat.so.$(MAJOR): $(LIB)
src/libxenstat.so: src/libxenstat.so.$(MAJOR)
$(MAKE_LINK) $(<F) $@
+.PHONY: install
install: all
#install: all
# $(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(includedir)/xenstat.h
@@ -84,6 +86,7 @@ BINDINGS=$(PYLIB) $(PYMOD) $(PERLLIB) $(
BINDINGSRC=$(PYSRC) $(PERLSRC)
# The all-bindings target builds all the language bindings
+.PHONY: all-bindings
all-bindings: perl-bindings python-bindings
# The install-bindings target installs all the language bindings
@@ -110,6 +113,7 @@ install-python-bindings: $(PYLIB) $(PYMO
$(INSTALL_PROG) $(PYMOD) $(DESTDIR)$(pythonlibdir)/xenstat.py
ifeq ($(XENSTAT_PYTHON_BINDINGS),y)
+.PHONY: all
all: python-bindings
install: install-python-bindings
endif
@@ -122,8 +126,10 @@ $(PERLSRC) $(PERLMOD): bindings/swig/xen
$(PERLLIB): $(PERLSRC)
$(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) -shared -lxenstat -o $@ $<
+.PHONY: perl-bindings
perl-bindings: $(PERLLIB) $(PERLMOD)
+.PHONY: install-perl-bindings
perllibdir=$(prefix)/lib/perl5
perlmoddir=$(prefix)/share/perl5
install-perl-bindings: $(PERLLIB) $(PERLMOD)
@@ -131,10 +137,14 @@ install-perl-bindings: $(PERLLIB) $(PERL
$(INSTALL_PROG) $(PERLMOD) $(DESTDIR)$(perlmoddir)/xenstat.pm
ifeq ($(XENSTAT_PERL_BINDINGS),y)
+.PHONY: all
all: perl-bindings
+
+.PHONY: install
install: install-perl-bindings
endif
+.PHONY: clean
clean:
rm -f $(LIB) $(SHLIB) $(SHLIB_LINKS) $(OBJECTS) \
$(BINDINGS) $(BINDINGSRC)
--- from-0001/tools/xenstat/xentop/Makefile
+++ to-work/tools/xenstat/xentop/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -14,6 +14,7 @@ XEN_ROOT=../../..
include $(XEN_ROOT)/tools/Rules.mk
ifneq ($(XENSTAT_XENTOP),y)
+.PHONY: all install xentop
all install xentop:
else
@@ -30,15 +31,19 @@ CFLAGS += -DGCC_PRINTF -Wall -Werror -I$
LDFLAGS += -L$(XEN_LIBXENSTAT)
LDLIBS += -lxenstat -lncurses
+.PHONY: all
all: xentop
+.PHONY: xentop
xentop: xentop.o
+.PHONY: install
install: xentop xentop.1
$(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
$(INSTALL_DATA) xentop.1 $(DESTDIR)$(man1dir)/xentop.1
endif
+.PHONY: clean
clean:
rm -f xentop xentop.o
--- from-0001/tools/xenstore/Makefile
+++ to-work/tools/xenstore/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -27,11 +27,13 @@ CLIENTS := xenstore-exists xenstore-list
CLIENTS += xenstore-write
CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
+.PHONY: all
all: libxenstore.so xenstored $(CLIENTS) xs_tdb_dump xenstore-control xenstore-ls
test_interleaved_transactions: test_interleaved_transactions.o
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
+.PHONY: testcode
testcode: xs_test xenstored_test xs_random
xenstored: xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
@@ -55,14 +57,17 @@ xenstored_test: xenstored_core_test.o xe
xs_tdb_dump: xs_tdb_dump.o utils.o tdb.o talloc.o
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
+.PHONY: xs_test xs_random xs_stress xs_crashme
xs_test xs_random xs_stress xs_crashme: LDFLAGS+=-lpthread
xs_test: xs_test.o xs_lib.o utils.o
xs_random: xs_random.o xs_test_lib.o xs_lib.o talloc.o utils.o
xs_stress: xs_stress.o xs_test_lib.o xs_lib.o talloc.o utils.o
xs_crashme: xs_crashme.o xs_lib.o talloc.o utils.o
+.PHONY: speedtest
speedtest: speedtest.o xs.o xs_lib.o utils.o talloc.o
+.PHONY: check-speed
check-speed: speedtest xenstored_test $(TESTDIR)
$(TESTENV) time ./speedtest 100
@@ -80,6 +85,7 @@ talloc_test.o: talloc.c
libxenstore.so: xs.opic xs_lib.opic
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenstore.so -shared -o $@ $^ -lpthread
+.PHONY: clean
clean: testsuite-clean
rm -f *.o *.opic *.so
rm -f xenstored xs_random xs_stress xs_crashme
@@ -87,55 +93,69 @@ clean: testsuite-clean
rm -f $(CLIENTS)
$(RM) $(PROG_DEP)
+.PHONY: print-dir
print-dir:
@echo -n tools/xenstore:
+.PHONY: print-end
print-end:
@echo
+.PHONY: check
check: print-dir testsuite-fast randomcheck-fast print-end
+.PHONY: fullcheck
fullcheck: testsuite-run randomcheck stresstest
$(TESTDIR):
mkdir $@
+.PHONY: testsuite-run
testsuite-run: xenstored_test xs_test $(TESTDIR)
$(TESTENV) testsuite/test.sh && echo
+.PHONY: testsuite-fast
testsuite-fast: xenstored_test xs_test $(TESTDIR)
@$(TESTENV) testsuite/test.sh --fast
+.PHONY: testsuite-clean
testsuite-clean:
rm -rf $(TESTDIR)
# Make this visible so they can see repeat tests without --fast if they
# fail.
RANDSEED=$(shell date +%s)
+.PHONY: randomcheck
randomcheck: xs_random xenstored_test $(TESTDIR)
$(TESTENV) ./xs_random --simple --fast /tmp/xs_random 200000 $(RANDSEED) && echo
$(TESTENV) ./xs_random --fast /tmp/xs_random 100000 $(RANDSEED) && echo
# $(TESTENV) ./xs_random --fail /tmp/xs_random 10000 $(RANDSEED)
+.PHONY: crashme
crashme: xs_crashme xenstored_test $(TESTDIR)
rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
export $(TESTENV); ./xs_crashme 5000 $(RANDSEED) 2>/dev/null
if [ -n "`cat /tmp/xs_crashme.vglog*`" ]; then echo Valgrind complained; cat /tmp/xs_crashme.vglog*; exit 1; fi
rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
+.PHONY: randomcheck-fast
randomcheck-fast: xs_random xenstored_test $(TESTDIR)
@$(TESTENV) ./xs_random --fast /tmp/xs_random 2000 $(RANDSEED)
+.PHONY: stresstest
stresstest: xs_stress xenstored_test $(TESTDIR)
rm -rf $(TESTDIR)/store $(TESTDIR)/transactions
export $(TESTENV); PID=`./xenstored_test --output-pid --trace-file=/tmp/trace`; ./xs_stress 5000; ret=$$?; kill $$PID; exit $$ret
+.PHONY: TAGS
TAGS:
etags `find . -name '*.[ch]'`
+.PHONY: tarball
tarball: clean
cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
+.PHONY: install
install: all
$(INSTALL_DIR) -p $(DESTDIR)/var/run/xenstored
$(INSTALL_DIR) -p $(DESTDIR)/var/lib/xenstored
--- from-0001/tools/xentrace/Makefile
+++ to-work/tools/xentrace/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -28,9 +28,13 @@ ifeq ($(XEN_TARGET_ARCH),x86_64)
LIBBIN += xenctx
endif
+.PHONY: all
all: build
+
+.PHONY: build
build: $(BIN) $(LIBBIN)
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
[ -z "$(LIBBIN)" ] || [ -d $(DESTDIR)/usr/$(LIBDIR)/xen/bin ] || \
@@ -44,6 +48,7 @@ install: build
$(INSTALL_DATA) $(MAN1) $(DESTDIR)/usr/share/man/man1
$(INSTALL_DATA) $(MAN8) $(DESTDIR)/usr/share/man/man8
+.PHONY: clean
clean:
$(RM) *.a *.so *.o *.rpm $(BIN) $(LIBBIN)
--- from-0001/xen/Makefile
+++ to-work/xen/Makefile 2006-04-07 14:33:48.000000000 +0900
@@ -7,17 +7,21 @@ export XEN_FULLVERSION := $(XEN_VERSION
export BASEDIR := $(CURDIR)
+.PHONY: default
default: build
ifeq ($(XEN_ROOT),)
+.PHONY: build install clean
build install clean:
make -f Rules.mk $@
else
+.PHONY: build
build: $(TARGET).gz
+.PHONY: install
install: $(TARGET).gz
[ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
$(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_FULLVERSION).gz
@@ -31,6 +35,7 @@ install: $(TARGET).gz
$(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
$(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen
+.PHONY: clean
clean:: delete-unfresh-files
$(MAKE) -C tools clean
$(MAKE) -f $(BASEDIR)/Rules.mk -C common clean
@@ -43,6 +48,7 @@ clean:: delete-unfresh-files
endif
+.PHONY: install
dist: install
debug: FORCE
@@ -63,6 +69,7 @@ $(TARGET): delete-unfresh-files
# drivers/char/console.o contains static banner/compile info. Blow it away.
# Don't refresh these files during e.g., 'sudo make install'
+.PHONY: delete-unfresh-files
delete-unfresh-files:
@if [ ! -r include/xen/compile.h -o -O include/xen/compile.h ]; then \
rm -f include/xen/{banner,compile}.h; \
@@ -119,8 +126,6 @@ include/asm-$(TARGET_ARCH)/asm-offsets.h
echo ""; \
echo "#endif") <$< >$@
-.PHONY: default debug build install dist clean delete-unfresh-files TAGS tags
-
SUBDIRS = acm arch/$(TARGET_ARCH) common drivers
define all_sources
( find include/asm-$(TARGET_ARCH) -name SCCS -prune -o -name '*.h' -print; \
@@ -128,12 +133,20 @@ define all_sources
-name config \) -prune -o -name '*.h' -print; \
find $(SUBDIRS) -name SCCS -prune -o -name '*.[chS]' -print )
endef
+
+.PHONY: TAGS
TAGS:
$(all_sources) | etags -
+
+.PHONY: tags
tags:
$(all_sources) | xargs ctags
+
+.PHONY: cscope
cscope:
$(all_sources) > cscope.files
cscope -k -b -q
+
+.PHONY: MAP
MAP:
$(NM) $(TARGET) | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
--- from-0001/xen/arch/ia64/tools/privop/Makefile
+++ to-work/xen/arch/ia64/tools/privop/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -1,10 +1,13 @@
CC=gcc
CFLAGS=-O -Wall
+.PHONY: all
all: postat
+.PHONY: postat
postat: postat.c pohcalls.o
+.PHONY: clean
clean:
$(RM) -f *.o postat *.s *~
--- from-0001/xen/tools/Makefile
+++ to-work/xen/tools/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -1,13 +1,16 @@
include $(BASEDIR)/../Config.mk
+.PHONY: default
default:
$(MAKE) -C figlet
$(MAKE) symbols
+.PHONY: clean
clean:
$(MAKE) -C figlet clean
rm -f *.o symbols
+.PHONY: symbols
symbols: symbols.c
$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
--- from-0001/xen/tools/figlet/Makefile
+++ to-work/xen/tools/figlet/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -4,5 +4,6 @@ include $(BASEDIR)/../Config.mk
figlet: figlet.c
$(HOSTCC) -o $@ $<
+.PHONY: clean
clean:
rm -f *.o figlet
--
Horms
^ permalink raw reply
* [PATCH 3/11] build: Make sure that DESTDIR is set
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID a3a369798dbd866fcb4ec9026364e65a054c458a
# Parent 85038f661b0283fd5d8e152b234e130862932763
build: Make sure that DESTDIR is set
In the case where XEN_PYTHON_NATIVE_INSTALL is in effect,
if DESTDIR is not set then the install will go into a relative
directory rather than under the default prefix (usually /usr).
An alternate solution would be to update the fragments
that do the python install to use $(DESTDIR)/ instead of
$(DESTDIR). This is not an incredible burden as there
are only two such fragments in the tree. However, it
seems prone to error as new makefiles are created
in the future.
Signed-Off-By: Horms <horms@verge.net.au>
diff -r 85038f661b02 -r a3a369798dbd Config.mk
--- a/Config.mk Thu Mar 30 15:13:35 2006 +0900
+++ b/Config.mk Thu Mar 30 15:13:41 2006 +0900
@@ -24,6 +24,7 @@ OBJDUMP = $(CROSS_COMPILE)objdump
OBJDUMP = $(CROSS_COMPILE)objdump
DISTDIR ?= $(XEN_ROOT)/dist
+DESTDIR ?= /
INSTALL = install
INSTALL_DIR = $(INSTALL) -d -m0755
--
Horms
^ permalink raw reply
* [PATCH 2/11] build: Remove iptables and python loging helper targets
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 85038f661b0283fd5d8e152b234e130862932763
# Parent 6f44e906b2b6b70736a272be7b2d26c99532d886
build: Remove iptables and python loging helper targets
These targets don't really fit into the build infastructure,
for instance there is no faclilty for them to be removed
on make distclean. I posted a patch that fleshed out the targets,
but Christian Limpach suggested to me that removing them
would be a better idea.
Signed-Off-By: Horms <horms@verge.net.au>
diff -r 6f44e906b2b6 -r 85038f661b02 Makefile
--- a/Makefile Thu Mar 30 15:13:32 2006 +0900
+++ b/Makefile Thu Mar 30 15:13:35 2006 +0900
@@ -115,18 +115,6 @@ distclean: clean
# Linux name for GNU distclean
mrproper: distclean
-install-logging: LOGGING=logging-0.4.9.2
-install-logging:
- [ -f $(LOGGING).tar.gz ] || wget http://www.red-dove.com/$(LOGGING).tar.gz
- tar -zxf $(LOGGING).tar.gz
- cd $(LOGGING) && python setup.py install
-
-# handy target to upgrade iptables (use rpm or apt-get in preference)
-install-iptables:
- wget http://www.netfilter.org/files/iptables-1.2.11.tar.bz2
- tar -jxf iptables-1.2.11.tar.bz2
- $(MAKE) -C iptables-1.2.11 PREFIX= KERNEL_DIR=../linux-$(LINUX_VER)-xen0 install
-
help:
@echo 'Installation targets:'
@echo ' install - build and install everything'
@@ -153,10 +141,6 @@ help:
@echo ' build trees'
@echo ' kdelete - delete guest kernel build trees'
@echo ' kclean - clean guest kernel build trees'
- @echo ''
- @echo 'Dependency installation targets:'
- @echo ' install-logging - install the Python Logging package'
- @echo ' install-iptables - install iptables tools'
@echo ''
@echo 'Miscellaneous targets:'
@echo ' prep-kernels - prepares kernel directories, does not build'
--
Horms
^ permalink raw reply
* [PATCH 1/11] build: Remove unused netbsd build fragments
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3067 bytes --]
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 6f44e906b2b6b70736a272be7b2d26c99532d886
# Parent c7020299facc4940b245b3f5280d6bf6ef6a77b1
build: Remove unused netbsd build fragments
Signed-Off-By: Homrs <horms@verge.net.au>
バイナリー・ファイル/dev/nullとto-work/buildconfigs/.Rules.mk.swpは違います
--- from-0001/buildconfigs/Rules.mk
+++ to-work/buildconfigs/Rules.mk 2006-03-30 16:48:38.000000000 +0900
@@ -40,29 +40,6 @@ patch-%.bz2:
@echo "Cannot find $(@F) in path $(LINUX_SRC_PATH)"
wget $(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$(_LINUX_XDIR)/$(@F) -O./$@
-# Expand NetBSD release to NetBSD version
-NETBSD_RELEASE ?= 2.0
-NETBSD_VER ?= $(patsubst netbsd-%-xen-sparse,%,$(wildcard netbsd-$(NETBSD_RELEASE)*-xen-sparse))
-NETBSD_CVSSNAP ?= 20050309
-
-# Setup NetBSD search path
-NETBSD_SRC_PATH ?= .:..
-vpath netbsd-%.tar.bz2 $(NETBSD_SRC_PATH)
-
-# download a pristine NetBSD tarball if there isn't one in NETBSD_SRC_PATH
-netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2:
- @echo "Cannot find $@ in path $(NETBSD_SRC_PATH)"
- wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/$@ -O./$@
-
-netbsd-%.tar.bz2: netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
- ln -fs $< $@
-
-ifeq ($(OS),linux)
-OS_VER = $(LINUX_VER)
-else
-OS_VER = $(NETBSD_VER)
-endif
-
pristine-%: pristine-%/.valid-pristine
@true
@@ -134,17 +111,10 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
diff -Nurp $(<D) tmp-$@ > $@ || true
rm -rf tmp-$@
-%-mrproper: %-mrproper-extra
+%-mrproper:
rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
rm -rf $*-xen.patch
-netbsd-%-mrproper-extra:
- rm -rf netbsd-$*-tools netbsd-$*-tools.tar.bz2
- rm -f netbsd-$*-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
-
-%-mrproper-extra:
- @: # do nothing
-
config-update-pae:
ifeq ($(XEN_TARGET_X86_PAE),y)
sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
--- from-0001/buildconfigs/mk.linux-2.6-xen
+++ to-work/buildconfigs/mk.linux-2.6-xen 2006-03-30 16:49:34.000000000 +0900
@@ -1,13 +1,10 @@
-
-OS = linux
-
LINUX_SERIES = 2.6
LINUX_VER = 2.6.16
LINUX_SRCS = linux-2.6.16.tar.bz2
EXTRAVERSION ?= xen
-LINUX_DIR = $(OS)-$(LINUX_VER)-$(EXTRAVERSION)
+LINUX_DIR = linux-$(LINUX_VER)-$(EXTRAVERSION)
include buildconfigs/Rules.mk
@@ -22,7 +19,7 @@ build: $(LINUX_DIR)/include/linux/autoco
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) vmlinuz
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) install
-$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
+$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)/.valid-ref
rm -rf $(LINUX_DIR)
cp -al $(<D) $(LINUX_DIR)
# Apply arch-xen patches
@@ -52,4 +49,4 @@ clean::
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
delete:
- rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR)
+ rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
--
Horms
^ permalink raw reply
* [PATCH 0/11] libxc: various build cleanups
From: Horms @ 2006-04-10 2:29 UTC (permalink / raw)
To: xen-devel; +Cc: Magnus Damm, Horms
Hi,
the following mails are a series of clean-ups for the build system.
I posted them previously, and for referance that post is
at the previous link.
http://thread.gmane.org/gmane.comp.emulators.xen.devel/22227/focus=22281
At the time a number of people asked on the list and privately
for changes. I believe that these patches address all of the
concerns raised. Most significantly:
* Split the patches up into functional areas
* Repost after the next release
* Removed a bogus diff to drivers/xen/Makefile and
[PATCH 1/11] build: Remove unused netbsd build fragments
[PATCH 2/11] build: Remove iptables and python loging helper targets
[PATCH 3/11] build: Make sure that DESTDIR is set
[PATCH 4/11] build: Clean up use of .PHONY
[PATCH 5/11] build: clean up output of make help a little bit
[PATCH 6/11] build: Document the use of XEN_PYTHON_NATIVE_INSTALL
[PATCH 7/11] build: clean up kclean and distclean for kernel
[PATCH 8/11] build: Clean pygrub's a.out
[PATCH 9/11] build: Use --bzip2 with tar instead of -j
[PATCH 10/11] build: make linux download more flexable
[PATCH 11/11] build: Don't assume that mkbuildtree is executable
--
Horms
^ permalink raw reply
* Intel HD Audio Soundcard Problems
From: Seven Corvina @ 2006-04-10 2:27 UTC (permalink / raw)
To: alsa-devel
I recently was given a Dell Inspiron 9400 by work, and the first thing I
did was drop linux on it. I've had hell-in-a-handbasket getting it
working, but I'm down to my last two problems... and sound is one.
It's the Dell Inspiron 9400/E1705 Laptop... I'm not getting any sound
output through ALSA, using no OSS applications.
lspci -vvv:
http://udevio.us/files/lspcivvv.txt
uname -a:
seven@sparkle:~$ uname -a
Linux sparkle 2.6.16.2 #3 PREEMPT Sun Apr 9 18:53:54 PDT 2006 i686
GNU/Linux
lsmod | grep intel:
seven@sparkle:~$ lsmod |grep intel
snd_hda_intel 17296 2
snd_hda_codec 121984 1 snd_hda_intel
snd_pcm 86152 3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd 52224 10
snd_hda_intel,snd_hda_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
snd_page_alloc 10504 2 snd_hda_intel,snd_pcm
intel_agp 22812 1
agpgart 32476 3 drm,intel_agp
Umm, please tell me if there's anything else you need. I tested using an
Example ogg, as follows:
seven@sparkle:~$ ogg123 -d
alsa09 /home/seven/Examples/kalimoto-miracle-\ lemon.ogg
Audio Device: Advanced Linux Sound Architecture (ALSA) output
Playing: /home/seven/Examples/kalimoto-miracle- lemon.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
Done.
It played all the way through, but no sound came out. X.x
Seven
PS. Sorry if I sent this twice; I'm on a really weak network and gmail
is having trouble getting response back to me.
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
^ permalink raw reply
* Re: 2.4.32: unresolved symbol unregister_qdisc
From: Randy.Dunlap @ 2006-04-10 2:29 UTC (permalink / raw)
To: George P Nychis; +Cc: linux-kernel, netdev
In-Reply-To: <1949.128.2.140.234.1144634733.squirrel@128.2.140.234>
On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
>
> > On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
> >
> >> Thanks for the help.
> >>
> >> Here is the makefile: http://rafb.net/paste/results/auchPH75.html
> >>
> >> And here is the full errors I receive:
> >> http://rafb.net/paste/results/Qplpqw74.html
> >>
> >> Greatly appreciate it
> >>
> >> - George
> >
> > [repeat: please don't top-post]
> >
> > I don't know how much I can help you. It's been a long time since I've
> > built external modules on 2.4.x.
> >
> > Problems that I see: - the Makefile does not use the expected 2.4 kernel
> > build infrastructure; - kernel Makefile uses -nostdinc to prevent use of
> > userspace headers; - Makefile is trying to include userspace headers
> > instead of kernel headers, e.g.: In file included from
> > /usr/include/linux/if_ether.h:107, from /usr/include/linux/netdevice.h:29,
> > from sch_xcp.c:8: - this specified include directory is only in 2.6.x,
> > not 2.4.x: -I/lib/modules/`uname -r`/build/include/asm/mach-default
> >
> > It's not clear to me how this makefile could work with 2.4.x at all. Is it
> > supposed to, or that's just what you want to see it do?
> >
> > You could try to fix the Makefile based on makefile-changes articles at
> > lwn.net. E.g.: http://lwn.net/Articles/151784/
> > http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/
> > http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
> >
> >
> >
> >>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis wrote:
> >>>
> >>>> Yeah, this module is unfortunately not under the GPL, it was made
> >>>> for research and i am not the author, I was only given the code for
> >>>> my own research.
> >>>>
> >>>> I enabled that support in the kernel, and then tried to recompile
> >>>> and get tons of errors/warnings... so maybe I am missing something
> >>>> else to be enabled in the kernel... here are a few examples of
> >>>> errors: /usr/include/linux/skbuff.h:30:26: net/checksum.h: No such
> >>>> file or directory /usr/include/asm/irq.h:16:25: irq_vectors.h: No
> >>>> such file or directory /usr/include/linux/irq.h:72: error: `NR_IRQS'
> >>>> undeclared here (not in a function) /usr/include/asm/hw_irq.h:28:
> >>>> error: `NR_IRQ_VECTORS' undeclared here (not in a function)
> >>>>
> >>>> I think those are the top most errors, so if i can fix those
> >>>> hopefully the rest shall vanish!
> >>>
> >>> Looks like a Makefile problem then. Can you post the Makefile?
> >>> Hopefully it is using a Makefile and not just an elaborate gcc command
> >>> line.
> >>>
> >>> [and please don't top-post]
> >>>
> >>>> - George
> >>>>
> >>>>
> >>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8 Apr 2006
> >>>>> 18:47:34 -0400 (EDT)
> >>>>>
> >>>>>> Hey,
> >>>>>>
> >>>>>> I have a kernel module that uses unregister_qdisc and
> >>>>>> register_qdisc, whenever i try to insert the module I get:
> >>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved
> >>>>>> symbol unregister_qdisc
> >>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved
> >>>>>> symbol register_qdisc
> >>>>>>
> >>>>>> Am i missing some sort of support in the kernel?
> >>>>>
> >>>>> Make sure CONFIG_NET_SCHED is enabled and that you compiled your
> >>>>> module against that kernel.
> >>>>>
> >>>>> Where does this sch_xcp come from? It's not in the vanilla
> >>>>> sources.
> >>>>>
> >>>>> Also, please direct networking questions to the
> >>>>> netdev@vger.kernel.org mailing list which I have added to the
> >>>>> CC:.
> >
> > --- ~Randy
> >
> >
>
> By the way, if I add -I/usr/src/linux/include to the compile line, it successfully compiles, however, i am back to the start:
> lanthanum-ini src-1.0.1 # insmod sch_xcp
> Using /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o
> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol unregister_qdisc
> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol register_qdisc
Yet your 2.4.32 kernel image file does have those symbols in it?
Can you verify that by using 'nm' on the kernel image file?
If so, then I suppose that you'll need to make a small module test case
that exhibits this behavior, or just tell us where to get the sch_xcp files...
(re-added cc: for netdev)
---
~Randy
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.