File: rules

package info (click to toggle)
icewm 2.1.2-1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 11,900 kB
  • sloc: cpp: 62,372; ansic: 2,023; makefile: 1,500; sh: 558; perl: 286; xml: 241
file content (140 lines) | stat: -rwxr-xr-x 6,362 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#!/usr/bin/make -f
# -*- makefile -*-
# debian/rules for icewm

UPSTREAM_BRANCH=icewm-1-4-BRANCH
ICEWM_COMMON=$(CURDIR)/debian/icewm-common
ICEWM=$(CURDIR)/debian/icewm
ICEWM_LITE=$(CURDIR)/debian/icewm-lite
ICEWM_EXP=$(CURDIR)/debian/icewm-experimental
DOCDIR=/usr/share/doc/icewm-common
BDIR=builddir
ICONS=$(CURDIR)/debian/icons
FDO=$(CURDIR)/debian/fdo
CUSTOM=$(CURDIR)/debian/custom
cmakeargs = -DDOCDIR=$(DOCDIR) -DHTMLDIR=$(DOCDIR)/html -DVERSION=$(ORIGVERSION) -DICEHELPIDX=/usr/share/doc/icewm-common/html/icewm.html -DCFGDIR=/etc/X11/icewm -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DICESOUND=AO -DCONFIG_IMLIB2=on -DCONFIG_LIBRSVG=on -DCONFIG_XPM=off -DCONFIG_PNG=off -DCONFIG_GDK_PIXBUF_XLIB=off -DXTERMCMD=x-terminal-emulator
#-DEXTRA_LIBS="-lsupc++" 
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/architecture.mk
-include /usr/share/quilt/quilt.make

CXXFLAGS += $(CPPFLAGS) -DXTERMCMD=x-terminal-emulator -Wall -Wextra
ifeq (linux,$(DEB_TARGET_ARCH_OS))
	 CXXFLAGS += -DUSE_SIGNALFD
endif

%:
	dh $@ -Scmake

# DEBVERSION=$(shell dpkg-parsechangelog -SVersion)
# that one also works with wheezy
DEBVERSION := $(shell dpkg-parsechangelog |grep ^Version | sed -e s,Version:.,,)
ORIGVERSION := $(shell echo $(DEBVERSION) | sed -e 's,-[^-]*$$,,' )
ORIGTAG := upstream/$(shell echo $(ORIGVERSION) | sed -e 's,~,,g' )

# dh_auto_build is no help here...
PAROPT=$(shell echo $$DEB_BUILD_OPTIONS | sed -e 's,.*parallel=\([0-9]\).*,-j\1,')

#build_lite:
#	$(MAKE) $(PAROPT) -C $(BDIR)-lite
#
#build_normal:
#	$(MAKE) $(PAROPT) -C $(BDIR)-normal

#config_lite:
#	mkdir -p $(BDIR)-lite
#	# this fails on prefering cmake :-( dh_auto_configure --builddirectory=$(BDIR)-lite -- 
#	cd $(BDIR)-lite && cmake .. -DCMAKE_BUILD_TYPE=None $(cmakeargs) -DLITE=on -DEXEEXT=-lite -DCONFIG_XFREETYPE=off -DCONFIG_COREFONTS=on -DXINERAMA=on -DCONFIG_XRANDR=off -DCONFIG_TASKBAR=off -DCONFIG_FDO_MENUS=off -DSKIP_TRANSLATIONS=on -DICESOUND=off
#
#config_normal:
#	mkdir -p $(BDIR)-normal
#	cd $(BDIR)-normal && cmake .. -DCMAKE_BUILD_TYPE=None $(cmakeargs) -DCONFIG_XRANDR=on -DCONFIG_GUIEVENTS=on

override_dh_auto_configure:
	dh_auto_configure -- $(cmakeargs)

override_dh_autoreconf:
	true

override_dh_auto_test:
	true

#override_dh_auto_configure:
#	$(MAKE) -f debian/rules -j2 config_normal config_lite

override_dh_auto_build:
	dh_auto_build -- all strtest
#	cd debian && for x in -lite -experimental ; do cp -lf icewm.postinst icewm$$x.postinst ; cp -lf icewm.prerm icewm$$x.prerm ; done

#override_dh_auto_install:
#	$(MAKE) -C $(BDIR)-lite install DESTDIR=$(CURDIR)/debian/tmp
#	$(MAKE) -C $(BDIR)-normal install DESTDIR=$(CURDIR)/debian/tmp

override_dh_install:
	dh_install
	cd debian && for x in -lite -experimental ; do cp -lf icewm.postinst icewm$$x.postinst ; cp -lf icewm.prerm icewm$$x.prerm ; done
	# XXX: find out why some settings are not gettint defaults if the file is not present, like WorkspaceNames
	#cp $(ICEWM_COMMON)/usr/share/doc/icewm-common/preferences $(ICEWM_COMMON)/usr/share/icewm/
	# Install Debian custom files
	install -m 644 $(ICONS)/mutt*.xpm $(ICEWM_COMMON)/usr/share/icewm/icons
	install -m 644 $(ICONS)/mozilla*.xpm $(ICEWM_COMMON)/usr/share/icewm/icons
	install -m 644 $(ICONS)/icewm*.xpm $(ICEWM_COMMON)/usr/share/icewm/icons
	-mv $(ICEWM_COMMON)/usr/share/icewm/taskbar/icewm.xpm  $(ICEWM_COMMON)/usr/share/icewm/taskbar/icewm.orig.xpm
	install -m 644 $(ICONS)/debian.xpm $(ICEWM_COMMON)/usr/share/icewm/taskbar/icewm.xpm
	mkdir -p $(ICEWM_COMMON)/usr/bin $(ICEWM_COMMON)/etc/X11/icewm
	install -m 644 $(CUSTOM)/toolbar $(CUSTOM)/menu $(ICEWM_COMMON)/usr/share/icewm
	install -m 644 debian/README.cfg $(ICEWM_COMMON)/usr/share/icewm/README
	install -m 755 debian/netstat.sh $(ICEWM_COMMON)/usr/share/icewm
	# Extra docs
	mkdir -p "$(ICEWM_COMMON)/usr/share/doc/icewm-common/FAQ"
	pandoc $(CURDIR)/debian/FAQ/source/index.md -o "$(ICEWM_COMMON)/usr/share/doc/icewm-common/FAQ/IceWM-FAQ.html"
	pandoc -t asciidoc $(CURDIR)/debian/FAQ/source/index.md -o "$(ICEWM_COMMON)/usr/share/doc/icewm-common/FAQ/IceWM-FAQ.txt"
	cd debian ; for x in icewm icewm-lite icewm-experimental ; do mkdir -p $$x/usr/share/lintian/overrides ; cp $$x.lintian $$x/usr/share/lintian/overrides/$$x ; done	
	sed -e 's,^.link.*fonts.googleapis.*,,' -i "$(ICEWM_COMMON)/usr/share/doc/icewm-common/html/"*.html
	dh_link -A

override_dh_auto_clean:
	rm -rf $(BDIR)-lite $(BDIR)-normal IceWM-FAQ.txt configure.in
	# the variants are just symlinks
	rm -f debian/icewm-*.postinst debian/icewm-*.prerm
	dh_auto_clean

override_dh_installchangelogs:
	dh_installchangelogs -picewm-common CHANGES

override_dh_fixperms:
	dh_fixperms
	chmod a+rx,u+w "$(ICEWM_COMMON)/usr/share/doc/icewm-common/examples/startup"

override_dh_compress:
	dh_compress

cleancruft:
	git clean -fdx -e .cproject -e .project -e .settings
	git checkout HEAD -- README.md configure.ac configure.in ChangeLog

set-orig-snapshot:
	lc=$$(git reflog $(UPSTREAM_BRANCH) | head -n1 | cut -f1 -d" ") && dd=$$(date +\%Y\%m\%d) && ov=$$(dpkg-parsechangelog -S Version) && pfx=$$(echo $$ov | sed -e 's,mod.*,mod,') && echo $$lc $$dd $$ov $$pfx && dch --newversion $$pfx+$$dd+$$lc-1

# builds a snapshot of the upstream branch after some plausibility checks
get-orig-source:
	! test -e ../icewm_$(ORIGVERSION).orig.tar.xz || (echo Target already exists ; exit 1)
# little canary to prevent forgotten updates - however, not applied for upstream tags
	if ! test -e .git/refs/tags/$(UPSTREAM_BRANCH) ; then \
		lc=`git reflog $(UPSTREAM_BRANCH) | head -n1 | cut -f1 -d" "` \
		&& echo "Expected upstream ref: $$lc (on failure run update-debian-mod target)" \
		&& grep -m1 ^commit ChangeLog | grep "$$lc" \
	;fi
	git tag $(ORIGTAG) $(UPSTREAM_BRANCH)
	git archive $(ORIGTAG) --prefix icewm-$(ORIGVERSION)/ | xz -9 > ../icewm_$(ORIGVERSION).orig.tar.xz
	test -d ../tarballs && ln ../icewm_$(ORIGVERSION).orig.tar.xz ../tarballs || true
	pristine-tar commit ../icewm_$(ORIGVERSION).orig.tar.xz $(ORIGTAG)

update-debian-mod:
	grep debian .git/HEAD
	set -x && (echo -e "# created with git log --stat=76 -M -C -500|fmt -sct -w80\n" ; \
		  git log $(UPSTREAM_BRANCH) --stat=76 -M -C -500|fmt -sct -w80 \
		)|head -10000 > ChangeLog
	git commit ChangeLog -m "Updating ChangeLog for a new Debian snapshot"