summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README113
1 files changed, 113 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..9493bd5
--- /dev/null
+++ b/README
@@ -0,0 +1,113 @@
+ The LinHES development is divided into two different git repositories.
+The first repository is LinHES-PKGBUILD, and it contains all the PKGBUILD files that make up LinHES. The second repository is called LinHES-dev and is intended to create a chroot for all development to occur within. By using a chroot development work can be done on non-LinHES machines. The reason for the split is so that the PKGBUILD's may be downloaded and modified by non-developers without requiring them to download the entire development environment.
+
+------ LinHES-PKGBUILD -----------
+
+The layout of the LinHES-PKGBUILD repository is as follows.
+-- abs
+ |-- chroot-devel
+ |-- chroot-devel-testing
+ |-- core
+ |-- core-testing
+ |-- extra
+ |-- extra-testing
+
+Core is the set of packages that make up the “core” of LinHES, or in other words all the packages needed to create a fully functioning system.
+
+Extra contains all the packages used by LinHES, but not necessarily needed to create a fully functioning system. For example this would include mplayer, xine and mozilla.
+
+Chroot-devel are packages used by developers that are not in LinHES.
+
+The difference between core and core-testing is that core is intended to be used for public iso releases, where as core-testing is intended for developers or beta testing. The same applies to extra and chroot-devel.
+
+----------- LinHES-dev -------------------
+
+ LinHES-dev contains the tools and scripts for a working development environment, but it is not a working development by itself. The script setup-env.sh will do all the work in creating a working development environment. The script will download and install the required packages(from the current stable release) into a directory called build_root and create a script that can be used to enter the chroot.
+ Because LinHES will support multiple architectures, setup-env.sh requires and argument telling it which architecture to work with.. Currently i686 is the only working option, so that is the one I recommend you use. For example running “setup-env.sh i686” will create a working i686 LinHES development environment named build_root.i686. Setup-env.sh also creates a empty directory structure called pkg_repo, this is used by kmsync.sh (which will be discussed later).
+
+ To enter the build root run (as root) the newly created script called enter_build_root.i686.
+The script will take care of the following things for you
+ a) mounting proc,sys,dev/pts
+ b) bind mounting LinHES-dev/build_tools to build_root/build_tools
+ c) bind mounting LinHES-PKGBUILD to build_root/data/LinHES-PKGBUILD
+ d) bind mounting pkg_repo to build_root/data/pkg_repo.
+ e) unmount the above directories when leaving the chroot
+
+
+The following is a list of tools available to you inside the chroot.
+
+a) mp
+ Small script to compile a package, copy it to the local testing repo and update the local database using the repo-add function. Must be called from the same directory that contains the PKGBUILD. This script takes all the same arguments that makepkg takes.
+
+b) mpr
+ Symlink to mp that does the same thing as mp except it copies the package to the release repo
+
+c) update_db_repo
+Used to completely regenerate the the local package database.
+Takes two arguments the directory with packages, and the name of the repository.
+ Example: update_db_repo /data/local/pkg_repo/i686/core-testing core-testing
+
+d) kmsync.sh (testing|release|chroot-devel
+ This script is used to synchronize the contents of the compiled packages on knoppmyth.net and the ones on your local machine.
+
+ The script takes 1 argument telling it which repository to sync up with
+
+ The first time it's run with any given option the local directory (/data/pkg_repo/i686/core|extra|chroot-devel) MUST MUST MUST be empty.
+
+ Please use this script with care, any changes that are made in the local mirror will be copied to the knoppmyth server.
+
+ This includes the possibility to completely erase all the packages. Finally this script uses a shared user account on knoppmyth.net that is a locked account. SSH keys must be setup for this script to work.
+
+e) build_tools/go.sh
+ Menu driven fronted to create an ISO with selected profile
+ The following profiles are available to create an iso.
+a ) i686-RELEASE-REMOTE
+ Create an iso from the release repo using packages from knoppmyth.net
+b ) i686-testing-REMOTE
+ Create an ISO from the testing repo using packages from knoppmyth.net
+c) i686-testing-local
+ Create an ISO from the testing repo using packages from the local mirror
+d ) i686-testing-local-httpdir-structure
+ Create an ISO from the testing repo using packages from a local web server name “localmirror”
+
+ After the process finishes it will let you know the final name and location of the resulting ISO
+ For any of the local profiles to work, it requires that kmsync be run at least once to populate the local mirror.
+
+Quick start showing typical process
+############
+Create the chroot for i686
+
+
+git clone ssh://jams@knoppmyth.net/mount/repository/LinHES-dev
+git clone ssh://jams@knoppmyth.net/mount/repository/LinHES-PKGBUILD
+ cd LinHES-dev/
+./setup_env.sh i686
+ cd ..
+ ./enter_dev_chroot.i686.sh
+
+Build and iso from knoppmyth.net
+cdb <= alias
+./go.sh
+ (select i686-testing-REMOTE)
+
+commands used to build a package (tar in this example), and update knoppmyth.net
+
+cdl <= alias that takes you the the top level PKGBUILD directory
+cd core-testing
+cd tar
+vi PKGBUILD <= bump the pkgrel line by 1
+mp
+(at this point you should test the package, either by building a new iso or installing the package)kmsync.sh testing <= this will pull down all changes from knoppmyth.net and upload the new tar package
+
+-----------------------
+Misc.
+Directory structure after a functioning chroot is created for i686
+|-- LinHES-PKGBUILD
+|-- LinHES-dev
+|-- build_root.i686
+|-- enter_dev_chroot.i686.sh
+`-- pkg_repo
+
+
+
+