HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Praise for the Linux Standard Base
“Community-built software and community-built standards are two sides of the same coin. Standards help ensure that the freedom to invent, the essence of open source and Linux, doesn’t compromise the ability to write software that works together effectively. The LSB is an important set of standards for the Linux community.”
—Brian Behlendorf, Apache Software Foundation, CollabNet
“With the recent success of the LSB and the adoption on a wide scale of the LSB standards, building applications that are standards-compliant has become a much easier and more necessary part of the development on Linux as a platform.”
—Jeffrey “Hemos” Bates, Editor, Slashdot.org
“In the days before the LSB, every change and every improvement we wanted to make to our Linux product was subject to somebody saying, ‘But wait! I depend on that!’ The LSB laid out what interfaces were defined and how they should be used. Since the LSB was adopted, we have been free to innovate without fear of breaking somebody else’s assumptions. The success of the LSB recommended it as the starting point for the U.S. Department of Defense’s Common Operating Environment (COE) specification for Linux. Without the LSB, there would be no COE-certified Red Hat products today.”
—Michael Tiemann, Chief Technology Officer, Red Hat, Inc.
“As an active LSB member, SUSE LINUX is committed both to providing customers with standardized Linux technology and to simplifying ISV’s and IHV’s Linux certification efforts. The availability of common standards plays a decisive role in the proliferation of Linux operating systems and applications on server and client systems worldwide, and we appreciate the LSB project’s work in developing and promoting these standards.”
—Markus Rex, General Manager of SUSE LINUX for Novell
“We are very happy to see the progress of LSB, both in the definition of the standard and in its broad support. LSB is an important part of our strategy and MandrakeSoft will continue to support the efforts of LSB to define a standardized ABI and encourage ISVs to build and certify to this standard.”
—Francois Bancilhon, Chief Executive Officer, MandrakeSoft
“The launch of the LSB is a significant development for the Linux community. For the very first time in history, a common binary computing environment will be able to be shared across different systems from different vendors. The LSB will play a pivotal role in ensuring the proper development of the Linux market. Sun Wah Linux is excited about this phenomenon and is dedicated to supporting LSB’s future efforts and endeavors.”
—Alex Banh, Chief Executive Officer, Sun Wah Linux, P.R.C.
An initiative of the Free Standards Group, the Linux Standard Base (LSB) is a set of standards designed to increase compatibility among Linux distributions and enable applications to run on any LSB-compliant system. The advent of LSB 2.0 is revolutionary in that it allows ISVs to create “shrink-wrapped software” for the Linux platform much in the same way they already do for Windows.
Written by the team that created the LSB, Building Applications with the Linux Standard Base shows developers how to create, test, and certify software for LSB 2.0 compliance. The book’s hands-on approach lets readers quickly understand how to write Linux applications that are portable across multiple distributions, including those from SuSE, Mandrake, and Solaris. The accompanying CD-ROM contains the full LSB 2.0 specification and the sample program files used in the book.
Coverage includes
Using the Linux Standard Base Sample Implementation
Download the Sample Chapter related to this title.
I. INTRODUCTION.
1. Understanding the LSB.
Background.
The Value of Standards.
The Free Standards Group.
Organizational Structure of the LSB.
LSB Specification Overview.
Benefits for Application Developers.
Benefits for Users.
Benefits for Distributions.
Brief History of the LSB Project.
2. Ensuring Binary Compatibility.
Illustration of Binary Compatibility.
Source Code Standards.
Binary Standards.
LSB Binary Compatibility.
II. DEVELOPING LSB APPLICATIONS.
3. Using LSB Coding Practices.
C and C++.
Internationalization.
PAM.
Java.
kill(3).
ioctl(3).
IP Information.
O_LARGEFILE.
EISDIR(3).
waitpid(3).
Parsing of Command Options.
LSB Don'ts.
4. Packaging Your LSB Application.
Using RPM for Packaging.
Installing Your Application in the Right Place.
Package Naming.
Example: Packaging and Installing an Application.
Advanced Packaging.
5. Migrating Solaris Applications to Linux.
Roadmap to Port.
Issues with Porting.
Signal Handling.
Runtime Libraries.
Filesystems.
Threads.
Absolute Addresses.
Padding.
Toolset.
III. CERTIFYING FOR THE LSB.
6. LSB Certification for Linux Distributions.
Introduction.
Achieving LSB Certification.
Product Registration.
Renewals and Certified Product Updates.
Currently Supported Systems.
7. LSB Certification for Software Products.
Introduction.
Achieving LSB Application Certification.
Currently Supported Systems.
IV. CONTRIBUTING TO THE LSB PROJECT.
8. Adding New Interfaces to the LSB WrittenSpecification.
Moving Forward.
LSB Selection Criteria.
Candidate Identification.
Candidate Tracking.
Problem Cases.
How to Get Your Favorite Interface Added to the LSB.
9. Adding New Architectures to the LSB Portfolio.
Architecture-Specific Supplement.
Architecture-Specific ELF.
Architecture-Specific Symbol Versions.
Architecture-Specific Headers.
Architecture-Specific Packaging.
Architecture-Specific Sample Implementation.
Architectural Checklist.
V. USING LSB RESOURCES.
10. Using the LSB Written Specification.
Understanding the LSB Written Specification.
Product Standard Descriptions.
Specification Module Descriptions.
Functional Area Descriptions.
Specification Amalgamation.
Expanding the LSB Written Specification.
Downloading the LSB Written Specification.
11. Using the LSB Test Suites.
Understanding the LSB Test Suites.
TET-Based Tests.
Using Non-TET-Based Tests.
Expanding the LSB Test Suites.
Downloading the LSB Test Suites.
12. Using the Sample Implementation.
Understanding the Sample Implementation.
Setting Up the Sample Implementation.
Application Testing Using the Sample Implementation.
Building the Sample Implementation.
Testing the Sample Implementation.
Packaging the Sample Implementation.
Downloading the Sample Implementation.
13. Using the LSB Development Environment.
Understanding the LSB Development Environment.
Getting the LSB Development Environment.
Using the LSB Development Environment.
Shared Libraries.
Case Study: rsync.
Building the LSB Development Environment.
Expanding the LSB Development Environment.
Downloading the LSB Development Environment.
14. Using the Application Battery.
Understanding the Application Battery.
Using the Application Battery for Certification.
Creating the Application Battery.
Downloading the Application Battery.
Appendix A. GNU Free Documentation License.
Appendix B. Resources.
Glossary.
Suggested Reading.
Bibliography.
Appendix C. Book Logistics.
Index.
Download the Foreword
file related to this title.
Download the Index
file related to this title.