Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
FMC Software Support
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Projects
FMC Software Support
Commits
6aa0c159
Commit
6aa0c159
authored
Oct 07, 2019
by
Federico Vaga
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release/v1.0.1'
parents
116839de
ce9bb38e
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
177 additions
and
19 deletions
+177
-19
.gitignore
.gitignore
+5
-1
.gitlab-ci.yml
.gitlab-ci.yml
+54
-0
.koji
.koji
+6
-0
CHANGELOG
CHANGELOG
+7
-0
Makefile
Makefile
+13
-0
.gitignore
distribution/.gitignore
+1
-0
Makefile
distribution/Makefile
+55
-18
fmc.spec
distribution/fmc.spec
+36
-0
No files found.
.gitignore
View file @
6aa0c159
...
...
@@ -49,4 +49,8 @@
modules.order
Module.symvers
Mkfile.old
dkms.conf
\ No newline at end of file
dkms.conf
Makefile.specific
GTAGS
GPATH
GRTAGS
\ No newline at end of file
.gitlab-ci.yml
0 → 100644
View file @
6aa0c159
---
variables
:
KOJI_TARGET
:
'
ohwr7'
KOJI_DISTTAG
:
'
.el7.cern'
DIST_PATH
:
distribution
BUILD_PATH
:
distribution/build
stages
:
-
build
-
dkms
-
srpm
-
kscratch
-
kbuild
build
:
stage
:
build
script
:
-
yum install -y kernel-devel
-
LINUX=/usr/src/kernels/*/ make modules
build_dkms_rpm
:
stage
:
dkms
script
:
-
yum install -y dkms
-
make -C distribution dkms-rpm
build_srpm
:
stage
:
srpm
script
:
-
yum-builddep -y ${DIST_PATH}/*.spec
-
LINUX=/usr/src/kernels/*/ make -C distribution srpm
artifacts
:
paths
:
-
distribution/build/SRPMS/${CI_PROJECT_NAME}*src.rpm
expire_in
:
1 day
.koji_deps_template
:
&koji_deps
before_script
:
-
yum install -y koji krb5-workstation rpm-build
-
echo ${OHWR_PASSWORD} | kinit ${OHWR_USER}
kscratch
:
<<
:
*koji_deps
stage
:
kscratch
script
:
-
koji --config=.koji build --wait --scratch ${KOJI_TARGET} distribution/build/SRPMS/${CI_PROJECT_NAME}*src.rpm
kbuild-ohwr
:
<<
:
*koji_deps
stage
:
kbuild
only
:
-
tags
script
:
-
koji --config=.koji build --wait ${KOJI_TARGET} distribution/build/SRPMS/${CI_PROJECT_NAME}*src.rpm
.koji
0 → 100644
View file @
6aa0c159
[koji]
server = https://kojihub.cern.ch/kojihub
weburl = https://koji.cern.ch/
topurl = https://koji.cern.ch/kojifiles
krb_canon_host = no
krb_rdns = False
CHANGELOG
View file @
6aa0c159
...
...
@@ -2,6 +2,13 @@
Changelog
=========
[1.0.1] - 2019-10-07
====================
Added
-----
- gitlab CI with automatic RPM deployment on CERN koji
[1.0.0] - 2019-09-26
====================
...
...
Makefile
0 → 100644
View file @
6aa0c159
all
:
modules
modules modules_install
:
@
$(MAKE)
-C
drivers/fmc/
$@
sources srpm
:
@
$(MAKE)
-C
distribution
$@
clean
:
@
$(MAKE)
-C
distribution
$@
@
$(MAKE)
-C
drivers/fmc/
$@
.PHONY
:
sources srpm modules modules_install clean all
distribution/.gitignore
View file @
6aa0c159
build
sources
distribution/Makefile
View file @
6aa0c159
TOP_DIR
?=
$(
shell
pwd
)
/../
DRIVER_NAME
:=
fmc
VERSION
:=
$(
shell
git describe
--abbrev
=
0
)
DIR_NAME
:=
$(DRIVER_NAME)
-
$(VERSION)
NAME
:=
fmc
VERSION
:=
$(
shell
git describe
--abbrev
=
0 |
tr
-d
'v'
)
DIR_NAME
:=
$(NAME)
-
$(VERSION)
KEEP_TEMP
?=
n
BUILD
?=
$
(
abspath build
)
SOURCES
?=
$
(
abspath sources
)
PKG_SOURCES
:=
$(SOURCES)
/
$(DIR_NAME)
BUILD_DKMS
:=
$(BUILD)
/dkms
BUILD_DKMSSOURCE
:=
$(BUILD_DKMS)
/source
BUILD_DKMSTREE
:=
$(BUILD_DKMS)
/tree
RPM_SPEC
:=
$(
shell
mktemp
/tmp/
$(NAME)
-
$(VERSION)
-XXXXXX
.spec
)
DKMS_OPT
:=
--dkmstree
$(BUILD_DKMSTREE)
-m
$(DRIVER_NAME)
/
$(VERSION)
DKMS_OPT
:=
--dkmstree
$(BUILD_DKMSTREE)
-m
$(NAME)
/
$(VERSION)
FIND_OPT
:=
-type
f
-regextype
posix-extended
all
:
kernel
...
...
@@ -20,18 +24,8 @@ dkms-tree:
@
mkdir
-p
$(BUILD_DKMSSOURCE)
@
mkdir
-p
$(BUILD_DKMSTREE)
dkms-src
:
dkms-tree
$
(
eval
$@
_src :
=
$(
shell
git ls-tree
-r
--name-only
HEAD
$(TOP_DIR)
|
grep
-E
"drivers|include"
|
tr
'\n'
' '
)
)
$
(
eval
$@
_dir :
=
$(BUILD_DKMSSOURCE)
/
$(DRIVER_NAME)
-
$(VERSION)
)
@mkdir
-p
$($@_dir)/include/linux
@cp
-a
$($@_src)
$(TOP_DIR)/distribution/dkms.conf
$($@_dir)
@mv
$($@_dir)/ipmi-fru.h
$($@_dir)/fmc.h
$($@_dir)/include/linux
@cp
$(TOP_DIR)/distribution/module-symvers-save
$($@_dir)
@cp
-a
$(TOP_DIR)/LICENSES/GPL-2.0.txt
$($@_dir)/LICENSE
@sed
-r
-i
-e
"s/@PKGNAME@/$(DRIVER_NAME)/"
$($@_dir)/dkms.conf
@sed
-r
-i
-e
"s/@PKGVER@/$(VERSION)/"
$($@_dir)/dkms.conf
dkms-src
:
dkms-tree sources-build
@
cp
-a
$(PKG_SOURCES)
$(BUILD_DKMSSOURCE)
dkms-add
:
dkms-src
@
dkms add
$(DKMS_OPT)
--sourcetree
$(BUILD_DKMSSOURCE)
...
...
@@ -42,7 +36,50 @@ dkms-tar: dkms-add
dkms-rpm
:
dkms-add
@
dkms mkrpm
$(DKMS_OPT)
--source-only
dkms-build
:
dkms-add
@
dkms build
$(DKMS_OPT)
sources-build
:
@
mkdir
-p
$(PKG_SOURCES)
@
find
$(TOP_DIR)
/drivers/fmc/
$(FIND_OPT)
-regex
'.+/([^.]+[.](c|h)|Makefile|Kbuild)'
-exec
cp
\{
}
$(PKG_SOURCES)
\;
@
cp
-a
$(TOP_DIR)
/include
$(PKG_SOURCES)
/
@
cp
-a
$(TOP_DIR)
/LICENSES/GPL-2.0.txt
$(PKG_SOURCES)
/LICENSE
@
cp
-a
$(TOP_DIR)
/CHANGELOG
$(PKG_SOURCES)
/CHANGELOG
@
cp
-a
$(TOP_DIR)
/distribution/dkms.conf
$(PKG_SOURCES)
/
@
sed
-r
-i
-e
"s/@PKGNAME@/
$(NAME)
/"
$(PKG_SOURCES)
/dkms.conf
@
sed
-r
-i
-e
"s/@PKGVER@/
$(VERSION)
/"
$(PKG_SOURCES)
/dkms.conf
sources-tar
:
sources-build
cd
$(SOURCES)
;
tar
czf
$(DIR_NAME)
.tar.gz
--exclude-vcs
$(DIR_NAME)
sources
:
sources-tar
srpm-changelog
:
sources
$
(
eval
$@
_pattern :
=
^
\[
([
0-9]+
\.
[
0-9]+
\.
[
0-9]+
)
\]\s
-
\s
([
0-9]
{
4
}
-[0-9]
{
2
}
-[0-9]
{
2
})
$
)
$
(
eval
$@
_replace :
=
echo
-e
"
\n
"
\\
*
`
date
--date
=
"
\2
"
"+%a %b %d %Y"
`
"
\1
"
)
@cp
-a
$(PKG_SOURCES)/CHANGELOG
$(SOURCES)/CHANGELOG
@sed
-r
-i
-e
"/Changelog/d"
-e
"/^(=|-|\s)*$$/d"
$(SOURCES)/CHANGELOG
@sed
-r
-i
-e
's,$($@_pattern),$($@_replace),e'
$(SOURCES)/CHANGELOG
rpm-spec
:
fmc.spec
# The fmc.spec file is good when we can define variables. With tools like
# koji it is not possible, so we need to create a .spec file without using
# package-specific variables.
@cp
$<
$(RPM_SPEC)
@sed
-i
-e
"s/%{?_build_version}/$(VERSION)/"
$(RPM_SPEC)
srpm
:
sources rpm-spec srpm-changelog
@
rpmbuild
-bs
--define
"_topdir
$(BUILD)
"
\
--define
'_sourcedir
$(SOURCES)
'
\
--define
"_build_version
$(VERSION)
"
\
$(RPM_SPEC)
ifeq
($(KEEP_TEMP),
n)
@rm
-f
$(RPM_SPEC)
endif
clean
:
@
rm
-rf
$(BUILD)
@
rm
-rf
$(BUILD)
$(SOURCES)
*
.tar.gz
$(RPM_SPEC)
.PHONY
:
sources sources-tar sources-build
.PHONY
:
dkmstree dkms-add kernel-dkms-tar
distribution/fmc.spec
0 → 100644
View file @
6aa0c159
name: fmc
version: %{?_build_version}
Release: 1%{?dist}
Summary: Linux kernel FMC Layer support
Group: System/Kernel
License: GPLv2
URL: https://gitlab.cern.ch/coht/fmc/
Source0: %{name}-%{version}.tar.gz
Source1: CHANGELOG
Requires:dkms
%description
Kernel modules for FMC support in a DKMS wrapper.
%prep
%setup -q
%install
mkdir -p %{buildroot}/usr/src/%{name}-%{version}
cp -ra * %{buildroot}/usr/src/%{name}-%{version}/
%post
dkms add -m %{name} -v %{version} --rpm_safe_upgrade
dkms build -m %{name} -v %{version} --rpm_safe_upgrade
dkms install -m %{name} -v %{version} --rpm_safe_upgrade
%preun
dkms remove -m %{name} -v %{version} --rpm_safe_upgrade --all ||:
%files
/usr/src/%{name}-%{version}/
%changelog
%include %{SOURCE1}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment