[XEN PATCH maybe for-4.17] tools/include: Fix clean and rework COPYING for installed Xen public header

Anthony PERARD posted 1 patch 2 weeks ago
Test gitlab-ci passed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20221124164254.33476-1-anthony.perard@citrix.com
tools/include/Makefile                        | 1 +
tools/include/{xen/COPYING => xen.COPYING.in} | 2 +-
tools/include/.gitignore                      | 1 +
tools/include/xen/.gitignore                  | 2 --
4 files changed, 3 insertions(+), 3 deletions(-)
rename tools/include/{xen/COPYING => xen.COPYING.in} (93%)
create mode 100644 tools/include/.gitignore
delete mode 100644 tools/include/xen/.gitignore
[XEN PATCH maybe for-4.17] tools/include: Fix clean and rework COPYING for installed Xen public header
Posted by Anthony PERARD 2 weeks ago
Use actual include directory used to install the public header in
COPYING file.

Also, move the input file out of "tools/include/xen/" because that
directory is removed on `make clean`.

We can't used ./configure because $includedir contain another
variable, so the change is done in Makefile.

Fixes: 4ea75e9a9058 ("Rework COPYING installed in /usr/include/xen/, due to several licences")
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    For 4.17 inclusion:
    
    Doing `make clean && make` in the root dir is going to fail as make
    isn't going to find the COPYING file while trying to install the
    includes.
    
    If that patch is too much, we could replace the `sed` by `cp` and just
    move COPYING instead of changing it.

 tools/include/Makefile                        | 1 +
 tools/include/{xen/COPYING => xen.COPYING.in} | 2 +-
 tools/include/.gitignore                      | 1 +
 tools/include/xen/.gitignore                  | 2 --
 4 files changed, 3 insertions(+), 3 deletions(-)
 rename tools/include/{xen/COPYING => xen.COPYING.in} (93%)
 create mode 100644 tools/include/.gitignore
 delete mode 100644 tools/include/xen/.gitignore

diff --git a/tools/include/Makefile b/tools/include/Makefile
index f838171e8c..d69aeb54bf 100644
--- a/tools/include/Makefile
+++ b/tools/include/Makefile
@@ -24,6 +24,7 @@ xen-foreign:
 xen-dir:
 	mkdir -p xen/libelf acpi
 	find xen/ acpi/ -type l -exec rm '{}' +
+	sed -e 's#@includedir@#$(includedir)/xen#g' xen.COPYING.in > xen/COPYING
 	ln -s $(XEN_ROOT)/xen/include/public/*.h xen/
 	ln -s $(XEN_ROOT)/xen/include/public/*/ xen/
 	ln -s ../xen-sys/$(XEN_OS) xen/sys
diff --git a/tools/include/xen/COPYING b/tools/include/xen.COPYING.in
similarity index 93%
rename from tools/include/xen/COPYING
rename to tools/include/xen.COPYING.in
index fe3f9b7557..25513fe529 100644
--- a/tools/include/xen/COPYING
+++ b/tools/include/xen.COPYING.in
@@ -1,7 +1,7 @@
 XEN NOTICE
 ==========
 
-This licence applies to all files within this subdirectory ("/usr/include/xen")
+This licence applies to all files within this subdirectory ("@includedir@")
 with the exception of "sys/" which may include headers under different
 licences.
 
diff --git a/tools/include/.gitignore b/tools/include/.gitignore
new file mode 100644
index 0000000000..be14e3632d
--- /dev/null
+++ b/tools/include/.gitignore
@@ -0,0 +1 @@
+/xen/
diff --git a/tools/include/xen/.gitignore b/tools/include/xen/.gitignore
deleted file mode 100644
index 0628b2daf1..0000000000
--- a/tools/include/xen/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!COPYING
-- 
Anthony PERARD
Re: [XEN PATCH maybe for-4.17] tools/include: Fix clean and rework COPYING for installed Xen public header
Posted by Luca Fancellu 1 week, 6 days ago

> On 24 Nov 2022, at 16:42, Anthony PERARD <anthony.perard@citrix.com> wrote:
> 
> Use actual include directory used to install the public header in
> COPYING file.
> 
> Also, move the input file out of "tools/include/xen/" because that
> directory is removed on `make clean`.
> 
> We can't used ./configure because $includedir contain another
> variable, so the change is done in Makefile.
> 
> Fixes: 4ea75e9a9058 ("Rework COPYING installed in /usr/include/xen/, due to several licences")
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> 
> Notes:
>    For 4.17 inclusion:
> 
>    Doing `make clean && make` in the root dir is going to fail as make
>    isn't going to find the COPYING file while trying to install the
>    includes.
> 
>    If that patch is too much, we could replace the `sed` by `cp` and just
>    move COPYING instead of changing it.
> 
> tools/include/Makefile                        | 1 +
> tools/include/{xen/COPYING => xen.COPYING.in} | 2 +-
> tools/include/.gitignore                      | 1 +
> tools/include/xen/.gitignore                  | 2 --
> 4 files changed, 3 insertions(+), 3 deletions(-)
> rename tools/include/{xen/COPYING => xen.COPYING.in} (93%)
> create mode 100644 tools/include/.gitignore
> delete mode 100644 tools/include/xen/.gitignore
> 
> diff --git a/tools/include/Makefile b/tools/include/Makefile
> index f838171e8c..d69aeb54bf 100644
> --- a/tools/include/Makefile
> +++ b/tools/include/Makefile
> @@ -24,6 +24,7 @@ xen-foreign:
> xen-dir:
> 	mkdir -p xen/libelf acpi
> 	find xen/ acpi/ -type l -exec rm '{}' +
> +	sed -e 's#@includedir@#$(includedir)/xen#g' xen.COPYING.in > xen/COPYING

If I understand correctly, the -e can be dropped as this is the only command we are issuing to sed.

The patch looks good, I’ve tested it with and without the -e and it works

Cheers,
Luca


Re: [XEN PATCH maybe for-4.17] tools/include: Fix clean and rework COPYING for installed Xen public header
Posted by Jan Beulich 1 week, 6 days ago
On 24.11.2022 17:42, Anthony PERARD wrote:
> Use actual include directory used to install the public header in
> COPYING file.
> 
> Also, move the input file out of "tools/include/xen/" because that
> directory is removed on `make clean`.
> 
> We can't used ./configure because $includedir contain another
> variable, so the change is done in Makefile.
> 
> Fixes: 4ea75e9a9058 ("Rework COPYING installed in /usr/include/xen/, due to several licences")
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
(with a question, perhaps just for my own education, at the end)

> ---
> 
> Notes:
>     For 4.17 inclusion:
>     
>     Doing `make clean && make` in the root dir is going to fail as make
>     isn't going to find the COPYING file while trying to install the
>     includes.

I second this would better be fixed for the release.

> --- a/tools/include/Makefile
> +++ b/tools/include/Makefile
> @@ -24,6 +24,7 @@ xen-foreign:
>  xen-dir:
>  	mkdir -p xen/libelf acpi
>  	find xen/ acpi/ -type l -exec rm '{}' +
> +	sed -e 's#@includedir@#$(includedir)/xen#g' xen.COPYING.in > xen/COPYING

Any particular reason for using -e here?

Jan
RE: [XEN PATCH maybe for-4.17] tools/include: Fix clean and rework COPYING for installed Xen public header
Posted by Henry Wang 1 week ago
Hi 

> -----Original Message-----
> Subject: Re: [XEN PATCH maybe for-4.17] tools/include: Fix clean and rework
> COPYING for installed Xen public header
> 
> On 24.11.2022 17:42, Anthony PERARD wrote:
> > Use actual include directory used to install the public header in
> > COPYING file.
> >
> > Also, move the input file out of "tools/include/xen/" because that
> > directory is removed on `make clean`.
> >
> > We can't used ./configure because $includedir contain another
> > variable, so the change is done in Makefile.
> >
> > Fixes: 4ea75e9a9058 ("Rework COPYING installed in /usr/include/xen/, due
> to several licences")
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry
Re: [XEN PATCH maybe for-4.17] tools/include: Fix clean and rework COPYING for installed Xen public header
Posted by Anthony PERARD 1 week, 6 days ago
On Fri, Nov 25, 2022 at 10:28:52AM +0100, Jan Beulich wrote:
> On 24.11.2022 17:42, Anthony PERARD wrote:
> > Use actual include directory used to install the public header in
> > COPYING file.
> > 
> > Also, move the input file out of "tools/include/xen/" because that
> > directory is removed on `make clean`.
> > 
> > We can't used ./configure because $includedir contain another
> > variable, so the change is done in Makefile.
> > 
> > Fixes: 4ea75e9a9058 ("Rework COPYING installed in /usr/include/xen/, due to several licences")
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> (with a question, perhaps just for my own education, at the end)

> > +	sed -e 's#@includedir@#$(includedir)/xen#g' xen.COPYING.in > xen/COPYING
> 
> Any particular reason for using -e here?

No, I just often use it, even when unnecessary.

Thanks,

-- 
Anthony PERARD