2 # The name is a deliberate echo of the "real" Debian dinstall; it moves
3 # packages into http://riva.ucam.org/~cjwatson/debian/, removes any old
4 # versions of those packages there, and re-runs dpkg-myscan {packages,sources}.
7 echo "Usage: $0 package-name version-number" >&2
13 UPSTREAM=`echo $VERSION | sed -e 's/-[^-]*$//'`
15 if [ "$VERSION" = "$UPSTREAM" ]; then
19 echo -n "Dinstalling package $PACKAGE, "
20 echo -n "version $VERSION, "
21 echo "upstream version $UPSTREAM"
22 [ "$NATIVE" ] && echo "Native Debian package"
26 DEB=$PWD/${PACKAGE}_${VERSION}_${BINARCH}.deb
27 if [ ! -f $DEB ]; then
29 ALLDEB=$PWD/${PACKAGE}_${VERSION}_${BINARCH}.deb
33 if [ "$NATIVE" ]; then
34 ORIG=$PWD/${PACKAGE}_${VERSION}.tar.gz
37 ORIG=$PWD/${PACKAGE}_${UPSTREAM}.orig.tar.gz
38 DIFF=$PWD/${PACKAGE}_${VERSION}.diff.gz
40 DSC=$PWD/${PACKAGE}_${VERSION}.dsc
41 CHANGES=$PWD/${PACKAGE}_${VERSION}_${ARCH}.changes
46 if [ ! -f $DEB -a ! -f $ALLDEB ]; then
47 echo $DEB 'not found' >&2
48 [ $BINARCH = all ] && echo $ALLDEB 'not found' >&2
52 if [ ! -f $ORIG ]; then echo $ORIG 'not found' >&2; ERROR=1; fi
53 if [ "$DIFF" -a ! -f "$DIFF" ]; then
54 echo $DIFF 'not found' >&2
57 if [ ! -f $DSC ]; then echo $DSC 'not found' >&2; ERROR=1; fi
58 if [ ! -f $CHANGES ]; then echo $CHANGES 'not found' >&2; ERROR=1; fi
59 [ "$ERROR" ] && exit 1
61 SECTION=`dpkg -f $DEB Section`
62 if [ "$SECTION" ]; then
63 echo "Section: $SECTION"
65 echo "Section not found." >&2
69 if echo $SECTION | egrep -q '^(contrib|non-free)/'; then
70 BINARYDIR=`echo $SECTION | sed -e "s|/|/binary-$BINARCH/|"`
71 SOURCEDIR=`echo $SECTION | sed -e "s|/|/source/|"`
72 elif echo $SECTION | egrep -q '^non-US/'; then
73 BINARYDIR=$SECTION/binary-$BINARCH
74 SOURCEDIR=$SECTION/source
76 BINARYDIR=main/binary-$BINARCH/$SECTION
77 SOURCEDIR=main/source/$SECTION
80 echo "Binaries in $BINARYDIR, sources in $SOURCEDIR"
82 cd "$HOME/public_html/debian"
85 if [ ! -d $BINARYDIR ]; then echo 'Binary dir not found.' >&2; ERROR=1; fi
86 if [ ! -d $SOURCEDIR ]; then echo 'Source dir not found.' >&2; ERROR=1; fi
87 [ "$ERROR" ] && exit 1
91 BINARIES=`echo $BINARYDIR/${PACKAGE}_*`
92 if [ "$BINARIES" ]; then
93 echo 'Binaries found in binary dir:'
94 echo $BINARIES | xargs -n1
95 read -n1 -esp 'Remove: (y/N) ' REMOVE
96 if [ "$REMOVE" = y ]; then
97 echo -n 'Removing ... '
98 echo $BINARIES | xargs rm
106 SOURCES=`echo $SOURCEDIR/${PACKAGE}_*`
107 if [ "$SOURCES" ]; then
108 echo 'Sources found in source dir:'
109 echo $SOURCES | xargs -n1
110 read -n1 -esp 'Remove: (y/N) ' REMOVE
111 if [ "$REMOVE" = y ]; then
112 echo -n 'Removing ... '
113 echo $SOURCES | xargs rm
121 echo "Moving $DEB to $BINARYDIR ..."
122 mv -f $DEB $BINARYDIR
123 echo "Copying $ORIG to $SOURCEDIR ..."
124 cp -f $ORIG $SOURCEDIR
126 echo "Copying $DIFF to $SOURCEDIR ..."
127 cp -f $DIFF $SOURCEDIR
129 echo "Moving $DSC to $SOURCEDIR ..."
130 mv -f $DSC $SOURCEDIR
131 echo "Moving $CHANGES to $SOURCEDIR ..."
132 mv -f $CHANGES $SOURCEDIR
144 echo -n 'Updating index.html ...'
145 if [ "$NATIVE" ]; then
147 -e 's/('$PACKAGE'_).*?(_|\.dsc)/${1}'$VERSION'$2/;' \
148 -e 's/('$PACKAGE'_).*?(\.tar\.gz)/${1}'$VERSION'$2/;' index.html
151 -e 's/('$PACKAGE'_).*?(_|\.diff\.gz|\.dsc)/${1}'$VERSION'$2/;' \
152 -e 's/('$PACKAGE'_).*?(\.orig\.tar\.gz)/${1}'$UPSTREAM'$2/;' index.html
156 echo "Dinstallation of $PACKAGE-$VERSION complete."