From ab393c79eb0b336378ac81d51f3c1ee3c377f481 Mon Sep 17 00:00:00 2001 From: cvsextras Date: Nov 08 2004 04:04:37 +0000 Subject: auto-import changelog data from apt-0.5.15cnc6-0.fdr.11.1.src.rpm Fri Apr 09 2004 Panu Matilainen 0.5.15cnc6-0.fdr.11 - revert the ctrl-c workaroound, the "cure" is worse than the disease Thu Apr 08 2004 Panu Matilainen 0.5.15cnc6-0.fdr.10 - take readonly rpmdb lock initially, not exclusive Thu Apr 08 2004 Panu Matilainen 0.5.15cnc6-0.fdr.9 - patch from upstream to plug segfault if ctrl-c'ing while downloading - apt isn't multilib-safe, exclude arch x86_64 (bug #1464) Tue Apr 06 2004 Panu Matilainen 0.5.15cnc6-0.fdr.8 - fix build-dep issue reported in #1429 Mon Apr 05 2004 Panu Matilainen 0.5.15cnc6-0.fdr.7 - don't run gpg-import at all as a normal user Mon Apr 05 2004 Panu Matilainen 0.5.15cnc6-0.fdr.6 - don't fail in gpg-checker if directory / files don't exist - don't spit out spurious error messages if importing fails (#1398) - allow turning off the gpg-import via true/false configuration item - explicitly list GPG-Check and GPG-Import config options in default.conf - generate mirror-select.conf based on FC release automatically - buildrequires fedora-release for version detection - rename Upgrade-Kernel -> Upgrade-Virtual in sample apt.conf Sat Apr 03 2004 Warren Togami 0.5.15cnc6-0.fdr.5 - Ville's docbook building fix Tue Mar 30 2004 Panu Matilainen 0.5.15cnc6-0.fdr.4 - add upgrade-virtual=true back to default.conf - updated version of upgradevirt.lua, fixed kernel-module package handling Mon Mar 29 2004 Panu Matilainen 0.5.15cnc6-0.fdr.3 - remember to include upgradevirt.lua.. Mon Mar 29 2004 Panu Matilainen 0.5.15cnc6-0.fdr.2 - allow-duplicated lua script was getting incorrectly copied to scripts/ - fix some permissions of source files to make rpmlint happy - don't copy source53 twice - in gpg-import check that the file is called gpg-pubkey* and ignore others Sun Mar 28 2004 Panu Matilainen 0.5.15cnc6-0.fdr.1 - move back to upgradevirt.lua, allow-duplicated from contrib doesn't like RH kernel packages - remember to set kernel::module-prefix in default.conf - add upgradevirt.lua to all the necessary new slot - move kernel from Essential priority to Important in rpmpriorities, allow- duplicated packages don't behave well with Essential priority Mon Mar 22 2004 Panu Matilainen 0.5.15cnc6-0.fdr.1 - update to 0.5.15cnc6 - fix the source url Sat Mar 20 2004 Panu Matilainen 0.5.15cnc6-0.fdr.0.r309.1 - update to revision r309 snapshot - remove patches merged upstream - drop upgradevirt.lua, use allow-duplicated from contrib instead - updated gpg-checker scripts (fix #1398) - updated mirror-select scripts Sun Feb 29 2004 Panu Matilainen 0.5.15cnc5-0.fdr.10 - re-add promoteepoch patch, it got accidentally left out of the upstream-patch Wed Feb 25 2004 Panu Matilainen 0.5.15cnc5-0.fdr.9 - Change the comments mirror-select writes as requested in #1180 Fri Feb 13 2004 Panu Matilainen 0.5.15cnc5-0.fdr.8 - Pull patch for revs 266-274 from upstream, containing various important fixes (epoch handling, build system related etc) Mon Feb 09 2004 Panu Matilainen 0.5.15cnc5-0.fdr.7 - Fix build on FC2-test1 (conditional libselinux-devel buildreq) Mon Feb 09 2004 Panu Matilainen 0.5.15cnc5-0.fdr.6 - automatically handle fedora.us style kernel-module packages with kernel updates - don't run mirror-selector if quiet mode set (== non-interactive) - don't trash sources.list on upgrade, only if user chooses to do so Wed Feb 04 2004 Panu Matilainen 0.5.15cnc5-0.fdr.5 - don't break sources.list on upgrade from %post Wed Jan 28 2004 Panu Matilainen 0.5.15cnc5-0.fdr.4 - updated mirror-selector: write to /etc/apt/sources.list.d/mirror-select.list, not main sources.list some cosmetic improvements - move main sources.list out of the way on first upgrade to force user to choose a mirror Tue Jan 27 2004 Panu Matilainen - Always initialize rpm transaction rootdir (hope to fix #1238) Mon Jan 19 2004 Panu Matilainen 0.5.15cnc5-0.fdr.3 - make rpm manifest usage configurable per Enricos request (patch 4) - use mirror lists on fedora.us - include Fedora Legacy gpg key Tue Jan 06 2004 Panu Matilainen 0.5.15cnc5-0.fdr.2 - make newly installed kernel default by default - clean up old cruft (sources.list editing etc) - stricter python dependency for apt-python - set all files in contrib non-executable, not just *.py - fix couple of buglets in mirror-select.lua Sat Dec 27 2003 Panu Matilainen 0.5.15cnc5-0.fdr.1 - don't fail from mirror-select if /proc isn't mounted Sat Dec 27 2003 Panu Matilainen - don't create unneeded duplicate provides for virtualized packages (patch 3) Fri Dec 26 2003 Panu Matilainen - add missing dependency on wget for mirror-selector Wed Dec 24 2003 Panu Matilainen - update to 0.5.15cnc5 - drop patches merged upstream Tue Dec 23 2003 Panu Matilainen - remove extranuous mirror-select configs from default.conf - updated mirror-select script Fri Dec 12 2003 Panu Matilainen 0.5.15cnc4-0.fdr.4 - replace kernel-upgrade.lua with a more generic script which automatically upgrades all virtualized (usually allow-duplicated) packages Wed Dec 10 2003 Panu Matilainen 0.5.15cnc4-0.fdr.3 - add missing gettext build dependency Mon Dec 08 2003 Panu Matilainen 0.5.15cnc4-0.fdr.2 - updated mirror-selector: download mirrorlist off the net support several mirror lists separate steps for choosing repositories and mirrors - revert gensrclist change breaking older apts Wed Dec 03 2003 Panu Matilainen 0.5.15cnc4-0.fdr.1 - update to 0.5.15cnc4 - drop obsolete "oldpkg" patch - drop patches merged upstream - remove default-release setting, causes unnecessary confusion among users - remove reduntant stuff from fedora.conf, rename to default.conf - no default repositories included - add old RHL GPG key back, a few FC packages appear to be signed by it still Tue Dec 02 2003 Panu Matilainen 0.5.15cnc3-0.fdr.5 - fix default config wrt Lua scripts (various slot-names changed in cnc3) - better handling of default config in lua-scripts - turn kernel upgrading on by default in fedora.conf Mon Dec 01 2003 Panu Matilainen 0.5.15cnc3-0.fdr.4 - don't drag in dependency on external lua Mon Dec 01 2003 Panu Matilainen 0.5.15cnc3-0.fdr.3 - much improved mirror-selector script - add various important upstream fixes (patches 6-8) - add kernel*unsupported-modules to fedora.conf for 2.6 kernels Tue Nov 25 2003 Panu Matilainen 0.5.15cnc3-0.fdr.2 - trim rpmpriorities a bit - add a "first-time druid" script to prompt user for nearest mirror - no default fedora sources.list entry at all - use sluglug.ucsc.edu mirror for macromedia instead of mplug.org Mon Nov 24 2003 Panu Matilainen 0.5.15cnc3-0.fdr.1 - update to official 0.5.15cnc3 - move old apt.conf out of the way on upgrade to new-style config - saner error messages in gpg-checker.lua Mon Nov 24 2003 Panu Matilainen 0.5.15cnc2-0.fdr.2.r224.1 - oops, some local cruft got included in previous version Mon Nov 24 2003 Panu Matilainen 0.5.15cnc2-0.fdr.2.r224 - update to revision 224 Sat Nov 22 2003 Panu Matilainen 0.5.15cnc2-0.fdr.2.r213 - update to revision 213 Fri Nov 21 2003 Panu Matilainen 0.5.15cnc2-0.fdr.2.r210 - snapshot of revision 210 from svn repo - default to internal package manager (== rpmlib) - remove old rpmlib-patch related logic from spec - move default configs to sources.list.d, apt.conf.d and vendors.list.d, leaving the apt.conf and sources.list for user localizations Wed Nov 12 2003 Panu Matilainen 0.5.15cnc2-0.fdr.1 - update rpmlib patch to -7 which has more sensible error reporting Wed Nov 12 2003 Panu Matilainen - update to 0.5.15cnc2 - remove patches 6-9, they're merged upstream now - use fedora-style buildroot - drop the ugly apt.conf tweaking from post, wont fix everything anyway if upgrading from old RHL's. - add URL to spec (wake up QA, been missing all this time and nobody noticed :) - remove rpm version checking, not needed anymore Tue Nov 11 2003 Panu Matilainen - drop the build-dep patches altogether, they're .. umm, borked Tue Nov 11 2003 Panu Matilainen 0.5.15cnc1-0.fdr.3 - stricter python dependency on -python - remove out-of-date mirror list from sources.list, add pointer to official mirror list URL - drop all rawhide and test keys - we don't want those automatically imported Mon Nov 10 2003 Panu Matilainen 0.5.15cnc1-0.fdr.2 - add patch 11 from Gustavo to fix package pinning Sat Nov 08 2003 Panu Matilainen 0.5.15cnc1-0.fdr.1 - update to 0.5.15cnc1 - back to 0.fdr.x releases... - redhat -> fedora fixes in rpmpriorities.1 Fri Nov 07 2003 Panu Matilainen 0.5.5cnc7-1 - update to cnc7 - drop patches 9 + 10 for now (re-evaluation needed) - Fedora-keys added, old RH keys removed Sun Nov 02 2003 Panu Matilainen - update rpmlib patch to allow compiling against rpm-4.2.1 - scrap old RHL version checking + deps - buildroot -> RPM_BUILD_ROOT - fix source lists for new repository layout Thu Oct 23 2003 Panu Matilainen 0.5.5cnc6-0.fdr.11 - add rpmpriorities for 0.95, drop 0.93 Thu Oct 16 2003 Panu Matilainen - update rpmlib patch to rev -5 (which actually works again :) Wed Oct 01 2003 Panu Matilainen 0.5.5cnc6-0.fdr.10 - include rpmpriorities for 0.94 - more fixes for #667 (handle builddeps on versioned provides) Tue Sep 30 2003 Panu Matilainen 0.5.5cnc6-0.fdr.9 - add patch 10 to support build dependencies on files (#682) - add new rawhide gpg key (#696) - add distrel mangling for Fedora Core --- diff --git a/.cvsignore b/.cvsignore index ec389a9..f8b374b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -apt-0.5.5cnc6.tar.bz2 +apt-0.5.15cnc6.tar.bz2 diff --git a/apt-0.5.15cnc5-manifest-limit.patch b/apt-0.5.15cnc5-manifest-limit.patch new file mode 100644 index 0000000..e8fedca --- /dev/null +++ b/apt-0.5.15cnc5-manifest-limit.patch @@ -0,0 +1,11 @@ +--- apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc.manifest 2004-01-19 13:45:17.000000000 +0200 ++++ apt-0.5.15cnc5/apt-pkg/rpm/rpmpm.cc 2004-01-19 13:45:37.000000000 +0200 +@@ -499,7 +499,7 @@ + bool FilesInArgs = true; + char *ArgsFileName = NULL; + #if RPM_VERSION >= 0x040000 +- if (op != Item::RPMErase && files.size() > 50) { ++ if (op != Item::RPMErase && files.size() > _config->FindI("RPM::Manifest-Limit", 50)) { + string FileName = _config->FindDir("Dir::Cache", "/tmp/") + + "filelist.XXXXXX"; + ArgsFileName = strdup(FileName.c_str()); diff --git a/apt-0.5.15cnc6-build-dep-fixdeps.patch b/apt-0.5.15cnc6-build-dep-fixdeps.patch new file mode 100644 index 0000000..9bf81dd --- /dev/null +++ b/apt-0.5.15cnc6-build-dep-fixdeps.patch @@ -0,0 +1,15 @@ +Index: cmdline/apt-get.cc +=================================================================== +--- cmdline/apt-get.cc (revision 316) ++++ cmdline/apt-get.cc (revision 317) +@@ -2643,7 +2643,9 @@ + bool DoBuildDep(CommandLine &CmdL) + { + CacheFile Cache; +- if (Cache.Open(true) == false) ++ // CNC:2004-04-06 ++ if (Cache.OpenForInstall() == false || ++ Cache.CheckDeps() == false) + return false; + + if (CmdL.FileSize() <= 1) diff --git a/apt-0.5.15cnc6-docbook.patch b/apt-0.5.15cnc6-docbook.patch new file mode 100644 index 0000000..d025f38 --- /dev/null +++ b/apt-0.5.15cnc6-docbook.patch @@ -0,0 +1,1429 @@ +Index: doc/apt-cache.8.sgml +=================================================================== +--- doc/apt-cache.8.sgml (revision 316) ++++ doc/apt-cache.8.sgml (working copy) +@@ -53,6 +53,7 @@ + cache. + + + Unless the + + + showpkg +@@ -83,7 +85,7 @@ + package in question. Thus, forward dependencies must be satisfied for a + package, but reverse dependencies need not be. + For instance, apt-cache showpkg libreadline2 would produce +- output similar to the following: ++ output similar to the following: + + + Package: libreadline2 +@@ -105,7 +107,7 @@ + libreadline2 is installed, libc5 and ncurses3.0 (and ldso) must also be + installed; libreadlineg2 and libreadline2-altdev do not have to be + installed. For the specific meaning of the remainder of the output it +- is best to consult the apt source code. ++ is best to consult the apt source code. + + + stats +@@ -116,14 +118,14 @@ + + ++ + + + ++ + + + ++ + + + ++ + + + ++ + + + ++ + + + ++ + + + ++ + ++ + + + showsrc +@@ -177,24 +180,28 @@ + + + + dump + + + + + dumpavail + + + + + unmet + + + + + show +@@ -202,6 +209,7 @@ + dpkg --print-availi; it displays the package records for the + named packages. ++ + + + search +@@ -213,20 +221,23 @@ + then output identical to ++ + Separate arguments can be used to specify multiple search patterns that + are and'ed together. ++ + + + depends + + + + + whatdepends + + + + + pkgnames +@@ -236,6 +247,7 @@ + for use in a shell tab complete function and the output is generated + extremely quickly. This command is best used with the + + + dotty +@@ -248,15 +260,15 @@ + trace out all dependent packages; this can produce a very large graph. + To limit the output to only the packages listed on the command line, + set the APT::Cache::GivenOnly option. +- +- ++ + The resulting nodes will have several shapes; normal packages are boxes, + pure provides are triangles, mixed provides are diamonds, + missing packages are hexagons. Orange boxes mean recursion was stopped + [leaf packages], blue lines are pre-depends, green lines are conflicts. +- +- ++ + Caution, dotty cannot graph larger sets of packages. ++ ++ + + policy + +@@ -264,8 +276,10 @@ + preferences file. With no arguments it will print out the + priorities of each source. Otherwise it prints out detailed information + about the priority selection of the named package. ++ + + ++ + + + Options</> +@@ -277,6 +291,7 @@ + Select the file to store the package cache. The package cache is the + primary cache used by all operations. + Configuration Item: <literal/Dir::Cache::pkgcache/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-s/</><term><option/--src-cache/</> +@@ -286,6 +301,7 @@ + information from remote sources. When building the package cache the + source cache is used to advoid reparsing all of the package files. + Configuration Item: <literal/Dir::Cache::srcpkgcache/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-q/</><term><option/--quiet/</> +@@ -294,6 +310,7 @@ + More q's will produce more quietness up to a maximum of 2. You can also use + <option/-q=#/ to set the quietness level, overriding the configuration file. + Configuration Item: <literal/quiet/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-i/</><term><option/--important/</> +@@ -301,12 +318,14 @@ + Print only important dependencies; for use with unmet. Causes only Depends and + Pre-Depends relations to be printed. + Configuration Item: <literal/APT::Cache::Important/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-f/</><term><option/--full/</> + <ListItem><Para> + Print full package records when searching. + Configuration Item: <literal/APT::Cache::ShowFull/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-a/</><term><option/--all-versions/</> +@@ -317,6 +336,7 @@ + will displayed (the one which would be selected for installation). + This option is only applicable to the <literal/show/ command. + Configuration Item: <literal/APT::Cache::AllVersions/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-g/</><term><option/--generate/</> +@@ -324,12 +344,14 @@ + Perform automatic package cache regeneration, rather than use the cache + as it is. This is the default; to turn it off, use <option/--no-generate/. + Configuration Item: <literal/APT::Cache::Generate/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--names-only/</><term><option/-n/</> + <ListItem><Para> + Only search on the package names, not the long descriptions. + Configuration Item: <literal/APT::Cache::NamesOnly/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--all-names/</> +@@ -337,6 +359,7 @@ + Make <literal/pkgnames/ print all names, including virtual packages + and missing dependencies. + Configuration Item: <literal/APT::Cache::AllNames/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--recurse/</> +@@ -344,6 +367,7 @@ + Make <literal/depends/ recursive so that all packages mentioned are + printed once. + Configuration Item: <literal/APT::Cache::RecurseDepends/. ++ </Para></ListItem> + </VarListEntry> + + &apt-commonoptions; +@@ -357,6 +381,7 @@ + <ListItem><Para> + Locations to fetch packages from. + Configuration Item: <literal/Dir::Etc::SourceList/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><filename>&statedir;/lists/</></term> +@@ -364,12 +389,14 @@ + Storage area for state information for each package resource specified in + &sources-list; + Configuration Item: <literal/Dir::State::Lists/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><filename>&statedir;/lists/partial/</></term> + <ListItem><Para> + Storage area for state information in transit. + Configuration Item: <literal/Dir::State::Lists/ (implicit partial). ++ </Para></ListItem> + </VarListEntry> + </variablelist> + </RefSect1> +@@ -377,11 +404,13 @@ + <RefSect1><Title>See Also</> + <para> + &apt-conf;, &sources-list;, &apt-get; ++ </para> + </RefSect1> + + <RefSect1><Title>Diagnostics</> + <para> + <command/apt-cache/ returns zero on normal operation, decimal 100 on error. ++ </para> + </RefSect1> + + &manbugs; +Index: doc/apt-cdrom.8.sgml +=================================================================== +--- doc/apt-cdrom.8.sgml (revision 316) ++++ doc/apt-cdrom.8.sgml (working copy) +@@ -41,12 +41,11 @@ + sources. <command/apt-cdrom/ takes care of determining the structure of + the disc as well as correcting for several possible mis-burns and + verifying the index files. +- <para> ++ </para><para> + It is necessary to use <command/apt-cdrom/ to add CDs to the APT system, + it cannot be done by hand. Furthermore each disk in a multi-cd set must be + inserted and scanned separately to account for possible mis-burns. +- +- <para> ++ </para><para> + Unless the <option/-h/, or <option/--help/ option is given one of the + commands below must be present. + +@@ -58,19 +57,21 @@ + scan it and copy the index files. If the disc does not have a proper + <filename>.disk/</> directory you will be prompted for a descriptive + title. +- +- <para> ++ </Para><Para> + APT uses a CDROM ID to track which disc is currently in the drive and + maintains a database of these IDs in + <filename>&statedir;/cdroms.list</> ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>ident</Term> + <ListItem><Para> + A debugging tool to report the identity of the current disc as well + as the stored file name ++ </Para></ListItem> + </VarListEntry> + </VariableList> ++ </para> + </RefSect1> + + <RefSect1><Title>Options</> +@@ -82,6 +83,7 @@ + Mount point; specify the location to mount the cdrom. This mount + point must be listed in <filename>/etc/fstab</> and properly configured. + Configuration Item: <literal/Acquire::cdrom::mount/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-r/</><term><option/--rename/</> +@@ -90,6 +92,7 @@ + given label. This option will cause <command/apt-cdrom/ to prompt for + a new label. + Configuration Item: <literal/APT::CDROM::Rename/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-m/</><term><option/--no-mount/</> +@@ -97,6 +100,7 @@ + No mounting; prevent <command/apt-cdrom/ from mounting and unmounting + the mount point. + Configuration Item: <literal/APT::CDROM::NoMount/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-f/</><term><option/--fast/</> +@@ -106,6 +110,7 @@ + <command/apt-cdrom/ has been run on this disc before and did not detect + any errors. + Configuration Item: <literal/APT::CDROM::Fast/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-a/</><term><option/--thorough/</> +@@ -113,6 +118,7 @@ + Thorough Package Scan; This option may be needed with some old + Debian 1.1/1.2 discs that have Package files in strange places. It + takes much longer to scan the CD but will pick them all up. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-n/</> +@@ -123,6 +129,7 @@ + No Changes; Do not change the &sources-list; file and do not + write index files. Everything is still checked however. + Configuration Item: <literal/APT::CDROM::NoAct/. ++ </Para></ListItem> + </VarListEntry> + + &apt-commonoptions; +@@ -133,11 +140,13 @@ + <RefSect1><Title>See Also</> + <para> + &apt-conf;, &apt-get;, &sources-list; ++ </para> + </RefSect1> + + <RefSect1><Title>Diagnostics</> + <para> + <command/apt-cdrom/ returns zero on normal operation, decimal 100 on error. ++ </para> + </RefSect1> + + &manbugs; +Index: doc/apt-config.8.sgml +=================================================================== +--- doc/apt-config.8.sgml (revision 316) ++++ doc/apt-config.8.sgml (working copy) +@@ -40,7 +40,7 @@ + the APT suite to provide consistent configurability. It accesses the main + configuration file <filename>/etc/apt/apt.conf</> in a manner that is + easy to use by scripted applications. +- <para> ++ </para><para> + Unless the <option/-h/, or <option/--help/ option is given one of the + commands below must be present. + </para> +@@ -64,16 +64,17 @@ + <para> + This will set the shell environment variable $OPTS to the value of + MyApp::Options with a default of <option/-f/. +- +- <para> ++ </para><para> + The configuration item may be postfixed with a /[fdbi]. f returns file + names, d returns directories, b returns true or false and i returns an + integer. Each of the returns is normalized and verified internally. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>dump</Term> + <ListItem><Para> + Just show the contents of the configuration space. ++ </Para></ListItem> + </VarListEntry> + + </VariableList> +@@ -92,11 +93,13 @@ + <RefSect1><Title>See Also</> + <para> + &apt-conf; ++ </para> + </RefSect1> + + <RefSect1><Title>Diagnostics</> + <para> + <command/apt-config/ returns zero on normal operation, decimal 100 on error. ++ </para> + </RefSect1> + + &manbugs; +Index: doc/vendors.list.5.sgml +=================================================================== +--- doc/vendors.list.5.sgml (revision 316) ++++ doc/vendors.list.5.sgml (working copy) +@@ -32,20 +32,20 @@ + vendor identification string (see below) enclosed in + square braces to the sources.list line for all sites that mirror + the repository provided by that vendor. +- <para> ++ </para><para> + The format of this file is similar to the one used by + apt.conf. It consists of an arbitrary number of blocks of + vendors, where each block starts with a string telling the + <replaceable/key_type/ and the <replaceable/vendor_id/. +- <para> ++ </para><para> + Some vendors may have multiple blocks that define different + security policies for their distributions. Debian for instance + uses a different signing methodology for stable and unstable releases. +- <para> ++ </para><para> + <replaceable/key_type/ is the type of the check required. + Currently, there is only one type available which is + <literal/simple-key/. +- <para> ++ </para><para> + <replaceable/vendor_id/ is the vendor identification string. It is an + arbitrary string you must supply to uniquely identifify a + vendor that's listed in this file. +@@ -58,7 +58,7 @@ + Name "Joe Shmoe <joe@shmoe.com>"; + } + </programlisting></informalexample> +- ++ </para> + </RefSect1> + + <RefSect1><Title>The simple-key type</> +@@ -75,6 +75,7 @@ + The <option/--fingerprint/ option for + <CiteRefEntry><RefEntryTitle><command/gpg/</RefEntryTitle><ManVolNum/1/</CiteRefEntry> + will show the fingerprint for the selected keys(s). ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Name</Term> +@@ -82,19 +83,23 @@ + A string containing a description of the owner of + the key or vendor. You may put the vendor name and it's + email. The string must be quoted with ". ++ </Para></ListItem> + </VarListEntry> + + </VariableList> ++ </para> + </RefSect1> + + <RefSect1><Title>Files</> + <para> + <filename>/etc/apt/vendors.list</> ++ </para> + </RefSect1> + + <RefSect1><Title>See Also</> + <para> + &sources-list; ++ </para> + </RefSect1> + + &manbugs; +Index: doc/sources.list.5.sgml +=================================================================== +--- doc/sources.list.5.sgml (revision 316) ++++ doc/sources.list.5.sgml (working copy) +@@ -53,7 +53,7 @@ + The format for a <filename/sources.list/ entry using the <literal/deb/ + and <literal/deb-src/ types are: + <literallayout>deb uri distribution [component1] [component2] [...]</literallayout> +- <para> ++ </para><para> + The URI for the <literal/deb/ type must specify the base of the Debian + distribution, from which APT will find the information it needs. + <literal/distribution/ can specify an exact path, in which case the +@@ -61,15 +61,14 @@ + slash (/). This is useful for when only a particular sub-section of the + archive denoted by the URI is of interest. If <literal/distribution/ does + not specify an exact path, at least one <literal/component/ must be present. +- </> +- <para> ++ </para><para> + <literal/distribution/ may also contain a variable, <literal/$(ARCH)/, + which expands to the Debian architecture (i386, m68k, powerpc, ...) + used on the system. This permits architecture-independent + <filename/sources.list/ files to be used. In general this is only of + interest when specifying an exact path, <literal/APT/ will automatically +- generate a URI with the current architecture otherwise.</> +- <para> ++ generate a URI with the current architecture otherwise. ++ </para><para> + Since only one distribution can be specified per line it may be necessary + to have multiple lines for the same URI, if a subset of all available + distributions or components at that location is desired. +@@ -80,19 +79,19 @@ + and then re-establish a connection to that same host. This feature is + useful for accessing busy FTP sites with limits on the number of + simultaneous anonymous users. APT also parallelizes connections to +- different hosts to more effectively deal with sites with low bandwidth.</> +- <para> ++ different hosts to more effectively deal with sites with low bandwidth. ++ </para><para> + It is important to list sources in order of preference, with the most + preferred source listed first. Typically this will result in sorting + by speed from fastest to slowest (CD-ROM followed by hosts on a local +- network, followed by distant Internet hosts, for example).</> +- <para> ++ network, followed by distant Internet hosts, for example). ++ </para><para> + Some examples: + <literallayout> + deb http://http.us.debian.org/debian stable main contrib non-free + deb http://http.us.debian.org/debian dists/stable-updates/ + </literallayout> +- </> ++ </para> + </RefSect1> + + <RefSect1><title>URI specification +Index: doc/apt-get.8.sgml +=================================================================== +--- doc/apt-get.8.sgml (revision 316) ++++ doc/apt-get.8.sgml (working copy) +@@ -48,7 +48,7 @@ + considered the user's "back-end" to other tools using the APT + library. Several "front-end" interfaces exist, such as dselect(8), + aptitude, synaptic, gnome-apt and wajig. +- ++ + Unless the + + + dist-upgrade +@@ -102,6 +105,7 @@ + from which to retrieve desired package files. + See also &apt-preferences; for a mechanism for + overriding the general settings for individual packages. ++ + + + install +@@ -117,21 +121,21 @@ + installed. Similarly a plus sign can be used to designate a package to + install. These latter features may be used to override decisions made by + apt-get's conflict resolution system. +- ++ + A specific version of a package can be selected for installation by + following the package name with an equals and the version of the package + to select. This will cause that version to be located and selected for + install. Alternatively a specific distribution can be selected by + following the package name with a slash and the version of the + distribution or the Archive name (stable, testing, unstable). +- ++ + Both of the version selection mechanisms can downgrade packages and must + be used with care. +- ++ + Finally, the &apt-preferences; mechanism allows you to + create an alternative installation policy for + individual packages. +- ++ + If no package matches the given expression and the expression contains one + of '.', '?' or '*' then it is assumed to be a POSIX regular expression, + and it is applied +@@ -139,6 +143,7 @@ + removed). Note that matching is done by substring so 'lo.*' matches 'how-lo' + and 'lowest'. If this is undesired, anchor the regular expression + with a '^' or '$' character, or create a more specific regular expression. ++ + + + remove +@@ -147,6 +152,7 @@ + removed instead of installed. If a plus sign is appended to the package + name (with no intervening space), the identified package will be + installed instead of removed. ++ + + + source +@@ -161,29 +167,31 @@ + install. If the --compile options is specified then the package will be + compiled to a binary .deb using dpkg-buildpackage, if --download-only is + specified then the source package will not be unpacked. +- ++ + A specific source version can be retrieved by postfixing the source name + with an equals and then the version to fetch, similar to the mechanism + used for the package files. This enables exact matching of the source + package name and version, implicitly enabling the + ++ + Note that source packages are not tracked like binary packages, they + exist only in the current directory and are similar to downloading source + tar balls. ++ + + + build-dep + + + + + check + + + + + clean +@@ -195,6 +203,7 @@ + &dselect; method, + + + autoclean +@@ -206,8 +215,10 @@ + it growing out of control. The configuration option + + + ++ + + + Options</> +@@ -218,6 +229,7 @@ + <ListItem><Para> + Download only; package files are only retrieved, not unpacked or installed. + Configuration Item: <literal/APT::Get::Download-Only/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-f/</><term><option/--fix-broken/</> +@@ -233,6 +245,7 @@ + the offending packages). Use of this option together with <option/-m/ may produce an + error in some situations. + Configuration Item: <literal/APT::Get::Fix-Broken/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-m/</><term><option/--ignore-missing/</> +@@ -246,6 +259,7 @@ + command line) and it could not be downloaded then it will be silently + held back. + Configuration Item: <literal/APT::Get::Fix-Missing/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--no-download/</> +@@ -254,6 +268,7 @@ + <option/--ignore-missing/ to force APT to use only the .debs it has + already downloaded. + Configuration Item: <literal/APT::Get::Download/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-q/</><term><option/--quiet/</> +@@ -265,6 +280,7 @@ + without a no-action modifier such as -d, --print-uris or -s as APT may + decided to do something you did not expect. + Configuration Item: <literal/quiet/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-s/</> +@@ -277,12 +293,13 @@ + No action; perform a simulation of events that would occur but do not + actually change the system. + Configuration Item: <literal/APT::Get::Simulate/. +- <para> ++ </para><para> + Simulate prints out + a series of lines each one representing a dpkg operation, Configure (Conf), + Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with + and empty set of square brackets meaning breaks that are of no consequence + (rare). ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-y/</><term><option/--yes/</> +@@ -293,6 +310,7 @@ + package or removing an essential package occurs then <literal/apt-get/ + will abort. + Configuration Item: <literal/APT::Get::Assume-Yes/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-u/</><term><option/--show-upgraded/</> +@@ -300,12 +318,14 @@ + Show upgraded packages; Print out a list of all packages that are to be + upgraded. + Configuration Item: <literal/APT::Get::Show-Upgraded/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-V/</><term><option/--verbose-versions/</> + <ListItem><Para> + Show full versions for upgraded and installed packages. + Configuration Item: <literal/APT::Get::Show-Versions/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-b/</><term><option/--compile/</> +@@ -313,6 +333,7 @@ + <ListItem><Para> + Compile source packages after downloading them. + Configuration Item: <literal/APT::Get::Compile/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--ignore-hold/</> +@@ -321,6 +342,7 @@ + placed on a package. This may be useful in conjunction with + <literal/dist-upgrade/ to override a large number of undesired holds. + Configuration Item: <literal/APT::Ignore-Hold/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--no-upgrade/</> +@@ -329,6 +351,7 @@ + <literal/no-upgrade/ will prevent packages listed from being upgraded + if they are already installed. + Configuration Item: <literal/APT::Get::Upgrade/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--force-yes/</> +@@ -338,6 +361,7 @@ + should not be used except in very special situations. Using + <literal/force-yes/ can potentially destroy your system! + Configuration Item: <literal/APT::Get::force-yes/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--print-uris/</> +@@ -350,6 +374,7 @@ + <literal/update/ command the MD5 and size are not included, and it is + up to the user to decompress any compressed files. + Configuration Item: <literal/APT::Get::Print-URIs/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--purge/</> +@@ -358,12 +383,14 @@ + An asterisk ("*") will be displayed next to packages which are + scheduled to be purged. + Configuration Item: <literal/APT::Get::Purge/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--reinstall/</> + <ListItem><Para> + Re-Install packages that are already installed and at the newest version. + Configuration Item: <literal/APT::Get::ReInstall/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--list-cleanup/</> +@@ -374,6 +401,7 @@ + The only reason to turn it off is if you frequently change your source + list. + Configuration Item: <literal/APT::Get::List-Cleanup/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-t/</> +@@ -388,6 +416,7 @@ + <option>-t '2.1*'</> or <option>-t unstable</>. + Configuration Item: <literal/APT::Default-Release/; + see also the &apt-preferences; manual page. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--trivial-only/</> +@@ -396,6 +425,7 @@ + related to <option/--assume-yes/, where <option/--assume-yes/ will answer + yes to any prompt, <option/--trivial-only/ will answer no. + Configuration Item: <literal/APT::Get::Trivial-Only/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--no-remove/</> +@@ -403,6 +433,7 @@ + If any packages are to be removed apt-get immediately aborts without + prompting. + Configuration Item: <literal/APT::Get::Remove/ ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--only-source/</> +@@ -414,6 +445,7 @@ + arguments, rather than accepting binary package names and looking + up the corresponding source package. + Configuration Item: <literal/APT::Get::Only-Source/ ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--diff-only/</><term><option/--tar-only/</> +@@ -421,12 +453,14 @@ + Download only the diff or tar file of a source archive. + Configuration Item: <literal/APT::Get::Diff-Only/ and + <literal/APT::Get::Tar-Only/ ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/--arch-only/</> + <ListItem><Para> + Only process architecture-dependent build-dependencies. + Configuration Item: <literal/APT::Get::Arch-Only/ ++ </Para></ListItem> + </VarListEntry> + + &apt-commonoptions; +@@ -440,18 +474,21 @@ + <ListItem><Para> + Locations to fetch packages from. + Configuration Item: <literal/Dir::Etc::SourceList/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><filename>/etc/apt/apt.conf</></term> + <ListItem><Para> + APT configuration file. + Configuration Item: <literal/Dir::Etc::Main/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><filename>/etc/apt/apt.conf.d/</></term> + <ListItem><Para> + APT configuration file fragments + Configuration Item: <literal/Dir::Etc::Parts/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><filename>/etc/apt/preferences</></term> +@@ -462,18 +499,21 @@ + from a separate source + or from a different version of a distribution. + Configuration Item: <literal/Dir::Etc::Preferences/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><filename>&cachedir;/archives/</></term> + <ListItem><Para> + Storage area for retrieved package files. + Configuration Item: <literal/Dir::Cache::Archives/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><filename>&cachedir;/archives/partial/</></term> + <ListItem><Para> + Storage area for package files in transit. + Configuration Item: <literal/Dir::Cache::Archives/ (implicit partial). ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><filename>&statedir;/lists/</></term> +@@ -481,12 +521,14 @@ + Storage area for state information for each package resource specified in + &sources-list; + Configuration Item: <literal/Dir::State::Lists/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><filename>&statedir;/lists/partial/</></term> + <ListItem><Para> + Storage area for state information in transit. + Configuration Item: <literal/Dir::State::Lists/ (implicit partial). ++ </Para></ListItem> + </VarListEntry> + </variablelist> + </RefSect1> +@@ -496,11 +538,13 @@ + &apt-cache;, &apt-cdrom;, &dpkg;, &dselect;, &sources-list;, + &apt-conf;, &apt-config;, + The APT User's guide in &docdir;, &apt-preferences;, the APT Howto. ++ </para> + </RefSect1> + + <RefSect1><Title>Diagnostics</> + <para> + <command/apt-get/ returns zero on normal operation, decimal 100 on error. ++ </para> + </RefSect1> + + &manbugs; +Index: doc/apt_preferences.5.sgml +=================================================================== +--- doc/apt_preferences.5.sgml (revision 316) ++++ doc/apt_preferences.5.sgml (working copy) +@@ -248,6 +248,7 @@ + <listitem><simpara>causes a version to be installed + unless there is a version available belonging to some other + distribution or the installed version is more recent</simpara></listitem> ++</varlistentry> + <varlistentry> + <term>0 < P <=100</term> + <listitem><simpara>causes a version to be installed +@@ -502,6 +503,7 @@ + <programlisting> + apt-get install <replaceable>package</replaceable>/testing + </programlisting> ++</para> + </RefSect2> + + <RefSect2> +Index: doc/apt.ent +=================================================================== +--- doc/apt.ent (revision 316) ++++ doc/apt.ent (working copy) +@@ -113,11 +113,13 @@ + <VarListEntry><term><option/-h/</><term><option/--help/</> + <ListItem><Para> + Show a short usage summary. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-v/</><term><option/--version/</> + <ListItem><Para> + Show the program version. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-c/</><term><option/--config-file/</> +@@ -125,12 +127,14 @@ + Configuration File; Specify a configuration file to use. + The program will read the default configuration file and then this + configuration file. See &apt-conf; for syntax information. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><term><option/-o/</><term><option/--option/</> + <ListItem><Para> +- Set a Configuration Option; This will set an arbitary configuration ++ Set a Configuration Option; This will set an arbitrary configuration + option. The syntax is <option>-o Foo::Bar=bar</>. ++ </Para></ListItem> + </VarListEntry> + "> + +Index: doc/apt.conf.5.sgml +=================================================================== +--- doc/apt.conf.5.sgml (revision 316) ++++ doc/apt.conf.5.sgml (working copy) +@@ -31,13 +31,13 @@ + <literal/Dir::Etc::main/ then finally apply the + command line options to override the configuration directives, possibly + loading even more config files. +- <para> ++ </para><para> + The configuration file is organized in a tree with options organized into + functional groups. Option specification is given with a double colon + notation, for instance <literal/APT::Get::Assume-Yes/ is an option within + the APT tool group, for the Get tool. Options do not inherit from their + parent groups. +- <para> ++ </para><para> + Syntacticly the configuration language is modeled after what the ISC tools + such as bind and dhcp use. Lines starting with + <literal>//</literal> are treated as comments (ignored). Each line is of the form +@@ -58,21 +58,22 @@ + <informalexample><programlisting> + DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; + </programlisting></informalexample> +- <para> ++ </para><para> + In general the sample configuration file in + <filename>&docdir;examples/apt.conf</> &configureindex; + is a good guide for how it should look. +- <para> ++ </para><para> + Two specials are allowed, <literal/#include/ and <literal/#clear/. + <literal/#include/ will include the given file, unless the filename + ends in a slash, then the whole directory is included. + <literal/#clear/ is used to erase a list of names. +- <para> ++ </para><para> + All of the APT tools take a -o option which allows an arbitrary configuration + directive to be specified on the command line. The syntax is a full option + name (<literal/APT::Get::Assume-Yes/ for instance) followed by an equals + sign then the new value of the option. Lists can be appended too by adding + a trailing :: to the list name. ++ </para> + </RefSect1> + + <RefSect1><Title>The APT Group</> +@@ -86,12 +87,14 @@ + System Architecture; sets the architecture to use when fetching files and + parsing package lists. The internal default is the architecture apt was + compiled for. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Ignore-Hold</Term> + <ListItem><Para> + Ignore Held packages; This global option causes the problem resolver to + ignore held packages in its decision making. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Clean-Installed</Term> +@@ -100,6 +103,7 @@ + which can no longer be downloaded from the cache. If turned off then + packages that are locally installed are also excluded from cleaning - but + note that APT provides no direct means to reinstall them. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Immediate-Configure</Term> +@@ -109,6 +113,7 @@ + so may be necessary on some extremely slow single user systems but + is very dangerous and may cause package install scripts to fail or worse. + Use at your own risk. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Force-LoopBreak</Term> +@@ -119,37 +124,44 @@ + packages. SUCH A LOOP SHOULD NEVER EXIST AND IS A GRAVE BUG. This option + will work if the essential packages are not tar, gzip, libc, dpkg, bash or + anything that those packages depend on. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Cache-Limit</Term> + <ListItem><Para> + APT uses a fixed size memory mapped cache file to store the 'available' + information. This sets the size of that cache. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Build-Essential</Term> + <ListItem><Para> + Defines which package(s) are considered essential build dependencies. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Get</Term> + <ListItem><Para> + The Get subsection controls the &apt-get; tool, please see its + documentation for more information about the options here. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Cache</Term> + <ListItem><Para> + The Cache subsection controls the &apt-cache; tool, please see its + documentation for more information about the options here. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>CDROM</Term> + <ListItem><Para> + The CDROM subsection controls the &apt-cdrom; tool, please see its + documentation for more information about the options here. ++ </Para></ListItem> + </VarListEntry> + </VariableList> ++ </para> + </RefSect1> + + <RefSect1><Title>The Acquire Group</> +@@ -165,18 +177,21 @@ + connections. <literal/host/ means that one connection per target host + will be opened, <literal/access/ means that one connection per URI type + will be opened. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Retries</Term> + <ListItem><Para> + Number of retries to perform. If this is non-zero APT will retry failed + files the given number of times. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Source-Symlinks</Term> + <ListItem><Para> + Use symlinks for source archives. If set to true then source archives will + be symlinked when possible instead of copying. True is the default ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>http</Term> +@@ -187,7 +202,7 @@ + <literal/http::Proxy::<host>/ with the special keyword <literal/DIRECT/ + meaning to use no proxies. The <envar/http_proxy/ environment variable + will override all settings. +- <para> ++ </Para><Para> + Three settings are provided for cache control with HTTP/1.1 compliant + proxy caches. <literal/No-Cache/ tells the proxy to not use its cached + response under any circumstances, <literal/Max-Age/ is sent only for +@@ -197,10 +212,10 @@ + store this request, it is only set for archive files. This may be useful + to prevent polluting a proxy cache with very large .deb files. Note: + Squid 2.0.2 does not support any of these options. +- <para> ++ </Para><Para> + The option <literal/timeout/ sets the timeout timer used by the method, + this applies to all things including connection timeout and data timeout. +- <para> ++ </Para><Para> + One setting is provided to control the pipeline depth in cases where the + remote server is not RFC conforming or buggy (such as Squid 2.0.2) + <literal/Acquire::http::Pipeline-Depth/ can be a value from 0 to 5 +@@ -208,6 +223,7 @@ + zero MUST be specified if the remote host does not properly linger + on TCP connections - otherwise data corruption will occur. Hosts which + require this are in violation of RFC 2068. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>ftp</Term> +@@ -223,27 +239,28 @@ + <literal/$(PROXY_USER)/, <literal/$(PROXY_PASS)/, <literal/$(SITE_USER)/, + <literal/$(SITE_PASS)/, <literal/$(SITE)/, and <literal/$(SITE_PORT)/. + Each is taken from it's respective URI component. +- <para> ++ </Para><Para> + The option <literal/timeout/ sets the timeout timer used by the method, + this applies to all things including connection timeout and data timeout. +- <para> ++ </Para><Para> + Several settings are provided to control passive mode. Generally it is + safe to leave passive mode on, it works in nearly every environment. + However some situations require that passive mode be disabled and port + mode ftp used instead. This can be done globally, for connections that + go through a proxy or for a specific host (See the sample config file + for examples) +- <para> ++ </Para><Para> + It is possible to proxy FTP over HTTP by setting the <envar/ftp_proxy/ + environment variable to a http url - see the discussion of the http method + above for syntax. You cannot set this in the configuration file and it is + not recommended to use FTP over HTTP due to its low efficiency. +- <para> ++ </Para><Para> + The setting <literal/ForceExtended/ controls the use of RFC2428 + <literal/EPSV/ and <literal/EPRT/ commands. The defaut is false, which means + these commands are only used if the control connection is IPv6. Setting this + to true forces their use even on IPv4 connections. Note that most FTP servers + do not support RFC2428. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>cdrom</Term> +@@ -256,8 +273,10 @@ + is to put <literallayout>"/cdrom/"::Mount "foo";</literallayout> within + the cdrom block. It is important to have the trailing slash. Unmount + commands can be specified using UMount. ++ </Para></ListItem> + </VarListEntry> + </VariableList> ++ </para> + </RefSect1> + + <RefSect1><Title>Directories</> +@@ -268,7 +287,7 @@ + <literal/preferences/ is the name of the APT preferences file. + <literal/Dir::State/ contains the default directory to prefix on all sub + items if they do not start with <filename>/</> or <filename>./</>. +- <para> ++ </para><para> + <literal/Dir::Cache/ contains locations pertaining to local cache + information, such as the two package caches <literal/srcpkgcache/ and + <literal/pkgcache/ as well as the location to place downloaded archives, +@@ -277,22 +296,23 @@ + save disk space. It is probably prefered to turn off the pkgcache rather + than the srcpkgcache. Like <literal/Dir::State/ the default + directory is contained in <literal/Dir::Cache/ +- <para> ++ </para><para> + <literal/Dir::Etc/ contains the location of configuration files, + <literal/sourcelist/ gives the location of the sourcelist and + <literal/main/ is the default configuration file (setting has no effect, + unless it is done from the config file specified by + <envar/APT_CONFIG/). +- <para> ++ </para><para> + The <literal/Dir::Parts/ setting reads in all the config fragments in + lexical order from the directory specified. After this is done then the + main config file is loaded. +- <para> ++ </para><para> + Binary programs are pointed to by <literal/Dir::Bin/. <literal/Dir::Bin::Methods/ + specifies the location of the method handlers and <literal/gzip/, + <literal/dpkg/, <literal/apt-get/, <literal/dpkg-source/, + <literal/dpkg-buildpackage/ and <literal/apt-cache/ specify the location + of the respective programs. ++ </para> + </RefSect1> + + <RefSect1><Title>APT in DSelect</> +@@ -309,26 +329,31 @@ + auto removes only those packages which are no longer downloadable + (replaced with a new version for instance). pre-auto performs this + action before downloading new packages. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Options</Term> + <ListItem><Para> + The contents of this variable is passed to &apt-get; as command line + options when it is run for the install phase. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>UpdateOptions</Term> + <ListItem><Para> + The contents of this variable is passed to &apt-get; as command line + options when it is run for the update phase. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>PromptAfterUpdate</Term> + <ListItem><Para> + If true the [U]pdate operation in &dselect; will always prompt to continue. + The default is to prompt only on error. ++ </Para></ListItem> + </VarListEntry> + </VariableList> ++ </para> + </RefSect1> + + <RefSect1><Title>How APT calls dpkg</> +@@ -342,6 +367,7 @@ + This is a list of options to pass to dpkg. The options must be specified + using the list notation and each list item is passed as a single argument + to &dpkg;. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Pre-Invoke</Term><Term>Post-Invoke</Term> +@@ -350,6 +376,7 @@ + Like <literal/Options/ this must be specified in list notation. The + commands are invoked in order using <filename>/bin/sh</>, should any + fail APT will abort. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Pre-Install-Pkgs</Term> +@@ -359,26 +386,30 @@ + are invoked in order using <filename>/bin/sh</>, should any fail APT + will abort. APT will pass to the commands on standard input the + filenames of all .deb files it is going to install, one per line. +- <para> ++ </para><para> + Version 2 of this protocol dumps more information, including the + protocol version, the APT configuration space and the packages, files + and versions being changed. Version 2 is enabled by setting + <literal/DPkg::Tools::Options::cmd::Version/ to 2. <literal/cmd/ is a + command given to <literal/Pre-Install-Pkgs/. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Run-Directory</Term> + <ListItem><Para> + APT chdirs to this directory before invoking dpkg, the default is + <filename>/</>. ++ </Para></ListItem> + </VarListEntry> + + <VarListEntry><Term>Build-Options</Term> + <ListItem><Para> + These options are passed to &dpkg-buildpackage; when compiling packages, + the default is to disable signing and produce all binaries. ++ </Para></ListItem> + </VarListEntry> + </VariableList> ++ </para> + </RefSect1> + + <RefSect1><Title>Debug Options</> +@@ -390,6 +421,7 @@ + operations as non-root and <literal/Debug::pkgDPkgPM/ will print out the + command line for each dpkg invokation. <literal/Debug::IdentCdrom/ will + disable the inclusion of statfs data in CDROM IDs. ++ </para> + </RefSect1> + + <RefSect1><Title>Examples</> +@@ -397,16 +429,19 @@ + &configureindex; contains a + sample configuration file showing the default values for all possible + options. ++ </para> + </RefSect1> + + <RefSect1><Title>Files</> + <para> + <filename>/etc/apt/apt.conf</> ++ </para> + </RefSect1> + + <RefSect1><Title>See Also</> + <para> + &apt-cache;, &apt-config;<!-- ? reading apt.conf -->, &apt-preferences;. ++ </para> + </RefSect1> + + &manbugs; diff --git a/apt-0.5.15cnc6-pymake.patch b/apt-0.5.15cnc6-pymake.patch new file mode 100644 index 0000000..e2d3f5b --- /dev/null +++ b/apt-0.5.15cnc6-pymake.patch @@ -0,0 +1,24 @@ +--- apt-0.5.15cnc6-r309/python/Makefile.pymake 2004-03-20 17:50:58.000000000 +0200 ++++ apt-0.5.15cnc6-r309/python/Makefile 2004-03-20 18:20:27.000000000 +0200 +@@ -1,7 +1,7 @@ + + MODULES = apt.py + +-CC = gcc ++CC = g++ + SWIG = swig + #SWIGFLAGS = -w312 -w315 -w508 -w509 + SWIGFLAGS = -w312 -w315 -w508 +@@ -16,10 +16,10 @@ + $(MODULES): %.py: _%.so + + _%.so: %_wrap.cxx +- $(CC) -shared -I.. $(PYTHONFLAGS) $(LUAFLAGS) -L../bin -L../build/bin -lapt-pkg -o $@ $< ++ $(CC) -shared -I.. -I../include $(PYTHONFLAGS) $(LUAFLAGS) -L../apt-pkg/.libs -lapt-pkg -o $@ $< + + apt_wrap.cxx: apt.i +- $(SWIG) $(SWIGFLAGS) -c++ -I.. $(LUAFLAGS) -python $< ++ $(SWIG) $(SWIGFLAGS) -c++ -I.. -I../include $(LUAFLAGS) -python $< + + clean: + rm -f *.cxx diff --git a/apt-0.5.15cnc6-rdonly.patch b/apt-0.5.15cnc6-rdonly.patch new file mode 100644 index 0000000..e613e52 --- /dev/null +++ b/apt-0.5.15cnc6-rdonly.patch @@ -0,0 +1,20 @@ +--- apt-0.5.15cnc6/apt-pkg/rpm/rpmhandler.cc.rdonly 2004-04-08 17:28:12.000000000 +0300 ++++ apt-0.5.15cnc6/apt-pkg/rpm/rpmhandler.cc 2004-04-08 17:28:46.000000000 +0300 +@@ -367,7 +367,7 @@ + Handler = rpmtsCreate(); + rpmtsSetVSFlags(Handler, (rpmVSFlags_e)-1); + rpmtsSetRootDir(Handler, Dir.c_str()); +- if (rpmtsOpenDB(Handler, WriteLock?O_RDWR:O_RDONLY) != 0) ++ if (rpmtsOpenDB(Handler, O_RDONLY) != 0) + { + _error->Error(_("could not open RPM database")); + return; +@@ -376,7 +376,7 @@ + const char *RootDir = NULL; + if (!Dir.empty()) + RootDir = Dir.c_str(); +- if (rpmdbOpen(RootDir, &Handler, WriteLock?O_RDWR:O_RDONLY, 0644) != 0) ++ if (rpmdbOpen(RootDir, &Handler, O_RDONLY, 0644) != 0) + { + _error->Error(_("could not open RPM database")); + return; diff --git a/apt-0.5.4cnc7-rpmpriorities.patch b/apt-0.5.4cnc7-rpmpriorities.patch deleted file mode 100644 index e243fe7..0000000 --- a/apt-0.5.4cnc7-rpmpriorities.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -Naupr apt-0.5.4cnc7.orig/rpmpriorities apt-0.5.4cnc7/rpmpriorities ---- apt-0.5.4cnc7.orig/rpmpriorities 2002-07-25 01:44:27.000000000 +0200 -+++ apt-0.5.4cnc7/rpmpriorities 2002-09-25 16:17:35.000000000 +0200 -@@ -2,12 +2,12 @@ Essential: - apt - basesystem - bash -- conectiva-release -+ redhat-release - dev - e2fsprogs - filesystem - fileutils -- glibc-base -+ glibc - initscripts - kernel - modutils diff --git a/apt-0.5.5cnc4.1-sourcelist.patch b/apt-0.5.5cnc4.1-sourcelist.patch deleted file mode 100644 index b0984be..0000000 --- a/apt-0.5.5cnc4.1-sourcelist.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- apt-0.5.5cnc4.1/apt-pkg/sourcelist.cc.list 2003-04-11 11:38:34.000000000 +0300 -+++ apt-0.5.5cnc4.1/apt-pkg/sourcelist.cc 2003-04-11 11:52:21.000000000 +0300 -@@ -430,6 +430,10 @@ - break; - if (*C != 0) - continue; -+ -+ // Only look at files ending in .list to skip .rpmnew etc files -+ if (strcmp(Ent->d_name+strlen(Ent->d_name)-5, ".list") != 0) -+ continue; - - // Make sure it is a file and not something else - string File = flCombine(Dir,Ent->d_name); diff --git a/apt-0.5.5cnc5-nodigest.patch b/apt-0.5.5cnc5-nodigest.patch deleted file mode 100644 index 5cca122..0000000 --- a/apt-0.5.5cnc5-nodigest.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- apt-0.5.5cnc5/apt-pkg/rpm/rpmhandler.cc.nodigest 2003-03-08 00:56:56.000000000 +0200 -+++ apt-0.5.5cnc5/apt-pkg/rpm/rpmhandler.cc 2003-04-16 20:42:43.000000000 +0300 -@@ -299,6 +299,7 @@ - RpmIter = NULL; - #endif - #ifdef HAVE_RPM41 -+ rpmVSFlags ovsflags; - Handler = rpmtsCreate(); - if (!Dir.empty()) - rpmtsSetRootDir(Handler, Dir.c_str()); -@@ -307,6 +308,11 @@ - _error->Error(_("could not open RPM database")); - return; - } -+ // Disable digest & signature verifying for the initial count of packages -+ // to get decent performance regardless of rpm configuration, restore later -+ ovsflags = rpmtsVSFlags(Handler); -+ rpmtsSetVSFlags(Handler, rpmVSFlags(rpmtsVSFlags(Handler) | -+ _RPMVSF_NODIGESTS | _RPMVSF_NOSIGNATURES)); - #else - const char *RootDir = NULL; - if (!Dir.empty()) -@@ -334,6 +340,9 @@ - while(rpmdbNextIterator(countIt) != NULL) - iSize++; - rpmdbFreeIterator(countIt); -+#ifdef HAVE_RPM41 -+ rpmtsSetVSFlags(Handler, ovsflags); -+#endif - #else - iSize = St.st_size; - #endif ---- apt-0.5.5cnc5/tools/genpkglist.cc.nodigest 2003-03-07 07:24:54.000000000 +0200 -+++ apt-0.5.5cnc5/tools/genpkglist.cc 2003-04-16 20:39:04.000000000 +0300 -@@ -580,6 +580,7 @@ - #ifdef HAVE_RPM41 - rpmts ts = rpmtsCreate(); - rpmReadConfigFiles(NULL, NULL); -+ rpmtsSetVSFlags(ts, rpmVSFlags(rpmtsVSFlags(ts) | _RPMVSF_NODIGESTS | _RPMVSF_NOSIGNATURES)); - #else - int isSource; - #endif ---- apt-0.5.5cnc5/tools/gensrclist.cc.nodigest 2003-03-07 07:25:00.000000000 +0200 -+++ apt-0.5.5cnc5/tools/gensrclist.cc 2003-04-16 20:39:04.000000000 +0300 -@@ -261,6 +261,7 @@ - #ifdef HAVE_RPM41 - rpmts ts = rpmtsCreate(); - rpmReadConfigFiles(NULL, NULL); -+ rpmtsSetVSFlags(ts, rpmVSFlags(rpmtsVSFlags(ts) | _RPMVSF_NODIGESTS | _RPMVSF_NOSIGNATURES)); - #else - Header sigs; - #endif diff --git a/apt-0.5.5cnc5-oldpkg.patch b/apt-0.5.5cnc5-oldpkg.patch deleted file mode 100644 index 39df74c..0000000 --- a/apt-0.5.5cnc5-oldpkg.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- apt-0.5.5cnc5/apt-pkg/rpm/rpmpm.cc.oldpkg 2003-05-22 20:02:03.000000000 +0300 -+++ apt-0.5.5cnc5/apt-pkg/rpm/rpmpm.cc 2003-05-22 20:08:52.000000000 +0300 -@@ -286,8 +286,12 @@ - } - else - { -+#ifdef HAVE_RPM41 -+ bool oldpackage = _config->FindB("RPM::OldPackage",true); -+#else - bool oldpackage = _config->FindB("RPM::OldPackage", - (op == Item::RPMUpgrade)); -+#endif - bool replacepkgs = _config->FindB("APT::Get::ReInstall",false); - bool replacefiles = _config->FindB("APT::Get::ReInstall",false); - Opts = _config->Tree("RPM::Install-Options"); diff --git a/apt-0.5.5cnc5-pymake.patch b/apt-0.5.5cnc5-pymake.patch deleted file mode 100644 index 097bdf5..0000000 --- a/apt-0.5.5cnc5-pymake.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- apt-0.5.5cnc5/python/Makefile.pymake 2003-02-26 09:43:29.000000000 -0600 -+++ apt-0.5.5cnc5/python/Makefile 2003-04-16 09:48:26.000000000 -0500 -@@ -1,13 +1,13 @@ - - MODULES = apt.py - --CC = gcc -+CC = g++ - SWIG = swig - #SWIGFLAGS = -w312 -w315 -w508 -w509 - SWIGFLAGS = -w312 -w315 -w508 - #SWIG = /var/tmp/swig/BUILD/SWIG-1.3.16/swig - --PYTHONVER = $(shell python -c "import sys; v=sys.version_info[:2]; print '%d.%d'%v" 2>/dev/null || echo NONE) -+PYTHONVER = $(shell python2 -c "import sys; v=sys.version_info[:2]; print '%d.%d'%v" 2>/dev/null || echo NONE) - PYTHONFLAGS=-I/usr/include/python$(PYTHONVER) - - all: $(MODULES) -@@ -15,10 +15,10 @@ - $(MODULES): %.py: _%.so - - _%.so: %_wrap.cxx -- $(CC) -shared -I.. $(PYTHONFLAGS) -L../bin -L../build/bin -lapt-pkg -o $@ $< -+ $(CC) -shared -I.. -I../include $(PYTHONFLAGS) -L../apt-pkg/.libs -lapt-pkg -o $@ $< - - apt_wrap.cxx: apt.i -- $(SWIG) $(SWIGFLAGS) -c++ -I.. -python $< -+ $(SWIG) $(SWIGFLAGS) -c++ -I.. -I../include -python $< - - clean: - rm -f *.cxx diff --git a/apt-0.5.5cnc5-src-dir-00.patch b/apt-0.5.5cnc5-src-dir-00.patch deleted file mode 100644 index ccd9106..0000000 --- a/apt-0.5.5cnc5-src-dir-00.patch +++ /dev/null @@ -1,214 +0,0 @@ ---- apt-0.5.5cnc5/apt-pkg/rpm/rpmindexfile.cc.srcdir 2003-06-06 20:06:55.000000000 +0300 -+++ apt-0.5.5cnc5/apt-pkg/rpm/rpmindexfile.cc 2003-06-06 20:06:55.000000000 +0300 -@@ -237,7 +237,10 @@ - else - Res = URI + Dist; - -- Res += "/" + File; -+ if (File.find("/") != string::npos) -+ Res += '/' + File; -+ else -+ Res += "/SRPMS."+Section + '/' + File; - - if (rpmdata->HasSourceTranslation() == true) - { -@@ -476,6 +479,26 @@ - } - /*}}}*/ - -+// SrcDirIndex::Index* - Return the URI to the index files /*{{{*/ -+// --------------------------------------------------------------------- -+/* */ -+inline string rpmSrcDirIndex::IndexPath() const -+{ -+ return ::URI(ArchiveURI("")).Path; -+} -+ /*}}}*/ -+// SrcDirIndex::Size - Return the size of the index /*{{{*/ -+// --------------------------------------------------------------------- -+/* This is really only used for progress reporting. */ -+unsigned long rpmSrcDirIndex::Size() const -+{ -+ // XXX: Must optimize this somehow. -+ RPMHandler *Handler = CreateHandler(); -+ unsigned long Res = Handler->Size(); -+ delete Handler; -+ return Res; -+} -+ - // DatabaseIndex::rpmDatabaseIndex - Constructor /*{{{*/ - // --------------------------------------------------------------------- - /* */ -@@ -680,9 +703,30 @@ - } - }; - -+class rpmSLTypeSrpmDir : public rpmSLTypeGen -+{ -+ public: -+ -+ bool CreateItem(vector<pkgIndexFile *> &List, -+ string URI, string Dist, string Section, -+ pkgSourceList::Vendor const *Vendor) const -+ { -+ pkgRepository *Rep = GetRepository(URI,Dist,Vendor); -+ List.push_back(new rpmSrcDirIndex(URI,Dist,Section,Rep)); -+ return true; -+ }; -+ -+ rpmSLTypeSrpmDir() -+ { -+ Name = "rpm-src-dir"; -+ Label = "Local SRPM directory tree"; -+ } -+}; -+ - rpmSLTypeRpm _apt_rpmType; - rpmSLTypeSrpm _apt_rpmSrcType; - rpmSLTypeRpmDir _apt_rpmDirType; -+rpmSLTypeSrpmDir _apt_rpmSrcDirType; - /*}}}*/ - // Index File types for rpm /*{{{*/ - class rpmIFTypeSrc : public pkgIndexFile::Type -@@ -723,6 +767,10 @@ - { - return &_apt_Pkg; - } -+const pkgIndexFile::Type *rpmSrcDirIndex::GetType() const -+{ -+ return &_apt_Src; -+} - const pkgIndexFile::Type *rpmPkgDirIndex::GetType() const - { - return &_apt_Pkg; ---- apt-0.5.5cnc5/apt-pkg/rpm/rpmsrcrecords.h.srcdir 2003-02-14 23:18:22.000000000 +0200 -+++ apt-0.5.5cnc5/apt-pkg/rpm/rpmsrcrecords.h 2003-06-06 20:06:55.000000000 +0300 -@@ -20,11 +20,11 @@ - #include <rpm/rpmlib.h> - - --class RPMFileHandler; -+class RPMHandler; - - class rpmSrcRecordParser : public pkgSrcRecords::Parser - { -- RPMFileHandler *FileHandler; -+ RPMHandler *Handler; - Header HeaderP; - - const char *StaticBinList[400]; ---- apt-0.5.5cnc5/apt-pkg/rpm/rpmindexfile.h.srcdir 2003-02-24 21:13:15.000000000 +0200 -+++ apt-0.5.5cnc5/apt-pkg/rpm/rpmindexfile.h 2003-06-06 20:06:55.000000000 +0300 -@@ -177,7 +177,6 @@ - - public: - -- virtual bool GetReleases(pkgAcquire *Owner) const { return true; } - virtual bool GetIndexes(pkgAcquire *Owner) const { return true; } - - // Creates a RPMHandler suitable for usage with this object -@@ -195,5 +194,32 @@ - {}; - }; - -+class rpmSrcDirIndex : public rpmSrcListIndex -+{ -+ protected: -+ -+ virtual string MainType() const {return "srcdir";} -+ virtual string IndexPath() const; -+ -+ public: -+ -+ virtual bool GetReleases(pkgAcquire *Owner) const { return true; } -+ virtual bool GetIndexes(pkgAcquire *Owner) const { return true; } -+ -+ // Creates a RPMHandler suitable for usage with this object -+ virtual RPMHandler *CreateHandler() const -+ { return new RPMDirHandler(IndexPath()); }; -+ -+ virtual const Type *GetType() const; -+ -+ // Interface for the Cache Generator -+ virtual unsigned long Size() const; -+ -+ rpmSrcDirIndex(string URI,string Dist,string Section, -+ pkgRepository *Repository) : -+ rpmSrcListIndex(URI,Dist,Section,Repository) -+ {}; -+}; -+ - - #endif ---- apt-0.5.5cnc5/apt-pkg/rpm/rpmsrcrecords.cc.srcdir 2003-06-06 20:09:25.000000000 +0300 -+++ apt-0.5.5cnc5/apt-pkg/rpm/rpmsrcrecords.cc 2003-06-06 20:09:53.000000000 +0300 -@@ -36,7 +36,12 @@ - rpmSrcRecordParser::rpmSrcRecordParser(string File,pkgIndexFile const *Index) - : Parser(Index), HeaderP(0), Buffer(0), BufSize(0), BufUsed(0) - { -- FileHandler = new RPMFileHandler(File); -+ struct stat Buf; -+ if (stat(File.c_str(),&Buf) == 0 && S_ISDIR(Buf.st_mode)) { -+ Handler = new RPMDirHandler(File); -+ } else { -+ Handler = new RPMFileHandler(File); -+ } - } - /*}}}*/ - // SrcRecordParser::~rpmSrcRecordParser - Destructor /*{{{*/ -@@ -44,7 +49,7 @@ - /* */ - rpmSrcRecordParser::~rpmSrcRecordParser() - { -- delete FileHandler; -+ delete Handler; - free(Buffer); - } - /*}}}*/ -@@ -65,7 +70,7 @@ - if (rc != 1) - return NULL; - for (i = 0; (unsigned)i < sizeof(StaticBinList)/sizeof(char*) && i < count; -- i++) -+ i++) - StaticBinList[i] = bins[i]; - StaticBinList[i] = 0; - return StaticBinList; -@@ -132,23 +137,23 @@ - - bool rpmSrcRecordParser::Restart() - { -- FileHandler->Rewind(); -+ Handler->Rewind(); - return true; - } - - bool rpmSrcRecordParser::Step() - { -- if (FileHandler->Skip() == false) -+ if (Handler->Skip() == false) - return false; -- HeaderP = FileHandler->GetHeader(); -+ HeaderP = Handler->GetHeader(); - return true; - } - - bool rpmSrcRecordParser::Jump(unsigned long Off) - { -- if (!FileHandler->Jump(Off)) -+ if (!Handler->Jump(Off)) - return false; -- HeaderP = FileHandler->GetHeader(); -+ HeaderP = Handler->GetHeader(); - return true; - } - -@@ -222,7 +227,7 @@ - - unsigned long rpmSrcRecordParser::Offset() - { -- return FileHandler->Offset(); -+ return Handler->Offset(); - } - - void rpmSrcRecordParser::BufCat(char *text) diff --git a/apt-0.5.5cnc6-builddepvirtual.patch b/apt-0.5.5cnc6-builddepvirtual.patch deleted file mode 100644 index 48f3c11..0000000 --- a/apt-0.5.5cnc6-builddepvirtual.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- apt-0.5.5cnc6/cmdline/apt-get.cc.builddepvirtual 2003-06-10 16:22:33.000000000 +0200 -+++ apt-0.5.5cnc6/cmdline/apt-get.cc 2003-08-03 11:05:10.000000000 +0200 -@@ -2348,25 +2348,32 @@ - * installed - */ - pkgCache::PrvIterator Prv = Pkg.ProvidesList(); -+ bool providedBySomething = !Prv.end(); - for (; Prv.end() != true; Prv++) - if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false) - break; - - // Get installed version and version we are going to install - pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache); -- pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache); - -- for (; CV.end() != true; CV++) -- { -- if (Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) -- break; -+ if (!providedBySomething || (*D).Version[0] != '\0') { -+ /* We either have a versioned dependency (so a provides won't do) -+ or nothing is providing this package */ -+ -+ pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache); -+ -+ for (; CV.end() != true; CV++) -+ { -+ if (Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) -+ break; -+ } -+ if (CV.end() == true) -+ return _error->Error(_("%s dependency for %s cannot be satisfied " -+ "because no available versions of package %s " -+ "can satisfy version requirements"), -+ Last->BuildDepType((*D).Type),Src.c_str(), -+ (*D).Package.c_str()); - } -- if (CV.end() == true) -- return _error->Error(_("%s dependency for %s cannot be satisfied " -- "because no available versions of package %s " -- "can satisfy version requirements"), -- Last->BuildDepType((*D).Type),Src.c_str(), -- (*D).Package.c_str()); - - /* - * TODO: if we depend on a version lower than what we already have diff --git a/apt-0.5.5cnc6-fclose.patch b/apt-0.5.5cnc6-fclose.patch deleted file mode 100644 index edfcbe5..0000000 --- a/apt-0.5.5cnc6-fclose.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- apt-0.5.5cnc6/tools/genpkglist.cc.fclose 2003-06-13 15:12:59.000000000 +0300 -+++ apt-0.5.5cnc6/tools/genpkglist.cc 2003-06-13 15:13:29.000000000 +0300 -@@ -638,11 +638,11 @@ - headerFree(newHeader); - headerFree(h); - } -- fdClose(fd); -+ Fclose(fd); - } - } - -- fdClose(outfd); -+ Fclose(outfd); - - #ifdef HAVE_RPM41 - ts = rpmtsFree(ts); ---- apt-0.5.5cnc6/tools/gensrclist.cc.fclose 2003-06-13 15:13:08.000000000 +0300 -+++ apt-0.5.5cnc6/tools/gensrclist.cc 2003-06-13 15:13:54.000000000 +0300 -@@ -370,10 +370,10 @@ - rpmFreeSignature(sigs); - #endif - } -- fdClose(fd); -+ Fclose(fd); - } - -- fdClose(outfd); -+ Fclose(outfd); - - #ifdef HAVE_RPM41 - ts = rpmtsFree(ts); diff --git a/apt-0.5.5cnc6-rpmlib-2.patch b/apt-0.5.5cnc6-rpmlib-2.patch deleted file mode 100644 index 1290b58..0000000 --- a/apt-0.5.5cnc6-rpmlib-2.patch +++ /dev/null @@ -1,221 +0,0 @@ ---- apt-0.5.5cnc6/apt-pkg/rpm/rpmpm.cc.rpmlib 2003-06-11 18:56:02.000000000 +0300 -+++ apt-0.5.5cnc6/apt-pkg/rpm/rpmpm.cc 2003-06-12 14:46:54.000000000 +0300 -@@ -33,8 +33,11 @@ - #include <stdio.h> - #include <iostream> - -- - #include <rpm/rpmlib.h> -+#include <rpm/rpmts.h> -+#include <rpm/header.h> -+#include <rpm/rpmcli.h> -+#include <rpm/rpmdb.h> - /*}}}*/ - - // RPMPM::pkgRPMPM - Constructor /*{{{*/ -@@ -42,6 +45,11 @@ - /* */ - pkgRPMPM::pkgRPMPM(pkgDepCache *Cache) : pkgPackageManager(Cache) - { -+#ifdef RPMLIB -+ Handler = rpmSys.GetDBHandler(); -+ if (! Handler) -+ clog << "handler init failed" << endl; -+#endif - } - /*}}}*/ - // RPMPM::pkgRPMPM - Destructor /*{{{*/ -@@ -222,6 +230,135 @@ - - /*}}}*/ - -+// rpmlib version -+#ifdef RPMLIB -+bool pkgRPMPM::ExecRPM(Item::RPMOps op, vector<const char*> &files) -+{ -+ int debug = _config->FindB("Debug::pkgRPMPM", false); -+ int n = 0, rc, xx; -+ FD_t fd; -+ RPMHeader hdr; -+ for (vector<const char*>::iterator I = files.begin(); I != files.end(); I++) -+ { -+ int upgrade = 0; -+ switch (op) -+ { -+ case Item::RPMUpgrade: -+ upgrade = 1; -+ case Item::RPMInstall: -+ fd = Fopen(*I, "r.ufdio"); -+ if (fd == NULL) -+ clog << "opening " << *I << " failed" << endl; -+ -+ rc = rpmReadPackageFile(TS, fd, *I, &hdr); -+ if (debug) clog << "readpkg: " << rc << endl; -+ -+ if (rpmtsAddInstallElement(TS, hdr, *I, upgrade, 0)) -+ clog << "tsaddinstall failed for " << *I << endl; -+ else -+ if (debug) clog << "install element " << *I << "added, upgrade: " << upgrade << endl; -+ hdr = headerFree(hdr); -+ break; -+ case Item::RPMErase: -+ rpmdbMatchIterator MI; -+ MI = rpmtsInitIterator(TS, (rpmTag)RPMDBI_LABEL, *I, 0); -+ while ((hdr = rpmdbNextIterator(MI)) != NULL) -+ { -+ unsigned int recOffset = rpmdbGetIteratorOffset(MI); -+ if (recOffset) -+ if (rpmtsAddEraseElement(TS, hdr, recOffset)) -+ clog << "ts erase element failed" << endl; -+ else -+ if (debug) clog << "erase element " << *I << " added" << endl; -+ } -+ MI = rpmdbFreeIterator(MI); -+ break; -+ } -+ } -+ return true; -+} -+ -+bool pkgRPMPM::Process(vector<const char*> &install, -+ vector<const char*> &upgrade, -+ vector<const char*> &uninstall) -+{ -+ int rc = 0; -+ int notifyFlags = 0; -+ int debug = _config->FindB("Debug::pkgRPMPM", false); -+ string Dir = _config->Find("RPM::RootDir"); -+ -+ rpmReadConfigFiles(NULL, NULL); -+ if (debug) clog << "RPMPM:Process .." << endl; -+ TS = rpmtsCreate(); -+ if (! TS) { -+ _error->Error(_("error creating transaction set")); -+ return false; -+ } -+ if (debug) { -+ clog << "TS created" << endl; -+ clog << "Dir: " << Dir << endl; -+ } -+ //if (!Dir.empty()) -+ rpmtsSetRootDir(TS, Dir.c_str()); -+ if (rpmtsOpenDB(TS, O_RDWR) != 0) { -+ _error->Error(_("could not open RPM database")); -+ return false; -+ } -+ if (debug) clog << "rpmdb open in rdwr" << endl; -+ -+ int probFilter = rpmtsFilterFlags(TS); -+ if (_config->FindB("RPM::OldPackage",true) || ! upgrade.empty()) { -+ probFilter |= RPMPROB_FILTER_OLDPACKAGE; -+ } -+ if (_config->FindB("APT::Get::ReInstall",false)) { -+ probFilter |= RPMPROB_FILTER_REPLACEPKG; -+ probFilter |= RPMPROB_FILTER_REPLACEOLDFILES; -+ probFilter |= RPMPROB_FILTER_REPLACENEWFILES; -+ } -+ if (debug) clog << "probFilter: " << probFilter << endl; -+ if (_config->FindB("RPM::Interactive",true)) -+ notifyFlags |= INSTALL_HASH | INSTALL_LABEL; -+ -+ if (uninstall.empty() == false) -+ ExecRPM(Item::RPMErase, uninstall); -+ if (install.empty() == false) -+ ExecRPM(Item::RPMInstall, install); -+ if (upgrade.empty() == false) -+ ExecRPM(Item::RPMUpgrade, upgrade); -+ -+ if (debug) clog << "nr elements: " << rpmtsNElements(TS) << endl; -+ if (rpmtsCheck(TS)) { -+ _error->Error(_("Transaction set check failed")); -+ return false; -+ } -+ if (debug) clog << "Clean ts" << endl; -+ rpmtsClean(TS); -+ rc = rpmtsSetNotifyCallback(TS, rpmShowProgress, (void *) notifyFlags); -+ if (debug) clog << "SetNotify: " << rc << endl; -+ if (debug) clog << "running rpmtsOrder()" << endl; -+ rc = rpmtsOrder(TS); -+ if (rc > 0) { -+ _error->Error(_("Ordering failed for %d packages!"), rc); -+ return false; -+ } -+ cout << _("Committing changes...") << endl; -+ cout << flush; -+ rc = rpmtsRun(TS, NULL, (rpmprobFilterFlags)probFilter); -+ if (rc < 0) { -+ _error->Error(_("Error while running transaction!")); -+ return false; -+ } else if (rc > 0) { -+ _error->Error(_("%d problems while running transaction"), rc); -+ return false; -+ } else { -+ if (debug) clog << "Success!!!" << endl; -+ } -+ rpmtsFree(TS); -+ if (debug) clog << "TS freed" << endl; -+ return true; -+} -+#else -+// rpm-cli version - bool pkgRPMPM::ExecRPM(Item::RPMOps op, vector<const char*> &files) - { - const char *Args[10000]; -@@ -427,7 +564,6 @@ - return true; - } - -- - bool pkgRPMPM::Process(vector<const char*> &install, - vector<const char*> &upgrade, - vector<const char*> &uninstall) -@@ -440,7 +576,8 @@ - ExecRPM(Item::RPMUpgrade, upgrade); - return true; - } -- -+// end of rpm-cli version -+#endif - - // RPMPM::Go - Run the sequence /*{{{*/ - // --------------------------------------------------------------------- ---- apt-0.5.5cnc6/apt-pkg/rpm/rpmpm.h.rpmlib 2003-06-11 18:56:02.000000000 +0300 -+++ apt-0.5.5cnc6/apt-pkg/rpm/rpmpm.h 2003-06-11 18:56:22.000000000 +0300 -@@ -11,15 +11,25 @@ - #ifndef PKGLIB_rpmPM_H - #define PKGLIB_rpmPM_H - -+#ifndef RPMLIB -+#define RPMLIB -+#endif -+ - #ifdef __GNUG__ - #pragma interface "apt-pkg/rpmpm.h" - #endif - -+#include <apt-pkg/rpmsystem.h> - #include <apt-pkg/packagemanager.h> - #include <vector> - -+#include <rpm/rpmts.h> -+#include <rpm/rpmlib.h> -+#include <rpm/rpmmacro.h> - using namespace std; - -+typedef struct headerToken * RPMHeader; -+ - class pkgRPMPM : public pkgPackageManager - { - protected: -@@ -37,6 +47,11 @@ - }; - vector<Item> List; - -+#ifdef RPMLIB -+ RPMHandler *Handler; -+ rpmts TS; -+#endif -+ - // Helpers - bool RunScripts(const char *Cnf); - bool RunScriptsWithPkgs(const char *Cnf); diff --git a/apt-0.5.5cnc6-virtver.patch b/apt-0.5.5cnc6-virtver.patch deleted file mode 100644 index 7acf152..0000000 --- a/apt-0.5.5cnc6-virtver.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- apt-0.5.5cnc6/cmdline/apt-get.cc.virt 2003-08-17 12:22:18.000000000 +0300 -+++ apt-0.5.5cnc6/cmdline/apt-get.cc 2003-08-17 12:25:06.000000000 +0300 -@@ -1597,6 +1597,13 @@ - - // Locate the package - pkgCache::PkgIterator Pkg = Cache->FindPkg(S); -+ -+ // Handle foo=ver for virtual packages -+ if (Pkg->VersionList == 0 && VerTag) { -+ sprintf(S, "%s#%s", S, VerTag); -+ VerTag = 0; -+ Pkg = Cache->FindPkg(S); -+ } - Packages++; - if (Pkg.end() == true) - { diff --git a/apt.conf b/apt.conf index e0a0094..88e5c23 100644 --- a/apt.conf +++ b/apt.conf @@ -1,63 +1,20 @@ -APT -{ - // Give stable archive a higher priority by default - Default-Release "stable"; - // Options for apt-get - Get - { - Download-Only "false"; - Show-Upgraded "true"; - }; - -}; - -Dir -{ - Etc - { - Scripts "/usr/lib/apt/scripts/"; - }; -}; +// User customizable configuration RPM { - // Completely ignore GnuPG signature packages (introduced in rpm 4.1) - Ignore { "gpg-pubkey"; }; - // Allow multiple kernel and kernel-related packages to be installed - Allow-Duplicated { "^kernel(-(BOOT|bigmem|debug|smp|unsupported|source))?$"; "^gpg-pubkey$"; }; - // Enable source rebuilds - Source - { - Build-Command "rpmbuild --rebuild"; - }; - // These are for Lua-script configuration - // Do GPG-signature checking for packages - GPG-Check "true"; - // Enable to upgrade kernel along with (dist-)upgrade - Upgrade-Kernel "false"; - // Enable to hold back packages with modified config files in (dist-)upgrade - Preserve-Config "false"; + // Uncomment to disable GPG-signature checking for packages + // GPG-Check "false"; + // Uncomment to prevent kernel being handled along with (dist-)upgrade + // Upgrade-Virtual "false"; + // Uncomment to hold packages with modified config files in (dist-)upgrade + // Preserve-Config "true"; }; // Options for the downloading routines Acquire { - Retries "1"; - http::User-Agent "Fedora APT-HTTP/1.3"; + // Retries "1"; // http::Proxy "http://user:password@proxy-server.domain.tld:port/"; // http::Proxy "http://proxy-server.domain.tld:port/"; }; -Scripts -{ - Init { "gpg-import.lua"; }; - RPM - { - Pre { "gpg-checker.lua"; }; - }; - Apt - { - Upgrade { "kernel-upgrade.lua"; "preserve-conf.lua"; }; - DistUpgrade {"kernel-upgrade.lua"; "preserve-conf.lua"; }; - }; -} diff --git a/apt.spec b/apt.spec index 50e9fd9..4795619 100644 --- a/apt.spec +++ b/apt.spec @@ -1,105 +1,96 @@ - -%define rel 8 - -# this affects paths in sources.list: note 8.0 vs 9 -%{!?rhrel:%define rhrel %(cut -d' ' -f5 /etc/redhat-release )} - -%if "%{rhrel}" == "9" -%define distrel rh90 -%else -%define distrel rh%(echo %{rhrel} | sed 's/\\.//') -%endif +# needed for rpmpriorities and mirror-select.conf: +%{!?fcrel:%define fcrel %(cut -d' ' -f4 /etc/fedora-release )} # the python bindings only work with python >= 2.something %define pythonver %(echo $(python2 -c "import sys; v=sys.version_info[:2]; print '%d.%d'%v" 2>/dev/null)) -%define rpmver %(echo $(rpm -q --queryformat "%{VERSION}" rpm)) + +# we need to work around various missing builddeps in rpm :-/ +%{!?rpmver:%define rpmver %(rpm --version | cut -d' ' -f3)} Summary: Debian's Advanced Packaging Tool with RPM support. Name: apt -Version: 0.5.5cnc6 -Release: 0.fdr.%{rel}.%{distrel}%{?_with_rpmlib:.rpmlib} +Version: 0.5.15cnc6 +Release: 0.fdr.11.1 Epoch: 0 Group: System Environment/Base +URL: https://moin.conectiva.com.br/AptRpm License: GPL -Source0: http://moin.conectiva.com.br/files/AptRpm/attachments/%{name}-%{version}.tar.bz2 +ExcludeArch: x86_64 + +# unfortunately the source isn't really directly downloadable with wget etc: +#Source0: https://moin.conectiva.com.br/AptRpm?action=AttachFile&do=get&target=apt-0.5.15cnc6.tar.bz2 +Source0: %{name}-%{version}.tar.bz2 + +# user editable template configs Source1: apt.conf Source2: sources.list Source3: vendors.list Source4: apt_preferences -Source5: rpmpriorities.rh80 -Source6: rpmpriorities.rh90 -Source6: rpmpriorities.rh90.93 + +# rpmpriorities generated from comps.xml base group +Source5: rpmpriorities.1 +Source6: rpmpriorities.1.91 + # Sources 50-99 are for Lua-scripts Source50: gpg-checker.lua Source51: gpg-import.lua -Source52: kernel-upgrade.lua -Source53: preserve-conf.lua -# 1XX for sources.list.d -Source100: macromedia.list -# 2xx for trusted gpg keys -# RH key -Source200: gpg-pubkey-db42a60e-37ea5438 -# RH beta key -Source201: gpg-pubkey-897da07a-3c979a7f -# Fedora key -Source202: gpg-pubkey-8df56d05-3e828977 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +Source52: preserve-conf.lua +Source53: mirror-select.lua +Source54: upgradevirt.lua + +# 100-149 for sources.list.d +# no default entry for fedora at all +#Source100: fedora.list +#Source101: macromedia.list + +# 150-199 for apt.conf.d +# "factory defaults" for Fedora Core +Source150: default.conf +Source151: mirror-select.conf -# others deps are automatically picked up by rpm +# 200-249 for trusted gpg keys +# Fedora key +Source200: gpg-pubkey-4f2a6fd2-3f9d9d3b +# Fedora.us key +Source201: gpg-pubkey-8df56d05-3e828977 +# "Old" RHL key +Source202: gpg-pubkey-db42a60e-37ea5438 +# Fedora Legacy key +Source203: gpg-pubkey-731002fa-400b9109 + +# 250-299 for vendor.list.d +Source250: fedora-vendor.list +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +# Others deps are automatically picked up by rpm Requires: gnupg, bzip2 +# Needed by the mirror-selector script +Requires: wget -# FIXME: this needs more thought.. need to determine things like -# libelf-devel vs elfutils-devel from distro and use those instead of -# hardcoded etc. -%if "%{rpmver}" == "4.2.1" BuildRequires: beecrypt-devel BuildRequires: elfutils-devel -%endif -%if "%{rpmver}" == "4.2" -BuildRequires: elfutils-devel -%endif -%if "%{rpmver}" == "4.1.1" -BuildRequires: libelf-devel -%endif -%if "%{rpmver}" == "4.1" -BuildRequires: libelf-devel +BuildRequires: python-devel >= 0:%{pythonver} +BuildRequires: rpm-devel, zlib-devel, bzip2-devel, libstdc++-devel, gettext +BuildRequires: docbook-utils, perl, readline-devel, ncurses-devel +# for version detection to work +BuildRequires: fedora-release + +%if "%{rpmver}" == "4.3" +BuildRequires: libselinux-devel %endif -%if "%{rhrel}" != "7.3" -BuildRequires: gettext >= 0:0.11.4 -%define python python -%else -%define python python2 -%endif - -BuildRequires: %{python}-devel >= 0:%{pythonver} -BuildRequires: rpm-devel, zlib-devel, bzip2-devel, libstdc++-devel -BuildRequires: docbook-utils, perl, bison, readline-devel, ncurses-devel - -# Fix rpmpriorities file for rh73 -Patch0: apt-0.5.4cnc7-rpmpriorities.patch # Fix some issues in python binding build -Patch1: apt-0.5.5cnc5-pymake.patch -# Only look at files ending in .list in sources.list.d directory -Patch2: apt-0.5.5cnc4.1-sourcelist.patch +Patch1: apt-0.5.15cnc6-pymake.patch # Fix segfault in rpm-dir with dangling symlinks -Patch3: apt-0.5.5-rpmdir-symlink.patch -# Speed up initializing by not checking header signatures & digests at startup -Patch4: apt-0.5.5cnc5-nodigest.patch -# Fix installing older allowduplicated packages -Patch5: apt-0.5.5cnc5-oldpkg.patch -# Experimental rpm-src-dir support (works only partially) -Patch6: apt-0.5.5cnc5-src-dir-00.patch -# Fix building with rpm >= 4.2.1 -Patch7: apt-0.5.5cnc6-fclose.patch -# Support pkg=version for virtual packages on the command line -Patch8: apt-0.5.5cnc6-virtver.patch -# Support build dependencies on virtual provides (patch from Debian upstream) -Patch9: apt-0.5.5cnc6-builddepvirtual.patch - -# Experimental patch to remove the call to external rpm binary -# Enable with "--with rpmlib" -Patch20: apt-0.5.5cnc6-rpmlib-2.patch +Patch2: apt-0.5.5-rpmdir-symlink.patch +# Make rpm manifest usage configurable +Patch3: apt-0.5.15cnc5-manifest-limit.patch +# Docbook build fist, send upstream +Patch4: apt-0.5.15cnc6-docbook.patch +# Make build-dep check for broken dependencies +Patch5: apt-0.5.15cnc6-build-dep-fixdeps.patch +# Take read-only, not exclusive rpmdb lock for the initial dependency processing +Patch6: apt-0.5.15cnc6-rdonly.patch %description A port of Debian's apt tools for RPM based distributions. @@ -119,27 +110,20 @@ with APT's libapt-pkg package manipulation library, modified for RPM. %package python Summary: Python bindings for libapt-pkg Group: Development/Libraries -Requires: %{name} = %{epoch}:%{version}-%{release}, %{python} => 0:%{pythonver} +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: %{_bindir}/python%{pythonver} %description python The apt-python package contains a module which allows python programs to access the APT library interface. %prep %setup -q -%patch0 -p1 -b .rpmpriorities %patch1 -p1 -b .pymake -%patch2 -p1 -b .sourcelist -%patch3 -p1 -b .rpmdir -%patch4 -p1 -b .nodigest -%patch5 -p1 -b .oldpkg -%patch6 -p1 -b .srcdir -%patch7 -p1 -b .fclose -%patch8 -p1 -b .virtver -%patch9 -p1 -b .builddep - -%if %{?_with_rpmlib:1}%{!?_with_rpmlib:0} -%patch20 -p1 -b .rpmlib -%endif +%patch2 -p1 -b .rpmdir +%patch3 -p1 -b .manifest +%patch4 -p0 -b .docbook +%patch5 -p0 -b .build-dep-fix +%patch6 -p1 -b .rdonly # fix docs to reference correct paths perl -pi -e \ @@ -147,106 +131,94 @@ perl -pi -e \ s|/usr/share/doc/apt/|%{_docdir}/%{name}-%{version}/|' \ doc/apt.ent doc/fr/apt.ent.fr -# use /usr/bin/python2 -perl -pi -e 's|python -c|%{python} -c|' python/Makefile %build # disabling build dep tracking ought to make rpm-building a bit faster -%configure \ - --disable-dependency-tracking \ -%if "%{rhrel}" == "7.3" - --disable-scripts \ - --with-included-gettext \ -%endif - +%configure --disable-dependency-tracking +SGML_CATALOG_FILES=$(ls -1 %{_sysconfdir}/sgml/sgml-docbook-3.1* | head -n 1) \ make %{?_smp_mflags} NOISY=1 touch python/apt.py python/apt_wrap.cxx make -C python %{?_smp_mflags} -%{python} -c "import py_compile; py_compile.compile('python/apt.py')" +python -c "import py_compile; py_compile.compile('python/apt.py')" %install -rm -rf %{buildroot} +rm -rf $RPM_BUILD_ROOT -%makeinstall includedir=%{buildroot}%{_includedir}/apt-pkg +%makeinstall includedir=$RPM_BUILD_ROOT%{_includedir}/apt-pkg %find_lang %{name} # The state files -mkdir -p %{buildroot}%{_localstatedir}/cache/apt/archives/partial -mkdir -p %{buildroot}%{_localstatedir}/cache/apt/genpkglist -mkdir -p %{buildroot}%{_localstatedir}/cache/apt/gensrclist -mkdir -p %{buildroot}%{_localstatedir}/state/apt/lists/partial +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/apt/archives/partial +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/apt/genpkglist +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/apt/gensrclist +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/state/apt/lists/partial # The config files -mkdir -p %{buildroot}%{_sysconfdir}/apt -mkdir -p %{buildroot}%{_sysconfdir}/apt/scripts -mkdir -p %{buildroot}%{_sysconfdir}/apt/apt.conf.d -mkdir -p %{buildroot}%{_sysconfdir}/apt/sources.list.d -mkdir -p %{buildroot}%{_sysconfdir}/apt/vendors.list.d -install -p -m 644 %{SOURCE1} %{SOURCE2} %{SOURCE3} %{buildroot}%{_sysconfdir}/apt/ -install -p -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/apt/preferences -# FIXME: generate useful rpmpriorities for 7x too... -%if "%{rhrel}" == "7.3" -install -p -m 644 rpmpriorities %{buildroot}%{_sysconfdir}/apt/ -%else -install -p -m 644 $RPM_SOURCE_DIR/rpmpriorities.%{distrel} %{buildroot}%{_sysconfdir}/apt/rpmpriorities -%endif - -# install sources.list.d entries -for srclist in %{SOURCE100}; do - install -p -m 644 $srclist %{buildroot}%{_sysconfdir}/apt/sources.list.d/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/apt +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/apt/scripts +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/apt/apt.conf.d +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/apt/sources.list.d +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/apt/vendors.list.d +install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/apt/apt.conf +install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/apt/sources.list +install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/apt/vendors.list +install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT/%{_sysconfdir}/apt/preferences +install -p -m 644 $RPM_SOURCE_DIR/rpmpriorities.%{fcrel} $RPM_BUILD_ROOT/%{_sysconfdir}/apt/rpmpriorities + +# install config parts +for cnf in %{SOURCE150} %{SOURCE151}; do + install -p -m 644 $cnf $RPM_BUILD_ROOT%{_sysconfdir}/apt/apt.conf.d/ done +# fix mirror-select path +perl -pi -e "s/FCREL/%{fcrel}/g" $RPM_BUILD_ROOT%{_sysconfdir}/apt/apt.conf.d/mirror-select.conf -# Fixup source list entries -%if "%{rhrel}" == "7.3" -# Handle macromedia repo exception -perl -pi -e "s/RHREL/7.x/g" \ - %{buildroot}%{_sysconfdir}/apt/sources.list.d/macromedia.list -# fedora doesn't do 7.3 (yet). -perl -pi -e "s/^rpm/#rpm/g" %{buildroot}%{_sysconfdir}/apt/sources.list -%endif - -perl -pi -e "s/RHREL/%{rhrel}/g" \ - %{buildroot}%{_sysconfdir}/apt/sources.list \ - %{buildroot}%{_sysconfdir}/apt/sources.list.d/*.list - +install -p -m 644 %{SOURCE250} $RPM_BUILD_ROOT%{_sysconfdir}/apt/vendors.list.d/fedora.list # GPG keys -mkdir -p %{buildroot}%{_sysconfdir}/apt/gpg/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/apt/gpg/ for gpgkey in %{SOURCE200} %{SOURCE201} %{SOURCE202}; do - install -p -m 644 $gpgkey %{buildroot}%{_sysconfdir}/apt/gpg/ + install -p -m 644 $gpgkey $RPM_BUILD_ROOT%{_sysconfdir}/apt/gpg/ done # Lua scripts -mkdir -p %{buildroot}%{_libdir}/apt/scripts -for script in %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53}; do - install -p -m 755 $script %{buildroot}%{_libdir}/apt/scripts/ +mkdir -p $RPM_BUILD_ROOT%{_libdir}/apt/scripts +for script in %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53} %{SOURCE54}; do + install -p -m 755 $script $RPM_BUILD_ROOT%{_libdir}/apt/scripts/ done # The python bindings -mkdir -p %{buildroot}%{_libdir}/python%{pythonver}/site-packages/ -install -p -m 755 python/apt.py* python/_apt.so %{buildroot}%{_libdir}/python%{pythonver}/site-packages/ +mkdir -p $RPM_BUILD_ROOT%{_libdir}/python%{pythonver}/site-packages/ +install -p -m 755 python/apt.py* python/_apt.so $RPM_BUILD_ROOT%{_libdir}/python%{pythonver}/site-packages/ # nuke .la files -rm -f %{buildroot}%{_libdir}/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la + +# don't require python, lua etc because of stuff in doc/contrib +find contrib/ -type f |xargs chmod 0644 + +%pre +if [ $1 -gt 1 ] && [ ! -f %{_sysconfdir}/apt/apt.conf.d/default.conf ]; then + mv -f %{_sysconfdir}/apt/apt.conf %{_sysconfdir}/apt/apt.conf.rpmsave + echo "NOTE: Default configuration changed!" + echo "If you have made any changes to the configuration locally" + echo "Merge your local customizations from %{_sysconfdir}/apt/apt.conf.rpmsave" + echo "to %{_sysconfdir}/apt/apt.conf" +fi -%post +%post /sbin/ldconfig -# Fix apt config for Lua-based gpg checking -CONF=/etc/apt/apt.conf -perl -pi -e 's:.*/usr/bin/apt-sigchecker.*: GPG-Check "true";:g' $CONF -if ! grep -q "gpg-checker.lua" $CONF; then - echo 'Scripts::Init:: "gpg-import.lua";' >> $CONF - echo 'Scripts::RPM::Pre:: "gpg-checker.lua";' >> $CONF +if [ ! -f %{_sysconfdir}/apt/apt.conf ]; then + echo "// User customizable configuration goes here" > %{_sysconfdir}/apt/apt.conf fi %postun -p /sbin/ldconfig %clean -rm -rf %{buildroot} +rm -rf $RPM_BUILD_ROOT %files -f %{name}.lang @@ -258,12 +230,17 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/apt/apt.conf.d %dir %{_sysconfdir}/apt/gpg %{_sysconfdir}/apt/gpg/gpg-pubkey* -%config(noreplace) %{_sysconfdir}/apt/apt.conf +%config(noreplace) %{_sysconfdir}/apt/rpmpriorities %config(noreplace) %{_sysconfdir}/apt/preferences +%config(noreplace) %{_sysconfdir}/apt/apt.conf %config(noreplace) %{_sysconfdir}/apt/sources.list -%config(noreplace) %{_sysconfdir}/apt/sources.list.d/*.list %config(noreplace) %{_sysconfdir}/apt/vendors.list -%config(noreplace) %{_sysconfdir}/apt/rpmpriorities +# NOTE: no noreplace on these because we WANT to be able to change the defaults +# without user intervention! +%config %{_sysconfdir}/apt/apt.conf.d/* +#%config %{_sysconfdir}/apt/sources.list.d/*.list +%config %{_sysconfdir}/apt/vendors.list.d/* + %{_bindir}/apt-cache %{_bindir}/apt-cdrom %{_bindir}/apt-config @@ -290,6 +267,245 @@ rm -rf %{buildroot} %{_libdir}/python%{pythonver}/site-packages/* %changelog +* Fri Apr 09 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.11 +- revert the ctrl-c workaroound, the "cure" is worse than the disease + +* Thu Apr 08 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.10 +- take readonly rpmdb lock initially, not exclusive + +* Thu Apr 08 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.9 +- patch from upstream to plug segfault if ctrl-c'ing while downloading +- apt isn't multilib-safe, exclude arch x86_64 (bug #1464) + +* Tue Apr 06 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.8 +- fix build-dep issue reported in #1429 + +* Mon Apr 05 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.7 +- don't run gpg-import at all as a normal user + +* Mon Apr 05 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.6 +- don't fail in gpg-checker if directory / files don't exist +- don't spit out spurious error messages if importing fails (#1398) +- allow turning off the gpg-import via true/false configuration item +- explicitly list GPG-Check and GPG-Import config options in default.conf +- generate mirror-select.conf based on FC release automatically +- buildrequires fedora-release for version detection +- rename Upgrade-Kernel -> Upgrade-Virtual in sample apt.conf + +* Sat Apr 03 2004 Warren Togami <wtogami@redhat.com> 0.5.15cnc6-0.fdr.5 +- Ville's docbook building fix + +* Tue Mar 30 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.4 +- add upgrade-virtual=true back to default.conf +- updated version of upgradevirt.lua, fixed kernel-module package handling + +* Mon Mar 29 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.3 +- remember to include upgradevirt.lua.. + +* Mon Mar 29 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.2 +- allow-duplicated lua script was getting incorrectly copied to scripts/ +- fix some permissions of source files to make rpmlint happy +- don't copy source53 twice +- in gpg-import check that the file is called gpg-pubkey* and ignore others + +* Sun Mar 28 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.1 +- move back to upgradevirt.lua, allow-duplicated from contrib doesn't like + RH kernel packages +- remember to set kernel::module-prefix in default.conf +- add upgradevirt.lua to all the necessary new slot +- move kernel from Essential priority to Important in rpmpriorities, allow- + duplicated packages don't behave well with Essential priority + +* Mon Mar 22 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.1 +- update to 0.5.15cnc6 +- fix the source url + +* Sat Mar 20 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc6-0.fdr.0.r309.1 +- update to revision r309 snapshot +- remove patches merged upstream +- drop upgradevirt.lua, use allow-duplicated from contrib instead +- updated gpg-checker scripts (fix #1398) +- updated mirror-select scripts + +* Sun Feb 29 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.10 +- re-add promoteepoch patch, it got accidentally left out of the upstream-patch + +* Wed Feb 25 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.9 +- Change the comments mirror-select writes as requested in #1180 + +* Fri Feb 13 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.8 +- Pull patch for revs 266-274 from upstream, containing various important + fixes (epoch handling, build system related etc) + +* Thu Feb 09 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.7 +- Fix build on FC2-test1 (conditional libselinux-devel buildreq) + +* Mon Feb 09 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.6 +- automatically handle fedora.us style kernel-module packages with kernel + updates +- don't run mirror-selector if quiet mode set (== non-interactive) +- don't trash sources.list on upgrade, only if user chooses to do so + +* Wed Feb 04 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.5 +- don't break sources.list on upgrade from %%post + +* Wed Jan 28 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.4 +- updated mirror-selector: + * write to /etc/apt/sources.list.d/mirror-select.list, not main sources.list + * some cosmetic improvements +- move main sources.list out of the way on first upgrade to force user to + choose a mirror + +* Tue Jan 27 2004 Panu Matilainen <pmatilai@welho.com> +- Always initialize rpm transaction rootdir (hope to fix #1238) + +* Mon Jan 19 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.3 +- make rpm manifest usage configurable per Enricos request (patch 4) +- use mirror lists on fedora.us +- include Fedora Legacy gpg key + +* Tue Jan 06 2004 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.2 +- make newly installed kernel default by default +- clean up old cruft (sources.list editing etc) +- stricter python dependency for apt-python +- set all files in contrib non-executable, not just *.py +- fix couple of buglets in mirror-select.lua + +* Sat Dec 27 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc5-0.fdr.1 +- don't fail from mirror-select if /proc isn't mounted + +* Sat Dec 27 2003 Panu Matilainen <pmatilai@welho.com> +- don't create unneeded duplicate provides for virtualized packages (patch 3) + +* Fri Dec 26 2003 Panu Matilainen <pmatilai@welho.com> +- add missing dependency on wget for mirror-selector + +* Wed Dec 24 2003 Panu Matilainen <pmatilai@welho.com> +- update to 0.5.15cnc5 +- drop patches merged upstream + +* Tue Dec 23 2003 Panu Matilainen <pmatilai@welho.com> +- remove extranuous mirror-select configs from default.conf +- updated mirror-select script + +* Fri Dec 12 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc4-0.fdr.4 +- replace kernel-upgrade.lua with a more generic script which automatically + upgrades all virtualized (usually allow-duplicated) packages + +* Wed Dec 10 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc4-0.fdr.3 +- add missing gettext build dependency + +* Mon Dec 08 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc4-0.fdr.2 +- updated mirror-selector: + * download mirrorlist off the net + * support several mirror lists + * separate steps for choosing repositories and mirrors +- revert gensrclist change breaking older apts + +* Wed Dec 03 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc4-0.fdr.1 +- update to 0.5.15cnc4 +- drop obsolete "oldpkg" patch +- drop patches merged upstream +- remove default-release setting, causes unnecessary confusion among users +- remove reduntant stuff from fedora.conf, rename to default.conf +- no default repositories included +- add old RHL GPG key back, a few FC packages appear to be signed by it still + +* Tue Dec 02 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc3-0.fdr.5 +- fix default config wrt Lua scripts (various slot-names changed in cnc3) +- better handling of default config in lua-scripts +- turn kernel upgrading on by default in fedora.conf + +* Mon Dec 01 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc3-0.fdr.4 +- don't drag in dependency on external lua + +* Mon Dec 01 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc3-0.fdr.3 +- much improved mirror-selector script +- add various important upstream fixes (patches 6-8) +- add kernel*unsupported-modules to fedora.conf for 2.6 kernels + +* Tue Nov 25 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc3-0.fdr.2 +- trim rpmpriorities a bit +- add a "first-time druid" script to prompt user for nearest mirror +- no default fedora sources.list entry at all +- use sluglug.ucsc.edu mirror for macromedia instead of mplug.org + +* Mon Nov 24 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc3-0.fdr.1 +- update to official 0.5.15cnc3 +- move old apt.conf out of the way on upgrade to new-style config +- saner error messages in gpg-checker.lua + +* Mon Nov 24 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc2-0.fdr.2.r224.1 +- oops, some local cruft got included in previous version + +* Mon Nov 24 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc2-0.fdr.2.r224 +- update to revision 224 + +* Sat Nov 22 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc2-0.fdr.2.r213 +- update to revision 213 + +* Fri Nov 21 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc2-0.fdr.2.r210 +- snapshot of revision 210 from svn repo +- default to internal package manager (== rpmlib) +- remove old rpmlib-patch related logic from spec +- move default configs to sources.list.d, apt.conf.d and vendors.list.d, + leaving the apt.conf and sources.list for user localizations + +* Wed Nov 12 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc2-0.fdr.1 +- update rpmlib patch to -7 which has more sensible error reporting + +* Wed Nov 12 2003 Panu Matilainen <pmatilai@welho.com> +- update to 0.5.15cnc2 +- remove patches 6-9, they're merged upstream now +- use fedora-style buildroot +- drop the ugly apt.conf tweaking from post, wont fix everything anyway + if upgrading from old RHL's. +- add URL to spec (wake up QA, been missing all this time and nobody noticed :) +- remove rpm version checking, not needed anymore + +* Tue Nov 11 2003 Panu Matilainen <pmatilai@welho.com> +- drop the build-dep patches altogether, they're .. umm, borked + +* Tue Nov 11 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc1-0.fdr.3 +- stricter python dependency on -python +- remove out-of-date mirror list from sources.list, add pointer to + official mirror list URL +- drop all rawhide and test keys - we don't want those automatically imported + +* Mon Nov 10 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc1-0.fdr.2 +- add patch 11 from Gustavo to fix package pinning + +* Sat Nov 08 2003 Panu Matilainen <pmatilai@welho.com> 0.5.15cnc1-0.fdr.1 +- update to 0.5.15cnc1 +- back to 0.fdr.x releases... +- redhat -> fedora fixes in rpmpriorities.1 + +* Fri Nov 07 2003 Panu Matilainen <pmatilai@welho.com> 0.5.5cnc7-1 +- update to cnc7 +- drop patches 9 + 10 for now (re-evaluation needed) +- Fedora-keys added, old RH keys removed + +* Sun Nov 02 2003 Panu Matilainen <pmatilai@welho.com> +- update rpmlib patch to allow compiling against rpm-4.2.1 +- scrap old RHL version checking + deps +- buildroot -> RPM_BUILD_ROOT +- fix source lists for new repository layout + +* Thu Oct 23 2003 Panu Matilainen <pmatilai@welho.com> 0.5.5cnc6-0.fdr.11 +- add rpmpriorities for 0.95, drop 0.93 + +* Thu Oct 16 2003 Panu Matilainen <pmatilai@welho.com> +- update rpmlib patch to rev -5 (which actually works again :) + +* Wed Oct 01 2003 Panu Matilainen <pmatilai@welho.com> 0.5.5cnc6-0.fdr.10 +- include rpmpriorities for 0.94 +- more fixes for #667 (handle builddeps on versioned provides) + +* Tue Sep 30 2003 Panu Matilainen <pmatilai@welho.com> 0.5.5cnc6-0.fdr.9 +- add patch 10 to support build dependencies on files (#682) +- add new rawhide gpg key (#696) +- add distrel mangling for Fedora Core + * Wed Sep 03 2003 Panu Matilainen <pmatilai@welho.com> 0.5.5cnc6-0.fdr.8 - add patch 9 to support build dependencies on virtual packages (#667) - config(noreplace) for /etc/apt/rpmpriorities (#629) diff --git a/default.conf b/default.conf new file mode 100644 index 0000000..fa13192 --- /dev/null +++ b/default.conf @@ -0,0 +1,71 @@ +// +// These are "factory defaults", DO NOT CHANGE! +// Put your customizations to /etc/apt/apt.conf instead, those will +// override any setting in here. +// + +APT +{ + // Options for apt-get + Get + { + Download-Only "false"; + Show-Upgraded "true"; + Show-Versions "true"; + }; + +}; + +RPM +{ + // Completely ignore GnuPG signature packages (introduced in rpm 4.1) + Ignore { "gpg-pubkey"; }; + // Allow multiple kernel and kernel-related packages to be installed + Allow-Duplicated { "^kernel(-(BOOT|bigmem|debug|smp|unsupported|source))?(-(unsupported-modules))?$"; "^gpg-pubkey$"; }; + // XXX: not used currently + //Allow-Duplicated-Upgrade { "^kernel(-(BOOT|bigmem|debug|smp|unsupported|source))?(-(unsupported-modules))?$"; }; + // "Upgrade" allow-duplicated packages as well + Upgrade-Virtual "true"; + // Enable source rebuilds + Source + { + Build-Command "rpmbuild --rebuild"; + }; + // Always check GPG keys and automatically import new ones + GPG-Check "true"; + GPG-Import "true"; +}; + +// Options for the downloading routines +Acquire +{ + http::User-Agent "Fedora APT-HTTP/1.3"; +}; + +Scripts +{ + Init { "gpg-import.lua"; }; + PM + { + Pre { "gpg-checker.lua"; }; + Post { "upgradevirt.lua"; }; + }; + AptGet + { + Upgrade { "upgradevirt.lua"; }; + DistUpgrade {"upgradevirt.lua"; }; + Install::SelectPackage { "upgradevirt.lua"; }; + Install::PreResolve { "upgradevirt.lua"; }; + }; + Synaptic + { + DistUpgrade { "upgradevirt.lua"; }; + } +} + +// upgradevirt.lua specific item - make newly installed kernel default +Kernel +{ + Set-Default "true"; + Module-Prefix { "kernel-module-"; }; +} diff --git a/fedora-vendor.list b/fedora-vendor.list new file mode 100644 index 0000000..b6b5c4b --- /dev/null +++ b/fedora-vendor.list @@ -0,0 +1,4 @@ +simple-key "fdr" { + Fingerprint "B5BDCEB28F0D54DE6F4D227529D5BA248DF56D05"; + Name "Fedora Linux (RPMS) <security@fedora.us>"; +} diff --git a/gpg-checker.lua b/gpg-checker.lua index bf4d378..befeb91 100644 --- a/gpg-checker.lua +++ b/gpg-checker.lua @@ -1,8 +1,12 @@ -if not confexists("RPM::GPG-Check") or confget("RPM::GPG-Check/b") == "false" then +if confget("RPM::GPG-Check/b", "true") == "false" then return end -print("Checking GPG signatures...") +if table.getn(files_install) < 1 then + return +end + +print(_("Checking GPG signatures...")) good = 1 unknown = 0 illegal = 0 @@ -10,25 +14,29 @@ unsigned = 0 for i, file in ipairs(files_install) do inp = io.popen("LANG=C /bin/rpm --checksig "..file.." 2>&1") + for line in inp.lines(inp) do if string.find(line, "gpg") then break elseif string.find(line, "GPG") then - print("Unknown signature "..line) + print(_("Unknown signature "..line)) unknown = unknown + 1 good = nil elseif string.find(line, "rpmReadSignature") then - print("Illegal signature "..line) + print(_("Illegal signature "..line)) illegal = illegal + 1 good = nil else - print("Unsigned "..line) + print(_("Unsigned "..line)) unsigned = unsigned + 1 good = nil end end + io.close(inp) end if not good then - apterror("Error: "..unsigned.." unsigned packages\n"..unknown.." unknown signatures\n"..illegal.." illegal/corrupted signatures") + apterror(_("Error(s) while checking package signatures:\n"..unsigned.." unsigned package(s)\n"..unknown.." package(s) with unknown signatures\n"..illegal.." package(s) with illegal/corrupted signatures")) end + +-- vim::ts=4 diff --git a/gpg-import.lua b/gpg-import.lua index ff849cd..6a70ac5 100644 --- a/gpg-import.lua +++ b/gpg-import.lua @@ -1,13 +1,38 @@ -inp = io.popen("LANG=C ls /etc/apt/gpg/gpg-pubkey-*") + +-- don't bother if no write access to rpmdb +if not posix.access("/var/lib/rpm", "w") then + return +end + +if confget("RPM::GPG-Import", "true") == "false" then + return +end + + +keypath = confget("Dir::Etc/f").."gpg/" +keys = posix.dir(keypath) + +if not keys then + return +end + first = 1 -for line in inp.lines(inp) do - ret = os.execute("LANG=C rpm -q `basename "..line.."` > /dev/null 2>&1") - if ret > 0 then - if first then - print("You don't seem to have one or more of the needed GPG keys in your RPM database.") - print("Importing them now...") - first = nil +for i, key in ipairs(keys) do + if string.sub(key, 1, 10) == "gpg-pubkey" then + ret = os.execute("LANG=C rpm -q `basename "..key.."` > /dev/null 2>&1") + if ret > 0 then + if first then + print(_("You don't seem to have one or more of the needed GPG keys in your RPM database.")) + print(_("Importing them now...")) + first = nil + end + ret = os.execute("LANG=C rpm --import "..keypath..key.." > /dev/null 2>&1") + if ret > 0 then + print(_("Error importing GPG keys")) + return + end end - os.execute("LANG=C rpm --import "..line) end end + +-- vim:ts=4 diff --git a/gpg-pubkey-4f2a6fd2-3f9d9d3b b/gpg-pubkey-4f2a6fd2-3f9d9d3b new file mode 100644 index 0000000..17d4ec7 --- /dev/null +++ b/gpg-pubkey-4f2a6fd2-3f9d9d3b @@ -0,0 +1,27 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.0.7 (GNU/Linux) + +mQGiBD+dnTsRBACwnlz4AhctOLlVBAsq+RaU82nb5P3bD1YJJpsAce1Ckd2sBUOJ +D11NUCqH8c7EctOquOZ5zTcWxHiWWbLyKQwUw2SUvnWa5SSbi8kI8q9MTPsPvhwt +gMrQMLenMO+nsrxrSaG6XcD+ssfJNxC7NQVCQAj3pvvg9rKi3ygsM7CXHwCghgsq +X6TOr55HE90DbEsoq3b/jjsD/i8aIZ6urUgrpAkQslcakXdJLKgSdwjRUgVZgvYZ +b7kAx1iPq0t/AhB3NJw3zW4AAKJohGg3xj5K4V8PJEZrSIpoRYlF43Kqlfu2p5gh +WT89SP4YAlWPeTqf0+dTYUYz3b144k2ZFOdRuXIRxunoYNAUr9oMrxBXbJ/eY+0U +QX3pBACYzKizyY4JJgd0zFJmNkcdK9nzcm+btYFnYQo33w5GSE686UNr+9yiXt9t +mPRvNEbj3u+xoAX8B/5k3aZ5NbUhV64/VcKlUdRIxNlFCG7I9KgxeHWAYwi7yqOG +XM3T/v6o7GLdQEB0ChFqS7kUlqmwLV+C3QhlrFe/Cuk26i+Q6rQiRmVkb3JhIFBy +b2plY3QgPGZlZG9yYUByZWRoYXQuY29tPohbBBMRAgAbBQI/nZ07BgsJCAcDAgMV +AgMDFgIBAh4BAheAAAoJELRCadBPKm/S2PAAnRTlhorITphab+oxAHtbxZF9BVyD +AJ9WOVaZUG53IWWIAXOGv3j/cmr3lohGBBMRAgAGBQI/nZ22AAoJECGRgM3bQqYO +R5QAoIp1G+omVktq/snxpmz5UeHjlSYjAKCRr/ea/L7S7ZTxB18cf1TYfad1x4hG +BBARAgAGBQI/ntjgAAoJECnVuiSN9W0FUSUAoJnrone4J0o1HMkRz+6g9KVuO2Fy +AJ0XyebOzVmI9U5OyOfnNmYV0wnQcrkBDQQ/nZ08EAQAugOfLWJbKwMA9vg2mJU5 +94TZU0HRJkx/fqYhx0YxWWRpzplrEyvcDXuYcWi1Hwh0tD86T4fR5GV6joWiWClz +D+Hwhhb6gcSdeSGlGLlZAvWYtFSHWiv+3LaI9w8Vtczl99Bh2WiMDNDDGw0RQg6Z +aftldLSe4j1pffpFGQ8SuisAAwUEAKVxqLT7fC5xQ6oclcZ+PhoDlePQ1BiTS7tu +GM07bFF4nNvY91LL7S31pooz3XbGSWP8jxzSv1Fw35YhSmWGOBOEXluqMbVQGJJ5 +m8fqJOjC0imbfeWgr/T7zLrJeiljDxvX+6TyawyWQngF6v1Hq6FRV0O0bOp9Npt5 +zqCbDGs/iEYEGBECAAYFAj+dnTwACgkQtEJp0E8qb9L//gCcDVYnDegNCOxDn1se +dDwxw+0h8OcAn1CZHof15QqxnTwEnvwF2QeOI5dn +=mJAx +-----END PGP PUBLIC KEY BLOCK----- diff --git a/gpg-pubkey-731002fa-400b9109 b/gpg-pubkey-731002fa-400b9109 new file mode 100644 index 0000000..d15e7e9 --- /dev/null +++ b/gpg-pubkey-731002fa-400b9109 @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.0.7 (GNU/Linux) + +mQGiBEALkQkRBACCBCp/a5rsqy2Q0NW/2OMkYtsb3k5M6dsQYoHDLiZK4VG1j+Bf +2zzp+HJiUnLFp/l7mROuRioU9/UHpEYFIVunBYXeZf84OxB+mruh9UZtYn3oVXtH +oaMI7hIFirTZ5eEY7zrfvTbvZ2Sm5cE3F2G5sWVOfxhl5opinuWN4xtSwwCggooh +LqarkF4KN6D8xoyjrhLaxiMD/Az7RE6oH0Vwl9dX7YmccymDEesT5Ql6Q5FvfkuZ +F5ZaQwaBO2ko2hMMh2AdCxoYAZPjWqC5r6Wy9P8hMfh+A0S4zon2DE/r0d4vLEY2 +HoptwtElq6gpltydx+/vXhZWkwCO//Kz9wXgZr496KtGXmEKYtdlVScBW6OvdyyD +18zeA/9RuY59C7uxxe6cu7amqjP52xx5rHGkdJD5E8o3rmjdsr9tJ3FcjtIV0DV2 +BkfLIMnsp2gd972n7JBzlA9LJ+JTtMzvf9WdrErpRz1VeI1jHe4/hNGe3hd6xJIE +rxj5FH+LwTj3vfErZdKsWOuudNkz1N4AwZr/k05gV3bi7j8RCLRIRmVkb3JhIExl +Z2FjeSAoaHR0cDovL3d3dy5mZWRvcmFsZWdhY3kub3JnKSA8c2Vjbm90aWNlQGZl +ZG9yYWxlZ2FjeS5vcmc+iFkEExECABkFAkALkQkECwcDAgMVAgMDFgIBAh4BAheA +AAoJEBCMRRJzEAL686wAn3bA5dioMd0UDpUaES9TglLDpONbAJ467XWdHHwhxuHz +oxWc3q7rWPBinLkCDQRAC5EuEAgAsPAVcrvrKB1A/hxoM61KEgaLB9GnGUOgoaV6 +I58stO3sxaxj3bblrpIJjo02BA49xrtL8kpqjKveABThVC1yiSYfySmXKHlO09cv +A+qj+QSxieRciFKc50F1+j8q5Hqcigxzwhr4sJt5IhAx6HIwar5uxNNBgE98JN42 +GthUH39G+alRmzVd+3gQCLFroJSzHtFX7IlwHM33owAZwIVGlUhlBTHdbsvGf0xG +mPYkI+JAUXpTTsnP7kR0/Ktm3zAHBEMw19eqQ5MSwVo28cA+jq2sLrL5DiE5quCd +tB/RVnUUdbfN/o8sN6yxssNB6ZOB61l0K8bvm+9Qgstn/EQFSwADBggAmmFJueD1 +iXehZsRtaH+qZw7z6Q6jUPxDTiuVPhLkUux3wOSWMOp6S+ZYliCaw32TBKgE2SwT +NnvTJYsuGLf3ECxOxMmu2McDHYZM82zRV4PRBMKFfiOa67/x5lhZgEkqf9TO+wk5 +M67GYbjZoyBaYEiE+eWD2cdema3n3zXzy+q2UEkHkzHx6ME9dRrgND3EW2hC9GJ6 +7wY9h+BlUR6Am4o0/ZLZJ2QEvyVnlI3/zZo9L6h8waZKI4l16nuDr/O8z2UOYc/X +OMwBJCVwvbB2Z/f91dhy2EVWJZyyZBCG/FMXXDchxKwJOOQgrVbxWGDIMSdyHLUL +2FuWnC/vdKc7wYhGBBgRAgAGBQJAC5EuAAoJEBCMRRJzEAL6wkcAnAlIrH0JuGjL +T17HoheG/iUbj4Z4AJ9b/7OPGgNglwrLQJfihyPzManKYw== +=wmoy +-----END PGP PUBLIC KEY BLOCK----- diff --git a/gpg-pubkey-897da07a-3c979a7f b/gpg-pubkey-897da07a-3c979a7f deleted file mode 100644 index 5332931..0000000 --- a/gpg-pubkey-897da07a-3c979a7f +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.0.6 (GNU/Linux) -Comment: For info see http://www.gnupg.org - -mQGiBDySTqsRBACzc7xuCIp10oj5B2PAV4XzDeVxprv/WTMreSNSK+iC0bEz0IBp -Vnn++qtyiXfH+bGIE9jqZgIEnpttWhUOaU5LhcLFzy+m8NWfngIFP9QfGmGAe9Gd -LFeAdhj4RmSG/vgr7vDd83Hz22dv403Ar/sliWO4vDOrMmZBG57WGYTWtwCgkMsi -UUQuJ6slbzKn82w+bYxOlL0EAIylWJGaTkKOTL5DqVR3ik9aT0Dt3FNVYiuhcKBe -II4E3KOIVA9kO8in1IZjx2gs6K2UV+GsoAVANdfKL7l9O+k+J8OxhE74oycvYJxW -QzCgXMZkNcvW5wyXwEMcr6TVd/5BGztcMw8oT3/l2MtAEG/vn1XaWToRSO1XDMDz -+AjUA/4m0mTkN8S4wjzJG8lqN7+quW3UOaiCe8J3SFrrrhE0XbY9cTJI/9nuXHU1 -VjqOSmXQYH2Db7UOroFTBiWhlAedA4O4yuK52AJnvSsHbnJSEmn9rpo5z1Q8F+qI -mDlzriJdrIrVLeDiUeTlpH3kpG38D7007GhXBV72k1gpMoMcpbQ3UmVkIEhhdCwg -SW5jLiAoQmV0YSBUZXN0IFNvZnR3YXJlKSA8cmF3aGlkZUByZWRoYXQuY29tPohX -BBMRAgAXBQI8l5p/BQsHCgMEAxUDAgMWAgECF4AACgkQ/TcmiYl9oHqdeQCfZjw4 -F9sir3XfRAjVe9kYNcQ8hnIAn0WgyT7H5RriWYTOCfauOmd+cAW4iEYEEBECAAYF -AjyXmqQACgkQIZGAzdtCpg5nDQCfepuRUyuVJvhuQkPWySETYvRw+WoAnjAWhx6q -0npMx4OE1JGFi8ymKXktuQENBDySTq4QBADKL/mK7S8E3synxISlu7R6fUvu07Oc -RoX96n0Di6T+BS99hC44XzHjMDhUX2ZzVvYS88EZXoUDDkB/8g7SwZrOJ/QE1zrI -JmSVciNhSYWwqeT40Evs88ajZUfDiNbS/cSC6oui98iS4vxd7sE7IPY+FSx9vuAR -xOa9vBnJY/dx0wADBQQAosm+Iltt2uigC6LJzxNOoIdB5r0GqTC1o5sHCeNqXJhU -ExAG8m74uzMlYVLOpGZi4y4NwwAWvCWC0MWWnnu+LGFy1wKiJKRjhv5F+WkFutY5 -WHV5L44vp9jSIlBCRG+84jheTh8xqhndM9wOfPwWdYYu1vxrB8Tn6kA17PcYfHSI -RgQYEQIABgUCPJJergAKCRD9NyaJiX2geiCPAJ4nEM4NtI9Uj8lONDk6FU86PmoL -yACfb68fBd2pWEzLKsOk9imIobHHpzE= -=gpIn ------END PGP PUBLIC KEY BLOCK----- diff --git a/kernel-upgrade.lua b/kernel-upgrade.lua deleted file mode 100755 index 364c28e..0000000 --- a/kernel-upgrade.lua +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/apt-get script --- apt kernel upgrade script by pmatilai at welho.com --- modified by JH <jheinonen@users.sourceforge.net> --- intented to use with RedHat kernel naming conventions --- revision 2 / 2003-07-30 - -function get_running_kernel_ver() - inp = io.popen("uname -r") - for line in inp.lines(inp) do - return line - end -end - -kernelnames = {"bigmem", "smp"} - -function get_kerneltype() - for i, ktype in ipairs(kernelnames) do - if string.find(get_running_kernel_ver(), ktype) then - return "kernel-"..ktype - end - end - return "kernel" -end - -function get_latest(kname) - pkgs = pkglist() - latest = "0" - for i, pkg in ipairs(pkgs) do - if not pkgisvirtual(pkg) and string.find(pkgname(pkg), kname.."#") then - ver = pkgvercur(pkg) - if not ver then - ver = pkgvercand(pkg) - end - if ver and verstrcmp(verstr(ver), latest) > 0 then - latest = verstr(ver) - latestpkg = pkg - end - end - end - return latestpkg -end - -function remove_old_kernels(kname) - kver = get_running_kernel_ver() - pkgs = pkglist() - for i, pkg in ipairs(pkgs) do - if not pkgisvirtual(pkg) and string.find(pkgname(pkg), kname.."#") and - pkgvercur(pkg) then - if verstrcmp(verstr(pkgvercur(pkg)), kver) < 0 then - markremove(pkg) - end - end - end -end - -if not confexists("RPM::Upgrade-Kernel") or confget("RPM::Upgrade-Kernel/b") == -"false" then - return -end - -kname = get_kerneltype() -latest = get_latest(string.gsub(kname, "-", "--")) -if latest then - markinstall(latest) - if confexists("RPM::Remove-Old-Kernels") and confget("RPM::Remove-Old-Kernels/b")== "true" then - remove_old_kernels(kname) - end -end diff --git a/macromedia.list b/macromedia.list deleted file mode 100644 index 15cf20e..0000000 --- a/macromedia.list +++ /dev/null @@ -1,3 +0,0 @@ -# Repository for Macromedia Flash Plugin with redistribution limitations -rpm http://macromedia.mplug.org/apt redhat/RHREL macromedia -rpm-src http://macromedia.mplug.org/apt redhat/RHREL macromedia diff --git a/mirror-select.conf b/mirror-select.conf new file mode 100644 index 0000000..4d5bee7 --- /dev/null +++ b/mirror-select.conf @@ -0,0 +1,7 @@ +Scripts::Init:: "mirror-select.lua"; +Scripts::AptGet::Command:: "mirror-select.lua"; +Scripts::AptGet::Help::Command:: "mirror-select.lua"; +Dir::Etc::sourceparts::mirrorsource "mirror-select.list"; +Dir::State::mirrors "mirrors.list"; +Apt::State::mirrors-URL:: "http://www.fedora.us/mirrorlists/fedora.us-fc1-mirrors.list"; +Apt::State::mirrors-URL:: "http://www.fedora.us/mirrorlists/macromedia-fc1-mirrors.list"; diff --git a/mirror-select.lua b/mirror-select.lua new file mode 100755 index 0000000..fddcde9 --- /dev/null +++ b/mirror-select.lua @@ -0,0 +1,237 @@ +-- Repository/mirror selector for apt +-- Usable both as a first-time "druid" or as a "mirror-select" command +-- (c) pmatilai@welho.com / 2003 +-- Licensed under the GPLv2 + +if script_slot == "Scripts::AptGet::Help::Command" then + print(_(" mirror-select - Select repositories and mirrors for use with apt")) +elseif script_slot == "Scripts::Init" and not confexists("Apt::State::FirstRun") then + confset("Apt::State::ReallyFirstRun", "true") +elseif script_slot == "Scripts::AptGet::Command" then + if command_args[1] == "mirror-select" then + command_consume = 1 + else + return + end + -- on the very first run the mirror-selector has already been executed + if confexists("Apt::State::ReallyFirstRun") then + return + else + confset("Apt::State::FirstRun", "true") + end +end + +if confget("Apt::State::FirstRun/b", "true") == "false" then + return +end +-- don't run if set to non-interactive or not running on a tty +if tonumber(confget("quiet", "0")) > 0 then + return +end +-- check that we're not running synaptic +-- synaptic >= 0.47 +if confget("Program") == "synaptic" then + return + -- synaptic < 0.47 +else + cmdline = io.open("/proc/self/cmdline") + if cmdline then + res = cmdline:read() + if string.find(res, "synaptic") then + return + end + end +end + +function fetch_mirrors() + lmirror = confget("Dir::State::mirrors/f") + rmirrors = confgetlist("Apt::State::mirrors-URL") + urls = "" + for i, mirror in ipairs(rmirrors) do + urls = urls.." "..mirror + end + + print(_("Fetching list of repositories/mirrors...")) + res = os.execute("wget -q -O "..lmirror..".new "..urls) + if res == 0 then + os.rename(lmirror, lmirror..".old") + os.rename(lmirror..".new", lmirror) + return true + else + return false + end +end + + +function parse_mirrors() + local file = io.open(confget("Dir::State::mirrors/f")) + local line = file:read() + local list = {} + while line do + local entry = {} + entry.selected = false + entry.name = line + entry.mirrors = {} + line = file:read() + while line do + mirror = {} + mirror.name = line + mirror.server = file:read() + line = file:read() + if line == "--" or line == "----" then + mirror.selected = false + table.insert(entry.mirrors, mirror) + if line == "----" then + line = file:read() + break + end + else + apterror(_("Corrupted mirror list")) + return + end + line = file:read() + end + table.insert(list, entry) + end + file:close() + return list +end + +function disable_druid() + confset("Apt::State::FirstRun", "true") + if not confexists("Apt::State::ReallyFirstRun") then + return + end + aptconf = io.open(confget("Dir::Etc::main/f"), "a+") + aptconf:write(_('// Automatically written by your friendly first-time druid...\n')) + aptconf:write('Apt::State::FirstRun "false";\n') + aptconf:close() +end + +function write_sourcelist(list) + -- move sources.list out of the way when migrating to mirror-select config + if confexists("Apt::State::ReallyFirstRun") then + slmain = confget("Dir::Etc::sourcelist/f") + os.rename(slmain, slmain..".backup") + print(_("NOTE: "..slmain.." moved to "..slmain..".backup !!")) + sl = io.open(slmain, "w+") + sl:write(_('# Add any local repositories here.\n\n')) + sl:write(_('# Be sure to read /etc/apt/sources.list.d/mirror-select.list which has\n')) + sl:write(_('# been automatically configured by the Fedora apt mirror selector\n')) + sl:write('# Run "apt-get mirror-select" to reselect mirrors for that file.\n') + sl:close() + end + + srclist = io.open(sourcelist, "w+") + srclist:write(_('# DO NOT EDIT ME! Use "apt-get mirror-select" instead.\n')) + for i, entry in ipairs(list) do + if entry.selected == true then + for i, mirror in ipairs(entry.mirrors) do + if mirror.selected then + srclist:write("# "..entry.name.." ("..mirror.name..")\n") + srclist:write("rpm "..mirror.server.."\n") + srclist:write("rpm-src "..mirror.server.."\n") + srclist:write("\n") + end + end + end + end + srclist:close() +end + +function print_list(list) + for i, entry in ipairs(list) do + if entry.selected then + chosen = "(x)" + else + chosen = "" + end + print(i.." "..chosen, entry.name) + end +end + +function cls() + os.execute("clear") +end + +function select_list(list, res) + res = string.gsub(res..",", "(%p)", ",") + for w in string.gfind(res, "(.-),", "%1") do + num = tonumber(w) + if num == nul then + print(_("Invalid selection "..res.."\n")) + elseif num <= 0 or num > table.getn(list) then + print(_("Ignoring invalid selection "..num.."\n")) + else + if list[num].selected then + list[num].selected = false + else + list[num].selected = true + end + end + end +end + +function ask_list(list, message) + ok = false + while not ok do + print(message) + print_list(list) + + print(_("\nWhen finished choose 'c' to continue or choose 'q'")) + print(_("to quit repository selector without changing anything.")) + print(_("Enter your selection(s) in a comma-separated list:")) + res = io.stdin:read() + if res == "q" then + return false + elseif res == "c" then + return true + end + select_list(list, res) + cls() + end +end + +sourcelist = confget("Dir::Etc::sourceparts::mirrorsource/f"); + +if fetch_mirrors() == false then + apterror(_("Failed to fetch mirror list file:\n"..confget("Apt::State::mirrors-URL"))) + return +end + +local repos = parse_mirrors() + +if not repos then + apterror(_("Mirror list not found or corrupted.")) + return +end + +cls() + +if confexists("Apt::State::ReallyFirstRun") then + print(_("\nThis appears to be the first time you are running APT.")) + print(_("Before you can use apt for software installation you need to")) + print(_("select some software repositories first.\n")) +end + +if not ask_list(repos, _("Choose the repositories you want to use from the list below:")) then + disable_druid() + return +end + +cls() +for i, repo in ipairs(repos) do + if repo.selected then + if not ask_list(repo.mirrors, _("Choose the geographically nearest mirror(s)for use with:\n\n "..repo.name)) then + disable_druid() + return + end + cls() + end +end +print(_("Writing source list entries...")) +write_sourcelist(repos) +print(_("Done.")) +disable_druid() + +-- vim:ts=4 diff --git a/preserve-conf.lua b/preserve-conf.lua index 87cf5d3..47ae5b4 100644 --- a/preserve-conf.lua +++ b/preserve-conf.lua @@ -1,4 +1,4 @@ -if confexists("RPM::Preserve-Config") and confget("RPM::Preserve-Config/b") == "true" then +if confget("RPM::Preserve-Config/b", "false") == "true" then num = 0 pkgs = pkglist() for i, pkg in ipairs(pkgs) do diff --git a/rpmpriorities.1 b/rpmpriorities.1 new file mode 100644 index 0000000..d5fcd46 --- /dev/null +++ b/rpmpriorities.1 @@ -0,0 +1,39 @@ +Essential: + grub + termcap + ed + kbd + iproute + libtermcap + libgcc + setserial + file + rpm + sysklogd + losetup + ash + kudzu + glibc + shadow-utils + coreutils + bash + iputils + vim-minimal + passwd + cpio + raidtools + SysVinit + authconfig + hdparm + hotplug + readline + util-linux + basesystem + setup + e2fsprogs + procps + initscripts + filesystem + fedora-release +Important: + kernel diff --git a/rpmpriorities.1.91 b/rpmpriorities.1.91 new file mode 100644 index 0000000..d5fcd46 --- /dev/null +++ b/rpmpriorities.1.91 @@ -0,0 +1,39 @@ +Essential: + grub + termcap + ed + kbd + iproute + libtermcap + libgcc + setserial + file + rpm + sysklogd + losetup + ash + kudzu + glibc + shadow-utils + coreutils + bash + iputils + vim-minimal + passwd + cpio + raidtools + SysVinit + authconfig + hdparm + hotplug + readline + util-linux + basesystem + setup + e2fsprogs + procps + initscripts + filesystem + fedora-release +Important: + kernel diff --git a/rpmpriorities.rh80 b/rpmpriorities.rh80 deleted file mode 100644 index d72e23d..0000000 --- a/rpmpriorities.rh80 +++ /dev/null @@ -1,43 +0,0 @@ -Essential: - kernel - setup - grub - redhat-logos - passwd - ed - filesystem - cpio - kbd - lilo - raidtools - iproute - authconfig - libtermcap - libgcc - hotplug - file - redhat-release - termcap - ksymoops - readline - ash - rpm - basesystem - sysklogd - losetup - util-linux - rootfiles - kudzu - SysVinit - glibc - vim-minimal - e2fsprogs - bdflush - shadow-utils - initscripts - bash - iputils - mouseconfig - hdparm - procps - setserial diff --git a/rpmpriorities.rh90 b/rpmpriorities.rh90 deleted file mode 100644 index b01b064..0000000 --- a/rpmpriorities.rh90 +++ /dev/null @@ -1,42 +0,0 @@ -Essential: - kernel - redhat-config-mouse - grub - termcap - ed - kbd - iproute - libtermcap - libgcc - setserial - file - rpm - sysklogd - losetup - ash - kudzu - glibc - lilo - shadow-utils - coreutils - bash - iputils - vim-minimal - redhat-logos - passwd - cpio - raidtools - SysVinit - authconfig - hdparm - hotplug - readline - util-linux - basesystem - rootfiles - setup - e2fsprogs - procps - initscripts - filesystem - redhat-release diff --git a/rpmpriorities.rh90.93 b/rpmpriorities.rh90.93 deleted file mode 100644 index b01b064..0000000 --- a/rpmpriorities.rh90.93 +++ /dev/null @@ -1,42 +0,0 @@ -Essential: - kernel - redhat-config-mouse - grub - termcap - ed - kbd - iproute - libtermcap - libgcc - setserial - file - rpm - sysklogd - losetup - ash - kudzu - glibc - lilo - shadow-utils - coreutils - bash - iputils - vim-minimal - redhat-logos - passwd - cpio - raidtools - SysVinit - authconfig - hdparm - hotplug - readline - util-linux - basesystem - rootfiles - setup - e2fsprogs - procps - initscripts - filesystem - redhat-release diff --git a/sources b/sources index fdb39e7..98815a0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b0b77d5ab6f8ac570b7a358d8f3e6fa1 apt-0.5.5cnc6.tar.bz2 +134575fd06c8c84d46766a65ed8a26af apt-0.5.15cnc6.tar.bz2 diff --git a/sources.list b/sources.list index f7d6cad..e98f4d4 100644 --- a/sources.list +++ b/sources.list @@ -1,29 +1,3 @@ -# Fedora Linux repositories for Red Hat Linux RHREL repository -# University of Hawaii Honolulu, Hawaii, USA -rpm http://download.fedora.us/fedora redhat/RHREL/i386 os updates stable -rpm-src http://download.fedora.us/fedora redhat/RHREL/i386 os updates stable - -# Nerim.net Paris, France -#rpm http://download.fr.fedora.us/fedora redhat/RHREL/i386 os updates stable -#rpm-src http://download.fr.fedora.us/fedora redhat/RHREL/i386 os updates stable - -# Indiana University, Bloomington Indiana, USA -#rpm ftp://ftp.ussg.iu.edu/pub/linux/fedora/fedora redhat/RHREL/i386 os updates stable -#rpm-src ftp://ftp.ussg.iu.edu/pub/linux/fedora/fedora redhat/RHREL/i386 os updates stable - -# Esslingen, Germany -#rpm http://ftp-stud.fht-esslingen.de/fedora/fedora redhat/RHREL/i386 os updates stable -#rpm-src http://ftp-stud.fht-esslingen.de/fedora/fedora redhat/RHREL/i386 os updates stable - -# Aachen, Germany (Aachen University) -#rpm http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/fedora redhat/RHREL/i386 os updates stable -#rpm-src http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/fedora redhat/RHREL/i386 os updates stable - -# Iasi, Romania, Romanian Education Network -#rpm http://ftp.iasi.roedu.net/mirrors/fedora.us/fedora redhat/RHREL/i386 os updates stable -#rpm-src http://ftp.iasi.roedu.net/mirrors/fedora.us/fedora redhat/RHREL/i386 os updates stable - -# Alkmaar, The Netherlands -#rpm http://fedora.quicknet.nl/fedora redhat/RHREL/i386 os updates stable -#rpm-src http://fedora.quicknet.nl/fedora redhat/RHREL/i386 os updates stable +# Please choose the nearest mirror http://www.fedora.us/wiki/FedoraMirrorList +# Add any local / 3rd party repositories here.. diff --git a/upgradevirt.lua b/upgradevirt.lua new file mode 100755 index 0000000..53813b3 --- /dev/null +++ b/upgradevirt.lua @@ -0,0 +1,161 @@ + +-- rpm::upgrade-kernel only for backwards compatibility +if confget("RPM::Upgrade-Virtual/b", "false") == "false" and confget("RPM::Upgrade-Kernel/b", "false") == "false" then + return +end + +knames = { "hugemem", "bigmem", "enterprise", "smp", "BOOT" } + +-- get kernel package name for running kernel (kernel-smp, kernel, etc) +function get_kerneltype() + for i, ktype in ipairs(knames) do + if string.find(posix.uname("%r"), ktype) then + return "kernel-"..ktype + end + end + -- it's either unknown type or normal UP system + return "kernel" +end + +-- if grubby is available set default kernel to version +function set_default(version) + vmlinuz = '/boot/vmlinuz-'..version + if posix.access('/sbin/grubby', 'x') and posix.access(vmlinuz, 'f') then + os.execute('/sbin/grubby --set-default='..vmlinuz) + end +end + +-- find + mark for install any packages where uname -r is part of pkg name +-- eg external kernel modules +function upgrade_kernel_modules(new_version) + modprefix = confgetlist("Kernel::Module-Prefix") + if not new_version or not modprefix then + return + end + + pkgs = pkglist() + for i, pkg in ipairs(pkgs) do + -- oh fun.. loop through all installed packages and see there are + -- any which provide module-prefix, try to install version matching + -- our new kernel + if not pkgisvirtual(pkg) and pkgvercur(pkg) then + ver = pkgvercur(pkg) + for j, prov in ipairs(verprovlist(ver)) do + for x, prefix in ipairs(modprefix) do + if string.sub(prov.name, 1, string.len(prefix)) == prefix then + inst = pkgfind(prov.name.."-"..new_version) + if inst then + markinstall(inst) + else + print("WARNING: "..prov.name.." not available for kernel "..new_version.."!") + end + end + end + end + end + end +end + + +-- find all virtualized packages, their versions and if they're installed +function find_instonly_pkgs() + pkgs = {} + for i, pkg in ipairs(pkglist()) do + idx = string.find(pkgname(pkg), "#") + ver = pkgvercur(pkg) + if idx and not pkgisvirtual(pkg) then + name = string.sub(pkgname(pkg), 1, idx-1) + if not ver then + ver = pkgvercand(pkg) + end + -- new entry + if not pkgs[name] then + tmp = {} + tmp.pkg = pkg + tmp.ver = ver + tmp.inst = false + pkgs[name] = tmp + end + if pkgvercur(pkg) then + pkgs[name].inst = true + end + -- mark it as latest if newer than what already known + if ver and verstrcmp(verstr(ver), verstr(pkgs[name].ver)) > 0 then + pkgs[name].ver = ver + pkgs[name].pkg = pkg + end + end + end + return pkgs +end + +-- mark installed virtualized packages for "upgrade" +function mark_upgrade(name, pkg) + ktype = get_kerneltype() + if pkg.inst then + markinstall(pkg.pkg) + if name == ktype then + confset('Kernel::New-Version', verstr(pkg.ver)) + end + end +end + +-- find the latest version of given virtual pkg for installation +function mark_install(virtualpkg) + ktype = get_kerneltype() + pkgs = find_instonly_pkgs() + for name in pkgs do + if name == virtualpkg then + selected = pkgs[name].pkg + end + end + if virtualpkg == ktype then + confset('Kernel::New-Version', verstr(pkgs[virtualpkg].ver)) + end +end + +-- normal install operation +if script_slot == 'Scripts::AptGet::Install::SelectPackage' then + modprefix = confgetlist('Kernel::Module-Prefix') + for i, prefix in ipairs(modprefix) do + if string.find(virtualname, prefix, 1, true) then + moduname = virtualname.."-"..posix.uname("%r") + modpkg = pkgfind(moduname) + if modpkg then + selected = modpkg + else + apterror(_("Couldn't find package "..moduname)) + return + end + end + end + mark_install(virtualname) + return +elseif script_slot == 'Scripts::AptGet::Install::PreResolve' then + ktype = get_kerneltype() + if not confexists('Kernel::New-Version') then + for i, pkg in ipairs(pkglist()) do + idx = string.find(pkgname(pkg), "#") + if statinstall(pkg) and idx then + name = string.sub(pkgname(pkg), 1, idx-1) + if ktype == name then + confset('Kernel::New-Version', verstr(pkgvercand(pkg))) + end + end + end + end + if confexists('Kernel::New-Version') then + upgrade_kernel_modules(confget('Kernel::New-Version')) + end +elseif script_slot == 'Scripts::AptGet::Upgrade' or + script_slot == 'Scripts::AptGet::DistUpgrade' then + pkgs = find_instonly_pkgs() + table.foreach(pkgs, mark_upgrade) + upgrade_kernel_modules(confget('Kernel::New-Version')) +elseif script_slot == 'Scripts::PM::Post' then + if confget('Kernel::Set-Default/b', "false") == "true" then + set_default(confget('Kernel::New-Version')) + end +end + +-- vim:ts=4 diff --git a/vendors.list b/vendors.list index b6b5c4b..e69de29 100644 --- a/vendors.list +++ b/vendors.list @@ -1,4 +0,0 @@ -simple-key "fdr" { - Fingerprint "B5BDCEB28F0D54DE6F4D227529D5BA248DF56D05"; - Name "Fedora Linux (RPMS) <security@fedora.us>"; -}