mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file
@ 2019-08-22 10:42 Roland Hieber
  2019-08-22 10:42 ` [ptxdist] [RFC 2/4] Makefile.in: sort environment tools alphabetically Roland Hieber
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Roland Hieber @ 2019-08-22 10:42 UTC (permalink / raw)
  To: ptxdist; +Cc: Robert Schwebel, Roland Hieber

Cc: Robert Schwebel <r.schwebel@pengutronix.de>
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 patches/HEADER | 11 -----------
 1 file changed, 11 deletions(-)
 delete mode 100644 patches/HEADER

diff --git a/patches/HEADER b/patches/HEADER
deleted file mode 100644
index a70bcaf40c95..000000000000
--- a/patches/HEADER
+++ /dev/null
@@ -1,11 +0,0 @@
-Subject: fix something in blub
-From: Robert Schwebel <r.schwebel@pengutronix.de>
-
-When cross compiling blub it breaks with the following error message:
-
-...
-
-This patch does this and that in order to avoid this error.
-
-Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
-
-- 
2.20.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [ptxdist] [RFC 2/4] Makefile.in: sort environment tools alphabetically
  2019-08-22 10:42 [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file Roland Hieber
@ 2019-08-22 10:42 ` Roland Hieber
  2019-08-22 10:42 ` [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories Roland Hieber
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 16+ messages in thread
From: Roland Hieber @ 2019-08-22 10:42 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 Makefile.in | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 31651dbbd8c3..d337b9ec552b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -44,33 +44,33 @@ kconfig:
 environment:
 	@echo -n "preparing PTXdist environment ..."
 	@ln -sf @AWK@ "$(abs_srcdir)/bin/awk"
+	@ln -sf @BASH@  "$(abs_srcdir)/bin/bash"
+	@ln -sf @GNU_cat@ "$(abs_srcdir)/bin/cat"
 	@ln -sf @GNU_chmod@ "$(abs_srcdir)/bin/chmod"
 	@ln -sf @GNU_chown@ "$(abs_srcdir)/bin/chown"
-	@ln -sf @GNU_mv@ "$(abs_srcdir)/bin/mv"
 	@ln -sf @GNU_cp@ "$(abs_srcdir)/bin/cp"
-	@ln -sf @GNU_rm@ "$(abs_srcdir)/bin/rm"
+	@ln -sf @GNU_dirname@ "$(abs_srcdir)/bin/dirname"
+	@ln -sf @PTXDIST_FILE@ "$(abs_srcdir)/bin/file"
+	@ln -sf @GNU_find@ "$(abs_srcdir)/bin/find"
+	@ln -sf @GNU_install@ "$(abs_srcdir)/bin/install"
 	@ln -sf @GNU_ln@ "$(abs_srcdir)/bin/ln"
-	@ln -sf @GNU_rmdir@ "$(abs_srcdir)/bin/rmdir"
 	@ln -sf @GNU_md5sum@ "$(abs_srcdir)/bin/md5sum"
 	@ln -sf @GNU_mkdir@ "$(abs_srcdir)/bin/mkdir"
-	@ln -sf @GNU_mktemp@ "$(abs_srcdir)/bin/mktemp"
-	@ln -sf @GNU_install@ "$(abs_srcdir)/bin/install"
-	@ln -sf @GNU_stat@ "$(abs_srcdir)/bin/stat"
 	@ln -sf @GNU_mknod@ "$(abs_srcdir)/bin/mknod"
-	@ln -sf @GNU_tty@ "$(abs_srcdir)/bin/tty"
-	@ln -sf @GNU_tar@ "$(abs_srcdir)/bin/tar"
-	@ln -sf @GNU_find@ "$(abs_srcdir)/bin/find"
-	@ln -sf @PTXDIST_FILE@ "$(abs_srcdir)/bin/file"
-	@ln -sf @GNU_cat@ "$(abs_srcdir)/bin/cat"
-	@ln -sf @GNU_dirname@ "$(abs_srcdir)/bin/dirname"
+	@ln -sf @GNU_mktemp@ "$(abs_srcdir)/bin/mktemp"
+	@ln -sf @GNU_mv@ "$(abs_srcdir)/bin/mv"
 	@ln -sf @GNU_readlink@ "$(abs_srcdir)/bin/readlink"
+	@ln -sf @GNU_rm@ "$(abs_srcdir)/bin/rm"
+	@ln -sf @GNU_rmdir@ "$(abs_srcdir)/bin/rmdir"
 	@ln -sf @GNU_sort@ "$(abs_srcdir)/bin/sort"
+	@ln -sf @GNU_stat@ "$(abs_srcdir)/bin/stat"
+	@ln -sf @GNU_tar@ "$(abs_srcdir)/bin/tar"
+	@ln -sf @GNU_tty@ "$(abs_srcdir)/bin/tty"
+	@ln -sf @GNU_xargs@ "$(abs_srcdir)/bin/xargs"
+	@ln -sf @MAKE@ "$(abs_srcdir)/bin/make"
 	@ln -sf @PYTHON@ "$(abs_srcdir)/bin/python"
 	@ln -sf @SED@ "$(abs_srcdir)/bin/sed"
-	@ln -sf @GNU_xargs@ "$(abs_srcdir)/bin/xargs"
-	@ln -sf @BASH@  "$(abs_srcdir)/bin/bash"
 	@ln -sf @SYSCTL@ "$(abs_srcdir)/bin/sysctl"
-	@ln -sf @MAKE@ "$(abs_srcdir)/bin/make"
 	@if [ @SPHINX@ != "sphinx-build" ]; then \
 		ln -sf @SPHINX@ "$(abs_srcdir)/bin/sphinx-build"; \
 	fi
-- 
2.20.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-08-22 10:42 [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file Roland Hieber
  2019-08-22 10:42 ` [ptxdist] [RFC 2/4] Makefile.in: sort environment tools alphabetically Roland Hieber
@ 2019-08-22 10:42 ` Roland Hieber
  2019-08-22 10:53   ` Roland Hieber
                     ` (2 more replies)
  2019-08-22 10:42 ` [ptxdist] [RFC 4/4] ptxdist: add a 'lint' subcommand Roland Hieber
  2019-08-22 11:44 ` [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file Robert Schwebel
  3 siblings, 3 replies; 16+ messages in thread
From: Roland Hieber @ 2019-08-22 10:42 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

A recurring task for package version bumps is to make sure the
respective patch stacks are ported too. Add functionality to find
forgotten patch stacks.

We do that by first going through all available packages and getting
their respective <PKG> variables. Then we list all available patch
directories and take only the last path component. We compare both of
those lists to find out which patch directories are not referenced by
any package, i.e. print the lines that were part of the second list
but not of the first list.

This adds additional coreutils dependencies for comm and uniq.

Unfortunately, printing all those make variables is quite slow. On my
current BSP it takes approximately

-  2.7 seconds for ptxd_make /print-PACKAGES etc…
- 37.1 seconds for ptxd_make /print-PTX_MAP_TO_PACKAGE_cross-nasm etc…
- 37.4 seconds for ptxd_make /print-GLIB /print-KEYUTILS /print-IPTABLES etc…
-  0.5 seconds for listing all existing patch dirs
- 0.01 seconds to compare both lists

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 Makefile.in           |  2 ++
 configure.ac          |  2 ++
 scripts/libptxdist.sh | 50 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 54 insertions(+)

diff --git a/Makefile.in b/Makefile.in
index d337b9ec552b..bc8bc98e2492 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -48,6 +48,7 @@ environment:
 	@ln -sf @GNU_cat@ "$(abs_srcdir)/bin/cat"
 	@ln -sf @GNU_chmod@ "$(abs_srcdir)/bin/chmod"
 	@ln -sf @GNU_chown@ "$(abs_srcdir)/bin/chown"
+	@ln -sf @GNU_comm@ "$(abs_srcdir)/bin/comm"
 	@ln -sf @GNU_cp@ "$(abs_srcdir)/bin/cp"
 	@ln -sf @GNU_dirname@ "$(abs_srcdir)/bin/dirname"
 	@ln -sf @PTXDIST_FILE@ "$(abs_srcdir)/bin/file"
@@ -66,6 +67,7 @@ environment:
 	@ln -sf @GNU_stat@ "$(abs_srcdir)/bin/stat"
 	@ln -sf @GNU_tar@ "$(abs_srcdir)/bin/tar"
 	@ln -sf @GNU_tty@ "$(abs_srcdir)/bin/tty"
+	@ln -sf @GNU_uniq@ "$(abs_srcdir)/bin/uniq"
 	@ln -sf @GNU_xargs@ "$(abs_srcdir)/bin/xargs"
 	@ln -sf @MAKE@ "$(abs_srcdir)/bin/make"
 	@ln -sf @PYTHON@ "$(abs_srcdir)/bin/python"
diff --git a/configure.ac b/configure.ac
index 0549c38da7ba..cb3552ac8ea0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -182,6 +182,7 @@ AC_DEFUN([GNU_TOOL],
 GNU_TOOL(cat, coreutils)
 GNU_TOOL(chmod, coreutils)
 GNU_TOOL(chown, coreutils)
+GNU_TOOL(comm, coreutils)
 GNU_TOOL(cp, coreutils)
 GNU_TOOL(dirname, coreutils)
 GNU_TOOL(install, coreutils)
@@ -198,6 +199,7 @@ GNU_TOOL(sort, coreutils)
 GNU_TOOL(stat, coreutils)
 GNU_TOOL(touch, coreutils)
 GNU_TOOL(tty, coreutils)
+GNU_TOOL(uniq, coreutils)
 GNU_TOOL(tar, tar)
 GNU_TOOL(find, findutils)
 GNU_TOOL(xargs, findutils)
diff --git a/scripts/libptxdist.sh b/scripts/libptxdist.sh
index 8c6fbc073f64..d93f61f56e97 100644
--- a/scripts/libptxdist.sh
+++ b/scripts/libptxdist.sh
@@ -927,3 +927,53 @@ ptxd_ipkg_rev_smaller() {
 
 	ptxd_error "packets $1 and $2 have the same revision"
 }
+
+#
+#
+ptxd_find_old_patchdirs() {
+
+	local pkgslistfile=${PTXDIST_TEMPDIR}/check_old_patchdirs_pkgs
+	local patchdirfile=${PTXDIST_TEMPDIR}/check_old_patchdirs_dirs
+	local print_PKGS=""
+	local print_pkgs=""
+	local i
+
+	# get content of all existing <PKG> make variables
+	local pkgvars="/print-PACKAGES /print-EXTRA_PACKAGES /print-LAZY_PACKAGES"
+	for i in $(ptxd_make -k \
+		/print-PACKAGES /print-EXTRA_PACKAGES /print-LAZY_PACKAGES \
+		/print-HOST_PACKAGES /print-CROSS_PACKAGES  \
+		/print-PACKAGES- /print-EXTRA_PACKAGES- /print-LAZY_PACKAGES- \
+		/print-HOST_PACKAGES- /print-CROSS_PACKAGES-  \
+		); do
+		print_PKGS="/print-PTX_MAP_TO_PACKAGE_${i} ${print_PKGS}"
+	done
+	for i in $(ptxd_make -k ${print_PKGS}); do
+		print_pkgs="/print-${i} ${print_pkgs}"
+	done
+	ptxd_make -k ${print_pkgs} | tr ' \t' '\n' | sort | uniq | grep -v '^$' > ${pkgslistfile}
+
+	# get list of existing patch dirs
+	echo > ${patchdirfile}
+	ptxd_in_path PTXDIST_PATH_PATCHES '*'
+	echo "${ptxd_reply[@]}" | tr ' \t' '\n' | while read dir; do
+		echo $(basename ${dir})
+	done | sort | uniq | grep -v '^$\|^autogen.sh$' > ${patchdirfile}
+
+	# get list of dirs for which no package exists
+	comm --nocheck-order -13 ${pkgslistfile} ${patchdirfile} | while read dir; do
+		ptxd_in_path PTXDIST_PATH_PATCHES ${dir}
+		ptxd_print_path ${ptxd_reply}
+	done | while read line; do
+		# annotate packages that are built specially or their version
+		# depends on enabling kconfig entries
+		case i in
+			*alsa-lib*|*at91bootstrap*|*barebox*)
+				echo "${line} (possible false positive)"
+				;;
+			*)
+				echo ${line}
+				;;
+		esac
+	done
+}
-- 
2.20.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [ptxdist] [RFC 4/4] ptxdist: add a 'lint' subcommand
  2019-08-22 10:42 [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file Roland Hieber
  2019-08-22 10:42 ` [ptxdist] [RFC 2/4] Makefile.in: sort environment tools alphabetically Roland Hieber
  2019-08-22 10:42 ` [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories Roland Hieber
@ 2019-08-22 10:42 ` Roland Hieber
  2019-08-22 11:44 ` [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file Robert Schwebel
  3 siblings, 0 replies; 16+ messages in thread
From: Roland Hieber @ 2019-08-22 10:42 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

Currently it only prints the list of unreferenced patch directories, but
the functionality could be expanded to other linting tasks as well.

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 bin/ptxdist | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/bin/ptxdist b/bin/ptxdist
index d7bf4d5ffc5d..e9ecbf1cc3cf 100755
--- a/bin/ptxdist
+++ b/bin/ptxdist
@@ -1774,6 +1774,22 @@ do_images()
 	ptxd_make_log images
 }
 
+
+
+#
+#
+#
+do_lint() {
+	local title;
+
+	check_premake_compiler &&
+	title="Unreferenced patch directories:\n" &&
+	ptxd_find_old_patchdirs | while read line; do
+		echo -e "${title}  - ${line}"
+		title=""
+	done
+}
+
 ##################################################################
 ################ normal option parser ############################
 ##################################################################
@@ -2011,6 +2027,10 @@ EOF
 			ptxd_make_log "${images[@]}"
 			exit
 			;;
+		lint)
+			do_lint
+			exit
+			;;
 		list-packages)
 			check_config &&
 			check_deps || return
-- 
2.20.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-08-22 10:42 ` [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories Roland Hieber
@ 2019-08-22 10:53   ` Roland Hieber
  2019-08-22 12:43   ` Uwe Kleine-König
  2019-08-22 15:38   ` Michael Olbrich
  2 siblings, 0 replies; 16+ messages in thread
From: Roland Hieber @ 2019-08-22 10:53 UTC (permalink / raw)
  To: ptxdist

On Thu, Aug 22, 2019 at 12:42:40PM +0200, Roland Hieber wrote:
> A recurring task for package version bumps is to make sure the
> respective patch stacks are ported too. Add functionality to find
> forgotten patch stacks.
> 
> We do that by first going through all available packages and getting
> their respective <PKG> variables. Then we list all available patch
> directories and take only the last path component. We compare both of
> those lists to find out which patch directories are not referenced by
> any package, i.e. print the lines that were part of the second list
> but not of the first list.
> 
> This adds additional coreutils dependencies for comm and uniq.
> 
> Unfortunately, printing all those make variables is quite slow. On my
> current BSP it takes approximately
> 
> -  2.7 seconds for ptxd_make /print-PACKAGES etc…
> - 37.1 seconds for ptxd_make /print-PTX_MAP_TO_PACKAGE_cross-nasm etc…
> - 37.4 seconds for ptxd_make /print-GLIB /print-KEYUTILS /print-IPTABLES etc…
> -  0.5 seconds for listing all existing patch dirs
> - 0.01 seconds to compare both lists
> 
> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> ---
>  Makefile.in           |  2 ++
>  configure.ac          |  2 ++
>  scripts/libptxdist.sh | 50 +++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 54 insertions(+)
> 
> diff --git a/Makefile.in b/Makefile.in
> index d337b9ec552b..bc8bc98e2492 100644
> --- a/Makefile.in
> +++ b/Makefile.in
> @@ -48,6 +48,7 @@ environment:
>  	@ln -sf @GNU_cat@ "$(abs_srcdir)/bin/cat"
>  	@ln -sf @GNU_chmod@ "$(abs_srcdir)/bin/chmod"
>  	@ln -sf @GNU_chown@ "$(abs_srcdir)/bin/chown"
> +	@ln -sf @GNU_comm@ "$(abs_srcdir)/bin/comm"
>  	@ln -sf @GNU_cp@ "$(abs_srcdir)/bin/cp"
>  	@ln -sf @GNU_dirname@ "$(abs_srcdir)/bin/dirname"
>  	@ln -sf @PTXDIST_FILE@ "$(abs_srcdir)/bin/file"
> @@ -66,6 +67,7 @@ environment:
>  	@ln -sf @GNU_stat@ "$(abs_srcdir)/bin/stat"
>  	@ln -sf @GNU_tar@ "$(abs_srcdir)/bin/tar"
>  	@ln -sf @GNU_tty@ "$(abs_srcdir)/bin/tty"
> +	@ln -sf @GNU_uniq@ "$(abs_srcdir)/bin/uniq"
>  	@ln -sf @GNU_xargs@ "$(abs_srcdir)/bin/xargs"
>  	@ln -sf @MAKE@ "$(abs_srcdir)/bin/make"
>  	@ln -sf @PYTHON@ "$(abs_srcdir)/bin/python"
> diff --git a/configure.ac b/configure.ac
> index 0549c38da7ba..cb3552ac8ea0 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -182,6 +182,7 @@ AC_DEFUN([GNU_TOOL],
>  GNU_TOOL(cat, coreutils)
>  GNU_TOOL(chmod, coreutils)
>  GNU_TOOL(chown, coreutils)
> +GNU_TOOL(comm, coreutils)
>  GNU_TOOL(cp, coreutils)
>  GNU_TOOL(dirname, coreutils)
>  GNU_TOOL(install, coreutils)
> @@ -198,6 +199,7 @@ GNU_TOOL(sort, coreutils)
>  GNU_TOOL(stat, coreutils)
>  GNU_TOOL(touch, coreutils)
>  GNU_TOOL(tty, coreutils)
> +GNU_TOOL(uniq, coreutils)
>  GNU_TOOL(tar, tar)
>  GNU_TOOL(find, findutils)
>  GNU_TOOL(xargs, findutils)
> diff --git a/scripts/libptxdist.sh b/scripts/libptxdist.sh
> index 8c6fbc073f64..d93f61f56e97 100644
> --- a/scripts/libptxdist.sh
> +++ b/scripts/libptxdist.sh
> @@ -927,3 +927,53 @@ ptxd_ipkg_rev_smaller() {
>  
>  	ptxd_error "packets $1 and $2 have the same revision"
>  }
> +
> +#
> +#
> +ptxd_find_old_patchdirs() {
> +
> +	local pkgslistfile=${PTXDIST_TEMPDIR}/check_old_patchdirs_pkgs
> +	local patchdirfile=${PTXDIST_TEMPDIR}/check_old_patchdirs_dirs
> +	local print_PKGS=""
> +	local print_pkgs=""
> +	local i
> +
> +	# get content of all existing <PKG> make variables
> +	local pkgvars="/print-PACKAGES /print-EXTRA_PACKAGES /print-LAZY_PACKAGES"
> +	for i in $(ptxd_make -k \
> +		/print-PACKAGES /print-EXTRA_PACKAGES /print-LAZY_PACKAGES \
> +		/print-HOST_PACKAGES /print-CROSS_PACKAGES  \
> +		/print-PACKAGES- /print-EXTRA_PACKAGES- /print-LAZY_PACKAGES- \
> +		/print-HOST_PACKAGES- /print-CROSS_PACKAGES-  \
> +		); do
> +		print_PKGS="/print-PTX_MAP_TO_PACKAGE_${i} ${print_PKGS}"
> +	done
> +	for i in $(ptxd_make -k ${print_PKGS}); do
> +		print_pkgs="/print-${i} ${print_pkgs}"
> +	done
> +	ptxd_make -k ${print_pkgs} | tr ' \t' '\n' | sort | uniq | grep -v '^$' > ${pkgslistfile}
> +
> +	# get list of existing patch dirs
> +	echo > ${patchdirfile}
> +	ptxd_in_path PTXDIST_PATH_PATCHES '*'
> +	echo "${ptxd_reply[@]}" | tr ' \t' '\n' | while read dir; do
> +		echo $(basename ${dir})
> +	done | sort | uniq | grep -v '^$\|^autogen.sh$' > ${patchdirfile}
> +
> +	# get list of dirs for which no package exists
> +	comm --nocheck-order -13 ${pkgslistfile} ${patchdirfile} | while read dir; do
> +		ptxd_in_path PTXDIST_PATH_PATCHES ${dir}
> +		ptxd_print_path ${ptxd_reply}
> +	done | while read line; do
> +		# annotate packages that are built specially or their version
> +		# depends on enabling kconfig entries
> +		case i in
> +			*alsa-lib*|*at91bootstrap*|*barebox*)

Better:

                case ${line} in
                        */alsa-lib-*|*/Bootstrap-v*|*/barebox-*|*/npmbox-*)

but probably got the point across :-)

 - Roland

> +				echo "${line} (possible false positive)"
> +				;;
> +			*)
> +				echo ${line}
> +				;;
> +		esac
> +	done
> +}
> -- 
> 2.20.1
> 
> 

-- 
Roland Hieber                     | r.hieber@pengutronix.de     |
Pengutronix e.K.                  | https://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 |
Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file
  2019-08-22 10:42 [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file Roland Hieber
                   ` (2 preceding siblings ...)
  2019-08-22 10:42 ` [ptxdist] [RFC 4/4] ptxdist: add a 'lint' subcommand Roland Hieber
@ 2019-08-22 11:44 ` Robert Schwebel
  3 siblings, 0 replies; 16+ messages in thread
From: Robert Schwebel @ 2019-08-22 11:44 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

On Thu, Aug 22, 2019 at 12:42:38PM +0200, Roland Hieber wrote:
> Cc: Robert Schwebel <r.schwebel@pengutronix.de>
> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> ---
>  patches/HEADER | 11 -----------
>  1 file changed, 11 deletions(-)
>  delete mode 100644 patches/HEADER

Acked-by: Robert Schwebel <r.schwebel@pengutronix.de>

rsc
-- 
Pengutronix e.K.                           | Dipl.-Ing. Robert Schwebel  |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-08-22 10:42 ` [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories Roland Hieber
  2019-08-22 10:53   ` Roland Hieber
@ 2019-08-22 12:43   ` Uwe Kleine-König
  2019-08-22 15:38   ` Michael Olbrich
  2 siblings, 0 replies; 16+ messages in thread
From: Uwe Kleine-König @ 2019-08-22 12:43 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

$Subject ~= s/source/patch/ ?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-08-22 10:42 ` [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories Roland Hieber
  2019-08-22 10:53   ` Roland Hieber
  2019-08-22 12:43   ` Uwe Kleine-König
@ 2019-08-22 15:38   ` Michael Olbrich
  2019-08-23  8:33     ` Roland Hieber
  2 siblings, 1 reply; 16+ messages in thread
From: Michael Olbrich @ 2019-08-22 15:38 UTC (permalink / raw)
  To: ptxdist

On Thu, Aug 22, 2019 at 12:42:40PM +0200, Roland Hieber wrote:
> A recurring task for package version bumps is to make sure the
> respective patch stacks are ported too. Add functionality to find
> forgotten patch stacks.
> 
> We do that by first going through all available packages and getting
> their respective <PKG> variables. Then we list all available patch
> directories and take only the last path component. We compare both of
> those lists to find out which patch directories are not referenced by
> any package, i.e. print the lines that were part of the second list
> but not of the first list.
> 
> This adds additional coreutils dependencies for comm and uniq.
> 
> Unfortunately, printing all those make variables is quite slow. On my
> current BSP it takes approximately
> 
> -  2.7 seconds for ptxd_make /print-PACKAGES etc…
> - 37.1 seconds for ptxd_make /print-PTX_MAP_TO_PACKAGE_cross-nasm etc…
> - 37.4 seconds for ptxd_make /print-GLIB /print-KEYUTILS /print-IPTABLES etc…
> -  0.5 seconds for listing all existing patch dirs
> - 0.01 seconds to compare both lists
> 
> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> ---
>  Makefile.in           |  2 ++
>  configure.ac          |  2 ++
>  scripts/libptxdist.sh | 50 +++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 54 insertions(+)
> 
> diff --git a/Makefile.in b/Makefile.in
> index d337b9ec552b..bc8bc98e2492 100644
> --- a/Makefile.in
> +++ b/Makefile.in
> @@ -48,6 +48,7 @@ environment:
>  	@ln -sf @GNU_cat@ "$(abs_srcdir)/bin/cat"
>  	@ln -sf @GNU_chmod@ "$(abs_srcdir)/bin/chmod"
>  	@ln -sf @GNU_chown@ "$(abs_srcdir)/bin/chown"
> +	@ln -sf @GNU_comm@ "$(abs_srcdir)/bin/comm"
>  	@ln -sf @GNU_cp@ "$(abs_srcdir)/bin/cp"
>  	@ln -sf @GNU_dirname@ "$(abs_srcdir)/bin/dirname"
>  	@ln -sf @PTXDIST_FILE@ "$(abs_srcdir)/bin/file"
> @@ -66,6 +67,7 @@ environment:
>  	@ln -sf @GNU_stat@ "$(abs_srcdir)/bin/stat"
>  	@ln -sf @GNU_tar@ "$(abs_srcdir)/bin/tar"
>  	@ln -sf @GNU_tty@ "$(abs_srcdir)/bin/tty"
> +	@ln -sf @GNU_uniq@ "$(abs_srcdir)/bin/uniq"
>  	@ln -sf @GNU_xargs@ "$(abs_srcdir)/bin/xargs"
>  	@ln -sf @MAKE@ "$(abs_srcdir)/bin/make"
>  	@ln -sf @PYTHON@ "$(abs_srcdir)/bin/python"
> diff --git a/configure.ac b/configure.ac
> index 0549c38da7ba..cb3552ac8ea0 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -182,6 +182,7 @@ AC_DEFUN([GNU_TOOL],
>  GNU_TOOL(cat, coreutils)
>  GNU_TOOL(chmod, coreutils)
>  GNU_TOOL(chown, coreutils)
> +GNU_TOOL(comm, coreutils)
>  GNU_TOOL(cp, coreutils)
>  GNU_TOOL(dirname, coreutils)
>  GNU_TOOL(install, coreutils)
> @@ -198,6 +199,7 @@ GNU_TOOL(sort, coreutils)
>  GNU_TOOL(stat, coreutils)
>  GNU_TOOL(touch, coreutils)
>  GNU_TOOL(tty, coreutils)
> +GNU_TOOL(uniq, coreutils)
>  GNU_TOOL(tar, tar)
>  GNU_TOOL(find, findutils)
>  GNU_TOOL(xargs, findutils)
> diff --git a/scripts/libptxdist.sh b/scripts/libptxdist.sh
> index 8c6fbc073f64..d93f61f56e97 100644
> --- a/scripts/libptxdist.sh
> +++ b/scripts/libptxdist.sh
> @@ -927,3 +927,53 @@ ptxd_ipkg_rev_smaller() {
>  
>  	ptxd_error "packets $1 and $2 have the same revision"
>  }
> +
> +#
> +#
> +ptxd_find_old_patchdirs() {
> +
> +	local pkgslistfile=${PTXDIST_TEMPDIR}/check_old_patchdirs_pkgs
> +	local patchdirfile=${PTXDIST_TEMPDIR}/check_old_patchdirs_dirs
> +	local print_PKGS=""
> +	local print_pkgs=""
> +	local i
> +
> +	# get content of all existing <PKG> make variables
> +	local pkgvars="/print-PACKAGES /print-EXTRA_PACKAGES /print-LAZY_PACKAGES"

unused?

> +	for i in $(ptxd_make -k \
> +		/print-PACKAGES /print-EXTRA_PACKAGES /print-LAZY_PACKAGES \
> +		/print-HOST_PACKAGES /print-CROSS_PACKAGES  \
> +		/print-PACKAGES- /print-EXTRA_PACKAGES- /print-LAZY_PACKAGES- \
> +		/print-HOST_PACKAGES- /print-CROSS_PACKAGES-  \
> +		); do
> +		print_PKGS="/print-PTX_MAP_TO_PACKAGE_${i} ${print_PKGS}"
> +	done
> +	for i in $(ptxd_make -k ${print_PKGS}); do
> +		print_pkgs="/print-${i} ${print_pkgs}"
> +	done
> +	ptxd_make -k ${print_pkgs} | tr ' \t' '\n' | sort | uniq | grep -v '^$' > ${pkgslistfile}

You can change the make code as well. Add this next to the print stuff:

# like /print-% but expand twice
/printnext-%: FORCE
	@:$(foreach v,$(or $(filter $(*),$(.VARIABLES)),$(if $(filter k,$(MAKEFLAGS)),$(*),$(error $(*) undefined))),\
		$(info $(if $(filter 1,$(PTXDIST_VERBOSE)),$($(v))=)$($($(v)))))

Then you can just do:

	ptxd_make -k /printnext-PTX_MAP_TO_PACKAGE_% | sort | uniq | grep -v '^$' > ${pkgslistfile}

That should be a lot faster.

> +
> +	# get list of existing patch dirs
> +	echo > ${patchdirfile}
> +	ptxd_in_path PTXDIST_PATH_PATCHES '*'

	ptxd_in_path PTXDIST_PATH_PATCHES '*/'

Then you can skip filtering out autogen.sh, I think.

> +	echo "${ptxd_reply[@]}" | tr ' \t' '\n' | while read dir; do

for dir in "${ptxd_reply[@]}"; do

> +		echo $(basename ${dir})
> +	done | sort | uniq | grep -v '^$\|^autogen.sh$' > ${patchdirfile}

There should be no empty lines.

> +
> +	# get list of dirs for which no package exists
> +	comm --nocheck-order -13 ${pkgslistfile} ${patchdirfile} | while read dir; do
> +		ptxd_in_path PTXDIST_PATH_PATCHES ${dir}
> +		ptxd_print_path ${ptxd_reply}
> +	done | while read line; do
> +		# annotate packages that are built specially or their version
> +		# depends on enabling kconfig entries
> +		case i in
> +			*alsa-lib*|*at91bootstrap*|*barebox*)

I think we can 'fix' the alsa-lib false positives.
And maybe we should just remove the at91bootstrap patches, they are really
old anyways.
But why barebox? There should be no old patches, right?

> +				echo "${line} (possible false positive)"
> +				;;
> +			*)
> +				echo ${line}

I'd like to get a non-zero return value when at least one issue was found.

Michael

> +				;;
> +		esac
> +	done
> +}
> -- 
> 2.20.1
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-08-22 15:38   ` Michael Olbrich
@ 2019-08-23  8:33     ` Roland Hieber
  2019-08-23  9:01       ` Alexander Dahl
  0 siblings, 1 reply; 16+ messages in thread
From: Roland Hieber @ 2019-08-23  8:33 UTC (permalink / raw)
  To: ptxdist

On Thu, Aug 22, 2019 at 05:38:19PM +0200, Michael Olbrich wrote:
> On Thu, Aug 22, 2019 at 12:42:40PM +0200, Roland Hieber wrote:
> > A recurring task for package version bumps is to make sure the
> > respective patch stacks are ported too. Add functionality to find
> > forgotten patch stacks.
> > 
> > We do that by first going through all available packages and getting
> > their respective <PKG> variables. Then we list all available patch
> > directories and take only the last path component. We compare both of
> > those lists to find out which patch directories are not referenced by
> > any package, i.e. print the lines that were part of the second list
> > but not of the first list.
> > 
> > This adds additional coreutils dependencies for comm and uniq.
> > 
> > Unfortunately, printing all those make variables is quite slow. On my
> > current BSP it takes approximately
> > 
> > -  2.7 seconds for ptxd_make /print-PACKAGES etc…
> > - 37.1 seconds for ptxd_make /print-PTX_MAP_TO_PACKAGE_cross-nasm etc…
> > - 37.4 seconds for ptxd_make /print-GLIB /print-KEYUTILS /print-IPTABLES etc…
> > -  0.5 seconds for listing all existing patch dirs
> > - 0.01 seconds to compare both lists
> > 
> > Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> > ---
> >  Makefile.in           |  2 ++
> >  configure.ac          |  2 ++
> >  scripts/libptxdist.sh | 50 +++++++++++++++++++++++++++++++++++++++++++
> >  3 files changed, 54 insertions(+)
> > 
> > diff --git a/Makefile.in b/Makefile.in
> > index d337b9ec552b..bc8bc98e2492 100644
> > --- a/Makefile.in
> > +++ b/Makefile.in
> > @@ -48,6 +48,7 @@ environment:
> >  	@ln -sf @GNU_cat@ "$(abs_srcdir)/bin/cat"
> >  	@ln -sf @GNU_chmod@ "$(abs_srcdir)/bin/chmod"
> >  	@ln -sf @GNU_chown@ "$(abs_srcdir)/bin/chown"
> > +	@ln -sf @GNU_comm@ "$(abs_srcdir)/bin/comm"
> >  	@ln -sf @GNU_cp@ "$(abs_srcdir)/bin/cp"
> >  	@ln -sf @GNU_dirname@ "$(abs_srcdir)/bin/dirname"
> >  	@ln -sf @PTXDIST_FILE@ "$(abs_srcdir)/bin/file"
> > @@ -66,6 +67,7 @@ environment:
> >  	@ln -sf @GNU_stat@ "$(abs_srcdir)/bin/stat"
> >  	@ln -sf @GNU_tar@ "$(abs_srcdir)/bin/tar"
> >  	@ln -sf @GNU_tty@ "$(abs_srcdir)/bin/tty"
> > +	@ln -sf @GNU_uniq@ "$(abs_srcdir)/bin/uniq"
> >  	@ln -sf @GNU_xargs@ "$(abs_srcdir)/bin/xargs"
> >  	@ln -sf @MAKE@ "$(abs_srcdir)/bin/make"
> >  	@ln -sf @PYTHON@ "$(abs_srcdir)/bin/python"
> > diff --git a/configure.ac b/configure.ac
> > index 0549c38da7ba..cb3552ac8ea0 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -182,6 +182,7 @@ AC_DEFUN([GNU_TOOL],
> >  GNU_TOOL(cat, coreutils)
> >  GNU_TOOL(chmod, coreutils)
> >  GNU_TOOL(chown, coreutils)
> > +GNU_TOOL(comm, coreutils)
> >  GNU_TOOL(cp, coreutils)
> >  GNU_TOOL(dirname, coreutils)
> >  GNU_TOOL(install, coreutils)
> > @@ -198,6 +199,7 @@ GNU_TOOL(sort, coreutils)
> >  GNU_TOOL(stat, coreutils)
> >  GNU_TOOL(touch, coreutils)
> >  GNU_TOOL(tty, coreutils)
> > +GNU_TOOL(uniq, coreutils)
> >  GNU_TOOL(tar, tar)
> >  GNU_TOOL(find, findutils)
> >  GNU_TOOL(xargs, findutils)
> > diff --git a/scripts/libptxdist.sh b/scripts/libptxdist.sh
> > index 8c6fbc073f64..d93f61f56e97 100644
> > --- a/scripts/libptxdist.sh
> > +++ b/scripts/libptxdist.sh
> > @@ -927,3 +927,53 @@ ptxd_ipkg_rev_smaller() {
> >  
> >  	ptxd_error "packets $1 and $2 have the same revision"
> >  }
> > +
> > +#
> > +#
> > +ptxd_find_old_patchdirs() {
> > +
> > +	local pkgslistfile=${PTXDIST_TEMPDIR}/check_old_patchdirs_pkgs
> > +	local patchdirfile=${PTXDIST_TEMPDIR}/check_old_patchdirs_dirs
> > +	local print_PKGS=""
> > +	local print_pkgs=""
> > +	local i
> > +
> > +	# get content of all existing <PKG> make variables
> > +	local pkgvars="/print-PACKAGES /print-EXTRA_PACKAGES /print-LAZY_PACKAGES"
> 
> unused?
> 
> > +	for i in $(ptxd_make -k \
> > +		/print-PACKAGES /print-EXTRA_PACKAGES /print-LAZY_PACKAGES \
> > +		/print-HOST_PACKAGES /print-CROSS_PACKAGES  \
> > +		/print-PACKAGES- /print-EXTRA_PACKAGES- /print-LAZY_PACKAGES- \
> > +		/print-HOST_PACKAGES- /print-CROSS_PACKAGES-  \
> > +		); do
> > +		print_PKGS="/print-PTX_MAP_TO_PACKAGE_${i} ${print_PKGS}"
> > +	done
> > +	for i in $(ptxd_make -k ${print_PKGS}); do
> > +		print_pkgs="/print-${i} ${print_pkgs}"
> > +	done
> > +	ptxd_make -k ${print_pkgs} | tr ' \t' '\n' | sort | uniq | grep -v '^$' > ${pkgslistfile}
> 
> You can change the make code as well. Add this next to the print stuff:
> 
> # like /print-% but expand twice
> /printnext-%: FORCE
> 	@:$(foreach v,$(or $(filter $(*),$(.VARIABLES)),$(if $(filter k,$(MAKEFLAGS)),$(*),$(error $(*) undefined))),\
> 		$(info $(if $(filter 1,$(PTXDIST_VERBOSE)),$($(v))=)$($($(v)))))
> 
> Then you can just do:
> 
> 	ptxd_make -k /printnext-PTX_MAP_TO_PACKAGE_% | sort | uniq | grep -v '^$' > ${pkgslistfile}
> 
> That should be a lot faster.
> 
> > +
> > +	# get list of existing patch dirs
> > +	echo > ${patchdirfile}
> > +	ptxd_in_path PTXDIST_PATH_PATCHES '*'
> 
> 	ptxd_in_path PTXDIST_PATH_PATCHES '*/'
> 
> Then you can skip filtering out autogen.sh, I think.
> 
> > +	echo "${ptxd_reply[@]}" | tr ' \t' '\n' | while read dir; do
> 
> for dir in "${ptxd_reply[@]}"; do
> 
> > +		echo $(basename ${dir})
> > +	done | sort | uniq | grep -v '^$\|^autogen.sh$' > ${patchdirfile}
> 
> There should be no empty lines.
> 
> > +
> > +	# get list of dirs for which no package exists
> > +	comm --nocheck-order -13 ${pkgslistfile} ${patchdirfile} | while read dir; do
> > +		ptxd_in_path PTXDIST_PATH_PATCHES ${dir}
> > +		ptxd_print_path ${ptxd_reply}
> > +	done | while read line; do
> > +		# annotate packages that are built specially or their version
> > +		# depends on enabling kconfig entries
> > +		case i in
> > +			*alsa-lib*|*at91bootstrap*|*barebox*)
> 
> I think we can 'fix' the alsa-lib false positives.
> And maybe we should just remove the at91bootstrap patches, they are really
> old anyways.
> But why barebox? There should be no old patches, right?

Ah, yes. I was thinking at91bootstrap can be disabled, so the version
number is empty, and the same can be said for barebox too. But the only
location where Barebox patches occur is at the BSP level, and I guess
it doesn't happen that someone switches from barebox to at91bootstrap
with patches lying around locally.

> 
> > +				echo "${line} (possible false positive)"
> > +				;;
> > +			*)
> > +				echo ${line}
> 
> I'd like to get a non-zero return value when at least one issue was found.

All the other comments make sense for me to, I'll address them in v2.

 - Roland

> 
> Michael
> 
> > +				;;
> > +		esac
> > +	done
> > +}
> > -- 
> > 2.20.1
> > 
> > 
> > _______________________________________________
> > ptxdist mailing list
> > ptxdist@pengutronix.de
> 
> -- 
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Roland Hieber                     | r.hieber@pengutronix.de     |
Pengutronix e.K.                  | https://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 |
Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-08-23  8:33     ` Roland Hieber
@ 2019-08-23  9:01       ` Alexander Dahl
  2019-09-04 13:05         ` Michael Olbrich
  0 siblings, 1 reply; 16+ messages in thread
From: Alexander Dahl @ 2019-08-23  9:01 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

Hei hei,

Am Freitag, 23. August 2019, 10:33:42 CEST schrieb Roland Hieber:
> On Thu, Aug 22, 2019 at 05:38:19PM +0200, Michael Olbrich wrote:
> > On Thu, Aug 22, 2019 at 12:42:40PM +0200, Roland Hieber wrote:
> > > +
> > > +	# get list of dirs for which no package exists
> > > +	comm --nocheck-order -13 ${pkgslistfile} ${patchdirfile} | while 
read
> > > dir; do +		ptxd_in_path PTXDIST_PATH_PATCHES ${dir}
> > > +		ptxd_print_path ${ptxd_reply}
> > > +	done | while read line; do
> > > +		# annotate packages that are built specially or their version
> > > +		# depends on enabling kconfig entries
> > > +		case i in
> > > +			*alsa-lib*|*at91bootstrap*|*barebox*)
> > 
> > I think we can 'fix' the alsa-lib false positives.
> > And maybe we should just remove the at91bootstrap patches, they are really
> > old anyways.
> > But why barebox? There should be no old patches, right?
> 
> Ah, yes. I was thinking at91bootstrap can be disabled, so the version
> number is empty, and the same can be said for barebox too. But the only
> location where Barebox patches occur is at the BSP level, and I guess
> it doesn't happen that someone switches from barebox to at91bootstrap
> with patches lying around locally.

FWIW, we are still using different versions of at91bootstrap in different 
BSPs. The legacy version (at91bootstrap) has patches in the directory 
'patches/Bootstrap-v1.16' and the current version (at91bootstrap2) has them in 
'patches/at91bootstrap-3.8.13'.

If one or the other package needs fixes, let me know.

Greets
Alex


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-08-23  9:01       ` Alexander Dahl
@ 2019-09-04 13:05         ` Michael Olbrich
  2019-09-04 13:16           ` Alexander Dahl
  0 siblings, 1 reply; 16+ messages in thread
From: Michael Olbrich @ 2019-09-04 13:05 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: ptxdist

On Fri, Aug 23, 2019 at 11:01:58AM +0200, Alexander Dahl wrote:
> Hei hei,
> 
> Am Freitag, 23. August 2019, 10:33:42 CEST schrieb Roland Hieber:
> > On Thu, Aug 22, 2019 at 05:38:19PM +0200, Michael Olbrich wrote:
> > > On Thu, Aug 22, 2019 at 12:42:40PM +0200, Roland Hieber wrote:
> > > > +
> > > > +	# get list of dirs for which no package exists
> > > > +	comm --nocheck-order -13 ${pkgslistfile} ${patchdirfile} | while 
> read
> > > > dir; do +		ptxd_in_path PTXDIST_PATH_PATCHES ${dir}
> > > > +		ptxd_print_path ${ptxd_reply}
> > > > +	done | while read line; do
> > > > +		# annotate packages that are built specially or their version
> > > > +		# depends on enabling kconfig entries
> > > > +		case i in
> > > > +			*alsa-lib*|*at91bootstrap*|*barebox*)
> > > 
> > > I think we can 'fix' the alsa-lib false positives.
> > > And maybe we should just remove the at91bootstrap patches, they are really
> > > old anyways.
> > > But why barebox? There should be no old patches, right?
> > 
> > Ah, yes. I was thinking at91bootstrap can be disabled, so the version
> > number is empty, and the same can be said for barebox too. But the only
> > location where Barebox patches occur is at the BSP level, and I guess
> > it doesn't happen that someone switches from barebox to at91bootstrap
> > with patches lying around locally.
> 
> FWIW, we are still using different versions of at91bootstrap in different 
> BSPs. The legacy version (at91bootstrap) has patches in the directory 
> 'patches/Bootstrap-v1.16' and the current version (at91bootstrap2) has them in 
> 'patches/at91bootstrap-3.8.13'.
> 
> If one or the other package needs fixes, let me know.

PTXdist upstream has patches for 'at91bootstrap'. Do you use those, or do
you have your own patch stack in your BSP?

I'd like to remove the patches from PTXdist. It's the only packages that
has a configurable version and patches for one specific version upstream.

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-09-04 13:05         ` Michael Olbrich
@ 2019-09-04 13:16           ` Alexander Dahl
  2019-09-09  6:23             ` Michael Olbrich
  0 siblings, 1 reply; 16+ messages in thread
From: Alexander Dahl @ 2019-09-04 13:16 UTC (permalink / raw)
  To: ptxdist; +Cc: Michael Olbrich

Hello Michael,

Am Mittwoch, 4. September 2019, 15:05:04 CEST schrieb Michael Olbrich:
> On Fri, Aug 23, 2019 at 11:01:58AM +0200, Alexander Dahl wrote:
> > FWIW, we are still using different versions of at91bootstrap in different
> > BSPs. The legacy version (at91bootstrap) has patches in the directory
> > 'patches/Bootstrap-v1.16' and the current version (at91bootstrap2) has
> > them in 'patches/at91bootstrap-3.8.13'.
> > 
> > If one or the other package needs fixes, let me know.
> 
> PTXdist upstream has patches for 'at91bootstrap'. Do you use those, or do
> you have your own patch stack in your BSP?
> 
> I'd like to remove the patches from PTXdist. It's the only packages that
> has a configurable version and patches for one specific version upstream.

We have our own patches anyway. 

And even if not, it would also be no problem to add them to our BSP, if 
ptxdist won't ship those anymore.

Greets
Alex


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-09-04 13:16           ` Alexander Dahl
@ 2019-09-09  6:23             ` Michael Olbrich
  2019-09-09  7:46               ` Alexander Dahl
  0 siblings, 1 reply; 16+ messages in thread
From: Michael Olbrich @ 2019-09-09  6:23 UTC (permalink / raw)
  To: Alexander Dahl, Ladislav Michl; +Cc: ptxdist

On Wed, Sep 04, 2019 at 03:16:51PM +0200, Alexander Dahl wrote:
> Am Mittwoch, 4. September 2019, 15:05:04 CEST schrieb Michael Olbrich:
> > On Fri, Aug 23, 2019 at 11:01:58AM +0200, Alexander Dahl wrote:
> > > FWIW, we are still using different versions of at91bootstrap in different
> > > BSPs. The legacy version (at91bootstrap) has patches in the directory
> > > 'patches/Bootstrap-v1.16' and the current version (at91bootstrap2) has
> > > them in 'patches/at91bootstrap-3.8.13'.
> > > 
> > > If one or the other package needs fixes, let me know.
> > 
> > PTXdist upstream has patches for 'at91bootstrap'. Do you use those, or do
> > you have your own patch stack in your BSP?
> > 
> > I'd like to remove the patches from PTXdist. It's the only packages that
> > has a configurable version and patches for one specific version upstream.
> 
> We have our own patches anyway. 
> 
> And even if not, it would also be no problem to add them to our BSP, if 
> ptxdist won't ship those anymore.

Hmm, so I noticed that I actually run build tests for this. And I'd
probably loose those if I drop the patches...

So another Idea: From what I understand, Upstream for this is dead, so
there will be no new version, right? Can I assume, that nowadays only
version 1.16 is used?
In that case I could just remove the version options and keep the patches.
That way all my scripts are happy and it's still covered in my build tests.

Alex, would that make sense to you?

Ladis, you submitted the last patch for this. Is this still relevant for
you? What do you think?

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-09-09  6:23             ` Michael Olbrich
@ 2019-09-09  7:46               ` Alexander Dahl
  2019-09-09 20:33                 ` Ladislav Michl
  0 siblings, 1 reply; 16+ messages in thread
From: Alexander Dahl @ 2019-09-09  7:46 UTC (permalink / raw)
  To: Michael Olbrich; +Cc: ptxdist

Hei hei,

Am Montag, 9. September 2019, 08:23:00 CEST schrieb Michael Olbrich:
> On Wed, Sep 04, 2019 at 03:16:51PM +0200, Alexander Dahl wrote:
> > Am Mittwoch, 4. September 2019, 15:05:04 CEST schrieb Michael Olbrich:
> > > On Fri, Aug 23, 2019 at 11:01:58AM +0200, Alexander Dahl wrote:
> > > > FWIW, we are still using different versions of at91bootstrap in
> > > > different
> > > > BSPs. The legacy version (at91bootstrap) has patches in the directory
> > > > 'patches/Bootstrap-v1.16' and the current version (at91bootstrap2) has
> > > > them in 'patches/at91bootstrap-3.8.13'.
> > > > 
> > > > If one or the other package needs fixes, let me know.
> > > 
> > > PTXdist upstream has patches for 'at91bootstrap'. Do you use those, or
> > > do
> > > you have your own patch stack in your BSP?
> > > 
> > > I'd like to remove the patches from PTXdist. It's the only packages that
> > > has a configurable version and patches for one specific version
> > > upstream.
> > 
> > We have our own patches anyway.
> > 
> > And even if not, it would also be no problem to add them to our BSP, if
> > ptxdist won't ship those anymore.
> 
> Hmm, so I noticed that I actually run build tests for this. And I'd
> probably loose those if I drop the patches...
> 
> So another Idea: From what I understand, Upstream for this is dead, so
> there will be no new version, right? Can I assume, that nowadays only
> version 1.16 is used?

This is at91bootstrap version 1, from my point of view upstream focus is now 
on version 3 only (the ptxdist package is called 'at91bootstrap2'). You choose 
one or the other depending on your SoC/board, AFAIK there are only very few 
boards supported by both, if any.

And: you can avoid at91bootstrap at all and use the SPL variant of U-Boot or 
barebox instead for this stage of the bootloaders. (We never tried that.)

> In that case I could just remove the version options and keep the patches.
> That way all my scripts are happy and it's still covered in my build tests.
> 
> Alex, would that make sense to you?

If you just want to pin the version to v1.16, I'm fine with that.

> Ladis, you submitted the last patch for this. Is this still relevant for
> you? What do you think?
> 
> Michael

Greets
Alex


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-09-09  7:46               ` Alexander Dahl
@ 2019-09-09 20:33                 ` Ladislav Michl
  2019-09-10  8:13                   ` Michael Olbrich
  0 siblings, 1 reply; 16+ messages in thread
From: Ladislav Michl @ 2019-09-09 20:33 UTC (permalink / raw)
  To: Alexander Dahl, Michael Olbrich; +Cc: ptxdist

Hi,

On Mon, Sep 09, 2019 at 09:46:30AM +0200, Alexander Dahl wrote:
> Hei hei,
> 
> Am Montag, 9. September 2019, 08:23:00 CEST schrieb Michael Olbrich:
> > On Wed, Sep 04, 2019 at 03:16:51PM +0200, Alexander Dahl wrote:
> > > Am Mittwoch, 4. September 2019, 15:05:04 CEST schrieb Michael Olbrich:
> > > > On Fri, Aug 23, 2019 at 11:01:58AM +0200, Alexander Dahl wrote:
> > > > > FWIW, we are still using different versions of at91bootstrap in
> > > > > different
> > > > > BSPs. The legacy version (at91bootstrap) has patches in the directory
> > > > > 'patches/Bootstrap-v1.16' and the current version (at91bootstrap2) has
> > > > > them in 'patches/at91bootstrap-3.8.13'.
> > > > > 
> > > > > If one or the other package needs fixes, let me know.
> > > > 
> > > > PTXdist upstream has patches for 'at91bootstrap'. Do you use those, or
> > > > do
> > > > you have your own patch stack in your BSP?
> > > > 
> > > > I'd like to remove the patches from PTXdist. It's the only packages that
> > > > has a configurable version and patches for one specific version
> > > > upstream.
> > > 
> > > We have our own patches anyway.
> > > 
> > > And even if not, it would also be no problem to add them to our BSP, if
> > > ptxdist won't ship those anymore.
> > 
> > Hmm, so I noticed that I actually run build tests for this. And I'd
> > probably loose those if I drop the patches...

Yes, some of those patches are needed just to keep at91bootstrap build using
newer toolchains.

> > So another Idea: From what I understand, Upstream for this is dead, so
> > there will be no new version, right? Can I assume, that nowadays only
> > version 1.16 is used?
> 
> This is at91bootstrap version 1, from my point of view upstream focus is now 
> on version 3 only (the ptxdist package is called 'at91bootstrap2'). You choose 
> one or the other depending on your SoC/board, AFAIK there are only very few 
> boards supported by both, if any.
> 
> And: you can avoid at91bootstrap at all and use the SPL variant of U-Boot or 
> barebox instead for this stage of the bootloaders. (We never tried that.)

Same here. Even new products based on sam9g20 are using at91bootstrap, just
because it works well and noone ever bothered to use anything else.

> > In that case I could just remove the version options and keep the patches.
> > That way all my scripts are happy and it's still covered in my build tests.
> > 
> > Alex, would that make sense to you?
> 
> If you just want to pin the version to v1.16, I'm fine with that.

Again, same here.

> > Ladis, you submitted the last patch for this. Is this still relevant for
> > you? What do you think?

I do not really care either way. Even if you remove package completely I can
always keep local copy inside BSP. Or even better give barebox SPL try some
rainy autumn day ;-)

> > Michael
> 
> Greets
> Alex

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories
  2019-09-09 20:33                 ` Ladislav Michl
@ 2019-09-10  8:13                   ` Michael Olbrich
  0 siblings, 0 replies; 16+ messages in thread
From: Michael Olbrich @ 2019-09-10  8:13 UTC (permalink / raw)
  To: Ladislav Michl; +Cc: Alexander Dahl, ptxdist

On Mon, Sep 09, 2019 at 10:33:33PM +0200, Ladislav Michl wrote:
> On Mon, Sep 09, 2019 at 09:46:30AM +0200, Alexander Dahl wrote:
> > Am Montag, 9. September 2019, 08:23:00 CEST schrieb Michael Olbrich:
> > > On Wed, Sep 04, 2019 at 03:16:51PM +0200, Alexander Dahl wrote:
> > > > Am Mittwoch, 4. September 2019, 15:05:04 CEST schrieb Michael Olbrich:
> > > > > On Fri, Aug 23, 2019 at 11:01:58AM +0200, Alexander Dahl wrote:
> > > > > > FWIW, we are still using different versions of at91bootstrap in
> > > > > > different
> > > > > > BSPs. The legacy version (at91bootstrap) has patches in the directory
> > > > > > 'patches/Bootstrap-v1.16' and the current version (at91bootstrap2) has
> > > > > > them in 'patches/at91bootstrap-3.8.13'.
> > > > > > 
> > > > > > If one or the other package needs fixes, let me know.
> > > > > 
> > > > > PTXdist upstream has patches for 'at91bootstrap'. Do you use those, or
> > > > > do
> > > > > you have your own patch stack in your BSP?
> > > > > 
> > > > > I'd like to remove the patches from PTXdist. It's the only packages that
> > > > > has a configurable version and patches for one specific version
> > > > > upstream.
> > > > 
> > > > We have our own patches anyway.
> > > > 
> > > > And even if not, it would also be no problem to add them to our BSP, if
> > > > ptxdist won't ship those anymore.
> > > 
> > > Hmm, so I noticed that I actually run build tests for this. And I'd
> > > probably loose those if I drop the patches...
> 
> Yes, some of those patches are needed just to keep at91bootstrap build using
> newer toolchains.
> 
> > > So another Idea: From what I understand, Upstream for this is dead, so
> > > there will be no new version, right? Can I assume, that nowadays only
> > > version 1.16 is used?
> > 
> > This is at91bootstrap version 1, from my point of view upstream focus is now 
> > on version 3 only (the ptxdist package is called 'at91bootstrap2'). You choose 
> > one or the other depending on your SoC/board, AFAIK there are only very few 
> > boards supported by both, if any.
> > 
> > And: you can avoid at91bootstrap at all and use the SPL variant of U-Boot or 
> > barebox instead for this stage of the bootloaders. (We never tried that.)
> 
> Same here. Even new products based on sam9g20 are using at91bootstrap, just
> because it works well and noone ever bothered to use anything else.
> 
> > > In that case I could just remove the version options and keep the patches.
> > > That way all my scripts are happy and it's still covered in my build tests.
> > > 
> > > Alex, would that make sense to you?
> > 
> > If you just want to pin the version to v1.16, I'm fine with that.
> 
> Again, same here.

Great, I think I'll just drop the version selection.
Thanks for the feedback.

> > > Ladis, you submitted the last patch for this. Is this still relevant for
> > > you? What do you think?
> 
> I do not really care either way. Even if you remove package completely I can
> always keep local copy inside BSP. Or even better give barebox SPL try some
> rainy autumn day ;-)

Barebox is of course the best Bootloader ;-)

Regards,
Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-09-10  8:13 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-22 10:42 [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file Roland Hieber
2019-08-22 10:42 ` [ptxdist] [RFC 2/4] Makefile.in: sort environment tools alphabetically Roland Hieber
2019-08-22 10:42 ` [ptxdist] [RFC 3/4] libptxdist: add a function to find unreferenced source directories Roland Hieber
2019-08-22 10:53   ` Roland Hieber
2019-08-22 12:43   ` Uwe Kleine-König
2019-08-22 15:38   ` Michael Olbrich
2019-08-23  8:33     ` Roland Hieber
2019-08-23  9:01       ` Alexander Dahl
2019-09-04 13:05         ` Michael Olbrich
2019-09-04 13:16           ` Alexander Dahl
2019-09-09  6:23             ` Michael Olbrich
2019-09-09  7:46               ` Alexander Dahl
2019-09-09 20:33                 ` Ladislav Michl
2019-09-10  8:13                   ` Michael Olbrich
2019-08-22 10:42 ` [ptxdist] [RFC 4/4] ptxdist: add a 'lint' subcommand Roland Hieber
2019-08-22 11:44 ` [ptxdist] [RFC 1/4] patches/HEADER: remove apparently outdated and unreferenced file Robert Schwebel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox