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

LBE USAGE README

Evan Hisey

2004-21-11

Revision History
Revision 0.22005-14-2EH
Converted textfile to Docbook format for easy of maintence
Revision 0.12004-21-11EH
Initial Release

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.


1. Quick and dirty usage:


1: Download CVS
2: Change to lbe/ directory
3: Run ./build_all; go get coffee
4: mkdir lbe/ltsp-src/yourpkg 
5: Create package.def in yourpkg dir.
6: In ltsp-src run ./build --> 7: ./build --> 8: Now you have a package in lbe/packages 

2. Installing LBE

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 lbe
		
The 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)

Caution

Due 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.def

3. Using LBE

Now 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:

	#
	# 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
	#
		
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.

Caution

The 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.

4. Package.def file

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.

	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
	
TODO:add what all the variables are and do.

5. Legal Information

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.

6. Feedback

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.

Reply via email to