diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 130 |
1 files changed, 81 insertions, 49 deletions
@@ -1,5 +1,11 @@ - 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. + 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 ----------- @@ -7,71 +13,95 @@ The layout of the LinHES-PKGBUILD repository is as follows. -- abs |-- chroot-devel |-- chroot-devel-testing - |-- core + |-- 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. +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. +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. +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 - + 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 an +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: + 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. + 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 + 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 + 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. + 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 with which + to sync up. 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. + 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 ############ @@ -88,7 +118,7 @@ git clone ssh://jams@knoppmyth.net/mount/repository/LinHES-PKGBUILD Build and iso from knoppmyth.net cdb <= alias ./go.sh - (select i686-testing-REMOTE) + (select i686-testing-REMOTE) commands used to build a package (tar in this example), and update knoppmyth.net @@ -97,7 +127,10 @@ 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 +# 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. @@ -108,6 +141,5 @@ Directory structure after a functioning chroot is created for i686 |-- enter_dev_chroot.i686.sh `-- pkg_repo - - - +----------------------- +# End |