37 lines
1 KiB
Python
37 lines
1 KiB
Python
|
#!/usr/bin/python
|
||
|
|
||
|
'''This script can be created on a Linux machine for creating a local Debian
|
||
|
(binary) repository.'''
|
||
|
|
||
|
import os, os.path
|
||
|
|
||
|
# Packages apache2 and dpkg-dev must be installed on the machine for enabling
|
||
|
# the Debian repository.
|
||
|
repoFolder = '/var/www/debianrepo'
|
||
|
|
||
|
# Create the repo folder if it does not exist
|
||
|
binaryFolder = os.path.join(repoFolder, 'binary')
|
||
|
if not os.path.exists(binaryFolder):
|
||
|
os.makedirs(binaryFolder)
|
||
|
|
||
|
# Create the script that will allow to recompute indexes when packages are
|
||
|
# added or updated into the repository.
|
||
|
refreshScript = '''#!/bin/bash
|
||
|
cd %s
|
||
|
echo "(Re-)building indexes for binary packages..."
|
||
|
dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
|
||
|
echo "Done."
|
||
|
''' % repoFolder
|
||
|
|
||
|
curdir = os.getcwd()
|
||
|
os.chdir(repoFolder)
|
||
|
scriptName = os.path.join(repoFolder, 'refresh.sh')
|
||
|
if not os.path.exists(scriptName):
|
||
|
f = file(scriptName, 'w')
|
||
|
f.write(refreshScript)
|
||
|
f.close()
|
||
|
os.system('chmod -R 755 %s' % repoFolder)
|
||
|
os.chdir(curdir)
|
||
|
print 'Repository created.'
|
||
|
|