X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=debian%2Frules;h=d0fd0730a6622c0ad0a2b2a0ed3b6005bfe93dd5;hb=bcade6c14a06cfc842b41df91fdc5b9577cd68f1;hp=7df8041183e23ebb843411dc83d11233d0c943c6;hpb=097c50efa94fc656deb062c1fea7935fc5211e26;p=mirror_smartmontools-debian.git diff --git a/debian/rules b/debian/rules index 7df8041..d0fd073 100755 --- a/debian/rules +++ b/debian/rules @@ -5,11 +5,22 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -# for dpatch -include /usr/share/dpatch/dpatch.make +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/buildflags.mk +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -CFLAGS = -fsigned-char -Wall +ifeq ($(DEB_HOST_ARCH_OS),linux) + CONFIGURE_ARGS += --with-selinux +endif + +ifeq ($(DEB_HOST_ARCH_OS),kfreebsd) + CFLAGS += -I/usr/include/freebsd +endif + +CFLAGS += -fsigned-char -Wall ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else @@ -21,99 +32,108 @@ else INSTALL_PROGRAM = install endif +PACKAGE = smartmontools +SRC_VERSION := $(shell dpkg-parsechangelog | sed -ne 's/^Version: \(.*\)-.*/\1/p'| cut -d':' -f2) +SVN_REVISION := $(shell echo $(SRC_VERSION) | awk -F"+" '{ print $$2 }' | sed 's/svn//' ) +TARBALL = $(PACKAGE)_$(SRC_VERSION).orig.tar.xz +SVN_ROOT := 'https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools' + +get-orig-source: + rm -rf get-orig-source $(TARBALL) + mkdir get-orig-source + svn export -r $(SVN_REVISION) $(SVN_ROOT) \ + get-orig-source/$(PACKAGE)-$(SRC_VERSION).orig + rm -rf get-orig-source/$(PACKAGE)-$(SRC_VERSION).orig/os_solaris_ata.s + tar cJf $(TARBALL) -C get-orig-source $(PACKAGE)-$(SRC_VERSION).orig + rm -rf get-orig-source + echo " "$(TARBALL)" created; move it to the right destination to build the package" configure: configure-stamp -configure-stamp: patch-stamp +configure-stamp: dh_testdir ./autogen.sh - CFLAGS="${CFLAGS}" ./configure --prefix=/usr \ + CFLAGS="${CFLAGS}" CXXFLAGS="${CFLAGS}" ./configure --prefix=/usr \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --host=$(DEB_HOST_GNU_TYPE) \ --sysconfdir=/etc \ --mandir=/usr/share/man \ - --with-initscriptdir=/etc/init.d \ - --with-docdir=/usr/share/doc/smartmontools - + --with-initscriptdir=no \ + --docdir=/usr/share/doc/smartmontools \ + --with-savestates=/var/lib/smartmontools/smartd. \ + --with-attributelog=/var/lib/smartmontools/attrlog. \ + --with-exampledir=/usr/share/doc/smartmontools/examples/ \ + --with-systemdsystemunitdir=/lib/systemd/system \ + --with-smartdscriptdir=/usr/share/smartmontools \ + --with-smartdplugindir=/etc/smartmontools/smartd_warning.d \ + --with-systemdenvfile=/etc/default/smartmontools \ + ${CONFIGURE_ARGS} touch configure-stamp - -build: build-stamp +build: build-arch build-indep +build-arch: build-stamp +build-indep: build-stamp build-stamp: configure-stamp dh_testdir - # Add here commands to compile the package. $(MAKE) - - #/usr/bin/docbook-to-man debian/smartmontools.sgml > smartmontools.1 - touch build-stamp -clean: unpatch +clean: dh_testdir dh_testroot # rm -f debian/logcheck.logcheck.ignore.* - # Add here commands to clean up after the build process. - -$(MAKE) distclean + [ ! -f Makefile ] || $(MAKE) distclean rm -f build-stamp configure-stamp \ - Makefile.in examplescripts/Makefile.in aclocal.m4 configure + Makefile.in examplescripts/Makefile.in aclocal.m4 configure \ + config.guess config.h.in config.sub depcomp install-sh \ + m4/pkg.m4 missing dh_clean install: build dh_testdir dh_testroot - dh_clean -k + dh_prep dh_installdirs - - $(MAKE) DESTDIR=$(CURDIR)/debian/smartmontools \ - INSTALL_PROGRAM="${INSTALL_PROGRAM}" install-sbinPROGRAMS - $(MAKE) DESTDIR=$(CURDIR)/debian/smartmontools \ - install-sysconfDATA - $(MAKE) DESTDIR=$(CURDIR)/debian/smartmontools \ - install-man - $(MAKE) DESTDIR=$(CURDIR)/debian/smartmontools \ - examplesdir='$$(docdir)/examples' \ - -C examplescripts/ install-examplesSCRIPTS install-examplesDATA - - install -D -m 755 debian/smartmontools-bug \ - $(CURDIR)/debian/smartmontools/usr/share/bug/smartmontools - install -D -m 755 debian/smartd-runner \ - $(CURDIR)/debian/smartmontools/usr/share/smartmontools/smartd-runner - install -D -m 755 debian/10mail \ - $(CURDIR)/debian/smartmontools/etc/smartmontools/run.d/10mail + $(MAKE) DESTDIR=$(CURDIR)/debian/smartmontools install + rm -f debian/smartmontools/usr/sbin/update-smart-drivedb # Build architecture-independent files here. -binary-indep: build install +binary-indep: # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot -# dh_installdebconf + rm -f debian/smartmontools/usr/share/doc/smartmontools/INSTALL \ + debian/smartmontools/usr/share/doc/smartmontools/COPYING \ + debian/smartmontools/usr/share/doc/smartmontools/ChangeLog dh_installdocs dh_installexamples dh_installmenu dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime + dh_install + dh_link + dh_systemd_enable dh_installinit + dh_systemd_enable dh_installcron - dh_installman dh_installinfo -# dh_installlogcheck -# dh_undocumented - dh_installchangelogs CHANGELOG - dh_link + dh_lintian + dh_installchangelogs ChangeLog dh_strip dh_compress dh_fixperms -# dh_makeshlibs + chmod 755 $(CURDIR)/debian/smartmontools/etc/smartmontools/run.d/10mail \ + $(CURDIR)/debian/smartmontools/etc/smartmontools/run.d/10powersave-notify \ + $(CURDIR)/debian/smartmontools/usr/share/smartmontools/smartd-runner + dh_makeshlibs dh_installdeb -# dh_perl dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure +.PHONY: build clean binary-indep binary-arch binary install configure get-orig-source