On 15/01/14 23:15, Andrew Gregory wrote:
> On 01/15/14 at 04:16pm, Allan McRae wrote:
>> Commit 9363e7dc allowed sync prepare to work when not sync packages were 
>> being
>> used and databases were missing.  However, it still required any databases
>> that were present had valid signatures (if these were required).  Relax this
>> further so that sync database status is not considered when on using local
>> package files.
>>
>> Signed-off-by: Allan McRae <[email protected]>
>> ---
> 
> I don't think we can do this unless --nodeps is also used, because we
> could still pull sync packages in as a dependency.
> 

Good point...   Patch rejected!

But why do we require databases to be present when the target is a sync
one?  If we allow installing the dependencies of a local package when
sync dbs are missing, why not packages from the (available) sync dbs too?

Allan


>>  lib/libalpm/sync.c | 19 ++++++++++---------
>>  1 file changed, 10 insertions(+), 9 deletions(-)
>>
>> diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
>> index 17a3e8e..5015237 100644
>> --- a/lib/libalpm/sync.c
>> +++ b/lib/libalpm/sync.c
>> @@ -387,15 +387,16 @@ int _alpm_sync_prepare(alpm_handle_t *handle, 
>> alpm_list_t **data)
>>              }
>>      }
>>  
>> -    /* ensure all sync database are valid if we will be using them */
>> -    for(i = handle->dbs_sync; i; i = i->next) {
>> -            const alpm_db_t *db = i->data;
>> -            if(db->status & DB_STATUS_INVALID) {
>> -                    RET_ERR(handle, ALPM_ERR_DB_INVALID, -1);
>> -            }
>> -            /* missing databases are not allowed if we have sync targets */
>> -            if(from_sync && db->status & DB_STATUS_MISSING) {
>> -                    RET_ERR(handle, ALPM_ERR_DB_NOT_FOUND, -1);
>> +    /* ensure all sync database are present and valid if we will be using 
>> them */
>> +    if(from_sync) {
>> +            for(i = handle->dbs_sync; i; i = i->next) {
>> +                    const alpm_db_t *db = i->data;
>> +                    if(db->status & DB_STATUS_INVALID) {
>> +                            RET_ERR(handle, ALPM_ERR_DB_INVALID, -1);
>> +                    }
>> +                    if(db->status & DB_STATUS_MISSING) {
>> +                            RET_ERR(handle, ALPM_ERR_DB_NOT_FOUND, -1);
>> +                    }
>>              }
>>      }
>>  
>> -- 
>> 1.8.5.2
>>
>>
> 
> 
> 


Reply via email to