RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Ralf S. Engelschall
Root: /v/rpm/cvs Email: rse@rpm5.org
Module: rpm Date: 24-Jul-2007 16:36:47
Branch: HEAD Handle: 2007072415364601
Modified files:
rpm CHANGES build.c rpmpopt.in
rpm/build poptBT.c spec.c
rpm/lib poptALL.c poptI.c poptQV.c rpmcli.h
Log:
re-implement --force option (on installation) with a simple POPT alias
instead of twisted and spreaded code.
Summary:
Revision Changes Path
1.1517 +1 -0 rpm/CHANGES
2.106 +1 -1 rpm/build.c
2.15 +0 -4 rpm/build/poptBT.c
2.151 +1 -2 rpm/build/spec.c
2.38 +0 -2 rpm/lib/poptALL.c
2.36 +0 -8 rpm/lib/poptI.c
2.42 +0 -10 rpm/lib/poptQV.c
2.69 +1 -3 rpm/lib/rpmcli.h
2.45 +5 -1 rpm/rpmpopt.in
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.1516 -r1.1517 CHANGES
--- rpm/CHANGES 24 Jul 2007 08:53:00 -0000 1.1516
+++ rpm/CHANGES 24 Jul 2007 14:36:46 -0000 1.1517
@@ -1,4 +1,5 @@
4.5 -> 5.0:
+ - rse: re-implement --force option (on installation) with a simple POPT alias instead of twisted and spreaded code
- rse: for libraries prefer "pkg-config foo" before "foo-config" as pkg-config(1) provides more precise CPPFLAGS/CFLAGS
- rse: unbreak rpm(1) short-hand option "--force" on package installation
- rse: use implicit internal library dependencies by default, but allow disabling via --disable-build-intlibdep
@@ .
patch -p0 <<'@@ .'
Index: rpm/build.c
============================================================================
$ cvs diff -u -r2.105 -r2.106 build.c
--- rpm/build.c 16 Jul 2007 01:32:25 -0000 2.105
+++ rpm/build.c 24 Jul 2007 14:36:46 -0000 2.106
@@ -255,7 +255,7 @@
#define _anyarch(_f) \
(((_f)&(RPMBUILD_PREP|RPMBUILD_BUILD|RPMBUILD_INSTALL|RPMBUILD_PACKAGEBINARY)) == 0)
if (parseSpec(ts, specURL, ba->rootdir, 0, passPhrase,
- cookie, _anyarch(buildAmount), ba->force, verify))
+ cookie, _anyarch(buildAmount), 0, verify))
{
rc = 1;
goto exit;
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/poptBT.c
============================================================================
$ cvs diff -u -r2.14 -r2.15 poptBT.c
--- rpm/build/poptBT.c 24 Jul 2007 10:40:50 -0000 2.14
+++ rpm/build/poptBT.c 24 Jul 2007 14:36:47 -0000 2.15
@@ -118,10 +118,6 @@
rba->noDeps = 1;
break;
- case RPMCLI_POPT_FORCE:
- rba->force = 1;
- break;
-
}
}
/*@=boundswrite@*/
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/spec.c
============================================================================
$ cvs diff -u -r2.150 -r2.151 spec.c
--- rpm/build/spec.c 16 Jul 2007 21:40:34 -0000 2.150
+++ rpm/build/spec.c 24 Jul 2007 14:36:47 -0000 2.151
@@ -754,14 +754,13 @@
char * passPhrase = "";
int recursing = 0;
char *cookie = NULL;
- int force = 1;
int verify = 0;
int xx;
/*@-branchstate@*/
/*@-mods@*/ /* FIX: make spec abstract */
if (parseSpec(ts, specName, "/", recursing, passPhrase,
- cookie, anyarch, force, verify)
+ cookie, anyarch, 1, verify)
|| (spec = rpmtsSetSpec(ts, NULL)) == NULL)
{
rpmError(RPMERR_QUERY,
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/poptALL.c
============================================================================
$ cvs diff -u -r2.37 -r2.38 poptALL.c
--- rpm/lib/poptALL.c 23 Jul 2007 18:54:53 -0000 2.37
+++ rpm/lib/poptALL.c 24 Jul 2007 14:36:47 -0000 2.38
@@ -345,8 +345,6 @@
{ "debug", 'd', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_debug, -1,
NULL, NULL },
- { "force", '\0', 0, NULL, RPMCLI_POPT_FORCE,
- N_("force operation (short hand for --replacepkgs --replacefiles on installation and ignores ExcludeArch: directives on building"), NULL},
#if defined(POPT_ARGFLAG_RANDOM)
{ "rsegfault", '\0', POPT_ARG_INT|POPT_ARGFLAG_RANDOM|POPT_ARGFLAG_DOC_HIDDEN,
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/poptI.c
============================================================================
$ cvs diff -u -r2.35 -r2.36 poptI.c
--- rpm/lib/poptI.c 23 Jul 2007 18:54:53 -0000 2.35
+++ rpm/lib/poptI.c 24 Jul 2007 14:36:47 -0000 2.36
@@ -190,14 +190,6 @@
ia->transFlags |= RPMTRANS_FLAG_NOCONTEXTS;
break;
- case RPMCLI_POPT_FORCE:
- ia->probFilter |=
- ( RPMPROB_FILTER_REPLACEPKG
- | RPMPROB_FILTER_REPLACEOLDFILES
- | RPMPROB_FILTER_REPLACENEWFILES
- | RPMPROB_FILTER_OLDPACKAGE );
- break;
-
case RPMCLI_POPT_NOSCRIPTS:
ia->transFlags |= (_noTransScripts | _noTransTriggers);
break;
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/poptQV.c
============================================================================
$ cvs diff -u -r2.41 -r2.42 poptQV.c
--- rpm/lib/poptQV.c 23 Jul 2007 18:54:53 -0000 2.41
+++ rpm/lib/poptQV.c 24 Jul 2007 14:36:47 -0000 2.42
@@ -245,16 +245,6 @@
qva->qva_flags |= VERIFY_CONTEXTS;
break;
-#ifdef NOTYET
- case RPMCLI_POPT_FORCE:
- ia->probFilter |=
- ( RPMPROB_FILTER_REPLACEPKG
- | RPMPROB_FILTER_REPLACEOLDFILES
- | RPMPROB_FILTER_REPLACENEWFILES
- | RPMPROB_FILTER_OLDPACKAGE );
- break;
-#endif
-
case RPMCLI_POPT_NOSCRIPTS:
qva->qva_flags |= VERIFY_SCRIPT;
break;
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/rpmcli.h
============================================================================
$ cvs diff -u -r2.68 -r2.69 rpmcli.h
--- rpm/lib/rpmcli.h 6 Jul 2007 18:45:53 -0000 2.68
+++ rpm/lib/rpmcli.h 24 Jul 2007 14:36:47 -0000 2.69
@@ -92,8 +92,7 @@
/**
* Common/global popt tokens used for command line option tables.
*/
-#define RPMCLI_POPT_NODEPS -1025
-#define RPMCLI_POPT_FORCE -1026
+#define RPMCLI_POPT_NODEPS -1026
#define RPMCLI_POPT_NOFDIGESTS -1027
#define RPMCLI_POPT_NOSCRIPTS -1028
#define RPMCLI_POPT_NOSIGNATURE -1029
@@ -812,7 +811,6 @@
const char * passPhrase; /*!< Pass phrase. */
/*@only@*/ /*@null@*/
const char * cookie; /*!< NULL for binary, ??? for source, rpm's */
- int force; /*!< from --force */
int noBuild; /*!< from --nobuild */
int noDeps; /*!< from --nodeps */
int noLang; /*!< from --nolang */
@@ .
patch -p0 <<'@@ .'
Index: rpm/rpmpopt.in
============================================================================
$ cvs diff -u -r2.44 -r2.45 rpmpopt.in
--- rpm/rpmpopt.in 2 Jul 2007 17:15:02 -0000 2.44
+++ rpm/rpmpopt.in 24 Jul 2007 14:36:46 -0000 2.45
@@ -2,7 +2,7 @@
# \verbatim
#
# @USRLIBRPM@/@configure_input@
-# $Id: rpmpopt.in,v 2.44 2007/07/02 17:15:02 fray Exp $
+# $Id: rpmpopt.in,v 2.45 2007/07/24 14:36:46 rse Exp $
#
# This file *should not be modified*. Local customizations
# belong in /etc/popt, not here. This file will be replaced
@@ -168,6 +168,10 @@
--POPTdesc=$"set buildroot <policy> (e.g. compress man pages)" \
--POPTargs=$"<policy>"
+# Short-hand option
+rpm alias --force --replacepkgs --replacefiles --oldpackage \
+ --POPTdesc=$"force operation (short hand for --replacepkgs --replacefiles --oldpackage on installation)"
+
# Choose db interface:
# 0 same as 1
# 1 native db1 interface (e.g. linux glibc libdb1 routines).
@@ .
Received on Tue Jul 24 16:36:48 2007