synocommunity / spksrc Goto Github PK
View Code? Open in Web Editor NEWCross compilation framework to create native packages for the Synology's NAS
Home Page: https://synocommunity.com
License: Other
Cross compilation framework to create native packages for the Synology's NAS
Home Page: https://synocommunity.com
License: Other
This is possible with the make -j option.
I tried but it fails at some points of the code because not all targets can be parallelized.
I see two solutions to that:
make
but we have to specify .NOTPARALLEL where neededI recommend the second option, that's the "standard" way.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Is there any possibility of an Anime branch of SB?
http://sickbeard.com/forums/viewtopic.php?f=4&t=1452
That would be a good call perhaps?
Would love to see this if possible.
spksrc should handle this, quite a useful feature.
Is it possible to make available the source to http://synopkg.superzebulon.org/ so that we can easily set up other sources?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
make ARCH=88f6281 python26
returned this at the end :
Failed to find the necessary bits to build these modules:
_bsddb _hashlib _tkinter
bsddb185 bz2 dbm
gdbm linuxaudiodev ossaudiodev
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
Failed to build these modules:
_curses_panel
mkdir ./Lib/plat-linux3
cp ./Lib/plat-generic/regen ./Lib/plat-linux3/regen
export PATH; PATH="`pwd`:$PATH"; \
export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
export EXE; EXE=""; \
cd ./Lib/plat-linux3; ./regen
python$EXE ../../Tools/scripts/h2py.py -i '(u_long)' /usr/include/netinet/in.h
/home/antoine/Documents/spksrc/spk/python26/work-88f6281/Python-2.6.6/python: 1: Syntax error: word unexpected (expecting ")")
Hi
since the update to DSM 3.2-1944, I am not able to perform network backup to rsync server. It fails when backing up apps:
Nov 4 21:25:43 PkgMan.cgi: pkgtool.cpp:2198 No script for Python26
Nov 4 21:25:50 synonetbkp: sysbkp_user_export.c:94 fail to write user data
Nov 4 21:25:50 synonetbkp: SYNOSysbkpExport:Fail to export user_desc
Nov 4 21:25:50 synonetbkp: backup_app_apply.c:87 Failed to export application [1], bkptype=[0], szAppPath=[/volume1/@tmp/@app],
synoerr=[0x5500]
Nov 4 21:25:50 synonetbkp: synonetbkp.c:1991 SYNOBackupAppApply() failed!! ulExtension=[1], mode=[MODE_BACKUP], bkptype=
[BACKUP_TYPE_NETBKP], synoerr=[0x5500]
I am not sure whether this is Python package problem (from http://synopkg.superzebulon.org/spkrepo/packages) or something else... More users report this problem, see http://synoblog.superzebulon.org/2011/10/some-news/#comment-8874)
Cheers!
2.6.7 was released in june 2011
This is the case with speechd: 40b70ea
I think a SPK with speechd should not interfere with python2x SPK if installed and should be shipped with it's own Python installation if the python module has to be used at some point.
However, it is still difficult to handle.
What if we want to include them in Python SPK? What's right way to do it? I did a workaround here: https://github.com/SynoCommunity/spksrc/blob/speech/cross/sphinxbase/Makefile
I think its requested many times, but I try again:
Please.... create a package for spotweb. :)
here's an installation howto:
http://synology.brickman.nl/syn_howto/HowTo%20-%20install%20Spotweb.txt
Ofcourse you can drop the git installation and update/retreive scripts
Thanx in advance
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
@zebulon501: what's the relation between parameters given to ./configure
and default rpath used for binaries at compile time? Sometimes it seems that -Wl,-rpath
is ignored (julius is an example). Is there an easy way to change rpath afterward?
I've ran into this issue already with syno-packager and used http://linux.die.net/man/1/chrpath but I think when we discussed about this issue a few time ago you had another tool to manipulate rpath?
Maybe something like:
With some others:
And for priority concerns:
For example setuptools requires a shared lib /home/spksrc/spksrc/spk/python27/work-88f6281/Python-2.7.2/build/lib.linux-i686-2.7/time.so
which is made for the requested target arch (88f6281in my case) not host arch (x86 in my case)
Traceback (most recent call last):
File "setup.py", line 12, in <module>
from setuptools import setup, find_packages
File "/home/spksrc/spksrc/spk/python27/work-88f6281/setuptools-0.6c11/setuptools/__init__.py", line 2, in <module>
from setuptools.extension import Extension, Library
File "/home/spksrc/spksrc/spk/python27/work-88f6281/setuptools-0.6c11/setuptools/extension.py", line 2, in <module>
from dist import _get_unpatched
File "/home/spksrc/spksrc/spk/python27/work-88f6281/setuptools-0.6c11/setuptools/dist.py", line 6, in <module>
from setuptools.command.sdist import sdist
File "/home/spksrc/spksrc/spk/python27/work-88f6281/setuptools-0.6c11/setuptools/command/sdist.py", line 5, in <module>
import os, re, sys, pkg_resources
File "/home/spksrc/spksrc/spk/python27/work-88f6281/setuptools-0.6c11/pkg_resources.py", line 16, in <module>
import sys, os, zipimport, time, re, imp
ImportError: /home/spksrc/spksrc/spk/python27/work-88f6281/Python-2.7.2/build/lib.linux-i686-2.7/time.so: cannot open shared object file: No such file or directory
make[2]: *** [myCompile] Erreur 1
make[2]: quittant le répertoire « /home/spksrc/spksrc/cross/setuptools »
make[1]: *** [depend_target] Erreur 2
make[1]: quittant le répertoire « /home/spksrc/spksrc/spk/python27 »
make: *** [python27] Erreur 2
Tried to set LD_LIBRARY_PATH without luck.
I'll try to fix that copying native libs to work dir temporary while installing a module. So I fake python.
I have a few Ruby apps that I am building which are targeted at the Synology NASes. Instead of having to build Ruby, gems, etc, I'm thinking of building them with JRuby and then compiling the app to a .jar file for distribution.
I'm putting this request in here for a separate Java spk. I may in fact give it a shot myself, but it isn't totally clear to me (yet) how to use spksrc or what OSes I can compile things on.
I can see somebody's (successful?) attempt at getting Java on the Synology OS here http://pcloadletter.co.uk/2011/08/23/java-package-for-synology/. It makes sense to me to have this become the canonical place for finding 3rd party SPKs, though, since you've done such an excellent job up until now.
Add a UI Develop SPK so its easy for developers to edit the correct files through a share and directly view the result in DSM.
Do these packages continue to work on 4.0 beta?
If I upgraded to 4.0 DSM would I need to reinstall or will they continue to work with all my settings during the upgrade?
Also are you still maintaining these packages as it seems very quiet lately?
Because that's the correct way to do it : http://pypi.python.org/pypi/virtualenv
Hi,
Can you update Transmission to 2.5?
Thanks
The idea would be to create an standardized migration framework.
Say you have rev 2 on your computer and rev 4 is out. Package Center will not do 2 -> 3 -> 4 but directly 2 -> 4. That might be a problem if rev 3 introduces some fundamental changes to the structure.
In installer.sh just add some functions :
migrate_1_to_2
migrate_2_to_3
migrate_3_to_4
Add a little script in preupdate
that will loop from the rev extracted from SYNOPKG_OLD_PKGVER
and execute the appropriate functions in the right order.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
A helper to configure HTTPS for SABnzbd / SickBeard / CouchPotato / Headphones could be useful as default certificates are not readable with the dedicated user.
This would copy certs into the var directory with correct persmissions.
I don't know what the current behavior of PLIST for SPK is but I wish I did not have to "install" some stuff like here :
https://github.com/SynoCommunity/spksrc/blob/master/spk/umurmur/Makefile#L29
Would that be possible to have a file with this kind of structure for installing stuff in src/
?
dir:var/
file:src/cert.fields:var/cert.fields
bin:src/umurmur.cgi.pl:share/synoman/umurmur.cgi
First part also defines the mode of the created file
In my branch I leave defaults port as much as possible if those ports are listed here : http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers and do not conflict with Synology port numbers http://www.synology.com/support/faq_show.php?q_id=299&lang=enu
For example, Sick Beard default port AFAIR is 8081which is a registered.
Thus I thought about a port range for web UIs with DSM :
82xy
x
being unique per SPK
y
being 0 for HTTP protocol, 1 for HTTPS
What do you think @zebulon501 ? Should we leave default port numbers all the time as long as it does not conflict with Synology ones ? Or should we care about registered port numbers ?
Are you ok with 82xy
range if no default port is specified (ZNC for example) ?
Like here : https://github.com/Diaoul/syno-packager/blob/master/src/SABnzbd/target/share/3rdparty/index.cgi
Because the link is available for everyone, even not auth to DSM.
Not a big issue because it is just a redirect most of the time though
Because it doesn't save any space once installed
Because it adds unnecessary complexity in the building process
Like here : http://cgit.openembedded.org/openembedded/tree/site/arm-common
Because for example git requires ac_cv_fread_reads_directories and ac_cv_snprintf_returns_bogus to be set.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Use symlinks, like in syno-packager or it might fill system partition
To be included in the spk as install time tools.
adduser and deluser can be provided by busybox (http://busybox.net/)
So I'm using SABnzbd, Couch Potato, Sick Beard, Headphones, but noticed my HDD's never hibernate...
They used to hibernate when I never had the above packages installed, but now they seems to be always on.
Im not sure if there is a setting in each application or what, so maybe make it search like each day, or something to let the HDD's sleep.
Thoughts?
Because that's not clear which should be use and when.
In the mk/ files, both are used. Same in cross/
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Coming soon.
Clicking update button on a SPK on DSM 4 I could change the volume on which the SPK is installed and wizard install files were executed.
Because AudioStation load/unload kernel modules required by MPD on start/stop
Already done ncurses and bz2 but a few remain (Python 2.7):
Python build finished, but the necessary bits to build these modules were not found:
_bsddb _ssl _tkinter
bsddb185 dbm gdbm
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
At least _ssl requires a fix IMO, everything else isn't that important.
Using readelf on the shared library provided by OpenSSL, no RPATH value is shown. This will lead to some wrong dependencies (using libs in /lib and /usr/lib in place of the intended ones).
SB is showing an update is available.
When clicking on it I get this:
Update Failed
Update wasn't successful, not restarting. Check your log for more information.
And in the log it says this:
2011-12-09 11:10:14.747813 CP Server Thread-5 :: Unable to retrieve new version from http://github.com/midgetspy/Sick-Beard/tarball/master, can't update.
Is that just a SB (Github) issue?
Because it's the way Synology does it.
Because I think that Package Center won't be able to compare REV 1 with REV 10 of a SPK (lets say Python 2.7.2):
2.7.2-1 == 2.7.2-10
Whereas
2.7.2-001 < 2.7.2-010
Need to test this
Hi,
i have forked spksrc in order to do cp v2 package. I got almost everything working, except for my start script which is not created upon package installation?
any idea?
Thanks
Another thing I just noticed.
Once I installed all these packages on a few Syno, it has not created any users.
I know your packages used to create a user for each package.
Right now its only showing my default user which is 'admin'.
If its not supposed to create users any more that's fine, just thought I would check in with you.
For example, when installing python module pip, the shebang is #!$(HOSTPYTHON)
.
We need to replace all created scripts with #!/usr/local/python2x/bin/python
This could be done with sed each time a module is installed: check for PLIST and do the appropriate action for the bin
I'll look into this solution.
This will avoid HTTP requests and avoid useless CPU load
Some stuff can be taken from here
Bacula seems nice, with a web UI "webacula".
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I think those options are meant to define the place to install stuff during make install
. Currently they aren't used.
OpenEmbedded uses this.
Also, if not used, make install
will fail for some libs like libsndfile. A (workaround is used for libsndfile)[https://github.com/SynoCommunity/spksrc/commit/a9e874d82592ab8cd2c9be1952c494d2499d18d1] but is still buggy as install target does something like test -z /usr/local/xxx || mkdir -p /home/spksrc/spksrc/cross/libsndfile/.../use/local/xxx
@zebulon501: Any idea/suggestion about this? How to do this the right way?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
spksrc should handle changelog files and auto generate them.
Easier to maintain & manage than multiple configurators in each SPK.
The goal is to:
Title says all :)
I have a fresh install of your packages.
They are ALL working fine, except one small thing.
SABnzbd is not showing as running in the Package Centre.
Has the option to Run, but it is already up and running.
I have restarted the DSM, and it still doesnt show as running.
Ps im using a RackStation RS810+ if thats any help.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.