Update to 4.6.0 release
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
		
							parent
							
								
									202e7d9569
								
							
						
					
					
						commit
						782468f8e9
					
				| @ -1,94 +0,0 @@ | |||||||
| From 4c76266baca407ae4981a180aed45193e50a8ade Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> |  | ||||||
| Date: Thu, 5 Jul 2018 11:59:22 +0100 |  | ||||||
| Subject: [PATCH 1/4] qemu: remove chardevStdioLogd param from vhostuser code |  | ||||||
|  path |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| The vhostuser network backend is only supported with the UNIX domain |  | ||||||
| socket chardev backend, so passing around chardevStdioLogd is not |  | ||||||
| required. |  | ||||||
| 
 |  | ||||||
| Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> |  | ||||||
| ---
 |  | ||||||
|  src/qemu/qemu_command.c | 20 +++++++------------- |  | ||||||
|  1 file changed, 7 insertions(+), 13 deletions(-) |  | ||||||
| 
 |  | ||||||
| diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
 |  | ||||||
| index 04c5c28438..9351b9fddb 100644
 |  | ||||||
| --- a/src/qemu/qemu_command.c
 |  | ||||||
| +++ b/src/qemu/qemu_command.c
 |  | ||||||
| @@ -8195,8 +8195,7 @@ qemuBuildVhostuserCommandLine(virQEMUDriverPtr driver,
 |  | ||||||
|                                virDomainDefPtr def, |  | ||||||
|                                virDomainNetDefPtr net, |  | ||||||
|                                virQEMUCapsPtr qemuCaps, |  | ||||||
| -                              unsigned int bootindex,
 |  | ||||||
| -                              bool chardevStdioLogd)
 |  | ||||||
| +                              unsigned int bootindex)
 |  | ||||||
|  { |  | ||||||
|      virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); |  | ||||||
|      char *chardev = NULL; |  | ||||||
| @@ -8217,7 +8216,7 @@ qemuBuildVhostuserCommandLine(virQEMUDriverPtr driver,
 |  | ||||||
|                                                 cmd, cfg, def, |  | ||||||
|                                                 net->data.vhostuser, |  | ||||||
|                                                 net->info.alias, qemuCaps, false, |  | ||||||
| -                                               chardevStdioLogd)))
 |  | ||||||
| +                                               false)))
 |  | ||||||
|              goto cleanup; |  | ||||||
|          break; |  | ||||||
|   |  | ||||||
| @@ -8291,8 +8290,7 @@ qemuBuildInterfaceCommandLine(virQEMUDriverPtr driver,
 |  | ||||||
|                                virNetDevVPortProfileOp vmop, |  | ||||||
|                                bool standalone, |  | ||||||
|                                size_t *nnicindexes, |  | ||||||
| -                              int **nicindexes,
 |  | ||||||
| -                              bool chardevStdioLogd)
 |  | ||||||
| +                              int **nicindexes)
 |  | ||||||
|  { |  | ||||||
|      int ret = -1; |  | ||||||
|      char *nic = NULL, *host = NULL; |  | ||||||
| @@ -8415,8 +8413,7 @@ qemuBuildInterfaceCommandLine(virQEMUDriverPtr driver,
 |  | ||||||
|   |  | ||||||
|      case VIR_DOMAIN_NET_TYPE_VHOSTUSER: |  | ||||||
|          ret = qemuBuildVhostuserCommandLine(driver, logManager, secManager, cmd, def, |  | ||||||
| -                                            net, qemuCaps, bootindex,
 |  | ||||||
| -                                            chardevStdioLogd);
 |  | ||||||
| +                                            net, qemuCaps, bootindex);
 |  | ||||||
|          goto cleanup; |  | ||||||
|          break; |  | ||||||
|   |  | ||||||
| @@ -8600,8 +8597,7 @@ qemuBuildNetCommandLine(virQEMUDriverPtr driver,
 |  | ||||||
|                          bool standalone, |  | ||||||
|                          size_t *nnicindexes, |  | ||||||
|                          int **nicindexes, |  | ||||||
| -                        unsigned int *bootHostdevNet,
 |  | ||||||
| -                        bool chardevStdioLogd)
 |  | ||||||
| +                        unsigned int *bootHostdevNet)
 |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
|      int last_good_net = -1; |  | ||||||
| @@ -8628,8 +8624,7 @@ qemuBuildNetCommandLine(virQEMUDriverPtr driver,
 |  | ||||||
|              if (qemuBuildInterfaceCommandLine(driver, logManager, secManager, cmd, def, net, |  | ||||||
|                                                qemuCaps, bootNet, vmop, |  | ||||||
|                                                standalone, nnicindexes, |  | ||||||
| -                                              nicindexes,
 |  | ||||||
| -                                              chardevStdioLogd) < 0)
 |  | ||||||
| +                                              nicindexes) < 0)
 |  | ||||||
|                  goto error; |  | ||||||
|   |  | ||||||
|              last_good_net = i; |  | ||||||
| @@ -10290,8 +10285,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver,
 |  | ||||||
|   |  | ||||||
|      if (qemuBuildNetCommandLine(driver, logManager, secManager, cmd, def, |  | ||||||
|                                  qemuCaps, vmop, standalone, |  | ||||||
| -                                nnicindexes, nicindexes, &bootHostdevNet,
 |  | ||||||
| -                                chardevStdioLogd) < 0)
 |  | ||||||
| +                                nnicindexes, nicindexes, &bootHostdevNet) < 0)
 |  | ||||||
|          goto error; |  | ||||||
|   |  | ||||||
|      if (qemuBuildSmartcardCommandLine(logManager, secManager, cmd, cfg, def, qemuCaps, |  | ||||||
| -- 
 |  | ||||||
| 2.17.1 |  | ||||||
| 
 |  | ||||||
| @ -1,308 +0,0 @@ | |||||||
| From 0140d4c59b7fb26432b520bb7e85bd6834f560b0 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> |  | ||||||
| Date: Wed, 4 Jul 2018 14:20:40 +0100 |  | ||||||
| Subject: [PATCH 2/4] qemu: consolidate parameters of qemuBuildChrChardevStr |  | ||||||
|  into flags |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| There are two boolean parameters passed to qemuBuildChrChardevStr, |  | ||||||
| and soon there will be a third. It will be clearer to understand |  | ||||||
| from callers' POV if we use named flags instead. |  | ||||||
| 
 |  | ||||||
| Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> |  | ||||||
| ---
 |  | ||||||
|  src/qemu/qemu_command.c | 94 ++++++++++++++++++++++++++--------------- |  | ||||||
|  1 file changed, 61 insertions(+), 33 deletions(-) |  | ||||||
| 
 |  | ||||||
| diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
 |  | ||||||
| index 9351b9fddb..63c7ac0f82 100644
 |  | ||||||
| --- a/src/qemu/qemu_command.c
 |  | ||||||
| +++ b/src/qemu/qemu_command.c
 |  | ||||||
| @@ -4935,6 +4935,12 @@ qemuOpenChrChardevUNIXSocket(const virDomainChrSourceDef *dev)
 |  | ||||||
|      return -1; |  | ||||||
|  } |  | ||||||
|   |  | ||||||
| +
 |  | ||||||
| +enum {
 |  | ||||||
| +    QEMU_BUILD_CHARDEV_TCP_NOWAIT = (1 << 0),
 |  | ||||||
| +    QEMU_BUILD_CHARDEV_FILE_LOGD  = (1 << 1),
 |  | ||||||
| +};
 |  | ||||||
| +
 |  | ||||||
|  /* This function outputs a -chardev command line option which describes only the |  | ||||||
|   * host side of the character device */ |  | ||||||
|  static char * |  | ||||||
| @@ -4946,8 +4952,7 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager,
 |  | ||||||
|                         const virDomainChrSourceDef *dev, |  | ||||||
|                         const char *alias, |  | ||||||
|                         virQEMUCapsPtr qemuCaps, |  | ||||||
| -                       bool nowait,
 |  | ||||||
| -                       bool chardevStdioLogd)
 |  | ||||||
| +                       unsigned int flags)
 |  | ||||||
|  { |  | ||||||
|      virBuffer buf = VIR_BUFFER_INITIALIZER; |  | ||||||
|      bool telnet; |  | ||||||
| @@ -4986,7 +4991,8 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager,
 |  | ||||||
|                             _("append not supported in this QEMU binary")); |  | ||||||
|              goto cleanup; |  | ||||||
|          } |  | ||||||
| -        if (qemuBuildChrChardevFileStr(chardevStdioLogd ? logManager : NULL,
 |  | ||||||
| +        if (qemuBuildChrChardevFileStr(flags & QEMU_BUILD_CHARDEV_FILE_LOGD ?
 |  | ||||||
| +                                       logManager : NULL,
 |  | ||||||
|                                         cmd, def, &buf, |  | ||||||
|                                         "path", dev->data.file.path, |  | ||||||
|                                         "append", dev->data.file.append) < 0) |  | ||||||
| @@ -5032,8 +5038,11 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager,
 |  | ||||||
|                            dev->data.tcp.service, |  | ||||||
|                            telnet ? ",telnet" : ""); |  | ||||||
|   |  | ||||||
| -        if (dev->data.tcp.listen)
 |  | ||||||
| -            virBufferAdd(&buf, nowait ? ",server,nowait" : ",server", -1);
 |  | ||||||
| +        if (dev->data.tcp.listen) {
 |  | ||||||
| +            virBufferAddLit(&buf, ",server");
 |  | ||||||
| +            if (flags & QEMU_BUILD_CHARDEV_TCP_NOWAIT)
 |  | ||||||
| +                virBufferAddLit(&buf, ",nowait");
 |  | ||||||
| +        }
 |  | ||||||
|   |  | ||||||
|          qemuBuildChrChardevReconnectStr(&buf, &dev->data.tcp.reconnect); |  | ||||||
|   |  | ||||||
| @@ -5091,8 +5100,11 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager,
 |  | ||||||
|              virBufferAsprintf(&buf, "socket,id=%s,path=", charAlias); |  | ||||||
|              virQEMUBuildBufferEscapeComma(&buf, dev->data.nix.path); |  | ||||||
|          } |  | ||||||
| -        if (dev->data.nix.listen)
 |  | ||||||
| -            virBufferAdd(&buf, nowait ? ",server,nowait" : ",server", -1);
 |  | ||||||
| +        if (dev->data.nix.listen) {
 |  | ||||||
| +            virBufferAddLit(&buf, ",server");
 |  | ||||||
| +            if (flags & QEMU_BUILD_CHARDEV_TCP_NOWAIT)
 |  | ||||||
| +                virBufferAddLit(&buf, ",nowait");
 |  | ||||||
| +        }
 |  | ||||||
|   |  | ||||||
|          qemuBuildChrChardevReconnectStr(&buf, &dev->data.nix.reconnect); |  | ||||||
|          break; |  | ||||||
| @@ -5426,6 +5438,9 @@ qemuBuildMonitorCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                              qemuDomainObjPrivatePtr priv) |  | ||||||
|  { |  | ||||||
|      char *chrdev; |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    if (priv->chardevStdioLogd)
 |  | ||||||
| +        cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD;
 |  | ||||||
|   |  | ||||||
|      if (!priv->monConfig) |  | ||||||
|          return 0; |  | ||||||
| @@ -5433,8 +5448,7 @@ qemuBuildMonitorCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|      if (!(chrdev = qemuBuildChrChardevStr(logManager, secManager, |  | ||||||
|                                            cmd, cfg, def, |  | ||||||
|                                            priv->monConfig, "monitor", |  | ||||||
| -                                          priv->qemuCaps, true,
 |  | ||||||
| -                                          priv->chardevStdioLogd)))
 |  | ||||||
| +                                          priv->qemuCaps, cdevflags)))
 |  | ||||||
|          return -1; |  | ||||||
|      virCommandAddArg(cmd, "-chardev"); |  | ||||||
|      virCommandAddArg(cmd, chrdev); |  | ||||||
| @@ -5559,6 +5573,9 @@ qemuBuildRNGBackendChrdevStr(virLogManagerPtr logManager,
 |  | ||||||
|                               char **chr, |  | ||||||
|                               bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    if (chardevStdioLogd)
 |  | ||||||
| +        cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD;
 |  | ||||||
|      *chr = NULL; |  | ||||||
|   |  | ||||||
|      switch ((virDomainRNGBackend) rng->backend) { |  | ||||||
| @@ -5571,8 +5588,8 @@ qemuBuildRNGBackendChrdevStr(virLogManagerPtr logManager,
 |  | ||||||
|          if (!(*chr = qemuBuildChrChardevStr(logManager, secManager, |  | ||||||
|                                              cmd, cfg, def, |  | ||||||
|                                              rng->source.chardev, |  | ||||||
| -                                            rng->info.alias, qemuCaps, true,
 |  | ||||||
| -                                            chardevStdioLogd)))
 |  | ||||||
| +                                            rng->info.alias, qemuCaps,
 |  | ||||||
| +                                            cdevflags)))
 |  | ||||||
|              return -1; |  | ||||||
|      } |  | ||||||
|   |  | ||||||
| @@ -8215,8 +8232,7 @@ qemuBuildVhostuserCommandLine(virQEMUDriverPtr driver,
 |  | ||||||
|          if (!(chardev = qemuBuildChrChardevStr(logManager, secManager, |  | ||||||
|                                                 cmd, cfg, def, |  | ||||||
|                                                 net->data.vhostuser, |  | ||||||
| -                                               net->info.alias, qemuCaps, false,
 |  | ||||||
| -                                               false)))
 |  | ||||||
| +                                               net->info.alias, qemuCaps, 0)))
 |  | ||||||
|              goto cleanup; |  | ||||||
|          break; |  | ||||||
|   |  | ||||||
| @@ -8696,6 +8712,9 @@ qemuBuildSmartcardCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|      virBuffer opt = VIR_BUFFER_INITIALIZER; |  | ||||||
|      const char *database; |  | ||||||
|      const char *contAlias = NULL; |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    if (chardevStdioLogd)
 |  | ||||||
| +        cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD;
 |  | ||||||
|   |  | ||||||
|      if (!def->nsmartcards) |  | ||||||
|          return 0; |  | ||||||
| @@ -8761,8 +8780,7 @@ qemuBuildSmartcardCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                                cmd, cfg, def, |  | ||||||
|                                                smartcard->data.passthru, |  | ||||||
|                                                smartcard->info.alias, |  | ||||||
| -                                              qemuCaps, true,
 |  | ||||||
| -                                              chardevStdioLogd))) {
 |  | ||||||
| +                                              qemuCaps, cdevflags))) {
 |  | ||||||
|              virBufferFreeAndReset(&opt); |  | ||||||
|              return -1; |  | ||||||
|          } |  | ||||||
| @@ -8930,6 +8948,9 @@ qemuBuildShmemCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|      virBuffer buf = VIR_BUFFER_INITIALIZER; |  | ||||||
|      char *devstr = NULL; |  | ||||||
|      int rc; |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    if (chardevStdioLogd)
 |  | ||||||
| +        cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD;
 |  | ||||||
|   |  | ||||||
|      if (shmem->size) { |  | ||||||
|          /* |  | ||||||
| @@ -8993,8 +9014,8 @@ qemuBuildShmemCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|          devstr = qemuBuildChrChardevStr(logManager, secManager, |  | ||||||
|                                          cmd, cfg, def, |  | ||||||
|                                          &shmem->server.chr, |  | ||||||
| -                                        shmem->info.alias, qemuCaps, true,
 |  | ||||||
| -                                        chardevStdioLogd);
 |  | ||||||
| +                                        shmem->info.alias, qemuCaps,
 |  | ||||||
| +                                        cdevflags);
 |  | ||||||
|          if (!devstr) |  | ||||||
|              return -1; |  | ||||||
|   |  | ||||||
| @@ -9087,6 +9108,9 @@ qemuBuildSerialCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
|      bool havespice = false; |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    if (chardevStdioLogd)
 |  | ||||||
| +        cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD;
 |  | ||||||
|   |  | ||||||
|      if (def->nserials) { |  | ||||||
|          for (i = 0; i < def->ngraphics && !havespice; i++) { |  | ||||||
| @@ -9106,8 +9130,7 @@ qemuBuildSerialCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                                cmd, cfg, def, |  | ||||||
|                                                serial->source, |  | ||||||
|                                                serial->info.alias, |  | ||||||
| -                                              qemuCaps, true,
 |  | ||||||
| -                                              chardevStdioLogd)))
 |  | ||||||
| +                                              qemuCaps, cdevflags)))
 |  | ||||||
|              return -1; |  | ||||||
|          virCommandAddArg(cmd, "-chardev"); |  | ||||||
|          virCommandAddArg(cmd, devstr); |  | ||||||
| @@ -9148,6 +9171,9 @@ qemuBuildParallelsCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    if (chardevStdioLogd)
 |  | ||||||
| +        cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD;
 |  | ||||||
|   |  | ||||||
|      for (i = 0; i < def->nparallels; i++) { |  | ||||||
|          virDomainChrDefPtr parallel = def->parallels[i]; |  | ||||||
| @@ -9157,8 +9183,7 @@ qemuBuildParallelsCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                                cmd, cfg, def, |  | ||||||
|                                                parallel->source, |  | ||||||
|                                                parallel->info.alias, |  | ||||||
| -                                              qemuCaps, true,
 |  | ||||||
| -                                              chardevStdioLogd)))
 |  | ||||||
| +                                              qemuCaps, cdevflags)))
 |  | ||||||
|              return -1; |  | ||||||
|          virCommandAddArg(cmd, "-chardev"); |  | ||||||
|          virCommandAddArg(cmd, devstr); |  | ||||||
| @@ -9183,6 +9208,9 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                               bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    if (chardevStdioLogd)
 |  | ||||||
| +        cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD;
 |  | ||||||
|   |  | ||||||
|      for (i = 0; i < def->nchannels; i++) { |  | ||||||
|          virDomainChrDefPtr channel = def->channels[i]; |  | ||||||
| @@ -9194,8 +9222,7 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                                    cmd, cfg, def, |  | ||||||
|                                                    channel->source, |  | ||||||
|                                                    channel->info.alias, |  | ||||||
| -                                                  qemuCaps, true,
 |  | ||||||
| -                                                  chardevStdioLogd)))
 |  | ||||||
| +                                                  qemuCaps, cdevflags)))
 |  | ||||||
|                  return -1; |  | ||||||
|              virCommandAddArg(cmd, "-chardev"); |  | ||||||
|              virCommandAddArg(cmd, devstr); |  | ||||||
| @@ -9212,8 +9239,7 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                                    cmd, cfg, def, |  | ||||||
|                                                    channel->source, |  | ||||||
|                                                    channel->info.alias, |  | ||||||
| -                                                  qemuCaps, true,
 |  | ||||||
| -                                                  chardevStdioLogd)))
 |  | ||||||
| +                                                  qemuCaps, cdevflags)))
 |  | ||||||
|                  return -1; |  | ||||||
|              virCommandAddArg(cmd, "-chardev"); |  | ||||||
|              virCommandAddArg(cmd, devstr); |  | ||||||
| @@ -9239,6 +9265,9 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                              bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    if (chardevStdioLogd)
 |  | ||||||
| +        cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD;
 |  | ||||||
|   |  | ||||||
|      /* Explicit console devices */ |  | ||||||
|      for (i = 0; i < def->nconsoles; i++) { |  | ||||||
| @@ -9257,8 +9286,7 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                                    cmd, cfg, def, |  | ||||||
|                                                    console->source, |  | ||||||
|                                                    console->info.alias, |  | ||||||
| -                                                  qemuCaps, true,
 |  | ||||||
| -                                                  chardevStdioLogd)))
 |  | ||||||
| +                                                  qemuCaps, cdevflags)))
 |  | ||||||
|                  return -1; |  | ||||||
|              virCommandAddArg(cmd, "-chardev"); |  | ||||||
|              virCommandAddArg(cmd, devstr); |  | ||||||
| @@ -9279,8 +9307,7 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                                    cmd, cfg, def, |  | ||||||
|                                                    console->source, |  | ||||||
|                                                    console->info.alias, |  | ||||||
| -                                                  qemuCaps, true,
 |  | ||||||
| -                                                  chardevStdioLogd)))
 |  | ||||||
| +                                                  qemuCaps, cdevflags)))
 |  | ||||||
|                  return -1; |  | ||||||
|              virCommandAddArg(cmd, "-chardev"); |  | ||||||
|              virCommandAddArg(cmd, devstr); |  | ||||||
| @@ -9295,8 +9322,7 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                                    cmd, cfg, def, |  | ||||||
|                                                    console->source, |  | ||||||
|                                                    console->info.alias, |  | ||||||
| -                                                  qemuCaps, true,
 |  | ||||||
| -                                                  chardevStdioLogd)))
 |  | ||||||
| +                                                  qemuCaps, cdevflags)))
 |  | ||||||
|                  return -1; |  | ||||||
|              virCommandAddArg(cmd, "-chardev"); |  | ||||||
|              virCommandAddArg(cmd, devstr); |  | ||||||
| @@ -9419,6 +9445,9 @@ qemuBuildRedirdevCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                               bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    if (chardevStdioLogd)
 |  | ||||||
| +        cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD;
 |  | ||||||
|   |  | ||||||
|      for (i = 0; i < def->nredirdevs; i++) { |  | ||||||
|          virDomainRedirdevDefPtr redirdev = def->redirdevs[i]; |  | ||||||
| @@ -9428,8 +9457,7 @@ qemuBuildRedirdevCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                                cmd, cfg, def, |  | ||||||
|                                                redirdev->source, |  | ||||||
|                                                redirdev->info.alias, |  | ||||||
| -                                              qemuCaps, true,
 |  | ||||||
| -                                              chardevStdioLogd))) {
 |  | ||||||
| +                                              qemuCaps, cdevflags))) {
 |  | ||||||
|              return -1; |  | ||||||
|          } |  | ||||||
|   |  | ||||||
| -- 
 |  | ||||||
| 2.17.1 |  | ||||||
| 
 |  | ||||||
| @ -1,166 +0,0 @@ | |||||||
| From ed5aa85f371aebb0103e712f9a103d011ab9ae43 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> |  | ||||||
| Date: Wed, 4 Jul 2018 14:28:14 +0100 |  | ||||||
| Subject: [PATCH 3/4] qemu: don't use chardev FD passing for vhostuser backend |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| QEMU chardevs have a bug which makes the vhostuser backend complain |  | ||||||
| about lack of support for FD passing when validating the chardev. |  | ||||||
| While this is ultimately QEMU's responsibility to fix, libvirt needs to |  | ||||||
| avoid tickling the bug. |  | ||||||
| 
 |  | ||||||
| Simply disabling chardev FD passing just for vhostuser's chardev is |  | ||||||
| the most prudent approach, avoiding need for a QEMU version number |  | ||||||
| check. |  | ||||||
| 
 |  | ||||||
| Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> |  | ||||||
| ---
 |  | ||||||
|  src/qemu/qemu_command.c                   | 31 +++++++++++++++-------- |  | ||||||
|  tests/qemuxml2argvdata/net-vhostuser.args |  3 +-- |  | ||||||
|  tests/qemuxml2argvtest.c                  |  2 +- |  | ||||||
|  3 files changed, 23 insertions(+), 13 deletions(-) |  | ||||||
| 
 |  | ||||||
| diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
 |  | ||||||
| index 63c7ac0f82..82d8030a33 100644
 |  | ||||||
| --- a/src/qemu/qemu_command.c
 |  | ||||||
| +++ b/src/qemu/qemu_command.c
 |  | ||||||
| @@ -4939,6 +4939,7 @@ qemuOpenChrChardevUNIXSocket(const virDomainChrSourceDef *dev)
 |  | ||||||
|  enum { |  | ||||||
|      QEMU_BUILD_CHARDEV_TCP_NOWAIT = (1 << 0), |  | ||||||
|      QEMU_BUILD_CHARDEV_FILE_LOGD  = (1 << 1), |  | ||||||
| +    QEMU_BUILD_CHARDEV_UNIX_FD_PASS = (1 << 2),
 |  | ||||||
|  }; |  | ||||||
|   |  | ||||||
|  /* This function outputs a -chardev command line option which describes only the |  | ||||||
| @@ -5082,7 +5083,8 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager,
 |  | ||||||
|          break; |  | ||||||
|   |  | ||||||
|      case VIR_DOMAIN_CHR_TYPE_UNIX: |  | ||||||
| -        if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_FD_PASS)) {
 |  | ||||||
| +        if ((flags & QEMU_BUILD_CHARDEV_UNIX_FD_PASS) &&
 |  | ||||||
| +            virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_FD_PASS)) {
 |  | ||||||
|              if (qemuSecuritySetSocketLabel(secManager, (virDomainDefPtr)def) < 0) |  | ||||||
|                  goto cleanup; |  | ||||||
|              int fd = qemuOpenChrChardevUNIXSocket(dev); |  | ||||||
| @@ -5438,7 +5440,8 @@ qemuBuildMonitorCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                              qemuDomainObjPrivatePtr priv) |  | ||||||
|  { |  | ||||||
|      char *chrdev; |  | ||||||
| -    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT |
 |  | ||||||
| +        QEMU_BUILD_CHARDEV_UNIX_FD_PASS;
 |  | ||||||
|      if (priv->chardevStdioLogd) |  | ||||||
|          cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD; |  | ||||||
|   |  | ||||||
| @@ -5573,7 +5576,8 @@ qemuBuildRNGBackendChrdevStr(virLogManagerPtr logManager,
 |  | ||||||
|                               char **chr, |  | ||||||
|                               bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
| -    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT |
 |  | ||||||
| +        QEMU_BUILD_CHARDEV_UNIX_FD_PASS;
 |  | ||||||
|      if (chardevStdioLogd) |  | ||||||
|          cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD; |  | ||||||
|      *chr = NULL; |  | ||||||
| @@ -8712,7 +8716,8 @@ qemuBuildSmartcardCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|      virBuffer opt = VIR_BUFFER_INITIALIZER; |  | ||||||
|      const char *database; |  | ||||||
|      const char *contAlias = NULL; |  | ||||||
| -    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT |
 |  | ||||||
| +        QEMU_BUILD_CHARDEV_UNIX_FD_PASS;
 |  | ||||||
|      if (chardevStdioLogd) |  | ||||||
|          cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD; |  | ||||||
|   |  | ||||||
| @@ -8948,7 +8953,8 @@ qemuBuildShmemCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|      virBuffer buf = VIR_BUFFER_INITIALIZER; |  | ||||||
|      char *devstr = NULL; |  | ||||||
|      int rc; |  | ||||||
| -    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT |
 |  | ||||||
| +        QEMU_BUILD_CHARDEV_UNIX_FD_PASS;
 |  | ||||||
|      if (chardevStdioLogd) |  | ||||||
|          cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD; |  | ||||||
|   |  | ||||||
| @@ -9108,7 +9114,8 @@ qemuBuildSerialCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
|      bool havespice = false; |  | ||||||
| -    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT |
 |  | ||||||
| +        QEMU_BUILD_CHARDEV_UNIX_FD_PASS;
 |  | ||||||
|      if (chardevStdioLogd) |  | ||||||
|          cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD; |  | ||||||
|   |  | ||||||
| @@ -9171,7 +9178,8 @@ qemuBuildParallelsCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                                bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
| -    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT |
 |  | ||||||
| +        QEMU_BUILD_CHARDEV_UNIX_FD_PASS;
 |  | ||||||
|      if (chardevStdioLogd) |  | ||||||
|          cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD; |  | ||||||
|   |  | ||||||
| @@ -9208,7 +9216,8 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                               bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
| -    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT |
 |  | ||||||
| +        QEMU_BUILD_CHARDEV_UNIX_FD_PASS;
 |  | ||||||
|      if (chardevStdioLogd) |  | ||||||
|          cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD; |  | ||||||
|   |  | ||||||
| @@ -9265,7 +9274,8 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                              bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
| -    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT |
 |  | ||||||
| +        QEMU_BUILD_CHARDEV_UNIX_FD_PASS;
 |  | ||||||
|      if (chardevStdioLogd) |  | ||||||
|          cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD; |  | ||||||
|   |  | ||||||
| @@ -9445,7 +9455,8 @@ qemuBuildRedirdevCommandLine(virLogManagerPtr logManager,
 |  | ||||||
|                               bool chardevStdioLogd) |  | ||||||
|  { |  | ||||||
|      size_t i; |  | ||||||
| -    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT;
 |  | ||||||
| +    unsigned int cdevflags = QEMU_BUILD_CHARDEV_TCP_NOWAIT |
 |  | ||||||
| +        QEMU_BUILD_CHARDEV_UNIX_FD_PASS;
 |  | ||||||
|      if (chardevStdioLogd) |  | ||||||
|          cdevflags |= QEMU_BUILD_CHARDEV_FILE_LOGD; |  | ||||||
|   |  | ||||||
| diff --git a/tests/qemuxml2argvdata/net-vhostuser.args b/tests/qemuxml2argvdata/net-vhostuser.args
 |  | ||||||
| index fc4557a1f2..513fc535ab 100644
 |  | ||||||
| --- a/tests/qemuxml2argvdata/net-vhostuser.args
 |  | ||||||
| +++ b/tests/qemuxml2argvdata/net-vhostuser.args
 |  | ||||||
| @@ -14,8 +14,7 @@ QEMU_AUDIO_DRV=none \
 |  | ||||||
|  -display none \ |  | ||||||
|  -no-user-config \ |  | ||||||
|  -nodefaults \ |  | ||||||
| --chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
 |  | ||||||
| -server,nowait \
 |  | ||||||
| +-chardev socket,id=charmonitor,fd=1729,server,nowait \
 |  | ||||||
|  -mon chardev=charmonitor,id=monitor,mode=control \ |  | ||||||
|  -rtc base=utc \ |  | ||||||
|  -no-shutdown \ |  | ||||||
| diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
 |  | ||||||
| index d6911f9344..2d52f352b0 100644
 |  | ||||||
| --- a/tests/qemuxml2argvtest.c
 |  | ||||||
| +++ b/tests/qemuxml2argvtest.c
 |  | ||||||
| @@ -1266,7 +1266,7 @@ mymain(void)
 |  | ||||||
|      DO_TEST("misc-no-reboot", NONE); |  | ||||||
|      DO_TEST("misc-uuid", NONE); |  | ||||||
|      DO_TEST_PARSE_ERROR("vhost_queues-invalid", NONE); |  | ||||||
| -    DO_TEST("net-vhostuser", NONE);
 |  | ||||||
| +    DO_TEST("net-vhostuser", QEMU_CAPS_CHARDEV_FD_PASS);
 |  | ||||||
|      DO_TEST("net-vhostuser-multiq", |  | ||||||
|              QEMU_CAPS_VHOSTUSER_MULTIQUEUE); |  | ||||||
|      DO_TEST_FAILURE("net-vhostuser-multiq", NONE); |  | ||||||
| -- 
 |  | ||||||
| 2.17.1 |  | ||||||
| 
 |  | ||||||
| @ -1,123 +0,0 @@ | |||||||
| From 1dd55b2fcddecf22a046b1df069b55fdfe17af76 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> |  | ||||||
| Date: Fri, 6 Jul 2018 11:00:11 +0100 |  | ||||||
| Subject: [PATCH 4/4] qemu: fix UNIX socket chardevs operating in client mode |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| When support was adding for passing a pre-opened listener socket to UNIX |  | ||||||
| chardevs, it accidentally passed the listener socket for client mode |  | ||||||
| chardevs too with predictable amounts of fail resulting. |  | ||||||
| 
 |  | ||||||
| Expand the unit test coverage to validate that we are only doing FD |  | ||||||
| passing when operating in server mode. |  | ||||||
| 
 |  | ||||||
| Reported-by: Richard W.M. Jones <rjones@redhat.com> |  | ||||||
| Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> |  | ||||||
| ---
 |  | ||||||
|  src/qemu/qemu_command.c                       |  3 +- |  | ||||||
|  .../qemuxml2argvdata/serial-unix-chardev.args |  2 ++ |  | ||||||
|  .../serial-unix-chardev.x86_64-latest.args    | 36 +++++++++++++++++++ |  | ||||||
|  .../qemuxml2argvdata/serial-unix-chardev.xml  |  4 +++ |  | ||||||
|  tests/qemuxml2argvtest.c                      |  1 + |  | ||||||
|  5 files changed, 45 insertions(+), 1 deletion(-) |  | ||||||
|  create mode 100644 tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args |  | ||||||
| 
 |  | ||||||
| diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
 |  | ||||||
| index 82d8030a33..32eb59b6ab 100644
 |  | ||||||
| --- a/src/qemu/qemu_command.c
 |  | ||||||
| +++ b/src/qemu/qemu_command.c
 |  | ||||||
| @@ -5083,7 +5083,8 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager,
 |  | ||||||
|          break; |  | ||||||
|   |  | ||||||
|      case VIR_DOMAIN_CHR_TYPE_UNIX: |  | ||||||
| -        if ((flags & QEMU_BUILD_CHARDEV_UNIX_FD_PASS) &&
 |  | ||||||
| +        if (dev->data.nix.listen &&
 |  | ||||||
| +            (flags & QEMU_BUILD_CHARDEV_UNIX_FD_PASS) &&
 |  | ||||||
|              virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_FD_PASS)) { |  | ||||||
|              if (qemuSecuritySetSocketLabel(secManager, (virDomainDefPtr)def) < 0) |  | ||||||
|                  goto cleanup; |  | ||||||
| diff --git a/tests/qemuxml2argvdata/serial-unix-chardev.args b/tests/qemuxml2argvdata/serial-unix-chardev.args
 |  | ||||||
| index 584f4a1dd1..873d3263c6 100644
 |  | ||||||
| --- a/tests/qemuxml2argvdata/serial-unix-chardev.args
 |  | ||||||
| +++ b/tests/qemuxml2argvdata/serial-unix-chardev.args
 |  | ||||||
| @@ -26,4 +26,6 @@ server,nowait \
 |  | ||||||
|  -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ |  | ||||||
|  -chardev socket,id=charserial0,path=/tmp/serial.sock \ |  | ||||||
|  -device isa-serial,chardev=charserial0,id=serial0 \ |  | ||||||
| +-chardev socket,id=charserial1,path=/tmp/serial-server.sock,server,nowait \
 |  | ||||||
| +-device isa-serial,chardev=charserial1,id=serial1 \
 |  | ||||||
|  -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 |  | ||||||
| diff --git a/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args b/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args
 |  | ||||||
| new file mode 100644 |  | ||||||
| index 0000000000..ce7a7f80d7
 |  | ||||||
| --- /dev/null
 |  | ||||||
| +++ b/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args
 |  | ||||||
| @@ -0,0 +1,36 @@
 |  | ||||||
| +LC_ALL=C \
 |  | ||||||
| +PATH=/bin \
 |  | ||||||
| +HOME=/home/test \
 |  | ||||||
| +USER=test \
 |  | ||||||
| +LOGNAME=test \
 |  | ||||||
| +QEMU_AUDIO_DRV=none \
 |  | ||||||
| +/usr/bin/qemu-system-i686 \
 |  | ||||||
| +-name guest=QEMUGuest1,debug-threads=on \
 |  | ||||||
| +-S \
 |  | ||||||
| +-object secret,id=masterKey0,format=raw,\
 |  | ||||||
| +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 |  | ||||||
| +-machine pc,accel=tcg,usb=off,dump-guest-core=off \
 |  | ||||||
| +-m 214 \
 |  | ||||||
| +-realtime mlock=off \
 |  | ||||||
| +-smp 1,sockets=1,cores=1,threads=1 \
 |  | ||||||
| +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
 |  | ||||||
| +-display none \
 |  | ||||||
| +-no-user-config \
 |  | ||||||
| +-nodefaults \
 |  | ||||||
| +-chardev socket,id=charmonitor,fd=1729,server,nowait \
 |  | ||||||
| +-mon chardev=charmonitor,id=monitor,mode=control \
 |  | ||||||
| +-rtc base=utc \
 |  | ||||||
| +-no-shutdown \
 |  | ||||||
| +-no-acpi \
 |  | ||||||
| +-boot strict=on \
 |  | ||||||
| +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
 |  | ||||||
| +-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
 |  | ||||||
| +-device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
 |  | ||||||
| +-chardev socket,id=charserial0,path=/tmp/serial.sock \
 |  | ||||||
| +-device isa-serial,chardev=charserial0,id=serial0 \
 |  | ||||||
| +-chardev socket,id=charserial1,fd=1729,server,nowait \
 |  | ||||||
| +-device isa-serial,chardev=charserial1,id=serial1 \
 |  | ||||||
| +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 |  | ||||||
| +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
 |  | ||||||
| +resourcecontrol=deny \
 |  | ||||||
| +-msg timestamp=on
 |  | ||||||
| diff --git a/tests/qemuxml2argvdata/serial-unix-chardev.xml b/tests/qemuxml2argvdata/serial-unix-chardev.xml
 |  | ||||||
| index 04f83779ce..af513d6445 100644
 |  | ||||||
| --- a/tests/qemuxml2argvdata/serial-unix-chardev.xml
 |  | ||||||
| +++ b/tests/qemuxml2argvdata/serial-unix-chardev.xml
 |  | ||||||
| @@ -25,6 +25,10 @@
 |  | ||||||
|        <source mode='connect' path='/tmp/serial.sock'/> |  | ||||||
|        <target port='0'/> |  | ||||||
|      </serial> |  | ||||||
| +    <serial type='unix'>
 |  | ||||||
| +      <source mode='bind' path='/tmp/serial-server.sock'/>
 |  | ||||||
| +      <target port='1'/>
 |  | ||||||
| +    </serial>
 |  | ||||||
|      <console type='unix'> |  | ||||||
|        <source mode='connect' path='/tmp/serial.sock'/> |  | ||||||
|        <target port='0'/> |  | ||||||
| diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
 |  | ||||||
| index 2d52f352b0..3be5af03aa 100644
 |  | ||||||
| --- a/tests/qemuxml2argvtest.c
 |  | ||||||
| +++ b/tests/qemuxml2argvtest.c
 |  | ||||||
| @@ -1335,6 +1335,7 @@ mymain(void)
 |  | ||||||
|              QEMU_CAPS_CHARDEV_FILE_APPEND); |  | ||||||
|      DO_TEST("serial-unix-chardev", |  | ||||||
|              QEMU_CAPS_DEVICE_ISA_SERIAL); |  | ||||||
| +    DO_TEST_CAPS_LATEST("serial-unix-chardev");
 |  | ||||||
|      DO_TEST("serial-tcp-chardev", |  | ||||||
|              QEMU_CAPS_DEVICE_ISA_SERIAL); |  | ||||||
|      DO_TEST("serial-udp-chardev", |  | ||||||
| -- 
 |  | ||||||
| 2.17.1 |  | ||||||
| 
 |  | ||||||
							
								
								
									
										300
									
								
								libvirt.spec
									
									
									
									
									
								
							
							
						
						
									
										300
									
								
								libvirt.spec
									
									
									
									
									
								
							| @ -3,7 +3,7 @@ | |||||||
| # This spec file assumes you are building on a Fedora or RHEL version | # This spec file assumes you are building on a Fedora or RHEL version | ||||||
| # that's still supported by the vendor. It may work on other distros | # that's still supported by the vendor. It may work on other distros | ||||||
| # or versions, but no effort will be made to ensure that going forward. | # or versions, but no effort will be made to ensure that going forward. | ||||||
| %define min_rhel 6 | %define min_rhel 7 | ||||||
| %define min_fedora 26 | %define min_fedora 26 | ||||||
| 
 | 
 | ||||||
| %if (0%{?fedora} && 0%{?fedora} >= %{min_fedora}) || (0%{?rhel} && 0%{?rhel} >= %{min_rhel}) | %if (0%{?fedora} && 0%{?fedora} >= %{min_fedora}) || (0%{?rhel} && 0%{?rhel} >= %{min_rhel}) | ||||||
| @ -34,10 +34,7 @@ | |||||||
| 
 | 
 | ||||||
| %if 0%{?rhel} | %if 0%{?rhel} | ||||||
|     %define with_qemu_tcg 0 |     %define with_qemu_tcg 0 | ||||||
|     %define qemu_kvm_arches x86_64 |  | ||||||
|     %if 0%{?rhel} >= 7 |  | ||||||
|     %define qemu_kvm_arches x86_64 %{power64} aarch64 s390x |     %define qemu_kvm_arches x86_64 %{power64} aarch64 s390x | ||||||
|     %endif |  | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| %ifarch %{qemu_kvm_arches} | %ifarch %{qemu_kvm_arches} | ||||||
| @ -58,11 +55,7 @@ | |||||||
| %define with_hyperv        0%{!?_without_hyperv:1} | %define with_hyperv        0%{!?_without_hyperv:1} | ||||||
| 
 | 
 | ||||||
| # Then the secondary host drivers, which run inside libvirtd | # Then the secondary host drivers, which run inside libvirtd | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 | %define with_storage_rbd      0%{!?_without_storage_rbd:1} | ||||||
|     %define with_storage_rbd      0%{!?_without_storage_rbd:1} |  | ||||||
| %else |  | ||||||
|     %define with_storage_rbd      0 |  | ||||||
| %endif |  | ||||||
| %if 0%{?fedora} | %if 0%{?fedora} | ||||||
|     %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:1} |     %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:1} | ||||||
| %else | %else | ||||||
| @ -80,16 +73,13 @@ | |||||||
| 
 | 
 | ||||||
| # A few optional bits off by default, we enable later | # A few optional bits off by default, we enable later | ||||||
| %define with_fuse          0%{!?_without_fuse:0} | %define with_fuse          0%{!?_without_fuse:0} | ||||||
| %define with_cgconfig      0%{!?_without_cgconfig:0} |  | ||||||
| %define with_sanlock       0%{!?_without_sanlock:0} | %define with_sanlock       0%{!?_without_sanlock:0} | ||||||
| %define with_systemd       0%{!?_without_systemd:0} |  | ||||||
| %define with_numad         0%{!?_without_numad:0} | %define with_numad         0%{!?_without_numad:0} | ||||||
| %define with_firewalld     0%{!?_without_firewalld:0} | %define with_firewalld     0%{!?_without_firewalld:0} | ||||||
| %define with_libssh2       0%{!?_without_libssh2:0} | %define with_libssh2       0%{!?_without_libssh2:0} | ||||||
| %define with_wireshark     0%{!?_without_wireshark:0} | %define with_wireshark     0%{!?_without_wireshark:0} | ||||||
| %define with_libssh        0%{!?_without_libssh:0} | %define with_libssh        0%{!?_without_libssh:0} | ||||||
| %define with_bash_completion  0%{!?_without_bash_completion:0} | %define with_bash_completion  0%{!?_without_bash_completion:0} | ||||||
| %define with_pm_utils      1 |  | ||||||
| 
 | 
 | ||||||
| # Finally set the OS / architecture specific special cases | # Finally set the OS / architecture specific special cases | ||||||
| 
 | 
 | ||||||
| @ -117,7 +107,7 @@ | |||||||
| 
 | 
 | ||||||
| # librados and librbd are built only on x86_64 on rhel | # librados and librbd are built only on x86_64 on rhel | ||||||
| %ifnarch x86_64 | %ifnarch x86_64 | ||||||
|     %if 0%{?rhel} >= 7 |     %if 0%{?rhel} | ||||||
|         %define with_storage_rbd 0 |         %define with_storage_rbd 0 | ||||||
|     %endif |     %endif | ||||||
| %endif | %endif | ||||||
| @ -147,20 +137,10 @@ | |||||||
|     %endif |     %endif | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| # Fedora 17 / RHEL-7 are first where we use systemd. Although earlier | %define with_firewalld 1 | ||||||
| # Fedora has systemd, libvirt still used sysvinit there. |  | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
|     %define with_systemd 1 |  | ||||||
|     %define with_pm_utils 0 |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| # Fedora 18 / RHEL-7 are first where firewalld support is enabled |  | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
|     %define with_firewalld 1 |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| # fuse is used to provide virtualized /proc for LXC | # fuse is used to provide virtualized /proc for LXC | ||||||
| %if %{with_lxc} && 0%{?rhel} != 6 | %if %{with_lxc} | ||||||
|     %define with_fuse      0%{!?_without_fuse:1} |     %define with_fuse      0%{!?_without_fuse:1} | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| @ -195,10 +175,7 @@ | |||||||
|     %define with_libssh 0%{!?_without_libssh:1} |     %define with_libssh 0%{!?_without_libssh:1} | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| # Enable bash-completion for new enough distros | %define with_bash_completion  0%{!?_without_bash_completion:1} | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
|     %define with_bash_completion  0%{!?_without_bash_completion:1} |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| # Use Python 3 when possible, Python 2 otherwise | # Use Python 3 when possible, Python 2 otherwise | ||||||
| %if 0%{?fedora} || 0%{?rhel} > 7 | %if 0%{?fedora} || 0%{?rhel} > 7 | ||||||
| @ -216,23 +193,11 @@ | |||||||
|     %endif |     %endif | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| # Pull in cgroups config system |  | ||||||
| %if %{with_qemu} || %{with_lxc} |  | ||||||
|     %define with_cgconfig 0%{!?_without_cgconfig:1} |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| # Force QEMU to run as non-root | # Force QEMU to run as non-root | ||||||
| %define qemu_user  qemu | %define qemu_user  qemu | ||||||
| %define qemu_group  qemu | %define qemu_group  qemu | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
|     %define with_systemd_macros 1 |  | ||||||
| %else |  | ||||||
|     %define with_systemd_macros 0 |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # RHEL releases provide stable tool chains and so it is safe to turn | # RHEL releases provide stable tool chains and so it is safe to turn | ||||||
| # compiler warning into errors without being worried about frequent | # compiler warning into errors without being worried about frequent | ||||||
| # changes in reported warnings | # changes in reported warnings | ||||||
| @ -251,8 +216,8 @@ | |||||||
| 
 | 
 | ||||||
| Summary: Library providing a simple virtualization API | Summary: Library providing a simple virtualization API | ||||||
| Name: libvirt | Name: libvirt | ||||||
| Version: 4.5.0 | Version: 4.6.0 | ||||||
| Release: 3%{?dist}%{?extra_release} | Release: 1%{?dist}%{?extra_release} | ||||||
| License: LGPLv2+ | License: LGPLv2+ | ||||||
| URL: https://libvirt.org/ | URL: https://libvirt.org/ | ||||||
| 
 | 
 | ||||||
| @ -260,10 +225,6 @@ URL: https://libvirt.org/ | |||||||
|     %define mainturl stable_updates/ |     %define mainturl stable_updates/ | ||||||
| %endif | %endif | ||||||
| Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz | Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz | ||||||
| Patch1:	0001-qemu-remove-chardevStdioLogd-param-from-vhostuser-co.patch |  | ||||||
| Patch2:	0002-qemu-consolidate-parameters-of-qemuBuildChrChardevSt.patch |  | ||||||
| Patch3:	0003-qemu-don-t-use-chardev-FD-passing-for-vhostuser-back.patch |  | ||||||
| Patch4:	0004-qemu-fix-UNIX-socket-chardevs-operating-in-client-mo.patch |  | ||||||
| 
 | 
 | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
| Requires: libvirt-daemon-config-network = %{version}-%{release} | Requires: libvirt-daemon-config-network = %{version}-%{release} | ||||||
| @ -310,9 +271,7 @@ BuildRequires: perl-interpreter | |||||||
| BuildRequires: perl | BuildRequires: perl | ||||||
| %endif | %endif | ||||||
| BuildRequires: %{python} | BuildRequires: %{python} | ||||||
| %if %{with_systemd} |  | ||||||
| BuildRequires: systemd-units | BuildRequires: systemd-units | ||||||
| %endif |  | ||||||
| %if %{with_libxl} | %if %{with_libxl} | ||||||
| BuildRequires: xen-devel | BuildRequires: xen-devel | ||||||
| %endif | %endif | ||||||
| @ -325,47 +284,29 @@ BuildRequires: bash-completion >= 2.0 | |||||||
| BuildRequires: ncurses-devel | BuildRequires: ncurses-devel | ||||||
| BuildRequires: gettext | BuildRequires: gettext | ||||||
| BuildRequires: libtasn1-devel | BuildRequires: libtasn1-devel | ||||||
| %if (0%{?rhel} && 0%{?rhel} < 7) |  | ||||||
| BuildRequires: libgcrypt-devel |  | ||||||
| %endif |  | ||||||
| BuildRequires: gnutls-devel | BuildRequires: gnutls-devel | ||||||
| BuildRequires: libattr-devel | BuildRequires: libattr-devel | ||||||
| # For pool-build probing for existing pools | # For pool-build probing for existing pools | ||||||
| BuildRequires: libblkid-devel >= 2.17 | BuildRequires: libblkid-devel >= 2.17 | ||||||
| # for augparse, optionally used in testing | # for augparse, optionally used in testing | ||||||
| BuildRequires: augeas | BuildRequires: augeas | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
| BuildRequires: systemd-devel >= 185 | BuildRequires: systemd-devel >= 185 | ||||||
| %else |  | ||||||
| BuildRequires: libudev-devel >= 145 |  | ||||||
| %endif |  | ||||||
| BuildRequires: libpciaccess-devel >= 0.10.9 | BuildRequires: libpciaccess-devel >= 0.10.9 | ||||||
| BuildRequires: yajl-devel | BuildRequires: jansson-devel | ||||||
| %if %{with_sanlock} | %if %{with_sanlock} | ||||||
| BuildRequires: sanlock-devel >= 2.4 | BuildRequires: sanlock-devel >= 2.4 | ||||||
| %endif | %endif | ||||||
| BuildRequires: libpcap-devel | BuildRequires: libpcap-devel | ||||||
| %if 0%{?rhel} && 0%{?rhel} < 7 |  | ||||||
| BuildRequires: libnl-devel |  | ||||||
| %else |  | ||||||
| BuildRequires: libnl3-devel | BuildRequires: libnl3-devel | ||||||
| %endif |  | ||||||
| BuildRequires: avahi-devel | BuildRequires: avahi-devel | ||||||
| BuildRequires: libselinux-devel | BuildRequires: libselinux-devel | ||||||
| BuildRequires: dnsmasq >= 2.41 | BuildRequires: dnsmasq >= 2.41 | ||||||
| BuildRequires: iptables | BuildRequires: iptables | ||||||
| %if 0%{?rhel} && 0%{?rhel} < 7 |  | ||||||
| BuildRequires: iptables-ipv6 |  | ||||||
| %endif |  | ||||||
| BuildRequires: radvd | BuildRequires: radvd | ||||||
| BuildRequires: ebtables | BuildRequires: ebtables | ||||||
| BuildRequires: module-init-tools | BuildRequires: module-init-tools | ||||||
| BuildRequires: cyrus-sasl-devel | BuildRequires: cyrus-sasl-devel | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
| BuildRequires: polkit >= 0.112 | BuildRequires: polkit >= 0.112 | ||||||
| %else |  | ||||||
| BuildRequires: polkit >= 0.93 |  | ||||||
| %endif |  | ||||||
| # For mount/umount in FS driver | # For mount/umount in FS driver | ||||||
| BuildRequires: util-linux | BuildRequires: util-linux | ||||||
| %if %{with_qemu} | %if %{with_qemu} | ||||||
| @ -383,12 +324,8 @@ BuildRequires: parted-devel | |||||||
| # For Multipath support | # For Multipath support | ||||||
| BuildRequires: device-mapper-devel | BuildRequires: device-mapper-devel | ||||||
| %if %{with_storage_rbd} | %if %{with_storage_rbd} | ||||||
|     %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
| BuildRequires: librados2-devel | BuildRequires: librados2-devel | ||||||
| BuildRequires: librbd1-devel | BuildRequires: librbd1-devel | ||||||
|     %else |  | ||||||
| BuildRequires: ceph-devel |  | ||||||
|     %endif |  | ||||||
| %endif | %endif | ||||||
| %if %{with_storage_gluster} | %if %{with_storage_gluster} | ||||||
| BuildRequires: glusterfs-api-devel >= 3.4.1 | BuildRequires: glusterfs-api-devel >= 3.4.1 | ||||||
| @ -415,11 +352,7 @@ BuildRequires: fuse-devel >= 2.8.6 | |||||||
| BuildRequires: libssh2-devel >= 1.3.0 | BuildRequires: libssh2-devel >= 1.3.0 | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
| BuildRequires: netcf-devel >= 0.2.2 | BuildRequires: netcf-devel >= 0.2.2 | ||||||
| %else |  | ||||||
| BuildRequires: netcf-devel >= 0.1.8 |  | ||||||
| %endif |  | ||||||
| %if %{with_esx} | %if %{with_esx} | ||||||
| BuildRequires: libcurl-devel | BuildRequires: libcurl-devel | ||||||
| %endif | %endif | ||||||
| @ -495,25 +428,16 @@ Requires: iproute-tc | |||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| Requires: avahi-libs | Requires: avahi-libs | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
| Requires: polkit >= 0.112 | Requires: polkit >= 0.112 | ||||||
| %else |  | ||||||
| Requires: polkit >= 0.93 |  | ||||||
| %endif |  | ||||||
| %if %{with_cgconfig} |  | ||||||
| Requires: libcgroup |  | ||||||
| %endif |  | ||||||
| %ifarch %{ix86} x86_64 ia64 | %ifarch %{ix86} x86_64 ia64 | ||||||
| # For virConnectGetSysinfo | # For virConnectGetSysinfo | ||||||
| Requires: dmidecode | Requires: dmidecode | ||||||
| %endif | %endif | ||||||
| # For service management | # For service management | ||||||
| %if %{with_systemd} |  | ||||||
| Requires(post): systemd-units | Requires(post): systemd-units | ||||||
| Requires(post): systemd-sysv | Requires(post): systemd-sysv | ||||||
| Requires(preun): systemd-units | Requires(preun): systemd-units | ||||||
| Requires(postun): systemd-units | Requires(postun): systemd-units | ||||||
| %endif |  | ||||||
| %if %{with_numad} | %if %{with_numad} | ||||||
| Requires: numad | Requires: numad | ||||||
| %endif | %endif | ||||||
| @ -548,12 +472,10 @@ Network filter configuration files for cleaning guest traffic | |||||||
| %package daemon-driver-network | %package daemon-driver-network | ||||||
| Summary: Network driver plugin for the libvirtd daemon | Summary: Network driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Requires: dnsmasq >= 2.41 | Requires: dnsmasq >= 2.41 | ||||||
| Requires: radvd | Requires: radvd | ||||||
| Requires: iptables | Requires: iptables | ||||||
| %if 0%{?rhel} && 0%{?rhel} < 7 |  | ||||||
| Requires: iptables-ipv6 |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-network | %description daemon-driver-network | ||||||
| The network driver plugin for the libvirtd daemon, providing | The network driver plugin for the libvirtd daemon, providing | ||||||
| @ -564,10 +486,8 @@ bridge capabilities. | |||||||
| %package daemon-driver-nwfilter | %package daemon-driver-nwfilter | ||||||
| Summary: Nwfilter driver plugin for the libvirtd daemon | Summary: Nwfilter driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Requires: iptables | Requires: iptables | ||||||
| %if 0%{?rhel} && 0%{?rhel} < 7 |  | ||||||
| Requires: iptables-ipv6 |  | ||||||
| %endif |  | ||||||
| Requires: ebtables | Requires: ebtables | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-nwfilter | %description daemon-driver-nwfilter | ||||||
| @ -579,12 +499,9 @@ iptables and ip6tables capabilities | |||||||
| %package daemon-driver-nodedev | %package daemon-driver-nodedev | ||||||
| Summary: Nodedev driver plugin for the libvirtd daemon | Summary: Nodedev driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| # needed for device enumeration | # needed for device enumeration | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
| Requires: systemd >= 185 | Requires: systemd >= 185 | ||||||
| %else |  | ||||||
| Requires: udev >= 145 |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-nodedev | %description daemon-driver-nodedev | ||||||
| The nodedev driver plugin for the libvirtd daemon, providing | The nodedev driver plugin for the libvirtd daemon, providing | ||||||
| @ -595,9 +512,8 @@ capabilities. | |||||||
| %package daemon-driver-interface | %package daemon-driver-interface | ||||||
| Summary: Interface driver plugin for the libvirtd daemon | Summary: Interface driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
| %if (0%{?fedora} || 0%{?rhel} >= 7) | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Requires: netcf-libs >= 0.2.2 | Requires: netcf-libs >= 0.2.2 | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-interface | %description daemon-driver-interface | ||||||
| The interface driver plugin for the libvirtd daemon, providing | The interface driver plugin for the libvirtd daemon, providing | ||||||
| @ -608,6 +524,7 @@ netcf library | |||||||
| %package daemon-driver-secret | %package daemon-driver-secret | ||||||
| Summary: Secret driver plugin for the libvirtd daemon | Summary: Secret driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-secret | %description daemon-driver-secret | ||||||
| The secret driver plugin for the libvirtd daemon, providing | The secret driver plugin for the libvirtd daemon, providing | ||||||
| @ -616,6 +533,7 @@ an implementation of the secret key APIs. | |||||||
| %package daemon-driver-storage-core | %package daemon-driver-storage-core | ||||||
| Summary: Storage driver plugin including base backends for the libvirtd daemon | Summary: Storage driver plugin including base backends for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Requires: nfs-utils | Requires: nfs-utils | ||||||
| # For mkfs | # For mkfs | ||||||
| Requires: util-linux | Requires: util-linux | ||||||
| @ -632,6 +550,7 @@ iSCSI, and multipath storage. | |||||||
| %package daemon-driver-storage-logical | %package daemon-driver-storage-logical | ||||||
| Summary: Storage driver plugin for lvm volumes | Summary: Storage driver plugin for lvm volumes | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Requires: lvm2 | Requires: lvm2 | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-storage-logical | %description daemon-driver-storage-logical | ||||||
| @ -642,6 +561,7 @@ volumes using lvm. | |||||||
| %package daemon-driver-storage-disk | %package daemon-driver-storage-disk | ||||||
| Summary: Storage driver plugin for disk | Summary: Storage driver plugin for disk | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Requires: parted | Requires: parted | ||||||
| Requires: device-mapper | Requires: device-mapper | ||||||
| 
 | 
 | ||||||
| @ -653,6 +573,7 @@ volumes using the host disks. | |||||||
| %package daemon-driver-storage-scsi | %package daemon-driver-storage-scsi | ||||||
| Summary: Storage driver plugin for local scsi devices | Summary: Storage driver plugin for local scsi devices | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-storage-scsi | %description daemon-driver-storage-scsi | ||||||
| The storage driver backend adding implementation of the storage APIs for scsi | The storage driver backend adding implementation of the storage APIs for scsi | ||||||
| @ -662,6 +583,7 @@ host devices. | |||||||
| %package daemon-driver-storage-iscsi | %package daemon-driver-storage-iscsi | ||||||
| Summary: Storage driver plugin for iscsi | Summary: Storage driver plugin for iscsi | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Requires: iscsi-initiator-utils | Requires: iscsi-initiator-utils | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-storage-iscsi | %description daemon-driver-storage-iscsi | ||||||
| @ -672,6 +594,7 @@ volumes using the host iscsi stack. | |||||||
| %package daemon-driver-storage-mpath | %package daemon-driver-storage-mpath | ||||||
| Summary: Storage driver plugin for multipath volumes | Summary: Storage driver plugin for multipath volumes | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Requires: device-mapper | Requires: device-mapper | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-storage-mpath | %description daemon-driver-storage-mpath | ||||||
| @ -683,6 +606,7 @@ multipath storage using device mapper. | |||||||
| %package daemon-driver-storage-gluster | %package daemon-driver-storage-gluster | ||||||
| Summary: Storage driver plugin for gluster | Summary: Storage driver plugin for gluster | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
|     %if 0%{?fedora} |     %if 0%{?fedora} | ||||||
| Requires: glusterfs-client >= 2.0.1 | Requires: glusterfs-client >= 2.0.1 | ||||||
|     %endif |     %endif | ||||||
| @ -700,6 +624,7 @@ volumes using libgfapi. | |||||||
| %package daemon-driver-storage-rbd | %package daemon-driver-storage-rbd | ||||||
| Summary: Storage driver plugin for rbd | Summary: Storage driver plugin for rbd | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-storage-rbd | %description daemon-driver-storage-rbd | ||||||
| The storage driver backend adding implementation of the storage APIs for rbd | The storage driver backend adding implementation of the storage APIs for rbd | ||||||
| @ -711,6 +636,7 @@ volumes using the ceph protocol. | |||||||
| %package daemon-driver-storage-sheepdog | %package daemon-driver-storage-sheepdog | ||||||
| Summary: Storage driver plugin for sheepdog | Summary: Storage driver plugin for sheepdog | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Requires: sheepdog | Requires: sheepdog | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-storage-sheepdog | %description daemon-driver-storage-sheepdog | ||||||
| @ -723,6 +649,7 @@ sheepdog volumes using. | |||||||
| %package daemon-driver-storage-zfs | %package daemon-driver-storage-zfs | ||||||
| Summary: Storage driver plugin for ZFS | Summary: Storage driver plugin for ZFS | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| # Support any conforming implementation of zfs | # Support any conforming implementation of zfs | ||||||
| Requires: /sbin/zfs | Requires: /sbin/zfs | ||||||
| Requires: /sbin/zpool | Requires: /sbin/zpool | ||||||
| @ -764,6 +691,7 @@ parted and more. | |||||||
| %package daemon-driver-qemu | %package daemon-driver-qemu | ||||||
| Summary: QEMU driver plugin for the libvirtd daemon | Summary: QEMU driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| # There really is a hard cross-driver dependency here | # There really is a hard cross-driver dependency here | ||||||
| Requires: libvirt-daemon-driver-network = %{version}-%{release} | Requires: libvirt-daemon-driver-network = %{version}-%{release} | ||||||
| Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} | ||||||
| @ -788,6 +716,7 @@ QEMU | |||||||
| %package daemon-driver-lxc | %package daemon-driver-lxc | ||||||
| Summary: LXC driver plugin for the libvirtd daemon | Summary: LXC driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| # There really is a hard cross-driver dependency here | # There really is a hard cross-driver dependency here | ||||||
| Requires: libvirt-daemon-driver-network = %{version}-%{release} | Requires: libvirt-daemon-driver-network = %{version}-%{release} | ||||||
|     %if 0%{?fedora} || 0%{?rhel} > 7 |     %if 0%{?fedora} || 0%{?rhel} > 7 | ||||||
| @ -805,6 +734,7 @@ the Linux kernel | |||||||
| %package daemon-driver-uml | %package daemon-driver-uml | ||||||
| Summary: Uml driver plugin for the libvirtd daemon | Summary: Uml driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-uml | %description daemon-driver-uml | ||||||
| The UML driver plugin for the libvirtd daemon, providing | The UML driver plugin for the libvirtd daemon, providing | ||||||
| @ -817,6 +747,7 @@ User Mode Linux | |||||||
| %package daemon-driver-vbox | %package daemon-driver-vbox | ||||||
| Summary: VirtualBox driver plugin for the libvirtd daemon | Summary: VirtualBox driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-vbox | %description daemon-driver-vbox | ||||||
| The vbox driver plugin for the libvirtd daemon, providing | The vbox driver plugin for the libvirtd daemon, providing | ||||||
| @ -829,6 +760,7 @@ VirtualBox | |||||||
| %package daemon-driver-libxl | %package daemon-driver-libxl | ||||||
| Summary: Libxl driver plugin for the libvirtd daemon | Summary: Libxl driver plugin for the libvirtd daemon | ||||||
| Requires: libvirt-daemon = %{version}-%{release} | Requires: libvirt-daemon = %{version}-%{release} | ||||||
|  | Requires: libvirt-libs = %{version}-%{release} | ||||||
| Obsoletes: libvirt-daemon-driver-xen < 4.3.0 | Obsoletes: libvirt-daemon-driver-xen < 4.3.0 | ||||||
| 
 | 
 | ||||||
| %description daemon-driver-libxl | %description daemon-driver-libxl | ||||||
| @ -966,10 +898,8 @@ Requires: ncurses | |||||||
| Requires: gettext | Requires: gettext | ||||||
| # Needed by virt-pki-validate script. | # Needed by virt-pki-validate script. | ||||||
| Requires: gnutls-utils | Requires: gnutls-utils | ||||||
| %if %{with_pm_utils} | # We dlopen(libjansson.so.4), so need an explicit dep | ||||||
| # Needed for probing the power management features of the host. | Requires: jansson | ||||||
| Requires: pm-utils |  | ||||||
| %endif |  | ||||||
| %if %{with_bash_completion} | %if %{with_bash_completion} | ||||||
| Requires: %{name}-bash-completion = %{version}-%{release} | Requires: %{name}-bash-completion = %{version}-%{release} | ||||||
| %endif | %endif | ||||||
| @ -1229,29 +1159,13 @@ exit 1 | |||||||
|     %define arg_wireshark --without-wireshark-dissector |     %define arg_wireshark --without-wireshark-dissector | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| %if %{with_pm_utils} |  | ||||||
|     %define arg_pm_utils --with-pm-utils |  | ||||||
| %else |  | ||||||
|     %define arg_pm_utils --without-pm-utils |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| %define when  %(date +"%%F-%%T") | %define when  %(date +"%%F-%%T") | ||||||
| %define where %(hostname) | %define where %(hostname) | ||||||
| %define who   %{?packager}%{!?packager:Unknown} | %define who   %{?packager}%{!?packager:Unknown} | ||||||
| %define arg_packager --with-packager="%{who}, %{when}, %{where}" | %define arg_packager --with-packager="%{who}, %{when}, %{where}" | ||||||
| %define arg_packager_version --with-packager-version="%{release}" | %define arg_packager_version --with-packager-version="%{release}" | ||||||
| 
 | 
 | ||||||
| %if %{with_systemd} | %define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux" | ||||||
|     %define arg_init_script --with-init-script=systemd |  | ||||||
| %else |  | ||||||
|     %define arg_init_script --with-init-script=redhat |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 |  | ||||||
|     %define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux" |  | ||||||
| %else |  | ||||||
|     %define arg_selinux_mount --with-selinux-mount="/selinux" |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %if 0%{?fedora} | %if 0%{?fedora} | ||||||
|     # Nightly firmware repo x86/OVMF |     # Nightly firmware repo x86/OVMF | ||||||
| @ -1314,7 +1228,7 @@ rm -f po/stamp-po | |||||||
|            --without-apparmor \ |            --without-apparmor \ | ||||||
|            --without-hal \ |            --without-hal \ | ||||||
|            --with-udev \ |            --with-udev \ | ||||||
|            --with-yajl \ |            --with-jansson \ | ||||||
|            %{?arg_sanlock} \ |            %{?arg_sanlock} \ | ||||||
|            --with-libpcap \ |            --with-libpcap \ | ||||||
|            --with-macvtap \ |            --with-macvtap \ | ||||||
| @ -1323,7 +1237,7 @@ rm -f po/stamp-po | |||||||
|            --with-driver-modules \ |            --with-driver-modules \ | ||||||
|            %{?arg_firewalld} \ |            %{?arg_firewalld} \ | ||||||
|            %{?arg_wireshark} \ |            %{?arg_wireshark} \ | ||||||
|            %{?arg_pm_utils} \ |            --without-pm-utils \ | ||||||
|            --with-nss-plugin \ |            --with-nss-plugin \ | ||||||
|            %{arg_packager} \ |            %{arg_packager} \ | ||||||
|            %{arg_packager_version} \ |            %{arg_packager_version} \ | ||||||
| @ -1333,7 +1247,7 @@ rm -f po/stamp-po | |||||||
|            %{?arg_loader_nvram} \ |            %{?arg_loader_nvram} \ | ||||||
|            %{?enable_werror} \ |            %{?enable_werror} \ | ||||||
|            --enable-expensive-tests \ |            --enable-expensive-tests \ | ||||||
|            %{arg_init_script} \ |            --with-init-script=systemd \ | ||||||
|            %{?arg_login_shell} |            %{?arg_login_shell} | ||||||
| make %{?_smp_mflags} V=1 | make %{?_smp_mflags} V=1 | ||||||
| gzip -9 ChangeLog | gzip -9 ChangeLog | ||||||
| @ -1457,93 +1371,25 @@ exit 0 | |||||||
| 
 | 
 | ||||||
| %post daemon | %post daemon | ||||||
| 
 | 
 | ||||||
| %if %{with_systemd} | %systemd_post virtlockd.socket virtlockd-admin.socket | ||||||
|     %if %{with_systemd_macros} | %systemd_post virtlogd.socket virtlogd-admin.socket | ||||||
|         %systemd_post virtlockd.socket virtlockd-admin.socket | %systemd_post libvirtd.service | ||||||
|         %systemd_post virtlogd.socket virtlogd-admin.socket |  | ||||||
|         %systemd_post libvirtd.service |  | ||||||
|     %else |  | ||||||
| if [ $1 -eq 1 ] ; then |  | ||||||
|     # Initial installation |  | ||||||
|     /bin/systemctl enable \ |  | ||||||
|         virtlockd.socket \ |  | ||||||
|         virtlockd-admin.socket \ |  | ||||||
|         virtlogd.socket \ |  | ||||||
|         virtlogd-admin.socket \ |  | ||||||
|         libvirtd.service >/dev/null 2>&1 || : |  | ||||||
| fi |  | ||||||
|     %endif |  | ||||||
| %else |  | ||||||
|     %if %{with_cgconfig} |  | ||||||
| # Starting with Fedora 16/RHEL-7, systemd automounts all cgroups, |  | ||||||
| # and cgconfig is no longer a necessary service. |  | ||||||
|         %if 0%{?rhel} && 0%{?rhel} < 7 |  | ||||||
| if [ "$1" -eq "1" ]; then |  | ||||||
| /sbin/chkconfig cgconfig on |  | ||||||
| fi |  | ||||||
|         %endif |  | ||||||
|     %endif |  | ||||||
| 
 |  | ||||||
| /sbin/chkconfig --add libvirtd |  | ||||||
| /sbin/chkconfig --add virtlogd |  | ||||||
| /sbin/chkconfig --add virtlockd |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| # request daemon restart in posttrans | # request daemon restart in posttrans | ||||||
| mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || : | mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || : | ||||||
| touch %{_localstatedir}/lib/rpm-state/libvirt/restart || : | touch %{_localstatedir}/lib/rpm-state/libvirt/restart || : | ||||||
| 
 | 
 | ||||||
| %preun daemon | %preun daemon | ||||||
| %if %{with_systemd} | %systemd_preun libvirtd.service | ||||||
|     %if %{with_systemd_macros} | %systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service | ||||||
|         %systemd_preun libvirtd.service | %systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service | ||||||
|         %systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service |  | ||||||
|         %systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service |  | ||||||
|     %else |  | ||||||
| if [ $1 -eq 0 ] ; then |  | ||||||
|     # Package removal, not upgrade |  | ||||||
|     /bin/systemctl --no-reload disable \ |  | ||||||
|         libvirtd.service \ |  | ||||||
|         virtlogd.socket \ |  | ||||||
|         virtlogd-admin.socket \ |  | ||||||
|         virtlogd.service \ |  | ||||||
|         virtlockd.socket \ |  | ||||||
|         virtlockd-admin.socket \ |  | ||||||
|         virtlockd.service > /dev/null 2>&1 || : |  | ||||||
|     /bin/systemctl stop \ |  | ||||||
|         libvirtd.service \ |  | ||||||
|         virtlogd.socket \ |  | ||||||
|         virtlogd-admin.socket \ |  | ||||||
|         virtlogd.service \ |  | ||||||
|         virtlockd.socket \ |  | ||||||
|         virtlockd-admin.socket \ |  | ||||||
|         virtlockd.service > /dev/null 2>&1 || : |  | ||||||
| fi |  | ||||||
|     %endif |  | ||||||
| %else |  | ||||||
| if [ $1 = 0 ]; then |  | ||||||
|     /sbin/service libvirtd stop 1>/dev/null 2>&1 |  | ||||||
|     /sbin/chkconfig --del libvirtd |  | ||||||
|     /sbin/service virtlogd stop 1>/dev/null 2>&1 |  | ||||||
|     /sbin/chkconfig --del virtlogd |  | ||||||
|     /sbin/service virtlockd stop 1>/dev/null 2>&1 |  | ||||||
|     /sbin/chkconfig --del virtlockd |  | ||||||
| fi |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %postun daemon | %postun daemon | ||||||
| %if %{with_systemd} |  | ||||||
| /bin/systemctl daemon-reload >/dev/null 2>&1 || : | /bin/systemctl daemon-reload >/dev/null 2>&1 || : | ||||||
| if [ $1 -ge 1 ] ; then | if [ $1 -ge 1 ] ; then | ||||||
|     /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || : |     /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || : | ||||||
|     /bin/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || : |     /bin/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || : | ||||||
| fi | fi | ||||||
| %else |  | ||||||
| if [ $1 -ge 1 ]; then |  | ||||||
|     /sbin/service virtlockd reload > /dev/null 2>&1 || : |  | ||||||
|     /sbin/service virtlogd reload > /dev/null 2>&1 || : |  | ||||||
| fi |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| # In upgrade scenario we must explicitly enable virtlockd/virtlogd | # In upgrade scenario we must explicitly enable virtlockd/virtlogd | ||||||
| # sockets, if libvirtd is already enabled and start them if | # sockets, if libvirtd is already enabled and start them if | ||||||
| @ -1551,28 +1397,15 @@ fi | |||||||
| # guests | # guests | ||||||
| %triggerpostun daemon -- libvirt-daemon < 1.3.0 | %triggerpostun daemon -- libvirt-daemon < 1.3.0 | ||||||
| if [ $1 -ge 1 ] ; then | if [ $1 -ge 1 ] ; then | ||||||
| %if %{with_systemd} |  | ||||||
|     /bin/systemctl is-enabled libvirtd.service 1>/dev/null 2>&1 && |     /bin/systemctl is-enabled libvirtd.service 1>/dev/null 2>&1 && | ||||||
|         /bin/systemctl enable virtlogd.socket virtlogd-admin.socket || : |         /bin/systemctl enable virtlogd.socket virtlogd-admin.socket || : | ||||||
|     /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 && |     /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 && | ||||||
|         /bin/systemctl start virtlogd.socket virtlogd-admin.socket || : |         /bin/systemctl start virtlogd.socket virtlogd-admin.socket || : | ||||||
| %else |  | ||||||
|     /sbin/chkconfig libvirtd 1>/dev/null 2>&1 && |  | ||||||
|         /sbin/chkconfig virtlogd on || : |  | ||||||
|     /sbin/service libvirtd status 1>/dev/null 2>&1 && |  | ||||||
|         /sbin/service virtlogd start || : |  | ||||||
|     /sbin/service virtlockd reload > /dev/null 2>&1 || : |  | ||||||
|     /sbin/service virtlogd reload > /dev/null 2>&1 || : |  | ||||||
| %endif |  | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| %posttrans daemon | %posttrans daemon | ||||||
| if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then | if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then | ||||||
| %if %{with_systemd} |  | ||||||
|     /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : |     /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : | ||||||
| %else |  | ||||||
|     /sbin/service libvirtd condrestart > /dev/null 2>&1 || : |  | ||||||
| %endif |  | ||||||
| fi | fi | ||||||
| rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : | rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : | ||||||
| 
 | 
 | ||||||
| @ -1620,11 +1453,7 @@ fi | |||||||
| 
 | 
 | ||||||
| %posttrans daemon-config-network | %posttrans daemon-config-network | ||||||
| if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then | if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then | ||||||
| %if %{with_systemd} |  | ||||||
|     /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : |     /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : | ||||||
| %else |  | ||||||
|     /sbin/service libvirtd condrestart > /dev/null 2>&1 || : |  | ||||||
| %endif |  | ||||||
| fi | fi | ||||||
| rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : | rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : | ||||||
| 
 | 
 | ||||||
| @ -1636,16 +1465,11 @@ touch %{_localstatedir}/lib/rpm-state/libvirt/restart || : | |||||||
| 
 | 
 | ||||||
| %posttrans daemon-config-nwfilter | %posttrans daemon-config-nwfilter | ||||||
| if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then | if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then | ||||||
| %if %{with_systemd} |  | ||||||
|     /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : |     /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : | ||||||
| %else |  | ||||||
|     /sbin/service libvirtd condrestart > /dev/null 2>&1 || : |  | ||||||
| %endif |  | ||||||
| fi | fi | ||||||
| rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : | rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %if %{with_systemd} |  | ||||||
| %triggerun -- libvirt < 0.9.4 | %triggerun -- libvirt < 0.9.4 | ||||||
| %{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||: | %{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||: | ||||||
| 
 | 
 | ||||||
| @ -1655,7 +1479,6 @@ rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : | |||||||
| # Run these because the SysV package being removed won't do them | # Run these because the SysV package being removed won't do them | ||||||
| /sbin/chkconfig --del libvirtd >/dev/null 2>&1 || : | /sbin/chkconfig --del libvirtd >/dev/null 2>&1 || : | ||||||
| /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : | /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %if %{with_qemu} | %if %{with_qemu} | ||||||
| %pre daemon-driver-qemu | %pre daemon-driver-qemu | ||||||
| @ -1676,35 +1499,18 @@ exit 0 | |||||||
| 
 | 
 | ||||||
| %preun client | %preun client | ||||||
| 
 | 
 | ||||||
| %if %{with_systemd} | %systemd_preun libvirt-guests.service | ||||||
|     %if %{with_systemd_macros} |  | ||||||
|         %systemd_preun libvirt-guests.service |  | ||||||
|     %endif |  | ||||||
| %else |  | ||||||
| if [ $1 = 0 ]; then |  | ||||||
|     /sbin/chkconfig --del libvirt-guests |  | ||||||
|     rm -f /var/lib/libvirt/libvirt-guests |  | ||||||
| fi |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %post client | %post client | ||||||
| 
 | 
 | ||||||
| /sbin/ldconfig | /sbin/ldconfig | ||||||
| %if %{with_systemd} | %systemd_post libvirt-guests.service | ||||||
|     %if %{with_systemd_macros} |  | ||||||
|         %systemd_post libvirt-guests.service |  | ||||||
|     %endif |  | ||||||
| %else |  | ||||||
| /sbin/chkconfig --add libvirt-guests |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %postun client | %postun client | ||||||
| 
 | 
 | ||||||
| /sbin/ldconfig | /sbin/ldconfig | ||||||
| %if %{with_systemd} | %systemd_postun libvirt-guests.service | ||||||
|     %if %{with_systemd_macros} | 
 | ||||||
|         %systemd_postun libvirt-guests.service |  | ||||||
|     %endif |  | ||||||
| %triggerun client -- libvirt < 0.9.4 | %triggerun client -- libvirt < 0.9.4 | ||||||
| %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||: | %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||: | ||||||
| 
 | 
 | ||||||
| @ -1713,7 +1519,6 @@ fi | |||||||
| 
 | 
 | ||||||
| # Run this because the SysV package being removed won't do them | # Run this because the SysV package being removed won't do them | ||||||
| /sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || : | /sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || : | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %if %{with_sanlock} | %if %{with_sanlock} | ||||||
| %post lock-sanlock | %post lock-sanlock | ||||||
| @ -1757,7 +1562,6 @@ exit 0 | |||||||
| 
 | 
 | ||||||
| %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/ | %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/ | ||||||
| 
 | 
 | ||||||
| %if %{with_systemd} |  | ||||||
| %{_unitdir}/libvirtd.service | %{_unitdir}/libvirtd.service | ||||||
| %{_unitdir}/virt-guest-shutdown.target | %{_unitdir}/virt-guest-shutdown.target | ||||||
| %{_unitdir}/virtlogd.service | %{_unitdir}/virtlogd.service | ||||||
| @ -1766,11 +1570,6 @@ exit 0 | |||||||
| %{_unitdir}/virtlockd.service | %{_unitdir}/virtlockd.service | ||||||
| %{_unitdir}/virtlockd.socket | %{_unitdir}/virtlockd.socket | ||||||
| %{_unitdir}/virtlockd-admin.socket | %{_unitdir}/virtlockd-admin.socket | ||||||
| %else |  | ||||||
| %{_sysconfdir}/rc.d/init.d/libvirtd |  | ||||||
| %{_sysconfdir}/rc.d/init.d/virtlogd |  | ||||||
| %{_sysconfdir}/rc.d/init.d/virtlockd |  | ||||||
| %endif |  | ||||||
| %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd | %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd | ||||||
| %config(noreplace) %{_sysconfdir}/sysconfig/virtlogd | %config(noreplace) %{_sysconfdir}/sysconfig/virtlogd | ||||||
| %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd | %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd | ||||||
| @ -2022,17 +1821,11 @@ exit 0 | |||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %if %{with_systemd} |  | ||||||
| %{_unitdir}/libvirt-guests.service | %{_unitdir}/libvirt-guests.service | ||||||
| %else |  | ||||||
| %{_sysconfdir}/rc.d/init.d/libvirt-guests |  | ||||||
| %endif |  | ||||||
| %config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests | %config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests | ||||||
| %attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh | %attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh | ||||||
| 
 | 
 | ||||||
| %files libs -f %{name}.lang | %files libs -f %{name}.lang | ||||||
| # RHEL6 doesn't have 'license' macro |  | ||||||
| %{!?_licensedir:%global license %%doc} |  | ||||||
| %license COPYING COPYING.LESSER | %license COPYING COPYING.LESSER | ||||||
| %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf | %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf | ||||||
| %config(noreplace) %{_sysconfdir}/libvirt/libvirt-admin.conf | %config(noreplace) %{_sysconfdir}/libvirt/libvirt-admin.conf | ||||||
| @ -2133,6 +1926,9 @@ exit 0 | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Mon Aug  6 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.6.0-1 | ||||||
|  | - Update to 4.6.0 release | ||||||
|  | 
 | ||||||
| * Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.0-3 | * Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.0-3 | ||||||
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild | - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								sources
									
									
									
									
									
								
							| @ -1 +1 @@ | |||||||
| SHA512 (libvirt-4.5.0.tar.xz) = 26710c7e5219f007524e9f93a642e55e4e8ea197afa6b2ca6a4b67b7028313f4b0d82924ee9a1e91ff688a4d2b53f89f3655fbeef0fa99a34f8418f37d787984 | SHA512 (libvirt-4.6.0.tar.xz) = beae0f1cafa73b9495d877979547bbc9b7ca2a7c3b213c5da92e6302b570d42df9d639f50380dbc0cebd6af983924dc27b1c81139c81dee0897f39a6a5158968 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user