2002-03-25 23:16:26 +03:00
/** \ingroup rpmcli
* \ file lib / poptK . c
* Popt tables for signature modes .
*/
# include "system.h"
2002-03-26 01:02:39 +03:00
# include "rpmcli.h"
2002-03-25 23:16:26 +03:00
# include "debug.h"
/*@unchecked@*/
struct rpmSignArguments_s rpmKArgs =
{ RESIGN_NONE , CHECKSIG_ALL , 0 , NULL } ;
# define POPT_ADDSIGN -1005
# define POPT_RESIGN -1006
/**
*/
static void signArgCallback ( /*@unused@*/ poptContext con ,
/*@unused@*/ enum poptCallbackReason reason ,
const struct poptOption * opt , /*@unused@*/ const char * arg ,
/*@unused@*/ const void * data )
/*@modifies rpmKArgs @*/
{
struct rpmSignArguments_s * rka = & rpmKArgs ;
switch ( opt - > val ) {
case ' K ' :
rka - > addSign = RESIGN_CHK_SIGNATURE ;
rka - > sign = 0 ;
break ;
case POPT_RESIGN :
rka - > addSign = RESIGN_NEW_SIGNATURE ;
rka - > sign = 1 ;
break ;
case POPT_ADDSIGN :
rka - > addSign = RESIGN_ADD_SIGNATURE ;
rka - > sign = 1 ;
break ;
}
}
/**
*/
/*@unchecked@*/
struct poptOption rpmSignPoptTable [ ] = {
{ NULL , ' \0 ' , POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA ,
signArgCallback , 0 , NULL , NULL } ,
{ " addsign " , ' \0 ' , 0 , 0 , POPT_ADDSIGN ,
N_ ( " add a signature to a package " ) , NULL } ,
{ " resign " , ' \0 ' , 0 , 0 , POPT_RESIGN ,
N_ ( " sign a package (discard current signature) " ) , NULL } ,
{ " sign " , ' \0 ' , POPT_ARGFLAG_DOC_HIDDEN , & rpmKArgs . sign , 0 ,
N_ ( " generate signature " ) , NULL } ,
{ " checksig " , ' K ' , 0 , 0 , ' K ' ,
N_ ( " verify package signature " ) , NULL } ,
{ " nogpg " , ' \0 ' , POPT_BIT_CLR ,
& rpmKArgs . checksigFlags , CHECKSIG_GPG ,
N_ ( " skip any GPG signatures " ) , NULL } ,
{ " nopgp " , ' \0 ' , POPT_BIT_CLR | POPT_ARGFLAG_DOC_HIDDEN ,
& rpmKArgs . checksigFlags , CHECKSIG_PGP ,
N_ ( " skip any PGP signatures " ) , NULL } ,
{ " nomd5 " , ' \0 ' , POPT_BIT_CLR ,
& rpmKArgs . checksigFlags , CHECKSIG_MD5 ,
N_ ( " do not verify file md5 checksums " ) , NULL } ,
POPT_TABLEEND
} ;