diff --git a/debian/changelog b/debian/changelog index 0623e9b..45bb3c5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +mrfioc2 (2.2.0-3) unstable; urgency=medium + + * Add missing dependency + * Bump up debhelper compatibility level to 9 + * Update standards-version to 4.3.0 + * Add patch fixing crash when calling time2ntp IOC shell fct + + -- Martin Konrad Thu, 21 Feb 2019 13:45:59 -0500 + mrfioc2 (2.2.0-2) unstable; urgency=medium * Use build profile to enable RTEMS cross build diff --git a/debian/compat b/debian/compat index 7f8f011..ec63514 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -7 +9 diff --git a/debian/control b/debian/control index e9f0368..7b91b21 100644 --- a/debian/control +++ b/debian/control @@ -1,10 +1,10 @@ Source: mrfioc2 Section: devel -Priority: extra +Priority: optional Maintainer: Martin Konrad Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), epics-debhelper (>= 6~), epics-dev (>= 3.14.11-2), - epics-msi, + epics-devlib2-dev (>= 2.8), epics-msi, rtems-devlib2-mvme2100 (>=2.8) , rtems-devlib2-mvme2307 (>=2.8) , rtems-devlib2-mvme3100 (>=2.8) , @@ -12,7 +12,9 @@ Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), dkms, XS-Rtems-Build-Depends: rtems-epics, rtems-devlib2 (>=2.8) X-Epics-Targets: .* -Standards-Version: 3.8.0 +Standards-Version: 4.3.0 +Vcs-Git: https://github.com/epicsdeb/mrfioc2.git +Vcs-Browser: https://github.com/epicsdeb/mrfioc2 Homepage: http://epics.sf.net/mrfioc2 Package: libmrfioc2.8 diff --git a/debian/patches/0002-time2ntp-catch-exceptions.patch b/debian/patches/0002-time2ntp-catch-exceptions.patch new file mode 100644 index 0000000..cf1ec66 --- /dev/null +++ b/debian/patches/0002-time2ntp-catch-exceptions.patch @@ -0,0 +1,91 @@ +From: Michael Davidsaver +Date: Tue, 29 Jan 2019 19:41:44 -0800 +Subject: time2ntp() catch exceptions + +--- + evrApp/src/ntpShm.cpp | 66 +++++++++++++++++++++++++++------------------------ + 1 file changed, 35 insertions(+), 31 deletions(-) + +diff --git a/evrApp/src/ntpShm.cpp b/evrApp/src/ntpShm.cpp +index 8f5dbc0..c572e9f 100644 +--- a/evrApp/src/ntpShm.cpp ++++ b/evrApp/src/ntpShm.cpp +@@ -264,43 +264,47 @@ static void ntpshmhooks(initHookState state) + + void time2ntp(const char* evrname, int segid, int event) + { +- if(event==0) +- event = MRF_EVENT_TS_COUNTER_RST; +- else if(event<=0 || event >255) { +- fprintf(stderr, "Invalid 1Hz event # %d\n", event); +- return; +- } +- if(segid<0 || segid>4) { +- fprintf(stderr, "Invalid segment ID %d\n", segid); +- return; +- } +- mrf::Object *obj = mrf::Object::getObject(evrname); +- if(!obj) { +- fprintf(stderr, "Unknown EVR: %s\n", evrname); +- return; +- } ++ try { ++ if(event==0) ++ event = MRF_EVENT_TS_COUNTER_RST; ++ else if(event<=0 || event >255) { ++ fprintf(stderr, "Invalid 1Hz event # %d\n", event); ++ return; ++ } ++ if(segid<0 || segid>4) { ++ fprintf(stderr, "Invalid segment ID %d\n", segid); ++ return; ++ } ++ mrf::Object *obj = mrf::Object::getObject(evrname); ++ if(!obj) { ++ fprintf(stderr, "Unknown EVR: %s\n", evrname); ++ return; ++ } + +- EVR *evr = dynamic_cast(obj); +- if(!evr) { +- fprintf(stderr, "\"%s\" is not an EVR\n", evrname); +- return; +- } ++ EVR *evr = dynamic_cast(obj); ++ if(!evr) { ++ fprintf(stderr, "\"%s\" is not an EVR\n", evrname); ++ return; ++ } + +- epicsThreadOnce(&ntponce, &ntpshminit, 0); ++ epicsThreadOnce(&ntponce, &ntpshminit, 0); + +- epicsMutexMustLock(ntpShm.ntplock); ++ epicsMutexMustLock(ntpShm.ntplock); + +- if(ntpShm.evr) { +- epicsMutexUnlock(ntpShm.ntplock); +- fprintf(stderr, "ntpShm already initialized.\n"); +- return; +- } ++ if(ntpShm.evr) { ++ epicsMutexUnlock(ntpShm.ntplock); ++ fprintf(stderr, "ntpShm already initialized.\n"); ++ return; ++ } + +- ntpShm.event = event; +- ntpShm.evr = evr; +- ntpShm.segid = segid; ++ ntpShm.event = event; ++ ntpShm.evr = evr; ++ ntpShm.segid = segid; + +- epicsMutexUnlock(ntpShm.ntplock); ++ epicsMutexUnlock(ntpShm.ntplock); ++ } catch(std::exception& e) { ++ fprintf(stderr, "Error: %s\n", e.what()); ++ } + } + + static const iocshArg time2ntpArg0 = { "evr name",iocshArgString}; diff --git a/debian/patches/series b/debian/patches/series index 095f4c7..8a50c50 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 0001-link-with-as-needed.patch +0002-time2ntp-catch-exceptions.patch