[emacs21 commit] c4f2f0038f9ad85c6a94035aefc7a114d2d38a32

Jérôme Marant jerome at marant.org
Wed Oct 11 09:25:58 UTC 2006


commit c4f2f0038f9ad85c6a94035aefc7a114d2d38a32
Author: Jérôme Marant <jerome at marant.org>
Date:   Wed Oct 11 11:25:58 2006 +0200

    * Move more documentation to non-free because Cover and Back texts are
      considered as non-free as well
    
    * Replace non-free files from the 'etc' directory normally accessible
      from C-h keys by informative template files telling where to
      find the original files and giving reasons about why they have
      been moved to non-free

diff --git a/changelog b/changelog
index bde73ea..7fbcd7b 100644
--- a/changelog
+++ b/changelog
@@ -13,7 +13,11 @@ emacs21 (21.4a+1-1) unstable; urgency=lo
     - debian/patches/series
     - debian/replacement/yow.lines.uu
     - debian/rules
-
+    - debian/missing-file.dfsg: new template file used to generate
+      replacements for non-free files normally accessible through C-h
+      key bindings. Those files will be displayed if the original
+      ones are not available.
+  
   * Acknowledge NMU. Thanks Marc Brockschmidt <he at debian.org>
     (Closes: #381452) [Jérôme Marant]
 
diff --git a/dfsg-splitter b/dfsg-splitter
index 1c63f07..7662160 100755
--- a/dfsg-splitter
+++ b/dfsg-splitter
@@ -113,27 +113,8 @@ copy_to_non_main_dir "lisp/version.el"
 
 # GFDL files with invariant sections
 dfsg_man_files="
-  cl.texi
   dired-x.texi
-  ebrowse.texi
-  ediff.texi
-  emacs-mime.texi
-  eshell.texi
-  eudc.texi
-  faq.texi
-  forms.texi
-  gnus-faq.texi
-  gnus.texi
-  idlwave.texi
-  info.texi
-  message.texi
-  mh-e.texi
-  reftex.texi
-  sc.texi
-  texinfo.tex
-  vip.texi
-  viper.texi
-  woman.texi"
+  faq.texi"
 
 pushd "${emacs_dir}"
 mkdir ../"${non_main_dir}"/man
diff --git a/missing-file.dfsg b/missing-file.dfsg
new file mode 100644
index 0000000..a631c7a
--- /dev/null
+++ b/missing-file.dfsg
@@ -0,0 +1,6 @@
+The file that would normally be displayed here (@FILE@) has
+been moved to the emacs at MAJOR_VERSION@-common-non-dfsg package because its license
+is incompatible with the Debian Free Software Guidelines (DFSG).
+
+Please install @FILE@ from Debian's non-free distribution if
+you would like for Emacs to display the original file.
\ No newline at end of file
diff --git a/patches/handle-dfsg-split.diff b/patches/handle-dfsg-split.diff
index e341b51..d122759 100644
--- a/patches/handle-dfsg-split.diff
+++ b/patches/handle-dfsg-split.diff
@@ -20,14 +20,14 @@
 
 Index: main/Makefile.in
 ===================================================================
---- main.orig/Makefile.in	2006-07-28 23:34:38.000000000 -0700
-+++ main/Makefile.in	2006-07-29 00:22:59.000000000 -0700
+--- main.orig/Makefile.in	2006-10-11 08:55:53.794888494 +0200
++++ main/Makefile.in	2006-10-11 09:00:38.190818472 +0200
 @@ -430,7 +430,7 @@
  	      chmod a+r ${infodir}/dir); \
  	   fi; \
  	   cd ${srcdir}/info ; \
 -	   for f in ada-mode* autotype* ccmode* cl* dired-x* ebrowse* ediff* efaq* emacs* eshell* eudc* forms* gnus* idlwave* info* message* mh-e* pcl-cvs* reftex* sc* speedbar* vip* widget* woman*; do \
-+	   for f in cl* dired-x* ebrowse* ediff* efaq* emacs-mime* eshell* eudc* forms* gnus* idlwave* info* message* mh-e* reftex* sc* vip* woman*; do \
++	   for f in dired-x* efaq*; do \
  	     (cd $${thisdir}; \
  	      ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \
  	      chmod a+r ${infodir}/$$f); \
@@ -36,7 +36,7 @@ Index: main/Makefile.in
  	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
  	then \
 -	  for f in ada-mode autotype ccmode cl dired-x ebrowse ediff efaq emacs emacs-mime eshell eudc forms gnus idlwave info message mh-e pcl-cvs reftex sc speedbar vip viper widget woman; do \
-+	  for f in cl dired-x ebrowse ediff efaq emacs-mime eshell eudc forms gnus idlwave info message mh-e reftex sc vip viper woman; do \
++	  for f in dired-x efaq; do \
  	    (cd $${thisdir}; \
  	     ${INSTALL_INFO} --info-dir=${infodir} ${infodir}/$$f); \
  	  done; \
@@ -54,47 +54,40 @@ Index: main/Makefile.in
  	(cd ${archlibdir} && rm -f fns-*)
  	-rm -rf ${libexecdir}/emacs/${version}
 -	(cd ${infodir} && rm -f cl* ada-mode* autotype* ccmode* ebrowse* efaq* eshell* eudc* idlwave* message* pcl-cvs* reftex* speedbar* widget* woman* dired-x* ediff* emacs* forms* gnus* info* mh-e* sc* vip*)
-+	(cd ${infodir} && rm -f cl* ebrowse* efaq* eshell* eudc* idlwave* message* reftex* woman* dired-x* ediff* emacs-mime* forms* gnus* info* mh-e* sc* vip*)
++	(cd ${infodir} && rm -f efaq* dired-x*)
  	(cd ${man1dir}  && rm -f emacs.1 etags.1 ctags.1)
  	(cd ${bindir}  && rm -f emacs-${version} $(EMACS))
  
 Index: main/man/Makefile.in
 ===================================================================
---- main.orig/man/Makefile.in	2006-07-28 23:34:38.000000000 -0700
-+++ main/man/Makefile.in	2006-07-29 00:22:59.000000000 -0700
-@@ -32,20 +32,20 @@
+--- main.orig/man/Makefile.in	2006-10-11 08:58:06.765133186 +0200
++++ main/man/Makefile.in	2006-10-11 09:06:14.595936591 +0200
+@@ -32,20 +32,10 @@
  
  # The makeinfo program is part of the Texinfo distribution.
  MAKEINFO = makeinfo
 -INFO_TARGETS = ../info/emacs ../info/ccmode ../info/cl \
-+INFO_TARGETS = ../info/cl \
- 	        ../info/dired-x ../info/ediff ../info/forms ../info/gnus \
- 		../info/info ../info/message ../info/mh-e ../info/reftex \
+-	        ../info/dired-x ../info/ediff ../info/forms ../info/gnus \
+-		../info/info ../info/message ../info/mh-e ../info/reftex \
 -		../info/sc ../info/vip ../info/viper ../info/widget \
 -		../info/efaq ../info/ada-mode ../info/autotype \
 -		../info/idlwave ../info/eudc ../info/ebrowse ../info/pcl-cvs \
 -		../info/woman ../info/emacs-mime ../info/eshell \
 -		../info/speedbar
 -DVI_TARGETS = emacs.dvi cc-mode.dvi cl.dvi dired-x.dvi \
-+		../info/sc ../info/vip ../info/viper \
-+		../info/efaq \
-+		../info/idlwave ../info/eudc ../info/ebrowse \
-+		../info/woman ../info/emacs-mime ../info/eshell
-+
-+DVI_TARGETS = cl.dvi dired-x.dvi \
- 		 ediff.dvi forms.dvi gnus.dvi message.dvi mh-e.dvi \
+-		 ediff.dvi forms.dvi gnus.dvi message.dvi mh-e.dvi \
 -		 reftex.dvi sc.dvi vip.dvi viper.dvi widget.dvi faq.dvi \
 -		 ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \
 -		 pcl-cvs.dvi woman.dvi emacs-mime.dvi eshell.dvi \
 -		speedbar.dvi
-+		 reftex.dvi sc.dvi vip.dvi viper.dvi faq.dvi \
-+		 idlwave.dvi eudc.dvi ebrowse.dvi \
-+		 woman.dvi emacs-mime.dvi eshell.dvi
++INFO_TARGETS =  ../info/dired-x ../info/efaq
++
++DVI_TARGETS = dired-x.dvi faq.dvi
 +
  INFOSOURCES = info.texi
  
  # The following rule does not work with all versions of `make'.
-@@ -56,50 +56,6 @@
+@@ -56,50 +46,6 @@
  TEXI2DVI = texi2dvi
  ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" 
  
@@ -145,10 +138,16 @@ Index: main/man/Makefile.in
  info: $(INFO_TARGETS)
  
  dvi: $(DVI_TARGETS)
-@@ -119,27 +75,6 @@
- info.dvi: ${INFOSOURCES}
- 	$(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi
+@@ -113,146 +59,16 @@
+ # the @setfilename directive in info.texi, which is required for
+ # the Texinfo distribution.
  
+-../info/info: ${INFOSOURCES}
+-	cd $(srcdir); $(MAKEINFO) --no-split info.texi -o $@
+-
+-info.dvi: ${INFOSOURCES}
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi
+-
 -../info/emacs: ${EMACSSOURCES}
 -	cd $(srcdir); $(MAKEINFO) emacs.texi
 -
@@ -170,13 +169,69 @@ Index: main/man/Makefile.in
 -pcl-cvs.dvi: pcl-cvs.texi
 -	$(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi
 -
- ../info/eshell: eshell.texi
- 	cd $(srcdir); $(MAKEINFO) eshell.texi
- eshell.dvi: eshell.texi
-@@ -203,24 +138,11 @@
- viper.dvi: viper.texi
- 	$(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi
+-../info/eshell: eshell.texi
+-	cd $(srcdir); $(MAKEINFO) eshell.texi
+-eshell.dvi: eshell.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi
+-
+-../info/cl: cl.texi
+-	cd $(srcdir); $(MAKEINFO) cl.texi
+-cl.dvi: cl.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi
+-
+ ../info/dired-x: dired-x.texi
+ 	cd $(srcdir); $(MAKEINFO) dired-x.texi
+ dired-x.dvi: dired-x.texi
+ 	$(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi
  
+-../info/ediff: ediff.texi
+-	cd $(srcdir); $(MAKEINFO) ediff.texi
+-ediff.dvi: ediff.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi
+-
+-../info/forms: forms.texi
+-	cd $(srcdir); $(MAKEINFO) forms.texi
+-forms.dvi: forms.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi
+-
+-../info/gnus: gnus.texi
+-	cd $(srcdir); $(MAKEINFO) gnus.texi
+-gnus.dvi: gnus.texi
+-	sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi 
+-	$(ENVADD) $(TEXI2DVI) gnustmp.texi
+-	cp gnustmp.dvi $*.dvi
+-	rm gnustmp.*
+-
+-../info/message: message.texi
+-	cd $(srcdir); $(MAKEINFO) message.texi
+-message.dvi: message.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi
+-
+-../info/mh-e: mh-e.texi
+-	cd $(srcdir); $(MAKEINFO) mh-e.texi
+-mh-e.dvi: mh-e.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi
+-
+-../info/reftex: reftex.texi
+-	cd $(srcdir); $(MAKEINFO) reftex.texi
+-reftex.dvi: reftex.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi
+-
+-../info/sc: sc.texi
+-	cd $(srcdir); $(MAKEINFO) sc.texi
+-sc.dvi: sc.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi
+-
+-../info/vip: vip.texi
+-	cd $(srcdir); $(MAKEINFO) vip.texi
+-vip.dvi: vip.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi
+-
+-../info/viper: viper.texi
+-	cd $(srcdir); $(MAKEINFO) viper.texi
+-viper.dvi: viper.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi
+-
 -../info/widget: widget.texi
 -	cd $(srcdir); $(MAKEINFO) widget.texi
 -widget.dvi: widget.texi
@@ -195,18 +250,70 @@ Index: main/man/Makefile.in
 -autotype.dvi: autotype.texi
 -	$(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi
 -
- # This is produced with --no-split to avoid making files whose
- # names clash on DOS 8+3 filesystems
- ../info/idlwave: idlwave.texi
-@@ -243,11 +165,6 @@
- woman.dvi: woman.texi
- 	$(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi
- 
+-# This is produced with --no-split to avoid making files whose
+-# names clash on DOS 8+3 filesystems
+-../info/idlwave: idlwave.texi
+-	cd $(srcdir); $(MAKEINFO) --no-split idlwave.texi
+-idlwave.dvi: idlwave.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi
+-
+-../info/eudc: eudc.texi
+-	cd $(srcdir); $(MAKEINFO) eudc.texi
+-eudc.dvi: eudc.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi
+-
+-../info/ebrowse: ebrowse.texi
+-	cd $(srcdir); $(MAKEINFO) ebrowse.texi
+-ebrowse.dvi: ebrowse.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi
+-
+-../info/woman: woman.texi
+-	cd $(srcdir); $(MAKEINFO) woman.texi
+-woman.dvi: woman.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi
+-
 -../info/speedbar: speedbar.texi
 -	cd $(srcdir); $(MAKEINFO) speedbar.texi
 -speedbar.dvi: speedbar.texi
 -	$(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi
 -
- ../info/emacs-mime: emacs-mime.texi
- 	cd $(srcdir); $(MAKEINFO) emacs-mime.texi
- emacs-mime.dvi: emacs-mime.texi
+-../info/emacs-mime: emacs-mime.texi
+-	cd $(srcdir); $(MAKEINFO) emacs-mime.texi
+-emacs-mime.dvi: emacs-mime.texi
+-	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi
+-
+ mostlyclean:
+ 	rm -f *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.*
+ 
+--- emacs21-21.4a+1.orig/lisp/help.el	2006-10-08 13:34:07.064035924 +0200
++++ emacs21-21.4a+1/lisp/help.el	2006-10-08 13:34:22.663546709 +0200
+@@ -413,11 +413,19 @@
+ ;; So keyboard macro definitions are documented correctly
+ (fset 'defining-kbd-macro (symbol-function 'start-kbd-macro))
+ 
++(defun debian-expand-file-name-dfsg (file)
++  "Convert filename NAME to absolute by the means of expand-file-name.
++Then, if the file does not exists, append `.dfsg' to the filename."
++  (let ((file (expand-file-name file data-directory)))
++	(if (file-exists-p file)
++	    file
++	  (concat file ".dfsg"))))
++
+ (defun describe-distribution ()
+   "Display info on how to obtain the latest version of GNU Emacs."
+   (interactive)
+   (find-file-read-only
+-   (expand-file-name "DISTRIB" data-directory)))
++   (debian-expand-file-name-dfsg "DISTRIB")))
+ 
+ (defun describe-copying ()
+   "Display info on how you may redistribute copies of GNU Emacs."
+@@ -430,7 +438,7 @@
+   "Display info on the GNU project."
+   (interactive)
+   (find-file-read-only
+-   (expand-file-name "THE-GNU-PROJECT" data-directory))
++   (debian-expand-file-name-dfsg "THE-GNU-PROJECT"))
+   (goto-char (point-min)))
+ 
+ (defun describe-no-warranty ()
diff --git a/rules b/rules
index 34d241c..b7bb593 100755
--- a/rules
+++ b/rules
@@ -185,25 +185,8 @@ protected_files := config.sub config.gue
 
 # Info files that are going to show up in the main dir.
 main_dir_info_files := \
-  cl \
   dired-x \
-  ebrowse \
-  ediff \
-  efaq \
-  emacs-mime \
-  eshell \
-  eudc \
-  forms \
-  gnus \
-  idlwave \
-  info \
-  message \
-  mh-e \
-  reftex \
-  sc \
-  vip \
-  viper \
-  woman
+  efaq
 
 # These files must always exist, i.e. can't ever be cleaned.
 persistent_autogen_files := debian/control debian/copyright
@@ -715,6 +698,15 @@ binary-common: debian/stamp/build $(debp
 	      $(pkgdir_common)/usr/share/info/emacs-$(major_ver)/$$f; \
 	done
 
+	# Install replacements for non-free files that can be reached
+	# through C-h
+	for f in DISTRIB 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
+
 	$(call deb_sub,emacsVER-common.docs,$(flavor)-common.docs)
 	$(call deb_sub,emacsVER-common.postinst,$(flavor)-common.postinst)
 	$(call deb_sub,emacsVER-common.prerm,$(flavor)-common.prerm)



More information about the pkg-emacs-commits mailing list