diff --git a/.gitignore b/.gitignore index 7343e54..7fe1255 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,2 @@ -xtide-2.11-RC1.tar.bz2 -harmonics-dwf-20100529-free.tar.bz2 -xtide-2.11.tar.bz2 -/xtide-2.12-dev-20101029.tar.bz2 -/harmonics-dwf-20100529-free.tar.bz2 -/harmonics-dwf-20101230-free.tar.bz2 -/harmonics-dwf-20110410-free.tar.bz2 -/xtide-2.12-dev-20110731.tar.bz2 -/xtide-2.12-dev-20110827.tar.bz2 -/xtide-2.12-RC1.tar.bz2 -/xtide-2.12.tar.bz2 -/xtide-2.12.1.tar.bz2 -/harmonics-dwf-20111230-free.tar.bz2 -/harmonics-dwf-20120302-free.tar.bz2 -/xtide-2.13-RC2.tar.bz2 -/xtide-2.13-RC3.tar.bz2 -/xtide-2.13.tar.bz2 -/harmonics-dwf-20121224-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 14ba4c2..820be91 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -d208dcceddf73731e978ff2aaab5b576 xtide-2.13.tar.bz2 -f9a8c5414aa14bd6b08d1be4e6a3eea7 harmonics-dwf-20121224-free.tar.bz2 +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.14-rcscript-pidfile-with-server-change.patch b/xtide-2.14-rcscript-pidfile-with-server-change.patch new file mode 100644 index 0000000..ee3d561 --- /dev/null +++ b/xtide-2.14-rcscript-pidfile-with-server-change.patch @@ -0,0 +1,51 @@ +--- xtide-2.14/scripts/Fedora/rc.xttpd.pid_rc 2006-11-25 07:03:03.000000000 +0900 ++++ xtide-2.14/scripts/Fedora/rc.xttpd 2015-12-30 23:37:17.110917961 +0900 +@@ -6,13 +6,14 @@ + # description: Harmonic tide clock and tide predictor server + # processname: xttpd + # config: /etc/sysconfig/xttpd +-# pidfile: /var/run/xttpd.pid ++# pidfile: /var/run/xttpd/xttpd.pid + # + + PATH=/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin + CONFIG=/etc/sysconfig/xttpd + + LOCK=/var/lock/subsys/xttpd ++PIDFILE=/var/run/xttpd/xttpd.pid + + # Source function library. + . /etc/rc.d/init.d/functions +@@ -40,13 +41,8 @@ + return $RETVAL + fi + +- if test "$XTTPD_FEEDBACK"; then +- daemon $DAEMON $PORT XTTPD_FEEDBACK=$XTTPD_FEEDBACK HOME=$HOME ++ daemon --pidfile $PIDFILE $DAEMON $PORT XTTPD_FEEDBACK=$XTTPD_FEEDBACK HOME=$HOME + RETVAL=$? +- else +- daemon $DAEMON $PORT HOME=$HOME +- RETVAL=$? +- fi + [ $RETVAL -eq 0 ] && touch $LOCK + echo + return $RETVAL +@@ -54,7 +50,7 @@ + + stop(){ + echo -n $"Stopping $PROG: " +- killproc $DAEMON ++ killproc -p $PIDFILE $DAEMON + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f $LOCK + echo +@@ -67,7 +63,7 @@ + } + + status_xttpd(){ +- status $PROG ++ status -p $PIDFILE $PROG + } + + case "$1" in diff --git a/xtide-2.14-server-write-pid.patch b/xtide-2.14-server-write-pid.patch new file mode 100644 index 0000000..506ab48 --- /dev/null +++ b/xtide-2.14-server-write-pid.patch @@ -0,0 +1,147 @@ +--- xtide-2.14/xttpd.cc.pidfile 2014-10-12 04:42:10.000000000 +0900 ++++ xtide-2.14/xttpd.cc 2015-12-30 21:05:16.087233767 +0900 +@@ -34,6 +34,11 @@ using namespace libxtide; + #include + #include + #include ++#include ++#include ++#include ++#include ++#include + + + // These browsers nowadays can get pretty verbose. +@@ -44,6 +49,11 @@ static const size_t bufsize (10000); + static Dstr webmaster; + static ZoneIndex zoneIndex; + static bool zoneinfoIsNotHorriblyObsolete; ++static int processTermReason = 0; ++ ++// Pid file name ++#define PID_FILE_DIR "/var/run/xttpd" ++#define PID_FILE_NAME PID_FILE_DIR "/xttpd.pid" + + + namespace TimeControl { +@@ -1153,6 +1163,89 @@ static void dontBeRoot() { + } + } + ++static void createPidFileDirectory(void) { ++ struct stat st; ++ mode_t dirMode = S_IRWXU | S_IRGRP | S_IXGRP; ++ ++ if (stat(PID_FILE_DIR, &st) != 0) { ++ int errnum = errno; ++ if (errnum != ENOENT) { ++ Global::xperror("stat"); ++ exit (-1); ++ } ++ ++ if (mkdir(PID_FILE_DIR, dirMode) < 0) { ++ Global::xperror("mkdir"); ++ exit (-1); ++ } ++ ++ if (stat(PID_FILE_DIR, &st) != 0) { ++ Global::xperror("stat"); ++ exit (-1); ++ } ++ } ++ ++ // Make it sure that PID_FILE_DIR is a directory ++ // (not a symlink or so) ++ if (!S_ISDIR(st.st_mode)) { ++ Dstr msg (PID_FILE_DIR " is not a directory"); ++ Global::log (msg, LOG_ERR); ++ exit (-1); ++ } ++ ++ // Again chmod ++ if (chmod(PID_FILE_DIR, dirMode) < 0) { ++ Global::xperror("chmod"); ++ exit (-1); ++ } ++ ++ group *gr = getgrnam (xttpd_group); ++ if (!gr) { ++ Global::xperror ("getgrnam"); ++ exit (-1); ++ } ++ passwd *nb = getpwnam (xttpd_user); ++ if (!nb) { ++ Global::xperror ("getpwnam"); ++ exit(-1); ++ } ++ ++ if (chown(PID_FILE_DIR, nb->pw_uid, gr->gr_gid) < 0) { ++ Global::xperror ("chown"); ++ exit(-1); ++ } ++ ++} ++ ++static void writePidFile(pid_t pid) { ++ FILE *pidFd = fopen(PID_FILE_NAME, "w"); ++ if (!pidFd) { ++ Global::xperror("fopen"); ++ exit (-1); ++ } ++ ++ if (fprintf(pidFd, "%d", (int)pid) < 0) { ++ Global::xperror ("fprintf"); ++ exit (-1); ++ } ++ ++ fclose(pidFd); ++} ++ ++static void handlerSigterm(int sig) { ++ processTermReason = sig; ++} ++ ++static void initSignalHander(void) { ++ struct sigaction sigact; ++ memset(&sigact, 0, sizeof sigact); ++ ++ sigemptyset(&sigact.sa_mask); ++ sigact.sa_flags |= SA_RESTART; ++ sigact.sa_handler = handlerSigterm; ++ ++ sigaction(SIGTERM, &sigact, NULL); ++} + + int main (int argc, char **argv) { + +@@ -1181,7 +1274,13 @@ int main (int argc, char **argv) { + portNumberEvade = parseAddress (portnum, addr, argv[1]); + setupSocket (portnum, addr, listenSocket); + } ++ // Create pid directory before dropping priviledge ++ createPidFileDirectory(); + dontBeRoot(); ++ writePidFile(getpid()); ++ ++ // Initialize signal handler ++ initSignalHander(); + + // An unfortunate consequence of needing to drop root ASAP is that + // failure to bind the port prevents xttpd -v from working. +@@ -1212,7 +1311,7 @@ int main (int argc, char **argv) { + FD_ZERO (&rdset); + FD_SET (listenSocket, &rdset); + sockaddr addr; +- while (true) { ++ while (!processTermReason) { + fd_set trdset, twrset, texset; + trdset = rdset; + // I seem to remember that some platforms barf if you provide +@@ -1235,6 +1334,7 @@ int main (int argc, char **argv) { + while (waitpid (-1, (int*)NULL, WNOHANG|WUNTRACED) > 0); + } + ++ unlink(PID_FILE_NAME); + exit (0); + } + 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 0f464e0..41061d0 100644 --- a/xtide.spec +++ b/xtide.spec @@ -1,13 +1,18 @@ -%define mainver 2.13 -%undefine betatag -%define dwfdate 20121224 +%define mainver 2.15.6 +#%%define betatag dev-20160114 +%define dwfdate 20251228 + +%define baserelease 4 -%define fedorarel 3 - - -%define rel %{?betatag:0.}%{fedorarel}%{?betatag:.%(echo %betatag | sed -e 's|-||g')} +%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 Summary: Calculate tide all over the world Name: xtide @@ -15,7 +20,7 @@ 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 @@ -28,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 @@ -43,26 +48,50 @@ BuildRequires: zlib-devel BuildRequires: desktop-file-utils BuildRequires: libdstr-devel BuildRequires: libtcd-devel -%if 0%{?fedora} >= 17 BuildRequires: gpsd-devel >= 3 -%endif +BuildRequires: systemd +BuildRequires: systemd-devel +# By SOURCE1 +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: libtool +# By SOURCE3 +BuildRequires: byacc +BuildRequires: flex +# Explicit for %%PATCH1 +BuildRequires: %{_bindir}/pkg-config Requires: wvs-data -Requires: xorg-x11-fonts-base -Requires: xtide-common +Requires: xorg-x11-fonts-misc +Requires: xtide-common = %{version}-%{release} +Requires: libxtide%{?_isa} = %{version}-%{release} +%if ! %{use_systemd_sysusers} Requires(pre): shadow-utils -Requires(preun): /sbin/service -Requires(preun): /sbin/chkconfig -Requires(postun): /sbin/service -Requires(post): /sbin/chkconfig +%endif +Requires(preun): systemd +Requires(postun): systemd +Requires(post): systemd + +%package -n libxtide +Summary: XTide library +# 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 +# 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 %description XTide is a package that provides tide and current @@ -88,6 +117,13 @@ NOTE: Please also see README.fedora in xtide-common package for Fedora specific issue. +%description -n libxtide +The libxtide package provides library files used for XTide. + +%description -n libxtide-devel +The libxtide-devel package contains libraries and header files for +developing applications that use libxtide. + %description common This package contains common files needed by xtide, xttpd and @@ -95,15 +131,31 @@ tideEditor. Please read README.fedora for Fedora specific issue. %prep +%if 0%{?betatag:1} +%setup -q -n %{name}-%{version}-DEVELOPMENT -a 42 +%else %setup -q -n %{name}-%{version}%{?betatag:-%{betatag}} -a 42 +%endif + +# Systemd stuff +sed -i scripts/systemd/xttpd.socket \ + -e 's|ListenStream=80|ListenStream=8080|' + +cat > scripts/systemd/xttpd.service.conf < Dstr.h grep -rl 'include.*' . | while read f ; do sed -i.name -e 's|\(include.*\)|\1|' $f done -%patch0 -p1 - # Embed version sed -i.ver \ -e "\@^PACKAGE_VERSION=@s|'.*'$|'%{version}-%{release}'|" \ @@ -111,18 +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 @@ -136,7 +202,6 @@ echo "%{_datadir}/wvs-data/" >> %{name}.conf install %{__mkdir_p} $RPM_BUILD_ROOT%{_sbindir} -%{__mkdir_p} $RPM_BUILD_ROOT%{_libexecdir} # xttpd treatment # xttpd is wrapped @@ -145,15 +210,27 @@ echo "%{_datadir}/wvs-data/" >> %{name}.conf %{__install} -c -p -m 755 xtide-get_harmonics-data.sh \ $RPM_BUILD_ROOT%{_sbindir} -%{__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 - # 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 +%{__mkdir_p} ${RPM_BUILD_ROOT}%{_unitdir} +%{__install} -c -p -m 644 \ + scripts/systemd/xttpd.socket \ + scripts/systemd/xttpd.service \ + ${RPM_BUILD_ROOT}%{_unitdir} +%{__ln_s} -f \ + %{_sysconfdir}/sysconfig/xttpd.socket \ + ${RPM_BUILD_ROOT}%{_unitdir}/xttpd.socket +%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +%{__install} -c -p -m 644 \ + scripts/systemd/xttpd.service.conf \ + $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ +%{__install} -c -p -m 644 \ + scripts/systemd/xttpd.socket \ + $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/xttpd.socket # 1A Install harmonics file %{__mkdir_p} ${RPM_BUILD_ROOT}%{_datadir}/%{name} @@ -166,7 +243,6 @@ echo "%{_datadir}/wvs-data/" >> %{name}.conf # 1C Add desktop entry (xtide) %{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/applications desktop-file-install \ - --vendor fedora \ --dir $RPM_BUILD_ROOT%{_datadir}/applications \ %{SOURCE20} @@ -186,11 +262,6 @@ done %{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig %{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/xtide -%{__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 - # 1F and others %{__install} -c -p -m 644 %{SOURCE30} README.fedora @@ -204,28 +275,29 @@ for f in AUTHORS ChangeLog NEWS README ; do ( touch -r $f $f.tmp ; mv -f $f.tmp $f ) || rm -f $f.tmp done +rm -rf harmonics-dwf mkdir harmonics-dwf cp -a harmonics-dwf-%{dwfdate}/[A-Z]* \ harmonics-dwf/ -%post -touch --no-create %{_datadir}/icons/hicolor || : +# 3 cleanup +rm -rf $RPM_BUILD_ROOT%{_libdir}/libxtide.{a,la} -/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 [ $1 -ge 1 ] ; then - /sbin/service xttpd condrestart &>/dev/null || : -fi -[ $1 -eq 0 ] || exit 0 - -touch --no-create %{_datadir}/icons/hicolor || : -%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +%systemd_postun xttpd.socket xttpd.service exit 0 %pre +%if ! %{use_systemd_sysusers} getent group xttpd &>/dev/null || \ %{_sbindir}/groupadd -r xttpd getent passwd xttpd &> /dev/null || \ @@ -236,18 +308,14 @@ getent passwd xttpd &> /dev/null || \ -r \ -s /sbin/nologin \ xttpd 2>/dev/null +%endif exit 0 %preun -if [ $1 = 0 ] ; then - /sbin/service xttpd stop &>/dev/null - /sbin/chkconfig --del xttpd -fi +%systemd_preun xttpd.socket xttpd.service exit 0 -%posttrans -%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : -exit 0 +%ldconfig_scriptlets -n libxtide %files common %doc README.fedora @@ -263,29 +331,238 @@ exit 0 # Now include tcd data %{_datadir}/%{name}-harmonics/*.tcd +%files -n libxtide +%{_libdir}/libxtide.so.1{,.*} + +%files -n libxtide-devel +%{_libdir}/libxtide.so +%{_includedir}/libxtide/ + %files %defattr(-,root,root,-) -%doc AUTHORS COPYING README README-QUICK +%doc AUTHORS README README-QUICK +%license COPYING # xtide %{_mandir}/man1/*tide.1* -%{_datadir}/applications/fedora-%{name}.desktop +%{_datadir}/applications/*%{name}.desktop %{_datadir}/icons/hicolor/*/apps/%{name}.png %{_datadir}/%{name}/icon_*_orig.png %{_bindir}/*tide # xttpd -%config(noreplace) %{_sysconfdir}/sysconfig/xttpd -%{_initddir}/xttpd +%config(noreplace) %{_sysconfdir}/sysconfig/xttpd.service.conf +%config(noreplace) %{_sysconfdir}/sysconfig/xttpd.socket +%{_unitdir}/xttpd.service +%{_unitdir}/xttpd.socket %{_sbindir}/xttpd -%{_libexecdir}/xttpd %{_datadir}/man/man8/xttpd.8* +%if %{use_systemd_sysusers} +%{_sysusersdir}/xtide.conf +%endif %changelog -* Mon Dec 31 2012 Mamoru TASAKA - 2.13.3 +* 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 + +* Sun Feb 28 2016 Mamoru TASAKA - 2.15.1-1 +- 2.15.1 + +* Sat Feb 6 2016 Mamoru TASAKA - 2.15-2 +- F-24: mass rebuild + +* Tue Jan 26 2016 Mamoru TASAKA - 2.15-1 +- 2.15 + +* Sat Jan 16 2016 Mamoru TASAKA - 2.15-0.2.dev20160114 +- 2.15 dev20160114 + +* Sun Jan 10 2016 Mamoru TASAKA - 2.15-0.1.dev20160105 +- 2.15 dev20160105 + +* Tue Jan 5 2016 Mamoru TASAKA - 2.14.3-8 +- Use new configure.ac, Makefile.am provided by the upstream + +* Sun Jan 3 2016 Mamoru TASAKA - 2.14.3-7 +- Use systemd patches provided by the upstream +- Make xttpd.socket (provided by the upstream) be symlink from + %%_sysconfdir + +* Thu Dec 31 2015 Mamoru TASAKA - 2.14.3-6 +- Switch to use systemd unit on F-24+ + +* Wed Dec 30 2015 Mamoru TASAKA - 2.14.3-5 +- Make xttpd server create pidfile by itself +- Modify rcscript to reflect server change +- Remove if-condition when calling xttpd-wrapper.sh + with regard to XTTPD_FEEDBACK option + +* Tue Dec 29 2015 Mamoru TASAKA - 2.14.3-4 +- Harmonics data 20151227 + +* Sat May 02 2015 Kalev Lember - 2.14-3.1 +- Rebuilt for GCC 5 C++11 ABI change + +* Sun Mar 8 2015 Mamoru TASAKA - 2.14-3 +- F-23: rebuild against new gpsd + +* Sun Dec 28 2014 Mamoru TASAKA - 2.14-2 +- Harmonics data 20141224 + +* Tue Nov 4 2014 Mamoru TASAKA - 2.14-1 +- 2.14 + +* Fri Oct 17 2014 Mamoru TASAKA - 2.14-0.4.dev20141014 +- 2.14 dev20141014 +- New subpackage: libxtide +- Make -common noarch + +* Mon Aug 18 2014 Fedora Release Engineering - 2.14-0.3.dev20140622.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Jun 30 2014 Mamoru TASAKA - 2.14-0.3.dev20140622 +- 2.14 dev20140622 + +* Thu Jun 12 2014 Mamoru TASAKA - 2.14-0.2.dev20140504 +- F-21: mass rebuild + +* Mon May 26 2014 Mamoru TASAKA - 2.14-0.1.dev20140504 +- 2.14 dev20140504 + +* Mon Dec 30 2013 Mamoru TASAKA - 2.13.2-4 +- Update harmonics data to 20131228 + +* Sun Dec 1 2013 Mamoru TASAKA - 2.13.2-3 +- F-21: rebuild against new gpsd + +* Tue Aug 6 2013 Mamoru TASAKA - 2.13.2-2 +- F-20: mass rebuild + +* Wed Jul 24 2013 Mamoru TASAKA - 2.13.2-1 +- 2.13.2 + +* Fri Jul 12 2013 Mamoru TASAKA - 2.13.1-1 +- 2.13.1 + +* Sat Feb 9 2013 Mamoru TASAKA - 2.13-4 +- F-19: kill vendorization of desktop file (fpc#247) + +* Mon Dec 31 2012 Mamoru TASAKA - 2.13-3 - Update harmonics data to 20121224 * Mon Aug 6 2012 Mamoru Tasaka - 2.13-2 diff --git a/xttpd.service b/xttpd.service new file mode 100644 index 0000000..8787e70 --- /dev/null +++ b/xttpd.service @@ -0,0 +1,16 @@ +[Unit] +Description=Harmonic tide clock and tide predictor (web server) +Documentation=man:xttpd(8) +Wants=xttpd.socket + +[Service] +User=xttpd +Group=xttpd +WorkingDirectory=~ +Type=simple +EnvironmentFile=-/etc/sysconfig/xttpd +ExecStart=/usr/sbin/xttpd +NotifyAccess=main + +[Install] +WantedBy=multi-user.target