projects
/
platform
/
upstream
/
libzypp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8ed2e77
)
- RepoInfo: don't overwrite flags that have already been set externally
author
Jan Kupec
<jkupec@suse.cz>
Wed, 28 May 2008 14:25:45 +0000
(14:25 +0000)
committer
Jan Kupec
<jkupec@suse.cz>
Wed, 28 May 2008 14:25:45 +0000
(14:25 +0000)
(bnc #395026)
zypp/RepoInfo.cc
patch
|
blob
|
history
diff --git
a/zypp/RepoInfo.cc
b/zypp/RepoInfo.cc
index
0512b7d
..
c83b681
100644
(file)
--- a/
zypp/RepoInfo.cc
+++ b/
zypp/RepoInfo.cc
@@
-30,13
+30,21
@@
namespace zypp
/** RepoInfo implementation. */
struct RepoInfo::Impl
{
/** RepoInfo implementation. */
struct RepoInfo::Impl
{
+ enum FlagsDeterminedState
+ {
+ FLAG_ENABLED = 1,
+ FLAG_AUTOREFRESH = 2,
+ FLAG_GPGCHECK = 4,
+ FLAG_KEEPPACKAGES = 8
+ };
Impl()
: enabled (false),
autorefresh(false),
gpgcheck(true),
keeppackages(false),
Impl()
: enabled (false),
autorefresh(false),
gpgcheck(true),
keeppackages(false),
- type(repo::RepoType::NONE_e)
+ type(repo::RepoType::NONE_e),
+ flags_determined(0)
{}
~Impl()
{}
~Impl()
@@
-73,6
+81,7
@@
namespace zypp
Pathname metadatapath;
Pathname packagespath;
DefaultIntegral<unsigned,defaultPriority> priority;
Pathname metadatapath;
Pathname packagespath;
DefaultIntegral<unsigned,defaultPriority> priority;
+ int flags_determined;
public:
private:
public:
private:
@@
-128,18
+137,21
@@
namespace zypp
RepoInfo & RepoInfo::setEnabled( bool enabled )
{
_pimpl->enabled = enabled;
RepoInfo & RepoInfo::setEnabled( bool enabled )
{
_pimpl->enabled = enabled;
+ _pimpl->flags_determined |= Impl::FLAG_ENABLED;
return *this;
}
RepoInfo & RepoInfo::setAutorefresh( bool autorefresh )
{
_pimpl->autorefresh = autorefresh;
return *this;
}
RepoInfo & RepoInfo::setAutorefresh( bool autorefresh )
{
_pimpl->autorefresh = autorefresh;
+ _pimpl->flags_determined |= Impl::FLAG_AUTOREFRESH;
return *this;
}
RepoInfo & RepoInfo::setGpgCheck( bool check )
{
_pimpl->gpgcheck = check;
return *this;
}
RepoInfo & RepoInfo::setGpgCheck( bool check )
{
_pimpl->gpgcheck = check;
+ _pimpl->flags_determined |= Impl::FLAG_GPGCHECK;
return *this;
}
return *this;
}
@@
-157,7
+169,8
@@
namespace zypp
RepoInfo & RepoInfo::addBaseUrl( const Url &url )
{
RepoInfo & RepoInfo::addBaseUrl( const Url &url )
{
- if ( _pimpl->baseUrls.size()==0 ) //first url
+ // set only if not already set (bnc #394728)
+ if (!(_pimpl->flags_determined & Impl::FLAG_KEEPPACKAGES))
{
if ( media::MediaAccess::downloads( url ) )
setKeepPackages(true);
{
if ( media::MediaAccess::downloads( url ) )
setKeepPackages(true);
@@
-235,6
+248,7
@@
namespace zypp
RepoInfo & RepoInfo::setKeepPackages( bool keep )
{
_pimpl->keeppackages = keep;
RepoInfo & RepoInfo::setKeepPackages( bool keep )
{
_pimpl->keeppackages = keep;
+ _pimpl->flags_determined |= Impl::FLAG_KEEPPACKAGES;
return *this;
}
return *this;
}