Bug 1195189 - Please update GRASS to 7.0.0
Summary: Please update GRASS to 7.0.0
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: grass
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Devrim Gündüz
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-02-23 10:50 UTC by Devrim Gündüz
Modified: 2016-03-24 15:24 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-03-15 21:26:05 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
GRASS GIS 7.0.1 SPEC file (17.51 KB, text/plain)
2015-11-03 08:32 UTC, markusN
no flags Details
GRASS GIS 7.0.1 SPEC file (17.54 KB, text/plain)
2016-03-02 18:57 UTC, markusN
no flags Details
grass.spec (17.42 KB, text/plain)
2016-03-02 19:26 UTC, Thomas Kreuzer
no flags Details
grass.spec (5.95 KB, text/x-matlab)
2016-03-03 16:37 UTC, Thomas Kreuzer
no flags Details
GRASS GIS 7.0.3 SPEC file (13.76 KB, text/x-matlab)
2016-03-03 22:29 UTC, markusN
no flags Details
Complete SPEC version (13.77 KB, text/x-matlab)
2016-03-04 14:31 UTC, Thomas Kreuzer
no flags Details
Improvements to the last COMPLETE spec file (2.78 KB, patch)
2016-03-04 15:48 UTC, markusN
no flags Details | Diff
grass.spec (13.79 KB, text/x-matlab)
2016-03-07 10:31 UTC, Thomas Kreuzer
no flags Details
grass.spec (13.65 KB, text/x-matlab)
2016-03-08 11:17 UTC, Thomas Kreuzer
no flags Details
grass.spec (13.08 KB, text/x-matlab)
2016-03-09 12:59 UTC, Thomas Kreuzer
no flags Details
grass.spec (13.20 KB, text/plain)
2016-03-10 14:15 UTC, Thomas Kreuzer
no flags Details
grass.spec (13.43 KB, text/plain)
2016-03-15 17:18 UTC, Thomas Kreuzer
no flags Details

Description Devrim Gündüz 2015-02-23 10:50:13 UTC
Description of problem:

GRASS 7.0.0 has been released, so we should update in master.

Version-Release number of selected component (if applicable):
7.0.0.


Additional info:
http://grass.osgeo.org/news/42/15/GRASS-GIS-7-0-0/

Comment 1 markusN 2015-11-03 08:32:01 UTC
Created attachment 1088824 [details]
GRASS GIS 7.0.1 SPEC file

Comment 2 markusN 2015-11-03 08:32:30 UTC
Attached a SPEC file for GRASS GIS 7.0.1, derived from the existing 6.4.x SPEC file.

It still has some minor issues but my SPEC file knowledge is too limited to complete it.

Comment 3 Devrim Gündüz 2015-11-03 09:03:26 UTC
Hi Markus,

I started working on it. Getting the following error for now. Let me see what I can do.

make[1]: Leaving directory '/home/devrim/Fedora/grass/master/grass-7.0.1'
make real-install
make[1]: Entering directory '/home/devrim/Fedora/grass/master/grass-7.0.1'
mkdir -p -m 755 /home/devrim/rpmbuild/BUILDROOT/grass-7.0.1-1.fc24.x86_64/usr/grass-7.0.1
tar cBCf /home/devrim/Fedora/grass/master/grass-7.0.1/dist.x86_64-redhat-linux-gnu - . | tar xBCf /home/devrim/rpmbuild/BUILDROOT/grass-7.0.1-1.fc24.x86_64/usr/grass-7.0.1 - 2>/dev/null
rm /home/devrim/rpmbuild/BUILDROOT/grass-7.0.1-1.fc24.x86_64/usr/grass-7.0.1/grass70.tmp
make /usr/bin/grass70
make[2]: Entering directory '/home/devrim/Fedora/grass/master/grass-7.0.1'
sed -e 's#'@GISBASE@'#'/home/devrim/rpmbuild/BUILDROOT/grass-7.0.1-1.fc24.x86_64/usr/grass-7.0.1'#g' \
    -e 's#'@LD_LIBRARY_PATH_VAR@'#'LD_LIBRARY_PATH'#g' \
    -e 's#'@CONFIG_PROJSHARE@'#'/usr/share/proj'#g' \
    /home/devrim/Fedora/grass/master/grass-7.0.1/dist.x86_64-redhat-linux-gnu/grass70.tmp > /usr/bin/grass70
/bin/sh: /usr/bin/grass70: Permission denied
include/Make/Install.make:128: recipe for target '/usr/bin/grass70' failed
make[2]: *** [/usr/bin/grass70] Error 1
make[2]: Leaving directory '/home/devrim/Fedora/grass/master/grass-7.0.1'
include/Make/Install.make:100: recipe for target 'real-install' failed
make[1]: *** [real-install] Error 2
make[1]: Leaving directory '/home/devrim/Fedora/grass/master/grass-7.0.1'
include/Make/Install.make:34: recipe for target 'install' failed
make: *** [install] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.wWTa4l (%install)

Comment 4 markusN 2015-11-03 09:18:10 UTC
I got exactly the same.

The trick must be around line 91 in include/Make/Install.make where UNIX_BIN is defined (which doesn't seem to contain the BUILDROOT part).

Comment 5 Devrim Gündüz 2015-11-03 11:03:59 UTC
Adding ARCH_DISTDIR around make lines made some progress. I'll keep you updated.

Comment 6 markusN 2015-11-21 14:07:47 UTC
Just FYI, we release

https://grass.osgeo.org/news/50/15/GRASS-GIS-7-0-2-released/

Comment 7 markusN 2015-11-21 14:08:05 UTC
Just FYI, we released

https://grass.osgeo.org/news/50/15/GRASS-GIS-7-0-2-released/

Comment 8 Thomas Kreuzer 2016-02-03 11:25:52 UTC
(In reply to Devrim GÜNDÜZ from comment #5)
> Adding ARCH_DISTDIR around make lines made some progress. I'll keep you
> updated.

Is there any update? It has been almost a year since the new major release.
Might be the spec file [1] from openSUSE any help?

1: https://build.opensuse.org/package/view_file/Application:Geo/grass/grass.spec?expand=1

Comment 9 Thomas Kreuzer 2016-03-02 13:46:32 UTC
The(In reply to markusN from comment #4)
> I got exactly the same.
> 
> The trick must be around line 91 in include/Make/Install.make where UNIX_BIN
> is defined (which doesn't seem to contain the BUILDROOT part).

The error is gone if you add
   
    UNIX_BIN=${buildroot}%{_bindir}

to the make install directive.

Comment 10 markusN 2016-03-02 18:57:38 UTC
Created attachment 1132479 [details]
GRASS GIS 7.0.1 SPEC file

Comment 11 markusN 2016-03-02 19:00:05 UTC
(In reply to Thomas Kreuzer from comment #9)
> The error is gone if you add
>    
>     UNIX_BIN=${buildroot}%{_bindir}
> 
> to the make install directive.

I have attached an updated grass7.spec file.

Still struggling here (maybe easy to fix but I am not too familiar with SPEC files):
/bin/sh: /usr/bin/grass70: Permission denied

Details:

mock --no-clean --rebuild ~/software/grass-7.0.1-1.fc23.src.rpm
...
make install-check-writable
make[1]: Entering directory '/builddir/build/BUILD/grass-7.0.1'
make[1]: Leaving directory '/builddir/build/BUILD/grass-7.0.1'
make install-check-prefix
make[1]: Entering directory '/builddir/build/BUILD/grass-7.0.1'
make[1]: Leaving directory '/builddir/build/BUILD/grass-7.0.1'
make real-install
make[1]: Entering directory '/builddir/build/BUILD/grass-7.0.1'
mkdir -p -m 755 /builddir/build/BUILDROOT/grass-7.0.1-1.fc23.x86_64/usr/grass-7.0.1
tar cBCf /builddir/build/BUILD/grass-7.0.1/dist.x86_64-redhat-linux-gnu - . | tar xBCf /builddir/build/BUILDROOT/grass-7.0.1-1.fc23.x86_64/usr/grass-7.0.1 - 2>/dev/null
rm /builddir/build/BUILDROOT/grass-7.0.1-1.fc23.x86_64/usr/grass-7.0.1/grass70.tmp
make /usr/bin/grass70
make[2]: Entering directory '/builddir/build/BUILD/grass-7.0.1'
sed -e 's#'@GISBASE@'#'/builddir/build/BUILDROOT/grass-7.0.1-1.fc23.x86_64/usr/grass-7.0.1'#g' \
    -e 's#'@LD_LIBRARY_PATH_VAR@'#'LD_LIBRARY_PATH'#g' \
    -e 's#'@CONFIG_PROJSHARE@'#'/usr/share/proj'#g' \
    /builddir/build/BUILD/grass-7.0.1/dist.x86_64-redhat-linux-gnu/grass70.tmp > /usr/bin/grass70
/bin/sh: /usr/bin/grass70: Permission denied
include/Make/Install.make:128: recipe for target '/usr/bin/grass70' failed
make[2]: Leaving directory '/builddir/build/BUILD/grass-7.0.1'
include/Make/Install.make:100: recipe for target 'real-install' failed
make[2]: *** [/usr/bin/grass70] Error 1
make[1]: *** [real-install] Error 2
make: *** [install] Error 2
make[1]: Leaving directory '/builddir/build/BUILD/grass-7.0.1'
include/Make/Install.make:34: recipe for target 'install' failed

Some rpmbuild path is still lost.

Comment 12 Thomas Kreuzer 2016-03-02 19:26:25 UTC
Created attachment 1132492 [details]
grass.spec

Comment 13 Thomas Kreuzer 2016-03-02 19:31:17 UTC
I made a few minor adjustments in a new spec file (see attachment).
Maybe it works.
I just started looking into spec files myself, so I am no expert by any means as well.

I am currently in the process of writing the spec file from scratch, since I think some hacks from the old 6.4 spec file can be omitted now. I'll keep you updated.

Comment 14 markusN 2016-03-03 00:39:55 UTC
Thanks for that!

BTW: The sed line yet failing here is in include/Make/Install.make

Comment 15 Thomas Kreuzer 2016-03-03 16:37:28 UTC
Created attachment 1132863 [details]
grass.spec

Comment 16 Thomas Kreuzer 2016-03-03 16:44:27 UTC
Howdy partners,

it seems to work now, I updated the grass.spec file, and see:
https://copr.fedorainfracloud.org/coprs/maligree/grass70/build/165276/

There are a few issues, namely there is no liblas support, because of:
https://bugzilla.redhat.com/show_bug.cgi?id=1300860
https://bugzilla.redhat.com/show_bug.cgi?id=1313260 (duplicate)
https://bugzilla.redhat.com/show_bug.cgi?id=1311953

I also couldn't include the ChangeLog and the contributors to the libs package, for some reason the build system didn't find the respective files.

I also didn't include the multilib support as of yet, kind of forgot :D

It is version for grass 7.0.3 (contrary to the topic headline)

Comment 17 markusN 2016-03-03 22:29:23 UTC
Created attachment 1132918 [details]
GRASS GIS 7.0.3 SPEC file

based on grass.spec by Thomas with updated metadata

Comment 18 Thomas Kreuzer 2016-03-04 09:09:04 UTC
Thank you,

as soon as https://bugzilla.redhat.com/show_bug.cgi?id=1300860 is fixed, I shall update the spec file again, for multilib and liblas support.

Comment 19 Thomas Kreuzer 2016-03-04 14:31:04 UTC
Created attachment 1133197 [details]
Complete SPEC version

Includes liblas and multilib

Comment 20 Thomas Kreuzer 2016-03-04 14:35:57 UTC
Ok I updated the SPEC file, it has now liblas and multilib support, it is running fine on my machine. This should be the final version, but it will currently fail without the liblas fix.

Since I had grass 6.4 installed, I am not sure if I missed some Requires or something like that.

Comment 21 markusN 2016-03-04 15:48:18 UTC
Created attachment 1133204 [details]
Improvements to the last COMPLETE spec file

Comment 22 markusN 2016-03-04 15:49:35 UTC
(In reply to Thomas Kreuzer from comment #20)
> Since I had grass 6.4 installed, I am not sure if I missed some Requires or
> something like that.

A few dependencies were missing, I have attached the improvements to the last COMPLETE spec file as a diff.

Comment 23 markusN 2016-03-04 19:13:19 UTC
Just FYI - New RPMs (liblas commented out due to bug #1300860) compiling at
https://copr.fedorainfracloud.org/coprs/neteler/grass70/

As soon as one iostream lib compilation error is fixed
 https://trac.osgeo.org/grass/ticket/2956
(I don't know how to fix it as it is C++ related) 
it will likely also compile on EPEL and F24 + rawhide.

Great work, Thomas!

Comment 24 Thomas Kreuzer 2016-03-04 20:12:08 UTC
Nice to hear.

In regards to your diff: "desktop-file-utils" is not needed, since I removed the portion from the SPEC which used it, and "subversion" shouldn't be needed as well. At least I can't fathom why we would need it, I didn't have it on the system I built the test packages.

All in all I think the "BuildRequires" were complete in my original SPEC. cairo, libglw, wxpython-devel etc. are either not needed or get automatically pulled as a side effect from the other devel packages. (The machine I built it on was a virtual machine with a clean plate)

I was more worried about the "Required" part, like maybe gdal-python, python-sphinx, or wxGTK-GL or something.
Since I don't have VM set up for testing a complete X environment.

Regards.

Comment 25 markusN 2016-03-05 10:39:32 UTC
(In reply to Thomas Kreuzer from comment #24)
> Nice to hear.
> 
> In regards to your diff: "desktop-file-utils" is not needed, since I removed
> the portion from the SPEC which used it, and "subversion" shouldn't be
> needed as well. At least I can't fathom why we would need it, I didn't have
> it on the system I built the test packages.

"subversion" is needed during compilation to determine the revision number:

GRASS 7.0.3 (nc_spm_08_grass7):~ > g.version -g
version=7.0.3
date=2016
revision=00000          <<== missing subversion at compile time
build_date=2016-03-04
build_platform=x86_64-redhat-linux-gnu


# for comparison, my local compilation directly from SVN, with "subversion" being installed:
GRASS 7.0.4svn (nc_spm_08_grass7):~ > g.version -g
version=7.0.4svn
date=2016
revision=67880M
build_date=2016-01-20
build_platform=x86_64-pc-linux-gnu

For the rest: fine!

Comment 26 Thomas Kreuzer 2016-03-05 16:04:44 UTC
Comment on attachment 1133197 [details]
Complete SPEC version

Hallo again,

I just noticed a bug in my SPEC file. Some folder and file ownerships are not correct.
I will correct it on Monday, until then I better make the SPEC file obsolete.

Sorry.

Comment 27 Thomas Kreuzer 2016-03-07 10:31:39 UTC
Created attachment 1133707 [details]
grass.spec

Ok, this SPEF file should be bug free and complete (including markus' patch were applicable).

There is one noteable difference to the old spec file: instead of changing the directory references in many python script files, I symlinked the doc and locale directories back to GISBASE to avoid this. To me this seems to be a cleaner and easier to maintain approach in case something changes upstream.

Comment 28 Thomas Kreuzer 2016-03-08 11:17:25 UTC
Created attachment 1134100 [details]
grass.spec

Fix formatting errors.

Comment 29 markusN 2016-03-08 13:18:56 UTC
FWIY, I have managed to compile QGIS against this new GRASS GIS 7 rpm to enable the rewritten GRASS 7 toolbox in QGIS:

https://copr.fedorainfracloud.org/coprs/neteler/QGIS-2.12-Lyon/

Just FYI.

Comment 30 Thomas Kreuzer 2016-03-09 12:59:35 UTC
Created attachment 1134512 [details]
grass.spec

Good to hear!

Meanwhile, I changed the SPEC again. I ditched the old GRASS 6 approach of putting the locales into the system's locale folder (Ubuntu doesn't do it either), because if I do, and make it available to GRASS, then GRASS reports all languages in the locale folder as possible to chose from for localizations, which is just wrong.

Comment 31 Thomas Kreuzer 2016-03-10 14:15:00 UTC
Created attachment 1134901 [details]
grass.spec

Small file ownership bugfix (which was present in the old 6.4 SPEC file as well).

Now, I am positive this should be the last version of my SPEC file :)

Comment 32 markusN 2016-03-15 10:55:01 UTC
(In reply to markusN from comment #29)
> FWIW, I have managed to compile QGIS against this new GRASS GIS 7 rpm to
> enable the rewritten GRASS 7 toolbox in QGIS:

FYI - now also QGIS 2.14 with GRASS GIS 7 support:
https://copr.fedorainfracloud.org/coprs/neteler/QGIS-2.14-Essen/

I really hope that your GRASS GIS spec file is picked up soon...

Comment 33 Devrim Gündüz 2016-03-15 11:11:30 UTC
Thomas,

Thanks for the great work.

Committed your spec file:

http://pkgs.fedoraproject.org/cgit/rpms/grass.git/commit/?id=9b1a1467802c00123a1382cb3be0beb9ed40cd39

I'm currently building on rawhide. As it is completed, I'll also push it for Fedora 24.

Regards, Devrim

Comment 34 Thomas Kreuzer 2016-03-15 11:44:42 UTC
This is good news!
Thank you very much.

However, GRASS is still without libLAS support. Maybe you could push the libLAS package first [1], and then you could build GRASS with libLAS?!

Regards!

1: https://bugzilla.redhat.com/show_bug.cgi?id=1311953

Comment 35 Thomas Kreuzer 2016-03-15 17:18:58 UTC
Created attachment 1136675 [details]
grass.spec

Hi again,

I almost forgot, but as per comment 23, I got the package to successfully compile under rawhide, with this new SPEC file.

On a different topic: I also reintroduced two fixes from the old 6.4 SPEC file, which seem to be needed after all.

libLAS support is still commented out so far.

Comment 36 Devrim Gündüz 2016-03-15 21:26:05 UTC
Ok, pushed the new spec along with a few rpmlint fixes. The package is built successfully now, with liblas support (yes, pushed new liblas, too)

If you have further improvements, please send your patch against master, per the rpmlint fixes.

Closing this.

Thanks again!

Regards, Devrim

Comment 37 markusN 2016-03-24 15:24:17 UTC
Would you mind to push 7.0.3 also to F24? Thanks!


Note You need to log in before you can comment on or make changes to this bug.