nicinabox Posted October 1, 2013 Share Posted October 1, 2013 Description Trolley is a very simple package tool for Slackware, designed for unRAID. It uses the packages API created for Boxcar and allows you to easily search, install, and remove packages. Install Installation and usage instructions on Github: https://github.com/nicinabox/trolley Releases https://github.com/nicinabox/trolley/releases Quote Link to comment
spylex Posted October 2, 2013 Share Posted October 2, 2013 Sweet! Does this just install SlackWare 14.0/13.3713.1 unRAID optimised packages? Have you looked at piotrasds work on his packages? Is there any way to force it to install 13.1 packages? Are you going to add things like transmission etc? Quote Link to comment
nicinabox Posted October 2, 2013 Author Share Posted October 2, 2013 These are the official Slackware packages, not unRAID plugins, or plugins by the same name. Transmission, plex, etc would be plugins. I'm also working on an Addon system for Boxcar that specifically addresses distributing these. Many plugins require packages as a dependency to function properly. The last version number in the list is the Slackware 13.1 package, so you can do: trolley install python 2.6.4 I've not seen piotrasds work, could you link me? Edit: Found piotrasd's packages. Not really clear on them though. Some seem to be official slackware packages, others are not. Not sure if they are modified or what's the deal. It's probably a Bad Idea to modify the official libs. This can cause all kinds of compatibility issues down the road. Better to use the officially supported packages (and you don't have to stick to 13.1, many newer ones have better compatibility). Quote Link to comment
piotrasd Posted October 2, 2013 Share Posted October 2, 2013 @nicinabox are not modifyed just updated to new version and compiled under slackware 13.1 for 100% compatybility This can cause all kinds of compatibility issues down the road. Better to use the officially supported packages (and you don't have to stick to 13.1, many newer ones have better compatibility) this is not true because slackware 13.37 use other glibc version so - some packages wich are deep depended of glibc could make some issue in system This packages manager is good solution for repo 13.1 but when somebody install some stuff 13.37 must be carefull - some could good working like git, unrar but some could crash system I remeber when guys create plugin "XBMC Standalone Library Updater" they use many packages from 13.37 after that even system service like "cron" get segfaults, after when i compile for them most important depends plugin started working proper with no any issue in system. Quote Link to comment
nicinabox Posted October 2, 2013 Author Share Posted October 2, 2013 Thanks for the reply piotrasd! are not modifyed just updated to new version and compiled under slackware 13.1 for 100% compatybility Doesn't that mean that it's modified? It's not the original package. Where does the "new version" come from? tbecause slackware 13.37 use other glibc version so - some packages wich are deep depended of glibc could make some issue in system This is true. glibc in particular needs to be version-specific. Other packages have varying degrees of dependencies on the Slackware version. For instance, you can use Ruby 1.9.3p448 from Slackware 14.0 without an issue. This packages manager is good solution for repo 13.1 but when somebody install some stuff 13.37 must be carefull - some could good working like git, unrar but some could crash system It's too bad Slackware doesn't do dependency management. We could sidestep a lot of issues like this I remeber when guys create plugin "XBMC Standalone Library Updater" they use many packages from 13.37 after that even system service like "cron" get segfaults, after when i compile for them most important depends plugin started working proper with no any issue in system. I remember seeing this with Boxcar. Dropping the glibc version back to 13.1 fixed the cron segfaults. It takes a lot of testing to find the newest packages you can use. Quote Link to comment
piotrasd Posted October 2, 2013 Share Posted October 2, 2013 Im prefer compilation myself - new fresh under slackware 13.1 (if somebody something will be need, just let me know) (i have very good prepared environment on slack 13.1 for compiling even with some kernel 3.9.6 sources and header like unraid) about modifity of packages im use standard orginal script to builds packages just change version Quote Link to comment
spylex Posted October 3, 2013 Share Posted October 3, 2013 So essentially @nicinabox we could ideally use Trolley to facilitate plugin dependency installations, like for example Sickbeard, instead of manually downloading and installing packages on plg installation i could just tell it to run "trolley install python 2.6.4". Am i correct in this assumption? Furthermore, as @piotrasd said, compiling new versions under 13.1 is probably the best way forward to avoid any issues with other Slack versions. Hey who knows, if it works well enough limetech might consider including it in unRAID as a subset to installpkg/plg! Quote Link to comment
piotrasd Posted October 3, 2013 Share Posted October 3, 2013 when unraid migrate to Slackware 14.0 - topic will be easy now we must just waiting Quote Link to comment
nicinabox Posted October 3, 2013 Author Share Posted October 3, 2013 So essentially @nicinabox we could ideally use Trolley to facilitate plugin dependency installations, like for example Sickbeard, instead of manually downloading and installing packages on plg installation i could just tell it to run "trolley install python 2.6.4". Am i correct in this assumption? Exactly right. Furthermore, as @piotrasd said, compiling new versions under 13.1 is probably the best way forward to avoid any issues with other Slack versions. I still feel like I'm missing something about this. Aside from a version difference, I don't get how this is different from just using the newer package, sans compilation. Many (but not all) packages from >13.1 are in fact compatible. What benefits does the compilation bring and how is this practice sustainable? Quote Link to comment
nicinabox Posted October 3, 2013 Author Share Posted October 3, 2013 So essentially @nicinabox we could ideally use Trolley to facilitate plugin dependency installations, like for example Sickbeard, instead of manually downloading and installing packages on plg installation i could just tell it to run "trolley install python 2.6.4". Am i correct in this assumption? Was thinking more about this as I was working on it. I think it would be really great if trolley could read from a packages.json file in the current directory. This file would specify the packages and versions required for the plugin. Trolley could look for it automatically and parse it out if it exists. Then you don't end up with a dozen lines of `trolley install n v` in your code. It does bring up some questions: Where do the packages get stored? How do version comparisons work? (a la rubygems, node) Do we allow version comparison operators, or only exact versions? What if the user already has a newer version installed? What if the user has an older version installed? Something to consider... Edit: packages.json is now supported. Packages are stored in /boot/extra automatically. There are no version comparisons. Devs must specify exact package version at this time. If user has package by the same name installed, another version (newer or older) will not be downloaded. Quote Link to comment
phenomeus Posted October 4, 2013 Share Posted October 4, 2013 noticed that python2.6 made trouble installing trolley. installed python2.7.3 and i could get trolley to work. after that installed ca_certificates and perl and brought boxcar to life. thanks for the simplification of unraid. especially the mobile/ responsive design! Quote Link to comment
nicinabox Posted October 4, 2013 Author Share Posted October 4, 2013 0.1.3 Released Release notes on Github: https://github.com/nicinabox/trolley/releases/tag/0.1.3 Documentation: https://github.com/nicinabox/trolley/blob/0.1.3/README.md I think this is actually stable enough to be used in production. I'd love to hear others' feedback on it! Quote Link to comment
nicinabox Posted October 4, 2013 Author Share Posted October 4, 2013 noticed that python2.6 made trouble installing trolley. installed python2.7.3 and i could get trolley to work. after that installed ca_certificates and perl and brought boxcar to life. thanks for the simplification of unraid. especially the mobile/ responsive design! 0.1.2 required python 2.7, but 0.1.3 (which I just released as you replied to this message) works with 2.6 Quote Link to comment
victoRaid Posted October 27, 2013 Share Posted October 27, 2013 Hello, I'm getting what I think are python 2.6 related errors when trying to install anything: root@Tower:/boot/extra# trolley remove perl Traceback (most recent call last): File "/usr/local/bin/trolley", line 257, in <module> if __name__ == '__main__': main() File "/usr/local/bin/trolley", line 255, in main args.func(args) File "/usr/local/bin/trolley", line 155, in remove _removepkg(package[0]) File "/usr/local/bin/trolley", line 98, in _removepkg if _command_exists('removepkg'): File "/usr/local/bin/trolley", line 35, in _command_exists stdout=subprocess.PIPE) File "/usr/lib/python2.6/subprocess.py", line 623, in __init__ errread, errwrite) File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory Any help would be appreciated! Quote Link to comment
nicinabox Posted October 29, 2013 Author Share Posted October 29, 2013 Hello, I'm getting what I think are python 2.6 related errors when trying to install anything: root@Tower:/boot/extra# trolley remove perl Traceback (most recent call last): File "/usr/local/bin/trolley", line 257, in <module> if __name__ == '__main__': main() File "/usr/local/bin/trolley", line 255, in main args.func(args) File "/usr/local/bin/trolley", line 155, in remove _removepkg(package[0]) File "/usr/local/bin/trolley", line 98, in _removepkg if _command_exists('removepkg'): File "/usr/local/bin/trolley", line 35, in _command_exists stdout=subprocess.PIPE) File "/usr/lib/python2.6/subprocess.py", line 623, in __init__ errread, errwrite) File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory Any help would be appreciated! Thanks for letting me know about this! Would you mind posting this on the Github Issues page so I can track it? I'll be sure to get it taken care of. https://github.com/nicinabox/trolley/issues Quote Link to comment
Julian0o Posted November 1, 2013 Share Posted November 1, 2013 Having the same issue. Is there any fix yet? Quote Link to comment
nicinabox Posted November 1, 2013 Author Share Posted November 1, 2013 Fixed! Grab 0.1.4. I've updated the installer to a 1-line installer. Check it on the github page. Quote Link to comment
victoRaid Posted November 1, 2013 Share Posted November 1, 2013 Fixed! Grab 0.1.4. I've updated the installer to a 1-line installer. Check it on the github page. Thank you, this fixed my issue! Follow-up question now that I have trolley working. Is there a way to manually feed trolley urls for slackware packages it can't seem to find? For example, I'm trying to install the libs from these instructions: http://lime-technology.com/forum/index.php?topic=887.msg5941#msg5941 and trolley doesn't find most of the libs. I know I can install them the manual way, but I like the idea of trolley knowing about them and keeping them all together. Thanks again! Quote Link to comment
nicinabox Posted November 1, 2013 Author Share Posted November 1, 2013 Fixed! Grab 0.1.4. I've updated the installer to a 1-line installer. Check it on the github page. Thank you, this fixed my issue! Follow-up question now that I have trolley working. Is there a way to manually feed trolley urls for slackware packages it can't seem to find? For example, I'm trying to install the libs from these instructions: http://lime-technology.com/forum/index.php?topic=887.msg5941#msg5941 and trolley doesn't find most of the libs. I know I can install them the manual way, but I like the idea of trolley knowing about them and keeping them all together. Thanks again! Hmm, all those packages in that message are official, trolley knows about them. Which ones are you having trouble with? Quote Link to comment
victoRaid Posted November 1, 2013 Share Posted November 1, 2013 Fixed! Grab 0.1.4. I've updated the installer to a 1-line installer. Check it on the github page. Thank you, this fixed my issue! Follow-up question now that I have trolley working. Is there a way to manually feed trolley urls for slackware packages it can't seem to find? For example, I'm trying to install the libs from these instructions: http://lime-technology.com/forum/index.php?topic=887.msg5941#msg5941 and trolley doesn't find most of the libs. I know I can install them the manual way, but I like the idea of trolley knowing about them and keeping them all together. Thanks again! Hmm, all those packages in that message are official, trolley knows about them. Which ones are you having trouble with? After trying again, it looks like libxml2 isn't being found in the search, but all the others are. Quote Link to comment
nicinabox Posted November 1, 2013 Author Share Posted November 1, 2013 Fixed! Grab 0.1.4. I've updated the installer to a 1-line installer. Check it on the github page. Thank you, this fixed my issue! Follow-up question now that I have trolley working. Is there a way to manually feed trolley urls for slackware packages it can't seem to find? For example, I'm trying to install the libs from these instructions: http://lime-technology.com/forum/index.php?topic=887.msg5941#msg5941 and trolley doesn't find most of the libs. I know I can install them the manual way, but I like the idea of trolley knowing about them and keeping them all together. Thanks again! Hmm, all those packages in that message are official, trolley knows about them. Which ones are you having trouble with? After trying again, it looks like libxml2 isn't being found in the search, but all the others are. What the what. You're right, it's definitely missing. libxml2 should be in this list: trolley search libx Package Name (Slackware 14.0, 13.37, 13.1) ------------------------------------------ libxcb (1.8.1, 1.7, 1.6) libxslt (1.1.26, 1.1.26, 1.1.26) libxklavier (5.2.1, 5.1, 5.0) libxkbfile (1.0.8, 1.0.7, 1.0.6) libxkbui (1.0.2) That means something went probably went awry in parsing the packages list. Will look into this tonight. Quote Link to comment
nicinabox Posted November 1, 2013 Author Share Posted November 1, 2013 Turns out the regex wasn't matching a handful of packages. Good catch. Fixing that and re-parsing tonight Quote Link to comment
nicinabox Posted November 1, 2013 Author Share Posted November 1, 2013 * Server updated with correct matches. * Also was able to parse description * trolley 0.1.5 released with support for package description (0.1.4 is still compatible with these API changes however) Enjoy! Quote Link to comment
victoRaid Posted November 2, 2013 Share Posted November 2, 2013 Oh no root@Tower:/# trolley update Cannot install trolley.txz: file not found Traceback (most recent call last): File "/usr/local/bin/trolley", line 271, in <module> if __name__ == '__main__': main() File "/usr/local/bin/trolley", line 269, in main args.func(args) File "/usr/local/bin/trolley", line 221, in update subprocess.call(args) File "/usr/lib/python2.7/subprocess.py", line 493, in call return Popen(*popenargs, **kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory Quote Link to comment
nicinabox Posted November 2, 2013 Author Share Posted November 2, 2013 I really need some tests. This is probably the result of an outdated naming convention. I'll get this fixed, but you can use the installer to update in the mean time. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.