src/main.c
changeset 253 338a577cdfd2
parent 252 3e696ec612a5
child 254 ccb1c11968ab
     1.1 --- a/src/main.c	Fri Jun 20 21:33:29 2008 -0400
     1.2 +++ b/src/main.c	Fri Jun 20 21:38:29 2008 -0400
     1.3 @@ -489,14 +489,17 @@
     1.4  }
     1.5  
     1.6  static void
     1.7 -print_diff(const char *name,
     1.8 -	   const char *old_version, const char *new_version, const char *arch,
     1.9 +print_diff(enum razor_diff_action action,
    1.10 +	   struct razor_package *package,
    1.11 +	   const char *name,
    1.12 +	   const char *version,
    1.13 +	   const char *arch,
    1.14  	   void *data)
    1.15  {
    1.16 -	if (old_version)
    1.17 -		printf("removing %s %s\n", name, old_version);
    1.18 -	else
    1.19 -		printf("install %s %s\n", name, new_version);
    1.20 +	if (action == RAZOR_DIFF_ACTION_ADD)
    1.21 +		printf("install %s-%s.%s\n", name, version, arch);
    1.22 +	if (action == RAZOR_DIFF_ACTION_REMOVE)
    1.23 +		printf("remove %s-%s.%s\n", name, version, arch);
    1.24  }
    1.25  
    1.26  static int
    1.27 @@ -576,9 +579,10 @@
    1.28  }
    1.29  
    1.30  static void
    1.31 -download_package(const char *name,
    1.32 -		 const char *old_version,
    1.33 -		 const char *new_version,
    1.34 +download_package(enum razor_diff_action action,
    1.35 +		 struct razor_package *package,
    1.36 +		 const char *name,
    1.37 +		 const char *version,
    1.38  		 const char *arch,
    1.39  		 void *data)
    1.40  {
    1.41 @@ -586,15 +590,15 @@
    1.42  	const char *v;
    1.43  	int *errors = data;
    1.44  
    1.45 -	if (old_version)
    1.46 +	if (action != RAZOR_DIFF_ACTION_ADD)
    1.47  		return;
    1.48  
    1.49  	/* Skip epoch */
    1.50 -	v = strchr(new_version, ':');
    1.51 +	v = strchr(version, ':');
    1.52  	if (v != NULL)
    1.53  		v = v + 1;
    1.54  	else
    1.55 -		v = new_version;
    1.56 +		v = version;
    1.57  
    1.58  	snprintf(url, sizeof url,
    1.59  		 "%s/Packages/%s-%s.%s.rpm", yum_url, name, v, arch);
    1.60 @@ -605,9 +609,10 @@
    1.61  }
    1.62  
    1.63  static void
    1.64 -install_package(const char *name,
    1.65 -		const char *old_version,
    1.66 -		const char *new_version,
    1.67 +install_package(enum razor_diff_action action,
    1.68 +		struct razor_package *package,
    1.69 +		const char *name,
    1.70 +		const char *version,
    1.71  		const char *arch,
    1.72  		void *data)
    1.73  {
    1.74 @@ -615,17 +620,17 @@
    1.75  	char file[PATH_MAX];
    1.76  	struct razor_rpm *rpm;
    1.77  
    1.78 -	if (old_version) {
    1.79 -		printf("removing %s %s not handled\n", name, old_version);
    1.80 +	if (action == RAZOR_DIFF_ACTION_REMOVE) {
    1.81 +		printf("removing %s %s not handled\n", name, version);
    1.82  		return;
    1.83  	}
    1.84  
    1.85  	/* Skip epoch */
    1.86 -	v = strchr(new_version, ':');
    1.87 +	v = strchr(version, ':');
    1.88  	if (v != NULL)
    1.89  		v = v + 1;
    1.90  	else
    1.91 -		v = new_version;
    1.92 +		v = version;
    1.93  
    1.94  	printf("install %s %s\n", name, v);
    1.95  	snprintf(file, sizeof file, "rpms/%s-%s.%s.rpm", name, v, arch);