forked from luisgg/repo-tools
-
Notifications
You must be signed in to change notification settings - Fork 1
aurex-linux/repo-tools
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
custom repository howto (The aurex way) ======================================= packages: reprepro inoticoming gnupg apache2 gpg keys ======== We need to generate signing key as root, so, the recommended way is: sudo su - gpg --gen-key -> option (2) DSA y Elgamal -> size: 1024 -> option 0 = (no caducity) -> Name: aurex linux repository -> email: aurex.linux@gmail.com -> Comment: <empty> -> pass phrase: <empty> execute: gpg --list-keys an then look for a line similar to: ... pub 1024D/3D3CBB05 2011-09-02 (the part after 1024D/ is the required reprepro configuration key) The public key should be exported (and published) in an ASCII armored file. To export the key, run: gpg --export --armor 3D3CBB05 > repo-key.asc reprepro ======== create repo dirs, in our example: mkdir -p /srv/repo/aurex/conf /srv/repo/aurex/incoming /srv/repo/aurex/incomingtmp To easy allow local uploads, a quick an dirty trick is to create a system group ('uploaders') and change ownership and permissions in the incoming dir. In our example: addgroup --system uploaders chgrp uploaders /srv/repo/aurex/incoming chmod 775 /srv/repo/aurex/incoming Generate the reprepro configuration files: (see conf directory in git ...) conf/distributions ------------------ Origin: AureX Label: AureX Suite: lucid Codename: lucid Architectures: i386 amd64 source Components: main partner Description: AureX stable repository for Ubuntu 10.04 lucid Version: 10.04 SignWith: 3D3CBB05 Pull: tau2lucid Update: - ppa_firefox_stable-lucid-i386 ppa_firefox_stable-lucid-amd64 ppa_libvirt-lucid-i386 ppa_libvirt-lucid-amd64 Origin: AureX Label: AureX Suite: tau Codename: tau Architectures: i386 amd64 source Components: main Description: Testing AureX (tau) repository. Use at your own risk Version: 10.04 SignWith: 3D3CBB05 conf/incoming ------------- Name: incoming IncomingDir: incoming Cleanup: on_deny on_error Tempdir: incomingtmp Default: tau Allow: tau lucid>tau unstable>tau UNRELEASED>tau conf/pulls ---------- Name: tau2lucid From: tau Components: main Architectures: i386 amd64 source FilterList: install tau2lucid.list We need to write an update rule for every "url-suite-arch" combination, because we generate 'per arch' lists. In our example, we are going to update from two different ppa's, so we edit conf/updates in the form: conf/updates ------------ Name: ppa_firefox_stable-lucid-i386 Method: http://ppa.launchpad.net/mozillateam/firefox-stable/ubuntu Suite: lucid Components: main>partner Architectures: i386 source FilterList: purge ppa_firefox_stable-lucid-i386.list Name: ppa_firefox_stable-lucid-amd64 Method: http://ppa.launchpad.net/mozillateam/firefox-stable/ubuntu Suite: lucid Components: main>partner Architectures: amd64 source FilterList: purge ppa_firefox_stable-lucid-amd64.list Name: ppa_libvirt-lucid-i386 Method: http://ppa.launchpad.net/nutznboltz/kvm-libvirt-lts/ubuntu Suite: lucid Components: main>partner Architectures: i386 source FilterList: purge ppa_libvirt-lucid-i386.list Name: ppa_libvirt-lucid-amd64 Method: http://ppa.launchpad.net/nutznboltz/kvm-libvirt-lts/ubuntu Suite: lucid Components: main>partner Architectures: amd64 source FilterList: purge ppa_libvirt-lucid-amd64.list update ====== reprepro -VV --noskipold --export=force update cowbuilder ========== create chroots: sudo cowbuilder --create --distribution precise --components "main universe" --basepath /var/cache/pbuilder/precise-amd64.cow sudo cowbuilder --create --distribution precise --components "main universe" --architecture i386 --basepath /var/cache/pbuilder/precise-i386.cow update: sudo cowbuilder --update --basepath /var/cache/pbuilder/precise-i386.cow sudo cowbuilder --update --basepath /var/cache/pbuilder/precise-amd64.cow compile: sudo DIST=lucid ARCH=i386 cowbuilder --debbuildopts "-b" --build ../hello_2.4-3.dsc --basepath /var/cache/pbuilder/lucid-i386.cow NOTE: --debbuildopts: "-b" binary only "-S" source only (uses 'source' as arch, so geerates generates: $p_$v_source.changes file) results in: /var/cache/pbuilder/result/ NOTE: As a workaround for some problems with 'BINDMOUNTS' variable and nfs mounted dirs, the sources list in chroot uses now http://, so apache must be installed in the build machine and configurede to access repo in http://localhost/aurex /etc/pbuilderrc --------------- # this is your configuration file for pbuilder. # the file in /usr/share/pbuilder/pbuilderrc is the default template. # /etc/pbuilderrc is the one meant for overwriting defaults in # the default template # # read pbuilderrc.5 document for notes on specific options. MIRRORSITE=ftp://mirror.ovh.net/mirrors/ftp.ubuntu.com/ubuntu/ git-buildpackage ================ Enable use of pristine-tar and set ../build-area as export dir in /etc/git-buildpackage/gbp.conf ------------------------------ ... [DEFAULT] ... # use pristine-tar: pristine-tar = True ... [git-buildpackage] ... export-dir = ../build-area/ ... UNUSED ... rebuildd ======== configuration: /etc/rebuildd/rebuilddrc ------------------------ [mail] mailto = aurex.linux@gmail.com from = rebuildd@localhost subject_prefix = [rebuildd] [http] logfile = /var/log/rebuildd/httpd.log log_lines_nb = 30 ip = 0.0.0.0 cache = 1 templates_dir = /usr/share/rebuildd/templates port = 9998 [build] max_jobs = 10 max_threads = 2 check_every = 300 more_archs = any kill_timeout = 90 # TODO: redefine source_cmd source_cmd = apt-get -q --download-only -t ${d} source ${p}=${v} work_dir = /var/cache/rebuildd/build #post_build_cmd = /usr/local/bin/buildd-update ${d} ${a} dists = lucid build_cmd = pbuilder build --buildresult /var/cache/pbuilder/result/${d}/ --basetgz /var/cache/pbuilder/${d}-${a}.tgz ${p}_${v}.dsc database_uri = sqlite:///var/lib/rebuildd/rebuildd.db build_more_recent = 1 [telnet] ip = 127.0.0.1 prompt = rebuildd@localhost-> motd = Connected on rebuildd on localhost port = 9999 [log] time_format = %d-%m-%Y %H:%M:%S logs_dir = /var/log/rebuildd/build_logs mail_failed = 1 mail_successful = 0 file = /var/log/rebuildd/rebuildd.log configuration: /etc/pbuilderrc --------------- if [ -f debian/changelog ]; then [ -z "$ARCH" ] && ARCH=$(dpkg --print-architecture) [ -z "$DIST" ] && DIST=$(dpkg-parsechangelog | sed -n 's/^Distribution: //p') fi PDEBUILD_PBUILDER="cowbuilder --build --basepath /var/cache/pbuilder/base-${DIST}_${ARCH}.cow" DEBBUILDOPTS="-d ${OPTS}" ARCHITECTURE=${ARCH} BUILDRESULT=~/build-area MIRRORSITE=http://es.archive.ubuntu.com/ubuntu/ EXTRAPACKAGES="$EXTRAPACKAGES lintian" AUTO_DEBSIGN=yes HOOKDIR=${HOME}/.pbuilder/hooks/ PKGNAME_LOGFILE_EXTENTION="_${ARCH}.build" begin a new distribution ================ add new distribution to store old tau to distributions, ie: Origin: aurex Label: aurex Suite: tau-precise Codename: tau-precise Architectures: i386 amd64 source Components: main contrib UDebComponents: main contrib Description: Old testing aurex (tau) repository. Use at your own risk Version: 12.04 SignWith: C2A2C214 Update: - tau2tauprecise add 'tau2tauprecise' to updates file: Name: tau2tauprecise Method: file:///srv/repo/aurex/ Suite: tau Components: main Architectures: amd64 i386 source and run: reprepro -VV --noskipold --export=force update tau-precise when reprepro finishes , remove 'Update: - tau2tauprecise' from distributions file and remove tau from distributions and run reprepro -VV --delete clearvanished in this way all references to packages in tau will be removed the last step is to fill distributions file with 'new tau', trusty, trusty-updates etc delete complete dists/tau directory and run reprepro update tau reprepro update trusty ....
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Shell 100.0%