tags 539750 +patch
tags 545497 +patch
tags 534002 +patch
thanks

Hi!

I've prepared an NMU for emacs22 (versioned as 22.3+1-1.2) and
uploaded it to DELAYED/7. Please feel free to tell me if I
should delay it longer.

I also applied the patch referenced in #53400; and tested in extensively
(about 114 builds; all succesfull).

Regards.
diff -u emacs22-22.3+1/debian/control emacs22-22.3+1/debian/control
--- emacs22-22.3+1/debian/control
+++ emacs22-22.3+1/debian/control
@@ -6,17 +6,6 @@
 Build-Depends: mailx, libncurses5-dev, texinfo, liblockfile-dev, libgif-dev | libungif4-dev, libtiff4-dev | libtiff-dev, xaw3dg-dev, libpng12-dev, libjpeg62-dev, autotools-dev, dpkg-dev (>> 1.10.0), quilt (>= 0.42-1), debhelper (>= 4), libxaw7-dev, sharutils, imagemagick, libgtk2.0-dev, libasound2-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64]
 Standards-Version: 3.7.2
 
-Package: emacs
-Section: editors
-Priority: optional
-Architecture: all
-Depends: emacs22 | emacs22-gtk | emacs22-nox
-Provides: emacsen, editor, mail-reader, news-reader
-Description: The GNU Emacs editor (metapackage)
- GNU Emacs is the extensible self-documenting text editor.
- This is a metapackage which will always depend on the latest Emacs
- release.
-
 Package: emacs22
 Section: editors
 Priority: optional
diff -u emacs22-22.3+1/debian/rules emacs22-22.3+1/debian/rules
--- emacs22-22.3+1/debian/rules
+++ emacs22-22.3+1/debian/rules
@@ -668,8 +668,8 @@
 
 	cp -a $(install_dir_x)/* $(pkgdir_common)
 
-	rm -r $(pkgdir_common)/usr/bin
-	rm -r $(pkgdir_common)/usr/lib
+	rm -rf $(pkgdir_common)/usr/bin
+	rm -rf $(pkgdir_common)/usr/lib
 
 	cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc \
 	  && test -f DOC-$(runtime_ver).*
@@ -689,7 +689,7 @@
 			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
+	rm -f $(pkgdir_common)/usr/share/emacs/site-lisp/subdirs.el
 
 	cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/images/icons \
 	  && convert emacs_16.png emacs_16.xpm
@@ -710,8 +710,8 @@
 	  $(pkgdir_common)/usr/share/man/man1/ctags.1$(flavor)
 
         # 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
+	rm -f $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/COPYING
+	rm -f $(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 \
@@ -735,20 +735,20 @@
 	  find -name "*.elc" | perl -pe 's/\.elc$$/\.el\.gz/o' | xargs rm -f
 
         # Remove extraneous info dir file.
-	rm $(pkgdir_common)/usr/share/info/emacs-$(major_ver)/dir
-	rm $(pkgdir_common)/usr/share/info/emacs-$(major_ver)/dir.old
+	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 to 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
+	rm -f $(pkgdir_common)/var/games/emacs/tetris-scores
+	rm -f $(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
+	rm -rf $(pkgdir_common)/usr/local
 
         ##################################################
         # emacsXY-bin-common
diff -u emacs22-22.3+1/debian/changelog emacs22-22.3+1/debian/changelog
--- emacs22-22.3+1/debian/changelog
+++ emacs22-22.3+1/debian/changelog
@@ -1,3 +1,13 @@
+emacs22 (22.3+1-1.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Drop emacs metapackage (Closes: #539750)
+  * Force removals of various stuff in debian/rules (Closes: #545497)
+  * Apply patch by Ulrich Mueller to solve potential FTBFS by "intermittent
+    unexec failure" problem (Closes: #534002)
+
+ -- Alexander Reichle-Schmehl <toli...@debian.org>  Mon, 25 Jan 2010 15:05:36 +0100
+
 emacs22 (22.3+1-1.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -u emacs22-22.3+1/debian/patches/series emacs22-22.3+1/debian/patches/series
--- emacs22-22.3+1/debian/patches/series
+++ emacs22-22.3+1/debian/patches/series
@@ -13,0 +14 @@
+intermittent_unexec_failure.diff
only in patch2:
unchanged:
--- emacs22-22.3+1.orig/debian/patches/intermittent_unexec_failure.diff
+++ emacs22-22.3+1/debian/patches/intermittent_unexec_failure.diff
@@ -0,0 +1,79 @@
+Index: emacs22-22.3+1/src/emacs.c
+===================================================================
+--- emacs22-22.3+1.orig/src/emacs.c	2010-01-25 15:04:28.000000000 +0100
++++ emacs22-22.3+1/src/emacs.c	2010-01-25 15:04:33.000000000 +0100
+@@ -73,6 +73,9 @@
+ 
+ #ifdef HAVE_PERSONALITY_LINUX32
+ #include <sys/personality.h>
++#ifndef ADDR_NO_RANDOMIZE
++#define ADDR_NO_RANDOMIZE 0x0040000
++#endif
+ #endif
+ 
+ #ifndef O_RDWR
+@@ -789,6 +792,26 @@
+   return count >= 3 ? REPORT_EMACS_BUG_PRETEST_ADDRESS : REPORT_EMACS_BUG_ADDRESS;
+ }
+ 
++#ifdef HAVE_PERSONALITY_LINUX32
++/* Get the `randomize_va_space' parameter. A value of 2 (introduced
++   in Linux 2.6.25) indicates that brk() randomization is switched on,
++   which will break unexec. See <http://lkml.org/lkml/2007/10/23/435>. */
++static int
++linux_randomize_va_space ()
++{
++  FILE *fp;
++  int rand, count;
++
++  fp = fopen ("/proc/sys/kernel/randomize_va_space", "r");
++  if (!fp)
++    return -1;
++  count = fscanf (fp, "%d", &rand);
++  (void) fclose (fp);
++  if (count != 1)
++    return -1;
++  return rand;
++}
++#endif /* HAVE_PERSONALITY_LINUX32 */
+ 
+ /* ARGSUSED */
+ int
+@@ -883,24 +906,20 @@
+   if (!initialized
+       && (strcmp (argv[argc-1], "dump") == 0
+           || strcmp (argv[argc-1], "bootstrap") == 0)
+-      && heap_bss_diff > MAX_HEAP_BSS_DIFF)
++      && !getenv ("EMACS_HEAP_EXEC")
++      && (heap_bss_diff > MAX_HEAP_BSS_DIFF
++	  || linux_randomize_va_space() >= 2))
+     {
+-      if (! getenv ("EMACS_HEAP_EXEC"))
+-        {
+-          /* Set this so we only do this once.  */
+-          putenv("EMACS_HEAP_EXEC=true");
+-
+-	  /* A flag to turn off address randomization which is introduced
+-	   in linux kernel shipped with fedora core 4 */
+-#define ADD_NO_RANDOMIZE 0x0040000
+-	  personality (PER_LINUX32 | ADD_NO_RANDOMIZE);
+-#undef  ADD_NO_RANDOMIZE
+-
+-          execvp (argv[0], argv);
+-
+-          /* If the exec fails, try to dump anyway.  */
+-          perror ("execvp");
+-        }
++      /* Set this so we only do this once.  */
++      putenv("EMACS_HEAP_EXEC=true");
++
++      /* Set personality and disable randomization of VA space. */
++      personality (PER_LINUX32 | ADDR_NO_RANDOMIZE);
++
++      execvp (argv[0], argv);
++
++      /* If the exec fails, try to dump anyway.  */
++      perror ("execvp");
+     }
+ #endif /* HAVE_PERSONALITY_LINUX32 */
+ 

Attachment: signature.asc
Description: Digital signature

Reply via email to