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 */ +
signature.asc
Description: Digital signature