Compare commits
No commits in common. "c9" and "c8" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/libgweather-40.0.tar.xz
|
||||
SOURCES/libgweather-3.28.2.tar.xz
|
||||
|
||||
@ -1 +1 @@
|
||||
5f8be54bb68df8da1193323f17d69c3cb810214d SOURCES/libgweather-40.0.tar.xz
|
||||
487493c68e35118eb1773de073124c4fcd5abf90 SOURCES/libgweather-3.28.2.tar.xz
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
From 42c4136039af5bfb4cb0d351131994ea57577d7f Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Mon, 26 Aug 2019 14:55:12 +0300
|
||||
Subject: [PATCH 1/7] GWeatherWeather: Always set a user-agent when doing
|
||||
queries
|
||||
|
||||
This should fix IWIN queries not working (403) because it didn't
|
||||
appreciate the lack of user-agent.
|
||||
---
|
||||
libgweather/gweather-weather.c | 2 ++
|
||||
meson.build | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/libgweather/gweather-weather.c b/libgweather/gweather-weather.c
|
||||
index 571a3e0b..62543169 100644
|
||||
--- a/libgweather/gweather-weather.c
|
||||
+++ b/libgweather/gweather-weather.c
|
||||
@@ -595,6 +595,8 @@ ref_session (void)
|
||||
return g_object_ref (session);
|
||||
|
||||
session = soup_session_new ();
|
||||
+ g_object_set (G_OBJECT (session), SOUP_SESSION_USER_AGENT,
|
||||
+ "libgweather/" LIBGWEATHER_VERSION " (+https://gitlab.gnome.org/GNOME/libgweather/) ", NULL);
|
||||
|
||||
cache = get_cache ();
|
||||
if (cache != NULL) {
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 67261ad6..43490631 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -56,6 +56,7 @@ config_h.set_quoted('LOCALEDIR', join_paths(datadir, 'locale'))
|
||||
config_h.set_quoted('GNOMELOCALEDIR', join_paths(datadir, 'locale'))
|
||||
config_h.set_quoted('G_LOG_DOMAIN', 'GWeather')
|
||||
config_h.set_quoted('GWEATHER_XML_LOCATION_DIR', pkgdatadir)
|
||||
+config_h.set_quoted('LIBGWEATHER_VERSION', meson.project_version())
|
||||
|
||||
if c_compiler.has_member('struct tm', 'tm_gmtoff', prefix: '#include <time.h>')
|
||||
config_h.set('HAVE_TM_TM_GMOFF', 1)
|
||||
--
|
||||
2.30.2
|
||||
|
||||
25
SOURCES/0002-yrno-Link-to-met.no-using-HTTPS.patch
Normal file
25
SOURCES/0002-yrno-Link-to-met.no-using-HTTPS.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 3f2f1fd8ee361798dbe4e677978a40b748749b1d Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Mon, 26 Aug 2019 15:01:05 +0300
|
||||
Subject: [PATCH 2/7] yrno: Link to met.no using HTTPS
|
||||
|
||||
---
|
||||
libgweather/weather-yrno.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index 39803b4e..d01075bf 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -504,7 +504,7 @@ parse_forecast_xml_new (GWeatherInfo *master_info,
|
||||
|
||||
That's very nice of them!
|
||||
*/
|
||||
- priv->forecast_attribution = g_strdup(_("Weather data from the <a href=\"http://www.met.no/\">Norwegian Meteorological Institute</a>"));
|
||||
+ priv->forecast_attribution = g_strdup(_("Weather data from the <a href=\"https://www.met.no/\">Norwegian Meteorological Institute</a>"));
|
||||
|
||||
out:
|
||||
xmlXPathFreeContext (xpath_ctx);
|
||||
--
|
||||
2.30.2
|
||||
|
||||
44
SOURCES/0003-metno-Use-compat-2.0-API.patch
Normal file
44
SOURCES/0003-metno-Use-compat-2.0-API.patch
Normal file
@ -0,0 +1,44 @@
|
||||
From 3df75414d865829274ddc64d30ada98ca08fba3b Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Thu, 7 Jan 2021 15:14:40 +0100
|
||||
Subject: [PATCH 3/7] metno: Use compat 2.0 API
|
||||
|
||||
Version 1.9, which we were using, was deprecated and will be removed soon,
|
||||
so migrate to the compat XML output of the v2.0 API.
|
||||
|
||||
Closes: #65
|
||||
---
|
||||
libgweather/weather-yrno.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index d01075bf..7a46fbae 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
#define XC(t) ((const xmlChar *)(t))
|
||||
|
||||
-/* Reference for symbols at http://om.yr.no/forklaring/symbol/ */
|
||||
+/* Reference for symbols at https://api.met.no/weatherapi/weathericon/2.0/ */
|
||||
typedef struct {
|
||||
int code;
|
||||
GWeatherSky sky;
|
||||
@@ -589,12 +589,12 @@ yrno_start_open_new (GWeatherInfo *info)
|
||||
if (!loc->latlon_valid)
|
||||
return FALSE;
|
||||
|
||||
- /* see the description here: https://api.met.no/ */
|
||||
+ /* see the description here: https://api.met.no/weatherapi/locationforecast/2.0/documentation */
|
||||
|
||||
g_ascii_dtostr (latstr, sizeof(latstr), RADIANS_TO_DEGREES (loc->latitude));
|
||||
g_ascii_dtostr (lonstr, sizeof(lonstr), RADIANS_TO_DEGREES (loc->longitude));
|
||||
|
||||
- url = g_strdup_printf("https://api.met.no/weatherapi/locationforecast/1.9/?lat=%s;lon=%s", latstr, lonstr);
|
||||
+ url = g_strdup_printf("https://api.met.no/weatherapi/locationforecast/2.0/classic?lat=%s;lon=%s", latstr, lonstr);
|
||||
|
||||
message = soup_message_new ("GET", url);
|
||||
_gweather_info_begin_request (info, message);
|
||||
--
|
||||
2.30.2
|
||||
|
||||
36
SOURCES/0004-metno-Use-GNOME-specific-subdomain.patch
Normal file
36
SOURCES/0004-metno-Use-GNOME-specific-subdomain.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From d304e911d09d52b763f2c11a4309d170d0597a86 Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Tue, 12 Jan 2021 14:21:21 +0100
|
||||
Subject: [PATCH 4/7] metno: Use GNOME-specific subdomain
|
||||
|
||||
This allows the API provider to track libgweather usage.
|
||||
---
|
||||
libgweather/weather-yrno.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index 7a46fbae..13ee8537 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -37,6 +37,9 @@
|
||||
|
||||
#define XC(t) ((const xmlChar *)(t))
|
||||
|
||||
+/* As per https://gitlab.gnome.org/GNOME/libgweather/-/issues/59#note_1004747 */
|
||||
+#define API_ENDPOINT_DOMAIN "aa037rv1tsaszxi6o.api.met.no"
|
||||
+
|
||||
/* Reference for symbols at https://api.met.no/weatherapi/weathericon/2.0/ */
|
||||
typedef struct {
|
||||
int code;
|
||||
@@ -594,7 +597,7 @@ yrno_start_open_new (GWeatherInfo *info)
|
||||
g_ascii_dtostr (latstr, sizeof(latstr), RADIANS_TO_DEGREES (loc->latitude));
|
||||
g_ascii_dtostr (lonstr, sizeof(lonstr), RADIANS_TO_DEGREES (loc->longitude));
|
||||
|
||||
- url = g_strdup_printf("https://api.met.no/weatherapi/locationforecast/2.0/classic?lat=%s;lon=%s", latstr, lonstr);
|
||||
+ url = g_strdup_printf("https://" API_ENDPOINT_DOMAIN "/weatherapi/locationforecast/2.0/classic?lat=%s;lon=%s", latstr, lonstr);
|
||||
|
||||
message = soup_message_new ("GET", url);
|
||||
_gweather_info_begin_request (info, message);
|
||||
--
|
||||
2.30.2
|
||||
|
||||
30
SOURCES/0005-metno-Use-as-arguments-separator-in-query.patch
Normal file
30
SOURCES/0005-metno-Use-as-arguments-separator-in-query.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 1e3706da2a737e78c879847d31c55226c990b338 Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Tue, 12 Jan 2021 14:22:28 +0100
|
||||
Subject: [PATCH 5/7] metno: Use "&" as arguments separator in query
|
||||
|
||||
According to the HTML5 spec ";" is no longer allowed. This was
|
||||
automatically rewritten in Varnish, but was temporary measure
|
||||
and was likely to disappear if on cache/load balancer change.
|
||||
|
||||
Closes: #72
|
||||
---
|
||||
libgweather/weather-yrno.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index 13ee8537..e5c2e75a 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -597,7 +597,7 @@ yrno_start_open_new (GWeatherInfo *info)
|
||||
g_ascii_dtostr (latstr, sizeof(latstr), RADIANS_TO_DEGREES (loc->latitude));
|
||||
g_ascii_dtostr (lonstr, sizeof(lonstr), RADIANS_TO_DEGREES (loc->longitude));
|
||||
|
||||
- url = g_strdup_printf("https://" API_ENDPOINT_DOMAIN "/weatherapi/locationforecast/2.0/classic?lat=%s;lon=%s", latstr, lonstr);
|
||||
+ url = g_strdup_printf("https://" API_ENDPOINT_DOMAIN "/weatherapi/locationforecast/2.0/classic?lat=%s&lon=%s", latstr, lonstr);
|
||||
|
||||
message = soup_message_new ("GET", url);
|
||||
_gweather_info_begin_request (info, message);
|
||||
--
|
||||
2.30.2
|
||||
|
||||
162
SOURCES/0006-metno-Use-alphabetical-2.0-symbol-codes.patch
Normal file
162
SOURCES/0006-metno-Use-alphabetical-2.0-symbol-codes.patch
Normal file
@ -0,0 +1,162 @@
|
||||
From 2305ae3d973355b632777dbe969efea91c4e7339 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 21 Jan 2021 05:12:21 +0100
|
||||
Subject: [PATCH 6/7] metno: Use alphabetical 2.0 symbol codes
|
||||
|
||||
The numerical codes are deprecated and scheduled for removal, so
|
||||
replace them with the non-deprecated alphabetical codes as listed
|
||||
in https://api.met.no/weatherapi/weathericon/2.0/.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/libgweather/-/issues/67
|
||||
---
|
||||
libgweather/weather-yrno.c | 113 ++++++++++++++++++-------------------
|
||||
1 file changed, 55 insertions(+), 58 deletions(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index e5c2e75a..f32c772a 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -42,53 +42,53 @@
|
||||
|
||||
/* Reference for symbols at https://api.met.no/weatherapi/weathericon/2.0/ */
|
||||
typedef struct {
|
||||
- int code;
|
||||
+ const char *code;
|
||||
GWeatherSky sky;
|
||||
GWeatherConditions condition;
|
||||
} YrnoSymbol;
|
||||
|
||||
static YrnoSymbol symbols[] = {
|
||||
- { 1, GWEATHER_SKY_CLEAR, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Sun */
|
||||
- { 2, GWEATHER_SKY_BROKEN, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* LightCloud */
|
||||
- { 3, GWEATHER_SKY_SCATTERED, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* PartlyCloudy */
|
||||
- { 4, GWEATHER_SKY_OVERCAST, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Cloudy */
|
||||
- { 5, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_LIGHT } }, /* LightRainSun */
|
||||
- { 6, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunderSun */
|
||||
- { 7, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* SleetSun */
|
||||
- { 8, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* SnowSun */
|
||||
- { 9, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_LIGHT } }, /* SnowSun */
|
||||
- { 10, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* Rain */
|
||||
- { 11, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunder */
|
||||
- { 12, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* Sleet */
|
||||
- { 13, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* Snow */
|
||||
- { 14, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowThunder */
|
||||
- { 15, GWEATHER_SKY_CLEAR, { TRUE, GWEATHER_PHENOMENON_FOG, GWEATHER_QUALIFIER_NONE } }, /* Fog */
|
||||
- { 20, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetSunThunder */
|
||||
- { 21, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowSunThunder */
|
||||
- { 22, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunder */
|
||||
- { 23, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetThunder */
|
||||
- { 24, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunderSun */
|
||||
- { 25, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunderSun */
|
||||
- { 26, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunderSun */
|
||||
- { 27, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunderSun */
|
||||
- { 28, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunderSun */
|
||||
- { 29, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunderSun */
|
||||
- { 30, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunder */
|
||||
- { 31, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunder */
|
||||
- { 32, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunder */
|
||||
- { 33, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunder */
|
||||
- { 34, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunder */
|
||||
- { 40, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* DrizzleSun */
|
||||
- { 41, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* RainSun */
|
||||
- { 42, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetSun */
|
||||
- { 43, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetSun */
|
||||
- { 44, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowSun */
|
||||
- { 45, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowSun */
|
||||
- { 46, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* Drizzle */
|
||||
- { 47, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleet */
|
||||
- { 48, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleet */
|
||||
- { 49, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnow */
|
||||
- { 50, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } } /* HeavySnow */
|
||||
+ { "clearsky", GWEATHER_SKY_CLEAR, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Sun */
|
||||
+ { "fair", GWEATHER_SKY_BROKEN, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* LightCloud */
|
||||
+ { "partlycloudy", GWEATHER_SKY_SCATTERED, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* PartlyCloudy */
|
||||
+ { "cloudy", GWEATHER_SKY_OVERCAST, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Cloudy */
|
||||
+ { "rainshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_LIGHT } }, /* LightRainSun */
|
||||
+ { "rainshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunderSun */
|
||||
+ { "sleetshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* SleetSun */
|
||||
+ { "snowshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* SnowSun */
|
||||
+ { "rain", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_LIGHT } }, /* SnowSun */
|
||||
+ { "heavyrain", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* Rain */
|
||||
+ { "heavyrainandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunder */
|
||||
+ { "sleet", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* Sleet */
|
||||
+ { "snow", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* Snow */
|
||||
+ { "snowandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowThunder */
|
||||
+ { "fog", GWEATHER_SKY_CLEAR, { TRUE, GWEATHER_PHENOMENON_FOG, GWEATHER_QUALIFIER_NONE } }, /* Fog */
|
||||
+ { "sleetshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetSunThunder */
|
||||
+ { "snowshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowSunThunder */
|
||||
+ { "rainandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunder */
|
||||
+ { "sleetandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetThunder */
|
||||
+ { "lightrainshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunderSun */
|
||||
+ { "heavyrainshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunderSun */
|
||||
+ { "lightssleetshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunderSun */
|
||||
+ { "heavysleetshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunderSun */
|
||||
+ { "lightssnowshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunderSun */
|
||||
+ { "heavysnowshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunderSun */
|
||||
+ { "lightrainandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunder */
|
||||
+ { "lightsleetandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunder */
|
||||
+ { "heavysleetandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunder */
|
||||
+ { "lightsnowandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunder */
|
||||
+ { "heavysnowandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunder */
|
||||
+ { "lightrainshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* DrizzleSun */
|
||||
+ { "heavyrainshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* RainSun */
|
||||
+ { "lightsleetshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetSun */
|
||||
+ { "heavysleetshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetSun */
|
||||
+ { "lightsnowshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowSun */
|
||||
+ { "heavysnowshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowSun */
|
||||
+ { "lightrain", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* Drizzle */
|
||||
+ { "lightsleet", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleet */
|
||||
+ { "heavysleet", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleet */
|
||||
+ { "lightsnow", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnow */
|
||||
+ { "heavysnow", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } } /* HeavySnow */
|
||||
};
|
||||
|
||||
static struct {
|
||||
@@ -149,21 +149,18 @@ date_to_time_t (const xmlChar *str, const char * tzid)
|
||||
}
|
||||
|
||||
static YrnoSymbol *
|
||||
-symbol_search (int code)
|
||||
+symbol_search (const char *code)
|
||||
{
|
||||
- int a = 0;
|
||||
- int b = G_N_ELEMENTS (symbols);
|
||||
-
|
||||
- while (a < b) {
|
||||
- int c = (a + b)/2;
|
||||
- YrnoSymbol *yc = symbols + c;
|
||||
-
|
||||
- if (yc->code == code)
|
||||
- return yc;
|
||||
- if (yc->code < code)
|
||||
- a = c+1;
|
||||
- else
|
||||
- b = c;
|
||||
+ unsigned int i;
|
||||
+
|
||||
+ for (i = 0; i < G_N_ELEMENTS (symbols); i++) {
|
||||
+ YrnoSymbol *s = symbols + i;
|
||||
+
|
||||
+ if (strcmp (code, s->code) == 0)
|
||||
+ return s;
|
||||
+
|
||||
+ if (strstr (code, s->code) == code && code[strlen (s->code)] == '_')
|
||||
+ return s;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -177,9 +174,9 @@ read_symbol (GWeatherInfo *info,
|
||||
YrnoSymbol* symbol;
|
||||
GWeatherInfoPrivate *priv = info->priv;
|
||||
|
||||
- val = xmlGetProp (node, XC("number"));
|
||||
+ val = xmlGetProp (node, XC("code"));
|
||||
|
||||
- symbol = symbol_search (strtol ((char*) val, NULL, 0));
|
||||
+ symbol = symbol_search ((char *)val);
|
||||
if (symbol != NULL) {
|
||||
priv->valid = TRUE;
|
||||
priv->sky = symbol->sky;
|
||||
--
|
||||
2.30.2
|
||||
|
||||
66
SOURCES/0007-weather-add-app-ID-to-HTTP-user-agent.patch
Normal file
66
SOURCES/0007-weather-add-app-ID-to-HTTP-user-agent.patch
Normal file
@ -0,0 +1,66 @@
|
||||
From 9e04624edff61f381365485565477f5302a2b93e Mon Sep 17 00:00:00 2001
|
||||
From: Michael Catanzaro <mcatanzaro@gnome.org>
|
||||
Date: Fri, 19 Mar 2021 15:45:52 -0500
|
||||
Subject: [PATCH 7/7] weather: add app ID to HTTP user agent
|
||||
|
||||
met.no has requested we add the app ID even if we cannot provide
|
||||
application contact info. See #82.
|
||||
---
|
||||
libgweather/gweather-weather.c | 34 ++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 32 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libgweather/gweather-weather.c b/libgweather/gweather-weather.c
|
||||
index 62543169..f81aa7e2 100644
|
||||
--- a/libgweather/gweather-weather.c
|
||||
+++ b/libgweather/gweather-weather.c
|
||||
@@ -583,6 +583,37 @@ dump_and_unref_cache (SoupCache *cache)
|
||||
|
||||
static SoupSession *static_session;
|
||||
|
||||
+static const char *
|
||||
+app_id (void)
|
||||
+{
|
||||
+ GApplication *app = g_application_get_default ();
|
||||
+ const char *id;
|
||||
+
|
||||
+ if (app) {
|
||||
+ id = g_application_get_application_id (app);
|
||||
+ if (id)
|
||||
+ return id;
|
||||
+ }
|
||||
+
|
||||
+ return g_get_prgname ();
|
||||
+}
|
||||
+
|
||||
+static char *
|
||||
+compute_user_agent (void)
|
||||
+{
|
||||
+ return g_strdup_printf ("libgweather/%s (+https://gitlab.gnome.org/GNOME/libgweather/) (%s) ", LIBGWEATHER_VERSION, app_id ());
|
||||
+}
|
||||
+
|
||||
+static const char *
|
||||
+user_agent (void)
|
||||
+{
|
||||
+ static GOnce once = G_ONCE_INIT;
|
||||
+
|
||||
+ g_once (&once, compute_user_agent, NULL);
|
||||
+
|
||||
+ return once.retval;
|
||||
+}
|
||||
+
|
||||
static SoupSession *
|
||||
ref_session (void)
|
||||
{
|
||||
@@ -595,8 +626,7 @@ ref_session (void)
|
||||
return g_object_ref (session);
|
||||
|
||||
session = soup_session_new ();
|
||||
- g_object_set (G_OBJECT (session), SOUP_SESSION_USER_AGENT,
|
||||
- "libgweather/" LIBGWEATHER_VERSION " (+https://gitlab.gnome.org/GNOME/libgweather/) ", NULL);
|
||||
+ g_object_set (G_OBJECT (session), SOUP_SESSION_USER_AGENT, user_agent (), NULL);
|
||||
|
||||
cache = get_cache ();
|
||||
if (cache != NULL) {
|
||||
--
|
||||
2.30.2
|
||||
|
||||
40
SOURCES/libgweather-3.28.2-fix-enum-types-multilib.patch
Normal file
40
SOURCES/libgweather-3.28.2-fix-enum-types-multilib.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 88461473c20a6a7e4d61d144de083340d65eb75a Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Wed, 18 Jul 2018 13:50:23 +0200
|
||||
Subject: [PATCH] build: Don't use a full path inside generated enum header
|
||||
|
||||
It causes multilib problems.
|
||||
---
|
||||
libgweather/gweather-enum-types.c.tmpl | 2 +-
|
||||
libgweather/gweather-enum-types.h.tmpl | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libgweather/gweather-enum-types.c.tmpl b/libgweather/gweather-enum-types.c.tmpl
|
||||
index 4430bda8..fe1f7c4d 100644
|
||||
--- a/libgweather/gweather-enum-types.c.tmpl
|
||||
+++ b/libgweather/gweather-enum-types.c.tmpl
|
||||
@@ -7,7 +7,7 @@
|
||||
/*** END file-header ***/
|
||||
|
||||
/*** BEGIN file-production ***/
|
||||
-/* enumerations from "@filename@" */
|
||||
+/* enumerations from "@basename@" */
|
||||
/*** END file-production ***/
|
||||
|
||||
/*** BEGIN value-header ***/
|
||||
diff --git a/libgweather/gweather-enum-types.h.tmpl b/libgweather/gweather-enum-types.h.tmpl
|
||||
index 3ca19950..d50063da 100644
|
||||
--- a/libgweather/gweather-enum-types.h.tmpl
|
||||
+++ b/libgweather/gweather-enum-types.h.tmpl
|
||||
@@ -14,7 +14,7 @@ G_BEGIN_DECLS
|
||||
|
||||
/*** BEGIN file-production ***/
|
||||
|
||||
-/* enumerations from "@filename@" */
|
||||
+/* enumerations from "@basename@" */
|
||||
/*** END file-production ***/
|
||||
|
||||
/*** BEGIN value-header ***/
|
||||
--
|
||||
GitLab
|
||||
|
||||
@ -1,24 +1,32 @@
|
||||
%global tarball_version %%(echo %{version} | tr '~' '.')
|
||||
|
||||
Name: libgweather
|
||||
Version: 40.0
|
||||
Release: 3%{?dist}
|
||||
Version: 3.28.2
|
||||
Release: 4%{?dist}
|
||||
Summary: A library for weather information
|
||||
|
||||
License: GPLv2+
|
||||
URL: https://wiki.gnome.org/Projects/LibGWeather
|
||||
Source0: https://download.gnome.org/sources/libgweather/40/%{name}-%{tarball_version}.tar.xz
|
||||
Source0: https://download.gnome.org/sources/libgweather/3.28/%{name}-%{version}.tar.xz
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1853151
|
||||
Patch0: libgweather-3.28.2-fix-enum-types-multilib.patch
|
||||
|
||||
# https://gitlab.gnome.org/GNOME/libgweather/-/issues/82
|
||||
Patch1: 0001-GWeatherWeather-Always-set-a-user-agent-when-doing-q.patch
|
||||
Patch2: 0002-yrno-Link-to-met.no-using-HTTPS.patch
|
||||
Patch3: 0003-metno-Use-compat-2.0-API.patch
|
||||
Patch4: 0004-metno-Use-GNOME-specific-subdomain.patch
|
||||
Patch5: 0005-metno-Use-as-arguments-separator-in-query.patch
|
||||
Patch6: 0006-metno-Use-alphabetical-2.0-symbol-codes.patch
|
||||
Patch7: 0007-weather-add-app-ID-to-HTTP-user-agent.patch
|
||||
|
||||
BuildRequires: gettext
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: meson
|
||||
BuildRequires: pkgconfig(geocode-glib-1.0)
|
||||
BuildRequires: pkgconfig(gladeui-2.0)
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(libsoup-2.4)
|
||||
BuildRequires: pkgconfig(libxml-2.0)
|
||||
BuildRequires: python3-gobject-base
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.10
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.13.5
|
||||
BuildRequires: pkgconfig(libsoup-2.4) >= 2.34
|
||||
BuildRequires: pkgconfig(libxml-2.0) >= 2.6.0
|
||||
BuildRequires: vala
|
||||
|
||||
%description
|
||||
@ -34,7 +42,7 @@ The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n libgweather-%{tarball_version}
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%meson -Dgtk_doc=true
|
||||
@ -46,12 +54,10 @@ developing applications that use %{name}.
|
||||
%find_lang %{name} --all-name
|
||||
|
||||
%files -f %{name}.lang
|
||||
%doc HACKING.md NEWS README.md
|
||||
%doc HACKING NEWS README.md
|
||||
%license COPYING
|
||||
%{_libdir}/libgweather-3.so.16*
|
||||
%{_libdir}/libgweather-3.so.15*
|
||||
%{_libdir}/girepository-1.0/GWeather-3.0.typelib
|
||||
%dir %{_libdir}/libgweather
|
||||
%{_libdir}/libgweather/Locations.bin
|
||||
%dir %{_datadir}/libgweather
|
||||
%{_datadir}/libgweather/Locations.xml
|
||||
%{_datadir}/libgweather/locations.dtd
|
||||
@ -75,76 +81,15 @@ developing applications that use %{name}.
|
||||
%{_datadir}/vala/vapi/gweather-3.0.vapi
|
||||
|
||||
%changelog
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 40.0-3
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
* Tue Apr 27 2021 David King <dking@redhat.com> - 3.28.2-4
|
||||
- Fix no weather data available (#1942202)
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 40.0-2
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
* Wed Oct 07 2020 David King <dking@redhat.com> - 3.28.2-3
|
||||
- Fix multilib conflict in enum header (#1853151)
|
||||
|
||||
* Wed Mar 24 2021 Kalev Lember <klember@redhat.com> - 40.0-1
|
||||
- Update to 40.0
|
||||
|
||||
* Wed Feb 17 2021 Kalev Lember <klember@redhat.com> - 40~beta-1
|
||||
- Update to 40.beta
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 40~alpha.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jan 19 2021 Kalev Lember <klember@redhat.com> - 40~alpha.1-1
|
||||
- Update to 40.alpha.1
|
||||
|
||||
* Tue Jan 19 2021 Kalev Lember <klember@redhat.com> - 40~alpha-1
|
||||
- Update to 40.alpha
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.36.1-3
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.36.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sat Jun 20 2020 Bastien Nocera <bnocera@redhat.com> - 3.36.1-1
|
||||
+ libgweather-3.36.1-1
|
||||
- Update to 3.36.1
|
||||
- Work-around broken current conditions weather servers
|
||||
|
||||
* Mon Mar 09 2020 Bastien Nocera <bnocera@redhat.com> - 3.36.0-1
|
||||
+ libgweather-3.36.0-1
|
||||
- Update to 3.36.0
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.34.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Oct 08 2019 Kalev Lember <klember@redhat.com> - 3.34.0-1
|
||||
- Update to 3.34.0
|
||||
|
||||
* Tue Sep 03 2019 Kalev Lember <klember@redhat.com> - 3.33.92-1
|
||||
- Update to 3.33.92
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.33.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon Jul 08 2019 Kalev Lember <klember@redhat.com> - 3.33.0-1
|
||||
- Update to 3.33.0
|
||||
|
||||
* Wed Mar 20 2019 Kalev Lember <klember@redhat.com> - 3.32.1-1
|
||||
- Update to 3.32.1
|
||||
|
||||
* Mon Mar 11 2019 Kalev Lember <klember@redhat.com> - 3.32.0-1
|
||||
- Update to 3.32.0
|
||||
|
||||
* Fri Feb 22 2019 Kalev Lember <klember@redhat.com> - 3.31.91-1
|
||||
- Update to 3.31.91
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.28.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Aug 09 2018 Debarshi Ray <rishi@fedoraproject.org> - 3.28.2-3
|
||||
* Thu Aug 09 2018 Debarshi Ray <rishi@fedoraproject.org> - 3.28.2-2
|
||||
- Fix dangling symbolic link to README.md
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.28.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
Resolves: #1614386
|
||||
|
||||
* Wed Jun 13 2018 Bastien Nocera <bnocera@redhat.com> - 3.28.2-1
|
||||
+ libgweather-3.28.2-1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user