Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
FMC ADC 100M 14b 4cha
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
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
FMC ADC 100M 14b 4cha
Commits
698e3d9f
Commit
698e3d9f
authored
Nov 18, 2020
by
Federico Vaga
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bld: review RPM DKMS distribution
Signed-off-by:
Federico Vaga
<
federico.vaga@cern.ch
>
parent
97922395
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
64 additions
and
20 deletions
+64
-20
Makefile
distribution/Makefile
+64
-20
No files found.
distribution/Makefile
View file @
698e3d9f
TOP_DIR
?=
..
DRIVER_NAME
:=
fmc-adc-100m14b4ch
VERSION
:=
$(
shell
git describe
--abbrev
=
0
)
DIR_NAME
:=
$(DRIVER_NAME)
-
$(VERSION)
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2020 CERN
TOP_DIR
?=
$(
shell
pwd
)
/../
NAME
:=
fmc-adc-100m14b4ch
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
...
...
@@ -19,19 +28,8 @@ dkms-tree:
@
mkdir
-p
$(BUILD_DKMSSOURCE)
@
mkdir
-p
$(BUILD_DKMSTREE)
dkms-src
:
dkms-tree
$
(
eval
$@
_dir :
=
$(BUILD_DKMSSOURCE)
/
$(DRIVER_NAME)
-
$(VERSION)
)
$
(
eval
$@
_src :
=
$(
shell
git ls-tree
-r
--name-only
HEAD
$(TOP_DIR)
/software/kernel/
*
.[ch]
)
)
@
mkdir
-p
$
(
$@
_dir
)
@
cp
$(TOP_DIR)
/distribution/dkms.conf
$
(
$@
_dir
)
@
cp
$(TOP_DIR)
/distribution/fmc-adc-100m14b4ch-dkms-mkrpm.spec
$
(
$@
_dir
)
@
mkdir
$
(
$@
_dir
)
/platform_data
@
cp
$(TOP_DIR)
/software/kernel/platform_data/
*
$
(
$@
_dir
)
/platform_data/
@
cp
$(TOP_DIR)
/software/kernel/Makefile
$(TOP_DIR)
/software/kernel/Kbuild
$
(
$@
_dir
)
@
cp
$
(
$@
_src
)
$
(
$@
_dir
)
@
cp
$(TOP_DIR)
/LICENSES/GPL-2.0-or-later.txt
$
(
$@
_dir
)
/LICENSE
@
sed
-r
-i
-e
"s/^GIT_VERSION
\s
=
\s
.*/GIT_VERSION =
$(VERSION)
/"
$
(
$@
_dir
)
/Makefile
@
sed
-r
-i
-e
"s/@PKGVER@/
$(VERSION)
/g"
-e
"s/@PKGNAME@/
$(DRIVER_NAME)
/g"
$
(
$@
_dir
)
/dkms.conf
dkms-src
:
dkms-tree source-build
@
cp
-a
$(PKG_SOURCES)
$(BUILD_DKMSSOURCE)
dkms-add
:
dkms-src
@
dkms add
$(DKMS_OPT)
--sourcetree
$(BUILD_DKMSSOURCE)
...
...
@@ -42,7 +40,53 @@ dkms-tar: dkms-add
dkms-rpm
:
dkms-add
@
dkms mkrpm
$(DKMS_OPT)
--source-only
dkms-build
:
dkms-add
@
dkms build
$(DKMS_OPT)
source-build
:
@
mkdir
-p
$(PKG_SOURCES)
@
find
$(TOP_DIR)
/software/kernel
$(FIND_OPT)
-regex
'.+/([^.]+[.](c|h)|Makefile|Kbuild)'
-exec
cp
\{
}
$(PKG_SOURCES)
\;
@
mkdir
-p
$(PKG_SOURCES)
/platform_data
@
cp
$(TOP_DIR)
/software/kernel/platform_data/
*
$(PKG_SOURCES)
/platform_data/
@
cp
$(TOP_DIR)
/software/kernel/fmc-adc-100m14b4cha.h
$(PKG_SOURCES)
/
@
cp
$(TOP_DIR)
/LICENSES/GPL-2.0-or-later.txt
$(PKG_SOURCES)
/LICENSE
@
cp
-a
$(TOP_DIR)
/CHANGELOG.rst
$(PKG_SOURCES)
/CHANGELOG.rst
@
cp
-a
$(TOP_DIR)
/distribution/dkms.conf
$(PKG_SOURCES)
/
@
sed
-r
-i
-e
"s/^GIT_VERSION
\s
=
\s
.*/GIT_VERSION =
$(VERSION)
/"
$(PKG_SOURCES)
/Makefile
@
sed
-r
-i
-e
"s/@PKGVER@/
$(VERSION)
/g"
-e
"s/@PKGNAME@/
$(NAME)
/g"
$(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.rst
$(SOURCES)/CHANGELOG
@sed
-r
-i
-e
"/^[.]{2}/d"
-e
"/^\s{2}.*$$/d"
$(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-adc-100m14b4ch.spec
# The fmc-adc-100m14b4ch.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
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