Ragnar- You are half right. I have an older install of the 4.1 LBE that I has all the pacakges already down and it works great. I just did a clean install of LBE 4.1 and have found at least 4 tarballs that are no longer LBE thinks they are supposed and one that (Xorg) has changed the way it distrbiutes tarballs and teh relesae number (6.7 > 6.8.2). For Developers wotking on the new version of LTSP the CVS current is great and up-to-date. For us user's needing the LBE for the 4.1 release of LTSP this causes problems when we need to use it for building things like local apps that may depend on core libs. that change between the 4.1 release and the most current state of CVS. My perspective on this is going to be a bit different than that of an LTSP developer, as I am an end-user. Currently I am trying to build some useful documentaion for the LBE, just finishing off revision 0.2, but I do not have the extra time to take on active development. So a guarentee of stability and usability in the LBE for a given official release of LTSP, even if it is just for the current stable release would a very helpful.
Evan Hisey P.S.>> I attached the current state of my LBE_Usage notes. I have rewritten if in docbook and update some of the mistakes in the first version. I'll see about posting a new tex version to the Wiki when I figure out how to get docbook to dump back to text.Title: LBE USAGE README
Evan Hisey2004-21-11
Abstract The LBE Usage How-to is a quick guide to setting up and using the Linux Terminal Server Build Enviorment, a.k.a LBE. The LBE is used to produce applications and packages for the Linux Terminal Server Project, a.k.a LTSP. Table of Contents
You will need to get the current LBE source from CVS. It can be retrieved from cvs with the following command: cvs -d :pserver:[EMAIL PROTECTED]:/usr/local/cvsroot checkout \ -r LTSP-4_1_0 lbeThe CVS should give you a directory called lbe/. Cd to lbe/ and run ./build-all. This will build the LBE toolchain and environment. Go get the beverage of choice and consider watching tv 'cus it is going to take a while.(~ 3hrs. on a P4-2.5ghz) CautionDue to the time between when LTSP was released and current date come of the source archives URL's will have moved from where LBE expects them to be. Currently teh only solutoin is to manuual hunt down the new URL and fix it in the package.defNow you should have a complete LBE toolchain to work with. Lets walkt throught creating an app called foo-1.2. Step one is to create the package directory in LBE. Change to the lbe/ltsp-src. Here you would create a directory called foo. In the directory called foo you would create a file package.def. This file would contain all the information need to build package foo. A basic package.def file for foo would look like this: Then from the ltsp-src/ directory you would run ./build -- If you want to make clean rebuild you would run ./build -- --clean, followed by ./build -- once more. There you have it your own LTSP package located in lbe/packages.# # package.def file for building a package in the LTSP build enviroment # PKG1 = foo-1.2 MD5SUM1 = 234235sdf34fwer34234r2w3e SOURCE1 = ftp://ftp.bar.baz/${PKG1} UNPACK = bunzip2 < ${TARBALL} | tar xf - BUILDIR = foo-build SOURCEDIR = foo-1.2 CONFIGURE = ../${SOURCEDIR}/configure --prefix=/usr BUILD = make all INSTALL = make install CLEAN = rm -rf ${BUILDIR} ${SOURCEDIR} # # EOF # CautionThe biggest gotcha is that any tool need to build a package must be in the LBE directory. the LBE ./build script use chroot extensively in build the packages. You do this in the same way as you build in the ltsp-src directory to be sure all the linked libraries are in sync.Package.def is where the magic happens. The package.def name is lowercase, remember linux is case-sensitve. When one of the ./build scripts is run LBE chroots the enviroment to lbe/ directory. Each directory lbe/, lbe/kernel-src/, lbe/lbe-src/, lbe/ltsp-src has a ./build script. When run with out switches they will build every package.def under there source tree. When preparing a package.def keep in mind that each application is built as if you where starting in the application directory. This means all directory variables in relative to the application directory. Assume we had appilication foo-1.2 in directory foo, and wanted it to build in foo/foo-build. We would set the to BUILDIR = foo-build, not to BUILDDIR = foo/foo-build. Below is a list of required but not all available variables. TODO:add what all the variables are and do.REQUIRED VARIABLES ------------------ PKG1 < archive name MD5SUM1 < MD5 checksum for package SOURCE1 < download source for archive UNPACK < how to unpack archive BUILDIR < name for build directory SOURCEDIR < unpacked source code directory CONFIGURE < configure command BUILD < build command INSTALL < install command CLEAN < how to clean up the build Copyright (c) 2005 Evan Hisey Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/copyleft/fdl.html Linux is a registered trademark of Linus Torvalds. No liability for the contents of this document can be accepted. Use the concepts, examples and information at your own risk. There may be errors and inaccuracies, that could be damaging to your system. Proceed with caution, and although this is highly unlikely, the author(s) do not take any responsibility. All copyrights are held by their by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Naming of particular products or brands should not be seen as endorsements. All copyrights are held by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Naming of particular products or brands should not be seen as endorsements. Feedback is most certainly welcome for this document. Send your additions, comments and criticisms to the following email address :<ehisey at gmail dot com>. In short if I screwed up or left something out tell me. |