make deb files and put them in some directory (rep_dir)
go to this directory (cd rep_dir)
generate Packages, Sources and Release files (must have dpkg-dev installed)
dpkg-scanpackages . > Packages
dpkg-scansources . > Sources
gzip -c Packages > Packages.gz
gzip -c Sources > Sources.gz
echo “Archive: stable
Component: main
Origin: Economedia
Label: Economedia Debian repository
Architecture: i386
Description: Economedia debian repository
MD5Sum:
” > Release
Generate md5sums and put them in Release file. Here is a lame example for this:
ls Packages* Sources* Release | while read ln
do
md=`md5sum $ln |awk {‘ print $1 ‘}`
sz=`du -sb $ln`
echo ” $md $sz” >> Release.tmp
done
cat Release.tmp >> Release
rm -f Release.tmp
ls Packages* Sources* Release | while read ln
do
md=`md5sum $ln |awk {‘ print $1 ‘}`
sz=`du -sb $ln`
echo ” $md $sz” >> Release.tmp
done
echo “Archive: stable
Component: main
Origin: Economedia
Label: Economedia Debian repository
Architecture: i386
Description: Economedia debian repository
MD5Sum:
`cat Release.tmp`” > Release
put in sources.list the line for the repository
(
something like:
deb http://your.domain/path/if/you/have/ ./
)
This is all you need for repository not signed with pgp key.
If you want to generate pgp key and sign the Release file do this:
gpg –gen-key # generate key
you can see the new key number – something like this “pub 1024D/3FD806D7″ – the number is 3FD806D7
gpg –export 3FD806D7 > gpg.key #you put the file in your repository dir
wget -q -O - http://your.domain/path/if/you/have/gpg.key | sudo apt-key add – # to put the key in the client
gpg –sign -bao Release.gpg Release # to sign your release file
that’s all .
