netcdf-cxx 4.3.2-1~exp1
Package Information
| Description | C++ interface for scientific data access to large binary data NetCDF (network Common Data Form) is an interface for scientific data access and a freely-distributed software library that provides an implementation of the interface. The netCDF library also defines a machine-independent format for representing scientific data. Together, the interface, library, and format support the creation, access, and sharing of scientific data. This package contains the C++ shared library. |
|---|---|
| Maintainer | Debian GIS Project <pkg-grass-devel@lists.alioth.debian.org> |
| Changed By | Bas Couwenberg <sebastic@debian.org> |
| Sponsor | sebastic@debian.org |
| Distribution | experimental |
| Architecture | any all |
| VCS | git: https://salsa.debian.org/debian-gis-team/netcdf-cxx.git -b experimental (browse) |
| Popcon Installs | 496 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/netcdf-cxx |
| Uploaded | 3 hours ago |
New Package Report
.changes
| Version | 4.3.2-1~exp1 |
|---|---|
| Changed-By | Bas Couwenberg <sebastic@debian.org> |
| Architecture | source amd64 all |
| Distribution | experimental |
| Date | Sat, 07 Nov 2026 06:06:15 +0100 |
| Source | netcdf-cxx |
Changelog
netcdf-cxx (4.3.2-1~exp1) experimental; urgency=medium
.
* New upstream release.
* Bump Standards-Version to 4.7.4, no changes.
* Mark libnetcdf-c++4-1 as Multi-Arch: same, and
libnetcdf-c++4-doc as Multi-Arch: foreign.
* Update lintian overrides.
* Drop Rules-Requires-Root: no, default since dpkg 1.22.13.
* Use test-build-validate-cleanup instead of test-build-twice.
* Drop Priority: optional, default since dpkg 1.22.13.
* Drop obsolete Breaks/Replaces.
* Update copyright file.
* Rename library package for SONAME bump.
* Update symbols for amd64..dsc
| Component | main |
|---|---|
| Package-List | libnetcdf-c++4-3 deb libs optional arch=any libnetcdf-c++4-dev deb libdevel optional arch=any libnetcdf-c++4-doc deb doc optional arch=all |
| Section | libs |
| Priority | optional |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: NetCDF C++
Upstream-Contact: University Corporation for Atmospheric Research/Unidata
Source: https://github.com/Unidata/netcdf-cxx4/releases
Files-Excluded: autom4te.cache/*
Files: *
Copyright: 1993-2025, University Corporation for Atmospheric Research/Unidata
License: NetCDF
Files: docs/doxygen-awesome-css/*
Copyright: 2021-2023, jothepro
License: Expat
Files: plugins/blocksort.c
plugins/bzlib.c
plugins/bzlib.h
plugins/bzlib_private.h
plugins/compress.c
plugins/crctable.c
plugins/decompress.c
plugins/huffman.c
plugins/randtable.c
Copyright: 1996-2010 Julian Seward <jseward@bzip.org>
License: BSD-variant
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
.
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.
2. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
.
3. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
.
4. The name of the author may not be used to endorse or promote
products derived from this software without specific prior written
permission.
.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Files: debian/*
Copyright: 2015, Debian GIS Team
License: BSD-3-Clause
License: NetCDF
Portions of this software were developed by the Unidata Program at the
University Corporation for Atmospheric Research.
.
Access and use of this software shall impose the following obligations
and understandings on the user. The user is granted the right, without
any fee or cost, to use, copy, modify, alter, enhance and distribute
this software, and any derivative works thereof, and its supporting
documentation for any purpose whatsoever, provided that this entire
notice appears in all copies of the software, derivative works and
supporting documentation. Further, UCAR requests that the user credit
UCAR/Unidata in any publications that result from the use of this
software or in any product that includes this software, although this
is not an obligation. The names UCAR and/or Unidata, however, may not
be used in any advertising or publicity to endorse or promote any
products or commercial entity unless specific written permission is
obtained from UCAR/Unidata. The user also understands that
UCAR/Unidata is not obligated to provide the user with any support,
consulting, training or assistance of any kind with regard to the use,
operation and performance of this software nor to provide the user
with any updates, revisions, new versions or "bug fixes."
.
THIS SOFTWARE IS PROVIDED BY UCAR/UNIDATA "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL UCAR/UNIDATA BE LIABLE FOR ANY SPECIAL,
INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
License: BSD-3-Clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
.
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
DFSG Assistant LLM REVIEW 0 blocker, 1 important, 6 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 2 hours ago.
Proposes a replacement debian/watch:
debian/watch in version 5 format
Report
DFSG NEW review for netcdf-cxx version 4.3.2-1~exp1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 1 important, 6 minor
- debian/watch: old format (version 4)
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The licensing is DFSG-compliant. Every file is covered by a machine-readable (DEP-5) stanza: upstream netCDF/UCAR code under the permissive, non-discriminating 'NetCDF' licence (text verbatim from upstream COPYRIGHT); the embedded bzip2 1.0.6 plugin sources under Julian Seward's 4-clause BSD-variant (full text given, nothing in it restricts modification or fields of use); the doxygen-awesome-css theme under Expat; debian/* under BSD-3-Clause. No NC/ND wording, no field-of-use clause, no file without a licence, and no generated code without its generator input (the shipped configure/Makefile.in/aclocal.m4 come from configure.ac/Makefile.am/m4, which are in the tree). debian/copyright describes the code and the two third-party components accurately; the one gap is that its catch-all stanza names only UCAR/Unidata for the shipped autotools scaffolding, which carries FSF, X Consortium and Bootstrap Authors notices (reported as minor, with no DFSG or binary-package consequence).
Packaging
The packaging is in good shape and clearly maintained: DEP-5 copyright, quilt source format, a symbols file with the soname matched to the renamed libnetcdf-c++4-3, Multi-Arch on the library and the doc package, -dev installing the static and shared library, headers, .pc and ncxx4-config with its manpage, .la files excluded via not-installed, salsa CI, gbp.conf and upstream/metadata. One important defect remains: debian/rules swallows every test failure, and with no debian/tests the library's testsuite never gates anything. Three minor items are listed below (manpage for ncxx4-config describes options the script does not have, a linker flag in DEB_CXXFLAGS_MAINT_APPEND, and an hdf5 build dependency that nothing in the enabled build uses).
Issues
important
packaging
1. debian/rules masks all make check failures with || echo "Ignoring test failures"
◂
-
Files: debian/rules:33-34; cxx4/Makefile.am (
TESTS = $(TESTFILES)) -
Basis: checked, in the package or with a reference tool
-
Evidence:
override_dh_auto_test: dh_auto_test --max-parallel=1 || echo "Ignoring test failures"Upstream does ship a testsuite (
TESTS = $(TESTFILES), nine test programs, plus the example programs inexamples/Makefile.am), and the changelog of 4.2.1-1~exp2 says “override dh_auto_test to ignore test failures”. -
Problem: A failing testsuite is turned into a successful build, so nothing in the archive ever checks that the library works; this is the only functional check the package has, since
debian/tests/does not exist. At compat 13dhalready skipsoverride_dh_auto_testundernocheck, so the override serves no purpose other than hiding failures. -
Fix: Remove the
|| echo ...so a failingmake checkfails the build. If particular tests are known to fail, disable just those (conditional on the affected architectures or build profiles) and forward the failures upstream; optionally adddebian/tests/controlrunning one built example or the testsuite so the tests are run somewhere.
minor
licensing
2. Files: * names only UCAR/Unidata for the shipped autotools scripts, which carry FSF, X Consortium and Bootstrap Authors notices under GPL-2+/GPL-3+/MIT terms
◂
- Files:
debian/copyright:7-10; config.guess:2; config.sub:2; compile:5; depcomp:7; missing:7; test-driver:6; install-sh:10; ltmain.sh:8,75; m4/libtool.m4:3; aclocal.m4:3; Makefile.in:4 - Basis: checked, in the package or with a reference tool
- Evidence:
config.guess:2/config.sub:2# Copyright 1992-2026 Free Software Foundation, Inc.with GPL-3+ and “As a special exception ... you may include it under the same distribution terms that you use for the rest of that program”;compile,depcomp,missing,test-driverthe same under GPL-2+;ltmain.sh:8# Copyright (C) 1996-2019, 2021-2026 Free Software Foundation, Inc.with the libtool exception, andltmain.sh:75# Copyright (C) 2004-2019, 2021, 2023-2024 Bootstrap Authors(dual MIT/GPL-2+);install-sh:10# Copyright (C) 1994 X Consortium(Expat text, FSF changes public domain); the generatedconfigure,aclocal.m4and fiveMakefile.incarry FSF notices with the “unlimited permission to copy and/or distribute” wording. - Problem: The catch-all stanza states
Copyright: 1993-2025, University Corporation for Atmospheric Research/UnidataandLicense: NetCDFfor files whose notices name other holders and other terms, so the copyright file does not accurately describe every file in the source. This is not a DFSG problem: all the terms are free, the Autoconf/libtool exception explicitly permits distributing these scripts under the package's own terms, and none of them ends up in a binary package. - Fix: Add stanzas for the generated build files (FSF, permissive “unlimited permission” notice) and for the automake/libtool helper scripts (FSF and Bootstrap Authors, GPL-2+/GPL-3+ with the Autoconf/libtool exception;
install-shX Consortium/Expat), or record the exception under which they are distributed.
minor
packaging
3. debian/ncxx4-config.1 documents four options that ncxx4-config does not implement
◂
- Files:
debian/ncxx4-config.1:18,33,36,39; ncxx4-config.in:73-112 - Basis: checked, in the package or with a reference tool
- Evidence: Manpage SYNOPSIS:
[--libs] [--cflags] [--cxxflags] [--defines] [--includes] [--version], OPTIONS adds--cxxlibs,--defines,--includes. The generated script's case arms are only--help --all --cc --cxx --cflags --libs --prefix --includedir --libdir --version; anything else hitsecho "unknown option: $1"; usage; exit 1. - Problem: A user following the installed manpage gets an error for
--cxxflags,--cxxlibs,--definesand--includes, while the options that do exist (--cc,--cxx,--prefix,--includedir,--libdir,--all) are undocumented. - Fix: Replace the manpage content so that it matches the options
ncxx4-config.inactually handles.
minor
packaging
4. debian/rules puts the linker flag -lnetcdf into DEB_CXXFLAGS_MAINT_APPEND
◂
- Files:
debian/rules:11; cxx4/Makefile.am:5; examples/Makefile.am:7 - Basis: checked, in the package or with a reference tool
- Evidence:
export DEB_CXXFLAGS_MAINT_APPEND=-lnetcdf(added in 4.3.1-2, “Add -lnetcdf to CXXFLAGS”, closes: #949828). The sources now pass it at link time themselves:cxx4/Makefile.am:5 LDADD = libnetcdf_c++4.la -lnetcdfandexamples/Makefile.am:7 LDADD = -lnetcdf. - Problem: A link flag is smuggled through the compiler flags, so it is appended to every compile and link command in the tree; it is a workaround for an upstream link line and its necessity is not documented anywhere in the package.
- Fix: If it is still needed, move it to
DEB_LDFLAGS_MAINT_APPEND(or patch the offending link line) so that it applies only when linking; if it is not, drop it.
minor
packaging
5. libhdf5-dev Build-Depends and the hdf5 include path are dead because --disable-filter-testing keeps plugins/ out of the build
◂
- Files:
debian/control:12; debian/rules:10,24; Makefile.am:12-14; configure.ac:319-325 - Basis: checked, in the package or with a reference tool
- Evidence:
Makefile.am:SUBDIRS = cxx4 examples docswithif ENABLE_FILTER_TESTING / SUBDIRS += plugins / endif;configure.ac:322generatesplugins/Makefileonly when filter testing is enabled, anddebian/rulespasses--disable-filter-testing. The only files in the tree that include<hdf5.h>areplugins/H5Zbzip2.c,H5Zmisc.c,H5Ztemplate.candH5Zutil.c, andconfigure.acnever checks for hdf5. - Problem: Every buildd and porter installs a build dependency that nothing compiled by this package uses, and the matching
DEB_CFLAGS_MAINT_APPEND=-I/usr/include/hdf5/serialapplies to a C compiler invocation that compiles no C file. - Fix: Drop
libhdf5-devand the hdf5 include path fromdebian/rules; they are needed again only if filter testing (and henceplugins/) is enabled.
minor packaging 6. debian/watch is in the old version 4 format ◂
- Files:
debian/watch - Basis: found by the review tooling's own checks
- Evidence:
version=4 - Problem: Version 5 is the current format of
debian/watch. - Fix: Convert it to version 5; a mechanical conversion is under Proposed changes.
minor packaging 7. Files-Excluded is set but the version carries no repack suffix ◂
- Files:
debian/copyright,debian/changelog,debian/watch - Basis: found by the review tooling's own checks
- Evidence:
4.3.2-1~exp1 - Problem:
debian/copyrighthasFiles-Excluded, so uscan repacks the upstream tarball, but the version indebian/changelogdoes not say so with a suffix such as+dfsgor+ds, as is the convention for a tarball that differs from upstream's. - Fix: Add the suffix to the version, and
Repacksuffixtodebian/watch.
Verified ◂
debian/copyrightis DEP-5 with the exact copyright-format 1.0Format:URL; the four stanzas are ordered so that the later ones overrideFiles: *, anddocs/doxygen-awesome-css/*,plugins/<the nine bzip2 files>anddebian/*are all matched by the right one (*reaches into subdirectories).- The
NetCDFlicence text is verbatim from upstreamCOPYRIGHT; it grants use, copy, modify and distribute “for any purpose whatsoever” and only requests credit, so it is DFSG-free. TheBSD-varianttext matches the notice inplugins/bzlib.c(bzip2 1.0.6, Julian Seward); theExpattext matchesdocs/doxygen-awesome-css/LICENSE(jothepro). No NC/ND, field-of-use or no-modification wording anywhere in the tree. - The bzip2 sources say “released under the terms of the license contained in the file LICENSE”, and upstream ships no such file in this tarball; the full licence text is nevertheless reproduced in
debian/copyright(Files: plugins/blocksort.c ...stanza), so the notice requirement is met for the Debian source package. - The prescan's “@@WardF in https://github.com/Unidata/netcdf-cxx4/pull/163” (
RELEASE_NOTES.md:35) is a contributor credit in the release notes, not a copyright notice. - The prescan's “see” (
configure.ac:2) and “see the COPYRIGHT file for more information” (cxx4/Makefile.am:2,examples/Makefile.am:2,cxx4/Makefile.in:17,examples/Makefile.in:2) point at the top-levelCOPYRIGHT, whose text is reproduced indebian/copyright; “UCAR/Unidata” (plugins/Makefile.am:1,plugins/Makefile.in:17) and “University Corporation for Atmospheric Research” (plugins/H5Zutil.c:2) are the same holder as theFiles: *Copyright field. plugins/H5Zbzip2.c,H5Zmisc.c,H5Ztemplate.c,h5bzip2.handh5misc.hcarry no notice of their own; they are UCAR/Unidata HDF5-filter code (compareH5Zutil.c:2, “Copyright 2018, University Corporation for Atmospheric Research”) underFiles: *, and are not compiled because filter testing is disabled.configure,aclocal.m4, the fiveMakefile.inandm4/*.m4are automake 1.19/autoconf 2.73/libtool output generated fromMakefile.am,configure.acandm4/, all of which are in the tree — no generated source without its generator input, and no built binaries, minified code, archives or PDFs in the tree (the prescan listed none).docs/doxygen-awesome-css/including itsdocs/,doxygen-custom/,include/andimg/subdirectories, the PNG/GIF/SVG images andpackage.jsonall belong to jothepro's Expat-licensed theme (the nested directories are inside that directory, so the stanza covers them);doxygen-awesome-darkmode-toggle.jsanddoxygen-awesome-paragraph-link.jskeep an inline comment marking only their Material icon SVG path data as Apache-2.0, so that notice is retained in the file.docs/netcdf-50x50.pngand the theme's images were not opened (binary); their provenance is the netCDF project and the theme repo respectively, both covered by a stanza.debian/is read in full: no patches (hence nodebian/patches/series), no maintainer scripts, nodebian/tests,debian/source/formatis3.0 (quilt),Standards-Version: 4.7.4is current against Policy 4.7.4.1, and compat 13 with debhelper 14.5 makesoverride_dh_auto_build-arch/-indepvalid targets and skipsoverride_dh_auto_testundernocheck.dh_auto_build --archand--indepare the documented long forms of-a/-i(Dh_Getopt registersarchandindepas package-selection options), so those overrides do what the maintainer intended;--disable-filter-testingis a realAC_ARG_ENABLEinconfigure.ac.- Package naming matches the ABI:
cxx4/Makefile.amuses-version-info 3:0:0, i.e.libnetcdf_c++4.so.3, which matches the newlibnetcdf-c++4-3package and its symbols file; the oldlibnetcdf-c++4-1ships.so.1, so no Breaks/Replaces is needed for co-installability, andlibnetcdf-c++4-devstill carries the right name. - The documentation directory
/usr/share/doc/netcdf-cxx/(the source package name) is allowed: Policy 12.3 permits a separate documentation package to install into the main package's documentation directory, and the doc-baseIndex:matches what is built (cxx4/DoxyfilehasOUTPUT_DIRECTORY = doc,HTML_OUTPUT = html, anddebian/libnetcdf-c++4-doc.installinstallscxx4/doc/*). - Sampling: every file of
debian/was read in full, as wereCOPYRIGHT,docs/doxygen-awesome-css/LICENSE, and the headers of every shipped helper script (compile,config.guess,config.sub,depcomp,install-sh,ltmain.sh,missing,test-driver,Makefile.in,aclocal.m4,m4/libtool.m4); licence wording across the whole tree was collected by grep, and the remaining ~150 upstream files were checked through the prescan's holder list plus theirMakefile.am/CMakeLists.txt/configure.acprovenance. - uscan found the packaged version as the newest upstream release (upstream
4.3.2, packaged4.3.2).
Not confirmed ◂
- Whether
make checkin 4.3.2 actually fails anywhere: I cannot build, so the maintainer's reason for the|| echooverride is unknown; if it is a genuine per-architecture failure, that reason belongs in the changelog and the override should be narrowed rather than removed. - Whether the
-lnetcdfinDEB_CXXFLAGS_MAINT_APPENDis still required at all (bug #949828 may have been fixed by theLDADDlines now present in bothMakefile.amfiles); a clean build with the variable removed would settle it.
Proposed: debian/watch in version 5 format ◂
debian/watch is in an old format. This is the conversion made by uscan --update-watchfile, which has not been run against the upstream site: some defaults differ in version 5, so test it with uscan --report before use.
Version: 5
Template: Github
Dist: https://github.com/Unidata/netcdf-cxx4
Dversionmangle: s/\+(debian|dfsg|ds|deb)\d*$//
Repacksuffix: +ds
Uversionmangle: s/_/./g;s/(\d)[_\.\-\+]?((RC|rc|pre|dev|gamma|beta|alpha|b|a)[\-\.]?(\d*))$/$1~$3$4/;s/RC/rc/
Uploader's response to the LLM review
The uploader was emailed about the review 2 hours ago.