sudo mkdir -p /srv/repo/private/{debian,ubuntu}/conf
<VirtualHost *:80> ServerName cname.mydomain.com ServerAdmin webmaster@localhost DocumentRoot /srv/repo/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> Alias "/rug/" "/srv/repo/private/" <Directory "/srv/repo/rug/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 # localhost <snip> </Directory> </VirtualHost>
sudo /etc/init.d/apache2 reload
Put this in conf/distributions
:
Label: Karmic Koala Codename: karmic Suite: oldstable Components: main mirrored Architectures: i386 amd64 source Origin: LWP-karmic Version: 9.10 Description: LWP private repository Contents: SignWith: yes Label: Karmic Koala Experimental Packages Codename: karmic-experimental Suite: oldstable-experimental Components: main mirrored Architectures: i386 amd64 source Origin: LWP-karmic-experimental Version: 9.10 Description: LWP private repository Contents: SignWith: yes Label: Lucid Lynx Codename: lucid Suite: stable Components: main mirrored Architectures: i386 amd64 source Origin: LWP-lucid Version: 10.04 Description: LWP private repository Contents: Update: opera # google tilburg colorado medibuntu SignWith: yes Label: Lucid Lynx Experimental Packages Codename: lucid-experimental Suite: stable-experimental Components: main mirrored Architectures: i386 amd64 source Origin: LWP-lucid Version: 10.04 Description: LWP private repository Contents: #Update: SignWith: yes
... and do:
user@server:~$ cd /srv/repo/private/ubuntu
user@server:~$ sudo reprepro export
user@server:~$ find -type f
./conf/updates
./conf/distributions~
./conf/distributions
./dists/lucid-experimental/Contents-i386.gz
./dists/lucid-experimental/Release.gpg
./dists/lucid-experimental/Contents-amd64.gz
./dists/lucid-experimental/mirrored/source/Release
./dists/lucid-experimental/mirrored/source/Sources.gz
./dists/lucid-experimental/mirrored/binary-i386/Packages.gz
./dists/lucid-experimental/mirrored/binary-i386/Release
./dists/lucid-experimental/mirrored/binary-i386/Packages
./dists/lucid-experimental/mirrored/binary-amd64/Packages.gz
./dists/lucid-experimental/mirrored/binary-amd64/Release
./dists/lucid-experimental/mirrored/binary-amd64/Packages
./dists/lucid-experimental/main/source/Release
./dists/lucid-experimental/main/source/Sources.gz
./dists/lucid-experimental/main/binary-i386/Packages.gz
./dists/lucid-experimental/main/binary-i386/Release
./dists/lucid-experimental/main/binary-i386/Packages
./dists/lucid-experimental/main/binary-amd64/Packages.gz
./dists/lucid-experimental/main/binary-amd64/Release
./dists/lucid-experimental/main/binary-amd64/Packages
./dists/lucid-experimental/Release
./dists/karmic/Contents-i386.gz
./dists/karmic/Release.gpg
./dists/karmic/Contents-amd64.gz
./dists/karmic/mirrored/source/Release
./dists/karmic/mirrored/source/Sources.gz
./dists/karmic/mirrored/binary-i386/Packages.gz
./dists/karmic/mirrored/binary-i386/Release
./dists/karmic/mirrored/binary-i386/Packages
./dists/karmic/mirrored/binary-amd64/Packages.gz
./dists/karmic/mirrored/binary-amd64/Release
./dists/karmic/mirrored/binary-amd64/Packages
./dists/karmic/main/source/Release
./dists/karmic/main/source/Sources.gz
./dists/karmic/main/binary-i386/Packages.gz
./dists/karmic/main/binary-i386/Release
./dists/karmic/main/binary-i386/Packages
./dists/karmic/main/binary-amd64/Packages.gz
./dists/karmic/main/binary-amd64/Release
./dists/karmic/main/binary-amd64/Packages
./dists/karmic/Release
./dists/karmic-experimental/Contents-i386.gz
./dists/karmic-experimental/Release.gpg
./dists/karmic-experimental/Contents-amd64.gz
./dists/karmic-experimental/mirrored/source/Release
./dists/karmic-experimental/mirrored/source/Sources.gz
./dists/karmic-experimental/mirrored/binary-i386/Packages.gz
./dists/karmic-experimental/mirrored/binary-i386/Release
./dists/karmic-experimental/mirrored/binary-i386/Packages
./dists/karmic-experimental/mirrored/binary-amd64/Packages.gz
./dists/karmic-experimental/mirrored/binary-amd64/Release
./dists/karmic-experimental/mirrored/binary-amd64/Packages
<snip>
Put this in conf/updates
:
Name: opera Method: http://deb.opera.com/opera #Fallback: ftp://klecker.debian.org/debian-security Suite: stable #VerifyRelease: A99951DAF9BB569BDB50AD90A70DAF536070D3A1|7EA391D72477203B58C04FBCB5D0C804ADB11277 Architectures: amd64 i386 Components: non-free>mirrored #UDebComponents: none
... then do:
user@server:~$ sudo reprepro update
Calculating packages to get...
nothing new for 'lucid|mirrored|source' (use --noskipold to process anyway)
nothing new for 'lucid|main|source' (use --noskipold to process anyway)
nothing new for 'lucid|main|amd64' (use --noskipold to process anyway)
nothing new for 'lucid|main|i386' (use --noskipold to process anyway)
Getting packages...
Installing (and possibly deleting) packages...
Exporting indices...
user@server:~$ find -type f|grep pool
./pool/mirrored/o/opera/opera_10.10.4742.gcc4.qt3_i386.deb
./pool/mirrored/o/opera/opera_10.10.4742.gcc4.qt3_amd64.deb
Create conf/incoming
like this:
Name: lucid-upload IncomingDir: /srv/upload/repo/lucid/lwp-experimental TempDir: /var/tmp/repo/lucid/lwp-experimental Allow: experimental>lucid-experimental stable>lucid Default: lucid-experimental Multiple: Yes Permit: older_version unused_files Cleanup: on_deny on_error unused_files
Then create the needed directories:
user@server:~$ egrep '^TempDir|^IncomingDir' conf/incoming|awk '{print $2}'|xargs sudo mkdir -p
user@server:~$ sudo groupadd packagers
user@server:~$ sudo addgroup user packagers
Adding user `user' to group `packagers' ...
Adding user user to group packagers
Done.
user@server:~$ sudo chgrp -R packagers /srv/upload
user@server:~$ sudo chmod -R g+wrx /srv/upload
user@server:~$ sudo reprepro -b /srv/repo/rug/ubuntu --waitforlock 100 processincoming lucid-upload
user@server:~$ sudo inoticoming --logfile /srv/repo/rug/ubuntu/logs/lucid-upload.log /srv/upload/repo/lucid/lwp-experimental/ --stderr-to-log --stdout-to-log --suffix '.changes' --chdir /srv/repo/rug/ubuntu reprepro -b /srv/repo/rug/ubuntu --waitforlock 100 processincoming lucid-upload {} \;
![]() | Note |
---|---|
use |
/etc/cron.d/inoticoming
:
MAILTO=j.bokma@rug.nl @reboot root /usr/bin/inoticoming --logfile /srv/repo/rug/ubuntu/logs/lucid-upload.log /srv/upload/repo/lucid/lwp-experimental/ --stderr-to-log --stdout-to-log --suffix '.changes' --chdir /srv/repo/rug/ubuntu reprepro -b /srv/repo/rug/ubuntu --waitforlock 100 processincoming lucid-upload {} \;
jurjen@server:~$ sudo reprepro -b /srv/repo/rug/ubuntu remove lucid atfirstboot
Exporting indices...
Not removed as not found: atfirstboot
jurjen@server:~$ sudo reprepro -b /srv/repo/rug/ubuntu remove lucid-experimental atfirstboot
Exporting indices...
Deleting files no longer referenced...
jurjen@server:~$ find /srv/repo/rug/ubuntu/ -iname atfirst\*
jurjen@server:~$