Menu

Main Menu
Talk Get Daily Search

Member's Online

    User Name
    Password

    [GUIDE for noobs] RPM packaging directly on your Jolla phone.

    Reply
    Page 5 of 6 | Prev |   3     4   5   6   | Next
    Markkyboy | # 41 | 2015-01-04, 19:18 | Report

    Originally Posted by Schturman View Post
    I don't know why it not worked for you from the first time, but it should...
    I used this command in %post line for restart service in all my ambience packages and it always worked immediately without reboot etc..
    Code:
    systemctl-user restart ambienced.service
    Example of spec file from one of my ambience packages:
    Code:
    Name:          ambience-green-hexagon
    Version:       0.0.1
    Release:       1
    Summary:       Ambience Green Hexagon
    Group:         System/Tools
    Vendor:        Schturman
    Distribution:  SailfisfOS
    Packager: Schturman <schturman@hotmail.com>
    URL:           www.dhrider.co.cc
    
    License:       GPL
    
    %description
    This is a Green Hexagon ambience with sounds...
    
    %files
    
    %defattr(-,root,root,-)
    /usr/share/ambience/*
    
    %post
    systemctl-user restart ambienced.service
    
    %postun
    if [ $1 = 0 ]; then
        // Do stuff specific to uninstalls
    rm -rf /usr/share/ambience/ambience-green-hexagon
    systemctl-user restart ambienced.service
    else
    if [ $1 = 1 ]; then
        // Do stuff specific to upgrades
    echo "It's just upgrade"
    systemctl-user restart ambienced.service
    fi
    fi
    
    %changelog
    * Sun Mar 16 2014 Builder <builder@...> 0.1
    - First build.
    I am using an edited copy of your spec, so apart from app name and my details, nothing has changed. Like I say, most of the time it all works out okay, then occasionally, it spits its dummy out and won't display the newly installed ambience.

    I may be due to wipe and refresh my Jolla, I have edited lots of qml files all over the system, including in root, so maybe things are a bit messed up!, oh well, all part of the fun!, thanks again for your help

    As per NielDK's suggestion, I may set up rpmbuild in Home and give that way a try.

    Regards,

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 2 Users Say Thank You to Markkyboy For This Useful Post:
    Schturman, Wikiwide

     
    Schturman | # 42 | 2015-02-03, 19:04 | Report

    Hi to all.
    I found a way to create binary file from your script. For this you need SHC tool.
    I already created .rpm file for easy installation on Jolla, but I don't know if I can share it (asked author, waiting for answer) .
    Anyway, I decided to post here this instruction .
    PDF instruction you can download here: https://dl.dropboxusercontent.com/u/..._for_Jolla.pdf

    SHC – generic shell script compiler


    (for Jolla phone)
    · This tool will help you to create binary file from your script.
    · Source: http://www.datsi.fi.upm.es/~frosal/
    · Like author (Francisco Rosales) say:
    Originally Posted by
    § shc itself is not a compiler such as cc, it rather encodes and encrypts a shell script and generates C source code with the added expiration capability. It then uses the system compiler to compile a stripped binary which behaves exactly like the original script. Upon execution, the compiled binary will decrypt and execute the code with the shell –c option. Unfortunately, it will not give you any speed improvement as a real C program would.
    § shc's main purpose is to protect your shell scripts from modification or inspection. You can use it if you wish to distribute your scripts but don't want them to be easily readable by other people.
    Option #1:
    1. Download shc archive from http://www.datsi.fi.upm.es/~frosal/ (direct link)
    2. Extract it and go to this directory (shc-3.8.9)
    Code:
    tar xvfz shc-3.8.9.tgz
    cd /home/nemo/Downloads/shc-3.8.9
    3. Create "shc" binary file (gcc package needed = pkcon install gcc):
    Code:
    gcc shc-3.8.9.c -o shc
    4. Put the created file "shc" to /bin with permission: 0755
    5. For create binary from your script:
    a. cd to directory with your script and run:
    Code:
    shc -f myscript.sh
    gcc myscript.sh.x.c -o mybinary
    b. Binary file "mybinary" created and now you can delete these 3 files:
    Code:
    myscript.sh
    myscript.sh.x
    myscript.sh.x.c
    6. Put your binary file ("mybinary") where it should be and give him a right permission.

    Option #2:
    1. Download shc archive from http://www.datsi.fi.upm.es/~frosal/ (direct link)
    2. Extract it and go to this directory (shc-3.8.9)
    Code:
    tar xvfz shc-3.8.9.tgz
    cd /home/nemo/Downloads/shc-3.8.9

    3. Create "shc" binary file (make & gcc package needed = pkcon install make gcc):

    Code:
    cd /home/nemo/Downloads/shc-3.8.9
    make

    4. Put the created file "shc" to /bin with permission: 0755

    5. For create binary from your script:
    a. cd to directory with your script and run:
    Code:
    shc -f myscript.sh
    cc -Wall myscript.sh.x.c -o mybinary
    b. Binary file "mybinary" created and now you can delete these 3 files:
    Code:
    myscript.sh
    myscript.sh.x
    myscript.sh.x.c

    6. Put your binary file ("mybinary") where it should be and give him a right permission.

    ---------------------------------------------------------------------------
    For quick and easy convert of a few scripts, you can use this script:
    Code:
    #!/bin/bash
    
    dir=${PWD##*/}
    ls -a|grep ".*\.\(sh\)"|while read line; do shc -f "$line"; done
    ls -a|grep ".*\.\(x.c\)"|while read line; do gcc "$line" -o "${line/.sh.x.c/}"; done
    rm -f *.x* && mkdir -p $dir-source && mv -f *.sh $dir-source
    • Call this script "binary_creator", without ".sh" suffix and put it to the folder with your scripts.
    • Create binaries from your scripts in specific directory:
    Code:
    cd /path/to/scripts_dir
    sh binary_creator
    • It will create binaries from your scripts, delete not needed files and save your original scripts in the "currentdirectory-source" directory, that you can save if you need them.

    Schturman (03.02.2015)

    Edit | Forward | Quote | Quick Reply | Thanks

    Last edited by Schturman; 2015-02-03 at 19:16.
    The Following 7 Users Say Thank You to Schturman For This Useful Post:
    eekkelund, hhbbap, Jordi, juiceme, minimos, rcolistete, Wikiwide

     
    coderus | # 43 | 2015-02-04, 03:49 | Report

    Peoples inventing new things just not to start learning real programming. It's always easier to say: "I'm not a programmer, i just know how to write some scripts". Sad story

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 5 Users Say Thank You to coderus For This Useful Post:
    ck2nb, J4ZZ, juiceme, nodevel, Wikiwide

     
    Schturman | # 44 | 2015-02-04, 06:38 | Report

    Originally Posted by coderus View Post
    Peoples inventing new things just not to start learning real programming. It's always easier to say: "I'm not a programmer, i just know how to write some scripts". Sad story
    What exactly a problem for you that I write some simple scripts and share them ? I'm sure you don't need them, but maybe someone yes.
    And yes, it's more easy for me.. If I have time like you, probably I was going to learn programming instead to write simple scripts, but most of the time I see my PC only at night for 1-2 hours max..
    And you don't need every time again to try to humiliate me.

    Edit | Forward | Quote | Quick Reply | Thanks

    Last edited by Schturman; 2015-02-04 at 06:46.
    The Following 3 Users Say Thank You to Schturman For This Useful Post:
    Jordi, pichlo, Wikiwide

     
    coderus | # 45 | 2015-02-04, 06:56 | Report

    It's not about you, it's about shc. Peoples wasting time for "programming simulation" instead of using real programming languages. Scripts are okay for one-time job. I personally can't understand it. Having two academic hours per day is enough for everybody to start learning any programming language. But it's personal decision of everybody.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 4 Users Say Thank You to coderus For This Useful Post:
    ck2nb, J4ZZ, juiceme, Wikiwide

     
    Schturman | # 46 | 2015-02-04, 07:22 | Report

    Originally Posted by coderus
    Having two academic hours per day is enough for everybody to start learning any programming language. But it's personal decision of everybody.
    Agree 100%, but not when it's your rest time at the end of the day

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to Schturman For This Useful Post:
    Wikiwide

     
    coderus | # 47 | 2015-02-04, 07:27 | Report

    As i said it just my personal optinion. Using shc is okay for "hiding" script code. What the purpose of shc in sailfish?

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 2 Users Say Thank You to coderus For This Useful Post:
    juiceme, Wikiwide

     
    Schturman | # 48 | 2015-02-04, 07:37 | Report

    Originally Posted by coderus View Post
    Using shc is okay for "hiding" script code. What the purpose of shc in sailfish?
    No purpose, like you and author said for "hiding" script code.
    When found it, was thinking it's nice to learn for myself converting script to binary. It's easy and fun, for me at least. That's all..

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 2 Users Say Thank You to Schturman For This Useful Post:
    rcolistete, Wikiwide

     
    rcolistete | # 49 | 2015-02-04, 12:20 | Report

    Originally Posted by coderus View Post
    Peoples inventing new things just not to start learning real programming. It's always easier to say: "I'm not a programmer, i just know how to write some scripts". Sad story
    There are thousands of programming languages. Including many script languages. They have advantages and disadvantages if compared. For example, a Assembly programmer could also disdain C/C++ programmers because it is slower, generates large compiled code, etc.

    It is up to us choose the best programming language for each task, each preference /style we have.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 6 Users Say Thank You to rcolistete For This Useful Post:
    Jordi, juiceme, mattaustin, minimos, Schturman, Wikiwide

     
    juiceme | # 50 | 2015-02-04, 14:11 | Report

    I have nothing against scripting languages, I fairly often still write shellscripts. And make is a kind of scripting language, too.
    And what about javascript, which is really ECMAscript and has 'script' even in the name of the language

    However, using techniques that hide your scripts from inspection and modification are pretty questionable IMHO. Just as distributing any kind of binary without sources, I feel it is a bad practice indeed.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 8 Users Say Thank You to juiceme For This Useful Post:
    ck2nb, javispedro, minimos, nieldk, nodevel, olf, Schturman, Wikiwide

     
    Page 5 of 6 | Prev |   3     4   5   6   | Next
vBulletin® Version 3.8.8
Normal Logout