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 _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit