Refactored debian package structure.

cvs
Trent Buck 2006-01-19 20:14:36 +00:00
parent 2afa36dbdc
commit 259860a61b
7 changed files with 218 additions and 17 deletions

1
debian/dirs vendored
View File

@ -1,2 +1,3 @@
usr/bin
usr/lib/factor
usr/share/factor

3
debian/docs vendored
View File

@ -6,6 +6,3 @@ doc/handbook.pdf
doc/internals.txt
doc/theory.pdf
doc/handbook
examples
library
version.factor

36
debian/rules vendored
View File

@ -4,6 +4,9 @@
# SITE_CFLAGS=-fPIC -ffast-math -funsigned-char -mpowerpc -mpowerpc-gpopt -mpowerpc-gfxopt -maltivec -mabi=altivec -mtune=G4 -mcpu=G4 -pipe
# SITE_CFLAGS=-march=pentium4
VERSION=0.80
FARCH=$(shell sh debian/architecture.sh)
configure: configure-stamp
configure-stamp:
@ -14,18 +17,19 @@ build: build-stamp
build-stamp: configure-stamp
dh_testdir
$(MAKE) linux-`sh debian/architecture.sh`
####### Build the bootstrap image
echo "USE: image \"`sh debian/architecture.sh`\" make-image 0 exit" | factor-vm debian/make-bootstrap-images.factor
# wget http://factorcode.org/boot.image.`sh debian/architecture.sh`
####### Build the factor image
./f boot.image.`sh debian/architecture.sh` -libraries:sdl:name=libSDL.so -libraries:freetype:name=libfreetype.so
# cp /usr/share/factor/f /usr/share/factor/factor.image .
####### Build the extended image
$(MAKE) linux-$(FARCH)
mv f runtime
# Build the bootstrap image
echo "USE: image \"$(FARCH)\" make-image" | factor-run --basic debian/make-bootstrap-images.factor # || wget http://factorcode.org/boot.image.$(FARCH)
mv boot.image.$(FARCH) boot.image
# Build the factor image
./runtime boot.image -libraries:sdl:name=libSDL.so -libraries:freetype:name=libfreetype.so
mv factor.image basic.image
# Build the extended image
sqlite3 contrib/sqlite/test.db < contrib/sqlite/test.txt
# $(CC) $(CFLAGS) -L /usr/X11R6/lib -shared -o contrib/factory/simple-error-handler.so contrib/factory/simple-error-handler.c -lX11
echo 'USING: image kernel ; "extended.image" save-image 0 exit' | ./f factor.image contrib/load.factor
####### Build the documentation
$(CC) $(CFLAGS) -L /usr/X11R6/lib -shared -o contrib/factory/simple-error-handler.so contrib/factory/simple-error-handler.c -lX11
echo 'USING: image kernel ; "extended.image" save-image 0 exit' | ./runtime basic.image contrib/load.factor
# Build the documentation
cd doc && for i in *.eps; do epstopdf $$i; done
cd doc && rubber --pdf theory
cd doc && sh makedoc
@ -36,7 +40,7 @@ clean:
dh_testroot
rm -f build-stamp configure-stamp
-$(MAKE) clean
-rm -f f factor.image extended.image
-rm -f f runtime factor.image boot.image boot.image.$(FARCH) basic.image extended.image
dh_clean
install: build
@ -44,8 +48,12 @@ install: build
dh_testroot
dh_clean -k
dh_installdirs
install f factor.image extended.image $(CURDIR)/debian/factor/usr/share/factor
install -m 755 debian/factor-vm $(CURDIR)/debian/factor/usr/bin
# Install binary files
install runtime boot.image basic.image extended.image $(CURDIR)/debian/factor/usr/lib/factor
# Install source files
install contrib examples fonts library version.factor $(CURDIR)/debian/factor/usr/share/factor
# Install wrapper scripts
install -m 755 debian/scripts/factor-* $(CURDIR)/debian/factor/usr/bin
binary-indep: build install

38
debian/scripts/factor-export vendored Normal file
View File

@ -0,0 +1,38 @@
#!/bin/sh
# Help function
###############
help () {
cat <<EOF
Usage: factor-export IMAGE FILE [ WORDS ]
Export words from a Factor image as ASCII source code.
Options:
none so far
If FILE is a single hypen (-), code will be written to
standard output.
This is useful for moving Factor code in bulk between
incompatible systems, such as different architectures or
when the image format changes. An example of this is:
factor-export image.x86 | ssh host factor-import image.ppc
It is also useful for managing changes in a Factor codebase.
EOF
exit 0
}
# Default values
################
# Argument parsing
##################
# Logic
#######
echo 'Sorry, this is just a stub at the moment.'
help
exit 1

38
debian/scripts/factor-import vendored Normal file
View File

@ -0,0 +1,38 @@
#!/bin/sh
# Help function
###############
help () {
cat <<EOF
Usage: factor-import IMAGE FILE
Export words from a Factor image as ASCII source code.
Options:
none so far
If FILE is a single hypen (-), code will be read from
standard input.
This is useful for moving Factor code in bulk between
incompatible systems, such as different architectures or
when the image format changes. An example of this is:
factor-export image.x86 | ssh host factor-import image.ppc
It is also useful for managing changes in a Factor codebase.
EOF
exit 0
}
# Default values
################
# Argument parsing
##################
# Logic
#######
echo 'Sorry, this is just a stub at the moment.'
help
exit 1

47
debian/scripts/factor-init vendored Normal file
View File

@ -0,0 +1,47 @@
#!/bin/sh
# Help function
###############
help () {
cat <<EOF
Usage: factor-init -o DEST [ OPTION ]
Create an editable image from one of the default images that
is distributed with the Factor runtime.
Options:
-b copy the basic image (default)
-e copy the extended image (includes contrib libs)
-i FILE copy the image FILE
-o FILE write the editable image to FILE
-h print this help information
EOF
exit 0
}
# Default values
################
BINARY_PATH='/usr/lib/factor'
SRC="$BINARY_PATH/basic.image"
DST=''
# Argument parsing
##################
while getopts "hbei:o:" x
do
case "$x" in
b) SRC="$BINARY_PATH/basic.image";;
e) SRC="$BINARY_PATH/extended.image";;
i) SRC="$OPTARG";;
o) DST="$OPTARG";;
h) help;;
esac
done
# Logic
#######
if test -n "$DST"; then
exec /bin/cp -v "$SRC" "$DST"
else
help
fi

72
debian/scripts/factor-run vendored Normal file
View File

@ -0,0 +1,72 @@
#!/bin/sh
# Help function
###############
help () {
cat <<EOF
Usage: factor-run IMAGE [ OPTIONS, FILES ]
Launch the factor runtime using an initial image IMAGE, taking
input from each FILE in turn and then starting a listener.
If IMAGE is -b or --basic, the basic image that is distributed
with factor will be used. If IMAGE is -e or --extended, the
extended image that is distributed with factor will be used.
Library options:
-resource-path=PATH
Specify the path where factor libraries
-shell={tty, ui, telnet}
Specify what sort of listener to use.
-port=N
When using the "telnet" listener, specify the port
to listen on.
Runtime options (n is a number):
+Dn Data stack size, kilobytes
+Cn Call stack size, kilobytes
+Gn Number of generations, must be >= 2
+Yn Size of n-1 youngest generations, megabytes
+An Size of tenured and semi-spaces, megabytes
+Xn Code heap size, megabytes
EOF
exit 0
}
# Default values
################
BINARY_PATH='/usr/lib/factor'
RESOURCE_PATH='/usr/share/factor'
IMAGE="$BINARY_PATH/basic.image"
RUNTIME="$BINARY_PATH/runtime"
# Logic
#######
if test 0 -eq $#
then
# As a 'quick start' behaviour, so that new users can
# get something to play with immediately.
echo "Launching the Factor runtime with a read-only basic image."
echo "Use \`\"filename\" save-image' to write an editable image."
exec "$RUNTIME" "$IMAGE" -resource-path="$RESOURCE_PATH"
else
case "$1" in
-h|--help)
help
;;
-b|--basic)
IMAGE="$BINARY_PATH/basic.image"
;;
-e|--extended)
IMAGE="$BINARY_PATH/extended.image"
;;
*)
IMAGE="$1"
;;
esac
shift
exec "$RUNTIME" "$IMAGE" -resource-path="$RESOURCE_PATH" "$@"
fi