The next release of emdebian-grip is going to include a prototype script - apt-grip, extending Emdebian Grip to add Debian packages on-the-fly. Synopsis $ sudo apt-grip -M http://ftp.fr.debian.org/debian/ foo bar baz Description apt-grip requires DEB_VENDOR support in dpkg to determine how the package should be "gripped". In addition, if the default vendor is not Emdebian, "apt-grip" will do nothing. To set this up, change the default symlink in /etc/dpkg/origins to point to emdebian-grip or set DEB_VENDOR for each call to apt-grip. Before you do this, read the next section on the limitations. The usual case is that the system has already been upgraded to Emdebian Grip before apt-grip is used, but the vendor support will still need an update (or apt-grip can be wrapped in a shell script or maybe an alias). Limitations Installing any package from repositories outside the normal apt sources (especially if those packages are subsequently modified as in emgrip) will list those packages as "local or obsolete" in package managers and such packages cannot be upgraded without repeating the call to "apt-grip". "apt-grip" cannot currently track these packages - although it might become possible in the future. The net result is that using "apt-grip" could make it difficult to upgrade the rest of the system. If "apt-get" complains about broken dependencies (or more commonly, simply removes your extra packages) use "apt-grip" to reinstall or upgrade the relevant packages. "Gripping" a package means making a new version (with the em1 version suffix) with less files in the new package. See emgrip (1) for detailed information on that process. Changing the version string means that some dependencies need to be changed - particularly strict dependencies. This means that apt-grip could fail with some combinations of packages. "apt-grip" uses the "--reinstall" option to apt-get to cope with some of these situations. ================ There's a little more in the manpage. Note that apt-grip (unlike apt-cross) absolutely requires root access for all operations, so it's in /usr/sbin/ and you'll be using sudo in the same way as apt-get. The process is basically to keep the *architecture* the same, read the same apt and dpkg data to determine what is already installed and then use apt in download-only mode. (As ever, with Recommends turned off.) apt then sorts out the dependencies (because the arch is the same and because we're running from /usr/sbin/ so it has the right data) and proceeds to download the packages to a temporary directory (*not* /var/cache/apt/archives). Those packages are then "gripped" - which can cause problems with strict dependencies, as documented in the manpage. Finally, the gripped packages are installed and the temporary archives and package data is cleaned up. Unlike apt, apt-grip doesn't have any extra functionality, it doesn't have install, purge, remove, clean, show, search or policy support. It just gets, grips and gives - to dpkg for the installation. Code is currently in SVN, it will be in the emdebian-grip package. (So that it will be available on machines actually running Emdebian Grip once the automated processes catch up with the release.) One way around the limitations of this method is, of course, to use the emdebian-grip-server package to implement your own repository that provides all the packages you need that Grip doesn't yet include. Personally, I think this is how Grip should most easily develop. The main, core, server will need to concentrate on the main, core, packages. Adding whole new desktop environments and specialised tasks or package sets is best done with a separate repository. Other changes across Debian are likely to make this easier. apt is more than capable of mixing together disparate repositories and allowing users to choose 2 from 6 or 7 repositories makes for a larger space saving than putting all 7 into 1. Volunteers are welcome to use emdebian-grip-server to create public repositories for specific purposes. -- Neil Williams ============= http://www.data-freedom.org/ http://www.linux.codehelp.co.uk/ http://e-mail.is-not-s.ms/
Attachment:
pgpPH4NGkXCid.pgp
Description: PGP signature