[pacman-dev] [PATCH] Added a -n option to repo-add to only add new packages (v2)

DG dangets at gmail.com
Sun Dec 16 08:42:45 EST 2012


On Dec 16, 2012 6:33 AM, "Allan McRae" <allan at archlinux.org> wrote:
>
> On 14/12/12 00:53, dangets at gmail.com wrote:
> > From: Danny George <dangets at gmail.com>
> >
> > Packages are already in the pkg db were given a warning, and then
> > readded anyway.  With -n specified, the warning is printed, but skips
> > readding it.
> > Updated man page and slight tweak per suggestion Allan McRae
> >
> > Signed-off-by: Danny George <dangets at gmail.com>
> > ---
>
> Ack.
>
> For future reference, putting messages such as "Updated man page and
> slight tweak per suggestion Allan McRae" under the "---" makes them not
> appear in the final commit message.  Also, put "v2" in the "[PATCH]"
prefix.
>
> >  doc/repo-add.8.txt     | 4 ++++
> >  scripts/repo-add.sh.in | 6 ++++++
> >  2 files changed, 10 insertions(+)
> >
> > diff --git a/doc/repo-add.8.txt b/doc/repo-add.8.txt
> > index 79b5a7e..91f3ac6 100644
> > --- a/doc/repo-add.8.txt
> > +++ b/doc/repo-add.8.txt
> > @@ -68,6 +68,10 @@ repo-add Options
> >       specified packages. This is useful for creating databases listing
all files
> >       in a given sync repository for tools that may use this
information.
> >
> > +*-n, \--new*::
> > +     Only add packages that are not already in the database.  Warnings
will be
> > +     printed upon detection of existing packages, but they will not be
re-added.
> > +
> >  See Also
> >  --------
> >  linkman:makepkg[8], linkman:pacman[8], linkman:pkgdelta[8]
> > diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
> > index 5a3bf23..3e18a1a 100644
> > --- a/scripts/repo-add.sh.in
> > +++ b/scripts/repo-add.sh.in
> > @@ -30,6 +30,7 @@ declare -r confdir='@sysconfdir@'
> >
> >  QUIET=0
> >  DELTA=0
> > +ONLYADDNEW=0
> >  WITHFILES=0
> >  SIGN=0
> >  VERIFY=0
> > @@ -55,6 +56,7 @@ Multiple packages to add can be specified on the
command line.\n")"
> >               printf -- "\n"
> >               printf -- "$(gettext "Options:\n")"
> >               printf -- "$(gettext "  -d, --delta       generate and
add delta for package update\n")"
> > +             printf -- "$(gettext "  -n, --new         only add
packages that are not already in the database\n")"
> >               printf -- "$(gettext "  -f, --files       update
database's file list\n")"
> >       elif [[ $cmd == "repo-remove" ]] ; then
> >               printf -- "$(gettext "Usage: repo-remove [options]
<path-to-db> <packagename|delta> ...\n")"
> > @@ -290,6 +292,9 @@ db_write_entry() {
> >
> >       if [[ -d $tmpdir/tree/$pkgname-$pkgver ]]; then
> >               warning "$(gettext "An entry for '%s' already existed")"
"$pkgname-$pkgver"
> > +             if (( ONLYADDNEW )); then
> > +                     return 0;
> > +             fi
> >       else
> >               if (( DELTA )); then
> >                       pkgentry=$(find_pkgentry "$pkgname")
> > @@ -603,6 +608,7 @@ while (( $# )); do
> >       case $1 in
> >               -q|--quiet) QUIET=1;;
> >               -d|--delta) DELTA=1;;
> > +             -n|--new) ONLYADDNEW=1;;
> >               -f|--files) WITHFILES=1;;
> >               -s|--sign)
> >                       check_gpg
> >
>
>
Thanks for the heads up.


More information about the pacman-dev mailing list