X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=package%2Fdebian%2Frules;h=5805f8b7005baa99060fa27459617025518497db;hb=HEAD;hp=8bd2135d9341563d66e960f33e6e3d749e56de7f;hpb=859f2280a309b121d29160e4d066ecc0fd39e52c;p=ncurses.git diff --git a/package/debian/rules b/package/debian/rules index 8bd2135d..f1f10fe6 100755 --- a/package/debian/rules +++ b/package/debian/rules @@ -1,12 +1,19 @@ #!/usr/bin/make -f -# $Id: rules,v 1.45 2022/10/22 18:35:38 tom Exp $ +# $Id: rules,v 1.57 2024/06/08 17:51:52 tom Exp $ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 +SHELL = /bin/bash +DPKG_EXPORT_BUILDFLAGS = 1 + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +include /usr/share/dpkg/buildflags.mk + # packages -PACKAGES.indep = ncurses6-doc ncurses6-doc-html -PACKAGES.arch = ncurses6 ncursest6 +PACKAGES.indep = ncurses6td-doc ncurses6td-doc-html +PACKAGES.arch = ncurses6td ncursest6td # These are used for cross-compiling and for saving the configure script # from having to guess our platform (since we know it already) @@ -25,10 +32,7 @@ MYDATA=/usr/local/ncurses/share/terminfo NORMAL_DIR=$(CURDIR)/debian/ncurses$(MY_ABI) THREAD_DIR=$(CURDIR)/debian/ncursest$(MY_ABI) -CFLAGS = $(shell dpkg-buildflags --get CFLAGS) $(CC_NORMAL) -CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS) -CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) -LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) +CFLAGS += $(CC_NORMAL) ifneq ($(MY_DIR),/usr) RPATH_ENV = RPATH_LIST=../lib:$(LIBDIR) @@ -64,7 +68,10 @@ configure = \ --disable-macros \ --disable-overwrite \ --disable-relink \ + --disable-root-access \ + --disable-root-environ \ --disable-termcap \ + --enable-check-size \ --enable-hard-tabs \ --enable-opaque-curses \ --enable-opaque-form \ @@ -79,7 +86,8 @@ configure = \ --program-suffix=$(MY_ABI) \ --verbose \ --with-abi-version=$(MY_ABI) \ - --with-config-suffix=dev \ + --with-config-suffix=td \ + --with-pc-suffix=td \ --with-cxx-shared \ --with-default-terminfo-dir=$(MYDATA) \ --with-develop \ @@ -93,11 +101,12 @@ configure = \ --with-xterm-kbs=DEL \ --without-ada \ --without-debug \ - --without-manpage-aliases \ + --with-manpage-aliases \ + --with-manpage-symlinks \ --without-normal -NCURSES6_DIR = $(CURDIR)/debian/ncurses6 -NCURSEST6_DIR = $(CURDIR)/debian/ncursest6 +NCURSES6_DIR = $(CURDIR)/debian/ncurses6td +NCURSEST6_DIR = $(CURDIR)/debian/ncursest6td .PHONY: all config build install binary clean config-indep config-arch \ build-indep build-arch install-indep install-arch binary-indep \ @@ -110,6 +119,7 @@ build: build-indep build-arch install: install-indep install-arch binary: binary-indep binary-arch clean: + pwd; ls -l dh_testdir dh_testroot dh_clean $(verbose) @@ -125,7 +135,7 @@ install-indep: $(PACKAGES.indep:%=install-%-stamp) install-arch: $(PACKAGES.arch:%=install-%-stamp) # make the doc-package installable by renaming everything to avoid clashing -patch-ncurses6-stamp: +patch-ncurses6td-stamp: dh_testdir sed -i.bak \ -e 's/-config\.1$$/dev-config.1/;t' \ @@ -139,93 +149,96 @@ patch-ncurses6-stamp: diff -u man/man_db.renames.in.bak man/man_db.renames.in || true touch $@ -config-ncurses6-stamp: patch-ncurses6-stamp +config-ncurses6td-stamp: patch-ncurses6td-stamp dh_testdir - rm -rf t/ncurses6 - mkdir -p t/ncurses6 - cd t/ncurses6; $(configure) + rm -rf t/ncurses6td + mkdir -p t/ncurses6td + cd t/ncurses6td; $(configure) touch $@ -config-ncursest6-stamp: patch-ncurses6-stamp +config-ncursest6td-stamp: patch-ncurses6td-stamp dh_testdir - rm -rf t/ncursest6 - mkdir -p t/ncursest6 - cd t/ncursest6; $(configure) \ + rm -rf t/ncursest6td + mkdir -p t/ncursest6td + cd t/ncursest6td; $(configure) \ --enable-interop \ --enable-sp-funcs \ --program-suffix=t$(MY_ABI) \ --with-pthread touch $@ -config-ncurses6-doc-stamp \ -config-ncurses6-doc-html-stamp: config-ncurses6-stamp +config-ncurses6td-doc-stamp \ +config-ncurses6td-doc-html-stamp: config-ncurses6td-stamp touch $@ -build-ncurses6-stamp: config-ncurses6-stamp +build-ncurses6td-stamp: config-ncurses6td-stamp dh_testdir - $(MAKE) -C t/ncurses6 + $(MAKE) -C t/ncurses6td touch $@ -build-ncursest6-stamp: config-ncursest6-stamp +build-ncursest6td-stamp: config-ncursest6td-stamp dh_testdir - $(MAKE) -C t/ncursest6 + $(MAKE) -C t/ncursest6td touch $@ -build-ncurses6-doc-stamp \ -build-ncurses6-doc-html-stamp: build-ncurses6-stamp +build-ncurses6td-doc-stamp \ +build-ncurses6td-doc-html-stamp: build-ncurses6td-stamp touch $@ -install-ncurses6-stamp: build-ncurses6-stamp +install-ncurses6td-stamp: build-ncurses6td-stamp dh_testdir dh_testroot dh_installdirs $(verbose) - dh_prep $(verbose) -pncurses6 + dh_prep $(verbose) -pncurses6td - $(MAKE) -C t/ncurses6 install.libs install.progs DESTDIR=$(NCURSES6_DIR) - $(MAKE) -C t/ncurses6/test ncurses LOCAL_LIBDIR=$(LIBDIR) + $(MAKE) -C t/ncurses6td install.libs install.progs DESTDIR=$(NCURSES6_DIR) + $(MAKE) -C t/ncurses6td/test ncurses LOCAL_LIBDIR=$(LIBDIR) - mv t/ncurses6/test/ncurses $(NCURSES6_DIR)$(BINDIR)/ncurses$(MY_ABI) + mv t/ncurses6td/test/ncurses $(NCURSES6_DIR)$(BINDIR)/ncurses$(MY_ABI) touch $@ -install-ncursest6-stamp: build-ncursest6-stamp +install-ncursest6td-stamp: build-ncursest6td-stamp dh_testdir dh_testroot dh_installdirs $(verbose) - dh_prep $(verbose) -pncursest6 + dh_prep $(verbose) -pncursest6td - $(MAKE) -C t/ncursest6 install.libs install.progs DESTDIR=$(NCURSEST6_DIR) - $(MAKE) -C t/ncursest6/test ncurses LOCAL_LIBDIR=$(LIBDIR) + $(MAKE) -C t/ncursest6td install.libs install.progs DESTDIR=$(NCURSEST6_DIR) + $(MAKE) -C t/ncursest6td/test ncurses LOCAL_LIBDIR=$(LIBDIR) - mv t/ncursest6/test/ncurses $(NCURSEST6_DIR)$(BINDIR)/ncursest$(MY_ABI) + mv t/ncursest6td/test/ncurses $(NCURSEST6_DIR)$(BINDIR)/ncursest$(MY_ABI) touch $@ -install-ncurses6-doc-stamp: build-ncurses6-stamp +install-ncurses6td-doc-stamp: build-ncurses6td-stamp dh_testdir dh_testroot dh_installdirs $(verbose) - dh_prep $(verbose) -pncurses6-doc + dh_prep $(verbose) -pncurses6td-doc - $(MAKE) -C t/ncurses6 install.man DESTDIR=$(NCURSES6_DIR)-doc + $(MAKE) -C t/ncurses6td install.man DESTDIR=$(NCURSES6_DIR)-doc + find $(NCURSES6_DIR)-doc -name 'ncursesw6-config.*' -print -delete cd $(NCURSES6_DIR)-doc/usr/share/man/man1 && ln -sf tset6.1.gz reset6.1.gz touch $@ -HTML_DESTDIR=$(NCURSES6_DIR)-doc-html/usr/share/ncurses6-doc-html -install-ncurses6-doc-html-stamp: build-ncurses6-stamp +HTML_DESTDIR=$(NCURSES6_DIR)-doc-html/usr/share/doc/ncurses6td-doc-html +install-ncurses6td-doc-html-stamp: build-ncurses6td-stamp dh_testdir dh_testroot dh_installdirs $(verbose) - dh_prep $(verbose) -pncurses6-doc-html + dh_prep $(verbose) -pncurses6td-doc-html cd doc/html && find * -type d | sort | xargs -I{} mkdir -p -v $(HTML_DESTDIR)/{} cd doc/html && find * -type f -name '*.html' | sort | xargs -I{} install -m 644 -p -v -T {} $(HTML_DESTDIR)/{} + find $(HTML_DESTDIR) -type d -empty -delete -print + find $(HTML_DESTDIR) -type d -empty -delete -print touch $@