.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "GRIP-OVERRIDEARCH 1" .TH GRIP-OVERRIDEARCH 1 "2011-03-27" "perl v5.12.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" grip\-overridearch.pl \- sanitise Arch: all packages that depend on Arch: any .SH "Synopsis" .IX Header "Synopsis" .Vb 2 \& grip\-overridearch.pl \-s|\-\-suite STRING \-b|\-\-base\-path PATH [\-\-grip\-name STRING] \& grip\-overridearch.pl \-?|\-h|\-\-help|\-\-version \& \& Commands: \& \-s|\-\-suite STRING: Name of the distribution to override [required] \& \-b|\-\-base\-path PATH: path to the top level repository directory [required] \& \& \-?|\-h|\-\-help|\-\-version: print this help message and exit \& \& Options: \& \-\-grip\-name STRING: alternative name for the grip repository .Ve .PP The script expects to find a suitably formatted architecture-override file in the repository configuration: .PP .Vb 1 \& $base_path/$grip_name/conf/override.architectures .Ve .SH "Description" .IX Header "Description" The list of packages and \*(L"broken\*(R" architectures needs to be identified the hard way until such time as a resolution is found for the problem outlined on debian-devel: http://lists.debian.org/debian\-devel/2009/01/msg00289.html .PP This script will use a file in the repository \fIconf/\fR directory which looks like an override file but is not handled by reprepro itself. Quoting dato: http://lists.debian.org/debian\-devel/2009/01/msg00312.html .PP .Vb 5 \& ... the only use for "Architecture: all [i386 amd64]" or \& "Install\-Architecture: i368 amd64" would be as a hint to dak (and other \& tools) that the package is known not to be installable anywhere else, \& and hence should not be put in other Packages.gz files. That\*(Aqs *all* \& that matters AIUI. .Ve .PP Until the tools can be adapted to use such syntax, this script removes the specified listings from the relevant Packages files by calling the relevant remove option for the tools, after the event. .PP So if \f(CW$package_name\fR represents the name of the binary package that is Architecture: all but which depends on a package that only exists on selected architectures, the format for the override file is: .PP .Vb 2 \& Package: $package_name \& Architecture: all [i386 amd64] .Ve .PP e.g. .PP .Vb 2 \& Package: debian\-edu\-profile\-udeb \& Architecture: all [i386 amd64] .Ve .PP This happens because \fIdebian-edu-profile-udeb\fR depends on dmidecode-udeb http://packages.debian.org/sid/dmidecode\-udeb which in turn is only available on x86 architectures: .PP .Vb 3 \& $ reprepro \-b /opt/reprepro/filter/ list unstable dmidecode\-udeb \& u|sid|main|i386: dmidecode\-udeb 2.9\-1 \& u|sid|main|amd64: dmidecode\-udeb 2.9\-1 .Ve .PP When edos-debcheck parses the Packages file, it finds that reprepro and other repository tools list debian-edu-profile-udeb in the Packages files for all supported architectures (like arm, armel, mips etc.) so it tries to satisfy the dependencies \- and fails because dmidecode is not available. The solution is to remove the listing for the Architecture: all package from all Packages files that do not contain the necessary dependencies \- identified by running edos-debcheck against the Packages files and adding packages to the override.arch file until edos-debcheck stops complaining. .PP This is not peculiar to this package or even just udebs, it is also a problem with packages like acpi-support-base. .SH "Removing all binaries" .IX Header "Removing all binaries" It is also possible to remove all binaries for a specific package (leaving only the source and other binaries built from that source package) by specifying an empty list of allowed architectures: .PP .Vb 2 \& Package: lsb \& Architectures: all [ ] .Ve .PP Note that the space is optional. This can be useful when the binary package with the same name as the source package has a lot of unwanted dependencies (\f(CW\*(C`lsb\*(C'\fR is a perfect example of this problem). .SH "Copyright and Licence" .IX Header "Copyright and Licence" .Vb 1 \& Copyright (C) 2007\-2009 Neil Williams \& \& This package is free software; you can redistribute it and/or modify \& it under the terms of the GNU General Public License as published by \& the Free Software Foundation; either version 3 of the License, or \& (at your option) any later version. \& \& This program is distributed in the hope that it will be useful, \& but WITHOUT ANY WARRANTY; without even the implied warranty of \& MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \& GNU General Public License for more details. \& \& You should have received a copy of the GNU General Public License \& along with this program. If not, see . .Ve