Reply
Thread Tools
Markkyboy's Avatar
Posts: 433 | Thanked: 727 times | Joined on Oct 2012 @ Costa Blanca, España
#41
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,
__________________
..oO(Don't just sit there standing around, pick up a shovel and sweep up!)Oo..
 

The Following 2 Users Say Thank You to Markkyboy For This Useful Post:
Schturman's Avatar
Posts: 5,339 | Thanked: 4,133 times | Joined on Jan 2010 @ Israel
#42
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:
§ 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)

Last edited by Schturman; 2015-02-03 at 19:16.
 

The Following 7 Users Say Thank You to Schturman For This Useful Post:
coderus's Avatar
Posts: 6,436 | Thanked: 12,701 times | Joined on Nov 2011 @ Ängelholm, Sweden
#43
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
__________________
Telegram | Openrepos | GitHub | Revolut donations
 

The Following 5 Users Say Thank You to coderus For This Useful Post:
Schturman's Avatar
Posts: 5,339 | Thanked: 4,133 times | Joined on Jan 2010 @ Israel
#44
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.

Last edited by Schturman; 2015-02-04 at 06:46.
 

The Following 3 Users Say Thank You to Schturman For This Useful Post:
coderus's Avatar
Posts: 6,436 | Thanked: 12,701 times | Joined on Nov 2011 @ Ängelholm, Sweden
#45
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.
__________________
Telegram | Openrepos | GitHub | Revolut donations
 

The Following 4 Users Say Thank You to coderus For This Useful Post:
Schturman's Avatar
Posts: 5,339 | Thanked: 4,133 times | Joined on Jan 2010 @ Israel
#46
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
 

The Following User Says Thank You to Schturman For This Useful Post:
coderus's Avatar
Posts: 6,436 | Thanked: 12,701 times | Joined on Nov 2011 @ Ängelholm, Sweden
#47
As i said it just my personal optinion. Using shc is okay for "hiding" script code. What the purpose of shc in sailfish?
__________________
Telegram | Openrepos | GitHub | Revolut donations
 

The Following 2 Users Say Thank You to coderus For This Useful Post:
Schturman's Avatar
Posts: 5,339 | Thanked: 4,133 times | Joined on Jan 2010 @ Israel
#48
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..
 

The Following 2 Users Say Thank You to Schturman For This Useful Post:
Posts: 1,269 | Thanked: 3,961 times | Joined on May 2011 @ Brazil
#49
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.
__________________
Python, C/C++, Qt and CAS developer. For Maemo/MeeGo/Sailfish :
Integral, Derivative, Limit - calculating mathematical integrals, derivatives and limits. SymPy - Computer Algebra System.
MatPlotLib - 2D & 3D plots in Python. IPython - Python interactive shell.
-- My blog about mobile & scientific computing ---
Sailfish : Sony Xperia X, Gemini, Jolla, Jolla C, Jolla Tablet, Nexus 4. Nokia N9, N900, N810.
 

The Following 6 Users Say Thank You to rcolistete For This Useful Post:
Community Council | Posts: 4,920 | Thanked: 12,867 times | Joined on May 2012 @ Southerrn Finland
#50
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.
 

The Following 8 Users Say Thank You to juiceme For This Useful Post:
Reply

Tags
jolla phone, on device

Thread Tools

 
Forum Jump


All times are GMT. The time now is 08:52.