Porting to other distros

The place to discuss the Linux/Ubuntu edition
Post Reply
MyWereld
Posts: 34
Joined: Tue Feb 15, 2011 7:42 pm

Porting to other distros

Post by MyWereld »

I'm trying to get this going on other distros besides Ubuntu, so I was wondering if you would be so kind as to answer a few questions here and there Tim?

Question like:
What dependencies are required to run it on Ubuntu?
What version of python are you using,
anything else one would need to know?

I extracted the deb file and copied all the files to their relevant locations, but I get syntax errors when I try and run the application. Hopefully with a little tweaking I help spread it to other distros?
:D

MyWereld
Posts: 34
Joined: Tue Feb 15, 2011 7:42 pm

Re: Porting to other distros

Post by MyWereld »

So far I had to update all the print functions to python 3, but I now need to know what version of wxpython is used?

Code: Select all

************ Starting Bible Analyzer *************
Traceback (most recent call last):
  File "/usr/share/bibleanalyzer/analyzer4.py", line 5, in <module>
    import wx, wx.html, re, os, sys, cStringIO, cPickle
ImportError: No module named wx

MyWereld
Posts: 34
Joined: Tue Feb 15, 2011 7:42 pm

Re: Porting to other distros

Post by MyWereld »

Eish, could have saved myself a lot of trouble...

Code: Select all

nano -w /usr/bin/bibleanalyzer

change:
python /usr/share/bibleanalyzer/analyzer4.py
to:
python2 /usr/share/bibleanalyzer/analyzer4.py
Install:
wxpython
python-espeak

Working now!

Would you mind if I write this up for the Arch Linux repositories?

Tim
Site Admin
Posts: 1454
Joined: Sun Dec 07, 2008 1:14 pm

Re: Porting to other distros

Post by Tim »

Feel free to adapt it to other distros. Let me know what ones you get it working on. Also, if you are able to convert the deb to an rpm that works on others and 64bit as well.

The python version is 2.5-2.7. Not tested on 3.0 and up.
wxPython needs to be 2.8.8>
python-speak (for TTS) .01>
for audio> gstreamer plugins are needed. "plugins-bad" will work for .mid
Tim Morton
Developer, Bible Analyzer

But to him that worketh not, but believeth on him that justifieth the ungodly, his faith is counted for righteousness. (Rom 4:5 AV)

MyWereld
Posts: 34
Joined: Tue Feb 15, 2011 7:42 pm

Re: Porting to other distros

Post by MyWereld »

Could you supply me with the complete license please?

To be able to have the package in the repositories of Arch Linux we need to supply them with this.

Tim
Site Admin
Posts: 1454
Joined: Sun Dec 07, 2008 1:14 pm

Re: Porting to other distros

Post by Tim »

Bible Analyzer 4
Copyright © 2011 Timothy S. Morton

This software is provided "as is" and any expressed 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 or his contributors be liable for any direct, indirect, incidental, special, or consequential damages.

This software is intended to promote and distribute the Holy Bible as found in the Authorized King James Bible of 1611. Use of this software in any way to attempt to question, undermine, or subvert the integrity of the Holy Bible as found in the Authorized Version is strictly prohibited.

License and permission is granted for anyone to use this software subject to the following restrictions:


Bible Analyzer Application:

* This software, as found ONLY in the free version found on http://www.BibleAnalyzer.com, can be freely distributed. The full Bible Analyzer Suite CD-Rom cannot be copied or distributed without written permission. It can only be obtained from the author on http://www.BibleAnalyzer.com or his agent.

* This software is NOT open source and thus the source cannot be modified and/or redistributed. Only official distributions from the author can be distributed.

* This software cannot be sold. It cannot be bundled with other software that is sold. The distributor CANNOT charge a fee to reproduce or copy the software for distribution. It must be distributed completely free.

* The Bible Analyzer application must not be altered or decompiled. All files included in the setup file must be included in any distribution.

* Bible Analyzer must not be used to criticize, undermine, subvert, or in any way question the accuracy and integrity of Christianity or the Authorized King James Version of the Bile.

* By design the appearence of this software can be customized. The user is NOT permitted to in any way customize the software in a manner that could be deemed vulgar, obscene, or profane. Neither can it be used to demean any group, individual, organization, any other entity or the software itself.

* This notice may not be removed or altered from any distribution.


Bible Analyzer Modules:

* To help promote the free distribution of the Bible and Bible related materials, Bible Analyzer modules utilize the open source SQLite database format. Except under special circumstances modules produced by BibleAnalyzer.com are not normally encrypted or password protected. The public domain data within the modules can be extracted and used for any purpose. The author of Bible Analyzer makes no claim to the content of any public domain text. Furthermore, the author of Bible Analyzer makes no restriction to the decompilation or extraction of data from any unencrypted SQLite file or module designed for use with Bible Analyzer.

* The Free Modules found at http://www.BibleAnalyzer.com can be freely distributed; Premium Modules found in the Bible Analyzer Store (http://www.BibleAnalyzer.com/shop) are not to be distributed.

* To use copyrighted data that may be within certain Bible Analyzer SQLite modules, permission from the copyright holder must be obtained.

* User or custom made modules for use with Bible Analyzer are not restricted in any way but are encouraged. For information on how to compile such modules, either examine the structure of an existing module from BibleAnalyzer.com or contact the author at morton@bibleanalyzer.com


DISCLAIMER OF WARRANTY:
ALL REASONABLE STEPS HAVE BEEN TAKEN TO ENSURE THAT THE PROGRAM IS SAFE TO USE. HOWEVER, THIS SOFTWARE AND MANUAL ARE PROVIDED "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. BECAUSE OF THE VARIOUS HARDWARE AND SOFTWARE ENVIRONMENTS INTO WHICH THIS PROGRAM MAY BE PUT, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM.
Tim Morton
Developer, Bible Analyzer

But to him that worketh not, but believeth on him that justifieth the ungodly, his faith is counted for righteousness. (Rom 4:5 AV)

MyWereld
Posts: 34
Joined: Tue Feb 15, 2011 7:42 pm

Re: Porting to other distros

Post by MyWereld »

I'm almost done, here is the script that will be running the installation for you to review.
If you spot something please shout, I'm not a programmer!
:D

Code: Select all

#!/bin/bash
set -e

# Download the file
if [ ! -f /var/cache/pacman/pkg/bibleanalyzer_4.1-0_i386.deb ]
        then
           wget -P /var/cache/pacman/pkg/ http://www.bibleanalyzer.com/bibleanalyzer_4.1-0_i386.deb
fi

# Convert the file
deb2targz /var/cache/pacman/pkg/bibleanalyzer_4.1-0_i386.deb

# Extract the file
tar xvzf /var/cache/pacman/pkg/bibleanalyzer_4.1-0_i386.tar.gz -C /

# Make it python2 compatible on a python3 system
sed -i 's/python/python2/g' /usr/bin/bibleanalyzer
sed -i 's/python/python2/g' /usr/share/applications/bibleanalyzer.desktop

# Create the directories required
(
    echo -n "Creating directories as required: "
    entries=`wc -l /etc/passwd | awk '{print $1}'`
    declare -a luser[$entries]

    for i in `seq 1 $entries`; do
        username[$i]=`cat /etc/passwd | sed -n "${i}p" | awk -F: '{print $1}'`
        groupid[$i]=`cat /etc/passwd | sed -n "${i}p" | awk -F: '{print $4}'`
        if [ "${groupid[$i]}" == "100" ]; then
            if [ -d /home/${username[$i]} ]; then
                echo "${username[$i]} "
                if [ ! -d /home/${username[$i]}/Documents/BibleAnalyzer ]; then
                    mkdir -p /home/${username[$i]}/Documents/BibleAnalyzer
                fi
                chown -R ${username[$i]}:users /home/${username[$i]}/Documents/BibleAnalyzer
            fi
        fi
    done
    echo
)

MyWereld
Posts: 34
Joined: Tue Feb 15, 2011 7:42 pm

Re: Porting to other distros

Post by MyWereld »

Also, one last question, I hope, is sqllite3 a dependency for Bible Analyzer? I would guess so for the commentaries and whatnot, just want to make 100% sure.

Tim
Site Admin
Posts: 1454
Joined: Sun Dec 07, 2008 1:14 pm

Re: Porting to other distros

Post by Tim »

Yes, Bible Analyzer uses Sqlite, but since 2.5 it has been built in with Python. So in BA 4.1 it doesn't need to be called as an external dependency. With 3.9 pysqlite is used so it must be listed as a dependency.

I don't have an Arch Linux distro to test on (there are so many Linux distros) nor time to test, but users of the various distros are welcome to try and get Bible Analyzer working on their favorite Linux flavor. Just let me know what ones you get it working on and post any special instructions.
Tim Morton
Developer, Bible Analyzer

But to him that worketh not, but believeth on him that justifieth the ungodly, his faith is counted for righteousness. (Rom 4:5 AV)

Post Reply