diff -Nru fslview-4.0.1/debian/changelog fslview-4.0.1/debian/changelog --- fslview-4.0.1/debian/changelog 2015-08-12 02:09:59.000000000 +0000 +++ fslview-4.0.1/debian/changelog 2015-08-22 11:21:43.000000000 +0000 @@ -1,8 +1,13 @@ -fslview (4.0.1-4build1) wily; urgency=medium +fslview (4.0.1-5) unstable; urgency=medium - * No-change rebuild against libvtk5.8v5 + * Add basic autopkgtest that verifies that program startup and image loading + work. Also use a similarly minimal test for build time testing. + * Move upstream meta data to debian/upstream. + * Fix menu file to use absolute icon path. + * Enable default hardening features (involves going to compat level 9). + * Bump Standards-version to 3.9.6, no further changes necessary. - -- Steve Langasek Wed, 12 Aug 2015 02:09:59 +0000 + -- Michael Hanke Sun, 21 Dec 2014 10:09:46 +0100 fslview (4.0.1-4) unstable; urgency=medium diff -Nru fslview-4.0.1/debian/compat fslview-4.0.1/debian/compat --- fslview-4.0.1/debian/compat 2014-05-07 18:06:29.000000000 +0000 +++ fslview-4.0.1/debian/compat 2015-08-22 10:50:48.000000000 +0000 @@ -1 +1 @@ -7 +9 diff -Nru fslview-4.0.1/debian/control fslview-4.0.1/debian/control --- fslview-4.0.1/debian/control 2015-08-12 02:09:59.000000000 +0000 +++ fslview-4.0.1/debian/control 2015-08-22 12:17:55.000000000 +0000 @@ -1,16 +1,16 @@ Source: fslview Section: science Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: NeuroDebian Team +Maintainer: NeuroDebian Team Uploaders: Michael Hanke , Yaroslav Halchenko -Build-Depends: debhelper (>= 7.0.50~), libboost-dev, libvtk5-qt4-dev, +Build-Depends: debhelper (>= 9~), libboost-dev, libvtk5-dev, libvtk5-qt4-dev, libqwt5-qt4-dev, libqt4-dev, libnewmat10-dev, cmake, imagemagick, - libnifti-dev, libqtassistantclient-dev -Standards-Version: 3.9.3 + libnifti-dev, libqtassistantclient-dev, xdotool, xvfb, xauth +Standards-Version: 3.9.6 Homepage: http://www.fmrib.ox.ac.uk/fsl/fslview Vcs-Browser: http://git.debian.org/?p=pkg-exppsy/fslview.git Vcs-Git: git://git.debian.org/git/pkg-exppsy/fslview.git +Testsuite: autopkgtest Package: fslview diff -Nru fslview-4.0.1/debian/fslview.menu fslview-4.0.1/debian/fslview.menu --- fslview-4.0.1/debian/fslview.menu 2014-05-07 18:06:29.000000000 +0000 +++ fslview-4.0.1/debian/fslview.menu 2015-08-22 10:55:54.000000000 +0000 @@ -3,6 +3,6 @@ section="Applications/Science/Medicine" \ title="FSLView" \ longtitle="FSL Image Viewer for (f)MRI and DTI" \ - icon="fslview.xpm" \ + icon="/usr/share/pixmaps/fslview.xpm" \ command="/usr/bin/fslview" \ hints="MRI,fMRI,FSL" diff -Nru fslview-4.0.1/debian/patches/series fslview-4.0.1/debian/patches/series --- fslview-4.0.1/debian/patches/series 2014-05-07 18:06:29.000000000 +0000 +++ fslview-4.0.1/debian/patches/series 2015-08-22 10:39:46.000000000 +0000 @@ -5,3 +5,4 @@ reenable_atlasquery fix_probabalistic enh_statistics_atlas +#vtk6.patch diff -Nru fslview-4.0.1/debian/patches/vtk6.patch fslview-4.0.1/debian/patches/vtk6.patch --- fslview-4.0.1/debian/patches/vtk6.patch 1970-01-01 00:00:00.000000000 +0000 +++ fslview-4.0.1/debian/patches/vtk6.patch 2015-08-21 12:54:38.000000000 +0000 @@ -0,0 +1,504 @@ +Description: Switch to VTK6 +Author: Anton Gladky +Bug-Debian: http://bugs.debian.org/749531 +Last-Update: 2014-05-27 + +Index: fslview-4.0.1/src/fslview/vtkmeshsurface.cpp +=================================================================== +--- fslview-4.0.1.orig/src/fslview/vtkmeshsurface.cpp ++++ fslview-4.0.1/src/fslview/vtkmeshsurface.cpp +@@ -53,19 +53,19 @@ VTKMeshSurface::VTKMeshSurface(vtkRender + xform->Scale(-1, 1, 1); + + vtkTransformPolyDataFilter* trans = vtkTransformPolyDataFilter::New(); +- trans->SetInput(m_model->GetOutput()); ++ trans->SetInputData(m_model->GetOutput()); + trans->SetTransform(xform); + + m_warp = vtkWarpVector::New(); +- m_warp->SetInput(trans->GetOutput()); ++ m_warp->SetInputData(trans->GetOutput()); + m_warp->SetScaleFactor(m_warpFactor); + + m_modelNormals = vtkPolyDataNormals::New(); +- m_modelNormals->SetInput(m_warp->GetPolyDataOutput()); ++ m_modelNormals->SetInputData(m_warp->GetPolyDataOutput()); + m_modelNormals->SetFeatureAngle(60); + + m_modelMap=vtkPolyDataMapper::New(); +- m_modelMap->SetInput(m_modelNormals->GetOutput()); ++ m_modelMap->SetInputData(m_modelNormals->GetOutput()); + m_modelMap->ScalarVisibilityOn(); + m_modelMap->SetScalarRange(m_lower, m_upper); + // m_modelMap->SetScalarModeToUseCellData(); +@@ -76,15 +76,15 @@ VTKMeshSurface::VTKMeshSurface(vtkRender + ///************This deals with creation of vector arrows******************// + + m_thresh = vtkThresholdPoints::New(); +- m_thresh->SetInput(trans->GetOutput()); ++ m_thresh->SetInputData(trans->GetOutput()); + m_thresh->ThresholdByUpper(m_lower); + + //Create GLyphs + m_arrow = vtkArrowSource::New(); + //Something to turn on off and scale ..... + m_glyph = vtkGlyph3D::New(); +- m_glyph->SetInput(m_thresh->GetOutput()); +- m_glyph->SetSource(m_arrow->GetOutput()); ++ m_glyph->SetInputData(m_thresh->GetOutput()); ++ m_glyph->SetSourceData(m_arrow->GetOutput()); + m_glyph->SetScaleModeToScaleByVector(); + m_glyph->SetColorModeToColorByScalar(); + m_glyph->SetVectorModeToUseVector(); +@@ -94,7 +94,7 @@ VTKMeshSurface::VTKMeshSurface(vtkRender + m_glyph->SetRange(0,1); + + m_glyphMap = vtkPolyDataMapper::New(); +- m_glyphMap->SetInput(m_glyph->GetOutput()); ++ m_glyphMap->SetInputData(m_glyph->GetOutput()); + m_glyphMap->ScalarVisibilityOn(); + ///This should me the same as for the surface + m_glyphMap->SetScalarRange(m_lower, m_upper); +Index: fslview-4.0.1/src/fslview/vtkwidget.cpp +=================================================================== +--- fslview-4.0.1.orig/src/fslview/vtkwidget.cpp ++++ fslview-4.0.1/src/fslview/vtkwidget.cpp +@@ -92,7 +92,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + +@@ -173,7 +173,7 @@ public: + if(m_props->inqOpacity() != 1.0) + { + cout << "Disconnect sorter" << endl; +- m_mapper->SetInput(m_clipper->GetOutput()); ++ m_mapper->SetInputData(m_clipper->GetOutput()); + } + break; + case vtkCommand::EndInteractionEvent: +@@ -181,7 +181,7 @@ public: + if(m_props->inqOpacity() != 1.0) + { + cout << "Connect sorter" << endl; +- m_mapper->SetInput(m_sorter->GetOutput()); ++ m_mapper->SetInputData(m_sorter->GetOutput()); + } + break; + default: +@@ -351,9 +351,7 @@ public: + m_imageData = vtkImageData::New(); + m_imageData->SetDimensions(ii->inqX(), ii->inqY(), ii->inqZ()); + m_imageData->SetSpacing(ii->inqXDim(), ii->inqYDim(), ii->inqZDim()); +- m_imageData->SetScalarTypeToFloat(); +- m_imageData->SetNumberOfScalarComponents(1); +- m_imageData->AllocateScalars(); ++ m_imageData->AllocateScalars(VTK_INT,1); + + float *ptr = (float *)m_imageData->GetScalarPointer(); + for(int z = 0; z < ii->inqZ(); ++z) +@@ -370,7 +368,7 @@ public: + + m_layerRGBA = vtkImageMapToColors::New(); + m_layerRGBA->SetOutputFormatToRGBA(); +- m_layerRGBA->SetInput(m_imageData); ++ m_layerRGBA->SetInputData(m_imageData); + m_layerRGBA->SetLookupTable(m_imageLut); + } + +@@ -398,7 +396,7 @@ public: + { + if(!m_layerMapper) + m_layerMapper = vtkPolyDataMapper::New(); +- m_layerMapper->SetInput(GetSurface()); ++ m_layerMapper->SetInputData(GetSurface()); + m_layerMapper->SetColorModeToMapScalars(); + m_layerMapper->UseLookupTableScalarRangeOn(); + m_layerMapper->SetLookupTable(getSurfaceLut()); +@@ -409,9 +407,9 @@ public: + // virtual void setSorting(bool sorting) + // { + // if(sorting) +-// m_normals->SetInput(m_smooth->GetOutput()); ++// m_normals->SetInputData(m_smooth->GetOutput()); + // else +-// m_normals->SetInput(m_sorter->GetOutput()); ++// m_normals->SetInputData(m_sorter->GetOutput()); + // } + + void Render() { m_ren->GetRenderWindow()->Render(); } +@@ -462,7 +460,7 @@ public: + m_layerRGBA->SetLookupTable(m_imageLut); + + // And IsoSurface +- m_th->SetInput(m_imageData); ++ m_th->SetInputData(m_imageData); + m_th->ThresholdByUpper(bc->inqMin()); + m_th->SetOutValue(0.0); + m_th->SetInValue(1.0); +@@ -472,36 +470,36 @@ public: + m_th->UpdateInformation(); + + // vtkImageDilateErode3D *mcdil = vtkImageDilateErode3D::New(); +-// mcdil->SetInput(m_th->GetOutput()); ++// mcdil->SetInputData(m_th->GetOutput()); + // mcdil->SetKernelSize(2, 2, 2); + // mcdil->SetDilateValue(1); + // mcdil->SetErodeValue(0); + + vtkMarchingCubes *mclayer = vtkMarchingCubes::New(); +- mclayer->SetInput(m_th->GetOutput()); ++ mclayer->SetInputData(m_th->GetOutput()); + mclayer->SetValue(0,0.5); + mclayer->ComputeNormalsOn(); + + vtkDecimatePro *mcdecim = vtkDecimatePro::New(); +- mcdecim->SetInput(mclayer->GetOutput()); ++ mcdecim->SetInputData(mclayer->GetOutput()); + mcdecim->PreserveTopologyOn(); + mcdecim->SplittingOn(); + mcdecim->BoundaryVertexDeletionOn(); + +- m_smooth->SetInput(mcdecim->GetOutput()); ++ m_smooth->SetInputData(mcdecim->GetOutput()); + m_smooth->SetNumberOfIterations(5); + m_smooth->SetFeatureAngle(150); + m_smooth->SetFeatureEdgeSmoothing(true); + m_smooth->SetBoundarySmoothing(true); + m_smooth->SetRelaxationFactor(0.5); + +- m_normals->SetInput(m_smooth->GetOutput()); ++ m_normals->SetInputData(m_smooth->GetOutput()); + m_normals->SplittingOn(); + m_normals->ConsistencyOn(); + m_normals->NonManifoldTraversalOff(); + m_normals->SetFeatureAngle(150); + +-// m_sorter->SetInput(m_smooth->GetOutput()); ++// m_sorter->SetInputData(m_smooth->GetOutput()); + // m_sorter->SetCamera(ren->GetActiveCamera()); + // m_sorter->SortScalarsOn(); + // m_sorter->SetDirectionToBackToFront(); +@@ -511,7 +509,7 @@ public: + { + if(!m_layerMapper) + m_layerMapper = vtkPolyDataMapper::New(); +- m_layerMapper->SetInput(GetSurface()); ++ m_layerMapper->SetInputData(GetSurface()); + m_layerMapper->SetColorModeToMapScalars(); + m_layerMapper->UseLookupTableScalarRangeOn(); + getSurfaceLut()->SetRange(0, 1); +@@ -556,7 +554,7 @@ public: + + // And IsoSurface + m_th = vtkImageThreshold::New(); +- m_th->SetInput(m_imageData); ++ m_th->SetInputData(m_imageData); + m_th->ThresholdByUpper(0.5); + m_th->ReplaceOutOn(); + m_th->SetOutputScalarTypeToFloat(); +@@ -564,35 +562,35 @@ public: + m_th->UpdateInformation(); + + vtkDiscreteMarchingCubes *mclayer = vtkDiscreteMarchingCubes::New(); +- mclayer->SetInput(m_th->GetOutput()); ++ mclayer->SetInputData(m_th->GetOutput()); + unsigned int nlayers(int(bc->inqMax()) - int(bc->inqMin())); + mclayer->GenerateValues(nlayers, 1, nlayers); + + vtkCellDataToPointData *c2p = vtkCellDataToPointData::New(); +- c2p->SetInput(mclayer->GetOutput()); ++ c2p->SetInputData(mclayer->GetOutput()); + c2p->PassCellDataOn(); + c2p->UpdateInformation(); + + vtkDecimatePro *mcdecim = vtkDecimatePro::New(); +- mcdecim->SetInput(c2p->GetPolyDataOutput()); ++ mcdecim->SetInputData(c2p->GetPolyDataOutput()); + mcdecim->PreserveTopologyOn(); + mcdecim->SplittingOn(); + mcdecim->BoundaryVertexDeletionOn(); + +- m_smooth->SetInput(mcdecim->GetOutput()); ++ m_smooth->SetInputData(mcdecim->GetOutput()); + m_smooth->SetNumberOfIterations(2); + // m_smooth->SetFeatureAngle(150); + // m_smooth->SetFeatureEdgeSmoothing(true); + // m_smooth->SetBoundarySmoothing(false); + // m_smooth->SetRelaxationFactor(0.1); + +- m_normals->SetInput(m_smooth->GetOutput()); ++ m_normals->SetInputData(m_smooth->GetOutput()); + m_normals->SplittingOn(); + m_normals->ConsistencyOn(); + m_normals->NonManifoldTraversalOff(); + m_normals->SetFeatureAngle(150); + +-// m_sorter->SetInput(m_smooth->GetOutput()); ++// m_sorter->SetInputData(m_smooth->GetOutput()); + // m_sorter->SetCamera(ren->GetActiveCamera()); + // m_sorter->SortScalarsOn(); + // m_sorter->SetDirectionToBackToFront(); +@@ -613,7 +611,7 @@ public: + ImagePipelineObject(mi, ren) + { + m_thresh = vtkImageThreshold::New(); +- m_thresh->SetInput(m_imageData); ++ m_thresh->SetInputData(m_imageData); + m_thresh->ThresholdByUpper(props.inqLowerThreshold()); + m_thresh->SetOutputScalarTypeToFloat(); + m_thresh->ReplaceOutOn(); +@@ -625,35 +623,35 @@ public: + float r(props.inqRadius()); + + m_gaussian = vtkImageGaussianSmooth::New(); +- m_gaussian->SetInput(m_thresh->GetOutput()); ++ m_gaussian->SetInputData(m_thresh->GetOutput()); + m_gaussian->SetDimensionality(3); + m_gaussian->SetStandardDeviations(sd, sd, sd); + m_gaussian->SetRadiusFactors(r, r, r); + + m_mc = vtkMarchingCubes::New(); +- m_mc->SetInput(m_gaussian->GetOutput()); ++ m_mc->SetInputData(m_gaussian->GetOutput()); + m_mc->SetValue(0, props.inqMcThreshold()); + + vtkPolyDataConnectivityFilter *connect = vtkPolyDataConnectivityFilter::New(); +- connect->SetInput(m_mc->GetOutput()); ++ connect->SetInputData(m_mc->GetOutput()); + connect->SetExtractionModeToLargestRegion(); + + vtkDecimatePro *decim = vtkDecimatePro::New(); +- decim->SetInput(connect->GetOutput()); ++ decim->SetInputData(connect->GetOutput()); + decim->PreserveTopologyOn(); + decim->SplittingOn(); + +- m_smooth->SetInput(decim->GetOutput()); ++ m_smooth->SetInputData(decim->GetOutput()); + m_smooth->SetNumberOfIterations(props.inqIterations()); + m_smooth->SetRelaxationFactor(props.inqRelaxationFactor()); + +- m_normals->SetInput(m_smooth->GetOutput()); ++ m_normals->SetInputData(m_smooth->GetOutput()); + m_normals->SplittingOn(); + m_normals->ConsistencyOn(); + m_normals->NonManifoldTraversalOff(); + m_normals->SetFeatureAngle(props.inqFeatureAngle()); + +-// m_sorter->SetInput(m_smooth->GetOutput()); ++// m_sorter->SetInputData(m_smooth->GetOutput()); + // m_sorter->SortScalarsOn(); + // m_sorter->SetCamera(ren->GetActiveCamera()); + // m_sorter->SetDirectionToBackToFront(); +@@ -790,7 +788,7 @@ VTKWidget::VTKWidget(QWidget *parent, + + vtkImageBlend *blend = vtkImageBlend::New(); + blend->SetBlendModeToNormal(); +- blend->AddInput(m_impl->m_mainImage->GetOutputRGBA()); ++ blend->AddInputData(m_impl->m_mainImage->GetOutputRGBA()); + + unsigned int count(1); + MetaImageListIt it = ol->begin(); +@@ -810,9 +808,7 @@ VTKWidget::VTKWidget(QWidget *parent, + vtkImageData *layer = vtkImageData::New(); + layer->SetDimensions(info->inqX(), info->inqY(), info->inqZ()); + layer->SetSpacing(info->inqXDim(), info->inqYDim(), info->inqZDim()); +- layer->SetScalarTypeToFloat(); +- layer->SetNumberOfScalarComponents(1); +- layer->AllocateScalars(); ++ layer->AllocateScalars(VTK_INT,1); + + // vtkPoints *points = vtkPoints::New(); + // vtkFloatArray *tensors = vtkFloatArray::New(); +@@ -841,7 +837,7 @@ VTKWidget::VTKWidget(QWidget *parent, + StatsImage::Handle si(new StatsImage(mi, ren)); + + MESSAGE("Blending in stat image"); +- blend->AddInput(si->GetOutputRGBA()); ++ blend->AddInputData(si->GetOutputRGBA()); + blend->SetOpacity(count, 1.0); count++; + + vtkActor *layerActor = vtkActor::New(); +@@ -897,13 +893,13 @@ VTKWidget::VTKWidget(QWidget *parent, + // vtkTensorGlyph *glyph = vtkTensorGlyph::New(); + // glyph->ExtractEigenvaluesOff(); + // // glyph->ThreeGlyphsOn(); +-// glyph->SetInput(tensorData); +-// glyph->SetSource(sphere->GetOutput()); ++// glyph->SetInputData(tensorData); ++// glyph->SetSourceData(sphere->GetOutput()); + + // vtkPolyDataNormals *normals = vtkPolyDataNormals::New(); +-// normals->SetInput(glyph->GetOutput()); ++// normals->SetInputData(glyph->GetOutput()); + // vtkPolyDataMapper *ellipseMapper = vtkPolyDataMapper::New(); +-// ellipseMapper->SetInput(normals->GetOutput()); ++// ellipseMapper->SetInputData(normals->GetOutput()); + + // LookUpTable::Handle lh(mi->getDs()->inqLookUpTable()); + // vtkLookupTable *thisLut; +@@ -934,10 +930,10 @@ VTKWidget::VTKWidget(QWidget *parent, + vtkPolyData *pd = vtkPolyData::New(); + box->GetPolyData(pd); + +- m_impl->m_clipper->SetInput(m_impl->m_mainImage->GetSurface()); ++ m_impl->m_clipper->SetInputData(m_impl->m_mainImage->GetSurface()); + m_impl->m_clipper->SetClipFunction(planes); + +- m_impl->m_sorter->SetInput(m_impl->m_clipper->GetOutput()); ++ m_impl->m_sorter->SetInputData(m_impl->m_clipper->GetOutput()); + m_impl->m_sorter->SetCamera(ren->GetActiveCamera()); + m_impl->m_sorter->SortScalarsOn(); + m_impl->m_sorter->SetDirectionToBackToFront(); +@@ -945,11 +941,11 @@ VTKWidget::VTKWidget(QWidget *parent, + vtkPolyData *ds = m_impl->m_mainImage->GetSurface(); + if(m_impl->m_props.inqClipping()) + ds = m_impl->m_clipper->GetOutput(); +- m_impl->m_sorter->SetInput(ds); ++ m_impl->m_sorter->SetInputData(ds); + if(m_impl->m_props.inqOpacity() != 1.0) +- m_impl->m_surfMapper->SetInput(m_impl->m_sorter->GetOutput()); ++ m_impl->m_surfMapper->SetInputData(m_impl->m_sorter->GetOutput()); + else +- m_impl->m_surfMapper->SetInput(ds); ++ m_impl->m_surfMapper->SetInputData(ds); + m_impl->m_surfMapper->ScalarVisibilityOff(); + + // vtkTransform *boxXForm = vtkTransform::New(); +@@ -1007,7 +1003,7 @@ VTKWidget::VTKWidget(QWidget *parent, + ps->SetYResolution(100); + + vtkTransformPolyDataFilter *xform = vtkTransformPolyDataFilter::New(); +- xform->SetInput(ps->GetOutput()); ++ xform->SetInputData(ps->GetOutput()); + xform->SetTransform(boxXForm); + + vtkImplicitDataSet *clipFun = vtkImplicitDataSet::New(); +@@ -1016,19 +1012,19 @@ VTKWidget::VTKWidget(QWidget *parent, + + vtkClipPolyData *clipPoly = vtkClipPolyData::New(); + clipPoly->SetClipFunction(clipFun); +- clipPoly->SetInput(xform->GetOutput()); ++ clipPoly->SetInputData(xform->GetOutput()); + + vtkProbeFilter *probe = vtkProbeFilter::New(); +- probe->SetInput(clipPoly->GetOutput()); +- probe->SetSource(blend->GetOutput()); ++ probe->SetInputData(clipPoly->GetOutput()); ++ probe->SetSourceData(blend->GetOutput()); + + // vtkPolyDataWriter *pdw = vtkPolyDataWriter::New(); +-// pdw->SetInput(probe->GetPolyDataOutput()); ++// pdw->SetInputData(probe->GetPolyDataOutput()); + // pdw->SetFileName("/tmp/Goop"); + // pdw->Write(); + + vtkPolyDataMapper *mapper = vtkPolyDataMapper::New(); +- mapper->SetInput(probe->GetPolyDataOutput()); ++ mapper->SetInputData(probe->GetPolyDataOutput()); + + m_impl->m_cutActor[p]->SetMapper(mapper); + m_impl->m_cutActor[p]->GetProperty()->SetAmbient(1.0); +@@ -1041,21 +1037,21 @@ VTKWidget::VTKWidget(QWidget *parent, + } + + vtkImagePlaneWidget *planex = vtkImagePlaneWidget::New(); +- planex->SetInput(m_impl->m_mainImage->GetThreshOutput()); ++ planex->SetInputData(m_impl->m_mainImage->GetThreshOutput()); + planex->SetPlaneOrientationToXAxes(); + planex->GetColorMap()->GetLookupTable()->SetAlpha(0.6); + planex->SetKeyPressActivationValue('x'); + planex->GetTexturePlaneProperty()->SetOpacity(1); + planex->DisplayTextOn(); + vtkImagePlaneWidget *planey = vtkImagePlaneWidget::New(); +- planey->SetInput(m_impl->m_mainImage->GetThreshOutput()); ++ planey->SetInputData(m_impl->m_mainImage->GetThreshOutput()); + planey->SetPlaneOrientationToYAxes(); + planey->GetColorMap()->GetLookupTable()->SetAlpha(0.6); + planey->SetKeyPressActivationValue('y'); + planey->GetTexturePlaneProperty()->SetOpacity(1); + planey->DisplayTextOn(); + vtkImagePlaneWidget *planez = vtkImagePlaneWidget::New(); +- planez->SetInput(m_impl->m_mainImage->GetThreshOutput()); ++ planez->SetInputData(m_impl->m_mainImage->GetThreshOutput()); + planez->SetPlaneOrientationToZAxes(); + planez->GetColorMap()->GetLookupTable()->SetAlpha(0.6); + planez->SetKeyPressActivationValue('z'); +@@ -1138,12 +1134,12 @@ void VTKWidget::update(const VTKProperti + for(int p = 0; p < 6; ++p) + m_impl->m_cutActor[p]->VisibilityOff(); + } +- m_impl->m_sorter->SetInput(ds); ++ m_impl->m_sorter->SetInputData(ds); + + if(m_impl->m_ol->getMainMetaImage()->inqTransparency() != 1.0) +- m_impl->m_surfMapper->SetInput(m_impl->m_sorter->GetOutput()); ++ m_impl->m_surfMapper->SetInputData(m_impl->m_sorter->GetOutput()); + else +- m_impl->m_surfMapper->SetInput(ds); ++ m_impl->m_surfMapper->SetInputData(ds); + + QApplication::setOverrideCursor( QCursor(Qt::WaitCursor) ); + m_vtkwidget->GetRenderWindow()->Render(); +@@ -1162,11 +1158,11 @@ void VTKWidget::update(const OverlayList + vtkPolyData *ds = m_impl->m_mainImage->GetSurface(); + if(m_impl->m_props.inqClipping()) + ds = m_impl->m_clipper->GetOutput(); +- m_impl->m_sorter->SetInput(ds); // AddInputConnection() ++ m_impl->m_sorter->SetInputData(ds); // AddInputConnection() + if(m_impl->m_ol->getMainMetaImage()->inqTransparency() != 1.0) +- m_impl->m_surfMapper->SetInput(m_impl->m_sorter->GetOutput()); ++ m_impl->m_surfMapper->SetInputData(m_impl->m_sorter->GetOutput()); + else +- m_impl->m_surfMapper->SetInput(ds); ++ m_impl->m_surfMapper->SetInputData(ds); + + unsigned int count(0); + +@@ -1210,7 +1206,7 @@ void VTKWidget::print() + + w2i->SetInput(m_vtkwidget->GetRenderWindow()); + w2i->Update(); +- writer->SetInput(w2i->GetOutput()); ++ writer->SetInputData(w2i->GetOutput()); + writer->SetFileName((const char *)fn); + QApplication::setOverrideCursor( QCursor(Qt::WaitCursor) ); + m_vtkwidget->GetRenderWindow()->Render(); +@@ -1261,11 +1257,11 @@ void VTKWidget::options() + m_impl->m_props.inqColor(cr, cg, cb); + m_impl->m_brainActor->GetProperty()->SetColor(cr, cg, cb); + if(m_impl->m_props.inqOpacity() != 1.0) +- m_impl->m_surfMapper->SetInput(m_impl->m_sorter->GetOutput()); ++ m_impl->m_surfMapper->SetInputData(m_impl->m_sorter->GetOutput()); + else if(m_impl->m_props.inqClipping()) +- m_impl->m_surfMapper->SetInput(m_impl->m_clipper->GetOutput()); ++ m_impl->m_surfMapper->SetInputData(m_impl->m_clipper->GetOutput()); + else +- m_impl->m_surfMapper->SetInput(m_impl->m_mainImage->GetSurface()); ++ m_impl->m_surfMapper->SetInputData(m_impl->m_mainImage->GetSurface()); + + QApplication::setOverrideCursor( QCursor(Qt::WaitCursor) ); + m_vtkwidget->GetRenderWindow()->Render(); +Index: fslview-4.0.1/src/fslview/CMakeLists.txt +=================================================================== +--- fslview-4.0.1.orig/src/fslview/CMakeLists.txt ++++ fslview-4.0.1/src/fslview/CMakeLists.txt +@@ -250,7 +250,7 @@ TARGET_LINK_LIBRARIES( fslview ${QT_LIBR + TARGET_LINK_LIBRARIES( fslview miscmaths newmat utils ) + #TARGET_LINK_LIBRARIES( fslview qassistantclient ) + TARGET_LINK_LIBRARIES( fslview ${QWT_LIBRARIES} ) +-TARGET_LINK_LIBRARIES( fslview vtkHybrid vtkWidgets QVTK ) ++TARGET_LINK_LIBRARIES( fslview ${VTK_LIBRARIES} ) + + IF(UNIX) + # TARGET_LINK_LIBRARIES( fslview ${FSLVIEW_BINARY_DIR}/lib/libfslio.a ) +@@ -282,3 +282,4 @@ REMOVE(srcs main.cpp) + # ADD_TEST(${TName} ${EXECUTABLE_OUTPUT_PATH}/atlastests ${TName}) + #ENDFOREACH (test) + ++ diff -Nru fslview-4.0.1/debian/repackage-fsl fslview-4.0.1/debian/repackage-fsl --- fslview-4.0.1/debian/repackage-fsl 2014-05-07 18:06:29.000000000 +0000 +++ fslview-4.0.1/debian/repackage-fsl 2014-12-21 09:04:45.000000000 +0000 @@ -17,6 +17,10 @@ ORIG_VERSION=$1 ORIGSRC=$2 +if [ -z "$ORIG_VERSION" -o -z "$ORIGSRC" ]; then + echo "Call with: " + exit 1 +fi # put upstream source tarball into working dir ORIGSRC_PATH=$(readlink -f ${ORIGSRC}) cd $WDIR @@ -74,8 +78,8 @@ rm -rf fsl/src/fslview/$p done -# remove excessive wiki attachments -rm -r fsl/doc/wiki/attachments/BASIL*Tutorial +# remove all of the wiki (goes into data package) +rm -r fsl/doc/wiki # Unecessarily many files have executable permissions. echo "Fix file permissions" diff -Nru fslview-4.0.1/debian/rules fslview-4.0.1/debian/rules --- fslview-4.0.1/debian/rules 2014-05-07 18:06:29.000000000 +0000 +++ fslview-4.0.1/debian/rules 2015-08-22 11:19:19.000000000 +0000 @@ -1,11 +1,11 @@ #!/usr/bin/make -f +LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) + # attempt to fix/workaround #502083 AS_NEEDED_BROKEN = zarmelz zarmebz -ifneq (,$(findstring z$(DEB_HOST_ARCH)z,$(AS_NEEDED_BROKEN))) -LDFLAGS = -else -LDFLAGS = -Wl,--as-needed -Wl,--no-undefined +ifeq (,$(findstring z$(DEB_HOST_ARCH)z,$(AS_NEEDED_BROKEN))) +LDFLAGS += -Wl,--as-needed -Wl,--no-undefined endif # The CMake flags for Debian: @@ -52,6 +52,9 @@ override_dh_auto_test:: # disabled because tests rely on FSL environment which is provided by a # non-free package + # but we at least fire up the binary + debian/run_tests ./obj*/bin/fslview 10 ctrl+q + # do not compress the html docs as they are used as online help sources # for FSLView via the Qt-Assistant diff -Nru fslview-4.0.1/debian/run_tests fslview-4.0.1/debian/run_tests --- fslview-4.0.1/debian/run_tests 1970-01-01 00:00:00.000000000 +0000 +++ fslview-4.0.1/debian/run_tests 2015-08-21 11:47:05.000000000 +0000 @@ -0,0 +1,27 @@ +#!/bin/bash +#emacs: -*- mode: shell-script; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*- +#ex: set sts=4 ts=4 sw=4 noet: + +set -u + +XVFB_OPTS="-screen 0 1024x768x24 -ac +extension GLX +render -noreset" + +testcmd=$1 +runtimelimit=$2 +keysequence=$3 +startdelay=$(($runtimelimit - 5)) +hardtimelimit=$(($runtimelimit + 5)) + +xvfb-run --auto-servernum --server-num=20 -s "$XVFB_OPTS" \ +bash -c "(xdotool sleep $startdelay key $3 2>/dev/null 1>&2;) & \ + timeout --kill-after=$hardtimelimit $runtimelimit \ + $testcmd" +rv=$? +if [ $rv != 0 ]; then + if [ $rv = 124 ]; then st='TIMEOUT'; + elif [ $rv = 123 ]; then st='SKIPPED'; + else st="EXIT CODE $rv" + fi + echo $st + exit $rv +fi diff -Nru fslview-4.0.1/debian/tests/control fslview-4.0.1/debian/tests/control --- fslview-4.0.1/debian/tests/control 1970-01-01 00:00:00.000000000 +0000 +++ fslview-4.0.1/debian/tests/control 2015-08-22 12:18:51.000000000 +0000 @@ -0,0 +1,2 @@ +Test-Command: debian/run_tests "fslview /usr/share/mricron/templates/ch2bet.nii.gz" 10 ctrl+q +Depends: fslview, mricron-data, xvfb, xdotool, xauth File /tmp/4FvJskYkbz/fslview-4.0.1/debian/upstream is a regular file while file /tmp/JLV50TROXE/fslview-4.0.1/debian/upstream is a directory