Bug#623978: --binary-arch support for qemubuilder (with patch)

2011-07-07 Thread Junichi Uekawa
Hi,

I think the patch as applies will not work for cowbuilder; but I
believe cowbuilder may be already broken in behavior. Would you want
to take a look ?


At Mon, 25 Apr 2011 02:04:32 +0200,
Mike Gabriel wrote:
> 
> diff --git a/parameter.c b/parameter.c
> index 1ae8eab..be522b2 100644
> --- a/parameter.c
> +++ b/parameter.c
> @@ -141,6 +141,10 @@ int load_config_file(const char* config, pbuilderconfig* 
> pc)
> {
>   pc->debbuildopts=strdup(delim);
> }
> + else if (!strcmp(buf, "BINARY_ARCH"))
> +   {
> + pc->binary_arch=1;
> +   }
>   else if (!strcmp(buf, "NO_COWDANCER_UPDATE"))
> {
>   pc->no_cowdancer_update=1;
> @@ -196,6 +200,7 @@ int cpbuilder_dumpconfig(pbuilderconfig* pc)
>DUMPSTR(distribution);
>DUMPSTR(components);
>DUMPSTR(debbuildopts);
> +  DUMPINT(binary_arch);
>DUMPSTRARRAY(inputfile);
>DUMPSTRARRAY(outputfile);
>
> @@ -244,6 +249,7 @@ int parse_parameter(int ac, char** av,
>  {"distribution", required_argument, 0, 0},
>  {"components", required_argument, 0, 0},
>  {"debbuildopts", required_argument, 0, 0},
> +{"binary-arch", no_argument, 0, 0},
>  {"inputfile", required_argument, 0, 0},
>  {"outputfile", required_argument, 0, 0},
>  {"architecture", required_argument, 0, 0},
> @@ -273,7 +279,6 @@ int parse_parameter(int ac, char** av,
>  {"removepackages", no_argument, 0, 'm'},
>  {"override-config", no_argument, 0, 'm'},
>  {"pkgname-logfile", no_argument, 0, 'm'},
> -{"binary-arch", no_argument, 0, 'm'},
>  {"preserve-buildplace", no_argument, 0, 'm'},
>  {"autocleanaptcache", no_argument, 0, 'm'},
>  
> @@ -447,6 +452,11 @@ int parse_parameter(int ac, char** av,
>   /* pass it for cowbuilder */
>   PASS_TO_PBUILDER_WITH_PARAM
> }
> + else if (!strcmp(long_options[index_point].name,"binary-arch"))
> +   {
> + pc.binary_arch=1;
> + PBUILDER_ADD_PARAM(cmdstr);
> +   }
>   break;
> case 'h':   /* -h */
> case 'v':   /* -v --version */
> diff --git a/parameter.h b/parameter.h
> index 5bd253d..46adf4d 100644
> --- a/parameter.h
> +++ b/parameter.h
> @@ -38,6 +38,7 @@ typedef struct pbuilderconfig
>char* distribution;
>char* components;
>char* debbuildopts;
> +  int binary_arch;
>  
>/* files to be copied into the chroot, 
>   and copied out of the chroot */
> diff --git a/qemubuilder.c b/qemubuilder.c
> index ee58139..a5a02d0 100755
> --- a/qemubuilder.c
> +++ b/qemubuilder.c
> @@ -786,11 +786,21 @@ int cpbuilder_build(const struct pbuilderconfig* pc, 
> const char* dscfile)
>char* hoststr=NULL;
>char* hoststr2=NULL;
>char* commandline=NULL;
> -
> -  const char* buildopt="--binary-all"; /* TODO: add --binary-arch option */
> -
> +  char* buildopt=NULL;
> +  char* debbuildopts=NULL;
> + 
> +  debbuildopts=pc->debbuildopts;
> +  if (pc->binary_arch) {
> +buildopt="--binary-arch"; 
> +asprintf(&debbuildopts,
> +"%s -B", 
> +debbuildopts);
> +  } else {
> +buildopt="--binary-all";
> +  }
> + 
>hoststr=copy_dscfile(dscfile, pc->buildplace);
> -
> + 
>asprintf(&commandline,
>/* TODO: executehooks D: */
>"/usr/lib/pbuilder/pbuilder-satisfydepends --control 
> $PBUILDER_MOUNTPOINT/*.dsc --internal-chrootexec 'chroot . ' %s \n"
> @@ -800,7 +810,7 @@ int cpbuilder_build(const struct pbuilderconfig* pc, 
> const char* dscfile)
>"cd $PBUILDER_MOUNTPOINT/*-*/; dpkg-buildpackage -us -uc %s\n",
>buildopt,
>dscfile,
> -  pc->debbuildopts);
> +  debbuildopts);
>  
>/* Obscure assumption!: assume _ is significant for package name and
>   no other file will have _. */
> 
> 
> --=_misv7d7acht--



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#623978: --binary-arch support for qemubuilder (with patch)

2011-07-04 Thread Mike Gabriel

Hi Junichi,

On Mo 04 Jul 2011 00:04:33 CEST Junichi Uekawa wrote:


Hi,

I think the patch as applies will not work for cowbuilder; but I
believe cowbuilder may be already broken in behavior. Would you want
to take a look ?


I haven't played with cowbuilder yet, only qemubuilder. As I have  
already cloned your Git and created a branch, I'd love to contribute  
to qemubuilder (I use it quite heavily). But for testing cowbuilder I  
do not feel like having the time. This might change. Will that be a  
show-stopper? If yes, I may put looking after cowbuilder on my list,  
but it will have low prio.


Sorry for this half-baked answer,
Mike



--

DAS-NETZWERKTEAM
mike gabriel, dorfstr. 27, 24245 barmissen
fon: +49 (4302) 281418, fax: +49 (4302) 281419

GnuPG Key ID 0xB588399B
mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb


pgpz1nBInkUjS.pgp
Description: Digitale PGP-Unterschrift


Bug#623978: --binary-arch support for qemubuilder (with patch)

2011-04-24 Thread Mike Gabriel

Package: qemubuilder
Version: 0.62+nmu2

The applied patch adds --binary-arch support to qemubuilder. The patch  
 has been created against the pbuilder/cowdancer.git on git.debian.org.


Thanks for taking a look at it...
Mike

--

DAS-NETZWERKTEAM
mike gabriel, dorfstr. 27, 24245 barmissen
fon: +49 (4302) 281418, fax: +49 (4302) 281419

GnuPG Key ID 0xB588399B
mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb


Package: qemubuilder
Version: 0.62+nmu2

The applied patch adds --binary-arch support to qemubuilder. The patch  
has been created against the pbuilder/cowdancer.git on git.debian.org.


Thanks for taking a look at it...
Mike

--

DAS-NETZWERKTEAM
mike gabriel, dorfstr. 27, 24245 barmissen
fon: +49 (4302) 281418, fax: +49 (4302) 281419

GnuPG Key ID 0xB588399B
mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb
diff --git a/parameter.c b/parameter.c
index 1ae8eab..be522b2 100644
--- a/parameter.c
+++ b/parameter.c
@@ -141,6 +141,10 @@ int load_config_file(const char* config, pbuilderconfig* pc)
{
  pc->debbuildopts=strdup(delim);
}
+ else if (!strcmp(buf, "BINARY_ARCH"))
+   {
+ pc->binary_arch=1;
+   }
  else if (!strcmp(buf, "NO_COWDANCER_UPDATE"))
{
  pc->no_cowdancer_update=1;
@@ -196,6 +200,7 @@ int cpbuilder_dumpconfig(pbuilderconfig* pc)
   DUMPSTR(distribution);
   DUMPSTR(components);
   DUMPSTR(debbuildopts);
+  DUMPINT(binary_arch);
   DUMPSTRARRAY(inputfile);
   DUMPSTRARRAY(outputfile);
   
@@ -244,6 +249,7 @@ int parse_parameter(int ac, char** av,
 {"distribution", required_argument, 0, 0},
 {"components", required_argument, 0, 0},
 {"debbuildopts", required_argument, 0, 0},
+{"binary-arch", no_argument, 0, 0},
 {"inputfile", required_argument, 0, 0},
 {"outputfile", required_argument, 0, 0},
 {"architecture", required_argument, 0, 0},
@@ -273,7 +279,6 @@ int parse_parameter(int ac, char** av,
 {"removepackages", no_argument, 0, 'm'},
 {"override-config", no_argument, 0, 'm'},
 {"pkgname-logfile", no_argument, 0, 'm'},
-{"binary-arch", no_argument, 0, 'm'},
 {"preserve-buildplace", no_argument, 0, 'm'},
 {"autocleanaptcache", no_argument, 0, 'm'},
 
@@ -447,6 +452,11 @@ int parse_parameter(int ac, char** av,
  /* pass it for cowbuilder */
  PASS_TO_PBUILDER_WITH_PARAM
}
+ else if (!strcmp(long_options[index_point].name,"binary-arch"))
+   {
+ pc.binary_arch=1;
+ PBUILDER_ADD_PARAM(cmdstr);
+   }
  break;
case 'h':   /* -h */
case 'v':   /* -v --version */
diff --git a/parameter.h b/parameter.h
index 5bd253d..46adf4d 100644
--- a/parameter.h
+++ b/parameter.h
@@ -38,6 +38,7 @@ typedef struct pbuilderconfig
   char* distribution;
   char* components;
   char* debbuildopts;
+  int binary_arch;
 
   /* files to be copied into the chroot, 
  and copied out of the chroot */
diff --git a/qemubuilder.c b/qemubuilder.c
index ee58139..a5a02d0 100755
--- a/qemubuilder.c
+++ b/qemubuilder.c
@@ -786,11 +786,21 @@ int cpbuilder_build(const struct pbuilderconfig* pc, const char* dscfile)
   char* hoststr=NULL;
   char* hoststr2=NULL;
   char* commandline=NULL;
-
-  const char* buildopt="--binary-all"; /* TODO: add --binary-arch option */
-
+  char* buildopt=NULL;
+  char* debbuildopts=NULL;
+ 
+  debbuildopts=pc->debbuildopts;
+  if (pc->binary_arch) {
+buildopt="--binary-arch"; 
+asprintf(&debbuildopts,
+"%s -B", 
+debbuildopts);
+  } else {
+buildopt="--binary-all";
+  }
+ 
   hoststr=copy_dscfile(dscfile, pc->buildplace);
-
+ 
   asprintf(&commandline,
   /* TODO: executehooks D: */
   "/usr/lib/pbuilder/pbuilder-satisfydepends --control $PBUILDER_MOUNTPOINT/*.dsc --internal-chrootexec 'chroot . ' %s \n"
@@ -800,7 +810,7 @@ int cpbuilder_build(const struct pbuilderconfig* pc, const char* dscfile)
   "cd $PBUILDER_MOUNTPOINT/*-*/; dpkg-buildpackage -us -uc %s\n",
   buildopt,
   dscfile,
-  pc->debbuildopts);
+  debbuildopts);
 
   /* Obscure assumption!: assume _ is significant for package name and
  no other file will have _. */

diff --git a/parameter.c b/parameter.c
index 1ae8eab..be522b2 100644
--- a/parameter.c
+++ b/parameter.c
@@ -141,6 +141,10 @@ int load_config_file(const char* config, pbuilderconfig* pc)
{
  pc->debbuildopts=strdup(delim);
}
+ else if (!strcmp(buf, "BINARY_ARCH"))
+   {
+ pc->binary_arch=1;
+   }
  else if (!strcmp(buf, "NO_COWDANCER_UPDATE"))
{
  pc->no_cowdancer_update=1;
@@ -19