Man Linux: Main Page and Category List


       emgrip-dupes - find packages listed in more than one component


        Syntax: emgrip-dupes -b PATH [OPTIONS]
                emgrip-dupes -b PATH -m|--merge NAME [OPTIONS]
                emgrip-dupes -b PATH -p|--purge NAME [OPTIONS]
                emgrip-dupes -?|-h|--help|--version

        -b|--base-path PATH:           path to the top level grip directory [required]
        -m|--merge NAMES:              retain this duplicate at the latest version in all
        -p|--purge NAMES:              remove the duplicates from 'main'
        -t|--trim NAMES:               retain the duplicates in main only
        -?|-h|--help|--version:        print this help message and exit

           --grip-name STRING:         alternative name for the grip
        -s|--suite SUITE:              suite to check (default: unstable)
        -n|--dry-run:                  print the reprepro commands that would
       be used.


       emgrip-dupes scans the Grip repository Packages data and configuration,
       identifies the supported list of components in the requested suite.

       In some cases, these duplicates are useful and only a small amount of
       space is taken up by the extra listing. However, the version in one
       component can easily be out of sync with the version in another.

       The main emphasis is on the size of the Packages file for the ’main’
       component (the one that every user needs to download). Purge mode will
       remove the listing of the specified package from ’main’. Merge mode
       will bring the outdated version into line with the most recent version
       of the package so that all components list the most recent version.


       Next step is to automate the "correction" of the duplicates but this
       does need care. Manual corrections involve identifying the packages to
       retain in main (where the duplicate in dev, doc or debug is not wanted)
       and pass those to --trim.

       The more complex case is to remove from main (e.g. package name suffix
       is -dev or -doc or -dbg or the Section is devel, dbg, doc or libdevel).
       emgrip-dupes --purge removes each binary separately because removing
       the package from main in a single operation will also remove the
       source.  This is a particular problem if the source package also builds
       binary packages that are intended for main, e.g. dbus.

Copyright and Licence

        Copyright (C) 2009  Neil Williams <>

        This package is free software; you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation; either version 3 of the License, or
        (at your option) any later version.

        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        GNU General Public License for more details.

        You should have received a copy of the GNU General Public License
        along with this program.  If not, see <>.