* checkinstall: build properly on x86_64.
* checkinstall: get rid of the RUNPATH in the LD_PRELOAD library so that it works with native Glibc (e.g. in VM builds). * debBuild: use our own checkinstall. In particular this allows us to build Debs on x86_64. svn path=/nixpkgs/trunk/; revision=13608
This commit is contained in:
@@ -17,6 +17,22 @@ stdenv.mkDerivation {
|
||||
substituteInPlace checkinstallrc-dist --replace /usr/local $out
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
if stdenv.isLinux then
|
||||
# Clear the RPATH, otherwise installwatch.so won't work properly
|
||||
# as an LD_PRELOADed library on applications that load against a
|
||||
# different Glibc.
|
||||
''
|
||||
patchelf --set-rpath "" $out/lib/installwatch.so
|
||||
''
|
||||
else "";
|
||||
|
||||
patches = [
|
||||
# Necessary for building on x86_64, see
|
||||
# http://checkinstall.izto.org/cklist/msg00256.html
|
||||
./readlink.patch
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = http://checkinstall.izto.org/;
|
||||
description = "A tool for automatically generating Slackware, RPM or Debian packages when doing `make install'";
|
||||
|
||||
40
pkgs/tools/package-management/checkinstall/readlink.patch
Normal file
40
pkgs/tools/package-management/checkinstall/readlink.patch
Normal file
@@ -0,0 +1,40 @@
|
||||
--- a/installwatch-0.7.0beta5/installwatch.c 2007-04-07 14:27:23.000000000 -0400
|
||||
+++ b/installwatch-0.7.0beta5/installwatch.c 2007-04-07 14:25:06.000000000 -0400
|
||||
@@ -84,7 +84,7 @@
|
||||
static int (*true_open)(const char *, int, ...);
|
||||
static DIR *(*true_opendir)(const char *);
|
||||
static struct dirent *(*true_readdir)(DIR *dir);
|
||||
-static int (*true_readlink)(const char*,char *,size_t);
|
||||
+static ssize_t (*true_readlink)(const char*,char *,size_t);
|
||||
static char *(*true_realpath)(const char *,char *);
|
||||
static int (*true_rename)(const char *, const char *);
|
||||
static int (*true_rmdir)(const char *);
|
||||
@@ -546,7 +546,7 @@
|
||||
struct utimbuf timbuf;
|
||||
size_t truesz;
|
||||
char linkpath[PATH_MAX+1];
|
||||
- size_t linksz;
|
||||
+ ssize_t linksz;
|
||||
|
||||
#if DEBUG
|
||||
debug(2,"copy_path(%s,%s)\n",truepath,translroot);
|
||||
@@ -1582,7 +1582,7 @@
|
||||
struct stat reslvinfo;
|
||||
instw_t iw;
|
||||
char wpath[PATH_MAX+1];
|
||||
- size_t wsz=0;
|
||||
+ ssize_t wsz=0;
|
||||
char linkpath[PATH_MAX+1];
|
||||
|
||||
|
||||
@@ -2698,8 +2698,8 @@
|
||||
return result;
|
||||
}
|
||||
|
||||
-int readlink(const char *path,char *buf,size_t bufsiz) {
|
||||
- int result;
|
||||
+ssize_t readlink(const char *path,char *buf,size_t bufsiz) {
|
||||
+ ssize_t result;
|
||||
instw_t instw;
|
||||
int status;
|
||||
|
||||
Reference in New Issue
Block a user