diff --git a/.gitignore b/.gitignore index ca3be97..7fe1255 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,2 @@ -/harmonics-dwf-20131228-free.tar.bz2 -/xtide-2.14-dev-20140504.tar.bz2 -/xtide-2.14-dev-20140622.tar.bz2 -/xtide-2.14-dev-20141014.tar.bz2 -/xtide-2.14.tar.bz2 -/harmonics-dwf-20141224-free.tar.bz2 -/harmonics-dwf-20151227-free.tar.bz2 -/systemd-patch.tar.gz -/configure.ac.temp.tar.gz -/xtide-2.15-dev-20160105.tar.bz2 -/xtide-2.15-dev-20160114.tar.bz2 -/xtide-2.15.tar.bz2 -/xtide-2.15.1.tar.bz2 -/harmonics-dwf-20161231-free.tar.bz2 +/xtide-*.tar.xz +/harmonics-dwf-*.tar.xz diff --git a/noautobuild b/noautobuild deleted file mode 100644 index c6262a9..0000000 --- a/noautobuild +++ /dev/null @@ -1 +0,0 @@ -Will rebuild with small fix diff --git a/sources b/sources index 41a4ba8..820be91 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (xtide-2.15.1.tar.bz2) = 3951d5c797981fd4a0396d21830241a700d0f6c7a21694addf7df14f4b3864fbeecb6d352f075a7ccd1c15f8c6b7ddee6ddd501a2699165a9432e8e8dcc0a448 -SHA512 (harmonics-dwf-20161231-free.tar.bz2) = a9e5cf2adeef45ba0c842e534e2ada3e0ff202f0d2ca2a7b0186da09d61876feee6d47fa6208e6ae5f687f3896d678f4ce6bfe5a111e6cc0d7bb5c8e793f2351 +SHA512 (xtide-2.15.6.tar.xz) = cd24908a9f4541ab2b19444dba54aab92310e49d2ba0321d9bbcde9806d7cc975828cc5f22fe0a1a73cebf96f4ad1ccd1530c016e8b22f7d54675aeff9528c82 +SHA512 (harmonics-dwf-20251228-free.tar.xz) = d7710c2f0fcaf32ca8e017f073912db5e4d344dbc1710c2709766232d0c77d08b4cec65418f9c7196bb792271f0136a8a9fb59de021e8d4c0ad66c2c558ae87b diff --git a/xtide-2.12.1-rcscript-pidfile.patch b/xtide-2.12.1-rcscript-pidfile.patch deleted file mode 100644 index 8e9d508..0000000 --- a/xtide-2.12.1-rcscript-pidfile.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- xtide-2.12.1/scripts/Fedora/rc.xttpd.pid 2006-11-25 07:03:03.000000000 +0900 -+++ xtide-2.12.1/scripts/Fedora/rc.xttpd 2012-03-05 10:41:04.283973613 +0900 -@@ -13,6 +13,7 @@ - CONFIG=/etc/sysconfig/xttpd - - LOCK=/var/lock/subsys/xttpd -+PIDFILE=/var/run/xttpd.pid - - # Source function library. - . /etc/rc.d/init.d/functions -@@ -39,15 +40,23 @@ - RETVAL=1 - return $RETVAL - fi -+ if pgrep -U xttpd -f $PROG ; then -+ echo -n $"daemon already running." -+ failure -+ echo -+ RETVAL=1 -+ return $RETVAL -+ fi - - if test "$XTTPD_FEEDBACK"; then -- daemon $DAEMON $PORT XTTPD_FEEDBACK=$XTTPD_FEEDBACK HOME=$HOME -+ $DAEMON $PORT XTTPD_FEEDBACK=$XTTPD_FEEDBACK HOME=$HOME - RETVAL=$? - else -- daemon $DAEMON $PORT HOME=$HOME -+ $DAEMON $PORT HOME=$HOME - RETVAL=$? - fi - [ $RETVAL -eq 0 ] && touch $LOCK -+ [ $RETVAL -eq 0 ] && pgrep -U xttpd -f $PROG > $PIDFILE - echo - return $RETVAL - } -@@ -57,6 +66,7 @@ - killproc $DAEMON - RETVAL=$? - [ $RETVAL -eq 0 ] && rm -f $LOCK -+ [ $RETVAL -eq 0 ] && rm -f $PIDFILE - echo - return $RETVAL - } diff --git a/xtide-2.15.4-gpsd7.patch b/xtide-2.15.4-gpsd7.patch new file mode 100644 index 0000000..aee761a --- /dev/null +++ b/xtide-2.15.4-gpsd7.patch @@ -0,0 +1,37 @@ +--- xtide-2.15.4.oldgps/configure.ac 2022-02-12 05:45:25.000000000 +0900 ++++ xtide-2.15.4/configure.ac 2022-05-05 23:27:20.324043017 +0900 +@@ -471,19 +471,19 @@ AC_CHECK_HEADER([Dstr], [AC_CHECK_LIB([d + AM_CONDITIONAL(NO_LIBDSTR, test "$ac_cv_lib_dstr_DstrCompat20070215Check" != "yes") + + # libgps is optional; use it if you have a compatible version. +-AC_CHECK_HEADER([gps.h], [AC_CHECK_LIB([gps], [timestamp], [ +- AC_MSG_CHECKING([if libgps is 3.x or newer, compatible version]) ++AC_CHECK_HEADER([gps.h], [AC_CHECK_LIB([gps], [gps_open], [ ++ AC_MSG_CHECKING([if libgps is 3.18 or newer, compatible version]) + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[ + #include +-#if (GPSD_API_MAJOR_VERSION < 5) ++#if (GPSD_API_MAJOR_VERSION < 7) + #FAIL + #endif + int main (int argc, char **argv) { + struct gps_data_t gpsdata; + gps_open ("127.0.0.1", "2947", &gpsdata); + gps_stream (&gpsdata, WATCH_ENABLE|WATCH_NEWSTYLE, NULL); +- gps_read (&gpsdata); ++ gps_read (&gpsdata, NULL, 0); + return (gpsdata.fix.mode >= MODE_2D); + } + ]])], +--- xtide-2.15.4.oldgps/xxGlobal.cc 2014-10-12 04:42:10.000000000 +0900 ++++ xtide-2.15.4/xxGlobal.cc 2022-05-05 23:25:58.866053595 +0900 +@@ -66,7 +66,7 @@ void PositioningSystem (Coordinates &cur + // gps_clear_fix (&gpsdata->fix); + time_t before (time(NULL)); + while (time(NULL) < before+2) { +- if (gps_read (&gpsdata) < 0) { ++ if (gps_read (&gpsdata, nullptr, 0) < 0) { + fprintf (stderr, "Warning: gps_read failed; giving up on GPS\n"); + gps_close (&gpsdata); + gps_on = false; diff --git a/xtide.spec b/xtide.spec index 944fb77..41061d0 100644 --- a/xtide.spec +++ b/xtide.spec @@ -1,26 +1,26 @@ -%define mainver 2.15.1 +%define mainver 2.15.6 #%%define betatag dev-20160114 -%define dwfdate 20161231 +%define dwfdate 20251228 -%global use_systemd_unit 1 -%if 0%{?fedora} <= 23 -%global use_systemd_unit 0 +%define baserelease 4 + + +%define rel %{?betatag:0.}%{baserelease}%{?betatag:.%(echo %betatag | sed -e 's|-||g')} + +%if 0%{?fedora} >= 42 +%global use_systemd_sysusers 1 +%else +# Drop this when F41 gets EOF +%global use_systemd_sysusers 0 %endif - -%define fedorarel 2 - - -%define rel %{?betatag:0.}%{fedorarel}%{?betatag:.%(echo %betatag | sed -e 's|-||g')} - - Summary: Calculate tide all over the world Name: xtide Version: %{mainver} Release: %{rel}%{?dist} URL: http://www.flaterco.com/xtide/ -Source0: ftp://ftp.flaterco.com/xtide/%{name}-%{version}%{?betatag:-%betatag}.tar.bz2 +Source0: https://flaterco.com/files/xtide/%{name}-%{version}%{?betatag:-%betatag}.tar.xz Source14: xtide-get_harmonics-data.sh Source20: %{name}.desktop @@ -33,14 +33,14 @@ Source30: xtide-README.fedora # Upstream now splitted free and non-free harmonics data # #Source40: Harminics-USpart-recreate-sh.tar.bz2 -#Source41: harmonics-dwf-%{dwfdate}-dump-US.tar.bz2 -Source42: ftp://ftp.flaterco.com/xtide/harmonics-dwf-%{dwfdate}-free.tar.bz2 -# new systemd ( >= 37.4? ) needs pidfile -Patch0: xtide-2.12.1-rcscript-pidfile.patch +#Source41: harmonics-dwf-%%{dwfdate}-dump-US.tar.bz2 +Source42: https://flaterco.com/files/xtide/harmonics-dwf-%{dwfdate}-free.tar.xz -License: GPLv3+ -Group: Applications/Engineering +# Automatically converted from old format: GPLv3+ - review is highly recommended. +License: GPL-3.0-or-later +BuildRequires: make +BuildRequires: gcc-c++ BuildRequires: libXaw-devel BuildRequires: libXext-devel BuildRequires: libpng-devel @@ -49,10 +49,8 @@ BuildRequires: desktop-file-utils BuildRequires: libdstr-devel BuildRequires: libtcd-devel BuildRequires: gpsd-devel >= 3 -%if %{?use_systemd_unit} BuildRequires: systemd BuildRequires: systemd-devel -%endif # By SOURCE1 BuildRequires: automake BuildRequires: autoconf @@ -60,40 +58,37 @@ BuildRequires: libtool # By SOURCE3 BuildRequires: byacc BuildRequires: flex +# Explicit for %%PATCH1 +BuildRequires: %{_bindir}/pkg-config Requires: wvs-data -Requires: xorg-x11-fonts-base +Requires: xorg-x11-fonts-misc Requires: xtide-common = %{version}-%{release} Requires: libxtide%{?_isa} = %{version}-%{release} +%if ! %{use_systemd_sysusers} Requires(pre): shadow-utils -%if %{?use_systemd_unit} +%endif Requires(preun): systemd Requires(postun): systemd Requires(post): systemd -%else -Requires(preun): /sbin/service -Requires(preun): /sbin/chkconfig -Requires(postun): /sbin/service -Requires(post): /sbin/chkconfig -%endif %package -n libxtide Summary: XTide library -Group: System Environment/Libraries -License: GPLv3+ +# Automatically converted from old format: GPLv3+ - review is highly recommended. +License: GPL-3.0-or-later %package -n libxtide-devel Summary: Development files for libxtide -Group: Development/Libraries -License: GPLv3+ +# Automatically converted from old format: GPLv3+ - review is highly recommended. +License: GPL-3.0-or-later Requires: libxtide%{?_isa} = %{version}-%{release} %package common Summary: Xtide common files -Group: Applications/Engineering -License: Public Domain +# Automatically converted from old format: Public Domain - needs further work +License: LicenseRef-Callaway-Public-Domain Requires: bzip2 Requires: wget BuildArch: noarch @@ -148,7 +143,7 @@ sed -i scripts/systemd/xttpd.socket \ cat > scripts/systemd/xttpd.service.conf <' . | while read f ; do sed -i.name -e 's|\(include.*\)|\1|' $f done -%patch0 -p1 -b .pid - # Embed version sed -i.ver \ -e "\@^PACKAGE_VERSION=@s|'.*'$|'%{version}-%{release}'|" \ @@ -170,26 +163,32 @@ sed -i.ver \ -e "\@^[ \t]*VERSION=@s|'.*'$|'%{version}-%{release}'|" \ configure -# Check if GCC bug 43905 for 4.5.x branch is fixed -sed -i.ipa_sra -e '/ipa-sra/d' configure +# Kill rpath, ah! +sed -i.rpath configure \ + -e 's|hardcode_libdir_flag_spec=|kill_hardcode_libdir_flag_spec=|' \ + -e 's|hardcode_libdir_flag_spec_CXX=|kill_hardcode_libdir_flag_spec_CXX=|' \ + %{nil} +sed -i.rpath ltmain.sh \ + -e 's|\$finalize_rpath|\$finalize_no_rpath|' \ + %{nil} + +%if %{use_systemd_sysusers} +# Create a sysusers.d config file +cat >xtide.sysusers.conf < %{name}.conf @@ -203,9 +202,6 @@ echo "%{_datadir}/wvs-data/" >> %{name}.conf install %{__mkdir_p} $RPM_BUILD_ROOT%{_sbindir} -%if ! 0%{?use_systemd_unit} -%{__mkdir_p} $RPM_BUILD_ROOT%{_libexecdir} -%endif # xttpd treatment # xttpd is wrapped @@ -214,19 +210,12 @@ echo "%{_datadir}/wvs-data/" >> %{name}.conf %{__install} -c -p -m 755 xtide-get_harmonics-data.sh \ $RPM_BUILD_ROOT%{_sbindir} -%if ! 0%{?use_systemd_unit} -%{__mv} $RPM_BUILD_ROOT%{_sbindir}/xttpd $RPM_BUILD_ROOT%{_libexecdir} -%{__install} -c -p -m 755 scripts/Fedora/xttpd-wrapper.sh \ - $RPM_BUILD_ROOT%{_sbindir}/xttpd -%endif - # ensure xttpd binary installation directory (original # wrapper script is hardcorded) %{__sed} -i -e 's|/usr/libexec|%{_libexecdir}|' \ $RPM_BUILD_ROOT%{_sbindir}/xttpd # Install systemd unit file -%if 0%{?use_systemd_unit} %{__mkdir_p} ${RPM_BUILD_ROOT}%{_unitdir} %{__install} -c -p -m 644 \ scripts/systemd/xttpd.socket \ @@ -242,7 +231,6 @@ echo "%{_datadir}/wvs-data/" >> %{name}.conf %{__install} -c -p -m 644 \ scripts/systemd/xttpd.socket \ $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/xttpd.socket -%endif # 1A Install harmonics file %{__mkdir_p} ${RPM_BUILD_ROOT}%{_datadir}/%{name} @@ -255,9 +243,6 @@ echo "%{_datadir}/wvs-data/" >> %{name}.conf # 1C Add desktop entry (xtide) %{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/applications desktop-file-install \ -%if 0%{?fedora} < 19 - --vendor fedora \ -%endif --dir $RPM_BUILD_ROOT%{_datadir}/applications \ %{SOURCE20} @@ -277,13 +262,6 @@ done %{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig %{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/xtide -%if ! 0%{?use_systemd_unit} -%{__install} -c -p -m 755 scripts/Fedora/rc.xttpd \ - $RPM_BUILD_ROOT%{_initddir}/xttpd -%{__install} -c -p -m 644 scripts/Fedora/xttpd.conf \ - $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/xttpd -%endif - # 1F and others %{__install} -c -p -m 644 %{SOURCE30} README.fedora @@ -305,32 +283,21 @@ cp -a harmonics-dwf-%{dwfdate}/[A-Z]* \ # 3 cleanup rm -rf $RPM_BUILD_ROOT%{_libdir}/libxtide.{a,la} -%post -touch --no-create %{_datadir}/icons/hicolor || : - -%if 0%{?use_systemd_unit} -%systemd_post xttpd.socket xttpd.service -%else -/sbin/chkconfig --add xttpd +%if %{use_systemd_sysusers} +install -m0644 -D xtide.sysusers.conf %{buildroot}%{_sysusersdir}/xtide.conf %endif + +%post +%systemd_post xttpd.socket xttpd.service exit 0 %postun -%if 0%{?use_systemd_unit} %systemd_postun xttpd.socket xttpd.service -%else -if [ $1 -ge 1 ] ; then - /sbin/service xttpd condrestart &>/dev/null || : -fi -%endif -[ $1 -eq 0 ] || exit 0 - -touch --no-create %{_datadir}/icons/hicolor || : -%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : exit 0 %pre +%if ! %{use_systemd_sysusers} getent group xttpd &>/dev/null || \ %{_sbindir}/groupadd -r xttpd getent passwd xttpd &> /dev/null || \ @@ -341,25 +308,14 @@ getent passwd xttpd &> /dev/null || \ -r \ -s /sbin/nologin \ xttpd 2>/dev/null -exit 0 - -%preun -%if 0%{?use_systemd_unit} -%systemd_preun xttpd.socket xttpd.service -%else -if [ $1 = 0 ] ; then - /sbin/service xttpd stop &>/dev/null - /sbin/chkconfig --del xttpd -fi %endif exit 0 -%posttrans -%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +%preun +%systemd_preun xttpd.socket xttpd.service exit 0 -%post -n libxtide -p /sbin/ldconfig -%postun -n libxtide -p /sbin/ldconfig +%ldconfig_scriptlets -n libxtide %files common %doc README.fedora @@ -376,7 +332,7 @@ exit 0 %{_datadir}/%{name}-harmonics/*.tcd %files -n libxtide -%{_libdir}/libxtide.so.1* +%{_libdir}/libxtide.so.1{,.*} %files -n libxtide-devel %{_libdir}/libxtide.so @@ -386,7 +342,6 @@ exit 0 %defattr(-,root,root,-) %doc AUTHORS README README-QUICK -%doc scripts/DOS/.xtide.xml %license COPYING # xtide %{_mandir}/man1/*tide.1* @@ -398,26 +353,130 @@ exit 0 %{_bindir}/*tide # xttpd -%if 0%{?use_systemd_unit} %config(noreplace) %{_sysconfdir}/sysconfig/xttpd.service.conf %config(noreplace) %{_sysconfdir}/sysconfig/xttpd.socket -%else -%config(noreplace) %{_sysconfdir}/sysconfig/xttpd -%endif -%if 0%{?use_systemd_unit} %{_unitdir}/xttpd.service %{_unitdir}/xttpd.socket -%else -%{_initddir}/xttpd -%endif %{_sbindir}/xttpd -%if ! 0%{?use_systemd_unit} -%{_libexecdir}/xttpd -%endif %{_datadir}/man/man8/xttpd.8* +%if %{use_systemd_sysusers} +%{_sysusersdir}/xtide.conf +%endif %changelog +* Wed Jan 14 2026 Jitka Plesnikova - 2.15.6-4 +- Rebuild for new gpsd + +* Mon Dec 29 2025 Mamoru TASAKA - 2.15.6-3 +- Update harmonics data to 20251228 + +* Fri Jul 25 2025 Fedora Release Engineering - 2.15.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jun 29 2025 Mamoru TASAKA - 2.15.6-1 +- 2.15.6 + +* Tue May 27 2025 Remi Collet - 2.15.5-11 +- rebuild for new gpsd + +* Thu Feb 13 2025 Mamoru TASAKA - 2.15.5-10 +- Only apply Systemd Sysusers.d usage for F-42+ + +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 2.15.5-10 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Sun Jan 19 2025 Fedora Release Engineering - 2.15.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Dec 30 2024 Mamoru TASAKA - 2.15.5-8 +- Update harmonics data to 20241229 + +* Thu Jul 25 2024 Miroslav Suchý - 2.15.5-7 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 2.15.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 2.15.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 6 2024 Mamoru TASAKA - 2.15.5-4 +- harmonics data update (20240104) + +* Sat Jul 22 2023 Mamoru TASAKA - 2.15.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jan 24 2023 Adam Williamson - 2.15.5-2 +- rebuild for new libgps + +* Sat Jan 21 2023 Fedora Release Engineering - 2.15.5-1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.15.5-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu May 12 2022 Mamoru TASAKA - 2.15.5-1 +- 2.15.5 + +* Thu May 5 2022 Mamoru TASAKA - 2.15.4-2 +- Modify configure.ac to detect gpsd API version >=7 (version 3.18) + +* Tue Feb 15 2022 Mamoru TASAKA - 2.15.4-1 +- 2.15.4 + +* Sun Feb 6 2022 Mamoru TASAKA - 2.15.3-4 +- Patch for libXaw 1.0.14 XawListChange API change + +* Sun Feb 6 2022 Mamoru TASAKA - 2.15.3-3 +- harmonics data update (20220109) + +* Sun Jul 25 2021 Mamoru TASAKA - 2.15.3-2.2 +- Rebuild for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Mar 02 2021 Peter Hutterer - 2.15.3-2.1 +- Require xorg-x11-fonts-misc instead of -base. -base hasn't existed for + over a decade. + +* Sat Jan 30 2021 Mamoru TASAKA - 2.15.3-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Aug 9 2020 Mamoru TASAKA - 2.15.3-1 +- 2.15.3 + +* Fri Aug 07 2020 Mamoru TASAKA - 2.15.2-2.1 +- F-33: mass rebuild + +* Tue Jan 28 2020 Mamoru TASAKA - 2.15.2-2 +- harmonics data update (20191229) + +* Tue Feb 26 2019 Mamoru TASAKA - 2.15.2-1 +- 2.15.2 + +* Tue Feb 05 2019 Mamoru TASAKA - 2.15.1-7.1 +- F-30: mass rebuild + +* Wed Jan 2 2019 Mamoru TASAKA - 2.15.1-7 +- harmonics data update (20181227) + +* Mon Jul 15 2018 Mamoru TASAKA - 2.15.1-6 +- F-29: mass rebuild + +* Thu Feb 15 2018 Mamoru TASAKA - 2.15.1-5 +- harmonics data update (20180101) + +* Thu Jan 18 2018 Igor Gnatenko - 2.15.1-4.1 +- Remove obsolete scriptlets + +* Fri Sep 22 2017 Mamoru TASAKA - 2.15.1-4 +- F-28: rebuild for gpsd + +* Mon May 15 2017 Fedora Release Engineering - 2.15.1-3.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + +* Wed Feb 15 2017 Mamoru TASAKA - 2.15.1-3 +- F-26: mass rebuild + * Mon Jan 2 2017 Mamoru TASAKA - 2.15.1-2 - harmonics data update