aboutsummaryrefslogtreecommitdiff
path: root/pbuilder
blob: b8df907ae77206389dd81b5a96852d1dc8441772 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#! /bin/bash
# pbuilder by Junichi Uekawa <dancer@debian.org> 2001 Aug 25
# Copyright 2001-2003 Junichi Uekawa
#Distributed under GPL version 2 or later

set -e 

# export this so that programs know which command line
# operation is currently done
export PBCURRENTCOMMANDLINEOPERATION="$1"

case "$1" in
    create)
	shift;
	/usr/lib/pbuilder/pbuilder-createbuildenv "$@"
	;;
    update)
	shift ;
	/usr/lib/pbuilder/pbuilder-updatebuildenv "$@"
	;;
    build)
	shift ;
	/usr/lib/pbuilder/pbuilder-buildpackage "$@"
	;;
    clean)
	shift;
	. /usr/lib/pbuilder/pbuilder-checkparams
	if [ -n "$BASEBUILDPLACE" ]; then 
	    echo "Cleaning [$BASEBUILDPLACE]"
	    clean_subdirectories "$BASEBUILDPLACE" || true
	fi
	if [ -n "$APTCACHE" ]; then
	    echo "Cleaning [$APTCACHE]"
	    clean_subdirectories "$APTCACHE" || true
	fi
	;;
    login)
	shift 
	. /usr/lib/pbuilder/pbuilder-checkparams
	extractbuildplace
	trap umountproc_cleanbuildplace exit
	if [ "${INTERNAL_BUILD_UML}" = "yes" ]; then
	    echo " -> entering the shell"
	else
	    echo " -> entering the shell
File extracted to: $BUILDPLACE
"
	fi
	chroot "$BUILDPLACE" bin/bash
	;;
    execute)
	# try to execute arbitrary program.
	shift
	. /usr/lib/pbuilder/pbuilder-checkparams
	EXECPROGRAM="$1"
	shift
	if [ ! -f "${EXECPROGRAM}" ]; then
	    echo "Command line parameter [$EXECPROGRAM] does not exist" >&2
	    exit 1;
	fi;
	extractbuildplace
	trap umountproc_cleanbuildplace exit
	RUNNAME="$BUILDPLACE/run"
	cat "$EXECPROGRAM" > "$RUNNAME"
	chmod a+x "$RUNNAME"
	chroot "$BUILDPLACE" /run "$@"
	;;
    *)
	. /usr/lib/pbuilder/pbuilder-modules
	showhelp
	;;
esac