== Use ==

Add following line to /etc/apt/sources.list:
 deb http://markus-raab.org/ftp/wheezy wheezy main

or

 deb ftp://markus-raab.org/wheezy wheezy main

== Extend ==

put something like that in your .zshrc:
 hash -d reprepro=~/Projekte/Packages/reprepro
 alias reprepro="reprepro -b ~reprepro"

The alias basically make -b ~reprepro given everywhere below
unnecessary.

then continue:
 mkdir -p ~reprepro/conf
 vi ~reprepro/conf/distributions

--- snip ---
Codename: wheezy
Version: 7.0
Architectures: i386 amd64 raspberry source
Components: main bad
Description: My Debian wheezy Repository
--- end ---

or (as could be used for private repository):

--- snip ---
Codename: markus
Components: main bad
Architectures: i386 amd64 source
Description: Inofficial markus-raab.org Repository :-)
--- end ---

Then you have to create symlinks:
 reprepro -b ~reprepro createsymlinks


To add something build from source (e.g. boost - see below how to build it):

 reprepro --ignore=wrongdistribution -b ~reprepro include wheezy redshift-plasmoid_0.5.2-1_amd64.changes

or for a private repository:

 reprepro --ignore=wrongdistribution -b ~reprepro include markus boost1.48_1.48.0-1_i386.changes


To add a existing deb (will miss the source!, should not used for public repository):

 reprepro -b ~reprepro includedeb markus wine_1.1.42~winehq1-1_i386.deb

To remove a package:

 reprepro -b ~reprepro remove markus wine


== Build ==

To build boost you have to:

 apt-get source libboost1.53-all-dev

To build the package you can do (within the source folder):

 dpkg-buildpackage -us -uc -sa

Or even simpler:
 apt-get -b source libboost1.53-all-dev


== Meta packages ==

To create a meta package you can use equivs.
Just create a pseudo control files with the needed sections and run equivs-build.
Examples are in /usr/share/doc/equivs/examples

To build the meta-package use:
 equivs-build control

to upload it use:
 reprepro -b ~reprepro includedeb markus markus-deps_9.0_all.deb


== Debian Changelog ==

Do not forget to always increment the debian changelog for backports:
 dch
 debchange


== Example ==

As example I will describe how to publish Elektra:
(using the tarball, git-buildpackage if you checkout with git is not
 described here. See doc/todo/RELEASE)

First change CMakeLists to a new version, and then also increment the version for the debian package with:

 dch

commit+tag this version, e.g. with 0.8.0rc3

 git-commit -a
 git-tag 0.8.0rc3

To build the Debian package just type:

 dpkg-buildpackage -us -uc -sa

and upload with:

 reprepro --ignore=wrongdistribution -b ~reprepro include markus elektra_0.8.0rc3.changes

== References ==

http://git.debian.org/?p=mirrorer/reprepro.git;a=blob_plain;hb=HEAD;f=docs/manual.html
http://anonscm.debian.org/gitweb/?p=mirrorer/reprepro.git;a=blob_plain;hb=HEAD;f=docs/short-howto (outdated)

Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif