[pacman-dev] [PATCH] remove --force option from repo-add.
Xavier
shiningxc at gmail.com
Sat Feb 2 18:32:02 EST 2008
Dan McGee wrote:
> Before I even dive into the patch, I asked Xavier to send this one
> here for opinions from others. I am currently in favor of not removing
> the --force option from repo-add, so that one would not have to
> rebuild a package in order to mark it as force in a database that
> might be on a different computer from where you built the package, so
> makepkg -R is unavailable. But I would love to hear your thoughts.
>
Just for clarifying my point of view, I didn't like this special
handling of the force flag. There are many other options you can get
wrong in the PKGBUILD, and these aren't fixed by using repo-add flags.
They are fixed in the PKGBUILD itself.
I just like the idea of having everything in a single place ;)
Secondly, is there anyone who uses that option?
If I understood correctly, repo-add is only used by the community repo.
And they don't even seem to know about the force flag.
$ find /var/abs/community -name PKGBUILD | xargs grep "options.*force" |
wc -l
8
$ find /var/abs/community -name PKGBUILD | xargs grep "force=y" |wc -l
12
$ grep -r FORCE /var/lib/pacman/sync/community
<nothing>
However, with my repo-add change, only the first 8 PKGBUILD who uses the
options=(force) syntax would be supported. The force=y syntax used by
the 12 others wouldn't work.
> With that said, I'll go ahead and review the patch as if it was going
> to be included.
>
> On Feb 2, 2008 4:50 PM, Chantry Xavier<shiningxc at gmail.com> wrote:
>> The force option should only be specified in the PKGBUILD with
>> options=(force).
>> This information should be handled like any other meta info, and there is no
>> need to have a special repo-add option for it.
>>
>> Signed-off-by: Chantry Xavier<shiningxc at gmail.com>
>> ---
>> scripts/repo-add.sh.in | 13 +++----------
>> 1 files changed, 3 insertions(+), 10 deletions(-)
>>
>> diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
>> index efd3bc0..297eb15 100644
>> --- a/scripts/repo-add.sh.in
>> +++ b/scripts/repo-add.sh.in
>> @@ -25,7 +25,6 @@ export TEXTDOMAINDIR='@localedir@'
>> myver='@PACKAGE_VERSION@'
>> confdir='@sysconfdir@'
>>
>> -FORCE=0
>> REPO_DB_FILE=""
>>
>> # ensure we have a sane umask set
>> @@ -54,14 +53,10 @@ error() {
>> # print usage instructions
>> usage() {
>> printf "repo-add (pacman) %s\n\n" "$myver"
>> - printf "$(gettext "Usage: %s<path-to-db> [--force]<package> ...\n\n")" "$0"
>> + printf "$(gettext "Usage: %s<path-to-db> <package> ...\n\n")" "$0"
>> printf "$(gettext "\
>> repo-add will update a package database by reading a package file.\n\
>> Multiple packages to add can be specified on the command line.\n\n")"
>> - printf "$(gettext "\
>> -The --force flag will add a 'force' entry to the sync database, which\n\
>> -tells pacman to skip its internal version number checking and update\n\
>> -the package regardless.\n\n")"
>> echo "$(gettext "Example: repo-add /path/to/repo.db.tar.gz pacman-3.0.0.pkg.tar.gz")"
>> }
>>
>> @@ -209,7 +204,7 @@ db_write_entry()
>> [ -n "$builddate" ]&& echo -e "%BUILDDATE%\n$builddate\n">>desc
>> [ -n "$packager" ]&& echo -e "%PACKAGER%\n$packager\n">>desc
>> write_list_entry "REPLACES" "$_replaces" "desc"
>> - [ $FORCE -eq 1 -o -n "$force" ]&& echo -e "%FORCE%\n">>desc
>> + [ -n "$force" ]&& echo -e "%FORCE%\n">>desc
>>
>> # create depends entry
>> msg2 "$(gettext "Creating 'depends' db entry...")"
>> @@ -290,9 +285,7 @@ gstmpdir=$(mktemp -d /tmp/repo-add.XXXXXXXXXX) || (\
>> success=0
>> # parse arguments
>> for arg in "$@"; do
>> - if [ "$arg" == "--force" -o "$arg" == "-f" ]; then
>> - FORCE=1
>> - elif [ -z "$REPO_DB_FILE" ]; then
>> + if [ -z "$REPO_DB_FILE" ]; then
>> REPO_DB_FILE=$(readlink -f "$arg")
>> if ! test_repo_db_file; then
>> error "$(gettext "Repository file '%s' is not a proper pacman database.")" "$REPO_DB_FILE"
>
> My only thought would be to put in (temporarily) something that looks
> for -f/--force and prints a big fat warning saying it won't be
> recognized- not sure what repo-add after this patch if that flag was
> passed.
>
As I said earlier, I thought no one used that option, so that it would
be alright to simply remove it.
But having a warning temporarily seems acceptable.
More information about the pacman-dev
mailing list