Changes in / [cf479f2:150ed37]
- Location:
- BOOK
- Files:
-
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/boot/common/eudev.xml
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 39 39 <para os="e">To test the results, issue:</para> 40 40 41 <screen os="e2" 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 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
rcf479f2 r150ed37 3 3 <!ENTITY month "05"> <!-- Use two digits --> 4 4 <!ENTITY month_name "May"> 5 <!ENTITY day "2 8"> <!-- Use two digits -->5 <!ENTITY day "29"> <!-- Use two digits --> 6 6 <!ENTITY year "2014"> <!-- Use four digits --> 7 7 -
BOOK/introduction/common/changelog.xml
rcf479f2 r150ed37 38 38 39 39 <listitem> 40 <para>29 May 2014</para> 41 <itemizedlist> 42 <listitem> 43 <para>[Chris] - Edited "how" page - removed details about 44 booting/chrooting and moved them to the "choose" page for temp-system.</para> 45 </listitem> 46 </itemizedlist> 47 </listitem> 48 49 <listitem> 40 50 <para>28 May 2014</para> 41 51 <itemizedlist> -
BOOK/introduction/common/how.xml
rcf479f2 r150ed37 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 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> 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> 28 27 29 28 <para><xref linkend="chapter-partitioning"/> of this book describes how … … 54 53 <para>After we build our <quote>Cross-Tools</quote>, we start building 55 54 a very minimal working system in 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> 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> 59 61 60 <para>In <xref linkend="chapter-building-system"/>, the full CLFS system is61 built. Depending on the system you are cross-compiling for, you will either62 b oot the minimal temp-system on the target machine, or chroot into it.</para>62 <para>In <xref linkend="chapter-building-system"/>, after having booted 63 or chrooted into the temporary build environment, the full CLFS system is 64 built.</para> 63 65 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"/> 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"/> 84 70 contains information on furthering the CLFS experience beyond this book. 85 71 After the steps in this book have been implemented, the computer will be -
BOOK/prologue/common/hostreqs.xml
rcf479f2 r150ed37 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 81 77 <listitem> 82 78 <para><emphasis role="strong">Make-3.80</emphasis></para> … … 131 127 grep --version | head -n1 132 128 gzip --version | head -n1 133 uname -s -r134 129 make --version | head -n1 135 130 tic -V … … 139 134 makeinfo --version | head -n1 140 135 xz --version | head -n1 141 echo 'main(){}' | gcc -v -o /dev/null -x c - >dummy.log 2>&1136 echo 'main(){}' | gcc -v -o /dev/null -x c - > dummy.log 2>&1 142 137 if ! grep -q ' error' dummy.log; then 143 138 echo "Compilation successful" && rm dummy.log -
BOOK/temp-system/common/bison.xml
rcf479f2 r150ed37 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
rcf479f2 r150ed37 16 16 rest there. Alternatively, you can chroot into the temporary system.</para> 17 17 18 <para os="b">The boot method is needed when you are building on a different 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 19 35 architecture. For example, if you are building a PowerPC system from 20 36 an x86, you can't chroot. The chroot method is for when you are … … 25 41 wanting to run a different ABI, you will need to use the boot option.</para> 26 42 27 <para os=" c">If you are in any doubt about this, you can try the following43 <para os="d">If you are in any doubt about this, you can try the following 28 44 commands to see if you can chroot:</para> 29 45 30 <screen ><userinput>/tools/lib/libc.so.646 <screen os="e"><userinput>/tools/lib/libc.so.6 31 47 /tools/bin/gcc -v</userinput></screen> 32 48 33 <para >If either of these commands fail, you will have to follow the boot49 <para os="f">If either of these commands fail, you will have to follow the boot 34 50 method.</para> 35 51 36 <para >To chroot, you will also need a Linux Kernel-2.6.32 or greater52 <para os="g">To chroot, you will also need a Linux Kernel-2.6.32 or greater 37 53 (having been compiled with GCC-4.1.2 or greater). The reason for the 38 54 kernel version requirement is that Glibc is built to generate the library 39 55 for the smallest version of the Linux kernel expected to be supported.</para> 40 56 41 <para >To check your kernel version, run <command>cat /proc/version</command>57 <para os="h">To check your kernel version, run <command>cat /proc/version</command> 42 58 - if it does not say that you are running a 2.6.32 or later Linux kernel, 43 59 compiled with GCC 4.1.2 or later, you cannot chroot.</para> 44 60 45 <para os=" e">For the boot method, follow <xref linkend="chapter-boot"/>.</para>61 <para os="i">For the boot method, follow <xref linkend="chapter-boot"/>.</para> 46 62 47 <para os=" f">For the chroot method, follow <xref linkend="chapter-chroot"/>.</para>63 <para os="j">For the chroot method, follow <xref linkend="chapter-chroot"/>.</para> 48 64 49 65 </sect1> -
BOOK/temp-system/common/gcc.xml
rcf479f2 r150ed37 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
rcf479f2 r150ed37 124 124 <screen os="m"><userinput>ln -sv vim /tools/bin/vi</userinput></screen> 125 125 126 <para os="tv1" 126 <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
rcf479f2 r150ed37 23 23 xpointer="xpointer(//*[@os='c'])"/> 24 24 25 <screen ><userinput>/tools/lib/libc.so.6 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 26 30 /tools/lib32/libc.so.6 27 31 /tools/lib64/libc.so.6 … … 30 34 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 31 35 href="../multilib/choose.xml" 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> 36 xpointer="xpointer(//*[@os='f'])"/> 37 37 38 38 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 39 39 href="../common/choose.xml" 40 xpointer="xpointer(//*[@os=' e'])"/>40 xpointer="xpointer(//*[@os='g'])"/> 41 41 42 42 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 43 43 href="../common/choose.xml" 44 xpointer="xpointer(//*[@os='f'])"/> 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'])"/> 45 53 46 54 </sect1> -
BOOK/temp-system/multilib/choose.xml
rcf479f2 r150ed37 23 23 xpointer="xpointer(//*[@os='c'])"/> 24 24 25 <screen ><userinput>/tools/lib/libc.so.6 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 26 30 /tools/lib64/libc.so.6 27 31 /tools/bin/gcc -v</userinput></screen> 28 32 29 <para os=" d">If any of these commands fail, you will have to follow the boot33 <para os="f">If any of these commands fail, you will have to follow the boot 30 34 method.</para> 31 32 <para>To chroot, you will also need a Linux Kernel-2.6.32 or greater33 (having been compiled with GCC-4.1.2 or greater). The reason for the34 kernel version requirement is that Glibc is built to generate the library35 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>40 35 41 36 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 42 37 href="../common/choose.xml" 43 xpointer="xpointer(//*[@os=' e'])"/>38 xpointer="xpointer(//*[@os='g'])"/> 44 39 45 40 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 46 41 href="../common/choose.xml" 47 xpointer="xpointer(//*[@os='f'])"/> 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'])"/> 48 51 49 52 </sect1> -
BOOK/temp-system/ppc64-chapter.xml
rcf479f2 r150ed37 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=" multilib/choose.xml"/>43 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ppc64/choose.xml"/> 44 44 45 45 </chapter> -
BOOK/temp-system/ppc64/choose.xml
rcf479f2 r150ed37 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 21 25 <para>Powerpc64 is slightly different from some of the other 22 26 architectures, because a 64-bit kernel running 32-bit userspace can … … 36 40 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 37 41 href="../common/choose.xml" 38 xpointer="xpointer(//*[@os=' e'])"/>42 xpointer="xpointer(//*[@os='i'])"/> 39 43 40 44 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 41 45 href="../common/choose.xml" 42 xpointer="xpointer(//*[@os=' f'])"/>46 xpointer="xpointer(//*[@os='j'])"/> 43 47 44 48 </sect1> -
BOOK/the-end/downloadclient.xml
rcf479f2 r150ed37 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.