Merge branch 'master' into epel7

Updating to 2.8
This commit is contained in:
Dave Johansen 2015-06-09 20:35:50 -07:00
commit 29b099fc66
7 changed files with 491 additions and 38 deletions

2
.gitignore vendored
View File

@ -12,3 +12,5 @@ qgis_1.5.0.tar.gz
/qgis-2.4.0.tar.bz2 /qgis-2.4.0.tar.bz2
/qgis-2.6.0.tar.bz2 /qgis-2.6.0.tar.bz2
/qgis-2.6.1.tar.bz2 /qgis-2.6.1.tar.bz2
/qgis-2.8.1.tar.bz2
/qgis-2.8.2.tar.bz2

430
qgis-2.8.1-arm.patch Normal file
View File

@ -0,0 +1,430 @@
commit 1aff7335d004bc410eb61e1436ee7648716f9319
Author: Juergen E. Fischer <jef@norbit.de>
Date: Mon Mar 9 09:27:27 2015 +0100
fix arm build
diff --git a/src/app/qgsdecorationgrid.cpp b/src/app/qgsdecorationgrid.cpp
index ba2f8c0..ba7735d 100644
--- a/src/app/qgsdecorationgrid.cpp
+++ b/src/app/qgsdecorationgrid.cpp
@@ -217,14 +217,14 @@ void QgsDecorationGrid::render( QPainter * p )
// p->setPen( mGridPen );
- QList< QPair< double, QLineF > > verticalLines;
+ QList< QPair< qreal, QLineF > > verticalLines;
yGridLines( verticalLines );
- QList< QPair< double, QLineF > > horizontalLines;
+ QList< QPair< qreal, QLineF > > horizontalLines;
xGridLines( horizontalLines );
//QgsDebugMsg( QString("grid has %1 vertical and %2 horizontal lines").arg( verticalLines.size() ).arg( horizontalLines.size() ) );
- QList< QPair< double, QLineF > >::const_iterator vIt = verticalLines.constBegin();
- QList< QPair< double, QLineF > >::const_iterator hIt = horizontalLines.constBegin();
+ QList< QPair< qreal, QLineF > >::const_iterator vIt = verticalLines.constBegin();
+ QList< QPair< qreal, QLineF > >::const_iterator hIt = horizontalLines.constBegin();
//simpler approach: draw vertical lines first, then horizontal ones
if ( mGridStyle == QgsDecorationGrid::Line )
@@ -338,7 +338,7 @@ void QgsDecorationGrid::render( QPainter * p )
}
}
-void QgsDecorationGrid::drawCoordinateAnnotations( QPainter* p, const QList< QPair< double, QLineF > >& hLines, const QList< QPair< double, QLineF > >& vLines )
+void QgsDecorationGrid::drawCoordinateAnnotations( QPainter* p, const QList< QPair< qreal, QLineF > >& hLines, const QList< QPair< qreal, QLineF > >& vLines )
{
if ( !p )
{
@@ -346,7 +346,7 @@ void QgsDecorationGrid::drawCoordinateAnnotations( QPainter* p, const QList< QPa
}
QString currentAnnotationString;
- QList< QPair< double, QLineF > >::const_iterator it = hLines.constBegin();
+ QList< QPair< qreal, QLineF > >::const_iterator it = hLines.constBegin();
for ( ; it != hLines.constEnd(); ++it )
{
currentAnnotationString = QString::number( it->first, 'f', mGridAnnotationPrecision );
@@ -566,7 +566,7 @@ QPolygonF canvasExtent()
return poly;
}
-int QgsDecorationGrid::xGridLines( QList< QPair< double, QLineF > >& lines ) const
+int QgsDecorationGrid::xGridLines( QList< QPair< qreal, QLineF > >& lines ) const
{
// prepare horizontal lines
lines.clear();
@@ -612,7 +612,7 @@ int QgsDecorationGrid::xGridLines( QList< QPair< double, QLineF > >& lines ) con
return 0;
}
-int QgsDecorationGrid::yGridLines( QList< QPair< double, QLineF > >& lines ) const
+int QgsDecorationGrid::yGridLines( QList< QPair< qreal, QLineF > >& lines ) const
{
// prepare vertical lines
diff --git a/src/app/qgsdecorationgrid.h b/src/app/qgsdecorationgrid.h
index 22f4549..3ad7ebf 100644
--- a/src/app/qgsdecorationgrid.h
+++ b/src/app/qgsdecorationgrid.h
@@ -199,7 +199,7 @@ class APP_EXPORT QgsDecorationGrid: public QgsDecorationItem
@param p drawing painter
@param hLines horizontal coordinate lines in item coordinates
@param vLines vertical coordinate lines in item coordinates*/
- void drawCoordinateAnnotations( QPainter* p, const QList< QPair< double, QLineF > >& hLines, const QList< QPair< double, QLineF > >& vLines );
+ void drawCoordinateAnnotations( QPainter* p, const QList< QPair< qreal, QLineF > >& hLines, const QList< QPair< qreal, QLineF > >& vLines );
void drawCoordinateAnnotation( QPainter* p, const QPointF& pos, QString annotationString );
/**Draws a single annotation
@param p drawing painter
@@ -209,10 +209,10 @@ class APP_EXPORT QgsDecorationGrid: public QgsDecorationItem
void drawAnnotation( QPainter* p, const QPointF& pos, int rotation, const QString& annotationText );
/**Returns the grid lines with associated coordinate value
@return 0 in case of success*/
- int xGridLines( QList< QPair< double, QLineF > >& lines ) const;
+ int xGridLines( QList< QPair< qreal, QLineF > >& lines ) const;
/**Returns the grid lines for the y-coordinates. Not vertical in case of rotation
@return 0 in case of success*/
- int yGridLines( QList< QPair< double, QLineF > >& lines ) const;
+ int yGridLines( QList< QPair< qreal, QLineF > >& lines ) const;
/**Returns the item border of a point (in item coordinates)*/
Border borderForLineCoord( const QPointF& point, QPainter* p ) const;
diff --git a/src/app/qgsmapmouseevent.cpp b/src/app/qgsmapmouseevent.cpp
index 997aaa0..631c750 100644
--- a/src/app/qgsmapmouseevent.cpp
+++ b/src/app/qgsmapmouseevent.cpp
@@ -86,8 +86,7 @@ void QgsMapMouseEvent::snapPoint()
QPoint QgsMapMouseEvent::mapToPixelCoordinates( QgsMapCanvas* canvas, const QgsPoint& point )
{
- double x = point.x();
- double y = point.y();
+ qreal x = point.x(), y = point.y();
canvas->mapSettings().mapToPixel().transformInPlace( x, y );
diff --git a/src/core/composer/qgscomposermapgrid.cpp b/src/core/composer/qgscomposermapgrid.cpp
index 7d790e6..7656be2 100644
--- a/src/core/composer/qgscomposermapgrid.cpp
+++ b/src/core/composer/qgscomposermapgrid.cpp
@@ -1838,7 +1838,7 @@ bool QgsComposerMapGrid::shouldShowDivisionForDisplayMode( const QgsComposerMapG
|| ( mode == QgsComposerMapGrid::LongitudeOnly && coordinate == QgsComposerMapGrid::Longitude );
}
-bool sortByDistance( const QPair<double, QgsComposerMapGrid::BorderSide>& a, const QPair<double, QgsComposerMapGrid::BorderSide>& b )
+bool sortByDistance( const QPair<qreal , QgsComposerMapGrid::BorderSide>& a, const QPair<qreal , QgsComposerMapGrid::BorderSide>& b )
{
return a.first < b.first;
}
@@ -1885,7 +1885,7 @@ QgsComposerMapGrid::BorderSide QgsComposerMapGrid::borderForLineCoord( const QPo
}
//otherwise, guess side based on closest map side to point
- QList< QPair<double, QgsComposerMapGrid::BorderSide > > distanceToSide;
+ QList< QPair<qreal, QgsComposerMapGrid::BorderSide > > distanceToSide;
distanceToSide << qMakePair( p.x(), QgsComposerMapGrid::Left );
distanceToSide << qMakePair( mComposerMap->rect().width() - p.x(), QgsComposerMapGrid::Right );
distanceToSide << qMakePair( p.y(), QgsComposerMapGrid::Top );
diff --git a/src/core/qgsgeometry.cpp b/src/core/qgsgeometry.cpp
index 81753c4..ab7281a 100644
--- a/src/core/qgsgeometry.cpp
+++ b/src/core/qgsgeometry.cpp
@@ -4679,7 +4679,7 @@ bool QgsGeometry::convertToMultiType()
void QgsGeometry::transformVertex( QgsWkbPtr &wkbPtr, const QTransform& trans, bool hasZValue )
{
- double x, y, rotated_x, rotated_y;
+ qreal x, y, rotated_x, rotated_y;
QgsWkbPtr tmp = wkbPtr;
tmp >> x >> y;
diff --git a/src/core/qgsgeometry.h b/src/core/qgsgeometry.h
index 46f4a7f..36d23ac 100644
--- a/src/core/qgsgeometry.h
+++ b/src/core/qgsgeometry.h
@@ -686,12 +686,18 @@ class CORE_EXPORT QgsWkbPtr
inline const QgsWkbPtr &operator>>( unsigned int &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
inline const QgsWkbPtr &operator>>( char &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
inline const QgsWkbPtr &operator>>( QGis::WkbType &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
+#ifdef QT_ARCH_ARM
+ inline const QgsWkbPtr &operator>>( qreal &v ) const { double d; memcpy( &d, mP, sizeof( d ) ); mP += sizeof( d ); v=d; return *this; }
+#endif
inline QgsWkbPtr &operator<<( const double &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
inline QgsWkbPtr &operator<<( const int &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
inline QgsWkbPtr &operator<<( const unsigned int &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
inline QgsWkbPtr &operator<<( const char &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
inline QgsWkbPtr &operator<<( const QGis::WkbType &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
+#ifdef QT_ARCH_ARM
+ inline QgsWkbPtr &operator<<( const qreal &v ) { double d = v; memcpy( mP, &d, sizeof( d ) ); mP += sizeof( d ); return *this; }
+#endif
inline void operator+=( int n ) { mP += n; }
@@ -710,6 +716,9 @@ class CORE_EXPORT QgsConstWkbPtr
inline const QgsConstWkbPtr &operator>>( unsigned int &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
inline const QgsConstWkbPtr &operator>>( char &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
inline const QgsConstWkbPtr &operator>>( QGis::WkbType &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
+#ifdef QT_ARCH_ARM
+ inline const QgsConstWkbPtr &operator>>( qreal &v ) const { double d; memcpy( &d, mP, sizeof( d ) ); mP += sizeof( d ); v=d; return *this; }
+#endif
inline void operator+=( int n ) { mP += n; }
diff --git a/src/core/qgsmaptopixel.cpp b/src/core/qgsmaptopixel.cpp
index 16ade54..08e06e4 100644
--- a/src/core/qgsmaptopixel.cpp
+++ b/src/core/qgsmaptopixel.cpp
@@ -114,22 +114,18 @@ void QgsMapToPixel::updateMatrix()
mMatrix = QTransform::fromTranslate( cx, cy )
.rotate( rotation )
.scale( 1 / mMapUnitsPerPixel, -1 / mMapUnitsPerPixel )
- .translate( -xCenter, -yCenter )
- ;
+ .translate( -xCenter, -yCenter );
}
-QgsPoint QgsMapToPixel::toMapPoint( double x, double y ) const
+QgsPoint QgsMapToPixel::toMapPoint( qreal x, qreal y ) const
{
bool invertible;
QTransform matrix = mMatrix.inverted( &invertible );
assert( invertible );
- double mx, my;
+ qreal mx, my;
matrix.map( x, y, &mx, &my );
- QgsPoint ret( mx, my );
-
//QgsDebugMsg(QString("XXX toMapPoint x:%1 y:%2 -> x:%3 y:%4").arg(x).arg(y).arg(mx).arg(my));
-
- return ret;
+ return QgsPoint( mx, my );
}
QgsPoint QgsMapToPixel::toMapCoordinates( QPoint p ) const
@@ -232,42 +228,34 @@ QString QgsMapToPixel::showParameters() const
<< " rotation: " << mRotation
<< " size: " << mWidth << "x" << mHeight;
return rep;
-
}
-
-QgsPoint QgsMapToPixel::transform( double x, double y ) const
+QgsPoint QgsMapToPixel::transform( qreal x, qreal y ) const
{
transformInPlace( x, y );
return QgsPoint( x, y );
}
-QgsPoint QgsMapToPixel::transform( const QgsPoint& p ) const
+QgsPoint QgsMapToPixel::transform( const QgsPoint &p ) const
{
- double dx = p.x();
- double dy = p.y();
- transformInPlace( dx, dy );
-
+ qreal x = p.x(), y = p.y();
+ transformInPlace( x, y );
// QgsDebugMsg(QString("Point to pixel...X : %1-->%2, Y: %3 -->%4").arg(p.x()).arg(dx).arg(p.y()).arg(dy));
- return QgsPoint( dx, dy );
+ return QgsPoint( x, y );
}
-void QgsMapToPixel::transform( QgsPoint* p ) const
+void QgsMapToPixel::transform( QgsPoint *p ) const
{
- double x = p->x();
- double y = p->y();
+ qreal x = p->x(), y = p->y();
transformInPlace( x, y );
-
-#ifdef QGISDEBUG
// QgsDebugMsg(QString("Point to pixel...X : %1-->%2, Y: %3 -->%4").arg(p->x()).arg(x).arg(p->y()).arg(y));
-#endif
p->set( x, y );
}
-void QgsMapToPixel::transformInPlace( qreal& x, qreal& y ) const
+void QgsMapToPixel::transformInPlace( qreal &x, qreal &y ) const
{
// Map 2 Pixel
- double mx, my;
+ qreal mx, my;
mMatrix.map( x, y, &mx, &my );
//QgsDebugMsg(QString("XXX transformInPlace X : %1-->%2, Y: %3 -->%4").arg(x).arg(mx).arg(y).arg(my));
x = mx; y = my;
diff --git a/src/core/qgsmaptopixel.h b/src/core/qgsmaptopixel.h
index c11fb90..081e5d1 100644
--- a/src/core/qgsmaptopixel.h
+++ b/src/core/qgsmaptopixel.h
@@ -74,7 +74,7 @@ class CORE_EXPORT QgsMapToPixel
* @param y y coordinate of point to transform
* @return QgsPoint in device coordinates
*/
- QgsPoint transform( double x, double y ) const;
+ QgsPoint transform( qreal x, qreal y ) const;
/*! Transform device coordinates to map (world) coordinates
* @param x x coordinate of point to be converted to map cooordinates
* @param y y coordinate of point to be converted to map cooordinates
@@ -110,7 +110,7 @@ class CORE_EXPORT QgsMapToPixel
*/
QgsPoint toMapCoordinates( QPoint p ) const;
- QgsPoint toMapPoint( double x, double y ) const;
+ QgsPoint toMapPoint( qreal x, qreal y ) const;
/*! Set map units per pixel
* @param mapUnitsPerPixel Map units per pixel
diff --git a/src/core/qgspallabeling.cpp b/src/core/qgspallabeling.cpp
index 768a511..b5ecc8c 100644
--- a/src/core/qgspallabeling.cpp
+++ b/src/core/qgspallabeling.cpp
@@ -2105,7 +2105,7 @@ void QgsPalLayerSettings::registerFeature( QgsFeature& f, const QgsRenderContext
QTransform t = QTransform::fromTranslate( center.x(), center.y() );
t.rotate( -m2p.mapRotation() );
t.translate( -center.x(), -center.y() );
- double xPosR, yPosR;
+ qreal xPosR, yPosR;
t.map( xPos, yPos, &xPosR, &yPosR );
xPos = xPosR; yPos = yPosR;
}
diff --git a/src/core/qgspointlocator.cpp b/src/core/qgspointlocator.cpp
index 534e7da..4bea360 100644
--- a/src/core/qgspointlocator.cpp
+++ b/src/core/qgspointlocator.cpp
@@ -268,6 +268,8 @@ struct _CohenSutherland
y = y0 + ( y1 - y0 ) * ( mRect.xMinimum() - x0 ) / ( x1 - x0 );
x = mRect.xMinimum();
}
+ else
+ break;
// Now we move outside point to intersection point to clip
// and get ready for next pass.
@@ -536,13 +538,13 @@ class QgsPointLocator_DumpTree : public SpatialIndex::IQueryStrategy
if ( !n )
return;
- qDebug( "NODE: %ld", n->getIdentifier() );
+ QgsDebugMsg( QString( "NODE: %1" ).arg( n->getIdentifier() ) );
if ( n->getLevel() > 0 )
{
// inner nodes
for ( uint32_t cChild = 0; cChild < n->getChildrenCount(); cChild++ )
{
- qDebug( "- CH: %ld", n->getChildIdentifier( cChild ) );
+ QgsDebugMsg( QString( "- CH: %1" ).arg( n->getChildIdentifier( cChild ) ) );
ids.push( n->getChildIdentifier( cChild ) );
}
}
@@ -551,7 +553,7 @@ class QgsPointLocator_DumpTree : public SpatialIndex::IQueryStrategy
// leaves
for ( uint32_t cChild = 0; cChild < n->getChildrenCount(); cChild++ )
{
- qDebug( "- L: %ld", n->getChildIdentifier( cChild ) );
+ QgsDebugMsg( QString( "- L: %1" ).arg( n->getChildIdentifier( cChild ) ) );
}
}
diff --git a/src/core/symbology-ng/qgsrendererv2.cpp b/src/core/symbology-ng/qgsrendererv2.cpp
index 73b4f22..6e114ca 100644
--- a/src/core/symbology-ng/qgsrendererv2.cpp
+++ b/src/core/symbology-ng/qgsrendererv2.cpp
@@ -39,10 +39,7 @@ const unsigned char* QgsFeatureRendererV2::_getPoint( QPointF& pt, QgsRenderCont
{
QgsConstWkbPtr wkbPtr( wkb + 1 );
unsigned int wkbType;
- wkbPtr >> wkbType;
-
- double x, y;
- wkbPtr >> x >> y;
+ wkbPtr >> wkbType >> pt.rx() >> pt.ry();
if ( wkbType == QGis::WKBPoint25D )
wkbPtr += sizeof( double );
@@ -50,12 +47,11 @@ const unsigned char* QgsFeatureRendererV2::_getPoint( QPointF& pt, QgsRenderCont
if ( context.coordinateTransform() )
{
double z = 0; // dummy variable for coordiante transform
- context.coordinateTransform()->transformInPlace( x, y, z );
+ context.coordinateTransform()->transformInPlace( pt.rx(), pt.ry(), z );
}
- context.mapToPixel().transformInPlace( x, y );
+ context.mapToPixel().transformInPlace( pt.rx(), pt.ry() );
- pt = QPointF( x, y );
return wkbPtr;
}
@@ -65,7 +61,7 @@ const unsigned char* QgsFeatureRendererV2::_getLineString( QPolygonF& pts, QgsRe
unsigned int wkbType, nPoints;
wkbPtr >> wkbType >> nPoints;
- bool hasZValue = ( wkbType == QGis::WKBLineString25D );
+ bool hasZValue = wkbType == QGis::WKBLineString25D;
double x, y;
const QgsCoordinateTransform* ct = context.coordinateTransform();
diff --git a/src/gui/qgsmapcanvasitem.cpp b/src/gui/qgsmapcanvasitem.cpp
index c0dd3ec..763f340 100644
--- a/src/gui/qgsmapcanvasitem.cpp
+++ b/src/gui/qgsmapcanvasitem.cpp
@@ -63,7 +63,7 @@ QgsPoint QgsMapCanvasItem::toMapCoordinates( const QPoint& point ) const
QPointF QgsMapCanvasItem::toCanvasCoordinates( const QgsPoint& point ) const
{
- double x = point.x(), y = point.y();
+ qreal x = point.x(), y = point.y();
mMapCanvas->getCoordinateTransform()->transformInPlace( x, y );
return QPointF( x, y ) + mPanningOffset;
}
diff --git a/src/gui/qgsmaptool.cpp b/src/gui/qgsmaptool.cpp
index 463a07a..4fd0f4c 100644
--- a/src/gui/qgsmaptool.cpp
+++ b/src/gui/qgsmaptool.cpp
@@ -68,7 +68,7 @@ QgsRectangle QgsMapTool::toLayerCoordinates( QgsMapLayer* layer, const QgsRectan
QPoint QgsMapTool::toCanvasCoordinates( const QgsPoint& point )
{
- double x = point.x(), y = point.y();
+ qreal x = point.x(), y = point.y();
mCanvas->getCoordinateTransform()->transformInPlace( x, y );
return QPoint( qRound( x ), qRound( y ) );
}
diff --git a/src/providers/wcs/qgswcsprovider.cpp b/src/providers/wcs/qgswcsprovider.cpp
index 77022ac..88618ef 100644
--- a/src/providers/wcs/qgswcsprovider.cpp
+++ b/src/providers/wcs/qgswcsprovider.cpp
@@ -516,7 +516,7 @@ void QgsWcsProvider::readBlock( int bandNo, QgsRectangle const & viewExtent, in
// TODO: set block to null values, move that to function and call only if fails
memset( block, 0, pixelWidth * pixelHeight * QgsRasterBlock::typeSize( dataType( bandNo ) ) );
- // Requested extent must at least partialy overlap coverage extent, otherwise
+ // Requested extent must at least partially overlap coverage extent, otherwise
// server gives error. QGIS usually does not request blocks outside raster extent
// (higher level checks) but it is better to do check here as well
if ( !viewExtent.intersects( mCoverageExtent ) )
diff --git a/tests/src/core/testqgsatlascomposition.cpp b/tests/src/core/testqgsatlascomposition.cpp
index 1a26cc2..4b94bfb 100644
--- a/tests/src/core/testqgsatlascomposition.cpp
+++ b/tests/src/core/testqgsatlascomposition.cpp
@@ -308,13 +308,13 @@ void TestQgsAtlasComposition::predefinedscales_render()
mAtlasMap->setAtlasDriven( true );
mAtlasMap->setAtlasScalingMode( QgsComposerMap::Predefined );
- QVector<double> scales;
- scales << 1800000;
- scales << 5000000;
+ QVector<qreal> scales;
+ scales << 1800000.0;
+ scales << 5000000.0;
mAtlas->setPredefinedScales( scales );
{
- const QVector<double>& setScales = mAtlas->predefinedScales();
+ const QVector<qreal> &setScales = mAtlas->predefinedScales();
for ( int i = 0; i < setScales.size(); i++ )
{
QVERIFY( setScales[i] == scales[i] );

View File

@ -1,14 +1,14 @@
================================================== ==================================================
QGIS Mapserver (might be renamed to "QGIS server") QGIS server
================================================== ==================================================
QGIS Mapserver allows you to publish your QGIS projects as Web Map QGIS server allows you to publish your QGIS projects as Web Map
Services (WMS). Simply layout your map in QGIS. The WMS will look Services (WMS). Simply layout your map in QGIS. The WMS will look
exactly the same, because QGIS Mapserver uses the same libraries for exactly the same, because QGIS server uses the same libraries for
rendering, as the desktop application does. rendering, as the desktop application does.
A sample configuration file for Httpd is installed under A sample configuration file for Httpd is installed under
/etc/httpd/conf.d/qgis-mapserver.conf. /etc/httpd/conf.d/qgis-server.conf.
This configuration expects QGIS project files under /var/www/wms. To This configuration expects QGIS project files under /var/www/wms. To
use it, reload the Httpd configuration and place the files you want to use it, reload the Httpd configuration and place the files you want to
@ -21,7 +21,7 @@ http://localhost/wms/my_qgis_project?SERVICE=WMS&REQUEST=GetCapabilities&VERSION
QGIS project is "/var/www/wms/my_qgis_project.qgs". The sample QGIS project is "/var/www/wms/my_qgis_project.qgs". The sample
configuration automatically adds the project file extension for you. configuration automatically adds the project file extension for you.
The actual data can stay where it is. Make sure QGIS Mapserver can The actual data can stay where it is. Make sure QGIS server can
access the project file and don't forget to let Httpd reload its access the project file and don't forget to let Httpd reload its
configuration before sending your requests! configuration before sending your requests!
@ -31,7 +31,7 @@ You can easily test your WMS by adding it as a WMS layer in QGIS.
================================================== ==================================================
The traditional QGIS Mapserver configuration is less comfortable and The traditional QGIS server configuration is less comfortable and
I don't encourage it, unless you have a good reason to use it: I don't encourage it, unless you have a good reason to use it:
This approach only allows for a single map service. This approach only allows for a single map service.

View File

@ -1,9 +0,0 @@
[Desktop Entry]
Name=Quantum GIS
GenericName=Geographic Information System
Comment=
Exec=qgis
Icon=qgis
Terminal=false
Type=Application
Categories=Education;Geography;Science;

View File

@ -12,7 +12,7 @@
#TODO: Run test suite (see debian/rules) #TODO: Run test suite (see debian/rules)
Name: qgis Name: qgis
Version: 2.6.1 Version: 2.8.2
Release: 1%{?dist} Release: 1%{?dist}
Summary: A user friendly Open Source Geographic Information System Summary: A user friendly Open Source Geographic Information System
Group: Applications/Engineering Group: Applications/Engineering
@ -25,9 +25,9 @@ Source0: http://qgis.org/downloads/%{name}-%{version}.tar.bz2
# The used sources were released as a tarball, the below is only for work in progress # The used sources were released as a tarball, the below is only for work in progress
#git archive --format=tar --prefix=qgis-1.8.0/ master | bzip2 >../qgis-1.8.0.tar.gz #git archive --format=tar --prefix=qgis-1.8.0/ master | bzip2 >../qgis-1.8.0.tar.gz
# Sample configuration files for QGIS mapserver # Sample configuration files for QGIS server
Source2: %{name}-mapserver-httpd.conf Source2: %{name}-server-httpd.conf
Source4: %{name}-mapserver-README.fedora Source4: %{name}-server-README.fedora
# MIME definitions # MIME definitions
# Based on debian/qgis.xml but excluding already defined or proprietary types # Based on debian/qgis.xml but excluding already defined or proprietary types
@ -36,6 +36,9 @@ Source5: %{name}-mime.xml
# Fix detection problem for GRASS libraries # Fix detection problem for GRASS libraries
Patch0: %{name}-2.4.0-grass.patch Patch0: %{name}-2.4.0-grass.patch
# https://github.com/qgis/QGIS/commit/1aff7335d004bc410eb61e1436ee7648716f9319
Patch1: %{name}-2.8.1-arm.patch
# Some plug-ins need Pyspatialite (bundled) # Some plug-ins need Pyspatialite (bundled)
# The license is not totally clear, see: # The license is not totally clear, see:
# http://code.google.com/p/pyspatialite/issues/detail?id=3 # http://code.google.com/p/pyspatialite/issues/detail?id=3
@ -152,28 +155,31 @@ Requires: qscintilla-python
%description python %description python
Python integration and plug-ins for QGIS. Python integration and plug-ins for QGIS.
%package mapserver %package server
Summary: FCGI based OGC web map server Summary: FCGI-based OGC web map server
Group: Applications/Engineering Group: Applications/Engineering
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: mod_fcgid Requires: mod_fcgid
Provides: mapserver = %{version}-%{release}
Obsoletes: mapserver < 2.8.1-1
%description mapserver %description server
This FastCGI OGC web map server implements OGC WMS 1.3.0 and 1.1.1. This FastCGI OGC web map server implements OGC WMS 1.3.0 and 1.1.1.
The services are prepared as regular projects in QGIS. They're rendered using The services are prepared as regular projects in QGIS. They're rendered using
the QGIS libraries. The server also supports SLD (Styled Layer Descriptor) the QGIS libraries. The server also supports SLD (Styled Layer Descriptor)
for styling. Sample configurations for Httpd and Lighttpd are included. for styling. Sample configurations for Httpd and Lighttpd are included.
Please refer to %{name}-mapserver-README.fedora for details! Please refer to %{name}-server-README.fedora for details!
%prep %prep
%setup -q %setup -q
%patch0 -p1 -b .grass~ %patch0 -p1 -b .grass~
%patch1 -p1 -b .arm~
# Remove executable permissions from source code files # Remove executable permissions from source code files
find . \( -name "*.cpp" -o -name "*.h" \) -type f -perm /111 -execdir chmod -x {} \+ find . \( -name "*.cpp" -o -name "*.h" \) -type f -perm /111 -execdir chmod -x {} \+
# Readme file for QGIS mapserver configuration and Lighttpd example # Readme file for QGIS server configuration and Lighttpd example
install -pm0644 %{SOURCE4} . install -pm0644 %{SOURCE4} .
# Delete bundled libs # Delete bundled libs
@ -218,6 +224,7 @@ gzip ChangeLog
-D WITH_INTERNAL_QWTPOLAR:BOOL=FALSE \ -D WITH_INTERNAL_QWTPOLAR:BOOL=FALSE \
-D WITH_INTERNAL_SIX:BOOL=FALSE \ -D WITH_INTERNAL_SIX:BOOL=FALSE \
-D WITH_PYSPATIALITE:BOOL=FALSE \ -D WITH_PYSPATIALITE:BOOL=FALSE \
-D WITH_SERVER:BOOL=TRUE \
-D WITH_TOUCH:BOOL=TRUE \ -D WITH_TOUCH:BOOL=TRUE \
%{configure_with_spatialite} \ %{configure_with_spatialite} \
. .
@ -259,13 +266,13 @@ install -pd %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
install -pd %{buildroot}%{_datadir}/icons/hicolor/128x128/mimetypes install -pd %{buildroot}%{_datadir}/icons/hicolor/128x128/mimetypes
install -pm0644 \ install -pm0644 \
%{buildroot}%{_datadir}/%{name}/images/icons/%{name}-icon.png \ %{buildroot}%{_datadir}/%{name}/images/icons/%{name}-icon.png \
%{buildroot}%{_datadir}/pixmaps/%{name}-icon.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
install -pm0644 \ install -pm0644 \
images/icons/%{name}-icon-16x16.png \ images/icons/%{name}-icon-16x16.png \
%{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}-icon.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
install -pm0644 \ install -pm0644 \
images/icons/%{name}_icon.svg \ images/icons/%{name}_icon.svg \
%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}-icon.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
install -pm0644 \ install -pm0644 \
%{buildroot}%{_datadir}/%{name}/images/icons/%{name}-mime-icon.png \ %{buildroot}%{_datadir}/%{name}/images/icons/%{name}-mime-icon.png \
%{buildroot}%{_datadir}/icons/hicolor/128x128/mimetypes/application-x-qgis-layer-settings.png %{buildroot}%{_datadir}/icons/hicolor/128x128/mimetypes/application-x-qgis-layer-settings.png
@ -276,9 +283,9 @@ install -pm0644 \
# Install basic QGIS Mapserver configuration for Apache # Install basic QGIS Mapserver configuration for Apache
install -pd %{buildroot}%{_sysconfdir}/httpd/conf.d install -pd %{buildroot}%{_sysconfdir}/httpd/conf.d
install -pm0644 %{SOURCE2} \ install -pm0644 %{SOURCE2} \
%{buildroot}%{_sysconfdir}/httpd/conf.d/qgis-mapserver.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/qgis-server.conf
# See qgis-mapserver-README.fedora # See qgis-server-README.fedora
rm -f %{buildroot}%{_libexecdir}/%{name}/wms_metadata.xml rm -f %{buildroot}%{_libexecdir}/%{name}/wms_metadata.xml
rm -f %{buildroot}%{_libexecdir}/%{name}/admin.sld rm -f %{buildroot}%{_libexecdir}/%{name}/admin.sld
@ -330,6 +337,7 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
# QGIS shows the following files in the GUI, including the license text # QGIS shows the following files in the GUI, including the license text
%doc %{_datadir}/%{name}/doc/ %doc %{_datadir}/%{name}/doc/
%dir %{_datadir}/%{name}/i18n/ %dir %{_datadir}/%{name}/i18n/
%lang(zh-Hans) %{_datadir}/%{name}/i18n/%{name}_zh-Hans.qm
%if 0%{?rhel} %if 0%{?rhel}
%lang(sr@latin) %{_datadir}/%{name}/i18n/%{name}_sr@latin.qm %lang(sr@latin) %{_datadir}/%{name}/i18n/%{name}_sr@latin.qm
%endif %endif
@ -337,6 +345,7 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
%{_libdir}/lib%{name}_core.so.* %{_libdir}/lib%{name}_core.so.*
%{_libdir}/lib%{name}_gui.so.* %{_libdir}/lib%{name}_gui.so.*
%{_libdir}/lib%{name}_networkanalysis.so.* %{_libdir}/lib%{name}_networkanalysis.so.*
%{_libdir}/lib%{name}_server.so.*
%{_libdir}/%{name}/ %{_libdir}/%{name}/
%{_qt4_prefix}/plugins/sqldrivers/libqsqlspatialite.so %{_qt4_prefix}/plugins/sqldrivers/libqsqlspatialite.so
%{_bindir}/%{name} %{_bindir}/%{name}
@ -345,11 +354,11 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
%{_mandir}/man1/qbrowser.1* %{_mandir}/man1/qbrowser.1*
%dir %{_datadir}/%{name}/ %dir %{_datadir}/%{name}/
%{_datadir}/mime/packages/qgis.xml %{_datadir}/mime/packages/qgis.xml
%{_datadir}/pixmaps/%{name}-icon.png %{_datadir}/pixmaps/%{name}.png
%{_datadir}/icons/hicolor/16x16/apps/%{name}-icon.png %{_datadir}/icons/hicolor/16x16/apps/%{name}.png
%{_datadir}/icons/hicolor/128x128/mimetypes/application-x-qgis-project.png %{_datadir}/icons/hicolor/128x128/mimetypes/application-x-qgis-project.png
%{_datadir}/icons/hicolor/128x128/mimetypes/application-x-qgis-layer-settings.png %{_datadir}/icons/hicolor/128x128/mimetypes/application-x-qgis-layer-settings.png
%{_datadir}/icons/hicolor/scalable/apps/%{name}-icon.svg %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/applications/*%{name}.desktop %{_datadir}/applications/*%{name}.desktop
%{_datadir}/applications/qbrowser.desktop %{_datadir}/applications/qbrowser.desktop
%{_datadir}/%{name}/images/ %{_datadir}/%{name}/images/
@ -381,13 +390,34 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
%{python_sitearch}/%{name}/ %{python_sitearch}/%{name}/
%{python_sitearch}/PyQt4/uic/widget-plugins/ %{python_sitearch}/PyQt4/uic/widget-plugins/
%files mapserver %files server
%doc src/mapserver/admin.sld src/mapserver/wms_metadata.xml %{name}-mapserver-README.fedora %doc src/server/admin.sld src/server/wms_metadata.xml %{name}-server-README.fedora
%config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}-mapserver.conf %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}-server.conf
%{_libexecdir}/%{name}/ %{_libexecdir}/%{name}/
%changelog %changelog
* Wed Jun 3 2015 Volker Fröhlich <volker27@gmx.at> - 2.8.2-1
- New upstream release
* Mon Apr 20 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.1-4
- rebuild (qscintilla)
* Wed Mar 11 2015 Devrim GÜNDÜZ <devrim@gunduz.org> - 2.8.1-3
- Rebuild for Proj 4.9.1
* Mon Mar 9 2015 Volker Fröhlich <volker27@gmx.at> - 2.8.1-2
- Add upstream patch to fix the build on ARM
* Sun Mar 8 2015 Volker Fröhlich <volker27@gmx.at> - 2.8.1-1
- New upstream release, remove included patch change
- Rename mapserver sub-package to server
- Add a new locale not found by find_lang
- Partly solve the icon file naming issue (BZ#1166977)
* Thu Feb 19 2015 Dave Johansen <davejohansen@gmail.com> 2.6.1-2
- Rebuild for gcc 5.0 C++ ABI change
* Fri Jan 2 2015 Dave Johansen <davejohansen@gmail.com> - 2.6.1-1 * Fri Jan 2 2015 Dave Johansen <davejohansen@gmail.com> - 2.6.1-1
- Update to 2.6.1 - Update to 2.6.1

View File

@ -1 +1 @@
e6d4233b5f8d4c7a77e289a9c794089f qgis-2.6.1.tar.bz2 48a3eb71cdbaec523b8341726015d5db qgis-2.8.2.tar.bz2