Compare commits

...
Sign in to create a new pull request.

32 commits

Author SHA1 Message Date
Fedora Release Engineering
8d77a793b0 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:27:56 +00:00
Sandro Mani
d9e802b2f2 Rebuild (gdal) 2026-06-19 15:04:25 +02:00
Yaakov Selkowitz
56fe2a254c Rebuilt for openssl 4.0 2026-06-12 20:02:45 -04:00
Björn Esser
11a8989ea7
Rebuild (jsoncpp) 2026-03-22 16:35:14 +01:00
Orion Poplawski
ec5ba1171e Rebuild for octave 11.1 2026-02-27 08:24:02 -07:00
Thomas Sailer
c7a6a52439 fix requires 2026-02-18 10:00:39 +01:00
Thomas Sailer
d7fab3abf8 more compile fixes 2026-01-30 13:34:18 +01:00
Thomas Sailer
b2e6030344 compile fix 2026-01-30 13:00:15 +01:00
Elliott Sales de Andrade
077ab29110 Drop support for i686 2026-01-25 18:59:43 -05:00
Fedora Release Engineering
a1b87ff111 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 19:53:17 +00:00
Jitka Plesnikova
298bc16021 Rebuild for new gpsd 2026-01-14 11:47:55 +01:00
Sandro Mani
3f53cb4761 Rebuild (gdal) 2025-11-23 17:12:33 +01:00
Sandro Mani
954b31b0c3 Rebuild (geos) 2025-10-28 17:06:08 +01:00
Sandro Mani
def03cee35 Rebuild (vfrnav) 2025-09-03 14:22:03 +02:00
Orion Poplawski
dc32e34595 Rebuild for Octave 10.2 2025-08-07 10:42:16 -06:00
Sandro Mani
9d4df7335a Rebuild (gdal) 2025-07-29 23:24:07 +02:00
Fedora Release Engineering
cf930e5a15 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:04:00 +00:00
1c6bf2c695 rebuild for new gpsd 2025-05-27 16:14:22 +02:00
Sandro Mani
2759d09045 Rebuild (geos) 2025-03-05 12:26:35 +01:00
Björn Esser
600edb380e
Rebuild (jsoncpp)
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
2025-02-27 10:39:39 +01:00
13e55f1117 Add sysusers.d config file to allow rpm to create users/groups automatically
See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers.
2025-02-11 17:03:12 +01:00
Orion Poplawski
281ab4e08e Rebuild with gsl 2.8 2025-02-02 13:49:59 -07:00
Fedora Release Engineering
a5885a5929 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 14:18:05 +00:00
Thomas Sailer
8643743b37 fixes for octave 9, compile fixes for pqxx 2025-01-07 14:01:21 +01:00
Björn Esser
4cc641690b
Rebuild (libpqxx)
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
2024-12-23 12:58:24 +01:00
Orion Poplawski
deb44fcab0 Rebuild for octave 9.2 2024-11-13 19:32:24 -07:00
Sandro Mani
1967cb71b4 Rebuild (gdal) 2024-11-08 16:09:24 +01:00
Orion Poplawski
44dcf9ed0c Rebuild for yaml-cpp 0.8 2024-10-24 21:11:33 -06:00
Sandro Mani
7b4a66cbc1 Rebuild (geos) 2024-09-10 09:51:31 +02:00
Fedora Release Engineering
052373de5e Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 08:44:21 +00:00
Sandro Mani
d741539597 Rebuild (geos) 2024-06-06 21:57:10 +02:00
Sandro Mani
cfad4e21bd Rebuild (gdal) 2024-05-13 16:34:22 +02:00
3 changed files with 435 additions and 8 deletions

127
vfrnav-compile.patch Normal file
View file

@ -0,0 +1,127 @@
--- vfrnav-20230429/src/metartaf.cc.orig 2025-01-07 13:51:24.837306522 +0100
+++ vfrnav-20230429/src/metartaf.cc 2025-01-07 13:53:02.445841777 +0100
@@ -497,7 +497,7 @@
"from metar where " + get_querycoord(bbox, tran) + ") T1 where T1.observation_time in "
"(select T2.observation_time from metar T2 where T2.station_id = T1.station_id "
"order by T2.observation_time desc limit " +
- tran.quote(metarhistory) + ")", "Metar Taf Set METAR"));
+ tran.quote(metarhistory) + ")", std::string_view{"Metar Taf Set METAR"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
std::pair<result_t::iterator,bool> ins(result.insert(Station(ri[0].as<std::string>(),
Point(ri[2].as<Point::coord_t>(), ri[1].as<Point::coord_t>()),
@@ -513,7 +513,7 @@
"from taf where " + get_querycoord(bbox, tran) + ") T1 where T1.issue_time in "
"(select T2.issue_time from taf T2 where T2.station_id = T1.station_id "
"order by T2.issue_time desc limit " +
- tran.quote(tafhistory) + ")", "Metar Taf Set TAF"));
+ tran.quote(tafhistory) + ")", std::string_view{"Metar Taf Set TAF"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
std::pair<result_t::iterator,bool> ins(result.insert(Station(ri[0].as<std::string>(),
Point(ri[2].as<Point::coord_t>(), ri[1].as<Point::coord_t>()),
@@ -556,7 +556,7 @@
q += "valid_from <= " + tran.quote(tmax) + " and valid_to >= " + tran.quote(tmin);
if (!false)
std::cerr << "pg: sigmet query " << q << std::endl;
- pqxx::result r(tran.exec(q, "Briefing Pack SIGMET"));
+ pqxx::result r(tran.exec(q, std::string_view{"Briefing Pack SIGMET"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
if (!false)
std::cerr << "pg: sigmet for " << ri[0].as<std::string>() << " seq " << ri[8].as<std::string>()
--- vfrnav-20230429/carto/osm.cc.orig 2025-01-07 13:55:20.693183894 +0100
+++ vfrnav-20230429/carto/osm.cc 2025-01-07 13:56:31.305848028 +0100
@@ -1783,7 +1783,7 @@
"ST_AsBinary(ST_Transform(way,4326)) from planet_osm_point where way && " + get_queryrect(tran));
if (false)
std::cerr << "OSM query: " << qstr << std::endl;
- pqxx::result r(tran.exec(qstr, "Briefing Pack OSM"));
+ pqxx::result r(tran.exec(qstr, std::string_view{"Briefing Pack OSM"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
Tags tags;
tags.add_pg(to_str(ri[69]));
@@ -1894,7 +1894,7 @@
"ST_AsBinary(ST_Transform(way,4326)) from planet_osm_line where way && " + get_queryrect(tran));
if (false)
std::cerr << "OSM query: " << qstr << std::endl;
- pqxx::result r(tran.exec(qstr, "Briefing Pack OSM"));
+ pqxx::result r(tran.exec(qstr, std::string_view{"Briefing Pack OSM"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
Tags tags;
tags.add_pg(to_str(ri[68]));
@@ -2005,7 +2005,7 @@
"ST_AsBinary(ST_Transform(way,4326)) from planet_osm_roads where way && " + get_queryrect(tran));
if (false)
std::cerr << "OSM query: " << qstr << std::endl;
- pqxx::result r(tran.exec(qstr, "Briefing Pack OSM"));
+ pqxx::result r(tran.exec(qstr, std::string_view{"Briefing Pack OSM"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
Tags tags;
tags.add_pg(to_str(ri[68]));
@@ -2116,7 +2116,7 @@
"ST_AsBinary(ST_Transform(way,4326)) from planet_osm_polygon where way && " + get_queryrect(tran));
if (false)
std::cerr << "OSM query: " << qstr << std::endl;
- pqxx::result r(tran.exec(qstr, "Briefing Pack OSM"));
+ pqxx::result r(tran.exec(qstr, std::string_view{"Briefing Pack OSM"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
Tags tags;
tags.add_pg(to_str(ri[68]));
--- vfrnav-20230429/cfmu/adr.cc.orig 2026-01-30 12:46:50.497664549 +0100
+++ vfrnav-20230429/cfmu/adr.cc 2026-01-30 12:47:31.905992663 +0100
@@ -77,13 +77,13 @@
return u;
} catch (const std::runtime_error& e) {
}
- static const boost::uuids::uuid nsuuid = {
+ static const boost::uuids::uuid nsuuid = {{
0x5b, 0x20, 0xbd, 0x56,
0x73, 0x8d,
0x47, 0xcb,
0xb1, 0xea,
0x30, 0x0f, 0x31, 0x7e, 0x8b, 0x32
- };
+ }};
return from_str(nsuuid, x.substr(pfx));
}
@@ -95,13 +95,13 @@
UUID UUID::from_countryborder(const std::string& x)
{
- static const boost::uuids::uuid nsuuid = {
+ static const boost::uuids::uuid nsuuid = {{
0x00, 0xff, 0xf6, 0xf3,
0xff, 0xf5,
0x43, 0x74,
0x96, 0x3b,
0x0b, 0x8f, 0x11, 0x34, 0x22, 0xb9
- };
+ }};
return from_str(nsuuid, x);
}
--- vfrnav-20230429/cfmu/adrgraph.cc.orig 2026-01-30 12:46:57.341079989 +0100
+++ vfrnav-20230429/cfmu/adrgraph.cc 2026-01-30 12:47:44.106975328 +0100
@@ -154,10 +154,10 @@
const float GraphEdge::maxmetric = std::numeric_limits<float>::max();
const float GraphEdge::invalidmetric = std::numeric_limits<float>::quiet_NaN();
-const boost::uuids::uuid GraphEdge::matchalluuid = {
+const boost::uuids::uuid GraphEdge::matchalluuid = {{
0xb7, 0xc9, 0xbe, 0x9a, 0x2e, 0xcb, 0x49, 0x03,
0xb2, 0xd5, 0x58, 0xf9, 0xac, 0xbe, 0x36, 0x75
-};
+}};
const UUID GraphEdge::matchall(matchalluuid);
GraphEdge::GraphEdge(timetype_t tm, const Object::const_ptr_t& obj, unsigned int levels)
--- vfrnav-20230429/doc/flightdeck.tex.orig 2026-01-30 13:22:27.770429063 +0100
+++ vfrnav-20230429/doc/flightdeck.tex 2026-01-30 13:22:41.561489169 +0100
@@ -26,7 +26,7 @@
\else
\documentclass[a4paper,10pt,dvips]{article}
\fi
-\usepackage[german,english]{babel}
+\usepackage[english]{babel}
\selectlanguage{english}
\usepackage{graphicx}
\usepackage[isolatin]{inputenc}

202
vfrnav-octave-colors.patch Normal file
View file

@ -0,0 +1,202 @@
From 8b4a8056b9e2e7abcecef80dd29f58d5ff4d5f87 Mon Sep 17 00:00:00 2001
From: Thomas Sailer <sailer@tsailer.ch>
Date: Tue, 7 Jan 2025 12:21:15 +0100
Subject: remove octave numeric colors as they are no longer supported in
octave 9
diff --git a/doc/hamproptbl.m b/doc/hamproptbl.m
index 9fbb5e52..4a930668 100644
--- a/doc/hamproptbl.m
+++ b/doc/hamproptbl.m
@@ -49,14 +49,14 @@ endfor;
fprintf(ftbl, "\n};\n");
f=figure("visible","on");
-plot(afval,afcpc(1,:),"1+;CP 1;",...
- afval,afcpc(2,:),"2+;CP 2;",...
- afval,afctc(1,:),"3+;CT 1;",...
- afval,afctc(2,:),"4+;CT 2;",...
- min(afval):max(afval),polyval(afcpp(1,:),min(afval):max(afval)),"1-;CP J=0;",...
- min(afval):max(afval),polyval(afcpp(2,:),min(afval):max(afval)),"2-;CP J>=0.5;",...
- min(afval):max(afval),polyval(afctp(1,:),min(afval):max(afval)),"3-;CT J=0;",...
- min(afval):max(afval),polyval(afctp(2,:),min(afval):max(afval)),"4-;CT J>=0.5;");
+plot(afval,afcpc(1,:),"r+;CP 1;",...
+ afval,afcpc(2,:),"g+;CP 2;",...
+ afval,afctc(1,:),"b+;CT 1;",...
+ afval,afctc(2,:),"m+;CT 2;",...
+ min(afval):max(afval),polyval(afcpp(1,:),min(afval):max(afval)),"r-;CP J=0;",...
+ min(afval):max(afval),polyval(afcpp(2,:),min(afval):max(afval)),"g-;CP J>=0.5;",...
+ min(afval):max(afval),polyval(afctp(1,:),min(afval):max(afval)),"b-;CT J=0;",...
+ min(afval):max(afval),polyval(afctp(2,:),min(afval):max(afval)),"m-;CT J>=0.5;");
grid on;
xlabel("AF -- Activity Factor");
ylabel("CP/CT Factor");
@@ -64,10 +64,10 @@ title("CP/CT versus AF");
print(f, "propafcpct.eps","-depsc2","-portrait","-color");
f=figure("visible","on");
-plot(afval,afcpc(1,:)-polyval(afcpp(1,:),afval),"1+-;CP J=0 error;",...
- afval,afcpc(2,:)-polyval(afcpp(2,:),afval),"2+-;CP J>=0.5 error;",...
- afval,afctc(1,:)-polyval(afctp(1,:),afval),"3+-;CT J=0 error;",...
- afval,afctc(2,:)-polyval(afctp(2,:),afval),"4+-;CT J>=0.5 error;");
+plot(afval,afcpc(1,:)-polyval(afcpp(1,:),afval),"r+-;CP J=0 error;",...
+ afval,afcpc(2,:)-polyval(afcpp(2,:),afval),"g+-;CP J>=0.5 error;",...
+ afval,afctc(1,:)-polyval(afctp(1,:),afval),"b+-;CT J=0 error;",...
+ afval,afctc(2,:)-polyval(afctp(2,:),afval),"m+-;CT J>=0.5 error;");
grid on;
xlabel("AF -- Activity Factor");
ylabel("CP/CT Factor Approximation Error");
@@ -150,14 +150,14 @@ endfor;
fprintf(ftbl, "\n};\n\n");
f=figure("visible","on");
-plot(zjstal,cpstal(1,:),"1+;CPstall 2 Blade;",...
- zjstal,cpstal(2,:),"2+;CPstall 4 Blade;",...
- zjstal,cpstal(3,:),"3+;CPstall 6 Blade;",...
- zjstal,cpstal(4,:),"4+;CPstall 8 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(cpstalp(1,:),min(zjstal):0.1:max(zjstal)),"1-;CPstall 2 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(cpstalp(2,:),min(zjstal):0.1:max(zjstal)),"2-;CPstall 4 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(cpstalp(3,:),min(zjstal):0.1:max(zjstal)),"3-;CPstall 6 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(cpstalp(4,:),min(zjstal):0.1:max(zjstal)),"4-;CPstall 8 Blade;");
+plot(zjstal,cpstal(1,:),"r+;CPstall 2 Blade;",...
+ zjstal,cpstal(2,:),"g+;CPstall 4 Blade;",...
+ zjstal,cpstal(3,:),"b+;CPstall 6 Blade;",...
+ zjstal,cpstal(4,:),"m+;CPstall 8 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(cpstalp(1,:),min(zjstal):0.1:max(zjstal)),"r-;CPstall 2 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(cpstalp(2,:),min(zjstal):0.1:max(zjstal)),"g-;CPstall 4 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(cpstalp(3,:),min(zjstal):0.1:max(zjstal)),"b-;CPstall 6 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(cpstalp(4,:),min(zjstal):0.1:max(zjstal)),"m-;CPstall 8 Blade;");
grid on;
xlabel("ZJ");
ylabel("CP Stall");
@@ -165,10 +165,10 @@ title("CP Stall versus ZJ");
print(f,"propcpstal.eps","-depsc2","-portrait","-color");
f=figure("visible","on");
-plot(zjstal,cpstal(1,:)-polyval(cpstalp(1,:),zjstal),"1+-;CPstall 2 Blade error;",...
- zjstal,cpstal(2,:)-polyval(cpstalp(2,:),zjstal),"2+-;CPstall 4 Blade error;",...
- zjstal,cpstal(3,:)-polyval(cpstalp(3,:),zjstal),"3+-;CPstall 6 Blade error;",...
- zjstal,cpstal(4,:)-polyval(cpstalp(4,:),zjstal),"4+-;CPstall 8 Blade error;");
+plot(zjstal,cpstal(1,:)-polyval(cpstalp(1,:),zjstal),"r+-;CPstall 2 Blade error;",...
+ zjstal,cpstal(2,:)-polyval(cpstalp(2,:),zjstal),"g+-;CPstall 4 Blade error;",...
+ zjstal,cpstal(3,:)-polyval(cpstalp(3,:),zjstal),"b+-;CPstall 6 Blade error;",...
+ zjstal,cpstal(4,:)-polyval(cpstalp(4,:),zjstal),"m+-;CPstall 8 Blade error;");
grid on;
xlabel("ZJ");
ylabel("CP Stall Approximation Error");
@@ -176,14 +176,14 @@ title("CP Stall versus ZJ Approximation Error");
print(f,"propcpstalerr.eps","-depsc2","-portrait","-color");
f=figure("visible","on");
-plot(zjstal,ctstal(1,:),"1+;CTstall 2 Blade;",...
- zjstal,ctstal(2,:),"2+;CTstall 4 Blade;",...
- zjstal,ctstal(3,:),"3+;CTstall 6 Blade;",...
- zjstal,ctstal(4,:),"4+;CTstall 8 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(ctstalp(1,:),min(zjstal):0.1:max(zjstal)),"1-;CTstall 2 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(ctstalp(2,:),min(zjstal):0.1:max(zjstal)),"2-;CTstall 4 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(ctstalp(3,:),min(zjstal):0.1:max(zjstal)),"3-;CTstall 6 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(ctstalp(4,:),min(zjstal):0.1:max(zjstal)),"4-;CTstall 8 Blade;");
+plot(zjstal,ctstal(1,:),"r+;CTstall 2 Blade;",...
+ zjstal,ctstal(2,:),"g+;CTstall 4 Blade;",...
+ zjstal,ctstal(3,:),"b+;CTstall 6 Blade;",...
+ zjstal,ctstal(4,:),"m+;CTstall 8 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(ctstalp(1,:),min(zjstal):0.1:max(zjstal)),"r-;CTstall 2 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(ctstalp(2,:),min(zjstal):0.1:max(zjstal)),"g-;CTstall 4 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(ctstalp(3,:),min(zjstal):0.1:max(zjstal)),"b-;CTstall 6 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(ctstalp(4,:),min(zjstal):0.1:max(zjstal)),"m-;CTstall 8 Blade;");
grid on;
xlabel("ZJ");
ylabel("CT Stall");
@@ -191,10 +191,10 @@ title("CT Stall versus ZJ");
print(f,"propctstal.eps","-depsc2","-portrait","-color");
f=figure("visible","on");
-plot(zjstal,ctstal(1,:)-polyval(ctstalp(1,:),zjstal),"1+-;CTstall 2 Blade error;",...
- zjstal,ctstal(2,:)-polyval(ctstalp(2,:),zjstal),"2+-;CTstall 4 Blade error;",...
- zjstal,ctstal(3,:)-polyval(ctstalp(3,:),zjstal),"3+-;CTstall 6 Blade error;",...
- zjstal,ctstal(4,:)-polyval(ctstalp(4,:),zjstal),"4+-;CTstall 8 Blade error;");
+plot(zjstal,ctstal(1,:)-polyval(ctstalp(1,:),zjstal),"r+-;CTstall 2 Blade error;",...
+ zjstal,ctstal(2,:)-polyval(ctstalp(2,:),zjstal),"g+-;CTstall 4 Blade error;",...
+ zjstal,ctstal(3,:)-polyval(ctstalp(3,:),zjstal),"b+-;CTstall 6 Blade error;",...
+ zjstal,ctstal(4,:)-polyval(ctstalp(4,:),zjstal),"m+-;CTstall 8 Blade error;");
grid on;
xlabel("ZJ");
ylabel("CT Stall Approximation Error");
diff --git a/doc/p28rperf.m b/doc/p28rperf.m
index c4b1e7f2..147da3e6 100644
--- a/doc/p28rperf.m
+++ b/doc/p28rperf.m
@@ -113,12 +113,12 @@ io360altperf=[0 200 176 0 ;
alt=0:100:18000;
[p t rho]=icaoatmo(alt);
clf;
-plot(io360altperf(io360altperf(:,2)>0,2),io360altperf(io360altperf(:,2)>0,1),"+1;RPM=2700;",...
- io360altperf(io360altperf(:,3)>0,3),io360altperf(io360altperf(:,3)>0,1),"+2;RPM=2400;",...
- io360altperf(io360altperf(:,4)>0,4),io360altperf(io360altperf(:,4)>0,1),"+3;RPM=2100;",...
- P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C),alt,"-1;RPM=2700;",...
- P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2400/2700)^1.13,alt,"-2;RPM=2400;",...
- P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2100/2700)^1.13,alt,"-3;RPM=2100;");
+plot(io360altperf(io360altperf(:,2)>0,2),io360altperf(io360altperf(:,2)>0,1),"+r;RPM=2700;",...
+ io360altperf(io360altperf(:,3)>0,3),io360altperf(io360altperf(:,3)>0,1),"+g;RPM=2400;",...
+ io360altperf(io360altperf(:,4)>0,4),io360altperf(io360altperf(:,4)>0,1),"+b;RPM=2100;",...
+ P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C),alt,"-r;RPM=2700;",...
+ P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2400/2700)^1.13,alt,"-g;RPM=2400;",...
+ P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2100/2700)^1.13,alt,"-b;RPM=2100;");
title("IO-360-C Engine Full Throttle SHP versus Altitude");
xlabel("Shaft Horse Power");
ylabel("Altitude [ft]");
@@ -137,12 +137,12 @@ for tt=1:3;
x=x/sum(x);
RPMC(tt)=(x(1)-1)/x(1);
endfor;
-plot(rho1(io360altperf(:,2)>0)/rho1(1),io360altperf(io360altperf(:,2)>0,2),"+1;RPM=2700;",...
- rho1(io360altperf(:,3)>0)/rho1(1),io360altperf(io360altperf(:,3)>0,3),"+2;RPM=2400;",...
- rho1(io360altperf(:,4)>0)/rho1(1),io360altperf(io360altperf(:,4)>0,4),"+3;RPM=2100;",...
- rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C),"-1;RPM=2700;",...
- rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2400/2700)^1.13,"-2;RPM=2400;",...
- rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2100/2700)^1.13,"-3;RPM=2100;");
+plot(rho1(io360altperf(:,2)>0)/rho1(1),io360altperf(io360altperf(:,2)>0,2),"+r;RPM=2700;",...
+ rho1(io360altperf(:,3)>0)/rho1(1),io360altperf(io360altperf(:,3)>0,3),"+g;RPM=2400;",...
+ rho1(io360altperf(:,4)>0)/rho1(1),io360altperf(io360altperf(:,4)>0,4),"+b;RPM=2100;",...
+ rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C),"-r;RPM=2700;",...
+ rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2400/2700)^1.13,"-g;RPM=2400;",...
+ rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2100/2700)^1.13,"-b;RPM=2100;");
title("IO-360-C Engine Full Throttle SHP versus Altitude");
xlabel("Relative Density [relative]");
ylabel("Shaft Horse Power");
@@ -512,6 +512,7 @@ for plimidx=1:2;
ROD=zeros(length(vc),size(alt,2));
rpm=zeros(length(vc),size(alt,2));
dist=zeros(length(vc),size(alt,2));
+ col=jet(length(vc));
clf;
for vci=1:length(vc);
D=0.5*CD0*vc(vci)^2*mph_to_ftps^2*rho0*S+W^2./(0.5*vc(vci)^2*mph_to_ftps^2*rho0*S*pi*A*ee);
@@ -521,7 +522,7 @@ for plimidx=1:2;
ROD(vci,:)=vc(vci)*mph_to_kts*nmi_to_ft/60*sqrt(rho(1)./rho)/W.*(D-T);
#dist(vci,2:length(alt))=cumsum((alt(2:length(alt))-alt(1:length(alt)-1))./ROD(vci,1:length(alt)-1)/60*vc(vci).*sqrt(rho(1)./rho(1:length(alt)-1)));
dist(vci,2:length(alt))=cumsum((alt(2:length(alt))-alt(1:length(alt)-1))*W./(D-T)(1:length(alt)-1))/(mph_to_kts*nmi_to_ft);
- plot(ROD(vci,:),alt,sprintf("%u;VCAS=%5.1fMPH;",vci*2-1,vc(vci)));
+ plot(ROD(vci,:),alt,sprintf(";VCAS=%5.1fMPH;",vc(vci)),"color",col(vci,:));
hold on;
endfor;
hold off;
@@ -535,7 +536,7 @@ for plimidx=1:2;
clf;
for vci=1:length(vc);
- plot(dist(vci,:),alt,sprintf("%u;VCAS=%5.1fMPH;",vci*2-1,vc(vci)));
+ plot(dist(vci,:),alt,sprintf(";VCAS=%5.1fMPH;",vc(vci)),"color",col(vci,:));
hold on;
endfor;
hold off;
@@ -549,7 +550,7 @@ for plimidx=1:2;
clf;
for vci=1:length(vc);
- plot(rpm(vci,:),alt,sprintf("%u;VCAS=%5.1fMPH;",vci*2-1,vc(vci)));
+ plot(rpm(vci,:),alt,sprintf(";VCAS=%5.1fMPH;",vc(vci)),"color",col(vci,:));
hold on;
endfor;
hold off;

View file

@ -1,11 +1,16 @@
Name: vfrnav
Version: 20230429
Release: 7%{?dist}
Release: 37%{?dist}
Summary: VFR/IFR Navigation
License: GPL-2.0-or-later
URL: https://gitlab.com/tsailer/vfrnav/
Source0: https://gitlab.com/tsailer/vfrnav/-/archive/%{version}/%{name}-%{version}.tar.bz2
Source: https://gitlab.com/tsailer/vfrnav/-/archive/%{version}/%{name}-%{version}.tar.bz2
Patch: vfrnav-octave-colors.patch
Patch: vfrnav-compile.patch
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
%bcond_without webservice
%bcond_with wetterdl
@ -100,7 +105,7 @@ Requires: texlive-xstring
Requires: texlive-hyphenat
Requires: tex(t2aenc.def)
Requires: texlive-lh
Requires: texlive-xetex-def
Requires: texlive-xetex
Requires: texlive-framed
Requires: texlive-polyglossia
Requires: texlive-multirow
@ -236,6 +241,11 @@ This package contains a webservice for the CFMU Autorouter.
%autosetup -p1
autoreconf -fiv
# Create a sysusers.d config file
cat >vfrnav.sysusers.conf <<EOF
u vfrnav - 'Special user account to be used by vfrnav cfmuautoroute/cfmuvalidate services' /var/lib/vfrnav -
EOF
%build
CXXFLAGS=`echo %optflags | sed -e 's/-O2//'`
export CXXFLAGS
@ -313,11 +323,8 @@ rm -f $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/32x32/apps/wetterdl.png
rm -f $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/wetterdl.png
%endif
%pre validatorservice
getent group vfrnav &>/dev/null || groupadd -r vfrnav
getent passwd vfrnav &>/dev/null || \
useradd -g vfrnav -d /var/lib/vfrnav -M -r -s /sbin/nologin \
-c "Special user account to be used by vfrnav cfmuautoroute/cfmuvalidate services" vfrnav
install -m0644 -D vfrnav.sysusers.conf %{buildroot}%{_sysusersdir}/vfrnav.conf
%post selinux
/usr/sbin/semodule -i %{_datadir}/selinux/packages/%{name}/%{name}.pp >/dev/null 2>&1 || :
@ -458,6 +465,7 @@ fi
%dir %attr(0755,vfrnav,vfrnav) /run/vfrnav
%dir %attr(0750,vfrnav,vfrnav) /run/vfrnav/validator
%dir %attr(0750,vfrnav,vfrnav) /var/lib/vfrnav
%{_sysusersdir}/vfrnav.conf
%files selinux
%{_datadir}/selinux/packages/%{name}/vfrnav.pp
@ -473,6 +481,96 @@ fi
%endif
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Fri Jun 19 2026 Sandro Mani <manisandro@gmail.com> - 20230429-36
- Rebuild (gdal)
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 20230429-35
- Rebuilt for openssl 4.0
* Sun Mar 22 2026 Björn Esser <besser82@fedoraproject.org> - 20230429-34
- Rebuild (jsoncpp)
* Fri Feb 27 2026 Orion Poplawski <orion@nwra.com> - 20230429-33
- Rebuild for octave 11.1
* Wed Feb 18 2026 Thomas Sailer <fedora@tsailer.ch> - 20230429-32
- fix requires
* Sun Jan 25 2026 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 20230429-31
- Drop support for i686
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Jan 14 2026 Jitka Plesnikova <jplesnik@redhat.com> - 20230429-29
- Rebuild for new gpsd
* Sun Nov 23 2025 Sandro Mani <manisandro@gmail.com> - 20230429-28
- Rebuild (gdal)
* Tue Oct 28 2025 Sandro Mani <manisandro@gmail.com> - 20230429-27
- Rebuild (geos)
* Wed Sep 03 2025 Sandro Mani <manisandro@gmail.com> - 20230429-26
- Rebuild (geos)
* Thu Aug 07 2025 Orion Poplawski <orion@nwra.com> - 20230429-25
- Rebuild for Octave 10.2
* Tue Jul 29 2025 Sandro Mani <manisandro@gmail.com> - 20230429-24
- Rebuild (gdal)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue May 27 2025 Remi Collet <remi@fedoraproject.org> - 20230429-22
- rebuild for new gpsd
* Wed Mar 05 2025 Sandro Mani <manisandro@gmail.com> - 20230429-21
- Rebuild (geos)
* Thu Feb 27 2025 Björn Esser <besser82@fedoraproject.org> - 20230429-20
- Rebuild (jsoncpp)
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 20230429-19
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Sun Feb 02 2025 Orion Poplawski <orion@nwra.com> - 20230429-18
- Rebuild with gsl 2.8
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Jan 07 2025 Thomas Sailer <fedora@tsailer.ch> - 20230429-16
- fixes for octave 9
* Mon Dec 23 2024 Björn Esser <besser82@fedoraproject.org> - 20230429-15
- Rebuild (libpqxx)
* Thu Nov 14 2024 Orion Poplawski <orion@nwra.com> - 20230429-14
- Rebuild for octave 9.2
* Fri Nov 08 2024 Sandro Mani <manisandro@gmail.com> - 20230429-13
- Rebuild (gdal)
* Fri Oct 25 2024 Orion Poplawski <orion@nwra.com> - 20230429-12
- Rebuild for yaml-cpp 0.8
* Tue Sep 10 2024 Sandro Mani <manisandro@gmail.com> - 20230429-11
- Rebuild (geos)
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jun 06 2024 Sandro Mani <manisandro@gmail.com> - 20230429-9
- Rebuild (geos)
* Mon May 13 2024 Sandro Mani <manisandro@gmail.com> - 20230429-8
- Rebuild (gdal)
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild