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"
|