summaryrefslogtreecommitdiff
path: root/dh_compress
blob: e1f8ed643525f9102e87a652b60515ea71337713 (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
#!/bin/sh -e
#
# Compresses files and makes sure that symlinks pointing to the 
# compressed files get fixed.

PATH=debian:$PATH:/usr/lib/debhelper
source dh_lib

# The config file is a sh script that outputs the files to be compressed
# (typically using find).
if [ -f debian/compress ]; then
	files=`sh debian/compress 2>/dev/null`
else
	# By default fall back on what the policy manual says to compress.
	files=`
		find debian/tmp/usr/info debian/tmp/usr/man \
			debian/tmp/usr/X11*/man -type f 2>/dev/null ;
		find debian/tmp/usr/doc -type f -size +4k \
			! -name "*.htm*" ! -name "*.gif" \
			! -name "debian/tmp/usr/doc/*/copyright" 2>/dev/null
	`
fi

if [ "$files" ]; then
	# This is just a cosmetic fix.
	files=`echo $files | tr "\n" " "`	

	doit "gzip -9 $files" || true
fi

# Fix up symlinks that were pointing to the uncompressed files.
for file in `find debian/tmp -type l`; do
	DIRECTORY=`expr $file : "\(.*\)/[^/]*"`
	NAME=`expr $file : ".*/\([^/]*\)"`
	LINKVAL=`ls -l $DIRECTORY/$NAME | awk '{ print $11;}'`
	if [ ! -e $DIRECTORY/$LINKVAL -a -f $DIRECTORY/$LINKVAL.gz ]; then
		doit "rm $DIRECTORY/$NAME"
		doit "ln -s $LINKVAL.gz $DIRECTORY/$NAME.gz"
	fi
done