[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH 2/2] Build tools from power/cpupower



On Tue, 2016-02-16 at 22:40 -0800, malattia@gmail.com wrote:
> From: Mattia Dongili <malattia@linux.it>
> 
> They'll eventually replace cpufrequtils and libcpufreq{0,-dev} so the
> structure of the packages is the same.

Thanks for this.

[...]
> --- a/debian/rules.real
> +++ b/debian/rules.real
> @@ -3,6 +3,7 @@ export KBUILD_BUILD_TIMESTAMP := $(shell dpkg-parsechangelog | sed -ne 's,^Date:
>  
>  include debian/rules.defs
>  
> +binary-arch: install-linux-cpupower install-libcpupower0 install-libcpupower-dev
>  binary-arch: install-kbuild install-usbip install-liblockdep
>  ifneq ($(filter alpha amd64 arm64 armel armhf hppa i386 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64,$(DEB_BUILD_ARCH)),)
>    binary-arch: install-perf
> @@ -43,6 +44,62 @@ install-kbuild: $(STAMPS_DIR)/build
>  	dh_md5sums
>  	dh_builddeb
>  
> +
> +install-cpupower: $(STAMPS_DIR)/build
> +	dh_testdir
> +	dh_testroot
> +	dh_prep
> +	$(MAKE) -C $(BUILD_DIR)/tools/power/cpupower install MANDIR=/usr/share/man top_srcdir=$(CURDIR) DESTDIR=$(DIR)

Only define top_srcdir and DESTDIR here.  The man page directory should
be defined in debian/build/tools/power/cpupower (for now).

> +install-linux-cpupower: PACKAGE_NAME = linux-cpupower
> +install-linux-cpupower: DH_OPTIONS = -p$(PACKAGE_NAME)
> +install-linux-cpupower: DIR = $(CURDIR)/debian/cpupower-tmp
> +install-linux-cpupower: install-cpupower install-libcpupower0 $(STAMPS_DIR)/build
> +	dh_install --sourcedir=$(DIR)
> +	dh_installchangelogs
> +	dh_installdocs
> +	dh_strip
> +	dh_compress
> +	dh_fixperms
> +	dh_installdeb
> +	dh_shlibdeps
> +	dh_gencontrol
> +	dh_md5sums
> +	dh_builddeb
> +
> +install-libcpupower-dev: PACKAGE_NAME = libcpupower-dev
> +install-libcpupower-dev: DH_OPTIONS = -p$(PACKAGE_NAME)
> +install-libcpupower-dev: DIR = $(CURDIR)/debian/cpupower-tmp
> +install-libcpupower-dev: install-cpupower install-libcpupower0 $(STAMPS_DIR)/build
> +	dh_install --sourcedir=$(DIR)
> +	dh_installchangelogs
> +	dh_installdocs
> +	dh_strip
> +	dh_compress
> +	dh_fixperms
> +	dh_installdeb
> +	dh_shlibdeps
> +	dh_gencontrol
> +	dh_md5sums
> +	dh_builddeb
> +
> +install-libcpupower0: PACKAGE_NAME = libcpupower0
> +install-libcpupower0: DH_OPTIONS = -p$(PACKAGE_NAME)
> +install-libcpupower0: DIR = $(CURDIR)/debian/cpupower-tmp
> +install-libcpupower0: install-cpupower $(STAMPS_DIR)/build
> +	dh_install --sourcedir=$(DIR)
> +	dh_installchangelogs
> +	dh_installdocs
> +	dh_strip
> +	dh_compress
> +	dh_fixperms
> +	dh_makeshlibs
> +	dh_installdeb
> +	dh_shlibdeps
> +	dh_gencontrol
> +	dh_md5sums
> +	dh_builddeb

Is there any reason these can't be combined into:

install-cpupower: DH_OPTIONS = -plinux-cpupower -plibcpupower0 -plibcpupower-dev
install-cpupower: DIR := $(CURDIR)/debian/cpupower-tmp
install-cpupower: $(STAMPS_DIR)/build
	dh_testdir
	dh_testroot
	dh_prep
	$(MAKE) -C $(BUILD_DIR)/tools/power/cpupower install top_srcdir=$(CURDIR) DESTDIR=$(DIR)
	dh_install --sourcedir=$(DIR)
	...

>  install-perf: PACKAGE_NAME = linux-perf-$(VERSION)
>  install-perf: DH_OPTIONS = -p$(PACKAGE_NAME)
>  install-perf: DIR = $(CURDIR)/debian/$(PACKAGE_NAME)
> diff --git a/debian/templates/control.main.in b/debian/templates/control.main.in
> index 6106752..dbb50d5 100644
> --- a/debian/templates/control.main.in
> +++ b/debian/templates/control.main.in
> @@ -5,6 +5,38 @@ Multi-Arch: foreign
>  Description: Kbuild infrastructure for Linux @version@
>   This package provides the kbuild infrastructure for the headers packages for Linux kernel version @version@.
>  
> +Package: linux-cpupower
> +Section: admin
> +Architecture: any

These should all have Architecture: linux-any.

> +Depends: ${shlibs:Depends}, ${misc:Depends}
> +Description: CPU frequency and voltage scaling tools for Linux
> + This package contains the 'power/cpupower' tools for Linux
> + kernel version @version@.
[...]

If they are incompatible with older kernel versions then the package
name and installation paths need to include the kernel version, as we
do for linux-kbuild and linux-perf.

Otherwise, don't mention the kernel version here.

Ben.

-- 
Ben Hutchings
Tomorrow will be cancelled due to lack of interest.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: