diff --git a/.gitignore b/.gitignore index 7fe1255..673f69f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,17 @@ -/xtide-*.tar.xz -/harmonics-dwf-*.tar.xz +/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 +/harmonics-dwf-20180101-free.tar.bz2 +/harmonics-dwf-20181227-free.tar.bz2 +/xtide-2.15.2.tar.bz2 diff --git a/noautobuild b/noautobuild new file mode 100644 index 0000000..c6262a9 --- /dev/null +++ b/noautobuild @@ -0,0 +1 @@ +Will rebuild with small fix diff --git a/sources b/sources index 820be91..b022f84 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (xtide-2.15.6.tar.xz) = cd24908a9f4541ab2b19444dba54aab92310e49d2ba0321d9bbcde9806d7cc975828cc5f22fe0a1a73cebf96f4ad1ccd1530c016e8b22f7d54675aeff9528c82 -SHA512 (harmonics-dwf-20251228-free.tar.xz) = d7710c2f0fcaf32ca8e017f073912db5e4d344dbc1710c2709766232d0c77d08b4cec65418f9c7196bb792271f0136a8a9fb59de021e8d4c0ad66c2c558ae87b +SHA512 (xtide-2.15.2.tar.bz2) = adfcaeb0f87defb5918d80651b90de47f5afd5cf651fcf12fc1d02d970e8ac3fec613445b91464e72806037cfa9e576b880c8d361d3062f1bc3bc2df58da1ba6 +SHA512 (harmonics-dwf-20181227-free.tar.bz2) = 34d19d0b6fd08f40f3ad222b37378b54d619e079c4488e918dc8fdd5fd78e5705eca850554e256793b65b55a58256eede213274c0cd2e4d007fb50007f0c81cf diff --git a/xtide-2.12.1-rcscript-pidfile.patch b/xtide-2.12.1-rcscript-pidfile.patch new file mode 100644 index 0000000..8e9d508 --- /dev/null +++ b/xtide-2.12.1-rcscript-pidfile.patch @@ -0,0 +1,44 @@ +--- 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 deleted file mode 100644 index aee761a..0000000 --- a/xtide-2.15.4-gpsd7.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- 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 41061d0..ad05dec 100644 --- a/xtide.spec +++ b/xtide.spec @@ -1,26 +1,26 @@ -%define mainver 2.15.6 +%define mainver 2.15.2 #%%define betatag dev-20160114 -%define dwfdate 20251228 +%define dwfdate 20181227 -%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 +%global use_systemd_unit 1 +%if 0%{?fedora} <= 23 +%global use_systemd_unit 0 %endif + +%define fedorarel 1 + + +%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: https://flaterco.com/files/xtide/%{name}-%{version}%{?betatag:-%betatag}.tar.xz +Source0: ftp://ftp.flaterco.com/xtide/%{name}-%{version}%{?betatag:-%betatag}.tar.bz2 Source14: xtide-get_harmonics-data.sh Source20: %{name}.desktop @@ -33,13 +33,13 @@ 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: https://flaterco.com/files/xtide/harmonics-dwf-%{dwfdate}-free.tar.xz +#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 -# Automatically converted from old format: GPLv3+ - review is highly recommended. -License: GPL-3.0-or-later +License: GPLv3+ -BuildRequires: make BuildRequires: gcc-c++ BuildRequires: libXaw-devel BuildRequires: libXext-devel @@ -49,8 +49,10 @@ 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 @@ -58,37 +60,37 @@ BuildRequires: libtool # By SOURCE3 BuildRequires: byacc BuildRequires: flex -# Explicit for %%PATCH1 -BuildRequires: %{_bindir}/pkg-config Requires: wvs-data -Requires: xorg-x11-fonts-misc +Requires: xorg-x11-fonts-base Requires: xtide-common = %{version}-%{release} Requires: libxtide%{?_isa} = %{version}-%{release} -%if ! %{use_systemd_sysusers} Requires(pre): shadow-utils -%endif +%if %{?use_systemd_unit} 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 -# Automatically converted from old format: GPLv3+ - review is highly recommended. -License: GPL-3.0-or-later +License: GPLv3+ %package -n libxtide-devel Summary: Development files for libxtide -# Automatically converted from old format: GPLv3+ - review is highly recommended. -License: GPL-3.0-or-later +License: GPLv3+ Requires: libxtide%{?_isa} = %{version}-%{release} %package common Summary: Xtide common files -# Automatically converted from old format: Public Domain - needs further work -License: LicenseRef-Callaway-Public-Domain +License: Public Domain Requires: bzip2 Requires: wget BuildArch: noarch @@ -143,7 +145,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}'|" \ @@ -163,6 +167,9 @@ 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=|' \ @@ -172,16 +179,17 @@ 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 install %{__mkdir_p} $RPM_BUILD_ROOT%{_sbindir} +%if ! 0%{?use_systemd_unit} +%{__mkdir_p} $RPM_BUILD_ROOT%{_libexecdir} +%endif # xttpd treatment # xttpd is wrapped @@ -210,12 +221,19 @@ 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 \ @@ -231,6 +249,7 @@ 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} @@ -243,6 +262,9 @@ 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} @@ -262,6 +284,13 @@ 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 @@ -283,21 +312,26 @@ cp -a harmonics-dwf-%{dwfdate}/[A-Z]* \ # 3 cleanup rm -rf $RPM_BUILD_ROOT%{_libdir}/libxtide.{a,la} -%if %{use_systemd_sysusers} -install -m0644 -D xtide.sysusers.conf %{buildroot}%{_sysusersdir}/xtide.conf -%endif - %post +%if 0%{?use_systemd_unit} %systemd_post xttpd.socket xttpd.service +%else +/sbin/chkconfig --add xttpd +%endif 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 exit 0 %pre -%if ! %{use_systemd_sysusers} getent group xttpd &>/dev/null || \ %{_sbindir}/groupadd -r xttpd getent passwd xttpd &> /dev/null || \ @@ -308,11 +342,17 @@ getent passwd xttpd &> /dev/null || \ -r \ -s /sbin/nologin \ xttpd 2>/dev/null -%endif 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 %ldconfig_scriptlets -n libxtide @@ -332,7 +372,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 @@ -342,6 +382,7 @@ exit 0 %defattr(-,root,root,-) %doc AUTHORS README README-QUICK +%doc scripts/DOS/.xtide.xml %license COPYING # xtide %{_mandir}/man1/*tide.1* @@ -353,103 +394,26 @@ 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 - -%{_sbindir}/xttpd -%{_datadir}/man/man8/xttpd.8* -%if %{use_systemd_sysusers} -%{_sysusersdir}/xtide.conf +%else +%{_initddir}/xttpd %endif +%{_sbindir}/xttpd +%if ! 0%{?use_systemd_unit} +%{_libexecdir}/xttpd +%endif +%{_datadir}/man/man8/xttpd.8* + %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