<> = The problems of mixed suites = There can be problems mixing rapidly changing suites with stable suites in a single [[Multistrap]] configuration, especially if you want reproducible results. Unstable is constantly changing, frequently includes packages which are not installable and the dependency chain of unchanged packages can still be affected by transitions in other packages. Multistrap depends on apt for dependency resolution and if apt is not able to resolve the entire dependency chain, it will fail the entire chain, leaving multistrap with no option but to fail the bootstrap process. One method to avoid such problems is to insulate yourself from the changes in unstable, either by choosing to use testing instead of unstable or by taking a partial copy of the bits of unstable which you need as a partial mirror. [[DebPkg|reprepro]] is recommended. == reprepro setup == Choose your directory which will act as the top level of the repository. Whilst some of the directories created below this point may be publicly visible, not all of the directories should be exported. It is usually best to create another directory for the public information and symlink the {{{dists}}}, {{{pool}}} and, if used, {{{logs}}} directories to that public location. The {{{http://}}} address of that public location can then be passed to [[DebPkg|apt]] and [[DebPkg|multistrap]]. If you want to use {{{file:///}}}, use {{{copy:///}}} instead. == reprepro configuration == {{{ # conf/distributions Origin: Debian Label: mypartialMirror Suite: unstable Codename: sid Version: 1.1 Architectures: i386 amd64 armel powerpc mips mipsel sh4 source Components: main dev doc debug java UDebComponents: main Description: Selected packages from unstable Log: sid-log }}} === Configuration Changes === Select the architectures you want to host, remove those which you don't need. If you are bringing packages in from Emdebian, retain the relevant components; change the components to match Debian (main, contrib, non-free) if you want to pull in packages from Debian. == Generating the repository == {{{ $ reprepro export $ reprepro createsymlinks }}} Until you put any packages into the repository, {{{pool}}} will not exist. == Adding packages == {{{ $ reprepro includedsc sid /path/to/source_version.dsc $ reprepro includedeb sid /path/to/binary_version.deb }}} Only include the binaries that you need - there is no need to include every binary package built by the source package. To make life easier for future updates, always include the relevant source package too - reprepro uses the source package to track changes in the binary packages. == Updating packages == Having a partial mirror puts the updating of the packages under your explicit control but there will still be times when you do want the packages updated. By only including the selected packages which you need, these specific binary and source packages can be updated automatically. {{{ # conf/updates Name: updaterule Method: http://ftp.uk.debian.org/debian Suite: unstable Architectures: i386 amd64 arm armel powerpc mips mipsel source Components: main FilterList: deinstall pkglist VerifyRelease: AED4B06F473041FA }}} Add the name of this rule to the distribution stanza in {{{conf/distributions}}}. {{{ Update: updaterule }}} See the reprepro manpage for more information.