Author: krejzi
Date: Sat Apr 27 11:03:55 2013
New Revision: 2640
Log:
New patches.
Added:
trunk/NetworkManager/NetworkManager-0.9.8.0-upstream_fixes-1.patch
trunk/httpd/httpd-2.4.4-blfs_layout-1.patch
trunk/mysql/mysql-5.6.11-embedded_library_shared-1.patch
Added: trunk/NetworkManager/NetworkManager-0.9.8.0-upstream_fixes-1.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/NetworkManager/NetworkManager-0.9.8.0-upstream_fixes-1.patch Sat Apr
27 11:03:55 2013 (r2640)
@@ -0,0 +1,696 @@
+Submitted By: Armin K. <krejzi at email dot com>
+Date: 2013-04-27
+Initial Package Version: 0.9.8.0
+Upstream Status: Fixed Upstream
+Origin: Upstream
+Description: Varius fixes from upstream git repository.
+
+--- a/cli/src/devices.c 2013-02-20 21:56:15.000000000 +0100
++++ b/cli/src/devices.c 2013-04-27 13:18:27.262354256 +0200
+@@ -909,7 +909,7 @@
+ /* available-connections */
+ avail_cons = nm_device_get_available_connections
(device);
+ ac_paths_str = g_string_new (NULL);
+- if (avail_cons->len) {
++ if (avail_cons && avail_cons->len) {
+ ac_arr = g_new (char *, avail_cons->len + 1);
+ ac_arr[avail_cons->len] = NULL;
+ }
+--- a/libnm-glib/nm-device.c 2013-02-20 21:56:15.000000000 +0100
++++ b/libnm-glib/nm-device.c 2013-04-27 13:21:07.658452029 +0200
+@@ -1364,39 +1364,33 @@
+ return unescaped;
+ }
+
+-static void
+-_device_update_description (NMDevice *device)
++static char *
++_get_udev_property (NMDevice *device,
++ const char *enc_prop, /* ID_XXX_ENC */
++ const char *db_prop) /* ID_XXX_FROM_DATABASE */
+ {
+- NMDevicePrivate *priv;
++ NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (device);
+ const char *subsys[3] = { "net", "tty", NULL };
+ GUdevDevice *udev_device = NULL, *tmpdev, *olddev;
+ const char *ifname;
+ guint32 count = 0;
+- const char *vendor, *model;
+-
+- g_return_if_fail (NM_IS_DEVICE (device));
+- priv = NM_DEVICE_GET_PRIVATE (device);
++ char *enc_value = NULL, *db_value = NULL;
+
+ if (!priv->client) {
+ priv->client = g_udev_client_new (subsys);
+ if (!priv->client)
+- return;
++ return NULL;
+ }
+
+ ifname = nm_device_get_iface (device);
+ if (!ifname)
+- return;
++ return NULL;
+
+ udev_device = g_udev_client_query_by_subsystem_and_name (priv->client,
"net", ifname);
+ if (!udev_device)
+ udev_device = g_udev_client_query_by_subsystem_and_name
(priv->client, "tty", ifname);
+ if (!udev_device)
+- return;
+-
+- g_free (priv->product);
+- priv->product = NULL;
+- g_free (priv->vendor);
+- priv->vendor = NULL;
++ return NULL;
+
+ /* Walk up the chain of the device and its parents a few steps to grab
+ * vendor and device ID information off it.
+@@ -1406,12 +1400,11 @@
+ * as g_udev_device_get_parent() returns a ref-ed object.
+ */
+ tmpdev = g_object_ref (udev_device);
+- while ((count++ < 3) && tmpdev && (!priv->vendor || !priv->product)) {
+- if (!priv->vendor)
+- priv->vendor = get_decoded_property (tmpdev,
"ID_VENDOR_ENC");
+-
+- if (!priv->product)
+- priv->product = get_decoded_property (tmpdev,
"ID_MODEL_ENC");
++ while ((count++ < 3) && tmpdev && !enc_value) {
++ if (!enc_value)
++ enc_value = get_decoded_property (tmpdev, enc_prop);
++ if (!db_value)
++ db_value = g_strdup (g_udev_device_get_property
(tmpdev, db_prop));
+
+ olddev = tmpdev;
+ tmpdev = g_udev_device_get_parent (tmpdev);
+@@ -1424,42 +1417,18 @@
+ if (tmpdev)
+ g_object_unref (tmpdev);
+
+- /* If we didn't get strings directly from the device, try database
strings */
++ /* Balance the initial g_udev_client_query_by_subsystem_and_name() */
++ g_object_unref (udev_device);
+
+- /* Again, ref the original device as we need to unref it every iteration
+- * since g_udev_device_get_parent() returns a refed object.
++ /* Prefer the the encoded value which comes directly from the device
++ * over the hwdata database value.
+ */
+- tmpdev = g_object_ref (udev_device);
+- count = 0;
+- while ((count++ < 3) && tmpdev && (!priv->vendor || !priv->product)) {
+- if (!priv->vendor) {
+- vendor = g_udev_device_get_property (tmpdev,
"ID_VENDOR_FROM_DATABASE");
+- if (vendor)
+- priv->vendor = g_strdup (vendor);
+- }
+-
+- if (!priv->product) {
+- model = g_udev_device_get_property (tmpdev,
"ID_MODEL_FROM_DATABASE");
+- if (model)
+- priv->product = g_strdup (model);
+- }
+-
+- olddev = tmpdev;
+- tmpdev = g_udev_device_get_parent (tmpdev);
+- g_object_unref (olddev);
++ if (enc_value) {
++ g_free (db_value);
++ return enc_value;
+ }
+
+- /* Unref the last device if we found what we needed before running out
+- * of parents.
+- */
+- if (tmpdev)
+- g_object_unref (tmpdev);
+-
+- /* Balance the initial g_udev_client_query_by_subsystem_and_name() */
+- g_object_unref (udev_device);
+-
+- _nm_object_queue_notify (NM_OBJECT (device), NM_DEVICE_VENDOR);
+- _nm_object_queue_notify (NM_OBJECT (device), NM_DEVICE_PRODUCT);
++ return db_value;
+ }
+
+ /**
+@@ -1479,8 +1448,10 @@
+ g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
+
+ priv = NM_DEVICE_GET_PRIVATE (device);
+- if (!priv->product)
+- _device_update_description (device);
++ if (!priv->product) {
++ priv->product = _get_udev_property (device, "ID_MODEL_ENC",
"ID_PRODUCT_FROM_DATABASE");
++ _nm_object_queue_notify (NM_OBJECT (device), NM_DEVICE_PRODUCT);
++ }
+ return priv->product;
+ }
+
+@@ -1501,8 +1472,10 @@
+ g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
+
+ priv = NM_DEVICE_GET_PRIVATE (device);
+- if (!priv->vendor)
+- _device_update_description (device);
++ if (!priv->vendor) {
++ priv->vendor = _get_udev_property (device, "ID_VENDOR_ENC",
"ID_VENDOR_FROM_DATABASE");
++ _nm_object_queue_notify (NM_OBJECT (device), NM_DEVICE_VENDOR);
++ }
+ return priv->vendor;
+ }
+
+--- a/libnm-glib/nm-object.c 2013-02-20 18:21:48.000000000 +0100
++++ b/libnm-glib/nm-object.c 2013-04-27 13:21:51.322529548 +0200
+@@ -1399,6 +1399,7 @@
+
+ if (!priv->property_interfaces && !priv->pseudo_properties) {
+ g_simple_async_result_complete_in_idle (simple);
++ g_object_unref (simple);
+ return;
+ }
+
+--- a/libnm-glib/nm-remote-connection.c 2013-02-20 21:56:15.000000000
+0100
++++ b/libnm-glib/nm-remote-connection.c 2013-04-27 13:21:30.238837272
+0200
+@@ -428,6 +428,7 @@
+ }
+
+ g_simple_async_result_complete (init_data->result);
++ g_object_unref (init_data->result);
+ g_slice_free (NMRemoteConnectionInitData, init_data);
+ }
+
+--- a/libnm-util/crypto.c 2013-02-20 21:01:55.000000000 +0100
++++ b/libnm-util/crypto.c 2013-04-27 13:20:24.984388188 +0200
+@@ -238,19 +238,25 @@
+ _("Could not decode private key."));
+ goto parse_error;
+ }
++ g_string_free (str, TRUE);
+
+ if (lines)
+ g_strfreev (lines);
+
+ bindata = g_byte_array_sized_new (tmp_len);
+ g_byte_array_append (bindata, tmp, tmp_len);
++ g_free (tmp);
++
+ *out_iv = iv;
+ *out_cipher = cipher;
+ return bindata;
+
+ parse_error:
++ g_free (tmp);
+ g_free (cipher);
+ g_free (iv);
++ if (str)
++ g_string_free (str, TRUE);
+ if (lines)
+ g_strfreev (lines);
+ return NULL;
+--- a/libnm-util/nm-setting-8021x.c 2013-02-20 21:56:15.000000000 +0100
++++ b/libnm-util/nm-setting-8021x.c 2013-04-27 13:19:51.223807844 +0200
+@@ -538,29 +538,23 @@
+ data = crypto_load_and_verify_certificate (cert_path, &format, error);
+ if (data) {
+ /* wpa_supplicant can only use raw x509 CA certs */
+- switch (format) {
+- case NM_CRYPTO_FILE_FORMAT_X509:
++ if (format == NM_CRYPTO_FILE_FORMAT_X509) {
+ if (out_format)
+ *out_format = NM_SETTING_802_1X_CK_FORMAT_X509;
+- break;
+- default:
+- g_byte_array_free (data, TRUE);
+- data = NULL;
+- g_set_error (error,
+- NM_SETTING_802_1X_ERROR,
+- NM_SETTING_802_1X_ERROR_INVALID_PROPERTY,
+- NM_SETTING_802_1X_CA_CERT);
+- break;
+- }
+
+- if (data) {
+ if (scheme == NM_SETTING_802_1X_CK_SCHEME_BLOB)
+- priv->ca_cert = data;
++ priv->ca_cert = g_byte_array_ref (data);
+ else if (scheme == NM_SETTING_802_1X_CK_SCHEME_PATH)
+ priv->ca_cert = path_to_scheme_value
(cert_path);
+ else
+ g_assert_not_reached ();
++ } else {
++ g_set_error (error,
++ NM_SETTING_802_1X_ERROR,
++ NM_SETTING_802_1X_ERROR_INVALID_PROPERTY,
++ NM_SETTING_802_1X_CA_CERT);
+ }
++ g_byte_array_unref (data);
+ }
+
+ return priv->ca_cert != NULL;
+@@ -818,19 +812,20 @@
+
+ data = crypto_load_and_verify_certificate (cert_path, &format, error);
+ if (data) {
+- /* wpa_supplicant can only use raw x509 CA certs */
++ gboolean valid = FALSE;
++
+ switch (format) {
+ case NM_CRYPTO_FILE_FORMAT_X509:
+ if (out_format)
+ *out_format = NM_SETTING_802_1X_CK_FORMAT_X509;
++ valid = TRUE;
+ break;
+ case NM_CRYPTO_FILE_FORMAT_PKCS12:
+ if (out_format)
+ *out_format =
NM_SETTING_802_1X_CK_FORMAT_PKCS12;
++ valid = TRUE;
+ break;
+ default:
+- g_byte_array_free (data, TRUE);
+- data = NULL;
+ g_set_error (error,
+ NM_SETTING_802_1X_ERROR,
+ NM_SETTING_802_1X_ERROR_INVALID_PROPERTY,
+@@ -838,14 +833,15 @@
+ break;
+ }
+
+- if (data) {
++ if (valid) {
+ if (scheme == NM_SETTING_802_1X_CK_SCHEME_BLOB)
+- priv->client_cert = data;
++ priv->client_cert = g_byte_array_ref (data);
+ else if (scheme == NM_SETTING_802_1X_CK_SCHEME_PATH)
+ priv->client_cert = path_to_scheme_value
(cert_path);
+ else
+ g_assert_not_reached ();
+ }
++ g_byte_array_unref (data);
+ }
+
+ return priv->client_cert != NULL;
+@@ -1078,29 +1074,23 @@
+ data = crypto_load_and_verify_certificate (cert_path, &format, error);
+ if (data) {
+ /* wpa_supplicant can only use raw x509 CA certs */
+- switch (format) {
+- case NM_CRYPTO_FILE_FORMAT_X509:
++ if (format == NM_CRYPTO_FILE_FORMAT_X509) {
+ if (out_format)
+ *out_format = NM_SETTING_802_1X_CK_FORMAT_X509;
+- break;
+- default:
+- g_byte_array_free (data, TRUE);
+- data = NULL;
+- g_set_error (error,
+- NM_SETTING_802_1X_ERROR,
+- NM_SETTING_802_1X_ERROR_INVALID_PROPERTY,
+- NM_SETTING_802_1X_PHASE2_CA_CERT);
+- break;
+- }
+
+- if (data) {
+ if (scheme == NM_SETTING_802_1X_CK_SCHEME_BLOB)
+- priv->phase2_ca_cert = data;
++ priv->phase2_ca_cert = g_byte_array_ref (data);
+ else if (scheme == NM_SETTING_802_1X_CK_SCHEME_PATH)
+ priv->phase2_ca_cert = path_to_scheme_value
(cert_path);
+ else
+ g_assert_not_reached ();
++ } else {
++ g_set_error (error,
++ NM_SETTING_802_1X_ERROR,
++ NM_SETTING_802_1X_ERROR_INVALID_PROPERTY,
++ NM_SETTING_802_1X_PHASE2_CA_CERT);
+ }
++ g_byte_array_unref (data);
+ }
+
+ return priv->phase2_ca_cert != NULL;
+@@ -1362,19 +1352,21 @@
+
+ data = crypto_load_and_verify_certificate (cert_path, &format, error);
+ if (data) {
++ gboolean valid = FALSE;
++
+ /* wpa_supplicant can only use raw x509 CA certs */
+ switch (format) {
+ case NM_CRYPTO_FILE_FORMAT_X509:
+ if (out_format)
+ *out_format = NM_SETTING_802_1X_CK_FORMAT_X509;
++ valid = TRUE;
+ break;
+ case NM_CRYPTO_FILE_FORMAT_PKCS12:
+ if (out_format)
+ *out_format =
NM_SETTING_802_1X_CK_FORMAT_PKCS12;
++ valid = TRUE;
+ break;
+ default:
+- g_byte_array_free (data, TRUE);
+- data = NULL;
+ g_set_error (error,
+ NM_SETTING_802_1X_ERROR,
+ NM_SETTING_802_1X_ERROR_INVALID_PROPERTY,
+@@ -1382,14 +1374,15 @@
+ break;
+ }
+
+- if (data) {
++ if (valid) {
+ if (scheme == NM_SETTING_802_1X_CK_SCHEME_BLOB)
+- priv->phase2_client_cert = data;
++ priv->phase2_client_cert = g_byte_array_ref
(data);
+ else if (scheme == NM_SETTING_802_1X_CK_SCHEME_PATH)
+ priv->phase2_client_cert = path_to_scheme_value
(cert_path);
+ else
+ g_assert_not_reached ();
+ }
++ g_byte_array_unref (data);
+ }
+
+ return priv->phase2_client_cert != NULL;
+--- a/libnm-util/nm-setting-ip4-config.c 2013-02-20 21:56:15.000000000
+0100
++++ b/libnm-util/nm-setting-ip4-config.c 2013-04-27 13:21:40.442344407
+0200
+@@ -818,6 +818,8 @@
+ NMSettingIP4ConfigPrivate *priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE
(self);
+
+ g_free (priv->method);
++ g_free (priv->dhcp_hostname);
++ g_free (priv->dhcp_client_id);
+
+ g_array_free (priv->dns, TRUE);
+
+--- a/libnm-util/nm-setting-ip6-config.c 2013-02-20 21:56:15.000000000
+0100
++++ b/libnm-util/nm-setting-ip6-config.c 2013-04-27 13:21:40.442344407
+0200
+@@ -744,6 +744,8 @@
+ NMSettingIP6ConfigPrivate *priv = NM_SETTING_IP6_CONFIG_GET_PRIVATE
(object);
+
+ g_free (priv->method);
++ g_free (priv->dhcp_hostname);
++
+ g_slist_free (priv->dns);
+
+ nm_utils_slist_free (priv->dns_search, g_free);
+--- a/libnm-util/nm-setting-pppoe.c 2013-02-20 21:56:15.000000000 +0100
++++ b/libnm-util/nm-setting-pppoe.c 2013-04-27 13:20:14.787546471 +0200
+@@ -258,6 +258,18 @@
+ }
+
+ static void
++finalize (GObject *object)
++{
++ NMSettingPPPOEPrivate *priv = NM_SETTING_PPPOE_GET_PRIVATE (object);
++
++ g_free (priv->username);
++ g_free (priv->password);
++ g_free (priv->service);
++
++ G_OBJECT_CLASS (nm_setting_pppoe_parent_class)->finalize (object);
++}
++
++static void
+ nm_setting_pppoe_class_init (NMSettingPPPOEClass *setting_class)
+ {
+ GObjectClass *object_class = G_OBJECT_CLASS (setting_class);
+@@ -268,6 +280,7 @@
+ /* virtual methods */
+ object_class->set_property = set_property;
+ object_class->get_property = get_property;
++ object_class->finalize = finalize;
+ parent_class->verify = verify;
+ parent_class->need_secrets = need_secrets;
+
+--- a/libnm-util/nm-setting-vlan.c 2013-02-20 21:56:15.000000000 +0100
++++ b/libnm-util/nm-setting-vlan.c 2013-04-27 13:23:56.631315885 +0200
+@@ -407,8 +407,8 @@
+ list = get_map (setting, map);
+ g_return_if_fail (idx < g_slist_length (list));
+
+- item = g_slist_nth_data (list, idx);
+- priority_map_free ((PriorityMap *) item);
++ item = g_slist_nth (list, idx);
++ priority_map_free ((PriorityMap *) (item->data));
+ set_map (setting, map, g_slist_delete_link (list, item));
+ }
+
+--- a/libnm-util/nm-setting-wired.c 2013-02-20 21:56:15.000000000 +0100
++++ b/libnm-util/nm-setting-wired.c 2013-04-27 13:19:42.193652234 +0200
+@@ -537,6 +537,11 @@
+
+ nm_utils_slist_free (priv->mac_address_blacklist, g_free);
+
++ if (priv->s390_subchannels) {
++ g_ptr_array_foreach (priv->s390_subchannels, (GFunc) g_free,
NULL);
++ g_ptr_array_free (priv->s390_subchannels, TRUE);
++ }
++
+ G_OBJECT_CLASS (nm_setting_wired_parent_class)->finalize (object);
+ }
+
+--- a/src/dns-manager/nm-dns-manager.c 2013-02-20 21:56:16.000000000 +0100
++++ b/src/dns-manager/nm-dns-manager.c 2013-04-27 13:22:19.423006855 +0200
+@@ -561,7 +561,6 @@
+ nm_ip6_config_hash (NM_IP6_CONFIG (iter->data), sum,
TRUE);
+ }
+
+- memset (buffer, 0, sizeof (buffer));
+ g_checksum_get_digest (sum, buffer, &len);
+ g_checksum_free (sum);
+ }
+--- a/src/ip6-manager/nm-ip6-manager.c 2013-02-20 21:56:16.000000000 +0100
++++ b/src/ip6-manager/nm-ip6-manager.c 2013-04-27 13:18:57.319543075 +0200
+@@ -455,7 +455,7 @@
+
+ nm_ip6_manager_cancel_addrconf (manager, ifindex);
+ g_signal_emit (manager, signals[ADDRCONF_COMPLETE], 0,
+- ifindex, device->dhcp_opts, FALSE);
++ ifindex, IP6_DHCP_OPT_NONE, FALSE);
+ }
+
+ return FALSE;
+--- a/src/nm-device.c 2013-02-20 21:56:16.000000000 +0100
++++ b/src/nm-device.c 2013-04-27 13:24:10.141543160 +0200
+@@ -4526,8 +4526,7 @@
+ g_value_set_uint (value, priv->state);
+ break;
+ case PROP_STATE_REASON:
+- g_value_set_boxed (value,
+- dbus_g_type_specialized_construct
(DBUS_G_TYPE_UINT_STRUCT));
++ g_value_take_boxed (value, dbus_g_type_specialized_construct
(DBUS_G_TYPE_UINT_STRUCT));
+ dbus_g_type_struct_set (value,
+ 0, priv->state,
+ 1, priv->state_reason,
+@@ -5525,6 +5524,7 @@
+ g_hash_table_insert (NM_DEVICE_GET_PRIVATE
(self)->available_connections,
+ g_object_ref (connection),
+ GUINT_TO_POINTER (1));
++ return TRUE;
+ }
+ }
+ return FALSE;
+--- a/src/nm-device-ethernet.c 2013-02-20 21:56:16.000000000 +0100
++++ b/src/nm-device-ethernet.c 2013-04-27 13:22:49.270179194 +0200
+@@ -439,7 +439,7 @@
+ errno = 0;
+ ret = ioctl (fd, SIOCETHTOOL, &req);
+ if ((ret < 0) || !nm_ethernet_address_is_valid ((struct ether_addr *)
epaddr->data)) {
+- nm_log_err (LOGD_HW | LOGD_ETHER, "(%s): unable to read
permanent MAC address (error %d)",
++ nm_log_dbg (LOGD_HW | LOGD_ETHER, "(%s): unable to read
permanent MAC address (error %d)",
+ nm_device_get_iface (dev), errno);
+ /* Fall back to current address */
+ memcpy (epaddr->data, priv->hw_addr, ETH_ALEN);
+--- a/src/nm-device-wifi.c 2013-02-20 21:56:16.000000000 +0100
++++ b/src/nm-device-wifi.c 2013-04-27 13:23:34.177604322 +0200
+@@ -1125,11 +1125,11 @@
+
+ s_wifi = nm_connection_get_setting_wireless (connection);
+
+- /* Ad-Hoc connections are always available because they may be started
+- * at any time.
++ /* Ad-Hoc and AP connections are always available because they may be
++ * started at any time.
+ */
+ mode = nm_setting_wireless_get_mode (s_wifi);
+- if (g_strcmp0 (mode, "adhoc") == 0)
++ if (g_strcmp0 (mode, "adhoc") == 0 || g_strcmp0 (mode, "ap") == 0)
+ return TRUE;
+
+ /* Hidden SSIDs obviously don't always appear in the scan list either */
+@@ -2887,7 +2887,7 @@
+ errno = 0;
+ ret = ioctl (fd, SIOCETHTOOL, &req);
+ if ((ret < 0) || !nm_ethernet_address_is_valid ((struct ether_addr *)
epaddr->data)) {
+- nm_log_err (LOGD_HW | LOGD_ETHER, "(%s): unable to read
permanent MAC address (error %d)",
++ nm_log_dbg (LOGD_HW | LOGD_ETHER, "(%s): unable to read
permanent MAC address (error %d)",
+ nm_device_get_iface (dev), errno);
+ /* Fall back to current address */
+ memcpy (epaddr->data, &priv->hw_addr, ETH_ALEN);
+--- a/src/nm-manager.c 2013-02-20 21:56:16.000000000 +0100
++++ b/src/nm-manager.c 2013-04-27 13:21:20.178665743 +0200
+@@ -215,6 +215,7 @@
+ #endif
+
+ NMDBusManager *dbus_mgr;
++ guint dbus_connection_changed_id;
+ NMUdevManager *udev_mgr;
+ NMBluezManager *bluez_mgr;
+
+@@ -4245,6 +4246,7 @@
+ g_assert (dbus_connection);
+ dbus_connection_remove_filter (dbus_connection, prop_filter,
manager);
+ }
++ g_signal_handler_disconnect (priv->dbus_mgr,
priv->dbus_connection_changed_id);
+ g_object_unref (priv->dbus_mgr);
+
+ if (priv->bluez_mgr)
+@@ -4492,6 +4494,26 @@
+ }
+
+ static void
++dbus_connection_changed_cb (NMDBusManager *dbus_mgr,
++ DBusGConnection *connection,
++ gpointer user_data)
++{
++ NMManager *self = NM_MANAGER (user_data);
++ DBusConnection *dbus_connection;
++
++ if (connection) {
++ dbus_connection = dbus_g_connection_get_connection (connection);
++ g_assert (dbus_connection);
++
++ /* Register property filter on new connection; there's no
reason this
++ * should fail except out-of-memory or program error; if it
does fail
++ * then there's no Manager property access control, which is
bad.
++ */
++ g_assert (dbus_connection_add_filter (dbus_connection,
prop_filter, self, NULL));
++ }
++}
++
++static void
+ nm_manager_init (NMManager *manager)
+ {
+ NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager);
+@@ -4533,6 +4555,10 @@
+ priv->state = NM_STATE_DISCONNECTED;
+
+ priv->dbus_mgr = nm_dbus_manager_get ();
++ priv->dbus_connection_changed_id = g_signal_connect (priv->dbus_mgr,
++
NM_DBUS_MANAGER_DBUS_CONNECTION_CHANGED,
++ G_CALLBACK
(dbus_connection_changed_cb),
++ manager);
+
+ priv->modem_manager = nm_modem_manager_get ();
+ priv->modem_added_id = g_signal_connect (priv->modem_manager,
"modem-added",
+--- a/src/settings/plugins/keyfile/reader.c 2013-02-20 21:56:16.000000000
+0100
++++ b/src/settings/plugins/keyfile/reader.c 2013-04-27 13:23:46.174473155
+0200
+@@ -1157,15 +1157,23 @@
+
+ /* Make sure that we have the base device type setting even if
+ * the keyfile didn't include it, which can happen when the base
+- * device type setting is all default values (like ethernet).
++ * device type setting is all default values (like ethernet where
++ * the MAC address isn't given, or VLAN when the VLAN ID is zero).
+ */
+ s_con = nm_connection_get_setting_connection (connection);
+ if (s_con) {
+ ctype = nm_setting_connection_get_connection_type (s_con);
+ setting = nm_connection_get_setting_by_name (connection, ctype);
+- if (ctype) {
+- if (!setting && !strcmp (ctype,
NM_SETTING_WIRED_SETTING_NAME))
+- nm_connection_add_setting (connection,
nm_setting_wired_new ());
++ if (ctype && !setting) {
++ NMSetting *base_setting;
++ GType base_setting_type;
++
++ base_setting_type = nm_connection_lookup_setting_type
(ctype);
++ if (base_setting_type != G_TYPE_INVALID) {
++ base_setting = (NMSetting *) g_object_new
(base_setting_type, NULL);
++ g_assert (base_setting);
++ nm_connection_add_setting (connection,
base_setting);
++ }
+ }
+ }
+
+--- a/src/settings/plugins/keyfile/tests/keyfiles/Makefile.am 2013-02-20
21:56:16.000000000 +0100
++++ b/src/settings/plugins/keyfile/tests/keyfiles/Makefile.am 2013-04-27
13:23:46.174473155 +0200
+@@ -16,7 +16,8 @@
+ Test_Wired_TLS_Path_Missing \
+ Test_InfiniBand_Connection \
+ Test_Bridge_Main \
+- Test_Bridge_Component
++ Test_Bridge_Component \
++ Test_Missing_Vlan_Setting
+
+ CERTS = \
+ test-ca-cert.pem \
+--- a/src/settings/plugins/keyfile/tests/keyfiles/Test_Missing_Vlan_Setting
1970-01-01 01:00:00.000000000 +0100
++++ b/src/settings/plugins/keyfile/tests/keyfiles/Test_Missing_Vlan_Setting
2013-04-27 13:23:46.177806544 +0200
+@@ -0,0 +1,11 @@
++# Settings with all default values are not written, including
++# VLAN settings with a VLAN ID of 0, which is the default value.
++
++[connection]
++id=Test Missing Vlan Setting
++uuid=4e80a56d-c99f-4aad-a6dd-b449bc398c57
++type=vlan
++autoconnect=true
++
++[802-3-ethernet]
++mac-address=00:11:22:33:44:55
+--- a/src/settings/plugins/keyfile/tests/test-keyfile.c 2013-02-20
21:56:16.000000000 +0100
++++ b/src/settings/plugins/keyfile/tests/test-keyfile.c 2013-04-27
13:23:46.177806544 +0200
+@@ -1193,11 +1193,8 @@
+ TEST_STRING_SSID_FILE,
+ NM_SETTING_WIRELESS_SETTING_NAME,
+ NM_SETTING_WIRELESS_SSID);
+- ASSERT (memcmp (array->data, expected_ssid, sizeof (expected_ssid)) ==
0,
+- "connection-verify-wireless", "failed to verify %s: unexpected
%s / %s key value",
+- TEST_STRING_SSID_FILE,
+- NM_SETTING_WIRELESS_SETTING_NAME,
+- NM_SETTING_WIRELESS_SSID);
++ g_assert_cmpint (array->len, ==, strlen (expected_ssid));
++ g_assert (memcmp (array->data, expected_ssid, array->len) == 0);
+
+ g_object_unref (connection);
+ }
+@@ -3078,6 +3075,28 @@
+ g_object_unref (connection);
+ }
+
++static void
++test_read_missing_vlan_setting (void)
++{
++ NMConnection *connection;
++ NMSettingVlan *s_vlan;
++ GError *error = NULL;
++ gboolean success;
++
++ connection = nm_keyfile_plugin_connection_from_file
(TEST_KEYFILES_DIR"/Test_Missing_Vlan_Setting", &error);
++ g_assert_no_error (error);
++ g_assert (connection);
++ success = nm_connection_verify (connection, &error);
++ g_assert_no_error (error);
++ g_assert (success);
++
++ /* Ensure the VLAN setting exists */
++ s_vlan = nm_connection_get_setting_vlan (connection);
++ g_assert (s_vlan);
++ g_assert_cmpint (nm_setting_vlan_get_id (s_vlan), ==, 0);
++
++ g_object_unref (connection);
++}
+
+ int main (int argc, char **argv)
+ {
+@@ -3135,6 +3154,8 @@
+ test_read_bridge_component ();
+ test_write_bridge_component ();
+
++ test_read_missing_vlan_setting ();
++
+ base = g_path_get_basename (argv[0]);
+ fprintf (stdout, "%s: SUCCESS\n", base);
+ g_free (base);
Added: trunk/httpd/httpd-2.4.4-blfs_layout-1.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/httpd/httpd-2.4.4-blfs_layout-1.patch Sat Apr 27 11:03:55 2013
(r2640)
@@ -0,0 +1,290 @@
+Submitted By: Armin K. <krejzi at email dot com>
+Date: 2013-04-17
+Initial Package Version: 2.4.4
+Upstream Status: Not applicable
+Origin: Self
+Description: Patches the build system to install stuff into BLFS
+ specific paths, and adjusts proper permissions
+ on installed files and directories.
+
+diff -Naur a/config.layout b/config.layout
+--- a/config.layout 2012-04-17 16:01:41.000000000 +0200
++++ b/config.layout 2013-04-17 18:05:34.731598732 +0200
+@@ -9,6 +9,30 @@
+ ## (This may become a configurable parameter at some point.)
+ ##
+
++<Layout BLFS>
++ prefix:
++ exec_prefix: ${prefix}/usr
++ bindir: ${exec_prefix}/bin
++ sbindir: ${exec_prefix}/sbin
++ libdir: ${exec_prefix}/lib
++ libexecdir: ${exec_prefix}/lib/httpd/modules
++ mandir: ${exec_prefix}/share/man
++ sysconfdir: ${prefix}/etc/httpd
++ datadir: ${exec_prefix}/share/httpd
++ iconsdir: ${datadir}/icons
++ htdocsdir: ${prefix}/srv/www
++ manualdir: ${datadir}/manual
++ cgidir: ${exec_prefix}/lib/httpd/cgi-bin
++ includedir: ${exec_prefix}/include/httpd
++ localstatedir: ${prefix}/var/lock/httpd
++ runtimedir: ${prefix}/var/run/httpd
++ logfiledir: ${prefix}/var/log/httpd
++ proxycachedir: ${prefix}/var/cache/httpd/proxy
++ infodir: ${exec_prefix}/share/info
++ installbuilddir: ${datadir}/build
++ errordir: ${datadir}/error
++</Layout>
++
+ # Classical Apache path layout.
+ <Layout Apache>
+ prefix: /usr/local/apache2
+diff -Naur a/configure b/configure
+--- a/configure 2013-02-18 21:28:23.000000000 +0100
++++ b/configure 2013-04-17 18:04:12.603612701 +0200
+@@ -32270,17 +32270,17 @@
+
+
+ cat >>confdefs.h <<_ACEOF
+-#define HTTPD_ROOT "${ap_prefix}"
++#define HTTPD_ROOT "/etc/httpd"
+ _ACEOF
+
+
+ cat >>confdefs.h <<_ACEOF
+-#define SERVER_CONFIG_FILE "${rel_sysconfdir}/${progname}.conf"
++#define SERVER_CONFIG_FILE "${progname}.conf"
+ _ACEOF
+
+
+ cat >>confdefs.h <<_ACEOF
+-#define AP_TYPES_CONFIG_FILE "${rel_sysconfdir}/mime.types"
++#define AP_TYPES_CONFIG_FILE "mime.types"
+ _ACEOF
+
+
+diff -Naur a/configure.in b/configure.in
+--- a/configure.in 2013-01-09 17:39:05.000000000 +0100
++++ b/configure.in 2013-04-17 18:04:12.603612701 +0200
+@@ -818,11 +818,11 @@
+ echo $MODLIST | $AWK -f $srcdir/build/build-modules-c.awk > modules.c
+
+ APR_EXPAND_VAR(ap_prefix, $prefix)
+-AC_DEFINE_UNQUOTED(HTTPD_ROOT, "${ap_prefix}",
++AC_DEFINE_UNQUOTED(HTTPD_ROOT, "/etc/httpd",
+ [Root directory of the Apache install area])
+-AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "${rel_sysconfdir}/${progname}.conf",
++AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "${progname}.conf",
+ [Location of the config file, relative to the Apache root directory])
+-AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types",
++AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "mime.types",
+ [Location of the MIME types config file, relative to the Apache root
directory])
+
+ perlbin=`$ac_aux_dir/PrintPath perl`
+diff -Naur a/docs/conf/httpd.conf.in b/docs/conf/httpd.conf.in
+--- a/docs/conf/httpd.conf.in 2012-11-08 04:05:38.000000000 +0100
++++ b/docs/conf/httpd.conf.in 2013-04-17 18:04:12.606946089 +0200
+@@ -28,7 +28,7 @@
+ # same ServerRoot for multiple httpd daemons, you will need to change at
+ # least PidFile.
+ #
+-ServerRoot "@@ServerRoot@@"
++#ServerRoot "@@ServerRoot@@"
+
+ #
+ # Mutex: Allows you to set the mutex mechanism and mutex file directory
+@@ -74,8 +74,8 @@
+ # It is usually good practice to create a dedicated user and group for
+ # running httpd, as with most system services.
+ #
+-User daemon
+-Group daemon
++User apache
++Group apache
+
+ </IfModule>
+
+@@ -96,7 +96,7 @@
+ # e-mailed. This address appears on some server-generated pages, such
+ # as error documents. e.g. [email protected]
+ #
+-ServerAdmin [email protected]
++ServerAdmin admin@localhost
+
+ #
+ # ServerName gives the name and port that the server uses to identify itself.
+@@ -105,7 +105,7 @@
+ #
+ # If your host doesn't have a registered DNS name, enter its IP address here.
+ #
+-#ServerName www.example.com:@@Port@@
++#ServerName localhost:@@Port@@
+
+ #
+ # Deny access to the entirety of your server's filesystem. You must
+@@ -181,7 +181,7 @@
+ # logged here. If you *do* define an error logfile for a <VirtualHost>
+ # container, that host's errors will be logged there and not here.
+ #
+-ErrorLog "@rel_logfiledir@/error_log"
++ErrorLog "@rel_logfiledir@/error.log"
+
+ #
+ # LogLevel: Control the number of messages logged to the error_log.
+@@ -210,13 +210,13 @@
+ # define per-<VirtualHost> access logfiles, transactions will be
+ # logged therein and *not* in this file.
+ #
+- CustomLog "@rel_logfiledir@/access_log" common
++ CustomLog "@rel_logfiledir@/access.log" common
+
+ #
+ # If you prefer a logfile with access, agent, and referer information
+ # (Combined Logfile Format) you can use the following directive.
+ #
+- #CustomLog "@rel_logfiledir@/access_log" combined
++ #CustomLog "@rel_logfiledir@/access.log" combined
+ </IfModule>
+
+ <IfModule alias_module>
+diff -Naur a/include/ap_config_layout.h.in b/include/ap_config_layout.h.in
+--- a/include/ap_config_layout.h.in 2006-07-11 22:55:32.000000000 +0200
++++ b/include/ap_config_layout.h.in 2013-04-17 18:04:12.606946089 +0200
+@@ -60,5 +60,6 @@
+ #define DEFAULT_REL_LOGFILEDIR "@rel_logfiledir@"
+ #define DEFAULT_EXP_PROXYCACHEDIR "@exp_proxycachedir@"
+ #define DEFAULT_REL_PROXYCACHEDIR "@rel_proxycachedir@"
++#define DEFAULT_PIDLOG "/var/run/httpd/httpd.pid"
+
+ #endif /* AP_CONFIG_LAYOUT_H */
+diff -Naur a/include/httpd.h b/include/httpd.h
+--- a/include/httpd.h 2013-01-28 14:09:39.000000000 +0100
++++ b/include/httpd.h 2013-04-17 18:04:12.606946089 +0200
+@@ -109,7 +109,7 @@
+ #define DOCUMENT_LOCATION HTTPD_ROOT "/docs"
+ #else
+ /* Set default for non OS/2 file system */
+-#define DOCUMENT_LOCATION HTTPD_ROOT "/htdocs"
++#define DOCUMENT_LOCATION "/srv/www"
+ #endif
+ #endif /* DOCUMENT_LOCATION */
+
+diff -Naur a/Makefile.in b/Makefile.in
+--- a/Makefile.in 2012-12-17 12:50:41.000000000 +0100
++++ b/Makefile.in 2013-04-17 18:04:12.606946089 +0200
+@@ -91,9 +91,9 @@
+ done ; \
+ done ; \
+ if test -f "$(builddir)/envvars-std"; then \
+- cp -p envvars-std $(DESTDIR)$(sbindir); \
+- if test ! -f $(DESTDIR)$(sbindir)/envvars; then \
+- cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \
++ install -o root -g root -m644 envvars-std
$(DESTDIR)$(installbuilddir); \
++ if test ! -f $(DESTDIR)$(sysconfdir)/envvars; then \
++ install -o root -g root -m644 envvars-std
$(DESTDIR)$(sysconfdir)/envvars ; \
+ fi ; \
+ fi
+
+@@ -145,7 +145,7 @@
+ if test -d $(htdocs-srcdir) && test "x$(RSYNC)" != "x" && test -x
$(RSYNC) ; then \
+ $(RSYNC) --exclude .svn -rlpt --numeric-ids $(htdocs-srcdir)/
$(DESTDIR)$(htdocsdir)/; \
+ else \
+- test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp *
$(DESTDIR)$(htdocsdir)) ; \
++ test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp *
$(DESTDIR)$(htdocsdir) && chown -R root:root $(DESTDIR)$(htdocsdir)) ; \
+ cd $(DESTDIR)$(htdocsdir) && find . -name ".svn" -type d -print
| xargs rm -rf 2>/dev/null || true; \
+ fi; \
+ fi
+@@ -156,7 +156,7 @@
+ else \
+ echo Installing error documents ; \
+ $(MKINSTALLDIRS) $(DESTDIR)$(errordir) ; \
+- cd $(top_srcdir)/docs/error && cp -rp * $(DESTDIR)$(errordir) ; \
++ cd $(top_srcdir)/docs/error && cp -rp * $(DESTDIR)$(errordir) &&
chown -R root:root $(DESTDIR)$(errordir); \
+ test "x$(errordir)" != "x" && cd $(DESTDIR)$(errordir) && find .
-name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
+ fi
+
+@@ -166,7 +166,7 @@
+ else \
+ echo Installing icons ; \
+ $(MKINSTALLDIRS) $(DESTDIR)$(iconsdir) ; \
+- cd $(top_srcdir)/docs/icons && cp -rp * $(DESTDIR)$(iconsdir) ; \
++ cd $(top_srcdir)/docs/icons && cp -rp * $(DESTDIR)$(iconsdir) &&
chown -R root:root $(DESTDIR)$(iconsdir); \
+ test "x$(iconsdir)" != "x" && cd $(DESTDIR)$(iconsdir) && find .
-name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
+ fi
+
+@@ -176,7 +176,7 @@
+ else \
+ echo Installing CGIs ; \
+ $(MKINSTALLDIRS) $(DESTDIR)$(cgidir) ; \
+- cd $(top_srcdir)/docs/cgi-examples && cp -rp * $(DESTDIR)$(cgidir) ;
\
++ cd $(top_srcdir)/docs/cgi-examples && cp -rp * $(DESTDIR)$(cgidir)
&& chown -R root:root $(DESTDIR)$(cgidir); \
+ test "x$(cgidir)" != "x" && cd $(DESTDIR)$(cgidir) && find . -name
".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
+ fi
+
+@@ -229,12 +229,12 @@
+ @test -d $(DESTDIR)$(mandir)/man1 || $(MKINSTALLDIRS)
$(DESTDIR)$(mandir)/man1
+ @test -d $(DESTDIR)$(mandir)/man8 || $(MKINSTALLDIRS)
$(DESTDIR)$(mandir)/man8
+ @test -d $(DESTDIR)$(manualdir) || $(MKINSTALLDIRS)
$(DESTDIR)$(manualdir)
+- @cp -p $(top_srcdir)/docs/man/*.1 $(DESTDIR)$(mandir)/man1
+- @cp -p $(top_srcdir)/docs/man/*.8 $(DESTDIR)$(mandir)/man8
++ @install -o root -g root -m644 $(top_srcdir)/docs/man/*.1
$(DESTDIR)$(mandir)/man1
++ @install -o root -g root -m644 $(top_srcdir)/docs/man/*.8
$(DESTDIR)$(mandir)/man8
+ @if test "x$(RSYNC)" != "x" && test -x $(RSYNC) ; then \
+ $(RSYNC) --exclude .svn -rlpt --numeric-ids
$(top_srcdir)/docs/manual/ $(DESTDIR)$(manualdir)/; \
+ else \
+- cd $(top_srcdir)/docs/manual && cp -rp * $(DESTDIR)$(manualdir); \
++ cd $(top_srcdir)/docs/manual && cp -rp * $(DESTDIR)$(manualdir) &&
chown -R root:root $(DESTDIR)$(manualdir); \
+ cd $(DESTDIR)$(manualdir) && find . -name ".svn" -type d -print |
xargs rm -rf 2>/dev/null || true; \
+ fi
+
+diff -Naur a/support/apachectl.in b/support/apachectl.in
+--- a/support/apachectl.in 2012-02-01 04:47:28.000000000 +0100
++++ b/support/apachectl.in 2013-04-17 18:04:12.606946089 +0200
+@@ -45,8 +45,8 @@
+ HTTPD='@exp_sbindir@/@progname@'
+ #
+ # pick up any necessary environment variables
+-if test -f @exp_sbindir@/envvars; then
+- . @exp_sbindir@/envvars
++if test -f @exp_sysconfdir@/envvars; then
++ . @exp_sysconfdir@/envvars
+ fi
+ #
+ # a command that outputs a formatted text version of the HTML at the
+diff -Naur a/support/Makefile.in b/support/Makefile.in
+--- a/support/Makefile.in 2012-12-11 11:37:25.000000000 +0100
++++ b/support/Makefile.in 2013-04-17 18:04:12.610279475 +0200
+@@ -16,23 +16,23 @@
+ @test -d $(DESTDIR)$(bindir) || $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
+ @test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir)
+ @test -d $(DESTDIR)$(libexecdir) || $(MKINSTALLDIRS)
$(DESTDIR)$(libexecdir)
+- @cp -p $(top_builddir)/server/httpd.exp $(DESTDIR)$(libexecdir)
++ @test -d $(DESTDIR)$(sysconfdir) || $(MKINSTALLDIRS)
$(DESTDIR)$(sysconfdir)
++ @test -d $(DESTDIR)$(installbuilddir) || $(MKINSTALLDIRS)
$(DESTDIR)$(installbuilddir)
++ @install -o root -g root -m644 $(top_builddir)/server/httpd.exp
$(DESTDIR)$(libexecdir)
+ @for i in apxs dbmmanage; do \
+ if test -f "$(builddir)/$$i"; then \
+- cp -p $$i $(DESTDIR)$(bindir); \
+- chmod 755 $(DESTDIR)$(bindir)/$$i; \
++ install -o root -g root -m755 $$i $(DESTDIR)$(bindir); \
+ fi ; \
+ done
+ @for i in apachectl; do \
+ if test -f "$(builddir)/$$i"; then \
+- cp -p $$i $(DESTDIR)$(sbindir); \
+- chmod 755 $(DESTDIR)$(sbindir)/$$i; \
++ install -o root -g root -m755 $$i $(DESTDIR)$(sbindir); \
+ fi ; \
+ done
+ @if test -f "$(builddir)/envvars-std"; then \
+- cp -p envvars-std $(DESTDIR)$(sbindir); \
+- if test ! -f $(DESTDIR)$(sbindir)/envvars; then \
+- cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \
++ install -o root -g root -m644 envvars-std
$(DESTDIR)$(installbuilddir); \
++ if test ! -f $(DESTDIR)$(sysconfdir)/envvars; then \
++ install -o root -g root -m644 envvars-std
$(DESTDIR)$(sysconfdir)/envvars ; \
+ fi ; \
+ fi
+
Added: trunk/mysql/mysql-5.6.11-embedded_library_shared-1.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/mysql/mysql-5.6.11-embedded_library_shared-1.patch Sat Apr 27
11:03:55 2013 (r2640)
@@ -0,0 +1,48 @@
+Submitted By: Ragnar Thomsen (rthomsen at linuxfromscratch dot org)
+Date: 2012-03-21
+Initial Package Version: 5.5.17
+Origin: Gentoo Git
+Description: Fixes mysql to build a shared version of the embedded server
library (libmysqld.so) used by amarok2
+
+--- a/cmake/libutils.cmake 2013-04-05 14:27:18.000000000 +0200
++++ b/cmake/libutils.cmake 2013-04-27 13:38:52.806295199 +0200
+@@ -269,6 +269,16 @@
+ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP})
+ ENDIF()
+ SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_INTERFACE_LIBRARIES "")
++
++ IF(ARG_SHARED AND LINK_FLAG_NO_UNDEFINED)
++ # Do not allow undefined symbols in shared libraries
++ GET_TARGET_PROPERTY(TARGET_LINK_FLAGS ${TARGET} LINK_FLAGS)
++ IF(NOT TARGET_LINK_FLAGS)
++ SET(TARGET_LINK_FLAGS)
++ ENDIF()
++ SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_FLAGS
++ "${TARGET_LINK_FLAGS} ${LINK_FLAG_NO_UNDEFINED}")
++ ENDIF()
+ ENDMACRO()
+
+ FUNCTION(GET_DEPENDEND_OS_LIBS target result)
+--- a/libmysqld/CMakeLists.txt 2013-04-05 14:27:18.000000000 +0200
++++ b/libmysqld/CMakeLists.txt 2013-04-27 13:38:52.806295199 +0200
+@@ -125,7 +125,17 @@
+ ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug)
+ ENDIF()
+
+-IF(MSVC AND NOT DISABLE_SHARED)
+- MERGE_LIBRARIES(libmysqld SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS}
+- COMPONENT Embedded)
++IF(NOT DISABLE_SHARED)
++ MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS
${CLIENT_API_FUNCTIONS})
++ IF(UNIX)
++ # Name the shared library, handle versioning (provides same api as client
library
++ # hence the same version)
++ SET_TARGET_PROPERTIES(libmysqld PROPERTIES
++ OUTPUT_NAME mysqld
++ VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0"
++ SOVERSION "${SHARED_LIB_MAJOR_VERSION}")
++ # Clean direct output flags, as 2 targets have the same base name
(libmysqld)
++ SET_TARGET_PROPERTIES(libmysqld PROPERTIES CLEAN_DIRECT_OUTPUT 1)
++ SET_TARGET_PROPERTIES(mysqlserver PROPERTIES CLEAN_DIRECT_OUTPUT 1)
++ ENDIF()
+ ENDIF()
--
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page