Re: [OS-BUILD PATCH 0/3] Add clang config framework

2023-09-28 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1582704141

Agreed, I tried to make sure nothing changed for users.  This is just an
internal thing.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH 3/3] Add clang config framework

2023-09-26 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add clang config framework

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework (which uses
priority files) to setup clang to be easier to update their configs.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  The priority.snip can handle the
variety of partial snippets for variants and arches well, the
kernel.spec needed to be updated to apply it reasonably.

I created a generic partial snippet loop that focuses on arch and
non-debug vs debug.  This required adding debug options to
priority.snip.  Once implemented it is a matter of collecting the
snippets and applying them based on arch and debug.  This should provide
a variety of flexibility for teams like clang and make it easier to roll
in config changes based on which compiler is used.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+CONFIG_KASAN_STACK=y
diff --git a/redhat/configs/common/clang/debug/CONFIG_KMSAN 
b/redhat/configs/common/clang/debug/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+# CONFIG_KASAN_STACK is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KMSAN 
b/redhat/configs/common/clang/generic/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang_lto/debug/README 
b/redhat/configs/common/clang_lto/debug/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/debug/README
diff --git a/redhat/configs/common/clang_lto/generic/README 
b/redhat/configs/common/clang_lto/generic/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/README
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/priority.snip b/redhat/configs/priority.snip
index blahblah..blahblah 100644
--- a/redhat/configs/priority.snip
+++ b/redhat/configs/priority.snip
@@ -10,3 +10,12 @@ EMPTY=
 
 # gcov options
 kgcov=kgcov
+kgcov-debug=kgcov
+
+# clang options
+clang=clang-generic
+clang-debug=clang-debug
+clang_lto-x86_64=clang-generic:clang_lto-generic:clang_lto-generic-x86
+clang_lto-x86_64-debug=clang-debug:clang_lto-debug
+clang_lto-aarch64=clang-generic:clang_lto-generic:clang_lto-generic-arm
+clang_lto-aarch64-debug=clang-debug:clang_lto-debug
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -908,7 +908,14 @@ Source65: filter-s390x.sh.fedora
 Source66: filter-modules.sh.fedora
 %endif
 
-Source75: partial-kgcov-snip.config
+Source70: partial-kgcov-snip.config
+Source71: partial-kgcov-debug-snip.config
+Source72: partial-clang-snip.config
+Source73: partial-clang-debug-snip.config
+Source74: partial-clang_lto-x86_64-snip.config
+Source75: partial-clang_lto-x86_64-debug-snip.config
+Source76: partial-clang_lto-aarch64-snip.config
+Source77

Re: [OS-BUILD PATCH 0/3] Add clang config framework

2023-09-26 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1579247973

@tales-aparecida pushed fix.  thanks!
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH 0/3] Add clang config framework

2023-09-26 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework to setup
clang to be easier to update their configs.

This framework is designed to blindly merge.py with any configs fed to
it.  This is unlike the build_configs framework where it uses
priority.rhel|fedora rules to merge things.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  For non-lto clang, due to clang
bugs it is easy to disable the debug features and get away with this.
But once resolved we will have to reinvestigate.  For lto clang, I just
hack out the debug and kgcov config files due to clashing Kconfig depend
rules.

I don't expect this to be a long term solution.  Perhaps when our config
rework is fully realized this just melts away.  TBD.

Signed-off-by: Don Zickus 

---
 redhat/configs/common/clang/debug/CONFIG_KASAN_STACK  |   1 +
 redhat/configs/common/clang/debug/CONFIG_KMSAN|   1 +
 redhat/configs/common/clang/generic/CONFIG_KASAN_STACK|   1 +
 redhat/configs/common/clang/generic/CONFIG_KMSAN  |   1 +
 redhat/configs/common/clang_lto/debug/README  |   0 
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/README|   0 
 redhat/configs/priority.fedora|   4 -
 redhat/configs/priority.rhel  |   4 -
 redhat/configs/priority.snip  |   9 +
 redhat/kernel.spec.template   |  77 
++---
 14 files changed, 70 insertions(+), 32 deletions(-)
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH 2/3] Apply partial snippet configs to all configs

2023-09-26 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Apply partial snippet configs to all configs

There is a macro all_arch_configs that tries to optimize what configs we
apply the partial snippets to.  While it speeds up things up a bit, it
creates conflicts with CLANG options.  The process_configs.sh script
still processes _all_ the arches and expects the CLANG options to be set
correctly.

I can either add in an arch specific option to process_configs.sh to
only process the configs the correct CLANG snippet was applied to _or_
just apply the snippets to _all_ the configs.

The latter is easier so that is what this change does.  The cost is an
extra second to apply the snippets to more config files.

Signed-off-by: Don Zickus 

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -469,6 +469,8 @@ Summary: The Linux kernel
 %endif
 %endif
 
+%define all_arch_configs %{name}-%{specrpmversion}-*.config
+
 # don't build noarch kernels or headers (duh)
 %ifarch noarch
 %define with_up 0
@@ -480,7 +482,6 @@ Summary: The Linux kernel
 %define with_bpftool 0
 %define with_selftests 0
 %define with_debug 0
-%define all_arch_configs %{name}-%{specrpmversion}-*.config
 %endif
 
 # sparse blows up on ppc
@@ -509,13 +510,11 @@ Summary: The Linux kernel
 %ifarch i686
 %define asmarch x86
 %define hdrarch i386
-%define all_arch_configs %{name}-%{specrpmversion}-i?86*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
 %ifarch x86_64
 %define asmarch x86
-%define all_arch_configs %{name}-%{specrpmversion}-x86_64*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
@@ -526,19 +525,16 @@ Summary: The Linux kernel
 %define kernel_image vmlinux
 %define kernel_image_elf 1
 %define use_vdso 0
-%define all_arch_configs %{name}-%{specrpmversion}-ppc64le*.config
 %endif
 
 %ifarch s390x
 %define asmarch s390
 %define hdrarch s390
-%define all_arch_configs %{name}-%{specrpmversion}-s390x.config
 %define kernel_image arch/s390/boot/bzImage
 %define vmlinux_decompressor arch/s390/boot/vmlinux
 %endif
 
 %ifarch aarch64
-%define all_arch_configs %{name}-%{specrpmversion}-aarch64*.config
 %define asmarch arm64
 %define hdrarch arm64
 %define make_target vmlinuz.efi

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH 1/3] Remove unpackaged kgcov config files

2023-09-26 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Remove unpackaged kgcov config files

The kgcov option is applied as a partial snippet in the spec file.  The
generated kernel-*-kgcov.config are not packaged and therefore unused.

My motivation here is because they conflict with the CLANG options when
I overlay the CLANG options on the gcov config file.  Instead of special
casing them, let's just drop them.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/priority.fedora b/redhat/configs/priority.fedora
index blahblah..blahblah 100644
--- a/redhat/configs/priority.fedora
+++ b/redhat/configs/priority.fedora
@@ -22,21 +22,17 @@ EMPTY=s390x-zfcpdump
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-16k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k
 
aarch64-16k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k:debug:debug-arm-aarch64:debug-arm-aarch64-16k
diff --git a/redhat/configs/priority.rhel b/redhat/configs/priority.rhel
index blahblah..blahblah 100644
--- a/redhat/configs/priority.rhel
+++ b/redhat/configs/priority.rhel
@@ -21,25 +21,21 @@ ORDER=common rhel pending-rhel custom-overrides
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 x86_64-rt=generic:generic-x86:rt-generic:rt-generic-x86
 
x86_64-rt-debug=generic:generic-x86:debug:debug-x86:rt-generic:rt-generic-x86:rt-debug:rt-debug-x86
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
 s390x-zfcpdump=generic:generic-s390x:generic-s390x-zfcpdump
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 
aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-64k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k
 
aarch64-64k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k:debug:debug-arm-aarch64:debug-arm-aarch64-64k
 
aarch64-rt=generic:generic-arm:generic-arm-aarch64:rt-generic:rt-generic-arm:rt-generic-arm-aarch64

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv2 1/2] Add target_branch for gen_config_patches.sh

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add target_branch for gen_config_patches.sh

To support new config updates in other brances besides os-build, we need
to be more flexible with the staging branch.  Currently new configs get
added to configs/$date/.  This won't work when new branches
like os-build-rt-devel and os-build-automotive-devel get implemented as
they will have duplicate entries here and cause script problems.  Add a
$branch name into the configs path to create separation.

configs/$date/  -->
configs/$target_branch/$date/

This is not expected to impact anything else.

Signed-off-by: Don Zickus 

diff --git a/redhat/scripts/ci/ark-update-configs.sh 
b/redhat/scripts/ci/ark-update-configs.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/ci/ark-update-configs.sh
+++ b/redhat/scripts/ci/ark-update-configs.sh
@@ -73,7 +73,7 @@ new_head="$(git rev-parse HEAD)"
 [ "$old_head" != "$new_head" ] && CONFIGS_ADDED="1" || CONFIGS_ADDED=""
 
 if test "$CONFIGS_ADDED"; then
-   ./redhat/scripts/genspec/gen_config_patches.sh
+   ./redhat/scripts/genspec/gen_config_patches.sh "${BRANCH}"
 PUSH_VERB="Pushing"
 else
printf "No new configuration values exposed from merging %s into 
$BRANCH\n" "$UPSTREAM_REF"
@@ -84,7 +84,7 @@ echo
 PUSH_STR="branch ${BRANCH} to ${GITLAB_PROJECT_URL}"
 PUSH_CMD="git push gitlab ${BRANCH}"
 PUSH_CONFIG_STR="config update branches"
-PUSH_CONFIG_CMD="for branch in \$(git branch | grep configs/\"\$(date +%F)\"); 
do
+PUSH_CONFIG_CMD="for branch in \$(git branch | grep 
configs/${BRANCH}/\"\$(date +%F)\"); do
git push \\
-o merge_request.create \\
-o merge_request.target=\"$BRANCH\" \\
diff --git a/redhat/scripts/genspec/gen_config_patches.sh 
b/redhat/scripts/genspec/gen_config_patches.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/genspec/gen_config_patches.sh
+++ b/redhat/scripts/genspec/gen_config_patches.sh
@@ -8,6 +8,10 @@
 # information for the relevant maintainers using get_maintainers.pl. This
 # requires that you have $RHMAINTAINERS pointing to a valid maintainer file.
 
+target_branch=$1
+prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+git checkout "$target_branch"
+
 if ! git show -s --oneline HEAD | grep -q "AUTOMATIC: New configs"; then
echo "The git HEAD doesn't look like the correct commit"
exit 1
@@ -116,12 +120,14 @@ for f in "$config_bundles_dir"/*; do
rm redhat/configs/pending-rhel/generic/"$line"
done < "$f"
# We do a separate branch per config commit
-   if ! git checkout -b "configs/$(date +%F)/$_f"; then
-   printf "Unable to check out configs/%s/%s branch!\n" "$(date 
+%F)" "$_f"
+   if ! git checkout -b "configs/$target_branch/$(date +%F)/$_f"; then
+   printf "Unable to check out configs/%s/%s/%s branch!\n" 
"$target_branch" "$(date +%F)" "$_f"
exit 1
fi
# One file path is done, time to commit!
git add redhat/configs
git commit -s -F "$tmpdir"/commit
-   git checkout os-build
+   git checkout "$target_branch"
 done
+
+git checkout "$prev_branch"

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2732
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv2 0/2] Add new os-build targets: rt-devel and automotive-devel

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2732

This is an attempt to automate the rt and automotive devel branches
using the upstream linux-rt-devel tree as the base combined with
os-build.

The overall process isn't too complicated but there are enough steps to
make it compilicated.

Steps:
* map upstream linux-rt-devel to master-rt branch
* update os-build
* grab linux version from master-rt and os-build
* if version the same then merge os-build and master-rt to
  os-build-rt-automated
* else merge linux-stable and master-rt to os-build-rt-automated until
  master-rt is update to os-build
* merge os-build-rt-automated into os-build-rt-devel
* merge os-build-rt-automated into os-build-automotive-devel
* run the generate pending-rhel config scripts on rt-devel and
  automotive-devel

The script has beginning logic to handle rebasing if necessary when the
rt-devel branch transitions from linux-stable to linux master again.

The script has no effect on the day-to-day operations of os-build.  They
are designed to be run from a gitlab cron job and update in the
background.  Once they are deemed stable, adding ARK MRs that target
either os-build-rt-devel or os-build-automotive-devel will be possible
and those branches can start proper parallel developement with os-build.

Signed-off-by: Don Zickus 

---
 redhat/scripts/ci/ark-ci-env.sh  |  150 +++
 redhat/scripts/ci/ark-merge-rt.sh|   96 +
 redhat/scripts/ci/ark-update-configs.sh  |4 +-
 redhat/scripts/genspec/gen_config_patches.sh |   12 +-
 4 files changed, 257 insertions(+), 5 deletions(-)
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv2 2/2] Add new os-build targets: rt-devel and automotive-devel

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add new os-build targets: rt-devel and automotive-devel

This is an attempt to automate the rt and automotive devel branches
using the upstream linux-rt-devel tree as the base combined with
os-build.

The overall process isn't too complicated but there are enough steps to
make it compilicated.

Steps:
* map upstream linux-rt-devel to master-rt branch
* update os-build
* grab linux version from master-rt and os-build
* if version the same then merge os-build and master-rt to
  os-build-rt-automated
* else merge linux-stable and master-rt to os-build-rt-automated until
  master-rt is update to os-build
* merge os-build-rt-automated into os-build-rt-devel
* merge os-build-rt-automated into os-build-automotive-devel
* run the generate pending-rhel config scripts on rt-devel and
  automotive-devel

The script has beginning logic to handle rebasing if necessary when the
rt-devel branch transitions from linux-stable to linux master again.

The script has no effect on the day-to-day operations of os-build.  They
are designed to be run from a gitlab cron job and update in the
background.  Once they are deemed stable, adding ARK MRs that target
either os-build-rt-devel or os-build-automotive-devel will be possible
and those branches can start proper parallel developement with os-build.

Signed-off-by: Don Zickus 

diff --git a/redhat/scripts/ci/ark-ci-env.sh b/redhat/scripts/ci/ark-ci-env.sh
index blahblah..blahblah 100644
--- a/redhat/scripts/ci/ark-ci-env.sh
+++ b/redhat/scripts/ci/ark-ci-env.sh
@@ -19,6 +19,156 @@ ci_pre_check()
 git diff-index --quiet HEAD || die "Dirty tree, please clean before 
merging."
 }
 
+# GitLab can only mirror one project at a time.  This wrapper function does
+# the mirroring for any other branches.
+ark_git_mirror()
+{
+   target_branch=$1
+   upstream_tree=$2
+   source_branch=$3
+   reset_branch=$4
+
+   prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+   remote_branch="$upstream_tree/$source_branch"
+   git checkout "$target_branch"
+   git fetch "$upstream_tree" "$source_branch"
+   if test -z "$reset_branch"; then
+   git merge "$remote_branch" || die "git merge $remote_branch 
failed"
+   else
+   git reset --hard "$remote_branch" || die "git reset 
$remote_branch failed"
+   fi
+   git checkout "$prev_branch"
+}
+
+# Merge wrapper in case issues arise
+ark_git_merge()
+{
+   source_branch=$1
+   target_branch=$2
+   reset_branch=$3
+
+   prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+   git checkout "${target_branch}"
+   if test -n "$reset_branch"; then
+   # there are cases when the initial merge is a reset
+   git reset --hard "$source_branch"  || die "git reset 
$source_branch failed"
+   elif ! git merge -m "Merge '$source_branch' into '$target_branch'" 
"$source_branch"; then
+   git merge --abort
+   printf "Merge conflict; halting!\n"
+   printf "To reproduce:\n"
+   printf "* git checkout %s\n" "${target_branch}"
+   printf "* git merge %s\n" "${source_branch}"
+   die "Merge conflicts"
+   fi
+
+   git checkout "$prev_branch"
+   return 0
+}
+
+ark_git_rebase()
+{
+   branch=$1
+   upstream=$2
+   base=$3
+
+   prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+   git checkout "${branch}"
+   if ! git rebase --onto "$base" "$upstream"; then
+   git rebase --abort
+   printf "Rebase conflict; halting!\n"
+   printf "To reproduce:\n"
+   printf "* git checkout %s\n" "${branch}"
+   printf "* git rebase --onto %s %s\n" "${base}" "${upstream}"
+   die "Rebase conflicts"
+   fi
+   git checkout "$prev_branch"
+   return 0
+}
+
+ark_update_configs()
+{
+   branch=$1
+   skip_configs=$2
+
+   prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+   git checkout "${branch}"
+
+   # Generates and commits all the pending configs
+   make -j FLAVOR=fedora dist-configs-commit
+   # Skip executing gen_config_patches.sh for new Fedora configs
+
+   old_head="$(git rev-parse HEAD)"
+   make -j FLAVOR=rhel dist-configs-commit
+   new_head="$(git rev-parse HEAD)"
+
+
+   # Converts each new pending config from above into its finalized git
+   # configs// branch.  These commits are used for Merge
+   # Requests.
+   [ "$old_head" != "$new_head&qu

[OS-BUILD PATCHv4 2/3] Apply partial snippet configs to all configs

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Apply partial snippet configs to all configs

There is a macro all_arch_configs that tries to optimize what configs we
apply the partial snippets to.  While it speeds up things up a bit, it
creates conflicts with CLANG options.  The process_configs.sh script
still processes _all_ the arches and expects the CLANG options to be set
correctly.

I can either add in an arch specific option to process_configs.sh to
only process the configs the correct CLANG snippet was applied to _or_
just apply the snippets to _all_ the configs.

The latter is easier so that is what this change does.  The cost is an
extra second to apply the snippets to more config files.

Signed-off-by: Don Zickus 

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -470,6 +470,8 @@ Summary: The Linux kernel
 %endif
 %endif
 
+%define all_configs %{name}-%{specrpmversion}-*.config
+
 # don't build noarch kernels or headers (duh)
 %ifarch noarch
 %define with_up 0
@@ -481,7 +483,6 @@ Summary: The Linux kernel
 %define with_bpftool 0
 %define with_selftests 0
 %define with_debug 0
-%define all_arch_configs %{name}-%{specrpmversion}-*.config
 %endif
 
 # sparse blows up on ppc
@@ -510,13 +511,11 @@ Summary: The Linux kernel
 %ifarch i686
 %define asmarch x86
 %define hdrarch i386
-%define all_arch_configs %{name}-%{specrpmversion}-i?86*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
 %ifarch x86_64
 %define asmarch x86
-%define all_arch_configs %{name}-%{specrpmversion}-x86_64*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
@@ -527,19 +526,16 @@ Summary: The Linux kernel
 %define kernel_image vmlinux
 %define kernel_image_elf 1
 %define use_vdso 0
-%define all_arch_configs %{name}-%{specrpmversion}-ppc64le*.config
 %endif
 
 %ifarch s390x
 %define asmarch s390
 %define hdrarch s390
-%define all_arch_configs %{name}-%{specrpmversion}-s390x.config
 %define kernel_image arch/s390/boot/bzImage
 %define vmlinux_decompressor arch/s390/boot/vmlinux
 %endif
 
 %ifarch aarch64
-%define all_arch_configs %{name}-%{specrpmversion}-aarch64*.config
 %define asmarch arm64
 %define hdrarch arm64
 %define make_target vmlinuz.efi
@@ -1774,7 +1770,7 @@ FLAVOR=%{primary_target} SPECPACKAGE_NAME=%{name} 
SPECVERSION=%{specversion} SPE
 
 # Merge in any user-provided local config option changes
 %ifnarch %nobuildarches
-for i in %{all_arch_configs}
+for i in %{all_configs}
 do
   mv $i $i.tmp
   ./merge.py %{SOURCE3001} $i.tmp > $i

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv4 3/3] Add clang config framework

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add clang config framework

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework (which uses
priority files) to setup clang to be easier to update their configs.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  The priority.snip can handle the
variety of partial snippets for variants and arches well, the
kernel.spec needed to be updated to apply it reasonably.

I created a generic partial snippet loop that focuses on arch and
non-debug vs debug.  This required adding debug options to
priority.snip.  Once implemented it is a matter of collecting the
snippets and applying them based on arch and debug.  This should provide
a variety of flexibility for teams like clang and make it easier to roll
in config changes based on which compiler is used.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+CONFIG_KASAN_STACK=y
diff --git a/redhat/configs/common/clang/debug/CONFIG_KMSAN 
b/redhat/configs/common/clang/debug/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+# CONFIG_KASAN_STACK is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KMSAN 
b/redhat/configs/common/clang/generic/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang_lto/debug/README 
b/redhat/configs/common/clang_lto/debug/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/debug/README
diff --git a/redhat/configs/common/clang_lto/generic/README 
b/redhat/configs/common/clang_lto/generic/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/README
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/priority.snip b/redhat/configs/priority.snip
index blahblah..blahblah 100644
--- a/redhat/configs/priority.snip
+++ b/redhat/configs/priority.snip
@@ -10,3 +10,12 @@ EMPTY=
 
 # gcov options
 kgcov=kgcov
+kgcov-debug=kgcov
+
+# clang options
+clang=clang-generic
+clang-debug=clang-debug
+clang_lto-x86_64=clang-generic:clang_lto-generic:clang_lto-generic-x86
+clang_lto-x86_64-debug=clang-debug:clang_lto-debug
+clang_lto-aarch64=clang-generic:clang_lto-generic:clang_lto-generic-arm
+clang_lto-aarch64-debug=clang-debug:clang_lto-debug
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -908,7 +908,14 @@ Source65: filter-s390x.sh.fedora
 Source66: filter-modules.sh.fedora
 %endif
 
-Source75: partial-kgcov-snip.config
+Source70: partial-kgcov-snip.config
+Source71: partial-kgcov-debug-snip.config
+Source72: partial-clang-snip.config
+Source73: partial-clang-debug-snip.config
+Source74: partial-clang_lto-x86_64-snip.config
+Source75: partial-clang_lto-x86_64-debug-snip.config
+Source76: partial-clang_lto-aarch64-snip.config
+Source77

[OS-BUILD PATCHv4 0/3] Add clang config framework

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework to setup
clang to be easier to update their configs.

This framework is designed to blindly merge.py with any configs fed to
it.  This is unlike the build_configs framework where it uses
priority.rhel|fedora rules to merge things.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  For non-lto clang, due to clang
bugs it is easy to disable the debug features and get away with this.
But once resolved we will have to reinvestigate.  For lto clang, I just
hack out the debug and kgcov config files due to clashing Kconfig depend
rules.

I don't expect this to be a long term solution.  Perhaps when our config
rework is fully realized this just melts away.  TBD.

Signed-off-by: Don Zickus 

---
 redhat/configs/common/clang/debug/CONFIG_KASAN_STACK  |   1 +
 redhat/configs/common/clang/debug/CONFIG_KMSAN|   1 +
 redhat/configs/common/clang/generic/CONFIG_KASAN_STACK|   1 +
 redhat/configs/common/clang/generic/CONFIG_KMSAN  |   1 +
 redhat/configs/common/clang_lto/debug/README  |   0 
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/README|   0 
 redhat/configs/priority.fedora|   4 -
 redhat/configs/priority.rhel  |   4 -
 redhat/configs/priority.snip  |   9 +
 redhat/kernel.spec.template   |  78 
++---
 14 files changed, 71 insertions(+), 32 deletions(-)
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv4 1/3] Remove unpackaged kgcov config files

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Remove unpackaged kgcov config files

The kgcov option is applied as a partial snippet in the spec file.  The
generated kernel-*-kgcov.config are not packaged and therefore unused.

My motivation here is because they conflict with the CLANG options when
I overlay the CLANG options on the gcov config file.  Instead of special
casing them, let's just drop them.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/priority.fedora b/redhat/configs/priority.fedora
index blahblah..blahblah 100644
--- a/redhat/configs/priority.fedora
+++ b/redhat/configs/priority.fedora
@@ -22,21 +22,17 @@ EMPTY=s390x-zfcpdump
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-16k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k
 
aarch64-16k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k:debug:debug-arm-aarch64:debug-arm-aarch64-16k
diff --git a/redhat/configs/priority.rhel b/redhat/configs/priority.rhel
index blahblah..blahblah 100644
--- a/redhat/configs/priority.rhel
+++ b/redhat/configs/priority.rhel
@@ -21,25 +21,21 @@ ORDER=common rhel pending-rhel custom-overrides
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 x86_64-rt=generic:generic-x86:rt-generic:rt-generic-x86
 
x86_64-rt-debug=generic:generic-x86:debug:debug-x86:rt-generic:rt-generic-x86:rt-debug:rt-debug-x86
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
 s390x-zfcpdump=generic:generic-s390x:generic-s390x-zfcpdump
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 
aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-64k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k
 
aarch64-64k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k:debug:debug-arm-aarch64:debug-arm-aarch64-64k
 
aarch64-rt=generic:generic-arm:generic-arm-aarch64:rt-generic:rt-generic-arm:rt-generic-arm-aarch64

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv4 0/3] Add clang config framework

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1590158249

rebased to latest code to see if that fixes the strange x86 build issues
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv5 0/3] Add clang config framework

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework to setup
clang to be easier to update their configs.

This framework is designed to blindly merge.py with any configs fed to
it.  This is unlike the build_configs framework where it uses
priority.rhel|fedora rules to merge things.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  For non-lto clang, due to clang
bugs it is easy to disable the debug features and get away with this.
But once resolved we will have to reinvestigate.  For lto clang, I just
hack out the debug and kgcov config files due to clashing Kconfig depend
rules.

I don't expect this to be a long term solution.  Perhaps when our config
rework is fully realized this just melts away.  TBD.

Signed-off-by: Don Zickus 

---
 redhat/configs/common/clang/debug/CONFIG_KASAN_STACK  |   1 +
 redhat/configs/common/clang/debug/CONFIG_KMSAN|   1 +
 redhat/configs/common/clang/generic/CONFIG_KASAN_STACK|   1 +
 redhat/configs/common/clang/generic/CONFIG_KMSAN  |   1 +
 redhat/configs/common/clang_lto/debug/README  |   0 
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/README|   0 
 redhat/configs/priority.fedora|   4 -
 redhat/configs/priority.rhel  |   4 -
 redhat/configs/priority.snip  |   9 +
 redhat/kernel.spec.template   |  79 
++---
 14 files changed, 71 insertions(+), 33 deletions(-)
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv5 1/3] Remove unpackaged kgcov config files

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Remove unpackaged kgcov config files

The kgcov option is applied as a partial snippet in the spec file.  The
generated kernel-*-kgcov.config are not packaged and therefore unused.

My motivation here is because they conflict with the CLANG options when
I overlay the CLANG options on the gcov config file.  Instead of special
casing them, let's just drop them.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/priority.fedora b/redhat/configs/priority.fedora
index blahblah..blahblah 100644
--- a/redhat/configs/priority.fedora
+++ b/redhat/configs/priority.fedora
@@ -22,21 +22,17 @@ EMPTY=s390x-zfcpdump
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-16k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k
 
aarch64-16k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k:debug:debug-arm-aarch64:debug-arm-aarch64-16k
diff --git a/redhat/configs/priority.rhel b/redhat/configs/priority.rhel
index blahblah..blahblah 100644
--- a/redhat/configs/priority.rhel
+++ b/redhat/configs/priority.rhel
@@ -21,25 +21,21 @@ ORDER=common rhel pending-rhel custom-overrides
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 x86_64-rt=generic:generic-x86:rt-generic:rt-generic-x86
 
x86_64-rt-debug=generic:generic-x86:debug:debug-x86:rt-generic:rt-generic-x86:rt-debug:rt-debug-x86
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
 s390x-zfcpdump=generic:generic-s390x:generic-s390x-zfcpdump
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 
aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-64k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k
 
aarch64-64k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k:debug:debug-arm-aarch64:debug-arm-aarch64-64k
 
aarch64-rt=generic:generic-arm:generic-arm-aarch64:rt-generic:rt-generic-arm:rt-generic-arm-aarch64

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv5 2/3] Apply partial snippet configs to all configs

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Apply partial snippet configs to all configs

There is a macro all_arch_configs that tries to optimize what configs we
apply the partial snippets to.  While it speeds up things up a bit, it
creates conflicts with CLANG options.  The process_configs.sh script
still processes _all_ the arches and expects the CLANG options to be set
correctly.

I can either add in an arch specific option to process_configs.sh to
only process the configs the correct CLANG snippet was applied to _or_
just apply the snippets to _all_ the configs.

The latter is easier so that is what this change does.  The cost is an
extra second to apply the snippets to more config files.

Signed-off-by: Don Zickus 

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -470,6 +470,8 @@ Summary: The Linux kernel
 %endif
 %endif
 
+%define all_configs %{name}-%{specrpmversion}-*.config
+
 # don't build noarch kernels or headers (duh)
 %ifarch noarch
 %define with_up 0
@@ -481,7 +483,6 @@ Summary: The Linux kernel
 %define with_bpftool 0
 %define with_selftests 0
 %define with_debug 0
-%define all_arch_configs %{name}-%{specrpmversion}-*.config
 %endif
 
 # sparse blows up on ppc
@@ -510,13 +511,11 @@ Summary: The Linux kernel
 %ifarch i686
 %define asmarch x86
 %define hdrarch i386
-%define all_arch_configs %{name}-%{specrpmversion}-i?86*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
 %ifarch x86_64
 %define asmarch x86
-%define all_arch_configs %{name}-%{specrpmversion}-x86_64*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
@@ -527,19 +526,16 @@ Summary: The Linux kernel
 %define kernel_image vmlinux
 %define kernel_image_elf 1
 %define use_vdso 0
-%define all_arch_configs %{name}-%{specrpmversion}-ppc64le*.config
 %endif
 
 %ifarch s390x
 %define asmarch s390
 %define hdrarch s390
-%define all_arch_configs %{name}-%{specrpmversion}-s390x.config
 %define kernel_image arch/s390/boot/bzImage
 %define vmlinux_decompressor arch/s390/boot/vmlinux
 %endif
 
 %ifarch aarch64
-%define all_arch_configs %{name}-%{specrpmversion}-aarch64*.config
 %define asmarch arm64
 %define hdrarch arm64
 %define make_target vmlinuz.efi
@@ -1774,7 +1770,7 @@ FLAVOR=%{primary_target} SPECPACKAGE_NAME=%{name} 
SPECVERSION=%{specversion} SPE
 
 # Merge in any user-provided local config option changes
 %ifnarch %nobuildarches
-for i in %{all_arch_configs}
+for i in %{all_configs}
 do
   mv $i $i.tmp
   ./merge.py %{SOURCE3001} $i.tmp > $i

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv5 3/3] Add clang config framework

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add clang config framework

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework (which uses
priority files) to setup clang to be easier to update their configs.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  The priority.snip can handle the
variety of partial snippets for variants and arches well, the
kernel.spec needed to be updated to apply it reasonably.

I created a generic partial snippet loop that focuses on arch and
non-debug vs debug.  This required adding debug options to
priority.snip.  Once implemented it is a matter of collecting the
snippets and applying them based on arch and debug.  This should provide
a variety of flexibility for teams like clang and make it easier to roll
in config changes based on which compiler is used.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+CONFIG_KASAN_STACK=y
diff --git a/redhat/configs/common/clang/debug/CONFIG_KMSAN 
b/redhat/configs/common/clang/debug/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+# CONFIG_KASAN_STACK is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KMSAN 
b/redhat/configs/common/clang/generic/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang_lto/debug/README 
b/redhat/configs/common/clang_lto/debug/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/debug/README
diff --git a/redhat/configs/common/clang_lto/generic/README 
b/redhat/configs/common/clang_lto/generic/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/README
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/priority.snip b/redhat/configs/priority.snip
index blahblah..blahblah 100644
--- a/redhat/configs/priority.snip
+++ b/redhat/configs/priority.snip
@@ -10,3 +10,12 @@ EMPTY=
 
 # gcov options
 kgcov=kgcov
+kgcov-debug=kgcov
+
+# clang options
+clang=clang-generic
+clang-debug=clang-debug
+clang_lto-x86_64=clang-generic:clang_lto-generic:clang_lto-generic-x86
+clang_lto-x86_64-debug=clang-debug:clang_lto-debug
+clang_lto-aarch64=clang-generic:clang_lto-generic:clang_lto-generic-arm
+clang_lto-aarch64-debug=clang-debug:clang_lto-debug
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -908,7 +908,14 @@ Source65: filter-s390x.sh.fedora
 Source66: filter-modules.sh.fedora
 %endif
 
-Source75: partial-kgcov-snip.config
+Source70: partial-kgcov-snip.config
+Source71: partial-kgcov-debug-snip.config
+Source72: partial-clang-snip.config
+Source73: partial-clang-debug-snip.config
+Source74: partial-clang_lto-x86_64-snip.config
+Source75: partial-clang_lto-x86_64-debug-snip.config
+Source76: partial-clang_lto-aarch64-snip.config
+Source77

Re: [OS-BUILD PATCHv5 0/3] Add clang config framework

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1590162968

updated with Jan's suggestion about 'cp %{SOURCE3001} .'
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH 3/3] Add clang config framework

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1590160321

Yeah, I wasn't sure if folks had a script that relied on a kernel-local or not
so I left it.  But will will happily update to take your suggestion.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv5 0/3] Add clang config framework

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1590319086

@jstancek with your ack, can I assume this is resolved?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv5 0/3] Add clang config framework

2023-10-04 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1590321109

@ptalbert what does Merge Warning mean?  I rebased this to top of tree for os-
build.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH] Add target_branch for gen_config_patches.sh

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add target_branch for gen_config_patches.sh

To support new config updates in other brances besides os-build, we need
to be more flexible with the staging branch.  Currently new configs get
added to configs/$date/.  This won't work when new branches
like os-build-rt-devel and os-build-automotive-devel get implemented as
they will have duplicate entries here and cause script problems.  Add a
$branch name into the configs path to create separation.

configs/$date/  -->
configs/$target_branch/$date/

This is not expected to impact anything else.

Signed-off-by: Don Zickus 

diff --git a/redhat/scripts/ci/ark-update-configs.sh 
b/redhat/scripts/ci/ark-update-configs.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/ci/ark-update-configs.sh
+++ b/redhat/scripts/ci/ark-update-configs.sh
@@ -73,7 +73,7 @@ new_head="$(git rev-parse HEAD)"
 [ "$old_head" != "$new_head" ] && CONFIGS_ADDED="1" || CONFIGS_ADDED=""
 
 if test "$CONFIGS_ADDED"; then
-   ./redhat/scripts/genspec/gen_config_patches.sh
+   ./redhat/scripts/genspec/gen_config_patches.sh "${BRANCH}"
 PUSH_VERB="Pushing"
 else
printf "No new configuration values exposed from merging %s into 
$BRANCH\n" "$UPSTREAM_REF"
@@ -84,7 +84,7 @@ echo
 PUSH_STR="branch ${BRANCH} to ${GITLAB_PROJECT_URL}"
 PUSH_CMD="git push gitlab ${BRANCH}"
 PUSH_CONFIG_STR="config update branches"
-PUSH_CONFIG_CMD="for branch in \$(git branch | grep configs/\"\$(date +%F)\"); 
do
+PUSH_CONFIG_CMD="for branch in \$(git branch | grep 
configs/${BRANCH}/\"\$(date +%F)\"); do
git push \\
-o merge_request.create \\
-o merge_request.target=\"$BRANCH\" \\
diff --git a/redhat/scripts/genspec/gen_config_patches.sh 
b/redhat/scripts/genspec/gen_config_patches.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/genspec/gen_config_patches.sh
+++ b/redhat/scripts/genspec/gen_config_patches.sh
@@ -8,6 +8,10 @@
 # information for the relevant maintainers using get_maintainers.pl. This
 # requires that you have $RHMAINTAINERS pointing to a valid maintainer file.
 
+target_branch=$1
+prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+git checkout "$target_branch"
+
 if ! git show -s --oneline HEAD | grep -q "AUTOMATIC: New configs"; then
echo "The git HEAD doesn't look like the correct commit"
exit 1
@@ -116,12 +120,14 @@ for f in "$config_bundles_dir"/*; do
rm redhat/configs/pending-rhel/generic/"$line"
done < "$f"
# We do a separate branch per config commit
-   if ! git checkout -b "configs/$(date +%F)/$_f"; then
-   printf "Unable to check out configs/%s/%s branch!\n" "$(date 
+%F)" "$_f"
+   if ! git checkout -b "configs/$target_branch/$(date +%F)/$_f"; then
+   printf "Unable to check out configs/%s/%s/%s branch!\n" 
"$target_branch" "$(date +%F)" "$_f"
exit 1
fi
# One file path is done, time to commit!
git add redhat/configs
git commit -s -F "$tmpdir"/commit
-   git checkout os-build
+   git checkout "$target_branch"
 done
+
+git checkout "$prev_branch"

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2731
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH 3/3] Add clang config framework

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1584560878

It appears I can only 'cp file1 file2' and not multiple files.  I am going to
skip this suggestion unless someone can point out what I am messing up.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv3 0/3] Add clang config framework

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework to setup
clang to be easier to update their configs.

This framework is designed to blindly merge.py with any configs fed to
it.  This is unlike the build_configs framework where it uses
priority.rhel|fedora rules to merge things.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  For non-lto clang, due to clang
bugs it is easy to disable the debug features and get away with this.
But once resolved we will have to reinvestigate.  For lto clang, I just
hack out the debug and kgcov config files due to clashing Kconfig depend
rules.

I don't expect this to be a long term solution.  Perhaps when our config
rework is fully realized this just melts away.  TBD.

Signed-off-by: Don Zickus 

---
 redhat/configs/common/clang/debug/CONFIG_KASAN_STACK  |   1 +
 redhat/configs/common/clang/debug/CONFIG_KMSAN|   1 +
 redhat/configs/common/clang/generic/CONFIG_KASAN_STACK|   1 +
 redhat/configs/common/clang/generic/CONFIG_KMSAN  |   1 +
 redhat/configs/common/clang_lto/debug/README  |   0 
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/README|   0 
 redhat/configs/priority.fedora|   4 -
 redhat/configs/priority.rhel  |   4 -
 redhat/configs/priority.snip  |   9 +
 redhat/kernel.spec.template   |  78 
++---
 14 files changed, 71 insertions(+), 32 deletions(-)
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv3 3/3] Add clang config framework

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add clang config framework

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework (which uses
priority files) to setup clang to be easier to update their configs.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  The priority.snip can handle the
variety of partial snippets for variants and arches well, the
kernel.spec needed to be updated to apply it reasonably.

I created a generic partial snippet loop that focuses on arch and
non-debug vs debug.  This required adding debug options to
priority.snip.  Once implemented it is a matter of collecting the
snippets and applying them based on arch and debug.  This should provide
a variety of flexibility for teams like clang and make it easier to roll
in config changes based on which compiler is used.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+CONFIG_KASAN_STACK=y
diff --git a/redhat/configs/common/clang/debug/CONFIG_KMSAN 
b/redhat/configs/common/clang/debug/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+# CONFIG_KASAN_STACK is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KMSAN 
b/redhat/configs/common/clang/generic/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang_lto/debug/README 
b/redhat/configs/common/clang_lto/debug/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/debug/README
diff --git a/redhat/configs/common/clang_lto/generic/README 
b/redhat/configs/common/clang_lto/generic/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/README
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/priority.snip b/redhat/configs/priority.snip
index blahblah..blahblah 100644
--- a/redhat/configs/priority.snip
+++ b/redhat/configs/priority.snip
@@ -10,3 +10,12 @@ EMPTY=
 
 # gcov options
 kgcov=kgcov
+kgcov-debug=kgcov
+
+# clang options
+clang=clang-generic
+clang-debug=clang-debug
+clang_lto-x86_64=clang-generic:clang_lto-generic:clang_lto-generic-x86
+clang_lto-x86_64-debug=clang-debug:clang_lto-debug
+clang_lto-aarch64=clang-generic:clang_lto-generic:clang_lto-generic-arm
+clang_lto-aarch64-debug=clang-debug:clang_lto-debug
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -908,7 +908,14 @@ Source65: filter-s390x.sh.fedora
 Source66: filter-modules.sh.fedora
 %endif
 
-Source75: partial-kgcov-snip.config
+Source70: partial-kgcov-snip.config
+Source71: partial-kgcov-debug-snip.config
+Source72: partial-clang-snip.config
+Source73: partial-clang-debug-snip.config
+Source74: partial-clang_lto-x86_64-snip.config
+Source75: partial-clang_lto-x86_64-debug-snip.config
+Source76: partial-clang_lto-aarch64-snip.config
+Source77

[OS-BUILD PATCHv3 1/3] Remove unpackaged kgcov config files

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Remove unpackaged kgcov config files

The kgcov option is applied as a partial snippet in the spec file.  The
generated kernel-*-kgcov.config are not packaged and therefore unused.

My motivation here is because they conflict with the CLANG options when
I overlay the CLANG options on the gcov config file.  Instead of special
casing them, let's just drop them.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/priority.fedora b/redhat/configs/priority.fedora
index blahblah..blahblah 100644
--- a/redhat/configs/priority.fedora
+++ b/redhat/configs/priority.fedora
@@ -22,21 +22,17 @@ EMPTY=s390x-zfcpdump
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-16k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k
 
aarch64-16k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k:debug:debug-arm-aarch64:debug-arm-aarch64-16k
diff --git a/redhat/configs/priority.rhel b/redhat/configs/priority.rhel
index blahblah..blahblah 100644
--- a/redhat/configs/priority.rhel
+++ b/redhat/configs/priority.rhel
@@ -21,25 +21,21 @@ ORDER=common rhel pending-rhel custom-overrides
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 x86_64-rt=generic:generic-x86:rt-generic:rt-generic-x86
 
x86_64-rt-debug=generic:generic-x86:debug:debug-x86:rt-generic:rt-generic-x86:rt-debug:rt-debug-x86
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
 s390x-zfcpdump=generic:generic-s390x:generic-s390x-zfcpdump
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 
aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-64k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k
 
aarch64-64k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k:debug:debug-arm-aarch64:debug-arm-aarch64-64k
 
aarch64-rt=generic:generic-arm:generic-arm-aarch64:rt-generic:rt-generic-arm:rt-generic-arm-aarch64

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv3 2/3] Apply partial snippet configs to all configs

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Apply partial snippet configs to all configs

There is a macro all_arch_configs that tries to optimize what configs we
apply the partial snippets to.  While it speeds up things up a bit, it
creates conflicts with CLANG options.  The process_configs.sh script
still processes _all_ the arches and expects the CLANG options to be set
correctly.

I can either add in an arch specific option to process_configs.sh to
only process the configs the correct CLANG snippet was applied to _or_
just apply the snippets to _all_ the configs.

The latter is easier so that is what this change does.  The cost is an
extra second to apply the snippets to more config files.

Signed-off-by: Don Zickus 

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -469,6 +469,8 @@ Summary: The Linux kernel
 %endif
 %endif
 
+%define all_configs %{name}-%{specrpmversion}-*.config
+
 # don't build noarch kernels or headers (duh)
 %ifarch noarch
 %define with_up 0
@@ -480,7 +482,6 @@ Summary: The Linux kernel
 %define with_bpftool 0
 %define with_selftests 0
 %define with_debug 0
-%define all_arch_configs %{name}-%{specrpmversion}-*.config
 %endif
 
 # sparse blows up on ppc
@@ -509,13 +510,11 @@ Summary: The Linux kernel
 %ifarch i686
 %define asmarch x86
 %define hdrarch i386
-%define all_arch_configs %{name}-%{specrpmversion}-i?86*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
 %ifarch x86_64
 %define asmarch x86
-%define all_arch_configs %{name}-%{specrpmversion}-x86_64*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
@@ -526,19 +525,16 @@ Summary: The Linux kernel
 %define kernel_image vmlinux
 %define kernel_image_elf 1
 %define use_vdso 0
-%define all_arch_configs %{name}-%{specrpmversion}-ppc64le*.config
 %endif
 
 %ifarch s390x
 %define asmarch s390
 %define hdrarch s390
-%define all_arch_configs %{name}-%{specrpmversion}-s390x.config
 %define kernel_image arch/s390/boot/bzImage
 %define vmlinux_decompressor arch/s390/boot/vmlinux
 %endif
 
 %ifarch aarch64
-%define all_arch_configs %{name}-%{specrpmversion}-aarch64*.config
 %define asmarch arm64
 %define hdrarch arm64
 %define make_target vmlinuz.efi
@@ -1781,7 +1777,7 @@ FLAVOR=%{primary_target} SPECPACKAGE_NAME=%{name} 
SPECVERSION=%{specversion} SPE
 
 # Merge in any user-provided local config option changes
 %ifnarch %nobuildarches
-for i in %{all_arch_configs}
+for i in %{all_configs}
 do
   mv $i $i.tmp
   ./merge.py %{SOURCE3001} $i.tmp > $i

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH 1/2] Add target_branch for gen_config_patches.sh

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add target_branch for gen_config_patches.sh

To support new config updates in other brances besides os-build, we need
to be more flexible with the staging branch.  Currently new configs get
added to configs/$date/.  This won't work when new branches
like os-build-rt-devel and os-build-automotive-devel get implemented as
they will have duplicate entries here and cause script problems.  Add a
$branch name into the configs path to create separation.

configs/$date/  -->
configs/$target_branch/$date/

This is not expected to impact anything else.

Signed-off-by: Don Zickus 

diff --git a/redhat/scripts/ci/ark-update-configs.sh 
b/redhat/scripts/ci/ark-update-configs.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/ci/ark-update-configs.sh
+++ b/redhat/scripts/ci/ark-update-configs.sh
@@ -73,7 +73,7 @@ new_head="$(git rev-parse HEAD)"
 [ "$old_head" != "$new_head" ] && CONFIGS_ADDED="1" || CONFIGS_ADDED=""
 
 if test "$CONFIGS_ADDED"; then
-   ./redhat/scripts/genspec/gen_config_patches.sh
+   ./redhat/scripts/genspec/gen_config_patches.sh "${BRANCH}"
 PUSH_VERB="Pushing"
 else
printf "No new configuration values exposed from merging %s into 
$BRANCH\n" "$UPSTREAM_REF"
@@ -84,7 +84,7 @@ echo
 PUSH_STR="branch ${BRANCH} to ${GITLAB_PROJECT_URL}"
 PUSH_CMD="git push gitlab ${BRANCH}"
 PUSH_CONFIG_STR="config update branches"
-PUSH_CONFIG_CMD="for branch in \$(git branch | grep configs/\"\$(date +%F)\"); 
do
+PUSH_CONFIG_CMD="for branch in \$(git branch | grep 
configs/${BRANCH}/\"\$(date +%F)\"); do
git push \\
-o merge_request.create \\
-o merge_request.target=\"$BRANCH\" \\
diff --git a/redhat/scripts/genspec/gen_config_patches.sh 
b/redhat/scripts/genspec/gen_config_patches.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/genspec/gen_config_patches.sh
+++ b/redhat/scripts/genspec/gen_config_patches.sh
@@ -8,6 +8,10 @@
 # information for the relevant maintainers using get_maintainers.pl. This
 # requires that you have $RHMAINTAINERS pointing to a valid maintainer file.
 
+target_branch=$1
+prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+git checkout "$target_branch"
+
 if ! git show -s --oneline HEAD | grep -q "AUTOMATIC: New configs"; then
echo "The git HEAD doesn't look like the correct commit"
exit 1
@@ -116,12 +120,14 @@ for f in "$config_bundles_dir"/*; do
rm redhat/configs/pending-rhel/generic/"$line"
done < "$f"
# We do a separate branch per config commit
-   if ! git checkout -b "configs/$(date +%F)/$_f"; then
-   printf "Unable to check out configs/%s/%s branch!\n" "$(date 
+%F)" "$_f"
+   if ! git checkout -b "configs/$target_branch/$(date +%F)/$_f"; then
+   printf "Unable to check out configs/%s/%s/%s branch!\n" 
"$target_branch" "$(date +%F)" "$_f"
exit 1
fi
# One file path is done, time to commit!
git add redhat/configs
git commit -s -F "$tmpdir"/commit
-   git checkout os-build
+   git checkout "$target_branch"
 done
+
+git checkout "$prev_branch"

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2732
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH 0/2] Add new os-build targets: rt-devel and automotive-devel

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2732

This is an attempt to automate the rt and automotive devel branches
using the upstream linux-rt-devel tree as the base combined with
os-build.

The overall process isn't too complicated but there are enough steps to
make it compilicated.

Steps:
* map upstream linux-rt-devel to master-rt branch
* update os-build
* grab linux version from master-rt and os-build
* if version the same then merge os-build and master-rt to
  os-build-rt-automated
* else merge linux-stable and master-rt to os-build-rt-automated until
  master-rt is update to os-build
* merge os-build-rt-automated into os-build-rt-devel
* merge os-build-rt-automated into os-build-automotive-devel
* run the generate pending-rhel config scripts on rt-devel and
  automotive-devel

The script has beginning logic to handle rebasing if necessary when the
rt-devel branch transitions from linux-stable to linux master again.

The script has no effect on the day-to-day operations of os-build.  They
are designed to be run from a gitlab cron job and update in the
background.  Once they are deemed stable, adding ARK MRs that target
either os-build-rt-devel or os-build-automotive-devel will be possible
and those branches can start proper parallel developement with os-build.

Signed-off-by: Don Zickus 

---
 redhat/scripts/ci/ark-ci-env.sh  |  151 +++
 redhat/scripts/ci/ark-merge-rt.sh|   96 +
 redhat/scripts/ci/ark-update-configs.sh  |4 +-
 redhat/scripts/genspec/gen_config_patches.sh |   12 +-
 4 files changed, 258 insertions(+), 5 deletions(-)
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH 2/2] Add new os-build targets: rt-devel and automotive-devel

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add new os-build targets: rt-devel and automotive-devel

This is an attempt to automate the rt and automotive devel branches
using the upstream linux-rt-devel tree as the base combined with
os-build.

The overall process isn't too complicated but there are enough steps to
make it compilicated.

Steps:
* map upstream linux-rt-devel to master-rt branch
* update os-build
* grab linux version from master-rt and os-build
* if version the same then merge os-build and master-rt to
  os-build-rt-automated
* else merge linux-stable and master-rt to os-build-rt-automated until
  master-rt is update to os-build
* merge os-build-rt-automated into os-build-rt-devel
* merge os-build-rt-automated into os-build-automotive-devel
* run the generate pending-rhel config scripts on rt-devel and
  automotive-devel

The script has beginning logic to handle rebasing if necessary when the
rt-devel branch transitions from linux-stable to linux master again.

The script has no effect on the day-to-day operations of os-build.  They
are designed to be run from a gitlab cron job and update in the
background.  Once they are deemed stable, adding ARK MRs that target
either os-build-rt-devel or os-build-automotive-devel will be possible
and those branches can start proper parallel developement with os-build.

Signed-off-by: Don Zickus 

diff --git a/redhat/scripts/ci/ark-ci-env.sh b/redhat/scripts/ci/ark-ci-env.sh
index blahblah..blahblah 100644
--- a/redhat/scripts/ci/ark-ci-env.sh
+++ b/redhat/scripts/ci/ark-ci-env.sh
@@ -19,6 +19,157 @@ ci_pre_check()
 git diff-index --quiet HEAD || die "Dirty tree, please clean before 
merging."
 }
 
+# GitLab can only mirror one project at a time.  This wrapper function does
+# the mirroring for any other branches.
+ark_git_mirror()
+{
+   target_branch=$1
+   upstream_tree=$2
+   source_branch=$3
+   reset_branch=$4
+
+   prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+   remote_branch="$upstream_tree/$source_branch"
+   git checkout "$target_branch"
+   git fetch "$upstream_tree" "$source_branch"
+   if test -z "$reset_branch"; then
+   git merge "$remote_branch" || die "git merge $remote_branch 
failed"
+   else
+   git reset --hard "$remote_branch" || die "git reset 
$remote_branch failed"
+   fi
+   git checkout "$prev_branch"
+}
+
+# Merge wrapper in case issues arise
+ark_git_merge()
+{
+   source_branch=$1
+   target_branch=$2
+   reset_branch=$3
+
+   prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+   git checkout "${target_branch}"
+   if test -n "$reset_branch"; then
+   # there are cases when the initial merge is a reset
+   git reset --hard "$source_branch"  || die "git reset 
$source_branch failed"
+   elif ! git merge -m "Merge '$source_branch' into '$target_branch'" 
"$source_branch"; then
+   git merge --abort
+   printf "Merge conflict; halting!\n"
+   printf "To reproduce:\n"
+   printf "* git checkout %s\n" "${target_branch}"
+   printf "* git merge %s\n" "${source_branch}"
+   die "Merge conflicts"
+   fi
+
+   git checkout "$prev_branch"
+   return 0
+}
+
+ark_git_rebase()
+{
+   branch=$1
+   upstream=$2
+   base=$3
+
+   prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+   git checkout "${branch}"
+   if ! git rebase --onto "$base" "$upstream"; then
+   git rebase --abort
+   printf "Rebase conflict; halting!\n"
+   printf "To reproduce:\n"
+   printf "* git checkout %s\n" "${branch}"
+   printf "* git rebase --onto %s %s\n" "${base}" "${upstream}"
+   die "Rebase conflicts"
+   fi
+   git checkout "$prev_branch"
+   return 0
+}
+
+ark_update_configs()
+{
+   branch=$1
+   skip_configs=$2
+
+   prev_branch="$(git rev-parse --abbrev-ref HEAD)"
+   git checkout "${branch}"
+
+   # Generates and commits all the pending configs
+   make -j FLAVOR=fedora dist-configs-commit
+   # Skip executing gen_config_patches.sh for new Fedora configs
+
+   old_head="$(git rev-parse HEAD)"
+   make -j FLAVOR=rhel dist-configs-commit
+   new_head="$(git rev-parse HEAD)"
+
+
+   # Converts each new pending config from above into its finalized git
+   # configs// branch.  These commits are used for Merge
+   # Requests.
+   [ "$old_head" != "$new_head&qu

Re: [OS-BUILD PATCHv3 0/3] Add clang config framework

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1584576862

Yeah, I am scratching my head on that too.  I got this working as a starter.
Open to ideas.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH 0/3] Add clang config framework

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654#note_1584466006

Resolving the thread as it appears stan agreed with Jan's reply below.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv2 0/3] Add clang config framework

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework to setup
clang to be easier to update their configs.

This framework is designed to blindly merge.py with any configs fed to
it.  This is unlike the build_configs framework where it uses
priority.rhel|fedora rules to merge things.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  For non-lto clang, due to clang
bugs it is easy to disable the debug features and get away with this.
But once resolved we will have to reinvestigate.  For lto clang, I just
hack out the debug and kgcov config files due to clashing Kconfig depend
rules.

I don't expect this to be a long term solution.  Perhaps when our config
rework is fully realized this just melts away.  TBD.

Signed-off-by: Don Zickus 

---
 redhat/configs/common/clang/debug/CONFIG_KASAN_STACK  |   1 +
 redhat/configs/common/clang/debug/CONFIG_KMSAN|   1 +
 redhat/configs/common/clang/generic/CONFIG_KASAN_STACK|   1 +
 redhat/configs/common/clang/generic/CONFIG_KMSAN  |   1 +
 redhat/configs/common/clang_lto/debug/README  |   0 
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN |   1 +
 redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE   |   1 +
 redhat/configs/common/clang_lto/generic/README|   0 
 redhat/configs/priority.fedora|   4 -
 redhat/configs/priority.rhel  |   4 -
 redhat/configs/priority.snip  |   9 +
 redhat/kernel.spec.template   |  78 
++---
 14 files changed, 70 insertions(+), 33 deletions(-)
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv2 1/3] Remove unpackaged kgcov config files

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Remove unpackaged kgcov config files

The kgcov option is applied as a partial snippet in the spec file.  The
generated kernel-*-kgcov.config are not packaged and therefore unused.

My motivation here is because they conflict with the CLANG options when
I overlay the CLANG options on the gcov config file.  Instead of special
casing them, let's just drop them.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/priority.fedora b/redhat/configs/priority.fedora
index blahblah..blahblah 100644
--- a/redhat/configs/priority.fedora
+++ b/redhat/configs/priority.fedora
@@ -22,21 +22,17 @@ EMPTY=s390x-zfcpdump
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-16k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k
 
aarch64-16k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-16k:debug:debug-arm-aarch64:debug-arm-aarch64-16k
diff --git a/redhat/configs/priority.rhel b/redhat/configs/priority.rhel
index blahblah..blahblah 100644
--- a/redhat/configs/priority.rhel
+++ b/redhat/configs/priority.rhel
@@ -21,25 +21,21 @@ ORDER=common rhel pending-rhel custom-overrides
 # x86_64
 x86_64=generic:generic-x86
 x86_64-debug=generic:generic-x86:debug:debug-x86
-x86_64-kgcov=generic:generic-x86:kgcov
 x86_64-rt=generic:generic-x86:rt-generic:rt-generic-x86
 
x86_64-rt-debug=generic:generic-x86:debug:debug-x86:rt-generic:rt-generic-x86:rt-debug:rt-debug-x86
 
 # ppc64le
 ppc64le=generic:generic-powerpc
 ppc64le-debug=generic:generic-powerpc:debug:debug-powerpc
-ppc64le-kgcov=generic:generic-powerpc:kgcov
 
 # s390x
 s390x=generic:generic-s390x
 s390x-debug=generic:generic-s390x:debug:debug-s390x
 s390x-zfcpdump=generic:generic-s390x:generic-s390x-zfcpdump
-s390x-kgcov=generic:generic-s390x:kgcov
 
 # aarch64
 aarch64=generic:generic-arm:generic-arm-aarch64
 
aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm:debug-arm-aarch64
-aarch64-kgcov=generic:generic-arm:generic-arm-aarch64:kgcov
 aarch64-64k=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k
 
aarch64-64k-debug=generic:generic-arm:generic-arm-aarch64:generic-arm-aarch64-64k:debug:debug-arm-aarch64:debug-arm-aarch64-64k
 
aarch64-rt=generic:generic-arm:generic-arm-aarch64:rt-generic:rt-generic-arm:rt-generic-arm-aarch64

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv2 2/3] Apply partial snippet configs to all configs

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Apply partial snippet configs to all configs

There is a macro all_arch_configs that tries to optimize what configs we
apply the partial snippets to.  While it speeds up things up a bit, it
creates conflicts with CLANG options.  The process_configs.sh script
still processes _all_ the arches and expects the CLANG options to be set
correctly.

I can either add in an arch specific option to process_configs.sh to
only process the configs the correct CLANG snippet was applied to _or_
just apply the snippets to _all_ the configs.

The latter is easier so that is what this change does.  The cost is an
extra second to apply the snippets to more config files.

Signed-off-by: Don Zickus 

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -469,6 +469,8 @@ Summary: The Linux kernel
 %endif
 %endif
 
+%define all_configs %{name}-%{specrpmversion}-*.config
+
 # don't build noarch kernels or headers (duh)
 %ifarch noarch
 %define with_up 0
@@ -480,7 +482,6 @@ Summary: The Linux kernel
 %define with_bpftool 0
 %define with_selftests 0
 %define with_debug 0
-%define all_arch_configs %{name}-%{specrpmversion}-*.config
 %endif
 
 # sparse blows up on ppc
@@ -509,13 +510,11 @@ Summary: The Linux kernel
 %ifarch i686
 %define asmarch x86
 %define hdrarch i386
-%define all_arch_configs %{name}-%{specrpmversion}-i?86*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
 %ifarch x86_64
 %define asmarch x86
-%define all_arch_configs %{name}-%{specrpmversion}-x86_64*.config
 %define kernel_image arch/x86/boot/bzImage
 %endif
 
@@ -526,19 +525,16 @@ Summary: The Linux kernel
 %define kernel_image vmlinux
 %define kernel_image_elf 1
 %define use_vdso 0
-%define all_arch_configs %{name}-%{specrpmversion}-ppc64le*.config
 %endif
 
 %ifarch s390x
 %define asmarch s390
 %define hdrarch s390
-%define all_arch_configs %{name}-%{specrpmversion}-s390x.config
 %define kernel_image arch/s390/boot/bzImage
 %define vmlinux_decompressor arch/s390/boot/vmlinux
 %endif
 
 %ifarch aarch64
-%define all_arch_configs %{name}-%{specrpmversion}-aarch64*.config
 %define asmarch arm64
 %define hdrarch arm64
 %define make_target vmlinuz.efi
@@ -1781,7 +1777,7 @@ FLAVOR=%{primary_target} SPECPACKAGE_NAME=%{name} 
SPECVERSION=%{specversion} SPE
 
 # Merge in any user-provided local config option changes
 %ifnarch %nobuildarches
-for i in %{all_arch_configs}
+for i in %{all_configs}
 do
   mv $i $i.tmp
   ./merge.py %{SOURCE3001} $i.tmp > $i

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2654
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv2 3/3] Add clang config framework

2023-09-29 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add clang config framework

Compiling for clang is getting trickier to do because the configs are
different than gcc in some cases.  Mimic the kgcov framework (which uses
priority files) to setup clang to be easier to update their configs.

This leads to strange cases where clang debug configs need different
settings than clang non-debug configs.  The priority.snip can handle the
variety of partial snippets for variants and arches well, the
kernel.spec needed to be updated to apply it reasonably.

I created a generic partial snippet loop that focuses on arch and
non-debug vs debug.  This required adding debug options to
priority.snip.  Once implemented it is a matter of collecting the
snippets and applying them based on arch and debug.  This should provide
a variety of flexibility for teams like clang and make it easier to roll
in config changes based on which compiler is used.

Signed-off-by: Don Zickus 

diff --git a/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+CONFIG_KASAN_STACK=y
diff --git a/redhat/configs/common/clang/debug/CONFIG_KMSAN 
b/redhat/configs/common/clang/debug/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/debug/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK 
b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KASAN_STACK
@@ -0,0 +1 @@
+# CONFIG_KASAN_STACK is not set
diff --git a/redhat/configs/common/clang/generic/CONFIG_KMSAN 
b/redhat/configs/common/clang/generic/CONFIG_KMSAN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang/generic/CONFIG_KMSAN
@@ -0,0 +1 @@
+# CONFIG_KMSAN is not set
diff --git a/redhat/configs/common/clang_lto/debug/README 
b/redhat/configs/common/clang_lto/debug/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/debug/README
diff --git a/redhat/configs/common/clang_lto/generic/README 
b/redhat/configs/common/clang_lto/generic/README
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/README
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/arm/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_CLANG_THIN
@@ -0,0 +1 @@
+CONFIG_LTO_CLANG_THIN=y
diff --git a/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE 
b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/clang_lto/generic/x86/CONFIG_LTO_NONE
@@ -0,0 +1 @@
+# CONFIG_LTO_NONE is not set
diff --git a/redhat/configs/priority.snip b/redhat/configs/priority.snip
index blahblah..blahblah 100644
--- a/redhat/configs/priority.snip
+++ b/redhat/configs/priority.snip
@@ -10,3 +10,12 @@ EMPTY=
 
 # gcov options
 kgcov=kgcov
+kgcov-debug=kgcov
+
+# clang options
+clang=clang-generic
+clang-debug=clang-debug
+clang_lto-x86_64=clang-generic:clang_lto-generic:clang_lto-generic-x86
+clang_lto-x86_64-debug=clang-debug:clang_lto-debug
+clang_lto-aarch64=clang-generic:clang_lto-generic:clang_lto-generic-arm
+clang_lto-aarch64-debug=clang-debug:clang_lto-debug
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -908,7 +908,14 @@ Source65: filter-s390x.sh.fedora
 Source66: filter-modules.sh.fedora
 %endif
 
-Source75: partial-kgcov-snip.config
+Source70: partial-kgcov-snip.config
+Source71: partial-kgcov-debug-snip.config
+Source72: partial-clang-snip.config
+Source73: partial-clang-debug-snip.config
+Source74: partial-clang_lto-x86_64-snip.config
+Source75: partial-clang_lto-x86_64-debug-snip.config
+Source76: partial-clang_lto-aarch64-snip.config
+Source77

Re: [OS-BUILD PATCH] Fix binutils breakage

2023-10-17 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2749#note_1607846588

@codonell-rh @vmalikrh - patching samples/bpf/Makefile (add quotes around
TPROGS_LDFLAGS) allowed me to use TPROGS_LDFLAGS correctly.

@vmalikrh - who to send this patch to upstream? I assume they will take it?

diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
index 4ccf4236031c..053f148e4b52 100644
--- a/samples/bpf/Makefile
+++ b/samples/bpf/Makefile
@@ -247,7 +247,7 @@ clean:
 $(LIBBPF): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) |
$(LIBBPF_OUTPUT)
 # Fix up variables inherited from Kbuild that tools/ build system won't like
$(MAKE) -C $(LIBBPF_SRC) RM='rm -rf' EXTRA_CFLAGS="$(TPROGS_CFLAGS)" \
-   LDFLAGS=$(TPROGS_LDFLAGS) srctree=$(BPF_SAMPLES_PATH)/../../ \
+   LDFLAGS="$(TPROGS_LDFLAGS)" srctree=$(BPF_SAMPLES_PATH)/../../
\
O= OUTPUT=$(LIBBPF_OUTPUT)/ DESTDIR=$(LIBBPF_DESTDIR) prefix=
\
$@ install_headers
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH] Fix binutils breakage

2023-10-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2749#note_1609196658

I guess I spoke too soon, moving the TPROGS_xxx before make still causes rpm
to fail.  hmm...
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH] Fix binutils breakage

2023-10-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2749#note_1609190998

@hertonrk-rh @vmalikrh - moving TPROGS_xxx to before make resolved my missing
includes issue.  But I see what @vmalikrh means for that one target.

The rpm still builds, so I think we could move forward with this approach
independently of when Viktor gets this change upstream.  I still need the
TPROGS_LDFLAGS change though.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH 0/2] random: Add hook to override device reads and getrandom(2)

2023-10-19 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2757#note_1611091360

@herbert.xu2 thanks!  Is there a reason why this isn't pushed upstream and
needs to be RHEL-only?  (We ask on all RHEL-only patches).
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH] Fix binutils breakage

2023-10-20 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2749#note_1612950237

@vmalikrh thanks for the fixes!  I tried your suggestions and got this new
error:

```plaintext
+ /usr/bin/make -s 'HOSTCFLAGS=-O2  -fexceptions -g -grecord-gcc-switches
-pipe -Wall -Werror=format-security -Werror=implicit-function-declaration
-Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3
-Wp,-D_GLIBCXX_ASSERTIONS -
specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -march=x86-64-v3
-mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-
protection   ' 'HOSTLDF
LAGS=-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1
-specs=/usr/lib/rpm/redhat/redhat-package-notes ' -j8 'TPROGS_USER_CFLAGS=-O2
-fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security
-Werror=implicit-function-declaration -Werror=implicit-int
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-har
dened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-
cc1  -m64  -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables
-fstack-clash-protection -fcf-protection   ' 'TPROGS_USER_LDFLAGS=-Wl,-z,relro
-Wl,--as-n
eeded  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1
-specs=/usr/lib/rpm/redhat/redhat-package-notes ' 'EXTRA_CFLAGS=-O2
-fexceptions -g -grecord-gcc-switches
-pipe -Wall -Werror=format-security -Werror=implicit-function-declaration
-Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -sp
ecs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -march=x86-64-v3
-mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-
protection   ' 'EXTRA_LDFLAGS=-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now
-specs=/usr/lib/rpm/redhat
/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--
build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' ARCH=x86_64
V=1 M=samples/bpf/ VMLINUX_H=
  CLANG-bpf  samples/bpf/sockex1_kern.o
cc1: error: code model kernel does not support PIC mode
make[2]: *** [scripts/Makefile.build:116: samples/bpf/syscall_nrs.s] Error 1
make[2]: *** Waiting for unfinished jobs

```

Removing the EXTRA\_\* removes that error and reverts back to the previous
missing -fPIE warning.  I also somehow messed up my env such that I can't even
build an rpm any more.  I will have to poke at that.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH] Fix binutils breakage

2023-10-13 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Fix binutils breakage

The binutils package in Rawhide has stricter checks about PIE/PIC code
and will start reporting errors if it detects mixing and matching no-PIE
with PIE binaries (especially around bpf binaries).

Example errors look like:

/usr/bin/ld: /tmp/ccL7dkfR.o: relocation R_X86_64_32S against `.rodata'
can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Fix this by adding more CFLAGS to force PIE/PIC generated binaries to
bpf releated selftests, tools and samples.

This patch was provided by Carlos O'Donell and understands how it works.
I am just the middle man.

All -fPIE errors are resolved except for one about libbpf.a.  The static
version of the library doesn't take CFLAGS so it can't be forced to
build with PIE/PIC.  This error is ignored by the spec file, so it is
ignored by this patch too.

Signed-off-by: Don Zickus 

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -2769,7 +2769,7 @@ if [ ! -f include/generated/autoconf.h ]; then
%{make} %{?_smp_mflags} modules_prepare
 fi
 
-%{make} %{?_smp_mflags} ARCH=$Arch V=1 M=samples/bpf/ 
VMLINUX_H="${RPM_VMLINUX_H}" || true
+%{make} %{?_smp_mflags} TPROGS_CFLAGS="%{?build_hostcflags}" ARCH=$Arch V=1 
M=samples/bpf/ VMLINUX_H="${RPM_VMLINUX_H}" || true
 
 # Prevent bpf selftests to build bpftool repeatedly:
 export BPFTOOL=$(pwd)/tools/bpf/bpftool/bpftool
@@ -2783,7 +2783,7 @@ pushd tools/testing/selftests
   force_targets=""
 %endif
 
-%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf mm livepatch net 
net/forwarding net/mptcp netfilter tc-testing memfd drivers/net/bonding" 
SKIP_TARGETS="" $force_targets 
INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" 
install
+%{make} %{?_smp_mflags} USERCFLAGS="%{?build_hostcflags}" 
USERLDFLAGS="%{?build_hostldflags}" ARCH=$Arch V=1 TARGETS="bpf mm livepatch 
net net/forwarding net/mptcp netfilter tc-testing memfd drivers/net/bonding" 
SKIP_TARGETS="" $force_targets 
INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" 
install
 
 # 'make install' for bpf is broken and upstream refuses to fix it.
 # Install the needed files manually.

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2749
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH] Fix binutils breakage

2023-10-13 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2749#note_1602503582

@vmalikrh - FYI as the approval rules won't automatically add you.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH] Fix binutils breakage

2023-10-24 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2749#note_1617007832

@vmalikrh - were you able to push patches upstream?  we were looking to bring
them in prematurely for ARK until upstream merges them.  This helps move
binutils forward.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv2] redhat/configs: disable CONFIG_ROCKCHIP_ERRATUM_3588001 for RHEL

2023-08-21 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2526#note_1521767186

@mlangsdorf @jlinton - review?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH] redhat/configs: Enable CONFIG_DEVICE_PRIVATE on aarch64

2023-08-21 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2639#note_1521766040

@raquini @ddutile - mm review?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH] Fix tarball creation logic

2023-08-28 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Fix tarball creation logic

The create tarball logic tried to determine if the tarball existed or
not by using a git sha.  However the check always failed because the
current sha was shortened and the tarball sha was the full 40 digits.

Correct this by converting the shortened sha into the full sha so the
comparison actually works.

Signed-off-by: Don Zickus 

diff --git a/redhat/scripts/create-tarball.sh b/redhat/scripts/create-tarball.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/create-tarball.sh
+++ b/redhat/scripts/create-tarball.sh
@@ -9,6 +9,9 @@ XZ_THREADS="--threads $RHJOBS"
 ARCH=$(arch)
 XZ_OPTIONS=""
 
+# turn from shorten sha to 40 digit sha
+_GITID="$(git rev-parse "$_GITID")"
+
 if [ "$ARCH" != "x86_64" ]
 then
 XZ_OPTIONS="-M 3G"

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2658
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH 0/2] Makefile: only depend on dist-buildreq-check when building actual RPMs

2022-05-17 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1781#note_949736929

I used a macro to address this.  This seems to work.  Thoughts?
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH 1/3] [redhat] Explicitly set srpm requirements

2022-05-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

[redhat] Explicitly set srpm requirements

It isn't clear what packages are necessary to be installed to generate
the srpm for the kernel.  Use another spec macro to call out the exact
packages needed. This allows a makefile target to be used to verify the
right packages have been installed.

Signed-off-by: Don Zickus 

diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -84,6 +84,7 @@ TESTPATCH:=$(REDHAT)/linux-kernel-test.patch
 SPECCHANGELOG:=$(PACKAGE_NAME).changelog-$(RHEL_MAJOR).$(RHEL_MINOR)
 CHANGELOG_PREV:=$(PACKAGE_NAME).changelog-$(RHEL_MAJOR).$(shell expr 
$(RHEL_MINOR) - 1)
 ARCH_LIST=aarch64 ppc64le s390x x86_64
+SPECSRPMBUILDREQS := git-core make gcc flex bison bzip2
 
 ifndef DISTRO
   ifneq ($(findstring .fc,$(DIST)),)
@@ -391,7 +392,7 @@ rh-configs: dist-rhel-configs
 dist-configs-check: dist-configs-prep
+cd $(REDHAT)/configs; ./process_configs.sh 
$(PROCESS_CONFIGS_CHECK_OPTS) "" ""
 
-dist-configs-prep: dist-clean-configs dist-buildreq-check
+dist-configs-prep: dist-clean-configs dist-srpmbuildreq-check
+cd $(REDHAT)/configs; ./build_configs.sh "partial" "snip"
+cd $(REDHAT)/configs; ./build_configs.sh "$(PACKAGE_NAME)" "$(FLAVOR)"
 
@@ -469,6 +470,17 @@ dist-git-version-check:
exit 1; \
fi
 
+dist-srpmbuildreq-check: setup-source
+   @PKGLIST="rpm-build $(SPECSRPMBUILDREQS)"; \
+   MISSING=""; \
+   for pkg in $$PKGLIST; do \
+   rpm -q --whatprovides $$pkg >/dev/null || MISSING="$$MISSING 
$$pkg"; \
+   done; \
+   if [ -n "$$MISSING" ]; then \
+   echo "Error: please 'dnf install $$MISSING'"; \
+   exit 1; \
+   fi
+
 dist-buildreq-check: setup-source
@PKGLIST="rpm-build $$(rpmspec -q --buildrequires 
$(SOURCES)/$(SPECFILE) | cut -d ' ' -f 1)"; \
MISSING=""; \
@@ -812,6 +824,7 @@ dist-full-help:
 
@echo  ''
@echo  'Misc targets:'
+   @echo  '  dist-srpmbuildreq-check - Checks for presence of packages 
required for the srpm'
@echo  '  dist-buildreq-check - Checks for presence of packages 
required for build'
@echo  '  dist-get-latest - Returns the latest "known good" kernel from 
brew. This'
@echo  'should not be confused with the latest 
top-of-tree'
diff --git a/redhat/genspec.sh b/redhat/genspec.sh
index blahblah..blahblah 100755
--- a/redhat/genspec.sh
+++ b/redhat/genspec.sh
@@ -70,6 +70,7 @@ test -f "$SOURCES/$SPECFILE" &&
s/%%SPECINCLUDE_RHEL_FILES%%/$SPECINCLUDE_RHEL_FILES/
s/%%SPECPATCHLIST_CHANGELOG%%/$SPECPATCHLIST_CHANGELOG/
s/%%SPECVERSION%%/$SPECVERSION/
+   s/%%SPECSRPMBUILDREQS%%/$SPECSRPMBUILDREQS/
s/%%SPECTARFILE_RELEASE%%/$SPECTARFILE_RELEASE/" "$SOURCES/$SPECFILE"
 test -n "$RHSELFTESTDATA" && test -f "$SOURCES/$SPECFILE" && sed -i -e "
/%%SPECCHANGELOG%%/r $SOURCES/$SPECCHANGELOG
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100755
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -570,9 +570,10 @@ Requires: kernel-modules-uname-r = %{KVERREL}
 #
 # List the packages used during the kernel build
 #
-BuildRequires: kmod, patch, bash, coreutils, tar, git-core, which
-BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, 
perl-devel, perl-generators, make, diffutils, gawk
-BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex, gcc-c++
+BuildRequires: %%SPECSRPMBUILDREQS%%
+BuildRequires: kmod, patch, bash, coreutils, tar, which
+BuildRequires: xz, findutils, gzip, m4, perl-interpreter, perl-Carp, 
perl-devel, perl-generators, diffutils, gawk
+BuildRequires: binutils, redhat-rpm-config, hmaccalc, gcc-c++
 BuildRequires: net-tools, hostname, bc, elfutils-devel
 BuildRequires: dwarves
 BuildRequires: python3-devel

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH 2/3] [redhat] Makefile: drop duplicate dist-sources deps

2022-05-18 Thread Don Zickus (via Email Bridge)
From: Ondrej Mosnacek 

[redhat] Makefile: drop duplicate dist-sources deps

do-rpmbuild itself already depends on dist-sources, thus no need to
specify when we depend on do-rpmbuild already.

Signed-off-by: Ondrej Mosnacek 

diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -574,29 +574,29 @@ do-rpmbuild: dist-sources
$(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir 
$(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" 
--define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" $(RPMBUILDOPTS) 
$(RPM)/SOURCES/$(PACKAGE_NAME).spec
 
 dist-all-rpms: RPMBUILDOPTS=--target $(MACH) -ba
-dist-all-rpms: dist-sources do-rpmbuild
+dist-all-rpms: do-rpmbuild
 
 dist-srpm: RPMBUILDOPTS=--nodeps -bs
-dist-srpm: dist-sources do-rpmbuild
+dist-srpm: do-rpmbuild
 
 dist-srpm-gcov: BUILDID=.gcov
 dist-srpm-gcov: BUILDOPTS+=+gcov
 dist-srpm-gcov: dist-srpm
 
 dist-rpms: RPMBUILDOPTS=--target $(MACH) -bb
-dist-rpms: dist-sources do-rpmbuild
+dist-rpms: do-rpmbuild
 
-dist-kernel-%: dist-sources
+dist-kernel-%:
RPMBUILDOPTS="--target $(MACH) --with $* -bb" make do-rpmbuild
 
 dist-prep: RPMBUILDOPTS=--nodeps --target noarch -bp
-dist-prep: dist-sources do-rpmbuild
+dist-prep: do-rpmbuild
 
 dist-perf: RPMBUILDOPTS=--without up --without smp --without zfcpdump 
--without debug --without doc --without headers --without  --without doc 
--without debuginfo --target $(MACH) -bb
-dist-perf: dist-sources do-rpmbuild
+dist-perf: do-rpmbuild
 
 dist-rpm-baseonly: RPMBUILDOPTS=--target $(MACH) --without debug --without 
debuginfo --without vdso_install --without bpftool --without perf --without 
tools -bb
-dist-rpm-baseonly: dist-sources do-rpmbuild
+dist-rpm-baseonly: do-rpmbuild
 
 # unless you know what you're doing, you don't want to use the next four ones
 dist-release-finish: setup-source

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH 0/3] Implement better SRPM BuildRequires check

2022-05-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786

Developers want to build a srpm locally and submit it to a build server like
Koji.  The current process checks the BuildRequires in the kernel.spec file to
ensure all the right packages are there.  However, that list includes too many
packages.  Reduce the list to the bare minimum.

In addition cleanup the Makefile and utilize the original buildreqs-check
target better.

Signed-off-by: Don Zickus 

---
 redhat/Makefile |  33 -
 redhat/genspec.sh   |   1 +
 redhat/kernel.spec.template |   7 ---
 3 files changed, 29 insertions(+), 12 deletions(-)
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH 3/3] [redhat] Add dist-buildreq-check for binary rpm builds

2022-05-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

[redhat] Add dist-buildreq-check for binary rpm builds

By simplifying the package check to srpm only, we neglect to check
the packaging for local binary rpm building.  Add that Makefile
dependency for those cases.

Signed-off-by: Don Zickus 

diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -573,8 +573,10 @@ dist-test-patch: generate-testpatch-tmp
 do-rpmbuild: dist-sources
$(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir 
$(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" 
--define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" $(RPMBUILDOPTS) 
$(RPM)/SOURCES/$(PACKAGE_NAME).spec
 
+do-rpmbuild-binary: dist-buildreq-check do-rpmbuild
+
 dist-all-rpms: RPMBUILDOPTS=--target $(MACH) -ba
-dist-all-rpms: do-rpmbuild
+dist-all-rpms: do-rpmbuild-binary
 
 dist-srpm: RPMBUILDOPTS=--nodeps -bs
 dist-srpm: do-rpmbuild
@@ -584,19 +586,19 @@ dist-srpm-gcov: BUILDOPTS+=+gcov
 dist-srpm-gcov: dist-srpm
 
 dist-rpms: RPMBUILDOPTS=--target $(MACH) -bb
-dist-rpms: do-rpmbuild
+dist-rpms: do-rpmbuild-binary
 
 dist-kernel-%:
-   RPMBUILDOPTS="--target $(MACH) --with $* -bb" make do-rpmbuild
+   RPMBUILDOPTS="--target $(MACH) --with $* -bb" make do-rpmbuild-binary
 
 dist-prep: RPMBUILDOPTS=--nodeps --target noarch -bp
 dist-prep: do-rpmbuild
 
 dist-perf: RPMBUILDOPTS=--without up --without smp --without zfcpdump 
--without debug --without doc --without headers --without  --without doc 
--without debuginfo --target $(MACH) -bb
-dist-perf: do-rpmbuild
+dist-perf: do-rpmbuild-binary
 
 dist-rpm-baseonly: RPMBUILDOPTS=--target $(MACH) --without debug --without 
debuginfo --without vdso_install --without bpftool --without perf --without 
tools -bb
-dist-rpm-baseonly: do-rpmbuild
+dist-rpm-baseonly: do-rpmbuild-binary
 
 # unless you know what you're doing, you don't want to use the next four ones
 dist-release-finish: setup-source

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH 0/3] Implement better SRPM BuildRequires check

2022-05-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786#note_951720936

@hertonrk-rh @prarit @jmflinuxtx

To answer a variety of questions.  Yes srpm processes the configs.  It kinda
has to otherwise what is rpmbuild going to use to build the kernel? :-)

Why is this an issue now? It popped up with my MR last week actually fixing
how this works (otherwise the dep was only rpmbuild). Some folks do not want
to install the full list of buildreqs just to generate a srpm and upload it.
Especially for users on Fedora trying to build a RHEL-X srpm and don't want to
have to install obsoleted or missing RHEL-X buildreqs (system-sb-certs, llvm-
tools, etc).

As for 'dnf builddep kernel' that could work too in some cases.  One quirk
with that approach is it needs to match the kernel in development, so a RHEL
kernel on a Fedora distro may not work.  But we can advertise this too if we
want.

I am also looking at the docs here: https://cki-project.gitlab.io/kernel-
ark/#cloning-the-repository should either be auto-generated or told to use
'dnf builddep kernel'.  I am working with COPR and they didn't have an easy
way to install the packages necessary to build the srpm other than guessing.

I am trying to improve the user experience
git clone 
make dist-srpmbuildreqs-check | sudo dnf install  (??)
make dist-srpm
koji build

or something like that.  IOW there is a gap here that I am trying to address
with a consistent story.  Something that isn't complicated (yeah, this MR
leans toward complicated).

Thoughts?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH 1/3] [redhat] Explicitly set srpm requirements

2022-05-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786#note_951705198

I can't prove it mathematically, but in order to build the SRPM, you need to
build the configs.  What does dist-configs-check do that regular dist-configs
does not?  And if it is missing something, then we add it in there.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH 3/3] [redhat] Add dist-buildreq-check for binary rpm builds

2022-05-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786#note_951723323

Sure, but it doesn't describe why some rpmbuild commands get it, while others
do not.  Hence the -binary part.  If you are building binaries you needed the
extra suffix.  This makes it clear for future targets.  While the rule is the
same for your name, it doesn't appear to be as clear to me.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH 0/3] Implement better SRPM BuildRequires check

2022-05-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786#note_951732268

Oh and @omos filed this https://gitlab.com/cki-project/kernel-
ark/-/merge_requests/1781 because he got hit with my buildreqs change from
last week.  That MR kinda undoes the check and defeats the spirit of it.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCHv2 0/4] redhat/self-tests: Add self-tests to gitlab-ci.yaml

2022-05-20 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1741#note_954969180

I don't know who or what was originally blocking this thread, but I believe it
to be resolved (at least Prarit and Veronika appear to think things are good).
So I am clicking the resolve button. :-)
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCHv2 0/4] redhat/self-tests: Add self-tests to gitlab-ci.yaml

2022-05-20 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1741#note_954971065

@jmflinuxtx - up to you if you want to sneak this in before Monday's merge
window opening.  The last commit in this series is the piece that enables the
cki part (run_self_test: true).  So reverting that patch disables this from
any MRs next week.  Up to you.  Otherwise we can wait until -rc2.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH] redhat/kernel.spec.template: remove stray *.hardlink-temporary files, if any

2022-05-27 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1811#note_962560082

@ptalbert @jmflinuxtx @prarit - so this breaks the self-tests and if included
will break self-tests for all future configs.  Hopefully this doesn't get
merged until that is resolved?  Or is that not showing up in the ARK process?

@prarit - what is the correct way to resolve this?  regenerate the kernel test
data?  make dist-self-test-data?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH] redhat/kernel.spec.template: remove stray *.hardlink-temporary files, if any

2022-05-27 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1811#note_962630004

It does.  Though I have a patch to reduce it down to changes to the %%SPEC
lines, which is more realistic.  I have to wait for @prarit to come back from
PTO to review it.  But for this MR, recreating the data is the current path
forward.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH] Fix nightly merge CI

2022-05-12 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Fix nightly merge CI

My recent MR for builddeps broke the nightly merge CI scripts because
the script was using the wrong supported container.  Update the CI
script to use the correct supported CKI container image for ARK.

Signed-off-by: Don Zickus 

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index blahblah..blahblah 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -183,7 +183,7 @@ rhel9_realtime_baseline:
 
 # scheduled job
 .scheduled_setup:
-  image: registry.gitlab.com/cki-project/containers/builder-fedora
+  image: registry.gitlab.com/cki-project/containers/builder-rawhide
   variables:
 GIT_DEPTH: "0"
 GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/kernel-ark

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1777
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCHv2 0/17] redhat/Makefile: General improvements and fixes

2022-05-16 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1757#note_948427545

It definitely depends on the repo.  I think I had so more garbage that it
inflated things.  'git gc' removed enough junk that my 'git log --oneline' is
down to 12.

Looking into this more.

SPECBUILD uses PREBUILD.  PREBUILD is based on MARKER which is based on
MERGE_HEAD with upstream. The point of SPECBUILD is to have a sha to describe
upstream merge base.  The argument becomes if upstream relies on 12, then that
should good enough to use as a description in SPECBUILD.

Now the user's local enviornment may change but it should be rare??  In my
case I can get away with 6 as my minimum merge base MARKER (for uniqueness) ('
--abbrev=4' but shows 6).

So I guess I can logically convince myself that 12 is fine by me.

@prarit thoughts?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCHv2 0/17] redhat/Makefile: General improvements and fixes

2022-05-16 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1757#note_948374003

maybe it is just me, but a 'git log --oneline' shows 13 chars already.

git log --oneline   --abbrev=8|grep -Ev "^[0-9a-f]{,10} "

shows me 9 commits that are 11 chars long.

I am not sure how to autocheck what everyone's git tool is going to spit out
for length. We can hardcode 12, but if I am already on 13, then the check is
broken for my usage. I don't want the user experience to be "pass locally, but
break in koji". That would be frustrating.

I think we agreed on 15 as that would give us a couple of years, perhaps.  We
can make it more dynamic if we had the code and can spit out a good usage
message that said your git sha changed length or something.

I am up for ideas.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH 0/2] Makefile: only depend on dist-buildreq-check when building actual RPMs

2022-05-16 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1781#note_948589022

@hertonrk-rh agreed.  There are srpm deps: https://cki-
project.gitlab.io/kernel-ark/#cloning-the-repository

Now I will agree that dist-buildreq-check might have swung to far in one
direction to capture the smaller subset for srpms.  Is there a better way to
do that check?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH] Use new HOME path in ssh command

2022-06-23 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1887#note_1002826830

with containers!412 merged, this MR is unnecessary.  Closing.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCHv3] Test: Broken code, do not merge

2022-06-22 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Test: Broken code, do not merge

diff --git a/redhat/docs/index.rst b/redhat/docs/index.rst
index blahblah..blahblah 100644
--- a/redhat/docs/index.rst
+++ b/redhat/docs/index.rst
@@ -117,7 +117,7 @@ Contributor Guide
 Maintainer Guide
 
 
-.. toctree::
+.. asdftasfoctree::
:maxdepth: 2
 
maintaining

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1873
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH] Use new HOME path in ssh command

2022-06-22 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Use new HOME path in ssh command

CKI recently updated the HOME variable to point to /cki instead of
/root.  The .gitlab-ci.yml file applies all ssh tweaks to ~/.ssh/ which
is /cki/.ssh.  However, ssh still uses /root/.ssh.  So all the tweaks
are ignored and ssh connections to gitlab fail.

Fix this by telling git to use a different location with
GIT_SSH_COMMAND=ssh -o UserKnownHostsFile=$HOME/.ssh/known_hosts.

Tested locally with the cki container.

Signed-off-by: Don Zickus 

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index blahblah..blahblah 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -207,6 +207,8 @@ rhel9_realtime_baseline:
 - gpg2 --import "$TORVALDS_GPG_KEY"
 - git checkout --track origin/master && git describe
 - export PROJECT_ID="$CI_PROJECT_ID"
+# CKI changed HOME to /cki which ssh does not pickup
+- export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=$HOME/.ssh/known_hosts"
 
 merge_upstream:
   extends: .scheduled_setup

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1887
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH] Enable CKI on os-build MRs only

2022-06-13 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Enable CKI on os-build MRs only

Not all the old Fedora branches have the latest Makefile and specfile
changes to support the self-test check.  Disable the Fedora branches for
now.

Signed-off-by: Don Zickus 

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index blahblah..blahblah 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -56,6 +56,8 @@ workflow:
 skip_publish: 'true'
 skip_test: 'true'
 skip_results: 'true'
+  rules:
+- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "os-build"'
 
 .9-common:
   variables:

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1877
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH 0/2] create-data.sh: Reduce specfile data output

2022-06-14 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1878#note_990962307

Thank you!
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCHv2] Test: Broken code, do not merge

2022-06-14 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Test: Broken code, do not merge

diff --git a/redhat/docs/index.rst b/redhat/docs/index.rst
index blahblah..blahblah 100644
--- a/redhat/docs/index.rst
+++ b/redhat/docs/index.rst
@@ -117,7 +117,7 @@ Contributor Guide
 Maintainer Guide
 
 
-.. toctree::
+.. tasfoctree::
:maxdepth: 2
 
maintaining

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1873
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH] Test: Broken code, do not merge

2022-06-13 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Test: Broken code, do not merge

diff --git a/redhat/docs/index.rst b/redhat/docs/index.rst
index blahblah..blahblah 100644
--- a/redhat/docs/index.rst
+++ b/redhat/docs/index.rst
@@ -117,7 +117,7 @@ Contributor Guide
 Maintainer Guide
 
 
-.. toctree::
+.. tasfoctree::
:maxdepth: 2
 
maintaining

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1873
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH] Add system-sb-certs for RHEL-9

2022-05-10 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1774#note_941572465

Hmm, I remembered centos-stream, but forgot about centos.

I will push that update.  Not sure if that change or just using '!{?fedora}'
is easier.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCHv2] Add system-sb-certs for RHEL-9

2022-05-10 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add system-sb-certs for RHEL-9

Copy the RHEL-9 signing requirement over to ARK.  This change is wrapped
with "{?rhel}{?centos} && !{?eln}" to allow Fedora and ELN to continue
using their signing technology.

The system-sb-certs is just a metapackage for either rhel-sb-certs or
centos-sb-certs, depending on what is installed on your system.

Tested by building under koji eln successfully.

Signed-off-by: Don Zickus 

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100755
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -654,6 +654,10 @@ BuildRequires: kabi-dw
 %if %{signkernel}%{signmodules}
 BuildRequires: openssl
 %if %{signkernel}
+# ELN uses Fedora signing process, so exclude
+%if 0%{?rhel}%{?centos} && !0%{?eln}
+BuildRequires: system-sb-certs
+%endif
 %ifarch x86_64 aarch64
 BuildRequires: nss-tools
 BuildRequires: pesign >= 0.10-4

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1774
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH] Fix dist-buildcheck-reqs

2022-05-09 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Fix dist-buildcheck-reqs

The check for rpmspec buildrequires wasn't working because of a Makefile
typo.  Verified by deleting known buildreqs.

Signed-off-by: Don Zickus 

diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -462,7 +462,7 @@ dist-git-version-check:
fi
 
 dist-buildreq-check: setup-source
-   @PKGLIST="rpm-build $(rpmspec -q --buildrequires $(SOURCES)/$(SPECFILE) 
| cut -d ' ' -f 1)"; \
+   @PKGLIST="rpm-build $$(rpmspec -q --buildrequires 
$(SOURCES)/$(SPECFILE) | cut -d ' ' -f 1)"; \
MISSING=""; \
for pkg in $$PKGLIST; do \
rpm -q --whatprovides $$pkg >/dev/null || MISSING="$$MISSING 
$$pkg"; \

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1773
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


[OS-BUILD PATCH] Add system-sb-certs for RHEL-9

2022-05-09 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Add system-sb-certs for RHEL-9

Copy the RHEL-9 signing requirement over to ARK.  This change is wrapped
with "{?rhel} && !{?eln}" to allow Fedora and ELN to continue using
their signing technology.

The system-sb-certs is just a metapackage for either rhel-sb-certs or
centos-sb-certs, depending on what is installed on your system.

Tested by building under koji eln successfully.

Signed-off-by: Don Zickus 

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100755
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -654,6 +654,10 @@ BuildRequires: kabi-dw
 %if %{signkernel}%{signmodules}
 BuildRequires: openssl
 %if %{signkernel}
+# ELN uses Fedora signing process, so exclude
+%if 0%{?rhel} && !0%{?eln}
+BuildRequires: system-sb-certs
+%endif
 %ifarch x86_64 aarch64
 BuildRequires: nss-tools
 BuildRequires: pesign >= 0.10-4

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1774
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH] Add system-sb-certs for RHEL-9

2022-05-09 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1774#note_940375865

@hertonrk-rh @jmflinuxtx - is this a respectful way to wrap this buildreq?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [OS-BUILD PATCH 0/8] redhat: Cleanup scripts

2022-10-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2095#note_1139862125

@jwilsonrh - +1.  directories should have a 'theme'.  I am ok with
'scripts/gating'.  or 'scripts/osci' as those scripts are specific to osci.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH 0/3] [redhat] enable some key Tegra SoC features

2022-10-17 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2083#note_1138460406

@ahs3 - we don't see any code using this config.  Am I missing something
(other than the defconfig file)?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH] redhat/configs: Disable CONFIG_FW_LOADER_COMPRESS

2022-10-24 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2112#note_1146743250

@hertonrk-rh - you had to enable this for rhel-9 it appears.  can you provide
some background?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH 0/2] Reduce disk space requirements of the kernel build

2022-09-26 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1950#note_1114646949

@jwilsonrh - can you reply here?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH] Remove unused ci scripts

2022-10-11 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Remove unused ci scripts

The ARK CI process has changed over time and the following scripts are
no longer used.  Remove them to avoid confusion for future contributors.

* ark-rebase-patches.sh
  used to rebase patches for ark-patches.  ark-patches was replaced by
the current merge based workflow.

* ark-update-changelog.sh
  a legacy implementation to update the changelog on os-build from
ark-latest when ark-patches was being used.  This has been replaced by
the current merge based workflow.

* sign_off_check.py
  used by ci scripts to verify every MR had a signed-off-by line.
Replaced with kernel-webhooks implementation of the same idea.

Signed-off-by: Don Zickus 

diff --git a/redhat/scripts/ci/ark-rebase-patches.sh 
b/redhat/scripts/ci/ark-rebase-patches.sh
deleted file mode 100755
index blahblah..blahblah 0
--- a/redhat/scripts/ci/ark-rebase-patches.sh
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/usr/bin/bash
-#
-# Automatically rebase the kernel patches in ark-patches.
-#
-# If the REPORT_BUGS environment variable is set, any patches that do not apply
-# cleanly during the rebase are dropped, and an issue is filed to track 
rebasing
-# that patch.
-#
-# If run with REPORT_BUGS, you must have python3-gitlab installed and a
-# configuration file set up in ~/.python-gitlab.cfg or /etc/python-gitlab.cfg.
-# An example configuration can be found at
-# https://python-gitlab.readthedocs.io/en/stable/cli.html. If the configuration
-# is not in one of the above locations, the path can be set
-# with the PYTHON_GITLAB_CONFIG environment variable.
-#
-# Arguments:
-#   1) The commit/tag/branch to rebase onto.
-#   2) The Gitlab project ID to file issues against. See the project page on
-#  Gitlab for the ID. For example, 
https://gitlab.com/cki-project/kernel-ark/
-#  is project ID 13604247
-set -e
-
-UPSTREAM_REF=${1:-master}
-test -n "$PROJECT_ID" || PROJECT_ID="${2:-13604247}"
-
-ISSUE_TEMPLATE="During an automated rebase of ark-patches, commit %s failed to 
rebase.
-
-The commit in question is:
-~~~
-%s
-~~~
-
-To fix this issue:
-
-1. \`git rebase upstream ark-patches\`
-2. Use your soft, squishy brain to resolve the conflict as you see fit. If it 
is
-   non-trivial and has an \"Upstream Status: RHEL only\" tag, ask the author
-   to rebase the patch.
-3. \`if git tag -v $UPSTREAM_REF; then git branch ark/patches/$UPSTREAM_REF && 
git push upstream ark/patches/$UPSTREAM_REF; fi\`
-4. \`git push -f upstream ark-patches\`
-"
-
-if [ -z "$PYTHON_GITLAB_CONFIG" ]; then
-   GITLAB_CONFIG_OPT=""
-else
-   GITLAB_CONFIG_OPT="-c $PYTHON_GITLAB_CONFIG"
-fi
-
-# Check if ark-patches is already rebased to $UPSTREAM_REF
-test -n "$(git branch os-build --contains "$UPSTREAM_REF")" && exit 0
-
-if git show "$UPSTREAM_REF" > /dev/null 2>&1; then
-   printf "Rebasing ark-patches onto %s...\n" "$UPSTREAM_REF"
-else
-   printf "No such git object \"%s\" in tree\n" "$UPSTREAM_REF"
-   exit 1
-fi
-
-if [ -n "$PROJECT_ID" ] && [ "$PROJECT_ID" -eq "$PROJECT_ID" ] 2> /dev/null; 
then
-   printf "Filing issues against GitLab project ID %s\n" "$PROJECT_ID"
-else
-   printf "No Gitlab project ID specified; halting!\n"
-   exit 1
-fi
-
-CLEAN_REBASE=true
-if git rebase "$UPSTREAM_REF" ark-patches; then
-   printf "Cleanly rebased all patches\n"
-elif [ -n "$REPORT_BUGS" ]; then
-   while true; do
-   CLEAN_REBASE=false
-   CONFLICT=$(git am --show-current-patch)
-   COMMIT=$(git am --show-current-patch | head -n1 | awk '{print 
$2}' | cut -c 1-12)
-   TITLE=$(printf "Unable to automatically rebase commit %s" 
"$COMMIT")
-   # shellcheck disable=SC2059 # There is a multi-line pattern 
in ISSUE_TEMPLATE;
-   # wiki says there is no good rewrite and recommends disabling 
warning.
-   DESC=$(printf "$ISSUE_TEMPLATE" "$COMMIT" "$CONFLICT")
-   # shellcheck disable=SC2086
-   # GITLAB_CONFIG_OPT DEPENDS on word splitting:
-   OPEN_ISSUES=$(gitlab $GITLAB_CONFIG_OPT project-issue list 
--project-id "$PROJECT_ID" --search "$TITLE")
-   if [ -n "$OPEN_ISSUES" ]; then
-   echo "Skipping filing an issue about commit $COMMIT; 
already exists as $OPEN_ISSUES"
-   continue
-   fi
-
-   # shellcheck disable=SC2086
-   # GITLAB_CONFIG_OPT DEPENDS on word splitting:
-   if gitlab $GITLAB_CONFIG_OPT project-issue create --project-id 
"$PROJECT_ID" \
-   --title "$TITLE

Re: [OS-BUILD PATCHv2] redhat/configs: Disable fbdev drivers and use simpledrm everywhere

2022-10-03 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1533#note_1122556452

@Lyude - do you have time for a quick review?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH 0/3] Implement better SRPM BuildRequires check

2022-08-15 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1786#note_1065198628

Closing in favor of https://gitlab.com/cki-project/kernel-
ark/-/merge_requests/1900
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH] redhat/Makefile: Clean linux tarballs

2022-08-09 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1975#note_1056132350

Hmm.  long ago, creating the linux tarball took a couple of minutes.  So if
you were constantly running make dist-srpm and friends that couple of minutes
got annoying (much like how dist-configs got annoying).  Not removing the
tarball was a nice optimization trade-off.  Though it left the old ones
behind.  Now for ARK those tarballs are outdated daily.  RHEL not so much.
Not sure if today's tar/compression is parallelized to speed things up?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv4 0/8] ark: rework changelog generation process during dist-release

2022-08-17 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1980#note_1067725269

Thanks @hertonrk-rh for this series!  It looks to be an improvement in the
overall workflow (which shows with the later commits removing workarounds).  I
don't have any objections with the work.  It appears your solution is to
generate a temporary changelog and look for entries (wc -l > 3) and if so,
call dist-release-finish?

My only concern is, will there be confusion on genlog.sh vs. genlog.py?  I was
confused for awhile until I noticed the subtle '.sh' vs '.py'. Though it looks
like genlog.py is only called by genlog.sh?  So perhaps it is fine.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv4 0/8] ark: rework changelog generation process during dist-release

2022-08-17 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1980#note_1067842595

Thanks!  I think this series is good prep work for the real fix, which is to
correctly handle the marker != last_marker case (merge update).  This patchset
will just say 'rebase', which is what the script comment suggests but isn't
accurate.  Instead this case happens with a nightly merge.

Do you have output of a simulated marker != last_marker changelog output? I
want Justin to verify that is what he expects it to look like.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv4 0/8] ark: rework changelog generation process during dist-release

2022-08-17 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1980#note_1067930412

Perfect example env!  So a couple of things.  I believe the 'rebase' word is
incorrect and the 'Resolves' line should be removed?? (I thought it was with
your sed magic?).

Sadly, I think we should fix these be committing this MR otherwise we will
start seeing lots of 'rebase' in the changelog every night, which isn't a good
idea.

@jmflinuxtx - would is your expected changelog output for nightly merges?

"Merged upstream commit 3cc40a443a04" ??
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv5 0/9] ark: rework changelog generation process during dist-release

2022-08-17 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1980#note_1067980884

I am happy if Justin is happy.  Thanks @hertonrk-rh !
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH] Revert "redhat: fix elf got hardening for vm tools"

2022-12-22 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Revert "redhat: fix elf got hardening for vm tools"

This reverts commit eb5aebd77015bc57616c5d05a7b6206c8ff871cb.

A recent rework of the tools/vm area relies on a proper CFLAGS
definition to include the proper header files.  The kernel.spec file
purposely overwrites the CFLAGS to get the right switches to pass
rpminspect.  As a consequence tools/vm fails to compile.

For now just revert the change and await a proper fix.

To duplicate:

cd tools/vm
make CFLAGS= slabinfo page_owner_sort

make -C ../lib/api
make[1]: Entering directory
'/home/dzickus/devel/git/kernel-ark/tools/lib/api'
/usr/bin/make -C /home/dzickus/devel/git/kernel-ark/tools/build CFLAGS= 
LDFLAGS= fixdep
  CC  fd/array.o
  LD  fd/libapi-in.o
  CC  fs/fs.o
fs/fs.c:17:10: fatal error: debug-internal.h: No such file or directory
   17 | #include "debug-internal.h"
  |  ^~
compilation terminated.
make[3]: *** [/home/dzickus/devel/git/kernel-ark/tools/build/Makefile.build:97: 
fs/fs.o] Error 1
make[2]: *** 
[/home/dzickus/devel/git/kernel-ark/tools/build/Makefile.build:139: fs] Error 2
make[1]: *** [Makefile:79: libapi-in.o] Error 2
make[1]: Leaving directory
'/home/dzickus/devel/git/kernel-ark/tools/lib/api'
make: *** [Makefile:19: ../lib/api/libapi.a] Error 2

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100755
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -2340,7 +2340,7 @@ pushd tools/gpio/
 popd
 # build VM tools
 pushd tools/vm/
-%{tools_make} CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" slabinfo 
page_owner_sort
+%{tools_make} slabinfo page_owner_sort
 popd
 pushd tools/tracing/rtla
 %{tools_make}

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2236
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv2] Revert "redhat: fix elf got hardening for vm tools"

2022-12-22 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2236#note_1219424373

/block
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCHv2] Revert "redhat: fix elf got hardening for vm tools"

2022-12-22 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Revert "redhat: fix elf got hardening for vm tools"

This reverts commit eb5aebd77015bc57616c5d05a7b6206c8ff871cb.

A recent rework of the tools/vm area relies on a proper CFLAGS
definition to include the proper header files.  The kernel.spec file
purposely overwrites the CFLAGS to get the right switches to pass
rpminspect.  As a consequence tools/vm fails to compile.

For now just revert the change and await a proper fix.

To duplicate:

cd tools/vm
make CFLAGS= slabinfo page_owner_sort

make -C ../lib/api
make[1]: Entering directory
'/home/dzickus/devel/git/kernel-ark/tools/lib/api'
/usr/bin/make -C /home/dzickus/devel/git/kernel-ark/tools/build CFLAGS= 
LDFLAGS= fixdep
  CC  fd/array.o
  LD  fd/libapi-in.o
  CC  fs/fs.o
fs/fs.c:17:10: fatal error: debug-internal.h: No such file or directory
   17 | #include "debug-internal.h"
  |  ^~
compilation terminated.
make[3]: *** [/home/dzickus/devel/git/kernel-ark/tools/build/Makefile.build:97: 
fs/fs.o] Error 1
make[2]: *** 
[/home/dzickus/devel/git/kernel-ark/tools/build/Makefile.build:139: fs] Error 2
make[1]: *** [Makefile:79: libapi-in.o] Error 2
make[1]: Leaving directory
'/home/dzickus/devel/git/kernel-ark/tools/lib/api'
make: *** [Makefile:19: ../lib/api/libapi.a] Error 2

Signed-off-by: Don Zickus 

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100755
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -2340,7 +2340,7 @@ pushd tools/gpio/
 popd
 # build VM tools
 pushd tools/vm/
-%{tools_make} CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" slabinfo 
page_owner_sort
+%{tools_make} slabinfo page_owner_sort
 popd
 pushd tools/tracing/rtla
 %{tools_make}

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2236
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv2] Revert "redhat: fix elf got hardening for vm tools"

2022-12-22 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2236#note_1219422925

@hertonrk-rh - the revert is Frantisek's change.  Not sure if you are familiar
with it?  I was wondering if we could replace 'CFLAGS=' with 'EXTRA_CFLAGS='
and have it still help with rpminspect?  I don't know how to run the tool
otherwise I would try it.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv2] redhat/configs: Enable CRYPTO_CURVE25519 in ark

2022-12-20 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2225#note_1216392018

@jmflinuxtx - hmm, did we agree to avoid touching common and only let a bot do
that?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv3] makefile: Add -Werror support for RHEL

2023-01-06 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2240#note_1230246925

@prarit - hmm, ok I am torn here.  I thank you for respecting the 'do not
break ARK approach'.  But then I wonder what is the value of this in ARK
(besides the obvious don't lose changes)?  Because once your fork for RHEL,
you are now stuck for XX weeks until this backlog of errors are cleaned up. Or
you just disable it to move forward (which probably happened for RHEL-9).

The value of ARK/rawhide is discovering potential RHEL problems early and
resolving them before RHEL sees them.  Of course, fixing them can be a
firedrill but I am trying to find techniques to minimize that and become more
async.

Can we say upstream GA needs to be -Werror clean (for ARK), but give ourselves
~8 weeks to resolve them.  This means using CONFIG_WERROR becomes a RHEL thing
but maybe we track WARNINGS during the -rc cycle that need resolving?

Just trying to brainstorm using the idea of -Werror for ARK to give value to
RHEL without creating the OMG firedrill behind it.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv2] Check for kernel config git-push failures

2022-12-09 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2165#note_1203471910

ugh how dumb of me.  I can create an MR that 'touch'es or 'rm -f'.  Any
preference @jmflinuxtx @ptalbert ?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCHv2] Check for kernel config git-push failures

2022-12-09 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2165#note_1203488108

created !2183 with 'touch' fix
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH 0/2] redhat: Create a git repo when the srpm code is installed

2022-12-05 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2174#note_119735

Agreed. What problem are we solving here?
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: [OS-BUILD PATCH] Remove recommendation to use 'common' for config changes.

2022-11-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus on gitlab.com
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2157#note_1177768175

@jmflinuxtx @scweaver @prarit - here is my attempt to downplay the 'common'
directory for configs.
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


[OS-BUILD PATCH] Remove recommendation to use 'common' for config changes.

2022-11-18 Thread Don Zickus (via Email Bridge)
From: Don Zickus 

Remove recommendation to use 'common' for config changes.

Config changes should be focused on the 'ark' or 'fedora' directory.
Update the docs to promote that.

Signed-off-by: Don Zickus 

diff --git a/redhat/docs/submitting-contributions.rst 
b/redhat/docs/submitting-contributions.rst
index blahblah..blahblah 100644
--- a/redhat/docs/submitting-contributions.rst
+++ b/redhat/docs/submitting-contributions.rst
@@ -72,10 +72,12 @@ more generic directories. Configurations that are specific 
to a
 particular architecture should be placed in that architecture's
 directory rather in the generic directory.
 
-Configuration changes in the ``common`` and ``ark`` directories require
-review from Red Hat kernel developers, where-as the configurations in
-``fedora`` can be changed with the approval of the Fedora kernel
-maintainers.
+Configuration changes in the ``ark`` directory requires review from Red Hat
+kernel developers, where-as the configurations in ``fedora`` can be changed
+with the approval of the Fedora kernel maintainers.  The ``common``
+directory is for changes common to both ``ark`` and ``fedora`` and will be
+populated by a bot that periodically looks in both ``ark`` and ``fedora``
+for common changes.
 
 Makefile changes
 

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2157
___
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


<    1   2   3   4   5   6   7   8   >