From 78b5ba3eb73f9fce0eb72061747846c507fd6cd2 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sat, 22 Jun 1996 15:00:08 +0000 Subject: Sat Jun 22 10:44:09 1996 Roland McGrath * rpm/template (Source): New field. (%prep, %build, %install): New sections. (%files): Add %doc FAQ NEWS NOTES README. * rpm/rpmrc (builddir): Removed. --- ChangeLog | 7 +++++++ FAQ | 60 ++++++++++++++++++++++++++++++++++++++++++++++++------------ PROJECTS | 17 ++++++++++++++++- rpm/rpmrc | 1 - rpm/template | 16 ++++++++++++++++ 5 files changed, 87 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5a7090431f..8d37ec6cf8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sat Jun 22 10:44:09 1996 Roland McGrath + + * rpm/template (Source): New field. + (%prep, %build, %install): New sections. + (%files): Add %doc FAQ NEWS NOTES README. + * rpm/rpmrc (builddir): Removed. + Fri Jun 21 00:27:51 1996 Roland McGrath * elf/dl-load.c (_dl_map_object_from_fd): Fix mapping and l_phdr diff --git a/FAQ b/FAQ index 2714779ae8..1a434d0c94 100644 --- a/FAQ +++ b/FAQ @@ -31,12 +31,14 @@ please let me know. [Q6] ``Do I need some more things to compile GNU C Library?'' -[Q7] ``When I run `nm libc.so|grep " U "' on the produced library - I still find unresolved symbols? Can this be ok?'' +[Q7] ``When I run `nm -u libc.so' on the produced library I still + find unresolved symbols? Can this be ok?'' [Q8] ``I expect GNU libc to be 100% source code compatible with the old Linux based GNU libc. Why isn't it like this?'' +[Q9] ``Why does getlogin() always return NULL on my Linux box?'' + ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [Q1] ``What systems does the GNU C Library run on?'' @@ -50,7 +52,8 @@ in the future are: *-*-gnu GNU Hurd i[3456]86-*-linux Linux-2.0 on Intel - alpha-*-linux Linux on Alpha + m68k-*-linux Linux-2.0 on Motorola 680x0 + alpha-*-linux Linux-2.0 on DEC Alpha Other Linux platforms are also on the way to be supported but I need some success reports first. @@ -75,14 +78,14 @@ archiver. The GNU CC is found like all other GNU packages on ftp://prep.ai.mit.edu/pub/gnu -or better one of the many mirrors. +or better one of the many mirror sites. You always should try to use the latest official release. Older versions might not have all the features GNU libc could use. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -[Q3] ``When starting make I get only errors messages. +[Q3] ``When starting `make' I get only errors messages. What's wrong?'' [A3] {UD} You definitely need GNU make to translate GNU libc. No @@ -112,7 +115,8 @@ you should use the GNU binutils if they provide at least the same functionality as your system's tools. Always get the newest release of GNU binutils available. -Older releases are known to have bugs that affect building the GNU C library. +Older releases are known to have bugs that affect building the GNU C +Library. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -120,6 +124,11 @@ Older releases are known to have bugs that affect building the GNU C library. [A6] {UD} Yes, there are some more :-). +* GNU gettext; the GNU libc is internationalized and partly localized. + For bringing the messages for the different languages in the needed + form the tools from the GNU gettext package are necessary. See + ftp://prep.ai.mit.edu/pub/gnu or better any mirror site. + * lots of diskspace (for i386-linux this means, e.g., ~70MB). You should avoid compiling on a NFS mounted device. This is very @@ -128,7 +137,7 @@ Older releases are known to have bugs that affect building the GNU C library. * plenty of time (approx 1h for i386-linux on i586@133 or 2.5h or i486@66). - If you are interested in some more measurements let me know. + If you have some more measurements let me know. * Some files depend on special tools. E.g., files ending in .gperf need a `gperf' program. The GNU version (part of libg++) is known @@ -139,10 +148,13 @@ Older releases are known to have bugs that affect building the GNU C library. + the header files of the Linux kernel must be available in the search path of the CPP as and . +* Some files depend on special tools. E.g., files ending in .gperf + need a `gperf' program. The GNU version (part of libg++) is known + to work while some vendor versions do not. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -[Q7] ``When I run `nm libc.so|grep " U "' on the produced library - I still find unresolved symbols? Can this be ok?'' +[Q7] ``When I run `nm -u libc.so' on the produced library I still + find unresolved symbols? Can this be ok?'' [A7] {UD} Yes, this is ok. There can be several kinds of unresolved symbols: @@ -150,6 +162,8 @@ symbols: * magic symbols automatically generated by the linker. Names are often like __start_* and __stop_* +* symbols starting with _dl_* come from the dynamic linker + * symbols resolved by using libgcc.a (__udivdi3, __umoddi3, or similar) @@ -165,7 +179,7 @@ errors while linking before deciding there is a problem. [Q8] ``I expect GNU libc to be 100% source code compatible with the old Linux based GNU libc. Why isn't it like this?'' -[A8] {DMT} Not every extension in Linux libc's history was well +[A8] {DMT,UD} Not every extension in Linux libc's history was well thought-out. In fact it had a lot of problems with standards compliance and with cleanliness. With the introduction of a new version number these errors now can be corrected. Here is a list of the known source code @@ -190,6 +204,14 @@ incompatibilities: corresponds to the third argument of the Linux reboot system call. That is, a call of the form reboot(a, b, c) needs to be changed into reboot(c). + Beside this the header defines the needed constants + for the argument. These RB_* constants should be used instead of the + cryptic magic numbers. + +* swapon(): the interface of this function didn't changed, but the + prototype is in a separate header file . For the additional + argument of of swapon() you should use the SWAP_* constants from + , which get defined when is included. * errno: If a program uses variable "errno", then it _must_ include header file . The old libc often (erroneously) declared this variable @@ -215,12 +237,26 @@ incompatibilities: init_module init_module syslog ksyslog_ctl -* lpd: Older versions of lpd depend on an routine called _validuser(). +* lpd: Older versions of lpd depend on a routine called _validuser(). The library does not provide this function, but instead provides __ivaliduser() which has a slightly different interfaces. Simply - upgrading to a newer lpd should fix this problem (e.g., the BSD 4.4 + upgrading to a newer lpd should fix this problem (e.g., the 4.4BSD lpd is known to be working). + +~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +[Q9] ``Why does getlogin() always return NULL on my Linux box?'' + +[A9] {UD} The GNU C library has a format for the UTMP and WTMP file +which differs from what your system currently has. It was extended to +fulfill the needs of the next years when IPv6 is introduced. So the +record size is different, fields might have a different position and +so reading the files written by functions from the one library cannot +be read by functions from the other library. Sorry, but this is what +a major release is for. It's better to have a cut now than having no +means to support the new techniques later. + + ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ diff --git a/PROJECTS b/PROJECTS index 3150ce11cf..3796dff180 100644 --- a/PROJECTS +++ b/PROJECTS @@ -1,6 +1,6 @@ Open jobs for finishing GNU libc: --------------------------------- -Status: May 1996 +Status: June 1996 If you have time and talent to take over any of the jobs below please contact @@ -63,6 +63,8 @@ contact The libm is in fact fdlibm (not the same as in Linux libc). +**** Partly done. + [ 7] If you enjoy assembler programming (as I do --drepper :-) you might be interested in writing optimized versions for some functions. @@ -80,6 +82,8 @@ contact [ 8] Write nftw() function. Perhaps it might be good to reimplement the ftw() function as well to share most of the code. +**** Almost done! + [ 9] Write AVL-tree based tsearch() et.al. functions. Currently only a very simple algorithm is used. @@ -96,3 +100,14 @@ contact b) is without mmap support at least as fast as the current implementation c) will be extended with the current hooks and additional functions + + +[12] Implement shadow password handling. There exist some but I don't + know of any falling under LGPL and where the author is willing to + contribute it to the FSF. + + +[13] Write access function for group, ether, shadow, rpc, netmasks, + bootparams, netgroup, publickey, automount, aliases databases. + The functions should be embedded in the nss scheme. This is not + hard and not all services must be supported at once. diff --git a/rpm/rpmrc b/rpm/rpmrc index e4d66e971d..5579659a82 100644 --- a/rpm/rpmrc +++ b/rpm/rpmrc @@ -1,4 +1,3 @@ -builddir: . rpmdir: . srcrpmdir: . specdir: . diff --git a/rpm/template b/rpm/template index 3d88336608..f4c2e9f7d7 100644 --- a/rpm/template +++ b/rpm/template @@ -4,5 +4,21 @@ Group: Development/Libraries/Libc Version: @VERSION@ Release: 1 Copyright: LGPL, GPL +Source: glibc-@VERSION@.tar.gz + +%prep +%setup + +%build +configure --prefix=/usr +cat >configparms <