From 2ff349a9b1841bce4ff6db7e0cc224f10a5dc319 Mon Sep 17 00:00:00 2001 From: Benjamin A. Beasley Date: Feb 28 2022 13:50:37 +0000 Subject: It’s increasingly clear that ffmpeg-enabled OpenCV should be considered a hard requirement, but OpenCV in Fedora has no plans to build with ffmpeg-free: https://github.com/FastTrackOrg/FastTrack/issues/43 https://bugzilla.redhat.com/show_bug.cgi?id=2058684 --- diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 78aad58..0000000 --- a/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -/FastTrack-5.3.3.tar.gz -/FastTrack-5.3.4.tar.gz -/FastTrack-5.3.5.tar.gz -/FastTrack-6.0.1.tar.gz -/FastTrack-6.1.1.tar.gz -/FastTrack-6.2.0.tar.gz -/FastTrack-6.2.1.tar.gz -/FastTrack-6.2.3.tar.gz diff --git a/FastTrack-6.2.3-do-not-override-compiler-flags.patch b/FastTrack-6.2.3-do-not-override-compiler-flags.patch deleted file mode 100644 index c9ced9d..0000000 --- a/FastTrack-6.2.3-do-not-override-compiler-flags.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -Naur FastTrack-6.2.3-original/src/FastTrack-Cli.pro FastTrack-6.2.3/src/FastTrack-Cli.pro ---- FastTrack-6.2.3-original/src/FastTrack-Cli.pro 2022-02-24 13:24:54.000000000 -0500 -+++ FastTrack-6.2.3/src/FastTrack-Cli.pro 2022-02-24 17:23:50.547084372 -0500 -@@ -13,13 +13,7 @@ - - unix:!macx { - TARGET = fasttrack-cli -- QMAKE_CXXFLAGS += -std=c++17 -O3 -fopenmp -- QMAKE_CXXFLAGS_RELEASE -= -O1 -- QMAKE_CXXFLAGS_RELEASE -= -O2 -- QMAKE_CXXFLAGS_RELEASE += -O3 -- QMAKE_LFLAGS_RELEASE -= -O1 -- QMAKE_LFLAGS_RELEASE -= -O2 -- QMAKE_LFLAGS_RELEASE += -O3 -+ QMAKE_CXXFLAGS += -std=c++17 -fopenmp - - INCLUDEPATH += /usr/include/opencv4/ - INCLUDEPATH += /usr/local/include/opencv4/ -diff -Naur FastTrack-6.2.3-original/src/FastTrack.pro FastTrack-6.2.3/src/FastTrack.pro ---- FastTrack-6.2.3-original/src/FastTrack.pro 2022-02-24 13:24:54.000000000 -0500 -+++ FastTrack-6.2.3/src/FastTrack.pro 2022-02-24 17:23:59.415190332 -0500 -@@ -19,13 +19,7 @@ - unix:!macx { - TARGET = fasttrack - -- QMAKE_CXXFLAGS += -std=c++17 -O3 -fopenmp -- QMAKE_CXXFLAGS_RELEASE -= -O1 -- QMAKE_CXXFLAGS_RELEASE -= -O2 -- QMAKE_CXXFLAGS_RELEASE += -O3 -- QMAKE_LFLAGS_RELEASE -= -O1 -- QMAKE_LFLAGS_RELEASE -= -O2 -- QMAKE_LFLAGS_RELEASE += -O3 -+ QMAKE_CXXFLAGS += -std=c++17 -fopenmp - - INCLUDEPATH += /usr/include/opencv4/ - INCLUDEPATH += /usr/local/include/opencv4/ -diff -Naur FastTrack-6.2.3-original/test/Test.pro FastTrack-6.2.3/test/Test.pro ---- FastTrack-6.2.3-original/test/Test.pro 2022-02-24 13:24:54.000000000 -0500 -+++ FastTrack-6.2.3/test/Test.pro 2022-02-24 17:24:24.052484710 -0500 -@@ -18,8 +18,7 @@ - INCLUDEPATH += /usr/include/opencv4/ - INCLUDEPATH += /usr/local/include/opencv4/ /usr/include/gtest - LIBS += -L /usr/local/lib64/ -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -lopencv_videoio -lopencv_calib3d -lopencv_photo -lopencv_features2d -lopencv_photo -lopencv_video -fopenmp -lgtest -lgtest_main -- QMAKE_LFLAGS_RELEASE += -O3 -- QMAKE_CXXFLAGS += -std=c++17 -O3 -fopenmp -g -+ QMAKE_CXXFLAGS += -std=c++17 -fopenmp -g - } - - unix:macx { diff --git a/README.md b/README.md deleted file mode 100644 index 0c8a12d..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# fasttrack - -The fasttrack package diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..020e1c4 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +It’s increasingly clear that ffmpeg-enabled OpenCV should be considered a hard requirement, but OpenCV in Fedora has no plans to build with ffmpeg-free: https://github.com/FastTrackOrg/FastTrack/issues/43 https://bugzilla.redhat.com/show_bug.cgi?id=2058684 diff --git a/fasttrack-cli.1 b/fasttrack-cli.1 deleted file mode 100644 index b7acec9..0000000 --- a/fasttrack-cli.1 +++ /dev/null @@ -1,189 +0,0 @@ -.TH FASTTRACK\-CLI "1" "September 2021" "" "User Commands" -.SH NAME -.B fasttrack\-cli -\(en Use FastTrack from the command line -.SH SYNOPSIS -.B fasttrack\-cli -.RI [ OPTION ]... -.RI [ FILE ]... -.SH OPTIONS -All arguments are mandatory except -.B \-\-backPath -and -.BR \-\-cfg . -Loading a configuration file with -.B \-\-cfg -overwrites any selected parameters. -.P -\[sc] -.TP -.B \-\-maxArea -maximal area of objects -.TP -.B \-\-minArea -minimal area of objects -.TP -.B \-\-lightBack -is the background light? -.BR 0 : -Yes, -.BR 1 : -No -.P -\[sc] -.TP -.B \-\-thresh -binary threshold, if -.B lightBack -is set to -.B 0 -(resp. -.BR 1 ), -pixels with values less (resp. more) than thresh are considered to belong to an -object -.TP -.B \-\-reg -registration method, -.BR 0 : -None, -.BR 1 : -Simple, -.BR 2 : -ECC, -.BR 3 : -Features -.P -\[sc] -.TP -.B \-\-spot -part of the object that features is used for the matching, -.BR 0 : -head, -.BR 1 : -tail, -.BR 2 : -body -.TP -.B \-\-normDist -normalization distance pixels -.TP -.B \-\-normAngle -normalization angle degrees -.TP -.B \-\-normArea -normalization area pixels -.TP -.B \-\-normPerim -normalization perimeter pixels -.TP -.B \-\-maxDist -maximal distance of matching in pixels; if an object travels more than this -distance, it is considered as a new object -.TP -.B \-\-maxTime -maximal time; if an object disappears more than this time, it is considered as -a new object -.P -\[sc] -.TP -.B \-\-nBack -number of images to compute the background -.TP -.B \-\-methBack -method to compute the background. -.BR 0 : -min, -.BR 1 : -max, -.BR 2 : -average -.TP -.B \-\-regBack -registration method to compute the background. -.BR 0 : -None, -.BR 1 : -Simple, -.BR 2 : -ECC, -.BR 3 : -Features -.P -\[sc] -.TP -.B \-\-xTop -roi x top corner -.BI (0: width \-1) -.TP -.B \-\-yTop -roi y top corner -.BI (0: height \-1) -.TP -.B \-\-xBottom -roi x top corner -.BI (0: xTop \-1)\fR, -set to -.B 0 -to avoid cropping -.TP -.B \-\-yBottom -roi y top corner -.BI (0: yTop \-1)\fR, -set to -.B 0 -to avoid cropping -.P -\[sc] -.TP -.B \-\-morph -morphological operation, -.BR 0 : -None, -.BR 1 : -Erode, -.BR 2 : -Dilate, -.BR 3 : -Open, -.BR 4 : -Close, -.BR 5 : -Gradient, -.BR 6 : -TopHat, -.BR 7 : -BlackHat, -.BR 8 : -HitMiss -.TP -.B \-\-morphSize -size of the kernel used in the morphological operation; can be omitted if no -operation are performed -.TP -.B \-\-morphType -type of the kernel used in the morphological operation; can be omitted if no -operation are performed, -.BR 0 : -Rect, -.BR 1 : -Cross, -.BR 2 : -Ellipse -.P -\[sc] -.TP -.B \-\-path -path to the movie or one image of a sequence -.TP -.B \-\-backPath -optional, path to a background image -.P -\[sc] -.TP -.B \-\-cfg -optional, path to a configuration file; if path is not included in the -configuration file, -.B \-\-path -option needs to be put before -.B \-\-cfg -option diff --git a/fasttrack.spec b/fasttrack.spec deleted file mode 100644 index 5522ece..0000000 --- a/fasttrack.spec +++ /dev/null @@ -1,229 +0,0 @@ -%global forgeurl https://github.com/FastTrackOrg/FastTrack -%global app_id sh.fasttrack.fasttrack - -# We don’t install the .desktop file for the CLI tool, because it is useless—a -# terminal window just appears briefly with an error message asking the user to -# provide the many necessary arguments. -%bcond_with cli_desktop_file - -Name: fasttrack -Summary: Multiple objects tracking software, easy to use, and performant. -Version: 6.2.3 -%forgemeta -Release: %autorelease - -URL: %{forgeurl} -# The entire source is GPLv3+, except src/assets/dark.qss and -# src/assets/light.qss, which are MIT; the effective license remains GPLv3+. -License: GPLv3+ - -Source0: %{forgesource} -# Downstream man page in groff_man(7) format, based on --help output -Source1: fasttrack-cli.1 - -# Do not override distribution compiler flags. This unconditionally patches out -# optimization flags upstream would prefer, so it is not suitable for offering -# upstream. -Patch0: FastTrack-6.2.3-do-not-override-compiler-flags.patch - -# qt6-qtbase missing on s390x -# https://bugzilla.redhat.com/show_bug.cgi?id=2012824 -# AutoLevelTest.AutoLevel fails on ppc64le since GCC 12 and/or “long double” -# change -# https://bugzilla.redhat.com/show_bug.cgi?id=2045367 -ExcludeArch: s390x - -BuildRequires: gcc-c++ -BuildRequires: make - -# Currently, there is no qt6-qtwebengine package in Fedora, so we must build -# with NO_WEB enabled. This has three consequences: -# -# 1. The check for a newer available version at startup—which we would have -# patched out in src/mainwindow.cpp anyway, as it is not really suitable -# for a distribution package—does not occur. -# 2. The user manual browser for the online documentation is not available. -# 3. The package no longer needs to be -# ExclusiveArch: %%{qt6_qtwebengine_arches} -# -# Overall, this is satisfactory. - -# src/FastTrack.pro, src/FastTrack-Cli.pro: -# Qt components: core, gui, network, sql, svg, widgets -BuildRequires: qt6-qtbase-devel -BuildRequires: qt6-qtsvg-devel - -# dependencies.sh, src/FastTrack. -BuildRequires: pkgconfig(opencv4) - -# generateDocumentation.sh: user manual -BuildRequires: pandoc -# rsvg-convert, needed by pandoc to generate PDF -BuildRequires: librsvg2-tools -# pdflatex, needed by pandoc to generate PDF -BuildRequires: tex(latex) - -# test/Test.pro -BuildRequires: gtest-devel -# test.sh -BuildRequires: python3-devel -BuildRequires: python3dist(pytest) -# test/accuracyTest.py -BuildRequires: python3dist(numpy) -BuildRequires: python3dist(pandas) - -BuildRequires: desktop-file-utils -# Still required by guidelines for now -# (https://pagure.io/packaging-committee/issue/1053): -BuildRequires: libappstream-glib -# Matches what gnome-software and others use: -BuildRequires: appstream - -# For /usr/share/icons/hicolor/*/apps -Requires: hicolor-icon-theme - -%global common_description %{expand: -Tracking objects in video recording can be tedious. Existing software are -expensive, the learning curve can be steep, necessitate a powerful computer, -and the workflow can not be easily adapted when the project evolved. - -FastTrack is a free (as freedom) desktop tracking software, easy to install, -easy to use, and performant. The software can be downloaded for Linux, macOS, -and Windows, and a public API is available to embed the core of the software in -any C++/Qt project. - -Two main features are implemented in the software: - - • An automatic tracking algorithm that can detect and track objects - (conserving the objects’ identities across the video recording). - • A manual review of the tracking where errors can be corrected rapidly and - easily to achieve 100% accuracy.} - -%description %{common_description} - -This package contains the graphical user interface (fasttrack). - - -%package cli -Summary: %{summary} - -%if %{with cli_desktop_file} -# For /usr/share/icons/hicolor/*/apps -Requires: hicolor-icon-theme -%endif - -%description cli %{common_description} - -This package contains the command-line tool (fasttrack-cli). - - -%package doc -Summary: Documentation for FastTrack -BuildArch: noarch - -%description doc %{common_description} - -This package contains the user manual. - - -%prep -%forgeautosetup -p1 -cp -p '%{SOURCE1}' . - - -%build -pushd test -%qmake_qt6 Test.pro -popd -%qmake_qt6 'CONFIG += NO_WEB' src/FastTrack-Cli.pro -mv Makefile Makefile-cli -%qmake_qt6 'CONFIG += NO_WEB' src/FastTrack.pro - -%make_build -%make_build -f Makefile-cli -pushd test -%make_build -f Makefile -popd - -bash -x ./generateDocumentation.sh user - - -%install -%make_install INSTALL_ROOT='%{buildroot}' -%make_install -f Makefile-cli INSTALL_ROOT='%{buildroot}' - -# This is not the right place to install a raster icon; it should go in -# %%{_datadir}/icons/hicolor/SIZExSIZE/apps/. -rm -vf %{buildroot}%{_datadir}/icons/fasttrack.png -# Furthermore, it is 756x756, so we -# should rescale it to one or more standard sizes instead (16x16, 22x22, 24x24, -# 32x32, 36x36, 48x48, 64x64, 72x72, 96x96, 128x128, 192x192, 256x256, 512x512) -# and install in the corresponding directory or directories. -# -# To keep things simple, we install the scalable icon instead. -install -D -p -m 0644 'src/assets/icon.svg' \ - '%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/fasttrack.svg' - -install -t '%{buildroot}%{_mandir}/man1' -D -p -m 0644 fasttrack-cli.1 - - -%check -# Still required by guidelines for now -# (https://pagure.io/packaging-committee/issue/1053): -appstream-util validate-relax --nonet \ - '%{buildroot}%{_metainfodir}/%{app_id}.metainfo.xml' -# Matches what gnome-software and others use: -appstreamcli validate --nonet \ - '%{buildroot}%{_metainfodir}/%{app_id}.metainfo.xml' -desktop-file-validate \ -%if %{with cli_desktop_file} - '%{buildroot}%{_datadir}/applications/%{app_id}cli.desktop' \ -%endif - '%{buildroot}%{_datadir}/applications/%{app_id}.desktop' - -# test.sh -export QT_QPA_PLATFORM=offscreen -pushd test/build -./Test -popd -pushd test -%pytest accuracyTest.py -popd - - -%files -%license LICENSE -%doc changelog.md -%doc contributing.md -%doc readme.md -%{_bindir}/fasttrack - -%{_metainfodir}/%{app_id}.metainfo.xml -%{_datadir}/applications/%{app_id}.desktop -%{_datadir}/icons/hicolor/scalable/apps/fasttrack.svg - - -%files cli -%license LICENSE -%{_bindir}/fasttrack-cli -%{_mandir}/man1/fasttrack-cli.1* - -%if %{with cli_desktop_file} -%{_datadir}/applications/%{app_id}cli.desktop -# Icons are intentionally shared between base and -cli packages, as they are -# used in both desktop files, but a -data or -common subpackage would be -# overkill for icons. -%{_datadir}/icons/hicolor/scalable/apps/fasttrack.svg -%endif - - -%files doc -%license LICENSE -# Package only the PDF user manual, because the HTML one has a small amount of -# pre-minified GitHub CSS, which is not acceptable: -# https://docs.fedoraproject.org/en-US/packaging-guidelines/Web_Assets/#_css -%doc manual/user/user_manual.pdf - - -%changelog -%autochangelog diff --git a/sources b/sources deleted file mode 100644 index f79a978..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (FastTrack-6.2.3.tar.gz) = d06d222040867cc46234fce102e215da2c859363753be12827d21c63c40b268505c315da796d213563a081e4bc441652a733208c12620dbb06242a7523ac0f40