summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2014-11-23 19:45:32 (GMT)
committerBritney Fransen <brfransen@gmail.com>2014-11-23 19:45:32 (GMT)
commitf13a8a9823833c2d88408e8c8e1d51f6ca17bec3 (patch)
tree1c7325b6292c3354915e93ba702b3aa9434ca8b7
parent4e485c869ed1f0ae6cf127900aa161cdd41f0b5d (diff)
downloadlinhes_dev-f13a8a9823833c2d88408e8c8e1d51f6ca17bec3.zip
README: updates for some changes.
-rwxr-xr-xREADME219
l---------build_tools/bin/mpl1
l---------build_tools/bin/mpr1
3 files changed, 108 insertions, 113 deletions
diff --git a/README b/README
index 8905b41..0a6d422 100755
--- a/README
+++ b/README
@@ -1,198 +1,195 @@
- The LinHES development is divided into two different git repositories.
+ 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.
+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 (development
+enviroment). By using a chroot development work will not affect the existing
+LinHES installation and can also be done on non-LinHES machines. The reason
+for the linhes-pkgbuild and linhes-dev split is so that PKGBUILDs may be
+downloaded and modified without requiring the entire development environment
+be built.
------ linhes-pkgbuild -----------
-The layout of the linhes-pkgbuild repository is as follows.
+The layout of the linhes-pkgbuild repository is:
-- abs
|-- core
|-- core-testing
|-- extra
|-- extra-testing
-Core is the set of packages that make up the "core" of LinHES, or in other
+core is the set of packages that make up the "core" of LinHES. Iin 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.
-
-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 extra-testing.
-
------------ 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. Get the script at:
- http://linhes.org/repo/setup_env.sh
-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
+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 Chrome.
+
+The core and extra repositories are intended for the current public release
+and are considered stable. The core-testing and extra-testing repositories
+are intended for developers and testers in preparing the next release.
+
+------ linhes-dev ----------------
+
+ linhes-dev contains the tools and scripts for a working development
+environment. However, linhes-dev is not a working development by itself.
+A working development enviroment also needs linhes-pkbuild. The script
+setup_env.sh will do all the work in creating a working development
+environment. Get setup_env.sh at: http://linhes.org/repo/setup_env.sh
+
+ The setup_env.sh script will download and install the required packages
+(by default, 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 can support multiple architectures, setup_env.sh
requires arguments telling it which architecture to work with as well
as which repository (stable or testing) you'd like to develop on.
-Currently i686 is the only working architecture option, so that is the
-one I recommend you use.
- For example running "setup-env.sh i686 testing" will create a
-working i686 LinHES development environment named build_root.i686 using
-the testing repos. 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:
+Beginning with R8.0 x86_64 is the only working architecture option.
+
+ For example, running "setup_env.sh x86_64 testing" will create a
+working x86_64 LinHES development environment named build_root.x86_64 using
+the testing repos. setup_env.sh also creates an empty directory called pkg_repo,
+this is used by kmsync.sh (which will be discussed later). Likewise, running
+"setup_env.sh x86_64 release" will create a development enviroment using
+the core and extra repos.
+
+ To enter the chroot development environment run: "sudo ./enter_build_root.x86_64"
+ The enter_build_root.x86_64 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
+ 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.
+ e) unmount the above directories when leaving the chroot
-a) mp.py
+The following is a list of tools available inside the chroot:
+- mpv2.py
+ Script to build a package from the PKGBUILD and copy it to the pkg_repo.
+ v2 of mp.py with many enhancements. Must be called from the same
+ directory as the PKGBUILD.
+
+- mp.py (depreciated and replaced by mpv2.py)
Python script to replace mp. Must be called from the same directory
that contains the PKGBUILD.
-b) 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.
-
-c) mpr | mpl
- mpr) Symlink to mp that does the same thing as mp except it copies the
- package to the release repo
-
- mpl) Symlink to mp that does the same thing as mp except it copies the
- package to a local repo
-
-d) update_db_repo
+- 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/pkg_repo/i686/core-testing core-testing
-e) kmsync.sh (testing|release|chroot-devel|source[testing|release|chroot-devel]
+- kmsync.sh (testing|release|chroot-devel|source[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.
+ packages on linhes.org and the ones on your local machine.
The script takes 1 or 2 arguments 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)
+ directory (/data/pkg_repo/x86_64/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.
+ local mirror will be copied to the linhes.org server.
This includes the possibility to completely erase all the packages.
- Normally the source packages are synced when the binary packages are synced. The
- source option is present to force an update, and isn't not normally required to be run.
+ Normally the source packages are synced when the binary packages are
+ synced. The source option is present to force an update, and isn't
+ normally required to be run.
- 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.
+ Finally this script uses a shared user account on linhes.org that
+ is a locked account. SSH keys must be setup for this script to work.
-f) build_tools/go.sh
- Menu driven fronted to create an ISO with selected profile
+- build_tools/go.sh (depreciated; replaced by build_tools/archiso-19/mythvantage/go.sh)
+ Menu driven frontend 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
+ a ) x86_64-RELEASE-REMOTE
+ Create an iso from the release repo using packages from linhes.org
+ b ) x86_64-testing-REMOTE
+ Create an ISO from the testing repo using packages from linhes.org
+ c ) x86_64-testing-local
Create an ISO from the testing repo using packages from the local mirror
- d ) i686-testing-local-httpdir-structure
+ d ) x86_64-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.
+location of the resulting ISO. For any of the local profiles to work, it
+requires that kmsync.sh be run at least once to populate the local mirror.
-Quick start showing typical process to create the chroot and build an ISO.
+------ Quick Start ------------------
+Example process to create the chroot and build an ISO.
############
-Create the chroot for i686
+Create the chroot for x86_64 (see above).
-If you are using an R6 install as your dev box, you will need to install git.
+Make sure base-devel is installed: pacman -S base-devel
Make sure you have the following entries in /etc/pacman.conf:
[core-testing]
-Server = http://linhes.org/repo/i686/core-testing
+Server = http://linhes.org/repo/x86_64/core-testing
[extra-testing]
-Server = http://linhes.org/repo/i686/extra-testing
+Server = http://linhes.org/repo/x86_64/extra-testing
-[chroot-devel]
-Server = http://linhes.org/repo/i686/chroot-devel
+Then run: pacman -Syu
-Then run:
- pacman -Syu
- pacman -S git
-
-Then checkout the repo. You will need to have been given a dev account on
-knoppmyth.net. This involves creating a public ssh key and supplying it to
-one of the knoppmyth.net admins. The key is created using ssh-keygen. The
+Checkout the repo. You will need to have been given a dev account on
+linhes.org. This involves creating a public ssh key and supplying it to
+one of the linhes.org admins. The key is created using ssh-keygen. The
resulting public key will be stored in .ssh/id_rsa.pub.
The recommended location for the checkout is /myth/dev.
cd /myth/dev
- Restricted dev accounts should use
- git clone $USER@knoppmyth.net:linhes-pkgbuild
- git clone $USER@knoppmyth.net:linhes-dev
+ git clone $USER@linhes.org:linhes-pkgbuild
+ git clone $USER@linhes.org:linhes-dev
- Unresticted dev account should use
- git clone ssh://$USER@knoppmyth.net/mount/repository/linhes-dev
- git clone ssh://$USER@knoppmyth.net/mount/repository/linhes-pkgbuild
+ git clone ssh://$USER@linhes.org/mount/repository/linhes-dev
+ git clone ssh://$USER@linhes.org/mount/repository/linhes-pkgbuild
- Edit linhes-dev/templates/pacman.conf.chroot. Comment out the core and
extra lines and uncomment the core-testing and extra-testing.
- Run these commands:
cd linhes-dev/
- sudo ./setup_env.sh i686
+ sudo ./setup_env.sh x86_64
cd ..
- Set up the ssh keys inside the build root. If the ssh public key you
-provided to the knoppmyth.net admin was created by root on an r6 install:
- cp -R /root/.ssh build_root.i686/root/.ssh
+provided to the linhes.org admin was created by root on an r6 install:
+ cp -R /root/.ssh build_root.x86_64/root/.ssh
- Then to enter the chroot:
- sudo ./enter_dev_chroot.i686
+ sudo ./enter_dev_chroot.x86_64
--- To Build an ISO from knoppmyth.net:
- cdb <= alias
+-- To build an ISO from linhes.org:
+ cdb <= alias to build_tools
+ cd archiso-19/mythvantage/
./go.sh
- (select i686-testing-REMOTE)
+ (select x86_64-testing-REMOTE)
-- To build an ISO locally:
Before running kmsync.sh for the first time, for reasons explained above,
-ensure the local directories (/data/pkg_repo/i686/core|extra|chroot-devel)
+ensure the local directories (/data/pkg_repo/x86_64/core|extra)
are empty. Then run:
kmsync.sh testing
+ cd archiso-19/mythvantage/
./go.sh
- (Select i686-testing-local)
+ (Select x86_64-testing-local)
#---------
-Commands used to build a package (tar in this example), and update knoppmyth.net
+############
+Commands used to build a package (tar in this example), and update linhes.org
+
Before building ANY packages you __MUST__ run "kmsync.sh testing" at least once
while the local package directories are still empty. Doing this step now will avoid
sync headaches down the road.
cdl <= alias that takes you the the top level PKGBUILD directory
-cd core-testing
+cd core
cd tar
vi PKGBUILD <= edit and increment pkgrel by 1; remove md5sums
-mp.py <= builds the package and all dependencies
+mpv2.py --md5 <= builds the package and all dependencies and copies the pkg to
+ pkg_repos; --md5 is optional but will remove the md5sums in PKGBUILD
# At this point you should test the package, either by building
-# a new iso or installing the package).
+# a new iso or installing the package.
# In order to make your source change(s) available to others, you will have
# to commit your change(s) to your local copy of the linhes-pkgbuild repo.
@@ -213,17 +210,17 @@ mp.py <= builds the package and all dependencies
# In order to make your new package(s) available to others, you will need to
# upload changed packages using kmsync.sh:
-kmsync.sh testing <= this will pull down all new packages from knoppmyth.net
+kmsync.sh testing <= this will pull down all new packages from linhes.org
and upload the new tar package. This will also sync up
- the src packages.
+ the src packages.
-----------------------
Misc.
-Directory structure after a functioning chroot is created for i686
+Directory structure after a functioning chroot is created for x86_64
|-- linhes-pkgbuild
|-- linhes-dev
-|-- build_root.i686
-|-- enter_dev_chroot.i686.sh
+|-- build_root.x86_64
+|-- enter_dev_chroot.x86_64.sh
`-- pkg_repo
-----------------------
diff --git a/build_tools/bin/mpl b/build_tools/bin/mpl
deleted file mode 120000
index 691afc3..0000000
--- a/build_tools/bin/mpl
+++ /dev/null
@@ -1 +0,0 @@
-mp \ No newline at end of file
diff --git a/build_tools/bin/mpr b/build_tools/bin/mpr
deleted file mode 120000
index 691afc3..0000000
--- a/build_tools/bin/mpr
+++ /dev/null
@@ -1 +0,0 @@
-mp \ No newline at end of file