# pack: PACKAGING= This is a short summary for distribution package maintainers. For regular end-user documentation please see the README and help/ pages. Structural changes from 2.1.5 onwards (2015-04-xx) -------------------------------------------------- → There's a new `bin` script. It's a lightweight invocation wrapper, intended to be installed as /usr/bin/streamtuner2 now. Which hopefully avoids lengthy patches in the future. → The previous `st2.py` still exists, but is now supposed to reside in `/usr/share/streamtuner2/st2.py` along with all other modules. → Theoretically it's now possible to change the target path even (just edit `bin`). I'd still advise to use /usr/share/streamtuner2/ as main target directory though. It's not yet practical to extract into Python site-package directories. The channel PNG files have been soaked into the .py includes. Though one could still package any static *.png alongside. (Both will remain supported, for simplicity.) Renames ------- · bookmarks, configdialog, streamedit were extracted into channels/ - which is why the main module got lighter. · uikit.py is the new mygtk · contrib/ contains more add-on modules, which could just be packaged into channels/ - selectively. (Alternatively users can download and activate those themselves later.) Aux files --------- → Help files still need to go to share/docs/streamtuner2/help/ unless you patch the source. → *.desktop as usual → and `icon.png` is the /share/pixmaps/ icon Removed ------- Most plugin PNGs may have been removed already. (Embedded binary data may violate some distro guidelines(?), but hey, fewer files are fewer files!) And the streamtuner2.png logo is now source-embedded instead; the `logo.py` module provides a `logo.png` base64-string. The old `gtk2.xml` file is gone. It probably became obsolete a long while back. The gtk3.xml is instead runtime-patched to work with PyGTK/gtk2. Dependencies ------------ If possible, make ST2 dependend on Python2 -or- Python3. It's not yet practical, and probably against distro standards, and only APT could so anyway. But if feasible... Also, hard dependencies are meanwhile: - gtk (>= 2.16) - pygtk [or python-gi for python3] - python-requests (>= 2.0.0) - python-pyquery [though most plugins would work without] - and its implied python-lxml Optional dependencies (just affects a single plugin, which semi-gracefully disables itself): - python-keybinder [for global_key] - python-dbus [for radiotray] Very optional dependencies (everything should work without): - python-xdg Strongly suggest: - streamripper [or ficy/fpls etc.] - any audio player of course Suggest: - youtube-dl [technically not required, as VLC works without] Lazy installation ----------------- The new .PYZ archive bundles everything into a ZIP file. Which, given the right shebang, could just be "installed" as literal /usr/bin/streamtuner2 even. I'm sure nobody is going to do so. But you know, it's at least a theoretical option now.. And this PYZ-packaging scheme is the main reason for the restructuring, and embedded PNGs for example. (Albeit that wasn't strictly necessary.) FPM/XPM packaging ----------------- You may have noticed (and scoffed at ;) the newer packaging method. It's now using http://fossil.include-once.org/xpm/ with the `-s src` filter. (That's what the meta comment blocks in the source modules were always meant for.) Simplifies DEB and RPM packaging, as well as PYZ generation. (They're all workable, but decidedly rather crude packages. So yes, proper distro packages are very much still needed.) Fossil Repo ----------- The source code is hosted in a Fossil repo. A few special pages of interest: · DETAILED CHANGELOG http://fossil.include-once.org/streamtuner2/changelog · Raw tarball/zip, by version or tip/trunk http://fossil.include-once.org/streamtuner2/tar/2.1.5/st.tgz http://fossil.include-once.org/streamtuner2/zip/trunk/st.zip · Literal file download http://fossil.include-once.org/streamtuner2/cat/config.py · Doc browsing/download http://fossil.include-once.org/streamtuner2/doc/trunk/help/html/index.html · Trunk filerefs http://fossil.include-once.org/streamtuner2/uri-list · DIRECT GIT EXPORT http://fossil.include-once.org/streamtuner2/git-fast-export (Git may or may not choke on its own export format though..) Fin --- Thanks guys!