Changes in / [150ed37:cf479f2]
- Location:
- BOOK
- Files:
-
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/boot/common/eudev.xml
r150ed37 rcf479f2 49 49 <para os="r1">Create a dummy rule so that Eudev will name ethernet devices properly for the system.</para> 50 50 51 <screen os="r2"><userinput>echo "# dummy, so that network is once again on eth*" >\51 <screen os="r2"><userinput>echo "# dummy, so that network is once again on eth*" > \ 52 52 /tools/etc/udev/rules.d/80-net-name-slot.rules</userinput></screen> 53 53 -
BOOK/boot/common/shadow.xml
r150ed37 rcf479f2 29 29 <screen os="c"><userinput>cp -v src/Makefile.in{,.orig} 30 30 sed -e 's/groups$(EXEEXT) //' -e 's/= nologin$(EXEEXT)/= /' \ 31 src/Makefile.in.orig >src/Makefile.in</userinput></screen>31 src/Makefile.in.orig > src/Makefile.in</userinput></screen> 32 32 33 33 <para os="d">Prepare Shadow for compilation:</para> -
BOOK/boot/mips/colo-build.xml
r150ed37 rcf479f2 40 40 41 41 <screen os="s2"><userinput>cp -v stage2/Makefile{,.orig} 42 sed '/^CFLAGS/s/-Werror //' stage2/Makefile.orig >stage2/Makefile</userinput></screen>42 sed '/^CFLAGS/s/-Werror //' stage2/Makefile.orig > stage2/Makefile</userinput></screen> 43 43 44 44 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" -
BOOK/chroot/64/createfiles.xml
r150ed37 rcf479f2 21 21 ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib 22 22 ln -sv /tools/lib/libstdc++.so{.6,} /usr/lib 23 sed -e 's/tools/usr/' /tools/lib/libstdc++.la >/usr/lib/libstdc++.la23 sed -e 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la 24 24 ln -sv bash /bin/sh 25 25 ln -sv /run /var/run</userinput></screen> -
BOOK/chroot/common/createfiles.xml
r150ed37 rcf479f2 19 19 ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib 20 20 ln -sv /tools/lib/libstdc++.so{.6,} /usr/lib 21 sed -e 's/tools/usr/' /tools/lib/libstdc++.la >/usr/lib/libstdc++.la21 sed -e 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la 22 22 ln -sv bash /bin/sh 23 23 ln -sv /run /var/run</userinput></screen> -
BOOK/chroot/mips64/createfiles.xml
r150ed37 rcf479f2 23 23 ln -sv /tools/lib32/libstdc++.so{.6,} /usr/lib32 24 24 ln -sv /tools/lib64/libstdc++.so{.6,} /usr/lib64 25 sed -e 's/tools/usr/' /tools/lib/libstdc++.la >/usr/lib/libstdc++.la25 sed -e 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la 26 26 ln -sv bash /bin/sh 27 27 ln -sv /run /var/run</userinput></screen> -
BOOK/cross-tools/common/gcc-static.xml
r150ed37 rcf479f2 51 51 <filename class="directory">/tools</filename>:</para> 52 52 53 <screen os="ah"><userinput>echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >>gcc/config/linux.h54 echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >>gcc/config/linux.h</userinput></screen>53 <screen os="ah"><userinput>echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h 54 echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/linux.h</userinput></screen> 55 55 56 56 <para os="t1">We will create a dummy <filename>limits.h</filename> so -
BOOK/cross-tools/ppc/gcc-static.xml
r150ed37 rcf479f2 48 48 xpointer="xpointer(//*[@os='ag'])"/> 49 49 50 <screen os="ah"><userinput>echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >>gcc/config/rs6000/sysv4.h51 echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >>gcc/config/rs6000/sysv4.h</userinput></screen>50 <screen os="ah"><userinput>echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/rs6000/sysv4.h 51 echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/rs6000/sysv4.h</userinput></screen> 52 52 53 53 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" -
BOOK/final-system/common/coreutils.xml
r150ed37 rcf479f2 68 68 of it so that the tests are not skipped:</para> 69 69 70 <screen os="j"><userinput remap="test">echo "dummy:x:1000:nobody" >>/etc/group</userinput></screen>70 <screen os="j"><userinput remap="test">echo "dummy:x:1000:nobody" >> /etc/group</userinput></screen> 71 71 72 72 <para os="k">Fix permissions of some files so the non-root user can compile -
BOOK/final-system/common/ncurses.xml
r150ed37 rcf479f2 68 68 69 69 <screen os="m"><userinput>for lib in curses ncurses form panel menu ; do 70 echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so70 echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so 71 71 ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a 72 72 done -
BOOK/final-system/common/tar.xml
r150ed37 rcf479f2 49 49 <para os="h">Generate the man page and place it in the proper location:</para> 50 50 51 <screen os="i"><userinput>perl tarman >/usr/share/man/man1/tar.1</userinput></screen>51 <screen os="i"><userinput>perl tarman > /usr/share/man/man1/tar.1</userinput></screen> 52 52 53 53 <para os="j">Install the documentation:</para> -
BOOK/final-system/common/zlib.xml
r150ed37 rcf479f2 39 39 <para os="e">To test the results, issue:</para> 40 40 41 <screen os="e2" ><userinput remap="test">make check</userinput></screen>41 <screen os="e2" ><userinput remap="test">make check</userinput></screen> 42 42 43 43 <para os="f">Install the package:</para> -
BOOK/final-system/multilib/ncurses-64bit.xml
r150ed37 rcf479f2 86 86 87 87 <screen os="m"><userinput>for lib in curses ncurses form panel menu ; do 88 echo "INPUT(-l${lib}w)" >/usr/lib64/lib${lib}.so88 echo "INPUT(-l${lib}w)" > /usr/lib64/lib${lib}.so 89 89 ln -sfv lib${lib}w.a /usr/lib64/lib${lib}.a 90 90 done -
BOOK/final-system/multilib/ncurses-n32.xml
r150ed37 rcf479f2 86 86 87 87 <screen os="m"><userinput>for lib in curses ncurses form panel menu ; do 88 echo "INPUT(-l${lib}w)" >/usr/lib32/lib${lib}.so88 echo "INPUT(-l${lib}w)" > /usr/lib32/lib${lib}.so 89 89 ln -sfv lib${lib}w.a /usr/lib32/lib${lib}.a 90 90 done -
BOOK/final-system/multilib/ncurses.xml
r150ed37 rcf479f2 87 87 88 88 <screen os="m"><userinput>for lib in curses ncurses form panel menu ; do 89 echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so89 echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so 90 90 ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a 91 91 done -
BOOK/final-system/multilib/perl-64bit.xml
r150ed37 rcf479f2 47 47 <para os="m2">We still need to tell Perl to actually use <filename class="directory">lib64</filename>:</para> 48 48 49 <screen os="m3"><userinput>echo 'installstyle="lib64/perl5"' >>hints/linux.sh</userinput></screen>49 <screen os="m3"><userinput>echo 'installstyle="lib64/perl5"' >>hints/linux.sh</userinput></screen> 50 50 51 51 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" -
BOOK/final-system/multilib/perl-n32.xml
r150ed37 rcf479f2 48 48 <para os="m2">We still need to tell perl to actually use lib32:</para> 49 49 50 <screen os="m3"><userinput>echo 'installstyle="lib32/perl5"' >>hints/linux.sh</userinput></screen>50 <screen os="m3"><userinput>echo 'installstyle="lib32/perl5"' >>hints/linux.sh</userinput></screen> 51 51 52 52 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" -
BOOK/general.ent
r150ed37 rcf479f2 3 3 <!ENTITY month "05"> <!-- Use two digits --> 4 4 <!ENTITY month_name "May"> 5 <!ENTITY day "2 9"> <!-- Use two digits -->5 <!ENTITY day "28"> <!-- Use two digits --> 6 6 <!ENTITY year "2014"> <!-- Use four digits --> 7 7 -
BOOK/introduction/common/changelog.xml
r150ed37 rcf479f2 38 38 39 39 <listitem> 40 <para>29 May 2014</para>41 <itemizedlist>42 <listitem>43 <para>[Chris] - Edited "how" page - removed details about44 booting/chrooting and moved them to the "choose" page for temp-system.</para>45 </listitem>46 </itemizedlist>47 </listitem>48 49 <listitem>50 40 <para>28 May 2014</para> 51 41 <itemizedlist> -
BOOK/introduction/common/how.xml
r150ed37 rcf479f2 22 22 your machine, you may wish to use a livecd. Most distributions provide 23 23 a livecd, which provides an environment to which you can add the required 24 tools onto, allowing you to successfully follow the instructions in this 25 book. Remember that if you reboot the livecd you will need to reconfigure 26 the host environment before continuing with your build.</para> 24 tools onto, allowing you to 25 successfully follow the instructions in this book. Remember that if you 26 reboot the livecd you will need to reconfigure the host environment before 27 continuing with your build.</para> 27 28 28 29 <para><xref linkend="chapter-partitioning"/> of this book describes how … … 53 54 <para>After we build our <quote>Cross-Tools</quote>, we start building 54 55 a very minimal working system in 55 <filename class="directory">/tools</filename>, using the cross-toolchain in 56 <filename class="directory">/cross-tools</filename>. Once the temporary 57 system is finished, we perform a few additional tasks to prepare to 58 enter this temporary build environment, either by booting or chrooting into 59 it. For more details about the difference between these methods, see 60 <xref linkend="ch-temp-system-choose"/>.</para> 56 <filename class="directory">/tools</filename>. This minimal system will be 57 built using the cross-toolchain in 58 <filename class="directory">/cross-tools</filename>.</para> 61 59 62 <para>In <xref linkend="chapter-building-system"/>, after having booted63 or chrooted into the temporary build environment, the full CLFS system is64 b uilt.</para>60 <para>In <xref linkend="chapter-building-system"/>, the full CLFS system is 61 built. Depending on the system you are cross-compiling for, you will either 62 boot the minimal temp-system on the target machine, or chroot into it.</para> 65 63 66 <para>To finish the installation, several configuration files are created in 67 <xref linkend="chapter-system-config"/>, and the kernel and boot loader are 68 set up in <xref linkend="chapter-bootable"/>. 69 <xref linkend="chapter-finalizing"/> 64 <para>The <command>chroot</command> (change root) program is used to enter 65 a virtual environment and start a new shell whose root directory will be set 66 to the CLFS partition. This is very similar to rebooting and instructing the 67 kernel to mount the CLFS partition as the root partition. 68 The major advantage is that <quote>chrooting</quote> allows the builder to 69 continue using the host while CLFS is being built. While waiting for package 70 compilation to complete, a user can switch to a different virtual console 71 (VC) or X desktop and continue using the computer as normal.</para> 72 73 <para>Some systems cannot be built by chrooting so they must be 74 booted instead. Generally, if you building for a different arch than 75 the host system, you must reboot because the kernel will likely not 76 support the target machine. Booting involves installing a few 77 additional packages that are needed for bootup, installing 78 bootscripts, and building a miminal kernel.<!-- We also describe some 79 alternative booting methods in <xref linkend="ch-boot-whatnext"/> --></para> 80 81 <para> To finish the installation, the CLFS-Bootscripts are set up in 82 <xref linkend="chapter-system-config"/>, and the kernel and boot loader are set 83 up in <xref linkend="chapter-bootable"/>. <xref linkend="chapter-finalizing"/> 70 84 contains information on furthering the CLFS experience beyond this book. 71 85 After the steps in this book have been implemented, the computer will be -
BOOK/prologue/common/hostreqs.xml
r150ed37 rcf479f2 75 75 </listitem> 76 76 77 <listitem> 78 <para><emphasis role="strong">Linux 2.6.32 (Built with GCC 4.1.2 or later)</emphasis></para> 79 </listitem> 80 77 81 <listitem> 78 82 <para><emphasis role="strong">Make-3.80</emphasis></para> … … 127 131 grep --version | head -n1 128 132 gzip --version | head -n1 133 uname -s -r 129 134 make --version | head -n1 130 135 tic -V … … 134 139 makeinfo --version | head -n1 135 140 xz --version | head -n1 136 echo 'main(){}' | gcc -v -o /dev/null -x c - >dummy.log 2>&1141 echo 'main(){}' | gcc -v -o /dev/null -x c - > dummy.log 2>&1 137 142 if ! grep -q ' error' dummy.log; then 138 143 echo "Compilation successful" && rm dummy.log -
BOOK/temp-system/common/bison.xml
r150ed37 rcf479f2 26 26 27 27 <screen os='s2'><userinput>cp -v Makefile.in{,.orig} 28 sed '/bison.help:/s/^/# /' Makefile.in.orig >Makefile.in</userinput></screen>28 sed '/bison.help:/s/^/# /' Makefile.in.orig > Makefile.in</userinput></screen> 29 29 30 30 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" -
BOOK/temp-system/common/choose.xml
r150ed37 rcf479f2 16 16 rest there. Alternatively, you can chroot into the temporary system.</para> 17 17 18 <para os="b">The <command>chroot</command> (change root) program is used to enter 19 a virtual environment and start a new shell whose root directory will be set 20 to the CLFS partition. This is very similar to rebooting and instructing the 21 kernel to mount the CLFS partition as the root partition. 22 The major advantage is that <quote>chrooting</quote> allows the builder to 23 continue using the host while CLFS is being built. While waiting for package 24 compilation to complete, a user can switch to a different virtual console 25 (VC) or X desktop and continue using the computer as normal.</para> 26 27 <para os="c">Some systems cannot be built by chrooting so they must be 28 booted instead. Generally, if you building for a different arch than 29 the host system, you must reboot because the kernel will likely not 30 support the target machine. Booting involves installing a few 31 additional packages that are needed for bootup, installing 32 boot-scripts, and building a miminal kernel.<!-- We also describe some 33 alternative booting methods in <xref linkend="ch-boot-whatnext"/> --> 34 The boot method is needed when you are building on a different 18 <para os="b">The boot method is needed when you are building on a different 35 19 architecture. For example, if you are building a PowerPC system from 36 20 an x86, you can't chroot. The chroot method is for when you are … … 41 25 wanting to run a different ABI, you will need to use the boot option.</para> 42 26 43 <para os=" d">If you are in any doubt about this, you can try the following27 <para os="c">If you are in any doubt about this, you can try the following 44 28 commands to see if you can chroot:</para> 45 29 46 <screen os="e"><userinput>/tools/lib/libc.so.630 <screen ><userinput>/tools/lib/libc.so.6 47 31 /tools/bin/gcc -v</userinput></screen> 48 32 49 <para os="f">If either of these commands fail, you will have to follow the boot33 <para>If either of these commands fail, you will have to follow the boot 50 34 method.</para> 51 35 52 <para os="g">To chroot, you will also need a Linux Kernel-2.6.32 or greater36 <para>To chroot, you will also need a Linux Kernel-2.6.32 or greater 53 37 (having been compiled with GCC-4.1.2 or greater). The reason for the 54 38 kernel version requirement is that Glibc is built to generate the library 55 39 for the smallest version of the Linux kernel expected to be supported.</para> 56 40 57 <para os="h">To check your kernel version, run <command>cat /proc/version</command>41 <para>To check your kernel version, run <command>cat /proc/version</command> 58 42 - if it does not say that you are running a 2.6.32 or later Linux kernel, 59 43 compiled with GCC 4.1.2 or later, you cannot chroot.</para> 60 44 61 <para os=" i">For the boot method, follow <xref linkend="chapter-boot"/>.</para>45 <para os="e">For the boot method, follow <xref linkend="chapter-boot"/>.</para> 62 46 63 <para os=" j">For the chroot method, follow <xref linkend="chapter-chroot"/>.</para>47 <para os="f">For the chroot method, follow <xref linkend="chapter-chroot"/>.</para> 64 48 65 49 </sect1> -
BOOK/temp-system/common/gcc.xml
r150ed37 rcf479f2 97 97 <screen os="s2"><userinput>cp -v Makefile{,.orig} 98 98 sed "/^HOST_\(GMP\|ISL\|CLOOG\)\(LIBS\|INC\)/s:/tools:/cross-tools:g" \ 99 Makefile.orig >Makefile</userinput></screen>99 Makefile.orig > Makefile</userinput></screen> 100 100 101 101 <para os="cm">Compile the package:</para> -
BOOK/temp-system/common/vim.xml
r150ed37 rcf479f2 124 124 <screen os="m"><userinput>ln -sv vim /tools/bin/vi</userinput></screen> 125 125 126 <para os="tv1" >Create a temporary vimrc to make it function more the way you may126 <para os="tv1" >Create a temporary vimrc to make it function more the way you may 127 127 expect it to. This is explained more in the final system:</para> 128 128 -
BOOK/temp-system/mips64/choose.xml
r150ed37 rcf479f2 23 23 xpointer="xpointer(//*[@os='c'])"/> 24 24 25 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 26 href="../common/choose.xml" 27 xpointer="xpointer(//*[@os='d'])"/> 28 29 <screen os="e"><userinput>/tools/lib/libc.so.6 25 <screen ><userinput>/tools/lib/libc.so.6 30 26 /tools/lib32/libc.so.6 31 27 /tools/lib64/libc.so.6 … … 34 30 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 35 31 href="../multilib/choose.xml" 36 xpointer="xpointer(//*[@os='f'])"/> 32 xpointer="xpointer(//*[@os='d'])"/> 33 34 <para>To chroot, you will also need a Linux Kernel-2.6.32 or greater (having been compiled with GCC-4.1.2 or greater). The reason for the kernel version requirement is that Glibc is built to generate the library for the smallest version of the Linux kernel expected to be supported.</para> 35 36 <para>To check your kernel version, run <command>cat /proc/version</command> - if it does not say that you are running a 2.6.32 or later Linux kernel, compiled with GCC 4.1.2 or later, you cannot chroot.</para> 37 37 38 38 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 39 39 href="../common/choose.xml" 40 xpointer="xpointer(//*[@os=' g'])"/>40 xpointer="xpointer(//*[@os='e'])"/> 41 41 42 42 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 43 43 href="../common/choose.xml" 44 xpointer="xpointer(//*[@os='h'])"/> 45 46 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 47 href="../common/choose.xml" 48 xpointer="xpointer(//*[@os='i'])"/> 49 50 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 51 href="../common/choose.xml" 52 xpointer="xpointer(//*[@os='j'])"/> 44 xpointer="xpointer(//*[@os='f'])"/> 53 45 54 46 </sect1> -
BOOK/temp-system/multilib/choose.xml
r150ed37 rcf479f2 23 23 xpointer="xpointer(//*[@os='c'])"/> 24 24 25 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 26 href="../common/choose.xml" 27 xpointer="xpointer(//*[@os='d'])"/> 28 29 <screen os="e"><userinput>/tools/lib/libc.so.6 25 <screen ><userinput>/tools/lib/libc.so.6 30 26 /tools/lib64/libc.so.6 31 27 /tools/bin/gcc -v</userinput></screen> 32 28 33 <para os=" f">If any of these commands fail, you will have to follow the boot29 <para os="d">If any of these commands fail, you will have to follow the boot 34 30 method.</para> 31 32 <para>To chroot, you will also need a Linux Kernel-2.6.32 or greater 33 (having been compiled with GCC-4.1.2 or greater). The reason for the 34 kernel version requirement is that Glibc is built to generate the library 35 for the smallest version of the Linux kernel expected to be supported.</para> 36 37 <para>To check your kernel version, run <command>cat /proc/version</command> 38 - if it does not say that you are running a 2.6.32 or later Linux kernel, 39 compiled with GCC 4.1.2 or later, you cannot chroot.</para> 35 40 36 41 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 37 42 href="../common/choose.xml" 38 xpointer="xpointer(//*[@os=' g'])"/>43 xpointer="xpointer(//*[@os='e'])"/> 39 44 40 45 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 41 46 href="../common/choose.xml" 42 xpointer="xpointer(//*[@os='h'])"/> 43 44 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 45 href="../common/choose.xml" 46 xpointer="xpointer(//*[@os='i'])"/> 47 48 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 49 href="../common/choose.xml" 50 xpointer="xpointer(//*[@os='j'])"/> 47 xpointer="xpointer(//*[@os='f'])"/> 51 48 52 49 </sect1> -
BOOK/temp-system/ppc64-chapter.xml
r150ed37 rcf479f2 41 41 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/vim.xml"/> 42 42 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="multilib/xz.xml"/> 43 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href=" ppc64/choose.xml"/>43 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="multilib/choose.xml"/> 44 44 45 45 </chapter> -
BOOK/temp-system/ppc64/choose.xml
r150ed37 rcf479f2 19 19 xpointer="xpointer(//*[@os='b'])"/> 20 20 21 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"22 href="../common/choose.xml"23 xpointer="xpointer(//*[@os='c'])"/>24 25 21 <para>Powerpc64 is slightly different from some of the other 26 22 architectures, because a 64-bit kernel running 32-bit userspace can … … 40 36 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 41 37 href="../common/choose.xml" 42 xpointer="xpointer(//*[@os=' i'])"/>38 xpointer="xpointer(//*[@os='e'])"/> 43 39 44 40 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 45 41 href="../common/choose.xml" 46 xpointer="xpointer(//*[@os=' j'])"/>42 xpointer="xpointer(//*[@os='f'])"/> 47 43 48 44 </sect1> -
BOOK/the-end/downloadclient.xml
r150ed37 rcf479f2 58 58 NetService = "/inet/tcp/0/mirror.anl.gov/80" 59 59 print "GET /pub/gnu/wget/wget-1.14.tar.xz" |& NetService 60 while ((NetService |& getline) >0)60 while ((NetService |& getline) > 0) 61 61 print $0 62 62 close(NetService) 63 }' >binary63 }' > binary 64 64 65 65 gawk '{q=p;p=$0}NR>1{print q}END{ORS = ""; print p}' binary > wget-1.14.tar.xz
Note:
See TracChangeset
for help on using the changeset viewer.