#! /bin/sh -e ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Ensures to write the data on the disk when renamed a file [ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts patch_opts="${patch_opts:--f --no-backup-if-mismatch}" if [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $patch_opts -p1 < $0;; -unpatch) patch $patch_opts -p1 -R < $0;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1;; esac exit 0 @DPATCH@ diff -urN prelink-0.0.20060522.orig/src/cache.c prelink-0.0.20060522/src/cache.c --- prelink-0.0.20060522.orig/src/cache.c 2006-05-22 12:07:57.000000000 +0000 +++ prelink-0.0.20060522/src/cache.c 2006-05-24 15:18:40.000000000 +0000 @@ -627,6 +627,7 @@ if (write (fd, &cache, sizeof (cache)) != sizeof (cache) || write (fd, data, len) != len || fchmod (fd, 0644) + || fsync (fd) || close (fd) || rename (prelink_cache_tmp, prelink_cache)) { diff -urN prelink-0.0.20060522.orig/src/dso.c prelink-0.0.20060522/src/dso.c --- prelink-0.0.20060522.orig/src/dso.c 2006-05-22 14:02:34.000000000 +0000 +++ prelink-0.0.20060522/src/dso.c 2006-05-24 15:19:09.000000000 +0000 @@ -1601,6 +1601,8 @@ } elf_end (dso->elf); + if (dso_is_rdwr (dso)) + fsync (dso->fd); close (dso->fd); if (dso->elfro) {