Compare commits

..

4 Commits

Author SHA1 Message Date
9af0a381aa Remove Conflicts for kernel-core
All checks were successful
RPMs/gasket-driver/pipeline/head This commit looks good
Now that the _gasket-driver_ package is an "install only" package
(meaning multiple versions can be installed simultaneously), the
conflict with _kernel-core_ no longer makes sense.  Since
_gasket-driver_ will never "update," the old version will not be
uninstalled, and thus will continuously prevent installing a new kernel
version.

Removing the conflict does open up the possibility of having a new
kernel version installed without a corresponding _gasket-driver_
package.  I think the CI pipeline is working well enough, though, that
this is unlikely.  I would much rather keep the "install only" feature,
so that booting into an older kernel will work as expected.
2025-12-02 18:26:57 -06:00
1b1bd829f1 ci: Fix NoSuchMethodError
All checks were successful
RPMs/gasket-driver/pipeline/head This commit looks good
That's the problem with having conditional stages that don't execute for
test builds...
2025-11-23 18:19:30 -06:00
71bb2e8de5 Provide installonlypkg(kernel-module)
Some checks failed
RPMs/gasket-driver/pipeline/head There was a failure building this commit
This should hopefully allow multiple simultaneous versions of the
package to be installed (i.e. one for each installed kernel), without
having to explicitly specify `installonlypkgs = gasket-driver` in
`dnf.conf`.
2025-11-23 18:15:08 -06:00
1a2b2f604c ci: Use fedoraBuild function
All checks were successful
RPMs/gasket-driver/pipeline/head This commit looks good
Instead of manually specifying a list of Fedora versions to target, we
can now use the `fedoraBuild` pipeline function to generate the target
matrix automatically.

Note that the stage names need to be unique, as the `when` function
cannot mark the correct stage as "skipped" if there are multiple stages
with the same name.
2025-11-23 16:48:40 -06:00
2 changed files with 23 additions and 14 deletions

26
ci/Jenkinsfile vendored
View File

@@ -1,4 +1,4 @@
@Library('dch@fedora')_ @Library('dch')_
properties([ properties([
pipelineTriggers([ pipelineTriggers([
@@ -19,29 +19,33 @@ properties([
]) ])
try { try {
fedoraBuild(architectures: ['amd64']) { fedoraBuild(
stage('Prepare') { architectures: ['amd64'],
podTemplate: 'ci/podTemplate.yaml',
buildContainer: 'fedora',
) { arch, fedoraVersion ->
stage("Prepare f${fedoraVersion}/${arch}") {
checkout scm checkout scm
container('build') { container('fedora') {
sh '. ci/prepare.sh' sh '. ci/prepare.sh'
} }
} }
stage('Build') { stage("Build f${fedoraVersion}/${arch}") {
withCredentials([file( withCredentials([file(
credentialsId: 'kmod-signing-cert', credentialsId: 'kmod-signing-cert',
variable: 'SIGNING_KEY', variable: 'SIGNING_KEY',
)]) { )]) {
container('build') { container('fedora') {
sh '. ci/build.sh' sh '. ci/build.sh'
} }
} }
} }
stage('Sign') { stage("Sign f${fedoraVersion}/${arch}") {
when(BRANCH_NAME == 'main') { when(BRANCH_NAME == 'main') {
withEnvironment([ withEnv([
"GNUPGHOME=${env.WORKSPACE_TMP}/gnupg", "GNUPGHOME=${env.WORKSPACE_TMP}/gnupg",
]) { ]) {
withCredentials([ withCredentials([
@@ -54,17 +58,19 @@ try {
variable: 'RPM_GPG_KEY_PASSPHRASE', variable: 'RPM_GPG_KEY_PASSPHRASE',
), ),
]) { ]) {
container('fedora') {
sh '. ci/sign.sh' sh '. ci/sign.sh'
} }
} }
} }
} }
}
archiveArtifacts '*.rpm' archiveArtifacts '*.rpm'
stage('Publish') { stage("Publish f${fedoraVersion}/${arch}") {
when(BRANCH_NAME == 'main') { when(BRANCH_NAME == 'main') {
container('build') { container('fedora') {
sshagent(['jenkins-repohost']) { sshagent(['jenkins-repohost']) {
sh '. ci/publish.sh' sh '. ci/publish.sh'
} }

View File

@@ -9,7 +9,7 @@
Name: gasket-driver Name: gasket-driver
Version: 0.0.git%{git_revision} Version: 0.0.git%{git_revision}
Release: 3.k%{kernel_version}%{?dist} Release: 5.k%{kernel_version}%{?dist}
Summary: The Coral Gasket Driver allows usage of the Coral EdgeTPU on Linux systems Summary: The Coral Gasket Driver allows usage of the Coral EdgeTPU on Linux systems
License: GPL-2.0 License: GPL-2.0
@@ -19,8 +19,8 @@ Patch0: 0001-core-Omit-no_llseek-reference.patch
Patch1: 0002-Update-gasket_page_table.c-Fix-MODULE_IMPORT_NS.patch Patch1: 0002-Update-gasket_page_table.c-Fix-MODULE_IMPORT_NS.patch
BuildRequires: kernel-devel BuildRequires: kernel-devel
Provides: installonlypkg(kernel-module)
Requires: kernel-core == %{kernel_version} Requires: kernel-core == %{kernel_version}
Conflicts: kernel-core > %{kernel_version}
Requires(post): kmod Requires(post): kmod
%description %description
@@ -50,6 +50,9 @@ depmod -a %{kernel_ver}.%{_arch}
%changelog %changelog
* Sun Nov 23 2025 Dustin C. Hatch <dustin@hatch.name> [0.0.git5815ee3-4]
- Provide installonlypkg(kernel-module)
* Sun Nov 16 2025 Dustin C. Hatch <dustin@hatch.name> [0.0.git5815ee3-2] * Sun Nov 16 2025 Dustin C. Hatch <dustin@hatch.name> [0.0.git5815ee3-2]
- Include kernel version in release tag - Include kernel version in release tag