Opened 18 years ago

Closed 14 years ago

#1673 closed enhancement (fixed)

Why is each package in the book?

Reported by: chris@… Owned by: bdubbs@…
Priority: low Milestone: 6.6
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description (last modified by Jeremy Huntwork)

There should be a page in the book describing exactly what each package does and why it's in the book. Each package does have a short description of its functionality, but it doesn't say what exactly you would use that program for or what other packages might depend on it. Some are pretty simple...

Coreutils - "a number of programs that are essentiutilities for showing and setting the basic system characteristics." Could also add that these programs are not only useful for the user, but are also used by a vast number of other programs.

Zlib - libraries for compression and decompression, used by a large number of programs (including a couple of LFS packages)

Vim - the creators of the LFS book believe that a text editor is absolutely essential to a basic, usable system, and vim just happened to be the one that they decided to use (maybe also have a link to the "Why is vim in the book?" thread that's linked in the FAQ, or summarize the contents of the thread here)

Some of the packages seem less obvious, Readline being the most common example ("why is readline in the book?" seems to be a pretty frequent question on the mailing lists), but I've noticed procps and psmisc are also frequently mentioned as "optional" packages. Another one is file - I do know that it can be useful, often for troubleshooting purposes, but (IMHO) it certainly doesn't sound that way from the description in the book ("why would I need a program to tell me that most of my files are text files??").

Basically, I just think that the descriptions in the book, while being accurate technical descriptions of what each program does, they don't, in many cases, say anything about *why* you would need that functionality.

Any thoughts on this?

Change History (10)

comment:1 by chris@…, 18 years ago

Version: TESTINGSVN

comment:2 by Jeremy Huntwork, 18 years ago

Description: modified (diff)
Milestone: 6.2

comment:3 by Jeremy Huntwork, 18 years ago

Milestone: 6.2Future

I think that this information could be very useful. However, I don't think I'm going to strain myself to try to get it into a 6.2 release. Chris, if you and/or others want to work on getting the necessary explanatory text for each package, and if you get it done before we're ready for 6.2, I'll stick it in. In the meantime, moving this from the 6.2 Milestone to Future.

comment:4 by Chris Staub, 18 years ago

Here's a start...

Berkeley DB - In the book mainly because Man-DB needs a database backend, and also used by IPRoute2 as well as several BLFS packages.

Coreutils - A number of essential programs for viewing and manipulating files and directories - also needed by the vast majority of configure scripts for source-compiled packages.

Ncurses - A library used by many other packages that manipulate text on the screen, and often use some kind of cursor or menu system. This includes: vim, bash, procps, psmisc, inetutils, texinfo, less, and other packages.

Texinfo - Provides the ability to view "info" pages, which provide information about programs and are generally more comprehensive than man pages. Also, the texinfo package itself (specifically the makeinfo and install-info programs) is needed to build and install info pages, which is why texinfo is installed in Chapter 5 of LFS.

Vim - The creators of the LFS book believe that a text editor is absolutely essential to a basic, usable system, and vim just happened to be the one that they decided to use.

Here's a few packages that I really don't use (directly at least - the only way I do use them if other programs run them) myself, and about all I know about them is that they're needed by other packages...

M4 Bison Flex Groff Mktemp (used mostly in various scripts)

comment:5 by archaic@…, 18 years ago

Priority: lowestlow
Type: defectenhancement

comment:6 by Chris Staub, 18 years ago

Sed - allows you to edit text in a file without opening it in a text editor. Good if you just need to change a single bit of text (or multiple occurences of the same text) quickly. Sed is also needed by most packages' configure scripts.

Grep - searches for text in files. Also used in many packages' configure scripts.

Bzip2 - probably self-explanatory (allows you to {,un}compress files, and is certainly needed by LFS to unpack the source tarballs)

Gzip - ditto

Tar - also needed to unpack the sources

Diffutils - obviously, helps to view differences between files. Can be used to create patches. Also used by many packages' build procedures, often in testsuites.

E2fsprogs - self-explanatory? (you need this package to create and check ext2/3 filesystems)

Findutils - obviously, lets you find files. Also allows various options (-exec, the xargs program, etc) to allow you to run the same command on a long list of files in multiple subdirectories. Also needed for many LFS packages to build.

Less - Very useful text file viewer.

comment:7 by bdubbs@…, 15 years ago

Milestone: Future6.6

Promoting this ticket to the next version of the book.

comment:8 by bdubbs@…, 14 years ago

Owner: changed from lfs-book@… to bdubbs@…

comment:9 by bdubbs@…, 14 years ago

Status: newassigned

comment:10 by bdubbs@…, 14 years ago

Resolution: fixed
Status: assignedclosed

Added this as a part of the prologue in the section about standards compliance.

Fixed at revision 9116 (after waiting 4 years!).

Note: See TracTickets for help on using tickets.