xsf-tools: Changes to 'master'
mrconfig | 239 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mrconfig-update | 38 ++++++++
mrconfig.README | 63 ++++++++++++++
mrconfig.head | 19 ++++
4 files changed, 359 insertions(+)
New commits:
commit ae470a2cfebcab05d2d33c8de2012cde8e398839
Author: Cyril Brulebois <kibi@debian.org>
Date: Thu Nov 18 02:43:59 2010 +0100
Adapt syntax for better output through markdown.
diff --git a/mrconfig.README b/mrconfig.README
index 586cc8c..bc8e24f 100644
--- a/mrconfig.README
+++ b/mrconfig.README
@@ -2,7 +2,7 @@
## Foreword
-Although it's not required to maintain any package, "mr" is recommended so
+Although it's not required to maintain any package, `mr` is recommended so
that one can clone all packages at once. It also helps keeping up-to-date,
by fetching everything through a single command.
@@ -10,7 +10,7 @@ by fetching everything through a single command.
## Bootstrap
Go to the directory where you want to clone all XSF packages (let's
-call it ~/debian-x) and run this:
+call it `~/debian-x`) and run this:
# Get XSF tools:
git clone git://git.debian.org/pkg-xorg/debian/xsf-tools.git debian/xsf-tools.git
@@ -19,45 +19,45 @@ call it ~/debian-x) and run this:
# Needed to get custom commands to work:
echo $(pwd)/.mrconfig >> ~/.mrtrust
-You're now ready to fetch everything. By calling "mr up", if a local
+You're now ready to fetch everything. By calling `mr up`, if a local
repository is missing, cloning happens, fetching otherwise:
mr -c .mrconfig up
-To speed things up, you can pass --jobs to fetch in parallel:
+To speed things up, you can pass `--jobs` to fetch in parallel:
mr -c .mrconfig --jobs 4 up
## Further configuration
-To avoid passing "-c .mrconfig" every time, you can add the following stanza
-to ~/.mrconfig:
+To avoid passing `-c .mrconfig` every time, you can add the following stanza
+to `~/.mrconfig`:
[~/debian-x]
chain = true
update = echo "Updating XSF packages."
-It's now sufficient to call "mr up" in any directory in the ~/debian-x
+It's now sufficient to call `mr up` in any directory in the `~/debian-x`
directory to update all repositories the former contains.
## But I want to commit!
By default all repositories are cloned anonymously through the git protocol.
-To be able to push, you can just perform an s,git://,ssh://, substitution in
-the appropriate .git/config file. An alias is available in our mrconfig file:
+To be able to push, you can just perform an `s,git://,ssh://`, substitution in
+the appropriate `.git/config` file. An alias is available in our mrconfig file:
mr git2ssh
-It should only fail on the top-level directory (in our case: ~/debian-x) for
-which the alias is not defined (in ~/.mrconfig), but since that should only be
-one-shot, that's probably not a big deal.
+It should only fail on the top-level directory (in our case: `~/debian-x`) for
+which the alias is not defined (in `~/.mrconfig`), but since that should only
+be one-shot, that's probably not a big deal.
## I want to update that file!
-The mrconfig-update script is what you want. As long as you have an
-account on git.debian.org, it's going to run a find command there to
-fetch an updated list of all repositories, and generate an updated
-mrconfig file accordingly, using mrconfig.head as header.
+The `mrconfig-update` script is what you want. As long as you have an account
+on `git.debian.org`, it's going to run a find command there to fetch an
+updated list of all repositories, and generate an updated mrconfig file
+accordingly, using `mrconfig.head` as header.
commit 0c14b8d1fecb78773e742d276488382bd0d9b1bf
Author: Cyril Brulebois <kibi@debian.org>
Date: Thu Nov 18 02:28:26 2010 +0100
Add some words about mrconfig-update.
diff --git a/mrconfig.README b/mrconfig.README
index 217b99c..586cc8c 100644
--- a/mrconfig.README
+++ b/mrconfig.README
@@ -53,3 +53,11 @@ the appropriate .git/config file. An alias is available in our mrconfig file:
It should only fail on the top-level directory (in our case: ~/debian-x) for
which the alias is not defined (in ~/.mrconfig), but since that should only be
one-shot, that's probably not a big deal.
+
+
+## I want to update that file!
+
+The mrconfig-update script is what you want. As long as you have an
+account on git.debian.org, it's going to run a find command there to
+fetch an updated list of all repositories, and generate an updated
+mrconfig file accordingly, using mrconfig.head as header.
commit a44df22ff1f8040c6c07a3d4d43aa910838e3dfb
Author: Cyril Brulebois <kibi@debian.org>
Date: Thu Nov 18 02:22:34 2010 +0100
Avoid duplicating hostname and home directory.
diff --git a/mrconfig-update b/mrconfig-update
index b9c6d9e..f03d638 100755
--- a/mrconfig-update
+++ b/mrconfig-update
@@ -11,7 +11,10 @@ tools_repo=debian/xsf-tools.git
mrconfig=mrconfig
# Some blurb to make everything work:
-cp mrconfig.head $mrconfig
+sed \
+ -e "s,@@host@@,$host,g" \
+ -e "s,@@home@@,$home,g" \
+ mrconfig.head > $mrconfig
# Build a list of repositories based on the actual repositories on the
# server:
diff --git a/mrconfig.head b/mrconfig.head
index 7acbfd0..8456ab0 100644
--- a/mrconfig.head
+++ b/mrconfig.head
@@ -6,7 +6,7 @@ checkout =
here=${MR_CONFIG%%.mrconfig};
repo_dir=$(echo "$MR_REPO"|sed -e "s,$here,," -e "s,/$,,");
repo_name=$(basename $repo_dir);
- git clone git://git.debian.org/git/pkg-xorg/$repo_dir $repo_name
+ git clone git://@@host@@@@home@@/$repo_dir $repo_name
# Avoid the default 'git pull' and all the merges that come with it:
update =
@@ -14,6 +14,6 @@ update =
# Make it easy to switch from git:// to ssh:// so that one can push:
git2ssh =
- sed -i 's,git://git.debian.org,ssh://git.debian.org,' $MR_REPO/.git/config
+ sed -i 's,git://@@host@@,ssh://@@host@@,' $MR_REPO/.git/config
commit 2343a37366ae33f7c665724266fac2bb8cd41c03
Author: Cyril Brulebois <kibi@debian.org>
Date: Thu Nov 18 02:08:31 2010 +0100
Add mr alias "git2ssh" to update remotes.
diff --git a/mrconfig b/mrconfig
index f78a0ae..b5f6f2b 100644
--- a/mrconfig
+++ b/mrconfig
@@ -12,6 +12,10 @@ checkout =
update =
git fetch "$@"
+# Make it easy to switch from git:// to ssh:// so that one can push:
+git2ssh =
+ sed -i 's,git://git.debian.org,ssh://git.debian.org,' $MR_REPO/.git/config
+
[app/compiz.git]
[app/grandr.git]
diff --git a/mrconfig.README b/mrconfig.README
index 342fb15..217b99c 100644
--- a/mrconfig.README
+++ b/mrconfig.README
@@ -40,3 +40,16 @@ to ~/.mrconfig:
It's now sufficient to call "mr up" in any directory in the ~/debian-x
directory to update all repositories the former contains.
+
+
+## But I want to commit!
+
+By default all repositories are cloned anonymously through the git protocol.
+To be able to push, you can just perform an s,git://,ssh://, substitution in
+the appropriate .git/config file. An alias is available in our mrconfig file:
+
+ mr git2ssh
+
+It should only fail on the top-level directory (in our case: ~/debian-x) for
+which the alias is not defined (in ~/.mrconfig), but since that should only be
+one-shot, that's probably not a big deal.
diff --git a/mrconfig.head b/mrconfig.head
index 2212e36..7acbfd0 100644
--- a/mrconfig.head
+++ b/mrconfig.head
@@ -12,4 +12,8 @@ checkout =
update =
git fetch "$@"
+# Make it easy to switch from git:// to ssh:// so that one can push:
+git2ssh =
+ sed -i 's,git://git.debian.org,ssh://git.debian.org,' $MR_REPO/.git/config
+
commit e87015019812d2151b97e067f639fe7f5b06d292
Author: Cyril Brulebois <kibi@debian.org>
Date: Thu Nov 18 01:34:19 2010 +0100
Add some mr documentation.
diff --git a/mrconfig.README b/mrconfig.README
new file mode 100644
index 0000000..342fb15
--- /dev/null
+++ b/mrconfig.README
@@ -0,0 +1,42 @@
+# How to use XSF's mrconfig
+
+## Foreword
+
+Although it's not required to maintain any package, "mr" is recommended so
+that one can clone all packages at once. It also helps keeping up-to-date,
+by fetching everything through a single command.
+
+
+## Bootstrap
+
+Go to the directory where you want to clone all XSF packages (let's
+call it ~/debian-x) and run this:
+
+ # Get XSF tools:
+ git clone git://git.debian.org/pkg-xorg/debian/xsf-tools.git debian/xsf-tools.git
+ # Make the mrconfig file visible from the top-level:
+ ln -s debian/xsf-tools.git/mrconfig .mrconfig
+ # Needed to get custom commands to work:
+ echo $(pwd)/.mrconfig >> ~/.mrtrust
+
+You're now ready to fetch everything. By calling "mr up", if a local
+repository is missing, cloning happens, fetching otherwise:
+
+ mr -c .mrconfig up
+
+To speed things up, you can pass --jobs to fetch in parallel:
+
+ mr -c .mrconfig --jobs 4 up
+
+
+## Further configuration
+
+To avoid passing "-c .mrconfig" every time, you can add the following stanza
+to ~/.mrconfig:
+
+ [~/debian-x]
+ chain = true
+ update = echo "Updating XSF packages."
+
+It's now sufficient to call "mr up" in any directory in the ~/debian-x
+directory to update all repositories the former contains.
commit ee6ddeab5a2248a4a6377cea43025a9c6919dd0a
Author: Cyril Brulebois <kibi@debian.org>
Date: Thu Nov 18 00:58:35 2010 +0100
Add mrconfig magic.
diff --git a/mrconfig b/mrconfig
new file mode 100644
index 0000000..f78a0ae
--- /dev/null
+++ b/mrconfig
@@ -0,0 +1,235 @@
+[DEFAULT]
+# repo_dir is what's inside the brackets for each repository below,
+# and repo_name its basename, so that the mr logic (calling git clone
+# when the local repository is still missing) works:
+checkout =
+ here=${MR_CONFIG%%.mrconfig};
+ repo_dir=$(echo "$MR_REPO"|sed -e "s,$here,," -e "s,/$,,");
+ repo_name=$(basename $repo_dir);
+ git clone git://git.debian.org/git/pkg-xorg/$repo_dir $repo_name
+
+# Avoid the default 'git pull' and all the merges that come with it:
+update =
+ git fetch "$@"
+
+
+[app/compiz.git]
+[app/grandr.git]
+[app/intel-gen4asm.git]
+[app/mesa-demos.git]
+[app/twm.git]
+[app/x11-apps.git]
+[app/x11-session-utils.git]
+[app/x11-utils.git]
+[app/x11-xfs-utils.git]
+[app/x11-xkb-utils.git]
+[app/x11-xserver-utils.git]
+[app/xauth.git]
+[app/xbacklight.git]
+[app/xdm.git]
+[app/xfs.git]
+[app/xinit.git]
+[app/xprint-utils.git]
+[app/xterm.git]
+[app/xutils-dev.git]
+[app/xutils.git]
+#[attic/app/aquamarine.git]
+#[attic/app/beryl-core.git]
+#[attic/app/beryl-dbus.git]
+#[attic/app/beryl-manager.git]
+#[attic/app/beryl-plugins.git]
+#[attic/app/beryl-settings.git]
+#[attic/app/compiz-extra.git]
+#[attic/app/emerald.git]
+#[attic/app/emerald-themes.git]
+#[attic/app/heliodor.git]
+#[attic/app/xbase-clients.git]
+#[attic/driver/xserver-xorg-input-calcomp.git]
+#[attic/driver/xserver-xorg-input-digitaledge.git]
+#[attic/driver/xserver-xorg-input-dmc.git]
+#[attic/driver/xserver-xorg-input-dynapro.git]
+#[attic/driver/xserver-xorg-input-elo2300.git]
+#[attic/driver/xserver-xorg-input-jamstudio.git]
+#[attic/driver/xserver-xorg-input-magellan.git]
+#[attic/driver/xserver-xorg-input-magictouch.git]
+#[attic/driver/xserver-xorg-input-microtouch.git]
+#[attic/driver/xserver-xorg-input-palmax.git]
+#[attic/driver/xserver-xorg-input-spaceorb.git]
+#[attic/driver/xserver-xorg-input-summa.git]
+#[attic/driver/xserver-xorg-input-tek4957.git]
+#[attic/driver/xserver-xorg-input-ur98.git]
+#[attic/driver/xserver-xorg-video-amd.git]
+#[attic/driver/xserver-xorg-video-ast.git]
+#[attic/driver/xserver-xorg-video-avivo.git]
+#[attic/driver/xserver-xorg-video-cyrix.git]
+#[attic/driver/xserver-xorg-video-imstt.git]
+#[attic/driver/xserver-xorg-video-nsc.git]
+#[attic/driver/xserver-xorg-video-sunbw2.git]
+#[attic/driver/xserver-xorg-video-vga.git]
+#[attic/driver/xserver-xorg-video-via.git]
+#[attic/lib/libxevie.git]
+#[attic/lib/libxfontcache.git]
+#[attic/lib/libxkbui.git]
+#[attic/lib/libxtrap.git]
+#[attic/lib/libxxf86misc.git]
+#[attic/proto/x11proto-evie.git]
+#[attic/proto/x11proto-fontcache.git]
+#[attic/proto/x11proto-trap.git]
+[bling/ccsm.git]
+[bling/compizconfig-backend-gconf.git]
+[bling/compizconfig-backend-kconfig4.git]
+[bling/compizconfig-backend-kconfig.git]
+[bling/compizconfig-python.git]
+[bling/compiz-fusion-bcop.git]
+[bling/compiz-fusion-plugins-extra.git]
+[bling/compiz-fusion-plugins-main.git]
+[bling/compiz-fusion-plugins-unsupported.git]
+[bling/libcompizconfig.git]
+[bling/tools.git]
+[data/xbitmaps.git]
+[data/xcursor-themes.git]
+[data/xkb-data.git]
+[debian/xorg.git]
+[debian/xsf-tools.git]
+[doc-hackers.git]
+[doc/xorg-docs.git]
+[doc/xorg-sgml-doctools.git]
+[driver/xserver-xorg-input-acecad.git]
+[driver/xserver-xorg-input-aiptek.git]
+[driver/xserver-xorg-input-citron.git]
+[driver/xserver-xorg-input-elographics.git]
+[driver/xserver-xorg-input-evdev.git]
+[driver/xserver-xorg-input-evtouch.git]
+[driver/xserver-xorg-input-fpit.git]
+[driver/xserver-xorg-input-hyperpen.git]
+[driver/xserver-xorg-input-joystick.git]
+[driver/xserver-xorg-input-keyboard.git]
+[driver/xserver-xorg-input-mouse.git]
+[driver/xserver-xorg-input-mutouch.git]
+[driver/xserver-xorg-input-penmount.git]
+[driver/xserver-xorg-input-synaptics.git]
+[driver/xserver-xorg-input-vmmouse.git]
+[driver/xserver-xorg-input-void.git]
+[driver/xserver-xorg-video-apm.git]
+[driver/xserver-xorg-video-ark.git]
+[driver/xserver-xorg-video-ati.git]
+[driver/xserver-xorg-video-chips.git]
+[driver/xserver-xorg-video-cirrus.git]
+[driver/xserver-xorg-video-dove.git]
+[driver/xserver-xorg-video-dummy.git]
+[driver/xserver-xorg-video-fbdev.git]
+[driver/xserver-xorg-video-glide.git]
+[driver/xserver-xorg-video-glint.git]
+[driver/xserver-xorg-video-i128.git]
+[driver/xserver-xorg-video-i740.git]
+[driver/xserver-xorg-video-intel.git]
+[driver/xserver-xorg-video-ivtvdev.git]
+[driver/xserver-xorg-video-mach64.git]
+[driver/xserver-xorg-video-mga.git]
+[driver/xserver-xorg-video-neomagic.git]
+[driver/xserver-xorg-video-newport.git]
+[driver/xserver-xorg-video-nouveau.git]
+[driver/xserver-xorg-video-nv.git]
+[driver/xserver-xorg-video-openchrome.git]
+[driver/xserver-xorg-video-qxl.git]
+[driver/xserver-xorg-video-r128.git]
+[driver/xserver-xorg-video-radeonhd.git]
+[driver/xserver-xorg-video-rendition.git]
+[driver/xserver-xorg-video-s3.git]
+[driver/xserver-xorg-video-s3virge.git]
+[driver/xserver-xorg-video-savage.git]
+[driver/xserver-xorg-video-siliconmotion.git]
+[driver/xserver-xorg-video-sis.git]
+[driver/xserver-xorg-video-sisusb.git]
+[driver/xserver-xorg-video-suncg14.git]
+[driver/xserver-xorg-video-suncg3.git]
+[driver/xserver-xorg-video-suncg6.git]
+[driver/xserver-xorg-video-sunffb.git]
+[driver/xserver-xorg-video-sunleo.git]
+[driver/xserver-xorg-video-suntcx.git]
+[driver/xserver-xorg-video-tdfx.git]
+[driver/xserver-xorg-video-tga.git]
+[driver/xserver-xorg-video-trident.git]
+[driver/xserver-xorg-video-tseng.git]
+[driver/xserver-xorg-video-v4l.git]
+[driver/xserver-xorg-video-vesa.git]
+[driver/xserver-xorg-video-vmware.git]
+[driver/xserver-xorg-video-voodoo.git]
+[font/xfonts-100dpi.git]
+[font/xfonts-75dpi.git]
+[font/xfonts-base.git]
+[font/xfonts-cyrillic.git]
+[font/xfonts-encodings.git]
+[font/xfonts-scalable.git]
+[font/xfonts-utils.git]
+[git-migration.git]
+[lib/drm-snapshot.git]
+[lib/libdmx.git]
+[lib/libdrm.git]
+[lib/libfontenc.git]
+[lib/libfs.git]
+[lib/libice.git]
+[lib/libpciaccess.git]
+[lib/libsm.git]
+[lib/libx11.git]
+[lib/libxau.git]
+[lib/libxaw.git]
+[lib/libxcomposite.git]
+[lib/libxcursor.git]
+[lib/libxdamage.git]
+[lib/libxdmcp.git]
+[lib/libxext.git]
+[lib/libxfixes.git]
+[lib/libxfont.git]
+[lib/libxi.git]
+[lib/libxinerama.git]
+[lib/libxkbfile.git]
+[lib/libxmu.git]
+[lib/libxp.git]
+[lib/libxpm.git]
+[lib/libxprintapputil.git]
+[lib/libxprintutil.git]
+[lib/libxrandr.git]
+[lib/libxrender.git]
+[lib/libxres.git]
+[lib/libxss.git]
+[lib/libxt.git]
+[lib/libxtst.git]
+[lib/libxv.git]
+[lib/libxvmc.git]
+[lib/libxxf86dga.git]
+[lib/libxxf86vm.git]
+[lib/mesa.git]
+[lib/pixman.git]
+[lib/xft.git]
+[lib/xtrans.git]
+[pkg-xorg.git]
+[proto/x11proto-bigreqs.git]
+[proto/x11proto-composite.git]
+[proto/x11proto-core.git]
+[proto/x11proto-damage.git]
+[proto/x11proto-dmx.git]
+[proto/x11proto-dri2.git]
+[proto/x11proto-fixes.git]
+[proto/x11proto-fonts.git]
+[proto/x11proto-gl.git]
+[proto/x11proto-input.git]
+[proto/x11proto-kb.git]
+[proto/x11proto-print.git]
+[proto/x11proto-randr.git]
+[proto/x11proto-record.git]
+[proto/x11proto-render.git]
+[proto/x11proto-resource.git]
+[proto/x11proto-scrnsaver.git]
+[proto/x11proto-video.git]
+[proto/x11proto-xcmisc.git]
+[proto/x11proto-xext.git]
+[proto/x11proto-xf86bigfont.git]
+[proto/x11proto-xf86dga.git]
+[proto/x11proto-xf86dri.git]
+[proto/x11proto-xf86misc.git]
+[proto/x11proto-xf86vidmode.git]
+[proto/x11proto-xinerama.git]
+[xserver/xorg-server.git]
+[xserver/xprint.git]
+[xsfbs.git]
diff --git a/mrconfig-update b/mrconfig-update
new file mode 100755
index 0000000..b9c6d9e
--- /dev/null
+++ b/mrconfig-update
@@ -0,0 +1,35 @@
+#!/bin/sh
+set -e
+
+# Move to xsf-tools directory:
+cd $(dirname $0)
+
+# Configuration variables:
+host=git.debian.org
+home=/git/pkg-xorg
+tools_repo=debian/xsf-tools.git
+mrconfig=mrconfig
+
+# Some blurb to make everything work:
+cp mrconfig.head $mrconfig
+
+# Build a list of repositories based on the actual repositories on the
+# server:
+repos=$(ssh $host find $home -name '*.git'|sort|sed "s,^$home/,,")
+for repo in $repos; do
+ case $repo in
+ # Comment those, just in case people need them at some point:
+ attic/*)
+ echo "#[$repo]"
+ ;;
+ # Real repository:
+ *)
+ echo "[$repo]"
+ ;;
+ esac
+done >> $mrconfig
+
+rm -f $tmp
+
+# Move back:
+cd - > /dev/null
diff --git a/mrconfig.head b/mrconfig.head
new file mode 100644
index 0000000..2212e36
--- /dev/null
+++ b/mrconfig.head
@@ -0,0 +1,15 @@
+[DEFAULT]
+# repo_dir is what's inside the brackets for each repository below,
+# and repo_name its basename, so that the mr logic (calling git clone
+# when the local repository is still missing) works:
+checkout =
+ here=${MR_CONFIG%%.mrconfig};
+ repo_dir=$(echo "$MR_REPO"|sed -e "s,$here,," -e "s,/$,,");
+ repo_name=$(basename $repo_dir);
+ git clone git://git.debian.org/git/pkg-xorg/$repo_dir $repo_name
+
+# Avoid the default 'git pull' and all the merges that come with it:
+update =
+ git fetch "$@"
+
+
Reply to: