123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634 |
- #!/usr/bin/make -f
- # -*- makefile -*-
- # This file is licensed under the terms of the Gnu Public License.
- # With the one additional provision that Ian Jackson's name may not be
- # removed from the file.
- # Copyright 1994,1995 Ian Jackson
- # Copyright 2004-2005 Jérôme Marant <jerome@debian.org>
- # Copyright 1998-2012 Rob Browning <rlb@defaultvalue.org>
- # Originally copied from the GNU Hello Debian rules file (1.3).
- # Modified for emacs by Mark Eichin <eichin@kitten.gen.ma.us>.
- # Debhelper support added via one of Joey Hess' example files.
- # See the debian/changelog for further historical information.
- # Uncomment this to turn on verbose mode.
- #export DH_VERBOSE=1
- SHELL := /bin/bash
- quilt := QUILT_PATCHES=debian/patches quilt
- pf := set -o pipefail
- # This package uses debian/source/format 3.0 (quilt).
- # For now we assume that emacs' versioning scheme is always
- # MAJOR.MINORtinyrev where MAJOR and MINOR are integers and tinyrev is
- # an optional lowercase letter (or letters). We also assume that
- # upstream uses a numbering scheme that sorts in a "Debian friendly"
- # way. So far that's always been true. If it becomes false, some of
- # the values below will have to be set manually.
- # (You might imagine that a VPATH build would allow us to avoid having
- # to copy the entire source tree for each of the three builds, but it
- # turns out that without additional complexity, VPATH builds will
- # cause diff bloat. That's because the emacs build process doesn't
- # completely respect the .elc files; some are modified in srcdir, not
- # builddir.)
- # The official upstream version defined by AC_INIT in configure.in.
- upstream_ver := 24.2
- # This must be the version that's actually used at runtime for things
- # like load-path. It may not be the same as the upstream version
- # (i.e. when you have upstream 20.5a, the functional version may still
- # be 20.5), so sometimes we may have to do this by hand.
- runtime_ver := $(shell $(pf); echo $(upstream_ver) | perl -pe 's/[a-z]+$$//o')
- major_ver := $(shell $(pf); echo $(runtime_ver) | perl -pe 's/\..*$$//o')
- minor_ver := $(shell $(pf); echo $(runtime_ver) | perl -pe 's/^[^.]*\.//o')
- # The name of the Debian source package
- src_name := $(shell $(pf); dpkg-parsechangelog | egrep '^Source:')
- src_name := $(shell $(pf); echo $(src_name) | perl -pe 's/Source:\s+//o')
- # The version from the changelog (i.e. 20.5-1)
- debian_ver := $(shell $(pf); dpkg-parsechangelog | egrep '^Version:')
- debian_ver := $(shell $(pf); echo $(debian_ver) | perl -pe 's/Version:\s+//o')
- # The Debian revision (i.e. the 1 from 20.5-1)
- # Always everything after the last '-'
- debian_rev := $(shell $(pf); echo $(debian_ver) | perl -pe 's/.*-//o')
- # Might be 21.3, or it might be 21.3+1 if we've had to have more than
- # one re-release of the upstream source (rare, but it happens), or if
- # we have to split the package for DFSG purposes. Always everything
- # before the last '-'
- debsrc_ver := $(shell $(pf); echo $(debian_ver) | perl -pe 's/-[^-]+$$//o')
- # The flavor (i.e. emacs21) currently matches the source package name.
- flavor := $(src_name)
- info_subdir := emacs-$(major_ver)
- ######################################################################
- # Customizable variables
- bin_priority := 27
- # This might also be something like 2006-09-09 for snapshots.
- menu_ver := $(major_ver)
- ######################################################################
- # Should these be exported like this (as autotools-dev recommends for
- # the two vars below) or not?
- export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
- export DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
- # As recommended by /usr/share/doc/autotools-dev/README.Debian.gz.
- # Handle cross-compiling and don't make ./configure guess.
- export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
- export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
- # FOR AUTOCONF 2.52 AND NEWER ONLY
- ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
- confflags += --build $(DEB_HOST_GNU_TYPE)
- else
- confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
- endif
- deb_host_multiarch := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
- CFLAGS = `dpkg-buildflags --get CFLAGS`
- CFLAGS += -Wall
- LDFLAGS = `dpkg-buildflags --get LDFLAGS`
- CPPFLAGS = `dpkg-buildflags --get CPPFLAGS`
- ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- ifneq (,$(filter $(DEB_HOST_ARCH),ia64))
- # Fix a problem with newer versions of gcc on ia64.
- # See bugs #582439 and #679986.
- CFLAGS += -O1
- endif # eq ia64
- endif
- joblimit := $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
- ifeq (,$(joblimit))
- joblimit := 1
- endif
- target := $(DEB_HOST_GNU_TYPE)
- movemail_bin := usr/lib/emacs/$(runtime_ver)/$(target)/movemail
- # Info files that are going to show up in the main dir.
- main_dir_info_files := \
- efaq
- # Files that the build stage depends on (may also be listed in other vars).
- persistent_autogen_build_files := debian/control debian/copyright
- nonpersistent_autogen_build_files :=
- # These files must always exist, i.e. can't ever be cleaned.
- persistent_autogen_install_files :=
- nonpersistent_autogen_install_files := \
- debian/$(flavor)-bin-common.lintian-overrides \
- debian/$(flavor)-bin-common.postinst \
- debian/$(flavor)-bin-common.prerm \
- debian/$(flavor)-common.README.Debian \
- debian/$(flavor)-common.docs \
- debian/$(flavor)-common.lintian-overrides \
- debian/$(flavor)-common.postinst \
- debian/$(flavor)-common.prerm \
- debian/$(flavor)-nox.README.Debian \
- debian/$(flavor)-nox.lintian-overrides \
- debian/$(flavor)-nox.menu \
- debian/$(flavor)-nox.postinst \
- debian/$(flavor)-nox.prerm \
- debian/$(flavor)-lucid.README.Debian \
- debian/$(flavor)-lucid.desktop \
- debian/$(flavor)-lucid.lintian-overrides \
- debian/$(flavor)-lucid.menu \
- debian/$(flavor)-lucid.postinst \
- debian/$(flavor)-lucid.prerm \
- debian/$(flavor).README.Debian \
- debian/$(flavor).desktop \
- debian/$(flavor).menu \
- debian/$(flavor).lintian-overrides \
- debian/$(flavor).postinst \
- debian/$(flavor).prerm
- autogen_build_files := \
- $(nonpersistent_autogen_build_files) $(persistent_autogen_build_files)
- autogen_install_files := \
- $(nonpersistent_autogen_install_files) $(persistent_autogen_install_files)
- persistent_autogen_files := \
- $(persistent_autogen_build_files) $(persistent_autogen_install_files)
- nonpersistent_autogen_files := \
- $(nonpersistent_autogen_build_files) $(nonpersistent_autogen_install_files)
- # Build directories
- pkgdir_common := $(CURDIR)/debian/$(flavor)-common
- pkgdir_bin_common := $(CURDIR)/debian/$(flavor)-bin-common
- pkgdir_x := $(CURDIR)/debian/$(flavor)
- pkgdir_nox := $(CURDIR)/debian/$(flavor)-nox
- pkgdir_lucid := $(CURDIR)/debian/$(flavor)-lucid
- pkgdir_el := $(CURDIR)/debian/$(flavor)-el
- install_dir_x := $(CURDIR)/debian/install-x
- install_dir_nox := $(CURDIR)/debian/install-nox
- install_dir_lucid := $(CURDIR)/debian/install-lucid
- local_lpath := /etc/$(flavor):/etc/emacs
- local_lpath := $(local_lpath):/usr/local/share/emacs/$(runtime_ver)/site-lisp
- local_lpath := $(local_lpath):/usr/local/share/emacs/site-lisp
- local_lpath := $(local_lpath):/usr/share/emacs/$(runtime_ver)/site-lisp
- local_lpath := $(local_lpath):/usr/share/emacs/site-lisp
- # Installation local_lpath
- local_lpath_install \
- := $(pkgdir_common)/$(subst :,:$(pkgdir_common)/,$(local_lpath))
- define testdir
- dh_testdir debian/emacsVER.postinst
- endef
- # If we ever need to do the stripping outside of dh_strip, just add an
- # INSTALL_STRIP="-s" to the make vars below.
- define emacs_inst
- $(MAKE) -C debian/$(1) install \
- DESTDIR=$(2) \
- infodir=/usr/share/info/emacs-$(major_ver) \
- localstatedir=/var
- endef
- # If we ever need it, we can create a copy that doesn't assume ./debian/
- define deb_sub
- perl -p \
- -e "s|\@PKG_NAME\@|$(pkg_name)|go;" \
- -e "s|\@MAJOR_VERSION\@|$(major_ver)|go;" \
- -e "s|\@MINOR_VERSION\@|$(minor_ver)|go;" \
- -e "s|\@FULL_VERSION\@|$(runtime_ver)|go;" \
- -e "s|\@PACKAGE_VERSION\@|$(debian_ver)|go;" \
- -e "s|\@DEBIAN_REV\@|$(deb_rev)|go;" \
- -e "s|\@UPSTREAM_VERSION\@|$(upstream_ver)|go;" \
- -e "s|\@DEBSRC_VERSION\@|$(debsrc_ver)|go;" \
- -e "s|\@DEB_FLAVOR\@|$(flavor)|go;" \
- -e "s|\@MENU_VERSION\@|$(menu_ver)|go;" \
- -e "s|\@INFO_FILES\@|$(main_dir_info_files)|go;" \
- -e "s|\@INFO_SUBDIR\@|$(info_subdir)|go;" \
- -e "s|\@X_SUPPORT\@|$(xsupport)|go;" \
- -e "s|\@BIN_PRIORITY\@|$(bin_priority)|go;" \
- -e "s|\@MOVEMAIL_BIN\@|$(movemail_bin)|go;" \
- < $(1) > $(2)
- endef
- %:
- dh $@ --parallel
- check-vars:
- @echo "src_name: $(src_name)"
- @echo "upstream_ver: $(upstream_ver)"
- @echo "debian_ver: $(debian_ver)"
- @echo "debsrc_ver: $(debsrc_ver)"
- @echo "debian_rev: $(debian_rev)"
- @echo "runtime_ver: $(runtime_ver)"
- @echo "major_ver: $(major_ver)"
- @echo "minor_ver: $(minor_ver)"
- @echo "movemail_bin: $(movemail_bin)"
- debian-sync: $(persistent_autogen_files)
- # so dh pattern rule doesn't try to handle this target
- true
- debian/$(flavor).%: xsupport := "x"
- debian/$(flavor).%: pkg_name := $(flavor)
- debian/$(flavor)-nox.%: xsupport := "nox"
- debian/$(flavor)-nox.%: pkg_name := $(flavor)-nox
- debian/$(flavor)-lucid.%: xsupport := "lucid"
- debian/$(flavor)-lucid.%: pkg_name := $(flavor)-lucid
- debian/$(flavor)-common.%: pkg_name := $(flavor)-common
- debian/$(flavor)-bin-common.%: pkg_name := $(flavor)-bin-common
- debian/%: debian/%.in debian/changelog debian/rules
- $(call deb_sub,$<,$@)
- debian/$(flavor)-bin-common.%: debian/emacsVER-bin-common.% debian/changelog
- $(call deb_sub,$<,$@)
- debian/$(flavor)-common.%: debian/emacsVER-common.% debian/changelog
- $(call deb_sub,$<,$@)
- debian/$(flavor)-el.%: debian/emacsVER-el.% debian/changelog
- $(call deb_sub,$<,$@)
- debian/$(flavor).%: debian/emacsVER.% debian/changelog
- $(call deb_sub,$<,$@)
- debian/$(flavor)-nox.%: debian/emacsVER.% debian/changelog
- $(call deb_sub,$<,$@)
- debian/$(flavor)-lucid.%: debian/emacsVER.% debian/changelog
- $(call deb_sub,$<,$@)
- debian/$(flavor)-common.README.Debian: \
- debian/emacsVER-common.README debian/patches/*.patch debian/patches/series \
- debian/rules debian/patch-to-news
- cd debian && \
- csplit -s -f emacsVER-common.README. \
- emacsVER-common.README '/@@PATCH_LIST_HERE@@/'
- cp debian/emacsVER-common.README.00 debian/emacsVER-common.README.tmp
- for p in $$($(quilt) series); do \
- debian/patch-to-news debian/patches/$$p \
- >> debian/emacsVER-common.README.tmp; \
- echo >> debian/emacsVER-common.README.tmp; \
- done
- tail -n +2 \
- < debian/emacsVER-common.README.01 \
- >> debian/emacsVER-common.README.tmp
- mv debian/emacsVER-common.README.tmp $@
- debian/setup-stamp:
- $(testdir)
- ./autogen.sh
- mkdir -p $(dir $@) && touch $@
- # common configure flags
- confflags += --prefix=/usr
- confflags += --sharedstatedir=/var/lib
- confflags += --libexecdir=/usr/lib
- confflags += --localstatedir=/var/lib
- confflags += --infodir=/usr/share/info
- confflags += --mandir=/usr/share/man
- confflags += --with-pop=yes
- confflags += --enable-locallisppath=$(local_lpath)
- # multiarch compatibility
- confflags += --with-crt-dir=/usr/lib/$(deb_host_multiarch)
- # x configure flags
- confflags_x := $(confflags)
- confflags_x += --with-x=yes
- confflags_x += --with-x-toolkit=gtk
- # For those who prefer the old-style non-toolkit scrollbars, just
- # change the assignment below to --without-toolkit-scroll-bars. The
- # resulting emacsXY package will have the old scrollbars.
- confflags_x += --with-toolkit-scroll-bars
- # nox configure flags
- confflags_nox := $(confflags)
- confflags_nox += --with-x=no
- confflags_nox += --without-gconf
- # lucid configure flags
- confflags_lucid := $(confflags)
- confflags_lucid += --with-x=yes
- confflags_lucid += --with-x-toolkit=lucid
- confflags_lucid += --with-toolkit-scroll-bars
- confflags_lucid += --without-gconf
- define cfg_tree
- rm -rf $(1)
- mkdir $(1)
- cp -a $$(ls -A | egrep -v '^(\.git|\.pc|debian)$$') "$(1)"
- cd $(1) && CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" ./configure $(confflags) $(2)
- endef
- define build_cmd
- $(MAKE) -C $(1) -j $(joblimit) CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)"
- # If we don't use bootstrap, we need to explicitly build info.
- $(MAKE) -C $(1) -j $(joblimit) CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" info
- # Make sure we chose liblockfile.
- ldd $(1)/lib-src/movemail | grep liblockfile
- endef
- override_dh_auto_configure: debian/setup-stamp
- # Can't use dh --with autotools_dev because it only works if
- # you haven't removed the config.sub and config.guess files
- # from the source tree.
- cp -a /usr/share/misc/config.guess .
- cp -a /usr/share/misc/config.sub .
- $(call cfg_tree,debian/build-x,$(confflags_x))
- $(call cfg_tree,debian/build-nox,$(confflags_nox))
- $(call cfg_tree,debian/build-lucid,$(confflags_lucid))
- override_dh_auto_build: $(autogen_build_files)
- $(call build_cmd,debian/build-x)
- $(call build_cmd,debian/build-nox)
- $(call build_cmd,debian/build-lucid)
- define install_common_binpkg_bits
- # args: (1) srcdir (2) pkgdir (3) pkgname (4) bin-suffix
- install -d $(2)/usr/bin/
- test -f $(1)/usr/bin/emacs-*
- cp -a $(1)/usr/bin/emacs-* $(2)/usr/bin/$(flavor)-$(4)
- dh_link -p$(3) usr/bin/$(flavor)-$(4) usr/bin/$(flavor)
- install -d $(2)/usr/share/emacs/$(runtime_ver)/etc
- cp -a $(1)/usr/share/emacs/$(runtime_ver)/etc/DOC-$(runtime_ver).1 \
- $(2)/usr/share/emacs/$(runtime_ver)/etc/
- install -d $(2)/usr/share/man/man1
- dh_link -p$(3) \
- usr/share/man/man1/emacs.$(flavor).1.gz \
- usr/share/man/man1/$(flavor).1.gz
- dh_link -p$(3) \
- usr/share/man/man1/emacs.$(flavor).1.gz \
- usr/share/man/man1/$(flavor)-$(4).1.gz
- endef
- override_dh_auto_install: $(autogen_install_files)
- rm -rf \
- $(install_dir_x) $(install_dir_nox) $(install_dir_lucid) \
- $(pkgdir_common)/* \
- $(pkgdir_bin_common)/* \
- $(pkgdir_x)/* \
- $(pkgdir_nox)/* \
- $(pkgdir_lucid)/* \
- $(pkgdir_el)/*
- $(call emacs_inst,build-x,$(install_dir_x))
- ##################################################
- # emacsXY-common
- ifneq (,$(findstring $(flavor)-common, $(shell dh_listpackages)))
- install -d $(pkgdir_common)
- cp -a $(install_dir_x)/* $(pkgdir_common)
- rm -r $(pkgdir_common)/usr/bin
- rm -r $(pkgdir_common)/usr/lib
- cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc \
- && test -f DOC-$(runtime_ver).*
- cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc \
- && rm DOC-$(runtime_ver).*
- # lisp path directories
- install -d $(pkgdir_common)/etc/$(flavor)/site-start.d
- install -d $(pkgdir_common)/usr/share/$(flavor)
- # The version-specific site-lisp dir, say emacs/21.1/site-lisp, needs
- # to be in share/FLAVOR so that as we upgrade from 21.1 to 21.2,
- # etc., add-on package bits don't get left behind.
- mv $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/site-lisp \
- $(pkgdir_common)/usr/share/$(flavor)
- dh_link -p$(flavor)-common usr/share/$(flavor)/site-lisp \
- usr/share/emacs/$(runtime_ver)/site-lisp
- # This is a duplicate of the file in FLAVOR/site-lisp
- rm $(pkgdir_common)/usr/share/emacs/site-lisp/subdirs.el
- cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/images/icons \
- && convert hicolor/16x16/apps/emacs.{png,xpm}
- cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/images/icons \
- && convert hicolor/32x32/apps/emacs.{png,xpm}
- # Fixup image files in unversioned directories (remove old
- # images, version unversioned images) and prepare for
- # update-alternatives.
- rm $(pkgdir_common)/usr/share/icons/hicolor/16x16/apps/emacs22.png
- rm $(pkgdir_common)/usr/share/icons/hicolor/24x24/apps/emacs22.png
- rm $(pkgdir_common)/usr/share/icons/hicolor/32x32/apps/emacs22.png
- rm $(pkgdir_common)/usr/share/icons/hicolor/48x48/apps/emacs22.png
- cd $(pkgdir_common)/usr/share/icons/hicolor \
- && mv scalable/apps/emacs.svg scalable/apps/${flavor}.svg \
- && mv 16x16/apps/emacs.png 16x16/apps/${flavor}.png \
- && mv 24x24/apps/emacs.png 24x24/apps/${flavor}.png \
- && mv 32x32/apps/emacs.png 32x32/apps/${flavor}.png \
- && mv 48x48/apps/emacs.png 48x48/apps/${flavor}.png \
- && mv 128x128/apps/emacs.png 128x128/apps/${flavor}.png
- cd $(pkgdir_common)/usr/share/icons/hicolor/scalable/mimetypes \
- && mv emacs-document.svg ${flavor}-document.svg
- # Remove redundant emacs.desktop file.
- rm $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/emacs.desktop
- rm $(pkgdir_common)/usr/share/applications/emacs.desktop
- # Mangle info files.
- chmod 755 debian/mangle-info
- for f in $(main_dir_info_files); \
- do \
- gunzip $(pkgdir_common)/usr/share/info/$(info_subdir)/$$f.gz; \
- DEBIAN_INFO_PREFIX=$(info_subdir) \
- debian/mangle-info \
- $(pkgdir_common)/usr/share/info/$(info_subdir)/$$f; \
- done
- gunzip $(pkgdir_common)/usr/share/man/man1/*.gz
- perl -pi -e "s|man1/etags\\.1|man1/etags\\.$(flavor)\\.1|" \
- $(pkgdir_common)/usr/share/man/man1/ctags.1
- cd $(pkgdir_common)/usr/share/man/man1/ && \
- for f in *.1; do mv $$f $$(basename $${f} .1).$(flavor).1; done
- # At least etc/COPYING is needed by M-x describe-copying.
- rm $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/COPYING
- rm $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/lisp/COPYING
- dh_link -p$(flavor)-common /usr/share/common-licenses/GPL-3 \
- usr/share/emacs/$(runtime_ver)/etc/COPYING
- dh_link -p$(flavor)-common /usr/share/common-licenses/GPL-3 \
- usr/share/emacs/$(runtime_ver)/lisp/COPYING
- # Install replacements for non-free files that can be reached
- # through C-h
- for f in THE-GNU-PROJECT; \
- do \
- sed \
- -e "s/@FILE@/$$f/g" \
- -e "s/@MAJOR_VERSION@/$(major_ver)/g" \
- $(CURDIR)/debian/missing-file.dfsg > \
- $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/$$f.dfsg ; \
- done
- $(pf); cd $(pkgdir_common) && \
- find -name "*.elc" | perl -pe 's/\.elc$$/\.el/o' | xargs rm -f
- $(pf); cd $(pkgdir_common) && \
- find -name "*.elc" | perl -pe 's/\.elc$$/\.el\.gz/o' | xargs rm -f
- # Remove extraneous info dir files. These may not exist if dpkg
- # is 1.5.4 or newer.
- rm -f $(pkgdir_common)/usr/share/info/emacs-$(major_ver)/dir
- rm -f $(pkgdir_common)/usr/share/info/emacs-$(major_ver)/dir.old
- # Remove the shared game score directory as a simple way to
- # avoid a conflict with other flavors of Emacs. Since
- # Debian's update-game-score binary isn't setuid, that
- # directory is never used.
- rm $(pkgdir_common)/var/games/emacs/tetris-scores
- rm $(pkgdir_common)/var/games/emacs/snake-scores
- rmdir $(pkgdir_common)/var/games/emacs/
- rmdir $(pkgdir_common)/var/games/
- rmdir $(pkgdir_common)/var/
- # Make sure /usr/local dir doesn't exist.
- rm -r $(pkgdir_common)/usr/local
- endif
- ##################################################
- # emacsXY-bin-common
- ifneq (,$(findstring $(flavor)-bin-common, $(shell dh_listpackages)))
- # Move common binaries to emacs-bin-common.
- install -d $(pkgdir_bin_common)/usr
- cp -a $(install_dir_x)/usr/bin $(pkgdir_bin_common)/usr
- cp -a $(install_dir_x)/usr/lib $(pkgdir_bin_common)/usr
- # Make sure there's just one.
- test -f $(pkgdir_bin_common)/usr/bin/emacs-*
- rm $(pkgdir_bin_common)/usr/bin/{emacs,emacs-*}
- # Set up movemail.
- chown root.mail $(pkgdir_bin_common)/$(movemail_bin)
- chmod g+s $(pkgdir_bin_common)/$(movemail_bin)
- # Set up alternatives.
- alternatives=`ls $(pkgdir_bin_common)/usr/bin | xargs` && \
- set -x && \
- for f in debian/$(flavor)-bin-common.*; \
- do \
- perl -pwi -e "s|\@ALTERNATIVES\@|$${alternatives}|go" $$f ; \
- done
- for f in `ls $(pkgdir_bin_common)/usr/bin`; \
- do \
- mv $(pkgdir_bin_common)/usr/bin/$$f \
- $(pkgdir_bin_common)/usr/bin/$$f.$(flavor) ; \
- done
- endif
- ##################################################
- # emacsXY
- ifneq (,$(findstring $(flavor), $(shell dh_listpackages)))
- $(call install_common_binpkg_bits,\
- $(install_dir_x),$(pkgdir_x),$(flavor),x)
- # install desktop entry
- install -d $(pkgdir_x)/usr/share/applications
- install -m 0644 \
- debian/$(flavor).desktop $(pkgdir_x)/usr/share/applications/
- endif
- ##################################################
- # emacsXY-nox
- ifneq (,$(findstring $(flavor)-nox, $(shell dh_listpackages)))
- $(call emacs_inst,build-nox,$(install_dir_nox))
- $(call install_common_binpkg_bits,\
- $(install_dir_nox),$(pkgdir_nox),$(flavor)-nox,nox)
- rm -rf $(install_dir_nox)
- endif
- ##################################################
- # emacsXY-lucid
- ifneq (,$(findstring $(flavor)-lucid, $(shell dh_listpackages)))
- $(call emacs_inst,build-lucid,$(install_dir_lucid))
- $(call install_common_binpkg_bits,\
- $(install_dir_lucid),$(pkgdir_lucid),$(flavor)-lucid,lucid)
- # install desktop entry
- install -d $(pkgdir_lucid)/usr/share/applications
- install -m 0644 \
- debian/$(flavor)-lucid.desktop \
- $(pkgdir_lucid)/usr/share/applications/
- rm -rf $(install_dir_lucid)
- endif
- ##################################################
- # emacsXY-el
- ifneq (,$(findstring $(flavor)-el, $(shell dh_listpackages)))
- $(pf); \
- (cd $(install_dir_x) && find -name "*.el" -o -name "*.el.gz" -print0 \
- | tar cpf - --null --files-from -) \
- | (cd $(pkgdir_el) && tar xpf -)
- endif
- ##################################################
- # final cleanup
- rm -rf $(install_dir_x)
- rm -rf $(install_dir_nox)
- rm -rf $(install_dir_lucid)
- override_dh_testdir:
- $(testdir)
- override_dh_fixperms:
- dh_fixperms -X$(movemail_bin)
- override_dh_clean: $(persistent_autogen_files)
- rm -rf \
- aclocal.m4 \
- build-aux/compile \
- build-aux/config.guess \
- build-aux/config.sub \
- build-aux/depcomp \
- build-aux/install-sh \
- build-aux/missing \
- config.guess \
- config.sub \
- configure \
- debian/*-stamp \
- debian/build-lucid \
- debian/build-nox \
- debian/build-x \
- debian/emacsVER-common.README.00 \
- debian/emacsVER-common.README.01 \
- debian/install-lucid \
- debian/install-nox \
- debian/install-x \
- lib/Makefile.in \
- src/config.in \
- src/stamp-h1
- rm -f $(nonpersistent_autogen_files)
- dh_clean
|