Merge pull request #1208 from rafalste/debug_packages
packaging: Fix debug package build
This commit is contained in:
commit
8be913462f
6
Makefile
6
Makefile
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright(c) 2012-2021 Intel Corporation
|
# Copyright(c) 2012-2022 Intel Corporation
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -30,13 +30,13 @@ archives:
|
|||||||
@tools/pckgen $(PWD) tar zip
|
@tools/pckgen $(PWD) tar zip
|
||||||
|
|
||||||
rpm:
|
rpm:
|
||||||
@tools/pckgen $(PWD) rpm
|
@tools/pckgen $(PWD) rpm --debug
|
||||||
|
|
||||||
srpm:
|
srpm:
|
||||||
@tools/pckgen $(PWD) srpm
|
@tools/pckgen $(PWD) srpm
|
||||||
|
|
||||||
deb:
|
deb:
|
||||||
@tools/pckgen $(PWD) deb
|
@tools/pckgen $(PWD) deb --debug
|
||||||
|
|
||||||
dsc:
|
dsc:
|
||||||
@tools/pckgen $(PWD) dsc
|
@tools/pckgen $(PWD) dsc
|
||||||
|
@ -78,6 +78,9 @@ CFLAGS += -O0 -g
|
|||||||
else
|
else
|
||||||
CFLAGS += -O2 -D_FORTIFY_SOURCE=2
|
CFLAGS += -O2 -D_FORTIFY_SOURCE=2
|
||||||
endif
|
endif
|
||||||
|
ifdef DEBUG_PACKAGE
|
||||||
|
CFLAGS += -g3
|
||||||
|
endif
|
||||||
CFLAGS += -Wall -Werror -z relro -z now -fstack-protector -fPIC -Wformat -Wformat-security -fno-strict-aliasing
|
CFLAGS += -Wall -Werror -z relro -z now -fstack-protector -fPIC -Wformat -Wformat-security -fno-strict-aliasing
|
||||||
|
|
||||||
#
|
#
|
||||||
|
29
tools/pckgen
29
tools/pckgen
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright(c) 2020-2021 Intel Corporation
|
# Copyright(c) 2020-2022 Intel Corporation
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -16,6 +16,7 @@ CAS_NAME="open-cas-linux"
|
|||||||
CAS_HOMEPAGE="https://open-cas.github.io"
|
CAS_HOMEPAGE="https://open-cas.github.io"
|
||||||
CAS_GIT="https://github.com/Open-CAS/open-cas-linux.git"
|
CAS_GIT="https://github.com/Open-CAS/open-cas-linux.git"
|
||||||
CAS_LICENSE_NAME="BSD-3-Clause"
|
CAS_LICENSE_NAME="BSD-3-Clause"
|
||||||
|
CAS_MODULES_DIR="extra/block/opencas"
|
||||||
SUPPORTED_FROM_VERSION="20.03"
|
SUPPORTED_FROM_VERSION="20.03"
|
||||||
THIS=$(basename "$0")
|
THIS=$(basename "$0")
|
||||||
ARCH="$(uname -i)"
|
ARCH="$(uname -i)"
|
||||||
@ -71,7 +72,7 @@ print_help() {
|
|||||||
echo " -a, --arch <ARCH> target platform architecture for packages"
|
echo " -a, --arch <ARCH> target platform architecture for packages"
|
||||||
echo " -o, --output-dir <DIR> put all created files in the given directory;"
|
echo " -o, --output-dir <DIR> put all created files in the given directory;"
|
||||||
echo " default: 'SOURCES_PATH/packages/'"
|
echo " default: 'SOURCES_PATH/packages/'"
|
||||||
echo " -d, --debug create all debug files and packages as well"
|
echo " -d, --debug include debug information and create debug packages"
|
||||||
echo " -c, --clean clean all temporary files and folders that"
|
echo " -c, --clean clean all temporary files and folders that"
|
||||||
echo " may have been left around if $THIS ended"
|
echo " may have been left around if $THIS ended"
|
||||||
echo " unexpectedly in the previous run"
|
echo " unexpectedly in the previous run"
|
||||||
@ -298,14 +299,21 @@ rpm_spec_prepare() {
|
|||||||
sed -i "s/<CAS_NAME>/$CAS_NAME/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
sed -i "s/<CAS_NAME>/$CAS_NAME/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
sed -i "s/<CAS_VERSION>/$CAS_VERSION/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
sed -i "s/<CAS_VERSION>/$CAS_VERSION/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
sed -i "s/<CAS_LICENSE_NAME>/$CAS_LICENSE_NAME/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
sed -i "s/<CAS_LICENSE_NAME>/$CAS_LICENSE_NAME/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
|
sed -i "s|<CAS_MODULES_DIR>|$CAS_MODULES_DIR|g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
sed -i "s/<CAS_HOMEPAGE>/${CAS_HOMEPAGE//\//\\/}/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
sed -i "s/<CAS_HOMEPAGE>/${CAS_HOMEPAGE//\//\\/}/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
sed -i "s/<PACKAGE_MAINTAINER>/$PACKAGE_MAINTAINER/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
sed -i "s/<PACKAGE_MAINTAINER>/$PACKAGE_MAINTAINER/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
|
|
||||||
if [ "$DEBUG" ]; then
|
if [ "$DEBUG" ]; then
|
||||||
echo "--- Debug RPMs will be built as well"
|
echo "--- Debug info will be included and debug packages created as well"
|
||||||
sed -i "s/%define debug_package %{nil}//g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
|
||||||
|
sed -i "s/<MAKE_BUILD>/%make_build DEBUG_PACKAGE=1/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
|
sed -i "/<DEBUG_PACKAGE>/d" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
if [[ $(check_os) =~ suse|sles ]]; then
|
if [[ $(check_os) =~ suse|sles ]]; then
|
||||||
sed -i "s/%prep/%debug_package\n\n\n%prep/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
sed -i "/%prep/i %debug_package\n\n" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
sed -i "s/<MAKE_BUILD>/%make_build/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
|
sed -i "s/<DEBUG_PACKAGE>/%define debug_package %{nil}/g" "$RPM_SPECS_DIR/$CAS_NAME.spec"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f "$RPM_SPECS_DIR/$CAS_NAME.spec" ]; then
|
if [ ! -f "$RPM_SPECS_DIR/$CAS_NAME.spec" ]; then
|
||||||
@ -341,11 +349,22 @@ deb_control_files_prepare() {
|
|||||||
sed -i "s/<CAS_NAME>/$CAS_NAME/g" "$file"
|
sed -i "s/<CAS_NAME>/$CAS_NAME/g" "$file"
|
||||||
sed -i "s/<CAS_VERSION>/$CAS_VERSION/g" "$file"
|
sed -i "s/<CAS_VERSION>/$CAS_VERSION/g" "$file"
|
||||||
sed -i "s/<CAS_LICENSE_NAME>/$CAS_LICENSE_NAME/g" "$file"
|
sed -i "s/<CAS_LICENSE_NAME>/$CAS_LICENSE_NAME/g" "$file"
|
||||||
|
sed -i "s|<CAS_MODULES_DIR>|$CAS_MODULES_DIR|g" "$file"
|
||||||
sed -i "s/<CAS_HOMEPAGE>/${CAS_HOMEPAGE//\//\\/}/g" "$file"
|
sed -i "s/<CAS_HOMEPAGE>/${CAS_HOMEPAGE//\//\\/}/g" "$file"
|
||||||
sed -i "s/<CAS_GIT>/${CAS_GIT//\//\\/}/g" "$file"
|
sed -i "s/<CAS_GIT>/${CAS_GIT//\//\\/}/g" "$file"
|
||||||
sed -i "s/<PACKAGE_MAINTAINER>/$PACKAGE_MAINTAINER/g" "$file"
|
sed -i "s/<PACKAGE_MAINTAINER>/$PACKAGE_MAINTAINER/g" "$file"
|
||||||
sed -i "s/<PACKAGE_DATE>/$PACKAGE_DATE/g" "$file"
|
sed -i "s/<PACKAGE_DATE>/$PACKAGE_DATE/g" "$file"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ "$DEBUG" ]; then
|
||||||
|
echo "--- Debug info will be included and debug packages created as well"
|
||||||
|
|
||||||
|
sed -i "s/<MAKE_BUILD>/make -C casadm DEBUG_PACKAGE=1/g" "$DEB_SOURCES_DIR/debian/rules"
|
||||||
|
sed -i "s/<DEBUG_PACKAGE>/dh_strip --ddebs/g" "$DEB_SOURCES_DIR/debian/rules"
|
||||||
|
else
|
||||||
|
sed -i "s/<MAKE_BUILD>/make -C casadm/g" "$DEB_SOURCES_DIR/debian/rules"
|
||||||
|
sed -i "s/<DEBUG_PACKAGE>/dh_strip --no-ddebs/g" "$DEB_SOURCES_DIR/debian/rules"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
generate_rpm() {
|
generate_rpm() {
|
||||||
|
@ -4,8 +4,8 @@ BUILT_MODULE_NAME[0]="cas_disk"
|
|||||||
BUILT_MODULE_NAME[1]="cas_cache"
|
BUILT_MODULE_NAME[1]="cas_cache"
|
||||||
BUILT_MODULE_LOCATION[0]="modules/cas_disk/"
|
BUILT_MODULE_LOCATION[0]="modules/cas_disk/"
|
||||||
BUILT_MODULE_LOCATION[1]="modules/cas_cache/"
|
BUILT_MODULE_LOCATION[1]="modules/cas_cache/"
|
||||||
DEST_MODULE_LOCATION[0]="/extra/block/opencas"
|
DEST_MODULE_LOCATION[0]="/<CAS_MODULES_DIR>"
|
||||||
DEST_MODULE_LOCATION[1]="/extra/block/opencas"
|
DEST_MODULE_LOCATION[1]="/<CAS_MODULES_DIR>"
|
||||||
PRE_BUILD="./configure"
|
PRE_BUILD="./configure"
|
||||||
MAKE[0]="make -j -C modules/ KERNEL_VERSION=$kernelver"
|
MAKE[0]="make -j -C modules/ KERNEL_VERSION=$kernelver"
|
||||||
AUTOINSTALL=yes
|
AUTOINSTALL=yes
|
||||||
|
@ -4,6 +4,12 @@
|
|||||||
|
|
||||||
-- <PACKAGE_MAINTAINER> <PACKAGE_DATE>
|
-- <PACKAGE_MAINTAINER> <PACKAGE_DATE>
|
||||||
|
|
||||||
|
open-cas-linux (22.03.0.0683-1) trusty; urgency=medium
|
||||||
|
|
||||||
|
* Fix debug packages creation
|
||||||
|
|
||||||
|
-- Rafal Stefanowski <rafal.stefanowski@intel.com> Wed, 18 May 2022 12:03:22 +0100
|
||||||
|
|
||||||
open-cas-linux (20.03.3.0303-1) trusty; urgency=medium
|
open-cas-linux (20.03.3.0303-1) trusty; urgency=medium
|
||||||
|
|
||||||
* Update dependencies
|
* Update dependencies
|
||||||
|
@ -10,26 +10,29 @@
|
|||||||
%:
|
%:
|
||||||
dh $@ --with dkms
|
dh $@ --with dkms
|
||||||
|
|
||||||
override_dh_auto_configure :
|
override_dh_auto_configure:
|
||||||
|
|
||||||
override_dh_auto_build :
|
override_dh_auto_build:
|
||||||
(cd tools/; ./cas_version_gen build)
|
(cd tools/; ./cas_version_gen build)
|
||||||
make -C casadm
|
<MAKE_BUILD>
|
||||||
|
|
||||||
override_dh_auto_install :
|
override_dh_auto_install:
|
||||||
(cd casadm; make install_files DESTDIR="$(shell pwd)/debian/tmp")
|
(cd casadm; make install_files DESTDIR="$(shell pwd)/debian/tmp")
|
||||||
(cd utils; make install_files DESTDIR="$(shell pwd)/debian/tmp")
|
(cd utils; make install_files DESTDIR="$(shell pwd)/debian/tmp")
|
||||||
# clean and generate version again before installing sources for DKMS
|
# clean and generate version again before installing sources for DKMS
|
||||||
make distclean
|
make distclean
|
||||||
(cd tools/; ./cas_version_gen)
|
(cd tools/; ./cas_version_gen)
|
||||||
|
|
||||||
override_dh_dkms :
|
override_dh_dkms:
|
||||||
dh_dkms -V $(DEB_VERSION_UPSTREAM)
|
dh_dkms -V $(DEB_VERSION_UPSTREAM)
|
||||||
|
|
||||||
override_dh_installsystemd :
|
override_dh_installsystemd:
|
||||||
dh_installsystemd --no-start
|
dh_installsystemd --no-start
|
||||||
|
|
||||||
override_dh_missing :
|
override_dh_strip:
|
||||||
|
<DEBUG_PACKAGE>
|
||||||
|
|
||||||
override_dh_gencontrol :
|
override_dh_missing:
|
||||||
|
|
||||||
|
override_dh_gencontrol:
|
||||||
dh_gencontrol -- -Vkver="$(shell uname -r)"
|
dh_gencontrol -- -Vkver="$(shell uname -r)"
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
|
|
||||||
%global __python %{__python3}
|
%global __python %{__python3}
|
||||||
%define debug_package %{nil}
|
<DEBUG_PACKAGE>
|
||||||
%define kver %(uname -r)
|
%define kver %(uname -r)
|
||||||
%define kver_filename k%{expand:%(kname="%{kver}"; echo "${kname%.*}" | sed -r "y/-/_/;")}
|
%define kver_filename k%{expand:%(kname="%{kver}"; echo "${kname%.*}" | sed -r "y/-/_/;")}
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ Group: System
|
|||||||
Vendor: Intel Corporation
|
Vendor: Intel Corporation
|
||||||
License: <CAS_LICENSE_NAME>
|
License: <CAS_LICENSE_NAME>
|
||||||
URL: <CAS_HOMEPAGE>
|
URL: <CAS_HOMEPAGE>
|
||||||
Source0: https://github.com/Open-CAS/open-cas-linux/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
Source0: https://github.com/Open-CAS/<CAS_NAME>/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
||||||
Packager: <PACKAGE_MAINTAINER>
|
Packager: <PACKAGE_MAINTAINER>
|
||||||
BuildRequires: coreutils, gawk, gcc, kernel-devel, kernel-headers, make
|
BuildRequires: coreutils, gawk, gcc, kernel-devel, kernel-headers, make
|
||||||
Requires: <CAS_NAME>-modules-%{version}, python3, sed, python3-PyYAML
|
Requires: <CAS_NAME>-modules-%{version}, python3, sed, python3-PyYAML
|
||||||
@ -56,7 +56,7 @@ This package contains only CAS kernel modules.
|
|||||||
|
|
||||||
%build
|
%build
|
||||||
./configure
|
./configure
|
||||||
%make_build
|
<MAKE_BUILD>
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -88,7 +88,7 @@ depmod
|
|||||||
. /etc/os-release
|
. /etc/os-release
|
||||||
# Determine the exact location of installed modules to add them to weak-modules
|
# Determine the exact location of installed modules to add them to weak-modules
|
||||||
for file in $(rpm -ql $(rpm -qa | grep <CAS_NAME>-modules)); do
|
for file in $(rpm -ql $(rpm -qa | grep <CAS_NAME>-modules)); do
|
||||||
if [[ "$file" =~ cas_.*\.ko$ ]]; then
|
if [[ "$file" =~ .*\.ko$ ]]; then
|
||||||
# realpath to resolve any possible symlinks (needed for weak-modules)
|
# realpath to resolve any possible symlinks (needed for weak-modules)
|
||||||
modules+=( $(realpath "$file") )
|
modules+=( $(realpath "$file") )
|
||||||
fi
|
fi
|
||||||
@ -109,7 +109,7 @@ if [ $1 -eq 0 ]; then
|
|||||||
if [[ ! "$ID_LIKE" =~ suse|sles ]]; then
|
if [[ ! "$ID_LIKE" =~ suse|sles ]]; then
|
||||||
# Search for all CAS modules to remove them from weak-modules
|
# Search for all CAS modules to remove them from weak-modules
|
||||||
# Use realpath to resolve any possible symlinks (needed for weak-modules)
|
# Use realpath to resolve any possible symlinks (needed for weak-modules)
|
||||||
realpath $(find /lib/modules/*/extra/block/opencas/ -name "cas_*.ko") >/var/run/rpm-open-cas-linux-modules
|
realpath $(find /lib/modules/%{kver}/<CAS_MODULES_DIR> -name "*.ko") >/var/run/rpm-<CAS_NAME>-modules
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -117,8 +117,8 @@ fi
|
|||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
. /etc/os-release
|
. /etc/os-release
|
||||||
if [[ ! "$ID_LIKE" =~ suse|sles ]]; then
|
if [[ ! "$ID_LIKE" =~ suse|sles ]]; then
|
||||||
modules=( $(cat /var/run/rpm-open-cas-linux-modules) )
|
modules=( $(cat /var/run/rpm-<CAS_NAME>-modules) )
|
||||||
rm -f /var/run/rpm-open-cas-linux-modules
|
rm -f /var/run/rpm-<CAS_NAME>-modules
|
||||||
printf "%s\n" "${modules[@]}" | weak-modules --no-initramfs --remove-modules
|
printf "%s\n" "${modules[@]}" | weak-modules --no-initramfs --remove-modules
|
||||||
fi
|
fi
|
||||||
depmod
|
depmod
|
||||||
|
Loading…
Reference in New Issue
Block a user