[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gNewSense-users] Comments on HowToCreateYourOwnGNULinuxDistribution: St
From: |
Danny Clark |
Subject: |
[gNewSense-users] Comments on HowToCreateYourOwnGNULinuxDistribution: Steps 1-4 |
Date: |
Thu, 19 Jun 2008 12:03:10 -0400 |
User-agent: |
Thunderbird 2.0.0.14 (X11/20080505) |
Below are my notes from getting Builder steps 1-4 working (MediaWiki
syntax, but should be pretty human-readable); currently do-update is
compiling things...
I'd welcome comments/corrections, and any useful bits being integrated
into the main doc (which I'd be happy to do myself if given access - I
am djbclark on wiki.gnewsense.org.)
One thing I'm not sure about is what REPOAPT is actually used for...
Time to go look at the code...
--
Danny Clark # Sys Admin, Free Software Foundation
# http://www.fsf.org # http://opensysadmin.com
== Using Builder ==
External Instructions:
http://www.gnewsense.org/Builder/HowToCreateYourOwnGNULinuxDistribution
- below are just notes on those instructions, some of which should be
contributed back (write access to that page is restricted)
=== Step 2: Debmirror (optional) ===
At the moment, we are using local mirrors. We should identify a machine
to use for this that is shared, either by the whole office, or also
externally.
To get the GPG key debmirror needs:
gpg --keyserver-options http-proxy --keyserver hkp://subkeys.pgp.net
--recv-keys 437D05B5
(and then verify/sign it using your preferred methods)
Because debmirror looks for trustedkeys.gpg, not pubring.gpg:
cd ~/.gnupg; ln -s pubring.gpg trustedkeys.gpg
Then:
<pre>
HOST=ubuntu.media.mit.edu
TARGET=/srv/universe
debmirror --nocleanup --verbose --progress --method=http --host=$HOST
--arch=i386 \
--source --dist=hardy,hardy-security,hardy-updates,hardy-backports \
--section=main,universe --ignore-release-gpg --root=ubuntu $TARGET
debmirror --nocleanup --verbose --progress --method=http --host=$HOST
--arch=i386 \
--nosource --dist=hardy,hardy-security,hardy-updates,hardy-backports
--section=main/debian-installer \
--root=ubuntu $TARGET
</pre>
Note that the second debmirror line has
",hardy-security,hardy-updates,hardy-backports" added to the dists
section (vs. the gNS site doc as of 2008-06-19) - otherwise,
<code>linux32 ./do-update</code> fails, complaining it can't find some
files.
=== Step 4: Configuration ===
Do not edit the config file directly; instead, set the variables in a
"config.local" file. Any changes you make to config will be overwritten
during the next "svn update".
You need to <code>chmod +x config.local</code>, because for some reason
<code>config</code> tests for it with the "<code>test -x</code>" command.
Possible errors in config file text:
* "SIGNINGKEY is your GPG fingerprint from step 1, it should not contain
any spaces." - They actually mean "GPG Key ID", not "GPG fingerprint".
* "LOGOLETTER is the letter that will be your logo." - This should
actually read "LOGO_LETTER".
==== Example config.local (stock) ====
This uses stock values copied from the stock config file (svn r192).
<pre>
# gNewSense Builder - config.local file
# "Steps" reference http://cluestick/index.php?title=GNewSense
# MIRROR is either the mirror you setup in step 3, or an Ubuntu
# mirror. It should contain the security packages.
MIRROR=http://localhost/~bbrazil/srv/ubuntu
# MIRRORDIST is the distribution in the mirror, usually 'hardy'.
MIRRORDIST=hardy
# DISTRONAME is what you want to call your distribution which should
# consist of only letters and numbers.
DISTRONAME=gNewSense
# RELEASE is the name of your release. Your release should be all
# lowercase as it will appear in paths.
RELEASE=deltah
# TAGLINE is used in the bootsplash and login screen.
TAGLINE="Free as in Freedom"
# SIGNINGKEY is your GPG fingerprint from step 1, it should not
# contain any spaces.
SIGNINGKEY=91854607
# BASEDIR is the directory under which the repository, livecd and
# temporary files will be put.
BASEDIR=/srv/gnewsense
# REPODST is where the mirror will be built in the filesystem
# ($BASEDIR/(lowercase distribution name)).
## Not changed from config
# REPOAPT is where the build scripts will pull packages from, so you
# should setup Apache to serve this.
REPOAPT=http://127.0.0.1/~bbrazil/srv/gnewsense/gnewsense
# DOMAIN is used to create the default sources.list when
# installing. We assume an Ubuntu-like setup where you have
# archive.DOMAIN and security.DOMAIN and subdomains for all the
# country codes.
DOMAIN=gnewsense.org
# RSYNC_DEST is where the generated repo and livecds should be rsynced
# to by a push-repo or push-cd.
## Not changed from config
# LOGO_LETTER is the letter that will be your logo.
LOGO_LETTER=g
# META_*_{ADD,REMOVE} control what packages you'd like added and
# removed from the ubuntu-meta package when your meta packages are
# being created.
META_desktop_ADD="${DISTRONAME_L}-artwork ${DISTRONAME_L}-gdm-themes
epiphany-browser"
META_KDE_desktop_ADD="k${DISTRONAME_L}-default-settings
k${DISTRONAME_L}-artwork-usplash"
META_minimal_ADD=""
META_standard_ADD="emacs nethack bsdgames build-essential"
META_desktop_ADD="${DISTRONAME_L}-artwork ${DISTRONAME_L}-gdm-themes
epiphany-browser"
META_minimal_REMOVE=""
META_standard_REMOVE="popularity-contest friendly-recovery"
META_desktop_REMOVE="ubuntu-docs ubuntu-artwork apport-gtk hwtest-gtk
usplash usplash-theme-ubuntu ubuntu-gdm-themes firefox ubufox
firefox-gnome-support jockey-gtk"
META_KDE_desktop_ADD="k${DISTRONAME_L}-default-settings
k${DISTRONAME_L}-artwork-usplash"
META_KDE_desktop_REMOVE="ubuntu-docs kubuntu-docs
kubuntu-artwork-usplash kubuntu-default-settings apport-qt"
# *_VERSION are the numbers appended to created packages versions. You
# *will need to increment these every time you rebuild a package. You
# *will probably want to set these all to 1 when starting.
LIVECD_VERSION=2.0
UBIQUITY_VERSION=17
BASE_FILES_VERSION=4
UPDATE_MANAGER_VERSION=3
ARTWORK_VERSION=16
META_VERSION=18
KERNEL_VERSION=6
LAUNCHPAD_INTEGRATION_VERSION=1
BUILDER_VERSION=1
EXAMPLE_CONTENT_VERSION=3
KDEFAULT_SETTINGS_VERSION=8
KMETA_VERSION=1
FIREFOX_VERSION=5
MESA_VERSION=1
XORG_SERVER_VERSION=2
GNOME_DESKTOP_VERSION=1
YELP_VERSION=1
HUMAN_ICON_THEME_VERSION=2
GNOME_PANEL_VERSION=1
EPIPHANY_BROWSER_VERSION=2
PYTHON_APT_VERSION=9
LINUX_UBUNTU_MODULES_VERSION=1
APP_INSTALL_DATA_UBUNTU_VERSION=1
</pre>
==== Example config.local (dclark) ====
<pre>
# gNewSense Builder - config.local file
# "Steps" reference http://cluestick/index.php?title=GNewSense
# MIRROR is either the mirror you setup in step 3, or an Ubuntu
# mirror. It should contain the security packages.
MIRROR=http://127.0.0.1
# MIRRORDIST is the distribution in the mirror, usually 'hardy'.
MIRRORDIST=hardy
# DISTRONAME is what you want to call your distribution which should
# consist of only letters and numbers.
DISTRONAME=gNS4FSF
# RELEASE is the name of your release. Your release should be all
# lowercase as it will appear in paths.
RELEASE=deltah
# TAGLINE is used in the bootsplash and login screen.
TAGLINE="Free as in the Free Software Foundation"
# SIGNINGKEY is your GPG fingerprint from step 1, it should not
# contain any spaces.
SIGNINGKEY=7E2BF282
# BASEDIR is the directory under which the repository, livecd and
# temporary files will be put.
BASEDIR=/srv/gnewsense
# REPODST is where the mirror will be built in the filesystem
# ($BASEDIR/(lowercase distribution name)).
## Not changed from config
# REPOAPT is where the build scripts will pull packages from, so you
# should setup Apache to serve this.
REPOAPT=http://us.archive.gnewsense.org/gnewsense
# DOMAIN is used to create the default sources.list when
# installing. We assume an Ubuntu-like setup where you have
# archive.DOMAIN and security.DOMAIN and subdomains for all the
# country codes.
DOMAIN=gnewsense.org
# RSYNC_DEST is where the generated repo and livecds should be rsynced
# to by a push-repo or push-cd.
## Not changed from config
# LOGO_LETTER is the letter that will be your logo.
LOGO_LETTER=f
</pre>
- [gNewSense-users] Comments on HowToCreateYourOwnGNULinuxDistribution: Steps 1-4,
Danny Clark <=