summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-05-08 17:26:47 +0000
committerKarl Berry <karl@freefriends.org>2017-05-08 17:26:47 +0000
commitc43a6e19938380bb01435c9687aaeac2621b962c (patch)
treed79568fad21501809a8482713ef268fa0a950c92 /Master
parentfb7356be8fc2d630c3c088408799c2dc0d325502 (diff)
tl-makeself-from-tlnet: rework to support spaces in source and target
directory paths. More checking, reporting, debugging. tl-test-makeself, tl-test-install: new test scripts. tl-update-tlcritical: doc. tlmgr.pl: ddebug a couple init msgs instead of debug; doc. dev/profiles: new directory of profiles for assorted (manual) testing. git-svn-id: svn://tug.org/texlive/trunk@44249 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/texmf-dist/scripts/texlive/tlmgr.pl11
-rwxr-xr-xMaster/tlpkg/bin/tl-makeself-from-tlnet167
-rwxr-xr-xMaster/tlpkg/bin/tl-try-install35
-rwxr-xr-xMaster/tlpkg/bin/tl-try-makeself27
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlcritical3
-rw-r--r--Master/tlpkg/dev/profiles/README8
-rw-r--r--Master/tlpkg/dev/profiles/TLctx.pro29
-rw-r--r--Master/tlpkg/dev/profiles/TLfmt.pro17
-rw-r--r--Master/tlpkg/dev/profiles/TLfull.pro12
-rw-r--r--Master/tlpkg/dev/profiles/TLinfra.pro14
-rw-r--r--Master/tlpkg/dev/profiles/TLlink.pro33
-rw-r--r--Master/tlpkg/dev/profiles/TLmed.pro14
-rw-r--r--Master/tlpkg/dev/profiles/TLmeddoc.pro14
-rw-r--r--Master/tlpkg/dev/profiles/TLmedfmt.pro14
-rw-r--r--Master/tlpkg/dev/profiles/TLmin.pro16
-rw-r--r--Master/tlpkg/dev/profiles/TLmindoc.pro14
-rw-r--r--Master/tlpkg/dev/profiles/TLminfmt.pro14
-rw-r--r--Master/tlpkg/dev/profiles/TLminfmtpaper.pro14
-rw-r--r--Master/tlpkg/dev/profiles/TLroot.pro14
-rw-r--r--Master/tlpkg/dev/profiles/TLsmall.pro14
-rw-r--r--Master/tlpkg/dev/profiles/TLspace.pro13
-rw-r--r--Master/tlpkg/dev/profiles/TLtetex.pro14
22 files changed, 446 insertions, 65 deletions
diff --git a/Master/texmf-dist/scripts/texlive/tlmgr.pl b/Master/texmf-dist/scripts/texlive/tlmgr.pl
index e40d1a30177..181a63e5d02 100755
--- a/Master/texmf-dist/scripts/texlive/tlmgr.pl
+++ b/Master/texmf-dist/scripts/texlive/tlmgr.pl
@@ -595,7 +595,7 @@ for the full story.\n";
#
# Try to open the packagelog file, but do NOT die when that does not work
if (!open(PACKAGELOG, ">>$packagelogfile")) {
- debug("Cannot open package log file $packagelogfile for appending\n");
+ debug("Cannot open package log file for appending: $packagelogfile\n");
debug("Will not log package installation/removal/update for this run\n");
$packagelogfile = "";
}
@@ -618,14 +618,14 @@ for the full story.\n";
$::no_execute_actions = 1 if (defined($opts{'no-execute-actions'}));
# if we are asked to use persistent connections try to start it here
- debug("tlmgr:main: do persistent downloads = $opts{'persistent-downloads'}\n");
+ ddebug("tlmgr:main: do persistent downloads = $opts{'persistent-downloads'}\n");
if ($opts{'persistent-downloads'}) {
TeXLive::TLUtils::setup_persistent_downloads() ;
}
if (!defined($::tldownload_server)) {
debug("tlmgr:main: ::tldownload_server not defined\n");
} else {
- debug("tlmgr:main: ::tldownload_server defined\n");
+ debug("tlmgr:main: ::tldownload_server defined: $::tldownload_server\n");
}
my $ret = execute_action($action, @ARGV);
@@ -7170,8 +7170,9 @@ The subcommand C<auxtrees> allows adding and removing arbitrary
additional texmf trees, completely under user control. C<auxtrees show>
shows the list of additional trees, C<auxtrees add> I<tree> adds a tree
to the list, and C<auxtrees remove> I<tree> removes a tree from the list
-(if present). The trees should not contain an C<ls-R> file. This works
-by manipulating the Kpathsea variable C<TEXMFAUXTREES>, in
+(if present). The trees should not contain an C<ls-R> file (or files
+might not be found if the C<ls-R> becomes stale). This works by
+manipulating the Kpathsea variable C<TEXMFAUXTREES>, in
C<ROOT/texmf.cnf>. Example:
tlmgr conf auxtrees add /quick/test/tree
diff --git a/Master/tlpkg/bin/tl-makeself-from-tlnet b/Master/tlpkg/bin/tl-makeself-from-tlnet
index f3bc140466a..5fa0b9c34f5 100755
--- a/Master/tlpkg/bin/tl-makeself-from-tlnet
+++ b/Master/tlpkg/bin/tl-makeself-from-tlnet
@@ -1,12 +1,21 @@
#!/bin/sh -e
# $Id$
-# Copyright 2008-2014 Norbert Preining
+# Copyright 2008-2017 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
#
-# Creates a .run file for updating the texlive.infra
-# packages on Unix, similar to the .exe we create for Windows. Both are
-# created in the nightly cron from tl-update-tlcritical.
+# Creates an executable script update-tlmgr-r*.sh (in the current
+# directory) for updating the texlive.infra package and its per-platform
+# subpackages on Unix, similar to the .exe we create for Windows. (Both
+# are created in the nightly cron from tl-update-tlcritical.) We use
+# the makeself utility to create the executable.
+#
+# The resulting update-tlmgr-*.sh is run (by the user) in the TL
+# installation directory to be updated; it uses kpsewhich from PATH to
+# determine what to do update.
+
+mydir=`cd \`dirname "$0"\` && pwd` # Master/tlpkg/bin
+PATH=$mydir:$PATH # for tlpkginfo
TLNET=$1
if test ! -d "$TLNET"; then
@@ -21,55 +30,73 @@ if test ! -d "$ARCHIVE"; then
fi
# extract some version values from the tlnet tlpdb.
-NETRELEASE=`sed -n 's!^depend release/!!p' $TLNET/tlpkg/texlive.tlpdb`
-MINRELEASE=`sed -n 's!^depend minrelease/!!p' $TLNET/tlpkg/texlive.tlpdb`
+NETRELEASE=`sed -n 's!^depend release/!!p' "$TLNET/tlpkg/texlive.tlpdb"`
+MINRELEASE=`sed -n 's!^depend minrelease/!!p' "$TLNET/tlpkg/texlive.tlpdb"`
+if test -z "$NETRELEASE" || test -z "$MINRELEASE"; then
+ echo "$0: could not find release or minrease from $TLNET/tlpkg/texlive.tlpdb"\
+ >&2; exit 1
+fi
-CWD=`pwd` # save original dir
-TMP=`mktemp -d`
-cd $TMP
+CWD=`pwd` # save original dir
+TMP=`mktemp -d` # work in new temp dir
+cd "$TMP"
mkdir master
cd master
-maxrev=0
-
# unpack texlive.infra archives for all platforms, except w32.
-for pkg in texlive.infra; do
- pkgrev=`tlpkginfo --revision $pkg $TLNET`
- if [ $pkgrev -gt $maxrev ] ; then
- maxrev=$pkgrev
- fi
- for i in $ARCHIVE/$pkg*.tar.xz; do
- case "$i" in
- *win32*) ;;
- *) xzdec <$i | tar -xf - ;;
- esac
- done
+# this gives us the tlpobj files along with the actual content files.
+infrapkg=texlive.infra
+#
+# determine revision of infrastructure while we're here,
+# for naming the archive later.
+infrarev=`tlpkginfo --revision $infrapkg "$TLNET"`
+if test -z "$infrarev"; then
+ echo "$0: tlpkginfo --revision $infrapkg $TLNET failed, goodbye." >&2
+ exit 1
+fi
+#
+# don't think quotes are needed here, except for possible sh bugs?
+for i in "$ARCHIVE"/$infrapkg*.tar.xz; do
+ case "$i" in
+ *win32*) ;;
+ *) xzdec <"$i" | tar -xf - || exit 1;;
+ esac
done
-cd ..
+cd .. # back to the (temp) dir where we building things up
+#
# create the script which will be run on the user's machine to do the update.
-#
+#
cat >runme.sh <<END_RUNME
#!/bin/sh
-# Updater for tlmgr and infrastructure on Unix.
+# \$Id$
+# Updater for tlmgr and TL infrastructure on Unix. Public domain.
# Runs in unpacked archive directory.
+# Created by `basename $0` at `date`.
NETRELEASE=$NETRELEASE
MINRELEASE=$MINRELEASE
-
+infrapkg=$infrapkg
END_RUNME
-# append to runme literally now.
+# append to runme literally now -- no more variable expansions.
cat >>runme.sh <<'END_RUNME'
# see if we can determine where the TL to be upgraded lives.
# need tlpdb and a tlpobj dir (i.e., not the svn Master tree) at least.
+# We are depending on the user's PATH to find kpsewhich, tlmgr, etc.
ROOT=`kpsewhich --var-value=SELFAUTOPARENT`
if test -r "$ROOT/tlpkg/texlive.tlpdb" && test -d "$ROOT/tlpkg/tlpobj/"; then
echo "$0: updating in $ROOT..."
-
+
tlmgrversion=`tlmgr version | grep '^TeX Live.*version' | awk '{print $NF}'`
+ if test -z "$tlmgrversion"; then
+ echo "$0: tlmgr version did not include version, goodbye." >&2
+ tlmgr version >&2
+ exit 1
+ fi
+ #
echo "$0: tlmgr version says this is TeX Live $tlmgrversion"
if test "x$1" = "x--upgrade"; then
if test "x$NETRELEASE" = "x$tlmgrversion"; then
@@ -94,37 +121,45 @@ if test -r "$ROOT/tlpkg/texlive.tlpdb" && test -d "$ROOT/tlpkg/tlpobj/"; then
mkdir ./installer
mv ./master/tlpkg/installer/xz ./installer
mv ./master/tlpkg/installer/wget ./installer
-
+
# install the architecture-independent files.
- (cd master && tar cf - *) | (cd $ROOT && tar xf -)
-
- # try to get the list of installed architectures by listing the
- # directories in $ROOT/bin.
- t_objdir=$ROOT/tlpkg/tlpobj # target tlpobj directory
+ (cd master && tar cf - *) | (cd "$ROOT" && tar xf -) || exit 1
+
t_instdir=$ROOT/tlpkg/installer # target installer dir
-
+ t_xzdir=$t_instdir/xz
+ t_wgetdir=$t_instdir/wget
+ #
# ensure these target directories exist.
- mkdir -p $t_instdir/xz
- mkdir -p $t_instdir/wget
-
- # start the list of tlpobjs we will install
- tlpobjs="$t_objdir/texlive.infra.tlpobj"
- for a in $ROOT/bin/*; do
+ mkdir -p "$t_xzdir" "$t_wgetdir"
+
+ # Start the list of tlpobjs we will install with the
+ # platform-independent part of the infrastructure package.
+ #
+ # We use the tlpobjs from our own dir here, using relative names,
+ # since we constructed this directory tree and thus know there are no
+ # spaces in the names. That is not true for $ROOT. (The files are the
+ # same since we just updated $ROOT with the untar above.)
+ src_tlpobj=master/tlpkg/tlpobj
+ tlpobjs=$src_tlpobj/$infrapkg.tlpobj
+
+ # for each platform directory of binaries
+ for a in "$ROOT"/bin/*; do
test -d "$a" || continue # skip any cruft files
- b=`basename $a` # just the architecture name
-
- # add the tlpobjs for this platform t the list.
- tlpobjs="$tlpobjs $t_objdir/texlive.infra.$b.tlpobj"
+ b=`basename "$a"` # just the architecture name
+
+ # add the tlpobjs for this platform to the list.
+ tlpobjs="$tlpobjs $src_tlpobj/$infrapkg.$b.tlpobj"
# install the bin dir for this platform.
- (cd bin && tar cf - $b) | (cd $ROOT/bin && tar xf -)
-
- # copy the installer binaries.
- cp installer/xz/xzdec.$b $t_instdir/xz/
- cp installer/xz/xz.$b $t_instdir/xz/
+ (cd bin && tar cf - "$b") | (cd "$ROOT/bin" && tar xf -) || exit 1
+
+ # copy the installer binaries; not everything provides wget.
+ cp installer/xz/xzdec."$b" "$t_xzdir/" || exit 1
+ cp installer/xz/xz."$b" "$t_xzdir/" || exit 1
test -r installer/wget/wget.$b \
- && cp installer/wget/wget.$b $t_instdir/wget
+ && { cp installer/wget/wget.$b "$t_wgetdir/" || exit 1; }
done
+
else
cat <<END_ABORT_NODIR >&2
$0: Cannot find TeX Live root using kpsewhich --var-value=SELFAUTOPARENT.
@@ -133,20 +168,34 @@ END_ABORT_NODIR
exit 1
fi
-# invoke secret tlmgr action with the tlpobjs we found.
+# Invoke special tlmgr action with the tlpobjs we found.
# Hopefully the result will be a clean tlpdb state.
-tlmgr -v _include_tlpobj $tlpobjs
+# We are running the new tlmgr, from our own archive, here,
+# due to the untar above.
+tlmgr_path=`which tlmgr 2>/dev/null` # provide complete path if we can
+test -z "$tlmgr_path" && tlmgr_path=tlmgr # but no biggie if we can't
+echo "$0: $tlmgr_path including objects: $tlpobjs"
+#debug: (pwd; ls -l $tlpobjs; ls -lR) >/tmp/ls
+#debug: -vv here gives more info. (Also -vx on the #! line above.)
+if tlmgr -v _include_tlpobj $tlpobjs; then :; else
+ echo "$0: $tlmgr_path failed, goodbye." >&2
+ exit 1
+fi
echo "$0: done."
END_RUNME
+#
+#debug: cp -f runme.sh /tmp
chmod ugo+x runme.sh
-# make the self-extracting archive back in the directory from where we
-# were invoked.
-cd $CWD
-mydir=`cd \`dirname $0\` && pwd` # Master/tlpkg/bin
-rev=$maxrev
-makeself $TMP update-tlmgr-r$rev.sh "TeX Live Manager Updater" ./runme.sh
+# make the self-extracting archive back in the directory from which
+# we were invoked.
+cd "$CWD"
+makeself -q $TMP \
+ update-tlmgr-r$infrarev.sh \
+ "TeX Live Manager Updater" \
+ ./runme.sh
+
rm -rf $TMP
# vim:set tabstop=2 expandtab: #
diff --git a/Master/tlpkg/bin/tl-try-install b/Master/tlpkg/bin/tl-try-install
new file mode 100755
index 00000000000..4adbccd6682
--- /dev/null
+++ b/Master/tlpkg/bin/tl-try-install
@@ -0,0 +1,35 @@
+#!/bin/sh
+# $Id$
+# Try a TL installation with various profiles into /tmp/ki. Public domain.
+
+renice 20 $$ >&/dev/null
+cd $HOME || exit 1 # don't let cwd interfere
+
+instdir=/tmp/ki # in .pro files too
+rm -rf $instdir* && echo "removed $instdir*."
+
+# make installations quieter.
+TEXLIVE_INSTALL_ENV_NOCHECK=1; export TEXLIVE_INSTALL_ENV_NOCHECK
+TEXLIVE_INSTALL_NO_WELCOME=1; export TEXLIVE_INSTALL_NO_WELCOME
+
+# some director
+mydir=`cd \`dirname "$0"\` && pwd` # Master/tlpkg/bin
+Master=`cd $mydir/../.. && pwd`
+#
+thisrel=/usr/local/texlive/`date +%Y` # not necessarily, but whatever
+prevrel=/usr/local/texlive/`expr "$(date +%Y)" - 1`
+
+pro=--profile=$Master/tlpkg/dev/profiles/TLspace.pro #infra min small ...
+exec time $Master/install-tl $pro
+exec time $lp/install-tl $pro
+exec time $lp/install-tl $pro --repo ftp://ftp.cstug.cz/pub/tex/local/tlpretest
+exec time $ln/install-tl $pro --repo ctan #--in-place
+exec time $thisrel/install-tl $pro
+exec time $prevrel/install-tl $pro
+exit $?
+
+# above are just assorted invocations that have been useful from time to
+# time, nothing magic. do what's needed.
+#
+# $lp = pretest, /home/ftp/texlive/tlpretest on tug.org.
+# $ln = tlnet, /home/ftp/texlive/tlnet on tug.org.
diff --git a/Master/tlpkg/bin/tl-try-makeself b/Master/tlpkg/bin/tl-try-makeself
new file mode 100755
index 00000000000..536261666ec
--- /dev/null
+++ b/Master/tlpkg/bin/tl-try-makeself
@@ -0,0 +1,27 @@
+#!/bin/sh -ex
+# $Id$
+# Test tl-makeself with spaces in filenames. Public domain.
+# Assumes $lc is set to the tlcritical dir; copies from there
+# to make the test directory in which we run makeself
+#
+# Although having the source in a spaceful directory is not really
+# needed, might as well test that too.
+
+# to set up:
+mkdir $crit; cp -r $lc/{archive,tlpkg} $crit
+crit="/tmp/krit sp"
+test -d "$crit" || mkdir "$crit"
+rsync -a $lc/{archive,tlpkg} "$crit"
+
+cd "$crit" # because makeself writes to the current directory
+rm -f update*sh # remove previous attempts
+tl-makeself-from-tlnet "$crit"
+ls -l "$crit"
+
+# Using ../dev/profiles/TLspace.pro results in:
+tl="/tmp/ki sp"
+cd "$tl"
+
+# Now try running the updater in the installed tree.
+PATH=$tl/bin/x86_64-linux:$PATH
+"$crit"/update-tlmgr-r*.sh # --quiet causes gzip error?
diff --git a/Master/tlpkg/bin/tl-update-tlcritical b/Master/tlpkg/bin/tl-update-tlcritical
index c07cd7c8f55..b600bee6ccc 100755
--- a/Master/tlpkg/bin/tl-update-tlcritical
+++ b/Master/tlpkg/bin/tl-update-tlcritical
@@ -3,6 +3,7 @@
# Public domain. Originally written 2008, Karl Berry.
# Update the tlcritical mini-repository on tug with the critical
# packages. Also listed in tl-update-containers, unfortunately.
+# Run from cron.tl once a month, or whenever specified.
tlcrit=/home/ftp/texlive/tlcritical
recreate=
@@ -24,7 +25,7 @@ if test -d "$tlcrit"; then :; else
fi
mydir=`cd \`dirname $0\` && pwd`
-PATH=$mydir:/usr/local/gnu/bin:/usr/local/bin:$PATH # sha256sum+makensis on tug
+PATH=$mydir:/usr/local/gnu/bin:/usr/local/bin:$PATH # sha*sum+makensis on tug
master=`cd $mydir/../.. && pwd`
TMPDIR=${TMPDIR-/tmp}
diff --git a/Master/tlpkg/dev/profiles/README b/Master/tlpkg/dev/profiles/README
new file mode 100644
index 00000000000..bb8449ec5bd
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/README
@@ -0,0 +1,8 @@
+$Id$
+This README and all profiles are public domain (and trivial).
+
+Just a collection of profile files which install in /tmp/ki*,
+testing various features. Most have not been updated for the 2017
+install-tl option name changes, and have not been minimized.
+
+tlpkg/bin/tl-try-install can use them. Happy testing.
diff --git a/Master/tlpkg/dev/profiles/TLctx.pro b/Master/tlpkg/dev/profiles/TLctx.pro
new file mode 100644
index 00000000000..70d4c3c67c5
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLctx.pro
@@ -0,0 +1,29 @@
+# $Id$
+# texlive.profile written on Wed Jun 2 20:34:55 2010 UTC
+# It will NOT be updated and reflects only the
+# installation profile at installation time.
+selected_scheme scheme-context
+TEXDIR /tmp/ki
+TEXMFCONFIG /tmp/ki/user/conf
+TEXMFHOME /tmp/ki/user/xmf
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/conf
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFVAR /tmp/ki/user/var
+binary_i386-linux 1
+collection-basic 1
+collection-context 1
+from_dvd 0
+option_desktop_integration 1
+option_doc 0
+option_file_assocs 1
+option_fmt 1
+option_letter 0
+option_path 0
+option_post_code 1
+option_src 0
+option_sys_bin /usr/local/bin
+option_sys_info /usr/local/info
+option_sys_man /usr/local/man
+option_w32_multi_user 0
+option_write18_restricted 1
diff --git a/Master/tlpkg/dev/profiles/TLfmt.pro b/Master/tlpkg/dev/profiles/TLfmt.pro
new file mode 100644
index 00000000000..e9c263963c7
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLfmt.pro
@@ -0,0 +1,17 @@
+# $Id$
+selected_scheme scheme-minimal
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+selected_scheme scheme-minimal
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+option_doc 0
+option_fmt 1
+option_letter 0
+option_src 0
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLfull.pro b/Master/tlpkg/dev/profiles/TLfull.pro
new file mode 100644
index 00000000000..6d31b8577be
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLfull.pro
@@ -0,0 +1,12 @@
+# $Id$
+selected_scheme scheme-full
+TEXDIR /tmp/ki
+TEXMFHOME ~/texmf
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/texmf-config
+TEXMFSYSVAR /tmp/ki/texmf-var
+option_doc 1
+option_fmt 1
+option_letter 0
+option_src 1
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLinfra.pro b/Master/tlpkg/dev/profiles/TLinfra.pro
new file mode 100644
index 00000000000..d0561c92b15
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLinfra.pro
@@ -0,0 +1,14 @@
+# $Id$
+# infrastructure only
+selected_scheme scheme-infraonly
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 0
+option_fmt 0
+option_src 0
+option_adjustrepo 0
diff --git a/Master/tlpkg/dev/profiles/TLlink.pro b/Master/tlpkg/dev/profiles/TLlink.pro
new file mode 100644
index 00000000000..11259c77d52
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLlink.pro
@@ -0,0 +1,33 @@
+# $Id$
+# texlive.profile written on Tue Dec 2 17:20:04 2014 UTC
+# It will NOT be updated and reflects only the
+# installation profile at installation time.
+selected_scheme scheme-minimal
+TEXDIR /tmp/ki
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/texmf-config
+TEXMFSYSVAR /tmp/ki/texmf-var
+TEXMFVAR /tmp/ki/user/var
+binary_i386-linux 1
+collection-basic 1
+in_place 0
+option_adjustrepo 0
+option_autobackup 1
+option_backupdir tlpkg/backups
+option_desktop_integration 1
+option_doc 1
+option_file_assocs 1
+option_fmt 0
+option_letter 0
+option_menu_integration 1
+option_path 1
+option_post_code 1
+option_src 0
+option_sys_bin /tmp/ki/sysbin
+option_sys_info /tmp/ki/sysinfo
+option_sys_man /tmp/ki/sysman
+option_w32_multi_user 1
+option_write18_restricted 1
+portable 0
diff --git a/Master/tlpkg/dev/profiles/TLmed.pro b/Master/tlpkg/dev/profiles/TLmed.pro
new file mode 100644
index 00000000000..1c7a38087d7
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLmed.pro
@@ -0,0 +1,14 @@
+# $Id$
+selected_scheme scheme-medium
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 0
+option_fmt 0
+option_letter 0
+option_src 0
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLmeddoc.pro b/Master/tlpkg/dev/profiles/TLmeddoc.pro
new file mode 100644
index 00000000000..abdcc5eceb8
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLmeddoc.pro
@@ -0,0 +1,14 @@
+# $Id$
+selected_scheme scheme-medium
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 1
+option_fmt 0
+option_letter 0
+option_src 0
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLmedfmt.pro b/Master/tlpkg/dev/profiles/TLmedfmt.pro
new file mode 100644
index 00000000000..f5c8fb83640
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLmedfmt.pro
@@ -0,0 +1,14 @@
+# $Id$
+selected_scheme scheme-medium
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 0
+option_fmt 1
+option_letter 0
+option_src 0
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLmin.pro b/Master/tlpkg/dev/profiles/TLmin.pro
new file mode 100644
index 00000000000..126ee288798
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLmin.pro
@@ -0,0 +1,16 @@
+# $Id$
+# minimal
+selected_scheme scheme-minimal
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 0
+option_fmt 0
+option_letter 0
+option_src 0
+option_symlinks 0
+option_adjustrepo 0
diff --git a/Master/tlpkg/dev/profiles/TLmindoc.pro b/Master/tlpkg/dev/profiles/TLmindoc.pro
new file mode 100644
index 00000000000..041336c99bd
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLmindoc.pro
@@ -0,0 +1,14 @@
+# $Id$
+selected_scheme scheme-minimal
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 1
+option_fmt 0
+option_letter 0
+option_src 0
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLminfmt.pro b/Master/tlpkg/dev/profiles/TLminfmt.pro
new file mode 100644
index 00000000000..09279dd8d79
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLminfmt.pro
@@ -0,0 +1,14 @@
+# $Id$
+selected_scheme scheme-minimal
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 0
+option_fmt 1
+option_letter 0
+option_src 0
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLminfmtpaper.pro b/Master/tlpkg/dev/profiles/TLminfmtpaper.pro
new file mode 100644
index 00000000000..a25e471011d
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLminfmtpaper.pro
@@ -0,0 +1,14 @@
+# $Id$
+selected_scheme scheme-minimal
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 0
+option_fmt 1
+option_letter 1
+option_src 0
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLroot.pro b/Master/tlpkg/dev/profiles/TLroot.pro
new file mode 100644
index 00000000000..4db1cae84d6
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLroot.pro
@@ -0,0 +1,14 @@
+# $Id$
+selected_scheme scheme-minimal
+TEXDIR /tl
+TEXMFHOME /tl/user/home
+TEXMFLOCAL /tl/texmf-local
+TEXMFSYSCONFIG /tl/sys/config
+TEXMFSYSVAR /tl/sys/var
+TEXMFCONFIG /tl/user/config
+TEXMFVAR /tl/user/var
+option_doc 0
+option_fmt 0
+option_letter 0
+option_src 0
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLsmall.pro b/Master/tlpkg/dev/profiles/TLsmall.pro
new file mode 100644
index 00000000000..8c5dac2bd14
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLsmall.pro
@@ -0,0 +1,14 @@
+# $Id$
+selected_scheme scheme-small
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 0
+option_fmt 1
+option_letter 0
+option_src 0
+option_symlinks 0
diff --git a/Master/tlpkg/dev/profiles/TLspace.pro b/Master/tlpkg/dev/profiles/TLspace.pro
new file mode 100644
index 00000000000..b16a4e53912
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLspace.pro
@@ -0,0 +1,13 @@
+# $Id$
+selected_scheme scheme-infraonly
+TEXDIR /tmp/ki sp
+TEXMFHOME /tmp/ki sp/user/home
+TEXMFLOCAL /tmp/ki sp/texmf-local
+TEXMFSYSCONFIG /tmp/ki sp/texmf-config
+TEXMFSYSVAR /tmp/ki sp/texmf-var
+TEXMFCONFIG /tmp/ki sp/user/config
+TEXMFVAR /tmp/ki sp/user/var
+option_doc 0
+option_fmt 0
+option_src 0
+option_adjustrepo 0
diff --git a/Master/tlpkg/dev/profiles/TLtetex.pro b/Master/tlpkg/dev/profiles/TLtetex.pro
new file mode 100644
index 00000000000..8b809b6d863
--- /dev/null
+++ b/Master/tlpkg/dev/profiles/TLtetex.pro
@@ -0,0 +1,14 @@
+# $Id$
+selected_scheme scheme-tetex
+TEXDIR /tmp/ki
+TEXMFHOME /tmp/ki/user/home
+TEXMFLOCAL /tmp/ki/texmf-local
+TEXMFSYSCONFIG /tmp/ki/sys/config
+TEXMFSYSVAR /tmp/ki/sys/var
+TEXMFCONFIG /tmp/ki/user/config
+TEXMFVAR /tmp/ki/user/var
+option_doc 0
+option_fmt 0
+option_letter 0
+option_src 0
+option_symlinks 0