SPECS: glibc.spec - rel 0.4 - teach glibc about new syscalls at bu...
baggins
baggins at pld-linux.org
Mon Feb 5 23:53:15 CET 2007
Author: baggins Date: Mon Feb 5 22:53:15 2007 GMT
Module: SPECS Tag: HEAD
---- Log message:
- rel 0.4
- teach glibc about new syscalls at build time without requiring latest
kernel via include-override, the idea comes from Fedora and is _brilliant_
---- Files affected:
SPECS:
glibc.spec (1.674 -> 1.675)
---- Diffs:
================================================================
Index: SPECS/glibc.spec
diff -u SPECS/glibc.spec:1.674 SPECS/glibc.spec:1.675
--- SPECS/glibc.spec:1.674 Mon Feb 5 14:11:05 2007
+++ SPECS/glibc.spec Mon Feb 5 23:53:09 2007
@@ -49,7 +49,7 @@
Summary(uk): GNU libc ×ĹŇÓŚ§ 2.3
Name: glibc
Version: 2.5
-Release: 0.3
+Release: 0.4
Epoch: 6
License: LGPL
Group: Libraries
@@ -867,6 +867,541 @@
cd nptl/sysdeps/i386 && ln -s i686 i786 && cd -
cd nptl/sysdeps/unix/sysv/linux/i386 && ln -s i686 i786 && cd -
+# Hack till glibc-kernheaders get updated, argh
+%define min_kernel_ver %(echo %{min_kernel} | cut -f 1 -d .)
+%define min_kernel_patc %(echo %{min_kernel} | cut -f 2 -d .)
+%define min_kernel_subl %(echo %{min_kernel} | cut -f 3 -d .)
+%define min_kernel_code %(expr %{min_kernel_ver} \\* 65536 + %{min_kernel_patc} \\* 256 + %{min_kernel_subl})
+mkdir -p override_headers/linux
+cat > override_headers/linux/version.h <<EOF
+#define UTS_RELEASE "%{min_kernel}"
+#define LINUX_VERSION_CODE %{min_kernel_code}
+#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
+EOF
+mkdir -p override_headers/asm
+cat > override_headers/asm/unistd.h <<EOF
+#ifndef _HACK_ASM_UNISTD_H
+#include_next <asm/unistd.h>
+%ifarch alpha
+#ifndef __NR_stat64
+#define __NR_stat64 425
+#define __NR_lstat64 426
+#define __NR_fstat64 427
+#endif
+#ifndef __NR_mq_open
+#define __NR_mq_open 432
+#define __NR_mq_unlink 433
+#define __NR_mq_timedsend 434
+#define __NR_mq_timedreceive 435
+#define __NR_mq_notify 436
+#define __NR_mq_getsetattr 437
+#endif
+#ifndef __NR_waitid
+#define __NR_waitid 438
+#endif
+#ifndef __NR_inotify_init
+#define __NR_inotify_init 444
+#define __NR_inotify_add_watch 445
+#define __NR_inotify_rm_watch 446
+#endif
+%endif
+%ifarch %{ix86}
+#ifndef __NR_mq_open
+#define __NR_mq_open 277
+#define __NR_mq_unlink (__NR_mq_open+1)
+#define __NR_mq_timedsend (__NR_mq_open+2)
+#define __NR_mq_timedreceive (__NR_mq_open+3)
+#define __NR_mq_notify (__NR_mq_open+4)
+#define __NR_mq_getsetattr (__NR_mq_open+5)
+#endif
+#ifndef __NR_waitid
+#define __NR_waitid 284
+#endif
+#ifndef __NR_inotify_init
+#define __NR_inotify_init 291
+#define __NR_inotify_add_watch 292
+#define __NR_inotify_rm_watch 293
+#endif
+#ifndef __NR_openat
+#define __NR_openat 295
+#define __NR_mkdirat 296
+#define __NR_mknodat 297
+#define __NR_fchownat 298
+#define __NR_futimesat 299
+#define __NR_unlinkat 301
+#define __NR_renameat 302
+#define __NR_linkat 303
+#define __NR_symlinkat 304
+#define __NR_readlinkat 305
+#define __NR_fchmodat 306
+#define __NR_faccessat 307
+#endif
+#ifndef __NR_fstatat64
+#define __NR_fstatat64 300
+#endif
+#ifndef __NR_pselect6
+#define __NR_pselect6 308
+#define __NR_ppoll 309
+#endif
+#ifndef __NR_unshare
+#define __NR_unshare 310
+#endif
+#ifndef __NR_set_robust_list
+#define __NR_set_robust_list 311
+#define __NR_get_robust_list 312
+#endif
+#ifndef __NR_splice
+#define __NR_splice 313
+#endif
+#ifndef __NR_sync_file_range
+#define __NR_sync_file_range 314
+#endif
+#ifndef __NR_tee
+#define __NR_tee 315
+#endif
+#ifndef __NR_vmsplice
+#define __NR_vmsplice 316
+#endif
+%endif
+%ifarch ia64
+#ifndef __NR_timer_create
+#define __NR_timer_create 1248
+#define __NR_timer_settime 1249
+#define __NR_timer_gettime 1250
+#define __NR_timer_getoverrun 1251
+#define __NR_timer_delete 1252
+#define __NR_clock_settime 1253
+#define __NR_clock_gettime 1254
+#define __NR_clock_getres 1255
+#define __NR_clock_nanosleep 1256
+#endif
+#ifndef __NR_mq_open
+#define __NR_mq_open 1262
+#define __NR_mq_unlink 1263
+#define __NR_mq_timedsend 1264
+#define __NR_mq_timedreceive 1265
+#define __NR_mq_notify 1266
+#define __NR_mq_getsetattr 1267
+#endif
+#ifndef __NR_waitid
+#define __NR_waitid 1270
+#endif
+#ifndef __NR_inotify_init
+#define __NR_inotify_init 1277
+#define __NR_inotify_add_watch 1278
+#define __NR_inotify_rm_watch 1279
+#endif
+#ifndef __NR_openat
+#define __NR_openat 1281
+#define __NR_mkdirat 1282
+#define __NR_mknodat 1283
+#define __NR_fchownat 1284
+#define __NR_futimesat 1285
+#define __NR_newfstatat 1286
+#define __NR_unlinkat 1287
+#define __NR_renameat 1288
+#define __NR_linkat 1289
+#define __NR_symlinkat 1290
+#define __NR_readlinkat 1291
+#define __NR_fchmodat 1292
+#define __NR_faccessat 1293
+#endif
+#if 0
+#ifndef __NR_pselect6
+#define __NR_pselect6 1294
+#define __NR_ppoll 1295
+#endif
+#endif
+#ifndef __NR_unshare
+#define __NR_unshare 1296
+#endif
+#ifndef __NR_splice
+#define __NR_splice 1297
+#endif
+#ifndef __NR_set_robust_list
+#define __NR_set_robust_list 1298
+#define __NR_get_robust_list 1299
+#endif
+#ifndef __NR_sync_file_range
+#define __NR_sync_file_range 1300
+#endif
+#ifndef __NR_tee
+#define __NR_tee 1301
+#endif
+#ifndef __NR_vmsplice
+#define __NR_vmsplice 1302
+#endif
+%endif
+%ifarch ppc
+#ifndef __NR_utimes
+#define __NR_utimes 251
+#endif
+#ifndef __NR_statfs64
+#define __NR_statfs64 252
+#define __NR_fstatfs64 253
+#endif
+#ifndef __NR_fadvise64_64
+#define __NR_fadvise64_64 254
+#endif
+#ifndef __NR_mq_open
+#define __NR_mq_open 262
+#define __NR_mq_unlink 263
+#define __NR_mq_timedsend 264
+#define __NR_mq_timedreceive 265
+#define __NR_mq_notify 266
+#define __NR_mq_getsetattr 267
+#endif
+#ifndef __NR_waitid
+#define __NR_waitid 272
+#endif
+#ifndef __NR_inotify_init
+#define __NR_inotify_init 275
+#define __NR_inotify_add_watch 276
+#define __NR_inotify_rm_watch 277
+#endif
+#ifndef __NR_pselect6
+#define __NR_pselect6 280
+#define __NR_ppoll 281
+#endif
+#ifndef __NR_unshare
+#define __NR_unshare 282
+#endif
+#ifndef __NR_splice
+#define __NR_splice 283
+#endif
+#ifndef __NR_tee
+#define __NR_tee 284
+#endif
+#ifndef __NR_vmsplice
+#define __NR_vmsplice 285
+#endif
+#ifndef __NR_openat
+#define __NR_openat 286
+#define __NR_mkdirat 287
+#define __NR_mknodat 288
+#define __NR_fchownat 289
+#define __NR_futimesat 290
+#define __NR_fstatat64 291
+#define __NR_unlinkat 292
+#define __NR_renameat 293
+#define __NR_linkat 294
+#define __NR_symlinkat 295
+#define __NR_readlinkat 296
+#define __NR_fchmodat 297
+#define __NR_faccessat 298
+#endif
+%endif
+%ifarch ppc64
+#ifndef __NR_utimes
+#define __NR_utimes 251
+#endif
+#ifndef __NR_mq_open
+#define __NR_mq_open 262
+#define __NR_mq_unlink 263
+#define __NR_mq_timedsend 264
+#define __NR_mq_timedreceive 265
+#define __NR_mq_notify 266
+#define __NR_mq_getsetattr 267
+#endif
+#ifndef __NR_waitid
+#define __NR_waitid 272
+#endif
+#ifndef __NR_inotify_init
+#define __NR_inotify_init 275
+#define __NR_inotify_add_watch 276
+#define __NR_inotify_rm_watch 277
+#endif
+#ifndef __NR_pselect6
+#define __NR_pselect6 280
+#define __NR_ppoll 281
+#endif
+#ifndef __NR_unshare
+#define __NR_unshare 282
+#endif
+#ifndef __NR_splice
+#define __NR_splice 283
+#endif
+#ifndef __NR_tee
+#define __NR_tee 284
+#endif
+#ifndef __NR_vmsplice
+#define __NR_vmsplice 285
+#endif
+#ifndef __NR_openat
+#define __NR_openat 286
+#define __NR_mkdirat 287
+#define __NR_mknodat 288
+#define __NR_fchownat 289
+#define __NR_futimesat 290
+#define __NR_newfstatat 291
+#define __NR_unlinkat 292
+#define __NR_renameat 293
+#define __NR_linkat 294
+#define __NR_symlinkat 295
+#define __NR_readlinkat 296
+#define __NR_fchmodat 297
+#define __NR_faccessat 298
+#endif
+%endif
+%ifarch s390
+#ifndef __NR_timer_create
+#define __NR_timer_create 254
+#define __NR_timer_settime (__NR_timer_create+1)
+#define __NR_timer_gettime (__NR_timer_create+2)
+#define __NR_timer_getoverrun (__NR_timer_create+3)
+#define __NR_timer_delete (__NR_timer_create+4)
+#define __NR_clock_settime (__NR_timer_create+5)
+#define __NR_clock_gettime (__NR_timer_create+6)
+#define __NR_clock_getres (__NR_timer_create+7)
+#define __NR_clock_nanosleep (__NR_timer_create+8)
+#endif
+#ifndef __NR_fadvise64_64
+#define __NR_fadvise64_64 264
+#endif
+#ifndef __NR_statfs64
+#define __NR_statfs64 265
+#define __NR_fstatfs64 266
+#endif
+#ifndef __NR_mq_open
+#define __NR_mq_open 271
+#define __NR_mq_unlink 272
+#define __NR_mq_timedsend 273
+#define __NR_mq_timedreceive 274
+#define __NR_mq_notify 275
+#define __NR_mq_getsetattr 276
+#endif
+#ifndef __NR_waitid
+#define __NR_waitid 281
+#endif
+#ifndef __NR_inotify_init
+#define __NR_inotify_init 284
+#define __NR_inotify_add_watch 285
+#define __NR_inotify_rm_watch 286
+#endif
+#ifndef __NR_openat
+#define __NR_openat 288
+#define __NR_mkdirat 289
+#define __NR_mknodat 290
+#define __NR_fchownat 291
+#define __NR_futimesat 292
+#define __NR_fstatat64 293
+#define __NR_unlinkat 294
+#define __NR_renameat 295
+#define __NR_linkat 296
+#define __NR_symlinkat 297
+#define __NR_readlinkat 298
+#define __NR_fchmodat 299
+#define __NR_faccessat 300
+#endif
+#ifndef __NR_pselect6
+#define __NR_pselect6 301
+#define __NR_ppoll 302
+#endif
+#ifndef __NR_unshare
+#define __NR_unshare 303
+#endif
+%endif
+%ifarch s390x
+#ifndef __NR_timer_create
+#define __NR_timer_create 254
+#define __NR_timer_settime (__NR_timer_create+1)
+#define __NR_timer_gettime (__NR_timer_create+2)
+#define __NR_timer_getoverrun (__NR_timer_create+3)
+#define __NR_timer_delete (__NR_timer_create+4)
+#define __NR_clock_settime (__NR_timer_create+5)
+#define __NR_clock_gettime (__NR_timer_create+6)
+#define __NR_clock_getres (__NR_timer_create+7)
+#define __NR_clock_nanosleep (__NR_timer_create+8)
+#endif
+#ifndef __NR_mq_open
+#define __NR_mq_open 271
+#define __NR_mq_unlink 272
+#define __NR_mq_timedsend 273
+#define __NR_mq_timedreceive 274
+#define __NR_mq_notify 275
+#define __NR_mq_getsetattr 276
+#endif
+#ifndef __NR_waitid
+#define __NR_waitid 281
+#endif
+#ifndef __NR_inotify_init
+#define __NR_inotify_init 284
+#define __NR_inotify_add_watch 285
+#define __NR_inotify_rm_watch 286
+#endif
+#ifndef __NR_openat
+#define __NR_openat 288
+#define __NR_mkdirat 289
+#define __NR_mknodat 290
+#define __NR_fchownat 291
+#define __NR_futimesat 292
+#define __NR_newfstatat 293
+#define __NR_unlinkat 294
+#define __NR_renameat 295
+#define __NR_linkat 296
+#define __NR_symlinkat 297
+#define __NR_readlinkat 298
+#define __NR_fchmodat 299
+#define __NR_faccessat 300
+#endif
+#ifndef __NR_pselect6
+#define __NR_pselect6 301
+#define __NR_ppoll 302
+#endif
+#ifndef __NR_unshare
+#define __NR_unshare 303
+#endif
+%endif
+%ifarch sparc sparcv9 sparc64
+#ifndef __NR_mq_open
+#define __NR_mq_open 273
+#define __NR_mq_unlink 274
+#define __NR_mq_timedsend 275
+#define __NR_mq_timedreceive 276
+#define __NR_mq_notify 277
+#define __NR_mq_getsetattr 278
+#endif
+#ifndef __NR_waitid
+#define __NR_waitid 279
+#endif
+#ifndef __NR_stat64
+#define __NR_fstat64 63
+#define __NR_lstat64 132
+#define __NR_stat64 139
+#endif
+#ifndef __NR_inotify_init
+#define __NR_inotify_init 151
+#define __NR_inotify_add_watch 152
+#define __NR_inotify_rm_watch 156
+#endif
+#ifndef __NR_openat
+#define __NR_openat 284
+#define __NR_mkdirat 285
+#define __NR_mknodat 286
+#define __NR_fchownat 287
+#define __NR_futimesat 288
+#define __NR_newfstatat 289
+#define __NR_unlinkat 290
+#define __NR_renameat 291
+#define __NR_linkat 292
+#define __NR_symlinkat 293
+#define __NR_readlinkat 294
+#define __NR_fchmodat 295
+#define __NR_faccessat 296
+#endif
+#ifndef __NR_pselect6
+#define __NR_pselect6 297
+#define __NR_ppoll 298
+#endif
+#ifndef __NR_unshare
+#define __NR_unshare 299
+#endif
+%endif
+%ifarch x86_64
+#ifndef __NR_mq_open
+#define __NR_mq_open 240
+#define __NR_mq_unlink 241
+#define __NR_mq_timedsend 242
+#define __NR_mq_timedreceive 243
+#define __NR_mq_notify 244
+#define __NR_mq_getsetattr 245
+#endif
+#ifndef __NR_waitid
+#define __NR_waitid 247
+#endif
+#ifndef __NR_inotify_init
+#define __NR_inotify_init 253
+#define __NR_inotify_add_watch 254
+#define __NR_inotify_rm_watch 255
+#endif
+#ifndef __NR_openat
+#define __NR_openat 257
+#define __NR_mkdirat 258
+#define __NR_mknodat 259
+#define __NR_fchownat 260
+#define __NR_futimesat 261
+#define __NR_newfstatat 262
+#define __NR_unlinkat 263
+#define __NR_renameat 264
+#define __NR_linkat 265
+#define __NR_symlinkat 266
+#define __NR_readlinkat 267
+#define __NR_fchmodat 268
+#define __NR_faccessat 269
+#endif
+#ifndef __NR_pselect6
+#define __NR_pselect6 270
+#define __NR_ppoll 271
+#endif
+#ifndef __NR_unshare
+#define __NR_unshare 272
+#endif
+#ifndef __NR_set_robust_list
+#define __NR_set_robust_list 273
+#define __NR_get_robust_list 274
+#endif
+#ifndef __NR_splice
+#define __NR_splice 275
+#endif
+#ifndef __NR_tee
+#define __NR_tee 276
+#endif
+#ifndef __NR_sync_file_range
+#define __NR_sync_file_range 277
+#endif
+#ifndef __NR_vmsplice
+#define __NR_vmsplice 278
+#endif
+%endif
+#endif
+EOF
+cat > override_headers/asm/errno.h <<EOF
+#ifndef _HACK_ASM_ERRNO_H
+#include_next <asm/errno.h>
+%ifarch alpha
+#ifndef ENOKEY
+#define ENOKEY 132
+#define EKEYEXPIRED 133
+#define EKEYREVOKED 134
+#define EKEYREJECTED 135
+#endif
+#ifndef EOWNERDEAD
+#define EOWNERDEAD 136
+#define ENOTRECOVERABLE 137
+#endif
+%endif
+%ifarch %{ix86} ia64 ppc ppc64 s390 s390x x86_64
+#ifndef ENOKEY
+#define ENOKEY 126
+#define EKEYEXPIRED 127
+#define EKEYREVOKED 128
+#define EKEYREJECTED 129
+#endif
+#ifndef EOWNERDEAD
+#define EOWNERDEAD 130
+#define ENOTRECOVERABLE 131
+#endif
+%endif
+%ifarch sparc sparcv9 sparc64
+#ifndef ENOKEY
+#define ENOKEY 128
+#define EKEYEXPIRED 129
+#define EKEYREVOKED 130
+#define EKEYREJECTED 131
+#endif
+#ifndef EOWNERDEAD
+#define EOWNERDEAD 132
+#define ENOTRECOVERABLE 133
+#endif
+%endif
+#endif
+EOF
+
+# A lot of programs still misuse memcpy when they have to use
+# memmove. The memcpy implementation below is not tolerant at
+# all.
+rm -f sysdeps/alpha/alphaev6/memcpy.S
+
%build
cp -f /usr/share/automake/config.sub scripts
%{__aclocal}
@@ -882,7 +1417,7 @@
../%configure \
--enable-kernel="%{min_kernel}" \
--enable-omitfp \
- --with-headers=%{_includedir} \
+ --with-headers=`cd ..; pwd`/override_headers:%{_includedir} \
--with%{!?with_selinux:out}-selinux \
--with-tls \
--enable-add-ons=nptl,libidn \
@@ -1469,6 +2004,11 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.675 2007/02/05 22:53:09 baggins
+- rel 0.4
+- teach glibc about new syscalls at build time without requiring latest
+ kernel via include-override, the idea comes from Fedora and is _brilliant_
+
Revision 1.674 2007/02/05 13:11:05 arekm
- fix
================================================================
---- CVS-web:
http://cvs.pld-linux.org/SPECS/glibc.spec?r1=1.674&r2=1.675&f=u
More information about the pld-cvs-commit
mailing list