]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - debian/rules
Re-add drivedbdir to configure
[mirror_smartmontools-debian.git] / debian / rules
index 7df8041183e23ebb843411dc83d11233d0c943c6..f3e0d99958c064ffeb88a532829f94fc8655a0b0 100755 (executable)
@@ -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,109 @@ 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-drivedbdir=/var/lib/smartmontools/drivedb \
+                               --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_start
        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